STORM-IRIT/OpenGR

[Tutorial] Registering Simple geometry with outliers background

nmellado opened this issue · 0 comments

This short tutorial is related to the following issue: nmellado#71
Related page in OpenGR documentation (please read beforehand): https://storm-irit.github.io/OpenGR/a00012.html

Description of the data

Three different views of a simple shape, with relatively high overlap.
The object is standing on a table and rotated between each view.
Few points acquired from the environment are remaining in each point cloud, as shown below (bottom left corner and bottom right donut):
image

Note about these outliers:

They will have a strong impact on the overlap parameter, which is expressed as a percentage of the reference object bounding box. Remember that the overlap is used to compute the size of the 4-points basis used for registration.
Here the bounding box size seems to be twice bigger than the objects size, so the overlap parameter will have to be divided by 2.

Parameter setting

  • Number of samples: the geometry is simple, we can use the default parameters (n=200)
  • Delta: estimation of the overlap. Due to the outliers, overlap will be around 40% of the bounding box size.
  • Registration accuracy: in order to get a good distance, we need to take into account the size of the object. If you don't know which accuracy you need, you can use meshlab to get the length of a segment representative of this length (here it gives 3.19 units, we will use 3 in the experiment).

image

Runs

Aligning view 2 on view 1:

./Super4PCS -i cat1.ply cat2.ply -o 0.4 -d 3 -n 200 -r cat2_aligned.ply
Starting registration
norm_max_dist: 3
Initial LCP: 0.06
sq_max_base_diameter_: 6853.71           
sq_max_base_diameter_: 6853.71           
sq_max_base_diameter_: 6853.71            
sq_max_base_diameter_: 6853.71            
Score: 0.525st: 0.525000                  
(Homogeneous) Transformation from cat2.ply to cat1.ply: 
  0.691756  -0.603187  -0.397038    24.4747
 -0.332509   0.222003  -0.916598    41.3852
  0.641024   0.766081 -0.0469926     30.527
         0          0          0          1
Exporting Registered geometry to cat2_aligned.ply...
Export DONE

Aligning view 3 on view 1:

 ./Super4PCS -i cat1.ply cat3.ply -o 0.4 -d 3 -n 200 -r cat3_aligned.ply
Starting registration
norm_max_dist: 3
Initial LCP: 0.13
sq_max_base_diameter_: 7043.49           
sq_max_base_diameter_: 7043.49           
sq_max_base_diameter_: 7043.49            
sq_max_base_diameter_: 7043.49            
Score: 0.28est: 0.280000                  
(Homogeneous) Transformation from cat3.ply to cat1.ply: 
  0.728394  -0.388334   0.564481   -23.4775
  -0.62949 -0.0540029    0.77513   -2.74808
 -0.270526  -0.919935  -0.283788    72.0823
         0          0          0          1
Exporting Registered geometry to cat3_aligned.ply...
Export DONE

Result

image