CVB++ 14.0
TeachParameters Class Referencefinal

Parameters for teaching a DNC finder. More...

#include <cvb/dnc/teach_parameters.hpp>

Public Member Functions

 TeachParameters ()=default
 Default teach parameters. More...
 
double HeightSensitivity () const noexcept
 Get the minimum gradient magnitude to accept a local gradient as a feature in the depth images. More...
 
void SetHeightSensitivity (double value)
 Set the minimum gradient magnitude to accept a local gradient as a feature in the depth images. More...
 
int DerivativePatchSize () const noexcept
 Get smoothing area in pixels for gradient and normal calculation. More...
 
void SetDerivativePatchSize (int value)
 Set smoothing area in pixels for gradient and normal calculation. More...
 
int LocalDistributionSize () const noexcept
 Get the size of area in which local features are distributed (in pixels). More...
 
void SetLocalDistributionSize (int value)
 Set the size of area in which local features are distributed (in pixels). More...
 
int NumGradientFeatures () const noexcept
 Get the number of gradient features retained in the classifier. More...
 
void SetNumGradientFeatures (int value)
 Set the number of gradient features retained in the classifier. More...
 
int NumNormalFeatures () const noexcept
 Get the number of normal vector features retained in the classifier. More...
 
void SetNumNormalFeatures (int value)
 Set the number of normal vector features retained in the classifier. More...
 
int ICPShrink () const noexcept
 Get the subsample factor for ICP. More...
 
void SetICPShrink (int value)
 Set the subsample factor for ICP. More...
 
double DistanceKernelSize () const noexcept
 Get the factor for Distance transform calculation. More...
 
void SetDistanceKernelSize (double value)
 Set the factor for Distance transform calculation. More...
 

Detailed Description

Parameters for teaching a DNC finder.

Constructor & Destructor Documentation

◆ TeachParameters()

TeachParameters ( )
default

Default teach parameters.

Exceptions
Doesnot throw any exception.

Member Function Documentation

◆ DerivativePatchSize()

int DerivativePatchSize ( ) const
inlinenoexcept

Get smoothing area in pixels for gradient and normal calculation.

Returns
The patch size.
Exceptions
Doesnot throw any exception.

The value controls the local environment in the depth images of the examples which is used to calculate gradients and normals.Minimum is 3. Larger values effectively result in a smoothing of the depth images. The value should be odd. Typical values are in the range 3..9. Smaller values should be favored, since the example images of the CAD object are flawless and free of noise.

The corresponding value of Cvb.Dnc.SearchParameters.DerivativePatchSize of a detection task should be equal, or - in case of sensor noise - bigger. The minimum value is 3.

◆ DistanceKernelSize()

double DistanceKernelSize ( ) const
inlinenoexcept

Get the factor for Distance transform calculation.

Returns
The distance kernel size.
Exceptions
Doesnot throw any exception.

A so called Huber kernel is used for the calculation of a distance transform of an example. To some extend a Huber kernel can possibly enlarge the convergence basin of ICP-operations, relative to the Euclidian distance transform (factor = 1). A recommended value is 2. The minimum value is 1.

◆ HeightSensitivity()

double HeightSensitivity ( ) const
inlinenoexcept

Get the minimum gradient magnitude to accept a local gradient as a feature in the depth images.

Returns
The height sensitivity.
Exceptions
Doesnot throw any exception.

The value specifies a threshold (in millimeters) above which local height changes are observed as characteristic features. A typical value is 1 mm. This value is also used implicitly during later search tasks. The minimum value is 0.0.

◆ ICPShrink()

int ICPShrink ( ) const
inlinenoexcept

Get the subsample factor for ICP.

Returns
The subsample factor.
Exceptions
Doesnot throw any exception.

To speed up search tasks, a voxel representation of the examples is pre-calculated. The subsample factor determins the amount of data used to perform an ICP-operation.It strongly influences the recognition speed and the amount of memory used. The recommended value is 4. The minimum value is 1.

◆ LocalDistributionSize()

int LocalDistributionSize ( ) const
inlinenoexcept

Get the size of area in which local features are distributed (in pixels).

Returns
The local distribution size.
Exceptions
Doesnot throw any exception.

To account for the finite and discrete example positions the local features are somewhat smeared out. This value specifies the local active range of a single feature. A typical value is 8. The minimum value is 0.

◆ NumGradientFeatures()

int NumGradientFeatures ( ) const
inlinenoexcept

Get the number of gradient features retained in the classifier.

Returns
The number of gradient features.
Exceptions
Doesnot throw any exception.

To speed up the calculation of correspondences during a detection task, the possibly dense gradient features from the examples are thinned out to a minimum necessary number. This number strongly depends on the object itself. Typical values are between 100 and 1000. A value of 0 means that all gradient features should be used. The minimum value is 0.

◆ NumNormalFeatures()

int NumNormalFeatures ( ) const
inlinenoexcept

Get the number of normal vector features retained in the classifier.

Returns
The number of normal vector features.
Exceptions
Doesnot throw any exception.

To speed up the calculation of correspondences during a detection task, the dense normal features from the examples are thinned out to a minimum necessary number. This number strongly depends on the object itself. Typical values are between 100 and 1000. A value of 0 means that all normal features should be used. The minimum value is 0.

◆ SetDerivativePatchSize()

void SetDerivativePatchSize ( int  value)
inline

Set smoothing area in pixels for gradient and normal calculation.

Parameters
[in]valueThe patch size.
Exceptions
Doesnot throw any exception.

◆ SetDistanceKernelSize()

void SetDistanceKernelSize ( double  value)
inline

Set the factor for Distance transform calculation.

Parameters
[in]valueThe distance kernel size.
Exceptions
Doesnot throw any exception.

◆ SetHeightSensitivity()

void SetHeightSensitivity ( double  value)
inline

Set the minimum gradient magnitude to accept a local gradient as a feature in the depth images.

Parameters
[in]valueThe height sensitivity.
Exceptions
Doesnot throw any exception.

◆ SetICPShrink()

void SetICPShrink ( int  value)
inline

Set the subsample factor for ICP.

Parameters
[in]valueThe subsample factor.
Exceptions
Doesnot throw any exception.

◆ SetLocalDistributionSize()

void SetLocalDistributionSize ( int  value)
inline

Set the size of area in which local features are distributed (in pixels).

Parameters
[in]valueThe local distribution size.
Exceptions
Doesnot throw any exception.

◆ SetNumGradientFeatures()

void SetNumGradientFeatures ( int  value)
inline

Set the number of gradient features retained in the classifier.

Parameters
[in]valueThe number of gradient features.
Exceptions
Doesnot throw any exception.

◆ SetNumNormalFeatures()

void SetNumNormalFeatures ( int  value)
inline

Set the number of normal vector features retained in the classifier.

Parameters
[in]valueThe number of normal vector features.
Exceptions
Doesnot throw any exception.