GFPGAN と GPEN、どちらの顔補正を使うべきか
どちらも顔交換のあとに動く「顔復元モデル」であり、交換モデルそのものではありません。適切な選択は、画面内で顔がどれだけ大きいか、素材がどれだけ劣化しているか、そして書き出しかライブかで決まります。

結論: 書き出す画像と動画には GPEN-512 が妥当な既定値です。ライブプレビューや性能が控えめな端末には軽量な GPEN-256。大きく劣化した低解像度の顔には GFPGAN が最も強く復元しますが、のっぺりして不自然に見えやすくなります。顔が小さく素材がきれいなら「オフ」のままが正解です。
顔交換と顔補正は、別々の仕事をする別々のモデルです。この二つを混同することが、期待外れの大半の原因になっています。
補正では直せないもの
補正は顔交換のあと、顔領域に対して実行されます。人物への割り当て間違い、位置合わせのずれ、フレーム間で飛ぶトラッキングは補正では直りません。不安定な映像では、各フレームが個別に鮮鋭化されるため、強い補正はむしろ不安定さを目立たせます。先に割り当てと位置合わせを直してください。複数人ガイドを参照。
1. 顔補正が実際に行っていること
Deep Face Cam の交換モデルは INSwapper 128 で、出力される顔は 128×128 ピクセルです。そのパッチをターゲットのフレームに変形して貼り戻します。顔が小さく写る引きの画なら 128 ピクセルで十分ですが、1080p や 4K のクローズアップでは足りません。交換後の顔が拡大されている状態で、肌の質感が失われて見えます。
補正の役割は、その顔領域をあとから復元することです。顔を切り出して位置を揃え、復元モデルを通し、境界が見えないように縁をぼかしてフレームへ戻します。GFPGAN と GPEN は、この工程に使う別々の復元モデルです。
2. アプリ内の4つの選択肢
Deep Face Cam では、補正は複数のトグルではなく単一の選択肢として Advanced options に用意されています。次の中から1つを選びます。
| 設定 | モデル | ダウンロード容量 | 想定用途 |
|---|---|---|---|
| Off | — | — | 最速。追加の復元を行わず、交換結果をそのまま保持します。 |
| Fast repair | GPEN-BFR-256 | 約76MB | ライブプレビューや低スペック端末向けの軽量補正。 |
| HD repair | GPEN-BFR-512 | 約284MB | 動画と画像で顔のディテールが向上。FPS の負荷は大きくなります。 |
| Strong repair | GFPGAN(1024) | 約366MB | ぼけた顔や低解像度の顔に最も強い復元。ただし平滑で不自然になる場合があります。 |
モデル名の数字は処理解像度、つまりモデルが扱う整列済み顔クロップのサイズです。比較の核心はここにあります。GPEN-256 は 256 ピクセルの顔を、GPEN-512 はその4倍の面積を扱い、同梱の GFPGAN モデルは 1024 を対象とします。処理解像度が大きいほど復元できるディテールは増え、顔あたりの計算量も増えます。
これらのモデルはソースリポジトリには含まれていません。確認後に必要なものだけがユーザーのモデルディレクトリへダウンロードされ、公開された SHA-256 チェックサムで検証されてから使用されます。オフラインで作業する予定なら、使う補正モデルを先に取得しておいてください。
モデル容量・処理解像度・ディスク使用量
| 設定 | モデルファイル | 処理解像度 | 画素数 | GPEN-256 比 | ダウンロード |
|---|---|---|---|---|---|
| Off | — | — | — | — | — |
| Fast repair | GPEN-BFR-256.onnx | 256 × 256 | 65,536 px | 1× | 76 MB |
| HD repair | GPEN-BFR-512.onnx | 512 × 512 | 262,144 px | 4× | 284 MB |
| Strong repair | gfpgan-1024.onnx | 1024 × 1024 | 1,048,576 px | 16× | 366 MB |
目安として、交換モデルの出力は 128 × 128、つまり 16,384 画素です。HD repair はその 16 倍、Strong repair は 64 倍の画素面積で顔を作り直します。補正が引きの画よりクローズアップで効く理由はここにあります。
| ダウンロード構成 | ファイル | 容量 |
|---|---|---|
| 動作に必須 | inswapper_128.onnx + buffalo_l.zip | 843 MB |
| 任意の交換モデル | inswapper_128_fp16.onnx | 278 MB |
| 補正モデル3種すべて | GPEN-256 + GPEN-512 + GFPGAN | 726 MB |
| すべて | 6 | ≈ 1.85 GB |
容量はモデルマニフェストに公開されている値です。各ファイルはダウンロード後にチェックサム検証され、ユーザーのモデルディレクトリに保存されます。Apple シリコンではこれに加えて CoreML キャッシュファイルが生成されます。
3. 状況別の選び方
役に立つ問いは「どのモデルが最良か」ではなく、「顔が何ピクセルを占めるか」「元素材がどれだけ悪いか」です。この2つの答えが、使うモデルを決めてくれます。
| 状況 | まず試す設定 | 理由 |
|---|---|---|
| ポートレート写真、顔が画面いっぱい | HD repair(GPEN-512) | 大きな顔に十分な処理解像度がありながら、過度な平滑化のリスクは最強モデルより低い。 |
| 1080p のトーキングヘッド動画 | HD repair(GPEN-512) | ディテールとフレームあたりコストの釣り合いが最も良い。 |
| 引きの画で顔が小さい | オフ、または Fast repair | 交換パッチのサイズが画面上の顔と近く、補正は主に時間だけを増やす。 |
| 古い映像・圧縮の強い映像・低解像度 | Strong repair(GFPGAN) | 最も攻めた復元であり、劣化の大きい入力にはそれが必要。 |
| ライブのウェブカメラ | Fast repair(GPEN-256、利用可能な場合) | 最小のモデルで遅延が小さい。後述の実行環境条件に注意。 |
| 複数人が映るショット | まずオフ、その後で上げる | 補正は顔ごとに走るため、人数分コストが増える。 |
4. 設定画面には書かれていないトレードオフ
ディテールと本人らしさ。復元モデルは「それらしい」顔のディテールを再構成します。復元が強いほど、モデルが考える顔らしさの影響が大きくなります。劣化の激しい入力ではそれが望ましい挙動ですが、もともと悪くない顔では、肌の質感や微細な表情が静かに置き換わります。結果はきれいになり、本人らしさはわずかに薄れます。Strong repair はこのリスクが最も大きい設定です。
のっぺりしすぎ。強い復元に対する不満で最も多いのが、蝋のような質感です。肌の質感が消え、無精ひげがならされ、しわが平らになります。周囲と比べて「きれいすぎる」と感じたら、シャープネスで取り繕うのではなく、モデルを1段下げてください。
顔と背景のちぐはぐさ。補正は顔領域だけに適用されます。低品質な映像の中で顔だけが強く復元されると、その顔単体では良く見えても、画面全体としては作り物に見えます。切り抜いた顔ではなく、必ずフレーム全体で判断してください。
時間方向の一貫性。動画では各フレームが個別に補正されます。フレーム間のわずかな差は、肌のちらつきや顔の境界のフリッカーとして現れます。モーションブラー、照明変化、横向きなど、もともと難しいフレームで最も目立ちます。
コストはフレーム単位ではなく顔単位。補正は検出された顔ごとに1回実行されます。1フレームに4人いれば、4回の交換に加えて4回の補正が走ります。複数人のレンダリングが想定よりはるかに遅くなる最大の理由がこれです。
5. ライブプレビューには明確な実行環境条件があります
実務上いちばん驚かれるのがこの点です。Deep Face Cam では、ライブ中の顔補正が有効になるのは実行環境が CUDA または DirectML を使っている場合です。それ以外の execution provider で動作しているときは、ライブのパイプラインは顔交換のみを実行し、その旨がオプションパネルに表示されます。
画像と動画の生成は影響を受けません。その実行環境でも、書き出しにはどの補正モデルも使えます。補正工程が外れるのはライブカメラの経路に限られます。ライブの画質を優先するなら、この条件がインストールするビルドの選択そのものを左右します。リアルタイム顔交換ガイドもご覧ください。
バックエンドのプロバイダー優先順位は CUDA、ROCm、CoreML、DirectML、CPU の順です。Apple シリコンでは ONNX Runtime の CoreML プロバイダーを使用します。書き出しには良い経路ですが、上記のライブ補正条件は満たしません。
6. 自分の環境で10分で検証する手順
モデル比較は、自分の素材と自分のハードウェアで行ってこそ意味があります。再現できるテストは短くて済みます。
- クローズアップ、引きの画、明らかに画質の悪い素材を1本ずつ用意する。
- 他の設定は変えずに、Off・Fast・HD・Strong の4回ずつ書き出す。
- 切り抜いた顔ではなく、フレーム全体を等倍で比較する。
- 各パスの実時間と、マシン構成・execution provider を記録する。
- ライブでは Show FPS を有効にし、補正のオン・オフでのフレームレートを記録する。
- 平滑化のしすぎ、境界のフリッカー、顔と背景の質感差を重点的に確認する。
この表はプロジェクトのメモとして残しておいてください。補正のコストはプロバイダー、解像度、フレーム内の顔数に左右されるため、一般的なベンチマークよりはるかに価値があります。
よくある質問
GFPGAN は GPEN より優れていますか?
どちらかが常に優れているわけではありません。GFPGAN は最も強い復元で、大きく劣化した低解像度の顔には適していますが、平滑になりやすい設定でもあります。GPEN-512 は画像と動画の標準的な落としどころ、GPEN-256 は速度を優先する場合の軽量な選択肢です。
そもそも顔補正は必要ですか?
常に必要とは限りません。交換の出力は 128 ピクセルの顔パッチなので、補正が効くのは顔が画面上で大きいときや元素材が劣化しているときです。きれいな素材で顔が小さい場合は「オフ」のほうが自然で、しかも最速です。
補正で失敗した顔交換を修復できますか?
できません。人物への割り当て、位置合わせ、不安定なトラッキングは補正では直らず、むしろ不安定さが目立つことがあります。先にそちらを解決してください。
補正を有効にしたらレンダリングが大幅に遅くなりました
補正は検出された顔ごとに実行され、各交換の上に復元処理が1回分追加されるためです。複数人の素材ではその分だけコストが増えます。
補正モデルはどこに保存されますか?
ユーザーのモデルディレクトリです。明示的な確認のうえでダウンロードされ、チェックサムで検証されます。リポジトリには含まれないため、新しい補正モデルの初回利用時にはネットワーク接続が必要です。
補正はモデル名ではなく素材で選ぶ
自分のクリップで Off・Fast・HD・Strong を試し、切り抜きではなくフレーム全体で比較し、結果の横にレンダリング時間を残してください。