Shape-based Recognition of 3D Point Clouds in Urban Environment

总述

  本论文设计一个系统,识别城市道路环境下采集的3D点云中的物体。系统一共分为4个部分,分别为定位、分割、特征提取、分类,通过这个系统检测城市环境的小物体。

动机

  目前的物体识别算法没有足够的鲁棒性在凌乱的城市环境中自动提取出小物体,而人工打标签方法需要大量的人力。所以,本论文设计一个系统给城市环境中的小物体打标签的系统。

贡献

  1. 通过定位、分段、描述、分类能分辨出65%的小物体。

  2. 对于系统的每一个部分都提出了若干个可能的解决办法,并评估了他们的性能。

方法

定位

  定位要做的是在3D点云中找到各个物体的位置,并且这个位置最好可以靠近物体的中心。虽然方法总有漏检和误检存在,但是在定位这个步骤的误检可以通过后面的步骤进行合并或者消除,所以在定位的时候尽量多检测一些可能的位置。

算法实现:

  1. 找到属于小物体的点。也就是移除地面点(uniformly spaced positions with iterative plane fitting)、孤立的点(?)、建筑物(通过移除大的连通部分)

  2. 用剩下的点云生成2D俯视图(用高程信息作为“像素”),使用图像处理方法找到local maxima(局部最大?)。可用的方法有:

  2-1 第一种方法是将最大高程作为每个像素点的值,然后用高斯滤波器的差异找到高频,再利用阈值找到小物体。这个方法可以有效的找到孤立的小物体,但是很难在凌乱的环境中找到汽车和小物体。

  2-2 第二种方法是寻找点云密度的局部最大处(论文中选择2m作为水平距离的均值漂移算法)。这个方法有两个问题,一个是如果要检测足够小的物体,需要把初始定位空间设定得足够小,这会导致不可估量的运算量。第二个问题是难以  找到一个合适的支持大小,同时能有效的检测较大物体和较小物体。

  2-3 第三种方法假定物体很可能在连通快的中心(Why?)。这种方法难以分割那些与别的物体或者路面靠的比较近的物体。

  2-4 第四种方法是用比较好的方法做一个聚类,用聚类的得到的中心代替物体的位置。利用KNN(K=4)。这种方法的问题是一辆汽车有时候可能会被聚到两个类别当中。

分割

  分割有两个目的:第一,分割之后可以确定物体的形状,然后可以将形状描述应用到下一个阶段。第二,一旦可能的物体完成分类,就可以确认这一个分割,并将这些点标记为特定的物体。

  进行分割有三种方法:

  1. 第一种方法是:用半径进行区分前景和背景,利用预设好的高度预测物体。适应性很差。

  2. 第二种方法是:利用点的连通性区分前景和背景,从最近的点开始,利用预设好的高度预测物体。问题是很多物体没法找到对应的高度阈值,连通性区分前后景效果也不好。

  3. 第三种方法是:用上一步的最近邻图来确定前景和背景。使用的方法与Y. Boykov and G. Funka-Lea. Graph cuts and efficient n-d image segmentation. 这篇论文的方法类似。称为min-cut 方法。

特征提取

  特征提取包含两个方面:形状特征以及上下文特征。

  1. 形状特征

  描述形状特征的时候,第一步计算分割出的点集中:点的个数、大致的体积、平均高程、高程的标准差以及两个水平方向的标准差。第二步在物体的中心附上一个自旋图像描述符(参考A. E. Johnson and M. Hebert. Using spin images for effi- cient object recognition in cluttered 3d scenes.)

  2. 上下文特征

  上下文指的是物体做在周围环境。周围的环境对于确定一个物体的类型来说是一个很重要的信息。比如汽车一般是在街道上或者街道旁边。文中获取该物体距离街道的距离来帮助分类。

分类

  分类使用Weka工具进行数据分类。使用的方法包括:KNN(K = 1 & k = 5)、随机深林、SVM(C2.5)。

未来研究点

  1. 改善定位以及分片的算法。

  2. 为系统增加物体的特征或者是更详细的几何形状特征。