李小琛, 黃添強
(福建師范大學數學與信息學院, 福州 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特征并定位篡改區域, 進一步提高了檢測效率.