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