自动驾驶环视感知:广义物体检测
前言
尽管在智能驾驶中物体检测任务已被广泛研究,但鱼眼相机成像下却很少被讨论。由于鱼眼图像存在非常大的径向畸变,标准的约束框bbox定义已不再有效。为了适配鱼眼图像,需要为物体检测任务探索更优的框表示方法,例如旋转框、椭圆框以及广义多边形框等。为了提供接近真实场景需求的评价指标,本文采用了计算各类框表示与事例分割真值的IoU值,最终实验结果表明24边形框表示能够鱼眼畸变实现更好的建模效果。
附赠自动驾驶最全的学习资料和量产经验:链接
物体表示
框表示延展
图1 鱼眼图像中各类2D物体检测表示。(a)标准框,(b)旋转框,©弯曲框,(d)椭圆,(e)4边形框,(f)24边形框。
标准框表示
对于物体检测任务,矩形框是最常见的框表示方法。由于其与图像坐标系对齐,使得其非常容易通过机器学习方法进行回归。矩形框表示采用四个参数,分别为框中心的坐标以及宽和高。这种表示方式简单且易标注,但是对于畸变严重的鱼眼图像,矩形框中存在大量的非目标物体区域,如图1-a所示。
旋转框表示
旋转框表示其实是在标准框表示的扩展,引入了一个额外的旋转角参数。通常在LiDAR鸟瞰视角下会使用旋转框表示。旋转框的角度定义为相对x轴的旋转角,从-90度到+90度。在本文中,我们采用语义分割轮廓来评估旋转框的最优旋转角。
椭圆表示
椭圆表示在定义上与旋转框表示相仿,可以采用相似的参数表示。其中,宽和高等价为椭圆的长轴和短轴。正如图1(d)所示,椭圆框在边缘部分拥有更小的面积,可以更好的表示目标物体。在构建椭圆框真值时,我们选用覆盖事例分割的最小包闭椭圆。
畸变感知的表示
如果说矩形框是最适合针孔相机的表示,那么本节将讨论针对鱼眼相机图像大径向畸变的框表示。在没有畸变的针孔相机中,场景中的直线在成像面仍是直线。然而,在鱼眼图像中,真实世界中的直线则被成像为弯曲线段。在WoodScape数据集中,鱼眼畸变矫正一般采用4阶多项式模型。
Bräuer-Burchardt and Voss等人研究发现,如果一阶除式模型可以准确建模鱼眼畸变,则可以在成像面上用圆形来建模投影的直线。如图2所示,除式模型可以很好地拟合4阶多项式建模,仅有小于1个像素点的误差,足以用来应用于框表示。
图2 4阶多项式径向畸变模型与除式模型基本近似。
因此,我们提出一个基于圆弧线的弯曲框表示,如图3所示。当把展开立体中的直线投影至鱼眼成像面,则变成了圆弧线。图3右则展示了弯曲框表示的具体描述,其中蓝色线表示坐标轴,而白线与圆弧的交叉点则为多边形的起点和终点。这种表示使得框表示两条边弯曲,增加了适应图像畸变的灵活性。如果主轴点不存在畸变的话,则该弯曲框表示则退化成旋转框表示。
图3 展开立体中的鱼眼畸变分布以及弯曲框表示。
整个弯曲框表示的计算方法如下所示:
-
选择位于旋转框主轴的一个点为圆心点
-
并从圆心点画两个圆,这两个圆分别与旋转框的四个角点相交。
-
基于两段圆弧及四个角点则构建了初始的弯曲框表示。
-
通过迭代优化圆心点坐标,逐渐减小弯曲框与语义分割掩码的IoU。
-
最终弯曲框用6个参数表示,分别为圆心坐标、两段圆弧半径、多边形起点与终点与x轴的旋转角。
广义多边形表示
多边形是任意形状的广义表示方法,甚至可以用于事例分割标注;因此多边形输出被认为是粗粒度的分割结果。我们先讨论两种标准的多边形表示方式,并提出相应的优化改进。
图4 广义多边形表示。左侧:采用均匀角度采样来构建多边形;中间:基于L2距离的均匀轮廓采样;右侧:可变步长轮廓采样。
均匀角采样
均匀角采样这类极坐标表示也在PolarMask和PolyYOLO中使用过。如图4左侧所示,整个360度被均匀等分,而每个多边形的顶点则表示为物体质心到顶点的径向距离。因此,均匀角采样的多边形框表示仅需要三个参数表示,也即物体质心和径向距离。
均匀周长采样
如图4中间所示,这种表示被定义为,对目标物体轮廓周长进行等分得到相应的多边形顶点。这种多边形可以表示为以物体质心为原点的一系列顶点坐标。
曲率自适应周长采样
多边形表示中,物体轮廓的原始曲线会被表示顶点间的直线;对于高曲率区域,这种表示不太精确。因此,我们提出一种基于区域曲率的自适应采样方法。如图4右侧所示,在高曲率区域存在更多的顶点;而在直线区域,顶点相对更少,这种表示最佳。
FisheyeYOLO网络结构
如图5所示,鱼眼图像检测网络借鉴了YOLOv3。基线标准框表示模型基本与YOLOv3一样,除了主干网络部分采用ResNet18替换了Darknet53。在最后阶段,非极大抑制NMS用来过滤低置信度的检测结果。在类别和是否为物体分类任务中,采用交叉熵损失来训练。
图5 FisheyeYOLO是在YOLOv3基础上进行扩展,能输出不同类的框表示。
对于标准框表示,最终loss函数如下所示,其中坐标和宽高均计算为anchor框的偏移offset。
如果是旋转框或椭圆框表示,则需要增加一个旋转角损失函数,如下所示。
为进一步提高定位精度,通过引入IoU loss来最小化预测框与真值框区域的差异,如下公式定义,
对应图4所定义,极坐标多边形回归loss为如下公式,与PolyYOLO所使用的损失函数非常接近。
论证分析
本文论证分析主要围绕一下三点进行:
-
评估广义多边形表示与真值物体轮廓的差异;
-
定性评估多边形表示与地面的交叉点(也即接地点)
-
评估模型的推理速度
多边形顶点数量
尽管多边形表示是鱼眼图像物体检测比较好的一种方法,但其中顶点的数量却是一个非常重要的参数。如下图6所示,采用周长均匀采样的方法选取不同数量的顶点并计算其与事例分割的IoU。其中24边形能在参数量和模型效果之间得到比较好的平衡,如果顶点数量过多,则容易产生过拟合。
图6 不同数量顶点多边形的表示效果。
各类表示对照分析
图7 各类表示的检测效果。
如上图7所示,采用mIoU指标来评估各类表示的效果,同时还将表示参数量列在图中用于对比。显然,24边形表示效果最佳,尤其是自适应顶点采样相比均匀顶点采样有2.2%提升。相比于标准框表示,旋转框表示有非常大的提升;而采用椭圆框表示后,效果进一步得到优化。
定量分析
图8 旋转框&24边形框的参数消融实验。
如图8所示,我们对旋转框以及24边形框各类参数进行了消融实验;其中角度分类和引入的IoU loss显著提高了mAP值。而在图9中,我们对各类表示框进行横向对比。与标准框表示相比,旋转框和椭圆框表示在mIoU指标都有明显的提升。
图9 在WoodScape数据集上不同表示方法的模型评估效果。
图10和11则展示了不同框表示的实际检测效果。其中椭圆框表示因为参数量较少而比较易于学习,并且受背景遮挡更少。从IoU指标来看,多边形框表示提供了非常高的精度;而顶点越多,其效果则更好。值得注意的是,24边形表示相比其他表示,能提供更精确的接地点,这一点对于下游规控应用非常重要。
图10 不同框表示的定量结果。第一排展示了标准框、旋转框以及椭圆框结果;第二排展示弯曲框、4边形框以及24边形框的检测结果。
结论
本文系统地研究了各类用于鱼眼图像物体检测的框表示。从更高的层次,我们将框表示分为标准框扩展和广义多边形表示。从实验结果来看,自适应顶点采样多边形表示相比YOLOv3基线模型有近40%的提升。