以下、図面を参照しながら本発明の実施形態を説明する。
(第1実施形態)
図1は本発明の第1実施形態に係る画像情報取得装置1の全体構成を示すブロック図である。この画像情報取得装置1は、対象物4に光を照射し、その照射光により反射した光の画像を撮影することで、対象物4の各部までの距離情報を取得する装置である。反射した光の画像を撮影することで対象物の各部までの距離情報が得られる原理については後述する。
なお、以下の実施形態では、説明の便宜のため、自然光(環境光)のみに照らされ得られた画像を自然光画像、自然光(環境光)及び照射光の双方に照らされ得られた画像を混合光画像、照射光のみに照らされ得られた画像を反射光画像と呼ぶ。
この画像情報取得装置1は、画像取得部2と情報処理部3からなる。画像取得部2は対象物3から反射した光の画像を撮像して取得するもので、制御部21と、照射部22と、撮像光学系23と、撮像センサ24と、撮像回路25と、インタフェース(I/F)回路26からなる。情報処理部3は、画像取得部2で取得された画像情報を処理するためのもので、情報入出力部31と、情報演算部32と、情報蓄積部33からなる。
照射部22は、光を発光して対象物4に照射する。対象物4の像は撮像光学系23で光学的に結像される。この結像された像は撮像センサ24で検出されて光電変換され、電気信号として撮像回路25に出力される。撮像回路25は撮像センサ24の光電変換動作を制御する。また、撮像回路25は、照射部22からの照射光照射時の第1の画像信号(混合光画像信号)の電荷量と、照射光を照射しない時に得られた第2の画像信号(自然光画像信号)の電荷量を差分し、照射光のみの画像信号量を算出する差分情報取得部251を備える。電気信号に変換された画像情報はI/F回路26を介して外部に出力される。照射部22、撮像回路25及びI/F回路26などの動作は制御部21で総括して制御される。
情報入出力部31は、外部装置や外部端末との情報の入出力を行う。情報演算部32は、情報入出力部31を介して画像取得部2から得られた画像情報を処理し、かつ撮像動作の制御の為の演算を行い、当該演算結果を情報入出力部31を介して画像取得部2に伝え、その各構成を制御する。情報蓄積部33は、情報演算部32から自由にアクセス可能に構成され、情報演算部32が参照するパラメータや情報処理の結果などを蓄積する。また、得られた演算結果は情報入出力部31を介して外部システム5に出力される。外部システム5は、受信した演算結果に基づき画像情報として例えば対象の断面形状を表示したりする。
画像取得部2と情報処理部3は、1つの装置として実装されていても良いし、別個の装置を有線や無線等の手段で接続した統合システムであっても良い。
図2は画像情報取得装置1の概観構成図である。図2の例では、画像情報取得装置1の画像取得部2は単体のカメラヘッドで構成され、情報処理部3はパーソナルコンピュータで構成される。これらカメラヘッドとパーソナルコンピュータは互いにUSB等のデータバスで接続される。
図3は情報演算部32及び情報蓄積部33の詳細な構成の一例を示す図である。図3に示すように、情報演算部32は、輝度取得手段321と、アンカー点取得手段322と、処理範囲確定手段323と、奥行き値・勾配算出手段324からなる。また、情報蓄積部33に蓄積されるデータとして、画像情報331と、輝度値332と、アンカー点333と、処理範囲334と、奥行き値・勾配値335と、第1拘束条件及び第2拘束条件が示されている。
まず、画像取得部2から取得された対象物4の画像情報331に基づき輝度取得手段321はその画像情報331の各位置における輝度値332を算出する。次に、アンカー点取得手段322は、得られた輝度値332に基づき、奥行き値及び勾配値の算出の基準点としてのアンカー点を算出する。アンカー点が設定されると、処理範囲確定手段323は得られたアンカー点に基づき処理範囲324を確定する。奥行き値・勾配算出手段324は、与えられた処理範囲324において、輝度値332に基づき第1拘束条件及び第2拘束条件に従う奥行き値・勾配値335を画像情報331の各位置について算出し、情報蓄積部33に蓄積する。奥行き値とは、観察位置から対象物4までの距離情報のうち、奥行き方向の距離を示す情報である。勾配値とは、対象物4のある位置における局所的な面の傾きを示す情報である。
なお、得られた奥行き値・勾配値335を例えば外部システム5に出力し、外部システム5に設けられた視覚化処理装置を用いて、奥行き値・勾配値335で与えられた断面形状を生成し、その外部システム5に設けられた表示部に表示することで、高精度の奥行き値に基づいた対象の断面形状を確認することができる。
対象物4の撮影により反射光画像を取得することで距離情報が得られる原理は、反射光の強度は光源から対象物までの距離の二乗に反比例するという性質に基づく。これにより、撮影位置から発した照射光のみによって照らされた対象物4の反射光画像を取得することで、撮影位置から対象物4の各部までの距離情報を得ることが可能となる。本実施形態では、照射部22が画像取得部2内に存在し、照射部22が発する照射光のみに照らされた反射光画像を取得することで、画像取得部2からの距離情報を得ることができる。
次に、画像情報取得装置1の基本動作について説明する。
まず、照射部22が制御部21からの制御情報に従って照射光を対象物4に向けて発光する。この照射光が対象物4に照射されている間の対象物4の像は、撮像光学系23で結像されて撮像センサ24内で光電変換されて第1の電荷蓄積部に電荷として蓄積される。また、照射光を対象物4に向けて照射していない間に撮像センサ24内で発生した電荷は第2の電荷蓄積部に蓄積される。
これにより、第1の電荷蓄積部には、照射部22が発した照射光と、最初から対象物4を照らしていた太陽光や照明光などの自然光の両方による混合光により反射した光についての電荷が蓄積される。また、第2の電荷蓄積部には自然光のみにより反射した光についての電荷が蓄積される。なお、自然光とは、太陽光や照明光など、照射部22が発した照射光以外の光成分を含むものである。
撮像回路25は撮像センサ24の各セルから電荷を読み出す際に、第1及び第2の電荷蓄積部を順番に読み出す。撮像回路25内の差分画像取得部251は、第1の電荷蓄積部の蓄積量から、第2の電荷蓄積量を差分することにより、混合光成分から自然光成分を差し引いた反射光成分の電荷量を算出する。撮像回路25は、この反射光成分についての電荷量に基づき画像情報を構成する。したがって、この画像情報は照射部22が発した照射光成分のみの対象物4の反射光画像が得られる。得られた画像情報はI/F回路26を介して情報処理部3に出力される。
情報処理部3では、画像取得部2から情報入出力部31を介して取得した画像情報を情報蓄積部33に蓄積する。そして、この蓄積された画像情報に基づき情報演算部32が奥行き値及び勾配値の算出を行い、算出結果は情報蓄積部33に蓄積され、または外部システム5に情報入出力部31を介して出力される。
なお、この例では、画像取得部2側で照射光成分のみ、すなわち反射光成分の画像情報を得る例として示したが、情報処理部3側で照射光成分のみの差分画像情報を取得してもよい。
図4は情報処理部3側で照射光成分のみの画像情報を取得する情報処理部3の変形例を示す図である。図3の情報処理部3と異なるのは、差分画像演算手段320を備える点である。また、この例の場合、撮像回路25は差分画像取得部251を備える必要はない。図3と共通する部分には同一符号を付し、詳細な説明は省略する。
図4の例の場合、撮像センサ24は、自然光成分の反射光による第1の電荷を蓄積し、これに基づき撮像回路25が画像情報(以下、自然光画像情報331bという)を取得し、情報処理部3に出力する。また、撮像センサ24は、照射光及び自然光成分の反射光による第2の電荷を蓄積し、これに基づき撮像回路25が画像情報(以下、混合光画像情報331aという)を取得し、情報処理部3に出力する。情報処理部2の情報蓄積部32には、混合光画像情報331aと自然光画像情報331bが蓄積される。
図4の差分画像演算手段320は、混合光画像情報331aから自然光画像情報331bを差分する差分演算を行うことで、自然光成分を含まない照射光成分のみの画像情報(以下、反射光画像情報331cという)を取得し、情報蓄積部33に蓄積する。
次に、画像情報331あるいは反射光画像情報331cから、対象物4の距離の情報としての奥行き値を求める具体的な例について説明する。本実施形態では、対象物4として人物の顔を撮影して反射光画像を取得し、顔面の3次元形状を獲得する場合を例に説明する。また、説明の便宜のため、反射光画像情報331cに基づき算出する場合を示すが、画像情報331に基づく算出についても同様に成立することはいうまでもない。
撮影された画像を照射光成分のみにした反射光画像情報331cの模式図の一例を図5に示す。この反射光画像情報331cはX軸方向及びY軸方向に縦320×横240画素で構成され、それぞれ縦375mm×横300mm相当の領域が撮影されている。実際に撮影される画像は透視投影変換されているので、画像に収められる領域の実寸は対象の遠近によって異なるが、撮像装置の画角が既知であることを利用して、平行投影データに変換して取り扱う。基本的には、図5に示す反射光画像情報331cの各画素の濃淡を距離情報に読み替えることで、対象物である顔面51の3次元形状データが得られる仕組みとなる。
次に、奥行き値の状況を説明する為、図5中の線52の位置における顔面51の断面形状の例を図6および図7に模式的に示す。なお、反射光画像によって得られる奥行き値は画像に撮影される部分、つまり表側に限られるので、得られる断面形状は奥行き方向であるZ軸方向に対する一価の凸形状となる。
図6は顔面51の真値による断面形状を示したもので、反射光画像によって取得される奥行き値の理想的な状況、すなわち実際の顔面51の真値断面54を示している。一方、図7は顔面51の反射光画像の輝度値をそのまま奥行き値に読み替えた場合に得られる偽値断面55を示しており、図6に示す真値断面54と比較して誤差(歪み)の発生が認められる。反射光画像の輝度値から奥行き値を得る際に発生する真値との誤差(歪み)は様々な要因によってもたらされるが、最も大きく影響を与える要因の一つに、対象物4の表面法線が照射光の光軸に対して傾くことによる反射率の低下、すなわち反射光輝度の低下が挙げられる。輝度値をそのまま奥行き値に読み替える場合、対象物4の表面の法線は、観察位置から対象物4を結んだ線と平行であると仮定して算出される。
したがって、図5の顔面51の例においては、例えば鼻の頂点や頬の中央寄りの部分は、光軸に対してほぼ正対している為、反射光の輝度値は理論値に近くなり、得られる奥行値は真値に近くなる。一方、鼻の両側面や頬の両側面は光軸に対して大きく傾いている為、理論値よりも暗い輝度で撮影される。この為、得られた反射光画像の輝度値を単純に奥行き値に変換しただけでは、良好な形状データを獲得できない。
本実施形態の画像情報取得装置1およびこれを用いた画像情報取得方法は、上記現象による歪みを鑑みて成されたものであり、面の傾きによる反射光輝度値の低下の影響を軽減し、より真値に近い奥行き値を獲得することができる。
以下、真値に近い奥行き値を獲得するための情報処理の内容を具体的に説明する。本実施形態では、図5のように得られた反射光画像情報331cについて、特に画素値情報の歪みが大きい鼻の側面部に着目して説明する。
まず、輝度値Vを単純に距離値(奥行き値)に変換する場合の問題点を説明する。
図8は、図7で得られた偽値断面55のうち、鼻の側面部付近に対応した画素配列81の一例を示す図である。図8に示すように、X軸方向の位置がpAから正の方向に、1.25mmごとに位置pKまで11個の画素が設けられている。点pAから点pKまでは10画素区間であり12.5mmに相当する。これは、既に説明した撮影条件より画像の解像度が1.25mm/画素であることから求められる。各画素の濃淡は、図8で模式的に示されている通り、点pAが輝度値分布の極大値であり、点pKにかけて徐々に輝度値が小さくなり、点pKが極小値をとる。図8には、あわせて各点pA〜点pKまでの各輝度値を示している。
次に、本実施形態における画像取得部2の特性を「距離が200mmの時、反射光の輝度値が255」になるものと設定する。「反射光の強度は距離の二乗に反比例する」という原理から、輝度Vと奥行き値Dの関係はnを係数とすると、輝度Vと奥行き値D(距離)との関係は、V=n/D2で表される。上記距離と輝度値の設定条件に基づくと係数n=10,200,000であり、
V=10,200,000/D2 …(式1)
が成立する。
次に、(式1)を用いて点pA〜点pKの各点の輝度と距離の関係を以下の表1に示す。
表1では、輝度値Vが得られている場合に、この輝度値Vに基づき各点pA〜pKについて距離D(奥行き値)を(式1)を用いて単純に変換した値が示してある。また、輝度値分布の極大値である200に対する輝度の比率を輝度比cosθとして表し、この輝度比cosθを角度θに換算したものもあわせて表している。
以下、輝度を距離に単純に変換した第1の奥行き値計算手法と、輝度を角度に単純に変換した第2の奥行き値計算手法を説明する。
図9は、輝度を距離に単純に変換した第1の奥行き値計算手法に基づき得られた断面及び面の傾きの模式図である。具体的には、図9は表1に与えられた距離値を用いて点pA〜点pKの奥行き値を模式的に示したものである。Z軸方向に表1の距離Dを奥行き値として示している。この場合、鼻の頂点である点pAと、鼻と頬の接合点に近い点pKとの距離差は143mmとなる。すなわち、鼻の高さがおよそ143mmであることを表しており、人間の鼻の高さとしては異常な値であることが分かる。この図9に示す模式図の前提として用いている(式1)は、反射光画像の輝度値が距離の遠近によってのみ成立していると仮定したものである。この仮定は、各点における局所的な面の傾き(勾配値)は0であることを示している。図9の各画素には、各点における局所的な面の傾きを実線で表している。図9に示すように、各点が示す対象物4(顔面)の輪郭線は、各画素毎に正面を向いた面が階段状に接続されていることとなり、極めて不自然である。
このように、距離差への換算と、局所的な面の勾配の不自然さだけを取り上げて見ても、輝度値を単純に距離に変換した値が全く正確でないことが明らかである。
次に、輝度値Vを単純に局所的な面の傾き(勾配値)に変換する場合の問題点を説明する。
前述の図8の例では、輝度値Vを単純に距離値Dに換算したが、これでは局所的な面の傾きが正しくなくなる。その原因は、観察位置と対象物4とを結ぶ直線に対する各点における局所的な面の法線の傾きを0と仮定するという実態に即しない仮定をしているためである。そこで、(式1)の計算の対極として、各点の輝度が、局所的な面の法線の傾きによる輝度低下の影響のみによって成立している場合を説明する。
局所的な面の法線の傾きによる輝度低下とは、照射光軸と照射される面とが正対していないことによる光量の損失のことである。観察位置(照射光の照射位置)と対象物4とを結ぶ照射光軸のベクトルと照射される面の法線のベクトルが作る角度をαとすると、光量の損失係数はcosαで表現される。本実施形態では説明の便宜上、光量の損失係数を面傾斜損失係数と呼ぶこととする。
このように、局所的な面の傾きの影響によってのみ、輝度値に差がついている状態を考えると、各点の真の奥行きは同じ位置にあり、それぞれの点における局所的な面の傾きが異なっている状態であると説明できる。
ここで、点pAは断面形状の極大点であり、局所的な面の傾きが0であると推定できるので、点pAを基準として各点の輝度値の低下率、つまり本実施形態における面傾斜損失係数を計算したものが、表1の輝度比cosθに該当する。また、面傾斜損失係数であるcosθから各点毎の局所的な法線の傾きの角度を逆算したものが、表1の角度θに該当する。
図10は、輝度を角度に単純に変換した第2の奥行き値計算手法に基づき得られた断面及び面の傾きの模式図である。具体的には、図10は上記表1の計算結果をもとに、各点pA〜pKの位置と局所的な面の傾きを模式的に示したものである。図10に示すように、各点の奥行きは同じであるが、それぞれの点における局所的な面の傾きが異なることで見かけの輝度値が異なっている。この場合、各点は同じZ座標を持ち、X軸方向に一列に並んでいるが、それぞれの画素位置における局所的な面の傾きが異なる。各々の面の傾きを示す線を結んで得られる輪郭線は各画素毎に鋸の歯状に接続されたものとなり、やはり不自然である。
次に、本実施形態による奥行き値計算方法について説明する。
図9及び図10を用いて説明した第1及び第2の奥行き値計算方法の結果を踏まえて、ある注目点の輝度が、奥行き方向の距離の要因と局所的な面の傾きの要因の2種類の混合によって決定しているものと考える。ここで、先に説明した点pA、点pKを例に挙げ、奥行き値を計算する具体的な手順を説明する。
まず、第1拘束条件を決定する。注目点の真の奥行き値、観測される輝度、局所的な面の傾きの関係は以下の通りである。
V=(10,200,000/D2)・cosθ …(式2)
ここで、0≦θ≦π/2である。上記(式2)において、点pKにおける輝度、距離値と局所的な面の勾配値の関係は以下のように表される。
V(K)=(10,200,000/D(K)2)・cosθ(K) …(式2’)
上記(式2)において、観測される輝度値Vは画像が撮影された時点で固定される為、定数である。よって、(式2)は距離値Dと局所的な面の傾きθの関係を示しており、一方を決定すればもう一方も一意に決まることを意味している。この(式2)の関係式を第1拘束条件とする。特に、点pKについては、(式2’)が成立する。
図11を用いて点pKに関する第1拘束条件を説明する。
図11は、点pAと点pKについて光軸方向に垂直な方向の位置と、光軸方向に沿った奥行き値を模式的に示したものである。奥行き値と局所的な面の傾きを算出する点pKを注目点という。点pAは点pKの奥行き値と局所的な面の傾きとを決定するための点であり、これを以下、参照点という。
線111は、点pAのX軸上の位置を示し、線112は、点pKのX軸上の位置を示す。また、点pAは符号113で示されるX軸上及びY軸上の位置にあるものとする。
図9と同様に、観測される点pKの輝度値は75であり、この輝度値が距離の影響によってのみ決定されていると仮定する。この場合、(式1)に基づき距離値が算出され、点pKの位置は図11中の符号114に示す点pK(far)となる。面の勾配は考慮されていないため、点pK(far)の局所的な面の傾きは0度である。
一方、図10と同様に、点pAを基準として、点pKの輝度値が面の傾きの影響によってのみ決定されていると仮定する。この場合、点pKの位置は図11中の符号115に示す点pK(near)となる。点pAとの奥行き値の差は考慮されていないため、点pK(near)の奥行き値は点pAの奥行き値と等しい。この時、点pAに対する点pK(near)の輝度が0.38倍であることから、cosθ=0.38より、点pK(near)の局所的な面の傾きθ(K)は約68度となる。
このように、点pKの輝度値が、奥行き方向の距離と局所的な面の傾きとの2種類の要因の組合せによって決定されていると考えた場合、点pKの位置は光軸に平行な軸112上で、かつ符号115で示されるpK(near)から符号114で示されるpK(far)までの区間の任意の位置を取り得ることとなる。すなわち、太線118上がpKのとり得る範囲である。
しかし、第1拘束条件だけでは点pKの位置はある区間中のどこかに取り得るということが言えるだけで、具体的に奥行き値を決定する根拠が無い。
そこで、点pKの位置を具体的に決定する為、第2拘束条件を設定する。
第2拘束条件は、各点は互いに滑らかに接続するという条件である。言い換えると、各点における局所的な面の傾きを推定する際に、相互の連続性を考慮した条件である。本実施形態においては、特に点pKにおける局所的な面の傾きの延長上に点pAが存在するような点pKの奥行き値を考えることとする。
図12は第1の拘束条件を説明するための図である。
図12は、図11に示す模式図のうち、点pA、点pK及び点pXからなる直角三角形121を抽出して示した図である。
点pAは、基準とする点であり、定点である。点pKは、位置の決まっていない変数である。点pXは、点pAを通る光軸(Z軸)に平行な線112と、点pKから線111に伸ばした垂線119との交点である。
また、この直角三角形121において、辺pA−pXは、点pAから点pKとの距離のZ軸成分である。このZ軸成分の距離は、点pAの奥行き値D(A)から、点pKの奥行き値D(K)を引いたものである。実際には点pKの位置が定まらない為、変数である。辺pX−pKは、点pAから点pKまでの距離のX軸成分である。これは点pAと点pKの画像平面上での距離であり、画像が撮影された時点で固定される為、定数である。本実施形態においては図8に示す通り10画素距離であるから、辺pX−pKは12.5mmとなる。
辺pA−pKは直角三角形121の斜辺であり、辺pA−pXと辺pX−pKの長さから三角定理に従って求められる。すなわち、pApK2=pXpK2+pApX2である。
ここで、三角形pApKpXが直角三角形であることを利用して、点pKにおけるcosθを表現すると、三角定理に従って以下の(式3)が導かれる。この(式3)が第2の拘束条件である。
cosθ=pXpK/pApK=pXpK/(pXpK2+pApX2)1/2 …(式3)
この(式3)に既知の値を代入すると以下の(式3’)となる。
cosθ(K)=12.5/pApK
=12.5/{12.52+(D(A)−D(K))2}1/2 …(式3)
以上、先に説明した第1拘束条件の(式2)と、上記説明した第2拘束条件にかかる(式3)を連立方程式として扱うことで、両方の条件を満たす解を一意に得ることが出来る。
これにより、点pKにおける局所的な面の傾きが、その面の延長上に点pAを含むような角度になる時の奥行き値D(K)が求められる。点pKの例について計算を行うと、連立方程式の解はD(K)=249.8mm、cosθ(K)≒0.459となり、θ(K)≒62.5度という解が得られる。このとき、点pAと点pKの奥行き値の差は約24mmとなり、人間の顔面における鼻の高さの値としては妥当な値であると言える。単純に両点の輝度を奥行き値に変換した場合の距離差が143mmであることと比較すれば、本発明による反射光画像の輝度値からの奥行き値計算方法が極めて有効であることは明白である。
なお、対象物4の表面形状が滑らかに接続されていても、局所的な面の傾きが連続的に変化している場合には、隣接しない2点の局所的な面の傾きが一致しないことがある。上記図11及び図12の例では、説明の簡単の為に10画素分離れた点pAと点pKを例として示したが、これに限定されない。局所的な面の傾きが連続的に変化しているような対象物に関しては、基準点から順に隣接画素毎に連続性を評価して逐次的に奥行き値を決定してゆくことで、より真値に近い奥行き値を求めることが出来る。
この場合であっても、基本的には前記第1拘束条件及び第2拘束条件の両方を使って連立方程式を解くという奥行き値計算方法であることに変わりは無い。
以下、情報演算部23における具体的な演算処理を図13及び図14のフローチャートに沿って説明する。この図13及び図14の例では、基準点であるアンカー点333から順に隣接画素毎に連続性を評価して逐次的に奥行き値を決定する手法に基づき説明している。
図13に示すように、まず、画像情報331を画像取得部2から、あるいは情報蓄積部3から読み出し入力バッファに取り込む(s110)。次に、輝度取得手段321で取得された輝度値332をアンカー点取得手段322が調査する(s120)。アンカー点取得手段322は、この輝度情報の調査において、輝度値が極大となる点(極大点)を抽出する(s130)。抽出できた場合、抽出された極大点のX,Y座標を記録する(s150)。画像情報331中の調査範囲をすべて調査していない場合にはステップ(s120)に戻り輝度値332の調査を行い、すべて調査した場合には、アンカー点取得手段322はアンカー点333として適切な輝度極大点が存在するか否かを判定する(s160)。アンカー点333とは、奥行き値及び勾配値の算出の基準点となるX方向成分とY方向成分で示される座標である。基準としては、輝度値の極大値が選択される。輝度値が極大となった点をアンカー点333とし、このアンカー点333を光軸(Z軸)方向に対して垂直で完全に正対した位置と仮定することにより、他の位置に対する基準点として用いることができる。輝度極大点が存在しない場合には、エラーを出力して処理を終了する(s170)。輝度極大点が存在する場合には、得られた極大点をアンカー点333として、処理範囲の確定処理に移る。得られた極大点が複数ある場合には、アンカー点333を複数とる。処理範囲の確定処理では、処理範囲確定手段323は、得られたアンカー点333の周囲の輝度情報を調査する(s180)。この調査により、処理範囲の確定が可能な輝度変節点が存在するかが判定される(s190)。輝度変節点は、輝度の増加及び減少の傾向が変化する点であり、例えば隣接する輝度の極大値が用いられる。輝度変節点が存在しない場合には、処理範囲確定手段323はその調査の対象としたアンカー点に「失敗」フラグを付して処理を中止し、ステップ(s360)に進む。
輝度変節点が存在する場合には、その輝度変節点を処理の終端とした処理範囲を確定する(s200)。次に、奥行き値・勾配算出手段324による奥行き値及び勾配値の算出が開始する。まず、奥行き値・勾配算出手段324は、参照点としてアンカー点333を採用し(s210)、また処理範囲内のアンカー点以外の任意の点を奥行き値及び勾配値の算出の対象とする注目点として選択する(s220)。これら参照点と注目点の画像平面上での位置関係、すなわちX座標及びY座標は、変数として情報蓄積部33に格納される(s230)。
図14に移り、奥行き値・勾配算出手段324は、予め蓄積された第1拘束条件に基づき、注目点における第1拘束条件を設定する(s240)。
また、奥行き値・勾配算出手段324は、予め蓄積された第2拘束条件に基づき、参照点と注目点の奥行き方向の位置関係と、注目点における面の局所勾配値との関係を表す第2拘束条件を設定する(s250)。
そして、奥行き値・勾配算出手段324は、これら第1拘束条件と第2拘束条件を連立させた計算式の解を求めることで、第1拘束条件と第2拘束条件を満たす注目点の奥行き値と面の局所勾配値の組合せを求める(s260)。奥行き値・勾配算出手段324は、注目点における奥行き値と局所勾配値の有効な解が得られたか否かを判定する(s270)。得られていない場合には、別の代替可能な注目点を有するか否かをさらに判定する(s280)。代替可能な注目点があればその代替点を新たに注目点に設定し(s290)、(s230)に戻り、この新たな注目点と参照点に基づく奥行き値及び局所勾配値の算出処理を行う(s240)〜(s270)。代替可能な注目点がなければ、現在の注目点に「失敗」フラグを付し、当該注目点についての奥行き値及び局所勾配値の解釈を保留し(s310)、ステップ(s320)に進む。
ステップ(s270)の判定で、奥行き値と局所勾配値の有効な解が得られたと判定された場合、奥行き値・勾配算出手段324は、現在の注目点に「完了」フラグを付し、得られた奥行き値・勾配値335を出力バッファに格納し(s300)、ステップ(s320)に進む。
ステップ(s320)では、奥行き値・勾配算出手段324は、他に奥行き値・勾配値335の解釈処理を行うべき点があるか否かを判定する。ある場合には、(s300)で奥行き値が既に確定した点を新たな参照点に設定する(s330)。そして、ステップ(s20)に戻り、その参照点に対して奥行き値・勾配値335の算出の対象とすべき注目点を新たに設定する(s220)。そして、上記と同様に、(s230)〜(s300)のプロセスを経て、注目点における奥行き値・勾配値335を算出し、出力バッファに格納する。
ステップ(s320)で解釈を行うべき点が存在しない場合には、奥行き値の解釈処理を保留している点が存在するか否かを判定する(s340)。存在する場合には、解釈が確定した点の情報を参照し、その保留している点の奥行き値・勾配値335を推定し、出力バッファに格納する(s350)。この奥行き値・勾配値335の推定では、例えば既に解釈が確定した点のいずれかを参照点に設定し、かつ解釈を保留している点を注目点に設定する。そして、これら参照点及び注目点に関して、上記と同様の第1拘束条件及び第2拘束条件を満たす奥行き値・勾配値335を算出すればよい。また、別の推定では、解釈を保留している点に隣接する点における奥行き値・勾配値335を参照し、その隣接点との関係で不自然とならない程度の奥行き値・勾配値335を求めてもよい。この場合、例えば保留点をはさんで対称の位置にある2点の奥行き値・勾配値335の平均値をとってもよいし、その2点の間の値をとる奥行き値・勾配値335を採用してもよいし、その他のいかなる手法によって推定処理を行ってもよい。
この(s350)で解釈を保留している点がなくなった場合、当該アンカー点333についての奥行き値・勾配値335の算出は終了し、ステップ(s360)に進む。
ステップ(s360)では、奥行き値・勾配算出手段324は、新規に奥行き値・勾配値335の算出処理を行うべきアンカー点335が他に存在するかを判定する。存在する場合、新たなアンカー点335に設定して(s180)に進み、処理範囲を確定し、当該処理範囲について奥行き値・勾配値335の算出処理を上記と同様に行う(s180〜s350)。
すべてのアンカー点335について算出処理が終了すると、奥行き値・勾配値335算出処理は終了する。
なお、上記は基準点であるアンカー点333から順に隣接画素毎に連続性を評価して逐次的に奥行き値を決定してゆく手法で示したが、これに限定されず、参照点と注目点の設定を種々変更することにより、異なる算出手法が適用できる。
また、対象物4の反射光画像の輝度値は、距離の遠近や局所的な面の傾きの要因以外によっても変動することがある。この場合は、遠近及び面の傾き以外の該要因による歪みを補正する手段と、本発明による奥行き値計算方法を併用することで、より真値に近い奥行き値を得ることが可能となる。
また、対象物4の照射光成分のみの反射光画像を得るため、撮像回路25の差分画像取得部251で照射光成分と自然光成分の混合光画像成分から自然光成分のみの自然光画像成分を差分した差分画像成分を取得する第1の場合と、情報演算部32の差分画像演算手段320が差分画像情報を取得する第2の場合を説明したが、これらに限定されるものではない。自然光成分が照射光成分に対して測定に影響を与えない程度のものである場合には、照射光を照射し、対象物4から反射して得られる光に基づく画像のみに基づき奥行き値・勾配値335を算出してもよい。
このように本実施形態によれば、反射光画像の輝度値が、注目点の局所的な面の傾きと注目点自身の奥行き(距離)の2つの要因によって構成される枠組みでかつ、対象の表面が滑らかに接続しているという仮定を拘束条件として与えることで、対象の局所的な面の傾きを考慮して奥行き値を算出する。これにより、最終的に取得される奥行き値の精度が向上する。
(第2実施形態)
本実施形態は第1実施形態の変形例に係わる。本実施形態は、照射光成分のみの反射光画像の評価手法が第1実施形態と相違する。
図15は本実施形態に係る画像情報取得装置201の一例を示す図である。第1実施形態の図1と共通する部分には同一符号を付し、詳細な説明は省略する。本実施形態の画像情報取得装置201が第1実施形態の画像情報取得装置1と異なる点は、撮像回路204と情報演算部205である。
本実施形態の撮像回路204は、第1実施形態の撮像回路25のように差分画像取得部251を備える必要がない。本実施形態の画像取得部202は、対象物4を撮影して自然光画像及び混合光画像を取得するが、制御部21、照射部22、撮像光学系23、撮像センサ24及びI/F回路26を備える点、対象物4の画像を撮影する手順、および対象物4の画像を得る原理は、第1実施形態の画像取得部2と共通する。
また、情報演算部205は、混合光画像情報331a及び自然光画像情報331bに基づき反射光画像情報331cを求める演算処理を行う点で第1実施形態の情報演算部32と共通するが、反射光画像情報331cと自然光画像情報331bに基づき補正輝度値332cを求める演算処理を行う点で第1実施形態の情報演算部32と相違する。また、情報演算部205が、輝度値を用いて奥行き値・勾配値335を算出する工程は、第1実施形態の情報演算部32と共通する。本実施形態の情報処理部203が、情報入出力部31及び情報蓄積部33を備える点は第1実施形態の情報処理部3と共通する。
もちろん、第1実施形態の第1実施形態の撮像回路25のように差分画像取得部251を備え、この差分画像取得部251を用いて反射光画像を生成してもよい。この場合、撮像回路25は、差分画像取得部251で得られた反射光画像のみならず自然光画像もあわせてI/F回路26を介して情報処理部203に出力する。
第1実施形態では、情報処理部3は、得られた反射光画像の輝度値から、対象の局所的な表面の傾きを考慮して奥行き値を解釈する情報処理を行う例を示した。第2実施形態では、情報処理部203は、撮影された自然光画像を参照して、照射光のみを照射した反射光画像の輝度値を補正し、この補正された輝度値から、対象の局所的な表面の傾きを考慮して奥行き値を解釈する。
図16は本実施形態の情報演算部205及び情報蓄積部33の詳細な構成の一例を示す図である。図16に示すように、輝度補正手段325を備える点で図4の情報演算部32と相違し、差分画像演算手段320、輝度取得手段321、アンカー点取得手段322、処理範囲確定手段323及び奥行き値・勾配算出手段324の基本的な機能及び処理内容は共通する。
図16に示すように、差分画像演算手段320は、画像取得部202から得られた混合光画像情報331a及び自然光画像情報331bに基づき反射光画像情報331cを生成する。輝度取得手段321は、反射光画像情報331aから反射光輝度値332aを取得し、自然光成分について自然光画像情報331bから自然光輝度値332bを取得する。
輝度補正手段325は、反射光輝度値332aに対して自然光輝度値332bを参照して輝度の補正値、すなわち補正輝度値332cを算出する。この補正輝度値332cが、実質的に照射光成分のみによる画像の輝度値として奥行き値・勾配値335の算出の基礎として用いられる。すなわち、この補正輝度値332aに基づきアンカー点取得手段322がアンカー点333を算出する。次に、処理範囲確定手段323がアンカー点333の周辺の処理範囲334を確定する。奥行き値・勾配算出手段324は、処理範囲334、第1拘束条件及び第2拘束条件に基づき奥行き値・勾配値335を算出する。
次に、本実施形態が例示する、反射光画像に対する補正が必要となる状況について説明する。
図17は対象物4の一例としての円柱状物体301を模式的に示したものである。図17は、円柱状物体301の側面から見たもので、中心軸302の上から下にかけて上層303、中層304及び下層305の3層構造からなる。側面図であるため、観察位置である視点に対して、円柱状物体301の端部306の方が、中央部307に比較して遠くなり、奥行き値が大きくなる。
上層303、中層304及び下層305はその外径などの形状は一致するため奥行き値は一致するが、各々の表面色がC1,C2及びC3と異なる。C1が最も反射強度が高い色、C2が中間的な反射強度の色、最も反射強度の低い色である。なお、ここでは単に表面色の相違として示しているが、表面色の濃淡の相違でもよいし、赤、青、緑などの色相を持つものであってもよい。
いずれにせよ、表面反射強度が一様でないため、円柱状物体301を撮影して反射光画像を取得すると、濃淡値の構成が異なる少なくとも3つの領域に分かれる。
図18は円柱状物体301の照射光成分のみによる反射光画像情報331cを模式的に示す図である。図18(a)は反射光画像情報331cの概観図であり、(b)は反射光画像情報331cの輝度を各画像領域に対応付けて数値化して示した図である。
図18(a)に示すように、上層303、中層304と下層305の各々の輝度が異なって見えるのが分かる。また、図18(b)からも、上層303が最も輝度が高く、下層305が最も輝度が低い傾向が認められる。また、同一の層でも中央部が端部に比較して輝度が高い。なお、図18(b)では説明の簡単の為、本来は連続的に変化する円柱の円周方向の反射光の輝度値分布を3値で代表して表現している。
上記反射光画像情報331cの輝度値をそのまま距離情報に変換する(式1)を適用すると、本来は単純な外形の円柱状物体301が、奥行きの異なる円柱、すなわち外径が異なる3層に積み重なった物体であるかのように誤って解釈される。
上記の様な誤解釈を防ぐ為、本実施形態における画像情報取得装置201では、対象である円柱状物体301の自然光画像情報331bも撮影し、その輝度値を参照することで、反射光画像情報331cの輝度値をより正確な奥行き情報に解釈できるように補正する。
図19は円柱状物体301の自然光成分のみの自然光画像情報331bを模式的に示す図である。図19(a)は自然光画像情報331bの概観図であり、(b)は自然光画像情報331bの輝度を各画像領域に対応付けて数値化して示した図である。この自然光画像情報331bを参照することにより、反射光画像情報331cの奥行き情報を補正する。
次に、本実施形態における反射光画像情報331cへの補正処理の具体的な内容について説明する。
本実施形態における補正処理では、自然光画像情報331bにおける輝度の高低に応じて反射光画像情報331cの輝度値を増減させる。これにより、対象物4の表面色の影響による反射光輝度のばらつきを除去する。
補正対象となる反射光画像情報331cの輝度値は、図18(b)に示すように表面色C1の上層303では、視点に最も近い中央部分の輝度が231、中間の輝度が146、最も遠い両端部分の輝度が61である。表面色C2の中層304では、視点に最も近い中央部分の輝度が163、中間の輝度が103、最も遠い両端部分の輝度が47である。表面色C3の下層305では、視点に最も近い中央部分の輝度が115、中間の輝度が73、最も遠い両端部分の輝度が31である。
また、円柱状物体301の自然光画像情報331bの輝度値は、図19(b)に示すように、表面色C1の上層303で170、表面色C2の中層304で120、表面色C3の下層305で85である。
次に、本実施形態では、補正値を求める変換式として、以下の(式4)を用いる。
Vx=(Vn×α)+Sv …(式4)
ここで、Vnは反射光画像における注目点の補正前の輝度値(観測される値)、Vxは反射光画像における注目点の補正後の輝度値(求める値)、αは反射光画像の補正係数、Svは反射光画像の補正バイアス(シフト値)である。
また、補正係数αは以下の(式5)を用いる。
α=(Cn/Cr)×Sc…(式5)
ここで、Cnは自然光画像における注目点の輝度値、Crは自然光画像における補正値算出の基準輝度(補正原点)、Scはこの(式5)で算出される補正係数の影響度を決定するスケール係数である。
一例として、補正の原点となる基準輝度をCr=120、スケール係数Sc=1.0、補正用バイアス値Sv=0.0として、反射光画像情報331c中の各輝度値に対応する補正後の輝度値Vxを計算する。
表面色C1の上層303では、α=(120/170)×1.0≒0.71である。したがって、中央部分の輝度は231×0.71≒164、中間部分の輝度は146×0.71≒104、両端部分の輝度は61×0.71≒47である。表面色C2の領域では、α=(120/120)×1.0=1.00である。したがって、中央部分の輝度は163×1.00=163、中間部分の輝度は103×1.00=103、両端部分の輝度は47×1.00=47である。表面色C3の領域では、α=(120/85)×1.0≒1.41である。したがって、中央部分の輝度は115×1.41≒162、中間部分の輝度は73×1.41≒103、両端部分の輝度は33×1.41≒47となる。
図20は、これらの計算結果を元に再構成した補正反射光画像情報331dを模式的に示す図である。図20(a)は補正反射光画像情報331dの概観図であり、(b)は補正反射光画像情報331dの輝度を各画像領域に対応付けて数値化して示した図である。
図20から分かるように、補正反射光画像情報331dが示す奥行き情報は、表面色C1、C2、C3のいずれの領域においても、ほぼ同じ位置に円柱の断面が存在すると解釈可能な値である。円柱状物体301表面の色の影響による反射光画像の歪みを十分に低減できている。
自然光画像情報331bの内容を参照することで反射光画像情報331cの輝度値を補正する手法の詳細は、例えば特開2003−185412に開示されている通りである。本実施形態の場合、反射光画像の輝度値の補正処理に引き続き、第1実施形態で例示した奥行き情報解釈方法を続けて適用することで、より精度の高い奥行き情報が得られる点に特徴がある。
図21〜図23を用いて、より詳細に本実施形態の画像情報取得処理を説明する。
図21は補正反射光画像情報331dの一部を取り出して示したもので、(a)は中層304の概略図、(b)は中層304の輝度を各画像領域に対応付けて数値化して示した図である。
図21(b)に示すように、半径100mmの円柱に対して、点Raは円柱の中心であり、最も輝度値が高く163である。点Rbは中心から65mmの距離にあり、輝度値は103である。また、点Rb’は点Rbと左右対称の位置にあり、輝度値は点Rbと同じである。点Rcは中心から90mmの距離にあり、輝度値は47である。また、点Rc’は点Rcと左右対称の位置にあり、輝度値は点Rcと同じである。
なお、本来は円柱の円周上の各点の輝度値は連続的に変化し多様な値を取るが、既に述べた様に、説明の簡単の為にRa,Rb,Rb’,Rc,Rc’の5点の輝度値(3値)で代表している。
また、反射光画像の補正輝度値V
xと奥行き方向の距離、及び注目点における局所的な面の傾きの関係は、第1実施形態と同じく(式1)や(式2)に従うものとする。表2は、円柱状物体301についての補正輝度値V
xと、単純解釈距離D
sと、傾きを考慮した距離D
dと、傾きを考慮した角度θの点Ra、Rb及びRcについての値をまとめた表である。
次に、従来の単純な輝度値と距離との変換公式(式1)による奥行き値解釈によって得られる円柱状物体301の断面形状の例を図22に示す。点線211は真値である半径100mmの円柱の断面を示しているが、従来の単純な奥行き値解釈では、得られる断面形状の誤差が大きくなっている。
一方、本実施形態の局所的な面の傾きと反射光補正輝度値との関係を考慮して奥行き値解釈を行う第1拘束条件及び第2拘束条件に従った円柱状物体301の断面形状の例を図23に示す。点線221は真値である半径100mmの円柱の断面を示しているが、図22の例に比べて得られる断面形状の誤差が小さくなっていることが明白である。
本実施形態では、説明の簡単の為にRa,Rb,Rb’,Rc,Rc’の5点の輝度値(3値)に注目して計算を行ったが、実際には円柱の表面に対応して連続的に変化する多数の輝度情報が存在し、これらに注目して逐次的に処理する。これにより、本実施形態に挙げた計算結果よりも滑らかで精度の高い奥行き情報が得られる。
以上で述べたように、本発明が提案する奥行き情報の解釈方法を利用することで、従来の単純な輝度値と距離との変換によって得られる奥行き情報よりも精度の高い奥行き情報を得ることができる。また、特に本実施形態で示したように、反射光画像の歪みを補正する他の補正処理手段と併用して本発明における奥行き情報の解釈方法を利用することで、さらに破綻が少なく精度が向上した奥行き情報を得ることができる。本実施形態が提案する画像情報取得方法の有用性は明白である。
また、上記各図に示した情報処理部3は、コンピュータで実現されるものであって、したがって、プロセッサと、このプロセッサから自由にアクセスできるメモリと、このメモリに格納され、プロセッサを、差分画像演算手段320、輝度取得手段321、アンカー点取得手段322、処理範囲確定手段323、奥行き値・勾配算出手段324、輝度補正手段325等として機能させるためのプログラムとを備えることを特徴とする画像情報取得装置として成立することはもちろんである。
なお、上記に挙げた補正項目や補正値、補正式などはあくまで一例であり、例えば対象物の材質に関する補正や、対象物の表面光沢に対する補正など、他の様々な要素に対する補正処理と、本発明による画像情報取得方法を組み合わせても良い。
特に、第1拘束条件と第2拘束条件は、上記に示したものに限定されない。
第1拘束条件は、輝度が奥行き情報と局所的な面の傾きとにより表される関係にある条件であれば、上記(式2)に示された条件に限定されないことはもちろんである。例えば、輝度が奥行き情報と面の傾き以外の他のパラメータの影響をも受ける拘束条件であってもよい。
また、第2拘束条件は、ある点の面の傾きが、その点と別の点とを結び、その面を延長した線上にその別の点が存在するようなものを例に説明したが、これに限定されないことはもちろんである。滑らかに接続される条件を満たすものであって、第1拘束条件とともに奥行き情報及び面の傾きを一意に決定するような条件であればよい。
1…画像情報取得装置、2…画像取得部、3…情報処理部、4…対象物、5…外部システム、21…制御部、22…照射部、23…撮像光学系、24…撮像センサ、25…撮像回路、26…I/F回路、31…情報入出力部、32…情報演算部、33…情報蓄積部