見出し画像

【画像生成AI】 視線を誘導! Detailerで顔をきれいに描き直す方法


2025.12.14 追記

2025年11月19日に SAM3 モデルが公開され、Detailer の処理は SAM3 モデル単体でで完結できるようになりました。

今後 Detailer を使う際は、今回の記事で紹介している Florence-2 ではなく、 SAM3 モデル単体での利用をお勧めします。


はじめに

こんにちは、きまま / Easygoing です。

今日は、画像生成を行うときの必須の拡張機能、Detailer の使い方をご紹介します。

Detailer は部分的な高解像化

前回は、イラストを高解像度化する AI アップスケラー と Hires.fix について紹介しました。

Hires.fix は、イラスト全体を高解像度化して再描画する機能でしたが、今回紹介する Detailer は イラストの一部 を描き直す機能になります。

Flowchart of Hires.fix and Detailer
実線が今回のワークフロー

どこに視線を惹きつける?

あなたが次のイラストを見たとき、視線はどこに向かうでしょうか?

an animated female character with blonde hair and blue eyes sits in a room with large windows surrounded by blue butterflies wearing a dark blue blazer with gold buttons and a white shirt in a serene

多くの人は、まずキャラクターを見ると思います。

次に、顔と目を見て存在感を感じるはずです。

私たちは、イラストの 全てを捉えようとするのではなく、要点を絞って 理解しています。

AI は完璧すぎる傾向がある

AI は、とても描き込みの多いイラストを出力することができます。

一方で、完璧すぎるイラストは 情報量が多く、どこに注目したら良いのか分かりにくくなってしまいます。

今回は、イラストの中の 大切な部分 に絞って、高解像度化で描き直す方法を見ていきます。

ワークフロー

今回は利用するワークフローはこちらです。

Flowchart for Florence-2, SAM2, Alpha Matte, Detailer


SDXL_Detailer workflow

ノード解説

  • Florence-2:画像を認識する AI

  • SAM2(Segment Anything Model 2):領域を検出する AI

  • Image Matte:輪郭を調整するノード

  • Detailer (SEGS):再描画を行うノード

使用モデル

まずは AI アップスケラー

まずは、オリジナルのイラストを AI アップスケラーを使って高解像度化します。

original 1024 x 1024
オリジナル 1024 x 1024
AI upscale IllustrationJaNai_V1_ESRGAN_135k
IllustrationJaNai_V1_ESRGAN_135k    2048 x 2048

AI アップスケラーを通すことで、解像度の高いクリアーなイラストになりましたが、その反面 顔のパーツ が潰れてしまいました。

今回は、これに対して Detailer を使って修正を行っていきます。

Florence-2 で対象を認識する!

まずは、Florence-2 という AI モデルで、イラストの中の対象物を認識します。

Florence-2 モデルは、Microsoft が公開している画像とテキストの両方を理解できる AI モデル です。

ここでは、Florence-2 に human face を指示して顔を認識させてみます。

Florence2Run Florence2Coodinates Sam2segmentation node screenshot
Florence-2 と SAM2
face only detect
顔を認識

拡大してみると、キャラクターの顔が赤い四角で囲まれて正しく認識することができました。

Florence-2 は四角で認識する

Florence-2 は、四角形の画像で学習を行っているので、対象を 四角形で認識 します。

一方で、検出対象のキャラクターは、複雑な曲線 で領域が決まっています。

そこで、次は領域を検出するために別の AI モデルを利用します。

SAM2 は領域を検出する

領域を検出するのに使うのは、SAM2 (Segment Anything Model 2)という AI モデル です。

SAM2 は Meta社 が開発したモデルで、誰でも使えるオープンウェイトで公開されています。

SAM2 モデルの使い方

Florence2Run Florence2Coodinates Sam2segmentation node screenshot 2
先ほどの図の再掲

まず、先ほど Florence-2 で検出した位置情報を、data で出力します。

Florence2 Cordinate ノードは入力された情報から、検出した領域を bboxes、中央の座標を center_coordinates に出力します。

中央の座標には、通常は検出する対象が含まれているので、これを Sam2Segmentation ノードの coordinates_positive に接続すると、対象を認識してその領域を取ることができます。

SAM2 の領域はハッキリしている

SAM2 モデルで検出した領域は大まかな特徴は捉えているものの、境界がハッキリとした塗りつぶしになっています。

sam2 face only detect

一方で、キャラクターの髪の部分などは、実際は濃淡が入り混じった複雑な境界になります。

Image Matting で境界を調節する

そこで、より正確に境界を検出するために、ComfyUI-Image-Filers の Image Matting ノードを利用します。

Image Matting ノードは、選択された領域ともとの画像を比較して境界を正確にトレースします。

Alpha Matte node screenshot
  • Image Matting ノードの入力

    • images:元画像

    • trimap:SAM2 で検出した領域

alphamatte face only detect

Image Matting ノードを使うことで、境界を先ほどより正確に捉えることができました。

Detailer で描き直す

それでは、検出した領域を実際に Detailer を使って描き直します。

Screenshots of MASK to SEGS and Detailer (SEGS) nodes

Mask to SEGS ノード

まず先ほど検出した領域を、Mask to Segs ノードに通して再描画する範囲を決めます。

Mask to Segs ノードには、次の設定値があります。

  • combined(通常 Flase)

    • すべての領域を 1 つに統合する

  • crop_factor

    • 切り取り領域を広げて周囲に余裕を持たせる

    • 例:crop_factor = 3.0 の場合、領域の縦横3倍の範囲を描き直す

  • drop_size

    • 長辺が drop_size 以下の領域を描き直しの対象から除外

次に、この情報を Detailer (SEGS) ノードに渡します。

a female animated character with blonde hair and blue eyes sits in a room with a city skyline view surrounded by blue butterflies and bathed in warm golden light

Detailer (SEGS) ノード

Detailer (SEGS) ノードには、次の設定があります。

  • guide_size

    • 領域をこのサイズに拡大して描画

  • max_size

    • 領域がこのサイズより大きい場合、縮小して処理

  • cycle

    • 再描画の繰り返し回数

  • noise_mask_feather(0~100)

    • 再描画の境界のぼかし量

    • 境界を滑らかにし、再描画の違和感を軽減する

guide_size を モデルの推奨解像度 に設定することで、小さな対象も正確に描き直すことができます。

参考までに、筆者の設定値は次のとおりです。

  • combined: False

  • crop_factor: 1.2

  • drop_size: 100

  • guide_size: 1024

  • max_size: 1024

  • cycle: 1

  • noise_mask_feather: 20

実際のイラスト!

それでは、Detailer を使って実際に描き直したイラストがこちらです。

AI upscaler 2
IllustrationJaNai_V1_ESRGAN_135k
Detailer girl face
Detailer girl -> face

Detailer の処理によって、人物が浮き出して見えるようになり、顔と瞳がきれいに仕上がりました。

Hires.fix との比較

それでは、今回生成したイラストを、Tile を利用した Hires.fix と比較してみます。

Detailer girl face eye vs Hires.fix
左:Detailer  右:Hires.fix
Table of comparison between Detailer and Hires.fix

Detailer は背景を手を抜き、その代わり キャラクターが浮き出て 見えるイラストになっています。

Detailer face detect vs Hires.fix Tile uppeer left
左:Detailer の顔認識  右:Hires.fix の Tile

Detailer は描き直す対象を中央に捉えた構図のため、AI に迷いが少なくクリアーなイラスト に仕上がります。

一方で、全体の描き込みと調和 は Hires.fix が勝っています。

いずれも一長一短がありますが、どちらを使うかイラストの目的に応じて決めるのが良いでしょう。

ADetailer で一部の機能が使える

Stable Diffusion webUI(Forge, reForge, A1111)には、After Detailer という名前で今回紹介した機能の一部が実装されています。

Screenshot of the ADetailer operation screen of stable diffusion webui forge with comment
Table comparing Detailer and After Detailer

After Detailer は、使用できるモデルが前世代の YOLO モデル に限られていて、検出する部位ごとに個別のモデルを準備する必要があります。

また、ComfyUI のように輪郭の調整も行うこともできないので、詳しく観察すると境界部分に質感の違いを感じることがあります。

詳細な画像処理を行う場合、ComfyUI の方が自由度が高いと言えるでしょう。

使用したカスタムノード

今回使用したカスタムノードと、ComfyUI Manager の検索画面は次の通りです。

ComfyUI-Impact-Pack

comfyui manager's impact pack search screen with comment

ComfyUI-Florence2

comfyui manager's florence2 search screen

ComfyUI-segment-anything-2

comfyui manager's segment anything 2 search screen

ComfyUI-Image-Filers

comfyui manager's image filters search screen

まとめ:Detailer を使ってみよう!

  • Florence-2 で物体検知

  • SAM2 で領域を抽出

  • Image Matting で正確にトレース

AI イラストは、高解像度化するとキレイになりますが、AI 特有の完璧さが出てくるのが悩みでした。

今回紹介した Detailer を使うことで、イラストの 重要な部分を描き込んで、その他の部分を手を抜く 処理ができるようになりました。

an animated female character with blonde hair and blue eyes sits in a room filled with blue butterflies wearing a white shirt and dark blazer surrounded by a warm and cozy atmosphere with a red couch
背景は手抜き

AI イラストのクオリティーを上げ、自然な表現を追求する試みはこれからも続きます。

最後までお読みいただきありがとうございます!


モデル紹介

noob_v_pencil-XL-v2.0.1(2025.4.7 リリース)

今回利用したモデルは、2025.4.7 にリリースされた noob_v_pencil-XL-v2.0.1 モデルです。

noob_v_pencil-XL-v2.0.1 モデルは、鮮やかな色彩の NoobAI-XL v-pred をマージしながら、クオリティプロンプト・ネガティブプロンプトを無しに自然言語入力 で利用できるのが大きな特徴です。

簡単に使えるようになった v-pred モデルを是非一度お試しください!

参考:noob_v_pencil-XL-v2.0.1 の sampler の比較

v-pred モデルは sampler の選択がシビアですが、noob_v_pencil-XL-v2.0.1 の sampler を比較してみました。

検証によると、eueler, heun, heunpp2 が比較的色の変化が少なく使いやすい結果でした。


更新履歴

2026.4.25

Segmentation の日本語訳を 輪郭 から 領域 に変更しました。

2025.7.26

ComfyUI-Image-Filters の更新に伴い、ワークフローを更新しました

2025.5.1

ComfyUI のアップデートに伴いワークフローを更新しました

2025.4.21

ワークフローを更新しました


English Article


いいなと思ったら応援しよう!

この記事が参加している募集