|
NVIDIA DriveOS Linux NSR SDK API Reference
|
7.0.3.0 Release
|
Go to the documentation of this file.
31 #ifndef DW_IMAGEPROCESSING_TRACKING_FEATURETRACKER_FEATURETRACKER_H_
32 #define DW_IMAGEPROCESSING_TRACKING_FEATURETRACKER_FEATURETRACKER_H_
34 #include <dw/core/base/Config.h>
35 #include <dw/core/base/Exports.h>
36 #include <dw/core/context/Context.h>
37 #include <dw/core/base/Types.h>
38 #include <dw/image/Image.h>
39 #include <dw/imageprocessing/featuredetector/FeatureDetector.h>
40 #include <dw/core/system/PVA.h>
49 #define DW_FEATURE2D_TRACKER_MAX_WINDOW_SIZE 16
625 #endif // DW_IMAGEPROCESSING_TRACKING_FEATURETRACKER_FEATURETRACKER_H_
bool enableAdaptiveWindowSizeLK
Enable adaptive window size If enabled, the tracker will use windowSizeLK to track only at the first ...
DW_API_PUBLIC dwStatus dwFeature2DTracker_initialize(dwFeature2DTrackerHandle_t *obj, const dwFeature2DTrackerConfig *config, cudaStream_t cudaStream, dwContextHandle_t context)
Creates and initializes a feature tracker.
void * cupvaStream_t
Dummy definition for non PVA supported platforms.
Holds configuration parameters for a feature tracker.
float32_t nccUpdateThreshold
Feature template will be updated if the Cross Correlation Score is less than this threshold during tr...
@ DW_FEATURE2D_TRACKER_ALGORITHM_EX
3-DOF (dx, dy, dscale) extended KLT tracking.
uint32_t imageHeight
Height of the images that the tracker runs on.
DW_API_PUBLIC dwStatus dwFeature2DTracker_setCUDAStream(cudaStream_t stream, dwFeature2DTrackerHandle_t obj)
Sets the CUDA stream for CUDA related operations.
uint32_t enableSparseOutput
Enable sparse output if set to 1.
uint32_t numIterTranslationOnly
Upper bound on number of 2-DOF translation-only KLT iterations per level.
float32_t displacementThreshold
If difference of translation prediction between 2 adjacent KLT iteration is less than this value,...
dwFeature2DTrackerAlgorithm algorithm
Tracking Algorithm defined by dwFeature2DTrackerAlgorithm.
dwFeature2DTrackerAlgorithm
Defines different KLT tracking algorithms.
struct dwCameraModelObject const * dwConstCameraModelHandle_t
A pointer to the handle representing a const calibrated camera.
float32_t nccKillThreshold
Features will be killed if the Cross Correlation Score is less than this threshold during tracking.
DW_API_PUBLIC dwStatus dwFeature2DTracker_trackFeatures(dwFeatureHistoryArray *featureHistoryArray, dwFeatureArray *predictedFeatures, float32_t *d_normalizedCrossCorrelation, const dwFeatureArray *featuresToTrack, const dwVector2f *d_predictedPositions, const dwPyramidImage *previousPyramid, const dwPyramidImage *currentPyramid, dwFeature2DTrackerHandle_t obj)
Tracks features and store the tracked results to predictedFeatures between the previous and current i...
struct dwFeature2DTrackerObject * dwFeature2DTrackerHandle_t
Handle representing a feature tracker.
dwProcessorType processorType
Processor type which determines on which processor the algorithm should be executed on.
DW_API_PUBLIC dwStatus dwFeature2DTracker_setPVAStream(cupvaStream_t stream, dwFeature2DTrackerHandle_t obj)
Sets the cuPVA stream for PVA related operations.
DW_API_PUBLIC dwStatus dwFeature2DTracker_reset(dwFeature2DTrackerHandle_t obj)
Resets a feature tracker.
DW_API_PUBLIC dwStatus dwFeature2DTracker_compact(dwFeatureHistoryArray *featureHistoryArray, dwFeature2DTrackerHandle_t obj)
Remove invalid features.
float float32_t
Specifies POD types.
uint32_t pyramidLevelCount
Levels of pyramid to track Valid only when algorithm = DW_FEATURE2D_TRACKER_ALGORITHM_EX or DW_FEATUR...
DW_API_PUBLIC dwStatus dwFeature2DTracker_release(dwFeature2DTrackerHandle_t obj)
Releases the feature tracker.
dwFeature2DDetectorType
Defines different KLT tracking algorithms.
DW_API_PUBLIC dwStatus dwFeature2DTracker_initDefaultParamsForCamera(dwFeature2DTrackerConfig *params, const dwTransformation3f *cameraToRig, dwConstCameraModelHandle_t cameraHandle)
Initializes dwFeature2DTracker parameters with values best suited for the given camera using camera e...
DW_API_PUBLIC dwStatus dwFeature2DTracker_registerOutputNccScore(float32_t *nccScore, uint32_t nccScoreArraySize, dwFeature2DTrackerHandle_t obj)
Binds output ncc Score.
DW_API_PUBLIC dwStatus dwFeature2DTracker_registerHistoryArray(dwFeatureHistoryArray *historyArray, dwFeature2DTrackerHandle_t obj)
Binds feature HistoryArray.
DW_API_PUBLIC dwStatus dwFeature2DTracker_getCUDAStream(cudaStream_t *stream, dwFeature2DTrackerHandle_t obj)
Gets the CUDA stream used by the feature tracker.
uint32_t imageWidth
Width of the images that the tracker runs on.
dwFeature2DDetectorType detectorType
Type of detector that connects to the tracker, should be the same value as dwFeature2DDetectorConfig:...
@ DW_FEATURE2D_TRACKER_ALGORITHM_COUNT
float32_t largeMotionKillRatio
Features will be killed if the motion is larger than the template size times the large motion killing...
uint32_t numIterScaling
Upper bound on number of 3-DOF translation+scaling KLT iterations per level.
bool useHalf
Set it to true to use half float as intermediate results during tracking It saves register usage and ...
struct dwFeature2DTrackerConfig dwFeature2DTrackerConfig
Holds configuration parameters for a feature tracker.
struct dwContextObject * dwContextHandle_t
Context handle.
float32_t maxScaleChange
The maximum allowed scale change for the tracked points across consecutive frames.
DW_API_PUBLIC dwStatus dwFeature2DTracker_registerFeatureArray(dwFeatureArray *inFeatures, dwFeature2DTrackerHandle_t obj)
Binds feature Array.
dwStatus
Status definition.
Holds pointers to the data exposed by a feature2d list.
struct dwFeature2DTrackerObject const * dwConstFeature2DTrackerHandle_t
Handle representing a const feature tracker.
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const params
const NvSciSyncObj *const obj
DW_API_PUBLIC dwStatus dwFeature2DTracker_initDefaultParams(dwFeature2DTrackerConfig *params)
Initializes dwFeature2DTracker parameters with default values.
uint32_t maxFeatureCount
Upper bound on number of features handled.
DW_API_PUBLIC dwStatus dwFeature2DTracker_getPVAStream(cupvaStream_t *stream, dwFeature2DTrackerHandle_t obj)
Gets the cuPVA stream used by the feature tracker.
uint32_t historyCapacity
Upper bound of history in feature history array.
@ DW_FEATURE2D_TRACKER_ALGORITHM_STD
3-DOF (dx, dy, dscale) standard KLT tracking.
@ DW_FEATURE2D_TRACKER_ALGORITHM_EX_FAST
3-DOF (dx, dy, dscale) fast extended KLT tracking.
uint32_t windowSizeLK
Window size used in the KLT tracker.
uint32_t numLevelTranslationOnly
Number of levels in pyramid that will use translation-only KLT tracking, level [maxPyramidLevel - 1,...
Defines a two-element single-precision floating-point vector.