1枚の顔写真の画像を使って動画内の顔を入れ替えるSwapface

Swapface

SwapfaceはAI技術により動画内の人物の顔を認識し、その顔を別の人物の顔に入れ替えて出力保存出来る動画変換ソフトウェアです。たった1枚の画像を使って顔を入れ替える事が出来るという手軽さで、完成度もかなり高め。筆者は1、2年前からSwapfaceで遊んでいましたが、当時のバージョンでは人物の顔に手が重なったり軽くうつむいた体勢になっただけで顔の入れ替えが一時的に解除されたりと精度に問題がありました。ただ現バージョンではそれらの問題もかなり改善されており、映像次第では殆ど違和感無く綺麗に顔を入れ替える事が出来ます。しかし現バージョンでも深くうつむいた体勢や画面端に顔の一部が見切れた状態になると入れ替えが一瞬解除されてチラつきが出たりするので過度な期待は禁物です。

Swapfaceは無料で使用出来るFreeプランの他、制限や機能が異なる幾つかの有料プランが用意されています。Freeプランの場合、1日に作成出来る動画が10本まで、入れ替え先となる顔が写った画像のアップロードが1日10枚まで、出力の際に画面下にウォーターマーク(Swapfaceの文字)が挿入されます。但しこれら制限は回避する事も可能なので、そこら辺の情報はこの記事内で後述します。

対応OSはWindows 11含む10以上の他、macOS版も用意されています。動作環境はIntel Core i5 9400、もしくはAMD Ryzen 5 2600以上のCPU、8GB以上のメモリ、NVIDIA Geforce GTX 1060、もしくはAMD Radeon RX 580以上のGPUが必要です。推奨環境はメモリ 16GB以上、RTX 2070、もしくはRX 5700以上となっておりCPUの性能よりもGPUの性能次第で変換速度に大きな差が出ます。

入力出来る動画形式は筆者が確認した所ではmp4, avi, wmv, mpg, mov, mkv, webmが可能でしたがアニメーション含むGIFも入力出来ます。出力はmp4形式となり映像はH.264/MPEG-4 AVC、音声はaac形式に変換され保存されます。

Swapfaceのダウンロードとインストール

Swapface公式サイトからリンクを辿ってダウンロードページを表示。2つのダウンロードリンクがありますが、「Download for Windows」となっているのが公式サイトからインストーラをダウンロード、下の「Download from Mega」はクラウドサービスのMegaからダウンロードします。

Swapface ダウンロード

ダウンロードしたSwapfaceのインストーラを実行すると最初にインストール対象のユーザー選択画面が表示されます。上の全ユーザーか下の自分のみを選択して「Next」で進みます。

Swapface セットアップ画面

プログラムのインストール先の設定画面になります。標準でCドライブ直下になっている筈ですが、筆者はその下のユーザーフォルダに変えてインストールしました。「Install」ボタンをクリックすると指定場所にインストールが実行されます。

インストール先選択画面

インストールはそれなりに時間が掛かり画面が硬直したような状態になる事がありますが、インストールが完了すると「Completing Swapface Setup」と表示されます。「Run Swapface」にチェックが入ったまま「Finish」ボタンで閉じるとSwapfaceが自動で起動します。

インストール完了画面

Swapfaceのアカウントを作成

Swapfaceはローカルで動作するソフトではありますが、入れ替え先となる顔写真の画像などはSwapfaceのクラウドに保存される仕組みになっており、先にアカウントの作成と作成したアカウントでのサインインを行わなければ使用出来ない仕様になっています。

上述の件を踏まえた上でSwapfaceを起動すると最初にサインイン画面が表示されますが、初めて使用する場合はアカウントが無い状態なので下部にある「Dont’t havs an account?」の「Sign up」をクリックしてアカウントの作成画面を表示します。

Swapface サインイン画面

アカウントの作成画面では「Email address」欄にメールアドレスを、「Password」欄に8文字以上で任意のパスワードを、その下の「Confirm」は確認としてパスワードを再度入力しておきます。ここから下は一旦空の状態で良いので「Send」をクリック。

Swapface アカウント作成画面

「The verification code…」(確認コードがメールに送信されました…)と表示されるのでメールアドレスを確認します。メールの「Your verification code is」の後に確認コードが記載されているので、このコードをアカウント作成画面の「Verification Code」欄に入力。その下の「Invitation code」は直訳で招待コードとなりますが空のままで問題ありません。更に「I agree…」(規約への同意)にチェックを入れて「Go」でアカウントが作成されます。

確認コード記載メール

アカウント作成後はサインイン画面で登録に使用したメールアドレスと自身で設定したパスワードを入力してサインイン。因みにパスワード入力欄の下にある「Remember me」にチェックを入れておくと次回起動時から自動でサインイン出来るようになります。

Swapface 使い方

まず最初に画面右上にある歯車のアイコンボタンからメニューを出し「Set」で設定を開きます。上部メニューの「General」にある「Path」の「Output storage folder」は変換したファイルの出力先を指定でき、「Processing device」で変換に使用するデバイスを指定(通常GPU)、「Processing mode」で標準以外に「Energy-saving mode」(省エネモード)や「Graphic Card RAM-saving mode」(低VRAMモード)に変更出来ます。「Model」ではv1からv3まで選択出来ますが、説明ではバージョンが高いほどパフォーマンスに優れるとあるので筆者はv3にしています。

Swapface 設定画面

設定画面の上部メニューの「Video Faceswap」と「Deep Faceswap」にある設定については下に説明文を要約して抜粋します。また、設定の変更を行った際は「Save」ボタンで保存します。

Face Detection Sensitivity Threshold
顔検出の閾値の設定。低く設定すると小さい顔や部分的に隠れた顔を検出出来る分、誤検出が多くなる。高く設定すると顔を見逃す可能性が高まる。
Face Tracking Sensitivity Threshold
顔追跡の感度の設定。低く設定すると微妙な顔の動きを補足出来る一方、誤検出が増加する可能性がある。高く設定すると一部の顔の動きを捕捉し損なう可能性がある。
Face Enhancement Intensity
顔の超解像効果の強さを設定。範囲は0.1(微妙な強調)から1.0(最大の強調)で行い、高い値ほどシャープさとディテールが増すが、設定が高すぎるとアーティファクト(人工物感)が発生する。
Video Coverter
GIF to MP4はGIFの変換の際にMP4形式で出力、WEBP to MP4も同様にMP4形式で出力する。
Color Transfer
Apply Color Transferを有効化した場合、自動的に色調を調整して合成された顔を調和させる。これにより肌の色合いや照明条件を一致させ、よりシームレスなブレンドを実現する。

メイン画面に戻って上部にある「Video Faceswap」から動画内の顔を別人の顔に入れ替えていきます。その前に標準でサンプルの顔写真が登録されていますが、かなり分かり難いものの各サムネイルの右上に×ボタンがあるので、それをクリックすると削除出来ます。但し標準登録されている顔写真は完全削除は出来ず「More」ボタンで全表示した際に表示されます。

まずは画面左の「Select Videos or Gif」ボタンか画面内へのドロップで動画ファイルを入力、右にある「Upload」ボタンで入れ替えたい顔写真の画像をアップロードしておきます。

Swapface メイン画面

動画ファイルを入力すると、その動画内に映っている人物の顔が検出されます。検出結果が表示されたらクリックして選択状態にし、「Choose」で登録します。動画によっては複数人の顔が検出さますが、顔の入れ替え対象のみを選択して登録します。

顔検出画面

動画内から検出された顔が下部の「People Recognized」に登録されたのを確認して、右からアップロード済みの顔写真の画像を選択します。今回は分かりやすいように動画の女性の顔に対して、フリー写真素材のぱくたそさんで拝借した男性の顔を入れ替えてみます。

Swapface 顔の入れ替え画面

後は画面右下にある「Start」ボタンで変換を実行出来ますが、周辺にある幾つかの設定を確認しておきます。「Add In queue」は設定をキューに追加します。複数の変換を纏めて行いたいといった場合に使用しますが、追加したキューは画面上部にある緑色のボタンで表示出来ます。

AIバージョンは上の設定でも触れましたがv3で良いと思います。モード選択については「Fast Mode」が名前通り変換が速いモードですが明らかに品質が悪いので「Pro Mode」以上がお勧め。筆者は「Expert Mode」にしていますが、Pro/Expert/Hybridのモードの違いに関しては微妙な差を何となく感じる程度にしか分からないので自身でモードの違いを比較してみて下さい。

Swapface 変換設定

他、「HD MP4」は高ビットレートを割り当てる機能で、出力されるファイルのサイズが大きくなる分だけ高画質化します。「Preview」は最初の300フレーム分だけテスト出力する機能、「Rotation」は顔が横向きや逆さまになっている場合の検出の有無、「Face Enhancer」は顔の協調や鮮明さを向上させる機能ですが、変換時間が増加します。

フリー版の場合、「Start」ボタンで実行しようとすると購入かサブスクリプションへの加入が必要といった画面が表示されます。購入意思が無い場合は「Continue with watermark」を選択し、ウォーターマークの挿入を受け入れて続行します。後は変換が終わるのを待つのみ。

出力前の確認画面

Swapfaceで変換したサンプル

変換した動画をそのまま載せる訳にもいかないので、動画内から切り出した画像を掲載します。下はフリーの動画素材を配布されているvideoACさんのオリジナルとなります。

オリジナル動画の画像

上でも書いたようにぱくたそさんで配布されている男性の写真素材を使用して、Swapfaceで顔を入れ替えた動画から切り出したのが下の画像となります。映像で見ても合成なのか分からないぐらい違和感なく顔が入れ替わっていました。

Swapfaceで男性の顔と入れ替えた画像

おまけでネットで拾った某有名女性タレントの顔写真の画像を使って入れ替えてみました。意外にもこちらの場合は映像で確認すると動きに対して一時的な歪みが幾つか確認でき、合成なのが何となく分かるような違和感が出ました。

Swapfaceで有名女性タレントと顔を入れ替えた画像

Swapface 備考

フリー版は動画の作成が1日に10本までという制限がありますが、アカウントはメールを用意すれば幾らでも量産出来るので、量産したアカウントを切り替えれば実質制限無く使用出来ます。また、映像下部に挿入されるウォーターマークですが、変換元の動画に事前に黒帯を追加しておけばそこに挿入されるので、変換後に黒帯の部分を削除すればウォーターマークを消す事が出来ます。つまりは1280×760の動画なら変換前に下部に黒帯を追加して1280×860ぐらいにしておくという事。Avidemuxのフィルターの「境界を追加」で簡単に出来ますが、ちょっとセコイ方法かもしれません。

他、Swapfaceには動画だけでなく画像の顔を別の人物の顔に変える「Image Faceswap」機能もあります。使い方は動画と殆ど変わらずですが、画面構成が若干異なります。それ以外ではストリーミング配信でカメラに映っている顔を変えるといった事も出来るようですが、ここら辺の機能は全く使用していないので詳細は不明。上部メニュー右端にある「My」ではアカウント情報が表示され、ここからパスワードの変更といった事も出来ます。

コメント

タイトルとURLをコピーしました