(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024158428
(43)【公開日】2024-11-08
(54)【発明の名称】画像処理方法および画像処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20241031BHJP
G06T 7/70 20170101ALI20241031BHJP
G06V 10/62 20220101ALI20241031BHJP
B25J 19/04 20060101ALI20241031BHJP
【FI】
G06T7/00 300D
G06T7/70 Z
G06V10/62
B25J19/04
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023073618
(22)【出願日】2023-04-27
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】虎 テイテイ
(72)【発明者】
【氏名】井村 康治
【テーマコード(参考)】
3C707
5L096
【Fターム(参考)】
3C707AS01
3C707KT01
3C707KT05
3C707KT11
5L096AA09
5L096BA05
5L096CA04
5L096FA67
5L096FA69
5L096HA04
5L096JA09
(57)【要約】
【課題】撮像装置の移動に伴って撮像装置からの対象物の姿勢が可変となる状況下でも対象物の高精度なテンプレートマッチングを実現する。
【解決手段】画像処理方法は、移動可能であって、かつ、対象物を撮像可能なカメラとの間で通信可能であって、対象物が撮像された撮像画像を取得し、撮像画像から対象物の位置または姿勢の検出を行い、対象物のテンプレートを生成する第1処理を実行し、第1処理を実行中に、撮像画像と対象物のテンプレートとに基づくテンプレートマッチングを実行し、対象物の移動に関する情報を取得する第2処理を複数回実行し、第1処理は、検出された対象物の位置または姿勢と、第2処理で複数回取得された対象物の移動に関する情報とに基づいて、対象物の姿勢を予測し、対象物の予測姿勢に対応する対象物のテンプレートを生成する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
移動可能であって、かつ、対象物を撮像可能なカメラとの間で通信可能な画像処理装置が行う画像処理方法であって、
前記対象物が撮像された撮像画像を取得し、前記撮像画像から前記対象物の位置または姿勢の検出を行い、前記対象物のテンプレートを生成する第1処理を実行し、
前記第1処理を実行中に、前記撮像画像と前記対象物のテンプレートとに基づくテンプレートマッチングを実行し、前記対象物の移動に関する情報を取得する第2処理を複数回実行し、
前記第1処理は、検出された前記対象物の位置または姿勢と、前記第2処理で複数回取得された前記対象物の移動に関する情報とに基づいて、前記対象物の姿勢を予測し、前記対象物の予測姿勢に対応する前記対象物のテンプレートを生成する、
画像処理方法。
【請求項2】
前記撮像画像から前記対象物の特徴量を抽出し、抽出された前記対象物の特徴量と前記テンプレートに写る前記対象物の特徴量とに基づいて、テンプレートマッチングを実行する、
請求項1に記載の画像処理方法。
【請求項3】
前記第1処理は、前記撮像画像から検出された前記対象物と、データベースに記録された3Dモデルとに3Dマッチングを実行して、前記対象物の姿勢を特定し、複数回実行された前記第2処理で取得された前記対象物の移動に関する情報に基づいて、前記対象物の姿勢を予測し、前記対象物のテンプレートを生成する、
請求項1に記載の画像処理方法。
【請求項4】
前記対象物の予測姿勢に基づいて、前記3Dモデルに対する前記カメラの第1撮像位置を取得し、
前記3Dモデルと前記対象物の予測姿勢とに基づいて、前記予測姿勢に対応する予測テンプレートを生成し、
前記3Dモデルと、前記3Dモデルに対する前記第1撮像位置と、前記予測テンプレートとを対応付けて、ディスプレイに出力する、
請求項3に記載の画像処理方法。
【請求項5】
前記撮像画像から前記対象物を検出して、検出された前記対象物の検出姿勢を特定し、
前記検出姿勢に基づいて、前記3Dモデルに対する前記カメラの第2撮像位置を取得し、
前記3Dモデルと、前記検出姿勢とに基づいて、前記検出姿勢に対応する検出テンプレートを生成し、
前記3Dモデルと、前記3Dモデルに対する前記第2撮像位置と、前記検出テンプレートとを対応付けて、ディスプレイに出力する、
請求項3に記載の画像処理方法。
【請求項6】
前記3Dモデルを指定する指定情報を取得し、
前記指定情報に対応する3Dモデルに基づいて、前記対象物のテンプレートを生成する、
請求項3に記載の画像処理方法。
【請求項7】
前記テンプレートを指定する指定情報を取得し、
前記撮像画像から前記対象物の特徴量を抽出し、
抽出された前記対象物の特徴量と、前記指定情報に対応するテンプレートに写る前記対象物の特徴量とに基づいて、テンプレートマッチングを実行する、
請求項1に記載の画像処理方法。
【請求項8】
前記カメラで撮像される前記撮像画像に対して、前記第2処理は、前記第1処理と異なるフレームレートで実行する、
請求項1に記載の画像処理方法。
【請求項9】
移動可能であって、かつ、対象物を撮像可能なカメラにより撮像された前記対象物の撮像画像を取得する取得部と、
前記撮像画像から前記対象物の位置または姿勢の検出を行い、前記対象物のテンプレートを生成する第1処理部と、
前記第1処理部による前記対象物のテンプレートの生成中に、複数回、前記撮像画像と前記対象物のテンプレートとに基づくテンプレートマッチングを実行し、前記対象物の移動に関する情報を取得する第2処理部と、を備え、
前記第1処理部は、検出された前記対象物の位置または姿勢と、前記第2処理部で複数回取得された前記対象物の移動に関する情報とに基づいて、前記対象物の姿勢を予測し、前記対象物の予測姿勢に対応する前記対象物のテンプレートを生成する、
画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理方法および画像処理装置に関する。
【背景技術】
【0002】
工場内の生産工程では、ロボットハンド等のエンドエフェクタによりピッキングしようとする部品が正しい部品(例えば工業製品の生産に使用する部品)であるか否かを判定することがある。このような判定の際には、判定処理をできるだけ高速に行うことにより生産工程のタクトタイムを低下させないことが求められる。従来の判定処理として、例えば予め用意された部品のテンプレート(例えば画像)と工場内に設置されたカメラにより撮像された部品の画像とを比較してマッチング処理するテンプレートマッチング法が知られている。
【0003】
特許文献1は、テンプレートマッチングにより物体の認識を行う物体認識装置で用いられるテンプレートのセットを作成するテンプレート作成装置を開示している。テンプレート作成装置は、一つの物体の異なる姿勢に対する複数の画像のそれぞれから複数のテンプレートを取得し、複数のテンプレートから選ばれる2つのテンプレート間の画像特徴の類似度を計算し、類似度に基づき複数のテンプレートを複数のグループに分けるクラスタリングを行う。テンプレート作成装置は、複数のグループのそれぞれについてグループ内の全てのテンプレートを1つの統合テンプレートへ統合し、グループごとに統合テンプレートを有したテンプレートセットを生成する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1では、物体認識装置は、階層的なテンプレートセットを作成し、解像度の低いテンプレートセットによるラフな認識を行い、その結果を用いて解像度の高いテンプレートセットによる詳細な認識を行う、といった階層的探索を行う。ところが、解像度の低いテンプレートセットを用いた認識処理、解像度の高いテンプレートセットを用いた認識処理のように少なくとも二段階でマッチング処理を行う必要があり、物体認識装置の処理負荷の増大を免れない。
【0006】
また、上述した工場内の生産工程においてエンドエフェクタによりピッキングしようとする部品が正しい部品であるかを判定するためにエンドエフェクタおよびカメラを移動させてピッキングしようとする部品をカメラで撮像する際に、特許文献1の技術を適用しようとすると次のような課題が生じる。具体的には、エンドエフェクタの移動に伴ってカメラも移動するとなると、エンドエフェクタの位置変化に伴ってカメラからの部品の見え方(言い換えると、部品の姿勢)が変化する。このため、テンプレートマッチングの際に、エンドエフェクタの位置(言うなれば、カメラの位置)を考慮しなければ、予め生成されたテンプレートセットを使っても効率的なテンプレートマッチングを行うことができず、テンプレートマッチングの信頼性も向上しない。
【0007】
本開示は、従来の事情に鑑みて案出され、撮像装置の移動に伴って撮像装置に対する対象物の姿勢が変化する場合でも対象物の高精度なテンプレートマッチングを実現する画像処理方法および画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本開示は、移動可能であって、かつ、対象物を撮像可能なカメラとの間で通信可能な画像処理装置が行う画像処理方法であって、前記対象物が撮像された撮像画像を取得し、前記撮像画像から前記対象物の位置または姿勢の検出を行い、前記対象物のテンプレートを生成する第1処理を実行し、前記第1処理を実行中に、前記撮像画像と前記対象物のテンプレートとに基づくテンプレートマッチングを実行し、前記対象物の移動に関する情報を取得する第2処理を複数回実行し、前記第1処理は、検出された前記対象物の位置または姿勢と、前記第2処理で複数回取得された前記対象物の移動に関する情報とに基づいて、前記対象物の姿勢を予測し、前記対象物の予測姿勢に対応する前記対象物のテンプレートを生成する、画像処理方法を提供する。
【0009】
また、本開示は、移動可能であって、かつ、対象物を撮像可能なカメラにより撮像された前記対象物の撮像画像を取得する取得部と、前記撮像画像から前記対象物の位置または姿勢の検出を行い、前記対象物のテンプレートを生成する第1処理部と、前記第1処理部による前記対象物のテンプレートの生成中に、複数回、前記撮像画像と前記対象物のテンプレートとに基づくテンプレートマッチングを実行し、前記対象物の移動に関する情報を取得する第2処理部と、を備え、前記第1処理部は、検出された前記対象物の位置または姿勢と、前記第2処理部で複数回取得された前記対象物の移動に関する情報とに基づいて、前記対象物の姿勢を予測し、前記対象物の予測姿勢に対応する前記対象物のテンプレートを生成する、画像処理装置を提供する。
【発明の効果】
【0010】
本開示によれば、撮像装置の移動に伴って撮像装置からの対象物の姿勢が可変となる状況下でも対象物の高精度なテンプレートマッチングを実現できる。
【図面の簡単な説明】
【0011】
【
図2】ピッキングシステムの内部構成例を示すブロック図
【
図3】実施の形態1における第1処理部および第2処理部の機能を説明する機能ブロック図
【
図4】実施の形態1に係るピッキングシステムの全体動作手順例を説明する図
【
図5】実施の形態1における画像処理装置の第2処理手順例を示すフローチャート
【
図6】実施の形態1における画像処理装置の第1処理手順例を示すフローチャート
【
図8】実施の形態1の変形例1に係るピッキングシステムの全体動作手順例を説明する図
【
図9】実施の形態1の変形例2における画像処理装置の第1処理部の動作手順例を示すフローチャート
【発明を実施するための形態】
【0012】
(本開示に至る経緯)
従来、生産ライン等に対して移動不能な固定箇所に設置されたカメラから取り込まれた画像を用いて、ベルトコンベア上の物体のテンプレート作成装置を備える物体認識装置が開示されている。また、物体認識装置は、実際にマッチング処理を行う際に、グループごとの統合テンプレートに基づいて生成されたテンプレートセットがそのまま使用される。
【0013】
ところが、上述した工場内の生産工程においてエンドエフェクタによりピッキング対象である部品が正しい部品であるかを判定するために、エンドエフェクタおよびカメラを移動させてピッキング対象である部品をカメラで撮像する場合、特許文献1(特開2016-207147号公報)の技術を適用しようとすると次のような課題が生じる。具体的には、エンドエフェクタの移動に伴ってカメラも移動するとなると、エンドエフェクタの位置変化に伴ってカメラからの部品の見え方(言い換えると、部品の姿勢)が変化する。このため、テンプレートマッチングの際に、エンドエフェクタの位置(言うなれば、カメラの位置)を考慮しなければ、予め生成されたテンプレートセットを使っても効率的なテンプレートマッチングを行うことができず、テンプレートマッチングの信頼性も向上しない。
【0014】
そこで、このような課題を解決において、マッチング処理速度に合わせてベルトコンベアを停止したり低速させたりする方法があるが、このような方法を採用した場合、部品のピッキング効率(言い換えると、生産効率)が低下する。したがって、ベルトコンベアおよびエンドエフェクタの動作を停止させずに部品のマッチング処理および部品のピッキング処理を実現可能にする物体認識装置が要望されていた。
【0015】
そこで、以下の各実施の形態では、撮像装置の移動に伴って撮像装置からの対象物の姿勢が可変となる状況下でもテンプレートマッチングに使用可能な対象物の高精度なテンプレートを登録する画像処理方法および画像処理装置の例を説明する。
【0016】
以下、添付図面を適宜参照しながら、本開示に係る画像処理方法および画像処理装置を具体的に開示した各実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【0017】
(実施の形態1)
実施の形態1では、例えば工場内の生産工程において、ロボットハンド等のエンドエフェクタによりピッキングしようとする部品(例えば工業製品の生産に使用する部品)を正しく認識するか否かをテンプレートマッチングによって判定するに際して、カメラにより撮像された撮像画像に物体認識処理を実行し、テンプレートマッチングに必要となるテンプレートを予測するユースケースを例示して説明する。本開示に係るテンプレート登録装置(例えば画像処理装置)は、対象物を撮像、かつ、移動により対象物に対する撮像位置が変更可能な撮像装置により撮像された対象物の入力画像に基づく情報(後述参照)と、対象物の入力画像に基づく情報(後述参照)とをテンプレートマッチングに用いるテンプレートとして、撮像装置の位置情報と対象物の入力画像に基づく情報(後述参照)とを関連付けて記憶部に登録する。
【0018】
図1は、ピッキングシステムの構成例を説明する図である。
図2は、ピッキングシステムの内部構成例を示すブロック図である。
図2に示すように、ピッキングシステム100は、アクチュエータACと、カメラCMと、画像処理装置P1と、ディスプレイ13と、操作デバイス14とを含む。アクチュエータACと画像処理装置P1との間、カメラCMと画像処理装置P1との間、画像処理装置P1と操作デバイス14との間は、それぞれデータ信号の入出力(送受信)が可能となるように接続されている。
【0019】
カメラCMと対象物Tgとの間の位置関係について、
図1を参照して説明する。なお、
図1の説明は、実施の形態1だけでなく後述する実施の形態1の変形例にも同様に適用可能である。
【0020】
以下の説明において、対象物Tgは、工場内に配備されるピッキングシステム100のエンドエフェクタEFによりピッキングされる対象物であり、例えば工業部品、工業製品等である。工業部品であれば、例えばピッキングされた後に完成品を組み立てるために別のレーン(生産ライン)に移動される。工業製品であれば、例えばピッキングされた後に段ボール等の箱に収納される。なお、対象物Tgの種類は、上述した工業部品、工業製品に限定されないことは言うまでもない。
【0021】
図1に示すように、アクチュエータACは、カメラCMを3次元的に移動可能に制御することにより、ベルトコンベア上を移動する対象物Tgと、対象物Tgのピッキングを行うエンドエフェクタEFおよびエンドエフェクタEFに固定設置されたカメラCMとの間の位置関係を変更可能に制御する。
【0022】
アクチュエータACは、複数軸によりエンドエフェクタEFと、エンドエフェクタEFに備えられたカメラCMとをそれぞれ3次元で移動可能に制御する。つまり、アクチュエータACは、カメラCMの3次元位置(座標)を認識、維持、変更を制御可能である。
【0023】
エンドエフェクタEFは、例えばピッキングシステム100に対応して配備されたロボットアームの先端部に設けられているロボットハンドであり、アクチュエータACによる制御で対象物Tgに接近し、対象物Tgをピッキングする。
【0024】
カメラCMは、エンドエフェクタEFの近傍に配置され、アクチュエータACの制御によってエンドエフェクタEFと一体的に移動して、対象物Tgを撮像する。カメラCMは、対象物Tgを所定のフレームレート(例えば、1000frame per rate(以降、「fps」と表記))で撮像し、この撮像の度に得られた対象物Tgの撮像画像(入力画像の一例)を都度、画像処理装置P1に送信する。
【0025】
画像処理装置P1は、カメラCMから送信された対象物Tgの撮像画像を取得する。画像処理装置P1は、カメラCMから送信された対象物Tgの撮像画像を用いて、対象物Tgの姿勢を検出し、対象物Tgの姿勢を検出する間に、第2処理により得られる対象物Tgの移動に関する情報に基づいて、対象物Tgの動きを観察し、検出された対象物Tgの姿勢と、対象物Tgの動き情報とに基づいて、対象物Tgの姿勢検出処理が終了するタイミングにおける対象物Tgの姿勢を予測し、予測された対象物Tgの姿勢(検出姿勢の一例)に対応する検出テンプレートを生成する第1処理(
図4、
図6参照)と、対象物Tgの特徴量を抽出し、抽出された特徴量に基づく特徴マッチング(言い換えると、テンプレートマッチング)して対象物Tgの位置情報を取得し、取得された対象物Tgの位置情報をアクチュエータACに常時あるいは周期的に送信(フィードバック)する第2処理(
図4、
図5参照)とを実行可能なコンピュータにより構成される。
【0026】
画像処理装置P1は、例えばPersonal Computer(以降、「PC」と表記)でもよいし、上述した第1処理および第2処理のそれぞれの実行に特化した専用のハードウェア機器でもよい。画像処理装置P1は、上述した第1処理および第2処理のそれぞれを実行することにより、エンドエフェクタEFによりピッキングされる対象物Tgの位置および姿勢の認識処理を実現する。画像処理装置P1は、通信部10と、プロセッサ11と、メモリ12と、3DモデルデータベースDBとを含む。
【0027】
画像処理装置P1は、ユーザ操作を受け付け、ユーザ操作に基づいて後述するアイコンPP1の位置および姿勢から見た対象物TgのテンプレートTP1(
図7参照)と、第1処理により予測された対象物Tgの予測姿勢に対応する対象物Tgの予測テンプレートTP2(
図7参照)と、第1処理により検出された対象物Tgの姿勢に対応する対象物Tgの検出テンプレートTP3(
図7参照)とを含むテンプレート表示画面SC(
図7参照)を生成してディスプレイ13に表示する。
【0028】
通信部10(取得部の一例)は、アクチュエータAC、カメラCM、ディスプレイ13、操作デバイス14との間でそれぞれデータ通信可能に接続され、データの送受信を実行する。通信部10は、カメラCMから送信された撮像画像と、操作デバイス14から送信された制御指令とをそれぞれプロセッサ11に出力する。通信部10は、プロセッサ11から出力されたテンプレート表示画面SC(
図7参照)をディスプレイ13に送信する。
【0029】
プロセッサ11は、例えばCentral Processing Unit(CPU)またはField Programmable Gate Array(FPGA)を用いて構成されて、メモリ12と協働して、各種の処理および制御を行う。具体的には、プロセッサ11はメモリ12に保持されたプログラムおよびデータを参照し、そのプログラムを実行することにより、第1処理部110および第2処理部120のそれぞれの機能を実現する。
【0030】
第1処理部110は、対象物Tgの検出処理を実行し、対象物Tgの予測テンプレートTP2を生成する第1処理(
図4、
図6参照)を実行する。第1処理は、Deep Learning(深層学習)を用いた高度な画像処理であって、第2処理の実行に要する時間よりも長い時間(例えば、17ms)を要する処理である。ここで、第1処理を実行する間に、対象物Tgの位置および姿勢が変化し続ける。よって、第1処理部110は、第1処理が終了するタイミングで出力された検出テンプレートTP3の有効性を保つため、第1処理を実行している間に複数回実行される第2処理部120により実行される第2処理の結果をそれぞれ用いて、対象物Tgのテンプレート候補を予測する。これにより、第1処理部110は、第1処理の実行中に変化する対象物Tgの姿勢変化にリアルタイムに追従し、第2処理部120により実行される特徴マッチングにより適したテンプレート候補を予測することができる。
【0031】
第2処理部120は、第1処理によって得られた予測テンプレートTP2と、カメラCMにより撮像された撮像画像とを用いて特徴マッチングを実行し、対象物Tgの位置情報を推測し、推測された対象物Tgの位置情報をアクチュエータACに送信する第2処理(
図4、
図5参照)を実行する。第2処理は、特徴マッチングを用いた簡易な画像処理であって、第1処理の実行に要する時間よりも短い時間(例えば、1ms)を要する処理である。第2処理部120は、第1処理部110が第1処理を1回実行する間に、第2処理を複数回実行する。
【0032】
メモリ12は、例えばプロセッサ11の各処理を実行する際に用いられるワークメモリとしてのRandom Access Memory(RAM)と、プロセッサ11の動作を規定したプログラムおよびデータを格納するRead Only Memory(ROM)とを有する。RAMには、プロセッサ11により生成あるいは取得されたデータもしくは情報が一時的に保存される。ROMには、プロセッサ11の動作を規定するプログラムが書き込まれている。
【0033】
3DモデルデータベースDB(データベースの一例)は、例えばフラッシュメモリ、Hard Disk Drive(HDD)あるいはSolid State Drive(SSD)である。3DモデルデータベースDBは、ピッキング対象である少なくとも1つの対象物Tgの3Dモデルのデータと、対象物Tgに関する情報(例えば、対象物ごとの名称、識別番号等)とを対象物Tgごとに格納(登録)する。
【0034】
ディスプレイ13は、画像処理装置P1により生成されたテンプレート表示画面SC(
図7参照)を出力(表示)するデバイスであり、例えばLiquid Crystal Display(LCD)あるいは有機Electroluminescence(EL)デバイスにより構成される。
【0035】
操作デバイス14は、ユーザ操作の入力を検知するインターフェースであり、例えばマウス、キーボードあるいはタッチパネルにより構成される。操作デバイス14は、ユーザ操作を受け付けると、ユーザ操作に基づく電気信号を生成して画像処理装置P1に送信する。
【0036】
次に、
図3を参照して、第1処理部110および第2処理部120のそれぞれにより実現される機能について説明する。
図3は、実施の形態1における第1処理部110および第2処理部120の機能を説明する機能ブロック図である。
【0037】
第1処理部110は、物体検出部111と、3Dモデル選択部112と、第1の時間予測部113と、3Dモデル合成部117とを含む。
【0038】
物体検出部111は、Deep Learning(深層学習)を用いて、カメラCMから送信された撮像画像に画像認識処理を実行し、撮像画像から物体(対象物Tg)を検出する。物体検出部111は、検出された物体(対象物Tg)の情報を3Dモデル選択部112および第1の時間予測部113にそれぞれ出力する。なお、物体検出部111が用いるDeep Learning(深層学習)は、例えば、Convolutional Neural Network(CNN)等の対象物Tgの検出に適した任意の学習手法が用いられてよい。
【0039】
3Dモデル選択部112は、3DモデルデータベースDBに登録された少なくとも1つの対象物Tgの3Dモデルのうち、ユーザ操作により指定された物体(対象物Tg)の情報に対応する3DモデルMDを選出する。3Dモデル選択部112は、選出された対象物Tgの3DモデルMDを3Dマッチング部114および3Dモデル合成部117のそれぞれに出力する。
【0040】
第1の時間予測部113は、第1処理により対象物Tgの検出処理を実行している間に、第2処理により得られた対象物Tgの動き情報に基づいて、対象物Tgの位置および姿勢の変化を追跡(観察)し、第1処理が終了するタイミングにおける対象物Tgの姿勢に対応する予測テンプレートTP2を生成する。第1の時間予測部113は、3Dマッチング部114と、テンプレート予測部115と、予測モデル更新部116とを含む。
【0041】
3Dマッチング部114は、物体検出部111から出力された物体(対象物Tg)の情報と、3Dモデル選択部112から出力された対象物Tgの3DモデルMDとを3次元空間でマッチングする3Dマッチングを実行し、カメラCMにより撮像された撮像画像に写る対象物Tgの姿勢(以降、「検出姿勢」と表記)を認識する。3Dマッチング部114は、対象物Tgの検出姿勢に関する情報と、3Dマッチングに用いられた対象物Tgの3DモデルMDとを対応付けて、テンプレート予測部115および3Dモデル合成部117のそれぞれに出力する。
【0042】
テンプレート予測部115は、3Dマッチング部114から送信された対象物Tgの検出姿勢に関する情報および対象物Tgの3DモデルMDと、予測モデル更新部116から出力された予測モデルとに基づいて、第1処理が終了するタイミングにおける対象物Tgの姿勢に対応する予測テンプレートTP2を生成する。なお、ここでいう予測モデルは、対象物Tgの姿勢が予測された予測モデルであって、複数回実行された第2処理により得られた対象物Tgの移動に関する情報に基づく数学的なモデルである。
【0043】
テンプレート予測部115は、予測結果に基づいて、次に取得される撮像画像が撮像される時のカメラCMの姿勢であって、対象物Tgの予測姿勢(角度)から3DモデルMDを見た場合に得られる2D画像(以降、「予測テンプレート」と表記)を生成する。テンプレート予測部115は、対象物Tgの姿勢に関する情報と、生成された対象物Tgの予測テンプレートTP2(
図7参照)とを対応付けて、3Dモデル合成部117と、テンプレート更新部121とにそれぞれ出力する。
【0044】
予測モデル更新部116は、特徴マッチング部123から出力された特徴マッチング結果と、位置フィッティング部124から出力された対象物Tgの動きとに基づいて、第1処理により対象物Tgの検出処理を実行している間に変化する対象物Tgの姿勢の変化を予測するための予測モデルを更新する。予測モデル更新部116は、更新後の予測モデルをテンプレート予測部115に出力する。
【0045】
3Dモデル合成部117は、3Dマッチング部114から出力された対象物Tgの検出姿勢と、検出テンプレートTP3(
図7参照)とを取得し、対象物Tgの検出姿勢に基づいて、撮像画像に写る対象物Tgが撮像された角度を示すアイコンPP3を生成する。3Dモデル合成部117は、テンプレート予測部115から出力された対象物Tgの予測姿勢と、予測テンプレートTP2とを取得し、対象物Tgの予測姿勢に基づいて、次の撮像画像で撮像される対象物Tgの角度を示すアイコンPP2を生成する。
【0046】
3Dモデル合成部117は、対象物Tgの3DモデルMDと、予測テンプレートTP2と、検出テンプレートTP3と、アイコンPP1,PP2,PP3のそれぞれとに基づいて、テンプレート表示画面SCを生成し、ディスプレイ13に送信する。
【0047】
第2処理部120は、テンプレート更新部121と、特徴抽出部122と、特徴マッチング部123と、位置フィッティング部124と、第2の時間予測部125と、制御部126とを含む。
【0048】
テンプレート更新部121は、第1処理部110のテンプレート予測部115から出力された予測テンプレートTP2を取得し、特徴マッチングに使用される対象物Tgのテンプレート(2Dデータ)を、取得された予測テンプレートTP2に更新する。
【0049】
特徴抽出部122は、カメラCMから送信された撮像画像から対象物Tgの特徴量を抽出する。特徴抽出部122は、抽出された対象物Tgの特徴量を特徴マッチング部123に出力する。
【0050】
特徴マッチング部123は、テンプレート更新部121から出力された予測テンプレートTP2に含まれる対象物Tgの特徴量と、特徴抽出部122から出力された対象物Tgの特徴量とをマッチングする。特徴マッチング部123は、マッチング結果を予測モデル更新部と位置フィッティング部124とにそれぞれ出力する。
【0051】
位置フィッティング部124は、特徴マッチング部123から出力されたマッチング結果を取得する。位置フィッティング部124は、特徴マッチングの結果に基づいて、撮像画像に写る対象物Tgの位置情報をフィッティングする。
【0052】
位置フィッティング部124は、位置フィッティング後の対象物Tgの位置情報を予測モデル更新部116および第2の時間予測部125にそれぞれ出力する。
【0053】
第2の時間予測部125は、位置フィッティング部124から出力された対象物Tgの位置情報に基づいて、第2処理を実行する間の対象物Tgの動きを予測して、第2処理が終了するタイミングの対象物Tgの位置を予測する。第2の時間予測部125は、予測された対象物Tgの予測位置の情報を制御部126に出力する。
【0054】
制御部126は、第2の時間予測部125から出力された対象物Tgの予測位置の情報をアクチュエータACに出力する。
【0055】
次に、
図4を参照して、ピッキングシステム100の全体動作手順について説明する。
図4は、実施の形態1に係るピッキングシステム100の全体動作手順例を説明する図である。
【0056】
なお、
図4に示すピッキングシステム100の全体動作手順例は一例であって、これに限定されない。
図4では、第1処理と第2処理との関係を分かりやすくするために1個の対象物Tgのピッキングにおいて第1処理が1回、第2処理がN(N:3以上に整数)回実行される例を示しているが、第1処理および第2処理がそれぞれ実行される回数は、これに限定されない。ピッキングシステム100は、1個の対象物Tgのピッキングにおいて第1処理を複数回実行してもよいことは言うまでもない。
【0057】
アクチュエータACは、カメラCMによってベルトコンベア上を搬送される対象物Tgを所定のフレームレート(例えば、1000fps)で撮像しながら、ピッキングする。
図4に示すアクチュエータACは、対象物Tgのピッキングプロセスの一部(時刻t11~時刻t1N)を示しており、例えば、対象物Tgをピッキングするまで繰り返し実行される。
【0058】
画像処理装置P1は、カメラCMによって所定のフレームレートで撮像された対象物Tgの撮像画像を取得し、取得された撮像画像に第2処理(ステップSt100)を実行する。
【0059】
また、画像処理装置P1は、第2処理と並列に、カメラCMによって撮像された撮像画像と、第1処理中に実行された複数回の第2処理により得られた特徴マッチングの結果(言い換えると、マッチング傾向)および対象物Tgの移動量(言い換えると、動き情報)とに基づいて、第1処理(ステップSt200)を実行する。画像処理装置P1は、第1処理により得られた対象物Tgのテンプレート候補である予測テンプレートTP2(
図7参照)を第2処理にフィードバックする。
【0060】
図4に示す例において、カメラCMは、時刻t11で対象物Tgを撮像し、撮像された撮像画像Img11を画像処理装置P1に送信する。画像処理装置P1は、カメラCMから送信された1枚目の撮像画像Img11(画像データ)を取得し、1枚目の撮像画像Img11を用いて第1処理および第2処理のそれぞれを実行する。画像処理装置P1は、第2処理により得られた対象物Tgのマッチング傾向と、対象物Tgの動き情報とを第1処理部110に出力するとともに、対象物Tgの予測位置(x1,y1,z1)の情報をアクチュエータACに送信する。アクチュエータACは、取得された対象物Tgの3次元の予測位置(x1,y1,z1)に向かってエンドエフェクタEFを移動させる。
【0061】
時刻t12において、カメラCMは、対象物Tgを撮像する。カメラCMは、撮像された撮像画像Img12を画像処理装置P1に送信する。画像処理装置P1は、カメラCMから送信された2枚目の撮像画像Img12(画像データ)を取得し、2枚目の撮像画像Img12を用いて第2処理を実行する。画像処理装置P1は、第2処理により得られた対象物Tgのマッチング傾向と、対象物Tgの動き情報とを第1処理部110に出力するとともに、対象物Tgの予測位置(x2,y2,z2)の情報をアクチュエータACに送信する。アクチュエータACは、取得された対象物Tgの予測位置(x2,y2,z2)に向かってエンドエフェクタEFを移動させる。
【0062】
時刻t13において、カメラCMは、対象物Tgを撮像する。カメラCMは、撮像された撮像画像Img13を画像処理装置P1に送信する。画像処理装置P1は、カメラCMから送信された3枚目の撮像画像Img13(画像データ)を取得し、3枚目の撮像画像Img13を用いて第2処理を実行する。画像処理装置P1は、第2処理により得られた対象物Tgのマッチング傾向と、対象物Tgの動き情報とを第1処理部110に出力するとともに、対象物Tgの予測位置(図示略)の情報をアクチュエータACに送信する。アクチュエータACは、取得された対象物Tgの予測位置に向かってエンドエフェクタEFを移動させる。
【0063】
時刻t1(N-2)において、カメラCMは、対象物Tgを撮像する。カメラCMは、撮像された撮像画像Img1(N-2)を画像処理装置P1に送信する。画像処理装置P1は、カメラCMから送信された(N-2)枚目の撮像画像Img1(N-2)(画像データ)を取得し、(N-2)枚目の撮像画像Img1(N-2)を用いて第2処理を実行する。画像処理装置P1は、第2処理により得られた対象物Tgのマッチング傾向と、対象物Tgの動き情報とを第1処理部110に出力するとともに、対象物Tgの予測位置(図示略)の情報をアクチュエータACに送信する。アクチュエータACは、取得された対象物Tgの予測位置に向かってエンドエフェクタEFを移動させる。
【0064】
時刻t1(N-1)において、カメラCMは、対象物Tgを撮像する。カメラCMは、撮像された撮像画像Img1(N-1)を画像処理装置P1に送信する。画像処理装置P1は、カメラCMから送信された(N-1)枚目の撮像画像Img1(N-1)(画像データ)を取得し、(N-1)枚目の撮像画像Img1(N-1)を用いて第2処理を実行する。画像処理装置P1は、第2処理により得られた対象物Tgのマッチング傾向と、対象物Tgの動き情報とを第1処理部110に出力するとともに、対象物Tgの予測位置(図示略)の情報をアクチュエータACに送信する。アクチュエータACは、取得された対象物Tgの予測位置に向かってエンドエフェクタEFを移動させる。
【0065】
時刻t1Nにおいて、カメラCMは、対象物Tgを撮像する。カメラCMは、撮像された撮像画像Img1Nを画像処理装置P1に送信する。画像処理装置P1は、カメラCMから送信されたN枚目の撮像画像Img1N(画像データ)を取得し、N枚目の撮像画像Img1Nを用いて第2処理を実行する。画像処理装置P1は、第2処理により得られた対象物Tgのマッチング傾向と、対象物Tgの動き情報とを第1処理部110に出力するとともに、対象物Tgの予測位置(xN,yN,zN)の情報をアクチュエータACに送信する。アクチュエータACは、取得された対象物Tgの予測位置(xN,yN,zN)に向かってエンドエフェクタEFを移動させて、対象物Tgをピッキングする。画像処理装置P1は、時刻t1(N+1)で第1処理により得られた対象物Tgのテンプレート候補(予測テンプレートTP2)を第2処理部120にフィードバックし、テンプレート候補(予測テンプレートTP2)を更新する。
【0066】
なお、
図4に示す例では図示されていないが、画像処理装置P1は、以降に実行される第2処理において、再度第1処理により新たな予測テンプレートTP2がフィードバックされるまでの間、取得された最新の予測テンプレートTP2を用いて特徴マッチングを実行する。
【0067】
次に、
図5を参照して、画像処理装置P1の第2処理について説明する。
図5は、実施の形態1における画像処理装置P1の第2処理手順(ステップSt100)例を示すフローチャートである。
【0068】
第2処理部120は、操作デバイス14を介して取得されたピッキング処理の開始を通知する制御指令に基づいて、対象物Tgのテンプレートを更新するための更新フラグを「1」に設定する(St11)。第2処理部120は、カメラCMから送信された撮像画像を取得する(St12)。
【0069】
第2処理部120は、現在設定されている更新フラグが「1」であるか否かを判定する(St13)。
【0070】
第2処理部120は、ステップSt13の処理において、現在設定されている更新フラグが「1」であると判定した場合(St13,YES)、特徴マッチングに用いられる対象物Tgのテンプレート(テンプレートTP1または予測テンプレートTP2)を更新する(St14)。第2処理部120は、テンプレート候補(予測テンプレートTP2)を生成するための対象物Tgの撮像画像を第1処理部110に出力し(St15)、更新フラグを「0」に設定する(St16)。
【0071】
一方、第2処理部120は、ステップSt13の処理において、現在設定されている更新フラグが「1」でないと判定した場合(St13,NO)、特徴マッチングに用いられる対象物Tgのテンプレート(予測テンプレートTP2)があるか否かを判定する(St17)。
【0072】
第2処理部120は、ステップSt17の処理において、特徴マッチングに用いられる対象物Tgのテンプレート(予測テンプレートTP2)があると判定した場合(St17,YES)、撮像画像から特徴量を抽出する(St18)。
【0073】
一方、第2処理部120は、ステップSt17の処理において、特徴マッチングに用いられる対象物Tgのテンプレート(予測テンプレートTP2)がないと判定した場合(St17,NO)、ステップSt13の処理に戻り、第1処理部110から対象物Tgのテンプレート(テンプレートTP1または予測テンプレートTP2)がフィードバックされるまで待機する。
【0074】
第2処理部120は、撮像画像から抽出された特徴量(つまり、撮像画像の特徴量)と、テンプレートに基づく対象物Tgの特徴量(つまり、テンプレートの特徴量)とを特徴マッチングする。第2処理部120は、マッチング結果に基づいて、カメラCMにより撮像された撮像画像に写る対象物Tgの位置をフィッティングする(St19)。
【0075】
第2処理部120は、特徴マッチングに用いられた撮像画像(つまり、最新の撮像画像)と、この撮像画像と連続して撮像された1つ前の撮像画像との間での対象物Tgの移動量を算出する。第2処理部120は、算出された移動量に基づいて、第2処理を実行する間の対象物Tgの移動量を予測し、第2処理が終了するタイミングにおける対象物Tgの位置を予測し、予測された対象物Tgの予測位置を取得する(St20)。第2処理部120は、予測された対象物Tgの予測位置をアクチュエータACに送信する(St21)。
【0076】
第2処理部120は、特徴マッチング結果であるマッチング傾向と、対象物Tgの動き情報(移動情報)とを第1処理部110に出力する(St22)。
【0077】
第2処理部120は、アクチュエータACによる対象物Tgのピッキング処理の終了を通知する制御指令に基づいて、対象物Tgのピッキング処理が終了したか否かを判定する(St23)。
【0078】
第2処理部120は、ステップSt23の処理において、対象物Tgのピッキング処理が終了したと判定した場合(St23,YES)、
図5に示す第2処理(ステップSt100)を終了する。
【0079】
一方、第2処理部120は、ステップSt23の処理において、対象物Tgのピッキング処理が終了していないと判定した場合(St23,NO)、ステップSt11の処理に戻る。
【0080】
以上により、実施の形態1における画像処理装置P1は、第2処理により高フレームレートで撮像された撮像画像に基づいて、第2処理を実行する間の対象物Tgの移動量を予測し、第2処理が終了するタイミングにおける対象物Tgの位置を予測できる。これにより、画像処理装置P1は、アクチュエータACによる対象物Tgのリアルタイムな追跡を支援できる。
【0081】
次に、
図6を参照して、画像処理装置P1の第1処理について説明する。
図6は、実施の形態1における画像処理装置P1の第1処理手順(ステップSt200)例を示すフローチャートである。
【0082】
第1処理部110は、第2処理部120から出力された撮像画像を取得する(St31)。第1処理部110は、Deep Learning等の高度な画像処理技術を用いて、取得された撮像画像から対象物Tgを検出する(St32)。
【0083】
第1処理部110は、検出された対象物Tgに基づいて、3DモデルデータベースDBに格納された3Dモデルのうち対象物Tgに対応する3DモデルMDを選出する。第1処理部110は、選出された3DモデルMDと、検出された対象物Tgとを3Dマッチングして、撮像画像に写る対象物Tgの検出姿勢(言い換えると、対象物Tgが撮像された撮像姿勢)を取得する(St33)。これにより、第1処理部110は、検出テンプレートTP3(
図7参照)を生成するための検出姿勢を取得できる。第1処理部110は、第2処理部120から取得された特徴マッチング結果および対象物Tgの動き情報に基づいて、対象物Tgの姿勢(言い換えると、撮像姿勢)を予測するための予測モデルを更新する(St34)。
【0084】
第1処理部110は、更新された対象物Tgの姿勢(言い換えると、撮像姿勢)を予測するための予測モデルと、対象物Tgの検出姿勢とに基づいて、第1処理が終了するタイミング(時刻)における対象物Tgの姿勢に対応するテンプレート候補を予測し(St35)、予測されたテンプレート候補(予測テンプレートTP2)を第2処理部120にフィードバック(出力)する(St36)。
【0085】
第1処理部110は、対象物Tgのテンプレートを更新するための更新フラグを「1」に設定する(St37)。
【0086】
第1処理部110は、アクチュエータACによる対象物Tgのピッキング処理の終了を通知する制御指令に基づいて、対象物Tgのピッキング処理が終了したか否かを判定する(St38)。
【0087】
第1処理部110は、ステップSt38の処理において、対象物Tgのピッキング処理が終了したと判定した場合(St38,YES)、
図6に示す第1処理(ステップSt200)を終了する。
【0088】
一方、第1処理部110は、ステップSt38の処理において、対象物Tgのピッキング処理が終了していないと判定した場合(St38,NO)、ステップSt31の処理に戻る。
【0089】
以上により、実施の形態1における画像処理装置P1は、第1処理によってより高度な画像認識処理を実行することで、第2処理で用いられる予測テンプレートTP2を生成するための対象物Tgの3DモデルMDをより高精度に選定できる。また、画像処理装置P1は、処理時間が短い第2処理部120から出力された特徴マッチング結果および対象物Tgの動き情報のそれぞれに基づいて、第1処理中に変化する対象物Tgの姿勢変化を追跡し、実際の対象物Tgの姿勢により近い対象物Tgのテンプレート(予測テンプレートTP2)を生成できる。これにより、画像処理装置P1は、第2処理部120による特徴マッチング精度を向上させることができるとともに、対象物Tgを追跡する追跡精度を向上させることができる。
【0090】
次に、
図7を参照して、テンプレート表示画面について説明する。
図7は、テンプレート表示画面SCの一例を示す図である。なお、
図7に示すテンプレート表示画面SCは一例であってこれに限定されない。
【0091】
第1処理部110は、第1処理の結果に基づいて、テンプレート表示画面SCを生成し、生成されたテンプレート表示画面SCをディスプレイ13に送信して表示させる。テンプレート表示画面SCは、第1表示領域AR1と、第2表示領域AR2と、第3表示領域AR3と、第4表示領域AR4と、第5表示領域AR5と、登録ボタンBTとを含む。
【0092】
第1表示領域AR1は、第1処理における画像処理により得られた、または、後述する実施の形態1の変形例においてユーザ操作により選択された対象物Tgの3DモデルMDと、この対象物Tgの3DモデルMDのデータに設定されているXYZ座標系とを含む。
【0093】
また、第1表示領域AR1は、テンプレートTP1に対応するカメラCMの撮像角度を示すアイコンPP1と、予測テンプレートTP2に対応するカメラCMの撮像角度(第1撮像位置の一例)を示すアイコンPP2と、検出テンプレートTP3に対応するカメラCMの撮像角度(第2撮像位置の一例)を示すアイコンPP3とを含む。
【0094】
アイコンPP1は、操作デバイス14を介して、ユーザ操作を受け付け可能である。画像処理装置P1は、ユーザ操作によりアイコンPP1の位置が変更された場合、対象物Tgの3DモデルMDをアイコンPP1の位置(角度)から見た3DモデルMDのテンプレート(2D)を生成する。画像処理装置P1は、生成された3DモデルMDのテンプレート(2D)をテンプレートTP1として第3表示領域AR3に表示したテンプレート表示画面SCを生成して、ディスプレイ13に送信して表示させる。
【0095】
アイコンPP2は、予測テンプレートTP2の3DモデルMDのテンプレート(2D)を撮像可能なカメラCMの位置(角度)であって、次に撮像される対象物Tgの撮像位置を示す。画像処理装置P1は、第2処理により得られた対象物Tgの予測位置に基づいて、第1処理により対象物Tgの予測姿勢を予測した場合、予測された対象物Tgの予測姿勢に基づいて、アイコンPP2の位置と、第4表示領域AR4に表示される予測テンプレートTP2の更新を実行する。画像処理装置P1は、アイコンPP2の位置および予測テンプレートTP2が更新されたテンプレート表示画面SCを生成して、ディスプレイ13に送信して表示させる。
【0096】
アイコンPP3は、検出テンプレートTP3の3DモデルMDのテンプレート(2D)を撮像可能なカメラCMの位置(角度)であって、画像処理が実行された撮像画像から検出された対象物Tgの撮像位置を示す。画像処理装置P1は、第1処理により検出された対象物Tgの姿勢に基づいて、アイコンPP3の位置と、第5表示領域AR5に表示される検出テンプレートTP3の更新を実行する。画像処理装置P1は、アイコンPP3の位置および検出テンプレートTP3が更新されたテンプレート表示画面SCを生成して、ディスプレイ13に送信して表示させる。
【0097】
第2表示領域AR2は、3DモデルデータベースDBに格納された少なくとも1つの対象物の3DモデルMDを含む。
図7に示す第2表示領域AR2は、対象物「A12」の3DモデルMD(3D)と、対象物「A13」の3DモデルMD(3D)と、対象物「A14」の3DモデルMD(3D)と、対象物「A15」の3DモデルMD(3D)とを含む。
【0098】
なお、第2表示領域AR2は、操作デバイス14を介して、いずれか1つの対象物を選択するユーザ操作を受け付け可能である。画像処理装置P1は、各対象物に対応する選択領域SL1,SL2,SL3,SL4のうちいずれか1つの選択領域を選択するユーザ操作を受け付け、ユーザ操作により指定されたいずれかの選択領域SL1~SL4に対応する3Dモデルを第1表示領域AR1に表示する。
【0099】
また、実施の形態1の変形例2における画像処理装置P1は、第1表示領域AR1に表示されたアイコンPP1に対するユーザ操作を受け付け、ユーザ操作により移動されたアイコンPP1の位置に基づいて、アイコンPP1の位置に対応する3Dモデルのテンプレート(2D)を第3表示領域AR3に表示する。画像処理装置P1は、ユーザ操作により登録ボタンBTが選択(押下)された場合、第3表示領域AR3に表示されているテンプレート(2D)を、第2処理の特徴マッチングに使用されるテンプレートとして更新(登録)する。
【0100】
第3表示領域AR3は、アイコンPP1の位置(角度)から対象物Tgの3DモデルMDが撮像された場合のテンプレートTP1(2D)を含む。
【0101】
第4表示領域AR4は、アイコンPP2の位置(角度)、つまり、予測姿勢から対象物Tgの3DモデルMDが撮像された場合の予測テンプレートTP2(2D)を含む。
【0102】
第5表示領域AR5は、アイコンPP3の位置(角度)、つまり、対象物Tgが検出された姿勢から対象物Tgの3DモデルMDが撮像された場合の検出テンプレートTP3(2D)を含む。
【0103】
登録ボタンBTは、ユーザ操作に基づいて移動されたアイコンPP1に対応するテンプレート(2D)の生成を受け付け可能なボタンである。
【0104】
(実施の形態1の変形例1)
実施の形態1に係るピッキングシステム100は、3Dモデルを用いた3Dマッチングによりテンプレート予測を実行する例を示した。実施の形態1の変形例1に係るピッキングシステム100は、第1処理で検出された対象物Tgの位置と、第1処理を実行している間に実行された複数回の第2処理で得られた対象物Tgの移動に関する情報および複数回の第2処理に用いられた撮像画像とに基づいて、テンプレート予測を実行する例について説明する。
【0105】
なお、実施の形態1の変形例1に係るピッキングシステム100の内部構成例は、実施の形態1に係るピッキングシステム100の内部構成例とほぼ同一の構成を有するため、説明を省略する。
【0106】
次に、
図8を参照して、ピッキングシステム100の全体動作手順について説明する。
図8は、実施の形態1の変形例1に係るピッキングシステム100の全体動作手順例を説明する図である。
【0107】
なお、
図8に示すピッキングシステム100の全体動作手順例は一例であって、これに限定されない。
図8では、第1処理と第2処理との関係を分かりやすくするために1個の対象物Tgのピッキングにおいて第1処理が1回、第2処理がN回実行される例を示しているが、第1処理および第2処理がそれぞれ実行される回数は、これに限定されない。ピッキングシステム100は、1個の対象物Tgのピッキングにおいて第1処理を複数回実行してもよいことは言うまでもない。
【0108】
アクチュエータACは、カメラCMによってベルトコンベア上を搬送される対象物Tgを所定のフレームレート(例えば、1000fps)で撮像しながら、ピッキングする。
図8に示すアクチュエータACは、対象物Tgのピッキングプロセスの一部(時刻t11~時刻t1N)を示しており、例えば、対象物Tgをピッキングするまで繰り返し実行される。
【0109】
画像処理装置P1は、カメラCMによって所定のフレームレートで撮像された対象物Tgの撮像画像を取得し、取得された撮像画像に第2処理(ステップSt100)を実行する。
【0110】
また、画像処理装置P1は、第2処理と並列に、カメラCMによって撮像された撮像画像と、第1処理中に実行された複数回の第2処理により得られた対象物Tgの動き情報等の移動に関する情報および複数回の第2処理に使用された撮像画像とに基づいて、第1処理(ステップSt200A)を実行する。画像処理装置P1は、第1処理により得られた対象物Tgのテンプレート候補である予測テンプレートTP2(
図7参照)を第2処理にフィードバックする。
【0111】
図8に示す例において、カメラCMは、時刻t11で対象物Tgを撮像し、撮像された撮像画像Img11を画像処理装置P1に送信する。画像処理装置P1は、カメラCMから送信された1枚目の撮像画像Img11(画像データ)を取得し、1枚目の撮像画像Img11を用いて第1処理および第2処理のそれぞれを実行する。画像処理装置P1は、第2処理により得られた対象物Tgの動き情報(移動に関する情報)と、第2処理に使用された1枚目の撮像画像Img11とを第1処理部110に出力するとともに、対象物Tgの予測位置(x1,y1,z1)の情報をアクチュエータACに送信する。アクチュエータACは、取得された対象物Tgの3次元の予測位置(x1,y1,z1)に向かってエンドエフェクタEFを移動させる。
【0112】
時刻t12において、カメラCMは、対象物Tgを撮像する。カメラCMは、撮像された撮像画像Img12を画像処理装置P1に送信する。画像処理装置P1は、カメラCMから送信された2枚目の撮像画像Img12(画像データ)を取得し、2枚目の撮像画像Img12を用いて第2処理を実行する。画像処理装置P1は、第2処理により得られた対象物Tgの動き情報(移動に関する情報)と、第2処理に使用された2枚目の撮像画像Img12とを第1処理部110に出力するとともに、対象物Tgの予測位置(x2,y2,z2)の情報をアクチュエータACに送信する。アクチュエータACは、取得された対象物Tgの予測位置(x2,y2,z2)に向かってエンドエフェクタEFを移動させる。
【0113】
以降、ピッキングシステム100は、時刻t13~時刻t1(N-1)で同様の処理を繰り返し実行する。
【0114】
時刻t1Nにおいて、カメラCMは、対象物Tgを撮像する。カメラCMは、撮像された撮像画像Img1Nを画像処理装置P1に送信する。画像処理装置P1は、カメラCMから送信されたN枚目の撮像画像Img1N(画像データ)を取得し、N枚目の撮像画像Img1Nを用いて第2処理を実行する。画像処理装置P1は、第2処理により得られた対象物Tgの動き情報(移動に関する情報)と、第2処理に使用されたN枚目の撮像画像Img1Nとを第1処理部110に出力するとともに、対象物Tgの予測位置(xN,yN,zN)の情報をアクチュエータACに送信する。アクチュエータACは、取得された対象物Tgの予測位置(xN,yN,zN)に向かってエンドエフェクタEFを移動させて、対象物Tgをピッキングする。画像処理装置P1は、ユーザ操作により選択された対象物TgのテンプレートImg31を第2処理部120にフィードバックする。
【0115】
以上により、実施の形態1の変形例1における画像処理装置P1は、対象物Tgの3DモデルMDを使用せずに、テンプレート予測を実行できる。
【0116】
(実施の形態1の変形例2)
実施の形態1に係るピッキングシステム100は、第2処理により得られたマッチング傾向および対象物Tgの移動に関する情報を使用してテンプレートを予測する例を示した。実施の形態1の変形例2に係るピッキングシステム100は、ユーザ操作に基づいて得られたテンプレートTP1を用いてテンプレートを生成する例について説明する。
【0117】
なお、実施の形態1の変形例2に係るピッキングシステム100の内部構成例は、実施の形態1に係るピッキングシステム100の内部構成例とほぼ同一の構成を有するため、説明を省略する。
【0118】
次に、
図9を参照して、画像処理装置P1の第1処理について説明する。
図9は、実施の形態1の変形例2における画像処理装置P1の第1処理手順(ステップSt200B)例を示すフローチャートである。
【0119】
なお、
図9に示す第1処理の動作手順例は、
図6に示した第1処理の動作手順例とステップSt31~ステップSt32、およびステップSt34~ステップSt38のそれぞれが同様であるため、説明を省略する。
【0120】
第1処理部110は、アイコンPP1の操作および登録ボタンBTを押下操作するユーザ操作に基づく対象物TgのテンプレートTP1が登録されているか否かを判定する(St30A)。
【0121】
第1処理部110は、ステップSt30Aの処理において、対象物TgのテンプレートTP1が登録されていると判定した場合(St30A,YES)、登録済みのテンプレートTP1を予測テンプレートTP2の代わりに第2処理部120にフィードバックする(St30B)。
【0122】
一方、第1処理部110は、ステップSt30Aの処理において、対象物TgのテンプレートTP1が登録されていないと判定した場合(St30A,NO)、第2処理部120から出力された撮像画像を取得する(St31)。
【0123】
以上により、実施の形態1の変形例2における画像処理装置P1は、予測テンプレートTP2の代わりに、ユーザにより指定されたテンプレートTP1を用いた特徴マッチングを実行することで、第2処理部120による特徴マッチング精度を向上させることができるとともに、対象物Tgを追跡する追跡精度を向上させることができる。
【0124】
以上により、実施の形態1および実施の形態1の変形例1に係る画像処理装置P1は、移動可能であって、かつ、対象物Tgを撮像可能なカメラCMとの間で通信可能であって、対象物Tgが撮像された撮像画像を取得し、撮像画像から対象物Tgの位置または姿勢の検出を行い、対象物Tgの予測テンプレートTP2(テンプレートの一例)を生成する第1処理(ステップSt200,200A)を実行し、第1処理を実行中に、撮像画像と対象物Tgの予測テンプレートTP2とに基づく特徴マッチング(テンプレートマッチングの一例)を実行し、対象物Tgの移動に関する情報を取得する第2処理を複数回実行する。第1処理は、検出された対象物Tgの位置または姿勢と、第2処理で複数回取得された対象物Tgの移動に関する情報とに基づいて、対象物Tgの姿勢を予測し、対象物Tgの予測姿勢に対応する対象物Tgの予測テンプレートTP2を生成する。
【0125】
これにより、実施の形態1および実施の形態1の変形例1に係る画像処理装置P1は、第1処理によって予測テンプレートTP2を生成するとともに、第2処理部120から出力された特徴マッチング結果および対象物Tgの位置情報のそれぞれに基づいて、第1処理中に変化する対象物Tgの姿勢変化を追跡し、実際の対象物Tgの姿勢により近い対象物Tgのテンプレート(予測テンプレートTP2)を生成できる。
【0126】
また、実施の形態1および実施の形態1の変形例1に係る画像処理装置P1は、撮像画像から対象物Tgの特徴量を抽出し、抽出された対象物Tgの特徴量と予測テンプレートTP2に写る対象物Tgの特徴量とに基づいて、特徴マッチングを実行する。これにより、実施の形態1および実施の形態1の変形例1に係る画像処理装置P1は、特徴マッチングに基づく位置フィッティングにより、撮像画像に写る対象物Tgの位置を取得できる。
【0127】
また、実施の形態1に係る画像処理装置P1における第1処理は、撮像画像から検出された対象物Tgと、3DモデルデータベースDB(データベースの一例)に記録された3DモデルMDとに基づく3Dマッチングを実行して、対象物Tgの姿勢を特定し、複数回実行された第2処理により取得された対象物Tgの移動に関する情報に基づいて、対象物Tgの姿勢を予測し、対象物Tgの予測テンプレートTP2を生成する。これにより、実施の形態1に係る画像処理装置P1は、撮像画像に写る対象物Tgの姿勢を取得できる。
【0128】
また、実施の形態1に係る画像処理装置P1は、対象物Tgの予測姿勢に基づいて、3DモデルMDに対するカメラCMの第1撮像位置を取得し、3DモデルMDと、対象物Tgの予測姿勢とに基づいて、予測姿勢に対応する予測テンプレートTP2を生成し、3DモデルMDと、3DモデルMDに対する第1撮像位置と、予測テンプレートTP2とを対応付けて、ディスプレイ13に出力する。これにより、実施の形態1に係る画像処理装置P1は、予測テンプレートTP2が対象物Tgの3DモデルMDを第1撮像位置から撮像した場合のテンプレート(2D画像)である旨をユーザに可視化できる。ユーザは、予測テンプレートTP2と、第1撮像位置とに基づいて、画像処理装置P1により認識されている対象物Tgの3DモデルMDが正しい3DモデルMDであるか否かを目視確認できる。
【0129】
また、実施の形態1に係る画像処理装置P1は、撮像画像から対象物Tgを検出して、検出された対象物Tgの検出姿勢を特定し、検出姿勢に基づいて、3DモデルMDに対するカメラCMの第2撮像位置を取得し、3DモデルMDと、検出姿勢とに基づいて、検出姿勢に対応する検出テンプレートTP3を生成し、3DモデルMDと、3DモデルMDに対する第2撮像位置と、検出テンプレートTP3とを対応付けて、ディスプレイ13に出力する。これにより、実施の形態1に係る画像処理装置P1は、検出テンプレートTP3が対象物Tgの3DモデルMDを第2撮像位置から撮像した場合のテンプレート(2D画像)である旨をユーザに可視化できる。ユーザは、検出テンプレートTP3と、第2撮像位置とに基づいて、画像処理装置P1により認識されている対象物Tgの3DモデルMDが正しい3DモデルMDであるか否かを目視確認できる。
【0130】
また、実施の形態1に係る画像処理装置P1は、3DモデルMDを指定する指定情報を取得し、指定情報に対応する3DモデルMDに基づいて、対象物Tgの予測テンプレートTP2を生成する。これにより、実施の形態1に係る画像処理装置P1は、対象物Tg以外の背景が綺麗、つまり、ノイズが少ないテンプレートを生成することによって、第2処理の特徴マッチング処理でより高精度な位置特定が可能になる。また、画像処理装置P1は、第1処理を行う間に変化する対象物Tgの位置あるいは姿勢を補正した予測テンプレートTP2を生成することによって、カメラCMにより撮像された対象物Tgの姿勢または位置の変化をリアルタイムに追跡できる。
【0131】
また、実施の形態1の変形例2に係る画像処理装置P1は、テンプレートTP1を指定する指定情報を取得し、撮像画像から対象物Tgの特徴量を抽出し、抽出された対象物Tgの特徴量と、指定情報に対応するテンプレートTP1に写る対象物Tgの特徴量とに基づいて、特徴マッチングを実行する。これにより、実施の形態1の変形例2に係る画像処理装置P1は、特徴マッチングに基づく位置フィッティングにより、撮像画像に写る対象物Tgの位置を取得できる。
【0132】
また、実施の形態1および実施の形態1の変形例1,2に係る画像処理装置P1において、カメラCMで撮像される撮像画像に対して、第2処理は、第1処理と異なるフレームレートで実行する。これにより、実施の形態1および実施の形態1の変形例1,2に係る画像処理装置P1は、高度な低速画像処理(第1処理)と低度な高速画像処理技術(第2処理)とを組み合わせることで、カメラCMにより撮像された対象物Tgの姿勢または位置の変化をリアルタイムに追跡できる。
【0133】
また、実施の形態1および実施の形態1の変形例1に係る画像処理装置P1は、移動可能であって、かつ、対象物Tgを撮像可能なカメラCMにより撮像された対象物Tgの撮像画像を取得する通信部10(取得部の一例)と、撮像画像から対象物Tgの位置または姿勢の検出を行い、対象物Tgのテンプレートを生成する第1処理部110と、第1処理部110による対象物Tgのテンプレートの生成中に、複数回、撮像画像と前記対象物Tgのテンプレートとに基づくテンプレートマッチングを実行し、対象物Tgの移動に関する情報を取得する第2処理部120と、を備える。第1処理部110は、検出された対象物Tgの位置または姿勢と、第2処理部120で複数回取得された対象物Tgの移動に関する情報とに基づいて、対象物Tgの姿勢を予測し、対象物Tgの予測姿勢に対応する対象物Tgのテンプレートを生成する。
【0134】
これにより、実施の形態1および実施の形態1の変形例1に係る画像処理装置P1は、第1処理によって予測テンプレートTP2を生成するため、第2処理部120から出力された特徴マッチング結果および対象物Tgの位置情報のそれぞれに基づいて、第1処理中に変化する対象物Tgの姿勢変化を追跡し、実際の対象物Tgの姿勢により近い対象物Tgのテンプレート(予測テンプレートTP2)を生成できる。
【0135】
以上、添付図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても本開示の技術的範囲に属すると了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。
【産業上の利用可能性】
【0136】
本開示は、撮像装置の移動に伴って撮像装置からの対象物の姿勢が可変となる状況下でもテンプレートマッチングに使用可能な対象物の高精度なテンプレートを登録する画像処理方法および画像処理装置として有用である。
【符号の説明】
【0137】
10 通信部
11 プロセッサ
12 メモリ
13 ディスプレイ
14 操作デバイス
110 第1処理部
120 第2処理部
AC アクチュエータ
CM カメラ
DB 3Dモデルデータベース
MD 3Dモデル
P1 画像処理装置
Tg 対象物