Qwen-Image-Layeredとは?

入力した画像を、任意枚数の レイヤー に分解する拡散モデルです。

昨今流行りの画像編集ですが、指示とは関係ない部分が変化してしまうことがあります。   それならば、これまでデザイナーがやってきたのと同じようにレイヤー分けをして、対象のレイヤーだけ編集すればよいよね?という動機から生まれたタスクですね。

透過画像(RGBA)を扱う初の汎用的な手法であることも注目すべき点です。
これまでの手法だと、後処理が必要だったり、デコード時だけ特殊処理が必要だったりしましたが、より素直に「RGBA画像として扱う」やり方が取られています。


モデルのダウンロード

📂ComfyUI/
└── 📂models/
    ├── 📂diffusion_models/
    │   └── qwen_image_layered_fp8mixed.safetensors
    ├── 📂text_encoders/
    │   └── qwen_2.5_vl_7b_fp8_scaled.safetensors
    ├── 📂unet/
    │   └── Qwen_Image_Layered-XXXX.gguf          ← gguf を使う場合のみ
    └── 📂vae/
        └── qwen_image_layered_vae.safetensors

workflow

Qwen-Image-Layered.json
  • 入力画像のリサイズ

    • 1024px まで大きくできますが、レイヤー数が増えるほど重くなりやすいので、ここでは 0.5M ピクセルに設定しています。
  • 🟩Empty Qwen Image Layered Latent

    • layers: 分割したいレイヤー数
    • こちらも増やすほど、メモリと時間コストが上がります。
  • 🟫LatentCutToBatch

    • なにをやっているのか分かりづらいとは思いますが、実装都合の「整形」だと思ってしまってください。
    • このモデルはその名の通り複数枚の画像を「レイヤー」として出力しますが、現在の VAE Decode はレイヤーという概念をうまく理解できないため、単なるN枚のバッチ画像に変換します。
  • 🟦画像をまた合成する(任意)

    • 2つのレイヤーに分けた場合、合計3枚の RGBA 画像(元画像+分解結果)が出力されます。
    • 2枚目以降の画像を、ImageCompositeMasked で重ね続ければ元の1枚の画像に戻せます。

    • 面倒くさいと思いますが、ComfyUIに限らず、ノードベースUIとレイヤーシステムは相性が悪いです😥


参考