添付の図面を参照しながら、本発明による法線情報生成装置および法線情報生成装置を備えた画像処理装置の実施形態を説明する。
以下に説明する各実施形態は、主として本発明による法線情報生成装置に関している。各実施形態の説明に先立って、まず法線情報生成装置を備えた画像処理装置の構成および動作を説明する。
図1は、本発明による画像処理装置500の構成を示す。画像処理装置500は、法線情報生成装置501と、画像撮像部502と、DB503と、画像処理部504と、提示部505とを備えている。
法線情報生成装置501は、後述の第1から第7の実施形態のいずれかにかかる法線情報生成装置である。法線情報生成装置501は、被写体の表面における法線情報を生成して出力する。この情報は、法線情報生成装置501によって推定された、画像内の法線方向ベクトルを示している。本明細書においては、法線情報生成装置501が法線情報(法線方向ベクトル)を生成することを「法線情報(法線方向ベクトル)を推定する」ということがある。
なお、法線情報生成装置501は1つの筐体に収められていてもよいし、または、画像撮像部502、DB503および画像処理部504とともに1つの筐体に収められていてもよい。前者の場合は、後述する画像撮像部502(カメラ)、提示部505(ディスプレイ)等の他の構成要素とともに、1つの画像処理システムとして実現されてもよい。
画像撮像部502は、たとえばカメラであり、被写体を撮像する。後述する各実施形態による各法線情報生成装置は画像撮像部を有しているため、当該画像撮像部を利用することにより、法線情報生成装置とは別に画像撮像部502を設ける必要はなく、省略してもよい。
DB503は、被写体情報等を保持している。提示部505は、たとえばディスプレイであり、画像処理部504で作成された画像をユーザに提示する。
画像処理部504は、画像撮像部502によって撮像された画像情報と、法線情報生成装置501によって推定された法線方向ベクトル情報と、前記DB503に保持されている被写体情報とを利用して、画像処理を行なう。
例えば、画像処理部504は、モデルベースの画像合成と呼ばれている手法を利用して画像処理を行なっても構わない。この手法は、被写体の法線情報やテクスチャ情報を取得し、さらに、光源情報、カメラ情報などを利用することで、自由な視点位置の画像や、任意の光源環境の画像を合成するものである。そのため、デジタルアーカイブや拡張現実の分野において、インタラクティブな画像提示方法として利用されている(例えば、Y. Sato, M. D. Wheeler, and K. Ikeuchi, "Object shape and reflectance modeling from observation", SIGGRAPH 97, pp.379-387, 1997)。法線情報生成装置501として、本実施形態の法線情報生成装置を利用することで、高精度なモデルベースの画像合成が可能である。
または、画像処理部504は、モデルベースの画像の高解像度化処理を行なっても構わない。学習を利用した画像処理において、学習時と画像合成時の視点位置や光源環境の変化が大きな問題とされていた。しかし、モデルベースの手法を導入することで、この問題を解決し、高精度な高解像度化処理が可能である。このような画像処理装置500は、例えば、特許第4082714号公報などを利用すればよい。
または、画像処理部504は、FA(ファクトリー・オートメーション)などで広く利用されている、被写体の表面検査などに利用される画像処理を行なっても構わない。これは、理想的な表面法線方向と実際の表面法線方向を比較することで、被写体表面の傷などを検出する技術である。
図2は、画像処理装置500が3次元形状情報を取得する手法を比較した図である。法線情報生成装置501は、3次元形状情報を構成する情報のうちの法線情報をパッシブに生成する。従来の偏光法等はアクティブに法線情報を求めるものであり、パッシブに生成する本発明とは相違する。3次元形状情報を構成する奥行情報については、本発明の対象ではないため、説明は省略する。
図3は、画像処理装置500による処理の流れを示すフローチャートである。各ステップS601〜S605を囲む破線に対して付された参照符号501〜505は、上述の画像処理装置500の構成要素の参照符号に対応しており、各構成要素が実行する処理であることを示している。
まず、画像撮像部502は、被写体表面の撮像を行なう(ステップS601)。法線情報生成装置501は、各実施形態に関連して後述されるいずれかの手法を利用することで、被写体表面の法線方向ベクトルneを推定する(ステップS602)。
画像処理部504は、DB503に保持されている、被写体表面の理想法線方向ベクトルniを取得する(ステップS603)。被写体表面の理想法線方向ベクトルniは、例えば、被写体のCAD情報から作成した、形状情報として実現すればよい。ここで、ステップS601、ステップS602、ステップS603の順序は任意であり、順次実行してもよいし、もちろん、並列的に実行しても構わない。
画像処理部504は、法線情報生成装置501によって推定された被写体表面の法線方向ベクトルneと、DB503に保持されていた被写体表面の理想法線方向ベクトルniを比較することで、異常法線を検出する(ステップS604)。
この処理を具体的に説明すると、まず画像処理部504は、画像撮像部502で撮像された画像情報を利用して、理想法線方向ベクトルniの形状情報の位置合わせを行なう。その後、画像処理部504は、法線方向ベクトルneと理想法線方向ベクトルniの差分を検出し、差分値が大きい法線方向ベクトルneを異常法線として検出する。画像情報を利用した形状情報の位置合わせは、公知の技術を利用すればよい。
提示部505は、画像撮像部502で撮像された被写体の画像に対し、画像処理部504によって検出された異常法線に対応する画素を強調し、ユーザに提示する(ステップS605)。このような画素の強調は、例えば、異常法線に対応する画素を赤い色で表示するなどの処理を行なえばよい。
なお、法線情報を利用して異常法線を検出する上述の処理は一例である。得られた法線情報を被写体の画像情報とともに利用することにより、画像生成に利用される各種物理特性に関係する情報量の付与を行なうことも可能である。これにより、被写体の画像情報のみを利用して表示されたコンピュータグラフィックスよりも高品質なコンピュータグラフィックスを提供することが可能になる。
以下、法線情報生成装置の各実施形態を説明する。
(第1の実施形態)
まず、本発明の第1の実施の形態による法線情報生成装置の概要を説明する。
図4は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。この法線情報生成装置100は、被写体を撮像することによって被写体の表面における法線情報を生成する。
法線情報生成装置100は、ステレオ偏光画像撮像部101を構成する偏光画像撮像部102および102−2、偏光情報取得部103および103−2、ステレオ対応取得部104、領域分割部105および105−2、法線1自由度推定部106および106−2、法線情報生成部107および出力部120を備えている。
このうち、第2の偏光画像撮像部102−2、第2の偏光情報取得部103−2、第2の領域分割部105−2、第2の法線1自由度推定部106−2の処理は、第1の偏光画像撮像部102、第1の偏光情報取得部103、第1の領域分割部105、第1の法線1自由度推定部106の処理と同等である。よって、以下の説明において、多くの場合、簡略化のために後者のみを用いて説明する。
ステレオ偏光画像撮像部101は複数の偏光画像撮像部102からなり、視点の異なる複数の偏光画像を取得する。
偏光画像撮像部102は、偏光主軸角度が異なる複数の偏光子を透過してくる光を受けることで、被写体の偏光画像を取得する。
偏光情報取得部103は、偏光画像撮像部102によって取得された偏光画像から、当該偏光画像を構成する画像領域のそれぞれについて、複数の偏光子の偏光主軸角度と複数の偏光子を透過した光の輝度との対応関係を用いて、受光した偏光に関する情報である偏光情報を生成する。
ステレオ対応取得部104は、ステレオ偏光画像撮像部101が取得した複数の偏光画像において画素ごとの対応関係を推定する。
領域分割部105は、ステレオ偏光画像の輝度情報および偏光情報取得部103で生成されたステレオ偏光画像における偏光情報の少なくとも一方の情報における類似性(共通性)を利用して、偏光画像を、光学的に共通する領域ごとに分割する。具体的には、領域分割部105は、画像の輝度や偏光情報を利用して、当該画像領域を鏡面反射領域または拡散反射領域として領域分割を行なう。
法線1自由度推定部106は、偏光情報取得部103で生成された偏光情報を用いて、領域分割部105で分割された領域ごとに異なった処理を行なうことで、対応する被写体の表面での法線1自由度を推定する。
法線情報生成部107は、法線1自由度推定部106、106−2で推定された複数の法線1自由度を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することで、法線方向ベクトルを生成する。
出力部120は、法線情報を出力する出力端子である。または、出力部120は、後述の図11等に示される画像等とともに法線情報に基づく法線の画像を出力するディスプレイであってもよい。後者の場合には、出力部120は提示部505(図1)に対応する。
図5は、本実施の形態における法線情報生成装置100が搭載されたカメラ200のハードウェア構成例を示している。図6は、図5に示されたパターン偏光子201と撮像素子202との関係を示した模式図である。このカメラ200は、法線情報を生成する機能を備える撮像装置であり、複数のパターン偏光子201および201−2、複数の撮像素子202および202−2、メモリ203およびCPU204を備える。
パターン偏光子201、201−2は、図6に示されるように、偏光主軸角度Ψi=0°、45°、90°、135°の4種類の偏光子を1組として2次元状に配置された偏光子の集まりである。図6において、パターン偏光子201、撮像素子202のみを示したが、これはパターン偏光子201−2、撮像素子202−2の場合も同様である。そのため、以下の説明では簡略化のためにパターン偏光子201、撮像素子202のみに関して詳述する。
撮像素子202は、図6に示されるように、パターン偏光子201を構成する個々の偏光子を透過した光を受ける2次元状に配置された画素(受光素子)の集まりである。パターン偏光子201は、撮像素子202の撮像面に平行に設置されることが望ましい。なお、パターン偏光子201における4個(4種類)の偏光子と、撮像素子202における対応する4個の画素とから、撮像単位205が構成される。この撮像単位205によって得られる画像は、偏光情報取得部103、領域分割部105、法線1自由度推定部106、ステレオ対応取得部104および法線情報生成部107における各処理の単位(「単位画像」)である。つまり、法線情報生成装置100は、撮像単位205によって得られる単位画像(以下、「画素」ともいう。)ごとに、偏光情報の生成、領域分割および法線情報の生成を行なう。
メモリ203は、CPU204の作業領域としてのRAMおよびプログラム等が格納されたROMを含む。
CPU204は、メモリ203に格納されたプログラムを実行し、メモリ203にアクセスしたり、撮像素子202および202−2を制御するプロセッサである。
なお、図4に示された偏光画像撮像部102は、図5に示されたパターン偏光子201および撮像素子202によって実現される。同様に、図4に示された偏光画像撮像部102−2は、図5に示されたパターン偏光子201−2および撮像素子202−2によって実現される。
図4に示された偏光情報取得部103および103−2、ステレオ対応取得部104、領域分割部105および105−2、法線1自由度推定部106および106−2および法線情報生成部107は、図5に示されたCPU204がメモリ203に格納されたプログラムを実行することによって実現される。
たとえば、添付の図面のうちのフローチャートを用いて説明する制御処理はコンピュータに実行されるプログラムによって実現され得る。そのようなコンピュータプログラムは、CD−ROM等の記録媒体に記録されて製品として市場に流通され、または、インターネット等の電気通信回線を通じて伝送される。法線情報生成装置、および、画像処理装置を構成する全部または一部の構成要素は、コンピュータプログラムを実行する汎用のプロセッサ(半導体回路)として実現される。または、そのようなコンピュータプログラムとプロセッサとが一体化された専用プロセッサとして実現される。
また、メモリ203は、偏光画像撮像部102および102−2で取得された偏光画像、偏光情報取得部103および103−2で生成された偏光情報、ステレオ対応取得部104で取得されたステレオ画像対応情報、領域分割部105および105−2で分割された領域分割情報、法線1自由度推定部106および106−2で推定された法線1自由度情報、法線情報生成部107で生成された法線情報、および、一時的に発生する各種パラメータ等を格納する作業領域としても使用される。
図7は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。
まず、第1の偏光画像撮像部102は、第1のパターン偏光子201を通して被写体からの光を撮像素子で受けることで被写体を撮像し、偏光情報を含んだ画像である第1の偏光画像を取得する(ステップS101)。第1の偏光情報取得部103は、第1の偏光画像撮像部102が撮像した第1の偏光画像輝度変化を利用して、第1の偏光情報を生成(取得)する(ステップS102)。次に、第2の偏光画像撮像部102−2は、第2のパターン偏光子201−2を通して被写体からの光を撮像素子で受けることで、偏光情報を含んだ画像である第2の偏光画像を取得する(ステップS103)。第2の偏光情報取得部103−2は、第2の偏光画像撮像部102−2が撮像した第2の偏光画像の輝度変化を利用して、第2の偏光情報を生成(取得)する(ステップS104)。
ここで、ステップS101〜ステップS102と、ステップS103〜ステップS104の順序は任意であり、並列的に実行してもよい。もちろん、順次実行しても構わない。
ステレオ対応取得部104は、ステレオ偏光画像撮像部101が取得した第1の偏光画像、第2の偏光画像において画素ごとの対応関係を推定する(ステップS105)。第1の領域分割部105および第2の領域分割部105−2は、第1の偏光情報取得部103および第2の偏光情報取得部103−2が生成した第1の偏光情報および第2の偏光情報、および/または、第1の偏光画像撮像部102および第2の偏光画像撮像部102−2が取得した第1の輝度情報および第2の輝度情報を利用し、第1の偏光画像および第2の偏光画像を拡散反射成分領域および鏡面反射成分領域に領域分割する(ステップS106)。
第1の法線1自由度推定部106は、偏光情報取得部103で生成された偏光情報を用いて、第1の領域分割部105で分割された領域ごとに異なった処理を行なうことにより、対応する被写体の表面での法線1自由度を推定する(ステップS107)。第2の法線1自由度推定部106−2は、偏光情報取得部103−2で生成された偏光情報を用いて、第2の領域分割部105−2で分割された領域ごとに異なった処理を行なうことにより、対応する被写体の表面での法線1自由度を推定する(ステップS108)。ここで、ステップS107と、ステップS108の順序は任意であり、並列的に実行してもよいし、もちろん、順次実行しても構わない。法線情報生成部107は、法線1自由度推定部106、106−2で推定された法線1自由度を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することで、法線方向ベクトルを推定する(ステップS109)。
次に、本実施の形態における法線情報生成装置100の各構成要素の詳細な機能を説明する。
ステレオ偏光画像撮像部101は複数の偏光画像撮像部102からなり、視点の異なる複数の偏光画像を取得する。また、第1の撮像素子202と第2の撮像素子202−2はキャリブレーション処理が行なわれており、その内部パラメータや外部パラメータは既知である。このようなキャリブレーションは、例えば、Tsaiの手法(Roger Y.Tsai,"An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision", Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, Miami Beach,FL,1986, pp.364-374)など、既存の手法を利用すればよい。
もちろん、このようなキャリブレーションは、パターン偏光子やレンズなどを含んだ状態で行なわれている。
次に、偏光画像撮像部102および102−2の詳細な機能を説明する。偏光画像撮像部102は、被写体からの光をパターン偏光子201を通して撮像素子202で受光することで、偏光情報を含んだ偏光画像を取得する。図8は、図6に示された撮像単位205を入射光方向から眺めた模式図である。本図において、各偏光子(各画素)内の直線は、各画素上に設置された微小偏光板の偏光主軸方向を示している。すなわち、この撮像単位205は、偏光軸の回転角(Ψi=0°、45°、90°、135°)の4種類の偏光方向を有する画素を持つ。パターン偏光子は、TM波が透過、TE波が反射(透過せず)という偏光特性を示す。そのため、撮像素子前方に偏光子を配置し、その偏光子を回転させながら撮像した、特許文献1と同様の画像を取得することができる。
このような特性は、例えば、『川嶋、佐藤、川上、長嶋、太田、青木、"パターン化偏光子を用いた偏光イメージングデバイスと利用技術の開発"、電子情報通信学会2006年総合全国大会、No.D−11−52、P52、2006』に記載されたフォトニック結晶を用いて作成することができる。フォトニック結晶の場合、表面に形成された溝に平行な振動面を持つ光がTE波、垂直な振動面を持つ光がTM波となる。
この偏光画像の撮像に際しては、輝度のダイナミックレンジとビット数は、なるべく大きいこと(例えば16ビット)が望ましい。
次に、偏光情報取得部103および103−2の詳細な機能を説明する。偏光情報取得部103は、偏光画像撮像部102が取得した偏光画像を利用して、偏光情報を生成する。
偏光子を透過した光の輝度は、偏光子の偏光主軸角によって変化することが知られている。図9は、異なる偏光主軸角度Ψi=0°、45°、90°、135°の4種類の偏光子を透過した光の輝度401〜404が1本の正弦関数カーブを形成する様子を示す。つまり、この正弦関数カーブは、図8の点206における偏光特性を示している。なお、偏光主軸角度の0°と180°(π)は同一である。また、この正弦関数カーブを求める際、撮影ガンマ=1となるカメラを用いるか、リニアリティ補正により撮影ガンマ=1となるように補正することが望ましい。この4点は、1本の正弦関数カーブ上にちょうど乗るように描かれているが、実際には、多数の観測点から180度周期の正弦関数が最適値として1本決定されるのが好ましい。
この偏光情報取得部103は、偏光情報として、このカーブの振幅と位相情報を生成する。具体的には、パターン偏光子201の主軸角Φに対する反射光輝度Iを以下のように近似する。
ここで図9に示すように、数1におけるA、B、Cは定数であり、それぞれ、偏光子による輝度の変動カーブの振幅、位相、平均値を表現している。ところで、数1は以下のように展開できる。
ただし、
つまり、4画素のサンプル(Φ
i I
i)において、以下の数5を最小にするA、B、Cを求めれば正弦関数数1の近似ができる。ただし、I
iは、偏光板回転角Φ
i時の観測輝度を示している。またNはサンプル数であり、ここでは、4である。
以上の処理により、正弦関数近似のA、B、Cの3パラメータが確定する。こうして求めたパラメータを利用して、偏光情報取得部103は、偏光情報として、以下の少なくとも1つの情報を取得する。
偏光度ρ
偏光位相φmax(0≦φmax≦π[rad])
偏光推定誤差E
偏光最大輝度値Imax
偏光最小輝度値Imin
上述の各用語の定義は以下の通りである。
・偏光度ρ:光がどれだけ偏光しているかを表す指標;
・偏光位相φmax:偏光主軸角度に依存して変化する輝度が最大となる角度;
・偏光推定誤差E:4画素のサンプルについて観測された輝度と近似によって得られた上述の正弦関数から定まる輝度との差の合計;
・偏光最大輝度値Imax:パターン偏光子の主軸角Φを変化させた際にとりうる最大輝度値;
・偏光最小輝度値Imin:パターン偏光子の主軸角Φを変化させた際にとりうる最小輝度値。非偏光成分。
以下、上述の偏光情報に基づいて法線情報生成装置100が生成した画像例を説明する。画像例では、球体である地球儀を被写体としている。図10は、本願発明者らによる撮影時のカメラ200と被写体との位置関係、および、カメラ200内のパターン偏光子201および201−2との位置関係を示している。カメラ200から被写体までは160cmであり、パターン偏光子201および201−2の間隔、または、撮像素子202および202−2の間隔は50cmで ある。
図11は、球体である地球儀に対して、第1の偏光画像から求めた、偏光度ρ1、偏光位相φmax1および偏光推定誤差E1を画像として表示した図である。この図において、図11(a)は被写体である地球儀の画像、図11(b)は図11(a)の被写体に対する偏光度ρ1、図11(c)は図11(a)の被写体に対する偏光位相φmax1(0°が黒、180°が白)、図11(d)は図11(a)の被写体に対する偏光推定誤差E1を示している。
また、図12(a)〜(d)は、図11(a)〜(d)の各々を模式的に示した図(濃淡を明瞭化した図)である。図13(a)〜(d)は、図11(a)〜(d)に示す画像と、図12(a)〜(d)に示す各領域(たとえば(a)においては領域A01とB01)との対応関係を示している。図11(a)〜(d)および図13(a)〜(d)においては、領域の色が白いほど輝度値が大きい。また、図14は、同様の処理を発泡スチロール製の頭部模型に対して行なった結果を示している。
これらの画像によれば、遮蔽エッジ付近で偏光度が大きいこと、被写体の影に覆われていない領域では偏光位相が180°周期で球体の周囲を時計回りに単調増加していることがわかる。この偏光位相は、回転させて変化する輝度の最大値となる角度であり、被写体が拡散反射であった場合の出射面の情報である。
次に、ステレオ対応取得部104を説明する。ステレオ対応取得部104は、ステレオ偏光画像撮像部101が取得した複数の偏光画像において画素ごとの対応関係を特定する。ただし「特定する」という意味は確定的に定めることを意味するのではなく、一応確からしいという意味において定めることを意味する。したがって、対応関係を「推定する」と言うこともできる。これは、例えば、輝度情報を利用した画像処理により検出することができる。この「特定する」という語と「推定する」という語の関係については、ステレオ対応取得部104のみならず、法線1自由度推定部106、106−2等についても同様である。
図15は、本実施の形態におけるステレオ対応取得部104による処理の流れを示すフローチャートである。このフローチャートは、ステップS105に相当する。まず、複数画像において、特徴点の抽出を行なう(ステップS201)。求まった特徴点を利用して、複数画像間の対応付けを行なう(ステップS202)。しかし、このままでは特徴点が検出された、画像上の疎な画素のみしか対応付けがなされない。そこで、ステップS202で対応付けされた特徴点間の補間処理を行なうことにより、画像全体での密な対応付けを行なう(ステップS203)。以下、それぞれの処理を詳述する。
ステップS201において、複数画像において、特徴点の抽出を行なう。この処理は、複数画像間の画素の対応付けを行なうために、特徴点と呼ばれる「対応付けしやすい点」を検出し、その特徴点の特徴と最もよく一致した点を複数画像間で探索することにより、複数画像間の画素の対応付けを行なうものである。
特徴点検出法としては、HarrisオペレーターやKLT(Kanade−Lucas−Tomasi) Feature Trackerなどさまざまな方法が知られているが、ここではSIFT(Scale−Invariant Feature Transform)オペレーターを利用する(David G. Lowe, "Distinctive image features from scale-invariant keypoints," International Journal of Computer Vision, Vol.60, No.2, pp.91-110, 2004参照)。
SIFTはスケールおよび回転に対して不変の特徴量として知られている。その処理は、Difference−of−Gaussian処理を利用してスケール不変のキーポイントを抽出し、さらに画像の勾配方向ヒストグラムからオリエンテーションを算出し、オリエンテーションで正規化した特徴量を抽出するものである(詳しくは、藤吉弘亘,"Gradientベースの特徴抽出 − SIFTとHOG − ",情報処理学会 研究報告 CVIM 160, pp.211-224, 2007参照)。ここでは、偏光画像撮像部102と102−2で撮像された第1の偏光画像と第2の偏光画像のそれぞれにおいて、キーポイントを抽出し、オリエンテーションで正規化した特徴量を抽出する。
ステップS202において、第1の偏光画像と第2の偏光画像において、ステップS201で求めた特徴点の対応付けを行なう。これは、ステップS201で求めたキーポイントごとに、特徴量のユークリッド距離が最小となるキーポイントを別の画像から検出することで実現する。こうして対応付けられたキーポイントが対応点となる。もちろん、対応付けを行なう際、ステレオ画像の対応付けで広く用いられている、エピポーラ拘束を利用しても構わない。
ステップS203において、ステップS202で対応付けされた特徴点間の補間処理を行なうことにより、画像全体での密な対応付けを行なう。この処理を説明する。まず、対応付けられた特徴点および対応点を利用し、第1の偏光画像と第2の偏光画像に対して、ドロネー三角形分割を行なう。こうして分割された三角形ごとに、対応点の補間処理を行なう。
図16はこの処理を説明するための模式図である。図16(a)において、点P0、P1、P2はSIFTにより検出された第1の画像での特徴点の画像上での座標値によって特定される点であり、また、ドロネー三角形分割により分割された三角形の3頂点である。また、図16(b)において、点P'0、P'1、P'2はそれぞれ特徴点P0、P1、P2に対応した第2の画像での対応点である。ここで、第1の偏光画像における三角形P0―P1―P2内の点Pxにおける対応点を補間処理により求める。まず、以下の関係を満たす変数a,bを求める。
ただし、変数0≦a≦1,0≦b≦1である。このとき、Pxにおける対応点P'xは、次式で表される。
この処理を、必要なすべての画素に対して行なう。上述の数11および数12によれば、図16(a)および(b)に示す三角形の辺上の点を補間することができる。そしてさらに、補間された1点と当該三角形の2つの頂点、補間された2点と当該三角形の1つの頂点、または、補間された3点によって形成される各三角形に対して、上記数11および数12を適用すれば、補間により、当該三角形の内部の全ての点を求めることができる。そしてドロネー三角形分割により分割された全ての三角形に対して同様の処理を行うと、第1の画像および第2の画像の全ての点を補間により求めることができる。この結果、第1の画像と第2の画像の間で、画像全体での密な対応付けを行なうことができる。なお、ステップS203において、補間処理は画像上での座標を利用して行なったが、対応点から求めた3次元座標上で処理を行なうようにしても構わない。
以上の処理は、偏光画像を利用して対応付けを行なったが、もちろん、偏光情報取得部103および103−2で取得した、偏光最大輝度値Imaxや偏光最小輝度値Imin、または偏光最大輝度値Imaxと偏光最小輝度値Iminの平均値や重み付け和(例えば、Imax+2・IminやImax+Imin)などを利用するようにしても構わない。特に、偏光最小輝度値Iminを利用した場合、視点移動による影響が大きい鏡面反射成分の影響を小さくすることができるため、非常に有効である。また、Imax+Iminは、偏光子を設置しなかった場合に撮像される画像と等価の画像である。そのため、この値を利用して画像処理を行なうことで、通常の偏光を利用しない場合と同様の処理を行なうことができる。もちろん、ステレオ対応点取得部104は、特徴点を利用するのではなく、画像処理のステレオ対応点取得処理において広く利用されている、ブロックマッチング法や、勾配法を利用するようにしてもかまわない。
次に、領域分割部105の詳細な機能を説明する。領域分割部105は、偏光情報取得部103が生成した偏光情報および/または偏光画像撮像部102が取得した輝度情報を利用し、画像を拡散反射領域、鏡面反射領域に領域分割する。
ここで、拡散反射と鏡面反射を説明する。被写体表面の反射特性は、「てかり」である鏡面反射成分と、マットな反射成分である拡散反射成分との和として表現されることが知られている。拡散反射成分は、被写体を照射する光源がいずれの方向に存在しても観測されるが、鏡面反射成分は、被写体の法線方向と視線方向に対し、ほぼ正反射方向に光源が存在する場合にのみ観測される方向依存性の強い成分である。これは、偏光特性に関しても成り立つ。
図17および図18は、それぞれ、被写体の屈折率n=1.1、1.3、1.5、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」参照)。図17の横軸は入射角、縦軸は鏡面反射成分の偏光度を示している。また、図18の横軸は出射角、縦軸は拡散反射成分の偏光度を示している。これらの図によれば、鏡面反射成分の偏光度は出射角に依存しないが、拡散反射成分の偏光度は出射角に依存することが理解される。よって、カメラを移動させて出射角を変化させた場合、鏡面反射成分では偏光度は変わらないが、拡散反射成分では偏光度が変化することがわかる。
また、拡散反射成分の輝度値Idは、以下のLambertianモデルに従うことが知られている。
ただし、ρdは参照点の拡散反射率(アルベド)、nは参照点の法線方向ベクトル、Ipは点光源強度、Lは光源の方向ベクトル、θは入射角(法線方向ベクトルと光源方向ベクトルのなす角)を表す。ベクトルの長さは1に正規化されている。
この式から、カメラを移動させることで出射角を変更した場合、拡散反射成分では輝度値が変化しないことがわかる。
一方、鏡面反射成分の輝度値Isは、以下の数14〜数22に示したCook−Torranceモデルに従うことが知られている。
ここで、Eiは入射照度、ρs,λは波長λにおける鏡面反射成分の双方向反射率、nは被写体の法線方向ベクトル、Vは視線ベクトル、Lは光源方向ベクトル、Hは視線ベクトルと照明方向ベクトルの中間ベクトル、βは中間ベクトルHと法線方向ベクトルnの角度を表す(図19参照)。また、Fλはフレネル方程式から求められる誘電体表面からの反射光の比であるフレネル係数、Dはマイクロファセット分布関数、Gは物体表面の凸凹による遮光の影響を表す幾何減衰率である。さらに、nλは被写体の屈折率、mは被写体表面の粗さを示す係数、Ijは入射光の放射輝度である。また、Ksは鏡面反射成分の係数である。これら式から、カメラを移動させることで出射角を変更した場合、鏡面反射成分では輝度値が変化することがわかる。
ところで、ステレオ対応取得部104により、すべての画素の対応点が既知である。以上のことから、ステレオ画像(第1の画像、第2の画像)における鏡面反射成分と拡散反射成分は、以下のように分割できる。
ここで、Ic1は偏光情報取得部103で取得した、偏光最大輝度値Imaxと偏光最小輝度値Iminの和Imax+Iminを示している。また、Ic2は偏光情報取得部103−2で取得した、偏光最大輝度値Imaxと偏光最小輝度値Iminの和Imax+Iminを示している。ここで、Imax+Iminは、パターン偏光子201が存在しない場合に撮像素子202で観測される輝度値である。また、Thdは本来のLambertianモデルからどれだけ離れているかを示す閾値であり、ThIは鏡面反射成分と拡散反射成分を輝度情報で判断するための閾値である。このような閾値は、実験的に決定すればよい。
図20は上記領域分割基準を表した模式図である。図20に示す4つの領域、すなわちDD、SD、DS、SSの各領域は、以下の成分を有するものとして分類される。
・DD領域:第1の画像、第2の画像ともに拡散反射成分。
・SD領域:第1の画像は鏡面反射成分、第2の画像は拡散反射成分。
・DS領域:第1の画像は拡散反射成分、第2の画像は鏡面反射成分。
・SS領域:第1の画像、第2の画像ともに鏡面反射成分。
もちろん、このような領域分割は図20に限ったものではなく、例えば、SS領域を除いた図21のような領域分割基準を利用しても構わない。これは、上薬がかかった陶器のように、被写体の表面が非常に滑らかであり、鏡面反射成分が正反射領域近傍の限られた領域でのみ観測される場合に有効である。この場合、第1の画像と第2の画像におけるその対応点の両画像において鏡面反射が観測される場合は非常に少ない。
このときのステレオ画像(第1の画像、第2の画像)における鏡面反射成分と拡散反射成分は、以下のように分割すればよい。
もちろん、領域分割部105は、画像のすべての画素を拡散反射成分または鏡面反射成分に分割し、処理を行なうようにしても構わない。例えば、被写体が石膏のような被写体の場合には、すべての画素が拡散反射成分であることは妥当である。また、例えば、被写体が光沢のある金属の場合には、すべての画素が鏡面反射成分であることは妥当である。
もちろん、領域分割部105は、偏光最大輝度値Imaxと偏光最小輝度値Iminの重み付け和Imax+Iminを利用するのではなく、偏光最大輝度値Imaxや偏光最小輝度値Imin、または偏光最大輝度値Imaxと偏光最小輝度値Iminの平均値などをIc1,Ic2として利用するようにしても構わない。例えば、偏光最小輝度値Iminを利用する場合、てかり成分の影響を少なくすることができる。もちろん、偏光画像撮像部102において、パターン偏光子201を含まない輝度値が観測できる場合、その輝度値を利用するようにしても構わない。これは、図22に示したように、パターン偏光子201において、偏光子を含まない画素を設けることで実現できる。
次に、法線1自由度推定部106の詳細な機能を説明する。法線1自由度推定部106は、領域分割部105で分割された領域ごとに、偏光情報取得部103で生成された偏光情報を用いて、対応する被写体の表面での法線1自由度を推定する。法線1自由度とは、前述の入射面または出射面の角度情報である。
前述の通り、鏡面反射成分の入射面の情報は、偏光板を回転させて変化する輝度の最小値となる角度から求められる。つまり、次式で与えられる。
ただし、φmaxは数7で求まる、偏光位相である。
一方、拡散反射成分の出射面の情報は、偏光板を回転させて変化する輝度の最大値となる角度から求められる。つまり、法線1自由度情報は以下のように与えられる。
こうして求まる、入射面または出射面の角度情報である法線1自由度情報φnは、φnまたは(φn+π)という180度の不定性を持つ。
次に、法線情報生成部107の詳細な機能を説明する。法線情報生成部107は、法線1自由度推定部106、106−2で推定された法線1自由度φn1,φn2を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することにより、法線方向ベクトルを生成する。
図23はこの処理を説明するための模式図である。この図において、点Pは参照点であり、撮像素子202によって撮像された第1の画像の点Pに対応する画素と、撮像素子202−2によって撮像された第2の画像の点Pに対応する画素は、ステレオ対応取得部104によって既知である。また、第1の画像、第2の画像のそれぞれ対応する画素において、法線1自由度推定部106、106−2によって求められた法線1自由度は、φn1,φn2である。
撮像素子202、202−2はキャリブレーション済みであるため、相互の位置関係は既知である。そのため、入出射面S1、S2が計算できる。ここで、入出射面は参照点の入射面または出射面であり、入出射面S1とは、撮像素子202の焦点位置と数25、数26で求まる法線1自由度φn1の偏光主軸方向を通る平面、入出射面S2は、撮像素子202−2の焦点位置と数25、数26で求まる法線1自由度φn2の偏光主軸方向を通る平面である。
つまり、参照点の法線方向ベクトルnは、入出射面S1、S2どちらにも含まれる。そのため、参照点の法線方向ベクトルnは、これら2平面の交線として求められる。
しかし、法線1自由度情報φnは、180度の不定性を持つため、こうして求められた法線方向ベクトルnは、n(nx, ny, nz)とn’(−nx, −ny, −nz)という180度の不定性を有する。この不定性を除去するために、参照点Pの法線方向ベクトルnと視線ベクトルVを利用する。具体的には、以下の関係式を満たす法線方向ベクトルを選択する。
数27を満たさない場合、参照点Pは撮像素子202と反対方向を向いていることになり、参照点Pは撮像されないはずである。そのため、このような法線方向ベクトルは排除することができ、結果的に法線情報生成部107は不定性を排除することができる。
さらに、上記方法で求めた法線方向ベクトルに対し、空間的なフィルタリング処理を行なうことにより、法線情報生成部107で生じたノイズを除去するようにしても構わない。このような空間的なフィルタリング処理は、例えば、法線方向を量子化し、各画素の近傍の法線方向ベクトルのヒストグラムを作成し、その最頻値近傍の法線方向ベクトルのみで平均化処理を行なえばよい。
図24〜図28は、本実施の形態における法線情報生成装置100による法線方向ベクトルを推定した結果を示している。図24(a)は、地球儀を被写体とし、偏光情報取得部103によって取得された偏光最大輝度値Imaxと偏光最小輝度値Iminの和(Imax+Imin)、図24(b)は、地球儀を被写体とし、偏光情報取得部103によって取得された偏光位相φmax1(0°が黒、180°が白)、図24(c)は、地球儀を被写体とし、偏光情報取得部103−2によって取得された偏光最大輝度値Imaxと偏光最小輝度値Iminの和(Imax+Imin)、図24(d)は、地球儀を被写体とし、偏光情報取得部103−2によって取得された偏光位相φmax2(0°が黒、180°が白)を表している。また、第2の撮像素子202−2は、第1の撮像素子202の右側に配置されている。また、図25(a)〜(d)は、図24の各図を模式的に示した図(濃淡を明瞭化した図)である。図26(a)〜(d)はそれぞれ、図24(a)〜(d)に示す画像と、図25(a)〜(d)に示す各領域(たとえば(a)においては領域A11とB11)との対応関係を示している。図24(a)〜(d)および図26(a)〜(d)においては、領域の色が白いほど輝度値が大きい。
図27(a)〜(c)は図24(b)と図24(d)の偏光位相を利用して、法線情報生成部107が推定した法線方向ベクトルを可視化した法線画像を表している。法線方向ベクトルの各成分は−1から1の範囲の値をもつため、法線画像では、法線方向ベクトルの各成分の0を灰色、負の方向に黒く、正の方向に白くなるような表現をしている。また、背景は黒色で示している。
図27(a)は法線方向ベクトルのx成分の法線画像を示している。また、図27(b)は法線方向ベクトルのy成分の法線画像を示している。また、図27(c)は法線方向ベクトルのz成分の法線画像を示している。
また、図28(a)〜(c)は、図27(a)〜(c)の各図を模式的に示した図(濃淡を明瞭化した図)である。図29(a)〜(c)はそれぞれ、図27(a)〜(c)に示す画像と、図28(a)〜(c)に示す各領域との対応関係を示している。
法線方向ベクトルのx,y,z成分は、図30に示すように、カメラ右方向にx方向、カメラ下方向にy方向、カメラ光軸方向にz方向である。図27(a),図28(a)より、x成分法線画像では、画像中央部を除き、左側が黒く、右側につれて色が白くなり、定性的に正しい法線が取得されていることがわかる。また、図27(b)、図28(b)より、y成分法線画像では、上側が黒く、下に行くにつれて色が白くなり、定性的に正しい法線が取得されていることがわかる。さらに、図27(c),図28(c)より、z成分法線画像では、中央部が黒く、遮蔽エッジ近傍が灰色になっており、定性的に正しい法線が取得されていることがわかる。
以上のように、鏡面反射領域と拡散反射領域の領域分割を行ない、被写体の偏光情報を利用することで、被写体の偏光情報を利用して、分割された領域ごとに異なった処理を行なうことにより、広い領域についてパッシブに高精度な法線情報が推定できる。
なお、本実施の形態では、パターン偏光子201にフォトニック結晶が用いられたが、フィルム型の偏光素子、あるいはワイヤーグリッド型やその他の原理による偏光素子であってもよい。また、パターン偏光子を利用せずに、撮像素子202の前方に装着した偏光板を回転させながら撮像することで、時系列的に偏光主軸の異なる輝度を取得するようにしても構わない。この方法は、例えば、特開平11−211433号公報に開示されている。このような場合、個々の撮像素子202、202−2の前方にそれぞれ偏光子を配置するようにすればよい。もちろん、複数の撮像素子202、202−2を覆うような偏光子を1枚のみ利用するようにしても構わない。
なお、本実施の形態では、偏光情報取得部103を第1の偏光画像撮像部102と第2の偏光画像撮像部102−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、領域分割部105を第1の偏光情報取得部103と第2の偏光情報取得部103−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、法線1自由度推定部106を第1の偏光情報取得部103と第2の偏光情報取得部103−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、領域分割部105において、領域を鏡面反射成分領域か拡散反射成分領域かに分割するために、ステレオ画像間の輝度差を利用したが、もちろん、個々の画像のみから行なうようにしても構わない。このような処理は、既知の手法、例えば、画像の色情報を利用する方法を利用すればよい(例えば、S.K.Nayar, X.S.Fang, and T.Boult,"Separation of reflection components using color and polarization", International Journal of Computer Vision (IJCV), Vol.21, No.3, pp.163-186, 1997参照)。
以上のように、鏡面反射領域と拡散反射領域の領域分割を行ない、被写体の偏光情報を利用して、分割された領域ごとに異なった処理を行なうことにより、広い領域についてパッシブに高精度な法線情報が推定できる。
(第2の実施形態)
次に、本発明の第2の実施の形態における法線情報生成装置を説明する。本実施の形態における法線情報生成装置は、ステレオ対応が求まらないオクルージョン領域に対して、別の法線情報生成処理を行なうものである。
本実施の形態における法線情報生成装置は、実施形態1にかかる法線情報生成装置100(図1)の構成と同じである。第1の実施形態との違いは領域分割部105と法線情報生成部107である。領域分割部105は、ステレオ対応取得部104で対応が求まらない領域に対し、未対応領域として領域分割し、法線情報生成部107は未対応領域のみ別の法線情報生成処理を行なう。遮蔽の影響により、ステレオ対応取得部104で対応が求まらない領域はオクルージョン領域と呼ばれ、ステレオ法では3次元形状情報が取得できない領域として知られている。しかし、本実施形態の法線取得方法では、領域分割部105によってオクルージョン領域を検出し、法線1自由度推定部106によって求めた法線1自由度情報を利用することにより、オクルージョン領域においても法線方向ベクトルの推定が可能である。この処理を説明する。
図31、32は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図31,32において、図7と共通のステップには図7と同一の符号を付しており、その詳細な説明を省略する。
まず、領域分割部105は、ステレオ対応取得部104で対応が求まらない領域に対し、未対応領域として領域分割を行なう(ステップS121)。
図33は、本実施の形態における領域分割部105による処理の流れを示したフローチャートである。このフローチャートは、図31におけるステップS121に相当する。
まず、領域分割部105は、ステレオ対応取得部104の結果を利用し、参照画素が別画像と対応付けられているかを判断する(ステップS301)。参照画素が別画像と対応付けられていなかった場合(ステップS301でNo)、領域分割部105は、参照画素はオクルージョンを起こしていると判断し、未対応領域として領域分割する(ステップS302)。一方、参照画素が別画像と対応付けられていた場合(ステップS301でYes)、領域分割部105は、前述の通り、図20の領域分割基準に基づき、領域分割を行なう(ステップS303)。
法線情報生成部107は、領域分割部105の領域分割結果に基づいて、法線情報を生成する処理を切り替える(ステップS122)。領域が未対応領域でなかった場合(ステップS122でNo)、法線情報生成部107は、第1の実施例と同様の手法により、法線情報を生成する(ステップS107〜S109)。一方、領域が未対応領域であった場合(ステップS122でYes)、法線情報生成部107は、未対応領域が遮蔽エッジ近傍の領域であることを利用して法線情報を取得する。具体的には、まず法線1自由度推定部106によって法線1自由度情報を推定する(ステップS123)こうして求めた法線1自由度情報と、遮蔽エッジ近傍の領域であることを利用し、近傍画素の法線情報から、未対応領域の法線方向ベクトルを推定する(ステップS124)。
図34はオクルージョン領域である未対応領域と法線方向の関係を説明するための模式図である。この図において、撮像素子202と202−2は球体の被写体301を撮像している。この場合、各撮像素子によって未対応となる領域は、領域302および領域303である。領域302は撮像素子202−2からは観測されず、領域303は撮像素子202からは観測されない。そのため、領域302は撮像素子202、つまり第1の画像における未対応領域、領域303は撮像素子202−2、つまり第2の画像における未対応領域となる。未対応領域302、303はいずれかの画像ではオクルージョンが生じるということから、遮蔽エッジ近傍の領域であることがわかる。
遮蔽エッジ境界では、法線方向ベクトルが、図30のx−y平面上、つまり、光軸に直交する平面上に存在する。そのため、法線情報生成部107は、未対応領域の法線第2自由度はx−y平面上であると仮定し、法線方向ベクトルを取得する。このとき、法線1自由度情報φnは、180度の不定性を持つため、法線方向ベクトルnは、n(nx, ny, 0)とn' (-nx, -ny, 0)という180度の不定性を有する。この不定性を除去するために、未対応領域近傍の法線方向ベクトルの連続性を利用する。具体的には、法線方向ベクトル候補 (nx, ny, 0)と(-nx, -ny, 0)それぞれに対して未対応領域近傍の法線方向ベクトルとの連続性を計算し、より連続性が保たれる法線方向ベクトル候補を法線方向ベクトルとして決定すればよい。具体的には、近傍の法線方向ベクトルとの内積値を計算し、その値が大きくなる法線方向ベクトル候補を法線方向ベクトルとして決定する。この処理により、図34において破線の矢印として示す法線方向ベクトルが特定される。
また、法線1自由度推定部106によって法線1自由度情報を求めるためには、拡散反射成分または鏡面反射成分としての領域分割も必要である。これは、近傍領域の領域分割結果を利用すればよい。もちろん、遮蔽領域では鏡面反射が生じないと仮定し、拡散反射成分として処理を行なっても構わない。
本実施の形態における法線情報生成装置100が搭載されたカメラは、実施形態1にかかるカメラ200(図5)と同じである。よって、詳細な説明は省略する。
以上のように、本実施形態の法線取得方法では、領域分割部105によってオクルージョン領域を検出し、法線1自由度推定部106によって求めた法線1自由度情報を利用することで、従来手法では困難であった、オクルージョン領域においても法線方向ベクトルの推定が可能である。
なお、本実施の形態では、パターン偏光子201にフォトニック結晶が用いられたが、フィルム型の偏光素子、あるいはワイヤーグリッド型やその他の原理による偏光素子であってもよい。また、パターン偏光子を利用せずに、撮像素子202の前方に装着した偏光板を回転させながら撮像することで、時系列的に偏光主軸の異なる輝度を取得するようにしても構わない。この方法は、例えば、特開平11−211433号公報に開示されている。このような場合、個々の撮像素子202、202−2の前方にそれぞれ偏光子を配置するようにすればよい。もちろん、複数の撮像素子202、202−2を覆うような偏光子を1枚のみ利用するようにしても構わない。
なお、本実施の形態では、偏光情報取得部103を第1の偏光画像撮像部102と第2の偏光画像撮像部102−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、領域分割部105を第1の偏光情報取得部103と第2の偏光情報取得部103−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、法線1自由度推定部106を第1の偏光情報取得部103と第2の偏光情報取得部103−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、領域分割部105において、鏡面反射成分と拡散反射成分の領域分割を行なうために、ステレオ画像間の輝度差を利用したが、もちろん、個々の画像の みから行なうようにしても構わない。このような処理は、既知の手法、例えば、画像の色情報を利用する方法を利用すればよい(例えば、S.K.Nayar, X.S.Fang, and T.Boult,"Separation of reflection components using color and polarization", International Journal of Computer Vision (IJCV), Vol.21, No.3, pp.163-186, 1997参照)。
以上のように、鏡面反射領域と拡散反射領域の領域分割を行ない、被写体の偏光情報を利用して、分割された領域ごとに異なった処理を行なうことにより、広い領域についてパッシブに高精度な法線情報が推定できる。
(第3の実施形態)
次に、本発明の第3の実施の形態における法線情報生成装置を説明する。
図35は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。この法線情報生成装置100は、領域分割部105を持たず、代わりに、法線情報生成部117によって、複数の法線方向ベクトル候補を生成し、最適法線選択部108によって、複数の法線方向ベクトル候補の妥当性を評価することで、法線方向ベクトルを推定する。なお、第1の実施形態における法線情報生成装置100と同一の構成要素には、図4と同一の符号を付し、その説明を省略する。
法線1自由度推定部116は、画素ごとに、偏光情報取得部103で生成された偏光情報を用いて、対応する被写体の表面での法線1自由度を推定する。この際、法線1自由度の求め方は前述のように画素が拡散反射成分か鏡面反射成分かで異なる。そこで、法線1自由度推定部116は、画素が拡散反射成分である場合の法線1自由度候補φndと、画素が鏡面反射成分である場合の法線1自由度候補φnsの両方を、法線1自由度候補として推定する。具体的には、前述の通り、以下の式に基づいて、法線1自由度候補φnd、φnsを推定する。
ただし、φmaxは数7で求まる、偏光位相である。ここで、数28で示したφndは数26で示した画素が拡散反射成分であると仮定した場合の出射面の情報、数29で示したφnsは数25で示した画素が鏡面反射成分であると仮定した場合の入射面の情報である。
法線情報生成部117は、第1の法線1自由度推定部116で推定された法線1自由度候補φnd1,φns1と、第2の法線1自由度推定部116−2で推定された法線1自由度候補φnd2,φns2を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することにより、法線方向ベクトルを推定する。各撮像素子202、202−2から、それぞれ2つの法線1自由度候補が求められているため、4通り(「φnd1―φnd2」「φnd1―φns2」「φns1―φnd2」「φns1―φns2」)の組み合わせから、4つの法線方向ベクトル候補nc1〜nc4が求まる。
最適法線選択部108は、法線情報生成部117が生成した4つの法線方向ベクトル候補から、最適なものを選択し、法線方向ベクトルnとして推定する。この処理を説明する。
最適法線選択部108は、複数候補から画像全体として最適な法線方向ベクトルを推定するために、法線方向ベクトルの連続性を利用する。これは、以下の評価関数Ev(n)が最小となる法線方向ベクトル候補を、画像全体で選択すればよい。
ここで、n(x,y)は画素(x,y)での法線方向ベクトル、wx,wyはそれぞれ画像の幅と高さである。もちろん、このような最小化処理は、拘束条件を利用することで、さらに正確な法線方向ベクトルを取得することが可能である。
最適な法線方向ベクトル候補を選択するための拘束条件を説明する。まず、複数カメラ間での鏡面反射成分と拡散反射成分の空間的な連続性を説明する。前述のように、鏡面反射成分は、撮像素子の位置(出射角)や、被写体の法線方向ベクトルの影響を受けやすい。また、図17および18で示した鏡面反射成分と拡散反射成分の偏光度、および、数13、数14〜数22に示したLambertianモデル、Cook−Torranceモデルから、鏡面反射成分や拡散反射成分の輝度情報や偏光情報は、撮像素子の移動や参照点の移動に対して、連続的な変化を行なうことがわかる。そのため、参照点Pに対して、第1の偏光画像、第2の偏光画像ともに拡散反射成分であった場合、その近傍点P"において、第1の偏光画像、第2の偏光画像ともに鏡面反射成分であることは非常に少ないと考えられる。つまり、参照点の空間的な変動に対して、各偏光画像の対応点の鏡面反射成分、拡散反射成分は連続的に変化する。最適法線選択部108は、この知見を拘束条件として利用する。この拘束条件は、被写体の広い領域で利用可能であるため、非常に有効である。さらにこの拘束条件は、光源が複数存在する場合にも有効である。本実施形態においては、隣接する画素同士に上述の拘束条件を適用している。
図36はこの連続性を拘束条件として利用するための状態遷移図を示す。この図において、状態601は、第1の偏光画像では拡散反射成分、第2の偏光画像も拡散反射成分と仮定し、法線方向ベクトルを生成することを示している。また、状態602は、第1の偏光画像は拡散反射成分、第2の偏光画像は鏡面反射成分と仮定し、法線方向ベクトルを生成することを、状態603は、第1の偏光画像は鏡面反射成分、第2の偏光画像は拡散反射成分と仮定し、法線方向ベクトルを生成することを、状態604は、第1の偏光画像では鏡面反射成分、第2の偏光画像も鏡面反射成分と仮定し、法線方向ベクトルを生成することを示している。
各偏光画像の対応点の鏡面反射成分、拡散反射成分は連続的に変化するため、参照点が601、つまり第1の偏光画像では拡散反射成分、第2の偏光画像も拡散反射成分と仮定して法線方向ベクトルが生成された場合、その近傍では、604、つまり第1の偏光画像では鏡面反射成分、第2の偏光画像も鏡面反射成分と仮定して法線方向ベクトルが生成されることはありえない。また、参照点が602、つまり第1の偏光画像では拡散反射成分、第2の偏光画像では鏡面反射成分と仮定して法線方向ベクトルが生成された場合、その近傍では、603、つまり第1の偏光画像では鏡面反射成分、第2の偏光画像は拡散反射成分と仮定して法線方向ベクトルが生成されることはありえない。したがって、最適法線選択部108は、以下の評価関数Ev2が最小となる法線方向ベクトル候補を、画像全体で選択することにより、法線方向ベクトルnを選択する。
ただし、Ev1は次式で与えられる、図36の状態遷移図による拘束条件であり、C2は拘束条件の重み係数である。
このような重み係数は、実験的に決定すればよく、例えば、C2=2.0とすればよい。数31は、図36の状態遷移図に従わない場合、数30の評価関数が大きな値となるような評価関数である。
このように、各偏光画像の対応点の鏡面反射成分、拡散反射成分は連続性を拘束条件として利用することで、最適な法線方向ベクトルを選択することができる。
また、別の拘束条件として、第1の偏光情報取得部103および第2の偏光情報取得部103−2が取得した、偏光情報を利用するようにしても構わない。この処理を説明する。
図18より、拡散反射成分の偏光度は、出射角が小さい場合に0に近づく。そのため、偏光度が十分に小さな領域では、法線方向ベクトルnが視線ベクトルVに十分近いと考えられる。そのため、偏光度が十分に小さな領域では、4つの法線方向ベクトル候補nc1〜nc4の中から、最も視線ベクトルに近い候補を法線方向ベクトルnとして選択すればよい。これは、例えば、閾値処理を行ない、偏光度がたとえば、0.05より小さな領域に対して行なえばよい。もちろん、法線情報生成部117は、偏光度が十分に小さい領域では、法線1自由度推定部116が取得した法線1自由度情報を利用せず、法線方向ベクトルnは視線ベクトルVと等しいとするようにしても構わない。これは、偏光度が十分に小さな領域では、数5による偏光情報の取得処理が不安定になるため、法線1自由度推定部116が取得した法線1自由度情報は推定精度が低くなると考えられるためである。この拘束条件は、偏光度が低い領域に対して有効である。
もちろん、別の拘束条件として、前述の遮蔽エッジ領域の法線方向ベクトルを利用しても構わない。前述のように、遮蔽エッジ近傍では、法線方向ベクトルnが図30のx−y平面に近づく。そのため、最適法線選択部108は、4つの法線方向ベクトル候補nc1〜nc4の中から、最もx−y平面に近い候補を法線方向ベクトルnとして選択すればよい。この拘束条件は、遮蔽エッジ領域では非常に有効である。
また、偏光情報を利用した別の拘束条件として、偏光度情報を利用しても構わない。図18に示したように、拡散反射成分においては、偏光度は出射角と屈折率により一意に決定される。そこで、被写体の屈折率が既知の場合、推定された法線方向ベクトルと図18から求めた、推定された偏光度ρeと、偏光情報取得部103によって求められた、計測された偏光度ρを比較し、その差が小さくなるという拘束を利用すればよい。また、図30で示したように、光軸がz方向であることに着目すると、出射角θeは法線方向ベクトルn(nx, ny, nz)を利用して、次式の関係から計算できる。
この拘束条件は、法線1自由度推定部116によって、法線1自由度候補がφndと推定された場合のみ利用できる。
もちろん、光源方向が既知の場合(例えば、法線情報生成装置100がフラッシュ機構を有し、フラッシュを投光しながら撮像を行なう場合)、図17に示した、鏡面反射成分の偏光度を利用しても構わない。図17に示したように、鏡面反射成分においては、偏光度は入射角と屈折率により一意に決定される。そこで、被写体の屈折率と光源方向ベクトルLが既知の場合、推定された法線方向ベクトルと図17から求めた、推定された偏光度と、偏光情報取得部103によって求められた、計測された偏光度を比較し、その差が小さくなるという拘束を利用すればよい。この場合、前述の拡散反射成分を仮定した場合との拘束条件と組み合わせることにより、法線方向ベクトル候補nc1〜nc4の評価を行なうことが可能である。このような偏光度情報を利用した拘束条件は、正確な偏光度情報が取得できる場合に有効である。これは、求まった偏光度が高い場合や、多重反射が生じない、被写体が凸形状の場合である。
もちろん、法線方向ベクトル候補nc1〜nc4と、計測された偏光度ρから図17および18を用いて求めた偏光度由来法線方向ベクトルを比較し、その差が小さくなるという拘束条件を利用しても構わない。この場合、図17からは2つの偏光度由来法線方向ベクトルが求まるため、法線方向ベクトル候補nc1〜nc4と各偏光度由来法線方向ベクトルとの差分値において、より小さい差分値を小さくするという拘束条件を利用すればよい。このような偏光度情報を利用した拘束条件は、正確な偏光度情報が取得できる場合に有効である。これは、求まった偏光度が高い場合や、多重反射が生じない、被写体が凸形状の場合である。
もちろん、別の拘束条件として、奥行情報を利用するようにしても構わない。このような奥行情報は、ステレオ対応取得部104で求めた画像間での対応関係を利用して求められる。前述のように、第1の撮像素子202と第2の撮像素子202−2はキャリブレーション処理が行なわれており、その内部パラメータや外部パラメータは既知である。そのため、ステレオ対応取得部104が取得したステレオ対応情報から、被写体の奥行情報を求めることができる。さらに、求まった奥行情報から法線方向を求めることができる。これは、例えば非特許文献1の技術を利用すればよい。具体的には、以下の処理を行なう。
まず、参照点P近傍に存在する、n点の近傍点の3次元位置座標を(Xi,Yi,Zi)とする。ただし、iは1≦i≦nである。これらの点は、ステレオ対応取得部104が求めた対応情報と、第1の撮像素子202、第2の撮像素子202−2の内部パラメータと外部パラメータを利用することで取得する。次に、近傍n点の共分散行列Cを次式で計算する。
ただし、(Xa,Ya,Za)は近傍n点の重心位置座標である。このとき、参照点Pの奥行由来法線方向ベクトルndは、共分散行列Cの最小固有値に対応する固有ベクトルとして求められる。
前述のように、こうして求められた奥行由来法線方向ベクトルndは十分な精度ではない。しかし、概略の法線としては利用可能である。そこで、最適法線選択部108は、4つの法線方向ベクトル候補nc1〜nc4の中から、最も奥行由来法線方向ベクトルndに近い候補を法線方向ベクトルnとして選択する。
このような奥行情報を利用した拘束条件は、被写体の広い領域で利用可能であるため、非常に有効である。
最適法線選択部108は、以上の拘束条件の少なくとも1つを利用しながら、画像全体での法線方向ベクトルの連続性を利用することで、最適な法線方向ベクトルを求める。
図37は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図37において、図7と共通のステップには図7と同一の符号を付しており、その詳細な説明を省略する。
まず、第1の偏光画像撮像部102は、第1のパターン偏光子201を通して被写体を第1の撮像素子202で受光することで、偏光情報を含んだ画像である第1の偏光画像を取得する(ステップS101)。第1の偏光情報取得部103は、第1の偏光画像撮像部102が撮像した第1の偏光画像の輝度変化を利用して、第1の偏光情報を生成する(ステップS102)。第1の法線1自由度推定部116は、偏光情報取得部103で生成された偏光情報を用いて、画素ごとに、対応する被写体の表面での法線1自由度候補φnd1、φns1を推定する(ステップS117)。次に、第2の偏光画像撮像部102−2は、第2のパターン偏光子201−2を通して被写体を第2の撮像素子202−2で受光することで、偏光情報を含んだ画像である第2の偏光画像を取得する(ステップS103)。第2の偏光情報取得部103−2は、第2の偏光画像撮像部102−2が撮像した第2の偏光画像の輝度変化を利用して、第2の偏光情報を生成する(ステップS104)。第2の法線1自由度推定部116−2は、偏光情報取得部103−2で生成された偏光情報を用いて、画素ごとに、対応する被写体の表面での法線1自由度候補φnd2、φns2を推定する(ステップS118)。ここで、ステップS101〜ステップS102およびステップ117と、ステップS103〜ステップS104およびステップ118の順序は任意であり、並列的に実行してもよいし、もちろん、順次実行しても構わない。ステレオ対応取得部104は、偏光画像撮像部102(102−2)で求まった偏光画像、偏光情報取得部103(103−2)で求まった偏光情報の少なくとも1つを利用して、ステレオ偏光画像撮像部101が取得した複数の偏光画像において画素ごとの対応関係を推定する(ステップS105)。第1の法線1自由度推定部116で推定された法線1自由度候補φnd1,φns1と、第2の法線1自由度推定部116−2で推定された法線1自由度候補φnd2,φns2を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することで、法線方向ベクトル候補nc1〜nc4を推定する(ステップS119)。最適法線選択部108は、法線方向ベクトルの連続性などを利用して、法線方向ベクトル候補nc1〜nc4から最適な法線方向ベクトルnを選択する(ステップS120)。
本実施の形態における法線情報生成装置100が搭載されたカメラは、実施形態1にかかるカメラ200(図5)と同じである。よって、詳細な説明は省略する。
なお、本実施の形態では、偏光情報取得部103を第1の偏光画像撮像部102と第2の偏光画像撮像部102−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、法線1自由度推定部116を第1の偏光情報取得部103と第2の偏光情報取得部103−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
以上のように、被写体の偏光情報を利用し、鏡面反射成分と拡散反射成分双方を仮定した法線1自由度候補を最適に統合することで、画素ごとに法線情報が生成されるため、広い領域についてパッシブに高精度な法線情報が推定できる。
(第4の実施形態)
次に、本発明の第4の実施の形態における法線情報生成装置を説明する。
図38は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。この法線情報生成装置100は、信頼性推定部109を有し、法線情報生成部127が正確に法線情報を推定できる領域と、信頼性が低い領域を推定する。法線情報生成部127は、信頼性推定部109が推定した信頼性結果により法線情報推定処理を切り替えることにより、法線方向ベクトルを推定する。なお、第1の実施形態における法線情報生成装置100と同一の構成要素には、図4と同一の符号を付し、その説明を省略する。
信頼性推定部109は、法線情報生成部127が推定する法線方向ベクトルの信頼性を評価する。これは、第1の法線1自由度推定部106と第2の法線1自由度推定部106−2で推定された法線1自由度情報から推定するようにすればよい。
図39は、推定した法線方向ベクトルの信頼性を説明するための模式図である。図23に示したように、第1の実施形態の法線情報生成部107は、各偏光画像から求められた入出射面S1、S2の交線として、法線方向ベクトルnを求める。しかし、以下の条件を満たす場合、入出射面S1、S2の交線は一意に求まらず、法線方向ベクトルnは不定となる。
[法線方向ベクトルnの推定が不定となる条件]
参照点Pの法線方向ベクトルが以下の3点を通る平面上に存在。
・撮像素子202の焦点位置。
・撮像素子202−2の焦点位置。
・参照点P。
上記の条件下では、入出射面S1、S2は同一平面S12となり、その交線として法線方向ベクトルを一意に求めることはできない。そこで、信頼性推定部109は、入出射面S1と入出射面S2のなす入出射面角を計算し、入出射面角が大きい場合には信頼性があると判断し、入出射面角が小さい場合には信頼性がないと判断する。
法線情報生成部127は、信頼性推定部109が推定した信頼性情報によって、法線方向ベクトル推定処理を切り替える。
図40、図41は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図40、図41において、図7と共通のステップには図7と同一の符号を付しており、その詳細な説明を省略する。
信頼性推定部109は、第1の法線1自由度推定部106が推定した入出射面S1と第2の法線1自由度推定部106−2が推定した入出射面S2とのなす角度として、入出射面角φsを計算する(ステップS130)。ここで、入出射面角φsの値域は[0,π]である。
入出射面角の計算方法を説明する。図42は入出射面角の計算方法を説明するための模式図である。第1の撮像素子202のカメラ座標系C1をxc1−yc1−zc1とし、第2の撮像素子202−2のカメラ座標系C2をxc2−yc2−zc2とする。また、いずれの座標系も図30同様、カメラ左右方向にx方向、カメラ上下方向にy方向、カメラ光軸方向にz方向である。また、カメラ座標系C2からカメラ座標系C1への変換を表す回転行列をRc2−c1とする。さらに法線1自由度φnや偏光位相φmaxは−yc方向が0(rad)、xc方向がπ/2(rad)となるように設定する。このとき、第1の法線1自由度推定部106で求まった法線1自由度をφn1、第2の法線1自由度推定部106−2で求まった法線1自由度をφn2とすると、入出射面角φsは次式で求まる。
ここで、min[A,B]はAとBの最小値を選択する演算子であり、前述の通り、φn1,φn2が180度の不定性を有することに起因する。また、Cos
-1(x)は、−1≦x≦1の場合、[0,π]の範囲をとる。また、数35において、nφ1,nφ2は入出射面S1,S2の法線方向ベクトルである。ここで、φn1,φn2は面の傾き角であることに注意すると、nφ1,nφ2は次式で表される。
信頼性推定部109は、入出射面角φsの大きさを評価する(ステップS131)。すなわち、信頼性推定部109は、入出射面角φsの大きさと閾値Thφsとを比較する。その結果、入出射面角φsの大きさが閾値Thφsより大きかった場合(ステップS131でYes)、前述の通り、法線情報生成部127は、法線1自由度推定部106、106−2で推定された法線1自由度を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することで、法線方向ベクトルを推定し(ステップS109)、処理を終了する。一方、入出射面角φsの大きさが閾値Thφs以下であった場合(ステップS131でNo)、信頼性推定部109は、法線1自由度情報に信頼性がないと判断し、法線情報生成部127は、法線1自由度推定部106、106−2を統合することによる法線方向ベクトルの推定を行なわない。法線情報生成部127は、このような領域では、近傍の求まっている法線方向ベクトルを利用して、例えば、補間処理を行なうことで、法線方向ベクトルを取得する(ステップS132)。
また、入出射面角φsの閾値Thφsは実験的に決定すればよく、例えば、3(deg)を設定すればよい。
もちろん、法線情報生成部127は、ステップS132において、近傍の法線方向ベクトルを利用して法線方向ベクトルを取得するのではなく、例えば、前述の奥行由来法線方向ベクトルndを利用するようにしても構わない。
もちろん、信頼性推定部129は、例えば、偏光情報取得部103が推定した偏光情報から信頼性を評価するようにしても構わない。ここでは、偏光情報取得部103が推定した偏光情報と法線情報生成部147が生成した法線方向ベクトルnを比較することにより、信頼性を評価する処理を説明する。
図43は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。第1の実施形態における法線情報生成装置100と同一の構成要素には、図4と同一の符号を付し、その説明を省略する。
本実施形態における法線情報生成装置100における法線情報生成部147は、まず、第1の実施形態の法線情報生成部107と同様の処理を行ない、法線方向ベクトルnを推定する。信頼性推定部129は、法線情報生成部147が生成した法線方向ベクトルnを偏光情報取得部103が推定した偏光情報と比較することで、法線方向ベクトルnの信頼性を評価する。法線情報生成部147は、信頼性推定部129によって信頼性がないと評価された法線方向ベクトルnを廃棄し、近傍の求まっている法線方向ベクトルを利用して、例えば、補間処理を行なうことで、法線方向ベクトルを取得する。
ここでは、偏光情報として偏光度ρを利用することで、信頼性を評価する方法を説明する。まず、前述のように、光源方向および被写体の屈折率が既知の場合を考える。領域分割部105によって、画素が鏡面反射成分または拡散反射成分と領域分割されていることに着目すると、前述の図17、18より、法線方向ベクトルnから偏光度ρeを推定できる。つまり、画素が鏡面反射成分の場合、参照点の法線方向ベクトル方向nおよび光源方向より、入射角が求まる。図17より、入射角と被写体の屈折率が既知であれば、偏光度ρeが推定できる。一方、画素が拡散反射成分の場合、参照点の法線方向ベクトル方向nおよび数33より、出射角が求まる。図18より、出射角と被写体の屈折率が既知であれば、偏光度ρeが推定できる。ここで、領域分割部105の領域分割結果、および法線情報生成部147の法線方向ベクトルn推定結果が正しければ、偏光情報取得部103で求めた偏光度ρと推定された偏光度ρeは十分に近い値となる。そこで、信頼性推定部129は、ρとρeの差分値を計算し、その差分値が大きい場合は信頼性が低い、差分値が小さい場合は信頼性が高いと判断する。
図44および45は、本実施の形態における領域分割部105による処理の流れを示したフローチャートである。なお、図44および45において、図7および図41と共通のステップには図7および図41と同一の符号を付しており、その詳細な説明を省略する。
まず、法線情報生成装置100は、第1の実施形態と同様の処理を行ない、法線方向ベクトルnを推定する(ステップS101〜S109)。信頼性推定部129は、前述のように、前記法線方向ベクトルnと図17および18を利用することで、偏光度ρeを推定する(ステップS135)。信頼性推定部129は、偏光情報取得部103で求めた偏光度ρと推定された偏光度ρeを比較することで、信頼性を評価する(ステップS136)。ここで、偏光情報取得部103で求めた偏光度ρと推定された偏光度ρeが十分に近かった場合(ステップS136でYes)、信頼性推定部129は、法線方向ベクトルnは十分に信頼性が高いと判断し、処理を終了する。一方、偏光情報取得部103で求めた偏光度ρと推定された偏光度ρeが大きく異なった場合(ステップS136でNo)、信頼性推定部129は、法線方向ベクトルnに信頼性がないと判断し、法線情報生成部147は、法線1自由度推定部106、106−2を統合することによる法線方向ベクトルの推定を行なわない。法線情報生成部147は、このような領域では、近傍の求まっている法線方向ベクトルを利用して、例えば、補間処理を行なうことで、法線方向ベクトルを取得する(ステップS132)。
本実施の形態における法線情報生成装置100が搭載されたカメラは、実施形態1にかかるカメラ200(図5)と同じである。よって、詳細な説明は省略する。
以上のように、被写体の偏光情報を利用し、鏡面反射成分と拡散反射成分双方を仮定した法線1自由度候補を信頼性を利用して最適に統合することで、画素ごとに法線情報が生成されるため、広い領域についてパッシブに高精度な法線情報が推定できる。
(第5の実施形態)
次に、本発明の第5の実施の形態における法線情報生成装置を説明する。第4の実施形態における法線情報生成装置との違いは、法線方向ベクトルから信頼性を評価するのではなく、領域分割部における領域分割結果から信頼性を評価することである。
本実施形態による法線情報生成装置の処理は、図38に示す第4の実施形態による法線情報生成装置の処理と同じである。本実施の形態における法線情報生成装置における信頼性推定部109は、法線情報生成部127が推定する法線方向ベクトルから信頼性を評価するのではなく、領域分割部105の領域分割結果から信頼性を評価する。ここでは、陰影領域を利用する処理を説明する。
陰影領域では、光線が複雑になり、偏光情報の信頼性が失われる。そこで、本実施形態の法線情報生成装置100では、領域分割部115によって、陰影領域を領域分割し、信頼性推定部109は陰影領域を信頼性が低い領域と判断する。
図46は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。この法線情報生成装置100における第1の領域分割部115および第2の領域分割部115−2は、画像を鏡面反射成分領域、拡散反射成分領域および陰影領域に分割する。信頼性推定部119は、第1の領域分割部115および第2の領域分割部115−2によって取得した領域分割結果に基づき、法線情報生成部137が正確に法線情報を推定できる領域と、信頼性が低い領域を推定する。法線情報生成部137は、信頼性推定部119が推定した信頼性結果により法線情報推定処理を切り替えることにより、法線方向ベクトルを推定する。なお、第1の実施形態における法線情報生成装置100と同一の構成要素には、図4と同一の符号を付し、その説明を省略する。
領域分割部115は、偏光情報取得部103が生成した偏光情報および/または偏光画像撮像部102が取得した輝度情報を利用し、画像を拡散反射領域、鏡面反射領域および陰影領域に領域分割する。ここで、陰影領域は輝度値が低いことと、カメラの移動に対して陰影は不変であることに着目する。すると、ステレオカメラにおける鏡面反射成分領域、拡散反射成分領域および陰影領域は、以下のように分割できる。
ここで、Tは本来のLambertianモデルからどれだけ離れているかを示す閾値であり、Thsは陰影の閾値である。本来、陰影の輝度値は0になるはずであるが、暗電流や環境光などの影響により、0にならない。このような閾値は、実験的に決定すればよい。
図47は上記領域分割基準を表した模式図である。
もちろん、領域分割部105は、画像の輝度値を利用するのではなく偏光情報取得部103および103−2で取得した、偏光最大輝度値Imaxや偏光最小輝度値Imin、または偏光最大輝度値Imaxと偏光最小輝度値Iminの平均値や重み付け和(例えば、Imax+2・IminやImax+Imin)などをIc1,Ic2として利用するようにしても構わない。前述のように、偏光最小輝度値Iminを利用する場合、てかり成分の影響を少なくすることができる。また、Imax+Iminは、偏光子を設置しなかった場合に撮像される画像と等価の画像である。そのため、この平均値を利用して画像処理を行なうことで、通常の偏光を利用しない場合と同様の処理を行なうことができる。
信頼性推定部119は、法線情報生成部137が推定する法線方向ベクトルの信頼性を評価する。これは、領域分割部115で分割された領域が陰影領域であるか、そうでないかを判断すればよい。
法線情報生成部137は、信頼性推定部119が推定した信頼性情報によって、法線方向ベクトルの推定処理を切り替える。
図48および49は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図48および49において、図40および41と共通のステップには図40および41と同一の符号を付しており、その詳細な説明を省略する。
領域分割部115は、第1の偏光情報取得部103および第2の偏光情報取得部103−2が生成した第1の偏光情報、第2の偏光情報、および/または、第1の偏光画像撮像部102および第2の偏光画像撮像部102−2が取得した第1の輝度情報、第2の輝度情報を利用することで、図47の領域分割基準に基づき、第1の画像、第2の画像を拡散反射領域、鏡面反射領域および陰影領域に領域分割する(ステップS116)。
信頼性推定部119は、領域分割部115が分割した領域分割結果が陰影領域かそうでないかを判断することで、推定された法線方向ベクトルの信頼性を判断する(ステップS133)。その結果、参照画素が陰影領域でなかった場合(ステップS133でNo)、前述の通り、法線情報生成部137は、法線1自由度推定部106、106−2で推定された法線1自由度を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することで、法線方向ベクトルを推定し(ステップS109)、処理を終了する。参照画素が陰影領域であった場合(ステップS133でYes)、信頼性推定部119は、法線1自由度情報に信頼性がないと判断し、法線情報生成部137は、法線1自由度推定部106、106−2を統合することによる法線方向ベクトルの推定を行なわない。法線情報生成部137は、このような領域では、近傍の求まっている法線方向ベクトルを利用して、例えば、補間処理を行なうことで、法線方向ベクトルを取得する(ステップS132)。
また、偏光情報を利用することで、陰影領域をさらにアタッチト・シャドウ(attached shadow)領域とキャスト・シャドウ(cast shadow)領域に分割するようにしても構わない。attached shadow領域は「陰領域」とも呼ばれ、cast shadow領域は「影領域」とも呼ばれる。cast shadow領域では、光線が複雑になり、偏光情報の信頼性が失われる。一方、attached shadow領域では、鏡面反射成分に近い偏光特性を示す。
そこで、本実施形態の法線情報生成装置100では、領域分割部によって、陰影領域をattached shadow領域とcast shadow領域に領域分割し、信頼性推定部109はcast shadow領域を信頼性が低い領域と判断する。この処理を詳述する。
まず、attached shadowとcast shadowを説明する。図50はattached shadowとcast shadowという陰影の分類を説明するための模式図である。ここで、ある面305におかれた被写体301が、光源304に照らされている。この図において、符号306と307はどちらも陰影を示している。符号306は被写体301の法線が光源304を向いていないために生じるattached shadowであり、符号307は305において、遮蔽物である被写体301によって光が遮蔽されることによって生じるcast shadowである。
次に、attached shadowとcast shadowの偏光特性の違いを説明する。まず、地上で撮像されるほとんどの撮像シーンでは成り立つ、以下の条件1が満たされた撮像シーンにおいて、撮像が行なわれると想定する。
条件1:「被写体が存在する撮像シーンには、近傍に広い面を有する物体が存在し、ある広い面から被写体に関して反対方向には光源が存在する」
これは、例えば以下のような撮像シーンでは成り立つ。
1. 屋内シーンにおいて、被写体であるボールが机の上に置かれている。また、このボールは天井に設置された蛍光灯で照らされている。
2. 屋内シーンにおいて、被写体である人物が、床面に置かれた椅子に座っている。また、この人物は、窓から差し込んでくる太陽光で照らされている。
3. 屋外シーンにおいて、被写体である自動車が、道路上を走行している。この被写体は、太陽光で照らされている。
また、壁や建物も広い面を有するため、地上で撮像されるほとんどの撮像シーンではこの条件が成り立つ。
この条件1が成り立つ場合において、まずattached shadowを考える。図50で示したように、attached shadowは被写体の法線が光源と反対方向を向いているために生じる陰影である。ここで、条件1より、光源と反対方向には広い面が存在していることと、陰影領域には実際には多数の回り込み光(多重反射光)が存在していることを考慮すると、attached shadowには、さまざまな方向から多重反射光が入射していると考えられる。つまり、attached shadowが生じている画素の法線に対して、正反射となる多重反射光が存在すると考えられる。図51はこの様子を示した模式図である。
ところで、被写体表面の反射特性は、てかりである鏡面反射成分と、マットな反射成分である拡散反射成分の和として表現されることが知られている。拡散反射成分は、被写体に投光する光源がいずれの方向に存在しても観測されるが、鏡面反射成分は、被写体の法線方向と視線方向に対し、ほぼ正反射方向に光源が存在する場合にのみ観測される、方向依存性の強い成分である。これは、偏光特性に関しても成り立つ。
被写体が、てかりである鏡面反射を生じる物体の場合、すべての方向から光が投光された場合、被写体は正反射成分である鏡面反射による影響を強く受けることが知られている(例えば、透明物体に関しては、斉藤めぐみ,佐藤洋一,池内克史,柏木寛,"ハイライトの偏光解析にもとづく透明物体の表面形状測定",電子情報通信学会論文誌D-II,Vol. J82-D-II,No.9,pp.1383-1390,1999)。そのため、attached shadowは鏡面反射の偏光特性を持つ。
鏡面反射成分と拡散反射成分の偏光度を示した、前述の図17および18から、すべての方向から光が入射された場合、拡散反射成分に比べ鏡面反射成分の偏光度が高くなることがわかる。このことからも、偏光特性としても鏡面反射成分が支配的になると推測される。
また、出射角が90°に近い、遮蔽エッジなどを除外した場合、図17および18からわかるように、鏡面反射成分の偏光度は拡散反射成分に比べて高い。そのため、鏡面反射成分の反射特性を示すattached shadowは、相対的に偏光度が高くなる。
次に、cast shadowについて考える。図50で示したように、cast shadowは何らかの遮蔽物によって光が遮蔽されることによって生じる陰影である。ここで、条件1を考慮すると、cast shadowは、広い面と近い法線方向を持った面に生じやすくなる。そのため、多重反射光はattached shadowに比べて限られた方向からしか入射しない。このことから、正反射方向に光源が存在する可能性は低いと考えられる。図52はこの様子を示した模式図である。
さらに、図18で示したように、拡散反射成分の偏光度は相対的に低い。このことから、cast shadowの偏光成分は比較的小さくなることがわかる。陰影領域では、輝度そのものが小さくなるため、小さな偏光成分を推定することは非常に困難である。そのため、cast shadowの偏光推定誤差は非常に大きくなる。
以上のことをまとめると、陰影領域の偏光特性は、以下のように分類される。
○attached shadow
・偏光度が高く、偏光推定誤差が小さい。
・多くの場合、鏡面反射特性を示す。
○cast shadow
・偏光度が低く、偏光推定誤差が大きい。
・多くの場合、拡散反射特性を示す。
この分類基準を利用することで、陰影をattached shadowとcast shadowに分割する。
図53は、図47の画像分類基準において、陰影領域と分割された領域に対する陰影領域分割基準を示している。また、図54は、陰影領域と分割された領域に対する、領域分割部115の処理の流れを示すフローチャートである。
画素が陰影領域であると判断された場合、領域分割部115は、偏光情報取得部103で取得された偏光度ρの大きさを評価する(ステップS141)。すなわち、領域分割部115は、偏光度ρの大きさと閾値Thρとを比較する。その結果、偏光度ρの大きさが閾値Thρ以上であった場合(ステップS141でNo)、領域分割部115は画素をattached shadowと判断し(ステップS142)、処理を終了する。一方、偏光度ρの大きさが閾値Thρより小さかった場合(ステップS141でYes)、領域分割部115は画素をcast shadowと判断し(ステップS143)、処理を終了する。このときの偏光度の閾値Thρは、被写体の屈折率や被写体の法線方向、光源方向、視線方向などから設定するようにしても構わない。図17および18に示したように、被写体の鏡面反射成分偏光度や拡散反射成分偏光度は屈折率と入射角、出射角が求まれば一意に決定できる。そのため、図17および18で求まる鏡面反射成分偏光度や拡散反射成分偏光度をThρとして利用すればよい。また、被写体の屈折率や被写体の法線方向、光源方向、視線方向などの情報が得られない場合、拡散反射成分偏光度がとりうる最大値をもとに閾値Thρとして決定しても構わない。例えば、屈折率2.0以上の被写体は存在しないと仮定すると、図18より拡散反射成分偏光度の最大値は0.6程度と考えられるので、閾値Thρとして、0.8程度を設定すればよい。
もちろん、偏光度の閾値Thρを実験的に決定するようにしても構わない。
以上のように、図47および53の領域分割基準を用いることにより、領域分割部115は、画像を拡散反射領域、鏡面反射領域、attached shadowおよびcast shadowに分割する。
もちろん、陰影領域をattached shadowとcast shadowに分割する基準は、偏光推定誤差情報に限ったものではなく、例えば、偏光度情報であっても構わない。この処理を詳述する。
図55は、図47の画像分類基準において、陰影領域と分割された領域に対する陰影領域分割基準を示している。また、図56は、陰影領域と分割された領域に対する、領域分割部115の処理の流れを示すフローチャートである。
画素が陰影領域であると判断された場合、領域分割部115は、偏光情報取得部103で取得された偏光推定誤差Eの大きさを評価する(ステップS141)。すなわち、領域分割部115は、偏光推定誤差Eの大きさと閾値Th_Errとを比較する。その結果、偏光推定誤差Eの大きさが閾値Th_Err以下であった場合(ステップS144でNo)、領域分割部115は画素をattached shadowと判断し(ステップS142)、処理を終了する。一方、偏光推定誤差Eの大きさが閾値Th_Errより大きかった場合(ステップS144でYes)、領域分割部115は画素をcast shadowと判断し(ステップS143)、処理を終了する。このときの閾値Th_Errは撮像画像の輝度値や(数1)の振幅成分A、バイアス成分Cを基準に決定すればよい。例えば、振幅成分Aを基準に閾値Th_Errを決定する場合、以下のように決定すればよい。
この式は、偏光推定誤差Eが振幅成分Aに対してどの程度、異なっているかを示している。ここで、Th_Eは適当な正の定数であり、実験的に決定すればよく、例えば、0.3を設定すればよい。また、Nは前述のサンプル数である。
以上のように、図47および55の領域分割基準を用いることにより、領域分割部115は、画像を拡散反射領域、鏡面反射領域、attached shadowおよびcast shadowに分割する。
法線1自由度推定部106は、前述のように、領域分割部115で分割された領域ごとに、偏光情報取得部103で生成された偏光情報を用いて、対応する被写体の表面での法線1自由度を推定する。このとき、領域分割部115において、attached shadowと分割された画素は、鏡面反射成分として、 法線1自由度情報φnを数25によって計算する。
信頼性推定部119は、法線情報生成部137が推定する法線方向ベクトルの信頼性を評価する。これは、領域分割部115で分割された領域がcast shadowであるか、そうでないかを判断すればよい。
法線情報生成部137は、信頼性推定部119が推定した信頼性情報によって、法線方向ベクトルの推定処理を切り替える。
図48および57は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図57において、図49と共通のステップには図49と同一の符号を付しており、その詳細な説明を省略する。
信頼性推定部119は、領域分割部115が分割した領域分割結果がcast shadowかそうでないかを判断することで、推定された法線方向ベクトルの信頼性を判断する(ステップS134)。その結果、参照画素がcast shadow領域でなかった場合(ステップS134でNo)、前述の通り、法線情報生成部137は、法線1自由度推定部106、106−2で推定された法線1自由度を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することで、法線方向ベクトルを推定し(ステップS109)、処理を終了する。参照画素がcast shadowであった場合(ステップS134でYes)、信頼性推定部119は、法線1自由度情報に信頼性がないと判断し、法線情報生成部137は、法線1自由度推定部106、106−2を統合することによる法線方向ベクトルの推定を行なわない。法線情報生成部137は、このような領域では、近傍の求まっている法線方向ベクトルを利用して、例えば、補間処理を行なうことで、法線方向ベクトルを取得する(ステップS132)。
本実施の形態における法線情報生成装置100が搭載されたカメラは、実施形態1にかかるカメラ200(図5)と同じである。よって、詳細な説明は省略する。
もちろん、信頼性推定部109は、陰影領域を利用するのではなく、例えば、多重反射領域を利用するようにしても構わない。多重反射領域では、光線が複雑 になり、偏光情報の信頼性が失われる。そこで、本実施形態の法線情報生成装置100では、領域分割部115によって、多重反射領域を領域分割し、信頼性推 定部109は多重反射領域を信頼性が低い領域と判断する。
領域分割部115によって、多重反射領域を領域分割するためには、例えば、色情報を利用すればよい。一般に、拡散反射成分の色ベクトルは物体色に等しく、鏡面反射成分の色ベクトルは光源色に等しい。ここでは、多重反射として2次反射を考える。2次反射とは、光源からの光が、領域Aで反射し、その反射光がさらに領域Bを照射し、その領域Bを観測している状態を示す。この場合、領域Aで拡散反射、領域Bで鏡面反射が生じている場合、領域Bで観測される色ベクトルは、領域Aの物体色ベクトルと等しくなる。ここで、非偏光成分の色ベクトルは、物体色ベクトルとほぼ等しいと仮定する。このとき、領域Bで観測された偏光成分の色ベクトルが、領域Bの非偏光成分の色ベクトルとも異なり、さらに光源色ベクトルとも異なる場合、領域Bでは多重反射が生じていると判断することができる。
以上のように、被写体の偏光情報を利用し、鏡面反射成分と拡散反射成分双方を仮定した法線1自由度候補を信頼性を利用して最適に統合することで、画素ごとに法線情報が生成されるため、広い領域についてパッシブに高精度な法線情報が推定できる。
(第6の実施形態)
次に、本発明の第6の実施の形態における法線情報生成装置を説明する。
図58は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。この法線情報生成装置100は、3眼以上のステレオ偏光画像撮像部111を有し、視点の異なる3枚以上の偏光画像(第1の偏光画像、第2の偏光画像、第3の偏光画像)を取得する。そのため、法線情報生成部157は、例えば、第1の偏光画像と第2の偏光画像から法線方向ベクトル候補n12を、第1の偏光画像と第3の偏光画像から法線方向ベクトル候補n13を、第2の偏光画像と第3の偏光画像から法線方向ベクトル候補n23を生成する。こうして求めた複数の法線方向ベクトル候補に対し、最適法線選択部118は、その妥当性を評価することで、法線方向ベクトルを選択する。2眼のみのステレオ偏光画像撮像部101を利用した場合、前述のように、カメラと参照点の3次元配置および参照点の法線方向ベクトルの関係によっては、法線方向ベクトルnの推定が不定となる場合が存在する。本実施形態の法線情報生成装置100は、3眼以上のステレオ偏光画像撮像部111を利用することで、この問題を解決するものである。なお、第1の実施形態における法線情報生成装置100と同一の構成要素には、図4と同一の符号を付し、その説明を省略する。
ステレオ対応取得部114は、3眼以上のステレオ偏光画像撮像部111が取得した3視点以上の第1の偏光画像、第2の偏光画像および第3の偏光画像において画素ごとの対応関係を推定する。これは、前述の図15で示した処理を、3視点以上の偏光画像に関して行なえばよい。
第1の領域分割部105、第2の領域分割部105−2および第3の領域分割部105−3は、第1の偏光情報取得部103、第2の偏光情報取得部103−2および第3の偏光情報取得部103−3が生成した第1の偏光情報、第2の偏光情報および第3の偏光情報や第1の偏光画像撮像部102、第2の偏光画像撮像部102−2および第3の偏光画像撮像部102−3が取得した第1の輝度情報、第2の輝度情報および第3の輝度情報を利用し、第1の画像、第2の画像および第3の画像を拡散反射領域および鏡面反射領域に領域分割する。これは、前述の領域分割処理を、第1の画像と第2の画像、および/または、第1の画像と第3の画像、および/または、第2の画像と第3の画像に対して、順次または並列的に、行なうようにすればよい。
法線情報生成部157は、法線1自由度推定部106、106−2および106−3で推定された法線1自由度を、ステレオ対応取得部114で取得された画像の対応関係を利用して統合することで、複数の法線方向ベクトル候補を推定する。本実施形態に基づく法線情報生成装置100は、3眼以上のステレオ偏光画像撮像部111を有する。そのため、例えば、第1の偏光画像と第2の偏光画像から法線方向ベクトル候補n12を、第1の偏光画像と第3の偏光画像から法線方向ベクトル候補n13を、第2の偏光画像と第3の偏光画像から法線方向ベクトル候補n23を生成する。
最適法線選択部118は、3つの法線方向ベクトル候補n12、n13およびn23から、最適なものを選択することで、法線方向ベクトルnを推定する。最適法線選択部118は、複数の法線方向ベクトル候補から、最適なものを選択するために、法線1自由度推定部106で推定された法線1自由度情報を利用する。この処理を説明する。
前述のように、以下の条件を満たす場合、2眼のステレオ偏光画像から求めた入出射面S1、S2の交線は一意に求まらず、法線方向ベクトルnは不定となってしまう。
[法線方向ベクトルnの推定が不定となる条件]
参照点Pの法線方向ベクトルが以下の3点を通る平面上に存在。
・撮像素子202の焦点位置。
・撮像素子202−2の焦点位置。
・参照点P。
そこで、最適法線選択部118は、まず、第1の偏光画像から求めた入出射面S1と第2の偏光画像から求めた入出射面S2および第3の偏光画像から求めた入出射面S3のそれぞれのなす入出射面角を前述の数35にしたがって計算する。ここで、入出射面S1と入出射面S2から求めた入出射面角をφs12、入出射面S1と入出射面S3から求めた入出射面角をφs13、入出射面S2と入出射面S3から求めた入出射面角をφs23とする。こうして求めた入出射面角φs12、φs13およびφs23において、最も値が大きいカメラ組を選択する。こうして選択されたカメラ組から法線方向ベクトルnを前述のように取得する。こうして取得された法線方向ベクトルnは、上記推定が不定となる条件に最も合わない、つまり、最も信頼性の高い法線方向ベクトルであると判断できる。
図59および60は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図59および60において、図7と共通のステップには図7と同一の符号を付しており、その詳細な説明を省略する。
まず、第1の偏光画像撮像部102は、第1のパターン偏光子201を通して被写体を第1の撮像素子202で受光することで、偏光情報を含んだ画像である第1の偏光画像を取得する(ステップS101)。第1の偏光情報取得部103は、第1の偏光画像撮像部102が撮像した第1の偏光画像の輝度変化を利用して、第1の偏光情報を生成する(ステップS102)。第2の偏光画像撮像部102−2は、第2のパターン偏光子201−2を通して被写体を第2の撮像素子202−2で受光することで、偏光情報を含んだ画像である第2の偏光画像を取得する(ステップS103)。第2の偏光情報取得部103−2は、第2の偏光画像撮像部102−2が撮像した第2の偏光画像の輝度変化を利用して、第2の偏光情報を生成する(ステップS104)。第3の偏光画像撮像部102−3は、第3のパターン偏光子201−3を通して被写体を第3の撮像素子202−3で受光することで、偏光情報を含んだ画像である第3の偏光画像を取得する(ステップS401)。第3の偏光情報取得部103−3は、第3の偏光画像撮像部102−3が撮像した第3の偏光画像の輝度変化を利用して、第3の偏光情報を生成する(ステップS402)。ここで、ステップS101〜ステップS102と、ステップS103〜ステップS104と、ステップS401〜ステップS402の順序は任意であり、並列的に実行してもよいし、もちろん、順次実行しても構わない。ステレオ対応取得部114は、ステレオ偏光画像撮像部111が取得した第1の偏光画像、第2の偏光画像および第3の偏光画像において画素ごとの対応関係を推定する(ステップS403)。第1の領域分割部105、第2の領域分割部105−2および第3の領域分割部105−3は、第1の偏光情報取得部103、第2の偏光情報取得部103−2および第3の偏光情報取得部103−3が生成した第1の偏光情報、第2の偏光情報および第3の偏光情報、および/または、第1の偏光画像撮像部102、第2の偏光画像撮像部102−2および第3の偏光画像撮像部102−3が取得した第1の輝度情報、第2の輝度情報および第3の輝度情報を利用し、第1の画像、第2の画像および第3の画像を拡散反射領域および鏡面反射領域に領域分割する(ステップS404)。第1の法線1自由度推定部106は、偏光情報取得部103で生成された第1の偏光情報を用いて、第1の領域分割部105で分割された領域ごとに異なった処理を行なうことにより、対応する被写体の表面での法線1自由度情報として入出射面S1を推定する(ステップS107)。第2の法線1自由度推定部106−2は、偏光情報取得部103−2で生成された第2の偏光情報を用いて、第2の領域分割部105−2で分割された領域ごとに異なった処理を行なうことにより、対応する被写体の表面での法線1自由度情報として入出射面S2を推定する(ステップS108)。第3の法線1自由度推定部106−3は、偏光情報取得部103−3で生成された第3の偏光情報を用いて、第3の領域分割部105−3で分割された領域ごとに異なった処理を行なうことにより、対応する被写体の表面での法線1自由度情報として入出射面S3を推定する(ステップS405)。ここで、ステップS107と、ステップS108と、ステップS405の順序は任意であり、並列的に実行してもよいし、もちろん、順次実行しても構わない。法線情報生成部157は、法線1自由度推定部106、106−2および106−3で推定された法線1自由度情報を、ステレオ対応取得部114で取得された画像の対応関係を利用して統合することで、3つの法線方向ベクトル候補n12、n13およびn23を推定する(ステップS406)。最適法線選択部118は、3つの法線方向ベクトル候補n12、n13およびn23から、前述の入出射面角情報を利用することで、最適なものを選択し、選択された法線方向ベクトル候補を法線方向ベクトルnとして選択する(ステップS407)。
もちろん、法線情報生成部157は、3つの法線方向ベクトル候補n12、n13およびn23を推定するのではなく、2つの法線方向ベクトル候補n12およびn13のみを推定するようにしても構わない。
また、図61は、本実施の形態における法線情報生成装置100が搭載されたカメラ200のハードウェア構成例を示している。このカメラ200は、法線情報を生成する機能を備える撮像装置であり、3つ以上のパターン偏光子(第1のパターン偏光子201、第2のパターン偏光子201−2および第3のパターン偏光子201−3)、3つ以上の撮像素子(第1の撮像素子202、第2の撮像素子202−2および第3の撮像素子202−3)、メモリ203およびCPU204を備える。なお、図61において、図5と共通の構成要素には図5と同一の符号を付しており、新しい構成要素は存在しないため、その詳細な説明を省略する。
図27、65および68は本実施形態における法線情報生成部157によって推定した法線方向ベクトルを可視化した法線画像を示している。前述のように、法線方向ベクトルの各成分は-1から1の範囲の値をもつため、法線画像では、法線方向ベクトルの各成分の0を灰色、負の方向に黒く、正の方向に白くなるような表現をしている。また、背景は黒色で示している。図27は、撮像素子を水平方向に配置した、図24(b)と図24(d)の偏光位相を利用して、法線情報生成部157が推定した法線方向ベクトル候補n12を可視化した法線画像を表している。
図27(a)は法線方向ベクトル候補n12のx成分の法線画像を示している。また、図27(b)は法線方向ベクトル候補n12のy成分の法線画像を示している。また、図27(c)は法線方向ベクトル候補n12のz成分の法線画像を示している。また、図28は、図27の各図を模式的に示した図(濃淡を明瞭化した図)である。
以下、本実施の形態による法線情報生成装置100を利用した画像生成例を説明する。例では、球体である地球儀を被写体としている。図62は、本願発明者らによる撮影時のカメラ200と被写体との位置関係、および、カメラ200内のパターン偏光子201、201−2および201−3との位置関係を示している。カメラ200から被写体までは160cmであり、パターン偏光子201および201−2の間隔、および、パターン偏光子201および201−3の間隔は50cmである。パターン偏光子間の間隔は、撮像素子の間隔とほぼ同じである。
図63(a)は、地球儀を被写体とし、偏光情報取得部103−3(偏光情報取得部103の上方より撮像)によって取得された偏光最大輝度値Imaxと偏光最小輝度値Iminの和(Imax+Imin)、図63(b)は、地球儀を被写体とし、偏光情報取得部103−3によって取得された偏光位相φmax3(0°が黒、180°が白)を表している。また、図63(c)および図63(d)は、図63(a)および図63(b)を模式的に示した図(濃淡を明瞭化した図)である。図64(a)および(b)はそれぞれ、図63(c)および(d)に示す画像に対応する領域を示している。
図65(a)〜(c)は、撮像素子を垂直方向に配置した、図24(b)と図63(b)の偏光位相を利用して、法線情報生成部157が推定した法線方向ベクトル候補n13を可視化した法線画像を表している。図65(a)は法線方向ベクトル候補n13のx成分の法線画像を示している。また、図65(b)は法線方向ベクトル候補n13のy成分の法線画像を示している。また、図65(c)は法線方向ベクトル候補n13のz成分の法線画像を示している。
また、図66(a)〜(c)は、図65(a)〜(c)の各図を模式的に示した図(濃淡を明瞭化した図)である。図67(a)〜(c)はそれぞれ、図65(a)〜(c)に示す画像と、図66(a)〜(c)に示す各領域との対応関係を示している。
図68(a)〜(d)は、本実施形態における最適法線選択部118によって選択された最適な法線方向ベクトルnを可視化した法線画像を表している。図68(a)は法線方向ベクトルnのx成分の法線画像を示している。また、図68(b)は法線方向ベクトルnのy成分の法線画像を示している。図68(c)は法線方向ベクトル候補nのz成分の法線画像を示している。また、図68(d)は最適法線選択部118が法線方向ベクトル候補n12と法線方向ベクトルn13のいずれを選択したかを画素ごとに示した模式図である。この図において、法線方向ベクトル候補n12が選択された画素は白く、法線方向ベクトル候補n13が選択された画素は黒くなるような表現をしている。また、背景は灰色で示している。
また、図69(a)〜(d)は、図68(a)〜(d)の各図を模式的に示した図(濃淡を明瞭化した図)である。図70(a)〜(d)はそれぞれ、図68(a)〜(d)に示す画像と、図69(a)〜(d)に示す各領域との対応関係を示している。
被写体が球体であるため、撮像素子を水平に並べた法線方向ベクトル候補n12を示した図27では、球体の画面中央部水平領域において、x成分法線画像が乱れていることがわかる(図28(a)および図29(a)における領域G31)。この領域は、前述の「法線方向ベクトルnの推定が不定となる条件」を満たす領域である。一方、撮像素子を垂直に並べた法線方向ベクトル候補n13を示した図65では、球体の画面中央部垂直領域において、y成分法線画像が乱れていることがわかる(図66(b)および図67(b)における領域G42)。この領域も、前述の「法線方向ベクトルnの推定が不定となる条件」を満たす領域である。一方、図68(d)より、最適法線選択部118は、画面中央部水平領域においては法線方向ベクトル候補n13を、画面中央部垂直領域においては法線方向ベクトル候補n12を選択しているため、「法線方向ベクトルnの推定が不定となる条件」を回避していることがわかる。そのため、生成された法線方向ベクトルnは、安定して推定されていることがわかる(図68(a)〜(c)参照)。
以上のように、鏡面反射領域と拡散反射領域の領域分割を行ない、被写体の偏光情報を利用することで、被写体の偏光情報を利用して、分割された領域ごとに異なった処理を行なうことにより、広い領域についてパッシブに高精度な法線情報が推定できる。
もちろん、最適法線選択部118は、複数の法線方向ベクトル候補から、最適なものを選択するために、偏光情報取得部103で取得した偏光情報を利用しても構わない。これは、例えば偏光度ρを利用するようにすればよい。これは、3つの偏光画像(第1の偏光画像、第2の偏光画像、および第3の偏光画像)から求めた偏光度ρ1、ρ2およびρ3の大きさを比較し、その上位2つに対応する画像を利用して求めた法線方向ベクトル候補を法線方向ベクトルnとして選択すればよい。これは、偏光度が低い場合には、偏光情報の信頼性がなくなるためである。偏光度が低い場合、偏光情報として偏光位相情報φmaxを取得することは非常に困難である。偏光度を利用した法線方向ベクトルの選択を行なうことで、上記の状態を回避でき、問題を解決することが可能である。
もちろん、最適法線選択部118は、複数の法線方向ベクトル候補から、最適なものを選択するために、偏光情報取得部103で取得した偏光推定誤差Eを利用しても構わない。これは、3つの偏光画像(第1の偏光画像、第2の偏光画像、および第3の偏光画像)から求めた偏光推定誤差E1、E2およびE3の大きさを比較し、その下位2つに対応する画像を利用して求めた法線方向ベクトル候補を法線方向ベクトルnとして選択すればよい。これは、偏光推定誤差Eが大きい場合には、偏光情報の信頼性がなくなるためである。偏光推定誤差を利用した法線方向ベクトルの選択を行なうことで、信頼性高く推定された偏光位相情報のみを利用して、法線方向ベクトルを生成することが可能である。
もちろん、最適法線選択部118は、複数の法線方向ベクトル候補から、最適なものを選択するために、偏光画像撮像部102で取得した偏光画像を利用しても構わない。これは、3つの偏光画像(第1の偏光画像、第2の偏光画像、および第3の偏光画像)の参照画素の輝度値の大きさを比較し、その上位2つに対応する画像を利用して求めた法線方向ベクトル候補を法線方向ベクトルnとして選択すればよい。これは、偏光画像の輝度値が低い場合には、輝度分解能が小さくなるため、偏光情報の信頼性が低くなると考えられるためである。偏光画像を利用した法線方向ベクトルの選択を行なうことで、信頼性高く推定された偏光位相情報のみを利用して、法線方向ベクトルを生成することが可能である。
もちろん、法線情報生成部157は、複数の法線方向ベクトル候補を生成するのではなく、最適法線選択部118が選択した最適な法線方向ベクトルnのみを生成するようにしても構わない。
図71は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。なお、すべての構成要素は図58と同一のため、図58と同一の符号を付し、その説明を省略する。
図72は、本実施形態における最適法線選択部118および法線情報生成部157の処理の流れを示すフローチャートである。
まず、最適法線選択部118は、入出射面S1(第1の偏光画像より取得)と入出射面S2(第2の偏光画像より取得)から、入出射面角φs12を数35によって計算し、これを法線推定信頼度Co_1−2とする(ステップS501)。つぎに、最適法線選択部118は、入出射面S1(第1の偏光画像より取得)と入出射面S3(第3の偏光画像より取得)から、入出射面角φs13を数35によって計算し、これを法線推定信頼度Co_1−3とする(ステップS502)。また、最適法線選択部118は、入出射面S2(第2の偏光画像より取得)と入出射面S3(第3の偏光画像より取得)から、入出射面角φs23を数35によって計算し、これを法線推定信頼度Co_2−3とする(ステップS503)。ここで、最適法線選択部118は、法線推定信頼度Co_1−2、Co_1−3およびCo_2−3の大きさを比較する(ステップS504)。まず、Co_1−2がCo_1−3以上であり、かつ、Co_1−2がCo_2−3以上である場合(ステップS504でYes)、法線情報生成部157は、入出射面S1(第1の偏光画像より取得)と入出射面S2(第2の偏光画像より取得)から、法線方向ベクトルnを推定し(ステップS505)、処理を終了する。また、Co_1−2がCo_1−3より小さい、またはCo_1−2がCo_2−3より小さかった場合(ステップS504でNo)、最適法線選択部118は法線信頼度Co_1−3およびCo_2−3の大きさを比較する(ステップS506)。Co_1−3がCo_2−3以上であった場合(ステップS506でYes)、法線情報生成部157は、入出射面S1(第1の偏光画像より取得)と入出射面S3(第3の偏光画像より取得)から、法線方向ベクトルnを推定し(ステップS507)、処理を終了する。また、Co_2−3がCo_1−3より大きかった場合(ステップS506でNo)、法線情報生成部157は、入出射面S2(第2の偏光画像より取得)と入出射面S3(第3の偏光画像より取得)から、法線方向ベクトルnを推定し(ステップS508)、処理を終了する。
以上の説明は、撮像素子202が3個の場合を説明したが、もちろん4個以上の撮像素子を利用しても構わない。
なお、本実施の形態では、偏光情報取得部103を第1の偏光画像撮像部102と第2の偏光画像撮像部102−2および第3の偏光画像撮像部102−3それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、領域分割部105を第1の偏光情報取得部103と第2の偏光情報取得部103−2および第3の偏光情報取得部103−3それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、法線1自由度推定部106を第1の偏光情報取得部103と第2の偏光情報取得部103−2および第3の偏光情報取得部103−3それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
以上のように、鏡面反射領域と拡散反射領域の領域分割を行ない、被写体の偏光情報を利用することで、被写体の偏光情報を利用して、分割された領域ごとに異なった処理を行なうことにより、広い領域についてパッシブに高精度な法線情報が推定できる。
(第7の実施形態)
次に、本発明の第7の実施の形態における法線情報生成装置を説明する。
図73は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。この法線情報生成装置100において法線情報生成部167は、3つ以上の視点から求まった法線1自由度情報を利用して、法線方向ベクトルを推定する。なお、第6の実施形態における法線情報生成装置100と同一の構成要素には、図71と同一の符号を付し、その説明を省略する。
法線情報生成部167は、法線1自由度推定部106、106−2および106−3で推定された法線1自由度を、ステレオ対応取得部114で取得された画像の対応関係を利用して統合することで、一つの法線方向ベクトルnを推定する。これは、例えば、3つの入出射面S1、S2およびS3の法線方向と推定すべき法線方向ベクトルnのなす角が最大(90度)になるような法線方向ベクトルnを生成すればよい。この処理を説明する。
まず、生成すべき法線方向ベクトルをnとし、これは第1の撮像素子202でのカメラ座標系C1で表現されているとする。また、第2の撮像素子202−2でのカメラ座標系C2における法線方向ベクトルをn_C2、第3の撮像素子202−3でのカメラ座標系C3における法線方向ベクトルをn_C3とする。このとき、各カメラ座標上での法線方向ベクトルは、次式で表される。
ただし、Rc1−c2はカメラ座標系C1からカメラ座標系C2への変換を表す回転行列、Rc1−c3はカメラ座標系C1からカメラ座標系C3への変換を表す回転行列である。ここで、各撮像素子での法線1自由度をφn1、φn2およびφn3とすると、法線方向ベクトルnは、以下の評価関数Ev3を最小化する法線方向ベクトルnとして求められる。
図74は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図74において、図59と共通のステップには図59と同一の符号を付しており、その詳細な説明を省略する。
法線情報生成部157は、入出射面S1(第1の偏光画像より取得)と入出射面S2(第2の偏光画像より取得)および入出射面S3(第3の偏光画像より取得)から、前述の数42を最小化することで、法線方向ベクトルnを推定し(ステップS408)、処理を終了する。
もちろん、法線情報生成部157は、数42を最小化することで、法線方向ベクトルnを推定する際、前述の拘束条件をさらに評価関数Ev3に導入することで、大域的に安定した法線を求めるようにしても構わない。このような拘束条件としては、前述のように、例えば、法線方向ベクトルの連続性、鏡面反射成分と拡散反射成分の空間的な連続性、偏光情報、遮蔽エッジ近傍領域の法線方向ベクトル、法線情報および奥行情報の少なくとも1つの情報を拘束条件など利用すればよい。例えば、法線方向ベクトルの連続性と鏡面反射成分と拡散反射成分の空間的な連続性を拘束条件として利用する場合、法線方向ベクトルnは、以下の評価関数Ev4を最小化する法線方向ベクトルnとして求められる。
ただし、C1およびC2は拘束条件の重み係数である。
以上の説明は、撮像素子202が3個の場合を説明したが、もちろん4個以上の撮像素子を利用しても構わない。
また、数42、数43で示した評価関数を、法線方向ベクトルnを推定するために用いるのではなく、例えば、ステレオ対応取得部114や領域分割部105が利用するようにしても構わない。領域分割部105が参照点を鏡面反射成分または拡散反射成分に分割する場合には、以下の処理を行なえばよい。まず、第1の法線1自由度推定部106、第2の法線1自由度推定部106−2および第3の法線1自由度推定部106−3は、参照点および対応点の法線1自由度候補(φ1nd、φ1ns)、(φ2nd、φ2ns)および(φ3nd、φ3ns)を求める。ここで、φ1nd、φ1nsはそれぞれ、撮像素子202で撮像された第1の偏光画像に対して、拡散反射成分を仮定した場合の法線1自由度候補、鏡面反射成分を仮定した場合の法線1自由度候補である。上記の法線1自由度候補すべての組み合わせ(φ1nd―φ2nd―φ3nd、φ1nd―φ2nd―φ3ns、φ1nd―φ2ns―φ3nd、φ1nd―φ2ns―φ3ns、φ1ns―φ2nd―φ3nd、φ1ns―φ2nd―φ3ns、φ1ns―φ2ns―φ3nd、φ1ns―φ2ns―φ3ns)8通りにおいて、それぞれ数42を最小にする法線方向ベクトル候補とその際の評価関数の値を計算する。領域分割部105、こうして求めた評価関数を最小にする組み合わせを領域分割結果として選択すればよい。もちろん、法線情報生成部157は、評価関数を最小とする組み合わせにおける法線方向ベクトル候補を法線方向ベクトルnとして生成すればよい。
また、例えば、ステレオ対応点取得部114では、複数画像間での対応点を求める際、数42や数43が最小となる対応点を、例えば、エピポーラ線上を探索しながら検出するようにすればよい。
本実施の形態における法線情報生成装置100が搭載されたカメラは、実施形態1にかかるカメラ200(図61)と同じである。よって、詳細な説明は省略する。
なお、本実施の形態では、偏光情報取得部103を第1の偏光画像撮像部102と第2の偏光画像撮像部102−2および第3の偏光画像撮像部102−3それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、領域分割部105を第1の偏光情報取得部103と第2の偏光情報取得部103−2および第3の偏光情報取得部103−3それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、法線1自由度推定部106を第1の偏光情報取得部103と第2の偏光情報取得部103−2および第3の偏光情報取得部103−3それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
以上のように、被写体の偏光情報を利用し、鏡面反射成分と拡散反射成分双方を仮定した法線1自由度候補を最適に統合することで、画素ごとに法線情報が生成されるため、広い領域についてパッシブに高精度な法線情報が推定される。
なお、法線情報生成装置も画像を処理している点において画像処理装置と呼んでもよい。ただし、その画像処理装置は、図1に示す画像処理装置とは異なる機能を有するものであることに留意されたい。
(第8の実施形態)
以下、本発明の第8の実施の形態による視点変換画像生成装置を説明する。
上述したいずれかの実施形態にかかる法線情報生成装置によれば、被写体の法線情報を得ることができる。本実施形態による視点変換画像生成装置は、この法線情報を利用して視点変換された画像(以下「視点変換画像」という。)を生成する。ここで、「視点変換」とは、被写体を撮影した時の視点位置とは異なる視点位置から見た画像を生成する処理をいう。視点変換することにより、同じ被写体を異なる方向から見た画像を得ることができる。
視点変換の実現方法としては、従来多眼カメラを用いて多視点画像を撮像し、それを補間する画像ベースの方法、および、被写体の3次元幾何モデルを取得してそれにテクスチャを貼り付けるモデルベースの方法がある。しかしながら、前者の方法は、高精細化のためには使用するカメラ数が相当数に増えてしまうこと、基本的には補間を用いるためカメラ群が存在しない任意視点からの視点変換が不可能であるという欠点がある。また、後者の方法では、被写体の高品質な3次元モデルの取得が困難という欠点がある。
一方、本発明に係る法線情報生成装置は、ステレオ偏光画像を用いることにより被写体法線を画素ベースで取得できる。このように画素ベースで法線が取得できる利点は、陰影から法線を復元する、いわゆるShapeFromShadingの手法を除けば偏光を用いる手法は唯一の方法であるといってもよく、これを元に形状を復元することにより高精度な3次元モデルを生成し、モデルベースの視点変換を実施することが可能である。
本発明によれば、ステレオ偏光撮影という2眼カメラ系のみの撮像によって、実質的には多眼カメラで撮影したのと同等の多視点画像を生成し、さらに立体視画像を生成することなどが可能となる。その結果、医療内視鏡分野やITS分野、監視分野、さらには3Dムービーやe−commerceなどの分野まで応用範囲が広い技術に応用が可能となる。
図75は、本実施の形態における視点変換画像生成装置700のブロック図を示す。視点変換画像生成装置700は、上述の第1から第7のいずれかの実施形態による法線情報生成装置100を含んでいる。視点変換画像生成装置700は、被写体から法線情報を抽出し、その情報を元にして被写体形状を復元し、さらに視点を変換した画像や光源を変換した画像を合成して提示する。
法線情報生成装置100は、ステレオ偏光画像撮像部101、ステレオ対応取得部104、および、法線情報生成部107を備えており、被写体の法線の情報を取得する。この処理の詳細は既に説明したため省略する。なお、以下の説明では、実施形態2で説明した技術内容によってステレオ視のオクルージョンにより法線が得られない領域を含めて被写体全域の法線の情報が取得されているものとする。
光源情報取得部7501では、撮影環境での光源情報を取得する。光源情報は最も簡単なモデルでは光源ベクトルL(2自由度)を仮定することができ、その取得には鏡面球を使う方法などを使うことができる。この方法は、たとえば、Mark W.Powell, Sudeep Sarker, and Dmity Goldgof:“A Simple Strategy for Calibratng the Geometry of Light Sources"、IEEE Transactin on pattern analysis and machine intelligence,Vol.23, No.9, septermber 2001,pp.1023-1026に記載されている。
光源情報変換部7502は、撮影時の光源ベクトルを自由に変化させ、異なる光源ベクトルを利用して、光源を変動させた画像を合成する。ただし本実施形態では光源変動は主たる機能ではなく、視点変換により光源が相対的に変化する効果を再現するために行うものである。
視線情報取得部7503は、カメラパラメータを使ってカメラの視点ベクトルを取得する。カメラパラメータは、カメラの世界座標での位置と向きという外部パラメータ、および、焦点距離やレンズ中心、レンズ歪などの内部パラメータからなる。これらのパラメータの取得は、ステレオ偏光画像撮像部の校正時に既出のTsaiの手法などを使って実現されている。よって、詳細は省略する。
輝度画像変換部7504は、偏光画像を輝度画像に変換する。偏光画像撮像部が図8のような各画素上に設置された微小偏光板で構成されている場合、偏光軸の回転角(Ψi=0°、45°、90°、135°)の4種類の偏光方向を有する画素から得られる各輝度値は偏光情報を取得するために使われるが、これらを平均した値は偏光情報無しの輝度値となる。輝度画像変換部7504は、この平均処理により輝度画像を生成する。
形状復元部7505は、法線情報生成部107にて得られた被写体の法線情報と、ステレオ対応取得部104にて得られたステレオ対応からの被写体表面上にある離散的な特徴点の3次元座標とを用いて被写体形状を復元する。
法線情報生成装置100が出力するのは、法線画像である。これは、(x,y)の2次元平面に3成分を有するベクトルである法線が分布する画像であり、確かに被写体の3D形状の一部を表現しているため、光源が変化した場合の画像生成には十分である。しかし視点変換を行う場合には被写体形状自身が変化し3D形状が変わるため、法線画像から形状復元を行う必要がある。以下、暗室内で撮影された地球儀の形状を復元する例を挙げて具体的に説明する。
図76は、形状復元部7505の処理を示すフローチャートである。
ステップS7601では、形状復元部7505は、被写体マスク画像を作成する。これは被写体である地球儀の遮蔽エッジを確定し背景との分離を行うものである。任意のシーンにおいて背景と被写体の分離を行うことは困難である。しかしながら、適当なしきい値を設定して画像の輝度で2値化することにより被写体が分離できる。本実施形態では、このようにして得られた画像を被写体マスク画像として採用する。
ステップS7602では、形状復元部7505は、遮蔽エッジから順次勾配を積分して初期表面を生成する。以降、法線の表現には2自由度の勾配(p,q)空間を用いる。
図77は、勾配が法線ベクトルNから平行投影を仮定して得られる様子を示している。カメラ座標系をxyzとすると、xy座標系が画面内に存在するとき、視点はZ方向負向きに位置する。そこで、Nが接ベクトルrx、ryの外積の符号を変えたもので視点に向いているとすれば以下のような関係式として法線から勾配が得られる。
図78を用いて、勾配(p,q)の具体的な積分を説明する。被写体内部はマスク画像で表現されるが、これを遮蔽エッジからの距離変換によって遮蔽エッジから次第に中心部へ向かって数値が大きくなるように順序付けしておく。初期設定としてZをゼロクリアした後、積分該当画素について、距離が多くなる方向を求める(図78(A))。そして、その方向が周囲の斜め方向の場合(図78(B))と周囲の上下左右の方向の場合(図78(B))によって場合分けし、各々の場合に即して勾配(p,q)の順次演算を行う。この結果、地球儀の周囲から順次内側に向かって形状が復元される。この形状は撮像面上の画素座標系である奥行き画像Z(y,x)で表される。
図79は、法線画像(Nx,Ny,Nz)、およびマスク画像を入力して上記積分の結果、奥行き画像として表面が生成される過程を示す図である。このようにして初期表面が生成される。
ステップS7603では初期表面で求められる表面の形状精度は球の形状から程遠いため、再度勾配(p、q)を有する表面として形状を更新する。この方法では以下の積分を大域的に評価して最小化するZを求める。
この変分問題はLangrange−Euler方程式に帰着する(Poisson方程式)。
この式を離散化し、以下の逐次的な処理で最適解を求める。繰り返し処理は130X130画素の法線画像について1000回程度実施する。
ステップS7604(図76)では、形状復元部7505は、ステレオ対応点を制御点として導入する。本発明によれば偏光からの法線情報に加えて、2眼、または3眼ステレオ視によって求められた特徴点(以降「制御点」)の3次元位置情報を用いて被写体表面の形状を制御することができる。
図80は、この様子を示しており、最もZ値が小さい(カメラに近い)制御点を基準点と考え、その画素座標点を対応する奥行き画像に対応させる変換を行うことにより、全制御点を一様に透視投影で上記の焦点面上の奥行き画像に埋め込む。
ステップS7605では、制御点拘束付きの最適化を行う。ここまでの処理で滑らかだが歪んだ表面上に制御点が不連続に埋め込まれている状態となっているため再度、勾配の拘束を使って逐次的に表面を更新する。このような制御点拘束付きの最適化処理としては、Weighted Least Squares (WLS)という方法を用いる。この方法は、論文:Itsik Horovitz and Nahum Kiryati Tel Aviv University:“Depth from Gradient Fields and Control Points:Bias Correction in Photometric Stereo",Image and Vision Computing Vol.22,pp.681-694,2004に記載されている。
この方法では、対象画素から最も近い制御点からの影響を距離の逆数の重み関数として設定し、距離が近い場合には重みを大きく、距離が遠い場合には重みを小さくする。
具体的には
を最小化する。これをZijで微分してゼロとおく最小2乗法を用いると
となる。したがって、以下の式を繰り返し法で解くこととなる。
重み関数の関数形は任意であるが、今回は、
を用いる。ここでRは対象画素から最も近い制御点までの画像上の距離である。
制御点の拘束条件を具体的に実現するため繰り返し毎に、制御点を再度設定しなおしている。これをしないと繰り返しの後で得られる表面はほとんど制御点を反映しないものになってしまう。
ステップS7606(図76)では、形状復元部7505は、「滑らかさ」優先形状復元を行う。この理由は以下のとおりである。ステップS7605までの処理により、形状が復元される。よって、拡散反射成分の視点変換は一応実現できている。しかしながら、表面を詳しく検討すると
・全体的に凹凸が激しい
・特に地球儀中央部の鏡面反射の偏光状態を拡散反射の偏光とみなしている部分の再現が特によくない。
という課題がある。拡散反射成分再現には、このような形状誤差は遮蔽エッジ部分を除きそれほど影響はない。しかし、鏡面反射のモデル化をする場合は極めて高精度で滑らかな曲面が必要であることが分かっているため、この形状誤差は問題となる。これに対し滑らかさ優先で復元した形状を微分し滑らかな法線を得る手法をとり、勾配空間(p,q)を用いた形状復元において、法線の影響を受ける項の重みを係数Wを使って制御することとした。具体的にはW=0.5で生成した表面を用いて、鏡面反射再現には、こちらの形状を用いている。
ステップS7607では、形状復元部7505は、復元された奥行き画像からカメラ座標系の3次元空間内で表現された表面形状に変換する。
図81は、上述の各処理によって形状が順次再現されていく様子を示す。この例は、地球儀の奥行き画像の複数の水平方向のプロファイルを示している。
図81の(1)は法線を周囲から積分することで初期表面を作成した結果である。この結果にはかなりノイズが含まれている。図81の(2)は勾配空間を用いて形状を最適化した結果である。この結果でも、曲線がまだ交差しているなど歪みが存在する。図81の(3)ではステレオ制御点を導入して表面に拘束条件を課している。図81の(4)では(3)で導入されたステレオ制御点を通り、かつ法線からの勾配空間の条件を両立する表面を最適化して表面形状を生成している。やや歪みはあるものの正しい3次元位置に局面が生成されていることが理解される。図81の(5)は滑らかさ優先の条件で生成された表面を示し正確な形状からのずれはある。しかしながら、滑らかさは増加していることがわかる。
DS分離部7506(図75)では、表面輝度を拡散反射成分と鏡面反分に分離する。これは異なる視点から被写体を観察すると、表面の反射輝度のうち、拡散反射成分(ランバート反射)は不変だが、鏡面反射成分は視点に従って移動したり輝度が大きく変化する現象を再現するためである。本発明では、ステレオ視の2視点を使う方法を採用した。この原理は図82に示すとおりであり以下のようになる。
(1)Cam1とCam2という2視点位置から被写体を見た画像8201,8202を取得する。
(2)Cam2画像を視点変換して画像8203を生成する。画像8203は、Cam1の視点位置からみたCam2の画像である(図82では、「Cam2画像@Cam1視点」と記載している。
(3)8201と8203の同じ撮像画素座標どうしを比較して、輝度が小さいほうを拡散反射成分として拡散反射成分画像8204を生成する。
視点変換部7506では、カメラパラメータを用いてCam1またはCam2の拡散反射画像の成分のみを自在視点変換する。この処理は3D形状データ構造を前提としている。以下ではまず3D形状データ構造を説明する。
図83は、形状復元部7505にて復元された被写体3D形状データ構造を示す。形状復元部7505は、3D形状データ構造を、画素ベースの3D位置座標(カメラ座標系)のデータ形式に作り変えて記憶する。具体的にはカメラ1において撮像座標系(X,Y)の2D画素座標系に対して3D位置座標(Xc1,Yc1,Zc1)がテキスト形式にて格納される。この構造はカメラ視点から見える部分のみしかモデル化できない。しかしながら、最もシンプルな形での視点変換を実現できる。
被写体以外の背景部分には3D位置座標(−1,−1,−1)が埋め込まれる。
図84は、この3D形状データ構造とカメラパラメータを用いて、視点変換を行う処理を説明するフローチャートである。なお、このフローチャートでは、視点変換を行う対象であるCam1画像が、拡散反射画像の場合と法線画像の場合の両方の説明をしていることに注意されたい。これは、図75における視点変換部7507に、拡散反射画像と法線画像の2種の画像が入力されている構成に示されている。
まず、ステップS8401では、視点変換部7507は、Cam1画像とCam1座標系での3D形状データを取得する。
ステップS8402では、視点変換部7507は、上記の3D形状データに格納されている3D位置座標をCam1座標系から世界座標系(Xw,Yw,Zw)に変換する。この変換はカメラパラメータを用いることで可能となる。
ステップS8403では、視点変換部7507は、求めるべき新視点の画像上の画素位置(Inew,Jnew)を取得して実際の処理を開始する。
ステップS8404では、視点変換部7507は、同じくカメラパラメータを用いて画素位置(Inew,Jnew)に相当するカメラの視線と世界座標系の3D形状データとの最も近い点(X’w,Y’w,Z’w)を探索処理する。
ステップS8405では、視点変換部7507は、求めた世界座標系に対応する元のCam1画像の画素値を求める。ステップS8406では、視点変換部7507は、Cam1画像が拡散反射画像であるか法線画像であるかを判定する。画像が拡散反射画像であると判定されたときは、処理はステップS8407に進む。画像が法線画像であると判定されたときは処理はステップS8408に進む。
ステップS8407では、視点変換部7507は、Cam1画素値である(RGB)値をそのまま新視点の画像の画素位置(Inew,Jnew)に格納する。これは拡散反射画像では、視点変換ではその輝度値が不変であるという性質によるものであり、ここでカラー画像でない場合にはモノクロ画素値を格納することになる。その後、処理はステップS8409に進む。
ステップS8408では、視点変換部7507は、カメラパラメータを用いて法線ベクトル成分を新視点へ座標系変換して同様に画素位置(Inew,Jnew)に格納して新視点での法線画像を生成する。その後、処理はステップS8409に進む。
ステップS8409では、すべての画素が生成されたかどうかを調べる。すべての画素が生成されていない場合には、ステップS8403に戻って処理を繰り返す。
図85は、図84のフローチャートにしたがって行われた処理の結果を示す。この図では、Cam1画像からCamNの新視点画像が生成される処理の様子が対応付けて示されている。対応関係8501は、Cam1画像の座標(I1,J1)と新視点画像であるCamN画像の座標(Inew,Jnew)との画像面上での関係を説明している。対応関係8502は、Cam1画像が拡散反射画像の場合において、上記の2つの画素位置において(RGB)のカラー画素値がそのまま格納されることを示している。対応関係8503は、Cam1画像が法線画像の場合において、2つの画素位置でその画素値である法線ベクトルの成分(N1x、N1y,N1z)が座標変換されて(Nnewx,Nnewy,Nnewz)となって格納されることを示している。
鏡面反射画像生成部7508(図75)では、拡散反射画像の視点変換画像同様に視点変換された鏡面反射画像を物理的に生成して合成する。ここまでの処理によると、既に被写体から実際の鏡面反射成分を除去した拡散反射画像に対して視点変換が実施できている。本処理は、ここに光源、視点、被写体法線の幾何的関係と表面反射特性を用いる物理反射モデルを使って鏡面反射を再現することを目的として行われる。この処理は、本手法のようなモデルベースの視点変換独自機能といえる。
鏡面反射に視点変換を実施するためには、まず新視点のカメラ座標系において法線画像と光源ベクトルを得る必要がある。法線画像についてはすでに視点変換部7507において処理が行われている。よって、鏡面反射画像生成部7508は、あとは光源ベクトルをカメラパラメータを用いて座標変換すればよい。
次に、鏡面反射画像生成部7508は、物理反射モデルを利用して法線ベクトル、視線ベクトル、光源ベクトルと表面反射特性から反射輝度値を求めていく。
利用したモデルは以下の式で表現されるクック−トランスモデルである。これは法線ベクトルN、視点ベクトルV、ハーフベクトルと法線のなす角αを用いると以下のように分布関数Dがベックマン関数で表現される。このモデルにはトランス−スパローモデルなど別の鏡面反射モデルを使ってもかまわない。
図86は、この幾何学的関係を示す。図86は、光源ベクトルLと視線ベクトルVとの2等分ベクトルであるHと、法線ベクトルNとの間の角度αを説明している。このα=0となる角度にて式53のDが最大値をとり、輝度が最大となる。表面の反射特性を表現するのは、粗さ係数mと輝度重み係数Kであるが、これらは実際に撮影する場合に被写体から取得してもよいし、以前の実験で同じ被写体(地球儀)について最適化されたパラメータを使ってもよい。ここでは以前の実験で同じ被写体について求めておいた値(m=0.083, k=6415.795)を用いる。なお、このパラメータは、反射パラメータデータベース7509に格納されているものとする。
最後に、DS合成部7510は、以上の処理で生成された視点変換された拡散反射画像と、おなじく視点変換された鏡面反射画像とを加算して視点変換画像を完成する。
2D/3D提示部7511は、たとえば、生成された自在視点変換画像を表示するディスプレイである。ディスプレイは、2D(平面)ディスプレイであってもよいし、3D(立体)ディスプレイの場合がある。
2Dディスプレイの場合には、ユーザがジョイステックや視点入力装置などの既知のインタフェースにて視点位置を指示すると、2D/3D提示部7511は、その視点位置に即した2D画像を表示を行う。
3D(立体)ディスプレイは、眼鏡有り立体視の固定視点ディスプレイおよび裸眼の多視点立体ディスプレイの両方を含んでいる。前者の場合には、2Dディスプレイの場合と同じインタフェースにて自在に視点が変わった立体画像を観察できる。後者の場合には、観察者は自在に視点を動かして立体像を観察できる。そこで、観察者がある視点で見た場合、その左右眼の2枚の視点画像を合成してその方向に提示することにより自在視点での立体視が可能になる。
図87は、視点変換画像の表示例を示す。画像8701、8702はそれぞれ、偏光撮像された左右の入力画像を示す。画像8703、8704、8705は、左の入力画像8701を用いて任意視点へ合成された画像を示しており、それぞれ、入力画像の中間視点画像、左45度への視点移動画像、右45度への視点移動画像を示す。観察者の視点移動に伴って鏡面反射部分の位置が変わって再現されており、リアリティが向上する利点が得られていることがわかる。
図88は、2Dディスプレイの場合の実カメラ視点と合成された仮想的な視点の幾何学的関係を示す。実カメラの配置で撮影された左画像と右画像の入力画像に対して、その左画像から、3点の仮想視点8801、8802、8803での画像が生成されており、それらが図87の画像に対応している。
図89は、同じ視点変換が3Dディスプレイで提示される場合の視点の幾何学的関係を示す。各仮想視点8801、8802、8803にて観察者の左眼と右眼に相当する2種類の仮想視点画像の対がさらに生成される。これらの画像は、既存の多視点3D(立体)ディスプレイに表示することができる。これによって観察者は自在に視線を動かしながら、多視点から被写体の立体像を観察できる。
添付の図面を参照しながら、本発明による法線情報生成装置および法線情報生成装置を備えた画像処理装置の実施形態を説明する。
以下に説明する各実施形態は、主として本発明による法線情報生成装置に関している。各実施形態の説明に先立って、まず法線情報生成装置を備えた画像処理装置の構成および動作を説明する。
図1は、本発明による画像処理装置500の構成を示す。画像処理装置500は、法線情報生成装置501と、画像撮像部502と、DB503と、画像処理部504と、提示部505とを備えている。
法線情報生成装置501は、後述の第1から第7の実施形態のいずれかにかかる法線情報生成装置である。法線情報生成装置501は、被写体の表面における法線情報を生成して出力する。この情報は、法線情報生成装置501によって推定された、画像内の法線方向ベクトルを示している。本明細書においては、法線情報生成装置501が法線情報(法線方向ベクトル)を生成することを「法線情報(法線方向ベクトル)を推定する」ということがある。
なお、法線情報生成装置501は1つの筐体に収められていてもよいし、または、画像撮像部502、DB503および画像処理部504とともに1つの筐体に収められていてもよい。前者の場合は、後述する画像撮像部502(カメラ)、提示部505(ディスプレイ)等の他の構成要素とともに、1つの画像処理システムとして実現されてもよい。
画像撮像部502は、たとえばカメラであり、被写体を撮像する。後述する各実施形態による各法線情報生成装置は画像撮像部を有しているため、当該画像撮像部を利用することにより、法線情報生成装置とは別に画像撮像部502を設ける必要はなく、省略してもよい。
DB503は、被写体情報等を保持している。提示部505は、たとえばディスプレイであり、画像処理部504で作成された画像をユーザに提示する。
画像処理部504は、画像撮像部502によって撮像された画像情報と、法線情報生成装置501によって推定された法線方向ベクトル情報と、前記DB503に保持されている被写体情報とを利用して、画像処理を行なう。
例えば、画像処理部504は、モデルベースの画像合成と呼ばれている手法を利用して画像処理を行なっても構わない。この手法は、被写体の法線情報やテクスチャ情報を取得し、さらに、光源情報、カメラ情報などを利用することで、自由な視点位置の画像や、任意の光源環境の画像を合成するものである。そのため、デジタルアーカイブや拡張現実の分野において、インタラクティブな画像提示方法として利用されている(例えば、Y. Sato, M. D. Wheeler, and K. Ikeuchi, "Object shape and reflectance modeling from observation", SIGGRAPH 97, pp.379-387, 1997)。法線情報生成装置501として、本実施形態の法線情報生成装置を利用することで、高精度なモデルベースの画像合成が可能である。
または、画像処理部504は、モデルベースの画像の高解像度化処理を行なっても構わない。学習を利用した画像処理において、学習時と画像合成時の視点位置や光源環境の変化が大きな問題とされていた。しかし、モデルベースの手法を導入することで、この問題を解決し、高精度な高解像度化処理が可能である。このような画像処理装置500は、例えば、特許第4082714号公報などを利用すればよい。
または、画像処理部504は、FA(ファクトリー・オートメーション)などで広く利用されている、被写体の表面検査などに利用される画像処理を行なっても構わない。これは、理想的な表面法線方向と実際の表面法線方向を比較することで、被写体表面の傷などを検出する技術である。
図2は、画像処理装置500が3次元形状情報を取得する手法を比較した図である。法線情報生成装置501は、3次元形状情報を構成する情報のうちの法線情報をパッシブに生成する。従来の偏光法等はアクティブに法線情報を求めるものであり、パッシブに生成する本発明とは相違する。3次元形状情報を構成する奥行情報については、本発明の対象ではないため、説明は省略する。
図3は、画像処理装置500による処理の流れを示すフローチャートである。各ステップS601〜S605を囲む破線に対して付された参照符号501〜505は、上述の画像処理装置500の構成要素の参照符号に対応しており、各構成要素が実行する処理であることを示している。
まず、画像撮像部502は、被写体表面の撮像を行なう(ステップS601)。法線情報生成装置501は、各実施形態に関連して後述されるいずれかの手法を利用することで、被写体表面の法線方向ベクトルneを推定する(ステップS602)。
画像処理部504は、DB503に保持されている、被写体表面の理想法線方向ベクトルniを取得する(ステップS603)。被写体表面の理想法線方向ベクトルniは、例えば、被写体のCAD情報から作成した、形状情報として実現すればよい。ここで、ステップS601、ステップS602、ステップS603の順序は任意であり、順次実行してもよいし、もちろん、並列的に実行しても構わない。
画像処理部504は、法線情報生成装置501によって推定された被写体表面の法線方向ベクトルneと、DB503に保持されていた被写体表面の理想法線方向ベクトルniを比較することで、異常法線を検出する(ステップS604)。
この処理を具体的に説明すると、まず画像処理部504は、画像撮像部502で撮像された画像情報を利用して、理想法線方向ベクトルniの形状情報の位置合わせを行なう。その後、画像処理部504は、法線方向ベクトルneと理想法線方向ベクトルniの差分を検出し、差分値が大きい法線方向ベクトルneを異常法線として検出する。画像情報を利用した形状情報の位置合わせは、公知の技術を利用すればよい。
提示部505は、画像撮像部502で撮像された被写体の画像に対し、画像処理部504によって検出された異常法線に対応する画素を強調し、ユーザに提示する(ステップS605)。このような画素の強調は、例えば、異常法線に対応する画素を赤い色で表示するなどの処理を行なえばよい。
なお、法線情報を利用して異常法線を検出する上述の処理は一例である。得られた法線情報を被写体の画像情報とともに利用することにより、画像生成に利用される各種物理特性に関係する情報量の付与を行なうことも可能である。これにより、被写体の画像情報のみを利用して表示されたコンピュータグラフィックスよりも高品質なコンピュータグラフィックスを提供することが可能になる。
以下、法線情報生成装置の各実施形態を説明する。
(第1の実施形態)
まず、本発明の第1の実施の形態による法線情報生成装置の概要を説明する。
図4は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。この法線情報生成装置100は、被写体を撮像することによって被写体の表面における法線情報を生成する。
法線情報生成装置100は、ステレオ偏光画像撮像部101を構成する偏光画像撮像部102および102−2、偏光情報取得部103および103−2、ステレオ対応取得部104、領域分割部105および105−2、法線1自由度推定部106および106−2、法線情報生成部107および出力部120を備えている。
このうち、第2の偏光画像撮像部102−2、第2の偏光情報取得部103−2、第2の領域分割部105−2、第2の法線1自由度推定部106−2の処理は、第1の偏光画像撮像部102、第1の偏光情報取得部103、第1の領域分割部105、第1の法線1自由度推定部106の処理と同等である。よって、以下の説明において、多くの場合、簡略化のために後者のみを用いて説明する。
ステレオ偏光画像撮像部101は複数の偏光画像撮像部102からなり、視点の異なる複数の偏光画像を取得する。
偏光画像撮像部102は、偏光主軸角度が異なる複数の偏光子を透過してくる光を受けることで、被写体の偏光画像を取得する。
偏光情報取得部103は、偏光画像撮像部102によって取得された偏光画像から、当該偏光画像を構成する画像領域のそれぞれについて、複数の偏光子の偏光主軸角度と複数の偏光子を透過した光の輝度との対応関係を用いて、受光した偏光に関する情報である偏光情報を生成する。
ステレオ対応取得部104は、ステレオ偏光画像撮像部101が取得した複数の偏光画像において画素ごとの対応関係を推定する。
領域分割部105は、ステレオ偏光画像の輝度情報および偏光情報取得部103で生成されたステレオ偏光画像における偏光情報の少なくとも一方の情報における類似性(共通性)を利用して、偏光画像を、光学的に共通する領域ごとに分割する。具体的には、領域分割部105は、画像の輝度や偏光情報を利用して、当該画像領域を鏡面反射領域または拡散反射領域として領域分割を行なう。
法線1自由度推定部106は、偏光情報取得部103で生成された偏光情報を用いて、領域分割部105で分割された領域ごとに異なった処理を行なうことで、対応する被写体の表面での法線1自由度を推定する。
法線情報生成部107は、法線1自由度推定部106、106−2で推定された複数の法線1自由度を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することで、法線方向ベクトルを生成する。
出力部120は、法線情報を出力する出力端子である。または、出力部120は、後述の図11等に示される画像等とともに法線情報に基づく法線の画像を出力するディスプレイであってもよい。後者の場合には、出力部120は提示部505(図1)に対応する。
図5は、本実施の形態における法線情報生成装置100が搭載されたカメラ200のハードウェア構成例を示している。図6は、図5に示されたパターン偏光子201と撮像素子202との関係を示した模式図である。このカメラ200は、法線情報を生成する機能を備える撮像装置であり、複数のパターン偏光子201および201−2、複数の撮像素子202および202−2、メモリ203およびCPU204を備える。
パターン偏光子201、201−2は、図6に示されるように、偏光主軸角度Ψi=0°、45°、90°、135°の4種類の偏光子を1組として2次元状に配置された偏光子の集まりである。図6において、パターン偏光子201、撮像素子202のみを示したが、これはパターン偏光子201−2、撮像素子202−2の場合も同様である。そのため、以下の説明では簡略化のためにパターン偏光子201、撮像素子202のみに関して詳述する。
撮像素子202は、図6に示されるように、パターン偏光子201を構成する個々の偏光子を透過した光を受ける2次元状に配置された画素(受光素子)の集まりである。パターン偏光子201は、撮像素子202の撮像面に平行に設置されることが望ましい。なお、パターン偏光子201における4個(4種類)の偏光子と、撮像素子202における対応する4個の画素とから、撮像単位205が構成される。この撮像単位205によって得られる画像は、偏光情報取得部103、領域分割部105、法線1自由度推定部106、ステレオ対応取得部104および法線情報生成部107における各処理の単位(「単位画像」)である。つまり、法線情報生成装置100は、撮像単位205によって得られる単位画像(以下、「画素」ともいう。)ごとに、偏光情報の生成、領域分割および法線情報の生成を行なう。
メモリ203は、CPU204の作業領域としてのRAMおよびプログラム等が格納されたROMを含む。
CPU204は、メモリ203に格納されたプログラムを実行し、メモリ203にアクセスしたり、撮像素子202および202−2を制御するプロセッサである。
なお、図4に示された偏光画像撮像部102は、図5に示されたパターン偏光子201および撮像素子202によって実現される。同様に、図4に示された偏光画像撮像部102−2は、図5に示されたパターン偏光子201−2および撮像素子202−2によって実現される。
図4に示された偏光情報取得部103および103−2、ステレオ対応取得部104、領域分割部105および105−2、法線1自由度推定部106および106−2および法線情報生成部107は、図5に示されたCPU204がメモリ203に格納されたプログラムを実行することによって実現される。
たとえば、添付の図面のうちのフローチャートを用いて説明する制御処理はコンピュータに実行されるプログラムによって実現され得る。そのようなコンピュータプログラムは、CD−ROM等の記録媒体に記録されて製品として市場に流通され、または、インターネット等の電気通信回線を通じて伝送される。法線情報生成装置、および、画像処理装置を構成する全部または一部の構成要素は、コンピュータプログラムを実行する汎用のプロセッサ(半導体回路)として実現される。または、そのようなコンピュータプログラムとプロセッサとが一体化された専用プロセッサとして実現される。
また、メモリ203は、偏光画像撮像部102および102−2で取得された偏光画像、偏光情報取得部103および103−2で生成された偏光情報、ステレオ対応取得部104で取得されたステレオ画像対応情報、領域分割部105および105−2で分割された領域分割情報、法線1自由度推定部106および106−2で推定された法線1自由度情報、法線情報生成部107で生成された法線情報、および、一時的に発生する各種パラメータ等を格納する作業領域としても使用される。
図7は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。
まず、第1の偏光画像撮像部102は、第1のパターン偏光子201を通して被写体からの光を撮像素子で受けることで被写体を撮像し、偏光情報を含んだ画像である第1の偏光画像を取得する(ステップS101)。第1の偏光情報取得部103は、第1の偏光画像撮像部102が撮像した第1の偏光画像輝度変化を利用して、第1の偏光情報を生成(取得)する(ステップS102)。次に、第2の偏光画像撮像部102−2は、第2のパターン偏光子201−2を通して被写体からの光を撮像素子で受けることで、偏光情報を含んだ画像である第2の偏光画像を取得する(ステップS103)。第2の偏光情報取得部103−2は、第2の偏光画像撮像部102−2が撮像した第2の偏光画像の輝度変化を利用して、第2の偏光情報を生成(取得)する(ステップS104)。
ここで、ステップS101〜ステップS102と、ステップS103〜ステップS104の順序は任意であり、並列的に実行してもよい。もちろん、順次実行しても構わない。
ステレオ対応取得部104は、ステレオ偏光画像撮像部101が取得した第1の偏光画像、第2の偏光画像において画素ごとの対応関係を推定する(ステップS105)。第1の領域分割部105および第2の領域分割部105−2は、第1の偏光情報取得部103および第2の偏光情報取得部103−2が生成した第1の偏光情報および第2の偏光情報、および/または、第1の偏光画像撮像部102および第2の偏光画像撮像部102−2が取得した第1の輝度情報および第2の輝度情報を利用し、第1の偏光画像および第2の偏光画像を拡散反射成分領域および鏡面反射成分領域に領域分割する(ステップS106)。
第1の法線1自由度推定部106は、偏光情報取得部103で生成された偏光情報を用いて、第1の領域分割部105で分割された領域ごとに異なった処理を行なうことにより、対応する被写体の表面での法線1自由度を推定する(ステップS107)。第2の法線1自由度推定部106−2は、偏光情報取得部103−2で生成された偏光情報を用いて、第2の領域分割部105−2で分割された領域ごとに異なった処理を行なうことにより、対応する被写体の表面での法線1自由度を推定する(ステップS108)。ここで、ステップS107と、ステップS108の順序は任意であり、並列的に実行してもよいし、もちろん、順次実行しても構わない。法線情報生成部107は、法線1自由度推定部106、106−2で推定された法線1自由度を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することで、法線方向ベクトルを推定する(ステップS109)。
次に、本実施の形態における法線情報生成装置100の各構成要素の詳細な機能を説明する。
ステレオ偏光画像撮像部101は複数の偏光画像撮像部102からなり、視点の異なる複数の偏光画像を取得する。また、第1の撮像素子202と第2の撮像素子202−2はキャリブレーション処理が行なわれており、その内部パラメータや外部パラメータは既知である。このようなキャリブレーションは、例えば、Tsaiの手法(Roger Y.Tsai,"An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision", Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, Miami Beach,FL,1986, pp.364-374)など、既存の手法を利用すればよい。
もちろん、このようなキャリブレーションは、パターン偏光子やレンズなどを含んだ状態で行なわれている。
次に、偏光画像撮像部102および102−2の詳細な機能を説明する。偏光画像撮像部102は、被写体からの光をパターン偏光子201を通して撮像素子202で受光することで、偏光情報を含んだ偏光画像を取得する。図8は、図6に示された撮像単位205を入射光方向から眺めた模式図である。本図において、各偏光子(各画素)内の直線は、各画素上に設置された微小偏光板の偏光主軸方向を示している。すなわち、この撮像単位205は、偏光軸の回転角(Ψi=0°、45°、90°、135°)の4種類の偏光方向を有する画素を持つ。パターン偏光子は、TM波が透過、TE波が反射(透過せず)という偏光特性を示す。そのため、撮像素子前方に偏光子を配置し、その偏光子を回転させながら撮像した、特許文献1と同様の画像を取得することができる。
このような特性は、例えば、『川嶋、佐藤、川上、長嶋、太田、青木、"パターン化偏光子を用いた偏光イメージングデバイスと利用技術の開発"、電子情報通信学会2006年総合全国大会、No.D−11−52、P52、2006』に記載されたフォトニック結晶を用いて作成することができる。フォトニック結晶の場合、表面に形成された溝に平行な振動面を持つ光がTE波、垂直な振動面を持つ光がTM波となる。
この偏光画像の撮像に際しては、輝度のダイナミックレンジとビット数は、なるべく大きいこと(例えば16ビット)が望ましい。
次に、偏光情報取得部103および103−2の詳細な機能を説明する。偏光情報取得部103は、偏光画像撮像部102が取得した偏光画像を利用して、偏光情報を生成する。
偏光子を透過した光の輝度は、偏光子の偏光主軸角によって変化することが知られている。図9は、異なる偏光主軸角度Ψi=0°、45°、90°、135°の4種類の偏光子を透過した光の輝度401〜404が1本の正弦関数カーブを形成する様子を示す。つまり、この正弦関数カーブは、図8の点206における偏光特性を示している。なお、偏光主軸角度の0°と180°(π)は同一である。また、この正弦関数カーブを求める際、撮影ガンマ=1となるカメラを用いるか、リニアリティ補正により撮影ガンマ=1となるように補正することが望ましい。この4点は、1本の正弦関数カーブ上にちょうど乗るように描かれているが、実際には、多数の観測点から180度周期の正弦関数が最適値として1本決定されるのが好ましい。
この偏光情報取得部103は、偏光情報として、このカーブの振幅と位相情報を生成する。具体的には、パターン偏光子201の主軸角Φに対する反射光輝度Iを以下のように近似する。
ここで図9に示すように、数1におけるA、B、Cは定数であり、それぞれ、偏光子による輝度の変動カーブの振幅、位相、平均値を表現している。ところで、数1は以下のように展開できる。
ただし、
つまり、4画素のサンプル(Φ
i I
i)において、以下の数5を最小にするA、B、Cを求めれば正弦関数数1の近似ができる。ただし、I
iは、偏光板回転角Φ
i時の観測輝度を示している。またNはサンプル数であり、ここでは、4である。
以上の処理により、正弦関数近似のA、B、Cの3パラメータが確定する。こうして求めたパラメータを利用して、偏光情報取得部103は、偏光情報として、以下の少なくとも1つの情報を取得する。
偏光度ρ
偏光位相φmax(0≦φmax≦π[rad])
偏光推定誤差E
偏光最大輝度値Imax
偏光最小輝度値Imin
上述の各用語の定義は以下の通りである。
・偏光度ρ:光がどれだけ偏光しているかを表す指標;
・偏光位相φmax:偏光主軸角度に依存して変化する輝度が最大となる角度;
・偏光推定誤差E:4画素のサンプルについて観測された輝度と近似によって得られた上述の正弦関数から定まる輝度との差の合計;
・偏光最大輝度値Imax:パターン偏光子の主軸角Φを変化させた際にとりうる最大輝度値;
・偏光最小輝度値Imin:パターン偏光子の主軸角Φを変化させた際にとりうる最小輝度値。非偏光成分。
以下、上述の偏光情報に基づいて法線情報生成装置100が生成した画像例を説明する。画像例では、球体である地球儀を被写体としている。図10は、本願発明者らによる撮影時のカメラ200と被写体との位置関係、および、カメラ200内のパターン偏光子201および201−2との位置関係を示している。カメラ200から被写体までは160cmであり、パターン偏光子201および201−2の間隔、または、撮像素子202および202−2の間隔は50cmで ある。
図11は、球体である地球儀に対して、第1の偏光画像から求めた、偏光度ρ1、偏光位相φmax1および偏光推定誤差E1を画像として表示した図である。この図において、図11(a)は被写体である地球儀の画像、図11(b)は図11(a)の被写体に対する偏光度ρ1、図11(c)は図11(a)の被写体に対する偏光位相φmax1(0°が黒、180°が白)、図11(d)は図11(a)の被写体に対する偏光推定誤差E1を示している。
また、図12(a)〜(d)は、図11(a)〜(d)の各々を模式的に示した図(濃淡を明瞭化した図)である。図13(a)〜(d)は、図11(a)〜(d)に示す画像と、図12(a)〜(d)に示す各領域(たとえば(a)においては領域A01とB01)との対応関係を示している。図11(a)〜(d)および図13(a)〜(d)においては、領域の色が白いほど輝度値が大きい。また、図14は、同様の処理を発泡スチロール製の頭部模型に対して行なった結果を示している。
これらの画像によれば、遮蔽エッジ付近で偏光度が大きいこと、被写体の影に覆われていない領域では偏光位相が180°周期で球体の周囲を時計回りに単調増加していることがわかる。この偏光位相は、回転させて変化する輝度の最大値となる角度であり、被写体が拡散反射であった場合の出射面の情報である。
次に、ステレオ対応取得部104を説明する。ステレオ対応取得部104は、ステレオ偏光画像撮像部101が取得した複数の偏光画像において画素ごとの対応関係を特定する。ただし「特定する」という意味は確定的に定めることを意味するのではなく、一応確からしいという意味において定めることを意味する。したがって、対応関係を「推定する」と言うこともできる。これは、例えば、輝度情報を利用した画像処理により検出することができる。この「特定する」という語と「推定する」という語の関係については、ステレオ対応取得部104のみならず、法線1自由度推定部106、106−2等についても同様である。
図15は、本実施の形態におけるステレオ対応取得部104による処理の流れを示すフローチャートである。このフローチャートは、ステップS105に相当する。まず、複数画像において、特徴点の抽出を行なう(ステップS201)。求まった特徴点を利用して、複数画像間の対応付けを行なう(ステップS202)。しかし、このままでは特徴点が検出された、画像上の疎な画素のみしか対応付けがなされない。そこで、ステップS202で対応付けされた特徴点間の補間処理を行なうことにより、画像全体での密な対応付けを行なう(ステップS203)。以下、それぞれの処理を詳述する。
ステップS201において、複数画像において、特徴点の抽出を行なう。この処理は、複数画像間の画素の対応付けを行なうために、特徴点と呼ばれる「対応付けしやすい点」を検出し、その特徴点の特徴と最もよく一致した点を複数画像間で探索することにより、複数画像間の画素の対応付けを行なうものである。
特徴点検出法としては、HarrisオペレーターやKLT(Kanade−Lucas−Tomasi) Feature Trackerなどさまざまな方法が知られているが、ここではSIFT(Scale−Invariant Feature Transform)オペレーターを利用する(David G. Lowe, "Distinctive image features from scale-invariant keypoints," International Journal of Computer Vision, Vol.60, No.2, pp.91-110, 2004参照)。
SIFTはスケールおよび回転に対して不変の特徴量として知られている。その処理は、Difference−of−Gaussian処理を利用してスケール不変のキーポイントを抽出し、さらに画像の勾配方向ヒストグラムからオリエンテーションを算出し、オリエンテーションで正規化した特徴量を抽出するものである(詳しくは、藤吉弘亘,"Gradientベースの特徴抽出 − SIFTとHOG − ",情報処理学会 研究報告 CVIM 160, pp.211-224, 2007参照)。ここでは、偏光画像撮像部102と102−2で撮像された第1の偏光画像と第2の偏光画像のそれぞれにおいて、キーポイントを抽出し、オリエンテーションで正規化した特徴量を抽出する。
ステップS202において、第1の偏光画像と第2の偏光画像において、ステップS201で求めた特徴点の対応付けを行なう。これは、ステップS201で求めたキーポイントごとに、特徴量のユークリッド距離が最小となるキーポイントを別の画像から検出することで実現する。こうして対応付けられたキーポイントが対応点となる。もちろん、対応付けを行なう際、ステレオ画像の対応付けで広く用いられている、エピポーラ拘束を利用しても構わない。
ステップS203において、ステップS202で対応付けされた特徴点間の補間処理を行なうことにより、画像全体での密な対応付けを行なう。この処理を説明する。まず、対応付けられた特徴点および対応点を利用し、第1の偏光画像と第2の偏光画像に対して、ドロネー三角形分割を行なう。こうして分割された三角形ごとに、対応点の補間処理を行なう。
図16はこの処理を説明するための模式図である。図16(a)において、点P0、P1、P2はSIFTにより検出された第1の画像での特徴点の画像上での座標値によって特定される点であり、また、ドロネー三角形分割により分割された三角形の3頂点である。また、図16(b)において、点P'0、P'1、P'2はそれぞれ特徴点P0、P1、P2に対応した第2の画像での対応点である。ここで、第1の偏光画像における三角形P0―P1―P2内の点Pxにおける対応点を補間処理により求める。まず、以下の関係を満たす変数a,bを求める。
ただし、変数0≦a≦1,0≦b≦1である。このとき、Pxにおける対応点P'xは、次式で表される。
この処理を、必要なすべての画素に対して行なう。上述の数11および数12によれば、図16(a)および(b)に示す三角形の辺上の点を補間することができる。そしてさらに、補間された1点と当該三角形の2つの頂点、補間された2点と当該三角形の1つの頂点、または、補間された3点によって形成される各三角形に対して、上記数11および数12を適用すれば、補間により、当該三角形の内部の全ての点を求めることができる。そしてドロネー三角形分割により分割された全ての三角形に対して同様の処理を行うと、第1の画像および第2の画像の全ての点を補間により求めることができる。この結果、第1の画像と第2の画像の間で、画像全体での密な対応付けを行なうことができる。なお、ステップS203において、補間処理は画像上での座標を利用して行なったが、対応点から求めた3次元座標上で処理を行なうようにしても構わない。
以上の処理は、偏光画像を利用して対応付けを行なったが、もちろん、偏光情報取得部103および103−2で取得した、偏光最大輝度値Imaxや偏光最小輝度値Imin、または偏光最大輝度値Imaxと偏光最小輝度値Iminの平均値や重み付け和(例えば、Imax+2・IminやImax+Imin)などを利用するようにしても構わない。特に、偏光最小輝度値Iminを利用した場合、視点移動による影響が大きい鏡面反射成分の影響を小さくすることができるため、非常に有効である。また、Imax+Iminは、偏光子を設置しなかった場合に撮像される画像と等価の画像である。そのため、この値を利用して画像処理を行なうことで、通常の偏光を利用しない場合と同様の処理を行なうことができる。もちろん、ステレオ対応点取得部104は、特徴点を利用するのではなく、画像処理のステレオ対応点取得処理において広く利用されている、ブロックマッチング法や、勾配法を利用するようにしてもかまわない。
次に、領域分割部105の詳細な機能を説明する。領域分割部105は、偏光情報取得部103が生成した偏光情報および/または偏光画像撮像部102が取得した輝度情報を利用し、画像を拡散反射領域、鏡面反射領域に領域分割する。
ここで、拡散反射と鏡面反射を説明する。被写体表面の反射特性は、「てかり」である鏡面反射成分と、マットな反射成分である拡散反射成分との和として表現されることが知られている。拡散反射成分は、被写体を照射する光源がいずれの方向に存在しても観測されるが、鏡面反射成分は、被写体の法線方向と視線方向に対し、ほぼ正反射方向に光源が存在する場合にのみ観測される方向依存性の強い成分である。これは、偏光特性に関しても成り立つ。
図17および図18は、それぞれ、被写体の屈折率n=1.1、1.3、1.5、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」参照)。図17の横軸は入射角、縦軸は鏡面反射成分の偏光度を示している。また、図18の横軸は出射角、縦軸は拡散反射成分の偏光度を示している。これらの図によれば、鏡面反射成分の偏光度は出射角に依存しないが、拡散反射成分の偏光度は出射角に依存することが理解される。よって、カメラを移動させて出射角を変化させた場合、鏡面反射成分では偏光度は変わらないが、拡散反射成分では偏光度が変化することがわかる。
また、拡散反射成分の輝度値Idは、以下のLambertianモデルに従うことが知られている。
ただし、ρdは参照点の拡散反射率(アルベド)、nは参照点の法線方向ベクトル、Ipは点光源強度、Lは光源の方向ベクトル、θは入射角(法線方向ベクトルと光源方向ベクトルのなす角)を表す。ベクトルの長さは1に正規化されている。
この式から、カメラを移動させることで出射角を変更した場合、拡散反射成分では輝度値が変化しないことがわかる。
一方、鏡面反射成分の輝度値Isは、以下の数14〜数22に示したCook−Torranceモデルに従うことが知られている。
ここで、Eiは入射照度、ρs,λは波長λにおける鏡面反射成分の双方向反射率、nは被写体の法線方向ベクトル、Vは視線ベクトル、Lは光源方向ベクトル、Hは視線ベクトルと照明方向ベクトルの中間ベクトル、βは中間ベクトルHと法線方向ベクトルnの角度を表す(図19参照)。また、Fλはフレネル方程式から求められる誘電体表面からの反射光の比であるフレネル係数、Dはマイクロファセット分布関数、Gは物体表面の凸凹による遮光の影響を表す幾何減衰率である。さらに、nλは被写体の屈折率、mは被写体表面の粗さを示す係数、Ijは入射光の放射輝度である。また、Ksは鏡面反射成分の係数である。これら式から、カメラを移動させることで出射角を変更した場合、鏡面反射成分では輝度値が変化することがわかる。
ところで、ステレオ対応取得部104により、すべての画素の対応点が既知である。以上のことから、ステレオ画像(第1の画像、第2の画像)における鏡面反射成分と拡散反射成分は、以下のように分割できる。
ここで、Ic1は偏光情報取得部103で取得した、偏光最大輝度値Imaxと偏光最小輝度値Iminの和Imax+Iminを示している。また、Ic2は偏光情報取得部103−2で取得した、偏光最大輝度値Imaxと偏光最小輝度値Iminの和Imax+Iminを示している。ここで、Imax+Iminは、パターン偏光子201が存在しない場合に撮像素子202で観測される輝度値である。また、Thdは本来のLambertianモデルからどれだけ離れているかを示す閾値であり、ThIは鏡面反射成分と拡散反射成分を輝度情報で判断するための閾値である。このような閾値は、実験的に決定すればよい。
図20は上記領域分割基準を表した模式図である。図20に示す4つの領域、すなわちDD、SD、DS、SSの各領域は、以下の成分を有するものとして分類される。
・DD領域:第1の画像、第2の画像ともに拡散反射成分。
・SD領域:第1の画像は鏡面反射成分、第2の画像は拡散反射成分。
・DS領域:第1の画像は拡散反射成分、第2の画像は鏡面反射成分。
・SS領域:第1の画像、第2の画像ともに鏡面反射成分。
もちろん、このような領域分割は図20に限ったものではなく、例えば、SS領域を除いた図21のような領域分割基準を利用しても構わない。これは、上薬がかかった陶器のように、被写体の表面が非常に滑らかであり、鏡面反射成分が正反射領域近傍の限られた領域でのみ観測される場合に有効である。この場合、第1の画像と第2の画像におけるその対応点の両画像において鏡面反射が観測される場合は非常に少ない。
このときのステレオ画像(第1の画像、第2の画像)における鏡面反射成分と拡散反射成分は、以下のように分割すればよい。
もちろん、領域分割部105は、画像のすべての画素を拡散反射成分または鏡面反射成分に分割し、処理を行なうようにしても構わない。例えば、被写体が石膏のような被写体の場合には、すべての画素が拡散反射成分であることは妥当である。また、例えば、被写体が光沢のある金属の場合には、すべての画素が鏡面反射成分であることは妥当である。
もちろん、領域分割部105は、偏光最大輝度値Imaxと偏光最小輝度値Iminの重み付け和Imax+Iminを利用するのではなく、偏光最大輝度値Imaxや偏光最小輝度値Imin、または偏光最大輝度値Imaxと偏光最小輝度値Iminの平均値などをIc1,Ic2として利用するようにしても構わない。例えば、偏光最小輝度値Iminを利用する場合、てかり成分の影響を少なくすることができる。もちろん、偏光画像撮像部102において、パターン偏光子201を含まない輝度値が観測できる場合、その輝度値を利用するようにしても構わない。これは、図22に示したように、パターン偏光子201において、偏光子を含まない画素を設けることで実現できる。
次に、法線1自由度推定部106の詳細な機能を説明する。法線1自由度推定部106は、領域分割部105で分割された領域ごとに、偏光情報取得部103で生成された偏光情報を用いて、対応する被写体の表面での法線1自由度を推定する。法線1自由度とは、前述の入射面または出射面の角度情報である。
前述の通り、鏡面反射成分の入射面の情報は、偏光板を回転させて変化する輝度の最小値となる角度から求められる。つまり、次式で与えられる。
ただし、φmaxは数7で求まる、偏光位相である。
一方、拡散反射成分の出射面の情報は、偏光板を回転させて変化する輝度の最大値となる角度から求められる。つまり、法線1自由度情報は以下のように与えられる。
こうして求まる、入射面または出射面の角度情報である法線1自由度情報φnは、φnまたは(φn+π)という180度の不定性を持つ。
次に、法線情報生成部107の詳細な機能を説明する。法線情報生成部107は、法線1自由度推定部106、106−2で推定された法線1自由度φn1,φn2を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することにより、法線方向ベクトルを生成する。
図23はこの処理を説明するための模式図である。この図において、点Pは参照点であり、撮像素子202によって撮像された第1の画像の点Pに対応する画素と、撮像素子202−2によって撮像された第2の画像の点Pに対応する画素は、ステレオ対応取得部104によって既知である。また、第1の画像、第2の画像のそれぞれ対応する画素において、法線1自由度推定部106、106−2によって求められた法線1自由度は、φn1,φn2である。
撮像素子202、202−2はキャリブレーション済みであるため、相互の位置関係は既知である。そのため、入出射面S1、S2が計算できる。ここで、入出射面は参照点の入射面または出射面であり、入出射面S1とは、撮像素子202の焦点位置と数25、数26で求まる法線1自由度φn1の偏光主軸方向を通る平面、入出射面S2は、撮像素子202−2の焦点位置と数25、数26で求まる法線1自由度φn2の偏光主軸方向を通る平面である。
つまり、参照点の法線方向ベクトルnは、入出射面S1、S2どちらにも含まれる。そのため、参照点の法線方向ベクトルnは、これら2平面の交線として求められる。
しかし、法線1自由度情報φnは、180度の不定性を持つため、こうして求められた法線方向ベクトルnは、n(nx, ny, nz)とn’(−nx, −ny, −nz)という180度の不定性を有する。この不定性を除去するために、参照点Pの法線方向ベクトルnと視線ベクトルVを利用する。具体的には、以下の関係式を満たす法線方向ベクトルを選択する。
数27を満たさない場合、参照点Pは撮像素子202と反対方向を向いていることになり、参照点Pは撮像されないはずである。そのため、このような法線方向ベクトルは排除することができ、結果的に法線情報生成部107は不定性を排除することができる。
さらに、上記方法で求めた法線方向ベクトルに対し、空間的なフィルタリング処理を行なうことにより、法線情報生成部107で生じたノイズを除去するようにしても構わない。このような空間的なフィルタリング処理は、例えば、法線方向を量子化し、各画素の近傍の法線方向ベクトルのヒストグラムを作成し、その最頻値近傍の法線方向ベクトルのみで平均化処理を行なえばよい。
図24〜図28は、本実施の形態における法線情報生成装置100による法線方向ベクトルを推定した結果を示している。図24(a)は、地球儀を被写体とし、偏光情報取得部103によって取得された偏光最大輝度値Imaxと偏光最小輝度値Iminの和(Imax+Imin)、図24(b)は、地球儀を被写体とし、偏光情報取得部103によって取得された偏光位相φmax1(0°が黒、180°が白)、図24(c)は、地球儀を被写体とし、偏光情報取得部103−2によって取得された偏光最大輝度値Imaxと偏光最小輝度値Iminの和(Imax+Imin)、図24(d)は、地球儀を被写体とし、偏光情報取得部103−2によって取得された偏光位相φmax2(0°が黒、180°が白)を表している。また、第2の撮像素子202−2は、第1の撮像素子202の右側に配置されている。また、図25(a)〜(d)は、図24の各図を模式的に示した図(濃淡を明瞭化した図)である。図26(a)〜(d)はそれぞれ、図24(a)〜(d)に示す画像と、図25(a)〜(d)に示す各領域(たとえば(a)においては領域A11とB11)との対応関係を示している。図24(a)〜(d)および図26(a)〜(d)においては、領域の色が白いほど輝度値が大きい。
図27(a)〜(c)は図24(b)と図24(d)の偏光位相を利用して、法線情報生成部107が推定した法線方向ベクトルを可視化した法線画像を表している。法線方向ベクトルの各成分は−1から1の範囲の値をもつため、法線画像では、法線方向ベクトルの各成分の0を灰色、負の方向に黒く、正の方向に白くなるような表現をしている。また、背景は黒色で示している。
図27(a)は法線方向ベクトルのx成分の法線画像を示している。また、図27(b)は法線方向ベクトルのy成分の法線画像を示している。また、図27(c)は法線方向ベクトルのz成分の法線画像を示している。
また、図28(a)〜(c)は、図27(a)〜(c)の各図を模式的に示した図(濃淡を明瞭化した図)である。図29(a)〜(c)はそれぞれ、図27(a)〜(c)に示す画像と、図28(a)〜(c)に示す各領域との対応関係を示している。
法線方向ベクトルのx,y,z成分は、図30に示すように、カメラ右方向にx方向、カメラ下方向にy方向、カメラ光軸方向にz方向である。図27(a),図28(a)より、x成分法線画像では、画像中央部を除き、左側が黒く、右側につれて色が白くなり、定性的に正しい法線が取得されていることがわかる。また、図27(b)、図28(b)より、y成分法線画像では、上側が黒く、下に行くにつれて色が白くなり、定性的に正しい法線が取得されていることがわかる。さらに、図27(c),図28(c)より、z成分法線画像では、中央部が黒く、遮蔽エッジ近傍が灰色になっており、定性的に正しい法線が取得されていることがわかる。
以上のように、鏡面反射領域と拡散反射領域の領域分割を行ない、被写体の偏光情報を利用することで、被写体の偏光情報を利用して、分割された領域ごとに異なった処理を行なうことにより、広い領域についてパッシブに高精度な法線情報が推定できる。
なお、本実施の形態では、パターン偏光子201にフォトニック結晶が用いられたが、フィルム型の偏光素子、あるいはワイヤーグリッド型やその他の原理による偏光素子であってもよい。また、パターン偏光子を利用せずに、撮像素子202の前方に装着した偏光板を回転させながら撮像することで、時系列的に偏光主軸の異なる輝度を取得するようにしても構わない。この方法は、例えば、特開平11−211433号公報に開示されている。このような場合、個々の撮像素子202、202−2の前方にそれぞれ偏光子を配置するようにすればよい。もちろん、複数の撮像素子202、202−2を覆うような偏光子を1枚のみ利用するようにしても構わない。
なお、本実施の形態では、偏光情報取得部103を第1の偏光画像撮像部102と第2の偏光画像撮像部102−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、領域分割部105を第1の偏光情報取得部103と第2の偏光情報取得部103−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、法線1自由度推定部106を第1の偏光情報取得部103と第2の偏光情報取得部103−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、領域分割部105において、領域を鏡面反射成分領域か拡散反射成分領域かに分割するために、ステレオ画像間の輝度差を利用したが、もちろん、個々の画像のみから行なうようにしても構わない。このような処理は、既知の手法、例えば、画像の色情報を利用する方法を利用すればよい(例えば、S.K.Nayar, X.S.Fang, and T.Boult,"Separation of reflection components using color and polarization", International Journal of Computer Vision (IJCV), Vol.21, No.3, pp.163-186, 1997参照)。
以上のように、鏡面反射領域と拡散反射領域の領域分割を行ない、被写体の偏光情報を利用して、分割された領域ごとに異なった処理を行なうことにより、広い領域についてパッシブに高精度な法線情報が推定できる。
(第2の実施形態)
次に、本発明の第2の実施の形態における法線情報生成装置を説明する。本実施の形態における法線情報生成装置は、ステレオ対応が求まらないオクルージョン領域に対して、別の法線情報生成処理を行なうものである。
本実施の形態における法線情報生成装置は、実施形態1にかかる法線情報生成装置100(図1)の構成と同じである。第1の実施形態との違いは領域分割部105と法線情報生成部107である。領域分割部105は、ステレオ対応取得部104で対応が求まらない領域に対し、未対応領域として領域分割し、法線情報生成部107は未対応領域のみ別の法線情報生成処理を行なう。遮蔽の影響により、ステレオ対応取得部104で対応が求まらない領域はオクルージョン領域と呼ばれ、ステレオ法では3次元形状情報が取得できない領域として知られている。しかし、本実施形態の法線取得方法では、領域分割部105によってオクルージョン領域を検出し、法線1自由度推定部106によって求めた法線1自由度情報を利用することにより、オクルージョン領域においても法線方向ベクトルの推定が可能である。この処理を説明する。
図31、32は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図31,32において、図7と共通のステップには図7と同一の符号を付しており、その詳細な説明を省略する。
まず、領域分割部105は、ステレオ対応取得部104で対応が求まらない領域に対し、未対応領域として領域分割を行なう(ステップS121)。
図33は、本実施の形態における領域分割部105による処理の流れを示したフローチャートである。このフローチャートは、図31におけるステップS121に相当する。
まず、領域分割部105は、ステレオ対応取得部104の結果を利用し、参照画素が別画像と対応付けられているかを判断する(ステップS301)。参照画素が別画像と対応付けられていなかった場合(ステップS301でNo)、領域分割部105は、参照画素はオクルージョンを起こしていると判断し、未対応領域として領域分割する(ステップS302)。一方、参照画素が別画像と対応付けられていた場合(ステップS301でYes)、領域分割部105は、前述の通り、図20の領域分割基準に基づき、領域分割を行なう(ステップS303)。
法線情報生成部107は、領域分割部105の領域分割結果に基づいて、法線情報を生成する処理を切り替える(ステップS122)。領域が未対応領域でなかった場合(ステップS122でNo)、法線情報生成部107は、第1の実施例と同様の手法により、法線情報を生成する(ステップS107〜S109)。一方、領域が未対応領域であった場合(ステップS122でYes)、法線情報生成部107は、未対応領域が遮蔽エッジ近傍の領域であることを利用して法線情報を取得する。具体的には、まず法線1自由度推定部106によって法線1自由度情報を推定する(ステップS123)こうして求めた法線1自由度情報と、遮蔽エッジ近傍の領域であることを利用し、近傍画素の法線情報から、未対応領域の法線方向ベクトルを推定する(ステップS124)。
図34はオクルージョン領域である未対応領域と法線方向の関係を説明するための模式図である。この図において、撮像素子202と202−2は球体の被写体301を撮像している。この場合、各撮像素子によって未対応となる領域は、領域302および領域303である。領域302は撮像素子202−2からは観測されず、領域303は撮像素子202からは観測されない。そのため、領域302は撮像素子202、つまり第1の画像における未対応領域、領域303は撮像素子202−2、つまり第2の画像における未対応領域となる。未対応領域302、303はいずれかの画像ではオクルージョンが生じるということから、遮蔽エッジ近傍の領域であることがわかる。
遮蔽エッジ境界では、法線方向ベクトルが、図30のx−y平面上、つまり、光軸に直交する平面上に存在する。そのため、法線情報生成部107は、未対応領域の法線第2自由度はx−y平面上であると仮定し、法線方向ベクトルを取得する。このとき、法線1自由度情報φnは、180度の不定性を持つため、法線方向ベクトルnは、n(nx, ny, 0)とn' (-nx, -ny, 0)という180度の不定性を有する。この不定性を除去するために、未対応領域近傍の法線方向ベクトルの連続性を利用する。具体的には、法線方向ベクトル候補 (nx, ny, 0)と(-nx, -ny, 0)それぞれに対して未対応領域近傍の法線方向ベクトルとの連続性を計算し、より連続性が保たれる法線方向ベクトル候補を法線方向ベクトルとして決定すればよい。具体的には、近傍の法線方向ベクトルとの内積値を計算し、その値が大きくなる法線方向ベクトル候補を法線方向ベクトルとして決定する。この処理により、図34において破線の矢印として示す法線方向ベクトルが特定される。
また、法線1自由度推定部106によって法線1自由度情報を求めるためには、拡散反射成分または鏡面反射成分としての領域分割も必要である。これは、近傍領域の領域分割結果を利用すればよい。もちろん、遮蔽領域では鏡面反射が生じないと仮定し、拡散反射成分として処理を行なっても構わない。
本実施の形態における法線情報生成装置100が搭載されたカメラは、実施形態1にかかるカメラ200(図5)と同じである。よって、詳細な説明は省略する。
以上のように、本実施形態の法線取得方法では、領域分割部105によってオクルージョン領域を検出し、法線1自由度推定部106によって求めた法線1自由度情報を利用することで、従来手法では困難であった、オクルージョン領域においても法線方向ベクトルの推定が可能である。
なお、本実施の形態では、パターン偏光子201にフォトニック結晶が用いられたが、フィルム型の偏光素子、あるいはワイヤーグリッド型やその他の原理による偏光素子であってもよい。また、パターン偏光子を利用せずに、撮像素子202の前方に装着した偏光板を回転させながら撮像することで、時系列的に偏光主軸の異なる輝度を取得するようにしても構わない。この方法は、例えば、特開平11−211433号公報に開示されている。このような場合、個々の撮像素子202、202−2の前方にそれぞれ偏光子を配置するようにすればよい。もちろん、複数の撮像素子202、202−2を覆うような偏光子を1枚のみ利用するようにしても構わない。
なお、本実施の形態では、偏光情報取得部103を第1の偏光画像撮像部102と第2の偏光画像撮像部102−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、領域分割部105を第1の偏光情報取得部103と第2の偏光情報取得部103−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、法線1自由度推定部106を第1の偏光情報取得部103と第2の偏光情報取得部103−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、領域分割部105において、鏡面反射成分と拡散反射成分の領域分割を行なうために、ステレオ画像間の輝度差を利用したが、もちろん、個々の画像の みから行なうようにしても構わない。このような処理は、既知の手法、例えば、画像の色情報を利用する方法を利用すればよい(例えば、S.K.Nayar, X.S.Fang, and T.Boult,"Separation of reflection components using color and polarization", International Journal of Computer Vision (IJCV), Vol.21, No.3, pp.163-186, 1997参照)。
以上のように、鏡面反射領域と拡散反射領域の領域分割を行ない、被写体の偏光情報を利用して、分割された領域ごとに異なった処理を行なうことにより、広い領域についてパッシブに高精度な法線情報が推定できる。
(第3の実施形態)
次に、本発明の第3の実施の形態における法線情報生成装置を説明する。
図35は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。この法線情報生成装置100は、領域分割部105を持たず、代わりに、法線情報生成部117によって、複数の法線方向ベクトル候補を生成し、最適法線選択部108によって、複数の法線方向ベクトル候補の妥当性を評価することで、法線方向ベクトルを推定する。なお、第1の実施形態における法線情報生成装置100と同一の構成要素には、図4と同一の符号を付し、その説明を省略する。
法線1自由度推定部116は、画素ごとに、偏光情報取得部103で生成された偏光情報を用いて、対応する被写体の表面での法線1自由度を推定する。この際、法線1自由度の求め方は前述のように画素が拡散反射成分か鏡面反射成分かで異なる。そこで、法線1自由度推定部116は、画素が拡散反射成分である場合の法線1自由度候補φndと、画素が鏡面反射成分である場合の法線1自由度候補φnsの両方を、法線1自由度候補として推定する。具体的には、前述の通り、以下の式に基づいて、法線1自由度候補φnd、φnsを推定する。
ただし、φmaxは数7で求まる、偏光位相である。ここで、数28で示したφndは数26で示した画素が拡散反射成分であると仮定した場合の出射面の情報、数29で示したφnsは数25で示した画素が鏡面反射成分であると仮定した場合の入射面の情報である。
法線情報生成部117は、第1の法線1自由度推定部116で推定された法線1自由度候補φnd1,φns1と、第2の法線1自由度推定部116−2で推定された法線1自由度候補φnd2,φns2を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することにより、法線方向ベクトルを推定する。各撮像素子202、202−2から、それぞれ2つの法線1自由度候補が求められているため、4通り(「φnd1―φnd2」「φnd1―φns2」「φns1―φnd2」「φns1―φns2」)の組み合わせから、4つの法線方向ベクトル候補nc1〜nc4が求まる。
最適法線選択部108は、法線情報生成部117が生成した4つの法線方向ベクトル候補から、最適なものを選択し、法線方向ベクトルnとして推定する。この処理を説明する。
最適法線選択部108は、複数候補から画像全体として最適な法線方向ベクトルを推定するために、法線方向ベクトルの連続性を利用する。これは、以下の評価関数Ev(n)が最小となる法線方向ベクトル候補を、画像全体で選択すればよい。
ここで、n(x,y)は画素(x,y)での法線方向ベクトル、wx,wyはそれぞれ画像の幅と高さである。もちろん、このような最小化処理は、拘束条件を利用することで、さらに正確な法線方向ベクトルを取得することが可能である。
最適な法線方向ベクトル候補を選択するための拘束条件を説明する。まず、複数カメラ間での鏡面反射成分と拡散反射成分の空間的な連続性を説明する。前述のように、鏡面反射成分は、撮像素子の位置(出射角)や、被写体の法線方向ベクトルの影響を受けやすい。また、図17および18で示した鏡面反射成分と拡散反射成分の偏光度、および、数13、数14〜数22に示したLambertianモデル、Cook−Torranceモデルから、鏡面反射成分や拡散反射成分の輝度情報や偏光情報は、撮像素子の移動や参照点の移動に対して、連続的な変化を行なうことがわかる。そのため、参照点Pに対して、第1の偏光画像、第2の偏光画像ともに拡散反射成分であった場合、その近傍点P"において、第1の偏光画像、第2の偏光画像ともに鏡面反射成分であることは非常に少ないと考えられる。つまり、参照点の空間的な変動に対して、各偏光画像の対応点の鏡面反射成分、拡散反射成分は連続的に変化する。最適法線選択部108は、この知見を拘束条件として利用する。この拘束条件は、被写体の広い領域で利用可能であるため、非常に有効である。さらにこの拘束条件は、光源が複数存在する場合にも有効である。本実施形態においては、隣接する画素同士に上述の拘束条件を適用している。
図36はこの連続性を拘束条件として利用するための状態遷移図を示す。この図において、状態601は、第1の偏光画像では拡散反射成分、第2の偏光画像も拡散反射成分と仮定し、法線方向ベクトルを生成することを示している。また、状態602は、第1の偏光画像は拡散反射成分、第2の偏光画像は鏡面反射成分と仮定し、法線方向ベクトルを生成することを、状態603は、第1の偏光画像は鏡面反射成分、第2の偏光画像は拡散反射成分と仮定し、法線方向ベクトルを生成することを、状態604は、第1の偏光画像では鏡面反射成分、第2の偏光画像も鏡面反射成分と仮定し、法線方向ベクトルを生成することを示している。
各偏光画像の対応点の鏡面反射成分、拡散反射成分は連続的に変化するため、参照点が601、つまり第1の偏光画像では拡散反射成分、第2の偏光画像も拡散反射成分と仮定して法線方向ベクトルが生成された場合、その近傍では、604、つまり第1の偏光画像では鏡面反射成分、第2の偏光画像も鏡面反射成分と仮定して法線方向ベクトルが生成されることはありえない。また、参照点が602、つまり第1の偏光画像では拡散反射成分、第2の偏光画像では鏡面反射成分と仮定して法線方向ベクトルが生成された場合、その近傍では、603、つまり第1の偏光画像では鏡面反射成分、第2の偏光画像は拡散反射成分と仮定して法線方向ベクトルが生成されることはありえない。したがって、最適法線選択部108は、以下の評価関数Ev2が最小となる法線方向ベクトル候補を、画像全体で選択することにより、法線方向ベクトルnを選択する。
ただし、Ev1は次式で与えられる、図36の状態遷移図による拘束条件であり、C2は拘束条件の重み係数である。
このような重み係数は、実験的に決定すればよく、例えば、C2=2.0とすればよい。数31は、図36の状態遷移図に従わない場合、数30の評価関数が大きな値となるような評価関数である。
このように、各偏光画像の対応点の鏡面反射成分、拡散反射成分は連続性を拘束条件として利用することで、最適な法線方向ベクトルを選択することができる。
また、別の拘束条件として、第1の偏光情報取得部103および第2の偏光情報取得部103−2が取得した、偏光情報を利用するようにしても構わない。この処理を説明する。
図18より、拡散反射成分の偏光度は、出射角が小さい場合に0に近づく。そのため、偏光度が十分に小さな領域では、法線方向ベクトルnが視線ベクトルVに十分近いと考えられる。そのため、偏光度が十分に小さな領域では、4つの法線方向ベクトル候補nc1〜nc4の中から、最も視線ベクトルに近い候補を法線方向ベクトルnとして選択すればよい。これは、例えば、閾値処理を行ない、偏光度がたとえば、0.05より小さな領域に対して行なえばよい。もちろん、法線情報生成部117は、偏光度が十分に小さい領域では、法線1自由度推定部116が取得した法線1自由度情報を利用せず、法線方向ベクトルnは視線ベクトルVと等しいとするようにしても構わない。これは、偏光度が十分に小さな領域では、数5による偏光情報の取得処理が不安定になるため、法線1自由度推定部116が取得した法線1自由度情報は推定精度が低くなると考えられるためである。この拘束条件は、偏光度が低い領域に対して有効である。
もちろん、別の拘束条件として、前述の遮蔽エッジ領域の法線方向ベクトルを利用しても構わない。前述のように、遮蔽エッジ近傍では、法線方向ベクトルnが図30のx−y平面に近づく。そのため、最適法線選択部108は、4つの法線方向ベクトル候補nc1〜nc4の中から、最もx−y平面に近い候補を法線方向ベクトルnとして選択すればよい。この拘束条件は、遮蔽エッジ領域では非常に有効である。
また、偏光情報を利用した別の拘束条件として、偏光度情報を利用しても構わない。図18に示したように、拡散反射成分においては、偏光度は出射角と屈折率により一意に決定される。そこで、被写体の屈折率が既知の場合、推定された法線方向ベクトルと図18から求めた、推定された偏光度ρeと、偏光情報取得部103によって求められた、計測された偏光度ρを比較し、その差が小さくなるという拘束を利用すればよい。また、図30で示したように、光軸がz方向であることに着目すると、出射角θeは法線方向ベクトルn(nx, ny, nz)を利用して、次式の関係から計算できる。
この拘束条件は、法線1自由度推定部116によって、法線1自由度候補がφndと推定された場合のみ利用できる。
もちろん、光源方向が既知の場合(例えば、法線情報生成装置100がフラッシュ機構を有し、フラッシュを投光しながら撮像を行なう場合)、図17に示した、鏡面反射成分の偏光度を利用しても構わない。図17に示したように、鏡面反射成分においては、偏光度は入射角と屈折率により一意に決定される。そこで、被写体の屈折率と光源方向ベクトルLが既知の場合、推定された法線方向ベクトルと図17から求めた、推定された偏光度と、偏光情報取得部103によって求められた、計測された偏光度を比較し、その差が小さくなるという拘束を利用すればよい。この場合、前述の拡散反射成分を仮定した場合との拘束条件と組み合わせることにより、法線方向ベクトル候補nc1〜nc4の評価を行なうことが可能である。このような偏光度情報を利用した拘束条件は、正確な偏光度情報が取得できる場合に有効である。これは、求まった偏光度が高い場合や、多重反射が生じない、被写体が凸形状の場合である。
もちろん、法線方向ベクトル候補nc1〜nc4と、計測された偏光度ρから図17および18を用いて求めた偏光度由来法線方向ベクトルを比較し、その差が小さくなるという拘束条件を利用しても構わない。この場合、図17からは2つの偏光度由来法線方向ベクトルが求まるため、法線方向ベクトル候補nc1〜nc4と各偏光度由来法線方向ベクトルとの差分値において、より小さい差分値を小さくするという拘束条件を利用すればよい。このような偏光度情報を利用した拘束条件は、正確な偏光度情報が取得できる場合に有効である。これは、求まった偏光度が高い場合や、多重反射が生じない、被写体が凸形状の場合である。
もちろん、別の拘束条件として、奥行情報を利用するようにしても構わない。このような奥行情報は、ステレオ対応取得部104で求めた画像間での対応関係を利用して求められる。前述のように、第1の撮像素子202と第2の撮像素子202−2はキャリブレーション処理が行なわれており、その内部パラメータや外部パラメータは既知である。そのため、ステレオ対応取得部104が取得したステレオ対応情報から、被写体の奥行情報を求めることができる。さらに、求まった奥行情報から法線方向を求めることができる。これは、例えば非特許文献1の技術を利用すればよい。具体的には、以下の処理を行なう。
まず、参照点P近傍に存在する、n点の近傍点の3次元位置座標を(Xi,Yi,Zi)とする。ただし、iは1≦i≦nである。これらの点は、ステレオ対応取得部104が求めた対応情報と、第1の撮像素子202、第2の撮像素子202−2の内部パラメータと外部パラメータを利用することで取得する。次に、近傍n点の共分散行列Cを次式で計算する。
ただし、(Xa,Ya,Za)は近傍n点の重心位置座標である。このとき、参照点Pの奥行由来法線方向ベクトルndは、共分散行列Cの最小固有値に対応する固有ベクトルとして求められる。
前述のように、こうして求められた奥行由来法線方向ベクトルndは十分な精度ではない。しかし、概略の法線としては利用可能である。そこで、最適法線選択部108は、4つの法線方向ベクトル候補nc1〜nc4の中から、最も奥行由来法線方向ベクトルndに近い候補を法線方向ベクトルnとして選択する。
このような奥行情報を利用した拘束条件は、被写体の広い領域で利用可能であるため、非常に有効である。
最適法線選択部108は、以上の拘束条件の少なくとも1つを利用しながら、画像全体での法線方向ベクトルの連続性を利用することで、最適な法線方向ベクトルを求める。
図37は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図37において、図7と共通のステップには図7と同一の符号を付しており、その詳細な説明を省略する。
まず、第1の偏光画像撮像部102は、第1のパターン偏光子201を通して被写体を第1の撮像素子202で受光することで、偏光情報を含んだ画像である第1の偏光画像を取得する(ステップS101)。第1の偏光情報取得部103は、第1の偏光画像撮像部102が撮像した第1の偏光画像の輝度変化を利用して、第1の偏光情報を生成する(ステップS102)。第1の法線1自由度推定部116は、偏光情報取得部103で生成された偏光情報を用いて、画素ごとに、対応する被写体の表面での法線1自由度候補φnd1、φns1を推定する(ステップS117)。次に、第2の偏光画像撮像部102−2は、第2のパターン偏光子201−2を通して被写体を第2の撮像素子202−2で受光することで、偏光情報を含んだ画像である第2の偏光画像を取得する(ステップS103)。第2の偏光情報取得部103−2は、第2の偏光画像撮像部102−2が撮像した第2の偏光画像の輝度変化を利用して、第2の偏光情報を生成する(ステップS104)。第2の法線1自由度推定部116−2は、偏光情報取得部103−2で生成された偏光情報を用いて、画素ごとに、対応する被写体の表面での法線1自由度候補φnd2、φns2を推定する(ステップS118)。ここで、ステップS101〜ステップS102およびステップ117と、ステップS103〜ステップS104およびステップ118の順序は任意であり、並列的に実行してもよいし、もちろん、順次実行しても構わない。ステレオ対応取得部104は、偏光画像撮像部102(102−2)で求まった偏光画像、偏光情報取得部103(103−2)で求まった偏光情報の少なくとも1つを利用して、ステレオ偏光画像撮像部101が取得した複数の偏光画像において画素ごとの対応関係を推定する(ステップS105)。第1の法線1自由度推定部116で推定された法線1自由度候補φnd1,φns1と、第2の法線1自由度推定部116−2で推定された法線1自由度候補φnd2,φns2を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することで、法線方向ベクトル候補nc1〜nc4を推定する(ステップS119)。最適法線選択部108は、法線方向ベクトルの連続性などを利用して、法線方向ベクトル候補nc1〜nc4から最適な法線方向ベクトルnを選択する(ステップS120)。
本実施の形態における法線情報生成装置100が搭載されたカメラは、実施形態1にかかるカメラ200(図5)と同じである。よって、詳細な説明は省略する。
なお、本実施の形態では、偏光情報取得部103を第1の偏光画像撮像部102と第2の偏光画像撮像部102−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、法線1自由度推定部116を第1の偏光情報取得部103と第2の偏光情報取得部103−2それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
以上のように、被写体の偏光情報を利用し、鏡面反射成分と拡散反射成分双方を仮定した法線1自由度候補を最適に統合することで、画素ごとに法線情報が生成されるため、広い領域についてパッシブに高精度な法線情報が推定できる。
(第4の実施形態)
次に、本発明の第4の実施の形態における法線情報生成装置を説明する。
図38は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。この法線情報生成装置100は、信頼性推定部109を有し、法線情報生成部127が正確に法線情報を推定できる領域と、信頼性が低い領域を推定する。法線情報生成部127は、信頼性推定部109が推定した信頼性結果により法線情報推定処理を切り替えることにより、法線方向ベクトルを推定する。なお、第1の実施形態における法線情報生成装置100と同一の構成要素には、図4と同一の符号を付し、その説明を省略する。
信頼性推定部109は、法線情報生成部127が推定する法線方向ベクトルの信頼性を評価する。これは、第1の法線1自由度推定部106と第2の法線1自由度推定部106−2で推定された法線1自由度情報から推定するようにすればよい。
図39は、推定した法線方向ベクトルの信頼性を説明するための模式図である。図23に示したように、第1の実施形態の法線情報生成部107は、各偏光画像から求められた入出射面S1、S2の交線として、法線方向ベクトルnを求める。しかし、以下の条件を満たす場合、入出射面S1、S2の交線は一意に求まらず、法線方向ベクトルnは不定となる。
[法線方向ベクトルnの推定が不定となる条件]
参照点Pの法線方向ベクトルが以下の3点を通る平面上に存在。
・撮像素子202の焦点位置。
・撮像素子202−2の焦点位置。
・参照点P。
上記の条件下では、入出射面S1、S2は同一平面S12となり、その交線として法線方向ベクトルを一意に求めることはできない。そこで、信頼性推定部109は、入出射面S1と入出射面S2のなす入出射面角を計算し、入出射面角が大きい場合には信頼性があると判断し、入出射面角が小さい場合には信頼性がないと判断する。
法線情報生成部127は、信頼性推定部109が推定した信頼性情報によって、法線方向ベクトル推定処理を切り替える。
図40、図41は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図40、図41において、図7と共通のステップには図7と同一の符号を付しており、その詳細な説明を省略する。
信頼性推定部109は、第1の法線1自由度推定部106が推定した入出射面S1と第2の法線1自由度推定部106−2が推定した入出射面S2とのなす角度として、入出射面角φsを計算する(ステップS130)。ここで、入出射面角φsの値域は[0,π]である。
入出射面角の計算方法を説明する。図42は入出射面角の計算方法を説明するための模式図である。第1の撮像素子202のカメラ座標系C1をxc1−yc1−zc1とし、第2の撮像素子202−2のカメラ座標系C2をxc2−yc2−zc2とする。また、いずれの座標系も図30同様、カメラ左右方向にx方向、カメラ上下方向にy方向、カメラ光軸方向にz方向である。また、カメラ座標系C2からカメラ座標系C1への変換を表す回転行列をRc2−c1とする。さらに法線1自由度φnや偏光位相φmaxは−yc方向が0(rad)、xc方向がπ/2(rad)となるように設定する。このとき、第1の法線1自由度推定部106で求まった法線1自由度をφn1、第2の法線1自由度推定部106−2で求まった法線1自由度をφn2とすると、入出射面角φsは次式で求まる。
ここで、min[A,B]はAとBの最小値を選択する演算子であり、前述の通り、φn1,φn2が180度の不定性を有することに起因する。また、Cos
-1(x)は、−1≦x≦1の場合、[0,π]の範囲をとる。また、数35において、nφ1,nφ2は入出射面S1,S2の法線方向ベクトルである。ここで、φn1,φn2は面の傾き角であることに注意すると、nφ1,nφ2は次式で表される。
信頼性推定部109は、入出射面角φsの大きさを評価する(ステップS131)。すなわち、信頼性推定部109は、入出射面角φsの大きさと閾値Thφsとを比較する。その結果、入出射面角φsの大きさが閾値Thφsより大きかった場合(ステップS131でYes)、前述の通り、法線情報生成部127は、法線1自由度推定部106、106−2で推定された法線1自由度を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することで、法線方向ベクトルを推定し(ステップS109)、処理を終了する。一方、入出射面角φsの大きさが閾値Thφs以下であった場合(ステップS131でNo)、信頼性推定部109は、法線1自由度情報に信頼性がないと判断し、法線情報生成部127は、法線1自由度推定部106、106−2を統合することによる法線方向ベクトルの推定を行なわない。法線情報生成部127は、このような領域では、近傍の求まっている法線方向ベクトルを利用して、例えば、補間処理を行なうことで、法線方向ベクトルを取得する(ステップS132)。
また、入出射面角φsの閾値Thφsは実験的に決定すればよく、例えば、3(deg)を設定すればよい。
もちろん、法線情報生成部127は、ステップS132において、近傍の法線方向ベクトルを利用して法線方向ベクトルを取得するのではなく、例えば、前述の奥行由来法線方向ベクトルndを利用するようにしても構わない。
もちろん、信頼性推定部129は、例えば、偏光情報取得部103が推定した偏光情報から信頼性を評価するようにしても構わない。ここでは、偏光情報取得部103が推定した偏光情報と法線情報生成部147が生成した法線方向ベクトルnを比較することにより、信頼性を評価する処理を説明する。
図43は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。第1の実施形態における法線情報生成装置100と同一の構成要素には、図4と同一の符号を付し、その説明を省略する。
本実施形態における法線情報生成装置100における法線情報生成部147は、まず、第1の実施形態の法線情報生成部107と同様の処理を行ない、法線方向ベクトルnを推定する。信頼性推定部129は、法線情報生成部147が生成した法線方向ベクトルnを偏光情報取得部103が推定した偏光情報と比較することで、法線方向ベクトルnの信頼性を評価する。法線情報生成部147は、信頼性推定部129によって信頼性がないと評価された法線方向ベクトルnを廃棄し、近傍の求まっている法線方向ベクトルを利用して、例えば、補間処理を行なうことで、法線方向ベクトルを取得する。
ここでは、偏光情報として偏光度ρを利用することで、信頼性を評価する方法を説明する。まず、前述のように、光源方向および被写体の屈折率が既知の場合を考える。領域分割部105によって、画素が鏡面反射成分または拡散反射成分と領域分割されていることに着目すると、前述の図17、18より、法線方向ベクトルnから偏光度ρeを推定できる。つまり、画素が鏡面反射成分の場合、参照点の法線方向ベクトル方向nおよび光源方向より、入射角が求まる。図17より、入射角と被写体の屈折率が既知であれば、偏光度ρeが推定できる。一方、画素が拡散反射成分の場合、参照点の法線方向ベクトル方向nおよび数33より、出射角が求まる。図18より、出射角と被写体の屈折率が既知であれば、偏光度ρeが推定できる。ここで、領域分割部105の領域分割結果、および法線情報生成部147の法線方向ベクトルn推定結果が正しければ、偏光情報取得部103で求めた偏光度ρと推定された偏光度ρeは十分に近い値となる。そこで、信頼性推定部129は、ρとρeの差分値を計算し、その差分値が大きい場合は信頼性が低い、差分値が小さい場合は信頼性が高いと判断する。
図44および45は、本実施の形態における領域分割部105による処理の流れを示したフローチャートである。なお、図44および45において、図7および図41と共通のステップには図7および図41と同一の符号を付しており、その詳細な説明を省略する。
まず、法線情報生成装置100は、第1の実施形態と同様の処理を行ない、法線方向ベクトルnを推定する(ステップS101〜S109)。信頼性推定部129は、前述のように、前記法線方向ベクトルnと図17および18を利用することで、偏光度ρeを推定する(ステップS135)。信頼性推定部129は、偏光情報取得部103で求めた偏光度ρと推定された偏光度ρeを比較することで、信頼性を評価する(ステップS136)。ここで、偏光情報取得部103で求めた偏光度ρと推定された偏光度ρeが十分に近かった場合(ステップS136でYes)、信頼性推定部129は、法線方向ベクトルnは十分に信頼性が高いと判断し、処理を終了する。一方、偏光情報取得部103で求めた偏光度ρと推定された偏光度ρeが大きく異なった場合(ステップS136でNo)、信頼性推定部129は、法線方向ベクトルnに信頼性がないと判断し、法線情報生成部147は、法線1自由度推定部106、106−2を統合することによる法線方向ベクトルの推定を行なわない。法線情報生成部147は、このような領域では、近傍の求まっている法線方向ベクトルを利用して、例えば、補間処理を行なうことで、法線方向ベクトルを取得する(ステップS132)。
本実施の形態における法線情報生成装置100が搭載されたカメラは、実施形態1にかかるカメラ200(図5)と同じである。よって、詳細な説明は省略する。
以上のように、被写体の偏光情報を利用し、鏡面反射成分と拡散反射成分双方を仮定した法線1自由度候補を信頼性を利用して最適に統合することで、画素ごとに法線情報が生成されるため、広い領域についてパッシブに高精度な法線情報が推定できる。
(第5の実施形態)
次に、本発明の第5の実施の形態における法線情報生成装置を説明する。第4の実施形態における法線情報生成装置との違いは、法線方向ベクトルから信頼性を評価するのではなく、領域分割部における領域分割結果から信頼性を評価することである。
本実施形態による法線情報生成装置の処理は、図38に示す第4の実施形態による法線情報生成装置の処理と同じである。本実施の形態における法線情報生成装置における信頼性推定部109は、法線情報生成部127が推定する法線方向ベクトルから信頼性を評価するのではなく、領域分割部105の領域分割結果から信頼性を評価する。ここでは、陰影領域を利用する処理を説明する。
陰影領域では、光線が複雑になり、偏光情報の信頼性が失われる。そこで、本実施形態の法線情報生成装置100では、領域分割部115によって、陰影領域を領域分割し、信頼性推定部109は陰影領域を信頼性が低い領域と判断する。
図46は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。この法線情報生成装置100における第1の領域分割部115および第2の領域分割部115−2は、画像を鏡面反射成分領域、拡散反射成分領域および陰影領域に分割する。信頼性推定部119は、第1の領域分割部115および第2の領域分割部115−2によって取得した領域分割結果に基づき、法線情報生成部137が正確に法線情報を推定できる領域と、信頼性が低い領域を推定する。法線情報生成部137は、信頼性推定部119が推定した信頼性結果により法線情報推定処理を切り替えることにより、法線方向ベクトルを推定する。なお、第1の実施形態における法線情報生成装置100と同一の構成要素には、図4と同一の符号を付し、その説明を省略する。
領域分割部115は、偏光情報取得部103が生成した偏光情報および/または偏光画像撮像部102が取得した輝度情報を利用し、画像を拡散反射領域、鏡面反射領域および陰影領域に領域分割する。ここで、陰影領域は輝度値が低いことと、カメラの移動に対して陰影は不変であることに着目する。すると、ステレオカメラにおける鏡面反射成分領域、拡散反射成分領域および陰影領域は、以下のように分割できる。
ここで、Tは本来のLambertianモデルからどれだけ離れているかを示す閾値であり、Thsは陰影の閾値である。本来、陰影の輝度値は0になるはずであるが、暗電流や環境光などの影響により、0にならない。このような閾値は、実験的に決定すればよい。
図47は上記領域分割基準を表した模式図である。
もちろん、領域分割部105は、画像の輝度値を利用するのではなく偏光情報取得部103および103−2で取得した、偏光最大輝度値Imaxや偏光最小輝度値Imin、または偏光最大輝度値Imaxと偏光最小輝度値Iminの平均値や重み付け和(例えば、Imax+2・IminやImax+Imin)などをIc1,Ic2として利用するようにしても構わない。前述のように、偏光最小輝度値Iminを利用する場合、てかり成分の影響を少なくすることができる。また、Imax+Iminは、偏光子を設置しなかった場合に撮像される画像と等価の画像である。そのため、この平均値を利用して画像処理を行なうことで、通常の偏光を利用しない場合と同様の処理を行なうことができる。
信頼性推定部119は、法線情報生成部137が推定する法線方向ベクトルの信頼性を評価する。これは、領域分割部115で分割された領域が陰影領域であるか、そうでないかを判断すればよい。
法線情報生成部137は、信頼性推定部119が推定した信頼性情報によって、法線方向ベクトルの推定処理を切り替える。
図48および49は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図48および49において、図40および41と共通のステップには図40および41と同一の符号を付しており、その詳細な説明を省略する。
領域分割部115は、第1の偏光情報取得部103および第2の偏光情報取得部103−2が生成した第1の偏光情報、第2の偏光情報、および/または、第1の偏光画像撮像部102および第2の偏光画像撮像部102−2が取得した第1の輝度情報、第2の輝度情報を利用することで、図47の領域分割基準に基づき、第1の画像、第2の画像を拡散反射領域、鏡面反射領域および陰影領域に領域分割する(ステップS116)。
信頼性推定部119は、領域分割部115が分割した領域分割結果が陰影領域かそうでないかを判断することで、推定された法線方向ベクトルの信頼性を判断する(ステップS133)。その結果、参照画素が陰影領域でなかった場合(ステップS133でNo)、前述の通り、法線情報生成部137は、法線1自由度推定部106、106−2で推定された法線1自由度を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することで、法線方向ベクトルを推定し(ステップS109)、処理を終了する。参照画素が陰影領域であった場合(ステップS133でYes)、信頼性推定部119は、法線1自由度情報に信頼性がないと判断し、法線情報生成部137は、法線1自由度推定部106、106−2を統合することによる法線方向ベクトルの推定を行なわない。法線情報生成部137は、このような領域では、近傍の求まっている法線方向ベクトルを利用して、例えば、補間処理を行なうことで、法線方向ベクトルを取得する(ステップS132)。
また、偏光情報を利用することで、陰影領域をさらにアタッチト・シャドウ(attached shadow)領域とキャスト・シャドウ(cast shadow)領域に分割するようにしても構わない。attached shadow領域は「陰領域」とも呼ばれ、cast shadow領域は「影領域」とも呼ばれる。cast shadow領域では、光線が複雑になり、偏光情報の信頼性が失われる。一方、attached shadow領域では、鏡面反射成分に近い偏光特性を示す。
そこで、本実施形態の法線情報生成装置100では、領域分割部によって、陰影領域をattached shadow領域とcast shadow領域に領域分割し、信頼性推定部109はcast shadow領域を信頼性が低い領域と判断する。この処理を詳述する。
まず、attached shadowとcast shadowを説明する。図50はattached shadowとcast shadowという陰影の分類を説明するための模式図である。ここで、ある面305におかれた被写体301が、光源304に照らされている。この図において、符号306と307はどちらも陰影を示している。符号306は被写体301の法線が光源304を向いていないために生じるattached shadowであり、符号307は305において、遮蔽物である被写体301によって光が遮蔽されることによって生じるcast shadowである。
次に、attached shadowとcast shadowの偏光特性の違いを説明する。まず、地上で撮像されるほとんどの撮像シーンでは成り立つ、以下の条件1が満たされた撮像シーンにおいて、撮像が行なわれると想定する。
条件1:「被写体が存在する撮像シーンには、近傍に広い面を有する物体が存在し、ある広い面から被写体に関して反対方向には光源が存在する」
これは、例えば以下のような撮像シーンでは成り立つ。
1. 屋内シーンにおいて、被写体であるボールが机の上に置かれている。また、このボールは天井に設置された蛍光灯で照らされている。
2. 屋内シーンにおいて、被写体である人物が、床面に置かれた椅子に座っている。また、この人物は、窓から差し込んでくる太陽光で照らされている。
3. 屋外シーンにおいて、被写体である自動車が、道路上を走行している。この被写体は、太陽光で照らされている。
また、壁や建物も広い面を有するため、地上で撮像されるほとんどの撮像シーンではこの条件が成り立つ。
この条件1が成り立つ場合において、まずattached shadowを考える。図50で示したように、attached shadowは被写体の法線が光源と反対方向を向いているために生じる陰影である。ここで、条件1より、光源と反対方向には広い面が存在していることと、陰影領域には実際には多数の回り込み光(多重反射光)が存在していることを考慮すると、attached shadowには、さまざまな方向から多重反射光が入射していると考えられる。つまり、attached shadowが生じている画素の法線に対して、正反射となる多重反射光が存在すると考えられる。図51はこの様子を示した模式図である。
ところで、被写体表面の反射特性は、てかりである鏡面反射成分と、マットな反射成分である拡散反射成分の和として表現されることが知られている。拡散反射成分は、被写体に投光する光源がいずれの方向に存在しても観測されるが、鏡面反射成分は、被写体の法線方向と視線方向に対し、ほぼ正反射方向に光源が存在する場合にのみ観測される、方向依存性の強い成分である。これは、偏光特性に関しても成り立つ。
被写体が、てかりである鏡面反射を生じる物体の場合、すべての方向から光が投光された場合、被写体は正反射成分である鏡面反射による影響を強く受けることが知られている(例えば、透明物体に関しては、斉藤めぐみ,佐藤洋一,池内克史,柏木寛,"ハイライトの偏光解析にもとづく透明物体の表面形状測定",電子情報通信学会論文誌D-II,Vol. J82-D-II,No.9,pp.1383-1390,1999)。そのため、attached shadowは鏡面反射の偏光特性を持つ。
鏡面反射成分と拡散反射成分の偏光度を示した、前述の図17および18から、すべての方向から光が入射された場合、拡散反射成分に比べ鏡面反射成分の偏光度が高くなることがわかる。このことからも、偏光特性としても鏡面反射成分が支配的になると推測される。
また、出射角が90°に近い、遮蔽エッジなどを除外した場合、図17および18からわかるように、鏡面反射成分の偏光度は拡散反射成分に比べて高い。そのため、鏡面反射成分の反射特性を示すattached shadowは、相対的に偏光度が高くなる。
次に、cast shadowについて考える。図50で示したように、cast shadowは何らかの遮蔽物によって光が遮蔽されることによって生じる陰影である。ここで、条件1を考慮すると、cast shadowは、広い面と近い法線方向を持った面に生じやすくなる。そのため、多重反射光はattached shadowに比べて限られた方向からしか入射しない。このことから、正反射方向に光源が存在する可能性は低いと考えられる。図52はこの様子を示した模式図である。
さらに、図18で示したように、拡散反射成分の偏光度は相対的に低い。このことから、cast shadowの偏光成分は比較的小さくなることがわかる。陰影領域では、輝度そのものが小さくなるため、小さな偏光成分を推定することは非常に困難である。そのため、cast shadowの偏光推定誤差は非常に大きくなる。
以上のことをまとめると、陰影領域の偏光特性は、以下のように分類される。
○attached shadow
・偏光度が高く、偏光推定誤差が小さい。
・多くの場合、鏡面反射特性を示す。
○cast shadow
・偏光度が低く、偏光推定誤差が大きい。
・多くの場合、拡散反射特性を示す。
この分類基準を利用することで、陰影をattached shadowとcast shadowに分割する。
図53は、図47の画像分類基準において、陰影領域と分割された領域に対する陰影領域分割基準を示している。また、図54は、陰影領域と分割された領域に対する、領域分割部115の処理の流れを示すフローチャートである。
画素が陰影領域であると判断された場合、領域分割部115は、偏光情報取得部103で取得された偏光度ρの大きさを評価する(ステップS141)。すなわち、領域分割部115は、偏光度ρの大きさと閾値Thρとを比較する。その結果、偏光度ρの大きさが閾値Thρ以上であった場合(ステップS141でNo)、領域分割部115は画素をattached shadowと判断し(ステップS142)、処理を終了する。一方、偏光度ρの大きさが閾値Thρより小さかった場合(ステップS141でYes)、領域分割部115は画素をcast shadowと判断し(ステップS143)、処理を終了する。このときの偏光度の閾値Thρは、被写体の屈折率や被写体の法線方向、光源方向、視線方向などから設定するようにしても構わない。図17および18に示したように、被写体の鏡面反射成分偏光度や拡散反射成分偏光度は屈折率と入射角、出射角が求まれば一意に決定できる。そのため、図17および18で求まる鏡面反射成分偏光度や拡散反射成分偏光度をThρとして利用すればよい。また、被写体の屈折率や被写体の法線方向、光源方向、視線方向などの情報が得られない場合、拡散反射成分偏光度がとりうる最大値をもとに閾値Thρとして決定しても構わない。例えば、屈折率2.0以上の被写体は存在しないと仮定すると、図18より拡散反射成分偏光度の最大値は0.6程度と考えられるので、閾値Thρとして、0.8程度を設定すればよい。
もちろん、偏光度の閾値Thρを実験的に決定するようにしても構わない。
以上のように、図47および53の領域分割基準を用いることにより、領域分割部115は、画像を拡散反射領域、鏡面反射領域、attached shadowおよびcast shadowに分割する。
もちろん、陰影領域をattached shadowとcast shadowに分割する基準は、偏光推定誤差情報に限ったものではなく、例えば、偏光度情報であっても構わない。この処理を詳述する。
図55は、図47の画像分類基準において、陰影領域と分割された領域に対する陰影領域分割基準を示している。また、図56は、陰影領域と分割された領域に対する、領域分割部115の処理の流れを示すフローチャートである。
画素が陰影領域であると判断された場合、領域分割部115は、偏光情報取得部103で取得された偏光推定誤差Eの大きさを評価する(ステップS141)。すなわち、領域分割部115は、偏光推定誤差Eの大きさと閾値Th_Errとを比較する。その結果、偏光推定誤差Eの大きさが閾値Th_Err以下であった場合(ステップS144でNo)、領域分割部115は画素をattached shadowと判断し(ステップS142)、処理を終了する。一方、偏光推定誤差Eの大きさが閾値Th_Errより大きかった場合(ステップS144でYes)、領域分割部115は画素をcast shadowと判断し(ステップS143)、処理を終了する。このときの閾値Th_Errは撮像画像の輝度値や(数1)の振幅成分A、バイアス成分Cを基準に決定すればよい。例えば、振幅成分Aを基準に閾値Th_Errを決定する場合、以下のように決定すればよい。
この式は、偏光推定誤差Eが振幅成分Aに対してどの程度、異なっているかを示している。ここで、Th_Eは適当な正の定数であり、実験的に決定すればよく、例えば、0.3を設定すればよい。また、Nは前述のサンプル数である。
以上のように、図47および55の領域分割基準を用いることにより、領域分割部115は、画像を拡散反射領域、鏡面反射領域、attached shadowおよびcast shadowに分割する。
法線1自由度推定部106は、前述のように、領域分割部115で分割された領域ごとに、偏光情報取得部103で生成された偏光情報を用いて、対応する被写体の表面での法線1自由度を推定する。このとき、領域分割部115において、attached shadowと分割された画素は、鏡面反射成分として、 法線1自由度情報φnを数25によって計算する。
信頼性推定部119は、法線情報生成部137が推定する法線方向ベクトルの信頼性を評価する。これは、領域分割部115で分割された領域がcast shadowであるか、そうでないかを判断すればよい。
法線情報生成部137は、信頼性推定部119が推定した信頼性情報によって、法線方向ベクトルの推定処理を切り替える。
図48および57は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図57において、図49と共通のステップには図49と同一の符号を付しており、その詳細な説明を省略する。
信頼性推定部119は、領域分割部115が分割した領域分割結果がcast shadowかそうでないかを判断することで、推定された法線方向ベクトルの信頼性を判断する(ステップS134)。その結果、参照画素がcast shadow領域でなかった場合(ステップS134でNo)、前述の通り、法線情報生成部137は、法線1自由度推定部106、106−2で推定された法線1自由度を、ステレオ対応取得部104で取得された画像の対応関係を利用して統合することで、法線方向ベクトルを推定し(ステップS109)、処理を終了する。参照画素がcast shadowであった場合(ステップS134でYes)、信頼性推定部119は、法線1自由度情報に信頼性がないと判断し、法線情報生成部137は、法線1自由度推定部106、106−2を統合することによる法線方向ベクトルの推定を行なわない。法線情報生成部137は、このような領域では、近傍の求まっている法線方向ベクトルを利用して、例えば、補間処理を行なうことで、法線方向ベクトルを取得する(ステップS132)。
本実施の形態における法線情報生成装置100が搭載されたカメラは、実施形態1にかかるカメラ200(図5)と同じである。よって、詳細な説明は省略する。
もちろん、信頼性推定部109は、陰影領域を利用するのではなく、例えば、多重反射領域を利用するようにしても構わない。多重反射領域では、光線が複雑 になり、偏光情報の信頼性が失われる。そこで、本実施形態の法線情報生成装置100では、領域分割部115によって、多重反射領域を領域分割し、信頼性推 定部109は多重反射領域を信頼性が低い領域と判断する。
領域分割部115によって、多重反射領域を領域分割するためには、例えば、色情報を利用すればよい。一般に、拡散反射成分の色ベクトルは物体色に等しく、鏡面反射成分の色ベクトルは光源色に等しい。ここでは、多重反射として2次反射を考える。2次反射とは、光源からの光が、領域Aで反射し、その反射光がさらに領域Bを照射し、その領域Bを観測している状態を示す。この場合、領域Aで拡散反射、領域Bで鏡面反射が生じている場合、領域Bで観測される色ベクトルは、領域Aの物体色ベクトルと等しくなる。ここで、非偏光成分の色ベクトルは、物体色ベクトルとほぼ等しいと仮定する。このとき、領域Bで観測された偏光成分の色ベクトルが、領域Bの非偏光成分の色ベクトルとも異なり、さらに光源色ベクトルとも異なる場合、領域Bでは多重反射が生じていると判断することができる。
以上のように、被写体の偏光情報を利用し、鏡面反射成分と拡散反射成分双方を仮定した法線1自由度候補を信頼性を利用して最適に統合することで、画素ごとに法線情報が生成されるため、広い領域についてパッシブに高精度な法線情報が推定できる。
(第6の実施形態)
次に、本発明の第6の実施の形態における法線情報生成装置を説明する。
図58は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。この法線情報生成装置100は、3眼以上のステレオ偏光画像撮像部111を有し、視点の異なる3枚以上の偏光画像(第1の偏光画像、第2の偏光画像、第3の偏光画像)を取得する。そのため、法線情報生成部157は、例えば、第1の偏光画像と第2の偏光画像から法線方向ベクトル候補n12を、第1の偏光画像と第3の偏光画像から法線方向ベクトル候補n13を、第2の偏光画像と第3の偏光画像から法線方向ベクトル候補n23を生成する。こうして求めた複数の法線方向ベクトル候補に対し、最適法線選択部118は、その妥当性を評価することで、法線方向ベクトルを選択する。2眼のみのステレオ偏光画像撮像部101を利用した場合、前述のように、カメラと参照点の3次元配置および参照点の法線方向ベクトルの関係によっては、法線方向ベクトルnの推定が不定となる場合が存在する。本実施形態の法線情報生成装置100は、3眼以上のステレオ偏光画像撮像部111を利用することで、この問題を解決するものである。なお、第1の実施形態における法線情報生成装置100と同一の構成要素には、図4と同一の符号を付し、その説明を省略する。
ステレオ対応取得部114は、3眼以上のステレオ偏光画像撮像部111が取得した3視点以上の第1の偏光画像、第2の偏光画像および第3の偏光画像において画素ごとの対応関係を推定する。これは、前述の図15で示した処理を、3視点以上の偏光画像に関して行なえばよい。
第1の領域分割部105、第2の領域分割部105−2および第3の領域分割部105−3は、第1の偏光情報取得部103、第2の偏光情報取得部103−2および第3の偏光情報取得部103−3が生成した第1の偏光情報、第2の偏光情報および第3の偏光情報や第1の偏光画像撮像部102、第2の偏光画像撮像部102−2および第3の偏光画像撮像部102−3が取得した第1の輝度情報、第2の輝度情報および第3の輝度情報を利用し、第1の画像、第2の画像および第3の画像を拡散反射領域および鏡面反射領域に領域分割する。これは、前述の領域分割処理を、第1の画像と第2の画像、および/または、第1の画像と第3の画像、および/または、第2の画像と第3の画像に対して、順次または並列的に、行なうようにすればよい。
法線情報生成部157は、法線1自由度推定部106、106−2および106−3で推定された法線1自由度を、ステレオ対応取得部114で取得された画像の対応関係を利用して統合することで、複数の法線方向ベクトル候補を推定する。本実施形態に基づく法線情報生成装置100は、3眼以上のステレオ偏光画像撮像部111を有する。そのため、例えば、第1の偏光画像と第2の偏光画像から法線方向ベクトル候補n12を、第1の偏光画像と第3の偏光画像から法線方向ベクトル候補n13を、第2の偏光画像と第3の偏光画像から法線方向ベクトル候補n23を生成する。
最適法線選択部118は、3つの法線方向ベクトル候補n12、n13およびn23から、最適なものを選択することで、法線方向ベクトルnを推定する。最適法線選択部118は、複数の法線方向ベクトル候補から、最適なものを選択するために、法線1自由度推定部106で推定された法線1自由度情報を利用する。この処理を説明する。
前述のように、以下の条件を満たす場合、2眼のステレオ偏光画像から求めた入出射面S1、S2の交線は一意に求まらず、法線方向ベクトルnは不定となってしまう。
[法線方向ベクトルnの推定が不定となる条件]
参照点Pの法線方向ベクトルが以下の3点を通る平面上に存在。
・撮像素子202の焦点位置。
・撮像素子202−2の焦点位置。
・参照点P。
そこで、最適法線選択部118は、まず、第1の偏光画像から求めた入出射面S1と第2の偏光画像から求めた入出射面S2および第3の偏光画像から求めた入出射面S3のそれぞれのなす入出射面角を前述の数35にしたがって計算する。ここで、入出射面S1と入出射面S2から求めた入出射面角をφs12、入出射面S1と入出射面S3から求めた入出射面角をφs13、入出射面S2と入出射面S3から求めた入出射面角をφs23とする。こうして求めた入出射面角φs12、φs13およびφs23において、最も値が大きいカメラ組を選択する。こうして選択されたカメラ組から法線方向ベクトルnを前述のように取得する。こうして取得された法線方向ベクトルnは、上記推定が不定となる条件に最も合わない、つまり、最も信頼性の高い法線方向ベクトルであると判断できる。
図59および60は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図59および60において、図7と共通のステップには図7と同一の符号を付しており、その詳細な説明を省略する。
まず、第1の偏光画像撮像部102は、第1のパターン偏光子201を通して被写体を第1の撮像素子202で受光することで、偏光情報を含んだ画像である第1の偏光画像を取得する(ステップS101)。第1の偏光情報取得部103は、第1の偏光画像撮像部102が撮像した第1の偏光画像の輝度変化を利用して、第1の偏光情報を生成する(ステップS102)。第2の偏光画像撮像部102−2は、第2のパターン偏光子201−2を通して被写体を第2の撮像素子202−2で受光することで、偏光情報を含んだ画像である第2の偏光画像を取得する(ステップS103)。第2の偏光情報取得部103−2は、第2の偏光画像撮像部102−2が撮像した第2の偏光画像の輝度変化を利用して、第2の偏光情報を生成する(ステップS104)。第3の偏光画像撮像部102−3は、第3のパターン偏光子201−3を通して被写体を第3の撮像素子202−3で受光することで、偏光情報を含んだ画像である第3の偏光画像を取得する(ステップS401)。第3の偏光情報取得部103−3は、第3の偏光画像撮像部102−3が撮像した第3の偏光画像の輝度変化を利用して、第3の偏光情報を生成する(ステップS402)。ここで、ステップS101〜ステップS102と、ステップS103〜ステップS104と、ステップS401〜ステップS402の順序は任意であり、並列的に実行してもよいし、もちろん、順次実行しても構わない。ステレオ対応取得部114は、ステレオ偏光画像撮像部111が取得した第1の偏光画像、第2の偏光画像および第3の偏光画像において画素ごとの対応関係を推定する(ステップS403)。第1の領域分割部105、第2の領域分割部105−2および第3の領域分割部105−3は、第1の偏光情報取得部103、第2の偏光情報取得部103−2および第3の偏光情報取得部103−3が生成した第1の偏光情報、第2の偏光情報および第3の偏光情報、および/または、第1の偏光画像撮像部102、第2の偏光画像撮像部102−2および第3の偏光画像撮像部102−3が取得した第1の輝度情報、第2の輝度情報および第3の輝度情報を利用し、第1の画像、第2の画像および第3の画像を拡散反射領域および鏡面反射領域に領域分割する(ステップS404)。第1の法線1自由度推定部106は、偏光情報取得部103で生成された第1の偏光情報を用いて、第1の領域分割部105で分割された領域ごとに異なった処理を行なうことにより、対応する被写体の表面での法線1自由度情報として入出射面S1を推定する(ステップS107)。第2の法線1自由度推定部106−2は、偏光情報取得部103−2で生成された第2の偏光情報を用いて、第2の領域分割部105−2で分割された領域ごとに異なった処理を行なうことにより、対応する被写体の表面での法線1自由度情報として入出射面S2を推定する(ステップS108)。第3の法線1自由度推定部106−3は、偏光情報取得部103−3で生成された第3の偏光情報を用いて、第3の領域分割部105−3で分割された領域ごとに異なった処理を行なうことにより、対応する被写体の表面での法線1自由度情報として入出射面S3を推定する(ステップS405)。ここで、ステップS107と、ステップS108と、ステップS405の順序は任意であり、並列的に実行してもよいし、もちろん、順次実行しても構わない。法線情報生成部157は、法線1自由度推定部106、106−2および106−3で推定された法線1自由度情報を、ステレオ対応取得部114で取得された画像の対応関係を利用して統合することで、3つの法線方向ベクトル候補n12、n13およびn23を推定する(ステップS406)。最適法線選択部118は、3つの法線方向ベクトル候補n12、n13およびn23から、前述の入出射面角情報を利用することで、最適なものを選択し、選択された法線方向ベクトル候補を法線方向ベクトルnとして選択する(ステップS407)。
もちろん、法線情報生成部157は、3つの法線方向ベクトル候補n12、n13およびn23を推定するのではなく、2つの法線方向ベクトル候補n12およびn13のみを推定するようにしても構わない。
また、図61は、本実施の形態における法線情報生成装置100が搭載されたカメラ200のハードウェア構成例を示している。このカメラ200は、法線情報を生成する機能を備える撮像装置であり、3つ以上のパターン偏光子(第1のパターン偏光子201、第2のパターン偏光子201−2および第3のパターン偏光子201−3)、3つ以上の撮像素子(第1の撮像素子202、第2の撮像素子202−2および第3の撮像素子202−3)、メモリ203およびCPU204を備える。なお、図61において、図5と共通の構成要素には図5と同一の符号を付しており、新しい構成要素は存在しないため、その詳細な説明を省略する。
図27、65および68は本実施形態における法線情報生成部157によって推定した法線方向ベクトルを可視化した法線画像を示している。前述のように、法線方向ベクトルの各成分は-1から1の範囲の値をもつため、法線画像では、法線方向ベクトルの各成分の0を灰色、負の方向に黒く、正の方向に白くなるような表現をしている。また、背景は黒色で示している。図27は、撮像素子を水平方向に配置した、図24(b)と図24(d)の偏光位相を利用して、法線情報生成部157が推定した法線方向ベクトル候補n12を可視化した法線画像を表している。
図27(a)は法線方向ベクトル候補n12のx成分の法線画像を示している。また、図27(b)は法線方向ベクトル候補n12のy成分の法線画像を示している。また、図27(c)は法線方向ベクトル候補n12のz成分の法線画像を示している。また、図28は、図27の各図を模式的に示した図(濃淡を明瞭化した図)である。
以下、本実施の形態による法線情報生成装置100を利用した画像生成例を説明する。例では、球体である地球儀を被写体としている。図62は、本願発明者らによる撮影時のカメラ200と被写体との位置関係、および、カメラ200内のパターン偏光子201、201−2および201−3との位置関係を示している。カメラ200から被写体までは160cmであり、パターン偏光子201および201−2の間隔、および、パターン偏光子201および201−3の間隔は50cmである。パターン偏光子間の間隔は、撮像素子の間隔とほぼ同じである。
図63(a)は、地球儀を被写体とし、偏光情報取得部103−3(偏光情報取得部103の上方より撮像)によって取得された偏光最大輝度値Imaxと偏光最小輝度値Iminの和(Imax+Imin)、図63(b)は、地球儀を被写体とし、偏光情報取得部103−3によって取得された偏光位相φmax3(0°が黒、180°が白)を表している。また、図63(c)および図63(d)は、図63(a)および図63(b)を模式的に示した図(濃淡を明瞭化した図)である。図64(a)および(b)はそれぞれ、図63(c)および(d)に示す画像に対応する領域を示している。
図65(a)〜(c)は、撮像素子を垂直方向に配置した、図24(b)と図63(b)の偏光位相を利用して、法線情報生成部157が推定した法線方向ベクトル候補n13を可視化した法線画像を表している。図65(a)は法線方向ベクトル候補n13のx成分の法線画像を示している。また、図65(b)は法線方向ベクトル候補n13のy成分の法線画像を示している。また、図65(c)は法線方向ベクトル候補n13のz成分の法線画像を示している。
また、図66(a)〜(c)は、図65(a)〜(c)の各図を模式的に示した図(濃淡を明瞭化した図)である。図67(a)〜(c)はそれぞれ、図65(a)〜(c)に示す画像と、図66(a)〜(c)に示す各領域との対応関係を示している。
図68(a)〜(d)は、本実施形態における最適法線選択部118によって選択された最適な法線方向ベクトルnを可視化した法線画像を表している。図68(a)は法線方向ベクトルnのx成分の法線画像を示している。また、図68(b)は法線方向ベクトルnのy成分の法線画像を示している。図68(c)は法線方向ベクトル候補nのz成分の法線画像を示している。また、図68(d)は最適法線選択部118が法線方向ベクトル候補n12と法線方向ベクトルn13のいずれを選択したかを画素ごとに示した模式図である。この図において、法線方向ベクトル候補n12が選択された画素は白く、法線方向ベクトル候補n13が選択された画素は黒くなるような表現をしている。また、背景は灰色で示している。
また、図69(a)〜(d)は、図68(a)〜(d)の各図を模式的に示した図(濃淡を明瞭化した図)である。図70(a)〜(d)はそれぞれ、図68(a)〜(d)に示す画像と、図69(a)〜(d)に示す各領域との対応関係を示している。
被写体が球体であるため、撮像素子を水平に並べた法線方向ベクトル候補n12を示した図27では、球体の画面中央部水平領域において、x成分法線画像が乱れていることがわかる(図28(a)および図29(a)における領域G31)。この領域は、前述の「法線方向ベクトルnの推定が不定となる条件」を満たす領域である。一方、撮像素子を垂直に並べた法線方向ベクトル候補n13を示した図65では、球体の画面中央部垂直領域において、y成分法線画像が乱れていることがわかる(図66(b)および図67(b)における領域G42)。この領域も、前述の「法線方向ベクトルnの推定が不定となる条件」を満たす領域である。一方、図68(d)より、最適法線選択部118は、画面中央部水平領域においては法線方向ベクトル候補n13を、画面中央部垂直領域においては法線方向ベクトル候補n12を選択しているため、「法線方向ベクトルnの推定が不定となる条件」を回避していることがわかる。そのため、生成された法線方向ベクトルnは、安定して推定されていることがわかる(図68(a)〜(c)参照)。
以上のように、鏡面反射領域と拡散反射領域の領域分割を行ない、被写体の偏光情報を利用することで、被写体の偏光情報を利用して、分割された領域ごとに異なった処理を行なうことにより、広い領域についてパッシブに高精度な法線情報が推定できる。
もちろん、最適法線選択部118は、複数の法線方向ベクトル候補から、最適なものを選択するために、偏光情報取得部103で取得した偏光情報を利用しても構わない。これは、例えば偏光度ρを利用するようにすればよい。これは、3つの偏光画像(第1の偏光画像、第2の偏光画像、および第3の偏光画像)から求めた偏光度ρ1、ρ2およびρ3の大きさを比較し、その上位2つに対応する画像を利用して求めた法線方向ベクトル候補を法線方向ベクトルnとして選択すればよい。これは、偏光度が低い場合には、偏光情報の信頼性がなくなるためである。偏光度が低い場合、偏光情報として偏光位相情報φmaxを取得することは非常に困難である。偏光度を利用した法線方向ベクトルの選択を行なうことで、上記の状態を回避でき、問題を解決することが可能である。
もちろん、最適法線選択部118は、複数の法線方向ベクトル候補から、最適なものを選択するために、偏光情報取得部103で取得した偏光推定誤差Eを利用しても構わない。これは、3つの偏光画像(第1の偏光画像、第2の偏光画像、および第3の偏光画像)から求めた偏光推定誤差E1、E2およびE3の大きさを比較し、その下位2つに対応する画像を利用して求めた法線方向ベクトル候補を法線方向ベクトルnとして選択すればよい。これは、偏光推定誤差Eが大きい場合には、偏光情報の信頼性がなくなるためである。偏光推定誤差を利用した法線方向ベクトルの選択を行なうことで、信頼性高く推定された偏光位相情報のみを利用して、法線方向ベクトルを生成することが可能である。
もちろん、最適法線選択部118は、複数の法線方向ベクトル候補から、最適なものを選択するために、偏光画像撮像部102で取得した偏光画像を利用しても構わない。これは、3つの偏光画像(第1の偏光画像、第2の偏光画像、および第3の偏光画像)の参照画素の輝度値の大きさを比較し、その上位2つに対応する画像を利用して求めた法線方向ベクトル候補を法線方向ベクトルnとして選択すればよい。これは、偏光画像の輝度値が低い場合には、輝度分解能が小さくなるため、偏光情報の信頼性が低くなると考えられるためである。偏光画像を利用した法線方向ベクトルの選択を行なうことで、信頼性高く推定された偏光位相情報のみを利用して、法線方向ベクトルを生成することが可能である。
もちろん、法線情報生成部157は、複数の法線方向ベクトル候補を生成するのではなく、最適法線選択部118が選択した最適な法線方向ベクトルnのみを生成するようにしても構わない。
図71は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。なお、すべての構成要素は図58と同一のため、図58と同一の符号を付し、その説明を省略する。
図72は、本実施形態における最適法線選択部118および法線情報生成部157の処理の流れを示すフローチャートである。
まず、最適法線選択部118は、入出射面S1(第1の偏光画像より取得)と入出射面S2(第2の偏光画像より取得)から、入出射面角φs12を数35によって計算し、これを法線推定信頼度Co_1−2とする(ステップS501)。つぎに、最適法線選択部118は、入出射面S1(第1の偏光画像より取得)と入出射面S3(第3の偏光画像より取得)から、入出射面角φs13を数35によって計算し、これを法線推定信頼度Co_1−3とする(ステップS502)。また、最適法線選択部118は、入出射面S2(第2の偏光画像より取得)と入出射面S3(第3の偏光画像より取得)から、入出射面角φs23を数35によって計算し、これを法線推定信頼度Co_2−3とする(ステップS503)。ここで、最適法線選択部118は、法線推定信頼度Co_1−2、Co_1−3およびCo_2−3の大きさを比較する(ステップS504)。まず、Co_1−2がCo_1−3以上であり、かつ、Co_1−2がCo_2−3以上である場合(ステップS504でYes)、法線情報生成部157は、入出射面S1(第1の偏光画像より取得)と入出射面S2(第2の偏光画像より取得)から、法線方向ベクトルnを推定し(ステップS505)、処理を終了する。また、Co_1−2がCo_1−3より小さい、またはCo_1−2がCo_2−3より小さかった場合(ステップS504でNo)、最適法線選択部118は法線信頼度Co_1−3およびCo_2−3の大きさを比較する(ステップS506)。Co_1−3がCo_2−3以上であった場合(ステップS506でYes)、法線情報生成部157は、入出射面S1(第1の偏光画像より取得)と入出射面S3(第3の偏光画像より取得)から、法線方向ベクトルnを推定し(ステップS507)、処理を終了する。また、Co_2−3がCo_1−3より大きかった場合(ステップS506でNo)、法線情報生成部157は、入出射面S2(第2の偏光画像より取得)と入出射面S3(第3の偏光画像より取得)から、法線方向ベクトルnを推定し(ステップS508)、処理を終了する。
以上の説明は、撮像素子202が3個の場合を説明したが、もちろん4個以上の撮像素子を利用しても構わない。
なお、本実施の形態では、偏光情報取得部103を第1の偏光画像撮像部102と第2の偏光画像撮像部102−2および第3の偏光画像撮像部102−3それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、領域分割部105を第1の偏光情報取得部103と第2の偏光情報取得部103−2および第3の偏光情報取得部103−3それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、法線1自由度推定部106を第1の偏光情報取得部103と第2の偏光情報取得部103−2および第3の偏光情報取得部103−3それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
以上のように、鏡面反射領域と拡散反射領域の領域分割を行ない、被写体の偏光情報を利用することで、被写体の偏光情報を利用して、分割された領域ごとに異なった処理を行なうことにより、広い領域についてパッシブに高精度な法線情報が推定できる。
(第7の実施形態)
次に、本発明の第7の実施の形態における法線情報生成装置を説明する。
図73は、本実施の形態における法線情報生成装置100の構成を示す機能ブロック図である。この法線情報生成装置100において法線情報生成部167は、3つ以上の視点から求まった法線1自由度情報を利用して、法線方向ベクトルを推定する。なお、第6の実施形態における法線情報生成装置100と同一の構成要素には、図71と同一の符号を付し、その説明を省略する。
法線情報生成部167は、法線1自由度推定部106、106−2および106−3で推定された法線1自由度を、ステレオ対応取得部114で取得された画像の対応関係を利用して統合することで、一つの法線方向ベクトルnを推定する。これは、例えば、3つの入出射面S1、S2およびS3の法線方向と推定すべき法線方向ベクトルnのなす角が最大(90度)になるような法線方向ベクトルnを生成すればよい。この処理を説明する。
まず、生成すべき法線方向ベクトルをnとし、これは第1の撮像素子202でのカメラ座標系C1で表現されているとする。また、第2の撮像素子202−2でのカメラ座標系C2における法線方向ベクトルをn_C2、第3の撮像素子202−3でのカメラ座標系C3における法線方向ベクトルをn_C3とする。このとき、各カメラ座標上での法線方向ベクトルは、次式で表される。
ただし、Rc1−c2はカメラ座標系C1からカメラ座標系C2への変換を表す回転行列、Rc1−c3はカメラ座標系C1からカメラ座標系C3への変換を表す回転行列である。ここで、各撮像素子での法線1自由度をφn1、φn2およびφn3とすると、法線方向ベクトルnは、以下の評価関数Ev3を最小化する法線方向ベクトルnとして求められる。
図74は、本実施の形態における法線情報生成装置100による処理の流れを示すフローチャートである。なお、図74において、図59と共通のステップには図59と同一の符号を付しており、その詳細な説明を省略する。
法線情報生成部157は、入出射面S1(第1の偏光画像より取得)と入出射面S2(第2の偏光画像より取得)および入出射面S3(第3の偏光画像より取得)から、前述の数42を最小化することで、法線方向ベクトルnを推定し(ステップS408)、処理を終了する。
もちろん、法線情報生成部157は、数42を最小化することで、法線方向ベクトルnを推定する際、前述の拘束条件をさらに評価関数Ev3に導入することで、大域的に安定した法線を求めるようにしても構わない。このような拘束条件としては、前述のように、例えば、法線方向ベクトルの連続性、鏡面反射成分と拡散反射成分の空間的な連続性、偏光情報、遮蔽エッジ近傍領域の法線方向ベクトル、法線情報および奥行情報の少なくとも1つの情報を拘束条件など利用すればよい。例えば、法線方向ベクトルの連続性と鏡面反射成分と拡散反射成分の空間的な連続性を拘束条件として利用する場合、法線方向ベクトルnは、以下の評価関数Ev4を最小化する法線方向ベクトルnとして求められる。
ただし、C1およびC2は拘束条件の重み係数である。
以上の説明は、撮像素子202が3個の場合を説明したが、もちろん4個以上の撮像素子を利用しても構わない。
また、数42、数43で示した評価関数を、法線方向ベクトルnを推定するために用いるのではなく、例えば、ステレオ対応取得部114や領域分割部105が利用するようにしても構わない。領域分割部105が参照点を鏡面反射成分または拡散反射成分に分割する場合には、以下の処理を行なえばよい。まず、第1の法線1自由度推定部106、第2の法線1自由度推定部106−2および第3の法線1自由度推定部106−3は、参照点および対応点の法線1自由度候補(φ1nd、φ1ns)、(φ2nd、φ2ns)および(φ3nd、φ3ns)を求める。ここで、φ1nd、φ1nsはそれぞれ、撮像素子202で撮像された第1の偏光画像に対して、拡散反射成分を仮定した場合の法線1自由度候補、鏡面反射成分を仮定した場合の法線1自由度候補である。上記の法線1自由度候補すべての組み合わせ(φ1nd―φ2nd―φ3nd、φ1nd―φ2nd―φ3ns、φ1nd―φ2ns―φ3nd、φ1nd―φ2ns―φ3ns、φ1ns―φ2nd―φ3nd、φ1ns―φ2nd―φ3ns、φ1ns―φ2ns―φ3nd、φ1ns―φ2ns―φ3ns)8通りにおいて、それぞれ数42を最小にする法線方向ベクトル候補とその際の評価関数の値を計算する。領域分割部105、こうして求めた評価関数を最小にする組み合わせを領域分割結果として選択すればよい。もちろん、法線情報生成部157は、評価関数を最小とする組み合わせにおける法線方向ベクトル候補を法線方向ベクトルnとして生成すればよい。
また、例えば、ステレオ対応点取得部114では、複数画像間での対応点を求める際、数42や数43が最小となる対応点を、例えば、エピポーラ線上を探索しながら検出するようにすればよい。
本実施の形態における法線情報生成装置100が搭載されたカメラは、実施形態1にかかるカメラ200(図61)と同じである。よって、詳細な説明は省略する。
なお、本実施の形態では、偏光情報取得部103を第1の偏光画像撮像部102と第2の偏光画像撮像部102−2および第3の偏光画像撮像部102−3それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、領域分割部105を第1の偏光情報取得部103と第2の偏光情報取得部103−2および第3の偏光情報取得部103−3それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
また、本実施の形態では、法線1自由度推定部106を第1の偏光情報取得部103と第2の偏光情報取得部103−2および第3の偏光情報取得部103−3それぞれに対し、個別に設けたが、同一モジュールとして実現しても、もちろん構わない。
以上のように、被写体の偏光情報を利用し、鏡面反射成分と拡散反射成分双方を仮定した法線1自由度候補を最適に統合することで、画素ごとに法線情報が生成されるため、広い領域についてパッシブに高精度な法線情報が推定される。
なお、法線情報生成装置も画像を処理している点において画像処理装置と呼んでもよい。ただし、その画像処理装置は、図1に示す画像処理装置とは異なる機能を有するものであることに留意されたい。
(第8の実施形態)
以下、本発明の第8の実施の形態による視点変換画像生成装置を説明する。
上述したいずれかの実施形態にかかる法線情報生成装置によれば、被写体の法線情報を得ることができる。本実施形態による視点変換画像生成装置は、この法線情報を利用して視点変換された画像(以下「視点変換画像」という。)を生成する。ここで、「視点変換」とは、被写体を撮影した時の視点位置とは異なる視点位置から見た画像を生成する処理をいう。視点変換することにより、同じ被写体を異なる方向から見た画像を得ることができる。
視点変換の実現方法としては、従来多眼カメラを用いて多視点画像を撮像し、それを補間する画像ベースの方法、および、被写体の3次元幾何モデルを取得してそれにテクスチャを貼り付けるモデルベースの方法がある。しかしながら、前者の方法は、高精細化のためには使用するカメラ数が相当数に増えてしまうこと、基本的には補間を用いるためカメラ群が存在しない任意視点からの視点変換が不可能であるという欠点がある。また、後者の方法では、被写体の高品質な3次元モデルの取得が困難という欠点がある。
一方、本発明に係る法線情報生成装置は、ステレオ偏光画像を用いることにより被写体法線を画素ベースで取得できる。このように画素ベースで法線が取得できる利点は、陰影から法線を復元する、いわゆるShapeFromShadingの手法を除けば偏光を用いる手法は唯一の方法であるといってもよく、これを元に形状を復元することにより高精度な3次元モデルを生成し、モデルベースの視点変換を実施することが可能である。
本発明によれば、ステレオ偏光撮影という2眼カメラ系のみの撮像によって、実質的には多眼カメラで撮影したのと同等の多視点画像を生成し、さらに立体視画像を生成することなどが可能となる。その結果、医療内視鏡分野やITS分野、監視分野、さらには3Dムービーやe−commerceなどの分野まで応用範囲が広い技術に応用が可能となる。
図75は、本実施の形態における視点変換画像生成装置700のブロック図を示す。視点変換画像生成装置700は、上述の第1から第7のいずれかの実施形態による法線情報生成装置100を含んでいる。視点変換画像生成装置700は、被写体から法線情報を抽出し、その情報を元にして被写体形状を復元し、さらに視点を変換した画像や光源を変換した画像を合成して提示する。
法線情報生成装置100は、ステレオ偏光画像撮像部101、ステレオ対応取得部104、および、法線情報生成部107を備えており、被写体の法線の情報を取得する。この処理の詳細は既に説明したため省略する。なお、以下の説明では、実施形態2で説明した技術内容によってステレオ視のオクルージョンにより法線が得られない領域を含めて被写体全域の法線の情報が取得されているものとする。
光源情報取得部7501では、撮影環境での光源情報を取得する。光源情報は最も簡単なモデルでは光源ベクトルL(2自由度)を仮定することができ、その取得には鏡面球を使う方法などを使うことができる。この方法は、たとえば、Mark W.Powell, Sudeep Sarker, and Dmity Goldgof:“A Simple Strategy for Calibratng the Geometry of Light Sources"、IEEE Transactin on pattern analysis and machine intelligence,Vol.23, No.9, septermber 2001,pp.1023-1026に記載されている。
光源情報変換部7502は、撮影時の光源ベクトルを自由に変化させ、異なる光源ベクトルを利用して、光源を変動させた画像を合成する。ただし本実施形態では光源変動は主たる機能ではなく、視点変換により光源が相対的に変化する効果を再現するために行うものである。
視線情報取得部7503は、カメラパラメータを使ってカメラの視点ベクトルを取得する。カメラパラメータは、カメラの世界座標での位置と向きという外部パラメータ、および、焦点距離やレンズ中心、レンズ歪などの内部パラメータからなる。これらのパラメータの取得は、ステレオ偏光画像撮像部の校正時に既出のTsaiの手法などを使って実現されている。よって、詳細は省略する。
輝度画像変換部7504は、偏光画像を輝度画像に変換する。偏光画像撮像部が図8のような各画素上に設置された微小偏光板で構成されている場合、偏光軸の回転角(Ψi=0°、45°、90°、135°)の4種類の偏光方向を有する画素から得られる各輝度値は偏光情報を取得するために使われるが、これらを平均した値は偏光情報無しの輝度値となる。輝度画像変換部7504は、この平均処理により輝度画像を生成する。
形状復元部7505は、法線情報生成部107にて得られた被写体の法線情報と、ステレオ対応取得部104にて得られたステレオ対応からの被写体表面上にある離散的な特徴点の3次元座標とを用いて被写体形状を復元する。
法線情報生成装置100が出力するのは、法線画像である。これは、(x,y)の2次元平面に3成分を有するベクトルである法線が分布する画像であり、確かに被写体の3D形状の一部を表現しているため、光源が変化した場合の画像生成には十分である。しかし視点変換を行う場合には被写体形状自身が変化し3D形状が変わるため、法線画像から形状復元を行う必要がある。以下、暗室内で撮影された地球儀の形状を復元する例を挙げて具体的に説明する。
図76は、形状復元部7505の処理を示すフローチャートである。
ステップS7601では、形状復元部7505は、被写体マスク画像を作成する。これは被写体である地球儀の遮蔽エッジを確定し背景との分離を行うものである。任意のシーンにおいて背景と被写体の分離を行うことは困難である。しかしながら、適当なしきい値を設定して画像の輝度で2値化することにより被写体が分離できる。本実施形態では、このようにして得られた画像を被写体マスク画像として採用する。
ステップS7602では、形状復元部7505は、遮蔽エッジから順次勾配を積分して初期表面を生成する。以降、法線の表現には2自由度の勾配(p,q)空間を用いる。
図77は、勾配が法線ベクトルNから平行投影を仮定して得られる様子を示している。カメラ座標系をxyzとすると、xy座標系が画面内に存在するとき、視点はZ方向負向きに位置する。そこで、Nが接ベクトルrx、ryの外積の符号を変えたもので視点に向いているとすれば以下のような関係式として法線から勾配が得られる。
図78を用いて、勾配(p,q)の具体的な積分を説明する。被写体内部はマスク画像で表現されるが、これを遮蔽エッジからの距離変換によって遮蔽エッジから次第に中心部へ向かって数値が大きくなるように順序付けしておく。初期設定としてZをゼロクリアした後、積分該当画素について、距離が多くなる方向を求める(図78(A))。そして、その方向が周囲の斜め方向の場合(図78(B))と周囲の上下左右の方向の場合(図78(B))によって場合分けし、各々の場合に即して勾配(p,q)の順次演算を行う。この結果、地球儀の周囲から順次内側に向かって形状が復元される。この形状は撮像面上の画素座標系である奥行き画像Z(y,x)で表される。
図79は、法線画像(Nx,Ny,Nz)、およびマスク画像を入力して上記積分の結果、奥行き画像として表面が生成される過程を示す図である。このようにして初期表面が生成される。
ステップS7603では初期表面で求められる表面の形状精度は球の形状から程遠いため、再度勾配(p、q)を有する表面として形状を更新する。この方法では以下の積分を大域的に評価して最小化するZを求める。
この変分問題はLangrange−Euler方程式に帰着する(Poisson方程式)。
この式を離散化し、以下の逐次的な処理で最適解を求める。繰り返し処理は130X130画素の法線画像について1000回程度実施する。
ステップS7604(図76)では、形状復元部7505は、ステレオ対応点を制御点として導入する。本発明によれば偏光からの法線情報に加えて、2眼、または3眼ステレオ視によって求められた特徴点(以降「制御点」)の3次元位置情報を用いて被写体表面の形状を制御することができる。
図80は、この様子を示しており、最もZ値が小さい(カメラに近い)制御点を基準点と考え、その画素座標点を対応する奥行き画像に対応させる変換を行うことにより、全制御点を一様に透視投影で上記の焦点面上の奥行き画像に埋め込む。
ステップS7605では、制御点拘束付きの最適化を行う。ここまでの処理で滑らかだが歪んだ表面上に制御点が不連続に埋め込まれている状態となっているため再度、勾配の拘束を使って逐次的に表面を更新する。このような制御点拘束付きの最適化処理としては、Weighted Least Squares (WLS)という方法を用いる。この方法は、論文:Itsik Horovitz and Nahum Kiryati Tel Aviv University:“Depth from Gradient Fields and Control Points:Bias Correction in Photometric Stereo",Image and Vision Computing Vol.22,pp.681-694,2004に記載されている。
この方法では、対象画素から最も近い制御点からの影響を距離の逆数の重み関数として設定し、距離が近い場合には重みを大きく、距離が遠い場合には重みを小さくする。
具体的には
を最小化する。これをZijで微分してゼロとおく最小2乗法を用いると
となる。したがって、以下の式を繰り返し法で解くこととなる。
重み関数の関数形は任意であるが、今回は、
を用いる。ここでRは対象画素から最も近い制御点までの画像上の距離である。
制御点の拘束条件を具体的に実現するため繰り返し毎に、制御点を再度設定しなおしている。これをしないと繰り返しの後で得られる表面はほとんど制御点を反映しないものになってしまう。
ステップS7606(図76)では、形状復元部7505は、「滑らかさ」優先形状復元を行う。この理由は以下のとおりである。ステップS7605までの処理により、形状が復元される。よって、拡散反射成分の視点変換は一応実現できている。しかしながら、表面を詳しく検討すると
・全体的に凹凸が激しい
・特に地球儀中央部の鏡面反射の偏光状態を拡散反射の偏光とみなしている部分の再現が特によくない。
という課題がある。拡散反射成分再現には、このような形状誤差は遮蔽エッジ部分を除きそれほど影響はない。しかし、鏡面反射のモデル化をする場合は極めて高精度で滑らかな曲面が必要であることが分かっているため、この形状誤差は問題となる。これに対し滑らかさ優先で復元した形状を微分し滑らかな法線を得る手法をとり、勾配空間(p,q)を用いた形状復元において、法線の影響を受ける項の重みを係数Wを使って制御することとした。具体的にはW=0.5で生成した表面を用いて、鏡面反射再現には、こちらの形状を用いている。
ステップS7607では、形状復元部7505は、復元された奥行き画像からカメラ座標系の3次元空間内で表現された表面形状に変換する。
図81は、上述の各処理によって形状が順次再現されていく様子を示す。この例は、地球儀の奥行き画像の複数の水平方向のプロファイルを示している。
図81の(1)は法線を周囲から積分することで初期表面を作成した結果である。この結果にはかなりノイズが含まれている。図81の(2)は勾配空間を用いて形状を最適化した結果である。この結果でも、曲線がまだ交差しているなど歪みが存在する。図81の(3)ではステレオ制御点を導入して表面に拘束条件を課している。図81の(4)では(3)で導入されたステレオ制御点を通り、かつ法線からの勾配空間の条件を両立する表面を最適化して表面形状を生成している。やや歪みはあるものの正しい3次元位置に局面が生成されていることが理解される。図81の(5)は滑らかさ優先の条件で生成された表面を示し正確な形状からのずれはある。しかしながら、滑らかさは増加していることがわかる。
DS分離部7506(図75)では、表面輝度を拡散反射成分と鏡面反分に分離する。これは異なる視点から被写体を観察すると、表面の反射輝度のうち、拡散反射成分(ランバート反射)は不変だが、鏡面反射成分は視点に従って移動したり輝度が大きく変化する現象を再現するためである。本発明では、ステレオ視の2視点を使う方法を採用した。この原理は図82に示すとおりであり以下のようになる。
(1)Cam1とCam2という2視点位置から被写体を見た画像8201,8202を取得する。
(2)Cam2画像を視点変換して画像8203を生成する。画像8203は、Cam1の視点位置からみたCam2の画像である(図82では、「Cam2画像@Cam1視点」と記載している。
(3)8201と8203の同じ撮像画素座標どうしを比較して、輝度が小さいほうを拡散反射成分として拡散反射成分画像8204を生成する。
視点変換部7506では、カメラパラメータを用いてCam1またはCam2の拡散反射画像の成分のみを自在視点変換する。この処理は3D形状データ構造を前提としている。以下ではまず3D形状データ構造を説明する。
図83は、形状復元部7505にて復元された被写体3D形状データ構造を示す。形状復元部7505は、3D形状データ構造を、画素ベースの3D位置座標(カメラ座標系)のデータ形式に作り変えて記憶する。具体的にはカメラ1において撮像座標系(X,Y)の2D画素座標系に対して3D位置座標(Xc1,Yc1,Zc1)がテキスト形式にて格納される。この構造はカメラ視点から見える部分のみしかモデル化できない。しかしながら、最もシンプルな形での視点変換を実現できる。
被写体以外の背景部分には3D位置座標(−1,−1,−1)が埋め込まれる。
図84は、この3D形状データ構造とカメラパラメータを用いて、視点変換を行う処理を説明するフローチャートである。なお、このフローチャートでは、視点変換を行う対象であるCam1画像が、拡散反射画像の場合と法線画像の場合の両方の説明をしていることに注意されたい。これは、図75における視点変換部7507に、拡散反射画像と法線画像の2種の画像が入力されている構成に示されている。
まず、ステップS8401では、視点変換部7507は、Cam1画像とCam1座標系での3D形状データを取得する。
ステップS8402では、視点変換部7507は、上記の3D形状データに格納されている3D位置座標をCam1座標系から世界座標系(Xw,Yw,Zw)に変換する。この変換はカメラパラメータを用いることで可能となる。
ステップS8403では、視点変換部7507は、求めるべき新視点の画像上の画素位置(Inew,Jnew)を取得して実際の処理を開始する。
ステップS8404では、視点変換部7507は、同じくカメラパラメータを用いて画素位置(Inew,Jnew)に相当するカメラの視線と世界座標系の3D形状データとの最も近い点(X’w,Y’w,Z’w)を探索処理する。
ステップS8405では、視点変換部7507は、求めた世界座標系に対応する元のCam1画像の画素値を求める。ステップS8406では、視点変換部7507は、Cam1画像が拡散反射画像であるか法線画像であるかを判定する。画像が拡散反射画像であると判定されたときは、処理はステップS8407に進む。画像が法線画像であると判定されたときは処理はステップS8408に進む。
ステップS8407では、視点変換部7507は、Cam1画素値である(RGB)値をそのまま新視点の画像の画素位置(Inew,Jnew)に格納する。これは拡散反射画像では、視点変換ではその輝度値が不変であるという性質によるものであり、ここでカラー画像でない場合にはモノクロ画素値を格納することになる。その後、処理はステップS8409に進む。
ステップS8408では、視点変換部7507は、カメラパラメータを用いて法線ベクトル成分を新視点へ座標系変換して同様に画素位置(Inew,Jnew)に格納して新視点での法線画像を生成する。その後、処理はステップS8409に進む。
ステップS8409では、すべての画素が生成されたかどうかを調べる。すべての画素が生成されていない場合には、ステップS8403に戻って処理を繰り返す。
図85は、図84のフローチャートにしたがって行われた処理の結果を示す。この図では、Cam1画像からCamNの新視点画像が生成される処理の様子が対応付けて示されている。対応関係8501は、Cam1画像の座標(I1,J1)と新視点画像であるCamN画像の座標(Inew,Jnew)との画像面上での関係を説明している。対応関係8502は、Cam1画像が拡散反射画像の場合において、上記の2つの画素位置において(RGB)のカラー画素値がそのまま格納されることを示している。対応関係8503は、Cam1画像が法線画像の場合において、2つの画素位置でその画素値である法線ベクトルの成分(N1x、N1y,N1z)が座標変換されて(Nnewx,Nnewy,Nnewz)となって格納されることを示している。
鏡面反射画像生成部7508(図75)では、拡散反射画像の視点変換画像同様に視点変換された鏡面反射画像を物理的に生成して合成する。ここまでの処理によると、既に被写体から実際の鏡面反射成分を除去した拡散反射画像に対して視点変換が実施できている。本処理は、ここに光源、視点、被写体法線の幾何的関係と表面反射特性を用いる物理反射モデルを使って鏡面反射を再現することを目的として行われる。この処理は、本手法のようなモデルベースの視点変換独自機能といえる。
鏡面反射に視点変換を実施するためには、まず新視点のカメラ座標系において法線画像と光源ベクトルを得る必要がある。法線画像についてはすでに視点変換部7507において処理が行われている。よって、鏡面反射画像生成部7508は、あとは光源ベクトルをカメラパラメータを用いて座標変換すればよい。
次に、鏡面反射画像生成部7508は、物理反射モデルを利用して法線ベクトル、視線ベクトル、光源ベクトルと表面反射特性から反射輝度値を求めていく。
利用したモデルは以下の式で表現されるクック−トランスモデルである。これは法線ベクトルN、視点ベクトルV、ハーフベクトルと法線のなす角αを用いると以下のように分布関数Dがベックマン関数で表現される。このモデルにはトランス−スパローモデルなど別の鏡面反射モデルを使ってもかまわない。
図86は、この幾何学的関係を示す。図86は、光源ベクトルLと視線ベクトルVとの2等分ベクトルであるHと、法線ベクトルNとの間の角度αを説明している。このα=0となる角度にて式53のDが最大値をとり、輝度が最大となる。表面の反射特性を表現するのは、粗さ係数mと輝度重み係数Kであるが、これらは実際に撮影する場合に被写体から取得してもよいし、以前の実験で同じ被写体(地球儀)について最適化されたパラメータを使ってもよい。ここでは以前の実験で同じ被写体について求めておいた値(m=0.083, k=6415.795)を用いる。なお、このパラメータは、反射パラメータデータベース7509に格納されているものとする。
最後に、DS合成部7510は、以上の処理で生成された視点変換された拡散反射画像と、おなじく視点変換された鏡面反射画像とを加算して視点変換画像を完成する。
2D/3D提示部7511は、たとえば、生成された自在視点変換画像を表示するディスプレイである。ディスプレイは、2D(平面)ディスプレイであってもよいし、3D(立体)ディスプレイの場合がある。
2Dディスプレイの場合には、ユーザがジョイステックや視点入力装置などの既知のインタフェースにて視点位置を指示すると、2D/3D提示部7511は、その視点位置に即した2D画像を表示を行う。
3D(立体)ディスプレイは、眼鏡有り立体視の固定視点ディスプレイおよび裸眼の多視点立体ディスプレイの両方を含んでいる。前者の場合には、2Dディスプレイの場合と同じインタフェースにて自在に視点が変わった立体画像を観察できる。後者の場合には、観察者は自在に視点を動かして立体像を観察できる。そこで、観察者がある視点で見た場合、その左右眼の2枚の視点画像を合成してその方向に提示することにより自在視点での立体視が可能になる。
図87は、視点変換画像の表示例を示す。画像8701、8702はそれぞれ、偏光撮像された左右の入力画像を示す。画像8703、8704、8705は、左の入力画像8701を用いて任意視点へ合成された画像を示しており、それぞれ、入力画像の中間視点画像、左45度への視点移動画像、右45度への視点移動画像を示す。観察者の視点移動に伴って鏡面反射部分の位置が変わって再現されており、リアリティが向上する利点が得られていることがわかる。
図88は、2Dディスプレイの場合の実カメラ視点と合成された仮想的な視点の幾何学的関係を示す。実カメラの配置で撮影された左画像と右画像の入力画像に対して、その左画像から、3点の仮想視点8801、8802、8803での画像が生成されており、それらが図87の画像に対応している。
図89は、同じ視点変換が3Dディスプレイで提示される場合の視点の幾何学的関係を示す。各仮想視点8801、8802、8803にて観察者の左眼と右眼に相当する2種類の仮想視点画像の対がさらに生成される。これらの画像は、既存の多視点3D(立体)ディスプレイに表示することができる。これによって観察者は自在に視線を動かしながら、多視点から被写体の立体像を観察できる。