夏 婷,景星烁,邹卫军
(南京理工大学自动化学院,南京210094)
动态背景下的运动目标检测是计算机视觉领域的重要研究内容之一,在导航制导和监控预警等军事和民用领域都有着广泛的应用。动背景下检测运动目标,其难点在于,目标运动的同时背景也在发生旋转、缩放和平移,两者的运动很难区分。针对此问题,文献[1]提出了一种基于块匹配的运动目标检测算法,为了减小计算量,该方法用局部块的运动来代替块内所有像素的运动,影响了全局估计的准确性,且无法适应背景的旋转、平移等运动。文献[2]将SIFT特征匹配和差分法相结合,该方法对图像平移、旋转、缩放、亮度变化、遮挡和噪声等具有良好的不变性,但算法的复杂度较高,运行速度慢,实时性差。文献[3]提出SURF特征匹配法,利用较少的特征点达到了和SIFT算法接近的性能,速度相比SIFT算法有明显提升,但仍旧比较耗时,无法做到实时应用。文献[4]提出一种基于全局运动补偿的HS光流检测算法,根据目标与背景光流矢量的差异实现目标检测,然而该方法计算量大,实时性差。文献[5]提出的 LK 光流[6]和 HS 光流[7]相结合的检测算法运算速度快,但不能适应背景的旋转、缩放,只适用于摄像机位置固定、焦距固定的定点监控场合。
基于以上分析,本文提出一种将金字塔LK光流法与背景补偿相结合的方法,即先采用LK光流法在两幅图像上得到相互匹配的多组特征点对,再对这些特征点对做仿射变换消除背景运动造成的影响,最后通过差分提取运动目标。本文算法运算速度明显优于基于SURF特征匹配的算法,同时能有效消除背景运动干扰,实现稳定的运动目标检测。
金字塔LK光流法[8]只针对图像特征点进行光流计算,而不像稠密光流那样对图像每个像素点都进行光流计算,因此,图像特征点提取的准确性直接关系到最后光流矢量的计算结果[9]。根据式(9),LK光流法的计算要求矩阵G是可逆的,即要求G最小的特征向量必须足够大。在实际计算中,可以采用Shi-Tomasi角点法[10]提取出符合要求的特征点,它是一种改进的Harris角点检测方法,用于提取图像的强角点。
在任意方向的一个微小变动都会引起灰度很大变化的像素点称之为角点。因此可以通过像素点灰度变化情况来检测角点,即求解式(1)找到E的最大值:
其中,I(x,y)表示灰度值,w(x,y)表示窗口函数。对式(1)进行Taylor展开:
其中,
矩阵M对应式(9)中的矩阵G。计算图像中的每一个像素点的矩阵M和它最小的特征向量λm,称λmax是λm在整张图片上的最大值。保留图片上像素值的λm的个数大于一定比例的λmax,这个比例称为角点的品质因子,角点的品质因子与λmax的乘积作为选取特征点的阈值(本文角点的品质因子是1%)。通过这些点,保留局部最大的像素,即图像的强角点。
光流算法基于以下3个假设:亮度恒定、连续的小运动、空间一致[11]。根据前两个假设,可以得到经典的光流约束方程为:
该方程缺乏约束条件,根据第三条假设,可以认为局部区域内像素运动具有一致性,从而利用该特征点周围局部邻域内像素的灰度值不变来计算光流矢量。
假设I和J为连续两帧图像,点(x,y)对应的灰度值分别为I(x,y)和J(x,y), 点u=(ux,uy)在I上对应的灰度值为I(u),LK光流法的目标是在图像J上找到一点v=u+d=(ux+dx,uy+dy),使其对应的灰度值J(v)=I(u)。 根据以上原理, 可以定义点u在其周围3×3像素邻域Ω内的误差函数:
当式(5)取得最小值时,J(v)和I(u)近似相等,即可认为点v是u在图像J上的对应点。对式(5)求解,使ε(d)对向量d的偏导为0。经过数学推导得:
记:
由式(9)可知:当G可逆时,方程有解,可以得出该特征点的光流矢量d,进而预测出点u在图像J中对应的位置。
由于LK光流法是基于连续的小运动的假设,而实际情况中,尺度大而不连续的运动更为常见,因此采用图像金字塔技术来解决这个问题。具体方法是从图像金字塔的最高层开始计算光流,然后将该层计算结果作为下一层计算的起始值,重复这个过程直到金字塔的最底层。这样处理后,满足光流算法的连续小运动假设,从而实现对速度更快和尺度更大的运动进行检测。
仿射变换是一种二维坐标之间的线性变换,保持二维图像的 “平直性” 和 “平行性”[12]。 通过仿射变换,可以有效消除背景运动造成的影响。本文采用6参数仿射变换,一般形式为:
其中,a0、a1、a2、b0、b1、b2为仿射参数。 利用光流法得到的至少3组特征点对即可计算出仿射参数,进而对整张图片做仿射变换,实现背景补偿。
本文提出算法的处理流程如图1所示,具体表述为:
1)对第t帧图像进行Shi-Tomasi角点检测,提取图像强角点。
2)利用提取出的特征点做金字塔LK光流计算,预测这些特征点在t+1帧的位置,得到多组相互匹配的特征点对。
3)计算仿射变换参数做背景补偿。
4)利用帧差法分割出前景目标并做形态学滤波等处理,实现运动目标检测。
在Visual Studio 2013+OpenCV2.4.11的环境下,将本文方法与SURF图像配准结合帧差法作对比,实验结果对比如图2~图4、表1~表2所示。
表1 两种算法运行时间比较表Table 1 Comparison of two algorithms'running time (单位: ms)
表2 两种算法的特征点数目比较表Table 2 Comparison of the number of feature points in two algorithms (单位: ms)
从图2和图4结果可以看出,本文方法和SURF方法都可以实现动态背景下运动目标的检测。表1列出了用这两种方法对3段不同视频进行目标检测的具体运行时间。对比几组数据可以发现,本文方法的运行速度比SURF配准法快很多。SURF配准法处理过程比较复杂,先利用图像上所有点的Hessian矩阵来构建Gauss金字塔尺度空间,进行特征点的选取,再构造SURF特征点描述算子,最后对两幅图像进行特征点匹配和筛选。以视频1第96帧、98帧为例,SURF算法的3个主要步骤的耗时分别是 156.057ms、227.801ms、558.799ms,仅第一步计算每个像素的Hessian矩阵行列式的时间就超过了光流算法需要的总时间。本文算法的实时性明显优于SURF方法。
从图3结果可以看出,在处理复杂背景时,本文方法只间隔一帧处理,就可以得到较好的检测效果。观察图3(e),SURF方法则存在一些杂点,在间隔4帧处理时,效果如图3(f)所示,杂点基本消失。表2列出了两种方法选取的特征点数目,可以看出在初步筛选时,两种方法都选取了足够代表全局图像信息的特征点。经过光流法处理后,仍保留了大部分特征点,因此对仿射参数的计算更加准确,背景补偿效果更好;而SURF法最终只保留了少量特征点,在处理复杂背景时可能存在一定的误差。本文方法在处理复杂背景时比SURF方法效果更好。
本文提出了一种基于光流的动态背景下的运动目标检测方法。利用金字塔LK光流法得到多组相互匹配的特征点对来计算仿射参数,对图像做仿射变换来补偿背景的运动,最后用帧差法得到前景目标。将该方法与目前流行的SURF图像配准法作对比实验,结果表明,本文方法能够以较好的实时性稳定地检测和提取动背景下的运动目标。
[1]施家栋,王建中.动态场景中运动目标检测与跟踪[J].北京理工大学学报, 2009, 29(10): 858-860+876.SHI Jia-dong, WANG Jian-zhong. Moving objects detection and tracking in dynamic scene [J].Transactions of Beijing Institute of Technology, 2009, 29(10): 858-860+876.
[2]王梅,屠大维,周许超.SIFT特征匹配和差分相乘融合的运动目标检测[J]. 光学精密工程, 2011, 19(4):892-899.WANG Mei, TU Da-wei, ZHOU Xu-chao.Moving object detection by combing SIFT and differential multiplication[J].Optics and Precision Engineering, 2011, 19 (4):892-899.
[3]于明,孙炜烨,阎刚,等.动态场景下基于精确背景补偿的运动目标检测[J].计算机应用与软件,2013,30(10): 139-141+198.YU Ming, SUN Wei-ye, YAN Gang, et al.Moving objects detection based on exact background compensation in dynamic scene [J].Computer Applications and Software,2013, 30(10): 139-141+198.
[4]叶春明.一种基于全局运动补偿的HS光流检测算法[J]. 光学与光电技术, 2015, 13(5): 87-92.YE Chun-ming.HS optical flow algorithm based on global motion compensation [J].Optics & Optoelectronic Technology, 2015, 13(5): 87-92.
[5]储珺,施芒,符祥.基于光流的动态背景运动目标检测算法[J].南昌航空大学学报(自然科学版), 2011,25(3): 1-6.CHU Jun, SHI Mang, FU Xiang.Detection of moving target in dynamic background based on optical flow [J].Journal of Nanchang Hangkong University(Natural Sciences), 2011, 25(3): 1-6.
[6]Lucas B D, Kanade T.An iterative image registration technique with an application to stereo vision [C].Proceedings of DARPA Image Understanding WorkShop, 1981:121-130.
[7]Horn B K P, Schunck B G.Determining optical flow [J].Artificial Intelligence, 1981, 17(1-3): 185-203.
[8]Bouguet J Y.Pyramidal implementation of Lucas Kanade feature tracker description of the algorithm [J].OpenCV Documentation, 1992, 22(2): 363-381.
[9]陈添丁,胡鉴,吴涤.稀疏光流快速计算的动态目标检测与跟踪[J].中国图像图形学报, 2013, 18(12):1593-1600.CHEN Tian-ding, HU Jian, WU Di.Dynamic target detection and tracking based on fast computation using sparse optical flow [J].Journal of Image and Graphics, 2013, 18(12): 1593-1600.
[10]Shi J B, Tomasi C.Good features to track [C].Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 1994: 593-600.
[11]兰红,周伟,齐彦丽.动态背景下的稀疏光流目标提取与跟踪[J].中 国 图 象 图形学报, 2016, 21(6):771-780.LAN Hong, ZHOU Wei, QI Yan-li.Sparse optical flow target extraction and tracking in dynamic backgrounds[J].Journal of Image and Graphics, 2016, 21 (6):771-780.
[12]管焱然,管有庆.基于OpenCV的仿射变换研究与应用[J]. 计算机技术与发展, 2016, 26(12): 58-63.GUAN Yan-ran,GUAN You-qing.Research and application of affine transformation based on OpenCV [J].Computer Technology and Development, 2016, 26(12):58-63.