球面調和関数を用いたライトプローブの周波数特性の定量化
2020/12 大原正和(豊橋技術科学大学 情報・知能工学専攻)
2020/12 大原正和(豊橋技術科学大学 情報・知能工学専攻)
ライトプローブというのは上下左右全方位の360度パノラマ写真のことで、物体を照らす照明環境と言い換えることができる。物体表面の見た目はライトプローブ(環境照明)に左右される。物体が光沢や透明特性をもつ場合、その影響は決定的ですらある。そのため、どの角度からどのような光が届いているのかを分析することは、目に届く画像の解析を行うのと同様に重要である。近年の研究では、ライトプローブの「空間周波数特性」によって、物体の質感に関する心理量を説明する場合があることも知られている (Xia et al., 2017, Zhang et al., 2019, Norman et al., 2020)。
一般的な二次元画像と異なり、全天球画像であるライトプローブには二次元フーリエ変換などの単純な周波数解析は適応できない。そこで用いられる解析手法が球面調和解析(Spherical harmonic analysis)である。本ページでは球面調和関数を用いたライトプローブの輝度の空間周波数特性の算出法を説明する。Matlabソースコードも付録する。球面調和関数自体は難解であり、一から理解しようとすると多大なリソースを割く恐れがある。そこで、本ページでは球面調和関数の説明は最低限に抑え、ライトプローブの空間周波数解析への利用法を説明する。
全天球画像を平面に引き伸ばした画像を解析する。全天球画像とは球体の内側に周囲の景色を貼り付けたような画像である。一部スマホやTHETA(RICOHの全天球カメラ)でも撮影できる。平面への引き伸ばしは世界地図の正距円筒図法と同じである。
ライトプローブは輝度情報を持っている。球体に貼り付けるようにしてCG空間に適用すると、『太陽がある向きは明るい』ような自然な照明環境になる。
二次元画像の周波数解析の定番手法として二次元フーリエ変換がある。しかし、球面を平面に引き伸ばすと画像の上下は大きく左右方向に引き伸ばされてしまう。また、両端は本来連続しているはずである。これらの変更点は周波数特性を変えてしまう。よって、球面の画像では球面調和関数を用いて周波数特性を解析するほうが適切である。
※f(θ,φ)...極角 (Polar angle)θ、方位角 (Azimuth angle)φにおけるライトプローブの輝度
球面調和関数を用いると、ライトプローブの輝度f(θ,φ)を個々の次数lと位数mの球面調和関数Yl,mとその係数fl,mの足し合わせとして表現できる(Doerschner et al., 2007, Mury et al., 2009, Adams et al., 2018)。
グレースケール画像は球面調和関数Yl,mを可視化したもの。
つまり、球面調和関数を用いてライトプローブf(θ,φ)を記述することは、f(θ,φ)を空間周波数(Yl,m)とその強さ(fl,m)ごとに分解して記述することである。
次数lは大きくなるとより高周波の成分となる。位数は方向を表す。よって、ある次数(周波数帯域)の強さだけに興味があるのであれば、すべての位数を足し合わせればよい。具体的にはパワーとして係数の二乗和の平方を計算すればよい。つまりパワーdlは次にように表せる(Murry et al., 2007, Norman et al., 2020)。
ちなみに、fl,mは以下の式で求まる。輝度分布と球面調和関数とsinを掛けて積分するだけでよい。これは球面調和関数が互いに直交であるから可能らしい。
各次数におけるdlを算出することで、最終的には以下のようなライトプローブの周波数特性のグラフが描ける。横軸の次数0は平均輝度、1以降は照明の空間分布の度合を表す。
縦軸はdl、横軸は次数を表す。次数は無限大であるが、このグラフでは0~10次まで計算された6つの異なるライトプローブ(右画像)の結果がプロットされている。
例として一様グレー画像と周期の異なる3つのsin波の画像の解析結果を示す。一様グレー画像においては周期的な輝度成分の変化が無いため、平均輝度に対応する0次のパワーのみが発生している。3つのsin波(2pi, 4pi, 6pi)の解析では周波数が高くなると、より高次の次数(1, 3, 5)のパワーが大きくなる。
上記のボタンをクリックし、SphericalHarmonicAnalysisフォルダをダウンロードしてください。
※ダウンロードできない場合は "ohara.masakazu.tr[アットマーク]tut.jp" にメールしてください。
使い方
解析したい正距円筒図法の画像をLightProbesフォルダにコピーする
解析したい画像が.hdrか.pngか.bmpに応じてコメントアウトする行を変更する
HdrSwitchの値を変更する(.hdr画像を解析するときは1、それ以外の形式の画像のときは0)
MaxLの値を計算する次数の最大値に設定する
セクションを実行する
上の画像では6枚の.hdr画像がLightProbesフォルダにコピーされており、2. 3.が.hdr画像の解用に設定されている。また、計算する次数は10次までに設定されている。
解析する画像の数や大きさ、MaxLの値によって多大な計算時間を要する場合がある。計算時間の一例を次の計算時間の例に示す。
初期設定でプログラムを実行すると上図が出力される。横軸は次数を表し、縦軸はそのパワー(dl)を表す。画像のファイル名がそのまま凡例となる。
下記のスペックのPCで、上述のMatlabコードに含まれるennis.hdrを解析したときの計算結果を示す。10次までで40分程度かかった。次数を増減した場合と合わせて図に示す。球面調和関数は次数が増えるにつれ位数が同数増えるので、計算する関数の数は1/2*n(n+1)個、おおよそ次数の2乗で計算時間が伸びる。
参考文献リスト
Xia, L., Pont, S. C., & Heynderickx, I. (2017). Light diffuseness metric Part 1: Theory. Lighting Research and Technology, 49(4), 411–427. https://doi.org/10.1177/1477153516631391
Zhang, F., de Ridder, H., Barla, P., & Pont, S. (2019). A systematic approach to testing and predicting light-material interactions. Journal of Vision, 19(4), 11. https://doi.org/10.1167/19.4.11
Norman, J. F., Todd, J. T., & Phillips, F. (2020). Effects of illumination on the categorization of shiny materials. Journal of Vision, 20(5), 2. https://doi.org/10.1167/jov.20.5.2
Free Probes\illuminated tools, http://illuminatedtools.com/freeprobes/
Doerschner, K., Boyaci, H., & Maloney, L. T. (2007). Testing limits on matte surface color perception in three-dimensional scenes with complex light fields. Vision Research, 47(28), 3409–3423. https://doi.org/https://doi.org/10.1016/j.visres.2007.09.020
Mury, A. A., Pont, S. C., & Koenderink, J. J. (2009). Structure of light fields in natural scenes. Applied Optics, 48(28), 5386–5395. https://doi.org/10.1364/AO.48.005386
Adams, W. J., Kucukoglu, G., Landy, M. S., & Mantiuk, R. K. (2018). Naturally glossy: Gloss perception, illumination statistics, and tone mapping. Journal of Vision, 18(13), 4. https://doi.org/10.1167/18.13.4
Mury, A. A., Pont, S. C., & Koenderink, J. J. (2007). Light field constancy within natural scenes. Applied Optics, 46(29), 7308–7316. https://doi.org/10.1364/AO.46.007308