Jetson Inference
DNN Vision Library
objectTrackerIOU Class Reference

Object tracker using Intersection-Over-Union (IOU) More...

#include <objectTrackerIOU.h>

Inheritance diagram for objectTrackerIOU:
objectTracker

Public Member Functions

virtual ~objectTrackerIOU ()
 Destroy. More...
 
uint32_t GetMinFrames () const
 The number of re-identified frames before before establishing a track. More...
 
void SetMinFrames (uint32_t frames)
 Set the number of re-identified frames before before establishing a track. More...
 
uint32_t GetDropFrames () const
 The number of consecutive lost frames after which a track is removed. More...
 
void SetDropFrames (uint32_t frames)
 Set the number of consecutive lost frames after which a track is removed. More...
 
float GetOverlapThreshold () const
 How much IOU overlap is required for a bounding box to be matched. More...
 
void SetOverlapThreshold (float threshold)
 Set how much IOU overlap is required for a bounding box to be matched. More...
 
virtual Type GetType () const
 
virtual int Process (void *image, uint32_t width, uint32_t height, imageFormat format, detectNet::Detection *detections, int numDetections)
 
- Public Member Functions inherited from objectTracker
virtual ~objectTracker ()
 Destructor. More...
 
template<typename T >
int Process (T *image, uint32_t width, uint32_t height, detectNet::Detection *detections, int numDetections)
 Process. More...
 
bool IsEnabled () const
 IsEnabled. More...
 
virtual void SetEnabled (bool enabled)
 SetEnabled. More...
 
bool IsType (Type type) const
 IsType. More...
 

Static Public Member Functions

static objectTrackerIOUCreate (uint32_t minFrames=OBJECT_TRACKER_DEFAULT_MIN_FRAMES, uint32_t dropFrames=OBJECT_TRACKER_DEFAULT_DROP_FRAMES, float overlapThreshold=OBJECT_TRACKER_DEFAULT_OVERLAP_THRESHOLD)
 Create a new object tracker. More...
 
static objectTrackerIOUCreate (int argc, char **argv)
 Create a new object tracker by parsing the command line. More...
 
static objectTrackerIOUCreate (const commandLine &cmdLine)
 Load a new network instance by parsing the command line. More...
 
- Static Public Member Functions inherited from objectTracker
static objectTrackerCreate (Type type)
 Create a new object tracker. More...
 
static objectTrackerCreate (int argc, char **argv)
 Create a new object tracker by parsing the command line. More...
 
static objectTrackerCreate (const commandLine &cmdLine)
 Load a new network instance by parsing the command line. More...
 
static const char * Usage ()
 Usage string for command line arguments to Create() More...
 
static const char * TypeToStr (Type type)
 Convert a Type enum to string. More...
 
static Type TypeFromStr (const char *str)
 Parse a Type enum from a string. More...
 

Protected Member Functions

 objectTrackerIOU (uint32_t minFrames, uint32_t dropFrames, float overlapThreshold)
 
- Protected Member Functions inherited from objectTracker
 objectTracker ()
 

Protected Attributes

uint32_t mIDCount
 
uint64_t mFrameCount
 
uint32_t mMinFrames
 
uint32_t mDropFrames
 
float mOverlapThreshold
 
std::vector< detectNet::DetectionmTracks
 
- Protected Attributes inherited from objectTracker
bool mEnabled
 

Additional Inherited Members

- Public Types inherited from objectTracker
enum  Type { NONE, IOU, KLT }
 Tracker type enum. More...
 

Detailed Description

Object tracker using Intersection-Over-Union (IOU)

"High-Speed Tracking-by-Detection Without Using Image Information" http://elvera.nue.tu-berlin.de/files/1517Bochinski2017.pdf

This tracker essentially performs temporal clustering of bounding boxes without using visual information, hence it is very fast but low accuracy.

Constructor & Destructor Documentation

◆ ~objectTrackerIOU()

virtual objectTrackerIOU::~objectTrackerIOU ( )
virtual

Destroy.

◆ objectTrackerIOU()

objectTrackerIOU::objectTrackerIOU ( uint32_t  minFrames,
uint32_t  dropFrames,
float  overlapThreshold 
)
protected

Member Function Documentation

◆ Create() [1/3]

static objectTrackerIOU* objectTrackerIOU::Create ( const commandLine cmdLine)
static

Load a new network instance by parsing the command line.

◆ Create() [2/3]

static objectTrackerIOU* objectTrackerIOU::Create ( int  argc,
char **  argv 
)
static

Create a new object tracker by parsing the command line.

◆ Create() [3/3]

static objectTrackerIOU* objectTrackerIOU::Create ( uint32_t  minFrames = OBJECT_TRACKER_DEFAULT_MIN_FRAMES,
uint32_t  dropFrames = OBJECT_TRACKER_DEFAULT_DROP_FRAMES,
float  overlapThreshold = OBJECT_TRACKER_DEFAULT_OVERLAP_THRESHOLD 
)
static

Create a new object tracker.

Parameters
minFramesthe number of re-identified frames before before establishing a track
dropFramesthe number of consecutive lost frames after which a track is removed

◆ GetDropFrames()

uint32_t objectTrackerIOU::GetDropFrames ( ) const
inline

The number of consecutive lost frames after which a track is removed.

◆ GetMinFrames()

uint32_t objectTrackerIOU::GetMinFrames ( ) const
inline

The number of re-identified frames before before establishing a track.

◆ GetOverlapThreshold()

float objectTrackerIOU::GetOverlapThreshold ( ) const
inline

How much IOU overlap is required for a bounding box to be matched.

◆ GetType()

virtual Type objectTrackerIOU::GetType ( ) const
inlinevirtual

◆ Process()

virtual int objectTrackerIOU::Process ( void *  image,
uint32_t  width,
uint32_t  height,
imageFormat  format,
detectNet::Detection detections,
int  numDetections 
)
virtual

◆ SetDropFrames()

void objectTrackerIOU::SetDropFrames ( uint32_t  frames)
inline

Set the number of consecutive lost frames after which a track is removed.

◆ SetMinFrames()

void objectTrackerIOU::SetMinFrames ( uint32_t  frames)
inline

Set the number of re-identified frames before before establishing a track.

◆ SetOverlapThreshold()

void objectTrackerIOU::SetOverlapThreshold ( float  threshold)
inline

Set how much IOU overlap is required for a bounding box to be matched.

Member Data Documentation

◆ mDropFrames

uint32_t objectTrackerIOU::mDropFrames
protected

◆ mFrameCount

uint64_t objectTrackerIOU::mFrameCount
protected

◆ mIDCount

uint32_t objectTrackerIOU::mIDCount
protected

◆ mMinFrames

uint32_t objectTrackerIOU::mMinFrames
protected

◆ mOverlapThreshold

float objectTrackerIOU::mOverlapThreshold
protected

◆ mTracks

std::vector<detectNet::Detection> objectTrackerIOU::mTracks
protected

The documentation for this class was generated from the following file: