Any tips for fine registration ICP problem
Posted: Mon Oct 12, 2015 3:45 am
Hi -
I have a point cloud built in Agisoft that I'm attempting to align with a portion of an airborne lidar point cloud. The procedure I'm trying to follow is:
1) clip out a swath of the agisoft point cloud for the area that I specifically wish to register to the lidar
2) run fine registration ICP with the agisoft swath as the data and the lidar as the model/reference (this has aligned very well in test runs)
3) run fine registration ICP of the full agisoft point cloud (data) to the swath extracted from the same point cloud (model/reference).
Unfortunately, the output from my step 3 typically results in a substantial rotation and reduction in scale for the full cloud. I've tinkered with some of the parameters, decreasing the overlap to 3% or 5%, allowing it to adjust scale or not, ignoring points far away, etc., but nothing has provided a similar small shift/correction as step 2 did for the swath point cloud. I even tried to trick it into not rotating by constraining the rotation to the y axis, but the output matrix for those tests were just the identity matrix.
I've even run the cloud-cloud distance for the full point cloud to the swath, and it shows very small displacements between the two clouds.
One possible problem I can think of is that I'm running this on unclassified - so considering that agisoft is more than likely treating trees different than lidar, so perhaps the scattered trees are creating problems - but then again, I'm trying to match a point cloud to a swath of the exact same point cloud!
I'd post an image but CloudCompare is cranking away on a process and it's time for me to hit the sack. I can provide more details if that would be helpful - but basically if there's any ideas how to help force the cloud to register to a swath of itself accurately, I'd love to hear it.
Thanks,
Sean
I have a point cloud built in Agisoft that I'm attempting to align with a portion of an airborne lidar point cloud. The procedure I'm trying to follow is:
1) clip out a swath of the agisoft point cloud for the area that I specifically wish to register to the lidar
2) run fine registration ICP with the agisoft swath as the data and the lidar as the model/reference (this has aligned very well in test runs)
3) run fine registration ICP of the full agisoft point cloud (data) to the swath extracted from the same point cloud (model/reference).
Unfortunately, the output from my step 3 typically results in a substantial rotation and reduction in scale for the full cloud. I've tinkered with some of the parameters, decreasing the overlap to 3% or 5%, allowing it to adjust scale or not, ignoring points far away, etc., but nothing has provided a similar small shift/correction as step 2 did for the swath point cloud. I even tried to trick it into not rotating by constraining the rotation to the y axis, but the output matrix for those tests were just the identity matrix.
I've even run the cloud-cloud distance for the full point cloud to the swath, and it shows very small displacements between the two clouds.
One possible problem I can think of is that I'm running this on unclassified - so considering that agisoft is more than likely treating trees different than lidar, so perhaps the scattered trees are creating problems - but then again, I'm trying to match a point cloud to a swath of the exact same point cloud!
I'd post an image but CloudCompare is cranking away on a process and it's time for me to hit the sack. I can provide more details if that would be helpful - but basically if there's any ideas how to help force the cloud to register to a swath of itself accurately, I'd love to hear it.
Thanks,
Sean