(57)【要約】偏光画像取得部（１００）は主軸が互いに異なる偏光素子（１０１）を通して被写体を撮影する。入射面特定部（１０７）は画素毎に入射面を特定し、入射角算出部（１０８）は画素毎に入射角を算出する。分類部（１０９）は入射面及び入射角が類似である画素同士をクラスタリングする。反射成分分離部（１１０）は、クラスタリングされた各画素集合に対して、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して、反射成分分離を行う。
2007029446.tif 000002
【特許請求の範囲】
【請求項１】
被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通してカメラにより複数画像、撮影するステップと、
前記撮影した複数の画像から、鏡面反射が生じている画素群について、画素毎に、入射面を特定するステップと、
前記撮影した複数の画像から、前記画素群について、画素毎に、入射角を算出するステップと、
前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成するステップと、
前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離するステップとを備えた
ことを特徴とする画像処理方法。
【請求項２】
請求項１に記載の画像処理方法において、
前記入射面特定ステップは、
前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、
前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射面を特定するステップとを備えた
ことを特徴とする画像処理方法。
【請求項３】
請求項１に記載の画像処理方法において、
前記入射角算出ステップは、
前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、
前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射角を算出するステップとを備えた
ことを特徴とする画像処理方法。
【請求項４】
請求項２又は請求項３に記載の画像処理方法において、
前記法線ベクトル算出ステップは、
既知である前記被写体の３次元形状データを用いて、撮影した前記画像における被写体の見えを基に、カメラ座標系における前記被写体の３次元位置及び３次元姿勢を推定するステップを備え、
推定した前記被写体の３次元位置及び３次元姿勢を用いて、前記画素群の画素毎に、被写体の法線ベクトルを算出するものである
ことを特徴とする画像処理方法。
【請求項５】
請求項１に記載の画像処理方法において、
前記入射面特定ステップは、撮影した前記画像の数が３以上のとき、
前記画素群の画素毎に、前記偏光素子の主軸角度に対する輝度値変化の位相を検出するステップを備え、
検出した位相から、入射面を特定するものである
ことを特徴とする画像処理方法。
【請求項６】
請求項５に記載の画像処理方法において、
前記入射角算出ステップは、
前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、
前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射角を算出するステップとを備え、
前記法線ベクトル算出ステップは、撮影した前記画像の数が３以上のとき、
前記入射面特定ステップにおいて前記画素群の画素毎に特定した入射面を画像平面に射影した方向の、第１の２次元分布を算出するステップと、
既知である被写体の３次元形状モデルを用いて、カメラ座標系における被写体の３次元位置及び３次元姿勢を仮定し、仮定した前記３次元位置及び３次元姿勢を有する前記３次元形状モデルを射影した画像平面における画素毎に入射面を計算し、前記計算した入射面を画像平面に射影した方向の、第２の２次元分布を算出するステップと、
前記第１及び第２の２次元分布同士をマッチングさせることにより、前記被写体の３次元位置及び３次元姿勢を決定するステップと、
決定した前記被写体の３次元位置及び３次元姿勢を基に、前記画素群の画素毎に、被写体の法線ベクトルを算出するステップとを備えたものである
ことを特徴とする画像処理方法。
【請求項７】
請求項１に記載の画像処理方法において、
前記入射面特定ステップの後に、
前記画素群について、入射面が類似している画素同士を暫定的にクラスタリングして、少なくとも１つの画素集合を形成する暫定クラスタリングステップを実行し、
その後、前記反射成分分離ステップを、前記暫定クラスタリングステップで形成された各画素集合において、実行し、
その後、前記入射角算出ステップ、前記クラスタリングステップ、および前記反射成分分離ステップを、所定回数、繰り返し実行するものであり、
前記入射角算出ステップは、
前回実行された反射成分分離ステップによって得られた拡散反射成分を用いて、前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、
前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射角を算出するステップとを備えたものである
ことを特徴とする画像処理方法。
【請求項８】
請求項１に記載の画像処理方法において、
撮影した前記画像の数が３以上のとき、
前記画素群中の注目画素について、前記偏光素子の主軸角度に対する前記鏡面反射成分の輝度値変化から、当該輝度値の最大値と最小値を算出し、
前記最大値と前記最小値との比の値及び、前記入射角算出ステップにおいて算出した前記注目画素における入射角から、前記被写体の屈折率を算出するステップをさらに備えた
ことを特徴とする画像処理方法。
【請求項９】
請求項１に記載の画像処理方法において、
撮影した前記画像の数が３以上のとき、
前記画素群中の注目画素について、前記偏光素子の主軸角度に対する前記鏡面反射成分の輝度値変化から、当該輝度値の最小値を算出し、
前記最小値が予め定めた第１の閾値より小さいとき、前記入射角算出ステップにおいて算出した前記注目画素における入射角はブリュースタ角であると判断し、このブリュースタ角から、前記被写体の屈折率を算出するステップをさらに備えた
ことを特徴とする画像処理方法。
【請求項１０】
請求項１に記載の画像処理方法において、
撮影した前記画像の数が３以上のとき、
前記画素群中の注目画素について、前記偏光素子の主軸角度に対する前記鏡面反射成分の輝度値変化から、当該輝度値の最大値と最小値を算出し、
前記最小値が予め定めた第２の閾値以上であるときは、前記最大値と前記最小値との比の値及び、前記入射角算出ステップにおいて算出した前記注目画素における入射角から、前記被写体の屈折率を算出するステップをさらに備えた
ことを特徴とする画像処理方法。
【請求項１１】
被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通して撮影する偏光画像取得部と、
前記偏光画像取得部によって、主軸方向が互いに異なる偏光素子を通して撮影された複数の画像から、鏡面反射が生じている画素群について、画素毎に、入射面を特定する入射面特定部と、
前記複数の画像から、前記画素群について、画素毎に、入射角を算出する入射角算出部と、
前記画素群について、前記入射面特定部により特定された入射面及び前記入射角算出部により特定された入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成する分類部と、
前記分類部により形成された各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離する反射成分分離部とを備えた
ことを特徴とする画像処理装置。
【請求項１２】
被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通して撮影した複数の画像を取り込んで、当該複数の画像から、鏡面反射が生じている画素群について、画素毎に、入射面を特定する処理と、
前記複数の画像から、前記画素群について、画素毎に、入射角を算出する処理と、
前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成する処理と、
前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離する処理と
をコンピュータに実行させる画像処理プログラム。
【請求項１３】
被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通してカメラにより複数画像、撮影するステップと、
前記撮影した画像から、屈折率が一様であり、かつ、局所領域において光学的に滑らかである領域を特定するステップと、
前記撮影した複数の画像における前記領域から、鏡面反射が生じている画素群について、画素毎に、入射面を特定するステップと、
前記撮影した複数の画像における前記領域から、前記画素群について、画素毎に、入射角を算出するステップと、
前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成するステップと、
前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離するステップとを備えた
ことを特徴とする画像処理方法。
【請求項１４】
請求項１３に記載の画像処理方法において、
前記被写体は、人の顔であり、
前記領域特定ステップは、眼の領域、または眼鏡のレンズの領域を、前記領域として特定するものである
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、偏光フィルタを通して被写体を撮影した画像において、拡散反射成分及び鏡面反射成分を、両者の確率的独立性を利用して分離する方法に関し、特に、一般の照明環境において反射成分分離を可能とする技術に属する。
【背景技術】
【０００２】  物体からの反射光は、鏡面反射成分と拡散反射成分の２成分の和として表現できる。この２成分による反射は、非特許文献１において、２色性反射モデル（ｄｉｃｈｒｏｍａｔｉｃ  ｒｅｆｌｅｃｔｉｏｎ  ｍｏｄｅｌ）として提案されている。鏡面反射成分は、物体表面と空気層の間の境界で反射される光であり、拡散反射成分は、物体表面を通過して物体内部に入射した光が色素により反射を繰り返して再び空気中に戻ってきた光である。【０００３】  対応点探索や照度差ステレオ等の画像処理アルゴリズムの多くは拡散反射を前提にしており、鏡面反射は多くの画像処理アルゴリズムの性能低下要因となる。このため、鏡面反射成分と拡散反射成分を分離する技術が数多く提案されてきた。【０００４】  鏡面反射成分と拡散反射成分とを分離する手法では、（Ａ）反射光の色特性を利用するもの、（Ｂ）鏡面反射の偏光特性を利用するもの、の２方式が数多く提案されてきた。【０００５】  （Ａ）は、被写体が誘電体の場合に、拡散反射光は物体色を反映し、鏡面反射光は照明色を反映することから、色ベクトルの違いを利用して両反射成分を分離するものである。しかしながら、物体色と照明色が類似している場合や、他の物体が相互反射により映り込んでいる場合には、うまく分離できないという問題がある。また、被写体が金属の場合には、金属の種類によってはフレネル係数の波長依存性が大きく、鏡面反射光と照明光の色ベクトルが一致しないため色特性を利用した分離方法を適用できない。【０００６】  一方、（Ｂ）は、鏡面反射成分が多くの場合偏光しており、拡散反射成分が殆どの場合非偏光とみなせることを利用して両反射成分を分離するものである。偏光を利用した方式としては、非特許文献２、非特許文献３、特許文献１、特許文献２等が提案されている。これらの手法は偏光を用いた方法であるため、色特性を用いる方法とは異なり、照明色及び物体色に依存しないで処理が行い得るという利点がある。【０００７】  非特許文献２では、ガラスの表面で反射する光がガラスを通過してくる光よりも強く偏光していることを利用して、カメラに取り付けた偏光フィルタを回転させながら取り込んだ複数の画像から各画素の輝度最小値を求めることにより、ガラスに映り込んだ像とその背後にある物体からの像とを分離している。しかしながら、ガラスに映り込んだ像が良好に分離できるのは、ガラスへの入射角がブリュースタ角に近い場合のみである。【０００８】  非特許文献３では、カメラに取り付けた偏光フィルタを回転させながら取り込んだ複数の画像において、画素毎に、輝度最小値及び最大値を求め、それらの比を基にフレネル係数の平行成分・垂直成分の比を推定して、入射角がブリュースタ角以外でも被写体からの鏡面反射光と拡散反射光を分離している。しかしながら、鏡面反射が存在する領域では拡散反射成分が一定であるという仮定を用いており、拡散反射によるテクスチャがある被写体には適用できない。【０００９】  特許文献１では、照明側とカメラ側の両方に偏光フィルタを使用する。照明光を直線偏光させ、カメラ側に取り付けた偏光フィルタを回転させながら取り込んだ複数の画像において、画素毎に輝度最小値を求め、それらの最小値で構成さ���る画像を拡散反射画像として記録するものである。この手法は、照明光が完全に偏光している場合、その鏡面反射光は入射角によらず完全に偏光する性質を利用している。しかしながら、この手法は完全偏光の照明以外からの鏡面反射光を取り除くことが出来ないので、無光沢・黒色の遮光箱内で利用しており、一般的な環境では使用することができない。【００１０】  特許文献２では、鏡面反射成分と拡散反射成分間には確率的独立性があることを仮定して、偏光フィルタを通して撮影した複数の画像から両反射成分を分離する。この手法は、非特許文献２とは異なり、ブリュースタ角以外でも反射成分分離が可能であり、また非特許文献３とは異なり、拡散反射によるテクスチャがある被写体にも適用可能であり、さらに特許文献１とは異なり、照明を偏光させる必要がない。【００１１】  この特許文献２の方法について以降説明を行うが、その前に物体からの光の反射と偏光について一般的な説明を行っておく。【００１２】  先に触れた２色性反射モデルによれば、物体からの反射光は、拡散反射成分と鏡面反射成分の２成分の和で表現される。拡散反射成分Ｌｄｉｆｆは（数１）で表されるＬａｍｂｅｒｔｉａｎモデルで表現されることが多い。
【数１】
2007029446.tif 000003
【００１３】  ここで、Ｌｉは入射光の強度であり、θｉは入射角、κｄｉｆｆは物体の拡散反射率である。この拡散反射成分は、殆どの場合非偏光とみなすことができる。【００１４】  一方、鏡面反射成分Ｌｓｐｅｃは（数２）で表されるＴｏｒｒａｎｃｅ−Ｓｐａｒｒｏｗモデルで表現されることが多い。
【数２】
2007029446.tif 000004
【００１５】  ここで、ＬｉはＬａｍｂｅｒｔｉａｎモデルの時と同じく入射光の強度であり、θｒは物体表面の法線と視線方向のなす角度であり、αは鏡面反射を形成するマイクロファセットの法線方向と物体表面の法線方向とのなす角であり、σαは物体表面の粗さを表すパラメータである。また、Ｆは反射エネルギについてのフレネル係数であり、マイクロファセットへの入射角θ’ｉ及び２つの媒質の屈折率η１，η２の比である相対屈折率ηに依存する。媒質が誘電体の場合は実数となり、以後ｎで表す。Ｇは幾何減衰率であり、マイクロファセットによる入射光の遮蔽（ｍａｓｋｉｎｇ）、反射光の遮蔽（ｓｈａｄｏｗｉｎｇ）の影響を表す。ｃは拡散反射と鏡面反射の比率を表す定数である。【００１６】  この鏡面反射成分は、光の入射面に対して平行な成分と垂直な成分に対するフレネル係数が異なることにより偏光する。平行成分と垂直成分に対する、反射エネルギについてのフレネル係数は、それぞれ（数３）、（数４）のようになる。
【数３】
2007029446.tif 000005
【数４】
2007029446.tif 000006
【００１７】  ここで、θ”ｉはマイクロファセットに関する屈折角であり、Ｓｎｅｌｌの法則から（数５）が成り立つ。
【数５】
2007029446.tif 000007
【００１８】  ここで、ｎ１及びｎ２は、それぞれ、入射側の媒質１の屈折率，屈折側の媒質２の屈折率である。以後は、屈折率ｎ２とｎ１との比を相対屈折率ｎで表す。【００１９】  図２６に相対屈折率ｎ＝１．６の場合の、入射面に対する平行成分と垂直成分に対するフレネル係数のグラフを示す。【００２０】  以上から、非偏光である入射光に対する反射光の強度Ｌｒは（数６）のように表すことができる。ここで、Ｌ’ｓｐｅｃは、（数２）で表される鏡面反射成分Ｌｓｐｅｃから、フレネル強度反射率の項を除いたものである。
【数６】
2007029446.tif 000008
【００２１】  偏光フィルタを通して物体からの反射光を観測した場合、その強度は、偏光フィルタを通過する前の反射光のうち、偏光フィルタの主軸に平行な成分の強度となる。偏光フィルタを回転させながら物体からの反射光を観測した場合、その強度は偏光フィルタの主軸の角度に応じて、図２７のようにｓｉｎ関数的に変化する。図２６が示すように、殆どの入射角において、反射光の入射面に対する垂直成分は平行成分よりも大きくなる。よって、観測される鏡面反射成分強度は、偏光フィルタの主軸が入射面に平行な場合（偏光フィルタの主軸と入射面のなす角ψが０ｒａｄの時）に最小となり、垂直な場合（偏光フィルタの主軸と入射面のなす角ψがπ／２ｒａｄの時）に最大となる。また、拡散反射成分は、非偏光とみなすことができるので偏光フィルタの主軸方向によらず一定である。【００２２】  Ｔｏｒｒａｎｃｅ−Ｓｐａｒｒｏｗモデルにおいては、入射光が物体表面上のマイクロファセットにより反射されることで鏡面反射が生じているとされている。即ち、観測画像の各画素における鏡面反射成分の入射面及び局所入射角は、光源方向とカメラ視線方向によって決定され、物体表面の法線方向とは独立である。【００２３】  特許文献２の方法は、光源が十分遠くにあり、カメラモデルとして正射影モデルを仮定している。この場合には、図３３のように、撮影画像における、鏡面反射を生じる全画素において入射面と局所入射角が同一であるとみなすことができる。ここで、「入射面が同一である」とは、図５のような、注目している画素に対応する入射面を画像平面に投影した方向が、鏡面反射を生じている画素について全て等しいことを表すものとする。また、同時に、物体の屈折率が一様であると仮定している。これらの仮定の下では、物体に対応する全画素のフレネル係数が同一となり、偏光フィルタを回転させたときの鏡面反射の輝度値変化は、全画素において同位相となる。【００２４】  ここで、Ｉｄ，Ｉｓ，Ｉをそれぞれ拡散反射画像ベクトル、鏡面反射画像ベクトル、観測画像ベクトルとすると、（数７）の関係が成り立つ。尚、ベクトルＩｄ，Ｉｓ，Ｉは、いずれも画素数分の次元数を持つ列ベクトルである。ｆ（ψ）は、偏光フィルタの主軸と入射面がなす角度ψの関数（スカラー）である。
【数７】
2007029446.tif 000009
【００２５】  これらの関係を図示すると、図２８のようになる。観測画像ベクトルは、ｆ（０）Ｉｓとｆ（π／２）Ｉｓの範囲で増減することになる。異なった主軸を持った偏光フィルタを介して、複数、例えば２枚の画像ベクトルＩ１，Ｉ２を観測した場合、図２９に示すように、その差（Ｉ１−Ｉ２）から、鏡面反射画像ベクトルＩｓの方向が得られる。よって、この差のベクトルに適当な定数ｋを乗じて観測画像ベクトルから減じれば、拡散反射画像ベクトルＩｄが得られる。【００２６】  特許文献２の方法は、拡散反射画像ベクトルＩｄと鏡面反射ベクトルＩｓとの間の確率的独立性を仮定し、両ベクトルと係数ｆ（ψ）を得ている。具体的には、
（１）観測された複数の画像行ベクトルを要素に持つ行列を、最大階数分解を利用して積の形に分解する。
（２）任意の２×２正則行列を導入し、拡散反射画像ベクトル候補と鏡面反射画像ベクトル候補を仮決定する。
（３）両者の相互情報量を評価することにより、相互情報量が最小（確率的独立性が最大）となる拡散反射画像ベクトル、鏡面反射画像ベクトル、係数ｆ（ψ）行列を推定値として採用する。
【特許文献１】特開平１１−４１５１４号公報
【特許文献２】特許第３４５９９８１号公報
【非特許文献１】Ｓ．Ｓｈａｆｅｒ，″Ｕｓｉｎｇ  ｃｏｌｏｒ  ｔｏ  ｓｅｐａｒａｔｅ  ｒｅｆｌｅｃｔｉｏｎ  ｃｏｍｐｏｎｅｎｔｓ″，Ｃｏｌｏｒ  Ｒｅｓｅａｒｃｈ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，ｖｏｌ．１０，ｎｏ．４，ｐｐ．２１０−２１８，１９８５
【非特許文献２】岩瀬正樹，山村毅，田中敏光，大西昇，「映り込み分離カメラシステム」，電子情報通信学会論文誌Ｄ−ＩＩ，Ｖｏｌ．Ｊ８１−Ｄ−ＩＩ，Ｎｏ．６，ｐｐ．１２２４−１２３２，１９９８年６月
【非特許文献３】Ｌ．Ｂ．Ｗｏｌｆｆ，″Ｕｓｉｎｇ  Ｐｏｌａｒｉｚａｔｉｏｎ  ｔｏ  Ｓｅｐａｒａｔｅ  Ｒｅｆｌｅｃｔｉｏｎ  Ｃｏｍｐｏｎｅｎｔｓ″，Ｐｒｏｃ．ＩＥＥＥ  Ｃｏｎｆ．ＣＶＰＲ，ｐｐ．３６３−３６９，１９８９
【発明の開示】
【発明が解決しようとする課題】
【００２７】  特許文献２の方法では、図３３のように、平行光光源（光源が十分遠くにある状態と等価）を仮定し、同時に、カメラモデルとして正射影モデルを仮定している。しかしながら、我々が普段生活をしている一般環境おいては、平行光の仮定は殆ど成り立たない。屋外においては、晴天の太陽光は平行光とみなせるものの、曇天の場合は空全体が拡散面光源の状態となり平行光とみなすことができない。また、室内においては、ある程度の大きさを持った照明器具が近距離にある場合や、複数の照明器具が存在する場合は平行光とみなすことができない。また、屋外又は室内において、相互反射が存在する場合は平行光とみなすことができない。【００２８】  図３０は、図３１に示す環境下で、なめらかな表面を持つゴム製の球体を撮影した画像である。図３１から分かるように、被写体のゴム球の左側方及び上方に蛍光灯照明が設置されている。図３０においては、図３１の蛍光灯照明Ａから、鏡面反射領域１が、蛍光灯照明群Ｂの一部から鏡面反射領域２が、被写体のゴム球上に生じている。これらの鏡面反射は異なる方向からの照明によって生じており、照明環境全体では平行光とみなすことはできないので、カメラ前に設置した偏光フィルタを回転させたときの鏡面反射の輝度値変化が全画素において同位相にならない。図３０の小領域１及び小領域２における、カメラ前の偏光フィルタ角度に対する輝度値変化のグラフを図３２に示す。偏光フィルタは、ある基準方向を０度とし、１８０度まで１０度間隔で回転させた。領域１と領域２とでは、輝度値の位相がほぼ逆転していて、同位相にならないため、特許文献２の方法では、このような照明環境下において鏡面反射を分離できない。【００２９】  前記の問題に鑑み、本発明は、一般の照明環境においても、偏光フィルタを通して被写体を撮影した画像から拡散／鏡面反射成分を分離することを課題とする。
【課題を解決するための手段】
【００３０】  本発明は、被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通して撮影した複数の画像から、鏡面反射が生じている画素群について、画素毎に入射面を特定するとともに、入射角を算出し、前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つ以上の画素集合を形成し、前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離するものである。【００３１】  本発明によると、鏡面反射が生じている画素群について、画素毎に、入射面及び入射角を求めた後、両者がそれぞれ類似している画素同士をクラスタリングし、クラスタリングされた各画素集合において、確率的独立性を用いた反射成分分離を行う。すなわち、任意の照明下で撮影した画像において、様々な入射面および入射角の鏡面反射光が混在している場合であっても、入射面及び入射角の両方が類似している画素同士がクラスタリングされ、クラスタリングされた各画素集合において反射成分分離が行われる。このため、入射面及び入射角が画素毎にまちまちであっても、反射成分分離を精度良く実行することが可能となる。したがって、一般的な照明環境にて撮影された画像においても拡散反射成分及び鏡面反射成分を分離することができる。【００３２】  ただし、確率的独立性を用いた反射成分分離が可能となるためには、各画素集合において、被写体の屈折率が略一定であることが必要となる。また、被写体が、撮影画像の一画素に対応する局所領域において光学的に滑らかであるとき、一画素内で、入射面および入射角が一定とみなすことができるので、反射成分分離がより精度良く実行可能となる。【００３３】  図３４は、ある入射面において、非平行光の環境下で生じた鏡面反射光が中心射影のカメラに入射する様子を示している。図３４では、入射角でクラスタリングを行った結果、（ア）、（イ）、（ウ）の３通りに分類できたことを示している。（ア）、（イ）、（ウ）のそれぞれで確率的独立性を用いた反射成分分離を行うことで、拡散反射成分と鏡面反射成分を分離することができる。
【発明の効果】
【００３４】  本発明によると、一般の照明環境においても、偏光フィルタを通して被写体を撮影した画像から拡散／鏡面反射成分を分離することができる。
【図面の簡単な説明】
【００３５】
【図１】図１は、本発明の第１の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図２】図２は、本発明の第１の実施形態に係る画像処理方法を示すフローチャートである。
【図３】図３は、本発明の第１の実施形態における偏光フィルタの主軸方向を示す図である。
【図４】図４は、本発明の各実施形態における座標系を説明する図である。
【図５】図５は、鏡面反射の入射面を画像平面に射影してできる直線（入射面方向）を示す図である。
【図６】図６は、鏡面反射の入射面を画像平面に射影してできる入射面方向を表現する角度を説明する図である。
【図７】図７は、入射面方向の２次元分布を示す図である。
【図８】図８は、入射角の２次元分布を示す図である。
【図９】図９は、本発明の第１の実施形態における、クラスタリング時の距離尺度を決定する関数の例を示すグラフである。
【図１０】図１０は、被写体が球体のときのクラスタリング結果を示す図である。
【図１１】図１１は、本発明の第１の実施形態の変形例に係る画像処理装置の構成例を示すブロック図である。
【図１２】図１２は、本発明の第１の実施形態の変形例に係る画像処理方法を示すフローチャートである。
【図１３】図１３は、本発明の第１の実施形態の変形例における偏光フィルタの主軸方向を示す図である。
【図１４】図１４は、鏡面反射を含む被写体上の領域を、偏光フィルタの主軸方向を変化させて観測した時の輝度値に、ｓｉｎ関数をフィッティングさせた結果を示すグラフである。
【図１５】図１５は、被写体の３次元姿勢及び３次元位置を決定するために、入射面方向の２次元分布を利用する様子を示した図である。
【図１６】図１６は、被写体の３次元姿勢および３次元位置の決定のため、入射面方向の２次元分布のマッチングを行う様子を示した図である。
【図１７】図１７は、本発明の屈折率推定方法を示すフローチャートである。
【図１８】図１８は、屈折率を推定する際に利用する、偏光フィルタ主軸角度と鏡面反射輝度値の関係を示すグラフである。
【図１９】図１９は、偏光素子の主軸と入射面のなす角度に対する輝度値変化について、（ａ）反射成分分離前と（ｂ）反射成分分離後（鏡面反射成分のみ）との場合について表したグラフの例である。
【図２０】図２０は、鏡面反射成分の最小値Ｉｓｍｉｎが閾値Ｔｈ２以上である場合の、偏光素子の主軸と入射面のなす角度に対する輝度値変化を表したグラフの例である。
【図２１】図２１は、鏡面反射成分の最小値Ｉｓｍｉｎが閾値Ｔｈ３未満である場合の、偏光素子の主軸と入射面のなす角度に対する輝度値変化を表したグラフの例である。
【図２２】図２２は、本発明の第２の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図２３】図２３は、本発明の第２の実施形態に係る画像処理方法を示すフローチャートである。
【図２４】図２４は、本発明の第２の実施形態において、反射成分分離までを行う様子を示した図である。
【図２５】図２５は、ｄｅｐｔｈ画像から法線を算出する方法の例を示す図である。
【図２６】図２６は、相対屈折率が１．６の場合のフレネル強度反射率を示すグラフである。
【図２７】図２７は、偏光フィルタ主軸角度と観測される輝度値の関係を示すグラフである。
【図２８】図２８は、平行光照明・正射影カメラモデルの下で屈折率一様の被写体を、偏光フィルタ主軸を変化させながら観測した場合の、画像ベクトルの変化範囲を示す図である。
【図２９】図２９は、平行光照明・正射影カメラモデルの下で屈折率一様の被写体を、２通りの偏光フィルタ主軸で観測した場合の、２つの画像ベクトル、拡散反射画像ベクトル、鏡面反射画像ベクトルの関係を示す図である。
【図３０】図３０は、複数方向に照明が存在する環境下で球状の被写体を撮影した画像である。
【図３１】図３１は、図３０の画像を撮影した照明環境を示す図である。
【図３２】図３２は、図３０の被写体の鏡面反射領域における、偏光フィルタ角度と観測輝度値の関係を示すグラフである。
【図３３】図３３は、特許文献２の方法が前提とする条件を図示した図である。
【図３４】図３４は、本発明において、入射角が等しい画素同士をクラスタリングした様子を示した図である。
【符号の説明】
【００３６】１００  偏光画像取得部
１０１  偏光素子
１０２  カメラ
１０６  法線算出部
１０７  入射面特定部
１０８  入射角算出部
１０９  分類部
１１０  反射成分分離部
【発明を実施するための最良の形態】
【００３７】  本発明の第１態様は、画像処理方法として、被写体を、主軸が互いに異なる偏光素子を通してカメラにより複数画像、撮影するステップと、前記撮影した複数の画像から、鏡面反射が生じている画素群について、画素毎に入射面を特定するステップと、前記撮影した複数の画像から、前記画素群について画素毎に入射角を算出するステップと、前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成するステップと、前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離するステップと、を備えたものを提供する。【００３８】  本発明の第２様態は、前記入射面特定ステップは、前記画素群の画素毎に被写体の法線ベクトルを算出するステップと、前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射面を特定するステップと、を備えた第１様態の画像処理方法を提供する。【００３９】  本発明の第３様態は、前記入射角算出ステップは、前記画素群の画素毎に被写体の法線ベクトルを算出するステップと、前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射角を算出するステップと、を備えた第１様態の画像処理方法を提供する。【００４０】  本発明の第４様態は、前記法線ベクトルを算出するステップは、既知である前記被写体の３次元形状データを用いて、撮影した前記画像における被写体の見えを基に、カメラ座標系における前記被写体の３次元位置及び３次元姿勢を推定するステップを備え、推定した前記被写体の３次元位置及び３次元姿勢を用いて、前記画素群の画素毎に、被写体の法線ベクトルを算出する第２様態又は第３様態の画像処理方法を提供する。【００４１】  本発明の第５様態は、前記入射面特定ステップは、撮影した前記画像の数が３以上のとき、前記画素群の画素毎に、前記偏光素子の主軸角度に対する輝度値変化の位相を検出するステップを備え、検出した位相から入射面を特定する第１様態の画像処理方法を提供する。【００４２】  本発明の第６様態は、前記入射角算出ステップは、前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射角を算出するステップとを備え、前記法線ベクトルを算出するステップは、撮影した前記画像の数が３以上のとき、前記入射面特定ステップにおいて前記画素群の画素毎に特定した入射面を画像平面に射影した方向の、第１の２次元分布を算出するステップと、既知である被写体の３次元形状モデルを用いて、カメラ座標系における被写体の３次元位置及び３次元姿勢を仮定し、仮定した前記３次元位置及び３次元姿勢を有する前記３次元形状モデルを射影した画像平面における画素毎に入射面を計算し、前記計算した入射面を画像平面に射影した方向の、第２の２次元分布を算出するステップと、前記第１及び第２の２次元分布同士をマッチングさせることにより、前記被写体の３次元位置及び３次元姿勢を決定するステップと、決定した前記被写体の３次元位置及び３次元姿勢を基に、前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、を備えた第５様態の画像処理方法を提供する。【００４３】  本発明の第７様態は、前記入射面特定ステップの後に、前記画素群について、入射面が類似している画素同士を暫定的にクラスタリングして、少なくとも１つの画素集合を形成する暫定クラスタリングステップを実行し、その後、前記反射成分分離ステップを、前記暫定クラスタリングステップで形成された各画素集合において、実行し、その後、前記入射角算出ステップ、前記クラスタリングステップおよび前記反射成分分離ステップを、所定回数、繰り返し実行するものであり、前記入射角算出ステップは、前回実行された反射成分分離ステップによって得られた拡散反射成分を用いて、前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射角を算出するステップとを備えたものである第１様態の画像処理方法を提供する。【００４４】  本発明の第８様態は、撮影した前記画像の数が３以上のとき、前記画素群中の注目画素について、前記偏光素子の主軸角度に対する前記鏡面反射成分の輝度値変化から、当該輝度値の最大値と最小値を算出し、前記最大値と前記最小値との比の値及び、前記入射角算出ステップにおいて算出した前記注目画素における入射角から前記被写体の屈折率を算出するステップをさらに備えた第１様態の画像処理方法を提供する。【００４５】  本発明の第９様態は、撮影した前記画像の数が３以上のとき、前記画素群中の注目画素について、前記偏光素子の主軸角度に対する前記鏡面反射成分の輝度値変化から、当該輝度値の最小値を算出し、前記最小値が予め定めた第１の閾値より小さいとき、前記入射角算出ステップにおいて算出した前記注目画素における入射角はブリュースタ角であると判断し、このブリュースタ角から前記被写体の屈折率を算出するステップをさらに備えた第１様態の画像処理方法を提供する。【００４６】  本発明の第１０様態は、撮影した前記画像の数が３以上のとき、前記画素群中の注目画素について、前記偏光素子の主軸角度に対する前記鏡面反射成分の輝度値変化から、当該輝度値の最大値と最小値とを算出し、前記最小値が予め定めた第２の閾値以上であるときは、前記最大値と前記最小値との比の値及び、前記入射角算出ステップにおいて算出した前記注目画素における入射角から前記被写体の屈折率を算出するステップをさらに備えた第１様態の画像処理方法を提供する。【００４７】  本発明の第１１様態は、画像処理装置として、被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通して撮影する偏光画像取得部と、前記偏光画像取得部によって、主軸方向が互いに異なる偏光素子を通して撮影された複数の画像から、鏡面反射が生じている画素群について画素毎に入射面を特定する入射面特定部と、前記複数の画像から、前記画素群について画素毎に入射角を算出する入射角算出部と、前記画素群について、前記入射面特定部により特定された入射面及び前記入射角算出部により特定された入射角の両方が類似している画素同士をクラスタリングして��少なくとも１つの画素集合を形成する分類部と、前記分類部により形成された各画像集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離する反射成分分離部と、を備えたものを提供する。【００４８】  本発明の第１２様態は、画像処理プログラムとして、被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通して撮影した複数の画像を取り込んで、当該複数の画像から鏡面反射が生じている画素群について画素毎に入射面を特定する処理と、前記複数の画像から、前記画素群について画素毎に入射角を算出する処理と、前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成する処理と、前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離する処理と、をコンピュータに実行させるものを提供する。【００４９】  本発明の第１３態様では、画像処理方法として、被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通してカメラにより複数画像、撮影するステップと、前記撮影した画像から、屈折率が一様であり、かつ、局所領域において光学的に滑らかである領域を特定するステップと、前記撮影した複数の画像における前記領域から、鏡面反射が生じている画素群について、画素毎に、入射面を特定するステップと、前記撮影した複数の画像における前記領域から、前記画素群について、画素毎に、入射角を算出するステップと、前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成するステップと、前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離するステップとを備えたものを提供する。【００５０】  本発明の第１４態様では、前記被写体は、人の顔であり、前記領域特定ステップは、眼の領域または眼鏡のレンズの領域を、前記領域として特定するものである第１３態様の画像処理方法を提供する。【００５１】  以下、本発明の実施の形態について、図面を参照して説明する。【００５２】  まず、本発明の実施時における、各種条件を説明する。【００５３】  照明は、平行光である必要はない。即ち、照明が複数あってもよいし、１つの照明は点光源でなく面光源であってもよい。他の被写体からの反射光は照明と見なすことができるので、他の被写体からの反射光も存在していてもよい。また、照明の分光特性や照明方向に関する知識も不要である。【００５４】  被写体は、屈折率が略一定であり、局所領域において光学的に滑らかな性質を持つとする。「屈折率が略一定」である必要性は、特許文献２と同様である。即ち、被写体の撮影時、鏡面反射を生じている各画素について、屈折率が略一定であり、かつ、鏡面反射の入射面および入射角が揃っている場合は、各画素におけるフレネル係数が略一定となり、確率的独立性を利用した鏡面反射分離が可能となる。ここで、屈折率は厳密に一定である必要はなく、フレネル係数が一定と見なせることができ、確率的独立性を利用した鏡面反射分離が可能となる程度に略一定であればよい。【００５５】  「局所領域において光学的に滑らか」であるとは、局所領域におけるマイクロファセットの法線がほぼ均一に揃っており、マイクロファセット法線と形状を表すマクロ法線が同一であるとみなせるということである。このような被写体上の鏡面反射が生じている局所領域を観測するとき、たとえ全周囲に面光源が存在したとしても、その局所領域の鏡面反射は一方向の入射光から生じているといえる。即ち、カメラを用いて鏡面反射を観測する場合、撮影画像での一画素に対応する被写体上の局所領域では、マイクロファセット法線方向が全て揃っており、その結果、鏡面反射の入射面と入射角が全て揃っているということである。但し、局所領域で滑らかである必要はあるが、大局的に滑らかである必要はない。すなわち、マクロ法線が空間的に不連続に変化するような、稜線（法線エッジ）が存在していても構わない。【００５６】  また、被写体の形状については、少なくとも鏡面反射が生じている領域におけるマクロ法線（＝マイクロファセット法線）方向を知る必要がある。以下、第１の実施形態では、既知の被写体の形状モデルを用いて、被写体の３次元位置および３次元姿勢を求めることにより、法線方向を求めている。第２の実施形態では、分離した拡散反射成分を用いてステレオ視を行い、ステレオ視から求めた法線方向を用いて反射成分分離を行う処理を繰り返すことにより、法線方向を求めている。【００５７】  カメラモデルに関しては、中心射影等の任意のモデルを用いることができる。【００５８】  表１に、本発明と特許文献２が前提とする各種条件の比較を示す。【００５９】
【表１】
2007029446.tif 000010
【００６０】  （第１の実施形態）
図１は本発明の第１の実施形態に係る画像処理方法を実行する画像処理装置の構成を示すブロック図である。この画像処理装置は、偏光画像取得部１００、フレームメモリ１０４、法線算出部１０５、形状データベース１０６、入射面特定部１０７、入射角算出部１０８、分類部１０９、反射成分分離部１１０を備えている。偏光画像取得部１００は、偏光素子１０１、カメラ１０２及び、制御部１０３を含む。【００６１】  また、図２は本発明の第１の実施形態に係る画像処理方法のフローチャートである。【００６２】  以下、図１のブロック図及び図２のフローチャートに従って、本実施形態に係る画像処理方法及び画像処理装置について説明する。【００６３】  まず、偏光画像取得部１００において、被写体の画像を撮影する（ＳＡ０）。【００６４】  制御部１０３は、偏光素子１０１の主軸方向の角度をＦ通り（本実施形態ではＦ＝２）変化させると共に、異なった主軸方向に対してそれぞれ画像を撮影するようにカメラ１０２の撮影タイミングを制御する。得られたＦ個の画像は、フレームメモリ１０４に格納される。本実施形態では、偏光素子１０１として直線偏光フィルタを使用し、直線偏光フィルタをモータ等により回転させることにより主軸の角度を変化させる。主軸角度は、図３のように０，π／２（ｒａｄ）の２通りを用いる。本画像処理装置は、これらの角度の値を知る必要はない。また、カメラ１０２として、鏡面反射の輝度が飽和しない露出条件において、鏡面反射の存在する画素での拡散反射のテクスチャが十分取得可能なダイナミックレンジ及び量子化ビット数を有するものを用いる。また、予め、カメラキャリブレーションにより、焦点距離、画像中心座標、撮像素子の画素ピッチ及びレンズ歪みの内部パラメータを算出しておく。これらのパラメータは、法線算出ステップＳＡ１で使用する。【００６５】  撮影された２枚の画像において、輝度値に予め定めた所定値以上の差が存在する画素には鏡面反射が存在すると判断する。２枚の撮影画像をＩ１（ｘ，ｙ），Ｉ２（ｘ，ｙ）とすると、（数８）のように、被写体上の注目画素位置（ｘｐ，ｙｐ）における輝度値Ｉ１（ｘｐ，ｙｐ），Ｉ２（ｘｐ，ｙｐ）に、所定値以上の輝度差Ｔｈ１が生じている場合に、画素位置（ｘｐ，ｙｐ）には鏡面反射が存在すると判断する。
【数８】
2007029446.tif 000011
【００６６】  尚、偏光素子１０１の主軸方向の角度が３通り以上の場合は、輝度変化に正弦（余弦）関数をフィッティングさせることで得られた振幅が所定値以上であることにより、鏡面反射が存在するか否かを判断できる。【００６７】  以下の処理では、鏡面反射が生じている画素群のみを処理対象とする。【００６８】  尚、特許文献２の方法ではカメラモデルとして正射影モデルを仮定していたが、本発明の場合は、偏光素子の入射角依存性がない場合、中心射影（透視投影）モデルも加えて使用可能である。例えば、有効入射角が±２０度の偏光素子を用いる場合、画角４０度までの中心射影カメラを用いることができる。【００６９】  ここでは、主軸角度として０，π／２のように直交する２軸を用いたが、観測される鏡面反射に輝度差が生じるような設定であれば、他の角度でもよい。【００７０】  ここでは、物理的に偏光フィルタを回転させることにより、複数の偏光画像を取得したが、例えば、特開平１１−３１３２４２号公報に開示されているような、液晶を利用した、電気的に主軸方向を制御可能な素子を用いても良い。また、「Ｊ．Ｄ．Ｂａｒｔｅｒ，Ｈ．Ｒ．Ｔｈｏｍｐｓｏｎ，ａｎｄ  Ｃ．Ｌ．Ｒｉｃｈａｒｄｓｏｎ：“Ｖｉｓｉｂｌｅ−Ｒｅｇｉｍｅ  ｐｏｌａｒｉｍｅｔｒｉｃ  ｉｍａｇｅｒ：ａ  ｆｕｌｌｙ  ｐｏｌａｒｉｍｅｔｒｉｃ，ｒｅａｌ−ｔｉｍｅ  ｉｍａｇｉｎｇ  ｓｙｓｔｅｍ”，Ａｐｐｌｉｅｄ  Ｏｐｔｉｃｓ−ＬＰ，Ｖｏｌ．４２，Ｎｏ．９，ｐｐ．１６２０−１６２８（２００３）」に開示されているように、複数の撮像素子、複数の偏光フィルタと、光路を分離するプリズムとを用いることにより、主軸方向の互いに異なる偏光フィルタを通した画像を、同タイミングで取得してもよい。また、「Ｊ．Ｇｕｏ，ａｎｄ  Ｄ．Ｂｒａｄｙ：“Ｆａｂｒｉｃａｔｉｏｎ  ｏｆ  ｔｈｉｎ−ｆｉｌｍ  ｍｉｃｒｏ  ｐｏｌａｒｉｚｅｒ  ａｒｒａｙｓ  ｆｏｒ  ｖｉｓｉｂｌｅ  ｉｍａｇｉｎｇ  ｐｏｌａｒｉｍｅｔｒｙ”，Ａｐｐｌｉｅｄ  Ｏｐｔｉｃｓ−ＯＴ，Ｖｏｌ３９，Ｎｏ．１０，ｐｐ．１４８６−１４９２（２０００）」で開示されているように、主軸方向の互いに異なる微小偏光フィルタを、撮像素子の各画素上に並べた構成を持つ、微小偏光板アレイを用いてもよい。【００７１】  次に、法線算出部１０５において、被写体上の法線方向を計算する（ＳＡ１）。本画像処理装置は、撮影対象となっている被写体の３次元形状に関する知識を有する（形状データベース１０６に予め記憶されている）ものとする。法線算出部１０５は、形状データベース１０６から被写体の３次元形状データを取得し、撮影画像における被写体の見え（ａｐｐｅａｒａｎｃｅ）から、被写体の３次元姿勢及び３次元位置を推定する。被写体が人間の目の角膜である場合の、見えから３次元位置及び３次元姿勢を推定する例が、「Ｋ．Ｎｉｓｈｉｎｏ  ａｎｄ  Ｓ．Ｋ．Ｎａｙａｒ：″Ｔｈｅ  Ｗｏｒｌｄ  ｉｎ  ａｎ  Ｅｙｅ″，ｉｎ  Ｐｒｏｃ．ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ  ＣＶＰＲ’０４，ｖｏｌ．Ｉ，ｐｐ４４４−４５１，Ｊｕｌ．，２００４．」に開示されている。見えから３次元位置及び３次元姿勢を推定できる被写体は限���れるが、そのような被写体であれば上記文献の手法を本発明に適用することが可能である。【００７２】  被写体の３次元姿勢及び３次元位置が推定されれば、被写体上の任意の位置において、カメラ座標系における単位法線ベクトルＮ＝（ｎＸ，ｎＹ，ｎＺ）が算出できる。以上の処理を、撮影画像において鏡面反射が存在している全画素について繰り返し、被写体の法線ベクトルＮを算出する。【００７３】  尚特殊な例であるが、被写体が図３０で表されるような球体であれば、輪郭線に円をフィッティングするだけで、撮像された球体の各画素において、カメラ座標系での法線ベクトルＮを算出可能である。【００７４】  次に、入射面特定部１０７において、被写体上の鏡面反射をカメラで観測している時の入射面を、鏡面反射が存在する画素毎に特定する（ＳＡ２）。予め求めておいた、焦点距離、画像中心座標、画素サイズ及びレンズ歪みの内部パラメータを用いて、まず、被写体上の注目画素での視線方向ベクトルＶを決定する。視線方向ベクトルＶの決定方法を、図４を用いて説明する。【００７５】  図４のように、カメラ座標系Ｏ−Ｘ−Ｙ−Ｚ，画像座標系Ｏｉ−ｘ−ｙを考える。カメラキャリブレーションにより求められた焦点距離をｆ、画像中心座標Ｏｉを（ｘｏ，ｙｏ）、ｘ方向，ｙ方向の画素ピッチをそれぞれｄｘ，ｄｙで表す。レンズ歪み、及び、撮像素子の設置ずれ（光軸と素子面が垂直でない等）は補正済であるとする。被写体上の点Ｐｏｂｊに対応する、注目画素Ｐｉの座標を（ｘｐ，ｙｐ）とすると、被写体上の点Ｐｏｂｊへの視線方向ベクトルＶは（数９）となる。
【数９】
2007029446.tif 000012
【００７６】  よって、点Ｐｏｂｊを観測したときの入射面は、視線方向ベクトルＶとステップＳＡ１で算出した法線ベクトルＮとを含む平面となる。この入射面を図５のように画像平面に射影すると、図６で表されるように角度φで入射面方向を表現することができる。ここで、方向のみを考慮し、向きは考慮しないので０≦φ＜πである。鏡面反射が存在している全画素について、以上の処理を行うと、図７のように入射面方向を表す角度φの２次元分布が得られる。【００７７】  次に、入射角算出部１０８において、被写体上の鏡面反射をカメラで観測している時の入射角を、鏡面反射が存在する画素毎に特定する（ＳＡ３）。ステップＳＡ１で算出した法線ベクトルＮと、ステップＳＡ２で算出した視線方向ベクトルＶから、（数１０）を用いて入射角θを算出する。入射角であるため０≦θ＜π／２である。鏡面反射が存在している全画素について、以上の処理を行うと、図８のように入射角θの２次元分布が得られる。
【数１０】
2007029446.tif 000013
【００７８】  次に、分類部１０９において、入射面と入射角の両方がそれぞれ類似している画素同士をクラスタリングして、少なくとも１つ以上の画素集合を形成する（ＳＡ４）。クラスタリング手法として任意の方法を用いることができるが、ここではｋ−ｍｅａｎアルゴリズムを用いる。まず、初期クラスタとして、φ−θの２次元空間内に、Ｃ個のクラスタ中心（φｃ０，θｃ０）を均等に配置する（ｃ＝０，…，Ｃ−１）。クラスタ数Ｃは、予備実験において事前に決定しておく。鏡面反射が生じている画素数をＫ個とすると、入射面方向φｋ及び入射角θｋを有するｋ番目の画素が属するクラスタ番号は、（数１１）を満たすｃｋｊとなる（ｋ＝０，…，Ｋ−１）。
【数１１】
2007029446.tif 000014
【００７９】  ここで、ｊはクラスタリング回数を表し、初回はｊ＝０である。（φｃｊ，θｃｊ）は、クラスタリングｊ回目のｃ番目のクラスタ中心を表す。λは、入射面に関する距離と入射角に関する距離の影響の強さを決定するパラメータであり、ここではλ＝１とする。また、関数ｄ（ｘ）は、図９で表されるように、ｘ＝±π／２のときに極大値をとり、ｘ＝０，±πのときに極小値０をとる関数である。Ｋ個の画素を全てＣ個のクラスタのどれかに属させた後は、クラスタ中心を更新（同時にｊをインクリメント）し、繰り返しクラスタリングを行う。全クラスタ中心の移動距離が予め定めた距離閾値よりも小さくなればクラスタリングを終了する。尚、クラスタリング回数ｊが予め定めた所定回数に達した場合にクラスタリングを終了するようにしてもよい。【００８０】  ここまでの処理で、鏡面反射が生じている画素において、入射面と入射角の両方がそれぞれ類似している画素同士は同じ集合にクラスタリングされる。被写体が図３０で表されるような球体であり、球体の全面に鏡面反射が生じている場合には、クラスタリング結果は図１０のようになる。尚、被写体の形状が球体のような単純な形状でない場合は、画素位置が互いに離れていても、入射面及び入射角の両方が類似している場合には、同一のクラスタに分類されることもありうる。【００８１】  次に、反射成分分離部１１０において、同一のクラスタに含まれる画素の集合毎に反射成分分離を行う（ＳＡ５）。同一のクラスタに含まれる画素同士は、入射面及び入射角がほぼ揃っているので、特許文献２の方法を用いることができる。特許文献２の方法は、特異値分解を利用しているが、一般的な独立成分分析の手法を用いることもできる。【００８２】  このように、入射面及び入射角がそれぞれ類似した画素同士にクラスタリングした後、確率的独立性を仮定した反射成分分離を行うことで、平行光以外の光源環境下でも反射成分分離が可能となる。【００８３】  反射成分分離を行うことで、拡散反射を利用する多くの画像処理アルゴリズムの前処理として利用可能である。また、物体の反射特性を計算機上に取り込み（ｍｏｄｅｌｉｎｇ）、見えを正確に再現する（ｒｅｎｄｅｒｉｎｇ）というＣＶ（Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ）／ＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）の分野において、ｍｏｄｅｌｉｎｇの第１ステップとしても利用可能である。【００８４】  特に、虹彩認証は、虹彩からの拡散反射光を入力として個人を同定する、画像処理・認識アプリケーションの１つである。虹彩画像の入力の際、角膜上で生じる、照明光の鏡面反射が、撮影画像における虹彩領域と重なることが課題の１つになっている。角膜表面はある程度の曲率を有しており、周囲に存在する広範囲の光源が映り込むため、照明位置を調整することにより映り込みを防止することは難しい。ここで、
１）角膜表面は涙の膜に覆われており、屈折率一様、局所的に光学的滑らかという両特徴を有すること
２）人間の角膜形状・大きさは個人に係らずほぼ一定であるため、予め形状モデルを用意しておくことが容易であること
３）角膜による鏡面反射は周囲の光源の分布により生じ、虹彩による拡散反射は虹彩自体の反射率から生じることから、両者の確率的独立性が仮定できる
ということから、角膜による鏡面反射分離に対して、本発明を適用できる。【００８５】  なお、虹彩認証の鏡面反射対策として、特開平９−２１２６４４号、特開平１０−１６２１４６号、特開平１１−２０３４７８号などの方法が提案されているが、これらは主に、虹彩撮影装置に備えられた照明（近赤外光ＬＥＤが多く用いられている）に対応するものである。屋外で虹彩認証を行う場合には、太陽光に近赤外成分が多く含まれ、太陽光に照らされた多くの物体が新たな光源としてほぼ全周囲から角膜表面に映り込むため、上記従来手法の適用が難しい。しかしながら、本発明は、このような屋外での虹彩認証に対しても適用可能である。【００８６】  なお、顔画像における眼（角膜）領域のように、全体の一部が、屈折率一様であり、かつ、光学的滑らかである被写体の場合は、前処理として、屈折率一様であり、かつ、光学的滑らかである領域を特定した後、特定した領域に対して本発明を適用すればよい。例えば、顔画像から眼領域を抽出する方法としては、虹彩認証や顔認証で用いられている既存の技術を利用することができる。【００８７】  すなわち、被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通してカメラにより複数画像、撮影し、この撮影した画像から、屈折率が一様であり、かつ、局所領域において光学的に滑らかである領域を特定する。そして、以降の処理は、この特定した領域について実行する。例えば、被写体が人の顔である場合、眼の領域を、屈折率が一様であり、かつ、局所領域において光学的に滑らかである領域として特定すればよい。【００８８】  また、顔画像認証において、眼鏡の着脱に対して認証を頑健にするために、色情報や形状情報から眼鏡フレーム領域を特定・除去し、除去された領域の周辺の色情報を用いて、除去された領域を補間することによって、眼鏡を着用していない顔画像を擬似的に生成する取り組みが行われている。このとき、眼鏡のフレーム領域は除去できるが、眼鏡のレンズ領域に映り込んだ周囲の像は色や形状が不定であるため特定・除去することができず、擬似的に生成された顔画像においてノイズとなってしまい、顔認証精度を低下させるという問題がある。そこで、特定された眼鏡のフレーム領域からレンズ領域をさらに特定し、レンズ領域に対して本発明を適用し鏡面反射成分を除去することによって、顔認証の精度をさらに向上させることが可能である。眼鏡のレンズは、局所的に光学的に滑らかであり、かつ、屈折率一様という条件を満たすと考えられるため、本発明を適用可能である。【００８９】  図１１は、第１の実施形態の変形例に係る画像処理方法を実行する画像処理装置の構成を示すブロック図である。この画像処理装置は、図１の入射面特定部１０７の代わりに、位相検出部１１１を備える。また、第１の実施形態の変形例に係る画像処理方法のフローチャートとして図１２を用いる。【００９０】  以下、図１１のブロック図及び図１２のフローチャートに従って、第１の実施形態の変形例に係る画像処理方法及び画像処理装置について説明する。【００９１】  まず、偏光画像取得部１００において、被写体の画像を撮影する（ＳＢ０）。制御部１０３は、偏光素子１０１の主軸方向の角度をＦ通り（本実���形態ではＦ＝４）変化させると共に、異なった主軸方向に対してそれぞれ画像を撮影するようにカメラ１０２の撮影タイミングを制御する。得られたＦ個の画像は、設定された主軸方向の角度情報と共に、フレームメモリ１０４に格納される。本実施形態では、偏光素子１０１として直線偏光フィルタを使用し、直線偏光フィルタをモータ等により回転させることにより主軸の角度を変化させる。主軸角度は、図１３のように０，π／４，π／２，３π／４（ｒａｄ）の４通りを用いる。【００９２】  次に、位相検出部１１１にて、撮影された画像の画素毎に入射面を特定する（ＳＢ１）。フレームメモリ１０４に格納されたＦ（＝４）枚の画像から、画素位置（座標）毎に輝度値変化の位相を検出する。図１４は、ある画素位置において、偏光フィルタを回転させて観測した４個の輝度値をｓｉｎ関数にフィッティングさせた結果である。同図における白抜きの四角のプロットは、それぞれ、偏光フィルタの主軸を０，π／４，π／２，３π／４（ｒａｄ）の４通りに設定した時の輝度計測値（ｚｉ；ｉ＝１，２，３，４）である。実線は、輝度計測値ｚｉを（数１２）のｓｉｎ関数にフィッティングさせたものである。
【数１２】
2007029446.tif 000015
【００９３】  ｓｉｎ関数へのフィッティングは、計測値ｚｉと（数１２）の関数との自乗誤差が最小となる基準で算出した。即ち、（数１３）を最小化するようなパラメータＡ，Ｂ，φを求める。ここで、Ｆ＝４であり、θ１＝０，θ２＝π／４，θ３＝π／２，θ４＝３π／４である。
【数１３】
2007029446.tif 000016
【００９４】  （数１３）を最小化するには（数１４）を満たせばよい。（数１２）からも分かるように（数１４）は非線形連立方程式であるため、ここでは非線形最適化法の１つであるＬｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法を用いる。Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法の詳細は、「Ｊ．Ｊ．Ｍｏｒｅ：″Ｔｈｅ  Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ  Ａｌｇｏｒｉｔｈｍ：Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ａｎｄ  Ｔｈｅｏｒｙ，″ｉｎ  Ｇ．Ａ．Ｗａｔｓｏｎ（ｅｄ．），Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｍａｔｈｅｍａｔｉｃｓ  ６３０，Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，Ｂｅｒｌｉｎ，１９７８，１０５−１１６．」に記載されているため説明を省略する。
【数１４】
2007029446.tif 000017
【００９５】  図２７で説明したように、鏡面反射をカメラで観測している場合、カメラ前方に設置した偏光素子の主軸を回転させて観測される輝度値はｓｉｎ関数的に変化する。よって、偏光素子の主軸角度とｓｉｎ関数の輝度値変化の関係（数１２における位相φ）から、入射面を画像平面に投影した方向が特定できることになる。図５は、ある画素位置において鏡面反射を観測している場合の図である。特定した入射面を画像平面に投影すると、方向に関する情報が得られる。方向を表現するために、位相φ（０≦φ＜π）を用いることができる。図１４のような輝度値変化が観測できず輝度値がほぼ一定である画素に対しては、その画素には鏡面反射が生じていないと判断し、位相φの情報を以降の処理に用いない。輝度値がほぼ一定であるかどうかは、例えば、（数１５）のように（数１２）における振幅Ａが予め定めた閾値Ｔｈよりも小さいかどうかで判断できる。
【数１５】
2007029446.tif 000018
【００９６】  次に、法線算出部１０５において、被写体上の法線方向を計算する（ＳＢ２）。本画像処理装置は、撮影対象となっている被写体の３次元形状に関する知識を有するものとする。法線算出部１０５は、形状データベース１０６から被写体の３次元形状データを取得し、撮影画像における被写体の見え（ａｐｐｅａｒａｎｃｅ）から、カメラ座標系における被写体の３次元姿勢及び３次元位置を推定する。３次元姿勢及び３次元位置が推定されれば、被写体上の任意の位置において、カメラ座標系における単位法線ベクトルＮ＝（ｎＸ，ｎＹ，ｎＺ）が算出できる。以上の処理を、撮影画像において鏡面反射が存在している全画素について繰り返し、被写体の法線ベクトルＮを算出する。【００９７】  本実施の形態では、被写体の３次元姿勢及び３次元位置を推定するために、被写体の見えに加えて、被写体の表面法線ベクトルと視線方向ベクトルとを含む面である、入射面を画像平面に射影した方向（図５）の２次元分布を利用する。図１５に示すように、ステップＳＢ１にて偏光素子を用いて実測した入射面を画像平面に投影した方向の２次元分布Ａが得られている場合について考える。被写体の３次元形状データを用いて、カメラ座標における３次元姿勢及び３次元位置を仮定すれば、照明方向が不明でも入射面が定義でき、入射面を画像平面に射影した方向の２次元分布Ｂが得られる。３次元姿勢および３次元姿勢は、６次元ベクトルｘで表現することができる。【００９８】  この２次元分布Ａと２次元分布Ｂが一致するように、カメラ座標における３次元姿勢及び３次元位置ｘを更新すればよい。３次元姿勢及び３次元位置ｘを決定すれば、被写体上の法線が算出できる。【００９９】  図１６を用いて、入射面を画像平面に射影した方向の２次元分布Ａ、Ｂの一致度算出の様子を説明する。座標（ｉ，ｊ）における方向φについて、偏光素子を用いて実測したＡと３次元姿勢および３次元位置ｘを仮定して得られたＢが存在している場合、対応する座標（ｉ，ｊ）での方向φの類似度ｓｉ，ｊは（数１６）で表現できる。
【数１６】
2007029446.tif 000019
【０１００】  （数１６）を用いると、０≦ｓｉ，ｊ≦１であり、２つの方向φＡ，φＢのなす角が０の時はｓｉ，ｊ＝１，直交する時は類似度ｓｉ，ｊ＝０となる。【０１０１】  ２次元分布Ａ，Ｂ同士の一致度は、（数１６）を用いて（数１７）で表すことができる。ここで、Ωは、実測した画像について鏡面反射が生じている座標（ｉ，ｊ）の集合である。
【数１７】
2007029446.tif 000020
【０１０２】  （数１７）が最大となるような、３次元姿勢および３次元位置ｘを求めた後、被写体上の法線を算出する。【０１０３】  被写体上の法線が算出できた場合、以降の処理は、第１の実施形態と同様にできる。【０１０４】  尚、ここでは異なる主軸を持った偏光素子を通して撮影した画像の個数をＦ＝４としたが、サンプリング定理からＦ≧３であればよい。【０１０５】  本実施の形態では、第１の実施形態よりも３次元位置および３次元姿勢の推定のために利用できる情報が多くなるため、それらの推定が容易になるという利点がある。【０１０６】  （屈折率の推定）
本発明は、さまざまな方向から入射する照明光が、さまざまな法線を持った被写体で鏡面反射を生じる場合でも鏡面反射成分と拡散反射成分を分離することができる。換言すれば、さまざまな入射角で生じた鏡面反射を分離することができる。この分離結果を利用して、屈折率は被写体に関して略一様であるという前提の下で、被写体の物理特性の一つである屈折率を推定可能である。この屈折率は画素単位で推定できるため、画素単位で推定した値の平均値や中間値を算出することで、より確からしい推定が可能になる。【０１０７】  屈折率を推定することにより、非接触で物質の種類を推定することができる。また、屈折率は被写体の鏡面反射特性を決定するフレネル係数を決定するため、物体の反射特性を計算機上に取り込み（ｍｏｄｅｌｉｎｇ）、見えを正確に再現する（ｒｅｎｄｅｒｉｎｇ）というＣＶ（Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ），ＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）に貢献することができる。【０１０８】  以下に、図１７のフローチャートを用いて屈折率推定方法を説明する。上述した本発明に係る反射成分分離を行って、既に鏡面反射成分と拡散反射成分が分離されているとする。【０１０９】  カメラの前方に設置した偏光素子の主軸方向を変化させて鏡面反射を含む画素を観測した場合、その輝度値は、主軸方向角度に対してｓｉｎ関数的に変化することを図２７にて説明した。図１８からも分かるように、偏光素子の主軸と入射面が直交しているとき輝度値は最大となる。この時、偏光素子を通過する前の輝度値における拡散反射成分をＩｄ，鏡面反射成分をＩｓとした場合、偏光素子を通して観測される輝度Ｉｍａｘは（数１８）で表される。ここで用いるＩｄ，Ｉｓは、（数７）で用いたベクトルＩｄ，Ｉｓとは異なりスカラーである。
【数１８】
2007029446.tif 000021
【０１１０】  ここで、Ｆｐ，Ｆｓはそれぞれ（数３）、（数４）で表される、反射エネルギについてのフレネル係数である。同様に、偏光素子の主軸と入射面が平行であるとき、輝度値は最小となり、この時、偏光素子を通して観測される輝度Ｉｍｉｎは（数１９）で表される。
【数１９】
2007029446.tif 000022
【０１１１】  異なる主軸を持った偏光素子を通して撮影した画像の個数Ｆが３以上であるとき、図１４のように、注目画素での輝度値変化にｓｉｎ関数をフィッティングさせることにより、観測される輝度値変化の最大値Ｉｍａｘ及び最小値Ｉｍｉｎを求めることができることについては既に述べた。本発明の反射成分分離方法を用いた後、同様にして、それぞれ（数２０），（数２１）で表される鏡面反射成分Ｉｓの最大値Ｉｓｍａｘ、最小値Ｉｓｍｉｎを求める（ＳＤ０）。
【数２０】
2007029446.tif 000023
【数２１】
2007029446.tif 000024
【０１１２】  図１９は、偏光素子の主軸と入射面のなす角度に対する輝度値変化について、（ａ）反射成分分離前と（ｂ）反射成分分離後（鏡面反射成分のみ）の場合について表したグラフの例である。【０１１３】  次に、最小値Ｉｓｍｉｎが予め定めた閾値Ｔｈ２以上であるかどうかを判定する（ＳＤ１）。閾値Ｔｈ２以上である場合は、以下のステップＳＤ２を実行する。【０１１４】  鏡面反射成分Ｉｓの最大値Ｉｓｍａｘ、最小値Ｉｓｍｉｎの比を計算すると（数２２）が得られる。
【数２２】
2007029446.tif 000025
【０１１５】  （数５）のスネルの法則を利用すると、鏡面反射成分の最大値と最小値の比は、マイクロファセットへの局所入射角θ’ｉ，相対屈折率ｎで表すことができる。被写体が光学的に滑らかである場合、局所入射角θｉ’とマクロ法線に関する入射角θｉは等しい。入射角θｉは画素毎に算出済であるため、鏡面反射を生じている画素位置毎に（数２３）を解くことにより、画素位置毎の相対屈折率ｎが算出できる。
【数２３】
2007029446.tif 000026
【０１１６】  ここで、入射角がブリュースタ角に近い画素位置の場合はフレネル係数Ｆｐが０に近づくため、鏡面反射成分の最小値Ｉｓｍｉｎが０に近づき、（数２３）の比の値は非常に大きくなり、相対屈折率ｎの推定誤差が大きくなるために、上記の処理は行わない。つまり、閾値Ｔｈ２は、１／Ｉｓｍｉｎを数値計算に用いることができるか否かを判断するための閾値であり、最小値Ｉｓｍｉｎが閾値Ｔｈ２よりも小さいときには、上記の処理は行わない。【０１１７】  図２０は、鏡面反射成分の最小値Ｉｓｍｉｎが閾値Ｔｈ２以上である場合の、偏光素子の主軸と入射面のなす角度に対する輝度値変化を表したグラフの例である。この例では、鏡面反射成分の最小値Ｉｓｍｉｎが閾値Ｔｈ２以上であるため、（数２３）の比の値が所定の精度で計算できる。【０１１８】  ステップＳＤ１にて閾値Ｔｈ２未満であった場合は、以下のステップＳＤ３以降を実行する。【０１１９】  まず、最小値Ｉｓｍｉｎが予め定めた閾値Ｔｈ３未満であるかどうかを判定する（ＳＤ３）。閾値はＴｈ３≦Ｔｈ２の関係を満たすものとする。ここで、Ｔｈ３＜Ｔｈ２とした場合は、最小値Ｉｓｍｉｎがさらに閾値Ｔｈ３よりも小さい場合が存在する。その場合（ステップＳＤ３にてＮｏの場合）は、現在注目している画素位置については、ステップＳＤ２及び、後述するステップＳＤ５の計算のそれぞれにおいて計算誤差が大きいと判断し、屈折率計算を行わない（ＳＤ６）。尚、Ｔｈ３＝Ｔｈ２とした場合において、ステップＳＤ１において閾値Ｔｈ２未満と判定されたときは、全て次のステップＳＤ４を実行する（ステップＳＤ３，ＳＤ６が省略される）。【０１２０】  ステップＳＤ３にて、最小値Ｉｓｍｉｎが予め定めた閾値Ｔｈ３未満であった場合、現在注目している画素の入射角はブリュースタ角であると判断する（ＳＤ４）。つまり、閾値Ｔｈ３は最小値Ｉｓｍｉｎが０（ゼロ）とみなすことができるか否かを判断する閾値である。【０１２１】  図２１は、鏡面反射成分の最小値Ｉｓｍｉｎが閾値Ｔｈ３未満である場合の、偏光素子の主軸と入射面のなす角度に対する輝度値変化を表したグラフの例である。この例では、鏡面反射成分の最小値ＩｓｍｉｎがＴｈ３未満であるため、現在注目している画素の入射角がブリュースタ角であると判断される。【０１２２】  そして、既に求められた、現在の注目画素における入射角θｉを利用して、（数２４）により相対屈折率ｎを算出する（ＳＤ５）。
【数２４】
2007029446.tif 000027
【０１２３】  媒質１が空気の場合、相対屈折率の値はそのまま媒質２（被写体）の屈折率となる。本実施の形態では、複数の画素位置において独立に屈折率を算出した。また、被写体の屈折率は略一様であるという仮定があるので、算出した複数の屈折率の中間値又は平均値を計算することも、屈折率をよりロバストに推定可能である。【０１２４】  （第２の実施形態）
図２２は、第２の実施形態に係る画像処理方法を実行する画像処理装置の構成を示すブロック図である。第１の実施形態及びその変形例で説明した、偏光画像取得部１００、偏光素子１０１、カメラ１０２、制御部１０３、フレームメモリ１０４、入射角算出部１０８、位相検出部１１１、分類部１０９、反射成分分離部１１０をそれぞれ２つずつ備えている。添え字ａ、ｂを用いて２組を区別する。また、法線算出部１０５を１つ備える。第２の実施形態に係る画像処理方法のフローチャートとしては、図２３を用いる。【０１２５】  以下、図２２のブロック図及び図２３のフローチャートに従って、第２の実施形態に係る画像処理方法及び画像処理装置について説明する。【０１２６】  まず、偏光画像取得部１００ａ，１００ｂのそれぞれにおいて、被写体の画像を撮影する（ＳＢ０）。それぞれにおける処理は、第１の実施形態の変形例におけるステップＳＢ０と同様である。すなわち、偏光画像取得部１００ａ，１００ｂにて、それぞれＦ（＝４）個ずつの画像を撮影する。偏光画像取得部１００ａ，１００ｂによって撮影された画像セットを、それぞれ、画像セットＡ，Ｂと呼ぶ。また、２台のカメラ１０２ａ、１０２ｂは、以降の法線算出ステップＳＣ４にてステレオ計測を行うために、予めカメラキャリブレーションを行っておくものとする。【０１２７】  次に、位相検出部１１１ａ，１１１ｂのそれぞれにおいて、撮影された画像セットＡ，Ｂの画素毎に入射面を特定する（ＳＢ１）。それぞれにおける処理も、第１の実施形態の変形例におけるステップＳＢ１と同様である。【０１２８】  次に、反復回数のカウンタｒを０にセットする（ＳＣ２）。【０１２９】  次に、分類部１０９ａ，１０９ｂのそれぞれにおいて、画像セットＡ，Ｂのそれぞれに対して、入射面が類似している画素同士をクラスタリングする（ＳＣ３）。以降は、画像セットＡに対する処理を説明するが、画像セットＢに対する処理も同様である。【０１３０】  クラスタリング手法として任意の方法を用いることができるが、ここではｋ−ｍｅａｎアルゴリズムを用いる。まず、初期クラスタとして、位相φで張られる１次元空間内に、Ｃ１個のクラスタ中心φｃ０を均等に配置する（ｃ＝０，…，Ｃ１−１）。クラスタ数Ｃ１は、予備実験において事前に決定しておく。鏡面反射が生じている画素数をＫ個とすると、位相（入射面方向）φｋを有するｋ番目の画素が属するクラスタ番号は、（数２５）を満たすｃｋｊとすることができる（ｋ＝０，…，Ｋ−１）。
【数２５】
2007029446.tif 000028
【０１３１】  ここで、ｊはクラスタリング回数を表す。現在はｊ＝０である。φｃｊは、クラスタリングｊ回目のｃ番目のクラスタ中心を表す。また、関数ｄ（ｘ）は、図９で表されるように、ｘ＝±π／２のときに極大値をとり、ｘ＝０，±πのときに極小値０をとる関数である。Ｋ個の画素を全てＣ１個のクラスタのどれかに属させた後は、クラスタ中心を更新（同時にｊをインクリメント）し、繰り返しクラスタリングを行う。全クラスタ中心の移動距離が予め定めた距離閾値よりも小さくなればクラスタリングを終了する。尚、クラスタリング回数ｊが予め定めた所定回数に達した場合にクラスタリングを終了するようにしてもよい。【０１３２】  この段階では、鏡面反射が生じている画素を、入射面の方向が類似している画素同士にクラスタリングしただけであり、同一クラスタの中で入射角の大きさは類似していない場合がある。被写体の法線方向が未知の場合は入射角が算出できないので、ここでは、暫定クラスタリングとして、画像平面の座標が近いもの同士を更にクラスタリングする。Ｃ１個のクラスタに対し、それぞれを更にＣ２個のクラスタに分割する。結果としてＣ１×Ｃ２個のクラスタに分割されたことになる。クラスタリングの詳細については省略する。【０１３３】  以上の処理を、画像セットＢに対しても行う。【０１３４】  次に、反射成分分離部１１０ａ，１１０ｂのそれぞれにおいて、画像セットＡ，Ｂのそれぞれおける、同一のクラスタに含まれる画素の集合毎に反射成分分離を行う（ＳＣ７）。同一のクラスタに含まれる画素同士は、入射面がほぼ揃っている。また、画像平面での座標が近いもの同士をクラスタリングしているため、同一のクラスタに含まれる画素同士は入射角がほぼ揃っているとみなせる。よって、反射成分分離手法として特許文献２の方法を用いることができる。特許文献２の方法は特異値分解を利用しているが、一般的な独立成分分析の手法を用いることもできる。【０１３５】  この段階で、異なる２つのカメラ１０２ａ、１０２ｂにより撮影された２つの画像セットＡ，Ｂから、それぞれ拡散反射成分と鏡面反射成分とを分離した。図２４に、ここまでの処理の概要を図示する。ただし、被写体上に法線によるエッジがある場合は、同一のクラスタに含まれる画素同士は入射角が揃っていないために、反射成分分離の精度が低くなっている可能性がある。そのため、本実施の形態では、分離した拡散反射成分より法線を推定し、得られた法線を用いて反射成分分離をする処理（ステップＳＣ４〜ＳＣ７）を少なくとも１回以上繰り返す。【０１３６】  反復回数ｒが上限Ｒに達していないかのチェックを行い（ＳＣ８）、上限Ｒ以上であれば終了する。そうでなければｒを１だけインクリメントする（ＳＣ９）。【０１３７】  次に、法線算出部１０５にて、被写体上の法線方向を算出する（ＳＣ４）。ここでは、カメラ１０２ａ，１０２ｂのそれぞれにより撮影された画像セットＡ，Ｂから分離された、２つの拡散反射画像を用いてステレオ視を行い、距離画像を得た後、法線方向を算出する。ステレオ視として、ａｒｅａ−ｂａｓｅｄステレオ視を用いることができる。ステレオ視に関しては、多くの文献に記載があるが、例えば、「コンピュータビジョン  ��術評論と将来展望，松山隆司・久野義徳・井宮淳編，新技術コミュニケーションズ，第８章ステレオ視」に概要が記載されているので、ここでは説明を省略する。【０１３８】  ステレオ視により、両カメラ１０２ａ、１０２ｂにより撮影した輝度画像に対応するｄｅｐｔｈ画像Ｄａ（ｘ，ｙ），Ｄｂ（ｘ，ｙ）が得られる。ここで、（ｘ，ｙ）は、図４で説明した画像平面におけるｘ、ｙ座標値であり、ｄｅｐｔｈ画像の要素はカメラ座標系におけるＺ座標値である。次に、ｄｅｐｔｈ画像Ｄａ（ｘ，ｙ）から法線画像Ｎａ（ｘ，ｙ）を、ｄｅｐｔｈ画像Ｄｂ（ｘ，ｙ）から法線画像Ｎｂ（ｘ，ｙ）をそれぞれ生成する。法線画像の要素は、カメラ座標系（Ｘ，Ｙ，Ｚ）における単位法線ベクトル方向（ｎＸ，ｎＹ，ｎＺ）の３次元となる。【０１３９】  ｄｅｐｔｈ画像から法線画像を算出するさまざまな方法が提案されているが、ここでは以下のような方法を用いる。ｄｅｐｔｈ画像において、図２５（ａ）のように座標（ｉ，ｊ）に注目した場合、８近傍のｄｅｐｔｈ値を利用して、図２５（ｂ）のように注目点と隣接８点との間に三角面を定義する。そして、各三角面の単位法線ベクトルを算出し、それらの単位法線ベクトルの平均を計算することにより、注目画素（ｉ，ｊ）の単位法線ベクトルＮを算出する。各三角面の法線ベクトル方向は、三角面を張る２つのベクトルの外積から計算できる。以上の方法を、ｄｅｐｔｈ画像Ｄａ，Ｄｂの全画素に対して適用することにより、法線画像Ｎａ，Ｎｂを得る。【０１４０】  本実施の形態では、反射成分分離処理で得られた拡散反射画像をステレオ視に用いて、一度距離値を求め、その後、法線を算出したが、「Ｌ．Ｂ．Ｗｏｌｆｆ，“Ｓｕｒｆａｃｅ  ｏｒｉｅｎｔａｔｉｏｎ  ｆｒｏｍ  ｔｗｏ  ｃａｍｅｒａ  ｓｔｅｒｅｏ  ｗｉｔｈ  ｐｏｌａｒｉｚｅｒｓ”，ｉｎ  Ｐｒｏｃ．Ｏｐｔ．Ｉｌｌｕｍｉｎａｔｉｏｎ  Ｉｍａｇｅ  Ｓｅｎｓｉｎｇ  Ｍａｃｈｉｎｅ  Ｖｉｓｉｏｎ  ＩＶ，ｖｏｌ．１１９４（Ｐｈｉｌａｄｅｌｐｈｉａ，ＰＡ），Ｎｏｖ．１９８９，ｐｐ．２８７−２９７．」で開示されているように、鏡面反射の入射面を利用したステレオ視を用いて、法線を直接算出してもよい。この従来技術では、被写体上の同一点を２台のカメラで観測している場合、２台のカメラ両方で鏡面反射を観測する必要がある。２個のカメラ画像における対応点検出には、先に説明した拡散反射成分を利用したステレオ視を用いることができる。対応点が分かれば、鏡面反射成分の輝度値変化から求めた入射面を利用したステレオ視により法線を算出することができる。【０１４１】  次に、入射角算出部１０８ａ，１０８ｂのそれぞれにおいて、被写体上の鏡面反射をカメラで観測している時の入射角を、鏡面反射が存在する画素毎に特定する（ＳＣ５）。ここでの処理は、第１の実施形態におけるステップＳＡ３と同様であるので詳細は省略する。【０１４２】  次に、分類部１０９ａ，１０９ｂのそれぞれにおいて、画像セットＡ，Ｂのそれぞれに対して、入射面と入射角の両方がそれぞれ類似している画素同士をクラスタリングする（ＳＣ６）。ここでの処理は、第１の実施形態におけるステップＳＡ４と同様であるので詳細を省略する。【０１４３】  次に、反射成分分離部１１０ａ，１１０ｂのそれぞれにおいて、画像セットＡ，Ｂのそれぞれおける、同一のクラスタに含まれる画素の集合毎に反射成分分離を行う（ＳＣ７）。同一のクラスタに含まれる画素同士は、入射面がほぼ揃っている。また、入射角に関しては、ｊ＝０回目の反射成分分離で得られた拡散反射成分を利用して法線を算出しており、前回よりも入射角が揃ったクラスタリングが達成できている。よって、特許文献２の方法を再度用いて、反射成分分離を行う。【０１４４】  以上説明した、ステップＳＣ４〜ＳＣ７の各処理を、所定回数Ｒに達するまで繰り返し行うことにより、精度の良い反射成分分離が行い得る。【０１４５】  尚、第２の実施形態に係る画像処理方法に従って反射成分分離を行った後に、上述した屈折率推定を行うことも可能である。
【産業上の利用可能性】
【０１４６】  本発明は、一般的な照明環境で撮影した画像について、拡散反射成分と鏡面反射成分とを分離するための画像処理方法を提供するので、拡散反射成分を利用する、多くの画像処理アルゴリズムの前処理として利用できる。また、物体の反射特性を計算機上に取り込み（ｍｏｄｅｌｉｎｇ）、見えを正確に再現する（ｒｅｎｄｅｒｉｎｇ）というＣＶ（Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ）／ＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）の分野において、ｍｏｄｅｌｉｎｇの第１ステップとしても利用可能である。
【図１】
2007029446.tif 000029
【図２】
2007029446.tif 000030
【図３】
2007029446.tif 000031
【図４】
2007029446.tif 000032
【図５】
2007029446.tif 000033
【図６】
2007029446.tif 000034
【図７】
2007029446.tif 000035
【図８】
2007029446.tif 000036
【図９】
2007029446.tif 000037
【図１０】
2007029446.tif 000038
【図１１】
2007029446.tif 000039
【図１２】
2007029446.tif 000040
【図１３】
2007029446.tif 000041
【図１４】
2007029446.tif 000042
【図１５】
2007029446.tif 000043
【図１６】
2007029446.tif 000044
【図１７】
2007029446.tif 000045
【図１８】
2007029446.tif 000046
【図１９】
2007029446.tif 000047
【図２０】
2007029446.tif 000048
【図２１】
2007029446.tif 000049
【図２２】
2007029446.tif 000050
【図２３】
2007029446.tif 000051
【図２４】
2007029446.tif 000052
【図２５】
2007029446.tif 000053
【図２６】
2007029446.tif 000054
【図２７】
2007029446.tif 000055
【図２８】
2007029446.tif 000056
【図２９】
2007029446.tif 000057
【図３０】
2007029446.tif 000058
【図３１】
2007029446.tif 000059
【図３２】
2007029446.tif 000060
【図３３】
2007029446.tif 000061
【図３４】
2007029446.tif 000062
【手続補正書】
【提出日】平成18年11月30日(2006.11.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通してカメラにより複数画像、撮影するステップと、
前記撮影した複数の画像から、鏡面反射が生じている画素群について、画素毎に、入射面を特定するステップと、
前記撮影した複数の画像から、前記画素群について、画素毎に、入射角を算出するステップと、
前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成するステップと、
前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離するステップとを備えた
ことを特徴とする画像処理方法。
【請求項２】
請求項１に記載の画像処理方法において、
前記入射面特定ステップは、
前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、
前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射面を特定するステップとを備えた
ことを特徴とする画像処理方法。
【請求項３】
請求項１に記載の画像処理方法において、
前記入射角算出ステップは、
前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、
前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射角を算出するステップとを備えた
ことを特徴とする画像処理方法。
【請求項４】
請求項２又は請求項３に記載の画像処理方法において、
前記法線ベクトル算出ステップは、
既知である前記被写体の３次元形状データを用いて、撮影した前記画像における被写体の見えを基に、カメラ座標系における前記被写体の３次元位置及び３次元姿勢を推定するステップを備え、
推定した前記被写体の３次元位置及び３次元姿勢を用いて、前記画素群の画素毎に、被写体の法線ベクトルを算出するものである
ことを特徴とする画像処理方法。
【請求項５】
請求項１に記載の画像処理方法において、
前記入射面特定ステップは、撮影した前記画像の数が３以上のとき、
前記画素群の画素毎に、前記偏光素子の主軸角度に対する輝度値変化の位相を検出するステップを備え、
検出した位相から、入射面を特定するものである
ことを特徴とする画像処理方法。
【請求項６】
請求項５に記載の画像処理方法において、
前記入射角算出ステップは、
前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、
前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射角を算出するステップとを備え、
前記法線ベクトル算出ステップは、撮影した前記画像の数が３以上のとき、
前記入射面特定ステップにおいて前記画素群の画素毎に特定した入射面を画像平面に射影した方向の、第１の２次元分布を算出するステップと、
既知である被写体の３次元形状モデルを用いて、カメラ座標系における被写体の３次元位置及び３次元姿勢を仮定し、仮定した前記３次元位置及び３次元姿勢を有する前記３次元形状モデルを射影した画像平面における画素毎に入射面を計算し、前記計算した入射面を画像平面に射影した方向の、第２の２次元分布を算出するステップと、
前記第１及び第２の２次元分布同士をマッチングさせることにより、前記被写体の３次元位置及び３次元姿勢を決定するステップと、
決定した前記被写体の３次元位置及び３次元姿勢を基に、前記画素群の画素毎に、被写体の法線ベクトルを算出するステップとを備えたものである
ことを特徴とする画像処理方法。
【請求項７】
請求項１に記載の画像処理方法において、
前記入射面特定ステップの後に、
前記画素群について、入射面が類似している画素同士を暫定的にクラスタリングして、少なくとも１つの画素集合を形成する暫定クラスタリングステップを実行し、
その後、前記反射成分分離ステップを、前記暫定クラスタリングステップで形成された各画素集合において、実行し、
その後、前記入射角算出ステップ、前記クラスタリングステップ、および前記反射成分分離ステップを、所定回数、繰り返し実行するものであり、
前記入射角算出ステップは、
前回実行された反射成分分離ステップによって得られた拡散反射成分を用いて、前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、
前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射角を算出するステップとを備えたものである
ことを特徴とする画像処理方法。
【請求項８】
請求項１に記載の画像処理方法において、
撮影した前記画像の数が３以上のとき、
前記画素群中の注目画素について、前記偏光素子の主軸角度に対する前記鏡面反射成分の輝度値変化から、当該輝度値の最大値と最小値を算出し、
前記最大値と前記最小値との比の値及び、前記入射角算出ステップにおいて算出した前記注目画素における入射角から、前記被写体の屈折率を算出するステップをさらに備えた
ことを特徴とする画像処理方法。
【請求項９】
請求項１に記載の画像処理方法において、
撮影した前記画像の数が３以上のとき、
前記画素群中の注目画素について、前記偏光素子の主軸角度に対する前記鏡面反射成分の輝度値変化から、当該輝度値の最小値を算出し、
前記最小値が予め定めた第１の閾値より小さいとき、前記入射角算出ステップにおいて算出した前記注目画素における入射角はブリュースタ角であると判断し、このブリュースタ角から、前記被写体の屈折率を算出するステップをさらに備えた
ことを特徴とする画像処理方法。
【請求項１０】
請求項１に記載の画像処理方法において、
撮影した前記画像の数が３以上のとき、
前記画素群中の注目画素について、前記偏光素子の主軸角度に対する前記鏡面反射成分の輝度値変化から、当該輝度値の最大値と最小値を算出し、
前記最小値が予め定めた第２の閾値以上であるときは、前記最大値と前記最小値との比の値及び、前記入射角算出ステップにおいて算出した前記注目画素における入射角から、前記被写体の屈折率を算出するステップをさらに備えた
ことを特徴とする画像処理方法。
【請求項１１】
被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通して撮影する偏光画像取得部と、
前記偏光画像取得部によって、主軸方向が互いに異なる偏光素子を通して撮影された複数の画像から、鏡面反射が生じている画素群について、画素毎に、入射面を特定する入射面特定部と、
前記複数の画像から、前記画素群について、画素毎に、入射角を算出する入射角算出部と、
前記画素群について、前記入射面特定部により特定された入射面及び前記入射角算出部により特定された入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成する分類部と、
前記分類部により形成された各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離する反射成分分離部とを備えた
ことを特徴とする画像処理装置。
【請求項１２】
被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通して撮影した複数の画像を取り込んで、当該複数の画像から、鏡面反射が生じている画素群について、画素毎に、入射面を特定する処理と、
前記複数の画像から、前記画素群について、画素毎に、入射角を算出する処理と、
前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成する処理と、
前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離する処理と
をコンピュータに実行させる画像処理プログラム。
【請求項１３】
被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通してカメラにより複数画像、撮影するステップと、
前記撮影した画像から、屈折率が一様であり、かつ、局所領域において光学的に滑らかである領域を特定するステップと、
前記撮影した複数の画像における前記領域から、鏡面反射が生じている画素群について、画素毎に、入射面を特定するステップと、
前記撮影した複数の画像における前記領域から、前記画素群について、画素毎に、入射角を算出するステップと、
前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成するステップと、
前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離するステップとを備えた
ことを特徴とする画像処理方法。
【請求項１４】
請求項１３に記載の画像処理方法において、
前記被写体は、人の顔であり、
前記領域特定ステップは、眼の領域、または眼鏡のレンズの領域を、前記領域として特定するものである
ことを特徴とする画像処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、偏光フィルタを通して被写体を撮影した画像において、拡散反射成分及び鏡面反射成分を、両者の確率的独立性を利用して分離する方法に関し、特に、一般の照明環境において反射成分分離を可能とする技術に属する。
【背景技術】
【０００２】
物体からの反射光は、鏡面反射成分と拡散反射成分の２成分の和として表現できる。この２成分による反射は、非特許文献１において、２色性反射モデル(dichromatic reflection model)として提案されている。鏡面反射成分は、物体表面と空気層の間の境界で反射される光であり、拡散反射成分は、物体表面を通過して物体内部に入射した光が色素により反射を繰り返して再び空気中に戻ってきた光である。
【０００３】
対応点探索や照度差ステレオ等の画像処理アルゴリズムの多くは拡散反射を前提にしており、鏡面反射は多くの画像処理アルゴリズムの性能低下要因となる。このため、鏡面反射成分と拡散反射成分を分離する技術が数多く提案されてきた。
【０００４】
鏡面反射成分と拡散反射成分とを分離する手法では、（Ａ）反射光の色特性を利用するもの、（Ｂ）鏡面反射の偏光特性を利用するもの、の２方式が数多く提案されてきた。
【０００５】
（Ａ）は、被写体が誘電体の場合に、拡散反射光は物体色を反映し、鏡面反射光は照明色を反映することから、色ベクトルの違いを利用して両反射成分を分離するものである。しかしながら、物体色と照明色が類似している場合や、他の物体が相互反射により映り込んでいる場合には、うまく分離できないという問題がある。また、被写体が金属の場合には、金属の種類によってはフレネル係数の波長依存性が大きく、鏡面反射光と照明光の色ベクトルが一致しないため色特性を利用した分離方法を適用できない。
【０００６】
一方、（Ｂ）は、鏡面反射成分が多くの場合偏光しており、拡散反射成分が殆どの場合非偏光とみなせることを利用して両反射成分を分離するものである。偏光を利用した方式としては、非特許文献２、非特許文献３、特許文献１、特許文献２等が提案されている。これらの手法は偏光を用いた方法であるため、色特性を用いる方法とは異なり、照明色及び物体色に依存しないで処理が行い得るという利点がある。
【０００７】
非特許文献２では、ガラスの表面で反射する光がガラスを通過してくる光よりも強く偏光していることを利用して、カメラに取り付けた偏光フィルタを回転させながら取り込んだ複数の画像から各画素の輝度最小値を求めることにより、ガラスに映り込んだ像とその背後にある物体からの像とを分離している。しかしながら、ガラスに映り込んだ像が良好に分離できるのは、ガラスへの入射角がブリュースタ角に近い場合のみである。
【０００８】
非特許文献３では、カメラに取り付けた偏光フィルタを回転させながら取り込んだ複数の画像において、画素毎に、輝度最小値及び最大値を求め、それらの比を基にフレネル係数の平行成分・垂直成分の比を推定して、入射角がブリュースタ角以外でも被写体からの鏡面反射光と拡散反射光を分離している。しかしながら、鏡面反射が存在する領域では拡散反射成分が一定であるという仮定を用いており、拡散反射によるテクスチャがある被写体には適用できない。
【０００９】
特許文献１では、照明側とカメラ側の両方に偏光フィルタを使用する。照明光を直線偏光させ、カメラ側に取り付けた偏光フィルタを回転させながら取り込んだ複数の画像において、画素毎に輝度最小値を求め、それらの最小値で構成される画像を拡散反射画像として記録するものである。この手法は、照明光が完全に偏光している場合、その鏡面反射光は入射角によらず完全に偏光する性質を利用している。しかしながら、この手法は完全偏光の照明以外からの鏡面反射光を取り除くことが出来ないので、無光沢・黒色の遮光箱内で利用しており、一般的な環境では使用することができない。
【００１０】
特許文献２では、鏡面反射成分と拡散反射成分間には確率的独立性があることを仮定して、偏光フィルタを通して撮影した複数の画像から両反射成分を分離する。この手法は、非特許文献２とは異なり、ブリュースタ角以外でも反射成分分離が可能であり、また非特許文献３とは異なり、拡散反射によるテクスチャがある被写体にも適用可能であり、さらに特許文献１とは異なり、照明を偏光させる必要がない。
【００１１】
この特許文献２の方法について以降説明を行うが、その前に物体からの光の反射と偏光について一般的な説明を行っておく。
【００１２】
先に触れた２色性反射モデルによれば、物体からの反射光は、拡散反射成分と鏡面反射成分の２成分の和で表現される。拡散反射成分Ｌｄｉｆｆは（数１）で表されるLambertianモデルで表現されることが多い。
【数１】
2007029446.tif 000063
【００１３】
ここで、Ｌｉは入射光の強度であり、θｉは入射角、κｄｉｆｆは物体の拡散反射率である。この拡散反射成分は、殆どの場合非偏光とみなすことができる。
【００１４】
一方、鏡面反射成分Ｌｓｐｅｃは（数２）で表されるTorrance-Sparrowモデルで表現されることが多い。
【数２】
2007029446.tif 000064
【００１５】
ここで、ＬｉはLambertianモデルの時と同じく入射光の強度であり、θｒは物体表面の法線と視線方向のなす角度であり、αは鏡面反射を形成するマイクロファセットの法線方向と物体表面の法線方向とのなす角であり、σαは物体表面の粗さを表すパラメータである。また、Ｆは反射エネルギについてのフレネル係数であり、マイクロファセットへの入射角θ'ｉ及び２つの媒質の屈折率η１，η２の比である相対屈折率ηに依存する。媒質が誘電体の場合は実数となり、以後ｎで表す。Ｇは幾何減衰率であり、マイクロファセットによる入射光の遮蔽(masking)、反射光の遮蔽(shadowing)の影響を表す。ｃは拡散反射と鏡面反射の比率を表す定数である。
【００１６】
この鏡面反射成分は、光の入射面に対して平行な成分と垂直な成分に対するフレネル係数が異なることにより偏光する。平行成分と垂直成分に対する、反射エネルギについてのフレネル係数は、それぞれ（数３）、（数４）のようになる。
【数３】
2007029446.tif 000065
【数４】
2007029446.tif 000066
【００１７】
ここで、θ"ｉはマイクロファセットに関する屈折角であり、Snellの法則から（数５）が成り立つ。
【数５】
2007029446.tif 000067
ここで、ｎ１及びｎ２は、それぞれ、入射側の媒質１の屈折率，屈折側の媒質２の屈折率である。以後は、屈折率ｎ２とｎ１との比を相対屈折率ｎで表す。
【００１８】
図２６に相対屈折率ｎ＝１．６の場合の、入射面に対する平行成分と垂直成分に対するフレネル係数のグラフを示す。
【００１９】
以上から、非偏光である入射光に対する反射光の強度Ｌｒは（数６）のように表すことができる。ここで、Ｌ'ｓｐｅｃは、（数２）で表される鏡面反射成分Ｌｓｐｅｃから、フレネル強度反射率の項を除いたものである。
【数６】
2007029446.tif 000068
【００２０】
偏光フィルタを通して物体からの反射光を観測した場合、その強度は、偏光フィルタを通過する前の反射光のうち、偏光フィルタの主軸に平行な成分の強度となる。偏光フィルタを回転させながら物体からの反射光を観測した場合、その強度は偏光フィルタの主軸の角度に応じて、図２７のようにsin関数的に変化する。図２６が示すように、殆どの入射角において、反射光の入射面に対する垂直成分は平行成分よりも大きくなる。よって、観測される鏡面反射成分強度は、偏光フィルタの主軸が入射面に平行な場合（偏光フィルタの主軸と入射面のなす角ψが０radの時）に最小となり、垂直な場合（偏光フィルタの主軸と入射面のなす角ψがπ／２radの時）に最大となる。また、拡散反射成分は、非偏光とみなすことができるので偏光フィルタの主軸方向によらず一定である。
【００２１】
Torrance-Sparrowモデルにおいては、入射光が物体表面上のマイクロファセットにより反射されることで鏡面反射が生じているとされている。即ち、観測画像の各画素における鏡面反射成分の入射面及び局所入射角は、光源方向とカメラ視線方向によって決定され、物体表面の法線方向とは独立である。
【００２２】
特許文献２の方法は、光源が十分遠くにあり、カメラモデルとして正射影モデルを仮定している。この場合には、図３３のように、撮影画像における、鏡面反射を生じる全画素において入射面と局所入射角が同一であるとみなすことができる。ここで、「入射面が同一である」とは、図５のような、注目している画素に対応する入射面を画像平面に投影した方向が、鏡面反射を生じている画素について全て等しいことを表すものとする。また、同時に、物体の屈折率が一様であると仮定している。これらの仮定の下では、物体に対応する全画素のフレネル係数が同一となり、偏光フィルタを回転させたときの鏡面反射の輝度値変化は、全画素において同位相となる。
【００２３】
ここで、Ｉｄ，Ｉｓ，Ｉをそれぞれ拡散反射画像ベクトル、鏡面反射画像ベクトル、観測画像ベクトルとすると、（数７）の関係が成り立つ。尚、ベクトルＩｄ，Ｉｓ，Ｉは、いずれも画素数分の次元数を持つ列ベクトルである。ｆ(ψ)は、偏光フィルタの主軸と入射面がなす角度ψの関数（スカラー）である。
【数７】
2007029446.tif 000069
【００２４】
これらの関係を図示すると、図２８のようになる。観測画像ベクトルは、ｆ(０)Ｉｓとｆ(π/2）Ｉｓの範囲で増減することになる。異なった主軸を持った偏光フィルタを介して、複数、例えば２枚の画像ベクトルＩ１，Ｉ２を観測した場合、図２９に示すように、その差(Ｉ１−Ｉ２)から、鏡面反射画像ベクトルＩｓの方向が得られる。よって、この差のベクトルに適当な定数ｋを乗じて観測画像ベクトルから減じれば、拡散反射画像ベクトルＩｄが得られる。
【００２５】
特許文献２の方法は、拡散反射画像ベクトルＩｄと鏡面反射ベクトルＩｓとの間の確率的独立性を仮定し、両ベクトルと係数ｆ(ψ)を得ている。具体的には、
（１）観測された複数の画像行ベクトルを要素に持つ行列を、最大階数分解を利用して積の形に分解する。
（２）任意の２×２正則行列を導入し、拡散反射画像ベクトル候補と鏡面反射画像ベクトル候補を仮決定する。
（３）両者の相互情報量を評価することにより、相互情報量が最小（確率的独立性が最大）となる拡散反射画像ベクトル、鏡面反射画像ベクトル、係数ｆ(ψ)行列を推定値として採用する。
【特許文献１】特開平１１−４１５１４号公報
【特許文献２】特許第３４５９９８１号公報
【非特許文献１】S.Shafer, "Using color to separate reflection components", Color Research and Applications, vol.10, no.4, pp.210-218, 1985
【非特許文献２】岩瀬正樹，山村毅，田中敏光，大西昇，「映り込み分離カメラシステム」，電子情報通信学会論文誌D-II, Vol.J81-D-II, No.6, pp.1224-1232, 1998年6月
【非特許文献３】L.B.Wolff, "Using Polarization to Separate Reflection Components", Proc. IEEE Conf. CVPR, pp.363-369, 1989
【発明の開示】
【発明が解決しようとする課題】
【００２６】
特許文献２の方法では、図３３のように、平行光光源（光源が十分遠くにある状態と等価）を仮定し、同時に、カメラモデルとして正射影モデルを仮定している。しかしながら、我々が普段生活をしている一般環境おいては、平行光の仮定は殆ど成り立たない。屋外においては、晴天の太陽光は平行光とみなせるものの、曇天の場合は空全体が拡散面光源の状態となり平行光とみなすことができない。また、室内においては、ある程度の大きさを持った照明器具が近距離にある場合や、複数の照明器具が存在する場合は平行光とみなすことができない。また、屋外又は室内において、相互反射が存在する場合は平行光とみなすことができない。
【００２７】
図３０は、図３１に示す環境下で、なめらかな表面を持つゴム製の球体を撮影した画像である。図３１から分かるように、被写体のゴム球の左側方及び上方に蛍光灯照明が設置されている。図３０においては、図３１の蛍光灯照明Ａから、鏡面反射領域１が、蛍光灯照明群Ｂの一部から鏡面反射領域２が、被写体のゴム球上に生じている。これらの鏡面反射は異なる方向からの照明によって生じており、照明環境全体では平行光とみなすことはできないので、カメラ前に設置した偏光フィルタを回転させたときの鏡面反射の輝度値変化が全画素において同位相にならない。図３０の小領域１及び小領域２における、カメラ前の偏光フィルタ角度に対する輝度値変化のグラフを図３２に示す。偏光フィルタは、ある基準方向を０度とし、１８０度まで１０度間隔で回転させた。領域１と領域２とでは、輝度値の位相がほぼ逆転していて、同位相にならないため、特許文献２の方法では、このような照明環境下において鏡面反射を分離できない。
【００２８】
前記の問題に鑑み、本発明は、一般の照明環境においても、偏光フィルタを通して被写体を撮影した画像から拡散／鏡面反射成分を分離することを課題とする。
【課題を解決するための手段】
【００２９】
本発明は、被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通して撮影した複数の画像から、鏡面反射が生じている画素群について、画素毎に入射面を特定するとともに、入射角を算出し、前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つ以上の画素集合を形成し、前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離するものである。
【００３０】
本発明によると、鏡面反射が生じている画素群について、画素毎に、入射面及び入射角を求めた後、両者がそれぞれ類似している画素同士をクラスタリングし、クラスタリングされた各画素集合において、確率的独立性を用いた反射成分分離を行う。すなわち、任意の照明下で撮影した画像において、様々な入射面および入射角の鏡面反射光が混在している場合であっても、入射面及び入射角の両方が類似している画素同士がクラスタリングされ、クラスタリングされた各画素集合において反射成分分離が行われる。このため、入射面及び入射角が画素毎にまちまちであっても、反射成分分離を精度良く実行することが可能となる。したがって、一般的な照明環境にて撮影された画像においても拡散反射成分及び鏡面反射成分を分離することができる。
【００３１】
ただし、確率的独立性を用いた反射成分分離が可能となるためには、各画素集合において、被写体の屈折率が略一定であることが必要となる。また、被写体が、撮影画像の一画素に対応する局所領域において光学的に滑らかであるとき、一画素内で、入射面および入射角が一定とみなすことができるので、反射成分分離がより精度良く実行可能となる。
【００３２】
図３４は、ある入射面において、非平行光の環境下で生じた鏡面反射光が中心射影のカメラに入射する様子を示している。図３４では、入射角でクラスタリングを行った結果、（ア）、（イ）、（ウ）の３通りに分類できたことを示している。（ア）、（イ）、（ウ）のそれぞれで確率的独立性を用いた反射成分分離を行うことで、拡散反射成分と鏡面反射成分を分離することができる。
【発明の効果】
【００３３】
本発明によると、一般の照明環境においても、偏光フィルタを通して被写体を撮影した画像から拡散／鏡面反射成分を分離することができる。
【発明を実施するための最良の形態】
【００３４】
本発明の第１態様は、画像処理方法として、被写体を、主軸が互いに異なる偏光素子を通してカメラにより複数画像、撮影するステップと、前記撮影した複数の画像から、鏡面反射が生じている画素群について、画素毎に入射面を特定するステップと、前記撮影した複数の画像から、前記画素群について画素毎に入射角を算出するステップと、前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成するステップと、前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離するステップと、を備えたものを提供する。
【００３５】
本発明の第２様態は、前記入射面特定ステップは、前記画素群の画素毎に被写体の法線ベクトルを算出するステップと、前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射面を特定するステップと、を備えた第１様態の画像処理方法を提供する。
【００３６】
本発明の第３様態は、前記入射角算出ステップは、前記画素群の画素毎に被写体の法線ベクトルを算出するステップと、前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射角を算出するステップと、を備えた第１様態の画像処理方法を提供する。
【００３７】
本発明の第４様態は、前記法線ベクトルを算出するステップは、既知である前記被写体の３次元形状データを用いて、撮影した前記画像における被写体の見えを基に、カメラ座標系における前記被写体の３次元位置及び３次元姿勢を推定するステップを備え、推定した前記被写体の３次元位置及び３次元姿勢を用いて、前記画素群の画素毎に、被写体の法線ベクトルを算出する第２様態又は第３様態の画像処理方法を提供する。
【００３８】
本発明の第５様態は、前記入射面特定ステップは、撮影した前記画像の数が３以上のとき、前記画素群の画素毎に、前記偏光素子の主軸角度に対する輝度値変化の位相を検出するステップを備え、検出した位相から入射面を特定する第１様態の画像処理方法を提供する。
【００３９】
本発明の第６様態は、前記入射角算出ステップは、前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射角を算出するステップとを備え、前記法線ベクトルを算出するステップは、撮影した前記画像の数が３以上のとき、前記入射面特定ステップにおいて前記画素群の画素毎に特定した入射面を画像平面に射影した方向の、第１の２次元分布を算出するステップと、既知である被写体の３次元形状モデルを用いて、カメラ座標系における被写体の３次元位置及び３次元姿勢を仮定し、仮定した前記３次元位置及び３次元姿勢を有する前記３次元形状モデルを射影した画像平面における画素毎に入射面を計算し、前記計算した入射面を画像平面に射影した方向の、第２の２次元分布を算出するステップと、前記第１及び第２の２次元分布同士をマッチングさせることにより、前記被写体の３次元位置及び３次元姿勢を決定するステップと、決定した前記被写体の３次元位置及び３次元姿勢を基に、前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、を備えた第５様態の画像処理方法を提供する。
【００４０】
本発明の第７様態は、前記入射面特定ステップの後に、前記画素群について、入射面が類似している画素同士を暫定的にクラスタリングして、少なくとも１つの画素集合を形成する暫定クラスタリングステップを実行し、その後、前記反射成分分離ステップを、前記暫定クラスタリングステップで形成された各画素集合において、実行し、その後、前記入射角算出ステップ、前記クラスタリングステップおよび前記反射成分分離ステップを、所定回数、繰り返し実行するものであり、前記入射角算出ステップは、前回実行された反射成分分離ステップによって得られた拡散反射成分を用いて、前記画素群の画素毎に、被写体の法線ベクトルを算出するステップと、前記画素群の画素毎に、当該画素に対応する被写体の法線ベクトルと視線ベクトルとから、入射角を算出するステップとを備えたものである第１様態の画像処理方法を提供する。
【００４１】
本発明の第８様態は、撮影した前記画像の数が３以上のとき、前記画素群中の注目画素について、前記偏光素子の主軸角度に対する前記鏡面反射成分の輝度値変化から、当該輝度値の最大値と最小値を算出し、前記最大値と前記最小値との比の値及び、前記入射角算出ステップにおいて算出した前記注目画素における入射角から前記被写体の屈折率を算出するステップをさらに備えた第１様態の画像処理方法を提供する。
【００４２】
本発明の第９様態は、撮影した前記画像の数が３以上のとき、前記画素群中の注目画素について、前記偏光素子の主軸角度に対する前記鏡面反射成分の輝度値変化から、当該輝度値の最小値を算出し、前記最小値が予め定めた第１の閾値より小さいとき、前記入射角算出ステップにおいて算出した前記注目画素における入射角はブリュースタ角であると判断し、このブリュースタ角から前記被写体の屈折率を算出するステップをさらに備えた第１様態の画像処理方法を提供する。
【００４３】
本発明の第１０様態は、撮影した前記画像の数が３以上のとき、前記画素群中の注目画素について、前記偏光素子の主軸角度に対する前記鏡面反射成分の輝度値変化から、当該輝度値の最大値と最小値とを算出し、前記最小値が予め定めた第２の閾値以上であるときは、前記最大値と前記最小値との比の値及び、前記入射角算出ステップにおいて算出した前記注目画素における入射角から前記被写体の屈折率を算出するステップをさらに備えた第１様態の画像処理方法を提供する。
【００４４】
本発明の第１１様態は、画像処理装置として、被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通して撮影する偏光画像取得部と、前記偏光画像取得部によって、主軸方向が互いに異なる偏光素子を通して撮影された複数の画像から、鏡面反射が生じている画素群について画素毎に入射面を特定する入射面特定部と、前記複数の画像から、前記画素群について画素毎に入射角を算出する入射角算出部と、前記画素群について、前記入射面特定部により特定された入射面及び前記入射角算出部により特定された入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成する分類部と、前記分類部により形成された各画像集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離する反射成分分離部と、を備えたものを提供する。
【００４５】
本発明の第１２様態は、画像処理プログラムとして、被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通して撮影した複数の画像を取り込んで、当該複数の画像から鏡面反射が生じている画素群について画素毎に入射面を特定する処理と、前記複数の画像から、前記画素群について画素毎に入射角を算出する処理と、前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成する処理と、前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離する処理と、をコンピュータに実行させるものを提供する。
【００４６】
本発明の第１３態様では、画像処理方法として、被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通してカメラにより複数画像、撮影するステップと、前記撮影した画像から、屈折率が一様であり、かつ、局所領域において光学的に滑らかである領域を特定するステップと、前記撮影した複数の画像における前記領域から、鏡面反射が生じている画素群について、画素毎に、入射面を特定するステップと、前記撮影した複数の画像における前記領域から、前記画素群について、画素毎に、入射角を算出するステップと、前記画素群について、前記入射面及び入射角の両方が類似している画素同士をクラスタリングして、少なくとも１つの画素集合を形成するステップと、前記各画素集合において、拡散反射成分と鏡面反射成分との間の確率的独立性を仮定して反射成分分離を行い、各画素の輝度値を拡散反射成分と鏡面反射成分とに分離するステップとを備えたものを提供する。
【００４７】
本発明の第１４態様では、前記被写体は、人の顔であり、前記領域特定ステップは、眼の領域または眼鏡のレンズの領域を、前記領域として特定するものである第１３態様の画像処理方法を提供する。
【００４８】
以下、本発明の実施の形態について、図面を参照して説明する。
【００４９】
まず、本発明の実施時における、各種条件を説明する。
【００５０】
照明は、平行光である必要はない。即ち、照明が複数あってもよいし、１つの照明は点光源でなく面光源であってもよい。他の被写体からの反射光は照明と見なすことができるので、他の被写体からの反射光も存在していてもよい。また、照明の分光特性や照明方向に関する知識も不要である。
【００５１】
被写体は、屈折率が略一定であり、局所領域において光学的に滑らかな性質を持つとする。「屈折率が略一定」である必要性は、特許文献２と同様である。即ち、被写体の撮影時、鏡面反射を生じている各画素について、屈折率が略一定であり、かつ、鏡面反射の入射面および入射角が揃っている場合は、各画素におけるフレネル係数が略一定となり、確率的独立性を利用した鏡面反射分離が可能となる。ここで、屈折率は厳密に一定である必要はなく、フレネル係数が一定と見なせることができ、確率的独立性を利用した鏡面反射分離が可能となる程度に略一定であればよい。
【００５２】
「局所領域において光学的に滑らか」であるとは、局所領域におけるマイクロファセットの法線がほぼ均一に揃っており、マイクロファセット法線と形状を表すマクロ法線が同一であるとみなせるということである。このような被写体上の鏡面反射が生じている局所領域を観測するとき、たとえ全周囲に面光源が存在したとしても、その局所領域の鏡面反射は一方向の入射光から生じているといえる。即ち、カメラを用いて鏡面反射を観測する場合、撮影画像での一画素に対応する被写体上の局所領域では、マイクロファセット法線方向が全て揃っており、その結果、鏡面反射の入射面と入射角が全て揃っているということである。但し、局所領域で滑らかである必要はあるが、大局的に滑らかである必要はない。すなわち、マクロ法線が空間的に不連続に変化するような、稜線（法線エッジ）が存在していても構わない。
【００５３】
また、被写体の形状については、少なくとも鏡面反射が生じている領域におけるマクロ法線（＝マイクロファセット法線）方向を知る必要がある。以下、第１の実施形態では、既知の被写体の形状モデルを用いて、被写体の３次元位置および３次元姿勢を求めることにより、法線方向を求めている。第２の実施形態では、分離した拡散反射成分を用いてステレオ視を行い、ステレオ視から求めた法線方向を用いて反射成分分離を行う処理を繰り返すことにより、法線方向を求めている。
【００５４】
カメラモデルに関しては、中心射影等の任意のモデルを用いることができる。
【００５５】
表１に、本発明と特許文献２が前提とする各種条件の比較を示す。
【００５６】
【表１】
2007029446.tif 000070
【００５７】
（第１の実施形態）
図１は本発明の第１の実施形態に係る画像処理方法を実行する画像処理装置の構成を示すブロック図である。この画像処理装置は、偏光画像取得部１００、フレームメモリ１０４、法線算出部１０５、形状データベース１０６、入射面特定部１０７、入射角算出部１０８、分類部１０９、反射成分分離部１１０を備えている。偏光画像取得部１００は、偏光素子１０１、カメラ１０２及び、制御部１０３を含む。
【００５８】
また、図２は本発明の第１の実施形態に係る画像処理方法のフローチャートである。
【００５９】
以下、図１のブロック図及び図２のフローチャートに従って、本実施形態に係る画像処理方法及び画像処理装置について説明する。
【００６０】
まず、偏光画像取得部１００において、被写体の画像を撮影する（ＳＡ０）。
【００６１】
制御部１０３は、偏光素子１０１の主軸方向の角度をＦ通り（本実施形態ではＦ＝２）変化させると共に、異なった主軸方向に対してそれぞれ画像を撮影するようにカメラ１０２の撮影タイミングを制御する。得られたＦ個の画像は、フレームメモリ１０４に格納される。本実施形態では、偏光素子１０１として直線偏光フィルタを使用し、直線偏光フィルタをモータ等により回転させることにより主軸の角度を変化させる。主軸角度は、図３のように０，π／２（rad）の２通りを用いる。本画像処理装置は、これらの角度の値を知る必要はない。また、カメラ１０２として、鏡面反射の輝度が飽和しない露出条件において、鏡面反射の存在する画素での拡散反射のテクスチャが十分取得可能なダイナミックレンジ及び量子化ビット数を有するものを用いる。また、予め、カメラキャリブレーションにより、焦点距離、画像中心座標、撮像素子の画素ピッチ及びレンズ歪みの内部パラメータを算出しておく。これらのパラメータは、法線算出ステップＳＡ１で使用する。
【００６２】
撮影された２枚の画像において、輝度値に予め定めた所定値以上の差が存在する画素には鏡面反射が存在すると判断する。２枚の撮影画像をＩ１(x，y)，Ｉ２(x，y)とすると、（数８）のように、被写体上の注目画素位置(xｐ，yｐ)における輝度値Ｉ１(xｐ，yｐ)，Ｉ２(xｐ，yｐ)に、所定値以上の輝度差Th１が生じている場合に、画素位置(xｐ，yｐ)には鏡面反射が存在すると判断する。
【数８】
2007029446.tif 000071
【００６３】
尚、偏光素子１０１の主軸方向の角度が３通り以上の場合は、輝度変化に正弦（余弦）関数をフィッティングさせることで得られた振幅が所定値以上であることにより、鏡面反射が存在するか否かを判断できる。
【００６４】
以下の処理では、鏡面反射が生じている画素群のみを処理対象とする。
【００６５】
尚、特許文献２の方法ではカメラモデルとして正射影モデルを仮定していたが、本発明の場合は、偏光素子の入射角依存性がない場合、中心射影（透視投影）モデルも加えて使用可能である。例えば、有効入射角が±２０度の偏光素子を用いる場合、画角４０度までの中心射影カメラを用いることができる。
【００６６】
ここでは、主軸角度として０，π／２のように直交する２軸を用いたが、観測される鏡面反射に輝度差が生じるような設定であれば、他の角度でもよい。
【００６７】
ここでは、物理的に偏光フィルタを回転させることにより、複数の偏光画像を取得したが、例えば、特開平１１−３１３２４２号公報に開示されているような、液晶を利用した、電気的に主軸方向を制御可能な素子を用いても良い。また、「J.D.Barter, H.R.Thompson, and C.L.Richardson: “Visible-Regime polarimetric imager: a fully polarimetric, real-time imaging system”, Applied Optics-LP, Vol.42, No.9, pp.1620-1628(2003)」に開示されているように、複数の撮像素子、複数の偏光フィルタと、光路を分離するプリズムとを用いることにより、主軸方向の互いに異なる偏光フィルタを通した画像を、同タイミングで取得してもよい。また、「J.Guo, and D.Brady: “Fabrication of thin-film micro  polarizer arrays for visible imaging polarimetry”, Applied Optics-OT, Vol39, No.10, pp.1486-1492(2000)」で開示されているように、主軸方向の互いに異なる微小偏光フィルタを、撮像素子の各画素上に並べた構成を持つ、微小偏光板アレイを用いてもよい。
【００６８】
次に、法線算出部１０５において、被写体上の法線方向を計算する（ＳＡ１）。本画像処理装置は、撮影対象となっている被写体の３次元形状に関する知識を有する（形状データベース１０６に予め記憶されている）ものとする。法線算出部１０５は、形状データベース１０６から被写体の３次元形状データを取得し、撮影画像における被写体の見え(appearance)から、被写体の３次元姿勢及び３次元位置を推定する。被写体が人間の目の角膜である場合の、見えから３次元位置及び３次元姿勢を推定する例が、「K.Nishino and S.K.Nayar: "The World in an Eye", in Proc. of Computer Vision and Pattern Recognition CVPR '04, vol.I, pp444-451, Jul., 2004.」に開示されている。見えから３次元位置及び３次元姿勢を推定できる被写体は限られるが、そのような被写体であれば上記文献の手法を本発明に適用することが可能である。
【００６９】
被写体の３次元姿勢及び３次元位置が推定されれば、被写体上の任意の位置において、カメラ座標系における単位法線ベクトルＮ＝(nＸ，nＹ，nＺ)が算出できる。以上の処理を、撮影画像において鏡面反射が存在している全画素について繰り返し、被写体の法線ベクトルＮを算出する。
【００７０】
尚特殊な例であるが、被写体が図３０で表されるような球体であれば、輪郭線に円をフィッティングするだけで、撮像された球体の各画素において、カメラ座標系での法線ベクトルＮを算出可能である。
【００７１】
次に、入射面特定部１０７において、被写体上の鏡面反射をカメラで観測している時の入射面を、鏡面反射が存在する画素毎に特定する（ＳＡ２）。予め求めておいた、焦点距離、画像中心座標、画素サイズ及びレンズ歪みの内部パラメータを用いて、まず、被写体上の注目画素での視線方向ベクトルＶを決定する。視線方向ベクトルＶの決定方法を、図４を用いて説明する。
【００７２】
図４のように、カメラ座標系Ｏ-Ｘ-Ｙ-Ｚ, 画像座標系Ｏｉ-ｘ-ｙを考える。カメラキャリブレーションにより求められた焦点距離をｆ、画像中心座標Ｏｉを(xｏ，yｏ)、ｘ方向，ｙ方向の画素ピッチをそれぞれｄｘ，ｄｙで表す。レンズ歪み、及び、撮像素子の設置ずれ（光軸と素子面が垂直でない等）は補正済であるとする。被写体上の点Ｐｏｂｊに対応する、注目画素Ｐｉの座標を(xｐ，yｐ)とすると、被写体上の点Ｐｏｂｊへの視線方向ベクトルＶは（数９）となる。
【数９】
2007029446.tif 000072
【００７３】
よって、点Pｏｂｊを観測したときの入射面は、視線方向ベクトルＶとステップＳＡ１で算出した法線ベクトルＮとを含む平面となる。この入射面を図５のように画像平面に射影すると、図６で表されるように角度φで入射面方向を表現することができる。ここで、方向のみを考慮し、向きは考慮しないので０≦φ＜πである。鏡面反射が存在している全画素について、以上の処理を行うと、図７のように入射面方向を表す角度φの２次元分布が得られる。
【００７４】
次に、入射角算出部１０８において、被写体上の鏡面反射をカメラで観測している時の入射角を、鏡面反射が存在する画素毎に特定する（ＳＡ３）。ステップＳＡ１で算出した法線ベクトルＮと、ステップＳＡ２で算出した視線方向ベクトルＶから、（数１０）を用いて入射角θを算出する。入射角であるため０≦θ＜π／２である。鏡面反射が存在している全画素について、以上の処理を行うと、図８のように入射角θの２次元分布が得られる。
【数１０】
2007029446.tif 000073
【００７５】
次に、分類部１０９において、入射面と入射角の両方がそれぞれ類似している画素同士をクラスタリングして、少なくとも１つ以上の画素集合を形成する（ＳＡ４）。クラスタリング手法として任意の方法を用いることができるが、ここではk-meanアルゴリズムを用いる。まず、初期クラスタとして、φ−θの２次元空間内に、Ｃ個のクラスタ中心（φｃ０，θｃ０）を均等に配置する（ｃ＝０，…，C-1）。クラスタ数Ｃは、予備実験において事前に決定しておく。鏡面反射が生じている画素数をＫ個とすると、入射面方向φｋ及び入射角θｋを有するｋ番目の画素が属するクラスタ番号は、（数１１）を満たすｃｋｊとなる（ｋ＝０，…，K-1）。
【数１１】
2007029446.tif 000074
【００７６】
ここで、ｊはクラスタリング回数を表し、初回はｊ＝０である。(φｃｊ，θｃｊ)は、クラスタリングｊ回目のｃ番目のクラスタ中心を表す。λは、入射面に関する距離と入射角に関する距離の影響の強さを決定するパラメータであり、ここではλ＝１とする。また、関数ｄ(ｘ)は、図９で表されるように、ｘ＝±π／２のときに極大値をとり、ｘ＝０，±πのときに極小値０をとる関数である。Ｋ個の画素を全てＣ個のクラスタのどれかに属させた後は、クラスタ中心を更新（同時にｊをインクリメント）し、繰り返しクラスタリングを行う。全クラスタ中心の移動距離が予め定めた距離閾値よりも小さくなればクラスタリングを終了する。尚、クラスタリング回数ｊが予め定めた所定回数に達した場合にクラスタリングを終了するようにしてもよい。
【００７７】
ここまでの処理で、鏡面反射が生じている画素において、入射面と入射角の両方がそれぞれ類似している画素同士は同じ集合にクラスタリングされる。被写体が図３０で表されるような球体であり、球体の全面に鏡面反射が生じている場合には、クラスタリング結果は図１０のようになる。尚、被写体の形状が球体のような単純な形状でない場合は、画素位置が互いに離れていても、入射面及び入射角の両方が類似している場合には、同一のクラスタに分類されることもありうる。
【００７８】
次に、反射成分分離部１１０において、同一のクラスタに含まれる画素の集合毎に反射成分分離を行う（ＳＡ５）。同一のクラスタに含まれる画素同士は、入射面及び入射角がほぼ揃っているので、特許文献２の方法を用いることができる。特許文献２の方法は、特異値分解を利用しているが、一般的な独立成分分析の手法を用いることもできる。
【００７９】
このように、入射面及び入射角がそれぞれ類似した画素同士にクラスタリングした後、確率的独立性を仮定した反射成分分離を行うことで、平行光以外の光源環境下でも反射成分分離が可能となる。
【００８０】
反射成分分離を行うことで、拡散反射を利用する多くの画像処理アルゴリズムの前処理として利用可能である。また、物体の反射特性を計算機上に取り込み（modeling）、見えを正確に再現する(rendering)というＣＶ（Computer Vision）／ＣＧ（Computer Graphics）の分野において、modelingの第１ステップとしても利用可能である。
【００８１】
特に、虹彩認証は、虹彩からの拡散反射光を入力として個人を同定する、画像処理・認識アプリケーションの１つである。虹彩画像の入力の際、角膜上で生じる、照明光の鏡面反射が、撮影画像における虹彩領域と重なることが課題の１つになっている。角膜表面はある程度の曲率を有しており、周囲に存在する広範囲の光源が映り込むため、照明位置を調整することにより映り込みを防止することは難しい。ここで、
１）角膜表面は涙の膜に覆われており、屈折率一様、局所的に光学的滑らかという両特徴を有すること
２）人間の角膜形状・大きさは個人に係らずほぼ一定であるため、予め形状モデルを用意しておくことが容易であること
３）角膜による鏡面反射は周囲の光源の分布により生じ、虹彩による拡散反射は虹彩自体の反射率から生じることから、両者の確率的独立性が仮定できる
ということから、角膜による鏡面反射分離に対して、本発明を適用できる。
【００８２】
なお、虹彩認証の鏡面反射対策として、特開平９−２１２６４４号、特開平１０−１６２１４６号、特開平１１−２０３４７８号などの方法が提案されているが、これらは主に、虹彩撮影装置に備えられた照明（近赤外光ＬＥＤが多く用いられている）に対応するものである。屋外で虹彩認証を行う場合には、太陽光に近赤外成分が多く含まれ、太陽光に照らされた多くの物体が新たな光源としてほぼ全周囲から角膜表面に映り込むため、上記従来手法の適用が難しい。しかしながら、本発明は、このような屋外での虹彩認証に対しても適用可能である。
【００８３】
なお、顔画像における眼（角膜）領域のように、全体の一部が、屈折率一様であり、かつ、光学的滑らかである被写体の場合は、前処理として、屈折率一様であり、かつ、光学的滑らかである領域を特定した後、特定した領域に対して本発明を適用すればよい。例えば、顔画像から眼領域を抽出する方法としては、虹彩認証や顔認証で用いられている既存の技術を利用することができる。
【００８４】
すなわち、被写体を、任意の照明下で、主軸方向が互いに異なる偏光素子を通してカメラにより複数画像、撮影し、この撮影した画像から、屈折率が一様であり、かつ、局所領域において光学的に滑らかである領域を特定する。そして、以降の処理は、この特定した領域について実行する。例えば、被写体が人の顔である場合、眼の領域を、屈折率が一様であり、かつ、局所領域において光学的に滑らかである領域として特定すればよい。
【００８５】
また、顔画像認証において、眼鏡の着脱に対して認証を頑健にするために、色情報や形状情報から眼鏡フレーム領域を特定・除去し、除去された領域の周辺の色情報を用いて、除去された領域を補間することによって、眼鏡を着用していない顔画像を擬似的に生成する取り組みが行われている。このとき、眼鏡のフレーム領域は除去できるが、眼鏡のレンズ領域に映り込んだ周囲の像は色や形状が不定であるため特定・除去することができず、擬似的に生成された顔画像においてノイズとなってしまい、顔認証精度を低下させるという問題がある。そこで、特定された眼鏡のフレーム領域からレンズ領域をさらに特定し、レンズ領域に対して本発明を適用し鏡面反射成分を除去することによって、顔認証の精度をさらに向上させることが可能である。眼鏡のレンズは、局所的に光学的に滑らかであり、かつ、屈折率一様という条件を満たすと考えられるため、本発明を適用可能である。
【００８６】
図１１は、第１の実施形態の変形例に係る画像処理方法を実行する画像処理装置の構成を示すブロック図である。この画像処理装置は、図１の入射面特定部１０７の代わりに、位相検出部１１１を備える。また、第１の実施形態の変形例に係る画像処理方法のフローチャートとして図１２を用いる。
【００８７】
以下、図１１のブロック図及び図１２のフローチャートに従って、第１の実施形態の変形例に係る画像処理方法及び画像処理装置について説明する。
【００８８】
まず、偏光画像取得部１００において、被写体の画像を撮影する（ＳＢ０）。制御部１０３は、偏光素子１０１の主軸方向の角度をＦ通り（本実施形態ではＦ＝４）変化させると共に、異なった主軸方向に対してそれぞれ画像を撮影するようにカメラ１０２の撮影タイミングを制御する。得られたＦ個の画像は、設定された主軸方向の角度情報と共に、フレームメモリ１０４に格納される。本実施形態では、偏光素子１０１として直線偏光フィルタを使用し、直線偏光フィルタをモータ等により回転させることにより主軸の角度を変化させる。主軸角度は、図１３のように０，π／４，π／２，３π／４（rad）の４通りを用いる。
【００８９】
次に、位相検出部１１１にて、撮影された画像の画素毎に入射面を特定する（ＳＢ１）。フレームメモリ１０４に格納されたＦ（＝４）枚の画像から、画素位置（座標）毎に輝度値変化の位相を検出する。図１４は、ある画素位置において、偏光フィルタを回転させて観測した４個の輝度値をsin関数にフィッティングさせた結果である。同図における白抜きの四角のプロットは、それぞれ、偏光フィルタの主軸を０，π／４，π／２，３π／４（rad）の４通りに設定した時の輝度計測値（ｚｉ；ｉ＝１，２，３，４）である。実線は、輝度計測値ｚｉを（数１２）のsin関数にフィッティングさせたものである。
【数１２】
2007029446.tif 000075
【００９０】
sin関数へのフィッティングは、計測値ｚｉと（数１２）の関数との自乗誤差が最小となる基準で算出した。即ち、（数１３）を最小化するようなパラメータＡ，Ｂ，φを求める。ここで、Ｆ＝４であり、θ１＝０，θ２＝π／４，θ３＝π／２，θ４＝３π／４である。
【数１３】
2007029446.tif 000076
【００９１】
（数１３）を最小化するには（数１４）を満たせばよい。（数１２）からも分かるように（数１４）は非線形連立方程式であるため、ここでは非線形最適化法の１つであるLevenberg-Marquardt法を用いる。Levenberg-Marquardt法の詳細は、「J.J. More: "The Levenberg-Marquardt Algorithm: Implementation and Theory," in G.A. Watson (ed.), Lecture Notes in Mathematics 630, Springer-Verlag, Berlin, 1978, 105-116.」に記載されているため説明を省略する。
【数１４】
2007029446.tif 000077
【００９２】
図２７で説明したように、鏡面反射をカメラで観測している場合、カメラ前方に設置した偏光素子の主軸を回転させて観測される輝度値はsin関数的に変化する。よって、偏光素子の主軸角度とsin関数の輝度値変化の関係（数１２における位相φ）から、入射面を画像平面に投影した方向が特定できることになる。図５は、ある画素位置において鏡面反射を観測している場合の図である。特定した入射面を画像平面に投影すると、方向に関する情報が得られる。方向を表現するために、位相φ（０≦φ＜π）を用いることができる。図１４のような輝度値変化が観測できず輝度値がほぼ一定である画素に対しては、その画素には鏡面反射が生じていないと判断し、位相φの情報を以降の処理に用いない。輝度値がほぼ一定であるかどうかは、例えば、（数１５）のように（数１２）における振幅Ａが予め定めた閾値Thよりも小さいかどうかで判断できる。
【数１５】
2007029446.tif 000078
【００９３】
次に、法線算出部１０５において、被写体上の法線方向を計算する（ＳＢ２）。本画像処理装置は、撮影対象となっている被写体の３次元形状に関する知識を有するものとする。法線算出部１０５は、形状データベース１０６から被写体の３次元形状データを取得し、撮影画像における被写体の見え(appearance)から、カメラ座標系における被写体の３次元姿勢及び３次元位置を推定する。３次元姿勢及び３次元位置が推定されれば、被写体上の任意の位置において、カメラ座標系における単位法線ベクトルＮ＝(nＸ，nＹ，nＺ)が算出できる。以上の処理を、撮影画像において鏡面反射が存在している全画素について繰り返し、被写体の法線ベクトルＮを算出する。
【００９４】
本実施の形態では、被写体の３次元姿勢及び３次元位置を推定するために、被写体の見えに加えて、被写体の表面法線ベクトルと視線方向ベクトルとを含む面である、入射面を画像平面に射影した方向（図５）の２次元分布を利用する。図１５に示すように、ステップＳＢ１にて偏光素子を用いて実測した入射面を画像平面に投影した方向の２次元分布Ａが得られている場合について考える。被写体の３次元形状データを用いて、カメラ座標における３次元姿勢及び３次元位置を仮定すれば、照明方向が不明でも入射面が定義でき、入射面を画像平面に射影した方向の２次元分布Ｂが得られる。３次元姿勢および３次元姿勢は、６次元ベクトルｘで表現することができる。
【００９５】
この２次元分布Ａと２次元分布Ｂが一致するように、カメラ座標における３次元姿勢及び３次元位置ｘを更新すればよい。３次元姿勢及び３次元位置ｘを決定すれば、被写体上の法線が算出できる。
【００９６】
図１６を用いて、入射面を画像平面に射影した方向の２次元分布Ａ、Ｂの一致度算出の様子を説明する。座標(i，j)における方向φについて、偏光素子を用いて実測したＡと３次元姿勢および３次元位置ｘを仮定して得られたＢが存在している場合、対応する座標(i，j)での方向φの類似度sｉ，ｊは（数１６）で表現できる。
【数１６】
2007029446.tif 000079
【００９７】
（数１６）を用いると、０≦sｉ，ｊ≦１であり、２つの方向φＡ，φＢのなす角が０の時はsｉ，ｊ=１，直交する時は類似度sｉ，ｊ=０となる。
【００９８】
２次元分布Ａ，Ｂ同士の一致度は、（数１６）を用いて（数１７）で表すことができる。ここで、Ωは、実測した画像について鏡面反射が生じている座標(i，j)の集合である。
【数１７】
2007029446.tif 000080
【００９９】
（数１７）が最大となるような、３次元姿勢および３次元位置ｘを求めた後、被写体上の法線を算出する。
【０１００】
被写体上の法線が算出できた場合、以降の処理は、第１の実施形態と同様にできる。
【０１０１】
尚、ここでは異なる主軸を持った偏光素子を通して撮影した画像の個数をＦ＝４としたが、サンプリング定理からＦ≧３であればよい。
【０１０２】
本実施の形態では、第１の実施形態よりも３次元位置および３次元姿勢の推定のために利用できる情報が多くなるため、それらの推定が容易になるという利点がある。
【０１０３】
（屈折率の推定）
本発明は、さまざまな方向から入射する照明光が、さまざまな法線を持った被写体で鏡面反射を生じる場合でも鏡面反射成分と拡散反射成分を分離することができる。換言すれば、さまざまな入射角で生じた鏡面反射を分離することができる。この分離結果を利用して、屈折率は被写体に関して略一様であるという前提の下で、被写体の物理特性の一つである屈折率を推定可能である。この屈折率は画素単位で推定できるため、画素単位で推定した値の平均値や中間値を算出することで、より確からしい推定が可能になる。
【０１０４】
屈折率を推定することにより、非接触で物質の種類を推定することができる。また、屈折率は被写体の鏡面反射特性を決定するフレネル係数を決定するため、物体の反射特性を計算機上に取り込み（modeling）、見えを正確に再現する(rendering)というＣＶ（Computer Vision），ＣＧ（Computer Graphics）に貢献することができる。
【０１０５】
以下に、図１７のフローチャートを用いて屈折率推定方法を説明する。上述した本発明に係る反射成分分離を行って、既に鏡面反射成分と拡散反射成分が分離されているとする。
【０１０６】
カメラの前方に設置した偏光素子の主軸方向を変化させて鏡面反射を含む画素を観測した場合、その輝度値は、主軸方向角度に対してsin関数的に変化することを図２７にて説明した。図１８からも分かるように、偏光素子の主軸と入射面が直交しているとき輝度値は最大となる。この時、偏光素子を通過する前の輝度値における拡散反射成分をＩｄ，鏡面反射成分をＩｓとした場合、偏光素子を通して観測される輝度Ｉｍａｘは（数１８）で表される。ここで用いるＩｄ，Ｉｓは、（数７）で用いたベクトルＩｄ，Ｉｓとは異なりスカラーである。
【数１８】
2007029446.tif 000081
【０１０７】
ここで、Ｆｐ，Ｆｓはそれぞれ（数３）、（数４）で表される、反射エネルギについてのフレネル係数である。同様に、偏光素子の主軸と入射面が平行であるとき、輝度値は最小となり、この時、偏光素子を通して観測される輝度Ｉｍｉｎは（数１９）で表される。
【数１９】
2007029446.tif 000082
【０１０８】
異なる主軸を持った偏光素子を通して撮影した画像の個数Ｆが３以上であるとき、図１４のように、注目画素での輝度値変化にsin関数をフィッティングさせることにより、観測される輝度値変化の最大値Ｉｍａｘ及び最小値Ｉｍｉｎを求めることができることについては既に述べた。本発明の反射成分分離方法を用いた後、同様にして、それぞれ（数２０），（数２１）で表される鏡面反射成分Ｉsの最大値Ｉsｍａｘ、最小値Ｉsｍｉｎを求める（ＳＤ０）。
【数２０】
2007029446.tif 000083
【数２１】
2007029446.tif 000084
【０１０９】
図１９は、偏光素子の主軸と入射面のなす角度に対する輝度値変化について、（ａ）反射成分分離前と（ｂ）反射成分分離後（鏡面反射成分のみ）の場合について表したグラフの例である。
【０１１０】
次に、最小値Ｉsｍｉｎが予め定めた閾値Th２以上であるかどうかを判定する（ＳＤ１）。閾値Th２以上である場合は、以下のステップＳＤ２を実行する。
【０１１１】
鏡面反射成分Ｉsの最大値Ｉsｍａｘ、最小値Ｉsｍｉｎの比を計算すると（数２２）が得られる。
【数２２】
2007029446.tif 000085
【０１１２】
（数５）のスネルの法則を利用すると、鏡面反射成分の最大値と最小値の比は、マイクロファセットへの局所入射角θ'ｉ，相対屈折率ｎで表すことができる。被写体が光学的に滑らかである場合、局所入射角θ'ｉとマクロ法線に関する入射角θｉは等しい。入射角θｉは画素毎に算出済であるため、鏡面反射を生じている画素位置毎に（数２３）を解くことにより、画素位置毎の相対屈折率ｎが算出できる。
【数２３】
2007029446.tif 000086
【０１１３】
ここで、入射角がブリュースタ角に近い画素位置の場合はフレネル係数Ｆｐが０に近づくため、鏡面反射成分の最小値Ｉsｍｉｎが０に近づき、（数２３）の比の値は非常に大きくなり、相対屈折率ｎの推定誤差が大きくなるために、上記の処理は行わない。つまり、閾値Th2は、１／Ｉsｍｉｎを数値計算に用いることができるか否かを判断するための閾値であり、最小値Ｉsｍｉｎが閾値Th2よりも小さいときには、上記の処理は行わない。
【０１１４】
図２０は、鏡面反射成分の最小値Ｉsｍｉｎが閾値Th2以上である場合の、偏光素子の主軸と入射面のなす角度に対する輝度値変化を表したグラフの例である。この例では、鏡面反射成分の最小値Ｉsｍｉｎが閾値Th２以上であるため、（数２３）の比の値が所定の精度で計算できる。
【０１１５】
ステップＳＤ１にて閾値Th２未満であった場合は、以下のステップＳＤ３以降を実行する。
【０１１６】
まず、最小値Ｉsｍｉｎが予め定めた閾値Th３未満であるかどうかを判定する（ＳＤ３）。閾値はTh３≦Th２の関係を満たすものとする。ここで、Th３＜Th２とした場合は、最小値Ｉsｍｉｎがさらに閾値Th３よりも小さい場合が存在する。その場合（ステップＳＤ３にてＮｏの場合）は、現在注目している画素位置については、ステップＳＤ２及び、後述するステップＳＤ５の計算のそれぞれにおいて計算誤差が大きいと判断し、屈折率計算を行わない（ＳＤ６）。尚、Th３＝Th２とした場合において、ステップＳＤ１において閾値Th２未満と判定されたときは、全て次のステップＳＤ４を実行する（ステップＳＤ３，ＳＤ６が省略される）。
【０１１７】
ステップＳＤ３にて、最小値Ｉsｍｉｎが予め定めた閾値Th３未満であった場合、現在注目している画素の入射角はブリュースタ角であると判断する（ＳＤ４）。つまり、閾値Th３は最小値Ｉsｍｉｎが０（ゼロ）とみなすことができるか否かを判断する閾値である。
【０１１８】
図２１は、鏡面反射成分の最小値Ｉsｍｉｎが閾値Th３未満である場合の、偏光素子の主軸と入射面のなす角度に対する輝度値変化を表したグラフの例である。この例では、鏡面反射成分の最小値ＩsｍｉｎがTh３未満であるため、現在注目している画素の入射角がブリュースタ角であると判断される。
【０１１９】
そして、既に求められた、現在の注目画素における入射角θｉを利用して、（数２４）により相対屈折率ｎを算出する（ＳＤ５）。
【数２４】
2007029446.tif 000087
【０１２０】
媒質１が空気の場合、相対屈折率の値はそのまま媒質２（被写体）の屈折率となる。本実施の形態では、複数の画素位置において独立に屈折率を算出した。また、被写体の屈折率は略一様であるという仮定があるので、算出した複数の屈折率の中間値又は平均値を計算することで、屈折率をよりロバストに推定可能である。
【０１２１】
（第２の実施形態）
図２２は、第２の実施形態に係る画像処理方法を実行する画像処理装置の構成を示すブロック図である。第１の実施形態及びその変形例で説明した、偏光画像取得部１００、偏光素子１０１、カメラ１０２、制御部１０３、フレームメモリ１０４、入射角算出部１０８、位相検出部１１１、分類部１０９、反射成分分離部１１０をそれぞれ２つずつ備えている。添え字ａ、ｂを用いて２組を区別する。また、法線算出部１０５を１つ備える。第２の実施形態に係る画像処理方法のフローチャートとしては、図２３を用いる。
【０１２２】
以下、図２２のブロック図及び図２３のフローチャートに従って、第２の実施形態に係る画像処理方法及び画像処理装置について説明する。
【０１２３】
まず、偏光画像取得部１００ａ，１００ｂのそれぞれにおいて、被写体の画像を撮影する（ＳＢ０）。それぞれにおける処理は、第１の実施形態の変形例におけるステップＳＢ０と同様である。すなわち、偏光画像取得部１００ａ，１００ｂにて、それぞれＦ（＝４）個ずつの画像を撮影する。偏光画像取得部１００ａ，１００ｂによって撮影された画像セットを、それぞれ、画像セットＡ，Ｂと呼ぶ。また、２台のカメラ１０２ａ、１０２ｂは、以降の法線算出ステップＳＣ４にてステレオ計測を行うために、予めカメラキャリブレーションを行っておくものとする。
【０１２４】
次に、位相検出部１１１ａ，１１１ｂのそれぞれにおいて、撮影された画像セットＡ，Ｂの画素毎に入射面を特定する（ＳＢ１）。それぞれにおける処理も、第１の実施形態の変形例におけるステップＳＢ１と同様である。
【０１２５】
次に、反復回数のカウンタｒを０にセットする（ＳＣ２）。
【０１２６】
次に、分類部１０９ａ，１０９ｂのそれぞれにおいて、画像セットＡ，Ｂのそれぞれに対して、入射面が類似している画素同士をクラスタリングする（ＳＣ３）。以降は、画像セットＡに対する処理を説明するが、画像セットＢに対する処理も同様である。
【０１２７】
クラスタリング手法として任意の方法を用いることができるが、ここではk-meanアルゴリズムを用いる。まず、初期クラスタとして、位相φで張られる１次元空間内に、Ｃ１個のクラスタ中心φｃ０を均等に配置する（ｃ＝０，…，Ｃ１-1）。クラスタ数Ｃ１は、予備実験において事前に決定しておく。鏡面反射が生じている画素数をＫ個とすると、位相（入射面方向）φkを有するｋ番目の画素が属するクラスタ番号は、（数２５）を満たすｃｋｊとすることができる（ｋ＝０，…，K-1）。
【数２５】
2007029446.tif 000088
【０１２８】
ここで、ｊはクラスタリング回数を表す。現在はｊ＝０である。φｃｊは、クラスタリングｊ回目のｃ番目のクラスタ中心を表す。また、関数ｄ(ｘ)は、図９で表されるように、ｘ=±π／２のときに極大値をとり、ｘ＝０，±πのときに極小値０をとる関数である。Ｋ個の画素を全てＣ１個のクラスタのどれかに属させた後は、クラスタ中心を更新（同時にｊをインクリメント）し、繰り返しクラスタリングを行う。全クラスタ中心の移動距離が予め定めた距離閾値よりも小さくなればクラスタリングを終了する。尚、クラスタリング回数ｊが予め定めた所定回数に達した場合にクラスタリングを終了するようにしてもよい。
【０１２９】
この段階では、鏡面反射が生じている画素を、入射面の方向が類似している画素同士にクラスタリングしただけであり、同一クラスタの中で入射角の大きさは類似していない場合がある。被写体の法線方向が未知の場合は入射角が算出できないので、ここでは、暫定クラスタリングとして、画像平面の座標が近いもの同士を更にクラスタリングする。Ｃ１個のクラスタに対し、それぞれを更にＣ２個のクラスタに分割する。結果としてＣ１×Ｃ２個のクラスタに分割されたことになる。クラスタリングの詳細については省略する。
【０１３０】
以上の処理を、画像セットＢに対しても行う。
【０１３１】
次に、反射成分分離部１１０ａ，１１０ｂのそれぞれにおいて、画像セットＡ，Ｂのそれぞれおける、同一のクラスタに含まれる画素の集合毎に反射成分分離を行う（ＳＣ７）。同一のクラスタに含まれる画素同士は、入射面がほぼ揃っている。また、画像平面での座標が近いもの同士をクラスタリングしているため、同一のクラスタに含まれる画素同士は入射角がほぼ揃っているとみなせる。よって、反射成分分離手法として特許文献２の方法を用いることができる。特許文献２の方法は特異値分解を利用しているが、一般的な独立成分分析の手法を用いることもできる。
【０１３２】
この段階で、異なる２つのカメラ１０２ａ、１０２ｂにより撮影された２つの画像セットＡ，Ｂから、それぞれ拡散反射成分と鏡面反射成分とを分離した。図２４に、ここまでの処理の概要を図示する。ただし、被写体上に法線によるエッジがある場合は、同一のクラスタに含まれる画素同士は入射角が揃っていないために、反射成分分離の精度が低くなっている可能性がある。そのため、本実施の形態では、分離した拡散反射成分より法線を推定し、得られた法線を用いて反射成分分離をする処理（ステップＳＣ４〜ＳＣ７）を少なくとも１回以上繰り返す。
【０１３３】
反復回数ｒが上限Ｒに達していないかのチェックを行い（ＳＣ８）、上限Ｒ以上であれば終了する。そうでなければｒを１だけインクリメントする（ＳＣ９）。
【０１３４】
次に、法線算出部１０５にて、被写体上の法線方向を算出する（ＳＣ４）。ここでは、カメラ１０２ａ，１０２ｂのそれぞれにより撮影された画像セットＡ，Ｂから分離された、２つの拡散反射画像を用いてステレオ視を行い、距離画像を得た後、法線方向を算出する。ステレオ視として、area-basedステレオ視を用いることができる。ステレオ視に関しては、多くの文献に記載があるが、例えば、「コンピュータビジョン  技術評論と将来展望，松山隆司・久野義徳・井宮淳編，新技術コミュニケーションズ，第８章ステレオ視」に概要が記載されているので、ここでは説明を省略する。
【０１３５】
ステレオ視により、両カメラ１０２ａ、１０２ｂにより撮影した輝度画像に対応するdepth画像Ｄａ(x，y），Ｄｂ(x，y)が得られる。ここで、(x，y)は、図４で説明した画像平面におけるｘ、ｙ座標値であり、depth画像の要素はカメラ座標系におけるＺ座標値である。次に、depth画像Ｄａ(x，y）から法線画像Ｎａ(x，y)を、depth画像Ｄｂ(x，y)から法線画像Ｎｂ(x，y)をそれぞれ生成する。法線画像の要素は、カメラ座標系（Ｘ，Ｙ，Ｚ）における単位法線ベクトル方向（ｎＸ，ｎＹ，ｎＺ）の３次元となる。
【０１３６】
depth画像から法線画像を算出するさまざまな方法が提案されているが、ここでは以下のような方法を用いる。depth画像において、図２５（ａ）のように座標（i，j）に注目した場合、８近傍のdepth値を利用して、図２５（ｂ）のように注目点と隣接８点との間に三角面を定義する。そして、各三角面の単位法線ベクトルを算出し、それらの単位法線ベクトルの平均を計算することにより、注目画素（i，j）の単位法線ベクトルＮを算出する。各三角面の法線ベクトル方向は、三角面を張る２つのベクトルの外積から計算できる。以上の方法を、depth画像Ｄａ，Ｄｂの全画素に対して適用することにより、法線画像Ｎａ，Ｎｂを得る。
【０１３７】
本実施の形態では、反射成分分離処理で得られた拡散反射画像をステレオ視に用いて、一度距離値を求め、その後、法線を算出したが、「L.B.Wolff, “Surface orientation from two camera stereo with polarizers”, in Proc. Opt. Illumination Image Sensing Machine Vision IV, vol.1194 (Philadelphia, PA), Nov. 1989, pp.287-297.」で開示されているように、鏡面反射の入射面を利用したステレオ視を用いて、法線を直接算出してもよい。この従来技術では、被写体上の同一点を２台のカメラで観測している場合、２台のカメラ両方で鏡面反射を観測する必要がある。２個のカメラ画像における対応点検出には、先に説明した拡散反射成分を利用したステレオ視を用いることができる。対応点が分かれば、鏡面反射成分の輝度値変化から求めた入射面を利用したステレオ視により法線を算出することができる。
【０１３８】
次に、入射角算出部１０８ａ，１０８ｂのそれぞれにおいて、被写体上の鏡面反射をカメラで観測している時の入射角を、鏡面反射が存在する画素毎に特定する（ＳＣ５）。ここでの処理は、第１の実施形態におけるステップＳＡ３と同様であるので詳細は省略する。
【０１３９】
次に、分類部１０９ａ，１０９ｂのそれぞれにおいて、画像セットＡ，Ｂのそれぞれに対して、入射面と入射角の両方がそれぞれ類似している画素同士をクラスタリングする（ＳＣ６）。ここでの処理は、第１の実施形態におけるステップＳＡ４と同様であるので詳細を省略する。
【０１４０】
次に、反射成分分離部１１０ａ，１１０ｂのそれぞれにおいて、画像セットＡ，Ｂのそれぞれおける、同一のクラスタに含まれる画素の集合毎に反射成分分離を行う（ＳＣ７）。同一のクラスタに含まれる画素同士は、入射面がほぼ揃っている。また、入射角に関しては、ｊ＝０回目の反射成分分離で得られた拡散反射成分を利用して法線を算出しており、前回よりも入射角が揃ったクラスタリングが達成できている。よって、特許文献２の方法を再度用いて、反射成分分離を行う。
【０１４１】
以上説明した、ステップＳＣ４〜ＳＣ７の各処理を、所定回数Ｒに達するまで繰り返し行うことにより、精度の良い反射成分分離が行い得る。
【０１４２】
尚、第２の実施形態に係る画像処理方法に従って反射成分分離を行った後に、上述した屈折率推定を行うことも可能である。
【産業上の利用可能性】
【０１４３】
本発明は、一般的な照明環境で撮影した画像について、拡散反射成分と鏡面反射成分とを分離するための画像処理方法を提供するので、拡散反射成分を利用する、多くの画像処理アルゴリズムの前処理として利用できる。また、物体の反射特性を計算機上に取り込み（modeling）、見えを正確に再現する(rendering)というＣＶ（Computer Vision）／ＣＧ（Computer Graphics）の分野において、modelingの第１ステップとしても利用可能である。
【図面の簡単な説明】
【０１４４】
【図１】本発明の第１の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図２】本発明の第１の実施形態に係る画像処理方法を示すフローチャートである。
【図３】本発明の第１の実施形態における偏光フィルタの主軸方向を示す図である。
【図４】本発明の各実施形態における座標系を説明する図である。
【図５】鏡面反射の入射面を画像平面に射影してできる直線（入射面方向）を示す図である。
【図６】鏡面反射の入射面を画像平面に射影してできる入射面方向を表現する角度を説明する図である。
【図７】入射面方向の２次元分布を示す図である。
【図８】入射角の２次元分布を示す図である。
【図９】本発明の第１の実施形態における、クラスタリング時の距離尺度を決定する関数の例を示すグラフである。
【図１０】被写体が球体のときのクラスタリング結果を示す図である。
【図１１】本発明の第１の実施形態の変形例に係る画像処理装置の構成例を示すブロック図である。
【図１２】本発明の第１の実施形態の変形例に係る画像処理方法を示すフローチャートである。
【図１３】本発明の第１の実施形態の変形例における偏光フィルタの主軸方向を示す図である。
【図１４】鏡面反射を含む被写体上の領域を、偏光フィルタの主軸方向を変化させて観測した時の輝度値に、sin関数をフィッティングさせた結果を示すグラフである。
【図１５】被写体の３次元姿勢及び３次元位置を決定するために、入射面方向の２次元分布を利用する様子を示した図である。
【図１６】被写体の３次元姿勢および３次元位置の決定のため、入射面方向の２次元分布のマッチングを行う様子を示した図である。
【図１７】本発明の屈折率推定方法を示すフローチャートである。
【図１８】屈折率を推定する際に利用する、偏光フィルタ主軸角度と鏡面反射輝度値の関係を示すグラフである。
【図１９】偏光素子の主軸と入射面のなす角度に対する輝度値変化について、（ａ）反射成分分離前と（ｂ）反射成分分離後（鏡面反射成分のみ）との場合について表したグラフの例である。
【図２０】鏡面反射成分の最小値Ｉsｍｉｎが閾値Th2以上である場合の、偏光素子の主軸と入射面のなす角度に対する輝度値変化を表したグラフの例である。
【図２１】鏡面反射成分の最小値Ｉsｍｉｎが閾値Th３未満である場合の、偏光素子の主軸と入射面のなす角度に対する輝度値変化を表したグラフの例である。
【図２２】本発明の第２の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図２３】本発明の第２の実施形態に係る画像処理方法を示すフローチャートである。
【図２４】本発明の第２の実施形態において、反射成分分離までを行う様子を示した図である。
【図２５】depth画像から法線を算出する方法の例を示す図である。
【図２６】相対屈折率が１．６の場合のフレネル強度反射率を示すグラフである。
【図２７】偏光フィルタ主軸角度と観測される輝度値の関係を示すグラフである。
【図２８】平行光照明・正射影カメラモデルの下で屈折率一様の被写体を、偏光フィルタ主軸を変化させながら観測した場合の、画像ベクトルの変化範囲を示す図である。
【図２９】平行光照明・正射影カメラモデルの下で屈折率一様の被写体を、２通りの偏光フィルタ主軸で観測した場合の、２つの画像ベクトル、拡散反射画像ベクトル、鏡面反射画像ベクトルの関係を示す図である。
【図３０】複数方向に照明が存在する環境下で球状の被写体を撮影した画像である。
【図３１】図３０の画像を撮影した照明環境を示す図である。
【図３２】図３０の被写体の鏡面反射領域における、偏光フィルタ角度と観測輝度値の関係を示すグラフである。
【図３３】特許文献２の方法が前提とする条件を図示した図である。
【図３４】本発明において、入射角が等しい画素同士をクラスタリングした様子を示した図である。
【符号の説明】
【０１４５】
１００  偏光画像取得部
１０１  偏光素子
１０２  カメラ
１０６  法線算出部
１０７  入射面特定部
１０８  入射角算出部
１０９  分類部
１１０  反射成分分離部
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2007029446.tif 000089
【図２】
2007029446.tif 000090
【図３】
2007029446.tif 000091
【図４】
2007029446.tif 000092
【図５】
2007029446.tif 000093
【図６】
2007029446.tif 000094
【図７】
2007029446.tif 000095
【図８】
2007029446.tif 000096
【図９】
2007029446.tif 000097
【図１０】
2007029446.tif 000098
【図１１】
2007029446.tif 000099
【図１２】
2007029446.tif 000100
【図１３】
2007029446.tif 000101
【図１４】
2007029446.tif 000102
【図１５】
2007029446.tif 000103
【図１６】
2007029446.tif 000104
【図１７】
2007029446.tif 000105
【図１８】
2007029446.tif 000106
【図１９】
2007029446.tif 000107
【図２０】
2007029446.tif 000108
【図２１】
2007029446.tif 000109
【図２２】
2007029446.tif 000110
【図２３】
2007029446.tif 000111
【図２４】
2007029446.tif 000112
【図２５】
2007029446.tif 000113
【図２６】
2007029446.tif 000114
【図２７】
2007029446.tif 000115
【図２８】
2007029446.tif 000116
【図２９】
2007029446.tif 000117
【図３１】
2007029446.tif 000118
【図３２】
2007029446.tif 000119
【図３３】
2007029446.tif 000120
【図３４】
2007029446.tif 000121
【図３０】
2007029446.tif 000122
【手続補正書】
【提出日】平成19年1月18日(2007.1.18)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１１６
【補正方法】変更
【補正の内容】
【０１１６】
まず、最小値Ｉsｍｉｎが予め定めた閾値Th３未満であるかどうかを判定する（ＳＤ３）。閾値はTh３≦Th２の関係を満たすものとする。ここで、Th３＜Th２とした場合は、最小値Ｉsｍｉｎが閾値Th３以上である場合が存在する。その場合（ステップＳＤ３にてＮｏの場合）は、現在注目している画素位置については、ステップＳＤ２及び、後述するステップＳＤ５の計算のそれぞれにおいて計算誤差が大きいと判断し、屈折率計算を行わない（ＳＤ６）。尚、Th３＝Th２とした場合において、ステップＳＤ１において閾値Th２未満と判定されたときは、全て次のステップＳＤ４を実行する（ステップＳＤ３，ＳＤ６が省略される）。
【国際調査報告】
2007029446.tif 000123
2007029446.tif 000124