APP下载

基于迷你卷积神经网络的停车场空车位检测方法

2018-06-20安旭骁邓洪敏史兴宇

计算机应用 2018年4期
关键词:空车识别率车位

安旭骁,邓洪敏,史兴宇

0 引言

近些年私家车大量增加,但在城市停车位有限的情况下,使得在现实生活中寻找空车位非常耗时。随着智能城市的推广,摄像头、无线网及手机在生活中被广泛使用,通过算法将三者有效地结合起来以快捷地查找车位已经成为重要研究方向[1]。对空车位的检测有诸多研究,主要分为机器学习和多传感器方式两种。

在机器学习方面,最广泛使用的是支持向量机(Support Vector Machine, SVM)方法,由于不涉及概率和大数定律等统计方法,简化了通常的分类,且SVM分类可转化为凸优化问题来获得全局最小值,在处理二分类问题中性能表现较好。Dan[2]使用SVM的方法来实现对空车位的识别,后来Wu等[3]通过将SVM和马尔可夫随机场(Markov Random Field, MRF)框架及Paulo等[4]将SVM与高斯初始化的局部二值模式等方法结合来提高检测效率。而在车位识别中,摄像头所拍摄的图片容易受光线、天气、遮挡的影响。文献[5]中使用传统的神经网络进行特征提取并判断空车位,在这篇文章中作者特别考虑到了光线对于空车位检测的影响,通过自动匹配路面像素值来计算车位和车道距离并通过合并相似特征值光照充足和不足的部分提高图片亮度,取得了较好的效果,但文中只涉及150个车位且训练样本较少。车辆在进入车库时很容易被其他车辆遮挡,文献[6]采用基于事件识别(Event Recognition, ER)的方法来检测车离开车位和进入车位的状态。传统神经网络及机器学习方法结构单一,网络结构中所能存储的特征信息有限,对于环境变化比较敏感,泛化能力较弱。

相对于机器学习的方式,多传感器方式不易受到环境干扰。Abad等[7]使用传感器三维建模的方式,通过计算两车位之间的距离并对比本身车长的方式来确定两车之间的空间是否足够用作为空车位的检测方法。Caicedo等[8]通过在地面及车上安装传感器来识别空车位。多传感器识别率较高,但硬件成本也较高,使用范围比较局限。

以上两类方法均具有一定的局限性,而深度学习具有强大的特征提取能力,使得它比传统的算法和神经网络有更强的鲁棒性。卷积神经网络是深度学习中一种有监督的学习模型,在视觉处理和图像分类中性能优越,其多层结构可有效学习和反映输入和输出的复杂关系[9-10]。但通常的卷积神经网络(Convolutional Neural Network, CNN)的运算量巨大,需要造价不菲的硬件设备,限制了它在实际中的应用。基于此,本文提出迷你型CNN(Mini CNN, MCNN)来实现车位检测,不仅大幅减小了CNN的规模,还可将训练好的网络移值到廉价的智能摄像头,实时监测空车位。

1 卷积神经网络

深度学习由Hinton等在2006年提出[11],随后Lecun等提出的卷积神经网络是第一个真正意义上的深层结构网络。卷积神经网络借鉴人的视觉演变而来的,对事物的归类与人脑有相似性,但深度学习却能提取到人眼所观察不到的特征。卷积神经网络是监督式学习网络,包含有输入层、隐含层和输出层。其中隐含层是通过卷积运算而获得的特征图,隐含层的深度代表的是由浅入深不同层次图像特征,其卷积运算如式(1)所示:

(1)

其中:wk为卷积核的第k个卷积矩阵;xk为第k个输入矩阵;n为输入矩阵个数;s(i,j)为对应输出的卷积值。

每个特征图所有单元共享权值,不同特征图使用不同特征,称之为共享权值。权值共享可减少权重参数数量。为加速收敛,将卷积运算后的加权和传递给修正线性单元(Rectified Linear Unit, RELU),即激活函数层。之后数值传递给池化层,用于压缩数据和参数的量,减少过拟合并保留主要特征。池化方法如式(2)所示:

(2)

式(2)表示每个神经元在s×s不重合区域进行采样,采样中取区域最大值作为特征值即第i个输出特征值yi。图1为2×2区域池化前后变化。

卷积层、激活函数层、池化层在表征一层隐含层时是连在一起使用的。为了表述方便,本文在图2和图3中将它们并在一起来表示一层。

图2为标准卷积神经网络模型。图2中n表示隐含层层数,在大型CNN模型如AlexNet中n为5,VGG(Visual Geometry Group)[12]中n为16,ResNet中n上千[12-13]。

图2 标准的CNN卷积神经网络模型

2 MCNN的全模型

MCNN共包含5层(3层卷积层和2层全连接层)。每个卷积层包括有卷积运算层、激活函数层、局部响应归一化(Local Response Normalization, LRN)层、最大池化(max pooling)层。最后输出层是Softmax分类器。分类器中最终输出为两类:0和1(0代表车位为空,1代表该车位被占用)。MCNN模型结构如图3所示。

图3 MCNN网络结构

2.1 输入层

在网络训练时输入层采用PKLot样本集[4],每次输入的样本是单个车位,每个样本的大小为256×256,为了能够扩大样本量,在网络训练时可通过对输入样本进行水平和旋转切割成224×224大小的图片作为输入,样本可扩展多倍。

将训练好的网络移植到摄像头进行识别时,需要对摄像头传来的帧画面进行切割处理。在文献[3]中使用主成分分析(Principal Component Analysis, PCA)方法通过固定车位扫描区域,来分割车位作为SVM的输入。这种方法对于离摄像头较远的车位,容易出现分割误差。考虑到停车场车位和摄像头的相对位置是保持不变的,因此本文提出对帧图手动设置掩码,掩码的区域根据距离摄像头拍摄的远近作调整。在OpenCV环境中将掩码图与原图合并,并通过Canny边缘检测对图片自动切割输出[12],如图4所示。

图4 掩码设置和边缘切割示例

经过切割后输出的结果为单个车位,将大小不同的图归一化调整为224×224同样大小的图片输入到网络进行预测。

2.2 卷积层

实验结果表明,在卷积层中使用较小的卷积如常用的11×11、7×7、5×5、3×3等,能够提取到更多图像的纹理细节,但太小的卷积核会导致参数极大增加。MCNN在第一个全连接层选择使用3×3的卷积核。相对于传统的卷积神经网络,如AlexNet,包含5层卷积层、3层全连接层其8层的网络结构,而MCNN只需要3层卷积层及2层全连接层共5层。参数由AlexNet的6 000万个减少为MCNN的6万多个,减少至原来的1/1 000。

2.3 LRN层

LRN层模仿生物神经系统的侧抑制机制,为局部神经元活动创建竞争机制,使得神经元中响应较大的变得相对更大,并对反馈较小的神经元进行抑制。由于车位检测对明亮度比较敏感,可以通过LRN层提供明度校正,增强模型泛化能力。

2.4 全连接层

最后一层全连接层的输出是2个类的值。网络训练时通过标签进行误差对比,类似BP网络的形式将误差求解偏导并逐层向下传递,不断更新权值直到训练完成。

以上网络训练使用caffe工具体包,训练平台配置为CPU i7-7700k, GPU为Nivida GTX 1080Ti,内存为32 GB且配置CUDNN计算加速平台的服务器。学习参数:初始学习率为0.001,权值衰减为0.000 5,学习动量为0.001。参数之间的关系如式(3)~(4)所示:

(3)

wi+1=wi+vi+1

(4)

表2 不同算法识别率对比 %

3 车位检测结果及对比

由于SVM自身的局限性无法在概率框架下工作,所以在文献[4]中使用归一化的局部相位量(Local Phase Quantization with respectively Uniform, LPQU)和高斯初始化的局部二值(Local Binary Pattern with Gaussian initialization, LBPG)来提取的纹理特征作为SVM的输入,这两种方法较文献[4]中其他如平均值化(mean rule)、最大值化(max rule)等方法能取得较高的识别率,因此本文就在识别率方面与这两种方法进行对比。为了能有效对比不同算法的识别率,本文采用该文献中同样的样本(PKLot)及样本分类方式。

每个样本集合中均包含有晴天、遮挡、雨天三种不同环境下的车位,如UFPR04集合中:晴天车位30 851个(占用车位16 524个,空车位14 327个);遮挡车位22 065个(占用车位6 989个,空车位15 076个);雨天车位3 594个(占用车位1 041个,空车位2 553个),雨天车位在晚上归于遮挡车位。不同环境分类样例如图5所示。

图5 不同环境下车位图

实验中训练样本和测试样本总量如表1所示。

表1 PKLot训练和测试样本量及分类

UFPR04、UFPR05、PUCPR样本集合中各50%作为训练集和测试集。使用以上三个不同训练样本中一个来训练后,再用不同的三个测试集分别来测试。表2为三种算法在不同集合中的正确率。

根据表2可得出结论,在不同天气情况下,MCNN的识别率较其他两种算法高3~8个百分点,且识别率平均值为96.77%。

在车位检测中,光线的变化可能会导致结果的误判,如光线的反射或阳光照射不同角度所产生阴影的不同,同样天气原因如雨天地面积水变化会使得提取的特征有细微变化导致结果误判。为了验证MCNN的鲁棒性,以PUCPR样本集中三种不同环境中的一种作为训练集,来测试网络在其他两种环境中的识别率。结果如表3所示。从表3可以看出,网络在不同环境下识别率变化并不大,保持在92%以上,也充分说明MCNN具有较强的鲁棒性。

卷积网络在图像分类中较传统机器学习方法比较大的优势在于卷积特征提取和逐层抽象,其多隐含层能存储更多特征信息。对于卷积神经网络而言,隐含层越多,抽象能力越强,其分类的结果也越准确;但隐含层增多,其网络参数大量增加如在图像分类挑战赛上赢得了2012届的冠军的AlexNet网络结构模型包含有5层卷积层6 000万个参数,限制了它的应用空间。本文针对车位测试,提出只含有3层卷积层的MCNN,可以实现在参数较少的情况下较好的车位识别率,这也是本文方法的优势。表4为三种算法同等条件下识别率、训练参数和训练时间对比。

表3 对PUCPR不同环境下MCNN识别率 %

表4 三种算法同等条件下识别率,训练参数和训练时间对比

从表4可看出:AlexNet的总体识别率约比MCNN高0.9%,但相对于AlexNet所消耗的巨大计算量而言,这样的损失是可以接受的, MCNN可以移植到智能摄像头进行识别。从总体而言,MCNN实现了对空车位识别率较高的提升。

4 结语

本文将深度学习应用于空车位检测中,提出了改进的卷积神经网络MCNN。在实际视频检测处理时,对获得的帧图进行掩码切割处理,使用训练好的网络,完成对车位检测。实验结果表明,相对对传统的方法,本文算法能较准确地检测空车位,而且计算量小,正确率高。下一步的工作中,将编写APP,并将检测的结果集成在APP中,以实现实时查看车位信息。

参考文献(References)

[1] BLUMER K, HALASEH R H, AHSAN U M, et al. Cost-effective single-camera multi-car parking monitoring and vacancy detection towards real-world parking statistics and real-time reporting[C]// ICONIP 2012: Proceedings of the 19th International Conference on Neural Information Processing, LNCS 7667. Berlin: Springer, 2012: 506-515.

[2] DAN N. Parking management system and method: US, 200301448980AI[P]. 2002- 01- 31.

[3] WU Q, HUANG C, WANG S Y, et al. Robust parking space detection considering inter-space correlation [C]// ICME 2007: Proceedings of the 2007 IEEE International Conference on Multimedia & Expo. Piscataway, NJ: IEEE, 2007: 659-662.

[4] PAULO R L. de ALMEIDA P R, OLIVEIRA L S, et al. PKLot — a robust dataset for parking lot classification[J]. Expert Systems with Applications, 2015, 42(11): 4937-4949.

[5] JERMSURAWONG J, AHSAN U, HAIDAR A, et al. One-day long statistical analysis of parking demand by using single-camera vacancy detection[J]. Journal of Transportation Systems Engineering and Information Technology, 2014, 14(2): 33 44.

[6] FORESTI G, MICHELONI C, SNIDARO L. Event classification for automatic visual-based surveillance of parking lots [C]// ICPRP 2004: Proceedings of the 17th International Conference on Pattern Recognition. Piscataway, NJ: IEEE, 2004: 2128-2132.

[7] ABAD F, BENDAHAN R, WYBO S, et al. Parking space detection[EB/OL]. [2017- 05- 10]. https: //www.researchgate.net/publication/228716676_Parking_space_detection.

[8] CAICEDO F, BLAZQUEZ C, MIRANDA P. Prediction of parking space availability in real time[J]. Expert Systems with Applications, 2012, 39(8): 7281-7290.

[9] 俞汝劼,杨贞. 基于深度卷积神经网络的航空器的识别和检测[J]. 计算机应用, 2017, 37(6): 1702-1707, 1715.(YU R J, YANG Z. Aircraft detection and recognition based on deep convolutional neural networks[J]. Journal of Computer Applications, 2017, 37(6): 1702-1707, 1715.)

[10] 李玉鑑, 张婷. 深度学习导论及案例分析[M]. 北京: 机械工业出版社, 2017: 1-7, 79-85.(LI Y J, ZHANG T. Introduction to Depth Learning and Case Study [M]. Beijing: China Machine Press, 2017: 1-7, 79-85.)

[11] HINTON G E,SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks [J]. Science, 2006,313(2586):504-507.

[12] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[EB/OL]. [2016- 12- 10]. https://arxiv.org/abs/1409.1556.

[13] HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[EB/OL]. [2016- 12- 10]. https://arxiv.org/abs/1512.03385.

[14] CANNY J. A computational approach to edge detection[J]. IEEE Transaction on Pattern Analysis and Machine Intelligence, 1986, 8(6): 679-698.

This work is partially supported by the National Natural Science Foundation of China (61174025)。

猜你喜欢

空车识别率车位
高速公路货车空驶指标统计与规律分析
铁路枢纽空车调配多目标优化模型及算法
街角见空车
为了车位我选择了环保出行
我自己找到一个
一个车位,只停一辆?
档案数字化过程中OCR技术的应用分析
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
人工智能现状和发展