Hi,
I’ve been experimenting with Deepstream 3 for various use cases. For object detection and classification it’s working well - I’m able to setup a pipeline and get meta data such as object type and bounding boxes from images without issue.
However, for use cases that require comparison of feature vectors (such as re-identification), I can’t see an obvious way to expose these vectors using the fields defined in the NvDsEventMsgMeta struct. Here’s a snippet from nvdsmeta.h:
typedef struct NvDsEventMsgMeta {
NvDsEventType type;
NvDsObjectType objType;
NvDsRect bbox;
NvDsGeoLocation location;
NvDsCoordinate coordinate;
NvDsObjectSignature objSignature;
gint objClassId;
gint sensorId;
gint moduleId;
gint placeId;
gint componentId;
gdouble confidence;
gint trackingId;
gchar *ts;
gchar *objectId;
gchar *otherAttrs;
gchar *videoPath;
gpointer extMsg;
guint extMsgSize;
} NvDsEventMsgMeta;
Attributes like objClassId, confidence and bbox are all that’s needed for, say, an object classifier pipeline. But where in this struct (if anywhere) could a feature vector be stored and therefore exposed for use outside of the pipeline?
If this is not currently supported, consider this question a feature request :-)
Regards,
Luke