「テキストから絵が生まれるなんて本当だろうか?」と驚いたのも束の間、AIによる画像生成の技術は凄まじいスピードで進化しています。
写真のように緻密であったり、独特のタッチで描かれたりする画像を目にすると「自分もこんな作品を作ってみたい」と思うのではないでしょうか。
本記事では手順となる記事を元に、プログラム初心者がStable Diffusionで絵を生成してみた実践をまとめました。ぜひ最後までお読みください。
初心者の私にもできる?
実践レポートに入る前に私のレベルをお伝えします。プログラミングに関しては初心者です。理解していることは「プログラム言語は複数あり、その言語ごとにコードの書き方が変わる」というごく初歩的なものです。
また、Google Colabは数回利用した程度であり、画像生成のStable Diffusionも今回初めて利用します。
そんな私でも参考サイトを見ながら作業すれば、Stable Diffusionで画像を生成することができました。初心者ゆえに上手くいかなかった点とコツについてもまとめています。
参考にしたサイト
画像生成を体験するにあたり、参考にさせていただいた記事はこちらです。
”Pythonユーザー向けにこの Stable Diffusion を Google Colab で体験する方法”
”AI や Google Colab がはじめてでもチャレンジできるように、手順を一つひとつ丁寧に説明しています”
上記のように説明があり、つまづきそうなところには画面キャプチャがあるおかげで安心感がありました。あらかじめGoogle Colabのノートブックもクリック一つでアクセスできるようになっています。
初心者にとっては、環境を整えることが一つ目のハードルになるためノートブックが用意されているのは非常にありがたいです。
全体像を把握しよう
Stable Diffusionで画像生成をする際にいくつかのツールを利用します。具体的には以下の4つです。
- Google Colab
- Python
- ライブラリ
- Stable Diffusion
簡単にそれぞれがどんな役割を持っているのかAIとやり取りした内容を基に絵にしました。
私たちは環境の整った公共図書館の学習スペースのような場所(Google Colab)で人形(Python)に対して作業指示を出します。指示を受けたPythonは作業に必要な知識を本(様々なライブラリ)を使って処理を行います。
Stable Diffusionのライブラリもありますが、今回は学習済みモデルを自分のパソコンにダウンロードして使用するため、専門書(学習済みモデル)を持ち込んで作業しているようなイメージですです。
実際にコードを実行してみよう
では参考サイトの作業順に沿ってレポートしていきます。説明が不要な手順についてはスキップしています。
本記事に一度目を通していただいた後に、参考サイトを見ながら作業していただくと作業がスムーズに進められます。
Googleドライブの空き容量は大丈夫?
まず、Stable Diffusionの学習済みモデルをダウンロードする必要があります。その後Googleドライブにアップロードするため、次の環境があるか確認してください。
- Googleアカウント…Google Colab、Googleドライブを使用するのに必要です
- Google ドライブに十分な空き容量…ダウンロードするファイルは約4GBあります。
既に作成済みのノートブックも利用可能
Google Colab上に新規ファイルを作る手順が丁寧に画像入りで説明されています。もっと簡単に手っ取り早く進めたい場合は「Open in Colab」のリンクをクリックすると実行すべき内容がまとめられたノートブックが開きます。
初回だけ手順通りに操作し、流れが分かった2回目以降は作成済ノートブックを使うと手早く操作できます。
手順2のランタイムを変更する手順で、参考サイトのスクリーンショットが実際と異なるため記事作成時のものを載せておきます。
GPUの性能は上からA100、V100,T4となりますが無料版で使用できるのはT4のみとなります。
2. GPUを有効にする
デフォルトではGPUは有効になっていないので、設定を変更します。以下のように[ランタイム]-[ランタイムのタイプを変更]を選択します。
引用元:「2. GPUを有効にする」
警告?問題ないメッセージもあるため解説をよく見よう
作業に必要なライブラリを読み込む行程では、一見問題がありそうなメッセージがでても実際には影響のないものあると書かれています。
慌てずに、参考サイトの解説や画面キャプチャと比較して、同じ結果が表示されているか確認します。
学習済みモデルのパスはメモ帳へコピー
手順8で学習済モデルのパスをコピーする手順があります。
実際にはこの後に入力するコードをさらにコピーする必要があるため、学習モデルのパスはメモ帳などに別に貼り付けておくと作業がスムーズに進みます。
最大の難関?生成したい画像をテキストにする
9. Stable Diffusion のスクリプト(txt2img.py)を実行
手順9まで来ればあと一歩です。Stable Diffusionに生成して欲しい絵をいよいよテキストで指示します。
指示文=プロンプトは英語で書く必要があります。参考サイトでは「Mt. Fuji in the style of Gauguin」(ゴーギャン風の富士山)とシンプルな指示を出しています。
まずは参考サイトと同じ文言を使って画像生成が正常に行われることを確認することをおすすめします。
無事「Enjoy.」のメッセージがでれば画像成功です。生成された画像をダウンロードするには、カーソルを合わせると出てくる「…」から「ダウンロード」をクリックします。
複数の画像を生成すると下の画像のようにファイル名は連番で付けられます。
続けて画像を生成する場合は、先ほどのコードのダブルクォーテーションで挟まれた文言(「Mt. Fuji in the style of Gauguin」の部分)を編集して同様に実行すれば画像生成が再び始まります。
プロンプトジェネレーターの助けをかりる
正常に画像生成ができれば、あとは自分好みの画像生成にチャレンジです。しかし、イメージ通りの画像を生成するためには必要なフレーズや言葉選び方が重要になるため、プロンプトジェネレーターを利用するとコツがつかめてきます。
参考サイトでも紹介されている「Stable Diffusion Prompt Generator」を活用したり、WEBにあるStable Diffusion用の呪文集(プロンプト集)を利用したりするのもよいでしょう。
オリジナルの画像生成に挑戦
今回は日本語で自分の作りたい画像に必要な要素を言葉にし、DeepL で英語に変換しました。
翻訳した結果を「Stable Diffusion Prompt Generator」にペーストして「送信」をクリックするとプロンプトの候補を生成してくれます。
内容によってプロンプトが出来上がる時間には差があり、数十秒の場合もあれば数分掛かるものもありました。
使用したスクリプトはこちらです。
Photorealism Painting of a A flying carpet drifting in space. On the carpet is a boy in a T-shirt. , 4k
結果はこちら
できあがったプロンプトを使って実行したところ下のような画像が生成されました。
残念ながら「空飛ぶ絨毯」という要素はなくなっていますが宇宙に漂っている雰囲気は出ています。
ここから理想の画像に近づけるにはプロンプトを調整していく必要がありそうです。
作業は一気に、確認はこまめに
作業を途中で中断せずに最後まで実行する
作業をスムーズに進めるために以下のポイントに注意するとエラーなく進められるはずです。
Google Colabは無料で使えて非常に便利なツールですが、操作をしない状態で90分が経過するとランタイムがリセットされるようになっています。
ランタイムリセットが実行されると、せっかく読み込んだデータやアップロードしたファイルもリセットされてしまいます。
このことを知らず、中断後に続きのコードを実行しても「ファイルがありません」等のエラーが多発し、「アップロードのコードは実行済みなのになぜファイルがないんだ!」と原因がわからず大変困りました。
90分以内に作業を全て終わらせなければならないという意味ではなく、常に作業状態が続いていればリセットが掛かることはありません。画像生成までの作業をひとまとまりとして行えば大丈夫です。
作業ごとに参考サイトと同じ結果か確認する
操作やコードを正しく実行したつもりでも実際はうまく実行できていないことがありました。
作業ごとに参考サイトに示されているものと同じ結果になっているか確認することで、エラーが起きても原因の特定がしやすくなります。
エラーが出ても諦めず、ChatGPTに聞いてみよう
エラーが出ても対処法はあります。ChatGPTに実行したコードと返ってきたエラーを伝え、原因の候補を出すように指示してみてください。
確認すべきポイントを出してくれます。手順にもともとあるような回答が返ってきたら「パスの表記が少しだけ違っていた」など些細なことが原因の可能性があります。
エラーが出ても諦めずにトライしてみてください。
まとめ:画像生成までは簡単、その先は研究が必要
初心者にもわかりやすく書かれた参考サイトのおかげで、Google Colabを使ってStable Diffusionで画像を生成することができました。
本記事では上手くいかなかったところや補足を中心にレポートしました。ランタイムリセットに注意し、まとまった時間で作業をすすめることができれば、スムーズに画像生成までたどり着けるはずです。
参考サイトでも書かれている通り、Stable Diffusionに指示するプロンプトはWEB上に多くの情報やジェネレーターツールがあります。好みのものを試してみて理想の画像を生成してみてください。
![](https://gridworld.co/wp-content/uploads/2024/02/21-1.png)
従来の記事作成と異なり、AIを使うことで大量のデータから
最適な情報を選び出し、コスパ良く記事を生み出すことが可能です。
時間の節約、コスト削減、品質の維持。
AI記事作成代行サービスは、効率よく質の高い記事を作成いたします。
コメント