【論文読み】Detecting Deepfakes with Self-Blended Images(SBIs)【DeepFake検知新技術】

原論文をもとに解説していますが、**間違い、ご指摘などあればお気軽にご連絡ください！**

# はじめに

「Deepfake」は、**AIによって写真や動画に映る顔を他人の顔に置換することでフェイク画像／動画を作る技術**です。
近年は**権利やプライバシーなど様々な分野で問題視されており**、**「フェイクかどうか」と見極めるAIも近年登場しています**。
今回紹介する「Detecting Deepfakes with Self-Blended Images(SBIs)」は、DeepFakeを見破るAIを学習するための最新技術です。

こちらの技術は東大の研究室が開発したものです。

https://www.i.u-tokyo.ac.jp/news/press/2022/202204262039.shtml

この記事で引用する図表はすべて原論文が出典です。一部の図は独自に構成したものです。

https://arxiv.org/abs/2204.08376

Shiohara, Kaede, and Toshihiko Yamasaki. "Detecting Deepfakes with Self-Blended Images." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.

---

## 概要

- DeepfakeはAIによる生成物だが、それを見破るAIも近年活発に研究されている
  - SBIsは、Deepfake画像を疑似的に作成してDeepfake検知AIの学習用データセットを作成する技術
    - 画像認識AIを、この独自データセットで追加学習することで「高精度なDeepFake検知AI」ができあがる 
  - 「同一人物の一枚の写真から疑似的なDeepfake画像を作成する」ことが本論文の新規性である
  - 実際の顔画像を用意するだけで簡単にデータセットを作成できるうえ、最新の画像認識モデルで学習することで最も高精度にDeepfakeを検出できることが示された

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1373557/93db57c0-a965-9605-c081-011c67710cf7.png)

---

## 研究背景

:::note info
【ポイント】
疑似的なDeepfake画像を生成しデータセットを作る技術は従来からあるが、
近年の巧妙なDeepfake AIの生成画像を見破ることはできなかった
:::

- 従来からDeepfake検知AI学習用のデータセットを作る技術がある
  - 「ある顔写真の顔の部分を他人の顔に置き換える」ことが主流
  - しかし、最近の巧妙なDeepfake画像に対しては検知精度が上がらないことが問題だった
- 「自分の画像をブレンド(=Self-Blended)して疑似的なFake画像を作る」ことでDeepfake検知AIの精度を向上させることに成功した

【従来技術のイメージ】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1373557/25ee77cc-c7b7-7285-758e-a01501c7062d.png)

【SBIsのイメージ】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1373557/754e2ac9-236f-f108-b4b2-1bae6f4625aa.png)

---

## DeepFakeの特徴

:::note info
【ポイント】
DeepFake AIによってある顔写真を他人の顔に置き換えると、一部分で画像の一貫性が失われる（下記参照※）
**近年の巧妙なDeepFakeにもこのような微小な「合成跡」があり**、これを「同じ顔写真を用いて」再現することで、DeepFake検知AIの精度向上を実現した
:::

- Deepfake画像は、顔の部分を置き換えることでアーティファクト（※合成による不自然な部分）が発生することが知られている
  - ランドマーク（顔パーツ）、境界、色、周波数特性の不一致＊

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1373557/fc7edfe6-4c27-d984-f84d-b96f9bd2de02.png)


＊「周波数特性の不一致」の技術的な解釈
額の部分は髪やほくろが鮮明である＝高周波成分を含む領域
顔の部分はぼやけている＝高周波成分を含まない領域


---
# 本研究のアプローチ

## 全体概要
:::note info
【ポイント】
**一枚の顔写真のみを用いてFake画像を作成する**ことで、Deepfake画像特有の微小な不一致性を持ち、かつ、よりFakeと認識しにくいデータセットを作成できる
⇒ **このデータセットを使って画像認識AIを学習すれば、わずかなDeepFake合成跡を検出できるAIができあがる**
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1373557/4d2ecde5-1592-6bd3-89e6-41f04c315b22.png)

その処理方法から、Self-Blended Images(SBIs)“自身ブレンド画像”と呼んでいます。

---
## SBIs生成の方法

:::note info
【ポイント】
合成前／後の顔写真を生成する「Source-Target Generator(STG)」と
合成する顔の領域を出力する「Mask Generator(MG)」で構成される
:::

| No | 処理の流れ |
|:-:|:--|
| STEP 1  |  実際の顔画像をSTGとMGに入力する |
| STEP 2  |  STGは、画像の色味などの変更を加え、加える前と後をペアにしておく。Sourceの顔の位置や角度をわずかに移動する |
| STEP 3  |  MGは、元の顔画像の顔の位置を検出し、「置き換える顔の領域」のマスクを生成する。Step2で移動した位置・角度を反映させる。 |
| STEP 4  |  TGの出力画像と、MGのマスクを利用して、わずかに色味や位置・角度がずれた顔画像を合成する |


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1373557/5dab8678-c686-155b-451d-b77936124597.png)

---
## SBIsの例

:::note info
【ポイント】
一見しただけではFakeと見破れない顔の合成画像が生成できる
従来と比べ合成する顔写真の検索が必要ないため、SBIsは汎用性が高い
:::

- 本研究の処理により、わずかに顔の位置、色や輝度、シャープネスなどの違いのある合成画像が生成できた
  - 一見しても、顔写真を加工し合成された画像とはわかりにくい
  - 画像に施す変換処理は背景と顔でそれぞれ異なるため、SBIsはDeepfake特有の不一致性を再現できている


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1373557/a8357042-3579-539b-4973-54f7572736aa.png)

上段：入力画像、下段：SBIs（DeepFakeを再現した画像）

---
# 実験手法
:::note info
【ポイント】
従来手法と本研究の提案手法を、複数のDeepfakeデータセットを用いて検出精度を比較
:::

- 既存の画像認識ネットワーク「EfficientNet」の学習済みモデルを、SBIsを用いてDeepfake検知タスク向けにファインチューニングしたものを利用
- 実際のDeepfake画像を用いた検知精度をAUC＊で比較


:::note info
AUCとは
2値分類タスクにおいて精度を図る指標の一つです。
Deepfake画像を正しく「偽物」として検出できた割合が高く、かつ本物の顔画像を「偽物」として検出してしまった割合が低いほど値が大きくなる評価指標で、0.5～1の範囲を取ります。

定義的には、真陽性率と偽陽性率をプロットしたROC曲線の下側の面積のことを指します。

Deepfake画像を正しく「偽物」として検出できた割合＝真陽性率（TPR）
本物の顔画像を「偽物」として検出してしまった割合＝偽陽性率（FPR）


:::
# 実験結果
:::note info
【ポイント】
従来の検知技術よりも、多くのDeepfake画像データセットで検知精度の向上に成功

- ５つのうち４つのDeepfakeデータセットにおいて、提案手法が最も高い精度を出している
- 提案手法はDeepfake画像を用いない学習にもかかわらず、多くの従来手法を凌駕している

:::

表. 従来手法と提案手法の検知精度の比較
従来手法のAUCは各論文に示されている値

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1373557/6af1ecf0-8446-2902-db6a-36fc039cf70c.png)


---
## 従来手法と提案手法のモデルの特徴付けの違い①

:::note info
【ポイント】
従来手法で学習したDeepFake検知AIは、置き換えた顔全般の特徴を重視していたが、提案手法では、より詳細な不一致性のある個所を重視していることがわかった
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1373557/983f00a8-0688-709e-25eb-400f0cf6803a.png)
図. 各Deepfake画像を入力したとき検出モデルが重視する領域(顕著性マップ)
左の列から、Deepfake画像、ベースライン(従来手法)モデルの顕著性マップ、提案手法の顕著性マップ

---
## 従来手法と提案手法のモデルの特徴付けの違い②

:::note info
【ポイント】
従来手法では、SBIsと本物の顔画像を混同していたが、SBIsで学習したモデルは判別できる能力を有しており、より正しく検知できる
:::

- 従来手法のモデルでは、本物の顔画像とSBIsの特徴マップが重なり、SBIsをFakeとして検知できない
- 提案手法では、本物の顔画像の特徴がSBIsやほかのDeepfake画像と離れた領域にあるため、誤検知率を下げることに貢献している

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1373557/f752d967-65c6-72fb-4f69-5377fa60c50e.png)
図. 従来手法と提案手法の特徴マップの可視化
次元削減手法t-SNEを用いて２次元に圧縮したベクトルを可視化している
上：従来手法、下：提案手法　水色：本物の顔画像、茶色：SBIs


---
# 技術的な制限

:::note info
【ポイント】
SBIsは、ある顔画像の顔部分を置き換えることの不一致性に重点を置いた画像フレーム単位の手法であるため、場合によってうまく検知できない場合がある
:::

- 動画特有の一時的な不一致性（動きで顔がぼやける等）
  - 提案手法は画像単位で学習されたモデルであるため、時間方向の特徴を検出することはできない
- 画像“全体”を生成するDeepfake画像
  - 実際の写真や映像の顔一部分を置換するのではなく、画像全体を生成するようなAIの生成画像に対してはうまく検知できない

--- 
# まとめ
- SBIsは、顔画像自らを用いて疑似的なDeepfake画像を合成する手法
  - 合成した画像は、Deepfake検知AIの学習データセットとして用いることができる
- この合成データセットを用いて検知AIを学習することで、様々なDeepfakeの検知精度が向上した


---

# 参考文献

- SBIs原論文

Shiohara, Kaede, and Toshihiko Yamasaki. "Detecting Deepfakes with Self-Blended Images." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR). 2022.


https://arxiv.org/abs/2204.08376