deepfacelabの設定はどれがいいのか
フォーラムによると現在DFLの主流を占めるモデルは
DF-UD
LIAE-UDの様子
しかし実際問題DF-UDは各種照明の条件をそろえないと明らかに顔が浮いてしまう
(DFはほぼ100%本人を再現しようとするというメリットもある)
一方LIAE-UDもほぼ100%本人を再現できる(というか100%本人になる)
なのでこれで基本的に大丈夫
コツはSRCの画角、様々な角度で様々な表情を用意すること
かつ数は多くて1万枚
というのも多ければ多いほど学習に時間がかかるし、ある一つの顔にフォーカスを当てづらいので顔の印象が自分がイメージするのと思ったのと違うことになり勝ち
5000枚程度の少数精鋭がベスト
かつドアップで高解像度でぼけたりしないのが良い
最終的にはX-segを使い髪ごとSWAPするので、ここの枚数が多いとややマスク処理が面倒というのもある
一体どうすれば数が少なくて色んな表情があってかついろんな角度でドアップなSRCが用意できるかというと
インタビューしている動画等をTOPAZのVEAIで1080pにしたり色々方法がある
まぁともかくSRCはそんな感じで用意する
設定は
解像度256で十分
慣れないうちは128とかの方が良い
これでも十分に似る
そしてこれだと数時間でほぼ完成するので失敗した時やりなおしやすい
大体以下のようなことを丁寧にやる必要があるので最初はほぼどこかで失敗するので・・
faceset切り抜き
→facesetのデバグを確認
→変なのを削除
→デバグで削除したのを再生成.exeみたいなのを使う
→X-segでheadをマスク
→X-segトレーニング
→X-segのトレーニングデータをdstとsrcそれぞれapply
→X-segでうまくいってないところをもう一度マスク
→X-segトレーニング
→X-segのトレーニングデータをdstとsrcそれぞれapply
ここまでしてようやくSAEHDのトレーニングに入れる
ここで毎回毎回SRCの画像の数を読み込んだりするのでやはり多くても5000~1万枚程度じゃないと時間がひたすらかかることになる
そして解像度256でSAEHDトレーニングをやるとここからさらに1日2日かかる
なかなかSRCのフェイスセットの集め方とかのコツをつかまないとうまくできないので大変
なので初心者は126解像度で5000枚程度のSRCでやる方が楽
SAEHDのトレーニングの設定としては基本的に
randomwarp→常時オンでok "最後の最後"に切るとさらに解像度上がるが正直下手に途中で切るくらいなら常時onでok
学習速度が上がる
各種dims→色々試したが初期値でok、ほとんど変わらないというか初期値でかなりリアルになる
こんなのいじって重くなるくらいなら良いSRCを用意した方が圧倒的に早道だし確実
clip→常時onが良い モデルの崩壊を防ぐ
モデルが壊れて目の玉が4つになったりするのは精神衛生上よくない
後わけわからん色がどんどん広がっていくのも同様
といってもあまりに学習しすぎると最後は必ず壊れる
ある程度モデルが完成したらバックアップ取っておけばいつでもほぼ完成するモデルが確保できる
ganやらstlye powerやらもしなくても十分似る
本当に良いSRCを集めるのが全て
deepfacelabのgithubの解像度256あたりのやつは確かgan無しのやつだがあれくらい再現可能
uniform yaw→onにすると学習があまり進んでないファイルを優先的にtrainするようになる
これは最後当たりにつけると学習が進んでないのをやってくれるからいい
しかしこれをonにすると大抵色々なことに気づく
x-segのマスクのミス、もしくはfaceset作成時のランドマークの位置ずれにより顔面崩壊したやつばかりがプレビュー画面に出てきやすい
もしいつまでたっても学習してもしても崩壊しているのがあったらそれを突き止めて修正しないといけない
もしくはその部分だけ動画出来上がった後にカットするか
マージの時に1フレームずつ確認して崩壊しているフレームがあったらそこでX-segのマスク、もしくはランドマークのずれがあるかどうかを確認する
あったら手動で調整
X-segの場合はXsegのeditで調整
facesetのランドマークのズレの場合はデバグ画像を削除して、デバグ削除した部分を再生成.exeみたいなのを使って生成