3D Coarse Matching V2

Function

This Step coarsely matches the point cloud model with the original point clouds and outputs the coarsely calculated candidate poses of the target objects.

Usage Scenario

This Step is generally used to initially find the target objects in the scene point clouds and obtain the coarsely calculated candidate poses. This Step is usually followed by the 3D Fine Matching Step.

Input and Output

../../../../_images/3d_coarse_matching_v2_input_and_output.png

Parameters

Parameter Tuning Level

Parameter description: This parameter is used to select the Parameter Tuning Level for the Step.
Value list: Basic, Advanced
Default value: Basic

Basic Parameter Tuning Level

Model Settings

Model Selection
Parameter description: This parameter is used to select the point cloud model file in the model library (project folder/resource/3d_matching).
Tuning instruction: After making a point cloud model with the Matching Model and Pick Point Editor, click the button to the right of the parameter to expand the drop-down list to select or switch the point cloud model file.

Matching Method

Parameter description: This parameter is used to select the matching mode for 3D coarse matching.
Value list: Edge matching, Surface matching
Default value: Edge matching
Tuning instruction: Please select the mode according to the point cloud model in use. If the point cloud model represents the edge of the workpiece, select Edge matching; if the point cloud model represents the surface of the workpiece, select Surface matching.

Preprocessing Settings

Expected Point Count of Sampled Model
Parameter description: This parameter is used to set the expected number of points in the point cloud model after downsampling. The lower this value, the fewer points in the downsampled point cloud, and the lower the matching accuracy is.
Default value: 200
Tuning recommendation: Set the value according to the actual requirement. Please refer to the tuning example for the application result.
Point Count Upper Threshold of Sampled Input Point Cloud
Parameter description: This parameter is used to set the maximum number of points in the scene point cloud after downsampling. If the number of points in the scene point cloud after downsampling exceeds this value, the scene point cloud will be ignored and empty data will be output.
Default value: 100000
Tuning recommendation: Set the value according to the actual requirement. Please refer to the tuning example for the application result.

Pose Verification Settings

Expected Number of Detected Poses per Input Point Cloud
Parameter description: This parameter is used to set the expected number of matched poses for each input point cloud.
Default value: 3
Tuning recommendation: Set the value according to the actual requirement. Please refer to the tuning example for the application result.

Advanced Parameter Tuning Level

Model Settings

Model Selection
Parameter description: This parameter is used to select the point cloud model file in the model library (project folder/resource/3d_matching).
Tuning instruction: After making a point cloud model with the Matching Model and Pick Point Editor, click the button to the right of the parameter to expand the drop-down list to select or switch the point cloud model file.
Model File
Parameter description: This parameter is used to select the point cloud model file.
Tuning instruction: Click icon_file to select a point cloud model file in PLY format.
Geo Center Point File
Parameter description: This parameter is used to select the geometric center file.
Tuning instruction: Click icon_file to select a geometric center file in JSON format.

Matching Mode

Parameter description: This parameter is used to select the matching mode for 3D coarse matching.
Value list: Edge matching, Surface matching
Default value: Edge matching
Tuning instruction: Please select the mode according to the point cloud model in use. If the point cloud model represents the edge of the workpiece, select Edge matching; if the point cloud model represents the surface of the workpiece, select Surface matching.

Preprocessing Settings

Expected Point Count of Sampled Model
Parameter description: This parameter is used to set the expected number of points in the point cloud model after downsampling. The lower this value, the fewer points in the downsampled point cloud, and the lower the matching accuracy is.
Value range: 20-3000
Default value: 200
Tuning recommendation: Set the value according to the actual requirement. Please refer to the tuning example for the application result.
Point Count Upper Threshold of Sampled Input Point Cloud
Parameter description: This parameter is used to set the maximum number of points in the scene point cloud after downsampling. If the number of points in the scene point cloud after downsampling exceeds this value, the scene point cloud will be ignored and empty data will be output.
Value range: 100-100000
Default value: 100000
Tuning recommendation: Set the value according to the actual requirement. Please refer to the tuning example for the application result.
Number of Neighboring Points
Parameter description: This parameter is used to set the number of neighboring points for calculating the orientation of each point. This parameter is only available in the Edge matching mode.
Value range: 1-100
Default value: 30

Voting Settings

Upper Limit of Point Pair Count per Feature
Parameter description: This parameter specifies the upper limit of the number of point pairs contained in each feature during the model analysis. The lower this value, the faster the execution, but the accuracy is also lower.
Default value: 50
Distance Quantification
Parameter description: This parameter is used to quantify the distance between points in the object point cloud. \(Distance Interval = Distance Quantification × Sampling Interval\). The greater this value, the less accurate the matching result tends to be.
Default value: 1.0000
Angle Quantification
Parameter description: This parameter is used to quantify the angle between the normals of the points in the object point cloud. \(Angle Interval = 360° / Angle Quantification\). The greater this value, the smaller the angle interval, and therefore the higher the accuracy of the matching result is, but a point cloud of higher quality is required.
Default value: 60
Vote Ratio Lower Threshold
Parameter description: Poses with scores higher than the \(Highest Score in the Vote × Vote Ratio Lower Threshold\) will go through pose verification. The lower this value, the more poses are used for pose verification, and therefore the more likely an exact match will be found, but the Step will also take longer to execute.
Default value: 0.80
Referring Point Sampling Step
Parameter description: This parameter is used to adjust the step size to downsample the referring point. The greater this value, the fewer the points after downsampling, and the faster the execution, but the matching accuracy is also lower.
Default value: 5
Referred Point Sampling Step
Parameter description: This parameter is used to adjust the step size to downsample the referred point. The greater this value, the fewer the points after downsampling, and the faster the execution, but the matching accuracy is also lower.
Default value: 1

Note

The referring points and referred points are relative to each other, and both can be any point in the scene point cloud. A referring point and a referred point make up a point pair. The larger the sampling step, the fewer referring points and referred points after downsampling, the fewer the point pairs, and the faster the execution.

Pose Filtering Settings

Use Distance NMS
Parameter description: After this feature is enabled, candidate poses whose distances to the selected poses are less than 0.1 times the diameter of the object will be filtered out.
Default value: Enabled
Tuning instruction: Please refer to the tuning example for the application result.
Filter Poses by Model Rotation Angle
Parameter description: In the edge matching mode, the point cloud model may need to be rotated by a certain angle to match with the scene point cloud, and the poses will be filtered by the point cloud model’s rotation angle. When the model’s rotation angle exceeds the Angle Difference Upper Threshold, the pose will be filtered out.
Default value: Enabled
Angle Difference Upper Threshold
Parameter description: This parameter is used to set the upper limit of the angle difference. The pose with an angle difference between the constraint axis and the reference direction larger than the Angle Difference Upper Threshold will not be considered a candidate pose.
Default value: 135.000°

Pose Verification Settings

Expected Number of Detected Poses per Input Point Cloud
Parameter description: This parameter specifies the expected number of matched poses for each input point cloud.
Default value: 3
Tuning recommendation: Set the value according to the actual requirement. Please refer to the tuning example for the application result.
Voxel Length Generation Strategy
Parameter description: This parameter is used to select the strategy to generate the voxel length.
Value list: Auto, Manual
Default value: Auto
Tuning recommendation: Auto is recommended for new users. If Manual is selected, you will need to set the Voxel Length.
Voxel Length Lower Limit
Parameter description: This parameter is used to set the minimum voxel length in millimeters.
Default value: 1.000 mm
Voxel Length Upper Limit
Parameter description: This parameter is used to set the maximum voxel length in millimeters.
Default value: 15.000 mm

Note

If you divide the space occupied by the point cloud into a 3D grid, each minimum cube in this grid is a voxel. Voxel length is the length of the cube edge.

Result Visualization

Visualization Options
Parameter description: This parameter is used to select the item that you want to visualize.
Value list: Sampled Model, Sampled Scene, Registration Result, Points Used in Pose Verification
Default value: Registration Result
Tuning instruction: Set the value according to the actual requirement. Please refer to the tuning example for the application result.

Tuning Examples

Examples in the Basic Parameter Tuning Level

Expected Point Count of Sampled Model

Take a connecting rod picking project as an example, when the Expected Point Count of Sampled Model is set to 300 and 600 respectively, the corresponding point cloud models after downsampling are shown in the left and right figures below.

As you can see in the figures, the points in the left point cloud are sparse, while the points in the right point cloud are dense.

../../../../_images/3d_coarse_matching_v2_point_number.png

Point Count Upper Threshold of Sampled Input Point Cloud

When the number of points in the input point cloud exceeds the set value, a message as shown below will appear.

../../../../_images/3d_coarse_matching_v2_limit.png

Expected Number of Detected Poses per Input Point Cloud

When the Expected Number of Detected Poses per Input Point Cloud is set to 6 and 12 respectively, the numbers of pose results output by this Step are shown in the left and right figures below.

There are 6 pose results in the left figure, while there are 12 pose results in the right figure.

../../../../_images/3d_coarse_matching_v2_outputnumber.png

Examples in the Advanced Parameter Tuning Level

Use Distance NMS

As shown in the figure below, after this feature is enabled, candidate poses whose distances to the selected poses are less than 0.1 times the diameter of the object will be filtered out.

../../../../_images/3d_coarse_matching_v2_non_maximum_suppression_pose_distance.png

Result Visualization

Visualization Options

Example

Sampled Model The point cloud model after downsampling

icon_1

Sampled Scene The scene point cloud after downsampling

icon_2

Registration Result The matching results

icon_3

Points Used in Pose Verification The points used in pose verification

icon_4