SberSwapとは
SberSwapは顔交換(FaceSwap)を実現するための手法の1つで、ディープラーニングを応用しており、精度良い結果が得られます。従来のDeepfake等のFaceSwapの手法では個別の学習に時間がかかるという課題がありましたが、SberSwapではその学習が必要なく、とても簡単にFaceSwapの結果が得られます!
SberSwapの使い方
SberSwapはGithubで公開されています。
GithubのREADME.mdにインストール方法や自分でモデルを学習する方法が書いてありますが、その中に、すぐに試せるGoogle Colabのデモもあるので、そちらでSberSwapを試してみましょう!
SberSwap Google Colabの内容について
ブロック毎の処理内容について解説します。
① 最初のブロックではGPUとCUDAのバージョンをチェックしています。
② githubからコードをcloneして学習済みのモデルをダウンロードします。
③ 必要なライブラリをインストールします。
④ 利用するライブラリをロードしています。
⑤ モデルの初期化を行います。
⑥ FaceSwapに使う画像や動画を読みこみます。
こちらを編集することで画像、動画どちらを使うかの切り替えや、顔交換に使う画像・動画ファイルを指定することができます。
・target_type:画像を使う場合は”image”, 動画を使う場合”video”に設定する。
・source_path:顔交換の参照画像(はめる顔)の画像パスを指定する。(自分で準備した画像を使う場合は、先にcolab上にアップロードする)
・target_path:顔交換の対象画像(顔をはめる画像)の画像パスを指定する。(自分で準備した画像は同上)
・path_to_video:動画にはめたい場合はこちらでパス指定。
⑥ FaceSwap画像、動画の生成
⑦FaceSwap結果の確認

サンプルでは上の画像のように、参照画像にイーロン・マスク、ターゲット画像にベッカムの画像を使った結果が得られます。かなり自然な形で顔が交換されていますね!
動画にも対応しているので、ぜひいろいろと試して遊んでみてください!(SberSwapは素晴らしい技術ですが、間違った使い方をして名誉毀損で逮捕された人もいるので、悪用は厳禁です!)