説明

3次元計測方法および3次元計測装置

【課題】 各カメラを計測目的に応じた状態に設定したり、そのような設定になっているかどうかを確認する処理を、簡単に実施できるようにする。
【解決手段】 3次元計測のためのキャリブレーションが終了した後、計測したい高さの範囲の指定を受け付け、各カメラからの画像A0,A1毎に、前記指定された範囲に対応するホモグラフィー行列を用いて、指定された高さ範囲にある点のうち、双方のカメラの視野に含まれる点が現れる範囲を抽出する。さらに、抽出した範囲を計測可能範囲として、画像A0,A1上に着色表示する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複数台のカメラにより生成された画像を用いて、前記カメラの視野が重なる範囲に対して3次元計測処理を実行する方法、およびこの方法を実行するための3次元計測装置に関する。
【背景技術】
【0002】
両眼視の原理に基づく三次元計測処理では、2台以上のカメラにより計測対象物を異なる方向から撮像し、生成された画像間において同一の像を表す特徴点どおしを対応づける。そして各画像から抽出した特徴点の座標を、三角測量の原理に基づく演算式に代入することにより、三次元座標を算出する(特許文献1参照。)。
【0003】
【特許文献1】特開2002−99902 公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記特許文献1に示すような計測処理を行うには、計測対象の各点がすべてのカメラの視野に含まれていなければならない。したがって、3次元計測の精度を確保するには、計測対象物が含まれる範囲や計測対象物が取り得る高さの範囲に基づいて、各カメラの位置関係を調整する必要がある。
【0005】
しかしながら、各カメラの視野が重なり合う範囲や高さを認識するのは大変困難である。特に、3次元計測に関する専門知識に乏しいユーザーが装置を使用する場合には、どのようにカメラを調整すれば計測に適した状態になるか分からずに、試行錯誤で調整を行うため、調整作業に多大な労力や時間がかかる可能性がある。
【0006】
この発明は上記問題点に着目してなされたもので、各カメラを計測目的に応じた状態に設定したり、そのような設定になっているかどうかを確認する処理を簡単に実行できるようにすることを目的とする。
【課題を解決するための手段】
【0007】
所定の高さ位置にある平面を複数台のカメラにより撮像すると仮定した場合、生成された画像間において対応する画素の座標の関係は、ホモグラフィーと呼ばれる行列を用いた式により表される(下記の「非特許文献1」参照。)。
【0008】
【非特許文献1】見市 伸裕,和田 俊和,松山 隆司 「プロジェクタ・カメラシステムのキャリブレーションに関する研究」、[平成17年6月1日検索]、インターネット<URL:http://vision.kuee.kyoto-u.ac.jp/Research/Thesis/Thesis_PDF/Miichi_2002_P_147.pdf>
【0009】
したがって、カメラ間におけるカメラ座標系の関係(原点間の距離、座標軸の回転ずれなど)が判明すれば、空間内の所定の高さ位置にある一点が1台のカメラの撮像面に結像している場合には、この結像位置の座標を前記点の高さに応じたホモグラフィー行列を用いた関係式に代入することにより、前記座標を他のカメラの撮像面上の座標に変換することができる。この変換後の座標がカメラの実際の撮像面の範囲に含まれるならば、前記空間内の一点は、すべてのカメラの視野に含まれる点であり、3次元計測が可能な点であると考えることができる。
【0010】
ここで説明を簡単にするために、カメラをA,Bの2台とし、特定の高さを有し、面積が無限大の仮想平面を計測対象とする。この場合、いずれのカメラについても、その撮像面を構成する全ての画素に、それぞれ前記仮想平面上の任意の位置にある点が結像すると考えることができる。したがって、一方のカメラAの画像を構成する全画素について、それぞれ前記仮想平面の高さに応じたホモグラフィー行列を用いてカメラB側の画像の対応点の座標を求めた場合、これらの座標のうち、カメラBの実際の画像の範囲に含まれる座標が、カメラA,Bの視野に共に含まれる点に対応すると考えることができる。言い換えれば、前記対応点の座標の集合は、前記仮想平面上の3次元座標の算出が可能な範囲を示すと考えることができる。
以下では、この画像上に現れる3次元計測が可能な範囲を「計測可能範囲」という。
【0011】
なお、カメラの撮像面は長方形状であるので、上記のように画像上の全画素について対応点を求めなくとも、画像の各頂点にあたる4点について対応点の座標を求め、これらの対応点を結んだ矩形領域を前記計測可能範囲とすることができる。さらに、カメラAの撮像面についても、同様に、カメラBの全画素に対応する領域を抽出し、これを計測可能範囲とすることができる。
【0012】
また前記仮想平面の高さが所定の範囲で変化する場合には、その高さの変化に応じてホモグラフィー行列も変わり、計測可能範囲も変動する。この場合、高さの変化の幅内にある点を確実に計測するには、その高さ範囲中の各高さに対応する全ての計測可能範囲が含まれる範囲、すなわちすべての計測可能範囲が重なり合う範囲を計測対象に限定する必要がある。
【0013】
この発明は、上記の考察にもとづいてなされたもので、複数台のカメラにより生成された画像を用いて、前記各カメラの視野が重なる範囲に対して3次元計測処理を実行する方法および装置において、ユーザーが計測可能な範囲(計測対象物の支持面上の範囲、または高さ範囲)を簡単に認識できるようにしたものである。
なお、この明細書において、計測対象物の「支持面」は水平面のみに限らず、面の方向が水平以外の方向を向くものを含むものとする。また「高さ」については、「支持面からの距離」と言い換えることもできる。
【0014】
まず、この発明にかかる第1の3次元計測方法では、計測すべき高さの範囲について指定を受け付ける第1ステップ;少なくとも1台のカメラについて、前記第1ステップで指定された高さの範囲内にあり、かつすべてのカメラの視野に含まれる点が画像上に現れる範囲を、各カメラ間におけるカメラ座標系の関係を用いてカメラ毎に抽出する第2ステップ;前記第2ステップの処理対象のカメラにより生成された画像を前記第2ステップで抽出された範囲とともに表示する第3ステップ;の各ステップを実行する。
【0015】
上記において、第1ステップでは、ユーザーに、高さの上限値および下限値について任意の値を指定させることができる。
第2ステップでは、先に説明した方法により、各カメラの画像毎に、前記高さ範囲の上限値および下限値にかかる計測可能範囲を求め、これらの範囲が重なる部分を、前記高さの範囲にあり、かつすべてのカメラの視野に含まれる点が現れる範囲(前記高さ範囲に対応する計測可能範囲)とすることができる。
【0016】
第3ステップでは、たとえば、前記第2ステップの処理対象のカメラで生成された画像に第2ステップで抽出された範囲の境界線を加えたものを表示することができる。または、前記範囲内の画像を所定の色彩に着色するなど、範囲の内外で表示の態様が異なる画像を表示してもよい。また前記範囲内に含まれる画像のみを表示するようにしてもよい。
【0017】
上記の方法によれば、ユーザーが計測したいと考える高さ範囲を指定することにより、少なくとも1台のカメラについて、そのカメラの視野と計測可能範囲との関係を示す画像が表示されるから、ユーザーは、指定した範囲内の高さを計測可能な範囲を容易に認識することができ、各カメラが計測目的に適した設定になっているかどうかを判断することができる。
【0018】
この発明にかかる第2の3次元計測方法では、計測すべき高さの範囲、および計測対象物の支持面における計測対象範囲について、それぞれ指定を受け付ける第1ステップ;少なくとも1台のカメラについて、前記第1ステップで指定された高さの範囲内にあり、かつすべてのカメラの視野に含まれる点が画像上に現れる範囲を、各カメラ間におけるカメラ座標系の関係を用いて抽出する第2ステップ;前記第2ステップの処理対象のカメラについて、その画像上の前記計測対象範囲が前記第2ステップで抽出された範囲に含まれるか否かを判別する第3ステップ;前記第3ステップの判別結果を出力する第4ステップ;の各ステップを実行する。
【0019】
第1ステップでは、計測対象物の大きさや計測対象物の取り得る位置に応じて、任意の計測対象範囲を指定することができる。この指定は、後記するように、いずれか1つのカメラからの画像の表示画面上で行われるのが望ましいが、これに限定されるものではない。たとえば、対象物の支持面上に計測対象範囲の輪郭線をマーキングし、これを複数台のカメラのうちの少なくとも1台により撮像し、生成された画像から前記輪郭線を抽出することにより、計測対象範囲を認識することができる。または、計測対象範囲の各頂点の具体的な3次元座標を入力する方法により、計測対象範囲を指定することもできる。
【0020】
上記第2の方法によれば、ユーザーが高さ範囲とともに計測対象範囲を指定すると、第2ステップにより前記第1の方法と同様の原理で高さ範囲に応じた計測可能範囲が抽出される。さらに第3ステップにおいて、前記指定された計測対象範囲が計測可能範囲に含まれるか否かが判別される。
【0021】
第4ステップでは、この判別結果をカメラからの画像とともに表示することができる。また、計測対象範囲が計測可能範囲からはみ出す場合には、その計測対象範囲で指定された高さ範囲内の対象物であっても、その高さを計測できない場合があるので、警告メッセージを表示したり、警告音を鳴らすなど、ユーザーに範囲指定が不適切であることを知らせる出力を行うのが望ましい。
【0022】
この発明にかかる第3の3次元計測方法では、計測すべき高さの範囲について指定を受け付ける第1ステップ;少なくとも1台のカメラについて、前記第1ステップで指定された高さの範囲内にあり、かつすべてのカメラの視野に含まれる点が画像上に現れる範囲を、各カメラ間におけるカメラ座標系の関係を用いて抽出する第2ステップ;前記第2ステップの処理対象のカメラからの画像を表示するとともに、その表示画面上の前記第2ステップで抽出された範囲に対応する領域において、計測対象範囲の指定を受け付ける第3ステップ;の各ステップを実行する。
【0023】
上記の方法では、ユーザーは計測したい高さ範囲を指定した後、いずれか1つのカメラからの画像の表示画面上で計測対象範囲を指定する操作を行うことになる。上記第3ステップによれば、計測対象範囲として指定可能な範囲が、先に指定された高さ範囲にある点を確実に計測できる範囲に限定されるため、計測が不可能になるような範囲が指定されることがなく、計測精度を確保することができる。
なお、たとえば計測対象範囲について、左上および右下の各頂点を指定する場合であれば、第3ステップでは、計測可能範囲の外側にカーソルが移動しないように、カーソルの設定範囲を制限することができる。また、計測可能範囲の画像のみを表示し、この表示された範囲に限って指定操作を受け付けるようにしてもよい。
【0024】
この発明にかかる第4の3次元計測方法では、計測対象物の支持面における計測対象範囲について指定を受け付ける第1ステップ;前記計測対象範囲に属する点のうちすべてのカメラの視野に含まれる点の高さの範囲を、各カメラ間におけるカメラ座標系の関係を用いて求める第2ステップ;前記第2ステップで求められた高さの範囲を出力する第3ステップ;の各ステップを実行する。
【0025】
上記において、第2ステップでは、前記した仮想平面の高さを所定の単位ずつ動かしながら、各高さ毎に、その高さに対応する計測可能範囲を抽出することにより、第1ステップで指定された計測範囲を含むことが可能な計測可能範囲に対応する高さを求めることができる。よって、これらの高さの集合から高さ範囲を求めることができる。
【0026】
第4の方法によれば、ユーザーが必要と考える計測対象範囲を指定することにより、その範囲内に属する種々の高さの点のうち、すべてのカメラの視野に含まれる点、すなわち3次元計測が可能な点の高さの範囲をユーザーに報知することができる。
【0027】
上記した第1〜4の方法は、目的とする計測に先立ち、その計測が正しく行えるようにカメラを設定したり、そのような設定状態にあるかどうかを確認する目的で実施できる。また3次元計測を用いた検査において、不良品でないのに不良判定が出た場合に、3次元計測が正しく実行されたかどうかを確認する目的で実施することもできる。
【0028】
前記第1の3次元計測処理方法を実行する装置は、計測すべき高さの範囲を入力する入力手段;前記複数台のカメラの少なくとも1台について、前記入力手段により入力された高さの範囲内にあり、かつすべてのカメラの視野に含まれる点が画像上に現れる範囲を、各カメラ間におけるカメラ座標系の関係を用いてカメラ毎に抽出する範囲抽出手段;前記範囲抽出手段の処理対象のカメラにより生成された画像を前記範囲抽出手段により抽出された範囲とともに表した表示用画像を生成する表示用画像生成手段;前記表示用画像を出力する画像出力手段の各手段を具備する。
【0029】
上記において、入力手段は、マウス、コンソール、キーボードなどにより構成することができる。範囲抽出手段や表示用画像生成手段は、それぞれ当該手段の処理にかかるプログラムが格納されたコンピュータにより構成することができる。画像出力手段は、画像表示用のモニタ装置に対するインターフェース回路として構成することができる。
【0030】
前記第2の3次元計測処理方法を実行する装置は、計測すべき高さの範囲を入力する入力手段;前記複数台のカメラのいずれか1台からの画像を表示するとともに、この表示画面上で計測対象範囲の指定操作を受け付ける範囲指定受付手段;前記範囲指定の対象とされたカメラについて、前記入力手段が入力した高さの範囲内にあり、かつすべてのカメラの視野に含まれる点が画像上に現れる範囲を、各カメラ間におけるカメラ座標系の関係を用いて抽出する範囲抽出手段;前記範囲抽出手段により抽出された範囲に前記指定された計測対象範囲が含まれるか否かを判別する判別手段;前記判別手段による判別結果を出力する出力手段の各手段を具備する。
【0031】
入力手段は、第1の装置と同様のものである。その他の手段は、それぞれ当該手段の処理にかかるプログラムが格納されたコンピュータにより構成することができるが、出力手段には、モニタまたは外部機器に対するインターフェース回路を含めるのが望ましい。
【0032】
範囲指定受付手段は、所定のカメラからの画像をモニタ装置に表示し、その表示画像上に範囲指定用のカーソルなどをオーバーラップ表示して指定操作を受け付けるマン・マシン・インターフェースとして構成することができる。
前記範囲抽出手段は、基本的に第1の装置と同様のものであるが、少なくとも前記範囲指定の対象とされたカメラの画像に対して抽出処理を実行すれば良い。
出力手段は、前記範囲指定時と同じ画像の表示画面上に、前記範囲指定が適切であったか否かを示す情報を表示する手段として、構成することができる。またこれに加えて、範囲指定が適切でないときに、警告音等を出力するように構成することもできる。
【0033】
前記第3の3次元計測方法を実行するための装置は、前記第1、第2の装置と同様の入力手段;前記複数台のカメラのいずれか1台について、前記入力手段が入力した高さの範囲にあり、かつすべてのカメラの視野に含まれる点が画像上に現れる範囲を、各カメラ間におけるカメラ座標系の関係を用いて抽出する範囲抽出手段;前記範囲抽出手段の処理対象のカメラからの画像を表示し、その画像上の前記範囲抽出手段により抽出された範囲内において、計測範囲の指定を受け付ける範囲指定受付手段の各手段を具備する。
【0034】
さらに、第4の3次元計測方法を実行するための装置は、前記複数台のカメラのいずれか1台からの画像を表示するとともに、この表示画面上での計測対象範囲の指定操作を受け付ける範囲指定受付手段;前記計測対象範囲が指定されたことに応じて、空間内でこの計測対象範囲に属する点のうちすべてのカメラの視野に含まれる点の高さの範囲を、各カメラ間におけるカメラ座標系の関係を用いて求める高さ範囲抽出手段;前記高さ範囲抽出手段により求められた高さの範囲を出力する出力手段の各手段を具備する。
【0035】
第3、第4の装置の範囲指定受付手段、範囲抽出手段は、第2の装置と同様に構成することができる。ただし第3の装置では、範囲抽出手段による抽出結果に応じて、範囲指定可能な領域が制限される。また、第4の装置の出力手段は、前記高さの範囲を表示する手段として構成されるのが望ましい(たとえば、表示用の情報を生成してモニタの表示動作を制御するコンピュータおよび表示用インターフェースにより構成される。)。この場合の表示は、単なる数値表示に限らず、たとえば、計測対象物の支持面を基準に見た高さの範囲をグラフィック表示してもよい。
【0036】
さらに、上記第2〜4の3次元計測装置では、前記計測対象領域の指定対象となるカメラを、計測対象物の支持面に対し、光軸を直交させた状態で設置した構成にすることができる。このような構成によれば、計測対象物やその支持面を正面から捉えた画像を生成することができるから、実際の支持面上で範囲を指定するのと同様の間隔で計測対象範囲を指定することができる。
【0037】
さらに、この発明にかかる3次元計測装置には、計測処理結果を外部に出力(表示も含む。)するための手段を設けることができる。またこの装置を検査目的で使用する場合には、計測処理結果を所定のしきい値と比較する手段や、その比較結果に基づきOK(良判定信号)またはNG(不良判定信号)を出力する手段などを設けることができる。
【発明の効果】
【0038】
この発明によれば、ユーザーは計測したいと考える範囲内にある各点を確実に計測できるかどうかを簡単に確認することが可能になるから、3次元計測に関する知識に乏しいユーザーでも、カメラの設定や調整を簡単に行うことが可能になる。また計測処理中にも、支持面上の計測可能範囲や計測可能な高さ範囲をユーザーに知らせることができるから、目的とする3次元計測を正しく実行できるような条件が設定されているかどうかを、簡単に把握することができる。
【発明を実施するための最良の形態】
【0039】
図1は、この発明が適用された検査装置の撮像部の構成を、その設置例とともに示す。
この実施例の検査装置は、3次元および2次元の双方の計測処理機能を有するもので、工場の検査ラインLを搬送される検査対象物W(以下、「ワークW」という。)を、撮像部1により順に撮像して、種々の検査目的に応じた計測処理や判別処理を実行する。
前記撮像部1は、所定大きさの筐体15内に2台のカメラC0,C1を組み込んだ構成のもので、前記検査ラインLの上方に設置される。一方のカメラC0は、その光軸を鉛直方向に向けた状態で設置される。他方のカメラC1は、前記カメラC0と視野が重なるようにして、光軸を傾斜させた状態で設置される。このような設定により、カメラC0では、前記ワークWの上面を正面から見た状態を示す画像(以下、このカメラC0側の画像を「正面視画像」という。)が生成される。他方のカメラC1では、斜めに傾いた状態のワークWの画像(以下、「斜め画像」という。)が生成される。
【0040】
図2は、前記検査装置の全体構成を示すブロック図である。この検査装置は、前記した撮像部1のほか、本体部2、モニタ3、コンソール4などにより構成される。本体部2には、各カメラC0,C1に対する画像入力部10,11、カメラ駆動部12、演算処理部20、出力部28などが設けられる。
【0041】
前記カメラ駆動部12は、図示しないワーク検出用のセンサからの検知信号を受けて各カメラC0,C1を同時に駆動する。各カメラC0,C1により生成された画像信号は、それぞれの画像入力部10,11に入力され、ディジタル変換される。これにより、カメラ毎に計測処理用のディジタル画像(前記した正面視画像および斜め画像)が生成される。
【0042】
前記演算処理部20は、コンピュータにより構成されるもので、前記カメラ毎の画像を用いた計測処理を実行した後、その処理結果から前記ワークWの適否を判定する。出力部28は、前記計測処理や判定処理の結果を、PLCなどの外部機器に出力するための出力用インターフェースである。
【0043】
演算処理部20には、前記画像A0,A1を格納するための画像メモリ21のほか、画像処理部22、計測処理部23、判定部24、表示制御部25、パラメータ算出部26、パラメータ記憶部27などが設けられる。なお、画像メモリ21およびパラメータ記憶部27以外の各部は、専用のプログラムにより前記コンピュータに設定された機能である。画像メモリ21やパラメータ記憶部27は、前記コンピュータのメモリ(RAMなど)に設定される。
なお、図2には示していないが、演算処理部20には、検査に必要な情報(検査領域の設定条件やモデルの画像など)を登録するためのメモリも設けられる(以下、このメモリを「登録用メモリ」という。)。この登録用メモリへの登録処理や、演算処理部20の各処理部が実行する処理の設定または変更は、適宜、コンソール4の操作に応じて行うことができる。
【0044】
画像処理部22では、前記ワークWの検査対象部位について、前記正面視画像から計測対象の点を抽出した後、斜め画像において、この点に対応する点を検索する。計測処理部23は、前記画像処理部22により抽出された名点の座標を用いた演算により、これらの点に対応する3次元座標を算出する。
判定部24は、前記計測処理部23により求められた3次元座標を所定の基準位置の座標と比較するなどして、ワークWの良否を判定する。この判定結果は出力部28および表示制御部25に出力される。
【0045】
前記表示制御部25は、前記モニタ3の表示動作を制御するためのもので、前記画像入力部10,11で生成された正面視画像や斜め画像を一画面内に並列表示させることができる。さらに、適宜、画像処理部22、計測処理部23、判定部24の処理結果を受け取って、前記画像とともに表示させることができる。
【0046】
パラメータ記憶部27には、3次元計測のための演算式に含まれる各種係数が保存される。これらの係数の値は、各カメラにより構成されるステレオ座標系と実際の空間における位置を表す空間座標系との関係(各座標間の原点間の距離、空間座標系に対するステレオ座標系の回転ずれ量など)に応じて変動する(以下、これらの係数を「パラメータ」という。)。これらのパラメータは、検査に先立ち、画像処理部22およびパラメータ算出部26により算出され、前記パラメータ記憶部27に格納される。また、このパラメータ記憶部27には、後記する演算式(1)のホモグラフィー行列を構成するパラメータも保存される。
なお、前記パラメータを算出する処理では、複数の特徴点を有するキャリブレーション用ワークが使用される。
【0047】
さらにこの実施例の検査装置には、前記キャリブレーションを実行した後に、3次元計測を実行可能な範囲(計測可能範囲)が適切であるかどうかを、画面上で確認できるようにしている。この処理は、前記パラメータ記憶部27に設定されたパラメータから組み立てたホモグラフィー行列と、画像処理部22、計測処理部23、および表示制御部25の機能を用いて行われるものである。
【0048】
図3は、各カメラC0,C1により前記キャリブレーション用ワークが撮像されている際のモニタ3の画面を示す。この実施例の画面は垂直方向が3分割されており、中央の領域30には、各カメラC0,C1からの画像が表示され、上下の領域31,32には種々のメッセージや設定値の入力状態などが表示される。さらに画像の表示領域30は左右に分割され、左側にカメラC0からの正面視画像A0が、右側にカメラC1からの斜め画像A1が、それぞれ表示される。
【0049】
この実施例のキャリブレーション用ワークには、水平および垂直の各方向にそれぞれ複数の直線を等間隔に配置したパターン(格子状パターン)が形成されている。またキャリブレーション用ワークの位置決めを容易にし、かつワーク上の各特徴点(格子状パターンの交点)の位置関係を特定するために、各方向の中央の直線を他の直線より太くしている。
前記領域30の画像A0,A1間には、カメラC0,C1間のカメラ座標系の関係に伴う視差が現れている。また、斜め画像A1上の各直線は、水平、垂直方向に対して若干斜めになっている。
【0050】
この実施例では、ユーザーに計測したい高さ範囲(以下、「高さ計測範囲」という。)を指定させることによって、その高さ計測範囲内にあり、かつカメラC0,C1の双方の視野に含まれる点が各カメラの画像上に現れる範囲(前記高さ計測範囲に対応する計測可能範囲)を求め、その計測可能範囲を反映した画像A0,A1を表示するようにしている。図4は、この表示例を示す。なお、この例における高さは、所定の高さ位置を0として基準に表されるもので、単位はmmである。
【0051】
図4において、(1)は、高さ計測範囲を0〜20mmにしたときの表示例を、(2)は、高さ計測範囲を−20〜40mmにしたときの表示例を、(3)は、高さ計測範囲を9〜10mmにしたときの表示例を、それぞれ示す。いずれの例でも、高さ計測範囲に対応する画像A0,A1上の計測可能範囲が所定の色彩により着色されている(図4では、色彩部分を所定のパターンによる塗りつぶしにより示している。)。よって、ユーザーは、ワークWが含まれ得る範囲が着色されているか否かによって、このワークWに対する3次元計測を正しく実行できる設定になっているかどうかを判別することができる。
【0052】
さらに、図4の例の画面の一番下の情報表示領域32には、現在設定されている高さ計測範囲や、この範囲を変更するための操作に関する情報(上下の矢印)などが表示されている。この状態下でコンソールの上下矢印キー(図示せず。)を操作することにより、高さ計測範囲を変更することができる。よって、ユーザーは、表示された計測可能範囲が適切でない場合でも、高さ計測範囲を変更することにより、計測可能範囲が適正になるように調整することができる。
【0053】
つぎに、前記計測可能範囲を求める方法について、説明する。
図5は、空間内の任意の高さ位置にある平面D上の一点Pが前記カメラC0,C1の撮像面F0,F1上の点p,pにそれぞれ結像した状態を示している。なお、図5において、X,Y,Zは3次元空間を表す座標軸であり、Dは、XY平面に並行である。また撮像面F0には、x,yの軸による2次元座標系が、撮像面F1には、x,yの軸による2次元座標系が、それぞれ設定されている。これらの撮像面F0,F1の各受光セルからの信号により前記画像A0,A1が生成されることになる。
【0054】
上記において、撮像面F0における点Pの結像位置(点p)の座標を(xcam0,ycam0)、撮像面F1における点Pの結像位置(点p)の座標を(xcam1,ycam1)とする。ここで、前記平面Dの高さZがZAからZB(ZA<ZB)まで変化するものとすると、前記点p,p間の関係を、つぎの(1)(2)式で表すことができる。なお、(1)(2)式中のdHは、(3)式により求められる。
【0055】
【数1】

【0056】
【数2】

【0057】
【数3】

【0058】
(1)〜(3)式において、HZAは前記高さZAに対応するホモグラフィー行列であり、HZBは高さZBに対するホモグラフィー行列である。これらの行列HZA,HZBのサイズは、いずれも3×3である。また、λ,λ´は、所定の定数である。
【0059】
上記の(1)式は、画像A1の点pの座標から画像A0上の対応点pの座標を求める場合に使用することができる。また(2)式は、画像A0上の点pの座標から画像A1上の対応点pの座標を求める場合に使用することができる。これらの式のZに任意の高さを代入することにより、その高さにある点について、画像A0,A1間の対応点を検出することができる。
【0060】
この実施例では、任意の範囲で高さ計測範囲の指定を受け付け、[課題を解決するための手段]で説明した原理に基づき、前記高さ計測範囲に対応する計測可能範囲を抽出するようにしている。
なお、この計測可能範囲の抽出には、各画像A0,A1の4頂点の座標が使用されるが、これらの画像はサイズが同一であるので、各画像の4頂点の座標は同一になる。たとえば、水平方向の画素数が512、垂直方向の画素数が484であれば、各頂点の座標は、(0,0)(511,0)(511,483)(0,483)となる。
【0061】
図6は、前記計測可能範囲の抽出方法を具体的に示す。
この例では、高さ計測範囲の下限値をZL、上限値をZUとして、Z=ZLのとき、およびZ=ZUのときについて、それぞれ前記画像の4頂点の座標を(xcam1,ycam1)として(1)式を実行し、高さZL,ZU毎の(xcam0,ycam0)として4点を得て、これらを頂点とする領域5L,5Uを前記画像A0上に設定する(すなわち、Z=ZLとして(1)式を実行して得られた4点を結んだものが領域5Lであり、Z=ZUとして(1)式を実行して得られた4点を結んだものが領域5Uである。)。そして、画像Aの座標の範囲において領域5L、5Uが重なり合う部分50を、前記高さ計測範囲に対応する計測可能範囲として抽出している。
【0062】
上記抽出処理の根拠を簡単に説明する。いずれの画像A0,A1においても、高さZL,ZUにある点は画像上の任意の位置に現れ得るから、それぞれの高さに応じたホモグラフィー行列を用いて画像A1の全範囲を画像A0に変換した場合、その変換後の領域5Lは、高さZLにある点のうちカメラC1の視野に含まれる点に対応すると考えられる。同様に、領域5Uは、高さZUにある点のうちカメラC1の視野に含まれる点に対応すると考えられる。よって、これらの領域5L,5Uのうち、画像A0の範囲に含まれる部分50(カメラC0の視野に含まれる部分)であれば、3次元座標の計測が可能になるから、計測可能範囲と言えるのである。
【0063】
画像A1についても、同様の原理に基づき、Z=ZLのとき、およびZ=ZUのときについて、それぞれ前記画像の4頂点の座標を(xcam0,ycam0)として(2)式を実行し、(xcam1,ycam1)として得られた4点を頂点とする領域6L,6Uを設定する。そして、実際の画像の座標の範囲内で前記領域6L,6Uが重なり合う部分60を、前記高さ計測範囲に対応する計測可能範囲として抽出する。
【0064】
図7は、計測処理前の設定にかかる一連の手順を示す。
この手順は、前記したキャリブレーション用ワークを撮像対象位置に設置し、その上方に各カメラC0,C1を位置決めし、各カメラの倍率やカメラC1の光軸の傾きなどを調整した後にスタートする。
【0065】
まず最初のST1(STは「ステップ」の略である。以下も同じ。)では、各カメラC0,C1により前記キャリブレーション用ワークを撮像し、生成された正面視画像A1および斜め画像A2を用いて、3次元計測に必要な各種パラメータを算出する。
なお、3次元計測に必要とされるすべてのパラメータを求めるには、キャリブレーション用ワークの高さを変えながら複数回の撮像を行い、各画像からキャリブレーションに必要な特徴点を複数ずつ抽出する必要がある。これらのパラメータを正しく求めることにより、3次元計測が可能になるとともに、前記したホモグラフィー行列HZA,HZBを求めることができる。
【0066】
上記のキャリブレーションが終了すると、ST2では、前記高さ計測範囲の入力を受け付ける。そして、つぎのST3では、前記図6に示した方法により、各画像A0,A1における計測可能範囲50,60を抽出する。さらに、この抽出結果に基づき、前記図4に示したように、モニタ3上の画像A0,A1の計測可能範囲50,60を着色表示する。
【0067】
ユーザーは、この表示画面を見て、計測可能範囲が適切であるか否か判断する。ここで計測可能範囲に不備がある場合には、ユーザーは高さ計測範囲を変更することができる。この指定範囲の変更によりST4が「YES」となってST3に戻り、変更後の高さ計測範囲に応じた計測可能範囲が再抽出される。またモニタ3の表示も、計測可能範囲の再抽出に応じて更新される。
【0068】
一方、高さ計測範囲を変更せずに、計測可能範囲を調整したい場合には、ユーザーは、カメラの設定条件を変更する。この場合には、ST5が「YES」となってST1に戻り、キャリブレーションから処理をやり直すことになる。
【0069】
一方、計測可能範囲が適切であれば、ユーザーは、高さ計測範囲やカメラの設定条件を変更することなく、登録操作を実行する。これによりST4,5がいずれも「NO」となってST6に進み、前記キャリブレーションで求めたパラメータ等をパラメータ記憶部27に登録する。
【0070】
上記実施例によれば、ユーザーは、高さ計測範囲を指定することにより、その高さ計測範囲内の点について、どの程度の広さの範囲を計測できるのかを簡単に確認することができる。特に、正面視画像A0は、ワークWやその支持面を真上から見た状態を示しているから、実際のワークWやその支持面に対する計測可能範囲と同様の関係を確認することができる。
よって、3次元計測に関する専門知識がなくとも、カメラの設定を簡単かつ適切に行うことが可能になる。また、高さ計測範囲を自由に指定できるから、種々のワークWに対応することが可能になり、汎用性の高い検査装置を提供することができる。
【0071】
なお、上記実施例では、キャリブレーション処理に応じて計測可能範囲を表示するようにしたが、この表示は、計測処理中に行うこともできる。この場合、ユーザーは、画面上の計測可能範囲50,60にワークWが正しく入っているか否かを確認しながら、計測を実行することができるので、不良が検出された場合には、それが真の不良であるか、ワークの位置や姿勢の不具合により生じたものであるかを、容易に判断することができる。
【0072】
つぎの実施例は、キャリブレーション終了後に、良品のワークWを用いて計測領域を設定し、その設定条件(領域の位置や大きさ)を登録する処理に適用されるものである。
図8は、計測領域の設定例を示す。この例でも、カメラC0,C1を同時駆動し、得られた正面視画像A0および斜め画像A1を前記領域30に並列表示する。さらに正面視画像A0の表示画面上に範囲指定用のカーソル(図示せず。)を設定するなどして、計測領域7の指定を受け付けるようにしている。
【0073】
上記の計測領域7の設定条件が登録され、計測が開始されると、毎時のワークWに対し、前記登録された条件に基づいて計測領域7が設定され、その領域7に含まれる点を対象にした計測処理が実行される。しかし、画像A1側の前記計測領域7に対応する領域に目的とする高さ範囲にある点が現れない場合には、その点の3次元座標を計測するのは不可能になる。
【0074】
上記の問題点に鑑み、第2の実施例では、計測領域7の指定に先立ち、高さ計測範囲の指定を受け付け、その指定された高さ計測範囲に対応する計測可能範囲を抽出する。そして、この計測可能範囲を超える範囲に前記計測領域7が指定されたとき、その指定を受け付けずにエラー表示を行うようにしている。
【0075】
図9は、上記の計測領域7の設定にかかる一連の手順を示す。この手順は、前記キャリブレーションが終了してから行われるもので、最初のST11では、前記良品のワークWを撮像する。つぎのST12では、ST11で生成された正面視画像A0および斜め画像A1をモニタ3に表示する。
【0076】
つぎのST13では、前記高さ計測範囲についての指定を受け付ける。ST14では、この指定に応じた計測可能範囲を抽出する。なお、この実施例では、正面視画像A0に対する計測領域7の適否を判断するために計測可能範囲を必要としているので、抽出するのは、正面視画像A0における計測可能範囲だけでよい。
【0077】
ST15では、計測領域7の指定を受け付ける。ここで指定された計測領域7が前記計測可能範囲に含まれる場合には、ST16が「YES」となってST20に進み、計測領域7の設定条件が登録される。
一方、前記計測可能範囲を超える範囲に計測領域7が指定された場合には、ST16が「NO」となってST17に進み、前記情報表示用領域31に所定のエラーメッセージが表示される。この表示に応じてユーザーが計測領域7を変更すると、ST18が「YES」となってST16に戻る。これにより、変更された計測領域7が計測可能範囲に含まれるようになれば、ST20に進み、前記変更された計測領域7の設定条件が登録される。
一方、ユーザが計測領域7を変更したくない場合には、高さ計測範囲が変更される。この場合には、ST18が「NO」、ST19が「YES」となり、前記ST14から処理をやり直す。
【0078】
なお、ユーザーが計測領域7も高さ計測範囲も変更したくない場合には、この図9の処理をキャンセルしてカメラの設定条件を変更し、キャリブレーションから処理をやり直す必要がある。
【0079】
上記の処理によれば、指定された高さ計測範囲にある点を計測できないような範囲に計測領域7が設定されるおそれがないので、安定した計測を行うことが可能になる。なお、上記の実施例では、計測領域7の指定が適切でない場合には、エラー表示を行うようにしたが、これに代えて、計測領域7を指定できる範囲を制限してもよい。たとえば、抽出された計測可能範囲より外にカーソルが移動しないようにしたり、画像A0の表示を計測可能範囲に限定し、その表示された範囲内でのみ計測領域7を指定することができる。
【0080】
つぎの図10に示す実施例では、正面視画像A0上で前記計測領域7の指定を受け付けた後、指定された計測領域内で計測可能な高さ範囲を算出し、その算出結果をモニタ3に表示するようにしている。以下、図10の流れに沿って説明する。
【0081】
最初のST31では、フラグfをゼロリセットする。なお、このフラグfは、前記高さ範囲の下限値ZLが設定されていることを記憶するためのものである。
つぎのST32では高さZを所定の初期値Zに設定する。続くST33では、前記図8に示したのと同様の方法で、正面視画像A0上で計測領域7の指定を受け付ける。指定が終了すると、ST34に進み、前記正面視画像A0から計測領域の各頂点の座標を抽出する。
【0082】
ST35では、前記4頂点の座標をそれぞれ前記(2)式に代入することにより、各座標を斜め画像A1側の座標に変換する。なお、このST35を最初に設定する場合の(2)式のZには、前記初期値Zが代入される。
【0083】
ST36では、前記ST35で求めた頂点の座標が画像A1の座標の範囲に入っているかどうかを判別する。ここで、いずれか1点でも画像A1の外にあれば、ST36は「NO」となってST43に進む。この時点では前記フラグfは0であるため、ST43も「NO」となってST40に進む。
【0084】
つぎのST40では、高さZの現在値をあらかじめ定めた限界値ZOVERと比較する。Zが初期値Zの場合にはZ<ZOVERとなるから、ST40は「NO」となってST41に進み、前記Zを所定値dを加えた値に更新する。この後は、ST35に戻り、更新後のZを代入した(2)式により、前記計測領域7の頂点の変換処理を実行する。
【0085】
上記の流れを繰り返した結果、高さZが所定値になったときに、ST35で求めた全ての頂点が画像A1の範囲内に含まれると判断されると、ST36が「YES」となる。この「YES」判定を受けて、つぎのST37では、フラグfをチェックするが、この段階ではf=0であるからST38に進む。
ST38では、高さZの現在値を下限値ZLにセットするとともに、前記フラグfを1にする。
【0086】
この後も、前記高さZを所定値dずつ高くしながら、ST35,36を実行する。前記フラグfが1にセットされた後は、ST36の判定が「YES」となると、つぎのST37は「NO」となるため、ST39に進み、高さZの現在値を前記高さ範囲の上限値ZUにセットする。
以後も、更新された高さZにより求められた画像A1側の計測領域が当該画像A1の範囲にある限り、ST36,37,39の流れで処理が進み、前記高さ範囲の上限値ZUが更新される。
【0087】
この後、画像A1側の計測領域が画像A1の範囲を超えると、ST36が「NO」、ST43が「YES」となり、ST42に進む。また前記計測領域が画像A1の範囲内にあっても、前記高さZが限界値ZOVERに達した場合には、ST40が「YES」となってST42に進む。
ST42では、その時点での下限値ZLおよび上限値ZUをモニタ3に表示することにより、計測可能な高さ範囲をユーザーに報知する。
【0088】
上記の実施例によれば、ユーザーは計測領域7を指定することにより、その領域7内で計測可能な高さ範囲を知ることができるから、目的に応じた計測が可能であるか否かを容易に認識することができる。なお、この実施例でも、高さ範囲が目的に合わない場合には、計測領域7の指定をやり直すことで対応することができるが、計測領域7の設定を変更したくない場合には、カメラの設定条件を変更し、再度、キャリブレーションを行う必要がある。
【図面の簡単な説明】
【0089】
【図1】この発明が適用された検査装置の撮像部の構成を設置例とともに示す斜視図である。
【図2】検査装置のブロック図である。
【図3】キャリブレーション用ワークを撮像した際の表示画面を示す説明図である。
【図4】計測可能範囲の表示例を示す説明図である。
【図5】各画像間の対応点の関係を示す説明図である。
【図6】計測可能範囲の抽出方法を示す説明図である。
【図7】計測可能範囲を表示しながらカメラの設定を行う場合の処理手順を示すフローチャートである。
【図8】計測領域の指定例を示す説明図である。
【図9】計測可能範囲に適した計測領域を設定する場合の処理手順を示すフローチャートである。
【図10】計測領域の指定を受け付けて計測可能な高さ範囲を表示する場合の処理手順を示すフローチャートである。
【符号の説明】
【0090】
1 撮像部
2 本体部
3 モニタ
4 コンソール
7 計測領域
20 演算処理部
22 画像処理部
23 計測処理部
25 表示制御部
50,60 計測可能範囲
C0,C1 カメラ

【特許請求の範囲】
【請求項1】
複数台のカメラにより生成された画像を用いて、前記各カメラの視野が重なる範囲に対して3次元計測処理を実行する方法において、
計測すべき高さの範囲について指定を受け付ける第1ステップと、
少なくとも1台のカメラについて、前記第1ステップで指定された高さの範囲内にあり、かつすべてのカメラの視野に含まれる点が画像上に現れる範囲を、各カメラ間におけるカメラ座標系の関係を用いてカメラ毎に抽出する第2ステップと、
前記第2ステップの処理対象のカメラにより生成された画像を前記第2ステップで抽出された範囲とともに表示する第3ステップとを、実行することを特徴とする3次元計測方法。
【請求項2】
複数台のカメラにより生成された画像を用いて、前記各カメラの視野が重なる範囲に対して3次元計測処理を実行する方法において、
計測すべき高さの範囲、および計測対象物の支持面における計測対象範囲について、それぞれ指定を受け付ける第1ステップと、
少なくとも1台のカメラについて、前記第1ステップで指定された高さの範囲内にあり、かつすべてのカメラの視野に含まれる点が画像上に現れる範囲を、各カメラ間におけるカメラ座標系の関係を用いて抽出する第2ステップと、
前記第2ステップの処理対象のカメラについて、その画像上の前記計測対象範囲が前記第2ステップで抽出された範囲に含まれるか否かを判別する第3ステップと、
前記第3ステップの判別結果を出力する第4ステップとを、実行することを特徴とする3次元計測方法。
【請求項3】
複数台のカメラにより生成された画像を用いて、前記各カメラの視野が重なる範囲に対して3次元計測処理を実行する方法において、
計測すべき高さの範囲について指定を受け付ける第1ステップと、
少なくとも1台のカメラについて、前記第1ステップで指定された高さの範囲内にあり、かつすべてのカメラの視野に含まれる点が画像上に現れる範囲を、各カメラ間におけるカメラ座標系の関係を用いて抽出する第2ステップと、
前記第2ステップの処理対象のカメラからの画像を表示するとともに、その表示画面上の前記第2ステップで抽出された範囲に対応する領域において、計測対象範囲の指定を受け付ける第3ステップとを、実行することを特徴とする3次元計測方法。
【請求項4】
複数台のカメラにより生成された画像を用いて、前記各カメラの視野が重なる範囲に対して3次元計測処理を実行する方法において、
計測対象物の支持面における計測対象範囲について指定を受け付ける第1ステップと、
前記計測対象範囲に属する点のうち、すべてのカメラの視野に含まれる点の高さの範囲を、各カメラ間におけるカメラ座標系の関係を用いて求める第2ステップと、
前記第2ステップで求められた高さの範囲を出力する第3ステップとを、実行することを特徴とする3次元計測方法。
【請求項5】
複数台のカメラにより生成された画像を用いて、前記各カメラの視野が重なる範囲に対して3次元計測処理を実行する装置において、
計測すべき高さの範囲を入力する入力手段と、
前記複数台のカメラの少なくとも1台について、前記入力手段により入力された高さの範囲内にあり、かつすべてのカメラの視野に含まれる点が画像上に現れる範囲を、各カメラ間におけるカメラ座標系の関係を用いて抽出する範囲抽出手段と、
前記範囲抽出手段の処理対象のカメラにより生成された画像を前記範囲抽出手段により抽出された範囲とともに表した表示用画像を生成する表示用画像生成手段と、
前記表示用画像を出力する画像出力手段とを具備する3次元計測処理装置。
【請求項6】
複数台のカメラにより生成された画像を用いて、前記各カメラの視野が重なる範囲に対して3次元計測処理を実行する装置において、
計測すべき高さの範囲を入力する入力手段と、
前記複数台のカメラのいずれか1台からの画像を表示するとともに、この表示画面上で計測対象範囲の指定操作を受け付ける範囲指定受付手段と、
前記範囲指定の対象とされたカメラについて、前記入力手段が入力した高さの範囲内にあり、かつすべてのカメラの視野に含まれる点が画像上に現れる範囲を、各カメラ間におけるカメラ座標系の関係を用いて抽出する範囲抽出手段と、
前記範囲抽出手段により抽出された範囲に前記指定された計測対象範囲が含まれるか否かを判別する判別手段と、
前記判別手段による判別結果を出力する出力手段とを、具備する3次元計測装置。
【請求項7】
複数台のカメラにより生成された画像を用いて、前記各カメラの視野が重なる範囲に対して3次元計測処理を実行する装置において、
計測すべき高さの範囲を入力する入力手段と、
前記複数台のカメラのいずれか1台について、前記入力手段が入力した高さの範囲にあり、かつすべてのカメラの視野に含まれる点が画像上に現れる範囲を、各カメラ間におけるカメラ座標系の関係を用いて抽出する範囲抽出手段と、
前記範囲抽出手段の処理対象のカメラからの画像を表示し、その画像上の前記範囲抽出手段により抽出された範囲内において、計測範囲の指定を受け付ける範囲指定受付手段とを、具備する3次元計測装置。
【請求項8】
複数台のカメラにより生成された画像を用いて、前記各カメラの視野が重なる範囲に対して3次元計測処理を実行する装置において、
前記複数台のカメラのいずれか1台からの画像を表示するとともに、この表示画面上での計測対象範囲の指定操作を受け付ける範囲指定受付手段と、
前記計測対象範囲が指定されたことに応じて、空間内でこの計測対象範囲に属する点のうちすべてのカメラの視野に含まれる点の高さの範囲を、各カメラ間におけるカメラ座標系の関係を用いて求める高さ範囲抽出手段と、
前記高さ範囲抽出手段により求められた高さの範囲を出力する出力手段とを、具備する3次元計測装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2006−349586(P2006−349586A)
【公開日】平成18年12月28日(2006.12.28)
【国際特許分類】
【出願番号】特願2005−178544(P2005−178544)
【出願日】平成17年6月17日(2005.6.17)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】