(57)【特許請求の範囲】
【請求項１】
測定対象物と当該測定対象物のモデルとの位置および／又は姿勢を合わせるための情報処理装置であって、
前記測定対象物の撮像画像を取得する取得手段と、
前記撮像画像に基づき、前記測定対象物の表面形状を示す情報を算出する算出手段と、
前記表面形状を示す情報に基づいて、前記測定対象物に前記モデルを位置合わせする際の該モデルの取り得る範囲を制限する制限手段とを有することを特徴とする情報処理装置。
【請求項２】
前記測定対象物に対するパターン光を投光手段に投光させる投光制御手段を有し、
前記算出手段は、前記撮像画像から前記パターン光の領域を抽出し、当該抽出されたパターン光の領域と前記投光手段の投光方向とに基づき、前記表面形状を示す情報を算出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記投光制御手段は、前記投光手段に、第一の方向から第一のパターン光を投光させ、
前記第一の方向と異なる第二の方向から第二のパターン光を投光させ、
前記取得手段は、前記第一のパターン光が撮像された第一の撮像画像と、前記第二のパターン光が撮像された第二の撮像画像とを取得し、
前記算出手段は、前記第一の撮像画像から前記第一のパターン光の領域を抽出し、当該抽出された第一のパターン光の領域と前記第一の方向とに基づき前記測定対象物の第一の表面形状を示す情報を算出し、前記第二の撮像画像から前記第二のパターン光の領域を抽出し、当該抽出された第二のパターン光の領域と前記第二の方向とに基づき第二の表面形状を示す情報を算出し、
前記制限手段は、前記第一の表面形状を示す情報と前記第二の表面形状を示す情報とに基づき、前記測定対象物に前記モデルを位置合わせする際の該モデルの取り得る範囲を制限することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記投光手段により投光されるパターン光は、マルチスリット照明光であることを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記測定対象物と前記モデルとの位置および／又は姿勢を合わせることにより、前記測定対象物の位置および／又は姿勢を算出する位置姿勢算出手段を有することを特徴とする請求項１乃至４のいずれかに記載の情報処理装置。
【請求項６】
前記表面形状を示す情報は、前記測定対象物の表面を表す平面方程式であり、
前記制限手段は、前記モデルの位置および／又は姿勢を、前記平面方程式により表される平面上で前記モデルを回転および／又は平行移動させた場合の移動可能な範囲に制限することを特徴とする請求項１乃至５のいずれかに記載の情報処理装置。
【請求項７】
前記表面形状を示す情報は、前記測定対象物の表面を表す曲面方程式であることを特徴
とする請求項１乃至５のいずれかに記載の情報処理装置。
【請求項８】
前記撮像画像は、ステレオカメラにより撮像されたステレオ撮像画像であり、
前記算出手段は、前記ステレオ撮像画像と前記ステレオカメラの視差とに基づき、前記測定対象物の表面形状を示す情報を算出することを特徴とする請求項１乃至７のいずれかに記載の情報処理装置。
【請求項９】
測定対象物と当該測定対象物のモデルとの位置および／又は姿勢を合わせるための情報処理方法であって、
取得手段が、前記測定対象物の撮像画像を取得する取得工程と、
算出手段が、前記撮像画像に基づき、前記測定対象物の表面形状を示す情報を算出する算出工程と、
制限手段が、前記表面形状を示す情報に基づき、前記測定対象物に前記モデルを位置合わせする際の該モデルの取り得る範囲を制限する制限工程とを有することを特徴とする情報処理方法。
【請求項１０】
コンピュータを、
測定対象物と当該測定対象物のモデルとの位置および／又は姿勢を合わせるための情報処理装置であって、
前記測定対象物の撮像画像を取得する取得手段と、
前記撮像画像に基づき、前記測定対象物の表面形状を示す情報を算出する算出手段と、
前記表面形状を示す情報に基づき、前記測定対象物に前記モデルを位置合わせする際の該モデルの取り得る範囲を制限する制限手段とを有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。
【請求項１１】
前記撮像画像の解像度を低減させる解像度低減手段を更に備え、
前記投光制御手段は、前記解像度を低減した撮像画像に基づき、前記測定対象物に対するパターン光を投光手段に投光させることを特徴とする請求項２に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定対象物と当該測定対象物のモデルとを比較する情報処理装置に関する。
【背景技術】
【０００２】
近年、工場などで行われる組立等の作業をロボットに行わせる需用が高まっている。その中でも、位置および姿勢が常に一定でない作業対象物体をロボットで扱う場合、作業対象物体の位置および姿勢を計測する手段が必要であり、視覚センサはその手段として一般的によく用いられるものである。
【０００３】
しかし、作業対象物体の位置・姿勢が３次元的に不定である場合、通常のカメラでは情報不足であり、３次元情報を取得するためのセンサを装置に組み込むことが行われる。また、ＦＡ分野ではより高精度かつ高速に作業対象物体の位置・姿勢を計測する需要があり、精密３次元計測技術が重要となっている。３次元計測技術として光切断法やステレオ法やＴＯＦ方式などがあげられる。
【０００４】
光切断法とは、カメラとスリット投光器を組み合わせて３角測量を行うことで物体の３次元情報を得る手法である。この手法ではテクスチャのない物体に関する３次元情報を容易に得ることができ、工業用ロボットにも利用されてきている。
【０００５】
ステレオ法とは、カメラを２台もしくはそれ以上用意し、画像間の視差から３角測量の原理を使って３次元情報を得る手法である。
【０００６】
ＴＯＦ方式とは、Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔの略であり、ＬＥＤ光源から対象物に対して光を照射して、その反射光をセンサ（受光部）で受光してその時間を計測することで距離を計測する手法である。
【０００７】
また、ロボットで作業対象物体を扱う場合、作業対象物のデータ（寸法やＣＡＤデータ）は既知であることが多いため、視覚センサによって得られた情報とデータとを比較照合することにより位置計測を行う方法がある。より高精度な位置・姿勢計測を行うために上記３次元計測技術とＣＡＤデータなどを用いた三次元モデルフィッティングを併用する手法も利用されている。
【０００８】
特許文献１には、測定対象物の撮像画像から抽出した特徴部分を用いて、測定対象物と測定対象物モデルとの三次元モデルフィッティングすることが開示されている。三次元モデルフィッティングとは、撮像画像から得られる測定対象物の特徴部分と測定対象物を模した三次元モデルの特徴部分とを一致させることにより、測定対象物の位置および／又は姿勢を取得する手法である。三次元モデルフィッティングは、撮像画像から測定対象物の位置および／又は姿勢を得る手法として広く用いられている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平０９−２１２６４３
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特徴部分を一致させる際の三次元モデルの位置および／又は姿勢の設定可能な範囲は広く、一般的に三次元モデルフィッティングするための計算機による計算時間は膨大なものになる。
【００１１】
本発明は上記課題を鑑み、測定対象物と当該測定対象物のモデルとの位置および／又は姿勢を比較する際の計算機による計算時間を短縮することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の情報処理装置は、測定対象物と当該測定対象物の
モデルとの位置および／又は姿勢を合わせるための情報処理装置であって、前記測定対象
物の撮像画像を取得する取得手段と、前記撮像画像に基づき、前記測定対象物の表面形状
を示す情報を算出する算出手段と、前記表面形状を示す情報に基づいて、前記測定対象物に前記モデルを位置合わせする際の該モデルの取り得る範囲を制限する制限手段とを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、測定対象物と当該測定対象物のモデルとの位置および／又は姿勢を比較する際の計算機による計算時間を短縮することが出来る。
【図面の簡単な説明】
【００１４】
【図１】第一の実施形態における情報処理装置の具体的な構成を示した図である。
【図２】図１の装置の各構成に対応した第一の実施形態における機能構成図である。
【図３】第一の実施形態における処理フローを示した図である。
【図４】測定対象物の三次元計測時の様子を示した図である。
【図５】パラメータ空間限定の様子を示した図である。
【図６】第一の実施形態において定義する座標系を示した図である。
【図７】エッジベースの３次元モデルフィッティングの様子を示した図である。
【図８】線分の情報を利用して３次元モデルの位置・姿勢パラメータを算出する方法を説明するための図である。
【図９】第二の実施形態における情報処理装置の構成を示した図である。
【図１０】第三の実施形態における処理フローを示した図である。
【図１１】第三の実施形態において十分なパラメータ拘束を行うことが出来ない場合を示した図である。
【図１２】第四の実施形態における基本的な構成を示した図である。
【図１３】第四の実施形態における処理フローを示した図である。
【図１４】第四の実施形態における具体的な構成を示した図である。
【図１５】第四の実施形態における照射位置・姿勢設定工程の処理フローを示した図である。
【図１６】第五の実施形態における具体的な構成を示した図である。
【図１７】第五の実施形態における処理フローを示した図である。
【図１８】第六の実施形態における３次元モデルおよび照射曲面を示した図である。
【図１９】第七の実施形態における基本的な構成を示した図である。
【図２０】第七の実施形態における具体的な構成を示した図である。
【図２１】第七の実施形態における測定対象物面を算出する方法を示した図である。
【発明を実施するための形態】
【００１５】
＜第一の実施形態＞
図１は、本実施形態における情報処理装置の具体的な装置構成を示したものである。図１を用いて、本実施形態における装置構成を説明する。
【００１６】
１０は、スリットレーザ投光器１０であり、レーザによるスリット光をパターン光として投光する。
１１は、スリットレーザ投光器１０の前部に配置されている光走査部１１である。光走査部１１は、可動式のガルバノミラーもしくはポリゴンミラーによって構成され、外部からの制御命令に従ってレーザスリット光の投光角度を変更できるようになっている。
２０は、所定の作業領域を撮像可能なカメラである。カメラ２０によって得られた撮像画像は、公知の校正手法によってレンズ収差を取り除いたものが得られるとする。
３０は、所定の作業領域に配置され、カメラ２０による撮像対象となる測定対象物３０である。測定対象物３０は、例えば、工場内におけるロボットなどの被作業物体であり、ロボットによる作業を行うためには位置姿勢を算出する必要がある。
４０は計算機４０であり、光走査部１１およびカメラ２０に接続され、それぞれの制御および画像処理を行う。計算機４０は、ＣＰＵ（セントラルプロセッシングユニット）、ＲＡＭ（ランダムアクセスメモリ）などの一時記憶手段、ＲＯＭ（ランダムアクセスメモリ）などの記憶手段などの一般的なパーソナルコンピュータと同様の構成を有する。記憶手段には、光走査部１１を制御するための走査制御プログラム、カメラ２０の撮像を制御する撮像制御プログラム、カメラ２０によって取得された撮像画像の画像処理を行うための画像処理プログラムなどのコンピュータプログラムが格納されている。画像処理プログラムは、撮像画像からパターン光を検出するための校正プログラム、測定対象物３０の位置および／又は姿勢を算出するための三次元モデル、三次元モデルの移動可能な範囲を制限する制限プログラムなどから構成される。
【００１７】
また、一時記憶手段には、カメラ２０によって取得された撮像画像などが格納される。
【００１８】
情報処理装置の稼動時には、測定対象物３０に対してスリットレーザ投光器１０からスリット光１００が投光され、スリット光１００の投光方向に測定対象物３０が位置していれば、測定対象物３０の表面に光切断線１０１が発生する。カメラ２０は、計算機４０の制御によって測定対象物３０を撮像し、計算機４０は撮像画像中の光切断線１０１を用いて測定対象物３０の位置及び／又は姿勢を算出する。
【００１９】
図２は、図１の装置の各構成に対応した本実施形態における機能構成図である。図２を用いて、本実施形態における機能構成を説明する。
【００２０】
Ａ１００は投光手段であり、測定対象物３０に対してパターン光の投光を行う。投光手段Ａ１００は、スリットレーザ投光器１０に対応する。
Ａ２００は測定対象物３０の画像データを取得するための撮像手段で、投光手段とは独立もしくは共に設置されている。Ａ２００は、カメラ２０に対応する。
Ａ３００はさまざまな計算および投光手段Ａ１００および撮像手段Ａ２００の制御を行う計算部である。計算部Ａ３００は計算機４０に対応する。計算部Ａ３００は、以下の複数の手段から構成されている。
【００２１】
計算部Ａ３００の構成の一部である計測制御手段Ａ３５０は、投光手段Ａ１００の投光方向、投光強度などを制御する投光制御手段、および撮像手段Ａ２００の撮像動作を制御する撮像制御手段として機能する。
計算部Ａ３００の構成の一部である画像データ保持手段Ａ３０１は、撮像手段Ａ２００から撮像画像を取得する取得手段、および撮像画像をデータとして保持する保持手段として機能する。
計算部Ａ３００の構成の一部である校正値算出手段３１０は、画像データ保持手段に保持されている撮像画像から、パターン光の領域（光切断線１０１）を抽出する。
計算部Ａ３００の構成の一部である校正値保持手段Ａ３０２は、校正値算出手段により算出されたパターン光の領域に関する情報を保持する保持手段として機能する。
計算部Ａ３００の構成の一部である３次元計測値算出手段Ａ３２０は、校正値保持手段Ａ３０２に保持されているパターン光の領域を用いて、パターン光の座標（光切断線上の輝点位置それぞれの座標値）を算出する。また、３次元計測値を用いて、計測対象物３０の表面形状を示す情報（平面方程式など）を算出する算出手段として機能する。
計算部Ａ３００の構成の一部である３次元モデルデータ保持手段Ａ３０３は、測定対象物３０の位置及び／又は姿勢を算出するために用いられる測定対象物３０の３次元モデルデータを保持する保持手段として機能する。３次元モデルデータはコンピュータグラフィックスなどのデータであり、測定対象物３０との３次元モデルフィッティングを行うことにより、測定対象物３０の位置及び／又は姿勢を求めることが可能になる。
計算部Ａ３００の構成の一部である物体位置・姿勢算出手段Ａ３４０は、３次元モデルデータで３次元モデルフィッティングを行うことにより、前記測定対象物３０の位置及び／又は姿勢を算出する位置姿勢算出手段として機能する。
計算部Ａ３００の構成の一部であるパラメータ空間限定手段Ａ３３０は、計測対象物３０の表面形状を示す情報を用いて、３次元モデルフィッティングを行う際の３次元モデルの移動可能な範囲を制限する制限手段として機能する。
【００２２】
次に、本実施形態における情報処理装置の処理フローを、図３の処理フローを用いて説明する。
（Ｓ１００）  Ｓ１００（ステップ１００）は、情報処理装置による処理の開始工程である。
（Ｓ１１０）  Ｓ１１０（ステップ１１０）は、投光手段Ａ１００が測定対象物３０に対してパターン光を投光し、撮像手段Ａ２００が測定対象物３０の撮像画像を取得する画像データ取得工程である。
【００２３】
本工程における処理は、前述したように、計測制御手段Ａ３５０が投光手段Ａ１００および撮像手段Ａ２００に対して制御信号を送ることにより行われる。撮像手段Ａ２００によって取得された撮像画像のデータは、画像データ保持手段Ａ３０１に送信され、保持される。
（Ｓ１２０）  Ｓ１２０（ステップ１２０）は、画像データ保持手段Ａ３０１に保持された撮像画像からパターン光の領域を抽出し、抽出されたパターン光の領域から光切断線上の輝点それぞれの座標値を算出する３次元計測工程である。
【００２４】
本工程における処理は、前述したように、校正値算出手段３１０および３次元計測値算出手段Ａ３２０によりなされる。
（Ｓ１３０）  Ｓ１３０（ステップ１３０）は、Ｓ１２０で算出された座標値を用いて、パターン光が照射された測定対象物の表面形状を示す情報（平面方程式もしくは曲面方程式）を求める測定対象物面推定工程である。より具体的には、３次元計測工程Ｓ１２０において得られた３次元情報のクラスタリングもしくはセグメンテーションを行い、照射されている被測定対象物体３０の表面部分の平面式（法線ベクトルおよび照射平面）を推定する。クラスタリングおよびセグメンテーションの方法は３次元計測工程Ｓ１２０において得られた三次元情報を用いて近傍同士を比較して膨張処理を行ってもよいし、画像データ取得工程Ｓ１１０において得られた画像上であらかじめクラスタリングしておいてもよい。具体的にはハフ変換などで直線検出を行い、同じ傾き、もしくは輝度勾配を持つ光切断線もしくは光切断線上の輝点位置を検出しておき、同じクラスに属する光切断線上の輝点位置のみを使い最小二乗法などを用いて平面式を推定する。図５の場合、被測定対象物面１０２は得られた推定された平面から光切断線１０１および被測定対象物体のエッジにより切られる範囲となる。
【００２５】
本工程における処理は、前述したように、３次元計測値算出手段Ａ３２０によりなされる。
（Ｓ１４０）  Ｓ１４０（ステップ１４０）は、Ｓ１２０で算出された表面形状を示す情報を用いて、物体位置・姿勢算出手段Ａ３４０による３次元モデルフィッティングを行う際の３次元モデルの移動可能な範囲を制限するパラメータ空間限定工程である。より具体的には、世界座標上に照射面推定工程Ｓ１３０において得られた平面を形成し、３次元モデルデータ保持手段Ａ３０３に保持されている３次元モデルの位置・姿勢を変化させる。そして、前記平面と前記３次元モデルの平面が一致する３次元モデルの位置・姿勢をパラメータ空間内のパラメータ探索範囲（拘束条件）とする（図５）。３次元モデル上の照射部分に対応する面を照射面に一致させ、平面拘束化で３次元モデルの位置を変化させて、照射平面の輪郭線（光切断線）上の点が３次元モデルの一致する面内に存在する範囲を算出する。
【００２６】
通常、３次元モデルの位置・姿勢は、６自由度により決定される。しかし、本工程により３次元モデルの移動範囲を平面上に制限した場合、平面上の２方向の平行移動と回転の３自由度により決定することが可能になる。つまり、本工程で、３次元モデルの移動可能な範囲を制限することにより、３次元モデルフィッティングを行う際の計算機による計算時間を大幅に短縮することが可能となる。
【００２７】
本工程における処理は、前述したように、パラメータ空間限定手段Ａ３３０によりなされる。
（Ｓ１５０）  Ｓ１５０（ステップ１５０）は、３次元モデルデータ保持手段Ａ３０３に保持されている３次元モデルデータで３次元モデルフィッティングを行う物体位置・姿勢算出工程である。より具体的には、パラメータ空間限定工程Ｓ１４０において得られたパラメータ空間において最適化計算（位置・姿勢パラメータ２乗誤差平均が最小となるパラメータ抽出）を行い、最終的な３次元モデルの位置・姿勢パラメータを算出する。パラメータ空間限定工程Ｓ１４０において得られたパラメータ空間内の探索範囲が複数個存在する場合はすべての部分空間において最適化計算を行う。そして、最終的に画像座標上で３次元モデルと画像上に投影されている被測定対象物の位置・姿勢パラメータとの誤差の最も小さいものを正解値とする。図５の場合、３次元モデルは被測定対象物面推定工程Ｓ１３０において得られた平面によって平面拘束されているので、以下に平面拘束化における画像ヤコビアンを導出する。３次元モデルの位置・姿勢パラメータの初期値はそれぞれ限定されたパラメータ空間内で選択する。
【００２８】
本工程における処理は、前述したように、物体位置・姿勢算出手段Ａ３４０によりなされる。
（Ｓ１６０）  Ｓ１６０（ステップ１６０）は、情報処理装置による処理の終了工程である。
【００２９】
（校正方法）
次に、本実施形態における校正方法について説明する。
【００３０】
世界座標系における任意の点Ｘ＝［Ｘ、Ｙ、Ｚ］Ｔが射影行列αによる座標変換で正規化画像座標系上の点ｘ＝［ｘ、ｙ、ｚ］Ｔへ変換されたとする。このとき、画像座標系におけるＸの対応点ｕ＝［ｕ、ｖ］Ｔは下記のようにして表される。
【００３１】
【数１】
0005602392.tif 000002
式１
【００３２】
ここでｕ´およびＸ’はｕおよびＸのスケールファクタを１とした同次座標であり、それぞれｕ’＝［ｕ、ｖ、１］Ｔ、Ｘ´＝［Ｘ、Ｙ、Ｚ、１］Ｔと表される。射影行列αは３×４行列であり、世界座標が既知の点を６点以上撮影し、その投影位置を測定して、式１より線形方程式として求めることができる。
【００３３】
また、スリット光をあらかじめ世界座標系における座標値が既知の冶具に照射して、その照射位置を画像上で測定することで、先の射影行列αを用いて３次元位置を計算することでスリット光平面の式を求めることができる。本実施形態では光走査部１１により、スリット光の照射角度は変更できるようになっているので、それぞれの照射角においてスリット光平面の式を求める必要がある。一回のスキャンがＫ本の光切断線によって実施され、ｋ本目の光切断線を得るための光走査部１１原点位置からのスリット光照射角度をΦｋとする。ＫおよびΦ１〜ΦＫはあらかじめ定義しておく固定値であり、校正時と実作業時には同じ値を用いることとする。スリット光平面の式は下記のようにして表される。
【００３４】
【数２】
0005602392.tif 000003
式２
【００３５】
実際の３次元計測においては、被測定対象物にスリット光を照射して画像座標上で得られる。その光切断線上の輝点位置ｕ”＝［ｕ”、ｖ”、１］Ｔより世界座標系における光切断線上の輝点位置Ｘ’ｉ＝［Ｘ’ｉ、Ｙ’ｉ、Ｚ’ｉ、１］Ｔは下記のようにして表される。
【００３６】
【数３】
0005602392.tif 000004
式３
【００３７】
式２を対応する数式３のスリット光平面式に代入することより、世界座標系における照射位置Ｘ’ｉを求めることができる。
【００３８】
（３次元モデルフィッティング）
次に、本実施形態における３次元モデルフィッティングの具体的な処理について説明する。まず、図６のように座標系を定義する。３次元モデル座標系７０、拘束される平面をＸＹ平面とし、平面の法線ベクトルをＺ軸とする平面座標系７１、世界座標系７２およびカメラ座標系７３である。図６には図示しないが、画像座標系も存在する。
【００３９】
３次元空間における任意の平面は、平面に直交するベクトル（法線ベクトル）と、世界座標系の原点から平面までの符合付き距離によって定義できる。長さ１で正規化された法線ベクトルの自由度は２であり、符号付き距離の自由度は１であるため、平面は３自由度で表現される。
【００４０】
ここで、平面の法線ベクトルを世界座標軸により定義する。平面の法線ベクトルを、世界座標系を世界座標系のｙ軸回りにθ回転し、回転後の世界座標軸のｘ軸回りにφ回転させた時の回転後のｚ軸であるとすると、平面の姿勢を表す回転行列Ｒｗｐは数式４のように表される。
【００４１】
【数４】
0005602392.tif 000005
式４
【００４２】
また、法線ベクトルｎは数式５のように表される。
【００４３】
【数５】
0005602392.tif 000006
式５
【００４４】
また、符号付き距離をｒで表す場合に、平面座標系の原点Ｔｗｐを、法線ベクトルｎを方向ベクトルとして世界座標系の原点を通る直線と平面の交点とすると、次式のように表される。
【００４５】
【数６】
0005602392.tif 000007
式６
【００４６】
今、ある点ｒの３次元モデルの座標系における位置をｒｏ＝［ｘｏ、ｙｏ、ｚｏ］Ｔ、同点の平面座標系における位置をｒｐ＝［ｘｐ、ｙｐ、ｚｐ］Ｔと置く。
ｒｏとｒｐとの関係は平面の法線ベクトルまわりの回転αと並進運動によって次のように表せる。
【００４７】
【数７】
0005602392.tif 000008
式７
【００４８】
同様に点ｒの世界座標系における位置をｒｗ＝［ｘｗ、ｙｗ、ｚｗ］Ｔとおけば、ＲｗｐとＴｗｐを用いて、ｒｐとｒｗとの関係は次のように表すことができる。
【００４９】
【数８】
0005602392.tif 000009
式８
【００５０】
次に点ｒのカメラ座標系における位置をｒｃ＝［ｘｃ、ｙｃ、ｚｃ］Ｔとし、ｒｗからｒｃへの変換を示す。
【００５１】
【数９】
0005602392.tif 000010
式９
【００５２】
よって、画像座標系における点ｒの位置ｕは以下のようになる。
【００５３】
【数１０】
0005602392.tif 000011
式１０
【００５４】
式７、８、９、１０を用いて画像ヤコビアンを以下のように算出する。
平面上の回転（法線まわり）α
【００５５】
【数１１】
0005602392.tif 000012
式１１
【００５６】
平面上の並進運動ｔｐ０
【００５７】
【数１１】
0005602392.tif 000013
式１２
【００５８】
となる。図５の場合、平面上の１軸の並進運動のみを考慮すればよいので∂ｕ／∂ｔｘｐｏのみ用いる。この場合は三次元空間上の直線に拘束した三次元モデルフィッティングとなる。
【００５９】
次に導出した画像ヤコビアンを用いた画像上での最適化アルゴリズムを示す。本実施形態ではエッジベースの３次元モデルフィッティングを行う。
【００６０】
図７に示すように、エッジベースの３次元モデルフィッティングはモデルの各エッジを等間隔に分割した各分割点において処理を行う。処理は３次元モデルを画像平面上に投影して、画像平面上で行う。各分割点５２において、３次元モデルの各投影線５１に垂直かつ分割点を通過する線分（以下、探索ライン５３）上において被測定対象物体のエッジを探索する。すべての分割点について処理が終ったら、３次元モデルの位置及び姿勢を算出する。ここで、分割点の中で対応をとることができた対応点の総数をＮＣとする。３次元モデルの位置及び姿勢は、繰り返し計算により補正することで算出する。
【００６１】
次に線分（エッジ）の情報を利用して３次元モデルの位置及び姿勢を算出する方法を説明する。図８は線分の情報を利用して３次元モデルの位置及び姿勢を算出する方法を説明する図である。図８では画像の水平方向をｕ軸、垂直方向をｖ軸にとっている。ある分割点５２の座標を（ｕｋ、ｖｋ）、該分割点が所属する線分５１の画像上での傾きをｕ軸に対する傾きθで表す。また、線分５１の法線ベクトルを（ｓｉｎθ、―ｃｏｓθ）とする。さらに、該分割点５２に対する被測定対象物体のエッジ上にある対応点６０の座標を（ｕ´ｋ、ｖ´ｋ）とする。ここで、該分割点５２から該対応点６０までの距離を計算する。ここで線分５１上の点（ｕ、ｖ）は式１３を満たす。
ｕｓｉｎθ−ｖｃｏｓθ＝ｒ                   式１３
ただし、
ｒ＝ｕｋｓｉｎθ−ｖｋｃｏｓθ（定数）        式１４
である。該対応点６０を通り、線分５１に平行な直線上の点（ｕ、ｖ）は式１５を満たす。
ｕｓｉｎθ−ｖｃｏｓθ＝ｄ                   式１５
ただし、
ｄ＝ｕ’ｋｓｉｎθ−ｖ’ｋｃｏｓθ（定数）    式１４
である。よって、該分割点５２と該対応点６０までの距離はｄ−ｒで計算される。該対応点６０の画像座標系における座標値は３次元モデルの位置・姿勢の関数である。３次元モデルの位置・姿勢の自由度は６自由度である。ここで３次元モデルの位置及び姿勢を表すパラメータをｐで表す。ｐは６次元ベクトルであり、３次元モデルの位置を表す３つの要素と、姿勢を表す３つの要素からなる。姿勢を表す３つの要素は、例えばオイラー角による表現や、方向が回転軸を表して大きさが回転角を表す３次元ベクトルなどによって表現される。図５の場合、平面拘束化において平面座標系におけるＸ軸方向にのみ３次元モデルを動かしてフィッティングを行えばよいが、ここでは６自由度の場合のエッジを用いた３次元フィッティングについて説明する。
（ｕ、ｖ）を分割点５２の画像座標系における座標として（ｕｋ、ｖｋ）の近傍で１次のテイラー展開によって近似すると式１７のように表せる。
【００６２】
【数１２】
0005602392.tif 000014
式１７
【００６３】
ここで偏微分係数∂ｕ／∂ｐｉ、∂ｖ／∂ｐｉは画像ヤコビアンである。
【００６４】
数式１７によって表される（ｕ、ｖ）が数式１５で表される直線上に存在するように、３次元モデルの位置・姿勢パラメータｐの補正値Δｐを算出する。数式１７を数式１５に代入すると、式１８のようになる。
【００６５】
【数１３】
0005602392.tif 000015
式１８
【００６６】
式１８を整理すると数式１９のように表せる。
【００６７】
【数１４】
0005602392.tif 000016
式１９
【００６８】
式１９はＮＣ個の分割点について成り立つため、数式２０のようなΔｐに対する線形連立方程式が成り立つ。
【００６９】
【数１５】
0005602392.tif 000017
式２０
【００７０】
ここで式２０を式２１のように簡潔に表す。
【００７１】
ＪΔｐ＝Ｅ    式２１
数式２１より、行列Ｊの一般化逆行列（ＪＴ・Ｊ）−１を用いてΔｐが求められる。ただし、本実施例では１自由度問題に帰着できるので、ｐ１＝ｔｘｐｏと考えて、Δｐ１のみ計算すればよい。最終的にはΔｐ１がしきい値以下になるまで繰り返し計算を行う。
【００７２】
＜第二の実施形態＞
本実施形態における基本的な構成は、第一の実施形態と同様である。第一の実施形態と異なる点は、図９に示すように、スリットレーザ投光器１０としてマルチスリットレーザ投光器を用いていることである。スリットレーザ投光器１０は、一度に複数のスリット光（マルチスリット照明光）を照射可能なレーザ投光器であり、撮像画像から複数の光切断線を抽出することが可能となる。一枚の撮像画像から複数の光切断線を抽出することが可能になるため、取得する撮像画像数を減らし、処理時間をより短縮することが出来る。
【００７３】
（校正方法）
本実施形態における校正方法を以下に説明する。
マルチスリット光をあらかじめ世界座標系における座標値が既知の冶具に照射して、その照射位置を画像上で測定し、先の射影行列αを用いて３次元位置を計算することでマルチスリット光平面の式をそれぞれ求めることができる。マルチスリット光のスリット数をＫ本、光走査部１１原点位置からのｋ本目のスリット光照射角度をΦｋとすれば、マルチスリット光平面の式は第一の実施形態と同様に表される。
【００７４】
実際の処理は、図２のフローに従って第１の実施形態と同様に行われる。しかし、３次元計測工程Ｓ１２０においては、マルチスリット光であるため、一回の測定で照射平面を推定するために必要な３次元情報を得ることができる。また、画像上で得られるそれぞれの光切断線が何本目のスリット光によって被測定対象物体上に描かれているものかを判別する必要がある。たとえば、ある抽出された光切断線の垂直方向に一次スキャンを行い、Ｋ本のスリット光全てを抽出し、順番にラベリングして判別するなどの方法があげられる。
【００７５】
＜第三の実施形態＞
本実施形態における装置構成は、第一の実施形態と同様である。第一の実施形態と異なる点は、第一の方向による第一のパターン光の情報では、パラメータ空間限定工程で十分なパラメータ拘束を行うことが出来ないと判断された場合、投光手段Ａ１００の投光を変化させる（第二のパターン光）。そして、再度、パラメータ空間限定工程を行うことである。上記工程を十分なパラメータ拘束を行うことが可能になるまで繰り返すことにより、測定対象物３０の位置および姿勢をより高精度に求めることが可能になる。
【００７６】
（処理フロー）
本実施形態における実作業は、図１０のフローに従って作業が行われる。画像データ取得工程Ｓ２１０〜パラメータ空間限定工程Ｓ２４０は、第一の実施形態における画像データ取得工程Ｓ１１０〜パラメータ空間限定工程Ｓ１４０と同様の処理を行う。
【００７７】
ここで、第一の撮像画像による測定結果が３次元モデルフィッティングを行うにあたり充分なパラメータ空間拘束が行えるか判別する（Ｓ２４５）。例えば、図１１のように２本の光切断線１０１が得られている場合、照射面１０２（第一の表面形状）は推定されるが、３次元モデルの位置の範囲を制限することができない。充分なパラメータ空間拘束が行えない場合は、画像データ取得工程Ｓ２１０に戻り、現在位置とは別の位置に投光手段Ａ１００を移動させることで別の位置（第二の方向）からスリット光を照射することにより、第二の撮像画像を取得する。そして、第二の撮像画像を用いて、追加の照射面（第二の表面形状）を獲得する。まず、照射面推定工程Ｓ１３０において得られた平面から、投光手段１０を走査部１１により任意の所定角度に照射角を変更した場合の光切断線を算出する。これは、各照射角のスリット光平面式と照射面推定工程Ｓ１３０において得られた照射面１０２との交線を求めることであらかじめ算出する。以下では、仮想光切断線１０３とする。次に、前記所定角度に照射角を変更して照射を行い、光切断線１０４を得る。画像座標上で仮想光切断線１０３と実際に得られた光切断線１０４とのマッチングを行い、マッチングがとれない部分がある場合は、被測定対象物体の輪郭外に投光していて光切断線が分断されている可能性が高いのでパラメータ空間限定を行う。具体的には第１の実施形態と同様、３次元モデル上の照射部分に対応する面を照射面に一致させる。そして、平面拘束化で３次元モデルの位置および姿勢を変化させて、照射平面の輪郭線（光切断線）上の点が３次元モデルの一致する面内に存在する範囲を算出する。全照射角において照射した結果すべての仮想光切断線１０３と実際に得られた光切断線１０４のマッチングがとれる場合、平面方向の並進運動と平面の法線ベクトルまわりの回転運動について画像ヤコビアンを導出して、３次元モデルフィッティングを行う。それぞれの画像ヤコビアンについては数式１１、数式１２にて導出済みである。その後、物体位置・姿勢算出工程Ｓ２５０にて被測定対象物体の位置・姿勢を算出する。
【００７８】
＜第四の実施形態＞
図１２に、本実施形態における基本的な構成を示す。
Ａ１００は投光部で、パターン光を被測定対象物体に対して照射を行う投光手段Ａ１１０と投光手段の位置・姿勢を変更させる作業手段Ａ１２０から構成されている。
Ａ２００は画像データを取得するための撮像手段で、投光手段とは独立もしくは一緒に設置されている。
Ａ３００はさまざまな計算を行う計算部で、校正値算出手段Ａ３１０、３次元計測値算出手段Ａ３２０、パラメータ空間算出手段Ａ３３０、物体位置・姿勢算出手段Ａ３４０、計測制御手段Ａ３５０などから構成されている。また、制御手段Ａ３６０、投光器位置・姿勢決定手段Ａ３７０、画像データ保持手段Ａ３０１、校正値保持手段Ａ３０２、および３次元モデルデータ保持手段Ａ３０３などから構成されている。
【００７９】
実際の処理は、図１３のフローに従って行われる。
照射位置・姿勢設定工程Ｓ３１０では、移動制御手段Ａ３６０によって移動させることができる投光手段Ａ１００の位置・姿勢を決定する。被測定対象物体３０への照射の前に撮像手段Ａ２００によって取得した画像から、投光器位置・姿勢決定手段Ａ３７０において投光手段Ａ１００の位置・姿勢を設定する。画像データ取得工程Ｓ３２０〜物体位置・姿勢算出工程Ｓ３７０は、第１の実施例における画像データ取得工程Ｓ１１０〜物体位置・姿勢算出工程Ｓ１４０と同様の処理を行う。
【００８０】
図１４に、本実施形態における具体的な構成を示す。
ほぼ第１の実施形態における具体的な構成を示す図３と同様であるが、投光手段Ａ１１０の位置・姿勢は投光器移動手段Ａ１２０によって変更できるように設定されている。
【００８１】
次に、照射位置・姿勢設定工程Ｓ３１０のフローを上記構成に沿って行う方法を具体的に示す。処理内容に関して、図１５のフローに沿って具体的に説明する。
【００８２】
３次元校正工程Ｓ４１０では、あらかじめ定義しておいた投光手段Ａ１００の位置・姿勢の各候補位置において３次元校正を行っておく。各位置で行われる３次元校正は第１の実施形態と同様である。この三次元校正結果を用いて、任意の位置・姿勢から照射した場合の光切断面の平面式推定関数を生成する。投光手段Ａ１００の位置をＸ、姿勢をａ、光切断面の平面式ＡＸ＋ＢＹ＋ＣＺ＋Ｄ＝０を表す係数ベクトルをＡ＝［Ａ，Ｂ，Ｃ，Ｄ］Ｔとおけば、平面式推定関数はｆ（Ｘ，ａ）＝Ａとなる。平面式推定関数ｆは多項式回帰による線形関数モデルを最小二乗法によって平面式推定関数ｆの近似解を得てもよい。
画像データ取得工程Ｓ４２０では、カメラ２０によって画像データを獲得する。
画像低解像度化工程Ｓ４３０では、計算部Ａ３００が解像度低減手段として機能し、画像データ取得工程Ｓ４２０において獲得された画像を画像の解像度を落とした画像に変換する。
【００８３】
３次元モデルフィッティング工程Ｓ４４０では画像の低解像度化工程Ｓ４３０において獲得された被測定対象物体の低解像度画像と３次元モデルデータ保持手段Ａ３０３によって保持されているモデルデータを簡易化したモデルとのフィッティングを行う。そして、被測定対象物体３０の位置および姿勢を粗く推定する。フィッティングに用いる特徴はエッジでも、コーナー、その他のいわゆるＫｅｙｐｏｉｎｔｓなどの特徴点でもよい。
【００８４】
具体的な方法としてＲＡＮＳＡＣ法があげられる。被測定対象物体３０の低解像度画像からＫｅｙｐｏｉｎｔｓをランダムに何本か選択して、Ｋｅｙｐｏｉｎｔｓに対応するような３次元モデルの位置・姿勢を推定する。推定された位置・姿勢から３次元モデルを画像座標上に投影し、被測定対象物体３０の選択されていないＫｅｙｐｏｉｎｔｓと最も近傍にある３次元モデルのＫｅｙｐｏｉｎｔｓとの距離の総和がしきい値以下になる場合、それを正解値とする。もしくは被測定対象物体３０のエッジと最も近傍にある３次元モデルの投影線との距離の総和を計算してもよい。しきい値を超えた場合は最初に戻り被測定対象物体のＫｅｙｐｏｉｎｔｓをランダムに選択する。
【００８５】
照射位置・姿勢決定工程Ｓ４５０では、３次元モデルフィッティング工程Ｓ４４０において粗く推定された被測定対象物体３０の位置・姿勢を用いて、投光手段Ａ１００の位置・姿勢を、被測定対象物体３０に対して効果的に照射することができるものに設定する。具体的には、３次元モデルフィッティング工程Ｓ４４０において粗く推定された被測定対象物体３０の位置・姿勢に照射することができる位置・姿勢に投光手段Ａ１００を配置し、投光を行う。具体的には、粗く推定された被測定対象物の位置・姿勢と撮像するカメラ位置・姿勢および３次元測定の際の必要精度より、投光手段Ａ１００の角度が決定される。また、投光器の焦点距離より投光手段Ａ１００の位置が決定される。その位置・姿勢に制御手段Ａ３６０および作業手段Ａ１２０を用いて投光手段Ａ１００を移動させて、被測定対象物体に照射を行う。被測定対象物体に照射された光切断線を検出して、３次元位置を測定する。その３次元測定結果に基づいて、投光手段Ａ１００の位置、姿勢を補正する。ここで、先の３次元モデルフィッティング工程Ｓ４４０における被測定対象物体の位置・姿勢の推定誤差を吸収し、被測定対象物体を三次元測定するための投光手段Ａ１００の位置・姿勢を作業手段Ａ１２０によって制御する。
【００８６】
画像データ取得工程Ｓ３２０〜物体位置・姿勢算出工程Ｓ３６０は、第１の実施例における画像データ取得工程Ｓ１１０〜物体位置・姿勢算出工程Ｓ１５０と同様の処理を行う。
【００８７】
＜第五の実施形態＞
本実施形態における基本的な構成は第四の実施形態と同様に図１２で示される。具体的な構成は図１６のように示される。実際の処理フローは図１７のようになる。基本的には第４の実施形態と同様であるが、被測定対象物体が移動した場合に再度照射位置・姿勢設定工程Ｓ５１０において再度投光手段Ａ１００の位置・姿勢を制御する。被測定対象物体の移動検知についてはフレーム差分やオプティカルフロー推定によって行う。被測定対象物体の移動が検知された場合、再度第４の実施形態と同様、図１５のフローに従って、投光手段Ａ１００の照射位置・姿勢を決定してもよいし、オプティカルフロー推定などの２次元速度推定を行ってもよい。また、被測定対象物体がロボットアームによって把持されている場合やベルトコンベアなでに乗っている場合は被測定対象物体の移動量は既知として、投光手段Ａ１００を移動させてもよい。画像データ取得工程Ｓ５２０〜物体位置・姿勢算出工程Ｓ５６０は、第１の実施例における画像データ取得工程Ｓ１１０〜物体位置・姿勢算出工程Ｓ１５０と同様の処理を行う。所定回数測定および位置・姿勢算出を行ったのち、フローは終了となる。
【００８８】
＜第六の実施形態＞
本実施形態における基本的な構成は第１の実施形態と同様に図１で示され、具体的な構成も第１の実施形態と同様に図３のように示され、実際の処理も、第１の実施形態と同様に図２のフローに従って作業が行われる。３次元モデルが図１８のように円柱であるため、円柱の側面に拘束される。図１８の場合、３次元モデルは照射面推定工程Ｓ１３０において得られた曲面によって曲面拘束されているので、以下に曲面拘束化における画像ヤコビアンを導出する。本実施形態において、３次元モデルは円柱の軸方向のみにしか移動させることができないので、軸方向への画像ヤコビアンのみを導出する。
【００８９】
ある点ｘを推定された曲面座標系において示す座標値をｘｃｙｌ＝［ｘｃｙｌ、ｙｃｙｌ、ｚｃｙｌ］として、軸方向への並進運動をｄとおけば、導出される画像ヤコビアンは
【００９０】
【数１６】
0005602392.tif 000018
式２２
【００９１】
となる。３次元モデルフィッティングは第１の実施形態と同様エッジベースのフィッティングで行うことができる。
【００９２】
＜第七の実施形態＞
図１９は、本実施形態における機能構成を示した図である。第一の実施形態と本実施形態とで異なる点は、投光手段Ａ１００、校正値算出手段Ａ３１０、校正値保持手段Ａ３０２が機能構成に含まれず、撮像手段Ａ２００がステレオカメラ２０に対応していることである。
【００９３】
また、本実施形態では、３次元計測工程Ｓ１２０および測定対象物面推定工程Ｓ１３０で、ステレオ撮像画像およびステレオカメラ２０の視差を用いて、測定対象物の表面形状を示す情報を算出する。上記構成および処理を行うことにより、装置構成に投光手段１０を含める必要がなくなり、簡素な構成で装置を構成することが可能になる。
【００９４】
本実施形態における具体的な構成は図２０のように示される。
２０は撮像手段Ａ２００に相当するステレオカメラ２０が固定されている。ステレオカメラ２０によって得られた画像は、公知の校正手法によってレンズ収差を取り除いたものが得られるとする。４０は計算部Ａ３００に相当する計算機で、プログラムとして３次元計測値算出手段Ａ３２０、パラメータ空間限定手段Ａ３３０および物体位置・姿勢算出手段Ａ３４０を持っている。またカメラ２０を制御することのできる計測制御手段Ａ３５０（に相当するインターフェース）が装備されている。また、画像データ保持手段Ａ３０１として利用できるメモリを搭載し、３次元モデルデータ保持手段Ａ３０３として利用できる不揮発性の記憶装置を外部もしくは内部に持っている。計算機４０はカメラ２０に接続されている。
【００９５】
実際の処理は、図２のフローに従って第１の実施形態と同様に行われる。しかし、３次元計測工程Ｓ１２０では、画像データ保持手段Ａ３０１に取得された画像上での視差を計測して、あらかじめ定義されているカメラ間距離やカメラレンズの焦点距離から三次元計測結果を得る。また、被測定対象物体面推定工程Ｓ１３０では、図２１のようにカメラ間で対応がとれているエッジ等で囲まれた領域８０を１面として、３次元計測工程Ｓ１２０で得られた３次元計測結果を利用して、平面式もしくは曲面式を計算する。図２１の場合、被測定対象物平面１０２が推定される。このときエッジ等で囲まれた領域ではなく、領域分割等で得られた一部の領域のみに適用してもよい。得られた面情報を元にパラメータ空間を限定する。パラメータ空間限定工程Ｓ１４０および物体位置・姿勢算出工程Ｓ１５０は第１の実施例と同様の処理を行う。
【図１】
0005602392.tif 000019
【図２】
0005602392.tif 000020
【図３】
0005602392.tif 000021
【図４】
0005602392.tif 000022
【図５】
0005602392.tif 000023
【図６】
0005602392.tif 000024
【図７】
0005602392.tif 000025
【図８】
0005602392.tif 000026
【図９】
0005602392.tif 000027
【図１０】
0005602392.tif 000028
【図１１】
0005602392.tif 000029
【図１２】
0005602392.tif 000030
【図１３】
0005602392.tif 000031
【図１４】
0005602392.tif 000032
【図１５】
0005602392.tif 000033
【図１６】
0005602392.tif 000034
【図１７】
0005602392.tif 000035
【図１８】
0005602392.tif 000036
【図１９】
0005602392.tif 000037
【図２０】
0005602392.tif 000038
【図２１】
0005602392.tif 000039