「単純に面白い画像を生成したい」
「トリックアートやイリュージョンアートを試してみたい」
このような場合には、この記事の内容が参考になります。
この記事では、トリックアートが生成できるIllusion Diffusionツールを解説しています。
本記事の内容
- Illusion Diffusionツールとは?
- Illusion Diffusionツールのインストール
- Illusion Diffusionツールの動作確認
それでは、上記に沿って解説していきます。
Illusion Diffusionツールとは?
このような画像を見たことがありませんか?
このような画像は、トリックアートやイリュージョンアートなどと呼ばれています。
ここでは、イリュージョンで呼びましょう。
イリュージョンは、日本語では錯覚や幻想を意味します。
そして、錯覚や幻想を抱かせる写真や画像はイリュージョンアートと呼ばれています。
このような画像を簡単に作成できることを知っていますか?
専用のツールさえインストールしてしまえば、あとはイメージする画像とプロンプトを用意するだけです。
上記の庭の画像であれば、以下の画像を利用しています。
そして、これらの画像をベースに表示させたいイメージをテキストにします。
庭の画像であれば、「garden」だけです。
これらだけ用意するだけで、自分だけのイリュージョンアートが作成できます。
そのためのツールが、以下となります。
このツールは、Stable Diffusionをベースに動いています。
そのことから、Illusion Diffusionと呼ばれているのでしょう。
そして、その上でControlnetの技術が活用されているということです。
モデルには、QRコードを生成できる「Controlnet QR Code Monster v2 For SD-1.5」が用いられています。
https://huggingface.co/monster-labs/control_v1p_sd15_qrcode_monster
ただ、普通はQRコードとイリュージョンアートが結び付くことはありません。
それをMrUgleh氏が見つけ出し、そのワークフローを公開したということです。
MrUgleh氏のXアカウント
https://twitter.com/MrUgleh
そのワークフローをもとに、AP氏がIllusion Diffusionツールを公開したという流れになります。
AP氏のXアカウント
https://twitter.com/angrypenguinPNG
既存のweb UIを用いても、Illusion Diffusionは実現可能のようです。
しかし、web UIはなるべく手を入れたくありませんありません。
web UIを更新する際に、そのハックが原因で問題になる可能性もあります。
よって、このような専用ツールの形はありがたいです。
以上、Illusion Diffusionツールについて説明しました。
次は、Illusion Diffusionツールのインストールを説明します。
Illusion Diffusionツールのインストール
Illusion Diffusionツールのインストールには、Python仮想環境の利用をオススメします。
検証は、次のバージョンのPythonで行っています。
> python -V Python 3.10.4
インストールを始める前に、次のおまじないを唱えておきましょう。
python.exe -m pip install --upgrade pip setuptools
では、Illusion Diffusionツールのインストールを始めていきます。
まずは、ファイル一式をダウンロードしましょう。
ツールのページにアクセスして、「Clone repository」を選択します。
そうすると、次のポッポアップが表示されます。
「git clone」のコマンドをコピーして、実行します。
ダウンロードできたら、リポジトリルートに移動しておきます。
git clone https://huggingface.co/spaces/AP123/IllusionDiffusion cd IllusionDiffusion
リポジトリルートには、requirements.txtが設置されています。
このファイルの最終行に「gradio[oauth]」を追加します。
(※gradioと一つにしても構いません)
修正後requirements.txt
diffusers transformers accelerate xformers gradio Pillow qrcode filelock --extra-index-url https://download.pytorch.org/whl/cu118 torch gradio[oauth]
私の環境では、上記で問題ありません。
各自のCUDAバージョンに合わせて、「–extra-index-url」部分は調整してください。
ファイルの内容に問題なければ、次のコマンドを実行します。
pip insatll -r requirements.txt
ライブラリがインストールされたら、Illusion Diffusionツールのインストールは完了です。
以上、Illusion Diffusionツールのインストールを説明しました。
次は、Illusion Diffusionツールの動作確認を説明します。
Illusion Diffusionツールの動作確認
Illusion Diffusionツールの動作確認を行います。
リポジトリルートにあるapp.pyを起動します。
python app.py
初回実行時(モデルが存在しない場合)は、必要モデルのダウンロードが実施されます。
その場合は、ダウンロードが終わるまで待ちましょう。
Windows環境の場合は、途中で以下のようなエラーが出るかもしれません。
AttributeError: 'WindowsPath' object has no attribute 'startswith'
その場合は、31行目付近を次のように修正します。
if _folder.startswith("/data") and not os.path.exists("/data"): ↓↓↓ if str(_folder).startswith("/data") and not os.path.exists("/data"):
Windows環境の場合、「_folder」が文字列である必要があるようです。
そのため、文字列に変換することで対応しています。
次のようにコンソールに表示されれば、ツールの起動が成功しています。
Running on local URL: http://127.0.0.1:7860 To create a public link, set `share=True` in `launch()`.
上記を確認できたら、そのURLにアクセスします。
アクセスすると、次のような画面を確認できます。
あとは、Hugging Face上のページと同じように利用できます。
ただし、過去の履歴機能などは機能しません。
ベースの画像がない場合は、「Examples」から選択することができます。
まずは、「spiral」を選択。
適当にプロンプトを入力して、画像を生成していきます。
左から、入力したプロンプトは「hotel」、「city」、「island」、「tower」となります。
もっと長いプロンプトでも全然OKです。
次は、白黒以外の画像を用いてみましょう。
当ブログのアイコンをアップロードします。
アイコンは、以下の記事の方法で生成しています。
まずは、アイコンをアップロード。
そして、プロンプトには「stone」とだけ入力します。
準備ができたら、「Run」ボタンをクリック。
そのようにして生成できたのが、次の画像になります。
上手く表現しますねー
単純にAIスゴイと感じました。
以上、Illusion Diffusionツールの動作確認を説明しました。