(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-06
(45)【発行日】2025-01-15
(54)【発明の名称】画像処理装置及びコンピュータ読み取り可能な記憶媒体
(51)【国際特許分類】
G06T 7/00 20170101AFI20250107BHJP
G06T 7/70 20170101ALI20250107BHJP
【FI】
G06T7/00 350B
G06T7/70 Z
(21)【出願番号】P 2023537760
(86)(22)【出願日】2021-07-26
(86)【国際出願番号】 JP2021027559
(87)【国際公開番号】W WO2023007551
(87)【国際公開日】2023-02-02
【審査請求日】2024-02-06
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】鴻巣 有史
【審査官】豊田 好一
(56)【参考文献】
【文献】特開2019-106193(JP,A)
【文献】特開2021-71878(JP,A)
【文献】特開2021-18662(JP,A)
【文献】特開2018-202550(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 7/70
(57)【特許請求の範囲】
【請求項1】
ワークを撮像して得られた画像データに基づいて、画像データ内からワークの位置姿勢を推定するために用いる機械学習のモデルを生成する画像処理装置であって、
ワークを撮像して得られた画像データを取得するデータ取得部と、
前記データ取得部が取得した前記画像データに基づいて、該画像データ内の前記ワークの特徴箇所を示す第1の確率マップと、前記特徴箇所の間の領域を示す第2の確率マップを作成する前処理部と、
前記画像データ、前記第1の確率マップ及び前記第2の確率マップに基づいて、前記画像データから前記第1の確率マップ及び前記第2の確率マップを推定する機械学習のモデルを生成する学習部と、
前記学習部により作成された前記モデルを記憶するモデル記憶部と、
を備えた画像処理装置。
【請求項2】
ワークを撮像して得られた画像データ内から該ワークの位置姿勢を推定する画像処理装置であって、
ワークを撮像して得られた画像データから、該画像データ内の前記ワークの特徴箇所を示す第1の確率マップと、前記特徴箇所の間の領域を示す第2の確率マップとを推定するモデルを記憶するモデル記憶部と、
少なくとも1つのワークを撮像して得られた画像データを取得するデータ取得部と、
前記データ取得部が取得した前記画像データに基づいて、前記モデル記憶部に記憶されているモデルを用いて第1の確率マップ及び第2の確率マップを推定する推定部と、
前記第1の確率マップ及び前記第2の確率マップに基づいて、前記画像データ内の同一のワークの特徴箇所を推定する特徴箇所推定部と、
前記特徴箇所推定部が推定した結果に基づいて、前記画像データ内のワークの位置姿勢を推定する位置姿勢推定部と、
前記位置姿勢推定部が推定した結果を出力する出力部と、
を備えた画像処理装置。
【請求項3】
コンピュータを、ワークを撮像して得られた画像データに基づいて、画像データ内からワークの位置姿勢を推定するために用いる機械学習のモデルを生成する画像処理装置として機能させるプログラムが記録されたコンピュータで読み取り可能な記録媒体であって、
前記コンピュータを、
ワークを撮像して得られた画像データを取得するデータ取得部と、
前記データ取得部が取得した前記画像データに基づいて、該画像データ内の前記ワークの特徴箇所を示す第1の確率マップと、前記特徴箇所の間の領域を示す第2の確率マップを作成する前処理部と、
前記画像データ、前記第1の確率マップ及び前記第2の確率マップに基づいて、前記画像データから前記第1の確率マップ及び前記第2の確率マップを推定する機械学習のモデルを生成する学習部と、
前記学習部により作成された前記モデルを記憶するモデル記憶部と、
して機能させるプログラムが記録されたコンピュータで読み取り可能な記録媒体。
【請求項4】
コンピュータを、ワークを撮像して得られた画像データ内から該ワークの位置姿勢を推定する画像処理装置として機能させるプログラムが記録されたコンピュータで読み取り可能な記録媒体であって、
前記コンピュータを、
ワークを撮像して得られた画像データから、該画像データ内の前記ワークの特徴箇所を示す第1の確率マップと、前記特徴箇所の間の領域を示す第2の確率マップとを推定するモデルを記憶するモデル記憶部と、
少なくとも1つのワークを撮像して得られた画像データを取得するデータ取得部と、
前記データ取得部が取得した前記画像データに基づいて、前記モデル記憶部に記憶されているモデルを用いて第1の確率マップ及び第2の確率マップを推定する推定部と、
前記第1の確率マップ及び前記第2の確率マップに基づいて、前記画像データ内の同一のワークの特徴箇所を推定する特徴箇所推定部と、
前記特徴箇所推定部が推定した結果に基づいて、前記画像データ内のワークの位置姿勢を推定する位置姿勢推定部と、
前記位置姿勢推定部が推定した結果を出力する出力部と、
して機能させるプログラムが記録されたコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及びコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【0002】
従来、コンピュータビジョンを使ったワークの位置と姿勢の検出では、ワーク全体から作られた特徴量や、ワークの輪郭から、個々のワークを識別し、位置と姿勢を推定していた。例えば、特許文献1には、容器内にバラ積みされたワークをロボットでピッキングする発明が開示されている。この発明では、容器を撮像して得られた三次元情報(位置データ)から、それぞれのワークの位置、姿勢を認識する。認識する際には、予め登録されているワークの特徴を示すデータを基にマッチング処理を行っている。マッチング処理としては、CADデータとのマッチングを取るCADマッチング、3次元データ同士のマッチングを行うサーフェスマッチング、エッジを抽出してマッチングを行うエッジマッチングなどが挙げられる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ワークの状態や照明の状態によって、ワークの認識が不安定になる場合がある。例えば、パレットの上にワークを積み上げるパレタイジング作業の後、個別のワークを識別することが困難になる場合がある。パレタイジング後にワークとしての段ボール箱が複数隙間なく積んであると、2個の段ボール箱が1つの段ボール箱として認識される場合がある。また、表面に伝票(送り状や納品書等)や梱包用テープが張り付けられている場合、段ボール箱の特徴量や輪郭の推定に悪い影響が出る場合もある。更に、照明の位置によりパレット内に明暗ができることが原因で段ボール箱が正しく認識されない場合もある。
【0005】
図9,10は、パレタイジング後の段ボール
箱の認識例を示している。
図9,10は、パレット302内に段ボール箱305が積み上げられている様子を撮像した画像301と、画像301から段ボール箱305を認識した結果画像310を示している。
図9では、パレット302に対して照明が適切に設置されており、パレット302内に明暗ができていない。このような場合、結果画像310内にそれぞれの段ボール箱305が認識画像312として比較的安定して認識される。これに対して、
図10では、パレット302に対する照明の位置が悪く、パレット内に明部308と暗部309が生じている。このような場合、段ボール箱305が存在しない位置に認識画像312が認識されたり、複数の段ボール箱305が1つの認識画像312として認識されたりすることがある。また、梱包用テープがある位置で1つの段ボール箱305が2つの認識画像312として認識される場合もある。
そこで、ワークの状態や照明の状態などでワークの認識が困難な場合であっても、その影響をある程度抑えることができるように支援する技術が望まれている。
【課題を解決するための手段】
【0006】
本開示による制御装置は、ワークにおいて特徴的な箇所であって、ワークの位置と姿勢を特定できる複数の「特徴箇所」と、該特徴箇所間の組み合わせを特定する「特徴箇所間の領域」をニューラルネットワークに学習させる。そして、該ニューラルネットを用いて画像内の特徴箇所とその間の領域を推定し、その推定結果に基づいて個々のワークの位置と姿勢を特定することで、上記課題を解決する。
【0007】
そして、本開示の一態様は、ワークを撮像して得られた画像データに基づいて、画像データ内からワークの位置姿勢を推定するために用いる機械学習のモデルを生成する画像処理装置であって、ワークを撮像して得られた画像データを取得するデータ取得部と、前記データ取得部が取得した前記画像データに基づいて、該画像データ内の前記ワークの特徴箇所を示す第1の確率マップと、前記特徴箇所の間の領域を示す第2の確率マップを作成する前処理部と、前記画像データ、前記第1の確率マップ及び前記第2の確率マップに基づいて、前記画像データから前記第1の確率マップ及び前記第2の確率マップを推定する機械学習のモデルを生成する学習部と、前記学習部により作成された前記モデルを記憶するモデル記憶部と、を備えた画像処理装置である。
【0008】
本開示の他の態様は、ワークを撮像して得られた画像データ内から該ワークの位置姿勢を推定する画像処理装置であって、ワークを撮像して得られた画像データから、該画像データ内の前記ワークの特徴箇所を示す第1の確率マップと、前記特徴箇所の間の領域を示す第2の確率マップとを推定するモデルを記憶するモデル記憶部と、少なくとも1つのワークを撮像して得られた画像データを取得するデータ取得部と、前記データ取得部が取得した前記画像データに基づいて、前記モデル記憶部に記憶されているモデルを用いて第1の確率マップ及び第2の確率マップを推定する推定部と、前記第1の確率マップ及び前記第2の確率マップに基づいて、前記画像データ内の同一のワークの特徴箇所を推定する特徴箇所推定部と、前記特徴箇所推定部が推定した結果に基づいて、前記画像データ内のワークの位置姿勢を推定する位置姿勢推定部と、前記位置姿勢推定部が推定した結果を出力する出力部と、を備えた画像処理装置である。
【発明の効果】
【0009】
本開示の一態様により、撮像した画像内のワークの写り方が一様でない場合や、ワークの輪郭が分かりづらい、ワークを誤認識しやすいなどの要因があっても、それらの影響を受けにくいワークの認識が期待できる。
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態による画像処理装置の概略的なハードウェア構成図である。
【
図2】本発明の第1実施形態による画像処理装置の概略的な機能を示すブロック図である。
【
図3】特徴箇所を示す確率マップ及び特徴箇所間の領域を示す確率マップの例を示す図である。
【
図4】本発明の第2実施形態による画像処理装置の概略的な機能を示すブロック図である。
【
図5】画像データから推定される特徴箇所を示す確率マップ及び特徴箇所間の領域を示す確率マップの例を示す図である。
【
図6A】特徴箇所推定部の処理を説明する図である。
【
図6B】特徴箇所推定部の処理を説明する図である。
【
図6C】特徴箇所推定部の処理を説明する図である。
【
図7】特徴箇所を示す確率マップ及び特徴箇所間の領域を示す確率マップの他の例を示す図である。
【
図8】画像データから推定される特徴箇所を示す確率マップ及び特徴箇所間の領域を示す確率マップの他の例を示す図である。
【
図9】従来技術によるパレット上のワークの認識例を示す図である。
【
図10】従来技術によるパレット上のワークの認識の課題を説明する図である。
【
図11】3次元形状のワークにおける特徴箇所を示す確率マップ及び特徴箇所間の領域を示す確率マップの例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の一実施形態による診断装置の要部を示す概略的なハードウェア構成図である。本発明の画像処理装置1は、例えばバラ積み作業を行うロボット3を制御するロボットコントローラ上に実装することができる。また、本発明の画像処理装置1は、バラ積み作業を行うロボット3に併設されたパソコンや、有線/無線のネットワークを介してロボット3と接続されたパソコン、セルコンピュータ、フォグコンピュータ6、クラウドサーバ7などのコンピュータ上に実装することができる。本実施形態では、画像処理装置1を、ネットワーク介してバラ積み作業を行うロボット3と接続されたパソコンの上に実装した例を示す。
【0012】
本実施形態による画像処理装置1が備えるCPU11は、画像処理装置1を全体的に制御するプロセッサである。CPU11は、バス22を介してROM12に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って画像処理装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データなどが一時的に格納される。
【0013】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)などで構成され、画像処理装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれたデータ、入力装置71を介して入力されたデータ、ロボット3から取得されたデータ(視覚センサであるセンサ4により検出されたワークの画像データを含む)などが記憶される。不揮発性メモリ14に記憶されたデータは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種システム・プログラムがあらかじめ書き込まれている。
【0014】
ロボット3には、バラ積み作業の動作時においてワークを撮像する視覚センサなどのセンサ4が取り付けられている。ロボット3は作業者の指示に従ってパレット上に積み上げられたワークをセンサ4で撮像する。そして撮像して得られた画像データを画像処理装置1に対してネットワーク5を介して送信する。
【0015】
インタフェース15は、画像処理装置1のCPU11と、USB装置などの外部機器72と、を接続するためのインタフェースである。外部機器72側からは、例えば予め記憶されているワークの画像データなどを読み込むことができる。また、画像処理装置1内で編集した設定データなどは、外部機器72を介して外部記憶手段に記憶させることができる。
【0016】
インタフェース20は、画像処理装置1のCPU11と有線乃至無線のネットワーク5とを接続するためのインタフェースである。ネットワーク5には、ロボット3やフォグコンピュータ6、クラウドサーバ7などが接続され、画像処理装置1との間で相互にデータのやり取りを行っている。
【0017】
表示装置70には、メモリ上に読み込まれた各データ、プログラムなどが実行された結果として得られたデータ、後述する機械学習装置200から出力されたデータなどがインタフェース17を介して出力されて表示される。また、キーボードやポインティングデバイスなどから構成される入力装置71は、作業者による操作に基づく指令,データなどをCPU11にインタフェース18を介して渡す。
【0018】
インタフェース21は、CPU11と機械学習装置200とを接続するためのインタフェースである。機械学習装置200は、機械学習装置200全体を統御するプロセッサ201と、システム・プログラムなどを記憶したROM202、機械学習に係る各処理における一時的な記憶を行うためのRAM203、及びモデルなどの記憶に用いられる不揮発性メモリ204を備える。機械学習装置200は、インタフェース21を介して画像処理装置1で取得可能な各情報(例えば、ロボット3で撮像されたワークの画像データ)を観測することができる。また、画像処理装置1は、インタフェース21を介して機械学習装置200から出力される処理結果を取得し、取得した結果を記憶したり、表示したり、他の装置に対してネットワーク5などを介して送信する。
【0019】
図2は、本発明の第1実施形態による画像処理装置1が備える機能を概略的なブロック図として示したものである。本実施形態による画像処理装置1は、ワークの画像に基づいた機械学習を行うことで学習済みモデルを作成する。本実施形態による画像処理装置1が備える各機能は、
図1に示した画像処理装置1が備えるCPU11と、機械学習装置200が備えるプロセッサ201とがシステム・プログラムを実行し、画像処理装置1及び機械学習装置200の各部の動作を制御することにより実現される。
【0020】
本実施形態の画像処理装置1は、データ取得部110、前処理部120、学習部210を備える。また、機械学習装置200のRAM203乃至不揮発性メモリ204上には、ワークの画像データに基づいた機械学習を行った結果として生成されたモデルである学習済みモデルを記憶するための領域であるモデル記憶部215が予め確保されている。
【0021】
データ取得部110は、ロボット3のセンサ4により撮像されたワークの画像データを取得する。データ取得部110は、例えばネットワーク5を介してロボット3からワークの画像データを取得してもよい。また、外部機器72から事前に撮像されたワークの画像データを取得するようにしてもよい。データ取得部110は、取得した画像データを前処理部120に出力する。
【0022】
前処理部120は、データ取得部110から入力されたワークの画像データに基づいて、学習部210による学習に用いられる学習データを作成する。そして、作成した学習データを機械学習装置200へと出力する。前処理部120が作成する学習データは、ワークの位置と姿勢を特定できる複数の特徴箇所を示す確率マップと、該特徴箇所間の領域を示す確率マップを少なくとも含む。
【0023】
特徴箇所を示す確率マップは、各々のピクセルについてワークの特徴箇所に対応する位置である確率、即ち特徴箇所のクラスに属する確率を示す画像データである。前処理部120は、作業者に対して特徴箇所を入力させる入力画面を提供し、作業者からの入力に基づいて特徴箇所を特定するようにしても良い。この場合、作業者は、画面上に表示された画像内の特徴箇所となる点を指定する。また、前処理部120は、公知の画像処理の技術を用いて画像データ内のワークの特徴箇所を抽出してよい。例えば画像データに対して画像のエッジを抽出する画像処理を行い、抽出されたエッジ線の角度が所定の閾値以上である位置を特徴箇所とするようにしてもよい。そして、前処理部120は、画像データに含まれるピクセルの内で、特徴箇所の位置にあたるピクセルについては高い確率を設定し、そこから離れるにつれて確率が低下するように設定することで特徴箇所を示す確率マップを作成する。この確率マップは、例えば指定乃至抽出された特徴箇所にあたるピクセルを所定の最も高い確率を示す色(例えば白)とし、その他の位置のピクセルを所定の最も低い確率を示す色(例えば黒)とした画像を作成し、作成した画像に対してガウスフィルタをかけるなどの前処理をすることで容易に作成できる。このようにして作成する確率マップは、特徴箇所を中心として所定の範囲に確率値が広がる形になる。この確率マップは、それぞれの特徴箇所ごとに作成してもよい。
【0024】
特徴箇所間の領域を示す確率マップは、特徴箇所間の領域に位置する確率、即ち特徴箇所間の領域のクラスに属する確率を示す画像データである。前処理部120は、画像データに含まれるピクセルの内で、特徴箇所の組の各特徴箇所を結んだ直線上に位置するピクセルについては高い確率を設定し、そこから離れるにつれて確率が低下するように設定することで特徴箇所間の領域を示す確率マップを作成する。この確率マップは、例えば指定乃至抽出された特徴箇所の間に所定の最も高い確率を示す色(例えば白)で線が描画され、その他の位置のピクセルが所定の最も低い確率を示す色(例えば黒)となっている画像を作成し、作成した画像に対してガウスフィルタをかけるなどの前処理をすることで容易に作成できる。このようにして作成した確率マップは、特徴箇所間を結ぶ線分を中心として所定の範囲に確率値が広がる形となる。この確率マップは、それぞれの特徴箇所の組ごとに作成してよい。特徴箇所間の領域を示す確率マップは、例えばワークの外形上で隣接する位置にある特徴箇所間の領域を示す確率マップや、ワークの外形上で対向する位置にある特徴箇所間の領域を示す確率マップを区別できるように作成してもよい。特徴箇所間の領域を示す確率マップについては、全ての特徴箇所の組について作成してよい。
【0025】
図3は、特徴箇所を示す確率マップ及び特徴箇所間の領域を示す確率マップの例を示す図である。
図3に例示するように、ワーク320は少なくとも4つの頂点を持ち、少なくともこの頂点を特徴箇所とすることでワークの位置と姿勢を特定することができる。そこで、画像データ中のワーク320のそれぞれの頂点にあたる位置のピクセルを中心とした所定範囲のピクセルに渡って、特徴箇所A1,A2,A3,A4のクラスに属する確率が高いものとした確率マップを作成する。また、それぞれの特徴箇所A1,A2,A3,A4の組み合わせ[A1,A2],[A2,A3],[A3,A4],[A1,A4],[A1,A3],[A2,A4]のそれぞれについて、特徴箇所間を結んだ直線上にあるピクセル及びその周辺の所定範囲のピクセルを、それぞれの特徴箇所間の領域のクラスに属するものとした確率マップを作成する。
図3に例示する確率マップは、それぞれの特徴箇所または特徴箇所間の領域である確率が高い部分を黒丸または黒太線で示している。また、実際の確率マップには含まれていないが、ワークとの位置関係が把握しやすいように、ワークの外形を点線で示している。なお、
図3ではそれぞれの特徴箇所及び特徴箇所間の領域を示す確率マップを別の確率マップとして示しているが、それぞれの特徴箇所及び特徴箇所間の領域を区別できるように設定できるのであれば、学習対象となる特徴箇所及び特徴箇所間の領域に属する確率を1つの確率マップ上に設定するようにしてもよい。
【0026】
学習部210は、前処理部120が作成した学習データを学習したモデルを生成し、生成したモデルを学習済みモデルとしてモデル記憶部215に記憶する。学習部210が生成するモデルは、例えば畳み込みニューラルネットワークを用いた公知のエンコーダデコーダモデルであってよい。このようなエンコーダデコーダモデルは、畳み込みニューラルネットワークの畳み込み層によって画像から特徴を抽出するエンコーダと、抽出した特徴を受け取って確率マップを出力するデコーダで構成される。このモデルは、例えば画像データを入力として受け取り、その画像データ内の特徴箇所や特徴箇所の間の領域を示す確率マップを推定する、いわゆるセグメンテーション(画像データの各ピクセルが属するクラスを推定する処理)をするために用いることができる。本実施形態による学習部210は、ワークを撮像した画像データをエンコーダデコーダモデルの入力とし、前処理部120が作成した特徴箇所の確率マップ、特徴箇所の間の位置関係を示す確率マップをそれぞれ出力とした学習を行う。畳み込みニューラルネットワークは、1つの層の受容野は狭くても、ダウンサンプリングしながら層を重ねていくことで、大局的な情報を得ることができる。そのため、これを用いてエンコーダデコーダモデルを構築することで、画像データ内で局所的には他と区別がつかない部分であっても、特徴箇所や、特徴箇所の間の領域に該当する箇所であると推定できるようになる。
【0027】
上記構成を備えた画像処理装置1は、与えられたワークが撮像された画像データに基づいて、画像データ内のワークの特徴箇所及び特徴箇所間の領域を学習したモデルを作成する。作業者からのロボット3への指示に従って、学習の対象とするワークについてさまざまな位置及び姿勢で撮像する。そして、撮像された画像で他に基づいた学習を繰り返す。ある程度の数の画像データに基づいて学習が行われて作成されたモデルは、ワークが撮像された画像データの中から、ワークの特徴箇所と、それぞれの特徴箇所間の領域を認識するセグメンテーション処理を行うために用いることができる。
【0028】
図4は、本発明の第2実施形態による画像処理装置1が備える機能を概略的なブロック図として示したものである。本実施形態による画像処理装置1は、作成された学習済みモデルを用いて、画像データ内のワークの位置姿勢を推定する。本実施形態による画像処理装置1が備える各機能は、
図1に示した画像処理装置1が備えるCPU11と、機械学習装置200が備えるプロセッサ201とがシステム・プログラムを実行し、画像処理装置1及び機械学習装置200の各部の動作を制御することにより実現される。
【0029】
本実施形態の画像処理装置1は、データ取得部110、特徴箇所推定部130、位置姿勢推定部140、出力部150、推定部220を備える。また、機械学習装置200のRAM203乃至不揮発性メモリ204上には、ワークの画像データに基づいた機械学習を行った結果として生成されたモデルである学習済みモデルが記憶されている領域であるモデル記憶部215が予め確保されている。
【0030】
データ取得部110は、ロボット3のセンサ4により撮像されたワークの画像データを取得する。データ取得部110は、例えばネットワーク5を介してロボット3からワークの画像データを取得してもよい。また、外部機器72から事前に撮像されたワークの画像データを取得するようにしてもよい。本実施形態によるデータ取得部110が取得するワークの画像データは、複数のワークの画像を含んでいてよい。データ取得部110は、取得した画像データを機械学習装置200に出力する。
【0031】
推定部220は、データ取得部110が取得した画像データに基づいて、モデル記憶部215に記憶されたモデルを用いた該画像データ内の各ワークの特徴箇所及び特徴箇所間の領域の推定処理を行う。そして、推定処理をした結果を特徴箇所推定部130へと出力する。モデル記憶部215には、第1実施形態による画像処理装置1により、画像データ内のワークの特徴箇所及び特徴箇所間の領域を学習したモデルが予め記憶されている。このモデルに対してデータ取得部110が取得した画像データを入力することで、該画像データに写っているワークの特徴箇所のクラスに属する確率及び特徴箇所間の領域のクラスに属する確率を示す確率マップが出力される。推定部220は、その確率マップを特徴箇所及び特徴箇所間の領域の推定結果として出力する。
【0032】
図5は、推定部220による画像データに写っているワークの特徴箇所及び特徴箇所間の領域の推定結果の例を示す図である。なお、モデル記憶部215には、
図3に例示したワークの特徴箇所及び特徴箇所間の領域を学習したモデルが記憶されているものとする。
図5に例示するように、ワークの画像には2つのワーク320がそれぞれの位置及び姿勢で写り込んでいる。この場合、推定部220は、それぞれのピクセルがワーク320の特徴箇所に属する確率、及び特徴箇所間の領域に属する確率
を示す所定の確率マップ
を推定することができる。なお、
図5ではそれぞれの特徴箇所及び特徴箇所間の領域を示す確率マップを個別に推定した結果を示している。しかしながら、ワークの特徴箇所及び特徴箇所間の領域に属する確率を1つの確率マップに設定したデータを用いて学習を行ったモデルを用いる場合には、それぞれの特徴箇所及び特徴箇所間の領域が区別可能な1つの確率マップが推定結果として出力される。
【0033】
特徴箇所推定部130は、推定部220が推定した画像データ内のワークの特徴箇所及び特徴箇所間の領域に基づいて、ワーク毎の特徴箇所の組を推定する。特徴箇所推定部130は、推定部220が推定したそれぞれの特徴箇所を示す確率マップ及び特徴箇所間の領域を示す確率マップを重畳した領域を想定する。これは実際にそれぞれの確率マップを重畳させた確率マップを作成してもよいし、それぞれの確率マップのピクセルの位置の対応はとれているので仮想的に重畳した確率マップを想定して以降の処理を行うようにしてもよい。
【0034】
次に、特徴箇所推定部130は、重畳した確率マップ上で、それぞれの特徴箇所の組み合わせを作成する。この組み合わせは、全ての特徴箇所の組み合わせを作成してもよい。また、それぞれの特徴箇所に対して該特徴箇所の近傍にある予め定めた所定のN個の特徴箇所との組を作成するようにしてもよい。或いは、ワークの大きさに応じて定まる所定の距離内の特徴箇所との組を作成するようにしてもよい。その後、特徴箇所推定部130は、組とした特徴箇所の間を結んだ直線上にあるピクセルについて、特徴箇所間の領域に属する確率の平均値を算出する。このとき、特徴箇所の間を結ぶ直線に予め定めた所定の幅を持たせてもよい。そして、算出した特徴箇所間の領域に属する確率の平均値が予め定めた所定の閾値以上である場合、その特徴箇所の組は同一のワークの特徴箇所を示していると推定する。特徴箇所推定部130は、ある特徴箇所α1と他の特徴箇所α2が同一のワークの特徴箇所を示していると推定され、また、特徴箇所α1と更に他の特徴箇所α3が同一のワークの特徴箇所を示していると推定される場合、特徴箇所α1~3がすべて同一のワークの特徴箇所を示していると推定してよい。
【0035】
図6A~6Cを用いて、特徴箇所推定部130の処理について説明する。
図6A~6Cは、特徴箇所を示す確率マップ及び特徴箇所間の領域を示す確率マップを重畳した例を示す図である。
図6A~6Cでは、特徴箇所を黒丸、特徴箇所間の領域として推定されたところを黒太線で示している。
図6Aの表示から把握できるように、同一のワークに属する特徴箇所の間のピクセルは特徴箇所間の領域に属する確率が高く、一方で、異なるワークに属する特徴箇所の間のピクセルは特徴箇所間の領域に属する確率が低い。
【0036】
例えば、
図6Bに例示するように、特徴箇所330と特徴箇所331の間の領域に着目する。
図6Bではこの領域を点線枠で示している。この枠内のピクセルは、特徴箇所間の領域に属する確率が高いピクセルの割合が多くなっている。特徴箇所推定部130は、この枠内にあるピクセルにおける特徴箇所間の領域に属する確率の平均値(確率値の総和÷ピクセル数又は面積)を算出する。そして、予め定めた所定の閾値以上の確率の平均値が算出されるので、特徴箇所推定部130は、特徴箇所330と特徴箇所331とが同一のワークの特徴箇所であると推定する。同様に、特徴箇所330と特徴箇所332の組、特徴箇所330と特徴箇所333の組の間で、同一のワークの特徴箇所であると推定される場合には、特徴箇所推定部130は、特徴箇所330~333のすべてが同一のワークの特徴箇所であると推定する。なお、特徴箇所間の領域はすべての領域に渡って認識される場合もあるが、部分的に認識される場合もある。そのような場合を考慮した上で、誤認識するケースとのバランスを取った閾値を設定しておくことが望ましい。
【0037】
一方、
図6Cに例示するように、特徴箇所330と特徴箇所334の間の領域に着目する。
図6Cではこの領域を点線枠で示している。この枠内のピクセルは、特徴箇所間の領域に属する確率が低いピクセルの割合が多くなっている。特徴箇所推定部130は、この枠内にあるピクセルにおける特徴箇所間の領域に属する確率の平均値(確率値の総和÷ピクセル数又は面積)を算出する。そして、予め定めた所定の閾値未満の確率の平均値が算出されるので、特徴箇所推定部130は、特徴箇所330と特徴箇所331とが異なるワークの特徴箇所であると推定する。
【0038】
位置姿勢推定部140は、特徴箇所推定部130が推定した同一のワークの特徴箇所の組に基づいて、画像データに写っているそれぞれのワークの位置及び姿勢を推定する。位置姿勢推定部140は、例えば同一のワークのものであると推定された特徴箇所と、予め記憶しているワークの形状モデルにおける特徴箇所との間でマッチング処理を行うことで、ワークの位置及び姿勢を特定するようにしてもよい。位置姿勢推定部140は、同一のワークの一部の特徴箇所が推定されていない場合であっても、所定の一致率以上でマッチングする場合には、その位置及び姿勢でワークが存在すると推定するようにしてよい。
【0039】
出力部150は、位置姿勢推定部140が推定したそれぞれのワークの位置姿勢を出力する。出力部150は、例えばそれぞれのワークの位置姿勢の推定結果を表示装置70に表示出力するようにしてもよい。また、出力部150は、例えばネットワーク5を介してロボット3に対してそれぞれのワークの位置姿勢の推定結果を送信出力するようにしてもよい。更に、出力部150は、例えばそれぞれのワークの位置姿勢の推定結果を不揮発性メモリ14に記憶するように、また外部機器72を介して外部メモリに記憶するように出力してもよい。
【0040】
上記構成を備えた画像処理装置1では、撮像した画像データ内で同一のワークに属する特徴箇所を推定することが可能となり、複数のワークの位置及び姿勢を推定することができる。本実施形態による画像処理装置1は、特徴箇所及び特徴箇所間の領域をそれぞれ部分的に認識できるようにしている。そのため、撮像した画像内のワークの写り方が一様でない場合や、ワークの輪郭が分かりづらい、ワークを誤認識しやすいなどの要因でそれぞれのワークについて全体が認識しにくい状況にあったとしても、一部の特徴箇所や特徴箇所間の領域の一部が認識できているのであれば、それらを組み合わせて特徴箇所推定部130で更なる推定を行うことで、ワークの認識できる程度を上昇させることができる。また、特徴箇所間の領域を認識対象とすることで、複数のワークが混在する環境であって、上記したような部分的にしか特徴箇所を認識できない状況であっても、比較的高い確率で特徴箇所の間の関係を推定することを可能としている。更に、特徴箇所間の領域の推定は、ワークの表面の状態の影響を受けにくいことが判明している。これは、特徴箇所と特徴箇所間の領域の推定を一緒に行うことで、特徴箇所間の領域に見られる特徴とともに、両端が特徴箇所であることを条件として織り込んで推定しているためと考えられる。これにより、特徴箇所間に例えば段ボール箱の表面に貼付されたラベルや梱包テープがあっても、その影響を抑えて推定ができる。
【0041】
なお、上記した動作例では、ワークの特徴箇所のそれぞれが区別できる例を示している。しかしながら、矩形のワークなどのようにそれぞれの特徴箇所がワークの形状から区別できない場合であっても、特徴箇所及び特徴箇所間の領域の学習、及びワークの位置姿勢の推定を行うことができる。
【0042】
図7は、矩形のワークおける特徴箇所を示す確率マップ及び特徴箇所間の領域を示す確率マップの例を示す図である。
図7に例示するように、矩形のワーク340は少なくとも4つの頂点を持ち、少なくともこの頂点を特徴箇所とすることでワークの位置と姿勢を特定することができる。また、ワーク340の上下左右が回転したとしてもその形状は変わらないため、それぞれの特徴箇所は区別することができない。そのため、画像データ中のワーク340のそれぞれの頂点にあたる位置のピクセルを中心とした所定範囲のピクセルに渡って、特徴箇所Aのクラスに属する確率が高いものとした確率マップを作成する。また、ワークの外形上隣接する位置にある特徴箇所間を結んだ直線上にあるピクセル及びその周辺の所定範囲のピクセルを、特徴箇所間の領域のクラスに属するものとした確率マップを作成する。更に、これとは別に、対向する位置にある特徴箇所間を結んだ直線上にあるピクセル及びその周辺の所定範囲のピクセルを、特徴箇所間の領域のクラスに属するものとした確率マップとを作成する。
【0043】
このようなワークの画像と確率マップを用いて学習を行った学習済みモデルを用いてワークの位置姿勢の推定を行う場合を考える。
図8は、画像に写っている矩形のワークの特徴箇所及び特徴箇所間の領域の推定結果の例を示す図である。なお、モデル記憶部215には、
図7に例示したワークの特徴箇所及び特徴箇所間の領域を学習したモデルが記憶されているものとする。
図8に例示するように、ワークの画像には2つのワーク340がそれぞれの位置及び姿勢で写り込んでいる。この場合においても、推定部220は、それぞれのピクセルがワーク340の特徴箇所に属する確率、及び特徴箇所間の領域に属する確率を示す所定の確率マップを推定することができる。そして、この推定結果に基づいて、特徴箇所推定部130が同一のワークの特徴箇所を推定し、その推定結果に基づいて、位置姿勢推定部140が画像データ内のそれぞれのワークの位置姿勢を推定することができる。
【0044】
以上、本発明の実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記した実施形態では、ワークを撮像した画像データを2次元平面でとらえた場合の例を示している。しかしながら、センサ4として奥行き方向を捉えることができる距離画像センサを用いることで、ワークの位置姿勢を2次元(x,y,θ)ではなく、2.5次元(x,y,z,θ)や、3次元(x,y,z,θ
x,θ
y,θ
z)で推定するようにすることもできる。この場合、
図11に例示されるように、各機能において画像データが3次元空間に配置されるものとして同様の処理を行うように構成すればよい。
【符号の説明】
【0045】
1 画像処理装置
3 ロボット
4 センサ
5 ネットワーク
6 フォグコンピュータ
7 クラウドサーバ
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
15,17,18,20,21 インタフェース
22 バス
70 表示装置
71 入力装置
72 外部機器
110 データ取得部
120 前処理部
130 特徴箇所推定部
140 位置姿勢推定部
150 出力部
200 機械学習装置
201 プロセッサ
202 ROM
203 RAM
204 不揮発性メモリ
210 学習部
215 モデル記憶部
220 推定部
301 画像
302 パレット
305 段ボール箱
310 結果画像
312 認識画像
320 ワーク
330~337 特徴箇所