JP2013053920A - 3次元物体位置検出装置、そのプログラム - Google Patents
3次元物体位置検出装置、そのプログラム Download PDFInfo
- Publication number
- JP2013053920A JP2013053920A JP2011192133A JP2011192133A JP2013053920A JP 2013053920 A JP2013053920 A JP 2013053920A JP 2011192133 A JP2011192133 A JP 2011192133A JP 2011192133 A JP2011192133 A JP 2011192133A JP 2013053920 A JP2013053920 A JP 2013053920A
- Authority
- JP
- Japan
- Prior art keywords
- dimensional
- dictionary data
- posture
- collation
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Length Measuring Devices By Optical Means (AREA)
Abstract
【課題】3次元辞書データから、対象物に関して測定されない領域に該当するデータを除去することで、高精度・高速な照合・認識を実現する。
【解決手段】概要姿勢の推定を行い(S3)、3次元辞書データを概要姿勢に応じて姿勢変換して、「概要変換後の3次元辞書データP’」を作成する(S4)。続いて「概要変換後の3次元辞書データP’」の点群を、測定器から対象物への距離方向と垂直な仮想平面へ投影する(S5)。そして、仮想平面を多数の矩形領域に分割し、各矩形領域毎に、その矩形領域に属する(投影された)複数の点のなかから測定器に最も近い点のみを選択し、選択された点のみから構成される3次元辞書データを再構築することにより、3次元辞書データから対象物に関して測定されない領域に該当するデータを除去する(S6)。
【選択図】図2
【解決手段】概要姿勢の推定を行い(S3)、3次元辞書データを概要姿勢に応じて姿勢変換して、「概要変換後の3次元辞書データP’」を作成する(S4)。続いて「概要変換後の3次元辞書データP’」の点群を、測定器から対象物への距離方向と垂直な仮想平面へ投影する(S5)。そして、仮想平面を多数の矩形領域に分割し、各矩形領域毎に、その矩形領域に属する(投影された)複数の点のなかから測定器に最も近い点のみを選択し、選択された点のみから構成される3次元辞書データを再構築することにより、3次元辞書データから対象物に関して測定されない領域に該当するデータを除去する(S6)。
【選択図】図2
Description
本発明は、対象物の3次元測定データを3次元辞書データと照合することで、対象物の3次元位置・姿勢を認識する装置に関する。
例えば産業用ロボット等の各種機械で自動化を行う場合(例えばバラ積みされた複数の対象物を、順次、ロボットハンドで把持する、バラ積みピッキングシステム等)、対象物の位置・姿勢の認識が必要となる。対象物の位置・姿勢を認識する手法として、例えば、以下の公知手法が知られている。
すなわち、例えば、対象物をステレオビジョン方式のカメラやレーザースキャナー等の3次元計測器により測定して3次元測定データを得る。そして、この3次元測定データと、事前に用意した対象物の全体像の3次元データ(3次元辞書データ)との間において、繰り返し処理(ICP:Iterative Closest Points)により両者の間の誤差を最小とする剛体変換行列を求める照合を行うことで、対象物の位置・姿勢を認識する。例えば、この様な手法は、公知・一般的である。
また、上記ICPによる照合を行う前に、別の手法によって対象物のおおよその3次元姿勢(概要姿勢)を推定しておき、概要姿勢が既知の対象物と3次元辞書データの間でICP照合を行うことも、一般的に行われている公知手法である。概要姿勢を推定する従来技術の例は、特許文献1、2、非特許文献1等に開示されている。
上記3次元辞書データは、運用開始前に事前に、例えば対象物の三次元CADデータに基づいて作成されるか、あるいは対象物を様々な方向から上記3次元計測器により測定した結果に基づいて作成されるものであり、上記の通り、対象物の全体像の3次元データとなっている。
一方、運用中に各対象物毎に測定する上記3次元測定データは、対象物の全体像ではなく、測定器側から見える部分(基本的に、1回の測定で計測可能な部分)のみから構成される(上記3次元辞書データ作成の際のような、対象物を様々な方向から複数回計測するような手間・時間が掛かることは、運用時には行なえない)。
そこで、事前に用意される3次元辞書データは全体像であるが、3次元測定データとの照合に用いる3次元辞書は、全体像ではなく、その一部のみとすることが望ましい。すなわち、上記全体像から、対象物に関して測定器側から見ることのできない部分(測定されない部分)に係るデータを除去することで、測定した3次元測定データと同じ部分のみを残したものを、上記照合に用いる3次元辞書とすることが望ましい。これは、測定した3次元測定データに含まれない部分の点を含んだ辞書(つまり、上記全体像)と、測定した3次元測定データとの照合を行うと、測定データには含まれないが辞書には含まれる部分の点が、照合の高精度、高速性を阻害する要因となるからである。
3次元辞書データから、対象物の測定されない領域に該当するデータを除去する手法として、ポリゴンモデルである辞書を用意し、概要姿勢から計算できる測定器から対象物方向へのベクトルとポリゴン面の法線ベクトルの内積から、測定器から見ることが出来る面を抽出し、見えない面に属する点を除去する方法がある(特許文献1)。
また、3次元データとして、ポリゴンモデルを用いることなく、点群データを用いる方式が知られている。この場合、事前に作成される3次元辞書データも、3次元測定データも、多数の点(その3次元座標データ)で構成されることになる。ポリゴンモデルを用いる場合、面情報及び法線情報を必要とするが、点群データを用いる方式では、この様な情報は必要ない。点群データを用いる方式では、基本的に、各点の三次元座標データがあればよく、従って、データ量が少なくて済み、処理負荷も少なくて済む。
Andrew Edie Johnson, Martial Hebert "Using Spin Images for Efficient Object Recognition in Cluttered 3D Scenes"
特許文献1の手法では、ポリゴンモデルの3次元辞書データを前提としているので、この手法を(ポリゴンモデルを用いない)上述した点群データ(3次元辞書/測定データ)を用いる方式において利用する場合、ICP照合処理には必要ないにもかかわらず、対象物の測定されない領域に該当するデータを除去するためだけに、点群からポリゴンを再計算しなければならず、計算量が多くなり効率が悪い。
本発明の課題は、ポリゴンモデルを用いず点群の3次元辞書データを使用して対象物の位置・姿勢を認識する3次元物体位置検出装置であって、3次元辞書データから、対象物に関して測定されない領域に該当するデータを除去してから、照合を行うことで、高精度・高速な照合・認識を実現する3次元物体位置検出装置等を提供することである。
本発明の3次元物体位置検出装置は、対象物を3次元計測器により所定方向から測定した測定データであって点群より成る3次元測定データと、予め作成され記憶されている対象物の全体像の辞書データであって点群より成る3次元辞書データとに基づいて、対象物の位置・姿勢を認識する3次元物体位置検出装置であって、前記3次元測定データに基づいて、前記対象物の概略的な位置・姿勢を示す概要姿勢を推定する概要姿勢推定手段と、前記3次元辞書データの点群を前記概要姿勢を用いて剛体変換して成る、概要変換後の3次元辞書データを生成する概要姿勢変換手段と、前記概要変換後の3次元辞書データの点群から、前記3次元測定器からの視野空間を分割した複数の小視野角毎に最も測定器に近い点を抽出して、該抽出した点のみより成る照合用の3次元辞書データを作成する照合用辞書データ作成手段と、該照合用の3次元辞書データを用いて前記3次元測定データとの照合処理を行うことで、対象物の位置・姿勢を推定する詳細姿勢推定手段とを有する。
上記3次元物体位置検出装置では、予め作成・記憶されている3次元辞書データから、対象物に関して測定されない領域に該当するデータを除去してから、照合処理を行うことで、高精度・高速に位置・姿勢の認識を行うことができる。
本発明の3次元物体位置検出装置等によれば、ポリゴンモデルを用いず点群の3次元辞書データを使用して対象物の位置・姿勢を認識する3次元物体位置検出装置であって、3次元辞書データから、対象物に関して測定されない領域に該当するデータを除去してから、照合を行うことで、高精度・高速な照合・認識を実現することができる。
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本例の3次元物体位置検出装置10の構成図である。
図示の例の3次元物体位置検出装置10は、3次元データ測定部11、概要姿勢推定部12、3次元辞書編集部13、詳細姿勢推定部14の各種機能部と、データベースとしての3次元辞書蓄積部15を有している。
図1は、本例の3次元物体位置検出装置10の構成図である。
図示の例の3次元物体位置検出装置10は、3次元データ測定部11、概要姿勢推定部12、3次元辞書編集部13、詳細姿勢推定部14の各種機能部と、データベースとしての3次元辞書蓄積部15を有している。
尚、3次元物体位置検出装置10は、例えばCPU/MPU等の演算プロセッサ、メモリ/ハードディスク等の記憶装置、入出力インタフェース等(何れも不図示)を有している。この記憶装置が上記データベースに相当するが、記憶装置には更に所定のアプリケーションプログラムが記憶されている。上記演算プロセッサが、このアプリケーションプログラムを読出し・実行することにより、上記各種機能部11〜14の処理が実現される(特に後述する図2、図6、図7、図8のフローチャートの処理が実現される)。
3次元辞書蓄積部15には、予め、任意の測定対象物1に係る3次元辞書データが記憶されている。尚、既に背景技術で述べたように、3次元辞書データは、事前に、例えば測定対象物1の三次元CADデータに基づいて作成されるか、あるいは、事前に、測定対象物1を様々な方向から3次元データ測定部11によって複数回測定した結果に基づいて作成されるものであり、上記の通り、測定対象物1の全体像の3次元データとなっている。
3次元データ測定部11は、任意の測定対象物1の形状・姿勢をスキャンする構成であり、具体例は上述した従来のステレオビジョン方式のカメラやレーザースキャナー等の3次元計測器等を有する構成である。
そして、既に述べたように、3次元データ測定部11による測定対象物1の計測データ(3次元測定データ)は、測定対象物1の全体像ではなく、3次元データ測定部11側から見える(計測可能な)部分に係わるデータとなる。換言すれば、測定対象物1に関して測定器側(3次元データ測定部11側)から見ることのできない部分(測定できない部分)についての計測データは、得られないことになる。
また、上記3次元測定データ、3次元辞書データは、何れも、ポリゴンモデルを用いることなく、点群から構成されるものである。点群は、各点が(x,y,z)の直交座標系で表される点の集合体である。
概要姿勢推定部12は、3次元データ測定部11による測定対象物1の計測データ、3次元辞書データ等に基づいて、上述した従来技術によって測定対象物1の概要姿勢の推定を行う処理機能部である。
3次元辞書編集部13は、上記測定対象物1の計測データ、測定対象物1の概要姿勢の推定結果、3次元辞書蓄積部15に記憶されている3次元辞書データ等に基づいて、測定器(3次元データ測定部11)から見えない部分の点を除去した3次元辞書データ(照合用の3次元辞書データ)を生成する。
3次元辞書編集部13は、例えば図示の概要姿勢変換部13a、仮想平面への投影部13b、照合用3次元辞書データ作成部13cの各種機能部を有するものであってもよい。これら各種機能部によって上記照合用の3次元辞書データが生成される。これら各種機能部については後述する。
詳細姿勢推定部14は、上記照合用の3次元辞書データ等を用いて、例えば上述した既存の繰り返し処理(ICP)により測定対象物1の位置・姿勢を厳密に認識する(詳細姿勢を推定する)。
以下、上記3次元物体位置検出装置10に係わる処理について、2つの実施例について説明する。まず、実施例1について説明する。
図2は、実施例1における3次元物体位置検出装置10の処理フローチャート図である。図示の各種処理のうち、ステップS1は事前に行っておくべき処理であり、ステップS2以降の各処理は、任意の測定対象物1が計測されるときに、その都度、照合処理(詳細姿勢推定部14の処理)の前に実施する処理である
(1)3次元辞書データの作成
事前に、3次元辞書データ(点群)を作成する(ステップS1)。作成方法は、既に述べた通りであり、作成された3次元辞書データは上記3次元辞書蓄積部15に記憶される。
図2は、実施例1における3次元物体位置検出装置10の処理フローチャート図である。図示の各種処理のうち、ステップS1は事前に行っておくべき処理であり、ステップS2以降の各処理は、任意の測定対象物1が計測されるときに、その都度、照合処理(詳細姿勢推定部14の処理)の前に実施する処理である
(1)3次元辞書データの作成
事前に、3次元辞書データ(点群)を作成する(ステップS1)。作成方法は、既に述べた通りであり、作成された3次元辞書データは上記3次元辞書蓄積部15に記憶される。
本例の3次元辞書データは、点群で構成される下記の辞書データDであるものとする。
D={dx(i),dy(i),dz(i)} ; (iは点番号;i=1〜M)
つまり、辞書データDは、M個の点から成る点群データであり、各点の3次元座標データを有するものである。尚、D(i)={dx(i),dy(i),dz(i)}等と表現してもよい。
D={dx(i),dy(i),dz(i)} ; (iは点番号;i=1〜M)
つまり、辞書データDは、M個の点から成る点群データであり、各点の3次元座標データを有するものである。尚、D(i)={dx(i),dy(i),dz(i)}等と表現してもよい。
尚、例えばM個=1万個程度が一例として考えられるが、勿論、この例に限るものではない。
(2)3次元点群データの測定
測定器(3次元データ測定部11)によって測定対象物1の測定を行い、3次元測定データ(測定データP)を取得する(ステップS2)。測定データPも、3次元辞書データと同様、点群で構成され、下記の通りN個の点から成る点群データである。
(2)3次元点群データの測定
測定器(3次元データ測定部11)によって測定対象物1の測定を行い、3次元測定データ(測定データP)を取得する(ステップS2)。測定データPも、3次元辞書データと同様、点群で構成され、下記の通りN個の点から成る点群データである。
P={px(j),py(j),pz(j)} ; (jは点番号;j=1〜N)
尚、M>Nとなる。例えば、N個=3000個程度が一例として考えられるが、勿論、この例に限るものではない。
尚、M>Nとなる。例えば、N個=3000個程度が一例として考えられるが、勿論、この例に限るものではない。
(3)概要姿勢の推定
上述した既存の繰り返し処理(ICP:Iterative Closest Points)による照合処理、すなわち詳細姿勢推定部14による詳細姿勢推定処理を行う前に、ステップS3〜S5の処理を行って、照合用の辞書データを作成する。
上述した既存の繰り返し処理(ICP:Iterative Closest Points)による照合処理、すなわち詳細姿勢推定部14による詳細姿勢推定処理を行う前に、ステップS3〜S5の処理を行って、照合用の辞書データを作成する。
まず、概要姿勢推定部12によって、測定対象物1の概略的な3次元姿勢(概要姿勢)を推定する(ステップS3)。概要姿勢を推定する処理は、例えば特許文献1、2、非特許文献1等の従来技術を用いればよく、ここでは説明しないが、概要姿勢は、例えば、3×3回転行列Rと、3×1併進行列Tを用いて、
P≒R・D+T
等と表現できる。概要姿勢推定部12は、ステップS3の処理結果として、例えば上記RとTを、3次元辞書編集部13に対して出力する。3次元辞書編集部13は、これらRとTを用いて、後述する概要変換後の3次元辞書データP’を求めることになる。
P≒R・D+T
等と表現できる。概要姿勢推定部12は、ステップS3の処理結果として、例えば上記RとTを、3次元辞書編集部13に対して出力する。3次元辞書編集部13は、これらRとTを用いて、後述する概要変換後の3次元辞書データP’を求めることになる。
但し、上記の式「P≒R・D+T」は、すべてのiとjに対して成立するわけではない。たとえば、測定器から見えない部分に係わる点は、3次元辞書データDには含まれるが3次元測定データ(測定データ)Pには含まれないので、i−j対応関係は成立しない。
そこで、以下のステップS4〜S6の処理によって、3次元辞書データDから、このような測定器から見えない部分の点を取り除くことが必要となる。尚、以下のステップS4〜S6の処理は、3次元辞書編集部13が実行する。
(4)3次元辞書データの概要姿勢への変換
3次元辞書編集部13の上記概要姿勢変換部13aは、3次元辞書データDを概要姿勢に基づいて姿勢変換(剛体変換)して成る「概要変換後の3次元辞書データP’」を作成する(ステップS4)。これは例えば上記(3)で説明したRとTを用いて、下記の通り「概要変換後の3次元辞書データP’」を算出する。
3次元辞書編集部13の上記概要姿勢変換部13aは、3次元辞書データDを概要姿勢に基づいて姿勢変換(剛体変換)して成る「概要変換後の3次元辞書データP’」を作成する(ステップS4)。これは例えば上記(3)で説明したRとTを用いて、下記の通り「概要変換後の3次元辞書データP’」を算出する。
P’=R・D+T ;(P’(i)=R・D(i)+T)
ただし、P’(i)={p’x(i),p’y(i),p’z(i)}、iは点番号(i=1〜M)。つまり、上記辞書データDの各点(={dx(i),dy(i),dz(i)})を、それぞれ、RとTを用いて座標変換することで、上記P’(i)が生成される(よって、当然、P’の点群の点の数は、辞書データDと同じくM個となる)。
ただし、P’(i)={p’x(i),p’y(i),p’z(i)}、iは点番号(i=1〜M)。つまり、上記辞書データDの各点(={dx(i),dy(i),dz(i)})を、それぞれ、RとTを用いて座標変換することで、上記P’(i)が生成される(よって、当然、P’の点群の点の数は、辞書データDと同じくM個となる)。
(5)変換した3次元辞書データの仮想平面への投影
3次元辞書編集部13の上記仮想平面への投影部13bは、上記「概要変換後の3次元辞書データP’」の各点(={p’x(i),p’y(i),p’z(i)})(i=1〜M)を、仮想平面上に投影する。本例では、「概要変換後の3次元辞書データP’」の点群を、測定器から対象物への距離方向(またはZ軸方向)と垂直な仮想平面へ投影する(ステップS5)。これは、測定器からの視野空間を分割した複数の小視野角ごとに距離の最も小さい(測定器に近い)点を抽出する為に行うものである。詳しくは後に図3、図4を参照して説明する。
3次元辞書編集部13の上記仮想平面への投影部13bは、上記「概要変換後の3次元辞書データP’」の各点(={p’x(i),p’y(i),p’z(i)})(i=1〜M)を、仮想平面上に投影する。本例では、「概要変換後の3次元辞書データP’」の点群を、測定器から対象物への距離方向(またはZ軸方向)と垂直な仮想平面へ投影する(ステップS5)。これは、測定器からの視野空間を分割した複数の小視野角ごとに距離の最も小さい(測定器に近い)点を抽出する為に行うものである。詳しくは後に図3、図4を参照して説明する。
(6)測定器から見えない点を除去した3次元辞書データの作成
3次元辞書編集部13の上記仮想平面への投影部13b及び照合用3次元辞書データ作成部13cは、上記のように、測定器からの視野空間を分割した複数の小視野角ごとに距離の最も小さい(測定器に近い)点を抽出する為に、例えば一例としては、ステップS5,S6の処理を行うものである。尚、この処理は、点群データに対して隠面消去(陰面消去)を行うものと見做すこともできる。画素単位で隠面消去(陰面消去;陰点除去)を行う方法としては、例えばZバッファ法などが知られており、本処理は、Zバッファ法と類似する処理であると見做してよい。
3次元辞書編集部13の上記仮想平面への投影部13b及び照合用3次元辞書データ作成部13cは、上記のように、測定器からの視野空間を分割した複数の小視野角ごとに距離の最も小さい(測定器に近い)点を抽出する為に、例えば一例としては、ステップS5,S6の処理を行うものである。尚、この処理は、点群データに対して隠面消去(陰面消去)を行うものと見做すこともできる。画素単位で隠面消去(陰面消去;陰点除去)を行う方法としては、例えばZバッファ法などが知られており、本処理は、Zバッファ法と類似する処理であると見做してよい。
上記隠面消去(陰面消去)の為に、本例では、まず上記仮想平面への投影部13bによって上記ステップS5の処理を行ったうえで、上記照合用3次元辞書データ作成部13cが、例えば、上記仮想平面を多数の矩形領域に分割し、各矩形領域毎に、その矩形領域に属する(投影された)複数の点のなかから測定器に最も近い点のみを選択し、選択された点のみから構成される3次元辞書データを再構築することにより、3次元辞書データから対象物に関して測定されない領域(“測定器から見えない領域”や単に“測定されない領域”等と記す場合もある)に該当するデータを除去する(ステップS6)。
このようにして再構築された3次元辞書データの点の集合は、元々の3次元辞書データDの点群から、測定器から見えない領域に該当する点を除去した点の集合となり、求めるべき3次元辞書データ(照合用の3次元辞書データ)となる。上記詳細姿勢推定部14は、この「照合用の3次元辞書データ」を用いて、測定対象物1の厳密な/正確な位置・姿勢を求めて、これを出力(表示等)することになる。
尚、1つの点のみが投影された矩形領域があった場合には、例えばこの矩形領域に関してはこの1つの点が選択されることになる。
また、尚、上記矩形領域は、例えば、XY平面として構成される仮想平面を、X方向、Y方向それぞれ一定の区分で分割して構成する。
また、尚、上記矩形領域は、例えば、XY平面として構成される仮想平面を、X方向、Y方向それぞれ一定の区分で分割して構成する。
上記ステップS5、S6の処理について、以下、図3、図4を参照して説明する。
まず、図3を参照して、本例で前提とする計測座標系について説明する。
上述した点群の3次元座標は、図3に示す3次元座標系における座標を意味する。
まず、図3を参照して、本例で前提とする計測座標系について説明する。
上述した点群の3次元座標は、図3に示す3次元座標系における座標を意味する。
図3に示す3次元座標系は、測定器を原点(=(0,0,0))とする、測定器から測定可能な範囲の3次元領域に係わる座標系である。更に、測定器から垂直方向(重力方向:測定器からの視線方向)をZ軸とするものであり、従って、上記仮想平面がXY平面である場合には、仮想平面は上記垂直方向(重力方向)に直交する平面ということになる。尚、ステレオカメラの場合、複数あるカメラのなかの何れか1つを原点(=(0,0,0))とする。
また、上記Z軸方向を距離方向とする。従って、後述する各点と測定器との距離(測定器に遠い/近い等)は、各点の3次元座標(投影前の座標)におけるz座標によって判断できる。例えば図示の“距離が最も小さい点”は、点群のなかでそのz座標の値が最も小さい点であると言える。
そして、例えば図4に示すように、上記のような仮想平面上に、「概要変換後の3次元辞書データP’」の各点(={p’x(i),p’y(i),p’z(i)})を投影する。
尚、3次元の点群を所定の平面上に投影すること自体は、既存技術であり、ここでは特に説明しないが、例えば投影変換がよく知られており、投影変換の一種である透視投影変換等を用いればよい。尚、よく知られているように、投影変換とは3次元形状を二次元平面上に投影する変換技術であり、透視投影変換は視点をz軸上においてz軸に垂直な面に投影する変換技術である。尚、図4には、辞書データP’の点群のうち、任意の同じ矩形領域内に投影されることになる2つの点(点1、点2)のみを示すものとする。
尚、3次元の点群を所定の平面上に投影すること自体は、既存技術であり、ここでは特に説明しないが、例えば投影変換がよく知られており、投影変換の一種である透視投影変換等を用いればよい。尚、よく知られているように、投影変換とは3次元形状を二次元平面上に投影する変換技術であり、透視投影変換は視点をz軸上においてz軸に垂直な面に投影する変換技術である。尚、図4には、辞書データP’の点群のうち、任意の同じ矩形領域内に投影されることになる2つの点(点1、点2)のみを示すものとする。
ここで、上記矩形領域について説明しておく。矩形領域は、仮想平面を矩形状に複数に分割して成る分割領域であり、図4の例では7×4=28個の矩形領域がある。各矩形領域の大きさは“wx×wy”とする。尚、wxはX方向の長さ、wyはY方向の長さである。また、各矩形領域には識別番号(矩形領域番号というものとする)が与えられるものとする。この矩形領域番号は、例えば任意の(例えば左上角の)矩形領域を原点とし、この原点からX方向にa番目、Y方向にb番目の矩形領域の矩形領域番号は、例えば(a,b)等としてよい。この様に、例えば一例としては、矩形領域番号は座標形式で表現できるが、勿論、この様な例に限らない。
そして、「概要変換後の3次元辞書データP’」の点群の各点を、それぞれ、仮想領域上へ投影する。そして、投影後の座標を用いて、仮想領域上の各矩形領域毎に、その矩形領域内に投影された全ての点を判別して、例えばこれら各点の点番号iを、その矩形領域の矩形領域番号に対応付けて記録する。
その後、これら記録データを参照して、各矩形領域毎に、その矩形領域内に投影された点が複数ある場合には(その矩形領域番号に対応付けて記録された点番号iが複数ある場合には)、これら複数の点のなかで最も測定値に近い点(上記の通り、ここでは、最もz座標値(=p’z(i))が小さい点となる)を選択する(勿論、これは投影前の座標を用いて行う)。そして、選択された点のみを「照合用の3次元辞書データ」として記憶する。
ここで、図4の例では、上述したように(図示のように)、上記点1、点2は、任意の同じ矩形領域内に投影されることになる。そして、図より明らかなように、点1の方が点2よりも測定器に近いので、点1が選択されて「照合用の3次元辞書データ」として記憶されることになる。
尚、任意の矩形領域内に投影された点が1つのみである場合には、この1つの点が選択されて「照合用の3次元辞書データ」として記憶されるようにしてもよい。また、任意の矩形領域内に投影された点が0個である場合には、当然、その矩形領域に関しては何も選択されないことになる。
上述したようにして、その領域内に1以上の点が投影された全ての矩形領域について、それぞれ、測定器に最も近い点のみを選択して「照合用の3次元辞書データ」として記憶することで、これら選択された点群から成る「照合用の3次元辞書データ」が生成されることになる。この「照合用の3次元辞書データ」の点群は、基本的には、測定器から見える部分に係わる点から成るものである(換言すれば、3次元辞書データから、対象物1に関して測定されない領域に該当するデータを除去したものである)。
本手法では、上述した様に、ポリゴンモデルを用いず点群の3次元辞書データを使用して対象物の位置・姿勢を認識する3次元物体位置検出装置において、3次元辞書編集部13が、3次元辞書データから、対象物に関して測定されない領域に該当するデータを除去して成る「照合用の3次元辞書データ」を作成し、詳細姿勢推定部14がこの「照合用の3次元辞書データ」を用いて照合を行うことで、高精度・高速な照合・認識(位置・姿勢の詳細推定)を実現することができる。
次に、以下、実施例2について説明する。
尚、実施例2に関して、上記実施例1と略同様の内容に関しては、その説明を簡略化もしくは省略する。
尚、実施例2に関して、上記実施例1と略同様の内容に関しては、その説明を簡略化もしくは省略する。
実施例2は、測定データが対象物の一部のみである場合に対応するものである。例えば、3次元測定データが、対象物のエッジ部のみを測定したデータである場合等である。
ここで、対象物の表面の反射等の影響で、面部分の測定結果が得られず、エッジ部分しか測定できない場合が有り得る。これは、表面に模様等がある場合は起こり難いが、そうでない場合には起こり得る。但し、この様な場合でも、辞書データは、例えばCADデータに基づいて作成する場合や、模様等を付して測定する等した場合には、対象物の全領域のデータとすることも可能である。
ここで、対象物の表面の反射等の影響で、面部分の測定結果が得られず、エッジ部分しか測定できない場合が有り得る。これは、表面に模様等がある場合は起こり難いが、そうでない場合には起こり得る。但し、この様な場合でも、辞書データは、例えばCADデータに基づいて作成する場合や、模様等を付して測定する等した場合には、対象物の全領域のデータとすることも可能である。
尚、上記“対象物の一部のみ(例えばエッジ部のみ)”とは、対象物に関して測定器から見える領域に係わる話であることを前提としている。つまり、実施例2の場合、3次元測定データは、測定器から見える領域であって且つ“対象物の一部のみ(例えばエッジ部のみ)”に係る点群から成るものである。換言すれば、測定器から見える領域であり、したがって本来であれば測定できる部分であるにも係らず、測定できない部分があることを意味する。
上記のように測定結果が対象物の一部のみ(例えばエッジ部のみ)となる場合には、例えば辞書データも対象物の一部のみ(例えばエッジ部のみ)から成る辞書データ(部分辞書データというものとする)を用意することが考えられる。
しかしながら、上記実施例1の手法でこの様な部分辞書データを用いて処理を行った場合、本来であれば隠面消去(陰面消去)されるべき点が、除去されずに残ってしまうという問題が生じる。これは、部分辞書データにおいては、測定されない部分(例えばエッジ部分以外;面部分)に関する点データはないので、当然、この様な点が仮想領域上に投影されることはなく、もし投影されていれば隠面消去(陰面消去)されていたはずの点(測定器からの距離が遠い点)が、除去されずに残ってしまう場合があるからである。
これについて、図5を参照して説明する。
図5(a)、(b)の何れも、図上上側には、任意の測定対象物の任意の2つの面のみに係る辞書データを示すものとし、図5(a)は上記実施例1の辞書データ、図5(b)は上記部分辞書データであるものとする。これより、図5(b)はエッジ部分のみの点群で構成される辞書データを示し、図5(a)はエッジ部分だけでなく面部分も含む点群で構成される辞書データを示すものとする(何れも、図上上側のことである)。
図5(a)、(b)の何れも、図上上側には、任意の測定対象物の任意の2つの面のみに係る辞書データを示すものとし、図5(a)は上記実施例1の辞書データ、図5(b)は上記部分辞書データであるものとする。これより、図5(b)はエッジ部分のみの点群で構成される辞書データを示し、図5(a)はエッジ部分だけでなく面部分も含む点群で構成される辞書データを示すものとする(何れも、図上上側のことである)。
尚、図5(a)、(b)の何れも、上記図上上側に示すものは、辞書データを概要姿勢変換した後の状態を示すものとする。
一方、尚、図5(a)、(b)の何れも、図上下側には、上記概要姿勢変換後の辞書データの各点を、上記ステップS5により仮想領域上に投影し、更にステップS6による測定器から見えない部分の点の除去を行った後の状態を示している。
一方、尚、図5(a)、(b)の何れも、図上下側には、上記概要姿勢変換後の辞書データの各点を、上記ステップS5により仮想領域上に投影し、更にステップS6による測定器から見えない部分の点の除去を行った後の状態を示している。
図5(a)の場合、図示のように、仮想領域上への投影に関して、上記2つの面が重なる部分に関しては、測定器から遠い側の面(下側の面)に係る点は全て除去され、測定器から近い側の面(上側の面)に係る点のみが残されることになる。つまり、適切に隠面消去(陰面消去)が行われた状態を示している。
一方、図5(b)の場合、図示のように、仮想領域上への投影に関して、上記2つの面が重なる部分において、上記下側の面に関してはエッジ部分の点群がある領域(図上、点線で囲んだ領域等)には、上記上側の面に係る点は1つも存在しない。従って、本来であれば除去されるべき点群である上記下側の面のエッジ部分の点群が、図示の点線で囲む部分に示すように除去されずに残ってしまうことになる。尚、図5(b)ではエッジ部分の点群を直線で示してある。
だからといって、測定データはエッジ部分のみとなるので、実施例1における「照合用の3次元辞書データ」を用いて測定データとの照合を行っても、適切に照合されるわけがないことは明らかである。
以上のことから、実施例2では、例えば図6に示す処理を行うことで、測定データが対象物の一部のみ(例えばエッジ部分のみ)である場合でも、高精度・高速な照合・認識を実現することができる。
以下、図6等を参照して、実施例2の処理について説明する。
尚、実施例2においても、装置の機能ブロック自体は図1と同じであってよく、各機能ブロックの機能内容が実施例1とは異なる部分があるものと見做すことができる。よって、以下の説明では、図1の各機能ブロック(上記符号11〜15)を用いて説明する場合もある。
尚、実施例2においても、装置の機能ブロック自体は図1と同じであってよく、各機能ブロックの機能内容が実施例1とは異なる部分があるものと見做すことができる。よって、以下の説明では、図1の各機能ブロック(上記符号11〜15)を用いて説明する場合もある。
図6の処理では、まず事前処理として、図示のステップS11、S12の処理を行う。
その後、任意に対象物の位置・姿勢を認識する際に、図示のステップS13〜S19の処理を行うことで、「照合用の3次元辞書データ」を作成する。そして、「照合用の3次元辞書データ」を用いて、照合を行って、詳細な位置・姿勢の推定を行うことになる。
(11)3次元辞書データの作成
まず、事前処理として、2種類の3次元辞書データD1,D2を作成しておく(ステップS11,S12)。3次元辞書データD1,D2は、上記実施例1の辞書データDと同様、点群で構成される辞書データである。
その後、任意に対象物の位置・姿勢を認識する際に、図示のステップS13〜S19の処理を行うことで、「照合用の3次元辞書データ」を作成する。そして、「照合用の3次元辞書データ」を用いて、照合を行って、詳細な位置・姿勢の推定を行うことになる。
(11)3次元辞書データの作成
まず、事前処理として、2種類の3次元辞書データD1,D2を作成しておく(ステップS11,S12)。3次元辞書データD1,D2は、上記実施例1の辞書データDと同様、点群で構成される辞書データである。
3次元辞書データD1は、対象物の一部(例えばエッジ部分)のみに係わる点群データである。但し、これは対象物の全領域に係るものとなる。換言すれば、測定器からは見えない領域のみというわけではなく、対象物の全体に関して例えばエッジ部分のみに係わる点群データとなる。一方、3次元辞書データD2は、対象物全体の点群データであり、上記実施例1の3次元辞書データDと同じであってよい。
詳しくは以下に説明するが、最終的には、3次元辞書データD1から“測定器から見えない部分”に係る点を削除したものを後述する「照合用の部分3次元辞書データ」として作成し、これを用いて詳細姿勢推定部14が測定データとの照合を行って測定対象物1の位置・姿勢を認識することになる。
尚、上記3次元辞書データD1,D2の作成は、例えばCADデータを用いる場合には、辞書データD2はCADデータそのもの、辞書データD1は例えばCADデータを表示させると共にユーザによって任意の点を消去させる処理を行うことで作成させるものであってよいが、この例に限らない。あるいは、辞書データD1は例えば測定対象物1を様々な方向から測定した実測データに基づいて作成し、辞書データD2は測定対象物1の表面に何らかの細工(反射を防ぐように、模様を描く等)したうえで様々な方向から測定した実測データに基づいて作成してもよいが、これらの例に限らない。
尚、上記3次元辞書データD1,D2の点群は、例えば下記のように表現するものとする。
D1={dx(k),dy(k),dz(k)} ;kは点番号(k=1〜L)
D2={dx(i),dy(i),dz(i)} ;iは点番号(i=1〜M)
尚、辞書データD2は、実施例1の辞書データDと同じであってよいので、M個(例えば1万個)の点群データから成るものとしている。尚、当然、M>Lである。辞書データD1の点群データは、この辞書データD2の点群データのうちの一部(例えばエッジ部分の点群データのみ)であると見做してよい。
(12)3次元点群データの測定
測定器(3次元データ測定部11)によって測定対象物1の測定を行い、3次元測定データ(測定データP)を取得する(ステップS13)。この処理自体は実施例1のステップS2の処理と略同様であってよいが、実施例2における測定データPは、上記実施例1の測定データPとは異なり、測定対象物1に関して測定器から見える領域であって且つその一部(例えばエッジ部分)のみに係る点群から成るものとなる。この様に内容的には多少異なるが、本説明においても測定データに関しては記号‘P’を用いるものとする。
D1={dx(k),dy(k),dz(k)} ;kは点番号(k=1〜L)
D2={dx(i),dy(i),dz(i)} ;iは点番号(i=1〜M)
尚、辞書データD2は、実施例1の辞書データDと同じであってよいので、M個(例えば1万個)の点群データから成るものとしている。尚、当然、M>Lである。辞書データD1の点群データは、この辞書データD2の点群データのうちの一部(例えばエッジ部分の点群データのみ)であると見做してよい。
(12)3次元点群データの測定
測定器(3次元データ測定部11)によって測定対象物1の測定を行い、3次元測定データ(測定データP)を取得する(ステップS13)。この処理自体は実施例1のステップS2の処理と略同様であってよいが、実施例2における測定データPは、上記実施例1の測定データPとは異なり、測定対象物1に関して測定器から見える領域であって且つその一部(例えばエッジ部分)のみに係る点群から成るものとなる。この様に内容的には多少異なるが、本説明においても測定データに関しては記号‘P’を用いるものとする。
上記のように、測定データPは、測定対象物1の一部分(例えばエッジ部分)のみが測定された点群で構成され、例えば下記のように表される。
P={px(j),py(j),pz(j)} ; (jは点番号;j=1〜Q)
尚、M>N>Qとなる。すなわち、ステップS13の測定処理自体は、上記ステップS2と略同様であってよい。但し、ステップS13によって得られる測定データPの点の数(Q個)は、ステップS2で得られる測定データPの点の数(N個)よりも少ないことになる(例えばエッジ部分に係る点群のみであるので)。
P={px(j),py(j),pz(j)} ; (jは点番号;j=1〜Q)
尚、M>N>Qとなる。すなわち、ステップS13の測定処理自体は、上記ステップS2と略同様であってよい。但し、ステップS13によって得られる測定データPの点の数(Q個)は、ステップS2で得られる測定データPの点の数(N個)よりも少ないことになる(例えばエッジ部分に係る点群のみであるので)。
(13)概要姿勢の推定
上述した既存の繰り返し処理(ICP:Iterative Closest Points)による照合を行う前に、ステップS14〜S19の処理を行って、照合用の辞書データを作成する。
上述した既存の繰り返し処理(ICP:Iterative Closest Points)による照合を行う前に、ステップS14〜S19の処理を行って、照合用の辞書データを作成する。
まず、概要姿勢推定部12によって、測定対象物1の概略的な3次元姿勢(概要姿勢)を推定する(ステップS14)。概要姿勢を推定する処理は、例えば特許文献1、2、非特許文献1等の従来技術を用いればよく、ここでは説明しないが、概要姿勢は、例えば、3×3回転行列Rと、3×1併進行列Tを用いて、
P≒R・D2+T
等と表現できる。尚、この概要姿勢の推定処理には、例えば測定データPと3次元辞書データD2とを用いるものとするが、この例に限らない。
P≒R・D2+T
等と表現できる。尚、この概要姿勢の推定処理には、例えば測定データPと3次元辞書データD2とを用いるものとするが、この例に限らない。
概要姿勢推定部12は、ステップS14の処理結果として、例えば上記RとTを、3次元辞書編集部13に対して出力する。3次元辞書編集部13は、これらRとTを用いて、後述する変換後の部分3次元辞書データP1’や変換後の全体3次元辞書データP2’を求めることになる。
但し、上記の式「P≒R・D2+T」は、すべてのiとjに対して成立するわけではない。たとえば、測定器から見えない側の点は、3次元辞書データD2には含まれるが3次元測定データ(測定データ)Pには含まれないので、i−j対応関係は成立しない。
尚、以下のステップS15〜S19の処理は、3次元辞書編集部13が実行する。
尚、以下のステップS15〜S17の処理は、上記ステップS4〜S6の処理と略同様であると見做してもよい。
尚、以下のステップS15〜S17の処理は、上記ステップS4〜S6の処理と略同様であると見做してもよい。
(14)全体3次元辞書データの概要姿勢への変換
3次元辞書編集部13は、まず、全体3次元辞書データD2を概要姿勢に基づいて姿勢変換(剛体変換)して成る「概要変換後の全体3次元辞書データP2’」を作成する(ステップS15)。これは例えば上記(13)で説明したRとTを用いて、下記の通り「概要変換後の全体3次元辞書データP2’」を算出する。
3次元辞書編集部13は、まず、全体3次元辞書データD2を概要姿勢に基づいて姿勢変換(剛体変換)して成る「概要変換後の全体3次元辞書データP2’」を作成する(ステップS15)。これは例えば上記(13)で説明したRとTを用いて、下記の通り「概要変換後の全体3次元辞書データP2’」を算出する。
P2’=R・D2+T ;(P2’(i)=R・D2(i)+T)
ただし、P2’(i)={p’x(i),p’y(i),p’z(i)}、iは点番号(i=1〜M)。つまり、上記辞書データD2の点群の各点(M個の各点)(={dx(i),dy(i),dz(i)})(i=1〜M)を、それぞれ、概要姿勢推定部12で求めたRとTを用いて座標変換することで、上記P2’(i)が生成される。
ただし、P2’(i)={p’x(i),p’y(i),p’z(i)}、iは点番号(i=1〜M)。つまり、上記辞書データD2の点群の各点(M個の各点)(={dx(i),dy(i),dz(i)})(i=1〜M)を、それぞれ、概要姿勢推定部12で求めたRとTを用いて座標変換することで、上記P2’(i)が生成される。
(15)変換した全体3次元辞書データの仮想平面への投影
上記「概要変換後の3次元辞書データP2’」の各点(={p’x(i),p’y(i),p’z(i)})を、仮想平面上に投影する。本例では、「概要変換後の全体3次元辞書データP2’」の点群を、測定器から対象物への距離方向(またはz軸方向)と垂直な仮想平面へ投影する(ステップS16)。これは、測定器からの視野空間を分割した複数の小視野角ごとに距離の最も小さい(測定器に近い)点を抽出する為に行うものである。
上記「概要変換後の3次元辞書データP2’」の各点(={p’x(i),p’y(i),p’z(i)})を、仮想平面上に投影する。本例では、「概要変換後の全体3次元辞書データP2’」の点群を、測定器から対象物への距離方向(またはz軸方向)と垂直な仮想平面へ投影する(ステップS16)。これは、測定器からの視野空間を分割した複数の小視野角ごとに距離の最も小さい(測定器に近い)点を抽出する為に行うものである。
尚、ステップS16の処理は、上記ステップS5の処理と略同様であってよいので、ここではこれ以上は説明しないものとする。
(16)測定器から見えない点を除去した全体3次元辞書データの作成
上記仮想平面を多数の矩形領域に分割し、各矩形領域毎に、その矩形領域に属する(投影された)複数の点のなかから測定器に最も近い点のみを選択し、選択された点のみから構成される全体3次元辞書データP2”(P2”(i))を作成する(ステップS17)。この全体3次元辞書データP2”(i)(i=1〜M)は、上記「概要変換後の3次元辞書データP2’」から、対象物に関して測定されない領域(測定器から見えない領域)に該当するデータを除去して成るものである。
(16)測定器から見えない点を除去した全体3次元辞書データの作成
上記仮想平面を多数の矩形領域に分割し、各矩形領域毎に、その矩形領域に属する(投影された)複数の点のなかから測定器に最も近い点のみを選択し、選択された点のみから構成される全体3次元辞書データP2”(P2”(i))を作成する(ステップS17)。この全体3次元辞書データP2”(i)(i=1〜M)は、上記「概要変換後の3次元辞書データP2’」から、対象物に関して測定されない領域(測定器から見えない領域)に該当するデータを除去して成るものである。
尚、ステップS17の処理は、上記ステップS6の処理と略同様であってよいので、ここではこれ以上は説明しないものとする。
(17)部分3次元辞書データの概要姿勢への変換
3次元辞書編集部13は、次に、部分3次元辞書データD1を概要姿勢に基づいて姿勢変換(剛体変換)して成る「概要変換後の部分3次元辞書データP1’」を作成する(ステップS18)。これは例えば上記(13)で説明したRとTを用いて、下記の通り「概要変換後の部分3次元辞書データP1’」を算出する。
(17)部分3次元辞書データの概要姿勢への変換
3次元辞書編集部13は、次に、部分3次元辞書データD1を概要姿勢に基づいて姿勢変換(剛体変換)して成る「概要変換後の部分3次元辞書データP1’」を作成する(ステップS18)。これは例えば上記(13)で説明したRとTを用いて、下記の通り「概要変換後の部分3次元辞書データP1’」を算出する。
P1’=R・D1+T ;(P1’(k)=R・D1(k)+T)
ただし、P1’(P1’(k))={p’x(k),p’y(k),p’z(k)}、kは点番号(k=1〜Q)。尚、上記の通り、M>Qである。
ただし、P1’(P1’(k))={p’x(k),p’y(k),p’z(k)}、kは点番号(k=1〜Q)。尚、上記の通り、M>Qである。
上記部分辞書データD1の点群の各点(Q個の各点)(={dx(k),dy(k),dz(k)})を、それぞれ、RとTを用いて座標変換することで、上記P1’(k)が生成される。当然、P1’(k)は、Q個の点群より成るものである。
(18)測定器から見えない点を除去した部分3次元辞書データの作成
上記“概要変換後の部分3次元辞書データ”P1’(k)(k=1〜Q)の各点毎に、上記辞書データP2”(i)(i=1〜M)において対応する点を、最近隣点の探索を行うことで求める。すなわち、上記P1’(k)(k=1〜Q)の各点毎に、その点と上記辞書データP2”(i)の各点との距離を求めて、最も距離が近い点を上記“対応する点”として求める。つまり、これによって、Q個のペアが求まることになる(P1’とP2”とのペア)。
上記“概要変換後の部分3次元辞書データ”P1’(k)(k=1〜Q)の各点毎に、上記辞書データP2”(i)(i=1〜M)において対応する点を、最近隣点の探索を行うことで求める。すなわち、上記P1’(k)(k=1〜Q)の各点毎に、その点と上記辞書データP2”(i)の各点との距離を求めて、最も距離が近い点を上記“対応する点”として求める。つまり、これによって、Q個のペアが求まることになる(P1’とP2”とのペア)。
そして、各ペア毎に、そのペアの上記距離を、予め設定されている所定の閾値と比較して、距離が閾値未満であるか否か(距離<閾値)を判定する。そして、距離が閾値未満であるペアにおけるP1’の点を抽出する。そして、抽出した全ての点を格納して成る「照合用の部分3次元辞書データP1”」を生成する(ステップS19)。
ここで、上記辞書データD1の点群は、上記辞書データD2の点群の一部(例えばエッジ部分の点)を抽出して成るものと見做せるものであり、これらを上記のようにRとTを用いて同じように概要姿勢変換したものがP1’、P2’である。従って、仮にP1’とP2’とで上記ステップS19の処理を行ったとするならば、上記P1’(k)(k=1〜Q)の全ての点は、最近隣点の探索で得られる上記ペアとなる点との距離が、ほぼ0に近いものになると考えられる。よって、この場合には、上記P1’(k)(k=1〜Q)の全ての点は、距離が閾値未満となって抽出されることになる。
しかし、上記P2”は、P2’から、測定器から見えない領域に対応する点を除去して成るものである。従って、上記P1’(k)(k=1〜Q)の各点のうち、測定器から見えない領域に対応する点は、本来はこの点とペアとなるべきP2”(i)の点が存在しないうえに(ステップS17の処理で除去されている)、ペアとなった点との距離は比較的遠くなるはずであり、上記閾値以上となるはずである。
例えば、図4において、点2を仮にエッジ部分の点であるとすると、上記P2’とP1’の何れにおいても点2に相当する点が存在するはずであり、且つ、これらはペアとなるはずであり、両者の距離は非常に近いはずである。しかしながら、上記P2’における点2は、上記P2”においては除去されているはずである。それだけでなく、P2’における点2近辺の点(測定器から見えない領域の点)は全て、上記P2”においては除去されているはずである。この為、上記P1’における上記点2に相当する点は、例えば、P2”において点1がある面における点とペアとなる可能性が高く、図示の通り、点1がある面と点2との距離は、比較的遠いものとなっている(上記閾値以上となるはずである)。
上述したことから、「照合用の部分3次元辞書データP1”」は、上記「概要変換後の部分3次元辞書データP1’」の点群から、測定器から見えない領域に対応する点が除去されたものであると言える。
従って、詳細姿勢推定部14がこの「照合用の部分3次元辞書データP1”」を用いて照合を行うことで、測定データが対象物の一部分(例えばエッジ部分)のみの測定データである場合であっても、高精度・高速な照合・認識を実現することができる。
ここで、上記詳細姿勢推定部14の照合処理について、以下、図7、図8を参照して説明する。尚、これは、実施例1、実施例2のどちらにも適用できる。
既に述べたように、詳細姿勢推定部14は、上記照合用の3次元辞書データ等を用いて、例えば上述した既存の繰り返し処理(ICP)により測定対象物1の位置・姿勢を認識する(詳細姿勢を推定する;少なくとも概要姿勢推定部12よりは正確・厳密な位置・姿勢の推定を行える)。
既に述べたように、詳細姿勢推定部14は、上記照合用の3次元辞書データ等を用いて、例えば上述した既存の繰り返し処理(ICP)により測定対象物1の位置・姿勢を認識する(詳細姿勢を推定する;少なくとも概要姿勢推定部12よりは正確・厳密な位置・姿勢の推定を行える)。
ここで、ICPのように繰り返し行う照合処理では、所定の照合処理を1回実行する毎に、姿勢情報が更新され、照合したと判断されるまで照合処理と姿勢情報更新が繰り返される。尚、上記所定の照合処理は、既存の一般的な処理であってよく、ここでは特に説明しない。
図7(a)は、この様な既存の処理について概略的に示すフローチャート図である。
図7(a)において、3次元点群データの測定(ステップS21)、概要姿勢の推定(ステップS22)は、上記ステップS2、S3またはステップS13,S14と同じであってよく、ここでは特に説明しない。同様に、“測定器から見えない点を除去した3次元辞書データ(照合用の3次元辞書データ/照合用の部分3次元辞書データ)の作成”処理(ステップS23)は、上記ステップS4〜S6またはステップS15〜S19に相当する処理であり、ここでは特に説明しない。
図7(a)において、3次元点群データの測定(ステップS21)、概要姿勢の推定(ステップS22)は、上記ステップS2、S3またはステップS13,S14と同じであってよく、ここでは特に説明しない。同様に、“測定器から見えない点を除去した3次元辞書データ(照合用の3次元辞書データ/照合用の部分3次元辞書データ)の作成”処理(ステップS23)は、上記ステップS4〜S6またはステップS15〜S19に相当する処理であり、ここでは特に説明しない。
ステップS23の処理実行後、上記詳細姿勢推定部14は、図示のステップS24〜S26の処理を実行する。すなわち、上記「照合用の3次元辞書データ」または「照合用の部分3次元辞書データP1”」を用いて、所定の照合処理を実行する(ステップS24)。この照合処理自体は、詳細姿勢推定の為の既存の処理であり、ここでは特に説明しない。そして、照合完了したか否か(詳細姿勢が求まったか否か;換言すれば、辞書と測定データとの間の誤差を最小とする剛体変換行列が求まったか否か)を判定する(ステップS25)。未だ照合完了していない場合には(ステップS25,NO)、姿勢情報の更新を行ってから(ステップS26)、再びステップS24の照合処理を実行する。これを、照合完了するまで(ステップS25がYESとなるまで)繰り返し実行する。
ここで上記ステップS26の処理によって姿勢情報が更新される毎に、測定器から見える点が変化するため、上記実施例1のステップS2〜S6の処理、または上記実施例2のステップS13〜S19の処理で作成した「測定器から見えない点を除去した辞書データ」は、その後、姿勢情報が更新された後には、必ずしも測定器から見えない点を除去できていない場合が考えられる。あるいは、逆に、更新後の姿勢情報によれば測定器から見えるはずの点が、除去されている場合も考えられる。これは、処理結果の精度の悪化につながる可能性がある。
この様な問題に対して、例えば図7(b)に示すような処理手順とすることが考えられる。
図7(b)の処理において、ステップS31、S32、S33、S34、S35、S36の各処理自体は、上記図7(a)のステップS21、S22、S23、S24、S25、S26の処理と同じであってよく、その説明は省略する。更に、ステップS35の判定がNOの場合(未だ照合完了していない場合)にステップS36の姿勢情報更新を行うことも、上記図7(a)においてステップS25がNOの場合にステップS26の姿勢情報更新を行うことを同じであってよい。
図7(b)の処理において、ステップS31、S32、S33、S34、S35、S36の各処理自体は、上記図7(a)のステップS21、S22、S23、S24、S25、S26の処理と同じであってよく、その説明は省略する。更に、ステップS35の判定がNOの場合(未だ照合完了していない場合)にステップS36の姿勢情報更新を行うことも、上記図7(a)においてステップS25がNOの場合にステップS26の姿勢情報更新を行うことを同じであってよい。
図7(b)と図7(a)との違いは、図7(a)ではステップS26の姿勢情報更新を行う毎にステップS24の照合処理に戻るのに対して、図7(a)ではステップS36の姿勢情報更新を行う毎にステップS33の処理に戻る点である。すなわち、姿勢情報更新を行う毎に、更新後の姿勢情報を用いて“測定器から見えない点を除去した3次元辞書データ(照合用の3次元辞書データ)の作成”処理(ステップS33)を行う点で、図7(a)とは異なる。尚、この場合、ステップS33の処理が仮に実施例1の上記ステップS4〜S6の処理を行うものである場合、ステップS4における“概要姿勢への変換”は、例えば“現在の姿勢情報を用いて3次元辞書データDの姿勢変換を行う”等に置き換える必要がある。これは後述するステップS48の処理についても同様である。
この様に、姿勢情報の更新を行う毎に、逐一、照合用の3次元辞書データを作成し直すようにすれば、上記問題は解決できる。しかしながら、繰り返し処理の都度に、上記実施例1のステップS2〜S6の処理、または上記実施例2のステップS13〜S19の処理に相当する処理を行うことになるので、計算量が多くなり、処理負荷が増大し、ステップS35がYESになるまでに掛かる時間が大きくなるという問題が生じる。
この為、例えば図8に示す処理を行うことが望ましい。
図8において、ステップS41、S42、S43、S44、S45、S46の各処理自体は、上記図7(a)のステップS21、S22、S23、S24、S25、S26の各処理と同じであってよく、その説明は省略する。また、ステップS45の判定がNOの場合(未だ照合完了していない場合)にステップS46の姿勢情報更新処理を行ってステップS44の照合処理に戻る点も、上記図7(a)においてステップS25がNOの場合にステップS26の姿勢情報更新処理を行ってステップS24の照合処理に戻る点と同じであってよい。
図8において、ステップS41、S42、S43、S44、S45、S46の各処理自体は、上記図7(a)のステップS21、S22、S23、S24、S25、S26の各処理と同じであってよく、その説明は省略する。また、ステップS45の判定がNOの場合(未だ照合完了していない場合)にステップS46の姿勢情報更新処理を行ってステップS44の照合処理に戻る点も、上記図7(a)においてステップS25がNOの場合にステップS26の姿勢情報更新処理を行ってステップS24の照合処理に戻る点と同じであってよい。
図8の処理が図7(a)の処理と異なる点は、ステップS45の判定(照合完了したか否かの判定)がYESとなった後である。すなわち、図7(a)の場合、ステップS25の判定(照合完了したか否かの判定)がYESとなったら、処理を終了する。これに対して、図8では、ステップS45の判定がYESとなったら、続いて、照合回数(照合完了したと判定した回数)が、予め設定された設定値(たとえばR回とする)に達したか否かを判定する(ステップS47)。
そして、未だ照合回数が設定値Rに達していない場合、すなわち照合回数が設定値R未満である場合には(照合回数<設定値R)(ステップS47,NO)、ステップS48の処理を実行して、ステップS44の処理に戻る。ステップS48の処理自体は、上記ステップS43の処理と同じ処理であり、“測定器から見えない点を除去した3次元辞書データ(照合用の3次元辞書データ)の作成”処理である。但し、これは、基本的にはステップS46の姿勢情報更新処理を何回か行った後に、最新の姿勢情報に基づいてステップS48の処理を行うことになる。従って、この点では、ステップS48の処理はステップS43とは異なることになる。
尚、図示していないが、ステップS48の処理に伴って、上記照合回数を+1インクリメントする処理を行う。また、ここでは照合回数の初期値は‘0’であるものとする。
そして、再びステップS44〜S46の繰り返し処理を行い、再び照合完了した場合には(ステップS45,YES)、再度ステップS47の処理を行い、判定NOならば再度ステップS48の処理を行うことになる。そして、ステップS47の判定がYESとなったら、すなわち照合回数が設定値Rに達した場合には(照合回数=設定値Rとなったら)、本処理を終了する。
そして、再びステップS44〜S46の繰り返し処理を行い、再び照合完了した場合には(ステップS45,YES)、再度ステップS47の処理を行い、判定NOならば再度ステップS48の処理を行うことになる。そして、ステップS47の判定がYESとなったら、すなわち照合回数が設定値Rに達した場合には(照合回数=設定値Rとなったら)、本処理を終了する。
この様に、図8では、照合用の3次元辞書データの再作成をR回行うことになる。よって、図7(a)のように照合用の3次元辞書データの再作成は一切行わないものとは異なり、上記問題は生じない。また、図7(b)のように姿勢情報を更新する毎に照合用の3次元辞書データの再作成を行うものとも異なり、再作成の回数はR回のみで済むので、上記処理負荷が増大する問題も解消される。
尚、図8に示す処理は、一例であり、この例に限るものではない。基本的には、照合用の3次元辞書データの再作成を、一切行わないものでもなければ、毎回(姿勢情報を更新する毎に)行うものでもないようにするものであれば、何でもよい。例えば、図8において、ステップS47、S48の処理を削除すると共に、ステップS46の処理後に分岐処理を追加するようにしてもよい。この分岐処理は、例えば「更新回数=所定値?」等とし、判定YESであればステップS43の処理に戻り、判定NOであればステップS44に戻るようにする。尚、この場合、ステップS43の処理実行に伴って、更新回数を‘0’にリセットする処理が必要となる。
尚、上記更新回数とはステップS46の姿勢情報更新処理の実行回数であり、上記所定値は予め任意に設定される回数であり、例えばS回とする。これによって、ステップS46の姿勢情報更新処理をS回行う毎に、照合用の3次元辞書データの再作成が行われることになる。
以上説明したように、本手法では、ポリゴンによる面情報を保有せず、点群で構成される3次元辞書データを用いて、点群で構成される3次元測定データとの照合を行って対象物の位置・姿勢を認識する装置において、繰り返し処理前に、推定された対象物のおおよその位置・姿勢(概要姿勢)に従って3次元辞書データを剛体変換した点群から、測定器からの視野空間を分割した複数の小視野角ごとに距離の最も小さい(測定器に近い)点を抽出することにより、3次元辞書データから、計測器から見えない(測定できない)領域に対応する点を取り除き(陰面消去(陰点除去)に相当する処理を行い)、計測器から見える(測定できる)領域に対応する点のみから構成される3次元辞書データ(照合用の3次元辞書データ)を作成する。これは、3次元測定データが、対象物の一部のみ(例えばエッジ部のみ)の測定データである場合にも実現できる(照合用の部分3次元辞書データを作成できる)。
この様にして作成された照合用の3次元辞書データまたは照合用の部分3次元辞書データを用いてICP照合処理等の繰り返し処理を行うことにより、対象物の位置・姿勢を高精度・高速に認識することができる。また、ポリゴンを用いないので、3次元辞書データに面情報および法線情報を必要としない。
10 3次元物体位置検出装置
11 3次元データ測定部
12 概要姿勢推定部
13 3次元辞書編集部
14 詳細姿勢推定部
15 3次元辞書蓄積部
11 3次元データ測定部
12 概要姿勢推定部
13 3次元辞書編集部
14 詳細姿勢推定部
15 3次元辞書蓄積部
Claims (9)
- 対象物を3次元計測器により所定方向から測定した測定データであって点群より成る3次元測定データと、予め作成され記憶されている対象物の全体像の辞書データであって点群より成る3次元辞書データとに基づいて、対象物の位置・姿勢を認識する3次元物体位置検出装置であって、
前記3次元測定データに基づいて、前記対象物の概略的な位置・姿勢を示す概要姿勢を推定する概要姿勢推定手段と、
前記3次元辞書データの点群を前記概要姿勢を用いて剛体変換して成る、概要変換後の3次元辞書データを生成する概要姿勢変換手段と、
前記概要変換後の3次元辞書データの点群から、前記3次元測定器からの視野空間を分割した複数の小視野角毎に最も測定器に近い点を抽出して、該抽出した点のみより成る照合用の3次元辞書データを作成する照合用辞書データ作成手段と、
該照合用の3次元辞書データを用いて前記3次元測定データとの照合処理を行うことで、対象物の位置・姿勢を推定する詳細姿勢推定手段と、
を有することを特徴とする3次元物体位置検出装置。 - 対象物を3次元計測器により所定方向から測定した測定データであって点群より成る3次元測定データと、予め作成され記憶されている対象物の全体像の辞書データであって点群より成る3次元辞書データとに基づいて、対象物の位置・姿勢を認識する3次元物体位置検出装置であって、
前記3次元測定データに基づいて、前記対象物の概略的な位置・姿勢を示す概要姿勢を推定する概要姿勢推定手段と、
前記3次元辞書データの点群を前記概要姿勢を用いて剛体変換して成る、概要変換後の3次元辞書データを生成する概要姿勢変換手段と、
前記概要変換後の3次元辞書データの点群から、前記概要変換後の3次元辞書データの各点を仮想平面上に投影し、前記仮想平面を多数の矩形領域に分割し、各矩形領域毎にその矩形領域に属する投影された複数の点のなかから測定器に最も近い点のみを選択し、選択された点のみから構成される3次元辞書データを再構築することにより、照合用の3次元辞書データを作成する照合用辞書データ作成手段と、
該照合用の3次元辞書データを用いて前記3次元測定データとの照合処理を行うことで、対象物の位置・姿勢を推定する詳細姿勢推定手段と、
を有することを特徴とする3次元物体位置検出装置。 - 前記照合用の3次元辞書データは、前記3次元辞書データから隠面消去して成るものであることを特徴とする請求項1または2記載の3次元物体位置検出装置。
- 前記3次元測定データが、前記対象物の一部分を測定したものである場合、
前記対象物の全体像の辞書データである前記3次元辞書データに加えて更に、前記対象物の一部分に係る辞書データである部分辞書データが予め作成され記憶されており、
前記部分辞書データの点群を前記概要姿勢を用いて剛体変換して成る、概要変換後の部分辞書データを生成する第2の概要姿勢変換手段と、
該概要変換後の部分辞書データの各点毎に、その点の近傍点を前記照合用の3次元辞書データの点群のなかから求めると共に、該近傍点との距離を所定の閾値と比較することで、前記概要変換後の部分辞書データの点群から、前記近傍点との距離が所定の閾値未満である点を抽出して、該抽出した点から成る照合用の部分辞書データを作成する照合用部分辞書データ作成手段とを更に有し、
前記詳細姿勢推定手段は、前記照合用の3次元辞書データの代わりに前記照合用の部分辞書データを用いて、前記3次元測定データとの照合処理を行うことで、前記対象物の位置・姿勢を推定することを特徴とする請求項1〜3の何れかに記載の3次元物体位置検出装置。 - 前記対象物の一部分は、前記対象物のエッジ部分であることを特徴とする請求項4記載の3次元物体位置検出装置。
- 前記詳細姿勢推定手段は、前記照合処理と姿勢情報の更新とを繰り返す繰り返し処理によって、前記対象物の位置・姿勢を推定することを特徴とする請求項1〜5の何れかに記載の3次元物体位置検出装置。
- 前記詳細姿勢推定手段の前記繰り返し処理によって照合完了したら、該照合完了の回数が未だ所定値未満である場合には、そのときの前記姿勢情報に基づいて前記照合用の3次元辞書データまたは前記照合用の部分辞書データを再作成する照合用辞書データ再作成手段を更に有し、
前記詳細姿勢推定手段は、該照合用辞書データ再作成手段によって前記照合用の3次元辞書データまたは前記照合用の部分辞書データが再作成された場合には、該再作成された前記照合用の3次元辞書データまたは前記照合用の部分辞書データを用いて、前記繰り返し処理を実行することを特徴とする請求項6記載の3次元物体位置検出装置。 - 対象物を3次元計測器により所定方向から測定した測定データであって点群より成る3次元測定データと、予め作成され記憶されている対象物の全体像の辞書データであって点群より成る3次元辞書データとに基づいて、対象物の位置・姿勢を認識する3次元物体位置検出装置のコンピュータを、
前記3次元測定データに基づいて、前記対象物の概略的な位置・姿勢を示す概要姿勢を推定する概要姿勢推定手段と、
前記3次元辞書データの点群を前記概要姿勢を用いて剛体変換して成る、概要変換後の3次元辞書データを生成する概要姿勢変換手段と、
前記概要変換後の3次元辞書データの点群から、前記3次元測定器からの視野空間を分割した複数の小視野角毎に最も測定器に近い点を抽出して、該抽出した点のみより成る照合用の3次元辞書データを作成する照合用辞書データ作成手段と、
該照合用の3次元辞書データを用いて前記3次元測定データとの照合処理を行うことで、対象物の位置・姿勢を推定する詳細姿勢推定手段、
として機能させる為のプログラム。 - 対象物を3次元計測器により所定方向から測定した測定データであって点群より成る3次元測定データと、予め作成され記憶されている対象物の全体像の辞書データであって点群より成る3次元辞書データとに基づいて、対象物の位置・姿勢を認識する3次元物体位置検出装置のコンピュータを、
前記3次元測定データに基づいて、前記対象物の概略的な位置・姿勢を示す概要姿勢を推定する概要姿勢推定手段と、
前記3次元辞書データの点群を前記概要姿勢を用いて剛体変換して成る、概要変換後の3次元辞書データを生成する概要姿勢変換手段と、
前記概要変換後の3次元辞書データの点群から、前記概要変換後の3次元辞書データの各点を仮想平面上に投影し、前記仮想平面を多数の矩形領域に分割し、各矩形領域毎にその矩形領域に属する投影された複数の点のなかから測定器に最も近い点のみを選択し、選択された点のみから構成される3次元辞書データを再構築することにより、照合用の3次元辞書データを作成する照合用辞書データ作成手段と、
該照合用の3次元辞書データを用いて前記3次元測定データとの照合処理を行うことで、対象物の位置・姿勢を推定する詳細姿勢推定手段、
として機能させる為のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011192133A JP2013053920A (ja) | 2011-09-02 | 2011-09-02 | 3次元物体位置検出装置、そのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011192133A JP2013053920A (ja) | 2011-09-02 | 2011-09-02 | 3次元物体位置検出装置、そのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013053920A true JP2013053920A (ja) | 2013-03-21 |
Family
ID=48131041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011192133A Withdrawn JP2013053920A (ja) | 2011-09-02 | 2011-09-02 | 3次元物体位置検出装置、そのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013053920A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106197263A (zh) * | 2016-06-28 | 2016-12-07 | 大连理工大学 | 基于机器视觉的多体投放位姿测量方法 |
JP2019060695A (ja) * | 2017-09-26 | 2019-04-18 | 富士ゼロックス株式会社 | 3次元物体検出装置、ロボット、及びプログラム |
JP2022505772A (ja) * | 2018-11-01 | 2022-01-14 | ウェイモ エルエルシー | 構造化光照明付き飛行時間型センサ |
-
2011
- 2011-09-02 JP JP2011192133A patent/JP2013053920A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106197263A (zh) * | 2016-06-28 | 2016-12-07 | 大连理工大学 | 基于机器视觉的多体投放位姿测量方法 |
JP2019060695A (ja) * | 2017-09-26 | 2019-04-18 | 富士ゼロックス株式会社 | 3次元物体検出装置、ロボット、及びプログラム |
JP2022505772A (ja) * | 2018-11-01 | 2022-01-14 | ウェイモ エルエルシー | 構造化光照明付き飛行時間型センサ |
JP7203217B2 (ja) | 2018-11-01 | 2023-01-12 | ウェイモ エルエルシー | 構造化光照明付き飛行時間型センサ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5713159B2 (ja) | ステレオ画像による3次元位置姿勢計測装置、方法およびプログラム | |
JP5430456B2 (ja) | 幾何特徴抽出装置、幾何特徴抽出方法、及びプログラム、三次元計測装置、物体認識装置 | |
JP5393531B2 (ja) | 位置姿勢推定装置、位置姿勢推定方法、プログラム、記憶媒体 | |
US9984291B2 (en) | Information processing apparatus, information processing method, and storage medium for measuring a position and an orientation of an object by using a model indicating a shape of the object | |
JP5839971B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
Orghidan et al. | Camera calibration using two or three vanishing points | |
JP6444027B2 (ja) | 情報処理装置、情報処理装置の制御方法、情報処理システムおよびプログラム | |
US11654571B2 (en) | Three-dimensional data generation device and robot control system | |
JP2011133273A (ja) | 推定装置及びその制御方法、プログラム | |
JP2002024807A (ja) | 物体運動追跡手法及び記録媒体 | |
JP2018136896A (ja) | 情報処理装置、システム、情報処理方法、および物品の製造方法 | |
KR20110020720A (ko) | 3차원 얼굴 캡쳐링 장치 및 방법 | |
JP2019114103A (ja) | 物体認識処理装置、物体認識処理方法及びプログラム | |
US11189053B2 (en) | Information processing apparatus, method of controlling information processing apparatus, and non-transitory computer-readable storage medium | |
JP2006252275A (ja) | カメラ運動及び物体形状の復元システム | |
JP2019109747A (ja) | 位置姿勢推定装置、位置姿勢推定方法及びプログラム | |
JP2013053920A (ja) | 3次元物体位置検出装置、そのプログラム | |
JP2018195070A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2015132544A (ja) | 画像処理装置および3次元空間情報取得方法 | |
JP5762099B2 (ja) | 姿勢認識装置、作業ロボット、姿勢認識方法、プログラム及び記録媒体 | |
JP7385747B2 (ja) | 物体の把持点の三次元位置、ローカル参照フレーム及び把持パターンを求める方法及びシステム | |
JP2012038105A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP2000003446A (ja) | 欠測値推定方法、三次元データ入力装置、及び、記録媒体 | |
WO2018161305A1 (zh) | 抓取质量检测方法及其应用的方法与系统 | |
JP2018097795A (ja) | 法線推定装置、法線推定方法、及び法線推定プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20141104 |