Hi Daniel (or anyone else reading this post),
I'm new to CloudCompare and I'm having a couple of registration issues... I think. I'm trying to measure the deflections on a small highway bridge using point clouds in CloudCompare - one point cloud where the bridge is not carrying a load, and another point cloud where the bridge is carrying a load (which is static for this test). The general idea is to register the two bridges together and do a Cloud to Cloud Distance comparison. We have sensor data that gives us the exact measurement of the deflection at various points along the bridge, and I'm trying to compare my results to this "correct answer" from the sensor data.
Where I’m having trouble is that I need to register the two point clouds only at the ends (supports) of the bridge – I think.
The first iteration of the C2C calculation, I aligned the entire point clouds, but the results from the C2C distance calculation were all over the place. I think that the ICP algorithm aligned the two point clouds to minimize the distances between points (which is actually not what I want - I want to preserve the distances, which are highest at midspan, due to the deflections on the loaded bridge).
For the second iteration, I segmented out everything except for the supports (at the end of the bridge) for each point cloud, and I did the alignment based off of only the supports. Then, for the point cloud of the unloaded bridge (which was my reference cloud), I merged the “segmented-out” portion of the point cloud back to the supports. I made no translation/rotation adjustments to this “segmented-out” portion of the cloud because I assumed that having its supports as the “reference” did not move any of those points during the registration, and I also assumed that the “segmented-out” portion of the point cloud did not move during the segmentation process or during the registration of the supports.
For the point cloud of the loaded/deflected bridge, I used the transformation matrix information to put the “segmented-out” portion of the deflected bridge back to its supports, and merged these “deflected” point clouds back together. I then proceeded with the C2C distance comparison. Although the results were significantly better, they were still off by an order of magnitude (which is actually less than it sounds based on the scale that we’re working with), and it seemed as though the registration was off on its rotation (which is a qualitative assessment from looking at the scalar fields).
Of note, I did this process for the rough registration/alignment (where you pick 4 point pairs) AND the fine registration. Also, I left the default values for the error tolerance on the registration.
Based on your knowledge of CloudCompare, do you have any suggestions for ways to improve the registration, or any suggestions for changes to my process?
Thanks, and I apologize for the long post.
Alignment of Highway Bridge By its Supports
-
- Posts: 10
- Joined: Wed Mar 04, 2020 2:59 pm
Re: Alignment of Highway Bridge By its Supports
Well, for an accurate answer, I would need to see the clouds (at least with a snapshot, but you can also send me the clouds: admin [at] cloudcompare.org).
If you want to use ICP, then you should definitely indeed crop the parts that are assumed to be stable, use them for registration, then use the transformation matrix on the original cloud (it's easier than merging back everything).
To get a more robust result, you can also pre-register the two (complete) clouds with the 'Align' (point pairs based) tool. You can use much more than 4 pairs in order to improve the registration. It can even be more reliable than ICP in such a case (and you don't need to crop). But if you want to try to improve the result with ICP, then you should also reduce the 'overlap' parameter, to only take into account the closest points.
Last idea: have you used the M3C2 plugin to compute the distances? It's much more robust to noise, etc.
If you want to use ICP, then you should definitely indeed crop the parts that are assumed to be stable, use them for registration, then use the transformation matrix on the original cloud (it's easier than merging back everything).
To get a more robust result, you can also pre-register the two (complete) clouds with the 'Align' (point pairs based) tool. You can use much more than 4 pairs in order to improve the registration. It can even be more reliable than ICP in such a case (and you don't need to crop). But if you want to try to improve the result with ICP, then you should also reduce the 'overlap' parameter, to only take into account the closest points.
Last idea: have you used the M3C2 plugin to compute the distances? It's much more robust to noise, etc.
Daniel, CloudCompare admin
-
- Posts: 10
- Joined: Wed Mar 04, 2020 2:59 pm
Re: Alignment of Highway Bridge By its Supports
Thanks Daniel,
I have not tried the M3C2 plugin but will give that a shot this week or next and let you know how it turns out. Also, I never considered using more than 4 point pairs for the alignment tool... So, I'll try these steps and see how it goes from there
I have not tried the M3C2 plugin but will give that a shot this week or next and let you know how it turns out. Also, I never considered using more than 4 point pairs for the alignment tool... So, I'll try these steps and see how it goes from there