Deep Fakes Detection
Yusuke Uchida
1DeNA AIシステム部内の輪講で発表した資料です
Outline
• Deep Fakesの種類
• Deep Fakesの検出法
• とりあえず [1,2] を読んだくらいで網羅性は保証しません
• [1] はアプローチが面白い、[2] は抑えておくべき論文
([2]の著者の研究室は長年この分野をやっている
http://www.niessnerlab.org/publications.html )
2
[1] S. Agarwal, et al., "Protecting World Leaders Against Deep Fakes," in Proc. of CVPR
Workshop on Media Forensics, 2019.
[2] A. Rossler, et al., "FaceForensics++: Learning to Detect Manipulated Facial Images," in Proc.
of ICCV, 2019.
Deep Fakesの種類 (1/2)
• [1] ではAI-synthesized mediaとも呼んでいる
• Deep fakesを3種類に分類
• face-swap
• 動画中の顔を別人に入れ替える
• lip-sync
• 口の領域を任意の音声に合うように変換する
• puppet-master
• 対象人物の顔、表情、視線をコントロールする
3
[1] S. Agarwal, et al., "Protecting World Leaders Against Deep Fakes," in Proc. of CVPR
Workshop on Media Forensics, 2019.
Deep Fakesの種類 (2/2)
• [2] ではより具体的な手法を参照している
• FaceSwap
• https://github.com/MarekKowalski/FaceSwap/
• DeepFakes
• https://github.com/deepfakes/faceswap
• Face2Face [3]
• NeuralTextures [4]
4
[2] A. Rossler, et al., "FaceForensics++: Learning to Detect Manipulated Facial Images," in Proc.
of ICCV, 2019.
[3] J. Thies, et al., "Face2Face: Realtime Face Capture and Reenactment of RGB Videos," in Proc.
of CVPR, 2016.
[4] J. Thies, et al., "Deferred Neural Rendering: Image Synthesis Using Neural Textures," in
ACM TOG, 2019.
FaceSwap(CG系)
• 顔のランドマークから顔の中央の3Dモデルを推定、
sourceからtargetにテクスチャを転写
5
https://www.youtube.com/watch?v=x2g48Q2I2ZQ
DeepFakes(Deep系)
• Sourceの潜在表現をtargetに転写
• 中央部分のみ、最後にブレンディングする 6
全員に共通の
エンコーダ
Identity個別の
デコーダ
https://www.youtube.com
/watch?v=x2g48Q2I2ZQ
Face2Face(CG系)
• Sourceの表情(3Dモデル)をtargetに転写
• 口はtargetの画像からsourceの口の形状に合うものを検索
7https://www.youtube.com/watch?v=x2g48Q2I2ZQ
NeuralTextures (Deep系)
• FaceForensics++では口だけtransferして利用?
8
J. Thies, et al., "Deferred Neural Rendering: Image
Synthesis Using Neural Textures," in ACM TOG, 2019.
Deep fake検出手法 (1/3)
• まばたきの情報を利用 [5] (目の領域にCNN-LSTM)
• 初期のGANベースのdeep fakeはまばたきしない(学習
データに目つむりのものがない)→ でもすぐに
まばたきするように
• 顔の輪郭のlandmarkと、
顔の中心のlandmarkから
推測される顔向きの
整合性を利用 [6]
9
[5] Y. Li, et al., "In Ictu Oculi: Exposing AI Created Fake Videos by Detecting Eye Blinking," in Proc.
of WIFS, 2018.
[6] X. Yang, et al., "Exposing Deep Fakes Using Inconsistent Head Poses," in Proc of ICASSP, 2019.
Deep fake検出手法 (2/3)
• Domain-specific forgery detection [2]
• 顔領域をcropしてclassificationするだけ
• [2] の一番の貢献はデータセットの構築なので…
10
[2] A. Rossler, et al., "FaceForensics++: Learning to Detect Manipulated Facial Images," in Proc.
of ICCV, 2019.
FaceForensics++の実験結果
• 動画の画質が低くなると精度劣化が激しい(LQ)
11
Deep fake検出手法 (3/3)
• Action Unitの相関を特徴量にして異常検知的に解く [1]
• これまでの手法は、事前情報なく、単に画像や動画が
与えられた場合にその真贋を判定するタスクを解いていた
• [1] の手法は、特定のidentityの動画と分かっている場合
にそれの真贋を判定する手法
12
[1] S. Agarwal, et al., "Protecting World Leaders Against Deep Fakes," in Proc. of
CVPR Workshop on Media Forensics, 2019.
Facial Action Coding System (FACS)
• EkmanとFriesenにより1978年に提案された
表情分析のため表情を
客観的に記述するための方法
• 解剖学的知見から44の動作単位
(Action Unit, AU) を定義、
これらの組み合わせで表情を表現
http://www.cs.cmu.edu/afs/cs/project/face/www/facs.htm
13
https://www.dent.niigata-
u.ac.jp/nds/journal/301/t301_terada.pdf
ACを用いた特徴量
• OpenFace2.0を使うと簡単に取得できる(17 ACs)
https://github.com/TadasBaltrusaitis/OpenFace
14
ACを用いた特徴量
• OpenFace2.0で取得できるAU45を除く16 AUsを利用
• 顔向き (pitch&roll)、口の上下左右の3次元的距離(h&v)
を加え、計20個の値を選択
• 動画セグメント(10秒)における20C2=190ペアの
相関を動画の特徴量とする
• その人物特有の筋肉の
動かし方みたいなのを学習
している?
15
Roll, pitch yaw
???? ↕
16
https://watako-lab.com/2019/01/23/roll_pitch_yaw/
Roll, pitch yaw
17
https://twitter.com/kentarofukuchi/status/549972228591198209
1-class SVMを用いた認識
• 異常検知的アプローチ。対象のidentity毎に、
改ざんなし動画の特徴ベクトルだけから学習
• 異常サンプル率νとRBFカーネルのγのハイパラを調整
18https://orizuru.io/blog/machine-learning/one-class-svm/
結果
• Comedic impersonator=ものまね芸人?
• Greedyに特徴を選択していって29個だけ使うパターンも比較 19
FaceForensics++との比較
• 画像ベースは画質に性能が依存する
• AUベースはAUの認識さえちゃんとできれば良い
20

Deep Fakes Detection