Hello
First of all, as it is my first message on this forum, thank you very much for this excellent open source project.
I'm currently struggling with an alignment problem : I've got a few point clouds (under 10) of a linear structure (a road, acquired with a static TLS). Unfortunately I haven't got enough defined target to be able to align the clouds by targets, and the combination of a rough alignment followed by an ICP doesn't get me anywhere (I think the geometry of the project is too redundant). But I can find 1 tie point precisely defined in each consecutive pair of clouds, so, considering that the Z axis is correct, I thought that it may be possible to align the clouds by fixing that point and rotating the cloud to be aligned around the Z axis (using several points to define the best angle). The problem is I can't find a way to define the rotating center of the align command. Is there any way to do this?
Many thanks in advance for your answer
Cloud registration : Align with a specific rotating center
Cloud registration : Align with a specific rotating center
- Attachments
-
- RoadScan.gif (245.46 KiB) Viewed 1864 times
Re: Cloud registration : Align with a specific rotating center
Well, it's clearly not meant to be used like this, but you could try the following:
- bring the two tie points at the same position (you can for instance pick them - with SHIFT + click or the point picking tool - then manually compute the corresponding translation, and eventually use this translation in the 'Edit > Apply Transformation' tool with the right cloud selected)
- start the Fine Registration (ICP) tool
- go to the 'Research' tab
- deselect all the 'Translation' checkboxes
This way CC shouldn't allow the clouds to translate. However all the ICP magic will seriously be compromised, therefore I don't guarantee any success ;). And it would be safer if both clouds were already roughly registered of course.
- bring the two tie points at the same position (you can for instance pick them - with SHIFT + click or the point picking tool - then manually compute the corresponding translation, and eventually use this translation in the 'Edit > Apply Transformation' tool with the right cloud selected)
- start the Fine Registration (ICP) tool
- go to the 'Research' tab
- deselect all the 'Translation' checkboxes
This way CC shouldn't allow the clouds to translate. However all the ICP magic will seriously be compromised, therefore I don't guarantee any success ;). And it would be safer if both clouds were already roughly registered of course.
Daniel, CloudCompare admin
Re: Cloud registration : Align with a specific rotating center
Hello,
thanks for your prompt answer.
I'm quite aware that my solution is more of a backup one, but unfortunately I had to deal with the data I was given.
Your idea is quite good, I used some handmade technique in order to fix the rotation center. It's a bit of a "bricolage", but it's quite effective. I frst create a solid square box bigger than 1.5 times the point cloud. I resample it and extract the points at the 8 corners, and then create a new "BoxCloud". Then I translate the center of my boxcloud at the center of the invariant point of the pointcloud to be registered, and I merge them. This way, the center of the point cloud, and thus its rotating center, is exactly (10^-6) the point chosen to be invariant.
I can thereafter use the ICP deselecting the translation checkboxes...
It's clearly an alternative solution for a fine registration, but the use of a unique tie point as a rotation center in order to make the rough alignment is actually quite interesting, particularly when dealing with point clouds where you can consider that the Zaxis is originally correctly oriented.
Thanks again for your time
thanks for your prompt answer.
I'm quite aware that my solution is more of a backup one, but unfortunately I had to deal with the data I was given.
Your idea is quite good, I used some handmade technique in order to fix the rotation center. It's a bit of a "bricolage", but it's quite effective. I frst create a solid square box bigger than 1.5 times the point cloud. I resample it and extract the points at the 8 corners, and then create a new "BoxCloud". Then I translate the center of my boxcloud at the center of the invariant point of the pointcloud to be registered, and I merge them. This way, the center of the point cloud, and thus its rotating center, is exactly (10^-6) the point chosen to be invariant.
I can thereafter use the ICP deselecting the translation checkboxes...
It's clearly an alternative solution for a fine registration, but the use of a unique tie point as a rotation center in order to make the rough alignment is actually quite interesting, particularly when dealing with point clouds where you can consider that the Zaxis is originally correctly oriented.
Thanks again for your time