3次元計測装置およびその方法
【課題】カメラの位置や特性の違いによる影響を受けずに、かつ、精度良く鏡面物体の3次元形状を測定する。
【解決手段】鏡面物体である計測対象物の3次元形状を計測する3次元計測装置であって、複数のカメラと、撮影された画像のそれぞれから計測対象物の表面の物理特徴である法線の向きを取得する特徴取得手段と、この物理特徴を用いて画像間で対応する画素を探索する対応画素探索手段と、対応する画素間の視差に基づいて3次元測量を行う測量手段と、を備える。なお、各画像における法線の向きを共通の座標系に変換する座標変換手段を有することが好適である。この座標変換のパラメータはカメラキャリブレーションの際に得られるパラメータから算出することができる。
【解決手段】鏡面物体である計測対象物の3次元形状を計測する3次元計測装置であって、複数のカメラと、撮影された画像のそれぞれから計測対象物の表面の物理特徴である法線の向きを取得する特徴取得手段と、この物理特徴を用いて画像間で対応する画素を探索する対応画素探索手段と、対応する画素間の視差に基づいて3次元測量を行う測量手段と、を備える。なお、各画像における法線の向きを共通の座標系に変換する座標変換手段を有することが好適である。この座標変換のパラメータはカメラキャリブレーションの際に得られるパラメータから算出することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計測対象物、特に鏡面の計測対象物の3次元形状を計測する技術に関する。
【背景技術】
【0002】
3次元計測(3角測量)は、図12に示すように、異なる撮像角度の複数のカメラで撮影した画像から、画素の対応関係を調べ、視差を算出することで距離を計測する技術である。通常は、対応する画素を調べる際に輝度値を特徴量として用いている。
【0003】
ここで、計測対象物が鏡面物体である場合、画像に撮影される輝度値は、物体表面そのものの特徴量を表すものではなく、周囲の物体の映り込みによって決定される。したがって、図13に示すように、鏡面物体を2つのカメラ101,102で撮影したとき、光源L1からの発光が反射する物体表面の位置は異なる場所となる。これらの点を対応する画素として3次元測量すると、実際には図中の点L2の箇所を計測していることになり、誤差が生じてしまう。この誤差は、カメラの撮像角度の差が大きくなるほど大きくなる。また、カメラの特性の違いによる誤差も発生する。
【0004】
カメラの位置や特性の違いによる誤差の影響を排除するために、照度差ステレオによって法線マップを求め、この法線マップから領域分割を行い、領域ごとに平均法線を用いて対応付けを行うことで3次元測量を行う技術が知られている(特許文献1)。
【特許文献1】特開昭61−198015号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記のような従来技術の場合には、下記のような問題が生じていた。
【0006】
輝度値を特徴量として従来の3次元測量法を鏡面物体に適用した場合は、複数カメラの特性の違いやカメラ配置によって撮像画像の輝度値に影響を及ぼすため、画素対応付けに誤差をもたらしてしまう。測定対象の表面が鏡面の場合には、この影響が大きくなる。
【0007】
特許文献1に記載の方法では、法線という測定対象に固有な情報に着目しているため、カメラの配置や特性の違いによる誤差を少なくすることができるが、領域分割を行うことによる誤差が生じる。特に、球などの滑らかな連続面を有する測定対象に対しては、領域分割によって面分解能が粗く、角張った3次元形状としてしか計測することができない。また、対応付けをとる際に、カメラの輻輳角を小さくし、複数カメラ間で同一の座標系を有するものとみなしているので、輻輳角を大きくすると法線座標系の相違により対応付けの精度が低下してしまう。
【0008】
本発明は上記実情に鑑みてなされたものであって、その目的とするところは、カメラの位置や特性の違いによる影響を受けず、かつ、精度良く鏡面物体の3次元形状を測定可能な技術を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために本発明に係る3次元計測装置は、鏡面物体である計測対象物の3次元形状を計測する3次元計測装置であって、複数のカメラと、前記複数のカメラによって撮影された画像のそれぞれから、前記計測対象物の表面の物理特徴を取得する特徴取得手段と、前記物理特徴を用いて、前記複数のカメラによって撮影された画像間で対応する画素を探索する対応画素探索手段と、対応する画素間の視差に基づいて、3次元測量
を行う測量手段と、を備えることを特徴とする。
【0010】
鏡面物体の表面に映り込む輝度情報を利用して画素対応をとるときに誤差が生じるのは、輝度情報が鏡面物体の表面そのものの特徴ではなく、周囲の照明などの条件によって変化する情報だからである。そこで、本発明では、鏡面物体の表面の物理特徴を取得し、この特徴を利用して画素対応をとることで、カメラの位置や姿勢による影響を受けずに、高精度なマッチングを可能とし、したがって、計測対象物の3次元形状を精度良く測定することが可能となる。
【0011】
上記のような、計測対象物の表面の物理特徴として、表面の法線の向きを利用することが好ましい。また、法線以外にも、計測対象物表面の分光特性や反射特性を利用しても良い。これらの物理特徴は、いずれも計測対象物に固有の情報であるため、カメラの位置や姿勢による影響を受けない。
【0012】
本発明において、複数のカメラによって撮影される画像の座標系を、変換パラメータを用いて共通の座標系に変換する座標変換手段をさらに有することが好適である。この場合、前記対応画素探索手段は、座標変換手段によって共通の座標系に変換された法線の向きを利用して、画像間で対応する画素を探索する。
【0013】
複数の撮影画像間で座標系を統一する座標変換処理を施してからマッチングを行うことで、カメラ間の輻輳角を大きくしてもマッチングの精度が低下しない。したがって、カメラの配置をより柔軟に決定することが可能となる。
【0014】
なお、上記の座標変換手段における変換パラメータは、あらかじめ行われたカメラキャリブレーション(較正)によって得られたパラメータから抽出することが好適である。
【0015】
また、本発明における対応画素探索手段は、着目する画素を含む所定の広さの領域における物理特徴を比較して、画像間で対応する画素を探索することが好ましい。周囲の物理特徴まで含めて比較を行うことで、より精度の良いマッチングを行うことが可能となる。
【0016】
なお、本発明は、上記手段の少なくとも一部を有する3次元計測装置として捉えることができる。また、本発明は、上記処理の少なくとも一部を含む3次元計測方法、または、かかる方法を実現するためのプログラムとして捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【0017】
本発明によれば、カメラの位置や特性の違いによる影響を受けず、かつ、精度良く鏡面物体の3次元形状を測定することが可能となる。
【発明を実施するための最良の形態】
【0018】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【0019】
(第1の実施形態)
〈全体概要〉
図1は本実施形態に係る3次元計測装置の概要を示す図である。図2は、本実施形態に係る3次元計測装置の機能ブロックを示す図である。図1に示すように、ステージ5に配置された計測対象物4を、2つのカメラ1,2によって撮影する。計測対象物4には、異なる方向から3つの照明装置3a〜cによって白色光が照射されており、これらの照明装置3a〜cを順次照射して、カメラ1,2はそれぞれ3枚の画像を撮影する。撮影された画像はコンピュータ6に取り込まれ、画像処理されて3次元計測が行われる。
【0020】
コンピュータ6は、CPUがプログラムを実行することで、図2に示すように、表面形状算出部7、座標変換部8、対応点算出部9および三角測量部10として機能する。なお、これらの各機能部の一部または全部は、専用のハードウェアによって実現されても構わない。
【0021】
〈構成〉
[カメラ配置]
図3は、カメラの配置を説明する図である。図3に示すように、カメラ1は鉛直方向から計測対象物4を撮影し、カメラ2は鉛直方向から40度ずれた方向から計測対象物4を撮影する。
【0022】
[照明配置]
図4は、照明装置3a〜3cの配置を説明する図である。図4(A)は、鉛直方向から見た図であり、照明装置3a〜3cの方位角配置を示す図である。図4(B)は横方向から見た図であり、照明装置3a〜3cの天頂角配置を示す図である。図に示すように、3つの照明装置3a〜3cは、方位角が互いに120度ずつ異なる方向から、また、天頂角が40度の方向から、計測対象物に光を照射する。
【0023】
なお、ここで説明したカメラ1,2および照明装置3a〜3cの配置は、一具体例にすぎず、必ずしもこのような配置にする必要はない。例えば、照明装置の方位角を均等にしなくても良い。また、カメラと照明装置の天頂角を同じにしているが、異ならせても構わない。
【0024】
[表面形状(法線)算出]
表面形状算出部7は、カメラ1,2によって撮影されたそれぞれ3枚の画像から、計測対象物の各位置における法線の向きを算出する機能部である。表面形状算出部7の、より詳細な機能ブロック図を図5に示す。図に示すように、表面形状算出部7は、画像入力部71,法線−輝度テーブル72および法線算出部73を有する。
【0025】
画像入力部71は、カメラ1,2が撮影した画像の入力を受け付ける機能部である。画像入力部71は、カメラ1,2からアナログデータを受信する場合にはキャプチャボードなどによってデジタルデータに変換する。また、画像入力部71は、USB端子やIEEE1394端子などによってデジタルデータの画像を受信しても良い。この他にも、LANケーブルを介したり、ポータブルな記憶媒体から画像を読み込むような構成を採用しても構わない。
【0026】
法線−輝度テーブル72は、法線の向きと、3つの照明装置3a〜3cを順次点灯し撮影した画像における輝度値との対応関係を記憶している記憶部である。なお、この法線−輝度テーブル72は、カメラごとに用意されるものであり、本実施形態ではカメラ1,2に対応して2つの法線−輝度テーブルが用いられる。
【0027】
この法線−輝度テーブル72の作成方法を、図6を参照して説明する。まず、表面形状が既知の物体を対象として、照明装置3a〜3cを順次点灯して3枚の画像10a〜10cを撮影する。このとき、球体はあらゆる方向の法線を有していることと、各位置における法線の向きを計算によって容易に算出することができるので、球体を対象とすることが好適である。また、法線−輝度テーブルを作成するために使用する対象と実際に法線を算出する計測対象の反射特性が、同一かつ一定であることが必要である。
【0028】
そして、テーブル作成用画像10a〜10cの各位置について、法線の向き(天頂角θ
と方位角φ)と、各画像での輝度値(La,Lb,Lc)とを取得し、これらを対応付けて記憶する。撮影画像中の全ての点で法線の向きと輝度値の組み合わせを対応付けることで、全ての法線の向きについて法線の向きと輝度値の組み合わせを記憶した法線−輝度テーブル72が作成できる。
【0029】
法線算出部73は、図7に示すように、照明装置3a〜3cを順次点灯して撮影された3枚の画像11a〜11cから、計測対象物4の各位置における法線の向きを算出する。より具体的には、法線算出部73は、入力された3枚の画像11a〜11cから各位置における輝度値の組み合わせを取得し、画像を撮影したカメラに対応する法線−輝度テーブル72を参照して、その位置における法線の向きを決定する。
【0030】
[座標変換処理]
座標変換部8は、座標変換処理によってカメラ1,2によって撮影された画像から算出された法線の向きを、統一された座標系で表す。カメラ1,2によって撮影された画像から取得された法線の向きは、それぞれのカメラ座標系で表されているので、そのままで比較すると誤差が生じる。特に、カメラの撮像方向の違いが大きいとこの誤差が大きくなる。
【0031】
本実施形態では、斜め上方から撮影するカメラ2の画像から取得された法線の向きを、カメラ1の座標系に変換することで、座標系の統一を行う。ただし、カメラ1の画像から取得された法線の向きをカメラ2の座標系に変換して座標系を統一しても良いし、カメラ1,2の画像から取得された法線の向きを別の座標系に変換することで座標系を統一しても良い。
【0032】
本実施形態でのカメラモデルを正射影としたとき、図8に示すように、ワールド座標系(X,Y,Z)をカメラ1の座標系(xa,ya,za)に変換する回転行列をR1、ワールド座標系(X,Y,Z)をカメラの2の座標系(xb,yb,zb)に変換する回転行列をR2とすると、カメラ2の座標系をカメラ1の座標系に変換する回転行列R21はR21=R2−1・R1となる。
【0033】
また、あらかじめ行われるカメラキャリブレーションにおいて、次のようなキャリブレーションパラメータが得られる。
【0034】
【数1】
なお、x1,y1はカメラ1の撮影画像内における座標、x2,y2はカメラ2の撮影画像内における座標を表す。
【0035】
一般に、回転行列Rは、次のように表される。
【0036】
【数2】
【0037】
数式1における、pa11,pa12,pa13,pa21,pa22,pa23は、回転行列R1における、R1_11,R1_12,R1_13,R1_21,R1_22,R1_23にそれぞれ等しいので、連立方程式を解くことでカメラの回転角度α、β、γを求めることができ、したがって回転行列R1を得ることができる。カメラ2についても同様に、回転行列R2を得ることができる。そして、カメラ2の座標系をカメラ1の座標系に変換する回転行列R21をR2−1・R1によって求めることができる。
【0038】
[対応点探索処理]
対応点算出部9は、座標系が統一された2つの法線画像から、対応する画素を算出する。この処理は、カメラ1の法線画像内の着目画素における法線と同じ向きの法線を、カメラ2の法線画像中から求めることで行われる。対応点算出部9が行う処理を、図9のフローチャートを参照しながら説明する。
【0039】
まず、対応点算出部9は、座標系が統一された2つの法線画像A,Bを取得する(S1)。ここで、カメラ1の画像から取得された法線画像Aは、表面形状算出部7から得られたものをそのまま利用し、カメラ2の画像から得られた法線画像Bについては、座標変換部8でカメラ1の座標系に変換されたものを利用する。
【0040】
次に、一方の法線画像(ここでは法線画像Aとする)内の任意の画素を注目点(注目画素)として選択する(S2)。そして、他方の法線画像(ここでは法線画像B)のエピポーラライン上から、対比点を選択する(S3)。
【0041】
そして、類似度評価関数によって、法線画像Aの注目点と、法線画像Bの対比点との間の類似度を算出する(S4)。ここで、1点における法線の向きを比較すると誤判定が生じるおそれがあるので、注目点および対比点の周囲の画素における法線の向きも利用して類似度を算出する。図10(A)に、類似度の算出に利用される探索ウィンドウの例を示す。ここでは、注目点を中心に5画素×5画素の領域を探索ウィンドウとしている。
【0042】
注目点と対比点との類似度は、この探索ウィンドウ内全体での法線の向きの一致率に基づいて算出する。より具体的には、以下の式により、探索ウィンドウ内の各点において法線画像A,B間で法線ベクトルの内積を算出し、その和に基づいて類似度を算出する(図10(B)参照)。
【0043】
【数3】
【0044】
対応点はエピポーラライン上にあるので、この類似度の算出は、エピポーラライン上の画素について実行される。したがって、1つの点について類似度を算出した後、エピポーラライン上の全ての点について類似度算出処理を実行したか判定し、まだ類似度を算出していない点があれば、ステップS3に戻って類似度算出を行う(S5)。
【0045】
エピポーラライン上の全ての点について類似度を算出したら、その中から最も類似度が高い点を求め、その点を法線画像Aの注目点に対応する法線画像Bにおける対応点と判断する(S6)。
【0046】
上記の処理は、3角測量をおこなう法線画像Aの点全てについて行うので、全ての点について処理済みであるか判定し、まだ処理をしていない点があれば、ステップS2に戻ってその点に対応する対応点を探索する(S7)。
【0047】
[三角測量]
以上のようにして、2つの画像における対応点が求められたら、三角測量部10によって計測対象物4の各位置について、奥行き情報(距離)を算出する。この処理は公知の技術であるので詳しい説明は省略する。
【0048】
〈実施形態の作用・効果〉
本実施形態に係る3次元計測装置では、計測対象物の物理特徴である法線の向きを利用して、2つの画像間での対応点を探索しているので、カメラの特性や配置の違いによる影響を受けずに3次元計測が可能となる。従来のような物理表面の色(輝度値)に基づく対応点探索処理では対象表面が鏡面である場合には誤差が大きくなり、精度の良い3次元計測が困難であるが、本実施形態による方法を使えば鏡面物体であっても精度良く3次元計測を行うことが可能となる。
【0049】
また、複数のカメラ間で異なる座標系を、カメラキャリブレーションで得られたキャリブレーションパラメータから抽出された変換パラメータを利用して共通座標系に変換してから対応点を探索するため、カメラの輻輳角を大きくしても対応付けの精度が低下せず、精度の良い3次元測定が可能となる。
【0050】
(変形例1)
上記の実施形態では、カメラ2の撮影画像から法線−輝度テーブルを参照して法線の向きを算出した後、座標変換によって法線画像の座標系をカメラ1の座標系に合わせる処理を実行している。しかしながら、最終的に座標系の統一が取れればその他の方法によっても構わない。例えば、カメラ2に対応する法線−輝度テーブルに格納される法線のデータに対して、カメラ2の座標系をカメラ1の座標系に合わせる変換処理を施しても良い。このようにすれば、カメラ2の画像に対する表面形状算出部7による法線の向きの算出結果が、カメラ1の座標系で表されたものとなる。
【0051】
(変形例2)
上記の実施形態では、白色光を照射する3つの照明装置3a〜3cを利用し、これらを順次点灯して画像を撮影し、3枚の画像から法線の向きを算出している。しかしながら、画像を撮影して法線の向きを取得する方法であれば、任意の方法を採用することができる
。例えば、3つの照明装置の発光色をそれぞれR,G,Bの3色とし、これらを同時に照射して、各成分光の強度を取得することで、1回の撮影のみで上記と同様の効果を得ることができる。
【0052】
(第2の実施形態)
第1の実施形態では、計測対象表面の物理特徴として法線の向きを利用したが、本実施形態では対象の分光特性を利用して、ステレオ画像間の対応点を探索する。
【0053】
計測対象表面の分光特性を計測するためには、分光特性の異なる光源を同じ位置から計測対象に逐次照射する。これは例えば、図11に示すように、白色光源の前に場所(角度)によって分光特性が異なるカラーフィルタを設け、このフィルタを回転することで実現できる。このような照明装置を利用してカラーカメラで対象を観測し、最も値が高くなる輝度値を計測することで画素ごとの簡易的な分光特性を算出することができる。
【0054】
そして、複数のカメラで得られた画素ごとの分光特性マップを用いて対応付けを行う。以降の処理は第1の実施形態と同様である。
【0055】
(第3の実施形態)
本実施形態では、計測対象表面の物理特徴として反射特性を利用して、ステレオ画像間の対応点を探索する。
【0056】
計測対象表面の反射特性を計測するためには、異なる方向から光を照射する複数の光源を配置し、これらの光源を順次点灯しながらカメラで撮影を行う。また、第1の実施形態と同様に、球体など形状が既知であり、かつ、反射特性も既知であるサンプルを用意する。ここでは、反射特性が異なる複数のサンプルを利用し、それぞれのサンプルに対して各光源下での輝度値を事例データとして保有する。
【0057】
計測対象に対しても同様に、複数の光源を順次点灯し、各光源下における輝度値の組み合わせを取得する。この輝度値の組み合わせて、事例データとし比較して画素ごとに該当する反射特性を算出する。
【0058】
複数のカメラで得られた画素ごとの反射特性マップを用いて、これら複数のカメラで撮影された画像間における画素の対応付けを行う。以降の処理は、第1の実施形態と同様である。
【図面の簡単な説明】
【0059】
【図1】図1は、3次元計測装置の概要を示す図である。
【図2】図2は、3次元計測装置の機能ブロックを示す図である。
【図3】図3は、カメラの配置を説明する図である。
【図4】図4は、照明装置の配置((A)は方位角配置、(B)は天頂角配置)を説明する図である。
【図5】図5は、表面形状算出部の機能ブロック図を示す図である。
【図6】図6は、法線−輝度テーブルを作成する方法を説明する図である。
【図7】図7は、撮影された画像から法線の向きを取得する方法を説明する図である。
【図8】図8は、ワールド座標系と各カメラの座標系の間を変換する変換行列について説明する図である。
【図9】図9は、対応点算出部による対応点探索処理の流れを示すフローチャートである。
【図10】図10は、対応点探索のための探索ウィンドウおよび類似度算出について説明する図である。
【図11】図11は、第2の実施形態における照明装置を説明する図である。
【図12】図12は、3次元測量の原理を示す図である。
【図13】図13は、鏡面物体に対して3次元測量を行う場合を説明する図である。
【符号の説明】
【0060】
1,2 カメラ
3a,3b,3c 照明装置
4 計測対象物
6 コンピュータ
7 表面形状算出部
71 画像入力部
72 法線−輝度テーブル
73 法線算出部
8 座標変換部
9 対応点算出部
10 三角測量部
【技術分野】
【0001】
本発明は、計測対象物、特に鏡面の計測対象物の3次元形状を計測する技術に関する。
【背景技術】
【0002】
3次元計測(3角測量)は、図12に示すように、異なる撮像角度の複数のカメラで撮影した画像から、画素の対応関係を調べ、視差を算出することで距離を計測する技術である。通常は、対応する画素を調べる際に輝度値を特徴量として用いている。
【0003】
ここで、計測対象物が鏡面物体である場合、画像に撮影される輝度値は、物体表面そのものの特徴量を表すものではなく、周囲の物体の映り込みによって決定される。したがって、図13に示すように、鏡面物体を2つのカメラ101,102で撮影したとき、光源L1からの発光が反射する物体表面の位置は異なる場所となる。これらの点を対応する画素として3次元測量すると、実際には図中の点L2の箇所を計測していることになり、誤差が生じてしまう。この誤差は、カメラの撮像角度の差が大きくなるほど大きくなる。また、カメラの特性の違いによる誤差も発生する。
【0004】
カメラの位置や特性の違いによる誤差の影響を排除するために、照度差ステレオによって法線マップを求め、この法線マップから領域分割を行い、領域ごとに平均法線を用いて対応付けを行うことで3次元測量を行う技術が知られている(特許文献1)。
【特許文献1】特開昭61−198015号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記のような従来技術の場合には、下記のような問題が生じていた。
【0006】
輝度値を特徴量として従来の3次元測量法を鏡面物体に適用した場合は、複数カメラの特性の違いやカメラ配置によって撮像画像の輝度値に影響を及ぼすため、画素対応付けに誤差をもたらしてしまう。測定対象の表面が鏡面の場合には、この影響が大きくなる。
【0007】
特許文献1に記載の方法では、法線という測定対象に固有な情報に着目しているため、カメラの配置や特性の違いによる誤差を少なくすることができるが、領域分割を行うことによる誤差が生じる。特に、球などの滑らかな連続面を有する測定対象に対しては、領域分割によって面分解能が粗く、角張った3次元形状としてしか計測することができない。また、対応付けをとる際に、カメラの輻輳角を小さくし、複数カメラ間で同一の座標系を有するものとみなしているので、輻輳角を大きくすると法線座標系の相違により対応付けの精度が低下してしまう。
【0008】
本発明は上記実情に鑑みてなされたものであって、その目的とするところは、カメラの位置や特性の違いによる影響を受けず、かつ、精度良く鏡面物体の3次元形状を測定可能な技術を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために本発明に係る3次元計測装置は、鏡面物体である計測対象物の3次元形状を計測する3次元計測装置であって、複数のカメラと、前記複数のカメラによって撮影された画像のそれぞれから、前記計測対象物の表面の物理特徴を取得する特徴取得手段と、前記物理特徴を用いて、前記複数のカメラによって撮影された画像間で対応する画素を探索する対応画素探索手段と、対応する画素間の視差に基づいて、3次元測量
を行う測量手段と、を備えることを特徴とする。
【0010】
鏡面物体の表面に映り込む輝度情報を利用して画素対応をとるときに誤差が生じるのは、輝度情報が鏡面物体の表面そのものの特徴ではなく、周囲の照明などの条件によって変化する情報だからである。そこで、本発明では、鏡面物体の表面の物理特徴を取得し、この特徴を利用して画素対応をとることで、カメラの位置や姿勢による影響を受けずに、高精度なマッチングを可能とし、したがって、計測対象物の3次元形状を精度良く測定することが可能となる。
【0011】
上記のような、計測対象物の表面の物理特徴として、表面の法線の向きを利用することが好ましい。また、法線以外にも、計測対象物表面の分光特性や反射特性を利用しても良い。これらの物理特徴は、いずれも計測対象物に固有の情報であるため、カメラの位置や姿勢による影響を受けない。
【0012】
本発明において、複数のカメラによって撮影される画像の座標系を、変換パラメータを用いて共通の座標系に変換する座標変換手段をさらに有することが好適である。この場合、前記対応画素探索手段は、座標変換手段によって共通の座標系に変換された法線の向きを利用して、画像間で対応する画素を探索する。
【0013】
複数の撮影画像間で座標系を統一する座標変換処理を施してからマッチングを行うことで、カメラ間の輻輳角を大きくしてもマッチングの精度が低下しない。したがって、カメラの配置をより柔軟に決定することが可能となる。
【0014】
なお、上記の座標変換手段における変換パラメータは、あらかじめ行われたカメラキャリブレーション(較正)によって得られたパラメータから抽出することが好適である。
【0015】
また、本発明における対応画素探索手段は、着目する画素を含む所定の広さの領域における物理特徴を比較して、画像間で対応する画素を探索することが好ましい。周囲の物理特徴まで含めて比較を行うことで、より精度の良いマッチングを行うことが可能となる。
【0016】
なお、本発明は、上記手段の少なくとも一部を有する3次元計測装置として捉えることができる。また、本発明は、上記処理の少なくとも一部を含む3次元計測方法、または、かかる方法を実現するためのプログラムとして捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【0017】
本発明によれば、カメラの位置や特性の違いによる影響を受けず、かつ、精度良く鏡面物体の3次元形状を測定することが可能となる。
【発明を実施するための最良の形態】
【0018】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【0019】
(第1の実施形態)
〈全体概要〉
図1は本実施形態に係る3次元計測装置の概要を示す図である。図2は、本実施形態に係る3次元計測装置の機能ブロックを示す図である。図1に示すように、ステージ5に配置された計測対象物4を、2つのカメラ1,2によって撮影する。計測対象物4には、異なる方向から3つの照明装置3a〜cによって白色光が照射されており、これらの照明装置3a〜cを順次照射して、カメラ1,2はそれぞれ3枚の画像を撮影する。撮影された画像はコンピュータ6に取り込まれ、画像処理されて3次元計測が行われる。
【0020】
コンピュータ6は、CPUがプログラムを実行することで、図2に示すように、表面形状算出部7、座標変換部8、対応点算出部9および三角測量部10として機能する。なお、これらの各機能部の一部または全部は、専用のハードウェアによって実現されても構わない。
【0021】
〈構成〉
[カメラ配置]
図3は、カメラの配置を説明する図である。図3に示すように、カメラ1は鉛直方向から計測対象物4を撮影し、カメラ2は鉛直方向から40度ずれた方向から計測対象物4を撮影する。
【0022】
[照明配置]
図4は、照明装置3a〜3cの配置を説明する図である。図4(A)は、鉛直方向から見た図であり、照明装置3a〜3cの方位角配置を示す図である。図4(B)は横方向から見た図であり、照明装置3a〜3cの天頂角配置を示す図である。図に示すように、3つの照明装置3a〜3cは、方位角が互いに120度ずつ異なる方向から、また、天頂角が40度の方向から、計測対象物に光を照射する。
【0023】
なお、ここで説明したカメラ1,2および照明装置3a〜3cの配置は、一具体例にすぎず、必ずしもこのような配置にする必要はない。例えば、照明装置の方位角を均等にしなくても良い。また、カメラと照明装置の天頂角を同じにしているが、異ならせても構わない。
【0024】
[表面形状(法線)算出]
表面形状算出部7は、カメラ1,2によって撮影されたそれぞれ3枚の画像から、計測対象物の各位置における法線の向きを算出する機能部である。表面形状算出部7の、より詳細な機能ブロック図を図5に示す。図に示すように、表面形状算出部7は、画像入力部71,法線−輝度テーブル72および法線算出部73を有する。
【0025】
画像入力部71は、カメラ1,2が撮影した画像の入力を受け付ける機能部である。画像入力部71は、カメラ1,2からアナログデータを受信する場合にはキャプチャボードなどによってデジタルデータに変換する。また、画像入力部71は、USB端子やIEEE1394端子などによってデジタルデータの画像を受信しても良い。この他にも、LANケーブルを介したり、ポータブルな記憶媒体から画像を読み込むような構成を採用しても構わない。
【0026】
法線−輝度テーブル72は、法線の向きと、3つの照明装置3a〜3cを順次点灯し撮影した画像における輝度値との対応関係を記憶している記憶部である。なお、この法線−輝度テーブル72は、カメラごとに用意されるものであり、本実施形態ではカメラ1,2に対応して2つの法線−輝度テーブルが用いられる。
【0027】
この法線−輝度テーブル72の作成方法を、図6を参照して説明する。まず、表面形状が既知の物体を対象として、照明装置3a〜3cを順次点灯して3枚の画像10a〜10cを撮影する。このとき、球体はあらゆる方向の法線を有していることと、各位置における法線の向きを計算によって容易に算出することができるので、球体を対象とすることが好適である。また、法線−輝度テーブルを作成するために使用する対象と実際に法線を算出する計測対象の反射特性が、同一かつ一定であることが必要である。
【0028】
そして、テーブル作成用画像10a〜10cの各位置について、法線の向き(天頂角θ
と方位角φ)と、各画像での輝度値(La,Lb,Lc)とを取得し、これらを対応付けて記憶する。撮影画像中の全ての点で法線の向きと輝度値の組み合わせを対応付けることで、全ての法線の向きについて法線の向きと輝度値の組み合わせを記憶した法線−輝度テーブル72が作成できる。
【0029】
法線算出部73は、図7に示すように、照明装置3a〜3cを順次点灯して撮影された3枚の画像11a〜11cから、計測対象物4の各位置における法線の向きを算出する。より具体的には、法線算出部73は、入力された3枚の画像11a〜11cから各位置における輝度値の組み合わせを取得し、画像を撮影したカメラに対応する法線−輝度テーブル72を参照して、その位置における法線の向きを決定する。
【0030】
[座標変換処理]
座標変換部8は、座標変換処理によってカメラ1,2によって撮影された画像から算出された法線の向きを、統一された座標系で表す。カメラ1,2によって撮影された画像から取得された法線の向きは、それぞれのカメラ座標系で表されているので、そのままで比較すると誤差が生じる。特に、カメラの撮像方向の違いが大きいとこの誤差が大きくなる。
【0031】
本実施形態では、斜め上方から撮影するカメラ2の画像から取得された法線の向きを、カメラ1の座標系に変換することで、座標系の統一を行う。ただし、カメラ1の画像から取得された法線の向きをカメラ2の座標系に変換して座標系を統一しても良いし、カメラ1,2の画像から取得された法線の向きを別の座標系に変換することで座標系を統一しても良い。
【0032】
本実施形態でのカメラモデルを正射影としたとき、図8に示すように、ワールド座標系(X,Y,Z)をカメラ1の座標系(xa,ya,za)に変換する回転行列をR1、ワールド座標系(X,Y,Z)をカメラの2の座標系(xb,yb,zb)に変換する回転行列をR2とすると、カメラ2の座標系をカメラ1の座標系に変換する回転行列R21はR21=R2−1・R1となる。
【0033】
また、あらかじめ行われるカメラキャリブレーションにおいて、次のようなキャリブレーションパラメータが得られる。
【0034】
【数1】
なお、x1,y1はカメラ1の撮影画像内における座標、x2,y2はカメラ2の撮影画像内における座標を表す。
【0035】
一般に、回転行列Rは、次のように表される。
【0036】
【数2】
【0037】
数式1における、pa11,pa12,pa13,pa21,pa22,pa23は、回転行列R1における、R1_11,R1_12,R1_13,R1_21,R1_22,R1_23にそれぞれ等しいので、連立方程式を解くことでカメラの回転角度α、β、γを求めることができ、したがって回転行列R1を得ることができる。カメラ2についても同様に、回転行列R2を得ることができる。そして、カメラ2の座標系をカメラ1の座標系に変換する回転行列R21をR2−1・R1によって求めることができる。
【0038】
[対応点探索処理]
対応点算出部9は、座標系が統一された2つの法線画像から、対応する画素を算出する。この処理は、カメラ1の法線画像内の着目画素における法線と同じ向きの法線を、カメラ2の法線画像中から求めることで行われる。対応点算出部9が行う処理を、図9のフローチャートを参照しながら説明する。
【0039】
まず、対応点算出部9は、座標系が統一された2つの法線画像A,Bを取得する(S1)。ここで、カメラ1の画像から取得された法線画像Aは、表面形状算出部7から得られたものをそのまま利用し、カメラ2の画像から得られた法線画像Bについては、座標変換部8でカメラ1の座標系に変換されたものを利用する。
【0040】
次に、一方の法線画像(ここでは法線画像Aとする)内の任意の画素を注目点(注目画素)として選択する(S2)。そして、他方の法線画像(ここでは法線画像B)のエピポーラライン上から、対比点を選択する(S3)。
【0041】
そして、類似度評価関数によって、法線画像Aの注目点と、法線画像Bの対比点との間の類似度を算出する(S4)。ここで、1点における法線の向きを比較すると誤判定が生じるおそれがあるので、注目点および対比点の周囲の画素における法線の向きも利用して類似度を算出する。図10(A)に、類似度の算出に利用される探索ウィンドウの例を示す。ここでは、注目点を中心に5画素×5画素の領域を探索ウィンドウとしている。
【0042】
注目点と対比点との類似度は、この探索ウィンドウ内全体での法線の向きの一致率に基づいて算出する。より具体的には、以下の式により、探索ウィンドウ内の各点において法線画像A,B間で法線ベクトルの内積を算出し、その和に基づいて類似度を算出する(図10(B)参照)。
【0043】
【数3】
【0044】
対応点はエピポーラライン上にあるので、この類似度の算出は、エピポーラライン上の画素について実行される。したがって、1つの点について類似度を算出した後、エピポーラライン上の全ての点について類似度算出処理を実行したか判定し、まだ類似度を算出していない点があれば、ステップS3に戻って類似度算出を行う(S5)。
【0045】
エピポーラライン上の全ての点について類似度を算出したら、その中から最も類似度が高い点を求め、その点を法線画像Aの注目点に対応する法線画像Bにおける対応点と判断する(S6)。
【0046】
上記の処理は、3角測量をおこなう法線画像Aの点全てについて行うので、全ての点について処理済みであるか判定し、まだ処理をしていない点があれば、ステップS2に戻ってその点に対応する対応点を探索する(S7)。
【0047】
[三角測量]
以上のようにして、2つの画像における対応点が求められたら、三角測量部10によって計測対象物4の各位置について、奥行き情報(距離)を算出する。この処理は公知の技術であるので詳しい説明は省略する。
【0048】
〈実施形態の作用・効果〉
本実施形態に係る3次元計測装置では、計測対象物の物理特徴である法線の向きを利用して、2つの画像間での対応点を探索しているので、カメラの特性や配置の違いによる影響を受けずに3次元計測が可能となる。従来のような物理表面の色(輝度値)に基づく対応点探索処理では対象表面が鏡面である場合には誤差が大きくなり、精度の良い3次元計測が困難であるが、本実施形態による方法を使えば鏡面物体であっても精度良く3次元計測を行うことが可能となる。
【0049】
また、複数のカメラ間で異なる座標系を、カメラキャリブレーションで得られたキャリブレーションパラメータから抽出された変換パラメータを利用して共通座標系に変換してから対応点を探索するため、カメラの輻輳角を大きくしても対応付けの精度が低下せず、精度の良い3次元測定が可能となる。
【0050】
(変形例1)
上記の実施形態では、カメラ2の撮影画像から法線−輝度テーブルを参照して法線の向きを算出した後、座標変換によって法線画像の座標系をカメラ1の座標系に合わせる処理を実行している。しかしながら、最終的に座標系の統一が取れればその他の方法によっても構わない。例えば、カメラ2に対応する法線−輝度テーブルに格納される法線のデータに対して、カメラ2の座標系をカメラ1の座標系に合わせる変換処理を施しても良い。このようにすれば、カメラ2の画像に対する表面形状算出部7による法線の向きの算出結果が、カメラ1の座標系で表されたものとなる。
【0051】
(変形例2)
上記の実施形態では、白色光を照射する3つの照明装置3a〜3cを利用し、これらを順次点灯して画像を撮影し、3枚の画像から法線の向きを算出している。しかしながら、画像を撮影して法線の向きを取得する方法であれば、任意の方法を採用することができる
。例えば、3つの照明装置の発光色をそれぞれR,G,Bの3色とし、これらを同時に照射して、各成分光の強度を取得することで、1回の撮影のみで上記と同様の効果を得ることができる。
【0052】
(第2の実施形態)
第1の実施形態では、計測対象表面の物理特徴として法線の向きを利用したが、本実施形態では対象の分光特性を利用して、ステレオ画像間の対応点を探索する。
【0053】
計測対象表面の分光特性を計測するためには、分光特性の異なる光源を同じ位置から計測対象に逐次照射する。これは例えば、図11に示すように、白色光源の前に場所(角度)によって分光特性が異なるカラーフィルタを設け、このフィルタを回転することで実現できる。このような照明装置を利用してカラーカメラで対象を観測し、最も値が高くなる輝度値を計測することで画素ごとの簡易的な分光特性を算出することができる。
【0054】
そして、複数のカメラで得られた画素ごとの分光特性マップを用いて対応付けを行う。以降の処理は第1の実施形態と同様である。
【0055】
(第3の実施形態)
本実施形態では、計測対象表面の物理特徴として反射特性を利用して、ステレオ画像間の対応点を探索する。
【0056】
計測対象表面の反射特性を計測するためには、異なる方向から光を照射する複数の光源を配置し、これらの光源を順次点灯しながらカメラで撮影を行う。また、第1の実施形態と同様に、球体など形状が既知であり、かつ、反射特性も既知であるサンプルを用意する。ここでは、反射特性が異なる複数のサンプルを利用し、それぞれのサンプルに対して各光源下での輝度値を事例データとして保有する。
【0057】
計測対象に対しても同様に、複数の光源を順次点灯し、各光源下における輝度値の組み合わせを取得する。この輝度値の組み合わせて、事例データとし比較して画素ごとに該当する反射特性を算出する。
【0058】
複数のカメラで得られた画素ごとの反射特性マップを用いて、これら複数のカメラで撮影された画像間における画素の対応付けを行う。以降の処理は、第1の実施形態と同様である。
【図面の簡単な説明】
【0059】
【図1】図1は、3次元計測装置の概要を示す図である。
【図2】図2は、3次元計測装置の機能ブロックを示す図である。
【図3】図3は、カメラの配置を説明する図である。
【図4】図4は、照明装置の配置((A)は方位角配置、(B)は天頂角配置)を説明する図である。
【図5】図5は、表面形状算出部の機能ブロック図を示す図である。
【図6】図6は、法線−輝度テーブルを作成する方法を説明する図である。
【図7】図7は、撮影された画像から法線の向きを取得する方法を説明する図である。
【図8】図8は、ワールド座標系と各カメラの座標系の間を変換する変換行列について説明する図である。
【図9】図9は、対応点算出部による対応点探索処理の流れを示すフローチャートである。
【図10】図10は、対応点探索のための探索ウィンドウおよび類似度算出について説明する図である。
【図11】図11は、第2の実施形態における照明装置を説明する図である。
【図12】図12は、3次元測量の原理を示す図である。
【図13】図13は、鏡面物体に対して3次元測量を行う場合を説明する図である。
【符号の説明】
【0060】
1,2 カメラ
3a,3b,3c 照明装置
4 計測対象物
6 コンピュータ
7 表面形状算出部
71 画像入力部
72 法線−輝度テーブル
73 法線算出部
8 座標変換部
9 対応点算出部
10 三角測量部
【特許請求の範囲】
【請求項1】
鏡面物体である計測対象物の3次元形状を計測する3次元計測装置であって、
複数のカメラと、
前記複数のカメラによって撮影された画像のそれぞれから、前記計測対象物の表面の物理特徴を取得する特徴取得手段と、
前記物理特徴を用いて、前記複数のカメラによって撮影された画像間で対応する画素を探索する対応画素探索手段と、
対応する画素間の視差に基づいて、3次元測量を行う測量手段と、
を備えることを特徴とする3次元計測装置。
【請求項2】
前記特徴取得手段が取得する前記計測対象物の表面の物理特徴は、表面の法線の向きである
ことを特徴とする請求項1に記載の3次元計測装置。
【請求項3】
複数のカメラによって撮影される画像の座標系を、変換パラメータを用いて共通の座標系に変換する座標変換手段をさらに有し、
前記対応画素探索手段は、座標変換手段によって共通の座標系に変換された法線の向きを利用して、画像間で対応する画素を探索する
ことを特徴とする請求項2に記載の3次元計測装置。
【請求項4】
前記座標変換手段における変換パラメータは、あらかじめ行われたカメラキャリブレーションによって得られたパラメータから抽出されたものである
ことを特徴とする請求項3に記載の3次元計測装置。
【請求項5】
前記対応画素探索手段は、着目する画素を含む所定の広さの領域における物理特徴を比較して、画像間で対応する画素を探索する
ことを特徴とする請求項1〜4のいずれかに記載の3次元計測装置。
【請求項6】
鏡面物体である計測対象物の3次元形状を計測する3次元計測方法であって、
複数のカメラによって撮影された画像のそれぞれから、前記計測対象物の表面の物理特徴を取得する特徴取得工程と、
前記物理特徴を用いて、前記複数のカメラによって撮影された画像間で対応する画素を探索する対応画素探索工程と、
対応する画素間の視差に基づいて、3次元測量を行う測量工程と、
を含むことを特徴とする3次元計測方法。
【請求項7】
前記特徴取得工程において取得される前記計測対象物の表面の物理特徴は、表面の法線の向きである
ことを特徴とする請求項6に記載の3次元計測方法。
【請求項8】
複数のカメラによって撮影される画像の座標系を、変換パラメータを用いて共通の座標系に変換する座標変換工程をさらに含み、
前記対応画素探索工程では、座標変換工程において共通の座標系に変換された法線の向きを利用して、画像間で対応する画素を探索する
ことを特徴とする請求項7に記載の3次元計測方法。
【請求項9】
前記座標変換工程で利用される変換パラメータは、あらかじめ行われたカメラキャリブレーションによって得られたパラメータから抽出されたものである
ことを特徴とする請求項8に記載の3次元計測方法。
【請求項10】
前記対応画素探索工程では、着目する画素を含む所定の広さの領域における物理特徴を比較して、画像間で対応する画素を探索する
ことを特徴とする請求項6〜9のいずれかに記載の3次元計測方法。
【請求項1】
鏡面物体である計測対象物の3次元形状を計測する3次元計測装置であって、
複数のカメラと、
前記複数のカメラによって撮影された画像のそれぞれから、前記計測対象物の表面の物理特徴を取得する特徴取得手段と、
前記物理特徴を用いて、前記複数のカメラによって撮影された画像間で対応する画素を探索する対応画素探索手段と、
対応する画素間の視差に基づいて、3次元測量を行う測量手段と、
を備えることを特徴とする3次元計測装置。
【請求項2】
前記特徴取得手段が取得する前記計測対象物の表面の物理特徴は、表面の法線の向きである
ことを特徴とする請求項1に記載の3次元計測装置。
【請求項3】
複数のカメラによって撮影される画像の座標系を、変換パラメータを用いて共通の座標系に変換する座標変換手段をさらに有し、
前記対応画素探索手段は、座標変換手段によって共通の座標系に変換された法線の向きを利用して、画像間で対応する画素を探索する
ことを特徴とする請求項2に記載の3次元計測装置。
【請求項4】
前記座標変換手段における変換パラメータは、あらかじめ行われたカメラキャリブレーションによって得られたパラメータから抽出されたものである
ことを特徴とする請求項3に記載の3次元計測装置。
【請求項5】
前記対応画素探索手段は、着目する画素を含む所定の広さの領域における物理特徴を比較して、画像間で対応する画素を探索する
ことを特徴とする請求項1〜4のいずれかに記載の3次元計測装置。
【請求項6】
鏡面物体である計測対象物の3次元形状を計測する3次元計測方法であって、
複数のカメラによって撮影された画像のそれぞれから、前記計測対象物の表面の物理特徴を取得する特徴取得工程と、
前記物理特徴を用いて、前記複数のカメラによって撮影された画像間で対応する画素を探索する対応画素探索工程と、
対応する画素間の視差に基づいて、3次元測量を行う測量工程と、
を含むことを特徴とする3次元計測方法。
【請求項7】
前記特徴取得工程において取得される前記計測対象物の表面の物理特徴は、表面の法線の向きである
ことを特徴とする請求項6に記載の3次元計測方法。
【請求項8】
複数のカメラによって撮影される画像の座標系を、変換パラメータを用いて共通の座標系に変換する座標変換工程をさらに含み、
前記対応画素探索工程では、座標変換工程において共通の座標系に変換された法線の向きを利用して、画像間で対応する画素を探索する
ことを特徴とする請求項7に記載の3次元計測方法。
【請求項9】
前記座標変換工程で利用される変換パラメータは、あらかじめ行われたカメラキャリブレーションによって得られたパラメータから抽出されたものである
ことを特徴とする請求項8に記載の3次元計測方法。
【請求項10】
前記対応画素探索工程では、着目する画素を含む所定の広さの領域における物理特徴を比較して、画像間で対応する画素を探索する
ことを特徴とする請求項6〜9のいずれかに記載の3次元計測方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−71782(P2010−71782A)
【公開日】平成22年4月2日(2010.4.2)
【国際特許分類】
【出願番号】特願2008−239114(P2008−239114)
【出願日】平成20年9月18日(2008.9.18)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
【公開日】平成22年4月2日(2010.4.2)
【国際特許分類】
【出願日】平成20年9月18日(2008.9.18)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
[ Back to top ]