王 波,王 悅,王 偉,侯嘉堯
(1.大連理工大學(xué)信息與通信工程學(xué)院,遼寧大連 116024;2.中國科學(xué)院自動化所智能感知與計算研究中心,北京 100190)
由于數(shù)字圖像處理技術(shù)的進步以及各類數(shù)字圖像處理軟件的普及,人們可以方便、快捷地將數(shù)字圖像通過圖像處理軟件進行修改,并利用網(wǎng)絡(luò)社交平臺隨心所欲地傳播,從而給整個社會帶來深遠的影響.當(dāng)不法分子將其修改過的圖像在網(wǎng)絡(luò)上進行傳播時,所造成后果往往不堪設(shè)想.因此,圖像來源取證技術(shù)得到了越來越多的學(xué)者關(guān)注.數(shù)字圖像的相機來源取證是計算機視覺領(lǐng)域最具挑戰(zhàn)性和現(xiàn)實意義的研究問題之一[1].
在傳統(tǒng)的封閉環(huán)境中,相機來源鑒別往往被認為是一個確定類別數(shù)的多分類問題[2~8].但是如果待鑒別圖像由訓(xùn)練集外的(未知的)相機拍攝,傳統(tǒng)封閉環(huán)境下的分類方法會把該圖像錯誤地歸類到已知的來源相機之一.因此,考慮到未知來源相機的存在,開放環(huán)境下的相機來源鑒別被認為是一個類別數(shù)不確定的多分類問題.隨著市面上的相機品牌和種類的日新月異,取證分析人員很難實時掌握市面上的所有品牌型號的相機信息[9].相對于傳統(tǒng)的封閉環(huán)境,開放環(huán)境下的數(shù)字圖像來源鑒別允許待測試圖像為已知數(shù)據(jù)集合之外的未知類,通過引入“未知類”來大大減少分類器的誤分類問題.本文針對開放環(huán)境下的相機來源鑒別問題,提出一種基于特征空間包絡(luò)優(yōu)化的來源取證方法.本文貢獻主要體現(xiàn)在以下3個方面.
(1)實現(xiàn)了一種開放環(huán)境圖像來源鑒別方法,該算法在已知來源相機識別準確率以及時間復(fù)雜度上占據(jù)明顯優(yōu)勢.
(2)針對單類別異常點檢測問題,提出了一種基于手肘法聚類的特征空間包絡(luò)優(yōu)化方法.
(3)構(gòu)建了一個開放環(huán)境下的多分類方法,在數(shù)據(jù)集增添新類別時只需要單獨訓(xùn)練該類別,相對已有方法在數(shù)據(jù)更新方面具有更強的擴展性.
本文所研究的內(nèi)容屬于圖像被動取證技術(shù)[10]中的一種,它不需要事先對圖像進行任何處理,而是直接利用圖像本身的信息進行鑒別,因而具有更加廣闊的應(yīng)用場景.如圖1 所示,在溯源設(shè)備角度數(shù)字圖像取證技術(shù)可以分為3 個層次[11]:(1)基于設(shè)備類型;(2)基于設(shè)備型號;(3)基于設(shè)備個體.本文面向開放環(huán)境下數(shù)字圖像來源設(shè)備型號的鑒別問題開展工作.
圖1 中方框表示傳統(tǒng)封閉環(huán)境下的數(shù)字圖像來源鑒別,此時的待檢測圖像往往被認為是來自訓(xùn)練數(shù)據(jù)集的設(shè)備,即已知類設(shè)備.開放環(huán)境下的相機來源鑒別是指在檢測過程中允許待檢測圖像來自數(shù)據(jù)集之外的設(shè)備,也就是引入了“未知類”的概念,從而減少了新型相機被分類器誤認成來自已知相機模型的錯誤分類情況.
圖1 數(shù)字圖像取證層次劃分與開放環(huán)境描述
在相機來源取證中引入開放環(huán)境問題最早可以追溯到2009 年,王波等人[11]將一類和多類支持向量機相結(jié)合,解決了圖像來源取證方法對于多類樣本準確性較差,以及無法對未知模型的圖像進行溯源的問題.2012 年,Costa 等人[12,13]提出了一種決策邊界雕刻的方法.該方法首先將已知模型的圖像作為正類樣本,將其他已知模型的圖像作為負樣本;然后,通過調(diào)整決策邊界來最小化假陽性匹配,訓(xùn)練二值支持向量機來區(qū)分正樣本和負樣本.由于缺乏關(guān)于未知模型的信息,決策邊界在實際情況下可能無法很好地將正類樣本與未知類樣本識別出來.2015 年,Huang 等人[14]提出了一種基于K 近鄰的未知相機來源檢測方法.他們首先使用K 近鄰算法從測試集中識別出一部分的未知源圖像,并將它們從測試集中分離出來;然后將這部分圖像作為未知源圖像的初始訓(xùn)練樣本,與訓(xùn)練集一起用來訓(xùn)練一個N+1 類的支持向量機(Support Vector Machine,SVM)[15];接著,繼續(xù)使用這個SVM 從測試集中把剩余的未知源圖像分離出來,加入到訓(xùn)練樣本中,不斷重復(fù)這個訓(xùn)練與分離的過程,最終取得了不錯的鑒別效果.但是由于K 近鄰算法的特點,當(dāng)樣本不平衡時已知模型的預(yù)測精度較低,計算復(fù)雜度和空間復(fù)雜度也相對較高.近年來,單類別學(xué)習(xí)可解決在連續(xù)學(xué)習(xí)領(lǐng)域中的災(zāi)難性遺忘問題[16],但由于訓(xùn)練過程處于傳統(tǒng)封閉環(huán)境,因此無法解決未知類的問題.
隨著深度學(xué)習(xí)的發(fā)展,Bondi等人[17]于2017年首次將卷積神經(jīng)網(wǎng)絡(luò)引入相機模型來源鑒別中.接著,2018年,Bayer和Stamm[18]提出了一種基于最大置信度的閾值算法來識別未知相機模型.他們首先使用一個卷積神經(jīng)網(wǎng)絡(luò)來提取相機模型識別特征,然后將學(xué)習(xí)到的深度特征映射到置信度分數(shù)上,以表明這兩個圖像塊是由相同或不同的相機模型捕獲的,如果置信度低于閾值,則將查詢圖像識別為未知.2018年,Mayer等人[19]提出一種圖像碎片對比系統(tǒng).該方法首先使用一個基于卷積神經(jīng)網(wǎng)絡(luò)的特征提取器去為圖像提取特征,接下來學(xué)習(xí)了一種相似性度量方法,將這些特征對映射到與每個已知相機模型相關(guān)的分數(shù)上,最后以該分數(shù)作為判斷兩幅圖像是否屬于同一源相機模型的標準.然而,該方法只能確定兩個輸入圖像之間的關(guān)系.此外,由于深度學(xué)習(xí)方法的特點,該方法在訓(xùn)練過程中需要數(shù)量較大的訓(xùn)練集且時間消耗很大.由于每增加一個種類的相機都需要將其他已有相機聯(lián)合起來重新訓(xùn)練一個新的分類器,因此該方法在模型擴展方面有一定的局限性.在此基礎(chǔ)上,Mayer等人[20]于2020年設(shè)計了一個視頻相機模型驗證系統(tǒng),包括深度特征提取器、相似度網(wǎng)絡(luò)和視頻級融合系統(tǒng).該方法可以對兩個查詢視頻是否被同一攝像機模型捕獲進行分類.
本文算法的主要思想是根據(jù)不同相機模型拍攝圖像的高維特征,通過聚類手段將原始的同一類型相機數(shù)據(jù)依照特征空間分布的不同進行劃分,以實現(xiàn)模型包絡(luò)細化.具體來說:首先通過手肘法[21]得到每一類相機數(shù)據(jù)的聚類個數(shù),并以該聚類數(shù)為參照進行K均值(kmeans)聚類[22];然后將得到的相機模型子類數(shù)據(jù)分別進行支持向量數(shù)據(jù)描述(Support Vector Data Description,SVDD)[23,24]以刻畫其子包絡(luò),并根據(jù)所屬相機模型類別將子包絡(luò)合成一個更具細節(jié)特征的特征包絡(luò)[25];最后通過判決法則將來自未知相機模型的圖像排除,并對判斷為已知來源的圖像分類溯源,實現(xiàn)開放環(huán)境下的相機來源鑒別.本文算法的整體流程如圖2所示.
圖2 算法整體流程圖
k-means 是聚類劃分類中的最廣為人知的一種方法.其算法的優(yōu)點是易于實現(xiàn),且其復(fù)雜度適合數(shù)據(jù)量較大的情況.考慮其簡單且運行效率快的優(yōu)點,本文采用k-means 聚類算法將每一類原始類別相機模型分別聚類成k個子類.現(xiàn)有的k-means 聚類方法并沒有給出聚類個數(shù),人為預(yù)先設(shè)定其聚類數(shù)往往難以得到最優(yōu).因此,本文應(yīng)用手肘法(Elbow Method,EM)模型來為k-means算法確定最佳聚類數(shù).EM核心指標是誤差平方和(Sum of the Squared Errors,SSE)[26],其表達式是
其中,k表示該類相機模型的數(shù)據(jù)根據(jù)特征空間分布所確定的內(nèi)部聚類總數(shù);i表示其中的某個子數(shù)據(jù)集的編號;Ci表示屬于該類訓(xùn)練相機模型的第i類子數(shù)據(jù)集;SSE 代表所有樣本的聚類誤差,用于刻畫聚類效果的好壞.
由于k與簇間聚合程度之間是正相關(guān)的,當(dāng)k的數(shù)量小于真實的聚類數(shù)時,SSE 的下降幅度會很大,而當(dāng)k接近真實聚類數(shù)時,增加k所帶來的聚合回報會驟減,因此SSE 會隨著k的增大而逐漸趨于穩(wěn)定.此時,SSE 與k之間會形成一個類似手肘形狀的關(guān)系圖,而這個手肘的關(guān)節(jié)處對應(yīng)的k值就是數(shù)據(jù)擁有的真實聚類數(shù).
本文首先提取訓(xùn)練集圖像的CFA(Color Filter Array)特征[27~29],然后針對每一類相機模型進行包絡(luò)刻畫.SVDD 作為一種新型的單類分類器,通過刻畫正類樣本的邊界最小容積超曲面在異常檢測領(lǐng)域得到了廣泛的應(yīng)用.然而,特征空間中的樣本分布通常是復(fù)雜的而且是不可預(yù)測的,而SVDD 在這些情況下往往不能很好地描述邊界樣本.
如圖3 所示,假設(shè)在高維特征空間中分布著3 類相機模型樣本,綠色圓形表示已知來源相機模型樣本(正類樣本),使用面來描述正類樣本分布時往往會造成誤分類:如紅色邊界圓所示,如果保證盡可能多的覆蓋正類樣本,則超球體的半徑需要變大,這勢必會造成其他未知類別樣本被錯誤的判斷成已知類別樣本(紅色邊緣三角形、紅色邊緣正方形);如紫色邊界圓所示,如果保證超球體類內(nèi)純度,則其半徑會隨之減小,這勢必會導(dǎo)致部分正類樣本被錯誤地分類成未知來源的負類樣本(紫色邊緣小圓形).
圖3 特征空間包絡(luò)優(yōu)化示意圖
因此,本算法提出預(yù)先根據(jù)不同類別的特征分布對每一類正類樣本進行數(shù)據(jù)再劃分,利用EM 法確定聚類個數(shù),然后通過k-means 聚類方法將正類樣本劃分成多個子類數(shù)據(jù)集合,之后分別對子類邊界數(shù)據(jù)構(gòu)建超曲面,形成k個子包絡(luò).由于屬于同一相機模型的子包絡(luò)內(nèi)部數(shù)據(jù)具有相同的真實標簽,因此可以將多個子包絡(luò)融合構(gòu)成一個新的超曲面包絡(luò).此時,該包絡(luò)相比之前的方法涵蓋了更多該類別的細節(jié)特征,從而可以在保證正類樣本的召回率情況下,更好地拒絕未知樣本,如圖3中淺綠色球體所示,當(dāng)k等于2時構(gòu)建的兩個超曲面體相比之前一個超曲面對邊界的細節(jié)特征刻畫得更加具體,大大減少了錯誤分類的情況.
假設(shè)在訓(xùn)練集TR中有N類相機,每一類相機用不同的標簽η表示,每類相機模型的數(shù)據(jù)集合用Γ(η)表示,即Γ(η)?TR,?η∈(1,2,…,N).
對于每一類相機模型數(shù)據(jù)集合Γ(η),利用上文方法將其分為K個子集,用γ(ηk)表示.其中,ηk表示來自同一個真實相機模型η,但是屬于不同子數(shù)據(jù)集k的樣本標簽.也就是說,γ(ηk) ?Γ(η),?k∈(1,2,…,K).
其中,a是超曲面的中心,R是半徑,ξi表示松弛因子,C代表用于平衡超曲面體積和誤差分數(shù)的懲罰參數(shù).通過引入拉格朗日乘子[23,24],原始問題可以轉(zhuǎn)化成式(3)的對偶問題:
其中,αi是拉格朗日系數(shù),是核函數(shù)(特征空間的內(nèi)積).
通過對偶問題的求解,可以得到所有樣本的拉格朗日系數(shù).在所有的訓(xùn)練樣本中滿足0≤αi≤C的拉格朗日系數(shù)稱為支持向量.假設(shè)訓(xùn)練數(shù)據(jù)集中由支持向量組成的樣本集為V,利用核函數(shù)映射到輸入空間的邊界不再局限于球面分布,超曲面的中心和半徑表示如式(4)和式(5)所示:
其中,xv∈V.正訓(xùn)練樣本的數(shù)據(jù)描述可以通過超曲面的中心和半徑得到.
根據(jù)上述公式對相機模型數(shù)據(jù)進行聚類細化形成子超曲面包絡(luò),再將子超曲面根據(jù)真實標簽進行融合形成該類別相機模型的判決超曲面包絡(luò).由于捕捉到了相機模型內(nèi)部的特征分布情況,因此即使訓(xùn)練集只有一個已知的相機模型(惡劣情況),本文算法也能有效地拒絕未知樣本.與其他現(xiàn)有方法相比,本算法在未知來源相機模型上更具可擴展性.也就是說,一旦數(shù)據(jù)集需要添加一些新的相機模型,只需要對每一個新的相機模型進行訓(xùn)練,而不需要對數(shù)據(jù)集中所有已知的相機模型進行再訓(xùn)練.
對于測試集TE,假設(shè)測試集中的圖像用xtest表示.假設(shè)通過上文所述得到的超曲面判決模型為,同上文定義,ηk代表判決模型的真實標簽.對每一個超曲面來說,測試樣本xtest到超曲面中心的距離為
由此得到以下判決準則:
(1)對于所有超曲面,如果測試樣本計算出的所有均滿足>1,則認為此測試樣本來自測試集之外的某個未知來源相機模型;
(2)如果測試樣本計算出的任何一個滿足≤1,則該樣本被初步認為是來自數(shù)據(jù)集中某已知來源相機模型.接下來,需要進行投票以確定其真實標簽.
算法1為已知來源相機標簽分配準則:
(1)如果測試樣本只被一個超曲面Mηk所接受,即只存在一個滿足≤1,則判斷該測試樣本為具有真實標簽η的相機模型所拍攝;
(2)如果測試樣本被多個不同的超曲面接受,但是超曲面由同一真實標簽下不同子類數(shù)據(jù)集構(gòu)成,即η相同、k不同.那么,可以判斷該測試樣本為具有真實標簽η的相機模型所拍攝;
(3)如果測試樣本被多個不同的超曲面接受,且超曲面來自不同真實標簽,即有多個不同的η標簽.那么,系統(tǒng)將對具有不同真實標簽超曲面的數(shù)量排序,選擇接受該測試樣本數(shù)量最多的超曲面的真實標簽作為該測試樣本的標簽.如果存在數(shù)量并列第一的情況,則計算所在的超曲面位置,并將其真實標簽賦予該測試樣本.
綜上所述,通過應(yīng)用判決準則可以將測試集中的未知來源相機拍攝的樣本排除,并對已知來源相機拍攝的樣本分類溯源.
為了在開放環(huán)境下對本文算法進行評估,本節(jié)進行了大量實驗,詳細的實驗設(shè)置和實驗結(jié)果如下所述.
本文選擇圖像來源鑒別中經(jīng)典的數(shù)據(jù)集——Dresden數(shù)據(jù)集[30].除此之外,本文還選擇了SOCRatES數(shù)據(jù)集[31]來說明本文算法在開放環(huán)境下手機圖像的溯源也有一定的適用性.Dresden 數(shù)據(jù)集中的圖像是由不同相機在室內(nèi)、室外不同環(huán)境下獲取的,提供了來自27個不同模型的74個相機的近17 000張圖像.SOCRatES數(shù)據(jù)集由大約9 700 張圖片和1 000 個視頻組成,這些圖像和視頻是用15 個不同品牌、60 個不同型號的103 款不同的智能手機拍攝的.
為了消除同一相機模型中不同個體的影響,同一相機模型的訓(xùn)練和測試集中的樣本來自不同的個體.本文實驗在盡可能地滿足相機品牌多樣性的條件下,從Dresden和SOCRatES數(shù)據(jù)集中分別隨機選擇10個不同相機模型,相機型號的詳細信息見表1和表2.
表1 Dresden數(shù)據(jù)集中選擇的相機模型信息
表2 SOCRatES數(shù)據(jù)集中選擇的相機模型信息
由于Dresden和SOCRatES 圖像數(shù)據(jù)集中的不同相機模型拍攝圖像尺寸不同,因此本文對所有圖像進行預(yù)處理,在每幅圖像中心截取256×256大小的子圖作為實驗數(shù)據(jù).
本文所采用的對比方法如下:
(1)聯(lián)合OC-SVM和MC-SVM 的數(shù)字圖像來源取證方法(Combined Classification Framework,CCF)[11];
(2)未知模型的相機來源鑒別算法(Source Camera Identification with Unknown models,SCIU)[14];
(3)相似度比較法識別未知來源相機算法(Mayer et al.Similarity,MS)[18,19].
為了說明本文算法在數(shù)據(jù)聚類預(yù)處理上的有效性,本文還設(shè)置了兩個自對比實驗:
(1)數(shù)據(jù)聚類預(yù)處理后的CCF 算法(CCF_Adaptive Clustering,CCF_AC):每類相機模型先通過手肘法確定聚類個數(shù),再運用k-means 聚類算法將每一類原始類別相機模型分別聚類成k個子類,接下來使用聯(lián)合OCSVM和MC-SVM 的圖像來源取證方法(Combined Classification Framework,CCF)[11]得到判決模型;
(2)本文所提算法去除數(shù)據(jù)聚類處理后的自對比算法(Self-Contrast,SC):不使用數(shù)據(jù)聚類預(yù)處理對相機模型再劃分,直接根據(jù)每一類相機模型特征進行超曲面包絡(luò)構(gòu)建得到判決模型.
為了說明本文算法的有效性,本文使用以下評價指標[14].
(1)已知來源相機模型識別精度(Known ACCuracy,KACC),用于評估算法對召回已知的來源圖像的能力,定義為
(2)未知來源相機模型識別精度(Unknown ACCuracy,UACC),用于評估算法對排除未知來源圖像的能力,定義為
(3)整體相機模型識別精度(Overall ACCuracy,OACC),用于評估算法整體的識別準確率,定義為
為了評估本文算法與其他使用SVM 為代表的已有方法之間的性能,特設(shè)計了如下實驗.首先將如表1所示的Dresden 數(shù)據(jù)集中的10 類相機模型按照7∶3 分成訓(xùn)練集和測試集,然后將10 類相機模型的測試集圖像整理在一起作為本實驗的測試集.接下來,分別選擇每一類相機模型剩下來的圖像作為訓(xùn)練集樣本,10 類相機模型圖像共同構(gòu)成的測試集來做測試.此實驗設(shè)置最大程度模擬了現(xiàn)實生活中已知來源的訓(xùn)練樣本少且未知來源的圖像樣本多的惡劣情況,通過對不同方法下的KACC,UACC和OACC 三個指標的分析,可以真實、客觀地評價出本文算法的表現(xiàn)情況.
本文利用手肘法對Dresden 以及SOCRatES 數(shù)據(jù)集中每一類相機模型的訓(xùn)練樣本進行預(yù)處理,確定出每類訓(xùn)練樣本的聚類子類個數(shù),如表3所示.
表3 Dresden與SOCRatES中聚類子類個數(shù) 單位:個
表4、表5和表6 所示,分別為5 種方法在Dresden數(shù)據(jù)集下的已知來源相機模型精度(KACC)、未知來源相機模型精度(UACC)以及整體相機模型精度(OACC).由于相機模型R1 在數(shù)據(jù)預(yù)處理上得到的聚類子類個數(shù)為1,說明在高維特征空間該相機模型的分布沒有呈現(xiàn)明顯的簇類劃分,因此SC 算法與本文算法在此相機模型的3個評價指標上得到了相同的數(shù)值.
如表4 所示,本文算法以及SC 算法在KACC 上遠高出其他幾種方法.其中,本文算法以95.2%取得最高的平均準確率,SC算法以91.5%達到第二高.接下來分別是CCF_AC 算法(53.3%)以及CCF 算法(46.5%),SCIU 算法的KACC 效果最差,只有42.9%.本文所提算法在特征空間的包絡(luò)描述上具有更多的細節(jié)特征,因此可以在訓(xùn)練集中只有一種類型相機圖像的惡劣情況下,仍然達到召回已知來源相機模型樣本的作用,這是其他對比算法很難達到的.因為在面對錯綜復(fù)雜的測試樣本時,分類器往往為了拒絕未知樣本而造成已知樣本的誤判,而本文算法通過包絡(luò)優(yōu)化解決了這一問題,而兩組自對比實驗可以看出,本文算法相比SC算法在KACC 上提升了3.7%,CCF_AC 算法相比CCF 算法在KACC上提升了6.8%.
表4 Dresden已知來源相機模型識別精度 單位:%
如表5 所示,在UACC 中除了SCIU 算法的平均準確率只有84.8%之外,其他4種方法均表現(xiàn)優(yōu)異.其中,CCF_AC 算法以97.1%獲得最高的平均未知來源相機識別準確率,本文算法也達到了96.1%的準確率,接下來是CCF 算法(95.8%)和SC 算法(95.3%).雖然在未知來源相機模型平均準確率上CCF_AC 算法表現(xiàn)最為突出,卻付出了KACC過低(53.3%)的代價.
表5 Dresden未知來源相機模型識別精度 單位:%
表6 展示了5 種算法在Dresden 數(shù)據(jù)集上的整體相機模型識別精度,總體來看本文算法表現(xiàn)最佳.由于對于特征空間包絡(luò)細節(jié)的刻畫,本文算法可以使得分類模型在拒絕未知來源相機模型的同時,增加已知來源相機模型的識別準確度,從而使得OACC 取得更好的效果.5 種算法的相機模型識別能力按照遞減順序排列如下:本文算法、SC 算法、CCF_AC 算法、CCF 算法以及SCIU 算法,其平均整體相機模型識別精度分別為96.1%,95.1%,92.8%,91.0%以及80.9%.
表6 Dresden整體相機模型識別精度 單位:%
表7、表8和表9 分別展示了5 種算法在SOCRatES數(shù)據(jù)集上的KACC,UACC 以及OACC 的情況.其中,本文算法、SC 算法以及CCF_AC 算法、CCF 算法之間重合的點較Dresden 數(shù)據(jù)集上的情況明顯增多.這是由于SOCRatES 數(shù)據(jù)集的訓(xùn)練樣本數(shù)量相對較少,從而導(dǎo)致本文算法由于其自適應(yīng)的特點選擇聚類子類個數(shù)為1,因此兩組自對比實驗由于聚類子類個數(shù)的相同導(dǎo)致實驗結(jié)果的一致.由此可見,在數(shù)據(jù)集中訓(xùn)練樣本數(shù)量差別較大時,本文算法由于自適應(yīng)性而更為靈活.
表7 SOCRatES已知來源相機模型識別精度 單位:%
表8 SOCRatES未知來源相機模型識別精度 單位:%
表9 SOCRatES整體相機模型識別精度 單位:%
通過與表4、表5和表6 的逐一對比發(fā)現(xiàn),5 種算法在SOCRatES數(shù)據(jù)集上的識別準確度均有所下降.分析可能有以下兩個原因:(1)由于SOCRatES 數(shù)據(jù)集的訓(xùn)練樣本數(shù)量相比Dresden 數(shù)據(jù)集有所下降,訓(xùn)練樣本的減小對分類器的造成的負面影響導(dǎo)致KACC,UACC 以及OACC均有所降低;(2)由于SOCRatES數(shù)據(jù)集為手機圖像樣本數(shù)據(jù)集,其圖像特征相比相機拍攝的圖像是否含有其他特質(zhì)還需進一步挖掘.
綜上所述,本文算法在Dresden 數(shù)據(jù)集以及SOCRatES 數(shù)據(jù)集上的表現(xiàn)均優(yōu)于其他幾種對比方法.在Dresden 數(shù)據(jù)集上的KACC 高達95.2%,相比SCIU 算法和CCF算法分別提升了49.3%,48.7%,與此同時平均UACC 與OACC 也能超過95%.在SOCRatES 數(shù)據(jù)集 上的KACC 為72.7%,相比SCIU 算法和CCF 算法分別提升了42.5%,20.8%,與此同時平均UACC 與OACC 均超過其他已有對比方法,達到89.5%,87.8%.
本節(jié)主要展示本文算法與MS 算法的對比實驗以及結(jié)果分析.MS 算法首先使用一個基于卷積神經(jīng)網(wǎng)絡(luò)的特征提取器為圖像提取特征,接下來學(xué)習(xí)了一種相似性度量方法,將這些特征對映射到與每個已知相機模型相關(guān)的分數(shù)上,最后以該分數(shù)作為判斷兩幅圖像是否屬于同一源相機模型的標準.由于該方法只能確定兩個輸入圖像之間的關(guān)系,為了體現(xiàn)實驗的公平性特此設(shè)置兩組實驗:
(1)已知與已知(Known vs.Known):測試輸入的兩組圖像均來自已知來源的相機模型;
(2)已知與未知(Known vs.Unknown):測試輸入的兩組圖像一組來自已知來源的相機模型,另一組來自未知來源的相機模型.
在Dresden 數(shù)據(jù)集上選擇K1,O1,P1,Pa1和C1 作為已知來源相機模型,N1,R1,N2,S1和Sa1作為未知來源相機模型;在SOCRatES數(shù)據(jù)集上選擇A1,A2,A3,A4和AZ1 作為已知來源相機模型,L1,M1,S1,S2和S3 作為未知來源相機模型.隨機抽取每一類相機模型中的30%圖像作為測試集(包含5 類已知來源相機模型和5類未知來源相機模型).
如圖4和圖5 所示,綠色底紋表示已知來源相機模型縮寫,藍色底紋表示未知來源相機模型縮寫,圖中的數(shù)據(jù)為MS 算法和本文算法的整體分類準確率,淺色底紋表示MS 算法,深色底紋表示本文算法,較高者用黑色加粗字體表示.其中,圖4 為Dresden 數(shù)據(jù)集下的整體分類準確率對比.在“已知對已知”的實驗上,本文算法的平均準確率高出MS算法5.1%,在“已知對未知”實驗上本文算法的平均準確率高達96.1%,而MS 算法只有86.7%.在圖5 所示的SOCRatES 數(shù)據(jù)集上也有類似的情況發(fā)生,在“已知對已知”的實驗上,本文算法的平均準確率高出MS 算法7.3%,在“已知對未知”實驗上,本文算法的平均準確率高出MS方法2.1%.
圖4 Dresden相機模型識別整體準確率對比
圖5 SOCRatES相機模型識別整體準確率對比
圖6所示為Dresden數(shù)據(jù)集中相機模型識別整體準確率分布.雖然在35 組實驗中MS 算法有6 組達到了100.0%的識別準確率,而本文算法只有2 組.但是,準確率在90.0%~99.9%區(qū)間內(nèi)的實驗中本文算法有30組,而MS 算法只有12 組.且本文算法中最低的實驗準確率為86.5%,而MS 算法有7 次實驗的識別準確率均低于85.0%,其中MS 算法識別準確率最低的一組實驗中只達到了47.0%.可見,本文算法的魯棒性更強.相似地,如圖7 所示為SOCRatES 數(shù)據(jù)集中相機模型識別整體準確率分布.在35 組實驗中,本文算法有26 組的識別整體準確率達到90.0%~99.9%區(qū)間,相比MS 算法具有更強的魯棒性.
圖6 Dresden相機模型識別整體準確率分布
圖7 SOCRatES相機模型識別整體準確率分布
除此之外,本文算法在數(shù)據(jù)集更新時只需要單獨訓(xùn)練新加入的新型相機模型的數(shù)據(jù),而無需聯(lián)合所有數(shù)據(jù)庫中的相機模型數(shù)據(jù)重新訓(xùn)練,因此具有彈性的模型擴展能力.
表10和表11 分別展示了本文算法與其他對比算法在Dresden 以及SOCRatES 數(shù)據(jù)集上的時間消耗對比(由于MS 算法屬于深度學(xué)習(xí)算法,而深度學(xué)習(xí)算法需要較長的訓(xùn)練時間,因此其時間復(fù)雜度遠高于以SVM為代表的傳統(tǒng)方法,為了體現(xiàn)公平性只討論了使用預(yù)訓(xùn)練特征的情況下本文算法與其他4 種使用以SVM 為代表的對比算法的時間復(fù)雜度情況).所有實驗的運行環(huán)境為AMD Ryzen 7-3750H 2.3 GHz 處理器,8 GB 內(nèi)存,64位Windows10操作系統(tǒng).
如表10和表11 所示,本文算法在Dresden和SOCRatES數(shù)據(jù)集上平均時間復(fù)雜度分別為8.3 s和8.8 s,而SCIU 算法的時間消耗分別達到了14 725.4 s和8 866.4 s.其原因為SCIU 算法內(nèi)部使用了K 近鄰算法,K近鄰算法由于需要對每一個待分類的樣本計算它到全體已知樣本的距離,才能求得它的K 個最近鄰點,因此計算量較大,從而消耗的時間較多.除此之外,本文算法在相機模型K1,O1和P1上相較于自對比試驗SC算法所消耗時間更少,而其他相機型號下則SC算法所消耗時間更少.這是因為相機模型K1,O1和P1 所含訓(xùn)練樣本較多,而數(shù)據(jù)聚類處理后對于每個子數(shù)據(jù)集來說構(gòu)建超曲面包絡(luò)所消耗的時間成本更低,而隨著訓(xùn)練樣本數(shù)量的減小,這種優(yōu)勢則逐漸消失,此時由于數(shù)據(jù)聚類所耗費的時間成本則不容忽視.而在表11中,由于所有相機模型的訓(xùn)練樣本相同,則沒有出現(xiàn)表10中的情況.綜上所述,相比其他方法,本文算法在時間成本上的優(yōu)勢明顯.
表10 Dresden時間復(fù)雜度對比 單位:s
表11 SOCRatES時間復(fù)雜度對比 單位:s
開放環(huán)境下的數(shù)字圖像來源檢測是數(shù)字圖像取證領(lǐng)域極具挑戰(zhàn)性和現(xiàn)實意義的問題之一,本文提出了一種開放環(huán)境下聚類包絡(luò)優(yōu)化的相機來源取證方法以解決開放環(huán)境下的相機模型來源檢測問題.首先通過手肘法得到每一類相機數(shù)據(jù)的聚類個數(shù),并以該聚類數(shù)為參照進行k-means 聚類;然后將得到的相機模型子類數(shù)據(jù)分別進行支持向量數(shù)據(jù)描述以刻畫其子包絡(luò),并根據(jù)所屬相機模型類別將子包絡(luò)合成一個更具細節(jié)特征的特征包絡(luò);最后通過判決法則將來自未知相機模型的圖像排除,并對判斷為已知來源的圖像分類溯源,實現(xiàn)開放環(huán)境下的相機來源鑒別.
為了說明本算法的有效性,本文在數(shù)字圖像來源鑒別領(lǐng)域著名的Dresden 數(shù)據(jù)集以及SOCRatES 數(shù)據(jù)集上進行了大量實驗,并計算了KACC,UACC和OACC 三個技術(shù)指標.通過分析大量實驗結(jié)果可以看出,相比現(xiàn)有的開放環(huán)境下相機模型來源鑒別方法,本文提出的算法在多個指標上均具有優(yōu)越性,尤其在已知來源相機召回率以及時間成本上占據(jù)顯著優(yōu)勢.其次,本文提出的基于手肘法聚類的特征空間包絡(luò)優(yōu)化方法或為單類別異常點檢測提供一種新的技術(shù)手段.除此之外,本文提出的算法在數(shù)據(jù)集增添新類別時只需要單獨訓(xùn)練該類別,相對已有方法在數(shù)據(jù)更新方面具有更強的擴展性.
由于缺少未知來源相機模型數(shù)量及性質(zhì)的信息,本文算法將未知來源相機模型拍攝的圖像識別出后,不能將未知來源的相機模型進行分類,這或?qū)⒊蔀槲磥砉ぷ鞯难芯糠较?