見出し画像

ボードゲームAI技術と脳機能の組合せによる超かわいいキャラのデザイン手法「アモーダル・メイキング」

※はじめに

この記事の目的は

・キャラデザイナー
・イラストレーター
・漫画家
・アニメーター
・3Dキャラモデラ―
・キャラメイクが可能なゲームのプレイヤー

が、脳の持つ潜在能力を発揮して超かわいいキャラクターデザインを作りだすことを目指すメイキング手法「アモーダル・メイキング」を紹介することである。
なお手法の説明にあたっては、情報工学や脳情報科学の概念を使用している。
読み物としても面白く書いたつもりなので、上記以外の方もご覧いただけたら幸いだ。

本記事にはコンピューターチックな概念が多数登場する。
だが決して、コンピューターにキャラクターを作らせようなどという内容ではない。

これは、人が持つ可能性を示す、人間のデザイナーのための記事である。

(本記事はfigshareにアップロードした論文(プレプリント)「So Pretty Human Character Design Method “Amodal Making” Using Combination of Board Game AI’s Technique and Human Brain’s Function」を、日本語でより詳細に説明する記事となります)

https://figshare.com/s/638daaf085b785f6a11b


第0章.超かわいいキャラを作るには?

ちょっと前に、私はとあるゲームを入手した。

カスタムオーダーメイド3D2©Kiss


Kiss(株式会社ワークマン)から発売されている「カスタムオーダーメイド3D2」である。
本ゲームの最大の特徴として、「キャラメイク」機能が実装されていることが挙げられる。

具体的に説明すると、上のように服や髪、靴、目の形や色などを用意されたデータの中から選ぶことにより、そのパーツを反映したキャラが自動的にできあがるというものだ。

キャラメイクの様子

この素晴らしいツールを使えば、絵を描けない私であってもキャラクターをデザインすることが出来る。(なお似たようなキャラメイクが出来るスマホアプリとして「カスタムキャスト」が現在配信中)
だが……ここで一つ、大きな疑問がある。

果たしてどうやったら、超かわいいキャラクターを作れるのだろうか?

キャラクターを作った経験がない私は当然、どうやればいいのか全然検討がつかない。
なのでまずは色々試してみることにする。

最初は、非常にシンプルな方法だ。
このゲームには、各パーツをランダムに選択してくれる機能が実装されている。

ランダム生成機能


これを使うことで、楽にキャラクターのデザインを完了させることが可能だ。
もしこのゲームが超絶優秀で、各パーツをランダムに選んでも必ず超かわいいデザインが得られるのだとしたら。
「超かわいいキャラを作る方法」をわざわざ考える必要はない。この”ランダムガチャ”を何度か引けば、ほどなく好みのキャラデザインができあがるからだ。
それでは早速やってみよう。
いくつかのパーツをランダム変更するよう設定し、得られたデザインの中から比較的良いのを選んだ結果が以下である。


これらのキャラを良いと思ってくれた方には申し訳ないのだが、私が大好きなデザインではない。
服やアクセサリー、髪に使われている色がバラバラだったりして、調和が全くとれていないような気がする。

まあ、流石にランダムでは難しいのかもしれない。そう考え、私は次に自らの勘頼りで作成をしてみた。
素人なりに試し、出来たキャラが以下である。



いかがだろうか? 
確かにランダムで作ったキャラと比べれば、若干かわいくなったかもしれない。
だが普段目にする漫画やライトノベル、アニメ、ゲームのキャラに比べると平凡なデザインだ。
私自身のセンスを使っても結果は芳しくない。どうやら良いキャラデザインを発見するというのは中々難しい作業のようである。

だが。万一、超かわいいキャラを創る方法論を見つけることができれば。
それを使ったデザイナーによって、この世に超かわいいデザインのキャラが溢れかえることになるだろう。
結果として人々がポジティブな気持ちになり、争いが減り、世界が平和に向かうことは確定的に明らか。
したがって、超かわいいキャラを創り出す方法の探求は極めて重要な課題の一つといえる。

私はこの難題に立ち向かうため、最先端の情報工学・脳情報科学の駆使という少し特殊なアプローチを採った。
具体的には、以下の様な概念を利用・参考にしている。

・組合せ最適化
・メタヒューリスティック(山登り法、焼きなまし法)
・将棋AI&囲碁AI(ボードゲームAI)
・評価関数
・評価戦略、遅延評価
・アモーダル補完
・枝刈り

そして独自研究の結果、「人間の脳機能」と「ボードゲームAI技術」の融合により、デザインの手法「アモーダル・メイキング」を考案した。
これを用いて作ったのが、下のキャラ群である。


先ほどまでとは明らかに、デザインのレベルが違わないだろうか???
少なくとも私はこちらの方がはるかに良いデザインだと感じる。
本記事は、このような超かわいいキャラを生み出すメイキング手法「アモーダル・メイキング」を紹介するためのものである。

それでは、前置きはこのくらいにして本題に入っていこう。
本記事は以下のような流れで構成されている。
まず最初にキャラクターデザインという行為を、数理的観点から捉えるための諸説明を行う。
(高校数学の教科書のような複雑な数式は一切出てこないため安心して欲しい)
次にデザインの良いキャラを作る上で有益な、かわいさに関するいくつかの知識を紹介する。
そして主題である「アモーダル・メイキング」の説明をした後、具体的な方法を例で示す。
最後に本手法のデメリットや更なる性能の向上などについて記した後、まとめとする。

なお本記事が基本ターゲットとするのは、あくまでキャラデザインに携わるデザイナーである。
もし分からない箇所が出てきた場合は、コメント欄やX(旧twitter)などで質問していただければ幸いだ。

第1章.超かわいいキャラのデザイン=組み合わせ最適化

※この章には若干、数理的な内容が含まれている。
苦手意識のある方も居られるかもしれないが、極力分かりやすく書いたので頑張って読み解いてほしい。
(無論、どうしても分からない部分は飛ばしても構わない)

キャラクターは、目や髪や服などの各パーツの”組み合わせ”によってできている。
したがってキャラクターデザインとは「キャラクターを構成する各パーツを、上手に組み合わせていく作業」だと捉えることができる。
そして「超かわいくなる、パーツの組み合わせを探し出すこと」こそが、デザイナーの最大の目標なわけである。

じゃあ、その”組み合わせ”はどうやって探せばいいのだろう?

なんとなく、勘で各パーツを決めていくのだろうか。それもいい。
だが勘で決めたその”組み合わせ”は、実際に描いてみると実はあまりかわいくないかもしれない。完成したデザインを実際に見てみるまで「かわいさ」は分からないのである。

「かわいさ」は、論理での表現が難しい複雑な概念だ。
”こうすれば絶対にキャラがかわいくなる”みたいな魔法の法則は存在しない。当然、良い組み合わせが一発で見つかることはまずないだろう。
ゆえにデザイナーは様々な試行錯誤を余儀なくされてしまう。例えば服色を変えたり、全然別の髪型にしてみたりという風に。
ましてやデザイナーが究極的に目指すのは、普通程度のかわいさではなく超かわいいデザイン。そんなものがそうやすやすと得られるとはいえない。

だが1つ、確実に超かわいいキャラデザインを発見できるであろう、すごくわかりやすい方法がある。
それは……全ての組み合わせを片っ端から実際に試し、かわいさを見てみることである。

何も難しい話じゃない。
キャラクターがパーツの組み合わせで出来ているのなら、全通りをチェックすることで、理論上最もかわいいキャラデザを得られる。
例え「キャラクターのかわいさの構造」の全貌を全く把握できていなくとも、超良いデザインが確実に手に入るのだ。
無論、デザイン経験のない私であっても。

ところで、これらの”組み合わせ”は一体何通りくらいあるのだろうか。「カスタムオーダーメイド3D2」で考えてみよう。
本ゲームでは、デフォルトで多数のパーツが用意されている。
例えば、目。瞳孔の設定に限っても、これだけの選択肢がある。


また瞳孔だけでなく、輪郭や色、ハイライトなども設定可能だ。


そして目以外に、下記のようなパーツも変更が行える。

・前髪
・後髪、もみあげ
・ヘッドドレス&帽子
・ネックレス&チョーカー
・トップス
・ボトムス
・手袋
・腕のアクセサリ
・靴下
・足のアクセサリ
・靴

「カスタムオーダーメイド3D2」ではこれらのパーツの組み合わせによってキャラデザインを行う。
(実際にはもっと多くのパーツ・パラメータがあるが、ここでは無視させてもらう)
この時、”パーツの全組み合わせの数”は、これら各パーツの候補数の”掛け算”となる。
仮に上記の各パーツがそれぞれ20通り用意されているとしよう。
すると20×20×20×20×20×20×20×20×20×20×20×20×20
=4,096,000,000,000,000(4096兆)通り。

つまりデザイナーは、4096兆種類の組合せ(キャラデザイン)を実際に試してみて、その中から最もかわいいものを選び出せば良い。
そうすれば、超かわいいキャラデザインを得られること間違いなし。




これを大真面目にとらえて、デザインし始めないでほしい。
4096兆通りをチェックするなど、どう考えても非現実的である。
1クリックだけでパーツを瞬時に反映できるこのゲーム上でさえ不可能なのだ。
パーツを一つ一つ手書きするイラストレーターならなおさら、全ての組み合わせをチェックするのは困難となってしまう。

何故こんなに、組み合わせの数が多いのだろうか。考えてみよう。
先ほどの例の場合、考えられるパーツ一つ一つの候補数は多くない。高々20通りだ。
しかし組み合わせの合計数は、それらの”掛け算”によって求められる。
この掛け算というのが厄介。パラメータの種類が多い場合、組み合わせの数がかなり膨大となってしまうのである。
(これを専門用語で、組み合わせ爆発という)
当然ながら、キャラデザイナーがこれらの組み合わせを全て試すのは不可能だ。そんなことをすれば、超かわいいキャラを探すだけで一生を終えてしまうだろう。
何か、もっといい方法はないのだろうか。
”組み合わせ”の試行数を大幅に抑えながら、それでいて超かわいいキャラを発見できる、そんな方法が。 

実はアートから一度目を背け違う方へ向けることで、この問題を解決する糸口が見つかる。
情報工学には、「組合せ最適化」と呼ばれる研究分野がある。
組合せ最適化とは、

目標を最大(あるいは最小)化するパラメータの組み合わせを発見する問題

のことである。
分かりづらいかもしれないので、少し補足しよう。

一般にキャラクターとは、髪、顔、服、スカート、靴下、アクセサリーなどの”パラメータ(要素)”の組合せから出来ているといえる。
そして我々は、最もかわいいキャラデザインを発見したい。すなわちかわいさを最大化する、パラメータの組合せを見つけたい。
このように”最も良いパラメータの組合せ”を発見する問題を、組合せ最適化(問題)というのである。
もちろん超かわいいキャラをデザインするというのも、この組合せ最適化の一種とみなせる。
したがって、既存の最適化問題の知見をキャラデザインにも応用できるのだ。


上のグラフは、キャラクターのかわいさの表現図である。
縦軸は、キャラを見た時に感じるかわいさの大きさである。上に行くほどかわいい。
一方横軸は各種パラメータ(すなわち各パーツ)の組合せの変化を表している。(なおここでは、パーツを顔・上半身・下半身の3種としている)
キャラを構成する各パーツの組合せ次第で、超かわいくなる時もあればそこまでかわいくない時もある。
この時我々は、かわいさが最大になる時のパラメータの組合せを特定したいのだ。これが組合せ最適化の主題である。

では、数理の力を借りれば一番かわいいキャラが発見できるのだろうか。……残念ながら、事はそう単純ではない。
「超かわいい組合せの発見」には、大きな困難が二つある。
一つ目は、グラフの形が複雑なこと。そしてもう一つは、グラフがどんな形なのか事前に分かっていないことだ。


「かわいさ」のグラフ形の想像例。パーツの組み合わせの変化に伴い、「かわいさ」がダイナミックに変動している。超かわいいのは一握りの組み合わせのみだ。さて、このグラフ形が”分かっていない”状態から、超かわいい組み合わせ(赤丸部)をどう見つける?

グラフ形が事前に分からない以上、我々は色々な組み合わせのかわいさを実際に試していきながら、最もかわいい組み合わせを探り当てる他ない。問題は、どのようにチェックしていくかだ。0章で、組み合わせをただランダムに試してもあまり良いデザインにならなかったことを思い出そう。あんなガチャでも引くようなやり方で組合せを試していっても、超かわいいデザインにはまずたどり着けない。もっと工夫の余地があるはずだ。キャラデザイナーは「効率よく超かわいい組合せを発見できる方法」を必要としている。すなわち、優れたアルゴリズムが欲しいのである。

ここで1つ、残念なことを知らせなければならない。
実は「キャラクターのかわいさ」のような複雑な対象において、組合せ最適化の最適解導出は一般にかなりの困難を伴う。
つまり我々が、”最もかわいいパーツの組み合わせ”を発見することは、数理的観点から考えると極めて難しいタスクなのだ。

だが、手も足も出ないわけではない。大学や研究機関では、こういった難しい問題を何とかして解こうとする方法もちゃんと研究されている。

先ほど述べた通り、”最も”良い組み合わせを見つけるのは、いくら最先端の技術を使ったとしても困難。
しかしながら”最も”という条件を緩和すれば、勝ちの目が出てくるのである。
理想を言えば、一番かわいい組合せがベスト。だが、それに準ずるくらいかわいければ我々は十分満足のはずだ。

とにかく我々は、極力かわいいパーツの組み合わせを特定したい。それも組合せを全チェックなどという非現実的で非効率な方法ではなく、もっと賢い方法で。

さて。情報工学の世界には、メタヒューリスティックと呼ばれる概念が存在する。
これは組合せ最適化において、「それなりに良い解(組合せ)を少ない時間で導出するための方法」である。
まさに今、我々が望んでいるものだ!

既に先達が残した成果があるのだから、そいつを使えば楽に超かわいいキャラが作れるのでは? 
そう期待した私は、実際にやってみることにしたのである。

では具体的に、メタヒューリスティックの内良く知られている二つを紹介しよう。

・山登り法
・焼きなまし法

<山登り法>

山登り法とは、基本のメタヒューリスティックの一つである。
先ほど述べたように、これは最適化問題を解くための手順(アルゴリズム)。
具体的には以下のようなものである。

(0.適当な初期解を用意する)
①パラメータを一つ選択する。
②候補の中から最も成績が良くなるものを選択し、元のパラメータと交換する。
③①~②を繰り返す。

上の記述は中々理解が難しいため、これをキャラデザインへと適用するとどうなるか例を交えて説明する。

(0.まず、適当な初期キャラを用意する)



①キャラを構成するパーツ(目、髪、スカート、靴下、etc)の内から一つを選択する。
今回は例としてトップスを選ぼう。



②そのパーツの候補を複数試し、最もかわいくなるものを選んで元のパーツから変更する。


③①~②をひたすら繰り返す。

要するに様々なパーツを試し、現在のキャラがよりかわいくなるようデザインをどんどん変えていく。
そうして改善を繰り返していけば、いつかは超かわいくなるだろうという寸法だ。


山登り法での操作をグラフで示した図。パーツを変化させたことによりかわいさが上昇している。この操作があたかも山を登っていくようだから、山登り法と呼ばれている。


このアルゴリズムを使うと、パーツの変更ごとにキャラがよりかわいくなっていく。
そのため、いつかは超かわいいデザインに辿り着く。そんな風に期待してしまうかもしれない。

だが残念ながら、この方法で超かわいいキャラに辿り着くのは中々難しい。それは「局地に留まってしまう」という問題があるからである。
この現象を示す例を挙げよう。

私は上の4通りのデザインの中で1が一番良いデザインと考える。したがって現在4の状態にいる時、組合せを変化させ1のデザインに辿り着きたい。
しかしこの山登り法では難しい。なぜなら途中過程の2や3は全て、4よりもかわいくないからだ。
この時4は”小山のてっぺん”に到達したような状態となっている。
「キャラがもっとかわいくなるよう、パーツを1つ変える」という操作では、これ以上かわいくすることが出来なくなってしまうのだ。


小山の頂点にいるせいで、より大きな山に登れない。

私は「カスタムオーダーメイド3D2」上で色々試してみたが、この山登り法はキャラクターのデザインに適していないことが分かった。
せいぜい、ちょっとかわいい程度で終わってしまうのである。全然良い方法ではない。

そこで次の手段だ。「焼きなまし法」を検討しよう。

<焼きなまし法>

焼きなまし法は山登り法の応用であり、”小山のてっぺん問題”を解決するアルゴリズムである。
ひたすらグラフの上側へ登っていった山登り法とは異なり、焼きなまし法では確率的に一旦山を下る。つまりあえてかわいくなくするのである。
そうすることで小さい山を脱出し、より高みにいこうというわけだ。


焼きなまし法を表す図。一定の確率で山を下ることで、よりかわいいデザインへとたどり着こうとする。

この焼きなまし法は非常に有力な手法の一つで、いくつかの難しい問題に対しては良い精度の解を出してくれる、らしい。
確かにこの方法であれば、パーツの交換を進めるといつかは超かわいいキャラデザインが手に入るのかもしれない。
だが……これもやはり「人が行うキャラデザイン」には不適切なアプローチである。理由は下記の通りだ。

①改悪を受け入れる結果、組み合わせを試す数が大幅に増加してしまう。
②確率を使用するため、実際の手順が煩雑となってしまう。
③キャラクターの一部のみを別に置き換えるという、手描きのイラストレーターにとっては難易度の高い作業が要求される。

このいずれも、人のデザイナーが無視できる問題ではない。
特に①は重大だ。コンピューターと違って我々は、1度のかわいさチェックに多くの時間を要してしまう。
私は念のためカスタムオーダーメイド3D2上でこの焼きなまし法も試してみた。
だがやはり、超かわいいキャラを得ることはできなかった。(途中でやる気がなくなり断念)

以上が、既存のメタヒューリスティックをそのままキャラクターデザインに適用した場合の話である。
残念ながら全然上手くいっていない。
(もっとも完全な徒労に終わったわけでもない。なぜならこれらの手法が失敗する理由を感じ取れたからだ。詳しくは後述する)

私はこういった結果になるのを、ある程度想像していた。
というのも、メタヒューリスティックはあくまで「多くの問題に対応出来るよう考えられた汎用性の高いアルゴリズム」である。
言い換えれば、特定の問題に特化した手法ではない。そのため必ず性能が良いとは限らず、向かない問題も存在するのだ。
いわずもがな、超かわいいキャラの発見は極めて高度な難易度の作業。こんな単純な方法では歯が立たないのである。

こうして、既存のアルゴリズムを使用し超かわいいキャラを作り出すという試みは頓挫してしまった。
だが、まだ諦めてはいけない。我々にはもう一つの選択肢が残されている。

それは、問題に特化した知識(ドメイン知識という)を活用することである。

今回、私が目指す目的はただ一つ。「超かわいいキャラデザインを発見できるようなデザイン方法(アルゴリズム)を特定すること」だ。
それさえできれば、他のことはどうでもいい。メタヒューリスティックのように、多くの問題へ対応可能な手法を必要としているわけではないのである。
そして一般的に、このドメイン知識を用いるとアルゴリズムの性能は上がる。汎用性と引き換えに、取り組みたい問題に対してより最適な方法を追求できるからだ。
(詳しくは、”ノーフリーランチ定理”を参照。)
https://ja.wikipedia.org/wiki/ノーフリーランチ定理

こうして私は、「かわいさ」のドメイン知識を活用するアプローチに舵を切ることとした。

さしあたってまずやるべきことは、「かわいさ」について知識を深めることだ。
キャラクターの「かわいさ」というのは、一体どんな特徴を持っているのか。その考察を行うことが必須なのである。

以上で、第1章は終了だ。超かわいいキャラデザインを発見するのが、実はかなり難しい問題だと感じ取って貰えたのではないかと思う。
ここまではキャラクターのデザインを、既存の工学的な概念を用いて捉えようとしたにすぎない。私の主な成果は次の章以降である。
次の第2章では一旦小難しい話は止め、まずは”キャラデザインの良さ”がどういった性質を持っているのかを探っていく。
本章の話が少し難しかった方でも、次の章は確実に理解できるはずだ。

<第1章の要約>

・超かわいいキャラデザインを発見するためには、描いているキャラクターのかわいさを見つつ”試行錯誤”することが必須。
・パーツ(パラメータ)の”組合せ”を沢山チェックすることで、かわいいデザインを発見できる可能性が高まる。
・かといってひたすらパラメータの組合せを試すのは、数が多すぎて無理。もっと効率的な方法が必要。
・超かわいいキャラのデザインは、組合せ最適化(最良の組合せを見つける問題)の一種ととらえることが可能。
・既存のメタヒューリスティック(組合せ最適化の効率的な近似解法)のいくつかは、人が行うキャラデザインに全く適さない。
・「キャラクターのかわいさ」に関する知識を利用することで、良いキャラデザイン方法を発見できる可能性がある。

第2章.「かわいさ」はどのような特性を持つのか?


本章では、超かわいいキャラのデザインに有益な知識を示していく。
長々としていた第1章とは違い、本章では簡潔な説明に留めよう。

複数のキャラクターを観察した結果、私は「キャラのかわいさ」について以下の3つの特性を発見した。
一つずつ説明していこう。

知識1.パーツ同士の相互依存性

冒頭で示したこのキャラデザインを再度見ていただきたい。

このキャラが履いている靴は、キャラのかわいさを一層際立たせているように思える。だがこの茶色の靴が似合っているのは、同じく身に着けている帽子やカバンが同じ色をしていることが一因となっているだろう。帽子とカバンが別の色だと、この茶色の靴も似合わなくなる可能性がある。逆もまたしかりだ。探検家がつけているような形状の帽子がこのキャラに似合っているのは、履いている靴も探検家っぽいからかもしれない。あるいは何かの理由で青のスカートと相性がいいのかもしれないし、もしくはカバンを背負っているからかも。

各パーツが互いに影響を及ぼし合っている。

このようにキャラクターのパーツそれぞれが相互作用し合うことで、「かわいさ」は形成されている。
とあるパーツがキャラのかわいさを増加(減少)させるかどうかは、常に周囲のパーツからの影響を受けるのである。

周囲のパーツによって、適正なパーツが変わることを示す例。例1では紫髪の方が青髪よりもかわいい。紫色のコスチュームが顔と似合っている。しかしコスチュームの色を変更した例2では一転し、紫髪と青髪とで同じくらいのかわいさとなっている。

別に難しいことを言っているわけではない。
とある人には超似合う服が、別の人には全然似合わなかったりする。
とあるトップスと相性抜群のスカートが、別のトップスには全く合っていない場合がある。
これを一般化しているだけだ。
 
市場価値が高い選手をただ寄せ集めただけのサッカーチームがそこまで強くないのと同じく、”良いパーツ”をただ集めても、キャラクターが超かわいくなるわけではない。
それらの”組合せ”こそが重要なのである。
そしてこの知識1こそが、超かわいいキャラの発見を難しくしている大きな要因だ。
第1章で紹介した、パーツをコロコロと変えていく「山登り&焼きなまし法」が上手くいかなかったことを思い出してほしい。
あれらが失敗に終わった原因は、山登り&焼きなまし法が、パーツ同士の相互作用した複雑な構造を上手く捉えられる手法じゃなかったからである。
これは中々やっかいな性質だ。何とかして、この問題にうまく対応できるデザイン方法を探し出さなくてはならない。

知識2.パーツ毎に、かわいさに対する重みが異なる。また顔に近いパーツほど、かわいさへと及ぼす影響が比較的大きい傾向にある。

この知識については、あまり解説する必要もないだろう。
例えば目のような顔のパーツを変えると、キャラの印象がガラッと変化する。一方で足付近を大きく変えてみても、そのデザインの印象は顔のときほどには変化しない場合が多い。


このように、パーツが「かわいさ」に及ぼす影響の”重み”は各々で異なる。
これが2つ目の知識だ。

この2つが、キャラクターの「かわいさ」そのものに関する性質である。
さらにもう一つ知識に加えよう。こちらはどちらかというと、我々自身の特徴といえる。

知識3.我々は身体の一部を見るだけで、かわいさの判断を下すことが出来る。

まずは、これを見ていただきたい。

本記事の最初に示したキャラの顔だけが映った画像である。
この画像に映っているのは、首周辺より上の部分だけだ。
しかしながら、この画像を見た時の我々の反応は「かわいい!」であり、「ヒエッ、生首……!」ではない。

「……だから?」と思う方が居られるかもしれない。
しかしながらこの現象、実は脳が持つ高度な能力のたまものであると考えられる。
そしてこれこそが、本稿で説明する「アモーダル・メイキング」、その根幹を成す極めて有益な性質だ。
この性質によって、我々人間は超かわいいキャラを発見する労力を減らすことが出来るのである。
詳しくは後述することとして、念のためもう一度強調しておこう。
この知識3は、我々がすごい能力をもっている証である。

第2章は、これで終わりだ。
 
特段、大きな発見があったとは感じないかもしれない。
上記3つの知識は、経験的にそりゃそうだと思うものばかりである。専門性の高い複雑な知識は一つもない。
例え熟練したイラストレーターであっても、納得していただけることだろう。

次章で紹介する「アモーダル・メイキング」は、たったこれだけの知識から導いたアルゴリズムである。
この「アモーダル・メイキング」では、既に別分野で大きな実績を挙げた方法と、我々が持つ「高度な脳の機能」とを融合させる。
その結果、試行数を抑えつつ超かわいいキャラデザインに辿り着けるのである。

<第2章・要約>

キャラの「かわいさ」について、以下のような特性が見られる。

・各パーツの良しあしは、他のパーツとの組み合わせによって決まる所が大きい。
・「かわいさ」に対する重要度はパーツごとに異なり、顔に近いパーツほどかわいさに与える影響が大きい。
・身体の一部を見るだけで、我々は「かわいさ」の判断を下せる。

第3章.アモーダル・メイキング


本章ではようやく、超かわいいキャラクターデザイン手法「アモーダル・メイキング」の具体的な説明に入る。

(1)アイディア

まずは目的を改めてはっきりさせよう。
我々が今欲しているのは、「試行数を少なくしつつ、超かわいい組合せを発見する方法」。これを何とかして実現したい。

第2章で述べた通り、この障壁となるのが「パーツ同士の相互作用」である。
キャラクターを構成するパーツ達が、言葉では表せないほど複雑な相互作用をした結果、我々の心の中に「かわいさ」が創出される。
当然どんな組合せが良いのかは、その組合せのキャラを実際に見てチェックしないと中々分からない。何も考えなければ、我々は膨大な組合せをチェックさせられる羽目になる。
これをどのように解決するかが、超かわいいキャラデザ発見においての最大の壁だった。
そして私は、「人間の脳の機能」に活路を見出したのである。

まずは、下画像の左のデザインを見ていただこう。

服色などがバラバラで、ちぐはぐな印象を受けるだろう。私はこのデザインをあまり良いと思わない。顔のみ共通した右のデザインの方が圧倒的に良いと考える。
「かわいさ」にとって顔は重要な要素だが、それ以外の部分も大事ということがこの例から分かるだろう。

そして重要なのは、ここからだ。

上記のように、我々が「キャラのかわいさ」を感じ取る上では、”顔より下”の部分からの影響を受けることとなる。
なら……それが、”存在しない”場合には?

「かわいさ」にとって重要な、”顔より下”部分。
第2章の知識1でも示した通り、この部分の影響は他パーツにも及んでいる。顔より下の部分がどうなっているかによって、ベストな顔も変わってくるのである。
もしそんな重要パーツが”存在しない”ならば、論理的に考えて、我々が感じるかわいさにも何らかの大きなひずみが起きないとおかしい。それこそ、「ヒエッ、生首……!」のように。
だが、現実は違ったのである。

もう一度、知識3の説明で提示した”顔だけ画像”を見てみよう。


当然これを見ても、デザインの大部分(例えばスカートやトップス、靴など)は我々の視界に一切入らない。
にも関わらず、我々は自然に「かわいい」という感情を抱く。「ヒエッ、生首……!」と怯えたりはしない。

これ、冷静に考えるとおかしくないだろうか?
何度も言っている通り、顔より下に使われているパーツは全て、他のパーツと相互作用し合いながら「かわいさ(キャラデザインの良さ)」に大きな影響を与えている。キャラの全身を見た時、あくまで我々はその全身の情報からかわいさを感じ取るのである。
当然、服や身体のスタイル、手袋の有無などは「かわいさ」を決定するための重要なファクターのはずだ。
そしてそんな重要なパーツたちが今回視界に存在しないのだから、かわいさを感じ取る時、”パーツが無いこと”による弊害が発生するはずである。
しかしながら我々は、下の部分が一切見えない”生首”を見た時にも、たいして違和感を持たずにかわいいと感じとれるし、ちゃんとそれがキャラクターだと認識できる。
トップスも、スカートも、足も、肩も、腕も、手袋も、お腹も、太ももも。キャラクターを構成する要素の大部分が、視界には一切”存在しない”のに。
何故???

この現象を奇妙に思った私は、試しにネット上で色々な情報を調べてみた。
すると、京都大学のとあるページを発見した。

モノの背後を見る脳の仕組みを解明 -視対象の部分像から全体像を復元する第1次視覚野の活動をfMRIで観察-
https://www.kyoto-u.ac.jp/ja/archive/prev/news_data/h/h1/news6/2013_1/131023_3

このページの中から、重要な部分を引用しよう。

>視覚の能動的な処理過程を示す端的な例として、遮蔽問題が挙げられます。
>視対象は多くの場合、前面の物体によって遮蔽され、その一部しか網膜には投影されません。
>それにもかかわらず、私たちは隠れて見えない部分を即座に予測し、物体の全体像を知覚できます。
>この補完は、被遮蔽部に明確な知覚を伴わず生じる(その部位が明るく見えたり、色が変わったりはしない)ため、明確なモダリティの知覚を伴わない補完という意味で、「アモーダル(Amodal)補完」と名付けられています。

モノの背後を見る脳の仕組みを解明 -視対象の部分像から全体像を復元する第1次視覚野の活動をfMRIで観察-
https://www.kyoto-u.ac.jp/ja/archive/prev/news_data/h/h1/news6/2013_1/131023_3

この説明にある通りだ。
日頃から我々は、別のものによって”遮蔽”された物体を目にしている。
別のもので遮蔽された物体は当然、全体の内の一部分しか見えない。これにより、その物体を正しく認識できなくなっては困ってしまう。
そんな状況にも対応できるよう、我々の脳は見えない部分を無意識に補完(予測)しながら、その物体を知覚する。
そしてこの補完のことを「アモーダル補完(Amodal Completion)」というのだ。


アモーダル補完の分かりやすい例。前にある青の四角形によって遮蔽され、黒い物体は一部(”「”のような形)しか見えない(画像左)。だが我々は見えない部分を無意識に知覚し、この黒い物体を四角形だと認識できる(画像右)。

恐らくこの補完は、見ている対象物が「キャラクターの一部分」でも発生するはず。
事実我々は、首辺りより上の部分だけを見ても大して違和感を覚えずかわいいという感情を抱くだろう。
一見奇妙に思えた「生首でもかわいさを判断できる現象」はこの脳機能によって実現していると考えられるのである。

一枚目の画像においては、青い領域によってキャラが完全に二つに分断されている。しかしながら我々はこの二つのパーツを、見えない上半身の部分を脳内で補完することで一人のキャラのものだと認識する。このように我々は視界に映るものだけではなく、見えないオブジェクトについても知覚を行うことができる。これがアモーダル補完である。二枚目はキャラの頭のみを見た時に、脳内で生じるアモーダル補完の想像図。(画力が壊滅的すぎるが、ご容赦を。)


そんな脳のメカニズムを一切知らなかった私は、当初このページを見て感心していた。
だが、やがてこのアモーダル補完がとあるものと類似していることに気づいた。
それは一見キャラデザインと全く関係なさそうな分野「ボードゲームAI」に関する概念である。
ここで一度、将棋や囲碁、オセロを引き合いに出しながらボードゲームAIについて触れよう。


<ボードゲームAI>

近年、将棋や囲碁をコンピューターにプレイさせる研究が進められている。
その技術発展スピードは目覚ましく、既にコンピューターはこれらのゲームで人間のプロを超えたとも言われている。メディアにも良く取り上げられているので、聞いたことがある人も多いだろう。
あれは実際のところ、どんな仕組みなのか。それを説明する。

ゲーム終盤とそれ以外とで、ボードゲームAIの強みは異なってくる。
まず終盤であるが、これは理解が簡単だ。
コンピューターは次に取り得る選択肢を超高速に列挙できる。そのため終盤になると、計算力を活かして考えられる多くの手を探索することが可能だ。
したがって、相手がどんな手を打ってこようとおかまいなし。AIは既にかなりの手を探索済みであるから、相手を詰ませる手を選ぶという芸当が可能となってくるのである。

だが。序~中盤はどうだろうか?
当然ながら、”考えられうるその後の展開”の数は、終盤とは比較にならないほど多い。
相手がどんな手を打ってくるかは不明だから、それら全ての場合について考える必要もでてくる。
それ故、コンピュータであっても全ての局面を数え切ることはできない。要求される探索量が多すぎるからだ。
たとえ超強力な演算能力を持つコンピュータでも、序盤から必勝の手を打ち続けることは困難。
では、AIはどのように序盤の手を打つのか。
それは、「(静的)評価関数」を用いているのである。
評価関数とはどういうものかというと、各”局面”において「その手がどれだけ優位なのか?」をスコア化するものだ。
将棋AIはこの評価関数を用いて、自分のターンごとに指せる候補手に対してスコアを算出する。そしてその中から、スコアが最も高くなる手を打つのである。
将棋や囲碁は難しいという方が居られるかもしれないため(私もルールを良く知らない)、より簡単な6×6オセロで例えよう。


オセロAI:黒石、対戦相手:白石

今、画像のような状況でAI側のターンとする。赤い丸が、AI側の打てる手の候補だ。
この時オセロAIはまず打てる各候補(赤丸)に対し、AIのプログラム内部の数式(=評価関数)に基づいて”スコア”を算出する。
この評価関数は各AIごとに異なってくるが、今回はひとまず
獲得できる石の数=スコア
と算出するものだとしよう。オセロの勝利条件は、「最終的に相手よりも石の数が多い」であるから、ひっくり返す石の数が多いほど勝ちやすくなるだろうという発想だ。
すると、スコアは下のようになる。


この時”最も評価の高い手”はAと見なされ、オセロAIはこの手を打ちに行く。
このように次の手を打つ場所を決めるために、「その手がどれだけ良い手なのか?」をスコア化し比較する、そのための計算式が評価関数なのである。
そしてこの評価関数を用いることで、AIは探索回数を大幅に削減している。
序・中盤のAIは、終局までの手を全探索したりはしない。代わりにその局面で考えられる候補手に対して、評価関数のスコアを出すだけだ。
ある局面の部分的な情報(駒の位置関係など)から候補手の”有利さ”を数式(評価関数)によって判定することにより、AIは全探索を行わずして有効打を打つことができるのである。
(なお当然だが、上のオセロの例で挙げた「取れる石数をただカウントする評価関数」は性能が悪い。なぜなら取る石を最大化しても、それが勝利に直結するとは到底言えないからである。
上の図だと、恐らくAに打つのは愚策だ。ここに打つと右上の角をとられてしまう)

以上、簡単なオセロの例で説明を行ったが、将棋や囲碁のAIも似たような仕組みで打つ手を決めている。
そしてボードゲームAIの性能は、この評価関数の性能に大きく依存している。これをいかに性能高く作り上げるかが、ボードゲームAIの強さのカギなのである。
以前のAI将棋において、この評価関数の式はプログラマー自身の考えによって作成されることが多かった。これではAIの性能がプログラマー次第となってしまい、プロ棋士級の手を打つことは難しい。
だがAI将棋界にブレイクスルーを起こした”Bonanza”というソフトの開発者(保木邦仁氏)は、評価関数の数式を過去のプロ棋士の対局データから算出(機械学習)した(ボナンザ・メソッドと呼ばれている)。
この「評価関数をデータから自動で作成する」というアプローチによって、AI将棋の発展は一段と加速したのである。
山本一成氏がメイン開発者である将棋AI「Ponanza」は、ドワンゴ社が主催した第2期電王戦において人のタイトルホルダーである佐藤名人に勝利を収めた。
https://ja.wikipedia.org/wiki/Ponanza
またGoogle DeepMind社によって開発された囲碁用AIのAlphaGo はニューラルネットワークというものを用いて、まず人のプレイデータを用いて学習した後、ソフト同士の対局の情報から評価関数のようなものの学習を行っている。
https://ja.wikipedia.org/wiki/AlphaGo
https://www.jstage.jst.go.jp/article/jjsai/31/3/31_441/_pdf
コンピューターにとって囲碁は将棋よりも扱うのが難しいと思われていたが、AlphaGo の性能はすさまじくネットの囲碁サイトにて人のプロ相手に60連勝したようだ。そして当時のトッププレイヤーの一人であるイ・セドル氏にも公開対局で5戦中4勝を収めている。
だがこの強力AIは、到底一般人に真似できるレベルのものではない。
例えば2015年にプロ棋士と勝負した際、AlphaGoは1202個のCPUと176個のGPUで分散処理を実行していた。このように膨大なリソースを必要とするからである。
(また AlphaGo の後継ともいえる AlphaGo Zero は、人間のプレイデータすら用いず強化学習のみで AlphaGo を上回る性能を獲得した)


以上が、将棋や囲碁AIの仕組みの概略だ。(厳密にはさらに複雑な仕組みなのだが、置いておく)
ボードゲームAIは終盤において、手の全探索に近いことができる。
対して序~中盤は全探索が難しく、評価関数によって打つ手を決める。ただそれだけである。
何故、こんな少々複雑な話をしたのか?
その答えは簡単。これから提案する「アモーダル・メイキング」は、似たような方法でデザインを行うからである。

キャラデザインの話に戻ろう。

先ほど私は、アモーダル補完という脳の機能を紹介した。簡単に再掲しよう。

アモーダル補完:
我々は遮蔽されたオブジェクトを見た時、見えない部分を補完して物体の全体像を”予測”する。

本稿で提案する「アモーダル・メイキング」、その核となるアイディアとは、このアモーダル補完をキャラクターデザインにおける評価関数の一部として用いるというものである。

突飛だったかもしれないので、より詳しく説明しよう。
我々が”デザイン途中”のキャラを見た時、もちろん目に映るのはキャラの全身ではなく身体の一部だけ。
しかしながら人間は、その一部から自然にかわいさを感じとることができる。この時我々の脳内では恐らく、アモーダル補完によって全身の姿を予測しているはずだ。

予測図(再掲)


とにもかくにも、我々はキャラの一部分から「かわいさ」を自然に知覚することができる。……本来、「キャラのかわいさ」は、その見えている一部以外の影響を受けるにも関わらず!
そう、あくまでキャラクターの最終的なかわいさは、使われている全てのパーツが複雑な相互作用をした結果決まるはず。身体がどのようなデザインをしているかに応じて、そのキャラのかわいさも、その身体と相性の良い顔も変わってくるのである。
だがデザインの途中段階、すなわち複数のパーツがまだ存在していない”局面”において、我々の脳は既にその全体像をとらえており、最終的なかわいさを自然に予測できる(というより、予測を勝手に実行している)。身体の情報なしに、その顔がかわいいとわかってしまうのだ。
まさに局面の情報から有利さをスコア化する、ボードゲームAIの”評価関数”とそっくりではないか! 
そう、我々はキャラクターデザインの途中段階において、部分的なキャラの”スコア化”を自然に行えるのである。そしてここで言うスコアとは、部分的なキャラから感じ取れる「かわいさ」そのものだ!
我々は経験的に、このアモーダル補完という機能の予測性能が高いと知っている。
と、いうことは。
ボードゲームAIのアイディアを応用しそこにアモーダル補完を組み込むことで、超かわいいキャラデザインを発見する手順(アルゴリズム)を開発できるはず。
私はそう考えたわけである。

ところで、この”局所から全体像を予測する脳の機能”が、超かわいいキャラデザインの探索においてどのように嬉しいのか?
その理由は、主に四つある。

①早期判断の可能化

もし脳がアモーダル補完を持っていない、すなわち”遮蔽”に対応していないと仮定してみよう。
すると我々は、身体の一部(例えば、顔のみ)をみたところで「かわいさ」がうまく分からない。多くのパーツが揃っていないと評価不能に陥るだろう。
したがって、デザイン途中のキャラのかわいさを知るためには、デザインが決まっていない部位のパーツを”適当に”描く必要が出てくる。これは中々面倒な作業だ。
だが我々はアモーダル補完により、全身を描き上げるはるか前の時点で「かわいさ」を感じられる。そのため、特に”有望そうなパーツにあらかじめ的を絞る”(枝刈りという)ことで全体的な試行数を減らせるのだ。
これはボードゲームAIで、評価関数を用いて探索量を削減しているのと同じ理屈である。
そして「デザイン未確定の部分を、未確定にしたままかわいさをチェックするメリット」はこれだけではない。

②他パーツからの影響の無効化

①と同様に、脳がアモーダル補完を持たない場合を想定しよう。
すると上述したように、我々は全身に近い状態でのかわいさを評価する必要に迫られる。
だがここで問題となってくるのが、第2章の知識1「パーツ同士の相互作用」。
これによって、かわいくなるパーツ探索の際に「未確定パーツへの最適化」が引き起こされてしまうのである。
どういうことか、例で説明しよう。

左は顔のみ、右は同じ顔だがさらに”仮の身体”を付け加えたデザインだ。
(なおここで仮の身体とは、「デザインとして用いるかは未定だが、全身が無いとかわいさを評価できないがゆえにひとまず適当に置いた身体」という意味である)
この時我々は、全身が揃った右のキャラだけでなく左の顔のみについてもかわいさを自然に判断できる。
だがもしアモーダル補完を持っていないなら、左の顔のみ(生首)を見ると違和感を抱くはずだ。

さて、現状よりもっと良いデザインを探すためにここから顔を変更させてみよう。
変化させた結果が以下である。


この時右は、変更前の紫髪の顔の時よりも若干良いデザインだと私は感じる。
しかしこのキャラ中の青髪の顔は、本当に紫髪の顔よりも良いパーツなのだろうか?
第2章でも示した通り、それぞれのパーツが相互左右した結果キャラのかわいさは決まる。ひょっとするとこの顔は、仮の身体(青丸部)との相性が良いだけかもしれない。
このように身体を固定し顔だけを変化させて探索すると、その固定した身体に似合う顔が選ばれてしまう。
そして今回、この固定した身体は”仮の身体”。換言すれば、デザインが未確定のパーツに探索パーツが最適化されてしまうのだ。
もしその固定した身体を絶対に採用すると決めているのならば、問題とはならない。
だが、他の身体を採用する可能性があれば? 当然その身体がどのようなデザインなのかで、ベストな顔も変わってきてしまうだろう。
紫髪より青髪の方が良いというのはあくまでこの空色の服を着た身体の時に成り立つのであって、別の服の場合の時については何も語ってくれないのだ。
それどころかこの仮の身体が原因で、よりよい顔を見逃してしまう可能性だってある!
だが一方、左はどうか? 
私は紫髪と青髪の頭部のみを比べると、若干紫髪の方がかわいいと感じる。
そしてアモーダル補完を使用できる私はこの判断を、”身体の情報が存在しない状態で”下すことができる。
すなわち、デザインがきまっていないパーツからの影響を受けずして、その顔のかわいさを自然に感じられる!
このように探索時、アモーダル補完によって「未確定パーツからの影響を避けられる」という大きなメリットが存在するのだ。

③対応力の高さ

都合の良いことに、このアモーダル補完は”遮蔽”に対する対応力が極めて高い。(そうでなければ、我々は日常生活で困ってしまう)
もし足が見えなければ、足のみを補完する。膝より下が見えなければ、膝下のみを補完する。
顔だけが見えたのなら、恐らくはその顔を含んだ全体像の絵を描くようにして、大まかなかわいさを推論するはずだ。
見た対象物がキャラクターだと認識するやいなや、我々の脳はこれまでの知識や経験に基づき、遮蔽された部位に応じた補完を瞬時に行ってくれるはずである。

アモーダル補完は強い対応力を持つ。

ボードゲームAIは手を打つ&打たれるたびに、評価関数による算出スコアをアップデートしていく必要がある。
ゲームが進んで盤面が変わった時、現在の状況と異なる盤面を想定しても意味はない。優れた一手を打つためには、常に最新の情報を用いなくてはならないのだ。
では、このアモーダル補完はどうだろうか。例を通じて考えてみよう。

左のデザインにピンクのスカートや手袋、太ももを描き加えたのが右。
この時、右を見て我々が感じる「かわいさ」は、新たに加えられたパーツ(スカート、太もも、手袋)の情報込みで導出されているのが分かるだろう。
各パーツを描いていく度に、その部分の情報が取り込まれて「かわいさ」が導出されることとなる。言い換えれば、最新の情報を取り入れながら評価関数が自動的にアップデートされていくのである。
(補完される部分も、キャラのデザインが決まるたび変化する。左では腰以下や手が補完されるだろうが、右は太もも以下しか補完されない)

④特別な訓練が不要で、ほぼ全ての人間が使える

将棋界においては、各局面で的確に情勢判断する能力を”大局観”と呼ぶ。
この大局観は棋士の膨大な思考と経験の果てに獲得されるものだ。当然私のような将棋の未経験者は大局観を持たない。
ボードゲームAIではこの大局観を評価関数によって再現していると言える。だが当然ながら、性能の良い評価関数の作成は決して容易じゃない。
将棋AIにおける評価関数の一例を下記に示す。
https://www.apply.computer-shogi.org/wcsc28/appeal/the_end_of_genesis_T.N.K.evolution_turbo_type_D/nnue.pdf
極めて難しそうなことをやっているのが分かるだろう。
将棋において局面の情報から有利さの度合いを算出するのは、なかなか難易度が高い芸当なのだ。

しかし人がキャラクターデザインを行う上で、この評価関数を意識的に作り上げる必要は必ずしもない。
我々人間は既に、アモーダル補完という強力な能力によって”天然評価関数”を実現できるからだ。
(プロのキャラデザイナーはもちろん、私のような非アーティストでさえも)
もちろん人は好みの違いがあるため、この評価関数も人によって大きく異なるだろう。しかしながらアモーダル補完を実行、すなわち局所からキャラのかわいさを推定できるという点では共通しているのである。
高価なGPUやCPUを沢山揃える必要もないし、新たに”学習”を行う時間もデータも一切いらない!
デザインに関する高度な知識なども不要に、我々人間はキャラクターの一部(局所)から「かわいさの推論値」を一瞬で叩き出すというすごい能力を既に持っているのだ。

以上が、キャラデザインにおけるアモーダル補完のメリットだ。
そしてこの機能、コンピューターに行わせるのは中々難しいようであり、再現には至っていない。
ニューラルネットワークをはじめとする既存の計算モデルは遮蔽がない場合の物体認識に強く、人間に劣らないほどとなってきている。しかしながら部分的な物体を扱う場合には、人間の方が強い能力を持っているのだ。
加えて我々人間にはもう一つ大きな強みがある。機械とは違って、実際に「かわいさ」そのものを感じられることだ!。
せっかくそんな素晴らしい力を持っているのなら……最大限活用させてもらおうではないか。

ボードゲームで「次の一手を打つ」ことは、キャラクターデザインにおいては「部分的なキャラクターに新たなパーツを描き追加する」ことに相当する。
そして強力な評価関数が手に入った(というより、我々はもう既に手にしている)今、ボードゲームAIの仕組みをキャラクターデザインにも適用することで超かわいいデザインを得ることが期待される。
それではこのアモーダル補完を駆使したメイキング手法、「アモーダル・メイキング」の基本アイデアを示そう。
このメイキング手法は
①「パーツ選択」、
②「パーツ探索」、
③「パーツ確定」。
この3ステップをパーツの種類分繰り返すというものだ。
簡単な例を想定して説明しよう。

今、自分が用意できる(描ける)各パーツとして
・100通りの顔
・100通りの上半身
・100通りの下半身
があるとする。
組み合わせの数はこれらの掛け算であるため、100×100×100=1000000通りだ。
すなわち我々は最大100万通りのキャラのデザインができる(が、全部は試したくない)。その中から、超かわいいキャラを探し出したい。


最初に、①の「パーツ選択」を行う。
今回、パーツは顔、上半身、下半身の3種。これらの内から一つを選択するのだ。
上半身や下半身だけをみても中々かわいさは分からないため、まずは「顔」を選ぶこととする。
次に②の「パーツ探索」を行う。
①で選んだパーツ”顔”の候補100種全てについて、実際に見てみて”かわいさをチェック”する。
この時、上半身・下半身はまだ描かない。かわいさチェックの際は、顔のみを見て他の部分は遮蔽する。これは顔の探索中、「デザイン未確定部分」からの影響を排除するためである。
見るのは顔だけだが、我々はアモーダル補完によってキャラクターの全体像のかわいさを自然に予測することができるはずだ。

無事100通りをチェックし終わったら、③の「パーツ確定」に移る。試した100通りの中から、最もかわいいと感じたものを選びデザインに取り入れる。使用パーツとして”確定”させるわけである。1度「確定」させたパーツを、再度変化させることはない。もう顔のデザインは変えないということだ。これで一パーツ目のデザイン完了である。デザインとして「確定」したパーツはまだ顔のみ。上半身と下半身が未確定のまま残されている。続いてこれらのパーツを決めていこう。再び、まず①「パーツ選択」を行う。今度は”上半身”を選択しよう。

続いて②「パーツ探索」だ。
デザインとして決定済みの顔に対し、上半身を組み合わせてかわいさチェックを行う。これを100通りの上半身候補に対して試すのである。
(もちろんこの時も、下半身はまだ”遮蔽”させたままチェックする)。


これにより、デザイン確定済みの顔に最も似合う上半身を、100個ある候補の中から選べる。それをデザインとして③「パーツ確定」させる。
これで、後残るのは下半身のみ。最後にもう一度、作業を行おう。
まずは①「パーツ選択」。下半身しか残っていないので、下半身を選択。


次に②「パーツ探索」。これまでに確定させた顔+上半身の組合せに対し、100パターンの下半身を試す。
そして③「パーツ確定」。探索した内、最も良いものを確定する。


ここでついに、全てのパーツが確定された。デザイン完了だ。

さて、この方法をとった時のデザイン試行回数を示そう。
顔のチェックが100回、顔+上半身のチェックが100回。顔+上半身+下半身のチェックが100回。
合計、100+100+100=300。総当たりの場合とは、999700回もの差だ!
このような方法を取ることにより、試行数はパーツの候補数の掛け算ではなく”足し算”になる
結果的に、総当たりよりもはるかに少ないチェック回数で(専門用語を使うと、多項式時間で)キャラデザインが完了するのだ。

そしてもちろん、パーツの種類が増えるほど全通りとの試行数の差は大きくなる。
先ほどの例ではパーツの区切りを3種(顔、上半身、下半身)とした。しかしこれはちょっとおおざっぱすぎる。
では、パーツが10種(各々20通りの候補があるとする)だとしたらどうだろう。
全ての組合せの合計は20の10乗=10240000000000(10兆2400億)通りだ。
だがアモーダル・メイキングでは、一パーツあたり20回のチェックを10パーツ分繰り返すだけ。高々200通りなのである。
どう考えても現実的でない回数から、なんとかギリギリ試せそうな数へと変貌を遂げた。これなら人でも実行できる。

もちろん、いくら試行数を減らせたところで超かわいいデザインが得られなくては意味がない。
ボードゲームAIの能力は評価関数の性能に大きく依存する。このアモーダル・メイキングについても同じことがいえるだろう。
先ほど私はアモーダル補完を評価関数と見なした。この脳機能の予測能力の高さを、我々は経験的に知っているはずだ。
このアモーダル・メイキングは、我々自身の脳の演算・推論能力に頼り、試行数を抑えながら超かわいいデザインを追求する手法なのである。 

ボードゲームAIと対比させ、アモーダル・メイキングのアイディアを説明してきた。
ところでボードゲームAIとキャラクターデザインとでは、一つ大きな違いがある。
ボードゲームでは初期状態が決められており、そこから遷移できる局面のみを考えてゆけば良い。
一方キャラクターデザインでは、デザイナーがパーツを描く順番を自由に決められるのである。
そこでさらに、アモーダル・メイキングを支える概念の「描画戦略(Drawing Strategy)」および「最かわ優先戦略(Prettiest Priority Strategy)」を提唱する。
これはデザイナーの知識の反映により、出来上がるキャラをよりかわいくするための概念である。

(2)描画戦略と最かわ優先戦略

先ほどのアイディア説明時の例では、顔の次に
上半身→下半身
の順で探索するパーツを選んでいた。
だが、必ずしもこの順序で選んでいく必要はないはず。キャラクターデザインでは”次の一手”を、どこからでも決めていくことができる。下半身→上半身でもいいかもしれない。
上の例で言うと、顔確定の次に検討できる候補は上半身100通り&下半身100通りの計200通りあるわけだ。
だがここで、一つの問題が生じる。


このデザインと


このデザインを同列に扱うことはできない。なぜなら描き加えた二つは完全に異なる種のパーツだからだ。上半身の候補とうまく比較できるのは、同じく上半身だけである。
ゆえにデザイナーはパーツ選択の際、上半身と下半身のどちらを探索するのか”比較を行わずに”選択することを迫られる。
言い換えれば、「パーツを一つ一つ決めていく(一旦決めたパーツはいじらない)」というデザイン方式を採る限り、我々は必ずパーツを探索する順序を何らかの方法によって決めなくてはならない。そして当然この順序によって、最終的に得られるデザインも変わってくるはずだ。
では、どのようにすべきだろうか?
それを考える前にまずは一つ、押さえておきたい重要な点がある。「先に決めたパーツによって、後のパーツが決まってくる」ことである。
例で説明しよう。

1.顔
2.上半身
3.下半身

この順番で、パーツ探索を進めていくとする。。
すると一番最初に描く「顔」の選択時には、”他のパーツ(上半身と下半身)の影響を受けずに”最もかわいいと自然に感じるものを選べる(アモーダル補完によって)。ここまではいいだろう。
顔を確定させた後には上半身の探索を行うこととなるが、ここでかわいさをチェックするのは上半身単体ではない。既に確定させた顔+上半身の候補 の組み合わせである。
当然、最初に確定させた顔と相性の悪い上半身は選ばれにくくなり、逆に相性の良い上半身が選ばれやすくなるだろう。
このように、「先に確定させたパーツが、後のパーツの探索に影響を与える」のだ。

これには功罪両方の側面がある。
メリットとしては、「先に決めたデザインに最も似合うパーツを、後の探索時に選択できる」ことが挙げられるだろう。これはパーツを段階的に決めるからできることだ。
そしてここでの最大のポイントは、我々が”似合う理由”を知らなくても構わないということである。
例えば下の「顔+上半身」の組み合わせを見て欲しい。


これらはかなり似合っている組み合わせと言えるだろう。
だが”何故”この二つが似合うと感じるのか、そのメカニズムを我々が完璧に理解することはできない。「かわいい」という感覚は、因果の説明が困難となる複雑な対象だからだ。
そして「かわいさ」のメカニズムを部分的にしか知らない我々は、上のようなベストに近いと考えられる組み合わせを、論理だけを用いて一発で導き出すことが難しい。
だが我々は、少々の手間をかけることでこの問題にも対処できる。色んなパーツを試すのだ。
例えばある顔にかなり似合う上半身を見つけたいなら、沢山の上半身を実際に試してみれば良い。1度では駄目でも、何度も試せばその内ベストに近い上半身が見つかるであろう。
デザイナーの目的は、かわいさのメカニズムという神秘の謎を解き明かすことではない。自分の創るキャラのかわいさを最大化する様なパーツを発見すること、ただそれだけだ。
例え「かわいさの構造」を知らなくとも、十分な数の多様な候補を試せば、これまで確定されたデザインに対しその段階で最も魅力的だと感じるパーツ(ただしデザイナーが創れるものに限る)を選択することができるのである。
以上がメリットだ。次にデメリットを示そう。
それは「局所的なかわいさに騙されてしまう場合がある」ことだ。
先述の通り、我々はキャラの一部を見た時に全体図を予測していると考えられる。そして上述の手法では、この予測を元に最も良いパーツを選び出すわけだ。
だがこの予測は必ずしも完ぺきではない。例え

顔Aのかわいさ>顔Bのかわいさ

だったとしても、

顔A+上半身A'のかわいさ<顔B+上半身B'のかわいさ(ここでA'、B'はそれぞれの顔に最も似合う上半身)

という風に、将来的な"逆転"がありうるのである。予測が完璧とは限らない以上、これはやむを得ない現象だ。
(ボードゲームAIにもこれと同様の現象が存在し、「水平線効果(horizon effect)」と呼ばれている)
https://ja.wikipedia.org/wiki/水平線効果
そしてこの水平線効果は、しばしば先に決めたパーツと探索パーツの相互左右によって引き起こされる。
この例を下に示す。

水平線効果


上の例で説明すると
・Aは顔単体だけで見ればBよりかわいい。
・しかしながら同時に、Aは微妙な服ばかりしか似合わないような顔である。(一方Bは、超かわいい服が似合う)
・そのため、上半身も含めた魅力ではBに負けてしまった。
このような事態が生じる可能性があるのである。
我々の最終目的はあくまで「全身を見た時にもっともかわいくなるような組み合わせの特定」。
ゆえに、このような"逆転"が極力起こり得ないような順序でパーツを決めていく必要があるだろう。

以上のような点を考慮しつつ、「パーツの探索順序」を決めていかなければならない。
ところで私は、この問題に似た概念が情報工学にあることに気づいた。
それは評価戦略(Evaluation Strategy)と呼ばれるものである。
https://ja.wikipedia.org/wiki/評価戦略
簡単に説明しよう。


次のような式の計算を考える。

(4763549026+955262625)×0

これを大真面目に正しい順番で解こうとすると、まずは
4763549026+955262625
という非常に手間のかかる計算を行わなくてはいけない。
だが私は、暗算で上の式を計算できる。
?×0。この?がどうだろうと、最終的な結果は0である。
なのでこちらを先に評価してしまうのである。そうすれば、4763549026+955262625という面倒な計算は行わなくてもいい。

このように計算の順序の工夫によって、我々は式評価をより容易に行いながら結果に辿り着ける。そしてこの順序を決めるルールのことを評価戦略というのだ。
また、計算結果が必要になるまで計算を行わないことを遅延評価という。この遅延評価には、式を式のまま評価することにより計算量を減らせるなどといったメリットがある。
上の例では、?×0を先に計算することにより、
4763549026+955262625
という、(面倒くさい)式を式のまま評価している。すなわち遅延評価させているのである。
(そして?×0=0なので、評価を遅延させたこの項は式中から消滅してしまい、計算の必要が無くなる)

以上が評価戦略の説明であるが、私はこいつをヒントに似たようなものをキャラクターデザインにも利用しようと考えた。具体的には描画戦略(Drawing Strategy)という、”デザイナーの感性”を反映する概念を導入したのだ。
この描画戦略は「パーツのデザイン順序を決めるルール」であり、デザイナー自身が決定する。描画戦略の設計はアモーダル・メイキングにおいて重要な工程である。

そして今回私は具体的な描画戦略の一つとして、「最かわ優先戦略(Prettiest Priority Strategy)」を提案する。これは「かわいさの説明能力が高いと考えられるパーツ順」に探索を行う単純な描画戦略である。
すなわち、「かわいさ」における重みの大きい重要なパーツは早期に探索を実行する、そしてあまりキャラの印象を決定づけないパーツのデザインは”遅延”させるわけだ。
先述した通り、我々はアモーダル補完によってデザインを遅延させたパーツからの影響を回避しながら部分的なキャラクターのかわいさを評価できる。
したがって最かわ優先戦略を用いた時、先に描く重要なパーツの中からベストなものを、他パーツの制約を受けずに選ぶことができる。
加えて後からデザインするパーツは、そこまで「かわいさ」にとって重要とはならない。したがって水平線効果が起こりづらいだろうというわけだ。
(これを逆にしてしまうと、序盤の探索時に「かわいさ」の説明能力が全然ないパーツのみを見てかわいさを判断しなくてはならない。さらにかわいさの多くを説明する重要なパーツが、さほど大事じゃない先に描いたパーツに最適化されてしまう。これでは水平線効果が起きてしまいやすいだろう)
ここでようやく、第2章で示した知識2:「顔に近いパーツほど、かわいさへと及ぼす影響が大きい傾向がある」が役に立つ。この知識を最かわ優先戦略と組み合わせるのだ。
例えばパーツが靴・靴下・帽子・顔・トップス・ボトムスの六種だとする時、知識2を用いた最かわ優先戦略による探索順序は下記となる。

1.顔
2.帽子
3.トップス
4.ボトムス
5.靴下
6.靴

あるパーツのデザイン確定が、後のパーツ探索にどのような影響を及ぼすかは、我々にとって非常に予測困難な事象だ。
一方でどのパーツの重みが大きいのかはある程度推測ができる。例えば顔付近のパーツは一般に、足元のパーツよりも「かわいさ」に及ぼす影響が高い傾向があるだろう。
そのような重要なパーツから優先的に決めていくことで、水平線効果を幾ばくか解消することが期待できる。これが最かわ優先戦略のメリットである。
さらにもう一つ、この戦略が良い理由を付け加えておこう。
そもそもアモーダル補完を発生させるには、デザインしている部分的なキャラクターをキャラクターであると脳が認識しなくてはならない。
ゆえにこの脳機能を活かすためには、最序盤に「それを見ればキャラクターの1部だと分かるパーツ」をデザインする必要があるだろう。
そしてキャラクターの象徴となるものといえば……やはり顔である。最かわ優先戦略はこの点についても都合が良いのだ。

以上が描画戦略と最かわ優先戦略の説明である。
私はこの描画戦略という概念をデザイナーが決められるような形として定義した。これはなぜかというと、各デザイナーごとに感性や持つ知識が異なるからである。
顔を重要視するデザイナーや服やスタイルに重きを置くデザイナーもいるだろうし、絶対にデコ出しキャラを描きたい信念を持つ漫画家だって存在するかもしれない。
各デザイナーの感性によって「かわいさ」の形が違ってくるのだから、当然その最大化を狙うアルゴリズムもデザイナーの感性を反映するものでなければならない。そういった意図である。
なので、今回私は知識2の「顔に近いパーツほど、かわいさへと及ぼす影響が大きい傾向がある」を使ったものの、もちろんこの知識を用いるべきか否かはデザイナーによって異なる。
またこの描画戦略は、何もデザインの事前に全て決めておく必要はない。キャラクターのデザイン状況に応じて適宜変更可能である点に注意して欲しい。

これで、必要となる概念の説明は完了だ。
それでは、アモーダル・メイキングの手順を紹介しよう。

(3)アモーダル・メイキング

本稿で提案する人間専用のアルゴリズム「アモーダル・メイキング」は、以下の通りである。
今、複数のパーツの種類(例:髪、服、靴、etc.)にいくつもの候補があらかじめ用意されている時、


① デザイナーが決めた描画戦略に基づき、探索するパーツの種類(例:髪、服、靴、etc.)を1つ選択する。
② そのパーツの候補を、これまでに確定したデザインへ組み込んでかわいさをチェックする。これを複数の候補に対して行う。(この時、デザイン未確定の部分は遮蔽し見ない)
③ ②で試した中で一番かわいい候補を、デザインとして採用・確定させる。
この①~③をパーツの種類数分繰り返す。

ここまで長々と、時には見慣れない用語を使いながら小難しい説明をしてきた。
だがそれらは全て、本手法が超かわいいデザインの発見へとつながる理由を示すために他ならない。
上のように、アモーダル・メイキングはたった数行で記述可能。加えて、キャラクターデザインについての複雑な知識は一切不要だ。この手法自体はかなりシンプルなのである。(これも我々が強力な脳機能をもっているおかげだ!)

それでは実際に、カスタムオーダーメイド3D2上でアモーダル・メイキングをやってみよう。

<デザイン例>

まずは、パーツ描画の順序を下記に定める。(なおここでは「カスタムオーダーメイド3D2」上でさらに細分化されているパーツを、いくつか一まとめにしている)

1.顔
2.前髪・ピアス
3.横・後髪・ヘッドドレス・帽子
4.首回りのパーツ(ネックレス・チョーカー・髪)
5.トップス・手袋
6.ボトムス
7.靴下・靴

知識2を使い、顔に近い(すなわち、「かわいさ」への重みが高いと考えられる)パーツから順にデザインをしていく。これを描画戦略としよう。
(なお本ゲームはパーツの種類・候補数ともに非常に多く、さすがに全ての候補を試すのは難しい。そのため全探索ではなくある程度の探索にとどめ、かなりよさそうなパーツが見つかった時点で切り上げさせてもらう)

さてまずは、「1.顔」の探索からだ。
まず視界に顔のみを映し、他のパーツ部は遮蔽する。そして顔の色んなパーツを片っ端から試し、最もかわいいものを探すのである。
探索の様子を示した画像が以下だ。なお図中の青い部分は遮蔽部である。


探索の結果、赤丸の顔がベストだったのでこれをデザインとして採用する。これで顔のデザインは完了だ。
次は前髪・ピアスを探索する。先ほど採用した顔に対し、前髪・耳部分を我々の視界に入れそれらを沢山試していくのである。


今回は、赤丸の前髪・ピアスの組み合わせが特によく感じた。何らかの理由(私には分からない)で、先に決めた黄色目の顔と相性が良いのだろう。これをデザインとして確定する。
続いて横・後髪およびヘッドドレスや帽子を探索する。

これで、首より上のデザインは全て終わった。次に身体をデザインしていく。まずは首回りのパーツ、すなわちネックレスやチョーカー、首周囲の髪だ。これらを色々試して選ぶ。



続いてトップス・手袋を色々試して選ぶ。


もうこの時点で、おおよそ大勢は決している。後は出来上がりつつあるこのキャラを最大限かわいくするだけだ。ボトムスを試す。


靴・靴下を色々試して選ぶ。


こうして、キャラデザインが完了した。


このキャラは間違いなくかわいい。

これで「アモーダル・メイキング」の説明は終わりだ。
次の章は補足の内容となるので、疲れた方はまとめまで飛ばして貰って構わない。

<第3章・要約>

遮蔽されたオブジェクトの全体像を無意的に知覚(予測)する脳の視覚機能をアモーダル補完という。
この機能とボードゲームAIの仕組みとを組み合わせた、本稿で提案するキャラクターデザイン手法「アモーダル・メイキング」の概要は以下である。

① デザイナーが決めた描画戦略に基づき、探索するパーツの種類(例:髪、服、靴、etc.)を選択する。
② そのパーツの候補を、これまで確定したデザインに組み込んでかわいさをチェックする。これを複数の候補に対して行う。(この時、デザイン未確定の部分は見ない!)
③ ②で試した中で一番かわいい候補を、デザインとして採用・確定させる。
この①~③をパーツの種類数分繰り返す。なおここで描画戦略とは「デザイナーが決めたパーツ探索順序を決めるルール」を指す。

第4章 性能改善&関連研究

本章はアモーダル・メイキングに関する雑多な内容を記していく。

<性能向上>

アモーダル・メイキングはアモーダル補完による知覚情報を静的評価関数と見なし、ベストなパーツを選び続けるという単純なアルゴリズムである。
デザイナーは工夫をこらすことで、本アルゴリズムのさらなる拡張を容易に行えるだろう。
ここでは私が提案するいくつかの改善方法を紹介しよう。

・先読み

3章では言及しなかったが、ボードゲームAIは評価関数に加え”先読み”を組み合わせたものが多い。
これは単純に、現在の状況から数手先までのパターンを列挙していくことを指す。そしてその一番先の手を評価関数によって評価し、そのスコアに応じて打つ手を決めるのである。
この先読みをどれくらいの深さまで行うかでAIの性能が大きく変わってきたりするので、非常に重要な要素といえるだろう。
アモーダルメイキングは当然この先読みも取り入れることができる。
もっともこの先読みを人がキャラクターデザインにてそのまま行うのは少々困難かもしれない。なぜなら試行数が大きく増えてしまうからだ。
(例えば顔・上半身がそれぞれ100通りの時、顔の選定の際に上半身を先読みすると100×100=10000通りを試す羽目になってしまう)
用いる場合は、何らかの工夫が必要となるだろう。

・ビームサーチ

アモーダル・メイキングではパーツ探索の時に、ベストなパーツのみを選択しデザインに取り入れていた。
だがいくつかの候補がどれも甲乙つけがたい時もあるだろう。そこで役立つのがビームサーチである。
これは単純に探索の際、候補から一つのみを絞りこむのではなく複数の選択肢を残しておく手法のことだ。
そうすれば、超かわいいデザインを取りこぼしてしまうリスクが減るであろう。
だがもちろん、この手法にはデメリットも存在する。先読みと同じくデザインの試行数が増加する上、デザイナーは残した選択肢のデザインを一時的に保存しておかなくてはならない。

・そろそろ刈るか法

「そろそろ刈るか法」はアモーダル・メイキングで試行数を更に抑えるため、私が提案するテクニックである。
3章における手法の説明時、私は②「パーツ探索」で全ての候補を試していた。
だがパーツを自分で創れるデザイナーは、やろうと思えば候補を無限に生成することが出来る。これらを全部試すのはやはり非現実的だ。
デザイナーはいつか探索を切り上げ、パーツのデザインを確定しなければならない。
では、具体的にいつ切り上げるべきか? 「そろそろ刈るか法」は、そのタイミングを決定するヒューリスティックの一つである。

アモーダル・メイキングでは、「候補から特に有望なものを選択し、それ以外の選択肢を検討しない」ことでパーツの試行数を大きく削減していた。
この技法には名前がついており「枝刈り」という。この枝刈りを、試したパーツの良さに応じて早期に実行してしまうのがそろそろ刈るか法である。
例を通じて説明しよう。

今、顔のデザインを終えたデザイナーが上半身の探索に移ろうとしている。具体的には下の状況だ。


まだ上半身は1パーツも試していないのだが、この時点でデザイナーには一つ、手に入っているものがある。それは頭部を見た時に感じる「かわいさ」である。


この頭部を見た時に感じた「かわいさ」を、実際に上半身を試した時の「かわいさ」と比べ、かなりしっくりくるならそのパーツをデザインとして確定させるのである。
まず、一つ目の候補。


はっきり言って、全然しっくりこない。(服が全然似合っていない!)恐らくもっと良い上半身があるはずだ。
当然、枝刈りを実行するのは「まだ早い♠」。

二つ目の候補。


一つ目よりかは良く感じる。だが、はっきりこれがベストなパーツだともいえない。
ここで探索をやめてしまうと、よりかわいいデザインにたどり着けない可能性が上がってしまう。少々時間をかけてでも、もっと魅力的になる上半身を探し当てたい所だ。
やはり枝刈りには「まだ早い♠」。

三つ目の候補。


かなり似合っているように思える。これを超える上半身は中々なさそうだ。
したがって、探索を打ち切り本パーツをデザインとして確定させる。まだ試していない候補が97個あるが、それらは試さずに次パーツの探索へと移るのである(枝刈りの実行)。
そろそろ刈るか…♠
画像4-5

画像にもある通り、たった3パターンの試行で上半身の探索が終了した。
このように、試行したパーツが非常に良いとデザイナーが判断した時、その候補をデザインとして確定させてしまうことで探索量を削減する(ただし削減量は運次第)。これが「そろそろ刈るか法」である。
なお当然ながら、この手法を用いるとパーツ探索が途中で切り上げられることとなり、よりかわいくなるパーツを見落とす可能性が出てきてしまう。
自作キャラを最大限にかわいくしたいデザイナーは、このテクニックを用いずに極力多くのパーツを試すことを推奨する。

そろそろ刈るか法を用いたアモーダル・メイキングのフローチャート

・修正

アモーダル・メイキングでは、一度決めたパーツを再度変更することはない。
しかしながら本来、キャラクターデザインではいつでも遡ってのデザイン修正が可能。「待った!」が許されない将棋とは異なるのである。
デザインが決まっていくにつれ、「このキャラには、あのパーツが似合うのではないか?」という感のようなものがデザイナーに働くかもしれない。
その場合実際にチェックしてみて、よりかわいさが増すようであれば、採用してしまえば良いだろう。

<関連研究>

余談であるが、アモーダル補完について調べていた時に興味深い研究が見つかった。

イラスト客観視のための部分遮蔽手法の検討
https://dl.nkmr-lab.org/papers/135

明治大学・総合数理学部卒業生の高橋拓様による、「アモーダル補完を活用し、自作イラストの不備を発見する手法」についての研究である。
こちらも興味深い研究のため、興味があれば是非読んでみて欲しい。

終章 まとめ

以上が、私の成果である。
まとめとして、本記事の大枠を示そう。

①キャラクターの「かわいさ」は非常に複雑な対象であり、超かわいいパーツの組み合わせの発見には”試行錯誤”が要求される。
②パーツの全ての組み合わせを試せば、超かわいいキャラを確実に発見できる。しかし全組み合わせは膨大な数となるので現実的ではない。そのため試行数を抑えながら超かわいいキャラを発見するアルゴリズムが必要である。
③そこで本稿ではアモーダル・メイキングというデザイン手法を提案した。これは人だけが使えるアルゴリズムである。
 本手法ではボードゲームAIの技術をキャラデザインへと流用した。具体的には、アモーダル補完という局所から全体像を予測する脳の演算機能を静的評価関数として用いる。この脳機能は経験的に、「かわいさ」の説明能力が高い強力な評価関数であるといえる。
 アモーダル・メイキングではこの”天然評価関数”を使用して、最も良いと判断された候補を選んでいく。これをパーツの種類数分繰り返し、キャラクターデザインを完了させるという手法である。
 考えられるパーツの全組合せは本来各パーツの候補数の積だが、本手法における試行数は各パーツの候補数の和となる。

本手法は総当たりに比べて試行数がかなり抑えられるものの、それでも人にとってそれなりの数の試行を行うこととなる。そのため勘だけでデザインを行うよりかはどうしても時間がかかってしまうだろう。
だが手間暇をかける分の報いを、あなたは本アルゴリズムによって受けられるかもしれない。もし少々時間がかかってでも素晴らしいデザインを作り上げたいのなら、是非1度試して見て欲しい。
また余談となるが、本アルゴリズムはキャラクターデザインだけじゃなくファッションの様な領域にも応用が可能である。
例えば外出する際、あなたはできることなら自分自身に最も似合う服の組み合わせを選びたいだろう。
そんな時、アモーダル・メイキングがあなたを手助けするかもしれない。本アルゴリズムは原理的に、キャラクターだけではなく実物の人間に対しても使えるはずだ。
魅力のフィードバックを得ながらパーツを段階的に選んでいくことで、あなたはより自分の魅力を引きだす衣装を発見できるだろう。

本稿で触れた内容は、どれも決して簡単なものではない。
特に情報系の知識は大学院で習うレベルの高度な内容である。1度読んで分からなかったとしても普通なので、安心して欲しい。
(もし情報工学のバックグラウンドがないのに全部理解できたなら、かなり頭の切れる方だと思う)
キャラデザインというエンターテイメント性の高い題材を通じ、この分野の学びのきっかけとなればいいなと思っている。

デザインというのは一般に、アーティストの感性がモノを言う世界だと考えられている。また「かわいさ」は人によって捉え方が異なる、扱いにくい対象だ。
しかしながら、実践に沿う様適切に組み立てられた理論は、きっと役立つはずだと考える。
私はこの記事を書く前、Web上で「デジタルイラストの良い所」を検索してみた。触れられていたのは下のような内容だ。

・書き間違えてもすぐに修正が可能
・画材のゴミが出ない
・データが用意に複製可能

確かにこれらも大きな利点なのだろう。しかしながら私はこれに加え、

・パラメータの試行錯誤を容易に行える

ことこそが、大きなメリットであると考えている。
作ろうとしているキャラデザインの良さを高精度で判定するには、実際に描いて見る他ない。我々の感覚以上に勝るものはないのだ。
我々は最終的に超かわいいデザインを得られれば良いのであって、それを一発で描く必要があるわけではない。
だから、色んな種類のパーツをまずはひたすら書いてみて試し、最もかわいくなるものを選ぶ。またその際、デザイン未確定の部分はノイズとなり得るため視界に入れない。
そうすることで、我々の脳固有の能力を大きく活用できる。この記事はAIのような最新のテクノロジーについての説明というよりも、我々自身が持つ脳機能の効果的な利用法を示しているのだ。
(無論、アモーダル・メイキングはデジタルイラストならではの方法である。アナログでの実行は難しいだろう)
この記事がアート分野において新たな理論的基盤構築の一端を担うとともに、実際にイラストを描いている実務家に新たな気付きを与えられれば嬉しい。
また、アモーダルメイキングはあくまで数あるデザイン方法の一つであり、まだ発展途中のアルゴリズムだ。改善の余地はまだあるだろう。
プロのデザイナーは、これまでの経験によって得た優れたアルゴリズムを無意識に使用している可能性がある。
より超かわいいキャラを創り出すためには、それらについても探っていき、必要に応じてドメイン知識として取り入れることが効果的かもしれない。

最近、画像生成AIというものが登場し、ユーザーが増えつつある。
またその能力を目の当たりにし、人のデザイナーが若干暗い雰囲気になっているのを感じる。
確かにアレが、我々の想像を超えてきた技術であることは間違いない。あの生成スピードは人に真似できないだろう。
だがそれでも私は、人間が創り出す「かわいさ」の可能性を信じる。なぜなら我々人間こそ、かわいいという感情を持てる唯一の存在だからだ。
アーティストの仕事とは、作品をただ作ることじゃない。作品を通じて、人々の感情を動かすことである。
目的が感情の動きなのであれば、その実現に最も役立つ道具もまた感情。私はそう考えている。

1.人間の様々な特性を調べ、メタ認知を行い我々が持つ凄い能力を発見・特定する。
2.その能力を最大限活用できるような、人間だけが使えるアルゴリズム(私は humanic algorithm と呼んでいる)を開発する。
3.人間がそのアルゴリズムを実行する。

こうすることで、潜在能力を解放した我々人間がより良いパフォーマンスを追求することができるだろう。
ゆくゆくは、AIが中々手出しできないほどの存在になれる(私はこれを「超サイヤ人化(Becoming Super Saiyans)」と名付けた)かもしれない上、我々自身の才能に注目し活かすこととなるので自己肯定感も高まるというおまけつきだ。
機械は補完を使えない。「かわいさ」を感じとることもできない。このように我々は、人間であるがゆえの強みを持っている。
難しい仕事をAIに肩代わりさせるのも大事だが、我々自身の能力を伸ばしていくこともまた重要なのだ。
(AlphaGoの進化版とでもいうべきAlphaGo Zeroは、人の棋譜を全く使用せずに強化学習のみで高い性能を成し遂げたが、人間の知見を一切使用せず超かわいいキャラを自動生成させるAIの構築は困難と思われる。コンピューターは「かわいさ」を感じ取れないため、将棋や囲碁とは違ってどの選択肢が良いのかを判断できず”一人回し”が不可能だからだ)
AIの手が徐々に忍び寄り、どことなく不安にさいなまれつつある今こそ、”人類の逆襲”開始の時だ!
計算機が高速処理で人を凌駕するのならば、我々は感覚という名の剣を取り、この身に宿った力を最大限に活かして相対するのである。
本記事がその砥石のような存在になれば幸いだ。

最後に。
超かわいいキャラデザインを創り出すためには、重要なものが二つある。
一つは、沢山の努力によって獲得された、秀逸なパーツを綺麗に描いて適切な位置へと配置するキャラデザイナー本人の技術力
そしてもう一つは……魅力的なパーツの組合せを発見する優れたアルゴリズム、そしてそれを実現する、私たちだけが持つ強力な脳の力である

~謝辞~

本論文執筆の際、沢山の人のツール・知見・資料が役立ちました。感謝申し上げます。

<ツール>
株式会社ワークマン
カスタムオーダーメイド3D2 ©KISS

<論文>

[1]Scott Kirkpatrick et. al. Optimization by Simulated Annealing. 1983, Science 220(4598), 671-680
[2]Bence Nanay. The importance of amodal completion in everyday perception. 2018, i-Perception 9(4), 1-16
[3]Jordy Thielen et. al. Neuroimaging Findings on Amodal Completion: A Review. 2019, i-Perception 10(2), 204166951984004
[4]Yulia Lerner et. al. Object-completion effects in the human lateral occipital complex. 2002, Cerebral Cortex 12(2), 163-177
[5]Hiroshi Ban et. al. Topographic Representation of an Occluded Object and the Effects of Spatiotemporal Context in Human Early Visual Areas. 2013, Journal of Neuroscience 33(43), 16992-17007
[6]R. T. Pramod and S. P. Arun. Do Computational Models Differ Systematically from Human Object Perception? 2016, 2016 IEEE Conference on Computer Vision and Pattern Recognition, 1601-1609
[7]Adam Kortylewski et. al. Compositional Convolutional Neural Networks: A Deep Architecture with Innate Robustness to Partial Occlusion. 2020, Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 8940-8949
[8]Qian Zhang et. al. Removal and Recovery of the Human Invisible Region. 2022, Symmetry 14(3), 531
[9]Cheng-Yen Hsieh et. al. TAO-Amodal: A Benchmark for Tracking Any Object Amodally. 2023, Preprint of arXiv:2312.12433
[10]David Silver et. al. Mastering the game of Go with deep neural networks and tree search. 2016, Nature 529, 484-489.
[11]Kunihito Hoki. Optimal control of minimax search results to learn positional evaluation. 2006, Preprint of 11th Game Programming Workshop in 2006, 78-83
[12]Florian Perdreau and Patrick Cavanagh. Do artists see their retinas? Frontiers in Human Neuroscience, 2011, Vol. 5(171), 1-8
[13]Gordon David Plotkin. Call-by-name, call-by-value and the lambda-calculus. 1975, Theoretical Computer Science 1(2), 125-159
[14]Hans J. Berliner, Some necessary conditions for a master chess program. 1973, Proceedings 3rd International Joint Conference on Artificial Intelligence in 1973, 77-85
[15]Taku Takahashi. A Study on the Prevention of Overlooking Drawing Mistakes by Partially Covering Illustration. Meiji University, 2021, Master's Thesis.
[16]Takuma Mori et. al. Proposal of Movie CAPTCHA Method Using Amodal Completion. 2012, IEEE/IPSJ International Symposium on Applications and Internet 11-18
[17]Enjellina et. al. A Review of AI Image Generator: Influences, Challenges, and Future Prospects for Architectural Fiel. 2023, Journal of Artificial Intelligence in Architecture 2(1), 53-65
[18]Robin Rombach et. al. High-Resolution Image Synthesis with Latent Diffusion Models. 2021, Preprint of arXiv:2112.10752
[19]David Silver et. al. Mastering the game of Go without human knowledge. 2017, Nature 550, 354-359

<その他資料、ウェブページなど>

京都大学研究グループ(山本洋紀様、江島義道様、番浩志様、福山秀直様、花川隆様)
https://www.kyoto-u.ac.jp/ja/archive/prev/news_data/h/h1/news6/2013_1/131023_3

明治大学総合数理学部 先端メディアサイエンス学科 中村聡史研究室卒業生 高橋 拓様
https://dl.nkmr-lab.org/papers/135

「NNUE評価関数」 那須悠様
https://www.apply.computer-shogi.org/wcsc28/appeal/the_end_of_genesis_T.N.K.evolution_turbo_type_D/nnue.pdf

電気通信大准教授 伊藤 毅志様
公立はこだて未来大学特命教授 松原 仁様
https://www.jstage.jst.go.jp/article/jjsai/31/3/31_441/_pdf

大阪大学大学院情報科学研究科 寄附講座教授 梅谷 俊治様
https://www.slideshare.net/shunjiumetani/ss-32225124

この記事が気に入ったらサポートをしてみませんか?