基于帧间频域分析的视频篡改检测
摘要:提出一种通过帧间频域分析,来对视频频篡进行盲检测。本文首先梳理分析目前视频分析取证的一些方法。总结出视频分析的依赖于视频连续帧中某一特性的不变性或连续性,提出可以应用频率特性的三种情形。针对三种情形分别给出了帧间频域分析的实现流程,并综合出一种可以实现一体化处理的通用检测模型。最后对帧间频域分析检测的方法进行了初步的理论分析。
随着各种成像设备价格的降低、互联网的发展、各种数字文件编辑软件的流行,使得普通和专业用户出于各种不同目的,故意修改甚至恶意传播一些经过精心篡改和伪造的数字媒体成为可能。数字造假事件如雨后春笋般越来越多地出现在我们周围,使人们无法判断所看到的图像和视频是否为真,更无法相信自己所看到的图像和视频的内容,进而降低了图像和视频应该具有的社会公共置信度【1】。数字取证是否可信,决定了数字取证能否在知识产权、司法取证、军事情报等领域的应用能否发展的一个先决条件。【2】对针对图像的数字化、图像来源设备鉴定、图像抗取证攻击唯一性问题等图像取证的相关问题进行了探讨,指出数字取证在实践中通常得依靠多种检测方法的结合,以此增加整体的鲁棒性。一般,数字媒体取证技术可以分为两类:主动取证和被动取证。其中,主动取证技术是在多媒体信息制作过程中,主动加入一些特有的验证数据,而在接收端通过验证上述信息达到验证媒体真伪的目的,其代表技术是数字签名技术和数字水印技术【3】。但它们往往要求媒体获取设备本身具有生成签名或添加水印的功能(通常要求生产厂商在设备中添加相应的硬软件模块),这种设备一般比较昂贵,属于高端产品,目前佳能等绝大多数厂商都未实现该功能,或许将来的一些厂商将把一些取证策略融合到已有的数码设备的内置程序中中。主动取证的另一个缺点是,包括易碎数字水印和感知散等多种验证数字篡改的方法,但都需要提前在数字媒体内容生成过程中嵌入验证信息或者生成散列值,甚至需要第三方认证,在很多的实际应用中难以满足【4】。对于数字图像的被动取证研究主要是围绕物理取证和篡改检测两方面。其中,物理取证方面的研究主要是指对数字图像的采集、数字图像的处理及输出设备的取证、识别的实现工作。现阶段,物理取证的研究方法基本上是基于CCD/CMOS噪声、相机反应曲线和相机镜头失真等特定设备固有特性、基于输出图像统计特性来定位数字图像来源。数字图像篡改检测技术多为以下几类:基于数字图像统计特性的取证算法、基于数字图像特定篡改操作的取证算法、基于物理设备模型的数字图像取证算法和基于自然场景的数字图像取证。
数码摄像机等获取数字视频本质可以看作一系列相关的数字图像的有序系列的集合。图像取证包括对数子设备指纹、图像编码特征、图像内物体几何特性等方面的取证分析【5】。【6】对目前的视频取证的现状进行了分类总结,指出视频取证在图像取证的基础上进行的。视频分析可以基于没个图像帧的图像取证,如果发现了一个视频的一个或多个帧存在图像篡改,进而可以认为视频存在篡改现象,这种分析方法我们称之为帧内检测。与帧内分析相对应的的是帧与帧之间相关性的取证分析。图像中的基于CCD/CMOS噪声分析扩展到视频取证分析的领域,就可以计算整个视频或者部分视频段的中每一帧图像的CCD/CMOS噪声(photo responsenonuniformity noise,PRNU)。利用数学平均的方法得到一个整个视频或者部分视频段的整体CCD/CMOS噪声值.通过比对每一帧图像的PRNU值与视频的PRNU进行相关性分析【6】【7】,可以检测出那些帧内篡改的帧,但是这种方法对于用同一设备拍摄的视频帧的插入、删除的检测无能为力。基于视频压缩特性或编码特性【8】、滤波特性【1】【9】等带来的特性的帧间分析,也存在对同一种处理算法经过的图像帧的插入、删除缺乏较好的检测方法。上诉两种方法是基于视频中每帧图像的某个特性唯一不变性进行分析,所以发展出了视频取证的另一分析方法,即基于帧内某些特性在每个帧之间的连续性,如基于视频内某一运动物体的运动特性分析、基于时序特征的视频删除篡改检测算法。基于物体运动分析,通常假定相机拍摄场景固定,视频存在一个较明显的物体运动(通常该物体几何大小较大,或物体相对背景有较大的像素值差、或者该物体的运动较显著)。【11】提出的一种基于图像帧光强连续性的检测方法一定程度上解决了同一摄像机来源的视频帧的插入、删除的检测问题,但是该方法要求相机取景一致的条件,且如果在视频伪造中考虑到光强因素,可以通过隔天相同光照条件下拍摄、或通过程序人工平滑光强来攻击这种检测方法。
前面提到,视频中各个图像帧之间的某种特性具有同一性或连续性就可以作为视频取证的依据。前面提及的这些特性的引入包括相机设备固有的特性,如PRNU,包括图像内容引入特性,如光照条件、物体运动,还包括某些处理引入的特性,如压缩、滤波等。如果视频中存在一定的周期性规律,那么其相应的频率就可以作为一种特性作为一种新的视频取证的依据。下面分析一下适合进行频率分析的三种情形。
情形一:相机自存在周期性运动现象,如固定在电线杆上的摄像头由于外力作用开始做周期性抖动,又如拍摄者在老式火车上,由于火车经过铁轨接缝处会产生周期性抖动。这样情形下拍摄的整个视频存在周期性抖动。
情形二: 假设视频中每一帧中都存在某一物体或区域A,记A在第i帧的横坐标为Xi,纵坐标为Yi,则可构造出X1 X2 X3......,Y1Y2 Y3......的两个与时间相关的序列,显然这两个系列如果具有周期性,那么我们就可以将这种周期的不变性或连续性作为视频的依据。这种情形在现实中存在的一个例子是,视频场景中存在一个钟摆在进行周期性摆动。
情形三:对于坐标固定的某个点或区域B,记B在第i帧的素值大小或平均值大小为Zi,则可构造Z1 Z2 Z3......在时间轴上一刻构成具有周期性规律的序列。这种情形在一个例子是,如果固定的摄像机中大部分场景不变,但视频内有个固定位置的小灯(如一些电器的指示灯)在进行周期性闪烁。该情形的一个极端例子区域B可以整个场景区域,如由于摄像机故障或外界光线的忽明忽暗,整个图像帧的平均亮度值在时间序列上成周期性变化。
为了分析方便,在信号处理中我们通常用傅里叶变换将周期性问题转化为频域上分析。现有视频取证的频域分析基本上集中于图像帧内的频域分析,本文提出的方法是基于帧间的频域分析。帧间的视频分析方法,适用于上面提及三种情形,后面3、4、5节将分别给出这三类问题的处理流程,第6节将分析这三类问题的共性进而给出一个通用的基于帧间频域分析的视频盲检方法,第7节将对该方法进行分析评估。
在视频处理领域有许多噪声去除方法中涉及噪声的检测,对应视频取证方面也许进行噪声的检测,从而利用这种噪声不变性来实现视频的篡改分析。类似地视频处理中有许多相机抖动的消除算法【12】【13】【14】,我们可以将其直接应用于视频取证方面,不同的是前者目的视频抖动消除,而后者依赖于视频抖动特性的存在和保持。视频的帧间频域分析,已有论文涉及【15】,但其针对的是视频在传输过程中。【16】提及了利用视频抖动特性来进行频谱转换从而达到信息隐写的目的,但未将其应用于视频取证领域。
参考现已较成熟抖动视频的校正系统模型【12】,下面提出一种典型的基于抖动的频域分析取证方法。流程图如下,将视频V(t)输入到全局运动估计模块估计帧间的全局运动矢量,并将结果传送到抖动波提取模块,从而得到一个抖动波X(t),利用傅里叶变换可以得到一个频域信号F(t),最后利用在频域上分析,找出那些不在抖动频率范围内的图像帧。该流程中各个模块都已有成熟的实现方法,可以直接应用。
图一 抖动的频率分析的流程示意图
基于视频内某一物体的运动频率分析方法于上面的抖动分析方法大体类似,区别在于抖动视频中队运动的估计是全局估计,而物体运动频率分析时基于局部运动估计。对于运动物体所在区域的选定可以通过的人工辅助选定,或通过局部运动矢量计算进行运动物体选定。
图二 物体运动的频率分析流程示意图
视频内物体周期运动可以看作是抖动问题的一个推广,如果把把物体的周期运动看作是视频局部区域的抖动。
基于固定位置像素值变化的频谱分析可采用如下图所示流程,首先确定哪些像素值大小成周期性变化的区域,在每一帧中求该区域的整体亮度值,可得到亮度值序列,进而进行傅里叶变换和频域分析。
图三 物体运动的频率分析流程示意图
我们对上面三类问题分析方法做一个比较。第一类问题,相机抖动的视频是整体抖动的,也就是说视频场景内各个部分抖动程度都是一致的,因此我们对视频画面中某一区域进行分析处理提取出的抖动波系列就可以代表整个相机的抖动情况。第二类问题,画面中物体做周期规律性运动如果是显著的,那么容易为人察觉,但如果是很细微的则无法为人眼所捕获。如果我们对视频帧画面在像素空间上进行平均分块,假设每块大小为n×m,假设这样可以将原画面分为j×k块。
图四 视频的分块处理示意图
我们规定每块对两个值X、Y:
X=1*P(1,1)+1*P(1,2)+...+1*P(1,m)+2*P(2,1)+2*P(2,2)+...+2*P(2,m)+3*P(3,1)+...+...+n*P(n,1)+...n*P(n,m);
Y=1*P(1,1)+1*P(2,1)+...+1*P(n,1)+2*P(1,2)+2*P(2,2)+...+2*P(n,2)+3*P(1,3)+...+...+m*P(1,m)+...m*P(n,m);
那么在视频的一序列帧中就可以得到该块对应的X(t)、Y(t)的值序列,然后再对X(t)、Y(t)做傅里叶变换可以得到对应横向和轴向的频率函数Fx(t)、Fy(t)。由于视频被分为j×k块,则共有j×k个Fx(t)、Fy(t)频率函数.通过分析可以知道,上面三类存在周期性现象的问题会使使得在j×k个Fx(t)、Fy(t)频率函数中至少有一个块对应的Fx(t)、Fy(t)频率函数反应了问题的周期特性。我们只需将j×k个的Fx(t)、Fy(t)对应的频谱视频(频谱序列)中存在稳定频率的给找出来,就可确定其对应的块在帧间中包含周期性现象。因此,三类问题可以使用如下分析流程:
1) 首先将视频分块,每块大小可设定;
2) 对每块利用前面的定义计算出每一帧对应的X、Y,得到X(t)、Y(t);
3) 经过短时傅里叶变换后,每一块对应两个频谱序列。
4) 如果频谱序列中存在较稳定的频点(持续时间达到一定门限),则该块被筛选出来,否则提出丢弃该块;
5) 筛选出来的块做进一步的频率分析(对于相邻的块可以进行合并处理),频谱序列中是否存在跳变现象,如果存在跳变现象说明跳变处对应的帧编号范围就是可能存在篡改的图像帧编号范围。
图五 帧间频域分析流程示意图
上一节提出一种可以适用三种情形的帧间频域分析流程,其原理在于我们定义X、Y的方法实质是将模块内像素的空间分布和像素值大小一起进行了运算,X、Y既一定程度反应了像素值在空间上的分布情况也一定程度上反应了分块内像素值大小,因此可以很好地将两种情形结合起来分析。
流程中第一个步骤是视频分块,那么如何对视频分块是需要解决的首要问题。有两个极端的分块方案,一个是整个视频就在像素空间上就分为一块,另一个就是一个像素就是一个分块。块大小太大,就会造成生成的频谱噪声过多,难以快速准确地查找稳定频点;反之,如果块大小太小,生成的频谱较干净,但是存在计算量过大且后续处理繁琐。块大小太小的话可能存在另一个问题是,情形二中周期性现象会反映在相邻的多个分块中,而这些分块中X、Y大小变化幅度不大,容易受噪声干扰,为后续做傅里叶变换带来困难。分块的目的在于尽可能地将“噪声”排除在后续流程外以便增加频谱中频点的信噪比,但是就像在信号领域中“噪声”的概率本身就很主观,在图像处理领域更是容易受到人眼视觉心理影响。情形一中,相机的抖动可能是多个方向多频率强弱不同的抖动叠加的结果,那么其对应的X或Y频谱上就可能存在信噪比不同的多个频点。情形二、情形三中也存在这样的特点。显然块大小越大、分块数越少,每块所能反映的某种周期性特征的可能性就越大,对应的频谱中信号频点就越多,而引入的“噪声”就会越多。从上面的分析可知,分块大小必须有一个折衷的选择,而且这种选择必然依赖于视频本身。在具体流程实现中可以采用逐步缩小块大小,每一次缩小的倍数根据上次处理的结果而定。
还有一个问题就是用频率分析的频率范围是多少?我们假设帧速率为N帧/秒,那么摄像机拍摄视频的情形看成是对现实的一个采样过程。那么由采用定理可知,能保证对于频率低于N/2的周期性运动进行完全采样,从而进行分析。对于频率高于N/2的周期性变化,如果其符合带通采样的条件,也可对其完成采样。即使我们在无法完全还原存在的周期性变化,在频谱中存在部分混淆情况,仍然可能可以完成频域上的分析工作。事实上我们也不必完成还原周期变化的整个过程,我们主要关注周期性变化的存在的有无和周期的大小,甚至对于视频取证工作来说我们根本不需要知道周期大小,我们只需要知道周期性有无因视频的篡改发生了改变。
视频篡改包括帧间篡改和帧间修改,如果这种篡改改变了视频帧间的一些频率特性,那么就可以应用帧间频域分析的方法进行检测,下面对前面提到的三种情形分别做抗攻击分析。
第一种情形:视频整个场景存在全局性抖动,那么如果在进行部分帧进行帧内篡改,是可以检测到的篡改的存在。对于帧间删帧,没有改变频率特性,可能检测不到篡改。对于来源同一相机不同时间视频的帧的插入,如果抖动频率的不一样,就可以检测到篡改。
第二种情形:如果帧内篡改区域没有与物体运动区域重叠,则无法检测到其篡改,反之,应该可以检测到其篡改。对于帧间篡改,与第一种情形类似。
第三种情形:与第二种情形类似。
(由于时间仓促,本文只提出了一个检测想法,未加以编程实现并实验测试验证。)
1.陈静.基于滤波特征的视频图标删除检测技术,[学位论文]-2011
2.ThomasGloe,AntjeWinkler,MatthiasKirchner,RainerBöhme.Can We Trust Digital ImageForensics,[会议论文]-ACM MULTI MEDIA,2008
3.陈威兵,杨高波,陈日超,朱宁波.数字视频真实性和来源的被动取证,[期刊论文]-通信学报2011(06)
4.张静,宋怡,苏育挺。基于空时域联合匹配的视频篡改检测算法
5.AlessandroPiva.AnOverview on Image Forensics,http://dx.doi.org/10.1155/2013/496701
6.SimoneMilani, Marco Fontani, Paolo Bestagini, Mauro Barni, Alessandro Piva, MarcoTagliasacchi and Stefano Tubaro(2012). An overview on video forensics. APSIPATransactions on Signal and Information Processing, 1, e2 doi:10.1017/ATSIP.2012.2
7.郭琳琳,张静,苏育挺.一种基于模式噪声的视频抠像检测算法,http://d.wanfangdata.com.cn/Conference_7408492.aspx
8.秦运龙.压缩域视频被动取证研究,[学位论文]-2011
9.徐俊瑜,苏育挺,尤新刚,张承乾.数字视频滤波检测分析,http://d.wanfangdata.com.cn/Conference_7750450.aspx
10. 魏晖.基于取证哈希的视频篡改历史取证研究,[学位论文]-2011
11.吴铁浩,黄添强,袁秀娟,陈智文.基于光强信息的视频插帧篡改检测,[期刊论文]-计算机工程,2014
12.孟龙,林行刚,王贵锦,徐理东,付方文.视频抖动矫正系统中的运动滤波,[期刊论文]-清华大学学报(自然科学版)2005
13.徐理东,林行刚.视频抖动矫正中全局运动参数的估计,[期刊论文]-清华大学学报(自然科学版)2007
14.於俊,汪增福.基于SIFT特征匹配的实时鲁棒视频去抖动系统,[期刊论文]-系统工程与电子技术2014.02
15.钱柳宇.基于频谱扩展的DVI视频信号防泄漏方法,[学位论文]-2009
16.邱扬,闫美云,经纬,田锦.基于抖动及图像融合的计算机视频信息防泄漏研究,[期刊论文]-电子学报,2008[11]