|
|
NVIDIA DeepStream SDK API Reference
|
9.2 Release
|
Go to the documentation of this file.
34 #ifndef _NVMOTRACKER_H_
35 #define _NVMOTRACKER_H_
42 #include "nvbufsurface.h"
43 #include "nvds_tracker_meta.h"
47 using uint =
unsigned int;
53 #define NVMOT_MAX_TRANSFORMS 4
65 std::chrono::duration_cast<std::chrono::nanoseconds>(
66 std::chrono::system_clock::now().time_since_epoch()
86 #define NVMOTCOMP_GPU 0x01
87 #define NVMOTCOMP_CPU 0x02
88 #define NVMOTCOMP_PVA 0x04
89 #define NVMOTCOMP_ANY 0xff
90 #define NVMOTCOMP_DEFAULT NVMOTCOMP_ANY
93 typedef uint8_t NvMOTCompute;
423 #endif // _NVMOTRACKER_H_
struct _NvMOTRect NvMOTRect
Holds the definition of a rectangle.
void(* logMsg)(int logLevel, const char *format,...)
Holds a pointer to a callback for logging messages.
uint32_t reidFeatureSize
Reid feature size.
@ NvMOTStatus_Invalid_Path
Operation received an invalid path.
NvMOTStatus NvMOT_Process(NvMOTContextHandle contextHandle, NvMOTProcessParams *pParams, NvMOTTrackedObjBatch *pTrackedObjectsBatch)
Processes a batch.
struct _NvMOTObjToTrack NvMOTObjToTrack
Holds information about an object to be tracked.
NvMOTConfigStatus
Defines configuration request return codes.
@ NvMOTStatus_Error
Operation failed.
uint8_t reserved[128]
Reserved custom data field.
struct _NvMOTMask NvMOTMask
Holds the segmentation mask of an object.
bool outputConvexHull
Whether to output convex hull in user meta.
@ NvMOTBatchMode_Batch
Enables batch processing.
bool supportPastFrame
Holds a Boolean which is true if outputing past frame is supported.
uint32_t maxShadowTrackingAge
Holds maximum shadow tracking age per stream.
NvMOTStatus
Defines generic status codes for tracking operations.
NvMOTBatchMode batchMode
Holds flags for whether batch or none batch mode is supported.
uint32_t height
Height of the segmentation mask.
NvMOTStatus NvMOT_Query(uint16_t customConfigFilePathSize, char *pCustomConfigFilePath, NvMOTQuery *pQuery)
Query tracker library capabilities and requirements.
uint32_t maxTargetsPerStream
Holds maximum number of targets per stream.
NvMOTConfigStatus
Defines configuration request return codes.
NvMOTStatus NvMOT_UpdateParams(NvMOTContextHandle contextHandle, const std::string &configStr)
Update dynamic parameters for the low-level tracker.
NvDsObj3DBbox bbox3DWorld
3D bbox in world co-ordinates.
float confidence
Holds the detection confidence of the object.
struct _NvMOTQuery NvMOTQuery
Holds the capabilities and requirements reported by the tracker library.
@ NvMOTConfigStatus_OK
Configuration was accepted.
NvMOTConfigStatus customConfigStatus
Holds the status of the custom configurations.
struct _NvMOTConfig NvMOTConfig
Holds a tracker configuration.
uint32_t gpuId
Holds the ID of the GPU to be used.
uint8_t numTransforms
Holds the number of NvMOTPerTransformBatchConfig entries in perTransformBatchConfig.
float * data
Holds the segmentation mask.
struct _NvMOTTrackedObjBatch NvMOTTrackedObjBatch
Holds a batch of lists of tracked objects.
NvMOTConfigStatus summaryStatus
Holds the summary status of the entire configuration request.
struct _NvMOTObjToTrackList NvMOTObjToTrackList
Holds a list of objects.
Holds a batch of lists of tracked objects.
NvDsObjReid reid
Each target’s reid vector information.
uint32_t numFilled
Holds the number of populated blocks in the list.
uint32_t numAllocated
Holds the number of blocks allocated for the list.
NvMOTTrackedObj * list
Holds a pointer to a list or array of object information blocks.
uint32_t numFrames
Holds the number of frames in the batch.
NvDsTargetMiscDataBatch * pPastFrameObjBatch
Holds past frame data of current batch.
struct _NvMOTProcessParams NvMOTProcessParams
Holds parameters for processing a batch.
@ NvMOTBatchMode_Error
Indicates that neither batch nor non-batch processing is supported.
NvBufSurfaceParams ** bufferList
Holds a pointer to an array of pointers to buffer parameter structures.
Holds the definition of a rectangle.
Holds Reid Vector information for an object.
Holds a frame containing the image and objects to be tracked.
@ NvMOTConfigStatus_Unsupported
Configuration requested an unsupported option.
NvMOTRect bbox
Holds the bounding box.
NvMOTObjToTrack * list
Holds a pointer to a list or array of object information blocks.
bool reset
Holds a Boolean which is true to reset tracking for the stream.
@ NvMOTConfigStatus_Error
Configuration processing failed.
Holds information about each tracked object.
uint32_t srcFrameWidth
Holds the width of the original source frame.
uint64_t trackingId
Holds a unique ID for the object, assigned by the tracker.
NvMOTTimeMeta timeMeta
Holds stream PTS / NTP time, host-local receive time, and frame index.
NvMOTObjToTrackList objectsIn
Holds a list of objects in this frame which are to be tracked.
bool outputShadowTracks
Whether to output Shadow Tracks info in user meta.
float visibility
Object visibility.
NvMOTFrameNum frameNum
Holds the frame number for objects in the list.
float ptImgFeet[2]
Foot location in frame coordinates.
NvMOTClassId classId
Holds the class of the object.
Hold the information of single buffer in the batch.
NvMOTStatus NvMOT_Init(NvMOTConfig *pConfigIn, NvMOTContextHandle *pContextHandle, NvMOTConfigResponse *pConfigResponse)
Initializes a tracking context for a batch of one or more image streams.
Holds a tracker's configuration status.
struct _NvMOTTrackedObj NvMOTTrackedObj
Holds information about each tracked object.
NvDsTargetMiscDataBatch * pTerminatedTrackBatch
Holds the history of terminated tracks.
NvBufSurfaceMemType memType
Holds the preferred memory type for input buffers.
NvMOTStreamId streamID
Holds the stream ID of the stream source for this frame.
void * pPreservedData
Holds a pointer to client data associated with the object.
float ptWorldFeet[2]
Foot location in 3D coordinates.
bool outputReidTensor
Whether to output ReID tensor in user meta.
NvMOTMiscConfig miscConfig
Holds miscellaneous configurations.
uint16_t customConfigFilePathSize
Holds the length of customConfigFilePath.
bool outputVisibility
Whether to output visibility in user meta.
uint8_t numBuffers
Holds the number of entries in bufferList.
uint32_t age
Holds the track length in frames.
NvDsTargetMiscDataBatch * pShadowTrackBatch
Holds the frame info of shadow tracks.
Holds convex hull information.
NvMOTCompute computeConfig
Holds flags for supported compute targets.
NvMOTRect bbox
Holds the bounding box of the object.
float confidence
Holds the tracking confidence of the object.
uint32_t numFilled
Holds the number of filled blocks in the list.
uint32_t allocatedSize
Allocated size.
uint32_t numAllocated
Holds the number of blocks allocated for the list.
Holds information about an object to be tracked.
@ NvMOTConfigStatus_Invalid
Configuration contained an invalid value.
uint32_t numAllocated
Holds the number of blocks allocated for the list.
NvBufSurfaceMemType
Specifies memory types for NvBufSurface.
float height
Holds the height of the bounding box, in pixels.
NvMOTCompute computeConfig
Holds the compute target.
Context for input video streams.
bool doTracking
Holds a Boolean which is true if NvMOT is to track this object.
uint32_t maxStreams
Holds the maximum number of streams in a batch.
Holds parameters for processing a batch.
uint32_t maxBufSurfAddrSize
Holds the max number of surface buffer addresses from buffer pool.
Holds a list of tracked objects.
uint32_t maxTrajectoryBufferLength
maximum frame of history to save per terminated track.
Holds the capabilities and requirements reported by the tracker library.
NvMOTStatus NvMOT_RetrieveMiscData(NvMOTContextHandle contextHandle, NvMOTProcessParams *pParams, NvMOTTrackerMiscData *pTrackerMiscData)
Retrieve past-frame, terminated-track, and shadow-track data from the low-level tracker.
NvMOTFrameNum frameNum
Holds the sequential frame number that identifies the frame within the stream.
NvMOTMask mask
Each object's segmentation mask.
NvMOTStatus
Defines generic status codes for tracking operations.
struct _NvMOTPerTransformBatchConfig NvMOTPerTransformBatchConfig
Holds a configuration for batches for an input transform (a scaling/color conversion).
float width
Holds the width of the bounding box, in pixels.
bool detectionDone
Holds a Boolean which is true if detection was done on this frame even if the list of objects to trac...
float bbox3DImg[8][2]
3D bbox in frame co-ordinates.
NvMOTFrame * frameList
Holds a pointer to an array of frame data.
NvMOTClassId classId
Holds the class ID of the object to be tracked.
uint32_t srcFrameHeight
Holds the height of the original source frame.
float x
Holds the left edge position of the object bounding box, in pixels.
struct _NvMOTConfigResponse NvMOTConfigResponse
Holds a tracker's configuration status.
uint32_t maxConvexHullSize
Holdes maximum number of points in a convex hull.
NvMOTContextHandle contextHandle
Hold the context handle.
float y
Holds the top edge position of the object bounding box, in pixels.
NvDsObjConvexHull convexHull
Convex hull information projected on frame.
NvMOTConfigStatus transformBatchStatus
Holds the transform batch configuration request status: summary status for all transforms.
const char * sensorName
Holds the sensor name of the stream source (e.g.
struct _NvMOTFrame NvMOTFrame
Holds a frame containing the image and objects to be tracked.
uint32_t numFilled
Holds the number of populated blocks in the list.
Batch of all streams of a given target misc output.
struct _NvMOTTrackerMiscData NvMOTTrackerMiscData
Tracker misc data.
NvMOTStatus NvMOT_RemoveStreams(NvMOTContextHandle contextHandle, NvMOTStreamId streamIdMask)
Removes streams from a batch.
Holds 3D bbox information for an object.
bool outputTerminatedTracks
Whether to output terminted Tacks info in user meta.
bool doTracking
Holds a Boolean which is true if objects in this frame are to be tracked.
struct NvMOTContext * NvMOTContextHandle
NvMOTPerTransformBatchConfig * perTransformBatchConfig
Holds a pointer to a list of numTransform batch configurations, one per transform,...
@ NvMOTBatchMode_NonBatch
Enables non-batch processing.
struct _NvMOTTimeMeta NvMOTTimeMeta
Holds the stream timestamp, host-local timestamp, and frame index.
void NvMOT_DeInit(NvMOTContextHandle contextHandle)
Deinitialize a stream context.
NvMOTObjToTrack * associatedObjectIn
Holds a pointer to the associated input object, if there is one.
NvMOTConfigStatus miscConfigStatus
Holds the status of the miscellaneous configurations.
@ NvMOTStatus_OK
Operation completed successfully.
Holds the segmentaiton mask of an object.
NvBufSurfaceColorFormat colorFormats[1]
Holds the color formats for input buffers; a required value.
NvMOTStreamId streamID
Holds the stream ID of the stream associated with objects in the list.
@ NvMOTBatchMode_MaxValue
Represents the maximum bit-mask value.
Holds a tracker configuration.
char * customConfigFilePath
A pointer to the pathname of the tracker's custom configuration file.
bool outputFootLocation
Whether to output foot location in user meta.
uint32_t width
Width of the segmentation mask.
static TimeStamp NvDsCurrentTimestampNs(void)
Return wall-clock time in nanoseconds since the Unix epoch.
NvMOTBatchMode
Defines supported tracker batch-processing modes.
NvMOTConfigStatus computeStatus
Holds the compute target request status.
uint32_t seq_index
Holds the index of the stream in the sequence of streams.
NvBufSurfaceColorFormat
Defines color formats for NvBufSurface.
ReID tensor of the batch.
bool valid
Holds a Boolean which is true if this entry in the batch is valid.
struct _NvMOTMiscConfig NvMOTMiscConfig
Holds miscellaneous configurations.
static std::string format(const char *fmt,...)
struct _NvMOTTrackedObjList NvMOTTrackedObjList
Holds a list of tracked objects.
uint8_t numTransforms
Holds the number of NvMOTPerTransformBatchConfig entries in perTransformBatchConfig.
NvDsReidTensorBatch * pReidTensorBatch
The whole batch’s reid tensor to fill by low level tracker.
bool outputTrajectory
Whether to output target trajectories in user meta.
NvMOTTrackedObjList * list
Holds a pointer to an array of object lists.
Holds miscellaneous configurations.