画像生成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をスマホローカルで動作させた例もチラホラ


関連記事

ZBrushでアヴァン・ガメラを作ってみる 首回りの修正・脚の作り込み

データサイエンティストって何だ?

ZBrushでアヴァン・ガメラを作ってみる モールドの彫り込み・身体の形出し

新年の衝動買い

注文してた本が届いた

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

『スター・ウォーズ/スカイウォーカーの夜明け』のVFXブレイクダウン

MLDemos:機械学習について理解するための可視化ツール

SSII2014 チュートリアル講演会の資料

ニューラルネットワークで画像分類

ポリゴンジオメトリ処理ライブラリ『pmp-library (Polygon Mesh Process...

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

写真に3Dオブジェクトを違和感無く合成する『3DPhotoMagic』

中学3年生が制作した短編映像作品『2045』

mentalrayのSubsurface Scattering Shader『misss_fast_...

Houdiniのライセンスの種類

Facebookの顔認証技術『DeepFace』

Maya には3 種類のシェーダSDKがある?

素敵なパーティクル

ちょっと凝り過ぎなWebキャンペーン:全日本バーベイタム選手権 (MITSUBISHI KAGAKU...

OpenCV 3.1のsfmモジュールを試す

PeopleSansPeople:機械学習用の人物データをUnityで生成する

サンプラー音源ツール『SampleTank』シリーズの最新フリー版『SampleTank 3 Fre...

天体写真の3D動画

シフトカーを改造する人達

トランスフォーマー/ロストエイジのメイキング

3DCGのモデルを立体化するサービス

OpenCV バージョン4がリリースされた!

OpenCVの三角測量関数『cv::triangulatepoints』

ZBrushと液晶ペンタブレットでドラゴンをモデリングするチュートリアル動画

UnityでARKit2.0

Arduinoで人感センサーを使う

Shader.jp:リアルタイム3DCG技術をあつかうサイト

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

OpenFace:Deep Neural Networkによる顔の個人識別フレームワーク

UnrealCV:コンピュータビジョン研究のためのUnreal Engineプラグイン

Structure from Motion (多視点画像からの3次元形状復元)

ベイズ推定とグラフィカルモデル

科学技術計算向けスクリプト言語『Julia』

3DCG Meetup #4に行ってきた

ラクガキの立体化 1年半ぶりの続き

統計的な顔モデル

コメント