10
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qwen-Image-Layered、画像レイヤー分解のゲームチェンジ

Last updated at Posted at 2025-12-21

前書き

先日、Qwen の公式から Qwen-Image-Layered というモデルが公開されました。

このモデルは、画像を複数のレイヤーに分解することに特化したモデルです。

公式のサンプルを見ると、1枚の画像を構成要素や前後関係(奥行き)に基づいて、複数のレイヤーに分割できることが分かります。

8.jpeg

このモデルを利用すれば、これまで Photoshop で投げ縄ツールやマグネット選択ツールを使って行っていた作業よりも、はるかに手軽かつ柔軟にレイヤー分けを行い、活用できるのではないかと感じました。

画像編集のワークフローにおいて、一種のゲームチェンジャーになり得るポテンシャルを感じています。

検証結果

Google Colab 上で Qwen-Image-Layered の動作検証を行いましたので、実際に使ってみた感触を紹介します。
具体的な手順については、使い方のセクションで詳しく説明します。

1E300C9E-E2BE-4D00-A51F-3C2C32F6994D.jpeg

イラストマンガの 2種類の画像でレイヤー分解を試してみました。

イラストの場合は、概ねイメージどおりのレイヤー分けをしてくれました。一方で、私の検証環境では解像度を下げて実行した影響か、レイヤー内容の補完部分に 若干の破綻が見られる箇所もありました。ただし、実用上は それほど気にならないレベルだと感じました。

推論時間は およそ3分程度で、体感としてはやや長めです。

A26A4C12-4CEB-4B35-AF4D-4D18C708E651.jpeg

マンガの場合は、期待していた結果とは少し異なりました。
コマそのものを1つのレイヤーとして認識しているようで、理想としていた吹き出しマンガ本体を分離するレイヤー分けは行えませんでした、一応レイヤーの数は増やせば、それぽい動きもするけど、そもそもマンガのどうすれば適切あるのか、学習されてない気がします。

6E711697-FA0E-4D44-BE08-C024221AE4B4.jpeg

そのため、イラスト編集の分野では、すぐに実用できそうな手応えを感じる一方で、マンガ編集に活用するには、制作段階から前提となるプロセス自体を組み直す必要がありそうです。

現状のままでは、マンガ編集用途での活用は あまり現実的ではないという印象を受けました。

画像生成モデル使ってマンガ作成する前提の話

使い方

本モデルは Apache License 2.0 で公開されており、Hugging Face 上から 誰でも自由にダウンロードして利用できます。

私の場合は、Google Colab の A100 GPU ランタイムを使用して動作検証を行いました。

0B2B1041-D6CA-40E5-909E-B4FE7813C877.jpeg

試してみたい方は、以下のコードをそのまま Google Colab に貼り付けて実行するだけで動作します。

!pip install git+https://github.com/huggingface/diffusers
!pip install bitsandbytes
!pip install accelerate
from google.colab import files
from PIL import Image

uploaded = files.upload()

image_path = next(iter(uploaded))
input_image = Image.open(image_path).convert("RGBA")

display(input_image)
import torch
from diffusers import QwenImageLayeredPipeline
from diffusers.quantizers import PipelineQuantizationConfig
from diffusers import BitsAndBytesConfig as DiffusersBitsAndBytesConfig
from transformers import BitsAndBytesConfig as TransformersBitsAndBytesConfig

# Colab + A100 安定化
torch.backends.cuda.matmul.allow_tf32 = True
torch.backends.cudnn.allow_tf32 = True

model_id = "Qwen/Qwen-Image-Layered"

quant_config = PipelineQuantizationConfig(
    quant_mapping={
        "transformer": DiffusersBitsAndBytesConfig(
            load_in_4bit=True,
            bnb_4bit_quant_type="nf4",
            bnb_4bit_compute_dtype=torch.bfloat16,
            llm_int8_skip_modules=[
                "transformer_blocks.0.img_mod"
            ],
        ),
        "text_encoder": TransformersBitsAndBytesConfig(
            load_in_4bit=True,
            bnb_4bit_quant_type="nf4",
            bnb_4bit_compute_dtype=torch.bfloat16,
        ),
    }
)

pipe = QwenImageLayeredPipeline.from_pretrained(
    model_id,
    quantization_config=quant_config,
    torch_dtype=torch.bfloat16,
)

# Colabでは CPU offload / device_map は使わない
pipe = pipe.to("cuda")
pipe.set_progress_bar_config(disable=None)
from pathlib import Path

out_dir = Path("outputs")
out_dir.mkdir(exist_ok=True)

with torch.inference_mode():
    result = pipe(
        image=input_image,
        generator=torch.Generator(device="cuda").manual_seed(777),
        true_cfg_scale=4.0,
        negative_prompt=" ",
        num_inference_steps=40,
        layers=4,
        resolution=640,
        cfg_normalize=True,
        use_en_prompt=True,
    )

for i, img in enumerate(result.images[0]):
    path = out_dir / f"layer_{i}.png"
    img.save(path)
    print("saved:", path)
    display(img)

失敗談

Google Colab の無料プラン

CPU 実行ではまったく動作せず、無料プランで利用できる T4 GPU でも実行は困難でした。
そのため、Google Colab の無料プランでの利用は現実的ではありません。

有料プランの L4 GPU

有料プランの L4 GPU では、一部のパラメータを量子化するなど工夫すれば、最後まで処理を完走させることは可能でした。
ただし、その場合は 出力の主な内容がノイズに近くなってしまい、実用的とは言い難い結果でした。

一方で、出力品質を保とうとして量子化を抑えると、GPU メモリが不足してしまい、正常に実行できませんでした。

layer_3.png

ゲーミンググラフィックボード搭載の PC

NVIDIA RTX 4070 Ti(VRAM 16GB)を搭載した PCでも試しましたが、こちらも実行できませんでした。
どうやらモデルの推論開始前に、内部的に約 19GB 程度の GPU メモリを確保しようとする処理が走っているようです。

そのため、VRAM が 24GB 以上あるグラフィックボードをお持ちの方であれば、試す価値はありそうだと感じました。

なお、パラメータを量子化したり、OS を Ubuntu に変更するなどの工夫によって動作したという情報も見かけましたが、私自身では未検証です。

最後に

Amazon Bedrock のモデルプロバイダーにはすでに Qwen が含まれているため、Qwen-Image-Layered もサーバーレスで利用できる形で早く提供されることを期待しています。

bedrock-plus-qwen.ed78a87e94c74b0c346d97f061c615ffa1088bec.png

一枚のマンガを6レイヤーに分けるとこんな感じです。

43194A1A-E27C-4F57-B3F0-993ADEB35F88.jpeg

参考資料

10
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?