this shows the best side of the internet: vast possibilities to broaden one's horizon of knowledge through simply accessible means -- thank you for this uploading this comprehensive lecture!
During my PhD study, I wished to have such an easy and simple way of explaining point cloud alignment. Indeed, I know ICP since years, however, this is the easiest way to explain and comprehend ICP algorithm. I strongly recommend this video, which will save your time and boost your knowledge.
God! I was waiting for one lecture about point clouds. I feel so fortunate to have access to these lectures. Enlightening! Thanks to Prof. Cyrill for the lecture.
Thank you for making these videos available!!! I will, however, point out one small issue that I noticed - there's a bunch of static noise scattered throughout the video (around 27:34 mark, for example).
I have a doubt. Does anyone know how we get the correspondences C here. If I have two sets of data, how do I know which term in first corresponds to which term in second set. Thank you.
Do you have recommendations for further reading regarding the background of the Orthogonal Procrustes Problem? I was unable to find the Soderkvist source mentioned on the slide.
ICP might work perfectly with just translation since it uses closest point approach. What happens in case of complex translation involved. Closer point go further away and far away points come close by. Then the corresponding points will be totally opposite.
Hi Cyrill. I couldn't get the idea of subtracting center of mass. If we do so, the point cloud will be overlapping only when they are in same coordinate space, and as per my understanding, we use ICP to get R & t between two different coordinate spaces. Correct me if I'm wrong anywhere.
Not 100% sure if he means this, but imagine, you take a scan in the center of a circle. Then you moved north by a bit, you take another scan. Even though the translation is not known, from the two scan from the body frame, there will be center of mass difference of each frame at their respective body frame. By subtracting the com, you can estimate the translation between the two scan.
This is amazing. I do have some questions though. 1) In 15:39, would it matter if we did the full translation and then rotation? Also wouldn't this method of iteratively trying to align the points lead to error accumulation and in the end completely mess up the final result? Kindly let me know.
How to get the right center of mass, when you have noise? I would expect some error here. Just using the correspondent points sounds impossible at that step because if we know these we would alredy have our solution?
That is typically not the limiting factor. You are averaging over a larger set of points, so at least if you have no bias (zero mean noise), the effect should is minimal.
Thanks for your video, it explains great. But I have a problem while scanning data to enter the ICP algorithm, that is I read the frame data every 300ms (including depth data). Before the data is put in to merge into one, its capacity is full of RAM and leads to application stops. You or anyone who has a solution to this problem, please help me, please (the language I use C# and C++)