MOSS-Image AnyPaint:ComfyUI でマスクによるインペイントとアウトペイント

ComfyUI Wikinews

rank-32 アダプターが MOSS-Image-Base に任意マスクのインペイント、1 パスでのアウトペイント、混合編集を追加。ComfyUI ノードとすぐ使えるワークフロー、12 組の元画像/マスク/結果を提供します。

11月13日、yijunwang2 は MOSS AnyPaint を公開しました。これは MOSS-Image-Base 用のrank-32アダプターで、ベースモデルを汎用マスクエディターに変えます。同一キャンバス内のインペイント、1パスのアウトペイント、複数の切断された編集領域、細い構造、ソースの端をまたぐマスクに対応します。1つの重みファイルと小さなランタイム、そして別個のComfyUIノードセット alexw5702-afk/moss-anypaint が同日に公開され、対応するワークフローも付属しています。このアダプターは非公式のコミュニティリリースであり、OpenMOSSによる承認は受けていません。

ポートレート、MOSS AnyPaintによるインペイントとアウトペイントの混合

1回のリクエストで、コートはソース内で再生成され、同時にキャンバスが広げられるため、彼女の周囲のギャラリーの壁と床も生成されます。この記事のすべての例は、写真ではなくKrea 2ベースモデルでレンダリングした合成ソースから始まっています。出典: yijunwang2/moss-anypaint

MOSS-Imageに編集機能があるのに、なぜマスクなのか

MOSS-Image自体の編集パスは指示駆動型です。参照画像と文章を渡します。ここで既に取り上げた編集LoRAも同じ形をとっており、rank-64編集LoRA から Edit HQ v5、そして7つのコントロールLoRA まで同様です。いずれもフレーム全体を再生成し、何が変わるかをプロンプトに決めさせます。

AnyPaintは逆の方向に進みます。バイナリマスクで変更可能なピクセルを正確に指定すると、ランタイムはそれ以外のすべてをサンプリングステップが期待するノイズレベルに保ちます。オブジェクトの削除、衣装の差し替え、ケーブルの色変更、キャンバスの拡張は、プロンプト調整の問題ではなくマスクの問題になり、それはComfyUIの既存のインペイントおよびアウトペイントのワークフローがすでに生成しているものです。

入力の仕様

ランタイムは、1つのRGBソース、1つのバイナリマスク、各辺が16の倍数である出力キャンバス、出力ピクセル単位の省略可能なソースバウンディングボックス (x0, y0, x1, y1)、そしてプロンプトを受け取ります。

  • 白は生成、黒は保持。 0.5を超える値は生成、それ以外はすべて保持として扱われます。グレーや半透明のマスクは部分的な強度としては機能しません。
  • ソースサイズのマスクはソースに追従します。 キャンバスサイズのマスクはそのまま使用され、両方のサイズが一致する場合はキャンバス座標が優先されます。それ以外のサイズのマスクは拒否されます。
  • ソースボックスの外側は常に生成されます。 アウトペイントにはキャンバスをパディングするだけで十分で、手描きのマスクは不要です。内部マスクを同じリクエストで組み合わせることもできます。
  • プロンプトは完成した画像を記述します。 操作内容ではありません。マグカップを削除するには、残したいテーブルと背景を記述します。

マスクされたキャンバスは、最大辺384ピクセルに制限された単一の参照としてエンコードされ、その回転座標はターゲットキャンバス全体に広がるため、モデルは貼り付けたパッチではなく1枚のまとまりのある画像として認識します。既知のピクセルは別のコピーにフル解像度で保持され、各フローステップの後に復元されます。マスク境界はブレンドできるよう自由に残されます。外側の継ぎ目には32ピクセルの内側への再描画バンドが適用され、内部マスクは正確に適用されます。返される画像は生のモデル出力であり、ソースを上に重ねた隠れたコンポジットはありません。

MOSS-Imageの参照に慣れている人にとって重要な点が1つあります。テキストエンコーダーが見るのはプロンプトだけです。画像側は完全に参照パスで処理され、参照のVLMエンコードは無効になっています。

ケースの見え方

リリースからの3つの例を、それぞれソース、正確なマスク、結果として示します。

水彩のソース水彩のマスク水彩の結果
ソースマスク1パスで下方向にアウトペイント
ランプのソースランプのマスクランプの結果
ソースケーブルに沿った細いバンドケーブルがオレンジで描き直された
ポートレートのソースポートレートのマスクポートレートの結果
ソース内部マスクと端の外側のバンド衣装とキャンバスが同時に変更された

細いケーブルのケースが興味深い例です。マスクは数ピクセル幅しかなく、細い特徴はまさにマスクベースの手法が通常破綻する箇所です。VAEとパッチトークナイザーがそれを鈍らせるからです。水彩のケースは逆方向に進み、ほぼ1:1の絵画を1ステップで縦構図に拡張します。

12のAnyPaintケースすべてのコンタクトシート

12のケースすべてで、各行はソース、その正確なバイナリマスク、結果です。屋内および屋外のシーン、オブジェクト、イラスト、3D、人物。出典: yijunwang2/moss-anypaint

ComfyUIで実行する

このノードパッケージは作者の以前の Krea 2 AnyPaint ノードのインターフェースを再利用しているため、そのワークフローを実行したことがある人ならレイアウトに見覚えがあるはずです。AnyPaint Prepare はソース画像、MASK、辺ごとのパディングを受け取り、MOSS AnyPaint Encode はプロンプトを受け取り、MOSS AnyPaint Model Patch はローダーと KSampler の間に配置されます。

付属のワークフローは次のように接続されています。

ノード値
Load Diffusion Modelmoss_image_base_int8_convrot.safetensors
Load CLIPqwen3.5_9b_int8_convrot.safetensors、タイプ moss_image
Load VAEflux2-vae_small.safetensors
LoraLoaderModelOnlymoss_anypaint_rank32.safetensors を 1.0 で
LoraLoaderModelOnlylora_dmd2.safetensors を 1.0 で
AnyPaint Prepareパディング 0/0/0/0、参照エッジ 384、再描画バンド 32
KSampler8ステップ、CFG 1、euler、simple

ベースcheckpoint、テキストエンコーダー、VAEは Comfy-Org MOSS-Image repack から取得します。DMD2アダプターは Base 8-step DMD2リポジトリ の lora_dmd2.safetensors であり、同じリポジトリ内の古い lora.safetensors ではありません。AnyPaintアダプターは単一の142 MiBファイルです。

インペイントでは、4つのパディング値を0に保ち、既に使用しているものからマスクを供給します。SAMや他のセグメンテーションノード、ソース上のマスクエディターでの編集、白黒画像に対する ImageToMask などです。仕様は厳密に白が入力なので、サンプラーノードが反転したマスクを返す場合は接続を入れ替えてください。アウトペイントでは、拡張したい辺をピクセル単位で設定し、残りは0のままにします。キャンバスは16の倍数に切り上げられるため、位置が揃っていないソースでは右端と下端に数ピクセル余分に追加されることがあります。

制限事項

  • 生成される割合が大きいと、無関係な被写体や構造を引き込むことがあります。
  • 非常に細いマスク特徴はVAEとパッチトークナイザーによって粗くされるため、髪、ワイヤー、輪郭が難しいケースです。
  • 曖昧なプロンプトは、マスク内部よりも外側の再描画バンド付近のコンテキストをより多く変化させます。
  • マスクは置き換えたいオブジェクトやエッジ全体を覆う必要があります。輪郭を逃すとフリンジが残ります。
  • 小さなオブジェクトの数、正確な位置、幾何学的形状はシードによって変動することがあります。
  • フレーム全体がVAEデコードを通るため、マスクされていないピクセルもわずかに異なる場合があります。
  • 作者が公開している測定値は、付属の構成のみを対象としています。Baseと8ステップDMD2アダプター、8ステップ、CFG 1、shift 5です。他のサンプラー、ステップ数、精度は未検証です。

入手方法

アダプターとそのPythonランタイムは Hugging Face にあり、example.py、パイプラインコード、SHA256サムが含まれます。ComfyUIノードは alexw5702-afk/moss-anypaint にあり、11月14日時点でv0.2.0までのリリースが公開されています。既存の保存済みワークフローは独自のパディング値を持つため、古いセットアップが新しいデフォルトを引き継ぐことはありません。

MOSS-Imageのベースモデルページはこちらです。マスクベースのアプローチは指示ベースの編集LoRAと補完関係にあります。指示パスは書きやすく、マスクパスは制御しやすいのです。

コメント

GitHubでサインインしてディスカッションに参加しましょう。

コメントを読み込み中…
MOSS-Image AnyPaint:ComfyUI でマスクによるインペイントとアウトペイント | ComfyUI Wiki