wordpress文章页获取目录名称,网站内容优化方案,搭建平台的目的和意义是什么,网站关键词都没有了本文介绍一篇基于深度学习的停车位检测论文#xff1a;DeepPS#xff0c;作者同时公开了数据集ps2.0#xff0c;工作很扎实#xff0c;对于入门停车位检测很有帮助#xff0c;论文发表在 IEEE T-IP 2018。
项目链接为#xff1a;https://cslinzhang.github.io/deepps/ 0… 本文介绍一篇基于深度学习的停车位检测论文DeepPS作者同时公开了数据集ps2.0工作很扎实对于入门停车位检测很有帮助论文发表在 IEEE T-IP 2018。
项目链接为https://cslinzhang.github.io/deepps/ 0. Abstract
在自动泊车系统中如何能准确而高效地检测和定位停车位是一个关键但尚未解决的问题。由于路面材质的多样性、光照条件的变化以及树木产生的阴影等因素使得基于视觉的停车位检测变得比看上去困难得多。
本文提出了一种新的基于卷积神经网络的停车位检测方法即 DeepPS。DeepPS的关键步骤有两个识别输入图像上的所有标记点和对标记点对形成的局部图像进行分类。
其次为了便于基于视觉的停车位检测研究建立了大规模的数据集。包括从典型的室内和室外停车场采集的12165张环视图。 1. Introduction Related Work
下图是一个典型的基于视觉的停车位检测系统该系统包括两个模块即环视图合成和对环视图的停车位检测。本文重点介绍停车位检测环视图合成可以查看相关文献。 下图为本文中收集到的停车位数据(a)、(b)、( c )、(d)中的停车位是垂直的(e)、(f)、(g)中的停车位是平行的(h)中的停车位是倾斜的。(a)和(b)是从室内停车场采集的其它的是从室外停车场采集的。(b)中的车位线是黄色的而其它图像中的车位线是白色的。(e)是在雨天采集的(f)是晚上在路灯下采集的在(g)中树木造成的阴影覆盖了停车线(d)和(e)中车位线有所损坏。 对于采集的数据集作者进行了标注下图中黄色圆圈为标记点。 2. DeepPS: A DCNN-Based Approach
下图分别为理想的垂直、平行和倾斜停车位。在图中所有标记点都用黄圆圈标记。此外还标记了车位进入线有效停车位的两个标记点的连接虚线和车位分隔线(白色实线)。
对于停车位检测DeepPS主要分为三步标记点检测、局部图像模式分类和停车位推理。 A. Marking-Point Detection
本文选择YoloV2模型作为标记点检测器。在训练阶段对于每张环视图首先人工标注所有的标记点。对于每个标记点 pi\mathbf{p}_ipi都有一个以标记点为中心固定尺寸为 p×pp\times pp×p 的包围框作为标记点的真值包围框。
为了使检测器具有旋转不变性作者通过旋转每张原始标记图片来增强训练集。具体地说每张训练图片 I\mathbf{I}I可以得到它的 J\mathbf{J}J 个旋转版本图片{Ij}j0J−1\{\mathbf{I}_j\}_{j0}^{\mathbf{J}-1}{Ij}j0J−1。其中 Ij\mathbf{I}_jIj 经过旋转 360J×j\frac{360}{\mathbf{J}}\times jJ360×j 角度得到。同时标记点的坐标也以同样的方式旋转。
下图中(a)是原始训练图片(b)是通过将图(a)旋转30度来生成的。标记点为紫色点边界框为黄色。 B. Local Image Pattern Classification
测试时置信度大于 δ1\delta_1δ1 的点将被视为标记点。假如有两个标记点 p1,p2\mathbf{p}_1,\mathbf{p}_2p1,p2还需要验证其是否能够形成有效的车位进入线
首先如果 p1,p2\mathbf{p}_1,\mathbf{p}_2p1,p2 能够形成一个有效的车位进入线两个标记点之间的距离应该满足一些距离约束条件。如果是平行停车位的车位进入线应该满足 t1∣∣p1p2∣∣t2t_1||\mathbf{p}_1\mathbf{p}_2||t_2t1∣∣p1p2∣∣t2如果是垂直或倾斜停车位的车位进入线应该满足t3∣∣p1p2∣∣t3t_3||\mathbf{p}_1\mathbf{p}_2||t_3t3∣∣p1p2∣∣t3参数 t1、t2、t3、t4t_1、t_2、t_3、t_4t1、t2、t3、t4 是根据各种停车位进入线长度的先验知识确定的。然后还需要进一步处理满足距离约束的标记点对。首先对于一对标记点虽然它可以满足距离约束但它们仍然很可能无法形成有效的车位进入线。例如在下面的左图中两个标记点之间的距离满足作为平行停车位的车位进入线的距离约束然而这两个标记点仍然无线形成有效的车位进入线因为它们之间还存在一个标记点未检测出来。另外假设可以形成有效的车位进入线。还需要确定相关的停车位是在顺时针方向还是在逆时针方向以及这个停车位是直角还是倾斜。所有这些问题都可以通过将两个标记点形成的局部图像模式分类到预定义的类中来解决。
如中间的图所示首先建立以 p1\mathbf{p}_1p1 和 p2\mathbf{p}_2p2 的中点为原点以 p1p2→\overrightarrow{\mathbf{p}_{1} \mathbf{p}_{2}}p1p2 为 X\mathbf{X}X 轴的局部坐标系。因此可以确定它的 Y\mathbf{Y}Y 轴。在这个坐标系中定义了一个矩形区域 R\mathbf{R}R。对于 R\mathbf{R}R其沿 X\mathbf{X}X 轴的长度设为 ∥p1p2∥Δx\left\|\mathbf{p}_{1} \mathbf{p}_{2}\right\|\Delta x∥p1p2∥Δx 及其沿 Y\mathbf{Y}Y 轴的长度设为 Δy\Delta yΔy, 从环视图中提取 R\mathbf{R}R 覆盖的区域将其归一化为 w×hw\times hw×h 的大小区域得到了局部图像模式。
在训练阶段会得到一个由标记点形成的所有局部图像模式组成的集合 C\mathbb{C}C。根据停车位的特征将集合 C\mathbb{C}C 中的样本分为7类如右图所示逆时针直角逆时针倾斜锐角逆时针倾斜钝角顺时针直角顺时针倾斜(钝角)顺时针倾斜(锐角)无效。
在构造集合 C\mathbb{C}C时还有一个实际问题类不平衡这意味着一个特定的类相对于其它类只有很少的实例。为了解决这个问题作者采用了SMOTE对少数类别进行了过度采样。 作者设计的分类模型如下图所示右边是模型参数。 C. Parking-Slot Inference
在自动泊车系统中停车位通常被认为是一个平行四边形由其四个顶点的坐标表示。在大多数情况下两个非标记点是不可见的其坐标只能通过推理得到。为此需要假设停车位的深度是已知的先验知识。如下图(a)、(b)、( c )所示垂直、平行和倾斜的停车位的深度分别为 d1、d2、d3d_1、d_2、d_3d1、d2、d3。
假设 p1\mathbf{p}_1p1 和 p2\mathbf{p}_2p2 是两个检测到的标记点形成的局部图像模式分为顺时针直角或逆时针直角则可以很容易地计算出两个非标记点 p3\mathbf{p}_3p3 和 p4\mathbf{p}_4p4 的坐标。例如在上图(a)中标记点形成的局部图像模式是顺时针直角并且此停车位应为垂直停车位其深度为 d1d_1d1。因此其另外两个标记点 p3\mathbf{p}_3p3 和 p4\mathbf{p}_4p4 可表示为 p3[cosπ2sinπ2−sinπ2cosπ2]p1p2→∥p1p2→∥⋅d1p2p4[cosπ2sinπ2−sinπ2cosπ2]p1p2→∥p1p→2→∥⋅d1p1\begin{array}{l} \mathbf{p}_{3}\left[\begin{array}{cc} \cos \frac{\pi}{2} \sin \frac{\pi}{2} \\ -\sin \frac{\pi}{2} \cos \frac{\pi}{2} \end{array}\right] \frac{\overrightarrow{\mathbf{p}_{1} \mathbf{p}_{2}}}{\left\|\overrightarrow{\mathbf{p}_{1} \mathbf{p}_{2}}\right\|} \cdot d_{1}\mathbf{p}_{2} \\ \mathbf{p}_{4}\left[\begin{array}{cc} \cos \frac{\pi}{2} \sin \frac{\pi}{2} \\ -\sin \frac{\pi}{2} \cos \frac{\pi}{2} \end{array}\right] \frac{\overrightarrow{\mathbf{p}_{1} \mathbf{p}_{2}}}{\left\|\overrightarrow{\mathbf{p}_{1} \overrightarrow{\mathbf{p}}_{2}}\right\|} \cdot d_{1}\mathbf{p}_{1} \end{array} p3[cos2π−sin2πsin2πcos2π]∥p1p2∥p1p2⋅d1p2p4[cos2π−sin2πsin2πcos2π]∥∥∥p1p2∥∥∥p1p2⋅d1p1当由两个标记点形成的局部图像模式被分类为倾斜时如上图( c )所示。在图( c )中标记点形成的局部图像模式被分类为逆时针倾斜(锐角)为了估计两个非标记点的位置需要估计角度 α\alphaα。为了解决这个问题采用基于模板匹配的策略。图(d)中所示的是一套理想的T形模板 {Tθj}j1M\{\mathbf{T}_{\theta_j}\}_{j1}^{M}{Tθj}j1MMMM 是模板数量。每个模板的大小为 s×ss\times ss×s。测试时提取两个标记点的图像进行匹配则角度 α\alphaα 为 αargmaxθj{I1∗TθjI2∗Tθj},j1,…,M\alpha\underset{\theta_{j}}{\arg \max }\left\{\mathbf{I}_{1} * \mathbf{T}_{\theta_{j}}\mathbf{I}_{2} * \mathbf{T}_{\theta_{j}}\right\}, \quad j1, \ldots, Mαθjargmax{I1∗TθjI2∗Tθj},j1,…,M 则其余两个标记点计算为 p3[cosα−sinαsinαcosα]p1p2→∥p1p2→∥⋅d3p2p4[cosα−sinαsinαcosα]p1p2→∥p1p2→∥⋅d3p1\begin{array}{l} \mathbf{p}_{3}\left[\begin{array}{cc} \cos \alpha -\sin \alpha \\ \sin \alpha \cos \alpha \end{array}\right] \frac{\overrightarrow{\mathbf{p}_{1} \mathbf{p}_{2}}}{\left\|\overrightarrow{\mathbf{p}_{1} \mathbf{p}_{2}}\right\|} \cdot d_{3}\mathbf{p}_{2} \\ \mathbf{p}_{4}\left[\begin{array}{cc} \cos \alpha -\sin \alpha \\ \sin \alpha \cos \alpha \end{array}\right] \frac{\overrightarrow{\mathbf{p}_{1} \mathbf{p}_{2}}}{\left\|\overrightarrow{\mathbf{p}_{1} \mathbf{p}_{2}}\right\|} \cdot d_{3}\mathbf{p}_{1} \end{array}p3[cosαsinα−sinαcosα]∥p1p2∥p1p2⋅d3p2p4[cosαsinα−sinαcosα]∥p1p2∥p1p2⋅d3p1
最终DeepPS的训练和测试工作流程如下 3. Experimental Results
A. Benchmark Dataset Settings
首先介绍数据集每张环视图的分辨率为600×600对应于一个10m×10m的区域即环视图上1个像素的长度对应于物理地面上1.67cm长度。通过离线标定可以得到从环视图坐标系到以车辆为中心的世界坐标系的变换矩阵。因此当在环视图上检测到停车位时可以反投影确定其在世界坐标系中的坐标。
表3和4是 ps1.0ps2.0 数据集的比较与测试集数据采样分布表5是超参数设置。 B. Marking-Point Detection Local Image Pattern Classification
下面介绍标记点检测对于标记点真值 gi\mathbf{g}_igi如果一个检测到的标记点 di\mathbf{d}_idi 满足 ∥gi−di∥δ2\left\|\mathbf{g}_{i}-\mathbf{d}_{i}\right\|\delta_{2}∥gi−di∥δ2则认为 gi\mathbf{g}_igi 是正确检测的。为了比较不同的检测器我们通过改变检测置信度的阈值画出log-log图绘制漏检率与每张图片的误报率。
然后是定位误差用 gi\mathbf{g}_igi 表示真值gi′\mathbf{g}_i^{}gi′ 表示检测到的标记点真阳性。用 ei∥gi′−gi∥e_{i}\left\|\mathbf{g}_{i}^{\prime}-\mathbf{g}_{i}\right\|ei∥gi′−gi∥ 表示定位误差这里使用平均定位误差作为定位误差。漏检率与误报率、定位误差、检测时间比较、局部图案分类结果如下表 C.Parking-Slot Detection
作者与其它几种停车位检测算法进行了比较结果如下