見出し画像

Stable Diffusion(Sea Art)の始め方と試してみた感想

🧩Stable Diffusionとは?

Stable Diffusion(ステイブル・ディフュージョン)は、2022年に公開されたディープラーニング(深層学習)のtext-to-imageモデル英語版)である。主にテキスト入力に基づく画像生成(text-to-image)に使用されるが、他にもインペインティング、アウトペインティング、テキストプロンプトによって誘導される画像に基づく画像生成(image-to-image)にも使用される。
Stable Diffusionは、ミュンヘン大学のCompVisグループが開発した潜在拡散モデル(: latent diffusion model)であり、深層生成ニューラルネットワークの一種である。このモデルは、EleutherAIとLAION英語版)の支援を受け、Stability AI、CompVis LMU、Runwayの三者が共同で公開した。2022年10月、Stability AIは、Lightspeed Venture Partners英語版)とCoatue Management英語版)が主導するラウンドで1億100万米ドルを調達した。
Stable Diffusionのコードとウェイトは一般に公開されており、少なくとも8GBのVRAMを持つGPUを搭載したほとんどの消費者向けハードウェアで実行可能である。そのため、DALL-EMidjourneyなど、クラウドサービス経由でのみアクセス可能だった従来のプロプライエタリなtext-to-imageモデルとは一線を画すものであると評されている。
Stable Diffusionは、教師データを確保するためにインターネット上から何十億もの画像をスクレイピングしているが、その画像の大半は著作権で保護されており同意を得ているわけではないので、著作権法に違反するのかどうか、フェアユースに該当するのかどうか、倫理的に適切であるのかといった法的・倫理的な論争が生じており、提供元のStability AIに対して複数の訴訟が提起されている。

ウィキペディア(Wikipedia)

🧩学んだ講座等

Udemyの口座からStable Diffusionに特化した講座を受講。同時にちょうど開催されていた【Lancers】電脳遊技会にも参加してきました。
2つで学んだ内容をまとめておこうと思います。

Udemy講座:ジェネレーティブAI(画像生成AI)入門【Stable Diffuson】-プロンプトでハイクオリティな画像製作が可能


【Lancers】電脳遊技会~画像生成AIを使いこなそうStable Diffusion編~

🧩環境構築

ローカル環境に構築を検討

はじめ、使っていないゲーミングPC(ノート)ローカル環境に構築するつもりだったのですが…

  • NVIDIA製のVRAM4GB以上、Windows11、ディスク容量残(CドライブもしくはDドライブ)25GB以上。

  • 推奨は、NVIDIA製のVRAM12GB以上、Windows11、ディスク容量(CドライブもしくはDドライブ)80GB以上、SSD。

という最低条件をみて、いろいろ足りないなぁ…と思い諦めました。

PCのスペックがいろいろ足りない…

次に、Udemy講座で紹介されていた「Paperspace Gradient」を検討

・月定額でGPUマシンを利用可能
・FreeプランであればRTX4000 8GBまで、ProプランであればA4000 16GBまで、GrowthプランであればA100 80GBまで使用可能

Paperspace Gradientの月額価格設定

Freeプランでは登録のみのようなもの
Proプランではお試しで生成に時間がかかる
GROWTHプランでなら快適に使える
…でも、使いたいマシンが使うときに空いているとは限らない?!

他の方が良く使う夜や週末などはさらに1時間あたりいくらを課金するマシンしか開いていないこともあるとのこと。
これから使う人が増えるだろうと考えると取り合いになりそうですね。

個人的には、よく知らない海外のものをクレカで購入するのは怖いという気持ちもあり解約方法なども調べてからでないと契約しにくい状況です…。

Udemy講座の中でも、マシンの課金システムがわかりにくくて知らずに課金していたので後で請求が来たとおっしゃってましたし💦

💡Google Colabを検討中

Pythonで機械学習を学んだ時に使ったことがあり、安心感があるので検討中。
Udemy講座内で警告メッセージが出ると言っていたのは無料プランのようなので有料プランで調査中。(私の学習時2年位前)とは少し変わっているようなのでわかり次第追記します。

🧩試してみる

まずは Web版デモ でお試ししてみましたが、イマイチよくわからない…。
そこで、電脳遊戯会で廉価版(50%くらい)で仕組みが同じと言っていたSeaArtを試してみました。

SeaArt

題材①桜並木の中で猫がたたずんでいる景色を作成。
   ※人がいてはいけない

桜並木と猫

題材②紅葉の背景で一人の日本人女性が微笑んでいる。
女性はショートカットで黒髪、めがねをかけていて着物を着ている。
※めがねをかけていると目がゆがみやすいので注意

着物を着ているメガネの黒髪女性と紅葉

ショートカット?!というところはあるものの、プロンプトの優先順位や入れ方が悪かった模様💦

最後にこのNoteのタイトル画像を生成。
PCのスペックが足りなくて困っている女性を作ってみました。

パソコンの前で困っている女性

🧩まとめ

・モデル(学習済みモデル)の選択
・LoRa(追加学習)で画風や作風を指示
・プロンプトで生成したいものをAIにわかりやすく伝える(優先順位の高いものから記入していき、単語に重みをつける)
・ネガティブプロンプト(生成したくないものを伝える)
・違う画像を生成したいときはSeedは-1

【推奨プロンプト】
((Top Quality,8k,32k,Masterpiece: 1.2))  クオリティの高い画像にしたいとき
Dramatic lighting           照明をドラマチックにしたいとき
Delicate eyes            繊細に目を生成したいとき
ultra detailed            イラストで繊細な描写にしたいとき
white backgraund          白背景(画像を切り抜きたいとき)

【ネガティブプロンプト例】
verybadimagenegative_v1.3, ng_deepnegative_v1_75t, (ugly face:0.8),cross-eyed,sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, bad anatomy, DeepNegative, facing away, tilted head, {Multiple people}, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worstquality, low quality, normal quality, jpegartifacts, signature, watermark, use

【パラメータ】
Samoling method ノイズを除去するときのアルゴリズム
Sampling steps  南海ノイズを除去するか(やりすぎても崩れる)
Batch count    入力されたプロンプトで生成する回数
CGF Scale    プロンプトをどれだけ忠実に実行するか
Seed       乱数


夕日と海


いいなと思ったら応援しよう!