『CGは数学でできている—映像数学の展望』(著:安生健一)

一冊散策| 2023.08.16
新刊を中心に,小社刊行の本を毎月いくつか紹介します.

はじめに

コンピュータグラフィックス (Computer Graphics ,以下 CG) は昨今の映画やゲームなどに見られるデジタル映像としてご存知の方も多いと思います.さまざまな情報を可視化するという意味でいえば,CG は今日の基本メディアといえるでしょう.一方で,「CG と数学にはどんな関係があるのか」については想像しにくいかもしれません.そもそも CG の研究とは何だろうか? と思われる方も多いでしょう.

本書は,数学と CG の両方に興味がある意欲的な読者を想定し,CG では何を研究して,どんな数学が駆使され,そしてどのような数理モデルが作られていくのかを,たくさんの映像事例とともに紹介します.多様な CG 表現を支える数学的概念や手法のことを,本書では映像数学と総称します.

本書を読むにあたっての予備知識としては大学理工系の 1, 2 年生の知識が望ましいですが,それより大切なのは CG や数学への好奇心です.CG 映像には馴染みがあっても,作り方はよくわからない人も多いでしょうから,本書では CG 制作の基礎から説明します.一方数学については厳密な定義や証明は出てきません.技術的細部に捉われることなく,読み進めてください.CG と数学の意外に (?) 深いつながりと,それがもたらす映像のインパクトをぜひ楽しんでいただきたいと思います.

ここで CG の歴史をごく大雑把に振り返ってみましょう.それによって CG の研究とは何かが見えてくると思うからです. CG という言葉が一般的になったのは近年のことですが,1950 年代からコンピュータを用いて機械設計や形状デザインの効率化を目指す技術開発が進みました.これらの技術群は CAD (Computer Aided Design) と呼ばれ,現在も進化し続けています.1960 年代には,その設計対象の表示技術として CG が存在しました.形や色の情報などが,すべて数値情報として入力されたときに,その対象がディスプレイに表示されるわけです.ただし当時は 2 次元の線画のモノクロ表示からのスタートでした.その後コンピュータ性能の驚異的な進歩に合わせるように,1970 年代から 1980 年代にかけて,光と影のビジュアルシミュレーションとしての CG の進化がありました.1980 年代には 1600 万色のカラーディスプレイが登場し,1980 年代後半には線光源や面光源なども考慮した,ぼやっとした半影の表現なども可能になりました.また人工物だけでなく,山や雲などの自然物もリアルな表現が可能となりました.ただし 1 枚の画像生成に当時の大型コンピュータで数時間を要する場合もありました.当時の CG としては, 1985 年に登場した『スーパーマリオブラザーズ』(任天堂) など,いわゆるドット絵の 2 次元デジタルゲームが一般に知られていました.まだ CG という言葉は専門用語であったかもしれません.

1990 年代に入ると,実在する建物などをリアルに表示するには,シミュレーション的手法だけでなく,コンピュータビジョン (Computer Vision , CV) の手法によって 2 次元の複数の画像情報を用いて,形,色,テクスチャ (表面の質感) を推定するイメージベースレンダリングと呼ばれる方法論が出てきました.これにより入力する形状モデル作成の労力が大幅に軽減されます.1999 年の映画『マトリックス』(ワーナー・ブラザーズ) の一部のシーンは,この方法を用いて作られました.CG と CV の融合と発展は,この頃から加速しました.1990 年代終わり頃から GPU (Graphics Processing Unit) が開発され, CG 特有の計算処理がチップ化され高速化されました.これにより高品質リアルタイム CG の実現という大きな研究テーマへとつながりました.一般の人々にとって,見て楽しむ CG から使える CG となるためには,リアルタイム性は不可欠です.

2000 年以降の CG は表示対象を広げつつ,エンターテイメントを越え,医療・広告・教育など,さまざまな分野に浸透してきました.また技術的には CV に分類されるかもしれませんが,2 次元の画像や線画情報から 3 次元情報を推定する手法がいろいろと開発され,AI やディープラーニングとの繫がりも出てきました.コンピュータのハードウェア・ソフトウェアの進化, CV や AI などの最先端技術との協働により, CG は発展し続けています.そして何より数学が,それを支えているのです.

本書は CG 技術の基礎から始めて,最先端の CG 研究事例までを紹介します.その際に重要な役割を担う数学の紹介と CG 研究での役割も述べます.もちろん CG も数学もそれぞれ扱う対象は実に多岐にわたります (数学は歴史も古く,CG とは比べものになりません!).ここでは各章を簡単に紹介しながら,本書で取り上げる CG 技術とそれを支える数学的アプローチを見てみましょう.

  • 第 1 章 CG やアニメのための簡単な数理モデル レンダリングやアニメーションの基本的考え方を中心に,CG や映像表現の基礎についてまとめます.
  • 第 2 章 トゥーンシェーディングの数理モデル 3 次元 CG で構築した世界をアニメ風にレンダリングする基本手法と,実用上の問題を紹介します.また記号的に用いるハイライト制御が困難となる問題がありますが,これに関する解決策としての数理モデルを紹介します.
  • 第 3 章 フォトリアリスティックレンダリング リアルな CG 画像生成の基礎となるレンダリング方程式とその基本的な解法を概説します.その応用として,周囲光を画像データとして与えた場合のイメージベースライティングと呼ばれる手法も紹介します.また近年急速な進展を遂げているディープラーニングの応用として,複数視点からの画像データをもとに,新たな視点からの画像生成を実現する手法も取り上げます.
  • 第 4 章 1 枚の画像から 3 次元の世界へ 1 枚の画像データを入力として,それから想像できる簡単な 3 次元シーンモデルを構築するためのユーザーインターフェース (User Interface,UI) について紹介します.数学的に高度なものは何も出てきませんが,言わば人間の想像力を引き出すインターフェースの例として紹介します.その後の CG 研究にも影響を与えている技術です.
  • 第 5 章 カメラと 4 元数とファイバーバンドル 仮想の 3 次元シーンを含む空間にカメラをセットし,そこから見える映像が CG ですが,この章ではこのカメラ制御がテーマです.カメラの回転を含む動きの制御に 4 元数やファイバーバンドル (ファイバー束) といった数学的概念が活躍するところを紹介します.
  • 第 6 章 形やテクスチャの特徴づけ 自然物や 3 次元計測技術を用いて得られた複雑な形状の特徴づけに関する 2, 3 の手法を紹介します.確率過程やエントロピーといった確率論・情報理論的な概念が,形の特徴づけに使われるところに数学的発想の面白さがあると思います.
  • 第 7 章 物理ベースのアニメーション アルマジロ (のような形のキャラクター) が飛び回ったり,空に拡がる雲の形を表現したりというところにも,リアリティを追求すれば微分方程式が使われます.作り手の意図と,自然法則に基づくリアリティの間でうまくバランスを取るアイデアを紹介します.
  • 第 8 章 キャラクターアニメーション 手描きのキャラクターの作り方から始めて,人間やキャラクター,あるいはその群集を 3 次元 CG で表すための基本手法を紹介します.この中には 1990 年代の AI 技術を用いたアニメーション手法も含まれます.後半はキャラクターの表面形状が骨格構造の変化に対応してどのように変形させるか,についての数理モデルを紹介します.特に動径基底関数 (Radial Basis Function,RBF) と呼ばれる一連の関数たちと,その数学的背景に触れます.
  • 第 9 章 フェイシャルアニメーション 人間の顔の細やかな表情や動作を CG で表すことは大変難しい挑戦的な課題です.本章では,この課題に対する数学的な取組みや,例えば実際の人間を計測してモデル化する技術や背景にある心理学的なアプローチも紹介します.後半では,フェイシャルアニメーションのスタンダードな手法の一つであるブレンドシェープを取り上げます.フェイシャルアニメーションに挑むアーティストセンスとブレンドシェープ技術のコラボレーションを具体的に紹介します.

これらの章のうちいくつかは,『数学セミナー』(日本評論社) 連載「CG につながる数学」(2009 年 4 月号〜9 月号),「続・ CG につながる数学」(2010 年 10 月号〜2011 年 3 月号) で取り上げた話題の中から,今後も基本的で重要な項目を選びました.各章の後半は単行本化に際して話題を追加し,記述を詳しくかつ読みやすくしました.第 5 章は『数学セミナー』2013 年 1 月号「単位 4 元数空間—コンピュータグラフィックスにおける被覆の応用」(特集「被覆のはなし」) から取っています.特に,第 1 章後半,第 3 章後半,第 6 章前半,第 8 章後半,第 9 章は今回書き下ろしました.また,やや専門的な数学用語については,必要となる章末のコラムに解説してあります.したがって本書は,上記『数学セミナー』の掲載内容をベースとしつつも,最新の話題を含んだ, CG と数学を語ったユニークな内容となっています.なお加筆あるいは書き下ろし部分は,陰に陽にリアルタイム CG 技術の発展の影響が大きいです.ただし本書ではリアルタイム CG のための GPU プログラミングについては割愛しています.むしろそのリアルタイム化を実現する上で脚光を浴びている数学的手法を取り上げました.

本書で取り上げた CG 技術のほとんどは,アニメーションへの適用例をみることでその真価がわかります.さいわいなことに今日では,それらのアニメーションは,インターネットを通じてみることができます.本書ではその URL も本文中に示してありますので,ぜひアニメーションをご覧いただきながら,読み進めてください.これは 10 年前ではまったくかなわなかったことです.筆者としては,大変良いタイミングで本書を出版することができたと考えています.

なお本書では,このような CG の問題にはこのような数学的手法が使われている,といった辞書的・網羅的な解説というより,表示対象を具体的に絞り込んだ上での技術的な課題と解決策,およびその数理的背景を述べています.また,例えば第 4 章のように,数学的には整理されていない,問題提起のような内容も含まれています.数学を専門とする方々,より深く数学的側面を知りたい方には,多くの文献を取り上げてありますので,それらを参考にしていただければ幸いです.では本論にはいりましょう.

2023 年 6 月

安生健一

目次

  • 第1章 CGやアニメのための簡単な数理モデル
    • 1.1 レンダリングと隠面処理
    • 1.2 局所シェーディングモデル
    • 1.3 テクスチャとマッピング
    • 1.4 キーフレームアニメーション
    • 1.5 CGにおけるスプライン補間
  • 第2章 トゥーンシェーディングの数理モデル
    • 2.1 アニメにおけるハイライトの役割
    • 2.2 アニメ風ハイライトのCG表現
    • 2.3 ハイライトアニメーション
  • 第3章 フォトリアリスティックレンダリング
    • 3.1 放射測定学からの基本的な用語
    • 3.2 物体表面での光の反射特性
    • 3.3 レンダリング方程式
    • 3.4 レンダリング方程式の解法
    • 3.5 イメージベースライティング
    • 3.6 NeRF:ディープラーニングを用いた画像生成
    • column A1 Hilbert空間
  • 第4章 1枚の画像から3次元の世界へ
    • 4.1 1枚の画像が語れること
    • 4.2 Tour Into the Picture (TIP)
    • 4.3 TIPと視覚世界
  • 第5章 カメラと4元数とファイバーバンドル
    • 5.1 3次元の回転
    • 5.2 単位4元数空間と回転表現
    • 5.3 CGにおける応用
    • column A2 ファイバーバンドル
  • 第6章 形やテクスチャーの特徴づけ
    • 6.1 形の特徴や複雑さを定量化する
    • 6.2 自然物をCGで表す
    • 6.3 シミュレーションやスケッチベース手法
  • 第7章 物理ベースのアニメーション
    • 7.1 物理ベースモデリングでリアルな動きを表す
    • 7.2 物理ベースモデリングvs.演出表現
    • 7.3 流体の演出表現
    • 7.4 シミュレーションと演出表現
  • 第8章 キャラクターアニメーション
    • 8.1 手描きキャラクターをモデル化する
    • 8.2 多関節構造体としての人間の表現
    • 8.3 群集表現から自律行動モデルへ
    • 8.4 スキニングとその数理
    • 8.5 RBFとその数学的背景
    • column A3 超関数について
  • 第9章 フェイシャルアニメーション
    • 9.1 顔の動きや表情の分析と生成
    • 9.2 ブレンドシェープへの直接操作

書誌情報など

関連ページ

  • 筆者のwebサイト内の紹介ページ.