1. ICP算法的一些网络资源
2. 经典ICP算法的步骤
3. fast ICP算法
ICP(Iterative closest points)算法是点集配准的经典算法,算法基本原理是在A method for registration of 3-D shapes文章中提出。后人也在此基础上不断和补充ICP算法。
1. 下面是介绍ICP算法的一些网络资源:
ICP算法基本介绍:
http://en.wikipedia.org/wiki/Iterative_closest_point
http://plum.eecs.jacobs-university.de/download/3dim2007/node2.html
http://baike.baidu.com/view/1954001.htm
经典ICP算法论文:
http://eecs.vanderbilt.edu/courses/cs359/other_links/papers/1992_besl_mckay_ICP.pdf
Fast ICP论文地址:
http://docs.happycoders.org/orgadoc/graphics/imaging/fasticp_paper.pdf
fast icp source code C++源码:
http://gfx.cs.princeton.edu/proj/trimesh2/, 大家不容易找到,是因为工程的名字不叫fasticp,而是trimesh2
算法的一些实现总结:
http://www.mrpt.org/Iterative_Closest_Point_(ICP)_and_other_matching_algorithms
2. 经典ICP算法介绍。
ICP算法有较多的数学公式和概念,数学公式总归看起来费劲,这里只简要的理解下其算法步骤:
两个点集P1,P2,每一步迭代,都朝着距离最小的目标进行。
a. 筛选点对:由P1中的点,在P2中搜索出其最近的点,组成一个点对;找出两个点集中所有的点对。点对集合相当于进行有效计算的两个新点集。
b. 根据点集对,即两个新点集,计算两个重心。
c. 由新点集,计算出下一步计算的旋转矩阵R