AIで作れ! ピーナッツくんお顔選手権!
こちらの記事は「#2 ぽこピー(pokopea) 🍃 🥜 Advent Calendar 2022」3日目の記事です。今年も3日目!
皆さんこんにちは、 @ikura18 のサポート役 ikura18_jpです :)
今回も最初からjpで書きます!
今年流行ったもの。
色々ありましたね。
サウナ、町中華、昆虫食にグランピング... どれもがTLを席巻したことは記憶に新しいと思います。
しかし、それらに並んで劣らない勢いで今年注目を浴びたものとして、Generative Art(AI) がありました。
Generative Artとは「ほしい画像の説明文(プロンプトと呼ばれる)を用意するとAIがそれに合うような画像を生成してくれる、そんなAI」というもの。すごすぎる。
さっぱり意味がわからないので図に起こすとこういうことになります。
ところで賢明な読者の皆様に置かれましては、ぽこピーがAIに造詣が深いことは昔から非常に有名な話だと思います。
AIが自動で生み出す存在しないアニメキャラで大喜利が楽しすぎたwww では次のようにも述べています。
上記リスト及び発言からも分かる通り、以前からぽこピーはAIを実践導入する進取の気性を見せてきています。
VTuber界のOpenAI(※1)、滋賀のAndrew Ng(※2) ともしばしば呼ばれる所以がここにあります。
そんなぽこピーの隠れた柱とも言える AI に今回は着目し、どストレートな企画に取り組んでみたいと思います。
その名も、
これです。これをやります。
ルールを説明します
ルール(?)はいたってシンプル。
StableDiffusion (なんか無料で使えるすごい画像生成AI) を使い、ピーナッツくんの生成を試みる
なるべく近い画像ができるまでプロンプトの工夫を繰り返す
ピーナッツくんに近い画像が作れるプロンプトができたとき、それはつまり一歩ピーナッツくんに近づいたことになる。
つまり、
というわけです。シンプルですね!
画像を作る準備をします
では早速はじめたいところですが、なんにせよ画像を作ってくれるAIを手元に用意する必要があります。
早速どうすれば使えるのか調べてみましょう!!
.
..
...
....
(後日技術編へのリンクをここに張ります!!)
まずはかんたんなプロンプト(説明文)を試す
どうにかAIが使えるところまでたどり着きました(ということにします)。
ここからが本番です。気張って行きましょう
Trial1: ジャブ
まずは軽くジャブを打って様子見です。
直接的ですが
と伝えると何を返すか見てみましょう。
これはいけません。 違うピーナッツの、具体的にはブラウン家の気配がします。直感がそう告げています。
そもそもStableDiffusionは英語での入力を前提としています。
なので kun は不要ですし、 Peanuts をダイレクトに入力に含むのは様々な危険を伴うようです。
Trial2: シンプルなプロンプト
気を取り直して2回目のチャレンジと参りましょう。
今回は ピーナッツくんの外見を説明してみましょう。
ではいってみましょう。
うーーーーん、大分違いますね....
どことなくストーリーを感じさせる影のある少年が出力されました。
特定の層に刺さる可能性はありますが、求めるものではありません。
いくつかの指定が無視されているようですし、なによりピーナッツくんのあのひと離れしたフォルムはこのプロンプトでは生み出せないようです。次はそこを修正してみましょう
…
さて、読者の皆様に置かれましては大体流れはつかめてきましたでしょうか。
この流れを延々と繰り返す記事となっております。
しっかり最後までついてきてください。
Trial3: 形状を指定してみる
さぁ次は「ピーナッツの形状をしている」ことを明示しましょう。ついでに赤いスカーフにも触れてみます。
あーーーーー、なんといいましょう。
なにかしら陰鬱とした顔ですが、人の形状はようやく卒業できたようです。
AIは同じ入力(プロンプト)に対して、その都度違った画像を返してくれます。
(細かいことを言うとseedを固定すれば同じ画像を返しますがseedの意味がなにもわからないのでそこは省きます。)
もう少しこのプロンプトで様子を見てみましょう。
Trial4: 似たプロンプトを何度か試してみる
同じプロンプトで複数回実行してみましょう。
左下は大分寄ってきている気がします!これは可能性を感じます。上段中央はヒーロー業を営んでいそうな風貌をしています。
... と思いきや、このあたりでもうすでに改善の限界が訪れはじめました。
ここからいくつかの指定を追加したり削ったりして試すものの、条件が多すぎるのか、むしろ雑然とした形もとらない抽象画のようなものが連続して出力されました。
ここはそろそろ先人の知恵を借りるときでしょう。プロンプトエンジニアリングの出番です。
"Complicated"なプロンプトを試す
プロンプトエンジニアリング というテクニックが存在します。
それは先人が膨大な試行錯誤の末に見つけ出した、「こういう絵を出したいならこういうワードをプロンプトに入れるといいよ」という表現集のようなものです。
そのテクニックをまとめた有名な書籍(というかテキスト)でいうと、 NovelAIという別のAIモデル向けにまとめられた『元素法典/日本語版』というものがあります(と聞いています。触ったことがない)。
StableDiffusionでは元素法典ほど有名なまとめはまだ存在しないようですが、ぐぐるといくつかのtipsが見つかります。
例えば以下のようなものがあるようです
強調したいワードは()で囲む。逆に弱めたいワードは[]で囲む
絵の中に出しはしたいものの、小さく出したい、というときに[]が使える
x:小数 y:小数 で影響を与える度合いが指定できる
ex: the face looks like dog:0.3 fox:0.7 -> 犬の要素もあるが狐よりの顔を作り出す
negative promptを使うことで「出したくないワード」を指定することができる
特定のキーワードが大きく影響を与える
ex: masterpiece, ultra-detailed, best quality, inspired by X(X風の)
他にも多くのテクニックがシェアされています。
このあたりが詳しいでしょう。
ここからはこれを駆使して限りなくピーナッツくんに寄せていきます。
Trial5: はじめての"Complicated" prompt
早速新しいプロンプトを組み上げて実行です。
一気に複雑になりましたが、基本は一緒です。
()を用いてよりAIに強調したいワードを伝えていることに注目です。
さて、では早速結果を見ていきましょう
あー、うん、なんかこう、メガネを外して15m離れてみればそうかもと思うところまで来た気がします。
ピーナッツくんを知っている人が視界の隅に捉えたら振り返ることもまれにあるレベル。
ピーナッツくんのもつ心地よい気持ち悪さの片鱗が見えていますが、それと高いレベルでバランスをとる不思議な可愛さにかけています。
ここは試行錯誤を繰り返すところでしょう。
Trial6: 試行錯誤
大分打ち手の余地が狭まってきましたが、コツコツと造形の詳細を詰めていきます。
キャラのポップさが増しました!
左下の1枚は相当よってきている感じがします...
が、ここに至るまでにすでに数十の試行錯誤を繰り返しており、Googleからもここから先は金を払えと繰り返し注意を受けています。
テキスト「のみ」から画像を生成させるのはここらが限界でしょう。
いよいよ最後の引き出し、img2img を試みてみましょう。
プロンプト + ベース画像を試す
img2img とは、「ベースとなる画像」を起点として、プロンプトを当てはめていくものになります。
ベースとなる画像を指定できるので、ある程度の構図を絵として指定することができます。
例えばこの画像に、
Trial6のプロンプト
を適用すると….
こうなるわけです。全体的な構図がベース画像を参照していることがみてわかると思います。
今回は こちら をスタート地点として試してみましょう。厳選に厳選を重ね一番ピーナッツくんに到達するポテンシャルがあるのではと期待をかけた一枚です。
Trial7: img2img 1st round
では早速やっていきましょう。プロンプトはこれまでのものを適当に組み合わせています。
右上がいい感じか…? 元画像と比べ大分スッキリとしたようです。
と、このように次の起点となる画像を選んだら、今度はそれをベースに同じプロンプトを(少しずつカスタマイズしながら)繰り返し使っていきます。
Trial8: img2img 2nd round
なぜか髪の毛が復活してしまいました… ここでは左上を採用します。
ここでできることはこの画像を選ぶことと、プロンプトを細かく修正することのみ、ひたすら忍耐です。
.
..
…
….
…….
…………
………………
…………………
……………………
……………………….
Trial1000000000000: img2img
重ねに重ねた試行錯誤の結果、ほぼ改善が見られなくなって来ました。
まだまだ完成とは言えないものの、このあたりが一旦の限界とみなし、笑顔の中央の子を選んで最後としましょう!
完成! 🎉
というわけで、(まだまだ似ているとはいえないものの)AIで作成するピーナッツくんの一旦の完成をみたことにしたいと思います!
ここまでに使ったものをまとめると、こういうことになります。
AIが示すピーナッツくんを最もよく説明するプロンプトとは、
という結果になりました! 🎉
終わりに
今年も終わった... 長かったぜ….
最後まで読んでいただいた方、本当にありがとうございます。
ここまで読み進めたあなたは何らかの特殊能力の持ち主だと思われます。ぜひ誇ってください。
(もし途中で離脱されていたらそれは120%私の稚拙な文章が原因です)
皆さんの時間がほんの少しでもより楽しいものにできていればと思うばかりです :)
もちろん!ぽこピーアドベントカレンダーはこれからもまだまだ続きますし、そこでは最高に素晴らしい作品たちが皆さんを待っています!
ぜひ一緒に最後まで楽しんでいただければ幸いです!
なお、本日の他の作品は なかよし さんの サッカーxピーナッツくん に関するnoteになっています! クスっとくるフレーズが数多く隠されていて最高でした!
そしてそして明日の作品は…
をお届けされるとのことです!
わすれずにこちらもチェックしてください!!
カレンダーはこちら 👇
#2の12/4(明日!w), 5, 6 はまだ空き枠です!!
ほんの少しでも興味があればいつでも参加してください~!!!!!
WE WANT YOU!!!
以上、ikura18でした!
おまけ
様々な理由で本文では載せなかったり、可愛いからのせたいものたち
注釈
※1: 呼ばれてない
※2: 呼ばれてない
この記事が気に入ったらサポートをしてみませんか?