计算机视觉中的ICP算法

icp(iterative closest point迭代最近点)算法是一种基于轮廓特征或点集对点集的点配准方法如下图
这里有两个点集,红色部分和蓝色部分。
icp算法就是计算怎么把pb平移旋转,使pb和pr尽量重叠, 并建立模型。icp是改进自对应点集配准算法的一种优化算法。
对应点集配准算法是假设一个理想状况,将一个模型点云数据x(如蓝色点集)利用四元数旋转,并平移得到点云p(如红色点集)。而对应点集配准算法主要就是怎么计算出qr和qt的,知道这两个就可以匹配点云了。但是对应点集配准算法的前提条件是计算中的两个点云数据的元素一一对应,这个条件在现实里因误差等问题,不太可能实线,所以就有了icp算法。
icp算法是先计算出从源点云上的(蓝色部分)每个点到目标点云(红色部分)的每个点的距离,使每个点和目标云的最近点匹配,(记得这种映射方式叫满射吧)。
这样满足了对应点集配准算法的前提条件、每个点都有了对应的映射点,则可以按照对应点集配准算法计算,但因为这个是假设,所以需要重复迭代运行上述过程,直到均方差误差小于某个阀值。
也就是说每次迭代,整个模型是靠近一点,每次都重新找最近点,然后再根据对应点集批准算法算一次,比较均方差误差,如果不满足就继续迭代。
这个算法的主要思想如下所示:
基准点在ct图像坐标系及世界坐标系下的坐标点集p = {pi, i = 0,1, 2,…,k}及u = {ui,i=0,1,2,…,n}。其中,u与p元素间不必存在一一对应关系,元素数目亦不必相同,设k ≥ n。配准过程就是求取 2 个坐标系间的旋转和平移变换矩阵,使得来自u与p的同源点间距离最小。其过程如下:
(1)计算最近点,即对于集合u中的每一个点,在集合p中都找出距该点最近的对应点,设集合p中由这些对应点组成的新点集为q = {qi,i = 0,1,2,…,n}。
(2)计算两个点集q和u的重心位置坐标,并进行点集中心化生成新的点集; 由新的点集计算正定矩阵n,并计算n的最大特征值及其最大特征向量;
(3)由于最大特征向量等价于残差平方和最小时的旋转四元数,将四元数转换为旋转矩阵r;在旋转矩阵r被确定后,由平移向量t仅仅是两个点集的重心差异,可以通过两个坐标系中的重心点和旋转矩阵确定;其中r是 3×3 的旋转矩阵,t 是 3×1 的平移矩阵。
(3)计算坐标变换,即对于集合u,用配准变换矩阵r,t进行坐标变换,得到新的点集u1,即u1 = ru + t
(4)计算u1与q之间的均方根误差,如小于预设的极限值ε,则结束,否则,以点集u1替换u,重复上述步骤。

深度测评AMG GLE63运动SUV
长电滁州公司投产十周年 激扬十年 芯向未来
中国第一条FinFET生产线开始批量生产14 nm FinFET芯片
工业互联网驱动数字化转型之路
宜科最新推出以TOF算法为基本原理的激光传感器
计算机视觉中的ICP算法
区块链技术对于社会运行有什么影响
京东金融回应App侵犯隐私:系错误开发,未收集一张用户截图
编程要注意不允许有匹配 [xX][mM][lL] 的处理指令目标
钟玉伟:唱衰内燃机是短期政策导向和资本引导造成的假象
PWM调制器在小信号环路中,究竟是何等效模型?
消费级无人机市场突破的三个关键词
房地产经纪人在大数据世界中的新角色
利用吉时利万用表进行功耗测试
思科:从开放到封闭的变迁
DCEP与比特币支付宝和微信有什么不同
中兴总裁谈华为事件影响:做好自己的事情
婴配乳粉追溯”抖音小程序上线扫码可查奶粉真伪
一文详解Modbus通讯协议
锤子老总罗永浩有史以来最短发布会 坚果3是个失败?