顔入替ソフト使用例 - 顔抽出

srcの抽出例


注意事項

権利者に許可を得ていないコンテンツの二次利用は著作権法に違反。
また、所謂フェイクポルノを不特定多数が見れる場所に公開すれば名誉毀損(侮辱罪)に該当。
有名人の顔を使用して経済的利益を得ればパブリシティ権の侵害になる。

最初に読んでください

srcの抽出例

つべからの抽出例
https://www.youtube.com/watch?v=en-U9nAh2JA に対して
https://www.ssyoutube.com/watch?v=en-U9nAh2JA

www.とyoutubeの間に、ssを挿入

音声トラックが無くてもいいから、できるだけ高解像度の物をダウンロード


MakeMKVによる抽出
src抽出動画は、元動画の拡張子が.mkvであってもかまわない。src抽出動画をdata_src.mkvにリネームして、フレーム抽出、顔抽出可能

srcの抽出がうまくいかない

srcの顔画像は、256×256ピクセルで切り出そうとするので、顔が余りにも小さな画像は、顔抽出が上手くいかない場合があります

srcの顔画像は、正面顔から角度の厳しいアングルになると、顔抽出が上手くいかない場合があります

aligned_debugの顔画像を確認して、上手く顔抽出ができていない物については、手動で削除
4) data_src extract faces S3FD best GPU.bat などを使用して、手動で顔を再抽出
5) data_dst extract faces MANUAL RE-EXTRACT DELETED RESULTS DEBUG.bat などを使用して、手動で顔を再抽出

振動してるのは顔認識で顔のサイズがぶれてるのでしょう
alignフォルダで顔のサイズが常に一定になってないとダメです
顔の前に手とか髪があって隠れるとその部分も含めて色合わせようとするからチカチカします

srcの抽出

5) data_dst extract faces S3FD best GPU.batで顔抽出した後で、4.2.2) data_src sort by similar histogram.batなどでsortして、顔ではないものについて手動で削除してください

aligned_debugフォルダ配下の顔画像で、グレーが顔の範囲です。緑が顔のパーツの輪郭(ランドマーク)。青四角が緑とグレーを覆うべき顔の範囲四角。赤四角は顎を下にした、256×256ピクセルの顔画像

dstの抽出

5) data_dst extract faces S3FD best GPU.batで顔抽出した後で、\workspace\data_dst\aligned_debug内の顔画像を確認して、顔抽出が上手くいっていないものについて手動で削除してください
その後で、5) data_dst extract faces MANUAL RE-EXTRACT DELETED RESULTS DEBUG.batを使用して、手動で顔抽出してください

マスクの赤青緑の意味

緑:顔のパーツの輪郭(ランドマーク)
青:緑、グレーを覆うべき顔の四角
赤:256×256の顔画像
グレー:顔扱いしている範囲

srcの再抽出

4) data_src extract faces S3FD best GPU.batで顔抽出した後で、4.2.2) data_src sort by similar histogram.batなどでsortして、顔ではないもの、別人について手動で削除してください
aligned_debugフォルダ配下の顔画像で、グレーが顔の範囲です。緑が顔のパーツの輪郭(ランドマーク)。青四角が緑とグレーを覆うべき顔の範囲四角。赤四角は顎を下にした、256×256ピクセルの顔画像

4) data_src extract faces MANUAL RE-EXTRACT DELETED RESULTS DEBUG.bat を実行します
目的の女優さんの顔の上でマウス操作します
うまく顔のランドマークが抽出されれば顔パーツに緑の輪郭が残り、青四角と赤四角が顔を覆います
マウスカーソルを目的の女優さんの上に置いて、マウスホイールで顔の大きさを調整します
最初Batファイルを起動すると、削除したはずのコマ数が、Found n images.とかで表示されます
ウィンドウをアクティブにして、マウス操作で、手動顔抽出がうまくいったったコマをEnterで確定します
全てのコマが上手く手動再抽出できる様ですと、
最後に
Images found: n
Faces detected: n
とか表示されます

dstの再抽出

5) data_dst extract faces S3FD best GPU.batで顔抽出した後で、5.2) data_dst sort by similar histogram.batなどでsortして、顔ではないもの、別人について手動で削除してください
aligned_debugフォルダ配下の顔画像で、グレーが顔の範囲です。緑が顔のパーツの輪郭(ランドマーク)。青四角が緑とグレーを覆うべき顔の範囲四角。赤四角は顎を下にした、256×256ピクセルの顔画像

5) data_dst extract faces MANUAL RE-EXTRACT DELETED RESULTS DEBUG.bat を実行します
目的の女優さんの顔の上でマウス操作します
うまく顔のランドマークが抽出されれば顔パーツに緑の輪郭が残り、青四角と赤四角が顔を覆います
マウスカーソルを目的の女優さんの上に置いて、マウスホイールで顔の大きさを調整します
最初Batファイルを起動すると、削除したはずのコマ数が、Found n images.とかで表示されます
ウィンドウをアクティブにして、マウス操作で、手動顔抽出がうまくいったったコマをEnterで確定します
全てのコマが上手く手動再抽出できる様ですと、
最後に
Images found: n
Faces detected: n
とか表示されます

4) data_src extract faces S3FD best GPU.bat

@echo off
call _internal\setenv.bat

"%PYTHON_EXECUTABLE%" "%DFL_ROOT%\main.py" extract ^
    --input-dir "%WORKSPACE%\data_src" ^
    --output-dir "%WORKSPACE%\data_src\aligned" ^
    --debug-dir "%WORKSPACE%\data_src\aligned_debug" ^
    --detector s3fd

pause

\data_src\alignedについても、\data_dst\alignedと同様に、aligned_debugを作成して、顔のランドマーク状態を確認

4.2.other) data_src util add landmarks debug images.bat を使用すると、\data_dst\alignedフォルダ内に*_debug.jpgファイルが作成され、srcのランドマークとMaskの状態が確認できる

4) data_src extract faces MANUAL RE-EXTRACT DELETED RESULTS DEBUG.bat

@echo off
call _internal\setenv.bat

"%PYTHON_EXECUTABLE%" "%DFL_ROOT%\main.py" extract ^
    --input-dir "%WORKSPACE%\data_src" ^
    --output-dir "%WORKSPACE%\data_src\aligned" ^
    --multi-gpu ^
    --detector manual ^
    --manual-output-debug-fix ^
    --debug-dir "%WORKSPACE%\data_src\aligned_debug"

pause

\data_src\alignedについても、\data_dst\alignedと同様に、\data_src\aligned_debugから目的の顔が抽出されていない物、顔のランドマークが上手く当たっていない物を削除して、顔の手動再抽出を試みます。

4) data_src extract Half faces S3FD best GPU.bat

@echo off
call _internal\setenv.bat

"%PYTHON_EXECUTABLE%" "%DFL_ROOT%\main.py" extract ^
    --input-dir "%WORKSPACE%\data_src" ^
    --output-dir "%WORKSPACE%\data_src\aligned\half_face" ^
    --debug-dir "%WORKSPACE%\data_src\aligned_debug" ^
    --face-type half_face ^
    --detector s3fd

pause

顔学習をH128などのハーフフェイスで行う場合、顔抽出もハーフフェイスで行い、顔画像の高画質化を試みます

DeepFaceLabその他顔認識での顔の定義




関連項目

外部リンク




寄付(任意)について

Amazon.jpギフト券での寄付は受け付けています
  1. AmazonでE-Mailタイプのギフト券を購入(金額は任意)
  2. 自分のアカウントに登録はしない
  3. 下記メールアドレスにAmazonギフト券番号を記載し、通知
  4. tomoe.magica@gmail.com


Seesaa Wiki関連リンク