VPI - Vision Programming Interface

0.3.7 Release

KLT Bounding Box Tracker

Data Structures

struct  VPIKLTBoundingBoxTrackerParams
 Structure that defines the parameters for vpiCreateKLTBoundingBoxTracker. More...
 
struct  VPIKLTTrackedBoundingBox
 Stores a bounding box that is being tracked by KLT Tracker. More...
 

Enumerations

enum  VPIKLTBoundingBoxTrackerType { VPI_KLT_INVERSE_COMPOSITIONAL }
 KLT Tracker type. More...
 

Functions

VPIStatus vpiCreateKLTBoundingBoxTracker (VPIStream stream, uint32_t imageWidth, uint32_t imageHeight, VPIImageType imageType, VPIPayload *payload)
 Creates payload for vpiSubmitKLTBoundingBoxTracker. More...
 
VPIStatus vpiSubmitKLTBoundingBoxTracker (VPIPayload payload, VPIImage templateImage, VPIArray inputBoxList, VPIArray inputPredictionList, VPIImage referenceImage, VPIArray outputBoxList, VPIArray outputEstimationList, const VPIKLTBoundingBoxTrackerParams *params)
 Runs KLT Tracker on two frames. More...
 

Detailed Description

Runs KLT Tracking on two frames.


Data Structure Documentation

◆ VPIKLTBoundingBoxTrackerParams

struct VPIKLTBoundingBoxTrackerParams

Structure that defines the parameters for vpiCreateKLTBoundingBoxTracker.

Parameters
thresholdUpdate[in] threshold to update template
thresholdKill[in] threshold to kill tracking
thresholdStop[in] threshold to stop iteration
maxScaleChange[in] maximum scale change for valid tracking
maxTranslationChange[in] maximum translation change for valid tracking
imageType[in] input image type

Definition at line 103 of file KLTBoundingBoxTracker.h.

+ Collaboration diagram for VPIKLTBoundingBoxTrackerParams:
Data Fields
float maxScaleChange Maximum relative scale change.

Scale changes larger than this will make KLT consider that tracking was lost.

float maxTranslationChange Maximum relative translation change.

Translation changes larger than this will make KLT consider that tracking was lost.

float nccThresholdKill Threshold to consider template tracking was lost.

Must be a value between 0 and 1.

float nccThresholdStop Threshold to stop estimating.
float nccThresholdUpdate Threshold for requiring template update.

Must be a value between 0 and 1.

uint32_t numberOfIterationsScaling Number of Inverse compositional iterations of scale estimations.
VPIKLTBoundingBoxTrackerType trackingType Type of KLT tracking that will be performed.

◆ VPIKLTTrackedBoundingBox

struct VPIKLTTrackedBoundingBox

Stores a bounding box that is being tracked by KLT Tracker.

Definition at line 466 of file Types.h.

+ Collaboration diagram for VPIKLTTrackedBoundingBox:
Data Fields
VPIBoundingBox bbox Bounding box being tracked.
uint8_t reserved1 Reserved for future use.
uint8_t reserved2 Reserved for future use.
uint8_t templateStatus Status of the template related to this bounding box.

Accepted values:

  • 1 template needs updating.
  • 0 existing template still can be used for tracking, it doesn't need to be updated.
uint8_t trackingStatus Tracking status of this bounding box.

Accepted values:

  • 1 tracking information is invalid and shouldn't be relied upon.
  • 0 tracking information is valid.

Enumeration Type Documentation

◆ VPIKLTBoundingBoxTrackerType

#include <vpi/algo/KLTBoundingBoxTracker.h>

KLT Tracker type.

Enumerator
VPI_KLT_INVERSE_COMPOSITIONAL 

Inverse compositional algorithm for KLT tracker.

The inverse compositional algorithm is a reformulation of the classic Lucas-Kanade algorithm to make the steepest-descent images and Hessian constant.

Ref:Simon Baker, Iain Matthew, "Lucas-Kanade 20 Years On: A Unified Framework".
International Journal of Computer Vision, February 2004, Volume 56, issue 3, pp. 228-231.

Definition at line 79 of file KLTBoundingBoxTracker.h.

Function Documentation

◆ vpiCreateKLTBoundingBoxTracker()

VPIStatus vpiCreateKLTBoundingBoxTracker ( VPIStream  stream,
uint32_t  imageWidth,
uint32_t  imageHeight,
VPIImageType  imageType,
VPIPayload payload 
)

#include <vpi/algo/KLTBoundingBoxTracker.h>

Creates payload for vpiSubmitKLTBoundingBoxTracker.

Parameters
stream[in] a stream handle
imageWidth[in] input image width
imageHeight[in] input image height
imageType[in] input image type
payload[out] pointer to a payload handle
Returns
an error code on failure else VPI_SUCCESS

◆ vpiSubmitKLTBoundingBoxTracker()

VPIStatus vpiSubmitKLTBoundingBoxTracker ( VPIPayload  payload,
VPIImage  templateImage,
VPIArray  inputBoxList,
VPIArray  inputPredictionList,
VPIImage  referenceImage,
VPIArray  outputBoxList,
VPIArray  outputEstimationList,
const VPIKLTBoundingBoxTrackerParams params 
)

#include <vpi/algo/KLTBoundingBoxTracker.h>

Runs KLT Tracker on two frames.

Outputs tracked bounding boxes and estimated transform array.

Parameters
payload[in] payload created with vpiCreateKLTBoundingBoxTracker
referenceImage[in] reference image
templateImage[in] template image
inputBoxList[in] input bounding box array, must have type VPI_ARRAY_TYPE_KLT_TRACKED_BOUNDING_BOX
inputPredictionList[in] input predicted transform array, must have type VPI_ARRAY_TYPE_HOMOGRAPHY_TRANSFORM_2D
params[in] parameters for the KLT tracker
outputBoxList[out] output bounding box array, must have type VPI_ARRAY_TYPE_KLT_TRACKED_BOUNDING_BOX
outputEstimationList[out] estimated transform array, must have type VPI_ARRAY_TYPE_HOMOGRAPHY_TRANSFORM_2D
Returns
an error code on failure else VPI_SUCCESS