説明

計測装置および情報処理装置

【課題】 三次元位置計測において、投影パターンのパターン形状を適切に設定することを目的とする。
【解決手段】 計測対象に対してパターン光を投影する投影手段と、前記パターン光が投影された前記計測対象を撮影し、前記計測対象の撮影画像を取得する撮影手段と、前記撮影画像と、前記投影手段の位置および姿勢と、前記撮影手段の位置および姿勢とに基づいて、前記計測対象の位置および/または姿勢を計測する計測手段と、前記計測対象の位置および/または姿勢の変動範囲から、前記パターン光の識別分解能を設定する設定手段と、前記識別分解能に応じて、前記パターン光のパターン形状を変更する変更手段と、を有することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元物体の三次元位置の情報を取得する計測装置および情報処理装置に関する。
【背景技術】
【0002】
計測対象物体の三次元位置情報を取得する技術の一つとして、パターン投影法によって距離画像を計測する技術がある。
【0003】
パターン投影法では、まず、二次元パターンを投影装置によって被計測空間に投影する。そして、撮像手段(カメラ)で被計測空間を撮影した画像からパターンを検出し、検出されたパターンを用いた三角測量により計測対象物体までの距離を計測する。
【0004】
一般的に、出力となる距離値は,撮像画像の各画素値として表現されることが多い。そのような各画素が距離を示す画像は距離画像と呼ばれる。
【0005】
距離画像を計測するときに利用する投影パターンは、三角測量によって距離を計算するときに利用する直線などの図形(以下、測距図形と呼ぶ)と、その図形を他の図形と区別するために埋め込んでおく幾何学的な模様や色の組み合わせなどの識別子からなる図形(以下、識別図形と呼ぶ)で構成される。
【0006】
距離画像の被計測空間における計測密度を高めるためには、投影パターンの測距図形の密度を上げることが望ましい。しかしながら、三角測量を実行するためには測距図形を互いに区別することが必要である。そのため、距離を測るための手がかりとして、パターン全体の中で唯一の識別が可能な識別図形を、測距図形に埋め込んでおく必要がある。
【0007】
これと別の方法としては、被計測空間にある計測対象物体を連続した滑らかな面であると仮定する。そして、識別図形を用いずに測距図形の連続性に基づいて測距図形の同定をする方法もある。
【0008】
非特許文献1には、距離画像を連続的に計測することで、連続したフレーム間では測距図形が大きく変動しないことに基づいて、識別図形の変化を検出し、投影パターンを変更する方法が開示されている。非特許文献1において、測距図形は平行な直線である。また、識別図形には色が異なる斜線が配置されている。パターンには、測距図形と識別図形の交点に符号となる図形を配置する。
【0009】
その配置された符号の有無を符号列とし、隣接する測距図形の番号とする。そして、連続するフレームの間の識別図形、測距図形の検出誤差に応じて投影パターンを変更する。検出誤差が大きい場合には、測距図形の間隔を広くし、識別図形の繰り返しを少なくする。これにより、隣接する図形との距離が広くなるため、測距箇所の数は減少するが、誤検出の可能性が減少する。また、距離点の総量に関しては、フレーム間で大きな変動が減少する。
【先行技術文献】
【非特許文献】
【0010】
【非特許文献1】Tohmas P. Knonckx and Luc Van Gool, “Real−Time Range Acquisition by Adaptive Structured Light”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 28, No.3, pp. 432−445, (2006).
【非特許文献2】Besl P.J. and McKay, N.D.”A Method for Registration of 3−D Shapes”,IEEE Transactions on Pattern Analysis and Machine Intelligence,Vol.14, No.2, pp. 239−256, (1992).
【非特許文献3】Y. Chen and G. Medioni, “Object modeling by registration of multiple range images”, Proceedings of IEEE International Conference on Robotics and Automation, Vol. 3, pp. 2724−2729, (1991)
【非特許文献4】Griffin, P.M., L.S. Narasimhan and S.R. Yee, Generation of uniquely encoded light patterns for range data acquisition, Pattern Recognition, Vol. 25, No.6, pp.609−616, (1992)
【発明の概要】
【発明が解決しようとする課題】
【0011】
1枚の投影パターンによる距離撮像取得方法は、複数枚の投影パターンを必要とする手法に比べて短時間で距離画像を取得できるため、高速性が要求される場面で利用される。上記非特許文献1に開示されている技術では、測距図形と識別図形の検出精度が、計測対象の表面形状に依存する。
【0012】
従って、測距図形の密度が高くなると、隣接する測距図形間における誤検出が発生しやすくなる。また、識別図形に関しても、多くの構成数が必要となる。個々の図形要素も大きくなり、識別判定のための閾値設定が困難になる。
【0013】
これらの投影パターンの調整を行う方法として、非特許文献1では、識別図形と測距図形の繰り返し間隔を連続した距離撮像中の検出誤差の変動に応じて調整する方法が開示されている。
【0014】
しかしながら、連続するフレームで緩やかに変化する対象物体に投影されたパターンの誤検出率を利用しているため、変化が大きい環境や、1枚の距離画像のみを撮影する場合への適用が困難であった。つまり、1枚の投影パターンによる距離画像を効果的に取得できる投影パターンの仕組みがなかった。
【0015】
本発明は、上記課題を鑑みてなされたものであり、三次元位置計測において、投影パターンのパターン形状を適切に設定することを目的とする。
【課題を解決するための手段】
【0016】
本発明は、計測対象に対してパターン光を投影する投影手段と、前記パターン光が投影された前記計測対象を撮影し、前記計測対象の撮影画像を取得する撮影手段と、前記撮影画像と、前記投影手段の位置および姿勢と、前記撮影手段の位置および姿勢とに基づいて、前記計測対象の位置および/または姿勢を計測する計測手段と、前記計測対象の位置および/または姿勢の変動範囲から、前記パターン光の識別分解能を設定する設定手段と、前記識別分解能に応じて、前記パターン光のパターン形状を変更する変更手段と、を有することを特徴とする。
【発明の効果】
【0017】
本発明は、三次元位置計測において、投影パターンのパターン形状を適切に設定することが出来る。
【図面の簡単な説明】
【0018】
【図1】第一の実施形態における三次元計測装置の構成を示す図である。
【図2】第一の実施形態における三次元計測装置の処理フローを示す図である。
【図3】第一の実施形態におけるパターン光のパターン形状を示す図である。
【図4】第一の実施形態における対象物体とパターン投影面との関係と、位置姿勢の精度と投影範囲との関係と、符号長と投影範囲との関係とを示す図である。
【図5】第三の実施形態における距離撮像装置の構成図である。
【図6】第四の実施形態における計測対象物体の位置姿勢を推定するための装置の構成を示した図である。
【図7】符号化長とN行M列の数列との関係を示す図である。
【発明を実施するための形態】
【0019】
(第一の実施形態)
図1は、本実施形態における三次元計測装置の構成を示す図である。
【0020】
3次元情報保持部20は、計測対象に関する3次元情報を保持する。ここでの3次元情報とは、計測対象物体の大きさ、形状を既定する値を有するもので、数値のテーブルやポリゴンモデルなどの表現を利用することができる。
【0021】
位置姿勢を含む推定状態保持部10は、計測対象物体が観測空間においてどのような状態にあるかを示す値を保持する。推定状態保持部10は、事前に設定された3次元空間における計測対象物体の位置と姿勢を少なくとも含む情報を保持する。
【0022】
識別分解能調整部30は、3次元情報保持部20が保持する情報と、位置姿勢を含む推定状態保持部10の保持している情報を利用して投影パターンの識別分解能に関するパラメータを調整する処理部である。
【0023】
本実施形態において、識別分解能に関するパラメータは、パターン光のパターン形状のパラメータを含むものとする。また、パターン光のパターン形状のパラメータは、パターン光のパターン間の密度、パターン光のパターンの符号列の長さを含むものとする。
【0024】
投影パターン構築部40は、識別分解能調整部30で調整されたパラメータを用いて、投影パターンを構築する処理部である。以上説明した、位置姿勢を含む推定状態保持部10、3次元情報保持部20、識別分解能調整部30、投影パターン構築部40は、一般的な記憶媒体、CPUなどを有する制御手段
などで構成することが出来る。そして、制御手段は、情報処理装置として機能し、各種処理を行うためのコンピュータプログラムが格納された記録媒体からコンピュータプログラムを読み出し、各種処理を行う。
【0025】
以下、図2を用いて、本実施形態における三次元計測装置の処理フローを説明する。
【0026】
(ステップS10)ステップS10では、本実施形態における三次元計測装置が、位置姿勢を含む推定状態保持部10から対象物体の位置姿勢と誤差範囲との情報を取得する。
【0027】
ここでは、物体の位置と姿勢は、既定された3次元座標系において、並進成分と回転成分で表現する。誤差範囲とは、それぞれの位置と姿勢に対して、その値の不確からしさや、精度として表現された値である。誤差範囲は、物体の変動範囲として表現しても良い。
【0028】
ここでは、誤差範囲は、位置姿勢パラメータの分散値とする。物体の位置姿勢を並進成分(Xm,Ym,Zm)、回転成分(Rx,Ry,Rz)とし、そのときの並進成分の分散値を(σxm、σym、σzm)、回転成分の分散値を(σrx、σry、σrz)と表現する。よって、12個のパラメータで表現することが出来る。
【0029】
計測対象物体の位置姿勢に関しては,物体を撮影する環境としておおよその値が決まっている場合には、その値を用いることができる。たとえば、計測台と撮像装置の配置関係が固定されていて、計測台に計測対象物体を配置した場合には、計測台までの位置関係、配置位置などの概略値を利用することができる。
【0030】
また、撮影画像中に含まれる計測対象物体の像をグラフィカルインターフェース(GUI)で提示してユーザに画像中の対象物体の範囲を選択させて、そこから各パラメータを算出しても構わない。
【0031】
ここでは、撮像装置のカメラが撮像した画像を利用して、位置姿勢のうち位置を決める手順について述べる。基本的に、三角測量(三角法)に基づく位置算出である。
【0032】
カメラパラメータが既知であるとして、カメラと物体までの距離をZdとする。このZdは、メジャーにより計測したカメラと物体までの距離を概算値として用いる。GUIにより、カメラで撮影した画像を提示して、物体の領域の中心を指定する。なお、画像処理で行う場合には、計測対象物体と背景とを分離できるように2値化し、対象領域の重心を求めれば良い。領域中心の画像座標系(Ub,Vb)は、次式で3次元空間の位置へ変換できる。
【0033】
【数1】

【0034】
ここで、カメラパラメータのX軸方向の焦点距離をfx、Y軸方向の焦点距離をfy、X軸方向の主点位置をcx、Y軸方向の主点位置をcyとする。
【0035】
位置の分散値(σx、σy,σz)は、対象物体が配置される範囲を指定する。ここでは、対象物体が設置台の範囲のいずれかの位置に置かれている場合を想定して、設置台の面をカメラから観測した場合の設置範囲を事前に取得し、その値を(σx、σy、σz)として設定する。実際には、より確からしい分散値が取得できるのであれば、それを設定するほうが良い。
【0036】
回転軸まわりの回転として、(Rx,Ry,Rz)および、その分散値(σrx、σry、σrz)は、カメラ座標系でのモデルの姿勢の初期値と、その誤差を設定する。対象が球体に近い物体であれば、このいずれの値も任意で構わないが、細長い形状を有する場合には、姿勢の情報は重要になってくる。GUIでモデルの姿勢を変化させて、撮影した画像中の対象と類似する見えのときの姿勢値を利用する方法で簡単に設定できる。また、姿勢の分散値は対象物体の形状にも依存するので、任意に設定すれば良い。
【0037】
位置姿勢を含む推定状態保持部10では、物体の位置姿勢と、その不確からしさの値が保持されていれば良く、その表現方法や保持手段については問わない。例として、位置姿勢の値の不確からしさとしては、事前に登録された情報との差も不確からしさの指標として使うことができる。対象物体を事前に複数の視点で観察したものを画像として保持しておき、対応する視点の画像と、撮像画像との相関値を用いても構わない。また、事前に登録された視点と、保持している位置姿勢との差を用いても構わない。ここでは、何らかの位置姿勢の状態を数値として表現し、その位置姿勢の値の確からしい範囲が利用できるようになっていれば何れの表現や算出方法であっても構わない。
【0038】
なお、対象物体の位置姿勢が不明な場合には、分散値が撮像画面の大きさになるように設定すれば良い。これにより、撮像画面中のどこかに対象が映り込む想定として取り扱える。
【0039】
(ステップ20)
ステップS20では、本実施形態における三次元計測装置が、3次元情報保持部20から対象物体の3次元情報を取得し、ステップS10で取得した位置姿勢に関する情報を用いて、撮影画像中の対象物体の投影範囲を推定する。ここでは、その範囲は、モデル投影範囲と呼ぶ。
【0040】
3次元情報保持部20は、計測対象物体の3次元情報として物体の形状情報に関する情報を保持している。具体的には、物体表面を離散的なポリゴンで近似したモデルであっても構わない。また、計測対象物体を直方体、円柱、球体などの単純な立体図形で近似した場合の形状と大きさであっても構わない。
【0041】
例えば、事前に設定した視点で計測対象物体を撮影した撮影画像を用いる場合、当該撮影画像と撮像装置の位置姿勢から、計測対象物体を含む範囲の視錐体でモデル投影範囲を表現することが出来る。
【0042】
この3次元情報保持部20の形状モデルが、ステップS10で取得した3次元の位置姿勢とその誤差を考慮した範囲に存在するとして、パターン投影面の画像座標に投影される範囲を計算する。
【0043】
ここでは、対象物体の3次元情報保持部20において、3次元情報としての形状が直方体の場合を説明する。直方体の重心を原点として各頂点座標をB(i)=[X(i),Y(i),Z(i)]とする(ただし、i=1〜8)。
【0044】
ステップS10により取得した位置姿勢は、カメラ座標系での値として並進成分(Xm,Ym,Zm)、回転成分(Rx,Ry,Rz)とする。
【0045】
頂点B(i)がカメラ座標系に変換されてBc(i)=[Xc(i),Yc(i),Zc(i)]とすると、次の式2で計算することが出来る。
【0046】
【数2】

【0047】
さらに、カメラ座標系から投影パターンを投影する装置の座標系への変換を表す基礎行列Eが事前の校正値から得られているものとする。すると、カメラ座標系における頂点から投影パターンの座標系の頂点Bp(i)=[Xp(i),Yp(i),Zp(i)]に変換する方法は、基礎行列Eにカメラ座標系での頂点Bc(i)を乗じて、Bp(i)=E・Bc(i)で計算することが出来る。
【0048】
各頂点Bp(i)の投影パターン画面への投影位置UVp(i)を計算する。
【0049】
【数3】

【0050】
ここで、fpx、fpyは投影パターン座標系におけるX軸方向、Y軸方向の焦点距離である。頂点B(i)からUVp(i)までの計算は、3次元情報を点とした場合には、同じように計算することができるので、直方体に限定するものでは無い。
【0051】
次に、各頂点B(i)に対して並進成分の誤差成分として(σx、σy、σz)と、姿勢成分の誤差成分(σrx、σry、σrz)が加算/減算された頂点位置をそれぞれB(i)、B(i)とすると、次式のようになる。
【0052】
【数4】

【0053】
B+(i)を用いて、(Xm+,Ym+,Zm+)と(Rx+,Ry+,Rz+)からUVp+(i) を算出する。B−(i)は、(Xm−,Ym−,Zm−)および (Rx−, Ry−, Rz−)からUVp−(i)を算出するのに用いる。
【0054】
モデル投影範囲は、UVp(i)、UVp(i), UVp(i)の3つの投影点の全てを含む矩形範囲として設定される。ここでは、各投影点の最小、最大の値を抽出して、それらを含む矩形として設定すれば良い。誤差範囲のパラメータ内に実際の物体があれば、モデル投影範囲のいずれかの位置に計測対象物体が映り込む。本実施例では、計測対象物体を内包する直方体として説明したが、基本的には位置または姿勢の変動、不確からしさとしての分布から、計測対象物体の投影範囲が設定できれば良い。計測対象物体を複数の直方体として表現して、それぞれの投影位置の最大、最小の値を利用しても構わないし、球や円柱などの別の幾何図形で表現して、投影位置を計算しても構わない。計測対象物体のポリゴンモデルからなる投影図形を利用しても構わない。
【0055】
ここでは、対象の3次元情報として形状の値を、ステップS10で設定された位置姿勢を含む状態を反映するようにモデルとして配置しておく。そして、そのときの投影パターンの画面へ投影計算を行う。尚、モデル投影範囲を決定することが出来れば他の計算方法でも構わない。
【0056】
例えば、上記実施形態では、3次元情報から投影パターンの画面への投影計算に、ピンホールカメラモデルを利用した投影計算を行った。しかしながら、計測対象物体の奥行き値が変化せずに、カメラ面に対して平行な面に移動する場合には、正射影モデルを利用しても良い。
【0057】
また、投影パターンの座標系とカメラ座標系のベースラインが短い場合は、モデル投影範囲をカメラ座標系で計算した値で近似しても構わない。
【0058】
(ステップS30)ステップS30では、三次元計測装置が、ステップS20で計算されたモデル投影範囲に対して、投影パターンの識別図形の識別分解能によるパターンの大きさと測距図形の密度に応じた領域が含まれるように、識別分解能を決定する。
【0059】
非特許文献4によるDe Bruijn数列を利用した識別図形の生成方法を利用する場合には、図3に示すパターンのサイズと、測距図形の間隔を乗じた投影パターン面積が、モデル投影範囲を内包するように設定されれば良い。
【0060】
位置姿勢の誤差が小さい場合には、モデル投影範囲が小さくなり、測距図形の間隔を固定した場合には、識別図形の符号長が短くなる。
【0061】
符号長が短くなると、識別図形の個数が少なくなり、それぞれの図形の識別が容易になるため、安定した検出が可能となる。また、1回あたりの識別パターンの数列との照合回数も減少するので、処理時間も短くなる。
【0062】
非特許文献4では、N行M列の数列中の3x3の数値の配置が固有となるパターンを生成する方法が開示されている。識別図形のパターン数をkとすると、N,Mは式5で示す数となる。
【0063】
【数5】

【0064】
図7は、符号化長とN行M列の数列との関係を示す図である。
【0065】
kは符号化長として、図7にそのときのNとMの値を示す。具体的な数列の例としてDe Bruijn数列による行を Vhm 、Vhn とし、k=3の場合を式6に示す。
【0066】
【数6】

【0067】
この数列から、パターンの値 f(i,j)を式7のように示すことができる。
【0068】
【数7】

【0069】
ここで、f(0,j) = Vhm(j) とする。計算された数列を図3(a)に示す。この数列は、数列の3x3の選択範囲における値の配置が他の3x3とは異なる固有な配置になっていることが特徴である。
【0070】
ここで示された数値に対応して、識別図形を用意する。図3(b)では、{1,2,3}に対して、色が異なる円形図形210を識別図形とする。図3(b)では、格子状の測距図形230の格子点に識別図形210を含むパターン図形が物体表面に投影した例である。
【0071】
点線で示した枠線220のパターンが図3(a)の200に対応するパターンを有している。同様に識別図形を矩形の配置により表現した例を、図3(c)に示す。
【0072】
識別図形240は、2x2の矩形の配置で対応する数値を示す。図3(c)中の点線の枠線250が図3(a)の3x3のブロック200に対応する。
【0073】
投影パターンは、識別図形の数により構成されるパターンの大きさと、測距図形の密度により、実際の投影面積が決定される。
【0074】
図4(a)は、一般的なピンホールカメラモデルによる対象物体とパターン投影面との関係を示している。実際に観察される対象物体の投影像に対して、位置姿勢は正確ではないため、投影像にはズレが生じる。
【0075】
このズレは、位置姿勢の精度、誤差に起因する。図4(b)は、位置姿勢の精度と投影範囲との関係とを示した図である。精度が良い場合には、実際に観察される対象物体の投影像と、3次元モデルの投影像との差が小さくなる(図4(b)左図)。
【0076】
一方、誤差を多く含む場合には実際の対象物体の投影像に対して、3次元モデルの投影像のズレが大きくなる(図4(b)右図)。
【0077】
ここで、誤差を含む投影像の取り得る投影範囲を計算により求める。
【0078】
図4(b)左図は位置姿勢の精度が良い場合として、その3次元モデルの投影範囲310の高さ方向をH1とする。また、図4(b)右図は位置姿勢の精度が悪い状態として、その3次元モデルの投影範囲320は、投影範囲310よりも大きくなり、その高さ方向をH2とする。
【0079】
ここでは、H1,H2のそれぞれの範囲が含まれるパターンが生成できれば良い。図7のNとH1とH2の値を比較して、H1,H2のそれぞれが含まれる最小の符号化長をここでは選択する。H1では、モデル投影範囲が小さいため、符号化長が3のパターンで投影範囲310をカバーすることができる。一方、H2ではモデル投影範囲320が大きいため符号化長が6の大きいパターンを利用するように決定する。
【0080】
なお、他の識別図形を利用する場合には、ここで説明した方法と同様に、モデル投影範囲と、識別図形の範囲を調整できるようにすれば良い。
【0081】
ステップS40では、ステップS30で決定された符号化長によるパターン図形を、ステップS20で計算されたモデル投影範囲にビットマップ画像として配置することで投影パターン画像を生成する。符号化長によるパターンは事前に生成しておくことができるため、投影画像全体のビットマップに、パターンを含む矩形をモデル投影範囲にコピーすれば良い。
【0082】
投影パターン構築部40は、識別分解能調整部30の情報から投影パターンを構築する。測距図形と識別図形の各パラメータに応じて投影パターンを作成する。なお、事前にパラメータに応じたパターン画像を生成しておいて、それを読み込んで投影パターンとしてビットマップに設定しても構わない。ここでは、ステップS30により設定された測距図形と識別図形がパラメータにより投影パターンが投影できるように準備できていれば良く、利用する測距図形や識別図形に関する限定は無い。
【0083】
(第二の実施形態)
前述の実施形態は、識別図形の符号化長をパラメータとして、誤差を含む位置姿勢の情報から3次元モデルを利用して投影されるモデル投影範囲を計算した。そして、その範囲をカバーする識別図形の大きさとして符号化長をパラメータとして決定した。異なる手法として、識別分解能調整部30において、投影パターンを決定する他のパラメータを調整しても構わない。
【0084】
計測線を含む測距図形の間隔をDとすると、実際の投影パターンの大きさは識別パターンのサイズが(N,M)であることから、(NxD,MxD)の範囲となる。そのため、識別分解能調整部30ではDをパラメータとしてパターン調整しても構わない。具体的には、モデル投影範囲が(NxD、MxD)のパターンが内包されるDを決定すれば良い。Dが大きい場合には、計測線の密度が低くなるため距離画像が疎になり、隣接する識別図形同士との隙間が広くなる。よって、誤検出が減少して、安定した検出が可能となる。一方で位置姿勢の精度が良い場合には、より計測線の密度を高めることができる。
【0085】
さらに、識別分解能調整部30では、識別図形の符号化長と測距図形の間隔の2つのパラメータを同時に利用しても構わない。識別図形の識別数が増加すると、それぞれの識別図形を判別することが難しくなるため、その場合には測距図形の間隔を広げるように調整することもできる。
【0086】
(第三の実施形態)
第三の実施形態として、距離撮像装置の投影パターンの生成の処理として利用することができる。
【0087】
図5は、本実施形態の距離撮像装置における構成図である。
【0088】
3次元情報入力部は、モデルの情報として計測対象物体を基本的な図形に近似したときの寸法を入力する。入力には、画面に表示してユーザが選択できるようになっていても構わないし、ファイルにより記述された値を読み込む方法でも構わない。計測対象物体の3次元情報が距離撮像装置へ入力できるようになっていれば良い。
【0089】
概略位置姿勢情報入力部は、計測対象物体の距離撮像装置における位置姿勢を入力する。本装置と計測対象物体の配置情報が既知であれば、それを利用しても構わないし、連続した計測で前回の場所とほぼ同じであれば、その値を流用しても構わない。
【0090】
点線の枠内のブロックについては第一の実施形態で前述した処理ステップを行う。
【0091】
本実施形態の装置は,投影パターン構築部で生成した投影パターンを投影して撮像することで、距離画像を取得する距離画像取得装置とする。パターン投影部とパターン撮像部は、実際の機器としては液晶プロジェクタとデジタルカメラを利用することができる。また、投影パターンをフィルムとして保持し、識別分解能に応じてフィルムを切り替えるパターン投影でも構わない。また、LEDやレーザーのスポット光を走査しながら輝度制御するパターン照射でも構わない。ここでは、複数のパターンが切り替えられて、計測対象物体の反射像として撮影できれば、本実施形態においては問題無い。なお、パターン投影とパターン撮像の相対的な配置や、カメラパラメータ、レンズの歪み係数の距離算出に必要な校正値は事前に得られているものとする。
【0092】
識別図形復号部は、撮像画像中に含まれる識別図形の検出と、対応する数値情報への復号化を行う。検出方法は、カラー部位検出や、しきい値処理などそれぞれの識別図形が検出される画像処理の手順を実行すれば良く、その情報は投影パターン構築部と対応しているものとする。
【0093】
測距図形検出部は、識別図形復号部で検出された近傍の測距図形を検出して、投影パターンの画像位置との対応付けを行う。
【0094】
距離値算出部は、測距図形検出部で対応づけられた投影パターンの画像位置と、撮像画像中の検出位置との関係から三角測量により測距図形の3次元位置を算出する。パターン投影画像面のあるパターンの座標をm=[u、v、1]とする。撮像画像上の射影パターン位置m’ ’=[u’ ’、v’ ’、1]とする。実際に投影されたパターンを撮像し、検出された座標を実投影パターンの撮像画像上の位置を実射影パターン位置m’’とパターン位置mとする。ローカル座標変換行列R(3x3行列)、t(tx,ty,tz)、そして、実パターンの3次元投影位置M’の関係は次式のようになる。
【0095】
【数8】

【0096】
M’は、左辺の行列式の一般化逆行列を両辺に掛け合わせることで求めることができる。
【0097】
距離画像生成部は、各測距図形の画像位置に対して距離値を対応づけた距離画像を生成する。
【0098】
本実施形態の処理により、距離画像中に含まれる対象物体の大きさに応じた識別図形の符号化長が適応的に調整される。よって、投影パターン全体を含む符号化長の識別図形を用いた場合と比較して、安定したパターン検出と、数列の比較にかかる時間を短縮することによる処理高速化の効果がある。
【0099】
(第四の実施形態)
図6は、本実施形態における計測対象物体の位置姿勢を推定するための装置の構成を示した図である。
【0100】
第三の実施形態に含まれる距離算出の処理は、投影パターン距離測距部で行うとする。投影パターン距離測距部による距離画像を利用して位置姿勢推定部では対象物体の3次元情報と概略位置姿勢から精度良い位置姿勢を推定する。なお、位置姿勢の推定結果は、位置姿勢推定結果出力部より出力される。
【0101】
位置姿勢推定部の処理は、3次元情報入力部から入力された対象物体の形状モデルと投影パターン距離測距部からの距離画像に含まれる距離点との間の距離が小さくなるように位置姿勢の推定演算を行う。位置姿勢の推定方法として非特許文献2に開示されるICP(Iterative Closest Point)法や、非特許文献3に開示される方法を利用すれば良い。これは、距離画像の各距離点との間で最近傍の形状を構成する面の対応を求め、その対応する面と距離点との距離を最小化するように位置姿勢のパラメータを更新するものである。非線形最適化の初期値としては、概略位置姿勢情報入力部の位置姿勢を利用すれば良い。
【0102】
ステップS10での位置姿勢の状態として、位置姿勢推定部の値を用いることができる。位置姿勢推定では、位置姿勢の各パラメータの微小変化に伴う特徴点の画面上の変化を示した画像ヤコビアンを利用する。
【0103】
画像ヤコビアン行列をJとして、観測エラーベクトルE、パラメータの補正項ベクトルΔと表現すると、線形一次近似により JΔ=Eと表現できる。パラメータの補正項Δを、Jの一般化逆行列を用いて次式より求める。
【0104】
【数9】

【0105】
式9の補正項Δは、実際の対象物体の位置姿勢パラメータの差を意味している。この補正項Δは、誤差分布の共分散行列から算出されるものであり、現在の位置姿勢の推定状態における分散の値となる。
【0106】
実際には、距離画像を算出する前に、画像中のエッジを利用した位置姿勢推定を行い、その結果を利用しても良い。画像のエッジを利用する方法は、撮像装置により撮影された画像の1枚があれば良く、対象物体の3次元情報として輪郭として検出できるエッジに関する情報が取得できるので、カメラ座標に投影したときの画像ヤコビアンと初期値を用いることで、補正項Δに相当する値を算出することができる。
【0107】
本実施形態では、位置姿勢推定部の結果を流用することで、より詳細な3次元の位置姿勢と、その分散値が求められるため、モデル投影範囲が正確になり、識別分解能の調整の精度を向上することができる。これにより、余計な符号化長を削減できるため、識別図形の検出安定化と、パターンの数列照合にかかる処理時間を短縮できる効果を持つ。
【0108】
(第五の実施形態)
識別分解能調整では、位置姿勢を含む情報であれば、本発明の効果が得られることから、次のような計測対象の位置姿勢および幾何形状に関する情報を利用することもできる。情報とは、焦点距離との差、計測対象の面の向き、モデルの姿勢に応じた視点別に生成したモデルの観察画像との類似度、視点別モデルの視点と視線方向と保持している位置姿勢との差、距離計測あいまい性、である。以下、それぞれについて説明する。
【0109】
<焦点距離との差>
投影パターンを照射には光学レンズが用いられる。また、その撮像装置でも光学レンズを用いる。それらの光学素子では焦点距離が一致する範囲が限定され、ピントが合うところ合わないところがある。ピントが合っていない範囲では、焦点ボケにより図形要素のエッジが不鮮明となり検出が難しくなる。そこで、位置姿勢の情報として奥行き情報である形状表面と焦点距離との差を用いることができる。その差が長い場合には、識別分解能を上げることで、奥行き方向の計測点を増やす。また、焦点距離のピントが合う範囲であれば識別分解能を下げても平面様なので対応が容易にできる。
【0110】
具体的には焦点ボケによる大きさを画素値として表す。PSF(Point Spread Function)を用いて、理想的な1点を撮影したときのボケによる周辺画素の広がりをσとすると、少なくともσよりも短い間隔でパターンや計測線を配置すると、ボケにより識別が困難になる。そこで、σの値よりも幅の広い間隔でパターンを生成するように設定すれば良い。例えば、3σにしたときの画素値換算の値をパターン識別の空間的な間隔とするように設定すれば良い。
【0111】
<計測対象の面の向き>
投影装置と計測対象物体の各表面の向きもパターン投影では関係がある。面の向きが投影光に対して傾斜している場合には、反射光量が減少し、パターンのエッジが不鮮明となり検出が難しくなる。そこで、計測対象物体の各面と光源との向きとカメラの位置に基づき,反射光量が小さくなる傾斜の箇所を検出し,識別分解能を上げる.逆に,傾斜が小さい場合には識別分解能を下げる。
【0112】
照明系のパターンを構成する1つの画素相当の領域から照射された光は、三角法により別の視点で観察した場合には、照射された面の法線方向により、広がって観察されることとなる。その広がりは光源方向と面の位置・姿勢とカメラの方向から算出される。そこで、計測対象物体の各表面の法線に対して、照射面の広がりを計算し、その広がりをσとすれば、前述と同様にσに応じてパターンの間隔を調整すれば良い。
【0113】
<テンプレート画像との類似度>
観測画像の特徴検出位置と推定しているモデルとの差異を検出するために、事前に計測対象を複数の視点で観察したときの画像を用いることができる。その画像は、視点の情報を含むことから位置姿勢の情報としても利用できる。その視点別の画像に対して、撮像した画像とのモデル該当領域とのテンプレートマッチングを行い、その相関値を算出する。相関値は位置姿勢の誤差として用いることができるので、相関値が高い場合は識別分解能を上げて、値が小さい場合には識別分解能を下げれば良い。
【0114】
まず、事前に設定している対象物体の配置における画像を複数毎取得する。そこで、部品領域に相当する部分の画像を抽出して平均化処理を行う。これを基準位置と併せて、テンプレート画像として登録する。次に、実際に撮影を行う際の対象物体の画像を取得し、テンプレートの基準位置での画素値の相互相関係数を計算する。基準位置よりズレている場合には、テンプレートとの相関値は低い値を示す。撮影対象がズレていることから、識別分解能を高くするために、符号長を長くすれば良い。ズレていない場合には、計測線や識別パターンの密度を高くするパターンを設定して、高密度な距離画像を取得するようにすれば良い。
【0115】
<テンプレート画像生成時の位置姿勢と推定位置姿勢との差>
前述のテンプレート画像は、最終的な位置姿勢とは異なる位置姿勢で観測したものを事前に用意したものである。そのため、各テンプレート画像を取得した際の位置姿勢の情報と、推定中に位置姿勢との差を指標として用いることができる。テンプレートの位置姿勢と推定中の位置姿勢との差が大きい場合には、識別分解能を上げて、差が小さい場合には識別分解能を下げる。
【0116】
複数の視点でテンプレート用の複数の画像を取得し、視点としてのカメラとモデルとの相対的な位置姿勢と平均化した撮像画像をテーブルとして保持する。次に、実際に撮影した対象の位置姿勢の値に対して、テーブルで保持している位置姿勢から最も近い位置姿勢を対応させる。テーブルの位置姿勢と、比較している撮影時の位置姿勢の差を計算する。位置に関してはユークリッド距離とし、姿勢に関しては回転軸まわりの回転角度の差を計算することができる。それらの位置姿勢の差が大きいときは、想定している状態よりも計測対象の部品がズレているとして、識別分解能を大きく設定して、計測線の誤対応を削減することができる。
【0117】
<距離計測あいまい性>
3次元空間中における三角測量(三角法)の誤差のあいまい性の要因として、三角測量のパラメータであるカメラとプロジェクタとのベースラインと計測点までの距離に依存する関数であるσ3Dを用いることができる。これは、距離が遠いほど距離計測の分解能が大きくなり、奥行き方向の分布が大きくなる。位置姿勢の変動範囲のうち、奥行きに関連するのはZ方向の精度と、面の法線に関連するピッチ・ヨー方向の精度に影響する。
【0118】
距離計測装置のあいまい性σ3Dは、Bをカメラ間のベースライン、Zを計測点への距離、σimgを計測点の画像上でのあいまい性、fをカメラの焦点距離とすると、次式のように表現できる。
【0119】
【数10】

【0120】
σ3Dを利用して、その領域にある計測対象物体に照射するパターンの識別分解能を調整しても構わない。あいまい性が大きい場合には、識別分解能を上げる。また、あいまい性が小さい場合には識別分解能を下げる。
【0121】
これらの位置姿勢の推定状態の1つ以上を利用することで、識別分解能を決定することができる。その設定は、システムとして既定されていても構わないし、利用者が設定できるようになっていても構わない。
【0122】
(第六の実施形態)
識別分解能調整部において、パターンの識別分解能に応じたパターンの切り替えとして、識別図形、測距図形を変更するパラメータとして調整が可能なものとして以下の対象も利用できる。これらは、サイズや間隔が変更されるとパターンのサイズも変更されるため、各要素のパラメータを調整してモデル投影範囲を内包するようにパラメータを決定すれば良い。利用可能な対象は、図形要素サイズ、パターンの切り替え、識別図形の有無、などである。以下、それぞれについて説明する。
【0123】
<図形要素サイズ>
第一の実施形態において前述したように、図形要素のサイズを調整することができる。識別分解能が低い場合には、面積の小さいパターンを利用する。識別分解能が高い場合には面積が大きいパターンを利用する。
【0124】
具体的には、撮影画像のボケや変動による大きさをσとしたしたときに、図形の大きさは、そのσよりも小さい場合には1つの図形要素として検出されない場合が発生する。そこで、識別分解能から算出される投影画面上での変動範囲のσから、図形の大きさがσよりも大きくなるように設定すれば良い。
【0125】
<パターンの切り替え>
パターンの切り替えとして、識別分解能が高いものとして検出方向に左右されにくい円形状から、識別分解能が低い場合には細かいストライプで構成されるパターンなどを精度に応じて切り替える。
【0126】
また、円形以外の場合にはパターンの向きも調整することができる。パターンの向きは、プロジェクタやカメラの走査方向や配置に応じて調整すれば良い。
【0127】
ここでは、パターン図形の密度の違いとして「円」、「矩形」、「線」の要素と、識別分解能との対応をテーブルとして登録しておく。撮影した際の、パターンの識別分解能に応じて、対応する図形をテーブルから参照すれば良い。
【0128】
<識別図形の有無>
3次元の位置姿勢の状態として、分散の値が十分小さい場合には、保持している位置姿勢と3次元の形状情報から、正確な物体表面への測距図形の投影位置が求められる。この場合、識別図形が不要となる。そのため、識別分解能調整部では、識別図形の生成パラメータとして、識別図形を生成しないという選択も利用することができる。これにより、識別図形の検出処理が無くなるため、処理量が低減され高速化でき、密な測距図形を利用して高密度な計測を行うことができる。
【0129】
(第七の実施形態)
第一の実施形態では、モデル投影範囲として計測対象を全て含む矩形を設定した例を提示した。投影パターン中に含まれる識別図形は、対象物体を構成する各曲面の単位で、識別分解能調整を行うことが可能である。直方体であれば、6面の法線の異なる面を有しており、その各面(計測面)ごとに識別図形を変更すれば良い。当該手法では、位置姿勢を含む推定状態と、各面のモデルからモデル投影範囲が算出される。よって、その範囲ごとに識別分解能を行って投影パターンを決定することができる。これにより、投影範囲の面積がより小さくなり、識別図形の符号化長が短くなることで識別図形の検出が安定化し、パターンの走査照合時間が短縮されることで高速化となる。
【0130】
具体的には、第一の実施形態の直方体の例で示した頂点を、面を構成する点列ごとに処理を行えば良い。
【0131】
(第八の実施形態)
本実施形態では、前述の位置姿勢推定装置をロボット(ロボットハンド)による把持・組み立て(作業)において利用する場合を説明する。ロボットを含む構成では、対象物体の観察位置姿勢が組み立て作業のタスクごとに異なる。部品を把持するために離れた位置から対象物体を観察する場合や、対象物体を把持して組み付け先の部位を観察する場合では、対象物体の画面に占める大きさが変化する。ロボットと対象物体との距離が遠い場合には、ベースラインとの関係から視線方向の不確からしさが大きくなるため、識別分解能を高くして、投影パターンの投影位置の変動が大きくても識別図形が検出できるようにするように調整することができる。対象物体を把持して、所定の姿勢を維持している場合には、視線方向の不確からしさが減少して、位置または姿勢の精度が良くなるため、符号化長を短くするなどの識別分解能を低くする調整が可能となる。その場合、パターン走査照合時間が短縮されるため、短時間での位置姿勢推定が可能となる。なお、本実施形態ではロボット(ロボットハンド)による観察位置の変化に伴う識別分解能を変更する例を述べたが、対象物体の位置姿勢がタスクによって変化する場合も同様に本発明を適用することができる。ベルトコンベアに流れてくる複数の対象物体の、概略の位置を推定する場合には識別分解能が高い投影パターンを用いて、その中から特定の対象に対して把持を行う場合には、概略の位置が既知であるため、識別分解能が低いマルチラインをベースとした投影パターンを用いて密な距離画像を得ることが可能となる。つまり、対象物体の位置姿勢の変更を伴う駆動系を有するシステムにおいて、本発明の実施例は、観察位置や対象物体の配置の拘束条件などの情報を利用して識別分解能を変更することができる。¥


【特許請求の範囲】
【請求項1】
計測対象に対してパターン光を投影する投影手段と、
前記パターン光が投影された前記計測対象を撮影し、前記計測対象の撮影画像を取得する撮影手段と、
前記撮影画像と、前記投影手段の位置および姿勢と、前記撮影手段の位置および姿勢とに基づいて、前記計測対象の位置および/または姿勢を計測する計測手段と、
前記計測対象の位置および/または姿勢の変動範囲から、前記パターン光の識別分解能を設定する設定手段と、
前記識別分解能に応じて、前記パターン光のパターン形状を変更する変更手段と、を有することを特徴とする計測装置。
【請求項2】
前記設定手段は、
前記計測対象の位置および/または姿勢の変動範囲と前記計測対象の幾何形状とから、前記パターン光の識別分解能を設定することを特徴とする請求項1に記載の計測装置。
【請求項3】
更に、前記計測対象の距離画像を取得する距離画像取得手段を有し、
前記設定手段は、
前記計測対象の位置および/または姿勢の変動範囲と前記距離画像中に含まれる前記計測対象の大きさとから、前記パターン光の識別分解能を設定することを特徴とする請求項1に記載の計測装置。
【請求項4】
前記設定手段は、
前記計測対象の配置の拘束条件から前記計測対象の位置および/または姿勢の変動範囲を決定することを特徴とする請求項1に記載の計測装置.
【請求項5】
前記変更手段は、
前記識別分解能に応じて、前記パターン光のパターン識別の符号列の長さを変更することを特徴とする請求項1乃至4のいずれか1項に記載の計測装置。
【請求項6】
前記変更手段は、
前記識別分解能に応じて、前記パターン光のパターン間の密度を変更することを特徴とする請求項1乃至4のいずれか1項に記載の計測装置。
【請求項7】
前記変更手段は、
前記識別分解能に応じて、前記パターン光のパターン図形の大きさを変更することを特徴とする請求項1乃至4のいずれか1項に記載の計測装置。
【請求項8】
前記変更手段は、
前記識別分解能に応じて、前記パターン光のパターン図形の有無を切り替えることを特徴とする請求項1乃至4のいずれか1項に記載の計測装置。
【請求項9】
前記変更手段は、
前記識別分解能に応じて、前記計測対象の計測面ごとに、前記パターン光のパターン形状を変更することを特徴とする請求項1乃至8のいずれか1項に記載の計測装置。
【請求項10】
パターン光が投影された計測対象の撮影画像と、前記パターン光を投影する投影手段の位置および姿勢と、前記撮影画像を取得する撮影手段の位置および姿勢とを用いて、前記計測対象の位置および/または姿勢を計測する計測手段と、
前記計測対象の位置および/または姿勢に関する情報から、前記パターン光の識別分解能を設定する設定手段と、
前記識別分解能に応じて、前記パターン光のパターン形状を変更する変更手段と、を有することを特徴とする情報処理装置。
【請求項11】
計測手段が、パターン光が投影された計測対象の撮影画像と、前記パターン光を投影する投影手段の位置および姿勢と、前記撮影画像を取得する撮影手段の位置および姿勢とを用いて、前記計測対象の位置および/または姿勢を計測する計測工程と、
設定手段が、前記計測対象の位置および/または姿勢に関する情報から、前記パターン光を投影する識別分解能を設定する設定工程と、
変更手段が、前記識別分解能に応じて、前記パターン光のパターン形状を変更する変更工程と、を有することを特徴とする情報処理方法。
【請求項12】
コンピュータを、
パターン光が投影された計測対象の撮影画像と、前記パターン光を投影する投影手段の位置および姿勢と、前記撮影画像を取得する撮影手段の位置および姿勢とを用いて、前記計測対象の位置および/または姿勢を計測する計測手段と、
前記計測対象の位置および/または姿勢に関する情報から、前記パターン光を投影する識別分解能を設定する設定手段と、
前記識別分解能に応じて、前記パターン光のパターン形状を変更する変更手段と、を有することを特徴とする情報処理装置として機能させるコンピュータプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−36983(P2013−36983A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2012−150471(P2012−150471)
【出願日】平成24年7月4日(2012.7.4)
【特許番号】特許第5132832号(P5132832)
【特許公報発行日】平成25年1月30日(2013.1.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】