前言:
本文介绍了点云中不可忽视的一项重要属性——几何语义,并尝试根据自己的理解和实践经验对其进行一些归纳总结,可能有些地方有理解有误,请大家抱着批判的态度学习。
正文:
关于点云的悠久历史本文不过多描述,我们先简单谈谈为什么点云的几何语义对点云来说十分重要(无论传统方法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视觉学习社区
本文仅做学术分享,如有侵权,请联系删文。
下载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视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~