点云的极点
使用点云库自动提取杆类物体
目前,由于噪声、杂波、遮挡和点密度变化等因素的影响,从城市站点的点云中提取物体通常是人工完成的。作者开发了一种基于开源点云库的自动检测路标、灯柱、电线杆、交通灯等杆状物体的软件工具。结果似乎令人鼓舞。
作者:Federico Tombari、Tommaso Cavallari和Luigi Di Stefano,意大利博洛尼亚大学
杆状结构的3D信息用于检测设施损坏,道路维护和其他应用。遮挡-物体被其他物体遮挡,使它们在点云中只有部分可见-挑战点云中极状物体的自动检测。但是,即使一根杆子是由从上到下的点表示的,点的数量可能太少了,杆子与树干或其他薄而高的垂直物体之间的区分可能会很困难。然而,已经开发并实现了一种基于两阶段分类的方法——首先是局部分类,然后是全局分类(图1)。
数据简化
如果点云已被激光扫描,扫描部分重叠。结果是,点云的某些部分包含的点是其他部分的两倍,即点密度变化。在这种方法中,为了获得均匀的点密度,通过允许每个预先指定大小的体素(体积元素:像素的3D对应物)只存在一个点来进行点缩减。当设置体素的大小为1cm时3.时,约化点云中两个点之间的距离为1cm或以上。在处理大数据集时,也会出现许多空体素,这是低效的,因为存储需求与体素的数量成正比,无论是填充还是空。八叉树数据结构避免了需要存储容量的空体素。这是使用开源的点云库(PCL)创建的。
去除飞机
为了减少模糊的数量并加快进一步的处理,需要从点云中检测并去除道路、建筑立面和其他平面结构。这是使用一种新的定制的RANSAC(随机样本一致)算法完成的,该算法通过稳健的点迭代拟合预先指定的模型,即使存在许多离群值。模型的规范使用了点的位置和它们的法向量,即垂直于由点本身和它最近的相邻点张成的平面的向量。邻接数越高,估计越平滑,尽管通常5到10之间的数字就足够了。当相邻点的法向量位于同一方向时,这些点最有可能张成一个平面。这些点将被删除,以获得在接下来的步骤中使用的简化点云。使用PCL来确定法向量,并使用PCL的基类功能编写了一个自定义平面检测算法。
当地的分类
在点云中,极点表示为一簇指向垂直方向的点。首先,从单个点开始探测初始簇,这些初始簇可能构成代表极点的较大簇的一部分,并在附近寻找点。搜索半径取决于极点的直径,可以设置在0.2厘米到1.5厘米之间。在这种方法中,焦点是由向上的方向和连接每个相邻点的线形成的角度;这个想法是,这样的角度分布在一个极点是高度不同的,周围的结构,非极点形状。在极点的情况下,大多数相邻的点要么在上面,要么在下面,这在两个角中反映出来。对于每个簇,角度被聚合成一个直方图。尽管这种局部特征提取方法不是PCL的一部分,但它的feature Class被用于编写代码,依赖于PCL的输入/输出工具和它在KdTree上的半径搜索。后续步骤也使用PCL的功能。基于直方图值,使用支持向量机(SVM)将每个点划分为极点或非极点,支持向量机是一种监督分类算法,可以从训练样本中学习,将预定义的类分配到结构中。 The LIBSVM library is used as apparatus to carry out the classification. Training is done through providing labelled histograms of both poles and non-poles. Figure 3 shows examples of 4 pole and 4 non-pole histograms computed on real data, clearly showing the differences. Next, the histograms are put into SVM, which returns the likelihood that the point belongs to a pole. The high-probability point groups, which lie close to each other and together form a vertical structure, are clustered and the resulting larger clusters form the input for the global classification step.
全球分类
群集可能被归类为属于一个极点,即使它们不是——这些是误报。为了去除这样的星团,计算星团的质心,通过质心绕星团的主方向旋转一个平面。平面的大小设置为质心和聚类点之间的最大距离。当这个旋转平面累积集群的相交点的坐标时,第二个旋转平面(大小相同)将累积云的所有点的坐标(即使那些不属于集群的点)。后一个平面带来的附加信息提供了上下文信息,以便从类似的形状(如树干)中区分真实的极点。然后再用SVM重新分类,结果是集群代表一个实际的极状结构的概率。
PCL
该方法是在c++中使用点云库(Point Cloud Library, PCL)工具实现的,PCL是一个大型的,开放源代码的2D/3D图像和点云处理项目。它包括滤波、特征估计、识别、配准、模型拟合和分割等模块。PCL起源于Willow Garage发起的机器人操作系统(ROS)项目,现在由Open Perception基金会管理,该基金会是Willow Garage的一个非营利性分支机构,得到了世界各地许多研究机构和公司的支持。188asia备用网址
结果
2012年,在意大利维罗纳市区,使用Topcon IP-S2 Compact +移动地图系统(MMS)获取了11亿个点,并对其进行了地理参考点云测试。由于数据集的大小,该数据集被自动划分为1294个块,每个块代表一个15m的轨迹。然后将每个块次采样为1cm的体素3.平均每块86万分。一半的数据用于训练SVM分类器和算法参数的交叉验证,而其余的数据用于评估算法的性能,使用手动标记地面真相作为参考。总的来说,75%的极点被正确识别,而误报不到20%。图4显示了正确检测到多个极点的区域。平均整体处理时间是3.2秒每块。局部分类的处理时间与点的个数线性相关,全局分类的处理时间与点的个数呈二次关系。因此,细分为块有助于减少处理时间。
结束语
该方法有潜力适用于提取各种杆状结构,并可扩展为其他对象的自动检测,如建筑部件、车辆和植被。
致谢
感谢Samuele Salti和Alioscia Petrelli,以及QONSULT SpA对研究的资助和3D数据的使用。
进一步的阅读
- Tombari, N. Fioraio, T. Cavallari, S. Salti, A. Petrelli, L. Di Stefano(2014)三维城市环境中杆状结构的自动检测,智能机器人与系统国际会议。
- 基于局部分类和马尔可夫随机场的三维数据分割,三维成像,建模,处理,可视化和传输国际会议(3dimmpvt 2011)
- 点云图书馆(PCL)网址为www.pointclouds.org
本文原稿发表在GIM International 2014年10月号上。188金宝搏特邀