当前位置:首页 期刊杂志

基于俯拍视频图像的露天停车场车位状态检测

时间:2024-07-28

王吉祥,张爱梅

(郑州大学机械与动力学院,河南 郑州 450001)

1 引言

随着社会进步和我国居民生活水平的日益提高,全国各地的汽车保有量在快速增加,随之而来的是人们停车的难题。特别是一些景区或者商场的比较大型的室外露天停车场,绝大多数停车场门口的电子显示屏上不断更新的信息只有空余的停车位有多少个,没有空余的停车位位置的信息。当遇到黄金周等车流量比较大的情况时,就会给停车场工作人员的引导工作和管理工作带来诸多不便,停车场的运行效率也会显得比较低下。如果能够获取随着时间不断变化的空余停车位位置的信息,工作人员在面对以上露天停车场可能会出现的情况时就可以制定合理的管理方案。

在比较大型的露天停车场中获取空余停车位位置的实时信息时,用人工的方式显然是难以应对的,我们可以对停车场中每一个车位是被占据还是未被占据的状态进行自动化检测,并输出未被占据的空余车位的位置信息。自动化检测停车场车位状态的方法有多种,比较常见的检测方法有地磁传感器检测方法[1]、光电传感器检测方法[2]、红外检测方法[3]、超声波检测方法[4]等。以上这些方法能够有效的检测出停车位是否空余,但是需要在每个停车位安装相应的硬件设施。对于车流量大多数时间很少,只是在一年中某一些时间突然增多的停车场,其建设维护成本和使用成本非常高。

因此,经过认真研究后,提出了一种基于无人机视频图像的露天停车场车位状态检测方法,这是基于机器视觉[5]对停车场的车位状态进行自动化的识别,不需要依赖大量的硬件设施,使用起来灵活方便。

2 总体方案设计

以某一比较大型的露天停车场为例,无人机,如图1 所示。通过GPS定位做到飞行高度、飞行位置不变,然后用无人机携带的防抖云台相机(分辨率为720P)俯拍停车场,这样可以使视频的每一帧图像中的停车位相对位置保持不变。截取视频中一帧有非常少的车辆停放的图像作为研究对象,这样做可以在图像处理的过程中排除车辆的影响。通过图像处理可以得到每个停车位在图像中的相对位置坐标。再结合基于迁移学习的停车场分类网络,就可以对视频中停车场的车位状态进行自动化检测。总体方案流程图,如图2所示。

图1 组装的无人机Fig.1 Assembled UAV

图2 总体方案流程图Fig.2 Flow Chart of the Overall Scheme

3 图像处理

3.1 图像预处理

对从视频中截取的图像进行灰度化和中值滤波等预处理。图像预处理的效果图,如图3所示。灰度化处理可以将三通道的RGB图像变为单通道,这样处理的数据量就减少许多。灰度化表达式,如式(1)所示。

图3 图像预处理效果图Fig.3 Image Preprocessing Renderings

其中,x1=0.3,x2=0.59,x3=0.11。

中值滤波能有效去除图像中的斑点噪声和椒盐噪声,同时又会保护图像的边缘细节。中值滤波表达式,如式(2)所示。

式中:Med—排序取中值;n—滤波器大小。

3.2 边缘检测

由于霍夫变换的输入图像最好是边缘二值图像。所以,在使用霍夫变换之前可使用Canny算法进行边缘检测,传统的Canny边缘检测算法分为以下几个步骤:(1)使用高斯滤波平滑图像,滤除噪声;(2)计算图像中每个像素点的梯度幅度和方向;(3)应用非极大值抑制,定位准确边缘同时细化边缘;(4)应用双阈值(Double-Threshold)来检测强边缘点和弱边缘点;(5)连接边缘,最终完成边缘检测。

但是,应用传统的Canny算法精度一般且传统Canny算法应用双阈值(Double-Threshold)处理,其两个阈值都是人为设定的,需要经过试验人工调试才能确定。

为了提高精度,在此对传统的Canny边缘检测进行如下两点改进。(1)改用中值滤波来对图像进行滤波处理,这是因为中值滤波处理后的图像模糊较小,能够很好保护图像的边缘信息;(2)改用大津算法(Otsu)[6],该算法是一种根据图像的信息自适应地来确定阈值的方法。该算法原理是通过计算找到最大类间方差并以此来确定阈值,其表达式如下。

将式(6)带入式(3)可得表达式:

式中:T—阈值;[0,N-1]—灰度级范围;ω0—背景像素占比;ω1—前景像素占比;μ0—背景的平均灰度值;μ1—前景平均灰度值;μ—像素均值。经过改进Canny算法处理的图形效果,如图4所示。

图4 改进Canny算法处理后的图像Fig.4 Image Processed by the Improved Canny Algorithm

3.3 霍夫变换检测直线

每一个停车位都有两条平行的直线,所以停车位在图像中的相对位置可以通过这些直线来确定,利用霍夫变换可以有效的检测出图像中的直线[7]。

霍夫变换算法有多种,最终选择的是其中的累计概率霍夫变换(PPHT)算法。因为该算法能够检测出直线的两个端点,并输出两个端点的矢量(x1,y1)和(x2,y2),这样就可以确定直线在图像中的相对位置。

经过累计概率霍夫变换(PPHT)处理过的图像所得到的直线并不都是我们能够用到的直线。因此,我们需要对这些直线进行过滤。在这里需要保留水平线,每条直线是有四个元素矢量来表示,即(x1,y1,x2,y2)。其中,(x1,y1)和(x2,y2)是每条检测到的直线的两个端点。因此,我们可以设立条件(y2-y1)<=1 且,90<=(x2-x1)<=100。只有满足了设立的条件时,直线才能被保留。过滤后的图像,如图5所示。

图5 过滤后的结果Fig.5 Results After Filtering

4 确定停车位位置坐标

对过滤后的直线进行分类,找出第一列到第七列的直线。首先对过滤后的直线进行排序,按照每条直线的起点横坐标x1值大小进行排序,对于两条不同列中的直线其横坐标x1差值会比较大,而同一列中的两条直线其横坐标x1差值就会很小,这样就可以设立条件将直线分别归类到第一列至最后一列:

将第一列中的直线按照纵坐标y值的大小进行排序,然后用最大的y值减去最小的y值,再除以n排个停车位就能得出每个停车位的宽度g,g=(585-90)/22=22.5。通过之前的排序已经知道最小的x1值,x1=100。对第一列的直线按照x2值的大小进行排列,可以知道最大的x2值,x2=198。

以第一列为例,选取这列最小的x1值和最小的y1值作为起点坐标,每一个停车位的大小是一样的,由于第一列的停车位是双排的,所以设x=(x2+x1)/2,x=(198+100)/2=149。按照从左到右,从下到上的顺序,第一列的第一个停车位的坐标为(x1,y1,x,y1+g),第二个停车位的坐标为(x,y1,x2,y1+g)。第三个停车位的坐标为(x1,y1+g,x,y1+2g)。以此类推,第一列停车区的所有的停车位的位置都有相对应的坐标。同理,停车场中其余每列的每一个停车位都有对应的坐标。

将这些坐标和对应的第几个停车位做成一个字典结构并将字典保存下来,每一个车位坐标都对应一个车位编号dict:{(100,90,149,112.5):1,(149,90,198,112.5):2,(100,112.5,149,135):3…}。以后俯拍图像中的停车位位置信息就可以用这些坐标来表示。

5 停车位状态检测

5.1 网络构建

通过以上的图像处理、计算,我们已经获取了图像中停车场每一个停车位的相对位置坐标,接下来的工作是检测图像中停车场的每一个停车位是否是空余车位,这可以看做是一个分类问题。解决分类问题的方法有多种,在综合考虑各方面因素后,最后决定采用的是深度学习算法[8]中的经典模型VGG-16[9]。VGG-16是一种经典的卷积神经网络,它在对图片分类任务中有着优异表现。VGG-16网络由13个卷积层,5个最大池化层,2个全连接层和1个Softmax层构成。

5.2 训练网络

选取视频中车辆较多的几帧图像,根据停车位固定的坐标值将停车场中的每一个车位的图像裁剪出来,作为后续网络的训练数据集,如图6所示。

图6 训练集图像Fig.6 Image of Training Set

由于时间和空间的限制,收集的数据集较小,如果我们直接用这些数据集来训练网络的话,所花费的时间会比较长而且做出来的效果也是不够理想。这时可以引入迁移学习的方法[10],迁移学习的思想是:找到一个现有的能够做类似任务的神经网络,然后直接将这个网络的底层拿来用。这样训练速度大大提高的同时,还可以减少对训练数据集的要求。

在网络训练阶段,如图7所示。可以用ImageNet数据集对网络进行预训练,来获得网络的初始化权值。然后,根据实际问题需要将VGG-16网络Softmax层的1000个输出类调整为2个输出类。迁移学习预训练网络作为停车场分类网络的起点,由随机初始化权值变为将预训练网络权重作为初始化权值。最后,用训练数据集中的图像对网络进行再训练,训练好的停车场分类网络就可以用于检测视频图像停车场的车位状态。

图7 迁移学习原理图Fig.7 Transfer Learning Schematic Diagram

5.3 结果评价

用准确率Acc,精确率P,召回率R和F1-score作为实验结果评价指标。其表达式,如式(8)~式(11)所示。

式中:TP—将正类分类正确的个数;TN—将负类分类正确的个数;FN—将正类分类错误的个数;FP—将负类分类错误的个数。

选取视频中有较多车辆的一帧图像来做测试实验,如图8所示。测试实验是在基于Python-Opencv 和Karase 来开发自动识别程序上进行。测试实验过程如下,程序会根据已经得到的停车位的坐标信息将图像中的每一个停车位裁剪出来。然后将裁剪出的停车位图像输入到停车场分类网络中,判断停车位是否被占据,如果车位是空余的则输出该车位的坐标。统计的停车位分类网络的分类结果,如表1所示。可以看出停车场分类网络对停车场的车位状态检测效果还是比较好的。

表1 停车场分类网络检测结果Tab.1 Detection Results of Parking Lot Classification Network

图8 停有车辆的图像Fig.8 Images of Parked Vehicles

以上是基于图像的停车位状态检测,由于视频是由一帧一帧的图像组成,所以在基于视频进行检测时是将视频的每一帧图像提取出来,然后再对每一帧图像中的停车位状态进行检测。

6 结语

针对如何获取室外比较大型的露天停车场空余停车位的位置信息,提出了一种基于无人机视频图像的露天停车场车位状态检测方法。最后实际场景的实验结果表明,神经网络对空余停车位的识别精度是比较高的。所提出的方法能对停车场空余停车位的位置信息进行连续、实时更新,方便了停车场工作人员对停车场进行管理。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!