3D Matching

Function

This Procedure is used to match the point cloud model with the scene point clouds and detect the object in the scene, and then output the object poses. The components of the Procedure are shown as below.

../../../_images/3d_matching_procedure_01.png

Usage Scenario

This Procedure usually follows the Filter Out Point Clouds That Exceed The Limit Procedure. It uses the 3D Coarse Matching V2 and 3D Fine Matching Steps to gradually optimize the pick poses and remove the poses of the overlapped objects.

Matching Process

The matching workflow of this Procedure is shown below:

../../../_images/3d_matching_frame.png
  1. Once you obtain the filtered point cloud with the Filter Out Point Clouds That Exceed The Limit Procedure, you can input the filtered point cloud to this Procedure. The 3D Coarse Matching V2 Step can calculate the original pose of the object, as shown below. There can be multiple original poses.

    ../../../_images/3d_coarse_matching_v2_result.png
  2. Then the 3D Fine Matching Step will accurately match the original poses and output more accurate poses, as shown below.

    ../../../_images/3d_fine_matching_result.png
  3. Lastly, object poses will be selected in the horizontal direction, and a Remove Overlapped Objects Step is used to remove the overlapped objects along the Z-axis direction in the object reference frame and output the pick poses on the top layer. As shown in the figure below, the white point clouds are removed.

    ../../../_images/remove_overlapped_objects_result.png

Parameter Tuning

Model Setting

Model Name
Default value: Null
Notes: Before you use this Procedure, you should add a point cloud model of the object. Then the point cloud model will be matched with the scene point clouds. In this way, the object in the scene can be detected and their poses can be calculated. After you make a point cloud model and save it with the Matching Model and Pick Point Editor, you can select the saved point cloud model in the drop-down list.

Matching Settings

Matching Settings
Default value: Edge
Value list: Surface, Edge
Notes: This parameter is used to select between Edge Matching and Surface Matching modes. If the matching mode is Edge Matching, you should select an edge point cloud model in Model Settings, as shown below.
../../../_images/match_model_1.png

If the matching mode is Surface Matching, you should select a surface point cloud model in Model Settings, as shown below.

../../../_images/match_model_2.png
Expected Point Cloud of Sampled Model
Default value: 300
Notes: This parameter specifies the number of points in the point cloud model after the automatic downsampling. The smaller the value, the less points in the point cloud, and the lower the matching accurary will be.

Parameter

300

600

Illustration

icon_1

icon_2

Number of points

276

632

Matching Speed
Default value: Standard
Value list: HighSpeed, Standard, HighPrecision
Notes: Please select the appropriate mode according to the requirement of the project.
  • HighSpeed: High speed but with less matching accuracy.

  • Standard: A relatively balanced mode.

  • HighPrecision: High matching accuracy with low speed.

Confidence Threshold
Default value: 0.600
Notes: This parameter is used to compare with the pose matching score to obtain more accurate pose matching results. It is usually used with the Search Radius parameter. If the pose matching score is above this value, the pose matching result is valid. When all other parameters remain unchanged, the higher the value, the more accurate the pose matching result will be.

In the actual application, you should set an appropriate Search Radius first, and set the Confidence Threshold according to the actual situation. You can double-click the Procedure to view the Steps it contains, and set the Search Radius in the 3D Fine Matching Step.

The value of Search Radius affects the pose matching score. The higher the value of the Search Radius, the looser the criterion for evaluating the pose matching result will be, which means that even if the pose matching result is of poor quality, the pose matching score will be high; the lower the value of the Search Radius, the more strict the criterion for evaluating the pose matching result will be. Please set the value according to the actual situation of the point cloud. If the points in the point cloud are sparse, the Search Radius should be set slightly larger.

During parameter tuning, you can set an original Search Radius first and run the Step. Then you can check the matching result in the Debug Output window and compare the result with the pose matching score. If the matching result does not correspond with the matching score, please adjust the Search Radius according to the actual situation.

Once you set an appropriate Search Radius, you can set the Confidence Threshold according to the actual requirement to obtain the pose matching results with scores above the threshold.

Result Settings

Maximum Output Number
Default value: 10
Value range: 1–100
Notes: This parameter specifies the maximum number of pose matching results output by the Procedure. If there are multiple pose matching results, the results will be sorted according to the pose matching score in an descending order, and the pose matching results with the highest scores of the Maximum Output Number will be output.

Hint

The actual number of output pose matching results is not necessarily equal to the set Maximum Output Number. If the Maximum Output Number is set to 5, but there are 3 pose matching results in total, the final number of output pose matching results is 3.