説明

三次元計測装置、三次元計測方法およびプログラム

【課題】 計測誤差の校正が可能な三次元計測装置を提供する。
【解決手段】
所定のパターンを投影する投影部と、パターンが投影された被写体を撮像する撮像部とを有する三次元計測装置は、撮像部によって撮像された画像において、計測空間内の同一平面上に予め設定された複数のパターン検出領域に投影されたパターンの撮像画素面上の位置情報を検出する検出部と、位置情報を用いて、計測時前に予め検出した投影部の投影画素面上のパターンと計測時における投影部の投影画素面上のパターンとの対応関係を算出する対応関係算出部と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、被写体の表面形状を測定する三次元計測装置において発生する装置誤差を校正することが可能な三次元計測装置、三次元計測方法およびプログラムに関する。
【背景技術】
【0002】
従来、被写体の表面形状を非接触で計測する装置の1つとして、投影部と撮像部を使用して三角測量の原理で表面形状を求める装置がある。その計測方法を説明すると、まず投影部から被写体に向けてパターンを投影する。次にパターンが投影された被写体を撮像部で撮像する。撮像した画像データから、撮像手段の撮像画素面上でのパターンの位置を算出する。そして、投影部の投影画素面のどの位置のパターンが撮像画素面上のどのパターンの位置であるのか対応付けを行う。
【0003】
ここで、投影部と撮像部の位置関係をキャリブレーションで求めておく。例えば、投影部と撮像部の基線長や撮像部と投影部の回転・並進情報などと、投影部と撮像部の装置固有のパラメータ、焦点距離、光軸主点位置やレンズ収差値など(総称してキャリブレーション値と呼ぶ)を事前に求める。
【0004】
最終的に、キャリブレーション値と投影画素面および撮像画素面におけるパターンの位置関係から三角測量の原理を使って、装置から被写体までの距離を測定する。投影部と撮像部とを用いて被写体の表面形状を計測する装置では、一般的に使用するデバイスの形状や配置が温度変化にともなう熱膨張収縮効果などにより経時的に微小変化する。そのため計測環境が温度変化しやすい場合や計測が長期にわたる場合では投影されるパターンの投影位置が微小に異なり、同じ被写体を同じ条件で計測しても表面形状の結果に誤差が生じる問題があった。
【0005】
この問題に対して、特許文献1では、三次元計測装置から正確に距離が既知であるターゲットを複数個配置することで、基線長、投影部の投影角度、撮像部の撮像角度の3つパラメータを校正する方法を示している。また特許文献2では、三次元計測装置内部に投影部から投影された計測用ビームを分光し、予め記憶したビーム投影位置と分光されたビーム投影位置との差分を求めることで校正する方法を示している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平8−054234号公報
【特許文献2】特開平5−248830号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら特許文献1では、ターゲットと装置との距離を正確に知る必要があるため、実際に運用する際のセットアップが面倒であった。またターゲットと装置との距離自体が経時的に変化する可能性もあるので、校正値に対する信頼性も低かった。特許文献2では、装置内に新規デバイスを追加するため、装置の小型化とコストにおいて問題があった。
【課題を解決するための手段】
【0008】
本発明は上記課題を鑑みてなされたものであり、計測誤差の校正が可能な三次元計測装置を提供することを目的とする。
【0009】
本発明の一つの側面にかかる三次元計測装置は、所定のパターンを投影する投影手段と、前記パターンが投影された被写体を撮像する撮像手段とを有する三次元計測装置であって、
前記撮像手段によって撮像された画像において、計測空間内の同一平面上に予め設定された複数のパターン検出領域に投影された前記パターンの撮像画素面上の位置情報を検出する検出手段と、
前記位置情報を用いて、計測時前に予め検出した前記投影手段の投影画素面上の前記パターンと計測時における前記投影手段の投影画素面上の前記パターンとの対応関係を算出する対応関係算出手段と、を有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、計測誤差の校正が可能な三次元計測装置を提供することが可能になる。
【図面の簡単な説明】
【0011】
【図1】実施形態にかかる3次元計測装置の基本構成を示す図。
【図2】投影パターンの例を示す図。
【図3】3次元計測装置におけるキャリブレーションおよび三次元計測処理の概略的な処理の流れを説明する図。
【図4】第1の実施形態にかかる3次元計測装置におけるキャリブレーションおよび三次元計測処理の流れを説明する図。
【図5】第2の実施形態の投影パターンを例示的に示す図。
【図6】第2の実施形態の線形補間を説明する図。
【図7】第3の実施形態のエピポーラ拘束を説明する図。
【発明を実施するための形態】
【0012】
<第1の実施形態>
図1は実施形態にかかる3次元計測装置の基本構成を示す図である。計測装置の基本構成は、パターンを被写体2に投影するプロジェクタ3、パターンが投影された被写体2を撮像するカメラ4、パターンの投影や撮像を指示し、撮像された画像データを計算処理して三次元計測を行う計測計算部1である。
【0013】
計測計算部1は、中央制御部5、パターンメモリ6、画像メモリ7、パラメータ記憶部8、計測処理部9および領域検出部10、第1算出部11、第2算出部12、基準情報処理部13からなる。それぞれは互いがバスによってつながれ、命令およびデータを送受信可能になっている。
【0014】
パターンメモリ6はROM等の記憶手段で構成されている。パターンメモリ6には、プロジェクタ3から投影するパターンを設定するパターン形状プログラム、投影時間を設定するタイムアカウントプログラムなどが格納されている。
【0015】
中央制御部5は計測計算部1に属する各部の指示を行う機能を持つ。中央制御部5から投影指示を受信したパターンメモリ6はパターンをプロジェクタ3に送信する。パターンメモリ6には、三次元計測を行うための計測パターンと、計測誤差を校正するための校正パターンと、三次元計測と校正を同時に行うための校正計測パターンなど複数のパターンが用意されている。校正計測パターンは校正パターンと計測パターンが組み合わされたものである。計測パターンと校正パターンについては図2を用いて後ほど説明する。中央制御部5からの指示に従い、いずれかのパターンを送信する。
【0016】
中央制御部5は、プロジェクタ3を投影手段として機能させる投影制御手段の機能を有する。また、タイムアカウント信号がプロジェクタ3およびカメラ4に送信され、パターンの投影および撮像のタイミングが管理される。カメラ4は撮像画像を取得するための撮像手段として機能する。
【0017】
カメラ4で撮像された画像データ(撮像画像)は、画像メモリ7に一時的に格納される。画像メモリ7は中央制御部5からの指示に従い、計測処理部9に送信するか、領域検出部10に送信する。計測処理部9に送信するフローは計測誤差を校正しないフローであり、領域検出部10に送信するフローは計測誤差を校正するフローである。
【0018】
実際の処理では、三次元計測処理をするために画像データに2値化処理や先鋭化処理などを行うが、それらの処理は本実施形態とは無関係のため、説明を省略し、本実施形態では画像メモリ7から送信される画像データには必要な処理が施されているものとする。
【0019】
領域検出部10は、画像データに所定の同一平面上の複数領域を設定し、その領域内に投影される校正パターンを検出し、校正パターンの幾何特徴からパターンの位置情報として位置座標を検出する。検出結果である位置座標はカメラ4の撮像画素面の画素を座標系にとった座標で表される。本目的の誤差の補正をするには、予め計測前にパターンの位置情報を検出し、基準位置を設定する必要がある。本実施形態では、プロジェクタ3とカメラ4の回転・並進情報や投影部と撮像部の装置固有のパラメータであるキャリブレーション値を求めるキャリブレーション時に、パターン位置座標の基準位置も検出する。検出した撮像画素面上のパターンの位置座標は基準情報処理部13に送信され、計測時に検出した撮像画素面上のパターンの位置座標は第1算出部11に送信される。
【0020】
基準情報処理部13はパターンの位置座標の基準位置を用いてキャリブレーション時のカメラ4の撮像画素面とプロジェクタ3の投影画素面の対応関係を算出する。パターンメモリ6が有するパターンによる対応関係については図3を用いて後に説明する。パラメータ記憶部8はROMやRAM等の記憶手段で構成されている。パラメータ記憶部8には、上記に述べたキャリブレーション値が格納されている。また上記に述べたパターンの位置座標の基準位置や基準情報処理部13で得たキャリブレーション時のカメラ4の撮像画素面とプロジェクタ3の投影画素面の対応関係も格納する。これらのパラメータは必要に応じて各部へ送信される。
【0021】
対応関係算出部は第1算出部11と第2算出部12に分かれ、以下の処理を行う。第1算出部11は、パラメータ記憶部8からキャリブレーション時の撮像画素面上のパターンの位置座標と、領域検出部10から計測時の撮像画素面上のパターンの位置座標と、を取得する。そして、第1算出部11は取得したキャリブレーション時の撮像画素面上のパターンの位置座標と計測時の撮像画素面上のパターンの位置座標とからキャリブレーション時と計測時との撮像画素面上でのパターンの対応関係を求める。そして、第1算出部11は求めた対応関係を第2算出部12へ送信する。
【0022】
第2算出部12はキャリブレーション時と計測時との投影画素面上でのパターンの対応関係を求める。パラメータ記憶部8からキャリブレーション時のカメラ4の撮像画素面とプロジェクタ3の投影画素面との対応関係を取得する。また第1算出部11からキャリブレーション時と計測時との撮像画素面上でのパターンの対応関係を取得する。これら2つの対応関係を用いて、キャリブレーション時と計測時との投影画素面上でのパターンの対応関係を求める。算出した対応関係を計測処理部9へ送信する。
【0023】
計測処理部9はパラメータ記憶部8からキャリブレーション値を取得し、画像データを用いて三角測量の原理で三次元計測を行う。本実施形態による計測誤差を校正する場合は、第2算出部12から取得した射影変換行列Cを用いて、撮像画素面と投影画素面におけるパターンの対応関係を変更する。計測結果は三次元計測データとして生成される。三次元計測データは画像化され、モニタなどの表示部14で距離画像として観察することができる。
【0024】
尚、計測計算部1の機能の一部は、コンピュータプログラムが格納された記憶手段および中央制御部を有する外部装置により代替可能である。たとえば、基準情報処理部13およびパラメータ記憶部の一部を外部装置として、キャリブレーション時に求める値は外部装置が行うことにしてもかまわない。その場合、本実施形態の三次元計測装置は基準情報処理部13およびパラメータ記憶部の一部を除いた構成となる。
【0025】
図2は投影するパターンの例を示す図である。図2(a)は三次元計測に使用する計測パターン24を示す図である。本実施形態においては、三次元計測方法の一例として空間符号化法を用いて説明する。しかし投影するパターンは空間符号化法に用いるグレイコードパターンでも、位相シフト法に用いる輝度変化を有するパターンでも、光切断法に用いるラインパターンでもかまわない。計測パターン24は明部と暗部が所定の幅で交互に配置されたパターンである。明部と暗部の幅が異なるパターンが複数枚あり、それらのパターンをそれぞれ投影する。図2(a)では、それらのパターンから代表する一枚を示している。
【0026】
被写体2は一様な平面性を有する計測台20に乗せて計測するものとする。計測する全体の領域に向けて計測パターン24が投影される。図2(b)は計測台20に被写体2を載せて計測パターン24を投影して計測を行う概念図を示している。
【0027】
図2(c)は計測誤差を校正する校正パターン22を示す図である。校正パターン22は計測する全体の領域の外周部に複数個投影される。校正パターン22は計測空間内の同一平面上にあり、最低3個は必要である。本実施形態では、校正パターン22の個数は4つとし、計測台20に投影することで同一平面性を保っている。同一平面性をもち、個数を4つにする理由は、後述するアルゴリズムにて説明する。
【0028】
校正パターン22は幾何特徴が検出しやすく、かつ、二次元座標のずれを検出できる形状を採用し、図2(c)では十字パターンを例として示した。所定の4隅の検出領域21(パターン検出領域)について、予め計測者が検出領域21の位置を設定し、設定後、その位置は変えないこととする。校正パターン22も、プロジェクタ3の投影画素面の決められた画素から常に投影されるものとする。三次元計測装置は検出領域21内の校正パターン22を自動検出するため、校正パターン22が検出領域21から外れないように、検出領域21は想定されるずれの対応関係よりも大きい範囲で設定する。たとえば市販プロジェクタでは経時的に十字パターンが数百ミクロンメートルから数ミリメートルの範囲で動く可能性があるので、検出領域21はそれ以上の大きさで設定するのが望ましい。
【0029】
図2(d)は三次元計測に使用する計測パターン24と計測誤差を校正する校正パターン22とを組み合わせた校正計測パターン25を投影した図である。本アルゴリズムでは、計測パターン24と校正パターン22とを順に投影しても計測誤差の校正は可能であるが、校正計測パターン25を投影することで、三次元計測と校正を同時に行うことも可能である。本実施形態では、校正計測パターン25を投影することを前提に説明を進める。
【0030】
次に校正パターン22の幾何特徴の検出について説明する。目的は校正パターン22の幾何特徴を検出し、幾何特徴から校正パターンの位置座標を決定することである。そのためには校正パターン22の幾何特徴から一意に座標を決めることが必要である。そこで、図2(d)では、十字パターンの交点を検出し、校正パターン22の位置座標とする。カメラ4の撮像画素面上で決定された位置座標は(xc、yc)として以下表現する。また、プロジェクタ3の投影画素面上で決定された位置座標は(xp、yp)として以下表現する。
【0031】
図2(e)は校正パターン22の別例として円形パターン23を示す。円形パターン23の幾何特徴から求まる位置座標は円中心とする。画像データから円形パターン23に円フィッティングして円中心を検出し、それを円形パターン23(校正パターン)の位置座表とする。
【0032】
図2(f)は校正パターン22の別例として複数の十字パターン26を示す。この場合、それぞれの十字パターンの幾何特徴は交点となり、それらの交点の平均したものを代表して位置座標とするか、それぞれの交点をそのまま位置座標とする。この例のように、位置座標は一つの検出領域21内に一つでも複数でもよい。
【0033】
重要なことは校正パターンから二次元方向の位置座標が一意にきまり、それを経時的に追跡できることである。そのような校正パターンであれば、上記に示す以外のパターンでも本実施形態に採用することが可能である。
【0034】
また本実施形態では、計測パターン24を一次元方向のパターンとして記載しているが、三次元計測を行う際には、残りの一次元方向(図2(a)の場合では垂直方向)のパターンを投影することも考えられる。その場合は、計測パターン24とは異なる校正パターンを投影せずとも検出領域において二次元方向の位置座標が決まる。すなわち計測パターンそのものを利用して検出領域におけるパターンの位置座標を求めることも可能である。
【0035】
図3は本実施形態にかかる3次元計測装置におけるキャリブレーションおよび三次元計測処理の概略的な処理の流れを説明する図である。図3(a)の右下図(301)はキャリブレーション時に投影する校正計測パターンのうち計測パターンのみを図示したプロジェクタの投影画素面31上の計測パターン35(プロジェクタ側の基準パターン)である。図3(a)の左下図(302)はキャリブレーション時に計測パターン35を投影し、被写体面上からの反射光を撮像したカメラの撮像画素面30上の計測パターン33(カメラ側の基準パターン)である。
【0036】
図3(a)の左上図(303)は計測時に計測パターン35を投影し、撮像した撮像画素面30上の計測パターン32である。計測時はプロジェクタ内部の熱などの原因でプロジェクタ内部デバイスが微小変形し、計測時前のキャリブレーション時とはパターンの位置が微小に異なる。そのため、同じパターンを投影しても左上図(303)のようキャリブレーション時のパターンに比べ角度のついたパターンが撮影される。そして、図3(a)の右上図(304)は本アルゴリズムで最終的に求める仮想的な投影画素面31上の計測パターン34である。実際に投影されている投影画素面31上のパターンは右下図(301)であるが、左上図(303)の撮影されたパターンに合わせて、投影面上のパターンを仮想的に変更する。これが本アルゴリズムで行うことである。求めるべき右上図(304)の投影画素面31上の計測パターン34とキャリブレーション時の計測パターン35(右下図(301))とのずれの対応関係は、カメラ側の計測パターン32と計測パターン33とのずれの対応関係から求めることが可能である。
【0037】
計測時の撮像画素面30上の計測パターン32がキャリブレーション時の計測パターン33からずれた分を、計測時の投影画素面31上の計測パターン34もキャリブレーション時の計測パターン35からずらすことで校正を行う。そのために計測領域内の全体のずれの対応関係を図2で示した検出領域21で検出される校正パターンの位置座標のずれの対応関係で代表させる。以下、校正パターンの位置座標のずれの対応関係の算出方法を説明する。計測処理部9は、撮像画素面上の計測時の計測パターン32とキャリブレーション時の計測パターン33のずれの対応関係に基づき、投影画素面のパターンの明部と暗部のエッジに番号付けをしたテーブルを変更する。投影画素面のパターンの明部と暗部のエッジに番号付けしたテーブルについては図3(b)〜(d)で説明する。
【0038】
図中にある矢印は本実施形態アルゴリズムの算出関係を示す。まず、キャリブレーション時にカメラ4の撮像画素面とプロジェクタ3の投影画素面の対応関係として、プロジェクタ3の投影画素面31の計測パターン35とカメラ4の撮像画素面30の計測パターン33との射影関係を求める。本処理は、基準情報処理部13により実行される。キャリブレーション時の投影画素面31における検出領域21内の校正パターンの位置座標(xp1、yp1)と撮像画素面30における検出領域21の校正パターンの位置座標(xc1、yc1)を用いて射影変換行列Aを算出する。
【0039】
【数1】

【0040】
ここで射影変換行列Aは以下の2行2列で表わされる。
【0041】
【数2】

【0042】
射影変換を行うには、射影変換する領域を指定する最低4つの同一平面上の点が必要となる。そのため本実施形態では検出領域21を計測台20の4隅に配置した。
【0043】
次に、キャリブレーション時と計測時との撮像画素面上での校正パターンの対応関係を求める。第1算出部11はキャリブレーション時の撮像画素面30の計測パターン33と計測時の撮像画素面30の計測パターン32との射影関係を求める。計測時の撮像画素面30の検出領域21における校正パターンの位置座標(xc2、yc2)とキャリブレーション時の撮像画素面30の検出領域21における校正パターンの位置座標(xc1、yc1)を用いて射影変換行列Bを算出する。
【0044】
【数3】

【0045】
ここで射影変換行列Bは以下の2行2列で表わされる。
【0046】
【数4】

【0047】
また、計測時の撮像画素面30上での計測パターン32と投影画素面31上での計測パターン34との関係は、射影変換行列Aを用いて(3)式として表すことができる。
【0048】
【数5】

【0049】
次に、キャリブレーション時と計測時との投影画素面上での校正パターンの対応関係を求める。計測時の投影画素面31上の計測パターン34とキャリブレーション時の計測パターン35との射影関係は、以下の(4)式になる。
【0050】
【数6】

【0051】
ここで射影変換行列Cは以下の2行2列で表わされる。
【0052】
【数7】

【0053】
(4)式の関係から、(5)式が得られる。
【0054】
【数8】

【0055】
(5)式を用いて、キャリブレーション時の投影画素面31上の計測パターン35に射影変換行列Cをかけることで、計測時の計測パターン34が求まる。この処理は、第2算出部12により実行される。
【0056】
図3(b)は撮像画素面上の計測パターンの明部と暗部のエッジ位置を示すテーブルである。また図3(c)、(d)は投影画素面上のパターンの明部と暗部のエッジ位置を示すテーブルである。図3(b)は以下、撮像エッジ位置テーブルと呼び、図3(c)、(d)は以下、投影エッジ位置テーブルと呼ぶ。
【0057】
空間符号化法などプロジェクタのライン位置から距離を求める方式においては、計測パターンの縞の明部と暗部のエッジ位置が計測値になる。そのため、撮像画素面上のエッジ位置を算出し、エッジ位置をテーブル化する必要があり、それが撮像エッジ位置テーブルである。図3(b)はキャリブレーション時の計測パターン33の撮像エッジ位置テーブル40である。テーブル内の値は、x、y座標値に対応した、計測パターン33の撮像画素面画素であり、サブピクセル推定するため、小数点以下の値を有している。図3(b)では、一例として、撮影画素面y方向の60画素から82画素の間にエッジ位置が存在し、それがサブピクセル値でテーブル化されている。
【0058】
また、プロジェクタを用いた三角測量で距離を求める方式においては、投影部の投影画素面のどの位置のパターンが撮像画素面上のどのパターンの位置であるのか対応付けする必要がある。それが投影エッジ位置テーブルである。このことは、空間符号化法に限らずプロジェクタを用いた三角測量で距離を求める場合に共通である。図3(d)は、計測パターン34の投影エッジ位置テーブル36を示し、図3(c)はキャリブレーション時の投影エッジ位置テーブル38を示す。例えば、プロジェクタ3の垂直方向(y方向)の画素数が768である場合、明部と暗部の大きさをそれぞれ1画素とすると、最大で767本のエッジ位置が得られる。そのため、投影エッジ位置テーブルのx、y座標値はそのエッジ位置の番号を示している。図3(c)では、一例として、投影画素面y方向の10番目から15番目のエッジをテーブル化されている。すなわち投影エッジ位置テーブルで10とあれば、10本目のエッジ位置を意味する。図3(c)の投影エッジ位置テーブルと図3(b)の撮像エッジ位置テーブルは対になっているので、投影エッジ位置テーブルの10は撮像エッジ位置テーブルの60の小数点の行に対応する。
【0059】
従来では、計測時の投影エッジ位置テーブル36(図3(d))もキャリブレーション時の投影エッジ位置テーブル38(図3(c))と同じ値が付けられていた。しかし、それでは投影エッジ位置テーブルがパターン位置変動に対応していないため計測誤差となる。そのため、図3(a)で算出した射影変換行列Cを使って、投影エッジ位置テーブルを変更したものが投影エッジ位置テーブル36である。
【0060】
こうして検出領域21の校正パターンの位置座標のずれの対応関係から、投影画素面上の計測領域全体のずれの対応関係を推定し、領域全体のパターンの位置座標を変更できる。以上が計測処理部9で行われている校正である。尚、上記に述べた計算式は一例であり、別手段による計算方法もある。例えば、(3)式を使わず、以下の(6)、(7)式を使用することも可能である。
【0061】
【数9】

【0062】
(6)式と(7)式から(8)式を求めることができる。
【0063】
【数10】

【0064】
このように(3)式で求める行列の値が安定しない場合は、(8)式で置き換えることも可能である。本アルゴリズムの目的はキャリブレーション時の投影画素面上の位置情報(Xp1、Yp1)と計測時の投影画素面上の位置情報(Xp2、Yp2)の関係性を求めることである。そのため、その関係性を求めるための計算手段はすべて本実施形態に含まれるものとする。
【0065】
図4は計測誤差を校正し、三次元距離を算出するフローを説明する。本処理は計測計算部1の全体的な制御の下に実行される。まずは校正パターンの基準位置情報を取得する。作業者は本計測装置を使用して校正計測パターン25を投影、撮像する(S40)。次に予め設定された検出領域21内に投影された校正パターンの幾何特徴を検出し、位置座標を求める(S41)。カメラ4の撮像画素面上の位置座標とプロジェクタ3の投影画素面上の位置座標を用いて、キャリブレーション時の撮像画素面と投影画素面上の射影変換行列Aを算出する(S42)。
【0066】
以上がキャリブレーション時に行われる手順であり、ここで検出された撮像画素面上の位置座標および射影変換行列Aは三次元計測装置のパラメータ記憶部8に記憶される。
【0067】
次に、三次元計測を開始する(S43)。プロジェクタ3はキャリブレーション時と同様の校正計測パターン25を投影し、カメラ4は校正計測パターン25が投影された被写体2を撮像する。ステップS41と同様に検出領域21内に投影された校正パターンから位置座標を検出する(S44)。パラメータ記憶部8からキャリブレーション時のカメラ4の撮像画素面上の位置座標を取得する。そして、取得した位置座標と計測時の撮像画素面上の位置座標とから、計測時の撮像画素面とキャリブレーション時の撮像画素面との射影関係を定める射影変換行列Bを算出する(S45)。
【0068】
ステップS42で算出された射影変換行列Aをパラメータ記憶部8から取得する。そして取得した射影変換行列AとステップS45で算出された射影変換行列Bとを用いて、計測時の投影画素面とキャリブレーション時の投影画素面との間の射影関係を定める射影変換行列Cを求める(S46)。算出された射影変換行列Cを計測時の投影エッジ位置テーブルの値にかけることで、投影エッジ位置テーブルを変更する(S47)。ステップS47で変更された新たな投影エッジ位置テーブルを用いて三次元計測を行う(S48)。
【0069】
以上の方法によれば、三次元計測装置から検出領域までの距離値が不明であっても、検出領域を同一平面上に複数個設定し校正パターンを投影することで、使用するデバイスの経時的な変化による計測誤差を校正することが可能となる。
【0070】
<第2の実施形態>
第2の実施形態では校正計測パターン25ではなく、計測領域の面内における一次元方向の計測パターンのみを用いて校正する方法を説明する。図5は一次元方向の計測パターンとして投影するパターンを例示的に示す図であり、三次元計測に使用する計測パターン24を投影する。所定の検出領域21を複数設定し、検出領域21内の計測パターン24のずれを検出する。図5では計測パターンが水平方向のパターンであるため、計測領域の面内において、一次元方向の計測パターンに対して垂直方向のずれのみが検出できる。一次元方向の計測パターンのみを用いる場合、検出できない方向の座標(本図では水平方向)の設定が課題となる。そのため、線形補間によって検出できない座標を推定する。
【0071】
図6は、線形補間により座標を推定する方法を説明する図である。図6はカメラ4の撮像素子(撮像画素面)上での座標である。実際には検出領域21内でパターンの幾何特徴を複数の検出点からとり位置座標を求める場合もあるが、わかりやすくするため4点の位置座標で説明する。4隅の位置座標は、予め決めたx座標のx1およびx2で検出し、そのときのy座標をそれぞれ求める。まずキャリブレーション時の4点の位置座標を左上から時計回りに(x1、yc11)、(x2、yc12)、(x2、yc14)、(x1、yc13)とする。4点をつないだ形状をパターン形状60とする。同様に計測時のパターンから検出した4点の位置座標を左上から時計回りに(x1、yc21)、(x2、yc22)、(x2、yc24)、(x1、yc23)とする。4点をつないだ形状をパターン形状61とする。
【0072】
第1算出部11はキャリブレーション時および計測時における撮像画素面上におけるパターンの位置情報を用いた線形補間の結果を用いて、パターン形状60、61から4隅の検出領域21内のパターンの各縞のずれの対応関係を推定する。ずれの対応関係の推定方法として、線形補間を行い、計測パターン24の縞(パターン)ごとにずれの対応関係を内挿する。パターン形状60およびパターン形状61から上辺と下辺の直線式をそれぞれ求める。内挿を行うには、たとえばx座標のx3でパターン形状60の上辺の点を点62、下辺の点を点63とし、パターン形状61の上辺の点を点64、下辺の点を点65とする。x座標x3の位置で点62−点63間と点64−点65間とが対応関係になる。そこで、点62−点63間の縞のy座標が点64−点65間でどの座標になるかを線形補間で一次元探索することで、点62−点63間および点64−点65間をそれぞれ内挿することが出来る。このようにすると、パターン形状60とパターン形状61から各縞(パターン)のずれの対応関係を推定出来る。
【0073】
図6の例では、カメラ4の撮像画素面上での線形補間の例を示したが、線形補間の例はこの他、基準情報処理部13における対応関係を算出する場合にも適用することは可能である。基準情報処理部13は、投影画素面のパターンの位置情報と、撮像画素面のパターンの位置情報とを用いた線形補間の結果とを用いて、一次元方向のパターンに沿った方向について、撮像画素面と投影画素面との対応関係を算出する。
【0074】
計測処理部9は、第1算出部11、基準情報処理部13における線形補間の結果により求められるずれの対応関係に基づき、計測時の投影エッジ位置テーブルを変更することで校正を行うことが可能である。
【0075】
以上の方法によれば、検出領域に特殊な校正パターンを投影せずとも計測誤差の校正が可能である。すなわち、一般的に行う三次元計測の手法を変えることなく、検出領域を設定し、領域内の計測パターンを検出するのみで計測誤差を校正できるため、従来の三次元計測装置にも対応が容易である。
【0076】
<第3の実施形態>
第3の実施形態では、一次元方向の計測パターンのみを用いて校正する方法で、計測パターンと水平方向のずれの対応関係も推定するエピポーラ拘束を用いるアルゴリズムを説明する。基準情報処理部13はエピポーラ拘束を用いてカメラ4の撮像画素面とプロジェクタ3の投影画素面との対応関係を求めることが可能である。まず、エピポーラ拘束について図7で説明する。図7のカメラ4とプロジェクタ3の配置関係から、カメラ4の光軸中心Lcとプロジェクタ3の光軸中心Lpおよび、カメラ4の撮像画素面上とプロジェクタ3の投影画素面上における対応点Mc、Mpは同一平面上に存在することがわかる。すなわち、Mpはカメラ4とプロジェクタ3の光軸中心Lc、Lpとカメラ4の撮像画素面上の点Mcで決まる平面とプロジェクタ3の投影画素面が交わる直線上に存在する。この直線はエピポーラ線と呼ばれ、カメラ4とプロジェクタ3の対応点探索がエピポーラ線上に拘束されることをエピポーラ拘束と呼ぶ。
【0077】
カメラ4とプロジェクタ3の幾何学的な配置が既知であれば、カメラ4の各観測点におけるプロジェクタ3の投影画素面上のエピポーラ線を求める。そして、そのエピポーラ線上で対応点探索を行なうことにより,カメラ4の各観測点における投影画素面上の対応点を求めることができる。一般的には、カメラ4とプロジェクタ3の回転行列Rと並進行列Tから基本行列E=T×Rを求め、Mc=(xc、yc、1)、Mp=(xp、yp、1)とすると、下記の式(9)が成り立つ。
【0078】
【数11】

【0079】
次に図6を用いて、エピポーラ拘束を用いたアルゴリズムを説明する。一次元方向の計測パターンから、キャリブレーション時の4点の位置座標(x1、yc11)、(x2、yc12)、(x2、yc14)、(x1、yc13)が検出される。また、計測時のパターンから4点の位置座標(x1、yc21)、(x2、yc22)、(x2、yc24)、(x1、yc23)が検出される。投影エッジ位置テーブルから、キャリブレーション時および計測時に関するプロジェクタ3の投影画素面上の位置座標ypがそれぞれ求まり、カメラ4とプロジェクタ3のキャリブレーション値から基本行列Eを求める。以上から(6)式を用いてプロジェクタ3の投影画素面上の位置座標xpを求めることが出来る。最終的に、(xc、yc)と(xp、yp)が求まるため、第1の実施形態と同様に校正を行うことが可能になる。
【0080】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
所定のパターンを投影する投影手段と、前記パターンが投影された被写体を撮像する撮像手段とを有する三次元計測装置であって、
前記撮像手段によって撮像された画像において、計測空間内の同一平面上に予め設定された複数のパターン検出領域に投影された前記パターンの撮像画素面上の位置情報を検出する検出手段と、
前記位置情報を用いて、計測時前に予め検出した前記投影手段の投影画素面上の前記パターンと計測時における前記投影手段の投影画素面上の前記パターンとの対応関係を算出する対応関係算出手段と、
を有することを特徴とする三次元計測装置。
【請求項2】
前記対応関係算出手段により算出された前記対応関係を用いて、計測時における前記撮像手段の撮像画素面上の前記パターンと前記投影手段の投影画素面上の前記パターンとの対応関係を変更する計測処理手段を更に有することを特徴とする請求項1に記載の三次元計測装置。
【請求項3】
前記対応関係算出手段により算出される前記対応関係は射影変換であることを特徴とする請求項1または2に記載の三次元計測装置。
【請求項4】
前記パターン検出領域に投影される前記パターンは前記計測空間内における一次元方向のパターンであることを特徴とする請求項1乃至3のいずれか1項に記載の三次元計測装置。
【請求項5】
前記対応関係算出手段はエピポーラ拘束を用いて前記対応関係を算出することを特徴とする請求項1乃至4のいずれか1項に記載の三次元計測装置。
【請求項6】
前記対応関係算出手段は計測時前における前記パターンの前記撮像画素面上の位置情報と計測時における前記パターンの前記撮像画素面上の位置情報とを用いた線形補間によって前記対応関係を算出することを特徴とする請求項1乃至5のいずれか1項に記載の三次元計測装置。
【請求項7】
所定のパターンを投影する投影手段と、前記パターンが投影された被写体を撮像する撮像手段とを有する三次元計測装置における三次元計測方法であって、
前記三次元計測装置の検出手段が、前記撮像手段によって撮像された画像において、計測空間内の同一平面上に予め設定された複数のパターン検出領域に投影された前記パターンの撮像画素面上の位置情報を検出する検出工程と、
前記三次元計測装置の対応関係算出手段が、前記位置情報を用いて、計測時前に予め検出した前記投影手段の投影画素面上の前記パターンと計測時における前記投影手段の投影画素面上の前記パターンとの対応関係を算出する対応関係算出工程と、
を有することを特徴とする三次元計測方法。
【請求項8】
コンピュータを、請求項1乃至6のいずれか1項に記載の三次元計測装置の各手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−40848(P2013−40848A)
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願番号】特願2011−177744(P2011−177744)
【出願日】平成23年8月15日(2011.8.15)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】