|
|
NVIDIA DeepStream SDK API Reference
|
9.1 Release
|
Go to the documentation of this file.
34 #ifndef _NVMOTRACKER_H_
35 #define _NVMOTRACKER_H_
50 #define NVMOT_MAX_TRANSFORMS 4
61 return static_cast<TimeStamp>(std::chrono::duration_cast<std::chrono::nanoseconds>(
62 std::chrono::system_clock::now().time_since_epoch()).count());
80 #define NVMOTCOMP_GPU 0x01
81 #define NVMOTCOMP_CPU 0x02
82 #define NVMOTCOMP_PVA 0x04
83 #define NVMOTCOMP_ANY 0xff
85 #define NVMOTCOMP_DEFAULT NVMOTCOMP_ANY
struct _NvMOTFrame NvMOTFrame
Holds a frame containing the image and objects to be tracked.
void(* logMsg)(int logLevel, const char *format,...)
Holds a pointer to a callback for logging messages.
struct NvMOTContext * NvMOTContextHandle
uint32_t reidFeatureSize
Reid feature size.
@ NvMOTConfigStatus_Invalid
struct _NvMOTTrackedObj NvMOTTrackedObj
Holds information about each tracked object.
uint8_t reserved[128]
Reserved custom data field.
bool outputConvexHull
Whether to output convex hull in user meta.
bool supportPastFrame
Holds a Boolean which is true if outputing past frame is supported.
uint32_t maxShadowTrackingAge
Holds maximum shadow tracking age per stream.
struct _NvMOTPerTransformBatchConfig NvMOTPerTransformBatchConfig
Holds a configuration for batches for an input transform (a scaling/color conversion).
NvMOTBatchMode batchMode
Holds flags for whether batch or none batch mode is supported.
uint32_t height
Height of the segmentation mask.
uint32_t maxTargetsPerStream
Holds maximum number of targets per stream.
NvDsObj3DBbox bbox3DWorld
3D bbox in world co-ordinates.
float confidence
Holds the detection confidence of the object.
NvMOTStatus
Defines generic status codes for tracking operations.
NvMOTConfigStatus customConfigStatus
Holds the status of the custom configurations.
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.
NvMOTConfigStatus summaryStatus
Holds the summary status of the entire configuration request.
struct _NvMOTTrackedObjBatch NvMOTTrackedObjBatch
Holds a batch of lists of tracked objects.
void NvMOT_DeInit(NvMOTContextHandle contextHandle)
Deinitializes a stream context.
Holds a batch of lists of tracked objects.
NvMOTStatus NvMOT_RemoveStreams(NvMOTContextHandle contextHandle, NvMOTStreamId streamIdMask)
Removes streams from a batch.
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.
struct _NvMOTTrackerMiscData NvMOTTrackerMiscData
Tracker misc data.
NvMOTConfigStatus
Defines configuration request return codes.
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.
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.
NvMOTRect bbox
Holds the bounding box.
NvMOTObjToTrack * list
Holds a pointer to a list or array of object information blocks.
NvMOTStatus NvMOT_Query(uint16_t customConfigFilePathSize, char *pCustomConfigFilePath, NvMOTQuery *pQuery)
Query tracker lib capabilities and requirements.
bool reset
Holds a Boolean which is true to reset tracking for the stream.
Holds information about each tracked object.
uint32_t srcFrameWidth
Holds the width of the original source frame.
struct NvMOTContext * NvMOTContextHandle
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.
struct _NvMOTQuery NvMOTQuery
NvMOTStatus NvMOT_UpdateParams(NvMOTContextHandle contextHandle, const std::string &configStr)
Updates Dynamic Parameters for the low level tracker.
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.
struct _NvMOTMask NvMOTMask
Holds the segmentaiton mask of an object.
Hold the information of single buffer in the batch.
@ NvMOTBatchMode_MaxValue
Max value of the enum.
Holds a tracker's configuration status.
NvMOTStatus NvMOT_RetrieveMiscData(NvMOTContextHandle contextHandle, NvMOTProcessParams *pParams, NvMOTTrackerMiscData *pTrackerMiscData)
Process the past-frame data in the low-level tracker lib and retrieve.
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.
@ NvMOTConfigStatus_Unsupported
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.
NvMOTStatus NvMOT_Process(NvMOTContextHandle contextHandle, NvMOTProcessParams *pParams, NvMOTTrackedObjBatch *pTrackedObjectsBatch)
Processes a batch.
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.
struct _NvMOTConfigResponse NvMOTConfigResponse
Holds a tracker's configuration status.
@ NvMOTConfigStatus_Error
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.
NvMOTStatus NvMOT_Init(NvMOTConfig *pConfigIn, NvMOTContextHandle *pContextHandle, NvMOTConfigResponse *pConfigResponse)
Initializes a tracking context for a batch of one or more image streams.
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.
@ NvMOTBatchMode_Error
Unsupported batch mode.
struct _NvMOTMiscConfig NvMOTMiscConfig
Holds miscellaneous configurations.
NvMOTFrameNum frameNum
Holds the sequential frame number that identifies the frame within the stream.
NvMOTMask mask
Each object's segmentation mask.
static TimeStamp NvDsCurrentTimestampNs(void)
Wall-clock time in nanoseconds since the Unix epoch (std::chrono::system_clock).
NvMOTStatus
Defines generic status codes for tracking operations.
@ NvMOTStatus_Invalid_Path
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...
struct _NvMOTProcessParams NvMOTProcessParams
Holds parameters for processing a batch.
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.
@ NvMOTBatchMode_NonBatch
Non-batch processing mode.
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.
@ NvMOTBatchMode_Batch
Batch processing mode.
NvMOTConfigStatus transformBatchStatus
Holds the transform batch configuration request status: summary status for all transforms.
struct _NvMOTRect NvMOTRect
Holds the definition of a rectangle.
const char * sensorName
Holds the sensor name of the stream source (e.g.
uint32_t numFilled
Holds the number of populated blocks in the list.
struct _NvMOTObjToTrackList NvMOTObjToTrackList
Holds a list of objects.
struct _NvMOTTrackedObjList NvMOTTrackedObjList
Holds a list of tracked objects.
NvMOTConfigStatus
Defines configuration request return codes.
Batch of all streams of a given target misc output.
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.
NvMOTPerTransformBatchConfig * perTransformBatchConfig
Holds a pointer to a list of numTransform batch configurations, one per transform,...
struct _NvMOTTimeMeta NvMOTTimeMeta
Per-frame timing: stream PTS (when valid), host-local ns for deltas, and frame index.
NvMOTObjToTrack * associatedObjectIn
Holds a pointer to the associated input object, if there is one.
NvMOTConfigStatus miscConfigStatus
Holds the status of the miscellaneous configurations.
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.
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.
struct _NvMOTConfig NvMOTConfig
Holds a tracker configuration.
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.
struct _NvMOTObjToTrack NvMOTObjToTrack
Holds information about an object to be tracked.
bool valid
Holds a Boolean which is true if this entry in the batch is valid.
static std::string format(const char *fmt,...)
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.