画像生成AI「Stable Diffusion」は、「森で遊ぶクマ」「アイスクリームを食べる人間」といった文章を入力するだけで文章に沿った画像を出力してくれるAIです。そんなStable Diffusionには文章と共に「元となる画像」を入力することで出力画像の精度を向上させられるモード「img2img」が存在。このimg2imgを駆使して簡単なラフ画像から高品質なイラストを生成する手順について、ソフトウェアエンジニア兼フォトグラファーのアンディ・サレルノ氏が解説しています。

4.2 Gigabytes, or: How to Draw Anything

https://andys.page/posts/how-to-draw/

Stable Diffusionに「森で遊ぶクマ」といった指示を与えた場合、「構図がイメージ通りではない」「夏の森ではなく、冬の森がいい」といったように、イメージと離れた画像が出力されることがよくあります。出力画像をイメージに近づけるには指示を細かくすればいいのですが、指示する相手は人間ではなくAIなので、AI向けに最適化された指示を与える必要があります。Stable Diffusionには「img2img」と呼ばれる機能が搭載されており、参考画像を与えることである程度大まかな指示でも狙い通りの画像を生成させることが可能。実際に「img2img」を使って生成した画像は、以下の記事で確認できます。

簡単なお絵かきとキーワードだけで思い通りの写真やイラストを自動生成する「img2img」モードを「Stable Diffusion」で誰でも試してみることができるサイト - GIGAZINE



サレルノ氏は、Stable Diffusionの「img2img」を用いて簡単なラフから以下のような「廃虚と化したシアトルの上空を宇宙船が飛行するイラスト」を作り上げる手順を解説しています。



まずは、背景を描きます。



さらに、前景、地面、街並み、山のラフを手書きで追加します。



手書きのラフを参考画像に指定してStable Diffusionに「シアトルの街並みのデジタルファンタジー絵画。前景には鮮やかな秋の木々。スペースニードルが見える。背景にはレーニア山。高精細。(Digital fantasy painting of the Seattle city skyline. Vibrant fall trees in the foreground. Space Needle visible. Mount Rainier in background. Highly detailed.)」という指示を与えた結果が以下。この段階では木々や街並みがべた塗りされています。なお、参考画像からの変化量を指定できる「strength」の値は0.8に設定されています。



上記のStable Diffusionで生成した画像を参考画像に指定して再度Stable Diffusionに「デジタルマットペインティング。非常に精細。荒廃した町。ポストアポカリプスの崩壊した建物。SF。シアトルの街。夕暮れのゴールデンアワー。日没の美しい空。高品質なデジタルアート。非常に写実的。(Digital Matte painting. Hyper detailed. City in ruins. Post-apocalyptic, crumbling buildings. Science fiction. Seattle skyline. Golden hour, dusk. Beautiful sky at sunset. High quality digital art. Hyper realistic.)」という指示を与えて出力させた画像が以下。前景の木々が取り除かれ、廃虚と化したシアトルの街並みが描画されています。この時の「strength」は0.8です。



次に、空に浮かべる宇宙船のラフを描きます。



宇宙船のラフを参考画像に指定して「スター・ウォーズのインペリアル級スター・デストロイヤーを描いたデジタルファンタジーSF絵画。高精細。白い背景(Digital fantasy science fiction painting of a Star Wars Imperial Class Star Destroyer. Highly detailed, white background.)」という指示を「strength」0.8で与えた結果が以下。スター・デストロイヤーっぽい雰囲気をまとった宇宙船が出力されました。



出力した宇宙船の画像をシアトルの画像の上に直接配置したものが以下。宇宙船だけ画風が異なるため、雰囲気が壊れています。



そこで、サレルノ氏は「シアトルの画像」と「宇宙船の画像」の雰囲気が合致するように、両者の出力を繰り替えしました。複数回の試行の後に得られた「ちょうどいい雰囲気の画像」を重ね合わせたものが以下。



続いて、以下のような鳥のラフを描いて……



鳥のラフを参考画像に指定して「デジタルマットペインティング。非常に精細。鳥が地平線に向かって飛ぶ。夕暮れのゴールデンアワー。日没の美しい空。高品質なデジタルアート。非常に写実的。(Digital Matte painting. Hyper detailed. Brds fly into the horizon. Golden hour, dusk. Beautiful sky at sunset. High quality digital art. Hyper realistic.)」という指示を「strength」0.75で与え、以下のような飛行中の鳥の画像を生成しました。



鳥の画像を重ね合わせた画像が以下。かなり理想に近づきました。



最後に、全体をなじませるために上記の画像を参考画像に指定して「デジタルマットペインティング。非常に精細。荒廃した町。ポストアポカリプスの崩壊した建物。SF。シアトルの街。スター・ウォーズのインペリアル級スター・デストロイヤー。遠くに鳥が飛んでいる。夕暮れのゴールデンアワー。日没の美しい空。高品質なデジタルアート。非常に写実的。(Digital Matte painting. Hyper detailed. City in ruins. Post-apocalyptic, crumbling buildings. Science fiction. Seattle skyline. Star Wars Imperial Star Destroyer hovers. Birds fly in the distance. Golden hour, dusk. Beautiful sky at sunset. High quality digital art. Hyper realistic.)」という指示を「strength」0.2で実行した結果が以下。交配した街の上空を宇宙船が飛ぶ高品質なイラストが完成しました。



なお、Stable Diffusionに与える文章については「実在のアーティストの名前を追加すると高品質な画像が得られる」というテクニックが広まっていますが、サレルノ氏は「アーティスト名をウェブ検索した際に、検索結果にAI製の画像が表示されるのは好ましくない」という理由からアーティスト名を用いずに画像生成を行っているとのことです。