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

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

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

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

本記事の内容

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

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

Illusion Diffusionツールとは?

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

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

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

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

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

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

IllusionDiffusion - a Hugging Face Space by AP123
Generate stunning high quality illusion artwork

このツールは、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をコピーしました