ちょっと前にsozo美術館のイベントに参加していただいていたのですがグランプリのたびすむ賞というのをいただきました。大勢の参加者の中から選んでいただいて大変光栄に思います。開催期間中は每日恐竜を描いていたので、今日はその時の1か月を振り返ってみましょう。
第二回テーマコンペ[#SOZO紀元前坂井市]
地域おこし系のイベントだったので「福井県坂井市の観光を盛り上げよう」という趣旨でAIアートを描くというものでした。
特に「東尋坊」と「恐竜」の2つを描くというテーマで絵を描くのですが、このお題絶妙にAIにとって難しい条件だったんです。
なぜならAIは「東尋坊」という地名を知らなかったし、「恐竜」を正しく描くこともできなかったからです。出題者はおそらくわかっていてこのような絶妙に意地悪なテーマにしたに違いないのだから、プロンプトエンジニアリングで克服していきましょう!
しかも見た人が福井に遊びに行きたくなるような絵でないといけないんですね。これは面白いですね!
私が最初に始めたのは「東尋坊」を描くことでした。背景画像から先に描き始めました。
Tōjinbōという単語を使っても出なかったので、試しにグーグルで画像検索してみました。
英語で画像検索をしてよく使われているフレーズを使って画像を生成してみました。
うちのシッターさんは東尋坊が好きで過去に4度訪れたことがあるそう。見てもらったら「違うね、こんなに緑が豊かじゃないね。それにもっと黒っぽい岩だったよ」というのでプロンプト改変です。--no plantと加えてみたのですがあまり変化がありません。黒くしてみましょうか。
黒くはなりました。ここに恐竜を加えてみます。プテラノドンです。福井にプテラノドンがいるかどうかを先に確認。
OKっぽいので描いてみます。
UPにしてみてもやはりちょっと…。
なんか…。違うね…。
これはいいんじゃないのかなと思ってシッターさんに聞いてみたら「これは全然東尋坊じゃないよ?外国みたいだよ?」というので却下。
この崖ならOKが出たのですが、それでもなんだか違うそうな。そしてクトゥルフを飛ばしてみたものの小さく表現されてしまい意味不明に。
「私が実際に行ってみないと描けないんじゃないの?」と思っていたら「写真いっぱいネットに出てるだろうから見てみたら?」と言われて見直すことに。
東尋坊の岩の感じを言葉にするの難しい。そしてプテラノドンは難しすぎる!
私は早々にギブアップしかけました。
そこで気分転換に恐竜グッズを生成してみました。
ステーショナリーです。
色々作ってみたものの何の恐竜かわからないですね。
AIは恐竜の種類を描き分けられるほど理解していないし、恐竜の名前も知らないです。
恐竜を正しく描けないなら、正しくなく描かせてみようと思いました。ボクセルアートです。
でもやっぱりダメみたい!
ボクセルアートにしても崩れちゃうのは変わらない!
だったら「恐竜を描くのが上手な画家の名前をつかう」というのはどうだろうかと思って試してみました。
でも細かい部分がおかしいんですよね。鼻とか手とか。
植物を描くのが得意な人名も良いですね
私も見たことがないけれど、AIだって見たことがない恐竜を描くんだもの。描かれたものが合っているのかどうかも定かではないのだから、描けば描くほど消耗します。
破綻しない恐竜人名を探していたのですが
・ほとんど大差がない
・破綻は必ずする
ということが分かっただけでした。
気分転換に手ぬぐいのデザインをやらせてみました。AIのやつ、なんて絵がへたくそなんだ…。
段々嫌になってきて、マッチョにしてみたり。水着はどうやってもはいてくれないです。
もういっそスカイダイビングをさせたり
サーフィンをさせたり
カヤックをさせたりしました。
露天風呂にいれてみたり。
朝ご飯を食べさせてみたり。
いきなりジャンプさせてみたり。
ビールを飲ませてみたり。
ということをしているうちに、恐竜を描くことに疲れ果てて。
もうこれでいいのでは?!と思い始めたころ
人名チェックに夢中になっていたら不意にひらめきました。Michael Shainblumさんは空が上手だってことに。
恐竜もそこまでひどくないのでは?!
段々描ける気がしてきました。
気分転換に花でも描いてみましょうか。
上手く描けないとイライラするのがAIアートです。あ~!もうわからない!恐竜ってこんな手でいいの?口の根元がおかしくない?これでいいの??と混乱してくると脳みそがパーン!ってなりそう。
毎日毎日描いていると遂に「恐竜ってなんだっけ?!」というモードに突入しました。
そうなると真面目に恐竜と崖を描いてる場合じゃないような気がしてきてこんな絵を描きはじめました。
横道にそれすぎて何がなんやらわからなくなってきました。
私は何を描いていたんだっけ??
崖・・、そう崖ですよ。
これに恐竜をインペイントでねじ込んでみるとなんか嘘くさかったので却下。
シッターさんに「東尋坊の岩は縦に線が入ってるのよ」としつこく注意を受けました。
そこで最後の手段。東尋坊の画像を30回くらいデスクライブして頻出単語を20個くらい集めました。その中からいかにも反映してそうなものや組み合わせのよさそうなものをごちゃまぜにして生成。
細かい!!そしてリアル!
沢山のワードをてんこ盛りにしたせいでやりすぎ感がでました。割れすぎでは?!
最初のにもどしましょう。
やっぱり崖はこのフレーズが使いやすいかも。
このあたりで上からのアングルのほうが東尋坊っぽいということに気づきました。これでいいじゃないの。最初のでよかったんですよ。
これをバリエーションをかけてみます。プロンプトはあえてシンプルに。
この絵に直接恐竜を入れてみます。バリエーションをかけてテキストだけ変更してみます。人名は一番リアリティのあったTerrence Malickさんです。
同じプロンプトで全然違う構図の絵も出たのですが、東尋坊っぽい岩の感じが出ている方を優先します。
これかな。
できあがり。
ああ、疲れた…。
今回の恐竜の絵にチャレンジする過程で躓いたポイントは。
「AIが描きにくい絵」を描くにはどうしたらいいか?!ということですよね。
Wikipediaの英語ページに単語が載っているものは描けることが多いですが、載っていなければ厳しいです。グーグルの画像検索で出てくるものは描けるものが多いですが、数が少なければ上手に描けません。
描きにくい絵を描く時こそデスクライブをして単語を抽出し、ちょうどいい仕上がりになるように調整するといいと思います。語彙力めちゃくちゃ上がる良い機能。そのまま回すだけだと必ずどこかが破綻しているので良くないですが、組み合わせを工夫すれば限りなく本物に近づけます。
私がしたことは。
・主題と背景を分けて考えてそれぞれに絵を生成する
・AIが知らない地名などは、かみ砕いて考えて別の単語に置き換える
・描きにくい絵であってもそこそこ上手に描ける人名は存在するのでそれを見つける
・デスクライブして単語を収集し、それらを組み合わせる
・最初に背景画像を仕上げて良いものが出来たらその画像に対してテキストを変更してバリエーションをかける
ということでした。
でもやっぱりデスクライブして出てきた単語を組み合わせたものは恐竜を組み合わせた時にうまくいかなかったんですよ。自然に画像を自分が見たままを言葉にしたほうが使えたんです。
「上から見た画像が東尋坊は多いな」
ということに気づいたら、恐竜もうまく描けました。
あとはプロンプトに「contest winner」というおまじないをかけるとかですかね。
個人的に気に入っているのはこちらですが、おまじないのあるなしで画像の雰囲気がぜんぜん違いますね。
次回のコンテストの時は皆さんもこの効果のあるおまじないフレーズをつかってみてくださいね。