今回,紹介する論文である「Detecting Deepfakes with Self-Blended Images」は東京大学の山崎研究室が提案した手法である.
概要
Self-Blended Images(SBIs)は学習時に実際のDeepfake画像を必要としない自己教師あり学習ベースの手法である.
Face X-RayやPCL-I2Gは2枚のReal画像から疑似的なDeepfake画像を生成していたがSBIsでは,1枚のReal画像から疑似的なDeepfake画像を生成する生成器とDeepfakeとRealの2クラスを予測するモデルで構成される.
アプローチ
SBIsは,1枚のReal画像に微小な変化を加えて疑似的なDeepfake画像を生成することで微細な偽造痕跡を表現できるという点に着目している.
Self-Blended Images(SBIs)
SBIsは1枚のReal画像から疑似的なDeepfake画像とラベルを生成する.
SBIsは3つの手順で疑似的なDeepfake画像とラベルを生成する.
1,ソース画像とターゲット画像の生成
元画像$I$をSource-Target Generator(STG)とMask Generator(MG)に入力する.STGでは元画像$I$をData Augmentationによりソース画像$I_s$とターゲット画像$I_t$に拡張する.また,ソース画像に平行移動とサイズ変更を行うことでDeepfakeの偽造痕跡を再現している.
2,マスクの生成
MGでは元画像$I$から顔の器官点を推定し,1で移動した位置に合わせて器官点からソース画像$I_s$とターゲット画像$I_t$を合成するマスク$M$を生成する.生成するマスク$M$は,ターゲット画像$I_t$に対してソース画像$I_s$の合成領域を指定するものである.
3,合成
下記の式に従いターゲット画像$I_t$とソース画像$I_s$,生成したマスク$M$を用いてDeepfake画像$I_{SB}$を生成する.
\begin{align}
{I}_{SB} = {I}_{s}\odot M+{I}_{t}\odot(1-M)
\end{align}
モデル
モデルは,Real画像とSBIsで生成した疑似的なDeepfake画像とラベルを用いて学習を行う.
モデルにはImageNetで学習済みのEfficientNet-B4を用いている.
損失関数
損失関数は予測クラスと正解ラベルとのクロスエントロピーで定義される.
実験
いくつかの実験を抜粋して結果を記載する.
Area Under Curve(AUC)で比較する.
実験1,FF++に対するAUC比較
Face X-RayとPCL-I2G,SBIsで生成した疑似的なDeepfake画像で学習したEfficientNet-B4のFF++に対するAUCを比較する.
どのモデルも非常に高いAUCであるがなかでもSBIsで学習したEfficientNet-B4は最も高いAUCである.
Real画像(上段)とSBIsで生成した疑似的なDeepfake画像(下段)の比較.
Real画像との差がほとんどないことが分かる.
実験2,汎化性能の評価
FF++やFF++で生成した疑似的なDeepfake画像で学習した従来手法とSBIsで生成した疑似的なDeepfake画像で学習したEfficientNet-B4のCDF,DFD,DFDC,DFDCP,FFIWに対するAUCを比較する.
SBIsで生成した疑似的なDeepfake画像で学習したEfficientNet-B4はほぼ全てのデータセットにおいて最も高いAUCを達成している.
まとめ
SBIsは1枚のReal画像から疑似的なDeepfake画像を生成するSBIsとDeepfakeとRealの2クラスを予測するモデルで構成される手法である.
1枚のReal画像から疑似的なDeepfake画像を生成し学習に用いることで頑健なDeepfake検出が可能である.
参考文献
論文:Detecting Deepfakes with Self-Blended Images
LINK:https://arxiv.org/abs/2204.08376
備考
・公式の実装
https://github.com/mapooon/SelfBlendedImages
・非公式の実装
なし