JP2023155753A - テンプレートマッチング装置、テンプレートマッチング方法およびテンプレートマッチングシステム - Google Patents

テンプレートマッチング装置、テンプレートマッチング方法およびテンプレートマッチングシステム Download PDF

Info

Publication number
JP2023155753A
JP2023155753A JP2022065264A JP2022065264A JP2023155753A JP 2023155753 A JP2023155753 A JP 2023155753A JP 2022065264 A JP2022065264 A JP 2022065264A JP 2022065264 A JP2022065264 A JP 2022065264A JP 2023155753 A JP2023155753 A JP 2023155753A
Authority
JP
Japan
Prior art keywords
template
matching
unit
imaging device
template matching
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.)
Pending
Application number
JP2022065264A
Other languages
English (en)
Inventor
テイテイ 虎
Tingting Hu
竜司 渕上
Ryuji Fuchigami
康治 井村
Koji Imura
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2022065264A priority Critical patent/JP2023155753A/ja
Priority to PCT/JP2023/003002 priority patent/WO2023199572A1/ja
Publication of JP2023155753A publication Critical patent/JP2023155753A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

Figure 2023155753000001
【課題】撮像装置の移動に伴って撮像装置からの対象物の姿勢が可変となる状況下でも対象物の高精度なテンプレートマッチングを実現する。
【解決手段】テンプレートマッチング装置は、対象物を撮像かつ移動が可能な撮像装置の位置情報と対象物のテンプレートとを関連付けて複数記憶する記憶部との間で通信する通信部と、撮像装置の位置情報を取得する取得部と、撮像装置の位置情報を基に、記憶部に記憶されている複数のテンプレートの中から対象物のテンプレートマッチングに用いるテンプレートを予測する予測処理を行う予測部と、撮像装置により撮像された対象物の入力画像とテンプレートの予測結果とを用いて、テンプレートマッチングを行うマッチング部と、を備える。
【選択図】図6

Description

本開示は、テンプレートマッチング装置、テンプレートマッチング方法およびテンプレートマッチングシステムに関する。
工場内の生産工程では、ロボットハンド等のエンドエフェクタによりピッキングしようとする部品が正しい部品(例えば工業製品の生産に使用する部品)であるか否かを判定することがある。このような判定の際には、判定処理をできるだけ高速に行うことにより生産工程のタクトタイムを低下させないことが求められる。従来の判定処理として、例えば予め用意された部品のテンプレート(例えば画像)と工場内に設置されたカメラにより撮像された部品の画像とを比較してマッチング処理するテンプレートマッチング法が知られている。
特許文献1は、テンプレートマッチングにより物体の認識を行う物体認識装置で用いられるテンプレートのセットを作成するテンプレート作成装置を開示している。テンプレート作成装置は、一つの物体の異なる姿勢に対する複数の画像のそれぞれから複数のテンプレートを取得し、複数のテンプレートから選ばれる2つのテンプレート間の画像特徴の類似度を計算し、類似度に基づき複数のテンプレートを複数のグループに分けるクラスタリングを行う。テンプレート作成装置は、複数のグループのそれぞれについてグループ内の全てのテンプレートを1つの統合テンプレートへ統合し、グループごとに統合テンプレートを有したテンプレートセットを生成する。
特開2016-207147号公報
特許文献1では、物体認識装置は、階層的なテンプレートセットを作成し、解像度の低いテンプレートセットによるラフな認識を行い、その結果を用いて解像度の高いテンプレートセットによる詳細な認識を行う、といった階層的探索を行う。ところが、解像度の低いテンプレートセットを用いた認識処理、解像度の高いテンプレートセットを用いた認識処理のように少なくとも二段階でマッチング処理を行う必要があり、物体認識装置の処理負荷の増大を免れない。
また、上述した工場内の生産工程においてエンドエフェクタによりピッキングしようとする部品が正しい部品であるかを判定するためにエンドエフェクタおよびカメラを移動させてピッキングしようとする部品をカメラで撮像する際に、特許文献1の技術を適用しようとすると次のような課題が生じる。具体的には、エンドエフェクタの移動に伴ってカメラも移動するとなると、エンドエフェクタの位置変化に伴ってカメラからの部品の見え方(言い換えると、部品の姿勢)が変化する。このため、テンプレートマッチングの際に、エンドエフェクタの位置(言うなれば、カメラの位置)を考慮しなければ、予め生成されたテンプレートセットを使っても効率的なテンプレートマッチングを行うことができず、テンプレートマッチングの信頼性も向上しない。
本開示は、従来の事情に鑑みて案出され、撮像装置の移動に伴って撮像装置からの対象物の姿勢が可変となる状況下でも対象物の高精度なテンプレートマッチングを実現するテンプレートマッチング装置、テンプレートマッチング方法およびテンプレートマッチングシステムを提供することを目的とする。
本開示は、対象物を撮像かつ移動が可能な撮像装置の位置情報と前記対象物のテンプレートとを関連付けて複数記憶する記憶部との間で通信する通信部と、前記撮像装置の位置情報を取得する取得部と、前記撮像装置の位置情報を基に、前記記憶部に記憶されている複数の前記テンプレートの中から前記対象物のテンプレートマッチングに用いるテンプレートを予測する予測処理を行う予測部と、前記撮像装置により撮像された前記対象物の入力画像と前記テンプレートの前記予測処理の結果とを用いて、前記テンプレートマッチングを行うマッチング部と、を備える、テンプレートマッチング装置を提供する。
また、本開示は、テンプレートマッチング装置により実行されるテンプレートマッチング方法であって、対象物を撮像かつ移動が可能な撮像装置の位置情報と前記対象物のテンプレートとを関連付けて複数記憶する記憶部との間で通信するステップと、前記撮像装置の位置情報を取得するステップと、前記撮像装置の位置情報を基に、前記記憶部に記憶されている複数の前記テンプレートの中から前記対象物のテンプレートマッチングに用いるテンプレートを予測する予測処理を行うステップと、前記撮像装置により撮像された前記対象物の入力画像と前記テンプレートの予測処理の結果とを用いて、前記テンプレートマッチングを行うステップと、を有する、テンプレートマッチング方法を提供する。
また、本開示は、対象物を撮像かつ移動が可能な撮像装置と、前記撮像装置との間で通信可能に接続されるテンプレートマッチング装置と、を備え、前記テンプレートマッチング装置は、前記撮像装置の位置情報と前記対象物のテンプレートとを関連付けて複数記憶する記憶部との間で通信する通信部と、前記撮像装置の位置情報を取得する取得部と、前記撮像装置の位置情報を基に、前記記憶部に記憶されている複数の前記テンプレートの中から前記対象物のテンプレートマッチングに用いるテンプレートを予測する予測処理を行う予測部と、前記撮像装置により撮像された前記対象物の入力画像と前記テンプレートの予測処理の結果とを用いて、前記テンプレートマッチングを行うマッチング部と、を備える、テンプレートマッチングシステムを提供する。
本開示によれば、撮像装置の移動に伴って撮像装置からの対象物の姿勢が可変となる状況下でも対象物の高精度なテンプレートマッチングを実現できる。
ピッキングシステムの構成例を簡易的に示す図 実施の形態1に係るピッキングシステムの詳細な内部構成例を示すブロック図 実施の形態1に係る画像処理装置によるテンプレートの登録の動作手順例を示すフローチャート 実施の形態1においてディスプレイに表示されるテンプレート登録画面の一例を示す図 実施の形態2に係るピッキングシステムの詳細な内部構成例を示すブロック図 実施の形態2に係る画像処理装置によるテンプレートマッチングの動作手順例を示すフローチャート 実施の形態2においてディスプレイに表示されるマッチング結果画面の一例を示す図
(実施の形態1に至る経緯)
特開2016-207147号公報では、テンプレート作成装置を備える物体認識装置がカメラから取り込まれた画像を用いてコンベア上の物体を認識し、カメラ自体は生産ライン等に対して移動不能な固定箇所に設置されていることが想定されている。また、物体認識装置が実際にマッチング処理を行う際、グループごとの統合テンプレートからなるテンプレートセットがそのまま使用される。
ところが、上述した工場内の生産工程においてエンドエフェクタによりピッキングしようとする部品が正しい部品であるかを判定するためにエンドエフェクタおよびカメラを移動させてピッキングしようとする部品をカメラで撮像する際に、特開2016-207147号公報の技術を適用しようとすると次のような課題が生じる。具体的には、エンドエフェクタの移動に伴ってカメラも移動するとなると、エンドエフェクタの位置変化に伴ってカメラからの部品の見え方(言い換えると、部品の姿勢)が変化する。このため、テンプレートマッチングの際に、エンドエフェクタの位置(言うなれば、カメラの位置)を考慮しなければ、予め生成されたテンプレートセットを使っても効率的なテンプレートマッチングを行うことができず、テンプレートマッチングの信頼性も向上しない。
そこで、以下の実施の形態1では、撮像装置の移動に伴って撮像装置からの対象物の姿勢が可変となる状況下でもテンプレートマッチングに使用可能な対象物の高精度なテンプレートを登録するテンプレート登録装置、テンプレート登録方法およびテンプレート登録システムの例を説明する。
以下、添付図面を適宜参照しながら、本開示に係るテンプレート登録装置、テンプレート登録方法およびテンプレート登録システムを具体的に開示した実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
(実施の形態1:概要)
実施の形態1では、例えば工場内の生産工程において、ロボットハンド等のエンドエフェクタによりピッキングしようとする部品(例えば工業製品の生産に使用する部品)を正しく認識するか否かをテンプレートマッチングによって判定するに際して、テンプレートマッチングに必要となるテンプレートを登録するユースケースを例示して説明する。本開示に係るテンプレート登録装置(例えば画像処理装置)は、対象物を撮像かつ移動が可能な撮像装置により撮像された対象物の入力画像に基づく情報(後述参照)と撮像装置の位置情報とを取得し、対象物の入力画像に基づく情報(後述参照)をテンプレートマッチングに用いるテンプレートとして、撮像装置の位置情報と対象物の入力画像に基づく情報(後述参照)とを関連付けて記憶部に登録する。
(実施の形態1:詳細)
図1は、ピッキングシステム100の構成例を簡易的に示す図である。図2は、実施の形態1に係るピッキングシステム100の詳細な内部構成例を示すブロック図である。図2に示すように、ピッキングシステム100(テンプレート登録システムの一例)は、アクチュエータACT1と、カメラCAM1と、画像処理装置10と、操作デバイス20と、ディスプレイ30と、テンプレート登録デバイス40とを含む。アクチュエータACT1と画像処理装置10との間、カメラCAM1と画像処理装置10との間、画像処理装置10と操作デバイス20との間、画像処理装置10とディスプレイ30との間、画像処理装置10とテンプレート登録デバイス40との間は、それぞれデータ信号の入出力(送受信)が可能となるように接続されている。
アクチュエータACT1の制御に基づくカメラCAM1と対象物OB1との間の位置関係について、図1を参照して説明する。なお、図1の説明は、実施の形態1だけでなく後述する実施の形態2にも同様に適用可能である。
以下の説明において、対象物OB1は、工場内に配備されるピッキングシステム100のエンドエフェクタEF1によりピッキングされる対象物であり、例えば工業部品、工業製品である。工業部品であれば、例えばピッキングされた後に完成品を組み立てるために別のレーン(生産ライン)に移動される。工業製品であれば、例えばピッキングされた後に段ボール等の箱に収納される。なお、対象物OB1の種類は上述した工業部品、工業製品に限定されないことは言うまでもない。
図1に示すように、アクチュエータACT1は、カメラCAM1を3次元的に移動可能に制御することにより、工場内の所定場所(例えば定盤FL1)に固定載置されている対象物OB1とカメラCAM1との間の位置関係を制御する。図1には、3次元位置(座標)を規定するため、X軸、Y軸およびZ軸からなる直交座標系が図示されている。なお、この直交座標系の原点は図1には図示が省略されている。X軸およびY軸が実空間上の水平面を構成し、Z軸は水平面に垂直な重力方向と平行な方向を示す。X軸は図1の紙面左右方向であり、Y軸はX軸に垂直な方向(言い換えると、図1の直交座標系の奥行き方向)である。
定盤FL1は、例えば床面等の水平な面を示すものであれば、その種類は特に限定されない。カメラCAM1の被写体である対象物OB1は、この定盤FL1上に固定載置されており、カメラCAM1とともに移動するエンドエフェクタEF1(例えばロボットハンド)によりピッキングされる。
アクチュエータACT1は、X軸方向に延伸しているXレールXRL1に沿って移動可能なXアームXDR1、Y軸方向に延伸しているYレール(図示略)に沿って移動可能なYアームYDR1、Z軸方向に延伸しているZレールZRL1に沿って移動可能なZアームZDR1のそれぞれを個別に移動可能に制御する。つまり、アクチュエータACT1は、画像処理装置10から送られる制御指令を基にしてエンドエフェクタEF1およびカメラCAM1のそれぞれの3次元位置(座標)を認識、維持、変更を制御可能であり、エンドエフェクタEF1およびカメラCAM1のそれぞれの3次元位置を示す座標(位置情報の一例)を画像処理装置10に常時あるいは周期的に送る。
エンドエフェクタEF1は、例えばピッキングシステム100に対応して配備されたロボットアーム(図示略)の先端部に設けられているロボットハンドであり、アクチュエータACT1の制御によって対象物OB1に近づくように移動し、対象物OB1をピッキングすることができる。
カメラCAM1(撮像装置の一例)は、エンドエフェクタEF1のすぐ近傍に配置され、アクチュエータACT1の制御によって対象物OB1に近づくようにエンドエフェクタEF1とペアを構成して移動し、画角(言い換えると、視野範囲FV1)内に含まれる対象物OB1を撮像することができる。カメラCAM1は、視野範囲FV1内の被写体である対象物OB1を所定のフレームレートで撮像し、この撮像の度に得られた対象物OB1の撮像画像(入力画像の一例)を都度、画像処理装置10に送る。
画像処理装置10(テンプレート登録装置の一例)は、アクチュエータACT1からの位置情報とカメラCAM1からの対象物OB1の撮像画像(入力画像)とを用いて所定の処理(図3参照)を実行可能なコンピュータにより構成される。例えば、画像処理装置10は、PC(Personal Computer)でもよいし、上述した所定の処理に特化した専用のハードウェア機器でもよい。画像処理装置10は、上述した所定の処理を行うことにより、カメラCAM1から入力されてくる撮像画像のうち一部の撮像画像を、対象物OB1のテンプレートマッチング(実施の形態2参照)に用いるテンプレートとしてテンプレート登録デバイス40に登録(保存)する。また、画像処理装置10は、テンプレートの登録の可否をユーザ(例えばテンプレートの登録に関する操作を行う人物)に委ねるために、テンプレートの登録に関するテンプレート登録画面WD1(図4参照)を生成してディスプレイ30に表示する。このため、画像処理装置10は、テンプレート登録画面WD1へのユーザ操作に基づいて、登録予定のテンプレート(図4参照)の登録を決定してもよいし、そのテンプレートを破棄してもよい。また、画像処理装置10は、テンプレートマッチング結果と所定の移動経路マップ(図4参照)とにしたがって、エンドエフェクタEF1およびカメラCAM1の移動を指令するための制御指令を生成してアクチュエータACT1に送ってもよい。
操作デバイス20は、ユーザ操作の入力を検知するインターフェースであり、例えばマウス、キーボードあるいはタッチパネルにより構成される。操作デバイス20は、ユーザ操作を受け付けると、その操作に基づく信号を生成して画像処理装置10に送る。
ディスプレイ30は、画像処理装置10により生成された表示用画面(図4参照)を出力(表示)するデバイスであり、例えばLCD(Liquid Crystal Display)あるいは有機EL(Electroluminescence)デバイスにより構成される。
テンプレート登録デバイス40(記憶部の一例)は、例えばフラッシュメモリ、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)である。テンプレート登録デバイス40は、画像処理装置10により登録すると決定されたテンプレート(画像)のデータを、そのテンプレートに相当する撮像画像を撮像したカメラCAM1の位置情報(3次元位置)と関連付けて非一時的に保存する。テンプレート登録デバイス40に保存される、それぞれのテンプレートのデータは、テンプレート(画像)のデータあるいはそのテンプレートが圧縮されたデータと、そのテンプレートに相当する撮像画像を撮像したカメラCAM1の位置情報と、そのテンプレートに対して特徴抽出部121(後述参照)によって抽出された複数の特徴点の位置情報および特徴量とを少なくとも有する。テンプレート(画像)のデータ、あるいは、テンプレートが圧縮されたデータ(例えばサムネイル等)とテンプレートに対して特徴抽出部121によって抽出された複数の特徴点の特徴量は、入力画像に基づく情報の一例である。なお、テンプレートの特徴点およびその特徴量は、登録されたものを使ってもよいし、都度参照する時に再計算して取得してもよい。
ここで、画像処理装置10の内部構成について詳細に説明する。
画像処理装置10は、通信インターフェース11と、プロセッサ12と、メモリ13とを少なくとも含む。通信インターフェース11と、プロセッサ12と、メモリ13とは、互いにデータ信号の入出力が可能となるようにデータ伝送バス(図示略)を介して接続されている。
通信インターフェース11(取得部あるいは通信部の一例)は、アクチュエータACT1と画像処理装置10との間、カメラCAM1と画像処理装置10との間、画像処理装置10と操作デバイス20との間、画像処理装置10とディスプレイ30との間、画像処理装置10とテンプレート登録デバイス40との間のデータ信号の入出力(送受信)を行う通信回路である。添付図面では、インターフェースを「I/F」と略記している。通信インターフェース11は、アクチュエータACT1からの位置情報を常時あるいは周期的に受信してプロセッサ12あるいはメモリ13に一時的に保存する。通信インターフェース11は、カメラCAM1から都度入力されてくる撮像画像(例えば対象物OB1が映る画像)を受信してメモリ13に一時的に保存する。通信インターフェース11は、プロセッサ12により生成されるテンプレート登録画面(図4参照)をディスプレイ30に出力する。通信インターフェース11は、プロセッサ12により生成されるエンドエフェクタEF1およびカメラCAM1の移動に関する制御指令をアクチュエータACT1に送る。
プロセッサ12は、例えばCPU(Central Processing Unit)、GPU(Graphical Processing Unit)、DSP(Digital Signal Processor)、あるいはFGPA(Field Programmable Gate Array)である。プロセッサ12は、画像処理装置10の全体的な動作を司るコントローラとして機能し、画像処理装置10の各部の動作を統括するための制御処理、画像処理装置10の各部との間のデータの入出力処理、データの演算処理およびデータの記憶処理を行う。プロセッサ12は、メモリ13に記憶されたプログラムおよび制御用データにしたがって動作したり、動作時にメモリ13を使用し、プロセッサ12が生成または取得したデータもしくは情報をメモリ13に一時的に保存したり通信インターフェース11を介して外部装置(例えばディスプレイ30、テンプレート登録デバイス40、アクチュエータACT1)に送ったりする。例えば、プロセッサ12は、メモリ13に記憶されたプログラムおよび制御用データにしたがって、特徴抽出部121、特徴マッチング部122、MoS計算部123、MaS計算部124、テンプレート登録判定部125およびコントロール部126を機能的に実現することができる。
特徴抽出部121は、カメラCAM1から入力されてくる撮像画像を対象として、その撮像画像ごとに、その撮像画像から対象物OB1に関する複数の特徴点(つまり、対象物OB1が映る撮像画像の中で、例えば回転変化、スケール変化、輝度変化が最大となる等の画像上の特徴点的な位置)を抽出する。この抽出方法は、例えばSIFT(Scale-Invariant Feature Transform)等の公知のアルゴリズムを利用可能である。特徴抽出部121は、入力された1枚の撮像画像から複数個の特徴点を抽出し、その抽出結果(例えば撮像画像中における複数の特徴点のそれぞれの位置を示す点群データならびに特徴点ごとの特徴量。以下同様。)をプロセッサ12あるいはメモリ13に一時的に保存する。以下、特徴点の抽出結果(つまり、特徴点の位置情報および特徴量)を「特徴」と総称する場合がある。
特徴マッチング部122は、アクチュエータACT1からの位置情報に対応するテンプレートをテンプレート登録デバイス40から通信インターフェース11を介して取得する。特徴マッチング部122は、特徴抽出部121による撮像画像上の特徴点の抽出結果とテンプレート登録デバイス40から得られたテンプレートとを用いて、対象物OB1のテンプレートマッチングを行う。例えば、特徴マッチング部122は、撮像画像上の特徴点の抽出結果を、テンプレート登録デバイス40からのテンプレート上の特徴点および特徴量と撮像画像上で新たに抽出された特徴点および特徴量とに区別可能に分離する。
MoS計算部123(指標算出部の一例)は、テンプレートを撮像した時のカメラCAM1の位置とカメラCAM1から入力されてくる撮像画像を撮像した時のカメラCAM1の位置との差分(言い換えると、位置の類似度)を示す第1指標の一例としてのMoS(Moving Score)を算出する。このMoSは、カメラCAM1が登録予定位置(図4参照)に存在している時にカメラCAM1により撮像された撮像画像(入力画像)をテンプレートとしてテンプレート登録判定部125が登録するべきか否かを判定するために用いられる。つまり、既に登録されているテンプレートと類似度が高い撮像画像が入力されてもそのような撮像画像をテンプレートとして登録することを極力避けるために、画像処理装置10はMoSを算出する。MoS計算部123は、例えば式(1)の計算式によってMoSを算出する。
Figure 2023155753000002
式(1)において、ptは、f番目のテンプレートになり得るフレーム(つまり撮像画像)を撮像した時のカメラCAM1もしくはエンドエフェクタEF1の位置を示す3次元の座標(x,y,z)である。fは、そのf番目のフレーム(つまり撮像画像)をテンプレートとして登録する予定の位置(登録予定位置)の番号を示し、例えば図4に示す位置P6に相当する。pttmは、tm番目のテンプレートであるフレーム(つまり撮像画像)を撮像した時のカメラCAM1もしくはエンドエフェクタEF1の位置を示す3次元の座標(xtm,ytm,ztm)である。tmは、直前にテンプレートが登録された時の番号(例えば登録順を示す番号)を示し、例えば図4に示す位置P5に相当する。つまり、MoSは、登録予定位置とその直前のテンプレート登録位置(図4参照)との差分の逆数により算出される。したがって、エンドエフェクタEF1およびカメラCMA1の直前のテンプレート登録位置と現在の登録予定位置との差分が大きい場合には、MoSが小さく、テンプレート登録判定部125は現在の登録予定位置の撮像画像をテンプレートとして登録すると判定(決定)する。一方、エンドエフェクタEF1およびカメラCMA1の直前のテンプレート登録位置と現在の登録予定位置との差分が小さい場合には、MoSが大きく、テンプレート登録判定部125は現在の登録予定位置の撮像画像をテンプレートとして登録しないと判定(決定)する。
MaS計算部124(指標算出部の一例)は、テンプレート中の対象物OB1の特徴と撮像画像中の対象物OB1の特徴との間の画像相関(言い換えると、画像の類似度)を示す第2指標の一例としてのMaS(Matching Score)を算出する。このMaSは、カメラCAM1が登録予定位置(図4参照)に存在している時にカメラCAM1により撮像された撮像画像(入力画像)をテンプレートとしてテンプレート登録判定部125が登録するべきか否かを判定するために用いられる。MaS計算部124は、例えば式(2)の計算式によってMaSを算出する。式(2)のMは式(3)の条件にしたがう。式(2)において、FSは、j番目の特徴のマッチングスコアを示す。
Figure 2023155753000003
Figure 2023155753000004
つまり、MaSは、直前のテンプレート登録位置(図4参照)に対応して登録されたテンプレート上の特徴と現在の登録予定位置(図4参照)に対応してカメラCAM1から入力された撮像画像上の特徴とのマッチング割合を示す。したがって、エンドエフェクタEF1およびカメラCMA1の直前のテンプレート登録位置のテンプレートの特徴と現在の登録予定位置の入力された撮像画像の特徴との差分が大きい場合には、マッチ(整合)する特徴同士の数が少ないためMaSが小さくなりやすいため(言い換えると、Mが0になるものが多い)、テンプレート登録判定部125は現在の登録予定位置の撮像画像をテンプレートとして登録すると判定(決定)する。一方、エンドエフェクタEF1およびカメラCMA1の直前のテンプレート登録位置のテンプレートの特徴と現在の登録予定位置のテンプレートの特徴との差分が小さい場合には、マッチ(整合)する特徴同士の数が多いためMaSが大きくなりやすいため(言い換えると、Mが0にならないものが多い)、テンプレート登録判定部125は現在の登録予定位置の撮像画像をテンプレートとして登録しないと判定(決定)する。
テンプレート登録判定部125(登録判定部の一例)は、MoS計算部123によるMoSの算出結果とメモリ13に保存されている閾値Th1との比較結果、またはMaS計算部124によるMaSの算出結果とメモリ13に保存されている閾値Th2との比較結果を基に、現在の登録予定位置の撮像画像をテンプレートとして登録するか否かを判定(決定)する。テンプレート登録判定部125(制御部の一例)は、現在の登録予定位置の撮像画像をテンプレートとして登録すると判定(決定)した場合、その撮像画像のデータとその撮像画像を撮像したカメラCAM1の位置情報(登録予定位置)とその撮像画像に対して抽出された複数の特徴点の位置および特徴量を含む抽出結果とを少なくとも関連付けてテンプレート登録デバイス40に登録(保存)する。なお、テンプレート登録判定部125は、さらに直前のテンプレート登録位置と現在の登録予定位置との距離差分値とカメラCAM1の移動方向とを関連付けてテンプレート登録デバイス40に登録(保存)してもよい。
コントロール部126は、プロセッサ12により実行される各種の処理の統合的な制御管理を司る。コントロール部126は、メモリ13に予め保存されている移動経路マップMP1(図4参照)にしたがって、エンドエフェクタEF1およびカメラCAM1の移動量分の移動に関する制御指令を生成し、通信インターフェース11を介してアクチュエータACT1に送る。アクチュエータACT1は、画像処理装置10から送られた制御指令を基に、エンドエフェクタEF1およびカメラCAM1を3次元的に移動するように制御する。コントロール部126は、テンプレートの登録に関するテンプレート登録画面WD1を生成し、通信インターフェース11を介してディスプレイ30に表示する。
メモリ13は、例えばRAM(Random Access Memory)とROM(Read Only Memory)とを少なくとも含み、画像処理装置10の動作の実行に必要なプログラムおよび制御用データ、さらには、画像処理装置10の各部が処理の実行中に生成あるいは取得したデータを一時的に保持する。RAMは、例えば画像処理装置10の各部が処理の実行中に使用されるワークメモリである。ROMは、例えば画像処理装置10の各部の処理を規定するプログラムおよび制御用データを予め保持する。なお、メモリ13は、例えばフラッシュメモリ、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)をさらに備えてもよく、テンプレート登録デバイス40に登録(保存)されているテンプレート(図4参照)と同じデータを保存してもよい。
次に、実施の形態1に係る画像処理装置10によるテンプレートの登録の動作手順例について、図3を参照して説明する。図3は、実施の形態1に係る画像処理装置10によるテンプレートの登録の動作手順例を示すフローチャートである。図3に示す処理は、主に画像処理装置10のプロセッサ12によって実行される。
図3において、プロセッサ12は、変数としてiを初期化する(ステップSt1)。iは、登録されたテンプレートの番号を示す変数であって、0以上の整数であってtmまでの値をとる。つまり、tmは直前に登録されたテンプレートの番号を示す。プロセッサ12は、カメラCAM1からの撮像画像(入力画像)を入力して取得し(ステップSt2)、さらに、アクチュエータACT1から少なくともカメラCAM1の位置情報を入力して取得する(ステップSt3)。プロセッサ12は、ステップSt2で取得された撮像画像(入力画像)の特徴点を抽出する(ステップSt4)。
iがゼロ(0)より大きくない場合(ステップSt5、NO)、つまりi=0である場合(まだ1つのテンプレートも登録されていない場合)、プロセッサ12は、iをインクリメントし(ステップSt10)、ステップSt2で取得された撮像画像(入力画像)をテンプレートとしてテンプレート登録デバイス40に登録する(ステップSt11)。
一方、iがゼロ(0)より大きい場合(ステップSt5、YES)、プロセッサ12は、ステップSt2で取得されたカメラCAM1の撮像画像(入力画像)とその直前(つまり、第tm番目)の撮像画像であるテンプレートとの間で対象物OB1のテンプレートマッチングを行う(ステップSt6)。プロセッサ12は、テンプレート中の対象物OB1の特徴と撮像画像中の対象物OB1の特徴との間の画像相関(言い換えると、画像の類似度)を示す指標の一例としてのMaSを算出する(ステップSt7)。また、プロセッサ12は、テンプレートを撮像した時のカメラCAM1の位置とカメラCAM1から入力されてくる撮像画像を撮像した時のカメラCAM1の位置との差分(言い換えると、位置の類似度)を示す第1指標の一例としてのMoSを算出する(ステップSt8)。なお、ステップSt7,St8の処理の実行順序は順不同である。
プロセッサ12は、ステップSt7で算出されたMaSが閾値Th2より小さいという条件、および、ステップSt8で算出されたMoSが閾値Th1より小さいという条件のうち少なくとも1つを満たすか否かを判定する(ステップSt9)。MaSが閾値Th2より大きくかつMoSが閾値Th1より大きいと判定された場合(ステップSt9、NO)、プロセッサ12の処理はステップSt12に進む。
一方、プロセッサ12は、MaSが閾値Th2より小さい、もしくは、MoSが閾値Th1より小さいと判定した場合(ステップSt9、YES)、iをインクリメントし(ステップSt10)、ステップSt2で取得されたカメラCAM1の撮像画像(入力画像)を第i番目(つまりインクリメント前のi)のテンプレートとしてテンプレート登録デバイス40に登録する(ステップSt11)。アクチュエータACT1によってエンドエフェクタEF1が動作(例えば移動)継続中であるとプロセッサ12により判定された場合には(ステップSt12、YES)、プロセッサ12の処理はステップSt2に戻る。一方、アクチュエータACT1によってエンドエフェクタEF1が動作(例えば移動)継続中ではないとプロセッサ12により判定された場合には(ステップSt12、NO)、プロセッサ12は、移動経路マップMP1(図4参照)に沿った巡回が終了したらテンプレートの登録処理を終了する。これにより、図3に示すプロセッサ12の処理は終了する。
なお、ステップSt11の時点で、プロセッサ12は、図4に示すテンプレート登録画面WD1をディスプレイ30に表示することにより、現在の登録予定地点のテンプレートの登録の可否をユーザ操作に委ねてもよい。
図4は、実施の形態1においてディスプレイ30に表示されるテンプレート登録画面WD1の一例を示す図である。テンプレート登録画面WD1は、例えばプロセッサ12のコントロール部126により生成される。テンプレート登録画面WD1は、移動経路マップ表示領域SD1と、登録予定のテンプレート表示領域SD2と、登録済みのテンプレート表示領域SD3と、登録ボタンBT1と、破棄ボタンBT2とを有する。
移動経路マップ表示領域SD1は、エンドエフェクタEF1およびカメラCAM1のペアの移動経路(移動履歴)を示す移動経路マップMP1を表示する。位置p1,p2,p3,p4,p5のそれぞれは、過去にエンドエフェクタEF1およびカメラCAM1のペアが位置した際にテンプレートの登録が実行された位置を示す。位置p6は、登録予定位置(つまり、直前の登録位置(例えば位置p5)で登録されたテンプレートとの関係において、位置p6でカメラCAM1により撮像された撮像画像をテンプレートとして登録を行うか否かの判断対象となっている位置)を示す。位置p7は、エンドエフェクタEF1およびカメラCAM1のペアの現在(最新)の位置を示す。位置p1~p7のそれぞれの3次元の位置を示す座標は、アクチュエータACT1から画像処理装置10に入力されている。
登録予定のテンプレート表示領域SD2は、登録予定位置(上述参照)でカメラCAM1により撮像された撮像画像(入力画像)を品番(例えば「XX38YZ1X」)とともに示すテンプレートとして登録予定の撮像画像IMG6を表示する。この登録予定の撮像画像IMG6は、プロセッサ12の特徴抽出部121において抽出された全ての特徴点のうち、特徴マッチング部122により得られた新たに抽出された特徴点(丸印参照)と直前のテンプレートで抽出された特徴点(三角印参照)とを区別可能に示す。したがって、ユーザは、この登録予定のテンプレート表示領域SD2を閲覧することにより、登録予定の撮像画像IMG6には新たに抽出された特徴点の数あるいはその割合を視覚的に判別でき、登録予定の撮像画像IMG6をテンプレートとして登録するべきか否かを分かりやすく決めることができる。
登録済みのテンプレート表示領域SD3は、過去の登録位置(図4の例では位置p1~p5)においてテンプレートの登録が実行された時のテンプレート登録画像TPL1,TPL2,…を表示する。テンプレート登録画像TPL1,TPL2,…のそれぞれは、対応するテンプレートIMG1,IMG2,…のそれぞれを、そのテンプレートを撮像したカメラCAM1の位置(つまり、該当する登録位置の3次元座標)と関連付けて表示する。図4の例では、位置p1に相当する3次元の座標P1Z(0,0,0)でカメラCAM1により撮像された撮像画像が登録されたテンプレートIMG1を含むテンプレート登録画像TPL1、位置p2に相当する3次元の座標P2Z(1,0,0)でカメラCAM1により撮像された撮像画像が登録されたテンプレートIMG2を含むテンプレート登録画像TPL2、…が示されている。なお、図4では図示が省略されているが、ユーザは、スクロールバーSCB1,SCB2を適宜ドラッグ操作してスクロール等することにより、他に登録されているテンプレート登録画像を表示できる。
登録ボタンBT1は、登録予定のテンプレート表示領域SD2に表示されている登録予定の撮像画像IMG6をテンプレートとして登録する際にユーザ操作により押下されるボタンである。つまり、画像処理装置10のプロセッサ12は、ユーザ操作により登録ボタンBT1が押下されたことを検知することにより、登録予定の撮像画像IMG6をテンプレートとして登録できる。
破棄ボタンBT2は、登録予定のテンプレート表示領域SD2に表示されている登録予定の撮像画像IMG6をテンプレートとして登録しない際にユーザ操作により押下されるボタンである。つまり、画像処理装置10のプロセッサ12は、ユーザ操作により破棄ボタンBT2が押下されたことを検知することにより、登録予定の撮像画像IMG6をテンプレートとして登録せずに済むことができる。
以上により、実施の形態1に係るピッキングシステム100では、画像処理装置10は、対象物OB1を撮像かつ移動が可能なカメラCAM1により撮像された対象物OB1の入力画像とカメラCAM1の位置情報とを取得する通信インターフェース11と、対象物OB1の入力画像に基づく情報をテンプレートマッチングに用いるテンプレートとして、カメラCAM1の位置情報と対象物OB1の入力画像に基づく情報とを関連付けてテンプレート登録デバイス40に登録するコントロール部126と、を備える。入力画像に基づく情報は、例えば、テンプレート(画像)のデータ、あるいは、テンプレートが圧縮されたデータ(例えばサムネイル等)とテンプレートに対して特徴抽出部121によって抽出された複数の特徴点の特徴量である。これにより、画像処理装置10は、カメラCAM1の移動に伴ってカメラCAM1からの対象物OB1の姿勢が可変となる状況下でも、テンプレートマッチングに使用可能な対象物の高精度なテンプレートを登録できる。
また、コントロール部126は、カメラCAM1が移動する移動経路マップMP1上の位置情報と対象物OB1の入力画像に基づく情報とを関連付けてテンプレート登録デバイス40に登録する。これにより、画像処理装置10は、所定の移動経路マップMP1上を移動することにより変化し得るカメラCAM1の位置情報と対象物OB1の入力画像に基づく情報とを対応付けてテンプレートとして登録できる。
また、画像処理装置10は、テンプレートの登録の可否を判定するテンプレート登録判定部125、をさらに備える。テンプレート登録判定部125は、カメラCAM1の位置情報ごとにテンプレートの登録の可否を判定する。これにより、画像処理装置10は、カメラCAM1が移動する度に対象物OB1の見え方(言い換えると、姿勢)が変化することに鑑みて、姿勢の異なる多種類のテンプレートを登録でき、テンプレートマッチングの精度向上に貢献できる。
また、画像処理装置10は、入力画像から対象物OB1の特徴を抽出する特徴抽出部121と、テンプレート登録デバイス40に記憶されたテンプレートに映る対象物OB1の特徴と入力画像に映る対象物OB1の特徴点の抽出結果とのマッチング処理を行う特徴マッチング部122と、特徴マッチング部122のマッチング結果とカメラCAM1の位置情報とを基に、テンプレートの登録の可否を判定するテンプレート登録判定部125と、をさらに備える。これにより、画像処理装置10は、入力画像およびテンプレートのそれぞれに出現する対象物OB1の特徴を比較することにより、テンプレートの登録の可否を高精度に判定できる。
また、画像処理装置10は、テンプレートを撮像した時のカメラCAM1の位置と入力画像を撮像した時のカメラCAM1の位置との差分を示す第1指標(例えばMoS)と、テンプレート中の対象物OB1の特徴と入力画像中の対象物OB1の特徴との間の画像相関を示す第2指標(例えばMaS)を算出する指標算出部をさらに備える。ここで、指標算出部は、例えばMoS計算部123、MaS計算部124に相当する。テンプレート登録判定部125は、第1指標および第2指標のそれぞれの算出結果のうち少なくとも1つとメモリ13に予め保存されている閾値(例えば閾値Th1あるいは閾値Th2)との関係を基に、テンプレートの登録の可否を判定する。これにより、画像処理装置10は、MoSおよびMaSのうち少なくとも1つを用いて、入力画像をテンプレートとして登録してよいか否かを適切に判定できる。
また、テンプレート登録判定部125は、第1指標および第2指標のそれぞれの算出結果のうち少なくとも1つ(例えばMoSおよびMaSのうち少なくとも1つ)が閾値(例えば閾値Th1あるいは閾値Th2)未満であると判定された場合、入力画像をテンプレートとしてテンプレート登録デバイス40に登録すると判定する。これにより、画像処理装置10は、例えば指標がMoSである場合、MoSが閾値Th1未満であればカメラCMA1の直前のテンプレート登録位置と現在の登録予定位置との差分が大きいので、入力画像をテンプレートとして新たに登録することにより、過去に登録されているテンプレートのテンプレートマッチングへの使用に起因する精度劣化を避けることができる。また、画像処理装置10は、例えば指標がMaSである場合、MaSが閾値Th2未満であればカメラCMA1の直前のテンプレート登録位置と現在の登録予定位置との差分が大きいので、入力画像をテンプレートとして新たに登録することにより、過去に登録されているテンプレートのテンプレートマッチングへの使用に起因する精度劣化を避けることができる。
また、テンプレート登録判定部125は、第1指標および第2指標のそれぞれの算出結果のうち少なくとも1つ(例えばMoSおよびMaSのうち少なくとも1つ)が閾値(例えば閾値Th1あるいは閾値Th2)以上であると判定された場合、入力画像をテンプレートとしてテンプレート登録デバイス40に登録しないと判定する。これにより、画像処理装置10は、例えば指標がMoSである場合、MoSが閾値Th2以上であればカメラCMA1の直前のテンプレート登録位置と現在の登録予定位置との差分が小さいので、過去に登録されているテンプレートを流用してテンプレートマッチングを高精度に行える。また、画像処理装置10は、例えば指標がMaSである場合、MaSが閾値Th2以上であればカメラCMA1の直前のテンプレート登録位置と現在の登録予定位置との差分が小さいので、過去に登録されているテンプレートを流用してテンプレートマッチングを高精度に行える。
また、テンプレートは、カメラCAM1により直前の登録位置で撮像された対象物OB1の入力画像である。これにより、画像処理装置10は、カメラCAM1の移動量が多くないと考えることができる直前の登録位置で撮像された対象物OB1の入力画像をテンプレートとして使用できるので、今のカメラCAM1の位置で撮像された入力画像をテンプレートとして登録してよいか否かを適切に判定できる。
また、画像処理装置10は、入力画像から対象物OB1の特徴を抽出する特徴抽出部121をさらに備える。テンプレート登録判定部125は、テンプレート中で抽出された対象物OB1の特徴と入力画像中で新たに抽出された対象物OB1の特徴とを異なる色で着色した入力画像をディスプレイ30に表示する。これにより、ユーザは、登録予定位置の入力画像において抽出された特徴点のうちテンプレート中の特徴点との比較により新たに抽出された特徴点を視覚的に確認できるので、その登録予定位置の入力画像をテンプレートとして登録するべきか否かを適切に判断できる。
また、テンプレート登録判定部125は、少なくとも1つのテンプレートの登録位置を示すカメラCAM1の移動経路マップMP1をディスプレイ30に表示する。これにより、ユーザは、テンプレートを登録するためにカメラCAM1の移動経路マップMP1に沿った移動経路およびテンプレートの登録を行った地点の位置情報を視覚的に確認できる。
また、テンプレート登録判定部125は、テンプレート登録デバイス40に登録されたテンプレートごとに、テンプレートの登録位置を示すカメラCAM1の位置情報とテンプレートとを関連付けてディスプレイ30に表示する。これにより、ユーザは、過去に登録されたテンプレートの一覧だけでなく、一つ一つのテンプレートに映る対象物OB1の姿勢を視覚的に確認できる。
(実施の形態2に至る経緯)
特開2016-207147号公報では、物体認識装置は、階層的なテンプレートセットを作成し、解像度の低いテンプレートセットによるラフな認識を行い、その結果を用いて解像度の高いテンプレートセットによる詳細な認識を行う、といった階層的探索を行う。ところが、解像度の低いテンプレートセットを用いた認識処理、解像度の高いテンプレートセットを用いた認識処理のように少なくとも二段階でマッチング処理を行う必要があり、物体認識装置の処理負荷の増大を免れない。
また、上述した工場内の生産工程においてエンドエフェクタによりピッキングしようとする部品が正しい部品であるかを判定するためにエンドエフェクタおよびカメラを移動させてピッキングしようとする部品をカメラで撮像する際に、特開2016-207147号公報の技術を適用しようとすると次のような課題が生じる。具体的には、エンドエフェクタの移動に伴ってカメラも移動するとなると、エンドエフェクタの位置変化に伴ってカメラからの部品の見え方(言い換えると、部品の姿勢)が変化する。このため、テンプレートマッチングの際に、エンドエフェクタの位置(言うなれば、カメラの位置)を考慮しなければ、予め生成されたテンプレートセットを使っても効率的なテンプレートマッチングを行うことができず、テンプレートマッチングの信頼性も向上しない。
そこで、以下の実施の形態2では、撮像装置の移動に伴って撮像装置からの対象物の姿勢が可変となる状況下でも対象物の高精度なテンプレートマッチングを実現するテンプレートマッチング装置、テンプレートマッチング方法およびテンプレートマッチングシステムの例を説明する。
(実施の形態2:概要)
実施の形態2では、例えば工場内の生産工程において、実施の形態1で説明した方法で登録されたテンプレートを用いて、ロボットハンド等のエンドエフェクタEF1によりピッキングしようとする部品(対象物OB1の一例)が正しい部品(例えば工業製品の生産に使用する部品)であるか否かをテンプレートマッチングで判定する例を説明する。本開示に係るテンプレートマッチング装置は、対象物を撮像かつ移動が可能な撮像装置の位置情報と対象物のテンプレートとを関連付けて複数記憶する記憶部との間で通信し、撮像装置の位置情報を取得し、撮像装置の位置情報を基に、記憶部に記憶されている複数のテンプレートの中から対象物のテンプレートマッチングに用いるテンプレートを予測する予測処理を行い、撮像装置により撮像された対象物の入力画像とテンプレートの予測結果とを用いて、テンプレートマッチングを行う。
(実施の形態2:詳細)
図5は、実施の形態2に係るピッキングシステム100Aの詳細な内部構成例を示すブロック図である。図5に示すように、ピッキングシステム100A(テンプレートマッチングシステムの一例)は、アクチュエータACT1と、カメラCAM1と、画像処理装置10Aと、操作デバイス20と、ディスプレイ30と、テンプレート登録デバイス40とを含む。実施の形態1と同様に、アクチュエータACT1と画像処理装置10Aとの間、カメラCAM1と画像処理装置10Aとの間、画像処理装置10Aと操作デバイス20との間、画像処理装置10Aとディスプレイ30との間、画像処理装置10Aとテンプレート登録デバイス40との間は、それぞれデータ信号の入出力(送受信)が可能となるように接続されている。
実施の形態2の説明において、実施の形態1に係るピッキングシステム100の構成と同一の構成には同一の符号を付与して説明を簡略化あるいは省略し、異なる内容について説明する。
画像処理装置10A(テンプレートマッチング装置の一例)は、アクチュエータACT1からの位置情報とカメラCAM1からの対象物OB1の撮像画像(入力画像)とを用いて所定の処理(図6参照)を実行可能なコンピュータにより構成される。例えば、画像処理装置10は、PC(Personal Computer)でもよいし、上述した所定の処理に特化した専用のハードウェア機器でもよい。画像処理装置10Aは、上述した所定の処理を行うことにより、カメラCAM1から入力されてくる撮像画像のテンプレートマッチングに用いるテンプレートを予測し、予測されたテンプレートと入力された撮像画像とを用いてテンプレートマッチングを行う。また、画像処理装置10は、テンプレートマッチングの処理結果を示すマッチング結果画面WD2(図7参照)を生成してディスプレイ30に表示する。また、画像処理装置10Aは、テンプレートマッチング結果と所定の移動経路マップ(図7参照)とにしたがって、エンドエフェクタEF1およびカメラCAM1の移動を指令するための制御指令を生成してアクチュエータACT1に送ってもよい。
テンプレート登録デバイス40(記憶部の一例)は、例えばフラッシュメモリ、HDDあるいはSSDである。テンプレート登録デバイス40は、実施の形態1で説明した方法によってテンプレートマッチングに使用するように登録されたテンプレート(画像)のデータを、そのテンプレートに相当する撮像画像を撮像したカメラCAM1の位置情報(3次元位置)と関連付けて非一時的に保存する。テンプレート登録デバイス40に保存される、それぞれのテンプレートのデータは、テンプレート(画像)のデータあるいはそのテンプレートが圧縮されたデータと、そのテンプレートに相当する撮像画像を撮像したカメラCAM1の位置情報および特徴量と、そのテンプレートに対して特徴抽出部121によって抽出された複数の特徴点の位置情報とを少なくとも有する。
ここで、画像処理装置10Aの内部構成について詳細に説明する。
画像処理装置10Aは、通信インターフェース11と、プロセッサ12Aと、メモリ13とを少なくとも含む。通信インターフェース11と、プロセッサ12Aと、メモリ13とは、互いにデータ信号の入出力が可能となるようにデータ伝送バス(図示略)を介して接続されている。
プロセッサ12Aは、例えばCPU、GPU、DSP、あるいはFGPAである。プロセッサ12Aは、画像処理装置10Aの全体的な動作を司るコントローラとして機能し、画像処理装置10Aの各部の動作を統括するための制御処理、画像処理装置10Aの各部との間のデータの入出力処理、データの演算処理およびデータの記憶処理を行う。プロセッサ12Aは、メモリ13に記憶されたプログラムおよび制御用データにしたがって動作したり、動作時にメモリ13を使用し、プロセッサ12Aが生成または取得したデータもしくは情報をメモリ13に一時的に保存したり通信インターフェース11を介して外部装置(例えばディスプレイ30、テンプレート登録デバイス40、アクチュエータACT1)に送ったりする。例えば、プロセッサ12Aは、メモリ13に記憶されたプログラムおよび制御用データにしたがって、特徴抽出部121、特徴マッチング部122、コントロール部126、位置フィッティング部127、テンプレート予測部128およびテンプレート更新判定部129を機能的に実現することができる。
位置フィッティング部127は、特徴マッチング部122によるマッチング結果(図7参照)を基に、カメラCAM1の現在位置(図7参照)にて撮像された撮像画像(入力画像)に映る対象物OB1の位置を近似するフィッティング処理を行う。対象物OB1の位置は、例えば対象物OB1の中心位置を中心とした所定径の長さを有する円形状の範囲である。このフィッティング処理の結果は、例えばコントロール部126によるマッチング結果画面WD2の生成時に参照される。
テンプレート予測部128(予測部の一例)は、アクチュエータACT1から常時あるいは周期的に送られるカメラCAM1の3次元座標からなる位置情報(つまり、カメラCAM1の移動量)と前回(直前)の特徴マッチング部122によるマッチング処理の結果とのうちいずれか1つまたはその両方を基に、テンプレート登録デバイス40に登録されている複数のテンプレートの中で特徴マッチング部122が用いるテンプレートマッチング用のテンプレートを予測する。例えば、テンプレート予測部128は、カメラCAM1の3次元座標からなる位置情報を基に、その位置情報に対応する登録済みのテンプレートをテンプレートマッチング用のテンプレートとして予測する。また、テンプレート予測部128は、前回(直前)のマッチング処理の結果を用いてMaS(実施の形態1参照)を算出し、このMaSが例えばメモリ13に保存されている閾値Th3以上であると判定した場合、特徴マッチング部122がテンプレートマッチングに用いたテンプレートをテンプレートマッチング用のテンプレートとして予測する。なお、テンプレート予測部128によるテンプレートの予測方法は上述した方法に限定されなくてもよい。
テンプレート更新判定部129(更新判定部の一例)は、次の特徴マッチング部122によるマッチング処理に用いるテンプレートとして、ユーザの操作に基づいて操作デバイス20により指定されたテンプレートか、あるいは、テンプレート予測部128により予測されたテンプレートを用いるかを判定する。例えば、第1番目のカメラCAM1からのフレームの場合には、テンプレート更新判定部129は、次の特徴マッチング部122によるマッチング処理に用いるテンプレートとして、ユーザの操作に基づいて操作デバイス20により指定されたテンプレートを用いると判定する。第2番目以降のカメラCAM1からのフレームの場合には、テンプレート更新判定部129は、次の特徴マッチング部122によるマッチング処理に用いるテンプレートとして、テンプレート予測部128により予測されたテンプレートを用いるかを判定する。
次に、実施の形態2に係る画像処理装置10Aによるテンプレートマッチングの動作手順例について、図6を参照して説明する。図6は、実施の形態2に係る画像処理装置10Aによるテンプレートマッチングの動作手順例を示すフローチャートである。図6に示す処理は、主に画像処理装置10Aのプロセッサ12Aによって実行される。
図6において、プロセッサ12Aは、カメラCAM1から撮像画像(入力画像)を入力して取得し(ステップSt21)、さらに、アクチュエータACT1から少なくともカメラCAM1の位置情報を入力して取得する(ステップSt22)。プロセッサ12Aは、ステップSt21で取得された撮像画像(入力画像)の特徴を抽出する(ステップSt23)。
第1番目のカメラCAM1からのフレームである場合(ステップSt24、YES)、プロセッサ12Aは、マッチング結果画面WD2に表示されている移動経路マップMP2上の登録位置における登録済みのテンプレートの中からユーザ操作により選択されたテンプレートを取得する(ステップSt25)。ステップSt25の後、プロセッサ12Aの処理はステップSt27に進む。
一方、第1番目のカメラCAM1からのフレームではない(つまり、第2番目以降のカメラCAM1からのフレームである)場合(ステップSt24、NO)、プロセッサ12Aは、カメラCAM1の3次元座標(つまり、位置情報の変化量である移動量)と前回(直前)の特徴マッチング部122によるマッチング処理の結果とを基に、テンプレート登録デバイス40に登録されている複数のテンプレートの中で特徴マッチング部122が用いるテンプレートマッチング用のテンプレートを予測する(ステップSt26)。プロセッサ12Aは、予測されたテンプレート(つまり、登録済みのテンプレート)をテンプレート登録デバイス40から読み出して取得する(ステップSt26)。
プロセッサ12Aは、ステップSt23で取得された撮像画像(入力画像)とステップSt26で取得されたテンプレートの予測結果(つまり、登録済みのテンプレート)とを用いて、対象物OB1のテンプレートマッチングを行う(ステップSt27)。プロセッサ12Aは、ステップSt27のテンプレートマッチングの処理結果(マッチング結果)を基に、対象物OB1の位置を近似するフィッティング処理を行う(ステップSt28)。プロセッサ12Aは、テンプレートマッチングの処理結果およびフィッティング処理の結果をマッチング結果画面WD2に表示する。
プロセッサ12Aは、ステップSt28のフィッティング処理の結果を基に、エンドエフェクタEF1およびカメラCAM1の移動量を調整および決定する(ステップSt29)。さらに、プロセッサ12Aは、エンドエフェクタEF1およびカメラCAM1の移動を制御するための制御指令を生成し、通信インターフェース11を介してアクチュエータACT1に送る(ステップSt29)。アクチュエータACT1は、画像処理装置10からの制御指令を基に、その制御指令で定められる移動量分、エンドエフェクタEF1およびカメラCAM1の移動を制御する。
アクチュエータACT1によってエンドエフェクタEF1およびカメラCAM1の移動動作が継続中であるとプロセッサ12Aにより判定された場合には(ステップSt30、YES)、プロセッサ12の処理はステップSt21に戻る。一方、アクチュエータACT1によってエンドエフェクタEF1およびカメラCAM1の移動動作が継続中ではないとプロセッサ12Aにより判定された場合には(ステップSt30、NO)、図6に示すプロセッサ12Aの処理は終了する。
なお、ステップSt28あるいはステップSt29の時点で、プロセッサ12Aは、図7に示すマッチング結果画面WD2をディスプレイ30に表示することにより、カメラCAM1の現在位置でのマッチング結果をユーザに視覚的に報知してもよい。
図7は、実施の形態2においてディスプレイに表示されるマッチング結果画面WD2の一例を示す図である。マッチング結果画面WD2は、例えばプロセッサ12Aのコントロール部126により生成される。マッチング結果画面WD2は、移動経路マップ表示領域SD1Aと、マッチング結果表示領域SD4と、登録済みのテンプレート表示領域SD3Aと、使用ボタンBT3とを有する。
移動経路マップ表示領域SD1Aは、エンドエフェクタEF1およびカメラCAM1のペアの移動経路(移動履歴)を示す移動経路マップMP2を表示する。位置p1,p2,p3,p4,p5,p7,p8,p9,p10,p11,p12,p13,p14,p15のそれぞれは、エンドエフェクタEF1およびカメラCAM1のペアが位置した際にテンプレートの登録が過去に実行された位置を示す。位置p6は、エンドエフェクタEF1およびカメラCAM1の移動経路RL1上の現在の位置であり、図7のマッチング結果画面WD2が生成された時にエンドエフェクタEF1およびカメラCAM1が現在存在している位置(つまり、現在位置)である。位置p1~p5,p7~p15のそれぞれの3次元の位置を示す座標は、テンプレートのデータ(上述参照)が登録されているテンプレート登録デバイス40から画像処理装置10に入力されている。一方、現在位置である位置p6を示す座標は、アクチュエータACT1から画像処理装置10に入力される。
マッチング結果表示領域SD4は、現在位置(例えば位置p6)でカメラCAM1により撮像された品番(例えば「XX38YZ1X」)の対象物が映る撮像画像IMG6とテンプレートマッチングに用いたテンプレートTPL5(例えば現在位置の一つ前の位置p5に対応するテンプレート)との間のマッチング結果を示す。例えばマッチング結果表示領域SD4は、撮像画像IMG6中で抽出された13個の特徴点のうちテンプレートTPL5を用いたテンプレートマッチングにおいて9個の特徴点がマッチ(つまり整合)したことを示している。つまり、マッチングレートは9/13=69.2%となる。したがって、ユーザは、このマッチング結果表示領域SD4を閲覧することにより、カメラCAM1の現在位置の撮像画像IMG6とテンプレートマッチングに用いたテンプレートTPL5との間でどの特徴点が整合してどの程度マッチしているかを視覚的に判別できる。
登録済みのテンプレート表示領域SD3Aは、過去の登録位置(図4の例では位置p1~p5,p7~p15)においてテンプレートの登録が実行された時のテンプレート登録画像TPL1,TPL2,…,TPL7,TPL8,TPL9,TPL10,…を表示する。テンプレート登録画像TPL1,TPL2,…,TPL7,TPL8,TPL9,TPL10,…のそれぞれは、対応するテンプレートIMG1,IMG2,…,IMG7,IMG8,IMG9,IMG10,…のそれぞれを、そのテンプレートを撮像したカメラCAM1の位置(つまり、該当する登録位置の3次元座標)と関連付けて表示する。図7の例では、位置p1に相当する3次元の座標P1Z(0,0,0)でカメラCAM1により撮像された撮像画像が登録されたテンプレートIMG1を含むテンプレート登録画像TPL1、位置p2に相当する3次元の座標P2Z(1,0,0)でカメラCAM1により撮像された撮像画像が登録されたテンプレートIMG2を含むテンプレート登録画像TPL2、…、位置p7に相当する3次元の座標P7Z(1,0,1)でカメラCAM1により撮像された撮像画像が登録されたテンプレートIMG7を含むテンプレート登録画像TPL7、位置p8に相当する3次元の座標P8Z(0,0,1)でカメラCAM1により撮像された撮像画像が登録されたテンプレートIMG8を含むテンプレート登録画像TPL8、位置p9に相当する3次元の座標P9Z(0,0,2)でカメラCAM1により撮像された撮像画像が登録されたテンプレートIMG9を含むテンプレート登録画像TPL9、位置p10に相当する3次元の座標P10Z(1,0,2)でカメラCAM1により撮像された撮像画像が登録されたテンプレートIMG10を含むテンプレート登録画像TPL2、…が示されている。なお、図7では図示が省略されているが、ユーザは、スクロールバーSCB1,SCB2を適宜ドラッグ操作してスクロール等することにより、他に登録されているテンプレート登録画像を表示できる。
使用ボタンBT3は、登録済みのテンプレート表示領域SD3Aに表示されているテンプレート登録画像の中からユーザ操作により選択されたテンプレート登録画像がテンプレートマッチングに使用される際に押下されるボタンである。つまり、画像処理装置10のプロセッサ12は、ユーザ操作によりいずれか一つのテンプレート画像が選択された上で使用ボタンBT3が押下されたことを検知することにより、その選択されたテンプレート画像をテンプレートマッチングに使用できる。
以上により、実施の形態2に係るピッキングシステム100Aでは、画像処理装置10Aは、対象物OB1を撮像かつ移動が可能なカメラCAM1の位置情報と対象物OB1のテンプレートとを関連付けて複数記憶するテンプレート登録デバイス40との間で通信する通信部(例えば通信インターフェース11)と、カメラCAM1の位置情報を取得する取得部(例えば通信インターフェース11)と、カメラCAM1の位置情報を基に、テンプレート登録デバイス40に記憶されている複数のテンプレートの中から対象物OB1のテンプレートマッチングに用いるテンプレートを予測する予測処理を行うテンプレート予測部128と、カメラCAM1により撮像された対象物OB1の入力画像とテンプレートの予測処理の結果とを用いて、テンプレートマッチングを行うマッチング部(例えば特徴マッチング部122)と、を備える。これにより、画像処理装置10Aは、カメラCAM1の移動に伴ってカメラCAM1からの対象物OB1の姿勢が可変となる状況下でも、対象物OB1の高精度なテンプレートマッチングを実現できる。
また、特徴マッチング部122は、操作デバイス20により指定されたテンプレートを用いてテンプレートマッチングを行う。これにより、画像処理装置10Aは、例えば初めてテンプレートマッチングを行う場合でも、ユーザが操作デバイス20を用いて選択したテンプレートを用いて効率的にテンプレートマッチングを行える。
また、テンプレート予測部128は、カメラCAM1が移動する度に、カメラCAM1の位置情報を取得し、かつ、その取得された位置情報を用いてテンプレートの予測処理を行う。これにより、画像処理装置10Aは、カメラCAM1が移動する度にテンプレートマッチングに使用する適切なテンプレートを予測して選択できる。
また、画像処理装置10Aは、入力画像から対象物OB1の特徴を抽出する特徴抽出部121をさらに備える。特徴マッチング部122は、テンプレートの予測処理の結果に映る対象物OB1の特徴と入力画像に映る対象物OB1の特徴の抽出結果とのマッチング処理であるテンプレートマッチングを行う。これにより、画像処理装置10Aは、入力画像およびテンプレートのそれぞれに出現する対象物OB1の特徴を比較することにより、テンプレートマッチングに使用する適切なテンプレートを予測できる。
また、画像処理装置10Aは、カメラCAM1の位置情報に基づく移動方向とテンプレートマッチングの結果とのうちいずれか一方を基に、テンプレートマッチングに用いるテンプレートを更新するか否かを決定するテンプレート更新判定部129をさらに備える。これにより、画像処理装置10Aは、テンプレートマッチングに使用するテンプレートの更新(言い換えると、他のテンプレートへの切り替え)の要否を適切に判定できる。
また、特徴マッチング部122は、カメラCAM1の一定区間の移動中、同一のテンプレートを用いてテンプレートマッチングを行う。これにより、画像処理装置10Aは、例えばカメラCAM1が微小距離等の一定区間の移動中であれば、カメラCAM1から見た対象物OB1の見え方(言い換えると、姿勢)がほぼ不変とみなすことができ、現在使用中のテンプレートをそのまま使用してテンプレートの更新の要否判定もしくはその更新に要する処理負荷の増大を抑制できる。
また、画像処理装置10Aは、入力画像から対象物OB1の特徴を抽出する特徴抽出部121と、テンプレートの予測処理の結果と入力画像とを対比的にディスプレイ30に表示するコントロール部126とをさらに備える。コントロール部126は、テンプレートの予測処理の結果中で抽出された対象物OB1の特徴と入力画像中で抽出された対象物OB1の特徴とのうち同一の特徴点を識別可能に結線して表示する。これにより、ユーザは、ディスプレイ30に対比的に表示された特徴点のマッチング状況(例えばマッチしている特徴点の数、割合)を視覚的に判断でき、カメラCAM1の現在位置の撮像画像とテンプレートマッチングに用いたテンプレートとの間でどの特徴点が整合してどの程度マッチしているかを視覚的に判別できる。
また、画像処理装置10Aは、カメラCAM1の移動経路マップMP2をディスプレイ30に表示するコントロール部126をさらに備える。これにより、ユーザは、ピッキングシステム100AにおいてエンドエフェクタEF1が対象物OB1をピッキングするためにどのような経路で移動しているかを視覚的に判別できる。
また、画像処理装置10Aは、テンプレート登録デバイス40に登録されたテンプレートごとに、テンプレートの登録位置を示すカメラCAM1の位置情報とテンプレートとを関連付けてディスプレイ30に表示するコントロール部126をさらに備える。これにより、ユーザは、過去に登録されたテンプレートの一覧だけでなく、一つ一つのテンプレートに映る対象物OB1の姿勢を視覚的に確認できる。
以上、添付図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても本開示の技術的範囲に属すると了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。
本開示は、撮像装置の移動に伴って撮像装置からの対象物の姿勢が可変となる状況下でもテンプレートマッチングに使用可能な対象物の高精度なテンプレートを登録するテンプレート登録装置、テンプレート登録方法およびテンプレート登録システムとして有用である。
10、10A 画像処理装置
11 通信インターフェース
12、12A プロセッサ
13 メモリ
20 操作デバイス
30 ディスプレイ
40 テンプレート登録デバイス
100、100A ピッキングシステム
121 特徴抽出部
122 特徴マッチング部
123 MoS計算部
124 MaS計算部
125 テンプレート登録判定部
126 コントロール部
127 位置フィッティング部
128 テンプレート予測部
129 テンプレート更新判定部
ACT1 アクチュエータ
CAM1 カメラ

Claims (12)

  1. 対象物を撮像かつ移動が可能な撮像装置の位置情報と前記対象物のテンプレートとを関連付けて複数記憶する記憶部との間で通信する通信部と、
    前記撮像装置の位置情報を取得する取得部と、
    前記撮像装置の位置情報を基に、前記記憶部に記憶されている複数の前記テンプレートの中から前記対象物のテンプレートマッチングに用いるテンプレートを予測する予測処理を行う予測部と、
    前記撮像装置により撮像された前記対象物の入力画像と前記テンプレートの前記予測処理の結果とを用いて、前記テンプレートマッチングを行うマッチング部と、を備える、
    テンプレートマッチング装置。
  2. 前記マッチング部は、操作デバイスにより指定されたテンプレートを用いて前記テンプレートマッチングを行う、
    請求項1に記載のテンプレートマッチング装置。
  3. 前記予測部は、前記撮像装置が移動する度に、前記撮像装置の位置情報を取得し、かつその取得された前記位置情報を用いて前記テンプレートの前記予測処理を行う、
    請求項1に記載のテンプレートマッチング装置。
  4. 前記入力画像から前記対象物の特徴点を抽出する特徴抽出部、をさらに備え、
    前記マッチング部は、前記テンプレートの前記予測処理の結果あるいは操作デバイスにより指定されたテンプレートに映る前記対象物の特徴と前記入力画像に映る前記対象物の特徴の抽出結果とのマッチング処理である前記テンプレートマッチングを行う、
    請求項1に記載のテンプレートマッチング装置。
  5. 前記撮像装置の位置情報に基づく移動方向と前記テンプレートマッチングの結果とのうちいずれか一方を基に、前記テンプレートマッチングに用いるテンプレートを更新するか否かを決定する更新判定部、をさらに備える、
    請求項4に記載のテンプレートマッチング装置。
  6. 前記マッチング部は、前記撮像装置の一定区間の移動中、同一の前記テンプレートを用いて前記テンプレートマッチングを行う、
    請求項1に記載のテンプレートマッチング装置。
  7. 前記入力画像から前記対象物の特徴を抽出する特徴抽出部と、
    前記テンプレートの予測処理の結果と前記入力画像とを対比的にディスプレイに表示する制御部と、をさらに備え、
    前記制御部は、前記テンプレートの予測処理の結果中で抽出された前記対象物の特徴と前記入力画像中で抽出された前記対象物の特徴とのうち同一の特徴点を識別可能に結線して表示する、
    請求項1に記載のテンプレートマッチング装置。
  8. 前記撮像装置の移動経路マップをディスプレイに表示する制御部、をさらに備える、
    請求項1に記載のテンプレートマッチング装置。
  9. 前記記憶部に登録された前記テンプレートごとに、前記テンプレートの登録位置を示す前記撮像装置の位置情報と前記テンプレートとを関連付けてディスプレイに表示する制御部、をさらに備える、
    請求項1に記載のテンプレートマッチング装置。
  10. テンプレートマッチング装置により実行されるテンプレートマッチング方法であって、
    対象物を撮像かつ移動が可能な撮像装置の位置情報と前記対象物のテンプレートとを関連付けて複数記憶する記憶部との間で通信するステップと、
    前記撮像装置の位置情報を取得するステップと、
    前記撮像装置の位置情報を基に、前記記憶部に記憶されている複数の前記テンプレートの中から前記対象物のテンプレートマッチングに用いるテンプレートを予測する予測処理を行うステップと、
    前記撮像装置により撮像された前記対象物の入力画像と前記テンプレートの予測処理の結果とを用いて、前記テンプレートマッチングを行うステップと、を有する、
    テンプレートマッチング方法。
  11. 対象物を撮像かつ移動が可能な撮像装置と、
    前記撮像装置との間で通信可能に接続されるテンプレートマッチング装置と、を備え、
    前記テンプレートマッチング装置は、
    前記撮像装置の位置情報と前記対象物のテンプレートとを関連付けて複数記憶する記憶部との間で通信する通信部と、
    前記撮像装置の位置情報を取得する取得部と、
    前記撮像装置の位置情報を基に、前記記憶部に記憶されている複数の前記テンプレートの中から前記対象物のテンプレートマッチングに用いるテンプレートを予測する予測処理を行う予測部と、
    前記撮像装置により撮像された前記対象物の入力画像と前記テンプレートの予測処理の結果とを用いて、前記テンプレートマッチングを行うマッチング部と、を備える、
    テンプレートマッチングシステム。
  12. 前記撮像装置は、アクチュエータにより3次元方向に稼動可能でかつ前記対象物をピックアップ可能なエンドエフェクタが固定された稼動部に固定されて移動可能である、
    請求項11に記載のテンプレートマッチングシステム。
JP2022065264A 2022-04-11 2022-04-11 テンプレートマッチング装置、テンプレートマッチング方法およびテンプレートマッチングシステム Pending JP2023155753A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022065264A JP2023155753A (ja) 2022-04-11 2022-04-11 テンプレートマッチング装置、テンプレートマッチング方法およびテンプレートマッチングシステム
PCT/JP2023/003002 WO2023199572A1 (ja) 2022-04-11 2023-01-31 テンプレート登録装置、テンプレート登録方法およびテンプレート登録システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022065264A JP2023155753A (ja) 2022-04-11 2022-04-11 テンプレートマッチング装置、テンプレートマッチング方法およびテンプレートマッチングシステム

Publications (1)

Publication Number Publication Date
JP2023155753A true JP2023155753A (ja) 2023-10-23

Family

ID=88417985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022065264A Pending JP2023155753A (ja) 2022-04-11 2022-04-11 テンプレートマッチング装置、テンプレートマッチング方法およびテンプレートマッチングシステム

Country Status (1)

Country Link
JP (1) JP2023155753A (ja)

Similar Documents

Publication Publication Date Title
EP1905548B1 (en) Workpiece picking apparatus
CN104936748B (zh) 徒手机器人路径教导
US10286557B2 (en) Workpiece position/posture calculation system and handling system
EP1870210A1 (en) Evaluating visual proto-objects for robot interaction
US11654571B2 (en) Three-dimensional data generation device and robot control system
US9595095B2 (en) Robot system
JP2020135623A (ja) 物体検出装置、制御装置及び物体検出用コンピュータプログラム
JP2019188580A (ja) 情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体
CN111745640B (zh) 物体检测方法、物体检测装置以及机器人系统
JP2015212629A (ja) 検出装置およびこの装置を具えたマニプレータの動作制御
US11833697B2 (en) Method of programming an industrial robot
US20210283782A1 (en) Measurement parameter optimization method and device, and computer control program stored on computer-readable storage medium
CN112775967A (zh) 基于机器视觉的机械臂抓取方法、装置及设备
JP2016143414A (ja) インタラクティブシステム、リモコン及びその操作方法
JP2016081264A (ja) 画像処理方法、画像処理装置及びロボットシステム
JP2022160363A (ja) ロボットシステム、制御方法、画像処理装置、画像処理方法、物品の製造方法、プログラム、及び記録媒体
WO2023199572A1 (ja) テンプレート登録装置、テンプレート登録方法およびテンプレート登録システム
JP2023155753A (ja) テンプレートマッチング装置、テンプレートマッチング方法およびテンプレートマッチングシステム
JP2023155752A (ja) テンプレート登録装置、テンプレート登録方法およびテンプレート登録システム
Liu et al. Vision-based excavator pose estimation for automatic control
CN116460846A (zh) 机械臂控制方法、装置、设备和存储介质
WO2021171839A1 (ja) 画像表示装置、画像表示方法、及びプログラム
JP7376318B2 (ja) アノテーション装置
CN111862218B (zh) 计算机设备定位方法、装置、计算机设备和存储介质
Du et al. Human‐Manipulator Interface Using Particle Filter