DriveWorks SDK Reference
5.16.65 Release
For Test and Development only

BoxTracker2D.h
Go to the documentation of this file.
1
2//
3// Notice
4// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
5// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
6// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
7// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8//
9// NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
10// information or for any infringement of patents or other rights of third parties that may
11// result from its use. No license is granted by implication or otherwise under any patent
12// or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
13// expressly authorized by NVIDIA. Details are subject to change without notice.
14// This code supersedes and replaces all information previously supplied.
15// NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
16// components in life support devices or systems without express written approval of
17// NVIDIA CORPORATION & AFFILIATES.
18//
19// SPDX-FileCopyrightText: Copyright (c) 2015-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
20// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
21//
22// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
23// property and proprietary rights in and to this material, related
24// documentation and any modifications thereto. Any use, reproduction,
25// disclosure or distribution of this material and related documentation
26// without an express license agreement from NVIDIA CORPORATION or
27// its affiliates is strictly prohibited.
28//
30
31#ifndef DW_IMAGEPROCESSING_TRACKING_BOXTRACKER2D_BOXTRACKER2D_H_
32#define DW_IMAGEPROCESSING_TRACKING_BOXTRACKER2D_BOXTRACKER2D_H_
33
34// C api
35#include <dw/core/base/Config.h>
37#include <dw/core/base/Types.h>
39
56#ifdef __cplusplus
57extern "C" {
58#endif
59
61
64typedef struct dwBoxTracker2DObject* dwBoxTracker2DHandle_t;
65
71typedef struct
72{
76 int32_t id;
84 size_t nFeatures;
86
90typedef struct
91{
93 uint32_t maxBoxCount;
151
153
163
165
180 int32_t imageWidth, int32_t imageHeight, dwContextHandle_t context);
181
192
205
216
231
246
264dwStatus dwBoxTracker2D_track(const float32_t* curFeatureLocations,
265 const dwFeature2DStatus* curFeatureStatuses,
266 const float32_t* preFeatureLocations, dwBoxTracker2DHandle_t obj);
267
284 const dwFeature2DStatus* statuses,
285 size_t nFeatures, dwBoxTracker2DHandle_t obj);
286
301
316
329
342
343#ifdef __cplusplus
344}
345#endif
347#endif // DW_IMAGEPROCESSING_TRACKING_BOXTRACKER2D_BOXTRACKER2D_H_
NVIDIA DriveWorks API: Core Methods
dwStatus
Status definition.
Definition: ErrorDefs.h:44
NVIDIA DriveWorks API: Feature Array and Feature History Array
NVIDIA DriveWorks API: Core Types
float32_t confidence
Confidence in tracking results.
Definition: BoxTracker2D.h:78
const float32_t * featureLocations
2d feature coordinates inside the bounding box.
Definition: BoxTracker2D.h:82
uint32_t maxFeatureCountPerBox
Maximum features to track for each 2D bounding box.
Definition: BoxTracker2D.h:95
float32_t minMatchOverlap
Minimum amount of overlap between a tracked box and an added box such that the 2 boxes can be conside...
Definition: BoxTracker2D.h:129
float64_t similarityThreshold
The threshold to define the location and size similarity of the bounding boxes.
Definition: BoxTracker2D.h:111
int32_t trackedFrameCount
Total number of tracked frames.
Definition: BoxTracker2D.h:80
uint32_t groupThreshold
Minimum possible number of boxes minus 1.
Definition: BoxTracker2D.h:117
float32_t confRateTrack
Rate at which confidence values of tracked boxes changes from frame to frame, i.e....
Definition: BoxTracker2D.h:140
float32_t confThreshConfirm
Threshold on confidence below which tracker no longer report box location.
Definition: BoxTracker2D.h:145
uint32_t maxBoxCount
Maximum 2D boxes to track.
Definition: BoxTracker2D.h:93
dwBox2D box
Bounding box location and size.
Definition: BoxTracker2D.h:74
float64_t maxBoxImageScale
Maximum box scale in the image to track.
Definition: BoxTracker2D.h:100
float32_t confThreshDiscard
Threshold on confidence below which tracker no longer track box location.
Definition: BoxTracker2D.h:149
float32_t confRateDetect
Rate at which to combine confidence values of new boxes to existing tracked boxes when a new box is f...
Definition: BoxTracker2D.h:135
size_t nFeatures
Total number of tracked 2D features.
Definition: BoxTracker2D.h:84
int32_t id
Bounding box ID.
Definition: BoxTracker2D.h:76
float64_t minBoxImageScale
Minimum box scale in the image to track.
Definition: BoxTracker2D.h:105
float32_t maxMatchDistance
Maximum distance around the closest tracked box to search for a candidate matching box.
Definition: BoxTracker2D.h:124
DW_API_PUBLIC dwStatus dwBoxTracker2D_track(const float32_t *curFeatureLocations, const dwFeature2DStatus *curFeatureStatuses, const float32_t *preFeatureLocations, dwBoxTracker2DHandle_t obj)
Tracks the bounding boxes.
DW_API_PUBLIC dwStatus dwBoxTracker2D_add(const dwBox2D *boxes, size_t num, dwBoxTracker2DHandle_t obj)
Adds bounding boxes to the tracker.
DW_API_PUBLIC dwStatus dwBoxTracker2D_get(const dwTrackedBox2D **boxList, size_t *num, dwBoxTracker2DHandle_t obj)
Gets tracked bounding boxes and IDs.
DW_API_PUBLIC dwStatus dwBoxTracker2D_release(dwBoxTracker2DHandle_t obj)
Releases the 2D bounding box tracker.
DW_API_PUBLIC dwStatus dwBoxTracker2D_setTrackingPriority(uint32_t idx, float32_t priority, dwBoxTracker2DHandle_t obj)
Sets the priority of a bounding box.
struct dwBoxTracker2DObject * dwBoxTracker2DHandle_t
Handle to a 2D object tracker.
Definition: BoxTracker2D.h:64
DW_API_PUBLIC dwStatus dwBoxTracker2D_updateFeatures(const float32_t *featureLocations, const dwFeature2DStatus *statuses, size_t nFeatures, dwBoxTracker2DHandle_t obj)
Updates the feature locations of the 2D bounding boxes.
DW_API_PUBLIC dwStatus dwBoxTracker2D_initialize(dwBoxTracker2DHandle_t *obj, const dwBoxTracker2DParams *parameters, int32_t imageWidth, int32_t imageHeight, dwContextHandle_t context)
Initializes 2D bounding box tracker.
DW_API_PUBLIC dwStatus dwBoxTracker2D_getTrackingPriority(float32_t *priority, uint32_t idx, dwBoxTracker2DHandle_t obj)
Returns the priority of a bounding box.
DW_API_PUBLIC dwStatus dwBoxTracker2D_enablePriorityTracking(bool enable, dwBoxTracker2DHandle_t obj)
Enables priority tracking of a boundary box.
DW_API_PUBLIC dwStatus dwBoxTracker2D_initParams(dwBoxTracker2DParams *parameters)
Initializes 2D tracker parameters with default values.
DW_API_PUBLIC dwStatus dwBoxTracker2D_reset(dwBoxTracker2DHandle_t obj)
Resets the 2D bounding box tracker.
DW_API_PUBLIC dwStatus dwBoxTracker2D_shallowReset(dwBoxTracker2DHandle_t obj)
Performs a shallow reset on the 2D bounding box tracker.
DW_API_PUBLIC dwStatus dwBoxTracker2D_addPreClustered(const dwTrackedBox2D *boxes, size_t num, dwBoxTracker2DHandle_t obj)
Adds pre-clustered bounding boxes to the tracker.
Holds 2D object-tracker parameters.
Definition: BoxTracker2D.h:91
Holds a tracked 2D bounding box.
Definition: BoxTracker2D.h:72
float float32_t
Specifies POD types.
Definition: BasicTypes.h:59
double float64_t
Definition: BasicTypes.h:60
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:86
#define DW_API_PUBLIC
Definition: Exports.h:56
dwFeature2DStatus
Defines the possible status of a feature.
Definition: FeatureList.h:62
Defines a rectangle.