Updated: 5/15/2024
こんにちは! 🌟 今日は、超クールなもの、ComfyUI の Face Detailer を使って、画像や動画の顔を入れ替えたり修正したりする芸術を探求します。デジタルの絵筆を手に取って、アーティスティックに行きましょう!
以下の内容を説明します:
Automatic111 用の顔修正拡張機能である After Detailer (ADetailer) をご存知かもしれません。ComfyUI にも同様の機能があり、Impact Pack Node の一部である Face Detailer と呼ばれています。そのため、ComfyUI で ADetailer を使用したい場合は、代わりに ComfyUI の Impact Pack の Face Detailer を使用してください。
ComfyUI Impact Pack は、画像強化のためのデジタルツールボックスであり、画像用のスイスアーミーナイフのようなものです。Detector、Detailer、Upscaler、Pipe などのさまざまなモジュールが装備されています。ハイライトは Face Detailer で、画像、動画、アニメーションの顔を簡単に修復します。
上の動画をチェックしてください。Face Detailer ComfyUI ワークフローを使用して作成しました。これで、Face Detailer ワークフローをインストールせずに体験できます。すべてがクラウドベースの ComfyUI にセットアップされており、Impact Pack - Face Detailer ノードとシームレスな体験に必要なすべてのモデルが事前に読み込まれています。今すぐこの Face Detailer ワークフローを実行するか、使い方に関するこのチュートリアルを読み続けて、後で試してみることができます。
さあ、ComfyUI の Face Detailer に手を動かしましょう。Face Detailer ノードは一見複雑そうですが、恐れることはありません。一つ一つ分解していきます。各入力、出力、パラメータを理解することで、たちまちこの強力なツールをプロのように使いこなせるようになるでしょう。
ComfyUI で Face Detailer を見つけるには、Add Node → Impact Pack → Simple → Face Detailer / Face Detailer (pipe) に移動するだけです。
"Face Detailer" から始めて、"Face Detailer Pipe" に移りましょう。
このチュートリアルでは、動画の顔を修正したり入れ替えたりする方法について詳しく説明します。この動画は AnimateDiff を使用して生成されました。AnimateDiff の詳細を知りたい方は、専用の AnimateDiff チュートリアルをご覧ください!
画像での作業に慣れている方は、動画関連のノードを画像関連のノードに置き換えるだけです。Face Detailer は動画と画像の両方を扱うのに十分な汎用性があります。
画像の入力 (Face Detailer の左上のボタン) から始めましょう。これは、画像や動画を Face Detailer ComfyUI に入力することを意味します。ここから変換が始まります! ここでは、AnimateDiff で生成された動画を Face Detailer に入力します。
これらの設定にはすでに慣れていると思います。基本的なことはスキップして、ポジティブプロンプトとネガティブプロンプトの両方がここで重要な役割を果たすことだけ注意しておきます。動画を生成したのと同じプロンプトを使用します。ただし、これらのプロンプトをカスタマイズすることができ、特に入れ替えたい顔に合わせることができます。
興味深いことに、画像生成と同じプロンプトを使用すると、顔の修復になります。一方、異なるプロンプトを使用すると、完全な顔の入れ替えを選択していることになります。すべてあなた次第です!
ヒント: "To Basic Pipe" と "From Basic Pipe" を使用
多数のノードを接続するプロセスを簡素化するには、"Pipe" システムを使用します。まず、"To Basic Pipe" という入力コンバイナーを使用して、さまざまな入力を収集します。次に、"From Basic Pipe" を使用してこれらの入力を解凍します。これら 2 つのパイプを接続するだけで、すべての必要な入力を迅速かつ効率的に統合する準備が整います。
BBox モデルは、バウンディングボックスを使用して要素を識別することを専門としており、Segm/person モデルは検出にマスクを使用します。
BBox Detector でも Segm Detector でも、"Ultral Litic Detector Provider" ノードを使用します。ただし、BBox Detector では、bbox/face_yolov8m と bbox/hand_yolov8s モデルを特に使用することに注意してください。対照的に、segm/person_yolov8m-seg モデルは Segm Detector 専用です。
以下は BBox Detector にのみ関係します。したがって、トリミングおよび強化された画像のプレビューがボックスとして表示されることがわかります。
次に、BBox Detector と Segm Detector の機能を組み合わせて Sam モデルを統合すると、トリミングおよび強化された画像のプレビューはマスクのような外観になります。
Guide Size: BBX のガイドサイズは、画像の Face Detailer をバウンディングボックスの顔領域に集中させます (トリミングおよび強化された画像のプレビューに示されています)。デフォルトでは 256 に設定されており、これは、バウンディングボックスの顔領域が 256 ピクセル未満の場合、システムが自動的に最小 256 ピクセルにアップスケールすることを意味します。
Max Size: 最大サイズは、トリミング領域がどの程度大きくなるかの上限を設定します (トリミングおよびリファインされた画像のプレビューに示されています)。この上限は、領域が大きくなりすぎて他の問題が発生するのを防ぐためのものです。デフォルトの最大サイズは 768 ピクセルです。
最適な範囲の維持: これらのパラメータを設定することで、画像サイズを SD 1.5 Checkpoint に理想的な 256〜768 ピクセルの範囲に保ちます。ただし、大きな画像でのパフォーマンスが優れていることで知られる SDXL Checkpoint モデルに切り替える場合は、ガイドサイズを 512 に、最大サイズを 1024 に調整すると有利な場合があります。この調整は実験する価値があります。
Guide Size for: ガイドサイズの下に、"guide size for bbox" というラベルのオプションがあります。これにより、焦点をバウンディングボックスの顔領域よりも大きなトリミング領域にシフトできます。
BBX Crop Factor: BBX クロップファクターは現在 3 に設定されています。クロップファクターを 1.0 に減らすと、顔領域と等しい小さなトリミング領域になります。3 に設定すると、トリミング領域が顔領域の 3 倍になることを示します。
クロップファクターを調整する本質は、Face Detailer に十分な焦点を提供し、コンテキストのブレンドに十分なスペースを確保するバランスを取ることにあります。3 に設定すると、トリミング領域には周囲のコンテキストがわずかに多く含まれます。これは一般的に有益です。ただし、適切な設定を決定する際には、画像内の顔のサイズも考慮する必要があります。
Feather 設定は、画像のエッジまたはインペイント領域が画像の残りの部分とシームレスにブレンドする度合いを決定します。通常は 5 に設定しており、ほとんどの場合うまく機能します。ただし、画像のインペイントに特に不自然なエッジがある場合は、この値を増やすことを検討してください。この例では不自然なエッジは見られないため、すぐに調整する必要はありません。
Noise Mask を有効にすると、モデルがノイズとデノイズ操作をマスク領域のみに集中させるよう効果的に指示します。これにより、バウンディングボックスがマスクに変換され、ノイズが適用され、その後リファインされる領域を正確に示します。この機能は、Segm ディテクターと Sam モデルを操作する場合に特に重要です。
Force Inpaint は、画像の特定の領域に追加の詳細を加えるための特殊なツールとして機能します。多くの場合、画像の顔に焦点を当てています。自動システムが顔にすでに十分な詳細があると誤って判断し、十分な詳細を追加しない場合があります。これは Force Inpaint を利用するのに最適なシナリオです。
本質的に、Force Inpaint は、自動設定が不十分な場合、特に画像の特定の領域の詳細を拡張するのに最適です。
特に複数の顔を置き換えるシナリオで有用な drop size 設定は、10 ピクセルなどの指定されたサイズよりも小さいマスクをモデルに無視するよう指示します。この機能は、大きな顔に焦点を合わせる必要がある混雑したシーンで非常に貴重です。
BBox Threshold: bbox しきい値は、顔検出モデルを微調整するのに重要です。数値を小さくすると、検出処理がより寛容になります。モデルは画像を評価し、潜在的な顔に信頼度のパーセンテージを割り当てます。しきい値を変更すると、モデルが顔を認識して置換するために必要な信頼度レベルが変更されます。
背景にマスクがあり、前景に人物がいる画像を考えてみましょう。モデルはマスクを顔と誤認する可能性があります。このような場合は、しきい値を上げて、マスクではなく明確に定義された顔を認識して焦点を合わせるようにします。逆に、群衆の中の複数の顔を置き換えるには、顔がそれほど明確でない場合、bbox しきい値を下げると、これらの明確でない顔を識別するのに役立ちます。
BBox Dilation: bbox 拡張設定では、通常は顔に限定される初期トリミング領域を超えて拡張できます。拡張を増やすと、顔の周りのより多くの領域が置換処理に含まれます。ただし、これらの変更は多くの場合微妙であり、より顕著な結果を得るにはクロップファクターを調整する必要があるかもしれません。
BBX Crop Factor: すでに 4.1 で言及しました
Segm/Sam は、従来のバウンディングボックスをより正確なマスクに洗練し、顔の置換の精度を高めます。この精度は、バウンディングボックスが髪と重なっていて、髪を変更したくない場合に特に役立ちます。Sam モデルを使用すると、置換を顔のみに集中させることができます。
Sam Detection Hint: Sam 検出ヒントは重要な設定です。顔を識別するときにモデルがどこに焦点を合わせるかをガイドします。Center、Horizontal (1 つまたは 2 つの顔)、Vertical (2 つの顔)、長方形またはひし形の形式で 4 つの顔を配置するオプションなど、いくつかのオプションがあります。
Sam Dilation: バウンディングボックスの拡張と同様に、Sam 拡張設定は、マスクまたは焦点領域の外側でモデルが置換する領域を調整します。この拡張を増やすと、マスク領域がボックス形状に再拡張されます。
Sam Threshold: 93% の高さに設定されている Sam しきい値は、バウンディングボックスのカウンターパートのように機能しますが、モデルの精度が高いため、より高い信頼度レベルを要求します。
Sam Box Expansion: この設定は、初期バウンディングボックスを微調整し、顔の領域をさらに定義します。初期バウンディングボックスが制限的すぎる場合は、ボックス拡張を増やすと、モデルがより多くの顔を捉えることができます。
Sam Mask Hint Threshold: Sam 検出ヒントと連携して機能するこの設定は、ヒントに対するモデルの応答の積極性を決定します。デフォルト設定は 0.7 です。
この情報があれば、Face Detailer の仕組みをはるかに深く理解できるはずです。
デュアルパス設定用に 2 つの FaceDetailer を統合することは可能です。Face Detailer を FaceDetailerPipe に転送するだけです。
シングルパス (1pass) 構成では、主に基本的なアウトラインの復元に焦点を当てています。これには、適度な解像度と最小限のオプションを使用する必要があります。ただし、ここで拡張を拡大すると有利な場合があります。顔の特徴だけでなく周囲の領域にも及ぶからです。この手法は、リシェイプが顔の部分を超えて拡張される場合に特に有益です。必要に応じて実験できます。
さらに良い結果を得るために、アップスケール用の ultra sharp ノードを使用できます。画像のサイズを変更し、適切なアップスケーラーを選択することで、画像品質を大幅に向上させることができます。
さあ、始めましょう! Face Detailer ComfyUI ワークフローを使用すれば、どんな動画やアニメーションの顔でも修正できます!
私たちが説明した Face Detailer ComfyUI ワークフローを試してみたいと思いませんか? 強力な GPU を備えたクラウド環境である RunComfy の使用を検討してください。ComfyUI Impact Pack - Face Detailer に関連するすべてのもの (モデルからカスタムノードまで) が完全に準備されています。手動セットアップは必要ありません! 創造性を解き放つためのプレイグラウンドです。
著者: RunComfy 編集者
私たちの編集者チームは、RNN/CNN の時代に NLP/Vision から始まり、15 年以上にわたって AI に取り組んできました。BERT/GAN/Transformer などの AI チャットボット/アート/アニメーションに関する膨大な経験を蓄積してきました。AI アート、アニメーション、動画でヘルプが必要な場合は、私たちにご相談ください。
© 著作権 2024 RunComfy. All Rights Reserved.