リアルタイムお絵描きツール「flowty-realtime-lcm-canvas」を触ってみた

はじめに

こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。

社内の生成AIハッカソンのネタを探しているときに、XでLCMを用いたリアルタイムお絵描きツールがいくつかあることを知りました。

その中でも、flowty-realtime-lcm-canvasが非常に導入しやすく、初学者のような自分にとって画像生成AIの学びのきっかけになると思い、今回紹介しようと思います。

※注意:初学者のため、間違っていることがあるかもしれません。ご了承ください。

LCMとは

LCM(Latente Consistency Model: 潜在的一貫性モデル)は2023月10月に論文が発表されたかなり新しい生成モデルです。

LCMの特徴は、高速かつ高品質な画像を生成できることで、画像生成は2~4ステップで完了します。

Latent Diffusion Modelsの効率を向上させるために開発された新世代の生成モデルとなります。

この章だけで、テックブログ1回分の量になるくらい情報量なので、概要はこれくらいにします。

Consistency Model(一貫性モデル)について詳しく知りたい方はこちらをご覧ください。非常に分かりやすいです。

zenn.dev

また、驚くことに、LCMはOSSのため、無料で使うことができます。

flowty-realtime-lcm-canvasの紹介

その無料で使えるLCMのツールがflowty-realtime-lcm-canvasです。

flowtというコミュニティが開発している、LCMをWeb UI上で試すことができるツールです。

Web UI部分は gradio libraryを使用しているようです。

操作感は、Stable Diffusionに近いので、すでにStable Diffusionを触られている方は問題なく使えると思います。

github.com

インストール、起動

インストールから起動まで非常に簡単です。今回はMacで実行しました。

※Google Colab Proを持ちの方は、以下のコマンド実行でサクッと試すことができます

!git clone https://github.com/flowtyone/flowty-realtime-lcm-canvas.git
%cd flowty-realtime-lcm-canvas
!pip install -r requirements.txt
!python ui.py --share

では、Macでの手順となります。

まず、venvを用いて仮想環境を立ち上げます。(my_venvはプロジェクト名)

$ python3 -m venv /path/my_venv
$ source /path/my_venv/bin/activate

venvが起動するとターミナルの頭が、(my_venv)のようにvenvのプロジェクト名になります。

続いて、PrTorchをインストールします。

(my_venv) $ pip install torch torchvision torchaudio

そして、flowty-realtime-lcm-canvas本体のクローンとインストールをします。

(my_venv) $ git clone https://github.com/flowtyone/flowty-realtime-lcm-canvas.git
(my_venv) $ cd flowty-realtime-lcm-canvas

(my_venv) $ pip install -r requirements.txt

最後に、ツールの起動をします。

実行を待つと以下のようにlocalhostのURLが表示されるので、ブラウザでアクセスしてください。

(my_venv) $ python ui.py

...
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.

この画面が表示されたら、準備完了です。

デモ

ここからは、思う存分画像生成を楽しむことができます。

画面上部にいくつか設定項目がありますが、Stable DiffusionのようにPromptに生成したいイメージの情報を入力します。

デフォルトでは、「Scary warewolf, 8K, realistic, colorful, long sharp teeth, splash art」となっています。

これを、「sunflower」としてみます。

かなり幼稚な絵でも割と完成度の高い画像になります。

続いて、「mountain, road, rice fieald」としてみると、そこそこいい感じの画像になりました。

性能ですが、Apple M2のMac Book Proを使っていますが、デフォルトの設定では、5~7秒程度で画像が生成されました。

Windowsの場合やスペックによっては、動かないという問題もあるようです。

まとめ

今回は、最近話題のリアルタイムお絵描きツール「flowty-realtime-lcm-canvas」を触ってみました。

厳密に言うとリアルタイムではなく、ワンクリックごとに画像生成の処理が走るのですが、

ものの数秒で自分で描いたイメージに近い画像が生成されるので、非常に面白いですね。

ハッカソンではDiffutionモデルを用いたデモを開発した方がいらっしゃいましたが、速度感は圧倒的にLCMが早いなという印象でした。

別のツールでは、絵を描くと同時に(ほぼ)画像が生成されるものもあり、性能については時間の問題のようです。

FPSが30~60出るようになれば、もはやアニメやゲームの背景は、LCMで生成可能になりそうです。

最後まで読んでくださりありがとうございました。

参考文献

self-development.info