浅谈三维点云中的几何语义
前言:
本文介绍了点云中不可忽视的一项重要属性——几何语义,并尝试根据自己的理解和实践经验对其进行一些归纳总结,可能有些地方有理解有误,请大家抱着批判的态度学习。
注1:文末附【三维点云】交流群
注2:整理不易,请点赞支持!
作者:PCB_segmen | 来源:3D视觉工坊微信公众号
正文:
关于点云的悠久历史本文不过多描述,我们先简单谈谈为什么点云的几何语义对点云来说十分重要(无论传统方法or基于学习的方法)。早期受硬件设备和技术的限制,学者们对点云问题的处理方法有一种思路是将点云转为多张二维图像,然后采用更为可靠的数字图像处理方法,其本质上其实是一种降维处理方式。然而,与2D图像相比,大多数点云是无组织的,在这种无组织的点云中,不存在相邻点之间的空间关系,并且无法通过行列索引数据。因此,在很多情况下,对点云的处理实际上是指利用3D坐标来处理无组织、无颜色的3D点云的方法。而几何语义恰恰与空间坐标有着千丝万缕的关系,这是点云本身固有的属性。
点云处理的核心问题实际上从3D离散点和无序点中推断几何信息。点云的基本几何单位是点,点聚类为簇构成几何语义。几何语义分大致可以为两类:形状集和结构集。如图1所示。
图1 几何语义分类
在图1中,形状集包括像2D线(例如,2D轮廓、直线和曲线),物体表面(例如,平面,曲面)、三维体(例如,立方体和圆柱体等)和3D边界等元素。结构集包括像法线、曲率、超体素、凹凸性和骨架等元素。结构集中的元素看似跟几何没关系却可以归类为几何语义,是因为这些属性可以看做是一种高级语义(即建立在低级语义之上,PS:所以基础真的很重要),这些结构集也可以看作是从形状集派生出来的高级语义。
在形状集中的元素,尽管基本上都属于古董级别的语义,但千万不要小瞧这些语义,它们是小身板大用途。例如,在一些检测任务中,如LiDAR点云中的电线杆就可以利用线语义检测,如图2所示,像这类的文章还是很多的,处理一些简单分类问题还是可以的。同样是检测任务,在自动驾驶领域中的道路线检测同样离不开这些简单的几何语义(PS:注意我说的是基础,如果想发paper,肯定要添砖加瓦,这不是本文的重点,但基于几何的核心不会变)。
图2 利用线语义检测灯柱[1]
说完线,自然会联想到更高维度的面、体,其应用场景也更广,例如除了在检测任务中的用途,这些高维度的几何语义还可以用在三维重建中。关于目标体(PS:包括场景和单个具体目标)的重建当下也是很热门的一个话题,处理的数据类型分为合成数据和真实数据,真实数据由于包含很多不确定的因素,其重建难度也更大(PS:这里其实可以与后面的法线估计联系,以后慢慢聊)。之所以可以利用几何语义来完成一些重建任务,是因为几何基元本身就是一种很好的可以将离散点云的模型抽象出来的方式,可以说在一定程度上简化了任务。关于形状集,暂且先谈到这,以后针对具体的元素再仔细说道。图3是一张以前做过的东西,其部分环节利用到了几何语义(PS:现在看起来挺low的)。
图3 部分工程实例展示
形状语义尽管在工程中应用中的效果不错,但有时也是力不从心(PS:发发中文还行,SCI用这些东西确实得费些功夫)。于是有学者基于这些基础语义延伸出了更高级的几何语义,例如,用平面来估计法线,法线+图论又可以引出超体素,这类的例子还有很多。曲率作为元老级的元素,我现在看到的很少,可能偶尔作为某一环节简单用一下。
点云的法线是点云重要的几何属性之一,点云法线估计在曲面重建、点云渲染、点云各向异性光滑、点云特征提取上有着重要的应用。例如,在计算机图形学领域里,法向量决定着曲面与光源的强弱处理的准确度,对于曲面上每个点的光源位置,其亮度取决于该点法向量的方向,在进行光照渲染时必须依赖于可靠的法线估计才能产生符合人眼习惯的效果;三维扫描仪获取的点云中不可避免的含有噪声,如果在点云曲面重建时有着可靠的法线信息,那么曲面重建也就更加真实和精确,对噪声也就更鲁棒。最近也有学者提出了一些基于深度学习的方法,总之,法线对三维世界的真实化表达确实很重要,不正确的法线估计会给后续处理带来很多问题,同时,法线还可以在分割和可视化上应用,我之前接触的大多是法线的重定向任务,具体后面再说。
超体素作为2D超像素的延伸,该方法相关理论多与图论的知识有关,根据自己的实践经验,超体素确实对分割任务的速度有着巨大提升效果,作为该方法的提出的动机之一,预分割的想法对提升算法运算速度和保持点云面片的自然属性十分有效,关于这方面的知识多用在分割任务上,但也有人在点云配准问题上使用,医学领域的文章也不少(PS:3D医学图像)。
凹凸性自己使用不多,之前使用时只作为一种判断工具,处理像局部体素面片的关系之类的东西,该方法跟超体素一样都需要一些图论的知识。
骨架作为三维模型概括表示的一种抽象化手段,既能直观的反应原始模型的拓扑连接性,又能很好的表示出物体的几何特征信息,并且将骨架作为点云模型的拓扑结构在计算机上进行存储时节省了大量空间,同时减少了模型的冗余信息。除此之外,在一些动画制作和人体姿态的捕捉上也有应用。图4是点云模型骨架化的动态变化过程。
图4 骨架估计动态示例
总结:
本文只涉及了部分浅显易懂的几何语义,论文中还提出了一些其他新的想法,感兴趣的同学可以去找一找。事实上,很多点云问题的处理如果在几何语义提取阶段做的足够好,是可以明显提高最终的处理结果的。
未完待续……
PS:纯属个人理解,难免有错误,请抱着批判的态度阅读学习。
1.H. Zheng, R. Wang and S. Xu, 'Recognizing Street Lighting Poles From Mobile LiDAR Data,' in IEEE Transactions on Geoscience and Remote Sensing, vol. 55, no. 1, pp. 407-420, Jan. 2017, doi: 10.1109/TGRS.2016.2607521.
备注:作者也是我们「3D视觉从入门到精通」知识星球特邀嘉宾:
本文仅做学术分享,如有侵权,请联系删文。
3D视觉工坊-三维点云交流群
已建立3D视觉工坊-三维点云微信交流群!想要进三维点云学习交流群的同学,可以直接加微信号:CV_LAB。加的时候备注一下:三维重建+学校+昵称,即可。然后就可以拉你进群了。