(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-05-12
(54)【発明の名称】画像処理システム及び方法
(51)【国際特許分類】
G06T 7/73 20170101AFI20230502BHJP
【FI】
G06T7/73
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022559688
(86)(22)【出願日】2021-03-29
(85)【翻訳文提出日】2022-09-29
(86)【国際出願番号】 GB2021050771
(87)【国際公開番号】W WO2021198666
(87)【国際公開日】2021-10-07
(32)【優先日】2020-03-31
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】519426058
【氏名又は名称】インペリアル カレッジ イノベイションズ リミテッド
【氏名又は名称原語表記】IMPERIAL COLLEGE INNOVATIONS LIMITED
【住所又は居所原語表記】Level 1 Faculty Building, C/O Imperial College, Exhibition Road London SW7 2AZ, United Kingdom
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】和田 健太郎
(72)【発明者】
【氏名】エドガー・アントニオ・スカー・エスカミーラ
(72)【発明者】
【氏名】スティーヴン・ロイド・ジェームズ
(72)【発明者】
【氏名】ダニエル・ジェームズ・レントン
(72)【発明者】
【氏名】アンドリュー・デイヴィソン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096AA09
5L096BA05
5L096CA04
5L096DA02
5L096FA67
5L096FA69
5L096GA51
5L096HA11
5L096JA11
5L096JA18
5L096KA04
5L096KA15
(57)【要約】
3次元シーン内の複数のオブジェクトのそれぞれの姿勢を判定するコンピュータ実装方法は、複数のオブジェクトのうちの所与のオブジェクトごとに、所与のオブジェクトの少なくとも一部が見える3次元シーンのビューを表す画像データ及び関連する深度情報を取得することと、画像データ及び関連する深度情報を処理して所与のオブジェクトの姿勢を推定することと、を含む。この方法はさらに、複数のオブジェクトの推定された姿勢を反復的に更新することを含み、更新することは、複数のオブジェクトのうちの所与のオブジェクトごとに、所与のオブジェクトの推定された姿勢に従って変換された所与のオブジェクトの所定のモデルから複数のポイントをサンプリングすることと、所与のオブジェクトを含むボクセルグリッドに対して、所与のオブジェクトの所定のモデルからサンプリングされたポイントの位置に応じて、複数のオブジェクトのうちの所与のオブジェクトごとの第1の占有データを判定することと、所与のオブジェクトを含むボクセルグリッドに対して、複数のオブジェクトの他のオブジェクトの所定のモデルからサンプリングされたポイントの位置に応じて、複数のオブジェクトのうちの所与のオブジェクトごとの第2の占有データを判定することと、複数のオブジェクトのそれぞれについての第1の占有データ及び第2の占有データに応じて、複数のオブジェクトの推定された姿勢を更新して占有ペナルティを低減することと、を含む。
【特許請求の範囲】
【請求項1】
3次元シーン内の複数のオブジェクトのそれぞれの姿勢を判定するコンピュータ実装方法であって、
前記複数のオブジェクトのうちの所与のオブジェクトごとに、
前記所与のオブジェクトの少なくとも一部が見える前記3次元シーンのビューを表す画像データ及び関連する深度情報を取得し、
前記画像データ及び前記関連する深度情報を処理して前記所与のオブジェクトの姿勢を推定することと、
前記複数のオブジェクトの前記推定された姿勢を反復的に更新することであって、
前記複数のオブジェクトのうちの所与のオブジェクトごとに、前記所与のオブジェクトの前記推定された姿勢に従って変換された前記所与のオブジェクトの所定のモデルから複数のポイントをサンプリングすることと、
前記所与のオブジェクトを含むボクセルグリッドに対して、前記所与のオブジェクトの前記所定のモデルからサンプリングされた前記ポイントの位置に応じて、前記複数のオブジェクトのうちの所与のオブジェクトごとの第1の占有データを判定することと、
前記所与のオブジェクトを含む前記ボクセルグリッドに対して、前記複数のオブジェクトの他のオブジェクトの前記所定のモデルからサンプリングされた前記ポイントの位置に応じて、前記複数のオブジェクトのうちの所与のオブジェクトごとの第2の占有データを判定することと、
前記複数のオブジェクトのそれぞれについての前記第1の占有データ及び前記第2の占有データに応じて、前記複数のオブジェクトの前記推定された姿勢を更新して占有ペナルティを低減することと、を含む前記更新することと、
を含む、前記コンピュータ実装方法。
【請求項2】
前記複数のオブジェクトの前記推定された姿勢を更新することが、
前記複数のオブジェクトの前記推定された姿勢に対する前記占有ペナルティの勾配を判定することと、
前記占有ペナルティの前記判定された勾配を使用して前記複数のオブジェクトの前記推定された姿勢を更新することと、
を含む、請求項1に記載の方法。
【請求項3】
前記複数のオブジェクトのうちの所与のオブジェクトごとに、
前記所与のオブジェクトの前記第1の占有データが、前記所与のオブジェクトを含む前記ボクセルグリッドのボクセルと前記所与のオブジェクトの前記所定のモデルからサンプリングされた前記ポイントとの間の最小距離に依存し、
前記所与のオブジェクトの前記第2の占有データが、前記所与のオブジェクトを含む前記ボクセルグリッドのボクセルと前記複数のオブジェクトのうちの他のオブジェクトの前記所定のモデルからサンプリングされた前記ポイントとの間の最小距離に依存する、請求項1または2に記載の方法。
【請求項4】
前記最小距離への依存が、所定の距離閾値で飽和する、請求項3に記載の方法。
【請求項5】
前記占有ペナルティが、前記複数のオブジェクトのうちの所定のオブジェクトごとに、前記所与のオブジェクトの前記所定のモデルからサンプリングされたポイントと、異なるオブジェクトの前記所定のモデルからサンプリングされたポイントが同時に前記所定のオブジェクトを含む前記ボクセルグリッドのボクセルに近づくと増加する衝突成分を含む、請求項3または4に記載の方法。
【請求項6】
前記画像データ及び前記関連する深度情報を処理して、前記複数のオブジェクトのうちの所与のオブジェクトごとに体積再構成を生成することを含む、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記生成された体積再構成を使用して、自由空間によって占有される前記所与のオブジェクトを含む前記ボクセルグリッドの部分、及び前記所与のオブジェクト以外のオブジェクトによって占有される前記所与のオブジェクトを含む前記ボクセルグリッドの部分を示す第3の占有データを生成することを含む、請求項6に記載の方法。
【請求項8】
前記所与のオブジェクトの前記所定のモデルからサンプリングされたポイントが、自由空間または前記所与のオブジェクト以外のオブジェクトによって占有される前記所与のオブジェクトを含む前記ボクセルグリッドのボクセルに近づくと、所与のオブジェクトの前記衝突成分が増加する、請求項6が請求項5に従属する場合の請求項7に記載の方法。
【請求項9】
前記所与のオブジェクトごとの姿勢を推定することが、前記生成された第3の占有データと、前記所与のオブジェクトの前記表面上の複数のポイントについてのポイントごとの特徴データとを使用して、前記所定のオブジェクトの前記推定された姿勢を判定することを含む、請求項7または8に記載の方法。
【請求項10】
前記占有ペナルティが、前記複数のオブジェクトのうちの所与のオブジェクトごとに、前記所与のオブジェクトの前記所定のモデルからサンプリングされたポイントが、前記所与のオブジェクトの前記体積再構成によって占有される前記所与のオブジェクトを含む前記ボクセルグリッドのボクセルに近づくと、減少する表面アライメント成分を含む、請求項6~9のいずれか1項に記載の方法。
【請求項11】
前記3次元シーンの前記ビューが前記3次元シーンの第1のビューであり、
前記所与のオブジェクトごとの前記判定された姿勢が、前記所与のオブジェクトの第1の姿勢であり、
前記方法が、
前記3次元シーンの前記第1のビューとは異なる前記3次元シーンの第2のビューを表す追加の画像データ及び追加の関連する深度情報を取得することと、
前記複数のオブジェクトのうちの所与のオブジェクトごとに、
前記追加の画像データ及び前記追加の関連する深度情報を処理して前記所与のオブジェクトの第2の姿勢を判定し、
前記所与のオブジェクトの前記第1の姿勢と前記第2の姿勢の少なくとも1つを変換して姿勢比較データを判定し、
前記姿勢比較データを処理して一貫性条件が満たされるかを判定し、
前記一貫性条件が満たされると判定すると、前記所与のオブジェクトの前記第1の姿勢及び前記第2の姿勢と一貫して変換された前記所与のオブジェクトの所定のオブジェクトモデルを生成することと、を含む、
請求項1~10のいずれか1項に記載の方法。
【請求項12】
前記複数のオブジェクトのうちの所与のオブジェクトごとの前記所定のモデルを、それぞれのコンピュータ支援設計(CAD)モデルから生成することを含む、請求項1~11のいずれか1項に記載の方法。
【請求項13】
画像データ及び関連する深度情報をキャプチャするように動作可能な1つ以上のセンサを含む画像処理システムであって、
3次元シーン内の複数のオブジェクトのうちの所与のオブジェクトごとに、
前記1つ以上のセンサを使用して、前記所与のオブジェクトの少なくとも一部が見える前記3次元シーンのビューを表す画像データ及び関連する深度情報をキャプチャし、
前記画像データ及び前記関連する深度情報を処理して前記所与のオブジェクトの姿勢を推定するように構成され、
さらに、前記複数のオブジェクトの前記推定された姿勢を反復的に更新するように構成され、
前記更新することが、
前記複数のオブジェクトのうちの所与のオブジェクトごとに、前記所与のオブジェクトの前記推定された姿勢に従って変換された前記所与のオブジェクトの所定のモデルから複数のポイントをサンプリングすることと、
前記所与のオブジェクトを含むボクセルグリッドに対して、前記所与のオブジェクトの前記所定のモデルからサンプリングされた前記ポイントの位置に応じて、前記複数のオブジェクトのうちの所与のオブジェクトごとの第1の占有データを判定することと、
前記所与のオブジェクトを含む前記ボクセルグリッドに対して、前記複数のオブジェクトの他のオブジェクトの前記所定のモデルからサンプリングされた前記ポイントの位置に応じて、前記複数のオブジェクトのうちの所与のオブジェクトごとの第2の占有データを判定することと、
前記複数のオブジェクトのそれぞれについての前記第1の占有データ及び前記第2の占有データに応じて、前記複数のオブジェクトの前記推定された姿勢を更新して占有ペナルティを低減することと、を含む、
前記画像処理システム。
【請求項14】
前記複数のオブジェクトの前記推定された姿勢に対する前記占有ペナルティの勾配を判定し、
前記占有ペナルティの前記判定された勾配を使用して前記複数のオブジェクトの前記推定された姿勢を更新することにより、前記複数のオブジェクトの前記推定された姿勢を更新するように構成される、請求項13に記載のシステム。
【請求項15】
前記複数のオブジェクトのうちの所与のオブジェクトごとに、
前記所与のオブジェクトの前記第1の占有データが、前記所与のオブジェクトを含む前記ボクセルグリッドのボクセルと前記所与のオブジェクトの前記所定のモデルからサンプリングされた前記ポイントとの間の最小距離に依存し、
前記所与のオブジェクトの前記第2の占有データが、前記所与のオブジェクトを含む前記ボクセルグリッドのボクセルと前記複数のオブジェクトのうちの他のオブジェクトの前記所定のモデルからサンプリングされた前記ポイントとの間の最小距離に依存する、請求項13または14に記載のシステム。
【請求項16】
前記最小距離への依存が、所定の距離閾値で飽和する、請求項15に記載のシステム。
【請求項17】
前記占有ペナルティが、前記複数のオブジェクトのうちの所定のオブジェクトごとに、前記所与のオブジェクトの前記所定のモデルからサンプリングされたポイントと、異なるオブジェクトの前記所定のモデルからサンプリングされたポイントが同時に前記所定のオブジェクトを含む前記ボクセルグリッドのボクセルに近づくと増加する衝突成分を含む、請求項15または16に記載のシステム。
【請求項18】
前記画像データ及び前記関連する深度情報を処理して、前記複数のオブジェクトのうちの所与のオブジェクトごとに体積再構成を生成するように構成される、請求項13~17のいずれか1項に記載のシステム。
【請求項19】
前記生成された体積再構成を使用して、自由空間によって占有される前記所与のオブジェクトを含む前記ボクセルグリッドの部分、及び前記所与のオブジェクト以外のオブジェクトによって占有される前記所与のオブジェクトを含む前記ボクセルグリッドの部分を示す第3の占有データを生成するように構成される、請求項18に記載のシステム。
【請求項20】
前記所与のオブジェクトの前記所定のモデルからサンプリングされたポイントが、自由空間または前記所与のオブジェクト以外のオブジェクトによって占有される前記所与のオブジェクトを含む前記ボクセルグリッドのボクセルに近づくと、所与のオブジェクトの前記衝突成分が増加する、請求項18が請求項17に従属する場合の請求項19に記載のシステム。
【請求項21】
前記生成された第3の占有データと、前記所与のオブジェクトの前記表面上の複数のポイントについてのポイントごとの特徴データとを使用して、所定のオブジェクトごとの前記推定された姿勢を判定するように構成される、請求項19または20に記載のシステム。
【請求項22】
前記占有ペナルティが、前記複数のオブジェクトのうちの所与のオブジェクトごとに、前記所与のオブジェクトの前記所定のモデルからサンプリングされたポイントが、前記所与のオブジェクトの前記体積再構成によって占有される前記所与のオブジェクトを含む前記ボクセルグリッドのボクセルに近づくと、減少する表面アライメント成分を含む、請求項18~21のいずれか1項に記載のシステム。
【請求項23】
前記所与のオブジェクトの前記判定された姿勢に応じて、前記複数のオブジェクトのうちの所与のオブジェクトを係合するための係合手段を含む、請求項13~22のいずれか1項に記載のシステム。
【請求項24】
前記1つ以上のセンサを動かすように構成された1つ以上のアクチュエータを含み、
前記3次元シーンの前記ビューが前記3次元シーンの第1のビューであり、
前記所与のオブジェクトごとの前記判定された姿勢が、前記所与のオブジェクトの第1の姿勢であり、
前記システムが、
1つ以上のアクチュエータを使用して1つ以上のセンサを動かし、
前記1つ以上のセンサの移動による前記3次元シーンの第2のビューを表す追加の画像データ及び追加の関連する深度情報をキャプチャし、
前記複数のオブジェクトのうちの所与のオブジェクトごとに、
前記追加の画像データ及び前記追加の関連する深度情報を処理して前記所与のオブジェクトの第2の姿勢を判定し、
前記所与のオブジェクトの前記第1の姿勢と前記第2の姿勢の少なくとも1つを変換して姿勢比較データを判定し、
前記姿勢比較データを処理して一貫性条件が満たされるかを判定し、
前記一貫性条件が満たされると判定すると、前記所与のオブジェクトの前記第1の姿勢及び前記第2の姿勢と一貫して変換された前記所与のオブジェクトの所定のオブジェクトモデルを生成するように構成される、
請求項13~23のいずれか1項に記載のシステム。
【請求項25】
コンピューティングシステムによって実行されると、コンピューティングシステムに請求項1~12のいずれか1項に記載の方法を実行させる、機械可読命令を含むコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データ及び関連する深度情報を処理して、3次元シーン内のオブジェクトの姿勢を判定することに関する。
【背景技術】
【0002】
ロボットを使用して環境内の物理オブジェクトを操作または物理オブジェクトと相互作用する状況では、ロボットが所与の座標系に対する物理オブジェクトの位置及び方向を正確に判定することが重要である。このタスクは姿勢予測と呼ばれる。姿勢予測は、自動運転車の自動潜水システム(ADS)や先進運転支援システム(ADAS)など、他の多くの分野に関連し、ここで、車両や歩行者などのエンティティの既知の姿勢は、そのエンティティがどのように動作するかを予測するのに役立つ。
【0003】
姿勢予測方法の最も初期の例の一部はテンプレートベースの方法であり、ここで、オブジェクトのテンプレートは、オフラインのトレーニング段階で様々な視点から撮影された画像から派生し、テスト時にオブジェクトを含む画像全体をスキャンして、所定の距離メトリックに従って最良の一致を見つけるものである。さらなる例としては、スケール不変の関心点がトレーニング時にオブジェクトの画像から抽出され、SIFTやSURFなどの局所記述子に関連付けられるスパース特徴ベースの方法が含まれる。局所記述子は、RANSACなどの方法を使用して、テスト時にオブジェクトを含む画像と照合される。
【0004】
立体カメラ、赤外線カメラ、音響航法と測距(ソナー)、光検出と測距(ライダー)システムなどのセンサ技術の最近の進歩により、正確な深度情報を従来の2次元画像と共にキャプチャできるようになり、その結果、たとえばRGB-D画像フォーマットが得られる。この深度情報は、精度を向上させるように特定の姿勢予測方法で利用される。例としては、オブジェクトの3次元ポイントクラウドがテスト時に構築され、次に反復最接近点(ICP)などのアルゴリズムを使用してオブジェクトの格納されたモデルと照合される高密度方法が含まれる。さらなる例としては、ニューラルネットワークを使用してポイントクラウド情報と畳み込みニューラルネットワーク(CNN)を使用してRGB画像データを同時に処理し、ネットワークの出力を融合して、姿勢推定に使用できるピクセル単位の密な特徴埋め込みを導出するハイブリッド方法が含まれる。
【0005】
環境内の複数のオブジェクトが互いに接触している場合、または一部のオブジェクトが部分的に遮られている場合、上記方法のいずれかを使用した姿勢予測の精度は通常低下する。
【0006】
ロボット工学用途の場合、この精度の低下は、特に雑然とした環境や密集した環境で、ロボットのパフォーマンスを損なう可能性がある。
【発明の概要】
【課題を解決するための手段】
【0007】
第1の態様によれば、3次元シーン内の複数のオブジェクトのそれぞれの姿勢を判定するコンピュータ実装方法が提供される。この方法は、複数のオブジェクトのうちの所与のオブジェクトごとに、所与のオブジェクトの少なくとも一部が見える3次元シーンのビューを表す画像データ及び関連する深度情報を取得することと、画像データ及び関連する深度情報を処理して所与のオブジェクトの姿勢を推定することと、を含む。この方法はさらに、複数のオブジェクトの推定された姿勢を反復的に更新することを含み、更新することは、複数のオブジェクトのうちの所与のオブジェクトごとに、所与のオブジェクトの推定された姿勢に従って変換された所与のオブジェクトの所定のモデルから複数のポイントをサンプリングすることと、所与のオブジェクトを含むボクセルグリッドに対して、所与のオブジェクトの所定のモデルからサンプリングされたポイントの位置に応じて、複数のオブジェクトのうちの所与のオブジェクトごとの第1の占有データを判定することと、所与のオブジェクトを含むボクセルグリッドに対して、複数のオブジェクトの他のオブジェクトの所定のモデルからサンプリングされたポイントの位置に応じて、複数のオブジェクトのうちの所与のオブジェクトごとの第2の占有データを判定することと、複数のオブジェクトのそれぞれについての第1の占有データ及び第2の占有データに応じて、複数のオブジェクトの推定された姿勢を更新して占有ペナルティを低減することと、を含む。
【0008】
ターゲットオブジェクトの所定のモデルからサンプリングされたポイントの位置に依存する第1及び第2の占有データを使用して占有ペナルティを定義することにより、2つ以上のオブジェクトが相互作用するという物理的に非現実的な予測を回避するように、ターゲットオブジェクトの推定された姿勢の増分更新を可能にする。
【0009】
実施例では、複数のオブジェクトの推定された姿勢を更新することは、複数のオブジェクトの推定された姿勢に対する占有ペナルティの勾配を判定することと、占有ペナルティの判定された勾配を使用して複数のオブジェクトの推定された姿勢を更新することとを含む。占有ペナルティの勾配を使用して推定された姿勢を更新することにより、オブジェクトの姿勢の構成を、検索ベースの方法などの他の可能な方法よりも効率的に最適化することができる。
【0010】
実施例では、所与のオブジェクトごとの第1の占有データは、所与のオブジェクトを含むボクセルグリッドのボクセルと所与のオブジェクトの所定のモデルからサンプリングされたポイントとの間の最小距離に依存し、所与のオブジェクトごとの第2の占有データは、所与のオブジェクトを含むボクセルグリッドのボクセルと複数のオブジェクトのうちの他のオブジェクトの所定のモデルからサンプリングされたポイントとの間の最小距離に依存する。
【0011】
第1及び第2の占有データが最小距離に依存するいくつかの実施例では、最小距離への依存は、所定の距離閾値で飽和する。このように、所定の距離閾値よりボクセルに近いポイントがない場合、そのボクセルは占有ペナルティに寄与せず、オブジェクト間の明らかな「遠隔作用」を防ぐ。そうしないと、オブジェクトが相互作用しなくても、オブジェクトの姿勢の更新中にオブジェクトが互いに離れて移動する可能性がある。
【0012】
第1及び第2の占有データが最小距離に依存するいくつかの実施例では、占有ペナルティは、複数のオブジェクトのうちの所定のオブジェクトごとに、所与のオブジェクトの所定のモデルからサンプリングされたポイントと、異なるオブジェクトの所定のモデルからサンプリングされたポイントが同時に所定のオブジェクトを含むボクセルグリッドのボクセルに近づくと増加する衝突成分を含む。
【0013】
実施例では、この方法は、画像データ及び関連する深度情報を処理して、複数のオブジェクトのうちの所与のオブジェクトごとに体積再構成を生成することを含む。
【0014】
この方法が所与のオブジェクトごとに体積再構成を生成することを含むいくつかの実施例では、この方法は、生成された体積再構成を使用して、自由空間によって占有される所与のオブジェクトを含むボクセルグリッドの部分、及び所与のオブジェクト以外のオブジェクトによって占有される所与のオブジェクトを含むボクセルグリッドの部分を示す第3の占有データを生成することを含む。
【0015】
占有ペナルティが複数の所与のオブジェクトのうちの所与のオブジェクトごとに衝突成分を含むいくつかの実施例では、所与のオブジェクトの所定のモデルからサンプリングされたポイントが、自由空間または所与のオブジェクト以外のオブジェクトによって占有される所与のオブジェクトを含むボクセルグリッドのボクセルに近づくと、所与のオブジェクトの衝突成分が増加する。これにより、より正確な姿勢が予測される可能性があり、これは、不透過と知られているシーンの領域をオブジェクトが占有する結果になる場合、各オブジェクトの姿勢にペナルティが課されるからである。
【0016】
いくつかの実施例では、所与のオブジェクトごとの姿勢を推定することは、生成された第3の占有データと、所与のオブジェクトの表面上の複数のポイントについてのポイントごとの特徴データとを使用して、ターゲットオブジェクトの推定された姿勢を判定することを含む。所与のオブジェクトの表面上のポイントについてのポイントごとの特徴データと、自由空間及び他のオブジェクトによって占有される周囲領域を示す占有データとの組み合わせを使用することにより、推定された姿勢は、所与のオブジェクトの周囲に関する情報も考慮すると、所与のオブジェクトに関する詳細な視覚情報に依存して作成される。その結果、特に雑然としたシーンや密集したシーンで、姿勢推定の精度が向上する。
【0017】
いくつかの実施例では、占有ペナルティは、複数のオブジェクトのうちの所与のオブジェクトごとに、所与のオブジェクトの所定のモデルからサンプリングされたポイントが、所与のオブジェクトの体積再構成によって占有される所与のオブジェクトを含むボクセルグリッドのボクセルに近づくと、減少する表面アライメント成分を含む。表面アライメント成分は、所与のオブジェクトの推定された姿勢と、画像内の特定のオブジェクトの外観及び関連する深度情報との間の一貫性を促進する。
【0018】
いくつかの実施例では、3次元シーンのビューは3次元シーンの第1のビューであり、所与のオブジェクトごとの判定された姿勢は、所与のオブジェクトの第1の姿勢である。この方法は、3次元シーンの第1のビューとは異なる3次元シーンの第2のビューを表す追加の画像データ及び追加の関連する深度情報を取得することと、複数のオブジェクトのうちの所与のオブジェクトごとに、追加の画像データ及び追加の関連する深度情報を処理して所与のオブジェクトの第2の姿勢を判定し、所与のオブジェクトの第1の姿勢と第2の姿勢の少なくとも1つを変換して姿勢比較データを判定し、姿勢比較データを処理して一貫性条件が満たされるかを判定し、一貫性条件が満たされると判定すると、所与のオブジェクトの第1の姿勢及び第2の姿勢と一貫して変換された所与のオブジェクトの所定のオブジェクトモデルを生成することと、をさらに含む。
【0019】
シーンの様々なビューをキャプチャし、様々なビューによる姿勢予測を比較することで、たとえばオクルージョンによる誤った姿勢予測を識別して破棄することができる。様々なビューからの複数の姿勢推定が一貫性条件を満たすことが判明すると、オブジェクトモデルが生成され、たとえば、シーンと相互作用するロボットによって使用され、または人間のユーザに表示される。さらに、複数のビューをキャプチャすることで、様々なビューからの情報を使用して、シーンの体積マップを反復的に作成することができ、より多くのビューがキャプチャされるにつれて、体積マップに含まれる「未知」状態のボクセルが少なくなる。その結果、(複数のビューからの情報を使用し得る)後の姿勢予測は、(単一のビューからの情報のみを使用する)最初の姿勢予測よりも正確になる場合がある。
【0020】
実施例では、この方法は、複数のオブジェクトのうちの所与のオブジェクトごとの所定のモデルを、それぞれのコンピュータ支援設計(CAD)モデルから生成することを含む。
【0021】
CADモデリングは遍在し、オブジェクトのメッシュモデルを生成するために高度に最適化される。実施例では、生成された所定のモデルは、内部構造及び表面構造を含むソリッドモデルであり、所定のモデルのボリューム全体からポイントをサンプリングすることを可能にする。このように、結果として得られた占有ペナルティを使用して、シーン内のオブジェクト間の非現実的な重なりを最小限に抑える姿勢をより正確に判定することができる。
【0022】
第2の態様によれば、画像データ及び関連する深度情報をキャプチャするように動作可能な1つ以上のセンサを含む画像処理システムが提供される。このシステムは、3次元シーン内の複数のオブジェクトのうちの所与のオブジェクトごとに、1つ以上のセンサを使用して、所与のオブジェクトの少なくとも一部が見える3次元シーンのビューを表す画像データ及び関連する深度情報をキャプチャし、画像データ及び関連する深度情報を処理して所与のオブジェクトの姿勢を推定するように構成される。このシステムはさらに、複数のオブジェクトの推定された姿勢を反復的に更新するように構成され、更新することは、複数のオブジェクトのうちの所与のオブジェクトごとに、所与のオブジェクトの推定された姿勢に従って変換された所与のオブジェクトの所定のモデルから複数のポイントをサンプリングすることと、所与のオブジェクトを含むボクセルグリッドに対して、所与のオブジェクトの所定のモデルからサンプリングされたポイントの位置に応じて、複数のオブジェクトのうちの所与のオブジェクトごとの第1の占有データを判定することと、所与のオブジェクトを含むボクセルグリッドに対して、複数のオブジェクトの他のオブジェクトの所定のモデルからサンプリングされたポイントの位置に応じて、複数のオブジェクトのうちの所与のオブジェクトごとの第2の占有データを判定することと、複数のオブジェクトのそれぞれについての第1の占有データ及び第2の占有データに応じて、複数のオブジェクトの推定された姿勢を更新して占有ペナルティを低減することと、を含む。
【0023】
実施例では、このシステムは、所与のオブジェクトの判定された姿勢に応じて、複数のオブジェクトのうちの所与のオブジェクトを係合するための係合手段を含む。係合手段は、ターゲットオブジェクトをつかみ、押し、または物理的に接触するための1つ以上のロボットハンドまたは他のコンポーネントを含むことができる。上記のように推定された姿勢に応じてターゲットオブジェクトを係合させることにより、システムは、姿勢推定方法による遅延を最小限に抑えながら、複雑なタスクまたは機密性の高いタスクを正確に実行することができる。さらなる実施例では、システムは、ターゲットオブジェクトに直接接触することなく、ターゲットオブジェクトと相互作用することができる。
【0024】
第3の態様によれば、コンピューティングシステムによって実行されると、コンピューティングシステムに上記の方法のいずれかを実行させる機械可読命令を含むコンピュータプログラム製品が提供される。
【0025】
本発明のさらなる特徴及び利点は、添付の図面を参照して作成された、例としてのみ与えられた、本発明の好ましい実施形態の以下の説明から明らかになるであろう。
【図面の簡単な説明】
【0026】
【
図1】実施例による方法を実行するように構成されたシステムを示す概略ブロック図である。
【
図2】実施例によるターゲットオブジェクトの姿勢を推定する方法を表すフロー図である。
【
図3】3つの既知のオブジェクトを含む3次元シーンの例を示す図である。
【
図4】実施例によるシーンの体積マップを生成するためのデータ処理ルーチンを概略的に示す図である。
【
図5】
図3の3次元シーンの既知のオブジェクトの1つを含むボクセルグリッドの例を示す。
【
図6A】実施例に係るターゲットオブジェクトの姿勢を推定するためのデータ処理ルーチンを概略的に示す。
【
図6B】実施例に係るターゲットオブジェクトの姿勢を推定するためのデータ処理ルーチンを概略的に示す。
【
図7】実施例による複数のオブジェクトの姿勢推定を精緻化する方法を表すフロー図である。
【
図8】は、
図3の3次元シーン内の既知のオブジェクトの姿勢推定の精緻化の例を示す。
【発明を実施するための形態】
【0027】
図1は、本開示による方法を実行するように構成されたシステム100の例を示す。システム100は、メモリ102及び処理回路104を含み、メモリ102は、本明細書に記載の方法を実行するためのデータ及びルーチンを格納するように構成される。
処理回路104は、メモリ回路102に格納されたルーチンを実行するように構成される。
処理回路104はさらに、画像データ及び関連する深度情報を取得するためのセンサ106と、センサ106を動かすように構成された1つ以上のアクチュエータ108とを制御するように構成される。
【0028】
この例におけるメモリ102は、機械可読命令の形式で、様々な他のルーチン(図示せず)と共に、マスタールーチン、姿勢推定ルーチン、及び姿勢精緻化ルーチンを保持する。
以下でより詳細に説明するように、特定の構成では、マスタールーチンの実行により、姿勢推定ルーチンが実行され、続いて姿勢精緻化ルーチンが実行される。メモリ102は、姿勢推定ルーチンの実行中に使用される様々なトレーニング可能なモデルのためのトレーニング可能なモデルパラメータをさらに含む。
【0029】
メモリ102は、センサ106によってキャプチャされた画像データ及び関連する深度情報を保持するように構成される。この例では、メモリ102は、画像データ及び関連する深度情報を赤-緑-青-深度(RGB-D)フォーマットで記憶するように構成されるが、システム100は、例えば、シアン、マゼンタ、黄色、キー(CMYK)またはYUVカラーフォーマットに基づく他の適切なフォーマットと共に使用するように構成され得る。
【0030】
メモリ102は、様々な既知のオブジェクトの3次元モデルのデータベースを保持する。この例では、既知のオブジェクトは剛体として扱われ、既知のオブジェクトごとに格納された3次元モデルは、メッシュ表現として格納されたコンピュータ支援設計(CAD)モデルである。この例では、各オブジェクトの体積ソリッド表現がCADモデルから生成され、CADモデルと共に格納される。各オブジェクトのソリッド表現には、メッシュモデルに含まれる表面構造に加えて、オブジェクトの内部構造が含まれる。なお、複雑な内部構造を持つオブジェクトの場合、格納されたソリッド表現の内部構造は、オブジェクトの実際の内部構造に必ずしも対応せず、たとえば単純化される場合がある。既知の各オブジェクトのソリッドモデルを格納することにより、表面だけではなく、オブジェクトの体積全体からポイントをサンプリングできるようになり、本開示の態様による姿勢の精緻化方法を特に効果的に実装できるようになる。それにもかかわらず、本明細書で説明する方法は、本発明の範囲から逸脱することなく、メッシュモデルのみを使用して実装するように適合され得る。
【0031】
本例におけるセンサ106は、シーンの2次元画像をキャプチャするカメラと、シーン内のオブジェクトまでの距離(言い換えると、関連する深度情報)を判定する赤外線センサとを含む。
【0032】
図2は、3次元シーン内のターゲットオブジェクトの姿勢を推定するための、システム100によって実行されるコンピュータ実装方法200の例を示す。システム100は、202で、関連する深度情報を有する画像を取得する。画像は3次元シーンのビューを表し、関連する深度情報はシーン内の様々なオブジェクトまでの距離を特定する。この例では、画像及び関連する深度情報は、センサ106によってキャプチャされる。
【0033】
3次元シーンは、複数の3次元オブジェクトを含み、そのうちの少なくとも1つは、システム100がトレーニングにより認識できる既知のオブジェクトである。この例では、そのまたはそれぞれの既知のオブジェクトは、メモリ102内のオブジェクトモデルデータベースに格納されたオブジェクトモデルに対応する。シーンはまた、システム100がトレーニングにより認識できない、メモリ102に格納された対応するオブジェクトモデルを有していない未知のオブジェクトを含み得る。未知のオブジェクトの典型的な例には、システム100が実行している特定のタスクに関連しないオブジェクトと共に、既知のオブジェクトが配置される表面が含まれる。
【0034】
図3は、3次元シーン300のビューを示す。シーン300は、直方体ボックス302、円筒形の缶304、及び不等辺三角形の断面を有するプリズム306の3つの既知のオブジェクトを含む。既知の各オブジェクトは、3次元形状と、色やテクスチャ(図示せず)を含む表面の詳細を持ち、ボックス302上の矢印310及び缶304上のシンボル312などのさらなる表面装飾を含む場合がある。シーン300は、既知のオブジェクトが配置される水平面308も含む。水平面308は、未知のオブジェクトの例である。
【0035】
シーン300内の既知の各オブジェクトの実際の姿勢(位置及び方向)は、
図3において、それぞれのセットの3次元軸によって表される。姿勢は、所与の座標系に関して、オブジェクトに対して固定された所定のポイントの位置を定義する次元のうちの3つ、及び所与の座標系に対する方向を定義する他の3つの次元を有する6次元量である。この例では、位置はデカルト座標を使用して定義され、方向は外因性オイラー角を使用して定義される。当業者は、例えば、円筒形または球形の極座標を使用して位置を定義し、及び/または内因性オイラー角を使用して方向を定義するなど、他の定義が可能であることを理解するであろう。以下でより詳細に説明するように、方法200を使用して、シーン300内の任意の既知のオブジェクトの姿勢を推定することができる。
【0036】
図3の例では、既知のオブジェクトはどの平面でも反射対称性を示さないため、既知の各オブジェクトの姿勢は、所与の座標系に対して一意に定義され得る(オブジェクトの対称性は、姿勢の定義に曖昧さを持ち込み、以下に説明するように特定の実施形態で扱われる問題をもたらすことに注意すべきである)。この例では、缶304及びプリズム306は、直立方向にあり、それぞれが垂直に上向きの1つの軸と水平面にある2つの軸を有する。ボックス302は缶304にもたれかかっているので、直立方向ではない。
【0037】
図2に戻ると、システム100は、204で、画像及び関連する深度情報を処理して、体積マップを生成する。生成された体積マップは、3次元シーン内のオブジェクトの体積再構成で形成される。所与のオブジェクトの体積再構成には、画像内のオブジェクトの可視部分に対応する体積マップのボクセルが含まれる。シーンの単一のビューから、各オブジェクトの特定の部分のみが見えるため、これらの部分に対応するボクセルのみがオブジェクトの体積再構成に含まれる。
【0038】
図4は、3次元シーンのビューを表す画像402及び関連する深度情報404を処理して、シーンの体積マップを生成する方法400の例を示す。406で、画像セグメンテーションを使用して画像402を処理して、シーン内の既知のオブジェクトのそれぞれについてオブジェクトマスク408を生成する。所与のオブジェクトのオブジェクトマスク408は、オブジェクトの一部が見える画像402のピクセルのサブセットを特定する。画像セグメンテーション中、画像は、画像内の既知のオブジェクトのそれぞれの異なるオブジェクトマスクに対応する領域に分割され、さらに画像内の未知のオブジェクトを表す領域に分割される。この例では、Kaiming Heらによる記事Mask R-CNN、arXiv:1703.06870で説明されるように、ディープCNNアーキテクチャを使用して画像セグメンテーションが実行される。画像セグメンテーションの他の方法が知られており、本開示と互換性がある。
【0039】
410で、深度情報404及びオブジェクトマスク408を、体積融合を使用して一緒に処理して、体積マップ412を生成する。体積マップ412は、シーン内の既知の各オブジェクトの体積再構成414を含み、シーン内の未知のオブジェクトの体積再構成416をさらに含むことができる。深度情報404は通常、画像402よりも解像度が低く、体積マップ412も通常、画像402よりも解像度が低い。
【0040】
図2に戻ると、システム100は、206で、体積マップのボクセルのサブセットから形成され、姿勢が推定されるターゲットオブジェクトを含む体積グリッドを判定する。
図5は、体積グリッド502が3次元シーン300内の円筒形の缶304を含む例を示す。この例では、体積グリッド502は、缶304を越えてあらゆる方向に延びる直方体である。体積グリッドの次元は、通常、ターゲットオブジェクトの次元に依存する。例えば、プリズム306を含む体積グリッドは、缶304を含む体積グリッド502と比較して、高さが低くなる。ただし、後続の様々な処理ステップを簡素化するために、ボクセルグリッド内のターゲットのボクセルの数は固定され、ターゲットオブジェクトの次元(たとえば、32x32x32ボクセル)とは無関係であり、ボクセル自体の次元は、ボクセルグリッドの様々なサイズと形状を実現するために変更される。これを行うために、体積マップのボクセルを2つ以上の小さなボクセルに分割するか、体積マップの2つ以上のボクセルを組み合わせて1つの大きなボクセルを形成することができる。
【0041】
システム100は、208で、自由空間またはターゲットオブジェクト以外のオブジェクトによって占有される体積グリッドの部分を示す占有データを生成する。体積グリッドの各ボクセルは、ボクセルの占有率に応じて、次の4つの状態のいずれかになる:
1.ターゲットオブジェクト(例えば、缶304)の体積再構成によって占有され、
2.既知のオブジェクト(例えば、ボックス302及びプリズム306)及び未知のオブジェクト(例えば、表面308)を含む、他のオブジェクトのうちの1つの体積再構成によって占有され、
3.深度測定によって識別されるように、自由空間によって占有され、または
4.オクルージョン及び/またはセンサの範囲制限のため、未知のオブジェクトによって占有される。
【0042】
状態2及び3のボクセルは、ターゲットオブジェクトの任意の部分によって占有されない不透過領域を定義するため、ターゲットオブジェクトの姿勢を推定するために特に重要である。したがって、自由空間またはターゲットオブジェクト以外のオブジェクトによって占有される体積グリッドの部分を示すことにより、占有データは、ターゲットオブジェクトの姿勢の推定に関連する情報を含む。
【0043】
システム100は、210で、208で生成された占有データと、ターゲットオブジェクトの可視部分上のポイントに関するポイントごとの特徴データとを使用して、ターゲットオブジェクトの姿勢を推定する。ポイントごとの特徴データは、画像のピクセルから導出され、形状、表面の詳細、及びターゲットオブジェクトを含む画像の部分に含まれるその他の情報を含む、ターゲットオブジェクトのすべての視覚的側面に依存する可能性がある。
【0044】
ターゲットオブジェクトのポイントごとの特徴データを、ターゲットオブジェクトを含むボクセルグリッドの占有データと組み合わせることにより、推定された姿勢は、ターゲットオブジェクトの周囲に関する情報も考慮すると、ターゲットオブジェクトに関する詳細な視覚情報に依存して作成され得る。これにより、既知の姿勢推定方法と比較して、姿勢推定の精度が向上する。
【0045】
図6A及び6Bは、占有データ及びポイントごとの特徴データを使用してターゲットオブジェクトの姿勢を推定する方法600の例を示す。604で、2次元特徴抽出を使用してマスクされた画像データ602を処理して、2次元特徴データ606を生成する。マスクされた画像データ602は、ターゲットオブジェクトのオブジェクトマスク内に含まれる画像402のピクセルのサブセットを含む。この例では、2次元特徴抽出はCNNを使用して実行される。マスクされた画像データ602をCNNの入力として使用するために、マスクされた画像データは固定されたサイズ及び形状を有するべきである。これを実現するために、オブジェクトマスクの外側のピクセルのピクセル値は一定値(たとえば、ゼロ)に設定される。マスクされた画像データを使用することは、2次元特徴データ606が、ターゲットオブジェクトの周囲に依存することなく、ターゲットオブジェクト自体のみに依存することを意味する。このように、周囲に対する推定された姿勢の依存性は、以下でより詳細に説明されるように、ターゲットオブジェクトを囲む体積グリッドの占有データのみに依存するようにされる。
【0046】
610で、ポイントごとの符号化を使用して2次元特徴データ606をマスクされた深度情報608と共に処理して、ポイントごとの特徴データ612を生成する。ポイントごとの特徴データ612は、マスクされた深度情報608から導出された3次元ポイントのセットのそれぞれについて複数の特徴チャネルを含む。これらのポイントは、画像に表示されているオブジェクトの部分を表すポイントクラウドを形成する。この例では、2次元特徴データ606及びマスクされた深度情報608は、それぞれの完全に接続されたニューラルネットワーク層を使用して別々に処理され、結果として得られるポイントごとの特徴は連結してポイントごとの特徴データ612を生成する。
【0047】
614で、ポイントごとの特徴データ612をボクセル化により処理して、特徴グリッド616を生成する。ボクセル化(ボクセレーションとしても知られる)は、ポイントごとの特徴データ612で特定されたポイントを、ターゲットオブジェクトを含むボクセルグリッド(例えば、
図5のボクセルグリッド502)のボクセルと関連付ける。通常、ボクセルグリッドは、画像及び関連する深度データと比較して、比較的低い解像度(たとえば、32x32x32ボクセル)を有する。したがって、所与のボクセルの特徴データは、ポイントごとの特徴データ612の複数のポイントから、この例では平均化によって導出されるが、他の例では、所与のボクセルの特徴データは、他の方法、たとえば最大値を取ることによって導出される。特徴グリッドの各ボクセルは、ボクセルグリッド内のその位置を特定する関連する体積インデックスを有し、これらのインデックス618は後続の処理のために格納される。
【0048】
特徴グリッド616は、他のオブジェクトまたは自由空間によって占有されるため、ターゲットオブジェクトによって占有され得ないボクセルグリッドの領域を示す占有データ620と連結される。占有データ620は、ターゲットオブジェクトを含むボクセルグリッドの各ボクセルに2進数を関連付け、2進数は、そのボクセルがターゲットオブジェクトを透過させないか(すなわち、ボクセルが上記の状態2または3のいずれかにあるか)を示す。したがって、連結された特徴グリッド616及び占有データ620は、ボクセルグリッドの各ボクセルについて、占有データ620からのバイナリチャネル及び特徴グリッド616からの複数のチャネルを含む。
【0049】
したがって、連結された特徴グリッド616及び占有データ620は、マスクされた画像データ602及びマスクされたポイントクラウド610から導出された情報を含み、さらにターゲットオブジェクト及びターゲットオブジェクトを囲む空間に依存する情報を含む。622で、連結された特徴グリッド616及び占有グリッド620を、3次元特徴抽出を使用して処理して、3次元特徴データ624を生成する。この例では、3次元特徴抽出は、それぞれがいくつかの畳み込み層を含む複数の段階を有する3次元CNNを使用して実行される。3次元CNNの各段階で体積特徴マップが生成され、各段階の後、3次元CNNの次の段階で処理する前に、体積特徴マップの次元を削減するためにプーリングまたは圧縮操作が実行される。その結果、3次元CNNは、解像度が順次低下する体積特徴マップの階層を生成する。3次元CNNが適切にトレーニングされると(以下で説明するように)、様々な段階で生成された階層的特徴は、ターゲットオブジェクトの推定された姿勢に関連する様々な潜在情報をキャプチャする。3次元特徴データ624は、3次元CNNの異なる段階で生成された体積特徴マップを含む。この例では、連結された特徴グリッド及び占有グリッドには32x32x32ボクセルが含まれ、3次元CNNには3つの段階が含まれ、階層的体積特徴マップには32x32x32、16x16x16、及び8x8x8ボクセルの特徴がそれぞれ含まれる。
【0050】
なお、本例では、マスクされた画像データ602からの2次元特徴抽出は、622での3次元特徴抽出とは独立して実行される。最初に2次元特徴抽出を実行することにより、マスクされた画像データ602のすべてのピクセルがポイントごとの特徴データ612に寄与し、計算コストが法外になることなく、情報豊富なマスクされた画像データが有効に使用される。他の例では、画像データは、3次元特徴抽出器を使用して占有データと共に、直接処理される。ただし、このアプローチでは通常、必要な計算リソース(処理能力及びメモリ)を妥当なレベルに保つために、画像データの解像度を下げる必要がある。したがって、画像データ内に含まれる情報は失われる。
【0051】
614でのボクセル化中に格納されたインデックス618に対応するポイントについて、3次元特徴データ624からポイントごとの特徴データ628を抽出するために、626でポイント抽出が実行される。インデックス618の1つに対応する各ポイントについて、3次元特徴データ624内の対応する特徴が抽出され、格納される。したがって、ポイントごとの特徴データ628は、マスクされた画像データ602及びマスクされた深度情報608から導出されたポイントごとの特徴データ612と同じポイントのセットについての特徴を含む。ポイントごとの特徴データ612及びポイントごとの特徴データ628は、ポイントごとの姿勢推定のために連結される。
【0052】
なお、ポイントごとの特徴データ612は、ターゲットオブジェクトの視覚的外観及び深度プロファイルに強く依存する。ポイントごとの特徴データ628も、ターゲットオブジェクトの外観及び深度プロファイルにある程度依存するが、周囲の空間及びオブジェクトにさらに依存する。発明者は、周囲の占有データと、ターゲットオブジェクトの視覚的外観及び深度プロファイルに強く依存するポイントごとの特徴データ612とを組み合わせて使用すると、既知の方法よりも姿勢検出の精度が大幅に向上することを発見した。
【0053】
連結されたポイントごとの特徴データ612及び628を使用して、630でポイントごとの姿勢推定が実行される。この例では、ポイントごとの姿勢推定は、ポイントごとの特徴データ612及び628内のポイントのそれぞれについて、候補姿勢632及び候補信頼スコア634を判定する。各候補姿勢632は6次元ベクトルであり、候補信頼スコア634は、対応する候補姿勢が正しいという確実性を示す数値である。この例では、完全に接続されたニューラルネットワークを使用してポイントごとの姿勢推定が実行される。
【0054】
推定された姿勢638は、636で、信頼スコア634に基づいて候補姿勢632のうちの最良のものとして判定される。言い換えれば、推定された姿勢638は、最高の信頼スコア634を有する候補姿勢632として判定される。上記の例では、ポイントごとの姿勢推定を使用して、一連のポイントごとにそれぞれの候補姿勢を判定するが、他の例では、ポイントごとの特徴データを処理して、単一のグローバルな姿勢推定を生成し、この場合、信頼スコアを判定する必要がない。
【0055】
図6の方法600は、一連のトレーニング可能なモデルコンポーネント、すなわち、604で使用された2次元特徴抽出器、610で使用されたポイントごとのエンコーダ、622で使用された3次元特徴抽出器、及び630で使用されたポイントごとの姿勢推定器を利用する。この例では、これらのコンポーネントのそれぞれが、トレーニング可能なパラメータのそれぞれのセットを有するニューラルネットワークモデルである。方法600が実行される前に、モデルは、既知のグラウンドトゥルース姿勢を有する既知のオブジェクトのラベル付けされたデータセットを用いた教師あり学習を使用してトレーニングされる。この例では、姿勢推定方法600で使用されるトレーニング可能なモデルは、マスクされた画像データ602を生成するために使用される画像セグメンテーションモデルとは独立してトレーニングされる。これを考慮して、姿勢予測モデルをトレーニングするために、既知のオブジェクト(この例では、既知のオブジェクトのCADモデル)の体積モデルを配置及び配向して人工的なシーンを生成することにより、たとえば衝突検出を伴う物理モデルを使用して、ラベル付けされたトレーニングデータを生成する。このように、モデルのトレーニングのために物理オブジェクトを所定の位置に移動したり、オブジェクトのグラウンドトゥルース姿勢を手動で判定したりする時間のかかる作業が必要なく、完全にセグメント化されたオブジェクトと既知のグラウンドトゥルース姿勢を使用して、多数の人工的なシーンを生成することができる。さらに、体積モデルを使用するこのアプローチにより、センサ106及びアクチュエータ108を含む、システム100の特定の高価な物理コンポーネントから分離して、姿勢推定モデルを迅速にトレーニングすることが可能になる。姿勢推定モデルをトレーニングするために、ターゲットオブジェクトの体積モデルからポイントのXのセットが(たとえば、均一に)サンプリングされる。シーン内のターゲットオブジェクトのグラウンドトゥルース姿勢によって変換されたときのX内のポイントの位置は、各ポイントの候補姿勢推定を使用して変換されたときのX内のポイントの位置と比較される。
【0056】
姿勢推定方法600で使用されるモデルは、単一の姿勢推定損失Lを使用してトレーニングされる。一連のトレーニング反復のそれぞれで、バックプロパゲーションを使用して姿勢予測モデルのトレーニング可能なパラメータθに関して姿勢予測損失の勾配∇
θLが判定され、トレーニング可能なパラメータθの値は、姿勢推定損失Lの値を減らすように、勾配降下法またはその変形を使用して更新される。この更新は、所定の収束基準が満たされるか、または所定のトレーニング反復の回数が実行されることに対応し得る、所定の停止条件が満たされるまで反復的に実行される。この例では、姿勢推定損失Lは式(1)で与えられる:
【数1】
ここで、Nは候補姿勢が推定されるポイントの数である。c
iは、i
thポイントの候補姿勢に関連付けられた信頼スコアである。λは正則化項log(c
i)の倍率であり、L
iは、i
thポイントについて判定された候補姿勢に関連付けられたポイントごとの姿勢推定損失である。
【0057】
λの適切な値はλ∈[0.01,0.1]の範囲、特にλ∈[0.01,0.02]の範囲、たとえばλ=0.015にあることがわかっている。倍率は、所与のトレーニングインスタンスに対して手動で調整され、トレーニング中に学習するパラメータとして含まれ得る。この例のポイントごとの姿勢推定損失は、式(2)で与えられる:
【数2】
ここで、[R|t]∈SE(3)はターゲットオブジェクトのグラウンドトゥルース姿勢で、3x3回転行列R∈SO(3)と並進ベクトル
【数3】
で構成され、
【数4】
は、i
thポイントの候補姿勢推定を示し、p
qは、ターゲットオブジェクトの体積モデルからサンプリングされたポイントのセットXのq
thポイントの位置である。
【0058】
式(2)のポイントごとの姿勢推定損失は、任意の平面でも反射対称性を示さないオブジェクトに適する。対称的なオブジェクトの場合、グラウンドトゥルース姿勢によって変換されたどのポイントを、所与の候補姿勢推定によって変換されたポイントと比較する必要があるかについて、曖昧さが生じる。このようなオブジェクトの場合、式(3)で与えられるように、変更されたポイントごとの姿勢推定損失が使用される:
【数5】
これにより、グラウンドトゥルース姿勢によって変換された所与のポイントと比較される、候補姿勢推定による変換後の最も近いポイントが効果的に得られる。特定の構成では、式(2)の変更されないポイントごとのトレーニング損失を使用して第1のトレーニング段階が実行され、続いて式(3)の変更されたポイントごとのトレーニング損失を使用して第2のトレーニング段階が実行される。これは、変更されたポイントごとの姿勢損失の使用から時々生じる極小値を回避する一方で、対称的なオブジェクトに対する変更されないポイントごとのトレーニング損失の使用から生じる誤った姿勢推定を回避することが発明者によって発見された。これにより、複雑な形状を有する対称的なオブジェクトの姿勢推定方法のパフォーマンスが特に向上する。
【0059】
所与のオブジェクトを囲む空間領域の占有を考慮すると、所与のオブジェクトごとに推定された姿勢を使用して、所与のシーン内の複数のオブジェクトの姿勢を、
図2の方法200で推定することができる。いくつかの例では、推定された姿勢は、所与の目的に使用するのに十分正確である。他の例では、方法200または任意の他の姿勢推定ルーチンを使用して判定された姿勢推定が、所与の目的に対して十分に正確であることを保証することができない。このような場合、追加の計算コストと時間を犠牲にして、姿勢推定を精緻化する方法が必要である。
【0060】
図7は、3次元シーン内の複数の既知のオブジェクトのそれぞれの姿勢を推定するための、システム100によって実行されるコンピュータ実装方法700の例を示す。複数の既知のオブジェクトのうちの所与のオブジェクトごとに、システム100は、702で、所与のオブジェクトの少なくとも一部が見える(所与のオブジェクトは、部分的に遮られているか、画像の境界を越えて延びる可能性がある)3次元シーンのビューを表す画像データ及び関連する深度情報を取得し、704で、所与のオブジェクトの姿勢を推定する。この例では、画像及び関連する深度情報がセンサ106を使用してキャプチャされ、各オブジェクトの姿勢が
図2の方法200を使用して推定される。代替として、任意の他の適切な姿勢予測方法を使用することができる。いくつかの例では、シーン内のいくつかのオブジェクトの姿勢は、単一の画像及び関連する深度情報を使用して推定される。他の例では、3次元シーンの様々なビューを表す異なる画像を使用して、2つ以上の異なるオブジェクトの姿勢が推定される。後者の場合、所与のオブジェクトごとの推定された姿勢は、共通の基準フレーム(例えば、画像及び関連する深度情報をキャプチャするときのセンサ106の位置及び方向を示す情報)に変換される。
【0061】
複数のオブジェクトのそれぞれの姿勢の推定を判定し、必要に応じて推定された姿勢を共通の基準フレームに変換した後、システム100は反復的な姿勢精緻化ルーチンを実行して、以下で説明するように推定された姿勢を共に最適化する。姿勢精緻化ルーチンは706で開始し、システム100は、オブジェクトの対応する推定された姿勢に従って変換された、所与のオブジェクトごとの格納されたモデルからポイントのセットをサンプリングする。この例では、格納されたモデルは体積ソリッドモデルであり、システム100は体積ソリッドモデルの体積全体からポイントのセットを均一にサンプリングする。所与のオブジェクトごとにサンプリングされたポイントのセットは、ポイントクラウドを形成する。
【0062】
システム100は、708で、所与のオブジェクトを含むボクセルグリッドに対して、所与のオブジェクトの格納されたモデルからサンプリングされたポイントの位置に応じて、所与のオブジェクトごとにそれぞれの第1の占有データを判定する。システム100が方法200を使用して最初の姿勢推定を判定するこの例では、システム100は、各所与のオブジェクトを含むボクセルグリッドをすでに判定している。したがって、第1の占有データを定義するために同じボクセルグリッドが再利用される。方法200が最初の姿勢推定を判定するために使用されない場合などの他の例では、708で、所与のオブジェクトごとに新しいボクセルグリッドが判定される。
【0063】
所与のオブジェクトの第1の占有データは、所与のオブジェクトを含むボクセルグリッドに対して、所与のオブジェクトの推定された姿勢に応じた位置を持つポイントに依存する。したがって、ポイントの位置は、所与のオブジェクトの姿勢に関して微分可能である。言い換えると、所与のオブジェクトの推定された姿勢の小さな変化は、サンプリングされた各ポイントの位置の予測可能な小さな変化につながる。したがって、第1の占有データがポイントの位置に円滑で微分可能に依存する場合、第1の占有データは所与のオブジェクトの推定された姿勢に関しても微分可能である。
【0064】
システム100は、710で、所与のオブジェクトを含むボクセルグリッドに対して、複数のオブジェクトの他のオブジェクトの格納されたモデルからサンプリングされたポイントの位置に応じて、所与のオブジェクトごとに第2の占有データを判定する。所与のオブジェクトの第2の占有データは、第1の占有データが所与のオブジェクトの推定された姿勢に関して微分可能であるのと同様に、他のオブジェクトの推定された姿勢に関して微分可能である。
【0065】
システム100は、712で、複数のオブジェクトのそれぞれについての第1の占有データ及び第2の占有データに応じて、複数のオブジェクトの推定された姿勢を更新して占有ペナルティを低減する。占有ペナルティは、微分可能な方式で第1の占有データ及び第2の占有データに依存し、したがって、複数のオブジェクトの推定された姿勢に関して微分可能である。これにより、複数のオブジェクトの推定された姿勢に対する占有ペナルティの勾配を判定することができ、したがって、その変形の勾配降下法を使用して、推定された姿勢の増分更新を可能にする。
【0066】
ステップ706~712は、停止条件が満たされるまで反復的に実行される。停止条件は、所定の収束基準が満たされることを含むことができ、または所定の反復の回数が実行されることを含むことができる。
【0067】
特定の例では、第1の占有データは、複数のオブジェクトのうちの所与のオブジェクトごとに、第1の微分可能な占有グリッドを含む。m
thオブジェクトの第1の微分可能な占有グリッド
【数6】
は、m
thオブジェクトを含むボクセルグリッドの各ボクセルの第1の微分可能な占有値で構成される。k
thボクセルの第1の微分可能な占有値
【数7】
k
thボクセルと、所与のオブジェクトの体積モデルからサンプリングされたポイントとの間の最小距離に依存し、式(4)で示されるように、
【数8】
ここで、
【数9】
は、m
thオブジェクトを含むボクセルグリッドのk
thボクセルと、m
thオブジェクトの体積モデルからサンプリングされたq
thポイントとの間の距離であり、δ
tは所定の距離閾値である。この例では、最小距離
【数10】
への依存は距離閾値で飽和するため、距離閾値よりもボクセルに近いポイントがない場合、そのボクセルの占有率は0に設定され、そのボクセルは占有ペナルティに寄与しない。任意のポイントが所定の距離閾値よりもボクセルに近づくと、微分可能な占有率は連続的に増加し、ポイントがボクセルと一致する場合に、最大値1に達する。距離
【数11】
を計算するために、m
thオブジェクトのモデルからサンプリングされたq
thポイントの位置
【数12】
は、式
【数13】
を使用してボクセルグリッドの座標系に変換され、ここで、lはボクセルグリッド座標系の原点であり、sはボクセルグリッド内の各ボクセルのサイズである。距離は
【数14】
で与えられ、ここで、
【数15】
はk
thボクセルに関連付けられた位置(たとえば、ボクセルの所定の角またはボクセルの中心)であり、
【数16】
はボクセル座標系でのポイントの位置である。
【0068】
この例では、第2の占有データは、複数の所与のオブジェクトのうちの所与のオブジェクトごとに、第2の微分可能な占有グリッドを含む。m
thオブジェクトの第2の占有グリッド
【数17】
は、m
thオブジェクトを含むボクセルグリッドの各ボクセルの第2の微分可能な占有値で構成される。k
thボクセルの第2の微分可能な占有値
【数18】
は、k
thボクセルと、他の所与のオブジェクトのすべての体積モデルからサンプリングされたポイントとの間の最小距離に依存し、式(5)で示されるように、
【数19】
ここで、
【数20】
は、m
thオブジェクトを含むボクセルグリッドのk
thボクセルと、n
thオブジェクトの体積モデルからサンプリングされたq
thポイントとの間の距離である(ここで、n≠m)。距離
【数21】
を判定するために、他のオブジェクトのモデルからサンプリングされたポイントは、m
thオブジェクトを含むボクセルグリッドの座標系に変換される。
【0069】
本例では、占有ペナルティL
oは、複数の既知のオブジェクトのうちの所定のオブジェクトごとに、所与のオブジェクトの所定のモデルからサンプリングされたポイントと、複数の既知のオブジェクトのうちの異なるオブジェクトの所定のモデルからサンプリングされたポイントが同時に所定のオブジェクトを含むボクセルグリッドのボクセルに近づくと増加する衝突成分
【数22】
を含む。この例の衝突成分
【数23】
は、第1の微分可能な占有グリッド
【数24】
と第2の微分可能な占有グリッド
【数25】
から導出され、式(6)で示されるように、
【数26】
ここで、
oは要素ごとの積を表す。衝突成分
【数27】
は、m
thオブジェクトを含むボクセルグリッドのボクセルが、m
thオブジェクトからサンプリングされたポイントと、複数の既知のオブジェクトの他のオブジェクトの1つからサンプリングされたポイントに同時に近い状況にペナルティを課する。全体的な占有ペナルティの可能な定義は
【数28】
で与えられ、ここで、合計はN個の既知のオブジェクトを超える。全体的な占有ペナルティは、すべての既知のオブジェクトの推定された姿勢に関して共に最適化される。ただし、以下で説明するように、占有ペナルティのより洗練された定義が可能である。
【0070】
図2の方法200を使用して最初の姿勢推定を判定する例などのいくつかの例では、複数の既知のオブジェクトのうちの所与のオブジェクトごとに体積再構成が生成され、体積融合により追加の占有データが生成される。この追加の占有データは、自由空間によって占有される所与のオブジェクトを含むボクセルグリッドの部分、及び所与のオブジェクト以外のオブジェクトによって占有される所与のオブジェクトを含むボクセルグリッドの部分を示す。第1の占有データ及び第2の占有データとは異なり、この追加の占有データは、オブジェクトの推定された姿勢に関して微分可能ではない。ただし、追加の占有データは、所与のオブジェクトを含むボクセルグリッドの不透過領域を定義するため、姿勢精緻化に関連する情報を含む。この情報を考慮すると、所与のオブジェクトの所定のモデルからサンプリングされたポイントが、自由空間または所与のオブジェクト以外のオブジェクトによって占有される所与のオブジェクトを含むボクセルグリッドのボクセルに近づくと増加するように、所与のオブジェクトの衝突成分が変更され得る。
【0071】
一例では、追加の占有データは、所与のオブジェクトを含むボクセルグリッドの各ボクセルに2進数を関連付ける2進数の不透過グリッド
【数29】
を含み、2進数は、そのボクセルが所与のオブジェクトを透過させないか(すなわち、ボクセルが上記の状態2または3のいずれかにあるか)を示す。第1の微分可能な占有グリッド
【数30】
及び第2の微分可能な占有グリッド
【数31】
の定義との互換性のために、不透過グリッド
【数32】
には、不透過ボクセルに対して1の値が与えられ、それ以外の場合は0が与えられる。ただし、他の定義が可能であることは理解されるであろう。
【0072】
不透過グリッド
【数33】
が与えられると、m
th所与のオブジェクトの衝突成分の代替の定義は、式(7)で与えられる:
【数34】
ここで、最大演算子は要素ごとにとられる。この代替の定義は、m
thオブジェクトを含むボクセルグリッドのボクセルがm
thオブジェクトからサンプリングされたポイントに近く、同時に他の既知のオブジェクトの1つからサンプリングされたポイント、及び/または不透過グリッドの一部であるポイントに近い状況にペナルティを課す。結果として得られた姿勢のセットがシーンの体積マップの不透過領域によって制約されるため、衝突成分の代替の定義により、姿勢精緻化方法のパフォーマンスが向上する可能性がある。
【0073】
例えば、式(6)または式(7)によって定義される衝突成分に加えて、占有ペナルティは、複数の既知のオブジェクトのそれぞれについて、表面アライメント成分を含むように増大され得る。隣接するオブジェクトの重なりにペナルティを課す衝突成分とは異なり、表面アライメント成分は、所与のオブジェクトからサンプリングされたポイントがそのオブジェクトの体積再構成のボクセルと重なる状況に報いる。したがって、表面アライメント成分は、所与のオブジェクトの推定された姿勢と、画像内の特定のオブジェクトの外観及び関連する深度情報との間の一貫性を促進する。
【0074】
例では、所与のオブジェクトの表面アライメント成分は、式(8)で与えられる:
【数35】
ここで、
【数36】
は
【数37】
で指定される要素を持つバイナリ自己占有グリッドであり、この例では、
【数38】
はm
thオブジェクトの体積再構成によって占有されるボクセルに対して1の値を有し、それ以外の場合は0である。所与のオブジェクトの所定のモデルからサンプリングされたポイントが、所与のオブジェクトの体積再構成によって占有される所与のオブジェクトを含むボクセルグリッドのボクセルに近づくと、所与のオブジェクトの表面アライメント成分が減少する。
【0075】
表面アライメント成分が含まれる場合、占有ペナルティは式(9)で定義される:
【数39】
占有ペナルティは、すべての既知のオブジェクトの推定された姿勢に関して共に最適化される。一例では、最適化は、グラフィックス処理装置(GPU)でバッチ勾配降下法を使用して実行される。
【0076】
図8は、占有ペナルティに表面アライメント成分を含む場合の効果を示す。上のフレームは、
図3のシーン300における既知のオブジェクト302、304、306の推定された姿勢の最初のセットを示し、この例では、
図2の方法200を使用して判定される。推定された姿勢が不正確であり、その結果、ボックス302が缶304と交差することが観察される。その結果、缶304の衝突成分(ボクセルグリッド502を使用して定義される)は高い値を有する。左下のフレームは、表面アライメント成分を使用せずに姿勢精緻化が実行された後のオブジェクト302、304、306の推定された姿勢を示す。缶304の衝突成分を低減するために、ボックス302との重なりがなくなるように缶304が左に移動したことが観察される。しかし、結果として得られたシーンは、
図3に示された実際のシーン300と密接に対応しない。右下のフレームは、表面アライメント成分を使用して姿勢精緻化が実行された後のオブジェクト302、305、306の推定された姿勢を示す。占有ペナルティの衝突成分を低減するために、缶304との重なりがなくなるように、ボックス302の角度が変更されることが観察される。ただし、缶304の表面アライメント成分は、缶304がその体積再構成と矛盾する方法でその元の位置から離れることを防ぐため、左下のフレームの誤ったシーンとは対照的に、結果として得られた右下のフレームのシーンは、
図3のシーン300と密接に対応する。これにより、表面アライメント成分により、より正確な姿勢予測が得られる。
【0077】
方法200及び/または700を使用することにより、システム100は、センサ106によってキャプチャされたシーンの第1のビューを表す画像及び関連する深度情報を使用して、シーン内のオブジェクトの第1の姿勢を予測することができる。ただし、シーンの単一のビューから、オブジェクトの全体が見えない。より正確な姿勢予測を達成するために、本例では、システム100はさらに、アクチュエータ108を使用してセンサ106を動かして、シーンの第2のビューを表す追加の画像及び関連する深度情報をキャプチャするように構成される。センサ106は、移動された後、シーンに対して異なる方向及び/または位置を有するため、第2のビューは第1のビューとは異なる。
【0078】
システム100は、追加の画像及び関連する深度情報を使用して、オブジェクトの第2の姿勢を予測する。本例では、第2の姿勢は、第1の姿勢と同じ方法、すなわち、姿勢推定方法200に続いて、姿勢精緻化方法700を使用して予測される。第1の姿勢及び第2の姿勢の少なくとも1つは、第1の姿勢及び第2の姿勢が共通の座標系に関して表現されるように変換される。本例では、第1の姿勢と第2の姿勢の両方が、センサ106の位置及び方向とは無関係である任意の「世界」座標系に変換される。
【0079】
第1の姿勢及び/または第2の姿勢を共通の座標系に変換することにより、第1の姿勢と第2の姿勢を比較することができる。この比較に基づいて、一貫性条件が満たされると判定した場合、第1の姿勢と第2の姿勢は正確であると判定される。一貫性条件が満たされると判定しない場合、シーンの第3のビューを表す追加の画像及び関連する深度情報がキャプチャされ、次に第1の姿勢と第2の姿勢のそれぞれと比較される。第3の姿勢が第1の姿勢または第2の姿勢のいずれかと一致する場合、その姿勢は正確であると判定される。一貫性条件が満たされるまで、追加の画像及び関連する深度情報がキャプチャされ、オブジェクトの追加の姿勢が予測される。本例では、式(2)のポイントごとの姿勢推定損失を使用して姿勢を比較し、任意の2つの予測された姿勢のポイントごとの姿勢推定損失が閾値未満の場合、一貫性条件が満たされる。他の例では、予測された姿勢の閾値数Mが閾値Lt未満のポイントごとの姿勢推定損失Liを有する場合、つまりMM=count(Li<Lt)の場合、一貫性条件が満たされる。
【0080】
上述のように姿勢比較に基づいて姿勢予測が正確であると判定された場合、システム100は、予測された姿勢と一貫して変換されたオブジェクトのメッシュモデルを生成する。
【0081】
複数の既知のオブジェクトのメッシュモデルを生成することにより、シーンのメッシュモデルが生成される。シーンのメッシュモデルは、シーンと相互作用するために使用することも(後で詳しく説明するように)、人間のユーザに表示することもできる。
【0082】
なお、シーンの様々なビューをキャプチャし、さらなる姿勢予測を行うプロセス中に、シーンの体積マップは、様々なビューからの情報を使用して反復的に構築することができ、オブジェクトの体積再構成では、「未知」状態のボクセルがますます少なくなる。その結果、(複数のビューからの情報を使用し得る)後の姿勢予測は、(単一のビューからの情報のみを使用する)最初の姿勢予測よりも正確である可能性がある。ただし、シーンの複数のビューをキャプチャするには、さらなる時間がかかる。したがって、精度と時間の間にはトレードオフが生じる。姿勢予測を迅速に実行することが不可欠である場合があり、この場合、シーンの単一のビューのみから所与のオブジェクトの姿勢を予測する必要がある。例としては、車両のADSまたはADASによって実行される姿勢予測が挙げられる。それ以外の場合は、精度が最も重要である。このような場合の例には、非常に複雑なロボット工学のタスクが含まれる。
【0083】
本明細書で説明する方法は、ロボットを使用してオブジェクトを持ち上げ、またはオブジェクトを係合するロボット工学のタスクに特に価値がある。そのようなロボットは、所与のオブジェクトをつかみ、押し、または物理的に接触するためのロボットハンドまたは他のコンポーネントなどの1つ以上の係合手段を含む。所与のオブジェクトと正確に係合するために、ロボットは、まず所与のオブジェクトの姿勢を予測し、次に予測された姿勢に応じて所与のオブジェクトを係合する。いくつかの例では、ロボットは、まず所与のオブジェクトの予測された姿勢に従って変換された所与のオブジェクトのメッシュモデル(たとえば、CADモデル)を生成し、生成されたメッシュモデルに基づいて所与のオブジェクトを係合する。
【0084】
さらなる例では、ロボットは、例えば、吸引手段または送風手段、レーザや他の放射源、またはロボットによって実行されるタスクに適合する他のコンポーネントを使用して、所与のオブジェクトに直接接触することなく、所与のオブジェクトと相互作用することができる。
【0085】
図1のシステム100は、スタンドアロンデバイスまたは分散コンピューティングシステムとして実装することができる。システム100は、画像及び関連する深度情報をキャプチャするセンサ106を含むが、他の例では、データ処理システムは、リモートソースから受信した画像及び関連する深度情報を使用して本明細書で説明された方法を実行するように構成され得、この場合、センサが必要ではない。他の例では、センサ106に加えて、またはセンサ106の代わりに、1つ以上の他のタイプのセンサを含むことができる。適切なセンサの例としては、立体カメラ、イベントカメラ、赤外線カメラ、及び/または音響航法と測距(ソナー)用のトランシーバが挙げられる。
【0086】
システム100の処理回路104は、中央処理装置(CPU)及びグラフィックス処理装置(GPU)を含む様々な処理装置を含む。他の例では、特定の処理操作を実行するために、特定用途向け集積回路(ASIC)またはデジタルシグナルプロセッサ(DSP)などの専用の処理装置が提供される。いくつかの例では、ニューラルネットワーク操作を効率的に実行するために、専用のニューラルネットワークアクセラレータ(NNA)またはニューラル処理ユニット(NPU)が提供される。いくつかの例では、半導体デバイスには、本明細書で説明された方法の実装に必要な特定の操作を実行するように構成された1つ以上のゲートアレイが提供される。
【0087】
システム100のメモリ回路102は、揮発性ランダムアクセスメモリ(RAM)、特にスタティックランダムアクセスメモリ(SRAM)及びダイナミックランダムアクセスメモリ(DRAM)と共に、ソリッドステートドライブ(SSD)の形態の不揮発性ストレージを含む。
【0088】
他の例では、リムーバブルストレージ、フラッシュメモリ、同期DRAMなどの代替のタイプのメモリが含まれ得る。
【0089】
図2の姿勢推定方法200または
図7の姿勢精緻化方法700は、互いに独立して実行することができる。したがって、いくつかの例では、システムは、さらなる精緻化なしに方法200を実行するように構成される。このような例では、既知の各オブジェクトの体積モデルを格納する必要がないが、画像セグメンテーションのために既知のオブジェクトを認識するように、トレーニングされたニューラルネットワークまたはその他のコンポーネントを提供する必要がある。他の例では、代替的な姿勢推定方法が、姿勢精緻化方法700と併せて実行され得る。
【0090】
上記の実施形態は、本発明の例示的な例として理解されるべきである。本発明のさらなる実施形態が想定される。例えば、本明細書に記載の姿勢予測方法を物理推論と組み合わせて、結果として得られた姿勢予測が物理的に可能/現実的であることを保証することができる。このような推論は、ビデオゲームのコンテキストでよく知られているような物理エンジンを使用して組み込むことができる。いくつかの例では、物理推論が、姿勢精緻化のための衝突ベースの方法に加えて、またはその代替として使用される。
【0091】
任意の一実施形態に関連して説明された任意の特徴は、単独でまたは説明した他の特徴と組み合わせて使用し得、また、他の任意の実施形態の1つ以上の特徴、または任意の他の実施形態の任意の組み合わせと組み合わせて使用し得ることを理解されたい。さらに、添付の特許請求の範囲で定義される本発明の範囲から逸脱することなく、上述されていない均等物及び修正が採用されてもよい。
【符号の説明】
【0092】
100 システム
102 メモリ
104 処理回路
106 センサ
108 アクチュエータ
【国際調査報告】