0

I am having problems with mesh for the merged point clouds using ICP algorithm.

Firstly, I have several point clouds of different view points for the same scene. And I register them using ICP(Iterative closest point). Then I use the software such as Meshlab and CloudcompareStero to get the mesh for the registered point cloud. And I found the registered point cloud is hierarchy. It behaves as the registered point cloud have several layers in depth direction. Although the difference is very small(I set high accuracy in ICP), it affects the visual quality greatly.

Basically, I think that I have several views' point cloud and I would get a more denser and completed point cloud which contains more information than the one point cloud using ICP. And the visual quality of the registered point cloud should be better than the single views' point cloud. However, because of the layer effect, the visual quality of registered point cloud' mesh is worse than the single view point cloud's mesh.

I think the kind of question should appear in the kinect fusion or some point cloud registration process. But I don't know where to find the cue.

So I want to ask greatest as you for some advice or thoughts to reduce the hierarchy effect and improve the visual quality.

Mike_Peng
  • 11
  • 2
  • Could you provide the code you have used for ICP, and sample data??? – David de la Iglesia Apr 07 '17 at 07:09
  • Thank you, Sure I would provide the code and the data.@DaviddelaIglesia – Mike_Peng Apr 07 '17 at 07:18
  • Thank you, Sure I would provide the code and the data.@DaviddelaIglesia the main [icp code](http://paste.ubuntu.com/24333030/), and the function icp.m is a matlab file which you could see [here](http://paste.ubuntu.com/24333035/). The data set is [here](https://pan.baidu.com/s/1kVp1VJT). Well I think during the register, I use the point to point not the point to plane,this would influence the register result. But except for this, I think there must be other ways to refine the result. Such as removing the redundant points. And ways to get a continuous and smooth mesh for merged point clouds. – Mike_Peng Apr 07 '17 at 09:33

1 Answers1

0

It is probably too late, but I will still answer for the future reference. The problem is your transformation matrix is not good enough. So you may try to improve it by using different methods which I will explain:

  1. So, you have the same scene from different angles but ICP may not be the best shot for this registration especially if either the object is symmetric or the difference between angles is too high. If this is your case you may try global registration. This method takes, for sure, much time because it creates a feature array for the source and target point clouds. If your point cloud is dense, you may consider down sampling such as uniform downsample or voxel downsample etc. After finding a rough alignment, you can refine it by applying ICP with a small maximum correspondance distance.
  2. If first case doesnt describe your setup, you can try applying multiple ICPs with different parameters. There should be an implementation in open3d named multi-scale-icp which basically tries to find transformation from most rough to most fined case.
  3. Finally, If the distance between the points for your current setup is not too big, you can try voxel downsampling again to get an 'effect' of a mesh, which I think may help removing the layers. As I said it depends on your result but you can try and see the results.
Lady Be Good
  • 253
  • 2
  • 12