見出し画像

画像変形 Imagic

画像変形?
ってなりますよね。
これまでは画像生成でしたから。
さらに変形までしてくれる、面白そうです。

元にしたのはこちらの記事です。

1枚の画像をテキストだけで編集できる

に惹かれて試してみました。
しかも、下の画像のように、鳥が羽ばたいている、すごい。

ではさっそくトライです。
サイトで紹介されていた通り、Github上で公開されています。
diffusers/examples/imagic at main · ShivamShrirao/diffusers · GitHub

では実際に、試してみましょう。
GitHubにアクセスします。
すると、Google Colab版があるようです。
したに Open Colab があります。

ということで、さっそくクリックしてColabに読み込みます。

こちらの説明から、メモリサイズを11GBにしてくださったと書いてあります。

試した方のHPを見ると、元のコードが掲載されていました。

こちらは30GBのメモリを消費するようで、とても難しいので11GB版で試してみることにします。

コードは基本的に「ランタイム」から「すべてのセル」を実行で動きます。

ただ1点、Stable-DiffusionV1.4を使いますので、Hugging Faceで
こちらのAPIトークンを得ておいてください。

APIトークンの発行方法はこちら

Colabを実行すると一度止まります。
ここで、先ほどのトークンを入れます。

API Token

と画像のようにログインが成功したら、実行が続いたらあとは画像選択を待つだけです。

もし止まったら、次のセルをクリックし、「ランタイム」から「以降のセルを実行」をクリックして続けてください。

Target Text

途中こちらの画面で、モデル(今回はStable-DiffusionV1.4を利用)、ターゲットテキストを入力します。

今回はテスト用に、鳥の画像を選択し、その羽が広がっている、ところを生成したいと思います。
そのため、「A bird spreading wings」ともとのままを使用しています。
こちらを任意のテキストに変換すれば、任意の変換が可能です。

変換したい画像を次いUploadすれば、生成してくれます。

画像のUpload

こちらのセルにくると、変換したい画像のUploadができます。
ファイル選択、のダイアログボックスが出るので、参照をクリックし、Uploadしたい画像を選択してください。
選択し、Uploadが完了すると上記のように、Uploadedとなります。

その他の変更点としては

乱数発生のSeed

こちらのセルで変更してください。

生成コンディション

生成画像の枚数、高さ、幅などが指定できます。

計算が終わると、結果が表示されます。


Gradio UI

続いてが、Gradio UIを用いた実装です。
実行されると表示される、public URLにアクセスするとこのように表示されます。

ここでパラメータを変更し、Generateを押すことで画像を生成できます。
生成画像は右のGallaryに表示されます。

私がやってみた結果はこちら。
元画像、生成画像
なかなか論文の画像のようには上手くイケてないですね。


元画像
変形画像

後は、いろいろ変えてみて遊んでみてください。
私もこれから遊んでみたいと思います。

注意

こちらのコードを実行すると、Google Driveに大量のデータが保存されます。
領域を圧迫する可能性があるので、使い終わったら削除しておいてください。

出力結果は、OUTPUT_DIRで指定された領域に保管されるので、
ご自身のGoogle Driveを使わない場合は、/content/側だけ残して実行してください。
これにより、Google Colabの一次領域に保管されるので、実行が終わると同時に消去されます。


この記事が気に入ったらサポートをしてみませんか?