Detection3DSettingsGeom

Common base class for 3D Geometry detection settings.

Member Variables

centerStrategy

CENTER_STRATEGY, default: \{CENTER_STRATEGY::REPROJECT_2D_CENTER\} JSON Type: (optional) string +Requirement: Must be a CENTER_STRATEGY. Type of the 3D center estimation strategy.

[[-2]] sizeStrategy:: SIZE_STRATEGY, default: \{SIZE_STRATEGY::REPROJECT_2D_DETECTION\} JSON Type: (optional) string +Requirement: Must be a SIZE_STRATEGY. Type of the 3D object size estimation strategy.

[[-3]] useKdeCorrection:: bool, default: {false} JSON Type: (optional) bool DEPRECATED: see shiftCorrection

[[-4]] shiftCorrection:: SHIFT_CORRECTION, default: \{SHIFT_CORRECTION::NONE\} JSON Type: (optional) string +Requirement: Must be a SHIFT_CORRECTION. Correct the detected object by shifts in teh direction specified in shiftReference

[[-5]] kdeAllowedShiftRange:: std::array< float, 2 >, default: \{0, 0.1\}

[[-6]] kdeShiftCorrectionFallback:: float, default: \{0.0\} If shift correction fails(i.e. outside of kdeAllowedShiftRange), shift correction will fallback to this value. Requirement: Must >= 0

[[-7]] shiftCorrectionPercentage:: float, default: \{1.0\} JSON Type: (optional) float +Requirement: Must be a within [0, 1]. While doing a shift correction, the only the x farthest/closest percent of the pointcloud will be considered (depending on the shift correction settings: CLOSEST/FARTHEST). This makes the shifting process less sensitive to outliers.

[[-8]] shiftReference:: SHIFT_REFERENCE, default: \{SHIFT_REFERENCE::OBJECT_NORMAL\} JSON Type: (optional) string +Requirement: Must be a SHIFT_REFERENCE. Set he direction detected objects are to be shifted in.

[[-9]] shortAxisAlignment:: AXIS_ALIGNMENT, default: \{AXIS_ALIGNMENT::FROM_FIT_METHOD\} JSON Type: (optional) string +Requirement: Must be a AXIS_ALIGNMENT. Aligning short axis of the detected object by the camera position.

[[-10]] longAxisAlignment:: AXIS_ALIGNMENT, default: \{AXIS_ALIGNMENT::FROM_FIT_METHOD\} JSON Type: (optional) string +Requirement: Must be a AXIS_ALIGNMENT. Aligning long axis of the detected object by the camera position.

Enumerations

Table 1. SIZE_STRATEGY
Value Description

REPROJECT_2D_DETECTION

Determine the size of the 3D object by reprojecting all centers of the 2D oriented bounding box sides into the object plane.

FROM_3D_POINTS

Determine the size of the 3D object from the 3D bounding box of all points that that lie inside the roiPercentage of the detected object.

Table 2. CENTER_STRATEGY
Value Description

REPROJECT_2D_CENTER

The 3D object center is determined by reprojecting the oriented bounding box center onto the object plane.

REPROJECT_2D_DETECTION

DEPRECATED! The 3D object center is determined by reprojecting the centers of all sides of the oriented bounding box onto the object plane. The average of all projected points defines the center point.

FROM_3D_BBOX

The 3D object center is chosen as the center of the topmost xy-plane of the computed 3D bounding box.

Table 3. SHIFT_CORRECTION
Value Description

NONE

Do not shift the object.

KDE

This feature shifts a detected object plane in the direction of its normal to the first echo. Consider the case when an object has holes and the camera observes points that lie under the object. Then a RANSAC_PLANE_FIT should be used to robustly detect one of the planes (either top or parallel one below). The kde correction then shifts the detected plane to the top.

CLOSEST

Shift the object along its normal direction such that it has the same height as the top-most point (i.e. closest to camera) of the subset of points used for the fit.

FARTHEST

Shift the object along its normal direction such that it has the same height as the bottom-most point (i.e. furthest to camera) of the subset of points used for the fit.

Table 4. SHIFT_REFERENCE
Value Description

OBJECT_NORMAL

Shift objects along object normal

OBJECT_RAY

Shift objects along the connection line between object and origin (camera position)

Table 5. AXIS_ALIGNMENT
Value Description

TO_CAMERA_AXIS

Align the indicated axis towards the camera axis

TO_CAMERA_PLANE

Align the indicated axis towards the camera plane

FROM_FIT_METHOD

Do not change axis alignments