はじめに
相変わらず部屋に引きこもって「Image Creatorの有用な使い方はないかなー」と思案を巡らせています。これまで白雪姫に絵画史のなかをタイムトラベルしてもらったり、世界中を旅行してもらったりしました。次に有用じゃないかと思ってるのは、絵画の分解および再構築に対する使い道です。
▼白雪姫がタイムトラベル▼
▼白雪姫がテレポーテーション▼
リバース・ペインティング
私が身を置くエンジニアの世界にはリバース・エンジニアリング (reverse engineering)という言葉があります。簡単にいうと「完成品を分析することにより、製造工程や設計図などを知ろうとする技術的アプローチ」です。
通常メーカというものは競争相手の工場を見学することはできないし、どんな素材でどんな図面でどんな工程で作られているかってのは簡単には知ることができません。それを「完成品から遡って分析しよう」ってのがリバース・エンジニアリングの思想です。なんかスパイみたいな活動ですが違法性はありません。正しく競合他社品を入手さえすれば分析は自由ですから。
「絵画にこの手法を適用したら、どうなるかな?」ってのをここではリバース・ペインティング(reverse painting)と呼ぶことにします。手順は以下の通りです。
- まずImage Creator(正確にはBing/Copilotのチャットボックス)に「特定の絵」を与え、その絵を文章で表現してもらいます。Image Creatorは文章を与えると絵を描きますが、逆に絵を与えるとそれを文章で表現してくれます。
- 次に再びその文章をImage Creatorに与え、絵を描かせます。元の絵が再現できればすごいことです。しかし、きっと元の絵からかなりズレた絵になるでしょう。
- 次に絵を表現する文章を人間(私)が手直しして再度Image Creatorに与え、どこまで元の絵に近づけるかを試してみます。
つまり、ある絵を一旦文章で表現し、その文章から元の絵をどこまで再現・復元できるかを見てみるってことです。料理で例えると、出来上がった料理を食べる事によって、使われた食材と調理方法を推理し、推理されたその調理方法で同じ料理を作ってみるって事です。今のImage Creatorの能力やクセを知るのに良い方法じゃないかと思いました。
例1:絵を描く女性
まずは以下の絵でやってみます。近所の酒屋さんに売ってるAustinの蒸溜所が作っているウイスキーのボトルの絵です。
この絵をCopilotのチャットボックスに与えてテキスト化した結果が下になります。
そして、上の文章をそのまま再度Image Creatorに入力して描かれた絵が下になります。実際は日本語ではなく、日本語を英語に機械翻訳して与えています。
全体的な構図は捉えることができています。しかし絵の雰囲気というか絵のタッチは再現できていないようです。私が文章を手直しして与えた結果が以下になります。
ここまでは近づきましたが、これ以上は無理でした。この絵をベースに「赤い鳥をもう少し小さく」「顔をもう少しこちらに向けて」など指示を追加していければいいのですが、相対的な比較で絵を描くのではなく、最初の指示が全てです。なので相対的な位置関係・大小関係を把握するのが苦手です。また女性の顔もAIまかせで、特定の女性の顔にテキストで近づけるのも難しいです。
例2:向かい合って座る二人
続いてもお酒のボトルのイラストから。以下の絵をImage Creatorに与えて文書化してもらいました。
上の絵を文章で表現したものが以下になります。
この絵は、帽子をかぶった人物とドレスを着た人物がテーブルで対面している様子を描いています。背景は暗く、周りには小さな光が点在しています。帽子をかぶった人物は何かのパッケージを持っており、ドレスを着た人物は腕を組んで座っています。両者の特徴は誇張され、鮮やかな色で描かれています。全体的には夜空や薄暗い部屋を思わせる雰囲気があります。
これを再度、Image Creatorに与えて出力された絵が以下になります。
例1と同じく全体的な構図を捉えるのは得意です。あとは雰囲気や絵のタッチを付け足していきます。私がテキストを与えた絵が下になります。
ベタ塗りのイラストっぽい雰囲気は追加することができたと思います。しかし、これ以上は近づけられませんでした。
例3:胸に"S"のマークを持つヒーロー
次は私の部屋に飾ってるメタルプレートの絵柄です。なぜこのメタルプレートを飾ってるかっていうと私が好きなBig Bang Theoryのドラマの中で飾られているプレートなのです。同じのをAmazonで探して買いました。
この絵をImage Creatorで文書化したものが下になります。
この絵は、ヴィンテージ風のコミックブックスタイルのイラストで、赤いマントと胸に"S"のマークを持つスーパーヒーローが緑色の車を頭上に持ち上げています。車はダメージを受けており、フロントバンパーが外れていて、ホイールがバラバラになっています。3人の人々がパニックに陥っており、1人は逃げて、もう1人は地面に倒れて、もう1人はショックを受けているようです。背景は黄色で、摩耗の兆候があり、古びた外観を持っています。
そして、この文章を再入力して、出力された絵が下になります。
これはすごい!初手からかなり復元されているように思います。もうこれ以上手直しできないような気がするけど…しかし、まだ人間の方がテキストで表現する能力はAIを上回ってるはず。私が与えた文章で作った絵が下になります。
うーん、どっちもどっちか。勝ってるような気がしないな…何度やっても地面から飛び出てる岩を描くことができませんでした。
例4:ポップなネコちゃん
最後に、抽象度が高いポップなネコちゃんでやってみたいと思います。フリーダウンロードサイトにあった絵です。
同じようにImage Creatorでまずは文書化してもらいます。
この画像は、色とりどりの抽象的なイラストで、サングラスをかけた猫が描かれています。猫は青、白、赤などの色を使って大胆に描かれており、顔の大部分を覆う大きな黒いサングラスをかけています。背景は鮮やかで、赤、黄、青、ティールなどのさまざまな形と色が抽象的なパターンを作り出しています。背景全体には、花や色の爆発を思わせる要素が散りばめられています。猫の表情と活気ある背景の組み合わせにより、全体的な雰囲気は遊び心と奇抜さが感じられます。この画像は、ポップアートのスタイルを思わせます。
そして、この文章を与えて絵を描いてみます。それが下の絵になります。
なんと!全然再現できてないけど、これはこれでアーティスティック!!すごい好き!やはり抽象度が高い絵は再現が難しいようです。そりゃそうですよね。抽象度にもピンからキリまでありますから。abstract(抽象的な)って指示は入ってますがその程度は不明ですからね。で、私が与えた文章で描かせた絵がこちら。仁王立ちするネコちゃん。これもこれはこれですごい好き。
どんな指示を与えても4本足で立っちゃうので「前足で腕組む」っていう指示を加えています。それでなんとか2本足で立ってくれました。やっぱり抽象性を言葉で指示するのは難しいですね。この程度が限界です。
最後に
リバースペインティングをいくつかやってみて気づいたことをまとめておきます。
- 絵の構図を理解し、構図を言葉で表現するのは得意。再現性も高い。
- 物の形や色は捉えられるが、数、大きさ、距離感などの把握は苦手。出力された絵をベースに修正を加えていくという機能が待たれる。
- 絵の全体的な雰囲気の把握、つまりベタ塗りなのか、グラデーションがあるのか、イラストなのか、写真的なのか、の把握は多少はできているが、まだ十分言葉で表現できるレベルではない。
- 写実的ではなく抽象的になってくると抽象度の把握は苦手。抽象度が高くなるほど忠実な復元は難しそう。抽象度・抽象性をどのように言葉で表現するかは課題。
- 文章で絵を描かせる場合は、まず構図を与え、次に全体的な絵の雰囲気やタッチを与えるという2部構成が適切であると思われる。
- 今は高度なプロンプトを作れる人をAI絵師と言ったりしますが、残念ながらAIがプロンプトから絵が作れるってことは、絵からプロンプトを生成することも可能です。今でもそれなりのレベルに達していると思います。
まぁ「だから何?」って話ですが、2024年1月でこのレベルです。あと1、2年経ったら復元の精度は劇的に向上してるのではないかと思います。楽しみですね。
それでは、またー
▼人物描写時に役立つおしゃれなプロンプト集▼