描述

这篇文章继续上一篇,对原论文的实验结果进行分析,同时还要给出直线拟合算法部分的进一步解释。

最后也会上一些我自己的分割结果

原文解析

Result

执行3D点云分割的主要好处是能够检测和跟踪场景中较小的动态对象,因为这样可以精确建模场景的动态方面,从而最终促进安全驾驶。较大的对象,如植被和大型建筑物,对导航任务不太重要,通过简单的二维占用栅格可以更有效地建模。由于我们的所有算法都适用于在线自主车辆系统,因此我们非常关注分割的实时性能,尤其是因为需要对检测到的分割进行分类(如[1])。在执行第III-D节所述的最终3D分割时,仍然有效。

我们已经评估了在市区交通和乡村场景中手动驾驶机器人时获得的大量扫描的拟议算法。由于没有地面实况信息,因此进行了定性绩效评估。参数固定为:∆α=0.5度,B=300。最靠近车辆的bin的最小范围(即代表最短范围的范围)设置为r^{min}_1 = 3m,最远bin的最大范围设置为r^{max}_1 = 120m,每个bin的range范围从0.05 m逐渐增加到2 m,随点距离车辆远近而定。

地平面标记的示例结果如下图所示。如图所示,我们的地平面估计方法可以很好地处理平坦地形和非平坦地形之间的过渡。

下图显示了我们的分割方法在不同场景中的结果。与参考文献[1]中描述的先前方法相比,在所有场景中,所有交通参与者都被从地面上清楚地分割出来。(左图是本篇文章的结果,右图是参考文献[1]的结果)



在图(b)所示的比较中包含的细节视图中,可以看出我们的新方法相对于纯投影方法的优势。在这里,一些车辆车顶上的点测量通常不受投影到同一网格单元上的第二个点的支持,在构建grid cel组成l的连通域时,该网格单元cell将被忽略。因此,当使用基于纯投影的方法时,点云完成聚类后中,可以看出这些点被丢失了(请参见图(b)和(c)的详细视图),我们的方法加强了这些点的聚类效果。投影方法和我们提出的方法(以及[6]中所述的其他方法)都仍然解决不了大型建筑物(图(c)中的紫色墙壁)和茂密的植被(图(c)中车辆右侧的绿色)的情况。植被通常很难处理,因为其上的距离测量非常嘈杂。一般来说,大型建筑往往分割过度,而植被往往分割不足。然而,对于基于投影的方法来说,问题更为严重,因为较大距离的稀疏测量往往会导致一些单元未被占用,从而破坏其连通结构。图(a)显示了场景背景中的墙。

还显示了一些具有挑战性的情况。从图(a)和图(d)中可以看出,使用我们的新方法,悬垂结构(如树枝)不会出现地面和非地面点的欠分割。相反,通过我们的方法,即使是图(d)中所示的那种薄且垂直的结构,也可以与地面分割开。而在同样的情况下,基于比较投影的方法再次失败。此外,图(c)中的结果表明,使用我们的方法可以分割彼此靠近的对象,例如停车在右边的街道上的汽车。

最后,我们的运行时间如上图所示,平均每次运行0.075秒,我们的方法实时执行,比3D聚类方法快得多。本方法的运行时间与2.5D投影方法相当,但不存在数据分割不足的问题。

. CONCLUSIONS AND FUTURE WORK

我们提出了一种新的快速算法,用于大尺寸远距离三维点云的分割。该算法的核心是一种通过将二维线提取算法应用于无组织三维点域来估计局部地平面的快速方法。然后将单个点与获得的接地平面线进行比较,可以可靠地将接地点与非接地点分开。我们展示了如何使用这种点标记来实现3D点云数据的分割,从而克服了基于数据投影的其他分割方法所固有的最重要的欠分割问题。我们证明,我们的方法在各种场景下获得的数据上都取得了良好的分割结果,包括平坦和非平坦、倾斜地形。最后,该方法被证明是实时的。结合良好的分割结果,我们的方法为实现三维点云中的实时对象分类迈出了必要的第一步。未来的工作将包括将新的分割方法集成到[1]中提出的对象分类框架中。鉴于新的分割结果,观察对象分类将如何受益将是很有趣的。

论文的小结

这篇文章是2010年发表的,在实验部分我们可以看到,作者总是追着参考文献【1】不放。那是因为,参考文献【1】也是他们团队的输出,是发表在2009IROS上的另外一篇文章

M. Himmelsbach, T. Luettel, and H.-J. Wuensche, “Real-Time Object Classification in 3D Point Clouds Using Point Feature Histograms,” in Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2009, St. Louis, USA, October 2009.

因此未来,我应该还会去分析一下2009年这篇文章。

直线拟合算法的进一步解释

首先在直线拟合算法前,应该将所有Segmentation中的所有bin中的点,都从(x, y , z)映射到(range, z)数据上,这是前提。接下来就可以进行直线提取算法了

  1. 对于一个Segmentation来说,循环每一个bin,并找到非空的bin
  2. 如果待拟合点的集合 Pl(这个集合中的点就是要做拟合的点)中包含至少两个点,执行步骤3,否则跳到步骤5
  3. 对当前bin中的点和待拟合点集 Pl 中的点,一起做一个直线拟合,计算出来的斜率m、偏置b以及拟合误差均满足要求时,把当前bin中的点放进 Pl 中
  4. 不满足要求时,认为拟合直线不会再增长了,会计算出这条直线的参数并认为它是最终直线拟合结果之一,然后清空Pl 去找新的一条直线
  5. 如果待拟合点集 Pl 中并没有两个点,也就是说连直线都没法拟合,更不用说还要判断直线满不满足条件了。我们就需要先凑够两个点。如果当前bin中的点,距离上一条拟合直线的距离小于阈值,就可以往拟合点集Pl中添加这个点了(即原文B小节的第四个要求)

总结

最后总结下这篇文章,简单从两方面谈一下想法。

  • 方法的总结:
    方法很经典也比较容易理解。将点云不在按照xy坐标来划分grid,而是采用极坐标的方式划分,再利用每个grid中降维后的原型点,拟合出地面。在实际工程中,这样的设定是有利于之后的操作的。但对于不同距离的grid,论文没有过多介绍,根据距离远近进行不同程度的划分是有必要的,有很多文章在这基础上也进行了改进,后续我会出新文章分析。在我看来,这篇文章最好的优势在于,计算时间很OK,适合工程化。
  • 实验结果的总结:
    不得不说,实验结果只给出了定性的分析,展示了一定的运行效果,并给出了运行时间。但聚类效果及运行时间,仅仅与自己所提出的方法进行比较,还是稍微单薄了一些。考虑到文献发表时间,也是情有可原。

这篇文章还是非常简单及有效的,适合工程中实际情况下的地面分割。不过注意,它是解决不了地面与草地之间仅仅有个路沿这种情况的,无法分割开

写的不容易,欢迎各位朋友点赞并加关注,谢谢!