パソコン

簡単に顔を合成できる「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/11/23

ゲーム実況者を目指すから画面録画の方法を模索する

最近YouTubeでゲーム実況が流行っていますよね。 僕も一発ゲーム実況者になって一発当ててやろうかなと考えて見ました!(嘘です) そこで、もし僕がゲーム実況者になったらどうやって画面を録画するのか?を考えたので紹介していきたいと思います。ぜひ最後まで読んでいただけると嬉しいです。 目次1 画面録画をするには?2 ソフト上で画面を録画する方法3 ソフトの使い方を解説する3.1 まずはソフトをダウンロード3.2 ソフトを使ってみよう4 機能を紹介する4.1 ウェブカメラの録画にも対応4.2 ゲーマにも最適な ...

ReadMore

2022/11/16

【最悪】パソコンが壊れたからバックアップ案を考える

みなさんのパソコンにも重要書類や大切なデータが含まれてますよね。 まぁ僕もあるわけなんですが、先日パソコンがぶっ壊れたんですよ。正確にはHDDが認識しなくなったという最悪の事態です。 僕の性格上バックアップなんて取ってなかったので銀行口座のパスワードなどが無くなってしまいました。なので、今後も同じようなミスをしないためバックアップ案を考えます。 目次1 結論:重要なデータは別の媒体にコピーする2 パーティションをバックアップする方法2.1 ダウンロードする方法2.2 日本語化をしよう3 パーティションをバ ...

ReadMore

2022/11/4

痔になったならU字型のクッションをオススメする理由

こんにちは。るまっぺです。 最近の悩みは「痔」です。あんまりブログでヘルス記事を書くのはSEO的に良くないんだけれども辛いので書いていきたいと思います。 痔になったらクッションが必要。なんだけど、種類が色々ありすぎてわからない人が多いと思うので、今回はU字型のクッションが最もオススメな理由を書いていきます。 目次1 前提:僕の場合は痔が重くなった「痔瘻」2 U字クッションをおすすめする理由2.1 U字型なので自由自在に座れる2.2 圧力が尻にこなくサイズをあまり気にしなくてもOK3 結局なにも無いノーマル ...

ReadMore

2022/10/30

【NovelAIレビュー】今話題のAIが絵を書いてくれるツールを使ってみた。

最近ツイッターやピクシブとかでよく見るAIが書いた絵がありますよね。賛否がとっても分かれるんでが、技術の進歩だなーとひしひしと感じてしまいますw そこで、自称パソコンオタク兼ブロガーの僕がこのビッグウェーブを体験しないのはもったいないと感じたので実際に使ってみました。 使ってみた感想と今後についてレビューします。それでは、最後まで読んでいただけると嬉しいです。 目次1 NovelAIとはそもそもなんぞ?2 NovelAIを実際に使ってみた2.1 絵を生成するには課金が必要2.2 課金したら「呪文」を書くだ ...

ReadMore

2022/10/16

【いらない】iPhone14を限界まで悩んで購入するのをやめた理由

こんにちは。るまっぺです。 先日、iPhone14が発表されましたね。内容としてはやはり前世代と比べてほとんど変わっていないというのが僕の中の結論です。 しかし、僕の場合iPhone11を利用しているのでバッテリーが死んできているのでiPhone14をかなり検討したのですが見送るという結果になりました。 今回は、なぜ購入を見送ったのか?そしてiPhone14がいらない理由を解説していきたいと思います。ぜひ最後まで読んでいただけると嬉しいです。 目次1 「何も変わっていない」ものに15万円は払えない2 「何 ...

ReadMore

-パソコン