首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ADAS系统中的可行使区域Freespace到底如何检测?---泊车篇

作者 |Jone

出品 |焉知汽车

基于视觉的环视可用空间检测是自动停车辅助(APA)的基本任务之一。任务是根据图像输入识别环视自由空间,即 360 度视图中车辆可行驶而不会发生碰撞的简单连接的道路区域。尽管激光扫描仪能够捕获准确的深度信息而经常用于此任务,但基于视觉的方法由于其显着的成本优势而继续引起人们的兴趣。

与行车场景相比,泊车场景中的自由空间检测提出了对边界精度的要求。这是因为停车场景中的障碍物显得更密集,并且更紧密地聚集在车辆周围。因此,精确定位这样的边界可能非常具有挑战性,特别是对于环视图像。与分别对每个单一视图进行检测并合并结果相比,从环视图像中进行检测更有利泊车辅助,其优势在于它可以一次性提供一整块可用空间,从而在推理时间上具有优势。然而,鱼眼相机输入和相应的图像马赛克分别接近大规模拉伸扭曲和刺眼阴影,从而使边界变得模糊。此外,在停车场景中,障碍物往往指的是车辆和行人,它们的大小、方向和位置差异也很大。

在本文中,我们将介绍从多个鱼眼相机输入拼接而成的环视图像直接预测自由空间(图1(a)-(b))。

图1:(a)前、后、左、右四个视角的鱼眼相机拍摄的图像,(b)环视图像,(c)自由空间边界的极坐标表示

在上图1中,驱动车辆(黑色块)位于图像的中心,并且始终被自由空间边界包围。因此,以图像中心为原点,每个边界点由极角和极角点决定。圆弧半径的边界点的顺序是自然确定的。此外,在特定的极角采样间隔下,边界可以采样到一组点,然后紧凑地表示为极半径序列。直接序列回归不仅可以明确关注边界定位的准确性,而且还可以显着降低计算成本。

为什么要优化可泊空间预测算法

由于边界定位的高精度要求,现有的自由空间检测方法不再适用于我们的任务。最近的方法利用全卷积网络(FCN),它将自由空间检测视为二进制分割问题。这种逐像素表示过于复杂且区域化,仅反映整体性能,很少关注边界定位的精度。这种逐像素表示不仅会淡化边界定位的重要性,而且还会引入额外的计算成本,因为高维特征图之后的后续上采样卷积层。尽管已经有相当多的算法提出了几种方法来直接使用中心分类和距离回归来预测边界,但中心热图和距离回归仍然是逐像素的方式,同时,这些方法也还面临着昂贵的计算成本。

为了捕获预测中的非局部依赖性,使用Transformer网络来集成障碍物信息并建模全局上下文。Transformer 广泛应用于计算机视觉领域,在捕获全局上下文和建模非局部依赖关系方面表现了出非凡的性能,这就很自然的想到利用Transformer来解决大规模扭曲和全局稳定性问题。该网络将环视图像作为输入,并端到端地回归极半径序列。

此外,在训练过程中,利用T-IoU(Triangle-IoU,交并比Intersection-over-Union)损失来表示相邻点的关系并整体优化边界的匹配过程也是本文介绍的方法之一。

自由空间检测的传统算法范围从像素级算法升级到占用网格。近年来,研究人员将全卷积网络FCNs应用于自由空间检测。标准全卷积网络 FCN 模型由编码器到解码器架构组成,该架构在编码器中提取高级特征表示,并在解码器中将表示上采样为全分辨率分割。尽管 FCN 在自由空间检测中实现了出色的精度,但它们本质上是为每像素分类而设计的。

图2:FCN网络基本检测逻辑

此外,一些方法预测每个图像列的垂直坐标以直接表示自由空间边界。然而,这些方法不适用于环视图像,因为环视边界不沿着行,导致每列上边界点的数量和顺序关系不明确。这点上,极坐标系在旋转和方向相关问题上具有先天的优势。这种方法利用一个中心点、一个极半径和两个极角来表示遥感图像中的边界框。在对象检测和实例分割领域提出了类似的解决方案,可以概括为两个并行任务:中心预测和距离回归。然而,它们更像是逐像素预测方式,并且需要 NMS(非极大值抑制的方法)作为后处理。相比之下,本文所介绍的方法在极坐标中对自由空间边界进行建模,并端到端地预测极半径,它放弃了逐像素方式,并且不需要后处理。

在本文中,我们将介绍自由空间重新构建为自由空间边界的极坐标表示,并利用转换器框架来进行端到端地回归表示。为了限制自由空间的整体形状,我们引入了Triangle-IoU损失函数,使网络能够将边界视为一个整体。

泊车Freespace检测方法到底如何优化?

1、自由空间边界的极坐标表示

为了在极坐标系中建模环视自由空间边界,我们首先将图像中心c=(xc,yc)设置为极坐标系的原点,水平向右方向为极轴正方向,顺时针方向为极角的正方向(以弧度为单位)。为了形成闭合曲线,极角限制在[0,2π)范围内变化。以相同的极角采样间隔Δθ=2Nπ采样N个边界点,第i个采样点可以用(ρi,θi)表示,其中极半径ρi由到 c的距离和极角θi=i·Δθ确定,其中i∈{0,1,2,...,N −1}。

至此,在极坐标系下,环视自由空间边界ψ可依次表示为:

ψ={(ρ0,θ0),ρ1,θ1),...,(ρN−1,θN−1)} 。已知θi 时,需要预测的元素仅为极半径,而ψ可以进一步简化为:ρ={ρ0,ρ1,...,ρN−1}。

为了定性评估自由空间边界的精度,我们将极点转换为笛卡尔点。笛卡尔点 (xi , yi) 可以从 (ρi,θi)表示如下:

xi = xc +ρi·cos(θi),yi = yc +ρi·sin(θi)。(1)

最后,用直线将相邻的点按顺序连接起来,形成一条闭合曲线,代表自由空间的边界,这个边界包围的区域被视为自由空间。对自由空间边界的极坐标表示只是一个包含 N 个元素的序列,这是参数的显着简化。

2、边界检测模型

图 3 说明了整个模型的整体流程。给定一个环视图像 I 作为输入,网络输出一个端到端的序列ϕρ,包含一组极半径。

图 3:管道。给定环视图像 I 作为输入,网络输出极半径的序列 ϕρ,可泊空间表示将极半径与极角配对得到采样点,通过连接采样点生成自由空间边界B。

通过分配预定的极角序列ψθ,得到一组采样边界点。将这些点依次用直线连接起来,就可以得到预测的边界B和相应的自由空间Freespace。

该网络通过主干网、Transformer和用于序列预测的前馈网络(FFN)组成。在主干中,应用ResNet18来提取低分辨率图像特征。Transformer编码器和Transformer解码器都由两个相同的层堆叠而成。每个编码器主要由多头自注意力模块组成,通过并行注意力操作对图像特征关系进行建模,以生成图像嵌入。每个解码器在自注意力模块之后都有一个额外的多头交叉注意力模块,用于计算与图像嵌入和序列的交互。最后,FFN 通过 3 层感知器将Transformer的输出投影为 ϕρ。

3、三角形IoU损失(T-IoU损失)

为了限制边界点的位置,一个不太成熟的处理方式是利用l1损失来监督预测序列。然而,l1损失是为了单点的精度而设计的,因此,这种方式忽略了相邻点之间的关系和边界的整体形状,从而导致不够平滑和局部模糊。相反,IoU 在目标检测、语义分割中用于判断两个图片或者框的重合程度这方面得到了广泛的应用,他的计算过程是将自由空间视为一个整体,并期望边界在形状和大小方面表现合理。

为了发挥IoU的优势,我们首先在groundtruth边界上以极角2Nπ的采样间隔进行均匀采样,以获得N个真值GroundTruth极半径的离散序列。同时,将地面真值序列表示为 ˆϕρ 。Polar IoU提到自由空间的面积可以用无限组扇形区域来表示。然而,在有限的采样角度下,仅利用一个半径的扇形区域无法拟合复杂的形状。由于预测点是用直线连接的,因此采样自由空间由具有共享中心点的三角形聚集。在这种情况下,将 Polar IoU 中的扇形区域替换为利用两个相邻极半径的三角形区域。

根据三角形面积SΔ=1/2*sinΔθ·ρ1ρ2的计算公式,可以计算出三角形IoU(T-IoU):

其中,ρN = ρ0 且 ˆρN = ˆρ0。ρi max 表示max(ρi ,ˆρi),ρimin表示min(ρi ,ˆρi )。T-IoU不仅比Polar IoU在有限采样角度下对自由空间有更精确的表示,而且通过学习相邻关系可以更好地适应细长障碍物中极半径的快速变化。

由于T-IoU的范围为[0, 1],最优值为1,因此T-IoU损失可以表示为T-IoU的二元交叉熵。省略常数项 1/2sin 2N/π,T-IoU 损失可以简化如下:

分割网SegNet用于鱼眼相机自由空间检测。对于实际应用,可以选择SegNet作为基本版本。为了分析分割方法中的边界精度,本文对分割图进行后处理:获取最大连通区域的外边界并将其作为预测。因此,本文介绍的方法与以前的自由空间检测方法进行比较,后者可以说是将自由空间视为二进制分割的问题。

图 4:红线代表自由空间边界。细长的、大型的障碍物都包含有各种照明和停车场景

与边界检测方法的比较。PolarMask提出通过中心分类和距离回归来预测实例分割中的边界。由于不需要中心分类,这就可以删除PolarMask 中的中心头和分类头,只级联一个平均池化层,然后是回归头。由此,就计算成本而言,与常规的方法比较而言,这里提出的方法只有9.7个GMAC,比其他方法要小,差异主要来自处理提取特征的模块。

图 5:(a)计算成本比较。(b)失败案例

如上右图所示,SegNet-Basic的解码器需要14.8个GMAC,由于一系列上采样操作而导致大量冗余。PolarMask 的头部也采用了 15.1 个 GMAC 和一系列卷积层。相反,Transformer 仅需要 0.2 GMAC 来预测边界点,这显着简化了过程。

那么T-IoU 损失如何影响学习呢?T-IoU损失在BAE中达到6.94像素。相比之下,l1 损失达到 7.84 BAE,领先 0.90 个像素。边际表明,使用边界的整体形状进行训练比仅关注孤立点更有效。此外,T-IoU 损失在 BAE 中比 Polar IoU 损失高出 0.42 个像素。我们将这种改进归因于更好的边界表示以及对相邻点之间关系的考虑。

可泊空间预测过程中还有哪些需要深入考虑的问题?

当然,由于传感器遮挡也可能导致预测失败。如上右图,本文提出的极坐标表示方式也无法通过从图像中心发出的光线覆盖蓝色区域。

同时,由于离散采样,对自由空间边界的极坐标表示丢失了部分细节。地面实况极半径 ˆψρ 可以聚合到采样地面实况边界 ˆBs 。为了定量分析损失,我们计算真实边界 ˆB 和采样真实边界之间的 BAE 分数边界 ^Bs ,这是理想的上限。

图 6:(a) 重建误差分析 ;(b) 不同采样极角数量的影响

从上图6(a)中我们观察到采样更多的极角可以实现更高的上限并恢复更精细的结构。当采样极角数量超过 360 时,上限的改进也会变得微不足道。在图6(b)中,我们对30到720个采样极角的数量进行了实验,发现具有360个采样极角的输出表现最好。随着采样极角数量的增加,模型将接收到更精确的结构信息,并预测更详细的边界。然而,当采样极角的数量太大时,边界表现得过于离散,模型的能力在编码如此繁琐的序列时将受到挑战,导致平滑度降低。

图7:解码器交叉注意力模块中的注意力图

如上图7 显示了 Transformer 解码器的交叉注意力模块中的注意力图。可以看到,对于序列中的特定极半径,图像嵌入与自由空间边界附近的可能区域有效性相关。角度信息也是通过位置嵌入隐式学习的。

总结

基于视觉的环视可用空间检测对于自动泊车辅助至关重要。在这项任务中,精确的边界定位是最受关注的问题。本文提出的方法可概括如下:

通过建议将自由空间重新构建为自由空间边界的极坐标表示,明显简化表示并增强对边界定位的关注。

利用变压器框架来解决长序列预测问题。此外,提出了 T-IoU 损失来提高相邻预测的相关性。

在停车场景中引入了一个大规模数据集,带有边界注释和评估边界质量的有效指标。本文介绍的方法在大规模数据集上具有良好的性能,并且对新的停车场景表现出很强的泛化能力。

在本文中,我们介绍一种将自由空间重新构建为自由空间边界的极坐标表示,并利用转换器框架来端到端地回归极坐标表示。基于环视自由空间是一个简单连通区域并且可以在给定边界的情况下轻松还原对应的联通部分,这里主张将自由空间检测转换为边界点预测问题。为了有效地对这些点进行建模,我们利用极坐标表示,这在曲线描述中具有固有的优势。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OuDUsl7roYQVq7IMWqVayuvA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券