(57)【要約】【課題】  計測対象物体からの反射光を用いて３次元計測を行う手法において、計測の誤差に起因する、計測対象物体の３次元位置の取得精度の低下を防止することを目的とする。【解決手段】  構造化光が投影された計測対象物体からの反射光の情報と、前記構造化光の光源の位置と、前記反射光を受光して前記反射光の情報を取得する受光部の位置とを用いた三角法により、前記計測対象物体の表面の複数の位置を取得する第一の取得手段と、前記複数の位置に基づき、前記計測対象物体の表面の位置および向きを取得する第二の取得手段と、前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正する補正手段と、を有することを特徴とする。【選択図】  図１
2013019890.tif 000002
【特許請求の範囲】
【請求項１】
構造化光が投影された計測対象物体からの反射光の情報と、前記構造化光の光源の位置と、前記反射光を受光して前記反射光の情報を取得する受光部の位置とを用いた三角法により、前記計測対象物体の表面の複数の位置を取得する第一の取得手段と、
前記複数の位置に基づき、前記計測対象物体の表面の位置および向きを取得する第二の取得手段と、
前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正する補正手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記複数の位置を取得する際の計測の誤差に関する情報は、前記計測対象物体の表面下散乱に関する情報と、前記計測対象物体の異方性反射に関する情報と、前記受光部のキャリブレーション精度に関する情報との少なくともいずれか一つであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記構造化光は、パターン投影法によるパターン光と、光切断法によるスリット光との少なくともいずれか一つであることを特徴とする請求項１もしくは２のいずれか１項に記載の情報処理装置。
【請求項４】
前記補正手段は、前記光源の位置と、前記受光部の位置と、前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとの対応情報を保持する保持手段を有し、
前記補正手段は、前記対応情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第二の取得手段は、前記複数の位置に対して前記計測対象物体のモデルを当てはめることにより、前記計測対象物体の表面の位置および向きを取得することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記補正手段は、計算機シミュレーションにより、前記複数の位置を取得する際の計測の誤差に関する情報を取得することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記補正手段により補正された前記複数の位置の少なくとも一つに前記計測対象物体のモデルを当てはめることにより、前記計測対象物体の位置および姿勢の少なくとも一つを取得する計測手段を有することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記補正手段は、前記構造化光の前記計測対象物体への入射位置と前記反射光の観測位置とのずれ量と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記光源と、
前記受光部と、
前記請求項１乃至９のいずれか１項に記載の情報処理装置とを有することを特徴とする三次元計測装置。
【請求項１１】
計測対象物体に対して構造化光を投影する投影手段と、
前記計測対象物体からの前記構造化光の反射光を撮像する撮像部と、
前記投影手段の位置姿勢と、前記撮像部の位置姿勢と、前記撮像部により取得された撮像画像とから、三角法により前記計測対象物体の表面の複数の位置を取得する第一の取得手段と、
前記複数の位置から、前記複数の位置の近傍における前記計測対象物体の表面の傾きを取得する第二の取得手段と、
前記計測対象物体の表面の光学特性と前記計測対象物体の表面の傾きとから、前記複数の位置の少なくとも一つを補正する補正手段と、を有することを特徴とする三次元計測装置。
【請求項１２】
第一の取得手段が、構造化光が投影された計測対象物体からの反射光の情報と、前記構造化光の光源の位置と、前記反射光を受光して前記反射光の情報を取得する受光部の位置とを用いた三角法により、前記計測対象物体の表面の複数の位置を取得する第一の取得工程と、
第二の取得手段が、前記複数の位置に基づき、前記計測対象物体の表面の位置および向きを取得する第二の取得工程と、
補正手段が、前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正する補正工程と、を有することを特徴とする情報処理方法。
【請求項１３】
コンピュータを、
構造化光が投影された計測対象物体からの反射光の情報と、前記構造化光の光源の位置と、前記反射光を受光して前記反射光の情報を取得する受光部の位置とを用いた三角法により、前記計測対象物体の表面の複数の位置を取得する第一の取得手段と、
前記複数の位置に基づき、前記計測対象物体の表面の位置および向きを取得する第二の取得手段と、
前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正する補正手段と、を有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計測対象物体の３次元計測を行うための情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
３次元空間における計測対象となる物体の形状や位置姿勢を計測するために、撮像装置に対する計測対象表面の奥行き情報を計測する計測装置が提案されている。とりわけ、非接触式の計測装置としては、計測対象に照射した光の反射光を解析することにより、計測対象までの奥行き情報を計測する方法がよく利用されている。
【０００３】
例えば、光切断法や空間コード化法など、既知の構造化光を投影した計測対象を撮像装置（カメラ）で撮像し、光源位置とカメラ位置と撮影画像上でのパターンの位置から三角法に基づいて奥行き情報を算出する方法がある。
【０００４】
さらに、計測対象の位置姿勢の算出方法には、奥行き情報や２次元画像に対して、計測対象の形状モデルをフィッティングする手法がよく利用されている。
【０００５】
非特許文献１には、モデルフィッティングによる位置姿勢計測手法が開示されている。当該手法では、奥行き情報から得られる計測点と形状モデル表面との対応を最近傍探索し、その対応間の距離を最小化することにより物体の位置姿勢を推定する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｐ．  Ｊ．  Ｂｅｓｌ  ａｎｄ  Ｎ．  Ｄ．  ＭｃＫａｙ，  ”Ａ  ｍｅｔｈｏｄ  ｆｏｒ  ｒｅｇｉｓｔｒａｔｉｏｎ  ｏｆ  ３−Ｄ  ｓｈａｐｅｓ，”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  ｖｏｌ．１４，  ｎｏ．２，  ｐｐ．２３９−２５６，  １９９２．
【非特許文献２】Ｍ．  Ｇｕｐｔａ，  Ｙ．  Ｔｉａｎ，  Ｓ．  Ｇ．  Ｎａｒａｓｉｍｈａｎ，  Ｌ．  Ｚｈａｎｇ，  ”（Ｄｅ）  Ｆｏｃｕｓｉｎｇ  ｏｎ  Ｇｌｏｂａｌ  Ｌｉｇｈｔ  Ｔｒａｎｓｐｏｒｔ  ｆｏｒ  Ａｃｔｉｖｅ  Ｓｃｅｎｅ  Ｒｅｃｏｖｅｒｙ，”  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ  （ＣＶＰＲ）  ２００９．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術の手法で、計測対象物体の奥行き情報（３次元位置）を取得する場合、諸条件により、奥行き情報の取得精度が低下する場合がある。
【０００８】
例えば、計測対象に投影した構造化光の反射光を受光部で受光し、三角法で物体の奥行き情報を計測する場合を考える。このとき、対象物体がプラスチックや蝋などを素材とする半透明物体であると、対象物体の内部で光が散乱（表面下散乱）する。表面下散乱により、投影した光が投影位置からずれた位置で観測されるため、真の距離値と異なる距離値が計測されてしまう。
【０００９】
また、計測対象物体が雲母や金属、光沢のある繊維など異方性反射が起こる物体である場合、異方性反射により奥行き情報の取得精度が低下する場合がある。更に、カメラ（撮像装置）のキャリブレーション精度によって、奥行き情報の取得精度の低下が起きることもある。
【００１０】
表面下散乱への対策として、非特許文献２では、高周波パターンが表面下散乱によって減衰する現象に基づき、位相シフト法での投影パターンを高周波パターンとする手法が開示されている。当該手法により、表面下散乱などの間接反射成分の影響を抑制して距離値を計測することが可能となる。しかしながらこのような手法では距離計測に最低限必要な投影パターンに加え、位相をずらした高周波のパターンを複数回投影する必要があるため計測に時間がかかるという課題がある。また、当該手法は、表面下散乱が発生し得る物体であっても、表面での散乱成分によって計測せしめる手法であるので、表面下散乱の情報を活用できていない。
【００１１】
本発明は、上記課題を鑑みてなされたものであり、計測対象物体からの反射光を用いて３次元計測を行う手法において、計測の誤差に起因する、計測対象物体の３次元位置の取得精度の低下を防止することを目的とする。
【課題を解決するための手段】
【００１２】
本願発明の情報処理装置は、上記課題を鑑みてなされたものであり、構造化光が投影された計測対象物体からの反射光の情報と、前記構造化光の光源の位置と、前記反射光を受光して前記反射光の情報を取得する受光部の位置とを用いた三角法により、前記計測対象物体の表面の複数の位置を取得する第一の取得手段と、前記複数の位置に基づき、前記計測対象物体の表面の位置および向きを取得する第二の取得手段と、前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正する補正手段と、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、計測対象物体からの反射光を用いて３次元計測を行う手法において、計測の誤差に起因する、計測対象物体の３次元位置の取得精度の低下を防止することが出来る。
【図面の簡単な説明】
【００１４】
【図１】半透明物体における奥行き情報取得の概念図である。
【図２】第一の実施形態における情報処理装置１の構成を示す図である。
【図３】第一の実施形態における奥行き情報補正の処理手順を示すフローチャートである。
【図４】単一散乱モデルを説明する概念図である。
【図５】第二の実施形態における情報処理装置２の構成を示す図である。
【図６】第二の実施形態における奥行き情報補正の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して本発明の好適な実施形態について詳細に説明する。
【００１６】
（第一の実施形態）
本実施形態では、まず、光源から計測対象物体に対して構造化光を投影し、計測対象物体からの反射光を受光部で受光する。そして、三角法を用いることによって、受光部で受光された反射光の情報から、受光部から計測対象物体までの奥行き情報を得ることが出来る。更に、得られた奥行き情報を、計測対象物体の面の位置と向きに基づいて補正する。
【００１７】
前記の三角法に基づいた奥行き情報算出方法では、図１（ａ）に示す概念図のように、基本的に計測対象物体の表面で反射する光を受光部でとらえることが前提となっている。しかしながら、計測対象物体が半透明物体である場合、同図（ｂ）のように光源から投影した光が物体内部に浸透・散乱し、物体から放出される光と物体表面上で反射される光が観測される。このような現象は、表面下散乱と呼ばれている。
【００１８】
表面下散乱は、物体の材質に応じて光の進行方向に広がったり、その逆方向に広がったりする場合がある。そのため、受光部で受光する光の輝度分布は物体表面のみで反射した場合と異なり、輝度分布のピーク位置がずれたり、分布が等方的ではなくなったりする。このような場合、光の照射位置と観測位置にずれが生じ、物体表面とは異なる位置が奥行き情報として計測されてしまう。
【００１９】
尚、上記では、奥行き情報取得の精度の低下の原因として、計測対象物体の表面化散乱の発生を挙げた。しかしながら、奥行き情報取得の精度が低下する他の原因として、計測対象物体に異方性反射が起こる場合が挙げられる。また、カメラ（撮像部）のキャリブレーション精度によって、奥行き情報の取得精度の低下が起きることもある。
【００２０】
奥行き情報取得の誤差対策として、本発明は、奥行き情報取得の誤差が、光源と受光部の位置と姿勢および、計測対象物体の面の位置と向きに依存することに着目する。すなわち、計測の誤差に関する情報（表面下散乱、異方性反射、などの光学特性、キャリブレーション精度など）と計測対象物体の表面の傾きと関係から計測点の位置の補正量を得る。
【００２１】
具体的には、光源と受光部の位置と姿勢および対象物体の任意の点の位置と向きに対応する補正量を事前にデータベース（ルックアップテーブル）に登録しておく。そして、計測された奥行き情報から算出した計測点の位置と姿勢をキーとしてデータベースから抽出した補正量により奥行き情報を補正する。
【００２２】
図２は、本実施形態における情報処理装置１の構成を示している。同図に示すように、情報処理装置１は、距離計測手段１１０、面情報取得手段１２０、奥行き情報補正手段１３０から構成される。以下、情報処理装置１を構成する各部について説明する。
【００２３】
距離計測手段１１０は、第一の取得手段として機能し、計測対象物体からの反射光を受光部で受光した結果から、三角法に基づき計測対象物体の奥行き情報を取得する手段である。尚、上記反射光は、計測対象物体に対して構造化光を投影した場合の反射光とする。構造化光は、光切断法、空間符号化法などに用いられる、計測対象物体の形状・位置・姿勢などを算出するための投影光である。
【００２４】
ここでは、構造化光としてスリット光、受光部としてカメラを利用し、異なるスリット光とそれに対応する画像を複数撮像し、光切断法により距離画像を作成する。しかしながら、距離計測手法はこれに限るものではなく、空間コード化法やスポット光投影法、パターン投影法など三角法に基づくものであれば良い。
【００２５】
よって、構造化光も、パターン光やスポット光など光源位置が特定可能であるような構造化された光であれば良い。空間コード化法では、例えばネガポジ反転したパターン光を投影し、ネガパターンを投影した際の画像とポジパターンを投影した際の画像の差から、両者の輝度の大小の入れ替わる交点を検出して三角法に基づき奥行き情報を算出する。この場合であっても、対象物体が半透明の場合は受光する輝度分布が等方的でないため交点の位置がずれ、算出される奥行き情報に誤差が生じる。スポット光投影法でも光切断法と同様に物体表面に投影した位置と観察位置がずれてしまう。
【００２６】
また受光部はカメラだけに限るものではなく、入射光の方向が分かるようにスリットなどを取り付けたフォトダイオードなどの投影した光とその方向を検出できるものであれば良い。
【００２７】
計測対象物体が半透明物体（表面化散乱が多い物体）である場合、先に述べたように受光部でとらえる光の輝度分布は物体表面のみで反射した場合と異なり、輝度分布のピーク位置がずれたり、分布が等方的ではなくなったりする。
【００２８】
光切断法ではカメラで撮影した画像から投影したスリット光の位置を検出し、三角法で奥行き情報を算出する。スリット光は所定の幅をもつため、撮像画像を２値化し、スリット光領域の中心をスリット光の観察位置とする。半透明物体の場合、受光した輝度分布が等方的でないため観察されるスリット光の中心位置がずれ、算出される奥行き情報に誤差が生じる。
【００２９】
また、スリット光の観察位置を中心位置ではなく、撮像画像に映ったスリット光のピーク位置とする場合であっても、ピーク位置が物体表面からずれて観察されるため算出される奥行き情報に誤差が生じる。この誤差を、後述する奥行き情報補正手段１３０で補正する。
【００３０】
面情報取得手段１２０は、第二の取得手段として機能し、前記距離計測取得手段１１０で取得した対象物体の奥行き情報すなわち計測点の位置と、向きを算出する。距離計測を行っているため、計測点の３次元位置は明らかである。計測点の傾きは、計測点の法線方向と等価になる。
【００３１】
計測点の法線方向は、注目計測点と近傍の計測点の位置に対して主成分分析を行い、第３主成分を法線方向とすることで算出できる。あるいは、注目する計測点及び近傍の計測点の位置に対して面当てはめを行うことにより、法線方向を算出しても良い。ただし、計測点の向きを表していれば、その表現方法は法線ベクトルに限る必要は無く、法線に直交する２つのベクトルであっても良い。
【００３２】
奥行き情報補正手段１３０は、前記距離計測手段１１０で取得した対象物体の計測点群と前記面情報取得手段１２０で取得した各計測点の向き、および距離計測手段１１０の光源と受光部の位置姿勢に基づき、奥行き情報すなわち計測点の３次元位置を補正する。
【００３３】
実際には、光源とカメラとの相対的な位置姿勢はキャリブレーションにより既知である。よって、計測点の位置と向きに応じた補正量を事前に用意しておいた補正量データベースから抽出し、計測点の３次元位置に加算して奥行き情報を補正し、出力する。前記補正量データベースの作成方法は後述するフローチャートで説明する。
【００３４】
なお補正量をデータベースから抽出する際、補正量は点の位置姿勢が近ければその値も近いため、補正量データベースにキーである点の位置と向きが存在しない場合、位置姿勢が近い点の補正量から補間して補正量を算出しても良い。
【００３５】
また点の位置姿勢および補正量をパラメーターとして多項式や三角関数に当て嵌め、点の位置姿勢を引数として補正量を返す補正関数を生成し、利用しても良い。
【００３６】
前記補正量データベースや前記補正関数を利用する際に入力するのは、面情報取得手段１２０で取得した任意の点の位置と向きである。そこで、前記補正量データベースや前記補正関数を作成する際の、キーや引数とするのは対象物体の任意の点の真の位置と向きでなく、表面下散乱の影響を含んだ計測点から算出した点の位置と向きであっても良い。
【００３７】
以下では、図３に示すフローチャートを用いて本実施形態における奥行き情報補正方法について説明する。尚、図３における左のフローは、オフラインでの処理として、前記補正量データベースを作成するための処理である。
【００３８】
図３における右のフローは、ランタイムでの処理として、奥行き情報を補正するための処理である。
【００３９】
以下では、図３における左のフローを用いて、前述した補正量データベースを作成するための処理を説明する。
【００４０】
（ステップＳ００１０）本ステップ（ステップＳ００１０）では、計測対象物体の距離計測を行う。まず、計測対象物体もしくは、計測対象物体と同一素材の部材を傾きの制御が可能なステージに固定する。そして、距離計測手段１１０が、対象物体の位置姿勢を様々に変えた場合の奥行き情報（３次元位置）を計測する。
【００４１】
次に、計測対象物体の表面で光が拡散反射するように計測対象物体を塗装する。そして、同じ条件で計測対象物体の位置姿勢を様々に変えて奥行き情報（３次元位置）を計測する。計測された奥行き情報は、ステップＳ００２０の処理に渡される。
【００４２】
（ステップＳ００２０）本ステップ（ステップＳ００２０）では、補正量データベースを作成する。まず、計測対象物体の表面上の任意の点について、ステップＳ００１０で計測した奥行き情報から塗装前後の計測点の位置の差を補正量として、データベースに登録する。そして、データベースのキーとして、計測対象物体の位置姿勢を補正量データベースに登録する。
【００４３】
尚、上述のステップＳ００１０では、計測対象物体もしくは、計測対象物体と同一素材の部材をステージに固定した。しかしながら、計測対象物体もしくは同一素材の部材の位置姿勢を計測でき、かつ位置姿勢の変更が可能であれば、ステージを利用しなくても良い。
【００４４】
例えば、計測対象物体を既知のパターンが印刷されたマーカー上に固定すれば、マーカーを撮影した画像から対象物体の位置姿勢を計測可能となる。よって、手動でマーカー及び計測対象物体の位置姿勢を変えて奥行き情報を計測しても良い。また計測対象物体を塗装して計測することに関しては、表面下散乱の影響を受けずに計測対象物体もしくは同一素材の部材の奥行き情報を計測できれば、塗装をしなくても良い。例えば、接触式センサを利用しても良いし、同一形状の異なる材質の物体を塗装後の物体の代わりに利用しても良い。また、計測対象物体が異方性反射を有する物体であって、当該異方性反射を補正する場合、計測対象物体と同一形状で異方性反射を有さない物体を用いても良い。
【００４５】
次に、図３における右のフローを用いて、計測対象物体の奥行き情報を補正するランタイム処理について説明する。尚、本ランタイム処理は、図１で示される各手段によって実施されるものであるが、各処理を行うコンピュータプログラムが格納された記録媒体を有するコンピュータにより実施することも可能である。
【００４６】
（ステップＳ１０１０）本ステップ（ステップＳ１０１０）では、距離計測手段１１０が、計測対象物体の奥行き情報（３次元位置）を計測する。計測された奥行き情報は、ステップＳ１０２０の処理に渡される。
【００４７】
（ステップＳ１０２０）本ステップ（ステップＳ１０２０）では、面情報取得手段１２０が、ステップＳ１０１０で得た計測対象物体の奥行き情報を用いて、計測対象物体表面上の計測点の位置と向きを算出する。算出した計測点の位置と向きは、ステップＳ１０３０の処理に渡される。
【００４８】
（ステップＳ１０３０）本ステップ（ステップＳ１０３０）では、奥行き情報補正手段１３０が、ステップＳ１０２０で得た計測点の位置と向きと前記補正量データベースを利用して奥行き情報を補正し、出力する。
【００４９】
上記処理により、奥行き情報取得の誤差を適切に補正し、精度の良い奥行き情報を取得することが可能となる。特に、計測対象物体が、表面化散乱の多い物体である場合、奥行き情報取得の精度を顕著に高めることが可能となる。
【００５０】
（第一の実施形態の変形例１）
本変形例では、面情報取得手段１２０と奥行き情報取得手段１３０を計測点の向きが収束するまで繰り返し、奥行き情報を補正する。
【００５１】
第一の実施形態では、一回の奥行き情報の補正を行った。しかしながら、面情報取得手段１２０で取得する任意の計測点の位置と向きは、表面下散乱による誤差を含んだ計測点の位置から算出した値である。よって、その位置と向きも誤差を含んでいる可能性がある。
【００５２】
そこで、本変形例では、ステップＳ１０３０で奥行き情報補正手段１３０によって補正した計測点の位置に対して、再度、ステップＳ１０２０に戻り面情報取得手段１２０により計測点の向きを算出する。
【００５３】
そして、新たに算出した計測点の位置と向きに基づいて、ステップＳ１０３０で奥行き情報補正手段１３０により計測点の奥行き情報、すなわち計測点の３次元位置を補正する。本変形例では、この処理をステップＳ１０２０において面情報取得手段１２０により算出する計測点の位置と向きの変化が、所定の閾値以下になるまで繰り返し、奥行き情報を補正する。また、各繰り返し処理で有られた奥行き情報を平均化することにより、誤差低減を図っても良い。
【００５４】
本変形例の処理を行うことにより、奥行き情報取得の誤差をより高精度に補正し、精度の良い奥行き情報を取得することが可能となる。
【００５５】
（第一の実施形態の変形例２）
本変形例では、第一の実施形態の奥行き情報補正手段１３０において利用した補正量データベースに表面観測位置ずれ量を格納する。
【００５６】
第一の実施形態では、計測対象物体の表面の任意の点について、計測対象物体が半透明である場合と不透明である場合の計測点の位置の差分を補正量データベースに登録して利用した。しかしながら、補正量データベースに登録するのは補正量そのものでなくても実装を行うことは可能である。
【００５７】
例えば、計測対象物体表面へ入射した構造化光の位置と構造化光が観測された位置の差分、すなわち表面観測位置ずれ量をデータベースに登録して利用しても良い。計測対象物体の任意の点における表面観測位置ずれ量は、半透明物体の構造化光の観測位置と塗装して不透明にした場合の観測位置の差分をとることで取得できる。
【００５８】
表面観測位置ずれ量を利用する場合、まず、前記奥行き情報補正手段１３０において、計測点の位置と傾きに基づいてデータベースから表面観測位置ずれ量を取得する。この処理を表面観測位置ずれ量取得手段とする。次に前記表面観測位置ずれ量を、受光部によって構造化光の反射を観測した位置に加算し、距離計測手段１１０と同様の三角法に基づき再度奥行き情報を算出し直し、奥行き情報を補正する。
【００５９】
また、表面観測位置ずれ量は、第一の実施形態と同様に、位置姿勢が近い点の表面観測位置ずれ量から補間しても良い。また、点の位置姿勢および表面観測位置ずれ量をパラメーターとして多項式や三角関数に当て嵌め、点の位置姿勢を引数として表面観測位置ずれ量を返す関数を生成し利用しても良い。
【００６０】
本変形例を用いることにより、三次元計測が必要な様々なケースに対応することが可能となる。
【００６１】
（第一の実施形態の変形例３）
本変形例では、第一の実施形態の奥行き情報補正手段１３０において利用した補正量データベースを、事前計測ではなく光学現象のシミュレーションにより作成する。
【００６２】
すなわち、図３の左フローのステップＳ００１０において、前記距離計測手段１１０の奥行き情報算出の過程を模擬することにより、前記奥行き情報補正手段１３０で利用する補正量データベースを作成する。
【００６３】
シミュレーションを行うにあたり、前記距離計測手段１１０の光源と受光部の位置は既知である。前記距離計測手段１１０の光切断法で投影するスリット光のパターンも既知とする。また、計測対象物体の形状および反射率や屈折率、散乱係数、吸収係数などの物体特性も既知とする。
【００６４】
これらの情報から、光源からの投影パターン光が計測対象物体に入射し、物体内部で屈折、反射を繰り返し、物体表面から放出され、受光部であるカメラに入射する光をモンテカルロシミュレーションにより計算することが可能である。
【００６５】
これにより、対象物体の様々な位置姿勢について、構造化光を投影した対象物体を受光部であるカメラで撮影した場合の画像を作成する。作成した画像を用いて、前記距離計測手段１１０と同じ三角法に基づく奥行き情報算出し方法を用いて奥行き情報を算出することが可能である。よって対象物体表面上の任意の点について、対象物体を半透明物体および不透明物体としてシミュレーションした場合の計測点の位置の差を補正量とし、そのときの点の位置姿勢をキーとして補正量データベースに登録する。
【００６６】
ただし、計算機シミュレーション方法はモンテカルロシミュレーションに限るものではなく、表面下散乱や異方性反射などの光学現象を再現できればどのような手法でも良い。例えば後述する変形例４で用いたような単一散乱や多重散乱をモデル化した近似モデルを利用しても良い。
【００６７】
また、シミュレーションの対象となる光学現象は光切断法だけに限ったものではない。空間コード化法やスポット光投影法など距離計測手段１１０で用いる計測方法を模擬すれば良い。本変形例を用いることにより、事前計測に必要な手間や時間を大幅に削減することが可能となる。
【００６８】
（第一の実施形態の変形例４）
変形例２では、表面観測位置ずれ量を事前に実計測データから計測する例を示した。本実施形態の変形例では、事前にデータベースを用意せず、つまりステップＳ００１０およびステップＳ００２０のオフライン処理を行わずに、表面観測位置ずれ量をランタイム時に光学的なシミュレーションにより算出して利用する場合について説明する。
【００６９】
半透明物体の見えは鏡面反射成分を除くと多重散乱と単一散乱の２つで近似的にモデル化できる（［Ｈｅｎｒｉｋ  Ｗ．  Ｊｅｎｓｅｎ，  Ｓｔｅｐｈｅｎ  Ｒ．  Ｍａｒｓｃｈｎｅｒ，  Ｍａｒｃ  Ｌｅｖｏｙ  ａｎｄ  Ｐａｔ  Ｈａｎｒａｈａｎ，”  Ａ  Ｐｒａｃｔｉｃａｌ  Ｍｏｄｅｌ  ｆｏｒ  Ｓｕｂｓｕｒｆａｃｅ  Ｌｉｇｈｔ  Ｔｒａｎｓｐｏｒｔ，”  ＳＩＧＧＲＡＰＨ  '０１：  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２８ｔｈ  ａｎｎｕａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  ｇｒａｐｈｉｃｓ  ａｎｄ  ｉｎｔｅｒａｃｔｉｖｅ  ｔｅｃｈｎｉｑｕｅｓ，  ｐｐ．  ５１１−５１８，  ２００１．］を参照）。多重散乱は入射光が物体内部で複数回反射を繰り返した後、物体表面から放出される現象を表し、単一散乱とは物体に入射した光が物体内部で一度だけ反射し、物体表面から放出される現象を表す。前者の多重散乱は入射位置を中心として等方に散乱するため、物体に投影した光の反射光の強度分布がなだらかになるが、光の照射位置と観測位置のずれがほとんど起こらないため距離計測への影響は少ない。しかしながら後者の単一散乱は光の入射方向と観測方向、および物体の屈折率に応じて、受光部で撮影する構造化光の位置が物体表面に光が入射した位置からずれて観測される。
【００７０】
そこで、単一散乱のモデルに基づいて前記表面観測位置ずれ量を算出する。光源と受光部であるカメラの位置姿勢は既知であるため、光源からの光の入射方向Ｌ及び受光部の観測方向Ｖは既知である。また対象物体の特性として屈折率ηを既知とする。さらに面情報取得手段１２０により奥行き情報を補正する点の位置と向きが既知であり、この点を局所的に平面と仮定すれば、単一散乱における光源から受光部までの光の経路は以下のように計算できる。
【００７１】
図４に、単一散乱モデルを説明する概念図を示す。ここでは簡単のため２次元空間で考えるが、３次元空間でも同様である。空気に対する対象物体の相対屈折率をηとし、面情報取得手段１２０で取得した注目点の位置と向き、および光源方向Ｌと観測方向Ｖから得られる入射角をθｉ、出射角をθｏとする。また光が対象物体の構成物質にぶつからずに直進する平均の距離（平均自由行程）をｄとする。このとき対象物体への光の入射点Ｘｉと出射点Ｘｏ間の距離ｓ、つまり表面観測位置ずれ量は以下の式１で算出することが出来る。
【００７２】
ｓ  ＝  ｄ  ｛ｓｉｎ（  ａｒｃｓｉｎ（ｓｉｎ（θｉ）／η）  ）  ＋  ｃｏｓ（  ａｒｃｓｉｎ（ｓｉｎ（θｉ）／η）  ）  ｔａｎ（  ａｒｃｓｉｎ（ｓｉｎ（θｏ）／η）  ）｝
（式１）
よってステップＳ１０３０の奥行き情報取得手段１３０における表面観測位置ずれ量取得手段では、式１に基づいて表面観測位置ずれ量を取得する。次にこの値を受光部によって構造化光の反射を観測した位置に加算し、距離計測手段１１０と同様の三角法に基づき再度奥行き情報を算出し直し、奥行き情報を補正し出力する。
【００７３】
ただし、シミュレーション方法は上記の方法に限るものではなく、半透明物体の光学現象を再現できればどのような手法でも良い。例えば変形例３で用いたようなモンテカルロシミュレーションを利用した手法であっても良い。本変形例では、事前に補正量データベースを作成する手間を削減しつつ、奥行き情報取得の誤差を適切に補正し、精度の良い奥行き情報を取得することが可能となる。
【００７４】
（第二の実施形態）
本実施形態では、第一の実施形態のように、面情報取得手段が、対象物体の奥行き情報から計測点の位置と向きを直接算出するのではなく、計測対象物体の形状モデルを計測点群にフィッティングして算出する。
【００７５】
図５は、本実施形態における情報処理装置２の構成を示している。同図に示すように、情報処理装置２は、距離計測手段２１０、位置姿勢算出手段２２０、面情報取得手段２３０、奥行き情報補正手段２４０から構成される。以下、情報処理装置２を構成する各部について説明する。距離計測手段２１０、奥行き情報補正手段２４０は、第一の実施形態の場合と同様である。
【００７６】
位置姿勢算出手段２２０は、距離計測手段２１０で得られた奥行き情報、すなわち計測された３次元点群に対して対象物体の形状モデルをフィッティングすることにより対象物体の位置姿勢を推定する。モデルフィッティングでは計測点と形状モデルの表面の対応を最近傍探索し、その対応間の距離を最小化する（非特許文献１を参照）。
【００７７】
ただし、位置姿勢算出方法は上記の方法に限ったものではなく、対象物体の位置姿勢が算出できる手法であれば良い。例えば、Ｓｐｉｎ  Ｉｍａｇｅｓ  ［Ａ．Ｅ．  Ｊｏｈｎｓｏｎ  ａｎｄ  Ｍ．  Ｈｅｂｅｒｔ，  ”Ｕｓｉｎｇ  Ｓｐｉｎ  Ｉｍａｇｅｓ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔ  Ｏｂｊｅｃｔ  Ｒｅｃｏｇｎｉｔｉｏｎ  ｉｎ  Ｃｌｕｔｔｅｒｅｄ  ３Ｄ  Ｓｃｅｎｅｓ，  ”  ＩＥＥＥ  Ｔｒａｎｓ．  ｏｎ  ＰＡＭＩ，  ｖｏｌ．２１，  ｎｏ．５，  ｐｐ．４３３−４４９，  １９９９．］  のような特徴量を距離画像から算出して形状モデルから算出した特徴量とマッチングし、対応付けた特徴量間の距離を最小化することにより対象物体の位置姿勢を算出しても良い。
【００７８】
面情報取得手段２３０は、前記位置姿勢算出手段２２０で取得した対象物体の位置姿勢を利用し、対象物体表面上の任意の点の位置と向きを取得する。まず、奥行き情報の補正対象である計測点に対応する形状モデル表面上の点を最近傍探索や投影法により探索する。次に、見つかった形状モデル表面上の対応点の位置と法線を注目点の位置と向きとして出力し、奥行き情報補正手段２４０で利用する。
【００７９】
奥行き情報補正手段２４０は第一の実施形態の場合と同様に、面情報取得手段２３０で取得した注目点の位置と向きを利用して距離計測手段２１０で計測した奥行き情報を補正し出力する。
【００８０】
以下では、図６に示すフローチャートを用いて本実施形態における奥行き情報補正方法について説明する。
【００８１】
事前にオフラインでの処理として、前記補正量データベースを作成するステップＳ２０１０とステップＳ２０２０は、第一の実施形態のステップＳ００１０とＳ００２０と同様である。次に、計測対象物体の奥行き情報を補正するランタイム処理について説明する。
【００８２】
（ステップＳ３０１０）本ステップ（ステップＳ３０１０）では、距離計測手段２１０が、ステップＳ３０１０で得た対象物体の奥行き情報を計測し、ステップＳ３０２０とＳ３０３０に渡す。
【００８３】
（ステップＳ３０２０）本ステップ（ステップＳ３０２０）では、位置姿勢算出手段２２０が、ステップＳ３０１０で得た対象物体の奥行き情報、すなわち計測された３次元点群に対して対象物体の形状モデルをフィッティングすることにより対象物体の位置姿勢を推定する。算出した対象物体の位置姿勢をステップＳ３０３０に渡す。
【００８４】
（ステップＳ３０３０）本ステップ（ステップＳ３０３０）では、面情報取得手段２３０が、ステップＳ３０２０で得た対象物体の位置姿勢に基づいて、ステップＳ３０１０で得た計測点に対応する形状モデル表面上の対応点の位置と向きをステップＳ３０４０に渡す。
【００８５】
（ステップＳ３０４０）本ステップ（ステップＳ３０４０）では、奥行き情報補正手段２４０が、ステップＳ３０３０で得た計測点の位置と向きと前記補正量データベースを利用して奥行き情報を補正し、出力する。
【００８６】
また、第一の実施形態の変形例１と同様に、ステップＳ３０２０、Ｓ３０３０、Ｓ３０４０を繰り返し実行し、奥行き情報を補正しても良い。その場合は、まずステップＳ３０４０の奥行き情報補正手段２４０によって補正した計測点の位置に対して、再度ステップＳ３０２０で位置姿勢算出手段２２０を用いて対象物体の位置姿勢を求め、ステップＳ３０３０で面情報取得手段２３０を用いて計測点の位置と向きを算出する。そして新たに算出した計測点の位置と向きに基づいて、ステップＳ３０４０で奥行き情報補正手段２４０を用いて計測点の奥行き情報、すなわち計測点の３次元位置を補正する。この処理をステップＳ３０２０の位置姿勢算出手段２２０で求める対象物体の位置姿勢の変化がある閾値以下になるまで繰り返し、奥行き情報を補正する。
【００８７】
また、上述の処理では、ステップＳ３０２０で位置姿勢算出手段２２０を用いて計測対象物体の位置姿勢を算出し、奥行き情報を補正し出力していた。しかしながら、出力するのは奥行き情報ではなく、位置姿勢算出手段２２０で算出した計測対象物体の位置姿勢であっても良い。
【００８８】
（第三の実施形態）
第二の実施形態で説明した情報処理装置２の好適な適用事例としては、三次元計測装置をロボットアームの手先部に設置して、把持する物体を計測対象物体として、その位置姿勢を計測する目的に利用することがあげられる。以下、本実施形態における情報処理装置２の適用例を説明する。本実施形態におけるロボットアーム３０は、ロボットコントローラ４０の制御による駆動する。第一の実施形態で用いる光源１０及び受光部２０がロボットアーム３０に治具により固定され、情報処理装置２により制御されている。ロボットアーム３０は、対象物体５０をアーム把持部によりピッキングする。情報処理装置２は、光源１０及び受光部２０を制御することにより、計測のための構造化光の投影と撮像を行い、補正量データベースを用いて奥行き情報を補正し、アーム把持部と対象物体５０の相対位置姿勢を逐次推定する。その推定結果を、ロボットアーム３０を制御するロボットコントローラ４０に制御パラメーターとして伝える。情報処理装置２とロボットコントローラ４０とはケーブルにより結線されている。ロボットアーム３０は、対象物体５０の推定位置姿勢に基づいて、対象物体５０を把持する。
【００８９】
なお、情報処理装置２の位置姿勢算出手段２２０において、モデルフィッティングに概略位置姿勢が必要な場合は、ロボットコントローラ４０が制御する産業用ロボットアーム３０の取り付け位置に、治具のためのオフセットを加えた値を伝えれば良い。また、モデルフィッティングで用いる形状モデルには、対象物体５０のＣＡＤモデルを本情報処理装置２が読み込めるフォーマットに変換したものを入力しておく。なお、対象物体が変わった場合には、その都度、該当する形状モデルを入力することで、複数種類の対象物体に対応することができる。装置が事前の保持している形状モデルを選択しても構わないし、別の部品識別装置による部品種の認識結果を使って保持している形状モデルを切り替えても構わない。
【００９０】
本実施形態の処理を行うことにより、ロボットアームによる半透明物体や異方性反射物体などの難計測物体の把持を正確に行うことが可能となり、ロボットアームによる精密組み立てが可能となる。
【００９１】
＜実施例の効果＞
第一の実施形態では、半透明物体や異方性反射や鏡面反射する計測対象物体に対して光源から投影した構造化光の反射光を受光部で受光し、その反射光の情報から三角法を用いて、受光部から計測対象物体までの奥行き情報を得る際に、得られた奥行き情報を、計測対象物体の面の位置と向きに基づいて補正する。本実施形態により、奥行き情報取得の誤差を適切に補正し、精度の良い奥行き情報を取得することが可能となる。特に、計測対象物体が、表面化散乱や異方性反射、鏡面反射などが多い物体である場合、奥行き情報取得の精度を顕著に高めることが可能となる。
【００９２】
第一の実施形態の変形例１では、複数の物体や材質、材質の厚さなどに応じた補正量データベースを事前に作成しておき、ランタイム処理の際に対象物体や対象物体の材質、対象物体の材質の厚さなどに応じて、補正量データベースを選択する。本変形例により、補正量データベースを共有することができ、対象物体の奥行き情報を補正するランタイム処理のみを行う際に、補正量データベースを作成する手間を軽減できる。
【００９３】
第一の実施形態の変形例２では、奥行き情報の補正処理を繰り返し実行する。本変形例により、奥行き情報取得の誤差をより高精度に補正し、精度の良い奥行き情報を取得することが可能となる。
【００９４】
第一の実施形態の変形例３では、補正量データベースとして、計測対象物体表面へ入射した構造化光の位置と構造化光が観測された位置の差分を登録し、利用する。本変形例は、光学現象をより直接的にモデル化しているため、データベースの光学的な解析がしやすくなる。またデータベースを関数近似しやすくなり、低次の関数での表現、あるいはより正確に関数近似することが可能となる。
【００９５】
第一の実施形態の変形例４では、計測誤差の要因となる光学現象をシミュレーションして、補正量データベースを作成する。本変形例により、事前計測に必要な手間や時間を大幅に削減することが可能となる。
【００９６】
第一の実施形態の変形例５では、事前にデータベースを用意せず、表面観測位置ずれ量をランタイム時に光学的なシミュレーションにより算出して利用する。本変形例により、事前に補正量データベースを作成する手間を削減しつつ、奥行き情報取得の誤差を適切に補正し、精度の良い奥行き情報を取得することが可能となる。
【００９７】
第二の実施形態では、対象物体の奥行き情報から算出する複数の位置及び向きを、計測対象物体の形状モデルを計測点群にフィッティングして算出する。本実施形態により、より正確な計測点の位置及び向きを算出することが可能となり、奥行き情報取得の誤差をより高精度に補正し、精度の良い奥行き情報を取得することが可能となる。
【００９８】
第三の実施形態では、本発明をロボットアームに取り付けて対象物体を把持する場合の例を示した。ロボットアームによる半透明物体や異方性反射物体などの難計測物体の把持を正確に行うことが可能となり、ロボットアームによる精密組み立てが可能となる。
【００９９】
＜定義＞
本発明における距離計測手段は、光源から投影した構造化光を受光部で受光し、三角法に基づいて距離を計測する方法であればどのような方法でも良い。第一の実施形態で述べた光切断法であっても良いし、複数のグレイコードパターンを投影する空間コード化法（［井口征士，佐藤宏介，“三次元画像計測，”  昭晃堂，ｐｐ７９−１１９，１９９０．］）やスポット光投影法、格子状のパターンを投影するグリッドパターン投影法（［特願２００９−２８９６１４］）、基準線パターンを付加したマルチスリット光投影法（［特願２０１０−０５３６６９］）であっても良い。
【０１００】
本発明における面情報取得手段は、前記距離計測手段で計測した対象物体の奥行き情報すなわち計測点の位置と向きを算出できればどのような方法でも良い。第一の実施形態で述べたように、計測点の位置は計測値そのままでも良いし、計測点の向きを近傍の計測点の位置に対して主成分分析を行い、第３主成分を法線方向とすることで算出しても良い。また、注目する計測点及び近傍の計測点の位置に対して面当てはめを行って計測点の向きを算出しても良いし、計測点群にモデルフィッティングを行って計測点の位置と向きを算出しても良い。
【０１０１】
本発明における奥行き情報補正手段は、光源と受光部の位置と、奥行き情報すなわち計測点の位置及び向きに基づき、計測点の３次元位置を補正する方法であればどのような方法でも良い。事前に作成しておいた計測点の位置及び向きに対応する補正量を保持する補正量データベースを用いて補正しても良いし、対象物体の光学特性情報を利用して表面化散乱や異方性反射、鏡面反射などによる計測誤差の光学シミュレーションを行って補正しても良い。また補正量そのものでなく、計測対象物体表面へ入射した構造化光の位置と構造化光が観測された位置の差分をデータベースとして保持して利用しても良い。また、補正量データベースは事前に計測して作成しても良いし、対象物体の光学特性情報を利用して計測誤差の光学シミュレーションを行って作成しても良い。また、複数の物体や材質、材質の厚さなどに応じた補正量データベースを事前に作成しておき、対象物体や対象物体の材質、対象物体の材質の厚さなどに応じて、補正量データベースを選択し、補正しても良い。
【産業上の利用可能性】
【０１０２】
本発明は、物体の３次元形状計測や、物体認識、ロボットの自己位置推定、ロボットと物体との間の相対的な位置及び姿勢を推定するのに利用することができる。
【符号の説明】
【０１０３】
１  情報処理装置１
１１０  距離計測手段
１２０  面情報取得手段
１３０  奥行き情報補正手段
２  情報処理装置２
２１０  距離計測手段
２２０  面情報取得手段
２３０  奥行き情報補正手段
２４０  位置姿勢算出手段
【図１】
2013019890.tif 000003
【図２】
2013019890.tif 000004
【図３】
2013019890.tif 000005
【図４】
2013019890.tif 000006
【図５】
2013019890.tif 000007
【図６】
2013019890.tif 000008