JP7129065B2 - Object pose detection from image data - Google Patents
Object pose detection from image data Download PDFInfo
- Publication number
- JP7129065B2 JP7129065B2 JP2019150869A JP2019150869A JP7129065B2 JP 7129065 B2 JP7129065 B2 JP 7129065B2 JP 2019150869 A JP2019150869 A JP 2019150869A JP 2019150869 A JP2019150869 A JP 2019150869A JP 7129065 B2 JP7129065 B2 JP 7129065B2
- Authority
- JP
- Japan
- Prior art keywords
- pose
- image
- computer model
- computer
- environment simulator
- 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
Links
- 238000001514 detection method Methods 0.000 title description 33
- 238000005094 computer simulation Methods 0.000 claims description 144
- 238000000034 method Methods 0.000 claims description 94
- 230000006870 function Effects 0.000 claims description 86
- 230000008569 process Effects 0.000 claims description 75
- 238000012549 training Methods 0.000 claims description 44
- 238000004088 simulation Methods 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 24
- 230000000694 effects Effects 0.000 claims description 9
- 238000013527 convolutional neural network Methods 0.000 claims description 8
- 230000001939 inductive effect Effects 0.000 claims description 7
- 239000003086 colorant Substances 0.000 claims description 6
- 238000012937 correction Methods 0.000 claims description 6
- 230000008676 import Effects 0.000 claims description 5
- 230000001427 coherent effect Effects 0.000 claims description 4
- 238000005096 rolling process Methods 0.000 claims 1
- 238000011960 computer-aided design Methods 0.000 description 20
- 238000003860 storage Methods 0.000 description 17
- 238000013528 artificial neural network Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000000411 inducer Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003756 stirring Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
- B25J9/12—Programme-controlled manipulators characterised by positioning means for manipulator elements electric
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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/1697—Vision controlled systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37555—Camera detects orientation, position workpiece, points of workpiece
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40532—Ann for vision processing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40607—Fixed camera to observe workspace, object, workpiece, global
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Medical Informatics (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Manipulator (AREA)
- Image Processing (AREA)
Description
本発明は、ポーズ検出に関する。より具体的には、本発明は、コンピュータモデルポーズのシミュレーションで訓練したポーズ決定関数に関する。 The present invention relates to pose detection. More specifically, the present invention relates to pose determination functions trained on simulations of computer model poses.
製品の製造は、ますます多くのロボット工学技術を用いている。例えば、組み立てラインは、最終製品を組み立てる際に部品を検出し、拾い上げ、まとめるロボットアームを用いる場合がある。プログラミングの負荷を低減させるため、人間の介入が増加する場合がある。例えば、部品を手で適切な位置および向きに配置することによって、ロボットアームは最小限の検出能力のみでよい。ロボットアームが、物体を検出し操作するその能力を高めるにつれて、人間の介入を低減できる場合があり、それにより製造コストも低減され得る。 The manufacturing of products employs an increasing number of robotics techniques. For example, an assembly line may employ robotic arms that detect, pick up, and group parts in assembling the final product. Human intervention may be increased to reduce the programming burden. For example, by manually placing the parts in proper position and orientation, the robotic arm needs only minimal detection capabilities. As robotic arms increase their ability to detect and manipulate objects, human intervention may be reduced, which may also reduce manufacturing costs.
物体を効果的に操作するためには、ロボットシステムは、そのような物体がどのように6D空間(3軸に沿った位置および3軸の周りの向きで規定できる)に置かれているかを認識できる必要がある。そのようなロボットシステムを訓練しその性能を評価するために、多くの環境多様性を含む大量の訓練データを取得しなければならない。そのようなロボットシステムの設計者は、実行時間およびデータモダリティ要件の両方を低く維持しながら精度を最大化する試みにおいて課題に直面する。 To effectively manipulate an object, a robotic system recognizes how such an object is placed in 6D space (which can be defined by its position along and orientation around 3 axes). I need to be able to. In order to train such a robot system and evaluate its performance, a large amount of training data containing a lot of environmental diversity must be obtained. Designers of such robotic systems face challenges in attempting to maximize accuracy while keeping both run time and data modality requirements low.
本発明の一態様によれば、コンピュータによって実行可能なコンピュータプログラムであって、コンピュータに、物体のコンピュータモデルを取得する手順と、現実的環境シミュレータでコンピュータモデルをシミュレーションする手順と、複数のポーズ表現を含む訓練データを取り込む手順であって、各ポーズ表現が、複数のポーズのうちの1つコンピュータモデルの画像を含み、複数のポーズのうちの1つは、画像に示されるコンピュータモデルのポーズ指定を含むラベルと対になっており、コンピュータモデルの画像およびポーズ指定はシミュレータによって規定される、取り込む手順と、ポーズ表現に学習プロセスを適用して、物体の画像をポーズ指定に関連付けるためのポーズ決定関数を生成する手順と、を含む操作を実行させる、コンピュータプログラムが提供される。 According to one aspect of the invention, there is provided a computer program executable by a computer, comprising: obtaining a computer model of an object; simulating the computer model with a realistic environment simulator; wherein each pose representation includes an image of the computer model in one of a plurality of poses, one of the plurality of poses being a pose specification of the computer model shown in the image , and the image and pose specification of the computer model are specified by the simulator, the capture procedure, and the pose determination for applying a learning process to the pose representation and associating the image of the object with the pose specification A computer program is provided for performing an operation comprising generating a function.
この態様はまた、コンピュータプログラムの命令を実行するコンピュータによって実行される方法、およびその方法を実行する装置を含んでもよい。 This aspect may also include a computer-implemented method executing the instructions of a computer program, and apparatus for performing the method.
なお、上記の発明の概要は、本発明の実施形態の必要な特徴の全てを列挙したものではない。上記の特徴のサブコンビネーションもまた本発明となり得る。 It is noted that the above summary of the invention is not an exhaustive list of all required features of embodiments of the invention. Sub-combinations of the above features may also constitute the invention.
続いて、例示の本発明の実施形態が説明される。例示の実施形態は、特許請求の範囲に係る本発明を限定するものではなく、実施形態に記載された特徴の組み合わせは、必ずしも本発明に不可欠なものではない。 Illustrative embodiments of the invention are subsequently described. The illustrated embodiments do not limit the claimed invention, and the combination of features described in the embodiments is not necessarily essential to the invention.
図1は、本発明の一実施形態による、CADモデルから補正されたポーズ検出までのハードウェアおよびソフトウェア要素間の相互作用の図を示す。この図は、シミュレーション、ディープラーニング、および伝統的なコンピュータ・ビジョンからなる複数の手順を用いる手法を示す。この実施形態では、コンピュータ支援設計(CAD)モデル112が取得される。CADモデル112は、物体の3Dスキャンから作成されてもよく、または手動で設計されてもよい。組み立てラインなどのいくつかの場合では、CADモデルは既に作成されている場合があり、単に再使用されてもよい。
FIG. 1 shows a diagram of the interaction between hardware and software elements from CAD model to corrected pose detection, according to one embodiment of the present invention. This figure shows a multi-step approach consisting of simulation, deep learning, and traditional computer vision. In this embodiment, a computer aided design (CAD)
ランダムなポーズのCADモデル112のインスタンスの画像を作成するために、CADモデル112の1つまたは複数のインスタンスがシミュレータ104によって使用される。シミュレータ104が使用されてもよく、その結果、場合によっては「グランドトルース」と呼ばれる、CADモデル112の各インスタンスの実際のポーズがシミュレータから容易に出力され得る。このようにして、非常に退屈で時間のかかる場合がある、実際のポーズの手動での導出は必要なくなる。CADモデル112の各インスタンスのランダムなポーズは、シミュレーション内で物体を落下、衝突、振とう、撹拌させるなどによって達成され得る。シミュレータ104は、これらの操作を単純化するために物理エンジンを使用する。一旦CADモデル112の各インスタンスが静止位置に定着すると、画像が取り込まれる。ポーズと相関しない特徴はランダム化され得る。したがって、照明効果を変えることができ、表面の色、テクスチャ、および光沢はすべてランダム化することができる。それにより、ポーズを決定するために、ポーズに相関する特徴、例えば、形状データ、縁などに学習プロセスを効果的に集中させることができる。画像にノイズを付加してもよく、その結果、学習プロセスは、物体の実像の不完全さに慣れることができる。このとき照明効果も役割を果たしており、それは、実際の画像は常に理想的な照明条件下で撮られるわけではなく、それにより、関係するいくらかの側面が検出困難なままとなる場合があるためである。
One or more instances of
シミュレータ104により取り込まれた各カラー画像は、ラベルとして使用されるシミュレータ104から出力される対応する実際のポーズ出力と対になる。この実施形態では、学習プロセスは、未訓練の畳み込みニューラルネットワーク117Uであり、これは各カラー画像およびラベル対に適用される。カラー画像およびラベル対が訓練データをなす。訓練データは、訓練プロセス前または訓練プロセス中に生成され得る。訓練データが訓練プロセスとは別の計算用リソースを使用して生成される実施形態では、各対が生成されると同時にそれを適用する方がより一時的に効果的である場合がある。訓練プロセス中、未訓練の畳み込みニューラルネットワーク117Uからの出力は対応するラベルと比較され、重みが適宜調整される。訓練プロセスは、訓練が完了したことを示す条件が満たされるまで継続される。この条件は、特定の量の訓練データの適用、未訓練の畳み込みニューラルネットワーク117Uの重みの定着、閾値精度に達する出力などであり得る。
Each color image captured by
一旦訓練が完了すると、結果として得られる訓練済みの畳み込みニューラルネットワーク117Tが物理的環境において使用される準備が整う。この実施形態では、物理的環境は、CADモデル112の実体である物体を含む。これらの物体は、カメラ125によって撮影され、それにより物体のうちの1つまたは複数のカラー画像をもたらす。カラー画像中の各物体の6Dポーズを出力するために、訓練済みの畳み込みニューラルネットワーク117Tがこのカラー画像に適用される。カメラ125はより基本的な性能の劣るカメラである場合があり、かつ照明条件は理想的でない場合があるものの、訓練済みの畳み込みニューラルネットワーク117Tは、訓練中のシミュレーション画像と同じ方式でこのカラー画像を適切に処理することができるはずである。
Once training is complete, the resulting trained convolutional
一旦カラー画像中の各物体の6Dポーズが出力されると、最後の操作の補正109が実行される。補正操作109は、もう一度CADモデル112を利用して、検出された各6Dポーズに対して微調整を行う。この実施形態では、CADモデル112は、出力された各6Dポーズに従って画像を再作成し、次いで、画像間でずれているように見える任意の物体の6Dポーズを調整するために使用される。6Dポーズが調整されるにつれて、再作成された画像が適宜操作され、画像が一致するまで比較が継続される。この実施形態では、補正操作109は、別の学習プロセスではなく、伝統的な手書きのアルゴリズムである。
Once the 6D pose of each object in the color image has been output, the
一旦補正109が完了すると、最終的なポーズ119が出力される。最終的なポーズ119は、実施形態の状況に応じて多様な方法で利用され得る。例えば、組み立てラインにおいて、ロボットアームは最終的なポーズ119を利用して、ロボットアームが組み立てステップを実行することを可能にする方式で各物体を戦略的に掴むことができる。ロボットアーム以外、および組み立てライン以外にも、多くの用途が存在する。適切なポーズ検出を必要とする用途の数は増加している。
Once the
図2は、本発明の一実施形態による、ポーズ検出のための例示的なハードウェア構成を示す。例示的なハードウェア構成は、ネットワーク228と通信し、かつCADモデラ224、カメラ225、およびロボットアーム226と相互作用し得るポーズ検出デバイス220を含む。ポーズ検出デバイス220は、オンプレミスのアプリケーションを実行し、それを使用するクライアントコンピュータをホストするサーバコンピュータまたはメインフレームコンピュータなどのホストコンピュータであり得る。この場合、ポーズ検出デバイス220は、CADモデラ224、カメラ225、およびロボットアーム226と直接接続されなくてよく、ネットワーク228を介して接続される。ポーズ検出デバイス220は、2以上のコンピュータを含むコンピュータシステムであってもよい。ポーズ検出デバイス220は、ポーズ検出デバイス220のユーザ用のアプリケーションを実行するパーソナルコンピュータであってもよい。
FIG. 2 shows an exemplary hardware configuration for pose detection, according to one embodiment of the present invention. An exemplary hardware configuration includes
ポーズ検出デバイス220は、論理部200、格納部210、通信インタフェース221、および入/出力コントローラ222を含む。論理部200は、様々な部分の操作をプロセッサまたはプログラマブル回路に実行させるためにプロセッサまたはプログラマブル回路で実行可能なプログラム命令を集合的に格納している1つまたは複数のコンピュータ可読記憶媒体を含むコンピュータプログラムプロダクトであってよい。論理部200は、代替的に、アナログもしくはデジタルプログラマブル回路、またはそれらの任意の組み合わせであり得る。論理部200は、通信を介して相互作用する、物理的に切り離された格納装置または回路から構成され得る。格納部210は、本明細書のプロセスの実行中に論理部200がアクセスするための実行不能データを格納することができる不揮発性コンピュータ可読媒体であり得る。通信インタフェース221は、格納部210などの記録媒体に設けられた送信バッファ領域に格納され得る送信データを読み取り、読み取った送信データをネットワーク228へ送信する、またはネットワーク228から受信した受信データを、記録媒体に設けられた受信バッファ領域に書き込む。入/出力コントローラ222は、パラレルポート、シリアルポート、キーボードポート、マウスポート、モニターポートなどを介してCADモデラ224、カメラ225、およびロボットアーム226などの様々な入出力ユニットに接続して、コマンドを受け入れ、情報を提示する。
取得部202は、ポーズ検出の過程で、CADモデラ224、カメラ225、ロボットアーム226、およびネットワーク228からのデータの取得を実行する論理部200の部分である。取得部は、物体のコンピュータモデル212を取得してもよい。取得部202は、コンピュータモデル212を格納部210に格納してもよい。取得部202は、以下のフローチャートに記載される付加的機能を実行するための小区分を含んでもよい。そのような小区分は、それらの機能に関連付けられた名称で呼ばれ得る。
シミュレーション部204は、現実的環境におけるコンピュータモデルをシミュレーションする論理部200の部分である。シミュレーション部204は、ランダムなポーズの物体のコンピュータモデルをシミュレーションしてもよい。その際、シミュレーション部204は、コンピュータモデルの運動を誘発するなどのために物理エンジンを含んでもよい。シミュレーション部204は、物理エンジンなどのシミュレーションパラメータ214を格納部210に格納してもよい。シミュレーション部204は、以下のフローチャートに記載される付加的機能を実行するための小区分を含んでもよい。そのような小区分は、それらの機能に関連付けられた名称で呼ばれ得る。
取込み部205は、訓練データを取り込む論理部200の部分である。訓練データは、複数のポーズ表現215を含んでもよく、各ポーズ表現215は、画像に示されるコンピュータモデルのポーズ指定を含むラベルと対になった複数のポーズのうちの1つにあるコンピュータモデルの画像を含む。画像および対応するポーズ指定は、シミュレーション部204によって規定される。取込み部205は、ポーズ表現215を格納部210に格納してもよい。取込み部205は、以下のフローチャートに記載される付加的機能を実行するための小区分を含んでもよい。そのような小区分は、それらの機能に関連付けられた名称で呼ばれ得る。
関数生成部206は、ポーズ検出の過程で、ポーズ表現に学習プロセスを適用してポーズ決定関数を生成する論理部200の部分である。例えば、ポーズ決定関数は、物体の画像をポーズ指定と関連付けることができる。関数生成部206は、ポーズ決定関数パラメータ217などの訓練済みの学習プロセスのパラメータを格納部210に格納してもよい。関数生成部206は、以下のフローチャートに記載される付加的機能を実行するための小区分を含んでもよい。そのような小区分は、それらの機能に関連付けられた名称で呼ばれ得る。
ポーズ決定部208は、ポーズ検出の過程で、ポーズ決定関数を物体の画像に適用することによって物体のポーズ指定を決定する論理部200の部分である。例えば、ポーズ指定位置および向きの6D指定である。その際、ポーズ決定部208は、格納部210に格納されたポーズ決定関数パラメータ217、およびカメラ225によって取り込まれた物理的環境におけるコンピュータモデル212と同一な物体の画像を利用してもよく、それにより6Dポーズ指定の出力がもたらされる。ポーズ決定部208は、以下のフローチャートに記載される付加的機能を実行するための小区分を含んでもよい。そのような小区分は、それらの機能に関連付けられた名称で呼ばれ得る。
Pose
ポーズ補正部209は、ポーズ検出の過程で、物体のポーズ指定を補正する論理部200の部分である。その際、ポーズ補正部209は、格納部210に格納された補正パラメータ218およびコンピュータモデル212を利用してもよく、それにより補正された6Dポーズ指定の出力がもたらされる。ポーズ補正部209は、以下のフローチャートに記載される付加的機能を実行するための小区分を含んでもよい。そのような小区分は、それらの機能に関連付けられた名称で呼ばれ得る。
この実施形態では、ポーズ検出デバイス220は、訓練データを生成し、学習プロセスを訓練してポーズ決定関数を生成し、次いで、単にコンピュータモデルを入力することによって自動的に訓練済みのポーズ決定関数を使用することを可能にし得る。
In this embodiment, pose
他の実施形態では、ポーズ検出デバイスは、本明細書のプロセスを実行するために論理関数を処理することができる任意の他のデバイスであってもよい。ポーズ検出デバイスは、入力、出力、およびすべての情報が直接接続されている環境ではネットワークに接続される必要がない場合がある。論理部および格納部は完全に別個のデバイスでなくてもよく、1つまたは複数のコンピュータ可読媒体を共有してもよい。例えば、格納部は、コンピュータ実行可能命令および論理部によってアクセスされるデータの両方を格納するハードドライブであってもよく、論理部は、中央処理装置(CPU)およびランダムアクセスメモリ(RAM)の組み合わせであってもよく、論理部では、本明細書のプロセスの実行中にCPUによって実行されるために、コンピュータ実行可能命令が全体的にまたは部分的に複製され得る。特にニューラルネットワークを利用する実施形態では、1つまたは複数のグラフィック処理装置(GPU)が論理部に含まれてもよい。 In other embodiments, the pose detection device may be any other device capable of processing logic functions to perform the processes herein. The pose detection device may not need to be networked in environments where inputs, outputs and all information are directly connected. The logic and storage need not be entirely separate devices, but may share one or more computer-readable media. For example, the storage may be a hard drive that stores both computer-executable instructions and data accessed by logic, which is a combination of central processing unit (CPU) and random access memory (RAM). and in the logic portion, computer-executable instructions may be replicated in whole or in part for execution by the CPU during execution of the processes herein. One or more graphics processing units (GPUs) may be included in the logic, particularly in embodiments utilizing neural networks.
ポーズ検出デバイスがコンピュータである実施形態では、コンピュータにインストールされたプログラムは、コンピュータに、本発明の実施形態の装置またはその1もしくは複数の部(モジュール、コンポーネント、エレメントなどを含む)として機能させ得るか、またはそれに関連付けられる操作を実行させ得る、かつ/あるいはコンピュータに、本発明の実施形態のプロセスまたはそのステップを実行させ得る。そのようなプログラムは、コンピュータに、本明細書に記載のフローチャートおよびブロック図のいくつかもしくはすべてのブロックに関連付けられる特定の操作を実行させるために、プロセッサによって実行され得る。 In embodiments in which the pose detection device is a computer, a program installed on the computer may cause the computer to function as the apparatus or one or more portions thereof (including modules, components, elements, etc.) of embodiments of the present invention. or may cause operations associated therewith and/or cause a computer to perform the processes of embodiments of the present invention or steps thereof. Such programs may be executed by the processor to cause the computer to perform certain operations associated with blocks in some or all of the flowcharts and block diagrams described herein.
他の実施形態では、カメラは、色情報に加えて各画素の深度情報を取り込むことができる深度カメラであってもよい。そのような実施形態では、取込み部はまた、シミュレーション部によって規定された深度情報も取り込み、学習関数は適宜訓練されることになる。換言すると、コンピュータモデルの画像は深度情報を含んでもよく、したがって、物体の画像の取り込みは、深度情報の取り込みも含む。しかしながら、多くの深度カメラは近距離では精度が良好でない場合がある。したがって、深度カメラは、より大きい規模の用途でより好適であり得る。 In other embodiments, the camera may be a depth camera capable of capturing depth information for each pixel in addition to color information. In such an embodiment, the fetching unit would also fetch the depth information defined by the simulating unit, and the learning function would be trained accordingly. In other words, the image of the computer model may contain depth information, so capturing the image of the object also includes capturing the depth information. However, many depth cameras may not be accurate at close range. Depth cameras may therefore be more suitable for larger scale applications.
いくつかの実施形態では、単一の用途に複数のコンピュータモデルを使用することができる。シミュレーション部において複数のコンピュータモデルを容易にシミュレーションすることができるが、確実なポーズ決定関数を生成するためにより多くの訓練が要求され得る。例えば、単一の物体が、接続されているが相対的に移動可能な2つの構成要素を含む場合、そのような構成要素は個別の物体として扱われる場合があり、学習関数はそれに伴って訓練されることになる。さらなる実施形態では、ラベルは、構成要素間の関係を規定するパラメータを含み得る。より複雑な方法で形状を変化させる物体、例えば流れる、変形する、または多くの可動部を有する物体は、確実なポーズ決定関数を生成することが全くできない場合がある。 In some embodiments, multiple computer models can be used for a single application. Multiple computer models can be easily simulated in the simulation section, but more training may be required to generate a robust pose determination function. For example, if a single object contains two components that are connected but relatively moveable, such components may be treated as separate objects, and the learning function is trained accordingly. will be In further embodiments, the label may include parameters that define relationships between components. Objects that change shape in more complex ways, such as objects that flow, deform, or have many moving parts, may not be able to generate a reliable pose determination function at all.
図3は、本発明の一実施形態による、ポーズ検出のための操作フローを示す。この操作フローは、ポーズ検出デバイス220または以下の操作を実行することができる任意の他のデバイスなどのポーズ検出デバイスによって実行され得るポーズ検出方法を提供し得る。
FIG. 3 shows an operational flow for pose detection, according to one embodiment of the present invention. This operational flow may provide a pose detection method that may be performed by a pose detection device such as
S330において、取得部202などの取得部はコンピュータモデルを取得する。例えば、取得部は、ネットワーク228などのネットワークを介して、CADモデラ224などのCADモデラから、または別のソースからなど、直接的なユーザ入力から物体のコンピュータモデルを取得し得る。いくつかの実施形態では、取得部は、物体の3Dスキャンを行うことによってコンピュータモデルを生成し得る。
At S330, an acquisition unit, such as
S340において、シミュレーション部204などのシミュレーション部は、現実的環境においてコンピュータモデルをシミュレーションする。例えば、シミュレーション部は、現実的環境においてコンピュータモデルをシミュレーションしてもよい。いくつかの実施形態では、シミュレーション部は、コンピュータモデルの1より多くのインスタンスを同時にシミュレーションしてもよい。
At S340, a simulation unit, such as
S346において、取込み部205などの取込み部は、ポーズ表現の訓練データを取り込む。例えば、取込み部は、複数のポーズ表現を取り込んでもよく、各ポーズ表現は、画像に示されるコンピュータモデルのポーズ指定を含むラベルと対になった複数のポーズのうちの1つにあるコンピュータモデルの画像を含む。画像および対応するポーズ指定は、シミュレーション部によって規定される。シミュレーション部がコンピュータモデルの1より多くのインスタンスをシミュレーションする実施形態では、各画像もコンピュータモデルの1より多くのインスタンスを含んでもよく、コンピュータモデルの各インスタンスは固有のポーズにある。
At S346, a capture unit such as
S350において、関数生成部206などの関数生成部はポーズ決定関数を生成する。例えば、関数生成部は、学習プロセスをポーズ表現に適用して、物体の画像をポーズ指定と関連付けるポーズ決定関数を生成し得る。
At S350, a function generator, such as
S360において、ポーズ決定部208などのポーズ決定部はポーズ指定を決定する。例えば、ポーズ決定部は、ポーズ検出の過程で、ポーズ決定関数を物体の画像に適用することによって物体のポーズ指定を決定し得る。いくつかの実施形態では、ポーズ補正部209などのポーズ補正部は、物体のポーズ指定を補正し得る。いくつかの実施形態では、ポーズ補正部は、物体のポーズ指定に従ったコンピュータモデルの画像と物理的環境における物体の画像との間の差異を低減させるために、直接画像位置合わせ(Direct Image Alignment,DIA)を適用し得る。深度情報が利用可能である実施形態などのいくつかの実施形態では、ポーズ補正部は、物体のポーズ指定に従ったコンピュータモデルの画像と物理的環境における物体の画像との間の差異を低減させるために、コヒーレント点ドリフト(Coherent Point Drift,CPD)を適用し得る。
At S360, a pose determiner, such as
S370において、ロボットアーム226などのロボットアームが位置決めされ得る。例えば、ポーズ検出デバイスは、ポーズ指定に従いロボットアームを位置決めし得る。いくつかの実施形態では、ロボットアームの位置決めは、物体の画像を取り込んだカメラ、例えばカメラ225の位置に基づいて、ロボットアームに対する物体の位置を決定することを含み得る。
At S370, a robotic arm, such as
図4は、本発明の一実施形態による、図3のS340およびS346などの、訓練データを取り込むためのコンピュータモデルのシミュレーションのための操作フローを示す。この操作フロー内の操作は、シミュレーション部204などのシミュレーション部、または対応して名付けられたその小区分、および取込み部205などの取込み部、または対応して名付けられたその小区分によって実行され得る。
FIG. 4 illustrates an operational flow for simulating a computer model to capture training data, such as S340 and S346 of FIG. 3, according to one embodiment of the invention. The operations in this operational flow may be performed by a simulation unit, such as
S442において、シミュレーション部204またはその小区分などの環境生成部は、シミュレーション環境を生成する。例えば、環境生成部は、その内部がコンピュータモデルとなり、かつ一部がプラットフォームを形成する3D空間を作成し得る。環境の残りの詳細、例えば背景色および物体は、たとえあったとしてもシミュレーションの目的にはあまり重要ではなく、学習プロセスがそれらに値を割り当てることを防ぐためにさらにランダム化される。
At S442, an environment generator, such as
S444において、シミュレーション部204またはその小区分などのランダム割当部は、色、テクスチャ、および照明をランダムに割り当てる。例えば、ランダム割当部は、現実的環境シミュレータ内で、コンピュータモデルおよびプラットフォームに1つまたは複数の表面色をポーズごとにランダムに割り当て得る。別の例として、ランダム割当部は、現実的環境シミュレータ内で、コンピュータモデルおよびプラットフォームに1つまたは複数の表面テクスチャをポーズごとにランダムに割り当て得る。さらに別の例として、ランダム割当部は、現実的環境シミュレータ内で、環境における照明効果をポーズごとにランダムに割り当て得る。そのような照明効果は、明るさ、コントラスト、色温度、および方向のうちの少なくとも1つを含み得る。
At S444, a random allocation unit, such as
S445において、シミュレーション部204またはその小区分などの運動誘発部は、コンピュータモデルの運動を誘発する。例えば、運動誘発部は、コンピュータモデルがランダムなポーズを呈するように、前記現実的環境シミュレータ内で、プラットフォームに対する前記コンピュータモデルの運動を誘発し得る。誘発される運動の例としては、プラットフォームまたはコンピュータモデルの他のインスタンスに対してコンピュータモデルを落下させ、回転させ、衝突させることが挙げられる。
At S445, a motion inducer, such as
S446において、取込み部205などの取込み部は、画像およびポーズ指定を取り込み得る。例えば、取込み部は、シミュレーション内でソフトカメラを規定し、そのソフトカメラを使用してコンピュータモデルの画像を取り込むことなどによって、シミュレーション内のコンピュータモデルの画像を取り込み得る。取込み部はまた、コンピュータモデルのポーズ指定を取り込んでもよい。ポーズ指定は、ソフトカメラの視点からであってもよい。あるいは、ポーズ指定は、いくつかの他の視点からであってもよく、例えば、ポーズ指定を変換することによって得られる。シミュレーション部がコンピュータモデルの1より多くのインスタンスをシミュレーションする実施形態では、各画像もコンピュータモデルの1より多くのインスタンスを含んでもよく、コンピュータモデルの各インスタンスは固有のポーズにあり、そのため、固有のポーズ指定と関連付けられる。
At S446, a capture unit, such as
S448において、シミュレーション部は、取込み部によって十分な量の訓練データが取り込まれたかどうかを決定する。訓練データの量が不十分である場合、操作フローはS449に進み、そこで別の訓練データを取り込む準備をするために環境がリセットされる。十分な量の訓練データがある場合、操作フローは終了する。 At S448, the simulation unit determines whether a sufficient amount of training data has been captured by the capture unit. If the amount of training data is insufficient, operational flow proceeds to S449 where the environment is reset in preparation for loading another training data. If there is a sufficient amount of training data, the operational flow ends.
図5は、本発明の一実施形態による、図3のS350などの、ポーズ決定関数を生成するための操作フローを示す。この操作フロー内の操作は、関数生成部206などの関数生成部または対応して名付けられたその小区分によって実行され得る。
FIG. 5 shows an operational flow for generating a pose determination function, such as S350 of FIG. 3, according to one embodiment of the invention. The operations in this operational flow may be performed by a function generator, such as
S552において、関数生成部またはその小区分などの学習プロセス規定部は、学習プロセスを規定する。学習プロセスを規定することは、ニューラルネットワークの種類、ニューラルネットワークの次元、層の数などを規定することを含み得る。いくつかの実施形態では、学習プロセス規定部は、畳み込みニューラルネットワークとして学習プロセスを規定する。 At S552, a learning process definition unit, such as a function generator or a subsection thereof, defines a learning process. Defining the learning process may include defining the type of neural network, the dimensions of the neural network, the number of layers, and the like. In some embodiments, the learning process definer defines the learning process as a convolutional neural network.
S554において、関数生成部またはその小区分などのポーズ表現選択部は、複数のポーズ表現の中からポーズ表現を選択する。各ポーズ表現が処理されることを確実にするために、ポーズ決定関数を生成するための操作フローの反復が進むにつれて、以前に選択されていないポーズ表現のみがS554で選択され得る。ポーズ表現が取り込まれるとすぐに処理される実施形態では、ポーズ表現選択は必要でない場合がある。 At S554, a pose expression selector, such as a function generator or a subdivision thereof, selects a pose expression from among a plurality of pose expressions. To ensure that each pose expression is processed, only previously unselected pose expressions may be selected at S554 as the iterations of the operational flow for generating the pose determination function proceed. In embodiments where pose representations are processed as soon as they are captured, pose representation selection may not be necessary.
S556において、関数生成部またはその小区分などの学習プロセス適用部は、学習プロセスを画像に適用する。学習プロセスをポーズ表現に適用することは、学習プロセスが出力を生成するように、画像を学習プロセスへの入力として使用することを含み得る。学習プロセスがニューラルネットワークを含み、かつポーズ表現がシミュレーション画像である実施形態では、学習プロセスは6Dポーズ指定を出力し得る。 At S556, a learning process applicator, such as a function generator or a subsection thereof, applies a learning process to the image. Applying the learning process to the pose representation may include using the image as input to the learning process, such that the learning process produces an output. In embodiments where the learning process includes a neural network and the pose representations are simulated images, the learning process may output a 6D pose designation.
S557において、関数生成部またはその小区分などの学習プロセス調整部は、シミュレーション部によって規定されるラベル、ポーズ指定を目標として用いて学習プロセスを調整する。ポーズ決定関数を生成するための操作フローの反復が進むにつれ、学習プロセス調整部は、ポーズ決定関数パラメータ217などの学習プロセスのパラメータを調整して、ポーズ決定関数となるように学習プロセスを訓練する。学習プロセスがニューラルネットワークを含み、ポーズ表現がシミュレーション画像である実施形態では、学習プロセス調整部は、ニューラルネットワークの重みを調整してもよく、学習プロセスは、画像内のコンピュータモデルのインスタンスごとに6Dポーズ指定を出力するように訓練され得る。例えば、ニューラルネットワークに画像が入力された後、ニューラルネットワークの実際の出力と対応するポーズ指定との間の誤差が算出される。一旦誤差が算出されると、次いで、この誤差は逆伝搬される、すなわち、誤差は、ネットワークの各重みに対する導関数として表される。一旦導関数が得られると、この導関数の関数に従ってニューラルネットワークの重みが更新される。
At S557, the learning process adjuster, such as the function generator or a subsection thereof, adjusts the learning process using the labels and pose designations defined by the simulation unit as goals. As the iterations of the operational flow for generating the pose decision function proceed, the learning process adjuster adjusts the parameters of the learning process, such as the pose
S559において、関数生成部は、すべてのポーズ表現が関数生成部によって処理されたかどうかを決定する。未処理のままのポーズ表現がある場合、操作フローはS554に戻り、そこで、処理のために別のポーズ表現が選択される。未処理のままのポーズ表現がない場合、操作フローは終了する。図5の操作フローが反復して実行されるにつれ、操作S554、S556、およびS557の反復は全体としてポーズ決定関数を生成する操作となる。図5の操作フローの終わりには、学習プロセスは、ポーズ決定関数となるのに十分な訓練を受けている。 At S559, the function generator determines whether all pose expressions have been processed by the function generator. If there are pose representations left unprocessed, operational flow returns to S554 where another pose representation is selected for processing. If no pose representations remain unprocessed, the operational flow ends. As the operational flow of FIG. 5 is performed iteratively, the iterations of operations S554, S556, and S557 collectively result in operations that generate a pose determination function. At the end of the operational flow of FIG. 5, the learning process has been trained sufficiently to be the pose decision function.
この実施形態では訓練はすべてのポーズ表現が処理されたときに終了するものの、他の実施形態は、例えばエポックの数によって、または誤差の量に応じてなど、訓練が終わるときを決定するための異なる基準を含み得る。また、この実施形態では、学習プロセスのパラメータは各ポーズ表現の適用後に調整されるものの、他の実施形態では、例えばエポックごとに1回、または誤差の量に応じてなど、異なる間隔でパラメータを調整してもよい。最後に、この実施形態では、学習プロセスの出力がポーズ決定関数となり、これは学習関数の出力がポーズ指定であることを意味するものの、他の実施形態では、学習プロセス自体はポーズ指定を出力しないが、ポーズ指定をもたらすカメラのパラメータと組み合わされたいくつかの出力を行う場合がある。これらの実施形態では、目標の学習プロセス出力を適切に規定するために、訓練データはカメラのそのようなパラメータをポーズ指定から取り除くことによって生成され得る。これらの実施形態では、ポーズ決定関数は、訓練済みの学習プロセスと、出力をカメラのパラメータと組み合わせるための関数との両方を含む。 Although in this embodiment training terminates when all pose representations have been processed, other embodiments may use a method to determine when training terminates, such as by the number of epochs or according to the amount of error. It may contain different criteria. Also, while in this embodiment the parameters of the learning process are adjusted after each pose representation is applied, other embodiments adjust the parameters at different intervals, e.g., once per epoch, or depending on the amount of error. may be adjusted. Finally, in this embodiment, the output of the learning process is the pose determination function, which means that the output of the learning function is the pose specification, whereas in other embodiments the learning process itself does not output the pose specification. may provide some output combined with the camera parameters that provide the pose specification. In these embodiments, the training data may be generated by removing such parameters from the pose specification of the camera in order to adequately define the target learning process output. In these embodiments, the pose determination function includes both a trained learning process and a function for combining the output with camera parameters.
図6は、本発明の一実施形態による、図3のS360などの、ポーズ指定を決定するための操作フローを示す。この操作フロー内の操作は、ポーズ決定部208または対応して名付けられたその小区分などのポーズ決定部、およびポーズ補正部209または対応して名付けられたその小区分などのポーズ補正部によって実行され得る。
FIG. 6 illustrates an operational flow for determining pose designations, such as S360 of FIG. 3, according to one embodiment of the invention. The operations in this operational flow are performed by a pose determiner such as
S662において、ポーズ決定部208またはその小区分などの画像取込み部は、物体の画像を取り込む。例えば、画像取込み部は、物理的環境における物体の画像を取り込み得る。画像取込み部は、カメラ225などのカメラ、または画像を取り込むための他のフォトセンサと通信し得る。ポーズ決定関数は、色情報が出力されるポーズ指定に影響を及ぼさないように効果的に訓練され得るものの、色付きで取り込まれた画像は、より多くの情報を提供することができ、その結果、例えばグレースケールで取り込まれた画像よりも縁においてそれらを表す情報のずれがより大きく、それにより、ポーズ決定関数が画像中の物体を画定する縁より容易に検出することが可能となる。
At S662, an image capture component, such as
S664において、ポーズ決定部208または対応して名付けられたその小区分などのポーズ決定関数適用部は、ポーズ決定関数を画像に適用する。ポーズ決定関数を画像に適用することは、ポーズ決定関数が出力を生成するように、ポーズ決定関数への入力として画像を使用することを含み得る。ポーズ決定関数がニューラルネットワークを含む実施形態では、ニューラルネットワークは、画像中のコンピュータモデルのインスタンスごとに6Dポーズ指定を出力し得る。
At S664, a pose determination function applicator, such as
S666において、ポーズ補正部209または対応して名付けられたその小区分などの画像作成部は、コンピュータモデルの画像を作成する。例えば、画像作成部は、物体のポーズ指定に従ったコンピュータモデルの画像を作成し得る。いくつかの実施形態では、画像は、無地の背景で、ポーズ指定に従ったコンピュータモデルのみからなる。
At S666, an image creator, such as
S667において、ポーズ補正部209または対応して名付けられたその小区分などの画像比較部は、作成された画像を取り込まれた画像と比較する。例えば、画像比較部は、物体のポーズ指定に従ったコンピュータモデルの画像を、物理的環境における物体の画像と比較し得る。いくつかの実施形態では、比較を容易にするために、作成された画像を切り出すことによって生成され得るシルエットは、シミュレーションから直接算出された作成された画像のシルエットと比較される。この比較は、誤差が十分に最小化されるまで反復して実行され得る。
At S667, an image comparator, such as the
S669において、ポーズ補正部209または対応して名付けられたその小区分などのポーズ調整部は、ポーズ決定関数から出力されるポーズ指定を調整する。例えば、ポーズ調整部は、取り込まれた画像と作成された画像との間の差異を低減させるためにポーズ指定を調整し得る。
At S669, a pose adjuster, such as
本明細書の実施形態の多くでは、ポーズ検出デバイスは、訓練データを生成し、学習プロセスを訓練してポーズ決定関数を生成し、次いで、単にコンピュータモデルを入力することによって自動的に訓練済みのポーズ決定関数を使用することを可能にし得る。シミュレータを利用して訓練データを生成することにより、本明細書に記載の実施形態は、ラベルとしてシミュレータによって規定されたポーズ指定の取り込みを含む、迅速な画像の取り込みが可能となり得る。シミュレータによって規定されたポーズ指定を使用することにより、ラベルが非常に正確になることも可能となる。それらの現実的な精度で知られている既存のシミュレータ、例えばUNREAL(登録商標)エンジンは、精度の確信度を高めるだけでなく、画像処理および環境面のランダム化の能力も備わっていてもよい。 In many of the embodiments herein, the pose detection device generates training data, trains a learning process to generate a pose determination function, and then automatically trains a pre-trained function simply by inputting a computer model. It may be possible to use a pose determination function. By utilizing a simulator to generate training data, embodiments described herein may enable rapid image capture, including capture of pose specifications defined by the simulator as labels. Using pose specifications defined by the simulator also allows the labels to be very accurate. Existing simulators known for their realistic accuracy, such as the UNREAL® engine, not only increase confidence in accuracy, but may also be equipped with image processing and environmental randomization capabilities. .
本発明の様々な実施形態は、ブロックが(1)操作が実行されるプロセスのステップ、または(2)操作を実行する役割を果たす装置の部を表し得るフローチャートおよびブロック図を参照して、説明することができる。特定のステップおよび部は、専用回路、コンピュータ可読媒体上に格納されたコンピュータ可読命令が供給されているプログラマブル回路、および/またはコンピュータ可読媒体上に格納されたコンピュータ可読命令が供給されているプロセッサによって実装され得る。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでもよく、集積回路(IC)および/または個別の回路を含み得る。プログラマブル回路は、論理AND、OR、XOR、NAND、NOR、および他の論理演算、フリップ-フロップ、レジスタ、メモリ素子など、例えばフィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理アレイ(PLA)などを含む再構成可能なハードウェア回路を含み得る。プロセッサは、中央処理装置(CPU)、グラフィック処理装置(GPU)、モバイル処理装置(MPU)などを含み得る。 Various embodiments of the present invention are described with reference to flowcharts and block diagrams, where blocks may represent (1) steps in a process in which operations are performed or (2) portions of an apparatus responsible for performing the operations. can do. Certain steps and portions may be performed by dedicated circuitry, programmable circuitry provided with computer readable instructions stored on a computer readable medium, and/or processor provided with computer readable instructions stored on a computer readable medium. can be implemented. Dedicated circuitry may include digital and/or analog hardware circuitry and may include integrated circuits (ICs) and/or discrete circuits. Programmable circuits include logic AND, OR, XOR, NAND, NOR, and other logic operations, flip-flops, registers, memory elements, etc., such as Field Programmable Gate Arrays (FPGAs), Programmable Logic Arrays (PLAs), and the like. It may include configurable hardware circuitry. A processor may include a central processing unit (CPU), a graphics processing unit (GPU), a mobile processing unit (MPU), and the like.
コンピュータ可読媒体は、好適なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体などが含まれ得る。コンピュータ可読媒体のより具体的な例としては、フロッピーディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、スタティックランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、BLU-RAY(登録商標)ディスク、メモリスティック、集積回路カードなどが含まれ得る。 Computer-readable media may include any tangible device capable of storing instructions to be executed by a suitable device, such that computer-readable media having instructions stored thereon may be designated in flowcharts or block diagrams. It will comprise an article of manufacture containing instructions that can be executed to create means for performing the operations described above. Examples of computer-readable media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, and the like. More specific examples of computer readable media include floppy disks, diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), electrically erasable Programmable Read Only Memory (EEPROM) Static Random Access Memory (SRAM) Compact Disc Read Only Memory (CD-ROM) Digital Versatile Disc (DVD) BLU-RAY disc Memory Stick Integrated Circuit Card etc. can be included.
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはオブジェクト指向プログラミング言語、例えばSmalltalk(登録商標)、JAVA(登録商標)、C++など、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。 The computer readable instructions may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or an object oriented programming language such as Smalltalk®, JAVA®. ), C++, etc., and any combination of one or more programming languages, including conventional procedural programming languages such as the "C" programming language or similar programming languages, either source or object code may contain
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、もしくは他のプログラマブルなデータ処理装置のプロセッサ、またはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、例えばインターネットなどのワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理装置、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラなどが含まれる。 The computer readable instructions may be transferred to a processor or programmable circuit of a general purpose computer, special purpose computer, or other programmable data processing apparatus, either locally or over a local area network (LAN), e.g., a wide area network (WAN) such as the Internet. and may be executed to create means for performing the operations specified in the flowchart or block diagrams. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, and the like.
本発明の実施形態の多くは、特に、人工知能、学習プロセス、およびニューラルネットワークを含む。前述の実施形態のいくつかは、特定の種類のニューラルネットワークを説明している。しかしながら、学習プロセスは通常、重みなどの値を乱数で設定してから開始する。そのような未訓練の学習プロセスは、それらがうまく関数を実行すると合理的に予想することができるよう事前に訓練されなければならない。本明細書に記載のプロセスの多くは、ポーズ検出のための学習プロセスを訓練する目的のためのものである。一旦訓練されると、学習プロセスをポーズ検出に使用することができ、さらなる訓練を必要としない場合がある。このように、訓練済みのポーズ決定関数は、未訓練の学習プロセスを訓練するプロセスの成果である。 Many of the embodiments of the present invention involve artificial intelligence, learning processes, and neural networks, among others. Some of the above embodiments describe specific types of neural networks. However, the learning process usually starts by setting values such as weights with random numbers. Such untrained learning processes must be pretrained so that they can reasonably be expected to perform the function well. Many of the processes described herein are for the purpose of training the learning process for pose detection. Once trained, the learning process can be used for pose detection and may not require further training. Thus, the trained pose decision function is the product of a process of training an untrained learning process.
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または補正を加えることが可能であることが当業者に明らかである。そのような変更または補正を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。 Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It is obvious to those skilled in the art that various modifications or amendments can be made to the above embodiments. It is clear from the description of the scope of claims that forms with such modifications or amendments can also be included in the technical scope of the present invention.
特許請求の範囲、実施形態、または図面に示す装置、システム、プログラム、および方法によって実行される各プロセスの操作、手順、ステップ、および段階は、順序が「に先立って」または「の前」などによって示されていない限り、また前のプロセスからの出力が後のプロセスで使用されない限りは、任意の順序で実行することができる。特許請求の範囲、明細書、または図面中の動作フローに関して、便宜上「まず、」または「次に、」などを用いて説明したとしても、この順序で実行することが必須であることを意味するものではない。 The operations, procedures, steps, and phases of each process performed by the apparatus, systems, programs, and methods depicted in the claims, embodiments, or drawings may be "prior to," "before," etc. in order. Unless indicated by , and unless the output from the earlier process is used by the later process, they can be executed in any order. Regarding the operation flow in the claims, specification, or drawings, even if it is described using "first" or "next" for convenience, it means that it is essential to execute in this order not a thing
Claims (25)
物体のコンピュータモデルを取得する手順と、
現実的環境シミュレータで前記コンピュータモデルをシミュレーションする手順と、
複数のポーズ表現を含む訓練データを取り込む手順であって、各ポーズ表現が、複数のポーズのうちの1つにある前記コンピュータモデルの画像を含み、前記複数のポーズのうちの1つは前記画像に示される前記コンピュータモデルのポーズ指定を含むラベルと対になっており、前記コンピュータモデルの前記画像および前記ポーズ指定は前記現実的環境シミュレータによって規定される、取り込む手順と、
前記複数のポーズ表現に学習プロセスを適用して、前記物体の画像をポーズ指定に関連付けるためのポーズ決定関数を生成する手順と、
物理的環境における前記物体の画像を取り込む手順と、
前記ポーズ決定関数を前記物体の前記画像に適用することによって前記物体のポーズ指定を決定する手順と、
前記物体の前記ポーズ指定を補正する手順と、
を含む操作を実行させ、
前記コンピュータモデルの前記画像が深度情報を含み、
前記物体の前記画像を前記取り込む手順が、深度情報を取り込む手順をさらに含み、
前記補正する手順が、直接画像位置合わせ(Direct Image Alignment,DIA)およびコヒーレント点ドリフト(Coherent Point Drift,CPD)のうちの1つを適用して、前記物体の前記ポーズ指定に従った前記コンピュータモデルの前記画像と前記物理的環境における前記物体の前記画像との間の差異を低減させる手順をさらに含む、
コンピュータプログラム。 A computer program executable by a computer, comprising:
obtaining a computer model of an object;
simulating the computer model in a realistic environment simulator;
A procedure for capturing training data comprising a plurality of pose representations, each pose representation comprising an image of said computer model in one of a plurality of poses, one of said plurality of poses being said image. a capturing step paired with a label containing a pose specification of the computer model shown in , wherein the image and the pose specification of the computer model are defined by the realistic environment simulator;
applying a learning process to the plurality of pose representations to generate a pose determination function for associating an image of the object with a pose specification;
capturing an image of said object in a physical environment;
determining a pose designation of the object by applying the pose determination function to the image of the object;
correcting the pose specification of the object;
to perform an operation including
the image of the computer model includes depth information;
said capturing said image of said object further comprising capturing depth information;
The correcting procedure applies one of Direct Image Alignment (DIA) and Coherent Point Drift (CPD) to transform the computer model according to the pose specification of the object. reducing differences between the image of and the image of the object in the physical environment;
computer program.
前記物体の前記ポーズ指定に従った前記コンピュータモデルの前記画像を、前記物理的環境における前記物体の前記画像と比較する手順と、
前記ポーズ指定を調整して、前記取り込まれた画像と前記作成された画像との間の差異を低減させる手順と、
をさらに含む、請求項4に記載のコンピュータプログラム。 The procedure for correcting
comparing said image of said computer model according to said pose specification of said object with said image of said object in said physical environment;
adjusting the pose specification to reduce differences between the captured image and the generated image;
5. The computer program of claim 4 , further comprising:
各画像は、前記コンピュータモデルの前記1より多くのインスタンスを含み、前記コンピュータモデルの各インスタンスは固有のポーズである、
請求項1から6のいずれか一項に記載のコンピュータプログラム。 the step of simulating includes simulating more than one instance of the computer model;
each image includes the more than one instance of the computer model, each instance of the computer model being a unique pose;
Computer program according to any one of claims 1 to 6.
前記シミュレーションする手順は、前記コンピュータモデルがランダムなポーズを呈するように、前記現実的環境シミュレータ内で、プラットフォームに対する前記コンピュータモデルの運動を誘発する手順を含む、
請求項1から7のいずれか一項に記載のコンピュータプログラム。 the realistic environment simulator includes a physics engine;
the simulating step includes inducing motion of the computer model relative to a platform within the realistic environment simulator such that the computer model assumes a random pose;
Computer program according to any one of claims 1 to 7 .
物体のコンピュータモデルを取得する手順と、 obtaining a computer model of an object;
現実的環境シミュレータで前記コンピュータモデルをシミュレーションする手順と、 simulating the computer model in a realistic environment simulator;
複数のポーズ表現を含む訓練データを取り込む手順であって、各ポーズ表現が、複数のポーズのうちの1つにある前記コンピュータモデルの画像を含み、前記複数のポーズのうちの1つは前記画像に示される前記コンピュータモデルのポーズ指定を含むラベルと対になっており、前記コンピュータモデルの前記画像および前記ポーズ指定は前記現実的環境シミュレータによって規定される、取り込む手順と、 A procedure for capturing training data comprising a plurality of pose representations, each pose representation comprising an image of said computer model in one of a plurality of poses, one of said plurality of poses being said image. a capturing step paired with a label containing a pose specification of the computer model shown in , wherein the image and the pose specification of the computer model are defined by the realistic environment simulator;
前記複数のポーズ表現に学習プロセスを適用して、前記物体の画像をポーズ指定に関連付けるためのポーズ決定関数を生成する手順と、 applying a learning process to the plurality of pose representations to generate a pose determination function for associating an image of the object with a pose specification;
を含む操作を実行させ、 to perform an operation including
前記現実的環境シミュレータが物理エンジンを含み、 the realistic environment simulator includes a physics engine;
前記シミュレーションする手順は、前記コンピュータモデルがランダムなポーズを呈するように、前記現実的環境シミュレータ内で、プラットフォームに対する前記コンピュータモデルの運動を誘発する手順を含み、 the simulating step includes inducing motion of the computer model relative to a platform within the realistic environment simulator such that the computer model assumes a random pose;
前記シミュレーションする手順が、前記現実的環境シミュレータ内で、前記コンピュータモデルおよび前記プラットフォームに1つまたは複数の表面色をポーズごとにランダムに割り当てる手順を含む、 the step of simulating includes randomly assigning one or more surface colors to the computer model and the platform for each pose within the realistic environment simulator;
コンピュータプログラム。 computer program.
物体のコンピュータモデルを取得する手順と、 obtaining a computer model of an object;
現実的環境シミュレータで前記コンピュータモデルをシミュレーションする手順と、 simulating the computer model in a realistic environment simulator;
複数のポーズ表現を含む訓練データを取り込む手順であって、各ポーズ表現が、複数のポーズのうちの1つにある前記コンピュータモデルの画像を含み、前記複数のポーズのうちの1つは前記画像に示される前記コンピュータモデルのポーズ指定を含むラベルと対になっており、前記コンピュータモデルの前記画像および前記ポーズ指定は前記現実的環境シミュレータによって規定される、取り込む手順と、 A procedure for capturing training data comprising a plurality of pose representations, each pose representation comprising an image of said computer model in one of a plurality of poses, one of said plurality of poses being said image. a capturing step paired with a label containing a pose specification of the computer model shown in , wherein the image and the pose specification of the computer model are defined by the realistic environment simulator;
前記複数のポーズ表現に学習プロセスを適用して、前記物体の画像をポーズ指定に関連付けるためのポーズ決定関数を生成する手順と、 applying a learning process to the plurality of pose representations to generate a pose determination function for associating an image of the object with a pose specification;
を含む操作を実行させ、 to perform an operation including
前記現実的環境シミュレータが物理エンジンを含み、 the realistic environment simulator includes a physics engine;
前記シミュレーションする手順は、前記コンピュータモデルがランダムなポーズを呈するように、前記現実的環境シミュレータ内で、プラットフォームに対する前記コンピュータモデルの運動を誘発する手順を含み、 the simulating step includes inducing motion of the computer model relative to a platform within the realistic environment simulator such that the computer model assumes a random pose;
前記シミュレーションする手順が、前記現実的環境シミュレータ内で、前記コンピュータモデルおよび前記プラットフォームに1つまたは複数の表面テクスチャをポーズごとにランダムに割り当てる手順を含む、 the step of simulating includes randomly assigning one or more surface textures to the computer model and the platform for each pose within the realistic environment simulator;
コンピュータプログラム。 computer program.
物体のコンピュータモデルを取得する手順と、 obtaining a computer model of an object;
現実的環境シミュレータで前記コンピュータモデルをシミュレーションする手順と、 simulating the computer model in a realistic environment simulator;
複数のポーズ表現を含む訓練データを取り込む手順であって、各ポーズ表現が、複数のポーズのうちの1つにある前記コンピュータモデルの画像を含み、前記複数のポーズのうちの1つは前記画像に示される前記コンピュータモデルのポーズ指定を含むラベルと対になっており、前記コンピュータモデルの前記画像および前記ポーズ指定は前記現実的環境シミュレータによって規定される、取り込む手順と、 A procedure for capturing training data comprising a plurality of pose representations, each pose representation comprising an image of said computer model in one of a plurality of poses, one of said plurality of poses being said image. a capturing step paired with a label containing a pose specification of the computer model shown in , wherein the image and the pose specification of the computer model are defined by the realistic environment simulator;
前記複数のポーズ表現に学習プロセスを適用して、前記物体の画像をポーズ指定に関連付けるためのポーズ決定関数を生成する手順と、 applying a learning process to the plurality of pose representations to generate a pose determination function for associating an image of the object with a pose specification;
を含む操作を実行させ、 to perform an operation including
前記シミュレーションする手順が、前記現実的環境シミュレータ内で、環境における照明効果をポーズごとにランダムに割り当てる手順を含む、 the step of simulating includes, within the realistic environment simulator, randomly assigning lighting effects in the environment for each pose;
コンピュータプログラム。 computer program.
現実的環境シミュレータで前記コンピュータモデルをシミュレーションする段階と、
複数のポーズ表現を含む訓練データを取り込む段階であって、各ポーズ表現が、複数のポーズのうちの1つにある前記コンピュータモデルの画像を含み、前記複数のポーズのうちの1つは前記画像に示される前記コンピュータモデルのポーズ指定を含むラベルと対になっており、前記コンピュータモデルの前記画像および前記ポーズ指定は前記現実的環境シミュレータによって規定される、取り込む段階と、
前記複数のポーズ表現に学習プロセスを適用して、前記物体の画像をポーズ指定に関連付けるためのポーズ決定関数を生成する段階と、
物理的環境における前記物体の画像を取り込む段階と、
前記ポーズ決定関数を前記物体の前記画像に適用することによって前記物体のポーズ指定を決定する段階と、
前記物体の前記ポーズ指定を補正する段階と、
を含み、
前記コンピュータモデルの前記画像が深度情報を含み、
前記物体の前記画像を前記取り込む段階が、深度情報を取り込む段階をさらに含み、
前記補正する段階が、直接画像位置合わせ(Direct Image Alignment,DIA)およびコヒーレント点ドリフト(Coherent Point Drift,CPD)のうちの1つを適用して、前記物体の前記ポーズ指定に従った前記コンピュータモデルの前記画像と前記物理的環境における前記物体の前記画像との間の差異を低減させる段階をさらに含む、
コンピュータ実装方法。 obtaining a computer model of the object;
simulating the computer model in a realistic environment simulator;
capturing training data comprising a plurality of pose representations, each pose representation comprising an image of said computer model in one of a plurality of poses, one of said plurality of poses being said image; wherein said image and said pose designation of said computer model are defined by said realistic environment simulator;
applying a learning process to the plurality of pose representations to generate a pose determination function for associating an image of the object with a pose specification;
capturing an image of the object in a physical environment;
determining a pose designation of the object by applying the pose determination function to the image of the object;
correcting the pose designation of the object;
including
the image of the computer model includes depth information;
said capturing said image of said object further comprising capturing depth information;
the step of correcting applies one of Direct Image Alignment (DIA) and Coherent Point Drift (CPD) to generate the computer model according to the pose specification of the object; reducing differences between the image of and the image of the object in the physical environment;
Computer-implemented method.
現実的環境シミュレータで前記コンピュータモデルをシミュレーションする段階と、 simulating the computer model in a realistic environment simulator;
複数のポーズ表現を含む訓練データを取り込む段階であって、各ポーズ表現が、複数のポーズのうちの1つにある前記コンピュータモデルの画像を含み、前記複数のポーズのうちの1つは前記画像に示される前記コンピュータモデルのポーズ指定を含むラベルと対になっており、前記コンピュータモデルの前記画像および前記ポーズ指定は前記現実的環境シミュレータによって規定される、取り込む段階と、 capturing training data comprising a plurality of pose representations, each pose representation comprising an image of said computer model in one of a plurality of poses, one of said plurality of poses being said image; wherein said image and said pose designation of said computer model are defined by said realistic environment simulator;
前記複数のポーズ表現に学習プロセスを適用して、前記物体の画像をポーズ指定に関連付けるためのポーズ決定関数を生成する段階と、 applying a learning process to the plurality of pose representations to generate a pose determination function for associating an image of the object with a pose specification;
を含み、including
前記現実的環境シミュレータが物理エンジンを含み、 the realistic environment simulator includes a physics engine;
前記シミュレーションする段階は、前記コンピュータモデルがランダムなポーズを呈するように、前記現実的環境シミュレータ内で、プラットフォームに対する前記コンピュータモデルの運動を誘発する段階を含み、 the simulating step includes inducing motion of the computer model relative to a platform within the realistic environment simulator such that the computer model assumes a random pose;
前記シミュレーションする段階が、前記現実的環境シミュレータ内で、前記コンピュータモデルおよび前記プラットフォームに1つまたは複数の表面色をポーズごとにランダムに割り当てる段階を含む、 said simulating includes randomly assigning one or more surface colors to said computer model and said platform for each pose within said realistic environment simulator;
コンピュータ実装方法。 Computer-implemented method.
現実的環境シミュレータで前記コンピュータモデルをシミュレーションする段階と、 simulating the computer model in a realistic environment simulator;
複数のポーズ表現を含む訓練データを取り込む段階であって、各ポーズ表現が、複数のポーズのうちの1つにある前記コンピュータモデルの画像を含み、前記複数のポーズのうちの1つは前記画像に示される前記コンピュータモデルのポーズ指定を含むラベルと対になっており、前記コンピュータモデルの前記画像および前記ポーズ指定は前記現実的環境シミュレータによって規定される、取り込む段階と、 capturing training data comprising a plurality of pose representations, each pose representation comprising an image of said computer model in one of a plurality of poses, one of said plurality of poses being said image; wherein said image and said pose designation of said computer model are defined by said realistic environment simulator;
前記複数のポーズ表現に学習プロセスを適用して、前記物体の画像をポーズ指定に関連付けるためのポーズ決定関数を生成する段階と、 applying a learning process to the plurality of pose representations to generate a pose determination function for associating an image of the object with a pose specification;
を含み、including
前記現実的環境シミュレータが物理エンジンを含み、 the realistic environment simulator includes a physics engine;
前記シミュレーションする段階は、前記コンピュータモデルがランダムなポーズを呈するように、前記現実的環境シミュレータ内で、プラットフォームに対する前記コンピュータモデルの運動を誘発する段階を含み、 the simulating step includes inducing motion of the computer model relative to a platform within the realistic environment simulator such that the computer model assumes a random pose;
前記シミュレーションする段階が、前記現実的環境シミュレータ内で、前記コンピュータモデルおよび前記プラットフォームに1つまたは複数の表面テクスチャをポーズごとにランダムに割り当てる段階を含む、 said simulating includes randomly assigning one or more surface textures to said computer model and said platform for each pose within said realistic environment simulator;
コンピュータ実装方法。 Computer-implemented method.
現実的環境シミュレータで前記コンピュータモデルをシミュレーションする段階と、 simulating the computer model in a realistic environment simulator;
複数のポーズ表現を含む訓練データを取り込む段階であって、各ポーズ表現が、複数のポーズのうちの1つにある前記コンピュータモデルの画像を含み、前記複数のポーズのうちの1つは前記画像に示される前記コンピュータモデルのポーズ指定を含むラベルと対になっており、前記コンピュータモデルの前記画像および前記ポーズ指定は前記現実的環境シミュレータによって規定される、取り込む段階と、 capturing training data comprising a plurality of pose representations, each pose representation comprising an image of said computer model in one of a plurality of poses, one of said plurality of poses being said image; wherein said image and said pose designation of said computer model are defined by said realistic environment simulator;
前記複数のポーズ表現に学習プロセスを適用して、前記物体の画像をポーズ指定に関連付けるためのポーズ決定関数を生成する段階と、 applying a learning process to the plurality of pose representations to generate a pose determination function for associating an image of the object with a pose specification;
を含み、including
前記シミュレーションする段階が、前記現実的環境シミュレータ内で、環境における照明効果をポーズごとにランダムに割り当てる段階を含む、 the simulating step includes randomly assigning lighting effects in the environment to poses within the realistic environment simulator;
コンピュータ実装方法。 Computer-implemented method.
現実的環境シミュレータで前記コンピュータモデルをシミュレーションするように構成されたシミュレーション部と、
複数のポーズ表現を含む訓練データ、及び物理的環境における前記物体の画像を取り込むように構成された取込み部であって、各ポーズ表現が、複数のポーズのうちの1つにある前記コンピュータモデルの画像を含み、前記複数のポーズのうちの1つは、前記画像に示される前記コンピュータモデルのポーズ指定を含むラベルと対になっており、前記コンピュータモデルの前記画像および前記ポーズ指定は前記現実的環境シミュレータによって規定される、取込み部と、
前記複数のポーズ表現に学習プロセスを適用して、前記物体の画像をポーズ指定に関連付けるためのポーズ決定関数を生成するように構成された学習プロセス適用部と、
前記ポーズ決定関数を前記物体の前記画像に適用することによって前記物体のポーズ指定を決定するポーズ決定部と、
前記物体の前記ポーズ指定を補正するポーズ補正部と、
を備え、
前記コンピュータモデルの前記画像が深度情報を含み、
前記取込み部が、深度情報をさらに取り込み、
前記ポーズ補正部が、直接画像位置合わせ(Direct Image Alignment,DIA)およびコヒーレント点ドリフト(Coherent Point Drift,CPD)のうちの1つを適用して、前記物体の前記ポーズ指定に従った前記コンピュータモデルの前記画像と前記物理的環境における前記物体の前記画像との間の差異を低減させる、
装置。 an acquisition unit configured to acquire a computer model of an object;
a simulation unit configured to simulate the computer model in a realistic environment simulator;
a capture unit configured to capture training data comprising a plurality of pose representations and an image of the object in a physical environment , each pose representation of the computer model in one of a plurality of poses; an image, one of the plurality of poses being paired with a label including a pose specification of the computer model shown in the image, the image and the pose specification of the computer model being the realistic an acquisition section defined by the environment simulator;
a learning process applying unit configured to apply a learning process to the plurality of pose representations to generate a pose determination function for associating an image of the object with a pose specification;
a pose determination unit that determines a pose designation of the object by applying the pose determination function to the image of the object;
a pose correction unit that corrects the pose designation of the object;
with
the image of the computer model includes depth information;
The capturing unit further captures depth information,
The pose corrector applies one of Direct Image Alignment (DIA) and Coherent Point Drift (CPD) to transform the computer model according to the pose specification of the object. reducing differences between the image of and the image of the object in the physical environment;
Device.
現実的環境シミュレータで前記コンピュータモデルをシミュレーションするように構成されたシミュレーション部と、 a simulation unit configured to simulate the computer model in a realistic environment simulator;
複数のポーズ表現を含む訓練データを取り込むように構成された取込み部であって、各ポーズ表現が、複数のポーズのうちの1つにある前記コンピュータモデルの画像を含み、前記複数のポーズのうちの1つは、前記画像に示される前記コンピュータモデルのポーズ指定を含むラベルと対になっており、前記コンピュータモデルの前記画像および前記ポーズ指定は前記現実的環境シミュレータによって規定される、取込み部と、 an importer configured to import training data comprising a plurality of pose representations, each pose representation comprising an image of the computer model in one of a plurality of poses; is paired with a label containing a pose designation of said computer model shown in said image, said image and said pose designation of said computer model being defined by said realistic environment simulator; ,
前記複数のポーズ表現に学習プロセスを適用して、前記物体の画像をポーズ指定に関連付けるためのポーズ決定関数を生成するように構成された学習プロセス適用部と、 a learning process applying unit configured to apply a learning process to the plurality of pose representations to generate a pose determination function for associating an image of the object with a pose specification;
を備え、 with
前記現実的環境シミュレータが物理エンジンを含み、 the realistic environment simulator includes a physics engine;
前記シミュレーション部が、前記コンピュータモデルがランダムなポーズを呈するように、前記現実的環境シミュレータ内で、プラットフォームに対する前記コンピュータモデルの運動を誘発し、 the simulation unit induces motion of the computer model relative to a platform within the realistic environment simulator such that the computer model assumes a random pose;
前記シミュレーション部が、前記現実的環境シミュレータ内で、前記コンピュータモデルおよび前記プラットフォームに1つまたは複数の表面色をポーズごとにランダムに割り当てる、 wherein the simulation unit randomly assigns one or more surface colors to the computer model and the platform for each pose within the realistic environment simulator;
装置。 Device.
現実的環境シミュレータで前記コンピュータモデルをシミュレーションするように構成されたシミュレーション部と、 a simulation unit configured to simulate the computer model in a realistic environment simulator;
複数のポーズ表現を含む訓練データを取り込むように構成された取込み部であって、各ポーズ表現が、複数のポーズのうちの1つにある前記コンピュータモデルの画像を含み、前記複数のポーズのうちの1つは、前記画像に示される前記コンピュータモデルのポーズ指定を含むラベルと対になっており、前記コンピュータモデルの前記画像および前記ポーズ指定は前記現実的環境シミュレータによって規定される、取込み部と、 an importer configured to import training data comprising a plurality of pose representations, each pose representation comprising an image of the computer model in one of a plurality of poses; is paired with a label containing a pose designation of said computer model shown in said image, said image and said pose designation of said computer model being defined by said realistic environment simulator; ,
前記複数のポーズ表現に学習プロセスを適用して、前記物体の画像をポーズ指定に関連付けるためのポーズ決定関数を生成するように構成された学習プロセス適用部と、 a learning process applying unit configured to apply a learning process to the plurality of pose representations to generate a pose determination function for associating an image of the object with a pose specification;
を備え、 with
前記現実的環境シミュレータが物理エンジンを含み、 the realistic environment simulator includes a physics engine;
前記シミュレーション部が、前記コンピュータモデルがランダムなポーズを呈するように、前記現実的環境シミュレータ内で、プラットフォームに対する前記コンピュータモデルの運動を誘発し、 the simulation unit induces motion of the computer model relative to a platform within the realistic environment simulator such that the computer model assumes a random pose;
前記シミュレーション部が、前記現実的環境シミュレータ内で、前記コンピュータモデルおよび前記プラットフォームに1つまたは複数の表面テクスチャをポーズごとにランダムに割り当てる、 the simulation unit randomly assigning one or more surface textures to the computer model and the platform for each pose within the realistic environment simulator;
装置。 Device.
現実的環境シミュレータで前記コンピュータモデルをシミュレーションするように構成されたシミュレーション部と、 a simulation unit configured to simulate the computer model in a realistic environment simulator;
複数のポーズ表現を含む訓練データを取り込むように構成された取込み部であって、各ポーズ表現が、複数のポーズのうちの1つにある前記コンピュータモデルの画像を含み、前記複数のポーズのうちの1つは、前記画像に示される前記コンピュータモデルのポーズ指定を含むラベルと対になっており、前記コンピュータモデルの前記画像および前記ポーズ指定は前記現実的環境シミュレータによって規定される、取込み部と、 an importer configured to import training data comprising a plurality of pose representations, each pose representation comprising an image of the computer model in one of a plurality of poses; is paired with a label containing a pose designation of said computer model shown in said image, said image and said pose designation of said computer model being defined by said realistic environment simulator; ,
前記複数のポーズ表現に学習プロセスを適用して、前記物体の画像をポーズ指定に関連付けるためのポーズ決定関数を生成するように構成された学習プロセス適用部と、 a learning process applying unit configured to apply a learning process to the plurality of pose representations to generate a pose determination function for associating an image of the object with a pose specification;
を備え、 with
前記シミュレーション部が、前記現実的環境シミュレータ内で、環境における照明効果をポーズごとにランダムに割り当てる、 wherein the simulation unit randomly assigns lighting effects in the environment to poses within the realistic environment simulator;
装置。 Device.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019150869A JP7129065B2 (en) | 2019-08-21 | 2019-08-21 | Object pose detection from image data |
US16/999,087 US20210056247A1 (en) | 2019-08-21 | 2020-08-21 | Pose detection of objects from image data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019150869A JP7129065B2 (en) | 2019-08-21 | 2019-08-21 | Object pose detection from image data |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021056542A JP2021056542A (en) | 2021-04-08 |
JP7129065B2 true JP7129065B2 (en) | 2022-09-01 |
Family
ID=74645728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019150869A Active JP7129065B2 (en) | 2019-08-21 | 2019-08-21 | Object pose detection from image data |
Country Status (2)
Country | Link |
---|---|
US (1) | US20210056247A1 (en) |
JP (1) | JP7129065B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115222871B (en) * | 2021-08-31 | 2023-04-18 | 达闼科技(北京)有限公司 | Model evaluation method, model evaluation device, storage medium and electronic equipment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002063567A (en) | 2000-08-23 | 2002-02-28 | Nec Corp | Device and method for estimating body position and attitude, method for feature point extraction method using the same, and image collating method |
JP2013010155A (en) | 2011-06-28 | 2013-01-17 | Canon Inc | Target object gripping apparatus, method of controlling the same, and program |
US20140079314A1 (en) | 2012-09-18 | 2014-03-20 | Yury Yakubovich | Method and Apparatus for Improved Training of Object Detecting System |
JP2015072581A (en) | 2013-10-02 | 2015-04-16 | キヤノン株式会社 | Information processing method, information processing apparatus, and computer program |
JP2018144158A (en) | 2017-03-03 | 2018-09-20 | 株式会社キーエンス | Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9715761B2 (en) * | 2013-07-08 | 2017-07-25 | Vangogh Imaging, Inc. | Real-time 3D computer vision processing engine for object recognition, reconstruction, and analysis |
US10055667B2 (en) * | 2016-08-03 | 2018-08-21 | X Development Llc | Generating a model for an object encountered by a robot |
-
2019
- 2019-08-21 JP JP2019150869A patent/JP7129065B2/en active Active
-
2020
- 2020-08-21 US US16/999,087 patent/US20210056247A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002063567A (en) | 2000-08-23 | 2002-02-28 | Nec Corp | Device and method for estimating body position and attitude, method for feature point extraction method using the same, and image collating method |
JP2013010155A (en) | 2011-06-28 | 2013-01-17 | Canon Inc | Target object gripping apparatus, method of controlling the same, and program |
US20140079314A1 (en) | 2012-09-18 | 2014-03-20 | Yury Yakubovich | Method and Apparatus for Improved Training of Object Detecting System |
JP2015072581A (en) | 2013-10-02 | 2015-04-16 | キヤノン株式会社 | Information processing method, information processing apparatus, and computer program |
JP2018144158A (en) | 2017-03-03 | 2018-09-20 | 株式会社キーエンス | Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device |
Non-Patent Citations (1)
Title |
---|
Yu Xiang et al,PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes,arXiv,2018年05月26日,https://arxiv.org/pdf/1711.00199v3.pdf |
Also Published As
Publication number | Publication date |
---|---|
JP2021056542A (en) | 2021-04-08 |
US20210056247A1 (en) | 2021-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10867444B2 (en) | Synthetic data generation for training a machine learning model for dynamic object compositing in scenes | |
JP6771645B2 (en) | Domain separation neural network | |
EP3454302B1 (en) | Approximating mesh deformation for character rigs | |
US12053886B2 (en) | Device control using policy training based on task embeddings | |
US20190295305A1 (en) | Retargeting skeleton motion sequences through cycle consistency adversarial training of a motion synthesis neural network with a forward kinematics layer | |
US11741666B2 (en) | Generating synthetic images and/or training machine learning model(s) based on the synthetic images | |
US9536338B2 (en) | Animating objects using the human body | |
US20200057831A1 (en) | Real-time generation of synthetic data from multi-shot structured light sensors for three-dimensional object pose estimation | |
US11710040B2 (en) | Generating synthetic models or virtual objects for training a deep learning network | |
JP2018532216A (en) | Image regularization and retargeting system | |
KR20200102114A (en) | Method and appartus for learning-based generating 3d model | |
JP7490142B2 (en) | De-ambiguating attitudes | |
WO2018080533A1 (en) | Real-time generation of synthetic data from structured light sensors for 3d object pose estimation | |
Borrego et al. | A generic visual perception domain randomisation framework for gazebo | |
JP7129065B2 (en) | Object pose detection from image data | |
CN117769724A (en) | Synthetic dataset creation using deep-learned object detection and classification | |
CN115035224A (en) | Method and apparatus for image processing and reconstructed image generation | |
US11875441B2 (en) | Data-driven extraction and composition of secondary dynamics in facial performance capture | |
JP7406654B2 (en) | Methods for creating a virtual environment restore of a real location | |
US20240153188A1 (en) | Physics-based simulation of dynamic character motion using generative artificial intelligence | |
Naeem | Domain Randomization for Visual sim-to-real Object Pose Estimation | |
TW202121334A (en) | Training data generation method for human facial recognition and data generation apparatus | |
CN116324884A (en) | Apparatus and method for visual localization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220218 |
|
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: 20220712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220812 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7129065 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |