王逸舟, 張 菁*, 張淑瑩, 卓 力
(1.北京工業(yè)大學(xué) 信息學(xué)部,北京 100124; 2.計算智能與智能系統(tǒng)北京市重點實驗室,北京 100124)
網(wǎng)絡(luò)短視頻[1]是目前最火的自媒體(We Media)之一,已經(jīng)普及并融入人們的日常生活中。用戶可以制作短視頻并在網(wǎng)絡(luò)上發(fā)布自己的作品,但與此同時,也使短視頻盜版泛濫,維權(quán)困難,淪為侵權(quán)的重災(zāi)區(qū)。因此對用戶上傳的短視頻進行智能化的身份鑒別具有非常重要的實際應(yīng)用意義。視頻指紋提取技術(shù)[2]是將數(shù)字視頻內(nèi)容映射為唯一的身份描述符,可以大幅減少在大規(guī)模數(shù)據(jù)集中評估不同樣本之間相似性的計算成本,以存儲成本低、查詢速度快等特點,被廣泛應(yīng)用于視頻復(fù)制檢測[3]、視頻檢索[4]等領(lǐng)域。
視頻指紋的質(zhì)量取決于提取視頻特征的魯棒表示,根據(jù)視頻特征提取方法的不同,視頻指紋提取算法可以分為手工設(shè)計特征方法和基于深度學(xué)習的方法。由于手工設(shè)計特征提取過程比較復(fù)雜,并且難以逾越視頻內(nèi)容和高層語義表達之間的鴻溝,指紋魯棒性和檢測性能無法適用于海量的短視頻數(shù)據(jù)內(nèi)容分析和判別。近年來,隨著深度學(xué)習的飛速發(fā)展,深度特征已經(jīng)在計算機視覺任務(wù)取得了超越傳統(tǒng)方法的性能,特別是利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)或長短期記憶(Long Short-Term Memory,LSTM)等提取的視頻指紋,展現(xiàn)出了更優(yōu)秀的檢測效果[5]。Wang等[6]提出了一種基于CNN和稀疏編碼的緊湊型視頻表示方法,利用CNN從密集采樣的視頻幀提取深度特征,然后通過稀疏編碼轉(zhuǎn)換為固定長度的向量。Nie等[7]將手工視覺特征和使用CNN的深度特征相結(jié)合,共同作為視頻指紋。Li等[8]使用預(yù)訓(xùn)練好的CNN提取特征,通過并行和分層的方式處理視頻幀序列進行編碼,提取二進制視頻指紋。Han等[9]將空間相似性、時間相似性和局部對齊信息聯(lián)合建模,用于檢測和定位視頻的部分復(fù)制。Kordopatis-Zilos等[10]將視頻幀的相似性矩陣送到CNN中訓(xùn)練,通過計算視頻之間的切角相似性分數(shù),獲得幀序列匹配之間的時間相似性。盡管基于深度學(xué)習的方法能夠提取魯棒性更強的視頻指紋,但是應(yīng)用于短視頻的視頻指紋提取還有一些實際問題需要解決。一般來說,視頻指紋算法性能可以從4個方面衡量:① 原視頻指紋應(yīng)與副本視頻的指紋近似;② 原視頻指紋應(yīng)與無關(guān)視頻的指紋距離較遠;③ 指紋長度要盡可能小,可以高效存儲與檢索;④ 指紋提取算法的計算復(fù)雜度要盡可能低。由于短視頻是由多個鏡頭組成的視頻數(shù)據(jù)集合,具有時長較短、鏡頭少、場景單一等特點,且用戶上傳頻率高、數(shù)據(jù)量大,內(nèi)容具有未知性,因此短視頻指紋提取需要在保證特征緊湊的前提下,具有更高表達能力和魯棒性。目前的視頻指紋算法在人造數(shù)據(jù)集可以取得較好的效果,但應(yīng)用于大規(guī)模真實數(shù)據(jù)時,其表現(xiàn)仍不理想。
考慮到視頻的時空上下文特性[11],短視頻指紋提取應(yīng)充分利用視頻的視覺信息和時序信息來獲取有效的時空特征表達。目前提取時空特征的主流方法有雙流網(wǎng)絡(luò)[12]、CNN+LSTM[13]和3DCNN[14-15]。其中,基于雙流網(wǎng)絡(luò)的方法計算開銷較大,難以應(yīng)用于大規(guī)模短視頻的指紋提取。CNN+LSTM在處理時序信息方面具有優(yōu)勢,例如Hu等[16]結(jié)合CNN和LSTM來解決復(fù)制視頻的檢測問題,首先應(yīng)用預(yù)訓(xùn)練的ResNet-50網(wǎng)絡(luò)提取幀級別的內(nèi)容特征,然后用LSTM體系結(jié)構(gòu)進行時空融合和序列匹配,在VCDB數(shù)據(jù)集測試的F1分數(shù)達到了0.72。但CNN+LSTM方法中,特征提取和指紋編碼分為兩個過程,并非端到端的網(wǎng)絡(luò),無法進行全局優(yōu)化。相比雙流網(wǎng)絡(luò)和CNN+LSTM,3DCNN對時序建模具有較優(yōu)的表現(xiàn)且模型結(jié)構(gòu)簡潔,更適合作為短視頻視覺指紋提取的主干網(wǎng)絡(luò)。Tran等[14]使用對稱的3×3×3卷積核搭建了一個時空特征提取通用的網(wǎng)絡(luò)C3D,并將其用于行為識別、場景識別和視頻相似度分析等領(lǐng)域。Tran等[15]在ResNet網(wǎng)絡(luò)基礎(chǔ)上結(jié)合3D卷積進一步提出改進的R3D網(wǎng)絡(luò)。這些早期的3DCNN相較于2DCNN性能提升有限。為此,Tran等[17]提出了R3D網(wǎng)絡(luò)的改進版R(2+1)D,將3D的卷積分解為2D的空間卷積和1D的時間卷積,該方法附加的大量非線性運算使得模型更易優(yōu)化,具有更小的誤差。
隨著短視頻數(shù)據(jù)與日俱增,出于對計算開銷和存儲成本的考慮,短視頻指紋往往要求較為緊湊。因此提出了一種基于R(2+1)D三元孿生網(wǎng)絡(luò)的短視頻指紋提取方法,既保證了指紋的緊湊性同時提高了其魯棒性。在R(2+1)D孿生網(wǎng)絡(luò)訓(xùn)練階段,首先對視頻數(shù)據(jù)集進行預(yù)處理,分割視頻鏡頭,提取視頻關(guān)鍵幀;然后構(gòu)建3個共享權(quán)重參數(shù)的R(2+1)D網(wǎng)絡(luò)分別輸入原始視頻、副本視頻和無關(guān)視頻的關(guān)鍵幀序列,通過相似性度量來學(xué)習視頻組的關(guān)聯(lián)性[18];并根據(jù)三元組損失和分類損失更新網(wǎng)絡(luò)參數(shù)。在測試階段,通過利用訓(xùn)練好的短視頻指紋提取網(wǎng)絡(luò)獲得查詢視頻的視頻指紋,進而計算其與短視頻指紋集中指紋的漢明距離,通過短視頻指紋匹配快速判別測試視頻是否為副本視頻。
本文的主要貢獻如下:
① 與現(xiàn)有的大多數(shù)視頻指紋提取方法不同,通過構(gòu)建一種端到端的深度卷積神經(jīng)網(wǎng)絡(luò)來提取視頻特征并獲取短視頻指紋,避免了特征提取和指紋編碼過程相互獨立而造成的局部優(yōu)化問題。
② 基于R(2+1)D卷積構(gòu)建三元組孿生網(wǎng)絡(luò)的主干網(wǎng)絡(luò),對多個關(guān)鍵幀進行同步學(xué)習,充分挖掘視頻的時間上下文信息,提高短視頻指紋的魯棒性。
③ 結(jié)合三元組損失和分類損失,通過分類損失彌補三元組損失的訓(xùn)練優(yōu)化問題,通過對不同視頻特征距離的度量,學(xué)習視頻間的關(guān)聯(lián)關(guān)系,提高模型的準確性。
利用上述分析,設(shè)計的基于R(2+1)D孿生網(wǎng)絡(luò)短視頻指紋提取框架如圖1所示。首先,通過對視頻數(shù)據(jù)集進行劃分,構(gòu)建訓(xùn)練視頻組,并提取視頻關(guān)鍵幀作為網(wǎng)絡(luò)的輸入;然后利用共享權(quán)重參數(shù)的三元孿生網(wǎng)絡(luò)提取時空特征并通過最小化損失函數(shù)進行網(wǎng)絡(luò)參數(shù)的更新。最后將提取的緊湊特征向量通過哈希函數(shù)量化編碼,輸出二值的短視頻指紋。
圖1 基于R(2+1)D孿生網(wǎng)絡(luò)短視頻指紋提取框架
短視頻各幀包含著空間結(jié)構(gòu)信息,連續(xù)幀之間還包含時間信息。2D卷積無論應(yīng)用于單幀還是多幀,輸出都是二維向量,因此對視頻進行表達時就會丟失時間序列的信息。3D卷積將二維的空間卷積擴展到三維的時空卷積,其卷積操作同時包含了視頻單個幀及其前后多個幀對應(yīng)位置的像素,可以同時保留時間信息和空間信息,3D卷積核如圖2(a)所示。而(2+1)D卷積將2D的空間卷積與1D的時間卷積分解開來,如圖2(b)所示。3D卷積核尺寸為t×d×d;而(2+1)D卷積中,空間卷積核尺寸為1×d×d;時間卷積核尺寸為t×1×1。
圖2 3D卷積核和(2+1)D卷積核
由此得到3D卷積參數(shù)規(guī)模P3D如式(1)所示,(2+1)D卷積參數(shù)規(guī)模P(2+1)D如式(2)所示。
P3D=t·d2·Ni-1·Ni
(1)
P(2+1)D=Mi·(d2·Ni-1+t·Ni)
(2)
式中:Ni和Ni-1分別為網(wǎng)絡(luò)模型第i層和第i-1層卷積的輸出維度;Mi為(2+1)D卷積中,在空間卷積和時間卷積之間投影子空間的維數(shù)。
因此(2+1)D卷積中的參數(shù)量可以通過設(shè)定超參數(shù)Mi來控制,一般用式(3)設(shè)定,使得(2+1)D卷積的參數(shù)量大約等于實現(xiàn)完整3D卷積的參數(shù)量。
(3)
R(2+1)D卷積有兩個優(yōu)點:① 將3D卷積分解后,2D和1D卷積之間額外附加了大量的非線性運算單元,能表征更復(fù)雜的映射;② 時空卷積的分解會使模型在訓(xùn)練中迭代優(yōu)化更加容易,可獲得更低的訓(xùn)練誤差。使用R(2+1)D卷積層、池化層和全連接層組成R(2+1)D卷積神經(jīng)網(wǎng)絡(luò),對輸入視頻關(guān)鍵幀序列進行特征提取,使得輸出的緊湊特征向量包含時空上下文信息。
下面將介紹三元組孿生網(wǎng)絡(luò)結(jié)構(gòu)和損失函數(shù)的設(shè)計。孿生網(wǎng)絡(luò)結(jié)構(gòu)常見的兩種形式為二元組孿生網(wǎng)絡(luò)[19]和三元組網(wǎng)絡(luò)[20],它們都是通過構(gòu)建模型參數(shù)相同的多分支網(wǎng)絡(luò)進行相似性度量學(xué)習。其中,輸入為正負樣本對的二元組孿生網(wǎng)絡(luò),可以學(xué)習原樣本與正樣本或負樣本的相似性,但忽視了正負樣本的相對距離。而三元組網(wǎng)絡(luò)以一組三元樣本對作為輸入,可以同時學(xué)習原樣本與正負樣本的距離關(guān)系,并利用三元組損失函數(shù)約束它們之間的距離,使得原始視頻與它的副本視頻的特征更接近,并拉大與其他無關(guān)視頻的特征距離。因此,采用共享權(quán)重參數(shù)的三元組網(wǎng)絡(luò)構(gòu)建整體框架,如圖3所示,3個分支的網(wǎng)絡(luò)權(quán)重參數(shù)W共享,輸入分別為原始視頻關(guān)鍵幀x、副本視頻關(guān)鍵幀x+和無關(guān)視頻的關(guān)鍵幀x-,通過網(wǎng)絡(luò)提取視頻特征,采用三元組損失函數(shù)度量特征距離,對網(wǎng)絡(luò)參數(shù)進行優(yōu)化。三元組損失函數(shù)LT表示為
圖3 共享權(quán)重參數(shù)的三元組網(wǎng)絡(luò)結(jié)構(gòu)
(4)
根據(jù)模型訓(xùn)練的需要,設(shè)置和改變損失函數(shù)中的margin來控制正負樣本的距離。通過最小化三元組損失使原始視頻與副本視頻的特征距離變小,原始視頻與無關(guān)視頻的特征距離增大。由于三元組損失更關(guān)注當前訓(xùn)練樣本的差異,而對距離本身沒有做出要求,因此會使視頻指紋對樣本特征整體的分布信息不敏感,容易對語義相似度較高的負樣本誤判,最終增多漏檢和誤檢,影響指紋的性能。因此需要將分類損失作為補充,增強指紋的獨特性,這里采用的交叉熵損失函數(shù)LCE可表示為
(5)
式中:xij為輸入樣本;p和q為分類概率;N為三元視頻組總數(shù);M為標簽類別總數(shù)。
將三元組損失和交叉熵損失結(jié)合,將分類損失看作對視頻指紋的約束,減少因構(gòu)建三元組視頻而產(chǎn)生的樣本特征分布不均勻問題,最終優(yōu)化網(wǎng)絡(luò)模型的損失函數(shù)L表示為
L=βLT+(1-β)LCE
(6)
式中:β為可變權(quán)重參數(shù);LT為三元組損失函數(shù);LCE為交叉熵損失函數(shù)。
下面將應(yīng)用R(2+1)D三元孿生網(wǎng)絡(luò)提取短視頻指紋,分為訓(xùn)練和測試兩個階段。
① 訓(xùn)練階段。使用共享權(quán)重參數(shù)的三元組孿生網(wǎng)絡(luò)進行訓(xùn)練,主干網(wǎng)絡(luò)包含5個R(2+1)D卷積層、1個時空池化層和2個全連接層。其中,最后1個全連接層的激活函數(shù)設(shè)為雙曲正切函數(shù)tanh,其余部分設(shè)為修正線性單元ReLU。激活函數(shù)tanh將網(wǎng)絡(luò)的輸出固定到-1~+1之間,使每個輸入在經(jīng)過整個網(wǎng)絡(luò)結(jié)構(gòu)后對應(yīng)的輸出是處于(-1,1)連續(xù)的實數(shù)值,在保證良好的迭代訓(xùn)練情況下,降低后續(xù)量化操作帶來的誤差。短視頻時空特征通過哈希函數(shù)量化為0或1,從而減少短視頻指紋占用的存儲空間,提高漢明距離的計算效率。即給定一個視頻的關(guān)鍵幀集合xi,令F(xi;w)為xi經(jīng)過R(2+1)D網(wǎng)絡(luò)后學(xué)習合適的參數(shù)w,再通過函數(shù)sign將特征量轉(zhuǎn)化為二值短視頻指紋bi:
bi=sign(F(xi;w))
(7)
② 測試階段。該階段不使用三分支的網(wǎng)絡(luò),只需要將訓(xùn)練好的一個分支的R(2+1)D模型作為指紋提取網(wǎng)絡(luò)。首先,對所用視頻數(shù)據(jù)集提取視頻指紋得到短視頻指紋庫;然后,對每一個查詢視頻使用相同方式處理,得到短視頻指紋;最后,與短視頻指紋庫進行相似性距離度量,根據(jù)預(yù)設(shè)的閾值得到判定結(jié)果。短視頻指紋的距離度量使用漢明距離H。
(8)
式中:bq為查詢視頻的短視頻指紋;B為短視頻指紋庫中的指紋;L為短視頻指紋長度;n為二值碼的位數(shù)。
實驗采用兩個復(fù)制視頻數(shù)據(jù)集CC_Web_Video[21]和VCDB[22]來評價提出方法的性能,共包括4組實驗。
2.1.1 數(shù)據(jù)集
應(yīng)用兩個真實復(fù)制視頻數(shù)據(jù)集來驗證方法性能。
(1)CC_Web_Video數(shù)據(jù)集。CC_Web_Video是一個分為24類共包含12790個視頻的真實復(fù)制檢測數(shù)據(jù)集。這些視頻來自YouTube、Google和Yahoo,并且沒有對視頻進行模擬復(fù)制的轉(zhuǎn)化操作。其中有3481個視頻屬于這24類,占比約為27%,其他為無關(guān)視頻。CC_Web_Video數(shù)據(jù)集中的視頻幀示例如圖4(a)所示。
(2) VCDB數(shù)據(jù)集。VCDB數(shù)據(jù)集是一個較新的視頻復(fù)制檢測數(shù)據(jù)集,該數(shù)據(jù)集分為兩個部分,包含528個核心視頻和9236個復(fù)制片段的核心數(shù)據(jù)集以及100000多個視頻片段的未標注數(shù)據(jù)集。該數(shù)據(jù)集也完全采集于YouTube和MetaCafe等,涵蓋了各種場景和主題,例如體育、電影、廣告等,屬于真實復(fù)制的數(shù)據(jù)集。本文主要使用核心數(shù)據(jù)集進行實驗,其中的視頻幀示例如圖4(b)所示。
圖4 CC_Web_Video數(shù)據(jù)集和VCDB數(shù)據(jù)集中視頻幀示例
2.1.2 實驗環(huán)境
實驗平臺采用Ubuntu 18.04系統(tǒng),算法模型基于開源的深度學(xué)習框架PyTorch搭建,硬件為Intel?CoreTMi7-6700 3.40 GHz CPU,16 GB內(nèi)存,NAVIDIA TITAN X(Pascal) GPU。R(2+1)D主網(wǎng)絡(luò)初始化參數(shù)為UCF101數(shù)據(jù)集上R(2+1)D網(wǎng)絡(luò)的預(yù)訓(xùn)練網(wǎng)絡(luò),其他網(wǎng)絡(luò)參數(shù)初始化為高斯分布。每個訓(xùn)練視頻片段提取N個關(guān)鍵幀作為輸入,所有的幀經(jīng)過縮放調(diào)整為128×171,并且經(jīng)過中心裁剪后,最終輸入為3×112×112 (3為RGB通道)。實驗中,模型學(xué)習使用的超參數(shù)設(shè)置如表1所示。
表1 網(wǎng)絡(luò)的超參數(shù)設(shè)置
2.1.3 評價指標
采用精確率(Precision)和召回率(Recall)來評價視頻指紋的性能,其定義為
(9)
(10)
式中:TP為真陽性,即正確檢索到的副本視頻的數(shù)量;FP為假陽性,即誤檢的視頻數(shù)量;FN為假陰性,即漏檢的視頻數(shù)量。
進一步使用兼顧精確率和召回率的F1分數(shù)來表現(xiàn)模型性能,其定義為
(11)
由于視頻指紋提取網(wǎng)絡(luò)的輸入關(guān)鍵幀數(shù)、三元組損失函數(shù)的margin和視頻指紋長度等參數(shù)會影響視頻指紋性能,因此本文在CC_Web_Video數(shù)據(jù)集進行簡單控制變量的測試,來確定最優(yōu)或最平衡的參數(shù)選擇。首先是模型輸入選用的關(guān)鍵幀數(shù)量,分別從每個視頻片段提取8~24個關(guān)鍵幀作為模型輸入,間隔為4。實驗結(jié)果如圖5(a)所示,可以看到輸入關(guān)鍵幀數(shù)為8時,F(xiàn)1分數(shù)處于最低的0.9111,隨著關(guān)鍵幀數(shù)的增多,F(xiàn)1分數(shù)也在提升。在幀數(shù)達到16時,F(xiàn)1分數(shù)達到0.9622,但增速放緩,在幀數(shù)達到20幀時,F(xiàn)1分數(shù)達到最高的0.9644,說明20個關(guān)鍵幀已經(jīng)可以滿足網(wǎng)絡(luò)模型對一個短視頻的訓(xùn)練和指紋提取的要求。而使用24個關(guān)鍵幀作為輸入時,F(xiàn)1分數(shù)為0.9642低于使用20個關(guān)鍵幀的F1分數(shù),其原因是部分視頻提取的關(guān)鍵幀會出現(xiàn)重疊,產(chǎn)生冗余,導(dǎo)致F1分數(shù)的降低。
其次,三元組損失函數(shù)中margin參數(shù)對性能有著很大的影響,并且與視頻指紋長度有緊密的關(guān)系。這里將視頻指紋的長度設(shè)定為常用的64 bits,然后分別將margin設(shè)為12~32進行訓(xùn)練,margin的選用間隔為4。訓(xùn)練出的模型實驗結(jié)果如圖5(b)所示。根據(jù)圖5(b)中結(jié)果可以看出,F(xiàn)1分數(shù)隨著margin取值的增長,有了先增后減的變化,并在margin設(shè)為20時達到最優(yōu)的0.9622,與最低的0.9342相比,領(lǐng)先了0.028。因此,margin的最優(yōu)取值為哈希碼長度的1/4~2/5,原因是在該情況下最小化損失函數(shù)可以使原始視頻與正負樣本的距離較為合適,減少了對測試樣本視頻的誤判和漏判,提高了識別的準確性。
最后測試了不同長度的短視頻指紋對性能的影響。實驗中分別將模型提取的視頻指紋長度設(shè)為16~80 bits,間隔為8 bits,輸入幀數(shù)為16,margin取值統(tǒng)一設(shè)為短視頻指紋長度的1/4,實驗結(jié)果如圖5(c)所示。從圖5(c)中可以看出,模型的F1分數(shù)由最低的0.9112隨指紋的比特數(shù)的增長提高到0.9652。并且由于48 bits和56 bits視頻指紋長度對應(yīng)的F1分數(shù)的增長幅度為0.0076,而56 bits和64 bits、64 bits和72 bits的F1分數(shù)增長幅度分別為0.0034和0.0019,可以發(fā)現(xiàn)在56 bits后F1分數(shù)增長變緩。原因是短視頻指紋在低比特數(shù)的情況下,損失的信息較多,因此隨著比特數(shù)的提高,會有較大的性能提升,而當比特數(shù)提高到一定程度后,包含的信息已經(jīng)足夠多,故使性能達到了瓶頸,從而增速減小??紤]到視頻指紋的性能和計算開銷之間的平衡關(guān)系,因此后續(xù)實驗統(tǒng)一將模型的輸入幀數(shù)設(shè)為16,視頻指紋的長度設(shè)為64 bits,margin的取值設(shè)為20。
圖5 不同參數(shù)的F1分數(shù)對比
為了證明所用 R(2+1)D網(wǎng)絡(luò)的有效性,將所提出的方法的主干網(wǎng)絡(luò)用其他主流的3DCNN進行替換,分別使用了C3D[14]和R3D[15],并將其組成深度相同的三元組網(wǎng)絡(luò)結(jié)構(gòu)進行消融實驗。 C3D網(wǎng)絡(luò)由3D卷積層、池化層和全連接層構(gòu)成,而R3D網(wǎng)絡(luò)由基于3D殘差塊的卷積層、池化層和全連接層構(gòu)成。為了減少網(wǎng)絡(luò)設(shè)置帶來的影響,3個網(wǎng)絡(luò)的激活函數(shù)均使用ReLU,損失函數(shù)使用三元組損失,并在超參數(shù)保持一致的情況下進行訓(xùn)練。通過調(diào)整測試時指紋的漢明距離閾值H,繪制了P-R曲線來更形象地展示主干網(wǎng)絡(luò)對性能的影響。在CC_Web_Video數(shù)據(jù)集和VCDB數(shù)據(jù)集進行實驗的結(jié)果分別如圖6(a)和圖6(b)所示,具體的精確率和準確率在表2中給出??梢钥闯?,在CC_Web_Video數(shù)據(jù)集中R(2+1)D作為主干網(wǎng)絡(luò)的性能,相比于C3D和R3D作為主干網(wǎng)絡(luò)的模型性能,均得以提高。例如,在H=6時,R(2+1)D網(wǎng)絡(luò)的精確率為0.971分別高于C3D和R3D網(wǎng)絡(luò)0.05和0.012,召回率分別高出0.14和0.04;當H=20時,3個網(wǎng)絡(luò)的召回率達到1.0,R(2+1)D網(wǎng)絡(luò)的精確率為三者最高的0.189。同樣在VCDB數(shù)據(jù)集中,R(2+1)D網(wǎng)絡(luò)的P-R曲線的下降趨勢明顯弱于其他兩個網(wǎng)絡(luò),其精確率和召回率都有更好的表現(xiàn)。例如,在H=12時,R(2+1)D網(wǎng)絡(luò)的精確率和召回率分別比C3D網(wǎng)絡(luò)高0.148和0.05,而與R3D網(wǎng)絡(luò)相比較,雖然召回率都為0.6,但R(2+1)D網(wǎng)絡(luò)的精確率比R3D網(wǎng)絡(luò)高出了0.055。在兩個數(shù)據(jù)集上的實驗結(jié)果均證明了R(2+1)D網(wǎng)絡(luò)在提取短視頻指紋時的性能優(yōu)勢。說明3D時空卷積的分解會產(chǎn)生更多的非線性運算,帶來了豐富的時空上下文信息,有助于提高指紋的魯棒性和獨特性。
表2 C3D、R3D和R(2+1)D網(wǎng)絡(luò)的精確率和召回率對比
圖6 在CC_Web_Video數(shù)據(jù)集和VCDB 數(shù)據(jù)集的不同網(wǎng)絡(luò)的P-R曲線表現(xiàn)
為了直觀展示本文方法的效果,圖7為在CC_Web_Video和VCDB數(shù)據(jù)集應(yīng)用提出的短視頻指紋提取方法生成的結(jié)果。圖7中為8對樣本視頻以及對應(yīng)的64 bits的視頻指紋,其中圖7(a)~圖7(d)為CC_Web_Video數(shù)據(jù)集中的示例,圖7(e)~圖7(h)為VCDB數(shù)據(jù)集中的示例,副本短視頻指紋中與原視頻指紋數(shù)值不符的位置進行了標紅。圖7(a)的副本視頻指紋與原視頻指紋的二值碼錯誤位數(shù)為3,也就是漢明距離為3。圖7(g)的副本視頻指紋與原視頻指紋的漢明距離為8個示例中最大,達到了7。從8個示例整體來看,在一對視頻樣本中,副本視頻指紋存在少量二值碼錯誤,與原始視頻指紋的漢明距離小。而8組不同視頻的指紋漢明距離均較大,例如,圖7(a)和圖7(b)的漢明距離為35。由此得出,在短視頻主觀視覺內(nèi)容極為相似時,視頻指紋能夠有效反映出視頻數(shù)據(jù)差異,且不相關(guān)視頻之間的指紋數(shù)據(jù)差異較大,有良好的獨立性。
圖7 在CC_Web_Video數(shù)據(jù)集和VCDB數(shù)據(jù)集的8對視頻和視頻指紋
為了驗證所提方法的有效性,與現(xiàn)有短視頻指紋提取主流方法進行了性能比較,結(jié)果如表3所示,對比方法包括使用不同的預(yù)訓(xùn)練網(wǎng)絡(luò)AlexNet[23]、VGG-16[24]、DenseNet-264[25]和ResNet-50[26],以及VGGNet+Sparse coding[6]和CNN+LSTM[16]。采用了3種超參數(shù)Mi取值,分別取(2+1)D卷積的參數(shù)量約為標準的1/2、1和2倍(P3D/2P(2+1)D、P3D/P(2+1)D和2P3D/P(2+1)D)為Ours(1/2Mi)、Ours(Mi)和Ours(2Mi)。實驗在兩個數(shù)據(jù)集上比較了F1分數(shù)和指紋提取速度。從表3中看出,Ours(2Mi)方法取得了最高的F1分數(shù),在CC_Web_Video數(shù)據(jù)集上為0.9683,高于最好的CNN+LSTM方法0.0247,在VCDB數(shù)據(jù)集上為0.7369,比CNN+LSTM方法領(lǐng)先了0.0164。接下來討論速度,Ours(2Mi)方法的速度是98.3 f/s,相比CNN+LSTM方法快了16.4 f/s,同時達到了實時性要求,所提出方法中Ours(1/2Mi)速度最快,為245.7 f/s,雖然低于最快的DenseNet-264模型27.9 f/s,但是在兩個數(shù)據(jù)集中Ours(1/2Mi)的F1分數(shù)與DenseNet-264相比,分別高出了0.0274和0.0499。速度方面的原因可以通過計算卷積神經(jīng)網(wǎng)絡(luò)時間復(fù)雜度來說明,計算公式為
表3 不同算法的F1分數(shù)比較
(12)
式中:D為卷積層的深度;M為輸出特征圖的邊緣長度;K為卷積核體積;C為輸出通道數(shù)。
表3也給出了各個網(wǎng)絡(luò)的時間復(fù)雜度,其中VGGNet+Sparse coding和CNN+LSTM由于不是由單一的卷積網(wǎng)絡(luò)構(gòu)成,無法給出時間復(fù)雜度。從結(jié)果看到,DenseNet-264的時間復(fù)雜度約為1.16×1010,而Ours(1/2Mi)方法網(wǎng)絡(luò)時間復(fù)雜度約為1.34×1010,高出DenseNet-264約1.8×109,因此所提出的方法的速度略低。盡管速度不是最快的,但本文方法在滿足實時性的前提下,在兩個公開的真實視頻復(fù)制數(shù)據(jù)集上均取得了最優(yōu)的F1分數(shù),并且可以通過修改Mi來控制卷積的參數(shù)量,獲得更低的計算復(fù)雜度或更高的準確率,而標準的Mi是性能較為平衡的取值。綜合考慮F1分數(shù)和處理速度,證明了本文所提出的方法的有效性和先進性。
提出了一種基于R(2+1)D三元孿生網(wǎng)絡(luò)的視頻指紋提取方法。首先,利用R(2+1)D卷積神經(jīng)網(wǎng)絡(luò)作為主干網(wǎng)絡(luò)充分獲取視頻的時間上下文信息;然后結(jié)合使用了三元組損失和分類損失,通過分類損失彌補三元組損失的訓(xùn)練優(yōu)化問題,該方法可以度量視頻的特征距離,學(xué)習不同視頻的關(guān)聯(lián)關(guān)系,從而提高了模型的性能;最終構(gòu)建了端到端的深度卷積神經(jīng)網(wǎng)絡(luò)來提取視頻特征并獲取視頻指紋,進行全局優(yōu)化,獲取良好性能的短視頻指紋。在現(xiàn)有的真實數(shù)據(jù)集上進行測試,該方法提取的視頻指紋具有更好的表現(xiàn),在CC_Web_Video和VCDB數(shù)據(jù)集上的F1分數(shù)分別達到了0.9683和0.7369,表明該網(wǎng)絡(luò)能夠提取更有效的視頻特征,更有利于視頻指紋的距離度量。未來將考慮融合多模態(tài)特征,利用音頻等信息,進一步提高視頻指紋的性能,以更有效地辨別一些時間或空間變化復(fù)雜的樣本。