【論文精讀】Noiseprint: a CNN-based camera model fingerprint

paper:https://ieeexplore.ieee.org/document/8713484

開源代碼:https://github.com/grip-unina/noiseprint

文獻分類

  1. 基於semantic或者physical不連續性
  2. 像素級的統計方法
    1. model-based approach
      1. 目的:建立針對某些特徵的數學模型
      2. 缺點:每一種方法的適用範圍都較窄
      3. 包括:lens aberration,camera response function,color filter array(CFA),JPEG artifacts
    2. data-driven approach
      1. 目的:使用大規模樣本進行算法訓練
      2. 在所有的方法中,依賴photo-response non-uniformity(PRNU)的算法是比較流行的,並且性能較好。
      3. noise residual還可以用於異常檢測發現局部圖像篡改中【25-28】
      4. 大多數data-driven方法作用於noise residual,將圖片減去denoising算法得到的圖像估計或者空域/頻域高通濾波【19-24】得到

PRNU pattern: device fingerprint

在文獻【30】中,作者顯示每一個獨立的設備對其所有照片上留有一個獨特的mark,也就是PRNU模式。這是由於設備加工過程中的不完美性導致的。

由於PRNU的唯一性和穩定性,其被用於設備指紋(device fingerprint),並被用於圖片僞造檢測任務中。

  • source identification【31】
  • image forgery detection and localization【30】【32-35】

缺點:

  • 一個camera需要大量圖像才能提取較好的PRNU估計
  • 如果圖像中內容比較模糊(相對noise),則也會大大影響PRNU的提取

Noiseprint: camera model fingerprint

爲了解決PRNU的問題,作者提出了一種新的提取noise residual的方法。

目標:

  • 增強語義內容的提取,同時強化所有的相機相關的artifacts
  • 沒人先驗知識,沒有標註樣本

原理:

  • 採用Siamese Network的理念,使用相同或不同相機的images進行配對訓練。
  • 一旦訓練完成,網絡參數固定,用於對任意相機model拍攝的images,不論該model是否在訓練集中。
  • 因此,本方法是完全無監督的,被認爲是camera model fingerrint

需要注意的是,圖像篡改將在noiseprint中留下明細的痕跡,因而可以只是定位篡改的部分。

noiseprint抽取過程

目標:

事實上,目的是從原始圖像中減去高層次的場景內容,這些內容被認爲是抽取noiseprint的干擾。這也是CNNbased的降噪器的目標【59】。通過【59】可以作爲新系統的起點,並且將其得到的最有參數作爲新系統的初始參數使用。然後,再在訓練過程中更新這些參數。

在【59】中,使用有監督的方式來訓練CNN網絡,其輸入是噪聲圖像,輸出是噪聲。如圖4所示。在本文中,使用該結構時,輸入是一個一般的圖像,輸出是noiseprint。但是,問題是我們沒有noiseprint的生成模型,因此,我們無法得到圖4中的output patch。

核心改進:

  • 考慮到,從同一個camera model得到的image patches應該具有相似的noiseprint patches,從不同camera model得到的image patches具有不同的noiseprint patches。
  • 因此,需要訓練一個noise residual生成網絡,不僅使得場景內容被消除,同時也使得所有的不可區分信息(camera model之間)被消除,而可區分信息被加強。
  • 於是考慮到如下的Siamese網絡結構,該機構中有兩個並行且完全一致(相同結構和參數)的CNNs。需要注意的是,負樣本和正樣本是一樣重要的,它們使得網絡丟棄無用的信息(所有model公共的),只在noiseprint中保持最有區分度的特徵

網絡訓練的細節

1)初始化

【59】中的CNN結構:

考慮到複雜度問題,該CNN網絡使用minibatch進行訓練N=200,每個image patch是48*48。需要強調的是,該CNN是fully卷積,因此,一旦訓練好後,可以用於任意大小的輸入圖像,不僅僅是48*48

 

2)boosting minibatch information

Siamese結構只是用於展示說明,實際訓練的只有一個CNN。在每個minibatch中,包括了200個patches,用於形成合適的輸入輸出對。因此,每個minibatch提供了O(N^2)個樣本用於訓練,大大提升了訓練速度。如果兩個patch來自同一個model,則爲正label,否則爲負label。爲了執行上述策略,我們的minibatch包含了50個組,每個組包含4個patches。每個組是相同model+相同位置。

 

3)Distance-based logistic loss

最小化如下的目標函數:

其中,

4)Regularization

爲了保持noiseprint之間的差異性(上述L0會使得不同model之間趨於一致),使用2D離散傅立葉變換。給定一個camera model,其功率譜的尖峯在於artifacts的基礎頻率處以及它們的組合處。而對於不同的camera models,期望它們的功率譜峯值在不同地方。考慮到峯值位置是重要的區分性特徵,因此,期望對於一個minibatch在所有頻率上能夠均勻分佈。

故而,使用minibatch的PSD的幾何均值於算術均值作爲新的懲罰項:

其中,

是minibatch的功率譜密度PSD。

 

最終,整個損失函數是:

 

實驗結果分析

主要研究noiseprint在image manipulation location上的性能。

A. 基於noiseprint的Forgery localization

自動化定位工具,用於後續的檢測能力分析使用。該工具以原始圖像和它的noiseprint作爲輸入,輸出一個real-valued熱力圖,該圖中每個像素值表示其被篡改的概率。

因此,使用【28】中的盲定位算法,其中將noiseprint代替了3階圖像residual方法。

參考代碼:

https://github.com/grip-unina/noiseprint/blob/master/noiseprint/post_em.py

 

B. 參考的方法

爲了保持與noiseprint方法一致,只考慮blind方法,即不需要特殊的數據集用於訓練或者fine tuning,也不需要使用測試集的metadata或者先驗知識。

根據它們使用的特徵,這些方法可以大致分爲3類:

  • JPEG artifacts【60-64】,【16】
  • CFA artifacts【13】【14】
  • 特徵空域分佈的非連續性【65】【26】【66】【27】【28】【58】

https://github.com/MKLab-ITI/image-forensics

C. 數據集

使用瞭如下9個數據集:

D. 性能衡量標準

Forgery localization可以被認爲是一個二分類問題,即每個像素屬於正常或者僞造兩種情況。

1)整體準確率

2)精度、召回和F1

3)Matthews Correlation Coefficient(MCC)

決策面與ground truth的交叉相關係數:

對類別不平衡的情況是robust的。

4)Average Precision(AP)

由precision-recall曲線的面就計算得到,因此可以衡量所有檢測閾值下的平均性能。

 

E. 訓練過程

構造一個數據集,包括相機和手機,包括:

  • Dresden數據集中44個cameras【68】
  • Socrates數據集中32個cameras【69】
  • VISION數據集中32個cameras【70】
  • 自己提供的數據集包含17個cameras

上述一共是125個獨立的cameras,涉及70個不同的models以及19個品牌。爲了進行實驗,劃分爲你訓練和驗證集,分別包含100和25個cameras,並且保證這些數據不包含在測試階段。所有images是JPEG形式。

 

網絡使用denoising算法【59】的結果進行初始化。在訓練過程中,每個minibatch包含200個48*48的patches,這些patches來自25個不同cameras拍攝的100個不同images。在每個minibatch中,包含了50個組,每組有相同camera和位置的4個patches組成。

 

F. 實驗結果

儘管每個實驗中,數值變化很大,每個方法的相對排名幾乎是一致的。在表III-V中分別展示了MCC、F1和AP衡量指標下不同方法的性能。具體分析見arXiv論文。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章