双边滤波原文“The Bilateral Filter for Point Clouds",作者为 Julie Digne、 Carlo Franchis。由于双边滤波原理简单,其实现过程并不复杂,因此本文不对其原理进行详细说明和解释,有兴趣的小伙伴可以直接下载论文进行详细阅读。本文旨在分析双边滤波的适应范围及其不足之处。
下面直接给出论文中单点更新的方法:
通过单点更新公式可知,更新点为原始点在法线方向上的移动。作者在此处进行了说明,通过半径搜索得到的邻域点集进行法线估计,法线无需进行定向,其原因在于邻域点与原始点构成的向量,在与法线进行点乘时已经包含了原始点需要移动的正确方向(感兴趣的同学,可以在纸上简单的画一下,就会明白)。
现在考虑两个权重项,距离权重、法线方向投影模长权重,在整个算法的伪代码中作者给出了权重的计算方法:
通过公式可知,作者使用两个高斯分布,其中距离越近权重越大,反之,距离越远权重越小。关于法线方向投影模长权重亦是如此。权重的作用在于用来保证局部点云即能平滑又不失其特征,故而使距离远,法线方向上投影模长大的点权重变小。
在本人“点云法线计算”一文中对法线的计算进行了说明,由该文可知,法线的估算采用的是平面方程。故而对双边滤波而言其平滑模型为平面模型,因此使用该方法进行平滑时,无论怎么调节参数其本质都不会改变。因此在使用该方法进行平滑时,对于边、角、特征锐利之处都会被袜平,对于要求平滑前后变化较小且特征保持良好的需求而言,双边滤波因此失去了适用性。其实对于局部点云为非平面,采用平面估计法线已经失去了局部的特征。
为此有学者采用距离权重的方式修改点云法线计算过程中的协方差,来提高法线估计的准确性。当然采用该方法会有一些改进,但是仍旧改变不了其本质因此上述现象仍旧会存在。采用加权协方差计算出的整体模型法线过渡不均匀,会使整体模型平滑效果变差。
在本人实践经验中,目前只有国外的GeoMagic的平滑效果最佳、细节保持最好。有兴趣的小伙伴可以查看其专利,专利中给出了其平滑的策略和方法,采用法线协方差分解后特征值度量的分类方法进行平滑,其中采用平面方程,二次曲面方程,圆锥曲线方程进行拟合。这里需要指出的是,分类后类与类的接缝处会出现台阶,如何对其进行处理是一个相当棘手的问题,显然GeoMagic的处理方法很到位。同样需要说明的是本人按二次曲面拟合方法进行了局部区域点云平滑实验,不管是计算速度上还是效果上都不如GeoMagic,当然比双边滤波要好很多,所以猜测专利给出的是一种方法其实际使用方法并不是专利中的,又或只是部分,也有可能是本人实现错误。
后续将会介绍其它点云平滑的方法。
如果有不正确的地方,欢迎大家斧正。期待大家留言交流,共同进步!