郝慧琴,王耀力
(太原理工大学 信息工程学院,山西 太原 030024)
基于帧间差分和金字塔光流法的运动目标检测
郝慧琴,王耀力
(太原理工大学 信息工程学院,山西 太原 030024)
针对用于运动目标检测的光流算法存在处理复杂、计算量大等问题,提出一种帧间差分算法和金字塔LK光流法相结合的运动目标检测方案。该方法先对视频图像进行帧间差分处理,得到图像的运动区域,再对该运动区域进行金字塔LK光流计算,减少了计算区域,提高目标检测的速度。最后在搭建的视觉避障平台上使用LabVIEW语言进行算法程序验证,实验结果证明了算法的有效性。
帧间差分法;金字塔LK光流法;运动目标检测;视觉避障平台
运动目标检测是目前机器视觉领域的研究热点,广泛应用于安防保卫、机器人避障、人脸识别等领域。目前常用的运动目标检测方法有:背景差分法、帧间差分法、光流法。
背景差分法[1-2],通过将当前图像和背景图像作对比来检测出运动物体,该方法检测运动目标速度快、检测准确、易于实现,但是其检测效果依赖于背景模型的选取。在实际应用中,随着背景图像的运动需要进行背景模型更新。
帧间差分法[3],通过对视频图像序列中的相邻两帧图像做差分运算来获得运动目标轮廓,该算法实现简单、对光线变化不太敏感、稳定性较好,但是不能提取出对象的完整区域,只能提取出边界,且帧间时间间隔的选择直接影响检测效果。
光流法[4],通过研究图像灰度在时间上的变化与影像中物体结构及其运动的关系来检测运动物体,该算法不需要预先知道场景的任何信息,避免了背景模型的更新以及帧间时间间隔的选取问题,但是该算法的实现有三个假设前提,但在实际应用中,光流法的三个假设前提很难满足,基于此,本文提出了基于帧间差分法和金字塔LK光流法[5]的运动目标检测,并在实验平台上验证,结果表明该方法不受光线变化和运动快慢的影响,可以更精确地检测到运动目标。
1.1帧间差分法
帧间差分法是将视频序列中的相邻两帧图像做差分运算,当某像素点前后两帧图像的灰度差绝对值大于阈值时,标记该位置为运动区域。通过对图像中所有像素点进行灰度值对比得到运动目标的轮廓。
取相邻两帧图像I(t)、I(t+1),图像中的像素点(x,y)在t时刻的灰度值为f(x,y,t),像素点(x,y)在t+1时刻的灰度值为f(x,y,t+1),得到的差值图像为
(1)
式中:T为阈值,当像素点(x,y)在相邻图像的灰度差绝对值大于T时,标记差值图像中点(x,y)的灰度值为1,当灰度差绝对值小于T时,标记差值图像中点(x,y)的灰度值为0。其中,T的选取非常重要,既要能忽略背景灰度的微小变化,也必须精确地标记出变化区域。
这种算法将前一帧图像作为背景模型,对当前图像做差分运算,避免了背景差分法中背景模型的更新,算法简单,计算量小,且对光线变化不敏感。但该算法只能提取出运动目标的边界,对帧间时间间隔和阈值的选择有较高的要求。当物体运动较快,而时间间隔较大时,物体在前后两帧图像没有重叠,这样会被检测为两个分开的物体;当物体运动较慢,而时间间隔较小时,物体在前后两帧图像中几乎完全重叠,则会检测不到物体。
1.2LK光流法
光流法利用图像序列中像素强度数据的时域变化和相关性来确定各像素位置的“运动”。LK(Lucas-Kanade)光流算法[6-7]是一种两帧差分的光流估计算法,被广泛应用于稀疏光流场,假设前提是:1)亮度恒定不变;2)时间连续或者运动是“小运动”;3)空间一致,临近点运动情况相似且这些点在图像上的投影也在临近区域。假设1)是为了保证等号成立不受亮度的影像,假设2)是为了保证KLT[8]能够找到点,假设3)则是为了保证同一窗口中所有点的偏移量都相等。
图像约束方程为
I(x,y,t)=I(x+dx,y+dy,t+dt)
(2)
I(x,y,t)表示t时刻点(x,y)的灰度,假设图像移动足够小,对图像约束方程使用泰勒公式,得到
(3)
Ixu+Iyv=-It
(4)
(5)
普通的最小二乘解是指窗口内的n个像素的光流值一样,但是随着各点光流与中心点距离的增加,光流偏差会有所增加,所以设W2为一个窗口权重函数,该函数使窗口中心点的加权比周围大,得到加权版本
r=(ATW2A)-1ATW2b
(6)
计算得光流值:
(7)
1.3金字塔LK光流法
J(x+dx,y+dy))2
(8)
将图像的宽高每次缩放为原来的一半,共缩放Lm层,第0层为原图像。设已知原图的速度为d,则每一层的速度为
(9)
假设在L层求解光流,将此层的计算结果反馈给上一层L-1,作为该层初始时的光流估计g。依此类推,直到第0层,即原图,如图1所示。
图1 分层分解金字塔模型
对于每一层L,方程(8)变为
(10)
每一层的计算结果dL通过如下方程反馈给上一层作为初始的光流估计
gL-1=2(gL+dL)
(11)
由于金字塔的缩放减小了光流值,最底层即Lm层的光流估计值设为0,即
(12)
以此方式迭代,可以得到最顶层(即0层)的光流值
d=g0+d0
(13)
(14)
(15)
(16)
(17)
函数EL(dL)取最小值时得到最优光流矢量
dL=G-1b
(18)
1.4改进算法
金字塔光流法可以检测出运动速度过快的物体,取消了LK光流法的2)、3)假设,但是计算量大,对硬件要求高,且不能消除光照对该算法的影响。本文将帧间差分法和金字塔光流法相结合,先对图像进行帧间差分运算,得到运动目标区域,再进行金字塔光流运算,这样既避免了光线的影响(消除了1)假设),又可以检测到运动速度过大的目标,并且降低了计算量,提高了系统的实时性。算法流程如图2所示。
图2 改进算法流程
具体步骤如下:
1)视频序列预处理、去噪。
2)取视频序列的连续三帧图像Ii-1(x,y),Ii(x,y),Ii+1(x,y)。
3)对Ii-1(x,y),Ii(x,y)做差分运算,得到帧差图像fi(x,y),对Ii(x,y),Ii+1(x,y)做差分运算,得到帧差图像fi+1(x,y)。
4)对帧差图像fi(x,y),fi+1(x,y)做二值化处理,并进行逻辑与操作,得到运动区域图像J(x,y)。
9)计算Lm层的光流值dL=G-1b。
10)计算L-1层的光流:gL-1=2(gL+dL),以此类推得到最后的光流值:d=g0+d0。
11)图像P(x,y)的对应特征点为v=u+d。
12)得到运动目标图像P(x,y)。
NI Starter Kit是美国国家仪器公司(National Instruments)设计的一款可以实现自治系统的原型,包含NI sbRIO-9632嵌入式控制器、超声波传感器、编码器、电机、电池等。它通过超声波传感器探测前方障碍物,人们可使用LabVIEW语言编写避障程序,实现机器人的自主避障。NI起步包原型如图3所示。
图3 NI起步包原型
为了对本文提出的改进算法进行验证,笔者将NI起步包改装为视觉避障平台。使用网络摄像机AXIS 206代替超声波传感器,使用华硕路由器RT-G32完成机器人、网络摄像机和服务端的通信,并在NI起步包平台上实现网络摄像机(额定电压5 V)和路由器(额定电压12 V)的电源供应。实验平台如图4所示。
图4 NI起步包视觉平台
本设计使用LabVIEW语言实现运动物体的实时监控,并将本文提出算法在上述平台进行验证,完成机器人的自主避障。
为了近距离检测到运动目标后,再进行机器人的运动姿态调整,本设计将所获取的视频截取下半部分进行处理,图5是没有运动目标情况下摄像机采集到的图像,图6中出现了一双脚,图7和图8分别是经过金字塔光流法处理得到的阈值图像和实时检测图像,图9和图10分别是经过帧间差分+金字塔光流法处理得到的阈值图像和实时检测图像。
图5 无运动目标情况下采集的图像(截图)
图6 出现运动目标的视频图像(截图)
图7 经过金字塔光流法处理后得到的阈值图像(截图)
图8 经过帧间差分+金字塔光流法处理后得到的阈值图像(截图)
图9 经过金字塔光流法处理后得到的实时检测图像(截图)
图10 经过帧间差分+金字塔光流法处理后得到的实时检测图像(截图)
从图7~8的对比,以及图9~10的对比,可以清楚地看出,结合帧差法和金字塔光流法改进后的目标检测算法可以更精确地检测到运动目标,并且不受光线的影响。
经过实验,优化后的运动目标检测算法对于分辨率为320×240的视频图像平均可达18.9 f/s(帧/秒)的处理速度,满足了避障平台实时性的要求。
本文提出的基于帧间差分法和金字塔L-K光流法的组合算法,结合了各自算法的优势,对运动目标的检测有更好的效果,并且大大提高了视频处理的速度,在机器人自主避障的过程中提高了实时性,适当增加了机器人前进的速度。
[1]丁磊,宫宁生.基于改进的三帧差分法运动目标检测[J]. 电视技术,2013,37(1):151-153.
[2]CUCCHIARA R, PICCARDI M, PRATI A. Detecting moving objects,ghosts,and shadows in vedio streams[J]. IEEE transactions on pattern analysis and machine intelligence,2003,25 (10):12-15.
[3]熊英. 基于背景和帧间差分法的运动目标提取[J]. 计算机时代,2014(3):38-41.
[4]ENKELMANN W. Investigations of multigrid algorithms for the estimation of optical flow fields in image sequences[J]. Computer vision,graphics and image processing, 1988,43(2):150-177.
[5]LUCAS B D,KANADE T. An iterative image registration technique with an application to stereo vision[J]. Proceedings of artifical intelligence,1981(4):1-4.
[6] 任克强,余启明,罗会兰. 一种改进的混合高斯模型运动目标检测算法[J]. 电视技术,2012,36(23):168-171.
[7] 袁宝红.基于视频的运动目标检测与跟踪[D].合肥:安徽大学,2014.
[8]胡社教,葛西旺,陈宗海. 基于角点特征的KLT跟踪全景图像拼接算法[J]. 系统仿真学报,2007(8):1742-1744.
[9]HORN B K P, SCHUNCK B G. Determining optical flow[J].Artificial intelligence,1981(17):185-203.
[10]吴新根,罗立民. 一种改进的光流场计算方法[J]. 电子学报,2000(1):130-131.
郝慧琴(1991— ),女,硕士生,主研单目视觉机器人避障;
王耀力(1965— ),副教授,主要研究方向为人机视觉分析与处理、信息系统设计和嵌入式系统电路等。
责任编辑:闫雯雯
Algorithmformovingobjectdetectionbasedoninter-framedifferencingandpyramidopticalflowmethods
HAOHuiqin,WANGYaoli
(College of Information Engineering,Taiyuan University of Technology,Taiyuan 030024,China)
AmethodtodetectmovingobjectsusingInter-framedifferencingandpyramidLKopticalflowisproposed,asopticalflowalgorithmhasahighcomputationalcomplexityandlargecomputation,whichmakethelimitationcertain.Firstly,themotionareaofthevideoimagecanbedetectedbytheinter-framedifferencingmethod,andthentheopticalflowofthisareaiscalculatedusingpyramidLKflowmethod.Thecomputedareaisreduced,andthereforethedetectionspeedisimproved.Finally,thisimprovedmethodisverifiedonthevisualobstacleavoidanceplatformbyLabVIEWprogramsandtheexperimentresultsshowtheeffectivenessofthisalgorithm.
inter-framedifferencingmethod;pyramidLKopticalflowmethod;movingobjectdetection;visualobstacleavoidanceplatform
TP391
ADOI:10.16280/j.videoe.2016.07.029
山西省自然科学基金项目(2013011015-1)
2015-10-15
文献引用格式:郝慧琴,王耀力. 基于帧间差分和金字塔光流法的运动目标检测[J].电视技术,2016,40(7):134-138.
HAOHQ,WANGYL.Algorithmformovingobjectdetectionbasedoninter-framedifferencingandpyramidopticalflowmethods[J].Videoengineering,2016,40(7):134-138.