NVIDIA DeepStream SDK API Reference

5.0 Release

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
DBScan Based Object Clustering API

Detailed Description

Defines the API for DBScan-based object clustering.

Data Structures

struct  NvDsInferDBScanClusteringParams
 Holds object clustering parameters required by DBSCAN. More...
 

Typedefs

typedef struct NvDsInferDBScan * NvDsInferDBScanHandle
 Holds an opaque DBScan clustering context handle. More...
 

Functions

NvDsInferDBScanHandle NvDsInferDBScanCreate ()
 Creates a new DBScan object clustering context. More...
 
void NvDsInferDBScanDestroy (NvDsInferDBScanHandle handle)
 Destroys a DBScan object clustering context. More...
 
void NvDsInferDBScanCluster (NvDsInferDBScanHandle handle, NvDsInferDBScanClusteringParams *params, NvDsInferObjectDetectionInfo *objects, size_t *numObjects)
 Clusters an array of objects in place using specified clustering parameters. More...
 
void NvDsInferDBScanClusterHybrid (NvDsInferDBScanHandle handle, NvDsInferDBScanClusteringParams *params, NvDsInferObjectDetectionInfo *objects, size_t *numObjects)
 Clusters an array of objects in place using specified clustering parameters. More...
 

Typedef Documentation

typedef struct NvDsInferDBScan* NvDsInferDBScanHandle

Holds an opaque DBScan clustering context handle.

Definition at line 44 of file nvdsinfer_dbscan.h.

Function Documentation

void NvDsInferDBScanCluster ( NvDsInferDBScanHandle  handle,
NvDsInferDBScanClusteringParams params,
NvDsInferObjectDetectionInfo objects,
size_t *  numObjects 
)

Clusters an array of objects in place using specified clustering parameters.

Parameters
[in]handleA handle to the context be used for clustering.
[in]paramsA pointer to a clustering parameter structure.
[in,out]objectsA pointer to an array of objects to be clustered. The function places the clustered objects in the same array.
[in,out]numObjectsA pointer to the number of valid objects in the objects array. The function sets this value after clustering.
void NvDsInferDBScanClusterHybrid ( NvDsInferDBScanHandle  handle,
NvDsInferDBScanClusteringParams params,
NvDsInferObjectDetectionInfo objects,
size_t *  numObjects 
)

Clusters an array of objects in place using specified clustering parameters.

The outputs are partially only clustered i.e to merge close neighbors of the same cluster together only and the mean normalization of all the proposals in a cluster is not performed. The outputs from this stage are later fed into another clustering algorithm like NMS to obtain the final results.

Parameters
[in]handleA handle to the context be used for clustering.
[in]paramsA pointer to a clustering parameter structure.
[in,out]objectsA pointer to an array of objects to be clustered. The function places the clustered objects in the same array.
[in,out]numObjectsA pointer to the number of valid objects in the objects array. The function sets this value after clustering.
NvDsInferDBScanHandle NvDsInferDBScanCreate ( )

Creates a new DBScan object clustering context.

Returns
A handle to the created context.
void NvDsInferDBScanDestroy ( NvDsInferDBScanHandle  handle)

Destroys a DBScan object clustering context.

Parameters
[in]handleThe handle to the context to be destroyed.