(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-01
(45)【発行日】2024-03-11
(54)【発明の名称】データセット生成装置、生成方法、プログラム、システム、機械学習装置、物体認識装置、及びピッキングシステム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240304BHJP
B25J 13/08 20060101ALI20240304BHJP
【FI】
G06T7/00 350C
B25J13/08 A
(21)【出願番号】P 2020186651
(22)【出願日】2020-11-09
【審査請求日】2023-09-04
(73)【特許権者】
【識別番号】315014671
【氏名又は名称】東京ロボティクス株式会社
(74)【代理人】
【識別番号】100098899
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】川西 亮輔
(72)【発明者】
【氏名】岡 弘之
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2020-095537(JP,A)
【文献】特開2016-057918(JP,A)
【文献】特開2011-150541(JP,A)
【文献】特開2019-028876(JP,A)
【文献】特開2018-088630(JP,A)
【文献】特開2017-120672(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
B25J 13/08
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
所定の物体を認識するための機械学習に用いる学習用データセットを生成するデータセット生成装置であって、
分類に関する情報がラベル付けされた物体を含む画像データが格納された画像データベースから抽出する前記画像データに含まれる前記物体の分類を選択するクラス選択部と、
選択された前記分類に関する情報がラベル付けされた対象物体を含む画像データを前記画像データベースから抽出するデータ抽出部と、
抽出した前記画像データから前記対象物体を切り出してテンプレート画像を作成するテンプレート作成部と、
少なくとも一つ以上の前記テンプレート画像と当該テンプレート画像にラベル付けされた前記分類に関する情報とを含む画像データを学習用データセットとして生成するデータセット生成部と
、を備え、
前記データセット生成部は、少なくとも二つ以上の前記テンプレート画像が山積みに配置された状態の画像と当該テンプレート画像に個別にラベル付けされた前記分類に関する情報とを含む画像データを前記学習用データセットとして生成する、データセット生成装置。
【請求項2】
作成された前記テンプレート画像から、前記学習用データセットの生成に用いる前記テンプレート画像を選択するテンプレート選択部をさらに備える、請求項1に記載のデータセット生成装置。
【請求項3】
前記学習用データセットの生成に用いる前記テンプレート画像を加工するテンプレート加工部をさらに備える、請求項1
又は2に記載のデータセット生成装置。
【請求項4】
前記クラス選択部は、前記所定の物体に類似する物体の分類をさらに選択する、請求項1から
3のいずれか一項に記載のデータセット生成装置。
【請求項5】
前記テンプレート画像の配置方法を決定するテンプレート配置部をさらに備える、請求項1から
4のいずれか一項に記載のデータセット生成装置。
【請求項6】
少なくとも一つ以上の前記テンプレート画像を含む画像に背景を合成する背景合成部をさらに備える、請求項1から
5のいずれか一項に記載のデータセット生成装置。
【請求項7】
前記学習データセットは、前記テンプレート画像が配置された領域を示すセグメント情報をさらに含む、請求項1から
6のいずれか一項に記載のデータセット生成装置。
【請求項8】
前記学習データセットは、少なくとも二つ以上の前記テンプレート画像が配置された場合は、当該テンプレート画像が配置された領域を個別に示す複数のセグメント情報を含む、請求項1から
7のいずれか一項に記載のデータセット生成装置。
【請求項9】
請求項1から
8のいずれか一項に記載のデータセット生成装置が生成した学習用データセットを用いた機械学習装置であって、
前記学習用データセットを教師データとする深層学習により、入力画像に含まれる対象物体の領域を認識する学習モデルを構築する学習部と、
前記学習モデルを記憶する学習モデル記憶部と、を備える機械学習装置。
【請求項10】
請求項
9に記載の機械学習装置により構築された学習モデルが記憶される学習モデル記憶部と、
前記学習モデル記憶部に記憶された前記学習モデルを用いて、入力画像に含まれる対象物体の領域を認識する認識部と、を備える物体認識装置。
【請求項11】
請求項
9に記載の機械学習装置により生成された学習モデルが記憶される学習モデル記憶部と、
ピッキングする対象物体を含む画像を取得するセンサと、
前記学習モデル記憶部に記憶された前記学習モデルを用いて、前記センサが取得した画像に含まれる前記対象物体の領域をピクセル単位で認識する認識部と、
把持部を有するピッキングロボットと、
前記ピッキングロボットを制御する制御部と、を備え、
前記制御部は、前記認識部が認識した前記対象物体が存在する領域に基づいて、前記把持部が前記対象物体を把持するように前記ピッキングロボットを制御する、ピッキングシステム。
【請求項12】
ピッキングシステムであって、
分類に関する情報がラベル付けされた物体を含む画像データが格納された画像データベースから抽出する前記画像データに含まれる前記物体の分類を選択するクラス選択部と、
選択された前記分類に関する情報がラベル付けされた対象物体を含む画像データを前記画像データベースから抽出するデータ抽出部と、
抽出した前記画像データから前記対象物体を切り出してテンプレート画像を作成するテンプレート作成部と、
少なくとも一つ以上の前記テンプレート画像と当該テンプレート画像にラベル付けされた前記分類に関する情報とを含む画像データを学習用データセットとして生成するデータセット生成部と、
前記学習用データセットを教師データとする深層学習により、入力画像に含まれる対象物体の領域を認識する学習モデルを構築する学習部と、
前記学習モデルを記憶する学習モデル記憶部と、
を備える機械学習装置により生成された学習モデルが記憶される学習モデル記憶部と、
ピッキングする対象物体を含む画像を取得するセンサと、
前記学習モデル記憶部に記憶された前記学習モデルを用いて、前記センサが取得した画像に含まれる前記対象物体の領域をピクセル単位で認識する認識部と、
把持部を有するピッキングロボットと、
前記ピッキングロボットを制御する制御部と、を備え、
前記制御部は、前記認識部が認識した前記対象物体が存在する領域に基づいて、前記把持部が前記対象物体を把持するように前記ピッキングロボットを制御し、
前記ピッキングシステムは、さらに、
前記センサが取得した画像に基づいて、前記把持部による前記対象物体の把持が成功した場合における当該対象物体を含む画像と当該対象物体の領域を示すセグメント情報とを含む画像データを学習用データセットとして収集するデータ収集部と、
前記データ収集部が収集した前記学習用データセットを教師データとする深層学習により、入力画像に含まれる対象物体の領域をピクセル単位で認識する学習モデルを構築する
第2学習部と、
を備える
、ピッキングシステム。
【請求項13】
所定の物体を認識するための機械学習に用いる学習用データセットを生成するデータセット生成方法であって、
分類に関する情報がラベル付けされた物体を含む画像データが格納された画像データベースから抽出する前記画像データに含まれる前記物体の分類を選択するクラス選択ステップと、
選択された前記分類に関する情報がラベル付けされた対象物体を含む画像データを前記画像データベースから抽出するデータ抽出ステップと、
抽出した前記画像データから前記対象物体を切り出してテンプレート画像を作成するテンプレート作成ステップと、
少なくとも一つ以上の前記テンプレート画像と当該テンプレート画像にラベル付けされた前記分類に関する情報とを含む画像データを学習用データセットとして生成するデータセット生成ステップと、を含
み、
前記データセット生成ステップは、少なくとも二つ以上の前記テンプレート画像が山積みに配置された状態の画像と当該テンプレート画像に個別にラベル付けされた前記分類に関する情報とを含む画像データを前記学習用データセットとして生成する、データセット生成方法。
【請求項14】
所定の物体を認識するための機械学習に用いる学習用データセットを生成するプログラムであって、
分類に関する情報がラベル付けされた物体を含む画像データが格納された画像データベースから抽出する前記画像データに含まれる前記物体の分類を選択するクラス選択ステップと、
選択された前記分類に関する情報がラベル付けされた対象物体を含む画像データを前記画像データベースから抽出するデータ抽出ステップと、
抽出した前記画像データから前記対象物体を切り出してテンプレート画像を作成するテンプレート作成ステップと、
少なくとも一つ以上の前記テンプレート画像と当該テンプレート画像にラベル付けされた前記分類に関する情報とを含む画像データを学習用データセットとして生成するデータセット生成ステップと、を含
み、
前記データセット生成ステップは、少なくとも二つ以上の前記テンプレート画像が山積みに配置された状態の画像と当該テンプレート画像に個別にラベル付けされた前記分類に関する情報とを含む画像データを前記学習用データセットとして生成する、プログラム。
【請求項15】
所定の物体を認識するための機械学習に用いる学習用データセットを生成するデータセット生成システムであって、
分類に関する情報がラベル付けされた物体を含む画像データが格納された画像データベースから抽出する前記画像データに含まれる前記物体の分類を選択するクラス選択部と、
選択された前記分類に関する情報がラベル付けされた対象物体を含む画像データを前記画像データベースから抽出するデータ抽出部と、
抽出した前記画像データから前記対象物体を切り出してテンプレート画像を作成するテンプレート作成部と、
少なくとも一つ以上の前記テンプレート画像と当該テンプレート画像にラベル付けされた前記分類に関する情報とを含む画像データを学習用データセットとして生成するデータセット生成部と、を備え
、
前記データセット生成部は、少なくとも二つ以上の前記テンプレート画像が山積みに配置された状態の画像と当該テンプレート画像に個別にラベル付けされた前記分類に関する情報とを含む画像データを前記学習用データセットとして生成する、データセット生成システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば学習用データセットの生成装置等に関する。
【背景技術】
【0002】
近年、物体認識用の機械学習モデルを用いて、ロボットが自律的に対象物(ワーク)を認識して、ピッキング等する技術が開発されている。また、画像を用いた物体認識においては、ニューラルネットワークを用いた学習、特に、深層学習による認識が有効であることが知られている。
【0003】
ところで、この種の機械学習を行うためには、分類等の付加情報がラベル付けされたワークの画像を含む十分な数の学習用データセットが必要である。しかしながら、インターネット等で入手可能ないわゆる公開データセットには、ラベル付けされたワークを含む所望のデータセットが十分に存在するとは限らない。
【0004】
これに対して、例えば特許文献1では、小売店に設置されたカメラが撮影した画像から商品画像を切り出して、商品認識用ニューラルネットワークの学習用データセットを生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に開示された技術では、所望の商品画像を都度撮影して入手する必要がある。また、切り出した商品画像にラベル付けする情報は、当該商品に付されたバーコードを手作業でスキャンすることにより取得しているため、所望の物体の画像を含む学習データセットを手作業を伴わずに大量に収集することは困難である。
【0007】
本発明は、上述の技術的課題を解決するためになされたものであり、その目的とするところは、バーコードをスキャンする等の手作業を伴わずに、ラベル付けされた所望の物体の画像を含む学習用データセットを生成することができる技術を提供することにある。
【課題を解決するための手段】
【0008】
上述の技術的課題は、以下の構成を有するデータセット生成装置等により解決することができる。
【0009】
すなわち、本発明に係るデータセット生成装置は、所定の物体を認識するための機械学習に用いる学習用データセットを生成するデータセット生成装置であって、分類に関する情報がラベル付けされた物体を含む画像データが格納された画像データベースから抽出する前記画像データに含まれる前記物体の分類を選択するクラス選択部と、選択された前記分類に関する情報がラベル付けされた対象物体を含む画像データを前記画像データベースから抽出するデータ抽出部と、抽出した前記画像データから前記対象物体を切り出してテンプレート画像を作成するテンプレート作成部と、少なくとも一つ以上の前記テンプレート画像と当該テンプレート画像にラベル付けされた前記分類に関する情報とを含む画像データを学習用データセットとして生成するデータセット生成部と、を備える。
【0010】
このような構成によれば、既存の画像データベースから取得可能なデータセットに基づいて、バーコードをスキャンする等の手作業を要さずに、ラベル付けされた所望の物体を含む学習用データセットを容易に生成することができる。
【0011】
前記データセット生成部は、少なくとも二つ以上の前記テンプレート画像が山積みに配置された状態の画像と当該テンプレート画像に個別にラベル付けされた前記分類に関する情報とを含む画像データを前記学習用データセットとして生成する、ものであってよい。
【0012】
このような構成によれば、既存の画像データベースから取得することが困難な所望の物体の山積み画像を容易に生成することができる。
【0013】
作成された前記テンプレート画像から、前記学習用データセットの生成に用いる前記テンプレート画像を選択するテンプレート選択部をさらに備える、ものであってよい。
【0014】
このような構成によれば、学習用データセットの生成に適した画像テンプレートを選択的に用いることができるので、ユーザのニーズにより合致する学習用データセットを生成することができる。
【0015】
前記学習用データセットの生成に用いる前記テンプレート画像を加工するテンプレート加工部をさらに備える、ものであってよい。
【0016】
このような構成によれば、一旦作成された画像テンプレートを学習用データセットの生成により適した画像に加工することができるので、ユーザのニーズにより合致する学習用データセットを生成することができる。
【0017】
前記クラス選択部は、前記所定の物体に類似する物体の分類をさらに選択する、ものであってよい。
【0018】
このような構成によれば、学習モデルに認識させたい物体だけでなく、当該物体に外観上類似する特徴を持つ物体を含む学習データセットを生成することができるので、生成した学習データセットを用いて学習させた学習モデルの汎化性能を向上させることができる。
【0019】
前記テンプレート画像の配置方法を決定するテンプレート配置部をさらに備える、ものであってよい。
【0020】
このような構成によれば、テンプレート画像が所望の位置及び姿勢に配置された学習データセットを容易に生成することができる。
【0021】
少なくとも一つ以上の前記テンプレート画像を含む画像に背景を合成する背景合成部をさらに備える、ものであってよい。
【0022】
このような構成によれば、所定の対象物体と背景との組み合わせに係る学習データセットのバリエーションを増やすことができるので、生成した学習データセットを用いて学習させた学習モデルによる誤認識の発生率を低減させることができる。
【0023】
前記学習データセットは、前記テンプレート画像が配置された領域を示すセグメント情報をさらに含む、ものであってよい。
【0024】
このような構成によれば、セグメント情報が付与された学習データセットを用いた機械学習を行うことができるので、対象物体が存在する領域をピクセル単位で認識する学習モデルを効率的に構築することができる。
【0025】
前記学習データセットは、少なくとも二つ以上の前記テンプレート画像が配置された場合は、当該テンプレート画像が配置された領域を個別に示す複数のセグメント情報を含む、ものであってよい。
【0026】
このような構成によれば、複数の対象物体を含む画像に対して、当該対象物体が存在する領域をピクセル単位で個別に認識する学習モデルを効率的に構築することができる。
【0027】
本発明に係る機械学習装置は、上述のデータセット生成装置が生成した学習用データセットを用いた機械学習装置であって、前記学習用データセットを教師データとする深層学習により、入力画像に含まれる対象物体の領域を認識する学習モデルを構築する学習部と、前記学習モデルを記憶する学習モデル記憶部とを備える、ものであってよい。
【0028】
このような構成によれば、上述のデータセット生成装置が生成した学習用データセットに基づいて学習した学習モデルを構築する機械学習装置を実現することができる。
【0029】
本発明に係る物体認識装置は、上述の機械学習装置により構築された学習モデルが記憶される学習モデル記憶部と、前記学習モデル記憶部に記憶された前記学習モデルを用いて、入力画像に含まれる対象物体の領域を認識する認識部とを備える、ものであってよい。
【0030】
このような構成によれば、上述のデータセット生成装置が生成した学習用データセットに基づいて学習した学習モデルを用いた物体認識装置を実現することができる。
【0031】
本発明に係るピッキングシステムは、上述の機械学習装置により生成された学習モデルが記憶される学習モデル記憶部と、ピッキングする対象物体を含む画像を取得するセンサと、前記学習モデル記憶部に記憶された前記学習モデルを用いて、前記センサが取得した画像に含まれる前記対象物体の領域をピクセル単位で認識する認識部と、把持部を有するピッキングロボットと、前記ピッキングロボットを制御する制御部と、を備え、前記制御部は、前記認識部が認識した前記対象物体が存在する領域に基づいて、前記把持部が前記対象物体を把持するように前記ピッキングロボットを制御する、ものであってよい。
【0032】
このような構成によれば、上述のデータセット生成装置が生成した学習用データセットに基づいて学習した学習モデルを用いたピッキングシステムを実現することができる。
【0033】
前記センサが取得した画像に基づいて、前記把持部による前記対象物体の把持が成功した場合における当該対象物体を含む画像と当該対象物体の領域を示すセグメント情報とを含む画像データを学習用データセットとして収集するデータ収集部と、前記データ収集部が収集した前記学習用データセットを教師データとする深層学習により、入力画像に含まれる対象物体の領域をピクセル単位で認識する学習モデルを構築する学習部と、をさらに備える、ものであってよい。
【0034】
このような構成によれば、例えば製造現場のライン等で行われるピッキング作業が実行される度に、当該ピッキング作業の実画像に基づいたよりリアルな学習データセットを自動的に収集することができる。また、当該学習データセットを教師データとする深層学習によって、学習モデルの認識性能をさらに高めることが可能となる。
【0035】
本発明は、方法として観念することもできる。すなわち、本発明に係る方法は、所定の物体を認識するための機械学習に用いる学習用データセットを生成するデータセット生成方法であって、分類に関する情報がラベル付けされた物体を含む画像データが格納された画像データベースから抽出する前記画像データに含まれる前記物体の分類を選択するクラス選択ステップと、選択された前記分類に関する情報がラベル付けされた対象物体を含む画像データを前記画像データベースから抽出するデータ抽出ステップと、抽出した前記画像データから前記対象物体を切り出してテンプレート画像を作成するテンプレート作成ステップと、少なくとも一つ以上の前記テンプレート画像と当該テンプレート画像にラベル付けされた前記分類に関する情報とを含む画像データを学習用データセットとして生成するデータセット生成ステップと、を含む。
【0036】
本発明は、コンピュータプログラムとして観念することもできる。すなわち、本発明に係るプログラムは、所定の物体を認識するための機械学習に用いる学習用データセットを生成するプログラムであって、分類に関する情報がラベル付けされた物体を含む画像データが格納された画像データベースから抽出する前記画像データに含まれる前記物体の分類を選択するクラス選択ステップと、選択された前記分類に関する情報がラベル付けされた対象物体を含む画像データを前記画像データベースから抽出するデータ抽出ステップと、抽出した前記画像データから前記対象物体を切り出してテンプレート画像を作成するテンプレート作成ステップと、少なくとも一つ以上の前記テンプレート画像と当該テンプレート画像にラベル付けされた前記分類に関する情報とを含む画像データを学習用データセットとして生成するデータセット生成ステップと、を含む。
【0037】
本発明は、システムとしても観念することができる。すなわち、本発明に係るシステムは、所定の物体を認識するための機械学習に用いる学習用データセットを生成するデータセット生成システムであって、分類に関する情報がラベル付けされた物体を含む画像データが格納された画像データベースから抽出する前記画像データに含まれる前記物体の分類を選択するクラス選択部と、選択された前記分類に関する情報がラベル付けされた対象物体を含む画像データを前記画像データベースから抽出するデータ抽出部と、抽出した前記画像データから前記対象物体を切り出してテンプレート画像を作成するテンプレート作成部と、少なくとも一つ以上の前記テンプレート画像と当該テンプレート画像にラベル付けされた前記分類に関する情報とを含む画像データを学習用データセットとして生成するデータセット生成部と、を備えている。
【発明の効果】
【0038】
本発明によれば、バーコードをスキャンする等の手作業を伴わずに、ラベル付けされた所望の物体の画像を含む学習用データセットを生成することができる技術を提供することができる。
【図面の簡単な説明】
【0039】
【
図1】
図1は、第1実施形態に係るデータセット生成装置の概略構成図である。
【
図2】
図2は、データセット生成装置の動作を説明するフローチャートである。
【
図3】
図3は、学習データセットの生成方法を説明する図である。
【
図4】
図4は、データセット生成部の概略構成図である。
【
図5】
図5は、データセット生成処理を説明するフローチャートである。
【
図6】
図6は、テンプレート画像を選別する方法を説明する図である。
【
図7】
図7は、生成された学習データセットを説明する図である。
【
図8】
図8は、第1実施形態の機械学習装置の概略構成図である。
【
図9】
図9は、第1実施形態のピッキングシステムの概略構成図である。
【
図10】
図10は、第1実施形態のピッキングシステムの動作を説明するフローチャートである。
【
図11】
図11は、第2実施形態のピッキングシステムの概略構成図である。
【
図12】
図12は、第2実施形態のピッキングシステムの動作を説明するフローチャートである。
【発明を実施するための形態】
【0040】
(1.第1実施形態)
(1.1 データセット生成装置)
図1は、第1実施形態に係るデータセット生成装置1の構成例を説明する図である。本実施形態のデータセット生成装置1は、インターネット回線等を介して情報通信可能に接続された画像データベース2から取得した画像データに基づいて学習用データセットを生成する。生成された学習用データセット(以下単に学習データセットという)は、いわゆる物体認識用ニューラルネットワークの学習に活用することができる。
【0041】
図1に示すとおり、本実施形態のデータセット生成装置1は、学習データセットを生成するための機能部として、クラス選択部11と、データ抽出部12と、テンプレート作成部13と、データセット生成部14と、を含んで構成される。
【0042】
データセット生成装置1は、例えば、プロセッサとしての中央演算装置(CPU)、記憶媒体としての読み出し専用メモリ(ROM)およびランダムアクセスメモリ(RAM)、入出力インタフェース(I/Oインタフェース)等がバスを介して接続されて構成された情報処理装置である。データセット生成装置1を実現する具体的な態様は特に制限されず、コントローラ、コンピュータ、或いはサーバとして実現されてよい。データセット生成装置1が備える記憶媒体には、前述の各機能部がそれぞれに有する各機能を実行するためのプログラム(制御プログラム)が格納されている。すなわち、データセット生成装置1は、記憶媒体に格納された各種プログラムを実行することによって、クラス選択部11等の各機能部の機能を実現するように構成される。なお、データセット生成装置1を構成するプロセッサおよび記憶媒体として上述した構成は例示であって、これらに加えて、或いは代えて、GPU、フラッシュメモリ、ハードディスク、ストレージ等を含んでもよい。また、上述の各機能部の機能は、必ずしも一つのコントローラ、コンピュータ、或いはサーバのみによって実現される必要はなく、機能部毎に適宜選択された複数のコントローラ等がそれぞれ、或いは協調することによって実現されるように構成されてもよい。
【0043】
画像データベース2は、インターネット回線等を介して有償又は無償で画像データをダウンロードすることができる公知の画像データベースである。画像データベース2には、物体の分類や位置等に関する付加的な情報(アノテーション)が付与された画像データが機械学習用の画像データセットとして膨大に(例えば数千万枚)格納されている。また、これらの画像データは、分類等に関する情報を指標に検索できるように格納されている。なお、画像データベース2は、必ずしもインターネット回線等を介して画像データを提供可能に構成される必要はない。画像データベース2は、格納された画像データをデータセット生成装置1に提供可能に構成される限り、ハードディスク等の記憶媒体に記憶されたデータ群のことを示す概念であってもよい。なお以下では、物体の分類(種類)等に関する情報を「クラス」あるいは「クラス情報」とも称する。また、アノテーションが付与された物体のことを「ラベル付けされた物体」とも称する。画像データベース2に格納されている画像データの具体例については
図3(a)を参照して後述する。
【0044】
次に、データセット生成装置1の各機能部について説明する。
【0045】
クラス選択部11は、画像データベース2から抽出する画像データに含まれる物体のクラスを選択する。本実施形態のクラス選択部11が選択するクラスは、後述する機械学習装置10が生成する学習モデルに認識させたい物体のクラスであってよく、例えばデータセット生成装置1を操作するユーザから不図示の入力手段を介して設定されるように構成されてよい。なお、選択されるクラスの分類の細かさは、画像データベース2に格納された画像データにラベル付けされたクラスと概ね一致することを前提に、生成する画像データセットを用いて学習させたい物体の内容の細かさに応じて適宜設定されてよい。例えば、クラス選択部11は、「本」という分類をクラスとして選択してもよいし、これの下位概念である「雑誌」、「コミック」、「辞書」といったより細かい分類をクラスとして選択してもよい。また、色の指定や傷の有り無し等といったさらに細かい分類情報が付加されたクラス(例えば「赤い本」等)が選択されてもよい。
【0046】
また、クラス選択部11は、ユーザが設定したクラスに類似するクラスをさらに選択してもよい。類似の範囲は、設定されたクラスに係る物体の形状および色に関する外観上の特徴から判断されてもよいし、設定されたクラスの名称から判断されてもよい。具体的には、クラス選択部11は、例えばユーザが設定したクラスと一致するクラスがラベル付けされた物体から検出したヒストグラムに基づいて、当該クラスに類似するヒストグラムを有するクラスを選択するように構成されてもよい。また、クラス選択部11は、例えばユーザが設定したクラスの名称から推定される類似クラスを選択するように構成されてもよい。この場合、例えば「リンゴ」というクラスが設定された場合に、「桃」や「トマト」が類似するクラスとして選択されてもよい。
【0047】
このように、後述する機械学習装置10が構築する学習モデルに認識させたい物体と完全に一致する物体だけでなく、当該物体に外観上類似する特徴を持つ物体のクラスも選択されることによって、データセット生成装置1が生成する学習データセットのバリエーションを増やすことができる。このようにして生成された幅広い形状パターンの物体を含む学習データセットを用いて学習させることによって、構築される学習モデルの汎化性能を向上させることができる。
【0048】
データ抽出部12は、クラス選択部11が選択したクラスがラベル付けされた物体(以下、これを「対象物体」と称する)を含む画像データを画像データベース2から抽出する。具体的には、本実施形態のデータ抽出部12は、有線又は無線通信を介して、少なくとも一つの対象物体を含む画像データを画像データベース2からダウンロードする。
【0049】
テンプレート作成部13は、データ抽出部12が抽出した画像データから対象物体を切り出してテンプレート画像を作成する。テンプレート画像の具体例については、
図3(b)を参照して後述する。
【0050】
データセット生成部14は、テンプレート作成部13が作成したテンプレート画像を用いて、少なくとも一つ以上の対象物体が配置された画像を学習データセットとして生成する。学習データセットの具体例については、
図3(c)、(d)を参照して後述する。そして、データセット生成部14は、生成した一又は複数の学習データセットをデータセット生成装置1に備わる不図示の記憶媒体に記憶してもよいし、図示するように出力して、外部の記憶媒体に記憶してもよい。なお、ここで生成される学習データセットとは、ニューラルネットワークの機械学習に活用可能であって、少なくともクラスがラベル付けされた物体の画像を含む一又は複数の画像データと定義されてよい。
【0051】
以上が本実施形態のデータセット生成装置1の構成の詳細である。以下では、
図2及び
図3を参照して、データセット生成装置1の動作について説明する。
【0052】
図2は、データセット生成装置1が実行するデータセット生成処理に関するゼネラルフローチャートである。データセット生成装置1が備える記憶媒体には、図示のフローチャートを参照して以下に説明する処理を実行する制御プログラムが格納されている。
【0053】
同図から明らかなように、処理が開始すると、データセット生成装置1(クラス選択部11)は、画像データベース2から抽出したい物体のクラスを選択する(S11)。ここで選択されるクラスは、データセット生成装置1と無線又は有線にて情報通信可能に接続された不図示のユーザインターフェースを介して入力されたユーザが所望するクラス情報に応じて選択されてよい。
【0054】
クラスが選択されると、データ抽出部12は、画像データベース2に格納された画像データ群を参照して(S12)、選択したクラスに該当する物体を含む画像データを抽出する(S13)。抽出する画像データの量は適宜設定されてよい。画像データベース2から取得される画像データ例について、
図3を参照して説明する。
【0055】
図3は、学習データセットの生成方法を説明するための図である。
図3(a)は、画像データベース2から抽出された画像の一例を示す。ここで例示する画像には、クラスとしてトマトがラベル付けされた物体が複数(A~C)含まれている。すなわち、
図3(a)の画像は、クラス選択部11がトマトのクラスを選択した場合に画像データベース2から抽出される画像の一例である。図示するとおり、抽出された画像は、選択したクラスに一致するトマトを含む。なお、画像中には6個のトマトが含まれているが、全てのトマトにトマトのクラスが個別にラベル付けされているとは限らない。データ抽出部12が抽出する画像は、個別にラベル付けされた対象物体が少なくとも一つ以上含まれていればよい。
【0056】
選択したクラスに係る対象物体を含む画像が抽出されると、テンプレート作成部13は、抽出した画像から対象物体だけを切り出してテンプレート画像を作成する(S14)。
【0057】
図3(b)は、作成されたテンプレート画像を説明する図である。本実施形態のテンプレート作成部13は、
図3(a)の画像から「トマト」のクラスがラベル付けされたトマトA~Cに係る対象物体を図示するように切り出す。この時、
図3(a)にかかる画像データには、対象物体のクラスだけでなく、対象物体の領域に関する情報もアノテーションデータとして含まれている必要がある。本例においては、当該画像データには、対象物体を外縁に沿って分割可能な情報として、対象物体が存在する領域をピクセル単位で示す情報(セグメント情報)が含まれている。なお、セグメント情報とは、例えば対象物体の画像中におけるピクセル単位の座標情報であってよい。これにより、テンプレート作成部13は、画像データベース2から抽出した画像に含まれるアノテーションデータに基づいて、選択されたクラスに係る対象物体を外縁に沿って切り出すことが可能となる。なお、対象物体の領域に関するアノテーションデータは必ずしもセグメントである必要はなく、対象物体を矩形で囲むいわゆるバウンディングボックスであってもよい。
【0058】
テンプレート画像が作成されると(S14)、データセット生成部14は、少なくとも一つ以上のテンプレート画像を含む画像データを学習データセットとして生成する(S15)。
【0059】
図3(c)、(d)は、生成される学習データセットを説明する図である。
図3(c)はデータセット生成部14が作成した画像である。
図3(c)の上の画像は、データセット生成部14がトマトAのテンプレート画像を複数配置した画像を示し、
図3(c)の下の画像は、データセット生成部14がトマトA~Cのテンプレート画像をランダムに複数配置した画像を示している。また、
図3(d)の上下の画像は、データセット生成部14が作成するアノテーションデータを示す画像であって、
図3(c)の上下の画像にそれぞれ含まれる各対象物体の配置に対応する領域がセグメントで示されている。このように、データセット生成部14は、前段の処理で切り出したテンプレート画像に基づいて、少なくとも一つ以上の対象物体を含む画像と、当該画像に対応するアノテーションデータを作成することにより、少なくとも対象物体のクラスと領域とに関するアノテーションデータを含む画像を学習データセットとして生成することができる。
【0060】
また、
図3(c)、(d)に示されるように、データセット生成部14は、一画像に少なくとも二つ以上の対象物体を配置し、且つ、少なくとも一つの対象物体が他の対象物体の少なくとも一部に重なるように配置することにより、複数の対象物体が山積みにされた状態を模擬した画像を学習データセットとして生成してもよい。
【0061】
なお、画像データベース2等に格納されている既存の画像データセットにおいて、個別にラベル付けされた物体が山積みされた状態の画像は希少であり、当該物体を単独で含む画像に比べて非常に少ない。このため、従来は所望の物体が山積みされた状態の学習データセットを収集することは非常に困難であった。これに対して、本実施形態のデータセット生成装置1によれば、ラベル付きの物体を少なくとも一つ含む画像データがあれば、当該物体のテンプレート画像を作成するとともに、複数のテンプレート画像を山積みに配置することによって、所望の物体が山積みにされた画像に係る学習データセットを容易に、大量に生成することも可能である。なお、データセット生成装置1は、複数の画像テンプレートを互いに重ならないように配置することにより、対象物体が、山積みではなく、平面上に単に複数配置された画像を学習データセットとして生成してもよい。
【0062】
以上が
図2で示すデータセット生成処理の詳細である。このように、本実施形態のデータセット生成装置1によれば、所望の物体のクラス情報を与えることにより、所望の物体の画像を含む学習データセットを自動的に大量に生成することが可能となる。さらに、本実施形態のデータセット生成部14は、作成した一又は複数のテンプレート画像を単に配置するだけでなく、以下に説明するような機能部をさらに備えて、より多様な学習データセットを生成可能に構成されてもよい。
【0063】
図4は、本実施形態のデータセット生成部14の構成例を示す図である。図示するように、データセット生成部14は、テンプレート選択部141、テンプレート加工部142、テンプレート配置部143、及び背景合成部144、の少なくとも一機能部を更に有してもよい。
【0064】
テンプレート選択部141は、テンプレート作成部13が作成した複数のテンプレート画像から、学習データセットの生成に用いるテンプレート画像を選択する。画像データベース2から抽出した画像に含まれる対象物体を単に切り出しただけでは、深層学習の効率性の観点から、学習データセットを生成するのに適していないテンプレート画像も含まれ得る。例えば、切り出されたテンプレート画像には、ノイズを含むもの、対象物体の一部が欠けているもの、解像度が低いもの、ラベル付けが誤っていることにより選択したクラスと実質的に異なるもの、等が含まれ得る。従って、テンプレート選択部141は、テンプレート画像の色、形状、解像度などに基づいて、学習データセットの生成に用いるのに望ましいテンプレート画像を選別する。学習データセットの生成に用いるか否かの判断基準(閾値)は、生成する学習データセットを用いた学習に求める効率性等のユーザのニーズに応じて適宜設定されてよい。これにより、データセット生成部14は、学習データセットを生成するのに適したテンプレート画像に基づいて、ユーザのニーズにより合致する学習データセットを生成することができる。
【0065】
テンプレート加工部142は、ユーザのニーズにより合致する学習データセットを生成するために、テンプレート作成部13が作成したテンプレート画像を加工する。画像データベース2に格納されている画像は、上述したようにノイズを含んでいたり、対象物体の一部に穴が開いていたりする場合がある。また、カメラの種類や撮影環境等、様々な条件で撮影された画像が混在しているため、対象物体の色や明るさ、サイズ等にばらつきがあり、必ずしもユーザにとって望ましい画像を十分に収集できるとは限らない。従って、テンプレート加工部142は、テンプレート画像の色調補正、ノイズ除去、穴埋め処理(欠けた部分を埋める処理も含む)、サイズ調整等にかかる画像加工をいずれか一つ以上実行する。また、色調補正等の単純な画像加工手法ではなく、対象物体のクラスに類似した特徴を付与して画像を加工するGAN(Generative Adversarial Networks)などの画像生成技術を適用してテンプレート画像を加工してもよい。これにより、テンプレート画像をより望ましい状態に修正することができるので、ユーザのニーズにより合致する学習データセットを生成することが可能になる。なお、
図1に示すクラス選択部11は、テンプレート加工部142がGAN等の画像生成技術を適用してテンプレート画像を加工することを前提に、ユーザが所望するクラスに類似する周辺のクラスを積極的に選択するように構成されてもよい。
【0066】
なお、テンプレート作成部13が作成したテンプレート画像に学習データセットの生成に適していない画像が含まれていた場合には、テンプレート選択部141の選別機能およびテンプレート加工部142の加工機能のいずれか一方を活用してもよいし、相補的に活用してもよい。例えば、学習データセットの生成に適していないテンプレート画像は、テンプレート選択部141によって除外されてもよいし、テンプレート加工部142によって望ましい状態に修正されてもよい。また、テンプレート選択部141は、テンプレート加工部142によって修正される程度を考慮して、テンプレート画像を学習データセットの生成に用いるか否かについてより甘く判断するように構成されてもよい。
【0067】
テンプレート配置部143は、テンプレート画像の配置方法を決定する。生成した学習データセットを用いて学習した学習モデルは様々な用途に適用され得るため、学習データセットにおける対象物体の配置についてのユーザの需要も様々である。具体的には、学習データセットにおける対象物体の配置状態が、山積みか、平積みか、所定条件に基づく整列状態か、或いはランダムでよいのか等、ワークの配置や向きに対する様々なニーズがある。このような事情を鑑み、テンプレート配置部143は、テンプレート画像をどのように配置するか決定する。また、テンプレート配置部143は、テンプレート画像を山積みに配置する等、テンプレート画像を他のテンプレート画像の上に重ねて配置する場合には、いわゆる透視投影画像の原理を考慮して、上に重ねたテンプレート画像を重ねられた側のテンプレート画像より大きくする等のサイズ調整を行ってもよい。なお、テンプレート画像143は、ユーザが設定する配置方法に従って決定してもよいし、対象物体の流通段階や、製造工程等におけるラインでの一般的な配置のされ方に関する実情に基づいて決定してもよい。これにより、テンプレート配置部143は、テンプレート画像が所望の状態に配置された学習データセットを容易に生成することができる。
【0068】
背景合成部144は、テンプレート画像を配置した画像に背景を合成する。生成した学習データセットを用いて学習させた学習モデルが例えば後述の物体認識装置20等に適用された場合、物体認識装置20が認識する対象物体の背景には何が映り込むか分からないので、背景に起因するノイズによって対象物体を誤認識してしまう懸念がある。従って、背景合成部144は、一又は複数のテンプレート画像が配置された画像に様々な背景を合成する。これにより、所定の対象物体と背景との組み合わせに係る学習データセットのバリエーションを増やすことができるので、生成した学習データセットを用いて学習させた学習モデルによる誤認識の発生率を低減させることができる。
【0069】
続いて、
図5~7を参照して、上述したテンプレート選択部141等の各機能部の機能を使用した場合のデータセット生成部14の動作について説明する。
【0070】
図5は、データセット生成装置1が実行するデータセット生成処理であって、特に、
図4に示す各機能部の機能を使用する場合のフローチャートである。データセット生成装置1が備える記憶媒体には、図示のフローチャートを参照して以下に説明する処理を実行する制御プログラムが格納されてよい。
【0071】
同図から明らかなように、データセット生成処理(
図2、S15)が開始すると、テンプレート選択部11は、作成されたテンプレート画像から学習データセットを生成するために使用するテンプレート画像を選択する(S151)。ここでの選択方法の一例について、
図6を参照して説明する。
【0072】
図6は、テンプレート画像を選別する方法を説明する図である。
図6(a)、(b)に示されているのは、テンプレート作成部14が作成したテンプレート画像であって、クラス情報として「リンゴ」がラベル付けされた画像である。画像データベース2に格納された既存の画像データには、上述したように様々な状態の物体に同じクラスのラベル付けがされ得る。従って、画像データベース2から抽出された画像に基づいてテンプレート画像が作成された時点(S14)では、図中のリンゴBのようにリンゴ全体がきれいに切り出された画像だけでなく、リンゴAのように大きく欠けた部分のある状態のリンゴの画像も含まれ得る。
【0073】
従って、本実施形態のテンプレート選択部141は、例えば対象物体の欠け具合(全体に対する欠けた部分の割合)に応じて学習データセットの生成に使用するテンプレート画像を選択してもよい。これにより、テンプレート選択部141は、
図6(a)に示すリンゴAを含む画像群をNGなテンプレート画像として除外し、
図6(b)に示すリンゴBを含む画像群は学習データセットの生成に用いる正常なテンプレート画像として選択することができる。なお、テンプレート選択部141は、テンプレート画像の形状だけでなく、テンプレート画像の解像度や色等、何を指標として選別するかについては適宜設定されてよい。また、各指標において選別する際に、除外するか使用するかの境目となる閾値についても目的に応じて適宜設定されてよい。
【0074】
さらに、テンプレート加工部142は、選択されたテンプレート画像に修正が必要な場合には、テンプレート画像の色調補正、ノイズ除去、穴埋め処理(欠けた部分を埋める処理も含む)、サイズ調整、或いはGAN等にかかる画像加工をいずれか一つ以上実行してもよい(S152)。
【0075】
学習データセットの生成に用いるテンプレート画像が確定すると、テンプレート配置部143は、テンプレート画像の配置を決定するとともに(S153)、決定した配置方法に従ってテンプレート画像を配置した画像を生成する(S154)。一例として、本実施形態では、対象物体をランダムな山積み状態に配置するものとする。テンプレート画像が山積み状態に配置されると、テンプレート画像が配置された画像に背景合成部144が背景を合成して(S155)、学習データセットが生成される。
【0076】
図7は、生成された学習データセットを説明する図である。データセット生成装置1は、上述のデータセット生成処理を実行することによって、例えばランダムな山積み状態に配置された複数のリンゴBに、山脈の風景のような背景Cが合成された学習データセットを自動的に生成することができる。
【0077】
以上が本実施形態のデータセット生成部1が実行するデータセット生成処理の詳細である。これにより、データセット生成装置1は、ユーザーが所望する態様の学習データセットを自動的に大量に生成することができる。なお、
図5で示すフローチャートは本実施形態のデータセット生成処理を説明するための例示であって、必ずしも図示するとおりの順序に実行されることを制限するものではなく、上述の技術的効果を奏する限り適宜変更されてもよい。
【0078】
続いて、上述のデータセット生成装置1が生成した学習データセットを用いた機械学習装置10について説明する。
【0079】
(1.2 機械学習装置)
図8は、一実施形態の機械学習装置10を説明する概略構成図である。機械学習装置10は、学習部101と、学習モデル記憶部102とを備える。機械学習装置10は、例えば、プロセッサとしての中央演算装置(CPU)、記憶媒体としての読み出し専用メモリ(ROM)およびランダムアクセスメモリ(RAM)、入出力インタフェース(I/Oインタフェース)等がバスを介して接続されて構成される情報処理装置である。機械学習装置10が実現される具体的な態様は特に制限されず、コントローラ、コンピュータ、或いはサーバとして実現されてよい。機械学習装置10が備える記憶媒体には、後述する各機能部がそれぞれに有する各機能を実行するためのプログラム(制御プログラム)が格納されている。
【0080】
学習部101は、入力される学習用データセットを教師データとする深層学習(Deep learning)を行い、画像に含まれる対象物体を自動的に認識する学習モデルを構築する。学習部101が構築する学習モデルは、例えばカメラで撮影された画像(動画も含む)が入力された場合に、当該画像(入力画像)に含まれる対象物体ごとの領域をピクセル単位で分割して認識するいわゆるセグメンテーションを行うモデルとして構築される。また、当該学習モデルは、入力画像から対象物体のセグメントを分割して認識するとともに、さらに、認識した対象物体のテンプレート画像を生成して出力する学習モデルとして構築されてもよい。
【0081】
学習部101が構築する学習モデルのアーキテクチャはニューラルネットワークであってよい。より詳細には、当該学習モデルは、機械学習手法としての深層学習が適用可能なように、画像データが入力される入力層と、対象物体のセグメント情報等を含む物体認識に関する情報を出力する出力層と、ニューラルネットワークから構成される複数の中間層とを備えてもよい。また、当該学習モデルは、ニューラルネットワークの重みパラメータを含んでよい。ただし、学習部101が構築する学習モデルのアルゴリズムは、入力画像から対象物体のセグメントを分割して認識することができるものであればどのような機械学習手法が用いられてもよい。
【0082】
なお、学習部101が構築する学習モデルは、学習済みモデル、ニューラルネットワークシステム、識別機、或いは分類器等と称されてもよい。
【0083】
学習モデル記憶部102は、学習部101が構築した学習モデルを記憶する。学習モデル記憶部102は、機械学習装置10が備える記憶媒体における所定のメモリ領域であってもよいし、機械学習装置10とインターネットを介して接続されるクラウド上のメモリ領域であってもよい。また、学習モデル記憶部102は、機械学習装置10と情報通信可能に接続されるハードディスク等の外部記憶装置により構成されてもよい。学習モデル記憶部102に記憶された学習モデルは、当該学習モデルを用いて所定の物体を認識するためのデバイス(物体認識装置20等)に適用することができる。
【0084】
(1.3 ピッキングシステム)
図9は、学習部101が構築した学習モデルが適用されるピッキングシステム100の概略構成図である。本実施形態のピッキングシステム100は、ロボット制御装置30と、センサ4と、ピッキングロボット110とを含んで構成される。
【0085】
ロボット制御装置30は、センサ4から取得される画像に基づいてピッキングロボット110を制御する。ロボット制御装置30は、学習モデル記憶部103と、認識部21と、ロボット制御部31と、を備える。ロボット制御装置30は、例えば、プロセッサとしての中央演算装置(CPU)、記憶媒体としての読み出し専用メモリ(ROM)およびランダムアクセスメモリ(RAM)、入出力インタフェース(I/Oインタフェース)等がバスを介して接続されて構成される情報処理装置である。ロボット制御装置30は、いわゆるコントローラ、コンピュータ、或いはサーバとして実現されてよい。ロボット制御装置30が備える記憶媒体には、前述の各機能部がそれぞれに有する各機能を実行するためのプログラム(制御プログラム)が格納される。なお、上述の各機能部の機能は必ずしも一つのコントローラ、コンピュータ、或いはサーバのみによって実現される必要はなく、機能部毎に適宜選択された複数のコントローラ等がそれぞれ、或いは協調することによって実現されるように構成されてもよい。また、ロボット制御装置30は、ピッキングロボット110と一体的に構成されてもよい。
【0086】
学習モデル記憶部103は、上述した学習部101が構築した学習モデルを記憶する。学習モデル記憶部103は、上述の学習モデル記憶部102と同様に、ロボット制御装置30が備える記憶媒体における所定のメモリ領域であってもよいし、ロボット制御装置30とインターネットを介して接続されるクラウド上のメモリ領域であってもよい。また、学習モデル記憶部103は、ロボット制御装置30と情報通信可能に接続されるハードディスク等の外部記憶装置により構成されてもよい。
【0087】
認識部21は、後述するセンサ4が取得した画像を入力し、学習モデル記憶部103に記憶された学習モデルを用いて、入力画像に含まれる対象物体の領域をピクセル単位で認識する認識処理を実行する。そして、認識部21は、認識した対象物体のピクセル単位での領域(セグメント)に基づいて、当該対象物体の適切な把持位置を算出する。適切な把持位置を算出する手法は公知の手法であってよく、後述の把持機構の形状および機能に応じて適宜選択されてよい。なお、入力画像に複数の対象物体が含まれている場合には、当該対象物体ごとのセグメントが個別に認識される。
【0088】
ロボット制御部31は、認識部21が認識した対象物体のセグメントに基づいて、対象物体を把持するようにピッキングロボット110の動作を制御する。より具体的には、本実施形態のロボット制御部31は、ピッキングロボット110の動作機構駆動手段として機能する不図示のサーボモータやアクチュエータ等を制御することによってピッキングロボット110に備わる把持機構(把持部111)を動かし、認識部21が認識した対象物体をピッキングする。
【0089】
センサ4は、一般的なイメージセンサであってよく、例えば3Dカメラ等で構成される。センサ4は、ピッキングシステム100によってピッキングしたい対象物体を少なくとも含む画像(動画も含む)を取得して、認識部21に出力する。センサ4は、ピッキングする対象物体を撮影可能な場所に設置されていればよく、例えば図示するようにピッキングロボット110が備える把持機構の付け根付近に設けられてもよい。
【0090】
ピッキングロボット110は、対象物体をピッキングする。本実施形態のピッキングロボット110は、マニピュレータ機構を有し、対象物体を把持するための把持機構として把持部111を備える。本実施形態においては、把持部111として機能するグリッパが自由端に相当する先端に設けられている。また、ピッキングロボット110は、対象物体をピッキングする処理(ピッキング処理)を実行するための動作機構駆動手段として機能する不図示のサーボモータやアクチュエータ等を備える。
【0091】
なお、ピッキングロボット110およびその把持機構である把持部111の形状は図示する態様に制限されず目的に応じて適宜変更されてよい。
【0092】
以上が、本実施形態のピッキングシステム100の構成例である。なお、
図9では省略されているが、ピッキングロボット110は、ピッキングロボット110の動作を制御するのに必要となる他の構成、例えば、電力源となるバッテリや、外部装置との間の通信を行う通信ユニット等を備えてもよい。また、ロボット制御装置30は、必ずしも上述のピッキングロボット110を制御するシステムに適用されることを前提としない。ロボット制御装置30は、学習モデルを用いて所定の物体を認識する機能と、認識した当該物体に対して所定の動作を行うロボットとを必要とする他のシステムに適用されてもよい。また、ロボット制御装置30に備わる学習モデル記憶部103と認識部21とによって物体認識装置20を構成することもできる。物体認識装置20は、上述のピッキングシステム100に適用されることを必ずしも前提とせず、上述の学習モデルを用いて所定の物体を認識する機能を必要とする他のシステムに適用されてもよい。
【0093】
次に、
図10を参照して、ピッキングシステム100の動作について説明する。
【0094】
図10は、ピッキングシステム100の動作に関するゼネラルフローチャートである。ロボット制御装置30が備える記憶媒体には、図示のフローチャートを参照して以下に説明する処理(ピッキング制御処理)を実行する制御プログラムが格納されている。
【0095】
同図から明らかなように、処理が開始すると、ロボット制御装置30は、学習モデル記憶部103から学習モデルを読み込み(S21)、当該学習モデルを使用可能な状態にする。この状態で、認識部21は、センサ4からの撮像画像を取得して(S22)、対象物体のセグメントを認識するとともに、当該対象物体の適切な把持位置を算出する(S23)。
【0096】
そして、ロボット制御部31は、認識部21により把握された対象物体のセグメントと、当該セグメントに対する適切な把持位置に関する情報とに基づいて、対象物体を把持するピッキング処理を実行する(S24)。全ての対象物体に対するピッキング処理が完了すると(S25YES)、本フローに係るピッキング制御処理は終了する。
【0097】
以上が第1実施形態のピッキングシステム100が実行するピッキング制御処理の詳細である。このように、データセット生成装置1が生成した学習データセットを用いて所望の物体を認識可能な学習モデルを構築することにより、所望の対象物体を適切にピッキングすることができるシステムを構成することが可能となる。なお、
図10で示すフローチャートは本実施形態のピッキング制御処理を説明するための例示であって、必ずしも図示するとおりに実行されることを制限するものではない。
【0098】
(2.第2実施形態)
(2.1 ピッキングシステム)
以下、第2実施形態のピッキングシステム200について説明する。
【0099】
図11は、第2実施形態のピッキングシステム200の概略構成図である。ピッキングシステム200は、ロボット制御部30が、学習部104と、データ収集部32と、収集データセット記憶部33とをさらに有する点がピッキングシステム100と主に相違する。以下、
図11~
図12を参照して、本実施形態のピッキングシステム200の構成及び動作について説明する。ただし、
図9~
図10を参照して上述したピッキングシステム100と同様の構成及び処理については同じ符号を付して説明を省略する。
【0100】
学習部104は、上述の学習部101と同様に、入力される学習用データセットを教師データとする深層学習(Deep learning)を行い、画像に含まれる対象物体の領域を自動的に認識する学習モデルを構築する。ただし、本実施形態の学習部104は、データセット生成装置1が生成した学習データセットに加えて、ピッキングロボット110による実際のピッキング動作(把持動作)の撮影画像に基づいて作成された学習データセットに基づいてさらに学習するように構成される。
【0101】
データ収集部32は、学習データセットを生成するためのデータとして、ピッキングロボット110によるピッキング動作に関連するデータを収集する。ピッキング動作に関連するデータには以下のようなデータが含まれてよい。すなわち、本実施形態のデータ収集部32は、センサ4が撮影した対象物体を含む画像データ、当該画像データに基づいて認識部21が認識した対象物体のセグメントに関する情報、当該セグメントに基づいて把持部111が対象物体のどの位置を把持したかに関する情報、そして、把持部111による対象物体の把持は成功したか否か、等に関する情報を収集する。
【0102】
これにより、データ収集部32は、センサ4が撮影した画像に基づき、把持部111による対象物体の把持に成功した場合における当該対象物体を含む画像と、当該対象物体のセグメントに関する情報とを含む画像データを学習データセットとして収集することが可能となる。収集された学習データセットは、学習部104に直接出力されてもよいし、収集データセット記憶部33に記憶されてもよい。
【0103】
収集データセット記憶部33には、データ収集部32が収集した学習データセットが記憶される。記憶された学習データセットは、学習部104が学習を行う任意のタイミング(
図12、S34参照)で学習部104に出力される。
【0104】
以下、
図12を参照して、本実施形態のピッキングシステム200の動作について説明する。
【0105】
図12は、ピッキングシステム200の動作に関するゼネラルフローチャートである。ロボット制御装置30が備える記憶媒体には、図示のフローチャートを参照して以下に説明する処理(学習モデル更新処理)を実行する制御プログラムが格納されている。なお、
図10を参照して上述した処理(S21~S25)と同様の処理については同じ符号を付して説明を省略する。
【0106】
上述のピッキング処理が実行されると(S24)、データ収集部32が把持動作に関するデータを収集するか否か判断される(S31)。データを収集する場合には(S31YES)、データ収集部32は、センサ4が取得した画像に基づいて生成された学習データセットを収集して(S32)、収集データセット記憶部33に格納する(S33)。なお、データ収集しない場合には(S31NO)、ピッキングシステム100と同様のピッキング制御処理が引き続き実行される。
【0107】
そして、収集された学習データセットを用いて学習モデルの学習を行う場合には(S34YES)、学習部104は、データ収集部32が収集した学習用データセットを教師データとする深層学習により、入力画像に含まれる対象物体のセグメントを認識する学習モデルを構築して(S35)、学習モデル記憶部103に格納されている学習モデルを更新する(S36)。これにより、ピッキングシステム200による対象物体のピッキング作業を重ねるにつれて増える学習データセットに基づいて学習モデルを学習させることができる。その結果、学習モデル記憶部103に記憶される学習モデルの認識性能をさらに向上させることができるとともに、対象物体に対するピッキング動作の正確性をより向上させることが可能となる。
【0108】
以上が第2実施形態にて実行される学習モデル更新処理の詳細である。ただし、
図10で示すフローチャートは例示であって、必ずしも図示するとおりに実行されることを制限するものではなく、上述の技術的効果を奏する限り適宜変更されてもよい。また、上述したように、ロボット制御装置30は、必ずしも一つのコントローラ等で構成される必要はないので、
図12に示すフローチャートを用いて説明した各処理は、複数のコントローラ、又はサーバ等が適宜必要な情報を互いに送受信しながら協調することにより実現されてもよい。
【0109】
以上が第2実施形態のピッキングシステム200の詳細である。本実施形態のピッキングシステム200によれば、例えば製造現場のライン等で行われるピッキング作業が実行される度に当該ピッキング作業の実画像に基づく学習データセットを自動的に生成することができる。また、このように生成された学習データセットに基づく学習モデルの学習が都度実行されることにより、ピッキングシステム200によるピッキング作業が実行されるのに応じて、物体認識用の学習モデルの認識性能をさらに高めることができる。なお、本実施形態において、追加学習はピッキング作業が実行される度に行われるものとして説明したが(オンライン学習)、そのような構成に限定されない。従って、例えば、所定のデータを蓄積した後に学習を行うバッチ学習乃至ミニバッチ学習を行うものとして構成してもよい。
【0110】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【0111】
例えば、機械学習装置10が構築する学習モデルはデータの集合であるため、上述した学習モデル記憶部102、103は、インターネットのクラウド上に構成されるとともに、格納された学習モデルをネットワークを介して複数のロボット制御装置30と共有するように構成することもできる。このように構成することにより、例えば共有した学習モデルに基づいて、複数のピッキングシステム200のそれぞれが並行して学習データセットを生成することも可能である。なお、学習モデルの共有の方法については特に制限されない。例えば、製造工場のホストコンピュータ内に格納された学習モデルを、当該製造工場内の各ロボット制御装置30と共有してもよいし、メーカが設置したサーバ内に格納された学習モデルを、各地に散らばる自社、又は顧客の工場に設置されたロボット制御装置30と共有するように構成することも可能である。
【産業上の利用可能性】
【0112】
本発明は、少なくともデータセット生成装置を製造する産業において利用可能である。
【符号の説明】
【0113】
1 データセット生成装置
2 画像データベース
4 センサ
10 機械学習装置
11 クラス選択部
12 データ抽出部
13 テンプレート作成部
14 データセット生成部
20 物体認識装置
21 認識部
31 ロボット制御部(制御部)
100、200 ピッキングシステム
101、104 学習部
102、103 学習モデル記憶部
110 ピッキングロボット
111 把持部