球面調和関数の指数表現を用いたImage-Based Lightingの省メモリ高精度近似
2025年 10月 - 現在
1. 研究の背景と課題
リアルタイムグラフィックスにおける物理ベースレンダリング(PBR)では、実画像を光源として利用する Image-Based Lighting(IBL) が広く用いられています。 一般的には Split-sum近似法 がデファクトスタンダードとして定着していますが、この手法は事前計算された事前積分テクスチャ(LUT)を保持する必要があり、メモリフットプリントが大きくなるという課題があります。

本研究では、このメモリ消費を劇的に削減するアプローチとして、球面調和関数の指数表現(Spherical Harmonic Exponentials: SHE) を用いた鏡面反射の近似手法に着目しています。SHEを用いることで、メモリ効率を極めて高く保ったままリアルタイムにIBL表現を行うことを可能にします。

2. 研究の取り組みと成果
■ 学部での取り組み(卒業研究)
従来のSHEを用いた近似手法は省メモリである一方、業界標準のSplit-sum法に比べて近似精度が劣るという課題がありました。 卒業研究ではこの近似精度の向上を目指し、反射の主方向特性である Dominant Direction の概念を取り入れることで、表面の「粗さ(Roughness)」が大きい(ザラザラした質感の)領域において精度改善を達成しました。
- ※本研究の成果は、映像表現芸術フォーラム2026(2026年3月) にて発表しました。



■ 修士研究での展望(現在進行中)
現在はさらに対応可能な質感の幅を広げ、レンダリング精度を高めるために、以下の2つの方向性からアプローチを模索しています。
- 異方性反射への拡張: 現状の等方性反射モデルから、ヘアライン加工された金属のような「異方性(Anisotropic)反射」へSHEの表現力を拡張する。
- 粗さが低い領域(滑らかな鏡面)における近似の改善: 粗さが小さく、ハイライトが極めて鋭く発生する鏡面に近い質感において、高周波信号を失わずに近似できる数理的手法の構築。
3. 技術的なアピールポイント(C++ / Eigen による実装)
本研究での技術的なアピールは、複雑な数式モデルを実際のレンダリングアルゴリズムに正確に落とし込む実装力にあります。
① C++とEigenを用いた数理フィッティングプログラムの作成
- 球面調和関数の指数表現を用いて反射をフィッティングする数理計算プログラムをC++で一から自作しました。
- 複雑な行列演算を実行するため、行列演算ライブラリ Eigen を採用し、数理アルゴリズムを実装しました。
② Pybindを用いた「Mitsuba 3」への研究手法の統合
- シンプルな球のレンダリングだけではなく、様々なマテリアルを持つ複数のオブジェクトが存在する、複雑なシーンでも本手法を検証可能にするため、Mitsuba 3 への移植・統合を行いました。
- 移植にあたってはPythonスクリプトによる単純な拡張ではなく、C++とPythonをシームレスに繋ぐ Pybind(Pybind11) を用いたバインディング手法を採用。C++側のネイティブな計算パフォーマンスを維持したまま、Mitsuba 3のランタイムシステムとの連携を実現しました。
- Pybindを介した効率的なレンダリングパイプラインを構築するため、描画に必要な法線・粗さ・深度等の中間情報を格納する G-bufferの生成・出力機能を持つカスタム・インテグレータ を新規に実装。これにより、高度な物理ベースレンダリング環境下でも提案手法を正確に描画・評価できるシステムを確立しました。
③ 移植の整合性を保証するデバッグ・検証プログラムの開発
- 自身のCPPのプログラムから Mitsuba 3 へのレンダリングロジックの移植が数理的・視覚的に完璧に行われているかを厳密に検証するため、専用の比較デバッグプログラムを自作しました。
- 「ノーマルマップ画像の生成」、「ピクセルごとの差分比較画像の生成」、「外れ値が生成された場合のパラメータのログ出力システム」。これらのプログラムによってプラットフォーム間の移植に伴うバグを解決しました。
④ 研究プロセスを効率化する比較・視覚化ツールの開発
- レンダリング結果の比較分析やイテレーション速度を向上させるため、検証工程を効率化するプログラムを作成しました。
- 粗さパラメータ順にレンダリング画像を自動整列・結合して1枚のシミュレーション結果シートにまとめるツールを作成。
- 提案手法の出力と Ground Truth(正解画像)との間のピクセル誤差を視覚的に直感評価するため、誤差をカラースケールで可視化するヒートマップ比較機能を実装。このツールにより、試行錯誤における定量的評価のプロセスを大幅に効率化しました。
【開発環境】
本研究におけるレンダリング検証では、研究室で教授から引き継いだパストレーサーの基盤コードをベースとして活用しています。 基礎となるコードに、「SHEによるフィッティングアルゴリズム」と「得られた係数を用いたレンダリングパイプライン」の新規研究部分のロジックを追加しています。