VPS-net:基于深度学习的停车位检测

1 Abstract

由于视觉环境的复杂性,当前公园辅助系统(PAS)采用独立全景监视器(AVM)进行空车位检测的精度仍有待提高。为了解决这个问题,本文提出了一种基于深度学习的空车位检测方法,即VPS-Net。VPS-net将空车位检测问题转化为两步问题:车位检测和占用分类。在停车位检测阶段,我们提出了一种基于YOLOv3的检测方法,该方法将停车位的分类与标记点的定位相结合,利用几何线索对各类停车位进行检测标记。在占用分类阶段,我们设计了一个自定义网络,该网络的卷积核大小和层数根据车位的特点进行调整。实验表明,VPS-Net在PS2.0数据集检测空停位任务中可以达到99.63%的精确率和99.31%的召回率。

2 Method

VPS-Net基于深度学习来检测各种空车位。如下图所示,VPS-Net可以处理三种典型的停车槽(横向、纵向、倾斜)。一个车位由四个顶点组成,其中两个顶点是入口线的成对标记点,另外两个顶点由于视觉的限制通常在全景图像中不可见。

image.png

下图显示了用于检测空闲停车槽的VPS-Net的基本原理。VPS-Net将空车位检测分为车位检测和占用分类两个步骤,结合了多目标检测网络和分类网络的优点。在停车槽检测阶段,首先使用基于yolov3的检测器同时检测标记点和停车槽头,然后利用几何线索匹配成对的标记点,确定停车槽的方向,最后通过车位的类型、方位和成对标记点推断出两个不可见的顶点,得到完整的车位。检测到停车槽后,将其在图像中的位置转移到占用分类部分,将检测到的停车位规则化为一个统一大小的120x46像素,然后通过一个DCNN来区分它是否是空置的。一旦检测到空车位,将其位置发送给PAS的决策模块进行进一步处理。

image.png

车位的类型由车位头决定,车位头包含入口线的成对标点。因此,停车槽头和标记点的检测是停车槽检测的第一步,也是最重要的一步。我们将停车槽头的分类与标记点的定位结合到一个多目标检测问题中,从而可以很容易地根据检测结果推断出各种类型的停车位。为此,我们分别定义了“直角头”、“钝角头”、“尖角头”和“T/L形”四种车位头。

  1. 使用yolov3检测出停车标志点(marking point)和车位头(parking slot heads);(中心点、宽、高)

    image.png

  2. 根据检测结果和几何特征推断出停车位的方向、成对点、车位类型

    • 将包含在同一个车位头框框内的两个标志点归类为成对点(paired marking point);
    • 如果一个车位头内只包含了一个或零个标志点,但车位头的置信度足够高,则直接计算出缺失点所在位置;
    • 如果一个车位头内包含了两个以上的标志点,则选取离对角最近的两个点。

    image.png

  3. 根据车位头类型和长宽推断出车位类型(垂直、平行、倾斜)

    image.png

  4. 根据以上特征和车位类型推断出被遮挡点的位置;

image.png

分类部分比较简单,在此不多赘述。

-------------本文结束感谢您的阅读-------------