改进光流法和GMM融合的车辆实时检测算法研究

2021-07-06 00:42:24陈立潮解丹曹建芳张睿
智能系统学报 2021年2期
关键词:光流中心点背景

陈立潮,解丹,曹建芳,2,张睿

(1. 太原科技大学 计算机科学与技术学院,山西 太原 030024; 2. 忻州师范学院 计算机科学与技术系,山西 忻州 034000)

近年来随着交通监控系统的日益普及,以视频为基础的车辆检测已成为智能交通领域的研究热点[1]。当前,车辆检测方法大致可以分为两类,一类是光流法(optical flow,OF)[2]、帧差法[3]、背景差分法[4]这类经典的车辆实时检测方法;另一类是随着深度学习的出现而发展起来的Fast-RCNN[5]、Faster-RCNN[6]等区域建议检测方法和YOLO[7]、YOLOv2[8]等无区域建议的检测方法。鉴于深度学习算法需要很高的硬件配置和大量数据集,实验条件较为严格,因而尽管光流法等实时检测算法出现较早,但目前仍是研究的热点。2017年Sengar等[9]采用一种基于双向光流块的运动目标检测方法,该方法首先估计当前帧与上一帧和下一帧之间的双向光流场,并经过处理后以二值化的形式检测到运动对象。其在固定场景的视频中测试了该方法的有效性,但对于变化的场景而言,该算法的性能较差。同年,Pan等[10]提出一种ViBe背景模型以解决光照变化而导致的背景变化。ViBe背景模型的核心是根据已定义的两种车辆检测误差及其对应的误差函数,确定合理的评价条件、调整不合理的阈值以保证背景模型的自适应更新。此方法虽然提高了前景分割的准确率,但是在背景模型更新的过程中,检测效果仍有待提高。相比国外而言,国内学者对光流法的研究较少。

上述方法也存在一定的缺陷,如:光流法很容易受到噪声、光源以及阴影变化的影响,从而影响检测结果。帧差法检测到的目标轮廓通常比实际的轮廓要大,且随着车辆运动速度的增加,误差也会逐渐变大。背景差分法在实际应用中具有局限性,背景模型的建立以及更新对场景变化比较敏感,这在很大程度上会影响检测结果。但光流法检测较其他两种方法较为准确,背景差分法能很好地利用帧间信息,基于此,本文针对光流算法和背景差分法的优缺点提出一种改进光流法与高斯混合背景模型相融合的算法(improved optical flow and gaussian mixture model,IOFGMM)以改善实时性检测算法在不同场景中的检测效果。

1 相关理论

1.1 光流法

光流包含运动物体的运动信息和三维结构信息。光流为图像中每个像素点设置一个速度矢量,该速度矢量用于分析图像。当光流矢量的变化连续时,图像中不含运动信息;否则,图像中含有运动信息即有运动的物体出现。光流算法有很多,Horn-Schunck[11]是一种基于梯度的全局约束光流算法,本文算法在此算法上进行改进,利用稠密的光流信息检测视频中的运动目标。假设图像中某像素点 (x,y) 在 t 时刻的灰度值表示为I(x,y,t),Horn-Schunck将光流求解归结为式(1)所示的极值问题。

式中:Ix、Iy、It分别为I(x,y,t)在x、y、t处的偏导数,分别代表像素点的灰度值随x、y、t的变化率。λ表示对图像数据及平滑约束的置信度,它的取值和图像中的噪声相关,当图像中的噪声较少时,说明图像数据本身的置信度较高,此时需要较小的 λ,以减小对光流约束的依赖。反之,当图像中的噪声较多时,需要较大的 λ。ux、uy和vx、vy分别为光流的水平速度u和垂直速度v在x、y处的偏导数。经推导的值可用ui,j邻域和vi,j邻域的均值,原算法中采用8个领域的加权平均值:

式中:下标 i 是图像中 y 方向的坐标,下标 j 是图像 中 x 方向的坐标。

1.2 高斯混合背景模型

高斯混合背景模型(gaussian mixture model,GMM)[12]是一种经典的背景建模方法。其用 K个高斯模型表示图像中各像素点的特征,通过对每个分布中的均值、方差、权重参数进行学习更新。假设图像中某像素点(x,y) 在 t 时刻的像素值为 I(x ,y,t),此点的概率密度函数为 K 个高斯模型概率密度的加权和 P (I(x,y,t)),计算公式为

式中:K为高斯分布的个数;ωi,t、 ηi,t、 μi,t、 σi,t分别为 t 时刻第 i 个高斯分量的权值、概率密度函数、平均值、协方差矩阵。

若像素点 I(x,y,t) 的值与前 B 个 高斯分布均不匹配,则该像素被认为是前景,此时用一个新的高斯分布取代权值最小的那个高斯分布,并为其初始化一个较大的方差和较小的权重值。反之,该像素被认为是背景。

2 IOFGMM算法

2.1 参数引入

为了增强光流算法的准确性,提出一种改进的光流算法(improved optical flow,IOF)。具体做法是在光流计算中加入一个限制条件(参数)使得在梯度较大的点处使用亮度恒常性约束,在梯度较小的点处使用光流场一致性约束。因而定义式(5)的二值加权函数。

式中:V为一个阈值,实验中V取0.5,当 I2x与 Iy2的和大于所设定的阈值时,函数值为0;其他情况,函数值为1。加入限制条件以后,由式(1)和式(5)可得到:

2.2 信息融合

经实验发现OF和GMM的检测结果各有优缺点,OF能够在未知场景的状况下检测到独立的运动车辆,但容易受噪声、光照等的影响;IOF虽然稳定,但光照强度变化很大时,仍检测不到目标;而GMM容易在背景建模和背景更新的过程中检测不到车辆,但即使光照变化很大时,背景建模仍有较好的效果。因此,将IOF和GMM的信息相融合。

将IOF检测结果的某一帧图像称为A图,将GMM检测结果的某一帧图像称为B图。A图中检测到的车辆数量记为count1,所有的目标框的集合为{BoxA1, BoxA2,…, BoxAi},对应的中心点的集合为{A1, A2,…, Ai}。同理,B图中检测到的车辆数量记为count2,目标框的集合记为{BoxB1,BoxB2,…, BoxBi},对应的中心点的集合为{B1,B2,…, Bi}。信息融合的具体步骤是:

1)比较count1、count2。若count1≥count2,执行2);否则,执行5);

2)从图A中遍历中心点{A1, A2,…, Ai},遍历未完成时,执行3)~4);否则,执行8);

3)计算A图中的中心点与B图中的所有中心点{B1, B2,…, Bi}的距离,取最小的(若有两个及以上相等,则都取)距离所对应的目标框BoxBi;

4)计算BoxAi和BoxBi的重叠面积(intersection area, IA),若 IA=0,则记录 IA的中心点坐标及长和宽;若 IA>0,则取值最大的 IA的中心点坐标及长和宽;

5)从图B中遍历中心点{B1, B2,…, Bi},遍历未完成时,执行6)~7);否则,执行8);

6)计算B图中的中心点{B1, B2,…, Bi}与A图中的所有中心点的距离,取最小的(若有两个及以上相等,则都取)距离所对应的目标框BoxAi;

7)计算BoxBi和BoxAi的IA,若 IA=0,则记录 IA的中心点坐标及长和宽;若 IA>0,则取值最大的 IA的中心点坐标及长和宽;

8)将 IA所对应的矩形框标注在图像中,并记录矩形框的总数量,其为IOFGMM检测的结果。

2.3 算法描述

IOFGMM算法的流程如图1所示。主要步骤包括读取视频的图像序列、处理视频的图像序列和在图像上绘制检测结果。其中处理视频图像序列是核心步骤,包括确定感兴趣区域、获取光流信息、获取前景和背景信息、形态学操作、图像分割及信息融合。首先,从磁盘中读取处理好的视频数据集,之后获取所读入视频的信息,获取到的视频帧进入一个循环中,当视频帧未读取完时,对每帧图像进行光流矢量及相关值的计算以及前景和背景信息的获取,并对所获取的信息进行二值化的阈值分割,从而分割出运动的车辆目标,接着进行腐蚀和膨胀的形态学操作,以清除残留的小噪声并平滑被分割的车辆边缘,最后绘制目标框并根据2.2节所描述的方法将信息融合,进一步绘制校准后的目标区域,计算目标框个数并输出结果。

整个IOFGMM算法由一个判断、一个遍历和若干个处理操作组成,具体的算法描述如下:

输入 视频数据集

输出 具有检测信息的视频和检测后视频中的每帧图像

1) 读取视频帧并获取视频信息;

2) if 视频帧数未读取完 then

3) for i=1, 2, ···, video.length do

4) 确定感兴趣区;

5) 计算光流矢量及相关值;

6) 获取前景、背景信息;

7) 分割图像;

8) 形态学处理;

9) 记录目标框;

10) 融合信息;

11) 绘制融合信息后的目标框,并对每帧目标框计数;

12) return

13) end for

14) end if

15) if 视频帧数读取完 then

16) break

17) end if

图 1 IOFGMM算法流程图Fig. 1 Flow chart of the IOFGMM method

3 实验结果及分析

3.1 实验环境与数据来源

实验的硬件环境为Intel i7-4 770,3.40 GHz的四核CPU;12 GB的内存;1 GB的AMD Radeon HD8490显卡和120 GB的固态硬盘。软件环境为Windows10操作系统的MATLAB R2014b。整个算法通过创建计算机视觉工具箱的对象进行编写。

算法的性能在真实的车辆视频上进行评估,数据集采用公共数据集CDnet2014[13],该数据集包含多个数据类别且每个类别中包含4~6个视频序列,可登录网站“ChangeDetection.net”免费下载。本实验研究运动车辆的检测,所以选用CDnet2014中的Highway、IntermittenPan、Street-CornerAtNight视频序列。3个视频序列的信息如表1所示。

表 1 用于检测的视频序列信息Table 1 Video sequence information for detection

这3个视频序列的图像格式均是位深度为24的RGB图像。由于彩色图像信息量多,处理复杂,故读取每张图像后,将彩色图像转换为灰度图像,即将三通道的RGB图像变为单通道的灰度图像。此外,采用自动白平衡算法[14]去除图像中的灰度突变、平滑图像。实际中采集到的一般为视频而非视频序列,故将所有的视频序列合成视频,对这3个合成的视频进行车辆的检测。

3.2 结果分析

3.2.1 车辆检测视觉效果

在3个不同场景下的监控视频上检测车辆的视觉效果如表2~4所示。表中第1列说明了该行所对应的为第几帧图像,第2列是输入的图像,第3列是对应图像的背景,第4列是对应图像的前景,第5列是对应图像的光流可视化,最后一列是最后检测的结果。

表2是白天高速公路上的车辆检测视觉效果。可以看出,由于是晴天,背景被树木的阴影和车辆的阴影遮挡,一定的时间段内,光照不会有太大变化。由于在背景建模时已经将带有树木阴影的车辆场景视为背景,因此不会将树木阴影误认为运动目标,又因为在前景信息的获取时进行了角点检测,而且融合信息的缘故,所以部分车辆阴影没有被误认为是车辆目标。

表3是PTZ(Pan/Tilt/Zoom)相机拍摄的城镇道路上的视频序列的检测效果。由于云台的上下、左右移动以及镜头的变倍、变焦使得对背景更新算法的要求较高。从检测效果看,在这样一个晴天且有阴影的情况下,图像的光线变化较大,但是由于在光流法中引入了新参数,所以在光流变化较大时仍可以得到较好的检测结果。

表4是街角的夜景检测的效果,其主要的挑战在于车灯的变化对于前景检测会造成很大的影响,且车灯的光线会对背景中的光流场有影响。由于形态学的处理和信息融合的缘故,减少了这种影响。

表 2 Highway场景检测的视觉效果Table 2 Visual effects of Highway scene detection

表 3 IntermittenPan场景检测的视觉效果Table 3 Visual effects of IntermittenPan scene detection

表 4 StreetCornerAtNight 场景检测的视觉效果Table 4 Visual effects of StreetCornerAtNight scene detection

3.2.2 检测结果量化对比

为了对实验结果进行量化,采用准确率(Precision,P)、召回率(Recall,R)与F1指标[15]评价IOFGMM算法,评价指标的值越大说明算法的检测效果越好。上述算法与一些经典的且实时性检测效果好的算法GMM、incPCP、Corola、OF、BBOF进行比较。其中,GMM是一种经典的背景差分方法,incPCP和Corola是一种基于背景差分法的改进算法,OF是稠密光流法Horn-Schunck,BBOF是一种基于块的双向光流运动检测方法。比较结果如表5和图2所示,从评价指标上看,GMM和OF两种经典算法的检测效果最差,而在其基础上改进的incPCP、BBOF以及Corola检测效果越来越好,而IOFGMM算法由于在光流算法中增加了一个约束条件,并将混合高斯背景建模的信息和光流信息相结合,从而导致该算法实验结果的指标值均高于其他5种算法,因而所提出的IOFGMM算法较优。

表 5 IOFGMM与GMM、incPCP、Corola、OF、BBOF的实验对比Table 5 Experimental comparison of IOFGMM, GMM, incPCP, Corola, OF and BBOF

图 2 IOFGMM与其他算法的对比Fig. 2 Comparison of IOFGMM and other methods

为进一步验证及评估该算法在实际场景中的检测效果,在山西省太原市西中环路进行车辆运动视频的采集,并用IOFGMM、Corola、BBOF算法对视频进行车辆检测。所采集的视频共有91帧,部分IOFGMM算法的检测结果如图3所示。

图 3 实际场景中的部分检测结果Fig. 3 Partial detection results in the actual scene

所提出的算法在获取前、背景信息及光流信 息后,将分割后的连通域进行形态学处理,并将光流信息和背景建模信息互相补充,从而检测到了与背景灰度信息相似的深色车辆、距离较远的车辆、距离较近的车辆,且标注出的目标框比较准确。此外,每帧图像中左上角的计数数量与实际的车辆数量相同。

3种算法检测在该视频上的检测结果如表6。可以看出,3种算法的准确率相差较小,召回率相差较大,且IOFGMM算法的准确率、召回率及F1值均高于Corola和BBOF。因而,实际场景中IOFGMM算法也具有良好的检测效果。

表 6 IOFGMM与Corola、BBOF的实验对比Table 6 Experimental comparison of IOFGMM, Corola and BBOF

4 结束语

针对光流算法受光照影响较大和在不同场景中检测效果差别较大等问题,提出了IOFGMM检测算法对车辆进行实时检测。该算法在改进OF算法的基础上融入GMM,将检测到的目标信息相融合,最终显示出具有检测信息的车辆监控视频。在公共数据集CDnet2014上对该算法进行验证,实验结果表明,该算法的P、R和F1值最高可达96.32%、94.81%、95.59%;最低为62.65%、72.26%、67.11%,但是无论是最高还是最低都比同样场景下的Corola等车辆检测算法的效果好。因此,该算法在不同场景下均能获得较好的效果,对于智能交通的发展具有重要意义。但是由于同一算法的同种参数应用于不同场景时会产生一些差别,从而影响算法的性能,故之后可以将级联机制引入IOFGMM算法中,预先判断场景,并根据场景选用不同参数,从而提高多场景下的车辆检测的准确率和召回率。另一方面,IOFGMM算法却乏主动学习的机制,因而下一步可以在光流场中引入神经网络,使得算法能够主动学习车辆特征,提高车辆的检测效果。

猜你喜欢
光流中心点背景
利用掩膜和单应矩阵提高LK光流追踪效果
“新四化”背景下汽车NVH的发展趋势
《论持久战》的写作背景
当代陕西(2020年14期)2021-01-08 09:30:42
Scratch 3.9更新了什么?
电脑报(2020年12期)2020-06-30 19:56:42
如何设置造型中心点?
电脑报(2019年4期)2019-09-10 07:22:44
基于物理学的改善粒子图像测速稳健光流方法研究
晚清外语翻译人才培养的背景
汉字艺术结构解析(二)中心点处笔画应紧奏
寻找视觉中心点
大众摄影(2015年9期)2015-09-06 17:05:41
融合光流速度场与背景差分的自适应背景更新方法