JP2012032909A - 物体識別装置、モデルデータの登録装置、物体識別方法、物体識別プログラム、及びロボット - Google Patents

物体識別装置、モデルデータの登録装置、物体識別方法、物体識別プログラム、及びロボット Download PDF

Info

Publication number
JP2012032909A
JP2012032909A JP2010170154A JP2010170154A JP2012032909A JP 2012032909 A JP2012032909 A JP 2012032909A JP 2010170154 A JP2010170154 A JP 2010170154A JP 2010170154 A JP2010170154 A JP 2010170154A JP 2012032909 A JP2012032909 A JP 2012032909A
Authority
JP
Japan
Prior art keywords
model data
unit
registration
model
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
Application number
JP2010170154A
Other languages
English (en)
Inventor
Mitsuhiro Inazumi
満広 稲積
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2010170154A priority Critical patent/JP2012032909A/ja
Publication of JP2012032909A publication Critical patent/JP2012032909A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】3次元物体のモデルデータを少ないメモリー容量で記憶させ、比較のための演算量を削減することを課題としている。
【解決手段】対象物モデルの形状データから基準点を抽出する基準点抽出部102、基準点を中心とし対象物モデルを内包する仮想的な立方体データを生成する立方体データ生成部103、立方体の各面を2つの直角二等辺三角形に分割し又は認識部からの再分割指示に基づき直角と斜辺中点を結ぶ垂線で2つに再分割する三角形分割部104、分割された一方の各頂点及び斜辺中点の各視点から見た対象物モデルの特徴に基づく4つのモデルデータを生成するモデルデータ生成部106、登録モデルデータを記憶する登録モデルデータ記憶部108、登録モデルデータを用いて各視点からのモデルデータを認識する認識部105、認識出来なかった視点のモデルデータを登録モデルデータ記憶部に記憶させるモデルデータ登録部107を備える。
【選択図】図2

Description

本発明は、物体識別装置、モデルデータの登録装置、物体識別方法、物体識別プログラム、及びロボットに関する。
入力画像中から、撮像された3次元物体の位置、姿勢を認識することは、非常に多くの分野で必要とされている。例えば、ロボットなどに3次元物体を掴ませるように制御する場合、対象物体の位置と姿勢を正確に取得する必要がある。3次元物体の位置、姿勢を取得する手法として、3次元照合法と2次元照合法がある。
3次元照合法は、光切断法や視差法により取得した検出対象物体の3次元情報そのものを、検出対象物体の3次元的な幾何情報(抽出された特徴量)と比較することにより、検出対象物体である3次元物体の位置、姿勢を識別するものである。具体的には、例えば幾何ハッシング法などが知られている。図22は、3次元物体の方向による見え方の差を説明する図である。図22のように、3次元物体900は、見る位置によって画像901〜909のように多様な見え方をする。このため、光切断法においては遮蔽の問題があり、また視差法においても遮蔽の問題や対応点の誤検出の問題があり、物体の形状が複雑である場合の3次元特徴量を安定して取得することが困難であるという問題点がある。
一方、2次元照合法は、物体を様々な方向から見た1つ以上の2次元画像に基づく特徴量(モデルデータ)を予め生成し、実際にある視点から見た3次元物体の2次元画像を、予め生成されたモデルデータと比較することにより、3次元物体の位置、姿勢を知るものである。この手法は、従来、実用に供されてきた実績のある2次元物体認識方法を用いることができるので、信頼性の高いシステムを実現できる。例えば図23に示すように、3次元物体を様々な方向から見た2次元画像のぞれぞれから特徴量を抽出し、それと入力された画像とを2次元的に比較することにより、3次元物体の位置、姿勢を知るものである。
図23は、3次元物体の2次元照合をより詳細に説明するための図である。2次元照合法は、図23のように、予め登録モデルデータ961〜969を記憶部に記憶し登録しておく。そして、検出対象物体の検出時、画像取得手段が撮像された3次元物体900の画像情報を取得する。特徴抽出部が取得した画像情報から特徴量950を抽出する。なお、図23では、特徴量950および特徴量であるモデルデータ961〜969を模式的に可視化して表している。そして2次元パターンマッチング手段が、抽出された特徴量と登録モデルデータとを順次、パターンマッチングの手法を用いて比較することで対象物を識別している。
このように、2次元照合法は、多数のモデルデータと、ある視点から見た2次元画像との比較が必要となり、計算量が増大するという問題点がある。このような演算量が増大するという問題を解決するために、多数の2次元画像の特徴を、より少ないメモリー容量で記憶させる手法が提案されている。より少ないメモリー容量で記憶させた結果、データ量が削減され、比較のための演算量も削減される(例えば、非特許文献1参照)。
非特許文献1の手法は、検出対象である3次元物体を様々な方向から見た2次元画像を用意し、様々な方向から見た2次元画像の大きさを正規化し、正規化された画像を1つのベクトルと見なし、そのベクトル間の分散を求め、その固有値と固有ベクトルを算出し、固有値の大きさの上位から所定の個数の固有ベクトルを選択し、選択した所定個数の固有ベクトルの張る仮想的な空間を生成し、生成した仮想的な空間で各々の画像を表している。これにより、様々な方向から見た2次元画像は、所定個数の固有ベクトルが張る仮想的な空間内の所定個数分の次元座標値として表現できるため、より少ないメモリー容量で記憶させることができる。
しかしながら、非特許文献1記載の従来技術では、元画像を正規化しているために、実際の物体検出においても、その物体の含まれる画像を正規化して比較する必要がある。正規化して比較するためには、先ずその物体の位置を決めるための試行錯誤が必要となり、その物体の位置を決めるための試行錯誤における演算量が増えてしまうという問題点がある。
このような問題点を改善するために、試行錯誤により発見した物体を、それ以降は動き追跡手段、たとえばパーティクルフィルター手法などにより追跡することにより、試行錯誤の演算量を削減する手法が提案されている(例えば、特許文献1参照)。
特開2008−305059号公報
村瀬 洋、シュリー ナイヤー、「2次元照合による3次元物体認識 パラメトリック固有空間法」、電子情報通信学会論文誌 Vol. J77-D-II No.11 pp.2179-2187, 1994
しかしながら、非特許文献1記載の従来技術では、物体の特徴を少数の固有ベクトル空間内で表現するために、物体の細かな特徴が失われてしまうという問題点がある。これを解決するために、例えば、固有ベクトルの数を増やせば、データ数が増えてしまい、この従来技術の効果が減ぜられてしまうという課題があった。
本発明は、上記の課題に鑑みてなされたものであって、3次元物体のモデルデータを少ないメモリー容量で記憶させ、比較のための演算量を削減する物体識別装置、モデルデータの登録装置、物体識別方法、物体識別プログラム、及びロボットを提供することを目的としている。
上記目的を達成するため、本発明の物体識別装置は、対象物モデルの形状データから基準点を抽出する基準点抽出部と、前記抽出された基準点を中心とし、前記対象物モデルを内包する仮想的な立方体の空間データを生成する立方体データ生成部と、前記仮想的な立方体の各面を2つの直角二等辺三角形に分割し、または、認識部からの再分割指示に基づき、前記直角二等辺三角形を直角と斜辺の中点とを結ぶ垂線により2つの直角二等辺三角形に再分割する三角形分割部と、前記分割された直角二等辺三角形の一方を選択し、選択した前記直角二等辺三角形の各頂点及び斜辺中点の各視点から見た前記対象物モデルの特徴に基づく4つのモデルデータを生成するモデルデータ生成部と、登録モデルデータを記憶する登録モデルデータ記憶部と、前記登録モデルデータを用いて前記各視点からのモデルデータを認識できるか否かを判定し、全ての前記各視点からのモデルデータを認識できる場合、前記生成されたモデルデータの登録指示をモデルデータ登録部に出力せず、かつ前記三角形分割部による三角形分割を停止し、認識できない視点からのモデルデータがあった場合、認識できなかった視点の前記モデルデータの登録指示と前記認識できなかった視点からのモデルデータとを前記モデルデータ登録部に出力し且つ前記三角形分割部に再分割の指示を出力する認識部と、前記登録指示に基づき、前記認識できなかった視点からのモデルデータを前記登録モデルデータ記憶部に新たな登録モデルデータとして記憶させるモデルデータ登録部とを備え、前記分割された直角二等辺三角形について、前記モデルデータ生成と、前記4つの視点からの認識と、前記モデルデータ登録と、前記直角二等辺三角形の再分割を再帰的に繰り返すことで前記対象物モデルの登録データの登録を行い、前記登録モデルデータを用いて物体の識別を行うことを特徴としている。
本発明によれば、3次元の検出対象物体の画像を二等辺三角形の分割、各頂点及び斜辺中点からの視点によるモデルデータの生成、登録モデルデータを用いて生成された各視点のモデルデータを認識し、登録モデルデータを用いて認識できない視点のモデルデータがある場合、モデルデータの登録と直角二等辺三角形の再分割を行って再度モデルデータを生成するようにし、登録モデルデータを用いて直角二等辺三角形の全ての頂点と斜辺からの視点によるモデルデータを認識できた場合、直角二等辺三角形の再分割を停止し、モデルデータの生成を停止、すなわちモデルデータの登録も停止するようにしたので、3次元物体を少ないメモリー容量でモデルデータを記憶でき、比較のための演算量を削減して対象物体を認識することができる物体識別装置を提供できる。
また、本発明の物体識別装置において、前記三角形分割部は、前記立方体の各面の一辺の画素数を2+1(nは自然数)にするようにしてもよい。
本発明によれば、立方体の各面の1辺の画素数2+1(nは自然数)にするようにしたので、三角形分割部が行う三角形の再分割処理を整数系で誤差無く再分割していくことができる。
上記目的を達成するため、本発明のモデルデータの登録装置は、対象物モデルの形状データから基準点を抽出する基準点抽出部と、前記抽出された基準点を中心とし、前記対象物モデルを内包する仮想的な立方体の空間データを生成する立方体データ生成部と、前記仮想的な立方体の各面を2つの直角二等辺三角形に分割し、または、認識部からの再分割指示に基づき、前記直角二等辺三角形を直角と斜辺の中点とを結ぶ垂線により2つの直角二等辺三角形に再分割する三角形分割部と、前記分割された直角二等辺三角形の一方を選択し、選択した前記直角二等辺三角形の各頂点及び斜辺中点の各視点から見た前記対象物モデルの特徴に基づく4つのモデルデータを生成するモデルデータ生成部と、登録モデルデータを記憶する登録モデルデータ記憶部と、前記登録モデルデータを用いて前記各視点からのモデルデータを認識できるか否かを判定し、全ての前記各視点からのモデルデータを認識できる場合、前記生成されたモデルデータの登録指示をモデルデータ登録部に出力せず、かつ前記三角形分割部による三角形分割を停止し、認識できない視点からのモデルデータがあった場合、認識できなかった視点の前記モデルデータの登録指示と前記認識できなかった視点からのモデルデータとを前記モデルデータ登録部に出力し且つ前記三角形分割部に再分割の指示を出力する認識部と、前記登録指示に基づき、前記認識できなかった視点からのモデルデータを前記登録モデルデータ記憶部に新たな登録モデルデータとして記憶させるモデルデータ登録部とを備え、前記分割された直角二等辺三角形について、前記モデルデータ生成と、前記4つの視点からの認識と、前記モデルデータ登録と、前記直角二等辺三角形の再分割を再帰的に繰り返すことで前記対象物モデルの登録データの登録を行うことを特徴としている。
本発明によれば、3次元の検出対象物体の画像を二等辺三角形の分割、各頂点及び斜辺中点からの視点によるモデルデータの生成、登録モデルデータを用いて生成された各視点のモデルデータを認識し、登録モデルデータを用いて認識できない視点のモデルデータがある場合、モデルデータの登録と直角二等辺三角形の再分割を行って再度モデルデータを生成するようにし、登録モデルデータを用いて直角二等辺三角形の全ての頂点と斜辺からの視点によるモデルデータを認識できた場合、直角二等辺三角形の再分割を停止し、モデルデータの生成を停止、すなわちモデルデータの登録も停止するようにしたので、3次元物体を少ないメモリー容量でモデルデータを記憶させて登録することができる。
上記目的を達成するため、本発明の物体識別装置における物体識別方法において、基準点抽出部が、対象物モデルの形状データから基準点を抽出する基準点抽出工程と、立方体データ生成部が、前記抽出された基準点を中心とし、前記対象物モデルを内包する仮想的な立方体の空間データを生成する空間データ生成工程と、三角形分割部が、前記仮想的な立方体の各面を2つの直角二等辺三角形に分割し、または、認識部からの再分割指示に基づき、前記直角二等辺三角形を直角と斜辺の中点とを結ぶ垂線により2つの直角二等辺三角形に再分割する三角形分割工程と、モデルデータ生成部が、前記分割された直角二等辺三角形の一方を選択し、選択した前記直角二等辺三角形の各頂点及び斜辺中点の各視点から見た前記対象物モデルの特徴に基づく4つのモデルデータを生成するモデルデータ生成工程と、認識部が、登録モデルデータ記憶部に記憶されている前記対象物モデルの特徴に基づく登録モデルデータを用いて前記各視点からのモデルデータを認識できるか否かを判定し、全ての前記各視点からのモデルデータを認識できる場合、前記生成されたモデルデータの登録指示を登録モデルデータ登録部に出力せず、かつ前記三角形分割工程による三角形分割を停止し、認識できない視点からのモデルデータがあった場合、認識できなかった視点の前記モデルデータの登録指示と前記認識できなかった視点からのモデルデータとを前記モデルデータ登録部に出力し且つ前記三角形分割部に再分割の指示を出力する認識部と、モデルデータ登録部が、前記登録指示に基づき、前記認識できなかった視点からのモデルデータを前記登録モデルデータ記憶部に新たな登録モデルデータとして記憶させるモデルデータ登録工程とを備え、前記分割された直角二等辺三角形について、前記モデルデータ生成と、前記4つの視点からの認識と、前記登録を行うか否かの判別と、前記モデルデータ登録と、前記直角二等辺三角形の再分割を再帰的に繰り返すことで前記対象物モデルの登録データの登録を行い、前記登録モデルデータを用いて物体の識別を行うることを特徴としている。
本発明によれば、3次元の検出対象物体の画像を二等辺三角形の分割、各頂点及び斜辺中点からの視点によるモデルデータの生成、登録モデルデータを用いて生成された各視点のモデルデータを認識し、登録モデルデータを用いて認識できない視点のモデルデータがある場合、モデルデータの登録と直角二等辺三角形の再分割を行って再度モデルデータを生成するようにし、登録モデルデータを用いて直角二等辺三角形の全ての頂点と斜辺からの視点によるモデルデータを認識できた場合、直角二等辺三角形の再分割を停止し、モデルデータの生成を停止、すなわちモデルデータの登録も停止するようにしたので、3次元物体を少ないメモリー容量でモデルデータを記憶でき、比較のための演算量を削減して対象物体を認識することができる。
上記目的を達成するため、本発明の物体識別プログラムは、コンピュータに、コンピュータに、対象物モデルの形状データから基準点を抽出する基準点抽出手順と、前記抽出された基準点を中心とし、前記対象物モデルを内包する仮想的な立方体の空間データを生成する空間データ生成手順と、前記仮想的な立方体の各面を2つの直角二等辺三角形に分割し、または、認識部からの再分割指示に基づき、前記直角二等辺三角形を直角と斜辺の中点とを結ぶ垂線により2つの直角二等辺三角形に再分割する三角形分割する手順と、前記分割された直角二等辺三角形の一方を選択し、選択した前記直角二等辺三角形の各頂点及び斜辺中点の各視点から見た前記対象物モデルの特徴に基づく4つのモデルデータを生成するモデルデータ生成する手順と、登録モデルデータ記憶部に記憶されている前記対象物モデルの特徴に基づく登録モデルデータを用いて前記各視点からのモデルデータを認識できるか否かを判定し、全ての前記各視点からのモデルデータを認識できる場合、前記生成されたモデルデータの登録指示をモデルデータ登録部に出力せず、かつ前記三角形分割する手順による三角形分割を停止し、認識できない視点からのモデルデータがあった場合、認識できなかった視点の前記モデルデータの登録指示と前記認識できなかった視点からのモデルデータとを前記モデルデータ登録部に出力し且つ前記三角形分割部に再分割の指示を出力する認識する手順と、前記登録指示に基づき、前記認識できなかった視点からのモデルデータを前記登録モデルデータ記憶部に新たな登録モデルデータとして記憶させるモデルデータ登録する手順とを含み、前記分割された直角二等辺三角形について、前記モデルデータ生成手順と、前記4つの視点からの認識手順と、前記モデルデータ登録手順と、前記直角二等辺三角形の再分割の手順を再帰的に繰り返すことで前記対象物モデルの登録データの登録を行い、前記登録モデルデータを用いて物体の識別を行うことを実行させることを特徴としている。
本発明によれば、3次元の検出対象物体の画像を二等辺三角形の分割、各頂点及び斜辺中点からの視点によるモデルデータの生成、登録モデルデータを用いて生成された各視点のモデルデータを認識し、登録モデルデータを用いて認識できない視点のモデルデータがある場合、モデルデータの登録と直角二等辺三角形の再分割を行って再度モデルデータを生成するようにし、登録モデルデータを用いて直角二等辺三角形の全ての頂点と斜辺からの視点によるモデルデータを認識できた場合、直角二等辺三角形の再分割を停止し、モデルデータの生成を停止、すなわちモデルデータの登録も停止するようにしたので、3次元物体を少ないメモリー容量でモデルデータを記憶でき、比較のための演算量を削減して対象物体を認識することができる物体識別プログラムを提供できる。
上記目的を達成するため、本発明のロボットは、対象物モデルの形状データから基準点を抽出する基準点抽出部と、前記抽出された基準点を中心とし、前記対象物モデルを内包する仮想的な立方体の空間データを生成する立方体データ生成部と、前記仮想的な立方体の各面を2つの直角二等辺三角形に分割し、または、認識部からの再分割指示に基づき、前記直角二等辺三角形を直角と斜辺の中点とを結ぶ垂線により2つの直角二等辺三角形に再分割する三角形分割部と、前記分割された直角二等辺三角形の一方を選択し、選択した前記直角二等辺三角形の各頂点及び斜辺中点の各視点から見た前記対象物モデルの特徴に基づく4つのモデルデータを生成するモデルデータ生成部と、登録モデルデータを記憶する登録モデルデータ記憶部と、前記登録モデルデータを用いて前記各視点からのモデルデータを認識できるか否かを判定し、全ての前記各視点からのモデルデータを認識できる場合、前記生成されたモデルデータの登録指示をモデルデータ登録部に出力せず、かつ前記三角形分割部による三角形分割を停止し、認識できない視点からのモデルデータがあった場合、認識できなかった視点の前記モデルデータの登録指示と前記認識できなかった視点からのモデルデータとを前記モデルデータ登録部に出力し且つ前記三角形分割部に再分割の指示を出力する認識部と、前記登録指示に基づき、前記認識できなかった視点からのモデルデータを前記記憶部に新たな登録モデルデータとして記憶させるモデルデータ登録部とを備え、前記分割された直角二等辺三角形について、前記モデルデータ生成と、前記4つの視点からの認識と、前記モデルデータ登録と、前記直角二等辺三角形の再分割を再帰的に繰り返すことで前記対象物モデルの登録データの登録を行い、前記登録モデルデータを用いて物体の識別を行うことを特徴としている。
本発明によれば、3次元の検出対象物体の画像を二等辺三角形の分割、各頂点及び斜辺中点からの視点によるモデルデータの生成、各頂点及び斜辺中点からの視点によるモデルデータの相関値に基づき、モデルデータの登録か二等辺三角形の再分割を行って再度モデルデータを生成するようにし、近似したモデルデータが得られると判定したとき、二等辺三角形の再分割を停止し、モデルデータの生成を停止、すなわちモデルデータの登録も停止するようにしたので、3次元物体のモデルデータを少ないメモリー容量で記憶でき、比較のための演算量を削減して対象物体を認識することができるロボットを提供できる。
本発明の一実施形態であるロボットの斜視図である。 第1実施形態に係る物体識別装置の構成の一例を示すブロック図である。 同実施形態に係る検出対象物体および原点を説明する図である。 同実施形態に係る検出対象物体を内包する仮想的な立方体を説明する図である。 同実施形態に係る仮想的な立方体の各面を直角二等辺三角形に分割する一例を説明する図である。 同実施形態に係る直角二等辺三角形の各頂点からの視点で見たモデルデータを説明する図である。 同実施形態に係る直角二等辺三角形の各頂点及び斜辺中点からの視点で見たモデルデータを説明する図である。 同実施形態に係る登録モデルデータ記憶部108に記憶されている情報の一例を説明する図である。 同実施形態に係る検出対象物体を内包する仮想立方体の各面を再帰的に直角二等辺三角形に分割して行く処理を説明する図である。 同実施形態に係る直角二等辺三角形のパターン(型)と各頂点及び斜辺中点との関係を説明する図である。 同実施形態に係るパターン706(型#6)の直角二等辺三角形を二分割した後に生成される直角二等辺三角形を説明する図である。 同実施形態に係る分割前の直角二等辺三角形と分割後の直角二等辺三角形の各頂点と斜辺中点との関係を説明する図である。 同実施形態に係る面211を2つの直角二等辺三角形に分割し、直角二等辺三角形の各頂点及び斜辺中点からの視点によるモデルデータを説明する図である。 同実施形態に係る面211を再帰的に再分割した後の直角二等辺三角形の各頂点及び斜辺中点からの視点によるモデルデータを説明する図である。 同実施形態に係る物体識別装置のモデルデータ登録方法のフローチャートである。 同実施形態に係る物体識別装置のモデルデータ登録処理方法のフローチャートである。 同実施形態に係る物体識別装置のモデルデータ登録方法のフローチャートである。 同実施形態に係る直角二等辺三角形の再帰的2分割の手順を説明する図である。 同実施形態に係る直角二等辺三角形の再帰的2分割の手順を説明する図である。 同実施形態に係る直角二等辺三角形を再帰的に分割する面の分割数を説明する図である。 第2実施形態に係る物体識別装置の識別手順のフローチャートである。 3次元物体の方向による見え方の差を説明する図である。 3次元物体の2次元照合を説明するための図である。
以下、図1〜図21を用いて本発明の実施形態について詳細に説明する。なお、本発明は斯かる実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
[第1実施形態]
図1は、本発明の一実施形態であるロボットの斜視図である。図1のように、ロボット1は、床に固定された支持台2と、旋回および屈伸動作が可能なアーム部3と、回転および首振り動作が可能なハンド部4と、フレーム5と、カメラ6と、ケーブル7と、物体識別装置8と、画像表示装置9と、ロボットコントローラー10を含んで構成される。
ロボット1は、アーム部3およびハンド部4の伸縮、屈伸、旋回等の動作が可能である。このロボット1は、例えば、3軸以上の自由度を有し、アーム部3およびハンド部4が可動自在な産業用ロボットである。なお、同図に示すロボット1は、6軸の自由度を有する例である。
ロボット1は、ロボットコントローラー10の制御によって、アーム部3とハンド部4とを複合的に動作させ、ハンド部4を移動させる。なお、支持台2は、床の他に壁や天井等の地面に対して固定された場所に設置してもよい。
フレーム5は、ハンド部4に取り付けられている。そして、フレーム5は、カメラ6を固定支持する。これによって、カメラ6は、空間中を自在に移動することができる。このように、カメラ6は、ハンド部4の動きに伴って空間を移動し、検出対象物体を任意の位置および任意の角度から撮像することができる。
カメラ6は、ケーブル7を介して物体識別装置8に接続される。カメラ6は、例えば受光レンズとCCDセンサー等で構成され、検出対象物体を撮像し、撮像信号を生成する。そして、カメラ6は、撮像信号を物体識別装置8に出力する。なお、図1の例では、カメラ6は、フレーム5を介してロボット1に装着されている例を示したが、用途に応じて、カメラ6は、ロボット1に装着せず、外付けでも良い。
物体識別装置8には、撮像された撮像信号が入力され、入力された撮像信号に基づき識別した識別結果を画像表示装置9とロボットコントローラー10に出力する。
画像表示装置9は、物体識別装置8から入力された識別結果を表示する。また、ロボットコントローラー10は、ロボット1を非図示の制御プログラムにより制御し、さらに物体識別装置8からの識別結果に基づき、対象物体を移動するようにアーム部3などの制御を行う。
次に、図2を用いて、本実施形態の物体識別装置8について説明する。図2は、本実施形態に係る物体識別装置の構成の一例を示すブロック図である。図2のように、物体識別装置8は、形状データ取得部101と、原点抽出部102と、立方体データ生成部103と、三角形分割部104と、認識部105と、モデルデータ生成部106と、モデルデータ登録部107と、登録モデルデータ記憶部108と、画像データ取得部111と、識別部112と、識別結果出力部113とを備える。
形状データ取得部101には、例えば、図3(a)のような検出対象物体の3次元形状情報(例えばCAD(Computer Aided Design)データ)が入力され、入力された検出対象物体の3次元形状情報を原点抽出部102に出力する。図3は、検出対象物体および原点を説明する図である。
原点抽出部102(基準点抽出部)は、形状データ取得部101が検出した検出対象物体の3次元形状情報が入力され、入力された検出対象物体の3次元形状情報から重心などの代表点201(本実施形態では、重心とし、以下、代表点201を重心201という)を原点として抽出し、抽出した原点情報と検出対象物体の3次元形状情報を立方体データ生成部103に出力する。例えば、図3(b)のように、原点抽出部102は、検出対象物体200の3次元形状情報に基づき、重心201を算出する。
立方体データ生成部103は、原点抽出部102が抽出した原点情報と検出対象物体の3次元形状情報とが入力され、入力された原点情報と検出対象物体の3次元形状情報に基づき、原点を重心として検出対象物体を内包する仮想的な立方体データを生成する。また、立方体データ生成部103は、生成した立方体データと検出対象物の3次元形状情報と原点情報とを三角形分割部104に出力する。図4は、本実施形態における検出対象物体を内包する仮想的な立方体を説明する図である。図4のように、仮想的な立方体は、原点201(図3の重心201)を重心とし、検出対象物体200を内包する。また、記号211〜216は、立方体表面の各面を示している。
三角形分割部104は、立方体データ生成部103が生成した立方体データと検出対象物の3次元形状情報と原点情報が入力され、入力された立方体データから各面を順次、選択する。また、三角形分割部104は、選択した各面をそれぞれ2つの直角辺三角形に分割する。さらに、三角形分割部104は、生成した2つの直角二等辺三角形情報(各頂点の座標)と立方体データと検出対象物体の3次元形状情報と原点情報とを認識部105に出力する。図5は、仮想的な立方体の各面を直角二等辺三角形に分割する一例を説明する図である。図5のように、6つの面211〜216は、それぞれ2つの直角二等辺三角形に分割される。図5において、面212は頂点a2とa4を結ぶ対角線で分割する例を説明したが、これに限られずに頂点a1とa3を結ぶ対角線を用いて分割しても良い。
認識部105は、三角形分割部104が生成した直角二等辺三角形情報と立方体データと検出対象物体の3次元形状情報と原点情報、およびモデルデータ生成部106が生成したモデルデータが入力される。また、認識部105は、入力された立方体データと直角二等辺三角形情報に基づき、未登録処理の面の1つの直角二等辺三角形を選択する。そして、選択した直角二等辺三角形の各頂点および斜辺中点からの各視点に基づき生成された各モデルデータの特徴と登録モデルデータ記憶部108に記憶されている登録モデルデータの特徴とを比較することで、検出対象物体を認識する。すなわち、認識部105は、例えば、1つの頂点からの視点に基づくモデルデータの特徴と登録モデルデータの特徴とを比較し、その頂点からの視点のモデルデータの特徴が登録モデルデータの特徴を使って認識できるか否かを判別する。判別の結果、認識できた場合、認識部105は、未照会の頂点か斜辺かの視点によるモデルデータの特徴と登録モデルデータの特徴との比較による認識を繰り返す。そして、選択した1つの頂点または斜辺中点からの視点のモデルデータが、登録モデルデータの特徴を使って認識できた場合、登録モデルデータで認識が可能、すなわち、登録モデルデータとモデルデータを共用(兼用)可能と判断する。そして、認識部105は、モデルデータ登録部107に、選択した1つの頂点または斜辺中点からの視点の座標値を認識出来た登録モデルデータに対応付けて設定する指示を行う。一方、比較の結果、登録モデルデータの特徴を使って認識できなかった視点のモデルデータがあった場合、認識できなかった視点のモデルデータとその視点の座標(頂点情報)、およびそのモデルデータの登録指示と設定指示とをモデルデータ登録部107に出力する。
尚、この処理の初期状態では登録モデルデータは1つも無く、前記、および後記の処理の進行に伴い、必要最小数のモデルデータが登録されることになる。
さらに、認識部105は、選択された直角二等辺三角形の各頂点及び斜辺中点からの視点によるモデルデータを生成する指示をモデルデータ生成部106に出力する。
さらに、認識部105は、認識結果をモデルデータ登録部107に出力する。
図6は、直角二等辺三角形の各頂点からの視点で見たモデルデータを説明する図である。図6のように、例えば、画像301は、面211の頂点a1から検出対象物体200を見た2次元画像情報であり、同様に画像302〜304は、各頂点a2〜a4から見た二次元画像情報である。図7は、直角二等辺三角形の各頂点及び斜辺中点からの視点で見たモデルデータを説明する図である。図7のように、検出対象物体200が比較的、対称性の高い形状を有している場合、いくつかの方向から見た画像は近似しているため、それらの認識においては共通のモデルデータを用いることができる可能性がある。
モデルデータ生成部106は、認識部105からモデル生成指示と頂点情報とが入力され、入力されたモデル生成指示に応じて、入力された直角二等辺三角形の各頂点と斜辺中点からの視点の2次元画像を生成する。また、モデルデータ生成部106は、各視点の2次元画像ごとに特徴を抽出し、抽出した各視点の特徴をモデルデータとして生成し、生成したモデルデータを認識部105に出力する。
モデルデータ登録部107は、認識部105から認識結果と頂点情報と、生成されたモデルデータと、モデルデータを登録する指示が入力され、または、頂点情報と、登録モデルデータに頂点情報を対応付けて設定する指示とが入力される。また、モデルデータ登録部107は、入力された判別結果に基づき、モデルデータを登録する指示に応じて、モデルデータをモデルデータ登録部107に登録して記憶させ、登録したモデルデータに、その頂点または斜辺中点の座標値を対応付けて設定する。さらに、モデルデータ登録部107は、登録データに頂点情報を対応付けて設定する指示に応じて、登録済みモデルデータ(登録モデルデータ)に頂点情報を対応付けて登録モデルデータ記憶部108に設定して記憶させる。
登録モデルデータ記憶部108は、図8のように、特徴量であるモデルデータと頂点情報とが対応付けられて記憶されている。図8は、登録モデルデータ記憶部108に記憶されている情報の一例を説明する図である。図8のように、表形式で記憶され、モデルデータとそのモデルデータが生成された視点の座標(x、y、z)とが対応付けられて記憶されている。また、図8では、モデルデータ401〜409を可視化して示しているが、モデルデータ401〜409は、それぞれ特徴量の集合である。また、認識部105の比較結果に基づき、同じモデルデータであると判別された視点の座標も対応付けて記憶させる。一例として、図7の頂点501からの視点のモデルデータ511と、頂点507からの視点のモデルデータ517との相関値が所定のしきい値以上であった場合、モデルデータ511のみ記憶され、モデルデータ511に頂点501と頂点517とが対応付けて記憶される。
画像データ取得部111は、カメラ6が撮像した画像信号を識別部112に出力する。
識別部112は、画像データ取得部111から取得された画像情報が入力される。また、識別部112は、登録モデルデータ記憶部108に登録されている登録モデルデータを順次、読み出す。さらに、識別部112は、読み出した登録モデルデータと入力された画像情報と比較することで、撮像された物体が登録されている検出対象物であるか否かを識別する。識別部112は、撮像された物体が登録されている検出対象物と識別された場合、登録モデルデータに対応付けて記憶されている座標値を読み出し、検出対象物体の位置、回転角度を算出し、判定結果と算出した検出対象物体の位置、回転角度とを識別結果出力部113に出力する。また、識別部112は、撮像された物体が登録されている検出対象物と識別されなかった場合、未照会の登録モデルデータと撮像された物体との比較を順次行い、登録されている全ての登録モデルデータを用いても撮像された物体を識別できなかった場合、識別できなかった情報を識別結果出力部113に出力する。
識別結果出力部113は、識別部112が判定した判定結果と算出した検出対象物体の位置、回転角度とが入力され、入力された判定した判定結果と算出した検出対象物体の位置、回転角度とを画像表示装置9に表示可能な表示データに変換して画像表示装置9に出力する。
[モデルデータ登録方法の説明]
次に、本実施形態における物体識別装置8のモデルデータ登録方法を、図3〜図5、図9、図10、図13〜図17を用いて説明する。図15〜図17は、本実施形態における物体識別装置8のモデルデータの登録方法のフローチャートである。
まず、モデルデータ登録部107は、登録モデルデータを初期化する(ステップS1)。登録モデルデータを初期化するとは、登録モデルデータを記憶するメモリーを全てクリアするということである。
次に、形状データ取得部101には、検出対象物体200の3次元形状情報(例えばCADデータ)が入力され、入力された検出対象物体の3次元形状情報を原点抽出部102に出力する(ステップS2、図3(a))。
次に、原点抽出部102には、検出対象物体200の3次元形状情報が入力され、入力された検出対象物体の3次元形状情報から重心などの代表点を抽出し、抽出した代表点を原点201に設定する(ステップS3、図3(b))。そして、原点抽出部102は、設定した原点情報と検出対象物体の3次元形状情報を立方体データ生成部103に出力する。
次に、立方体データ生成部103には、検出対象物体200の3次元形状情報と原点情報が入力され、入力された検出対象物体の3次元形状情報と原点情報に基づき、原点を中心として検出対象物体を内部に含む立方体データを生成する(ステップS4、図4)。そして、立方体データ生成部103は、生成した立方体データと検出対象物体200の3次元形状情報と原点情報を三角形分割部104に出力する。
次に、認識部105は、前記立方体の全ての面についての登録処理が終了したか否かを判定し(ステップS5)、判定の結果、全ての面の登録処理が終了してない場合(ステップS5;No)、ステップS6に進む。
次に、三角形分割部104には、生成された立方体データと検出対象物体の3次元形状情報と原点情報が入力され、入力された立方体データから6つの面の中から1つの面を選択する(ステップS6、図5、図9)。次に、三角形分割部104は、図9のように、選択した面を2つの直角二等辺三角形に分割する(ステップS7、図9)。
次に、三角形分割部104は、生成した2つの三角形情報(各頂点の座標)と検出対象物体の3次元形状情報と原点情報を認識部105に出力する。図9は、検出対象物体200を内包する仮想立方体の各面を再帰的に直角二等辺三角形に分割して行く処理を説明する図である。
次に、認識部105には、生成された2つの三角形情報と検出対象物体200の3次元形状情報と原点情報が入力される。そして、認識部105は、2つの直角二等辺三角形の処理が完了したか否かを判定し(ステップS7)、判定の結果、2つの直角二等辺三角形の処理が完了している場合(ステップS7;Yes)、ステップS5に戻り、まだ処理を行っていない面の処理を行う。
判定の結果、2つの直角二等辺三角形の処理が完了していない場合(ステップS7;No)、入力された2つの三角形情報(各頂点の座標)に基づき、未登録処理の直角二等辺三角形を選択する(ステップS8)。
次に、認識部105とモデル登録部107は、モデル登録処理を行う(ステップS9)。
次に、ステップS9のモデル登録処理の方法を、図16のフローチャートを用いて説明する。認識部105は、選択した直角二等辺三角形の各頂点を図10のルールに従って置き換え、さらに斜辺中点dの座標を算出する(ステップS101)。なお、分割後の直角二等辺三角形は、図10のように8パターン701(型#1)〜708(型#8)に分類できる。そして、頂点a,b,c及び斜辺中点dを、各パターンに応じて図10のように定義する。図10は、二等辺三角形のパターン(型)と各頂点及び斜辺中点との関係を説明する図である。
次に、認識部105は、直角二等辺三角形の各頂点a、b、cおよび斜辺中点dの全てにモデルデータが設定されているか否かを判定する(ステップS102)。判定の結果、直角二等辺三角形の頂点a、b、cおよび斜辺中点dにモデルデータが設定されている場合(ステップS102;Yes)、ステップS121に進む。
ステップS102の判定の結果、直角二等辺三角形の頂点a、b、cおよび斜辺中点dの中にモデルデータが設定されていない点がある場合(ステップS102;No)、認識部105は、モデルデータが未設定の頂点、あるいは斜辺中点のいずれかを選択する(ステップS103)。なお、選択された1つの直角二等辺三角形において、モデルデータが設定されている点が複数ある場合、点の選択の優先順位は、例えば、頂点aが頂点bより高く、頂点bが頂点cより高く、頂点cが斜辺中点cより高くしてもよいが、本発明はこれに限られない。
次に、認識部105は、選択した頂点か斜辺中点から検出対象物体200を見た2次元画像データの特徴であるモデルデータ(例えば頂点aからの視点のモデルデータであれば、以下、視点aのモデルデータという)を生成する指示と、選択した頂点または斜辺中点の座標と、検出対象物体の3次元形状情報と、原点情報とをモデルデータ生成部106に出力する。
次に、モデルデータ生成部106には、検出対象物体の3次元形状情報と、原点情報と、頂点または斜辺中点のモデルデータを生成する指示が入力される。モデルデータ生成部106は、与えられた指示に基づき、頂点または斜辺中点のモデルデータを生成し、生成した頂点または斜辺中点のモデルデータを認識部105に出力する(ステップS104)。
次に、認識部105は、ステップS103で選択した以外の選択した直角二等辺三角形における各頂点および斜辺中点からの視点によるモデルデータが登録モデルデータ記憶部108に設定されているか否かを判別する(ステップS105)。図9において、面212が選択された場合、先に直角二等辺三角形601の登録処理が終了し、次ぎに直角二等辺三角形602の登録処理を行う場合、頂点a11とc11のモデルデータはすでに頂点a1とb1のモデルデータとして設定されている。このように、すでに頂点や斜辺中点のモデルデータが、他の直角二等辺三角形で設定されている場合がある。
なお、登録とは、モデルデータ登録部107が、モデルデータ生成部106が生成した特徴量であるモデルデータを登録モデルデータ記憶部108に記憶することである。また、設定されるとは、直角二等辺三角形の各頂点または斜辺中点におけるモデルデータが、登録済みモデルデータで認識可能な場合に、認識可能なモデルデータにその頂点または斜辺中点が対応付けられて設定されていることである。
ステップS105の判別の結果、選択した以外の頂点および斜辺中点からの視点によるモデルデータが登録モデルデータ記憶部108に設定されている場合(ステップS105;Yes)、ステップS107に進む。
ステップS105の判定の結果、選択した以外の頂点および斜辺中点からの視点によるモデルデータが登録モデルデータ記憶部108に設定されていない場合(ステップS105;No)、認識部105は、他に登録済みのモデルデータが登録モデルデータ記憶部108に登録されているか否かを判別する(ステップS106)。他に登録済みのモデルデータが登録モデルデータ記憶部108に登録されていない場合(ステップS106;No)、ステップS110に進む。
ステップS106で、他に登録モデルデータが登録されていないと判別された場合(ステップS106;No)、認識部105は、選択した頂点または斜辺中点のモデルデータと、選択した頂点または斜辺中点の座標値とをモデルデータ登録部107に出力し、ステップS111に進む。
他に登録モデルデータが登録モデルデータ記憶部108に登録されている場合(ステップS106;Yes)、認識部105は登録モデルデータ記憶部108に登録されているモデルデータの中から1つ選択する(ステップS107)。
次に、認識部105は、ステップS107で選択した登録済みのモデルデータを用いて、選択した頂点または斜辺中点の視点から検出対象物体200を認識できるか否かを判定する(ステップS108)。すなわち、認識部105は、選択した頂点または斜辺中点のモデルデータとステップS107で選択した登録モデルデータを比較することで、選択した頂点または斜辺中点の視点から検出対象物体200を認識できるか否かを判定する。
ステップS108の判定の結果、選択した登録済みのモデルデータを用いて、選択した頂点または斜辺中点からの視点で検出対象物体200を認識できた場合(ステップS108;Yes)、認識部105は、判定結果と認識できた登録モデルデータと頂点情報または斜辺中点情報をモデルデータ登録部107に出力する。この場合、ステップS107で選択した登録済みのモデルデータで認識できたため、選択した頂点または斜辺中点のモデルデータと登録モデルデータが一致または類似していることになる。
次に、モデルデータ登録部107には、認識出来た登録済みのモデルデータと頂点情報または斜辺中点情報が入力され、入力された登録済みのモデルデータと頂点情報または斜辺中点情報に基づき、登録モデルデータ記憶部108に登録済みのモデルデータに選択した頂点または斜辺中点の座標値を対応付けて設定する(ステップS109)。設定後、ステップS102に戻る。
ステップS108の判定の結果、登録モデルデータ記憶部108に登録されているモデルデータを用いて頂点または斜辺中点からの視点で検出対象物体200を認識できない場合(ステップS108;No)、認識部105は、登録モデルデータ記憶部108に未比較の登録済みモデルデータがあるか否かを判定する(ステップS110)。
ステップS110の判定の結果、登録モデルデータ記憶部108に未比較のモデルデータが登録されている場合(ステップS110;Yes)、ステップS107に戻る。
ステップS110の判定の結果、登録モデルデータ記憶部108に未比較のモデルデータが登録されていない場合(ステップS110;No)、認識部105は、ステップS103で選択された頂点または斜辺中点の座標値と、ステップS104で生成された頂点または斜辺中点のモデルデータをモデルデータ登録部107に出力する。
次に、モデル登録部107には、頂点または斜辺中点の座標値と、頂点または斜辺中点のモデルデータが入力される。モデルデータ登録部107は、入力された頂点または斜辺中点のモデルデータ、すなわちステップS104で生成されたモデルデータを新たな登録モデルデータとして登録モデルデータ記憶部108に記憶させることで登録する。また、モデルデータ登録部107は、入力された頂点または斜辺中点の座標値を登録したモデルデータと対応付けて設定する(ステップS111)。登録及び設定処理の終了後、ステップS102に戻る。
選択した直角二等辺三角形の全ての頂点a、b、cおよび斜辺中点dについてステップS102〜ステップS111を繰り返す。
図13は、面211を2つの直角二等辺三角形に分割し、直角二等辺三角形の各頂点及び斜辺中点からの視点によるモデルデータを説明する図である。図13のように、面211を2つの直角二等辺三角形821と822に分割し、直角二等辺三角形821の各頂点801〜803及び斜辺中点809からの視点によるそれぞれのモデルデータ811、815、817、819が生成される。
ステップS102の判定の結果、直角二等辺三角形の各頂点および斜辺中点の4箇所にモデルデータが設定されている場合(ステップS102;Yes)、認識部105は、登録モデルデータ記憶部108に記憶されている直角二等辺三角形の頂点および斜辺中点に設定されている各モデルデータを読み出す。そして、認識部105は、読み出した直角二等辺三角形の頂点および斜辺中点のモデルデータ同士が互いに一致するか否かを判定する(ステップS121)。
ステップS121の判定の結果、4箇所のモデルデータ同士が互いに登録モデルデータと一致する場合(ステップS121;Yes)、選択した直角二等辺三角形の再分割指示を三角形分割部104に指示せず再分割を終了し、選択した直角三角形についての登録処理を終了する。
ステップS121の判定の結果、4箇所のモデルデータ同士が互いに一致しない場合(ステップS121;No)、認識部105は、ステップS8で選択された直角二等辺三角形を再分割する指示を三角形分割部104に出力する。
次に、三角形分割部104には、直角二等辺三角形を再分割する指示が入力される。三角形分割部104は、入力された再分割指示に基づきステップS8で選択された直角二等辺三角形を2つの直角二等辺三角形に二等分割し、分割した2つの直角二等辺三角形の頂点座標情報を認識部105に出力する(ステップS122)。
三角形分割部104は、再分割された2つの直角二等辺三角形のうち1つの2つの直角二等辺三角形を選択し、ステップS101〜ステップS121を3つの頂点と斜辺中点からの視点から見たモデルデータ同士が互いに一致するまで再帰的に繰り返す(ステップS123)。
次に、三角形分割部104と認識部105とモデルデータ生成部106とモデルデータ登録部107は、再分割された2つの直角二等辺三角形のうちの未処理の直角二等辺三角形を選択し、ステップS101〜ステップS121を3つの頂点と斜辺中点からの視点から見たモデルデータ同士が互いに一致するまで、分割とモデルデータの登録と再帰的に繰り返す(ステップS124)。以上で、登録モデルデータおよびモデルデータの登録処理(ステップS9)を終了する。
図14は、直角二等辺三角形の3頂点及び斜辺中点の各視点から見たモデルデータが一致する例を説明する図である。図14のように、直角二等辺三角形851の頂点861〜863及び斜辺中点864の各視点から見たモデルデータ871〜874を一致しているとして扱う。
[フローチャートにおけるモデルデータ登録処理の一例の説明]
具体的な処理方法の一例を説明する。認識部105は、まず分割された直角二等辺三角形のうちの一方を選択する(ステップS8)。この時点では、まだ登録モデルデータ記憶部108にはモデルデータが登録されていないとする。
次に、認識部105は、直角二等辺三角形の各頂点及び斜辺中点にモデルデータがまだ設定されていないため(ステップS102;No)、頂点aを選択する(ステップS103)。
次に、モデルデータ生成部106は、選択した頂点aのモデルデータを生成する(ステップS104)。次に、認識部105は、登録モデルデータ記憶部108に他の頂点b、cまたは斜辺中点dにモデルデータが設定されていないか判定する(ステップS105)。この場合、他の頂点b、cまたは斜辺中点dは、まだモデルデータに対応付けられて設定されていないため(ステップS105;No)、認識部105は、登録モデルデータ記憶部108にすでに登録済みモデルデータがあるか否かを判別する(ステップS106)。この場合、モデルデータが、まだ何も登録されていないので、ステップS111に進み、モデルデータ登録部107は、ステップS104で生成された頂点aのモデルデータを登録し、さらに頂点aの座標値を登録したモデルデータに対応付けて登録する(ステップS110)。
ステップS102に戻り、まだ頂点aのみにしかモデルデータが設定されていないため(ステップS102;No)、認識部105は、頂点bを選択する(ステップS103)。次に、モデルデータ生成部106は、頂点bのモデルデータを生成する(ステップS104)。
次に、認識部105は、すでに頂点aにモデルデータが設定されているので、設定済みの頂点があると判定する(ステップS105;Yes)。次に、認識部105は、頂点aに設定されているモデルデータ、すなわち頂点aのモデルデータを選択する(ステップS107)。
次に、認識部105は、頂点bからの視点を選択した登録済みの頂点aのモデルデータで認識できるか否かを判別する(ステップS108)。すなわち、頂点aのモデルデータと頂点bのモデルデータを比較することで、頂点bからの視点を頂点aのモデルデータで認識できるか否かを判別する。
頂点bからの視点をこの頂点aのモデルデータで認識できた場合(ステップS108;Yes)、モデルデータ登録部107は、頂点aのモデルデータに頂点bの座標値を対応付けて登録モデルデータ記憶部108に設定する(ステップS109)。
再びステップS102に戻り、認識部105は、次に頂点cを選択する(ステップS102〜S103)。次に、モデルデータ生成部106は、頂点cのモデルデータを生成する(ステップS104)。
次に、認識部105は、すでに頂点a及び頂点bにモデルデータが設定されているので、設定済みの頂点があると判定する(ステップS105;Yes)。次に、認識部105は、頂点aに設定されているモデルデータ、すなわち頂点aのモデルデータを選択する(ステップS107)。
次に、認識部105は、登録済みの頂点aのモデルデータを用いて頂点cからの視点を認識出来るか否かを判別する(ステップS108)。頂点cからの視点を頂点aのモデルデータで認識できた場合(ステップS108;Yes)、モデルデータ登録部107は、頂点aのモデルデータに頂点cの座標値を対応付けて登録モデルデータ記憶部108に設定する(ステップS109)。
再びステップS102に戻り、認識部105は、次に斜辺中点dを選択する(ステップS102〜S103)。次に、モデルデータ生成部106は、斜辺中点dのモデルデータを生成する(ステップS104)。
次に、認識部105は、すでに頂点a、b及びcにモデルデータが設定されているので、設定済みの頂点があると判定する(ステップS105;Yes)。次に、認識部105は、頂点aに設定されているモデルデータ、すなわち頂点aのモデルデータを選択する(ステップS107)。
次に、認識部105は、登録済みの頂点aのモデルデータを用いて斜辺中点dからの視点を認識出来るか否かを判別する(ステップS108)。斜辺中点dからの視点を頂点aのモデルデータで認識できた場合(ステップS108;Yes)、モデルデータ登録部107は、頂点aのモデルデータに斜辺中点dの座標値を対応付けて登録モデルデータ記憶部108に設定する(ステップS109)。
再びステップS102に戻り、選択した直角二等辺三角形の頂点a〜c及び斜辺中点d全てにモデルデータが設定済みであるため(ステップS102;Yes)、認識部105は、各頂点と斜辺中点に設定されているモデルデータ同士が互いに一致するか否か判定する(ステップS121)。各頂点と斜辺中点のモデルデータ同士が互いに一致するため(ステップS121;Yes)、認識部105は、選択した直角に等辺三角形の再分割指示は行わず、選択した直角三角形についての登録処理を終了する。
例えば、頂点a〜c及び斜辺中点dに設定されているモデルデータが一致しない場合、すなわち1つのモデルデータで頂点a〜c及び斜辺中点dの全ての視点から認識出来なかった場合(ステップS121;No)、認識部105は、選択した直角二等三角形について三角形分割部104への再分割指示を行い、再分割した直角二等辺三角形の一方を選択し、ステップS101〜ステップS122を行う。
例えば、ステップS108において、頂点bからの視点が視点aのモデルデータで認識出来なかった場合(ステップS108;No)、認識部105は、未比較の登録済みモデルデータが登録モデルデータ記憶部108にあるか否か判別する(ステップS110)。登録済みのモデルデータが無い場合(ステップS110;No)、モデルデータ登録部107は、頂点bのモデルデータを新たなモデルデータとして登録モデルデータ記憶部108に登録し、登録した頂点bのモデルデータに頂点bの座標値を対応付けて設定する(ステップS111)。
また、ステップS108において、頂点cからの視点が視点aのモデルデータで認識出来なかった場合(ステップS108;No)、認識部105は、頂点bのモデルデータ及び、すでに登録済みのモデルデータを用いて認識が出来るか判別する(ステップ107〜S108)。
このように、各頂点及び斜辺中点からの視点について、登録モデルデータ記憶部108に登録済みのモデルデータを順次用いて認識ができるか否かを判別していく。この場合、1つの登録モデルデータで全ての頂点および斜辺中点の視点を認識出来なかったため(ステップS121;No)、認識部105は、選択した直角二等三角形について三角形分割部104への再分割指示を行う。次に、三角形分割部104は、選択された直角二等辺三角形を再分割する(ステップS122)。そして、再分割された各直角二等辺三角形について、それぞれ1つのモデルデータで認識できるまで再帰的に分割して処理を行う(ステップS123、S124)。
次に、ステップS8で選択した一方の二等辺直角三角形に対する登録と設定処理が終了している例について説明する。直角二等辺三角形の頂点aを選択後(ステップS103)、登録モデルデータ記憶部108に、例えば、すでに頂点bにモデルデータが対応付けられて設定されている場合(ステップS105;Yes)、認識部105は頂点bに対応付けられて設定されている登録済みのモデルデータを選択する(ステップS107)。
次に、認識部105は、選択した頂点bに対応付けられている登録済みのモデルデータを用いて頂点aからの視点を認識出来るか否かを判定する(ステップS108)。選択した頂点bに対応付けられている登録済みのモデルデータで認識可能だった場合(ステップS108;Yes)、モデルデータ登録部107は、選択した頂点bに対応付けられている登録済みのモデルデータに、頂点aの座標値を対応付けて登録モデルデータ記憶部108に設定する(ステップS109)。
次に、頂点c及び斜辺中点dからの視点も頂点aと同様に、選択された頂点bの登録モデルデータで認識できた場合、この直角二等辺三角形については新たなモデルデータの登録は行わず、認識出来た頂点bに対応付けられている登録済みのモデルデータに、頂点aとc及び斜辺中点dの座標値を対応付けて設定するのみで、選択した直角二等辺三角形の登録処理を終了する。
次に、直角二等辺三角形の頂点aを選択後(ステップS103)、登録モデルデータ記憶部108に他の頂点b、cおよび斜辺中点dのモデルデータは設定されていず(ステップS105;No)、登録モデルデータ記憶部108に他のモデルデータが登録されている場合について説明する。
認識部105は、登録済みのモデルデータの1つを選択する(ステップS107)。次に、認識部105は、選択したモデルデータを用いて頂点aからの視点を認識出来るか否かを判定する(ステップS108)。選択したモデルデータで認識可能だった場合(ステップS108;Yes)、モデルデータ登録部107は、選択したモデルデータに頂点aの座標値を対応付けて登録モデルデータ記憶部108に設定する(ステップS109)。
次に、頂点b、c及び斜辺中点dからの視点も頂点aと同様に、選択されたモデルデータで認識できた場合、認識部105とモデルデータ登録部107は、この直角二等辺三角形については新たなモデルデータの登録は行わない。そして、認識部105とモデルデータ登録部107は、認識出来たモデルデータに各頂点及び斜辺中点の座標値を対応付けて設定するのみで、選択した直角二等辺三角形の登録処理を終了する。
図9の例では、面212は直角二等辺三角形601と602に分割し、直角二等辺三角形601は、さらに直角二等辺三角形603と604とに再分割され、直角二等辺三角形603に対応する各頂点(a2,b2,c2)及び斜辺中点に対応付けられている4つのモデルデータ同士が互いに一致したため、三角形分割部104は分割を終了する。そして、直角二等辺三角形604は、さらに直角二等辺三角形605と606とに再分割され、直角二等辺三角形605に対応する各頂点(a4,b4,c4)及び斜辺中点に対応付けられている4つのモデルデータ同士が互いに一致し、さらに、直角二等辺三角形606に対応する各頂点(a5,b5,c5)及び斜辺中点に対応付けられた4つのモデルデータ同士が互いに一致したため、三角形分割部104は三角形605と606の分割を終了する。
次に、三角形分割部104は、未処理の三角形602に戻り、同様に3つの頂点と斜辺中点に対応付けられたモデルデータ同士が互いに一致するまで再帰的に繰り返して、直角二等辺三角形607と608に分割する。
[直角二等辺三角形の分割とモデルデータ登録処理の具体例]
次に、本実施形態における物体識別装置8のモデルデータの登録処理の具体的な例を、図3〜図5、図9〜図14を用いて説明する。まず、形状データ取得部101は、検出対象物体200の3次元形状情報を取得し(図3(a))、原点抽出部102は、取得した3次元形状情報から重心(中心)などの原点201を抽出する(図3(b))。次に、立方体データ生成部103は、原点201を重心とし、検出対象物体200を内包する仮想的な立方体データを生成する(図4)。次ぎに、三角形分割部104は、生成された立方体の各面211〜216をそれぞれ直角二等辺三角形に分割する(図5、図9)。
次に、三角形分割部104は、図9のように、立方体の1つの面、例えば面212を選択し、選択した面212の2つの直角二等辺三角形601と602の中から、どちらか一方の直角二等辺三角形、例えば直角二等辺三角形601を選択する。図11のように、706の直角二等辺三角形を再分割すると、パターン701とパターン704の直角二等辺三角形が生成される。そして、パターン701(型#1)〜パターン702(型#7)をそれぞれ再分割した場合、再分割後の2つの直角二等辺三角形のパターンおよび有する頂点は、図12のような関係である。図11は、パターン706(型#6)の直角二等辺三角形を二分割した後に生成される直角二等辺三角形を説明する図である。図12は、分割前の直角二等辺三角形と分割後の直角二等辺三角形の各頂点と斜辺中点との関係を説明する図である。
直角二等辺三角形601は、パターン703に相当するため、三角形分割部104は、各頂点がa1,b1,c1に変換され、さらに斜辺a1b1の中点d1を算出する。認識部105は、図16と図17におけるステップS101〜ステップS125を繰り返し、モデルデータ登録部107がモデルデータの登録、または登録済みモデルデータに各頂点と斜辺中点と対応付けた設定を行う。
そして、認識部105は、登録モデルデータ記憶部108に登録されているモデルデータ、または、すでにモデルデータが設定されている頂点に対応付けられている登録済みのモデルデータを用いて、順次、各頂点a1,b1,c1と斜辺中点d1からの視点が認識出来るか否かを判別する。この場合、選択するモデルデータに優先順位は、選択された直角二等辺三角形の頂点にすでにモデルデータが設定されていれば、設定済みのモデルデータを用い、設定されていない場合に選択した直角二等辺三角形の各頂点及び斜辺中点と対応付けられていない他のモデルデータを選択する。
また、直角二等辺三角形における頂点および斜辺中点の選択の優先順位は、頂点a1が頂点b1より高く、頂点b1が頂点c1より高く、頂点c1は斜辺中点d1より高い。例えば、頂点a1のモデルデータで他の頂点b1,c1および斜辺中点d1からの視点が認識出来た場合、モデルデータ登録部107は、頂点a1のモデルデータのみが新たなモデルデータとして登録モデルデータ記憶部108に登録する。さらに、モデルデータ登録部107は、登録した頂点a1のモデルデータのモデルデータに頂点a1、b1、c1、及び斜辺中点d1の座標値を対応付けて設定し、この直角二等辺三角形601の分割を終了する。
一方、登録モデルデータ記憶部108に登録されている登録モデルデータを用いて、認識でき無い視点がある場合、すなわち、各頂点及び斜辺中点に対応付けられている4つのモデルデータ同士が互いに一致しないため、三角形分割部104は、直角二等辺三角形601を直角二等辺三角形603と604とに再分割する。
次に、三角形分割部104は、直角二等辺三角形603を選択し、直角二等辺三角形601のときと同様に、各頂点及び斜辺中点に対応付けられているモデルデータ同士が互いに一致するか否か、すなわち、1つの登録済みモデルデータを用いて、全ての頂点および斜辺中点からの視点が認識出来るか否を判別する。認識部105は、直角二等辺三角形603に関して、各頂点a2,b2,c2及び斜辺中点d2の4点が頂点a2の登録済みモデルデータを用いて認識出来たと判定する。この場合、三角形分割部104は直角二等辺三角形603の再分割は行わず、モデルデータ登録部107は、頂点a2のモデルデータに、頂点a2の座標と対応付けて登録モデルデータ記憶部108に記憶させて登録する。次に、モデルデータ登録部107は、頂点a2の登録済みモデルデータに頂点b2,c2及び斜辺中点d2の座標と対応付けて登録モデル記憶部108に設定する。
直角二等辺三角形603の残りの直角二等辺三角形604についても、同様に、認識部105は、1つの登録済みモデルデータを用いて各頂点a3,b3,c3及び斜辺中点d3からの視点を認識できるか否かを判定する。直角二等辺三角形604に1つの登録済みモデルデータを用いて認識できない視点があった場合、三角形分割部104は、直角二等辺三角形604を直角二等辺三角形605と606とに再分割する。認識部105は、直角二等辺三角形605と606それぞれについて、登録済みモデルデータを用いて、各視点のモデルデータを認識できるか否かを判定する。
そして、直角二等辺三角形605と606について登録済みモデルデータを用いて、各視点のモデルデータを認識できない視点のモデルデータがあった場合、三角形分割部104は、直角二等辺三角形を再分割する。
二等辺三角形601の残りの直角二等辺三角形602についても同様の処理を行う。
このように、直角二等辺三角形に分割し、その一方を選択して、選択した直角二等辺三角形の各頂点及び斜辺中点からの視点が、1つの登録済みモデルデータを用いて、各視点を認識できるか否かを判定する。次に、判定結果に基づき、モデルデータの登録処理と、登録済みモデルデータで認識できた頂点及び斜辺中点と登録済みのモデルデータを対応付けた設定処理と、直角二等辺三角形の再分割処理とを再帰的に繰り返す。
そして、全ての面211〜216について、これらの再帰的処理を行い、順次、モデルデータを登録、各頂点及び斜辺中点を登録済みモデルデータに対応付けて設定して行く。
以上のように、本実施形態によれば、3次元の検出対象物体の画像を直角二等辺三角形の分割、各頂点及び斜辺中点からの視点によるモデルデータが、登録済みモデルデータを用いて認識できるか否かを判定する。そして、登録済みモデルデータで認識出来ない場合には、モデルデータの登録を行い、登録済みモデルデータで認識できた場合には、その登録済みモデルデータに認識出来た頂点または斜辺中点を対応付けて設定する。そして、各頂点及び斜辺中点に対応付けられて設定されたモデルデータ同士が互いに一致しない場合、直角二等辺三角形の再分割を行って登録済みモデルデータによる認識を行う。一方、直角二等辺三角形の各頂点及び斜辺中点に対応付けられたモデルデータ同士が互いに一致する場合、すなわち1つの登録済みモデルデータで各頂点及び斜辺中点からの視点によるモデルデータを認識出来た場合、直角二等辺三角形の再分割を停止する。このように、登録されるモデルデータ、及び再帰的に行われる直角三角形の再分割とが、規則に基づいているので、登録されるモデルデータ数が従来技術と比較して削減でき、この結果、登録モデルデータに必要な記憶容量を削減できる。
[直角二等辺三角形の再帰的分割方法の説明]
次に、三角形分割部104が直角二等辺三角形を再帰的に分割する処理について、図18〜図20を用いて説明する。図18〜図19は、直角二等辺三角形の再帰的2分割の手順を説明する図である。
図18のような頂点a1〜a4で囲まれた面を用いて説明する。まず、三角形分割部104は、対角線a1a3により、2つのa1a2a3で囲まれた直角二等辺三角形(以下、三角形a1a2a3という)、三角形a1a3a4に分割する。次に、三角形分割部104は、三角形a1a3a4を選択し、選択した三角形a1a3a4の斜辺a1a3の中点であるa5を算出し、三角形a1a3a4を、三角形a3a4a5と三角形a1a4a5に再分割する。次に、三角形分割部104は、三角形a1a2a3を選択し、選択した三角形a1a2a3を、三角形a1a2a5と三角形a2a3a5に再分割する。
次に、三角形分割部104は、三角形a2a3a5を選択し、選択した三角形a2a3a5の斜辺a2a3の中点であるa21を算出し、三角形a2a3a5を、三角形a2a5a21と三角形a3a5a21に再分割する。同様に、角形分割部104は、三角形a1a2a5を三角形a1a5a22と三角形a2a5a22に再分割する。
三角形a1a2a3の再分割は、ここで終了する。すなわち、位置変化に対して見え方があまり変化しない方向では、より大きな分割となる。
次に、三角形分割部104は、三角形a3a4a5を選択し、選択した三角形a3a4a5の斜辺a3a4の中点であるa6を算出し、三角形a3a4a5を、三角形a3a5a6と三角形a4a5a6に再分割する。次に、三角形分割部104は、三角形a4a5a6を選択し、選択した三角形a4a5a6の斜辺a4a5の中点であるa7を算出し、三角形a4a5a6を、三角形a5a6a7と三角形a4a6a7に再分割する。次に、三角形分割部104は、三角形a5a6a7を選択し、選択した三角形a5a6a7の斜辺a5a6の中点であるa8を算出し、三角形分割部104は、三角形a5a6a7を、三角形a5a7a8と三角形a6a7a8に再分割する。次に、三角形分割部104は、三角形a5a7a8を選択し、選択した三角形a5a7a8の斜辺a5a7の中点であるa9を算出し、三角形a5a7a8を、三角形a5a8a9と三角形a7a8a9に再分割する。
次に、三角形分割部104は、三角形a5a8a9を選択し、選択した三角形a5a8a9の斜辺a5a8の中点であるa10を算出し、三角形a5a8a9を、三角形a5a9a10と三角形a8a9a10に再分割する。次に、三角形分割部104は、三角形a8a9a10を選択し、選択した三角形a8a9a10の斜辺a8a9の中点であるa11を算出し、三角形a8a9a10を、三角形a8a10a11と三角形a9a10a11に再分割する。次に、三角形分割部104は、三角形a9a10a11を選択し、選択した三角形a9a10a11の斜辺a9a10の中点であるa12を算出し、三角形a9a10a11を、三角形a9a11a12と三角形a10a11a12に再分割する。
また、三角形a1a3a5が、再帰的に分割され、三角形a9a11a12と三角形a10a11a12まで分割する例を説明したが、わずかの位置変化で見え方が大きく異なる方向は、直角二等辺三角形はより細かく再分割されることを意味している。
図19は、別の再分割の例である。三角形分割部104は、正方形a1a2a3a4を三角形a1a2a3(型#4)と三角形a2a3a4(型#3)に分割後、三角形a1a2a3(型#4)を選択し、選択した三角形a1a2a3(型#4)を斜辺中点a5の垂線により型#6と型#7の二等辺三角形に分割する。同様に、三角形分割部104は、型#7の二等辺三角形を斜辺中点a22の垂線により型#2と型#4の二等辺三角形に分割する。同様に、三角形分割部104は、型#6の二等辺三角形を斜辺中点a31の垂線により型#1と型#4の直角二等辺三角形に分割する。
図20は、直角二等辺三角形を再帰的に分割する面の分割数を説明する図である。例えば、正方形b1b2b3b4の最大の分割数を2+1に設定し、n=5の場合、33分割である。この場合、図19のように、1回目の分割は、三角形b1b2b4と三角形b2b3b4に分割し、2回目の分割は、三角形b1b2b4を三角形b1b2b5と三角形b1b4b5に分割し、3回目の分割は、三角形b1b4b5を三角形b1b5b6と三角形b4b5b6に分割する。以後、分割を繰り返していくと、9回目の分割は、三角形b4b9b10を三角形b4b10b11と三角形b9b10b11とに分割する。このように、正方形の最大の分割数、すなわち1辺の画素数を2+1に設定することで、図19のように整数系で誤差無く再分割していくことができる。
以上のように、正方形の1辺の画素数を2+1に設定することで、整数系で再分割できるため、認識部105が比較のための演算を行う際の演算量を削減することができる。
[第2実施形態]
次に、第1実施形態で生成されたモデルデータを用いて物体を識別する方法を、図21を用いて説明する。図21は、物体識別装置の識別手順のフローチャートである。
画像データ取得部111には、カメラ6が撮像した画像が入力され、入力された画像を識別部112に出力する(ステップS201)。
次に、識別部112には、取得された画像情報が入力される。そして、識別部112は、登録モデルデータ記憶部108から、登録されているモデルデータを順次読み出し(ステップS202)、読み出したモデルデータと入力された画像情報とを比較する(ステップS203)。
次に、識別部112は、登録済みモデルデータを用いて撮像された画像情報に含まれる物体を識別できた場合(ステップS203;Yes)、撮像された物体と登録モデルデータ記憶部108に記憶されている対象物体とが同じであると識別し、識別結果を識別結果出力部113に出力する(ステップS205)。
撮像された画像情報をステップS202で読み出したモデルデータで識別できなかった場合(ステップS203;No)、登録されている全ての登録モデルデータと撮像された画像情報との比較が終了したか判別する(ステップS204)。登録されている全てのモデルデータと撮像された画像情報との比較が終了していない場合(ステップS204;No)、識別部112は、ステップS202〜ステップS204を繰り返す。
登録されている全てのモデルデータと撮像された画像情報とが一致しない場合(ステップS204;Yes)、撮像された物体と登録モデルデータ記憶部108に登録されている対象物体とが異なると識別し、識別結果を識別結果出力部113に出力する(ステップS205)。
次に、識別結果出力部113には、識別結果が入力され、入力された識別結果を画像表示装置9に出力する。
画像表示装置9には、識別結果が入力され、入力された識別結果を表示する。
また、第2実施形態では、識別する物体を1方向から撮像した画像情報と登録モデルデータとを比較して識別する例を説明したが、識別する物体を複数の方向から撮像して、撮像された各画像情報と登録モデルデータとを比較して識別するようにしてもよい。この場合、対象物モデルを登録するときと同様に、撮像した画像から重心を算出して、算出された重心と撮像された画像から抽出した識別対象と想定される輪郭線を内包する仮想的な正方形データを生成し、生成された正方形を2分割して2つの直角二等辺三角形を生成して、直角二等辺三角形の各頂点及び斜辺中点からの視点に基づく画像を、カメラ6を非図示のカメラ制御部で制御して撮像し、撮像された画像信号から抽出した各視点の画像情報を取得して、登録モデルデータと比較するようにしてもよい。
また、物体識別装置8は、このように識別した結果を、ロボットコントローラー10に出力する。ロボットコントローラー10は、入力された識別結果に基づき、例えば、識別した物体が登録されている対象物モデルと不一致の場合、組み立て作業を行わない等の制御をロボット1に対して行う。
以上のように、本実施形態の物体識別装置8は、対象物モデルについて登録されている登録モデルデータと撮像された画像から抽出した特徴量との比較を行うようにしたので、従来技術の手法と比較し、少ない演算量で識別することが可能になる。
また、本実施形態では、物体識別装置8とロボットコントローラー10が分かれている例を説明したが、同じケースの中に物体識別装置8とロボットコントローラー10を組み込むようにしてもよい。
また、本実施形態では、対象物モデルとして3次元物体を用いる例を説明したが、対象モデルは2次元物体でも良く、この場合、立方体データ生成部103は、対象物モデルの重心を内包する正方形データを生成し、三角形分割部104は生成された正方形を直角二等辺三角形に分割することで、本実施形態の物体識別装置8の構成のままで識別することができる。
なお、本発明において、モデルデータの特徴または登録モデルデータの特徴は、特定の特徴量に依存するものではなく、二次元認識方式も特定の方式に依存するものではなく、何れの方式に対しても適用できる。一例として、公知である以下の文献1に記載されている一般化ハフ変換を用いて認識部105が認識を行う。
文献1:D.H. Ballard, "Generalizing The Hough Transform to Detect Arbitrary Shapes", Pattern Recognition, Vol.13, No.2, p.111-122, 1981.
あるいは、公知である以下の文献2に示されているオープンソースであるOpenCVに実装されているテンプレートマッチング方式を用いて認識部105が認識を行う。
文献2:奈良先端科学技術大学院大学 OpenCVプログラミングブック制作チーム、OpenCVプログラミングブック 第2版、毎日コミュニケーションズ、p.206-213、2009.
なお、実施形態の図2の各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM等の可搬媒体、USB(Universal Serial Bus) I/F(インタフェース)を介して接続されるUSBメモリー、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
1・・・ロボット
2・・・支持台
3・・・アーム部
4・・・ハンド部
5・・・フレーム
6・・・カメラ
7・・・ケーブル
8・・・物体識別装置
9・・・画像表示装置
10・・・ロボットコントローラー
101・・・形状データ取得部
102・・・原点抽出部(基準点抽出部)
103・・・立方体データ生成部
104・・・三角形分割部
105・・・認識部
106・・・モデルデータ生成部
107・・・モデルデータ登録部
108・・・登録モデルデータ記憶部
111・・・画像データ取得部
112・・・識別部
113・・・識別結果出力部

Claims (6)

  1. 対象物モデルの形状データから基準点を抽出する基準点抽出部と、
    前記抽出された基準点を中心とし、前記対象物モデルを内包する仮想的な立方体の空間データを生成する立方体データ生成部と、
    前記仮想的な立方体の各面を2つの直角二等辺三角形に分割し、または、認識部からの再分割指示に基づき、前記直角二等辺三角形を直角と斜辺の中点とを結ぶ垂線により2つの直角二等辺三角形に再分割する三角形分割部と、
    前記分割された直角二等辺三角形の一方を選択し、選択した前記直角二等辺三角形の各頂点及び斜辺中点の各視点から見た前記対象物モデルの特徴に基づく4つのモデルデータを生成するモデルデータ生成部と、
    登録モデルデータを記憶する登録モデルデータ記憶部と、
    前記登録モデルデータを用いて前記各視点からのモデルデータを認識できるか否かを判定し、全ての前記各視点からのモデルデータを認識できる場合、前記生成されたモデルデータの登録指示をモデルデータ登録部に出力せず、かつ前記三角形分割部による三角形分割を停止し、認識できない視点からのモデルデータがあった場合、認識できなかった視点の前記モデルデータの登録指示と前記認識できなかった視点からのモデルデータとを前記モデルデータ登録部に出力し且つ前記三角形分割部に再分割の指示を出力する認識部と、
    前記登録指示に基づき、前記認識できなかった視点からのモデルデータを前記登録モデルデータ記憶部に新たな登録モデルデータとして記憶させるモデルデータ登録部と、
    を備え、
    前記分割された直角二等辺三角形について、前記モデルデータ生成と、前記4つの視点からの認識と、前記モデルデータ登録と、前記直角二等辺三角形の再分割を再帰的に繰り返すことで前記対象物モデルの登録データの登録を行い、前記登録モデルデータを用いて物体の識別を行う
    ことを特徴とする物体識別装置。
  2. 前記三角形分割部は、
    前記立方体の各面の一辺の画素数を2+1(nは自然数)にする
    ことを特徴とする請求項1に記載の物体識別装置。
  3. 対象物モデルの形状データから基準点を抽出する基準点抽出部と、
    前記抽出された基準点を中心とし、前記対象物モデルを内包する仮想的な立方体の空間データを生成する立方体データ生成部と、
    前記仮想的な立方体の各面を2つの直角二等辺三角形に分割し、または、認識部からの再分割指示に基づき、前記直角二等辺三角形を直角と斜辺の中点とを結ぶ垂線により2つの直角二等辺三角形に再分割する三角形分割部と、
    前記分割された直角二等辺三角形の一方を選択し、選択した前記直角二等辺三角形の各頂点及び斜辺中点の各視点から見た前記対象物モデルの特徴に基づく4つのモデルデータを生成するモデルデータ生成部と、
    登録モデルデータを記憶する登録モデルデータ記憶部と、
    前記登録モデルデータを用いて前記各視点からのモデルデータを認識できるか否かを判定し、全ての前記各視点からのモデルデータを認識できる場合、前記生成されたモデルデータの登録指示をモデルデータ登録部に出力せず、かつ前記三角形分割部による三角形分割を停止し、認識できない視点からのモデルデータがあった場合、認識できなかった視点の前記モデルデータの登録指示と前記認識できなかった視点からのモデルデータとを前記モデルデータ登録部に出力し且つ前記三角形分割部に再分割の指示を出力する認識部と、
    前記登録指示に基づき、前記認識できなかった視点からのモデルデータを前記登録モデルデータ記憶部に新たな登録モデルデータとして記憶させるモデルデータ登録部と、
    を備え、
    前記分割された直角二等辺三角形について、前記モデルデータ生成と、前記4つの視点からの認識と、前記モデルデータ登録と、前記直角二等辺三角形の再分割を再帰的に繰り返すことで前記対象物モデルの登録データの登録を行う
    ことを特徴とするモデルデータの登録装置。
  4. 物体識別装置における物体識別方法において、
    基準点抽出部が、対象物モデルの形状データから基準点を抽出する基準点抽出工程と、
    立方体データ生成部が、前記抽出された基準点を中心とし、前記対象物モデルを内包する仮想的な立方体の空間データを生成する空間データ生成工程と、
    三角形分割部が、前記仮想的な立方体の各面を2つの直角二等辺三角形に分割し、または、認識部からの再分割指示に基づき、前記直角二等辺三角形を直角と斜辺の中点とを結ぶ垂線により2つの直角二等辺三角形に再分割する三角形分割工程と、
    モデルデータ生成部が、前記分割された直角二等辺三角形の一方を選択し、選択した前記直角二等辺三角形の各頂点及び斜辺中点の各視点から見た前記対象物モデルの特徴に基づく4つのモデルデータを生成するモデルデータ生成工程と、
    認識部が、登録モデルデータ記憶部に記憶されている前記対象物モデルの特徴に基づく登録モデルデータを用いて前記各視点からのモデルデータを認識できるか否かを判定し、全ての前記各視点からのモデルデータを認識できる場合、前記生成されたモデルデータの登録指示を登録モデルデータ登録部に出力せず、かつ前記三角形分割工程による三角形分割を停止し、認識できない視点からのモデルデータがあった場合、認識できなかった視点の前記モデルデータの登録指示と前記認識できなかった視点からのモデルデータとを前記モデルデータ登録部に出力し且つ前記三角形分割部に再分割の指示を出力する認識部と、
    モデルデータ登録部が、前記登録指示に基づき、前記認識できなかった視点からのモデルデータを前記登録モデルデータ記憶部に新たな登録モデルデータとして記憶させるモデルデータ登録工程と、
    を備え、
    前記分割された直角二等辺三角形について、前記モデルデータ生成と、前記4つの視点からの認識と、前記登録を行うか否かの判別と、前記モデルデータ登録と、前記直角二等辺三角形の再分割を再帰的に繰り返すことで前記対象物モデルの登録データの登録を行い、前記登録モデルデータを用いて物体の識別を行う
    ることを特徴とする物体識別方法。
  5. コンピュータに、
    対象物モデルの形状データから基準点を抽出する基準点抽出手順と、
    前記抽出された基準点を中心とし、前記対象物モデルを内包する仮想的な立方体の空間データを生成する空間データ生成手順と、
    前記仮想的な立方体の各面を2つの直角二等辺三角形に分割し、または、認識部からの再分割指示に基づき、前記直角二等辺三角形を直角と斜辺の中点とを結ぶ垂線により2つの直角二等辺三角形に再分割する三角形分割する手順と、
    前記分割された直角二等辺三角形の一方を選択し、選択した前記直角二等辺三角形の各頂点及び斜辺中点の各視点から見た前記対象物モデルの特徴に基づく4つのモデルデータを生成するモデルデータ生成する手順と、
    登録モデルデータ記憶部に記憶されている前記対象物モデルの特徴に基づく登録モデルデータを用いて前記各視点からのモデルデータを認識できるか否かを判定し、全ての前記各視点からのモデルデータを認識できる場合、前記生成されたモデルデータの登録指示をモデルデータ登録部に出力せず、かつ前記三角形分割する手順による三角形分割を停止し、認識できない視点からのモデルデータがあった場合、認識できなかった視点の前記モデルデータの登録指示と前記認識できなかった視点からのモデルデータとを前記モデルデータ登録部に出力し且つ前記三角形分割部に再分割の指示を出力する認識する手順と、
    前記登録指示に基づき、前記認識できなかった視点からのモデルデータを前記登録モデルデータ記憶部に新たな登録モデルデータとして記憶させるモデルデータ登録する手順と、
    を含み、
    前記分割された直角二等辺三角形について、前記モデルデータ生成手順と、前記4つの視点からの認識手順と、前記モデルデータ登録手順と、前記直角二等辺三角形の再分割の手順を再帰的に繰り返すことで前記対象物モデルの登録データの登録を行い、前記登録モデルデータを用いて物体の識別を行うこと
    を実行させることを特徴とする物体識別プログラム。
  6. 対象物モデルの形状データから基準点を抽出する基準点抽出部と、
    前記抽出された基準点を中心とし、前記対象物モデルを内包する仮想的な立方体の空間データを生成する立方体データ生成部と、
    前記仮想的な立方体の各面を2つの直角二等辺三角形に分割し、または、認識部からの再分割指示に基づき、前記直角二等辺三角形を直角と斜辺の中点とを結ぶ垂線により2つの直角二等辺三角形に再分割する三角形分割部と、
    前記分割された直角二等辺三角形の一方を選択し、選択した前記直角二等辺三角形の各頂点及び斜辺中点の各視点から見た前記対象物モデルの特徴に基づく4つのモデルデータを生成するモデルデータ生成部と、
    登録モデルデータを記憶する登録モデルデータ記憶部と、
    前記登録モデルデータを用いて前記各視点からのモデルデータを認識できるか否かを判定し、全ての前記各視点からのモデルデータを認識できる場合、前記生成されたモデルデータの登録指示をモデルデータ登録部に出力せず、かつ前記三角形分割部による三角形分割を停止し、認識できない視点からのモデルデータがあった場合、認識できなかった視点の前記モデルデータの登録指示と前記認識できなかった視点からのモデルデータとを前記モデルデータ登録部に出力し且つ前記三角形分割部に再分割の指示を出力する認識部と、
    前記登録指示に基づき、前記認識できなかった視点からのモデルデータを前記記憶部に新たな登録モデルデータとして記憶させるモデルデータ登録部と、
    を備え、
    前記分割された直角二等辺三角形について、前記モデルデータ生成と、前記4つの視点からの認識と、前記モデルデータ登録と、前記直角二等辺三角形の再分割を再帰的に繰り返すことで前記対象物モデルの登録データの登録を行い、前記登録モデルデータを用いて物体の識別を行う
    ことを特徴とするロボット。
JP2010170154A 2010-07-29 2010-07-29 物体識別装置、モデルデータの登録装置、物体識別方法、物体識別プログラム、及びロボット Withdrawn JP2012032909A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010170154A JP2012032909A (ja) 2010-07-29 2010-07-29 物体識別装置、モデルデータの登録装置、物体識別方法、物体識別プログラム、及びロボット

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010170154A JP2012032909A (ja) 2010-07-29 2010-07-29 物体識別装置、モデルデータの登録装置、物体識別方法、物体識別プログラム、及びロボット

Publications (1)

Publication Number Publication Date
JP2012032909A true JP2012032909A (ja) 2012-02-16

Family

ID=45846268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010170154A Withdrawn JP2012032909A (ja) 2010-07-29 2010-07-29 物体識別装置、モデルデータの登録装置、物体識別方法、物体識別プログラム、及びロボット

Country Status (1)

Country Link
JP (1) JP2012032909A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020533654A (ja) * 2018-08-31 2020-11-19 ▲衆▼安信息技▲術▼服▲務▼有限公司Zhongan Information Technology Service Co., Ltd. ホログラフィック偽造防止コードの検査方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020533654A (ja) * 2018-08-31 2020-11-19 ▲衆▼安信息技▲術▼服▲務▼有限公司Zhongan Information Technology Service Co., Ltd. ホログラフィック偽造防止コードの検査方法及び装置

Similar Documents

Publication Publication Date Title
CN111243093B (zh) 三维人脸网格的生成方法、装置、设备及存储介质
JP5771413B2 (ja) 姿勢推定装置、姿勢推定システム、および姿勢推定方法
JP4785880B2 (ja) 三次元オブジェクト認識のためのシステムおよび方法
CN102834845B (zh) 用于多摄像装置校准的方法与装置
CN110276317B (zh) 一种物体尺寸检测方法、物体尺寸检测装置及移动终端
EP2751777B1 (en) Method for estimating a camera motion and for determining a three-dimensional model of a real environment
EP3547256B1 (en) Extracting a feature descriptor for an image feature
CN111079565B (zh) 视图二维姿态模板的构建方法及识别方法、定位抓取系统
JP5631086B2 (ja) 情報処理装置及びその制御方法、プログラム
JP6054831B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
Li et al. 3D object recognition and pose estimation for random bin-picking using Partition Viewpoint Feature Histograms
KR102551713B1 (ko) 전자 장치 및 그 이미지 처리 방법
Shah et al. A novel local surface description for automatic 3D object recognition in low resolution cluttered scenes
EP3766045A1 (en) Single view tracking of cylindrical objects
JP5647072B2 (ja) 被写体認識装置、被写体認識方法及び被写体認識プログラム
Pitzer et al. Automatic reconstruction of textured 3D models
JP2015184054A (ja) 同定装置、方法及びプログラム
JP5762099B2 (ja) 姿勢認識装置、作業ロボット、姿勢認識方法、プログラム及び記録媒体
Krispel et al. Automatic texture and orthophoto generation from registered panoramic views
Palossi et al. Gpu-shot: Parallel optimization for real-time 3d local description
Cupec et al. Fast 2.5 D Mesh Segmentation to Approximately Convex Surfaces.
KR101673144B1 (ko) 부분 선형화 기반의 3차원 영상 정합 방법
Barros et al. Real-time human pose estimation from body-scanned point clouds
Lui et al. An Iterative 5-pt Algorithm for Fast and Robust Essential Matrix Estimation.
JP2012032909A (ja) 物体識別装置、モデルデータの登録装置、物体識別方法、物体識別プログラム、及びロボット

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20131001