以下、図面を参照しながら本発明の実施形態を説明する。
(第1の実施形態)
まず、本発明の第1の実施形態における画像処理装置の概要について説明する。
図1は、本実施形態に係る画像処理装置におけるブロック図を示している。この画像処理装置は、被写体を撮像することによって前記被写体の画像の成分分離を行う装置であり、直線偏光光を前記被写体に投光する投光部101と、偏光主軸角度が異なる3方向以上の偏光子を透過してくる光をカラーフィルタを通して受光することで、被写体のカラー偏光画像を取得するカラー偏光取得部102と、カラー偏光取得部102で取得した画像からカラー画像を生成するカラー情報処理部103と、カラー偏光取得部102で取得した画像から、当該偏光画像を構成する単位画素のそれぞれについて、前記3方向以上の偏光子を透過した光の輝度との対応関係を用いて、受光した偏光に関するカラー情報であるカラー偏光情報を生成する偏光情報処理部104と、被写体を投光している光源の色情報を取得する光源色情報取得部105と、偏光情報処理部104によって生成された偏光情報と光源色情報取得部105によって取得された光源色情報を利用して、カラー情報処理部103で取得したカラー画像の成分分離を行う画像成分分離部106と、画像分離部106で生成された信号を出力する出力部とを備える。
本明細書において、「偏光画像」とは、特定の偏光主軸角度を有する偏光フィルタ(偏光子)を透過してきた光によって形成される画像である。複数の偏光主軸角度の各々について、異なる「偏光画像」を得ることが可能である。また、「カラー偏光画像」とは、特定の偏光主軸角度を有する偏光フィルタ(偏光子)を透過してきた光のうち、主波長が異なる複数の色の光によって形成される画像である。ある偏光主軸角度を有する偏光フィルタ(偏光子)を透過してきた光に基づいて、典型的には、赤(R)、緑(G)、青(B)のカラー偏光画像が得られる。カラー偏光画像が得られると、単位画素ごとにR、G、Bの輝度からなる色ベクトルが定まる。同様に、偏光フィルタを透過しない光によって形成されるカラー画像が得られると、そのカラー画像の色ベクトルも定まる。本明細書における「成分分離」とは、1つの色ベクトルを複数の色ベクトル(成分)の和として表することに対応する。
次に、本実施形態における画像処理の動作を説明する。図2は本実施形態に係る画像処理の動作を示すフローチャートである。図2のステップS101において、投光部101は、偏光光を被写体へ投光する。ステップS102において、カラー偏光取得部102は、パターン化偏光子およびカラーフィルタを通して被写体を撮像素子で受光することで、カラー偏光情報を含んだカラー偏光画像を取得する。パターン化偏光子は、後述するように3方向以上の偏光主軸角度(偏光透過軸の回転角度)をもつ。
ステップS103において、カラー情報処理部103は、カラー偏光取得部102から出力される情報を用いて、カラー画像情報を取得する。偏光情報処理部104は、カラー偏光取得部102から出力される情報を用いて、偏光情報として、後述する偏光最小カラー成分Iminと偏光振幅カラー成分Iampとを生成する(ステップS104)。また、光源色情報取得部105は、被写体を照射している光源の色ベクトルILightを取得する(ステップS105)。ステップS103、ステップS104、ステップS105の順序は任意であり、並列的に実行してもよいし、順次実行しても良い。
ステップS106において、画像成分分離部106は、偏光情報処理部104によって生成された偏光振幅カラー成分Iampを、偏光振幅光源色ベクトル成分Iamp1と偏光振幅偏光最小カラーベクトル成分Iamp2へ分離する。さらに、ステップS107において、画像成分分離部106は、偏光情報処理部104で生成された偏光振幅偏光最小カラー成分Iminを拡散反射非偏光成分として、偏光振幅偏光最小カラーベクトル成分Iamp2を拡散反射偏光成分として、偏光振幅光源色ベクトル成分Iamp1を鏡面反射偏光成分として成分分離を行う。
ここでは、カラー偏光取得部102、カラー情報処理部103、偏光情報処理部104、光源色情報取得部105および画像成分分離部106は、図3に示すCPU205がプログラムを実行することによって、実現されるものとする。ただし、これらの機能の全部または一部を、ハードウエアによって実現しても良い。また、図3に示すメモリ204はカラー偏光取得部102によって取得された情報、カラー情報処理部103によって取得されたカラー画像情報、偏光情報処理部104によって取得された偏光情報および光源色情報取得部105によって取得された光源色ベクトル情報を格納する。
次に、図3を参照しながら、本実施形態に係る画像処理装置が搭載されたカメラの構成と動作を説明する。図3は、このようなカメラの構成例を示すブロック図である。図3のカメラは、パターン化偏光子201、カラー撮像装置208、メモリ204、CPU205、発光装置206、および偏光子207を備えている。カラー撮像装置208は、カラーフィルタ202および撮像装置203を備えている。
投光部101は、発光装置206と偏光子207を利用し、偏光光を被写体へ投光する。これは、例えばカメラのフラッシュを発光装置206として利用する場合、フラッシュの前方に偏光フィルタ(偏光子207)を設置することで実現できる。偏光光を利用する手段として、液晶偏光子などを利用しても良い。
カラー偏光取得部102は、パターン化偏光子201およびカラーフィルタ202を通して被写体を撮像素子で受光することで、カラー偏光情報を含んだカラー画像であるカラー偏光画像を取得する。また、カラー情報処理部103は、カラー偏光取得部102から出力される情報を用いて、カラー画像情報を計算する。さらに、偏光情報処理部104は、カラー偏光取得部102から出力される情報を用いて、偏光情報を計算する。この処理を詳述する。
図4は、カラー偏光取得部102、カラー情報処理部103および偏光情報処理部104の構成を示すブロック図である。被写体からリアルタイムにカラー画像情報と偏光画像情報を取得し、偏光情報として、非偏光成分である偏光最小カラー情報を出力する。レンズ220および絞り221を通った入射光は、カラー偏光取得部102に入射する。この入射光から、カラー偏光取得部102はカラー画像情報および偏光画像情報の両方をリアルタイムに取得することができる。カラー偏光取得部102からは、カラー画像情報および偏光情報を示す信号が出力され、それぞれ、カラー情報処理部103および偏光情報処理部104に与えられる。カラー情報処理部103および偏光情報処理部104は、上記信号に対して各種の処理を施し、カラー画像lm、偏光最小カラー情報Iminを出力する。
図5は、カラー偏光取得部102の基本的な構成を示す模式図である。図示されている例では、カラーフィルタ202およびパターン化偏光子201が、撮像素子画素203の前面に重ねて設置されている。またカラーフィルタとパターン化偏光子の設置の順番は任意である。入射光は、カラーフィルタ202およびパターン化偏光子201を透過して撮像素子に到達し、撮像素子画素203によって輝度が観測される。このように本実施形態によれば、カラーモザイク型の単板カラー撮像素子を用いてカラー情報および偏光情報の両方を取得することができる。
図6(a)は、カラー偏光取得部102における撮像面の一部を光軸方向の真上から見た図である。図6(a)には、簡単のため、撮像面のうち、16個の画素(4×4)のみが図示されている。図示されている4つの矩形領域301〜304は、それぞれ、4個の画素セル上に設置されたベイヤ型カラーモザイクフィルタの対応部分を示している。矩形領域301は、B(Blue:青色)フィルタ領域であり、画素セルB1〜B4をカバーしている。画素セルB1〜B4には、それぞれ異なる偏光主軸を有するB用パターン化偏光子が密着している。ここで、「偏光主軸」とは、偏光子を透過する光の偏波面(透過偏波面)に平行な軸である。本実施形態では、同一色の画素内において異なる角度の透過偏波面を有する偏光子単位(微小偏光板)が隣接して配置されている。より詳細には、透過偏波面の方向が相互に異なる4種類の偏光子単位がR、G、Bの各同一色の画素内に配置されている。1つの偏光子単位は、1つ微細な偏光画素に対応している。図6(a)では、個々の偏光画素に対して、G1などの符号が与えられている。
図6(b)は、B用パターン化偏光子が密着する4つの微細偏光画素に割り当てられる偏光主軸を示している。図6(b)において、各微細偏光画素に記載された直線は、微小偏光板の偏光主軸方向を模式的に示している。図6(b)の例では、4つの微細偏光画素が、それぞれ、角度Φi=0°、45°、90°、135°の偏光主軸を有している。
矩形領域302、304の画素には、それぞれ、4個のG(Green:緑色)用パターン化偏光子が密着し、矩形領域303の画素には、4個のR(Red:赤色)用パターン化偏光子が密着している。図中、参照符号「305」で示される位置は、本撮像系における4画素を一括した仮想的な画素位置を示している。各矩形領域302〜304のパターン化偏光子も、図6(b)に示すように異なる4つの偏光主軸を有する部分に分割されている。
図7(a)は、カラー偏光取得部102における画素配列の他の例を示す図である。この例では、45°傾いた3×3ブロック内にG画素が十文字型に配置されており、G画素の周囲の4画素にR、Bが交互に配置される。図7(b)は、各カラー画素の微細構造を示しており、各カラー画素は、4種類の微細偏光画素から構成されている。
このように本実施形態では、各カラー画素に対して、異なる偏光主軸を有する複数の微細偏光画素が包含される点に特徴を有しており、カラーモザイク配列自体は任意である。以下の説明では、個々の微細偏光画素を「偏光画素」と称することとする。
図8(a)から図8(c)は、それぞれ、B、G、R偏光画素の波長特性を模式的に示すグラフである。各グラフの縦軸は透過光の強度、横軸は波長である。B、G、R用の偏光画素は、B、G、Rの各波長帯域においてTM(Transverse Magnetic Wave)波を透過し、TE(Transverse Electric Wave)波を反射(透過せず)する偏光特性を有している。TM波は、磁場成分が入射面に対して横向きの波であり、TE波は、電場成分が入射面に対して横向きの波である。
図8(a)には、B偏光画像の偏光特性402、403と、B用カラーフィルタの透過特性401とが示されている。偏光特性402、403は、それぞれ、TM波およびTE波の透過率を示している。
図8(b)には、G偏光画像の偏光特性405、406と、G用カラーフィルタの透過特性404とが示されている。偏光特性405、406は、それぞれ、TM波およびTE波の透過率を示している。
図8(c)には、R偏光画像の偏光特性408、409と、R用カラーフィルタの透過特性407とが示されている。偏光特性408、409は、それぞれ、TM波およびTE波の透過率を示している。
図8(a)から図8(c)に示すような特性は、例えば「川嶋,佐藤,川上,長嶋,太田,青木,“パターン化偏光子を用いた偏光イメージングデバイスと利用技術の開発”,電子情報通信学会2006年総合全国大会,No.D−11−52,P52,2006」に記載されたフォトニック結晶を用いて実現することができる。フォトニック結晶の場合、その表面に形成された溝に平行な電場ベクトル振動面を持つ光がTE波、垂直な電場ベクトル振動面を持つ光がTM波となる。
本実施形態で重要な点は、図8(a)から図8(c)に示すように、B、G、Rの透過波長帯域の各々において偏光分離特性を示すパターン化偏光子を用いることにある。
図9は、Gのカラーフィルタの透過域と、偏光特性410、411によって定まる偏光分離域との間で波長がずれている場合を示している。このような特性を示す偏光子によれば、本発明の目的とする動作を行うことはできない。
モノクロ輝度と偏光フィルタとを使用する場合には、偏光分離特性を示す波長域の最適化は不要であったが、カラーの画素ごとに偏光情報を取得する場合は、カラーの分離特性と偏光の分離特性と整合させる必要がある。
本明細書では、偏光画素における偏光主軸の方位を表示する4つの数字「1、2、3、4」と、カラーを区別するため3つの符号「R、G、B」の組み合わせ(例えば「R1」や「G1」など)を用いて、偏光画素の特性を示すこととする。偏光画素R1および偏光画素G1は、数字が同じであるため、偏光主軸の方向は一致しているが、RGB符号が異なるため、透過する光の波長帯域が異なる偏光画素に相当している。本実施形態では、このような偏光画素の配列を、図5に示すカラーフィルタ202およびパターン化偏光子201の組み合わせによって実現している。
被写体の特に明るい鏡面反射部分に含まれる偏光成分や、被写体の影領域に含まれる偏光成分などを確実に取得するため、撮像素子の輝度ダイナミックレンジとビット数はなるべく大きいこと(例えば16bit)が望ましい。
また、カラー偏光取得部102は投光制御部101と同期処理を行うことが望ましい。これは、例えば、カメラのフラッシュなどを投光部101として利用する場合、投光部101の発光タイミングの直後にカラー偏光取得部102は撮像を行うようにすればよい。
図5に示す構成によって偏光画素ごとに取得された輝度の情報は、図4の偏光情報処理部104で処理される。以下、この処理を説明する。
図10は、方向が異なる偏光主軸(Φi=0°、45°、90°、135°)を有する4種類の偏光子を透過した光の輝度501〜504を示している。ここで、偏光主軸の回転角ΦがΦiのときにおける観測輝度をI(Φi)とする。ただし、「i」は、1以上N以下の整数、「N」はサンプル数とする、図10に示す例では、N=4であるため、i=1、2、3、4となる。図10には、4画素のサンプル(Φi,Ii(Φi))に対応する輝度501〜504が示されている。
偏光主軸の角度Φiと輝度501〜504との関係は、正弦関数カーブによって表現される。図10では、輝度501〜504の4点が1本の正弦関数カーブ上に位置するように記載されているが、より多くの観測輝度に基づいて正弦関数カーブを決定した場合、観測輝度の一部が正弦関数カーブ上から僅かに外れる場合もあり得る。
なお、本明細書における「偏光情報」とは、輝度の偏光主軸角度に対する依存性を示す正弦関数カーブにおける振幅変調度および位相情報を意味するものとする。
実際の処理では、図6(a)に示す同一カラー領域301〜304ごとに内部の4個の画素輝度をサンプルとして、パターン化偏光子の主軸角Φに対する反射光輝度Iを以下のように近似する。
ここで図8に示すようにA、B、Cは定数であり、それぞれ、偏光輝度の変動カーブの振幅、位相、平均値を表現している。(式1)は、以下のように展開できる。
ただし、AおよびBは、それぞれ、以下の(式3)および(式4)で示される。
以下の(式5)を最小にするA、B、Cを求めれば、輝度Iと偏光主軸角Φとの関係を(式1)の正弦関数によって近似できる。
以上の処理で1つのカラーについて正弦関数近似のA、B、Cの3パラメータが確定する。
こうして、非偏光成分である偏光最小輝度I
minおよび偏光成分である偏光振幅輝度I
ampを以下の式6および式7より求める。
・偏光最小輝度I
min
・偏光振幅輝度I
amp
なお、本実施形態の画像処理装置は、偏光最小輝度I
minおよび偏光振幅輝度I
ampを出力としているが、出力する偏光情報は、図10の正弦関数から得られる情報であれば、他の情報の組であってもよい。例えば、偏光度画像ρ、偏光位相画像Φ
max、偏光推定誤差E、正弦関数の最高輝度I
maxの値と、それぞれの組み合わせを偏光情報として出力してもよい。
・偏光度ρ
・偏光位相φ
max(0≦φ
max≦π[rad])
・偏光推定誤差E
・偏光最大輝度I
max
ここで、偏光度ρは、該当画素の光が偏光している程度を表し、偏光位相Φmaxは、該当画素の光の部分偏光の主軸角度を表している。また、偏光推定誤差とは、4画素のサンプルについて観測された輝度と近似によって得られた上述の正弦関数から定まる輝度との差の合計である。なお、偏光の主軸角度は0と180°(π)は同一である。
カラー情報処理部103は、カラー偏光取得部102から出力される情報を用いて、カラー輝度を計算する。偏光子を透過した光の輝度は、偏光子に入射する前の光が有する本来の輝度とは異なる。非偏光照明の場合、理論的には、偏光のすべての偏光主軸における観測輝度を平均化した値が偏光子に入射する前の光が有する本来の輝度に相当する。偏光画素R1における観測輝度をI
R1と表現すると、以下の式12に基づいて、カラー輝度を算出することができる。
以後、このようなカラー輝度を有する単位画素の集合からなる画像をカラー画像Iと表現する。
各偏光画素における輝度を得ることにより、通常のカラーモザイク画像を生成できる。モザイク画像に基づいて各画素でRGB画素値を有するカラー画像へ変換することにより、カラー画像Iが生成される。このような変換は、例えばベイヤーモザイク補間方法などの公知の補間技術を用いて実現される。
この手法を用いることにより、偏光情報である偏光最小輝度I
minおよび偏光振幅輝度I
ampとは別に、RGBの3つの輝度からなる色ベクトルによって表現される「カラー情報」として、偏光最小カラー成分I
minおよび偏光振幅カラー成分I
ampを取得することができる。また、このとき、カラー画像Iとカラー情報との間には、以下の関係が成立する。
図11(a)は、グレープフルーツ(被写体)のカラー画像I(x,y)の輝度のみを示す図である。図11(b)および図11(c)は、それぞれ、図11(a)の被写体に関する偏光最小輝度Imin(x、y)および偏光振幅輝度Iamp(x,y)の画像の例を示している。本来、これらの画像はカラー画像であるが、モノクロ化されている。また、図12は、図11の各図を模式的に示した図(濃淡を明瞭化した図)である。この図において、各領域(A01〜B06)は、図13における各領域に対応する。
カラー画像I(x,y)や、各画素の輝度および偏光情報は、図6(b)に示す4つの偏光画素を用いて得られるため、個々の輝度および偏光情報は、図6(b)に示す4つの偏光画素の中心に位置する仮想画素点305における値を示していると考えることができる。したがって、カラー画像および偏光画像の解像度は、いずれも、撮像素子の解像度の縦1/2×横1/2に低下する。
しかしながら、本実施形態では、図6や図7に示すように、1色のカラーモザイク画素内に複数の微細な偏光子が存在するため、微細画像にて4分割しないカラーモザイク画素を用いる場合の解像度と比較した場合には同等の解像度である。
次に、図14を参照しながら、図1におけるカラー情報処理部103および偏光情報処理部104の動作を説明する。
まず、最初にカラー偏光取得部102にてカラー画像と偏光情報画像をリアルタイムに取得する。ステップS201〜S203において、カラー画像のR、G、Bの各画素における複数の偏光輝度の観測値を取得する。ステップS201〜S203の順序は任意であり、並列的に実行されてもよい。具体的には、R、G、Bのカラーモザイク画素内で4種類の偏光輝度を取得する。偏光輝度を示す信号は、偏光情報処理部104に送られ、ステップS204〜S208において、以下のように処理される。
すなわち、ステップS204〜S206の各々において、R画素、G画素、B画素の各々から得られる変動輝度に基づいて、正弦関数パラメータを算出する。正弦関数パラメータは、前述の式1におけるA、B、Cで規定される。ステップS204〜S206の処理も、互いに独立しているため、任意の順序で行うことができ、並列的に実行されてもよい。つぎに、ステップS207において、偏光情報処理部104は、正弦関数の最小輝度と振幅成分を求めることにより、非偏光成分である偏光最小輝度Iminおよび偏光成分である偏光振幅輝度Iampを生成する。
その後、カラー情報処理部103により、ステップS208の処理が実行される。具体的には、前述の式12を用いて、R、G、Bの平均輝度が求められ、カラー輝度画像I(x,y)が生成される。
なお、本実施形態では、パターン化偏光子にフォトニック結晶を用いているが、偏光素子は、フィルム型の偏光素子、ワイヤーグリッド型、その他の原理による偏光素子であってもよい。
カラー画像を取得するために、カラーフィルタを利用するのではなく、フォビオン素子などを利用しても良い。この場合、図3の本実施形態に係る画像処理装置が搭載されたカメラの構成例は、カラーフィルタ202および撮像装置203をカラー撮像装置208とする構成となる。
光源色情報取得部105は、被写体を照射している光源の色情報を取得する。被写体を照射している光源が、投光部101による発光装置206のみである場合、光源の色情報は既知である。これは、発光装置206の色情報を、画像処理装置のメモリ204に保持しておき、光源色情報取得部105は、メモリ204から光源色情報を呼び出すようにすればよい。また、投光部101による発光装置206以外の光源が被写体を照射している場合、光源色情報取得部105は、例えば、被写体近傍に光源情報を推定するための形状・表面反射率既知のターゲットを配置し、カラー撮像装置208によって撮像したその画像から色情報を推定すればよい(例えば、「神原誠之,横矢直和,"光源環境の実時間推定による光学的整合性を考慮したビジョンベース拡張現実感",電子情報通信学会技術研究報告,パターン認識・メディア理解,PRMU2002−190,pp. 7−12,2003」)。この処理について詳述する。
光源色情報の取得は、例えば図15に示した鏡面とみなせる球601を利用して行う。鏡面球601を被写体近傍に設置し、その位置や法線方向は既知とする。この鏡面球601をカラー偏光取得部102によって撮像し、カラー情報処理部103でカラー画像を取得する。このとき、鏡面球601には、撮影環境が映り込んでいる。光源は輝度が高いことを考慮すると、撮影された鏡面球の画像から、高輝度の画素を鏡面反射画素として検出する。鏡面の反射率も既知であるため、鏡面反射画素の色情報を検出することにより、光源の色ベクトル情報を取得できる。
このようなターゲットを常に撮影するのではなく、以前に撮影して求めた光源色情報を使うようにしても良い。これは、屋内の監視カメラのように光源環境が変わらない場合に有効である。このような場合、カメラを設置した際にターゲットを撮影し、光源情報を取得するようにすればよい。光源は白色であると仮定して、処理を行うようにしても良い。これは、蛍光灯照明下で撮像する場合や、昼間、屋外で撮影する場合に有効である。
画像成分分離部106は、偏光情報処理部104によって生成された偏光情報と光源色情報取得部105によって取得された光源色ベクトル情報を利用して、カラー情報処理部103によって取得されたカラー画像に対して成分分離を行う。
まず、従来の偏光情報を利用した偏光情報を利用した分離手法(例えば、特許文献1)とその問題点について説明する。この手法は、偏光情報処理部104で取得された偏光最小輝度Iminを拡散反射成分、偏光振幅輝度Iampを鏡面反射成分と分離するものである。
この手法は、以下の通り、鏡面反射と拡散反射の偏光特性の違いに依存している。
・鏡面反射成分は表面反射によって生じるため、入射光の偏光特性が保持されている。そのため、カメラで観測された輝度の偏光成分として観測される。
・拡散反射はスキャッタリングを繰り返しているため、入射光の偏光特性が失われている。そのため、カメラで観測された輝度の非偏光成分として観測される。
これらの偏光特性は、以下の2条件を前提としている。
(条件1)直線偏光光が投光されている場合、鏡面反射成分は偏光成分として観測される。
(条件2)直線偏光光が投光されている場合、拡散反射成分は非偏光成分として観測される。
従来の成分分離法によれば、図11(b)の画像が拡散反射成分を示すものとして扱われ、図11(c)の画像が鏡面反射成分を示すものとして扱われる。しかし、図11(c)に示されるように、出射角が十分に大きい(遮蔽エッジ近傍)領域では、本来存在しないはずの鏡面反射成分が検出されている。このことから、偏光情報を利用した拡散反射成分・鏡面反射成分分離手法は十分な精度が達成できないと判断できる。
このような問題は、拡散反射成分の一部が偏光し、(条件2)が満たされないために生じる。以下、このことについて、詳述する。
図16、図17は被写体の屈折率n=1.1、n=1.3、n=1.5、n=2.0の場合における鏡面反射成分と拡散反射成分の偏光度を示したグラフである(例えば、L. B. Wolff and T. E. Boult, “Constraining object features using a polarization reflectance model”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.13,No.7,pp.635−657,1991参照)。
ここで、図16の横軸は入射角、縦軸は鏡面反射成分偏光度、また、図17の横軸は出射角、縦軸は拡散反射成分偏光度を示している。この図は、被写体表面へ非偏光光を投光した場合、出射光や反射光はどの程度、偏光するかを示している。つまり、偏光度が0に近いほど出射光(反射光)は非偏光となり、偏光度が1に近いほど直線偏光に近づく。この図から、以下のことがわかる。
・出射角が十分に大きい領域以外では、拡散反射成分の偏光度は十分小さい。
・出射角が十分に大きい領域では、拡散反射成分の偏光度は、鏡面反射成分の偏光度に比べて十分に大きい。
ここで、(条件2)に着目する。(条件2)が成立するためには、少なくとも、非偏光光が投光されている場合には、出射光が非偏光とならなければいけない。すなわち、偏光度は十分小さくなければいけない。このことを考慮すると、以下のことが推測される。
・出射角が十分に大きい領域(遮蔽エッジ近傍)では、(条件2)が成立しない。
これが、図11(b)および図11(c)において、鏡面反射成分と拡散反射成分の分離が正確に作用しなかった大きな原因である。
本実施形態における画像成分分離部106は、色情報を利用することにより、上記問題を解決する。以下、本実施形態における画像成分分離部106について詳述する。
まず、色情報による鏡面反射成分と拡散反射成分を分離で広く使われている、2色性反射モデルについて説明する。
2色性反射モデルでは、画素(x,y)で観測されるカラー画像における被写体の色ベクトルI(x,y)は、次式のように分解できる。
ここで、I
Lightは光源の色ベクトル、I
Object(x,y)は画素(x,y)での物体色ベクトルを示している。色ベクトルとは、R、G、B各色の輝度をベクトルとして表現した、3次元ベクトルである。また、C’1(x,y)およびC’2(x,y)は光源色ベクトルと物体色ベクトルの重みを示している。この式から、画素(x,y)での鏡面反射成分I
s(x,y)および拡散反射成分I
d(x,y)は、次式のように分離できることがわかる。
しかし、従来の色情報による鏡面反射成分・拡散反射成分分離手法では、物体色ベクトルが未知であるため、式14のような成分分離を行うことができなかった。そこで、本実施形態における画像成分分離部106では、物体色ベクトルとして、偏光情報処理部104から求めた偏光最小カラー情報Iminを利用することで、この問題を解決する。
前述のように、偏光情報による鏡面反射成分・拡散反射成分分離手法では、直線偏光光が投光されている場合であっても、遮蔽エッジ近傍では、拡散反射成分は非偏光成分としてのみ観測されるだけではなく、偏光成分としても観測される。しかし、非偏光成分は拡散反射成分であると考えられるため、式6によって求められた偏光最小カラー情報I
minは物体色ベクトルに等しいと考えられる。そこで、本実施形態における画像成分分離部106は、以下の式を利用することで、鏡面反射成分と拡散反射成分を分離する。
ここで、カラー画像I(x,y)は、2倍された偏光振幅カラー成分I
ampと偏光最小カラー情報I
minとの和であることを利用している。つまり、画像成分分離部106は、偏光振幅カラー成分I
ampを光源色ベクトル成分と偏光最小カラーベクトル成分に分離する。この処理を行うことにより、画像成分分離部106は、カラー画像I(x,y)を、式17にしたがい、以下のように偏光振幅光源色ベクトル成分I
amp1(x,y)および偏光振幅偏光最小カラーベクトル成分I
amp2(x,y)および偏光最小カラー成分I
min(x,y)へ分離する。
図18(a)は、被写体の位置(x,y)=(514,432)、(780,330)、(528,394)における画素の色ベクトルI(x,y)の数値例を示している。図18(a)に示すように、位置(x,y)=(514,432)、(780,330)における画素の色ベクトルI(x,y)は、Iamp1(x,y)+Iamp2(x,y)+Imin(x,y)で表されている。
一方、鏡面反射領域内の位置(x,y)=(528,394)における色ベクトルI(x,y)は、画像内で最も輝度が高い。そのため、後述するように、(x,y)=(528,394)の色ベクトルを光源の色ベクトルILightとして推定する。
後述する方法によって画像の成分分離を行うと、画素ごとにI(x,y)をIamp1(x,y)、Iamp2(x,y)、およびImin(x,y)に分離することができる。図18(b)に例として示す位置(x,y)=(514,432)の画素におけるIamp1(x,y)、Iamp2(x,y)、およびImin(x,y)は、それぞれ、[7269,7132,6505]、[4151,1705,821]、および[11845,4865,2345]である。なお、[]内の3つの数値は、前述したように、R、G、B各色の輝度である。同様に、位置(x,y)=(780,330)の画素におけるIamp1(x,y)、Iamp2(x,y)、およびImin(x,y)は、それぞれ、[37,37,33]、[1455,530,244]、および[4207,1532,706]である。
ここで、色ベクトルはRGBの3次元ベクトルであることに着目すると、偏光振幅カラー成分I
amp(x,y)は以下のように表現される。
ただし、Ramp(x,y)、Gamp (x,y)、Bamp (x,y)は、偏光振幅カラー成分Iamp(x,y)のR成分、G成分、B成分であり、RLight、GLight、BLightは、光源色ベクトルILightのR成分、G成分、B成分である。また、Rmin(x,y)、Gmin (x,y)、Bmin (x,y)は、偏光最小カラー成分Imin(x,y)のR成分、G成分、B成分である。
式19において、被写体の色ベクトルI(x,y)はカラー画像処理部103から求まっている。光源色ベクトルI
Lightは、光源色情報取得部105より既に求まっている。また、偏光最小カラー情報I
min(x,y)は、偏光情報処理部104より既に求まっている。したがって、式19において、方程式の数は3であるのに対し、未知数はC1(x,y)およびC2(x,y)の2つである。そのため、式20は最小自乗法を利用することにより、次式よりC1(x,y)およびC2(x,y)を求めることができる。
画像成分分離部106は、偏光情報処理部104および画像成分分離部106によって分離された各成分を、さらに、図19の成分分離基準に従い、各成分の成分分離を行う。
本実施形態における画像分離方法によって分離された「拡散反射非偏光成分」、「拡散反射偏光成分」、および「鏡面反射偏光成分」は、それぞれ、図11(b)、図11(d)、および図11(e)に示される通りである。すなわち、図11(b)は「拡散反射非偏光成分」である偏光最小カラー画像Imin(x,y)、図11(d)は「拡散反射偏光成分」である偏光振幅偏光最小カラーベクトル成分Iamp2(x,y)、図11(e)は「鏡面反射偏光成分」である偏光振幅光源色ベクトル成分Iamp1(x,y)を示している。
従来の偏光情報を利用した鏡面反射成分・拡散反射成分分離方法では、図11(c)のIamp(x,y)を「鏡面反射成分」、図11(b)のImin(x,y)を「拡散反射成分」として分離してしまう。そのため、前述のように、出射角が十分に大きい(遮蔽エッジ近傍)領域では、本来存在しないはずの鏡面反射成分が検出されるという問題が生じるが、本実施形態の画像分離方法では、そのような問題は生じない。
なお、光源色情報取得部105は、カラー情報処理部103および偏光情報処理部104が取得した被写体の情報を利用して、光源の色情報を取得するようにしても良い。前述のように、2色性反射モデルでは、被写体の色ベクトルI(x,y)は、光源の色ベクトルに等しい鏡面反射成分と、物体色ベクトルを有する拡散反射成分に分離される。
鏡面反射成分が非常に大きくなる正反射領域では、拡散反射成分が無視できると考えられる。また、画像中で最も輝度の高い画素は、正反射領域と仮定すると、この画素の色ベクトルは光源の色ベクトルに等しいと考えられる。そこで、光源色情報取得部105は、カラー情報処理部103が取得したカラー画像情報において、最も輝度の高い画素の検出し、その画素の色ベクトルを光源の色ベクトルとして推定する。例えば図18(a)に示す例では、位置(x,y)=(528,394)が最も輝度の高い画素である。そのため、この画素のI(x,y)を光源色ベクトルとして推定することが可能である。
光源色情報取得部105は、カラー情報処理部103および偏光情報処理部104が取得した、偏光最小輝度Imin、または、偏光振幅輝度Iampにおいて、最も輝度の高い画素の検出し、その画素の偏光最小輝度Iminまたは、偏光振幅輝度Iampの色ベクトルを光源の色ベクトルとして推定するようにしてもよい。
画像成分分離部106は、カラー画像を拡散反射非偏光成分、拡散反射偏光成分、および鏡面反射偏光成分に分離するのではなく、例えば、拡散反射成分および鏡面反射成分に分離するようにしても良い。これは、式17を以下のように変形すればよい。
これは、式18で求めた偏光振幅偏光最小カラーベクトル成分Iamp2(x,y)と偏光最小カラー成分Imin(x,y)を統合すればよい。
図20は、この場合の成分分離基準を示した図である。また、図21は本実施形態に係る画像分離方法の処理の流れを示すフローチャートである。図21において、図2と共通のステップには図2と同一の符号を付しており、ここではその詳細な説明は省略する。なお、図21に示す例では、最も輝度の高い画素の検出し、その画素の色ベクトルを光源の色ベクトルとして推定する。
この例において、画像成分分離部106は、偏光情報処理部104で生成された偏光最小カラー成分Iminを拡散反射非偏光成分、および、偏光最小カラー成分Iminによって生成された偏光振幅偏光最小カラーベクトル成分Iamp2を拡散反射成分、偏光振幅光源色ベクトル成分Iamp1を鏡面反射成分として成分分離を行う(ステップS108)。
本実施形態の画像成分分離方法によれば、図11(e)が「鏡面反射成分」、図11(f)が「拡散反射成分」を示している。画像成分分離部106は、偏光振幅カラー成分Iampを光源色ベクトル成分と偏光最小カラーベクトル成分に分離するのではなく、カラー偏光取得部102で取得したカラー画像を、光源色ベクトル成分と偏光最小カラーベクトル成分に分離しても良い。図22は、この場合の成分分離基準を示した図である。また、図23は本実施形態に係る画像分離方法の処理の流れを示すフローチャートである。図23において、図2と共通のステップには図2と同一の符号を付しており、ここではその詳細な説明は省略する。
図23において、偏光情報処理部104は、カラー偏光取得部102から出力される情報を用いて、偏光情報として、偏光最小カラー成分Iminを生成する(ステップS113)。ここで、ステップS103とステップS113の順序は任意であり、並列的に実行してもよいし、順次実行しても良い。光源色情報取得部105は、被写体を照射している光源の色ベクトルILightを取得する(ステップS105)。光源の色ベクトルは、前述した種々の方法を用いて取得することができる。
画像成分分離部106は、カラー情報処理部103によって取得されたカラー画像Iを、カラー画像光源色ベクトル成分I1とカラー画像偏光最小カラーベクトル成分I2へ分離する(ステップS114)。さらに、画像成分分離部106は、カラー画像偏光最小カラーベクトル成分I2を拡散反射非偏光成分、カラー画像光源色ベクトル成分I1を鏡面反射成分として成分分離を行う(ステップS115)。
画像成分分離部106は、陰影を考慮した画像分離を行っても構わない。これは、陰影では、多重反射などの影響により、光線が複雑になり、偏光情報の信頼性が失われるため、陰影領域では画像分離精度が劣化すると考えられるためである。
図24は、この場合の成分分離基準を示した図である。また、図25は本実施形態に係る画像分離方法の処理の流れを示すフローチャートである。図25において、図2と共通のステップには図2と同一の符号を付しており、ここではその詳細な説明は省略する。
画像成分分離部106は、まず、画素が陰影であるかどうかを推定するため、画素の輝度が閾値以下か否かを判定する(ステップS109)。陰影領域は輝度が低いため、カラー情報処理部103で求めたカラー画像の輝度が閾値以下の画素を陰影と判断することができる。閾値の大きさは実験的に決定すればよく、例えば、16ビットモノクロ画像に対しては、256を設定すればよい。また、陰影を検出するための輝度としては、偏光情報処理部104で取得した、偏光最大輝度Imaxや偏光最小輝度Imin、または偏光最大輝度Imaxと偏光最小輝度Iminの平均値や重み付け和(例えば、Imax+Imin やImax+2・Imin)などを利用するようにしても良い。特に、Imax+Iminは、直線偏光光源下において、偏光子を設置しなかった場合に撮像される画像と等価の画像である。そのため、Imax+Iminを利用して画像処理を行うことで、通常の偏光を利用しない場合と同様の処理を行うことができる。また、偏光最小輝度Iminを利用した場合、輝度が非常に高くなり、白とびが生じる可能性の高い鏡面反射成分の影響を小さくすることができるため、非常に有効である。画素の輝度が閾値より小さかった場合(ステップS0109でYes)、画素は陰影成分であると判断し(ステップS110)、処理を終了する。
一方、画素の輝度が閾値以上であった場合(ステップS109でNo)、画素は陰影ではないと判断し、画像成分分離部106は、前述の通り、偏光振幅カラー成分Iampを偏光振幅光源色ベクトル成分Iamp1と偏光振幅偏光最小カラーベクトル成分Iamp2に成分分離を行い(ステップS106)、偏光情報処理部104で生成された偏光最小カラー成分Iminを拡散反射非偏光成分、偏光振幅偏光最小カラーベクトル成分Iamp2を拡散反射偏光成分、偏光振幅光源色ベクトル成分Iamp1を鏡面反射偏光成分として成分分離を行う(ステップS107)。
発光装置206は、撮像装置203からできる限り離して配置することが望ましい。発光装置206が撮像装置203の近傍に存在する場合、鏡面反射成分が観測される領域は、入射角が0度近傍の領域となる。これは、鏡面反射成分は、正反射領域近傍で観測されるためである。しかし、入射角が0度近傍の領域では、図16より、鏡面反射成分がほとんど偏光しない。そのため、偏光最小輝度Imin(x,y)には多くの鏡面反射成分が含まれることになり、画像生成分離部106による画像成分分離精度が低下してしまうためである。
図26は、本実施形態に係る画像処理装置の他の構成例を示すブロック図である。これは、カラー情報処理部103および偏光情報処理部104が取得した被写体の情報を利用して、光源色情報取得部105が光源の色情報を取得する処理に対するブロック図である。図26において、図1と共通の構成要素には、図1と共通の符号を付しており、ここではその詳細な説明は省略する。また、図27は、本実施形態に係る画像分離方法の処理の流れを示すフローチャートである。図27において、図2と共通のステップには、図2と共通の符号を付しており、ここではその詳細な説明は省略する。図2との違いは、図2では、ステップS103とステップS104とステップS105の順序が任意であったが、図27では、ステップS103とステップS104のみ順序が任意であることである。ステップS103とステップS104は、並列的に実行してもよいし、順次実行しても良い。
なお、本実施形態では、パターン化偏光子201にフォトニック結晶を用いているが、パターン化偏光子を利用せず、撮像装置のレンズ前に装着した偏光板を回転させながら撮影することで、時系列的に偏光主軸の異なる輝度を取得するようにしても良い。この方法は、例えば、特開平11−211433号公報に開示されている。この場合、動く被写体やカメラが運動している際には、画像処理で広く行なわれている、被写体のトラッキング技術を利用すればよい(例えば、Jianbo Shi and Carlo Tomasi,“Good Features to Track”, IEEE Conference on Computer Vision and Pattern Recognition, pages 593−600, 1994)。
カラー偏光取得部102はカラー画像情報と偏光情報を同一の撮像装置203で取得するのではなく、個別の撮像装置で取得するようにしても良い。図28は、カラー画像情報と偏光情報を別々の撮像素子203および203−2によってカラー偏光取得部102を構成した場合の本実施形態に係る画像処理装置画像処理装置が搭載されたカメラの構成例を示している。この場合、ビームスプリッタなどを利用して、2つの撮像装置203および203−2の光軸が等しくなるようにすることが望ましい。
以上のように、本発明の画像分離方法を利用することで、偏光情報と色情報を利用した画像分離を行うことができる。このような画像分離は、拡散反射成分の偏光成分も考慮にいれた鏡面反射成分と拡散反射成分の分離を行うこともできる。
(第2の実施形態)
図29は、本実施形態に係る画像分離システムにおけるブロック図を示している。図29において、図1と共通の構成要素には図1と同一の符号を付しており、ここではその詳細な説明は省略する。第1の実施形態との違いは、投光装置107と画像処理装置108を分離させたことである。また、図30は本実施形態に係る画像処理装置における、画像分離方法の処理の流れを示すフローチャートである。図30において、図2と共通のステップには図2と同一の符号を付しており、ここではその詳細な説明は省略する。さらに、図31は、本実施形態に係る画像処理装置108が搭載されたカメラと投光装置107の構成例を示している。図31において、図3と共通の構成要素には図3と同一の符号を付しており、ここではその詳細な説明は省略する。
本実施形態の画像分離システムは、投光装置107と画像処理装置108からなり、被写体を撮像することによって前記被写体の画像の成分分離を行う画像分離システムであって、投光装置107は、直線偏光光を前記被写体に投光する投光部101を有する。また、画像処理装置108は、偏光主軸角度が異なる3方向以上の偏光子を透過してくる光をカラーフィルタを通して受光することで、被写体のカラー偏光画像を取得するカラー偏光取得部102と、カラー偏光取得部102で取得した画像から、カラー画像を生成するカラー情報処理部103と、カラー偏光取得部102で取得した画像から、当該偏光画像を構成する単位画素のそれぞれについて、前記3方向以上の偏光子を透過した光の輝度との対応関係を用いて、受光した偏光に関するカラー情報であるカラー偏光情報を生成する偏光情報処理部104と、被写体を投光している光源の色情報を取得する光源色情報取得部105と、偏光情報処理部104によって生成された偏光情報と光源色情報取得部105によって取得された光源色情報を利用して、カラー情報処理部103で取得したカラー画像の成分分離を行う画像成分分離部106を備える。
投光装置107と画像処理装置108は同期処理を行ない、画像処理装置108は投光装置107からの同期信号により撮像を行うようにしても良い。この処理について説明する。
図32は、本実施形態に係る画像分離システムにおけるブロック図を示している。図32において、図29と共通の構成要素には図29と同一の符号を付しており、ここではその詳細な説明は省略する。図29との違いは、投光装置107、画像処理装置108ともに通信部109、110を有する点である。また、図33は本実施形態に係る投光装置107および画像処理装置108における画像分離方法の処理の流れを示すフローチャートである。図33において、図2と共通のステップには図2と同一の符号を付しており、ここではその詳細な説明は省略する。さらに、図34は、本実施形態に係る画像処理装置が搭載されたカメラと投光装置の構成例を示している。図34において、図31と共通の構成要素には図31と同一の符号を付しており、ここではその詳細な説明は省略する。
前述のように、ステップS101において、投光装置107は、投光部101によって、偏光光を被写体へ投光する。その後、投光装置107は通信装置209によって、投光を知らせる信号を画像処理装置108へ送信する(ステップS111)。画像処理装置108は前記投光を知らせる信号を通信装置210で受信すると(ステップS112)、前述のように、カラー偏光取得部102は、パターン化偏光子201およびカラーフィルタ202を通して被写体を撮像素子で受光することで、カラー偏光情報を含んだカラー画像であるカラー偏光画像を取得する(ステップS102)。前述のように、ステップS103〜S107によって、偏光情報、カラー画像および光源色ベクトルを取得し、最終的に画像成分分離を実施する。
通信部109は、投光を知らせる信号を画像処理装置108へ送信するだけではなく、光源の色ベクトル情報も画像処理装置108へ送信するようにしても良い。この場合、光源色情報処理部105は、通信部110によって受信した信号から、光源色ベクトル情報を取得すればよい。
本実施形態における画像分離システムは、投光装置107と画像処理装置108を分離させ、通信により投光と撮像の同期をとることにより、より小型の画像処理装置108でありながら、高精度な画像成分分離を実現することが可能である。
(画像分離を利用したモデルベースの画像合成)
本発明の画像成分分離は、デジタルアーカイブなどに使われているモデルベースの画像合成処理に特に有効である。モデルベースの画像合成は、撮像した画像の光源方向や視線方向を任意に変化させることができるため、撮像データのインタラクティブな提示方法として重要である。また、臨場感を与えるためにも非常に有効である。そのため、モデルベースの画像合成処理は、バーチャルミュージアムやAR(Augmented Reality)などの応用に利用できる。本来、このようなモデルベースの画像合成では撮像画像を鏡面反射成分と拡散反射成分に領域分離を行ない、それぞれの成分ごとに異なったモデルを利用してきたが、前述のように、鏡面反射成分と拡散反射成分の分離が不十分であったため、画質が劣化するという問題があった。この問題は、以下のことが原因である。それぞれのモデルにおけるパラメータ推定の際、実際とは異なった鏡面反射成分と拡散反射成分を利用しているため、実際とは異なるパラメータを推定してしまう。このように実際とは異なったパラメータを利用して画像を合成した場合、前述のように、視点変換画像や光源変化画像を作成した際に出力される画像に大きな誤差が生じてしまう。
本発明の画像成分分離方法を利用することで、画質劣化の少ない、モデルベースの画像合成を実現することができる。この手法を説明する。
まず、この処理の概念を説明する。本発明の画像合成処理は、パラメータ推定装置800と画像合成装置801からなる。以下の5つの入力情報を利用する。
○被写体の拡散反射画像
○被写体の鏡面反射画像
○被写体の3次元形状情報
○光源位置・色・照度
○合成画像における視点・光源情報
図35は本発明の一実施形態に係るパラメータ推定装置800と画像合成装置801の構成を示すブロック図である。図35のパラメータ推定装置800は、撮像装置を利用し、撮像を行う画像撮像部802と、上述した画像分離方法によって、画像を鏡面反射成分と拡散反射成分に分離する画像分離部803と、被写体に照射する光源の方向や位置、輝度、色、スペクトル情報などの光源情報を推定する光源情報推定部804と、被写体の表面の法線情報または3次元位置情報を形状情報として取得する形状情報取得部805と、撮像された被写体から、画像分離部803で分離された成分ごとに前記光源情報推定部で推定された光源情報と前記形状情報取得部で取得された形状情報をモデル化することで反射モデルパラメータを推定するパラメータ推定部806と、パラメータ推定部806において推定された反射パラメータを保持するパラメータDB(データベース)807とを備えている。さらに、画像合成装置801は、合成する画像の視点や光源情報を取得する視点・光源情報取得部808と、パラメータDB807に保持されているモデルパラメータ情報を利用して、視点・光源情報取得部808で取得された視点や光源情報に則した画像を合成するレンダリング部809とを備えている。
また、図36、図37は本実施形態に係る画像合成方法における、パラメータ推定方法と画像合成方法の処理の流れを示すフローチャートである。
まず、パラメータ推定方法の処理の流れについて説明する。図36において、画像撮像部802は、前述のカラー情報処理部103を利用して、カラー輝度を計算する(ステップS301)。偏光情報処理部104を利用して、偏光最大輝度Imaxと偏光最小輝度Iminの重み付け和(Imax+Iminや Imax+2・Imin)を取得するようにしても良い。画像分離部803は、前述の画像分離方法により、画像撮像部802によって撮像された画像を、拡散反射成分と鏡面反射成分とに成分分離する(ステップS302)。光源情報推定部804は、光源情報として、光源の方向、さらには色情報や照度情報を取得する(ステップS303)。形状情報取得部805は、被写体の形状情報である表面の法線情報または、被写体の3次元位置情報を取得する(ステップS304)。パラメータ推定部806は、画像分離部803によって成分分離された拡散反射画像と鏡面反射画像に対して、前記光源情報推定部で推定された光源情報と前記形状情報取得部で取得された形状情報を利用することで、それぞれの反射パラメータを、別々の方法で推定する(ステップS305)。パラメータDB807は、パラメータ推定部806で求まった拡散反射成分の反射パラメータと鏡面反射成分の反射パラメータ、および形状情報取得部S305で取得した形状情報をモデルパラメータとして保持する(ステップS306)。
次に、画像合成推定方法の処理の流れについて説明する。図37において、まず、レンダリング部809は、パラメータDB807に保持されているモデルパラメータ情報を呼び出す(ステップS307)。視点・光源情報取得部808は、合成する画像の視点や光源の方向、さらには色情報や照度情報を取得する(ステップS308)。レンダリング部809は、パラメータDB807に保持されているモデルパラメータ情報を利用して、視点・光源情報取得部808で取得された視点や光源情報に則した画像を合成する(ステップS309)。
さらに、図38は、本実施形態に係る画像合成装置が搭載されたカメラの構成例を示している。なお、ここでは、画像分離部803、光源情報推定部804、形状情報取得部805、パラメータ推定部806およびレンダリング部809は、CPU205によってプログラムを実行することによって、実現されるものとする。ただし、これらの機能の全部または一部を、ハードウエアによって実現しても良い。また、視点・光源情報取得部808はユーザインターフェイス部212によって実行される。また、メモリ204は画像撮像部802によって撮像された偏光画像と、画像分離部803によって取得された鏡面反射成分および拡散反射成分画像、光源情報推定部によって推定された光源情報、形状情報取得部805によって取得された形状情報、パラメータ推定部807によって推定された反射パラメータ情報、および、視点・光源情報取得部で取得された視点・光源情報をモデルパラメータとして格納する。
以下、それぞれの処理について説明する。
まず、パラメータ推定装置800について説明する。
画像撮像部802はCCDやCMOSなどの撮像装置を利用して、カラー偏光取得部102およびカラー情報処理部103によって、被写体のカラー画像を取得する。こうして撮像された画像は、輝度が非常に高くなる鏡面反射成分と拡散反射成分とが同時に、飽和することなく、十分な輝度分解能で記録されることが望ましい。このため、冷却CCDカメラや多重露光撮像など、広いダイナミックレンジを撮像できる撮像装置を利用することが望ましい。このような画像撮像部は、前述の、偏光情報処理部103によって取得された偏光最大輝度Imaxと偏光最小輝度Iminの重み付け和(Imax+Iminや Imax+2・Imin)であっても良い。特に、Imax+Iminは、直線偏光光源下において、偏光子を設置しなかった場合に撮像される画像と等価の画像である。そのため、Imax+Iminを利用して画像処理を行うことで、通常の偏光を利用しない場合と同様の処理を行うことができる。
画像分離部803は、前述の画像分離方法により、画像撮像部802によって撮像された画像を、拡散反射成分と鏡面反射成分とに成分分離する。
光源情報推定部804は、光源情報として、光源の方向、さらには色情報や照度情報を取得する。これは例えば、被写体近傍に光源情報を推定するための形状既知の鏡面などを配置し、画像撮像部802によって撮像したその鏡面の画像から推定すればよい(例えば、「神原誠之,横矢直和,"光源環境の実時間推定による光学的整合性を考慮したビジョンベース拡張現実感",電子情報通信学会技術研究報告,パターン認識・メディア理解,PRMU2002−190,pp. 7−12,2003」)。この処理について詳述する。
光源情報推定部804は、図15に示した鏡面とみなせる球601を利用して行う。鏡面球601を被写体近傍に設置し、その位置や法線方向は既知とする。この鏡面球601を画像撮像部802によって撮像する。このとき、鏡面球601には、撮影環境が映り込んでいる。映り込みが生じる位置は、その鏡面球上の法線方向に対して、視線方向と映り込む対象への方向が正反射の関係となる位置である。そのため、鏡面球の位置とその法線方向が既知であれば、鏡面上の映り込んだ画像から映り込み対象の方向を検出できる。また、光源は輝度が高いことを考慮すると、撮影された鏡面球の画像から、高輝度の画素を検出することにより、光源の方向を取得できる。さらに、鏡面の反射率が既知であれば、前述の通り、光源の色情報や放射輝度などの光源照度情報も取得できる。
光源情報として、光源の方向だけではなく、あるいは光源の方向に代えて、光源の位置情報を取得するようにしても良い。これは、例えば前述の鏡面球を2つ利用したり、または撮像装置の位置を変化させて撮像した複数の画像を使用して、画像処理分野で広く知られているステレオ画像処理の技術を利用すればよい。
このような鏡面球を常に撮影するのではなく、以前に撮影して求めた光源情報を使うようにしても良い。これは、屋内の監視カメラのように光源環境が変わらない場合に有効である。このような場合、カメラを設置した際に鏡面球を撮影し、光源情報を取得するようにすればよい。
光源情報推定部804は、鏡面とみなせる球601のような参照物体を利用するのではなく、被写体を利用して光源方向を推定するようにしても良い。この方法を説明する。まず、被写体を撮像した画像領域において、最も輝度の高い画素を選択する。後述するように、形状情報取得部805によって、被写体の形状情報である表面の法線情報は推定されているため、最も輝度の高い画素の法線方向は既知である。ここで、最も輝度の高い画素は、正反射方向の光源が映り込んでいると仮定すると、前述の参照物体を利用する方法と同様に、法線方向から光源の方向を取得できる。
また、撮像装置701に、照度計211を設置することにより、光源情報として入射照度を測定するようにしても良い。入射照度情報の利用方法については後述する。
形状情報取得部805は、被写体の形状情報である表面の法線情報または、被写体の3次元位置情報を取得する。被写体の形状情報を取得する手段としては、例えば、スリット光投影法、パターン光投影法、レーザレーダ法などの既存の手法を用いればよい。
形状情報の取得はこれらの手法に限られるものでない。例えば、複数のカメラを利用するステレオ視、カメラの動きを利用するモーションステレオ法、光源の位置を変化させながら撮像した画像を利用する照度差ステレオ法、ミリ波や超音波を利用して被写体との距離を測定する方法、さらには反射光の偏光特性を利用した方法(例えば、USP5,028,138号や「宮崎大輔,池内克史,"偏光レイトレーシング法による透明物体の表面形状の推定手法",電子情報通信学会論文誌,vol. J88−D−II, No.8,pp. 1432−1439,2005」)を用いても良い。ここでは、照度差ステレオ法と偏光特性を利用した方法について説明する。
照度差ステレオ法は、光源方向が異なる3枚以上の画像を利用して、被写体の法線方向と反射率を推定する手法である。例えば、「H. Hayakawa, ”Photometric Stereo under a light source with arbitrary motion”, Journal of the Optical Society of America A, vol.11, pp.3079−89, 1994」は、画像上で6点以上の反射率が等しい点を既知情報として取得し、拘束条件として利用することによって、光源の位置情報も未知としながらも、以下のパラメータを推定する手法である。
・被写体情報:画像上の各点の法線方向と反射率
・光源情報:被写体の観察点における光源方向と照度
ここでは、前述の拡散反射・鏡面反射分離手法によって分離された拡散反射画像のみを利用した照度差ステレオ法を行う。本来、この手法は被写体が完全拡散反射をしていることを仮定しているため、鏡面反射が存在する被写体では大きな誤差が生じてしまう。しかし、分離した拡散反射成分のみを利用することで、鏡面反射成分の存在による推定誤差を無くすことができる。
光源方向が異なる拡散反射画像を以下のように輝度行列I
dで表現する。
ただし、i
df(p)は光源方向fの拡散反射画像の画素pにおける輝度を示している。また、画像の画素数はP画素、異なった光源方向で撮像した画像枚数はF枚である。ところで、Lambertianモデルより、拡散反射画像の輝度は以下のように表現できる。
ただし、ρdpは画素pの反射率(アルベド)、npは画素pの法線方向ベクトル、tfは光源fの入射照度、Lfは光源fの方向ベクトルを示している。
ここで、Rは表面反射行列、Nは表面法線行列、Lは光源方向行列、Tは光源強度行列、Sは表面行列、Mは光源行列と呼ぶ。
ここで、特異値分解を利用すると、式24は以下のように展開できる。
ただし、
であり、Eは単位行列を示している。また、U’はP×3行列、U”はP×(F−3)行列、Σ’は3×3行列、Σ”は(F−3)×(F−3)行列、V’は3×F行列、V”は(F−3)×F行列である。ここで、U”、 V”は信号成分であるU’、 V’の直交基底、すなわち、ノイズ成分であると考えられる。ここで、特異値分解を利用すると、式26は以下のように変形できる。
すなわち、式27を解くことにより、形状情報と光源情報を同時に取得することができるが、以下の3×3行列Aの不定性が残る。
ここで、Aは任意の3×3行列である。形状情報と光源情報を取得するためには、この行列Aを求める必要がある。これは、例えば、画面上の6点以上で反射率が等しいことが既知であればよい。例えば、任意の6点k1〜k6の反射率が等しいとすると、
式25、式28および、式30より、
さらに、
とおくと、式31は以下のようになる。
ここで、式32より行列Bは対称行列であるため、行列Bの未知数は6である。すなわち、画面上の6点以上で反射率が等しいことが既知であれば、式33は解くことができる。
また、行列Bが既知となれば、式32に特異値分解を利用することにより、行列Aは解くことができる。
さらに、式28および、式29より、形状情報と光源情報を取得する。
以上のことより、反射率が等しい6点以上の画素が既知な被写体において、光源方向を変更しながら3枚以上の画像を取得することにより、以下の情報を得ることができる。
・被写体情報:画像上の各点の法線方向ベクトルと反射率
・光源情報:被写体の観察点における光源方向ベクトルと放射輝度
ただし、上記の処理で求まる被写体の反射率と光源の放射輝度は相対的なものであり、絶対値を求めるためには、画面上の6点以上で反射率が既知であるなど、上記とは異なる既知情報が必要となる。
以上のように、照度差ステレオ法と偏光特性を利用した方法では、表面の法線情報を取得する。一方、スリット光投影法やステレオ視などの手法では、被写体の3次元位置情報を取得する。被写体表面の法線情報とは、被写体の3次元位置情報の微小空間での傾き情報であり、どちらも被写体の形状情報である。
以上の処理により、形状情報取得部805は被写体の形状情報である表面の法線情報または、被写体の3次元位置情報を取得する。
以上の処理により、以下の情報を取得する。
○被写体の拡散反射画像
○被写体の鏡面反射画像
○被写体の3次元形状情報
○光源位置・照度
次に、パラメータ推定部806は、画像分離部803によって成分分離された拡散反射成分と鏡面反射成分に対して、それぞれの反射パラメータを、別々の方法で推定する。まず、拡散反射成分の処理について説明する。
パラメータ推定部806は、画像分離部803によって成分分離された拡散反射成分を利用し、被写体のアルベドを推定する。アルベドは光源情報に影響を受けないため、アルベド画像を利用して処理を行うことによって、光源変動にロバストな処理が実現できる。
この処理を説明する。まず、物体の反射特性について説明する。2色性反射モデルを仮定すると、物体の輝度は、拡散反射成分と鏡面反射成分との和として以下の式で表現される。
ここで、Iは撮像装置が撮像した被写体の輝度、Iaは環境光成分、Idは拡散反射成分、Isは鏡面反射成分である。ここで、環境光成分とは、光源の光が物体などによって散乱された間接光のことである。これは空間の至る所に散乱され、直接光がとどかない影の部分にもわずかに明るさを与える。そのため、通常はノイズとして取り扱われることが多い。
環境光成分は十分に小さく、ノイズとして無視できると考えると、画像は拡散反射成分と鏡面反射成分とに分離できる。
式23より、拡散反射成分では、以下の関係が成り立つ。
ただし、θiは被写体の法線方向ベクトルと光源方向ベクトルのなす角度を示す。ここで、光源情報推定部804および形状情報取得部805により、角度θiは既知である。また、後述するように、光源の入射照度tfも推定可能なため、被写体のアルベドρdpは式35から求められる。
被写体のアルベドを求めるのではなく、次式によりアルベドに光源の放射輝度を乗算した擬似アルベドを求め、これを利用しても良い。
次に、鏡面反射成分の反射パラメータ推定について説明する。
パラメータ推定部806は、形状情報取得部805によって取得された被写体の法線情報、画像分離部803によって分離された拡散反射画像と鏡面反射画像を利用して、その被写体を表現するパラメータを推定する。ここでは、Computer−Graphicsの分野で広く使われているCook−Torranceモデルを利用する方法を説明する。
Cook−Torranceモデルでは、鏡面反射画像を次式のようにモデル化する。
ここで、Eiは入射照度、ρs,λは波長λにおける鏡面反射成分の双方向反射率、nは被写体の法線方向ベクトル、Vは視線ベクトル、Lは光源方向ベクトル、Hは視線ベクトルと照明方向ベクトルの中間ベクトル、βは中間ベクトルHと法線方向ベクトルnの角度を表す(図39参照)。また、Fλはフレネル方程式から求められる誘電体表面からの反射光の比であるフレネル係数、Dはマイクロファセット分布関数、Gは物体表面の凸凹による遮光の影響を表す幾何減衰率である。さらに、nλは被写体の屈折率、mは被写体表面の粗さを示す係数、Ijは入射光の放射輝度である。また、ksは鏡面反射成分の係数である。
さらに、式23のLambertianモデルを利用すると、式34は以下のように展開される。
ただし、
ここで、ρ
dは拡散反射成分の反射率(アルベド)、dpx、dpyは撮像装置の1画素のx方向、y方向の長さ、rは撮像装置の観察点Oからの距離を示している。また、k
dは以下の関係式を満たす係数である。
Srは拡散反射成分と鏡面反射成分の輝度の違いを表現するための定数であり、拡散反射成分が被写体からすべての方向へエネルギーを反射することを示している。図40はこの定数Srを説明するための模式図である。図40において、観察点Oで反射された拡散反射成分エネルギーは、半球状に広がっていく。ここで、撮像装置701が観察点Oからrだけ離れているので、撮像装置の1撮像素子に届くエネルギーと、観察点Oで反射した総エネルギーの比Srは、式47で表される。
以上のことから、パラメータ推定部806は、式36〜式47より、鏡面反射成分の反射パラメータを推定する。
以上の関係式をまとめると、パラメータ推定を行うための既知パラメータと、推定すべきパラメータは以下のようになる。
(既知パラメータ)
○環境光成分Ia
○拡散反射成分Id
○鏡面反射成分Is
○被写体の法線方向ベクトルn
○光源方向ベクトルL
○視線ベクトルV
○中間ベクトルH
○中間ベクトルHと法線方向ベクトルnの角度β
○撮像装置701の1画素のx方向、y方向の長さdpx, dpy
○撮像装置701と観察点Oとの距離r
(推定すべきパラメータ)
○入射照度Ei
○鏡面反射成分の係数ks
○被写体表面の粗さm
○被写体の屈折率ηλ
ここで、拡散反射成分の係数kd、および拡散反射成分の反射率(アルベド)ρdも未知パラメータであるが、鏡面反射成分のパラメータのみを推定するため、ここでは推定処理を行わない。
図41はパラメータ推定部806の処理の流れを示す図である。処理は、以下の2段階からなる。
まず、光源情報を使用して、入射照度E
iを求める(ステップS401)。ここでは、光源情報推定部804によって取得した光源の位置情報、形状情報取得部805で求めた撮像装置と被写体との距離情報、さらには光源情報推定部804で求めた光源照度を用いる。これは、次式から求まる。
撮像装置701には前述のように、照度計211が設置されているとする。ここで、Iiは照度計211によって測定された光源702の入射照度、R1は撮像装置701と光源702との距離、R2は光源702と観察点Oとの距離、θ1は観察点Oにおける法線方向ベクトルnと光源方向ベクトルLCとのなす角度、θ2は撮像装置701における光軸方向と光源方向ベクトルLAとのなす角度を示している(図42参照)。ここで、被写体の大きさが、光源702と観察点Oとの距離R2に比べ十分に小さいと考えられる場合、距離R2は被写体上の全ての観察点Oで等しくなる。そのため、式49において、(R1/R2)は定数となり、実際に計測する必要はなくなる。またθ1は既知である。これは、形状情報取得部805によって観察点Oにおける法線方向ベクトルnが既知であり、光源情報推定部804によって光源方向ベクトルLCが既知であるためである。さらにθ2は、光源情報推定部804によって光源の位置が推定されている場合、既知である。そのため、式49の右辺はすべて既知となる。
次に、シンプレックス法を利用して、未知パラメータm、ηλ、k
sを推定する(ステップS402)。シンプレックス法は、シンプレックスと呼ぶ図形の頂点に変数を割り付け、シンプレックスの大きさと形を変えて関数の最適化を行う方法である(大田登,“色再現光学の基礎”,pp.90−92,コロナ社)。シンプレックスは、n次元空間の(n+1)個の点の集合である。ただし、nは推定する未知数の数であり、ここでは「3」である。そのため、シンプレックスは四面体である。シンプレックスの頂点をベクトルx
iで表し、新しいベクトルを次のように定める。
ただし、
はそれぞれ関数f(x
i)を最大、最小にするx
iを示している。
さらに、この方法で用いる3種類の操作を以下のように定める。
1.鏡像:
2.拡張:
3.収縮:
ここで、α(>0)、β(>1)、γ(1>γ>0)は係数である。
シンプレックス法は、シンプレックスの頂点の中で関数値の最も大きなものを選ぶことで、その鏡像における関数値は小さくなるという期待に基づいている。この期待が正しければ、同じプロセスの繰り返しで関数の最小値が求められる。つまり、初期値で与えたパラメータを3種類の操作で更新しながら、評価関数が示すターゲットとの誤差が閾値未満になるまでパラメータの更新を繰り返す。ここでは、パラメータとしてm、ηλ、k
s、評価関数として式55で表される、式36から算出される鏡面反射成分画像と画像分離部803で求められた鏡面反射成分画像との差ΔI
sを利用した。
ただし、is(i,j)’, is(i,j)はそれぞれ、計算された鏡面反射画像の推定値Is’と画像分離部803で求められた鏡面反射成分画像Isの画素(i,j)の輝度、Ms(i,j)は、画素(i,j)が鏡面反射成分を持つ場合に1、そうでない場合0をとる関数である。
この処理について詳しく説明する。図43はこの処理の流れを説明するためのフローチャートである。
まず、繰り返し演算の更新回数を記憶するカウンターnとkに0を代入し、初期化する(ステップS411)。ここで、カウンターnは初期値を何回変更したかを記憶するカウンターであり、kはある初期値に対してシンプレックスによる候補パラメータの更新を何回行ったかを記憶するカウンターである。
次に、乱数を利用し、推定パラメータの候補パラメータm’、ηλ’、k
s’の初期値を決定する(ステップS412)。このとき、各パラメータの物理的な拘束条件から、初期値の発生範囲は以下のように決定した。
次に、こうして求めた候補パラメータを式36へ代入し、鏡面反射画像の推定値Is’を求める(ステップS413)。さらに、計算された鏡面反射画像の推定値Is’と画像分離部803で求められた鏡面反射成分画像との差ΔIsを式55より求め、これをシンプレックス法の評価関数とする(ステップS414)。こうして求めたΔIsが十分小さい場合(ステップS415でYes)、パラメータ推定は成功したとして、推定パラメータm、ηλ、ksとして候補パラメータm’、ηλ’、ks’を選択し、処理を終了する。一方、ΔIsが大きい場合(ステップS415でNo)、シンプレックス法により候補パラメータの更新を行う。
候補パラメータの更新を行う前に、更新回数の評価を行う。まず、更新回数を記憶しているカウンターkに1を足し(ステップS416)、カウンターkの大きさを判断する(ステップS417)。カウンターkが十分に大きい場合(ステップS417でNo)、繰り返し演算は十分に行なわれているが、ローカルミニマムに落ちているため、このまま更新を繰り返しても最適値には達しないと判断し、初期値を変更して、ローカルミニマムからの脱却を図る。そのため、カウンターnに1を足し、カウンターkに0を入れる(ステップS421)。ここで、カウンターnの値が閾値より高いかどうかを判定し、処理をこのまま続けるか、処理不能として処理を終了させるかを決定する(ステップS422)。ここで、nが閾値より大きい場合(ステップS422でNo)、この画像は推定不能として処理を終了する。一方、nが閾値より小さい場合(ステップS422でYes)、再度、初期値を式56の範囲内で乱数から選択しなおし(ステップS412)、処理を繰り返す。このようなkに対する閾値は、例えば、100などを選択すればよい。
一方、ステップS417において、カウンターkが閾値以下の場合(ステップS417でYes)、候補パラメータを式52〜式54を利用して変更する(ステップS418)。この処理については後述する。
次に、こうして変形された候補パラメータが、解として意味のあるものであるかを判定する(ステップS419)。すなわち、シンプレックス法を繰り返すことで、変形されたパラメータが物理的に意味のない値(例えば、粗さパラメータmが負の値など。)におちいる可能性があるため、これを除去する。これは、例えば、以下のような条件を与え、この条件を満たす場合には意味のあるパラメータ、満たさない場合には意味のないパラメータと判定すればよい。
これらの値は、被写体より求めることができる。例えば、屈折率ηλであれば、被写体の材質によって決定される値である。例えば、プラスチックであれば1.5〜1.7、ガラスであれば1.5〜1.9であることが知られているため、これらの値を利用すればよい。つまり、被写体がプラスチックである場合、屈折率ηλは1.5〜1.7とすればよい。
変形したパラメータが式57を満たす場合(ステップS419でYes)、その候補パラメータは意味のある値であると考えられるため、新しい候補パラメータとして設定し(ステップS420)、更新処理を繰り返す(ステップS413)。一方、変形したパラメータが式57を満たさない場合(ステップS419でNo)、その初期値に対する更新処理を打ち切り、新しい初期値により更新を行う(ステップS421)。
ここで、ステップS418の変形処理について詳述する。図44はこの処理の流れを示したフローチャートである。ここでは、候補パラメータm’、ηλ’、k
s’をベクトル表現し、これをパラメータxとする。すなわち、
まず、式50〜式52を利用して、鏡像操作を行ったパラメータxrを計算し、式55によってxrでの鏡面反射成分画像との差ΔIs(xr)を計算する(ステップS431)。次に、こうして求められたΔIs(xr)と、2番目に評価関数が悪かったΔIs(xs)を比較する(ステップS432)。ここでΔIs(xr)がΔIs(xs)より小さかった場合(ステップS432でYes)、鏡像操作を行った評価値ΔIs(xr)と現在、最も評価値のよいΔIs(xl)を比較する(ステップS433)。ここで、ΔIs(xr) がΔIs(xl)以上であった場合(ステップS433でNo)、最も評価値の低かったxhをxrへ変更し(ステップS434)、処理を終了する。
一方、ΔIs(xr)がΔIs(xl)より小さかった場合(ステップS433でYes)、式54を利用して拡張処理を行ない、パラメータxeと、xeでの鏡面反射成分画像との差ΔIs(xe)を計算する(ステップS435)。次に、こうして求められたΔIs(xe)と、鏡像操作によるΔIs(xr)を比較する(ステップS436)。ここでΔIs(xe)がΔIs(xr)より小さかった場合(ステップS436でYes)、最も評価値の悪かったxhをxeへ変更し(ステップS437)、処理を終了する。
一方、ΔIs(xe)がΔIs(xr)以上であった場合(ステップS436でNo)、最も評価値の悪かったxhをxrへ変更し(ステップS434)、処理を終了する。
また、ステップS432において、ΔIs(xr)がΔIs(xs)より大きかった場合(ステップS432でNo)、鏡像操作を行った評価値ΔIs(xr)と現在、最も評価値の悪いΔIs(xh)を比較する(ステップS438)。ここでΔIs(xr)がΔIs(xh)より小さかった場合(ステップS438でYes)、最も評価値の悪かったxhをxrへ変更し(ステップS439)、式53を利用して、収縮操作を行ったパラメータxcと、xcでの鏡面反射成分画像との差ΔIs(xc)を計算する(ステップS440)。一方、ΔIs(xr)がΔIs(xh)以上であった場合(ステップS438でNo)、xhを変更することなく、収縮操作を行ったパラメータxcと、xcでの鏡面反射成分画像との差ΔIs(xc)を計算する(ステップS440)。
次に、こうして求められたΔIs(xc)と、最も評価値の悪いΔIs(xh)を比較する(ステップS441)。ここでΔIs(xc)がΔIs(xh)より小さかった場合(ステップS441でYes)、最も評価値の悪かったxhをxcへ変更し(ステップS442)、処理を終了する。
一方、ΔI
s(x
c)がΔI
s(x
h) 以上であった場合(ステップS441でNo)、すべての候補パラメータx
i(i=1,2,3,4)を以下の式により変更し、処理を終了する。
以上の処理を繰り返すことにより、鏡面反射画像における未知パラメータであるm、ηλ、ksを推定する。
以上の処理により、すべての未知パラメータを推定することができる。
図45(a)は、図45(b)の領域Aに関して、横軸に中間ベクトルβ、縦軸に鏡面反射成分の輝度Isをグラフ化したものである。この図において、白色○は領域Aに関して観測された輝度Isをプロットしたものである。また、黒色■はCook−Torranceモデルの各パラメータを推定し、プロットしたものである。図46は、従来の偏光情報を利用した画像分離手法を利用したグラフである。図47は、従来の偏光情報を利用した画像分離手法を利用して作成した合成画像を示している。このように、パラメータ推定に失敗した場合、合成画像の質感が実物とは大きくかけ離れたものとなってしまう。これらの図より、従来の画像分離手法では、鏡面反射成分と拡散反射成分の分離精度の劣化に伴い、反射パラメータ推定に失敗していることがわかる。そのため、合成された画像は、実際の画像とは大きく質感が異なるものとなってしまう。一方、本特許における画像分離手法では、このような問題が生じていない。
なお、パラメータ推定に用いるモデルは、Cook−Torranceモデルである必要はなく、例えば、Torrance−SparrowモデルやPhongモデル、簡易Torrance−Sparrowモデル(例えば、「K. Ikeuchi and K. Sato, “Determining reflectance properties of an object using range and brightness images”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.13, no.11, pp.1139−1153, 1991」)であっても良い。
また、パラメータ推定方法は、シンプレックス法である必要はなく、例えば、勾配法や最小自乗法などのような一般的なパラメータ推定手法を利用しても良い。
また、以上の処理は、画素ごとに行っても良いし、画像分離を行ない、領域ごとに等しいパラメータ組を推定するようにしても良い。画素ごとに処理を行う場合、光源や撮像装置、または被写体を動かすことにより、被写体の法線方向ベクトルnや光源方向ベクトルL、または視線ベクトルVといった既知パラメータが変動したサンプルを取得するようにすることが望ましい。また、処理を領域ごとに行う場合、領域ごとに求まったパラメータのばらつきが小さくなるように画像分離を変更することで、最適なパラメータ推定を行うようにすることが望ましい。
パラメータDB807は、パラメータ推定部806で求まった拡散反射成分の反射パラメータと鏡面反射成分の反射パラメータ、および形状情報取得部805で取得した形状情報をモデルパラメータとして保持する。図48は、パラメータDB307に保持されているモデルパラメータを示す模式図である。
以上の処理により、パラメータ推定装置800は拡散反射成分のパラメータと鏡面反射成分のパラメータを推定し、推定したパラメータ情報をパラメータDB807へ保持する。
次に、図35の画像合成装置801について説明する。
視点・光源情報取得部808は、合成する画像の視点や光源情報を取得する。これは、ユーザが視点位置や光源位置・光源照度、さらに環境光成分情報を入力するようにすればよい。また、拡張現実感のような、実世界にCG画像をレンダリングするような場合、光源情報推定部804を利用して光源情報を推定するようにしても良い。
レンダリング部809は、パラメータDB807に保持されているモデルパラメータ情報を利用して、視点・光源情報取得部808で取得された視点や光源情報に則した画像を合成する。レンダリング部809は、拡散反射成分と鏡面反射成分、それぞれ別々にレンダリングを行ない、レンダリングされた拡散反射成分、鏡面反射成分および環境光成分情報を合成することにより、画像を合成する。
まず、拡散反射成分に関して説明する。前述のように、アルベド画像は、拡散成分画像を光源ベクトルと被写体の法線方向ベクトルの内積で除算したものである。そのため、パラメータDBに保持されているアルベド画像(パラメータ推定部806で推定)および形状情報(形状情報取得部805で取得)に、視点・光源情報取得部808によって取得された光源方向ベクトル情報を利用することにより、拡散反射成分を合成することができる。具体的には、視点・光源情報取得部808によって取得された光源方向ベクトルと被写体の法線方向ベクトルとの内積を求め、さらにアルベド画像を乗算することによって、拡散成分画像を合成する。視点・光源情報取得部808により、複数の光源が入力された場合、それぞれの光源に対して拡散反射成分画像をおのおの合成し、その画像を足し合わせることで、一枚の拡散反射成分画像を合成する。
次に、鏡面反射成分に関して説明する。鏡面反射成分は、パラメータDBに保持されている鏡面反射パラメータ(パラメータ推定部806で推定)および形状情報(形状情報取得部805で取得)に、視点・光源情報取得部808によって取得された光源方向ベクトル情報を利用することにより、合成することができる。具体的には、式36〜式44に推定されたパラメータを代入することによって、鏡面反射成分画像を合成する。
こうして求めた拡散反射成分画像、鏡面反射成分画像および視点・光源情報取得部808において取得した環境光成分情報を合成することにより、レンダリング部809は、視点・光源情報取得部808で取得された視点や光源情報に則した画像を合成する。
以上のように、本発明の画像処理技術を利用することによって、デジタルアーカイブなどに使われているモデルベースの画像合成を高精度に行うことができる。
以下、図面を参照しながら本発明の実施形態を説明する。
(第1の実施形態)
まず、本発明の第1の実施形態における画像処理装置の概要について説明する。
図1は、本実施形態に係る画像処理装置におけるブロック図を示している。この画像処理装置は、被写体を撮像することによって前記被写体の画像の成分分離を行う装置であり、直線偏光光を前記被写体に投光する投光部101と、偏光主軸角度が異なる3方向以上の偏光子を透過してくる光をカラーフィルタを通して受光することで、被写体のカラー偏光画像を取得するカラー偏光取得部102と、カラー偏光取得部102で取得した画像からカラー画像を生成するカラー情報処理部103と、カラー偏光取得部102で取得した画像から、当該偏光画像を構成する単位画素のそれぞれについて、前記3方向以上の偏光子を透過した光の輝度との対応関係を用いて、受光した偏光に関するカラー情報であるカラー偏光情報を生成する偏光情報処理部104と、被写体を投光している光源の色情報を取得する光源色情報取得部105と、偏光情報処理部104によって生成された偏光情報と光源色情報取得部105によって取得された光源色情報を利用して、カラー情報処理部103で取得したカラー画像の成分分離を行う画像成分分離部106と、画像分離部106で生成された信号を出力する出力部とを備える。
本明細書において、「偏光画像」とは、特定の偏光主軸角度を有する偏光フィルタ(偏光子)を透過してきた光によって形成される画像である。複数の偏光主軸角度の各々について、異なる「偏光画像」を得ることが可能である。また、「カラー偏光画像」とは、特定の偏光主軸角度を有する偏光フィルタ(偏光子)を透過してきた光のうち、主波長が異なる複数の色の光によって形成される画像である。ある偏光主軸角度を有する偏光フィルタ(偏光子)を透過してきた光に基づいて、典型的には、赤(R)、緑(G)、青(B)のカラー偏光画像が得られる。カラー偏光画像が得られると、単位画素ごとにR、G、Bの輝度からなる色ベクトルが定まる。同様に、偏光フィルタを透過しない光によって形成されるカラー画像が得られると、そのカラー画像の色ベクトルも定まる。本明細書における「成分分離」とは、1つの色ベクトルを複数の色ベクトル(成分)の和として表することに対応する。
次に、本実施形態における画像処理の動作を説明する。図2は本実施形態に係る画像処理の動作を示すフローチャートである。図2のステップS101において、投光部101は、偏光光を被写体へ投光する。ステップS102において、カラー偏光取得部102は、パターン化偏光子およびカラーフィルタを通して被写体を撮像素子で受光することで、カラー偏光情報を含んだカラー偏光画像を取得する。パターン化偏光子は、後述するように3方向以上の偏光主軸角度(偏光透過軸の回転角度)をもつ。
ステップS103において、カラー情報処理部103は、カラー偏光取得部102から出力される情報を用いて、カラー画像情報を取得する。偏光情報処理部104は、カラー偏光取得部102から出力される情報を用いて、偏光情報として、後述する偏光最小カラー成分Iminと偏光振幅カラー成分Iampとを生成する(ステップS104)。また、光源色情報取得部105は、被写体を照射している光源の色ベクトルILightを取得する(ステップS105)。ステップS103、ステップS104、ステップS105の順序は任意であり、並列的に実行してもよいし、順次実行しても良い。
ステップS106において、画像成分分離部106は、偏光情報処理部104によって生成された偏光振幅カラー成分Iampを、偏光振幅光源色ベクトル成分Iamp1と偏光振幅偏光最小カラーベクトル成分Iamp2へ分離する。さらに、ステップS107において、画像成分分離部106は、偏光情報処理部104で生成された偏光振幅偏光最小カラー成分Iminを拡散反射非偏光成分として、偏光振幅偏光最小カラーベクトル成分Iamp2を拡散反射偏光成分として、偏光振幅光源色ベクトル成分Iamp1を鏡面反射偏光成分として成分分離を行う。
ここでは、カラー偏光取得部102、カラー情報処理部103、偏光情報処理部104、光源色情報取得部105および画像成分分離部106は、図3に示すCPU205がプログラムを実行することによって、実現されるものとする。ただし、これらの機能の全部または一部を、ハードウエアによって実現しても良い。また、図3に示すメモリ204はカラー偏光取得部102によって取得された情報、カラー情報処理部103によって取得されたカラー画像情報、偏光情報処理部104によって取得された偏光情報および光源色情報取得部105によって取得された光源色ベクトル情報を格納する。
次に、図3を参照しながら、本実施形態に係る画像処理装置が搭載されたカメラの構成と動作を説明する。図3は、このようなカメラの構成例を示すブロック図である。図3のカメラは、パターン化偏光子201、カラー撮像装置208、メモリ204、CPU205、発光装置206、および偏光子207を備えている。カラー撮像装置208は、カラーフィルタ202および撮像装置203を備えている。
投光部101は、発光装置206と偏光子207を利用し、偏光光を被写体へ投光する。これは、例えばカメラのフラッシュを発光装置206として利用する場合、フラッシュの前方に偏光フィルタ(偏光子207)を設置することで実現できる。偏光光を利用する手段として、液晶偏光子などを利用しても良い。
カラー偏光取得部102は、パターン化偏光子201およびカラーフィルタ202を通して被写体を撮像素子で受光することで、カラー偏光情報を含んだカラー画像であるカラー偏光画像を取得する。また、カラー情報処理部103は、カラー偏光取得部102から出力される情報を用いて、カラー画像情報を計算する。さらに、偏光情報処理部104は、カラー偏光取得部102から出力される情報を用いて、偏光情報を計算する。この処理を詳述する。
図4は、カラー偏光取得部102、カラー情報処理部103および偏光情報処理部104の構成を示すブロック図である。被写体からリアルタイムにカラー画像情報と偏光画像情報を取得し、偏光情報として、非偏光成分である偏光最小カラー情報を出力する。レンズ220および絞り221を通った入射光は、カラー偏光取得部102に入射する。この入射光から、カラー偏光取得部102はカラー画像情報および偏光画像情報の両方をリアルタイムに取得することができる。カラー偏光取得部102からは、カラー画像情報および偏光情報を示す信号が出力され、それぞれ、カラー情報処理部103および偏光情報処理部104に与えられる。カラー情報処理部103および偏光情報処理部104は、上記信号に対して各種の処理を施し、カラー画像lm、偏光最小カラー情報Iminを出力する。
図5は、カラー偏光取得部102の基本的な構成を示す模式図である。図示されている例では、カラーフィルタ202およびパターン化偏光子201が、撮像素子画素203の前面に重ねて設置されている。またカラーフィルタとパターン化偏光子の設置の順番は任意である。入射光は、カラーフィルタ202およびパターン化偏光子201を透過して撮像素子に到達し、撮像素子画素203によって輝度が観測される。このように本実施形態によれば、カラーモザイク型の単板カラー撮像素子を用いてカラー情報および偏光情報の両方を取得することができる。
図6(a)は、カラー偏光取得部102における撮像面の一部を光軸方向の真上から見た図である。図6(a)には、簡単のため、撮像面のうち、16個の画素(4×4)のみが図示されている。図示されている4つの矩形領域301〜304は、それぞれ、4個の画素セル上に設置されたベイヤ型カラーモザイクフィルタの対応部分を示している。矩形領域301は、B(Blue:青色)フィルタ領域であり、画素セルB1〜B4をカバーしている。画素セルB1〜B4には、それぞれ異なる偏光主軸を有するB用パターン化偏光子が密着している。ここで、「偏光主軸」とは、偏光子を透過する光の偏波面(透過偏波面)に平行な軸である。本実施形態では、同一色の画素内において異なる角度の透過偏波面を有する偏光子単位(微小偏光板)が隣接して配置されている。より詳細には、透過偏波面の方向が相互に異なる4種類の偏光子単位がR、G、Bの各同一色の画素内に配置されている。1つの偏光子単位は、1つ微細な偏光画素に対応している。図6(a)では、個々の偏光画素に対して、G1などの符号が与えられている。
図6(b)は、B用パターン化偏光子が密着する4つの微細偏光画素に割り当てられる偏光主軸を示している。図6(b)において、各微細偏光画素に記載された直線は、微小偏光板の偏光主軸方向を模式的に示している。図6(b)の例では、4つの微細偏光画素が、それぞれ、角度Φi=0°、45°、90°、135°の偏光主軸を有している。
矩形領域302、304の画素には、それぞれ、4個のG(Green:緑色)用パターン化偏光子が密着し、矩形領域303の画素には、4個のR(Red:赤色)用パターン化偏光子が密着している。図中、参照符号「305」で示される位置は、本撮像系における4画素を一括した仮想的な画素位置を示している。各矩形領域302〜304のパターン化偏光子も、図6(b)に示すように異なる4つの偏光主軸を有する部分に分割されている。
図7(a)は、カラー偏光取得部102における画素配列の他の例を示す図である。この例では、45°傾いた3×3ブロック内にG画素が十文字型に配置されており、G画素の周囲の4画素にR、Bが交互に配置される。図7(b)は、各カラー画素の微細構造を示しており、各カラー画素は、4種類の微細偏光画素から構成されている。
このように本実施形態では、各カラー画素に対して、異なる偏光主軸を有する複数の微細偏光画素が包含される点に特徴を有しており、カラーモザイク配列自体は任意である。以下の説明では、個々の微細偏光画素を「偏光画素」と称することとする。
図8(a)から図8(c)は、それぞれ、B、G、R偏光画素の波長特性を模式的に示すグラフである。各グラフの縦軸は透過光の強度、横軸は波長である。B、G、R用の偏光画素は、B、G、Rの各波長帯域においてTM(Transverse Magnetic Wave)波を透過し、TE(Transverse Electric Wave)波を反射(透過せず)する偏光特性を有している。TM波は、磁場成分が入射面に対して横向きの波であり、TE波は、電場成分が入射面に対して横向きの波である。
図8(a)には、B偏光画像の偏光特性402、403と、B用カラーフィルタの透過特性401とが示されている。偏光特性402、403は、それぞれ、TM波およびTE波の透過率を示している。
図8(b)には、G偏光画像の偏光特性405、406と、G用カラーフィルタの透過特性404とが示されている。偏光特性405、406は、それぞれ、TM波およびTE波の透過率を示している。
図8(c)には、R偏光画像の偏光特性408、409と、R用カラーフィルタの透過特性407とが示されている。偏光特性408、409は、それぞれ、TM波およびTE波の透過率を示している。
図8(a)から図8(c)に示すような特性は、例えば「川嶋,佐藤,川上,長嶋,太田,青木,“パターン化偏光子を用いた偏光イメージングデバイスと利用技術の開発”,電子情報通信学会2006年総合全国大会,No.D−11−52,P52,2006」に記載されたフォトニック結晶を用いて実現することができる。フォトニック結晶の場合、その表面に形成された溝に平行な電場ベクトル振動面を持つ光がTE波、垂直な電場ベクトル振動面を持つ光がTM波となる。
本実施形態で重要な点は、図8(a)から図8(c)に示すように、B、G、Rの透過波長帯域の各々において偏光分離特性を示すパターン化偏光子を用いることにある。
図9は、Gのカラーフィルタの透過域と、偏光特性410、411によって定まる偏光分離域との間で波長がずれている場合を示している。このような特性を示す偏光子によれば、本発明の目的とする動作を行うことはできない。
モノクロ輝度と偏光フィルタとを使用する場合には、偏光分離特性を示す波長域の最適化は不要であったが、カラーの画素ごとに偏光情報を取得する場合は、カラーの分離特性と偏光の分離特性と整合させる必要がある。
本明細書では、偏光画素における偏光主軸の方位を表示する4つの数字「1、2、3、4」と、カラーを区別するため3つの符号「R、G、B」の組み合わせ(例えば「R1」や「G1」など)を用いて、偏光画素の特性を示すこととする。偏光画素R1および偏光画素G1は、数字が同じであるため、偏光主軸の方向は一致しているが、RGB符号が異なるため、透過する光の波長帯域が異なる偏光画素に相当している。本実施形態では、このような偏光画素の配列を、図5に示すカラーフィルタ202およびパターン化偏光子201の組み合わせによって実現している。
被写体の特に明るい鏡面反射部分に含まれる偏光成分や、被写体の影領域に含まれる偏光成分などを確実に取得するため、撮像素子の輝度ダイナミックレンジとビット数はなるべく大きいこと(例えば16bit)が望ましい。
また、カラー偏光取得部102は投光制御部101と同期処理を行うことが望ましい。これは、例えば、カメラのフラッシュなどを投光部101として利用する場合、投光部101の発光タイミングの直後にカラー偏光取得部102は撮像を行うようにすればよい。
図5に示す構成によって偏光画素ごとに取得された輝度の情報は、図4の偏光情報処理部104で処理される。以下、この処理を説明する。
図10は、方向が異なる偏光主軸(Φi=0°、45°、90°、135°)を有する4種類の偏光子を透過した光の輝度501〜504を示している。ここで、偏光主軸の回転角ΦがΦiのときにおける観測輝度をI(Φi)とする。ただし、「i」は、1以上N以下の整数、「N」はサンプル数とする、図10に示す例では、N=4であるため、i=1、2、3、4となる。図10には、4画素のサンプル(Φi,Ii(Φi))に対応する輝度501〜504が示されている。
偏光主軸の角度Φiと輝度501〜504との関係は、正弦関数カーブによって表現される。図10では、輝度501〜504の4点が1本の正弦関数カーブ上に位置するように記載されているが、より多くの観測輝度に基づいて正弦関数カーブを決定した場合、観測輝度の一部が正弦関数カーブ上から僅かに外れる場合もあり得る。
なお、本明細書における「偏光情報」とは、輝度の偏光主軸角度に対する依存性を示す正弦関数カーブにおける振幅変調度および位相情報を意味するものとする。
実際の処理では、図6(a)に示す同一カラー領域301〜304ごとに内部の4個の画素輝度をサンプルとして、パターン化偏光子の主軸角Φに対する反射光輝度Iを以下のように近似する。
ここで図8に示すようにA、B、Cは定数であり、それぞれ、偏光輝度の変動カーブの振幅、位相、平均値を表現している。(式1)は、以下のように展開できる。
ただし、AおよびBは、それぞれ、以下の(式3)および(式4)で示される。
以下の(式5)を最小にするA、B、Cを求めれば、輝度Iと偏光主軸角Φとの関係を(式1)の正弦関数によって近似できる。
以上の処理で1つのカラーについて正弦関数近似のA、B、Cの3パラメータが確定する。
こうして、非偏光成分である偏光最小輝度I
minおよび偏光成分である偏光振幅輝度I
ampを以下の式6および式7より求める。
・偏光最小輝度I
min
・偏光振幅輝度I
amp
なお、本実施形態の画像処理装置は、偏光最小輝度I
minおよび偏光振幅輝度I
ampを出力としているが、出力する偏光情報は、図10の正弦関数から得られる情報であれば、他の情報の組であってもよい。例えば、偏光度画像ρ、偏光位相画像Φ
max、偏光推定誤差E、正弦関数の最高輝度I
maxの値と、それぞれの組み合わせを偏光情報として出力してもよい。
・偏光度ρ
・偏光位相φ
max(0≦φ
max≦π[rad])
・偏光推定誤差E
・偏光最大輝度I
max
ここで、偏光度ρは、該当画素の光が偏光している程度を表し、偏光位相Φmaxは、該当画素の光の部分偏光の主軸角度を表している。また、偏光推定誤差とは、4画素のサンプルについて観測された輝度と近似によって得られた上述の正弦関数から定まる輝度との差の合計である。なお、偏光の主軸角度は0と180°(π)は同一である。
カラー情報処理部103は、カラー偏光取得部102から出力される情報を用いて、カラー輝度を計算する。偏光子を透過した光の輝度は、偏光子に入射する前の光が有する本来の輝度とは異なる。非偏光照明の場合、理論的には、偏光のすべての偏光主軸における観測輝度を平均化した値が偏光子に入射する前の光が有する本来の輝度に相当する。偏光画素R1における観測輝度をI
R1と表現すると、以下の式12に基づいて、カラー輝度を算出することができる。
以後、このようなカラー輝度を有する単位画素の集合からなる画像をカラー画像Iと表現する。
各偏光画素における輝度を得ることにより、通常のカラーモザイク画像を生成できる。モザイク画像に基づいて各画素でRGB画素値を有するカラー画像へ変換することにより、カラー画像Iが生成される。このような変換は、例えばベイヤーモザイク補間方法などの公知の補間技術を用いて実現される。
この手法を用いることにより、偏光情報である偏光最小輝度I
minおよび偏光振幅輝度I
ampとは別に、RGBの3つの輝度からなる色ベクトルによって表現される「カラー情報」として、偏光最小カラー成分I
minおよび偏光振幅カラー成分I
ampを取得することができる。また、このとき、カラー画像Iとカラー情報との間には、以下の関係が成立する。
図11(a)は、グレープフルーツ(被写体)のカラー画像I(x,y)の輝度のみを示す図である。図11(b)および図11(c)は、それぞれ、図11(a)の被写体に関する偏光最小輝度Imin(x、y)および偏光振幅輝度Iamp(x,y)の画像の例を示している。本来、これらの画像はカラー画像であるが、モノクロ化されている。また、図12は、図11の各図を模式的に示した図(濃淡を明瞭化した図)である。この図において、各領域(A01〜B06)は、図13における各領域に対応する。
カラー画像I(x,y)や、各画素の輝度および偏光情報は、図6(b)に示す4つの偏光画素を用いて得られるため、個々の輝度および偏光情報は、図6(b)に示す4つの偏光画素の中心に位置する仮想画素点305における値を示していると考えることができる。したがって、カラー画像および偏光画像の解像度は、いずれも、撮像素子の解像度の縦1/2×横1/2に低下する。
しかしながら、本実施形態では、図6や図7に示すように、1色のカラーモザイク画素内に複数の微細な偏光子が存在するため、微細画像にて4分割しないカラーモザイク画素を用いる場合の解像度と比較した場合には同等の解像度である。
次に、図14を参照しながら、図1におけるカラー情報処理部103および偏光情報処理部104の動作を説明する。
まず、最初にカラー偏光取得部102にてカラー画像と偏光情報画像をリアルタイムに取得する。ステップS201〜S203において、カラー画像のR、G、Bの各画素における複数の偏光輝度の観測値を取得する。ステップS201〜S203の順序は任意であり、並列的に実行されてもよい。具体的には、R、G、Bのカラーモザイク画素内で4種類の偏光輝度を取得する。偏光輝度を示す信号は、偏光情報処理部104に送られ、ステップS204〜S208において、以下のように処理される。
すなわち、ステップS204〜S206の各々において、R画素、G画素、B画素の各々から得られる変動輝度に基づいて、正弦関数パラメータを算出する。正弦関数パラメータは、前述の式1におけるA、B、Cで規定される。ステップS204〜S206の処理も、互いに独立しているため、任意の順序で行うことができ、並列的に実行されてもよい。つぎに、ステップS207において、偏光情報処理部104は、正弦関数の最小輝度と振幅成分を求めることにより、非偏光成分である偏光最小輝度Iminおよび偏光成分である偏光振幅輝度Iampを生成する。
その後、カラー情報処理部103により、ステップS208の処理が実行される。具体的には、前述の式12を用いて、R、G、Bの平均輝度が求められ、カラー輝度画像I(x,y)が生成される。
なお、本実施形態では、パターン化偏光子にフォトニック結晶を用いているが、偏光素子は、フィルム型の偏光素子、ワイヤーグリッド型、その他の原理による偏光素子であってもよい。
カラー画像を取得するために、カラーフィルタを利用するのではなく、フォビオン素子などを利用しても良い。この場合、図3の本実施形態に係る画像処理装置が搭載されたカメラの構成例は、カラーフィルタ202および撮像装置203をカラー撮像装置208とする構成となる。
光源色情報取得部105は、被写体を照射している光源の色情報を取得する。被写体を照射している光源が、投光部101による発光装置206のみである場合、光源の色情報は既知である。これは、発光装置206の色情報を、画像処理装置のメモリ204に保持しておき、光源色情報取得部105は、メモリ204から光源色情報を呼び出すようにすればよい。また、投光部101による発光装置206以外の光源が被写体を照射している場合、光源色情報取得部105は、例えば、被写体近傍に光源情報を推定するための形状・表面反射率既知のターゲットを配置し、カラー撮像装置208によって撮像したその画像から色情報を推定すればよい(例えば、「神原誠之,横矢直和,"光源環境の実時間推定による光学的整合性を考慮したビジョンベース拡張現実感",電子情報通信学会技術研究報告,パターン認識・メディア理解,PRMU2002−190,pp. 7−12,2003」)。この処理について詳述する。
光源色情報の取得は、例えば図15に示した鏡面とみなせる球601を利用して行う。鏡面球601を被写体近傍に設置し、その位置や法線方向は既知とする。この鏡面球601をカラー偏光取得部102によって撮像し、カラー情報処理部103でカラー画像を取得する。このとき、鏡面球601には、撮影環境が映り込んでいる。光源は輝度が高いことを考慮すると、撮影された鏡面球の画像から、高輝度の画素を鏡面反射画素として検出する。鏡面の反射率も既知であるため、鏡面反射画素の色情報を検出することにより、光源の色ベクトル情報を取得できる。
このようなターゲットを常に撮影するのではなく、以前に撮影して求めた光源色情報を使うようにしても良い。これは、屋内の監視カメラのように光源環境が変わらない場合に有効である。このような場合、カメラを設置した際にターゲットを撮影し、光源情報を取得するようにすればよい。光源は白色であると仮定して、処理を行うようにしても良い。これは、蛍光灯照明下で撮像する場合や、昼間、屋外で撮影する場合に有効である。
画像成分分離部106は、偏光情報処理部104によって生成された偏光情報と光源色情報取得部105によって取得された光源色ベクトル情報を利用して、カラー情報処理部103によって取得されたカラー画像に対して成分分離を行う。
まず、従来の偏光情報を利用した偏光情報を利用した分離手法(例えば、特許文献1)とその問題点について説明する。この手法は、偏光情報処理部104で取得された偏光最小輝度Iminを拡散反射成分、偏光振幅輝度Iampを鏡面反射成分と分離するものである。
この手法は、以下の通り、鏡面反射と拡散反射の偏光特性の違いに依存している。
・鏡面反射成分は表面反射によって生じるため、入射光の偏光特性が保持されている。そのため、カメラで観測された輝度の偏光成分として観測される。
・拡散反射はスキャッタリングを繰り返しているため、入射光の偏光特性が失われている。そのため、カメラで観測された輝度の非偏光成分として観測される。これらの偏光特性は、以下の2条件を前提としている。
(条件1)直線偏光光が投光されている場合、鏡面反射成分は偏光成分として観測される。
(条件2)直線偏光光が投光されている場合、拡散反射成分は非偏光成分として観測される。
従来の成分分離法によれば、図11(b)の画像が拡散反射成分を示すものとして扱われ、図11(c)の画像が鏡面反射成分を示すものとして扱われる。しかし、図11(c)に示されるように、出射角が十分に大きい(遮蔽エッジ近傍)領域では、本来存在しないはずの鏡面反射成分が検出されている。このことから、偏光情報を利用した拡散反射成分・鏡面反射成分分離手法は十分な精度が達成できないと判断できる。
このような問題は、拡散反射成分の一部が偏光し、(条件2)が満たされないために生じる。以下、このことについて、詳述する。
図16、図17は被写体の屈折率n=1.1、n=1.3、n=1.5、n=2.0の場合における鏡面反射成分と拡散反射成分の偏光度を示したグラフである(例えば、L. B. Wolff and T. E. Boult, “Constraining object features using a polarization reflectance model”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.13,No.7,pp.635−657,1991参照)。
ここで、図16の横軸は入射角、縦軸は鏡面反射成分偏光度、また、図17の横軸は出射角、縦軸は拡散反射成分偏光度を示している。この図は、被写体表面へ非偏光光を投光した場合、出射光や反射光はどの程度、偏光するかを示している。つまり、偏光度が0に近いほど出射光(反射光)は非偏光となり、偏光度が1に近いほど直線偏光に近づく。この図から、以下のことがわかる。
・出射角が十分に大きい領域以外では、拡散反射成分の偏光度は十分小さい。
・出射角が十分に大きい領域では、拡散反射成分の偏光度は、鏡面反射成分の偏光度に比べて十分に大きい。
ここで、(条件2)に着目する。(条件2)が成立するためには、少なくとも、非偏光光が投光されている場合には、出射光が非偏光とならなければいけない。すなわち、偏光度は十分小さくなければいけない。このことを考慮すると、以下のことが推測される。
・出射角が十分に大きい領域(遮蔽エッジ近傍)では、(条件2)が成立しない。
これが、図11(b)および図11(c)において、鏡面反射成分と拡散反射成分の分離が正確に作用しなかった大きな原因である。
本実施形態における画像成分分離部106は、色情報を利用することにより、上記問題を解決する。以下、本実施形態における画像成分分離部106について詳述する。
まず、色情報による鏡面反射成分と拡散反射成分を分離で広く使われている、2色性反射モデルについて説明する。
2色性反射モデルでは、画素(x,y)で観測されるカラー画像における被写体の色ベクトルI(x,y)は、次式のように分解できる。
ここで、I
Lightは光源の色ベクトル、I
Object(x,y)は画素(x,y)での物体色ベクトルを示している。色ベクトルとは、R、G、B各色の輝度をベクトルとして表現した、3次元ベクトルである。また、C’1(x,y)およびC’2(x,y)は光源色ベクトルと物体色ベクトルの重みを示している。この式から、画素(x,y)での鏡面反射成分I
s(x,y)および拡散反射成分I
d(x,y)は、次式のように分離できることがわかる。
しかし、従来の色情報による鏡面反射成分・拡散反射成分分離手法では、物体色ベクトルが未知であるため、式14のような成分分離を行うことができなかった。そこで、本実施形態における画像成分分離部106では、物体色ベクトルとして、偏光情報処理部104から求めた偏光最小カラー情報Iminを利用することで、この問題を解決する。
前述のように、偏光情報による鏡面反射成分・拡散反射成分分離手法では、直線偏光光が投光されている場合であっても、遮蔽エッジ近傍では、拡散反射成分は非偏光成分としてのみ観測されるだけではなく、偏光成分としても観測される。しかし、非偏光成分は拡散反射成分であると考えられるため、式6によって求められた偏光最小カラー情報I
minは物体色ベクトルに等しいと考えられる。そこで、本実施形態における画像成分分離部106は、以下の式を利用することで、鏡面反射成分と拡散反射成分を分離する。
ここで、カラー画像I(x,y)は、2倍された偏光振幅カラー成分I
ampと偏光最小カラー情報I
minとの和であることを利用している。つまり、画像成分分離部106は、偏光振幅カラー成分I
ampを光源色ベクトル成分と偏光最小カラーベクトル成分に分離する。この処理を行うことにより、画像成分分離部106は、カラー画像I(x,y)を、式17にしたがい、以下のように偏光振幅光源色ベクトル成分I
amp1(x,y)および偏光振幅偏光最小カラーベクトル成分I
amp2(x,y)および偏光最小カラー成分I
min(x,y)へ分離する。
図18(a)は、被写体の位置(x,y)=(514,432)、(780,330)、(528,394)における画素の色ベクトルI(x,y)の数値例を示している。図18(a)に示すように、位置(x,y)=(514,432)、(780,330)における画素の色ベクトルI(x,y)は、Iamp1(x,y)+Iamp2(x,y)+Imin(x,y)で表されている。
一方、鏡面反射領域内の位置(x,y)=(528,394)における色ベクトルI(x,y)は、画像内で最も輝度が高い。そのため、後述するように、(x,y)=(528,394)の色ベクトルを光源の色ベクトルILightとして推定する。
後述する方法によって画像の成分分離を行うと、画素ごとにI(x,y)をIamp1(x,y)、Iamp2(x,y)、およびImin(x,y)に分離することができる。図18(b)に例として示す位置(x,y)=(514,432)の画素におけるIamp1(x,y)、Iamp2(x,y)、およびImin(x,y)は、それぞれ、[7269,7132,6505]、[4151,1705,821]、および[11845,4865,2345]である。なお、[]内の3つの数値は、前述したように、R、G、B各色の輝度である。同様に、位置(x,y)=(780,330)の画素におけるIamp1(x,y)、Iamp2(x,y)、およびImin(x,y)は、それぞれ、[37,37,33]、[1455,530,244]、および[4207,1532,706]である。
ここで、色ベクトルはRGBの3次元ベクトルであることに着目すると、偏光振幅カラー成分I
amp(x,y)は以下のように表現される。
ただし、Ramp(x,y)、Gamp (x,y)、Bamp (x,y)は、偏光振幅カラー成分Iamp(x,y)のR成分、G成分、B成分であり、RLight、GLight、BLightは、光源色ベクトルILightのR成分、G成分、B成分である。また、Rmin(x,y)、Gmin (x,y)、Bmin (x,y)は、偏光最小カラー成分Imin(x,y)のR成分、G成分、B成分である。
式19において、被写体の色ベクトルI(x,y)はカラー画像処理部103から求まっている。光源色ベクトルI
Lightは、光源色情報取得部105より既に求まっている。また、偏光最小カラー情報I
min(x,y)は、偏光情報処理部104より既に求まっている。したがって、式19において、方程式の数は3であるのに対し、未知数はC1(x,y)およびC2(x,y)の2つである。そのため、式20は最小自乗法を利用することにより、次式よりC1(x,y)およびC2(x,y)を求めることができる。
画像成分分離部106は、偏光情報処理部104および画像成分分離部106によって分離された各成分を、さらに、図19の成分分離基準に従い、各成分の成分分離を行う。
本実施形態における画像分離方法によって分離された「拡散反射非偏光成分」、「拡散反射偏光成分」、および「鏡面反射偏光成分」は、それぞれ、図11(b)、図11(d)、および図11(e)に示される通りである。すなわち、図11(b)は「拡散反射非偏光成分」である偏光最小カラー画像Imin(x,y)、図11(d)は「拡散反射偏光成分」である偏光振幅偏光最小カラーベクトル成分Iamp2(x,y)、図11(e)は「鏡面反射偏光成分」である偏光振幅光源色ベクトル成分Iamp1(x,y)を示している。
従来の偏光情報を利用した鏡面反射成分・拡散反射成分分離方法では、図11(c)のIamp(x,y)を「鏡面反射成分」、図11(b)のImin(x,y)を「拡散反射成分」として分離してしまう。そのため、前述のように、出射角が十分に大きい(遮蔽エッジ近傍)領域では、本来存在しないはずの鏡面反射成分が検出されるという問題が生じるが、本実施形態の画像分離方法では、そのような問題は生じない。
なお、光源色情報取得部105は、カラー情報処理部103および偏光情報処理部104が取得した被写体の情報を利用して、光源の色情報を取得するようにしても良い。前述のように、2色性反射モデルでは、被写体の色ベクトルI(x,y)は、光源の色ベクトルに等しい鏡面反射成分と、物体色ベクトルを有する拡散反射成分に分離される。
鏡面反射成分が非常に大きくなる正反射領域では、拡散反射成分が無視できると考えられる。また、画像中で最も輝度の高い画素は、正反射領域と仮定すると、この画素の色ベクトルは光源の色ベクトルに等しいと考えられる。そこで、光源色情報取得部105は、カラー情報処理部103が取得したカラー画像情報において、最も輝度の高い画素の検出し、その画素の色ベクトルを光源の色ベクトルとして推定する。例えば図18(a)に示す例では、位置(x,y)=(528,394)が最も輝度の高い画素である。そのため、この画素のI(x,y)を光源色ベクトルとして推定することが可能である。
光源色情報取得部105は、カラー情報処理部103および偏光情報処理部104が取得した、偏光最小輝度Imin、または、偏光振幅輝度Iampにおいて、最も輝度の高い画素の検出し、その画素の偏光最小輝度Iminまたは、偏光振幅輝度Iampの色ベクトルを光源の色ベクトルとして推定するようにしてもよい。
画像成分分離部106は、カラー画像を拡散反射非偏光成分、拡散反射偏光成分、および鏡面反射偏光成分に分離するのではなく、例えば、拡散反射成分および鏡面反射成分に分離するようにしても良い。これは、式17を以下のように変形すればよい。
これは、式18で求めた偏光振幅偏光最小カラーベクトル成分Iamp2(x,y)と偏光最小カラー成分Imin(x,y)を統合すればよい。
図20は、この場合の成分分離基準を示した図である。また、図21は本実施形態に係る画像分離方法の処理の流れを示すフローチャートである。図21において、図2と共通のステップには図2と同一の符号を付しており、ここではその詳細な説明は省略する。なお、図21に示す例では、最も輝度の高い画素の検出し、その画素の色ベクトルを光源の色ベクトルとして推定する。
この例において、画像成分分離部106は、偏光情報処理部104で生成された偏光最小カラー成分Iminを拡散反射非偏光成分、および、偏光最小カラー成分Iminによって生成された偏光振幅偏光最小カラーベクトル成分Iamp2を拡散反射成分、偏光振幅光源色ベクトル成分Iamp1を鏡面反射成分として成分分離を行う(ステップS108)。
本実施形態の画像成分分離方法によれば、図11(e)が「鏡面反射成分」、図11(f)が「拡散反射成分」を示している。画像成分分離部106は、偏光振幅カラー成分Iampを光源色ベクトル成分と偏光最小カラーベクトル成分に分離するのではなく、カラー偏光取得部102で取得したカラー画像を、光源色ベクトル成分と偏光最小カラーベクトル成分に分離しても良い。図22は、この場合の成分分離基準を示した図である。また、図23は本実施形態に係る画像分離方法の処理の流れを示すフローチャートである。図23において、図2と共通のステップには図2と同一の符号を付しており、ここではその詳細な説明は省略する。
図23において、偏光情報処理部104は、カラー偏光取得部102から出力される情報を用いて、偏光情報として、偏光最小カラー成分Iminを生成する(ステップS113)。ここで、ステップS103とステップS113の順序は任意であり、並列的に実行してもよいし、順次実行しても良い。光源色情報取得部105は、被写体を照射している光源の色ベクトルILightを取得する(ステップS105)。光源の色ベクトルは、前述した種々の方法を用いて取得することができる。
画像成分分離部106は、カラー情報処理部103によって取得されたカラー画像Iを、カラー画像光源色ベクトル成分I1とカラー画像偏光最小カラーベクトル成分I2へ分離する(ステップS114)。さらに、画像成分分離部106は、カラー画像偏光最小カラーベクトル成分I2を拡散反射非偏光成分、カラー画像光源色ベクトル成分I1を鏡面反射成分として成分分離を行う(ステップS115)。
画像成分分離部106は、陰影を考慮した画像分離を行っても構わない。これは、陰影では、多重反射などの影響により、光線が複雑になり、偏光情報の信頼性が失われるため、陰影領域では画像分離精度が劣化すると考えられるためである。
図24は、この場合の成分分離基準を示した図である。また、図25は本実施形態に係る画像分離方法の処理の流れを示すフローチャートである。図25において、図2と共通のステップには図2と同一の符号を付しており、ここではその詳細な説明は省略する。
画像成分分離部106は、まず、画素が陰影であるかどうかを推定するため、画素の輝度が閾値以下か否かを判定する(ステップS109)。陰影領域は輝度が低いため、カラー情報処理部103で求めたカラー画像の輝度が閾値以下の画素を陰影と判断することができる。閾値の大きさは実験的に決定すればよく、例えば、16ビットモノクロ画像に対しては、256を設定すればよい。また、陰影を検出するための輝度としては、偏光情報処理部104で取得した、偏光最大輝度Imaxや偏光最小輝度Imin、または偏光最大輝度Imaxと偏光最小輝度Iminの平均値や重み付け和(例えば、Imax+Imin やImax+2・Imin)などを利用するようにしても良い。特に、Imax+Iminは、直線偏光光源下において、偏光子を設置しなかった場合に撮像される画像と等価の画像である。そのため、Imax+Iminを利用して画像処理を行うことで、通常の偏光を利用しない場合と同様の処理を行うことができる。また、偏光最小輝度Iminを利用した場合、輝度が非常に高くなり、白とびが生じる可能性の高い鏡面反射成分の影響を小さくすることができるため、非常に有効である。画素の輝度が閾値より小さかった場合(ステップS0109でYes)、画素は陰影成分であると判断し(ステップS110)、処理を終了する。
一方、画素の輝度が閾値以上であった場合(ステップS109でNo)、画素は陰影ではないと判断し、画像成分分離部106は、前述の通り、偏光振幅カラー成分Iampを偏光振幅光源色ベクトル成分Iamp1と偏光振幅偏光最小カラーベクトル成分Iamp2に成分分離を行い(ステップS106)、偏光情報処理部104で生成された偏光最小カラー成分Iminを拡散反射非偏光成分、偏光振幅偏光最小カラーベクトル成分Iamp2を拡散反射偏光成分、偏光振幅光源色ベクトル成分Iamp1を鏡面反射偏光成分として成分分離を行う(ステップS107)。
発光装置206は、撮像装置203からできる限り離して配置することが望ましい。発光装置206が撮像装置203の近傍に存在する場合、鏡面反射成分が観測される領域は、入射角が0度近傍の領域となる。これは、鏡面反射成分は、正反射領域近傍で観測されるためである。しかし、入射角が0度近傍の領域では、図16より、鏡面反射成分がほとんど偏光しない。そのため、偏光最小輝度Imin(x,y)には多くの鏡面反射成分が含まれることになり、画像生成分離部106による画像成分分離精度が低下してしまうためである。
図26は、本実施形態に係る画像処理装置の他の構成例を示すブロック図である。これは、カラー情報処理部103および偏光情報処理部104が取得した被写体の情報を利用して、光源色情報取得部105が光源の色情報を取得する処理に対するブロック図である。図26において、図1と共通の構成要素には、図1と共通の符号を付しており、ここではその詳細な説明は省略する。また、図27は、本実施形態に係る画像分離方法の処理の流れを示すフローチャートである。図27において、図2と共通のステップには、図2と共通の符号を付しており、ここではその詳細な説明は省略する。図2との違いは、図2では、ステップS103とステップS104とステップS105の順序が任意であったが、図27では、ステップS103とステップS104のみ順序が任意であることである。ステップS103とステップS104は、並列的に実行してもよいし、順次実行しても良い。
なお、本実施形態では、パターン化偏光子201にフォトニック結晶を用いているが、パターン化偏光子を利用せず、撮像装置のレンズ前に装着した偏光板を回転させながら撮影することで、時系列的に偏光主軸の異なる輝度を取得するようにしても良い。この方法は、例えば、特開平11−211433号公報に開示されている。この場合、動く被写体やカメラが運動している際には、画像処理で広く行なわれている、被写体のトラッキング技術を利用すればよい(例えば、Jianbo Shi and Carlo Tomasi,“Good Features to Track”, IEEE Conference on Computer Vision and Pattern Recognition, pages 593−600, 1994)。
カラー偏光取得部102はカラー画像情報と偏光情報を同一の撮像装置203で取得するのではなく、個別の撮像装置で取得するようにしても良い。図28は、カラー画像情報と偏光情報を別々の撮像素子203および203−2によってカラー偏光取得部102を構成した場合の本実施形態に係る画像処理装置画像処理装置が搭載されたカメラの構成例を示している。この場合、ビームスプリッタなどを利用して、2つの撮像装置203および203−2の光軸が等しくなるようにすることが望ましい。
以上のように、本発明の画像分離方法を利用することで、偏光情報と色情報を利用した画像分離を行うことができる。このような画像分離は、拡散反射成分の偏光成分も考慮にいれた鏡面反射成分と拡散反射成分の分離を行うこともできる。
(第2の実施形態)
図29は、本実施形態に係る画像分離システムにおけるブロック図を示している。図29において、図1と共通の構成要素には図1と同一の符号を付しており、ここではその詳細な説明は省略する。第1の実施形態との違いは、投光装置107と画像処理装置108を分離させたことである。また、図30は本実施形態に係る画像処理装置における、画像分離方法の処理の流れを示すフローチャートである。図30において、図2と共通のステップには図2と同一の符号を付しており、ここではその詳細な説明は省略する。さらに、図31は、本実施形態に係る画像処理装置108が搭載されたカメラと投光装置107の構成例を示している。図31において、図3と共通の構成要素には図3と同一の符号を付しており、ここではその詳細な説明は省略する。
本実施形態の画像分離システムは、投光装置107と画像処理装置108からなり、被写体を撮像することによって前記被写体の画像の成分分離を行う画像分離システムであって、投光装置107は、直線偏光光を前記被写体に投光する投光部101を有する。また、画像処理装置108は、偏光主軸角度が異なる3方向以上の偏光子を透過してくる光をカラーフィルタを通して受光することで、被写体のカラー偏光画像を取得するカラー偏光取得部102と、カラー偏光取得部102で取得した画像から、カラー画像を生成するカラー情報処理部103と、カラー偏光取得部102で取得した画像から、当該偏光画像を構成する単位画素のそれぞれについて、前記3方向以上の偏光子を透過した光の輝度との対応関係を用いて、受光した偏光に関するカラー情報であるカラー偏光情報を生成する偏光情報処理部104と、被写体を投光している光源の色情報を取得する光源色情報取得部105と、偏光情報処理部104によって生成された偏光情報と光源色情報取得部105によって取得された光源色情報を利用して、カラー情報処理部103で取得したカラー画像の成分分離を行う画像成分分離部106を備える。
投光装置107と画像処理装置108は同期処理を行ない、画像処理装置108は投光装置107からの同期信号により撮像を行うようにしても良い。この処理について説明する。
図32は、本実施形態に係る画像分離システムにおけるブロック図を示している。図32において、図29と共通の構成要素には図29と同一の符号を付しており、ここではその詳細な説明は省略する。図29との違いは、投光装置107、画像処理装置108ともに通信部109、110を有する点である。また、図33は本実施形態に係る投光装置107および画像処理装置108における画像分離方法の処理の流れを示すフローチャートである。図33において、図2と共通のステップには図2と同一の符号を付しており、ここではその詳細な説明は省略する。さらに、図34は、本実施形態に係る画像処理装置が搭載されたカメラと投光装置の構成例を示している。図34において、図31と共通の構成要素には図31と同一の符号を付しており、ここではその詳細な説明は省略する。
前述のように、ステップS101において、投光装置107は、投光部101によって、偏光光を被写体へ投光する。その後、投光装置107は通信装置209によって、投光を知らせる信号を画像処理装置108へ送信する(ステップS111)。画像処理装置108は前記投光を知らせる信号を通信装置210で受信すると(ステップS112)、前述のように、カラー偏光取得部102は、パターン化偏光子201およびカラーフィルタ202を通して被写体を撮像素子で受光することで、カラー偏光情報を含んだカラー画像であるカラー偏光画像を取得する(ステップS102)。前述のように、ステップS103〜S107によって、偏光情報、カラー画像および光源色ベクトルを取得し、最終的に画像成分分離を実施する。
通信部109は、投光を知らせる信号を画像処理装置108へ送信するだけではなく、光源の色ベクトル情報も画像処理装置108へ送信するようにしても良い。この場合、光源色情報処理部105は、通信部110によって受信した信号から、光源色ベクトル情報を取得すればよい。
本実施形態における画像分離システムは、投光装置107と画像処理装置108を分離させ、通信により投光と撮像の同期をとることにより、より小型の画像処理装置108でありながら、高精度な画像成分分離を実現することが可能である。
(画像分離を利用したモデルベースの画像合成)
本発明の画像成分分離は、デジタルアーカイブなどに使われているモデルベースの画像合成処理に特に有効である。モデルベースの画像合成は、撮像した画像の光源方向や視線方向を任意に変化させることができるため、撮像データのインタラクティブな提示方法として重要である。また、臨場感を与えるためにも非常に有効である。そのため、モデルベースの画像合成処理は、バーチャルミュージアムやAR(Augmented Reality)などの応用に利用できる。本来、このようなモデルベースの画像合成では撮像画像を鏡面反射成分と拡散反射成分に領域分離を行ない、それぞれの成分ごとに異なったモデルを利用してきたが、前述のように、鏡面反射成分と拡散反射成分の分離が不十分であったため、画質が劣化するという問題があった。この問題は、以下のことが原因である。それぞれのモデルにおけるパラメータ推定の際、実際とは異なった鏡面反射成分と拡散反射成分を利用しているため、実際とは異なるパラメータを推定してしまう。このように実際とは異なったパラメータを利用して画像を合成した場合、前述のように、視点変換画像や光源変化画像を作成した際に出力される画像に大きな誤差が生じてしまう。
本発明の画像成分分離方法を利用することで、画質劣化の少ない、モデルベースの画像合成を実現することができる。この手法を説明する。
まず、この処理の概念を説明する。本発明の画像合成処理は、パラメータ推定装置800と画像合成装置801からなる。以下の5つの入力情報を利用する。
○被写体の拡散反射画像
○被写体の鏡面反射画像
○被写体の3次元形状情報
○光源位置・色・照度
○合成画像における視点・光源情報
図35は本発明の一実施形態に係るパラメータ推定装置800と画像合成装置801の構成を示すブロック図である。図35のパラメータ推定装置800は、撮像装置を利用し、撮像を行う画像撮像部802と、上述した画像分離方法によって、画像を鏡面反射成分と拡散反射成分に分離する画像分離部803と、被写体に照射する光源の方向や位置、輝度、色、スペクトル情報などの光源情報を推定する光源情報推定部804と、被写体の表面の法線情報または3次元位置情報を形状情報として取得する形状情報取得部805と、撮像された被写体から、画像分離部803で分離された成分ごとに前記光源情報推定部で推定された光源情報と前記形状情報取得部で取得された形状情報をモデル化することで反射モデルパラメータを推定するパラメータ推定部806と、パラメータ推定部806において推定された反射パラメータを保持するパラメータDB(データベース)807とを備えている。さらに、画像合成装置801は、合成する画像の視点や光源情報を取得する視点・光源情報取得部808と、パラメータDB807に保持されているモデルパラメータ情報を利用して、視点・光源情報取得部808で取得された視点や光源情報に則した画像を合成するレンダリング部809とを備えている。
また、図36、図37は本実施形態に係る画像合成方法における、パラメータ推定方法と画像合成方法の処理の流れを示すフローチャートである。
まず、パラメータ推定方法の処理の流れについて説明する。図36において、画像撮像部802は、前述のカラー情報処理部103を利用して、カラー輝度を計算する(ステップS301)。偏光情報処理部104を利用して、偏光最大輝度Imaxと偏光最小輝度Iminの重み付け和(Imax+Iminや Imax+2・Imin)を取得するようにしても良い。画像分離部803は、前述の画像分離方法により、画像撮像部802によって撮像された画像を、拡散反射成分と鏡面反射成分とに成分分離する(ステップS302)。光源情報推定部804は、光源情報として、光源の方向、さらには色情報や照度情報を取得する(ステップS303)。形状情報取得部805は、被写体の形状情報である表面の法線情報または、被写体の3次元位置情報を取得する(ステップS304)。パラメータ推定部806は、画像分離部803によって成分分離された拡散反射画像と鏡面反射画像に対して、前記光源情報推定部で推定された光源情報と前記形状情報取得部で取得された形状情報を利用することで、それぞれの反射パラメータを、別々の方法で推定する(ステップS305)。パラメータDB807は、パラメータ推定部806で求まった拡散反射成分の反射パラメータと鏡面反射成分の反射パラメータ、および形状情報取得部S305で取得した形状情報をモデルパラメータとして保持する(ステップS306)。
次に、画像合成推定方法の処理の流れについて説明する。図37において、まず、レンダリング部809は、パラメータDB807に保持されているモデルパラメータ情報を呼び出す(ステップS307)。視点・光源情報取得部808は、合成する画像の視点や光源の方向、さらには色情報や照度情報を取得する(ステップS308)。レンダリング部809は、パラメータDB807に保持されているモデルパラメータ情報を利用して、視点・光源情報取得部808で取得された視点や光源情報に則した画像を合成する(ステップS309)。
さらに、図38は、本実施形態に係る画像合成装置が搭載されたカメラの構成例を示している。なお、ここでは、画像分離部803、光源情報推定部804、形状情報取得部805、パラメータ推定部806およびレンダリング部809は、CPU205によってプログラムを実行することによって、実現されるものとする。ただし、これらの機能の全部または一部を、ハードウエアによって実現しても良い。また、視点・光源情報取得部808はユーザインターフェイス部212によって実行される。また、メモリ204は画像撮像部802によって撮像された偏光画像と、画像分離部803によって取得された鏡面反射成分および拡散反射成分画像、光源情報推定部によって推定された光源情報、形状情報取得部805によって取得された形状情報、パラメータ推定部807によって推定された反射パラメータ情報、および、視点・光源情報取得部で取得された視点・光源情報をモデルパラメータとして格納する。
以下、それぞれの処理について説明する。
まず、パラメータ推定装置800について説明する。
画像撮像部802はCCDやCMOSなどの撮像装置を利用して、カラー偏光取得部102およびカラー情報処理部103によって、被写体のカラー画像を取得する。こうして撮像された画像は、輝度が非常に高くなる鏡面反射成分と拡散反射成分とが同時に、飽和することなく、十分な輝度分解能で記録されることが望ましい。このため、冷却CCDカメラや多重露光撮像など、広いダイナミックレンジを撮像できる撮像装置を利用することが望ましい。このような画像撮像部は、前述の、偏光情報処理部103によって取得された偏光最大輝度Imaxと偏光最小輝度Iminの重み付け和(Imax+Iminや Imax+2・Imin)であっても良い。特に、Imax+Iminは、直線偏光光源下において、偏光子を設置しなかった場合に撮像される画像と等価の画像である。そのため、Imax+Iminを利用して画像処理を行うことで、通常の偏光を利用しない場合と同様の処理を行うことができる。
画像分離部803は、前述の画像分離方法により、画像撮像部802によって撮像された画像を、拡散反射成分と鏡面反射成分とに成分分離する。
光源情報推定部804は、光源情報として、光源の方向、さらには色情報や照度情報を取得する。これは例えば、被写体近傍に光源情報を推定するための形状既知の鏡面などを配置し、画像撮像部802によって撮像したその鏡面の画像から推定すればよい(例えば、「神原誠之,横矢直和,"光源環境の実時間推定による光学的整合性を考慮したビジョンベース拡張現実感",電子情報通信学会技術研究報告,パターン認識・メディア理解,PRMU2002−190,pp. 7−12,2003」)。この処理について詳述する。
光源情報推定部804は、図15に示した鏡面とみなせる球601を利用して行う。鏡面球601を被写体近傍に設置し、その位置や法線方向は既知とする。この鏡面球601を画像撮像部802によって撮像する。このとき、鏡面球601には、撮影環境が映り込んでいる。映り込みが生じる位置は、その鏡面球上の法線方向に対して、視線方向と映り込む対象への方向が正反射の関係となる位置である。そのため、鏡面球の位置とその法線方向が既知であれば、鏡面上の映り込んだ画像から映り込み対象の方向を検出できる。また、光源は輝度が高いことを考慮すると、撮影された鏡面球の画像から、高輝度の画素を検出することにより、光源の方向を取得できる。さらに、鏡面の反射率が既知であれば、前述の通り、光源の色情報や放射輝度などの光源照度情報も取得できる。
光源情報として、光源の方向だけではなく、あるいは光源の方向に代えて、光源の位置情報を取得するようにしても良い。これは、例えば前述の鏡面球を2つ利用したり、または撮像装置の位置を変化させて撮像した複数の画像を使用して、画像処理分野で広く知られているステレオ画像処理の技術を利用すればよい。
このような鏡面球を常に撮影するのではなく、以前に撮影して求めた光源情報を使うようにしても良い。これは、屋内の監視カメラのように光源環境が変わらない場合に有効である。このような場合、カメラを設置した際に鏡面球を撮影し、光源情報を取得するようにすればよい。
光源情報推定部804は、鏡面とみなせる球601のような参照物体を利用するのではなく、被写体を利用して光源方向を推定するようにしても良い。この方法を説明する。まず、被写体を撮像した画像領域において、最も輝度の高い画素を選択する。後述するように、形状情報取得部805によって、被写体の形状情報である表面の法線情報は推定されているため、最も輝度の高い画素の法線方向は既知である。ここで、最も輝度の高い画素は、正反射方向の光源が映り込んでいると仮定すると、前述の参照物体を利用する方法と同様に、法線方向から光源の方向を取得できる。
また、撮像装置701に、照度計211を設置することにより、光源情報として入射照度を測定するようにしても良い。入射照度情報の利用方法については後述する。
形状情報取得部805は、被写体の形状情報である表面の法線情報または、被写体の3次元位置情報を取得する。被写体の形状情報を取得する手段としては、例えば、スリット光投影法、パターン光投影法、レーザレーダ法などの既存の手法を用いればよい。
形状情報の取得はこれらの手法に限られるものでない。例えば、複数のカメラを利用するステレオ視、カメラの動きを利用するモーションステレオ法、光源の位置を変化させながら撮像した画像を利用する照度差ステレオ法、ミリ波や超音波を利用して被写体との距離を測定する方法、さらには反射光の偏光特性を利用した方法(例えば、USP5,028,138号や「宮崎大輔,池内克史,"偏光レイトレーシング法による透明物体の表面形状の推定手法",電子情報通信学会論文誌,vol. J88−D−II, No.8,pp. 1432−1439,2005」)を用いても良い。ここでは、照度差ステレオ法と偏光特性を利用した方法について説明する。
照度差ステレオ法は、光源方向が異なる3枚以上の画像を利用して、被写体の法線方向と反射率を推定する手法である。例えば、「H. Hayakawa, “Photometric Stereo under a light source with arbitrary motion”, Journal of the Optical Society of America A, vol.11, pp.3079−89, 1994」は、画像上で6点以上の反射率が等しい点を既知情報として取得し、拘束条件として利用することによって、光源の位置情報も未知としながらも、以下のパラメータを推定する手法である。
・被写体情報:画像上の各点の法線方向と反射率
・光源情報:被写体の観察点における光源方向と照度
ここでは、前述の拡散反射・鏡面反射分離手法によって分離された拡散反射画像のみを利用した照度差ステレオ法を行う。本来、この手法は被写体が完全拡散反射をしていることを仮定しているため、鏡面反射が存在する被写体では大きな誤差が生じてしまう。しかし、分離した拡散反射成分のみを利用することで、鏡面反射成分の存在による推定誤差を無くすことができる。
光源方向が異なる拡散反射画像を以下のように輝度行列I
dで表現する。
ただし、i
df(p)は光源方向fの拡散反射画像の画素pにおける輝度を示している。また、画像の画素数はP画素、異なった光源方向で撮像した画像枚数はF枚である。ところで、Lambertianモデルより、拡散反射画像の輝度は以下のように表現できる。
ただし、ρdpは画素pの反射率(アルベド)、npは画素pの法線方向ベクトル、tfは光源fの入射照度、Lfは光源fの方向ベクトルを示している。
ここで、Rは表面反射行列、Nは表面法線行列、Lは光源方向行列、Tは光源強度行列、Sは表面行列、Mは光源行列と呼ぶ。
ここで、特異値分解を利用すると、式24は以下のように展開できる。
ただし、
であり、Eは単位行列を示している。また、U’はP×3行列、U”はP×(F−3)行列、Σ’は3×3行列、Σ”は(F−3)×(F−3)行列、V’は3×F行列、V”は(F−3)×F行列である。ここで、U”、 V”は信号成分であるU’、 V’の直交基底、すなわち、ノイズ成分であると考えられる。ここで、特異値分解を利用すると、式26は以下のように変形できる。
すなわち、式27を解くことにより、形状情報と光源情報を同時に取得することができるが、以下の3×3行列Aの不定性が残る。
ここで、Aは任意の3×3行列である。形状情報と光源情報を取得するためには、この行列Aを求める必要がある。これは、例えば、画面上の6点以上で反射率が等しいことが既知であればよい。例えば、任意の6点k1〜k6の反射率が等しいとすると、
式25、式28および、式30より、
さらに、
とおくと、式31は以下のようになる。
ここで、式32より行列Bは対称行列であるため、行列Bの未知数は6である。すなわち、画面上の6点以上で反射率が等しいことが既知であれば、式33は解くことができる。
また、行列Bが既知となれば、式32に特異値分解を利用することにより、行列Aは解くことができる。
さらに、式28および、式29より、形状情報と光源情報を取得する。
以上のことより、反射率が等しい6点以上の画素が既知な被写体において、光源方向を変更しながら3枚以上の画像を取得することにより、以下の情報を得ることができる。
・被写体情報:画像上の各点の法線方向ベクトルと反射率
・光源情報:被写体の観察点における光源方向ベクトルと放射輝度
ただし、上記の処理で求まる被写体の反射率と光源の放射輝度は相対的なものであり、絶対値を求めるためには、画面上の6点以上で反射率が既知であるなど、上記とは異なる既知情報が必要となる。
以上のように、照度差ステレオ法と偏光特性を利用した方法では、表面の法線情報を取得する。一方、スリット光投影法やステレオ視などの手法では、被写体の3次元位置情報を取得する。被写体表面の法線情報とは、被写体の3次元位置情報の微小空間での傾き情報であり、どちらも被写体の形状情報である。
以上の処理により、形状情報取得部805は被写体の形状情報である表面の法線情報または、被写体の3次元位置情報を取得する。
以上の処理により、以下の情報を取得する。
○被写体の拡散反射画像
○被写体の鏡面反射画像
○被写体の3次元形状情報
○光源位置・照度
次に、パラメータ推定部806は、画像分離部803によって成分分離された拡散反射成分と鏡面反射成分に対して、それぞれの反射パラメータを、別々の方法で推定する。まず、拡散反射成分の処理について説明する。
パラメータ推定部806は、画像分離部803によって成分分離された拡散反射成分を利用し、被写体のアルベドを推定する。アルベドは光源情報に影響を受けないため、アルベド画像を利用して処理を行うことによって、光源変動にロバストな処理が実現できる。
この処理を説明する。まず、物体の反射特性について説明する。2色性反射モデルを仮定すると、物体の輝度は、拡散反射成分と鏡面反射成分との和として以下の式で表現される。
ここで、Iは撮像装置が撮像した被写体の輝度、Iaは環境光成分、Idは拡散反射成分、Isは鏡面反射成分である。ここで、環境光成分とは、光源の光が物体などによって散乱された間接光のことである。これは空間の至る所に散乱され、直接光がとどかない影の部分にもわずかに明るさを与える。そのため、通常はノイズとして取り扱われることが多い。
環境光成分は十分に小さく、ノイズとして無視できると考えると、画像は拡散反射成分と鏡面反射成分とに分離できる。
式23より、拡散反射成分では、以下の関係が成り立つ。
ただし、θiは被写体の法線方向ベクトルと光源方向ベクトルのなす角度を示す。ここで、光源情報推定部804および形状情報取得部805により、角度θiは既知である。また、後述するように、光源の入射照度tfも推定可能なため、被写体のアルベドρdpは式35から求められる。
被写体のアルベドを求めるのではなく、次式によりアルベドに光源の放射輝度を乗算した擬似アルベドを求め、これを利用しても良い。
次に、鏡面反射成分の反射パラメータ推定について説明する。
パラメータ推定部806は、形状情報取得部805によって取得された被写体の法線情報、画像分離部803によって分離された拡散反射画像と鏡面反射画像を利用して、その被写体を表現するパラメータを推定する。ここでは、Computer−Graphicsの分野で広く使われているCook−Torranceモデルを利用する方法を説明する。
Cook−Torranceモデルでは、鏡面反射画像を次式のようにモデル化する。
ここで、Eiは入射照度、ρs,λは波長λにおける鏡面反射成分の双方向反射率、nは被写体の法線方向ベクトル、Vは視線ベクトル、Lは光源方向ベクトル、Hは視線ベクトルと照明方向ベクトルの中間ベクトル、βは中間ベクトルHと法線方向ベクトルnの角度を表す(図39参照)。また、Fλはフレネル方程式から求められる誘電体表面からの反射光の比であるフレネル係数、Dはマイクロファセット分布関数、Gは物体表面の凸凹による遮光の影響を表す幾何減衰率である。さらに、nλは被写体の屈折率、mは被写体表面の粗さを示す係数、Ijは入射光の放射輝度である。また、ksは鏡面反射成分の係数である。
さらに、式23のLambertianモデルを利用すると、式34は以下のように展開される。
ただし、
ここで、ρ
dは拡散反射成分の反射率(アルベド)、dpx、dpyは撮像装置の1画素のx方向、y方向の長さ、rは撮像装置の観察点Oからの距離を示している。また、k
dは以下の関係式を満たす係数である。
Srは拡散反射成分と鏡面反射成分の輝度の違いを表現するための定数であり、拡散反射成分が被写体からすべての方向へエネルギーを反射することを示している。図40はこの定数Srを説明するための模式図である。図40において、観察点Oで反射された拡散反射成分エネルギーは、半球状に広がっていく。ここで、撮像装置701が観察点Oからrだけ離れているので、撮像装置の1撮像素子に届くエネルギーと、観察点Oで反射した総エネルギーの比Srは、式47で表される。
以上のことから、パラメータ推定部806は、式36〜式47より、鏡面反射成分の反射パラメータを推定する。
以上の関係式をまとめると、パラメータ推定を行うための既知パラメータと、推定すべきパラメータは以下のようになる。
(既知パラメータ)
○環境光成分Ia
○拡散反射成分Id
○鏡面反射成分Is
○被写体の法線方向ベクトルn
○光源方向ベクトルL
○視線ベクトルV
○中間ベクトルH
○中間ベクトルHと法線方向ベクトルnの角度β
○撮像装置701の1画素のx方向、y方向の長さdpx, dpy
○撮像装置701と観察点Oとの距離r
(推定すべきパラメータ)
○入射照度Ei
○鏡面反射成分の係数ks
○被写体表面の粗さm
○被写体の屈折率ηλ
ここで、拡散反射成分の係数kd、および拡散反射成分の反射率(アルベド)ρdも未知パラメータであるが、鏡面反射成分のパラメータのみを推定するため、ここでは推定処理を行わない。
図41はパラメータ推定部806の処理の流れを示す図である。処理は、以下の2段階からなる。
まず、光源情報を使用して、入射照度E
iを求める(ステップS401)。ここでは、光源情報推定部804によって取得した光源の位置情報、形状情報取得部805で求めた撮像装置と被写体との距離情報、さらには光源情報推定部804で求めた光源照度を用いる。これは、次式から求まる。
撮像装置701には前述のように、照度計211が設置されているとする。ここで、Iiは照度計211によって測定された光源702の入射照度、R1は撮像装置701と光源702との距離、R2は光源702と観察点Oとの距離、θ1は観察点Oにおける法線方向ベクトルnと光源方向ベクトルLCとのなす角度、θ2は撮像装置701における光軸方向と光源方向ベクトルLAとのなす角度を示している(図42参照)。ここで、被写体の大きさが、光源702と観察点Oとの距離R2に比べ十分に小さいと考えられる場合、距離R2は被写体上の全ての観察点Oで等しくなる。そのため、式49において、(R1/R2)は定数となり、実際に計測する必要はなくなる。またθ1は既知である。これは、形状情報取得部805によって観察点Oにおける法線方向ベクトルnが既知であり、光源情報推定部804によって光源方向ベクトルLCが既知であるためである。さらにθ2は、光源情報推定部804によって光源の位置が推定されている場合、既知である。そのため、式49の右辺はすべて既知となる。
次に、シンプレックス法を利用して、未知パラメータm、ηλ、k
sを推定する(ステップS402)。シンプレックス法は、シンプレックスと呼ぶ図形の頂点に変数を割り付け、シンプレックスの大きさと形を変えて関数の最適化を行う方法である(大田登,“色再現光学の基礎”,pp.90−92,コロナ社)。シンプレックスは、n次元空間の(n+1)個の点の集合である。ただし、nは推定する未知数の数であり、ここでは「3」である。そのため、シンプレックスは四面体である。シンプレックスの頂点をベクトルx
iで表し、新しいベクトルを次のように定める。
ただし、
はそれぞれ関数f(x
i)を最大、最小にするx
iを示している。
さらに、この方法で用いる3種類の操作を以下のように定める。
1.鏡像:
2.拡張:
3.収縮:
ここで、α(>0)、β(>1)、γ(1>γ>0)は係数である。
シンプレックス法は、シンプレックスの頂点の中で関数値の最も大きなものを選ぶことで、その鏡像における関数値は小さくなるという期待に基づいている。この期待が正しければ、同じプロセスの繰り返しで関数の最小値が求められる。つまり、初期値で与えたパラメータを3種類の操作で更新しながら、評価関数が示すターゲットとの誤差が閾値未満になるまでパラメータの更新を繰り返す。ここでは、パラメータとしてm、ηλ、k
s、評価関数として式55で表される、式36から算出される鏡面反射成分画像と画像分離部803で求められた鏡面反射成分画像との差ΔI
sを利用した。
ただし、is(i,j)’, is(i,j)はそれぞれ、計算された鏡面反射画像の推定値Is’と画像分離部803で求められた鏡面反射成分画像Isの画素(i,j)の輝度、Ms(i,j)は、画素(i,j)が鏡面反射成分を持つ場合に1、そうでない場合0をとる関数である。
この処理について詳しく説明する。図43はこの処理の流れを説明するためのフローチャートである。
まず、繰り返し演算の更新回数を記憶するカウンターnとkに0を代入し、初期化する(ステップS411)。ここで、カウンターnは初期値を何回変更したかを記憶するカウンターであり、kはある初期値に対してシンプレックスによる候補パラメータの更新を何回行ったかを記憶するカウンターである。
次に、乱数を利用し、推定パラメータの候補パラメータm’、ηλ’、k
s’の初期値を決定する(ステップS412)。このとき、各パラメータの物理的な拘束条件から、初期値の発生範囲は以下のように決定した。
次に、こうして求めた候補パラメータを式36へ代入し、鏡面反射画像の推定値Is’を求める(ステップS413)。さらに、計算された鏡面反射画像の推定値Is’と画像分離部803で求められた鏡面反射成分画像との差ΔIsを式55より求め、これをシンプレックス法の評価関数とする(ステップS414)。こうして求めたΔIsが十分小さい場合(ステップS415でYes)、パラメータ推定は成功したとして、推定パラメータm、ηλ、ksとして候補パラメータm’、ηλ’、ks’を選択し、処理を終了する。一方、ΔIsが大きい場合(ステップS415でNo)、シンプレックス法により候補パラメータの更新を行う。
候補パラメータの更新を行う前に、更新回数の評価を行う。まず、更新回数を記憶しているカウンターkに1を足し(ステップS416)、カウンターkの大きさを判断する(ステップS417)。カウンターkが十分に大きい場合(ステップS417でNo)、繰り返し演算は十分に行なわれているが、ローカルミニマムに落ちているため、このまま更新を繰り返しても最適値には達しないと判断し、初期値を変更して、ローカルミニマムからの脱却を図る。そのため、カウンターnに1を足し、カウンターkに0を入れる(ステップS421)。ここで、カウンターnの値が閾値より高いかどうかを判定し、処理をこのまま続けるか、処理不能として処理を終了させるかを決定する(ステップS422)。ここで、nが閾値より大きい場合(ステップS422でNo)、この画像は推定不能として処理を終了する。一方、nが閾値より小さい場合(ステップS422でYes)、再度、初期値を式56の範囲内で乱数から選択しなおし(ステップS412)、処理を繰り返す。このようなkに対する閾値は、例えば、100などを選択すればよい。
一方、ステップS417において、カウンターkが閾値以下の場合(ステップS417でYes)、候補パラメータを式52〜式54を利用して変更する(ステップS418)。この処理については後述する。
次に、こうして変形された候補パラメータが、解として意味のあるものであるかを判定する(ステップS419)。すなわち、シンプレックス法を繰り返すことで、変形されたパラメータが物理的に意味のない値(例えば、粗さパラメータmが負の値など。)におちいる可能性があるため、これを除去する。これは、例えば、以下のような条件を与え、この条件を満たす場合には意味のあるパラメータ、満たさない場合には意味のないパラメータと判定すればよい。
これらの値は、被写体より求めることができる。例えば、屈折率ηλであれば、被写体の材質によって決定される値である。例えば、プラスチックであれば1.5〜1.7、ガラスであれば1.5〜1.9であることが知られているため、これらの値を利用すればよい。つまり、被写体がプラスチックである場合、屈折率ηλは1.5〜1.7とすればよい。
変形したパラメータが式57を満たす場合(ステップS419でYes)、その候補パラメータは意味のある値であると考えられるため、新しい候補パラメータとして設定し(ステップS420)、更新処理を繰り返す(ステップS413)。一方、変形したパラメータが式57を満たさない場合(ステップS419でNo)、その初期値に対する更新処理を打ち切り、新しい初期値により更新を行う(ステップS421)。
ここで、ステップS418の変形処理について詳述する。図44はこの処理の流れを示したフローチャートである。ここでは、候補パラメータm’、ηλ’、k
s’をベクトル表現し、これをパラメータxとする。すなわち、
まず、式50〜式52を利用して、鏡像操作を行ったパラメータxrを計算し、式55によってxrでの鏡面反射成分画像との差ΔIs(xr)を計算する(ステップS431)。次に、こうして求められたΔIs(xr)と、2番目に評価関数が悪かったΔIs(xs)を比較する(ステップS432)。ここでΔIs(xr)がΔIs(xs)より小さかった場合(ステップS432でYes)、鏡像操作を行った評価値ΔIs(xr)と現在、最も評価値のよいΔIs(xl)を比較する(ステップS433)。ここで、ΔIs(xr) がΔIs(xl)以上であった場合(ステップS433でNo)、最も評価値の低かったxhをxrへ変更し(ステップS434)、処理を終了する。
一方、ΔIs(xr)がΔIs(xl)より小さかった場合(ステップS433でYes)、式54を利用して拡張処理を行ない、パラメータxeと、xeでの鏡面反射成分画像との差ΔIs(xe)を計算する(ステップS435)。次に、こうして求められたΔIs(xe)と、鏡像操作によるΔIs(xr)を比較する(ステップS436)。ここでΔIs(xe)がΔIs(xr)より小さかった場合(ステップS436でYes)、最も評価値の悪かったxhをxeへ変更し(ステップS437)、処理を終了する。
一方、ΔIs(xe)がΔIs(xr)以上であった場合(ステップS436でNo)、最も評価値の悪かったxhをxrへ変更し(ステップS434)、処理を終了する。
また、ステップS432において、ΔIs(xr)がΔIs(xs)より大きかった場合(ステップS432でNo)、鏡像操作を行った評価値ΔIs(xr)と現在、最も評価値の悪いΔIs(xh)を比較する(ステップS438)。ここでΔIs(xr)がΔIs(xh)より小さかった場合(ステップS438でYes)、最も評価値の悪かったxhをxrへ変更し(ステップS439)、式53を利用して、収縮操作を行ったパラメータxcと、xcでの鏡面反射成分画像との差ΔIs(xc)を計算する(ステップS440)。一方、ΔIs(xr)がΔIs(xh)以上であった場合(ステップS438でNo)、xhを変更することなく、収縮操作を行ったパラメータxcと、xcでの鏡面反射成分画像との差ΔIs(xc)を計算する(ステップS440)。
次に、こうして求められたΔIs(xc)と、最も評価値の悪いΔIs(xh)を比較する(ステップS441)。ここでΔIs(xc)がΔIs(xh)より小さかった場合(ステップS441でYes)、最も評価値の悪かったxhをxcへ変更し(ステップS442)、処理を終了する。
一方、ΔI
s(x
c)がΔI
s(x
h) 以上であった場合(ステップS441でNo)、すべての候補パラメータx
i(i=1,2,3,4)を以下の式により変更し、処理を終了する。
以上の処理を繰り返すことにより、鏡面反射画像における未知パラメータであるm、ηλ、ksを推定する。
以上の処理により、すべての未知パラメータを推定することができる。
図45(a)は、図45(b)の領域Aに関して、横軸に中間ベクトルβ、縦軸に鏡面反射成分の輝度Isをグラフ化したものである。この図において、白色○は領域Aに関して観測された輝度Isをプロットしたものである。また、黒色■はCook−Torranceモデルの各パラメータを推定し、プロットしたものである。図46は、従来の偏光情報を利用した画像分離手法を利用したグラフである。図47は、従来の偏光情報を利用した画像分離手法を利用して作成した合成画像を示している。このように、パラメータ推定に失敗した場合、合成画像の質感が実物とは大きくかけ離れたものとなってしまう。これらの図より、従来の画像分離手法では、鏡面反射成分と拡散反射成分の分離精度の劣化に伴い、反射パラメータ推定に失敗していることがわかる。そのため、合成された画像は、実際の画像とは大きく質感が異なるものとなってしまう。一方、本特許における画像分離手法では、このような問題が生じていない。
なお、パラメータ推定に用いるモデルは、Cook−Torranceモデルである必要はなく、例えば、Torrance−SparrowモデルやPhongモデル、簡易Torrance−Sparrowモデル(例えば、「K. Ikeuchi and K. Sato, “Determining reflectance properties of an object using range and brightness images”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.13, no.11, pp.1139−1153, 1991」)であっても良い。
また、パラメータ推定方法は、シンプレックス法である必要はなく、例えば、勾配法や最小自乗法などのような一般的なパラメータ推定手法を利用しても良い。
また、以上の処理は、画素ごとに行っても良いし、画像分離を行ない、領域ごとに等しいパラメータ組を推定するようにしても良い。画素ごとに処理を行う場合、光源や撮像装置、または被写体を動かすことにより、被写体の法線方向ベクトルnや光源方向ベクトルL、または視線ベクトルVといった既知パラメータが変動したサンプルを取得するようにすることが望ましい。また、処理を領域ごとに行う場合、領域ごとに求まったパラメータのばらつきが小さくなるように画像分離を変更することで、最適なパラメータ推定を行うようにすることが望ましい。
パラメータDB807は、パラメータ推定部806で求まった拡散反射成分の反射パラメータと鏡面反射成分の反射パラメータ、および形状情報取得部805で取得した形状情報をモデルパラメータとして保持する。図48は、パラメータDB307に保持されているモデルパラメータを示す模式図である。
以上の処理により、パラメータ推定装置800は拡散反射成分のパラメータと鏡面反射成分のパラメータを推定し、推定したパラメータ情報をパラメータDB807へ保持する。
次に、図35の画像合成装置801について説明する。
視点・光源情報取得部808は、合成する画像の視点や光源情報を取得する。これは、ユーザが視点位置や光源位置・光源照度、さらに環境光成分情報を入力するようにすればよい。また、拡張現実感のような、実世界にCG画像をレンダリングするような場合、光源情報推定部804を利用して光源情報を推定するようにしても良い。
レンダリング部809は、パラメータDB807に保持されているモデルパラメータ情報を利用して、視点・光源情報取得部808で取得された視点や光源情報に則した画像を合成する。レンダリング部809は、拡散反射成分と鏡面反射成分、それぞれ別々にレンダリングを行ない、レンダリングされた拡散反射成分、鏡面反射成分および環境光成分情報を合成することにより、画像を合成する。
まず、拡散反射成分に関して説明する。前述のように、アルベド画像は、拡散成分画像を光源ベクトルと被写体の法線方向ベクトルの内積で除算したものである。そのため、パラメータDBに保持されているアルベド画像(パラメータ推定部806で推定)および形状情報(形状情報取得部805で取得)に、視点・光源情報取得部808によって取得された光源方向ベクトル情報を利用することにより、拡散反射成分を合成することができる。具体的には、視点・光源情報取得部808によって取得された光源方向ベクトルと被写体の法線方向ベクトルとの内積を求め、さらにアルベド画像を乗算することによって、拡散成分画像を合成する。視点・光源情報取得部808により、複数の光源が入力された場合、それぞれの光源に対して拡散反射成分画像をおのおの合成し、その画像を足し合わせることで、一枚の拡散反射成分画像を合成する。
次に、鏡面反射成分に関して説明する。鏡面反射成分は、パラメータDBに保持されている鏡面反射パラメータ(パラメータ推定部806で推定)および形状情報(形状情報取得部805で取得)に、視点・光源情報取得部808によって取得された光源方向ベクトル情報を利用することにより、合成することができる。具体的には、式36〜式44に推定されたパラメータを代入することによって、鏡面反射成分画像を合成する。
こうして求めた拡散反射成分画像、鏡面反射成分画像および視点・光源情報取得部808において取得した環境光成分情報を合成することにより、レンダリング部809は、視点・光源情報取得部808で取得された視点や光源情報に則した画像を合成する。
以上のように、本発明の画像処理技術を利用することによって、デジタルアーカイブなどに使われているモデルベースの画像合成を高精度に行うことができる。