About

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本」なのに、結果が真逆になる。

PhotoidentityVideomotionA. Face swappaste the photo faceonto the videoC. Reenactmentanimate the photoVideo with your facehair, body, background: videoYour photo, movinghair, body, background: photoSame inputs, opposite results

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に相談してほしい(お問い合わせ)。

キーコンセプト

1

FaceFusionは特定のソフトウェアの名前で、手法ではない

2

身元・動き・髪がどこから来るかで4系統に分ける

3

同じ入力でもA(交換)とC(再演)は結果が逆になる

4

InsightFaceのモデルは非商用研究用 — サービスに使う前にライセンスを確認

ユースケース

顔まわりのAIツールを選ぶ前に、比較できる相手を仕分ける サービス公開前にモデルのライセンスを点検する
← AIアバターSDKは「どこまで切り離せるか」で選ぶ — Anamの3モードと、切り離すほど増える責任 顔交換で髪が変わらないのは性能ではなくマスクの範囲のせい — 複数のモデルがリレーするパイプライン →