点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
曲面法线是几何表面的重要属性,并且在诸如计算机图形应用的许多领域中被大量使用,应用在矫正光源产生的阴影和其他的视觉效果。
给定几何表面,通常用垂直于曲面的向量来推断曲面上某一点法线的方向是很简单的。然而,由于我们获取的点云数据集代表真实表面上的一组点样本,因此有两种方法:
利用曲面网格划分技术,从获取的点云数据集中获取潜在面,然后从网格中计算曲面法线
使用近似法直接从点云数据集中推断曲面法线
本教程将针对后者,即给定点云数据集,直接计算点云中每个点的曲面法线
理论入门
尽管存在许多不同的常规估计方法,但我们将在本教程中重点介绍的方法是最简单的方法之一,其公式如下。确定曲面上某一点法线的问题近似于估计与曲面相切的平面法线的问题,进而成为一个最小二乘平面拟合估计问题。 因此,估计表面法线的解决方案被简化为对由查询点的最近邻创建的协方差矩阵的特征向量和特征值(或PCA主成分分析)进行分析。具体地说,对于每个点Pi,我们如下构成协方差矩阵:
其中k是点邻域点的数量,表示最近邻的三维质心,是协方差矩阵的第j个特征值,表示第j个特征向量。
使用PCL从一组点中估计协方差矩阵,代码示例:
通常,由于没有表示法向量符号的数学方式,因此通过主成分分析(PCA)计算出的法线方向是模糊的,并且在整个点云数据集上的方向并不一致。下图显示了在较大数据集厨房一部分环境中的两部分上的效果。图的右侧是扩展高斯图像(Extended Gaussian Image, EGI),又称法向球,用来描述点云法线方向的基准。由于数据集是2.5D的,而且是从单一的角度获取的,因此在EGI中法线只会在球体的一半上出现。然而,由于方向不一致,它们分布在整个球面上。
如果已知,那么可以很容易的解决这个问题。为了使所有法线始终朝向视点,它们需要满足这个等式
下图显示的结果是,来自上图的数据集中的所有法线都一致指向视点之后的结果。
适当比例的选择
如前所述,估计点处的表面法线需要周围点的信息 (也称为k邻域)。
最近邻问题的特性面临适当尺度因子的问题。对于给定的点云数据集,需要选择合适的最近的k个点数量(pcl::Feature::setKSearch),或者适当的邻域半径r(pcl::Feature::setRadiusSearch)。
如果用户没有确定相应阈值,在点特征表示的自动估计中会构成一个限制因素。为了更好地说明这个问题,下图展示了选择较小尺度(小r或k)与大尺度(大r或k)。图左半部分展示了一个合理的精心选择的比例因子,两个平面的估计表面法线近似垂直,整个图中小的边缘全部显示出。如果缩放系数太大(图右半部分),即从相邻范围覆盖更大的点集,估计特征点表达失真,得到两个平面边缘上的旋转曲面法线,和模糊的边缘与细节。
目前必须根据应用程序所需的详细程度来选择确定点邻域的范围。简单地说,如果杯子把手和圆柱形部分之间的边缘曲率很重要,那么比例因子需要足够小才能捕捉到这些细节,否则就需要足够大。
使用OpenMP加速法线估计
对于速度敏感的用户,PCL提供了一个额外的表面法线估计实现,它使用使用OpenMP的多核/多线程范例来加速计算。类名为:pcl::NormalEstimationOMP ,与pcl::NormalEstimation类完全兼容。在8内核的系统上,可以获得6-8倍的计算速度。
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
下载2
在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。
下载3
在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~