Detection3DSettings< OBJECT_FIT_METHOD::PLANE_FIT >
3D detection
The object pose is computed based on a plane fit of all points that lie inside the roiPercentage of the detected object. The objects coordinate system is positioned in the center, where x points to the right of the object (width direction), y points to the top of the object (height direction) and z is the object surface normal. This detection method should be used when the object is not rigid and does not contain perfect planar surfaces (e.g. bags that can crease).
Member Functions
virtual OBJECT_FIT_METHOD type() const override-
JSON Type: string +Requirement: Must be OBJECT_FIT_METHOD::PLANE_FIT. Type of the 3D detection.
Member Variables
maxNumObjects-
std::optional< int >, default:{100}JSON Type: (optional) int UNIMPLEMENTED +Requirement: Must be greater than zero. Maximum number of objects that should be computed in the 3D detection pipeline.
[[-2]]
roiPercentage:: float, default: \{0.8f\}
JSON Type: float +Requirement: Must be greater than zero.
Dilate 2D object detection results by this factor. The resulting area is used to determine all points that are considered for the geometric fit.
[[-3]]
minNumPoints:: int, default: {50}
JSON Type: (optional) int +Requirement: Must be greater than zero.
Minimum number of points required for the geometric fit.
[[-4]]
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.
[[-5]]
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.
[[-6]]
useKdeCorrection:: bool, default: {false}
JSON Type: (optional) bool
DEPRECATED: see shiftCorrection
[[-7]]
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
[[-8]]
kdeAllowedShiftRange:: std::array< float, 2 >, default: \{0, 0.1\}
[[-9]]
kdeShiftCorrectionFallback:: float, default: \{0.0\}
If shift correction fails(i.e. outside of kdeAllowedShiftRange), shift correction will fallback to this value.
Requirement: Must >= 0
[[-10]]
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.
[[-11]]
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.
[[-12]]
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.
[[-13]]
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
| Value | Description |
|---|---|
|
|
|
See Detection3DSettings<OBJECT_FIT_METHOD::RANSAC_PLANE_FIT>. |
|
See Detection3DSettings<OBJECT_FIT_METHOD::MIXED_PLANE_FIT>. |
|
See Detection3DSettings<OBJECT_FIT_METHOD::LINE_FIT_LONG_AXIS>. |
|
See Detection3DSettings<OBJECT_FIT_METHOD::GRIP_FROM_ENVIRONMENT>. |
|
See Detection3DSettings<OBJECT_FIT_METHOD::RANSAC_CYLINDER_FIT>. |
|
See Detection3DSettings<OBJECT_FIT_METHOD::OBJECT_MATCHING>. |
|
See Detection3DSettings<OBJECT_FIT_METHOD::OBJECT_REFINEMENT>. |
| Value | Description |
|---|---|
|
Determine the size of the 3D object by reprojecting all centers of the 2D oriented bounding box sides into the object plane. |
|
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. |
| Value | Description |
|---|---|
|
The 3D object center is determined by reprojecting the oriented bounding box center onto the object plane. |
|
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. |
|
The 3D object center is chosen as the center of the topmost xy-plane of the computed 3D bounding box. |
| Value | Description |
|---|---|
|
Do not shift the object. |
|
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. |
|
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. |
|
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. |
| Value | Description |
|---|---|
|
Shift objects along object normal |
|
Shift objects along the connection line between object and origin (camera position) |
| Value | Description |
|---|---|
|
Align the indicated axis towards the camera axis |
|
Align the indicated axis towards the camera plane |
|
Do not change axis alignments |