Dream Booth
数枚の画像で画像生成AI(Stable Diffusion)をファインチューニングして特定のオブジェクトの生成が可能というDream Booth。面白そうなので試してみることにしました。
私のパソコンは割と良いGPU(RTX3070)を載せているのですがGPUメモリが8GBしかないのでDream Boothを動かすのはちょっと厳しそうな雰囲気。他の方法は、ということでgoogle Colabで動かす方法を調べていたら、cedroさんが環境を公開してくださっていたので、これを動かしてみることに。
cedro3.com
お題
お題ですが、海外旅行にも行きにくい今日この頃なので、バーチャルの世界でうちのわんこをハワイで散歩させてみることにしました。
前準備
まず、前準備としてスマホの中からうちのわんこの写真を8枚ほどピックアップしてきました(Web掲載用にぼかしてあります)。正方形にトリミングした方が良いらしいですがそのまま使用しました。
次に下記のページを参考にHugging Faceのアクセストークンを取得しておきます。
cedro3.com
google Colabの実行にはgoogleアカウントが必要なので、持っていない方は作成しておいてください。
google Colabで動かしてみる
これで前準備が完了したのでDream Boothを動かしてみます。まずcedroさんのGitHubのページを開きます。
github.com
ページの上の方に「Open in Colab」というボタンがあるので、クリックしてコラボのページを開きます。
こんな感じのページが開きます。よく見ると灰色のBOX(セル)が並んでいます。このセルを順番に実行していきます。
一番上にある灰色のボックスにマウスカーソルを重ねると、こんな具合に左側に矢印(黒丸の中に白い三角形)が現れます。
この矢印をクリックすると当該セルが実行されます。実行中は先ほどの矢印のあたりがぐるぐる回り始めます。これが回っている間は実行中なので、先に進まずに待っていてください(重要)。
また「警告: このノートブックは Google が作成したものではありません。」というメッセージが出たら「このまま実行」を選択します。
ぐるぐるが止まったら、次のセルで同様に矢印をクリックしてます。あとはひたすらこれを繰り返していきますが、注意が必要なポイントがいくつかあります。
・「login to HuggingFace」というセルを実行すると、下記のメッセージが現れます。ここでは前準備で取得しておいたアクセストークンを
入力して「Login」を押します(チェックは入れたまま)。
・「setting folder」というセルでは実行する前に、右側のインスタンスとクラスを変更しておきます。今回は、インスタンス欄にわんこの名前(SuperDog(仮名))、クラス欄に「Animal」を入力しました。入力し終わったら矢印をクリックして実行します。
・「upload pics」というセルでは実行する前に、右側のsample picsのチェックを外してから矢印をクリックします。
するとセルの下側にファイル選択というボタンが現れるので(ぐるぐるは回ったまま)、これをクリックします。
画像選択画面になるので、前準備で用意しておいた画像を全て選択してから、矢印をクリックします。
・「train (takes 20〜30minutes)」は、ファインチューニングの実行です。完了するまでに20-30分かかるので気長に待ってください。google Colabは長時間放置すると接続を切られてしまうので注意。
・「manual generat images」というセルでは実行する前に、右側のプロンプトを変更しておきます。ここには生成した画像の説明文を英語で書きます。英語が苦手な人はDeepLの利用がお勧め。
今回はうちのわんこSuperDog(仮名)をハワイの海岸で散歩させたいので、「SuperDog walking on the beach in Hawaii」としました。この文を変えるといろいろなシーンの画像を生成できます。プロンプトを入力したら、矢印をクリックして実行します。
うちのわんこ in ハワイ
ここまで実行すると、所望の画像が生成されているはずです。
こんな感じの画像が出てきました。後ろに見えるのはワイキキビーチの近くにあるダイヤモンドヘッドでしょうか。
なかなか良い感じです。わんこも喜んでいるかな?
せっかくなので残りのセルも実行しておきましょう。
「auto generat images」というセルを実行するといろいろな画風の絵が出てきます。これもなかなか楽しいです。
なお、「manual generat images」や「auto generat images」は何度でも再実行することが出来ます。実行する度に異なる画像が生成されるので気に入った絵が出てくるまで何度も動かしてみると良いと思います。
気に行った画像が出来たら、右クリック→「名前を付けて画像を保存」で保存できます。
たった数枚の画像でここまで綺麗な画像を生成できるとは驚きです。かかった時間も1時間程度です。
最近の画像生成AIは本当にすごいですね~
では、また。