|
|
NVIDIA DeepStream SDK API Reference
|
9.2 Release
|
Go to the documentation of this file.
18 #ifndef CUDCFLIB_CUDCF_H_
19 #define CUDCFLIB_CUDCF_H_
21 #include <cuda_runtime.h>
24 #include <cuComplex.h>
25 #include "modules/NvMultiObjectTracker/localizer.hpp"
55 const cudaStream_t &stream,
const int num_of_targets,
const int maxTargetsPerStream,
56 const detectorBbox_t *detectedPts,
const uint *detectedPts_size,
const int detCorrRespSearchWindowSize,
57 const float *corr_responses,
const float *maxCorrResponse_ma,
const int img_element_size,
58 const int img_width,
float *confidenceAtDetectedPt,
float *corrRespAtDetectedPt
77 const cudaStream_t &stream,
const uint16_t *ftrs,
const float *masking_window,
const uint srcWidth,
78 const uint srcPitch,
const uint srcHeight,
const uint2 outBatchingGrid,
const uint num_of_channels,
79 const uint num_of_targets,
const bool useColorNames,
const uint num_of_colorNames_channels,
float *ftrs_masked
99 const uint srcPitch,
const uint srcHeight,
const uint2 outBatchingGrid,
const uint num_of_channels,
100 const uint num_of_targets,
const bool useColorNames,
const uint num_of_colorNames_channels,
float *ftrs_masked
126 const cudaStream_t &stream,
const cufftHandle &cufft_handle_C2R,
const cufftHandle &cufft_handle_R2C,
127 const cuComplex *ftrs_F,
const cuComplex *desiredResp_F,
const float *masking_window_model,
const int img_width,
128 const int img_element_size,
const int batch_element_size,
const float lambda,
const int num_of_channels,
129 const int num_of_targets, cuComplex *work_F,
float *work_I,
const uint32_t *tracker_age,
130 const bool *trackerDoProcessing_d,
const float learn_rate, cuComplex *learned_filter_F, cuComplex *result_filter_F
149 const cudaStream_t &stream,
const float *src_mask_frame_batch,
const int src_frame_width,
150 const int src_frame_element_size,
const int feat_width,
const int feat_element_size,
151 const int batch_element_size,
const int num_of_targets,
const int num_of_channels,
152 const float4 *src_rois,
const bool *trackerDoProcessing_d,
float *dst_mask_patch_batch
176 const cudaStream_t &stream,
const cufftHandle &cufft_handle_many,
const cuComplex *ftrs_F,
177 const int img_element_size,
const int img_width,
const int batch_element_size,
178 const int batch_size,
const int num_of_channels,
const int num_of_targets,
179 const cuComplex *new_filter_F, cuComplex *work_F,
float *work_I,
const uint32_t *tracker_age,
180 const bool *trackerDoProcessing_d,
const float weights_lr,
float *channel_weights,
float *weight_sum
195 const cudaStream_t &stream,
const int num_of_channels,
const int num_of_targets,
196 const float learn_rate,
const float *channel_weights,
const uint32_t *tracker_age,
197 const bool *trackerDoProcessing_d,
float *maxCorrResponse_ma
218 const cudaStream_t &stream,
const cufftHandle &cufft_handle_many_small,
const int img_width,
219 const int img_element_size,
const int batch_element_size,
const int num_of_channels,
const int num_of_targets,
220 const cuComplex *ftrs_F,
const cuComplex *result_filter_F,
const float *channel_weights,
221 cuComplex *work_F,
float *corr_responses,
float *maxResp, float2 *targetDisplacement
233 const cudaStream_t &stream,
const int num_of_targets,
const float *maxCorrResponse_ma,
234 const float *maxCorrResponse,
float *trackingConfidence
238 #endif // CUDCFLIB_CUDCF_H_
void calculateResponse(const cudaStream_t &stream, const cufftHandle &cufft_handle_many_small, const int img_width, const int img_element_size, const int batch_element_size, const int num_of_channels, const int num_of_targets, const cuComplex *ftrs_F, const cuComplex *result_filter_F, const float *channel_weights, cuComplex *work_F, float *corr_responses, float *maxResp, float2 *targetDisplacement)
Given the Fourier-transformed extracted features and the learned filters, compute the correlation res...
void applyFilter2D_U16(const cudaStream_t &stream, const uint16_t *ftrs, const float *masking_window, const uint srcWidth, const uint srcPitch, const uint srcHeight, const uint2 outBatchingGrid, const uint num_of_channels, const uint num_of_targets, const bool useColorNames, const uint num_of_colorNames_channels, float *ftrs_masked)
Multiply a 2D high-precision feature by a masking window elementwise.
uint dBboxInd
Index to the corresponding detector bbox.
void createDcfFilter(const cudaStream_t &stream, const cufftHandle &cufft_handle_C2R, const cufftHandle &cufft_handle_R2C, const cuComplex *ftrs_F, const cuComplex *desiredResp_F, const float *masking_window_model, const int img_width, const int img_element_size, const int batch_element_size, const float lambda, const int num_of_channels, const int num_of_targets, cuComplex *work_F, float *work_I, const uint32_t *tracker_age, const bool *trackerDoProcessing_d, const float learn_rate, cuComplex *learned_filter_F, cuComplex *result_filter_F)
Create a DCF filter and update the learned filter with an exponential moving average.
void applyFilter2D_U8(const cudaStream_t &stream, const uchar *ftrs, const float *masking_window, const uint srcWidth, const uint srcPitch, const uint srcHeight, const uint2 outBatchingGrid, const uint num_of_channels, const uint num_of_targets, const bool useColorNames, const uint num_of_colorNames_channels, float *ftrs_masked)
Multiply a 2D low-precision feature by a masking window elementwise.
Detector bbox in correlation-response coordinates.
void calcuateExpectedPeakCorrelation(const cudaStream_t &stream, const int num_of_channels, const int num_of_targets, const float learn_rate, const float *channel_weights, const uint32_t *tracker_age, const bool *trackerDoProcessing_d, float *maxCorrResponse_ma)
Compute the moving average of the max correlation response.
void getDetectorBboxCorrelationResponses(const cudaStream_t &stream, const int num_of_targets, const int maxTargetsPerStream, const detectorBbox_t *detectedPts, const uint *detectedPts_size, const int detCorrRespSearchWindowSize, const float *corr_responses, const float *maxCorrResponse_ma, const int img_element_size, const int img_width, float *confidenceAtDetectedPt, float *corrRespAtDetectedPt)
Read the correlation response near each detector bbox and write the confidence and response.
int y
Coordinates in the correlation-response matrix.
void computeChannelWeights(const cudaStream_t &stream, const cufftHandle &cufft_handle_many, const cuComplex *ftrs_F, const int img_element_size, const int img_width, const int batch_element_size, const int batch_size, const int num_of_channels, const int num_of_targets, const cuComplex *new_filter_F, cuComplex *work_F, float *work_I, const uint32_t *tracker_age, const bool *trackerDoProcessing_d, const float weights_lr, float *channel_weights, float *weight_sum)
Compute and update the channel weights via exponential moving average.
void createSegmentationFilterMask(const cudaStream_t &stream, const float *src_mask_frame_batch, const int src_frame_width, const int src_frame_element_size, const int feat_width, const int feat_element_size, const int batch_element_size, const int num_of_targets, const int num_of_channels, const float4 *src_rois, const bool *trackerDoProcessing_d, float *dst_mask_patch_batch)
Crop and rescale each target's segmentation mask to the visual tracker region size.
void calculateTrackingConfidence(const cudaStream_t &stream, const int num_of_targets, const float *maxCorrResponse_ma, const float *maxCorrResponse, float *trackingConfidence)
Calculate tracking confidence from moving-average and instantaneous peak correlation responses.