あらいさん日記(仮)

あらい日記

活動の記録

偏光カメラで出来ること

概要

偏光を見ることで,通常のカメラでは得られない情報を獲得することができます.最近では偏光カメラが比較的安価に手に入るようになり,偏光イメージングの機運が高まっています.ここでは,偏光カメラで撮影した画像を使って,偏光イメージングの応用例を紹介します.

偏光の基礎

*ここでは直線偏光のみを考えています.

偏光の状態 

偏光と偏光板

偏光板を回転させたときに観測される輝度Iは次式のようなコサイン関数で表せられます.

 I(\upsilon) = \frac{I_{max}+I_{min}}{2} + \frac{I_{max}-I_{min}}{2} \cos(2\upsilon - 2\psi)

ここで\upsilonは偏光板の偏光角,I_{max}I_{min}は輝度の最大値と最小値,\psiは位相角です.

f:id:raccoon15:20200103182658p:plain

偏光板を通して観測される光の輝度

偏光の度合いを表す偏光度\rhoは次式で表せられます.完全偏光の場合は\rho=1,ランダム偏光の場合は\rho=0になります.

\rho=\frac{I_{max}-I_{min}}{I_{max}+I_{min}}

ストークスベクトル

偏光の状態はストークスベクトルsを用いて表すことができます.

s = \begin{pmatrix}s_{0} \\ s_{1} \\ s_{2}\end{pmatrix}=\begin{pmatrix}I_{max}+I_{min} \\ (I_{max}-I_{min})\cos2\psi \\ (I_{max}-I_{min})\sin2\psi \end{pmatrix}=(I_{max}+I_{min})\begin{pmatrix}1 \\ \rho\cos2\psi \\ \rho\sin2\psi \end{pmatrix}

s_{0}:光の輝度の合計.
s_{1}0^{\circ}方向の直線偏光成分.
s_{2}+45^{\circ}方向の直線偏光成分.

コサイン関数I(\upsilon)のパラメータI_{max}I_{min}\psiストークスベクトルsのパラメータs_{0}s_{1}s_{2}の関係は次式で表せられます.

I_{max} = \frac{s_{0} + \sqrt{s_{1}^{2} + s_{2}^{2}}}{2}I_{min} = \frac{s_{0} - \sqrt{s_{1}^{2} + s_{2}^{2}}}{2}\psi = \frac{1}{2} \tan^{-1}\frac{s_{2}}{s_{1}}

偏光の計測

偏光の状態を取得するためには,カメラの前に配置した偏光板を回転させながら複数枚撮影した画像(輝度値)からパラメータを推定します.非線形最小二乗法を用いてコサイン関数I(\upsilon)にフィッティングさせることにより求めることができますが計算コストが高いです.一方でストークスベクトルsは線形最小二乗法を用いてパラメータの推定ができるので高速に演算することができます.

偏光板の回転角度を\upsilon_{1},\upsilon_{2}, \cdots, \upsilon_{n}*1と変化させながら観測した輝度値がI(\upsilon_{1}),I(\upsilon_{2}),\cdots,I(\upsilon_{n})となるとき,ストークスベクトルとの関係を行列の形で表すと次式のようになります.

0.5\begin{pmatrix}1 \hspace{1ex} \cos2\upsilon_{1} \hspace{1ex} \sin2\upsilon_{1} \\ 1 \hspace{1ex} \cos2\upsilon_{2} \hspace{1ex} \sin2\upsilon_{2} \\  \vdots \hspace{4ex} \vdots \hspace{5ex} \vdots \hspace{3ex} \\ 1 \hspace{1ex} \cos2\upsilon_{n} \hspace{1ex} \sin2\upsilon_{n}\end{pmatrix} \begin{pmatrix}s_{0} \\ s_{1} \\ s_{2}\end{pmatrix}=\begin{pmatrix}I(\upsilon_{1}) \\ I(\upsilon_{2}) \\ \vdots \\ I(\upsilon_{n})\end{pmatrix}

この式を最小二乗法で解くことでストークスベクトルsのパラメータが求まります.

偏光カメラ

偏光カメラはイメージセンサーの前に0^\circ, 45^\circ, 90^\circ, 135^\circの偏光子が規則的に配置されており,ワンショットで4方向の偏光情報を撮影できます.Sonyは2018年から偏光イメージセンサーの量産を始めました.そのため,最近では偏光カメラが安価に手に入るようになってきています.

www.sony-semicon.co.jp

偏光の応用

偏光カメラ(FLIRのBFS-U3-51S5P-CSonyのIMX250MZRセンサーを搭載)を用いて撮影を行いました.

偏光度

黒いカメラを撮影しました.通常の撮影では暗くてわかりにくいですが,偏光度\rhoに注目するとカメラの領域だけがはっきりと見えます.影で暗くなっている部分とも見分けがついていることもわかります.

f:id:raccoon15:20191230024249p:plain
f:id:raccoon15:20191230024255p:plain
(左)元画像,(右)偏光度(DoLP)画像

偏光方向(面法線)

アボカドを撮影しました.位相角(0^\circ~180^\circ)の値をHSVで擬似カラー化して表しています.ランダム偏光の光が物体表面で反射すると,フレネル反射に従って反射光は偏光します.偏光した光の位相角や偏光度は光の入射角(=反射角)と関係があります.そのため,位相角や偏光度から反射面の法線方向を推定することができます(ただし曖昧性の問題があります).

f:id:raccoon15:20200102002922p:plain
f:id:raccoon15:20200102002926p:plain
(左)元画像,(右)位相角(AoLP)画像

応力・ひずみ

透明のプラスチックのスプーンを液晶ディスプレイ(面発光する偏光光源)の上に置いて,真上から撮影しています.通常では透明なスプーンですが,わずかな歪みが偏光に影響を与えています.

f:id:raccoon15:20191230232634p:plain
f:id:raccoon15:20191230232640p:plain
(左)元画像,(右)位相角+偏光度(AoLP+DoLP)画像

反射除去

池にいる鯉を撮影しました.水面の反射によって外の風景が映り込んでおり,鯉がはっきり見えない場所があります.I_{min}成分を取り出すと,水面の反射成分を除去できています.

f:id:raccoon15:20200103180050p:plain
f:id:raccoon15:20200103180053p:plain
(左)元画像,(右)反射除去(Imin)

拡散反射と鏡面反射成分の分離

シーンに対して完全直線偏光の光で照らしています.拡散反射成分はランダム偏光になるのに対して,鏡面反射成分は偏光が保たれます.そのため,2I_{min}は拡散反射成分,I_{max}-I_{min}は鏡面反射成分に対応しています.

f:id:raccoon15:20200104182500p:plain
f:id:raccoon15:20200104182506p:plain
f:id:raccoon15:20200104182509p:plain
(左)元画像,(中)拡散反射成分(2Imin),(右)鏡面反射成分(Imax-Imin)

プログラム

偏光カメラ(FLIR, BFS-U3-51S5P-C)で撮影した画像のデモザイキングやストークスベクトルの推定などを行うプログラムをGitHubに置いておきます.この記事に掲載している画像も一緒に置いています.

github.com

参考資料

*1:パラメータの数は3つなので最低3回の撮影が必要です(n>=3).また,偏光板の回転角度が同じだと不良設定問題になる場合があります.