移动视点视频中的在线阴影检测与跟踪
2017-05-12陈祥祥时宏伟
陈祥祥,时宏伟
(1.四川大学计算机学院,成都 610065;2.四川大学视觉合成图形图像国防重点实验室,成都 610065)
移动视点视频中的在线阴影检测与跟踪
陈祥祥1,2,时宏伟1,2
(1.四川大学计算机学院,成都 610065;2.四川大学视觉合成图形图像国防重点实验室,成都 610065)
在线地检测和跟踪视频中的阴影有助于理解场景信息,在计算机视觉和虚拟现实等领域内具有重要的研究意义。针对现有视频阴影检测与跟踪方法常常被限定于处理固定摄像机拍摄的视频,提出一种从移动视点视频中在线检测和跟踪阴影的算法。该算法首先将待检测的当前帧分为可通过跟踪前一帧得到的跟踪区域和因视点移动造成的新进区域。在跟踪区域中,算法在利用光流实现从前一帧到当前帧的阴影边缘跟踪,同时对光流算法产生的累积跟踪误差进行修正;在新进区域中,为了在线检测新进入的阴影边缘,根据室外光照成影模型构造用于描述阴影边缘特征的特征向量,用以区分阴影边缘和非阴影边缘。实验表明所提出的算法不仅可以实现视频中阴影边缘的稳定跟踪,同时能准确地检测到因相机移动造成的新进入的阴影边缘。
阴影检测;阴影跟踪;移动视点
0 引言
在各种视频处理中,阴影检测往往是十分重要的一步,例如视频中目标检测和视频跟踪等。另外,在增强现实(AR)中,视频中阴影的实时在线检测也是不可或缺的重要一步,常常作为虚拟物体与真实物体间阴影交互的预处理。与单幅图像上的阴影检测不同,视频中的阴影检测必须保证相邻各帧之间的阴影一致性,这就要求算法具有更好的准确性和鲁棒性。为此,视频处理领域已有大量的阴影检测工作[1-4]。然而现有的算法大都将视频限定于固定视点下拍摄的视频。在固定视点的情况下,可以通过背景差分法快速获得背景区域然后再对前景区域进行阴影和物体的检测和识别,但这些算法并不适用于移动的设备拍摄的视频,例如广泛应用的智能手机拍摄的视频。另外,由于阴影不具备形状信息,为固定外形设计的传统的目标跟踪算法也并不适合在视频中跟踪阴影。因此,和固定视点下的情况相比,移动视点视频中的阴影检测与跟踪更加困难和具有挑战性。
基于视频的阴影检测算法又可以根据处理方式分为离线处理和在线处理两大类:离线处理将整个视频序列作为输入,可以利用整个视频的时空信息检测阴影。相反,在线处理只将视频的当前帧作为输入,只能利用已输入的视频帧信息检测阴影。所以在线视频的阴影检测对准确性和效率都提出了更高的要求。据笔者所知,目前还没有公开的针对移动视点视频下在线检测阴影算法。
本文算法主要针对移动视点视频中的室外场景阴影的在线检测和跟踪。因为摄像机的运动一般是连续的,在视频场景静止的情况下,我们提出了一种基于光流的阴影跟踪和检测算法。首先我们将每一帧图像分成两个部分:跟踪区域(TR)和新进区域(NR),前者指相邻两帧的共同区域,后者指由于视点移动新进入场景的区域。然后我们在TR中根据光流实现阴影边缘的跟踪,并在NR中利用基于特征向量匹配的算法实现新进阴影边缘的检测。
1 相关工作
阴影检测的算法主要可以分为两大类:基于图像的算法和基于视频的算法。文献[5-9]介绍最近的基于单幅图像的阴影检测算法。[6]提出了一种基于室外光照模型的软影检测算法。[9]是基于光照型,利用梯度信息实现的阴影检测。和[6,9]不同,[5,7-8]提出了基于支持向量机(SVM)的阴影检测方法,通过提取阴影的特征,并通过大量数据的训练得到分类器用于阴影的检测。这种方法的弊端在于训练分类器需要大量的数据和时间,并且阴影检测的速度慢。
文献[1-4,10,11]介绍了视频阴影检测的算法。[1]利用每帧图像亮度的信息将图像分为不同的各个小区域,然后通过分析各个区域的本质特征将各个小区域标识为是否为阴影,[2]和[1]的算法类似,不同在于[2]介绍一种新的筛选阴影区域的方法[3]。在HSV颜色空间中分析了阴影的特征,将其用于视频阴影的检测。文献[10-11]分别介绍了一种高效的、实时的视频检测算法。
上述视频阴影检测算法的局限在于处理的视频被限制在固定视点下拍摄的视频,而且视频中相同场景的阴影在前后两帧之间被重复检测,容易出现前后两帧检测结果不一致等错误情况。
2 本文算法
本文算法主要分为两步:相同场景的边缘跟踪和新进阴影边缘的检测。利用光流算法实现阴影边缘跟踪的难点在于消除光流算法在处理连续视频序列时产生的累积误差。对于新进的阴影边缘,我们设计一种类似于支持向量机(SVM)的向量匹配检测算法。该算法充分利用了已经跟踪到和检测到阴影边缘信息,实现了较好的实验效果。
算法流程如图1所示:红色字体标注了本文算法的关键步骤。算法避免了对相同场景中阴影边缘的重复检测,这不仅有利于保持相邻两帧之间的阴影边缘的一致性,而且有利于提高阴影检测的效率。
图1首先用光流算法计算出TR和NR,然后根据前一帧的结果和光流信息实现TR内的阴影边缘跟踪,在NR内根据特征向量集实现阴影边缘的跟踪并更新向量集内的特征向量。
图1
2.1 TR的阴影跟踪
因为阴影自身的特点,实现对阴影的跟踪并不容易。为此,我们使用了经典的光流算法[12]作为我们基本的跟踪方法。不过,光流跟踪往往存在误差,这种误差在相邻两帧之间不易被察觉。在连续的视频帧之间,这种误差会以累计误差的方式逐渐显现,影响跟踪的准确性。图2展示[12]光流算法连续跟踪多帧后因累计误差造成的阴影边缘偏移情况。
为了消除光流算法的累计误差,我们在每一帧都对光流跟踪的结果进行了修正。首先,利用光流算法[12]从前一帧跟踪到当前帧,得到当前帧跟踪的阴影边缘。然后,对当前帧使用均值漂移滤波并使用Canny算子边缘检测[13]得到包含当前帧所有边缘的临时结果。最后,利用光流跟踪而来的结果对Canny算子边缘置信:如果Canny边缘上像素点的临域内有光流跟踪的边缘点时,我们就认为它是我们需要跟踪的边缘;反之,就不是我们要跟踪的边缘点。具体来说,我们是用光流跟踪已知的阴影边缘得到了一个置信区域,用这个区域筛选当前帧的待选的边缘。这样,在每一帧我们都修正了光流算法的微小误差,避免了连续多帧应用光流算法时如图2中出现的偏移现象。
从图2展示的结果可以看出该算法能够实现阴影边缘的稳定跟踪。另外,也可以看出只利用光流算法[12,14]跟踪阴影边缘会出现边缘点减少和分散的情况,我们的算法也避免了这种情况的出现。
图2 累计误差
2.2 NR的阴影检测
为了避免阴影边缘的重复检测,我们首先根据2.1中的光流信息确定新进区域(NR)。如图3(a)所示,我们选定图像中的五个点作为基准点,根据这五个点的光流信息确定视点的移动方向以及新进场景的宽度。提供了视点的移动方向,提供了新进场景在X和Y方向上检测窗口的宽度。对光流信息的采样是为了自适应的调整检测窗口的大小,尽量避免不必要的重复检测。图3(b)验证了有效性,为了更好地观察,我们标注了第10帧相对于第1帧的新进场景。
为了检测新进场景中的阴影边,我们首先构造了特征量用来描述阴影边缘的特征,与文献[8]类似。
第一个视觉特征反映太阳光和天空光在阴影边缘两侧的差异。在同一边缘像素点,设阴影一侧的RGB颜色空间均值为Lr,Lg,Lb,非阴影侧为Hr,Hg,Hb,用向量 (tr,tg,tb)=(Lr/Hr,Lg/Hg,Lb/Hb)反映两侧光照强度的比。因为在阴影两侧的光照条件和反射条件常常是统一且平滑的,这个向量能很好地反映太阳光和天空光在阴影两侧的比。
图3 新区域(NR)的确定算法
图4 室外光照成影模型
第二个视觉特征反映物体对太阳光的遮挡比例。图4是一个简单的光照模型。如图所示,假设在A,B,C点的光照条件为:
式中的k和bi(i=1,2,3)分别是成影物体对太阳光和天空光的遮挡因子。因为天空光在三点的差异很小,即则能得到成影物体对太阳光的遮挡因子k:
第三个阴影边缘的特征是阴影的宽度。如图4所示,|AB|是从k=0到待检测阴影边缘的宽度w1,|BC|是软影的宽度w2,计边缘区域的总宽度w=w1+w2。和宽度相关的信息是梯度,我们结合梯度设计了RGB颜色空间各个通道沿阴影边缘法线方向变化速率特征
综上所述,我们设计了一个反映阴影边缘特征的10维特征向量V⇀(k,tr,tg,tb,vr,vg,vb,w,w1,w2)。
在算法初始化中,我们从第一帧中的已知阴影边缘的各个像素点提取特征向量,构成用于检测新的阴影边缘的特征向量集F。在NR中,选取Canny边缘作为待定的阴影边缘在各个边缘点提取特征向量b⇀=(bi)(i=0,1,…,9),b⇀和向量集 F的向量a⇀=(ai)(i=0,1,…,9)进行匹配,匹配函数如下式所示:
式(3)分别描述了前文中的特征分量的差别。式(4)是两个向量最终的匹配度函数。exp()是e的指数函数,max()返回差距最大的特征分量作为惩罚项。对于待选边上的像素点P有:
式(5)使用阈值α对P进行检测,本文实验中设置α= 0.9。
另外为了使向量集保持对当前帧的有效性,当上述匹配成功时, 我们采用加权平均的方式更新向量集F 中匹配成功的向量加权系数β∈[0,1)不宜过大,本文实验中设置为0.3。
本文算法步骤总结如下:
输入:在线视频流
输出:包含阴影边缘信息的视频流
(1)初始化,读入已交互标定阴影边缘的第一帧视频图像,自动提取阴影边缘特征的向量集F。
(2)读入当前帧的视频图像gi,利用[12]计算与暂存的前一帧gi-1视频图像的光流信息。
(3)利用光流信息将gi分为追踪区域(TR)和新进区域(NR)。
(4)利用(2)中的光流信息在TR内追踪阴影边缘。
①对gi进行均值漂移滤波后的Canny算子边缘检测,获得gi的边缘信息E。
②gi-1的阴影边缘利用(2)的光流信息追踪到gi上得到追踪边缘信息T。
③用T的邻域置信E得到修正后的追踪阴影边缘信息。
(5)利用(1)中的向量集在NR内检测阴影边缘。
(6)重复(2)~(5),直至视频流结束。
3 实验结果
首先,我们将本文算法与最近的光流算法[14]进行了比较。图5给出了本文算法与文献[14]的实验结果比较,从图中可以看出文献[14]的算法在实现阴影边缘跟踪时存在明显的偏移,这是由于它的累计误差造成的。而且[14]跟踪的边缘点随着处理帧数的增加逐渐分散和减少。本文算法不仅修正了由于光流算法造成的累计误差,实现了阴影边缘的稳定跟踪,而且准确地检测了新进场景中的新的阴影边缘。
图5 阴影边缘跟踪和检测结果比较
图6 实验结果
最后我们选取了两个移动视点下室外拍摄的视频进行阴影边缘的检测与跟踪,其实验结果如图6所示。实验结果验证了本文算法的有效性和准确性。在阴影边缘的跟踪和新近阴影边缘的检测两个方面都实现了较好的实验结果。另外算法在处理复杂边缘信息(实验1中的汽车)和软影(实验2)的情况时也表现出良好的鲁棒性。
该算法在3.10GHz CPU,8GB内存的PC上运行,软件环境为VS2010+OpenCV2.9。处理400×300像素大小视频的帧率为11帧/秒,处理600×400像素大小视频的帧率为8帧/秒。假设向量集中的向量个数为m,待匹配的向量个数为n,则在空间复杂度方O(m+n)。在时间复杂度方面:因为处理每帧只需要提取新进区域的特征向量,所以提取向量的时间复杂度为O(n);再加上向量匹配的时间复杂度O(m×n),因此阴影边缘检测的时间复杂度为O(m×n)。由于在本文算法中的m和n都不大,例如场景一中m≈1197,n≈111,场景二中m≈591,n≈50,所以算法的整体时间和空间复杂度略高于算法[12]的时间和空间复杂度。
4 结语
本文提出了一种移动视点下的视频阴影边缘检测的算法框架。该框架综合利用了光流信息和阴影边缘特征实现了移动视点视频中阴影边缘的稳定跟踪和检测。该框架可以应用于增强现实系统,特别是当前智能手机等移动端的增强现实系统,提供良好的阴影信息基础。
本文算法初步探索了移动视点下的在线视频阴影检测。其不足之处是:(1)对于在线的视频处理还未能达到实时,主要原因是光流算法[12]和向量的匹配效率不够高。在未来的工作中,我们将研究采用更加高效准确的光流算法和向量匹配算法,以满足视频处理对实时的要求。(2)对于非静止场景效果不佳。当场景中有移动物体时,第一种情况是移动物体可能遮挡待追踪的阴影边缘,物体移动的光流信息会干扰对阴影边缘的跟踪,造成跟踪误差较大。第二种情况是移动物体的阴影可能造成场景阴影形状的改变,这种情况下进行阴影的在线检测和跟踪非常困难。在未来的工作中我们将探索结合场景的深度信息实现对非静止场景的阴影跟踪和检测。
[1]A.Amato,M.Mozerov,A.Bagdanov and J.Gonzalez.Accurate Moving Cast Shadow Suppression Based on Local Color Constancy Detection.IEEE Transactions On Image Processing,Vol.20,No.10,pp.2954-2966,2011..
[2]A.Russell,J.Zou.Moving Shadow Detection Based on Spatial-Temporal Constancy.2013,7th International Conference On Signal Processing And Communication Systems(ICSPCS),2013.
[3]R.Cucchiara,C.Grana,M.Piccardi,A.Prati.Detecting Moving Objects,Ghosts,and Shadows in Video Streams.IEEE Transactions on Pattern Analysis And Machine Intelligence,Vol.25,No.10,Pp.1337-1342,2003.
[4]M.Yang,K.Lo,C.Chiang,W.Tai.Moving Cast Shadow Detection By Exploiting Multiple Cues.IET Image Process.,Vol.2,No.2,P. 95,2008.
[5]J.Zhu,K.Samuel,S.Masood,M.Tappen.Learning to Recognize Shadows in Monochromatic Natural Images.2010 IEEE Computer Society Conference On Computer Vision And Pattern Recognition,2010.
[6]Q.Dong,Y.Liu,Q.Zhao,H.Yang.Detecting Soft Shadows in a Single Outdoor Image:From Local Edge-Based Models to Global Constraints.Computers&Graphics,Vol.38,Pp.310-319,2014.
[7]K.Daniilidis,P.Maragos,N.Paragios.Computer Vision-ECCV 2010.Berlin,Heidelberg:Springer-Verlag Berlin Heidelberg,2010: 322-335
[8]Xiang Huang,Gang Hua,J.Tumblin,L.Williams.What Characterizes a Shadow Boundary Under The Sun and Sky?2011 International Conference on Computer Vision,2011.
[9]R.Guo,Q.Dai And D.Hoiem.Single-Image Shadow Detection and Removal Using Paired Regions.CVPR 2011,2011.
[10]M.Russell,G.Fang,J.Zou.Real-Time Vehicle Shadow Detection.Electronics Letters,Vol.51,No.16,Pp.1253-1255,2015.
[11]M.Khare,R.Srivastava,A.Khare.Moving Shadow Detection and Removal-A Wavelet Transform Based Approach.IET ComputerVision,Vol.8,No.6,Pp.701-717,2014.
[12]Gunnar Farneback.Two-Frame Motion Estimation Based on Polynomial Expansion,Lecture Notes in Computer Science,2003,(2749), 363-370.
[13]Canny,J.A Computational Approach to Edge Detection.IEEE Trans.Pattern Analysis And Machine Intelligence.1986,(8):679-714.
[14]L.Bao,Q.Yang,H.Jin.Fast Edge-Preserving Patchmatch for Large Displacement Optical Flow.IEEE Transactions on Image Processing,Vol.23,No.12,Pp.4996-5006,2014.
Shadow Detection and Tracking from Live Videos with Moving Viewpoints
CHEN Xiang-xiang1,2,SHI Hong-wei1,2
(1.College of Computer Science,Sichuan University,Chengdu 610065;2.National Key Laboratory of Fundamental Science on Synthetic Vision,Sichuan University,Chengdu 610065)
Detecting and tracking shadows from live videos which can help to understand scenes is of great importance in computer vision and virtual reality.However,most of video-based shadow detection and tracking methods are limited to videos captured under fixed viewpoint. Proposes an algorithm to track and detect shadow in moving-viewpoint videos.The algorithm divides each current frame as the tracked region (TR)from previous frame and the new region (NR)caused by movements of viewpoints.In TR,tracks the shadow edges in present frame from previous frame by traditional optical flow tracking,and then refine accumulative errors caused by optical flow tracking.In new region shadows are detected in an online manner.Specifically,based on the characteristics of outdoor shadows,constructs effective feature vectors to discriminate shadow and non-shadow edges.Experiments demonstrate that the proposed approach can stably track the shadow edges in TR and accurately detect shadow edges in NR.
Shadow Detection;Shadow Tracking;Moving Viewpoint
1007-1423(2017)09-0099-07
10.3969/j.issn.1007-1423.2017.09.023
陈祥祥(1990-),男,安徽宿州人,硕士研究生,研究方向为图像处理、视频处理
2017-01-04
2017-03-10
时宏伟(1965-),男,硕士,教授,硕导,研究方向为基于深度学习的模式识别、空管智能信息处理、智能感知网络、数据可视化