Journal of Image and Signal Processing
Vol. 07  No. 04 ( 2018 ), Article ID: 27214 , 13 pages
10.12677/JISP.2018.74027

Design of Traffic Video Analysis and Tracking System

Jie Zhao1, Bo Liu1, Guangfu Wang2, Yanguang Wei2, Jie Sun2

1School of Computer and Information Engineering, Tianjin Chengjian University, Tianjin

2Product Research and Development Department, Tianjin Surveillance Technology Co., Ltd, Tianjin

Received: Sep. 29th, 2018; accepted: Oct. 16th, 2018; published: Oct. 23rd, 2018

ABSTRACT

The system of traffic video analysis and tracking includes three major components: vehicle detection and tracking, vehicle flow statistics and violation detection of traffic line. In this paper, background difference method and headlight extraction algorithm were used to obtain the foreground of moving vehicles in video at day and night respectively. In counting algorithm, the centroid coordinates of the foreground and headlight targets were calculated and the virtual count pulse rectangle was set. The vehicle was counted when the target centroid point triggered two pulses. In the algorithm for violation detection of traffic line, the yellow line area inside the road was detected based on HSV color space and the Hough transform for line detection. The violation of traffic line is judged when the midpoint coordinate of moving vehicle’s trajectory was greater than or equal to the coordinates of points in the yellow line. In this paper, the system of traffic video analysis and tracking was implemented consisting of moving vehicle detection, vehicle tracking, vehicle flow statistics and violation detection of traffic line based on OpenCV open-source library and Python development tools.

Keywords:Vehicle Detection, Vehicle Tracking, Vehicle Flow Statistics, Violation Detection of Traffic Line

交通视频分析与跟踪系统设计

赵洁1,刘波1,王光夫2,韦彦光2,孙杰2

1天津城建大学计算机与信息工程学院,天津

2天津瑟威兰斯科技有限公司研发部,天津

收稿日期:2018年9月29日;录用日期:2018年10月16日;发布日期:2018年10月23日

摘 要

交通视频分析与跟踪系统主要涉及运动车辆检测与跟踪、车流量统计、车辆压线检测三大部分。本文主要利用背景差分法和大灯提取算法分别获取日间和夜间视频中的运动车辆前景。在计数算法中,计算前景目标和大灯目标的质心坐标,并设置虚拟计数脉冲矩形,当目标质心点触发两个脉冲则进行计数。在压线车辆检测算法中,使用基于HSV颜色空间和Hough变换直线检测的算法获取道路内部的黄线区域,将运动车辆轨迹中点的坐标大于等于黄线上点的坐标作为判断压线的依据。本文以OpenCV开源库和Python编程语言为开发工具,实现了包含运动车辆检测、车辆跟踪、车流量统计和车辆压线检测的交通视频分析与跟踪系统。

关键词 :车辆检测,车辆跟踪,车流量统计,车辆压线检测

Copyright © 2018 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

智慧交通系统作为交通智能化建设的重要内容,主要通过视频监控技术建立一个具有实时性、系统性、交互性及广泛性的交通管理系统。视频监控技术为智慧交通提供数据来源,可以实现对信息交流、安全维护、交通控制和目标追踪等子系统的实时管理控制。交通车流量统计和车辆行为分析作为智能交通系统中的重要内容,它可以将一系列的交通信息实时返回到交管部门,使得能够及时对当前交通状况采取必要的措施,从而达到低成本解决异常交通状况的目的 [1] 。

本文主要针对车流量统计和车辆行为分析方法进行研究。利用背景差分法检测运动车辆、利用基于质心跟踪的方法跟踪车辆以及利用Hough变换检测道路内部的黄线。目前多数系统主要采用Kalman滤波器实现运动目标的跟踪 [2] ,该方法的优点是跟踪的稳定性较高。但是对于单点、定点跟踪的情况,Kalman滤波器却存在计算量较大,算法设计复杂等缺点。同时,仅使用背景差分法检测目标,获取的目标前景是不完整的 [3] 。因此,本文在前人工作和研究的基础上,结合图像预处理方法使得获得的前景目标具有更高的完整度,并设计了更适用于单点、定点摄像头的跟踪算法。

2. 理论依据

2.1. 运动车辆前景的获取

本文主要采用BGSM2 (Background Subtractor MOG2)方法提取运动目标的前景,它是一种基于混合高斯分布模型的背景差分法。该方法在分割前景和背景时,保留了当前运动目标的阴影,并作为目标的一部分体现在所提取出的前景目标中,并且该方法能够适应不同的外部环境条件,更适合于运动目标前景的提取 [4] 。

图1所示为使用BGSM2方法对日间交通视频的前景提取的测试效果图。图1(a)所示为交通视频第200帧截图。图(b)所示为第200帧视频经BGSM2方法处理后的前景图。在图1(b)中被分割的运动目标均带有阴影,此时的阴影是被保留为运动目标的一部分的,并不会被检测为一个独立的目标。同时,在图(b)中还留有部分噪声亮点,这是该方法能够检测分割运动目标自身阴影所带来的副作用,但是也恰好证明了BGSM2方法在分割时自身阴影也会被保留在前景目标中。

2.2. 特征颜色区域提取原理

由于RGB颜色空间是面向设备的,无法按照人类视觉感知来描述颜色。而HSV颜色空间是面向人类视觉的,从人类视觉系统出发,用色调H、饱和度S和亮度V来描述色彩。与RGB颜色空间相比,HSV颜色空间的优势在于它符合人类视觉特性。在HSV颜色空间中,亮度和色度是分离的,亮度与图像的色彩信息无关,并且色调与饱和度相对独立,这与人眼感受颜色密切相关。这些特点使HSV颜色空间非常适合于人类视觉系统处理与分析彩色图像。因此,基于OpenCV的特征颜色提取,需要将视频序列进行预处理,即将颜色空间由RGB转换为HSV [5] 。表1给出了在HSV颜色空间三种颜色的阈值区间。

通过结合交通视频内部场景的光照情况、特征颜色的深浅等条件,在HSV颜色空间中选择合适的阈值 { ( H , S , V ) max , ( H , S , V ) min } 获取交通视频中的特征颜色区域。

3. 设计与实现

3.1. 算法设计

本文设计的系统主要包括两大功能:车流量统计(日间和夜间)和检测压线车辆。通过设计GUI界面实现人机交互,进一步提高系统的实用性可操作性。图2给出交通视频分析与跟踪系统的整体流程图。

(a)(b)

Figure 1. Example of traffic video foreground extraction based on BGSM2, (a) video frame original, (b) BGSM2 foreground segmentation

图1. BGSM2交通视频前景提取实例,(a) 视频帧原图,(b) BGSM2前景分割

Table 1. System resulting data of standard experiment

表1. HSV颜色空间阈值范围

Figure 2. Process of traffic video analysis and tracking system

图2. 交通视频分析与跟踪系统流程

3.2. 日间交通视频部分

3.2.1. 数字图像预处理获取完整前景目标

通过背景差分法检测运动目标的前景,使用图像预处理方法处理前景目标,得到包含自身阴影的完整前景目标,该前景目标不再含有毛刺、孔洞等影响因素。前景提取和预处理模块的流程如图3所示。图3中首先将基于BGSM2的背景差分法提取的前景通过阈值化处理,使前景和背景之间的像素值形成大差距,突显出运动的目标。通过Otsu阈值法可以自适应的查找最适合的阈值,能够更好的通过阈值来分割前景和背景。最后,通过级联开运算和闭运算处理消除小目标和毛刺,填补了目标区域内部的孔洞和缺口,从而获得独立完整的运动目标前景。预处理后的前景效果图如图4所示。

3.2.2. 基于目标质心点的跟踪

获取目标前景的轮廓并计算其质心点坐标和最小轮廓面积,根据找到的目标质心短距离跟踪目标。目标跟踪模块具体流程如图5所示。图5给出了日间目标车辆质心跟踪算法流程。为了得到质心的坐标,首先在预处理后的前景目标基础上寻找前景目标的最小轮廓,并求出该轮廓的最小面积。通过将轮廓的最小面积和预设定的面积阈值对比,获取大于预设定面积阈值的轮廓,计算每个轮廓的质心点坐标并为每个质心点赋予一个唯一的ID值。最后实现对运动车辆的跟踪和不重复跟踪运动车辆的目的。图6所示为车辆跟踪的具体信息。

Figure 3. Foreground pretreatment process of moving vehicles

图3. 运动车辆前景预处理流程

(a)(b)

Figure 4. The result after foreground pretreatment, (a) foreground map of background difference method, (b) foreground map after preprocessing

图4. 预处理后的前景效果,(a) 背景差分法前景图,(b) 预处理后的前景图

Figure 5. Process of daytime target tracking

图5. 日间目标跟踪流程

Figure 6. Details of daytime vehicle tracking

图6. 日间车辆跟踪的具体信息

3.2.3. 日间车辆计数实现

在计数模块中,设置合适的计数脉冲门位置,当目标通过虚拟计数脉冲门并且触发了两个虚拟脉冲信号时,车辆计数加1,实现日间车流量统计。日间车辆计数模块具体流程如图7所示。在图7中,通过当前运动目标车辆的质心点坐标和包裹目标轮廓的最小面积来判断当前车辆是否在所需计数的车道上行驶,若同时满足上述两点要求,则将车辆计入车流量统计记录中,车辆数量自动加1,否则判定为非所需计数目标。

3.3. 夜间交通视频部分

3.3.1. 数字图像预处理获取大灯目标

首先使用数字图像预处理方法处理读入的视频帧,得到低噪声、大灯区域明显的视频帧序列。夜间大灯目标预处理具体流程图如图8所示。

将读入的夜间视频进行灰度化处理,降低系统对视频帧的计算量。采用Otsu阈值法处理每一帧灰度视频,使得前景和背景分割的更加明显 [6] 。使用11 × 11模板的中值滤波滤除邻域内孤立亮点或暗点,平滑视频帧序列。

图9所示为预处理后的效果图,图9(a)为原视频序列,图9(b)是使用中值滤波处理后的结果,其中白色近似实心圆为大灯区域,不规则实心区域为大灯辐射区域。

3.3.2. 基于大灯质心的跟踪实现

基于大灯质心的目标跟踪模块的具体流程如图10所示。根据预处理后的面积大小差距过滤非大灯区域,获取大灯的轮廓并计算其质心点坐标和最小轮廓面积 [7] 。

Figure 7. Process of daytime vehicle counting module

图7. 日间车辆计数模块流程

Figure 8. Pretreatment process of nighttime headlamp target

图8. 夜间大灯目标预处理流程

(a) (b)

Figure 9. The result of night time video pretreatment at night, (a) night video frame sequence, (b) median filtering of night video frame sequence

图9. 夜间视频预处理效果,(a) 夜间视频帧序列,(b) 夜间视频帧序列中值滤波

Figure 10. Process of object tracking module based on center of mass of headlamp

图10. 基于大灯质心的目标跟踪模块流程

计算相邻大灯质心之间最短直线的斜率,若斜率满足斜率约等于0的条件,则将两个质心点匹配,也就是将两个大灯匹配为大灯对;根据找到的大灯质心短距离跟踪目标。在配对大灯部分,根据计算出的大灯组的质心点坐标 ( x i , y i ) ,同一目标车辆的两个大灯质心之间最短直线的斜率所必须满足的条件

tan θ = | y i + 1 y i | | x i + 1 x i | 0 (1)

若每相邻两组质心点坐标各自满足式(1~4),则表示当前两个质心点出自同一个目标车辆。

根据质心点的斜率关系配对大灯,为每对大灯赋予一个唯一的ID值,并记录当前车辆的行驶时间和方向,同时也为了避免了重复标识车辆的问题。图11所示为夜间车辆跟踪的具体信息。

3.3.3. 夜间车辆计数实现

夜间车辆计数模块具体流程如图12所示。设置虚拟计数脉冲门,当目标通过计数门并且触发了两个虚拟脉冲信号时,车辆计数加1,实现夜间车流量统计。根据夜间统计车流量的流程图可知,通过验证当前运动车辆的相邻大灯之间的质心点坐标是否在计数门中运动且满足大灯对斜率条件,若同时满足上述要求,则将车辆计入车流量统计记录中,车辆数量自动加1;否则判定为非所需计数目标。

3.4. 检测压线车辆部分

3.4.1. 基于HSV颜色空间获取黄色区域

在检测车辆压线部分,首先将视频转换到HSV颜色空间中,滤除噪声点,平滑视频帧;其次在HSV颜色空间下提取视频中的特征黄色,得到含有突出黄色特征的视频掩模序列。基于HSV颜色空间获取黄色区域的具体流程如图13所示。

本实验中根据表1所示的HSV颜色空间中黄色对应的阈值区域,选取(26, 43, 46)和(34, 255, 255)作为阈值区间来检测特征黄色,但是由于道路中的黄线经年使用和拍摄视频时外部光线对其反光的作用导致实际视频中的黄线的阈值区间要比上述的阈值区间小 [8] 。通过实验测试,最终得出适合本课题视频数据的阈值区间为(5, 30, 31)和(20, 245, 245)。

3.4.2. 基于Hough变换检测黄线

在Hough变换检测直线模块中,将黄色掩模区域与原视频作差分运算,得到一个具有黄色区域明显的视频。通过灰度化只保留亮度分量,并使用高斯滤波平滑模糊视频帧序列。使用Canny算子将该视频序列中的边缘提取出来,结合Hough变换直线检测限制直线的最小长度和最大间隔,已获得最适合的黄线。图14所示为Hough变换检测黄线模块的具体流程图。

3.4.3. 检测压线车辆

在检测压线车辆模块中,基本思想是计算目标车辆的最小面积轮廓的坐标 ( x i , y i ) 的纵坐标 y i 是否大于或等于黄线坐标 ( x i , y i ) 的纵坐标 y j 。若满足

y j y i ( i = j = 1 , 2 , 3 , , n ) (2)

式中n为正整数,则表示车辆压线,使用矩形框标识该车辆。

图15所示为标识压线车辆截图。图中使用红色粗实线绘制黄色直线,使用绿色实线框出压线车辆,并标识出该车辆的质心点。图中使用红色的直线标识黄线区域,道路两旁亮度较高的区域部分是由于原视频与提取黄线的视频叠加造成的。

4. 系统测试实例

本文的主要成果可分为:日间车辆计数、夜间车辆计数和车辆压黄线检测。图16所示为日间计数功能截图,图中显示当前车辆被赋予ID值并且标识了质心和轮廓。

图17所示为夜间车辆计数功能截图,图中显示当前车辆被赋予ID值并且标识了质心和轮廓。

图18所示为车辆压线检测分析功能的截图,图中使用绿色矩形框标识当前压线的车辆,并实时更新连通区域内的黄线。

Figure 11. Details of nighttime vehicle tracking

图11. 夜间车辆跟踪的具体信息

Figure 12. Process of nighttime vehicle counting module

图12. 夜间车辆计数模块流程

Figure 13. Process of obtaining yellow region based on HSV color space

图13. 基于HSV颜色空间的黄色区域获取流程

Figure 14. Process of detecting yellow line module based on Hough transform

图14. Hough变换检测黄线模块流程

Figure 15. Example of vehicle rolling on the markings

图15. 车辆压线实例

Figure 16. Example of daytime vehicle counting

图16. 日间车辆计数实例

Figure 17. Example of nighttime vehicle counting

图17. 夜间车辆计数实例

Figure 18. Example of violation detection of traffic line

图18. 车辆压线检测实例

5. 总结

本文以OpenCV计算机视觉开源库和Python编程语言为开发工具,主要利用背景差分法和大灯提取算法分别获取日间和夜间视频中的运动车辆前景;使用图像预处理方法去除噪声、滤除毛刺、填补孔洞、断开细窄的桥接部分从而使获得的前景目标具有更高的完整度;使用基于HSV颜色空间和Hough变换直线检测的算法获取道路内部的黄线区域,实现了包含运动车辆检测、车辆跟踪、车流量统计和车辆压线检测的交通视频分析与跟踪系统。

基金项目

天津市科技计划项目(14ZCZDGX00868);国家级大学生创新创业项目(201810792026)。

文章引用

赵 洁,刘 波,王光夫,韦彦光,孙 杰. 交通视频分析与跟踪系统设计
Design of Traffic Video Analysis and Tracking System[J]. 图像与信号处理, 2018, 07(04): 236-248. https://doi.org/10.12677/JISP.2018.74027

参考文献

  1. 1. 王锶佳, 周妍. 中国智能交通现状调查[J]. 交通企业管理, 2017, 32(4): 12-14.

  2. 2. 王彬. 基于视频的车流量检测算法研究[D]: [硕士学位论文]. 兰州: 西北师范大学, 2015.

  3. 3. 冯仕民. 智能视频监控中运动目标跟踪技术研究[D]: [硕士学位论文]. 成都: 电子科技大学, 2010.

  4. 4. 周航. 运动目标检测及跟踪技术研究[D]: [硕士学位论文]. 重庆: 重庆大学, 2013.

  5. 5. 高韬, 刘正光, 张军. 基于交通视频序列的多运动目标跟踪算法[J]. 中南大学学报(自然科学版), 2010, 41(3): 1028-1036.

  6. 6. 王菽裕, 刘瑞芝, 闻江, 等. 基于车头灯对的夜间车辆检测[J]. 电视技术, 2016, 40(8): 112-117.

  7. 7. 董雪雪. 夜间车辆检测算法研究及其应用[D]: [硕士学位论文]. 南京: 南京信息工程大学, 2017.

  8. 8. Du, X. and Tan, K. (2016) Vision-Based Approach towards Lane Line Detection and Vehicle Localization. Machine Vision and Applications, 27, 175-191.
    https://doi.org/10.1007/s00138-015-0735-5

期刊菜单