羅遠(yuǎn)焱,杜學(xué)繪,孫 奕
(1.信息工程大學(xué) 密碼工程學(xué)院,河南 鄭州 450001;2.信息工程大學(xué) 河南省信息安全重點(diǎn)實(shí)驗(yàn)室,河南 鄭州 450001)
采用H.264編碼算法的視頻流因?yàn)榫哂休^高的壓縮效率和廣泛的網(wǎng)絡(luò)適應(yīng)性,在網(wǎng)絡(luò)傳輸?shù)囊曨l流中被廣泛采用。而H.264視頻碼流中所存在的大量DCT系數(shù)可能會(huì)被用于隱藏信息[1]。目前基于DCT系數(shù)修改的代表性信息隱藏方法有Lin等方法[2]和Ma等方法[3]。這些方法通過(guò)修改DCT系數(shù)以隱藏信息,但其對(duì)DCT系數(shù)的修改會(huì)不同程度地影響視頻中數(shù)據(jù)的空間相關(guān)性,如視頻解碼后像素的變動(dòng)等,這些差異為檢測(cè)視頻中隱藏信息提供了可能性。
相關(guān)研究者利用視頻流中的這種空間相關(guān)性,提出一系列針對(duì)視頻流中隱藏信息的檢測(cè)方法,典型的有Da等方法[4]、N.Zarmehi等方法[5]和Wang等方法[6]。這些檢測(cè)方法根據(jù)所設(shè)計(jì)的檢測(cè)特征判斷視頻流是否被嵌入信息。其局限性在于,人工所設(shè)計(jì)的特征對(duì)最后檢測(cè)的結(jié)果具有很大影響,并且視頻相對(duì)于其它多媒體數(shù)據(jù)(如圖像、音頻等),結(jié)構(gòu)方面更加復(fù)雜,所需檢測(cè)特征的維度也更高,這也為人工設(shè)計(jì)視頻的相應(yīng)檢測(cè)特征帶來(lái)不小的挑戰(zhàn)。而相比于以往基于人工設(shè)計(jì)特征的檢測(cè)方法,卷積神經(jīng)網(wǎng)絡(luò)可以通過(guò)卷積層自動(dòng)從數(shù)據(jù)中提取特征。因此本文將卷積神經(jīng)網(wǎng)絡(luò)引入到視頻隱藏信息檢測(cè)中,并采用量化截?cái)嗖僮髋c殘差單元對(duì)其進(jìn)行改進(jìn),提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的視頻流隱藏信息檢測(cè)方法。
為減少視頻傳輸所消耗的帶寬,需要在編碼時(shí)提高視頻的壓縮率。而幀內(nèi)編碼是利用視頻幀內(nèi)空間相關(guān)性提高視頻壓縮率的方式之一。視頻的幀內(nèi)編碼主要分為宏塊劃分,幀內(nèi)預(yù)測(cè),DCT變換、量化等幾個(gè)步驟[7],如圖1所示。
圖1 視頻的幀內(nèi)編碼流程
幀內(nèi)編碼的宏塊劃分有4*4與16*16兩種類型。16*16 的亮度塊在亮度的變化過(guò)程中是相對(duì)平滑的,如果進(jìn)行修改會(huì)引起此區(qū)域視頻亮度的明顯變化,而人眼對(duì)于亮度的變化是較為敏感的,并且在編碼過(guò)程中16*16的亮度塊也是采用16個(gè)4*4的前向DCT變換進(jìn)行處理,所以現(xiàn)有信息隱藏方法主要是針對(duì)幀內(nèi)4*4亮度塊的DCT變換系數(shù)進(jìn)行修改。
在H.264編碼算法中,4*4的亮度塊有9種幀內(nèi)預(yù)測(cè)模式,不同預(yù)測(cè)模式使用不同計(jì)算公式預(yù)測(cè)出相鄰4*4亮度塊的亮度值。在幀內(nèi)編碼中,除第一個(gè)宏塊外其余宏塊都是基于相鄰宏塊的預(yù)測(cè)值計(jì)算出的。將宏塊實(shí)際的亮度值與預(yù)測(cè)出的亮度值相減得到殘差矩陣,該矩陣經(jīng)過(guò)DCT變換后量化為最后存儲(chǔ)的編碼數(shù)據(jù)。
對(duì)圖像進(jìn)行DCT變換的過(guò)程實(shí)質(zhì)是將圖像所具有的信號(hào)由空域變換到頻域。在頻域中,人類視覺(jué)系統(tǒng)對(duì)于低頻的信號(hào)比較敏感,而對(duì)于高頻的信號(hào)不敏感[8]。所以許多信息隱藏方法將信息隱藏在這部分人類視覺(jué)系統(tǒng)并不敏感的高頻分量系數(shù)中。在DCT變換后,H.264編碼器會(huì)對(duì)DCT變換系數(shù)進(jìn)行量化以減少編碼長(zhǎng)度。下面是DCT變換及量化所采用的公式
(1)
此處的
(2)
(3)
現(xiàn)有方法在通過(guò)修改DCT系數(shù)來(lái)隱藏信息時(shí),所做修改會(huì)改變DCT系數(shù)之間的潛在相關(guān)性。視頻解碼過(guò)程中,反DCT變換操作會(huì)將相關(guān)DCT系數(shù)轉(zhuǎn)化為空域中像素值,而相應(yīng)DCT系數(shù)的修改會(huì)隨之?dāng)U散到4*4塊的所有像素中。基于卷積神經(jīng)網(wǎng)絡(luò)的檢測(cè)方法可以利用這種DCT系數(shù)修改所引起的差異檢測(cè)視頻流中的隱藏信息。
現(xiàn)有基于人工設(shè)計(jì)特征的視頻流隱藏信息檢測(cè)方法通常會(huì)有以下幾個(gè)步驟:
(1)解壓縮。通過(guò)調(diào)用相關(guān)的解碼庫(kù),將待檢測(cè)的視頻序列解壓縮到空域,從而獲得一系列由像素值系數(shù)矩陣所組成的空域中的視頻幀(需要注意的是,此處的解壓縮操作不同于視頻播放時(shí)的解碼操作,此處的解壓縮操作不進(jìn)行解碼時(shí)的量化和截?cái)嗟葘⑾袼刂底儞Q到[0-255]這一范圍的操作)。
(2)卷積。將所獲得的視頻幀與一組預(yù)先設(shè)定的卷積核進(jìn)行卷積操作從而獲得殘差嗓聲矩陣。此處卷積操作的目的是減弱幀內(nèi)圖像內(nèi)容的信號(hào)并增強(qiáng)嵌入信息所產(chǎn)生的嗓聲信號(hào)。
(3)量化截?cái)嗖僮?。?duì)殘差矩陣中每個(gè)殘差系數(shù)進(jìn)行不同組合的量化截?cái)嗖僮?。此操作可以進(jìn)一步改善所得特征的多樣性,并降低計(jì)算復(fù)雜度(需要注意的是,此處的量化截?cái)嗖僮鞑煌诰幋a時(shí)的量化截?cái)嗖僮鳎幋a時(shí)的量化操作是為了減少編碼長(zhǎng)度,而此處的量化截?cái)嗖僮魇菫榱吮阌谙乱徊綄?duì)特征進(jìn)行聚合與分析)。
(4)聚合。對(duì)上一階段所得的值進(jìn)行聚合從而進(jìn)一步降低最后所選擇特征的維度。
下面以最新提出的Wang的方法[6]為例進(jìn)行說(shuō)明。對(duì)于每一個(gè)解壓到空域中的視頻幀F(xiàn)(大小為M*N), 我們將其與所設(shè)計(jì)的DCT核(即G(u,v)) 進(jìn)行卷積操作,如下所示
U(F,G)={U(u,v)|0≤u,v≤3}
(4)
U(u,v)=F*G(u,v)
(5)
此處的U(u,v)∈R(M-3)*(N-3), 卷積操作的步長(zhǎng)為1,并對(duì)結(jié)果不進(jìn)行填充。所采用的DCT核為
(6)
(7)
U(F,G,Q)=Q(U(F,G)/q)
(8)
此處的q是量化步長(zhǎng),Q是以{0,1,2,…Tr} 作為周期的量化器,Tr是量化周期中的截?cái)嚅撝?。?jīng)過(guò)以上兩步處理過(guò)后,將16個(gè)量化殘差嗓聲矩陣按如下公式計(jì)算直方圖
(9)
最后,將所得直方圖中的值作為特征輸入支持向量機(jī)(SVM)或集成分類器進(jìn)行分類,得出最終的檢測(cè)結(jié)果。
在上述基于人工設(shè)計(jì)特征的檢測(cè)方法中,量化截?cái)嗖僮?Q&T)的引入增加了模型的豐富性并且進(jìn)一步降低所設(shè)計(jì)特征的維度,因此其被廣泛使用在基于人工設(shè)計(jì)特征的檢測(cè)方法中[9]。但如果將量化截?cái)嗖僮?Q&T)引入卷積神經(jīng)網(wǎng)絡(luò)(CNN),則會(huì)遇到新的問(wèn)題。因?yàn)樵谟?xùn)練神經(jīng)網(wǎng)絡(luò)的過(guò)程中會(huì)使用反向傳播(BP)方式來(lái)尋找合適的參數(shù),而量化截?cái)嗖僮?Q&T)的引入會(huì)使得反向傳播過(guò)程中梯度下降算法中的梯度出現(xiàn)消失的情況。具體描述如下
(10)
式中:rij是經(jīng)過(guò)DCT核卷積所生成的殘差嗓聲矩陣中的系數(shù),aij是卷積神經(jīng)網(wǎng)絡(luò)中與之相關(guān)聯(lián)的非線性激活函數(shù)的輸出,q是量化步長(zhǎng), [·]是取整操作,T是預(yù)定義的閾值。觀察此式可知,當(dāng)rij的取值集合為{(-T+0.5)q,(-T+1.5)q,…,(T-1.5)q,(T-0.5)q} 時(shí)其導(dǎo)數(shù)f′(rij) 的取值為無(wú)窮,而其余情況下rij的導(dǎo)數(shù)的值為0。如果偏導(dǎo)數(shù)趨近于零,相應(yīng)的梯度就會(huì)飽和;如果沒(méi)有導(dǎo)數(shù)(即導(dǎo)數(shù)趨向于無(wú)窮),則梯度就會(huì)為零,這會(huì)使得反向傳播過(guò)程中的梯度出現(xiàn)消失的情況。因此,不能直接將量化截?cái)嗖僮?Q&T)引入卷積神經(jīng)網(wǎng)絡(luò)中。
因?yàn)榱炕財(cái)嗖僮?Q&T)與神經(jīng)網(wǎng)絡(luò)中梯度下降算法不相兼容,所以現(xiàn)有引入量化截?cái)嗖僮鞯囊曨l流隱藏信息檢測(cè)方法法中,大部分是基于人工設(shè)計(jì)特征的檢測(cè)方法。為利用量化截?cái)嗖僮鳛闄z測(cè)所帶來(lái)的優(yōu)勢(shì),本文將量化截?cái)嗖僮?Q&T)與神經(jīng)網(wǎng)絡(luò)分為兩個(gè)階段進(jìn)行操作,以解決不相容問(wèn)題。
卷積神經(jīng)網(wǎng)絡(luò)越深,理論上的學(xué)習(xí)效果越好,即理論上訓(xùn)練出來(lái)的檢測(cè)準(zhǔn)確率越高[10]。但在實(shí)際操作中,過(guò)深的網(wǎng)絡(luò)在訓(xùn)練時(shí)會(huì)出現(xiàn)梯度消失或者梯度爆炸的情況,導(dǎo)致隨著層數(shù)加深網(wǎng)絡(luò)的準(zhǔn)確度出現(xiàn)飽和甚至是下降的情況。在Zeng等的論文[9]中,其通過(guò)添加一個(gè)輔助的梯度值來(lái)解決這個(gè)問(wèn)題,但這種技巧并未從根本上解決問(wèn)題。在本文方法所設(shè)計(jì)的網(wǎng)絡(luò)中,通過(guò)借鑒He等的論文[10]中的殘差學(xué)習(xí)思想,在不同的卷積層之間添加快速連接構(gòu)建殘差學(xué)習(xí)單元,通過(guò)學(xué)習(xí)殘差傳導(dǎo)梯度,從而構(gòu)建所使用的檢測(cè)子網(wǎng)絡(luò)。殘差學(xué)習(xí)的原理如下:
殘差單元可以用如下形式表示
yl=h(xl)+F(xl,Wl)
(11)
xl+1=f(yl)
(12)
其中,xl與xl+1分別表示的是第l個(gè)殘差單元的輸入和輸出,每個(gè)單元包含多個(gè)卷積層。F是殘差函數(shù),表示所學(xué)習(xí)到的殘差,而h(xl)=xl表示恒等映射,f是ReLU激活函數(shù)。所學(xué)習(xí)的特征為
(13)
利用鏈?zhǔn)揭?guī)則得到的反向傳播的梯度為
(14)
本文提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的視頻流隱藏信息檢測(cè)方法。該方法核心是使用改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)檢測(cè)視頻流。改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)整體結(jié)構(gòu)如圖2所示,其主要分為兩個(gè)部分,第一個(gè)部分將解碼到空域的視頻幀與所設(shè)計(jì)的DCT核進(jìn)行卷積生成殘差嗓聲矩陣,并對(duì)矩陣中系數(shù)進(jìn)行不同的量化截?cái)嗖僮?第二部分將量化后的矩陣作為子網(wǎng)絡(luò)的輸入,通過(guò)訓(xùn)練網(wǎng)絡(luò)得出最后的檢測(cè)結(jié)果。
圖2 改進(jìn)網(wǎng)絡(luò)的整體結(jié)構(gòu)
第一部分通過(guò)DCT卷積核生成殘差矩陣,并將殘差矩陣進(jìn)行量化截?cái)嗖僮?。其中的DCT卷積核相當(dāng)于一個(gè)個(gè)濾波器,其與視頻幀進(jìn)行卷積操作的目的是抑止視頻幀中的內(nèi)容信號(hào)并放大幀中隱藏信息所產(chǎn)生的噪聲信號(hào)[11]。因此不同的卷積核所生成的殘差嗓聲矩陣對(duì)檢測(cè)性能具有一定影響。
本文將視頻解壓縮(不含量化截?cái)嗖僮?所形成的一系列視頻幀作為所提出網(wǎng)絡(luò)結(jié)構(gòu)的輸入。隨后將視頻幀與所設(shè)計(jì)的DCT核進(jìn)行卷積操作,并對(duì)卷積后生成的殘差嗓聲矩陣執(zhí)行量化截?cái)嗖僮?。與以往不同,我們采用16個(gè) 4*4 的卷積核,而不是文獻(xiàn)[9]方法中的64個(gè)8*8卷積核或文獻(xiàn)[12]方法中的25個(gè)5*5的卷積核。這是因?yàn)楝F(xiàn)有針對(duì)視頻的信息隱藏方法主要是針對(duì)4*4的劃分子塊進(jìn)行修改,所以采用4*4的DCT核進(jìn)行卷積可以得出合適的使隱寫噪聲更易于檢測(cè)的殘差嗓聲矩陣。表1中的實(shí)驗(yàn)數(shù)據(jù)也能輔助驗(yàn)證這個(gè)觀點(diǎn)。在此實(shí)驗(yàn)中,我們測(cè)試了2*2,3*3,4*4,5*5和8*8尺寸的DCT核,尺寸為4×4時(shí)獲得最佳檢測(cè)結(jié)果(實(shí)驗(yàn)中數(shù)據(jù)采用Ma等的方法[3]隱藏信息,量化步長(zhǎng)QP=36,嵌入率EC=0.05,參數(shù)設(shè)置將在下文進(jìn)行詳細(xì)介紹)。
表1 不同DCT核、量化截?cái)?Q&T)對(duì)檢測(cè)性能影響
注:(10,1)代表截?cái)嘀礣=10、量化值Q=1
DCT核一般按如下形式進(jìn)行構(gòu)造[9],其中的N根據(jù)具體情況進(jìn)行取值,在本文中我們?nèi)=4
(15)
(16)
經(jīng)過(guò)DCT核的卷積操作后,視頻幀被處理成16個(gè)殘差嗓聲矩陣。隨后需要對(duì)生成的殘差嗓聲矩陣進(jìn)一步進(jìn)行量化截?cái)嗖僮?。如果把量化截?cái)嗖僮骺醋饕粋€(gè)函數(shù),其與卷積神經(jīng)網(wǎng)絡(luò)中的激勵(lì)函數(shù)等結(jié)構(gòu)的構(gòu)造具有較大差異,如圖3所示。圖3中左邊是神經(jīng)網(wǎng)絡(luò)中一種典型的激活函數(shù),其連續(xù)且可導(dǎo)。右邊函數(shù)功能上類似于量化截?cái)嗖僮?,其不連續(xù)且不可導(dǎo)。同時(shí)量化截?cái)嗖僮魉哂械膶⑻卣麟x散化與多樣化的能力是卷積神經(jīng)網(wǎng)絡(luò)中相關(guān)函數(shù)所無(wú)法模仿的。因此本文方法中將量化截?cái)嗖僮髋c神經(jīng)網(wǎng)絡(luò)相結(jié)合。該操作給模型帶來(lái)的多樣性對(duì)于檢測(cè)方法的性能具有較大影響。本文所進(jìn)行的實(shí)驗(yàn)也能支持相應(yīng)的觀點(diǎn)。
圖3 量化截?cái)嗖僮髋c激活函數(shù)區(qū)別
如表1所示,通過(guò)參考文獻(xiàn)[9]方法中的參數(shù)設(shè)置,本文對(duì)不同取值的量化截?cái)嗖僮?Q&T)進(jìn)行測(cè)試,通過(guò)實(shí)驗(yàn)選擇出了較合適的一組參數(shù)值(T=8,Q=1、2、4)。
經(jīng)過(guò)量化截?cái)嗖僮鞯奶幚砗?,得?8個(gè)量化殘差嗓聲矩陣。這48個(gè)模型分3組輸入第二部分的網(wǎng)絡(luò)中進(jìn)行檢測(cè),該網(wǎng)絡(luò)由3組并行且相同的子網(wǎng)絡(luò)構(gòu)成。該子網(wǎng)絡(luò)的結(jié)構(gòu)與如圖4所示。
圖4 子網(wǎng)絡(luò)結(jié)構(gòu)
在每一個(gè)子網(wǎng)絡(luò)中,包含16個(gè)卷積層和全局平均池化層。這一部分是卷積神經(jīng)網(wǎng)絡(luò)的核心,通過(guò)學(xué)習(xí)和優(yōu)化相關(guān)參數(shù)以自動(dòng)提取相關(guān)特征,從而得到256維的輸出向量。在每一個(gè)卷積層后面采用了一個(gè)BN(批量歸一化)層和非線性激勵(lì)函數(shù)(ReLU),BN層的引入是為了解決反向傳播過(guò)程中的“梯度彌散”問(wèn)題,而激勵(lì)函數(shù)的引入是為了增加非線性因素以提升模型的表達(dá)能力[13]。使用的卷積核大小統(tǒng)一為 3*3。在所提出的子網(wǎng)模型中,部分卷積操作的步長(zhǎng)為2,使得在輸入數(shù)據(jù)空間大小減半時(shí)增加卷積核數(shù)量以使輸出數(shù)據(jù)信道數(shù)目翻倍,從而保持網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜性。而其余卷積操作步長(zhǎng)為1,此時(shí)輸入數(shù)據(jù)與輸出數(shù)據(jù)的空間大小相等,作用是通過(guò)卷積層自動(dòng)提取特征。
為進(jìn)行殘差計(jì)算,會(huì)在不同的卷積層之間進(jìn)行快捷連接。所添加的快捷連接分為兩種情況,當(dāng)快捷連接兩端輸入與輸出數(shù)據(jù)維度一致時(shí),直接將輸入添加至輸出;如果快捷連接兩端的輸入與輸出數(shù)據(jù)大小不一致,則在快捷連接中添加一層新的卷積,如圖5所示,使得輸入與輸出維度一致。
圖5 殘差學(xué)習(xí)單元結(jié)構(gòu)
經(jīng)過(guò)上述處理,3個(gè)子網(wǎng)絡(luò)輸出3個(gè)256維的特征向量。在其后采用2個(gè)全連接層與softmax層從而得出最后的檢測(cè)結(jié)果。
雖然在理論上網(wǎng)絡(luò)結(jié)構(gòu)越深效果越好,但在實(shí)際中太深的網(wǎng)絡(luò)結(jié)構(gòu)我們無(wú)法訓(xùn)練。因?yàn)樗O(shè)計(jì)卷積神經(jīng)網(wǎng)絡(luò)的寬度受GPU內(nèi)存的限制,目前實(shí)驗(yàn)時(shí)采用12 GB內(nèi)存的GPU能支持所提出的16層網(wǎng)絡(luò)。同時(shí)更深的網(wǎng)絡(luò),需要比現(xiàn)有更多的實(shí)驗(yàn)數(shù)據(jù)。這也是下一步的研究方向。
在實(shí)驗(yàn)中,本文使用由1000個(gè)標(biāo)準(zhǔn)CIF視頻序列組成的數(shù)據(jù)集。所有視頻采用YUV 4∶2∶0抽樣格式,視頻序列中視頻幀的數(shù)量從500到15 000不等。本文在FFmpeg[14]中引入x264編碼器[15]將標(biāo)準(zhǔn)CIF序列編碼成H.264碼流,編碼過(guò)程中的幀率設(shè)置為30 fps,并用該編碼器實(shí)現(xiàn)實(shí)驗(yàn)中所需的信息隱藏與隱藏信息檢測(cè)方法。為比較各隱藏信息檢測(cè)方法對(duì)于基于DCT系數(shù)信息隱藏方法的分析能力,本文使用Ma等的方法[3]與Lin等的方法[2]進(jìn)行隱藏信息的嵌入。信息嵌入量由嵌入率表示,嵌入率(embedding rate,ER)代表非零系數(shù)所嵌入的比特?cái)?shù)(the number of bits embedded per non-zero coefficient,bpnc)。具體視頻中的最大嵌入率受視頻編碼時(shí)所選擇的量化參數(shù)QP影響,最大嵌入率隨著量化參數(shù)QP的增加逐漸降低,Lin方法的嵌入容量大于Ma等方法的嵌入容量[6]。在實(shí)驗(yàn)中,本文在選擇常用的QP參數(shù)(32,36)與不同嵌入率(0.05 bpnc,0.1 bpnc)的基礎(chǔ)上,將所提出方法與Da等的方法[4]、DCTR 方法[16]和Wang等的方法[6]進(jìn)行比較。
同時(shí),為使視頻幀滿足神經(jīng)網(wǎng)絡(luò)的輸入格式,將解碼后的視頻幀統(tǒng)一剪裁為256*256的大小。使用現(xiàn)有的Caffe框架[17]構(gòu)建所需的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),將所設(shè)計(jì)的4*4DCT核與量化截?cái)嗖僮鲗蛹尤隒affe框架之中。使用小批量隨機(jī)梯度下降法對(duì)所提出的模型進(jìn)行訓(xùn)練,學(xué)習(xí)率從0.001開始,動(dòng)量momentum固定為0.9。卷積核中的參數(shù)由均值為0標(biāo)準(zhǔn)差為0.01的高斯分布進(jìn)行隨機(jī)初始化。最后全連接層中的參數(shù)使用Xavier方法進(jìn)行初始化。每5000次迭代之后,卷積神經(jīng)網(wǎng)絡(luò)中的參數(shù)都會(huì)被保存。從視頻數(shù)據(jù)集中隨機(jī)選取50%的原始未隱藏信息的視頻文件,隨后選擇信息隱藏方法生成相應(yīng)隱藏信息的視頻組成訓(xùn)練集。數(shù)據(jù)集中剩下的50% 視頻文件用于測(cè)試。
(1)與現(xiàn)有方法對(duì)比
各方法對(duì)于DCT系數(shù)中隱藏信息檢測(cè)的實(shí)驗(yàn)結(jié)果見(jiàn)表2與表3。本文在表2中采用Ma等的方法[3]嵌入信息,而在表3中采用Lin等的方法[2]嵌入信息,信息的嵌入率分為0.05與0.1兩種情況,視頻的量化參數(shù)分為32與36兩種情況,所對(duì)比的方法為Da等的方法[4]、DCTR方法[16]與Wang等的方法[6]。從表中可以看出,在相同條件下,相比于以往方法,所提出的方法具有更高的檢測(cè)率。同時(shí)檢測(cè)準(zhǔn)確率隨著量化參數(shù)QP的降低而提高,這是因?yàn)橛幂^低的QP值壓縮的高質(zhì)量視頻損耗較小,檢測(cè)方法更易從這些視頻數(shù)據(jù)中獲得更有效的隱藏信息的特征。
表2 針對(duì)Ma等信息隱藏方法檢測(cè)準(zhǔn)確率
表3 針對(duì)Lin等信息隱藏方法檢測(cè)準(zhǔn)確率
相比于以往使用傳統(tǒng)機(jī)器學(xué)習(xí)的檢測(cè)方法,本文所提出的基于卷積神經(jīng)網(wǎng)絡(luò)的方法,準(zhǔn)確率是隨著的迭代次數(shù)的增加逐漸上升的。所訓(xùn)練的網(wǎng)絡(luò)總共迭代了20*104次,將經(jīng)過(guò)18*104、18.5*104和19*104次迭代后輸出的檢測(cè)準(zhǔn)確率的均值作為最終的輸出結(jié)果。圖6展示了在視頻量化參數(shù)QP=36,嵌入率EC=0.05的情況下,檢測(cè)準(zhǔn)確率隨訓(xùn)練迭代次數(shù)增加的變化情況(圖6(a)是使用Ma等方法隱藏信息的情況,圖6(b)是使用Lin等方法隱藏信息的情況),從中可以看出本文方法中神經(jīng)網(wǎng)絡(luò)所具有的學(xué)習(xí)能力,即隨著訓(xùn)練樣本的增長(zhǎng)檢測(cè)準(zhǔn)確率逐漸提高。同時(shí)本文方法的檢測(cè)性能明顯優(yōu)于傳統(tǒng)基于機(jī)器學(xué)習(xí)的檢測(cè)方法。
圖6 檢測(cè)準(zhǔn)確率隨訓(xùn)練迭代次數(shù)增加的 變化情況(QP=36,EC=0.05)
(2)本文方法的泛化能力
除與現(xiàn)有方法對(duì)比外,我們還測(cè)試所提出方法的泛化能力,實(shí)驗(yàn)結(jié)果見(jiàn)表4。泛化能力即在使用一種隱藏方法所處理的視頻幀對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練的情況下,用另一種隱藏方法所處理的視頻幀輸入網(wǎng)絡(luò)進(jìn)行檢測(cè)。通過(guò)得到的檢測(cè)準(zhǔn)確率評(píng)估所提出方法的泛化能力。實(shí)驗(yàn)中視頻數(shù)據(jù)的量化參數(shù)QP=36,嵌入率EC=0.05,結(jié)果見(jiàn)表4。
表4 模型的泛化能力
表中的“Ma/Lin”表示在使用Ma等方法隱藏信息的視頻訓(xùn)練網(wǎng)絡(luò)的情況下,用Lin等方法隱藏信息的視頻進(jìn)行測(cè)試。通過(guò)實(shí)驗(yàn)數(shù)據(jù)可知,當(dāng)訓(xùn)練與測(cè)試所使用的隱藏信息方法不一致時(shí),檢測(cè)準(zhǔn)確率會(huì)出現(xiàn)一定程度的降低。因?yàn)楸疚姆椒ㄖ械臋z測(cè)網(wǎng)絡(luò)對(duì)于不同信息隱藏方法所學(xué)習(xí)到的特征會(huì)有一定程度的差別。
(3)網(wǎng)絡(luò)中不同結(jié)構(gòu)對(duì)檢測(cè)性能影響
本文方法中的檢測(cè)網(wǎng)絡(luò)中引入了新的結(jié)構(gòu)(如量化截?cái)唷埐顔卧?,為驗(yàn)證此部分結(jié)構(gòu)對(duì)于檢測(cè)性能所產(chǎn)生的影響,本文對(duì)其進(jìn)行了測(cè)試,其結(jié)果如圖7所示。圖7(a)是完整的網(wǎng)絡(luò)結(jié)構(gòu),圖7(b)是缺少量化截?cái)嗖僮鞯木W(wǎng)絡(luò)結(jié)構(gòu),圖7(c)是不采用殘差單元的網(wǎng)絡(luò)結(jié)構(gòu)。
圖7 不同結(jié)構(gòu)對(duì)于網(wǎng)絡(luò)檢測(cè)性能的影響
從圖7中實(shí)驗(yàn)數(shù)據(jù)可得,在結(jié)構(gòu)完整的網(wǎng)絡(luò)中,隨著迭代次數(shù)的增加,網(wǎng)絡(luò)的檢測(cè)準(zhǔn)確率逐步提高,最后穩(wěn)定在一個(gè)范圍區(qū)間之中。而中間圖的網(wǎng)絡(luò),因缺少量化截?cái)嗖僮鳎矸e神經(jīng)網(wǎng)絡(luò)經(jīng)歷了緩慢的收斂,不僅到達(dá)最優(yōu)性能所需的迭代次數(shù)更多,而且所訓(xùn)練網(wǎng)絡(luò)的檢測(cè)準(zhǔn)確率也會(huì)出現(xiàn)小幅的降低。而在最右側(cè)圖中,因未采用殘差單元,網(wǎng)絡(luò)訓(xùn)練時(shí)出現(xiàn)梯度消失的情況,檢測(cè)準(zhǔn)確性大幅度降低。這也進(jìn)一步印證所引入各結(jié)構(gòu)時(shí)所提出的解釋。
針對(duì)H.264/AVC視頻文件,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的視頻流隱藏信息檢測(cè)方法,其主要針對(duì)修改DCT系數(shù)隱藏信息的視頻文件進(jìn)行檢測(cè)。該方法將量化截?cái)嗖僮?、殘差單元引入現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò),經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,本文方法相對(duì)于現(xiàn)有檢測(cè)方法在檢測(cè)性能上具有一定的提升。
下一步的工作如下:①訓(xùn)練更深的神經(jīng)網(wǎng)絡(luò)。目前方法中的網(wǎng)絡(luò)只有16層,在理論上,網(wǎng)絡(luò)層次越多訓(xùn)練后的檢測(cè)準(zhǔn)確性越高,但更深的網(wǎng)絡(luò)需要更加大量的數(shù)據(jù)進(jìn)行訓(xùn)練且會(huì)面臨梯度消失等新問(wèn)題,這是下一步需要解決的問(wèn)題。②針對(duì)其它視頻格式進(jìn)行檢測(cè)。