(57)【要約】      （修正有）【課題】オブジェクトの姿勢推定を生成するシステム、デバイスおよび方法を提供する。【解決手段】姿勢推定デバイスにより実行される方法は、オブジェクトの画像を取得し、オブジェクトの姿勢推定を生成する。姿勢推定には、オブジェクトの姿勢の複数の姿勢コンポーネントの各々に対して、それぞれのヒートマップが含まれる。姿勢コンポーネントごとのそれぞれのヒートマップは、画像の１つ以上のピクセルの各々において、姿勢コンポーネントの不確実性のそれぞれの不確実性指標を含む。【選択図】図７
2020173795.tif 000002
【特許請求の範囲】
【請求項１】
姿勢推定デバイスによって実行される方法であって、
オブジェクトの画像を取得するステップと、
前記オブジェクトの姿勢推定を生成するステップであって、該姿勢推定は、前記オブジェクトの姿勢の複数の姿勢コンポーネントのそれぞれに対して、それぞれのヒートマップを含み、前記姿勢コンポーネントのそれぞれに対する該それぞれのヒートマップは画像の１つ以上のピクセルのそれぞれにおいて、姿勢コンポーネントの不確実性のそれぞれの不確実性指標を含む、ステップと、
を含む方法。
【請求項２】
前記複数の姿勢要素は、前記オブジェクトの仰角、前記オブジェクトの方位角、前記オブジェクトのオブジェクト中心、前記オブジェクトのオブジェクト北ポイント、前記オブジェクトの面内回転、および、前記オブジェクトのオブジェクト境界を含む、請求項１に記載の方法。
【請求項３】
前記オブジェクトの仰角のそれぞれの仰角ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの方位のそれぞれの方位角ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの前記オブジェクト中心のそれぞれのキーポイント・ヒートマップは、それぞれの２次元ヒートマップを含み、
前記オブジェクトのそれぞれの北キーポイント・ヒートマップオブジェクトの北ポイントは、それぞれの２次元ヒートマップを含み、
前記オブジェクトの面内回転のそれぞれの面内回転ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトのオブジェクト境界のそれぞれのオブジェクト境界ヒートマップは、それぞれの２次元ヒートマップを含む、
請求項２に記載の方法。
【請求項４】
前記姿勢の前記ヒートマップの第１次元と第２次元は、それぞれ、前記画像の第１軸と第２軸に対応し、前記仰角ヒートマップの第３次元は、前記オブジェクトの仰角に対応し、
前記方位角ヒートマップの第３次元は、前記オブジェクトの方位角に対応し、前記面内回転ヒートマップの第３次元は、前記オブジェクトの面内回転角に対応する、
請求項３に記載の方法。
【請求項５】
前記姿勢コンポーネントのそれぞれに対する前記ヒートマップは、前記画像を形成するピクセルのグリッドに関して、前記第１次元と前記第２次元に沿ってスケーリングされるヒートマップコンポーネントのそれぞれのグリッドを含む、請求項４に記載の方法。
【請求項６】
３次元オブジェクト空間が前記オブジェクトの３次元表現を含み、前記３次元オブジェクト空間の原点は、前記オブジェクトの前記オブジェクト中心に対応し、
２次元カメラ平面が、前記３次元オブジェクト空間のカメラ平面への２次元投影を含み、
前記オブジェクトの前記画像を取得するステップは、画像センサを介して前記画像を取得することを含み、
前記３次元オブジェクト空間内のカメラポイントの位置は、シーン内の前記画像センサの位置に対応する、
請求項４に記載の方法。
【請求項７】
前記姿勢推定を生成するステップは、前記３次元オブジェクト空間内の前記オブジェクトの球境界を推定することを含み、
前記オブジェクト境界ヒートマップの前記不確実性指標は、カメラ平面への球体境界の２次元投影に基づいており、
前記方法は、さらに、
前記オブジェクト境界ヒートマップに基づいて、推定オブジェクト半径を取得するステップと、
オブジェクトモデルのデータベースの中から前記オブジェクトの３次元オブジェクトモデルを識別するステップと、
特定された前記オブジェクトモデルのサイズへの前記取得された推定半径の比較に基づいて、前記オブジェクトのスケールと、前記オブジェクトと前記画像センサとの間の距離の両方を推定するステップと、
を含む、請求項６に記載の方法。
【請求項８】
プロセッサと、非一時的コンピュータ可読記憶媒体とを備えた姿勢推定デバイスであって、
該非一時的コンピュータ可読記憶媒体は、該プロセッサによって実行されると、該姿勢推定デバイスに、
オブジェクトの画像を取得させ、
前記オブジェクトの姿勢推定を生成させる
命令を有し、
該姿勢推定は、前記オブジェクトの姿勢の複数の姿勢コンポーネントのそれぞれに対して、それぞれのヒートマップを含み、
該姿勢コンポーネントの各々のそれぞれのヒートマップは、前記画像の１つ以上のピクセルの各々において該姿勢コンポーネントの不確実性のそれぞれの不確実性指標を含む、
姿勢推定デバイス。
【請求項９】
前記複数の姿勢要素は、前記オブジェクトの仰角、前記オブジェクトの方位角、前記オブジェクトのオブジェクト中心、前記オブジェクトのオブジェクト北ポイント、前記オブジェクトの面内回転、および、前記オブジェクトのオブジェクト境界を含む、請求項８に記載の姿勢推定デバイス。
【請求項１０】
前記オブジェクトの仰角のそれぞれの仰角ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの前記方位角のそれぞれの方位角ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの前記オブジェクト中心のそれぞれのキーポイント・ヒートマップは、それぞれの２次元ヒートマップを含み、前記オブジェクトの前記オブジェクト北ポイントのそれぞれの北キーポイント・ヒートマップは、それぞれの２次元ヒートマップを含み、
前記オブジェクトの前記面内回転のそれぞれの面内回転ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの前記オブジェクト境界のそれぞれのオブジェクト境界ヒートマップは、それぞれの２次元ヒートマップを含む、
請求項９に記載の姿勢推定デバイス。
【請求項１１】
前記姿勢の前記ヒートマップの第１次元および第２次元は、それぞれ、前記画像の第１軸と第２軸に対応し、
前記仰角ヒートマップの第３次元は、前記オブジェクトの仰角に対応し、
前記方位角ヒートマップの第３次元は、前記オブジェクトの方位角に対応し、
前記面内回転ヒートマップの第３次元は、前記オブジェクトの面内回転角に対応する、
請求項１０に記載の姿勢推定デバイス。
【請求項１２】
前記姿勢コンポーネントの各々の前記それぞれのヒートマップは、前記画像を形成するピクセルのグリッドに関して、前記第１次元および前記第２次元に沿ってスケーリングされるヒートマップコンポーネントのそれぞれのグリッドを含む、請求項１１に記載の姿勢推定デバイス。
【請求項１３】
３次元オブジェクト空間は、前記オブジェクトの３次元表現を含み、
前記３次元オブジェクト空間の原点は、前記オブジェクトのオブジェクト中心に対応し、
２次元カメラ平面は、前記３次元オブジェクト空間のカメラ平面への２次元投影を含み、
前記オブジェクトの前記画像を取得するための前記命令は、前記姿勢推定デバイスに、画像センサを介して前記画像を取得させる命令を含み、
前記３次元オブジェクト空間内のカメラポイントの位置は、シーン内の前記画像センサの位置に対応する、
請求項１１に記載の姿勢推定デバイス。
【請求項１４】
前記姿勢推定の生成は、前記３次元オブジェクト空間内の前記オブジェクトの球体境界を推定することを含み、
前記オブジェクト境界ヒートマップの前記不確実性指標は、前記カメラ平面への前記球体境界の２次元投影に基づいており、
前記非一時的コンピュータ可読記憶媒体は、前記プロセッサによって実行されると、前記姿勢推定デバイスに、さらに、
前記オブジェクト境界ヒートマップに基づいて、推定オブジェクト半径を取得するステップと、オブジェクトモデルのデータベースの中から前記オブジェクトの３次元オブジェクトモデルを識別するステップと、
特定された前記オブジェクトモデルのサイズへの前記取得された推定半径の比較に基づいて、前記オブジェクトのスケールと、前記オブジェクトと前記画像センサとの間の距離の両方を推定するステップと、
を実行させる命令を含む、
請求項１３に記載の姿勢推定デバイス。
【請求項１５】
姿勢推定デバイスによって実行される方法であって、
１つ以上のトレーニング画像を生成するステップであって、それぞれが、それぞれの姿勢のオブジェクトモデルの２次元投影を含む、ステップと、
前記トレーニング画像ごとにそれぞれのヒートマップセットを生成するステップであって、該それぞれのヒートマップセットは、トレーニング画像に投影されたオブジェクトモデルのそれぞれの姿勢の複数の姿勢コンポーネントのそれぞれに対して、それぞれのグラウンドトゥルース不確実性ヒートマップを含み、該それぞれのグラウンドトゥルース不確実性ヒートマップは、それぞれのトレーニング画像の１つ以上のピクセルのそれぞれにおいて姿勢コンポーネントの不確実性のそれぞれの不確実性割り当てを含む、ステップと、
前記トレーニング画像および前記トレーニング画像のために生成されたそれぞれのヒートマップセットのグラウンドトゥルース不確実性ヒートマップと、に基づいたニューラルネットワークを訓練するステップと、
画像センサを介して取得したオブジェクトの画像を受信するステップと、オブジェクトの姿勢の複数の姿勢コンポーネントのそれぞれに対して、前記ニューラルネットワークを介してそれぞれの不確実性ヒートマップを生成するステップであって、該それぞれの不確実性ヒートマップは、前記画像の１つ以上のピクセルのそれぞれでの姿勢コンポーネントの不確実性のそれぞれの不確実性の指標を含む、ステップと、
を含む方法。
【請求項１６】
前記オブジェクトの前記複数の姿勢要素は、前記オブジェクトの仰角、前記オブジェクトの方位角、前記オブジェクトのオブジェクト中心、前記オブジェクトのオブジェクト北ポイント、前記オブジェクトの面内回転、および、オブジェクトのオブジェクト境界を含む、請求項１５に記載の方法。
【請求項１７】
前記オブジェクトの仰角のそれぞれの仰角ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの方位のそれぞれの方位角ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの前記オブジェクト中心のそれぞれのキーポイント・ヒートマップは、それぞれの２次元ヒートマップを含み、
前記オブジェクトの前記オブジェクト北ポイントのそれぞれの北キーポイント・ヒートマップは、それぞれの２次元ヒートマップを含み、
前記オブジェクトの前記面内回転のそれぞれの面内回転ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの前記オブジェクト境界のそれぞれのオブジェクト境界ヒートマップは、それぞれの２次元ヒートマップを含む、
請求項１６に記載の方法。
【請求項１８】
前記生成された姿勢推定の前記ヒートマップの第１次元および第２次元は、それぞれ、前記画像の第１軸と第２軸に対応し、
前記仰角ヒートマップの第３次元は、前記オブジェクトの仰角に対応し、前記方位角ヒートマップの第３次元は、前記オブジェクトの方位角に対応し、
前記面内回転ヒートマップの第３次元は、前記オブジェクトの面内回転角に対応する、請求項１７に記載の方法。
【請求項１９】
３次元オブジェクト空間は、前記オブジェクトの３次元表現を含み、
前記３次元オブジェクト空間の原点は、前記オブジェクトの前記オブジェクト中心に対応し、
２次元カメラ平面は、前記３次元オブジェクト空間の、カメラ平面への２次元投影を含み、
前記３次元オブジェクト空間内のカメラポイントの位置は、シーン内の前記画像センサの位置に対応する、
請求項１８に記載の方法。
【請求項２０】
前記姿勢推定を生成するステップは、前記３次元オブジェクト空間内の前記オブジェクトの球体境界を推定するステップを含み、
前記オブジェクト境界ヒートマップの前記不確実性の指標は、前記カメラ平面への前記球体境界の２次元投影に基づいており、
前記方法は、
前記オブジェクト境界ヒートマップに基づいて推定オブジェクト半径を取得するステップと、
オブジェクトモデルのデータベースの中から、前記オブジェクトの３次元オブジェクトモデルを識別するステップと、
前記取得された推定半径の特定されたオブジェクトモデルのサイズとの比較に基づいて、前記オブジェクトのスケール、および、前記オブジェクトと前記画像センサとの間の距離の両方を推定するステップと、
をさらに含む、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連アプリケーションへの相互参照］
この出願は、２０１９年３月２１日に提出された米国仮出願第６２／８２１５６６号の利益を主張する。その内容全体は、参照によりその全体が組み込まれる。
【０００２】
本開示は、一般に、姿勢推定システム（ｐｏｓｅ  ｅｓｔｉｍａｔｉｏｎ  ｓｙｓｔｅｍ）、姿勢推定デバイス、姿勢推定システムとデバイスによって実行される方法に関する。より具体的には、システム、デバイス、およびオブジェクトの姿勢推定を生成するための方法に関する。
【背景技術】
【０００３】
ロボット、車両、他のデバイスやシステムでは、コンピュータビジョンを使用してさまざまなタスクを実行できる。例えば、ロボットは、コンピュータビジョンを使用して、おそらく、オブジェクトをつかむために機械的なアームを使用することによって、シーン内のオブジェクトとやり取りすることができる。車両（自動運転車など）は、車両ドライバーに代わって介入を実行するため、おそらく車両の軌道を変更することにより、シーンで識別された道路上のオブジェクトを回避するため、コンピュータビジョンを使用することができる。しかしながら、既存のシステムは、特定のシーンのそれぞれ異なるビューを表す画像に基づいて、コンピュータビジョンを実行するための十分なメカニズムを提供しない。また、既存のシステムは、特定のシーン内のあいまいさを適切に考慮していない。
【発明の概要】
【０００４】
本開示の実施形態は、姿勢推定デバイスによって実行される方法の形態をとる。この方法は、オブジェクトの画像を取得すること、および、オブジェクトの姿勢推定を生成することを含む。姿勢推定には、オブジェクトの姿勢の複数の姿勢コンポーネントのそれぞれのヒートマップが含まれる。そして、各姿勢コンポーネントのそれぞれのヒートマップは、画像の１つ以上のピクセルのそれぞれにおいて、姿勢コンポーネントの不確実性のそれぞれの不確実性表示を含む。
【０００５】
別の実施形態は、プロセッサおよび、命令が含まれている非一時的なコンピュータ可読記憶媒体を含む姿勢推定デバイスの形態をとる。プロセッサによって実行されると、この命令は、姿勢推定デバイスにオブジェクトの画像を取得させ、オブジェクトの姿勢推定を生成させる。姿勢推定には、オブジェクトの姿勢の複数の姿勢コンポーネントのそれぞれに対して、それぞれのヒートマップが含まれる。そして各姿勢コンポーネントのそれぞれのヒートマップは、画像の１つ以上のピクセルのそれぞれにおいて、姿勢コンポーネントの不確実性のそれぞれの不確実性表示を含む。
【０００６】
さらなる実施形態は、姿勢推定デバイスによって実行される方法の形をとる。この方法は、１つ以上のトレーニング画像の生成を含み、各トレーニング画像は、それぞれの姿勢において、オブジェクトモデルの２次元投影を含む。この方法は、トレーニング画像ごとにそれぞれのヒートマップセットを生成することをさらに含む。それぞれのヒートマップセットには、トレーニング画像に投影されたオブジェクトモデルのそれぞれの姿勢の複数の姿勢コンポーネントのそれぞれに対して、それぞれのグラウンドトゥルース（ｇｒｏｕｎｄ−ｔｒｕｔｈ）不確実性ヒートマップが含まれている。それぞれのグラウンドトゥルース不確実性ヒートマップは、それぞれのトレーニング画像の１つ以上のピクセルのそれぞれにおいて、姿勢コンポーネントの不確実性のそれぞれの不確実性の割り当てを含む。この方法は、トレーニング画像用に生成されたそれぞれのヒートマップセットにおいて、トレーニング画像およびグラウンドトゥルース不確実性ヒートマップに基づいてニューラルネットワークをトレーニングすること、センサを介して取得したオブジェクトの画像を受信することをさらに含む。この方法には、オブジェクトの姿勢の複数の姿勢コンポーネントのそれぞれについてニューラルネットワークを介してそれぞれの不確実性ヒートマップを生成することも含まれる。それぞれの不確実性ヒートマップは、画像の１つ以上のピクセルのそれぞれにおいて、姿勢コンポーネントの不確実性のそれぞれの不確実性表示を含む。
【０００７】
本開示の実施形態によって提供されるこれらおよび追加の特徴は、以下の詳細な説明を、図面と併せて考慮して、より完全に理解される。
【図面の簡単な説明】
【０００８】
図面に記載されている実施形態は、本質的に図示および例示であり、開示を制限することを意図していない。例示的な実施形態の以下の詳細な説明は、以下の図面と併せて読むと理解できる。ここで、同様の構造は同様の参照番号で示されている。
【図１】図１は、本明細書で図示し説明する１つまたは複数の実施形態による姿勢推定システムを示している。
【図２】図２は、本明細書で図示し説明する１つまたは複数の実施形態による姿勢推定デバイスを示しています。
【図３ａ】図３ａは、本明細書で図示し説明する１つまたは複数の実施形態による、姿勢の１つ以上のコンポーネントが表現されることができるものに関してオブジェクト空間を示している。
【図３ｂ】図３ｂは、本明細書で図示し説明する１つまたは複数の実施形態による、姿勢の１つ以上のコンポーネントが関する表現されることができることに関するカメラ平面を示している。
【図４ａ】図４ａは、オブジェクト空間内の姿勢のコンポーネントを示している。本明細書で説明および図示される１つまたは複数の実施形態による。
【図４ｂ】図４ｂは、本明細書で説明および図示される１つまたは複数の実施形態による、カメラプレーンの姿勢のコンポーネントを示している。
【図５】図５は、本明細書で図示し説明する１つまたは複数の実施形態による、オブジェクトの姿勢の姿勢推定のコンポーネントを示している。
【図６ａ】図６ａは、本明細書で図示し説明する１つまたは複数の実施形態による、キーポイント姿勢コンポーネントの２次元ヒートマップの例を示している。
【図６ｂ】図６ｂは、本明細書で図示し説明する１つまたは複数の実施形態による、仰角姿勢コンポーネントの３次元ヒートマップの例を示している。
【図７】図７は、本明細書で図示し説明する１つまたは複数の実施形態による、姿勢推定デバイスにより実行される方法のフローチャートを示す。
【図８】図８は、本明細書に例示および記載される１つ以上の実施形態による、姿勢推定デバイスにより実行される方法のフローチャートを示す。
【発明を実施するための形態】
【０００９】
デバイスは、カメラまたは他のセンサを介して観測されたオブジェクトの姿勢を推定できる。オブジェクトの姿勢には、オブジェクトに関して観測者の仰角や方位角（カメラなど）いくつかの姿勢コンポーネントが含まれる場合がある。１人の観察者から見たオブジェクトの姿勢は、第２のオブザーバーが見るようなオブジェクトの姿勢と異なる場合がある。そのような場合、デバイスは、たとえば、オブジェクトの画像のそれぞれの姿勢推定をさまざまな観点から生成することにより、複数の姿勢推定を生成できる。しかしながら、多くの場合、これらの異なる姿勢推定を融合して、すべての姿勢推定の情報が組み込まれている姿勢推定を作成することはできない。したがって、それは、単一の観点から観察されるオブジェクトの姿勢推定よりも正確である。
【００１０】
姿勢推定システム、姿勢推定デバイス、および、オブジェクトの姿勢推定を生成する方法について、本明細書では、説明する。いくつかの実施形態では、姿勢推定デバイスがオブジェクトの画像を取得し、オブジェクトの姿勢推定を生成する。姿勢推定には、オブジェクトの姿勢の複数の姿勢コンポーネントのそれぞれに対して、それぞれのヒートマップが含まれる。姿勢コンポーネントごとのそれぞれのヒートマップは、画像の１つ以上のピクセルのそれぞれにおいて、姿勢コンポーネントの不確実性のそれぞれの不確実性表示を含む。姿勢コンポーネントのそれぞれの不確実性ヒートマップで姿勢推定を生成することにより、生成された姿勢推定は互いに、または、他の確率的情報と融合できる。姿勢推定システムのさまざまな実施形態、姿勢推定デバイス、およびオブジェクトの姿勢推定を生成するための方法は、以下で、図面を参照して詳細に説明する。
【００１１】
図１は、本明細書に例示および記載される１つ以上の実施形態による姿勢推定システムを示している。図示されているように、システム１００は、デバイス１０２、センサ１０４およびデータベース１０６の形態の姿勢推定デバイスを含む。システム１００は、オブジェクト１１２の画像１２０を取得し、オブジェクト１１２の姿勢の姿勢推定１３０を生成する。
【００１２】
デバイス１０２は、本明細書に記載の姿勢推定デバイスの機能を実行することが可能な任意のデバイスの形態を取り得る。例えば、デバイス１０２は、オブジェクト（オブジェクト１１２など）、ロボットを動かすための１つ以上の車輪またはロボットの足、またはこれらの組み合わせを取得または操作するために、１つ以上のロボットハンドを含むロボットの形態をとることができる。これらは、ほんの一例である。別の可能性として、他の例の中で、デバイス１０２は、自動運転車、半自律車両、（たとえば、図１に示すように自動車の形の）手動操作の車両、または、これらの任意の組み合わせなど車両の形をとることができ、さらなる可能性として、デバイス１０２は、例として、サーバーコンピュータ、メインフレーム、仮想マシン、ワークステーション、ターミナル、またはパソコンの形をとることができる。デバイス１０２は、これら、または他のデバイスの任意の組み合わせの形態を取ることができることを理解すべきである。一実施形態では、システム１００は、デバイス１０２を介して姿勢推定１３０を生成する。
【００１３】
センサ１０４（画像センサとも呼ばれる）は、シーンの画像を表すデータを取得するように動作可能な１つ以上のセンサの形式をとることができる。そして、本明細書で説明される他のセンサ機能を実行する。一実施形態では、システム１００は、センサ１０４を介して画像１２０を取得する。いくつかの実施形態では、センサ１０４は、デバイス１０２に配置または取り付けることができる。例えば、デバイス１０２は、ロボットまたは車両の形をとることができ、センサ１０４は、ロボットまたは車両の外部に取り付けることができる。いくつかの実施形態では、センサ１０４は、例えば、ネットワーク経由など、デバイス１０２とは別個であるが通信可能に接続されている。
【００１４】
一実施形態では、センサ１０４は、センサの観点からシーンの画像を取得するためにデバイス１０２で使用できる信号（電磁放射など）を取得する。例えば、センサ１０４は、デジタルカメラ、レーダーセンサＬＩＤＡＲセンサ、またはこれらまたは他のセンサの任意の組み合わせの形態を取る（または含む）ことができる。カメラは、光またはその他の電磁放射を収集することができる。そして、収集された放射線に基づいてシーンの画像を生成することができる。レーダーセンサおよび／またはＬＩＤＡＲセンサは、（パルスレーザー光や電波など）信号を送信でき、センサからオブジェクト（オブジェクト１１２など）の表面までの距離測定値を、信号の飛行時間に基づいて、取得することができる。つまり、信号が送信されてから（オブジェクトの表面で反射した）反射信号が送信されるまでの時間を、センサが受信する。
【００１５】
データベース１０６は、オブジェクト１１２、例としてセンサ１０４を介して取得された１つ以上の画像（画像１２０など）、または他のデータなどのオブジェクトの１つ以上の３次元オブジェクトモデル（または他のモデル）を格納することができる。データベース１０６は、リレーショナルまたは非リレーショナルＤＢＭＳ、サーバーコンピューティングデバイス、クラウドコンピューティングデバイス、またはこれらまたは他のデータベースの任意の組み合わせなどデータベース管理システム（ＤＢＭＳ）の形式を取ることができる。追加または代替として、データベース１０６はテーブル、フラットファイル、データストレージのファイルシステム内のデータ、ヒープファイル、Ｂ  ＋ツリー、ハッシュテーブル、ハッシュバケット、またはこれらの任意の組み合わせの形をとることができる。データベース１０６は、デバイス１０２とは別個のデバイスの形をとることができる。その場合、データベースはデバイス１０２に、たとえば、ネットワーク経由で通信可能に接続できる。オブジェクトモデル、画像、そして、他のデータは、ネットワークを介してデータベース１０６からデバイス１０２によって取得できる。追加または代替として、デバイス１０２はデータベース１０６を含むことができ、オブジェクトモデル画像、または、他のデータを、デバイス１０２のデータストレージに保存できる。
【００１６】
上記のように、いくつかの実施形態では、システム１００はネットワークを含むことができ、次に、１つ以上のコンピューティングシステム、ネットワークに通信可能に接続された（デバイス１０２センサ１０４および／またはデータベース１０６など）１つ以上のエンティティ間でデータの転送を容易にするように構成された少なくとも１つのネットワークインフラストラクチャを含むことができる。このネットワークは、１つ以上の広域ネットワーク（ＷＡＮ）および／またはローカルエリアネットワーク（ＬＡＮ）を含むことができる。これらは、有線および／または無線ネットワークであり得る。いくつかの例では、このネットワークには、他の可能性の中で、インターネットおよび／または１つ以上の無線セルラーネットワークが含まれることがあり得る。ネットワークは、イーサネット（登録商標）、Ｗｉ−Ｆｉ、インターネットプロトコル（ＩＰ）、伝送制御プロトコル（ＴＣＰ）、長期的進化（ＬＴＥ）、など１つ以上の通信プロトコルに従って動作する。ネットワークは単一のネットワークとして示されているが、ネットワークには、複数のそれ自体が通信可能にリンクされている別個のネットワークが含まれる場合があることを理解されるべきである。システム１００の１つまたは複数のエンティティは、通信可能に、それぞれの通信リンクを介してネットワークに接続することができる。これは、ネットワークに通信可能に接続されたエンティティ間の通信を容易にし、また、１つ以上の有線および／または無線通信リンクの形式を取ることもできる。通信リンクのいずれかは、ハードウェアおよび／またはソフトウェアの組み合わせであり得、おそらく、１つ以上の物理的なリンク、通信ネットワーク、搬送、および／またはアプリケーション層など、１つ以上の通信リンク層で動作する。ネットワークと通信リンクも、他の形式をとることができる。
【００１７】
システム１００は、異なるおよび／または追加のコンポーネントを含むことができる。例えば、図１に示すようにシステム１００は、デバイス１５２、センサ１５４などの少なくとも１つの追加センサ、またはこれらまたは他のコンポーネントの任意の組み合わせなどの少なくとも１つの追加デバイスを含むことができる。センサ１０４は、本開示内において単数形で参照される場合があるが、センサ１０４は、単一のセンサまたは複数のセンサの形態を取る（または含む）ことができることは理解されるべきである。
【００１８】
シーン１１０は、センサ１０４またはセンサ１５４などオブザーバーが所定の時間に知覚するように、物理的環境の形をとることがあり得る。そして、オブジェクト１１２はシーン１１０内にあり得る。例えば、シーン１１０には、床、壁、テーブルトップなどの表面を含めることができる。そして、シーン１１０内のオブジェクト１１２は、これらの表面のうちの１つ以上に配置され得る。シーン１１０には追加のオブジェクトも含めることができる。
【００１９】
オブジェクト１１２は、任意のオブジェクトの形をとることができる。例えば、デバイス１０２はロボットの形をとることができ、そして、オブジェクト１１２はつかむこと、移動すること、または、１つ以上のロボットアームまたはアクチュエータを介してロボットによって操作されることができるオブジェクトである可能性がある。別の可能性として、デバイス１０２は車両（ｖｅｈｉｃｌｅ）の形をとることができ、オブジェクト１１２は、例として、交通標識、歩行者、または別の車両であり得る。図１に示す実施形態では、オブジェクト１１２は、ハンドル付きの飲料マグカップの形をとる。
【００２０】
画像１２０は、（センサ１０４またはセンサ１５４の視点など）特定の視点からの観察者が見たときにシーン１１０の画像の形をとることができる。いくつかの実施形態では、画像１２０は、例えば、ピクセルの長方形グリッドなど、ピクセルのグリッドの形をとることがあり、一実施形態では、画像１２０はピクセルのビットマップの形を取り、画像内のピクセルのそれぞれの位置は明示的に示されていない。ただし、ビットマップ自体のデータ構造から推測される。場合によっては、画像１２０の各ピクセルの位置は、デカルト座標系を使用して識別できる。ここで、ｘ軸はピクセルの水平位置を表し、ｙ軸はピクセルの垂直位置（またはその逆）を表す。座標系の原点は、画像の中心や画像の所定の角など、画像１２０の任意の位置の形をとることができる。
【００２１】
画像１２０は、例としてレーダー画像、またはＬＩＤＡＲイメージなど視覚画像の形を取ることができる。例えば、画像は写真またはビデオの静止フレームのデジタル表現の形を取ることができ、他の可能性の中で、共同写真専門家グループ（ＪＰＥＧ）画像、ポータブルネットワークグラフィックス（ＰＮＧ）イメージ、タグ付き画像ファイル形式（ＴＩＦＦ）画像、またはグラフィックスインターチェンジ形式（ＧＩＦ）画像など、非圧縮または圧縮された画像である可能性がある。
【００２２】
姿勢推定１３０は、画像１２０に基づいてデバイス１０２によって生成され得る。姿勢推定に関する追加の詳細を以下に示す。
【００２３】
図２は、姿勢推定デバイスを示している。本明細書に例示および記載される１つ以上の実施形態による。図示されているように、デバイス１０２は、プロセッサ２０２、データストレージ２０４、および通信インターフェース２０６を含み、それぞれがシステムバス２０８を介して通信可能に接続されている。デバイス１０２は、画像１２０を取得し、取得した画像に基づいて姿勢推定１３０を生成する。図示されているように、デバイス１０２は、ニューラルネットワーク２２０を実行する。
【００２４】
プロセッサ２０２は、１つ以上の汎用プロセッサおよび／または１つ以上の専用プロセッサの形態をとることができる。また、例として、データストレージ２０４、通信インターフェース２０６、および／またはデバイス１０２の他のコンポーネントと全体的または部分的に統合することもできる。したがって、プロセッサ２０２は、他の可能性の中で、コントローラ、集積回路、マイクロチップ、中央処理装置（ＣＰＵ）、マイクロプロセッサ、システムオンチップ（ＳｏＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および／または特定用途向け集積回路（ＡＳＩＣ）の形態をとるか、コントローラを含むことができる。
【００２５】
データストレージ２０４は、ハードドライブ、ソリッドステートドライブ、消去可能なプログラマブル読み取り専用メモリ（ＥＰＲＯＭ）ユニバーサルシリアルバス（ＵＳＢ）ストレージデバイス、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）ディスク、デジタル多用途ディスク（ＤＶＤ）、データベース管理システム、その他の不揮発性ストレージ、またはこれらの任意の組み合わせなど非一時的なコンピュータ可読ストレージ媒体の形をとることができる。これは、ほんのいくつかの例を挙げたものである。
【００２６】
命令２０５は、データストレージ２０４に格納することができ、そして、デバイス１０２に、本明細書で説明する姿勢推定機能を実行させるために、プロセッサ２０２により実行可能な機械語命令を含むことができる。追加または代替として、命令２０５は、スクリプト命令で指定された命令を実行するために、プロセッサ２０２とデバイス１０２に実行させるように構成されたスクリプトインタプリタにより実行可能なスクリプト命令を含み得る。当業者は、命令２０５が他の形式を取り得ることを認識する。
【００２７】
１つ以上のトレーニング画像またはオブジェクトのオブジェクトモデルなど、追加のデータを、データストレージ２０４に保存することができる。これは、以下でさらに詳しく説明する。追加データは、例として、テーブル、フラットファイル、データストレージのファイルシステム内のデータ、ヒープファイル、Ｂ  ＋ツリー、ハッシュテーブル、ハッシュバケット、またはこれらの任意の組み合わせとして保存できる。
【００２８】
通信インターフェース２０６は、本明細書で説明される通信インターフェース機能を実行することが可能な任意のコンポーネントであり得る。そのため、通信インターフェース２０６は、他の多くの例の中で、イーサネット（登録商標）、Ｗｉ−Ｆｉ、ブルートゥース（登録商標）、および／またはＵＳＢインターフェースの形態を取ることができる。一実施形態では、デバイス１０２は、センサ１０４を介して画像１２０を取得し、これは、デバイスが、通信インターフェース２０６経由でセンサ１０４から画像を取得することを伴う。
【００２９】
システムバス２０８は、ここで説明するシステムバス機能を実行することが可能な任意のコンポーネントであり得る。一実施形態では、システムバス２０８は、プロセッサ２０２、データストレージ２０４通信インターフェース２０６、および／またはデバイス１０２の他のコンポーネントの間でデータを転送するように構成された任意のコンポーネントである。一実施形態では、システムバス２０８は、当技術分野で知られている従来のバスを含む。他の実施形態では、システムバス２０８は、他の多くの可能性の中で、シリアルＲＳ−２３２通信リンク、ＵＳＢ通信リンク、および／またはイーサネット（登録商標）通信リンク、単独で、または従来のコンピュータバスと組み合わせを含む。いくつかの例では、システムバス２０８は、他の可能性の中で、導線、導電性トレース、または光導波路など信号を送信できる任意の媒体から形成することができる。また、システムバス２０８は、信号を送信できる媒体の組み合わせから形成することができる。システムバス２０８は、ローカル相互接続ネットワーク（ＬＩＮ）バス、コントローラーエリアネットワーク（ＣＡＮ）バス、車両エリアネットワーク（ＶＡＮ）バス、またはこれらまたは媒体の任意の組み合わせなど車両バス（ｖｅｈｉｃｌｅ  ｂｕｓ）の形態を取る（または含む）ことができる。当業者は、システムバス２０８が他のさまざまな形式をとることもあることを認識する。
【００３０】
図２に示す実施形態では、デバイス１０２は、ニューラルネットワーク２２０を実行する。データストレージ２０４に格納されている命令２０５は、デバイス１０２にニューラルネットワーク２２０を実行させるために、プロセッサ２０２により実行可能である命令を含むことができる。追加または代替として、デバイス１０２は、１つ以上の電子制御ユニット（ＥＣＵ）など１つ以上のハードウェアモジュールを含むことができ、ニューラルネットワーク２２０は、例として、ＥＣＵ、プロセッサー２０２またはこれらの組み合わせによって実行することができる。ニューラルネットワーク２２０は、フィードフォワードニューラルネットワーク、畳み込みニューラルネットワーク、リカレントニューラルネットワーク、ディープニューラルネットワーク（ディープ畳み込みニューラルネットワークなど）またはこれらの組み合わせ、または他の人工ニューラルネットワークの形をとることができ、一実施形態では、デバイス１０２は、ニューラルネットワーク２２０を介して姿勢推定１３０を生成する。例えば、デバイス１０２は、画像１２０をニューラルネットワーク２２０に提供することができ、ニューラルネットワーク２２０は、提供された画像に基づいて姿勢推定を生成することができる。
【００３１】
１つ以上の実施形態によれば、１つ以上のユークリッド空間など、１つ以上のスペースに関して、それぞれの姿勢のそれぞれのコンポーネントを表現または定義できる。図３ａおよび図３ｂは、特定の姿勢の１つ以上のコンポーネントを表すことができる。
【００３２】
具体的には、図３ａは、本明細書に例示および記載される１つ以上の実施形態により、どの姿勢の１つ以上のコンポーネントが表現され得るかに関するオブジェクト空間を示している。図示されているように、オブジェクト空間３００は、３次元ユークリッド空間の形をとる。オブジェクト空間は、相互に直交し、交差する、原点３０６におけるｘ軸３０２とｚ軸３０４を含む。カメラポイント３１０は、オブジェクト空間３００内のセンサ１０４の位置を表す。
【００３３】
図３ａには、オブジェクト空間３００内のオブジェクト１１２も示されている。本明細書に記載の１つ以上の実施形態では、ｘ軸３０２は、オブジェクト１１２のｘ軸の形をとり、ｚ軸３０４は、オブジェクトのｚ軸の形をとる。そのような実施形態では、オブジェクト空間３００のｘ軸は、オブジェクト１１２のｘ軸３０２と呼ばれる場合があり、また、オブジェクト空間のｚ軸は、オブジェクト１１２のｚ軸３０４と呼ばれる場合がある。
【００３４】
一実施形態では、ｚ軸３０４は、オブジェクト１１２の回転対称軸の形をとる。場合によっては、回転対称軸は、オブジェクト１１２のオブジェクト本体の主な回転対称部分の軸である可能性がある。例えば、オブジェクト１１２は、ハンドルを含み、そして、それは一般的に円筒形をしているマグとして図３ａに示されている。マグのｚ軸３０４は、円柱の円形の端のそれぞれの中心を通過する。
【００３５】
一実施形態では、原点３０６は、オブジェクトの重心などオブジェクト１１２のオブジェクト中心の形を取り、オブジェクトの重心は、例えば、オブジェクトの身体の主要な回転対称部分の重心であり得る。そのような実施形態では、オブジェクト空間３００の原点３０６は、オブジェクト１１２のオブジェクト中心と呼ばれる場合がある。
【００３６】
オブジェクト空間３００の北ポイント３０７（オブジェクト北ポイント）は、オブジェクト１１２のｚ軸３０４上に位置する点（原点３０６以外）の形をとる。「北」ポイントとしての北ポイント３０７への参照は任意です。北ポイント３０７はオブジェクト空間３００の別のポイントに対して北に位置する必要がないためである。北ポイント３０７に関する追加の詳細を以下に示す。
【００３７】
図３ａは、通常は、３次元デカルト座標系の一部であるｙ軸を特定していないことに留意する。それは、この詳細な説明で説明した例では、オブジェクト空間３００に関して表される姿勢コンポーネントは、デカルト座標系ではなく、球面座標系を使用して表現されるからである。しかしながら、この開示の範囲から逸脱することなく、直交座標系を使用して姿勢コンポーネントを表現できることは理解されるべきである。また、ただし、上記の実施形態では、オブジェクト１１２のそれぞれの軸として、ｘ軸３０２およびｚ軸３０４について説明している。オブジェクト１１２の軸は、オブジェクト空間３００の軸の形を取る必要はないことは理解されるべきである。
【００３８】
図３ａには、カメラ平面３５０も示されており、これは、図示の実施形態では、（３次元）オブジェクト空間３００の２次元投影の形式を取る。
【００３９】
図３ｂは、本明細書に例示および記載される１つ以上の実施形態による、姿勢の１つ以上の姿勢コンポーネントを表すことができるカメラ平面３５０を示す。図示されているように、カメラ平面３５０は、２次元ユークリッド空間（つまり、平面）の形をとり、オブジェクト空間３００（３次元）が投影される（つまり、投影面）。カメラ平面は、相互に直交し、交差し、カメラ平面の特定の原点にあるｘ軸３５２とｙ軸３５４を含む。
【００４０】
一実施形態では、カメラ平面３５０は、画像１２０の形をとる（または含む）。図示すると、投影面（カメラ面３５０など）は写真に似ている。すなわち、写真は、３次元の世界を２次元で表現したものである。同様に、カメラ平面３５０は、シーン１１０のオブジェクト１１２が表されている（３次元）オブジェクト空間３００の２次元投影である。画像１２０は、（３次元）オブジェクト１１０を含むシーン１１０の２次元画像の形をとることがあるため、カメラ平面３５０は、画像１２０によって表され得る。
【００４１】
一実施形態では、カメラ平面３５０のｘ軸３５２は、画像１２０のｘ軸の形を取り、カメラ平面のｙ軸３５４は、画像１２０のｘ軸の形をとる。例えば、いくつかの実施形態では、カメラ平面３５０は、画像１２０と、画像１２０の座標軸と重なるカメラ平面３５０の座標軸と一致している。
【００４２】
図４ａおよび４ｂは、本明細書で説明および図示される１つまたは複数の実施形態による姿勢の姿勢コンポーネントを示している。
【００４３】
具体的には、図４ａは、本明細書で説明および図示される１つまたは複数の実施形態による、オブジェクト空間３００内の姿勢の姿勢コンポーネントを示している。図示されているように、姿勢の姿勢コンポーネントには、仰角４０１と方位角４０２が含まれる。図示の実施形態では、仰角と方位角は（部分的に）、オブジェクトの中心（原点３０６）をカメラポイント３１０に接続する視線（ｖｉｅｗｉｎｇ  ｒａｙ）４３０に関して表される。
【００４４】
具体的には、仰角４０１は、視線４３０およびオブジェクト１１２のｚ軸３０４の間の角度の形をとり、そして、方位角４０２は、視線４３０と視線４３０との間の角度の形をとる。そのような実施形態では、仰角４０１と方位角４０２は、デカルト座標ではなく、球面座標として表される。そのような実施形態では、視線４３０に沿ったカメラポイント３１０の方位座標は、ｚ軸３０４の周りの回転量に対応し得る。回転対称のオブジェクト（図４ａに示すマグカップなど）の場合、姿勢推定１３０の方位角ヒートマップ？？は、たとえば、図のマグカップのハンドルが塞がれているとき、ｚ軸を中心とした回転のあいまいさをキャプチャすることができる（以下でさらに詳しく説明する）。
【００４５】
図４ｂは、本明細書で説明および図示される１つまたは複数の実施形態による、カメラ平面３５０における姿勢の姿勢コンポーネントを示している。図示されているように、姿勢の姿勢コンポーネントには、キーポイント４０３、北のキーポイント４０６、面内回転４０４およびオブジェクト境界４０５が含まれることができる。
【００４６】
図示された実施形態のキーポイント４０３は、カメラプレーン３５０では、カメラ平面３５０に投影されたオブジェクト空間３００のオブジェクト中心（原点３０６）の位置の形をとる。この位置は、ｘ軸３５２およびｙ軸３５４に沿った投影オブジェクトの中心の２次元座標の形式をとることがある。
【００４７】
北キーポイント４０６は、カメラプレーン３５０では、カメラ空間３５０に投影されたオブジェクト空間３００の北ポイント３０７の位置の形式を取る。キーポイント４０３の位置と同様に、北キーポイント４０６の位置は、ｘ軸３５２およびｙ軸３５４に沿って、北ポイント３０７の投影図の２次元座標の形をとることができる。
【００４８】
面内回転４０４は、カメラプレーン３５０では、カメラ平面３５０のｘ軸３５２と、オブジェクト１１２のｚ軸３０４のカメラプレーン３５０への投影との間の角度の形をとる（または含む）。いくつかの実施形態では、ｘ軸３５２とｚ軸３０４の間の角度は、カメラプレーン３５０における、（ｉ）キーポイント４０３と（ｉｉ）視線４３０とｚ軸３０４のそれぞれのカメラプレーン３５０への投影の間の角度との両方の組み合わせとして表すことができる。ｚ軸３０４の投影は、キーポイント４０３および北キーポイント４０６を使用して表すことができ、それは、オブジェクトの中心（原点３０６）と北のキーポイント４０６の、それぞれカメラプレーン３５０上への投影である。
【００４９】
場合によっては、視線４３０とｚ軸３０４が一致する特異性条件が生じ得る。したがって、面内回転４０４のいくつかの実施形態は、少なくとも１つの角度が明確に定義されているような（つまり、両方の角度で特異点条件が同時に発生しないように）追加の角度を含むことができる。一実施形態では、面内回転４０４はさらに、カメラプレーン３５０では、ｘ軸３５２とカメラ平面３５０へのオブジェクト１１２のｘ軸３０２の投影との間の角度を含み、場合によっては、たとえば、オブジェクト１１２の回転対称性の結果として、ｚ軸３０４の周りにあいまいさがない場合、この角度は、カメラプレーン３５０では、（ｉ）キーポイント４０３と（ｉｉ）視線４３０とｘ軸３０２のそれぞれのカメラ平面３５０への投影の間の角度の両方の組み合わせとして表すことができる。
【００５０】
オブジェクト境界４０５は、カメラプレーン３５０では、カメラ平面へのオブジェクト空間３００内のオブジェクト１１２の境界となる球体境界の投影である円４１２として示されている、仰角４０１、方位角４０２およびキーポイント４０３と組み合わせたオブジェクト境界４０５に基づいて、デバイス１０２は、オブジェクト中心（原点３０６）とカメラポイント３１０と間の視線４３０の長さを決定することができる。これは、オブジェクトの中心とセンサ１０４との間の距離を表す。
【００５１】
一実施形態では、ｚ軸３０４の投影は、オブジェクト１１２の既知のモデルに基づいて、例えば、北キーポイント４０６に基づいて、決定される。例として、北ポイント３０７は、オブジェクト１１２のｚ軸３０４上に、オブジェクト１１２のオブジェクト中心（原点３０６）から既知の距離で配置でき、ｚ軸３０４の投影（またはオブジェクト１１２の球の境界など）は、オブジェクト空間３００のオブジェクトの中心および北キーポイントそれぞれのカメラプレーン３５０上への投影を表すキーポイント４０３  および北キーポイント４０６に基づいて決定することができる。いくつかの実施形態では、デバイス１０２は、以下でさらに詳しく説明するように、データベース１０６からオブジェクト１１２の３次元モデルを取得する。
【００５２】
姿勢は、異なるおよび／または追加の姿勢コンポーネントによって表現できることを理解すべきである。場合によっては、所定の姿勢コンポーネントは、１つ以上の異なる姿勢コンポーネントの関数であることができる。例えば、オブジェクト１１２の姿勢を、視線４３０の長さに少なくとも部分的に基づいて表すことができる。視線４３０の長さは、次に、オブジェクト境界４０５およびオブジェクト１１２のオブジェクトモデルに基づいて決定され得る。
【００５３】
図５は、本明細書に例示および記載された１つ以上の実施形態による、オブジェクト１１２の姿勢の姿勢推定１３０のコンポーネントを示している。図５に示すように姿勢推定１３０には、仰角ヒートマップ５０１、方位角ヒートマップ５０２、キーポイント・ヒートマップ５０３ａ、北キーポイント・ヒートマップ５０３ｂ、面内回転ヒートマップ５０４、およびオブジェクト境界ヒートマップ５０５を含むヒートマップの集合が含まれる。姿勢推定１３０は、異なるおよび／または追加のヒートマップを含み得ることを理解するべきである。
【００５４】
特定の姿勢コンポーネントのヒートマップは、画像１２０の１つ以上のピクセルのそれぞれに対するそれぞれの不確実性の指標が含まれる。１つ以上のピクセルのそれぞれのそれぞれの不確実性の指標は、ピクセルでの姿勢コンポーネントの不確実性の、不確実性の指標である。ヒートマップは、画像１２０のピクセルの複数の不確実性の指標を含むことができる。場合によっては、ヒートマップには、その画像の各ピクセル、すべてのピクセルそれぞれの不確実性の指標が含まれていないことがあり得る。通常、特定の姿勢コンポーネントの各ヒートマップは、（画像１２０のオブジェクトの姿勢の）姿勢コンポーネントの確率分布を表す。
【００５５】
以下に、図７および図８を参照して説明する。デバイス１０２は、ニューラルネットワーク２２０を介して姿勢推定１３０のヒートマップを生成することができる。ニューラルネットワークは、ニューラルネットワークの事前訓練に基づいて、ヒートマップを生成することができる。例えば、ニューラルネットワーク２２０は、１つ以上のネットワークパラメータを含むことができ、以下で説明するように、ニューラルネットワークは、ネットワークパラメータに基づいて、ヒートマップを生成することができる。デバイス１０２は、ニューラルネットワークのトレーニング中にこれらのパラメータを設定し得る。
【００５６】
再び、図５を参照すると、姿勢推定１３０の所定のヒートマップは、複数の行と複数の列に配置されたヒートマップ要素のグリッドの形をとることができる。一実施形態では、画像１２０は、所定数の行、所定数の列に配置されたピクセルのグリッドの形をとり、ヒートマップのヒートマップ要素は、その画像と同じ行数、同じ列数に配置される。そのような実施形態では、各ヒートマップ要素は画像の特定のピクセルに対応し、その逆も同様である。別の実施形態では、姿勢推定１３０の所定のヒートマップは、画像１２０を形成するピクセルのグリッドに対してスケーリングされる（ヒートマップ要素の）グリッドの形を取る。例えば、ヒートマップＨの行数ｗＨと列数ｈＨは、
【数１】
2020173795.tif 000003
のように、表すことができる。ここで、ｓはスケーリング係数であり、ｗＩとｈＩは、画像Ｉの（それぞれ）行と列の数である。
【００５７】
ヒートマップ要素には、ヒートマップ要素に対応するピクセルのそれぞれの不確実性の指標を含めることができる。その場合、不確実性の指標は、対応するピクセルの姿勢コンポーネントの不確実性の指標である。一実施形態では、ヒートマップのヒートマップ要素には、不確実性の指標が１つしか含まれていない。この場合、ヒートマップは２次元ヒートマップの形式を取る。別の実施形態では、少なくとも１つのヒートマップ要素には、複数の不確実性の指標が含まれる。この場合、ヒートマップは３次元ヒートマップの形式を取る。ここに記載されているように、ヒートマップ要素のグリッドの第１と第２の次元は、それぞれ、グリッドの列および行に対応する。第３の次元は、それぞれのヒートマップ要素内のそれぞれの不確実性の指標に対応する。例えば、３次元グリッドの第３次元は、それぞれに含まれる不確実性の指標は１つのみあるヒートマップ要素のそれぞれの２次元ヒートマップグリッドに対応することができる。（特定の姿勢コンポーネントの３次元ヒートマップの）３次元の２次元ヒートマップの数は、（指定された姿勢コンポーネントのヒートマップ内で）不確実性の指標が最も多い画像１２０のピクセルの不確実性の指標の数に等しいことができる。他の例も可能である。
【００５８】
場合によっては、ヒートマップには、ヒートマップ要素ごとに、それぞれの不確実性の指標が含まれていないことができる。いくつかの実施形態では、少なくとも１つの不確実性を示す（特定のヒートマップ内の）ヒートマップ要素は、（同じヒートマップ内で）少なくとも１つの不確実性の指標を有するすべてのヒートマップ要素と同じ数の不確実性の指標を有する。すなわち、特定のヒートマップ要素には不確実性の指標はない、または、（不確実性の指標がないヒートマップ要素を除く）他のすべてのヒートマップ要素と同じ数の不確実性の指標がある。
【００５９】
再び、図５を参照すると、仰角ヒートマップ５０１は、３次元ヒートマップの形式を取る。仰角ヒートマップ５０１の第１と第２の次元は、それぞれ、上記のように、グリッドの列と行に対応することができる。図５において、仰角ヒートマップ５０１の第３の次元は、それぞれの２次元仰角ヒートマップ５０１ａ、５０１ｂ、５０１ｃ、および５０１ｎに対応する。
【００６０】
仰角ヒートマップ５０１の２次元ヒートマップのそれぞれは、それぞれ異なる仰角４０１に対応することができる。例えば、仰角ヒートマップ５０１ａは、仰角ゼロに対応することができ、仰角ヒートマップ５０１ｂは、１／４パイの仰角に対応し得る。特定の仰角４０１に対応する仰角ヒートマップのそれぞれの不確実性の指標は、例として、カメラ平面３５０に投影されたオブジェクト空間３００のキーポイント４０３においてオブジェクトの中心（原点３０６）の位置（カメラ平面３５０）を仮定し、および／または、カメラ平面３５０に投影されたオブジェクト空間３００が北キーポイント４０６にある北ポイント３０７の（カメラ平面３５０内の）位置を仮定すると、それぞれのピクセル（またはピクセルのセット）で表されるオブジェクト１１２の仰角の不確実性の指標であり得る。例えば、仰角ゼロに対応する仰角ヒートマップのそれぞれの不確実性の指標は、それぞれのピクセルで表示されるオブジェクト１１２の仰角であり得る。または、オブジェクトの中心の位置がキーポイント４０３にあった場合、ピクセルはゼロである。図６ｂは、３次元仰角ヒートマップの例を示している。
【００６１】
方位角ヒートマップ５０２は、３次元ヒートマップの形も取る。図示の実施形態では、方位角ヒートマップ５０２の第３の次元は、それぞれの２次元方位角ヒートマップ５０２ａ、５０２ｂ、５０２ｃ、および５０２ｎに対応する。方位角ヒートマップ５０２の２次元ヒートマップは、それぞれ異なる方位角４０２に対応する場合があり、与えられた方位角に対応する二次元方位角ヒートマップのそれぞれの不確実性の指標は、おそらくは、例えば、オブジェクトの中心の位置、または、北ポイントが、オブジェクト空間３００のオブジェクトがカメラ平面３５０に投影されるとき、それぞれ、キーポイント４０３または北キーポイント４０６にあることを仮定すると、それぞれのピクセルで表されるオブジェクト１１２の方位角の不確実性の指標であり得る。
【００６２】
キーポイント・ヒートマップ５０３ａおよび北キーポイント・ヒートマップ５０３ｂは、それぞれの２次元ヒートマップの形式を取る。仰角ヒートマップ５０１および方位角ヒートマップ５０２と同様に、キーポイント・ヒートマップ５０３ａおよび北キーポイント・ヒートマップ５０３ｂの第１および第２次元は、ヒートマップの各グリッドの列と行に対応する。一実施形態では、キーポイント・ヒートマップ５０３ａの各不確実性の指標は、キーポイント４０３がそれぞれのピクセル（またはピクセル）で表される不確実性の指標の形をとる。つまり、オブジェクトの中心（原点３０６）は、それぞれのピクセルまたはピクセルのセットで表される。キーポイント・ヒートマップ５０３ａの例を、図６ａを参照して以下で説明する。
【００６３】
面内回転ヒートマップ５０４は、３次元ヒートマップの形をとる。図示の実施形態では、面内回転ヒートマップ５０４の３次元は、それぞれの２次元の面内回転ヒートマップ５０４ａ、５０４ｂ、５０４ｃ、および５０４ｎに対応する。面内回転ヒートマップ５０４の２次元ヒートマップのそれぞれ、オブジェクト１１２の面内回転４０４のそれぞれ異なる角度に対応することができる。与えられた面内回転角に対応する２次元の面内回転ヒートマップでのそれぞれの不確実性の指標は、たとえば、オブジェクトの中心または北の位置が、（他の可能性の中でも）上記のように、それぞれ、キーポイント４０３または北キーポイント４０６にあることを仮定すると、それぞれのピクセルで表されたオブジェクト１１２の面内回転角の不確実性の指標であり得る。
【００６４】
オブジェクト境界ヒートマップ５０５は、２次元ヒートマップの形をとる。一実施形態では、それぞれのピクセル（または複数ピクセル）でのオブジェクト境界４０５のそれぞれの不確実性の指標である、オブジェクト境界ヒートマップ５０５の各不確実性の指標は、そのオブジェクト境界４０５において、それぞれのピクセルで表される不確実性を示す形をとる。
【００６５】
図６ａは、本明細書に例示および記載される１つ以上の実施形態によるキーポイント姿勢コンポーネントのヒートマップの例を示している。図示の実施形態では、キーポイント・ヒートマップ５０３ａは、ｘ軸６０２に沿って多数の列ｙ軸６０４に沿った多数の行に配置されたヒートマップ要素のグリッドの形式を取る。この実施形態では、キーポイント・ヒートマップ５０３ａのヒートマップ要素は、画像１２０と同じ数の行と同じ数の列に配置される。したがって、画像１２０の各ピクセルは、キーポイント・ヒートマップ５０３ａに対応するヒートマップ要素、および、画像１２０の特定のピクセルに対応するキーポイント・ヒートマップ５０３ａの各ヒートマップ要素を持っている。しかしながら、前述のとおり、姿勢推定１３０のキーポイント・ヒートマップ５０３ａ（またはその他のヒートマップ）は、他の例の中で、画像１２０を形成するピクセルのグリッドに関してスケーリングされる（ヒートマップ要素の）グリッドの形をとることがある。
【００６６】
図示されているように、図６ａに示されているヒートマップ要素のいくつかには、ハッチングが含まれている。一実施形態では、ハッチングで示されているキーポイント・ヒートマップ５０３ａのヒートマップ要素は、不確実性の指標を含むヒートマップ要素である。すなわち、キーポイント・ヒートマップ５０３ａのヒートマップ要素６１１およびヒートマップ要素６１２は、各々、キーポイント・ヒートマップの他のヒートマップ要素と同様に、それぞれの不確実性の指標が含まれる。ヒートマップ要素６１１のそれぞれの不確実性の指標は、オブジェクト１１２のオブジェクト中心（原点３０６）がヒートマップ要素６１１に対応するピクセルで表される不確実性の指標である。同様に、ヒートマップ要素６１２のそれぞれの不確実性の指標は、ヒートマップ要素６１２に対応して、オブジェクト１１２のオブジェクト中心（原点３０６）がピクセルで表されている不確実性の指標である。図６ａに見られるように、キーポイント・ヒートマップ５０３ａのいくつかのヒートマップ要素は、不確実性の指標を含まないことができる。
【００６７】
図示の実施形態では、ヒートマップ要素６１２は斜線のハッチングで示されている。キーポイント・ヒートマップ５０３ａの他のヒートマップ要素も同様である。ヒートマップ要素６１１（およびヒートマップ要素６１１のみ）には、十字形のハッチングが含まれている。この実施形態では、十字形のハッチングは、斜めのハッチングより不確実性が低いことを示します（つまり、より高い確実性）言い換えると、オブジェクト１１２のオブジェクト中心（原点３０６）がヒートマップ要素６１２に対応するピクセルで表されている不確実性は、オブジェクトの中心は、ヒートマップ要素６１１に対応するピクセルで表されている不確実性よりも高い。
【００６８】
図６ｂは、本明細書に例示および記載される１つ以上の実施形態による仰角姿勢コンポーネントのヒートマップの例を示している。図示の実施形態では、３次元仰角ヒートマップ５０１のｘ軸６５２およびｙ軸６５４は、それぞれ、画像１２０のｘ軸とｙ軸に対応する。Ｚ軸６５６は、この例では、仰角方向の軸に対応する。Ｚ軸６５６の仰角ヒートマップ５０１の各「スライス」は、方向の軸において、それぞれの角度を表す２次元ヒートマップに対応する。例えば、上記のように、仰角ヒートマップ５０１ａは、仰角ゼロに対応することができ、仰角ヒートマップ５０１ｂは、１／４パイ（ｐｉ）の仰角に対応する、等々である。この実施形態では、仰角は、キーポイント４０３と同じピクセル位置で予測される。
【００６９】
当業者は、方位角ヒートマップ５０２および面内回転ヒートマップ５０４が、仰角ヒートマップ５０１と同様の形式をとることがあることを理解する。例えば、方位角ヒートマップ５０２のｚ軸は、方位に対応することができ、そして、面内回転ヒートマップ５０４のｚ軸は、面内回転に対応することができる。さらに、キーポイント４０３として、上の例の仰角は同じピクセル位置で予測されるが、仰角は、北キーポイント４０６と同じピクセル位置など。別の場所で予測されることができる。また、方位角ヒートマップ５０２の方位と面内回転および面内回転ヒートマップ５０４は、それぞれ、キーポイント４０３または北キーポイント４０６と同じピクセル位置で、または別の場所で予測される。他のバリエーションも可能である。
【００７０】
オブジェクト１１２が（カメラプレーン３５０へのオブジェクトの２次元投影において）自己閉塞（ｓｅｌｆ−ｏｃｃｌｕｄｅｄ）している場合、特定の姿勢コンポーネント（または複数の姿勢コンポーネント）に対するそれぞれのヒートマップで表される確率分布は、オブジェクト１１２が自己閉塞されていない場合、同じ姿勢コンポーネント用の与えられたヒートマップで表される確率分布よりも高いことがあり得る。例えば、図３ｂでは、マグ（オブジェクト１１２）は、自己閉塞している。なぜなら、カメラプレーン３５０へのマグカップの２次元投影のハンドルがマグの本体に隠れているからである。この場合、デバイス１０２にとって、不確実性の低いマグカップの方位角４０２を決定することは、困難または不可能なことであり得る。マグカップはｚ軸３０４を中心に数ラジアンだけ回転できるが、画像１２０では同じように見えるためである。そのような場合、方位角ヒートマップ５０２の１つ以上の不確実性の指標は、無限に高いことがあり得る。方位角４０２を確実に推定することは不可能だからである。
【００７１】
図７は、姿勢推定デバイスにより実行される方法７００のフローチャートを示す。本明細書に例示および記載される１つ以上の実施形態による。図示されているように、方法７００は、デバイス１０２がオブジェクト１１２の画像１２０を取得するステップ７０２で始まる。
【００７２】
デバイス１０２は、センサ１０４を介して、例として、センサ１５４経由、またはこれらの組み合わせを介して、画像１２０を取得することができる。１つの可能性として、デバイス１０２は、画像を信号として取得することができ、信号処理および／または１つ以上のアルゴリズムを実行して、（デジタル信号プロセッサを含むことができる）プロセッサ２０２を使用して信号から画像を取得することができる。別の可能性として、デバイス１０２は、センサまたは別のデバイスによって前処理された画像を取得し得る。いくつかの実施形態では、センサ１５４はデバイス１５２の一部であり、デバイス１０２は、センサ１５２を介してデバイス１５２から画像１２０を取得する。さらなる可能性として、デバイス１０２は、データベース１０６、データストレージ２０４または別のエンティティから画像１２０を取得することができる。本開示の範囲から逸脱することなく、他の例も同様に可能である。
【００７３】
一実施形態では、デバイス１０２は、ステップ７０２で取得された画像１２０内のオブジェクト１１２の姿勢推定１３０を生成する。生成された姿勢推定には、オブジェクト１１２の姿勢の複数の姿勢コンポーネントのそれぞれについて、それぞれのヒートマップが含まれる。各姿勢コンポーネントのそれぞれのヒートマップは、１つ以上のピクセルのそれぞれにおいて、姿勢コンポーネントの不確実性のそれぞれの不確実性表示を含む。デバイス１０２は、例えば、オブジェクト１１２の姿勢の各コンポーネントを推定することによりオブジェクト１１２の姿勢をさらに推定することができ、デバイス１０２によって生成された姿勢推定１３０は、デバイス１０２による姿勢の推定を含むことができる。
【００７４】
一実施形態では、デバイス１０２は、ニューラルネットワーク２２０を介して姿勢推定１３０のヒートマップを生成する。例えば、デバイスは、取得した画像をニューラルネットワークに提供でき、ニューラルネットワークに提供された取得画像に基づいて、ニューラルネットワークによって生成された姿勢推定を取得することができる。いくつかの実施形態では、ニューラルネットワーク２２０は複数のステージを含み、ニューラルネットワーク２２０は、ニューラルネットワークの段階を介して姿勢推定１３０を生成する。一実施形態では、姿勢推定１３０の各ヒートマップは、ニューラルネットワークのそれぞれのブランチを経由して、ニューラルネットワーク２２０によって生成される。姿勢推定を生成するニューラルネットワーク２２０には、ニューラルネットワークを介して姿勢推定を生成するデバイス１０２が含まれることが理解されるべきである。
【００７５】
ニューラルネットワーク２２０は、１つ以上のネットワークパラメータを含むことができ、ニューラルネットワークは、１つ以上のネットワークパラメータに基づいて姿勢推定を生成する。ネットワークパラメータは、例えば、ニューラルネットワークのトレーニング中にデバイス１０２で設定できる。ニューラルネットワーク２２０を訓練する方法の例を、以下、図８を参照して説明する。
【００７６】
図７のステップ７０４から７１２は、姿勢の推定を生成するデバイス１０２の例を提供する。ステップ７０４から７１２は、図７に示す順序で実行する必要がないこと、そして、ステップ７０４から７１２のいずれか１つ以上が、並行して、順次、またはこれらの組み合わせ実行することができることが理解されるべきである。
【００７７】
具体的には、ステップ７０４で、デバイス１０２はキーポイント・ヒートマップ５０３ａを生成し、そしてステップ７０６で、デバイス１０２は、オブジェクト境界ヒートマップ５０５を生成する。これらのヒートマップについては、図５を参照して詳細に説明している。例えば、一実施形態では、オブジェクト境界ヒートマップ５０５の生成は、オブジェクト空間３００内のオブジェクト１１２の球境界を推定することを含み、オブジェクト境界ヒートマップの不確実性の指標は、カメラ平面３５０への球体境界の２次元投影に基づいている。キーポイント・ヒートマップ５０３ａおよびオブジェクト境界ヒートマップ５０５は、図８を参照して以下に説明するニューラルネットワークのトレーニングに基づいて、ニューラルネットワーク２００を介して、デバイス１０２によって生成され得る
【００７８】
いくつかの実施形態では、デバイス１０２は、オブジェクト１１２のスケールを推定することができ、および／または、デバイス１０２によって推定されたオブジェクト境界４０５に基づいて、センサ１０４とオブジェクト１１２のオブジェクト中心（オブジェクト空間３００の原点３０６として表される）との間の距離を推定することができる。例えば、デバイス１０２は、（データベース１０６内のオブジェクトモデルのうちの）どのオブジェクトモデルが、画像１２０に投影されたオブジェクト１１２に最もよく似ているかを推定することができる。このオブジェクトモデル、たとえば、半径２インチ、高さ４インチのマグカップは、特定のサイズのオブジェクトを表すことができる。デバイス１０２は、オブジェクトモデルの周りの球体の半径（球体境界）をデバイス１０２によって推定されるオブジェクト１１２のオブジェクト境界４０５の半径と比較し得る。この比較に基づいて、デバイス１０２は、オブジェクト１１２のスケール（たとえば、サイズ）、および、オブジェクト１１２のオブジェクト中心（原点３０６）までの距離を推定することができる。したがって、オブジェクト境界ヒートマップ５０５は、上記のように、オブジェクト境界４０５をそれぞれのピクセルで表すことを示すことができ、推定スケールおよび／または距離の不確実性を判断するために、デバイス１０２によって使用されることができる。オブジェクトモデルを使用して、他の姿勢コンポーネントも同様に、それぞれのヒートマップを生成できる。
【００７９】
いくつかの実施形態では、姿勢推定を生成することは、オブジェクト空間３００におけるオブジェクト１１２の球境界を推定することを含む。オブジェクト境界ヒートマップ５０５の不確実性の指標は、球の境界の、カメラプレーン３５０への二次元投影に基づくことができる。そのような一実施形態では、デバイス１０２は、オブジェクト境界ヒートマップ５０５に基づいて推定オブジェクト半径を取得し、オブジェクトモデルのデータベースの中からオブジェクト１１２の３次元オブジェクトモデルを識別する。特定されたオブジェクトモデルのサイズへの得られた推定半径の比較に基づいて、デバイス１０２は、オブジェクト１１２のスケールとオブジェクトとセンサ１０４の間の距離を推定する。例として、推定オブジェクト半径は、
【数２】
2020173795.tif 000004
のように表すことができる。ここで、取得された推定半径ｒＣは、ピクセル単位の球体境界半径（例えば、カメラ平面３５０のオブジェクト境界４０５のピクセル単位の半径）である。識別されたオブジェクトモデルのサイズｒＯは、（オブジェクト空間３００における）メートル単位の球体境界半径である。視線４３０の長さｌは焦点距離であり、オブジェクトと画像センサ間の距離ｄは、カメラ平面でオブジェクトｚの位置である。
【００８０】
図７にさらに示すように、ステップ７０８で、デバイス１０２は仰角ヒートマップ５０１を生成し、そしてステップ７１０で、デバイスは、方位角ヒートマップ５０２を生成する。ステップ７１２で、デバイス１０２は、面内回転ヒートマップ５０４を生成し、そしてステップ７１４で、デバイス１０２は、北キーポイント・ヒートマップ５０３ｂを生成する。これらのヒートマップについては、図５を参照してさらに詳しく説明する。キーポイント・ヒートマップ５０３ａおよびオブジェクト境界ヒートマップ５０５と同様に、ニューラルネットワークのトレーニングに基づいて、ニューラルネットワーク２００を介してデバイス１０２によって生成される（図８を参照して以下で説明する）。
【００８１】
一実施形態では、デバイス１０２は、第２の姿勢推定を、デバイス１０２によって生成された姿勢推定１３０と融合させることができる。第２の姿勢推定は、姿勢推定１３０と同様の方法で生成することができる。また、姿勢推定１３０のヒートマップとして１つ以上の同じ姿勢コンポーネントのそれぞれのヒートマップを含めることができる。両方の姿勢推定のヒートマップには、それぞれのピクセルに対して不確実性の指標が含まれているため、各姿勢コンポーネントの姿勢推定のヒートマップのいずれかが、融合して、それぞれの姿勢要素の不確実性の、不確実性の指標のより正確なヒートマップを提供できる可能性がある。デバイス１０２が、その姿勢コンポーネントの不確実性を、画像１２０の個々のピクセルに関してヒートマップで表すことができなかった特定の姿勢コンポーネントを推定した場合、与えられた姿勢コンポーネントのそれぞれの推定を融合することは、より困難であると判明することがあり得る。
【００８２】
図８は、本明細書に例示および記載される１つ以上の実施形態による、姿勢推定デバイスにより実行される方法８００のフローチャートを示す。図示されているように、方法８００は、１つ以上のトレーニング画像のセットを生成するデバイス１０２を備えたステップ８０２で始まる。各トレーニング画像には、それぞれの姿勢において、オブジェクトモデルの２次元投影が含まれる。
【００８３】
このオブジェクトモデルは、たとえば、オブジェクトの３次元モデルのオブジェクトのモデルである。オブジェクトモデルは、３次元のオブジェクトの１つ以上の表面の数学的表現の形式を取ることができる。例えば、オブジェクトモデルは、３次元のオブジェクト空間における、他の例の中で三角形、線、または曲面などのさまざまな幾何学的エンティティによって接続されているポイントのコレクションを含むことができる。このオブジェクトモデルは他の形式をとることもできる。
【００８４】
一実施形態では、所与のトレーニング画像を生成することは、デバイス１０２がオブジェクトモデルを取得することを含む。デバイス１０２は、データベース１０６、データストレージ２０４または別のエンティティからオブジェクトモデルを取得することができる。これらは、１つ以上のオブジェクトのモデルを保存できる。場合によっては、オブジェクトモデルは、姿勢推定および姿勢推定トレーニングに使用されるプリコンパイル済みデータセットのモデルである。得られたモデルは、デバイス１０２によって任意またはランダムに選択できる、または、ユーザーインターフェイス経由で受信した入力によって指定できる。
【００８５】
デバイス１０２は、与えられたトレーニング画像についてオブジェクトモデルのトレーニング姿勢を選択することができる。例えば、デバイス１０２は、第２のトレーニング画像の同じオブジェクトモデルのそれぞれのトレーニング姿勢Ｐ２と段階的に異なる姿勢として、第１のトレーニング画像のオブジェクトモデルのそれぞれのトレーニング姿勢Ｐ１を選択することができる。Ｐ１とＰ２の増分差は、トレーニング画像のそれぞれの方位コンポーネント間の増分差などトレーニング画像の所定の姿勢コンポーネントの間の増分差になる可能性がある。さらなる可能性として、トレーニング姿勢Ｐ１とＰ２の増分差は、複数の姿勢コンポーネントの差分を含むことができる。トレーニング姿勢を選択する他の例も可能である。
【００８６】
一実施形態では、デバイス１０２は、選択したトレーニング姿勢で取得したオブジェクトモデルの２次元投影を含むトレーニング画像を生成する。デバイス１０２は、１つ以上の技術に基づいて、３次元モデルから２次元画像を生成するためのトレーニング画像を生成し得る。２次元投影は、同様に、図３ａおよび図３ｂを参照して上述したように、トレーニング画像の二次元投影面へのオブジェクトの３次元オブジェクトモデルの投影である可能性がある。
【００８７】
いくつかの実施形態では、デバイス１０２は、シーンの画像にオーバーレイされた、取得されたオブジェクトモデルの２次元投影を含むトレーニング画像を生成する。デバイス１０２は、データベース１０６、データストレージ２０４、または別のエンティティからシーンの画像を取得することができる。これらは、１つ以上のセンサを介して取得された１つ以上の画像を保存でき、その後、データベースやデータストレージに保存される。画像は、姿勢推定および姿勢推定トレーニングに使用されるプリコンパイル済みデータセットの画像であることができる得られた画像は、デバイス１０２によって任意またはランダムに選択できる、または、ユーザーインターフェイス経由で受信した入力によって指定できる。別の可能性として、デバイス１０２は、例として、センサ１０４を介して、センサ１５４経由、またはこれらの組み合わせを介して画像を取得することができる。デバイス１０２は、与えられた場所で、シーンの画像において投影されたオブジェクトモデルをレンダリングすることができる。その場所は、例えば、卓上、床、地面、または別の表面であるか、または、表面上にない別の場所である可能性があり得る。オブジェクトモデルのトレーニング姿勢は、画像内の投影されたオブジェクトモデルの位置との一貫性または整合性のために選択できる。デバイス１０２は、ユーザーインターフェイスを介して受信した入力に基づいて位置を取得することができる、または、例として、ランダムまたは任意に場所を選択できる。
【００８８】
ステップ８０４において、デバイス１０２は、トレーニング画像のそれぞれについてそれぞれのヒートマップセットを生成する。それぞれのヒートマップセットには、複数の姿勢コンポーネントのそれぞれに対して、それぞれのグラウンドトゥルース不確実性ヒートマップが含まれている。また、それぞれのグラウンドトゥルースヒートマップには、それぞれのトレーニング画像の１つ以上のピクセルのそれぞれにおいて、姿勢コンポーネントの不確実性が含まれている。上記のヒートマップと同様に、それぞれのヒートマップには、１つ以上のヒートマップ要素が含まれる。それぞれのヒートマップ要素には、それぞれのトレーニング画像の特定のピクセルにおいて、または、それぞれのトレーニング画像の複数のピクセルにおいて、姿勢コンポーネントの不確実性が含まれることができる。例えば、それぞれのヒートマップ要素は、与えられたトレーニング画像内の隣接ピクセルのグループに関して、不確実性が含むことができる。一実施形態では、ステップ８０４で各トレーニング画像のそれぞれのヒートマップセットを生成することは、姿勢コンポーネントごとに設定されたヒートマップ内で、（トレーニング画像用に）それぞれのグラウンドトゥルース不確実性ヒートマップを生成することを含む。
【００８９】
一実施形態では、デバイス１０２は、デバイス１０２によって生成されたトレーニング画像上の有限差分を使用して、選択した（グランドトゥルース）姿勢の周りのローカルガウス分布で、それぞれのグラウンドトゥルース不確実性ヒートマップを近似する。そのような一実施形態では、トレーニング画像Ｉは、標準偏差σでガウスピクセルノイズ下での選択された姿勢Ｘの関数ｆ（Ｘ）である。トレーニング画像用に生成されたヒートマップは、一次のテイラー展開、
【数３】
2020173795.tif 000005
を使用して、近似される。ここで、Ｘ０は、選択された姿勢であり、
【数４】
2020173795.tif 000006
（Ｘ０におけるｆの導関数。）ｐ（Ｘ）は選択された姿勢Ｘの一様事前分布（ｕｎｉｆｏｒｍ  ｐｒｉｏｒ）に対する定数である。ヒートマップｐ（Ｘ｜Ｉ）は、平均ｆ（Ｘ０）と情報（逆共分散）行列
【数５】
2020173795.tif 000007
をもつガウシアンとして近似される。デバイス１０２は、姿勢Ｘ０＋σおよびＸ０−σにおけるオブジェクトの２つのレンダリング画像間のピクセルの差を計算することにより、有限差分を使用して、ヤコビ行列Ｊ０を近似する。
【００９０】
一実施形態では、ステップ８０２において、デバイス１０２によって生成された第１のトレーニング画像と第２のトレーニング画像は、同じオブジェクトモデルのそれぞれの２次元投影をそれぞれ、デバイス１０２によって選択されたように、第１姿勢および第１姿勢とは異なる第２姿勢に含む。具体的には、両方のトレーニング画像のオブジェクトモデルの選択された姿勢は同じであるが、ただし、第１姿勢の特定の姿勢コンポーネントは、第２姿勢の同じ姿勢コンポーネントとはわずかに異なる。デバイス１０２は、所定の差分アルゴリズムを使用した第１画像と第２画像との間の決定された差に基づいて差の表示を決定する（例えば、第１のトレーニング画像と第２のトレーニング画像との間のピクセルの差を計算してヤコビ行列を近似する）。
【００９１】
特定の姿勢コンポーネントのヒートマップの不確実性の指標の大きさは、決定された差の指標の逆数の大きさに相関している。トレーニング画像の第１のペア間の差の、差の表示は、トレーニング画像の第２のペア間の決定された差が、トレーニング画像の第１のペア間の決定された差よりも大きい場合、トレーニング画像の第２のペアの間の差異の差異表示よりも小さくなる。トレーニングイメージの第１のペアの差分表示の逆は、トレーニング画像の第２ペアの差の指標の逆数よりも大きくなる。このような場合には、トレーニング画像の第ペア（または両方）に対して生成された特定の姿勢コンポーネントのヒートマップの不確実性指標は、トレーニング画像の第２ペア（またはその両方）に対して生成された指定された姿勢コンポーネントに対して、不確実性マップの不確実性指標よりも大きいことがあり得る。
【００９２】
ある場合には、（上記の実施形態のそれぞれのトレーニング画像の）第１姿勢と第２姿勢とが異なる場合でも、トレーニング画像のペアに違いはないことがあり得る。例として、回転対称性を持つオブジェクトモデル（およびオブジェクト）の場合、オブジェクトのそれぞれの方位角が異なっていても、トレーニング画像に違いはないことがあり得る。図示すると、オブジェクト１１２は、回転対称のマグとして、図４ａおよび図４ｂに示されている。図４ａでは、２つのトレーニング画像間のマグの方位角の変化（例えば、ｚ軸３０４を中心としたマグの回転）は、マグのハンドルが見え、方位角の変化は、ハンドルの見える位置に変化をもたらすために、トレーニング画像のペアの間に少なくとも何らかの違いが生じる。一方、図４ｂでは、２つのトレーニング画像間のマグカップの方位角の変化は、トレーニング画像間で方位角が変わったとしても、トレーニング画像のペアに違いはないことになる。両方のトレーニング画像のマグのハンドルが見えないからである。このような場合には、決定された差はゼロになり、決定された差指標はゼロになる。決定された差インジケータのゼロ値の逆数は無限大であり、したがって、トレーニング画像用に生成された方位角姿勢コンポーネントの不確実性ヒートマップは、方位角の変化の無限の不確実性を反映している。
【００９３】
ステップ８０６において、デバイス１０２は、生成されたトレーニング画像、および、生成されたトレーニング画像に対して生成されるそれぞれのヒートマップのグラウンドトゥルース不確実性ヒートマップセットに基づいて、ニューラルネットワーク２２０をトレーニングする。一実施形態では、ニューラルネットワーク２２０のトレーニングは、デバイス１０２がニューラルネットワーク経由で、図７に関して前述したようにトレーニング画像に投影されたオブジェクトモデルの姿勢推定を生成することを含む。ある例では、ステップ７０２において、デバイス１０２は、（所与のオブジェクトのオブジェクトモデルの）トレーニング画像を取得する。これは、上記のように、他の多くの可能性の中で、データベース１０６および／またはデータストレージ２０４に保存できる。ステップ７０４において、デバイス１０２は、（オブジェクトの）オブジェクトモデルの姿勢推定を生成する。このデバイスは、オブジェクトモデルの姿勢の複数の姿勢コンポーネントのそれぞれについて、ニューラルネットワーク２２０を介して姿勢推定のそれぞれのヒートマップを生成する。
【００９４】
デバイス１０２は、ニューラルネットワーク２２０によって生成されたトレーニング画像におけるオブジェクトモデルの姿勢推定と、ステップ８０４でデバイスによるトレーニング画像（内のオブジェクトモデル）に対して生成されたヒートマップセットで構成される姿勢推定との間の損失を計算する。この計算された損失は、姿勢の推定の間の類似性または非類似性の大きさを反映することができる。場合によっては、計算された損失が低いほど、姿勢推定間の類似性が高いことに対応することがあり得る。例えば、デバイス１０２が姿勢推定の第１のペア間の第１の損失を計算する場合、姿勢推定の第２のペア間で計算された第２の損失は、姿勢推定の第１のペアが、姿勢推定の第２ペアが互いに似ているよりも、もっと互いに類似していることを示すことができる。
【００９５】
ニューラルネットワーク２２０によって生成された姿勢推定間の損失の計算、および、ステップ８０４でデバイス１０２によって生成されたヒートマップセットからなる姿勢推定は、デバイス１０２が、１つ以上の姿勢コンポーネントの姿勢推定のそれぞれのヒートマップ間の損失を計算することを含むことができる。例えば、デバイス１０２は、ニューラルネットワーク２２０と、ステップ８０４において生成されたヒートマップセットで構成される姿勢推定の方位角ヒートマップによって生成された姿勢推定の方位角ヒートマップ間の損失を計算することができる。このデバイスは、姿勢推定のそれぞれの仰角ヒートマップ、または、別の姿勢コンポーネントのそれぞれのヒートマップ間の損失をさらに計算できる。姿勢推定間の計算された損失と同様に、各姿勢コンポーネントのヒートマップ間の計算された損失は、ヒートマップ間の類似性または非類似性（例えば、ヒートマップによって表される確率分布の類似性または非類似性）を反映することができる。例えば、各姿勢コンポーネントのヒートマップ間のより低い計算コストは、ヒートマップ間のより大きな類似性（例えば、確率分布間のより大きな類似性）に対応することができる。
【００９６】
姿勢推定またはヒートマップのそれぞれの不確実性指標の計算された損失は必ずしも大きさを反映していないことに留意すべきである。例えば、高い不確実性を示す確率分布を表すヒートマップ間の計算された損失は、それにもかかわらず、不確実性の高い確率分布が類似している場合、計算された小さな損失であり得る。
【００９７】
デバイス１０２は、ニューラルネットワーク２２０によって生成された姿勢推定間の計算された損失、および、ステップ８０４でデバイス１０２によって生成されたヒートマップセットからなる姿勢推定に基づいて、ニューラルネットワーク２２０の１つ以上のネットワークパラメータを設定することができる。ニューラルネットワーク２２０によって生成された後続の姿勢推定を、デバイスによって設定されたネットワークパラメータに基づいて、生成することができる。例えば、デバイス１０２は、ニューラルネットワーク経由で、第２のトレーニング画像に投影されたオブジェクトモデルの姿勢推定を生成することができ、生成された姿勢推定と第２のトレーニングイメージ（におけるオブジェクトモデル）に対して生成されたヒートマップセットで構成される姿勢推定との間の損失を計算することができる。ニューラルネットワーク２２０は、設定されたネットワークパラメータに基づいて姿勢推定を生成することができる。
【００９８】
いくつかの実施形態では、姿勢推定１３０の各ヒートマップは、ニューラルネットワークのそれぞれのブランチを介して、ニューラルネットワーク２２０によって生成され、ニューラルネットワーク２２０のトレーニングは、ニューラルネットワークのそれぞれのブランチ？？のトレーニングを含む。例えば、各ブランチには、１つ以上のブランチパラメータを含めることができ、特定のブランチの１つ以上のブランチパラメータが、１つ以上の他のブランチのブランチパラメータと異なることができる。そのような実施形態では、ニューラルネットワーク２２０によって生成された姿勢推定間の計算された損失、および、ステップ８０４でデバイス１０２により生成されたヒートマップセットからなる姿勢推定に基づいた、ニューラルネットワーク２２０の１つ以上のネットワークパラメータの設定は、計算された損失に基づいて、ニューラルネットワーク２２０の１つ以上のブランチの１つ以上のブランチパラメータの設定が含まれることができるいくつかの実施形態では、この計算された損失は、ニューラルネットワーク２２０によって生成された姿勢推定の特定の姿勢コンポーネントのそれぞれのヒートマップと、ステップ８０４で生成されたヒートマップセットで構成された姿勢推定の同じ姿勢コンポーネントのそれぞれのヒートマップとの間の計算された損失を含む。そのような実施形態では、ネットワークパラメータの設定は、ヒートマップを生成したブランチのブランチパラメータの設定を含む。
【００９９】
次に、本明細書で説明される１つまたは複数の実施形態は、姿勢推定システム、姿勢推定デバイス、および、オブジェクトの姿勢推定を生成するための方法を対象とすることを理解すべきである。いくつかの実施形態では、姿勢推定デバイスがオブジェクトの画像を取得し、オブジェクトの姿勢推定を生成する。姿勢推定には、オブジェクトの姿勢の複数の姿勢コンポーネントのそれぞれに対して、それぞれのヒートマップが含まれ、姿勢コンポーネントごとのそれぞれのヒートマップは、画像の１つ以上のピクセルのそれぞれにおいて、姿勢コンポーネントの不確実性のそれぞれの不確実性表示を含む。
【０１００】
「実質的に（ｓｕｂｓｔａｎｔｉａｌｌｙ）」および「約（ａｂｏｕｔ）」という用語は、本明細書で、定量的な比較、値、測定、または他の表現に起因することがあり得る不確実性の固有の程度を表すために利用され得ることに留意する。これらの用語は、本書では、問題の主題の基本機能に変更をもたらすことなく、定量的表現が、記載されている参考文献とは異なることあり得る程度を表すためにも用いられる。
【０１０１】
本明細書では特定の実施形態を例示し説明したが、クレームされた主題の精神および範囲から逸脱することなく、他のさまざまな変更および修正が行われる可能性があることを理解する必要がある。また、請求された主題の様々な態様が本明細書に記載されているが、そのような態様を組み合わせて利用する必要はない。したがって、添付の特許請求の範囲は、特許請求された主題の範囲内であるすべての変更および修正を網羅することを意図している。
【図１】
2020173795.tif 000008
【図２】
2020173795.tif 000009
【図３Ａ】
2020173795.tif 000010
【図３Ｂ】
2020173795.tif 000011
【図４Ａ】
2020173795.tif 000012
【図４Ｂ】
2020173795.tif 000013
【図５】
2020173795.tif 000014
【図６Ａ】
2020173795.tif 000015
【図６Ｂ】
2020173795.tif 000016
【図７】
2020173795.tif 000017
【図８】
2020173795.tif 000018
【手続補正書】
【提出日】令和2年7月22日(2020.7.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
姿勢推定デバイスによって実行される方法であって、
オブジェクトの画像を取得するステップと、
前記オブジェクトの姿勢推定を生成するステップであって、該姿勢推定は、前記オブジェクトの姿勢の複数の姿勢コンポーネントのそれぞれに対して、それぞれのヒートマップを含み、前記姿勢コンポーネントのそれぞれに対する該それぞれのヒートマップは画像の１つ以上のピクセルのそれぞれにおいて、姿勢コンポーネントの不確実性のそれぞれの不確実性指標を含む、ステップと、
を含む方法。
【請求項２】
前記複数の姿勢要素は、前記オブジェクトの仰角、前記オブジェクトの方位角、前記オブジェクトのオブジェクト中心、前記オブジェクトのオブジェクト北ポイント、前記オブジェクトの面内回転、および、前記オブジェクトのオブジェクト境界を含む、請求項１に記載の方法。
【請求項３】
前記オブジェクトの仰角のそれぞれの仰角ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの方位のそれぞれの方位角ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの前記オブジェクト中心のそれぞれのキーポイント・ヒートマップは、それぞれの２次元ヒートマップを含み、
前記オブジェクトのそれぞれの北キーポイント・ヒートマップオブジェクトの北ポイントは、それぞれの２次元ヒートマップを含み、
前記オブジェクトの面内回転のそれぞれの面内回転ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトのオブジェクト境界のそれぞれのオブジェクト境界ヒートマップは、それぞれの２次元ヒートマップを含む、
請求項２に記載の方法。
【請求項４】
前記姿勢の前記ヒートマップの第１次元と第２次元は、それぞれ、前記画像の第１軸と第２軸に対応し、前記仰角ヒートマップの第３次元は、前記オブジェクトの仰角に対応し、
前記方位角ヒートマップの第３次元は、前記オブジェクトの方位角に対応し、前記面内回転ヒートマップの第３次元は、前記オブジェクトの面内回転角に対応する、
請求項３に記載の方法。
【請求項５】
前記姿勢コンポーネントのそれぞれに対する前記ヒートマップは、前記画像を形成するピクセルのグリッドに関して、前記第１次元と前記第２次元に沿ってスケーリングされるヒートマップコンポーネントのそれぞれのグリッドを含む、請求項４に記載の方法。
【請求項６】
３次元オブジェクト空間が前記オブジェクトの３次元表現を含み、前記３次元オブジェクト空間の原点は、前記オブジェクトの前記オブジェクト中心に対応し、
２次元カメラ平面が、前記３次元オブジェクト空間のカメラ平面への２次元投影を含み、
前記オブジェクトの前記画像を取得するステップは、画像センサを介して前記画像を取得することを含み、
前記３次元オブジェクト空間内のカメラポイントの位置は、シーン内の前記画像センサの位置に対応する、
請求項４に記載の方法。
【請求項７】
前記姿勢推定を生成するステップは、前記３次元オブジェクト空間内の前記オブジェクトの球境界を推定することを含み、
前記オブジェクト境界ヒートマップの前記不確実性指標は、カメラ平面への球体境界の２次元投影に基づいており、
前記方法は、さらに、
前記オブジェクト境界ヒートマップに基づいて、推定オブジェクト半径を取得するステップと、
オブジェクトモデルのデータベースの中から前記オブジェクトの３次元オブジェクトモデルを識別するステップと、
特定された前記オブジェクトモデルのサイズへの前記取得された推定半径の比較に基づいて、前記オブジェクトのスケールと、前記オブジェクトと前記画像センサとの間の距離の両方を推定するステップと、
を含む、請求項６に記載の方法。
【請求項８】
プロセッサと、非一時的コンピュータ可読記憶媒体とを備えた姿勢推定デバイスであって、
該非一時的コンピュータ可読記憶媒体は、該プロセッサによって実行されると、該姿勢推定デバイスに、
オブジェクトの画像を取得させ、
前記オブジェクトの姿勢推定を生成させる
命令を有し、
該姿勢推定は、前記オブジェクトの姿勢の複数の姿勢コンポーネントのそれぞれに対して、それぞれのヒートマップを含み、
該姿勢コンポーネントの各々のそれぞれのヒートマップは、前記画像の１つ以上のピクセルの各々において該姿勢コンポーネントの不確実性のそれぞれの不確実性指標を含む、
姿勢推定デバイス。
【請求項９】
前記複数の姿勢要素は、前記オブジェクトの仰角、前記オブジェクトの方位角、前記オブジェクトのオブジェクト中心、前記オブジェクトのオブジェクト北ポイント、前記オブジェクトの面内回転、および、前記オブジェクトのオブジェクト境界を含む、請求項８に記載の姿勢推定デバイス。
【請求項１０】
前記オブジェクトの仰角のそれぞれの仰角ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの前記方位角のそれぞれの方位角ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの前記オブジェクト中心のそれぞれのキーポイント・ヒートマップは、それぞれの２次元ヒートマップを含み、前記オブジェクトの前記オブジェクト北ポイントのそれぞれの北キーポイント・ヒートマップは、それぞれの２次元ヒートマップを含み、
前記オブジェクトの前記面内回転のそれぞれの面内回転ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの前記オブジェクト境界のそれぞれのオブジェクト境界ヒートマップは、それぞれの２次元ヒートマップを含む、
請求項９に記載の姿勢推定デバイス。
【請求項１１】
前記姿勢の前記ヒートマップの第１次元および第２次元は、それぞれ、前記画像の第１軸と第２軸に対応し、
前記仰角ヒートマップの第３次元は、前記オブジェクトの仰角に対応し、
前記方位角ヒートマップの第３次元は、前記オブジェクトの方位角に対応し、
前記面内回転ヒートマップの第３次元は、前記オブジェクトの面内回転角に対応する、
請求項１０に記載の姿勢推定デバイス。
【請求項１２】
姿勢推定デバイスによって実行される方法であって、
１つ以上のトレーニング画像を生成するステップであって、それぞれが、それぞれの姿勢のオブジェクトモデルの２次元投影を含む、ステップと、
前記トレーニング画像ごとにそれぞれのヒートマップセットを生成するステップであって、該それぞれのヒートマップセットは、トレーニング画像に投影されたオブジェクトモデルのそれぞれの姿勢の複数の姿勢コンポーネントのそれぞれに対して、それぞれのグラウンドトゥルース不確実性ヒートマップを含み、該それぞれのグラウンドトゥルース不確実性ヒートマップは、それぞれのトレーニング画像の１つ以上のピクセルのそれぞれにおいて姿勢コンポーネントの不確実性のそれぞれの不確実性割り当てを含む、ステップと、
前記トレーニング画像および前記トレーニング画像のために生成されたそれぞれのヒートマップセットのグラウンドトゥルース不確実性ヒートマップと、に基づいたニューラルネットワークを訓練するステップと、
画像センサを介して取得したオブジェクトの画像を受信するステップと、オブジェクトの姿勢の複数の姿勢コンポーネントのそれぞれに対して、前記ニューラルネットワークを介してそれぞれの不確実性ヒートマップを生成するステップであって、該それぞれの不確実性ヒートマップは、前記画像の１つ以上のピクセルのそれぞれでの姿勢コンポーネントの不確実性のそれぞれの不確実性の指標を含む、ステップと、
を含む方法。
【請求項１３】
前記オブジェクトの前記複数の姿勢要素は、前記オブジェクトの仰角、前記オブジェクトの方位角、前記オブジェクトのオブジェクト中心、前記オブジェクトのオブジェクト北ポイント、前記オブジェクトの面内回転、および、オブジェクトのオブジェクト境界を含む、請求項１２に記載の方法。
【請求項１４】
前記オブジェクトの仰角のそれぞれの仰角ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの方位のそれぞれの方位角ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの前記オブジェクト中心のそれぞれのキーポイント・ヒートマップは、それぞれの２次元ヒートマップを含み、
前記オブジェクトの前記オブジェクト北ポイントのそれぞれの北キーポイント・ヒートマップは、それぞれの２次元ヒートマップを含み、
前記オブジェクトの前記面内回転のそれぞれの面内回転ヒートマップは、それぞれの３次元ヒートマップを含み、
前記オブジェクトの前記オブジェクト境界のそれぞれのオブジェクト境界ヒートマップは、それぞれの２次元ヒートマップを含む、
請求項１３に記載の方法。
【請求項１５】
前記生成された姿勢推定の前記ヒートマップの第１次元および第２次元は、それぞれ、前記画像の第１軸と第２軸に対応し、
前記仰角ヒートマップの第３次元は、前記オブジェクトの仰角に対応し、前記方位角ヒートマップの第３次元は、前記オブジェクトの方位角に対応し、
前記面内回転ヒートマップの第３次元は、前記オブジェクトの面内回転角に対応する、請求項１４に記載の方法。
【外国語明細書】
2020173795000001.pdf