FaceFusionは手法ではなく部品の組み立て機だ — 顔を変える技術の4系統マップ
顔交換・ID条件付き生成・顔の再演・動画生成 — 系統が違えば比較の対象にならない
「FaceFusionでやった」という言い方をよく聞くので、FaceFusionは顔交換の手法の名前だと思っていた。違う。GitHubの facefusion/facefusion という特定のソフトウェアの名前で、学術用語でも手法名でもない。
顔を変える技術は大きく4系統あり、系統が違えば比べる対象にならない。この記事を読めば、検索で混ざって出てくるツール・モデル・サービスの名前をどの枠に入れるか、自分の目的にはどの系統が合うかを選べるようになる。
先に線を一本引いておく。使うのは本人の顔か、同意をもらった顔だけ。公開するときはAIで変えた映像(ディープフェイク)だと明記する。この記事はすべてこの前提で書いている。
まず用語
face swapping(顔交換) はAの身元(誰であるか)をBの顔に移す。FaceFusionの主な機能だ。face reenactment(顔の再演) はAの表情や動きをBに移す。向きが逆になる。deepfake はこれらをまとめた一般的な呼び名だ。
交換のやり方も2つに分かれる。写真1枚で済む one-shot(inswapper、hyperswap、SimSwap)と、人物のペアごとに学習する subject-specific(DeepFaceLab)。
4系統マップ
| 系統 | 身元は | 動きは | 髪・頭の形は | 代表 |
|---|---|---|---|---|
| A. 顔交換 | 写真から | 動画から | 動画のもの | FaceFusion、roop、Deep-Live-Cam |
| B. ID条件付き生成 | 写真から | なし(静止画) | 新しく生成 | InstantID、PhotoMaker、PuLID、IP-Adapter FaceID |
| C. 顔の再演 | 写真から | 動画から | 写真のもの | LivePortrait、Hallo、EchoMimic |
| D. 動画生成による置き換え | 写真・プロンプト | 元動画を参照するか新規 | 新しく生成 | Runway Aleph、Wan 2.2 Animate、Kling |
この表で一番面白いのはAとCだ。入力は同じ「写真1枚+動画1本」なのに、結果が真逆になる。
Aで試したとき、元の俳優の坊主頭がそのまま残る問題が出た。仕組み上、Cではこの問題は起きない。代わりに背景と体が写真のものになる。Cはまだ自分で動かしておらず、これは表の枠から読める予想だ。
いつどれを使うか
元動画の演技・照明・カメラを生かして顔だけ変える → A
自分の顔の新しい画像(プロフィール、サムネイル)が欲しい → B
写真1枚をしゃべらせる・動かす → C
髪・服・体型までまるごと変える → D。ただし元の「再現」ではなく、新しく作った場面になる
「FaceFusionとRunway、どっちがいい?」という質問はそもそも成り立たない。片方はA、片方はDだ。
FaceFusionは部品の組み立て機
FaceFusionの中では段階ごとにモデルを差し替えられる。どの組み合わせで動かしても「FaceFusionでやった」と呼ばれる。
| 段階 | 今回使ったもの | ほかの選択肢 |
|---|---|---|
| 検出 | yolo_face |
retinaface、scrfd、yunet |
| 交換 | hyperswap_1a_256 |
inswapper_128、simswap_256/512、blendswap、ghost、hififace、uniface など |
| 補正 | gfpgan_1.4 |
codeformer、gpen_bfr、restoreformer++ |
交換以外にも lip_syncer、expression_restorer、age_modifier、frame_enhancer、background_remover といったプロセッサを付けたり外したりできる。
この骨組み(検出→位置合わせ→交換→マスク→合成→補正)はFaceFusionだけのものでもない。roopもDeep-Live-Camも同じ構造だ。論文が新しく出すのはたいてい真ん中の交換モデルひとつで、前後の段階は既存のものを持ってくる。SimSwapやHifiFaceがFaceFusionの競合ではなく、選択肢のリストに名前が載っている理由がこれだ。各段階が実際に何をしているかは 顔交換で髪が変わらない理由 で分解した。
根っこはInsightFace
A系統の部品の多くはInsightFaceプロジェクトから来ている。顔を身元ベクトルに変えるArcFace(今回 arcface_w600k_r50 として実際に使った)、検出器のRetinaFace・SCRFD、one-shot交換の出発点になったinswapper_128。
ライセンスは必ず確認する。InsightFaceのリポジトリは、コードはMITだが、学習データとそれで学習したモデルは非商用の研究用途のみと書いている。inswapper系はライセンスについて別途問い合わせるよう案内している(2026-10-19確認)。個人のローカル実験とサービス公開はまったく別の話だ。
顔交換やアバターをサービスに入れたいが、どの系統・どのライセンスで進めるべきか整理したいなら、negabaroに相談してほしい(お問い合わせ)。
キーコンセプト
FaceFusionは特定のソフトウェアの名前で、手法ではない
身元・動き・髪がどこから来るかで4系統に分ける
同じ入力でもA(交換)とC(再演)は結果が逆になる
InsightFaceのモデルは非商用研究用 — サービスに使う前にライセンスを確認