(57)【要約】【課題】入力画像に基づいて、対象物に対し所定の作業を行うロボットの動作を訓練するために適した学習用画像を容易に生成することができる、画像生成装置、ロボット訓練システム、画像生成方法、及び画像生成プログラムを提供する。【解決手段】本発明に係る画像生成装置は、入力画像に基づいて、対象物に対し所定の作業を行うロボットの動作を訓練するための学習用画像を生成する画像生成装置であって、前記ロボットを含み、前記対象物を含まない実作業空間を撮像した第１画像を取得する第１画像取得部と、前記ロボットに対応する仮想ロボットと、前記対象物に対応する仮想対象物とを含む仮想作業空間を描画した第２画像を取得する第２画像取得部と、前記第１画像及び第２画像を入力とし、前記第２画像に含まれる少なくとも前記仮想ロボットを、前記第１画像に含まれる前記ロボットに近似させるように前記第２画像を変換した第３画像を出力とするように、機械学習により訓練された学習器と、を備えている。【選択図】図１
2020082315.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に基づいて、対象物に対し所定の作業を行うロボットの動作を訓練するための学習用画像を生成する画像生成装置であって、
前記ロボットを含み、前記対象物を含まない実作業空間を撮像した第１画像を取得する第１画像取得部と、
前記ロボットに対応する仮想ロボットと、前記対象物に対応する仮想対象物とを含む仮想作業空間を描画した第２画像を取得する第２画像取得部と、
前記第１画像及び第２画像を入力とし、前記第２画像に含まれる少なくとも前記仮想ロボットを、前記第１画像に含まれる前記ロボットに近似させるように前記第２画像を変換した第３画像を出力とするように、機械学習により訓練された学習器と、
を備えている、画像生成装置。
【請求項２】
前記学習器は、
前記第３画像を生成する生成器と、
前記第２画像に基づいて、前記第１画像に前記仮想対象物が付加された第４画像を取得する第４画像取得部と、
前記生成器及び前記第４画像取得部に接続される判別器と、
をさらに備え、
前記機械学習は、
前記判別器に入力された前記第３画像が、前記第４画像であるか否かを判別するよう前記判別器を訓練する第１訓練ステップ、及び
前記判別器による前記判別が誤るような前記第３画像を生成するよう前記生成器を訓練する第２訓練ステップを交互に行うことを含む、請求項１に記載の画像生成装置。
【請求項３】
前記学習器は、前記第３画像を入力とし、前記ロボットによる作業のパフォーマンスを出力するように訓練された予測器(predictor)をさらに備えている、請求項２に記載の画像生成装置。
【請求項４】
前記入力画像を取得する撮像部と、
前記ロボットと、
請求項１から３のいずれかに記載の画像生成装置と、
を備え、
前記ロボットは、前記画像生成装置で生成された前記第３画像を含む学習データによって、前記入力画像から、所定の作業を行うように訓練される、ロボット訓練システム。
【請求項５】
前記ロボットの作業をシミュレートするシミュレータと、
前記シミュレータによる作業を評価する評価部と、
をさらに備えている、請求項４に記載のロボット訓練システム。
【請求項６】
入力画像に基づいて、対象物に対し所定の作業を行うロボットの動作を訓練するための学習用画像を生成する画像生成方法であって、
前記ロボットを含み、前記対象物を含まない実作業空間を撮像した第１画像を取得するステップと、
前記ロボットに対応する仮想ロボットと、前記対象物に対応する仮想対象物とを含む仮想作業空間を描画した第２画像を取得するステップと、
機械学習済みの学習器によって、前記第１画像及び第２画像を入力とし、前記第２画像に含まれる少なくとも前記仮想ロボットを、前記第１画像に含まれる前記ロボットに近似させるように前記第２画像を変換した第３画像を出力とするステップと、
を備えている、画像生成方法。
【請求項７】
入力画像に基づいて、対象物に対し所定の作業を行うロボットの動作を訓練するための学習用画像を生成するコンピュータに、
前記ロボットを含む実作業空間を撮像した第１画像を取得するステップと、
前記ロボットに対応する仮想ロボットと、前記対象物に対応する仮想対象物とを含む仮想作業空間を描画した第２画像を取得するステップと、
機械学習済みの学習器によって、前記第１画像及び第２画像を入力とし、前記第２画像に含まれる少なくとも前記仮想ロボットを、前記第１画像に含まれる前記ロボットに近似させるように前記第２画像を変換した第３画像を出力とするステップと、
を実行させる、画像生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成装置、ロボット訓練システム、画像生成方法、及び画像生成プログラムに関する。
【背景技術】
【０００２】
近年、ロボットの制御方法として、ビジュアルサーボシステムと呼ばれる制御方法が提案されている。例えば、対象物を把持するロボットの制御では、対象物を含む画像を入力画像としてカメラなどの視覚センサで取得し、この画像から特定されるロボットと対象物との位置関係に基づいて、対象物を把持するためにロボットが動作するための制御コマンドを生成する。そして、このような制御コマンドを生成するためには、取得された画像に適した制御コマンドを生成するための機械学習が行われる（例えば、特許文献１）。
【０００３】
ところで、上記のような機械学習を行うためには、種々の種類の対象物、あるいは種々の位置、向きで配置された対象物とロボットとの位置関係が写る学習用画像、及び各学習用画像に写る対象物に対してロボットが目標となる把持作業を行うための制御コマンド、を有する教師データが必要となり、一般的には、この教師データの数が多いほど、精度の高い学習を行うことができる。したがって、学習用画像としては、例えば、種類の異なる対象物が写る多数の画像や、あるいは対象物とロボットとの位置関係が異なる多数の画像が求められる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１８５５７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
学習用画像としては、例えば、実作業空間を撮影した撮影画像を用いるほか、ロボットや対象物を模した仮想作業空間が描画された仮想画像を用いることができる。しかしながら、種々の対象物が配置された実作業空間の画像を多数撮影して撮影画像を生成するのは容易ではない。一方、上記のような仮想画像は、コンピュータによって生成できるため、多数の画像を容易に生成することができるが、人工的に生成した画像であるため、撮影画像に写るロボットのような実際のロボットを完全に描画することはできない。そのため、仮想画像を用いると、例えば、ロボットと対象物との位置関係を正確に特定することができないことがあり、このような場合には、目標とする把持動作のための制御コマンドを出力できないおそれがある。
【０００６】
本発明は、上記問題を解決するためになされたものであり、入力画像に基づいて、対象物に対し所定の作業を行うロボットの動作を訓練するために適した学習用画像を容易に生成することができる、画像生成装置、ロボット訓練システム、画像生成方法、及び画像生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る画像生成装置は、入力画像に基づいて、対象物に対し所定の作業を行うロボットの動作を訓練するための学習用画像を生成する画像生成装置であって、前記ロボットを含み、前記対象物を含まない実作業空間を撮像した第１画像を取得する第１画像取得部と、前記ロボットに対応する仮想ロボットと、前記対象物に対応する仮想対象物とを含む仮想作業空間を描画した第２画像を取得する第２画像取得部と、前記第１画像及び第２画像を入力とし、前記第２画像に含まれる少なくとも前記仮想ロボットを、前記第１画像に含まれる前記ロボットに近似させるように前記第２画像を変換した第３画像を出力とするように、機械学習により訓練された学習器と、を備えている。
【０００８】
上記画像生成装置において、前記学習器は、前記第３画像を生成する生成器と、前記第２画像に基づいて、前記第１画像に前記仮想対象物が付加された第４画像を取得する第４画像取得部と、前記生成器及び前記第４画像取得部に接続される判別器と、をさらに備え、前記機械学習は、前記判別器に入力された前記第３画像が、前記第４画像であるか否かを判別するよう前記判別器を訓練する第１訓練ステップ、及び前記判別器による前記判別が誤るような前記第３画像を生成するよう前記生成器を訓練する第２訓練ステップを交互に行うことを含むように構成することができる。
【０００９】
上記画像生成装置において、前記学習器は、前記第３画像を入力とし、前記ロボットによる作業のパフォーマンスを出力するように訓練された予測器をさらに備えることができる。
【００１０】
本発明に係るロボット訓練システムは、前記入力画像を取得する撮像部と、前記ロボットと、上述したいずれかの画像生成装置と、を備え、前記ロボットは、前記画像生成装置で生成された前記第３画像を含む学習データによって、前記入力画像から、所定の処理作業を行うように訓練される。
【００１１】
上記ロボット訓練システムにおいては、前記ロボットの作業をシミュレートするシミュレータと、前記シミュレータによる作業を評価する評価部と、をさらに備えることができる。
【００１２】
本発明に係る画像生成方法は、入力画像に基づいて、対象物に対し所定の作業を行うロボットの動作を訓練するための学習用画像を生成する画像生成方法であって、前記ロボットを含み、前記対象物を含まない実作業空間を撮像した第１画像を取得するステップと、前記ロボットに対応する仮想ロボットと、前記対象物に対応する仮想対象物とを含む仮想作業空間を描画した第２画像を取得するステップと、前記第１画像及び第２画像を入力とし、前記第２画像に含まれる少なくとも前記仮想ロボットを、前記第１画像に含まれる前記ロボットに近似させるように前記第２画像を変換した第３画像を出力とするステップと、を備えている。
【００１３】
本発明に係る画像生成プログラムは、入力画像に基づいて、対象物に対し所定の作業を行うロボットの動作を訓練するための学習用画像を生成するコンピュータに、前記ロボットを含み、前記対象物を含まない実作業空間を撮像した第１画像を取得するステップと、前記ロボットに対応する仮想ロボットと、前記対象物に対応する仮想対象物とを含む仮想作業空間を表示した第２画像を取得するステップと、前記第１画像及び第２画像を入力とし、前記第２画像に含まれる少なくとも前記仮想ロボットを、前記第１画像に含まれる前記ロボットに近似させるように前記第２画像を変換した第３画像を出力とするステップと、を実行させる。
【発明の効果】
【００１４】
本発明によれば、入力画像に基づいて、対象物に対し所定の作業を行うロボットの動作を訓練するために適した学習用画像を容易に生成することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の処理システムを、把持システムに適用した場面の一例を示すブロック図である。
【図２】本発明の一実施形態に係る把持システムの概略構成図である。
【図３】図２のシステムに用いられる制御装置のハードウェア構成を示すブロック図である。
【図４】図２のシステムに用いられる学習装置のハードウェア構成を示すブロック図である。
【図５】図２のシステムに用いられる画像生成装置のハードウェア構成を示すブロック図である。
【図６】図２のシステムに用いられる評価装置のハードウェア構成を示すブロック図である。
【図７】図５の画像生成装置の機能ブロック図である。
【図８Ａ】仮想画像の例を示す図である。
【図８Ｂ】仮想画像の例を示す図である。
【図８Ｃ】仮想画像の例を示す図である。
【図８Ｄ】仮想画像の例を示す図である。
【図９Ａ】仮想画像と実画像との対応の例を示す図である。
【図９Ｂ】仮想画像と実画像との対応の例を示す図である。
【図９Ｃ】仮想画像と実画像との対応の例を示す図である。
【図１０Ａ】仮想画像、実画像、及び合成画像の一例を示す図である。
【図１０Ｂ】仮想画像、実画像、及び合成画像の一例を示す図である。
【図１１】図３の制御装置の機能ブロック図である。
【図１２】図４の学習装置の機能ブロック図である。
【図１３】図６の評価装置の機能ブロック図である。
【図１４】図２のシステムの動作例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明に係る画像生成装置、ロボット訓練システム、画像生成方法、及び画像生成プログラムの一実施形態について、図面を参照しつつ説明する。但し、以下で説明する実施形態は、あらゆる点において本発明の例示に過ぎず、本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００１７】
＜１．適用例＞
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、把持システム１００に、本発明に係る画像生成装置を含むロボット訓練システムを適用した場面の一例を模式的に例示している。但し、本発明の適用範囲は、以下で例示する把持システムの例に限られる訳ではない。すなわち、本発明は、入力画像を取得し、この入力画像に基づいて、対象物に対して所定の作業を行うようにロボットを訓練するロボット訓練システム全般に適用可能である。
【００１８】
図１に例示されるとおり、本実施形態に係る把持システム１００は、カメラ１、対象物Ｒを把持するロボット２、及びロボット２の動作を制御する制御装置３を含むビジュアルサーボ装置１０と、ロボット２の動作を訓練するための学習装置４と、学習装置４に用いられる学習用画像を生成する画像生成装置５と、ロボット２の学習結果を評価する評価装置６と、を有している。まず、ビジュアルサーボ装置１０について説明する。
【００１９】
このビジュアルサーボ装置１０では、ロボット２が対象物Ｒを把持する作業が行われる実作業空間が、カメラ１によって撮影されるように、カメラ１の視野が調整されている。ロボット２は、一例として、２個の曲げ関節２１、２２を有するアーム２０と、このアーム２０を垂直軸回りに回転可能に支持する支持台２３と、を備えている。また、アーム２０の先端には、対象物Ｒを把持するグリッパ２４が取り付けられている。そして、各曲げ関節２１，２２、アーム２０の支持台２３に対する回転、グリッパ２４により対象物Ｒの把持は、図示を省略する駆動モータによって行われる。駆動モータに対する制御コマンドは、制御装置３から出力され、これによって、ロボット２が対象物Ｒを把持し、所定の位置まで移動させる目標作業が実行される。すなわち、目標作業を実行するように、各曲げ関節２１，２２の曲げ角度、支持台２３に対するアーム２０の回転角度、グリッパ２４による把持の度合いが制御される。
【００２０】
そして、このようなロボット２の動作は、カメラ１によって撮影された画像に基づいて行われる。すなわち、カメラ１によって実作業空間を撮影し、対象物Ｒとロボット２が写る入力画像が取得される。そして、制御装置３の制御部３１は、この入力画像に写る対象物Ｒの種類、位置、向き等、及び対象物Ｒとロボット２との位置関係から、対象物Ｒを把持するために必要なロボット１の動作を特定し、その動作のために必要な制御コマンドをロボット２に対して出力する。
【００２１】
制御部３１は、入力画像に対応する適切な制御コマンドを出力するために、学習装置４によって機械学習されており、学習装置４が生成した学習結果データに基づいて、入力画像から制御コマンドを出力する制御を行う。ここで、ロボット２の動作の機械学習のためには、種々の種類の対象物Ｒ、あるいは種々の向きで配置された対象物Ｒとロボット２との位置関係が写る学習用画像と、各学習用画像に写る対象物Ｒに対してロボット２が目標作業を行うための制御コマンドと、を有する教師データが必要となり、一般的には、この教師データが多いほど、精度の高い学習を行うことができる。本実施形態では、このような学習に用いられる学習用画像を、画像生成装置５によって生成する。
【００２２】
本実施形態において、画像生成装置５は、２種類の画像を用いて学習用画像を生成する。一方の画像は、作業空間（対象物が入るトレイＴを含む）、ロボット２、対象物Ｒの全てを仮想的に描画した仮想画像（第２画像）であり、この仮想画像は仮想画像生成部５０１で生成される。他方の画像は、作業空間、ロボット２、及び対象物Ｒのうち、対象物Ｒのみを仮想的に生成し、この仮想製品画像を、カメラ１で撮影した作業空間及びロボット２の実画像（第１画像）と合成した合成画像（第４画像）である。この合成画像は加工器５０３で生成される。そして、これら２つの画像を用い、学習器５０９によって学習用画像（第３画像）を生成している。
【００２３】
ここで、仮想画像は、あくまでも実作業空間をコンピュータで生成したものであるため、実際の作業空間を忠実に描画できていないおそれがある。そのため、このような仮想画像をそのまま使用して学習装置４で学習を行うと、適切な学習結果データを生成することができない可能性がある。例えば、仮想画像に写る対象物Ｒとロボット２との位置関係が、実作業空間の位置関係を忠実に再現できていない場合には、仮想画像からは、不正確な位置関係しか特定することができず、これによって目標作業を行うための正しい制御コマンドが出力されないおそれがある。そこで、本実施形態では、対象物Ｒのみを仮想的に描画し、これを、カメラ１で撮影した作業空間及びロボット２の撮影画像に合成した合成画像を用いている。そして、この合成画像と仮想画像の２つの画像を用い、学習器５０９によって、仮想画像を合成画像に近似するように変換した学習用画像を生成している。すなわち、合成画像は、対象物以外は実画像を用いているため、実際の作業空間をほぼ忠実に表しており、これを用いることで、仮想画像から、実作業空間に近似した学習用画像を生成している。また、合成画像は、ロボットのみが実画像で、対象物はコンピュータで生成したものであるため、全ての学習用画像を撮影画像で準備するのに比べ、容易に生成することができる。
【００２４】
また、このような生成された学習用画像を学習装置４に送信する前に、これが適切なものであるかを予測器５０８によって予測する。この予測器５０８は、学習用画像が適切な制御を行うことができるものであるか否かの評価を出力するように学習されたものである。したがって、この予測器５０８を用いることで、学習装置４に学習用画像を送信する前に、その適否の確認を行うことができる。
【００２５】
こうして生成された学習用画像は、学習装置４に送信され、制御部３１の学習に用いられる。学習装置４で生成された学習結果データは、制御部３１でそのまま用いられてもよいが、本実施形態では、それに先立って、評価装置６によって評価を行うこととしている。すなわち、学習装置４で生成された学習結果データを評価装置６に送信し、評価装置６のシミュレータ６０１で、ロボット２による作業のシミュレーションを行う。そして、その結果を評価部６０２によって評価する。ここでの評価は、例えば、ロボット２が対象物Ｒを把持できた確率や、対象物Ｒの正しい位置を把持できる確率など、把持作業に係る種々の評価とすることができる。
【００２６】
そして、評価部６０２が、学習結果データに対し、適切な評価である旨の判定をすれば、その学習結果データは、実作業に使用できるものとして、制御部３１に送信される。また、この評価部６２による評価によって、上述した予測器５０８の再学習を行うことができ、これによって、予測器５０８の予測精度を向上することができる。
【００２７】
本実施形態に係る把持システムの構成は種々の変更が可能であるが、以下では、特に、上述した学習器５０９を機械学習の一つであるGenerative Adversarial Network（ＧＡＮ：敵対的生成ネットワーク）で構成した画像生成装置５を用いた例について説明する。以下、詳細に説明する。
【００２８】
＜２．構成例＞
＜２−１．ハードウエア構成＞
＜２−１−１．把持システムの概要＞
図２を用いて、本実施形態に係る画像処理装置５が含まれる把持システム１００について、説明する。図２に示すように、この把持システムは、ネットワーク１０を介して接続される制御装置３、画像生成装置４、制御装置３の学習装置５、及び評価装置６を備えている。そして、制御装置３には、ロボット２と、このロボット２を含む実作業空間を撮影するカメラ１とが接続され、ビジュアルサーボ装置１０を構成している。制御装置３、学習装置４、画像生成装置５、及び評価装置６の間のネットワークの種類は、特に限定されなくてもよく、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【００２９】
なお、図２の例では、制御装置３、学習装置４、画像生成装置５、及び評価装置６はそれぞれ別個のコンピュータである。しかしながら、把持システムの構成は、このような例に限定されなくてもよい。制御装置３、学習装置４、画像生成装置５、及び評価装置６の少なくともいずれかのペアは一体のコンピュータであってもよい。また、制御装置３、学習装置４、画像生成装置５、及び評価装置６は、それぞれ複数台のコンピュータにより構成されてもよい。
【００３０】
＜２−１−２．制御装置＞
次に、図３を更に用いて、本実施形態に係る制御装置３のハードウェア構成の一例について説明する。図３は、本実施形態に係る制御装置３のハードウェア構成の一例を模式的に例示する。
【００３１】
この制御装置３は、制御部３１、記憶部３２、外部インタフェース３３、及び通信インタフェース３４が電気的に接続されたコンピュータである。これにより、制御装置３は、カメラ１、把持装置２、及び後述するディスプレイ３５の動作を制御するように構成される。なお、図３では、外部インタフェース３３及び通信インタフェース３４を「外部Ｉ／Ｆ」及び「通信Ｉ／Ｆ」と記載している。この点は、後述する各種装置においても同様である。
【００３２】
制御部３１は、ＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部３２は、例えば、ＲＡＭ、ＲＯＭ等で構成され、制御プログラム３２１、学習結果データ３２２等を記憶する。制御プログラム３２１は、制御装置３にロボット２の制御処理を実行させるためのプログラムであり、学習装置４で生成された学習結果データ３２２に基づいて制御処理を行う。制御部３１は、この制御プログラム３２１を解釈及び実行することで、後述する各ステップの処理を実行するように構成される。
【００３３】
外部インタフェース３３は、外部装置と接続するためのインタフェースであり、接続する外部装置に応じて適宜構成される。本実施形態では、外部インタフェース３３が、ディスプレイ３５に接続されている。このディスプレイ３５は、例えば、把持装置２のステータスを表示するのに利用される。ディスプレイ３５は、当該ステータスを表示可能であれば特に限定されなくてもよく、公知の液晶ディスプレイ、タッチパネルディスプレイ等が用いられてよい。その他、外部インタフェース３３には、入力装置及び出力装置等を適宜接続することができる。
【００３４】
通信インタフェース３４は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、有線又は無線通信を行うためのインタフェースである。すなわち、通信インタフェース３４は、他の装置と通信を行うように構成された通信部の一例である。本実施形態では、ネットワーク１０を介して、上述したカメラ１、把持装置２、及び学習装置４に接続されている。
【００３５】
なお、制御装置３の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。制御部３１は、複数のプロセッサを含んでもよい。また、制御部３１は、ＦＰＧＡにより構成されてもよい。記憶部３２は、制御部３１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。また、記憶部３２は、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置で構成されてもよい。制御装置３は、提供されるサービス専用に設計された情報処理装置の他、制御する対象に応じて、汎用のデスクトップＰＣ、タブレットＰＣ等であってもよい。以上の点は、後述する学習装置４、画像生成装置５、及び評価装置６においても同じである。
【００３６】
＜２−１−３．ロボット＞
次に、ロボット２について説明する。ロボット２の概要は、上述したとおりであるが、さらに詳細な例について説明する。
【００３７】
各曲げ関節２１，２２の駆動やアームの回転を行う駆動モータは、サーボモータ、ブラシレスモータ等で構成される。また、各曲げ関節２１，２２、アーム２０の基端部には、ロータリエンコーダ等の角度を検出可能な角度センサが取り付けられている。
【００３８】
また、グリッパ２４には、これに作用する力を検出する力覚センサが取り付けられていてもよい。これにより、ロボット２は、グリッパ２４に作用する力を検出するように構成可能である。
【００３９】
なお、ロボット２の具体的な構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、曲げ関節２１，２２の数は、実施の形態に応じて適宜選択されてよい。また、曲げ関節２１，２２には、上記角度センサの他に、トルクセンサが取り付けられていてもよい。これにより、各曲げ関節２１，２２の曲げ角度をトルクにより制御することができる。
【００４０】
また、ロボット２は、制御コマンドに基づいて行った作業の結果を、制御装置３にフィードバックし、これを後述する制御装置３の学習に反映させることもできる。
【００４１】
＜２−１−４．カメラ＞
カメラ１は、ロボット２及び対象物Ｒを含む実作業空間を撮影するようになっている。なお、カメラ１は、所定の場所に固定されてもよいし、モータ等により撮影方向（向き）を変更可能に構成されてもよい。カメラ１には、一般のデジタルカメラ、ビデオカメラ、３６０度カメラ等が用いられてよいし、可視光撮影用でも赤外光撮影用カメラであってもよい。
【００４２】
＜２−１−５．学習装置＞
図４は、本実施形態に係る学習装置を示すブロック図である。図４に示すように、本実施形態に係る学習装置４は、制御装置３の制御部３１を学習するためのものであり、制御部４１、記憶部４２、通信インタフェース４３、入力装置４４、出力装置４５、外部インタフェース４６、及びドライブ４７が電気的に接続されたコンピュータである。
【００４３】
制御部４１は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、情報処理に応じて各構成要素の制御を行う。記憶部４２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置であり、制御部４１で実行される学習プログラム４２１、学習結果データ４２２、及び学習データ４２３等を記憶する。
【００４４】
学習プログラム４２１は、学習装置４に、ニューラルネットワーク等の機械学習による学習処理を実行させるためのプログラムである。学習結果データ４２２は、学習処理の結果のデータであり、制御装置３の制御部３１の設定を行うためのデータである。学習データ４２３は、学習を行うためのデータであり、この学習データ４２３の中に、後述する画像生成装置５で生成された学習用画像が含まれる。詳細は後述する。
【００４５】
通信インタフェース４３及び外部インタフェース４６は、制御装置３で示したものと同じである。入力装置４４は、例えば、マウス、キーボード等の入力を行うための装置であり、出力装置４５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。
【００４６】
ドライブ４７は、例えば、ＣＤ（Compact Disk）ドライブ、ＤＶＤ（Digital Versatile Disk）ドライブ等であり、記憶媒体４９に記憶されたプログラムを読み込むための装置である。ドライブ４７の種類は、記憶媒体４９の種類に応じて適宜選択されてよい。上記学習プログラム４２１及び／又は学習結果データ４２２は、この記憶媒体４９に記憶されていてもよい。
【００４７】
記憶媒体４９は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、このプログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。画像処理装置１は、この記憶媒体４９から、学習プログラム４２１及び／又は学習結果データ４２２を取得してもよい。
【００４８】
ここで、図４では、記憶媒体４９の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体４９の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００４９】
＜２−１−６．画像生成装置＞
図５は、本実施形態に係る画像生成装置を示すブロック図である。図５に示すように、本実施形態に係る画像生成装置５は、制御部５１、記憶部５２、通信インタフェース５３、入力装置５４、出力装置５５、外部インタフェース５６、及びドライブ５７が電気的に接続されたコンピュータである。
【００５０】
制御部５１〜ドライブ５７、及び記憶媒体５９はそれぞれ、上記学習装置４の制御部４１〜ドライブ４７及び記憶媒体４９と同様の構成を有する。ただし、画像生成装置５の記憶部５２は、制御部５１で実行される画像生成プログラム５２１と、後述する生成器５０４、判別器５０５、及び予測器５０８の学習にそれぞれ利用する第１学習データ５２２、第２学習データ５２３、及び第３学習データ５２４と、学習プログラム５２１を実行して作成した第１学習結果データ５２５、第２学習結果データ５２６、及び第３学習結果データ５２７を、主として記憶する。
【００５１】
なお、上記学習装置４と同様に、各種のプログラム５２１及びデータ５２２〜５２７は、記憶媒体５９に記憶されていてもよい。これに応じて、画像生成装置５は、これらのプログラム５２１及びデータ５２２〜５２７の少なくとも一つを記憶媒体５９から取得してもよい。
【００５２】
また、通信インタフェース５３には、ネットワーク１０を介してカメラ１が接続されており、カメラ１によって撮影された実作業空間の画像が送信される。但し、後述するように、ここで用いられる実作業空間の画像には、製品Ｒは含まれない。
【００５３】
＜２−１−７．評価装置＞
【００５４】
図６は、本実施形態に係る評価装置を示すブロック図である。図６に示すように、本実施形態に係る評価装置６は、制御部６１、記憶部６２、通信インタフェース６３、入力装置６４、出力装置６５、外部インタフェース６６、及びドライブ６７が電気的に接続されたコンピュータである。
【００５５】
制御部６１〜ドライブ６７、及び記憶媒体６９はそれぞれ、上記学習装置４の制御部４１〜ドライブ４７及び記憶媒体４９と同様の構成を有する。ただし、評価装置６の記憶部６２は、評価装置６で実行されるシミュレーションプログラム６２１と、シミュレーションの結果を評価する評価プログラム６２２と、評価結果６２３等を記憶する。
【００５６】
なお、上記学習装置４と同様に、各種のプログラム６２１，６２２は、記憶媒体６９に記憶されていてもよい。これに応じて、評価装置６は、これらのプログラム６２１，６２２の少なくとも一つを記憶媒体６９から取得してもよい。
【００５７】
また、通信インタフェース６３には、ネットワーク１０を介して学習装置４及び画像生成装置５が接続されている。これにより、この評価装置６は、ネットワーク１０を介して、学習装置４から学習結果データ４２２を取得するとともに、生成した評価結果６２３を画像生成装置５に送信し、予測器５０８の学習に用いる。
【００５８】
＜２−２．ソフトウェア構成＞
＜２−２−１．画像生成装置＞
次に、図７を参照しつつ、画像生成装置５のソフトウェア構成について説明する。図７に示すように、画像生成装置５の制御部５１は、記憶部５２に記憶された画像生成プログラム５２１をＲＡＭに展開すると、その画像生成プログラム５２１をＣＰＵにより解釈及び実行して、仮想画像生成部（第２画像取得部）５０１、抽出器５０２、加工器（第１画像取得部、第４画像取得部）５０３、生成器５０４、判別器５０５、学習処理部５０６、保存処理部５０７、及び予測器５０８を備えたコンピュータとして機能する。
【００５９】
仮想画像生成部５０１は、作業空間、ロボット２、対象物Ｒの全てを仮想的に生成した仮想画像を生成する。この仮想画像は、学習用画像の基礎となるため、多数の画像が生成される。例えば、図８Ａ〜図８Ｄに示すように、対象物Ｒの種類、位置、向きなどが相違する多数の仮想画像を生成する。その他、作業空間における照明(照度、色、向きなど)や、カメラ１の撮影位置を変えた仮想画像を生成することもできる。この仮想画像の中の対象物Ｒは、位置情報を含むことができる。
【００６０】
抽出器５０２は、作成された複数の仮想画像から、仮想画像毎に、作業空間内でのロボット及び対象物に関する特徴、つまり製品の形状、位置、向きなどの情報を抽出する。
【００６１】
加工器５０３は、カメラ１で撮影されたロボット２を含む作業空間の実画像を取得する。このとき、取得される実画像は、例えば、図９Ａ〜図９Ｃに示すように、仮想画像と対応するものを取得する。すなわち、各仮想画像と同じアームの回転位置、及び同じ関節角を有するロボット２、及び対象物Ｒが入るトレイＴが写った作業空間の実画像を取得する。例えば、図９Ｂ及び図９Ｃの例では、仮想画像に含まれる対象物のみが相違し、ロボットは同じ位置にあるため、これに対応する実画像は、一つでよい。そして、取得された実画像に対し、加工器５０３は、例えば、公知のＡＲ(Augmented Reality)等の技術を用い、対象物Ｒの画像を合成する。このとき、合成されたる対象物Ｒの画像は、抽出器５０２によって、対応する仮想画像から抽出された情報（位置情報など）に基づいて生成される。こうして加工器５０３において、実画像に対象物Ｒの画像が合成された合成画像が生成される。そして、仮想画像生成部５０１により生成された仮想画像は、生成器５０４に送信されるとともに、加工器５０３で生成された合成画像は、判別器５０５に送信される。図１０Ａ及び図１０Ｂに、仮想画像、実画像、及び合成画像の例を示す。
【００６２】
次に、生成器５０４及び判別器５０５について説明する。これら生成器５０４及び判別器５０５は、ＧＡＮによる学習ネットワークを構成している。そして、生成器５０４は、制御装置３や学習装置４と同様の多層構造のニューラルネットワークにより構成されている。同様に、判別器５０５も、多層構造のニューラルネットワークにより構成されている。但し、判別器５０５の構成は、生成器５０４と異なっていてよい。
【００６３】
そして、学習処理部５０６では、この学習ネットワークの機械学習を実施する。この機械学習を実施することは、判別器５０５を訓練する第１訓練ステップ及び生成器５０４を訓練する第２訓練ステップを交互に行うことを含む。学習処理部５０６は、第１訓練ステップでは、判別器５０５に入力された画像が、生成器５０４により生成された画像（後述する学習用画像）であるか、加工器５０３から送信された合成画像であるかを判別するように判別器５０５を訓練する。つまり、判別器５０５は、与えられた画像が加工器５０３由来か、生成器５０４由来かを判別するように訓練される。また、学習処理部５０６は、第２訓練ステップでは、判別器５０５による判別が誤るような画像を生成するように生成器５０４を訓練する。なお、ここでは、加工器５０３由来であることを「真」と表現し、生成器５０４由来であることを「偽」と表現する。ただし、各由来を表現する方法は、このような例に限定されなくてよく、実施の形態に応じて適宜選択されてよい。
【００６４】
具体的に、第１訓練ステップでは、学習処理部５０６は、仮想画像を生成器５０４の入力層に入力し、生成器５０４の演算処理を実行する。これにより、生成器５０４は、入力した仮想画像に対応した合成画像に近似する学習用画像を出力層から取得する。例えば、図１０Ａに示す仮想画像から、合成画像に近似するように、仮想画像を変換し、学習用画像を出力する。
【００６５】
そして、この学習用画像は、学習処理部５０６により、判別器５０５の入力層に入力され、判別器５０５の演算処理を実行する。これにより、学習用画像が生成器５０由来か加工器５０３由来かを判別した結果に対応する出力値を出力層から取得する。ここでは、判別器５０５に入力された画像は、生成器５０４の生成した学習用画像であるため、判別器５０５は、「偽」と判別するのが正解である。そして、出力層から得られる出力値とこの正解との誤差を算出する。学習処理部５０６は、各学習用画像について、出力層から得られる出力値とこの正解との誤差を算出する。
【００６６】
同様に、学習処理部５０６は、合成画像を判別器５０５の入力層に入力し、判別器５０５の演算処理を実行する。これにより、学習処理部５０６は、入力された画像が生成器５０４由来か加工器５０３由来かを判別した結果に対応する出力値を出力層から取得する。ここでは、入力された画像は合成画像であるため、判別器５０５は、「真」と判別するのが正解である。学習処理部５０６は、各合成画像について、出力層から得られる出力値とこの正解との誤差を算出する。
【００６７】
そして、学習処理部５０６は、算出される誤差の和が小さくなるように、判別器５０５のパラメータの値を調節する。出力層から得られる出力値と真偽の正解との誤差の和が閾値以下になるまで、学習処理部５０６は、上記一連の処理により、判別器５０５のパラメータの値の調節を繰り返す。これにより、第１訓練ステップでは、学習処理部５０６は、生成器５０５により生成された学習用画像であるか、合成画像であるかを判別するように判別器５０５を訓練する。
【００６８】
一方、第２訓練ステップでは、学習処理部５０６は、仮想画像を生成器５０４の入力層に入力し、生成器５０４の演算処理を実行する。これにより、学習処理部５０６は、上述したように、入力した仮想画像に対応した合成画像に近似する学習用画像を出力層から取得する。すなわち、仮想画像を、実画像が含まれる合成画像に近似した画像となるように変換した学習用画像を出力する。
【００６９】
次に、学習処理部５０６は、生成された学習用画像を判別器５０５の入力層に入力し、判別器５０５の演算処理を実行する。これにより、学習処理部５０６は、入力された学習用画像が生成器５０４由来か加工器５０３由来かを判別した結果に対応する出力値を出力層から取得する。この生成器５０４の訓練では、判別器５０５による判別の結果が誤らせることが正解である。つまり、生成器５０４で生成された学習用画像が、合成画像と見間違うほどに近似したものが生成されていればよく、出力層から得られる出力値が「真」に対応することが正解である。学習処理部５０６は、各学習用画像と合成画像の組み合わせについて、一連の処理により出力層から得られる出力値とこの正解（つまり、「真」）との誤差を算出する。
【００７０】
そして、学習処理部５０６は、算出される誤差の和が小さくなるように、生成器５０４のパラメータの値を調節する。各学習用画像と合成画像との組み合わせについて、一連の処理により出力層から得られる出力値と「真」との誤差の和が閾値以下になるまで、学習処理部５０６は、上記一連の処理により、生成器５０４のパラメータの値の調節を繰り返す。これにより、第２訓練ステップでは、学習処理部５０６は、判別器５０５による判別が誤るような学習用画像を生成するように生成器５０４を訓練する。
【００７１】
このように、学習処理部５０６は、上記第１訓練ステップ及び第２訓練ステップを交互に実施することで、判別器５０５及び生成器５０４の精度を交互に高めていく。これにより、生成器５０４は、実画像が含まれた合成画像とほぼ同じであるような学習用画像を適切に生成する能力を習得することができる。
【００７２】
この機械学習が完了した後、保存処理部５０７は、構築された生成器５０４及び判別器５０５の構成（例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数）、及び演算パラメータ（例えば、各ニューロン間の結合の重み、各ニューロンの閾値）をそれぞれ示す第１学習結果データ及び第２学習結果データを生成する。そして、保存処理部５０７は、生成した第１及び第１学習結果データを所定の記憶領域に保存する。
【００７３】
こうして、学習された生成器５０４に仮想画像生成器５０１により生成された仮想画像を入力すると、合成画像に近似する学習用画像を生成することができる。このように、学習用画像を生成するに当たっては、実際の対象物Ｒを含む実画像を準備する必要がなく、学習用画像の生成の負荷を低減することができる。すなわち、学習用画像の生成を容易に行うことができる。そして、この学習用画像は、学習装置４に送信されるのであるが、その前に、この学習用画像が適切なものであるかを判定するために、予測器５０８が準備されている。この予測器５０８は、多層構造のニューラルネットワークにより構成されており、学習済みの生成器５０４において生成された学習用画像を入力とし、この学習用画像が把持装置２の制御に適切なものであるかを否かを出力とするように学習されている。その学習データは、次に説明する評価装置で出力された評価を用いることができる。すなわち、生成された学習用画像を用いて学習された学習結果データに基づいて、ロボット２のシミュレーションを行った結果、把持作業が適切に行われれば、その学習用画像は適切なものと判断できる。一方、把持作業が適切でなかった場合には、その学習用画像は適切ではないと判断できる。したがって、学習用画像と、評価装置６による評価との組み合わせを学習データとして予測器５０８を学習させれば、シミュレーションを行う前に、予測器５０８によって生成された学習用画像の適否を判断することができる。このとき生成される予測器５０８の学習結果データが、第３学習結果データとなる。
【００７４】
＜２−２−１．制御装置＞
次に、図１１を参照しつつ、制御装置３のソフトウェア構成について説明する。図１１に示すように、制御装置３の制御部３１は、記憶部３２に記憶された制御プログラム３２１をＲＡＭに展開すると、その制御プログラム３２１をＣＰＵにより解釈及び実行して、学習結果データ取得部３８１、入力画像取得部３８２、処理部３８３、及び送信部３８４を備えたコンピュータとして機能する。
【００７５】
学習結果データ取得部３８１は、学習装置４から学習結果データ４２２を取得する。また、入力画像取得部３８２は、カメラ１から送信された入力画像を取得する。そして、処理部３８３は、入力画像が入力されると、この入力画像に基づいて、ロボット２の動作のための制御コマンドを出力するように学習されている学習器を構成する。
【００７６】
このような出力を行う処理部３８３は、ニューラルネットワーク３０で構成されている。具体的には、図１１に示すような、いわゆる深層学習に用いられる多層構造のニューラルネットワーク３０であり、入力から順に、入力層３０１、中間層（隠れ層）３０２、及び出力層３０３を備えている。
【００７７】
図１１の例では、ニューラルネットワーク３０は１層の中間層３０２を備えており、入力層３０１の出力が中間層３０２の入力となり、中間層３０２の出力が出力層３０３の入力となっている。ただし、中間層３０２の数は１層に限られなくてもよく、ニューラルネットワーク３０は、中間層３０２を２層以上備えてもよい。
【００７８】
各層３０１〜３０３は、１又は複数のニューロンを備えている。例えば、入力層３０１のニューロンの数は、入力画像の数に応じて設定することができる。中間層３０２のニューロンの数は実施の形態に応じて適宜設定することができる。また、出力層３０３も、制御コマンドの数に応じて設定することができる。
【００７９】
隣接する層のニューロン同士は適宜結合され、各結合には重み（結合荷重）が設定されている。図７の例では、各ニューロンは、隣接する層の全てのニューロンと結合されているが、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
【００８０】
各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。制御装置３は、このようなニューラルネットワーク３０の入力層３０１に上記入力画像を入力することで、出力層７３から最適なロボットの動作を示す制御コマンドを得る。
【００８１】
なお、このようなニューラルネットワーク３０の構成（例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数）、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、学習装置４で生成された学習結果データ４２２に含まれている。したがって、学習結果データ取得部３８１は、学習装置４から送信された学習結果データ４２２を参照して、学習済みのニューラルネットワーク３０、つまり処理部３８３の設定を行う。
【００８２】
そして、処理部３８３によって出力された制御コマンドは、送信部３８４によって、ロボット２に送信される。
【００８３】
＜２−２−３．学習装置＞
次に、図１２を参照しつつ、学習装置４のソフトウェア構成について説明する。図１２に示すように、学習装置４の制御部４１は、記憶部４２に記憶された学習プログラム４２１をＲＡＭに展開すると、その学習プログラム４２１をＣＰＵにより解釈及び実行して、学習データ生成部４８１、処理部４８２、送信部４８３を備えたコンピュータとして機能する。
【００８４】
学習データ生成部４８１は、画像生成装置５から受信した学習用画像と、その学習用画像に写るロボット２と対象物Ｒとの位置関係から適切な把持作業を行うための制御コマンドとを収集し、これらより学習データ４２３を生成する。そして、処理部４８２は、ニューラルネットワーク４０を学習器として有しており、学習データ４２３を用いて、ニューラルネットワーク４０の学習を、誤差伝播法などで学習する。そして、この学習の結果得られた学習結果データ４２２は、送信部４８３によって制御装置３に送信される。
【００８５】
＜２−２−４．評価装置＞
次に、図１３を参照しつつ、評価装置６のソフトウェア構成について説明する。図１３に示すように、評価装置６の制御部６１は、記憶部６２に記憶されたシミュレーションプログラム６２１をＲＡＭに展開すると、そのシミュレーションプログラム６２１をＣＰＵにより解釈及び実行して、シミュレータ６０１及び評価部６０２を備えたコンピュータとして機能する。
【００８６】
シミュレータ６０１は、学習装置４から受信した学習結果データ４２２に基づいて、把持装置２のシミュレーションを行う。したがって、シミュレータ６０１は、上記学習結果データ４２２が組み込まれた制御装置３及びロボット２をコンピュータ上で再現し、所定の入力画像を入力したときに、ロボット２が適切な把持操作を行うか否かのシミュレーションを行う。そして、評価部６０２は、その動作の評価を行う。すなわち、上述したように、シミュレーションの結果、ロボット２が対象物Ｒを把持できたか、対象物Ｒを正しい角度で把持できたか、対象物Ｒの正しい位置を把持できたか、搬送後、対象物Ｒを正しく配置できたか等の評価を行う。そして、評価が所定値以上であれば、このシミュレーションに用いられた学習結果データは、適切なものと判断することができ、制御装置３で使用される。
【００８７】
また、評価に用いられた学習結果データを生成するために用いられた学習用画像は、上述した画像生成装置５の予測器５０８の学習に用いられる。
【００８８】
＜３．動作例＞
次に、上記のように構成された把持システムの動作例について図１４のフローチャートを参照しつつ説明する。まず、画像などのデータの収集を行う（ステップＳ１０１）。すなわち、カメラ１によって複数の実画像を取得したり、仮想画像生成器５０１によって複数の仮想画像を取得する。次に、取得した画像から合成画像を生成する。すなわち、仮想画像からロボット２及び対象物Ｒに関する特徴を抽出し、これに基づいて対応する実画像に対象物を合成した合成画像を生成する（ステップＳ１０２）。続いて、仮想画像及び合成画像に基づいて、生成器５０４と判別器５０５の訓練を行う（ステップＳ１０３）。こうして、生成器５０４の訓練が完了すれば、訓練済みの生成器５０４を用いて仮想画像から学習用画像を生成する（ステップＳ１０４）。
【００８９】
生成された学習用画像は、学習装置４に送信され、学習装置４により、制御装置３を駆動するための学習結果データを生成する。そして、評価装置６により、生成された学習結果データが適切であるかを評価し（ステップＳ１０５）、適切である場合には、この学習結果データを制御装置３に実装し、カメラ１及びロボット２を用いて、実際に対象物の把持作業を行う（ステップＳ１０６）。
【００９０】
＜４．特徴＞
以上のように本実施形態によれば、ロボット２の制御装置３を学習するための学習用画像を画像生成装置５によって生成している。このような学習用の画像は、実画像に近いものを用いなければ、ロボット２がうまく作動しないおそれがある。しかしながら、ロボット２や対象物Ｒの位置、向きを変えた多数の学習用画像を準備するのは容易ではない。そこで、本実施形態では、ロボット２及びトレイＴのみを含む実作業空間の実画像を取得し、これに対象物の仮想Ｒの画像を合成した合成画像を生成している。そして、ＧＡＮを用いることで、仮想画像を、合成画像に近似するような学習用画像に変換し、これを学習用画像として採用している。したがって、学習用画像を生成するに当たって、実際の対象物Ｒを含む実画像を準備する必要がなく、学習用画像の生成の負荷を低減することができる。すなわち、学習用画像の生成を容易に行うことができる。また、生成される学習用画像に含まれるロボットＲを含む実作業空間は、実画像に近似するように生成されているため、この画像から誤ったロボット２と対象物Ｒとの位置関係が特定されるのを防止することができ、精度の高い学習が可能となる。
【００９１】
＜５．変形例＞
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【００９２】
＜５−１＞
上記実施形態では、処理部３８３、処理部４８２、生成器５０４、判別部５０５、及び予測器５０８にはいわゆる多層構造の全結合ニューラルネットワークが用いられている。しかしながら、これらを構成するニューラルネットワークの構造及び種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、これらの少なくとも一つに畳み込みニューラルネットワークが利用されてよい。
【００９３】
＜５−２＞
上実施形態では、仮想画像生成器５０１を画像処理装置５内に設けているが、仮想画像を別の装置で生成し、これを画像処理装置５が取得した上で、上記のような処理を行うこともできる。上記実施形態では、実画像に、ロボット２とトレイＴを含む実作業空間が写っているが、少なくともロボット２が写されていればよい。
【００９４】
＜５−３＞
上実施形態では、画像生成装置５に予測器５０８を設けているが、予測器５０８は必ずしも必要ではなく、設けなくてもよい。
【００９５】
＜５−４＞
上実施形態では、ＧＡＮにより仮想画像と合成画像から、学習用画像を生成しているが、ＧＡＮ以外を用い、実画像を含む画像に近似するような学習用画像を仮想画像に基づいて生成することもできる。
【００９６】
＜５−５＞
上記実施形態では、ロボット２が対象物を把持する制御のための学習用画像を画像生成装置５によって生成している。しかしながら、このような学習用画像の生成は、対象物を把持する場合に限られず、ロボットが、対象物に対して何らかの作業を行うビジュアルサーボシステム全般に適用することができる。すなわち、対象物を押したり、動かしたり、加工したり等の作業を行う制御を画像に基づいて行うようなシステム全般に、本発明の画像生成装置を適用することができる。
【符号の説明】
【００９７】
１  カメラ（撮像部）
２  ロボット
３  制御装置
４  学習装置
５  画像生成装置
５０４  生成器
５０５  判別器
５０８  予測器
６  評価装置
【図１】
2020082315.tif 000003
【図２】
2020082315.tif 000004
【図３】
2020082315.tif 000005
【図４】
2020082315.tif 000006
【図５】
2020082315.tif 000007
【図６】
2020082315.tif 000008
【図７】
2020082315.tif 000009
【図８Ａ】
2020082315.tif 000010
【図８Ｂ】
2020082315.tif 000011
【図８Ｃ】
2020082315.tif 000012
【図８Ｄ】
2020082315.tif 000013
【図９Ａ】
2020082315.tif 000014
【図９Ｂ】
2020082315.tif 000015
【図９Ｃ】
2020082315.tif 000016
【図１０Ａ】
2020082315.tif 000017
【図１０Ｂ】
2020082315.tif 000018
【図１１】
2020082315.tif 000019
【図１２】
2020082315.tif 000020
【図１３】
2020082315.tif 000021
【図１４】
2020082315.tif 000022