赵 胜,赵学健,张欣慧,孙知信,陈 勇
(1.南京邮电大学 物联网学院,江苏 南京 210003;2.南京邮电大学 宽带无线通信与传感网技术教育部重点实验室,江苏 南京 210003;3.南京龙渊微电子科技有限公司,江苏 南京 210000)
近年来,随着经济和交通运输业的快速发展,道路上的机动车保有量迅速增加,而由此带来的交通问题也越来越严重,给人们的出行和生活质量带来不少的困扰。因此,人们日益关心如何用计算机技术来有效管理交通中的车辆,以此来解决交通拥堵和交通安全等方面的问题。随着图像处理技术和计算机视觉的快速发展,基于实时视频分析的智能交通系统也越来越受到人们的关注,从视频帧序列中准确地检测出车辆目标是智能交通的一个重要研究内容。通过对道路上的摄像头所拍摄到的实时交通视频进行分析,实时检测车辆的位置以及轨迹信息来分析车辆的行驶状态等一系列的问题,能够有效地监管交通运输中的车辆,从而极大地提高交通运输效率、保障交通安全。
基于特征信息的车辆识别是指通过对大量的车辆样本学习来提取车辆的特征模型,该模型能够针对视频中车辆目标进行有效的识别分类。文献[1]采用HOG特征来描述车辆的轮廓信息,利用支持向量机(SVM)良好的二分性特点来进行车辆的分类识别。为了有效地减少提取HOG特征的时间,在HOG检测阶段对图像进行缩放和窗口扫描与合并进行并行化,弥补了HOG特征提取的时间消耗,能够较快、较准确地识别出车辆[1]。文献[2]使用GPU完成了车辆HOG特征的提取,解决了HOG特征提取速度慢的问题。文献[3]中提出的基于显著性与车底阴影块的车辆感兴趣区域提取算法,对比基于灰度图车底阴影线提取的车辆检测和识别算法,在车辆感兴趣区域提取阶段就可以减少大量的干扰区域,降低后期识别等操作的负担,使用分类器可以进一步对感兴趣区域进行分类识别。
文中针对提高视频中车辆目标识别的准确性进行了研究。传统的SVM对大规模训练样本难以实施[4],使得SVM在车辆目标识别的精确度上仍存在一定的误识别率[5-6],采用HOG+SVM的方法由于HOG提取算法过于复杂而不适用于实时视频分析[7-8]。而采用深度学习的方法可以更好地提高车辆目标的识别分类。首先截取实时视频中的视频帧并进行分析,在每一帧中采用HSV颜色模型提取目标区域中颜色相对于背景区别明显的区域,将该区域作为车辆目标的候选区域,然后再使用Sobel算子对视频帧图片中的其余区域进行轮廓区域的识别筛选,加入到车辆目标的候选区域,将得到的所有车辆目标候选区域输入到卷积神经网络中进行车辆目标的提取,计算每帧图片中车辆的中心位置,根据前后帧中车辆的关联性得到车辆运行的轨迹点信息[9]。
车辆识别包含了两个过程:提取车辆目标候选区域和提取车辆目标。文中采用HSV+Sobel算子对图片进行车辆候选区域的快速筛选,将可能存在车辆位置的区域输入到卷积神经网络进行车辆的分类筛选,降低了卷积神经网络计算过程中的复杂运算,从而在保证车辆识别精度的前提下,提高了实时视频中车辆识别的实时性。系统流程如图1所示。
图1 系统流程
2.1.1 HSV颜色空间目标提取
采用HSV颜色空间模型提取图片帧中颜色相对于背景区分度较大的区域,可以将它作为车辆目标的候选区域。首先将每一帧图片中的像素转化到HSV颜色空间,HSV模型中颜色的参数由色调(H)、饱和度(S)和亮度(V)组成。不同颜色对应的HSV模型中H的取值范围如下:Orange:0~22,Yellow:22~38,Green:38~75,Blue:75~130,Violet:130~160,Red:160~179。用H值可以代表该区域的颜色值。对视频帧中需要检测的特定颜色车辆设置阈值[a,b],对符合[a,b]的像素点设置为255,否则设置为0,即对特定颜色区域进行二值化处理。HSV颜色空间转换如图2所示。
图2 HSV颜色空间转换
对二值化处理后的图片计算其候选目标所占据矩形的面积s,设定一个阈值k,当满足s>k时才保留该区域的坐标,并将该图片及坐标加入到候选区域中。该方法可以有效地筛选道路两侧可能出现的干扰因素[10]。
使用HSV颜色模型提取出车辆候选区域依赖于颜色信息,对于给定的颜色值可以迅速地提取出车辆可能出现的位置,但是会受到道路两侧的树木等因素的干扰。例如以黄色为例,在提取黄色候选区域时,会将大块的草丛误认为车辆。因此为了排除这些干扰,将这些提取出来的区域都作为车辆的候选区域,并将其输入到卷积神经网络中进行下一步的分类。
2.1.2 Sobel算子轮廓提取
Sobel算子是一阶导数的边缘检测算子,通过3×3模板作为核与图像中的每个像素点做卷积和运算,然后选取合适的阈值来提取边缘[11]。先分别计算图像横向和纵向的梯度Gx和Gy,公式如下:
Gx=(Z7+2Z8+Z9)-(Z1+2Z2+Z3)
(1)
Gy=(Z3+2Z6+Z9)-(Z1+2Z4+Z7)
(2)
Sobel算子利用Gx和Gy之和G作为检测边缘的依据,当G大于一定的阈值时,则认为是物体的边缘点,在得到所有的边缘点后,将所有的点连通,即构成了目标区域的轮廓信息[12]。
针对HSV在提取与背景色相近的目标区域时的不足,采用Sobel算子提取图片中与道路背景色相近的目标区域的轮廓。通过提取出的轮廓计算候选区域的目标的坐标位置,并将第二次提取出的候选区域加入到第一次提取的候选区域中,然后将所有的候选区域输入到预先训练好的卷积神经网络,去除干扰目标(如道路两侧的路灯、树木等)的影响,从候选区域中筛选出车辆目标,进行车辆的定位跟踪[13]。
采用The PASCAL Visual Object Classes Challenge 2012(voc2012)数据集进行卷积网络训练,得到车辆目标的分类模型[14]。卷积神经网络结构如图3所示。
图3 卷积神经网络结构
将voc2012中车辆的图片数据集通过和3个可以训练的滤波器进行卷积[15-16],得到C1层的三个特征图,C层属于特征提取层,每个神经元的输入与前一层的局部感知相连并提取该局部的特征,然后特征映射图中每组的4个像素进行求和,加偏置,加权值,得到一个S2层的特征映射图。再将这些特征映射图输入到滤波器中得到C3层,然后如同C1层生成S2层那样得到S4层[17],并最终输出分类结果。
将前面提取的车辆的候选区域目标集合作为参数输入到卷积神经网络中,进行车辆目标的提取及定位。经过卷积神经网络识别分类后,将干扰目标排除,得到车辆目标的位置信息的集合。
以图片帧的左上角为原点,建立车辆运动轨迹坐标系,如图4所示,在车辆的坐标系下分析车辆的运动,车辆的中心坐标点可以由目标识别阶段获得。
图4 车辆坐标计算
使用Sobel算子检索车辆轮廓信息,获取车辆最外侧的轮廓信息,计算车辆识别框的位置信息(left,top,right,bottom),并保存车辆中心坐标位置(x,y)。
(3)
为了验证该方法的有效性和可行性,实地拍摄了一段交通路口的视频进行分析。该路口道路路面有5个车道,车流量较大,道路两侧有花坛、树木等干扰因素。视频格式为avi,图片大小为856×480,时长约为90 s。实验环境:处理器为i7-3770,内存大小8 G,GPU为titanX。开发环境:cuda7.5+ffmpeg2.0.7+opencv 3.0.0+qtCreator5.5.1。
为了验证系统的功能,对系统进行整体测试。在初步进行特定颜色车辆的筛选过程中,由于这几种颜色与背景模型的颜色差别较大,该算法可以以最快的速度筛选出第一部分的车辆候选区域。
其次,测试颜色与道路背景相似的车辆。采用Sobel算子快速筛选出轮廓面积区域大于一定阈值的车辆候选区域,该算法可以弥补HSV颜色空间在识别车辆上的不足,进一步提取出图片帧中可能存在车辆的位置区域。
Sobel算子轮廓提取如图5所示。
然后将整个系统进行测试,即将HSV+Sobel算子筛选出的车辆候选区域输入到卷积神经网络模型进行车辆的识别筛选。
为了验证该方法的有效性,将其与传统的车辆识别方法进行对比实验,分别统计车辆目标识别的准确性,结果如表1所示。由表1知,提出的HSV+Sobel+CNN的方法在车辆目标的识别准确率和误识别率上较其他方法更好。
图5 Sobel算子轮廓提取
表1 4种车辆识别方法结果对比 %
提出了一种车辆轨迹识别系统,在现有的技术基础上进行改进,通过HSV颜色空间和Sobel算子的方法快速筛选车辆目标的候选区域,并输入到卷积神经网络进行快速识别,达到实时识别的要求,基本能做到对道路中车辆的识别跟踪和轨迹的跟踪。同时对道路中可能出现的干扰进行标记排除,具有很好的适用性。在不同光照条件下,对道路中不同颜色车辆的识别准确性较高,且对于背景色和车辆颜色相近的车辆,采用轮廓识别的方法加以弥补。通过实验数据表明,该方法在保证识别准确率的条件下,使得车辆识别的实时性也得到了很好的保证,可以适用于复杂交通视频监控中。