(57)【特許請求の範囲】
【請求項１】
物体を被写体として含む画像と、当該物体における把持位置を示す把持位置情報とが入力され、前記物体に対する把持の可否を示す可否情報を生成する分別部と、
前記物体を被写体として含む画像が少なくとも入力され、当該物体における把持位置を示す把持位置情報を生成する生成部と、
を備え、
前記生成部は、当該生成部が生成した把持位置情報を前記分別部に入力した場合に、前記分別部が生成する可否情報が把持可能を示すように学習されたものである、情報処理装置。
【請求項２】
前記分別部は、前記生成部が生成する把持位置情報とは異なる把持位置情報を含む第１の教師データを少なくとも用いて学習されたものである、
請求項１に記載の情報処理装置。
【請求項３】
予め設定された離散的な複数の把持位置候補を統合することによって１又は複数の把持領域を生成し、生成した把持領域を参照して、前記第１の教師データを生成する第１の教師データ生成部を備えている、
請求項２に記載の情報処理装置。
【請求項４】
物体を被写体として含む画像と、当該物体における把持位置を示す把持位置情報とが入力され、前記物体に対する把持の可否を示す可否情報を生成する分別部と、
前記物体を被写体として含む画像が少なくとも入力され、当該物体における把持位置を示す把持位置情報を生成する生成部と、
を備え、
前記分別部は、前記生成部が生成する把持位置情報とは異なる把持位置情報を含む第１の教師データを少なくとも用いて学習されたものであり、
当該情報処理装置は、予め設定された離散的な複数の把持位置候補を統合することによって１又は複数の把持領域を生成し、生成した把持領域を参照して、前記第１の教師データを生成する第１の教師データ生成部を備えている、情報処理装置。
【請求項５】
前記第１の教師データ生成部は、
把持位置をランダムに生成し、
生成した把持位置と前記把持領域との重複の度合いに応じて、把持の可否を示す可否情報を生成し、
生成した前記把持位置と前記可否情報とを含む前記第１の教師データを生成する、
請求項３又は４に記載の情報処理装置。
【請求項６】
前記第１の教師データ生成部は、
前記予め設定された離散的な複数の把持位置候補を統合し、統合した把持位置候補を拡張することによって前記１又は複数の把持領域を生成する、
請求項３から５の何れか１項に記載の情報処理装置。
【請求項７】
前記分別部は、前記生成部が生成した把持位置情報を含む第２の教師データを少なくとも用いて学習されたものである
請求項１から６の何れか１項に記載の情報処理装置。
【請求項８】
前記生成部が生成した前記把持位置情報と、当該把持位置情報を用いた実際の把持動作による把持の可否を示す可否情報とを含む前記第２の教師データを生成する第２の教師データ生成部を備えている、
請求項７に記載の情報処理装置。
【請求項９】
前記生成部には、前記物体を被写体として含む画像と、ノイズを表すノイズパラメータとが入力される、
請求項１から８の何れか１項に記載の情報処理装置。
【請求項１０】
情報処理装置が実行する情報処理方法であって、
物体を被写体として含む画像が少なくとも入力され、当該物体における把持位置を示す把持位置情報を生成する生成工程と、
前記物体を被写体として含む画像と、前記生成工程で生成した把持位置情報とが入力され、前記物体に対する把持の可否を示す可否情報を生成する分別工程と、
を含み、
前記生成工程は、当該生成工程が生成した把持位置情報を前記分別工程に入力した場合に、前記分別工程が生成する可否情報が把持可能を示すように学習された工程である、情報処理方法。
【請求項１１】
情報処理装置が実行する情報処理方法であって、
物体を被写体として含む画像が少なくとも入力され、当該物体における把持位置を示す把持位置情報を生成する生成工程と、
前記物体を被写体として含む画像と、前記生成工程で生成した把持位置情報とが入力され、前記物体に対する把持の可否を示す可否情報を生成する分別工程と、
を含み、
前記分別工程は、前記生成工程が生成する把持位置情報とは異なる把持位置情報を含む第１の教師データを少なくとも用いて学習された工程であり、
当該情報処理方法は、予め設定された離散的な複数の把持位置候補を統合することによって１又は複数の把持領域を生成し、生成した把持領域を参照して、前記第１の教師データを生成する第１の教師データ生成工程を含む、情報処理方法。
【請求項１２】
請求項１又は４に記載の情報処理装置としてコンピュータを機能させるためのプログラムであって、上記分別部、および上記生成部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体において把持装置に把持させる部分を決定する技術に関する。
【背景技術】
【０００２】
物体において把持装置に把持させる部分を決定する技術が知られている。例えば、特許文献１に記載された技術は、物体を撮像した画像から物体の輪郭線を検出し、輪郭線を所定量外側にオフセットさせたオフセット線に基づいて、把持装置に把持させる把持位置を決定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０２０−８２２１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された技術は、物体において把持装置に把持させる把持位置をさらに精度よく決定するよう改善する余地がある。
【０００５】
本発明の一態様は、物体において把持装置に把持させる把持位置を精度よく決定する技術を実現することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の一態様に係る情報処理装置は、物体を被写体として含む画像と、当該物体における把持位置を示す把持位置情報とが入力され、前記物体に対する把持の可否を示す可否情報を生成する分別部と、前記物体を被写体として含む画像が少なくとも入力され、当該物体における把持位置を示す把持位置情報を生成する生成部と、を備えている。
【０００７】
上記の課題を解決するために、本発明の一態様に係る情報処理装置は、物体を被写体として含む画像を取得する取得部と、前記画像が少なくとも入力され、当該物体における把持位置を示す把持位置情報を生成する生成部であって、前記把持位置に影響を与えるノイズパラメータが更に入力される生成部と、を備えている。
【発明の効果】
【０００８】
本発明の一態様によれば、物体において把持装置に把持させる把持位置を精度よく決定することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係る把持システムの概略を示すブロック図である。
【図２】本発明の一実施形態に係る学習装置の機能的な構成を示すブロック図である。
【図３】本発明の一実施形態における生成モデル及び分別モデルの具体的な構成例を示す図である。
【図４】本発明の一実施形態に係る分別モデルの学習時における構成例を示す図である。
【図５】本発明の一実施形態に係る制御装置の機能的な構成を示すブロック図である。
【図６】本発明の一実施形態に係る学習方法の流れを示すフローチャートである。
【図７】本発明の一実施形態に係る第１の教師データ生成方法の流れを示すフローチャートである。
【図８】本発明の一実施形態における教師データ生成用画像の具体例を示す図である。
【図９】図７に示す方法を説明するための模式図である。
【図１０】図７に示す方法を説明するための他の模式図である。
【図１１】図７に示す方法を説明するためのさらに他の模式図である。
【図１２】本発明の一実施形態に係る第２の教師データ生成方法の流れを示すフローチャートである。
【図１３】本発明の一実施形態に係る把持システムを構成する各装置の物理的構成を例示したブロック図である。
【発明を実施するための形態】
【００１０】
〔実施形態〕
以下、本発明の一実施形態に係る把持システム１について説明する。
【００１１】
＜把持システム１の概要＞
把持システム１の概要について、図１を参照して説明する。図１は、把持システム１の概略を示すブロック図である。図１に示すように、把持システム１は、制御装置１０と、学習装置２０と、ロボットアーム３０と、撮像装置４０とを含む。把持システム１は、載置台ｗの上に載置された物体（ｏｂｊ１、またはｏｂｊ２）を把持するようロボットアーム３０を制御するシステムである。
【００１２】
制御装置１０は、学習装置２０、ロボットアーム３０、および撮像装置４０と、それぞれ通信可能に接続される。例えば、制御装置１０と各装置とは、ネットワークを介して接続される。この場合、ネットワークは、有線ＬＡＮ（Local Area Network）、無線ＬＡＮ、インターネット、公衆回線網、モバイルデータ通信網、またはこれらの組み合わせである。
【００１３】
なお、図１に示す例では、制御装置１０および学習装置２０は、ネットワークを介して通信可能に接続された物理的に異なる装置であるが、これは本実施形態を限定するものではない。例えば、制御装置１０および学習装置２０は、物理的に１つのコンピュータによって一体に形成されていてもよい。また、図１に示す例では、制御装置１０およびロボットアーム３０は、ネットワークを介して通信可能に接続された物理的に異なる装置であるが、これは本実施形態を限定するものではない。例えば、制御装置１０は、ロボットアーム３０に内蔵されていてもよい。また、図１に示す例では、ロボットアーム３０および撮像装置４０は、物理的に連結された異なる装置であるが、これは本実施形態を限定するものではない。例えば、撮像装置４０は、ロボットアーム３０に内蔵されていてもよい。
【００１４】
また、図１に示す例では、把持システム１が、ロボットアーム３０および撮像装置４０を１つずつ含んでいるが、これは本実施形態を限定するものではない。把持システム１は、複数のロボットアーム３０および複数の撮像装置４０を含んでいてもよい。また、図１に示す例では、１つのロボットアーム３０に対して１つの撮像装置４０が設けられているが、これは本実施形態を限定するものではない。把持システム１において、１つのロボットアーム３０に対応して複数の撮像装置４０が設けられていてもよいし、複数のロボットアーム３０に対応して１つの撮像装置４０が設けられていてもよい。
【００１５】
（制御装置１０の構成）
制御装置１０は、物体を被写体として含む画像を取得し、当該物体における把持位置を示す把持位置情報を、後述の生成モデルＭ１を用いて生成する装置である。また、制御装置１０は、生成した把持位置情報に基づいて、物体を把持する把持動作を実行するようロボットアーム３０を制御する。制御装置１０は、特許請求の範囲に記載した「情報処理装置」を実現する構成の一例である。制御装置１０の詳細な構成については後述する。
【００１６】
（学習装置２０の構成）
学習装置２０は、制御装置１０が用いる生成モデルＭ１を機械学習により生成する装置である。より具体的には、学習装置２０は、生成モデルＭ１と、後述する分別モデルＭ２とを生成する。学習装置２０は、教師データを用いて分別モデルＭ２を学習させるとともに、分別モデルＭ２に対して生成モデルＭ１を敵対的に学習させる。学習装置２０は、特許請求の範囲に記載した「情報処理装置」を実現する構成の一例である。学習装置２０の詳細な構成については後述する。
【００１７】
（物体を被写体として含む画像）
物体を被写体として含む画像とは、物体が撮像されることにより生成された画像である。本実施形態において、当該画像は、少なくとも１つの物体を被写体として含む。例えば、撮像装置４０が物体ｏｂｊ１を撮像した画像、物体ｏｂｊ２を撮像した画像、および物体ｏｂｊ１、ｏｂｊ２の両方を撮像した画像は、それぞれ、物体を被写体として含む画像の一例である。
【００１８】
（把持位置）
把持位置とは、現実空間に存在する物体において、当該物体をロボットアーム３０に把持させる把持部分の現実空間における位置である。本実施形態では、把持位置は、画像上の領域によって特定される。換言すると、当該画像上の領域は、把持部分の現実空間における位置を画像上において示す領域である。画像上の領域の詳細については後述する。以下では、把持位置の候補となる位置を、把持位置候補とも記載する。また、複数の把持位置候補が連続する領域を、把持領域とも記載する。
【００１９】
（ロボットアーム３０の構成）
ロボットアーム３０は、制御装置１０の制御に基づいて、物体を把持する把持動作を実行する。具体的には、図１に示すように、ロボットアーム３０は、複数の回転軸を有する多関節ロボットであり、台座部３１と、ベース部３２と、アーム部３３と、ハンド部３４とを含む。
【００２０】
台座部３１は、ロボットアーム３０の設置面に設置される。設置面とは、例えば、床であるが、これに限られない。台座部３１は、制御装置１０の制御に基づいて設置面を移動可能であり得る。例えば、台座部３１は、設置面に接する車輪を有していてもよい。
【００２１】
ベース部３２は、台座部３１に対し、旋回可能に連結される。
【００２２】
アーム部３３は、複数のアームを含む。各アームの基端部は、ベース部３２または他のアームの先端部に対して、定められた軸まわりに回転可能に連結される。また、アーム部３３の先端にはハンド部３４が、定められた軸まわりに回転可能に接続される。また、アーム部３３の先端付近には、撮像装置４０が連結される。
【００２３】
ハンド部３４は、一対の指部３４ａ、３４ｂを含む。ハンド部３４は、制御装置１０の制御に基づいて、指部３４ａ、３４ｂを互いに離れるように開く動作と、互いに接近するよう閉じる動作とを行う。上述したロボットアーム３０の把持動作は、ハンド部３４の開閉により実現される。
【００２４】
ロボットアーム３０は、制御装置１０の制御に基づいて、台座部３１の移動、ベース部３２の旋回、および各アームの回転の一部または全部を実行することにより、ハンド部３４を所望の位置に移動する。
【００２５】
（撮像装置４０の構成）
撮像装置４０は、制御装置１０の制御に基づいて、載置台ｗの上に載置された物体ｏｂｊ１およびｏｂｊ２の一部または全部を撮像した画像を生成する。例えば、撮像装置４０の撮像方向および画角は、載置台ｗの上を撮像範囲とするよう、制御装置１０の制御に基づいて変更される。
【００２６】
＜学習装置２０の機能的な構成＞
学習装置２０の機能的な構成について、図２を参照して説明する。図２は、学習装置２０の機能的な構成を示すブロック図である。図２に示すように、学習装置２０は、制御部２１と、記憶部２２とを含む。制御部２１は、学習制御部２１１と、第１の教師データ生成部２１２と、第２の教師データ生成部２１３とを含む。記憶部２２は、生成モデルＭ１と、分別モデルＭ２と、第１の教師データセットＴ１と、第２の教師データセットＴ２とを記憶する。第１の教師データセットＴ１は、複数の第１の教師データＤ１を含む。第２の教師データセットＴ２は、複数の第２の教師データＤ２を含む。なお、図２には、第１の教師データＤ１及び第２の教師データＤ２をそれぞれ３つずつ示しているが、これらの数は３に限定されない。
【００２７】
（生成モデルＭ１）
生成モデルＭ１は、物体を被写体として含む画像と、ノイズパラメータとが入力されると、物体における把持位置を示す把持位置情報を生成する。生成モデルＭ１は、特許請求の範囲に記載した「生成部」を実現する構成の一例である。生成モデルＭ１は、例えば、１又は複数のニューラルネットワーク（好ましくは、ディープニューラルネットワーク）によって構成される。ニューラルネットワークの一例としては、ＣＮＮ（Convolutional Neural Network）が挙げられるが、これに限らない。生成モデルＭ１は、分別モデルＭ２に対して敵対的に学習される。なお、生成モデルＭ１の学習とは、生成モデルＭ１への入力に対して所望の出力が得られるよう、生成モデルＭ１が含む複数のパラメータを決定することである。学習の詳細については後述する。
【００２８】
（ノイズパラメータ）
ノイズパラメータは、把持位置に影響を与えるノイズを示すパラメータである。具体的には、生成モデルＭ１は、画像Ａ及びノイズパラメータＮ１が入力される場合と、画像Ａ及びノイズパラメータＮ２が入力される場合とでは、異なる把持位置情報を出力する。換言すると、生成モデルＭ１は、同一の画像が入力される場合であっても、異なるノイズパラメータが入力される場合、異なる把持位置情報を出力する。
【００２９】
（生成モデルＭ１の構成例）
生成モデルＭ１の具体的な構成例について、図３を参照して説明する。図３は、生成モデルＭ１及び分別モデルＭ２の具体的な構成例を示す図である。図３に示すように、生成モデルＭ１は、当該生成モデルＭ１の学習を行う際には、分別モデルＭ２に接続されている。なお、後述する制御装置１０においては、生成モデルＭ１は、分別モデルＭ２に接続されずに単独で用いられる。図３に示すように、生成モデルＭ１は、複数のニューラルネットワークＤＮＮ１〜ＤＮＮ３を含む。
【００３０】
ニューラルネットワークＤＮＮ１は、複数の画像が入力されると、画像の特徴量を示す特徴量情報を出力する。複数の画像のそれぞれは、物体を被写体として含む画像の一例である。例えば、複数の画像は、オリジナル画像、マスク画像、及び深度画像を含む。オリジナル画像は、物体が撮影された画像である。マスク画像は、オリジナル画像における物体の領域を示す画像であり、例えば、物体の領域に含まれる画素に１を割り当て、それ以外の画素に０を割り当てた画像である。深度画像は、オリジナル画像における物体の三次元的な形状を示す画像であり、例えば、各画素に深度に対応する輝度を割り当てた深度画像である。
【００３１】
ニューラルネットワークＤＮＮ２には、ノイズパラメータが入力される。ノイズパラメータは、例えば、多次元ベクトルであり、例えば１０次元ベクトルであるが、これに限られない。また、ノイズパラメータの各要素は乱数であり、例えば０以上１以下であるが、これに限られない。ニューラルネットワークＤＮＮ２は、入力されたノイズパラメータの次元数を拡張したデータを出力する。出力されるデータの次元数は、ニューラルネットワークＤＮＮ１が出力する画像特徴量情報と同一である。換言すると、ニューラルネットワークＤＮＮ１及びＤＮＮ２は、画像及びノイズパラメータの次元数を同一にして乗算可能とするための構成である。
【００３２】
ニューラルネットワークＤＮＮ３には、ニューラルネットワークＤＮＮ１が出力する特徴量情報と、ニューラルネットワークＤＮＮ２が出力するデータとを乗じた値が入力される。ニューラルネットワークＤＮＮ３は、把持位置情報を出力する。把持位置情報は、ニューラルネットワークＤＮＮ１に入力された複数の画像の少なくとも１つにおいて把持位置を示す領域を特定する情報であり、例えば次式（１）で表される。
【００３３】
［把持位置情報］＝｛ｘ，ｙ，θ，ｈ，ｗ｝・・・（１）
式（１）に含まれる５つのパラメータは、二次元座標系が定められた画像における矩形の領域を表している。当該矩形の領域を、以降、バウンディングボックスとも記載する。パラメータｘ及びｙは、バウンディングボックスの中心点の座標を表す。また、パラメータθは、バウンディングボックスの傾きであり、例えばバウンディングボックスの長辺とｘ軸とがなす角度である。パラメータｈは、バウンディングボックスの短辺の長さである。パラメータｗは、バウンディングボックスの長辺の長さである。
【００３４】
バウンディングボックスの２つの短辺は、把持動作の開始前に指部３４ａおよび３４ｂを配置する位置を示す。また、バウンディングボックスの長辺の長さは、上述した配置位置に配置された指部３４ａおよび３４ｂ間の距離を表している。つまり、バウンディングボックスは、長辺が長いほど、把持動作の開始前にハンド部３４を大きく開く必要があることを表す。
【００３５】
ニューラルネットワークＤＮＮ３が出力する把持位置情報は、生成モデルＭ１の学習を行う際には、分別モデルＭ２に含まれる後述のニューラルネットワークＤＮＮ５に入力される。
【００３６】
（分別モデルＭ２）
分別モデルＭ２は、物体を被写体として含む画像と、当該物体における把持位置を示す把持位置情報とが入力されると、当該物体に対する把持の可否を示す可否情報を生成する。分別モデルＭ２は、特許請求の範囲に記載した「分別部」を実現する構成の一例である。分別モデルＭ２は、例えば、１又は複数のニューラルネットワーク（好ましくは、ディープニューラルネットワーク）によって構成される。ニューラルネットワークの一例としては、ＣＮＮが挙げられるが、これに限らない。分別モデルＭ２は、第１の教師データセットＴ１を用いて学習される。また、分別モデルＭ２は、第２の教師データＤ２を用いて再学習される。なお、分別モデルＭ２の学習とは、分別モデルＭ２への入力に対して所望の出力が得られるよう、分別モデルＭ２が含む複数のパラメータを決定することである。学習の詳細については後述する。
【００３７】
（分別モデルＭ２の構成例）
分別モデルＭ２の具体的な構成例について、図４を参照して説明する。図４は、分別モデルＭ２の学習時における構成例を示す図である。図４に示すように、分別モデルＭ２は、当該分別モデルＭ２自体の学習を行う際には、生成モデルＭ１に接続されない。図４に示すように、分別モデルＭ２は、複数のニューラルネットワークＤＮＮ４〜ＤＮＮ６を含む。
【００３８】
ニューラルネットワークＤＮＮ４は、複数の画像が入力されると、特徴量情報を出力する。複数の画像のそれぞれは、物体を被写体として含む画像の一例である。入力される複数の画像は、第１の教師データＤ１（または第２の教師データＤ２）に含まれる。これらの複数の画像の詳細については、上述した通りである。生成モデルＭ１の学習を行う際には、生成モデルＭ１に入力された複数の画像が、ニューラルネットワークＤＮＮ４にも入力される。
【００３９】
ニューラルネットワークＤＮＮ５は、把持位置情報が入力されると、当該把持位置情報の次元数を拡張したデータを出力する。入力される把持位置情報は、第１の教師データＤ１（または第２の教師データＤ２）に含まれる。出力されるデータの次元数は、ニューラルネットワークＤＮＮ４が出力する特徴量情報と同一である。換言すると、ニューラルネットワークＤＮＮ４及びＤＮＮ５は、画像及び把持位置情報の次元数を同一にして乗算可能とするための構成である。
【００４０】
ニューラルネットワークＤＮＮ６には、ニューラルネットワークＤＮＮ４が出力する特徴量情報と、ニューラルネットワークＤＮＮ５が出力するデータとを乗じた値が入力される。ニューラルネットワークＤＮＮ６は、可否情報を出力する。可否情報は、把持可能及び把持不可の何れかを示す情報である。分別モデルＭ２の学習は、ニューラルネットワークＤＮＮ５が出力する可否情報が、第１の教師データＤ１（または第２の教師データＤ２）に含まれる正解データとしての可否情報と同一になるように行われる。
【００４１】
なお、図３を参照して説明したように、分別モデルＭ２は、生成モデルＭ１の学習を行う際には生成モデルＭ１に接続される。この場合、ニューラルネットワークＤＮＮ４には、生成モデルＭ１に入力された複数の画像が入力され、ニューラルネットワークＤＮＮ５には、ニューラルネットワークＤＮＮ３が出力した把持情報が入力される。
【００４２】
（第１の教師データＤ１）
第１の教師データＤ１は、生成モデルＭ１が生成する把持位置情報とは異なる把持位置情報を含む。具体的には、第１の教師データＤ１は、そのような把持位置情報と、正解データとしての可否情報とを少なくとも含む。図４の例では、第１の教師データＤ１は、物体を被写体として含む画像と、把持位置情報と、正解データとしての可否情報とを含む。
【００４３】
（第２の教師データＤ２）
第２の教師データＤ２は、生成モデルＭ１が生成した把持位置情報と、当該把持位置情報を用いた実際の把持動作による把持の可否を示す可否情報とを含む。換言すると、第２の教師データＤ２に含まれる可否情報は、実際に把持できたか否かの結果を示す情報である。図４の例では、第２の教師データＤ２は、物体を被写体として含む画像と、把持位置情報と、正解データとしての可否情報とを含む。
【００４４】
（学習制御部２１１）
学習制御部２１１は、生成モデルＭ１及び分別モデルＭ２についてそれぞれの学習を行う。具体的には、学習制御部２１１は、第１の教師データＤ１を少なくとも用いて分別モデルＭ２の学習を行う。また、学習制御部２１１は、ノイズパラメータを生成し、生成したノイズパラメータと、物体を被写体として含む画像とを生成モデルＭ１に入力する。また、学習制御部２１１は、学習された分別モデルＭ２に、生成モデルＭ１が生成した把持位置情報を入力し、分別モデルＭ２が生成する可否情報が把持可能を示すよう、生成モデルＭ１の学習を行う。さらに、学習制御部２１１は、第２の教師データＤ２を用いて分別モデルＭ２の再学習を行う。また、学習制御部２１１は、再学習された分別モデルＭ２に、生成モデルＭ１が生成した把持位置情報を入力し、分別モデルＭ２が生成する可否情報が把持可能を示すよう、生成モデルＭ１の再学習を行う。
【００４５】
（第１の教師データ生成部２１２）
第１の教師データ生成部２１２は、第１の教師データを生成する。具体的には、第１の教師データ生成部２１２は、予め設定された離散的な複数の把持位置候補を統合することによって、１又は複数の把持領域を生成する。また、第１の教師データ生成部２１２は、生成した把持領域を参照して、第１の教師データを生成する。また、第１の教師データ生成部２１２は、第１の教師データＤ１を生成するために、教師データ生成用画像セットを参照する。第１の教師データＤ１を生成する処理の詳細については後述する。
【００４６】
（第２の教師データ生成部２１３）
第２の教師データ生成部２１３は、第２の教師データＤ２を生成する。第２の教師データＤ２を生成する処理の詳細については後述する。
【００４７】
＜制御装置１０の機能的な構成＞
制御装置１０の機能的な構成について、図５を参照して説明する。図５は、制御装置１０の詳細な構成を示すブロック図である。図５に示すように、制御装置１０は、制御部１１と、記憶部１２とを含む。制御部１１は、取得部１１１と、生成部１１２と、把持制御部１１３と、を含む。記憶部１２は、生成モデルＭ１を記憶する。生成モデルＭ１は、学習装置２０によって学習されたものである。生成モデルＭ１は、前述したように、被写体を含む画像と、ノイズパラメータとが入力されると、物体における把持位置を示す把持位置情報を生成する。
【００４８】
（生成モデルＭ１）
記憶部１２は、学習装置２０により学習された生成モデルＭ１を記憶する。記憶部１２に記憶される生成モデルＭ１は、学習装置２０の記憶部２２に記憶される生成モデルＭ１を複製したものであってもよい。なお、制御装置１０は、学習装置２０の記憶部２２に記憶される生成モデルＭ１を直接参照してもよい。例えば、制御装置１０及び学習装置２０を物理的に一体の装置として構成する場合、又は学習装置２０の記憶部２２をネットワーク上に配置する場合、このような直接の参照が可能である。
【００４９】
（取得部１１１）
取得部１１１は、撮像装置４０から、物体を被写体として含む画像を取得する。
【００５０】
（生成部１１２）
生成部１１２は、ノイズパラメータを生成し、生成したノイズパラメータと、取得部１１１が取得した画像とを生成モデルＭ１に入力することにより、把持位置情報を生成する。
【００５１】
（把持制御部１１３）
把持制御部１１３は、生成部１１２が生成した把持位置情報が示す把持位置において物体を把持するよう、ロボットアーム３０を制御する。
【００５２】
＜学習方法の流れ＞
以上のように構成された把持システム１が実行する学習方法Ｓ１の流れについて、図６を参照して説明する。図６は、把持システム１が実行する学習方法Ｓ１の流れを示すフローチャートである。図６に示すように、学習方法Ｓ１は、ステップＳ１０１〜Ｓ１０６を含む。
【００５３】
（ステップＳ１０１）
ステップＳ１０１において、第１の教師データ生成部２１２は、複数の第１の教師データＤ１を生成し、第１の教師データセットＴ１として記憶部２２に記憶する。当該ステップの処理の詳細については後述する。
【００５４】
（ステップＳ１０２）
ステップＳ１０２において、学習制御部２１１は、第１の教師データセットＴ１を用いて分別モデルＭ２の学習を行う。図４の例では、学習制御部２１１は、第１の教師データＤ１に含まれる複数の画像と把持位置情報とを分別モデルＭ２に入力し、出力される可否情報が、第１の教師データＤ１に含まれる正解データと等しくなるように、分別モデルＭ２の学習を行う。
【００５５】
（ステップＳ１０３）
ステップＳ１０３において、学習制御部２１１は、生成モデルＭ１の学習を行う。図３の例では、学習制御部２１１は、複数の画像とノイズパラメータとを生成モデルＭ１に入力するとともに、当該複数の画像と、生成モデルＭ１が出力する把持位置情報とを分別モデルＭ２に入力する。また、学習制御部２１１は、分別モデルＭ２が出力する可否情報が把持可能を示すように、生成モデルＭ１の学習を行う。
【００５６】
学習制御部２１１は、入力する複数の画像及びノイズパラメータの一方または両方を変化させながら、生成モデルＭ１の学習を繰り返す。また、学習制御部２１１は、生成モデルＭ１の学習を行う際に、分別モデルＭ２のパラメータを変化させない。
【００５７】
（ステップＳ１０４）
ステップＳ１０４において、第２の教師データ生成部２１３は、複数の第２の教師データＤ２を生成し、第２の教師データセットＴ２として記憶部２２に記憶する。当該ステップの処理の詳細については後述する。
【００５８】
（ステップＳ１０５）
ステップＳ１０５において、学習制御部２１１は、第２の教師データセットＴ２を用いて分別モデルＭ２の再学習を行う。図４の例では、学習制御部２１１は、第２の教師データＤ２に含まれる複数の画像と把持位置情報とを分別モデルＭ２に入力し、出力される可否情報が、第２の教師データＤ２に含まれる正解データと等しくなるように、分別モデルＭ２の学習を行う。
【００５９】
（ステップＳ１０６）
ステップＳ１０６において、学習制御部２１１は、生成モデルＭ１の再学習を行う。図３の例では、学習制御部２１１は、複数の画像とノイズパラメータとを生成モデルＭ１に入力するとともに、当該複数の画像と、生成モデルＭ１が出力する把持位置情報とを分別モデルＭ２に入力する。また、学習制御部２１１は、分別モデルＭ２が出力する可否情報が把持可能を示すように、生成モデルＭ１の再学習を行う。なお、生成モデルＭ１の再学習を行う際には、分別モデルＭ２のパラメータを変化させない。
【００６０】
＜第１の教師データ生成方法Ｓ２の流れ＞
次に、ステップＳ１０１における第１の教師データ生成方法Ｓ２の流れについて、図７を参照して説明する。図７は、把持システム１が実行する第１の教師データ生成方法Ｓ２の流れを示すフローチャートである。図７に示すように、第１の教師データ生成方法Ｓ２は、ステップＳ２０１〜Ｓ２０５を含む。
【００６１】
（ステップＳ２０１）
ステップＳ２０１において、第１の教師データ生成部２１２は、第１の教師データＤ１を生成するための教師データ生成用画像セットを取得する。
【００６２】
（教師データ生成用画像セット）
教師データ生成用画像セットは、複数の教師データ生成用画像を含む。教師データ生成用画像は、物体を被写体として含む画像であり、予め設定された複数の把持位置候補を含む。教師データ生成用画像データセットに含まれる複数の教師データ生成用画像のうち少なくとも１つは、他の少なくとも１つとは異なる種類の物体を被写体として含む。換言すると、教師データ生成用画像セットは、複数種類の物体のそれぞれについて、予め設定された複数の把持位置候補を含んでいる。
【００６３】
教師データ生成用画像について、図８を参照して説明する。図８は、教師データ生成用
画像の具体例を示す図である。図８において、画像ＩＭＧｉ（ｉ＝１、２、…、８）は、それぞれ教師データ生成用画像の一例である。各画像ＩＭＧｉは、物体ＯＢＪｉを被写体として含んでいる。また、各画像ＩＭＧｉは、複数の把持位置候補ＢＢｉを含む。これらの把持位置候補ＢＢｉは、物体ＯＢＪｉの把持位置の候補を示すバウンディングボックスであり、予め離散的に設定されている。
【００６４】
第１の教師データ生成部２１２は、図８に一例を示したような複数の教師データ生成用画像を取得する。なお、本ステップにおいて、第１の教師データ生成部２１２は、より多くの教師データ生成用画像を取得することが望ましい。このため、第１の教師データ生成部２１２は、取得した各教師データ生成用画像に対してデータオーギュメンテーション処理を施すことにより、教師データ生成用画像を新たに生成して追加してもよい。データオーギュメンテーション処理の一例としては、元の画像に対する水平反転、垂直反転、回転、移動、拡大、縮小、または切り出し等の処理があるが、これらに限られない。
【００６５】
（ステップＳ２０２）
ステップＳ２０２において、第１の教師データ生成部２１２は、教師データ生成用画像に含まれる複数の把持位置候補のうち、互いに近傍である複数の把持位置候補を選択する。
【００６６】
（近傍の把持位置候補を選択する処理の例）
近傍の把持位置候補を接続する処理の具体例について、図９を参照して説明する。図９は、ステップＳ２０１〜Ｓ２０４までの処理を説明するための模式図である。図９に示す例では、ステップＳ２０１において、教師データ生成用画像である画像ＩＭＧ９が取得されている。画像ＩＭＧ９は、５つの把持位置候補ＢＢ９−１〜ＢＢ９−５を含んでいる。ステップＳ２０２において、第１の教師データ生成部２１２は、５つの把持位置候補ＢＢ９−１〜ＢＢ９−５のうち、中心点間の距離が閾値以下の２つを近傍である組み合わせとして選択する。また、第１の教師データ生成部２１２は、選択した２つの把持位置候補の中心点を接続する。ここでは、近傍である組み合わせとして、把持位置候補ＢＢ９−１及びＢＢ９−２が選択され、中心点Ｃ１及びＣ２が接続される。また、把持位置候補ＢＢ９−２及びＢＢ９−３が選択され、中心点Ｃ２及びＣ３が接続される。また、把持位置候補ＢＢ９−３及びＢＢ９−４が選択され、中心点Ｃ３及びＣ４が接続される。把持位置候補ＢＢ９−５は、他の把持位置候補ＢＢ９−１〜ＢＢ９−４の何れとも中心点間の距離が閾値以下でないため、選択されない。
【００６７】
（ステップＳ２０３）
ステップＳ２０３において、第１の教師データ生成部２１２は、近傍である組み合わせとして選択した２つの把持位置候補の間を補間することにより、これらの２つの把持位置候補を含む把持領域を生成する。
【００６８】
（把持領域を生成する処理の例）
把持領域を生成する処理の具体例について、図９を参照して説明する。図９に示す例では、ステップＳ２０３において、第１の教師データ生成部２１２は、離散的な複数の把持位置候補ＢＢ９−１〜ＢＢ９−５を統合することによって複数の把持領域Ｒ１及びＲ２を生成する。
【００６９】
具体的には、第１の教師データ生成部２１２は、中心点間の接続線に含まれる各点について、当該点を中心とする把持位置候補を生成する。生成する把持位置候補を、補間用の把持位置候補と記載する。補間用の把持位置候補は、２つの把持位置候補の間を滑らかに補間するように生成される。例えば、把持位置候補ＢＢ９−１がパラメータ（ｘ１，ｙ１，θ１，ｈ１，ｗ１）によって規定され、把持位置候補ＢＢ９−２がパラメータ（ｘ２，ｙ２，θ２，ｈ２，ｗ２）によって規定されるとする。この場合、補間用の把持位置候補の中心点Ｃｑ（ｘｑ，ｙｑ）は、中心点Ｃ１（ｘ１，ｙ１）と、Ｃ２（ｘ２，ｙ２）との接続線上にある。また、補間用の把持位置候補の傾きθｑは、θ１からθ２までの値をとり、中心点ＣｑがＣ１からＣ２に近づくに従って、θ１からθ２に近づく。また、補間用の把持位置候補の短辺の長さｈｑは、ｈ１からｈ２までの値をとり、中心点ＣｑがＣ１からＣ２に近づくに従って、ｈ１からｈ２に近づく。また、補間用の把持位置候補の長辺の長さｗｑは、ｗ１からｗ２までの値をとり、中心点ＣｑがＣ１からＣ２に近づくに従って、ｗ１からｗ２に近づく。このようにして、第１の教師データ生成部２１２は、把持位置候補ＢＢ９−１及びＢＢ９−２の間、把持位置候補ＢＢ９−２及びＢＢ９−３の間、並びに把持位置候補ＢＢ９−３、ＢＢ９−４の間を滑らかに補間する補間用の把持位置候補を生成する。その結果、複数の把持位置候補ＢＢ９−１〜ＢＢ９−５と、それぞれの間に生成された補間用の把持位置候補とを含む把持領域Ｒ１が生成される。また、いずれの把持位置候補とも接続されなかった把持位置候補ＢＢ９−５は、単独で把持領域Ｒ２となる。このようにして、第１の教師データ生成部２１２は、離散的な複数の把持位置候補ＢＢ９−１〜ＢＢ９−５を統合することによって複数の把持領域Ｒ１及びＲ２を生成する。
【００７０】
（ステップＳ２０４）
ステップＳ２０３において、第１の教師データ生成部２１２は、統合により生成した把持領域Ｒ１及びＲ２を拡張する。
【００７１】
（把持領域を拡張する処理の例）
把持領域を拡張する処理の具体例について、図９を参照して説明する。図９に示す例では、ステップＳ２０４において、第１の教師データ生成部２１２は、把持領域Ｒ１を拡張して把持領域Ｒ３を生成し、把持領域Ｒ２を拡張して把持領域Ｒ４を生成する。
【００７２】
具体的には、第１の教師データ生成部２１２は、把持領域Ｒ１に含まれる各把持位置候補ＢＢ９−１〜ＢＢ９−４、及び補間用の把持位置候補のそれぞれについて、パラメータに変動を加える。また、第１の教師データ生成部２１２は、各把持位置候補ＢＢ９−１〜ＢＢ９−４、及び補間用の把持位置候補を変動させた範囲を含むよう、把持領域Ｒ１を拡張する。
【００７３】
（パラメータに変動を加える処理の例）
パラメータに変動を加える処理の具体例について、図１０を参照して説明する。図１０は、ステップＳ２０４の処理をさらに具体的に説明するための模式図である。図１０に示す例では、パラメータ（ｘ，ｙ，θ，ｈ，ｗ）によって規定される把持位置候補に対して、各パラメータを所定範囲で変化させる。図１０の例では、中心点のｘ座標を［ｘ−β］から［ｘ＋β］の範囲で変動させている。また、中心点のｙ座標を［ｙ−β］から［ｙ＋β］の範囲で変動させている。また、傾きθを［θ−α］から［θ＋α］の範囲で変動させている。また、短辺の長さｈを［ｈ−γ］から［ｈ＋γ］の範囲で変動させている。また、長辺の長さｗを［ｗ−γ］から［ｗ＋γ］の範囲で変動させている。このように、第１の教師データ生成部２１２は、把持領域Ｒ１に含まれる各把持位置候補の各パラメータに変動を加えることにより、当該把持位置候補を所定範囲で変化させる。その結果、第１の教師データ生成部２１２は、各把持位置候補を変化させた範囲を含むよう把持領域Ｒ１を拡張した把持領域Ｒ３を生成する。また、第１の教師データ生成部２１２は、把持領域Ｒ２である把持位置候補ＢＢ９−５の位置を所定範囲で変化させ、変化させた範囲を含むよう拡張した把持領域Ｒ４を生成する。
【００７４】
（ステップＳ２０５）
ステップＳ２０４において、第１の教師データ生成部２１２は、生成した把持領域Ｒ３、Ｒ４を参照して、第１の教師データＤ１を生成する。ここで、第１の教師データ生成部２１２は、把持可能であることを示す可否情報を含む第１の教師データＤ１と、把持不可であることを示す可否情報を含む第１の教師データＤ１とを、少なくとも１つずつ生成する。
【００７５】
（第１の教師データＤ１を生成する処理の例）
第１の教師データＤ１を生成する処理の具体例について、図１１を参照して説明する。図１１は、ステップＳ２０５の処理を説明するための模式図である。図１１に示す例では、第１の教師データ生成部２１２は、把持位置ＢＢ９−ａ、ＢＢ９−ｂ、ＢＢ９−ｃをランダムに生成する。把持位置ＢＢ９−ａ、ＢＢ９−ｂ、ＢＢ９−ｃは、それぞれ、予め設定された把持位置候補ＢＢ９−１〜ＢＢ９−５の何れとも異なるものであり得るが、必ずしも異なっていなくてもよい。
【００７６】
また、第１の教師データ生成部２１２は、生成した把持位置ＢＢ９−ａ、ＢＢ９−ｂ、ＢＢ９−ｃのそれぞれについて、把持領域Ｒ３、Ｒ４との重複の度合いに応じて可否情報Ｊ−ａ、Ｊ−ｂ、Ｊ−ｃを生成する。また、第１の教師データ生成部２１２は、把持位置ＢＢ９−ａ、ＢＢ９−ｂ、ＢＢ９−ｃのそれぞれと可否情報とを含む第１の教師データＤ１−ａ、Ｄ１−ｂ、Ｄ１−ｃを生成する。
【００７７】
具体的には、第１の教師データ生成部２１２は、生成した把持位置が把持領域に含まれる場合に、把持可能であることを示す可否情報を生成する。第１の教師データ生成部２１２は、生成した把持位置が把持領域に含まれていない場合に、把持不可であることを示す可否情報を生成する。ここで、「把持位置が把持領域に含まれる」とは、生成した把持位置が、把持領域を構成する連続的な複数の把持位置候補の何れかであることを指す。換言すると、生成した把持位置が、把持領域の生成過程で用いた「互いに近傍である複数の把持位置候補」、「補間用の把持位置候補」、及び「これらの各把持位置候補を変動させた把持位置候補」の何れかである場合、当該把持位置は当該把持領域に含まれる。
【００７８】
例えば、把持位置ＢＢ９−ａは、把持領域Ｒ３に含まれている。このため、第１の教師データ生成部２１２は、把持可能であることを示す可否情報Ｊ−ａを生成する。したがって、第１の教師データＤ１−ａは、画像ＩＭＧ９と、把持位置ＢＢ９−ａと、可否情報Ｊ−ａとを含む。
【００７９】
また、把持位置ＢＢ９−ｂは、把持領域Ｒ３、Ｒ４の何れにも含まれていない。このため、第１の教師データ生成部２１２は、把持不可であることを示す可否情報Ｊ−ｂを生成する。したがって、第１の教師データＤ１−ｂは、画像ＩＭＧ９と、把持位置ＢＢ９−ｂと、可否情報Ｊ−ｂとを含む。
【００８０】
また、把持位置ＢＢ９−ｃは、把持領域Ｒ３に含まれていない。つまり、把持位置ＢＢ９−ｃは、把持領域Ｒ３の生成過程で用いた「把持位置候補ＢＢ９−１〜ＢＢ９−４」、「補間用の把持位置候補」、及び「これらの各把持位置候補を変動させた把持位置候補」の何れでもない。このため、第１の教師データ生成部２１２は、把持不可であることを示す可否情報Ｊ−ｃを生成する。したがって、第１の教師データＤ１−ｃは、画像ＩＭＧ９と、把持位置ＢＢ９−ｃと、可否情報Ｊ−ｃとを含む。
【００８１】
＜第２の教師データ生成方法Ｓ３の流れ＞
次に、ステップＳ１０４における第２の教師データ生成方法Ｓ３の流れについて、図１２を参照して説明する。図１２は、把持システム１が実行する第２の教師データ生成方法Ｓ３の流れを示すフローチャートである。図１２に示すように、第２の教師データ生成方法Ｓ３は、制御装置１０が実行するステップＳ３０１〜Ｓ３０５と、学習装置２０が実行するステップＳ３０６〜Ｓ３０７とを含む。
【００８２】
（ステップＳ３０１）
ステップＳ３０１において、制御装置１０の把持制御部１１３は、ロボットアーム３０を所定位置に移動するよう制御する。所定位置とは、例えば、図１に示した載置台ｗの近傍である。
【００８３】
（ステップＳ３０２）
ステップＳ３０２において、取得部１１１は、載置台ｗ上の物体を撮像するよう撮像装置４０を制御し、撮像された画像を取得する。ここでは、物体ｏｂｊ１を被写体として含む画像を取得したとする。
【００８４】
（ステップＳ３０３）
ステップＳ３０３において、生成部１１２は、ノイズパラメータを生成する。ノイズパラメータについては、上述した通りである。
【００８５】
（ステップＳ３０４）
ステップＳ３０４において、生成部１１２は、物体ｏｂｊ１を被写体として含む画像と、ノイズパラメータとを生成モデルＭ１に入力することにより、把持位置情報を生成する。
【００８６】
（ステップＳ３０５）
ステップＳ３０５において、把持制御部１１３は、生成された把持位置情報に基づいて、把持動作を実行するようロボットアーム３０を制御する。
【００８７】
具体的には、把持制御部１１３は、生成した把持位置情報が示す把持位置にハンド部３４を配置し、ロボットアーム３０に把持動作を実行させる。例えば、把持制御部１１３は、把持位置情報であるバウンディングボックスについて、その２つの短辺に対応する現実空間の配置位置を算出する。また、把持制御部１１３は、当該バウンディングボックスの長辺の長さｗに対応する現実空間の距離を算出する。次に、把持制御部１１３は、指部３４ａおよび３４ｂを、算出した距離だけ開くとともに算出した配置位置に配置するよう制御する。その後、把持制御部１１３は、ロボットアーム３０を制御して把持動作を実行させる。具体的には、把持制御部１１３は、指部３４ａおよび３４ｂを閉じるようハンド部３４を制御することにより、ロボットアーム３０に物体ｏｂｊ１を把持させる。
【００８８】
（ステップＳ３０６）
ステップＳ３０６において、学習装置２０の第２の教師データ生成部２１３は、実際の把持動作による把持の可否を示す可否情報を取得する。例えば、第２の教師データ生成部２１３は、後述する入力装置２０６を介して入力される可否情報を取得してもよい。また、例えば、第２の教師データ生成部２１３は、把持システム１が自動で生成した可否情報を取得してもよい。例えば、把持システム１は、撮像装置４０を用いて実際の把持動作の様子を撮像し、撮像した画像を参照して可否情報を自動で生成することが可能である。また、例えば、把持システム１は、指部３４ａおよび３４ｂの開閉を検出するセンサ（図示せず）の検出値を参照して、可否情報を自動で生成することが可能である。ただし、把持システム１が可否情報を自動で生成する手法は、これらに限定されない。
【００８９】
（ステップＳ３０７）
ステップＳ３０７において、第２の教師データ生成部２１３は、ステップＳ３０２で取得された画像と、ステップＳ３０４で生成された把持位置情報と、ステップＳ３０６で取得された可否情報とを含む第２の教師データＤ２を生成する。
【００９０】
＜本実施形態の効果＞
本実施形態に係る把持システム１は、物体において把持装置に把持させる把持位置を、初見の物体であっても精度よく決定することができる。その理由について説明する。本実施形態によれば、物体を被写体として含む画像から把持位置情報を生成するための生成モデルＭ１は、第１の教師データＤ１を用いて学習された分別モデルＭ２から把持可能であることを示す可否情報が出力されるように学習される。つまり、生成モデルＭ１は、第１の教師データＤ１を用いて学習された分別モデルＭ２に対して敵対的に学習される。このため、分別モデルＭ２を用いずに生成モデルＭ１のみを学習させる場合と比べて、第１の教師データＤ１が対象とする物体以外の物体についてもより精度よい把持位置情報を出力するよう、生成モデルＭ１を学習させることができる。その結果、第１の教師データが対象とする物体とは異なる初見の物体であっても、より精度よい把持位置情報を生成することができるからである。
【００９１】
また、本実施形態に係る把持システム１は、物体において把持装置に把持させる把持位置を、さらに精度よく決定することができる。その理由について説明する。本実施形態によれば、分別モデルＭ２は、第２の教師データＤ２を用いて再学習される。第２の教師データＤ２は、当該分別モデルＭ２に対して敵対的に学習された生成モデルＭ１が生成した把持位置に基づく実際の把持動作による把持の可否を示すものである。これにより、分別モデルＭ２が把持の可否を分別する精度がさらに向上する。また、生成モデルＭ１は、把持の可否を分別する精度がさらに向上した分別モデルＭ２に対して敵対的に再学習される。これにより、生成モデルＭ１は、初見の物体を被写体として含む画像が入力された場合であっても、さらに精度よく把持位置情報を生成することができるからである。
【００９２】
また、本実施形態に係る把持システム１は、より多様な把持可能な把持位置を示す把持位置情報を生成することができる。その理由について説明する。本実施形態によれば、分別モデルＭ２は、把持領域を参照して生成された第１の教師データＤ１を用いて学習されている。ここで、把持領域は、教師データ生成用画像に予め設定された複数の把持位置候補を統合した領域である。このため、このような分別モデルＭ２に対して敵対的に学習された生成モデルＭ１は、予め設定された複数の把持位置候補だけでなく、それ以外で把持可能な把持位置を示す把持位置情報を生成することができるからである。
【００９３】
また、本実施形態に係る把持システム１は、より少ない画像を用いて生成モデルＭ１を学習させることができる。その理由は、分別モデルＭ２が、（ｉ）把持可能であることを示す可否情報を含む第１の教師データＤ１又は第２の教師データＤ２（換言すると、把持に成功したデータ）だけでなく、（ｉｉ）把持不可であることを示す可否情報を含む第１の教師データＤ１又は第２の教師データＤ２（換言すると、把持に失敗したデータ）を用いて学習されるからである。これにより、分別モデルＭ２は、より精度よく可否情報を出力するよう学習される。そして、生成モデルＭ１は、より精度よく可否情報を出力するよう学習された分別モデルＭ２に対して敵対的に学習されるからである。これにより、分別モデルＭ２を用いずに生成モデルＭ１のみを学習させる場合と比べて、生成モデルＭ１の学習時に生成モデルＭ１に入力する画像の数が充分でなくても、精度よく学習させることができるからである。
【００９４】
〔変形例〕
なお、上述した実施形態において、生成モデルＭ１及び分別モデルＭ２には、物体を被写体として含む少なくとも１つの画像が入力されればよく、各モデルに入力される画像の数は限定されない。また、生成モデルＭ１には、物体を被写体として含む少なくとも１つの画像が入力されればよく、必ずしもノイズパラメータが入力されなくてもよい。
【００９５】
また、上述した実施形態において、教師用データ生成用画像セットから第１の教師データＤ１を生成する手法は、図７及び図９を参照して説明した手法に限られない。
【００９６】
また、上述した実施形態において、把持位置情報は、物体において把持装置に把持させる把持位置を示す情報であればよく、バウンディングボックスで表されるものに限られない。また、バウンディングボックスで表す場合であっても、その要素数は５に限られない。
【００９７】
〔把持システム１の物理的構成〕
図１３は、把持システム１を構成する各装置の物理的構成を例示したブロック図である。
【００９８】
（制御装置１０の物理的構成）
制御装置１０は、図１３に示すように、バス１１０と、プロセッサ１０１と、主メモリ１０２と、補助メモリ１０３と、通信インタフェース１０４とを備えたコンピュータによって構成可能である。プロセッサ１０１、主メモリ１０２、補助メモリ１０３、及び通信インタフェース１０４は、バス１１０を介して互いに接続されている。
【００９９】
プロセッサ１０１としては、例えば、ＣＰＵ（Central Processing Unit）、マイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラ、またはこれらの組み合わせ等が用いられる。
【０１００】
主メモリ１０２としては、例えば、半導体ＲＡＭ（random access memory）等が用いられる。
【０１０１】
補助メモリ１０３としては、例えば、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、またはこれらの組み合わせ等が用いられる。補助メモリ１０３には、上述した制御装置１０の動作をプロセッサ１０１に実行させるためのプログラムが格納されている。プロセッサ１０１は、補助メモリ１０３に格納されたプログラムを主メモリ１０２上に展開し、展開したプログラムに含まれる各命令を実行する。
【０１０２】
通信インタフェース１０４は、ネットワークに接続するインタフェースである。通信インタフェース１０４は、当該ネットワークを介して学習装置２０、ロボットアーム３０、および撮像装置４０のそれぞれとの通信を行う。
【０１０３】
この例で、プロセッサ１０１および通信インタフェース１０４は、制御部１１を実現するハードウェア要素の一例である。また、主メモリ１０２および補助メモリ１０３は、記憶部１２を実現するハードウェア要素の一例である。
【０１０４】
（学習装置２０の物理的構成）
学習装置２０は、図１３に示すように、バス２１０と、プロセッサ２０１と、主メモリ２０２と、補助メモリ２０３と、通信インタフェース２０４と、入出力インタフェース２０５を備えたコンピュータによって構成可能である。プロセッサ２０１、主メモリ２０２、補助メモリ２０３、通信インタフェース２０４、及び入出力インタフェース２０５は、バス２１０を介して互いに接続されている。入出力インタフェース２０５には、入力装置２０６および出力装置２０７が接続されている。
【０１０５】
プロセッサ２０１としては、例えば、ＣＰＵ（Central Processing Unit）、マイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラ、ＧＰＵ（Graphics Processing Unit）またはこれらの組み合わせ等が用いられる。
【０１０６】
主メモリ２０２としては、例えば、半導体ＲＡＭ（random access memory）等が用いられる。
【０１０７】
補助メモリ２０３としては、例えば、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、またはこれらの組み合わせ等が用いられる。補助メモリ２０３には、上述した学習装置２０の動作をプロセッサ２０１に実行させるためのプログラムが格納されている。プロセッサ２０１は、補助メモリ２０３に格納されたプログラムを主メモリ２０２上に展開し、展開したプログラムに含まれる各命令を実行する。
【０１０８】
通信インタフェース２０４は、ネットワークに接続するインタフェースである。通信インタフェース２０４は、当該ネットワークを介して制御装置１０との通信を行う。
【０１０９】
入出力インタフェース２０５としては、例えば、ＵＳＢ（Universal Serial Bus）インタフェース、赤外線やBluetooth（登録商標）等の近距離通信インタフェース、またはこれらの組み合わせが用いられる。
【０１１０】
入力装置２０６としては、例えば、キーボード、マウス、タッチパッド、マイク、又はこれらの組み合わせ等が用いられる。出力装置２０７としては、例えば、ディスプレイ、プリンタ、スピーカ、又はこれらの組み合わせが用いられる。
【０１１１】
この例で、プロセッサ２０１および通信インタフェース２０４は、制御部２１を実現するハードウェア要素の一例である。また、主メモリ２０２および補助メモリ２０３は、記憶部２２を実現するハードウェア要素の一例である。
【０１１２】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１１３】
〔まとめ〕
本発明の一態様に係る情報処理装置は、物体を被写体として含む画像と、当該物体における把持位置を示す把持位置情報とが入力され、前記物体に対する把持の可否を示す可否情報を生成する分別部と、前記物体を被写体として含む画像が少なくとも入力され、当該物体における把持位置を示す把持位置情報を生成する生成部と、備えている。
【０１１４】
上記構成により、生成部が生成した把持位置情報について、分別部から把持可能を示す可否情報が出力され得る。そのような把持位置情報を参照することにより、物体において把持装置に把持させる把持位置を精度よく決定することができる。
【０１１５】
上述した一態様に係る情報処理装置において、前記分別部は、前記生成部が生成する把持位置情報とは異なる把持位置情報を含む第１の教師データを少なくとも用いて学習されたものである、ことが望ましい。
【０１１６】
上記構成により、生成部が、第１の教師データが対象とした物体とは異なる初見の物体について把持位置情報を生成した場合に、分別部は、当該把持位置情報について把持可能を示す可否情報を出力し得る。そのような把持位置情報を参照することにより、初見の物体であっても把持位置を精度よく決定することができる。
【０１１７】
上述した一態様に係る情報処理装置において、予め設定された離散的な複数の把持位置候補を統合することによって１又は複数の把持領域を生成し、生成した把持領域を参照して、前記第１の教師データを生成する第１の教師データ生成部を備えている、ことが望ましい。
【０１１８】
上記構成により、予め設定された把持位置候補を正解とすることに限らず、把持領域を参照してより多様な第１の教師データを生成することが可能となる。これにより、生成部は、予め設定された把持位置候補に限らず多様な把持位置情報を生成することができる。
【０１１９】
上述した一態様に係る情報処理装置において、前記第１の教師データ生成部は、把持位置をランダムに生成し、生成した把持位置と前記把持領域との重複の度合いに応じて、把持の可否を示す可否情報を生成し、生成した前記把持位置と前記可否情報とを含む前記第１の教師データを生成する、ことが望ましい。
【０１２０】
上記構成により、予め設定された把持位置候補以外のランダムに生成した把持位置を正解とする第１の教師データを生成することが可能となる。また、予め設定された把持位置候補の数より多くの第１の教師データを生成することが可能となる。
【０１２１】
上述した一態様に係る情報処理装置において、前記第１の教師データ生成部は、前記予め設定された離散的な複数の把持位置候補を統合し、統合した把持位置候補を拡張することによって前記１又は複数の把持領域を生成する、ことが望ましい。
【０１２２】
上記構成により、拡張した把持領域を参照してさらに多様な第１の教師データを生成することが可能となる。これにより、生成部は、予め設定された把持位置候補に限らずさらに多様な把持位置情報を生成することができる。
【０１２３】
上述した一態様に係る情報処理装置において、前記分別部は、前記生成部が生成した把持位置情報を含む第２の教師データを少なくとも用いて学習されたものである、ことが望ましい。
【０１２４】
上記構成により、分別部は、生成部が生成した把持位置情報を用いて学習されるので、生成部が対象とした物体の把持位置についてより精度よく学習される。その結果、把持装置に把持させる把持位置を精度よく決定することができる。
【０１２５】
上述した一態様に係る情報処理装置において、前記生成部が生成した前記把持位置情報と、当該把持位置情報を用いた実際の把持動作による把持の可否を示す可否情報とを含む前記第２の教師データを生成する第２の教師データ生成部を備えている、ことが望ましい。
【０１２６】
上記構成により、分別部は、生成部が生成した把持位置情報を用いた実際の把持動作の結果に基づいて学習されるので、生成部が対象とした物体の把持位置についてより精度よく学習される。その結果、把持装置に把持させる把持位置を精度よく決定することができる。
【０１２７】
上述した一態様に係る情報処理装置において、前記生成部は、当該生成部が生成した把持位置情報を前記分別部に入力した場合に、前記分別部が生成する可否情報が把持可能を示すように学習されたものである、ことが望ましい。
【０１２８】
上記構成により、生成部は、生成する把持位置情報の把持可能性がより高くなるよう学習される。その結果、把持装置に把持させる把持位置を精度よく決定することができる。
【０１２９】
上述した一態様に係る情報処理装置において、前記生成部には、前記物体を被写体として含む画像と、ノイズを表すノイズパラメータとが入力される、ことが望ましい。
【０１３０】
上記構成により、生成部が生成する把持位置情報は、物体を被写体として含む同一の画像を対象とする場合であっても、ノイズパラメータにより変化する。その結果、より多様な把持位置を決定することができる。
【０１３１】
本発明の一態様に係る情報処理装置は、物体を被写体として含む画像を取得する取得部と、前記画像が少なくとも入力され、当該物体における把持位置を示す把持位置情報を生成する生成部であって、前記把持位置に影響を与えるノイズパラメータが更に入力される生成部と、備えている。
【０１３２】
上記構成により、画像に被写体として含まれる物体について、より多様な把持位置を精度よく決定することができる。
【０１３３】
本発明の一態様に係る情報処理方法は、情報処理装置が実行する情報処理方法であって、物体を被写体として含む画像が少なくとも入力され、当該物体における把持位置を示す把持位置情報を生成する生成工程と、前記物体を被写体として含む画像と、前記生成工程で生成した把持位置情報とが入力され、前記物体に対する把持の可否を示す可否情報を生成する分別工程と、含んでいる。
【０１３４】
上記構成により、上述した情報処理装置と同様の効果を奏する。
【０１３５】
本発明の一態様に係る情報処理方法は、情報処理装置が実行する情報処理方法であって、物体を被写体として含む画像を取得する取得工程と、前記画像が少なくとも入力され、当該物体における把持位置を示す把持位置情報を生成する生成工程であって、前記把持位置に影響を与えるノイズパラメータが更に入力される生成工程と、を含んでいる。
【０１３６】
上記構成により、上述した情報処理装置と同様の効果を奏する。
【０１３７】
本発明の一態様に係るプログラムは、上述の情報処理装置としてコンピュータを機能させるためのプログラムであって、上記分別部、および上記生成部としてコンピュータを機能させる。
【０１３８】
上記構成により、上述した情報処理装置と同様の効果を奏する。
【０１３９】
本発明の一態様に係るプログラムは、上述の情報処理装置としてコンピュータを機能させるためのプログラムであって、上記取得部、および上記生成部としてコンピュータを機能させる。
【０１４０】
上記構成により、上述した情報処理装置と同様の効果を奏する。
【０１４１】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１４２】
１  把持システム
１０  制御装置
２０  学習装置
Ｍ１  生成モデル
Ｍ２  分別モデル
１１、２１  制御部
１２、２２  記憶部
１１１、３１１  取得部
１１２、３１２  生成部
１１３、３１３  把持制御部
２１１  学習制御部
２１２  第１の教師データ生成部
２１３  第２の教師データ生成部
３０  ロボットアーム
３１  台座部
３２  ベース部
３３  アーム部
３４  ハンド部
３４ａ、３４ｂ  指部
４０  撮像装置
１０１、２０１  プロセッサ
１０２、２０２  主メモリ
１０３、２０３  補助メモリ
１０４、２０４  通信インタフェース
２０５  入出力インタフェース
２０６  入力装置
２０７  出力装置
１１０、２１０  バス
【要約】
【課題】物体において把持装置に把持させる把持位置を精度よく決定する。
【解決手段】物体を被写体として含む画像と、当該物体における把持位置を示す把持位置情報とが入力され、物体に対する把持の可否を示す可否情報を生成する分別モデル（Ｍ２）と、物体を被写体として含む画像が少なくとも入力され、当該物体における把持位置を示す把持位置情報を生成する生成モデル（Ｍ１）と、を備える。
【選択図】図２【図１】
0006908907.tif 000002
【図２】
0006908907.tif 000003
【図３】
0006908907.tif 000004
【図４】
0006908907.tif 000005
【図５】
0006908907.tif 000006
【図６】
0006908907.tif 000007
【図７】
0006908907.tif 000008
【図８】
0006908907.tif 000009
【図９】
0006908907.tif 000010
【図１０】
0006908907.tif 000011
【図１１】
0006908907.tif 000012
【図１２】
0006908907.tif 000013
【図１３】
0006908907.tif 000014