本文为博主原创文章,未经博主允许不得转载。
本文为专栏《python三维点云从基础到深度学习》系列文章,地址为“https://blog.csdn.net/suiyingy/article/details/124017716”。
点云最远点采样FPS(Farthest Point Sampling)方法的优势是可以尽可能多地覆盖到全部点云,但是需要多次计算全部距离,因而属于复杂度较高的、耗时较多的采样方法。
1 最远点采样(FPS)采样步骤
FPS采样步骤为:
(1)选择一个初始点:可以随机选择,也可以按照一定的规则来选取。如果随机选取那么每次得到的结果都是不一样的,反之每次得到的结果就是一致的。
(2)计算所有点与(1)中点的距离,选择距离最大的值作为新的初始点。
(3)重复前两步过程,知道选择的点数量满足要求。
由于(2)中每次选择的距离都是最大的,所以迭代的过程距离最大值会逐渐减少。这也就是下面代码中mask选取的依据。如果把加这一个限制,那么点会被来回重复选到。
2 距离最远点采样(D-FPS)
上述最远点采样通过计算点与点的之间距离来进行取样。距离最远点采样是指计算点与点之间的坐标距离,通常取xyz三个坐标。
# -*- coding: utf-8 -*-
"""
乐乐感知学堂公众号
@author: https://blog.csdn.net/suiyingy
参考:https://g