JP7399912B2 - 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置 - Google Patents

物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置 Download PDF

Info

Publication number
JP7399912B2
JP7399912B2 JP2021116336A JP2021116336A JP7399912B2 JP 7399912 B2 JP7399912 B2 JP 7399912B2 JP 2021116336 A JP2021116336 A JP 2021116336A JP 2021116336 A JP2021116336 A JP 2021116336A JP 7399912 B2 JP7399912 B2 JP 7399912B2
Authority
JP
Japan
Prior art keywords
robot
image
candidate
predicted
motion
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
JP2021116336A
Other languages
English (en)
Other versions
JP2021175592A (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2021175592A publication Critical patent/JP2021175592A/ja
Priority to JP2023205781A priority Critical patent/JP2024019422A/ja
Application granted granted Critical
Publication of JP7399912B2 publication Critical patent/JP7399912B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • 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/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39289Adaptive ann controller
    • 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/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/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Robotics (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Medical Informatics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Human Computer Interaction (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Databases & Information Systems (AREA)
  • Fuzzy Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Description

多数のロボットが、1つまたは複数の物体を操作するのに1つまたは複数のエンド・エフェクタを利用するようにプログラムされる。たとえば、ロボットは、物体に力を適用し、その物体の運動を引き起こすのにエンド・エフェクタを利用することができる。たとえば、ロボットは、必ずしも物体を把持せずに物体を変位させるのに把持エンド・エフェクタまたは他のエンド・エフェクタを利用することができる。また、たとえば、ロボットは、物体を第1の位置から拾い上げ、物体を第2の位置に移動し、物体を第2の位置に置くのに、「衝突」グリッパまたは「進入」グリッパ(たとえば、ピン、針などを使用して物体を物理的に貫通する)などの把持エンド・エフェクタを利用することができる。
本明細書のいくつかの実施態様は、環境内でのロボットの特定の運動に応答してロボットの環境内の物体(1つまたは複数)に対して発生する動き(1つまたは複数)(存在する場合に)を予測することに関する深層機械学習の方法および装置に全般的に関する。いくつかの実施態様は、環境内でのロボットの特定の運動の少なくとも一部を実施することの結果として発生するはずのロボットの環境の画像の少なくとも1つの変換(存在する場合に)を予測するためにディープ・ニューラル・ネットワーク・モデルをトレーニングすることを対象とする。トレーニングされるディープ・ニューラル・ネットワーク・モデルは、(1)画像および(2)特定の運動の一部を定義するロボット運動パラメータを含む入力に基づいて変換を予測することができる。予測された変換は、ロボットの環境の予測された画像を生成するために画像を変換するのに利用され得、予測された画像は、特定の運動の一部が発生する場合のロボットの環境を予測する。言い換えると、予測された画像は、特定の運動の一部が発生した後のロボットの環境の予測を示し、たとえば、特定の運動の結果として発生するはずの環境内の物体(1つまたは複数)の動き(1つまたは複数)を予測するのに利用され得る。
予測された動き(1つまたは複数)は、たとえば、特定の運動を実現するためにロボットのアクチュエータ(1つまたは複数)に制御コマンドを供給すべきかどうかを判定するためなど、様々な目的に利用され得る。たとえば、予測された動き(1つまたは複数)は、所望の動き(1つまたは複数)と比較され得、予測された動き(1つまたは複数)が所望の動き(1つまたは複数)に従う場合には、制御コマンドが実施され得る。この形で、特定の運動の結果が、特定の運動の実施の前に効果的に「視覚化され」得、結果が望ましい場合に特定の運動が実施され得る。本明細書で説明するように、様々な実施態様において、ディープ・ニューラル・ネットワーク・モデルは、複数の将来の時間ステップの候補運動パラメータに基づいてこれらの将来の時間ステップのそれぞれでの画像を予測し、これによって、将来への効果的な視覚化多数時間ステップを可能にする。
いくつかの実施態様では、ロボットの1つまたは複数の構成要素によるロボットの環境内で実行可能な候補運動の少なくとも一部を定義する候補ロボット運動パラメータを生成することを含む方法が提供される。この方法は、ロボットに関連する視覚センサによって取り込まれた現在の画像を識別することをさらに含む。現在の画像は、ロボットの環境の少なくとも一部を取り込む。この方法は、トレーニングされるニューラル・ネットワークへの入力として現在の画像および候補ロボット運動パラメータを適用することと、トレーニングされるニューラル・ネットワークへの現在の画像および候補ロボット運動パラメータの適用に基づいて、現在の画像の少なくとも1つの予測された変換を生成することとをさらに含む。この方法は、少なくとも1つの予測された画像を生成するために少なくとも1つの予測された変換に基づいて現在の画像を変換することをさらに含む。予測された画像は、候補運動の少なくとも一部がロボットの構成要素によって環境内で実行される場合のロボットの環境の一部を予測する。
上記および他の実施態様は、オプションで、以下の特徴のうちの1つまたは複数を含むことができる。
いくつかの実施態様では、この方法は、予測された画像に基づいて、候補運動を実行すると決定することと、候補運動を実行するためにロボットの1つまたは複数のアクチュエータに1つまたは複数の制御コマンドを供給することとをさらに含む。
いくつかの実施態様では、この方法は、予測された画像に基づいて、候補運動の代わりに代替の運動を実行すると決定することと、代替の運動を実行するためにロボットの1つまたは複数のアクチュエータに1つまたは複数の制御コマンドを供給することとをさらに含む。
いくつかの実施態様では、この方法は、トレーニングされるニューラル・ネットワークへの現在の画像および候補ロボット運動パラメータの適用に基づいて、少なくとも1つの合成マスクを生成することをさらに含む。現在の画像を変換することは、少なくとも1つの合成マスクにさらに基づく。一例として、少なくとも1つの予測された変換は、複数の予測された変換を含むことができ、少なくとも1つの合成マスクは、複数の合成マスクを含むことができ、予測された画像を生成するために少なくとも1つの予測された変換に基づいて現在の画像を変換することは、複数の予測された変換に基づいて、複数の予測された画像を生成することと、予測された画像を生成するために複数の合成マスクに基づいて予測された画像を合成することとを含むことができる。
いくつかの実施態様では、この方法は、候補運動の代わりに、構成要素のうちの1つまたは複数によって環境内で実行可能な第2の候補運動の少なくとも一部を定義する第2の候補ロボット運動パラメータを生成することをさらに含む。これらの実施態様では、この方法は、トレーニングされるニューラル・ネットワークへの入力として現在の画像および第2の候補ロボット運動パラメータを適用することと、トレーニングされるニューラル・ネットワークへの現在の画像および第2の候補ロボット運動パラメータの適用に基づいて、現在の画像の少なくとも1つの第2の予測された変換を生成することと、少なくとも1つの第2の予測された画像を生成するために第2の予測された変換に基づいて現在の画像の画素のうちの1つまたは複数を変換することとをさらに含むことができる。第2の予測された画像は、第2の候補運動の少なくとも一部がロボットの構成要素によって環境内で実行される場合のロボットの環境の一部を予測する。これらの実施態様のいくつかのバージョンでは、この方法は、予測された画像および第2の予測された画像に基づいて、候補運動または第2の候補運動のいずれかを選択することと、候補運動および第2の候補運動のうちの選択された1つを実行するためにロボットの1つまたは複数のアクチュエータに1つまたは複数の制御コマンドを供給することとをさらに含む。
いくつかの実施態様では、この方法は、候補運動の一部に続く候補運動の別の一部を定義する継続する候補ロボット運動パラメータを生成することと、トレーニングされるニューラル・ネットワークに予測された画像および継続する候補ロボット運動パラメータを適用することと、トレーニングされるニューラル・ネットワークへの予測された画像および継続する候補ロボット運動パラメータの適用に基づいて、予測された画像の少なくとも1つの継続する予測された変換を生成することと、継続する予測された画像を生成するために継続する予測された変換に基づいて予測された画像を変換することと、をさらに含む。これらの実施態様のいくつかでは、この方法は、予測された画像および継続する予測された画像に基づいて、候補運動を実行すると決定することと、候補運動を実行するためにロボットの1つまたは複数のアクチュエータに1つまたは複数の制御コマンドを供給することとをさらに含む。
いくつかの実施態様では、トレーニングされるニューラル・ネットワークは、複数の積み重ねられた畳み込み長短期記憶層を含む。
いくつかの実施態様では、現在の画像の画素の少なくともオン予測された変換は、1つまたは複数の空間トランスフォーマのパラメータを含む。これらの実施態様のいくつかでは、現在の画像を変換することは、パラメータを利用して現在の画像に1つまたは複数の空間トランスフォーマを適用することを含む。
いくつかの実施態様では、現在の画像の画素の少なくとも1つの予測された変換は、それぞれが画素のうちの1つまたは複数に対応する1つまたは複数の正規化された分布を含む。これらの実施態様のいくつかでは、現在の画像を変換することは、畳み込み演算を使用して現在の画像に正規化された分布を適用することを含む。これらの実施態様のいくつかのバージョンでは、正規化された分布のそれぞれは、画素の対応する1つに対応する。
いくつかの実施態様では、トレーニングされるニューラル・ネットワークへの入力として現在の画像および候補ロボット動きパラメータを適用することは、トレーニングされるニューラル・ネットワークの初期層への入力として現在の画像を適用することと、トレーニングされるニューラル・ネットワークの追加層に候補ロボット動きパラメータを適用することであって、追加層は、初期層の下流にあることとを含む。
いくつかの実施態様では、候補ロボット・パラメータは、初期ロボット状態と、後続ロボット状態を示すアクションとを含む。これらの実施態様のいくつかでは、初期ロボット状態は、エンド・エフェクタの現在の姿勢であり、アクションは、エンド・エフェクタの指令された姿勢である。
いくつかの実施態様では、ロボットに関連する視覚センサによって取り込まれた現在の画像を識別することを含む方法が提供される。この方法は、ロボットの現在の状態を識別することと、現在の状態から候補状態にロボットを遷移させるための候補アクションを識別することとをさらに含む。この方法は、トレーニングされるニューラル・ネットワークへの入力として現在の画像、現在の状態、および候補アクションを適用することをさらに含む。この方法は、トレーニングされるニューラル・ネットワークへの現在の画像、現在の状態、および候補アクションの適用に基づいて少なくとも1つの予測された画像を生成することをさらに含む。この方法は、予測された画像に基づいて、候補アクションを実行すると決定することをさらに含む。この方法は、候補アクションを実行するとの判定に応答して、候補アクションを実行するためにロボットの1つまたは複数のアクチュエータに1つまたは複数の制御コマンドを供給することをさらに含む。
いくつかの実施態様では、1つまたは複数のロボットによる複数の物体の動きの試み中のロボットに関連するセンサからのセンサ出力に基づいて生成された複数のトレーニング例を識別することを含む方法が提供される。トレーニング例のそれぞれは、物体の動きの試みの対応する試みからの順次画像のグループを含む。画像のそれぞれは、時間の対応する実例での環境内の1つまたは複数の対応する物体ならびに、順次画像のそれぞれについて、時間の対応する実例でのロボットの状態と、時間の対応する実例でのロボットの状態を順次画像の次の順次画像に対応する新しい状態に遷移させるために適用すべきアクションとを取り込む。この方法は、トレーニング例に基づいてニューラル・ネットワークをトレーニングすることをさらに含む。
他の実施態様は、上でおよび/または本明細書の他所で説明される方法のうちの1つまたは複数などの方法を実行するためにプロセッサ(たとえば、中央処理装置(CPU)またはグラフィックス処理ユニット(GPU))によって実行可能な命令を記憶する非一時的コンピュータ可読記憶媒体を含むことができる。さらに他の実施態様は、上でおよび/または本明細書の他所で説明される方法のうちの1つまたは複数などの方法を実行するために記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む1つもしくは複数のコンピュータおよび/または1つもしくは複数のロボットのシステムを含むことができる。さらに他の実施態様は、コンピューティング装置によって実行される時に上でおよび/または本明細書の他所で説明される方法のうちの1つまたは複数の実行を引き起こす機械可読命令を含むコンピュータ・プログラムを含むことができる。
前述の概念および本明細書でより詳細に説明される追加の概念のすべての組合せが、本明細書で開示される主題の一部であるものとして企図されていることを了解されたい。たとえば、本開示の末尾に現れる請求される主題のすべての組合せが、本明細書で開示される主題の一部であるものとして企図されている。
物体の動きの試みがロボットによって実行され得、物体の動きの試みに関連するデータがトレーニング例を生成するのに利用され得、かつ/またはトレーニング例がニューラル・ネットワークをトレーニングするのに利用され得る環境の例を示す図である。 図1のロボットのうちの1つと、経路に沿ったロボットの把持エンド・エフェクタの運動の例とを示す図である。 物体の動きの試みを実行し、物体の動きの試みに関連するデータを記憶する方法の例を示す流れ図である。 ロボットの物体の動きの試みに関連するデータに基づいてトレーニング例を生成する方法の例を示す流れ図である。 トレーニング例に基づいてニューラル・ネットワークをトレーニングする方法の例を示す流れ図である。 ニューラル・ネットワークのアーキテクチャの例を示し、ニューラル・ネットワークに供給され得る入力の例を示し、ニューラル・ネットワークの出力の例を示し、出力の例が予測された画像を生成するのにどのように利用され得るのかを示す図である。 ニューラル・ネットワークのアーキテクチャの例を示し、ニューラル・ネットワークに供給され得る入力の例を示し、ニューラル・ネットワークの出力の例を示し、出力の例が予測された画像を生成するのにどのように利用され得るのかを示す図である。 ロボットの運動が発生した後のロボットの環境を予測する予測された画像(1つまたは複数)を生成するのにトレーニングされるニューラル・ネットワークを利用し、かつ/または予測された画像に基づいて1つもしくは複数のアクションを実行する方法の例を示す流れ図である。 ロボットのアーキテクチャの例を概略的に示す図である。 コンピュータ・システムのアーキテクチャの例を概略的に示す図である。
世界と相互作用するために学習するロボットまたは他のエージェントの1つの課題は、そのアクションがその環境内の物体にどのように影響するのかを予測することである。物理相互作用の動力学を学習するための多数の方法は、手作業でラベルを付けられた物体情報を必要とする。しかし、実世界相互作用学習を様々なシーンおよび物体にスケーリングするためには、手作業でラベルを付けられた物体情報の獲得が、ますます非実用的になる。物体のラベルを必要とせずに物理物体の動きに関して学習するために、本明細書で説明される諸実施形態は、以前のフレームからの画素動きにわたる分布を予測することによって画素動きを明示的にモデル化する、アクション条件付けされた(action-conditioned)動き予測モデルを使用する。たとえば、諸実施形態は、一から新しい画像を構成するのではなく、画素を以前の画像フレームから移流させ、新しいフレーム上でこれらを合成することができる。モデルが動きを明示的に予測するので、モデルは、物体の外見に対して少なくとも部分的に不変であり、モデルが以前に見たことがない物体に一般化されることを可能にする。実世界相互作用エージェントのビデオ予測を探求するために、押す動きを伴う大量の(たとえば、50000個以上)ロボット相互作用のデータセットが、利用され得る。そのようなデータセットを利用して、ロボットの将来のアクションに対して条件付けされた、画像内の物体(1つまたは複数)の動きの正確な予測を可能にする動き予測モデルが、トレーニングされ得る。これは、アクションの異なる過程に基づいて異なる将来を「視覚的に推察する」ための動き予測モデルの利用を可能にする。
物体検出、追跡、および動き予測は、コンピュータ・ビジョンにおける基本的問題であり、物理相互作用の影響の予測は、ロボット、自律自動車、およびドローンなどの、世界の中で働くエージェントの課題である。物理相互作用の影響を予測するための学習のいくつかの既存の技法は、大型の手作業でラベルを付けられたデータセットに頼る。しかし、相互作用エージェントからのラベルを付けられていない生のビデオ・データ(順次画像フレームからなる)が、物理相互作用に関して学習するのに使用される場合に、相互作用エージェントは、それら自体の探査を介して事実上無制限の経験を自律的に収集することができる。ラベルなしで将来のビデオを予測できる表現の学習は、アクションの認識および予測において応用を有し、エージェントのアクションに対して条件付けされた時に、プラニングおよび意思決定のためにエージェントによって使用され得る予測モデルの学習になる。
しかし、物理現象を予測するための学習は、多数の課題をもたらす。というのは、実世界の物理相互作用が、複雑で確率論的になる傾向があり、生ビデオからの学習が、画像画素の高い次元性およびビデオからの物体の動きの部分的な可観測性の処理を要求するからである。以前のビデオ予測方法は、通常、短期予測、小さい画像パッチ、または合成画像を考慮してきた。そのような以前の方法は、モデルの内部状態から将来のフレームを再構成するという範例に従う。本明細書で説明するいくつかの実施態様では、動き予測モデルが物体および背景の外見を記憶することが要求されない。そのような外見情報は、その代わりに以前の画像フレーム(たとえば、ロボットの視覚センサによって取り込まれた以前の画像フレームまたは以前の再構成された画像フレーム)から入手され得、動き予測モデルが動き予測に焦点を合わせることを可能にする。本明細書で説明される予測モデルは、それぞれ、以前のフレーム(1つまたは複数)からの外見情報をモデルによって予測された動きと合併することができる。その結果、モデルは、それぞれ、トレーニング時に見られなかった物体を含む場合であっても、複数のステップについて将来のビデオ・シーケンスをよりよく(従来の技法に対して相対的に)予測することができる可能性がある。
外見および予測された動きを合併するために、以前の画像に対する相対的な画素の動きが、本明細書で説明する予測モデルに関する出力として生成され得る。この動きを以前の
画像フレームに適用することが、次の画像フレームを形成する。様々な動き予測モデルが利用され得、そのうちの3つが、本明細書で詳細に説明される。本明細書で時々動的ニューラル移流(dynamic neural advection)(DNA)モデルと呼ばれる第1のモデルは、新しいフレーム内の画素ごとに以前の画像フレーム内の位置にわたる分布を出力する。その後、予測された画素値が、この分布の下での期待値として計算される。本明細書で時々畳み込み動的ニューラル移流(convolutional dynamic neural advection)(CDNA)モデルと呼ばれるDNAモデルに対する変形形態は、新しい画素値を計算するために以前の画像フレームに適用すべき複数の正規化された畳み込みカーネルのパラメータを出力する。本明細書で時々空間トランスフォーマ・プレディクタ(spatial transformer predictor)(STP)モデルと呼ばれる最後の手法は、以前の画像フレームに適用すべき複数のアフィン変換のパラメータを出力する。DNAモデルおよびSTPモデルの場合に、各予測された変換は、別々の物体を処理することが意図されている。予測を単一の画像に組み合わせるために、モデルは、変換のそれぞれに関する合成マスクをも予測する。DNAおよびCDNAは、STPより単純であり、かつ/または実施がより簡単である可能性があり、物体中心のCDNAモデルおよびSTPモデルは、解釈可能な内部表現をも提供することができる。
本明細書で説明される様々な実施態様は、画素の動きを予測することによって実世界画像において長期予測を行う技法を提示する。エージェント(たとえば、ロボット)によって行われるアクションに対して条件付けされる時に、モデルは、異なるアクションから異なる将来を推察する(これらの異なるアクションが実施される前に)ことを学習することができる。ビデオから物理相互作用に関して学習するために、複雑な物体相互作用を有する大型のデータセットが利用され得る。一例として、各時間ステップでの対応するアクションを有する140万個の画像フレームからなる50000個のロボットの押す動きのデータセットが、利用され得る。
外見に対して不変のままでありながら物体の動きに関して学習するために、画素動き予測を構成するために以前のフレームからの外見情報を直接に使用する、あるクラスの動き予測モデルが利用され得る。このモデルは、まず画素空間内で物体の動きを予測することと、その後にマスキングを介してこれらの予測を合併することとによって、次のフレームを計算する。複数の物体の予測された動きを単一の次の画像予測にどのようにして効果的に合併すべきかを含む、潜在的な動き予測モデルのいくつかが、下で説明される。物体(1つまたは複数)の外見を再構成することを試みずに物体(1つまたは複数)の動き(1つまたは複数)を予測する、本明細書で説明される動き予測モデルは、外見に対して部分的に不変になることができ、以前に見たことがない物体に効果的に一般化され得る。動き予測モデルの3つの例が、これから順番に短く説明される。
動的ニューラル移流(DNA)動き予測モデル
DNA動き予測モデルでは、位置にわたる分布が、新しいフレーム内の画素ごとに以前のフレーム内で予測される。予測された画素値は、この分布の下の期待値として計算される。画素運動は、画素が長距離を移動しないという規則化する仮定の下で、ローカル領域に制約される。これは、予測の次元性を低く保つことができる。
形式上、予測動き変換
Figure 0007399912000001
が、すべての画素(x,y)の以前の画像予測
Figure 0007399912000002
に適用されて、以下のように次の画像予測
Figure 0007399912000003
を形成する。
Figure 0007399912000004
ここで、κは、予測された分布の空間的広がりである。これは、拘束されない重みを有する畳み込みとして実施され得る。このモデルのアーキテクチャは、より高次元の変換パラメータ
Figure 0007399912000005
が、図6Aおよび図6BのCDNAモデルのように第5の長短期記憶層(図6BのLSTM層675)によって出力されるのではなく、最後の畳み込み層(図6Bの畳み込み層662)によって出力されることを除いて、図6Aおよび図6BのCDNAモデルの例と一致することができる。
畳み込み動的ニューラル移流(CDNA)動き予測モデル
同一の機構が、画像の異なる領域内の異なる物体の動きを予測するのに使用され得るという仮定の下で、CDNA動き予測モデルは、動きを予測するためのより物体中心の手法を提示することができる。画素ごとに異なる分布を予測するのではなく、このモデルは、すべての画素の動き分布の期待値を計算する畳み込み(拘束された重みを用いる)を介して画像全体にそれぞれが適用される複数の離散分布を予測する。同一の剛性物体上の画素は、一緒に動き、したがって、同一の変換を共有することができる。より形式的には、以前の画像
Figure 0007399912000006
に適用される1つの予測された物体変換は、以下のように画素(x,y)ごとに画像
Figure 0007399912000007
を作る。
Figure 0007399912000008
ここで、κは、生起された予測された畳み込みカーネル
Figure 0007399912000009
の空間的サイズである。複数の変換
Figure 0007399912000010
が、以前の画像
Figure 0007399912000011
に適用されて、複数の画像
Figure 0007399912000012
を形成する。これらの出力画像は、下で説明し、図6Aおよび図6Bに示すように、単一の予測
Figure 0007399912000013
に組み合わされる。
空間トランスフォーマ・プレディクタ(STP)動き予測モデル
STP動き予測モデルは、2Dアフィン画像変換のパラメータの複数のセットを作り、バイリニア・サンプリング・カーネルを使用して変換を適用する。より形式的には、アフィン・パラメータのセット
Figure 0007399912000014
が、以前の画像内の画素(xt-1,yt-1)と生成される画像内の画素(xt,yt)との間のワーピング・グリッド(warping grid)を作る。
Figure 0007399912000015
このグリッドは、バイリニア・カーネルを用いて適用されて、画像
Figure 0007399912000016
を形成することができる。
Figure 0007399912000017
ここで、WおよびHは、画像の幅および高さである。複数の変換
Figure 0007399912000018
が、以前の画像
Figure 0007399912000019
に適用されて、複数の画像
Figure 0007399912000020
を形成し、これらが、その後にマスクに基づいて合成される。このアーキテクチャは、図6Aおよび図6BのCDNAアーキテクチャと一致することができるが、第5のLSTM層(図6BのLSTM層775)でCDNAカーネルを出力するのではなく、このモデルは、第5のLSTM層(図6BのLSTM層775)で変換パラメータを出力する。
DNA動き予測モデル、CDNA動き予測モデル、およびSTP動き予測モデルは、それぞれ、物体の外見ではなく物理現象の学習に焦点を合わせるように構成され、トレーニングされ得る。その結果、そのようなモデルは、画素を直接に再構成しまたは以前のフレームからの差を予測するモデルと比較して、見たことのない物体によりよく一般化され得る。
CDNA動き予測モデルおよびSTP動き予測モデルは、複数の変換された画像(物体動き予測ごとに1つの変換された画像)を生成するのに使用され得る複数の物体動き予測を作る。複数の変換された画像は、単一の画像に組み合わされる必要がある。それを行うために、CDNAモデルおよびSTPモデルは、変換された画像に適用すべきマスクのセットをも予想することができる。これらのマスクは、各変換された画像が各画素にどれほ
ど影響するのかを示す。マスクのチャネルにわたるソフトマックスは、その合計が1になることを保証することができる。より形式的には、予測された画像の合成
Figure 0007399912000021
は、画素ごとに各予測に対する重みを定義するマスクΞによって変調され得る。したがって、
Figure 0007399912000022
であり、ここで、cは、マスクのチャネルを表し、要素に関する乗算は、画素に関する。実際には、モデルは、一貫した方向に動きつつある物体をマスクによって除去するように学習することができる。この手法の利益は、たとえば、予測された動き変換が、画像内の複数の画素について再利用されること、および/またはモデルが、教師なしの形でより物体中心の表現を自然に抽出すること(物体と相互作用することを学習するエージェントにとって潜在的に望ましい特性)を含むことができる。
DNAを含む動き予測モデルごとに、モデルが以前の画像(たとえば、初期反復で取り込まれた画像フレームまたは後続の反復での直前の予測された画像)から直接に画素をコピーすることが許される、「背景マスク」が含まれ得る。さらに、近くの画素によって良好には表現されない可能性がある、以前に除外された領域を充填するために、モデルは、画像から画素を生成し、これを最終的なマスキング・ステップに含めることを許される。性能改善のほかに、これは、解釈可能な背景マスクをも作る。
上で議論した動き予測を生成するために、積み重ねられた畳み込みLSTMが、動き予測モデル内で使用され得る。畳み込みを介する再帰は、物理法則が空間にまたがって主として一貫しているので画像表現の空間的不変を利用するので、マルチステップ・ビデオ予測に関して機能する。その結果、畳み込み再帰を用いるモデルは、大幅により少ないパラメータを必要とし、かつ/またはこれらのパラメータをより効率的に使用することができる。
相互作用セッティングにおいて、エージェントの候補アクションおよび内部状態(ロボット・グリッパの姿勢など)も、次の画像に影響し、この両方が、最低次元のアクティブ化マップの空間的広がりにまたがって、連結された内部状態および候補アクション(1つまたは複数)のベクトルをタイリングすることによってモデルに一体化され得る。ただし、エージェントの内部状態(たとえば、現在のロボット・グリッパ姿勢)が、最初の時間ステップでのみネットワークに入力され、いくつかの実施態様では将来の時間ステップでのアクションから予測されなければならないことに留意されたい。たとえば、ロボット・グリッパ姿勢は、候補アクション(1つまたは複数)を考慮した現在のロボット・グリッパ姿勢の変更に基づいて将来の時間ステップにおいて予測され得る。言い換えると、将来の時間ステップでのロボット・グリッパ姿勢は、以前の時間ステップ(1つまたは複数)の候補アクション(1つまたは複数)が実施されたとの仮定に基づいて判定され得る。ニューラル・ネットワークは、I2 reconstruction lossを使用してトレーニングされ得る。代替のlossが、この方法を補足することができるはずである。
アクション条件付けされたビデオ予測の1つの応用例は、視覚ベースのロボット制御タ
スクでの意思決定に学習されたモデルを使用することである。ビデオからの教師なし学習は、エージェントが、人間の介入なしに独力で世界に関して学習することを可能にすることができ、これは、相互作用学習をスケール・アップするのに有益である可能性がある。ロボット・タスクに関するアクション条件付けされたビデオ予測を調査するために、実世界の物理物体相互作用に関するデータセットが使用され得る。たとえば、データセットは、ビン内の数百個の物体を押す10個のロボット・アームを使用して生成され得る(100万ビデオ・フレームにわたって合計50000個の相互作用シーケンスになる)。画像(たとえば、RGB画像またはRGBD画像)を含めることに加えて、各フレームは、フレームの時間ステップでのグリッパ姿勢(本明細書では「内部状態」または「ロボット状態」と呼ばれる場合がある)と、その時間ステップでのアクション(後続(たとえば、次)の時間ステップでのグリッパ姿勢に対応することができる)または後続時間ステップでのグリッパ姿勢に達するための動きベクトルもしくはコマンドとを用いて注釈を付けられることも可能である。
いくつかの実施態様では、実行時に、初期画像(1つまたは複数)ならびに初期ロボット状態および候補アクション(1つまたは複数)が、トレーニングされるニューラル・ネットワーク・モデルへの入力として供給され得る。初期ロボット状態は、たとえば、現在のグリッパ姿勢とすることができ、候補アクション(1つまたは複数)は、それぞれが現在のグリッパ姿勢を対応する新しいグリッパ姿勢に移動させる候補アクションとすることができる。モデルは、その後、以前の時間ステップから予測された画像内で経過する各後続時間ステップ、その時間ステップの候補アクション、および更新されたロボット状態と共に公開され得る。上で説明したように、所与の反復の更新されたロボット状態は、以前の時間ステップ(1つまたは複数)の候補アクション(1つまたは複数)が適用されたと仮定する状態(すなわち、以前の時間ステップ(1つまたは複数)の候補アクション(1つまたは複数)によって変更された初期ロボット状態)とすることができる。いくつかの実施態様では、ニューラル・ネットワークは、すべての再帰モデルについて8つの将来の時間ステップに関してトレーニングされ、18個までの将来の時間ステップについて使用され得る。将来の時間ステップの他の量が、トレーニングおよび/または使用に関して使用され得る。
本明細書で説明される技法のいくつかの実施態様は、それに加えてまたはその代わりに、ロボット状態および/またはアクションを考慮せずに将来のビデオを予測するモデルを生成するのに利用され得る。たとえば、室内で様々なアクションを実行する人間の俳優のビデオからなるデータセットが、モデルをトレーニングするのに使用され得る。これらのビデオは、オプションで、ビデオの穏当な時間枠内に顕著な動きがあるように、サブサンプリングされ得る(たとえば、10フレーム毎秒に)。モデルは、もはやアクションに対して条件付けされないので、X(たとえば、10)個のビデオ・フレームが、供給され得、ネットワークが、次のX個(たとえば、10フレーム)を作るためにトレーニングされ得る。
物理相互作用の文脈での将来の物体の動きの予測は、インテリジェント相互作用システム内で利用され得る。本明細書で説明する種類の将来のビデオ・フレームのアクション条件付けされた予測は、ロボットなどの相互作用エージェントが使用可能な候補アクションに基づいて異なる将来を推察することを可能にすることができる。そのような機構は、アクションが特定の目標を達成するように計画し、起こりうる将来の問題を予想し(たとえば、自律車両、障害物回避の文脈で)、探査の文脈で興味深い新しい現象を認識するのに使用され得る。一特定の例として、物体の目標状態が定義され得る。たとえば、人間が、物体の目標状態を定義するためにユーザ・インターフェース入力を利用することができる。たとえば、人間が、ロボットによって取り込まれた画像を表示するインターフェースを介して物体を操作することができ、ここで、画像は、物体を含み、操作は、物体の姿勢の
調整を可能にする。また、たとえば、ロボットの内部システムが、物体に向けられたタスク(たとえば、物体を新しい姿勢に移動する)の達成において物体の目標状態を定義することができる。様々な候補アクションが、複数の予測された画像を生成するのに動き予測モデルを利用して考慮され得る。その目標状態に最も近い物体を描く予測された画像が判定され得、予測された画像を生成するために適用される候補アクションが、物体をその目標状態に移動するためにロボットによって選択され、適用され得る。この形で、動き予測モデルは、ロボットの環境に対する様々な候補アクションの影響を予測するのに利用され得、所望の環境影響に最もよく従う予測された画像をもたらした候補アクションが、選択され得る。これは、様々なロボット・アクションを実際には実施せずにこれらのアクションの影響を当初に考慮することと、その後の、考慮された影響に基づいて実際に実施すべき、これらのロボット・アクションのうちの1つまたは複数の選択とを可能にする。
本明細書で説明する技術のいくつかの実施態様は、トレーニングされるニューラル・ネットワークの利用が、環境内のロボットの特定の運動に応答してロボットの環境の画像に対して発生する変換を予測することを可能にするための、積み重ねられた長短期記憶(LSTM)層を含むニューラル・ネットワークなどのニューラル・ネットワークのトレーニングを対象とする。いくつかの実施態様では、トレーニングされるニューラル・ネットワークは、視覚センサによって生成された画像(I)を受け入れ、現在のロボット状態および/または現在のロボット状態を異なるロボット状態に遷移させるために実行されるべき1つもしくは複数の候補アクションを定義するパラメータなどの候補ロボット運動パラメータ(p)を受け入れる。いくつかの実施態様では、現在のロボット状態は、ロボットのエンド・エフェクタの姿勢(たとえば、把持エンド・エフェクタの姿勢)とすることができ、各候補アクションは、それぞれ、エンド・エフェクタの後続姿勢とする(またはこれを示す)ことができる。したがって、これらの実施態様のうちのいくつかでは、候補アクションは、それぞれ、エンド・エフェクタのある姿勢からエンド・エフェクタの後続姿勢に移動するための動きベクトルを示すことができる。たとえば、第1の候補アクションは、現在の姿勢から次の時間ステップでの姿勢に移動するための動きベクトルを示すことができ、第2の候補アクションは、その姿勢から次の時間ステップでの姿勢に移動するための動きベクトルを示すことができ、以下同様である。トレーニングされるニューラル・ネットワークへの画像(I)および候補ロボット運動パラメータ(p)の適用は、候補ロボット運動パラメータ(p)の実施に応答して画像(I)に対して発生する少なくとも1つの予測された変換を、ニューラル・ネットワークを介して生成するのに使用され得る。これらの実施態様のいくつかでは、予測された変換は、画像(I)を予測された画像(PI)に変換するのに利用される。予測された画像(PI)および/またはニューラル・ネットワークの追加の予測された変換に基づいて生成される1つもしくは複数の追加の予測された画像は、候補ロボット運動パラメータを実施すべきかどうかを判定するのに利用され得る。たとえば、予測された画像(1つまたは複数)は、候補ロボット運動パラメータに基づいて発生する環境内の物体(1つまたは複数)の予測された動き(1つまたは複数)を判定するために分析され得、候補ロボット運動パラメータは、予測された動き(1つまたは複数)が望ましい場合に実施され得る。この技術の上記および他の実施態様の追加の詳細を、以下で提供する。
図1~図7を参照して、動き予測ニューラル・ネットワークのトレーニングおよび利用の様々な実施態様を説明する。図1は、物体の動きの試みがロボット(たとえば、ロボット180A、180B、および/または他のロボット)によって実行され得、物体の動きの試みに関連するデータがトレーニング例を生成するのに利用され得、かつ/またはトレーニング例が動き予測ニューラル・ネットワークをトレーニングするのに利用され得る環境の例を示す。
ロボット180Aおよび180Bの例が、図1に示されている。ロボット180Aおよ
び180Bは、把持エンド・エフェクタ182Aおよび182Bを所望の姿勢に位置決めするための、複数の潜在的な経路のいずれかに沿った把持エンド・エフェクタ182Aおよび182Bのトラバースを、ロボットの運動を介して可能にするために複数の自由度を有する「ロボット・アーム」である。たとえば、図2を参照すると、経路201に沿ってそのエンド・エフェクタをトラバースするロボット180Aの例が示されている。図2は、経路201に沿ってトラバースする際のロボット180Aおよびそのエンド・エフェクタによってとられる姿勢のセットのうちの2つの異なる姿勢を示すロボット180Aのファントム画像および非ファントム画像を含む。図1をもう一度参照すると、ロボット180Aおよび180Bは、それぞれ、少なくとも開位置と閉位置と(および/またはオプションで複数の「部分的に閉じた」位置と)の間で爪を作動させるためにそれに対応する把持エンド・エフェクタ182Aおよび182Bの2つの対向する「爪」をさらに制御する。
視覚センサ184Aおよび184Bの例も、図1に示されている。図1では、視覚センサ184Aは、ロボット180Aの基部または他の静止基準点に対して相対的に固定された姿勢で取り付けられる。視覚センサ184Bも、ロボット180Bの基部または他の静止基準点に対して相対的に固定された姿勢で取り付けられる。図1に示されているように、ロボット180Aに対する相対的な視覚センサ184Aの姿勢は、ロボット180Bに対する相対的な視覚センサ184Bの姿勢とは異なる。いくつかの実施態様では、そのような異なる姿勢は、カメラ較正に対して頑健であり、かつ/またはこれと独立のニューラル・ネットワークをトレーニングするのに利用され得る様々なトレーニング例の生成を可能にするのに有益である可能性がある。視覚センサ184Aおよび184Bは、センサの見通し線内にある物体の形状、色、奥行き、および/または他の特徴に関する画像を生成することのできるセンサである。視覚センサ184Aおよび184Bは、たとえば、モノグラフィック・カメラ、ステレオグラフィック・カメラ、および/または3Dレーザ・スキャナとすることができる。3Dレーザ・スキャナは、光を発する1つまたは複数のレーザと、放たれた光の反射に関係するデータを収集する1つまたは複数のセンサとを含む。3Dレーザ・スキャナは、たとえば、飛行時間型3Dレーザ・スキャナまたは三角測量ベースの3Dレーザ・スキャナとすることができ、position sensitive detector(PSD)または他の光学位置センサを含むことができる。
視覚センサ184Aは、物体191Aの例を含む作業空間の一部など、ロボット180Aの作業空間の少なくとも一部の視野を有する。物体191Aが乗る表面は図1に示されていないが、これらの物体は、机、ビン、および/または他の表面に乗ることができる。物体191Aは、へら、ステープラ、および鉛筆を含む。他の実施態様では、より多数の物体、より少数の物体、追加の物体、および/または代替の物体が、本明細書で説明されるロボット180Aの物体の動きの試みのすべてまたは一部の間に提供され得る。視覚センサ184Bは、物体191Bの例を含む作業空間の一部など、ロボット180Bの作業空間の少なくとも一部の視野を有する。物体191Bが乗る表面は図1に示されていないが、これらの物体は、机、ビン、および/または他の表面に乗ることができる。物体191Bは、鉛筆、ステープラ、および眼鏡を含む。他の実施態様では、より多数の物体、より少数の物体、追加の物体、および/または代替の物体が、本明細書で説明されるロボット180Bの物体の動きの試みのすべてまたは一部の間に提供され得る。
特定のロボット180Aおよび180Bが図1に示されているが、ロボット180Aおよび180Bに似た追加のロボット・アーム、他のロボット・アーム形態を有するロボット、ヒューマノイド形態を有するロボット、動物形態を有するロボット、1つまたは複数の車輪を介して移動するロボット(たとえば、自らバランスをとるロボット)、潜水艇ロボット、無人航空機(「UAV」)、その他を含む追加のおよび/または代替のロボットが利用され得る。また、特定の把持エンド・エフェクタが図1に示されているが、追加の
および/または代替のエンド・エフェクタが利用され得る。たとえば、把持が可能ではないエンド・エフェクタが利用され得る。さらに、視覚センサ184Aおよび184Bの特定の取付けが図1に示されているが、追加のおよび/または代替の取付けが利用され得る。たとえば、いくつかの実施態様では、視覚センサは、ロボットの作動不能構成要素上またはロボットの作動可能構成要素上(たとえば、エンド・エフェクタ上またはエンド・エフェクタの近くの構成要素上)など、ロボットに直接に取り付けられ得る。また、たとえば、いくつかの実施態様では、視覚センサは、それに関連するロボットとは別々の非静止構造上に取り付けられ得、かつ/またはそれに関連するロボットとは別々の構造上に非静止の形で取り付けられ得る。
ロボット180A、180B、および/または他のロボットは、大量の物体の動きの試みを実行するのに利用され得、物体の動きの試みに関連するデータは、トレーニング例を生成するためにトレーニング例生成システム110によって利用され得る。いくつかの実施態様では、物体の動きの試みは、ロボットの環境内の1つまたは複数の物体を移動しようと試みるロボットのエンド・エフェクタのランダムなおよび/または擬似ランダムな運動を含む。たとえば、物体191Aのうちの1つまたは複数を移動するロボット180Aによる試みである。
いくつかの実施態様では、トレーニング例生成システム110のすべてまたは諸態様が、ロボット180Aおよび/またはロボット180B上で(たとえば、ロボット180Aおよび180Bの1つまたは複数のプロセッサを介して)実施され得る。たとえば、ロボット180Aおよび180Bは、それぞれ、トレーニング例生成システム110の実例を含むことができる。いくつかの実施態様では、トレーニング例生成システム110のすべてまたは諸態様は、ロボット180Aおよび180Bとは別々であるがこれとネットワーク通信している1つまたは複数のコンピュータ・システム上で実施され得る。
ロボット180A、180B、および/または他のロボットによる各物体の動きの試みは、T個の別々の時間ステップまたは実例からなる。各時間ステップに、物体の動きの試みを実行するロボットの視覚センサによって取り込まれた現在の画像(I)が記憶され、現在のロボット・パラメータ(p)も記憶され、ロボットは、次の時間ステップの運動を選択する。いくつかの実施態様では、ある時間ステップの現在のロボット・パラメータは、たとえば、ロボットの現在の状態(たとえば、その時間ステップでの現在のエンド・エフェクタ姿勢)と、アクション(たとえば、次の時間ステップの運動を実施するために実施されるべきアクション)とを含むことができる。いくつかの実施態様では、ある時間ステップのアクションは、ロボットの現在の状態と比較した、後続の時間ステップでのロボットの状態に基づいて決定され得る。たとえば、アクションは、ロボットの現在の状態から物体の動きの試みの終りでのロボットの最終状態に移動するための動きベクトル(たとえば、現在の状態から最終状態へのベクトル)とすることができる。いくつかの実施態様では、ロボットは、1つまたは複数の物体の動きの試み中にそのエンド・エフェクタのインピーダンス制御を介して指令され得る。いくつかの実施態様では、1つまたは複数の(たとえば、すべての)物体の動きの試みは、約3~5秒から続くことができる。いくつかの実施態様では、ロボット180A、180B、および/または他のロボットは、物体の動きの試みの間に視覚センサの視野から外れて移動するようにプログラムされ得、ロボットが視野から外れている時に、画像が視覚センサによって取り込まれ得、その画像は、直後の物体の動きの試みに関連付けられ得る。
いくつかの実施態様では、物体の動きの試みは、ランダムに押す試みおよび/または「中央に掃引する」試みを含むことができる。ランダムに押す試みは、オプションで、物体191A/191Bの付近のエリア、物体191A/191Bを含むビンに基づくエリア、その他などの制約されたエリア内の、エンド・エフェクタのランダム(たとえば、真に
ランダムおよび/または擬似ランダム)な運動とすることができる。中央に掃引する試みは、その中で物体の動きの試みが制限される制約されたエリアの外側境界の付近またはその上のランダムな位置から開始することができ、制約されたエリアの中央に向かってエンド・エフェクタを曲折させることができる。たとえば、制約されたエリアは、全般的にビンに従うことができ、ランダムな掃引の試みは、ビンの周辺付近のランダムな位置から開始し、ビンの中央に向かってランダムに曲折することができる。ランダムな掃引の試みは、物体がビンの縁に集積するのを防ぐのに有益である可能性がある。
各物体の動きの試みは、(I,p)によって表現される、T個のフレームを有する少なくとも1つのトレーニング例をもたらす。すなわち、トレーニング例の各フレームは、少なくとも、対応する時間ステップに観察された画像(I)と、対応する時間ステップでのロボット状態および対応する時間ステップに実施されるべきアクションを示すロボット運動パラメータ(p)とを含む。複数のロボットの複数の物体の動きの試みに関するトレーニング例は、トレーニング例生成システム110によってトレーニング例データベース117に記憶される。
ロボットに関連するセンサによって生成されたデータおよび/または生成されたデータから導出されたデータは、ロボットにローカルおよび/またはロボットからリモートの1つまたは複数の非一時的コンピュータ可読媒体に記憶され得る。いくつかの実施態様では、視覚センサによって取り込まれた画像は、赤チャネル、青チャネル、緑チャネル、および/または奥行きチャネルなど、複数のチャネルを含むことができる。画像の各チャネルは、画像の画素のそれぞれについて0から255までの値など、画像の複数の画素のそれぞれの値を定義する。いくつかの実施態様では、トレーニング例のそれぞれについて初期時間ステップに観察された画像(I)は、トレーニング例内の追加画像と連結され得る。追加画像は、対応する物体の動きの試みに先行する追加画像とすることができ、ここで、追加画像は、把持エンド・エフェクタおよび/またはロボットの他の構成要素を含まず、あるいは、異なる姿勢のエンド・エフェクタおよび/または他のロボット構成要素(たとえば、現在の画像の姿勢とオーバーラップしないエンド・エフェクタおよび/または他のロボット構成要素)を含む。たとえば、追加画像は、すべての先行する物体の動きの試みの後であるが、物体の動きの試みに関するエンド・エフェクタ運動が開始する前で、把持エンド・エフェクタが視覚センサの視野から外れて移動される時に、取り込まれ得る。
トレーニング・エンジン120は、トレーニング例データベース117のトレーニング例に基づいてニューラル・ネットワーク125をトレーニングする。いくつかの実施態様では、CNN 125のトレーニングは、ニューラル・ネットワーク125へのトレーニング例の適用に基づいてニューラル・ネットワーク125を反復して更新することを含む。トレーニングされるCNN 125は、環境内のロボットの特定の運動に応答してロボットの環境の画像に対して発生する変換を予測するようにトレーニングされる。
図3は、物体の動きの試みを実行し、物体の動きの試みに関連するデータを記憶する方法300の例を示す流れ図である。便宜のために、この流れ図の動作は、その動作を実行するシステムを参照して説明される。このシステムは、ロボット180A、180B、840、および/または他のロボットのプロセッサおよび/またはロボット制御システムなど、ロボットの1つまたは複数の構成要素を含むことができる。さらに、方法300の動作が、特定の順序で示されるが、これは、限定的であることを意図されたものではない。1つまたは複数の動作が、並べ変えられ、省略され、または追加され得る。
ブロック352では、システムが、物体の動きの試みを開始する。ブロック354では、システムが、エンド・エフェクタが画像内に存在しない、環境の画像を記憶する。たとえば、システムは、視覚センサの視野の外(すなわち、環境の眺めをさえぎらない)に把
持エンド・エフェクタを移動し、把持エンド・エフェクタが視野の外にある時の実例に画像を取り込むことができる。その後、画像は、記憶され、物体の動きの試みに関連付けられ得る。いくつかの実施態様では、ブロック354は省略され得る。
ブロック356では、システムが、運動を決定し、実施する。たとえば、システムは、エンド・エフェクタの姿勢を制御するアクチュエータのうちの1つまたは複数を作動させる1つまたは複数の動きコマンドを生成し、これによってエンド・エフェクタの姿勢を変更することができる。
いくつかの実施態様および/またはブロック356の反復では、動きコマンドは、エンド・エフェクタによって到達可能な作業空間、エンド・エフェクタが物体の動きの試みに関してその中に閉じこめられる制約された空間、ならびに/またはエンド・エフェクタの姿勢を制御するアクチュエータの位置限界および/もしくはトルク限界によって定義される空間などの所与の空間内でランダムとすることができる。たとえば、運動を実施するためにブロック356でシステムによって生成される動きコマンドは、所与の空間内でランダムとすることができる。本明細書で使用される時に、ランダムは、真にランダムまたは擬似ランダムを含むことができる。
いくつかの実施態様では、物体の動きの試みごとのブロック356の最初の反復で、エンド・エフェクタは、ブロック354で視野から外れて移動することに基づいて、「定位置から外れている」場合がある。これらの実施態様のいくつかでは、ブロック356の最初の反復の前に、エンド・エフェクタは、ランダムにまたは他の形で「定位置に戻って」移動され得る。たとえば、エンド・エフェクタは、セットされた「開始位置」に戻って移動され、かつ/または所与の空間内のランダムに選択された位置に移動され得る。
ブロック358では、システムは、(1)物体の動きの試みの現在の実例(タイム・スタンプ)でのロボットの環境を取り込む画像と、(2)現在の実例でのロボット・パラメータとを記憶する。たとえば、システムは、ロボットに関連する視覚センサによって生成された現在の画像を記憶し、その画像を現在の実例(たとえば、タイムスタンプ)に関連付けることができる。また、たとえば、システムは、ロボットの関節の1つまたは複数の関節位置センサおよび/またはロボットのトルク・センサからのデータに基づいてロボット・パラメータを決定することができ、システムは、これらのパラメータを記憶することができる。システムは、タスク空間、関節空間、および/または別の空間内でのロボット・パラメータを決定し、記憶することができる。
ブロック360では、システムが、現在の実例が物体の動きの試みの最後の実例であるかどうかを判定する。いくつかの実施態様では、システムは、ブロック352、354、356、もしくは358で実例カウンタを増分し、かつ/または時間が経過する時に時間カウンタを増分し、しきい値とのカウンタの値の比較に基づいて、現在の実例が最後の実例であるかどうかを判定することができる。たとえば、カウンタは、時間カウンタとすることができ、しきい値は、3秒、4秒、5秒、および/または他の値とすることができる。いくつかの実施態様では、しきい値は、方法300の1つまたは複数の反復の間で変化することができる。
ブロック360で、システムが、現在の実例が物体の動きの試みの最後の実例ではないと判定する場合に、システムは、ブロック356に戻り、ここで、システムは、追加の運動を決定し、実施し、その後、ブロック358に進み、ここで、システムは、(追加の運動の)現在の実例での画像およびロボット・パラメータを記憶する。多くの実施態様では、ブロック356、358、360、および/または他のブロックは、相対的に高い頻度で実行され、これによって、物体の動きの試みごとに相対的に大量のデータを記憶するこ
とができる。
ブロック360で、システムが、現在の実例が物体の動きの試みの最後の実例であると判定する場合に、システムは、ブロック366に進み、ここで、システムは、カウンタ(たとえば、実例カウンタおよび/または時間カウンタ)をリセットし、ブロック352に戻って進んで、別の物体の動きの試みを開始する。
いくつかの実施態様では、図3の方法300は、オプションで方法300のそれぞれの反復のうちの1つまたは複数(たとえば、すべて)の間に並列に動作する、複数のロボットのそれぞれの上で実施され得る。これは、1つのロボットだけが方法300を動作させている場合より多数の物体の動きの試みが所与の時間期間内に達成されることを可能にすることができる。さらに、複数のロボットのうちの1つまたは複数が、他のロボットに関連する1つまたは複数の視覚センサの姿勢とは独自のロボットに対する相対的な姿勢を有する関連する視覚センサを含む実施態様では、複数のロボットからの物体の動きの試みに基づいて生成されるトレーニング例は、これらのトレーニング例に基づいてトレーニングされるニューラル・ネットワークでの視覚センサ姿勢に対する頑健性を提供することができる。さらに、複数のロボットのエンド・エフェクタおよび/もしくは他のハードウェア構成要素が変化し、かつ/もしくは異なって摩耗する実施態様、ならびに/または異なるロボットが異なる物体(たとえば、異なるサイズの物体、異なる重量の物体、異なる形状の物体、異なる半透明性の物体、異なる材料の物体)と相互作用し、かつ/もしくは異なる環境(たとえば、異なる表面、異なる照明、異なる環境障害物)内で相互作用する実施態様では、複数のロボットからの物体の動きの試みに基づいて生成されるトレーニング例は、様々なロボット構成および/または環境構成に対する頑健性を提供することができる。
いくつかの実施態様では、所与のロボットによって到達可能であり、物体の動きの試みがそれに対して行われる物体は、方法300の異なる反復中に異なる可能性がある。たとえば、人間のオペレータおよび/または別のロボットが、ロボットの1つまたは複数の物体の動きの試みの間にロボットの作業空間に物体を追加し、かつ/または除去する可能性がある。これは、トレーニング・データの多様性を増加させる可能性がある。いくつかの実施態様では、照明、表面、障害物、その他などの環境要因が、それに加えておよび/またはその代わりに、方法300の異なる反復中に異なる可能性があり、これも、トレーニング・データの多様性を増加させる可能性がある。
図4は、ロボットの物体の動きの試みに関連するデータに基づいてトレーニング例を生成する方法400の例を示す流れ図である。便宜のために、この流れ図の動作は、その動作を実行するシステムを参照して説明される。このシステムは、ロボット180A、180B、840のプロセッサおよび/もしくはロボット制御システム、ならびに/またはトレーニング例生成システム110および/もしくはオプションでロボットとは別々に実施され得る他のシステムのプロセッサなど、ロボットおよび/または別のコンピュータ・システムの1つまたは複数の構成要素を含むことができる。さらに、方法400の動作が、特定の順序で示されるが、これは、限定的であることを意図されたものではない。1つまたは複数の動作が、並べ変えられ、省略され、または追加され得る。
ブロック452では、システムが、トレーニング例生成を開始する。ブロック454では、システムが、物体の動きの試みを選択する。たとえば、システムは、複数の記憶された物体の動きの試みに関連するデータを含むデータベースにアクセスし、記憶された物体の動きの試みのうちの1つを選択することができる。選択される物体の動きの試みは、たとえば、図3の方法300に基づいて生成された物体の動きの試みとすることができる。
ブロック456では、システムが、物体の動きの試みの順次フレームのグループを選択する。たとえば、システムは、グループの最初の実例として物体の動きの試みの最初のフレームを選択することができ、グループの第2の実例として時間枠内ですぐ近くの次を選択することができ、グループの第3の実例として時間枠内ですぐ近くの次を選択することができるなどである。別の例として、システムは、グループの第1の実例として物体の動きの試みの第5のフレームを選択することができ、グループの第2の実例として物体の第6のフレームを選択することができるなどである。
ブロック458では、システムが、トレーニング例として順次フレームを割り当てる。説明するように、順次フレームは、それぞれ、対応する時間ステップの画像、対応する時間ステップのロボット状態、および対応する時間ステップのアクションを含むことができる。いくつかの実施態様では、ブロック456またはブロック458で、システムは、オプションでフレームの画像を処理することができる。たとえば、システムは、オプションで、ニューラル・ネットワークの入力層の定義されたサイズに丁度合うように画像のサイズを変更し、画像から1つまたは複数のチャネルを除去し、かつ/または奥行きチャネルの値を正規化する(画像が奥行きチャネルを含む実施態様で)ことができる。
ブロック460では、システムが、追加のトレーニング例を生成すべきかどうかを判定する。そうである場合には、システムは、ブロック454に戻って進み、物体の動きの試み(たとえば、異なる物体の動きの試み)を選択する。そうでない場合には、トレーニング例生成は、ブロック468で終了する。
いくつかの実施態様では、追加のトレーニング例を生成すべきかどうかの判定は、残りの未処理の物体の動きの試みがあるかどうかを判定することを含むことができる。いくつかの実施態様では、追加のトレーニング例を生成すべきかどうかの判定は、それに加えておよび/またはその代わりに、しきい個数のトレーニング例が既に生成され、かつ/または他の判断基準が満足されているかどうかを判定することを含むことができる。
方法400の別の反復が、もう一度実行され得る。たとえば、方法400は、少なくともしきい個数の追加の物体の動きの試みが実行されることに応答して、もう一度実行され得る。
方法300および方法400が、明瞭さのために本明細書では別々の図に示されているが、方法400の1つまたは複数のブロックが、方法300の1つまたは複数のブロックを実行するものと同一の構成要素によって実行され得ることを理解されたい。たとえば、方法300および方法400のブロックのうちの1つまたは複数(たとえば、すべて)が、ロボットのプロセッサによって実行され得る。また、方法400の1つまたは複数のブロックが、方法300の1つまたは複数のブロックと組み合わせて、これに先行して、またはこれに続いて実行され得ることを理解されたい。
図5は、トレーニング例に基づいてニューラル・ネットワークをトレーニングする方法500の例を示す流れ図である。便宜のために、この流れ図の動作は、その動作を実行するシステムを参照して説明される。このシステムは、トレーニング・エンジン120および/またはニューラル・ネットワークに関して(たとえば、ニューラル・ネットワーク125に関して)で動作する他のコンピュータ・システムのプロセッサ(たとえば、GPU)など、コンピュータ・システムの1つまたは複数の構成要素を含むことができる。さらに、方法500の動作が、特定の順序で示されるが、これは、限定的であることを意図されたものではない。1つまたは複数の動作が、並べ変えられ、省略され、または追加され得る。
ブロック552では、システムが、トレーニングを開始する。ブロック554では、システムが、トレーニング例を選択する。たとえば、システムは、図4の方法400に基づいて生成されたトレーニング例を選択することができる。
ブロック556では、システムが、選択されたトレーニング例の第1のフレームの画像をニューラル・ネットワークの初期層に適用する。たとえば、システムは、第1のフレームの画像をニューラル・ネットワークの初期畳み込み層に適用することができる。本明細書で説明するように、いくつかの実施態様では、トレーニング例は、オプションで、少なくとも部分的にエンド・エフェクタおよび/または他のロボット構成要素を省略する追加画像を含むことができる。これらの実施態様のいくつかでは、システムは、第1のフレームの画像と追加画像とを連結し、連結された画像を初期層に適用する。これらの実施態様の他のいくつかでは、第1のフレームの画像は、トレーニング例内で既に追加画像と連結されている。
ブロック558では、システムが、第1のフレームのロボット運動パラメータをニューラル・ネットワークの追加層に適用する。たとえば、システムは、第1のフレームのロボット運動パラメータを、ブロック556で画像が適用される初期層の下流の、ニューラル・ネットワークの追加層(たとえば、畳み込みLSTM層)に適用することができる。本明細書で説明するように、第1のフレームのロボット運動パラメータは、初期フレームの時間ステップでのロボット状態と、初期フレームの時間ステップに実行されるアクションとを含むことができる。
ブロック560では、システムが、適用された画像および適用されたロボット運動パラメータに基づいてニューラル・ネットワーク上で予測された画像を生成する。予測された画像の生成は、ニューラル・ネットワークの構造に依存し、ニューラル・ネットワークのDNA変形形態、CDNA変形形態、およびSTP変形形態に関して本明細書で説明する技法のうちの1つまたは複数を含むことができる。
ブロック562では、システムが、トレーニング例の第2のフレームの画像に対する予測された画像の比較に基づいて、ニューラル・ネットワーク上で誤差逆伝搬および/または他のトレーニング技法を実行する。いくつかの実施態様では、システムは、比較に基づいてI2 reconstruction lossを判定し、I2 reconstruction lossに基づいてニューラル・ネットワークを更新する。
ブロック564では、システムが、直前に予測された画像をニューラル・ネットワークの初期層に入力として適用する。ブロック564の最初の反復では、これは、ブロック560の予測された画像である。いくつかの実施態様では、ブロック564で、システムは、その代わりに、ニューラル・ネットワークの追加層への入力として、直前に予測された画像に対応するトレーニング例のフレームの画像を適用することができる。ブロック564の最初の反復では、これは、トレーニング例の第2のフレームの画像になるはずである。
ブロック566では、システムが、次のフレームのロボット運動パラメータをニューラル・ネットワークの追加層に適用する。ブロック564の最初の反復では、これは、第2のフレームのロボット運動パラメータになるはずである。
ブロック568では、システムが、ニューラル・ネットワークへの画像および適用されたロボット運動パラメータの適用に基づいて予測された画像を生成する。予測された画像の生成は、ニューラル・ネットワークの構造に依存し、ニューラル・ネットワークのDNA変形形態、CDNA変形形態、およびSTP変形形態に関して本明細書で説明する技法
のうちの1つまたは複数を含むことができる。
ブロック570では、システムが、トレーニング例の次のフレームの画像に対する予測された画像の比較に基づいて、ニューラル・ネットワーク上で誤差逆伝搬および/または他のトレーニング技法を実行する。ブロック570の最初の反復では、次のフレームの画像は、第3のフレームの画像になるはずである。いくつかの実施態様では、システムは、比較に基づいてI2 reconstruction lossを判定し、I2 reconstruction lossに基づいてニューラル・ネットワークを更新する。
ブロック572では、システムが、トレーニング例内に考慮すべき追加フレームがあるかどうかを判定する。たとえば、トレーニングが8回の反復に関する場合に、システムは、8つのフレームがまだ考慮されていない場合に、考慮すべき追加フレームがあると判定することができる。システムが、ブロック572で、考慮すべき追加フレームがあると判定する場合には、システムは、ブロック564に戻って進み、ブロック564、566、568、570、および572のもう1つの反復を実行する。
システムが、ブロック572で、考慮すべき追加フレームがないと判定する場合には、システムは、ブロック574に進む。ブロック574では、システムが、追加のトレーニング例があるかどうかを判定する。システムが、追加のトレーニング例があると判定する場合には、システムは、ブロック554に戻り、別のトレーニング例を選択する。いくつかの実施態様では、追加のトレーニング例があるかどうかの判定は、ニューラル・ネットワークのトレーニングに利用されていない残りのトレーニング例があるかどうかを判定することを含むことができる。いくつかの実施態様では、追加のトレーニング例があるかどうかの判定は、それに加えておよび/またはその代わりに、しきい個数のトレーニング例が利用され、かつ/または他の判断基準が満足されたかどうかを判定することを含むことができる。
システムが、追加のトレーニング例がないおよび/またはなんらかの他の判断基準が満足されたと判定する場合には、システムはブロック576に進む。
ブロック576では、ニューラル・ネットワークのトレーニングが終了することができる。トレーニングされるニューラル・ネットワークは、環境内で実行すべき1つまたは複数の運動を判定する際の1つまたは複数のロボットによる使用のために提供され得る。たとえば、ロボットは、図7の方法700を実行する際に、トレーニングされるニューラル・ネットワークを利用することができる。
図6Aおよび図6Bは、ニューラル・ネットワーク600のアーキテクチャの例を示し、ニューラル・ネットワークに供給され得る入力の例を示し、ニューラル・ネットワーク600の出力の例を示し、出力の例が予測された画像を生成するのにどのように利用され得るのかを示す。図6Aおよび図6Bのニューラル・ネットワーク600は、図5の方法500に基づいてトレーニングされ得るニューラル・ネットワークの例である。図6Aおよび図6Bのニューラル・ネットワーク600は、さらに、トレーニングされた後に図7の方法700の実施態様内で利用され得るニューラル・ネットワークの例である。
図6Aおよび図6Bのニューラル・ネットワーク600の例は、CDNA動き予測モデルの例である。ニューラル・ネットワーク600は、図1のニューラル・ネットワーク125とすることができ、本明細書で説明する3つの提案される動き予測モデルのうちの1つである。図6Aおよび図6Bのニューラル・ネットワーク600では、畳み込み層661、畳み込みLSTM層672~677、および畳み込み層662が、画像601(たとえば、最初の反復ではカメラによって取り込まれた画像、後続の反復では直前に予測され
た画像)を処理するのに利用される。10個の正規化されたCDNA変換カーネル682の出力は、ネットワークの最小次元層(畳み込みLSTM層675)に関する出力として生成され、合成マスク684(たとえば、11チャネル・マスク)の出力は、最後の層(畳み込み層62)に関する出力として生成される。本明細書で説明するように、合成マスク684は、静的背景用の1つのチャネルと10個の追加チャネル(それぞれ、10個のCDNA変換カーネル682のうちの対応する1つに基づいて生成される変換された画像に対応する)とを含むことができる。CDNAカーネル682は、画像601(たとえば、最初の反復ではカメラによって取り込まれた画像、後続の反復では直前に予測された画像)を10個の異なる変換された画像683に変換693するために適用される。10個の異なる変換された画像は、マスクされた合成694で、予測された画像685を生成するために合成マスク684に従って合成される。10個の異なる変換された画像683への画像601の変換693は、CDNAカーネル682に基づいて画像601を畳み込むこと(たとえば、変換された画像683のうちの第1の画像を生成するためにCDNAカーネル682のうちの第1のカーネルに基づいて画像601を畳み込むこと、変換された画像683のうちの第2の画像を生成するためにCDNAカーネルのうちの第2のカーネルに基づいて画像601を畳み込むこと、その他)を含むことができる。合成マスク684は、適用されるチャネルに関するソフトマックスに起因して、各画素で合計1になる。
様々なスキップ接続が、図6Aおよび図6Bに示されている。具体的には、畳み込みLSTM層673の出力から畳み込みLSTM層677の入力へのスキップ接続および畳み込みLSTM層671の出力から畳み込み層662の入力へのスキップ接続である。様々な層および出力の次元の例も示されている。たとえば、画像601は、64画素×64画素とし、3つのチャネルを含むことができる(「64×64×4」によって示される)。また、たとえば、畳み込みLSTM層675は、8×8次元(「8×8」によって示される)を有し、5×5畳み込み(「5×5」によって示される)を適用することができる。
ニューラル・ネットワーク600の追加の例の説明を、これから提供する。ニューラル・ネットワーク600は、1つのストライド2 5×5畳み込み層661とそれに続く畳み込みLSTM層671~677からなるコア・トランク(core trunk)を含む。畳み込みLSTM層671~677のそれぞれは、5×5畳み込みに配置された重みを有し、先行するLSTMの出力は、次のLSTMに直接に供給される。畳み込みLSTM層673および765には、解像度を低下させるためにストライド2ダウンサンプリングが先行し、畳み込みLSTM層675、676、および677には、アップサンプリングが先行する。LSTMスタックの終りには、アップサンプリング・ステージおよび最後の畳み込み層662が続き、畳み込み層662は、様々な変換された画像683を合成し、静的背景に対して合成するためのフル解像度合成マスク684を出力する。マスクされた合成694は、合成マスク684および変換された画像683を使用して、予測された画像685を生成することができる。STP動き予測モデルの場合に、マスクが、様々な変換された画像(変換行列に基づいて生成される)を合成するためにも生成され、STPとDNAとの両方の場合に、合成マスクが、静的背景に対する合成のために生成されることに留意されたい。
高解像度情報を保存するために、畳み込みLSTM層671の出力から畳み込み層662の入力へのスキップ接続および畳み込みLSTM層673の出力から畳み込みLSTM層677の入力へのスキップ接続が設けられる。これらのスキップ接続は、後続の層にアクティブ化を送る前に、スキップ層アクティブ化と先行する層のアクティブ化とを連結する。たとえば、畳み込みLSTM層677への入力は、畳み込みLSTM層673からの出力と畳み込みLSTM層676からの出力との連結からなる。このモデルは、入力としてロボット状態602(たとえば、グリッパ姿勢)およびロボット・アクション603(たとえば、グリッパ動きコマンド)のロボット運動パラメータをも含む。たとえば、ロボ
ット状態602は、ベクトル(x,y,z)および角度(ピッチ,ヨー)の値を有する5次元とすることができる。ロボット・アクションは、やはり5次元とすることができ、アクションが適用される場合に後続(たとえば、次)の時間ステップのベクトルおよび角度の値、ならびに/またはアクションが適用される場合に動きベクトルとすることができる。たとえば、ロボット・アクションは、指令されるグリッパ姿勢のベクトル(x,y,z)および角度(ピッチ,ヨー)とすることができる。指令されるグリッパ姿勢は、次の時間ステップの指令されるグリッパ姿勢または将来の時間ステップの指令されるグリッパ姿勢(たとえば、最後の時間ステップでのグリッパのターゲット姿勢)とすることができる。ロボット状態602およびロボット・アクション603のベクトルは、まず、10個のチャネルを有する8×8応答マップ681にタイリングされ、その後、693で、チャネルに関して、畳み込みLSTM層675の入力(畳み込みLSTM層674からの出力と連結されるに連結される。現在の反復のロボット状態602は、現在のロボット状態とすることができ、後続の反復のロボット状態602は、先行する現在のロボット状態および先行するロボット・アクションから線形に予測され得るが、追加のまたは代替のロボット状態予測モデルが使用され得る。
アクション条件付けされたロボット操作タスクの場合に、すべての3つのモデル(DNA、CDNA、およびSTP)は、入力としてロボットの現在の状態(たとえば、グリッパ姿勢)およびアクション(たとえば、グリッパ動きコマンド)を含む。3つのモデルは、以前の画像に適用される変換の形において異なる。物体中心のCDNAモデルおよびSTPモデルは、畳み込みLSTM層675の後で変換パラメータを出力する。両方の場合に、畳み込みLSTM層675の出力は、CDNAの場合にフィルタ・パラメータに直接に、またはSTPの場合に1つの100ユニットの隠れ層を介してのいずれかで、平坦化され線形変換される。CDNAの場合には10個のCDNAフィルタが存在でき、このCDNAフィルタは、サイズにおいて5×5とし、空間ソフトマックスを介して合計が1になるように正規化され得、その結果、各フィルタは、新しい画素値がそこから入手される以前の画像内の位置にわたる分布を表現するようになる。STPパラメータは、10個の3×2アフィン変換行列に対応することができる。変換は、10個の別々の変換された画像を作成するために、先行する画像に適用される。CDNA変換は、畳み込みに対応し(カーネルはネットワークの出力であるが)、STP変換は、アフィン変換である。DNAモデルは、変換パラメータが最後の畳み込み層662すなわちマスクと同一の場所で出力されるという点で、他の2つとは異なる。これは、DNAモデルが、画像全体と同程度に大きい変換マップを出力するからである。画像画素ごとに、DNAモデルは、CDNAモデルと同様に、新しい画素値を入手するために以前の画像に適用され得る5×5畳み込みカーネルを出力する。しかし、このカーネルは、空間的に変化するので、このモデルは、CDNAと同等ではない。この変換は、1つの変換された画像だけを作る。変換の後に、変換された画像(1つまたは複数)および以前の画像が、マスクに基づいて一緒に合成される。以前の画像は、静的「背景」画像として含められ、本明細書で説明するように、背景画像に対するマスクは、シーンの静的部分を拾い出す傾向がある。最終的な画像は、各変換された画像および背景画像をそのマスク値によって乗算することと、マスクされた画像のすべてを一緒に加算することとによって形成される。
特定の畳み込みニューラル・ネットワークが図6Aおよび図6Bに示されているが、変形形態が可能である。たとえば、より多数またはより少数のLSTM層が提供され得、1つまたは複数の層が、例として提供される層とは異なるサイズにされ得るなどである。また、たとえば、代替の予測された変換および/または合成マスクが、モデルに関して生成され得る。
図6Aおよび図6Bのニューラル・ネットワークまたは他のニューラル・ネットワークは、本明細書で説明する技法に従ってトレーニングされた後に、様々な目的に利用され得
る。図7を参照すると、ロボットの運動が発生した後のロボットの環境を予測する予測された画像(1つまたは複数)を生成するのにトレーニングされるニューラル・ネットワークを利用し、かつ/または予測された画像に基づいて1つまたは複数のアクションを実行する、方法700の例の流れ図が示されている。便宜のために、この流れ図の動作は、その動作を実行するシステムを参照して説明される。このシステムは、ロボット180A、180B、840、および/または他のロボットのプロセッサ(たとえば、GPUおよび/またはCPU)および/またはロボット制御システムなど、ロボットの1つまたは複数の構成要素を含むことができる。方法700の1つまたは複数のブロックを実施する際に、システムは、たとえばロボットにローカルに記憶され、かつ/またはロボットからリモートに記憶され得るトレーニングされるニューラル・ネットワークを介して動作することができる。さらに、方法700の動作が、特定の順序で示されるが、これは、限定的であることを意図されたものではない。1つまたは複数の動作が、並べ変えられ、省略され、または追加され得る。
ブロック752では、システムが、ロボットの候補運動の少なくとも一部の候補ロボット運動パラメータを生成する。候補ロボット運動パラメータは、たとえば、現在のロボット状態(たとえば、候補ロボット運動パラメータの現在のロボット状態または初期ロボット状態)と、実行されるべき1つまたは複数のアクション(たとえば、指令されたロボット状態)とを含むことができる。候補ロボット運動パラメータは、ロボットの環境内でロボットの1つまたは複数の構成要素によって実行可能な(しかし、まだ実行されていない)候補運動の少なくとも一部を定義する。たとえば、運動は、第1の姿勢から第2の姿勢へのロボットのエンド・エフェクタの運動を含むことができ、候補ロボット運動パラメータは、第1の姿勢から第2の姿勢への運動に関連する様々なパラメータ、または、第1の姿勢から第1の姿勢と第2の姿勢との間の中間姿勢への運動に関連するパラメータを定義することができる。たとえば、候補ロボット運動パラメータは、候補運動の一部だけ(たとえば、候補運動の第1の部分のあるパーセンテージだけまたは候補運動の最初のX個の時間ステップだけ)を定義することができる。
運動パラメータは、たとえば、候補運動の一部を達成するための関節空間動きベクトル(たとえば、関節角度運動)、候補運動の一部に関するエンド・エフェクタの姿勢の変換、候補運動の一部を達成するための関節空間トルク・ベクトル、および/または他のパラメータを含むことができる。特定の運動パラメータおよび/または運動パラメータの形が、将来のブロックで利用されるトレーニングされるニューラル・ネットワークの入力パラメータに依存することに留意されたい。
いくつかの実施態様では、候補運動は、別のシステムによって生成され、候補運動の候補ロボット運動パラメータは、候補運動が実施される場合に、候補運動が環境内の物体(1つまたは複数)にどのように影響するのかを判定するために、方法700内でニューラル・ネットワークに適用される。これらの実施態様のいくつかでは、候補運動は、それが物体(1つまたは複数)にどのように影響するのかに基づいて実施され得、それが物体(1つまたは複数)にどのように影響するのかに基づいて洗練され得、あるいは、それが物体(1つまたは複数)にどのように影響するのかに基づいて実施されないものとされ得る。いくつかの実施態様では、システムは、複数の別個の候補運動を生成し、それぞれが環境内の物体(1つまたは複数)にどのように影響するのかを判定するために、方法700の複数の反復で候補運動のそれぞれの候補ロボット運動パラメータをニューラル・ネットワークに適用する。これらの実施態様のいくつかでは、運動のうちの1つが、それらが物体(1つまたは複数)にどのように影響するのかに基づいて、実施のために選択され得る。
ブロック754では、システムが、ロボットの環境内の1つまたは複数の環境物体を取
り込んだ画像を識別する。候補運動の一部に関する方法700の最初の反復など、いくつかの実施態様では、画像は現在の画像である。いくつかの実施態様では、システムは、エンド・エフェクタが少なくとも部分的に視覚センサの視野の外にあった時に視覚センサによって取り込まれた環境物体の追加画像など、エンド・エフェクタおよび/または他のロボット構成要素を少なくとも部分的に省略した追加画像をも識別する。いくつかの実施態様では、システムは、連結された画像を生成するために、画像と追加画像とを連結する。いくつかの実施態様では、システムは、オプションで、画像および/または連結された画像の処理を実行する(たとえば、ニューラル・ネットワークの入力にサイズを合わせるために)。
ブロック756では、システムが、トレーニングされるニューラル・ネットワークに画像および候補ロボット運動パラメータ(たとえば、候補ロボット状態および候補アクション(1つまたは複数))を適用する。たとえば、システムは、トレーニングされるニューラル・ネットワークの初期層に画像を適用することができる。システムは、初期層の下流にあるトレーニングされるニューラル・ネットワークの追加層に現在のロボット状態および候補ロボット運動パラメータを適用することもできる。
ブロック758では、システムが、トレーニングされるニューラル・ネットワーク上で、ブロック754の画像の予測された変換を生成する。予測された変換は、ブロック756でトレーニングされるニューラル・ネットワークに画像および候補ロボット運動パラメータ(現在のロボット状態と一緒に)を適用することと、トレーニングされるニューラル・ネットワークの学習された重みに基づいて予測された変換を判定することとに基づいて生成される。
ブロック760では、システムが、予測された画像を生成するために、ブロック758の予測された変換に基づいて画像を変換する。たとえば、ブロック758の予測された変換が、1つまたは複数の空間トランスフォーマのパラメータを含む場合に、システムは、それらのパラメータを利用して現在の画像に1つまたは複数の空間トランスフォーマを適用することができる。また、たとえば、ブロック758の予測された変換が、それぞれが画素のうちの1つまたは複数に対応する1つまたは複数の正規化された分布を含む場合に、現在の画像の変換は、畳み込み演算を使用して現在の画像に正規化された分布を適用することを含むことができる。これらの実施態様のいくつかでは、正規化された分布のそれぞれが、画素のうちの対応する1つに対応する。合成マスクも、本明細書で説明するように利用され得、合成マスクのパラメータは、ブロック756でのトレーニングされるニューラル・ネットワークへの画像(およびオプションで追加画像)および候補ロボット運動パラメータの適用に基づいて生成される。たとえば、合成マスクは、本明細書で説明するようにCDNAモデルおよび/またはSTPモデルを使用して生成された複数の変換された画像から単一の予測された画像を生成するのに利用され得る。さらに、合成マスク(1つまたは複数)は、予測された画像を生成する際に現在の画像から画素をコピーするために現在の画像に適用され得る背景マスクを含むことができる。
予測された画像は、ブロック752のパラメータによって示される候補運動の少なくとも一部がロボットの構成要素によって環境内で実行される場合に画像によって取り込まれる環境の一部を予測する。言い換えると、候補運動の少なくとも一部が環境内の1つまたは複数の物体の動きを引き起こす場合に、予測された画像は、動きの後の物体(1つまたは複数)を表現することができる。
いくつかの実施態様では、システムは、候補運動について考慮するために、追加の候補ロボット運動パラメータがあるかどうかを判定する。たとえば、システムは、考慮すべき候補運動の別の部分があるかどうかを判定し、そうである場合には、システムは、ブロッ
ク752に戻って進み、その部分の候補ロボット運動パラメータを生成し、その後、ブロック754に進み、画像を識別し、その後、ブロック756~758に進み、追加の候補ロボット運動パラメータに基づいて別の予測された画像を生成する。いくつかの実施態様では、ブロック754の追加の反復で識別される画像は、ブロック760の直前の反復で生成された予測された画像である。このプロセスは、ブロック754の反復で識別され、ブロック756のその反復で適用される画像として直前の反復からの予測された画像を毎回利用して繰り返され得、これによって、将来の複数の時間ステップのそれぞれについて予測された画像が生成されることを可能にする。この形で、予測された画像は、現在の画像に対して条件付けられ、候補ロボット運動パラメータに基づいて、複数の時間ステップにわたって物体(1つまたは複数)の動きを判定するのに利用され得る。
ブロック762では、システムが、予測された画像およびオプションで「現在の画像」に基づいて1つまたは複数のアクションを実行する。たとえば、システムが、現在の画像に対する予測された画像の比較に基づいて、候補運動によって引き起こされる動きが望ましいと判定する場合がある。動きが望ましいとの判定に基づいて、システムは、たとえば、候補運動を実現するためにロボットの1つまたは複数のアクチュエータに1つまたは複数の制御コマンドを供給することによって、候補運動を実行することができる。また、たとえば、複数の予測された画像が、候補運動に関して判定される場合に、システムは、予測された画像および/または現在の画像に基づいて、候補運動によって引き起こされる動きが望ましいと判定することができる。動きが望ましいとの判定に基づいて、システムは、たとえば、候補運動を実現するためにロボットの1つまたは複数のアクチュエータに1つまたは複数の制御コマンドを供給することによって、候補運動を実行することができる。
いくつかの実施態様では、ブロック752~760の1つまたは複数の反復が、1つまたは複数の追加の候補運動に関して実行され、ブロック764で、システムは、これらの反復に関する予測された画像に基づいて、候補運動のうちの1つを選択することができる。たとえば、ブロック752~760の1つまたは複数の反復が、第1の候補運動について実行され、第2の候補運動について独立に実行され得る。システムは、第1の候補運動の予測された画像および第2の候補運動の予測された画像に基づいて、第1の候補運動と第2の候補運動とのうちの1つを選択することができる。システムは、ロボットの1つまたは複数のアクチュエータに1つまたは複数の対応する制御コマンドを供給することによって、選択された候補運動を実行することができる。
図8は、ロボット840のアーキテクチャの例を概略的に示す。ロボット840は、ロボット制御システム860、1つまたは複数の動作構成要素840a~840n、および1つまたは複数のセンサ842a~842mを含む。センサ842a~842mは、たとえば、視覚センサ、光センサ、圧力センサ、圧力波センサ(たとえば、マイクロホン)、近接センサ、加速度計、ジャイロスコープ、温度計、気圧計、その他を含むことができる。センサ842a~mが、ロボット820と一体であるものとして図示されているが、これは、限定的であることを意図されたものではない。いくつかの実施態様では、センサ842a~mは、ロボット820の外部に、たとえば独立型ユニットとして配置され得る。
動作構成要素840a~840nは、たとえば、ロボットの1つまたは複数の構成要素の運動を実現するための、1つもしくは複数のエンド・エフェクタおよび/または1つもしくは複数のサーボ・モータもしくは他のアクチュエータを含むことができる。たとえば、ロボット820は、複数の自由度を有することができ、アクチュエータのそれぞれは、制御コマンドに応答して自由度のうちで1つまたは複数の中でロボット820の作動を制御することができる。本明細書で使用される時に、用語アクチュエータは、アクチュエータに関連付けられ得、受け取られた制御コマンドを、アクチュエータを駆動する1つまた
は複数の信号に変換する任意のドライバ(1つまたは複数)に加えて、動きを作成する機械デバイスまたは電気デバイス(たとえば、モータ)を包含する。したがって、アクチュエータへの制御コマンドの供給は、所望の動きを作成するために電気デバイスまたは機械デバイスを駆動するのに適当な信号に変換するドライバへの制御コマンドの供給を含むことができる。
ロボット制御システム860は、CPU、GPU、および/またはロボット820の他のコントローラ(1つまたは複数)などの1つまたは複数のプロセッサ内で実施され得る。いくつかの実施態様では、ロボット820は、制御システム860のすべてまたは諸態様を含むことのできる「コンピュータ(brain box)」を含むことができる。たとえば、コンピュータ(brain box)は、動作構成要素840a~nにデータのリアル・タイム・バーストを供給することができ、リアル・タイム・バーストのそれぞれは、なかんずく動作構成要素840a~nのうちの1つまたは複数のそれぞれの動き(存在する場合に)のパラメータを指図する1つまたは複数の制御コマンドのセットを含む。いくつかの実施態様では、ロボット制御システム860は、本明細書で説明した方法300、400、500、および/または700の1つまたは複数の態様を実行することができる。
本明細書で説明するように、いくつかの実施態様では、ロボットの1つまたは複数の構成要素を移動する際に制御システム860によって生成される制御コマンドのすべてまたは諸態様は、トレーニングされるニューラル・ネットワークを介して判定された予測された変換(1つまたは複数)を利用して生成された予測された画像(1つまたは複数)に基づくものとすることができる。たとえば、センサ842a~mの視覚センサは、現在の画像を取り込むことができ、ロボット制御システム860は、候補ロボット運動パラメータを生成することができる。ロボット制御システム860は、トレーニングされるニューラル・ネットワークに現在の画像および候補ロボット運動パラメータを供給し、適用に基づいて予測された変換を生成し、予測された変換に基づいて予測された画像を生成し、予測された画像を利用して、ロボットの運動を制御するための1つまたは複数のエンド・エフェクタ制御コマンドを生成することができる。制御システム860が、図8ではロボット820の一体の部分として図示されているが、いくつかの実施態様では、制御システム860のすべてまたは諸態様が、ロボット820とは別々であるがロボット820と通信している構成要素内で実施され得る。たとえば、制御システム860のすべてまたは諸態様は、コンピューティング・デバイス910など、ロボット820と有線および/または無線で通信している1つまたは複数のコンピューティング・デバイス上で実施され得る。
図9は、本明細書で説明した技法の1つまたは複数の態様を実行するのにオプションで利用され得るコンピューティング・デバイス910の例のブロック図である。コンピューティング・デバイス910は、通常、バス・サブシステム912を介して複数の周辺デバイスと通信する少なくとも1つのプロセッサ914を含む。これらの周辺デバイスは、たとえばメモリ・サブシステム925およびファイル・ストレージ・サブシステム926を含むストレージ・サブシステム924、ユーザ・インターフェース出力デバイス920、ユーザ・インターフェース入力デバイス922、およびネットワーク・インターフェース・サブシステム916を含むことができる。入力デバイスおよび出力デバイスは、コンピューティング・デバイス910とのユーザ対話を可能にする。ネットワーク・インターフェース・サブシステム916は、外部ネットワークへのインターフェースを提供し、他のコンピューティング・デバイス内の対応するインターフェース・デバイスに結合される。
ユーザ・インターフェース入力デバイス922は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックス・タブレットなどのポインティング・デバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどの
オーディオ入力デバイス、マイクロホン、および/または他のタイプの入力デバイスを含むことができる。一般に、用語「入力デバイス」の使用は、コンピューティング・デバイス910または通信ネットワークに情報を入力するためのすべての可能なタイプのデバイスおよび形を含むことが意図されている。
ユーザ・インターフェース出力デバイス920は、ディスプレイ・サブシステム、プリンタ、ファックス機、またはオーディオ出力デバイスなどの非視覚ディスプレイを含むことができる。ディスプレイ・サブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネル・ディスプレイ、プロジェクション・デバイス、または可視画像を作成するためのなんらかの他の機構を含むことができる。ディスプレイ・サブシステムは、オーディオ出力デバイスを介するなど、非視覚ディスプレイを提供することもできる。一般に、用語「出力デバイス」の使用は、コンピューティング・デバイス910からユーザまたは別のマシンもしくはコンピューティング・デバイスに情報を出力するためのすべての可能なタイプのデバイスおよび形を含むことが意図されている。
ストレージ・サブシステム924は、本明細書で説明するモジュールの一部またはすべての機能性を提供するプログラミングおよびデータ構造を記憶する。たとえば、ストレージ・サブシステム924は、図3、4、5、および/または7の方法の選択された態様を実行する論理を含むことができる。
これらのソフトウェア・モジュールは、一般に、プロセッサ914だけによって、または他のプロセッサとの組合せで実行される。ストレージ・サブシステム924内で使用されるメモリ925は、プログラム実行中の命令およびデータの記憶のための主ランダム・アクセス・メモリ(RAM)930と、固定された命令がその中に記憶される読取専用メモリ(ROM)932とを含む多数のメモリを含むことができる。ファイル・ストレージ・サブシステム926は、プログラム・ファイルおよびデータ・ファイルの永続ストレージを提供することができ、ハード・ディスク・ドライブ、関連する取外し可能媒体と一緒のフロッピ・ディスク・ドライブ、CD-ROMドライブ、光ドライブ、または取外し可能媒体カートリッジを含むことができる。ある種の実施態様の機能性を実施するモジュールは、ファイル・ストレージ・サブシステム926によって、ストレージ・サブシステム924内またはプロセッサ914によってアクセス可能な他のマシン内に記憶され得る。
バス・サブシステム912は、コンピューティング・デバイス910の様々な構成要素およびサブシステムが意図された通りにお互いと通信することを許す機構を提供する。バス・サブシステム912は、単一のバスとして概略的に図示されているが、バス・サブシステムの代替の実施態様は、複数のバスを使用することができる。
コンピューティング・デバイス910は、ワークステーション、サーバ、コンピューティング・クラスタ、ブレード・サーバ、サーバ・ファーム、または任意の他のデータ処理システムもしくはコンピューティング・デバイスを含む様々なタイプを有するものとすることができる。コンピュータおよびネットワークの常に変化する性質に起因して、図9に示されたコンピューティング・デバイス910の説明は、いくつかの実施態様を例示するための特定の例になることだけを意図されたものである。図9に示されたコンピューティング・デバイスより多数またはより少数の構成要素を有する、コンピューティング・デバイス910の多数の他の構成が可能である。

Claims (20)

1つまたは複数のプロセッサにより実行される方法であって、
現在のロボット状態を異なるロボット状態に遷移させるための候補ロボット運動パラメータを生成するステップであって、前記候補ロボット運動パラメータは、ロボットの作業空間内において前記ロボットの1つまたは複数のアクチュエータによって実行可能な候補運動の少なくとも一部を定義する、ステップと、
前記ロボットに関連する視覚センサによって取り込まれた現在の画像を識別するステップであって、前記現在の画像は、前記ロボットの前記作業空間の少なくとも一部を取り込む、ステップと、
前記作業空間内で発生する物体の動きを予測する動き予測モデルを用いるニューラル・ネットワークへの入力として、前記現在の画像および前記候補ロボット運動パラメータを適用するステップであって、前記動き予測モデルが、以前のフレームからの画素動きにわたる分布を予測することによって画素動きを明示的にモデル化する、ステップと、
前記現在の画像内における少なくとも1つの予測された変換を生成するステップであって、前記予測された変換は、前記ニューラル・ネットワークへの前記現在の画像および前記候補ロボット運動パラメータの前記適用に基づいて生成される、ステップと、
少なくとも1つの予測された画像を生成するために、前記少なくとも1つの予測された変換に基づいて前記現在の画像を変換するステップであって、前記予測された画像は、前記候補運動の少なくとも一部が前記作業空間内において前記ロボットの前記1つまたは複数のアクチュエータによって実行された場合に前記視覚センサによって取り込まれると予測された画像である、ステップと、
前記予測された画像に基づいて、前記物体の予測された動きが所望の動きに従うと判断された場合に、前記候補運動を実行すると決定するステップと、
前記候補運動を実行するために前記ロボットの前記1つまたは複数のアクチュエータに1つまたは複数の制御コマンドを供給するステップと
を含む、1つまたは複数のプロセッサによって実施される方法。
前記ニューラル・ネットワークへの前記現在の画像および前記候補ロボット運動パラメータの前記適用に基づいて、複数の画像を合成するための少なくとも1つの合成マスクを生成するステップをさらに含み、前記少なくとも1つの合成マスクは、前記複数の画像の各々が各画素にどれほど影響するかを示し、前記現在の画像を変換するステップが前記少なくとも1つの合成マスクにさらに基づく、請求項1に記載の方法。
少なくとも1つの予測された変換が複数の予測された変換を含み、
前記少なくとも1つの合成マスクが、複数の合成マスクを含み、
前記予測された画像を生成するために、前記少なくとも1つの予測された変換に基づいて前記現在の画像を変換するステップが、
前記複数の予測された変換に基づき複数の予測された画像を生成するステップと、
前記予測された画像を生成するために前記複数の合成マスクに基づいて前記複数の予測された画像を合成するステップと
を含む、請求項2に記載の方法。
前記現在のロボット状態を追加のロボット状態に遷移させるための第2の候補ロボット運動パラメータを生成するステップであって、前記第2の候補ロボット運動パラメータが前記候補運動の代わりに実行可能な第2の運動の少なくとも一部を定義する、ステップと、
前記ニューラル・ネットワークへの入力として前記現在の画像および前記第2の候補ロボット運動パラメータを適用するステップと、
前記現在の画像の少なくとも1つの第2の予測された変換を生成するステップであって、前記第2の予測された変換は、前記現在の画像および前記第2の候補ロボット運動パラメータの前記ニューラル・ネットワークへの前記適用に基づき生成される、ステップと、
少なくとも1つの第2の予測された画像を生成するために、前記第2の予測された変換に基づいて前記現在の画像の1つまたは複数の画素を変換するステップであって、前記第2の運動の前記少なくとも一部が前記作業空間内において前記ロボットの前記1つまたは複数のアクチュエータによって実行された場合に前記視覚センサにより取り込まれると予測された画像である、ステップと
をさらに含む、請求項1に記載の方法。
前記予測された画像および前記第2の予測された画像に基づいて前記候補運動または前記第2の運動のいずれかを選択するステップと、
前記候補運動または前記第2の運動のうちの前記選択された1つを実行するために、前記ロボットの前記1つまたは複数のアクチュエータに1つまたは複数の制御コマンドを提供するステップと
をさらに含む、請求項4に記載の方法。
継続する候補ロボット運動パラメータを生成するステップであって、前記継続する候補ロボット運動パラメータは、前記候補運動の前記一部に続く前記候補運動の別の一部を定義する、ステップと、
前記予測された画像および前記継続する候補ロボット運動パラメータを前記ニューラル・ネットワークに適用するステップと、
前記予測された画像の少なくとも1つの継続する予測された変換を生成するステップであって、前記継続する予測された変換は、前記予測された画像および前記継続する候補ロボット運動パラメータの前記ニューラル・ネットワークへの前記適用に基づいて生成される、ステップと、
前記継続する予測された画像を生成するために、前記継続する予測された変換に基づき前記予測された画像を変換するステップと
をさらに含む、請求項1に記載の方法。
前記予測された画像および前記継続する予測された画像に基づいて、前記候補運動を実行すると決定するステップと、
前記候補運動を実行するために前記ロボットの1つまたは複数のアクチュエータに前記1つまたは複数の制御コマンドを提供するステップと
をさらに含む、請求項6に記載の方法。
前記ニューラル・ネットワークが、複数の積み重ねられた畳み込み長短期記憶層を含む、請求項1に記載の方法。
前記現在の画像の画素の前記少なくとも1つの予測された変換が、前記画像を変換するための1つまたは複数のアフィン変換を含む、請求項1に記載の方法。
前記現在の画像を変換するステップは、前記1つまたは複数のアフィン変換を前記現在の画像に適用するステップを含む、請求項9に記載の方法。
前記ニューラル・ネットワークへの入力として、前記現在の画像および前記候補ロボット運動パラメータを適用するステップが、
前記ニューラル・ネットワークの初期層への入力として前記現在の画像を適用するステップと、
前記ニューラル・ネットワークの追加の相へ前記候補ロボット運動パラメータを適用するステップであって、前記追加の相が前記初期層の下流にある、ステップと
をさらに含む、請求項1に記載の方法。
システムであって、
ロボットの作業空間を監視する視覚センサと、
1つまたは複数の非一時的コンピュータ可読媒体に記録されたニューラル・ネットワークと、
少なくとも1つのプロセッサと
を備え、前記少なくとも1つのプロセッサが、
前記ロボットに関連する前記視覚センサにより取り込まれる現在の画像を識別することと、
前記ロボットの現在の状態を識別することと、
前記ロボットを前記現在の状態から候補状態に遷移させるためのアクションである候補アクションを識別することであって、前記候補状態は前記ロボットが遷移可能な状態である、識別することと、
前記現在の画像、前記現在の状態、および前記候補アクションを前記ニューラル・ネットワークへの入力として適用することであって、前記ニューラル・ネットワークは、以前のフレームから画素の動きを予測することにより画素の動きを明示的にモデル化する予測モデルを採用する、適用することと、
前記現在の画像、前記現在の状態、および前記候補アクションの前記ニューラル・ネットワークへの前記適用に基づいて、前記現在の画像内における少なくとも1つの予測された変換を生成することと、
前記少なくとも1つの予測された変換に基づいて前記現在の画像を変換して、少なくとも1つの予測された画像を生成することと、
前記予測された画像に基づき、前記候補アクションを実行すると決定することと、
前記候補アクションを実行するために、前記ロボットの1つまたは複数のアクチュエータに1つまたは複数の制御コマンドを提供することと
を行うように構成された、システム。
前記少なくとも1つのプロセッサが、
前記現在の状態に続く次の状態を前記候補アクションに基づいて決定することと、
前記ロボットを前記次の状態から、さらなる候補状態へ遷移させるための次の候補アクションを識別することと、
前記ニューラル・ネットワークへの入力として前記現在の画像、前記現在の状態、および前記候補アクションを入力することに続き、前記予測された画像、前記次の状態、および前記次の候補アクションを前記ニューラル・ネットワークへの入力として適用することと、
前記ニューラル・ネットワークへの入力として前記予測された画像、前記次の状態、および前記次の候補アクションを適用することに基づき、次の予測された画像を生成することと
をさらに行うように構成され、
前記候補アクションを実行することを決定する際に、前記少なくとも1つのプロセッサは、前記次の予測された画像に基づいて前記候補アクションを実行することを決定する、請求項12に記載のシステム。
以前のフレームから画素の動きを予測することにより画素の動きを明示的にモデル化する動き予測モデルを採用するニューラル・ネットワークをトレーニングする方法であって、
1つまたは複数のプロセッサによって、1つまたは複数のロボットによる物体の動きの複数の試み中に前記ロボットに関連するセンサからのセンサ出力に基づいて生成された複数のトレーニング例を識別するステップであって、
前記複数のトレーニング例の各々が、
前記物体の動きの試みに対応する複数の順次画像のグループであって、前記複数の順次画像の各々が、対応する時間における前記ロボットの作業空間内の1つまたは複数の対応する物体を取り込む、複数の順次画像のグループと、
前記複数の順次画像の各々について、
前記対応する時間における前記ロボットの状態と、
前記対応する時間における前記ロボットの前記状態を前記複数の順次画像の次の順次画像に対応する新たな状態に遷移させるために適用されるアクションと
を含む、ステップと、
前記1つまたは複数のプロセッサによって、前記ロボットによる物体の動きの試みに応答して前記作業空間の画像に対して発生する変換を予測するように、前記トレーニング例に基づいて前記ニューラル・ネットワークをトレーニングするステップと
を含む方法。
前記トレーニング例に基づいて前記ニューラル・ネットワークをトレーニングするステップが、
前記複数の順次画像の所与の画像、ならびに前記所与の画像に関する前記状態および前記アクションを前記ニューラル・ネットワークへの初期入力として適用するステップと、
前記ニューラル・ネットワークへの前記初期入力の適用に基づいて予測された画像を生成するステップと、
前記予測された画像と前記複数の順次画像における前記所与の画像に続く前記次の順次画像とに基づき誤差を決定するステップと、
前記誤差に基づき前記ニューラル・ネットワークを更新するステップと
を含む、請求項14に記載の方法。
前記トレーニング例に基づいて前記ニューラル・ネットワークをトレーニングするステップが、
前記初期入力の適用に続く、前記ニューラル・ネットワークへの次の入力として、前記予測された画像ならびに前記次の順次画像に関する前記状態および前記アクションを適用するステップと、
前記ニューラル・ネットワークへの前記次の入力の適用に基づいて追加の予測された画像を生成するステップと、
前記追加の予測された画像と、前記複数の順次画像における前記次の順次画像に続く、さらなる次の順次画像とに基づき追加の誤差を決定するステップと、
前記追加の誤差に基づき前記ニューラル・ネットワークを更新するステップと
を含む、請求項15に記載の方法。
前記初期入力を適用するステップが、
所与のトレーニング例の前記所与の画像を、前記ニューラル・ネットワークの初期層への入力として適用するステップと、
前記初期層の下流にある追加の層に、前記所与の画像に関する前記状態および前記アクションを適用するステップと
を含む、請求項15に記載の方法。
前記トレーニング例が、
第1のロボットによる複数の物体の動きの試み中に前記第1のロボットの複数の第1のロボットセンサからの出力に基づき生成されるトレーニング例の第1のグループと、
第2のロボットによる複数の物体の動きの試み中に前記第2のロボットの複数の第2のロボットセンサからの出力に基づき生成されるトレーニング例の第2のグループと
を含む、請求項14に記載の方法。
実行された時に、請求項1から11のうちのいずれか一項に記載の方法を装置に実行させる機械可読命令を含む、コンピュータ・プログラム。
実行された時に、請求項14から18のうちのいずれか一項に記載の方法を装置に実行させる機械可読命令を含む、コンピュータ・プログラム。
JP2021116336A 2016-05-20 2021-07-14 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置 Active JP7399912B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023205781A JP2024019422A (ja) 2016-05-20 2023-12-06 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662339734P 2016-05-20 2016-05-20
US62/339,734 2016-05-20
US15/596,103 2017-05-16
US15/596,103 US11173599B2 (en) 2016-05-20 2017-05-16 Machine learning methods and apparatus related to predicting motion(s) of object(s) in a robot's environment based on image(s) capturing the object(s) and based on parameter(s) for future robot movement in the environment
JP2020069785A JP2020128003A (ja) 2016-05-20 2020-04-08 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020069785A Division JP2020128003A (ja) 2016-05-20 2020-04-08 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023205781A Division JP2024019422A (ja) 2016-05-20 2023-12-06 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置

Publications (2)

Publication Number Publication Date
JP2021175592A JP2021175592A (ja) 2021-11-04
JP7399912B2 true JP7399912B2 (ja) 2023-12-18

Family

ID=58873885

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2018559945A Pending JP2019516568A (ja) 2016-05-20 2017-05-16 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置
JP2020069785A Ceased JP2020128003A (ja) 2016-05-20 2020-04-08 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置
JP2021116336A Active JP7399912B2 (ja) 2016-05-20 2021-07-14 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置
JP2023205781A Pending JP2024019422A (ja) 2016-05-20 2023-12-06 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2018559945A Pending JP2019516568A (ja) 2016-05-20 2017-05-16 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置
JP2020069785A Ceased JP2020128003A (ja) 2016-05-20 2020-04-08 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023205781A Pending JP2024019422A (ja) 2016-05-20 2023-12-06 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置

Country Status (4)

Country Link
US (2) US11173599B2 (ja)
JP (4) JP2019516568A (ja)
KR (2) KR102168003B1 (ja)
WO (1) WO2017201023A1 (ja)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9948885B2 (en) * 2003-12-12 2018-04-17 Kurzweil Technologies, Inc. Virtual encounters
US9634855B2 (en) 2010-05-13 2017-04-25 Alexander Poltorak Electronic personal interactive device that determines topics of interest using a conversational agent
US9381916B1 (en) * 2012-02-06 2016-07-05 Google Inc. System and method for predicting behaviors of detected objects through environment representation
DE102015216659A1 (de) * 2015-09-01 2017-03-02 Siemens Aktiengesellschaft Vorrichtung zur Anbindung an einen Roboter
US11222461B2 (en) 2016-03-25 2022-01-11 Outward, Inc. Arbitrary view generation
US11232627B2 (en) 2016-03-25 2022-01-25 Outward, Inc. Arbitrary view generation
US11989821B2 (en) 2016-03-25 2024-05-21 Outward, Inc. Arbitrary view generation
US11989820B2 (en) 2016-03-25 2024-05-21 Outward, Inc. Arbitrary view generation
US11972522B2 (en) 2016-03-25 2024-04-30 Outward, Inc. Arbitrary view generation
US10163250B2 (en) 2016-03-25 2018-12-25 Outward, Inc. Arbitrary view generation
US10163251B2 (en) 2016-03-25 2018-12-25 Outward, Inc. Arbitrary view generation
US10163249B2 (en) 2016-03-25 2018-12-25 Outward, Inc. Arbitrary view generation
US10058995B1 (en) 2016-07-08 2018-08-28 X Development Llc Operating multiple testing robots based on robot instructions and/or environmental parameters received in a request
US11049010B2 (en) * 2016-07-26 2021-06-29 The University Of Connecticut Early prediction of an intention of a user's actions
US11370113B2 (en) * 2016-09-06 2022-06-28 Verily Life Sciences Llc Systems and methods for prevention of surgical mistakes
US11518051B2 (en) 2017-02-07 2022-12-06 Veo Robotics, Inc. Dynamic, interactive signaling of safety-related conditions in a monitored environment
US12103170B2 (en) 2017-01-13 2024-10-01 Clara Vu Dynamic, interactive signaling of safety-related conditions in a monitored environment
CN110494900A (zh) 2017-02-07 2019-11-22 韦奥机器人股份有限公司 工作空间安全监控和设备控制
US11820025B2 (en) 2017-02-07 2023-11-21 Veo Robotics, Inc. Safe motion planning for machinery operation
US11541543B2 (en) 2017-02-07 2023-01-03 Veo Robotics, Inc. Dynamic, interactive signaling of safety-related conditions in a monitored environment
US10223821B2 (en) * 2017-04-25 2019-03-05 Beyond Imagination Inc. Multi-user and multi-surrogate virtual encounters
EP3593291B8 (en) * 2017-05-19 2024-08-14 DeepMind Technologies Limited Making object-level predictions of the future state of a physical system
US11237872B2 (en) * 2017-05-23 2022-02-01 Kla-Tencor Corporation Semiconductor inspection and metrology systems for distributing job among the CPUs or GPUs based on logical image processing boundaries
US11468286B2 (en) * 2017-05-30 2022-10-11 Leica Microsystems Cms Gmbh Prediction guided sequential data learning method
US11126854B1 (en) * 2017-06-02 2021-09-21 Amazon Technologies, Inc. Efficient identification of objects in videos using motion information
JP6695843B2 (ja) * 2017-09-25 2020-05-20 ファナック株式会社 装置、及びロボットシステム
US10692244B2 (en) 2017-10-06 2020-06-23 Nvidia Corporation Learning based camera pose estimation from images of an environment
JP6456555B1 (ja) * 2017-11-02 2019-01-23 三菱電機株式会社 キャリブレーション装置、キャリブレーション方法および制御装置
US11701773B2 (en) * 2017-12-05 2023-07-18 Google Llc Viewpoint invariant visual servoing of robot end effector using recurrent neural network
US10572775B2 (en) * 2017-12-05 2020-02-25 X Development Llc Learning and applying empirical knowledge of environments by robots
JP7122821B2 (ja) * 2017-12-15 2022-08-22 川崎重工業株式会社 ロボットシステム及びロボット制御方法
US10579908B2 (en) * 2017-12-15 2020-03-03 Google Llc Machine-learning based technique for fast image enhancement
JP6734253B2 (ja) * 2017-12-20 2020-08-05 ファナック株式会社 ワークを撮像する視覚センサを備える撮像装置
US11043006B1 (en) * 2017-12-29 2021-06-22 Perceive Corporation Use of machine-trained network for misalignment identification
CN111630526B (zh) * 2018-01-22 2023-12-29 苹果公司 在合成现实布景中生成用于目标实现器的目标
US12097625B2 (en) * 2018-02-06 2024-09-24 Veo Robotics, Inc. Robot end-effector sensing and identification
US12049014B2 (en) 2018-02-06 2024-07-30 Veo Robotics, Inc. Workplace monitoring and semantic entity identification for safe machine operation
CN108491767B (zh) * 2018-03-06 2022-08-09 北京因时机器人科技有限公司 基于在线视频感知的自主滚动响应方法、系统和机械手
JP6933167B2 (ja) * 2018-03-14 2021-09-08 オムロン株式会社 ロボットの制御装置
CN108390380B (zh) * 2018-05-16 2021-04-06 国网山东省电力公司青岛供电公司 一种变压器状态参量趋势预测方法及系统
US11904467B2 (en) 2018-05-18 2024-02-20 Google Llc System and methods for pixel based model predictive control
US20190362235A1 (en) * 2018-05-23 2019-11-28 Xiaofan Xu Hybrid neural network pruning
DE112018007729B4 (de) * 2018-06-14 2022-09-08 Yamaha Hatsudoki Kabushiki Kaisha Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem
US10713487B2 (en) * 2018-06-29 2020-07-14 Pixart Imaging Inc. Object determining system and electronic apparatus applying the object determining system
US10953548B2 (en) 2018-07-19 2021-03-23 International Business Machines Corporation Perform peg-in-hole task with unknown tilt
EP3837666A4 (en) 2018-08-17 2022-05-11 Dauntless.io, Inc. SYSTEMS AND METHODS FOR MODELING AND CONTROLLING DYNAMIC PHYSICAL SYSTEMS USING ARTIFICIAL INTELLIGENCE
US11597084B2 (en) 2018-09-13 2023-03-07 The Charles Stark Draper Laboratory, Inc. Controlling robot torque and velocity based on context
EP3788549B1 (en) 2018-09-27 2023-09-06 DeepMind Technologies Limited Stacked convolutional long short-term memory for model-free reinforcement learning
US20200160210A1 (en) * 2018-11-20 2020-05-21 Siemens Industry Software Ltd. Method and system for predicting a motion trajectory of a robot moving between a given pair of robotic locations
US11839983B2 (en) * 2018-11-27 2023-12-12 Ocado Innovation Limited Systems and methods for robotic grasp verification
US11501179B2 (en) 2018-11-28 2022-11-15 International Business Machines Corporation Cognitive robotics system that requests additional learning content to complete learning process
CN109658413B (zh) * 2018-12-12 2022-08-09 达闼机器人股份有限公司 一种机器人目标物体抓取位置检测的方法
US20200202178A1 (en) * 2018-12-19 2020-06-25 Abb Schweiz Ag Automatic visual data generation for object training and evaluation
CN111476257A (zh) * 2019-01-24 2020-07-31 富士通株式会社 信息处理方法和信息处理装置
EP3918437A4 (en) * 2019-01-31 2022-11-02 Brain Corporation SYSTEMS AND METHODS FOR LASER ODOMETRY AND IMAGING FOR AUTONOMOUS ROBOTS
WO2020167739A1 (en) * 2019-02-11 2020-08-20 Hypertherm, Inc. Motion distribution in robotic systems
US11657801B2 (en) * 2019-02-27 2023-05-23 Comcast Cable Communications, Llc Voice command detection and prediction
EP3930617A1 (en) * 2019-02-28 2022-01-05 Koninklijke Philips N.V. Training data collection for machine learning models
EP3790710A1 (en) 2019-03-01 2021-03-17 Google LLC Robotic manipulation using domain-invariant 3d representations predicted from 2.5d vision data
JP7044204B2 (ja) 2019-03-15 2022-03-30 オムロン株式会社 パラメータ調整装置、パラメータ調整方法及びプログラム
CN110000781B (zh) * 2019-03-29 2021-06-08 郑州大学 基于发育网络的移动机器人运动方向预先决策方法
US11845191B1 (en) * 2019-06-26 2023-12-19 Amazon Technologies, Inc. Robotic picking of cuboidal items from a pallet
WO2021002465A1 (ja) * 2019-07-03 2021-01-07 株式会社Preferred Networks 情報処理装置、ロボットシステム、および、情報処理方法
CN110450153B (zh) * 2019-07-08 2021-02-19 清华大学 一种基于深度强化学习的机械臂物品主动拾取方法
KR20210011591A (ko) * 2019-07-23 2021-02-02 엘지전자 주식회사 액션 로봇과 연결된 단말기 및 그의 동작 방법
US20220305647A1 (en) * 2019-08-27 2022-09-29 Google Llc Future prediction, using stochastic adversarial based sampling, for robotic control and/or other purpose(s)
WO2021044751A1 (ja) * 2019-09-02 2021-03-11 ソニー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
US11685045B1 (en) * 2019-09-09 2023-06-27 X Development Llc Asynchronous robotic control using most recently selected robotic action data
US20210125052A1 (en) * 2019-10-24 2021-04-29 Nvidia Corporation Reinforcement learning of tactile grasp policies
JP2022553846A (ja) * 2019-11-08 2022-12-26 アウトワード・インコーポレーテッド 任意ビューの生成
US20210158141A1 (en) * 2019-11-22 2021-05-27 Sony Interactive Entertainment Inc. Control input scheme for machine learning in motion control and physics based animation
US20220189185A1 (en) * 2019-12-09 2022-06-16 Cognex Corporation System and method for applying deep learning tools to machine vision and interface for the same
CN111002349A (zh) * 2019-12-13 2020-04-14 中国科学院深圳先进技术研究院 一种机器人跟随转向方法及采用该方法的机器人系统
US11635802B2 (en) 2020-01-13 2023-04-25 Sony Interactive Entertainment Inc. Combined light intensity based CMOS and event detection sensor for high speed predictive tracking and latency compensation in virtual and augmented reality HMD systems
CN111324987B (zh) * 2020-02-20 2022-07-08 西北工业大学 一种基于稀疏高斯过程的目标运动预测方法
EP4122654A4 (en) * 2020-03-31 2023-11-22 Siemens Aktiengesellschaft PREDICTIVE MODEL LEARNING METHOD, APPARATUS AND SYSTEM FOR AN INDUSTRIAL SYSTEM
US20220084306A1 (en) * 2020-07-14 2022-03-17 Kalpit Jain Method and system of guiding a user on a graphical interface with computer vision
JP7436317B2 (ja) 2020-07-29 2024-02-21 日立建機株式会社 電動作業機械
US12017359B2 (en) 2020-11-11 2024-06-25 Sony Interactive Entertainment Inc. Method for robotic training based on randomization of surface damping
US20220152816A1 (en) * 2020-11-13 2022-05-19 Intrinsic Innovation Llc Decentralized robotic operating environment optimization
KR102422762B1 (ko) 2020-11-18 2022-07-20 지니주식회사 인공지능 로봇 교육 장치 및 그 제어 방법
CN113211441B (zh) * 2020-11-30 2022-09-09 湖南太观科技有限公司 神经网络训练和机器人控制方法及装置
US20220188625A1 (en) * 2020-12-11 2022-06-16 Poyen Hsieh Method and computer implemented system for generating layout plan using neural network
WO2022221719A2 (en) * 2021-04-16 2022-10-20 Strong Force Vcn Portfolio 2019, Llc Systems, methods, kits, and apparatuses for digital product network systems and biology-based value chain networks
US11938638B2 (en) 2020-12-31 2024-03-26 Google Llc Simulation driven robotic control of real robot(s)
WO2023003979A2 (en) * 2021-07-21 2023-01-26 University Of Washington Optimal data-driven decision-making in multi-agent systems
WO2023115182A1 (pt) 2021-12-20 2023-06-29 Embraer S.A. Plataforma de controle para sistemas autônomos
CN114363617A (zh) * 2022-03-18 2022-04-15 武汉大学 一种网络轻量级视频流传输方法、系统及设备
CN118493399A (zh) * 2024-06-27 2024-08-16 安徽大学 基于多功能抓取及对象无关框架的机器人抓取方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002059384A (ja) 2000-08-22 2002-02-26 Sony Corp ロボットのための学習システム及び学習方法
WO2008047872A1 (fr) 2006-10-20 2008-04-24 Hitachi, Ltd. Manipulateur

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06106490A (ja) 1992-09-29 1994-04-19 Fujitsu Ltd 制御装置
JPH06314103A (ja) 1993-04-30 1994-11-08 Fujitsu Ltd 制御装置と能動的センシング装置
JPH0780790A (ja) 1993-09-16 1995-03-28 Fujitsu Ltd 三次元物体把持システム
JP3560670B2 (ja) * 1995-02-06 2004-09-02 富士通株式会社 適応的認識システム
US7469237B2 (en) 1996-05-02 2008-12-23 Cooper David L Method and apparatus for fractal computation
JP2002239960A (ja) 2001-02-21 2002-08-28 Sony Corp ロボット装置の動作制御方法、プログラム、記録媒体及びロボット装置
US9286941B2 (en) * 2001-05-04 2016-03-15 Legend3D, Inc. Image sequence enhancement and motion picture project management system
US7107107B2 (en) * 2003-01-31 2006-09-12 Matsushita Electric Industrial Co., Ltd. Predictive action decision device and action decision method
JP5115965B2 (ja) 2007-10-01 2013-01-09 独立行政法人理化学研究所 ニューロン装置、神経回路網装置、非負整数符号化装置、整数クラスタ装置、フィードバック制御装置、ならびに、プログラム
CN101482923B (zh) 2009-01-19 2012-05-23 刘云 视频监控中人体目标的检测与性别识别方法
US9248569B2 (en) * 2013-11-22 2016-02-02 Brain Corporation Discrepancy detection apparatus and methods for machine learning
US9346167B2 (en) * 2014-04-29 2016-05-24 Brain Corporation Trainable convolutional network apparatus and methods for operating a robotic vehicle
US10055850B2 (en) * 2014-09-19 2018-08-21 Brain Corporation Salient features tracking apparatus and methods using visual initialization
US9630318B2 (en) * 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
CN104758096B (zh) 2015-03-30 2016-11-30 山东科技大学 一种对假肢目标空间定位精度矫正的方法
US10372968B2 (en) * 2016-01-22 2019-08-06 Qualcomm Incorporated Object-focused active three-dimensional reconstruction
US10242266B2 (en) * 2016-03-02 2019-03-26 Mitsubishi Electric Research Laboratories, Inc. Method and system for detecting actions in videos

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002059384A (ja) 2000-08-22 2002-02-26 Sony Corp ロボットのための学習システム及び学習方法
WO2008047872A1 (fr) 2006-10-20 2008-04-24 Hitachi, Ltd. Manipulateur

Also Published As

Publication number Publication date
JP2019516568A (ja) 2019-06-20
JP2024019422A (ja) 2024-02-09
US20170334066A1 (en) 2017-11-23
US20220063089A1 (en) 2022-03-03
JP2021175592A (ja) 2021-11-04
KR101980603B1 (ko) 2019-05-22
KR20190054189A (ko) 2019-05-21
JP2020128003A (ja) 2020-08-27
WO2017201023A1 (en) 2017-11-23
US11173599B2 (en) 2021-11-16
KR20180137026A (ko) 2018-12-26
KR102168003B1 (ko) 2020-10-20

Similar Documents

Publication Publication Date Title
JP7399912B2 (ja) 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置
CN109153123B (zh) 与基于捕获物体的图像并且基于用于环境中的未来机器人运动的参数来预测机器人环境中的物体运动有关的机器学习方法和装置
Manuelli et al. Keypoints into the future: Self-supervised correspondence in model-based reinforcement learning
US11325252B2 (en) Action prediction networks for robotic grasping
US20200215686A1 (en) Deep machine learning methods and apparatus for robotic grasping
Zheng et al. Gimo: Gaze-informed human motion prediction in context
JP2019520654A (ja) ビデオデータの中のオブジェクトの検出
JP2022519194A (ja) 奥行き推定
Hirose et al. Vunet: Dynamic scene view synthesis for traversability estimation using an rgb camera
JP7458741B2 (ja) ロボット制御装置及びその制御方法及びプログラム
CN112512755A (zh) 使用从2.5d视觉数据预测的域不变3d表示的机器人操纵
WO2020152436A1 (en) Mapping an environment using a state of a robotic device
CN110689611A (zh) 一种空间遥操作中基于实时重建模型的预测显示方法
Nematollahi et al. Hindsight for foresight: Unsupervised structured dynamics models from physical interaction
Kim et al. Acceleration of actor-critic deep reinforcement learning for visual grasping in clutter by state representation learning based on disentanglement of a raw input image
WO2021096561A1 (en) Mitigating reality gap through training a simulation-to-real model using a vision-based robot task model
CN118081758A (zh) 一种杂乱场景下机器人自主拾取与放置位姿获取方法
Kim et al. Acceleration of actor-critic deep reinforcement learning for visual grasping by state representation learning based on a preprocessed input image
JP7286091B2 (ja) 推定システム、推定装置および推定方法
Hong et al. Sim-to-Real: Autonomous Robotic Control

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230529

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231025

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: 20231106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231206

R150 Certificate of patent or registration of utility model

Ref document number: 7399912

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150