Parking Slot Detection on Around-View Images Using DCNN 论文精度

基于DCNN的全景图像停车位检测

摘要

由于复杂的视觉环境和全景图像上停车位的不完整显示,基于视觉的停车位检测是一个重大挑战。以往在该领域的研究大多使用现有的模型来解决问题,步骤繁琐。在本文中,我们提出了一种停车位检测方法,该方法使用基于深度卷积神经网络(DCNN)的定向入口线回归和分类,使其具有鲁棒性和简单性。对于不同形状和从不同角度观察的停车位,我们将停车位表示为一条定向入口线。随后,我们设计了一个DCNN检测器,以同时获得入口线的类型、位置、长度和方向。之后,使用检测结果和先验几何信息可以容易地推断出完整的停车位。为了验证我们的方法,我们在公共ps2.0数据集和带有2135张图像的自注释停车位数据集上进行了实验。结果表明,我们的方法不仅在 ps2.0数据集上以99.68%的准确率和99.41%的召回率优于最先进的竞争对手,而且在自注释数据集上也表现出令人满意的泛化能力。此外,它在Titan Xp上实现了每帧13毫秒的实时检测速度。通过将停车位转换为定向入口线,专门设计的DCNN检测器可以快速有效地检测各种类型的停车位。

1、介绍

随着人工智能的快速发展,自动驾驶和驾驶员辅助系统的研究越来越受到学术界和业界的关注(Chen et al.,2020;Yurtsever等人,2020)。作为其中的一部分,自动停车位检测不仅可以加快停车过程,减少交通拥堵(Paidi et al.,2018),还可以帮助车辆在停车场定位(Houben et al.,2019)。此外,越来越多的车辆配备了全景监视器(AVM)系统,以帮助驾驶员观察周围的路况。因此,通过车辆上现有的摄像头在全景图像上检测停车位具有重要的现实意义。然而,由于光照变化、阴影和遮挡,基于视觉检测停车位仍然是一个巨大的挑战。

徐等人(2000)是第一个研究基于视觉的停车位检测的人。他们基于图像中停车位标记的颜色是均匀的并且与背景不同这一事实来检测停车位。然而,这种方法很容易受到影响,因为数字图像的值在不同的照明场景中会发生很大变化。为了进一步提高停车位检测的准确性,已经提出了一系列基于线的方法(Hamada等人,2015;Lee和Seo,2016;Lee等人,2016)。基于直线的方法首先检测图像上的停车位标记,然后对直线进行聚类和拟合,最后根据停车位的几何信息生成停车位。然而,基于直线的方法无法区分不同类型的停车位,包括平行停车位、垂直停车位和倾斜停车位。与基于线的方法不同,Suhr和Jung(2013)提出了一种基于标记点的方法来检测各种停车位。他们首先使用哈里斯角检测器来检测全景图像中的角,并将这些角组合成不同类型的候选结。然后,他们匹配成对的路口候选,并生成停车位候选。最后,根据其几何特征选择了一个停车位。为了提高标记点的检测精度,张等人(2018)利用滑动窗口和AdaBoost分类器技术来检测停车位的标记点。李和赵(2018)将停车位的线路检测和标记点检测结合起来,进一步提高检测性能。然而,这些方法基于低级视觉特征,在复杂的环境条件下不具有鲁棒性。

在过去几年中,DCNN在不同的图像处理任务上取得了巨大突破(Chen et al.,2019)。提出了一些基于DCNN的全景图像停车位检测方法。张等人(2018)设计了两个用于检测停车位的DCNN模型,即DeepPS。一个DCNN模型基于YoloV2(Redmon和Farhadi,2016),用于检测环视图像上的标记点。另一个DCNN模型基于AlexNet(Krizhevsky et al.,2012)来匹配成对的标记点。DeepPS在不同的环境条件下取得了良好的效果,包括室内、室外、阴影和各种地面。然而,DeepPS需要两个DCNN模型,这使得推断图像非常耗时。为了仅用一个DCNN模型检测停车位,Zinelli等人(2019)提出了一种基于更快区域的端到端DCNN模型。图1|使用DCNN检测器对全景图像进行停车位检测方法概述。它包含三个模块:全景图像合成、方向入口线检测器和停车位推断。卷积神经网络(Faster R-CNN)(Ren et al.,2015)用于停车位检测。由于停车位在不同的视角下具有不同的形状,因此该DCNN模型直接输出停车位的四个顶点坐标,而不是与图像对齐的边界框。李等人(2020)利用基于YoloV3的检测器(Redmon和Farhadi,2018)同时检测停车位头部和标记点,然后使用先前的几何信息推断出完整的停车位。然而,这些方法都是基于现有的模型,不能满足实时性的要求。为了提高停车位检测的速度,Huang等人(2019)提出了一种检测停车位的方向回归方法,称为DMPR-PS。DMPR-PS首先利用一种新的DCNN模型来回归标记点的坐标、方向和形状。然后使用停车位的几何关系来匹配成对的标记点。尽管DMPR-PS提高了检测速度,但它只能检测平行停车位或垂直停车位。

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第1张图片

图1、使用DCNN检测器对环视图像进行停车位检测的方法概述。它包含三个模块:全景图像合成、方向入口线检测器和停车位推断

因此,为了克服前面这些方法的局限性,我们将停车位检测问题转化为定向入口线回归和分类问题,以便能够快速而稳健地检测各种停车位。受一阶段物体检测方法的启发(Liu et al.,2015;Redmon和Farhadi,2018),我们设计了一种新的DCNN检测器,可以直接获得入口线的类型、位置、长度和方向。基于这些检测结果,我们可以很容易地利用几何信息推断出完整的停车位。为了评估所提出方法的性能,我们在ps2.0数据集和一个自注释停车位数据集上进行了几个实验。结果表明,该方法可以有效地检测各种类型的停车位,包括平行停车位、垂直停车位和倾斜停车位。本文的其余部分分为三个部分。第2节介绍了基于DCNN的停车位检测方法。第3节介绍了我们方法的实验结果。第四节是对本文的结论和讨论。

2、方法论

在本节中,我们将详细描述我们的方法。图1显示了使用DCNN检测器对环视图像进行停车位检测方法的总体结构。首先,对来自鱼眼相机的四个鱼眼图像进行校准,以生成全景图像。由于AVM的技术已经非常成熟,我们在此不再讨论,而是直接使用我们之前的研究(Feng et al.,2019)。然后,将环视图像的大小调整为指定的大小,作为定向入射线检测器的输入。定向入射线检测器由特征提取器和检测头组成,其细节将在以下小节中描述。最后,根据检测结果和先验几何信息推断出完整的停车位。

2.1、环视图中停车位的结构分析

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第2张图片

图2、介绍了三种典型的停车位。停车位槽头用绿色矩形标记,两个可见顶点用橙色点,入口线用定向红线标记。(A) 垂直停车位;(B) 平行停车;(C,D)分别具有锐角和钝角的倾斜停车槽

由于AVM的视野有限,大多数环视图像仅包括停车位头部。如图2所示,有三种典型的停车位,可以用它们的定向入口线来表示。我们规定停车位的四个顶点按逆时针方向排列,最靠近车辆的两个可见标记点的索引分别为1和2。在这些情况下,入口线的方向是从可见顶点p1到可见顶点p2。

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第3张图片

图3、定向入口线表示。入口线用红色虚线标记,两个可见的标记点用橙色点标记,入口线的中点用红色点标记。

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第4张图片

图4、各种停车槽头,包括直角头、锐角头和钝角头

如图3所示,我们使用{x,y,θ,l,c}来表示定向入口线,其中(x,y)是入口线中点的坐标,θ是入口线的方向角,l是入口线长度,可以通过等式(1)通过入口线的成对标记点的坐标来计算。c代表头部类型,分为直角头部、锐角头部或钝角头部。如图4所示,有不同类型的停车槽头。通过这种方式,我们可以将停车位检测问题转化为定向入口线回归和分类问题。

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第5张图片

其中p1(x,y)和p2(x,y)是入口线(w,h)的两个可见标记点,是输入图像的宽度和高度,λ是归一化常数。根据经验,我们选择λ=410。

2.2、定向入射线探测器

为了使停车位检测高效、有效,我们专门设计了一种用于定向入口线检测的DCNN检测器。检测器主要由两部分组成:特征提取器和检测头。

2.2.1、特征提取器

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第6张图片

图5、 特征提取器的总体结构。核如图所示,描述为高度×宽度×深度、步幅

特征提取器的整体结构基于当前的对象检测框架以及该领域的公知常识。考虑到定向入口线检测的任务比目标检测的其他任务更简单,我们设计了一个具有30个卷积层的特征提取器,主要包括3×3个卷积层和1×1个卷积层。如图5所示,输入是512×512的全景图像,输出是16×16×1024的特征图。每个卷积层都利用了批量归一化的优势,并使用Leaky Recrectified Linear Units(Leaky ReLU)进行激活,以用更少的训练步骤实现相同的精度。快捷连接(Res)是为深度网络结构添加的。

2.2.2、检测头

检测头负责处理来自特征提取器的特征图以生成检测结果。首先,将特征图通过具有9个通道的1×1卷积,以输出16×16×9张量;16×16表示环绕视图图像上划分的网格数。每个网格都有一个九维向量,包括入口线的置信度co、入口线中点在x方向和y方向上与网格左上顶点的偏移距离(tx,ty)、入口线的长度l、入口线方向角的余弦值cosθ,入口线的方向角的正弦值sinθ和停车槽头的类别c。然后,由于入口线的方向在(-π,π)内,我们使用Tanh函数来激活入口线方向角的这两个三角值,并使用Sigmod函数来激活其余值。最后,考虑到两个停车位不能重叠,我们使用入口线的两个中点之间的距离作为判断条件来去除重复的停车位。

2.3、培训程序

在训练过程中,输入是环绕视图图像和带有定向入口线的标签。训练过程中损失函数的定义如下。

其中e和e*是定向入口线的预测值和真值,c和c*是停车位头的预测类和真类,用One-Hot编码。定向入口线的回归损失是误差平方和,定义如下

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第7张图片

其中N是所有预测结果的总数。λ(coi=1)表示当对象落入网格i时,它是1,否则,它是0。pi和p*i是根据定向入口线计算的两个可见顶点的预测值和真值。pi可以如下计算。

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第8张图片

停车位头部的分类损失是二进制交叉熵损失的总和,定义如下

2.4、车位推断

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第9张图片

图6、三个典型停车位的推断。p1和p2是两个可见的顶点。p3和p4是两个不可见的顶点。d1、d2和d3分别是垂直停车槽、平行停车槽和倾斜停车槽的深度

如图6所示,我们使用四个顶点来表示一个完整的停车位。两个可见顶点可以使用检测结果通过等式(4)来计算。这两个不可见的顶点可以通过公式(6)使用停车位的角度、深度和两个可见顶点来计算。停车位的角度和深度可以根据其类型来确定。如果停车位标头分类为直角标头,并且两个可见顶点之间的距离小于lthre,则它是垂直停车位。如果停车位标头分类为直角标头,并且两个可见顶点之间的距离大于lthre,则它是平行停车位。根据经验,我们选择了lthre=200。如果将驻车槽头分类为锐角头或钝角头,则它是倾斜的驻车槽。

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第10张图片

其中,αi是停车位入口线和分隔线之间的角度,di是停车位的深度。为了获得先验几何信息,我们对ps2.0数据集和一个自注释停车位数据集进行了统计分析,并使用平均值作为它们的真实值。因此,我们选择αi=90,di=250作为垂直停车位,αi=90、di=125作为平行停车位,选择αi=67、di=120作为锐角头的停车位,以及选择αi=129、di=12作为钝角头的倾斜停车位。

3、实验和结果

3.1、实验设置

3.1.1、数据集

为了评估所提出方法的性能,我们在以下两个数据集上进行了实验。

ps2.0 数据集:

ps2.0数据集是最大的带停车位的全景图像数据集,包括12165幅600×600像素的全景图像,对应于10×10m的地平面。ps2.0数据集中分为包含9287幅图像的训练集和包含2338幅图像的测试集。ps2.0数据集中的图像包括室内和室外场景以及三种典型的停车位类型。然而,ps2.0数据集的标签只是关于停车位的顶点。因此,我们需要为定向入口线准备新的标签。我们的DCNN检测器在ps2.0数据集上进行了训练和测试。

自注释停车位数据集:

为了进一步评估所提出方法的实用推广性,我们使用配备了我们早期开发的AVM系统的标致307乘用车收集了2325张图像(Feng et al.,2019)。图像的分辨率为600×600像素,对应于10×10m的实际地平面。

3.1.2、实验设置

在没有规范的情况下,我们在工作站中使用Python代码和公开可用的Pytorch框架来实现所提出的方法。工作站的配置如下:Intel Core i9-7900X [email protected] GHz,两个Nvidia Titan Xp GPU卡和32 GB RAM。在训练过程中,输入图像的大小调整为512×512,批量大小为16,学习率为10−4。使用[β1,β2,ε]=[0.9,0.999,10−8]的Adam优化器来优化整个训练过程。通过调整亮度和对比度以及添加高斯噪声来执行数据增强。特别是,为了更准确地预测入射线的方向,我们每5次进行一次旋转增强◦ 在整个数据集上。

3.2、DCNN检测器的性能

作为该方法的第一步,定向入口线的检测性能非常重要。 在实验中,我们比较了三种具有不同DCNN的检测器作为特征提取器,包括ps2.0测试集中的我们的VGG16(Simonyan和Zisserman,2014)和ResNet50(He et al.,2015)。精度-召回曲线、运行时间以及定向入口线的平均值和标准差被用作评估指标。准确召回率可计算如下。

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第11张图片

如上所述,对于定向入射线eg={xg,yg,θg,lg,cg}和检测到的定向入射线ed={xd,yd,θd,ld,cd}的地面实况,如果它们满足以下条件,则ed是真正的,并且eg被正确地检测到。否则,ed是假阳性,eg是假阴性

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第12张图片

不同检测器对定向入射线检测的精度-召回曲线如图7所示。封闭区域越大或查全率曲线越高,基于DCNN的定向入口线检测性能越好。从图7中可以明显看出,我们的方法在定向入射线检测方面优于其他两种检测器。此外,当对象置信度设置为0.5时,定向入口线的平均值和标准偏差总结在表1中。与基于VGG16的检测器和基于ResNet50的检测器相比,我们的方法实现了更高的检测精度,位置误差为1.49±0.90,长度误差为2.26±1.72,方向误差为3.74±2.58。尽管我们的检测器比基于VGG16的检测器具有更多的层,但我们的检测器实现了最快的运行时间,即12毫秒。这是因为我们的特征提取器由3×3和1×1卷积核组成,这意味着它具有更高的计算效率。这些结果表明,与现有网络相比,专门设计的DCNN检测器更适合于定向入口线检测。

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第13张图片

图7、precision-recall用于定向入射线检测的不同方法的曲线。

3.3、停车位检测性能

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第14张图片

图8、ps2.0测试集中没有标记停车位的代表性图像,但我们的方法可以检测到。检测到的停车位用绿色框标记。停车位的不清晰顶点用红点标记。

在本实验中,我们在ps2.0测试集中评估了所提出方法的整体停车位检测性能。如第2.4节所述,停车位由四个顶点组成。如果检测到的停车位的四个顶点与地面实况的四个对应顶点之间的距离分别不超过12个像素,则为真正。否则,它就是假阳性。除了我们的方法外,表2还列出了该领域的各种SOTA方法,包括PSD_L(Zhang et al.,2018)、DeepPS(Zhang等人,2018)和DMPR-PS(Huang et al.,2019)。需要注意的是,当停车位的一个可见顶点不清楚时,停车位不会在ps2.0数据集中标记。然而,如图8所示,我们的方法基于方向线检测,因此即使其中一个可见顶点不清楚,它也可以检测到这些停车位。为了公平地比较这些方法,我们删除了这些图像(ps2.0测试集中的12个图像)。此外,DMPR-PS只能检测具有直角头的停车位,因此在去除倾斜停车位的数据集上评估其精确召回率。如表2所示,我们的方法比PSD_L的准确率高1.13%,召回率高14.77%。此外,与其他基于DCNN的方法(DeepPS和DMPR-PS)相比,我们的方法也获得了更高的准确率和召回率。这是因为PSD_L基于机器学习(ACF+Boosting),很容易受到复杂视觉条件的影响,而DeepPS和DMPR-PS需要复杂的几何线索来匹配停车位的两个可见顶点,这可能会导致不匹配。此外,所提出的方法处理环视图像的平均时间约为13ms,这几乎与DMPR-PS一样快。如图9所示,在各种环境条件下,可以正确检测到三种典型的停车位。这些结果表明,所提出的方法效果良好,这主要是因为我们将停车位检测问题转化为定向入口线检测问题,这使得这项任务变得更容易,从而使所设计的DCNN检测器能够稳健有效地实现检测。

图9、ps2.0测试集中具有代表性的停车位检测结果,包括各种环境条件,如室内、室外日光、路灯、室外雨天、室外阴影和室外倾斜。

Parking Slot Detection on Around-View Images Using DCNN 论文精度_第15张图片

图10、所提出方法的代表性失效案例。检测到的停车位用绿线标记。地面真相用红线标出。(A,B)显示被错误识别为入口线的道路线。(C、D)显示检测不准确的入口线的位置。

然而,所提出的方法仍然不完善。当停车位距离车辆较远时,停车位的入口线不清楚,并且所提出的方法可能会错过它。与假阴性相比,假阳性在自动停车位检测方面更差。如图10所示,四个停车位检测不正确。在图10A和图B中,道路线被误认为入口线。在图10C、D中,入口线的位置检测不准确。未来,我们可能会采用视频序列中多帧的检测结果来解决这个问题。

3.4、实践中的泛化表现

为了进一步评估所提出方法的可推广性,我们在一个自注释的停车位数据集上进行了实验。数据集是在湖南大学使用配备了我们早期开发的AVM系统的标致307客车收集的。数据集中的一些代表性图像如图11所示。该方法在数据集中的准确率为97.65%,召回率为93.62%。结果表明,该方法具有令人满意的泛化性能。

个人理解

属于基于检测车位口的检测方式以此检测停车位

这篇论文还是有些东西的,之前的停车位检测有一个问题就是斜的车位不好检测。本文通过图像三,或者是公式一的表示方式{x,y,θ,l,c},来定义一个车位的入口位置,以此定义停车位。

论文下载地址

https://www.researchgate.net/publication/343201863_Parking_Slot_Detection_on_Around-View_Images_Using_DCNN

工程下载地址

无,官方没有开源这个代码

参考

GitHub - lymhust/awesome-parking-slot-detection: papers and codes about parking slot detection

你可能感兴趣的:(笔记,论文精读,人工智能,深度学习)