説明

情報処理装置及び情報処理方法

【課題】 計測対象物体からの反射光を用いて3次元計測を行う手法において、計測の誤差に起因する、計測対象物体の3次元位置の取得精度の低下を防止することを目的とする。
【解決手段】 構造化光が投影された計測対象物体からの反射光の情報と、前記構造化光の光源の位置と、前記反射光を受光して前記反射光の情報を取得する受光部の位置とを用いた三角法により、前記計測対象物体の表面の複数の位置を取得する第一の取得手段と、前記複数の位置に基づき、前記計測対象物体の表面の位置および向きを取得する第二の取得手段と、前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正する補正手段と、を有することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計測対象物体の3次元計測を行うための情報処理装置および情報処理方法に関する。
【背景技術】
【0002】
3次元空間における計測対象となる物体の形状や位置姿勢を計測するために、撮像装置に対する計測対象表面の奥行き情報を計測する計測装置が提案されている。とりわけ、非接触式の計測装置としては、計測対象に照射した光の反射光を解析することにより、計測対象までの奥行き情報を計測する方法がよく利用されている。
【0003】
例えば、光切断法や空間コード化法など、既知の構造化光を投影した計測対象を撮像装置(カメラ)で撮像し、光源位置とカメラ位置と撮影画像上でのパターンの位置から三角法に基づいて奥行き情報を算出する方法がある。
【0004】
さらに、計測対象の位置姿勢の算出方法には、奥行き情報や2次元画像に対して、計測対象の形状モデルをフィッティングする手法がよく利用されている。
【0005】
非特許文献1には、モデルフィッティングによる位置姿勢計測手法が開示されている。当該手法では、奥行き情報から得られる計測点と形状モデル表面との対応を最近傍探索し、その対応間の距離を最小化することにより物体の位置姿勢を推定する。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】P. J. Besl and N. D. McKay, ”A method for registration of 3−D shapes,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.14, no.2, pp.239−256, 1992.
【非特許文献2】M. Gupta, Y. Tian, S. G. Narasimhan, L. Zhang, ”(De) Focusing on Global Light Transport for Active Scene Recovery,” IEEE Computer Vision and Pattern Recognition (CVPR) 2009.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記従来技術の手法で、計測対象物体の奥行き情報(3次元位置)を取得する場合、諸条件により、奥行き情報の取得精度が低下する場合がある。
【0008】
例えば、計測対象に投影した構造化光の反射光を受光部で受光し、三角法で物体の奥行き情報を計測する場合を考える。このとき、対象物体がプラスチックや蝋などを素材とする半透明物体であると、対象物体の内部で光が散乱(表面下散乱)する。表面下散乱により、投影した光が投影位置からずれた位置で観測されるため、真の距離値と異なる距離値が計測されてしまう。
【0009】
また、計測対象物体が雲母や金属、光沢のある繊維など異方性反射が起こる物体である場合、異方性反射により奥行き情報の取得精度が低下する場合がある。更に、カメラ(撮像装置)のキャリブレーション精度によって、奥行き情報の取得精度の低下が起きることもある。
【0010】
表面下散乱への対策として、非特許文献2では、高周波パターンが表面下散乱によって減衰する現象に基づき、位相シフト法での投影パターンを高周波パターンとする手法が開示されている。当該手法により、表面下散乱などの間接反射成分の影響を抑制して距離値を計測することが可能となる。しかしながらこのような手法では距離計測に最低限必要な投影パターンに加え、位相をずらした高周波のパターンを複数回投影する必要があるため計測に時間がかかるという課題がある。また、当該手法は、表面下散乱が発生し得る物体であっても、表面での散乱成分によって計測せしめる手法であるので、表面下散乱の情報を活用できていない。
【0011】
本発明は、上記課題を鑑みてなされたものであり、計測対象物体からの反射光を用いて3次元計測を行う手法において、計測の誤差に起因する、計測対象物体の3次元位置の取得精度の低下を防止することを目的とする。
【課題を解決するための手段】
【0012】
本願発明の情報処理装置は、上記課題を鑑みてなされたものであり、構造化光が投影された計測対象物体からの反射光の情報と、前記構造化光の光源の位置と、前記反射光を受光して前記反射光の情報を取得する受光部の位置とを用いた三角法により、前記計測対象物体の表面の複数の位置を取得する第一の取得手段と、前記複数の位置に基づき、前記計測対象物体の表面の位置および向きを取得する第二の取得手段と、前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正する補正手段と、を有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、計測対象物体からの反射光を用いて3次元計測を行う手法において、計測の誤差に起因する、計測対象物体の3次元位置の取得精度の低下を防止することが出来る。
【図面の簡単な説明】
【0014】
【図1】半透明物体における奥行き情報取得の概念図である。
【図2】第一の実施形態における情報処理装置1の構成を示す図である。
【図3】第一の実施形態における奥行き情報補正の処理手順を示すフローチャートである。
【図4】単一散乱モデルを説明する概念図である。
【図5】第二の実施形態における情報処理装置2の構成を示す図である。
【図6】第二の実施形態における奥行き情報補正の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、添付図面を参照して本発明の好適な実施形態について詳細に説明する。
【0016】
(第一の実施形態)
本実施形態では、まず、光源から計測対象物体に対して構造化光を投影し、計測対象物体からの反射光を受光部で受光する。そして、三角法を用いることによって、受光部で受光された反射光の情報から、受光部から計測対象物体までの奥行き情報を得ることが出来る。更に、得られた奥行き情報を、計測対象物体の面の位置と向きに基づいて補正する。
【0017】
前記の三角法に基づいた奥行き情報算出方法では、図1(a)に示す概念図のように、基本的に計測対象物体の表面で反射する光を受光部でとらえることが前提となっている。しかしながら、計測対象物体が半透明物体である場合、同図(b)のように光源から投影した光が物体内部に浸透・散乱し、物体から放出される光と物体表面上で反射される光が観測される。このような現象は、表面下散乱と呼ばれている。
【0018】
表面下散乱は、物体の材質に応じて光の進行方向に広がったり、その逆方向に広がったりする場合がある。そのため、受光部で受光する光の輝度分布は物体表面のみで反射した場合と異なり、輝度分布のピーク位置がずれたり、分布が等方的ではなくなったりする。このような場合、光の照射位置と観測位置にずれが生じ、物体表面とは異なる位置が奥行き情報として計測されてしまう。
【0019】
尚、上記では、奥行き情報取得の精度の低下の原因として、計測対象物体の表面化散乱の発生を挙げた。しかしながら、奥行き情報取得の精度が低下する他の原因として、計測対象物体に異方性反射が起こる場合が挙げられる。また、カメラ(撮像部)のキャリブレーション精度によって、奥行き情報の取得精度の低下が起きることもある。
【0020】
奥行き情報取得の誤差対策として、本発明は、奥行き情報取得の誤差が、光源と受光部の位置と姿勢および、計測対象物体の面の位置と向きに依存することに着目する。すなわち、計測の誤差に関する情報(表面下散乱、異方性反射、などの光学特性、キャリブレーション精度など)と計測対象物体の表面の傾きと関係から計測点の位置の補正量を得る。
【0021】
具体的には、光源と受光部の位置と姿勢および対象物体の任意の点の位置と向きに対応する補正量を事前にデータベース(ルックアップテーブル)に登録しておく。そして、計測された奥行き情報から算出した計測点の位置と姿勢をキーとしてデータベースから抽出した補正量により奥行き情報を補正する。
【0022】
図2は、本実施形態における情報処理装置1の構成を示している。同図に示すように、情報処理装置1は、距離計測手段110、面情報取得手段120、奥行き情報補正手段130から構成される。以下、情報処理装置1を構成する各部について説明する。
【0023】
距離計測手段110は、第一の取得手段として機能し、計測対象物体からの反射光を受光部で受光した結果から、三角法に基づき計測対象物体の奥行き情報を取得する手段である。尚、上記反射光は、計測対象物体に対して構造化光を投影した場合の反射光とする。構造化光は、光切断法、空間符号化法などに用いられる、計測対象物体の形状・位置・姿勢などを算出するための投影光である。
【0024】
ここでは、構造化光としてスリット光、受光部としてカメラを利用し、異なるスリット光とそれに対応する画像を複数撮像し、光切断法により距離画像を作成する。しかしながら、距離計測手法はこれに限るものではなく、空間コード化法やスポット光投影法、パターン投影法など三角法に基づくものであれば良い。
【0025】
よって、構造化光も、パターン光やスポット光など光源位置が特定可能であるような構造化された光であれば良い。空間コード化法では、例えばネガポジ反転したパターン光を投影し、ネガパターンを投影した際の画像とポジパターンを投影した際の画像の差から、両者の輝度の大小の入れ替わる交点を検出して三角法に基づき奥行き情報を算出する。この場合であっても、対象物体が半透明の場合は受光する輝度分布が等方的でないため交点の位置がずれ、算出される奥行き情報に誤差が生じる。スポット光投影法でも光切断法と同様に物体表面に投影した位置と観察位置がずれてしまう。
【0026】
また受光部はカメラだけに限るものではなく、入射光の方向が分かるようにスリットなどを取り付けたフォトダイオードなどの投影した光とその方向を検出できるものであれば良い。
【0027】
計測対象物体が半透明物体(表面化散乱が多い物体)である場合、先に述べたように受光部でとらえる光の輝度分布は物体表面のみで反射した場合と異なり、輝度分布のピーク位置がずれたり、分布が等方的ではなくなったりする。
【0028】
光切断法ではカメラで撮影した画像から投影したスリット光の位置を検出し、三角法で奥行き情報を算出する。スリット光は所定の幅をもつため、撮像画像を2値化し、スリット光領域の中心をスリット光の観察位置とする。半透明物体の場合、受光した輝度分布が等方的でないため観察されるスリット光の中心位置がずれ、算出される奥行き情報に誤差が生じる。
【0029】
また、スリット光の観察位置を中心位置ではなく、撮像画像に映ったスリット光のピーク位置とする場合であっても、ピーク位置が物体表面からずれて観察されるため算出される奥行き情報に誤差が生じる。この誤差を、後述する奥行き情報補正手段130で補正する。
【0030】
面情報取得手段120は、第二の取得手段として機能し、前記距離計測取得手段110で取得した対象物体の奥行き情報すなわち計測点の位置と、向きを算出する。距離計測を行っているため、計測点の3次元位置は明らかである。計測点の傾きは、計測点の法線方向と等価になる。
【0031】
計測点の法線方向は、注目計測点と近傍の計測点の位置に対して主成分分析を行い、第3主成分を法線方向とすることで算出できる。あるいは、注目する計測点及び近傍の計測点の位置に対して面当てはめを行うことにより、法線方向を算出しても良い。ただし、計測点の向きを表していれば、その表現方法は法線ベクトルに限る必要は無く、法線に直交する2つのベクトルであっても良い。
【0032】
奥行き情報補正手段130は、前記距離計測手段110で取得した対象物体の計測点群と前記面情報取得手段120で取得した各計測点の向き、および距離計測手段110の光源と受光部の位置姿勢に基づき、奥行き情報すなわち計測点の3次元位置を補正する。
【0033】
実際には、光源とカメラとの相対的な位置姿勢はキャリブレーションにより既知である。よって、計測点の位置と向きに応じた補正量を事前に用意しておいた補正量データベースから抽出し、計測点の3次元位置に加算して奥行き情報を補正し、出力する。前記補正量データベースの作成方法は後述するフローチャートで説明する。
【0034】
なお補正量をデータベースから抽出する際、補正量は点の位置姿勢が近ければその値も近いため、補正量データベースにキーである点の位置と向きが存在しない場合、位置姿勢が近い点の補正量から補間して補正量を算出しても良い。
【0035】
また点の位置姿勢および補正量をパラメーターとして多項式や三角関数に当て嵌め、点の位置姿勢を引数として補正量を返す補正関数を生成し、利用しても良い。
【0036】
前記補正量データベースや前記補正関数を利用する際に入力するのは、面情報取得手段120で取得した任意の点の位置と向きである。そこで、前記補正量データベースや前記補正関数を作成する際の、キーや引数とするのは対象物体の任意の点の真の位置と向きでなく、表面下散乱の影響を含んだ計測点から算出した点の位置と向きであっても良い。
【0037】
以下では、図3に示すフローチャートを用いて本実施形態における奥行き情報補正方法について説明する。尚、図3における左のフローは、オフラインでの処理として、前記補正量データベースを作成するための処理である。
【0038】
図3における右のフローは、ランタイムでの処理として、奥行き情報を補正するための処理である。
【0039】
以下では、図3における左のフローを用いて、前述した補正量データベースを作成するための処理を説明する。
【0040】
(ステップS0010)本ステップ(ステップS0010)では、計測対象物体の距離計測を行う。まず、計測対象物体もしくは、計測対象物体と同一素材の部材を傾きの制御が可能なステージに固定する。そして、距離計測手段110が、対象物体の位置姿勢を様々に変えた場合の奥行き情報(3次元位置)を計測する。
【0041】
次に、計測対象物体の表面で光が拡散反射するように計測対象物体を塗装する。そして、同じ条件で計測対象物体の位置姿勢を様々に変えて奥行き情報(3次元位置)を計測する。計測された奥行き情報は、ステップS0020の処理に渡される。
【0042】
(ステップS0020)本ステップ(ステップS0020)では、補正量データベースを作成する。まず、計測対象物体の表面上の任意の点について、ステップS0010で計測した奥行き情報から塗装前後の計測点の位置の差を補正量として、データベースに登録する。そして、データベースのキーとして、計測対象物体の位置姿勢を補正量データベースに登録する。
【0043】
尚、上述のステップS0010では、計測対象物体もしくは、計測対象物体と同一素材の部材をステージに固定した。しかしながら、計測対象物体もしくは同一素材の部材の位置姿勢を計測でき、かつ位置姿勢の変更が可能であれば、ステージを利用しなくても良い。
【0044】
例えば、計測対象物体を既知のパターンが印刷されたマーカー上に固定すれば、マーカーを撮影した画像から対象物体の位置姿勢を計測可能となる。よって、手動でマーカー及び計測対象物体の位置姿勢を変えて奥行き情報を計測しても良い。また計測対象物体を塗装して計測することに関しては、表面下散乱の影響を受けずに計測対象物体もしくは同一素材の部材の奥行き情報を計測できれば、塗装をしなくても良い。例えば、接触式センサを利用しても良いし、同一形状の異なる材質の物体を塗装後の物体の代わりに利用しても良い。また、計測対象物体が異方性反射を有する物体であって、当該異方性反射を補正する場合、計測対象物体と同一形状で異方性反射を有さない物体を用いても良い。
【0045】
次に、図3における右のフローを用いて、計測対象物体の奥行き情報を補正するランタイム処理について説明する。尚、本ランタイム処理は、図1で示される各手段によって実施されるものであるが、各処理を行うコンピュータプログラムが格納された記録媒体を有するコンピュータにより実施することも可能である。
【0046】
(ステップS1010)本ステップ(ステップS1010)では、距離計測手段110が、計測対象物体の奥行き情報(3次元位置)を計測する。計測された奥行き情報は、ステップS1020の処理に渡される。
【0047】
(ステップS1020)本ステップ(ステップS1020)では、面情報取得手段120が、ステップS1010で得た計測対象物体の奥行き情報を用いて、計測対象物体表面上の計測点の位置と向きを算出する。算出した計測点の位置と向きは、ステップS1030の処理に渡される。
【0048】
(ステップS1030)本ステップ(ステップS1030)では、奥行き情報補正手段130が、ステップS1020で得た計測点の位置と向きと前記補正量データベースを利用して奥行き情報を補正し、出力する。
【0049】
上記処理により、奥行き情報取得の誤差を適切に補正し、精度の良い奥行き情報を取得することが可能となる。特に、計測対象物体が、表面化散乱の多い物体である場合、奥行き情報取得の精度を顕著に高めることが可能となる。
【0050】
(第一の実施形態の変形例1)
本変形例では、面情報取得手段120と奥行き情報取得手段130を計測点の向きが収束するまで繰り返し、奥行き情報を補正する。
【0051】
第一の実施形態では、一回の奥行き情報の補正を行った。しかしながら、面情報取得手段120で取得する任意の計測点の位置と向きは、表面下散乱による誤差を含んだ計測点の位置から算出した値である。よって、その位置と向きも誤差を含んでいる可能性がある。
【0052】
そこで、本変形例では、ステップS1030で奥行き情報補正手段130によって補正した計測点の位置に対して、再度、ステップS1020に戻り面情報取得手段120により計測点の向きを算出する。
【0053】
そして、新たに算出した計測点の位置と向きに基づいて、ステップS1030で奥行き情報補正手段130により計測点の奥行き情報、すなわち計測点の3次元位置を補正する。本変形例では、この処理をステップS1020において面情報取得手段120により算出する計測点の位置と向きの変化が、所定の閾値以下になるまで繰り返し、奥行き情報を補正する。また、各繰り返し処理で有られた奥行き情報を平均化することにより、誤差低減を図っても良い。
【0054】
本変形例の処理を行うことにより、奥行き情報取得の誤差をより高精度に補正し、精度の良い奥行き情報を取得することが可能となる。
【0055】
(第一の実施形態の変形例2)
本変形例では、第一の実施形態の奥行き情報補正手段130において利用した補正量データベースに表面観測位置ずれ量を格納する。
【0056】
第一の実施形態では、計測対象物体の表面の任意の点について、計測対象物体が半透明である場合と不透明である場合の計測点の位置の差分を補正量データベースに登録して利用した。しかしながら、補正量データベースに登録するのは補正量そのものでなくても実装を行うことは可能である。
【0057】
例えば、計測対象物体表面へ入射した構造化光の位置と構造化光が観測された位置の差分、すなわち表面観測位置ずれ量をデータベースに登録して利用しても良い。計測対象物体の任意の点における表面観測位置ずれ量は、半透明物体の構造化光の観測位置と塗装して不透明にした場合の観測位置の差分をとることで取得できる。
【0058】
表面観測位置ずれ量を利用する場合、まず、前記奥行き情報補正手段130において、計測点の位置と傾きに基づいてデータベースから表面観測位置ずれ量を取得する。この処理を表面観測位置ずれ量取得手段とする。次に前記表面観測位置ずれ量を、受光部によって構造化光の反射を観測した位置に加算し、距離計測手段110と同様の三角法に基づき再度奥行き情報を算出し直し、奥行き情報を補正する。
【0059】
また、表面観測位置ずれ量は、第一の実施形態と同様に、位置姿勢が近い点の表面観測位置ずれ量から補間しても良い。また、点の位置姿勢および表面観測位置ずれ量をパラメーターとして多項式や三角関数に当て嵌め、点の位置姿勢を引数として表面観測位置ずれ量を返す関数を生成し利用しても良い。
【0060】
本変形例を用いることにより、三次元計測が必要な様々なケースに対応することが可能となる。
【0061】
(第一の実施形態の変形例3)
本変形例では、第一の実施形態の奥行き情報補正手段130において利用した補正量データベースを、事前計測ではなく光学現象のシミュレーションにより作成する。
【0062】
すなわち、図3の左フローのステップS0010において、前記距離計測手段110の奥行き情報算出の過程を模擬することにより、前記奥行き情報補正手段130で利用する補正量データベースを作成する。
【0063】
シミュレーションを行うにあたり、前記距離計測手段110の光源と受光部の位置は既知である。前記距離計測手段110の光切断法で投影するスリット光のパターンも既知とする。また、計測対象物体の形状および反射率や屈折率、散乱係数、吸収係数などの物体特性も既知とする。
【0064】
これらの情報から、光源からの投影パターン光が計測対象物体に入射し、物体内部で屈折、反射を繰り返し、物体表面から放出され、受光部であるカメラに入射する光をモンテカルロシミュレーションにより計算することが可能である。
【0065】
これにより、対象物体の様々な位置姿勢について、構造化光を投影した対象物体を受光部であるカメラで撮影した場合の画像を作成する。作成した画像を用いて、前記距離計測手段110と同じ三角法に基づく奥行き情報算出し方法を用いて奥行き情報を算出することが可能である。よって対象物体表面上の任意の点について、対象物体を半透明物体および不透明物体としてシミュレーションした場合の計測点の位置の差を補正量とし、そのときの点の位置姿勢をキーとして補正量データベースに登録する。
【0066】
ただし、計算機シミュレーション方法はモンテカルロシミュレーションに限るものではなく、表面下散乱や異方性反射などの光学現象を再現できればどのような手法でも良い。例えば後述する変形例4で用いたような単一散乱や多重散乱をモデル化した近似モデルを利用しても良い。
【0067】
また、シミュレーションの対象となる光学現象は光切断法だけに限ったものではない。空間コード化法やスポット光投影法など距離計測手段110で用いる計測方法を模擬すれば良い。本変形例を用いることにより、事前計測に必要な手間や時間を大幅に削減することが可能となる。
【0068】
(第一の実施形態の変形例4)
変形例2では、表面観測位置ずれ量を事前に実計測データから計測する例を示した。本実施形態の変形例では、事前にデータベースを用意せず、つまりステップS0010およびステップS0020のオフライン処理を行わずに、表面観測位置ずれ量をランタイム時に光学的なシミュレーションにより算出して利用する場合について説明する。
【0069】
半透明物体の見えは鏡面反射成分を除くと多重散乱と単一散乱の2つで近似的にモデル化できる([Henrik W. Jensen, Stephen R. Marschner, Marc Levoy and Pat Hanrahan,” A Practical Model for Subsurface Light Transport,” SIGGRAPH '01: Proceedings of the 28th annual conference on Computer graphics and interactive techniques, pp. 511−518, 2001.]を参照)。多重散乱は入射光が物体内部で複数回反射を繰り返した後、物体表面から放出される現象を表し、単一散乱とは物体に入射した光が物体内部で一度だけ反射し、物体表面から放出される現象を表す。前者の多重散乱は入射位置を中心として等方に散乱するため、物体に投影した光の反射光の強度分布がなだらかになるが、光の照射位置と観測位置のずれがほとんど起こらないため距離計測への影響は少ない。しかしながら後者の単一散乱は光の入射方向と観測方向、および物体の屈折率に応じて、受光部で撮影する構造化光の位置が物体表面に光が入射した位置からずれて観測される。
【0070】
そこで、単一散乱のモデルに基づいて前記表面観測位置ずれ量を算出する。光源と受光部であるカメラの位置姿勢は既知であるため、光源からの光の入射方向L及び受光部の観測方向Vは既知である。また対象物体の特性として屈折率ηを既知とする。さらに面情報取得手段120により奥行き情報を補正する点の位置と向きが既知であり、この点を局所的に平面と仮定すれば、単一散乱における光源から受光部までの光の経路は以下のように計算できる。
【0071】
図4に、単一散乱モデルを説明する概念図を示す。ここでは簡単のため2次元空間で考えるが、3次元空間でも同様である。空気に対する対象物体の相対屈折率をηとし、面情報取得手段120で取得した注目点の位置と向き、および光源方向Lと観測方向Vから得られる入射角をθi、出射角をθoとする。また光が対象物体の構成物質にぶつからずに直進する平均の距離(平均自由行程)をdとする。このとき対象物体への光の入射点Xiと出射点Xo間の距離s、つまり表面観測位置ずれ量は以下の式1で算出することが出来る。
【0072】
s = d {sin( arcsin(sin(θi)/η) ) + cos( arcsin(sin(θi)/η) ) tan( arcsin(sin(θo)/η) )}
(式1)
よってステップS1030の奥行き情報取得手段130における表面観測位置ずれ量取得手段では、式1に基づいて表面観測位置ずれ量を取得する。次にこの値を受光部によって構造化光の反射を観測した位置に加算し、距離計測手段110と同様の三角法に基づき再度奥行き情報を算出し直し、奥行き情報を補正し出力する。
【0073】
ただし、シミュレーション方法は上記の方法に限るものではなく、半透明物体の光学現象を再現できればどのような手法でも良い。例えば変形例3で用いたようなモンテカルロシミュレーションを利用した手法であっても良い。本変形例では、事前に補正量データベースを作成する手間を削減しつつ、奥行き情報取得の誤差を適切に補正し、精度の良い奥行き情報を取得することが可能となる。
【0074】
(第二の実施形態)
本実施形態では、第一の実施形態のように、面情報取得手段が、対象物体の奥行き情報から計測点の位置と向きを直接算出するのではなく、計測対象物体の形状モデルを計測点群にフィッティングして算出する。
【0075】
図5は、本実施形態における情報処理装置2の構成を示している。同図に示すように、情報処理装置2は、距離計測手段210、位置姿勢算出手段220、面情報取得手段230、奥行き情報補正手段240から構成される。以下、情報処理装置2を構成する各部について説明する。距離計測手段210、奥行き情報補正手段240は、第一の実施形態の場合と同様である。
【0076】
位置姿勢算出手段220は、距離計測手段210で得られた奥行き情報、すなわち計測された3次元点群に対して対象物体の形状モデルをフィッティングすることにより対象物体の位置姿勢を推定する。モデルフィッティングでは計測点と形状モデルの表面の対応を最近傍探索し、その対応間の距離を最小化する(非特許文献1を参照)。
【0077】
ただし、位置姿勢算出方法は上記の方法に限ったものではなく、対象物体の位置姿勢が算出できる手法であれば良い。例えば、Spin Images [A.E. Johnson and M. Hebert, ”Using Spin Images for Efficient Object Recognition in Cluttered 3D Scenes, ” IEEE Trans. on PAMI, vol.21, no.5, pp.433−449, 1999.] のような特徴量を距離画像から算出して形状モデルから算出した特徴量とマッチングし、対応付けた特徴量間の距離を最小化することにより対象物体の位置姿勢を算出しても良い。
【0078】
面情報取得手段230は、前記位置姿勢算出手段220で取得した対象物体の位置姿勢を利用し、対象物体表面上の任意の点の位置と向きを取得する。まず、奥行き情報の補正対象である計測点に対応する形状モデル表面上の点を最近傍探索や投影法により探索する。次に、見つかった形状モデル表面上の対応点の位置と法線を注目点の位置と向きとして出力し、奥行き情報補正手段240で利用する。
【0079】
奥行き情報補正手段240は第一の実施形態の場合と同様に、面情報取得手段230で取得した注目点の位置と向きを利用して距離計測手段210で計測した奥行き情報を補正し出力する。
【0080】
以下では、図6に示すフローチャートを用いて本実施形態における奥行き情報補正方法について説明する。
【0081】
事前にオフラインでの処理として、前記補正量データベースを作成するステップS2010とステップS2020は、第一の実施形態のステップS0010とS0020と同様である。次に、計測対象物体の奥行き情報を補正するランタイム処理について説明する。
【0082】
(ステップS3010)本ステップ(ステップS3010)では、距離計測手段210が、ステップS3010で得た対象物体の奥行き情報を計測し、ステップS3020とS3030に渡す。
【0083】
(ステップS3020)本ステップ(ステップS3020)では、位置姿勢算出手段220が、ステップS3010で得た対象物体の奥行き情報、すなわち計測された3次元点群に対して対象物体の形状モデルをフィッティングすることにより対象物体の位置姿勢を推定する。算出した対象物体の位置姿勢をステップS3030に渡す。
【0084】
(ステップS3030)本ステップ(ステップS3030)では、面情報取得手段230が、ステップS3020で得た対象物体の位置姿勢に基づいて、ステップS3010で得た計測点に対応する形状モデル表面上の対応点の位置と向きをステップS3040に渡す。
【0085】
(ステップS3040)本ステップ(ステップS3040)では、奥行き情報補正手段240が、ステップS3030で得た計測点の位置と向きと前記補正量データベースを利用して奥行き情報を補正し、出力する。
【0086】
また、第一の実施形態の変形例1と同様に、ステップS3020、S3030、S3040を繰り返し実行し、奥行き情報を補正しても良い。その場合は、まずステップS3040の奥行き情報補正手段240によって補正した計測点の位置に対して、再度ステップS3020で位置姿勢算出手段220を用いて対象物体の位置姿勢を求め、ステップS3030で面情報取得手段230を用いて計測点の位置と向きを算出する。そして新たに算出した計測点の位置と向きに基づいて、ステップS3040で奥行き情報補正手段240を用いて計測点の奥行き情報、すなわち計測点の3次元位置を補正する。この処理をステップS3020の位置姿勢算出手段220で求める対象物体の位置姿勢の変化がある閾値以下になるまで繰り返し、奥行き情報を補正する。
【0087】
また、上述の処理では、ステップS3020で位置姿勢算出手段220を用いて計測対象物体の位置姿勢を算出し、奥行き情報を補正し出力していた。しかしながら、出力するのは奥行き情報ではなく、位置姿勢算出手段220で算出した計測対象物体の位置姿勢であっても良い。
【0088】
(第三の実施形態)
第二の実施形態で説明した情報処理装置2の好適な適用事例としては、三次元計測装置をロボットアームの手先部に設置して、把持する物体を計測対象物体として、その位置姿勢を計測する目的に利用することがあげられる。以下、本実施形態における情報処理装置2の適用例を説明する。本実施形態におけるロボットアーム30は、ロボットコントローラ40の制御による駆動する。第一の実施形態で用いる光源10及び受光部20がロボットアーム30に治具により固定され、情報処理装置2により制御されている。ロボットアーム30は、対象物体50をアーム把持部によりピッキングする。情報処理装置2は、光源10及び受光部20を制御することにより、計測のための構造化光の投影と撮像を行い、補正量データベースを用いて奥行き情報を補正し、アーム把持部と対象物体50の相対位置姿勢を逐次推定する。その推定結果を、ロボットアーム30を制御するロボットコントローラ40に制御パラメーターとして伝える。情報処理装置2とロボットコントローラ40とはケーブルにより結線されている。ロボットアーム30は、対象物体50の推定位置姿勢に基づいて、対象物体50を把持する。
【0089】
なお、情報処理装置2の位置姿勢算出手段220において、モデルフィッティングに概略位置姿勢が必要な場合は、ロボットコントローラ40が制御する産業用ロボットアーム30の取り付け位置に、治具のためのオフセットを加えた値を伝えれば良い。また、モデルフィッティングで用いる形状モデルには、対象物体50のCADモデルを本情報処理装置2が読み込めるフォーマットに変換したものを入力しておく。なお、対象物体が変わった場合には、その都度、該当する形状モデルを入力することで、複数種類の対象物体に対応することができる。装置が事前の保持している形状モデルを選択しても構わないし、別の部品識別装置による部品種の認識結果を使って保持している形状モデルを切り替えても構わない。
【0090】
本実施形態の処理を行うことにより、ロボットアームによる半透明物体や異方性反射物体などの難計測物体の把持を正確に行うことが可能となり、ロボットアームによる精密組み立てが可能となる。
【0091】
<実施例の効果>
第一の実施形態では、半透明物体や異方性反射や鏡面反射する計測対象物体に対して光源から投影した構造化光の反射光を受光部で受光し、その反射光の情報から三角法を用いて、受光部から計測対象物体までの奥行き情報を得る際に、得られた奥行き情報を、計測対象物体の面の位置と向きに基づいて補正する。本実施形態により、奥行き情報取得の誤差を適切に補正し、精度の良い奥行き情報を取得することが可能となる。特に、計測対象物体が、表面化散乱や異方性反射、鏡面反射などが多い物体である場合、奥行き情報取得の精度を顕著に高めることが可能となる。
【0092】
第一の実施形態の変形例1では、複数の物体や材質、材質の厚さなどに応じた補正量データベースを事前に作成しておき、ランタイム処理の際に対象物体や対象物体の材質、対象物体の材質の厚さなどに応じて、補正量データベースを選択する。本変形例により、補正量データベースを共有することができ、対象物体の奥行き情報を補正するランタイム処理のみを行う際に、補正量データベースを作成する手間を軽減できる。
【0093】
第一の実施形態の変形例2では、奥行き情報の補正処理を繰り返し実行する。本変形例により、奥行き情報取得の誤差をより高精度に補正し、精度の良い奥行き情報を取得することが可能となる。
【0094】
第一の実施形態の変形例3では、補正量データベースとして、計測対象物体表面へ入射した構造化光の位置と構造化光が観測された位置の差分を登録し、利用する。本変形例は、光学現象をより直接的にモデル化しているため、データベースの光学的な解析がしやすくなる。またデータベースを関数近似しやすくなり、低次の関数での表現、あるいはより正確に関数近似することが可能となる。
【0095】
第一の実施形態の変形例4では、計測誤差の要因となる光学現象をシミュレーションして、補正量データベースを作成する。本変形例により、事前計測に必要な手間や時間を大幅に削減することが可能となる。
【0096】
第一の実施形態の変形例5では、事前にデータベースを用意せず、表面観測位置ずれ量をランタイム時に光学的なシミュレーションにより算出して利用する。本変形例により、事前に補正量データベースを作成する手間を削減しつつ、奥行き情報取得の誤差を適切に補正し、精度の良い奥行き情報を取得することが可能となる。
【0097】
第二の実施形態では、対象物体の奥行き情報から算出する複数の位置及び向きを、計測対象物体の形状モデルを計測点群にフィッティングして算出する。本実施形態により、より正確な計測点の位置及び向きを算出することが可能となり、奥行き情報取得の誤差をより高精度に補正し、精度の良い奥行き情報を取得することが可能となる。
【0098】
第三の実施形態では、本発明をロボットアームに取り付けて対象物体を把持する場合の例を示した。ロボットアームによる半透明物体や異方性反射物体などの難計測物体の把持を正確に行うことが可能となり、ロボットアームによる精密組み立てが可能となる。
【0099】
<定義>
本発明における距離計測手段は、光源から投影した構造化光を受光部で受光し、三角法に基づいて距離を計測する方法であればどのような方法でも良い。第一の実施形態で述べた光切断法であっても良いし、複数のグレイコードパターンを投影する空間コード化法([井口征士,佐藤宏介,“三次元画像計測,” 昭晃堂,pp79−119,1990.])やスポット光投影法、格子状のパターンを投影するグリッドパターン投影法([特願2009−289614])、基準線パターンを付加したマルチスリット光投影法([特願2010−053669])であっても良い。
【0100】
本発明における面情報取得手段は、前記距離計測手段で計測した対象物体の奥行き情報すなわち計測点の位置と向きを算出できればどのような方法でも良い。第一の実施形態で述べたように、計測点の位置は計測値そのままでも良いし、計測点の向きを近傍の計測点の位置に対して主成分分析を行い、第3主成分を法線方向とすることで算出しても良い。また、注目する計測点及び近傍の計測点の位置に対して面当てはめを行って計測点の向きを算出しても良いし、計測点群にモデルフィッティングを行って計測点の位置と向きを算出しても良い。
【0101】
本発明における奥行き情報補正手段は、光源と受光部の位置と、奥行き情報すなわち計測点の位置及び向きに基づき、計測点の3次元位置を補正する方法であればどのような方法でも良い。事前に作成しておいた計測点の位置及び向きに対応する補正量を保持する補正量データベースを用いて補正しても良いし、対象物体の光学特性情報を利用して表面化散乱や異方性反射、鏡面反射などによる計測誤差の光学シミュレーションを行って補正しても良い。また補正量そのものでなく、計測対象物体表面へ入射した構造化光の位置と構造化光が観測された位置の差分をデータベースとして保持して利用しても良い。また、補正量データベースは事前に計測して作成しても良いし、対象物体の光学特性情報を利用して計測誤差の光学シミュレーションを行って作成しても良い。また、複数の物体や材質、材質の厚さなどに応じた補正量データベースを事前に作成しておき、対象物体や対象物体の材質、対象物体の材質の厚さなどに応じて、補正量データベースを選択し、補正しても良い。
【産業上の利用可能性】
【0102】
本発明は、物体の3次元形状計測や、物体認識、ロボットの自己位置推定、ロボットと物体との間の相対的な位置及び姿勢を推定するのに利用することができる。
【符号の説明】
【0103】
1 情報処理装置1
110 距離計測手段
120 面情報取得手段
130 奥行き情報補正手段
2 情報処理装置2
210 距離計測手段
220 面情報取得手段
230 奥行き情報補正手段
240 位置姿勢算出手段

【特許請求の範囲】
【請求項1】
構造化光が投影された計測対象物体からの反射光の情報と、前記構造化光の光源の位置と、前記反射光を受光して前記反射光の情報を取得する受光部の位置とを用いた三角法により、前記計測対象物体の表面の複数の位置を取得する第一の取得手段と、
前記複数の位置に基づき、前記計測対象物体の表面の位置および向きを取得する第二の取得手段と、
前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正する補正手段と、を有することを特徴とする情報処理装置。
【請求項2】
前記複数の位置を取得する際の計測の誤差に関する情報は、前記計測対象物体の表面下散乱に関する情報と、前記計測対象物体の異方性反射に関する情報と、前記受光部のキャリブレーション精度に関する情報との少なくともいずれか一つであることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記構造化光は、パターン投影法によるパターン光と、光切断法によるスリット光との少なくともいずれか一つであることを特徴とする請求項1もしくは2のいずれか1項に記載の情報処理装置。
【請求項4】
前記補正手段は、前記光源の位置と、前記受光部の位置と、前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとの対応情報を保持する保持手段を有し、
前記補正手段は、前記対応情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記第二の取得手段は、前記複数の位置に対して前記計測対象物体のモデルを当てはめることにより、前記計測対象物体の表面の位置および向きを取得することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
前記補正手段は、計算機シミュレーションにより、前記複数の位置を取得する際の計測の誤差に関する情報を取得することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
【請求項8】
前記補正手段により補正された前記複数の位置の少なくとも一つに前記計測対象物体のモデルを当てはめることにより、前記計測対象物体の位置および姿勢の少なくとも一つを取得する計測手段を有することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
【請求項9】
前記補正手段は、前記構造化光の前記計測対象物体への入射位置と前記反射光の観測位置とのずれ量と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
【請求項10】
前記光源と、
前記受光部と、
前記請求項1乃至9のいずれか1項に記載の情報処理装置とを有することを特徴とする三次元計測装置。
【請求項11】
計測対象物体に対して構造化光を投影する投影手段と、
前記計測対象物体からの前記構造化光の反射光を撮像する撮像部と、
前記投影手段の位置姿勢と、前記撮像部の位置姿勢と、前記撮像部により取得された撮像画像とから、三角法により前記計測対象物体の表面の複数の位置を取得する第一の取得手段と、
前記複数の位置から、前記複数の位置の近傍における前記計測対象物体の表面の傾きを取得する第二の取得手段と、
前記計測対象物体の表面の光学特性と前記計測対象物体の表面の傾きとから、前記複数の位置の少なくとも一つを補正する補正手段と、を有することを特徴とする三次元計測装置。
【請求項12】
第一の取得手段が、構造化光が投影された計測対象物体からの反射光の情報と、前記構造化光の光源の位置と、前記反射光を受光して前記反射光の情報を取得する受光部の位置とを用いた三角法により、前記計測対象物体の表面の複数の位置を取得する第一の取得工程と、
第二の取得手段が、前記複数の位置に基づき、前記計測対象物体の表面の位置および向きを取得する第二の取得工程と、
補正手段が、前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正する補正工程と、を有することを特徴とする情報処理方法。
【請求項13】
コンピュータを、
構造化光が投影された計測対象物体からの反射光の情報と、前記構造化光の光源の位置と、前記反射光を受光して前記反射光の情報を取得する受光部の位置とを用いた三角法により、前記計測対象物体の表面の複数の位置を取得する第一の取得手段と、
前記複数の位置に基づき、前記計測対象物体の表面の位置および向きを取得する第二の取得手段と、
前記複数の位置を取得する際の計測の誤差に関する情報と、前記計測対象物体の表面の位置および向きとに基づき、前記複数の位置の少なくとも一つを補正する補正手段と、を有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−19890(P2013−19890A)
【公開日】平成25年1月31日(2013.1.31)
【国際特許分類】
【出願番号】特願2012−133628(P2012−133628)
【出願日】平成24年6月13日(2012.6.13)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】