Windows環境におけるFaceFusion導入ガイド
この記事は、Windows上のWSL2環境でLinuxコマンドやPython環境構築の基礎知識を持つ方を対象としています。GPUを活用したAIツールのセットアップを初めて行う方でもスムーズに導入できるよう丁寧に説明しています。
FaceFusion について
FaceFusionは、最先端のAI技術を活用した顔交換・顔操作プラットフォームです。画像や動画内の人物の顔を別の顔に自然に置き換えることができ、リアルタイムで高品質なフェイススワップを実現します。特にDeepfake(ディープフェイク)と呼ばれる技術を用いており、映画やゲーム制作、エンターテインメント、ソーシャルメディアなどの幅広い分野で利用されています。
FaceFusionはオープンソースとして提供されているため、個人利用から商用利用まで柔軟に活用可能です。また、最新のGPU技術(CUDA)に対応しているため、GPUを利用した高速かつ効率的な処理が可能となっています。
本記事では、FaceFusionをWSL2(Windows Subsystem for Linux 2)上で最新のGPU対応環境をセットアップし、実際に使えるようになるまでの手順をわかりやすく解説します。
FaceFusion の利用方法
本章では、FaceFusionを導入した後の実際の利用方法について、WSL2環境(Ubuntu 22.04)を前提として解説します。CUDA対応のGPU環境を想定しています。
事前準備(環境構築)
FaceFusionを使用する前に、次のパッケージやツールを導入済みであることを確認します。
もし導入がまだの場合は、以下のコマンドでインストールしましょう。
sudo apt update
sudo apt upgrade -y
# Gitのインストール
sudo apt install git-all -y
# cURLのインストール
sudo apt install curl -y
# FFmpegのインストール(動画処理に必須)
sudo apt install ffmpeg -y
Conda(Python仮想環境)のセットアップ
FaceFusionの依存関係を管理するために、Condaを導入します。
# 最新のMinicondaをダウンロード
curl -LO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# Minicondaのインストール
bash Miniconda3-latest-Linux-x86_64.sh
補足
補足:
インストールスクリプト実行中、ライセンスの確認やインストールパスの指定があります。
デフォルトで問題なければ、Enterキーやyesと入力して進めてください。
インストール完了後、ターミナルを再起動するか、新しく開き直してConda環境を有効にします。
Conda環境を初期化します。
conda init --all
補足
補足:
初期化後は必ずターミナルを再起動してください。
再起動後、プロンプトの先頭に (base) と表示されていれば正常です。
FaceFusion用の専用環境を作成・有効化します。
# FaceFusion用仮想環境を作成(Python 3.12を使用)
conda create --name facefusion python=3.12 -y
# 仮想環境を有効化
conda activate facefusion
補足
補足:
環境が正常に有効化されていればプロンプトが (facefusion) に変わります。
GPU(CUDA)対応環境のセットアップ
FaceFusionはGPUを利用すると劇的に高速化します。CUDA環境を導入します。
conda install conda-forge::cuda-runtime=12.8.0 conda-forge::cudnn=9.7.1.26 -y
補足
補足:
すでにWindows側や別途環境にCUDAがインストールされている場合でも、
Conda環境内で明示的にCUDA RuntimeとcuDNNをインストールすることで、ライブラリの整合性が確保されます。
GPUが正常に認識されるか確認します。
nvidia-smi
正常にGPU情報が表示されれば準備完了です。
エラーの場合、NVIDIAのドライバが未導入の可能性があります。
その際はWindows側でCUDA対応ドライバをインストールし、WSLを再起動してください。
FaceFusionの取得とインストール
FaceFusionをGitHubリポジトリからクローンし、依存ライブラリをインストールします。
# リポジトリをクローン
git clone https://github.com/facefusion/facefusion
# ディレクトリに移動
cd facefusion
# GPU対応版の依存関係をインストール
python install.py --onnxruntime cuda
補足
補足:
install.py
実行中に不足しているパッケージがあるとエラーが出ることがあります。
その場合、エラーの指示に従い適宜追加インストールを行ってください。
FaceFusionの起動と動作確認
すべての準備が整ったら、FaceFusionを起動して動作を確認します。
python facefusion.py run --open-browser
# [FACEFUSION.DOWNLOAD] Validating source for <ファイル名> failed
# 上記のようなエラーが出る場合はエラーが出力されなくなるまで上記コマンドを繰り返し実行してみてください。筆者の環境ではそれで起動まで至ることができました
補足
補足:
上記コマンドを実行するとFaceFusionのWeb UIが起動します。
通常、ローカルホストの http://127.0.0.1:7860 等にアクセスして利用します。
WSL2環境では、ブラウザが自動で起動しない場合が多いため、その際は画面に表示されたURLをWindows側のブラウザにコピー&ペーストしてください。
基本的なFaceFusionの利用手順
FaceFusionのWeb UIが表示されたら、次の手順で基本的な顔交換を行います。
- 「Source」 の項目で、交換元(差し替える顔の画像または動画)を指定します。
- 「Target」 の項目で、交換先(差し替え対象となる動画または画像)を指定します。
- 「Processors」 から Face Swapper を選択し、モデルはデフォルトの「inswapper_128.onnx」を使用します(必要に応じて他のモデルを選択できます)。
- GPUを使用するためのプロバイダー選択(「Providers」)で、CUDAExecutionProvider** が選ばれていることを確認してください。
- 設定を確認したら、画面下部にある 「Start」 ボタンを押します。
これで処理が開始され、結果がリアルタイムにプレビュー表示されます。
下記は Source にベートーベン、Target にバッハを指定した結果の出力になります。
Discussion