一种运动区域敏感的监控视频压缩算法
2016-01-27方帅,吴涛,于磊
方 帅, 吴 涛, 于 磊
(合肥工业大学 计算机与信息学院,安徽 合肥 230009)
一种运动区域敏感的监控视频压缩算法
方帅,吴涛,于磊
(合肥工业大学 计算机与信息学院,安徽 合肥230009)
摘要:海量监控视频存储是目前监控行业面临的一个亟待解决的难题。文章针对静态背景的监控视频,提出了运动区域敏感的视频压缩算法。首先,针对视频帧,在运动目标检测的基础上结合运动信息和边缘信息,保证剪裁前后边缘能量代价最小并设计相应的代价函数,实现了对视频的单帧剪裁;其次,针对相邻视频帧,引入时空相关性原则并设计相应的代价函数,保证剪裁后相邻帧间的连续性。实验结果表明,该算法不仅对静态背景监控视频有较高压缩效果,还能保证兴趣区域的高质量和剪裁前后视频结构的形似性和完整性。
关键词:监控视频;运动敏感;能量线裁剪;视频压缩
当今城市视频监控越来越普及,许多大中城市的“平安城市”建设项目也正如火如荼地进行。然而城市摄像头数量不断增加、不间断的图像采集导致监控视频信息量巨大,视频数据的存储问题日益凸显出来[1]。对于监控视频的存储,如果只存储人们感兴趣的信息,则可以极大地减少传输时间和存储空间。
当前对监控视频的编码压缩方法主要有基于视频对象的编码压缩和基于视频ROI区域的编码压缩2种方法,它们的共同点是对监控视频的特殊对象或者区域给予特殊权重[2-3]。基于对象的编码压缩方法已经取得了大量成果,如在码率控制方面,文献[4]提出了二阶码率失真模型的可控制方案应用于MPEG-4编码,该方法使用滑动窗口的方法来应对场景的变化情况,对运动物体进行编码时使用自适应的方法;文献[5]提出了MPEG-4运动估计算法,该算法显著减少了8×8块的全像素与半像素的搜索点数,而搜索的质量并没有因此下降。基于ROI编码压缩的方法中典型的有JPEG2000的ROI编码[6-7]、基于嵌入式小波的方法[8-9]以及内容感知的方法[10-11]。在文献[10-11]的基础上,众多学者对其进行了改进,得到新的研究成果。文献[12]利用视频的帧率信息作为辅助信息,将选择性数据修剪的方法与线裁剪的方法结合起来,利用线性拟合的方法对像素点进行裁剪;文献[13]针对非显著区域,利用k均值聚类的方法进行剪线压缩。然而许多研究者的工作过分依赖于显著图提取效果或者其他图像特征,如直线检测等方法,导致算法的整体效率下降,而且在显著图提取或者图像特征检测的效果不理想时,难以达到满意的效果。
本文针对监控视频本身的特点,提出一种内容感知的视频压缩技术,在压缩的过程中引入能量图的概念,将视频帧的梯度图作为其能量图,目的是用能量图反映视频帧的变化情况。然后区分敏感区域与非敏感区域,并分别对2个区域采用不同的处理方式:对视频的敏感区域,尽量保证其原始信息不改变;对视频非敏感区域,根据其能量图删除一定的像素来达到压缩视频的目的,同时,引入前后帧裁剪线的时间信息与运动目标空间的相关性,保证剪裁后帧间连续性。
针对静态相机的监控视频,提前对背景进行建模。本文运用文献[14-16]的方法简单迅速地构建出场景背景。监控视频系统通常都包含一些固定的模块。图1所示为一个典型的视频监控系统的示意图,首先是背景建模、运动检测、目标跟踪,而后是目标的检测或者识别,最后是视频的后续处理——保存或者识别等[17]。
图1 一个典型的视觉监控系统基本框架
1单帧图像的内容压缩
从图1的视觉监控系统的基本框架中可以看出,监控系统通常只对运动目标感兴趣,而一般的监控系统中也是以运动目标的提取作为后续分析的基础[17],所以可以通过对监控视频中背景区域进行裁剪删来达到压缩的目的。
背景区域是非兴趣区域,同时又存在大量冗余的信息,例如一条宽阔的马路,监控视频中往往有大部分的区域都被马路所覆盖。如果能有效地对背景部分进行压缩,那么视频的压缩量将是非常可观的。在对视频的背景部分压缩时,本文采用有选择地移除相对不重要的像素点。
1.1 基本的线裁剪用于单帧视频
内容感知的图像压缩方法中,对像素重要度的判断是基于梯度图求能量函数的方法,本文同样采用能量函数的方法来衡量像素的重要程度。对于结构化的图像,变化明显的部分如图像的边缘、亮度变化较大的地方等是人们视觉关注度高的地方;而图像中变化较为平缓、均匀的部分如平静的湖面、一览无余的蓝天等,人们视觉关注度会相对较小。因此,内容感知的图像线裁剪算法中采用梯度能量图的方法来衡量像素点的重要程度,即将图像的梯度图作为能量图。边缘检测能够有效地检测出图像中的结构化信息。利用边缘检测的值来确定每个像素点的能量,能量函数计算公式为:
(1)
在视频帧中,通过随机移除一些像素点来达到压缩的目的,并保证整幅图像帧的能量函数不变或变化较小。假设要将一幅m×n的图像帧压缩到m′×n′(其中,m>m′,n>n′,m-m′=c,n-n′=l),可以根据能量函数对图像进行水平和垂直的像素点移除操作,而移除的依据就是图像的能量图。本文采用Soble算子计算能量图。
在计算出图像的能量图之后,接下来就是寻找能量图中最适合进行删除的点进行裁剪。假设对水平方向的信息进行压缩,即移除垂直方向的像素点。当单纯根据能量函数最小的原则进行删除点选择时,如果在每一行所移除的像素点的数目不同,就会破坏图像的矩形形状,这时可以采取移除相同数目的像素点的方法来保证图像的矩形形状。但是如果只采取移除相同数目像素点的方法就有可能导致图像帧中内容的扭曲,产生锯齿纹。本文采用自动移除像素点的方法,例如对水平的信息进行压缩时,定义一个垂直裁剪线,该线是从第1行到最后一行的一条八连通路径,这条路径上的所有点是图像中能量值最小的像素点。假设图像帧的大小为m×n,则一条垂直裁剪线定义如下:
(2)
(2)式定义了一个关于x的映射,x:[1,…,n]→[1,…,m]。在图像的每一行中包含且仅包含一条裁剪线的像素点。如果有关于y的映射,y:[1,…,m]→[1,…,n],同理有水平裁剪线的定义为:
(3)
(4)
为了找到满足(4)式的最优裁剪线,可以采用动态规划的方法。假设要寻找一条垂直的裁剪线,可从图像的第2行开始到最后一行,对于每个可能的像素开始点(i,j),计算其累计最小能量M,计算公式如下:
(5)
其中,e(i,j)为上一步中的累计能量;Mul、Mu、Mur为动态规划中备选的能量路径。由(5)式可以看出,备选路径为像素开始点左上方、正上方、右上方的3个点,满足其连通的约束。
根据 (5) 式的累计能量函数,图2中显示了可能的一条水平裁剪线和垂直裁剪线,其中R线表示能量最小的一条裁剪线,因此,裁剪线删除之后图像帧能量变化非常小。
图2 一条垂直与水平裁剪线
1.2 改进的线裁剪方法
对视频中的每一帧应用上面的算法,可以实现对整个视频内容的压缩,但是在移除一列(行)像素点后会使原来的像素点的边缘发生变化,并且会引入新的边缘,如图3所示。
图3 新引入的边缘示意图
由图3可以看出,在删除了一些像素点后可能会引入3种新的边缘。如图3a所示,找到并删除A、E点之后,就会引入新的边缘B、D和D、F;如图3b所示,在删除B、E点后会引入新边缘A、C和D、F;如图3c所示,在删除C、E点之后会引入新的边缘B、F和D、F。新引入的边缘影响能量图的变化,从而直接影响下一条裁剪线的走向。因此,需要考虑裁剪后引入新边缘的情况,此类裁剪方法称为前向能量方法。
前向能量方法代价函数定义为:
(6)
(6)式中分别考虑到了图3中3种新引入边缘的情况,在动态规划计算累计能量时使用新的约束来完成。以垂直裁剪线为例,代价函数被更新如下:
(7)
同理可以得到水平裁剪线的能量函数。(7)式表明,在寻找最优的裁剪线时仍然是依据能量函数,采用动态规划的方法来寻找。与前面方法的区别是,将剪裁引起的新边缘产生的能量也考虑在内。
在考虑了新边缘产生的能量之后,需要考虑对图像裁剪的顺序,即在裁剪压缩图时先寻找水平裁剪线还是垂直裁剪线。针对这个问题,定义最优化方程为:
(8)
2视频的内容压缩
在对单帧图像进行内容的压缩后,可以引入对整个视频段的裁剪压缩。本文关注的是背景相对静止的监控视频场景,在引入对视频的操作时,首先对视频做运动目标检测,将检测到的运动目标部分的能量权值设置为无限大,从而保证裁剪线不会穿越运动的目标,然后对非运动目标部分采用前面介绍的裁剪方法进行裁剪。本文采用文献[18]的方法来检测监控视频中的运动目标。由于考虑到剪裁后视频相邻帧之间要有时间和空间上的连续性,因此在对视频帧进行操作时,要保证相邻帧之间的时间与空间上的一致性,使得压缩视频保持流畅性和连贯性。
本文视频压缩算法的流程如图4所示。
图4 算法的流程图
首先,对输入视频流进行梯度边缘检测(得到初始能量图)与运动光流检测(得到ROI区域),将得到的2幅图像进行加权得到一幅加权能量图,进而计算能量函数。然后,将光流检测中得到的目标向量和模长信息与上一帧得到的裁剪线信息加权到能量函数中。其中,上一帧的裁剪线信息为时间信息,将其与当前帧裁剪线位置上的若干像素点相减得到差异大小,引入时间相关性的目的是为了寻找到与前一帧相似的裁剪线;目标的向量与模长信息为空间信息,直接加权到能量函数中。
2.1 时间相关性的引入
静态场景的监控视频,其背景相对固定,前、后帧的裁剪线的差异有限。下一帧将要得到的裁剪线,与上一帧的裁剪线的差异要尽可能小,以保证前后帧的差异较小。
在求得当前帧的一条裁剪线之后,不是立即将其从图像帧中裁剪掉,而是观察上一帧中与该裁剪线位置最接近的裁剪线,比较2帧的裁剪线的差异。用总体位置偏差来寻找上一帧中与当前帧裁剪线位置最接近的裁剪线,以垂直裁剪线为例,总体位置偏差Dp的定义如下:
(9)
其中,n为视频帧的高度;Ni,y为当前裁剪线对应位置上的像素点的值;Pi,y为上一帧裁剪线对应位置上的像素点的值。如果要在上一帧中寻找与当前位置的裁剪线在空间位置上最接近的裁剪线,只要保证总体位置偏差Dp最小即可。
在上一帧中找到了与当前帧Dp最小的裁剪线之后,即可计算出2帧裁剪线的时间差异性Tc。前后帧裁剪线示意图如图5所示,R线表示当前帧的裁剪线,G线表示与R裁剪线距离最小的上一帧中的裁剪线。为方便说明,将2条裁剪线放到同一帧中。
图5 前后帧裁剪线示意图
定义2条线的时间差异代价函数Tc(x,y)为:
(10)
其中,Nk,y为当前帧R线上的像素点(k,y),N={Nk,y};Pk,y为当前帧G线上的像素点,P={Pk,y}。取一条水平线H同时与2条裁剪线相交,H∩N={pi}、H∩P={pj}。假设i 除了视频的时间一致性信息之外,由于本文关注的是监控场景视频,视频中活动的目标是主要关注对象。在裁剪视频帧时,同样可以利用上下帧的运动空间信息,使得关注对象在连续帧之间保证空间上的连续性。 监控视频的场景中,运动目标的光流场一般比较规律,于是光流的方向信息较为固定,同一类目标的模长信息较为一致,表现在视频中即运动速度相同或相近的物体。于是在提取光流的运动强度与方向强度之后,就可以确定光流图与梯度能量图的加权比例系数∂。设物体的水平和垂直方向的光流场分别为Vx与Vy,则在求水平与垂直的能量图时,将光流的图进行方向加权,加权公式如下: (11) (12) (11) 式表示目标的x方向光流信息系数, (12) 式表示目标的y方向光流信息系数。在求得光流图后,将光流图进行加权后再与能量图加权。本文所用的最终能量图为: (13) 其中,eopt为光流的能量图;∂为(11)式与 (12)式中所求得的水平与垂直方向的光流系数,根据水平或垂直的能量图选择水平或垂直系数;egrad为最初的梯度能量图;E为最终的加权能量图。空间相关性直接改变的是原始的能量图。光流场信息的引入在一定程度上对下一帧需要保护的能量区域起到了预测作用。 3实验结果与分析 在对每帧的图像进行裁剪后,本文采用H.264/AVC方法合成AVI格式视频,具体操作是:利用opencv调用FFmpeg(opencv2.4.6与FFmpeg2.0),在Visual Studio2010平台上实现。在利用裁剪进行视频压缩时,希望保留感兴趣目标的完整性,以及裁剪前后相应帧的结构相似性和尺度不变性。因此,用图像的结构相似性与尺度不变特征(SSIM SIFT)来比较几种典型算法与本文算法,实验结果评价如图6所示。 图6 本文与相关算法对比曲线图 为了验证本文算法的有效性,对各种监控视频进行了实验,实验结果如图7、图8所示。 图7 单目标实验结果图 图8 多目标实验结果图 图7a、图8a为视频的原始帧,图7b、图8b为基于光流的运动目标检测结果,图7c、图8c为剪裁结果。其中参数设置为:行缩减掉100个像素,列缩减掉200个像素。实验中图7为单目标的实验结果,视频中运动的人物被很好地保留,而其他如马路和草丛等则被部分裁减掉;图8为多目标的实验结果,同单目标结果一样运动人物被很好地保留,树木和马路等背景被部分裁剪,而且实验结果中目标空间上的距离也被缩短,目标显得更加紧凑,这是因为2个目标中间的树木和马路有一部分被裁减压缩掉。实验结果表明,该方法虽然在视频的非运动保留部分,例如实验结果中的路牌和马路路沿部分产生了一些扭曲现象,但是视频中的主体部分——运动着的人物等被基本完整地保留了下来。本方法能自动保留运动主体部分和视觉关注部分,比例大小不变并有效压缩视频,能够很好地用于对监控视频的压缩和存储。 4结束语 本文针对监控视频压缩存储的问题,分析了监控视频的信息冗余量大以及监控视频中主要关注运动目标的特点,提出了通过对监控视频的背景部分进行压缩的方法。首先引入针对单帧图像的压缩方法,再联系视频的时间和空间特性,在单帧图像压缩的基础上添加时间与空间的约束性,将方法扩大到视频领域,形成了一套完整的专门针对监控视频压缩的方法。实验结果表明,本文算法能够简单高效地处理各种静态监控视频场景。 [参考文献] [1]胡瑞敏,曹雪松,陈军,等.平安城市系统构建原则及关键技术[J].安防科技,2007(7):3-11. [2]Vetro A,Wiegand T,Sullivan G J.Overview of the stereo and multiview video coding extensions of the H.264/MPEG-4 AVC standard[J].Proceedings of the IEEE,2011,99(4):626-642. [3]Marpe D,Wiegand T,Sullivan G J.The H.264/MPEG4 advanced video coding standard and its applications[J].Communications Magazine,2006,44(8):134-143. [4]Lee H J,Chiang T,Zhang Y Q.Scalable rate control for MPEG-4 video[J].IEEE Transactions on Circuits and Systems for Video Technology,2000,10(6):878-894. [5]Yang W J.An efficient motion estimation method for MPEG-4 video encoder[J].IEEE Transactions on Consumer Electronics,2003,49(2):441-446. [7]Brodley A P,Stentiford F W M.Visual attention for region of interest coding in JPEG2000[J].Visual Communication and Image Reprentation,2003,14(3):232-250. [8]Schelkens P,Munteanu A,Cornelis J.Wavlet-based compression of medical images:protocols to improve resolution and quality scalability and region-of-interest coding[J].Future Generation Computer System,1999,15(98):171-184. [9]Nister D,Christopoulos C.Lossless region of inerset coding[J].Signal Processing,1999,78(1):1-17. [10]Avidan S,Shamir A.Seam carving for content-aware image resizing[J].ACM Transactions on Graphics,2007,26(3):10. [11]Rubinstein M,Shamir A,Avidan S.Improved seam carving for video retargeting[J].ACM Transactions on Graphics,2008,27(3):16. [12]Tanaka Y,Hasegawa M,Kato S.Generalized selective data pruning for video sequence[C]//IEEE 18th International Conference on Image Processing,2011:2113-2116. [13]Decombas M,Dufaux F,Renan E,et al.Improved seam carving for semantic video cod[C]//IEEE 14th International Workshop on Multimedia Signal Processing,2012:53-58. [14]高飞,蒋建国,安红新,等.一种快速运动目标检测算法[J].合肥工业大学学报:自然科学版,2012,35(2):180-183. [16]Kim K,Chalidabhongse T H,Harwood D,et al.Real-time foreground-background segmentation using codebook model[J].Real-Time Imaging,2005,11(3):172-185. [17]Venkatesh B R,Makur A.Object-based surveillance video compression using foreground motion compensation[C]//IEEE 9th International Conference on Control,Automation,Robotics and Vision,2006:1-6. [18]Tao M,Bai J,Kohli P,et al.SimpleFlow:a non-iterative,sublinear optical flow algorithm[C]//Computer Graphics Forum.Blackwell Publishing Ltd,2012:345-353. (责任编辑胡亚敏) A motion-sensitive surveillance video compression algorithm FANG Shuai,WU Tao,YU Lei (School of Computer and Information, Hefei University of Technology, Hefei 230009, China) Abstract:Mass surveillance video storage is a pressing problem in the industry of surveillance.A motion-sensitive compression algorithm for surveillance video against static background is presented. First, on the basis of the moving target detection as well as the moving and edge information, and making sure that the difference of the front and rear seams is minimum, the compression of one frame is achieved. Then taking the relationship of adjacent frames into account, the time and space consideration is introduced and the corresponding cost function is designed, ensuring the continuity of the adjacent frames after clipping. The experimental results show that this method not only shows good compression results on static background surveillance video, but also ensures the high quality of region of interests and the structure and integrity of video. Key words:surveillance video; motion sensitiveness; energy seam carving; video compression 中图分类号:TP391.41 文献标识码:A 文章编号:1003-5060(2015)03-0325-06 doi:10.3969/j.issn.1003-5060.2015.03.008 作者简介:方帅(1978-),女,安徽寿县人,博士,合肥工业大学副研究员,硕士生导师. 基金项目:国家自然科学基金资助项目(61175033);中央高校基本科研业务费专项资金资助项目(WK2100100009;2012HGCX0001) 收稿日期:2014-02-26;修回日期:2014-06-232.2 空间相关性的引入