MarkdownとBullet Journal

いわゆるプログラマーのつぶやき

DALL-E 2で外側の絵を描く

DALL-E 2の拡張機能

既存の写真や絵、AIの生成画像を修正・加筆するインペインティングに加え、絵の外側を描けるアウトペインティング機能が追加された。

https://openai.com/blog/dall-e-introducing-outpainting/

DALL E-2 Outpainting
DALL E-2 Outpainting

ネスレフェルメールの牛乳を注ぐ女の外側を生成させた動画CMの紹介記事

nlab.itmedia.co.jp

実際にやってみる

DALL-E 2のサイトに移動して、画面にある「 Or, upload an image to edit 」をクリック。

DALL-E 2の最初の画面

画像をuploadするとクロップを聞かれるので必要に応じてクロップ

クロップ画面

編集画面になるので下にあるアイコンの「Add generation flame」を選択して(白いフレームが現れる)、追加したい部分に移動させる。ここでどの様なイメージで追加フレームを作成したいかを決めるプロンプトを入力してからgenerateをクリックで生成される。

追加フレーム

生成途中の例

追加生成した例

ブログに便利な時代

今回の様な例を示す際に、今までは著作権や肖像権に配慮する必要があったが、AIで生成された架空の画像を使える様になって説明の際の手間が一気に減少した。一番喜んでいるのはブロガーかもしれない。

PhotoshopにStable Diffusionを組み込む

作画ツールとAIの連携

Stable Diffusionの活用例として、Photoshopやクリスタとの連携があれば便利だなと思っていたら、とっくにそれらのツールが揃っていた。そこで実際にMacPhotoshopに組み込んだ事例を示す(Windowsも同様に行える)。その他クリスタへ組み込む情報も記載する。

Photoshopとの連携(1)

Stable Diffusionのweb版である「DreamStudio」のAPIを利用したプラグインなので、Stable DiffusionをPCにインストールすることなくPhotoshopにStable Diffusionのプロンプト生成や、元の絵を活用するimage2imageなどが行える。これでPhotoshopを用いた作画作業にてラフデザインなど初期段階の省力化が期待できる。(下記リンク先)。

https://christiancantrell.com/#ai-ml

Photoshop プラグインの動作

インストール手順:

  1. サイトのDownload the Stable Diffusion Photoshop Plugin (v0.2.0)をクリック
  2. CCX ファイルをダウンロード(macOSWindowsで動作)
  3. Creative Cloud デスクトップアプリが実行中で、最新バージョンに更新され、開いていることを確認
  4. 最新バージョンの Photoshop がインストールされていることを確認
  5. フォトショップを開く
  6. 手順2でダウンロードしたCCXファイルをダブルクリック
  7. インストールの承認を行なった後、Photoshopの左側に現れる画面でAPI Keyを入力
  8. 全て完了したらプロンプト入力ができる。生成したものをPhotoshopのレイヤー等で活用

実際に導入してみる

下図は上の7の段階。左に出てきたStable Diffusionの画面の上部にあるAPI-Key入力をすべく、説明文にある「Your API key is available here」をクリックする。

Photoshop API-Key入力画面

すると、WebのDreamStudioに移動するので、下図のAPI Keyの文字をクリックしてKeyのコピーをクリックしてからPhotoshopに戻り、API-Keyを入力する

webのDreamStudioのAPI Key画面

これで使えるようになったので、左の画面で「Generate」タブをクリックし、後はweb版同様にプロンプトを入れる。img2imgも可能。

PhotoshopでStable Diffusionが使える状態

この程度であれば、別途webなどで生成された画像ファイルの読み込みとあまり変わらないが、今後、impaintingやoutpaintingの機能も間違いなく実装されるだろうし、そうなるとPhotoshopのワークフローで一気に作業がやり易くなる未来が見える。

Photoshopとの連携(2)

同様にStable DiffusionをPhotoshopで動かすプラグイン「alpaca」(下記リンク)。但しこちらはStable Diffusionのローカルインストールが必要。

https://www.getalpaca.io/

※現在プライベートベータ版を入手するためのユーザー登録が可能。

Photoshop plugin Alpacaのログイン画面

Photoshop上でテキスト入力による画像の自動生成が可能で、人間がそれに細かな調整を加えるなど、人間とAIの画像作成能力の相乗効果が期待できる。

CLIP STUDIO PAINTとの連携

同様にクリスタ(CLIP STUDIO PAINT)で動かすプラグイン「NekoDraw」(下記リンク)。「text2img」と「img2img」に対応。

github.com

NekoDrawではローカル環境でStable Diffusionを実行するため、Stable Diffusionをインストールする場合と同様のPC環境が必要。

Stable Diffusionで手書きの絵から画像生成

Stable Diffusionのimage2image

雑な手書きの図から綺麗なイラストを作成する方法としてimg2imgがStable Diffusionには最初から搭載されている。Stable Diffusionのこの機能を試すにはこれまでローカルやクラウドにインストールが必要だったが、現在簡単に試せるサイトがある。

①DreamStudioの機能追加

Webサービス版として提供されているDreamStudioにimg2img機能が追加された。画像のuploadに対応している。

②diffuse-the-restサイト

こちらは画像のupload以外にマウスでの手書き機能もサポートしている。

huggingface.co

とりあえずマウスで適当に鳥の絵を描き、プロンプトで「鳥」を指定して生成した例を示す。

手書きの鳥の絵から生成

手書きの鳥の絵から生成

何が得られるか

この機能は、すでに活用されている、参照したいwebページを指定して得たいイメージを入手する方法に似ている。構図など含めた構成を文章ではなく手書きイラストでサッと指定出来るのは便利だろう。用途例としては、アニメのコンテ図から原画作成を行うプロセスの代替などが考えられ、大幅な作成の時間と手間が省けるだろう。誰でもアニメを作れる時代が近いのかもしれない。

作成のコツ

手順を載せたwebサイト。

andys.page

Stable Diffusion Conceptualizer 個人が学習させたセットで画像生成

個人が学習させたモデルで画像生成出来る

日進月歩、秒進分歩という言葉がピッタリのAI画像生成だが、数日前に「Stable Diffusion Conceptualizer」のWebサイトが登場した。誰でも複数枚以上の画像データさえあれば、それを追加学習させたStable Diffusionで自由に画像生成出来る。これをTextual Inversionと称しているが、実際に世界中で作られたデータセットによる画像生成を以下のリンク先で試せる(現在で350以上登録済み)。

huggingface.co

まず画面の左にあるコミュニティで作られた様々な画像データセットを選び、次に右のプロンプト内でその画像データセットを指定する。

一例としてチェブラーシカのデータセットを用いた「馬」を生成してみた。生成された図の右の方はたてがみもあって、それっぽい(?)。

プロンプトの記載例: horse by <cheburashka>

※記号の<>を付けて、左窓にある好みのデータセットを指定

現在負荷が重いため作成時にエラーになることが多いが、諦めずにクリックすると何回かに1回は実行できる

チェブラーシカのデータセットを用いた馬の生成

話題になったmimicと同じ

これは1日でサービス停止などで話題になった、イラストレータの画風の特徴を学ばせて画像生成させるmimicと同じTextual Inversion技術である。Textual InversionはStableDiffusionの標準機能であり、今後この流れは止められないだろう。

MidJourney,Stable Diffusion 優れたプロンプトを見つけるノウハウ

AI画像生成プロンプトの探索

AI画像生成プロンプトは世界中で研究されている。

最初にプロンプトの概要を簡単にまとめる。こちらの概要はMidJourney,Stable Diffusion(DreamStudio),DALLE-2などのAI画像生成ツールで使える。

次にプロンプトの情報が閲覧できる優れたサイトを複数紹介する。

AI画像生成の手順

画像生成のプロンプトはどの様に打ち込んでいるだろうか。思いつくまま単語だけを入力しても生成されるが、狙ったイメージに近づけるにはお作法が求められる。

理想的な生成パターン

  1. 生成したい画像のイメージをまとめる
  2. 定形に従ってプロンプト(日本語)を書く(得意な方は英語で)
  3. 翻訳サイトでプロンプトを英文に変更(Google翻訳など活用)
  4. AI画像生成サイトにプロンプトを投入
  5. 繰り返し生成、あるいはプロンプトを修正して生成
  6. 納得のいく画像が生成されたら保存やアップロード

模倣する生成パターン

  1. 各AIサービスで他人が作成した生成物を閲覧
  2. 気に入ったものがあればコピー等して生成(プロンプトのコピー行為は問題ない)
  3. 繰り返し生成、あるいはプロンプトを修正して生成
  4. 納得のいく画像が生成されたら保存やアップロード

プロンプトの定形

プロンプトは複数の文節で構成される。諸先輩の方々が探究・整理されてきたプロンプトの定形は主に以下の様な8文節で構成されている。

  1. <参照>参照したい画像URL
  2. <様式>写真、油彩、水彩、漫画、アニメ、etc
  3. <主題>部屋にいる黒髪の笑顔の女性、古代の金属装飾品、etc
  4. <副題>古式の蝋燭立て、群衆など主題に添えるもの。複数OK
  5. <作風>作者名、作品名、ダークなど雰囲気、etc
  6. <設定>ライティング、リアル、4k8k、etc
  7. <機材>カメラ名、レンズ、フィルター、etc
  8. <付記>各AIサイトのオプション類

もちろん、主題の「女性」、だけでも画像は生成されるが制約条件がほとんどないので、意図したイメージにはなりにくい。そこで前記の8文節をしっかりと記載することで意図したイメージに近づけ易くなる。これは人間の画家でも、「女性を描いて欲しい!」と依頼しただけでは完成する作品がどんなものになるか予想出来ないのと同じだ。

では下記のプロンプトで生成してみよう。

  1. <参照> -
  2. <様式> a photo of
  3. <主題> beautiful woman playing piano
  4. <副題> and old candlestick
  5. <作風> Granblue Fantasy
  6. <設定> golden lighting
  7. <機材> Nikon D4 and Nikon Lens 50mm F1.4
  8. <付記> -

a photo of beautiful woman playing piano and old candlestick, Granblue Fantasy, golden lighting, Nikon D4 and Nikon Lens 50mm F1.4

写真風、ピアノを弾く女性、蝋燭立て、グランブルーファンタジー(服装に影響)、金色の光源(ライトアップ)、一眼レフと開放レンズによるボケ、とプロンプトを細かく指定することで描きたいイメージに近い作例になったと感じる。

さて、作品を作る上で打ち込むプロンプトがどんな絵を生み出すかを一つずつ自分で調査するのも良いが、あまりにも変量が多いため、リファレンスを適宜活用した方が良いだろう。以下、有効なプロンプトを知る上で役立ちそうなサイトをいくつか紹介する。

プロンプト集①:MidJourneyの膨大なプロンプト実証

世の中にはとんでもないレベルでプロンプトの実証をしている方がいる。MidJourneyのVer.1,2,3の違い、僅かなプロンプトの違いなど、作例と共にまとめ上げているGitHubを最初に紹介する(下記リンク)。

github.com

少し中を覗いてみよう。上にある「pages」フォルダをクリック、続いて「MJ_V3」、「Style_Pages」を順にクリックすると下記のスタイル一覧のページが出てくる。

各プロンプトのリスト

ここに出ているスタイルリストの一つ一つがまた中に多数のリストを有している。例として先頭の「Artist」をクリックすると、写実派や近代アートなど様々な画風のリストが現れる

画風の一覧

一番上に出てくる選択肢は「MidJourney V3」「landscape」(風景)を選んだ(他を選んでもOK)。

次にArtistリストの一番上にある「Realism」を選んでみよう。するとリアリズムの画風スタイルに属する9名の画家の名前をそれぞれプロンプトに入れた場合に生成される風景画のサンプルが表示される(表示される絵をクリックすると拡大される)。

画風 Realismの9名(画面上は5名まで見えている)

同じ様に少し下の「Manga」の画風でもやってみる。

画風 Mangaの生成例

この様にArtist内で画風スタイルや画家の名前を入れ替えるだけで相当雰囲気が変わるのが見てとれる。このArtist以外に選択できるスタイル要素は最初のリストの通り、これまた膨大にある。例として「Lighting」ー「Types of lights」を選んでみる。

Style - Lighting - Just the style

派手に変化するのがわかる。これだけ情報量があれば、色々眺めるだけでも勉強になるだろう。

プロンプト集②:ジャンル別の生成見本が手早く探せる

もう少し簡単にカタログの様に生成例が見たい場合はThe AI Artのサイトが便利かもしれない(下記リンク)。

www.the-ai-art.com

画面のメニューに従ってお好みの絵を探し、見つかったらタイトルの所をクリックするだけでプロンプトがコピー出来る。リンク先はAngleのリストから始まる。

The Ai Artサイト

プルダウンメニューで「Artist」を選び、例えばバンクシーを選ぶと下の様に表示される。それぞれその画家名だけをMidJourney、Stable Diffusionに入力した生成例が示されるので気に入ればタイトルをクリックしてペーストすれば同様に生成される。

Artistでバンクシーを選んだ例

プロンプト集③:作り込まれたStable Diffusionの作成とプロンプトが分かる

Stable Diffusionの優れた作例がPinterestのように見れるサイトを2つ紹介。作品を作ったプロンプトもセットで手に入れられる。

lexica.art

https://lexica.art/

リンクをクリックするとすぐに膨大な作例が見える。検索コマンドがあるので、作家名など入力すると容易に希望に近いものが探せるだろう。

KREA.ai

https://www.krea.ai/

こちらも同様

KREA.ai

プロンプト集④:作り込まれたMidJourneyの作成とプロンプトが分かる

MidJourneyの作例はDiscordでも見えるが、MidJourneyサイトのCommunity Feedが検索機能を含め使い易いだろう。いずれの作品もプロンプトを確認できる(以下のリンク、有料会員のみ利用可能)。

https://www.midjourney.com/app/feed/all/

リンク先に移動すると膨大な作例があり、検索で見たい作例を探すのも容易だ(左上のSearch)。

MidJourney Community feed

プロンプト集⑤:500名の偉大な画家名を入れた作例とプロンプトが分かる

Stable Diffusionに於ける優れた芸術家500名をプロンプト入力して生成される作風を確認できるサイト(下記リンク)。

www.urania.ai

プロンプトとしては「by < アーティスト名>」でOK。シンプルに好みのアーティストの画風を再現するのに便利だが、複数のアーティストを組み合わせて全く異なる作例を生み出すヒントとしても使えそう。下はゴッホピカソの作例を出した状態

ゴッホピカソを選んだ状態

プロンプト集⑥:DALL-E2の作例とプロンプトが分かる

9/28にDALL-E2の待機リストが廃止され、誰でもすぐに使えるようになった(下記URL)

labs.openai.com

そのDALL-E2の作例とプロンプトが分かる作例集。

generrated.com

MidJourney,DreamStudioに画像を食わせる

意外に手こずるMidJourneyへの画像の食わせ方

トライしてみると色々と引っかかる点があるので、対応方法などを記載。

  • 簡単な方法としてDiscordのチャット画面に読み込ませたい画像をドラッグ&ドロップし、その画像を右クリックして画像リンクのURLを得る方法があるが、なぜか次に/imagine を打ち込んだ段階でUPした画像が即削除されてしまうので現時点では使えないようだ(2022.9.14)
  • よってGyazo(後述)などの外部画像URL化サービスを活用する。但しGyazoの画像リンクURLのままではエラーになるため、URLの最後に「.png」を追加する
  • これで外部画像の読み込みが行えるが画像参照を使うと現在は--test,--testpが使えないため今一つな画像にしかならない

GyazoはPCの画面キャプチャーや、携帯で撮影や画像ファイルをすぐに画像リンクとして扱えるサービス。以下にリンク先を示す。PC,iPhone,Androidなどで使える。

gyazo.com

DreamStudioに画像を食わせる

Stable Diffusionのwebサービス版であるDreamStudioでもトライ。MidJourneyで苦労した分、スイスイと進む。基本は同じプロンプトでOK。

残念な画像の改善

両者とも期待を裏切る?出来栄えでここに画像をUPするのも抵抗がある。とりあえず画像を食わせただけでは不十分ということが分かった。続いて考察を進め、改善方法を追記する

MidJourney,DreamStudio,DALLで二次元作成

MidJourneyに二次元(アニメ絵)を描かせてみる

中国のERNIE-ViLGで生成される二次元イラストの出来があまりにも良かったので、MidJourneyなど米国産のAIツールでどうなるか改めて実証してみた。なお実証に使ったプロンプトは最後に記載している記事を参考にした。

※プロンプトは金髪+黒水着+etcとした。

最初にMidJourneyで10例ほど作成したが大きく外れた生成は一枚もなく、MidJourneyは一定レベルの二次元生成クォリティを有している事を改めて確認した。生成される絵はかなりバリエーションに富み、とりあえず好みを4点ほどUPする。

MidJourney --testオプション

次にDreamStudio(Stable Diffusion)で同じプロンプトを入れてみた。二次元の絵はやや苦手の様だ。

DreamStudioで生成

さらにDall-E2でも生成。こちらも二次元の絵は今ひとつ。

DALL-E2で生成

MidJourneyが人気を集める理由が理解できた様に思う。

中国百度のERNIE-ViLG

今回の実証のきっかけとなったERNIE-ViLGの実証記事。あっけなく高品質な二次元画像が出来てしまうので逆につまらないと感じる人がいるかもしれない。

programmingforever.hatenablog.com

先行開拓者のリンク

プロンプトのコツを公開している良記事。

note.com

note.com