【最远采样点 FPS】原理介绍

最远采样点(farthest point sampling,FPS)是常用的采样算法,PointNet++中使用的采样点算法就是这个,下面结合别人的介绍加上自己的理解讲解一下FPS的算法原理
1、设P={P0,P1,…,Pn}为输入的点云集合。以第一个点云P0作为起始查询点,得到采样点集合S = {P0}
2、构建N维数组L,其中L表示所有点到P0的距离(L={d(P0,P0),d(P1,P0),…,d(Pn,P0)}),并选取L中的最大值P1作为新的查询点,此时更新采样点集合S={P0,P1}。由于取出的点的个数大于1,因此,再选取采样点时需要考虑已经选出来的点集中的每个点。具体思路如下: (1)计算所有点与P1的距离(d(P0,P1),d(P1,P1),…,d(Pm,P1)),如果d(Pi,P1)小于L[i],则更新L[i] = d(Pi,P1) (自己到自己的距离为0,通过这一步可以将之前距离最大的点的值替换掉),因此数组L中存储的一直是每个点到采样点集合距离最短的点
(2)选取L中的最大值P2作为新的采样点
(3)更新采样点集合S = {P0,P1,P2}
3、重复步骤2,直到选取的采样点数量达到M为止。

参考文章

猜你喜欢

转载自blog.csdn.net/weixin_43262335/article/details/127403696
FPS
今日推荐