【トリックアート】Illusion Diffusionツールのインストール

【トリックアート】Illusion Diffusionツールのインストール ツール

「単純に面白い画像を生成したい」
「トリックアートやイリュージョンアートを試してみたい」

このような場合には、この記事の内容が参考になります。
この記事では、トリックアートが生成できるIllusion Diffusionツールを解説しています。

本記事の内容

  • Illusion Diffusionツールとは?
  • Illusion Diffusionツールのインストール
  • Illusion Diffusionツールの動作確認

それでは、上記に沿って解説していきます。

Illusion Diffusionツールとは?

このような画像を見たことがありませんか?
このような画像は、トリックアートやイリュージョンアートなどと呼ばれています。

ここでは、イリュージョンで呼びましょう。
イリュージョンは、日本語では錯覚や幻想を意味します。

そして、錯覚や幻想を抱かせる写真や画像はイリュージョンアートと呼ばれています。
このような画像を簡単に作成できることを知っていますか?

専用のツールさえインストールしてしまえば、あとはイメージする画像とプロンプトを用意するだけです。
上記の庭の画像であれば、以下の画像を利用しています。

そして、これらの画像をベースに表示させたいイメージをテキストにします。
庭の画像であれば、「garden」だけです。

これらだけ用意するだけで、自分だけのイリュージョンアートが作成できます。
そのためのツールが、以下となります。

IllusionDiffusion - a Hugging Face Space by AP123
Create stunning illusion artwork by combining custom patterns with text prompts. Upload an image pattern and describe what you want to generate, and the app wil...

このツールは、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ツールの動作確認を説明しました。

タイトルとURLをコピーしました