图像处理技术的车辆识别系统

图像处理技术的车辆识别系统

采用图像识别的方式通过监控摄像头进行道路交通情况信息采集分析,通过基于C++的OpenCV技术进行车辆识别,用帧差法截取出画面中的运动部分,当相应像素值改变达到预设的阈值时,标记为车辆区域,将帧差图像转化为灰度图像模式,并对其进行二值化处理,最后对画面进行膨胀腐蚀处理,系统识别出车辆后,对车辆进行标记,通过撞线检测,得到车流数据,实现基于图像处理技术的车辆识别系统。

引言:

在国内整体经济迅猛发展的今天,汽车交通已经走入了家庭生活,百姓对汽车的需求越来越大。截止至2016年底,根据中国交通部门公布的统计数据显示,我国的汽车拥有数量超过了1.9亿,增长量超过20%,未来车辆拥有数量仍呈现上升趋势。面对车辆保有量的急剧增长,城市交通道路压力日益严峻。车辆识别是对道路的车流量进行检测,并入交通管理系统中对我国的日趋繁重交通管理有着很好的辅助作用。

1系统

为了获得道路交通数据,本系统采用了基于C++的OpenCV技术进行车辆识别,将识别出来的车辆进行计数用于车流检测。

1.1车辆识别

本系统的第一步需要进行车辆识别,识别的原理是通过检测画面中的运动物体来识别出车辆。

1.1.1运动目标检测

运动目标检测的意思是在输入图像中将变化部分检测出来并从背景画面中将运动目标截取出来,通常根据摄像头是否可以转动,分为静态背景检测和动态背景检测。本系统的应用场景是将道路交通中通过监控摄像头实时拍摄的视频画面进行图像处理,得到车流数据,因此考虑的是静态背景下几种经常使用的目标检测算法——帧差法、光流法以及背景差分法。光流法是指在合适的平滑性约束条件下,通过估算图像序列的时空梯度得出运动场,并根据运动场的改变对运动物体和场景发起分割与检测,但光流法计算较为复杂,想要达到实时处理的效果比较困难,且结果容易受到阴影、噪声和画面光源等影响。而背景差分法的算法模型相对复杂,且道路交通环境易受天气影响,固定背景不能保持不变,因此本系统选用的是帧差法。使用最多的运动物体检测方法之一就是帧差法,其基础理论是在图像序列的邻近两帧通过基于画面像素的时间差分然后二值化来截取出画面中的运动部分。将当前帧画面相应像素值减去上一帧画面得到帧差图像,并对帧差图像二值化处理,当环境像素值变化小的情况下,若相应像素值改变没有达到预设的阈值时,可判定这里是背景区域;若画面某块的像素值变化较大,可判定这是因为画面中车辆运动导致的,通过标记这一块为车辆区域,根据标记的区域像素块可识别出车辆在画面中的位置。因为两帧之间时间差距非常小,使用前一帧画面当作当前帧的背景图像,这样处理的实时性大大提高,不会累积背景画面,更新快、计算量小、算法容易实现。该方法的主要难点是选择合适的二值化阈值,若阈值太低则无法抑制画面中的噪声,若太高可能会存在部分车辆识别不到。本系统通过迭代法算法获取最佳二值化阈值。

1.1.2图像增强

因为在图像识别中,RGB图像模式会对识别造成一定的干扰,加大了有效识别的难度,所以在通过帧差法获得帧差图像后,先将帧差图像转化为灰度图像模式。由于在视频拍摄时会存在一个均匀的电流干扰,所以在转化为灰度图像后会对图像进行高斯平滑处理以消去电流干扰。经过以上图像增强处理后,可以得到一个车辆模糊的灰度轮廓,此时对处理后的帧差图像进行二值化处理可以有效提高车辆的识别率。

1.1.3深度图像处理

最后对帧差图像进行二值化处理。图像二值化是将画面上的像素点的灰度值设置为0或255,也就是让整个画面只存在黑和白两种颜色。这使得数据量减小,图像变得更容易处理,还能凸出感兴趣物体的外部轮廓,有利于图像的进一步处理。经过二值化后图像可以显示出黑白两色的车辆轮廓,如下图所示。为了得到一个车辆整体,需要继续进行膨胀处理。膨胀后的车辆轮廓容易与旁边物体结合在一起,所以还需要进行腐蚀处理,将因膨胀而产生的结合和非关键点以及区域消去,最终最大程度地识别出车辆。在经过上述一连串的操作后,已经可以基本识别出车辆,接下来需要在视频画面上标记出车辆以及车流统计。

1.2车流检测

系统识别出车辆后,会在视频画面上用方框标记车辆,然后在视频画面上设置一条横线,当车辆通过该横线时就会统计车流数加一,最终得到车流数据,并将统计好的车流数显示在画面的右上角。

1.2.1车辆标记

当需要找出某物体的外部轮廓点集合时,往往会使用到凸包算法。凸包算法是指用一个凸多边形框住全部的点的一个算法。采用凸包函数可以很容易找到车辆轮廓的凸包,并根据凸包集合点画出车辆方框。统计视频画面内出现的车辆数,在画出方框的同时也标记该车辆数在方框上。

1.2.2撞线检测

在识别出车辆后,为了能得到一段时间内通过监测车道内的车辆数,本系统采用了撞线检测的方法进行计数。采用line函数在视频画面中设置一条横线,当车辆中心经过该横线时,车流数加一。

1.2.3系统效果

本系统主要检测的是单向车道上的车流交通状况,在测试视频中,实际通过横线的车辆为47辆,系统计数为47辆,车流检测效果良好,无漏报错报,成功检测率为100%。但是在车辆识别上仍有误差,系统计数为147辆,而实际画面中出现的车辆只有100辆左右。出现该误差的原因是部分车辆会被重复识别,以及当两辆车辆部分重叠时可能会被重新识别为一辆车等。

2结语

本文围绕基于图像处理技术,对车辆识别系统展开了论述。通过车辆识别——帧差法,二值化处理,使所需内容更清晰地呈现出来,并削弱不需要的信息;建立车辆区域,识别并确认目标车辆,找到所需要的目标车辆并准确地标记出来。通过撞线检测,可有效地计算车辆的数量;对车辆识别系统后续研究有一定的参考价值。

作者:邓智浩 郭雨婷 丘权威 陈德胜 贺粤 谢家兴 单位:华南农业大学电子工程学院