一种基于特征提取与追踪的视频复制粘贴篡改检测方法
2015-06-01苏立超黄添强郑明魁
苏立超, 黄添强, 郑明魁
(1. 福建师范大学数学与计算机科学学院, 福建 福州 350007; 2. 福州大学物理与信息工程学院, 福建 福州 350116)
一种基于特征提取与追踪的视频复制粘贴篡改检测方法
苏立超1, 黄添强1, 郑明魁2
(1. 福建师范大学数学与计算机科学学院, 福建 福州 350007; 2. 福州大学物理与信息工程学院, 福建 福州 350116)
提出一种基于特征提取与追踪的视频篡改检测方法. 首先对视频序列按照一定帧间隔进行特征提取, 寻找出首个篡改帧及其篡改区域; 其次采用追踪算法对该篡改区域进行学习, 并定位该帧之后的每个视频帧的可疑区域; 最后对可疑区域再使用特征提取算法进行相似点匹配, 确定出视频篡改帧的位置及其篡改区域. 结果证明了方法的有效性和鲁棒性, 以及在执行时间上相对于已有算法的优越性.
视频篡改; 特征提取; 压缩追踪; 视频帧
0 引言
随着数字多媒体技术的发展, 数码照相机与数码摄像机等视频采集设备已日益渐普及. 与此同时, 功能强大的视频处理软件不断涌现, 使得非专业人员也可以方便地利用这些软件工具对视频的内容进行修改. 随着视频篡改、 伪造越来越容易, 也给防伪、 取证等工作带来巨大的挑战. 因此, 对视频的真实性和完整性的认证显得日益重要和紧迫, 并已逐渐成为学术界的研究热点[1].
视频的取证方法主要分为两大类: 主动取证和被动取证. 主动取证需要提前在视频生成的过程中向视频嵌入验证信息, 这种方法在实际应用中局限性较大. 被动取证则不需要依赖验证信息, 仅通过视频本身提供的信息来判断其真实性和完整性, 这类方法在实际运用中更为有效.
针对视频的被动取证研究近年来已被广泛重视并取得重要进展. 王俊文等[2]提出一种基于模式噪声的数字视频篡改检测算法. 它通过维纳小波滤波器从视频中提取每帧相对稳定的残留模式噪声, 并取该残留模式噪声的平均值从而建立模式噪声, 通过比较待鉴别帧的噪声与模式噪声之间的相关性, 判别定位篡改区域. 但是如果篡改的视频均来自同一部设备, 这种方法就失去其有效性. 文献[3-4]利用视频在篡改后必然会经过二次压缩这一步骤, 并由于系数的双重量化会引入块效应, 达到视频篡改检测的目的, 这种算法对一定范围内的压缩率是鲁棒的. 文献[5]则提出利用篡改区域周围的纹理特征来检测篡改的痕迹, 但该方法需要根据经验配置多个参数, 且容易受拍摄场景中树木、 花草等环境影响.
采用帧内复制-粘贴的常见的视频篡改方式, 但对这种视频篡改方式的检测方法研究目前还比较少见. 文献[6]提出了利用视频时空域的相关性来实现对区域复制篡改的检测方法, 但是当篡改区域较小时, 这种检测方法检测精度不高; 文献[7]提出了基于HOG(histogram of oriented gradient) 特征的视频空域和时域篡改检测方法, 使得检测的鲁棒性方面有所提高, 但需消耗较多时间.
通过分析根据视频有意义篡改所具有的特征和视频复制-粘贴篡改的特点, 结合数字视频的特性, 提出了将特征提取与追踪算法相结合的检测方法. 首先通过对视频序列按照一定间隔, 采用具备旋转、 尺度缩放和亮度变化保持不变性的SIFT算法提取特征, 寻找首个篡改帧及其篡改区域;其次, 使用压缩追踪算法对该篡改区域进行学习并定位其后的每个视频帧的可疑区域; 最后, 对所获得的可疑区域使用SIFT算法进行相似点的匹配, 确定出整个视频的篡改帧位置及其具体篡改区域. 仿真分析表明, 本算法在保证准确度和鲁棒性的前提下, 较之前的算法拥有更快的检测速度, 而且对于放大、 缩小和旋转等多种帧内篡改方式具有很好的适应性.
1 特征提取算法原理
SIFT(scale invariant feature transform)算子是Lowe[8]于2004年正式提出的一种基于尺度空间的、 对图像缩放、 旋转甚至仿射变换保持不变性的图像局部特征描述算法, 其基本思想是在尺度空间寻找极值点, 提取位置、 尺度、 旋转不变量, 该算法包括四个步骤.
1) 尺度空间极值点检测. 建立尺度空间, 搜索所有尺度上的图像位置, 通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点. 一个图像的尺度空间L(x,y,σ)定义为一个变化尺度的高斯函数G(x,y,σ)与原图像I(x,y)的卷积, 如(1)式所示:
在(1)式中,G(x,y,σ)=1/(2πσ2)e-[(x-m/2)2+(y-n/2)2]/2σ2,σ表示尺度因子. 尺度空间在实现时使用高斯金字塔表示, 高斯差分图像(differenceofgaussian,DOG)由高斯金字塔每组中相邻上下两层图像相减所得. 特征点是由DOG空间的局部极值点组成的. 为了寻找DOG函数的极值点, 每一像素点要与它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较, 以确保在尺度空间和二维图像空间都检测到极值点.
2) 特征点定位. 根据上述方法得到的极值点是离散空间的极值点, 需通过拟合三维二次函数来精确确定特征点的位置和尺度, 并去除低对比度的特征点和不稳定的边缘响应点, 以增强匹配稳定性、 提高抗噪声能力.
3) 特征点方向确定. 为了使描述算子具有旋转不变性, 需要利用图像的局部特征为给每一个特征点分配一个基准方向, 使用图像梯度的方法求取局部结构的稳定方向, 梯度的模值和方向分别按照公式(2)与公式(3)计算:
在完成特征点的梯度计算后, 使用直方图统计邻域内像素的梯度和方向. 梯度直方图将0°~360°的方向范围分为36个柱(bins), 其中每柱10°, 以直方图中最大值作为该特征点的主方向. 为了增强匹配的鲁棒性, 保留峰值大于主方向峰值80%的方向作为该特征点的辅方向.
4) 生成特征点描述子. 通过以上步骤, 对于每一个特征点, 拥有三个信息: 位置、 尺度以及方向. 用一组向量将这个特征点描述出来, 使其不随各种变化, 如光照、 视觉变化等而变化. 根据文献[2],Lowe建议描述算子使用在特征点尺度空间内4×4的窗口中计算的8个方向的梯度信息, 共4×4×8=128维向量表征.
2 基于特征提取与追踪的视频篡改检测方法
图1 基于特征提取与追踪的视频篡改检测算法流程Fig.1 The flow diagram of proposed method based on features extracting and tracking
采用帧内复制-粘贴篡改方法时, 为了尽量消除篡改痕迹, 篡改者往往不会简单地复制一个区域, 而是对该区域进行一定的几何变换, 如旋转, 缩放; 或者后处理, 如模糊滤波, 噪声污染等. 虽然SIFT特征提取算法具备良好的特性而在在图像篡改检测领域中取得了良好的效果. 但在视频应用中, 如果对每帧都使用SIFT算法提取特征并进行检测的话, 其效率将十分低下, 时间消耗将难以接受. 针对上述问题, 结合视频信号的特点, 本文提出在视频帧序列中间隔使用SIFT算法寻找首个篡改帧, 从而在不影响实际效果的条件下节省检测时间; 通过k-means聚类算法将首个篡改帧中的SIFT特征点根据其位置分成两类, 确定出该帧的被篡改区域; 在此基础上, 引入压缩追踪算法对该篡改区域进行学习并定位此帧之后每个视频帧的可疑区域; 然后对可疑区域使用SIFT特征提取算法进行相似性计算, 最终确定整个视频的篡改帧的位置及其具体篡改区域, 并输出检测结果. 本算法的具体流程如图1所示.
2.1 特征提取与匹配
根据视频帧内复制-粘贴篡改其源区域和复制区域之间存在相似性的特点, 采用SIFT算法来寻找可疑视频序列中被篡改序列的起始帧, 并确定其具体篡改区域. 在通常情况下, 仅仅篡改视频序列中的几帧毫无意义, 且视频序列中相邻几帧的内容几乎是相近, 因此可以按照较大的帧数确定检测间隔(设为t), 以提高算法的检测效率.
输入可疑视频序列后, 记当前帧序号为current, 当前帧表示为Icurrent. 将其灰度化后, 使用SIFT算法提取该帧的特征点X={x1,x2, …,xn}, 对于每个特征点, 包含描述算子{f1,f2, …,fm}(本文m=128). 接着对任意两个特征点进行相似度计算, 寻找匹配点. 本文采用欧式距离作为相似度度量, 记xik为第i个特征点对应的第k个描述子,xjk为第j个特征点对应的第k个描述子, 则第i个特征点和第j个特征点的相似度计算用(4)式表示:
根据(4)式可知, 在阈值Tdis的选择上, 阈值越大则得到的匹配的特征点越多, 其误匹配点就越多; 若阈值越小, 则误匹配点就越少, 但正确的匹配点也越少. 本文根据大量的实验效果进行权衡后, 将阈值Tdis设定为0.006. 通过相似度计算, 得到该帧的匹配点集合.
2.2 确定篡改区域
根据复制-粘贴篡改的特点, 为保证其篡改的内容具有意义且不易被观察者发现, 被篡改的视频通常具备三个特征: 1)篡改区域为有一定尺寸的连通区域, 2)源区域和复制区域具有相对集中的相似特征点, 3)篡改的视频帧为多个(至少数十帧)连续帧. 针对上述视频有意义篡改的第一个特征, 本文算法首先计算匹配点对的个数. 如果匹配点对的个数小于5, 则认为该帧未被篡改, 则取第current=current+t帧作为下一次检测的当前帧Icurrent, 返回算法的第一部分继续检测; 否则认为该帧已经被篡改, 此时需要确定篡改区域: 根据上述视频有意义篡改的第二个特征, 使用k-means聚类算法将该帧内所有特征点根据其在帧内的位置分成两类, 即源区域和复制区域; 接着分别对两类区域作外接矩形, 记录该帧被篡改区域的坐标Q′和W′, 标出其被篡改位置.
2.3 篡改区域的追踪和验证
根据视频有意义篡改的第三个特征, 本文使用目标追踪算法对这个篡改区域进行学习, 并在该帧之后的视频帧中对该这一区域进行追踪, 找出其相应位置. 相比于以往的目标追踪算法, 实时追踪算法(RCT)是一种简单高效的基于压缩感知的追踪算法, 其运行效率可以达到实时跟踪的效果, 并且其也拥有较强的鲁棒性[9].
图2 篡改区域的追踪和验证算法流程图Fig.2 The flow diagram of tracking and authentication algorithm for tampered region
使用RCT算法对检测到的被篡改的首帧Q′进行学习, 回退t帧后, 对接下来的所有视频帧进行追踪, 直到目标区域消失或者视频结束, RCT算法停止运行, 记下追踪后得到的每帧的可疑区域坐标α1. 然后, 再使用RCT算法对被篡改的首帧W′进行学习, 回退t帧后, 对接下来的所有视频帧除α1以外的部分进行追踪, 得到一组新的可疑区域坐标α2. 此时,α1(i)和α2(i)分别对应于第i帧的两个可疑区域坐标, 记两次RCT算法停止所在的帧序号最小值为stop. 接着, 算法对追踪得到的结果进行验证, 再使用SIFT算法依次对α1和α2中记录的每帧的两个可疑区域进行匹配. 如果匹配点数目大于5(经验数), 则判定该帧被篡改, 该帧追踪得到的区域即为篡改区域, 否则判定该帧未被篡改.
由于RCT算法的鲁棒性较高, 能抵抗多种干扰因素, 如放大、 缩小、 模糊、 抖动、 遮挡等, 因而即使视频拍摄条件较差, RCT算法依然能给出准确的追踪结果; 而且RCT追踪算法具有实时性, 使用SIFT匹配追踪后的两个目标位置只是视频帧中的小块区域, 这两个步骤的时间消耗相对较少. 因此, 本文通过这种方式避免了大量使用SIFT算法导致时间效率降低, 提高了运行效率的同时也保证了算法的鲁棒性.
最后, 如果完成了视频最后一帧的目标追踪的匹配, 则整个算法停止, 否则令current=stop, 返回算法第一部分继续检测, 本节篡改区域的追踪和验证的执行流程如图2所示.
3 实验与分析
本文的实验视频序列主要来自相机实地拍摄或从互联网上下载, 并使用Adobe Photoshop CS6和Imagineer Systems Mokey 4.1.4两款软件对其进行帧内复制-粘贴篡改. 实验所使用的计算机配置为: 中央处理器采用Intel Q8300四核处理器, 时钟为2.50 GHz, 内存2 G, 显卡采用NVIDIA GeForce GTS450, 操作系统为Microsoft Windows XP SP3. 代码使用MATLAB Version 2010a进行编写和运行.
3.1 篡改区域无后处理的检测结果
实验采用互联网下载的3种不同的视频序列见图3. 其中, 视频(1)的分辨率为320×240, 帧数为100帧; 视频(2)的分辨率为320×240, 帧数为250帧; 视频(3)的分辨率为1 100×620, 帧数为150帧. 3个视频的篡改区域不经过任何后处理. 采用本检测算法的具体检测算法参数为: 检测间隔t=5 s、 阈值Tdis=0.006. 图3给出了3个视频被篡改前后的视频帧对比, 以及采用本算法的检测结果. 3个视频的篡改检测时间分别为: 视频(1)的检测时间为37 s, 视频(2)的检测时间为106 s, 视频(3)的检测时间为254 s.
3.2 篡改区域有后处理的检测结果
实验中采用数码相机拍摄的3个视频, 其分辨率均为640×480, 帧率为25 s-1, 帧数为100帧. 3个视频均进行了篡改后处理, 其中视频1的篡改区域经过放大处理, 视频2的篡改区域经过缩小并进行旋转180°操作, 视频3在拍摄时存在轻微晃动而使视频有点模糊. 采用本检测算法的具体检测算法参数为: 检测间隔t=5 s、 阈值Tdis=0.006. 图4给出了3个视频被篡改前后的视频帧对比, 以及采用本算法的检测结果. 3个视频的篡改检测时间分别为: 视频1的检测时间为106 s, 视频2的检测时间为64 s, 视频(3)的检测时间为300 s.
图3 对进行过复制-粘贴的3个视频序列的检测实验Fig 3 The detection results of three video sequences tampered by copy-paste
图4 对采用不同篡改后处理的3个视频序列的检测实验Fig .4 The tamper detection result of three video sequences
3.3 实验结果分析
从3.1的实验结果可以看出, 针对多种不同分辨率的视频进行帧内复制-粘贴篡改后, 采用本算法进行处理后, 每帧的篡改与否, 篡改的源区域和其对应的复制区域的坐标会被记录, 并用红框在视频帧中标出. 在实验中, 无论篡改区域的大小, 本文的算法均准确地判定了视频是否经过复制-粘贴篡改, 并且准确地确定了被篡改的位置.
从3.2中的实验结果可以看出, 在应对各种篡改的后处理方面, 本文提出的检测算法有着良好的鲁棒性, 其中包括对复制的区域进行180°旋转, 放大和缩小等处理. 即使当被篡改的视频在拍摄时有轻微晃动而造成视频质量下降的情况下, 采用本文的检测算法, 也可以精确地确定篡改的位置, 并且极大地提高了算法效率, 节约了系统资源.
从以上两个实验结果可以看出, 采用本文提出的检测算法, 针对不同分辨率的视频序列, 其检测所需的时间也不同. 一般情况下, 视频的分辨率越高、 视频包含的纹理细节越多、 所做篡改的区域越大, 检测算法执行的时间也越长. 针对图4中的3种相同分辨率(640×480)的视频序列进行统计, 可以得出本检测算法的平均时间为每帧1.34 s, 与同类型检测算法[6-7]相比, 在相同的检测准确率情况下, 检测执行速度大约提高30%左右.
4 结论
根据视频有意义篡改所具有的特征和视频复制-粘贴的篡改特点, 并结合视频的特性, 提出了基于SIFT特征提取和RCT追踪算法的视频篡改检测方法. 该方法通过对视频序列按照一定间隔使用SIFT算法提取特征, 寻找首个篡改帧及其篡改区域; 然后使用RCT算法对该篡改区域进行学习并定位该帧之后每个视频帧的可疑区域; 最后对得到的可疑区域使用SIFT算法进行相似点的匹配, 确定整个视频的篡改帧的位置及其具体篡改区域. 实验结果证明了本文方法的有效性和鲁棒性, 以及在执行时间上的优越性.
[1] 陈威兵, 杨高波, 陈日超. 数字视频真实性和来源的被动取证[J]. 通信学报, 2010, 32(6): 177-183.
[2] 王俊文, 刘光杰, 张湛. 基于模式噪声的数字视频篡改取证[J]. 东南大学学报: 自然科学版, 2008, 38(A2): 13-17.
[3] Wang Weihong, Farid H. Exposing digital forgeries in video by detecting double quantization[C]//Proceeding of The 11th ACM Workshop on Multimedia and Security. Princeton: ACM, 2009: 39-48.
[4] Chen Wen, Shi Yun. Detection of double mpeg compression based on first digit statistics[C]//Lecture Notes in Computer Science, Digital Watermarking. Busan: Springer, 2009: 16-30.
[5] Zhang Jing, Su Yuting. Exposing digital video forgery by ghost shadow artifact[C]//Proceeding of First ACM Workshop on Multimedia in Forensics. Beijing: ACM, 2009: 49-54.
[6] Wang Weihong, Farid H. Exposing digital forgeries in video by detecting duplication[C]//Proceedings of The 9th Workshop on Multimedia & Security. Dallas: ACM, 2007: 35-42.
[7] Subramanyam A, Emmanuel S. Video forgery detection using HOG features and compression properties[C]//2012 IEEE 14th International Workshop on Multimedia Signal Processing. Hangzhou: IEEE, 2012: 89-94.
[8] Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110.
[9] Zhang Kaihua, Zhang Lei, Yang M H. Real-time compressive tracking[M]//Fitzgibbon A, Lazebnik S, Perona P,etal. Computer Vision-ECCV. Berlin: Springer, 2012: 864-877.
(责任编辑: 林晓)
A copy-paste video tamper detection method based on features extracting and tracking
SU Lichao1, HUANG Tianqiang1, ZHENG Mingkui2
(1. School of Mathematics and Computer Science, Fujian Normal University, Fuzhou, Fujian 350007, China;
2. College of Physics and Information Engineering, Fuzhou University, Fuzhou, Fujian 350116, China)
In this paper, a novel video tamper detection method is proposed. In the method, the SIFT algorithm is firstly used to extract features of video sequence according to inspection interval parameter and seek out the first tampering frame and the tampered area. Then, the compression tracking algorithm is used to study the tampered area and locate the suspicious area of each video frame. Finally, the SIFT algorithm is used to calculate the similarity of suspicious area obtained and the position of tampered frames of the whole video and their specific tampered areas are confirmed. The experimental result show that this method are more effective, robust and quick than that of before.
video forgery; feature extracting; compressive tracking; video frame
10.7631/issn.1000-2243.2015.04.0450
1000-2243(2015)04-0450-06
2013-11-21
黄添强(1971- ), 教授, 主要从事机器学习与数据挖掘方面研究, 651424071@qq.com
国家自然科学基金资助项目(61070062); 福建省高校服务海西建设重点项目(2008HX200941-4-5); 福建省高校新世纪优秀人才基金资助项目(JA11038); 福建省科技重大专项(2014HZ0003-3)
TN919.8
A