JP7264184B2 - 学習装置、学習方法、及び学習プログラム - Google Patents

学習装置、学習方法、及び学習プログラム Download PDF

Info

Publication number
JP7264184B2
JP7264184B2 JP2021064707A JP2021064707A JP7264184B2 JP 7264184 B2 JP7264184 B2 JP 7264184B2 JP 2021064707 A JP2021064707 A JP 2021064707A JP 2021064707 A JP2021064707 A JP 2021064707A JP 7264184 B2 JP7264184 B2 JP 7264184B2
Authority
JP
Japan
Prior art keywords
learning
simulator
neural network
real environment
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021064707A
Other languages
English (en)
Other versions
JP2022160144A (ja
Inventor
徳晃 廣瀬
峻 田口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Central R&D Labs Inc
Original Assignee
Toyota Central R&D Labs Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Central R&D Labs Inc filed Critical Toyota Central R&D Labs Inc
Priority to JP2021064707A priority Critical patent/JP7264184B2/ja
Publication of JP2022160144A publication Critical patent/JP2022160144A/ja
Application granted granted Critical
Publication of JP7264184B2 publication Critical patent/JP7264184B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、学習装置、学習方法、及び学習プログラムに関する。
例えば、非特許文献1には、シミュレータ上でロボットアームを用いたマニピュレーションタスクを実行する技術が記載されている。この技術では、箱の中の目標オブジェクトを取り出すことをタスクとしており、目標オブジェクトは、画像として与えられる。また、ロボットの観測量も画像として与えられる。この技術では、シミュレータで学習されたニューラルネットワークを実環境で動作させるために、シミュレータで生成された画像の色味が変化した場合に、ニューラルネットワークの特徴量の変化が小さくなるように学習している。具体的には、シミュレータの画像においてランダムにRGBの数値を変更し、変更前後の画像をニューラルネットワークに入力し、その特徴間の誤差が小さくなるように学習する。
また、非特許文献2には、画像のみを用いたナビゲーションのための制御則を、人がロボットをテレオペレーションして収集したデータから学習する技術が記載されている。この技術では、目標ゴール、及びロボットの観測量は共に画像で与えられ、ロボット自身のカメラの画像が目標ゴールと一致するための制御入力(併進速度、旋回角速度)を出力し、学習する際に予測画像を利用することを特徴としている。この技術では、実環境だけでなく、シミュレータでも仮想的なロボットをテレオペレーションすることでデータを収集し、これらをランダムに混ぜて学習することで、実環境でのナビゲーション性能を向上させている。
Yasuhiro Fujita, et al. "Distributed Reinforcement Learning of Targeted Grasping with Active Vision for Mobile Manipulators" IROS2020 Noriaki Hirose, et al. "Deep visual MPC-policy learning for navigation" IEEE Robotics and Automation Letters, Vol.4, No.4, p.3184-3191, 2020
しかしながら、非特許文献1に記載の技術では、画像の色味(RGB)を一様に変化させるのみであるため、 その画像変化が実画像とシミュレータ画像との間の違いを表現できない状況では機能しない。また、色味を変化させたときの特徴差がでないニューラルネットワークになるため、例えば、複数の異なる色で同一形状のオブジェクトが入った箱の中から、特定の色のオブジェクトを取り出すことは難しい。
一方、非特許文献2に記載の技術では、実環境で容易にデータセット(特に真値)を集められる場合は、シミュレータのデータと実環境のデータとをランダムに混ぜ合わせることで学習することができる。ただし、実環境で自律移動する際には、目標画像を事前に収集しなければならない。このため、その解決策として、シミュレータの画像を目標画像とすることが考えられる。しかしながら、目標画像をシミュレータの画像、現在のロボットの画像を実環境の画像として学習していない、すなわち、学習では両方ともシミュレータの画像又は両方とも実環境の画像を用いるため、性能が劣化するという問題がある。
つまり、主にシミュレータの観測量を用いて学習されたニューラルネットワークでは、実環境の観測量に対して同様の性能が発揮できない場合がある。
本開示は、上記の事情に鑑みてなされたものであり、シミュレータの観測量に対してだけでなく、実環境の観測量に対しても同様の性能を発揮するようにニューラルネットワークを学習することができる学習装置、学習方法、及び学習プログラムを提供することを目的とする。
上記目的を達成するために、第1態様に係る学習装置は、ニューラルネットワークの学習装置であって、シミュレータにより生成された観測量を前記ニューラルネットワークに入力して得られる第1特徴量と、実環境から得られた観測量を前記ニューラルネットワークに入力して得られる第2特徴量とを取得する取得部と、前記第1特徴量と前記第2特徴量との差を含む評価関数を用いて、前記ニューラルネットワークを学習する学習部と、を備える。
また、第2態様に係る学習装置は、第1態様に係る学習装置において、前記実環境で動作する物体の複数の位置姿勢候補の各々に対応して、前記シミュレータを用いて複数の観測量を生成する生成部と、前記生成部により生成された複数の観測量のうち、前記実環境の前記物体から得られた観測量との類似度が最も高い観測量を、前記ニューラルネットワークに入力する前記シミュレータの観測量として決定する決定部と、を更に備える。
また、第3態様に係る学習装置は、第2態様に係る学習装置において、前記複数の位置姿勢候補が、前記実環境で前記物体が観測量を収集する際に自己位置を推定した結果から得られる。
また、第4態様に係る学習装置は、第1態様~第3態様の何れか1の態様に係る学習装置において、前記シミュレータにより生成された観測量が、前記シミュレータにより生成された画像として表され、前記実環境から得られた観測量が、前記実環境から得られた画像として表される。
また、第5態様に係る学習装置は、第1態様~第3態様の何れか1の態様に係る学習装置において、前記シミュレータにより生成された観測量が、前記シミュレータにより生成された画像及び当該画像の被写体までの距離を表す深度として表され、前記実環境から得られた観測量が、前記実環境から得られた画像及び当該画像の被写体までの距離を表す深度として表される。
更に、上記目的を達成するために、第6態様に係る学習方法は、ニューラルネットワークの学習装置が実行する学習方法であって、シミュレータにより生成された観測量を前記ニューラルネットワークに入力して得られる第1特徴量と、実環境から得られた観測量を前記ニューラルネットワークに入力して得られる第2特徴量とを取得し、前記第1特徴量と前記第2特徴量との差を含む評価関数を用いて、前記ニューラルネットワークを学習する。
更に、上記目的を達成するために、第7態様に係る学習プログラムは、ニューラルネットワークの学習プログラムであって、コンピュータを、シミュレータにより生成された観測量を前記ニューラルネットワークに入力して得られる第1特徴量と、実環境から得られた観測量を前記ニューラルネットワークに入力して得られる第2特徴量とを取得する取得部、及び、前記第1特徴量と前記第2特徴量との差を含む評価関数を用いて、前記ニューラルネットワークを学習する学習部、として機能させる。
本開示の技術によれば、シミュレータの観測量に対してだけでなく、実環境の観測量に対しても同様の性能を発揮するようにニューラルネットワークを学習することができる、という効果を有する。
第1の実施形態に係る学習システムの構成の一例を示すブロック図である。 第1の実施形態に係る学習装置の機能的な構成の一例を示すブロック図である。 実施形態に係るニューラルネットワークの一例を示す概念図である。 第1の実施形態に係る学習プログラムによる処理の流れの一例を示すフローチャートである。 第2の実施形態に係る学習装置の機能的な構成の一例を示すブロック図である。 第2の実施形態に係る学習プログラムによる処理の流れの一例を示すフローチャートである。
以下、図面を参照して、本開示の技術を実施するための形態の一例について詳細に説明する。なお、動作、作用、機能が同じ働きを担う構成要素及び処理には、全図面を通して同じ符合を付与し、重複する説明を適宜省略する場合がある。各図面は、本開示の技術を十分に理解できる程度に、概略的に示してあるに過ぎない。よって、本開示の技術は、図示例のみに限定されるものではない。また、本実施形態では、本開示の技術と直接的に関連しない構成や周知な構成については、説明を省略する場合がある。
[第1の実施形態]
図1は、第1の実施形態に係る学習システム100の構成の一例を示すブロック図である。
図1に示すように、本実施形態に係る学習システム100は、学習装置10と、シミュレータ20と、ロボット30と、を備えて構成される。
シミュレータ20は、実環境でのロボット30の動作をシミュレートするシミュレータである。シミュレータ20は、例えば、公知のシミュレーションソフトウェアを用いて実現される。具体的に、シミュレータ20は、シミュレーションソフトウェアが予めインストールされた情報処理装置として実現してもよいし、学習装置10にシミュレーションソフトウェアをインストールして学習装置10と一体的に実現してもよい。
ロボット30は、実環境で動作する物体の一例である。ロボット30には、センサ群及びカメラが設けられている。センサ群は、ロボット30(自機)の周囲の状況を把握するための各種のセンサにより構成されている。センサ群は、例えば、外部の所定範囲に探査波を送信するミリ波レーダと、少なくとも前方の所定範囲をスキャンするLIDAR(Light Detection and Ranging/Laser Imaging Detection and Ranging)と、を含んでいる。また、カメラは、自機の所定方向の所定範囲を撮影する。具体的に、カメラは、自機の全周囲に設けられており、自機の全周囲領域を撮影する。なお、実環境で動作する物体は、ロボット30に限定されるものではなく、例えば、自動運転車両等であってもよい。
本実施形態に係る学習装置10には、例えば、サーバコンピュータ、パーソナルコンピュータ(PC:Personal Computer)等の汎用的なコンピュータ装置が適用される。
学習装置10は、プロセッサ11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、入出力インターフェース(I/O)14と、記憶部15と、表示部16と、操作部17と、通信部18と、を備えている。なお、プロセッサ11は、一例として、CPU(Central Processing Unit)もしくはGPU(Graphics Processing Unit)、又は、CPU及びGPUの組み合わせであってもよい。
プロセッサ11、ROM12、RAM13、及びI/O14は、バスを介して各々接続されている。I/O14には、記憶部15と、表示部16と、操作部17と、通信部18と、を含む各機能部が接続されている。これらの各機能部は、I/O14を介して、プロセッサ11と相互に通信可能とされる。
プロセッサ11、ROM12、RAM13、及びI/O14によって制御部が構成される。制御部は、学習装置10の一部の動作を制御するサブ制御部として構成されてもよいし、学習装置10の全体の動作を制御するメイン制御部の一部として構成されてもよい。制御部の各ブロックの一部又は全部には、例えば、LSI(Large Scale Integration)等の集積回路又はIC(Integrated Circuit)チップセットが用いられる。上記各ブロックに個別の回路を用いてもよいし、一部又は全部を集積した回路を用いてもよい。上記各ブロック同士が一体として設けられてもよいし、一部のブロックが別に設けられてもよい。また、上記各ブロックのそれぞれにおいて、その一部が別に設けられてもよい。制御部の集積化には、LSIに限らず、専用回路又は汎用プロセッサを用いてもよい。
記憶部15としては、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等が用いられる。記憶部15には、本実施形態に係る学習プログラム15Aが記憶される。なお、この学習プログラム15Aは、ROM12に記憶されていてもよい。
学習プログラム15Aは、例えば、学習装置10に予めインストールされていてもよい。学習プログラム15Aは、不揮発性の記憶媒体に記憶して、又はネットワークを介して配布して、学習装置10に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が想定される。
表示部16には、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(Electro Luminescence)ディスプレイ等が用いられる。表示部16は、タッチパネルを一体的に有していてもよい。操作部17には、例えば、キーボードやマウス等の操作入力用のデバイスが設けられている。表示部16及び操作部17は、学習装置10のユーザから各種の指示を受け付ける。表示部16は、ユーザから受け付けた指示に応じて実行された処理の結果や、処理に対する通知等の各種の情報を表示する。
通信部18は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等のネットワークに接続されており、他のPC等の外部機器との間でネットワークを介して通信が可能とされる。
ところで、上述したように、主にシミュレータの観測量を用いて学習されたニューラルネットワークでは、実環境の観測量に対して同様の性能が発揮できない場合がある。
このため、本実施形態に係る学習装置10のプロセッサ11は、記憶部15に記憶されている学習プログラム15AをRAM13に書き込んで実行することにより、図2に示す各部として機能する。
図2は、第1の実施形態に係る学習装置10の機能的な構成の一例を示すブロック図である。
図2に示すように、本実施形態に係る学習装置10のプロセッサ11は、取得部11A及び学習部11Bとして機能する。
記憶部15には、学習装置10の機械学習により生成される学習モデルとしてニューラルネットワーク(Neural Network:NN)が記憶される。また、記憶部15には、ニューラルネットワークの学習に使用する学習用データとして、シミュレータ画像、実環境画像が記憶される。シミュレータ画像はシミュレータ20により生成された画像であり、実環境画像はロボット30のカメラによって実環境を撮影して得られた画像である。
ここで、図3を参照して、本実施形態に係るニューラルネットワークの概要について説明する。
図3は、本実施形態に係るニューラルネットワークの一例を示す概念図である。
図3に示すニューラルネットワークは、入力層x、隠れ層(中間層とも称する)y、及び出力層zを有している。
図3に示すニューラルネットワークは、説明を簡単化するために、最も単純な3層構成としているが、隠れ層yを2層以上とした多層構成としてもよい。また、出力層zのノード(ニューロンともいう。)を1つにしているが、複数のノードで構成してもよい。
ここで、ニューラルネットワークに対して、入力が与えられたときの出力の計算は、入力から順に以下の式(1)を用いて行われる。なお、f(・)は活性化関数と呼ばれ、一例としてシグモイド関数等が用いられる。また、xは入力層xの入力、yは隠れ層yの出力、zは出力層zの出力、wij、uは重み係数である。これらの重み係数wij、uを変化させることで同じ入力に対して異なる出力が得られる。つまり、狙った出力が得られるように重み係数wij、uを更新させることで、各モデルの学習が行われる。
Figure 0007264184000001
・・・(1)
取得部11Aは、シミュレータ20により生成された観測量をニューラルネットワークに入力して得られる第1特徴量と、実環境から得られた観測量をニューラルネットワークに入力して得られる第2特徴量とを取得する。但し、シミュレータ20により生成された観測量とは、例えば、上記のシミュレータ画像であり、実環境から得られた観測量とは、例えば、上記の実環境画像である。なお、観測量は、画像に限定されるものではなく、例えば、上述のLIDARから得られる点群データ等であってもよい。観測量は、画像及び深度であってもよい。なお、深度は、画像の被写体までの距離として表される。
学習部11Bは、取得部11Aにより取得された、第1特徴量と第2特徴量との差を含む評価関数を用いて、ニューラルネットワークを学習する。
本実施形態では、例えば、シミュレータ20でデータセット(入力データと真値)が得られるが、実環境では入力データしか収集できない場合に好適である。以下では、単眼深度推定、走行可否判断、及び、画像を用いた自律移動を例に挙げて具体的に説明する。
[単眼深度推定]
単眼深度推定は、単眼カメラで撮影した画像から深度、つまり、画像の被写体までの距離を推定する技術であり、基本的に実環境で真値深度を得ることは難しい。一方、シミュレータ20では真値深度は容易に収集できるため、以下のニューラルネットワークを学習することが可能とされる。以下、説明を簡単にするために、活性化関数f(・)を単にニューラルネットワークと称する。
sim=f(Isim
est=fdepth(Zsim
ここで、Isimはシミュレータ20の画像を示し、Zsimはニューラルネットワークf(・)で抽出したシミュレータ画像Isimの特徴量(第1特徴量)を示す。Destは推定された深度を示し、fdepth(・)は深度を推定するニューラルネットワークを示す。通常、深度の真値Dgtと推定値Destとの誤差を最小とするように、f(・)及びfdepth(・)を学習するが、この場合、実環境画像Irealを入力した場合に推定性能が劣化する場合がある。そこで、本実施形態では、以下の式(2)に示す評価関数Lを導入する。
L=(Dgt-Dest+q(Zsim-Zreal ・・・(2)
real=f(Ireal
ここで、Zrealはニューラルネットワークf(・)で抽出した実環境画像Irealの特徴量(第2特徴量)を示す。qは重み係数を示す。上記式(2)において右辺第2項、つまり、第1特徴量Zsimと第2特徴量Zrealとの差を加えることで、第1特徴量Zsimと第2特徴量Zrealとの差が小さくなって、実環境画像Irealを入力しても性能を維持することができる。
[走行可否判断]
単眼カメラで撮影した画像から機械学習で走行可否判断を行う場合、走行できたか、あるいは、走行できなかったか(障害物との衝突、もしくは障害物の落下)のデータを収集する必要がある。この場合、走行できないデータを実環境で収集することは危険を伴うため、望ましくない。一方、シミュレータ20では危険を伴わずにデータを集めることが可能である。このとき、走行可能確率Pestは次式によって推定されるとする。
sim=f(Isim
est=ftrav(Zsim
ここで、f(・)はシミュレータ画像Isimから第1特徴量Zsimを抽出するニューラルネットワークを示し、ftrav(・)は走行可能確率Pestを推定するニューラルネットワークを示す。通常、走行可能確率の真値pgt(走行可能の場合:1、走行不可の場合:0)との差が小さくなるように学習するが、この場合、上記単眼深度推定と同様に実環境画像Irealが入力された場合に性能が劣化する場合がある。そこで、本実施形態では、以下の式(3)に示す評価関数Lを導入する。
L=(Pgt-Pest+q(Zsim-Zreal ・・・(3)
real=f(Ireal
ここで、Zrealはニューラルネットワークf(・)で抽出した実環境画像Irealの特徴量(第2特徴量)を示す。qは重み係数を示す。上記式(3)において右辺第2項、つまり、第1特徴量Zsimと第2特徴量Zrealとの差を加えることで、第1特徴量Zsimと第2特徴量Zrealとの差が小さくなって、実環境画像Irealを入力しても性能を維持することができる。
[画像を用いた自律移動]
まず、上述の非特許文献2を要約して、その手法の概要を説明する。制御則は、次式によって定められる。
=f(I
=f(I
V=fnav(Z、Z
ここで、Iは現在の画像を示し、Iは目標ゴールの画像を示す。Zは現在の画像Iからニューラルネットワークf(・)によって抽出された特徴量を示し、Zは目標ゴールの画像Iからニューラルネットワークf(・)によって抽出された特徴量を示す。
なお、現在の画像I及び目標ゴールの画像Iは共にシミュレータ20もしくは実環境のデータセットからランダムに選択される。また、Vは制御入力のベクトルを示し、現在から未来にかけてnステップ分の制御入力を有する。fnav(・)は制御入力Vを出力するニューラルネットワークを示す。fnav(・)及びf(・)を学習する際には、次式に示すように、制御入力Vと現在の画像Iを入力として、制御入力Vで移動した場合に観測する画像を推定する。
、・・・、I=fview(I、V)
ここで、I、・・・、Iは、制御入力Vのnステップ分の制御入力で移動した場所で観測される画像の推定値を示す。上述の非特許文献2では、推定された画像Iと目標ゴールの画像Iとの差が小さくなるように、fnav(・)及びf(・)を学習する。この場合、目標ゴールの画像のみがシミュレータ20から与えられた場合に性能が劣化する問題が発生する。そこで、本実施形態では、以下の式(4)に示す評価関数Lを導入する。
L=Σ(I-I+q{(Z-Zcx+(Z-Zgx} (4)
但し、ZcxとZgxは、以下の式によって抽出される特徴量である。
cx=f(Icx
gx=f(Igx
ここで、画像Icx及び画像Igxは、画像I及び画像Iがシミュレータ20の画像である場合は同様の位置姿勢での実環境の画像とされる。つまり、特徴量Z及び特徴量Zが第1特徴量とされ、特徴量Zcx及び特徴量Zgxが第2特徴量とされる。また、画像Icx及び画像Igxは、画像I及び画像Iが実環境の画像である場合は同様の位置姿勢でのシミュレータ20の画像とされる。つまり、特徴量Z及び特徴量Zが第2特徴量とされ、特徴量Zcx及び特徴量Zgxが第1特徴量とされる。qは重み係数を示す。
上述の[単眼深度推定]及び[走行可否判断]の例と同様に、上記式(4)において右辺第2項、つまり、第1特徴量Zと第2特徴量Zcxとの差、及び、第1特徴量Zと第2特徴量Zgxとの差を加えることで、これら第1特徴量Zと第2特徴量Zcxとの差、及び、第1特徴量Zと第2特徴量Zgxとの差が小さくなる。あるいは、第2特徴量Zと第1特徴量Zcxとの差、及び、第2特徴量Zと第1特徴量Zgxとの差を加えることで、これら第2特徴量Zと第1特徴量Zcxとの差、及び、第2特徴量Zと第1特徴量Zgxとの差が小さくなる。すなわち、シミュレータ20の画像から生成される特徴量と実環境の画像から生成される特徴量とが近くなるため、目標画像をシミュレータ20から与えても、良好な性能を得ることができる。
上述の具体例はあくまで一例であり、様々なタスクに応用できることを述べておく。例えば、セマンティックセグメンテーション、自己位置推定等にも有効であることは容易に想像される。
次に、図4を参照して、第1の実施形態に係る学習装置10の作用について説明する。
図4は、第1の実施形態に係る学習プログラム15Aによる処理の流れの一例を示すフローチャートである。
まず、学習装置10が学習処理の開始の指示を受け付けると、プロセッサ11が学習プログラム15Aを読み出して実行する。
図4のステップS101では、プロセッサ11が、第1特徴量及び第2特徴量を取得する。第1特徴量は、シミュレータ20により生成された観測量の一例であるシミュレータ画像をニューラルネットワークに入力して得られる特徴量である。また、第2特徴量は、実環境から得られた観測量の一例である実環境画像をニューラルネットワークに入力して得られる特徴量である。
ステップS102では、プロセッサ11が、ステップS101で取得された、第1特徴量と第2特徴量との差を含む評価関数を導出する。評価関数としては、タスクに応じて、例えば、上述の式(2)~式(4)のいずれかが適用される。
ステップS103では、プロセッサ11が、ステップS102で導出した評価関数を用いて、シミュレータ20の第1特徴量と、実環境の第2特徴量との差が小さくなるように、ニューラルネットワークを学習し、本学習プログラム15Aによる一連の処理を終了する。
このように本実施形態によれば、シミュレータから得られる観測量の特徴量と、実環境から得られる観測量の特徴量との差が小さくなるように、ニューラルネットワークが学習される。このため、主にシミュレータで学習されたニューラルネットワークが実環境でも同様の性能を発揮することができる。
[第2の実施形態]
上記第1の実施形態で説明した学習方法をより精度良く機能させるためには、実環境画像Ireal及びシミュレータ画像Isimを取得したときのそれぞれの環境及び位置姿勢を一致させることが望ましい。環境は、例えば、実環境を撮影した結果を用いてシミュレータを構築する参考文献1に記載の方法を用いて対応すればよい。
[参考文献1]
Fei Xia and et al., “Interactive Gibson Benchmark” IEEE Robotics and Automation Letters, 2020
一方、位置姿勢を一致させることは困難である。本実施形態では、位置姿勢を一致させる形態について説明する。
図5は、第2の実施形態に係る学習装置10Aの機能的な構成の一例を示すブロック図である。
図5に示すように、本実施形態に係る学習装置10Aのプロセッサ11は、取得部11A、学習部11B、生成部11C、及び決定部11Dとして機能する。なお、上記第1の実施形態で説明した学習装置10が有する構成要素と同一の構成要素には同一の符号を付し、その繰り返しの説明は省略する。
生成部11Cは、実環境で動作するロボット30の複数の位置姿勢候補の各々に対応して、シミュレータ20を用いて複数の観測量の一例である複数のシミュレータ画像を生成する。なお、複数の位置姿勢候補は、例えば、実環境でロボット30が実環境画像を収集する際に自己位置を推定した結果から得られる。
決定部11Dは、生成部11Cにより生成された複数のシミュレータ画像のうち、実環境のロボット30から得られた実環境画像との類似度が最も高いシミュレータ画像を、ニューラルネットワークに入力するシミュレータ画像として決定する。
次に、図6を参照して、シミュレータ20と実環境での位置姿勢が一致する画像を収集する方法を説明する。
図6は、第2の実施形態に係る学習プログラム15Aによる処理の流れの一例を示すフローチャートである。
まず、学習装置10が位置姿勢一致処理の開始の指示を受け付けると、プロセッサ11が学習プログラム15Aを読み出して実行する。
図6のステップS111では、プロセッサ11が、ロボット30に備え付けられた内界センサ(例えば、LIDAR)を利用して、自己位置推定しながら、実環境画像Irealを収集する。自己位置は分布として推定される。推定される位置姿勢候補を、
{Pi=1,・・・,N
と表す。自己位置推定には、例えば、パーティクルフィルタが用いられる。パーティクルフィルタによって自己位置推定する場合には、そのときのパーティクルの位置姿勢を利用すれば良い。Nは候補の数である。
ステップS112では、プロセッサ11が、ステップS111で推定した位置姿勢候補でのシミュレータ20での画像を生成する。生成するシミュレータ画像を、
{Ii=1,・・・,N
と表す。
ステップS113では、プロセッサ11が、ステップS111で収集した実環境画像Irealと、ステップS112で生成したシミュレータ画像{Ii=1,・・・,Nとを比較して、その類似度{Si=1,・・・,Nを評価する。類似度の評価方法としては、例えば、ピクセル毎の誤差、SSIM(Structual Simlality)、Siamise Networkによる類似度推定、及びその組み合わせ等が考えられる。但し、本実施形態では、これらの類似度の評価方法に限定されるものではない。
ステップS114では、プロセッサ11が、ステップS113で評価した類似度が最も高いシミュレータ画像Ii*を特定する。
ステップS115では、プロセッサ11が、終了条件として、ステップS114で特定したシミュレータ画像Ii*の類似度が閾値以上か否かを判定する。シミュレータ画像Ii*の類似度が閾値以上であると判定した場合(肯定判定の場合)、ステップS116に移行し、シミュレータ画像Ii*の類似度が閾値未満であると判定した場合(否定判定の場合)、ステップS117に移行する。
ステップS116では、プロセッサ11が、ステップS111で収集した実環境画像Irealと、ステップS114で特定したシミュレータ画像Ii*とを記憶部15に記憶し、本学習プログラム15Aによる一連の処理を終了する。つまり、十分高い類似度が得られた場合は、実環境画像Irealの位置姿勢で得られるシミュレータ画像Isimとして、最も類似度の高いシミュレータ画像Ii*を採用する。一方、十分高い類似度が得られない場合は再サンプリングに移行する。
ステップS117では、プロセッサ11が、再サンプリングを実行し、ステップS112に移行し、処理を繰り返す。再サンプリングでは、実環境画像Irealの位置姿勢候補{P’i=1,・・・,Nが生成される。本実施形態では、再サンプリングの手法に依存しないが、例えば、パーティクルフィルタ、遺伝的アルゴリズムの方法等が適用される。
本実施形態によれば、実環境で収集した全ての実環境画像に対して、それに対応するシミュレータのシミュレータ画像が得られる。ただし、類似度が十分高いシミュレータ画像を得られない場合は、そのシミュレータ画像を学習に利用しないという選択も可能であることを付記しておく。
このように本実施形態によれば、実環境での位置姿勢とシミュレータでの位置姿勢とが一致した状態で、学習用データとしての実環境の観測量及びシミュレータの観測量が取得される。このため、ニューラルネットワークをより精度良く学習することが可能とされる。
また、実環境で観測量を取得したときの位置姿勢を精度良く推定するために、実環境の位置姿勢の候補群から最適な位置姿勢(真値に近い位置姿勢)がオフライン最適化で定められる。このため、シミュレータの位置姿勢と実環境の位置姿勢との一致度を高めることができる。
なお、上記各実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えば、CPU:Central Processing Unit、等)や、専用のプロセッサ(例えば、GPU:Graphics Processing Unit、ASIC: Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
また、上記各実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は、上記各実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
以上、実施形態に係る学習装置を例示して説明した。実施形態は、学習装置が備える各部の機能をコンピュータに実行させるためのプログラムの形態としてもよい。実施形態は、これらのプログラムを記憶したコンピュータが読み取り可能な非一時的記憶媒体の形態としてもよい。
その他、上記実施形態で説明した学習装置の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
10、10A 学習装置
11 プロセッサ
11A 取得部
11B 学習部
11C 生成部
11D 決定部
12 ROM
13 RAM
14 I/O
15 記憶部
15A 学習プログラム
16 表示部
17 操作部
18 通信部
20 シミュレータ
30 ロボット
100 学習システム

Claims (7)

  1. ニューラルネットワークの学習装置であって、
    シミュレータにより生成された観測量を前記ニューラルネットワークに入力して得られる第1特徴量と、実環境から得られた観測量を前記ニューラルネットワークに入力して得られる第2特徴量とを取得する取得部と、
    前記第1特徴量と前記第2特徴量との差を含む評価関数を用いて、前記ニューラルネットワークを学習する学習部と、
    を備えた学習装置。
  2. 前記実環境で動作する物体の複数の位置姿勢候補の各々に対応して、前記シミュレータを用いて複数の観測量を生成する生成部と、
    前記生成部により生成された複数の観測量のうち、前記実環境の前記物体から得られた観測量との類似度が最も高い観測量を、前記ニューラルネットワークに入力する前記シミュレータの観測量として決定する決定部と、
    を更に備えた
    請求項1に記載の学習装置。
  3. 前記複数の位置姿勢候補は、前記実環境で前記物体が観測量を収集する際に自己位置を推定した結果から得られる
    請求項2に記載の学習装置。
  4. 前記シミュレータにより生成された観測量は、前記シミュレータにより生成された画像として表され、
    前記実環境から得られた観測量は、前記実環境から得られた画像として表される
    請求項1~請求項3の何れか1項に記載の学習装置。
  5. 前記シミュレータにより生成された観測量は、前記シミュレータにより生成された画像及び当該画像の被写体までの距離を表す深度として表され、
    前記実環境から得られた観測量は、前記実環境から得られた画像及び当該画像の被写体までの距離を表す深度として表される
    請求項1~請求項3の何れか1項に記載の学習装置。
  6. ニューラルネットワークの学習装置が実行する学習方法であって、
    シミュレータにより生成された観測量を前記ニューラルネットワークに入力して得られる第1特徴量と、実環境から得られた観測量を前記ニューラルネットワークに入力して得られる第2特徴量とを取得し、
    前記第1特徴量と前記第2特徴量との差を含む評価関数を用いて、前記ニューラルネットワークを学習する、
    学習方法。
  7. ニューラルネットワークの学習プログラムであって、
    コンピュータを、
    シミュレータにより生成された観測量を前記ニューラルネットワークに入力して得られる第1特徴量と、実環境から得られた観測量を前記ニューラルネットワークに入力して得られる第2特徴量とを取得する取得部、及び、
    前記第1特徴量と前記第2特徴量との差を含む評価関数を用いて、前記ニューラルネットワークを学習する学習部、
    として機能させるための学習プログラム。
JP2021064707A 2021-04-06 2021-04-06 学習装置、学習方法、及び学習プログラム Active JP7264184B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021064707A JP7264184B2 (ja) 2021-04-06 2021-04-06 学習装置、学習方法、及び学習プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021064707A JP7264184B2 (ja) 2021-04-06 2021-04-06 学習装置、学習方法、及び学習プログラム

Publications (2)

Publication Number Publication Date
JP2022160144A JP2022160144A (ja) 2022-10-19
JP7264184B2 true JP7264184B2 (ja) 2023-04-25

Family

ID=83657834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021064707A Active JP7264184B2 (ja) 2021-04-06 2021-04-06 学習装置、学習方法、及び学習プログラム

Country Status (1)

Country Link
JP (1) JP7264184B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019098419A (ja) 2017-11-28 2019-06-24 キユーピー株式会社 粉体、粒体又は流体の取り出し動作を学習する機械学習方法およびロボット機械学習制御装置
JP2020075340A (ja) 2018-11-08 2020-05-21 株式会社東芝 作動システム、制御装置、およびプログラム
JP2020115289A (ja) 2019-01-17 2020-07-30 富士通株式会社 学習方法、学習プログラムおよび学習装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019098419A (ja) 2017-11-28 2019-06-24 キユーピー株式会社 粉体、粒体又は流体の取り出し動作を学習する機械学習方法およびロボット機械学習制御装置
JP2020075340A (ja) 2018-11-08 2020-05-21 株式会社東芝 作動システム、制御装置、およびプログラム
JP2020115289A (ja) 2019-01-17 2020-07-30 富士通株式会社 学習方法、学習プログラムおよび学習装置

Also Published As

Publication number Publication date
JP2022160144A (ja) 2022-10-19

Similar Documents

Publication Publication Date Title
CN110363058B (zh) 使用单触发卷积神经网络的用于避障的三维对象定位
EP3405845B1 (en) Object-focused active three-dimensional reconstruction
Sless et al. Road scene understanding by occupancy grid learning from sparse radar clusters using semantic segmentation
Premebida et al. Intelligent robotic perception systems
JP2019517701A (ja) 画像内の物体を検出する方法及び物体検出システム
US11900645B2 (en) Systems and methods for modeling and controlling physical dynamical systems using artificial intelligence
CN110941272A (zh) 自动驾驶控制方法和设备
US10268188B2 (en) Active camera movement determination for object position and extent in three-dimensional space
Zieliński et al. 3D robotic navigation using a vision-based deep reinforcement learning model
WO2022023442A1 (en) Semi-supervised keypoint based models
KR20180027242A (ko) 무인 차량을 위한 주변 환경 매핑 방법 및 장치
EP3867021B1 (en) Robot navigation using a high-level policy model and a trained low-level policy model
Kim et al. An open-source low-cost mobile robot system with an RGB-D camera and efficient real-time navigation algorithm
Ahmad et al. End-to-end probabilistic depth perception and 3d obstacle avoidance using pomdp
JP7264184B2 (ja) 学習装置、学習方法、及び学習プログラム
Ramírez-Bedoya et al. Implementation of reinforcement-learning algorithms in autonomous robot navigation
Boufous Deep reinforcement learning for complete coverage path planning in unknown environments
Barrozo et al. Simulation of an Autonomous Vehicle Control System Based on Image Processing
Haque et al. Vision based trajectory following robot and swarm
Horita et al. Improving multi-goal and target-driven reinforcement learning with supervised auxiliary task
Li et al. Multi-altitude multi-sensor fusion framework for AUV exploration and survey
JP7459238B2 (ja) ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム
Singh et al. Enhancing Object Mapping in SLAM using CNN.
Vitória Image-Based Real-Time Path Generation Using Deep Neural Networks
Roghair A vision based DQN exploration algorithm for collision avoidance

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230327

R150 Certificate of patent or registration of utility model

Ref document number: 7264184

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150