画像生成AI Stable Diffusionで遊ぶ

7月にDALL-E2Midjourneyが公開されて以降、画像生成AIの話題が尽きない。
ほんの2,3ヶ月の間に、文章から画像を生成するtext to imageの新しい研究やサービス・ツールへの移植が毎日のように次々と公開されている。
https://note.com/yamkaz/m/mad0bd7dabc99

オイラも8月にMidjourneyを無料枠で試してみた↓



Stability.Aitext to image手法の1つであるStable Diffusionオープンソースで公開したことで、text to imageが色んなサービスやツールに組み込まれて一気に手軽に試せるようになった。
https://huggingface.co/CompVis/stable-diffusion-v1-4
https://github.com/CompVis/stable-diffusion



text to imageを利用できる有料サービスに課金しても良いけど、今はかなり円安なのでできれば自分のPCローカルでtext to image動かして好き放題遊びたい。そこそこ良いスペックのPCはあるので。


NVIDIA GeForce RTX 3080を購入
7月にデスクトップPCを新調したけど、グラフィックスボードだけは新製品が出るのを待っていた。NVIDIAのGeForce RTX 30シリーズが9月に発表され、発売と同時にGIGABYTE GV-N3080GAMING OC-10GDを注文...


少し調べてみると、今のところ最も手軽にtext to imageをローカルで試せるのはStable DiffusionをGUIで包んだこちらのアプリケーション↓

Stable Diffusion GRisk GUI


Stable Diffusionのモデルを実行するためのインターフェイスです。つまり、テキストのpromptを入力するとそれに対応した画像が返ってきます。

これは超アルファ版であるため、多くのバグがある可能性があります。Stable Diffusion GRisk GUI.exeを実行するだけで使用できます。
生成する画像の解像度設定は64の倍数(64, 128, 192, 256など)である必要があり、512×512解像度が最も良い生成結果を得られます。

重要事項:

  • 一部のGTX 1660カードでは、Use Half-Precisionで実行すると問題が発生すると判明しています。(現時点でGUIではこのオプションにしか対応していません)
  • Samples per promptはまだ機能しておらず、promptごとに常に1つの画像が生成されます。同じpromptを複数行繰り返せばSamples per promptと同等の効果を得られます。
  • 512X512で良好な結果を得られますが、他の解像度は品質に影響を与える可能性があります。
  • Step数を多くするとより品質が向上します。Step数を増やしてもメモリ消費量は増えず、処理時間が長くなります。
  • 150 Step以下から始めると良いでしょう。
  • .exeの起動時に以下のエラーが表示されてもアプリは引き続き動作します。


torchvision\io\image.py:13: UserWarning: Failed to load image Python extension:

torch\_jit_internal.py:751: UserWarning: Unable to retrieve source for @torch.jit._overload function: .

warnings.warn(f"Unable to retrieve source for @torch.jit._overload function: {func}.")

torch\_jit_internal.py:751: UserWarning: Unable to retrieve source for @torch.jit._overload function: .

warnings.warn(f"Unable to retrieve source for @torch.jit._overload function: {func}.")

オイラの環境だと640×640解像度まではエラー無く動作したけど、推奨解像度の512×512の方が生成品質は良くなるらしいです。
https://note.com/abubu_nounanka/n/n496a98677201

追記:もっとリッチなGUIアプリがあった↓

NMKD Stable Diffusion GUI


https://github.com/n00mkrad/text2image-gui
https://pajoca.com/stable-diffusion-gui-nmkd/
https://pajoca.com/stable-diffusion-gui-img2img/



promptとパラメータを色々工夫して好みの画像生成を模索してみた結果↓





























ハイスペックなPCを持っていれば、パソコンを起点とした遊びは充実するね。

もはやGANの時代ではないらしい。Stable Diffusionの仕組みについてちゃんと勉強したいなぁ。
https://ja.stateofaiguides.com/20221012-stable-diffusion/

追記:Stable Diffusionをスマホローカルで動作させた例もチラホラ


関連記事

『ローグ・ワン/スター・ウォーズ・ストーリー』のVFXブレイクダウン まとめ

機械学習に役立つPythonライブラリ一覧

ZBrushでアヴァン・ガメラを作ってみる 口のバランス調整

Math.NET Numerics:Unityで使える数値計算ライブラリ

サンプルコードにも間違いはある?

オープンソースの顔の動作解析ツールキット『OpenFace』

ドラマ『ファースト・クラス』第2弾 10月から放送

Leap MotionでMaya上のオブジェクトを操作できるプラグイン

自前Shaderの件 解決しました

海外ドラマのChromaKey

統計学に入門したい

ZBrushでゴジラ2001を作ってみる 姿勢の変更

MPC社によるゴジラ(2014)のVFXブレイクダウン

PowerPointによるプレゼン

トランスフォーマーの変形パターンを覚えるのは楽しいと思うんだ

リアルタイム レイトレーシングAPI『DirectX Raytracing (DXR)』

OpenCV 3.1から追加されたSfMモジュール

3Dスキャンしたテクスチャから照明を除去するUnityツール『De Lighting tool』

DMMが秋葉原にMakerスペース『DMM.make AKIBA』をオープン

オープンソースのテクスチャマッピングシステム『Ptex』

HaskellのAPI検索サイト 『Hoogle』

「うぶんちゅ!」

書籍『開田裕治 怪獣イラストテクニック』

viser:Pythonで使える3D可視化ライブラリ

OpenAR:OpenCVベースのマーカーARライブラリ

OpenCVでカメラ画像から自己位置認識 (Visual Odometry)

SIGGRAPH ASIAのマスコット

Arduinoで人感センサーを使う

色んな三面図があるサイト

Unite 2014の動画

『ハン・ソロ/スター・ウォーズ・ストーリー』のVFXブレイクダウン まとめ

Transformer Explainer:テキスト生成モデルの可視化ツール

なりきり玩具と未来のガジェット

Kinect for Windows v2の日本価格決定

オープンソースの物理ベースレンダラ『Mitsuba』をMayaで使う

OpenCV

顔検出・認識のAPI・ライブラリ・ソフトウェアのリスト

3D映画のポストプロダクション 2D-3D変換

ラクガキの立体化 モールドの追加

iPhone欲しいなぁ

BSDF: (Bidirectional scattering distribution funct...

NeRF (Neural Radiance Fields):深層学習による新規視点合成

コメント