李小琛, 黄添强
(福建师范大学数学与信息学院, 福州 350117)
(福建省公共服务大数据挖掘与应用工程技术研究中心, 福州 350117)
数字视频作为一种重要的多媒体数据现广泛应用于人们工作生活的各个领域中, 不乏某些不法分子为达到某些目的而对视频进行恶意的篡改, 所以如何准确高效的辨别视频真伪已成为一个亟待解决的问题[1].现在视频篡改的种类按照篡改方式可以大致分为3种:1) 帧内篡改, 包括视频帧内对象添加与删除等篡改方式, 也称空域篡改, 本文检测的视频同源复制粘贴篡改行为是指复制一帧内的物体并粘贴到同一帧内的另一区域, 也属于帧内篡改的一种方式[2]; 2) 帧间篡改, 也称为时域篡改, 可进一步划分为对整帧的插入、复制或删除等多种篡改方式; 3) 视频属性篡改, 如帧率转换、比特率转换等.
近年来针对视频帧内复制粘贴篡改检测, 很多检测方法被提出, 并取得一定效果, 例如文献[3]利用HOG (Histogram Of Gradient, 方向梯度直方图)特征进行视频篡改检测, 该特征能较好的检测帧内复制粘贴篡改, 对某些时域的篡改也具有一定的检测效果, 但不能检测旋转、缩放后的粘贴区域; 文献[4,5]利用视频被篡改后需经过二次压缩这一原理, 检测二次压缩的痕迹以判断视频是否经过篡改, 这种方法在一定压缩率下是鲁棒的; 文献[6]通过篡改区域周围的纹理特征来检测篡改; 文献[7]总结了利用噪声检测视频篡改的方法; 文献[8,9]通过提取SIFT (Scale Invariant Feature Transform, 尺度不变特征变换)特征来检测篡改, 也取得了一定的效果.
SIFT算法作为一种提取特征点与特征向量的经典方法, 已被广泛应用于图像、视频处理的各个领域中,尤其在图像篡改检测领域, 检测效果比较理想[10,11]. 然而在视频篡改检测领域中, 由于提取SIFT特征点较复杂, 造成检测的效率不高, 并且灰度化造成的信息损失使得匹配时存在一定的误匹配比率, 降低了检测准确率. 因此本文利用一种彩色信息的尺度不变特征更精确地定位特征点, 在更加精确地检测篡改位置的同时,大大降低了视频篡改检测的时间复杂度. 传统的SIFT主要提取步骤是: 首先灰度化图片, 在尺度空间上检测极值点, 然后选择稳定的特征点并精确定位; 接着为特征点分配方向值; 最后生成特征描述子. 因为在SITF方法第一步中, 对图片进行了灰度化处理, 所以特征点损失了一部分的彩色信息, 增大了误匹配概率. 故本文引用一种结合彩色信息与SIFT方法的特征点提取方法——CSIFT[12](基于彩色不变量信息的尺度不变特征变换, a SIFT descriptor with color invariant characteristics),将彩色信息与SIFT方法相结合, 更精确地提取特征点与特征向量, 减少误匹配点对的数量, 并结合结构相似度与目标追踪等方法, 提高了视频检测的效率, 优化了检测的效果. 较文献[3,8]等中的方法, 检测速率更快,准确性更高.
现在多数特征提取的算法都是先将彩色图像转化为灰度图像后再进行配准, 色彩信息的丢失可能会引起误匹配[13], 比如某些对象之间灰度分布相似, 但颜色分量不同, 如果仅用SIFT特征可能就会造成误匹配.文献[12]提出的CSIFT颜色不变量特征, 正好弥补了这一缺陷.
CSIFT用到的颜色不变量模型是Geusebroek基于文献[15]和[16]中传统的Kubelka-Munk理论建立的,该理论描述了物体的光谱辐射特性, 其模型称为光反射模型, 可以表达成下式:
这里H是不依赖于点位置、反射面朝向、光照方向、光强大小以及菲涅耳反射系数的一种反射属性,也是颜色不变量的一种表达形式.
通过以上公式计算得到颜色不变量H后, 将H代替原始SIFT算法中的灰度图像函数I(x, y), 进行尺度空间极值检测. 值得注意的是, 原始SIFT算法中根据σ的值计算出高斯模板矩阵的大小, 这里σ值越大则卷积的模板就越大, 模板越大与原图像做卷积时耗费的时间就越多, 故本文实验部分设置的σ值与文献[17]中设置的SIFT算法中的σ值保持一致, 以保证颜色不变量与SIFT的效率对比更客观, 不受σ参数的影响.
CSIFT是基于彩色图像的颜色不变量信息的尺度不变特征变换的一种图像特征点提取和匹配方法. 与SIFT相比, 改进的CSIFT方法选用颜色不变量代替图像的灰度值进行计算, 算法复杂度并没有很明显的增加. 灰度值的计算公式如下所示:
而颜色不变量的计算方法如公式(5)所示, 通过比较可见, 增加的计算量是线性的, 几乎可以忽略不计. 但基于彩色图像的颜色不变量信息的尺度不变特征变换却减少了由于特征灰度化造成的彩色信息丢失而引起的特征点误匹配现象.
本文的检测算法利用上述颜色不变量信息的尺度不变特征, 同时结合K-means聚类方法和目标追踪的方法检测复制粘贴篡改行为. 算法主要步骤如图1算法框图和图2算法具体流程图所示, 首先通过比较相邻和相近帧之间的结构相似度, 将视频分段, 相似度高的相邻帧分为同一段, 然后提取每段的第一帧作为关键帧; 接着对关键帧提取该帧CSIFT特征点, 并匹配特征点; 然后通过匹配的特征点对定位复制粘贴区域; 最后利用目标跟踪算法在后续帧中追踪篡改区域, 提高算法效率.
算法第一步, 将待检测视频转换为帧序列, 比较相邻和相近帧之间的结构相似度, 相似度高且连续的帧序列作为一个视频分段, 提取每一分段的第一帧作为关键帧, 对关键帧进行进一步的检测.
图1 本文算法框架
在这一步骤中使用的分段策略是比较帧间的结构相似度(Structural SIMilarity, SSIM)[18], 这是一种经典的衡量两幅图像相似度的指标, 于2004年由德州大学奥斯丁分校的图像和视频工程实验室提出, 提取SSIM的计算图像x和图像y的SSIM系数, 主要分为三个部分: 亮度比较函数l(x,y)的计算, 对比度比较函数c(x,y)的计算, 以及结构比较函数s(x,y)的计算.SSIM计算公式由以上三个部分合并组成, 如下式:
其中,
μx、σx分别表示图像 x 的均值和方差, μy、σy分别表示图像y的均值和方差, σxy则表示两幅图像x与y的协方差. C1、C2、C3都取非常小的数值, 目的是为了防止发生分母为0的情况.是用来调整三个分量l(x,y)、c(x,y)和s(x,y)的比重. 为使计算更简单, Wang等人[18]将都设为1, 另外设置C3=C2/2, 于是得到一个特殊的SSIM系数计算公式:
图2 算法流程图
SSIM的值在0到1之间分布, 越接近1表示越相似, 越接近0表示越不相似. 在实际应用中, 将两幅图像分别都分割成若干个11×11像素大小的分块, 总共分成N块, i是块号(i=1~N), 分别计算两幅图像对应位置的两个块的SSIM系数, 最后取平均SSIM系数:
通过上述介绍的SSIM指标对原始视频序列进行分段: 从视频第一帧开始, 将当前帧F与其后续每一帧计算SSIM值, 当第F帧与当前帧的SSIM值大于阈值T1时, 当前帧被判定为与F帧同一个视频分段; 当小于T1时, 当前帧的前一帧被判定为该视频分段的结尾,当前帧则设定为下一个视频分段的开始. 这里设定每个分段长度不超过24帧, 如图2算法流程如所示, 当分段长度n≥24时, 不论SSIM值的大小, 该分段结束.
对关键帧进行检测. 首先提取关键帧F的CSIFT特征点以及特征向量, 然后进行特征点匹配. 在同一关键帧内, 匹配上的点对少于阈值T2对, 则认为该帧未经过帧内复制粘贴篡改, 该关键帧代表的分段都未被篡改, 然后对下一个分段的关键帧进行检测, 直到整个视频结束; 如果匹配点对大于等于T2对, 则认定该帧被篡改过, 进行下一步篡改区域定位.
对被判定为篡改帧中的特征点进行K-means聚类, 分类结果为两个簇, 这两个簇分别代表复制粘贴篡改的源区域和目标区域. 聚类时随机选择一对已经匹配的特征点对作为初始中心, 进行聚类. 虽然K-means聚类方法对初始值较为敏感, 但是本文算法在聚类前对特征点进行了匹配, 且本文所用CSIFT方法较其它方法更为合理准确, 其误匹配的点对比率很小. 故本文选择已匹配的特征点对作为初始中心.
K-means是一种经典、快速的聚类算法, 使用该方法能进一步提高检测的整体时间效率.
本文使用RCT (Real-time Compressive Tracking,实时压缩追踪)方法分别对源区域和篡改区域进行学习, 并追踪这两个区域在视频后续帧中的位置. 因RCT是一种单目标跟踪算法, 故我们需要对发现篡改区域的首帧中聚类产生的两个簇——代表源区域和复制粘贴区域的两个簇分别进行追踪. 首先做一个包含簇中所有元素的外接矩形框, 该矩形框即为追踪窗口或目标区域. RCT算法会对该目标(正样本)以及背景(负样本)分别进行学习并建立针对该帧的分类器. 然后通过该分类器对后一帧进行分类, 找出目标区域. 接着对这后一帧也进行类似的学习和建模, 利用新的分类器找出其后一帧的目标区域位置, 循环这一操作直至该目标消失或视频结束.
外接矩形框的大小根据簇的大小和簇中特征点所在高斯金字塔的层共同决定, 方法如下:步骤一. 先对该簇作一个包含簇中所有特征点的最小矩形框, 如图3中的矩形框ABCD. 中矩形框内的若干点代表特征点, 矩形EFGH代表作为初始目标的外接矩形框, IJ代表矩形ABCD的四条边到矩形EFGH的四条边的距离.
图3 外接矩形框EFGH
步骤二. 对最小外接矩形框ABCD进行向外扩张,扩张距离IJ的长度由该簇中特征点处于高斯金字塔的第几个octave决定, 如图4所示, 如果P和Q是匹配的特征点, 且他们处于高斯金字塔的不同octave, 如果Q处于自上往下第n个octave, 则Q所在簇的IJ的长度设置为:
图4 特征点所处不同的octave
本文实验中, 根据高斯金字塔的octave数, 我们设置M为64,Lenth_IJ取值在4至64这一范围. 外接矩形框EFGH即为RCT的初始输入, 用于后续跟踪.
RCT是一种压缩追踪算法, 实时性好, 适合应用于视频检测, 提高了算法整体的运行速率; 另一方面,RCT也是鲁棒性较高的一种算法, 能抵抗缩放、模糊、抖动、遮挡等多种干扰因素.
RCT是一种压缩追踪算法, 实时性好, 适合应用于视频检测, 提高了算法整体的运行速率; 另一方面,RCT也是鲁棒性较高的一种算法, 能抵抗缩放、模糊、抖动、遮挡等多种干扰因素.
本次实验的视频来源于SULFA (Surrey University Library for Forensic Analysis)数据库和其他网络下载,以及部分用Canon EOS 6D相机拍摄的视频, 视频篡改的软件为Adobe Photoshop CS3和Imagineer Systems Mokey V4.1.4. 进行篡改检测的软件环境: Matlab 2013;硬件环境: 奔腾E6600的CPU, 3 G内存, Windows 7操作系统. 实验检测视频数量为12个, 总共分为4种类型的篡改: 1) 复制区域为静止区域; 2) 复制区域为运动区域; 3) 复制区域进行缩放操作; 4) 复制区域进行了变形扭曲. 针对以上4种类型的篡改, 本文算法的部分实验结果如以图5至8所示, 其中红色方形框与红色方形区域代表复制粘贴的源区域与篡改区域.
(1) 复制区域为静止区域
图5 复制区域为静止区域的视频的检测结果
(2) 复制区域为运动区域
图6 复制区域为运动区域的视频的检测结果
(3)复制区域进行缩放
图7 复制区域进行了缩放操作的视频的检测结果
图8 复制区域进行变形扭曲的视频的检测结果
通过上述实验可以看出本文算法具有一定的鲁棒性, 对复制粘贴区域为静止和运动的情况都有很好的检测效果, 并且也能较好的检测出复制区域进行了缩放以及变形扭曲的篡改视频. 根据本文实验, 设定阈值T1=0.97,T2=5.
图9和图10分别为CSIFT和SIFT方法在Video1的第267帧上提取和匹配特征点时的效果图, 可以看出SIFT方法存在一定的误匹配点对, 而CSIFT方法更准确.
实验结果如表1和表2所示, 表1为检测的准确率和召回率对比, 表2为算法检测总时间的对比. 因文献[3,19]不能检测复制粘贴区域旋转缩放等情况, 故本文与文献[3,19]的比较只针对于复制粘贴区域完全相同的视频. 表2中“/”代表该方法不能检测对应的篡改视频, 故没有检测时间; 表1中的准确率和召回率也只计算了检测复制粘贴区域完全相同的篡改视频所得到的实验结果. Video1–Video8为进行了复制粘贴篡改的视频, Video9–Video12为未被篡改的视频.
图9 特征点匹配(CSIFT)
图10 特征点匹配(SIFT)
为了评估算法性能, 本文使用准确率和召回率对实验结果进行分析, 准确率Precision, 召回率Recall定义如下:
其中,Nc为正确检测出复制粘贴篡改行为的帧数,Nf为错误检测的帧数, 即原始帧被检测为篡改帧的数目,Nm为误认为是原始帧的篡改帧数, 即漏检的帧数.
通过分析表2可以得出结论, 本文与文献[6]算法因先提取了视频的关键帧, 并仅对关键帧进行了检测,故在时间效率上具有一定优势, 大大提高了效率. 而文献[19]的方法由于对篡改视频帧视频进行了16×16重叠分块, 并两两比较, 故计算量最大、速度最慢, 而当待测视频被判定为原始视频时无需分块比较, 故速度较快, 甚至在部分实验如检测Video12时检测速度超过了本文与文献[8]. 另外在准确率和召回率方面, 本文表现较好, 文献[3]虽然在召回率上略高于本文算法, 但该方法仅针对没有旋转和缩放造作的复制粘贴篡改视频, 所以总体上看, 本文算法检测效果最佳.
表1 本文算法与其它文献的准确率和召回率对比(单位: %)
表2 本文算法与其它文献算法的单帧平均运行时间对比
本文算法使用了保留图像颜色信息的CSIFT特征提取方法, 算法首先通过比较结构相似度将视频分段并提取每段第一帧为关键帧; 然后提取关键帧的CSIFT特征点并匹配点对; 匹配点对数目大于阈值的关键帧判定为被篡改帧, 最后定位篡改帧中的复制粘贴区域, 并利用RCT目标跟踪算法跟踪篡改区域在关键帧后续的其它帧上的位置. 通过实验结果可以看出,算法具有一定的鲁棒性, 能够检测经过了旋转、缩放、变形等后续操作的复制粘贴区域. CSIFT特征提取方法, 与传统算法相比速度更快, 准确性更高. 再结合目标追踪算法, 不需要每一帧都提取CSIFT特征并定位篡改区域, 进一步提高了检测效率.