本記事は『データサイエンスの無駄遣い 日常の些細な出来事を真面目に分析する』の「CHAPTER3 電子デバイスを駆使して強制的に感情移入できる漫画を作る」から抜粋したものです。掲載にあたって一部を編集しています。
死んだ魚のような目ではなく嗚咽を漏らしながら漫画を読みたい
私は人前や対人関係で感情的になることはほぼないが人前でなければ高頻度で泣く。
映画を観ても小説を読んでもドキュメンタリーを観ても泣くし、盆踊り会場でありもしない幻の記憶へのノスタルジーで泣く。
感動的なスポーツの瞬間を何度もYouTubeで観て泣くし、自分がこうなったらいいなという成功イメージを妄想しても泣く。
漫画は感情移入すればするほど面白い。泣く必要はないかもしれないがストーリーのプロットを追うだけではなくキャラクターと同化するように読みたいものだ。
しかし得てして漫画は移動中や隙間時間に読まれることが多いのではないだろうか。漫画を読んで嗚咽を漏らしたり地団駄を踏んだり胸を掻きむしったという人の話を聞くよりも、満員電車の中で死んだ魚のような目で流れ作業をこなすようにスマホをスワイプして読んでいる人を目にする機会のほうが多い。
そこで本稿では、Raspberry Pi、Node.js、心拍センサ、Google Cloud Visionとカメラモジュールを用いて「漫画のキャラクターと読者の感情を強制的に同期させる装置」、“Emotion Sync System”を作成した(図3.1)。
本システムは、感情を“心拍数”と“表情”の組み合わせと仮定し、漫画のキャラクターと読者の間で心拍数と表情がマッチするたびにストーリーが進行するシステムとなる。逆に言うとシーンごとの漫画のキャラクターの表情・心拍数と読者の表情・心拍数が一致しない限り次のコマに進まないことで強制的に感情移入を促すものである。
読者の感情のセンシングと判定
図3.1において画面左に現在の漫画のコマが表示される。そのコマにおける漫画のキャラクターの心拍数と表情はあらかじめシーンごとに想定で設定しておく。一方、読者の心拍数は心拍センサを用いてリアルタイムに測定し、読者の表情はカメラモジュールによる撮影画像をGoogle Cloud Visionで画像解析した結果を用いる。これらの処理を、Raspberry PiおよびNode.jsで制御しリアルタイムにWebブラウザで可視化した(図3.2)。
図3.1の画面右上には漫画のキャラクターと読者の心拍数の推移、右下にはキャラクターの表情と感情、およびカメラモジュールによる読者の表情および画像解析の結果判定された感情が示されている。
・Raspberry Pi
カメラモジュールによる読者の表情撮影および心拍センサによる読者の心拍数をリアルタイムに取得するために使用。
・Node.js
Raspberry Piに接続した各種モジュール・センサの制御および取得したセンサデータをWebブラウザにリアルタイムに送信し処理するために使用。
・Google Cloud Vision API
Googleが提供する画像認識API。今回は「FACE DETECTION」という表情判別機能を使用。Raspberry Piのカメラで撮影した画像をNode.js経由でGoogle Cloud Vision APIに送信し、表情判定結果をWebブラウザに戻す(図3.2)。
データサイエンティストたちの喜怒哀楽を題材にした漫画で検証
“Emotion Sync System”の真価を検証するために、本稿用に私自ら『データサイエンティストたちの黙示録』という31ページの漫画を描き下ろした。何を隠そう、私は高校生までは漫画家になりたくて少年誌に漫画を投稿していたのである(図3.3)。
本作は“Emotion Sync System”検証用のため、特にキャラクターの感情の浮き沈みを激しくしている。31ページの短いストーリーの中で不条理なことが頻発するが努力は最終的に報われる。また、こと感情移入に関して重要なことはリアリティであると思われるため、ストーリーを支えるセリフやサブプロットにおいては周りのデータサイエンティストたちへの取材から得られた実体験から着想を得ている(図3.4)。そのため一部の層に刺さりすぎる内容となっているが、あくまでフィクションである。実際の人物・団体にはいっさい関係がない。
心を揺さぶる(揺さぶらないと進まない)読書体験
それでは動作検証していく。まずは「ライバル社が驚愕のリリースを出した」というシーンだ(図3.5)。表情と心拍数を爆発させよう。
次に「上司に不条理に詰められる」シーン(図3.6、図3.7)。大人なので感情は抑えつつ心拍数を上げよう。
今度は「自分的にはそこまで大したことをやっていないつもりだが、周囲には思ったよりも好評で戸惑いつつも自己承認欲求が満たされる」シーンだ(図3.8、図3.9)。はにかみ具合が肝となる。
以上、自ら体験してみた結果として言えることは、表情はともかく心拍数の上げ下げにかなりの体力を消耗する。スクワットは手軽に狭いスペースで心拍数を調整することができるので積極的な活用を検討されたい。
しかしそのようなシステムのハックとも思えるようなことを通してでも表情や心拍数を一致させながらストーリーを読んでいくと後追いで感情がついてくるということはあり得るように感じた。我々は感情が主体でそれに伴って表情や身体の変化が起きると考えがちだが、普段から意識的によく笑う人は気持ちも前向きになるということだろう。人知れずよく泣くものの日中はデフォルト半笑いで過ごす私は、それゆえ、生煮えのような感情を抱きながら今を生きている。
本書ではこのあと、Raspberry Piの使い方、Node.jsを用いたアプリケーション開発、Socket.ioを用いた通信方法などを詳細に解説しています。