「MOSS-Image」の導入方法・使い方!レイアウト指定が可能な画像生成AIをローカルで動かそう

MOSS-Image 導入方法・使い方 画像生成AI

今回は新しい画像生成AIに関する話題で

レイアウト指定可能な画像生成AI「MOSS-Image」の導入方法・使い方

をわかりやすく・丁寧に解説するという内容になっております。

このところローカル環境で動かせる画像生成AIのリリースが相次いでおり、ローカル画像生成界隈はなかなかの盛り上がりを見せています。そのような中、先日また新しい画像生成AI「MOSS-Image」が公開されてこちらも各所でかなり話題になっているようです。このモデルは「写実的な画像だけでなくアニメ風のイラストにも強い」とか「レイアウト指定ができる」という話だったのでさっそく私も試してみました。

ここではこのMOSS-Imageについて、ローカル環境への導入方法や使い方をご紹介していきますね。

MOSS-Imageについて

公式ページ

MOSS-Imageとは?主な特徴まとめ

MOSS-Imageは上海のOpenMossが開発・提供している画像生成AIです。主な特徴は次のとおり。

  • 実写だけでなくアニメ風イラストの生成にも対応
  • バウンディングボックスを使って画像の具体的なレイアウトを指定可能
  • プロンプトアップサンプラーによるプロンプトの最適化機能を利用可能
  • モデル本体のサイズは6GB程度と比較的コンパクト
  • オープンウェイトなので誰でも無料でローカル環境で動かせる
  • ライセンスは「Apache license 2.0」でかなり自由に活用できる
  • (最近流行りの画像編集機能や画像参照機能は無し)

実写とアニメ風イラストの両方を生成できるモデルは貴重なのでローカル生成民としてはありがたいですね。また、少しだけ手間はかかりますがバウンディングボックスで画像のレイアウトを指定できる点が大きな特徴の一つです。これをうまく活用すれば狙い通りのレイアウトを出すことができるのでガチャを引く回数を減らせます。

BaseモデルとSFTモデルの違い

MOSS-ImageにはBaseモデルとSFTモデルの2種類があります。Baseモデルはその名のとおり基盤モデル・SFTモデルはBaseモデルを微調整したモデルとなっています。

主な違いとしては、SFTモデルはテキスト描写やレイアウト構築においてBaseモデルよりも優れているようです。BaseモデルはLoRAを作成するときなどに使うモデルなので、用途が画像生成だけであればSFTモデルを使ったほうがいいでしょう。

今後「アニメ系に特化したMOSS-Image」が出るかも??

ちなみに余談として、海外掲示板のRedditにMOSS-Imageの開発者の一人が現れて「アニメ版モデルを優先的に出したい」という旨の発言をしていたので今後アニメ風イラストに特化したモデルが出るかもしれません。続報に期待したいですね。

注意点

それから注意点なのですが、MOSS-Imageでは普通に既存キャラや有名アーティストの画風を出せるみたいなので取り扱いに注意してください。マナーを守って楽しく画像生成しましょう。

MOSS-Imageで実際に生成した画像の例

さてMOSS-Imageの概要を知っていただいたところで、実際にどのような画像を生成できるのか?という点が気になると思いますので私がMOSS-Image(SFTモデル)で実際に生成した画像のサンプルをプロンプトつきでご覧いただこうと思います。

例1:スーツを着た黒い熊の写実的な画像

まずはいつも通り「スーツを着た黒い熊がオフィスで働いている様子」を映したリアルな画像を生成してみました。

MOSS-Imageで生成した、スーツを着た黒い熊のリアルな画像
プロンプト:
A highly realistic image of a black bear wearing a suit, working on a laptop in a clean office. The office is located in a high-rise building, with a view visible through a large window. The lighting is bright yet soft; the camera is focused on the bear, with the background slightly blurred. There is a drink and some documents on the bear's desk.

ネガティブプロンプト:
nsfw, worst quality, bad anatomy, watermark, jpeg artifact

とてもリアルで自然な画像が生成されました。リアル系の画像はバッチリですね。

例2:森でラーメンを食べている女の子のアニメ風イラスト

お次は私が美少女イラストのベンチマークとしてよく使っている「森でおいしそうにラーメンを食べている、黒い熊がモチーフの女の子」を描いたアニメ風イラストの生成を試しました。

MOSS-Imageで生成した、森でラーメンを食べている女の子のアニメ風イラスト
プロンプト:
A high-quality illustration resembling an anime screenshot. An anime-style girl with black hair—wearing a black hoodie with bear ears and a black skirt—sits on a rock in a bright forest, happily eating ramen. She wears the hood up and looks thoroughly satisfied. Steam rises from the ramen, which is topped with an egg, roast pork, and nori seaweed. The background features a beautiful, anime-style forest, with the camera focused on the girl and the background softly blurred. The art style is anime-inspired, featuring flat coloring.

ネガティブプロンプト:
(例1と同じ)

↑のサンプル画像は何度か試して一番出来が良かったものです。私のプロンプトの書き方が悪いのかなんか思ったほどのクオリティは出なくて、アニメ系だと割とクオリティのばらつきが大きい気がしました。ひとまず3~4枚に1枚くらいの確率でまあまあなイラストが生成されました。

開発者の方曰く「アニメ系画像の学習枚数は全体のごく一部」とのことで、モデル自体にまだまだ改善の余地があるのかもしれません。この辺はやはりアニメ版モデルの登場を待ちたいところですね。

例3:バウンディングボックスを使ったレイアウト指定(格闘ゲーム風画面)

MOSS-Imageはレイアウト指定が可能ということだったのでその機能も試してみました。

MOSS-Imageで生成した、2D格闘ゲーム風の画面
プロンプト:
A high-quality image resembling the gameplay screen of a 2D fighting game. It features a side-view perspective of a cute girl with bear ears—dressed in a black hoodie and a black skirt—facing off against a large black bear in a suit, ready for battle. Health bars for both characters appear at the top of the screen, and the word "FIGHT!!" is displayed prominently in the center. The background is a beautiful forest, with a large crowd of animals looking on and cheering for the two combatants.

ネガティブプロンプト:
(例1と同じ)

レイアウト指定に使ったバウンディングボックスの構成:

バウンディングボックスの構成例

バウンディングボックスの指定通りの画像が生成されました。ちなみに画風を指定しなかったらイラスト風のゲーム画面や、↑のサンプル画像のようなピクセルアート風のゲーム画面などいろいろなパターンの画像が生成されたので、もし狙った画風があるならちゃんと指定したほうがいいかもしれません。

MOSS-Imageの導入方法(ComfyUI)

ではここからが本題です。まずはMOSS-Imageのローカル環境への導入方法を解説します。主な手順は次のとおり。

  1. ComfyUIをインストールする(既に導入済の場合はアップデート)
  2. MOSS-Image用のComfyUIワークフローを導入する
  3. 必要なモデル一式をダウンロードする

それぞれ詳しく見ていきましょう。

手順1:ComfyUIをインストールする(既に導入済の場合はアップデート)

手っ取り早くMOSS-Imageを導入するにはComfyUIというツールを使うのが一番です。このブログをご覧の皆さんは既にインストール済みだと思いますが、まだだよという方がいらっしゃいましたら下記の記事を参考にしてComfyUIをインストールしてください。

また、既に導入済だよという方はComfyUIのインスタンスを最新版にアップデートしておきましょう。

手順2:MOSS-Image用のComfyUIワークフローを導入する

そうしたらComfyUIを起動して、MOSS-Image用のComfyUIワークフローを導入します。画面左側の「テンプレート」→テンプレート一覧で「moss」と検索するとMoss-Image用のワークフローのテンプレートが4種類出てきます。

ComfyUI MOSS-Image用テンプレートの検索結果

「Base」と書かれているのがBaseモデル用のワークフロー、無印がSFTモデル用のワークフローになっています。どれでも好きなものを導入して頂いて構いませんが、ここでは無印の「テキストから画像」を導入することにします。

手順3:必要なモデル一式をダウンロードする

ワークフローを導入するとエラーが出てそのままでは生成できないと思います。エラーの原因は「必要なモデルが足りない」ことです。そこでモデル一式をダウンロードしましょう。詳細を開くとご丁寧にダウンロードボタンが出てくるので「すべてダウンロード」してください。

ComfyUI ワークフロー導入直後のエラー

ちなみに執筆時点のComfyUIではダウンロードボタンを押しても何も反応がないように見えます。しかしよく見るとタイトルバーの最小化ボタンの隣にダウンロードマークが出ます。そこを押すと現在のダウンロード状況が表示されます。

あとモデルのダウンロードが完了してもエラーは自動的には消えません。エラーのところにある更新マークをクリックすると、モデルのダウンロードが完了していればエラーが消えて画像生成処理を実行できるようになります。

MOSS-Imageの使い方

導入が済んだらさっそくMOSS-Imageでの画像生成を試してみましょう。ここでは

  • テキストから画像のワークフロー
  • レイアウト誘導のワークフロー

のそれぞれの場合について使い方をご説明しますね。

「テキストから画像」の場合のワークフローの使い方

まずはオーソドックスな「テキストから画像」(=t2i)のワークフローの使い方です。

MOSS-Image テキストから画像のComfyUIワークフロー

画像解像度とアスペクト比を決める

画像サイズを指定するために、「解像度セレクター」ノードでアスペクト比とメガピクセルを指定します。

解像度セレクターノード

アスペクト比は画像の縦横比のことで、例えば1:1なら正方形・16:9ならワイドスクリーン向けの横長の画像になります。

ただしアスペクト比だけでは画像解像度は決まりません。そこでメガピクセルという値(=画素数)を指定します。1メガピクセル=100万画素です。例えば↑の画像のようにアスペクト比16:9で1メガピクセルなら1368x768pxの画像になります。

この値はお好みで決めていただいて構いませんが、高解像度の画像を生成しようとすると生成処理が遅くなるので注意してください。一般的には小さめの画像を生成してみてクオリティを確かめてから大きめの画像を生成するのがお勧めです。

プロンプトとネガティブプロンプトを記入して生成処理を実行する

Text to Image (MOSS-Image) サブグラフにプロンプトとネガティブプロンプトを記入します。

Text to Image (MOSS-Image) サブグラフ

プロンプト(positive_prompt欄)は「こういう画像を作れ」という指示文・ネガティブプロンプト(negative_prompt欄)は「こういう画像は作るな」という否定の指示文です。プロンプトのコツは後述しますが、MOSS-Imageにはプロンプトアップサンプラーが付属しており、AIが自動的にプロンプトを最適化してくれるのでこの機能を有効化する場合はザックリしたプロンプトでも構わないと思います。

もし何らかの理由でプロンプトアップサンプラーを使わない場合は「enable_prompt_upsampler」をOFFにしてなるべく具体的なプロンプトを書くようにしてください。

「レイアウト誘導」の場合のワークフローの使い方

次はMOSS-Imageの目玉機能の一つである「レイアウト誘導」の場合のワークフローの使い方です。基本的な使い方はt2iのワークフローと同じですが、こちらにはバウンディングボックスとよばれるレイアウト指定用のノードが追加されています。

MOSS-Image レイアウト誘導のComfyUIワークフロー

バウンディングボックスノードの使い方

バウンディングボックスは「ここにこういうオブジェクト(orテキスト)を配置しろ」という指定ができる最新機能です。

ComfyUI バウンディングボックスノード

バウンディングボックスの作り方は次のとおり。

  1. キャンバスの何もないところをドラッグすると新しいバウンディングボックスを描画します
  2. 既存のバウンディングボックスをドラッグすることで位置やサイズを変更できます
  3. バウンディングボックスを選んで、ノード下側の「説明」欄にそれがどのようなオブジェクトやテキストなのかを説明するプロンプトを書きます。オブジェクト(キャラクターや小道具など)の場合は「obj」、テキストの場合は「テキスト」を選んでから説明欄に記入しましょう
  4. テキストの場合は表示したいテキストを「テキスト」欄にそのまま書き、説明欄にはどのようなスタイルのテキストなのかを指定します

なおバウンディングボックスの左上には番号が振ってありますが、これは次の手順で使うので覚えておきましょう。

レイアウトプロンプトノードの設定

バウンディングボックスでレイアウトを決めたら、こちらでは(t2iのワークフローとは違って)プロンプトは下記の「MOSS-Image レイアウトプロンプト」ノードに書きます。

MOSS-Image レイアウトプロンプトノード

また、プロンプト欄の下に「character_boxes」という欄があります。ここには被写体となるキャラクターのボックス番号をカンマ区切りで記入します。

例えば

  • バウンディングボックス1:メインキャラクター
  • バウンディングボックス2:サブキャラクター
  • バウンディングボックス3:小道具1
  • バウンディングボックス4:小道具2

といった場合、「character_boxes」には「1, 2」と記入します。


ここまでできたらあとはワークフローを実行して画像生成を行えばOKです。

おまけ:プロンプトのコツ

MOSS-Imageは自然言語・タグの列挙など複数のプロンプトの形式をサポートしています。公式のプロンプトガイドによると、MOSS-Imageにおけるプロンプトのコツは下記のとおりです。

  • 英語でプロンプトを記入するのがおすすめ
  • ネガティブプロンプトとして下記を含めることを推奨:
    nsfw, worst quality, bad anatomy, watermark, jpeg artifact
  • タグの列挙で最良の結果を得るには下記の順番がおすすめ:
    品質→スコア→メタタグ→年代→キャラクター→シリーズ→アーティスト→その他一般

おわりに

以上、MOSS-Imageの導入方法や使い方を解説しました。MOSS-Imageは比較的コンパクトな画像生成AIでありながら実写もアニメ風も生成できたり、レイアウト指定ができたりと便利なので色々活用できると思います。この機会にぜひ皆さんも試してみてください。

この記事が画像生成のお役に立てば幸いです。