ICP Registration returns ridiculous T matrix value

Feel free to ask any question here
Post Reply
lunwei
Posts: 2
Joined: Tue Nov 07, 2017 3:39 am

ICP Registration returns ridiculous T matrix value

Post by lunwei »

Hi all,

I got a ridiculous T matrix when using ICP, could you please help me figuring out what happened?

(1) This is two sets of cloud points, actually, they are quite close. (scale bar below is 1.5 meters)
Image

(2) ICP is used to see the difference
Image

(3) BUT, the results are quite strange. Translation is too large to believe!
Image

Question:
(A) Is the unit "meter" ?
(B) If yes, why this problem occurred? How to solve it?
Thanks a lot!
daniel
Site Admin
Posts: 7332
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: ICP Registration returns ridiculous T matrix value

Post by daniel »

I can't see the images. Can you at least post the matrix itself?

Meanwhile, pay attention to the following things:
  • the units are those of the cloud coordinates as they are read from the file (CloudCompare doesn't handle units, as this information is not stored in most point cloud files). Just look at the scale in the bottom-right corner and you should be able to guess what they are.
  • the clouds can be very close, but if they have big coordinates, the matrix translation might be big as well (as with a 4x4 transform matrix, the rotation is implicitly applied about the origin).
  • if the coordinates are indeed big... then it means you have kept the global coordinates and not applied the Global Shift as suggested by CloudCompare? This may not be a good idea regarding numerical precision. It would be better to apply the Global Shift at loading time, and store the corresponding translation separately if you need to apply it elsewhere. This way you'll preserve the numerical precision, AND you won't have a huge translation in your matrix as this will virtually make the local origin closer to the clouds.
Daniel, CloudCompare admin
lunwei
Posts: 2
Joined: Tue Nov 07, 2017 3:39 am

Re: ICP Registration returns ridiculous T matrix value

Post by lunwei »

Dear Daniel,

Thank you for your quick reply.
The images are as followed:
(1) This is two sets of cloud points, actually, they are quite close. (scale bar below is 1.5 meters)
Image

(2) ICP is used to see the difference
Image

(3) BUT, the results are quite strange. Translation is too large to believe!
Image

I do kept the global coordinates because I thought that would be better for ICP process, but indeed, you are correct!
After I apply global shift, the translation turns to make sense.
Thank you for your kind help!
Post Reply