VPI - 视觉编程接口

3.2 版本

DCFTracker.h
前往此文件的文档。
1 /*
2  * 版权所有 2023 NVIDIA Corporation。保留所有权利。
3  *
4  * 致许可方:
5  *
6  * 本源代码和/或文档(“许可交付物”)受美国和
7  * 国际版权法项下的 NVIDIA 知识产权保护。
8  *
9  *
10  * 本文包含的许可交付物为 NVIDIA 的专有和
11  * 机密信息,并根据 NVIDIA 与许可方之间(“许可协议”)或经许可方电子接受的 NVIDIA 软件许可协议的条款和
12  * 条件提供。 尽管许可协议中有任何相反的条款或条件,
13  *
14  * 尽管许可协议中有任何相反的条款或条件,禁止向任何第三方复制或披露
15  *
16  * 许可交付物,除非获得 NVIDIA 的明确
17  * 书面同意。
18  *
19  * 尽管许可协议中有任何相反的条款或条件,
20  * NVIDIA 对这些许可交付物对于任何
21  * 用途的适用性不作任何陈述。 它们“按原样”
22  * 提供,不附带任何明示或暗示的保证。
23  * NVIDIA 声明不对这些许可
24  * 交付物作任何保证,包括对适销性、
25  * 非侵权性和特定用途适用性的所有默示保证。
26  * 尽管许可协议中有任何相反的条款或条件,
27  * 在任何情况下,NVIDIA 均不对任何
28  * 特殊的、间接的、附带的或后果性的损害,或因
29  * 使用、数据或利润损失而造成的任何损害负责,
30  * 无论是在合同诉讼、过失或其他侵权
31  * 行为中,还是因使用或执行
32  * 这些许可交付物而产生或与之相关的。
33  *
34  * 美国政府最终用户。 这些许可交付物是
35  * “商业项目”,该术语在 48 C.F.R. 2.101 (1995 年 10 月) 中定义,
36  * 包括“商业计算机软件”和“商业计算机软件文档”,这些术语在 48
37  * C.F.R. 12.212 (1995 年 9 月) 中使用,并且仅作为商业最终项目
38  * 提供给美国政府。 根据 48 C.F.R. 12.212 和
39  * 48 C.F.R. 227.7202-1 至 227.7202-4(1995 年 6 月),所有
40  * 美国政府最终用户仅根据此处规定的权利获得许可交付物。
41  *
42  *
43  * 在个人和商业软件中对许可交付物的任何使用都
44  * 必须在用户文档和代码的内部
45  * 注释中包含上述免责声明和美国政府最终
46  * 用户声明。
47  *
48  */
49 
56 #ifndef NV_VPI_ALGORITHMS_DCF_TRACKER_H
57 #define NV_VPI_ALGORITHMS_DCF_TRACKER_H
58 
166 #include "../Export.h"
167 #include "../ImageFormat.h"
168 #include "../Status.h"
169 #include "../Types.h"
170 
171 #include <stdint.h>
172 
173 #ifdef __cplusplus
174 extern "C" {
175 #endif
176 
178 typedef enum
179 {
189 
191 typedef struct
192 {
198  uint32_t flags;
199 
206 
210  int32_t hogCellSize;
211 
215 
220 
236 
272 VPI_PUBLIC VPIStatus vpiCreateDCFTracker(uint64_t backends, int32_t maxNumSequences, int32_t maxNumObjects,
273  const VPIDCFTrackerCreationParams *params, VPIPayload *payload);
274 
277 typedef struct
278 {
282 
293 
383  VPIStream stream, uint64_t backend, VPIPayload payload, const int32_t *enabledSequences, int32_t numSequences,
384  VPIImage featureMaskingWindow, VPIImage inPatches, VPIArray inObjects, VPIArray outObjects,
385  VPIImage outCorrelationResponses, VPIArray outMaxCorrelationResponses, const VPIDCFTrackerParams *params);
386 
464 VPI_PUBLIC VPIStatus vpiSubmitDCFTrackerUpdateBatch(VPIStream stream, uint64_t backend, VPIPayload payload,
465  const int32_t *enabledSequences, int32_t numSequences,
466  VPIImage featureMaskingWindow, VPIImage modelMaskingWindow,
467  VPIImage inPatches, VPIArray trackedObjects,
468  const VPIDCFTrackerParams *params);
469 
491 VPI_PUBLIC VPIStatus vpiDCFTrackerGetChannelWeights(VPIPayload payload, VPIArray *channelWeights,
492  int32_t *numFeatureChannels);
493 
496 #ifdef __cplusplus
497 }
498 #endif
499 
500 #endif /* NV_VPI_ALGORITHMS_DCF_TRACKER_H */
struct VPIArrayImpl * VPIArray
数组的句柄。
定义: Types.h:232
float featureFocusVertOffsetFactor
Hanning 窗口中心相对于图像块高度的偏移量。
int32_t hogCellSize
来自定向梯度直方图 (Histogram of Oriented Gradients) 的特征的单元格大小。
int32_t featurePatchSize
对象特征块的大小。
uint32_t flags
用于自定义 DCF Tracker 算法的标志。
float gaussianSigma
期望响应的高斯函数的标准差。
float dcfRegFactor
DCF 滤波器创建中使用的正则化因子。
VPIStatus vpiSubmitDCFTrackerLocalizeBatch(VPIStream stream, uint64_t backend, VPIPayload payload, const int32_t *enabledSequences, int32_t numSequences, VPIImage featureMaskingWindow, VPIImage inPatches, VPIArray inObjects, VPIArray outObjects, VPIImage outCorrelationResponses, VPIArray outMaxCorrelationResponses, const VPIDCFTrackerParams *params)
使用判别相关滤波器 (Discriminative Correlation Filter) 在输入图像块中定位每个被跟踪对象...
VPIStatus vpiSubmitDCFTrackerUpdateBatch(VPIStream stream, uint64_t backend, VPIPayload payload, const int32_t *enabledSequences, int32_t numSequences, VPIImage featureMaskingWindow, VPIImage modelMaskingWindow, VPIImage inPatches, VPIArray trackedObjects, const VPIDCFTrackerParams *params)
根据内部对象跟踪信息的状态及其对应的输入图像块更新内部对象跟踪信息...
VPIStatus vpiInitDCFTrackerParams(VPIDCFTrackerParams *params)
使用默认值初始化 VPIDCFTrackerParams。
VPIStatus vpiCreateDCFTracker(uint64_t backends, int32_t maxNumSequences, int32_t maxNumObjects, const VPIDCFTrackerCreationParams *params, VPIPayload *payload)
为 DCF Tracker 创建负载 (payload)。
VPIDCFTrackerCreationFlag
用于自定义 DCF Tracker 算法的标志。
VPIStatus vpiInitDCFTrackerCreationParams(VPIDCFTrackerCreationParams *params)
使用默认值初始化 VPIDCFTrackerCreationParams。
VPIStatus vpiDCFTrackerGetChannelWeights(VPIPayload payload, VPIArray *channelWeights, int32_t *numFeatureChannels)
返回包含每个被跟踪对象的通道权重信息的数组。
@ VPI_DCFTRACKER_USE_COLORNAMES
使用 ColorNames 特征。
@ VPI_DCFTRACKER_USE_HIGH_PRECISION_FEATURES
使用 16 位高精度特征。
@ VPI_DCFTRACKER_USE_HOG
使用定向梯度直方图 (Histogram of Oriented Gradients) 特征。
@ VPI_DCFTRACKER_DETERMINISTIC
使用确定性模式。
DCF Tracker 的创建参数。
定义 vpiCreateDCFTracker 参数的结构体。
struct VPIImageImpl * VPIImage
图像的句柄。
定义: Types.h:256
struct VPIPayloadImpl * VPIPayload
算法负载的句柄。
定义: Types.h:268
VPIStatus
状态代码。
定义: Status.h:81
struct VPIStreamImpl * VPIStream
流的句柄。
定义: Types.h:250