Best way to denoise point cloud before mesh

3DReshaper, FROST, MeshLab, VRMesh, ZBrush & 3DCoat, CloudCompare, Etc
Post Reply
patrikc8
I have made 10-20 posts
I have made 10-20 posts
Posts: 10
Joined: Wed Jun 01, 2016 7:45 pm
7
Full Name: Patrick Combe
Company Details: Duke University
Company Position Title: Research Assistant and Student
Country: US
Linkedin Profile: No

Best way to denoise point cloud before mesh

Post by patrikc8 »

Hi there,

I am dealing with some very noisy point clouds (due to the use of an underwater 3D sonar scanner) and I have attempted to used VRMesh though it hasn't given any promising results. The data seems to be to noisy for VRMesh to be of any use.

Is there a method which with you would recommend in de-noising the point cloud. I have attached a point cloud file of a test scan (of cinderblocks) if anyone would like a better picture of the situation.

https://drive.google.com/file/d/0B_se-U ... sp=sharing

Thanks!
User avatar
CWickersham
I have made 60-70 posts
I have made 60-70 posts
Posts: 61
Joined: Mon Jan 11, 2016 3:19 pm
8
Full Name: Caleb Wickersham
Company Details: EMJ Corporation
Company Position Title: Virtual Construction Engineer
Country: United States

Re: Best way to denoise point cloud before mesh

Post by CWickersham »

If the data is like the data you uploaded to drive, I'm not sure a promising mesh is going to come out of this. The issue is that not only is it noisy, but the data is sparse. If it were just noisy I would recommend filtering, but that won't work well here. Since it is sparse, it might be possible to import the point cloud 4 times, shift one slightly in the x, then slightly in the y, then slightly in the z, and one in original position. Then run a filter to "average out" the data.

Otherwise I might suggest using other software for your surface reconstruction such as CloudCompare or Meshlab
Caleb Wickersham
Virtual Construction Engineer at EMJ Corporation
emjcorp.com
User avatar
danielgm
V.I.P Member
V.I.P Member
Posts: 195
Joined: Thu Jun 20, 2013 10:45 am
10
Full Name: Daniel Girardeau-Montaut
Company Details: CloudCompare
Company Position Title: Administrator
Country: France
Linkedin Profile: Yes
Location: Grenoble, France
Has thanked: 11 times
Been thanked: 34 times
Contact:

Re: Best way to denoise point cloud before mesh

Post by danielgm »

I gave it a try in CloudCompare, and man this is challenging ;)

1) Original cloud
noisy_cloud_original.jpg
2) Tools > Clean > Noise filter

The idea is to fit a plane locally (around each point) and remove the points that are too far from that plane. As the level of noise of this cloud is huge, I used a quite big radius (0.05) and a very low threshold distance (0.25 sigma). Warning, the bigger the radius is and the more it will 'eat' the corners.
noisy_cloud_step0.jpg
3) Tools > Clean > SOR filter

Just to remove the remaining bits of noise.
noisy_cloud_step1.jpg
4) Then you need to compute normals on this cloud (and that's quite hard as it's very sparse once denoised - once again I had to use a big radius around 0.1 and a big number of neighbors for the MST-based orientation - 24 if I remember well).

5) Evenutally I was able to use the Poisson Surface Reconstruction plugin:
noisy_cloud_step2.jpg
You do not have the required permissions to view the files attached to this post.
Daniel
CloudCompare admin
http://www.cloudcompare.org/
patrikc8
I have made 10-20 posts
I have made 10-20 posts
Posts: 10
Joined: Wed Jun 01, 2016 7:45 pm
7
Full Name: Patrick Combe
Company Details: Duke University
Company Position Title: Research Assistant and Student
Country: US
Linkedin Profile: No

Re: Best way to denoise point cloud before mesh

Post by patrikc8 »

danielgm wrote:I gave it a try in CloudCompare, and man this is challenging ;)

1) Original cloud
noisy_cloud_original.jpg
2) Tools > Clean > Noise filter

The idea is to fit a plane locally (around each point) and remove the points that are too far from that plane. As the level of noise of this cloud is huge, I used a quite big radius (0.05) and a very low threshold distance (0.25 sigma). Warning, the bigger the radius is and the more it will 'eat' the corners.
noisy_cloud_step0.jpg
3) Tools > Clean > SOR filter

Just to remove the remaining bits of noise.
noisy_cloud_step1.jpg
4) Then you need to compute normals on this cloud (and that's quite hard as it's very sparse once denoised - once again I had to use a big radius around 0.1 and a big number of neighbors for the MST-based orientation - 24 if I remember well).

5) Evenutally I was able to use the Poisson Surface Reconstruction plugin:
noisy_cloud_step2.jpg

Thank you! That looks very promising and I shall give it a go.
Post Reply

Return to “Meshing Software”