最終更新:
tomoe_magica 2020年04月24日(金) 05:14:29履歴
DFL 2.0のGitHubページはここにあります(最新バージョンと現在のすべての更新が含まれています): https://github.com/iperov/DeepFaceLab
安定版リリースはここにあります:
Windows Mega.nz
Googleドライブからダウンロード:
トレントを使用してダウンロードする
GOOGLEドライブに関する注意:ダウンロードクォータを超えた場合は、右クリック->ドライブに追加し、ドライブでコピーを作成(右クリック->コピー)して、
新しいコピーをダウンロードします。
NVIDIA GPUがなく、CPUが適切な時間でトレーニングできない場合、またはAMD GPUでDFL 1.0を使用したくない場合は、
GoogleクラウドコンピューティングサービスGoogle ColabおよびDFLを試してみてください。
◆DFL 2.0とは何ですか?
DFL 2.0は、機械学習を利用してビデオの顔を交換するツール/アプリです。
◆1.0と2.0の違いは何ですか?DFL 2.0の新機能
コアでは、DFL 2.0は1.0と非常に似ていますが、はるかに高速に実行され、互換性を犠牲にしてより良い品質を提供するように書き直され、最適化されました。
そのため、AMDカードはサポートされなくなり、新しいモデル(SAE / SAEHDおよびQuick96ベース)は以前のバージョンと互換性がありません。
ただし、それ以降のバージョンのDFL 1.0で抽出されたデータセットは、2.0でも引き続き使用できます。
- すべてのWindowsバージョンに依存関係のないスタンドアロンアプリとして利用可能。
- 2つのモデルが含まれています:SAEHD(4つのアーキテクチャ)とQuick 96。
- マルチGPUトレーニングのサポート。
- 最適化の改善により、フェイスセット(データセット)の抽出、トレーニング、およびマージ中のパフォーマンスが向上(DFL 1.0と比較)
- フェイスセットエンハンサーツール-ソースフェイスセット(データセット)の詳細をアップスケール/強化します。
- 新しいGANパワーオプション-顔の詳細を強化する敵対的生成ネットワークトレーニング。
- 新しいTrueFace Powerオプション-ソースへの類似性を高めるための可変顔識別。
- 各ステップ(抽出、トレーニング、マージ)に使用するGPUを選択する機能。
- コマンドラインウィンドウ内で新しいモデルの名前をすばやく変更、削除、作成する機能。
- マージプロセスは、外部ビデオ編集ソフトウェアでのポストプロセス作業用のマスクファイルも出力するようになり、白黒ビデオとしてレンダリングするオプションが追加されました。
- データセット変更用の埋め込み情報を抽出するオプションを備えた、データセット/フェイスセット画像ファイル内に埋め込まれた顔のランドマーク/位置データ。
- トレーニングプレビューウィンドウ。
- インタラクティブなコンバーター。
- ソースおよびdst(data_src / dst)データセットのデバッグ(顔ランドマークプレビュー)オプション。
- S3FDによるFacese(データセット)抽出および/または手動抽出。
- 16単位の任意の解像度でのトレーニング。
- 最大256の解像度でのトレーニングモデルの可能性。
- DFL 2.0はNVIDIA GPUおよびCPUと互換性があり、AMD GPUでトレーニングしたい場合、AMDのサポートはもうありません
- DFL 1.0はそれを行うことができますが、サポート/更新されていません。
- DFL 2.0には、少なくともCUDA Compute Compabilityバージョン3.0をサポートするNvidia GPUが必要です
- CUDA計算機能リスト: サポートされているNVIDIA GPU
DFL 2.0は、3つの主要なステップである抽出、トレーニング、およびマージに使用される.batファイルの選択で構成されます。
ディープフェイクを作成する場合、これらは2つのサブフォルダーとともにメインフォルダーにあります。
_internal(DFLが機能するために必要なすべてのファイルがある場所)
ワークスペース(モデル、ビデオ、フェイスセット(データセット)、最終的なビデオ出力がある場所です。
ここで主なガイド部分に入る前に、いくつかの用語があります(フォルダは「引用」で書かれています)
Faceset(データセット) -フレーム(ビデオから抽出された)または写真から抽出された(またはランドマークと整列された)画像のセットです。
DFL 2.0で使用されているデータセットは2つあり、それらはdata_dstとdata_srcです。
- data_dst
ターゲット(dst)のビデオ名data_dst.mp4から抽出された顔(256x256)の位置合わせされた画像を含むデータセットであり、
顔の形状、特徴(目、口、鼻、眉)に関する情報(ランドマークの形式)を含みます)
および画像上の位置(抽出時(または位置合わせプロセス))
「data_dst」フォルダーを使用して2フォルダーが生成されます
- 「aligned」(サイズが256x256の顔の画像を含む)および
- 「aligned_debug」は不正確な識別に使用されます。整列した顔(およびトレーニングまたはマージプロセスに参加しません)。
- data_src/data_src.mp4ファイル(インタビュー、映画、予告編など)またはソースの画像から抽出された顔の画像を含むデータセットです。
ただし、顔を抽出する前に、次のものから抽出する必要があります。
- data_dstには、ターゲット(dst)ビデオを準備し、data_dst.mp4という名前を付ける必要があります
- data_srcには、ソースビデオを準備する必要があります(上記の例のように) data_src.mp4という名前を付けるか、jpgまたはpng形式の画像を準備します。
ビデオからフレームを抽出するプロセスは抽出とも呼ばれるため、残りのガイド/チュートリアルでは、両方のプロセスを「顔の位置合わせ」と「フレームの抽出」と呼びます。
冒頭で述べたように、そのデータはすべて「workspace」フォルダー内に格納されます。
両方のdata_src/dst.mp4ファイル、両方の「data_src/dst」フォルダー(抽出されたフレームとフォルダー「aligned」/「aligned_debug」 / aligned faces)は、
モデルファイルが保存される「model」フォルダです。
オプションは、実行する機能に基づいてグループ化されます。
1.ワークスペースのクリーンアップ/削除:
1) Clear Workspace(ワークスペースのクリア)
- 自明です。
「ワークスペース」フォルダー内に保存する重要なファイルを誤って削除しないように、このファイルを削除してください。
ソースビデオ(data_src.mp4)からのフレーム抽出:
2)Extract images from video data_src(ビデオdata_srcから画像を抽出)
- data_src.mp4ビデオファイルからフレームを抽出し、自動的に作成された「data_src」フォルダーに配置します。
ビデオのデフォルトフレームレートをスキップし、他のフレームレートの数値を入力します( 5を入力した例では、1秒あたり5フレームであったビデオのみがレンダリングされ、
抽出される画像が少なくなります)
- JPG/PNG-抽出されたフレームの形式を選択します。
pngは大きく、品質はそれほど高くありませんが、オプションです。
3.ビデオの切断(オプション):
3)cut video (drop video on me)(ビデオの切断(ビデオを自分にドロップ))
- 任意のビデオを.batファイルにドロップすることで、ビデオを希望の長さにすばやく切断できます。
オプション:
開始時間-ビデオの開始時間
終了時間- ビデオの終了
オーディオトラック-デフォルトのままにします
ビットレート-ビットレート(品質)を変更しましょうビデオ-デフォルト3のままにしておくのが最適です。
dstビデオ(data_dst.mp4)からのフレーム抽出:
3)extract images from video data_dst FULL FPS(ビデオdata_dst FULL FPSから画像を抽出)
- data_dst.mp4ビデオファイルからフレームを抽出し、自動的に作成された「data_dst」フォルダーに配置します。
ソースデータセットを準備する最初の段階は、ランドマークを整列し、「data_src」フォルダー内にある抽出されたフレームから256x256の顔画像を生成することです。
2つの方法があります。
4) data_src extract faces S3FD
- S3FDアルゴリズムを使用した自動抽出。
4)data_src extract faces MANUAL
- 手動抽出。
使用可能なオプションは次のとおりです。
- 顔の抽出/位置合わせプロセスに使用するGPU(またはCPU)を選択します。
- 「algined_debug」フォルダーを生成するかどうかを選択します。
4. Data_srcのクリーンアップ:
次の手順は、誤検出/正しく配置されていない顔のデータセットをクリーンアップすることです。
詳細については、次のスレッドを確認してください:
4.1)data_src整列結果を表示 -誤検出や誤って整列されたソースの顔や他の人の顔を削除するために、
「data_src / aligned」フォルダーの内容をすばやく確認できる外部アプリを開きます。
4.2)data_src sort
- 未使用の顔を見つけるのに役立つさまざまなソートアルゴリズムが含まれています。
[0] blur
[1] face yaw direction
[2] face pitch direction
[3] similar histogram(ヒストグラムの類似性)
[4] dissimilar histogram(ヒストグラムの非類似性)
[5] brightness(明るさ)
[6] hue(色相)
[7] black(黒ピクセルの量)
[8] original filename(元のファイル名)
[9] one face in image(画像内の1つの顔)
[10] absdiff(絶対ピクセル差)
[11 best(最良の顔)
4.2.other) data_src util add landmarks debug images
- 顔を抽出した後に「aligned_debug」フォルダーを生成しましょう
data_src util faceset enhance
- 特別な機械学習を使用します
データセットが少しぼやけている場合、またはシャープなものをより詳細/テクスチャーにしたい場合に便利です
- 言い換えれば、それを強化します。
4.2)data_src util faceset metadata restoreおよび 4.2)data_src util faceset metadata save
- ソースデータセットから埋め込みアライメントデータを保存し、後で復元して、たとえばいくつかの画像を編集できるようにします
アライメントデータを失うことなく
- 「aligned」フォルダからの画像をこのステップなしで編集すると、そのデータと画像はトレーニングで使用できなくなります
4.2)data_src util faceset packおよび 4.2)data_src util faceset unpack
- すべての顔をパック/アンパックします
4.2) data_src util recover original filename
- 顔画像の名前を元の順序/ファイル名に戻します(ソート後)。
ここでの手順はソースデータセットの場合とほとんど同じですが、例外はほとんどありません。
まず、顔の抽出/位置合わせプロセスから始めましょう。
手動とS3FDの抽出方法しかありませんが、両方を組み合わせたものと特別な手動抽出モードがあり、「aligned_debug」フォルダーが常に生成されます。
5)data_dst extract faces MANUAL RE-EXTRACT DELETED ALIGNED_DEBUG
- これは手動で使用されます「aligned_debug」フォルダーから削除されたフレームの顔の位置合わせ/抽出(次のステップで詳細-5.1-5.3.other Data_dst cleanup)
5)data_dst extract faces MANUAL
- 手動抽出。
5) data_dst extract faces S3FD + manual fix
- アルゴリズムが顔を適切に検出できなかったフレームの自動抽出+手動抽出。
5) data_dst extract faces S3FD
- S3FDアルゴリズムを使用した自動抽出。
使用可能なオプションは次のとおりです。
- 面の抽出/位置合わせプロセスに使用するGPU(またはCPU)を選択します。
5. Data_dstのクリーンアップ:
data_dstの顔を位置合わせした後、ソースデータセットで行った方法と同様に、それらをクリーンアップする必要があります。
ただし、dstデータセットのクリーンアップはソースとは異なります。
これは、存在するすべてのフレームに対してすべての面を整列させるためです。
そのために使用できるツールがいくつかあります。
5.1) data_dst view aligned results
- あなたがDFLに組み込まれた外部アプリ(XnViewMP)申し出速く世代サムネイルデフォルトのWindowsよりも、エクスプローラでフォルダ「整列」の内容ビューの
5.1) data_dst view aligned_debug results
- あなたはすぐに「aligned_debug」の対象の人物の顔がランドマークを誤って配置したフレームの閲覧内容です
一般に、これを使用して、すべての顔が適切に抽出されて配置されているかどうかを確認します
(ランドマークが顔または目/鼻/口/眉の形に揃っていない場合は、手動で再配置するために削除する必要があります)
5.2) data_dst sort
- ソースデータセットと同様に、このツールを使用すると、「data_dst / aligned」フォルダー内のすべての整列された顔を並べ替えることができます。
5.2)data_dst util faceset packおよび 5.2)data_dst util faceset unpack
- ソースと同様に、データセット全体を1つのファイルにすばやくパックできます。
5.2) data_dst util recover original filename
- ソースと同じで、並べ替え後にすべての整列された面の元の名前/順序を復元します。
5.3) data_dst mask editor:
data_dstに揃えられた顔のマスクを手動で編集できます
(そのため、トレーニングから顔の一部を除外し、最終画像を変換してその場所に元の顔を表示するときにこのマスクを使用することもできます)。
例:

編集したマスクトレーニング+マージの結果(dstマスクを使用した変換): 非常に退屈で時間のかかるプロセスです。
代わりに、ディープフェイクの障害物を取り除きたい場合は、マージ/変換中にFANsegマスクを使用することができます。
代わりに、マージプロセス中に代わりにFANseg変換を使用する可能性が高くなります。
コンバーター(または推奨されるインタラクティブコンバーター)では、fan-prd、fan-dst、fan-prd*fan-dst、learned*fan-prd*fan-dstなどの
さまざまなマスクモードを選択できます)。
これは、顔(メガネ、data_dstの顔をカバー/妨害している手など)からの障害物を自動的にマスクするために使用できます。
手をマスクするFANsegモードの
例を次に示します。
クリーンアップに戻り、ここであなたのツールがdata_dstデータセットをクリーンアップするための完全なワークフローの例であることがわかりました。
5.2)data_dst sort(並べ替え)
を使用して顔を並べ替え、ヒストグラムで並べ替えを選択すると、通常、色/構造の類似性によって顔が並べ替えられるため、類似したものをグループ化し、
回転/拡大/縮小された顔を含む画像を分離する可能性があります。
誤検出や他の人の顔などをリストの最初/最後に配置します。
最初にすべての誤検知と不要な顔を削除する必要があります。
これを行ったので、ターゲットのすべての正しく配置されていない面を削除して次のステップに移動するか、それらを切り取って別のフォルダーに配置できます。
これは、次に5.1)data_dstを使用する必要があるためです。
align_debugの結果を表示:そして、ランドマークが見つからないか、ターゲットの人物の顔に間違って配置されているすべてのフレームを見つけます。
それらの間違って整列した顔を脇に置くことで、「aligned_debug」フォルダーにコピーして、フレームがあり、
Windowsエクスプローラーでまだ強調表示されている間にそれらを削除するには削除キーを押しますが、
手動で特定する必要のあるものもあります(まったく検出されなかったすべての顔など)
特に、長いクリップに多くの誤って配置された顔があり、それらが通常正しく配置された面の中央にある場合、それらに気づきにくい場合があります。
ここでそれを行う方法を知りたい場合は、私のFAQのTIP#11です
- 正しく配置されていない顔を「新しいフォルダ」にコピーします
- 元の「aligned」フォルダの名前を別の名前(「aligned_1」など)に変更し、悪い顔の「new folder」の名前を「aligned」に変更できるようにします
- 次に5.2)data_dst util recover original filenameを使用して元のファイル名を復元します。
- 終了後、「aligned」フォルダーに移動します。このフォルダーには、元の名前と_0 / _1のようなプレフィックスで見つかったすべての悪い顔があります
- Shiftキーを押しながら右クリックして、Powershellを開き、次のコマンドを使用します。
- 異なるプレフィックスを持つファイルがさらにある場合は、_0を_1のような他のプレフィックスに変更してコマンドを再度実行するだけです。
- この方法で、これらの不良なアライメントされたフレームを「aligned_debug」にコピーし、置換をクリックして、強調表示されている間にそれらを削除することができます
- 最後に「aligned」フォルダを削除し、「aligned1」の名前を元の名前に戻します。
あなたは私の技術を使用したり、すべて手動で見つかった場合はどんなに、あなたは今をすべき国連
5.2)data_dstは、元のファイル名を回復UTIL 顔画像の元の名前/受注を回復するために、
次に実行 data_dst抽出物はMANUAL RE-EXTRACT DELETED ALIGNED_DEBUGに直面している
)5に「aligned_debug」から削除したばかりの顔を抽出します。
それが完了したら、data_dstデータセットをクリーンアップし、すべての顔を正しく抽出し(部分的に見えるものを含む)、トレーニングの準備をします。
より詳細な情報は FAQにあります(必ず読むべきで、よくある質問、バグ修正、ヒントなどがたくさんあります):
そして、このスレッドには、ソースデータセットの作成方法、保持するもの、削除するもの、
一般的にソースデータセットをきれいにする方法(ターゲット/dstデータセットとほぼ同じ)
およびそれらを他のユーザーと共有する方法/場所に関する詳細があります
トレーニング用に
現在選択できる2つのモデルがあります:
SAEHD(6GB +): 高精細スタイルのAutoEncoderモデル-高6GB以上のVRAMを搭載したハイエンドGPU向けの最終モデル。
機能:
- 最大16の増分で任意の解像度で256x256ピクセルまで実行
- ハーフフェイス、ミッドハーフフェイス、フルフェイスモード
- 4つのアーキテクチャ:DF、LIAE、DFHD、LIAEHD
- 調整可能なバッチサイズ
- 調整可能なモデルの自動エンコーダー、エンコーダー、デコーダー、マスクデコーダーの寸法
- 調整可能な自動バックアップ
- プレビュー履歴
- ターゲットの反復
- ランダムな顔のヨーフリップ設定
- マスク学習
- GPUオプティマイザー
- 学習ドロップアウト
- ランダムなワープ
- 調整可能なGANトレーニングパワー設定
- 調整可能なTrueフェイストレーニングのパワー設定
- 調整可能なフェイスおよびバックグラウンドスタイルのパワー設定
- カラー転送
- グラデーションクリッピング
- プリトレーニングモード
Quick96(2-4GB): SAEモデルから派生したシンプルなモデル-2-4GBのVRAMを備えたローエンドGPU専用。
機能:
- 96x96ピクセルの解像度で実行
- フルフェイスモード
- バッチサイズ4
両方のモデルは良好なディープフェイクを生成できますが、明らかにSAEHDがより好まれ、より強力です。
アイデアをテストしたい場合、Quick96は悪いアイデアではありませんが、もちろん同じ設定でSAEHDを実行することも、さらに低くすることもできます。
あなたが他の人がさまざまなグラフィックカードでは達成できるか確認したい場合は、ユーザーが自分のモデル設定を共有できる場所を、このスプレッドシートをご確認ください:
あなたがした後他の人の設定を確認し、高速トレーニングを優先するか、より重いモデルを起動して実行するかを決定します。
6)train SAEHD
6)train Quick96
Quick96は調整できないため、コマンドウィンドウがポップアップ表示され、CPUまたはGPUの1つだけの質問が表示されます
(複数ある場合は、どちらかを選択するか、両方でトレーニングできます)。
ただし、SAEHDは調整するためのより多くのオプションを提供します。
機能については既に知っています。
トレーニングの開始時にユーザーに表示されるための詳細な説明を次に示します。
[0] Autobackup_hour(N時間ごとの自動バックアップ)( 0..24?:help):
自明-N時間ごとにモデルの自動バックアップを有効にしましょう。
0(デフォルト)のままにすると、自動バックアップが無効になります。
[0]Target iteration(ターゲットの反復):
たとえば、モデルを100.000回だけトレーニングする場合は、100000の値を入力する必要があります。
0(デフォルト)のままにすると、手動で停止するまで実行されます。
[n]Random_flip(顔をランダムに反転)(y / n?:help):
ターゲットにスワップしたい人の顔(ソースデータセット)の必要な角度がすべて揃っていない場合に役立つオプション。
たとえば、人がまっすぐ右を向いているターゲット/dstビデオがあり、ソースの顔がまっすぐ左を向いている場合のみ、この機能を有効にする必要がありますが、
顔が対称ではないため、結果があまり似ていない可能性があることに注意してください
srcおよびソースフェイスの機能(ビューティーマーク、傷跡、ほくろなど)もミラーリングされます。
デフォルト値はn(無効)
[0] Batch_size(?:help):バッチサイズ設定は、各反復ごとに相互に比較される顔の数に影響します。
最低値は2であり、VRAMの影響を受けるGPUが許可する範囲内で高く設定できます。
モデルの解像度、寸法、有効化する機能が高ければ高いほど、より多くのVRAMが必要になるため、バッチサイズを小さくすることができます。
使用するバッチサイズを推測する方法 トレイルとエラーを使用するか、DFL 2.0スプレッドシートをチェックして他の人がGPUで達成できることを確認して、
自分自身を助けることができます:
[128]Resolution(解像度)(64-256?:help):
ここでモデルの解像度を設定します。
トレーニング中はこのオプションを変更できないことに注意してください。
スワップされた顔の解像度、より高いモデル解像度に影響します-学習した顔はより詳細になりますが、トレーニングはより重く、より長くなります。
解像度は、64x64から256x256に16ずつ増やすことができます。
[f]Face_type(顔のタイプ)(h / mf / f?:help):
このオプションでは、トレーニングする顔の領域を設定できます。
3つのオプション(顔の半分、顔の半分、顔全体)があります。
3つのすべての顔タイプの例を次に示します。
[df] AE architecture(AEアーキテクチャ)(dfhd / liaehd / df / liae?:help):
DF:このモデルアーキテクチャは、より直接的なフェーススワップを提供し、フェースをモーフィングしませんが、ソースとターゲット/デスティネーションのフェース/ヘッドが同様のフェース形状を持つ必要があります。
LIAE:このモデルアーキテクチャは、ソースとターゲット/宛先の間の顔/頭の形の類似性に関しては厳密ではありませんが、このモデルは顔をモーフィングするため、実際の顔の特徴(目、鼻、口、全体的な顔の構造を持つことをお勧めします)
ソースとターゲット/宛先の間で同様。
[256] AutoEncoder dimensions(AutoEncoder次元)(32-1024?:help):
[64]Encoder dimensions(エンコーダ次元)(16- 256?:help):
[64]Decoder dimensions(デコーダーの寸法)(16-256?:help):
[16]Decoder mask dimensions(デコーダーマスクの寸法)(16-256?:help):
[n]learn_mask(マスクの学習)(y / n?:help):
この設定を有効にすると、モデルは顔の形状の学習を開始し、マージ中に使用できるマスクを生成します。
マスクは、元のフッテージの上に新しい学習者/ディープフェイクされた顔を合併者に配置させるディープフェイクプロセスの重要な部分です。
デフォルトでは、合併は、data_dstの面の抽出/位置合わせプロセス中に生成されるdstマスクを使用します。
この機能を有効にせず、コンバータで学習済みマスクを選択した場合/マージ中にdstマスクが引き続き使用されます。
学習されたマスクは一般にデフォルトのdstマスクよりも優れていますが、この機能を使用するとパフォーマンスとVRAMの使用に大きな影響があるため、
まずモデルをある程度または完全にトレーニングし、短時間(5-6k回の反復)のみマスクを有効にすることをお勧めします
最後またはトレーニング中のどこか(複数回有効化および無効化できます)。
学習したマスクは、顔の品質には影響せず、マスクにのみ影響します。
学習したマスクは、単独で使用することも、FANsegマスクモードと組み合わせて使用することもできます。
デフォルト値はn(無効)です。
[n] Place models and optimizer on GPU(GPUにモデルとオプティマイザーを配置する)(y / n?:help):
GPUオプティマイザーを有効にすると、GPUにすべての負荷がかかり、パフォーマンス(反復時間)が大幅に向上しますが、
OOM(outメモリのエラー)この機能を無効にする必要があるため、一部の作業はCPUにオフロードされ、一部のデータはGPU VRAMからシステムRAMにオフロードされます
- OOMエラーなしで、および/またはより高いバッチサイズでモデルを実行できます
[n]Use learning rate dropout(学習率ドロップアウトを使用)(y / n?:help):
この機能は、トレーニングの最後にのみ有効にし、サンプルのランダムワープや 顔のランダムな反転などの機能を有効にしないでください。
モデルがかなりよく訓練され、シャープになったら、サンプルのランダムワープを無効にします。
これにより、通常のモデル なしで実行するより少ない反復で、もう少し詳細でシャープになります。
モデルを完全にトレーニングする前に有効にすると、モデルを無効にし、この機能を無効にしてトレーニングを続行するまで改善されないことがあります。
デフォルト値はn(無効)です。
[y]Enable random warp of samples(サンプルのランダムワープを有効にします)(y / n?:help):
サンプルのランダムワープは、DFL 1.0の古いSAEモデルで常に有効だった機能ですが、現在はオプションであり、モデルを一般化して、
すべての基本的な形状、顔の特徴、構造を適切に学習するために使用されます
フェイス、エクスプレッションなどがありますが、有効になっている限り、モデルは詳細を学習するのに苦労する可能性があります
- 顔がまだ改善している限り、この機能を有効にしておくことをお勧めします)、
デフォルト値はy(有効)です。
[0.0] GANパワー(0.0 .. 10.0?:help):
GANは、Generative Adversarial Networkの略で、DFL 2.0の場合は、データセットのトレーニングの追加方法として実装され、より詳細/シャープな顔を取得します。
このオプションは0.0から10.0のスケールで調整可能であり、モデルのトレーニングが多かれ少なかれ(サンプルのランダムワープを無効にした後)のみ有効にする必要があります。
優れたクリーンなソースデータセットの存在に大きく依存しているため、機能が良好な結果を提供するかどうかをテストするために最大値に到達する前に、
低い値から開始することをお勧めします。
悪い結果が得られた場合は、モデルを回復できるように、しばらく無効にして、サンプルのランダムワープを有効にする必要があります。
この機能を有効にする前に、バックアップを作成することを検討してください。
デフォルト値は0.0(無効)です。
GANトレーニングを有効にする前と後の例を次に示します。
前: 後: 最初の例の違いに気づきにくい場合は、新しいウィンドウで開きます。
[0.0] True Face Power(「True Face」パワー)。
(0.0000 ... 1.0:?ヘルプ):
可変パワー設定のTrue Faceトレーニングは何これが行うことは、それはのように、より多くのsrcのように、最終的な顔の表情を作るしようとしている、
あなたがより高いまたはより低い値にモデル弁別器を設定してみましょう
GAN
このランダムワープが無効になり、モデルがほぼ完全にトレーニングされた場合にのみ機能を有効にする必要があります。
ここで低い値から開始し、ソースデータセットがクリーンで正しく整列されていることを確認する必要があります。
悪い結果が得られた場合は無効にする必要がありますサンプルのランダムワープを有効にします
モデルが回復できるようにしばらくの間。
この機能を有効にする前に、バックアップを作成することを検討してください。
デフォルト値は0.0(無効)です。
以下に例を示します。
[0.0] Face style power(0.0..100.0?:help)および
[0.0] Background style power(0.0..100.0?:help):
この変数設定は、画像の顔または背景部分のスタイル転送を制御します。
ターゲット/dstの顔(data_dst)のスタイルを、学習後の最終的な顔に転送するために使用されます。
ただし、値が大きいと、学習した顔がdata_srcよりもdata_dstのように見える場合があります。
最大10の値を使用し、トレーニング中に1または0.1まで減らすことをお勧めします。
この機能はパフォーマンスに大きな影響を与えるため、これを使用すると反復時間が長くなり、バッチサイズを小さくするか、GPUオプティマイザー
(GPUにモデルとオプティマイザーを配置)を無効にする必要があります。
この機能を有効にする前に、バックアップを作成することを検討してください。
このオプションでできることの例は、唇、目、化粧などのスタイル/色をdata_dstから最終的な学習済みの顔に転送し、
顔の一部の特徴(肌の色、テクスチャ、または顔の特徴)を引き継ぐことです。
設定が強いほど、より多くのものやスタイルがdata_dstから最終的な学習済みの顔に転送されます。
デフォルト値は0.0(無効)です。
[none] Color transfer for src faceset(srcフェイスセットの色転送)(none / rct / lct / mkl / idt / sot?:help): この機能は、data_srcの色をdata_dstに一致させるために使用され、
最終結果はdata_dstに似た肌の色/トーンを持ち、トレーニング後の最終結果は顔が動き回っても色が変わりません
(さまざまな顔角度は、異なる光条件を含むか、異なるカラーグレードのさまざまなソースから取得されました)。
:から選択するいくつかのオプションがあります
- rct - (ラインハルトの色移り):これに基づいて
- lct(線形色移り):線形変換を使用して、ターゲットイメージの色分布をソースイメージの色分布に一致させます。
例:(近日公開)
[Y]Enable gradient clipping(勾配クリッピング)(Y / N:ヘルプ):有効
この機能はするように実装されます
DFL 2.0のさまざまな機能を使用するときに発生する可能性のある、いわゆるモデルの崩壊/破損を防ぎます。
パフォーマンスへの影響は小さいため、実際に使用したくない場合は、折りたたまれたモデルは回復できず、スクレイピングする必要があり、
トレーニングを最初からやり直す必要があるため、自動バックアップを有効にする必要があります。
[n]Enable pretraining mode(事前トレーニングモードを有効にします)(y / n?:help):
ランダムな人々の顔のデータセットを使用してモデルを最初にトレーニングする事前トレーニングプロセスを有効にします
毎回0からトレーニングを開始する必要はありません。
独自のdata_srcおよびdata_dstをランダムな人の顔で作成するか、フォーラムから事前トレーニング済みのモデルを取得して、
この機能を使用してモデルを事前トレーニングすることをお勧めします:
モデルのトレーニングが完了したら、モデルをマージ(変換)します。
そのため、2つのモデル用の2つのコンバーターもあります。
7)merge SAEHD
7)merge Quick96
これらのいずれかを選択すると、コマンドラインウィンドウにいくつかのプロンプトが表示されます。
最初に対話型コンバーターを使用するかどうかを尋ねられます。
デフォルト値はy(有効)であり、すべての機能とすべての変更の効果を確認できる対話型プレビューがあるため、通常のコンバーターよりも使用することをお勧めします
さまざまなオプションを変更し、さまざまな機能を有効/無効にするときに行います
[y]Use interactive merger(インタラクティブなマージを使用しますか)?(y / n):
2番目のモデルは、使用するモデルを尋ねます。
保存されたモデルのいずれかを選択するか、名前を入力して新しいモデルを作成します。
[r]:名前の変更
[d]:削除
[0]:df160-最新
:
3番目は、マージ(変換)プロセスに使用するGPU / GPUまたはCPUを尋ねます。
1つまたは複数のGPU idx(カンマ区切り)を選択します。
[CPU]:CPU
[0]:GeForce GTX 1060 6GB
[0]選択するGPUインデックスはどれですか?:
Enterキーを押すと、デフォルト値(0)が使用されます。
これが完了すると、現在の設定を含むコマンドラインウィンドウと、インタラクティブコンバータ/マージの操作に必要なすべてのコントロールを表示する
プレビューウィンドウが表示されます。
コマンドラインウィンドウとコンバータープレビューウィンドウの両方をざっと見てみましょう:

Converterには、マスクタイプ、サイズ、ぼかし/ぼかしを変更するために使用できる多くのオプションがあり、追加の色転送を追加し、最終的な訓練済みの顔をシャープ/エンハンスできます
以下に、説明されているすべてのマージ/コンバーター機能のリストを示します。
1.メインオーバーレイモード:
- original(オリジナル):顔を交換せずに元のフレームを表示します
- overlay(オーバーレイ):学習した顔をフレーム上に簡単にオーバーレイします
- hist-match:学習した顔とタイヤをヒストグラムに基づいて一致させますボタン)
- seamless(シームレス:)opencv poissonのシームレスクローン機能を使用して、元のフレームで新しい学習顔を頭の上にブレンドします
- seamless hist match(シームレスhistマッチ):hist-matchとシームレスの両方を組み合わせます。
- raw-rgb:マスキングなしで生の学習顔をオーバーレイします
注:シームレスモードではちらつきが発生する可能性があるため、オーバーレイを使用することをお勧めします。
2.Hist match threshold(ヒスト一致しきい値): hist-matchおよびシームレスhist-matchオーバーレイモードでのヒストグラムマッチングの強度を制御します。
Q-値を増やします
A-値
3を減らします。
マスクの収縮:マスクのサイズを制御します。
W-increases mask erosion(マスクの侵食を大きくする)(小さいマスク)
S-decreases mask erosion(マスクの侵食を小さくする)(大きなマスク)
4.Blur mask(マスクをぼかす):マスクのエッジをぼかし/ぼかしして、滑らかな移行を実現
E-blur(ぼかし)を大きくする
D-blur(ぼかし)を減らす
5.初期パラメーター(インタラクティブコンバーター、モデル、GPU / CPU)を入力すると、マージ/コンバーターはすべてのフレームとdata_dstに揃えられたデータを読み込み、
その実行中に、この設定が制御するモーションブラーの効果を作成するために使用されているモーションベクトルを計算します。
顔が動き回る場所に追加してみましょう。
値を大きくすると、小さな動きでも顔がぼやける場合があります。
このオプションは、「data_dst / aligned」フォルダーに一連の顔が存在する場合にのみ機能します
- クリーンアップ中に_1接頭辞を持つ顔が1人いる場合(1人の顔のみが存在する場合でも)、効果は機能しません。
6.Super resolution(超解像):
data_srcデータセット/ facesetエンハンサーと同様のアルゴリズムを使用し、歯、目などの領域にさらに定義を追加し、学習した顔の詳細/テクスチャを強化できます。
T- エンハンスメント効果を高める
G- エンハンスメント効果を減らす
7.ぼかし/シャープ:ボックスまたはガウス法を使用して、学習した顔をぼかしまたはシャープにします。
Y-顔をシャープにします
H- 顔をぼかします
N-ボックス/ガウスモードスイッチ
8.Face scale(顔のスケール): 学習した顔を拡大または縮小します。
U-学習したスケールを伏せた状態
J-学習したスケールを伏せた状態
9.Mask modes(マスクモード): 6つのマスキングモードがあります:
dst:data_dst faceset / dataset抽出中に生成されたランドマークの形状から派生したマスクを使用します。
learned mask(学習済みマスク):手順6で説明したように、トレーニング中に学習したマスクを使用します。
学習済みマスクが無効になっている場合は、代わりにdstマスクを使用します。
fan-prd :最初のFANsegマスキング方法。
マージ中にマスクの形状を予測し、障害物(手、眼鏡、顔を覆う他のオブジェクト)を考慮してマスクします。
fan-dst: 2番目のFANsegマスキング方法。
dstマスク形状+障害物を考慮して、マージ中のマスク形状を予測します。
fan-prd+fan-dst: 3番目のFANsegマスキング方法。
fan-prdとfan-dstを組み合わせた方法。
fan-prd+fan-dst+learned: fan-prd、fan-dst、および学習マスク方式を組み合わせます。
最速のマスキング方法はdstですが、障害物を除外することはできません。
学習したマスクは形状の点では優れていますが、除外することもできません。
fan-dstは少し遅くなりますが、障害物を除外できます。
少し予測できないのでお勧めしません。
fan-dst+prdは、dstおよびfan-prd、fan-dst、および学習マスクを組み合わせた6番目のオプションよりも優れたマスクを提供しません。
また、学習マスクをオンにしてトレーニングします。
10.Color transfer modes(カラー転送モード):
トレーニング中のカラー転送と同様に、この機能を使用して、学習した顔の肌の色を元のフレームによりよく一致させて、
よりシームレスで現実的な顔を入れ替えることができます。
8つの異なるモードがあります:
rct
lct
mkl
mkl-m
idt
idt-m
sot-m
mix-m
の
例は近日公開予定です。
11. Image degrade modes(画像の劣化モード):
あなたは(スワップ、顔に影響を与えずに)元のフレームの外観に影響を与えるために使用できる3つの設定があります:
ノイズ除去は、 - ( -増加効果、K -減少効果I)それが少しぼやけて作った画像をdenoises
バイキュービックを -バイキュービック法を使用して画像をぼかします(O-効果を増加、L-効果を減少)
色 -色ビット深度を減少(P-効果を増加、;-効果を減少)
追加コントロール:
TABボタン -メインプレビューウィンドウとヘルプ画面を切り替えます。
メインプレビューウィンドウでのみパラメーターを変更できることに注意してください。
ヘルプ画面で他のボタンを押してもパラメーターは変更されません。
- / _および= / + ボタンを使用して、プレビューウィンドウを拡大縮小します。
Caps Lockを使用して、増分を1から10に変更します(すべての数値に影響します)。
現在のフレームから次のすべてのフレームの設定を保存/上書きするには、Shift + /キーを押します。
現在のフレームから以前のすべてのフレームの設定を保存/上書きするには、Shift + Mキーを押します。
すべてのフレームのマージを開始するには、Shift +>キーを押します。
最初のフレームに戻るには、Shift + <キーを押します。
次のフレームのみを変換するには、>キーを押します。
1フレーム戻るには、<キーを押します。
寄付(任意)について
Amazon.jpギフト券での寄付は受け付けています
- AmazonでE-Mailタイプのギフト券を購入(金額は任意)
- 自分のアカウントに登録はしない
- 下記メールアドレスにAmazonギフト券番号を記載し、通知
- tomoe.magica@gmail.com
Seesaa Wiki関連リンク
タグ
コメントをかく