详解停车位检测算法 Vision-Based Parking-Slot Detection: A DCNN-Based Approach and a Large-Scale Benchmark

在这里插入图片描述
本文介绍一篇基于深度学习的停车位检测论文:DeepPS,作者同时公开了数据集ps2.0,工作很扎实,对于入门停车位检测很有帮助,论文发表在 IEEE T-IP 2018

项目链接为:https://cslinzhang.github.io/deepps/


0. Abstract

自动泊车系统中,如何能准确而高效地检测和定位停车位是一个关键但尚未解决的问题。由于路面材质的多样性、光照条件的变化以及树木产生的阴影等因素,使得基于视觉的停车位检测变得比看上去困难得多。

本文提出了一种新的基于卷积神经网络的停车位检测方法,即 DeepPSDeepPS的关键步骤有两个:识别输入图像上的所有标记点对标记点对形成的局部图像进行分类

其次,为了便于基于视觉的停车位检测研究,建立了大规模的数据集。包括从典型的室内室外停车场采集的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}j=0J−1\{\mathbf{I}_j\}_{j=0}^{\mathbf{J}-1}{Ij}j=0J1。其中 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_4t1t2t3t4 是根据各种停车位进入线长度的先验知识确定的。
  • 然后,还需要进一步处理满足距离约束的标记点对。首先,对于一对标记点,虽然它可以满足距离约束,但它们仍然很可能无法形成有效的车位进入线。例如,在下面的左图中两个标记点之间的距离满足作为平行停车位的车位进入线的距离约束;然而,这两个标记点仍然无线形成有效的车位进入线,因为它们之间还存在一个标记点未检测出来。另外,假设可以形成有效的车位进入线。还需要确定相关的停车位是在顺时针方向还是在逆时针方向,以及这个停车位是直角还是倾斜。所有这些问题都可以通过将两个标记点形成的局部图像模式分类到预定义的类中来解决

如中间的图所示:首先建立以 p1\mathbf{p}_1p1p2\mathbf{p}_2p2中点为原点,以 p1p2→\overrightarrow{\mathbf{p}_{1} \mathbf{p}_{2}}p1p2X\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 xp1p2+Δ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_3d1d2d3
在这里插入图片描述

  • 假设 p1\mathbf{p}_1p1p2\mathbf{p}_2p2 是两个检测到的标记点,形成的局部图像模式分为顺时针直角逆时针直角,则可以很容易地计算出两个非标记点 p3\mathbf{p}_3p3p4\mathbf{p}_4p4 的坐标。例如,在上图(a)中,标记点形成的局部图像模式是顺时针直角并且此停车位应为垂直停车位,其深度d1d_1d1。因此,其另外两个标记点 p3\mathbf{p}_3p3p4\mathbf{p}_4p4 可表示为:
    p3=[cos⁡π2sin⁡π2−sin⁡π2cos⁡π2]p1p2→∥p1p2→∥⋅d1+p2p4=[cos⁡π2sin⁡π2−sin⁡π2cos⁡π2]p1p2→∥p1p→2→∥⋅d1+p1\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π]p1p2p1p2d1+p2p4=[cos2πsin2πsin2πcos2π]p1p2p1p2d1+p1
  • 当由两个标记点形成的局部图像模式被分类为倾斜时,如上图( c )所示。在图( c )中,标记点形成的局部图像模式被分类为逆时针倾斜(锐角);为了估计两个非标记点的位置,需要估计角度 α\alphaα。为了解决这个问题,采用基于模板匹配的策略。图(d)中所示的是一套理想的T形模板 {Tθj}j=1M\{\mathbf{T}_{\theta_j}\}_{j=1}^{M}{Tθj}j=1MMMM 是模板数量。每个模板的大小为 s×ss\times ss×s。测试时,提取两个标记点的图像进行匹配,则角度 α\alphaα 为:
    α=arg⁡max⁡θj{I1∗Tθj+I2∗Tθj},j=1,…,M\alpha=\underset{\theta_{j}}{\arg \max }\left\{\mathbf{I}_{1} * \mathbf{T}_{\theta_{j}}+\mathbf{I}_{2} * \mathbf{T}_{\theta_{j}}\right\}, \quad j=1, \ldots, Mα=θjargmax{I1Tθj+I2Tθj},j=1,,M
    则其余两个标记点计算为:
    p3=[cos⁡α−sin⁡αsin⁡αcos⁡α]p1p2→∥p1p2→∥⋅d3+p2p4=[cos⁡α−sin⁡αsin⁡αcos⁡α]p1p2→∥p1p2→∥⋅d3+p1\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α]p1p2p1p2d3+p2p4=[cosαsinαsinαcosα]p1p2p1p2d3+p1

最终,DeepPS的训练和测试工作流程如下:
在这里插入图片描述


3. Experimental Results

A. Benchmark Dataset & Settings

首先介绍数据集:每张环视图的分辨率为600×600,对应于一个10m×10m的区域,即环视图上1个像素的长度对应于物理地面上1.67cm长度。通过离线标定,可以得到从环视图坐标系到以车辆为中心的世界坐标系的变换矩阵。因此,当在环视图上检测到停车位时,可以反投影确定其在世界坐标系中的坐标。

表3和4是 ps1.0,ps2.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}gidi<δ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=gigi 表示定位误差,这里使用平均定位误差作为定位误差。漏检率与误报率、定位误差、检测时间比较、局部图案分类结果如下表:

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

C.Parking-Slot Detection

作者与其它几种停车位检测算法进行了比较,结果如下:

在这里插入图片描述在这里插入图片描述在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439597.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CodeForces - 789D】Weird journey(思维,图的性质,tricks,有坑)

题干&#xff1a; Little boy Igor wants to become a traveller. At first, he decided to visit all the cities of his motherland — Uzhlyandia. It is widely known that Uzhlyandia has n cities connected with m bidirectional roads. Also, there are no two roads…

Monitor(管程)是什么意思?Java中Monitor(管程)的介绍

本篇文章给大家带来的内容是关于Monitor&#xff08;管程&#xff09;是什么意思&#xff1f;Java中Monitor&#xff08;管程&#xff09;的介绍&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。 monitor的概念 管程&#x…

详解经典GPS辅助惯性导航论文 A GPS-aided Inertial Navigation System in Direct Configuration

本文介绍一篇 IMU 和 GPS 融合的惯性导航论文&#xff0c;重点是理解本文提出的&#xff1a;Dynamical constraints update、Roll and pitch updates 和 Position and heading updates。 论文链接为&#xff1a;https://www.sciencedirect.com/science/article/pii/S166564231…

【POJ - 2151】Check the difficulty of problems(概率dp)

​​​​题干&#xff1a; Organizing a programming contest is not an easy job. To avoid making the problems too difficult, the organizer usually expect the contest result satisfy the following two terms: 1. All of the teams solve at least one problem. 2.…

jsp之九大内置对象与四大域对象

一,什么是内置对象? 在jsp开发中会频繁使用到一些对象,如ServletContext HttpSession PageContext等.如果每次我们在jsp页面中需要使用这些对象都要自己亲自动手创建就会特别的繁琐.SUN公司因此在设计jsp时,在jsp页面加载完毕之后自动帮开发者创建好了这些对象,开发者只需要使…

详解停车位检测论文:Attentional Graph Neural Network for Parking-slot Detection

本文介绍一篇注意力图神经网络用于停车位检测论文&#xff0c;论文已收录于 RA-L2021。在之前的基于卷积神经网络的停车位检测方法中&#xff0c;很少考虑停车位标记点之间的关联信息&#xff0c;从而导致需要复杂的后处理。在本文中&#xff0c;作者将环视图中的标记点看作图结…

【Codeforces - 769D】k-Interesting Pairs Of Integers(暴力,统计,思维,数学,异或)

题干&#xff1a; Vasya has the sequence consisting of n integers. Vasya consider the pair of integers x and y k-interesting, if their binary representation differs from each other exactly in k bits. For example, if k  2, the pair of integers x  5 and …

JSP的三六九四七(三大指令、六大标签、九大内置对象、四大作用域、七个动作指令)

JSP的基本构成&#xff1a;HTML文件Java片断JSP标签 三大指令&#xff1a;page指令、include指令、taglib指令。 page指令: 1.language属性&#xff1a;设置当前页面中编写JSP脚本使用的语言&#xff0c;默认值为java。 <%page language"java"%> 2.content…

详解3D物体检测模型 SPG: Unsupervised Domain Adaptation for 3D Object Detection via Semantic Point Generation

本文对基于激光雷达的无监督域自适应3D物体检测进行了研究&#xff0c;论文已收录于 ICCV2021。 在Waymo Domain Adaptation dataset上&#xff0c;作者发现点云质量的下降是3D物件检测器性能下降的主要原因。因此论文提出了Semantic Point Generation (SPG)方法&#xff0c;首…

【CodeForces - 722D】Generating Sets(二分,贪心)

题干&#xff1a; You are given a set Y of n distinct positive integers y1, y2, ..., yn. Set X of n distinct positive integers x1, x2, ..., xn is said to generate set Y if one can transform X to Y by applying some number of the following two operati…

Waymo研发经理:《自动驾驶感知前沿技术介绍》

Waymo研发经理|自动驾驶感知前沿技术介绍这是Waymo研发经理&#xff08;VoxelNet作者&#xff09;的一个最新分享报告&#xff1a;《自动驾驶感知前沿技术介绍》。在这份报告里&#xff0c;介绍了Waymo在自动驾驶感知中五个研究方向的最新成果。 1. Overview of the autonomous…

几种常见软件过程模型的比较

瀑布模型 瀑布模型&#xff08;经典生命周期&#xff09;提出了软件开发的系统化的、顺序的方法。其流 程从用户需求规格说明开始&#xff0c;通过策划、建模、构建和部署的过程&#xff0c;最终提供一 个完整的软件并提供持续的技术支持。 优点&#xff1a; 1. 强调开发的…

两篇基于语义地图的视觉定位方案:AVP-SLAM和RoadMap

本文介绍两篇使用语义地图进行视觉定位的论文&#xff0c;两篇论文工程性很强&#xff0c;值得一学。 AVP-SLAM是一篇关于自动泊车的视觉定位方案&#xff0c;收录于 IROS 2020。论文链接为&#xff1a;https://arxiv.org/abs/2007.01813&#xff0c;视频链接为&#xff1a;ht…

【51Nod - 1270】数组的最大代价(dp,思维)

题干&#xff1a; 数组A包含N个元素A1, A2......AN。数组B包含N个元素B1, B2......BN。并且数组A中的每一个元素Ai&#xff0c;都满足1 < Ai < Bi。数组A的代价定义如下&#xff1a; &#xff08;公式表示所有两个相邻元素的差的绝对值之和&#xff09; 给出数组B&…

一步步编写操作系统 56 门、调用门与RPL序 1

小弟多次想把调用门和RPL分开单独说&#xff0c;但几次尝试都没有成功&#xff0c;我发现它们之间是紧偶合、密不可分&#xff0c;RPL的产生主要是为解决系统调用时的“越权”问题&#xff0c;系统调用的实现方式中&#xff0c;以调用门和中断门最为适合。由于以后我们将用中断…

自动驾驶纯视觉3D物体检测算法

视频链接&#xff1a;https://www.shenlanxueyuan.com/open/course/112 这是Pseudo-LiDAR作者最近做的一个分享报告&#xff1a;《Pseudo-LiDAR&#xff1a;基于相机的3D物体检测算法》。在这份报告里&#xff0c;作者主要介绍了博士期间的研究成果&#xff1a;基于深度学习的…

【HDU - 5977】Garden of Eden(树分治)

题干&#xff1a; When God made the first man, he put him on a beautiful garden, the Garden of Eden. Here Adam lived with all animals. God gave Adam eternal life. But Adam was lonely in the garden, so God made Eve. When Adam was asleep one night, God took …

一步步编写操作系统 57 门、调用门与RPL序 2

接上文&#xff1a; 提供了4种门的原因是&#xff0c;它们都有各自的应用环境&#xff0c;但它们都是用来实现从低特权级的代码段转向高特权级的代码段&#xff0c;咱们这里也只讨论有关特权级的功用&#xff1a; 1.调用门 call和jmp指令后接调用门选择子为参数&#xff0c;以…

Coursera自动驾驶课程第15讲:GNSS and INS Sensing for Pose Estimation

在上一讲《Coursera自动驾驶课程第14讲&#xff1a;Linear and Nonlinear Kalman Filters》 我们学习了卡尔曼滤波相关知识&#xff0c;包括&#xff1a;线性卡尔曼滤波&#xff08;KF&#xff09;、扩展卡尔曼滤波&#xff08;EKF&#xff09;、误差卡尔曼滤波&#xff08;ES-…

【HDU - 3002】King of Destruction(无向图全局最小割,SW算法,模板题)

题干&#xff1a; Zhou xingxing is the successor of one style of kung fu called "Karate Kid".he is falling love with a beautiful judo student,after being humiliated by her boyfriend,a Taekwando master from Japan,Zhou is going to fight with his ri…