于夢(mèng)竹, 唐振軍
(廣西多源信息挖掘與安全重點(diǎn)實(shí)驗(yàn)室(廣西師范大學(xué)), 廣西 桂林 541004)
視覺信息是人類獲取外界信息的一個(gè)最重要途徑,其中視頻是主要的視覺信息來源之一?;ヂ?lián)網(wǎng)時(shí)代,人們?cè)絹碓较矚g用視頻記錄生活,并利用社交平臺(tái)發(fā)布和分享視頻。在抖音、快手、YouTube、愛奇藝、騰訊視頻、優(yōu)酷等視頻服務(wù)平臺(tái),每天都有大量用戶上傳數(shù)以萬計(jì)的視頻數(shù)據(jù),這給海量視頻數(shù)據(jù)的存儲(chǔ)和管理帶來巨大挑戰(zhàn),迫切需要研究快速視頻處理技術(shù),如視頻索引和視頻檢索等。另一方面,VideoStudio和iMovie等功能強(qiáng)大且界面友好的視頻編輯軟件出現(xiàn),使得視頻的編輯操作變得日益簡(jiǎn)便,但也為視頻內(nèi)容的篡改和偽造等侵權(quán)行為提供了方便。因此,視頻的版權(quán)保護(hù)和完整性認(rèn)證成為另一個(gè)挑戰(zhàn)性問題。例如,視頻服務(wù)網(wǎng)站迫切需要高效的視頻拷貝檢測(cè)技術(shù),以確保用戶上傳的視頻不侵犯版權(quán)。
視頻哈希是從視頻中提取到的基于視覺內(nèi)容的短小數(shù)字序列。在實(shí)際應(yīng)用中,用視頻哈希來表示視頻,能降低視頻的存儲(chǔ)代價(jià)和視頻相似計(jì)算的復(fù)雜度。目前,視頻哈希已被廣泛應(yīng)用于拷貝檢測(cè)、篡改取證、視頻索引、視頻檢索等方面。通常,視頻哈希僅與視頻視覺內(nèi)容有關(guān),與視頻的具體存儲(chǔ)比特?zé)o關(guān),這是視頻哈希算法與傳統(tǒng)密碼學(xué)哈希算法的一個(gè)重要區(qū)別。對(duì)于MD5和SHA-1等密碼學(xué)哈希算法,它們也可以將任意輸入數(shù)據(jù)映射成一個(gè)短小數(shù)字序列,但它們對(duì)輸入數(shù)據(jù)變化敏感,即使是1 bit不同都會(huì)完全改變輸出的哈希值,因此不適用于視頻數(shù)據(jù)的識(shí)別和內(nèi)容認(rèn)證。在實(shí)際應(yīng)用中,由于視頻會(huì)經(jīng)歷格式轉(zhuǎn)換和壓縮等內(nèi)容保留處理,這些處理只改變視頻的具體存儲(chǔ)比特,但不改變其視覺內(nèi)容,因此視頻哈希算法需要滿足的第1個(gè)性能是魯棒性,即視頻哈希算法必須對(duì)壓縮、噪聲干擾、亮度調(diào)整、格式轉(zhuǎn)換等內(nèi)容保留操作具有穩(wěn)健性。換言之,對(duì)于內(nèi)容相似的視頻,即使它們的具體存儲(chǔ)比特不同,視頻哈希算法應(yīng)輸出完全相同或十分相似的哈希值。視頻哈希算法的第2個(gè)基本性能是唯一性,即對(duì)于不同內(nèi)容的視頻,視頻哈希算法輸出相同或相似哈希值的概率很低。通常,魯棒性和唯一性存在相互制約關(guān)系,一方面性能的提高往往會(huì)導(dǎo)致另一方面性能的下降。發(fā)展兼顧兩者性能的高效視頻哈希算法是當(dāng)前研究的一個(gè)重要任務(wù)。此外,面向一些具體應(yīng)用場(chǎng)景的視頻哈希算法還有額外的性能要求。例如,用于內(nèi)容取證時(shí),視頻哈希算法應(yīng)具有安全性,即哈希值必須用密鑰加密,以提高哈希系統(tǒng)的安全性能。常見的安全性策略有2種:一種策略是在特征提取階段,用隨機(jī)分塊等技術(shù)來選擇圖像幀內(nèi)容,通過隨機(jī)提取特征來確保哈希值的安全性,由于隨機(jī)選取特征會(huì)出現(xiàn)圖像幀重要內(nèi)容被忽略的情況,因此算法唯一性往往會(huì)略為下降;另一種策略是在哈希生成階段,用密碼學(xué)技術(shù)對(duì)特征進(jìn)行置亂或異或等加密處理,通常,該策略不會(huì)影響唯一性,但安全性略低于第一種策略。
視頻哈希算法和圖像哈希算法同屬于視覺哈希算法研究范疇,兩者的起源[1]可追溯到20世紀(jì)90年代中后期,但視頻哈希算法[2]的研究進(jìn)展略慢于圖像哈希算法[3-4]。當(dāng)前,視頻哈希算法被廣泛應(yīng)用于視頻識(shí)別、拷貝檢測(cè)、防偽取證等方面[5-6],吸引了多媒體和機(jī)器學(xué)習(xí)等領(lǐng)域的大量研究人員。通常,視頻哈希算法包含特征提取和特征壓縮編碼2個(gè)主要步驟。在過去10多年,針對(duì)視頻數(shù)據(jù)特點(diǎn),研究人員設(shè)計(jì)和開發(fā)了許多手工特征提取技術(shù),并建立一系列有效的視頻哈希算法。近年,受到深度學(xué)習(xí)的啟發(fā),一些研究人員開始探索利用深度神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)視頻特征的自動(dòng)提取,以建立新的視頻哈希技術(shù)。圖1是代表性視頻哈希算法的時(shí)間線,本文主要介紹和分析其中基于手工特征的視頻哈希算法研究成果。從技術(shù)角度而言,手工特征既可單獨(dú)從空域提取,也可以單獨(dú)從時(shí)域提取,還可以聯(lián)合時(shí)空域提取。當(dāng)前,基于手工特征的視頻哈希算法研究主要集中在空域特征提取和時(shí)空域特征提取,單獨(dú)用時(shí)域特征構(gòu)造哈希算法的研究相對(duì)較少。因此,本文將基于手工特征的視頻哈希算法分為基于空域計(jì)算的哈希算法和基于時(shí)空域計(jì)算的哈希算法2個(gè)大類,其中基于空域計(jì)算的哈希算法又可分為逐幀計(jì)算和關(guān)鍵幀計(jì)算2類,基于時(shí)空域計(jì)算的哈希算法可劃分為正交變換、統(tǒng)計(jì)特征、視覺特征點(diǎn)、數(shù)據(jù)降維和其他技術(shù)等5類。
圖1 代表性視頻哈希算法的時(shí)間線Fig.1 Timeline of some representative video hashing algorithms
本文后續(xù)內(nèi)容安排如下:第1章介紹和分析基于空域計(jì)算的視頻哈希算法研究進(jìn)展并總結(jié)其性能;第2章介紹和分析基于時(shí)空域計(jì)算的視頻哈希算法研究進(jìn)展并總結(jié)其性能;第3章介紹常見的視頻哈希度量方法;第4章介紹視頻哈希性能評(píng)價(jià)指標(biāo);第5章總結(jié)視頻哈希研究的常用數(shù)據(jù)集;第6章展望未來研究工作。
基于空域計(jì)算的視頻哈希算法主要利用視頻的每一幀或關(guān)鍵幀的像素特征來構(gòu)造哈希。通常,該類算法將視頻看作一組圖像幀,使用圖像哈希技術(shù)從圖像幀中提取哈希值。該類算法能有效提取視頻的幀內(nèi)信息,但忽略了幀間信息,因此唯一性往往受到限制。根據(jù)圖像幀的處理方式不同,該類算法可分為基于逐幀計(jì)算的哈希算法和基于關(guān)鍵幀計(jì)算的哈希算法2類。下面將對(duì)這2類算法進(jìn)行介紹。
該類算法將視頻的每一幀看作一幅圖像,然后將圖像哈希技術(shù)直接應(yīng)用于每一幀,最后聯(lián)合每幀的特征生成哈希值。該類算法較好地保留了所有圖像幀的像素信息,但逐幀計(jì)算帶來較高的時(shí)間復(fù)雜度,并且哈希序列往往較長。下面介紹該類算法的一些代表性成果。
在早期的研究中,Mucedero等[7]提出利用亮度方差及坐標(biāo)來設(shè)計(jì)視頻哈希算法。該算法先對(duì)視頻進(jìn)行預(yù)處理,提取每一幀的亮度分量并通過重采樣和低通濾波得到標(biāo)準(zhǔn)幀,然后逐幀計(jì)算基于分塊的像素方差矩陣,并找到每塊的最小值,最后通過記錄最小值及其位置來構(gòu)造哈希序列。該算法可有效識(shí)別經(jīng)過MPEG-2或MPEG-4壓縮的視頻。Lee等[8]提出一種基于梯度方向質(zhì)心(centroid of gradient orientations,CGO)的視頻哈希算法??紤]到CGO特征能夠抵抗亮度、顏色和對(duì)比度的變化,該算法對(duì)預(yù)處理后的標(biāo)準(zhǔn)幀進(jìn)行非重疊分塊,然后計(jì)算每塊的CGO特征,用于生成每幀的特征向量,最后串聯(lián)所有幀的特征向量來構(gòu)成哈希序列。該算法對(duì)壓縮和幀率變化等操作具有魯棒性,但對(duì)剪切和旋轉(zhuǎn)操作存在局限性。
Yang等[9]提出一種基于SURF(speeded up robust feature)和Hilbert曲線的視頻哈希算法,并應(yīng)用于視頻拷貝檢測(cè)。該算法先逐幀應(yīng)用SURF提取局部特征點(diǎn),提取過程如下:設(shè)p(x,y)是視頻幀的一個(gè)點(diǎn),那么它在尺度σ下的Hessian矩陣定義為
(1)
式中Lxx(p,σ)、Lxy(p,σ)和Lyy(p,σ)是視頻幀與相應(yīng)高斯二階導(dǎo)數(shù)在p處的卷積。設(shè)卷積的近似值表示為Dxx、Dxy和Dyy,得到H矩陣的判別式為
(2)
通過Det(H)計(jì)算出Hessian矩陣的行列式最大值,并與所有相鄰點(diǎn)進(jìn)行比較,用來遴選穩(wěn)定SURF特征點(diǎn)。然后,將每一幀劃分成大小相同的非重疊塊并統(tǒng)計(jì)出每塊的穩(wěn)定SURF特征點(diǎn)個(gè)數(shù)。接著,按照Hilbert曲線的順序遍歷每塊,并根據(jù)曲線上SURF特征點(diǎn)的數(shù)量來生成哈希序列。該算法可抵抗圖像幀的水平翻轉(zhuǎn)等多種攻擊,但唯一性有待提高。
Peng等[10]設(shè)計(jì)了一種多模型哈希算法。在預(yù)處理階段,先以固定采樣率對(duì)每幀進(jìn)行重采樣,再轉(zhuǎn)換成灰度幀并調(diào)整為固定大小,然后逐幀提取視頻序列的全局特征和局部特征,其中全局特征利用金字塔梯度方向直方圖(pyramid histogram of oriented gradients,PHOG)提取,局部特征通過SIFT(scale invariant features transform)特征點(diǎn)構(gòu)造,最后利用哈希函數(shù)將全局特征和局部特征映射到二進(jìn)制哈希序列。該算法具有較好的魯棒性,可有效應(yīng)用于視頻拷貝檢測(cè)。
Himeur等[11]提出一種聯(lián)合紋理描述符和顏色描述符的視頻哈希算法。首先,去除所有幀的邊框,只保留視頻的重要內(nèi)容,然后利用二值化圖像統(tǒng)計(jì)特征(binarized statistical image features,BSIF),將每幀轉(zhuǎn)換到BSIF域。受到Tang等[12]啟發(fā),為了抵抗旋轉(zhuǎn)和翻轉(zhuǎn)攻擊,將BSIF圖像分割成不同的圓環(huán),利用圓環(huán)構(gòu)造BSIF直方圖,接著將不同環(huán)的BSIF直方圖進(jìn)行拼接,得到表示幀內(nèi)容的特征向量,之后串聯(lián)每幀的特征向量得到紋理描述符。對(duì)于顏色描述符,將BSIF圖像進(jìn)行非重疊分塊,計(jì)算每塊的色度直方圖。最后,聯(lián)合紋理描述符和顏色描述符構(gòu)成哈希序列。在另一項(xiàng)工作中,Himeur等[13]設(shè)計(jì)了一種新的哈希算法,該算法采用相同的基于環(huán)分解的BSIF技術(shù)并聯(lián)合不變顏色特征(invariant color descriptor,ICD),進(jìn)一步提高了對(duì)旋轉(zhuǎn)和翻轉(zhuǎn)等幾何攻擊的魯棒性,但唯一性并沒有提升。
Sun等[14]提出一種基于Contourlet域的隱馬爾可夫樹(hidden Markov tree,HMT)模型和奇異值分解(singular value decomposition,SVD)的視頻哈希算法。在預(yù)處理階段,該算法通過平滑和重采樣將輸入視頻轉(zhuǎn)換為標(biāo)準(zhǔn)視頻,接著逐幀應(yīng)用Contourlet HMT模型,捕捉所有Contourlet系數(shù)在尺度、方向和位置上的相關(guān)性,實(shí)現(xiàn)對(duì)壓縮、加性噪聲、濾波等常見操作的魯棒性,最后運(yùn)用SVD對(duì)系數(shù)矩陣進(jìn)行壓縮,生成緊湊的哈希序列。該算法的魯棒性能優(yōu)于基于CGO的視頻哈希算法[8]。
Chen等[15]提出基于低秩稀疏分解(low-rank and spare decomposition,LRSD)和離散小波變換(discrete wavelet transformation,DWT)的視頻哈希算法。該算法先對(duì)輸入視頻進(jìn)行預(yù)處理,使用時(shí)空域雙重下采樣操作確保輸出哈希的長度相同,再利用Logistic 映射置亂視頻序列來提高安全性,接著對(duì)每個(gè)視頻幀應(yīng)用LRSD。對(duì)于一個(gè)視頻幀X,LRSD可得到一個(gè)低秩分量L和一個(gè)稀疏分量K,公式為
(3)
式中‖·‖0表示L0范數(shù),λ是平衡系數(shù)。由于低秩分量包含視頻幀的基本內(nèi)容,因此該算法選擇視頻幀的低秩分量作為特征矩陣。最后,對(duì)每個(gè)特征矩陣應(yīng)用二維DWT,計(jì)算低頻子帶系數(shù)的平均值并將其量化,生成二值哈希序列。該算法可抵抗MPEG-4壓縮、高斯低通濾波和小角度的幀旋轉(zhuǎn)。
表1列出基于逐幀計(jì)算的代表性哈希算法的發(fā)表年份和主要技術(shù)。表2總結(jié)了這些代表性算法的魯棒性和安全性。由于該類哈希算法忽略了幀間信息,因此它們對(duì)幀間操作并不穩(wěn)健,很少討論幀平移和幀丟棄等性能。此外,該類算法普遍能夠抵抗壓縮和旋轉(zhuǎn)等操作,但很少考慮安全性。
表1 基于逐幀計(jì)算的代表性哈希算法
表2 基于逐幀計(jì)算的代表性哈希算法的魯棒性和安全性
該類算法將視頻分割成多個(gè)鏡頭,每個(gè)鏡頭由多個(gè)時(shí)間連續(xù)且內(nèi)容相似的視頻幀組成,然后從每個(gè)鏡頭提取代表性的幀作為關(guān)鍵幀,接著運(yùn)用圖像哈希技術(shù)提取每個(gè)鏡頭關(guān)鍵幀的哈希值,最后串聯(lián)每個(gè)關(guān)鍵幀的哈希值構(gòu)成整個(gè)視頻的哈希序列。與基于逐幀計(jì)算的哈希算法相比,該類算法在降低計(jì)算復(fù)雜度的同時(shí)能較好地兼顧魯棒性和唯一性。下面介紹該類算法的一些代表性成果。
一項(xiàng)早期的經(jīng)典工作是Roover等[16]提出的基于徑向投影(radial projections,RP)和離散余弦變換(discrete cosine transform,DCT)的視頻哈希算法。該算法先使用RP和DWT技術(shù)構(gòu)造圖像哈希算法,簡(jiǎn)稱為RASH,然后將RASH應(yīng)用于每個(gè)關(guān)鍵幀,從而得到視頻哈希。具體而言,RASH先計(jì)算圖像像素的徑向投影,再提取每個(gè)投影的方差,構(gòu)造出一個(gè)RP方差向量,然后對(duì)方差向量應(yīng)用DCT,對(duì)40個(gè)低頻DCT系數(shù)進(jìn)行量化得到圖像哈希序列。在關(guān)鍵幀選取方面,先利用鏡頭邊界檢測(cè)方法分割視頻,對(duì)于每組連續(xù)幀,選擇局部差異最小的幀作為關(guān)鍵幀,這種關(guān)鍵幀提取方法可以抵抗輕微的幾何變換。由于RP的計(jì)算成本較高且每個(gè)關(guān)鍵幀的哈希序列需要單獨(dú)計(jì)算,因此該算法的時(shí)間復(fù)雜度很高。
Nie等[17]提出基于局部線性嵌入(locally linear embedding,LLE)的視頻哈希算法。LLE是一種非線性降維方法,利用LLE進(jìn)行數(shù)據(jù)降維分構(gòu)造權(quán)重矩陣和計(jì)算低維嵌入向量2個(gè)步驟。權(quán)重矩陣W可通過xi的最鄰近點(diǎn)線性重構(gòu)實(shí)現(xiàn),重構(gòu)誤差可由函數(shù)ε計(jì)算得到,公式為
(4)
式中Wij是xi和xj的權(quán)重。得到權(quán)重矩陣后,將每個(gè)高維向量xi映射成一個(gè)低維向量yi,可通過最小化代價(jià)函數(shù)Ω來實(shí)現(xiàn),公式為
(5)
在關(guān)鍵幀選擇階段,該算法采用視頻層析成像方法對(duì)輸入視頻進(jìn)行鏡頭分割,利用均勻隨機(jī)向量選取每組鏡頭的關(guān)鍵幀。在特征提取階段,對(duì)每個(gè)關(guān)鍵幀進(jìn)行8×8大小的非重疊分塊,提取每個(gè)DCT塊的亮度直流系數(shù),串聯(lián)所有DCT直流系數(shù)得到表示關(guān)鍵幀的高維特征向量,將所有關(guān)鍵幀的特征向量進(jìn)行排列,得到一個(gè)高維特征矩陣。最后,將LLE應(yīng)用于特征矩陣,實(shí)現(xiàn)把高維空間的特征向量映射到三維空間,對(duì)三維的特征向量進(jìn)行量化得到二進(jìn)制哈希序列。在另一項(xiàng)工作中,Nie等[18]提出基于等距特征映射(isometric mapping,Isomap)的視頻哈希算法。該算法將輸入視頻進(jìn)行預(yù)處理,通過重采樣和縮放得到標(biāo)準(zhǔn)視頻。為了降低計(jì)算復(fù)雜度,采用視頻層析成像方法進(jìn)行視頻鏡頭分割,并在每組鏡頭中均勻選取20%的幀作為關(guān)鍵幀。最后,將關(guān)鍵幀的亮度分量看作高維數(shù)據(jù)并運(yùn)用Isomap將其映射成三維空間的點(diǎn),通過計(jì)算點(diǎn)與點(diǎn)的距離來生成哈希序列。該算法可以有效抵抗高斯白噪聲和幀率變化,但對(duì)幀旋轉(zhuǎn)的穩(wěn)健性有待提高。
Kim等[19]設(shè)計(jì)基于區(qū)域二值模式(region binary patterns,RBP)的視頻哈希算法。該算法先利用鏡頭邊緣檢測(cè)方法分割視頻,提取每個(gè)鏡頭的中心幀作為關(guān)鍵幀并將其調(diào)整為固定大?。蝗缓罄铆h(huán)分割將關(guān)鍵幀分成若干個(gè)環(huán),對(duì)于每個(gè)環(huán),再分割成6個(gè)子區(qū)域,通過比較相鄰子區(qū)域之間的平均亮度,分別從單個(gè)圓環(huán)和相鄰環(huán)之間提取2個(gè)互補(bǔ)的RBP特征;接著,把可以通過翻轉(zhuǎn)和旋轉(zhuǎn)重合的RBP分為一組并建立索引;最后串聯(lián)所有索引生成哈希序列。該算法對(duì)視頻旋轉(zhuǎn)和翻轉(zhuǎn)等攻擊具有良好的魯棒性,可應(yīng)用于視頻拷貝檢測(cè)。Neelima等[20]提出基于SIFT和SVD的視頻哈希算法。在預(yù)處理階段,該算法利用雙線性插值將每幀調(diào)整為標(biāo)準(zhǔn)大小,同時(shí)檢測(cè)圖像幀是否經(jīng)歷旋轉(zhuǎn)攻擊,對(duì)于經(jīng)歷旋轉(zhuǎn)攻擊的幀,運(yùn)用幾何變換和裁剪對(duì)其進(jìn)行復(fù)原,之后再進(jìn)行高斯低通濾波。接著,對(duì)預(yù)處理后的視頻進(jìn)行鏡頭分割,選取每個(gè)鏡頭的中間幀作為關(guān)鍵幀。由于SIFT特征點(diǎn)對(duì)縮放、旋轉(zhuǎn)和平移具有不變性,因此提取關(guān)鍵幀的SIFT特征點(diǎn)并將它們聚合到32個(gè)類。然后,根據(jù)聚類中心選取圖像塊并對(duì)每個(gè)塊應(yīng)用SVD,選取最大奇異值作為塊特征,串聯(lián)所有圖像塊的最大奇異值即可得到關(guān)鍵幀的特征序列。最后,用均值量化方法對(duì)特征序列進(jìn)行處理,得到二進(jìn)制序列。該算法對(duì)旋轉(zhuǎn)和縮放等幾何攻擊具有魯棒性,但唯一性有待提高。表3列出基于關(guān)鍵幀計(jì)算的代表性哈希算法的發(fā)表年份和主要技術(shù)。表4總結(jié)了這些代表性算法的魯棒性和安全性。由表4可見,它們普遍對(duì)大角度旋轉(zhuǎn)和幀丟棄操作魯棒,但并未考慮安全性。
表3 基于關(guān)鍵幀計(jì)算的代表性哈希算法
表4 基于關(guān)鍵幀計(jì)算的代表性哈希算法的魯棒性和安全性
視頻是一個(gè)時(shí)間序列上的圖像集合,時(shí)空信息在視頻內(nèi)容描述中起重要作用?;跁r(shí)空域計(jì)算的視頻哈希算法不僅考慮視頻的空域信息,而且考慮時(shí)域特性。由于該類算法充分利用視頻的幀內(nèi)和幀間信息來構(gòu)造哈希,因此其分類性能普遍優(yōu)于基于空域計(jì)算的視頻哈希算法,已成為當(dāng)前視頻哈希算法研究的一個(gè)主流方向。根據(jù)特征提取技術(shù)不同,該類算法又可分為基于正交變換的哈希算法、基于統(tǒng)計(jì)特征的哈希算法、基于視覺特征點(diǎn)的哈希算法、基于數(shù)據(jù)降維的哈希算法和其他技術(shù)5類。下面對(duì)這5類算法進(jìn)行介紹。
該類算法利用正交變換提取視頻在時(shí)域和頻域的系數(shù),通過分析不同系數(shù)的頻率分布和統(tǒng)計(jì)特征構(gòu)造哈希。常見的正交變換包括三維DCT、極性余弦變換(polar cosine transform, PCT)和離散正弦變換(discrete sine transform,DST)等。下面介紹該類算法的一些代表性成果。
一項(xiàng)早期的經(jīng)典工作是Coskun等[21]提出的基于三維 DCT的視頻哈希算法。該算法先將視頻轉(zhuǎn)換為規(guī)格化視頻,然后在亮度分量上應(yīng)用三維DCT提取低頻系數(shù)。由于低頻系數(shù)主要反映視頻的近似信息,因此其對(duì)濾波和壓縮等攻擊具有魯棒性。最后,對(duì)低頻系數(shù)排序并通過中位數(shù)進(jìn)行量化,生成二進(jìn)制哈希序列。此外,為了增加安全性,他們還給出另外一種哈希算法,通過將三維DCT替換為三維隨機(jī)基數(shù)變換(random bases transform,RBT)來實(shí)現(xiàn)安全哈希提取。對(duì)于一個(gè)維度為L1×L2×L3的視頻,它的三維RBT基函數(shù)公式為
(6)
式中:l1=1,…,L1,l2=1,…,L2,l3=1,…,L3;β是歸一化項(xiàng);θ是偽隨機(jī)產(chǎn)生的頻率。上述2種哈希算法均可抵抗時(shí)域變化,例如幀率改變和丟幀,同時(shí)也可抵抗MPEG-4壓縮和對(duì)比度變化等空域操作,但是對(duì)小角度旋轉(zhuǎn)敏感。在另一項(xiàng)工作中,Li[22]利用三維 DCT系數(shù)之間的能量關(guān)系來設(shè)計(jì)哈希算法。首先將視頻幀序列進(jìn)行分組,然后利用密鑰從每個(gè)分組隨機(jī)選擇不同位置和寬度的正方形來構(gòu)造若干個(gè)立方體,接著對(duì)這些立方體應(yīng)用三維 DCT,最后利用立方體的中低頻系數(shù)的能量大小關(guān)系構(gòu)造二進(jìn)制哈希序列。該算法對(duì)旋轉(zhuǎn)、壓縮和丟幀操作具有良好的魯棒性,但對(duì)幾何攻擊不夠穩(wěn)定。
(7)
式中ω表示指數(shù)加權(quán)函數(shù)。顯然,利用TIRI方法提取的代表幀包含時(shí)域信息和空域信息。在特征提取階段,對(duì)每個(gè)代表幀進(jìn)行重疊分塊,每塊應(yīng)用二維 DCT,然后選擇與直流系數(shù)相鄰的第一個(gè)水平系數(shù)和第一個(gè)垂直系數(shù)作為特征。在哈希生成階段,串聯(lián)所有DCT系數(shù)構(gòu)成特征向量并用中值對(duì)其量化,生成二進(jìn)制哈希序列。TIRI-DCT哈希算法對(duì)噪聲和丟幀等操作具有魯棒性,與三維DCT哈希算法[21]進(jìn)行比較,實(shí)現(xiàn)了更好的分類性能。在另一項(xiàng)工作中,Setyawan等[24]利用邊緣方向直方圖(edge orientation histogram,EOH)和DCT設(shè)計(jì)視頻哈希算法。首先計(jì)算輸入視頻每一幀的EOH,然后對(duì)EOH的每個(gè)bin沿時(shí)間方向應(yīng)用一維DCT提取時(shí)間信息,最后利用DCT系數(shù)構(gòu)造哈希。該算法對(duì)亮度調(diào)整、MPEG壓縮和丟幀等內(nèi)容保留操作具有魯棒性,并且對(duì)內(nèi)容改變操作具有敏感性。
Tang等[25]提出基于時(shí)空極性余弦變換(spatial-temporal PCT,ST-PCT)的視頻哈希算法。受到Coskun等[21]的三維DCT啟發(fā),他們將應(yīng)用于圖像的二維PCT擴(kuò)展到視頻數(shù)據(jù),設(shè)計(jì)了ST-PCT哈希算法,進(jìn)一步提高對(duì)幾何變換的魯棒性。對(duì)于一個(gè)維度為N1×N2×N3的視頻M(ui,vj,wk),ST-PCT的定義為
(8)
式中[·]*表示共軛復(fù)數(shù),Ψ(ui,vj)和L(wk,μ)分別是空域和時(shí)域的核函數(shù)。在預(yù)處理階段,ST-PCT哈希算法將輸入視頻縮放到固定大小并提取亮度分量。在特征提取階段, 利用ST-PCT從亮度分量提取幾何時(shí)空特征,計(jì)算過程如下:在時(shí)域上對(duì)視頻進(jìn)行一維 DCT,得到低頻系數(shù)組成的三維特征矩陣,然后在空域上對(duì)特征矩陣進(jìn)行二維PCT,提取時(shí)空特征,最后將時(shí)空特征量化為一個(gè)二進(jìn)制哈希序列。該算法對(duì)大角度旋轉(zhuǎn)魯棒,可以應(yīng)用于視頻檢索。
Khelifi等[26]聯(lián)合DCT和DST設(shè)計(jì)了一種視頻哈希算法。設(shè)x(n)為一個(gè)信號(hào)(n=0,1,…,Z-1),那么信號(hào)x(n)的DCT定義為
(9)
x(n)的DST定義為
(10)
該算法首先提取輸入視頻的亮度分量并進(jìn)行重采樣;其次在水平、垂直和時(shí)間3個(gè)方向上分別應(yīng)用三維差分亮度塊均值(differential luminance block means,DLBM)得到3個(gè)三維數(shù)組,接著通過信號(hào)校準(zhǔn)技術(shù)獲得每個(gè)方向上的單個(gè)信號(hào);然后利用DCT和DST計(jì)算所有DLBM三維數(shù)組中每個(gè)信號(hào)的歸一化位移,生成3個(gè)二維歸一化位移數(shù)組;最后串聯(lián)歸一化移位數(shù)組形成哈希序列。該算法使用基于分段的度量方法進(jìn)行相似性測(cè)量,可以應(yīng)用于視頻認(rèn)證和視頻識(shí)別。
Tang等[27]運(yùn)用非負(fù)矩陣分解(non-negative matrix factorization,NMF)和DCT技術(shù)設(shè)計(jì)了一種新的視頻哈希算法。首先對(duì)輸入視頻進(jìn)行預(yù)處理,通過時(shí)空域雙重下采樣生成規(guī)格化視頻;然后將視頻幀進(jìn)行分組并利用隨機(jī)分塊策略提取幀數(shù)據(jù);接著對(duì)幀數(shù)據(jù)應(yīng)用二維DCT,選取DCT結(jié)果的第1行和第1列的系數(shù)來構(gòu)造幀分組的特征矩陣;最后采用NMF對(duì)特征矩陣進(jìn)行降維,從NMF系數(shù)矩陣中學(xué)習(xí)短小的特征碼,通過串聯(lián)所有分組的特征碼生成哈希序列。該算法可有效抵抗MPEG-2壓縮、隨機(jī)丟幀和小角度旋轉(zhuǎn)等操作。表5列出基于正交變換的代表性哈希算法的發(fā)表年份和主要技術(shù)。表6總結(jié)了這些代表性算法的魯棒性和安全性。由表6可見,這些算法大多對(duì)壓縮、模糊、亮度調(diào)整和幀丟棄等操作魯棒,并且具有較好的安全性。
表5 基于正交變換的代表性哈希算法
表6 基于正交變換的代表性哈希算法的魯棒性和安全性
該類算法通過計(jì)算時(shí)空域的統(tǒng)計(jì)信息來構(gòu)造哈希,常見的統(tǒng)計(jì)特征包括均值、方差、高階累積量、直方圖和矩等。這些統(tǒng)計(jì)特征對(duì)常見內(nèi)容保留操作攻擊具有穩(wěn)健性,因此基于統(tǒng)計(jì)特征的哈希算法通常對(duì)噪聲和壓縮等操作表現(xiàn)出良好的魯棒性。下面介紹該類算法的一些代表性成果。
在早期研究中,Oostveen等[2]提出基于均值計(jì)算的視頻哈希算法。該算法先對(duì)視頻的每一幀進(jìn)行非重疊分塊,提取亮度分量并計(jì)算每塊的平均亮度;其次將2×2的時(shí)空Haar濾波器應(yīng)用于分塊均值,計(jì)算塊間和連續(xù)幀間的差值,有效地保留了時(shí)空信息;最后對(duì)濾波結(jié)果進(jìn)行量化,得到二進(jìn)制哈希序列。由于分塊均值易受壓縮、幾何變換等操作的影響,因此該算法的魯棒性并不理想。針對(duì)文獻(xiàn)[2]的不足,Zhou等[28]在提取特征過程中引入一種新的相似性計(jì)算方法,利用幀的相似性來提取時(shí)空特征,從而提高算法的魯棒性。
聶秀山等[29]提出基于拉普拉斯特征映射(Laplacian eigenmaps,LE)的視頻哈希算法。LE是一種經(jīng)典的流行學(xué)習(xí)方法,能夠?qū)⒏呔S空間的數(shù)據(jù)投影到低維空間,并且確保在低維空間盡可能保留局部樣本點(diǎn)之間的結(jié)構(gòu)不變。設(shè)圖像I的樣本點(diǎn)在低維空間的映射數(shù)據(jù)集為Y,在計(jì)算樣本點(diǎn)的低維嵌入坐標(biāo)時(shí),LE算法通過目標(biāo)函數(shù)
(11)
朱映映等[31]設(shè)計(jì)一種融合結(jié)構(gòu)信息和時(shí)域信息的視頻哈希算法。該算法先將輸入視頻轉(zhuǎn)化為灰度視頻,并對(duì)視頻幀進(jìn)行隨機(jī)重疊分塊,然后通過計(jì)算幀內(nèi)塊的亮度均值差得到結(jié)構(gòu)特征,同時(shí)通過計(jì)算幀間塊的亮度均值差得到時(shí)域特征,接著將這些特征量化為比特序列,最后聯(lián)合結(jié)構(gòu)特征序列和時(shí)域特征序列構(gòu)成最終的哈希序列。在另一項(xiàng)工作中,文振焜等[32]同樣利用分塊亮度均值來構(gòu)造時(shí)域特征和空域特征。上述2種基于分塊亮度均值的哈希算法具有較好的魯棒性,但是由于交換塊內(nèi)像素不會(huì)改變塊均值,因此它們難以檢測(cè)局部小范圍的內(nèi)容篡改,安全性有待提高。
Tang等[33]提出基于二次幀和不變矩的視頻哈希算法,包括預(yù)處理、二次幀構(gòu)造和不變矩提取3個(gè)階段。在預(yù)處理階段,對(duì)輸入視頻進(jìn)行時(shí)空域雙重下采樣和顏色空間轉(zhuǎn)換。在二次幀構(gòu)造階段,對(duì)預(yù)處理后的視頻進(jìn)行分組,將三維DWT應(yīng)用于每組,利用LLL子帶的DWT系數(shù)構(gòu)造二次幀。由于LLL子帶的DWT系數(shù)受噪聲和壓縮等操作的影響較小,因此二次幀構(gòu)造不僅實(shí)現(xiàn)初步的數(shù)據(jù)壓縮,而且提高了哈希的魯棒性。在不變矩提取階段,提取二次幀的Hu矩作為視頻幀特征。Hu矩是一種經(jīng)典的圖像不變矩,對(duì)平移、旋轉(zhuǎn)和縮放等幾何變換具有不變性。通常,Hu矩由7個(gè)不變矩組成,定義如下:
v1=η20+η02;
(12)
(13)
v3=(η30-3η12)2+(3η21-η03)2;
(14)
v4=(η30+η12)2+(η21+η03)2;
(15)
v5=(η30-3η12)(η30+η12)[(η30+η12)2-3(η21+η03)2]+
(3η21-η03)(η21+η03)[3(η30+η12)2-(η21+η03)2];
(16)
v6=(η20-η02)[(η30+η12)2-(η21+η03)2]+4η11(η30+η12)(η21+η03);
(17)
v7=(3η21-η03)(η30+η12)[(η30+η12)2-3(η21+η03)2]-
(η30-3η12)(η21+η03)[3(η30+η12)2-(η21+η03)2]。
(18)
式中ηzq(z,q=0,1,2, …)是歸一化中心矩。最后,串聯(lián)所有二次幀的不變矩,并對(duì)它們進(jìn)行量化得到十進(jìn)制哈希序列。該哈希算法的分類性能優(yōu)于文獻(xiàn)[15]和文獻(xiàn)[24]的哈希算法。表7列出基于統(tǒng)計(jì)特征的代表性哈希算法的發(fā)表年份和主要技術(shù)。表8總結(jié)了這些代表性算法的魯棒性和安全性。由表8可見,這些算法普遍可以抵抗壓縮、縮放、幀平移和幀丟棄等操作,但很少考慮安全性。
表7 基于統(tǒng)計(jì)特征的代表性哈希算法
表8 基于統(tǒng)計(jì)特征的代表性哈希算法的魯棒性和安全性
該類算法主要通過提取視頻在空域和時(shí)域的視覺特征點(diǎn)來構(gòu)造視頻哈希。由于視覺特征點(diǎn)在視頻經(jīng)歷內(nèi)容保留操作之后仍然保持不變,因此用穩(wěn)健視覺特征點(diǎn)構(gòu)造的哈希算法具有較強(qiáng)的魯棒性。視頻哈希算法研究常用的視覺特征點(diǎn)提取技術(shù)包括Harris角點(diǎn)檢測(cè)器和SIFT 特征點(diǎn)等。
Zhao等[34]提出基于時(shí)空興趣點(diǎn)的視頻哈希算法。該算法先使用Harris角點(diǎn)檢測(cè)器提取每幀的特征點(diǎn),然后建立幀間的特征點(diǎn)軌跡,接著選擇其中的時(shí)空持久點(diǎn)(persistent points),把每個(gè)持久點(diǎn)周圍區(qū)域的差分作為視頻的局部特征,最后使用Hilbert曲線來降低特征維度生成哈希序列。由于該算法建立在時(shí)域軌跡基礎(chǔ)上,因此對(duì)插入幀或丟幀等時(shí)域操作具有穩(wěn)健性,并取得較好的視頻拷貝檢測(cè)性能。在另一項(xiàng)工作中,Li等[35]提出基于時(shí)空顯著點(diǎn)的視頻哈希算法。該算法先用預(yù)處理將輸入視頻轉(zhuǎn)換為規(guī)格化視頻,然后利用鏡頭邊界檢測(cè)方法分割視頻并生成3個(gè)代表幀,接著利用Harris角點(diǎn)檢測(cè)器提取空間候選點(diǎn)。設(shè)I(x,y)為視頻幀的一個(gè)像素點(diǎn),Harris算子的表達(dá)式為
(19)
其泰勒展開式為
E(x,y)≈[x,y]M[x,y]T。
(20)
式中M為近似形式的矩陣,
(21)
式中:G(Δx,Δy)為高斯濾波器;Ix和Iy分別為圖像x和y方向的梯度值。設(shè)ρ1和ρ2是矩陣M的2個(gè)特征值,特征點(diǎn)的響應(yīng)函數(shù)定義為
(22)
式中:det(M)=ρ1ρ2;trace(M)=ρ1+ρ2;ξ是經(jīng)驗(yàn)常數(shù)。利用Harris算子提取出空間候選點(diǎn)后,對(duì)它們進(jìn)行排序生成每個(gè)關(guān)鍵幀的候選點(diǎn),最后利用運(yùn)動(dòng)估計(jì)法在候選點(diǎn)中篩選出對(duì)時(shí)間變化穩(wěn)定的點(diǎn),并用它們構(gòu)成哈希序列。該算法利用時(shí)空興趣點(diǎn)實(shí)現(xiàn)對(duì)幾何攻擊的魯棒性,但計(jì)算復(fù)雜度較高。
Vretos等[36]提出基于SIFT和隱含狄利克雷分布(latent Dirichlet allocation,LDA)的視頻哈希算法。該算法針對(duì)視頻中出現(xiàn)的面部表情,提取潛在的視頻主題,用于構(gòu)造視頻哈希。具體而言,先通過人臉檢測(cè)器提取視頻中的面部圖像;然后利用SIFT特征點(diǎn)進(jìn)行人臉聚類,提取面部圖像的興趣點(diǎn)和相應(yīng)特征;接著在圖像對(duì)之間尋找匹配的SIFT點(diǎn)對(duì),并計(jì)算匹配特征向量的歐氏距離;其次利用距離和興趣點(diǎn)的總數(shù)判斷人臉是否屬于同一個(gè)人,形成視頻的潛在語義直方圖;最后將整個(gè)視頻數(shù)據(jù)庫的人臉直方圖作為LDA的輸入,生成哈希序列。該算法需要事先對(duì)視頻數(shù)據(jù)庫進(jìn)行訓(xùn)練,計(jì)算代價(jià)較大。
魏暉等[37]聯(lián)合SIFT特征點(diǎn)、邊緣檢測(cè)和方向直方圖構(gòu)造視頻哈希算法,包括3個(gè)取證組件:第1個(gè)組件是利用SIFT提取視頻幀的特征點(diǎn),用于估計(jì)幾何變換;第2個(gè)組件是對(duì)視頻逐幀應(yīng)用Prewitt算子,提取每幀運(yùn)動(dòng)對(duì)象的能量邊緣,用于檢測(cè)運(yùn)動(dòng)對(duì)象的增加和刪除;第3個(gè)組件利用邊緣方向直方圖計(jì)算圖像分塊的4個(gè)方向直方圖,用于篡改定位檢測(cè)。該算法以模塊化方式實(shí)現(xiàn)視頻取證,但僅適用于背景靜止的視頻,應(yīng)用范圍相對(duì)較窄。表9列出基于視覺特征點(diǎn)的代表性哈希算法的發(fā)表年份和主要技術(shù)。表10總結(jié)了這些代表性算法的魯棒性和安全性。由表10可見,這些算法大部分能夠抵抗壓縮、模糊、縮放、對(duì)比度調(diào)整和幀丟棄等操作,但是很少考慮安全性。
表9 基于視覺特征點(diǎn)的代表性哈希算法
表10 基于視覺特征點(diǎn)的代表性哈希算法的魯棒性和安全性
該類算法將視頻數(shù)據(jù)看作高維數(shù)據(jù),通過數(shù)據(jù)降維技術(shù)將高維數(shù)據(jù)映射到低維空間,利用低維特征數(shù)據(jù)來構(gòu)造哈希。視頻哈希算法研究常用的數(shù)據(jù)降維技術(shù)包括LLE、多維尺度分析(multidimensional scaling,MDS)、張量分解、獨(dú)立成分分析(independent component analysis,ICA)、NMF和SVD等。下面介紹該類算法的一些代表性成果。
Nie等[38]提出基于雙層嵌入的視頻哈希算法。該算法利用LLE和MDS將高維視頻數(shù)據(jù)映射到低維空間,有效地保留視頻的局部信息和全局信息。具體而言,首先,對(duì)輸入視頻進(jìn)行重采樣并映射成一個(gè)加權(quán)無向圖,再通過圖模型選取分散幀;其次,利用分散幀和k近鄰方法對(duì)視頻進(jìn)行聚類,在類內(nèi)應(yīng)用LLE實(shí)現(xiàn)降維生成局部特征,在類間應(yīng)用MDS實(shí)現(xiàn)第二級(jí)嵌入生成全局特征;最后,串聯(lián)局部特征和全局特征構(gòu)成哈希序列。該算法能夠抵抗幾何攻擊,但唯一性有待提高。在另一項(xiàng)工作中,Tang等[39]聯(lián)合使用MDS、DWT和序數(shù)測(cè)度(ordinal measures,OM)來設(shè)計(jì)一種新的視頻哈希算法。該算法先通過時(shí)空域雙重下采樣操作生成固定大小視頻,再將標(biāo)準(zhǔn)視頻的顏色空間轉(zhuǎn)換到HSI顏色空間,然后對(duì)視頻進(jìn)行分組,選取每組幀的平均值作為代表幀,接著對(duì)每個(gè)代表幀應(yīng)用二維DWT,并在DWT低頻子帶上計(jì)算梯度特征來構(gòu)造高維矩陣,最后利用MDS從高維矩陣中學(xué)習(xí)低維特征,運(yùn)用OM對(duì)特征值進(jìn)行量化生成哈希序列。該算法生成的哈希序列較短并且分類性能優(yōu)于文獻(xiàn)[15]和文獻(xiàn)[24]的哈希算法。
Li等[40]提出基于多線性子空間投影的視頻哈希算法。該算法先將輸入視頻進(jìn)行預(yù)處理得到規(guī)格化視頻,然后隨機(jī)選擇一系列重疊的子立方體,并確保這些立方體覆蓋整個(gè)視頻,其次對(duì)每個(gè)立方體應(yīng)用平行因子分析(parallel factor analysis,PFA)進(jìn)行張量分解得到3個(gè)特征矩陣,最后將特征矩陣串聯(lián)成特征向量并量化為哈希序列。該算法不僅對(duì)模糊、壓縮和小角度旋轉(zhuǎn)等空域操作具有魯棒性,而且對(duì)幀率變化和隨機(jī)丟幀等時(shí)域攻擊也表現(xiàn)出較好的穩(wěn)健性。在另一項(xiàng)工作中,Nie等[41]也運(yùn)用張量分解技術(shù)設(shè)計(jì)出一種基于多特征融合的視頻哈希算法。該算法利用張量模型挖掘視頻的綜合特征,探索特征內(nèi)部和特征之間的關(guān)系。具體而言,先將視頻構(gòu)造為高階張量并使用Tucker分解視頻張量。設(shè)X是一個(gè)三階視頻張量,Tucker分解的公式為
(23)
文振焜等[42]設(shè)計(jì)基于Gabor小波分解和ICA的視頻哈希算法。ICA可從混合數(shù)據(jù)中提取出原始的獨(dú)立信號(hào),能有效實(shí)現(xiàn)噪聲抑制。該算法通過宏塊預(yù)測(cè)和補(bǔ)償信息技術(shù)選取關(guān)鍵幀,對(duì)關(guān)鍵幀進(jìn)行預(yù)處理得到標(biāo)準(zhǔn)關(guān)鍵幀;然后將每個(gè)標(biāo)準(zhǔn)關(guān)鍵幀進(jìn)行非重疊分塊,每塊應(yīng)用二維Gabor小波分解,用分解得到的低頻系數(shù)構(gòu)成關(guān)鍵幀的特征矩陣;接著將ICA應(yīng)用于特征矩陣生成中間特征矩陣,對(duì)中間矩陣按行排序形成新的轉(zhuǎn)置矩陣;最后對(duì)轉(zhuǎn)置矩陣的列進(jìn)行中位值量化生成哈希序列。該算法對(duì)噪聲和亮度變化具有魯棒性,但對(duì)旋轉(zhuǎn)和拉普拉斯銳化等操作敏感。
受到Tang等[12]的環(huán)分割技術(shù)啟發(fā),Nie等[43]提出基于球形環(huán)(spherical torus,ST)和NMF的視頻哈希算法。該算法先對(duì)視頻進(jìn)行規(guī)格化,然后將視頻分割成一系列重疊的立方體,對(duì)于每個(gè)立方體,用球形環(huán)對(duì)立方體進(jìn)行分割,通過球形環(huán)來捕獲時(shí)空信息;接著用球形環(huán)像素來構(gòu)造一幅時(shí)空?qǐng)D像,并采用NMF對(duì)時(shí)空?qǐng)D像進(jìn)行降維,將NMF系數(shù)矩陣的列串聯(lián)起來形成立方體哈希;最后連接所有立方體哈希得到最終哈希序列。ST-NMF哈希算法對(duì)模糊和噪聲攻擊具有魯棒性,可用于近似重復(fù)視頻的檢測(cè),但唯一性并不理想。
最近,Chen等[44]提出基于低秩幀的視頻哈希算法。該算法由預(yù)處理、低秩幀計(jì)算和低秩幀壓縮等3個(gè)階段組成。在預(yù)處理階段,先將彩色視頻轉(zhuǎn)換到Y(jié)CbCr顏色空間,選取亮度分量表示視頻,同時(shí)通過時(shí)空域雙重采樣操作將視頻轉(zhuǎn)為固定大小視頻。在低秩幀計(jì)算階段,對(duì)視頻進(jìn)行分組,從每個(gè)分組中提取出一個(gè)低秩幀來表示該分組。具體而言,將每一個(gè)幀逐行連接形成一個(gè)向量,于是每個(gè)分組對(duì)應(yīng)一個(gè)高維矩陣,然后對(duì)高維矩陣應(yīng)用SVD。設(shè)Q為一個(gè)高維矩陣,Q的SVD計(jì)算公式為
Q=USVT,
(24)
式中:S是由奇異值組成的實(shí)對(duì)角矩陣;U和V分別是Q的左奇異向量和右奇異向量。接著用較大的奇異值對(duì)高維矩陣進(jìn)行低秩重建,最后根據(jù)重建結(jié)果來構(gòu)造出低秩幀。由于較大的奇異值對(duì)內(nèi)容保留操作具有穩(wěn)健性,因此使用低秩幀進(jìn)行哈希提取能提高魯棒性。在低秩幀壓縮階段,將二維DWT應(yīng)用于每個(gè)低秩幀,選取LL子帶的系數(shù)均值作為特征并進(jìn)行取整量化,最后串聯(lián)所有低秩幀的量化特征生成哈希序列。該算法對(duì)MPEG壓縮、隨機(jī)丟幀和隨機(jī)插入幀等操作有較好穩(wěn)健性,分類性能優(yōu)于ST-NMF哈希算法。表11列出基于數(shù)據(jù)降維的代表性哈希算法的發(fā)表年份和主要技術(shù)。表12總結(jié)了這些代表性算法的魯棒性和安全性。由表12可見,這些算法普遍具有良好的魯棒性,特別是能夠抵抗旋轉(zhuǎn),但安全性有待提高。
表11 基于數(shù)據(jù)降維的代表性哈希算法
表12 基于數(shù)據(jù)降維的代表性哈希算法的魯棒性和安全性
除了上述4種類型的技術(shù)之外,其他一些技術(shù)也被用于視頻哈希研究。例如,歐陽杰等[45]將Cortex變換引入視頻哈希研究,設(shè)計(jì)出可反映人眼視覺系統(tǒng)特性的哈希算法。該算法先對(duì)視頻進(jìn)行預(yù)處理和隨機(jī)重疊分塊,然后將Cortex變換應(yīng)用于每個(gè)分塊,將其分解成直流分量和子帶系數(shù),最后結(jié)合子帶系數(shù)構(gòu)成時(shí)空域?qū)Ρ榷让舾泻瘮?shù)、子帶內(nèi)和子帶間的對(duì)比度掩蔽函數(shù),用于提取視覺感知特征。該算法利用Cortex變換和人眼視覺系統(tǒng)特性提高了感知魯棒性??紤]到代表幀提取是視頻哈希算法的一個(gè)重要步驟,Liu等[46]設(shè)計(jì)了一種加權(quán)計(jì)算技術(shù),通過聯(lián)合使用動(dòng)態(tài)視覺注意模型和靜態(tài)視覺注意模型來計(jì)算時(shí)域代表幀。用該技術(shù)構(gòu)造的哈希算法對(duì)插入幀或丟幀等操作具有魯棒性。在另一項(xiàng)工作中,Sun等[47]提出基于外觀特征和注意力特征融合的視頻哈希算法。該算法采用視覺注意力模型提取注意力特征,通過深度信念網(wǎng)絡(luò)將注意力特征與視覺外觀特征相結(jié)合生成哈希序列。該算法可有效抵抗高斯噪聲、高斯模糊和中值過濾等攻擊??紤]到檢測(cè)時(shí)域攻擊視頻存在的時(shí)間同步困難問題,Li等[48]設(shè)計(jì)了一種基于2階段計(jì)算的視頻哈希算法。該算法用動(dòng)態(tài)時(shí)間規(guī)整(dynamic time warping,DTW)方法實(shí)現(xiàn)視頻同步,通過計(jì)算相鄰代表幀來提取光流信息,然后運(yùn)用光流方向直方圖來構(gòu)造哈希,最后利用距離增強(qiáng)策略從DTW信息和光流信息中獲取互補(bǔ)信息,以提高對(duì)時(shí)域攻擊的穩(wěn)健性。由于光流計(jì)算的復(fù)雜度較高,因此該算法的運(yùn)行時(shí)間較慢。
視頻哈希的度量方法是通過計(jì)算2個(gè)視頻哈希序列的差異來判斷2個(gè)視頻內(nèi)容的相似程度。如果哈希序列的差異小,那么對(duì)應(yīng)視頻的相似程度就高;如果哈希序列的差異大,那么對(duì)應(yīng)視頻的相似程度就低。由于不同視頻哈希算法提取出的哈希序列表示形式不同,因此不同哈希算法往往選擇不同的度量方法。常用的視頻哈希度量方法包括漢明距離、誤碼率和歐氏距離。設(shè)h1=[h1(1),h1(2),…,h1(γ)]和h2=[h2(1),h2(2),…,h2(γ)] 表示2個(gè)長度為γ的哈希序列,d(h1,h2)表示哈希序列h1和h2的度量方法。下面介紹這3種度量方式(相關(guān)文獻(xiàn)見表13)。
1)漢明距離。它是通過計(jì)算2個(gè)哈希序列在相同位置上的不同比特?cái)?shù)來判斷序列差異。通常,較大的漢明距離表明2個(gè)視頻的內(nèi)容差異較大。反之,如果漢明距離越小,那么哈希序列對(duì)應(yīng)的視頻內(nèi)容差異就越小。漢明距離的計(jì)算公式為
(25)
2)誤碼率。它可看作是歸一化的漢明距離,主要通過計(jì)算2個(gè)哈希序列在相同位置上的不匹配比特的百分比來判斷差異。通常,誤碼率越高說明2個(gè)視頻的內(nèi)容差異越大。反之,誤碼率越小說明2個(gè)視頻的內(nèi)容越相似。誤碼率的計(jì)算公式為
(26)
式中τ為2個(gè)哈希序列的不匹配比特的總數(shù),且τ∈{0,1,2,…,γ}。
3)歐氏距離。它是通過計(jì)算2個(gè)哈希序列在相同位置上的十進(jìn)制數(shù)差異來判斷相似性。通常,較大的歐氏距離說明2個(gè)視頻的內(nèi)容差異較大。反之,歐氏距離越小說明2個(gè)視頻的內(nèi)容越相似。歐氏距離的計(jì)算公式為
(27)
視頻哈希算法的常用性能評(píng)價(jià)指標(biāo)包括ROC(receiver operating characteristics)曲線和P-R(precision-recall)曲線等。下面介紹這2種常用評(píng)價(jià)指標(biāo)的計(jì)算公式。
1)ROC曲線。該曲線主要用于分析視頻哈希算法在魯棒性和唯一性之間的分類性能。在 ROC 圖中,x軸通常定義為錯(cuò)誤接受率(false positive rate,F(xiàn)PR),y軸定義為正確接受率(true positive rate,TPR),具體定義如下:
(28)
(29)
由于 ROC 曲線是由許多坐標(biāo)點(diǎn)(FPR,TPR)繪制而成,因此曲線越接近ROC 圖的左上角說明對(duì)應(yīng)哈希算法的分類性能越好。此外,為了進(jìn)行定量分析,通常還使用AUC(ROC曲線面積)進(jìn)一步評(píng)估分類性能。AUC的最小值為0,最大值為1。一般而言,AUC越大,哈希算法的分類性能越好。
2)P-R曲線。該曲線主要用于評(píng)估視頻哈希算法的檢索性能。在 P-R圖中,x軸通常定義為召回率(Recall),y軸定義為精確率(Precision),具體定義如下:
(30)
(31)
由于 P-R曲線是由許多坐標(biāo)點(diǎn)(Recall,Precision)繪制而成,因此曲線越接近P-R圖的右上角說明對(duì)應(yīng)視頻哈希算法的檢索性能越好。此外,還可以使用精確率和召回率的調(diào)和平均值,即F分?jǐn)?shù),來綜合評(píng)估檢索性能。F分?jǐn)?shù)的最小值為0,最大值為1。一般而言,F(xiàn)分?jǐn)?shù)越大,哈希算法的檢索性能越好。
視頻哈希算法研究常用的數(shù)據(jù)集包括TRECVID、ReefVid、CC_WEB_VIDEO和UCF101等,這些數(shù)據(jù)集包含不同類型的視頻,可用于測(cè)試視頻哈希算法的性能。TRECVID數(shù)據(jù)集最早于2003年發(fā)布,當(dāng)前累積了大量視頻,這些視頻的類型眾多,包括新聞雜志、科學(xué)新聞、新聞報(bào)道、紀(jì)錄片、教育節(jié)目、檔案視頻、電視劇集和電影等。ReefVid數(shù)據(jù)集由1 000多個(gè)與珊瑚礁有關(guān)的視頻組成。CC_WEB_VIDEO數(shù)據(jù)集由從YouTube、Google Video和Yahoo下載的12 790個(gè)視頻組成,分為24個(gè)主題,主要用于視頻拷貝檢測(cè)評(píng)估。UCF101數(shù)據(jù)集由從YouTube下載的13 320個(gè)視頻組成,分為101個(gè)人類行為類別,如運(yùn)動(dòng)、樂器和人物交互等,這些視頻在攝像機(jī)運(yùn)動(dòng)、物體外觀、視角、背景、照明條件等方面存在較大差異。表14總結(jié)了上述常用數(shù)據(jù)集的特點(diǎn)。
值得注意的是,為了驗(yàn)證哈希算法的魯棒性,研究人員通常利用內(nèi)容保留操作對(duì)數(shù)據(jù)集中的視頻進(jìn)行魯棒攻擊,以構(gòu)造出相似視頻庫。常用的空域內(nèi)容保留操作包括亮度調(diào)整、對(duì)比度調(diào)整、MPEG-2壓縮、MPEG-4壓縮、幀旋轉(zhuǎn)、幀放縮、加性高斯白噪聲、椒鹽噪聲、乘性噪聲和高斯低通濾波等。常用的時(shí)域內(nèi)容保留操作包括幀交換、幀插入、幀丟棄和幀率改變等。
表14 常用數(shù)據(jù)集的特點(diǎn)
近年,視頻哈希研究受到研究人員的廣泛關(guān)注,一些重要研究成果陸續(xù)刊登在國內(nèi)外重要學(xué)術(shù)期刊上,有效促進(jìn)視頻哈希研究的發(fā)展。當(dāng)前,視頻哈希研究仍然面臨許多問題和挑戰(zhàn),下一步研究工作可重點(diǎn)關(guān)注如下幾個(gè)方面:
1)面向篡改取證的視頻哈希算法。隨著DeepFace等換臉軟件的出現(xiàn),人臉視頻的篡改操作日益便捷,社交網(wǎng)絡(luò)上出現(xiàn)越來越多的偽造視頻。針對(duì)人臉篡改等應(yīng)用場(chǎng)景,設(shè)計(jì)具有篡改取證能力的哈希算法將是未來視頻哈希研究的一個(gè)重點(diǎn)任務(wù)。
2)基于深度學(xué)習(xí)的高效視頻哈希算法。近年,深度學(xué)習(xí)在圖像分類和識(shí)別等方面取得巨大成功,一些研究人員嘗試將卷積神經(jīng)網(wǎng)絡(luò)等深度學(xué)習(xí)技術(shù)引入視頻哈希研究。然而,大部分深度神經(jīng)網(wǎng)絡(luò)存在模型參數(shù)眾多、訓(xùn)練時(shí)間長等問題,因此需要針對(duì)視頻數(shù)據(jù)特點(diǎn),設(shè)計(jì)新型深度神經(jīng)網(wǎng)絡(luò),以構(gòu)造出高效哈希算法。此外,由于Transformer網(wǎng)絡(luò)在多種視覺任務(wù)上表現(xiàn)出優(yōu)異的性能并超越傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò),因此利用Transformer網(wǎng)絡(luò)設(shè)計(jì)視頻哈希算法將是未來研究的一個(gè)熱點(diǎn)。
3)面向移動(dòng)應(yīng)用的輕量級(jí)視頻哈希算法。移動(dòng)計(jì)算設(shè)備的普及催生了大量的移動(dòng)應(yīng)用,由于這些設(shè)備的計(jì)算和存儲(chǔ)能力有限,因此針對(duì)PC應(yīng)用場(chǎng)景設(shè)計(jì)的視頻哈希算法難以應(yīng)用到移動(dòng)終端。為此,迫切需要針對(duì)移動(dòng)應(yīng)用場(chǎng)景,設(shè)計(jì)輕量級(jí)的視頻哈希算法。