JP2021077326A - ビジュアルナビゲーションのための訓練システム、方法およびナビゲーションロボット - Google Patents

ビジュアルナビゲーションのための訓練システム、方法およびナビゲーションロボット Download PDF

Info

Publication number
JP2021077326A
JP2021077326A JP2020080879A JP2020080879A JP2021077326A JP 2021077326 A JP2021077326 A JP 2021077326A JP 2020080879 A JP2020080879 A JP 2020080879A JP 2020080879 A JP2020080879 A JP 2020080879A JP 2021077326 A JP2021077326 A JP 2021077326A
Authority
JP
Japan
Prior art keywords
training
environments
camera
robot
model
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.)
Granted
Application number
JP2020080879A
Other languages
English (en)
Other versions
JP7105825B2 (ja
Inventor
サイランダー トミ
Silander Tomi
サイランダー トミ
アラクティンギ ミシェル
Aractingi Michel
アラクティンギ ミシェル
ダンス クリストファー
Dance Christopher
ダンス クリストファー
ペレス ジュリエン
Perez Julien
ペレス ジュリエン
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.)
Naver Corp
Original Assignee
Naver Corp
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 Naver Corp filed Critical Naver Corp
Publication of JP2021077326A publication Critical patent/JP2021077326A/ja
Application granted granted Critical
Publication of JP7105825B2 publication Critical patent/JP7105825B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Medical Informatics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Game Theory and Decision Science (AREA)
  • Business, Economics & Management (AREA)
  • Electromagnetism (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

【課題】ビジュアルナビゲーションを実行するナビゲーティングロボットによる使用のために訓練モデルを訓練させるための訓練システムを提供する。【解決手段】訓練システムは、N個のベース仮想訓練環境を含むメモリを含む。N個のベース仮想訓練環境のそれぞれは、室内空間内の位置における視野を含む。Nは1より大きい整数である。ランダム化モジュールは、N個のベース仮想訓練環境各自の少なくとも1つの特性を変化させることにより、N個のベース仮想訓練環境に基づいてN個の変化した仮想訓練環境を生成する。訓練モジュールは、N個のベース仮想訓練環境およびN個の変化した仮想訓練環境を含む訓練セットに基づいてビジュアルナビゲーションを実行するナビゲーティングロボットによる使用のために訓練モデルを訓練させる。【選択図】図2

Description

本開示は、ロボットのビジュアルナビゲーションに関し、より詳細には、ビジュアルナビゲーションのためにモバイルロボットによる使用のためのモデルを訓練させるためのシステムおよび方法等に関する。
ここで提供される背景技術の説明は、本開示の背景を一般的に提示するためのものである。出願時の先行技術に該当しない技術の説明だけでなく、本背景技術で説明される内容に対し、本開示の発明者は、本開示の先行技術として明示的にも暗示的にも認めていない。
ナビゲーティングロボットとは、オブジェクトと衝突せずに環境を走行しながら探索をなすように訓練されたモバイルロボットである。ナビゲーティングロボットは、それ自体が動作する環境内で訓練される。
ナビゲーティングロボットは、多様な産業で利用されている。ナビゲーティングロボットの一例としては、内部空間(例えば、倉庫)を探索しながら1つ以上のパッケージを目的地に移動させるパッケージハンドラロボットが挙げられる。ナビゲーティングロボットの他の例としては、室外空間(例えば、道路)を探索しながら1人以上の乗客をピックアップして目的地に移動させる自律走行車が挙げられる。
一特徴として、ビジュアルナビゲーションを実行するナビゲーティングロボットによる使用のために訓練モデルを訓練させるための訓練システムを開示する。メモリは、N個のベース仮想訓練環境を含み、前記N個のベース仮想訓練環境のそれぞれは、室内空間内の位置における視野(field of view)を含み、Nは1よりも大きい整数である。ランダム化モジュールは、前記N個のベース仮想訓練環境各自の少なくとも1つの特性(characteristic)を変化させることにより、前記N個のベース仮想訓練環境に基づいてN個の変化した仮想訓練環境を生成するように構成される。訓練モジュールは、前記N個のベース仮想訓練環境および前記N個の変化した仮想訓練環境を含む訓練セットに基づいてビジュアルナビゲーションを実行する前記ナビゲーティングロボットによる使用のために訓練モデルを訓練させるように構成される。
追加の特徴として、前記少なくとも1つの特性は、壁(wall)のテクスチャ(texture)を含む。
追加の特徴として、前記少なくとも1つの特性は、壁の色を含む。
追加の特徴として、前記少なくとも1つの特性は、照明(lighting)特性を含む。
追加の特徴として、前記少なくとも1つの特性は、オブジェクトの位置を含む。
追加の特徴として、前記訓練モジュールは、畳み込みニューラルネットワーク(Convolutional Neural Net:CNN)を使用して前記訓練モデルを訓練させるように構成される。
追加の特徴として、前記訓練モジュールは、不変性正規化(Invariance Regularization:IR)を使用して前記訓練モデルを訓練させるように構成される。
追加の特徴として、前記訓練モデルは、カメラからの入力イメージに基づき、所定の距離だけ前記ナビゲーティングロボットを前方に(forward)移動させること、所定の第1角度だけ前記ナビゲーティングロボットを右側に回転させること、所定の第2角度だけ前記ナビゲーティングロボットを左側に回転させること、および前記ナビゲーティングロボットを移動させないことのうちの1つに対する命令(instruction)を示す出力を生成するように構成される。
追加の特徴として、前記訓練モデルは、前記カメラからのRGB(Red Green Blue)入力イメージに基づいて前記出力を生成するように構成される。
追加の特徴として、前記訓練モデルは、前記カメラからのRGB深度(RGB−Depth:RGB−D)入力イメージに基づいて前記出力を生成するように構成される。
追加の特徴として、前記訓練モデルは、前記カメラからのグレースケール(grayscale)入力イメージに基づいて前記出力を生成するように構成される。
追加の特徴として、前記訓練モデルは、前記カメラからのグレースケール深度(grayscale−D)入力イメージに基づいて前記出力を生成するように構成される。
追加の特徴として、前記室内空間は、ビル内である。
一特徴として、ビジュアルナビゲーションを実行するナビゲーティングロボットによる使用のために訓練モデルを訓練させる方法を開示する。前記方法は、1つ以上のプロセッサにより、N個のベース仮想訓練環境各自の少なくとも1つの特性(characteristic)を変化させることにより、前記N個のベース仮想訓練環境に基づいてN個の変化した仮想訓練環境を生成する段階であって、前記N個のベース仮想訓練環境のそれぞれと前記N個の変化した仮想訓練環境のそれぞれは、室内空間内の位置における視野(field of view)を含み、Nは1よりも大きい整数である、段階、および前記1つ以上のプロセッサにより、前記N個のベース仮想訓練環境および前記N個の変化した仮想訓練環境を含む訓練セットに基づいてビジュアルナビゲーションを実行する前記ナビゲーティングロボットによる使用のために訓練モデルを訓練させる段階を含む。
追加の特徴として、前記少なくとも1つの特性は、壁(wall)のテクスチャ(texture)、壁の色、照明(lighting)特性、およびオブジェクトの位置のうちの1つを含む。
追加の特徴として、前記訓練させる段階は、畳み込みニューラルネットワーク(Convolutional Neural Net:CNN)を使用して前記訓練モデルを訓練させる段階を含む。
追加の特徴として、前記訓練させる段階は、不変性正規化(Invariance Regularization:IR)を使用して前記訓練モデルを訓練させる段階を含む。
追加の特徴として、前記訓練モデルは、カメラからの入力イメージに基づき、所定の距離だけ前記ナビゲーティングロボットを前方に(forward)移動させること、所定の第1角度だけ前記ナビゲーティングロボットを右側に回転させること、所定の第2角度だけ前記ナビゲーティングロボットを左側に回転させること、および前記ナビゲーティングロボットを移動させないことのうちの1つに対する命令(instruction)を示す出力を生成するように構成される。
追加の特徴として、前記訓練モデルは、前記カメラからのRGB(Red Green Blue)入力イメージ、前記カメラからのRGB深度(RGB−Depth:RGB−D)入力イメージ、前記カメラからのグレースケール(grayscale)入力イメージ、および前記カメラからのグレースケール深度(grayscale−D)入力イメージのうちの1つに基づいて前記出力を生成するように構成される。
一特徴として、ナビゲーティングロボットを開示し、ナビゲーティングロボットは、前記ナビゲーティングロボットの前方の(in front of)視野内からイメージをキャプチャするように構成されたカメラであって、前記視野は、前記ナビゲーティングロボットの周りの360度よりも狭い、カメラ、室内空間内の位置におけるN個のベース仮想訓練環境、および前記N個のベース仮想訓練環境各自の少なくとも1つの特性(characteristic)を変化させることによって生成されたN個の変化した仮想訓練環境に基づいて訓練され、Nは1よりも大きい整数であり、前記カメラからのイメージのうちの1つに基づいて出力を生成するように構成されるモデル、前記ナビゲーティングロボットを推進させるように構成された1つ以上の推進デバイス、および前記モデルの出力に基づいて前記1つ以上の推進デバイスのうちの1つ以上を選択的に作動させるように構成された制御モジュールを含む。
追加の特徴として、前記モデルは、前記カメラからのイメージのうちの1つに基づき、第1状態、第2状態、第3状態、および第4状態で構成されたグループのうちの1つで前記出力を設定するように構成され、前記制御モジュールは、前記出力が第1状態であるとき、前記1つ以上の推進デバイスのうちの1つ以上を所定の距離だけ前記ナビゲーティングロボットを前方に移動させるように作動させ、前記出力が第2状態であるとき、前記1つ以上の推進デバイスのうちの1つ以上を所定の第1角度だけ前記ナビゲーティングロボットを右側に回転させるように作動させ、前記出力が第3状態であるとき、前記1つ以上の推進デバイスのうちの1つ以上を所定の第2角度だけ前記ナビゲーティングロボットを左側に回転させるように作動させ、前記出力が第4状態であるとき、前記1つ以上の推進デバイスのうちのいずれも作動させないように構成される。
追加の特徴として、前記ナビゲーティングロボットは、自律走行車(autonomous vehicle)である。
本開示が適用される追加の領域は、詳細な説明、特許請求の範囲、および図面によって明らかになるであろう。詳細な説明および具体的な例次は、説明の目的だけを意図するものであり、本開示の範囲を制限することを意図したものではない。
特許または出願のファイルは、カラーで作成された少なくとも1つの図面を含む。カラーの図面を含む特許または特許出願公報の写しは、要求されるか必要な手数料の納付時に提供されるであろう。
本開示は、詳細な説明および添付の図面に基づいてより完全に理解されるであろう。
ナビゲーティングロボットの例を示したブロック図である。 ナビゲーティングロボットのビジュアルナビゲーションのために訓練モデルを訓練および生成するための例を示した訓練システムのブロック図である。 図2の訓練モジュールの例を示したブロック図である。 ベース仮想環境から生成された変化(variation)の例を示した図である。 ベース仮想環境から生成された変化(variation)の例を示した図である。 ベース仮想環境から生成された変化(variation)の例を示した図である。 ベース仮想環境から生成された変化(variation)の例を示した図である。 (深度のない)RGB入力を使用する異なるタイプの正規化を伴う訓練のための訓練イベントの数に対する平均成功率である左側グラフと、(深度のない)RGB入力を使用する異なるタイプの正規化を伴う訓練のための訓練イベントの数に対する最短経路の長さ(Shortest Path Length:SPL)である右側グラフを示している。 (深度のない)RGB入力を使用する異なるタイプの正規化(IR、IR−Split、およびPPO+DR)を伴う訓練のための訓練イベントの数に対する平均成功率である左側グラフと、(深度のある)RGB−D入力を使用する異なるタイプの正規化を伴う訓練のための訓練イベントの数に対する平均成功率である中間グラフと、(深度のない)グレースケール入力を使用する異なるタイプの正規化を伴う訓練のための訓練イベントの数に対する平均成功率である右側グラフを示している。 ビジュアルナビゲーションのためのナビゲーティングロボットによって使用されるモデルを訓練させる方法の例を示したフローチャートである。
図面において、参照符号は、類似および/または同一の要素を識別するために再使用されてよい。
モバイルロボットのビジュアルナビゲーションは、ビジョンと制御のドメインとを結合する。ナビゲーションは、出発位置から到着位置までの間に適切かつ妨害のない(non−obstructed)経路を見つけ出すものとして説明されてよい。出発位置から到着位置までのナビゲーションは、マップ構築、ローカリゼーション(localization)、計画(planning)、および経路追従(path following)のようなサブタスクのシーケンスに分割されてよい。各サブタスクは、環境および作業に対して特定されるエンジニアリングを要求する。ナビゲーションは、追加の訓練/チューニングが行われない場合、異なるシナリオや環境に適応させることは困難である。
ナビゲーティングロボットは、1つ以上のセンサからの入力に基づいて訓練モデルを使用してナビゲーティングロボットを移動させるように構成される制御モジュールを含む。1つの環境を使用して訓練モデルを訓練させることは、訓練モデルが過剰適合(overfit)し、1つの環境における変更またはその実世界の環境における変更に対して一般化できない可能性がある。実世界では、ナビゲーティングロボットが実行できることを妨げるような、多くの変化が起こり得る。
本出願は、強化学習(Reinforcement Learning:RL)によって訓練モデルを訓練させることに関する。深層(deep)RL訓練によって訓練モデルは、複数の(multiple)異なる環境を同時に使用して訓練される場合に過剰適合する可能性がある。本出願によると、起こり得る行動(action)に影響を及ぼしてはならない観察(observations)における変化に対するポリシー(policy)の不変性を促す(encourage)RL目標(objective)に対してターム(term)を追加することによって教師あり学習とRLとを結合する正規化が使用される。本出願によると、これは、不変性正規化(invariance regularization)として参照されてよい。不変性正規化は、訓練中には現れなかった環境に対するポリシーの一般化における改善を意味する。
図1は、ナビゲーティングロボット100の例を示したブロック図である。ナビゲーティングロボット100は、ナビゲーティングロボット100の前方の(in front of)所定の視野(Field Of View:FOV)からイメージをキャプチャするカメラ104を含む。所定のFOVとは、ナビゲーティングロボット100の周りの360度未満である。ナビゲーティングロボット100は、ナビゲーティングロボット100の周りの完全な360度よりも狭いFOVを有してよい。ナビゲーティングロボット100は、その動作環境が記録されたマップを含まない可能性がある。ナビゲーティングロボット100の動作環境は、室内空間、すなわち、建物、駐車場、洞窟、または他のエンクロージャ内であってよい。
カメラ104は、例えば、グレースケールカメラ、グレースケール−Dカメラ、RGB(Red、Green、Blue)カメラ、RGB−Dカメラ、または他の適したタイプのカメラであってよい。グレースケール−Dカメラは深度(D)成分を含む。RGB−Dカメラも深度(D)成分を含む。多様な実施形態において、ナビゲーティングロボット100は、(1つの)カメラ104だけを含んでよく、任意の他のビジュアルイメージングカメラおよび/またはセンサを含まなくてもよい。
ナビゲーティングロボット100は、1つ以上のタイヤ、1つ以上のトレッド(tread)、1つ以上の移動脚、および/またはナビゲーティングロボット100を前方、右側、左側、上方、および/または下方に推進させるように構成された1つ以上の他のタイプのデバイスのような1つ以上の推進デバイス108を含む。推進デバイス108の2つ以上の組み合わせがナビゲーティングロボット100を前方に推進させ、ナビゲーティングロボット100を右側に回転させ、ナビゲーティングロボット100を左側に回転させ、または/追加でナビゲーティングロボット100を垂直に上方または下方に昇降させるために使用されてよい。
ナビゲーティングロボット100は、カメラ104からの入力に基づいて任意のオブジェクトと衝突しないように訓練モデル116により、出発位置から目標位置までの動作環境を探索するように推進デバイス108を制御するように構成された制御モジュール112を含む。訓練モデル116は、ナビゲーティングロボット100のメモリに格納される。訓練モデル116の訓練については、以下で説明する。
訓練モデル116は、カメラ104からの入力に基づいてナビゲーティングロボット100の行動を示す出力を生成してよい。カメラ104は、60Hz、120Hz、または他の適した頻度でアップデートされてよい。訓練モデル116は、カメラ104からの入力がアップデートされるたびに出力を生成してよい。訓練モデル116は、与えられた時間内に、(1フィートまたは1メートルの1/3のような所定の距離だけ前方に移動することに対応する)第1状態、(45度または90度などの所定の角度だけ右側に回転することに対応する)第2状態、(45度または90度などの所定の角度だけ左側に回転することに対応する)第3状態、および(移動しないことに対応する)第4状態で構成されたグループのうちの1つで出力を設定するように構成されてよい。
制御モジュール112は、訓練モデル116の出力に基づいて推進デバイス108を制御するように構成される。例えば、制御モジュール112は、訓練モデル116の出力が第1状態であることに応答し、ナビゲーティングロボット100を所定の距離だけ前方に移動させるために推進デバイス108を作動させてよい。制御モジュール112は、訓練モデル116の出力が第2状態であることに応答し、ナビゲーティングロボット100を所定の角度だけ右側に回転させるために推進デバイス108を作動させてよい。制御モジュール112は、訓練モデル116の出力が第3状態であることに応答し、ナビゲーティングロボット100を所定の角度だけ左側に回転させるために推進デバイス108を作動させてよい。制御モジュール112は、訓練モデル116の出力が第4状態であることに応答し、ナビゲーティングロボット100が移動しないようにし、推進デバイス108は作動させなくてよい。
図2は、ナビゲーティングロボット100のような、ナビゲーティングロボットによるビジュアルナビゲーションのために訓練モデル116を訓練および生成するための訓練システム200の例を示したブロック図である。訓練モジュール204は、メモリに格納された訓練用仮想環境のセットを使用して実行することにより、訓練モデル116を生成する。訓練用仮想環境のセットは、複数の(ベース)仮想環境208(すなわち、ベース仮想訓練環境)を含む。訓練用仮想環境のセットはまた、ベース仮想環境208の1つ以上の特性を変更することによって生成または変更された仮想環境(すなわち、変更された仮想訓練環境)も含む可能性がある。仮想環境208は、例えば、1つ以上のルーム(または部屋)を含んでよい。例えば、ベース仮想環境208は、1つ以上のVizDoomマップ内における1つ以上の位置における1つ以上のFOV(または、時点(points of view):POV)を含んでよい。VizDoomマップは、訓練システム200のメモリに格納されてよい。
ランダム化モジュール212は、訓練のために使用される変化した仮想環境を生成するために、ベース仮想環境208の1つ以上の特性を(例えば、ランダムに)変化させる。例えば、ランダム化モジュール212は、(ベース)仮想環境で1つ以上の表面上のテクスチャ、(ベース)仮想環境で1つ以上の表面上の1つ以上のオブジェクトの位置、(ベース)仮想環境の照明(例えば、明るさまたは照明角度)、および/または(ベース)仮想環境の1つ以上の他の特性を変化させてよい。図4〜7はそれぞれ、ランダム化モジュール212を使用してベース仮想環境208のうちの1つから生成された変化の例を示した図である。
訓練モジュール204は、訓練モデル116を訓練および生成するための訓練用仮想環境のセットを使用する。
ビジュアルナビゲーションは、部分観察マルコフ決定過程(Partially Observed Markov Decision Process:POMDP)として、次のタプル(tuple)のようにモデリングされてよい。
Figure 2021077326
Sは状態のセットであり、Aは行動のセットであり、Ωは観察のセットであり、これらすべては有限集合(finite set)である。Rは補償関数であり、次のとおりとなる。
Figure 2021077326
Tは条件付き遷移確率質量関数(conditional transition probability mass function)であり、次のとおりとなる。
Figure 2021077326
その解釈は、次のとおりとなる。
Figure 2021077326

これは、現在の状態がsであり、行動aが起これば、次の状態がs’になる確率を示す。Oは条件付き観察確率質量関数(conditional observation probability mass function)であり、次のとおりとなる。
Figure 2021077326
その解釈は、次のとおりとなる。
Figure 2021077326

これは、起こった最後の行動がaであった場合、状態sでoを観察する確率を示し、初期状態sでいかなる行動も起こっていないとき、次の特殊観察確率を許容する。
Figure 2021077326
は初期状態確率分布関数であり、したがって、
Figure 2021077326

は、初期状態がsである確率を示す。
訓練モジュール204は、次に記載されるパラメータ化されたポリシーを生成する。
Figure 2021077326

パラメータとして、
Figure 2021077326

を有し、以下の与えられた履歴hに対して行動を取る確率が与えられる。
Figure 2021077326
目標は、以下の差し引かれた補償(discounted reward)の高い値を得るためにパラメータθを調節するものである。
Figure 2021077326

差引ゲイン因子(discounted gain factor)は、次のとおりとなる。
Figure 2021077326
期待値は、以下の状態−観察−行動シーケンス(state−observation−action sequence)に基づく。
Figure 2021077326

初期状態sはPから誘導され、シーケンスの他の要素はT、O、およびπθから誘導される。
訓練モジュール204は、近傍ポリシー最適化(Proximal Policy Optimization:PPO)または、例えば、予測される差し引かれた補償の推定値に対する勾配上昇(gradient ascent)と関連するポリシー勾配方法のような他の適したタイプの最適化アルゴリズムにより、訓練モデル116を訓練させる。
訓練モジュール204は、複数の環境またはタスク(task)を示すPOMDPに対する分布Dを活用する。訓練モジュールは、分布Dからntrain(>0)POMDP(P、P、・・・、P train)をサンプリングする。
POMDPは、例えば、日時または年度などの異なる時間において同じ環境がビューを示すような、観察分布において、異なるジオメトリを有するマップを示すもののような、転移(transition)分布において、または、異なる目標状態の明細に対応するもののような、補償分布において、相違してよい。
このようなサンプルセットが与えられると、訓練モジュール204は、POMDPからの状態(観察−行動シーケンスの有限集合(finite collection)からポリシーπθを学習する。多様な実施形態において、訓練モジュール204は、POMDPが共通状態、観察、および観察空間(S、A、およびΩ)を有するように要求してよい。ポリシーπθは、ポリシーが、差し引かれた一般化補償
Figure 2021077326
として参照されてよく、POMDPの完全分布を越え、差し引かれた補償の期待値に対して所定の値以上が得られれば、適切に一般化したと言える。
所定の値は、期待値に対して最大で得られることのできる値と関連して(それ未満で)設定されるか、最高値
Figure 2021077326
とさらに一般的に関連して(それ未満で)設定されてよい。
訓練用仮想(合成)環境のセットを使用する訓練は、短期間に大量の経験が学習されるようにする。しかし、(ナビゲーティングロボットが動作する)実世界と(訓練が実行される)訓練用仮想環境との間には現実格差(reality gap)が存在する。これは、例えば、(仮想環境の)シミューレータが実世界の動力学およびビジュアル外観を描写する方式に起因する。仮想環境は、低い正確度(fidelity)で実世界の豊かさおよびノイズをキャプチャする。
ランダム化モジュール212によって実行されるランダム化は、現実格差の解消に貢献する。ランダム化は、ドメインランダム化を指す場合があり、訓練モデル116を使用していったん配置されると、ナビゲーティングロボットは実世界の小さな変更の処理をサポートする。
ドメインランダム化は、観察において現れる変化に対して不変的なポリシーを提供するために効果的である。観察に対して追加されたランダムノイズが存在する状態で目標位置(または状態)に向かって探索させるにあたり、ナビゲーティングロボット100がPOMDP P1によって定義された環境で目標を探索することができれば、今後、ナビゲーティングロボット100は、POMDP P2によって定義された他の環境の目標位置でも、後者の環境が環境P1と同じ関連フィーチャf(P2)を有していれば、すなわち、if(P1)=f(P2)であれば、探索がなされるはずである。ドメインランダム化は、観察における変化およびノイズに対して一般化するようにポリシーを訓練させる。ドメインランダム化は、等しいS、A、およびΩ空間を共有する複数のPOMDP(仮想環境)(ただし、各POMDPは、状態を変更する各自の固有の識別子を有し、したがって、等しい状態の観察の変化を現わす)を訓練することによって実行される。
適切な一般化のために、訓練モジュール204の訓練目標は、一般化を促進させる(encourage)ターム(term)を含む。これは、目的関数自体で一般化の問題の加重値を付与する。
一般的に、変数zの関数hは、h(x)=h(Φ(x))であれば、xの変換(transformation)Φに対して不変となる。変換Tによって与えられた観察における変更に対するポリシーΠの不変性は、Π(o)=Π(T(o))で算出される。訓練モジュール204は、RL目標において適切に一般化するためにペナルティタームを実現する。例えば、訓練モジュール204は、次を使用して訓練モデル116を訓練させる。
Figure 2021077326
PPOはPPO目標であり、θはポリシーπθを定義するパラメータのセットであり、dは2つの条件付き分布(conditional distribution)の距離関数であり、λはペナルティの加重係数(weighting coefficient)である。oは観察であり、Tは該当の観察の変換であり、変換は基本的な状態(underlying state)の意味的コンテクストを依然として保有するが、ランダム化モジュール212によって提供されたビジュアル変化を含む。一例では、観察oを有するルームを観察し、壁色において差のある観察T(o)を有する等しいルームを観察する。その次に、oがPOMDPPで観察され、T(i)がPOMDP Pで観察されるとf(P)=f(P)となる。ここで、f(P)は、POMDP Pによって定義された環境の不変の特徴のセットとなる。
数式において、ペナルティタームdは、PPO目標に対する制約として作用し、ここで、新たな目標は、観察oおよびT(o)に対して同じように行動しながら、ポリシーが同時に高い補償を得なければならないということを指示する。これは、各ポリシーアップデートで平均リターン(average return)の単調な改善を保障するために信頼−領域制約を割り当てることから始まることと同じような、ペナルティタームが追加される信頼領域ポリシーの最適化と類似する。
訓練モジュール204は、訓練中に不変性正規化(Invariance Regulation:IR)を実行し、このような正規化タームは、与えられた観察の変換に対して学習されたポリシーの不変性を示す。訓練モジュール204によって実行されたIRは、以下の疑似コード(pseudo−code)によって説明されてよい。
[疑似コード]
Figure 2021077326
疑似コードにおいて、envは、(訓練用)仮想環境である。上記は繰り返し実行されてよく、次のループの始まりに戻ることが可能である。
トレーニングモジュール204は、IR−split(スプリット)またはIR−full(フル)を実行してよい。IR−splitは、訓練モジュール204がRL目標を最大化することとペナルティタームdを最小化することの間で、訓練を繰り返し切り換えることと関連する。IR(full)は、先立って提供されたIR数式の全体目標を最適化する訓練モジュール204を含む。
訓練モジュール204によって実行される訓練は、2つの段階を含んでよい。最初の段階は、上述したRLを実行する段階を含んでよく、2つ目の段階は、d(Π(o),Π(T(o))からの信号に対して教師あり学習を行う段階を含んでよい。訓練は、アクタークリティックスタイルエージェント(actor−critic style agent)を含んでよい。訓練モジュール204は、図3に示すような畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)または他の適したタイプのニューラルネットワークを使用して訓練を実行してよい。図3は、図2に示した訓練モジュール204のCNNの例を示したブロック図である。一実施形態において、CNNは、例えば、310において3つの畳み込み層と、312において2つの全結合層を含んでよく、ポリシーおよび機能推定器層314が連結してよい。ポリシー出力は4次元の全結合層であってよく、4次元は4つの行動(前方に移動、右側に回転、左側に回転、何もしない)に対応してよい。多様な実施形態において、ポリシー出力は、4次元の全結合層よりも大きくてよく、4つの行動よりも多くの行動に対応してよい。例えば、上昇(raise)、下降(lower)、および垂直高さの維持が提供されてもよい。ポリシー層の出力は、各行動の対数確率であってよい。値層は、値関数を予測する単一ユニットであってよい。正規化線形ユニット(Rectified Linear Units:ReLUs)が1つ、1つ超過、またはすべての層における非線形の動作として使用されてよい。訓練モジュール204は、バイナリ補償関数を使用してPPO目標を最適化してよく、ここで、目標位置に到達すると+1のリワードが与えられ、そうではなければ0が与えられる。
図3の訓練環境308は、ベース仮想環境208(すなわち、ベース仮想訓練環境)およびランダム化モジュール212から出力される変化した訓練環境(すなわち、変化した仮想訓練環境)を含む。より具体的に、ランダム化モジュール212は、ベース仮想訓練環境208の変化を、例えば、VizDoom環境によって提供された所定のテクスチャを使用して表面上のテクスチャを変更することによって生成してよい。訓練のために使用される上述した仮想環境(例えば、ルーム)の数は、例えば、1、10、50、100、または500個のルームであってよい。
いったん完全に訓練された、訓練モデル116のテストは、例えば、訓練環境を生成するために使用されたものとは異なるホールドアウト(held−out)セットからのテクスチャを有する50個のルームを使用して実行されてよい。テストのために異なる数のホールドアウトセットのルームが使用されてもよい。
訓練モジュール204は、複数の環境において観察−行動−補償データをより迅速に補正するために、訓練中に並列で複数の(multiple)エージェントを実行してよい。各並列エージェントは、仮想(訓練)環境の変化に対して実行されてよい。各エージェントは、環境の訓練セットから1つの環境をサンプリングするはずであり、他の環境をサンプリングする前にn個のエピソード(nは0よりも大きい整数)が1つの環境上で実行されてよい。訓練モジュール204は、並列エージェントのうちの1つ以上がサンプリングすることのできる既に目にした(already−seen)環境のセットを格納してよい。これは、エージェントが、すべての環境が訓練のために十分にサンプリングされることを保障するように、新たな環境および既にサンプリングされた環境の混合(mixture)に対して訓練されることができることを保障する。
訓練中の深度チャンネルの使用は、一般化をサポートする。深度は、観察のビジュアルスペクトラムの一部の変更に対して不変である。これは、訓練エージェントがその閾下知覚モデル(implicit perception model)内で訓練エージェントの観察における不変性を少なくとも部分的に発見できるように誘導する。以下の表に示すように、エージェントとして、深度チャンネル(RGB−Dおよびグレースケール(grayscale)−D)を含むエージェントは、深度情報がないエージェントよりも適切に一般化する。
Figure 2021077326
表の上部分は、PPOだけ(IRなし)を使用したものからの結果を示しており、表の下部分は、PPOの使用後にIRが繋がることによる結果を示している。表の値は、異なる数の仮想環境に対して訓練され、訓練後、訓練中に見えない50個のテスト仮想環境に対してテストされたエージェントの平均成功率および標準偏差である。太字の(bold)値は、使用された訓練用仮想環境の数および入力タイプに対して最高の成功率を生成した訓練モデルを示している。
PPOの次にIRが繋がる例が訓練モデル116を訓練させるために提供されているが、訓練モジュール204は、ドロップアウト(dropout)、バッチノルム(batchnorm)、および/またはL2のような他の形態の正規化を使用して他の訓練を実行してよい。ドロップアウトの例において、ドロップアウト層は、上述したように、それぞれの畳み込み層以降に付加されてよい。バッチノルムの例において、バッチノルム層は、それぞれの畳み込み層以降に付加されてよい。L2の例において、L2正規化が実行されてよい。一例として、ドロップアウト確率は、ドロップアウトの例において0.1であってよい。L2の例において、L2加重値は、10−4または他の適した値であってよい。
図8は、(深度のない)RGB入力を使用する異なるタイプの正規化を伴う訓練のための訓練イベントなどの数に対する平均成功率である左側グラフを含む。さらに、図8は、(深度のない)RGB入力を使用する異なるタイプの正規化を伴う訓練のための訓練イベントなどの数に対する最短経路の長さ(Shortest Path Length:SPL)である右側グラフを含む。左側グラフは、PPO+IRが使用された訓練環境の数が増加するほど一般的に改善されることを示す。(右側グラフにおいて)SPLは、成功するエージェントに対して時間をさらに考慮した成功率の測定値を示す。右側グラフは、PPO+IRが、ドロップアウト、L2、およびバッチノルム正規化よりも優れたSPL測定値を提供することを示す。
図9は、(深度のない)RGB入力を使用する異なるタイプの正規化(IR、IR−Split、およびPPO+DR)のための訓練のための訓練イベントの数に対する平均成功率である左側グラフを含む。また、図9は、(深度のある)RGB−D入力を使用する異なるタイプの正規化を伴う訓練のための訓練イベントの数に対する平均成功率である中間グラフを含む。さらに、図9は、(深度のない)グレースケール入力を使用する異なるタイプの正規化を伴う訓練のための訓練イベントなどの数に対する平均成功率である右側グラフを含む。
IR−Splitは、RL目標を最大化することと、ペナルティタームdを最小化することとの間で、訓練を繰り返し切り換えることに関連する。IR(full)は、先立って提供されたIR数式の全体目標を最適化することを含む。
図9は、DRエージェントを有するPPOが過剰適合する可能性があり、平均成功率において高い分散を有する可能性があることを示す。IRは、(フル(full)およびスプリット(split)の両方で)安定的な平均成功率を示し、ロバストな(robust)ポリシーを生成する。IRペナルティは、モデルが訓練環境の不変性特徴を学習することをサポートする。
図10は、訓練モデル116を訓練させる方法の例を示したフローチャートである。制御は、訓練モジュール204が、メモリのような手段から、(ベース)仮想環境208を取得する段階1004から始まる。段階1008で、ランダム化モジュール212は、仮想環境208を取得し、各自の仮想環境208の1つ以上の特性を変化させることによって変化した仮想環境を生成する。
段階1012で、訓練モジュール205は、上述したような仮想環境208および変化した仮想環境を使用して訓練モデル116を訓練および生成する。段階1016で、訓練モジュール204は、メモリのような手段に、訓練モデル116を格納する。いったん訓練がなされれば、訓練モデル116は、ナビゲーティングロボット100上で、メモリのような手段に、カメラ104からの入力に基づくビジュアルナビゲーションにおける使用のために格納されてよい。
上述した説明は本質的に例示的なものに過ぎず、本開示、その適用、または使用を制限するように意図したものではない。本開始の広範囲な教示は、多様な形態で実現されてよい。したがって、本開示は特定の例示を含んでいるが、本開示の真正なる範囲は、図面、明細書、および添付の特許請求の範囲の研究によって他の変更が明らかになるはずであるため、これに制限されてはならない。方法内の1つ以上の段階は、本開示の原理を変更せずに異なる順序で(または同時に)実行されてもよいことが理解されなければならない。また、実施形態のそれぞれは、特定の特徴を有するものと説明されているが、本開示の任意の実施形態と関連して説明された特徴のうちのいずれか1つ以上は、他の実施形態の特徴として実現されてよく、および/またはこれらとその組み合わせが明らかに説明されていなくとも、組み合わされてよい。言い換えれば、上述した実施形態は、相互排他的でなく、1つ以上の実施形態の互いの置換(permutation)は、本開示の範囲内にある。
要素間の(例えば、モジュール、回路素子、半導体層など)空間的および機能的関係は、「連結した」、「締結した」、「カップリングされた」、「隣接する」、「横の」、「上端の」、「上の」、「下の」、および「配置された」を含んだ多様な用語によって説明される。「直接」と明らかに説明されていない限り、第1要素と第2要素との関係が上述したような開示で説明されているとき、該当の関係は、他に介入する要素が第1要素と第2要素との間に存在しない直接的な関係であってよい。ただし、1つ以上の介入する要素が第1要素と第2要素の間に(空間的にまたは機能的に)存在する間接的な関係であってもよい。ここで使用されるように、A、B、およびCのうちの少なくとも1つという説明は、非排他的な論理ORを使用して論理的な(A OR B OR C)を意味するように理解されなければならず、「Aのうちの少なくとも1つ、Bのうちの少なくとも1つ、およびCのうちの少なくとも1つ」を意味するように理解されてはならない。
図面において、矢印で表示された方向は、一般的に図解において関心のある(データまたは命令のような)情報の流れを示す。例えば、要素Aと要素Bが多様な情報を交換するが、要素Aから要素Bに送信される情報が図解と関連する場合、矢印は要素Aから要素Bを指してよい。このような単方向の矢印は、他の情報が要素Bから要素Aに送信されないということは含まない。また、要素Aから要素Bに送信された情報に対し、要素Bは、情報の要求または受信確認を要素Aに送信してよい。
本出願において、以下の定義を含み、用語「モジュール」または用語「コントローラ」は用語「回路」に代替されてよい。用語「モジュール」は、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、デジタル、アナログ、または混合アナログ/デジタル離散回路、デジタル、アナログ、または混合アナログ/デジタル集積回路、組み合わせ論理回路、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA)、コードを実行する(共有された、専用のまたはグループ)プロセッサ回路、プロセッサ回路によって実行されるコードを格納する(共有された、専用のまたはグループ)メモリ回路、説明された機能を提供する他の適したハードウェア構成要素、またはシステムオンチップ(system−on−chip)のように上述した一部またはすべての組み合わせの一部であるか、これを含むものを参照してよい。
モジュールは、1つ以上のインタフェース回路を含んでよい。一部の例において、インタフェース回路は、近距離通信網(LAN)、インターネット、広域通信網(WAN)、またはこれらの組み合わせに接続する有線または無線インタフェースを含んでよい。本開始の任意の与えられたモジュールの機能は、インタフェース回路を介して接続する複数のモジュールに分散されてよい。例えば、複数のモジュールは、ロードバランシングを許容してよい。他の例において、サーバ(遠隔またはクラウドとして知られた)モジュールは、クライアントモジュールの代りに一部の機能を達成してよい。
上述された用語であるコードは、ソフトウェア、ファームウェア、および/またはマイクロコードを含んでよく、プログラム、ルーチン、関数(function)、クラス、データ構造、および/またはオブジェクトを参照してよい。共有された用語であるプロセッサ回路は、複数のモジュールから一部またはすべてのコードを実行する単一プロセッサ回路を包括する。グループプロセッサ回路という用語は、追加のプロセッサ回路と結合し、1つ以上のモジュールからの一部またはすべてのコードを実行するプロセッサ回路を包括する。マルチ(multiple)プロセッサ回路に対する参照は、個別のダイ上のマルチプロセッサ回路、単一のダイ上のマルチプロセッサ回路、単一なプロセッサ回路のマルチコア、単一なプロセッサ回路のマルチスレッド、またはこれらの組み合わせを包括する。共有された用語であるメモリ回路は、複数のモジュールからの一部またはすべてのコードを格納する単一メモリ回路を包括する。グループメモリ回路という用語は、追加のメモリと結合し、1つ以上のモジュールからの一部またはすべてのコードを格納するメモリ回路を包括する。
メモリ回路という用語は、コンピュータ読み取り可能な媒体のサブセットを意味する。ここで使用される、コンピュータ読み取り可能な媒体という用語は、媒体を介して(搬送波のようなもの)伝播される一時的な電気的または電磁気的信号は包括せず、したがって、コンピュータ読み取り可能な媒体という用語は、類型的かつ非一時的なものと見なされてよい。非一時的なコンピュータ読み取り可能な媒体の非制限的な例としては、非揮発性メモリ回路(フラッシュメモリ回路、消去可能なプログラム可能な読み取り専用メモリ回路、またはマスク読み取り専用メモリ回路など)、揮発性メモリ回路(スタティックRAM回路またはダイナミックRAM回路など)、磁気記録媒体(アナログまたはデジタル磁気テープ、またはハードディスクドライブなど)、および光学記録媒体(CD、DVD、またはブルーレイ(Blu−ray)ディスクなど)が挙げられる。
本出願で説明された装置および方法は、コンピュータプログラムによって実現された1つ以上の特定の機能を実行するように汎用コンピュータを構成することによって生成された特殊目的コンピュータにより、部分的または完全に実現されてよい。上述した機能ブロック、フローチャートの構成要素、および他の要素は、熟練された技術者またはプログラマーの通常的な作業によってコンピュータプログラムに変換されることのできるソフトウェア仕様としての役割を行う。
コンピュータプログラムは、少なくとも1つの非一時的なコンピュータ読み取り可能媒体に記録されたプロセッサ実行可能な命令語を含む。コンピュータプログラムは、記録されたデータを含むか、依存してよい。コンピュータプログラムは、特殊目的コンピュータのハードウェアと相互作用する基本の入力/出力システム(BIOS)、特殊目的コンピュータの特定のデバイスと相互作用するデバイスドライバ、1つ以上のオペレーティングシステム、ユーザアプリケーション、バックグラウンドサービス、バックグラウンドアプリケーションなどを含んでもよい。
コンピュータプログラムは、(i)HTML(ハイパーテキストマークアップ言語)、XML(拡張可能なマークアップ言語)、またはJSON(Java Script Object Notation)のようなパースされる技術的な(descriptive)テキスト、(ii)アセンブリコード、(iii)コンパイラによってソースコードから生成されたオブジェクト(object)コード、(iv)インタプリタによる実行のためのソースコード、(v)ジャストインタイム(Just−In−Time:JIT)コンパイラによるコンパイル、および実行のためのソースコードなどを含んでよい。一例として、ソースコードは、C、C++、C#、Objective C、Swift、Haskell、Go、SQL、R、Lisp、JavaR、Fortran、Perl、Pascal、Curl、OCaml、JavascriptR、HTML5(Hypertext Markup Language 5th 改訂版)、Ada、ASP(Active Server Pages)、PHP(ハイパーテキストプリプロセッサ)、Scala、Eiffel、Smalltalk、Erlang、Ruby、FlashR、Visual BasicR、Lua、MATLAB、SIMULINK、およびPythonRを含む言語からの文法(syntax)を使用して作成されてよい。
100:ナビゲーティングロボット
104:カメラ
108:推進デバイス
112:制御モジュール
116:訓練モデル

Claims (22)

  1. ビジュアルナビゲーションを実行するナビゲーティングロボットによる使用のために訓練モデルを訓練させるための訓練システムであって、
    N個のベース仮想訓練環境を含むメモリであって、前記N個のベース仮想訓練環境のそれぞれは、室内空間内の位置における視野を含み、Nは1よりも大きい整数である、メモリ、
    前記N個のベース仮想訓練環境各自の少なくとも1つの特性を変化させることにより、前記N個のベース仮想訓練環境に基づいてN個の変化した仮想訓練環境を生成するように構成されたランダム化モジュール、および
    前記N個のベース仮想訓練環境および前記N個の変化した仮想訓練環境を含む訓練セットに基づいてビジュアルナビゲーションを実行する前記ナビゲーティングロボットによる使用のために訓練モデルを訓練させるように構成された訓練モジュール
    を含む、訓練システム。
  2. 前記少なくとも1つの特性は、壁のテクスチャを含む、請求項1に記載の訓練システム。
  3. 前記少なくとも1つの特性は、壁の色を含む、請求項1に記載の訓練システム。
  4. 前記少なくとも1つの特性は、照明特性を含む、請求項1に記載の訓練システム。
  5. 前記少なくとも1つの特性は、オブジェクトの位置を含む、請求項1に記載の訓練システム。
  6. 前記訓練モジュールは、畳み込みニューラルネットワーク(CNN)を使用して前記訓練モデルを訓練させるように構成される、請求項1に記載の訓練システム。
  7. 前記訓練モジュールは、不変性正規化(IR)を使用して前記訓練モデルを訓練させるように構成される、請求項1に記載の訓練システム。
  8. 前記訓練モデルは、カメラからの入力イメージに基づき、
    所定の距離だけ前記ナビゲーティングロボットを前方に移動させること、
    所定の第1角度だけ前記ナビゲーティングロボットを右側に回転させること、
    所定の第2角度だけ前記ナビゲーティングロボットを左側に回転させること、および
    前記ナビゲーティングロボットを移動させないこと
    のうちの1つに対する命令を示す出力を生成するように構成される、請求項1に記載の訓練システム。
  9. 前記訓練モデルは、前記カメラからのRGB入力イメージに基づいて前記出力を生成するように構成される、請求項8に記載の訓練システム。
  10. 前記訓練モデルは、前記カメラからのRGB深度(RGB−D)入力イメージに基づいて前記出力を生成するように構成される、請求項8に記載の訓練システム。
  11. 前記訓練モデルは、前記カメラからのグレースケール入力イメージに基づいて前記出力を生成するように構成される、請求項8に記載の訓練システム。
  12. 前記訓練モデルは、前記カメラからのグレースケール深度入力イメージに基づいて前記出力を生成するように構成される、請求項8に記載の訓練システム。
  13. 前記室内空間は、ビル内である、請求項1に記載の訓練システム。
  14. ビジュアルナビゲーションを実行するナビゲーティングロボットによる使用のために訓練モデルを訓練させる方法であって
    1つ以上のプロセッサにより、N個のベース仮想訓練環境各自の少なくとも1つの特性を変化させることにより、前記N個のベース仮想訓練環境に基づいてN個の変化した仮想訓練環境を生成する段階であって、前記N個のベース仮想訓練環境のそれぞれと前記N個の変化した仮想訓練環境のそれぞれは、室内空間内の位置における視野を含み、Nは1よりも大きい整数である、段階、および
    前記1つ以上のプロセッサにより、前記N個のベース仮想訓練環境および前記N個の変化した仮想訓練環境を含む訓練セットに基づいてビジュアルナビゲーションを実行する前記ナビゲーティングロボットによる使用のために訓練モデルを訓練させる段階
    を含む、方法。
  15. 前記少なくとも1つの特性は、
    壁のテクスチャ、
    壁の色、
    照明特性、および
    オブジェクトの位置
    のうちの1つを含む、請求項14に記載の方法。
  16. 前記訓練させる段階は、畳み込みニューラルネットワーク(CNN)を使用して前記訓練モデルを訓練させる段階を含む、請求項14に記載の方法。
  17. 前記訓練させる段階は、不変性正規化(IR)を使用して前記訓練モデルを訓練させる段階を含む、請求項14に記載の方法。
  18. 前記訓練モデルは、カメラからの入力イメージに基づき、
    所定の距離だけ前記ナビゲーティングロボットを前方に移動させること、
    所定の第1角度だけ前記ナビゲーティングロボットを右側に回転させること、
    所定の第2角度だけ前記ナビゲーティングロボットを左側に回転させること、および
    前記ナビゲーティングロボットを移動させないこと
    のうちの1つに対する命令を示す出力を生成するように構成される、請求項14に記載の方法。
  19. 前記訓練モデルは、
    前記カメラからのRGB入力イメージ、
    前記カメラからのRGB深度(RGB−D)入力イメージ、
    前記カメラからのグレースケール入力イメージ、および
    前記カメラからのグレースケール深度入力イメージ
    のうちの1つに基づいて前記出力を生成するように構成される、請求項18に記載の方法。
  20. ナビゲーティングロボットであって、
    前記ナビゲーティングロボットの前の視野内からイメージをキャプチャするように構成されたカメラであって、前記視野は、前記ナビゲーティングロボットの周りの360度よりも狭い、カメラ、
    室内空間内の位置におけるN個のベース仮想訓練環境および前記N個のベース仮想訓練環境各自の少なくとも1つの特性を変化させることによって生成されたN個の変化した仮想訓練環境に基づいて訓練され、Nは1よりも大きい整数であり、前記カメラからのイメージのうちの1つに基づいて出力を生成するように構成されるモデル、
    前記ナビゲーティングロボットを推進させるように構成された1つ以上の推進デバイス、および
    前記モデルの出力に基づき、前記1つ以上の推進デバイスのうちの1つ以上を選択的に作動させるように構成された制御モジュール
    を含む、ナビゲーティングロボット。
  21. 前記モデルは、前記カメラからのイメージのうちの1つに基づき、第1状態、第2状態、第3状態、および第4状態で構成されたグループのうちの1つで前記出力を設定するように構成され、
    前記制御モジュールは、
    前記出力が第1状態であるとき、前記1つ以上の推進デバイスのうちの1つ以上を所定の距離だけ前記ナビゲーティングロボットを前方に移動させるように作動させ、
    前記出力が第2状態であるとき、前記1つ以上の推進デバイスのうちの1つ以上を所定の第1角度だけ前記ナビゲーティングロボットを右側に回転させるように作動させ、
    前記出力が第3状態であるとき、前記1つ以上の推進デバイスのうちの1つ以上を所定の第2角度だけ前記ナビゲーティングロボットを左側に回転させるように作動させ、
    前記出力が第4状態であるとき、前記1つ以上の推進デバイスのうちのいずれも作動させないように構成される、請求項20に記載のナビゲーティングロボット。
  22. 前記ナビゲーティングロボットは、自律走行車である、請求項20に記載のナビゲーティングロボット。
JP2020080879A 2019-11-07 2020-05-01 ビジュアルナビゲーションのための訓練システム、方法およびナビゲーションロボット Active JP7105825B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/677,001 2019-11-07
US16/677,001 US11454978B2 (en) 2019-11-07 2019-11-07 Systems and methods for improving generalization in visual navigation

Publications (2)

Publication Number Publication Date
JP2021077326A true JP2021077326A (ja) 2021-05-20
JP7105825B2 JP7105825B2 (ja) 2022-07-25

Family

ID=75846545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020080879A Active JP7105825B2 (ja) 2019-11-07 2020-05-01 ビジュアルナビゲーションのための訓練システム、方法およびナビゲーションロボット

Country Status (3)

Country Link
US (1) US11454978B2 (ja)
JP (1) JP7105825B2 (ja)
KR (1) KR20210055570A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023037504A1 (ja) * 2021-09-10 2023-03-16 日本電気株式会社 強化学習システム、強化学習装置及び強化学習方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220198813A1 (en) * 2020-12-17 2022-06-23 Sri International System and method for efficient visual navigation
US20220289217A1 (en) * 2021-03-10 2022-09-15 Ohio State Innovation Foundation Vehicle-in-virtual-environment (vve) methods and systems for autonomous driving system
CN114061586A (zh) * 2021-11-10 2022-02-18 北京有竹居网络技术有限公司 用于生成电子设备的导航路径的方法和产品
WO2024091013A1 (ko) * 2022-10-26 2024-05-02 엘지전자 주식회사 차량용 디스플레이 장치 및 그 제어 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018170421A1 (en) * 2017-03-17 2018-09-20 Magic Leap, Inc. Room layout estimation methods and techniques
JP2019032821A (ja) * 2017-06-26 2019-02-28 コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド ニューラルネットワークによる画風変換を用いたデータオーグメンテーション技術
JP2019056966A (ja) * 2017-09-19 2019-04-11 株式会社東芝 情報処理装置、画像認識方法および画像認識プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6548690B2 (ja) * 2016-10-06 2019-07-24 株式会社アドバンスド・データ・コントロールズ シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法
EP3523758A1 (en) * 2016-10-10 2019-08-14 Deepmind Technologies Limited Neural networks for selecting actions to be performed by a robotic agent
CN110769985B (zh) * 2017-12-05 2023-10-17 谷歌有限责任公司 使用循环神经网络的机器人末端执行器的视点不变的视觉伺服
US11554785B2 (en) * 2019-05-07 2023-01-17 Foresight Ai Inc. Driving scenario machine learning network and driving environment simulation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018170421A1 (en) * 2017-03-17 2018-09-20 Magic Leap, Inc. Room layout estimation methods and techniques
JP2020514890A (ja) * 2017-03-17 2020-05-21 マジック リープ, インコーポレイテッドMagic Leap,Inc. 部屋レイアウト推定方法および技法
JP2019032821A (ja) * 2017-06-26 2019-02-28 コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド ニューラルネットワークによる画風変換を用いたデータオーグメンテーション技術
JP2019056966A (ja) * 2017-09-19 2019-04-11 株式会社東芝 情報処理装置、画像認識方法および画像認識プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023037504A1 (ja) * 2021-09-10 2023-03-16 日本電気株式会社 強化学習システム、強化学習装置及び強化学習方法

Also Published As

Publication number Publication date
JP7105825B2 (ja) 2022-07-25
US11454978B2 (en) 2022-09-27
KR20210055570A (ko) 2021-05-17
US20210141383A1 (en) 2021-05-13

Similar Documents

Publication Publication Date Title
JP2021077326A (ja) ビジュアルナビゲーションのための訓練システム、方法およびナビゲーションロボット
US11886997B2 (en) Training action selection neural networks using apprenticeship
US20220363259A1 (en) Method for generating lane changing decision-making model, method for lane changing decision-making of unmanned vehicle and electronic device
US11741334B2 (en) Data-efficient reinforcement learning for continuous control tasks
US10269125B1 (en) Method for tracking object by using convolutional neural network including tracking network and computing device using the same
US11238344B1 (en) Artificially intelligent systems, devices, and methods for learning and/or using a device's circumstances for autonomous device operation
US10860927B2 (en) Stacked convolutional long short-term memory for model-free reinforcement learning
US11714990B2 (en) Jointly learning exploratory and non-exploratory action selection policies
JP2022547611A (ja) 道路シーンにおける多様な長期将来軌道のシミュレーション
CN109643383A (zh) 域分离神经网络
EP3899797A1 (en) Multi-agent reinforcement learning with matchmaking policies
CN116796791A (zh) 使用管理者和工作者神经网络的用于强化学习的动作选择
CN112001585A (zh) 多智能体决策方法、装置、电子设备及存储介质
US20210158162A1 (en) Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space
US11203361B2 (en) Method for performing on-device learning of machine learning network on autonomous vehicle by using multi-stage learning with adaptive hyper-parameter sets and device using the same
JP2020119529A (ja) モバイルデバイスまたは小型ネットワークに適用可能なハードウェアを最適化するのに利用可能なroiをプーリングするために、マスキングパラメータを利用する方法及び装置、そしてこれを利用したテスト方法及びテスト装置{learning method and learning device for pooling roi by using masking parameters to be used for mobile devices or compact networks via hardware optimization, and testing method and testing device using the same}
KR102587994B1 (ko) 카메라 포즈 회귀를 위한 적대적 장면 적응
CN110447041A (zh) 噪声神经网络层
Tira-Thompson et al. The Tekkotsu robotics development environment
CN110858328B (zh) 用于模仿学习的数据采集方法、装置及存储介质
CN115542901B (zh) 基于近端策略训练的可变形机器人避障方法
Bershadsky et al. Techniques for adaptive graphics applications synthesis based on variability modeling technology and graph theory
CN113867147B (zh) 训练及控制方法、装置、计算设备和介质
CN116663417B (zh) 一种虚拟地理环境角色建模方法
Premi Autonomous robot exploration using deep learning: an experimental analysis

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200501

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20200525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210903

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220419

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220419

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220427

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220510

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20220530

TRDD Decision of grant or rejection written
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220530

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220712

R150 Certificate of patent or registration of utility model

Ref document number: 7105825

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150