パソコン

簡単に顔を合成できる「DeepFace Lab」を使ってみた!!

今回は簡単に顔面を他の人の顔面と合成できるフリーソフト「Deep Face Lab」を実際に使ってみたので紹介していきたいと思う。ぜひディープフェイクやディープラーニングに興味があったら読んでいただけると嬉しい。

ディープフェイクとは?

ディープフェイクとは人工知能で有名な技術「ディープラーニング」を使って、人物画像を合成することをディープフェイクと言います。このディープフェイク技術はAIが特定の人物を学習することによって顔の動きや顔全体を再現することができます。

DeepFace Labを使ってみた!!

今までのことを読んでいると危険性ばかり出てきますが、逆にこの技術はいい面もたくさんあるので使ってみようと思います。

ダウンロードをしよう!!

ダウンロードはプログラミングを利用したことがあるユーザーなら絶対に知っている、「GitHub」というサイトからダウンロードしていきます。

上のサイトよりダウンロードができます。ダウンロード方法は、下にスクロールして「Releases」の表にあるWindows(Mega.nz)でダウンロードができます。ダウンロードしたら下の画像のような感じになると思います。

そして、これを全て解凍すると使えるようになるので解凍してください。「2020」のファイルの中もお忘れなく。

使ってみよう!!

素材を入れよう

ダウンロードしたら、"DeepFaceLab/DeepFaceLab_NVIDIA/workspace"より素材を入れていきます。まず、サンプル動画を削除して、自分が入れる動画に名前をつけます。その名前は、

  • data_src.mp4:顔を入れ替えたい人物の動画
    data_dst.mp4:顔を入れ替えたい目的の動画

に、設定するとできるのでぜひ試してみてくださいね。

動画から静止画にしよう!!

素材を入れることができたら動画から静止画にしてみましょう。やり方は、DeepFaceLab_NVIDIAにある、2) extract images from video data_srcで自動でできるので、静止画にします。ここでは、data_src.mp4を静止画にします。

[0] Enter FPS ( ?:help ) :
0

[png] Output image format ( png/jpg ?:help ) :
png

開いたら上のようなものが出るので[0]は、Enterでスキップ、[png]は画像が綺麗なままにしたいのでpngを指定したほうが良いと思います。

続いて、data_dst.mp4を静止画にするために、3) extract images from video data_dst FULL FPSを選択します。

[png] Output image format ( png/jpg ?:help ) :
png

これでpngを指定して、静止画にする作業は終わりました。

画像から人物の顔を切り抜く

静止画にできたら、次に人物の顔を切り抜く作業をします。やりかたは先程と同じような手順で4) data_src faceset extractにアクセスして、data_srcを静止画から顔を切り抜きます。

Choose one or several GPU idxs (separated by comma).

[CPU] : CPU
[0] : GeForce ○○○○○

 [0] Which GPU indexes to choose? :
0

[wf] Face type ( f/wf/head ?:help ) :
wf

[0] Max number of faces from image ( ?:help ) :
0
[512] Image size ( 256-2048 ?:help ) :
512
[90] Jpeg quality ( 1-100 ?:help ) :
90
[n] Write debug images to aligned_debug? ( y/n ) :
n
Extracting faces...
Caching GPU kernels...
Running on GeForce ○○○○○

基本は上のように設定してください。ちなみにグラボで書き出す場合は、Nvidia社のGeforceシリーズしか使えないのでAMDを使っている方はグラボ書き出しはできません。

そして、次に5) data_dst faceset extractにアクセスして、data_dstを顔面に切り抜きます。

Choose one or several GPU idxs (separated by comma).

[CPU] : CPU
[0] :GeForce ○○○○○

[0] Which GPU indexes to choose? :
0

[wf] Face type ( f/wf/head ?:help ) :
wf
[512] Image size ( 256-2048 ?:help ) :
512
[90] Jpeg quality ( 1-100 ?:help ) :
90
Extracting faces...
Running on GeForce ○○○○○

というような感じで切り抜きます。

Aiにディープラーニング(学習)させる

やっと準備ができたので、本題のディープラーニングを実行させます。やり方は、6)train Quick96.batにアクセスすることでできます。

Running trainer.

[new] No saved models found. Enter a name of a new model :
(自分の好きなファイル名)

Model first run.

Choose one or several GPU idxs (separated by comma).

[CPU] : CPU
[0] : GeForce ○○○○○

[0] Which GPU indexes to choose? :
0

という用な感じでやるとスタートするので、自分の好きなタイミングで学習を終了すればいいと思います。

このような画面になると思うので、プレビューウィンドウで、Pで更新、Enterで終了します。ちなみに学習回数は最低1万回はしたほうが良いと思いますよ。

画像同士を合成させよう!

ここまで来たら後一歩です。合成写真を作るには、7) merge Quick96.batにアクセスして、動画を書き出します。

Running merger.

Choose one of saved models, or enter a name to create a new model.
[r] : rename
[d] : delete

[0] : new - latest
:
0
Loading new_Quick96 model...

Choose one or several GPU idxs (separated by comma).

[CPU] : CPU
[0] : GeForce ○○○○○

[0] Which GPU indexes to choose? :
0

このように入力すると下のようなウィンドウが立ち上がるので、[Tab]キーを押して、合成具合を調整してみてください。

[Tab]キーを押すとプレビューみたいなのが出ると思うので、色調整などを[W]や[S]などで調整してみてください。ちなみに、同じ設定を全てに適用するには、Shift + . (>)を押すとできるので試してほしい。

MP4に書き出す

最後に、MP4ファイルに書き出していこうと思う。MP4に書き出すには、8)merged to mp4.batにアクセスするとできる。

[16] Bitrate of output file in MB/s :
16
ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers

Done.
続行するには何かキーを押してください . . .

ちなみに保存場所は、workspace/result.mp4に保存されている。

そして、新しく作る際に、今回使ったデータを消したいなら1) clear workspace.batにアクセスすると消せるのでぜひやってみてほしい。

↓ちなみに今回作った動画。(学習回数:1万回程度,学習画像168枚)

ディープフェイク技術の悪用

最後に、当記事では「ディープフェイク技術を悪用してはならない」という趣旨で制作しているため、ディープフェイクの危険性や悪用の事例を紹介する義務があると思うので、紹介していきたいと思う。

個人利用でもいじめの発展につながる

ディープフェイク技術を用いて、もっと簡単に使用することができるようになると、個人利用の場合でもいじめが発生してしまい、最悪取り返しのつかない自体(裁判)などに発展してしまう場合があります。

社会や政治の悪用

僕は、これが一番危ないと感じています。社会と政治の悪用です。その理由は、有名な政治家や権力がある人が、このディープフェイク技術を悪用されて、あたかも言ったようなシチュエーションを作ることができます。

このシチュエーションが悪用されて、起こることは最悪の想定で国家間の戦争に使われる事が想定されます。また、国民やそれに値する人物が本来の意見とは別の意見に染まってしまう可能性があるので大変危険な技術になります。

ポルノ動画やアイドルへの悪用

これは今、実際に起っている問題で、例えばアイコラ(アイドルコラージュ)などの特定の人物が別の、シチュエーションにある画像を作り拡散せれれば、大問題になってしまう可能性だってあります。また、ポルノ動画を利用して危険な映像を作る可能性だってあります。

ちなみにこの技術の悪用で、国内では去年に初の逮捕者が出ているので、絶対に悪用しないでください。

まとめ

今回はディープラーニングを用いて、ディープフェイク動画を作ってみました。それではまとめです。

▲ディープフェイクはディープラーニングを使ったAI技術
▲悪用の可能性があるので注意が必要
▲学習回数は1万回以上がベスト
▲ディープラーニングは結構なスペックが必要
ディープラーニングを用いて色々なことができるので、ぜひ皆さんもプログラムを開発したりして作ってみたり、使ってみたりしてくださいね。それではこの記事が面白かったらぜひ次回の記事も見ていただけると嬉しいです。

おすすめ記事

2022/7/5

【ブログ運営】お金を追いかけることをやめる

こんにちは。お久しぶりです。rumappeです。 今回は生存確認的な感じの記事を書いていきたいと思います。 この1,2ヶ月全く更新しなくて心配をかけましたがこの期間で今後のサイト運営について色々考えてきたので書いていきたいと思います。 ぜひ最後まで読んでいただけると嬉しいです。 目次1 お金を追いかけると逃げていく1.1 キャラ作りの失敗と収益1.2 アフィリエイト商材を売るのは自分にはあっていない1.3 お金を追い求めると記事が書けなくなる2 一度初心に帰ってみる お金を追いかけると逃げていく 今回の第 ...

ReadMore

2022/6/8

【ピーチ航空】LCCの予約は面倒くさいしわかりにくい!購入方法も紹介!

飛行機に乗って出かける用事ができたから予約してみた。 お金をかけずに飛行機を利用する手段はないのか?と考えた結果「LCC」が一番安く乗れるなと思ったのでLCC大手のPeach航空を予約してみたので紹介する。 ただ、予約している段階でめちゃめちゃわかりにくかったので注意喚起とともに一番安く乗れる方法を紹介していきたいと思う。

ReadMore

2022/4/27

【メリット沢山!】スマホを買うなら絶対に中古が良い理由

この記事では中古スマホって実際どうなの?ということをまとめました。またなぜ新品スマホより中古スマホをおすすめするのかという理由も説明していますのでぜひ読んでいただけるとご購入の参考になると思います。

ReadMore

2022/4/15

【NFT体験談】OpenSeaで写真NFTを始めたから解説する

この記事ではOpenSeaに実際にNFTアートを出品してみて気づいた点や出品方法そしてGAS代などについて解説しました。ぜひNFTアートを出品しようと考えている人は読んでいただけると参考になると思います。

ReadMore

2022/4/4

【なにができる?】Chromebookはなぜ安く買えるのか?

この記事ではChromeBookはなぜ安いのか?そしてChromeBookは何ができるのか?などを解説しました。ぜひ購入を検討している人にとっては参考となる記事だと思いますのでぜひ読んでいただけると嬉しいです。

ReadMore

-パソコン