APP下载

基于卷积神经网络的窨井盖检测

2018-04-02陶祝刘正熙熊运余

现代计算机 2018年2期
关键词:窨井盖井盖卷积

陶祝,刘正熙,熊运余

(四川大学计算机学院,成都 610000)

0 引言

近几年来已涌现出很多有关井盖管理监测的方法,大部分是从传感器的角度出发,布置一些硬件设备,而较少结合视频监控和算法来实现,随着人工智能的迅速发展,国内的井盖监测方法也逐渐转换为使用自动化技术实现。李亚胜[1]提出的基于红外探测的井盖监测系统,使用E3Z-T82红外线监测组,并结合分布式控制方法,能够准确探测井盖的状态;雷可[2]的文章中提到,对路面上出现的井盖破损情况进行图片采集,通过计算机技术处理图片,可使用自动化检测方法监测;张丰焰[3]等人提出的基于改进Hough与图像比对法的窨井盖疑似破裂检测,通过提取窨井盖的颜色、边缘轮廓特征,并使用改进的Hough变换方法,计算窨井盖的区域范围,判断是否有破损或丢失的情况;PASQUET J.[4]等提出,首先模拟出一个和窨井盖大小以及形状相似的圆形模型,再利用机器学习算法学习窨井盖的外观特征,结合两者生成的模型,用于检测城市街道中的窨井盖,大大提高了窨井盖检测的准确率。以上方法虽能实现窨井盖的监测,但算法的性能不够好,计算量较大,想运用到实时系统则更加困难。为了解决这些难题,减少计算的复杂度,可采用当前较为经典的目标检测算法,首先提取目标的特征,如SIFT角点、Haar-like、方向梯度直方图 Histogram Orientation of Gradient(HOG)等;根据特征判断目标类别和实现定位。Girshick R等提出的卷积神经网络RCNN[5]检测模型,首先选取大约2000个区域,在这些可能区域中,用卷积神经网络提取目标的特征;输入图像通过五个卷积层及对应的池化层后,得到一个多维的特征向量,接着用全连接层将这些特征结合,最后通过Softmax层分类输出;由此,卷积神经网络掀起一股深度学习热潮,动态形变模型 Deformable Parts Models(DPM)[6]的研究者也尝试对其改进,将提取HOG特征这一步,转换为用深度金字塔层DeepPyramid[7]网络层实现,其精度和速率,结果在行人检测方向甚至超越了目前的RCNN。He K[8]等提出空间金字塔池化层Spacial Pyramid Pooling net,对RCNN进行改进;之后出现Fast RCNN[9],Faster R-CNN[10],在 RCNN 的基础上提高了检测速率,使得目标检测几乎达到实时。

从自动化城市管理角度出发,本文采用基于Faster R-CNN的网络模型,提取各种类型井盖的特征,并收集大量井盖视频、图片数据集,分别制作训练集、验证集以及测试集,投入到神经网络中进行训练,得到精确的井盖检测模型,实现井盖的实时监控管理。

1 卷积神经网络简介

卷积神经网络 Convolution Neural Network(CNN)是一种前馈神经网络,是当前计算机视觉包括图像识别、图形图像处理等领域最有效的提取特征并实现物体分类的网络结构。最简单的CNN包含一个输入、隐藏、输出层,如图1,其中隐藏层是神经网络的核心,包含着提取目标对象特征的卷积核,随着目标的复杂度增加,隐藏层也逐渐增加;CNN中的隐藏网络层数,以及每层需要的神经元数这两个重要参数,是根据多次预测加上实验验证后得到的,对于数据集较大,目标类型多的检测,网络层的参数越多,网络性能越好。

图1 简单神经网络结构

1.1 Faster R-CNN 网络检测井盖

Faster R-CNN网络结构,是一种深度神经网络,也是当前精度较高的目标检测方法。该网络将区域建议网络 Region Proposal Network(RPN)和 Fast R-CNN融为一体,利用RPN网络为Fast R-CNN的检测提供目标位置信息,不再使用选择函数Selective Search筛选区域,且RPN与Fast R-CNN网络共享5个卷积层的输出结果,使得检测的速率无限接近实时。

Faster R-CNN包含了两种网络结构:VGG16[11]和Zeiler和Fergus提出的ZF网络。VGG16的层数远多于ZF,其主要区别为卷积层数的划分,图2a,b分别为VGG16和ZF的卷积层结构。由于本文检测涉及到的样本集不大,且实验结果表明,本文数据集使用小型的ZF和使用大型VGG16网络训练的模型并无差异,而VGG16的训练过程更加耗时,所以本文采用ZF网络原型,只使用5个卷积层提取目标特征。

在ZF网络的前5个卷积层中,第一层包含96个大小为7*7*x的卷集核(x为输入图像的通道数);第二层包含256个大小5*5*y的卷集核(y表示当前卷积层的输入通道数);第三层包含384个3*3*y的卷集核;第四层包含384个3*3*y的卷集核;第五层包含256个3*3*y的卷集核。后面三层的每一层之后都加入激活函数层处理输出结果;该卷积层结构与AlexNet[12]网络相似,但每一层的卷积核数量不同。

合适的激活函数处理,有利于加快算法的收敛速度,最常用的也是本文网络中运用的激活函数为:Rectified Linear Unit(ReLu)函数,公式(1):

激活函数主要作用于卷积层的输出值,将线性分类器转换为可以对更复杂目标分类的非线性函数。

图2 

1.2 CNN提取井盖特征的结果

本文使用的ZF网络结构,前五个卷积层用于提取井盖的特征,这些特征包含形状、梯度、纹理、颜色等,可以将井盖和地面周围其他物体区分开。输入有井盖的图片,经卷积后其特征图可视化结果如图3a,b,c;根据观察显示,随着网络层数加深,特征图的内容越来越丰富,基于这些特征训练出的检测模型,能够准确地实现井盖的检测。

其中图3(a)包含了96个小图像,代表96个不同的卷积核,在第一层网络中每一个核大小为7*7*3;卷集核则是提取特征向量的基础单元;图3(b)为第五层卷积的可视化结果,图3(c)为图像经过第一个池化层的可视化结果,将训练过程的结果逐步可视化,有利于模型分析。

图3 

2 实验及训练

本文训练的样本来源于定期从城市视频监控里抓取的视频流集,共有1000路视频,将视频分解为图片集,经筛选后,采集其中的2000张图片,包含窨井盖的有1500张,经预处理将图片分为三类,包含井盖破损300张,井盖丢失200张,完整井盖1000张;图片像素大小均为960×540 pix;如图4,将这些图片分别做成训练集、验证集、测试集投入到Faster R-CNN中训练,网络整体结构如图5。

为了避免过拟合现象,在五个卷积层以及池化层之后的第一和第二个全连接层使用Dropout方法。神经元由卷积之后得到的特征集(Feature Map)组成,卷积神经网络每一层都会产生大量神经元(Neurons),特征集输入到全连接层后的计算公式为(2)、(3)。

在Faster R-CNN网络结构中,Fast R-CNN与RPN网络交替对目标进行训练,共分为两个阶段,每个阶段Fast R-CNN网络迭代30000次,RPN迭代60000次;训练过程运行环境为Ubuntu14.04,MATLAB 2014a,GPU 版本为 GTX1080。

3 实验结果分析

图4 破损、丢失、完整窨井盖示例

图5 Faster R-CNN网络整体结构图

对采集的2000张图片中分离出作为测试集的1000张图片进行测试,由实验结果可以计算出本文方法检测到窨井盖的准确率,同时得到不同类别:窨井盖完整、丢失、破损情况检测的准确率,如表1;检测结果相应的P-R图如图6。

表1 利用Faster R-CNN检测窨井盖的结果

图6 各类型井盖检测结果的P-R图

根据表1第二列的第二、三行数据,可以看出城市中井盖出现破损比井盖丢失的情况更多,对比第三列的第二、三行数据可知,利用Faster R-CNN检测到井盖丢失的精度比检测到井盖破损的精度更高;由于井盖丢失时会出现大面积空洞,特征较为明显,而井盖破损程度各异,大多数没有明显的共同特征,所以检测效果稍差;完整井盖的检测精度则是最高的,达到96%,利用该方法监测窨井盖效率较高。

从表1最后一行数据可以看出,本文运用的神经网络结构检测到窨井盖的准确率达到87.5%,召回率(Recall)的值高达93.3%;通过分析训练和测试的过程可知,其中未检测到的井盖大部分为形状与常见井盖差别较大,或是有将其他物体例如车轮识别为井盖的情况,对于该误检和漏检现象的改进,可采用增加训练样本数量、丰富样本类别的方法,或调整部分网络参数,使得网络与数据集达到最佳匹配模式。

从P-R图的分布可知,该方法用于井盖检测的精度较高,可以区分视频中的窨井盖和其他物体;同时可以看出,井盖破损类型的检测,对训练样本数据集依赖性较高,当样本越来越丰富时,训练出的模型的检测结果会更加准确。

4 结语

在城市的大小街道常见的窨井盖,是城市中各种管道疏通,线路铺设的关键设施,但同时也带来安全隐患。采用自动化手段及时监控窨井盖的破损、丢失情况,极大地促进了城市发展。本文将窨井盖看作具有自身特征的目标对象,基于当前目标检测领域,检测效果最好的卷积神经网络Faster R-CNN,训练窨井盖数据集并实现检测,不再借助其他硬件设施如传感器等,大大提高了井盖检测的性能,实现实时监控,使得智慧城市真正地“智慧”起来。但算法仍有不足之处,例如检测过程中出现的漏检、误检,仍不可避免;井盖破损和丢失检测准确率相对较低;如何改进样本,改变网络参数,这些皆为未来研究要解决的关键问题。测试过程部分结果如图7。

图7 部分窨井盖的检测结果,其中manhole代表完整的井盖,missing代表丢失井盖的情况,hole代表井盖出现破损

参考文献:

[1]李亚胜.基于红外探测的井盖监测系统设计[J].数字技术与应用,2015(10):174-175.

[2]雷可.一种基于图像的路面井盖破损自动检测方法[J].数字通信世界,2016(1).

[3]张丰焰,陈荣保,李扬,过秀成.基于改进Hough与图像比对法的窨井盖疑似破裂检测(英文)[J].Journal of Southeast University(English Edition),2015,31(04):553-558.

[4]Pasquet J,Desert T,Bartoli O,et al.Detection of Manhole Covers in High-Resolution Aerial Images of Urban Areas by Combining Two Methods[J].IEEE Journal of Selected Topics in Applied Earth Observations&Remote Sensing,2016,9(5):1802-1807.

[5]Girshick R,Donahue J,Darrell T,et al.Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2014:580-587.

[6]Felzenszwalb P,McAllester D,Ramanan D.A Discriminatively Trained,Multiscale,Deformable Part Model[C].Computer Vision and Pattern Recognition,2008.CVPR 2008.IEEE Conference on.IEEE,2008:1-8.

[7]Girshick R,Iandola F,Darrell T,et al.Deformable Part Models are Convolutional Neural Networks[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2015:437-446.

[8]He K,Zhang X,Ren S,et al.Spatial pyramid Pooling in Deep Convolutional Networks for Visual Recognition[C].European Conference on Computer Vision.Springer International Publishing,2014:346-361.

[9]Girshick R.Fast r-cnn[C].Proceedings of the IEEE International Conference on Computer Vision,2015:1440-1448.

[10]Ren S,He K,Girshick R,et al.Faster r-cnn:Towards Real-time Object Detection with Region Proposal Networks[C].Advances in Neural Information Processing Systems,2015:91-99.

[11]Simonyan K,Zisserman A.Very Deep Convolutional Networks for Large-Scale Image Recognition[J].Computer Science,2014.

[12]Jia Y,Shelhamer E,Donahue J,et al.Caffe:Convolutional Architecture for Fast Feature Embedding[C].Proceedings of the 22nd ACM International Conference on Multimedia.ACM,2014:675-678.

猜你喜欢

窨井盖井盖卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
从滤波器理解卷积
一种新型井盖
小井盖学问大
基于傅里叶域卷积表示的目标跟踪算法
为什么窨井盖大多都是圆形的
找井盖
这条路上的下水道井盖都被我承包了
可升降窨井盖