「Omost」で画像生成を細かく制御しよう

Omost(オモスト)とは?

Omost(オモスト)とは、ControlNetやStable Diffusion WebUI Forge、Foocusの開発者として著名なlllyasviel氏が開始した、新しいオープンソースプロジェクトです。

https://github.com/lllyasviel/Omost

Omostは、LLMを利用して、画像生成AIが生成する画像のコーディングをしようという試みで、簡単に言ってしまえば「Omostを使うことで、Stable Diffusionにレイアウト指定をほとんど制御できる」――「ほとんどできる」から、AlmostでOmost…という洒落のようです。

ご存じの通り、画像生成AIというのは、どんなに厳密なプロンプトを組んだり、ComifyUIを使って緻密なノードを組んだとしても、完全に制御できるものではありません。それはこのOmostを使っても同じことです。そこには「生成AIに共通する入力に対する出力のゆらぎ」のようなものがあります。

それでもOmostを使うと、それまで偶然に頼ることが多かったtxt2Imgでの画像生成に対して、かなり再現性の高いレイアウトを指定することができるようです。

lllyasviel氏の過去作「Fooocus」でも多くの内部最適化と品質改善がGPT-2をベースに組み込まれています。

https://github.com/lllyasviel/Fooocus

Fooocusで使われている技術詳細はこちら

https://github.com/lllyasviel/Fooocus?tab=readme-ov-file#tech_list

書籍「画像生成AI Stable Diffusionスタートガイド」でも、最初の段階でこちらの日本語版を扱っています。

書籍[画像生成AI Stable Diffusionスタートガイド]

https://j.aicu.ai/FoooC

Book-StartGuideSDXL/Fooocus_onColab.ipynb at main · aicuai/Book-StartGuideSDXL

さて、今回紹介する「Omost」は、より上を目指す、ちょっとマニアックなツールになりますが、幸いなことにHuggingFace Spaceで試すことができます。さっそく使用感を見ていきましょう。

上手に使えると、こんな高度なポージングをした画像が再現性高く生成できます。

画像

Omostを準備する

Spaceを使う場合

一番お手軽に使う方法はHuggingFaceのSpaceを利用することです。下のURLからアクセスできます。

Omost – a Hugging Face Space by lllyasviel

使ってみた印象では、ちょっと試すぐらいならSpaceを使うとよいと思います。スピードはローカルと変わらないぐらい速いです。

ローカル環境にインストールする場合

Omostは、お使いのWindows PCが8GB以上のVRAMを搭載しているNVIDIA製のビデオボードを搭載していれば、ローカル環境で動かすことができます。

ローカル環境で動かすためのインストールの方法は、Omostのリポジトリより Get Started(https://github.com/lllyasviel/Omost#get-started)より確認してください。
Omostをインストールする前に、事前に以下の環境が整っていることが必要です。

  • Git for Windows
  • AnacondaのWindowsローカル環境(Python 3.10)
  • CUDA 11.8 もしくは 12.5
  • インストールしたCUDAに対応したPyTorch

これらがコマンドプロンプトから動作するように、適切にWindowsの環境変数が設定されていることも必要です。

もし頑張ってインストールする場合には、ChatGPTなどに相談しながらやるとよいでしょう。
ここではOmostのインストールは終わっているものとして、進めます。

Omostを使ってみる

Omostのメイン画面は以下のようなものです。

レイアウトを指示する

画像

画面右下の「Submit」ボタンの横にチャットウィンドウがあります。そこに、欲しいイラストの内容を指定します。この指定は日本語でもいけます。LLMのおかげですね!

せっかくですので、以下のような面倒くさいイラストを指定してみましょう。

白い髪のバニーガールの少女が、異次元空間に浮かんでいる開いたドアの中をのぞき込み、ドアの中から光の珠(素晴らしい未来の象徴)を取り出そうとしている。
少女の表情は好奇心に溢れていつつも、心持ち不安げ。不安げなのは、未来に何が待っているのかまだわからないから。
異次元空間は真っ暗で、ドアが沢山浮かんでいる。
少女の表情と仕草をイラストの中心として、ダイナミックな構図で表現すること。
異次元空間なので、少女が立つ地平線は斜めに傾いている。
16:9の横長のコンポジションで作画すること。

画像

イラストは16:9で指定しているので、左側にある Omostの「Image Diffusion Model」内の Image Width を「1920」と Image Hight も「1080」になるように指定をしておくと、後ほどチェックするのに便利です。

画像
画像

ここまで終わったら、「Submit」ボタンを押して実行します。
するとその上の「Omost」というウィンドウ内に、延々とCanvasと呼ばれるオブジェクトが書かれていきます。これがOmostが生成AIに与えるイラストのレイアウト指示になっています。

画像

画像を生成する

ここでCanvasの生成が終わったら、左側に「Render the Image!」というボタンが追加されます。このボタンを押すと、今Canvasに設定された画像が続いて生成されます。

画像
画像
画像
画像

いくつかサイズも変えて生成してみたところ、大体、白髪のウサギ少女、ドア、オーブが配置されたイラストになります。2枚目が典型的ですね。

皆さんはうまく生成できましたか?
生成されたキャンバスの説明の生成も興味深いです。

AICUではOmostに関してさらなる活用方法を調査中です。
続報をお楽しみに!

この記事が面白かったらフォローやいいねをお願いします!