随着物联网时代的到来, 国家致力于研究智能交通视频监控系统. 作为城市安防的“护城河”, 交通监控与城市安全相关. 现今海量的交通视频信息大多采用人工检视, 易造成漏检且效率低下. 但随着智能交通的发展, 这种工作状态得到改善. 利用图像处理技术检测视频中的车辆异常行为, 能及时发现车辆异常违规行为, 使得交警人员能够迅速出警, 立即处理事故现场, 减少车辆拥堵时间和次生事故的发生[1]. 目前使用图像处理技术检测车辆异常行为, 已取得一定的成效. 孙玉砚等人[2]建立车辆轨迹的隐马尔科夫模型以提取车辆异常行为, 能够准确检测车辆异常行为, 但大部分车辆轨迹线相重合, 占用内存空间大且造成重复运算, 降低检测效率. 尹宏鹏等人[3]使用均值漂移法跟踪车辆得到运动特征矢量, 建立加权状态函数, 通过阈值比较, 检测车辆异常行为, 该方法占用内存少, 但是均值漂移采用直方图反向投影跟踪目标, 当有颜色相近目标出现, 易出现误跟踪[4]. 余昊等人[5]对训练集视频光流场分块处理, 建立基于各光流块统计特征的高斯混合模型, 同样提取测试集光流块统计特征, 与高斯混合模型比较判定光流块异常程度, 虽然可以通过增加高斯模型个数来逼近测试集光流块统计特征, 但增加了运算复杂程度, 实时性较差. 邱凌赟等人[6]通过建立车道模型得车辆位置和速度用于判断车辆异常行为, 能够适应不同天气和车流量, 但若摄像机位置发生改变, 需重新建立车道模型.
本文主要就车辆检测、跟踪车辆和判断车辆异常行为三方面进行研究. 首先使用ViBe算法检测运动车辆将原视频中的背景去除, 减小噪声的影响. 利用LK光流法跟踪车辆获得车辆速度与角度, 使用均值漂移方法建立聚类后速度与角度直方图. 本文选取速度与角度两个特征量对其进行统计分析, 因为车辆的异常行为主要体现为速度和角度的突变导致的异常行为, 速度和角度信息能够准确描述车辆行为. 接下来在速度与角度统计基础上应用运动特征熵和特征量到聚类中心的欧氏距离两种判别方法, 判别视频中是否出现车辆异常行为. 图1为车辆异常行为检测流程图.
1 车辆异常行为检测流程 1.1 运动目标提取
运动车辆提取是车辆异常行为检测中进一步分析检测的基础[7]. 本文采用基于背景差分的前景运动车辆提取, 使用ViBe背景建模方法提取前景目标. ViBe算法初始化第一帧图像为背景图像并对图像中各点像素建立背景样本集, 比较视频序列该点像素与样本集相似程度, 若相似次数大于阈值, 说明该点为背景, 否则为前景目标, 最后输出背景和前景的二值图像. ViBe方法只使用单帧视频序列即可初始化背景模型, 而混合高斯建模和均值法都需要用多帧图像初始化背景模型, 初始化时间过长, 不满足检测车辆异常行为的实时性要求; ViBe方法采用自适应更新, 能够适应光照变化和动态场景, 准确提取出运动目标, 而帧差法未使用更新, 鲁棒性较差且容易受噪声, 背景等影响. 综上所述, 本文使用ViBe方法作为车辆异常行为检测中的提取运动目标步骤. 对提取到的二值图像进行高斯滤波, 形态学处理等图像处理手段, 使得车辆外形清晰, 减小噪声对后续跟踪车辆的影响. 图2为对test.mp4分别使用混合高斯建模方法, 帧差法, 均值法和ViBe算法提取运动车辆.
如图2为监控视频的运动车辆检测结果. 图2(b)使用混合高斯建模方法, 为像素建立相应高斯背景模型, 但高斯背景模型的刷新速度较慢, 导致右下角车辆车体部分误判断为背景, 车辆外形缺失较严重; 图2(c)为使用帧差法提取车辆, 帧差法利用相邻两帧图像差提取运动目标, 所以只能提取出车辆外形且“重影现象严重”, 运动目标像素过少, 不利于后续目标跟踪; 图2(d)使用均值法, 使用多张图像的均值作为视频的背景, 但若样本过少或交通状况拥堵可能会造成图2(d)的“拖尾”, “鬼影”现象, 出现大量错误前景点; 图2(e)使用ViBe方法, 能够准确提取出运动车辆且车辆轮廓外形清晰, 有利于后续车辆跟踪.
1.2 检测车辆速度与方向光流法将运动场与像素亮度相结合, 可以求出像素的运动矢量, 矢量对应于图像亮度的运动, 形成光线的流动, 得到物体在二维平面上的运动特征[8]. 光流法假设相邻帧的图像亮度变化不大且像素运动距离很小, 根据假设可得式(1).
$I(x,y,t) = I(x + dx,y + dy,t + dt)$ | (1) |
I(x, y, t)是像素(x, y)在t时刻的亮度, 对式(1)的右边使用一阶泰勒展开如式(2).
$I(x,y,t) = \frac{{\partial I}}{{\partial x}}dx + \frac{{\partial I}}{{\partial y}}dy + \frac{{\partial I}}{{\partial t}}dt$ | (2) |
联立式(1), (2)得式(3).
$\frac{{\partial I}}{{\partial x}}dx + \frac{{\partial I}}{{\partial y}}dy + \frac{{\partial I}}{{\partial t}}dt = 0$ | (3) |
设
$\left[ {\begin{array}{*{20}{c}}{Ix}&{Iy}\end{array}} \right]\left[ {\begin{array}{*{20}{c}}u\\v\end{array}} \right] = - {I_t}$ | (4) |
其中u, v均为未知量, 式(4)为不定方程. 为了求解上式, 引入光流法的一个假设, 在(u, v)的局部邻域内亮度均保持不变得超静定方程式(5).
$\left[ {\begin{array}{*{20}{c}}{Ix1}&{Iy1}\\{Ix2}&{Iy2}\\{...}&{...}\end{array}} \right]\left[ {\begin{array}{*{20}{c}}u\\v\end{array}} \right] = 0$ | (5) |
最后使用牛顿迭代法求出(x, y)的运动矢量.
使用金字塔LK光流法方法, 金字塔LK算法可从图像金字塔最顶层自上而下进行跟踪, 实现了小窗口捕获较大的运动[9]. 与传统金字塔LK算法不同, 本文使用背景差后分的图像, 寻找该图像上强角点, 通过金字塔LK方法得强角点的运动矢量. 该方法增加了车辆强角点跟踪, 减少车辆阴影点误跟踪, 减少计算量, 能实时获得前景车辆的特征
如图3(c)(f), transport.avi视频使用meanshift方法跟踪车辆, 跟踪失败, 因为meanshift算法在跟踪过程中由于跟踪窗口大小不变, 当车辆由远近驶来, 尺度发生变化, 会出现跟踪失败且该算法采用反向投影直方图作为车辆模板特征, 缺乏模板更新策略, 不适应光照、噪声等影响, 经实验测试得meanshift出现跟踪失败的概率为36.65%, 严重影响提取车辆速度和角度的准确性. 如图3(a)(b)直接使用LK光流法会出现跟踪阴影, 且跟踪失败概率为4.53%, 图3(d)(e)利用背景差分后的图像使用LK光流法, 车辆跟踪角点增加, 非运动目标跟踪点减少且能适应无论是在晴天或阴天天气情况下和复杂或简单背景环境, 跟踪失败率为1.81%, 能够较准确得出车辆运动速度与方向特征量, 所以采用LK光流法.
车辆的异常行为表现为速度与角度异常. 光流法提取的运动特征即速度与角度, 因此本文采用速度和角度作为判断异常行为的根本依据, 车辆速度如式(6).
$V = \sqrt {{{(X(t) - X(t + 1))}^2} + {{(Y(t) - Y(t + 1))}^2}} $ | (6) |
式(6)中,
$\theta = \arctan (\frac{{X(t + 1) - X(t)}}{{Y(t + 1) - Y(t)}})$ | (7) |
得
图4尾部有少量分布且分布较散. 应经处理后使得数据较集中且小分布减少. 为了更好观察车辆的运动特征, 速度量-转角统计直方图[10]可以等价转换为一幅灰度图像, 像素的灰度值分别置为速度量和角度量, 并将像素灰度值归一化到0–255范围内, 并利用聚类算法对其进行聚类, 消除小分布, 使得分布集中.
如表1所示, 综合消耗时间和准确率考虑, 本文使用均值漂移方法. 即采用均值漂移算法对两幅图像进行图像分割, 等价于对两个统计直方图进行聚类[11], 消除小分布, 使得直方图分布更加集中, 更加具有代表性, 简化计算复杂程度.
图5与图4相比, 聚类后直方图中小分布与其邻近区域合降低了分布维数, 使得分布具有代表性, 并知图中各分割块的聚类中心, RC1, RC2,…为速度量各聚类中心, Rr1, Rr2,…为转角各聚类中心.
1.3 车辆异常行为判别
车辆异常违规行为, 具体表现为速度量-转角统计直方图与正常行驶的统计直方图不一致[12], 因此本文将到类中心的欧氏距离和运动特征熵两种判别方法作为度量标准. 计算速度到正常行驶速度聚类中心的欧式距离, 速度与类中心距如式(8).
$drs1 = \{ \min |R_s - R_c|\} $ | (8) |
Rs为新帧中跟踪点速度, c=1, 2,…,m为速度量的各聚类中心.
本文采用运动特征量到类中心的欧式距离检测方法判断车辆异常行为, 选取无车辆异常行为视频序列得速度与角度聚类中心点, 然后分别计算视频每两帧中速度到各自聚类中心的欧式距离, 与阈值Ts比较, 若大于阈值则说明新帧出现异常行为, 如超速、闯红灯等行为; 同得每帧图像角度到角度聚类中心的欧氏距离, 与阈值Tr比较, 检测是否有违规掉头行为[13].
另一种检测车辆异常行为的方法为运动特征熵. 在正常情况下因需遵行道路交通法规, 车辆行驶轨迹规律且相似. 但若出现车辆违规行驶, 就打破车辆原有行驶规律, 引起运动混乱具有特殊性和奇异性. 可以使用运动混乱程度来判断有无车辆异常行为. 信息论中利用熵来衡量系统的混乱程度[14]. 熵越大即系统所含讯息越多, 表明系统混乱, 反之, 所含讯息单一即系统越规律. 设X为随机变量则熵[15]H(X)定义如式(9).
$H(x) = - \sum\limits_{i = 1}^n {p(xi){{\log }_2}(p(xi))} $ | (9) |
p(xi)为X概率密度函数.
由式(9)得相应速度熵和角度熵.
本文应用运动特征熵检测车辆异常行为, 选取无车辆异常行为视频序列计算相邻帧的聚类后速度-角度直方图, 得速度熵和角度熵并根据其设定合理阈值, 然后计算交通监控视频每帧的速度熵和角度熵, 与阈值比较, 可以实现车辆异常行为检测.
2 实验分析为了验证本文提出的运动特征量到聚类中心欧氏距离和运动特征熵两种检测车辆异常行为方法的性能, 分别对test.mp4市内交通道路视频, highway.avi高速公路视频, transport.avi省道监控视频共计3组视频使用本文2种方法检测车辆异常行为, test.mp4视频从1750帧开始出现异常行为, highway.avi视频从750帧开始出现车辆异常行为, transport.avi视频从450帧开始出现异常行为, 实验仿真平台为VS2015和OpenCV2.4.1, 实验结果如图6所示
图6中黑色实线分别为各视频集所得到的速度中心距, 速度熵, 角度中心距, 角度熵的指标结果, 直线为相应阈值. 阈值的设定过程, 如test.mp4视频序列对于基于运动特征量到类中心距离的异常检测方法, 由图6(a)(c)的图(I)知, 当车辆正常行驶时速度中心距在0–15之间, 角度中心距在0–17之间, 剩余异常点经检验为特征点跟踪错误造成, 因此设定速度中心距阈值Ts为25, 角度中心距阈值Tr为20, 对于运动特征量到类中心距离的异常检测方法有很好的区分度. 对于基于运动特征熵的异常检测方法, 由图6(b)(d)的图(I)可知, 当车辆正常行驶时速度熵和转角熵基本保持在0.5–1.5之间, 因此分别选取2和1.5作为速度熵、角度熵阈值, 此时基于运动特征熵的异常检测方法区分度较好, 同理可得highway.avi和transport.avi速度中心距阈值分别设置为15和30, 角度中心距阈值为10和25, 速度熵阈值为1.5和1.3, 角度熵阈值为1和1.2.
表2给出本文异常检测判别参数的统计结果. 由表2可以看出误报率均低于0.5%, 漏报率均低于2.6%, 两方法正确率均大于97%, 但运动特征熵方法正确率更高, 这是因为, LK光流法在跟踪时, 会出现少部分错误跟踪点, 对于运动特征量到中心距方法的正确率影响较大, 而在运动特征熵方中, 只使用其概率密度函数而这些点所占比例很少, 对正确率影响不大, 所以运动特征熵方法正确率更高.
对test.mp4视频分别使用均值漂移方法, 车道轨迹模型, 混合高斯模型, 和本文方法, 检测结果误报率、漏报率、正确率如图7所示.
由图7知, 本文提出方法误报率均低于其余方法3.7%, 漏报率低于其余方法3.2%, 正确率高于其余方法4%, 说明本文车辆异常行为检测算法相较于其余三种方法效果更好.
3 结论
本文通过图像处理技术和统计特征方法研究车辆异常行为检测. 该方法先使用ViBe法提取运动车辆, 然后利用LK光流法得到车辆在不同时空的速度和角度, 对目标车辆的速度量和角度量使用均值漂移法得速度与角度聚类后直方图, 最后分别使用运动特征量到类中心的欧式距离和运动特征熵两种方法进行车辆异常行为检测. 实验结果表明, 两种方法均能较准确地检测出车辆违规变道、超速行驶、闯红灯等异常行为, 且正确率都在97%以上. 但本文两种方法对动态变化场景中检测车辆异常行为效果较差, 下一步需要对这方面进行改进和优化.
[1] |
张坡, 郝敬彬, 王焕, 等. 基于信息融合的车辆运行异常程度检测. 计算机系统应用, 2015, 24(5): 267-271. |
[2] |
孙玉砚, 孙利民, 朱红松, 等. 基于车牌识别系统车辆轨迹的行为异常检测. 计算机研究与发展, 2015, 52(8): 1921-1929. DOI:10.7544/issn1000-1239.2015.20140673 |
[3] |
尹宏鹏, 李艳霞, 周佳怡, 等. 智能视频分析的车辆异常行为检测方法. 重庆大学学报, 2016, 39(3): 75-83. DOI:10.11835/j.issn.1000-582X.2016.03.010 |
[4] |
丁晓凤, 尚振宏, 刘辉, 等. 基于Mean Shift的多模板目标跟踪算法. 计算机工程与应用, 2017, 53(6): 141-144, 173. DOI:10.3778/j.issn.1002-8331.1508-0022 |
[5] |
余昊, 孙锬锋, 蒋兴浩. 基于光流块统计特征的视频异常行为检测算法. 上海交通大学学报, 2015, 49(8): 1199-1204. |
[6] |
邱凌赟, 韩军, 顾明. 车道模型的高速公路车辆异常行为检测方法. 计算机应用, 2014, 34(5): 1378-1382, 1390. DOI:10.11772/j.issn.1001-9081.2014.05.1378 |
[7] |
李旭, 徐贵力, 程月华, 等. 一种基于像素抽样建模的车辆目标提取方法. 计算机与现代化, 2014(3): 89-93. |
[8] |
黄波, 李宝. 基于图像光流的运动速度计算理论及应用. 信息通信, 2015(2): 8-9. |
[9] |
朱西产, 高学敏, 许宇能, 等. 基于角点检测估算车辆间即碰时间. 汽车安全与节能学报, 2014, 5(4): 331-335. |
[10] |
于欣, 侯晓娇, 卢焕达, 等. 基于光流法与特征统计的鱼群异常行为检测. 农业工程学报, 2014, 30(2): 162-168. |
[11] |
张霖泽, 王晶琦, 吴文. 一种基于K-means改进聚类的图像增强算法. 应用光学, 2016, 37(4): 549-554. DOI:10.5768/JAO201637.0402003 |
[12] |
何鹏, 安井然, 杨曼. 基于区域光流法的人体异常行为检测. 电视技术, 2015, 39(7): 100-103, 141. |
[13] |
梁东升, 赵连超, 陈永康, 等. 复杂环境下的快速逆行检测跟踪算法. 计算机工程与应用, 2015, 51(13): 186-190. DOI:10.3778/j.issn.1002-8331.1308-0389 |
[14] |
李梅, 李亦农, 王玉皞. 信息论基础教程. 3版. 北京: 北京邮电大学出版社, 2015.
|
[15] |
唐国维, 刘彦彤, 张岩. 利用信息熵的岩心图像自适应压缩感知重构. 计算机系统应用, 2016, 25(4): 272-277. |