(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-07
(45)【発行日】2025-04-15
(54)【発明の名称】多重解像度ボクセルにおける共分散を含むマップ
(51)【国際特許分類】
G06T 7/70 20170101AFI20250408BHJP
G06T 17/10 20060101ALI20250408BHJP
G01C 21/32 20060101ALI20250408BHJP
G08G 1/123 20060101ALI20250408BHJP
【FI】
G06T7/70 Z
G06T17/10
G01C21/32
G08G1/123 A
(21)【出願番号】P 2022537282
(86)(22)【出願日】2020-12-15
(86)【国際出願番号】 US2020070910
(87)【国際公開番号】W WO2021127692
(87)【国際公開日】2021-06-24
【審査請求日】2023-11-30
(32)【優先日】2019-12-20
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-12-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】マイケル カーステン ボッセ
(72)【発明者】
【氏名】パトリック ブラエス
(72)【発明者】
【氏名】デレク アダムス
(72)【発明者】
【氏名】ブライス レブサメン
【審査官】伊知地 和之
(56)【参考文献】
【文献】特開2019-128705(JP,A)
【文献】米国特許出願公開第2019/0139403(US,A1)
【文献】米国特許出願公開第2019/0049566(US,A1)
【文献】国際公開第2012/176249(WO,A1)
【文献】Saarinen Jari et al.,“Normal Distributions Transform Occupancy Maps: Application to large-scale online 3D mapping”,2013 IEEE International Conference on Robotics and Automation[online],IEEE,2013年,pp.2233-2238,[検索日 2024.10.22], インターネット:<URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6630878>,DOI: 10.1109/ICRA.2013.6630878
【文献】大野和則 外2名,投光型距離センサを用いた三次元SLAM,日本ロボット学会誌,社団法人日本ロボット学会,2008年05月15日,第26巻 第4号,pp.306~309
【文献】鄭龍振 外3名,大規模な三次元環境地図とRGB-Dカメラを用いた移動ロボットの広域位置同定,日本ロボット学会誌,一般社団法人日本ロボット学会,2013年11月15日,第31巻 第9号,pp.68~78
【文献】河村憲太郎 外4名,メッシュモデルとM-推定法に基づく配電器材の位置推定手法,日本ロボット学会誌,社団法人日本ロボット学会,2000年05月15日,第18巻 第4号,pp.138~149
【文献】田中聡久 外2名,脳波クラス分類のための疎性による能動的データ選択法,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2013年08月22日,第113巻 第191号,pp.97~102
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00 - 21/36
G01C 23/00 - 25/00
G06T 7/00 - 7/90
G06T 15/00 - 15/87
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
G08G 1/00 - 99/00
CSDB(日本国特許庁)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
第1のボクセル空間を含むマップデータを受信することであって、前記第1のボクセル空間は、第1の解像度に関連付けられた第1の層と、前記第1の解像度とは異なる第2の解像度に関連付けられた第2の層とを有する、ことと、
車両に関連付けられたセンサーからセンサーデータを受信することと、
前記センサーデータを第2のボクセル空間に関連付けることであって、前記第2のボクセル空間は、前記第1の解像度に関連付けられた第1の層と、前記第2の解像度に関連付けられた第2の層とを含む、ことと、
前記第1のボクセル空間および前記第2のボクセル空間に少なくとも部分的に基づいて、第1の集約されたボクセルデータを決定することと、
前記第1の集約されたボクセルデータに少なくとも部分的に基づいて、前記第1のボクセル空間と前記第2のボクセル空間との間の変換を決定することと、
前記変換に少なくとも部分的に基づいて、物理環境における前記車両のロケーションを決定することと
を備え
、
前記第1の集約されたボクセルデータを決定することは、
前記第1のボクセル空間の第1のボクセルに対して、前記第1のボクセルのセントロイドの指定された距離内のセントロイドを有する前記第2のボクセル空間のボクセルのセットを識別することと、
ボクセルの前記セットのうちの第2のボクセルを選択することであって、前記第2のボクセルは、前記第1のボクセルの前記セントロイドに最も近いセントロイドを有する、ことと、
前記第1のボクセルの共分散およびリファレンスボクセルの共分散の重み付き平均を決定することと
を含むことを特徴とする、方法。
【請求項2】
前記第1のボクセルおよび前記第2のボクセルは、同一のセマンティッククラスを含むことを特徴とする請求項
1に記載の方法。
【請求項3】
前記第1の集約されたボクセルデータを決定することは、
重み付き平均の最小固有ベクトルを決定することと、
前記最小固有ベクトルに少なくとも部分的に基づいて、前記第1の集約されたボクセルデータを表す法線ベクトルを決定することと
をさらに含むことを特徴とする請求項1
または2に記載の方法。
【請求項4】
前記第1の集約されたボクセルデータを再重み付けすることは、m-エスティメータフレームワークを適用することを含むことを特徴とする請求項1ないし
3のいずれか一項に記載の方法。
【請求項5】
前記変換を決定することは、
最小固有値に少なくとも部分的に基づいて、残差を決定することと、
前記残差に少なくとも部分的に基づいて、ターゲットボクセル空間とリファレンスボクセル空間との間の回転または平行移動のうちの1つまたは複数を決定することと
を含むことを特徴とする請求項1ないし
3のいずれか一項に記載の方法。
【請求項6】
分布をモデリングすることに少なくとも部分的に基づいて、アライメントに関連付けられた不確かさを決定することをさらに備えることを特徴とする請求項1ないし
5のいずれか一項に記載の方法。
【請求項7】
前記変換は、前記第1のボクセル空間と第2のボクセル空間との間の位置または向きのうちの1つまたは複数における差を示すことを特徴とする請求項1ないし
6のいずれか一項に記載の方法。
【請求項8】
前記車両は自律車両であり、前記方法は、
前記物理環境における前記自律車両の前記ロケーションに少なくとも部分的に基づいて前記自律車両を制御すること
をさらに備えることを特徴とする請求項1ないし
7のいずれか一項に記載の方法。
【請求項9】
コンピューターにおいて実行されると、請求項1ないし
8のいずれか一項に記載の方法を実装する、コード化された命令を含むことを特徴とするコンピュータープログラム。
【請求項10】
システムであって、
1つまたは複数のプロセッサーと、
前記1つまたは複数のプロセッサーによって実行可能な命令を格納する1つまたは複数の非一時的なコンピューター読取り可能媒体と
を備え、前記命令は、実行されると、前記システムに、
ターゲット多重解像度ボクセル空間を受信することと、
リファレンス多重解像度ボクセル空間を受信することと、
前記ターゲット多重解像度ボクセル空間の第1のターゲットボクセルが、前記リファレンス多重解像度ボクセル空間の第1のリファレンスボクセルに関連付けられると決定することであって、前記第1のターゲットボクセルおよび前記第1のリファレンスボクセルは、第1の解像度を共有する、ことと、
前記第1のターゲットボクセルおよび前記第1のリファレンスボクセルの第1の重み付き統計量を決定することと、
前記ターゲット多重解像度ボクセル空間の第2のターゲットボクセルが、前記リファレンス多重解像度ボクセル空間の第2のリファレンスボクセルに関連付けられると決定することであって、前記第2のターゲットボクセルおよび前記第2のリファレンスボクセルは、第2の解像度を共有し、前記第2の解像度は前記第1の解像度とは異なる、ことと、
前記第2のターゲットボクセルおよび前記第2のリファレンスボクセルを表す第2の組み合わされたボクセルの第2の重み付き統計量を決定することと、
前記第1の重み付き統計量および前記第2の重み付き統計量に少なくとも部分的に基づいて、前記ターゲット多重解像度ボクセル空間とリファレンス多重解像度ボクセル空間との間の変換を決定することと
を含む動作を行わせることを特徴とするシステム。
【請求項11】
前記ターゲット多重解像度ボクセル空間は、第1の分類に関連付けられたボクセルの第1のセットと、第2の分類に関連付けられたボクセルの第2のセットとを含むことを特徴とする請求項
10に記載のシステム。
【請求項12】
前記ターゲット多重解像度ボクセル空間の前記第1のターゲットボクセルが、前記リファレンス多重解像度ボクセル空間の前記第1のリファレンスボクセルに関連付けられると決定することは、
第1のターゲットボクセルに対して、前記第1のターゲットボクセルのセントロイドの指定された距離内にセントロイドを有する前記リファレンス多重解像度ボクセル空間のボクセルのセットを識別することと、
前記第1のターゲットボクセルの前記セントロイドへの前記第1のリファレンスボクセルのセントロイドの距離に基づいて、ボクセルの前記セットから前記第1のリファレンスボクセルを決定することと
を含むことを特徴とする請求項
10または11に記載のシステム。
【請求項13】
前記動作は、前記第1のターゲットボクセルのセントロイドおよび前記第1のリファレンスボクセルのセントロイドの距離に少なくとも部分的に基づいて、前記第1のターゲットボクセルおよび前記第1のリファレンスボクセルが対応すると決定することをさらに含むことを特徴とする請求項
10ないし
12のいずれか一項に記載のシステム。
【請求項14】
前記変換を決定することは、
前記第1の重み付き統計量に主成分分析を行うことと、
前記主成分分析の最小固有値を決定することと、
前記最小固有値に少なくとも部分的に基づいて、残差を決定することと、
前記変換として、前記残差を最適化するターゲット多重解像度マップとリファレンス多重解像度マップとの間の回転または平行移動のうちの1つまたは複数を決定することと
を含み、
前記動作は、前記残差に少なくとも部分的に基づいて値を最小化する勾配降下技法または非線形最適化技法のうちの1つまたは複数を適用することをさらに含み、前記変換は、平行移動または回転のうちの1つまたは複数を含む
ことを特徴とする請求項
10ないし
13のいずれか一項に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
関連出願の相互参照
本出願は、2019年12月20日に提出され、「MAPS COMPRISING COVARIANCES IN MULTI-RESOLUTION VOXELS」という表題をつけられた米国出願第16/722,598号の優先権を主張し、全体が参照により本明細書に組み入れられる。
【0002】
データは、環境においてキャプチャされ、環境のマップとして表されることが可能である。よくあることだが、上記のマップは、環境内を進む車両によって用いられることが可能であり、マップが、いろいろな目的に対して用いられることが可能である。場合によっては、環境は、2次元マップとして表されることが可能であり、一方、他の場合、環境は、3次元マップとして表されることが可能である。さらに、環境内の表面は、複数のポリゴンまたは三角形を用いて表されることがよくある。
【0003】
詳細な説明は、添付の図面を参照して説明される。図面において、参照符号の最も左の数字(複数可)は、参照符号が最初に現れる図面を特定する。別の図面における同一の参照符号の使用は、同様のまたはまったく同じのコンポーネントまたは特徴を示す。
【図面の簡単な説明】
【0004】
【
図1】本明細書に説明されている多重解像度ボクセル空間の例示的なアーキテクチャを例示する例示的な図である。
【
図2】本明細書に説明されている多重解像度ボクセル空間のセマンティック層の例示的な解像度を例示する例示的な絵入りの図である。
【
図3】本明細書に説明されている
図2の多重解像度ボクセル空間についての第1の解像度を例示する例示的な図である。
【
図4】本明細書に説明されている
図2の多重解像度ボクセル空間についての第2の解像度を例示する例示的な図である。
【
図5】本明細書に説明されている
図2の多重解像度ボクセル空間についての第3の解像度を例示する例示的な図である。
【
図6】本明細書に説明されている物理環境を表すデータをマップデータとアライメントするように構成されたシステムの例示的なデータフローを例示する例示的な処理フロー図である。
【
図7】本明細書に説明されている多重解像度ボクセル空間を生成することに関連付けられた例示的な処理を例示する例示的なフロー図である。
【
図8】本明細書に説明されているターゲット多重解像度ボクセル空間をリファレンス多重解像度ボクセル空間とアライメントすることについての例示的な処理を例示する別のフロー図である。
【
図9】本明細書に説明されている多重解像度ボクセル空間アライメントシステムを実装するための例示的なシステムのブロック図である。
【
図10】本明細書に説明されているキャプチャされたデータの点群表現と比較した
図2~4の多重解像度ボクセル空間の例についての絵入りの図である。
【発明を実施するための形態】
【0005】
本明細書に説明される技法は、物理環境を表すデータの点分布の空間平均、共分散、および重みを格納するボクセルを含んでいる多重解像度ボクセル空間(multi-resolution voxel space)を含むマップデータを、決定することおよび/または用いることに向けられる。マップデータは、異なる解像度または物理的距離にて物理環境を表す複数のボクセルグリッド(voxel grid)またはボクセル層を含むことがある。例として、各々のボクセル層(voxel layer)は、進行している層の2倍の解像度にて物理環境を表すことがある。すなわち、第1の層におけるボクセルが第1の体積(例えば、10cm×10cm×10cm)を表すことがある一方、第2の層におけるボクセルは、第2の体積(例えば、20cm×20cm×20cm)を表すことがある。多重解像度ボクセル空間のボクセルに関連付けられたデータは、複数のコバリアンスの楕円体(covariance ellipsoid)として表されることがある。コバリアンスの楕円体の表現は、個々のボクセルに関連付けられたデータ点の算出された平均値および共分散値に基づいて生成されることがある。場合によっては、ボクセルデータは、例えば、分類および/またはセグメンテーション情報などのセマンティック情報と関連付けられることが可能であり、特定の分類と関連付けられたデータは、特定の分類と関連付けられた特有の多重解像度ボクセル空間と関連付けることが可能である。今述べた例では、各々のボクセルコバリアンスセマンティック層(covariance semantic layer)は、コバリアンスの楕円体として特有のセマンティッククラス(semantic class)(例えば、木、車両、建物など)に関連付けられたデータ点を含むことがある。
【0006】
場合によっては、多重解像度ボクセル空間によって表されるマップデータは、例えば、ライダー(light detection and ranging)システムの出力など、物理環境を表すデータ点から生成されることがある。例として、システムは、点群として表される複数のライダーポイント(lidar point)またはライダーデータを受信することがある。システムは、ライダーポイントを、車両(例えば、システムがライダーポイントをキャプチャする)の局所的な基準フレームに少なくとも部分的に基づいて、第1の解像度を有するボクセルグリッド(例えば、多重解像度ボクセル空間のボクセルグリッドが最大数のボクセルを有する)のボクセルに割り当てる、ないしは別のやり方により関連付けることがある。システムは、たとえば、集められたデータの平均値、セントロイド、共分散、および同類のものなど、各ボクセルに関連付けられた統計データを決定することがある。次に、システムは、より高いレベルのボクセルグリッドを生成するとき、より低い解像度のグリッドのボクセル(またはボクセルに関連付けられたデータ)をマージする、ないしは別のやり方により組み合わせることがある。例えば、より低い解像度のグリッドにおける3次元近傍(例えば、より高いレベルのボクセルの物理空間に関連付けられたx方向、y方向、およびz方向のボクセル数)内のボクセル(またはボクセルに関連付けられたデータ)は、次のより高いレベルのボクセルグリッドを形成するとき、マージされることがある。1つの特定の例では、近傍内のボクセルは、より低い解像度のグリッドの各ボクセルについての個々のガウス分布の重み付き和をとることによってマージされる。場合によっては、より低い解像度におけるボクセルをマージして、より高い解像度のグリッドを形成することは、計算的に安価であるだけでなく、基準フレームによりライダーデータをローカライズするのを助けることを、より低い解像度のグリッドに可能にする。
【0007】
いくつかの実装では、システムは、多重解像度ボクセル空間を利用して、物理環境の複数のスキャンをアライメントして、物理環境のマップおよびシーンを生成する、同様に、マップまたはシーン内の車両のローカライゼーションを助けることがある。例として、多重解像度ボクセル空間(例えば、ターゲット多重解像度ボクセル空間)が物理環境を表す特有のスキャンまたはデータセットに対して生成されると、システムは、生成された多重解像度ボクセル空間を、シーンを表す多重解像度ボクセル空間(例えば、リファレンス多重解像度ボクセル空間)とアライメントすることがある。場合によっては、アライメントは、リファレンス多重解像度ボクセル空間およびターゲット多重解像度ボクセル空間の各解像度におけるボクセル間の対応を実質的に同時に見つけることによって行われることがある。例えば、システムは、ターゲット多重解像度ボクセル空間の特有の解像度の各ボクセルに対して、占められているボクセルに対するリファレンス多重解像度ボクセル空間の対応する特有の解像度における平均ターゲット点を含むしきい値距離内またはしきい値数のボクセル(例えば、ボクセルの近傍)内のボクセル間で検索することがある。セマンティック層を含む例では、システムは、ターゲット多重解像度ボクセル空間における各セマンティック層の特有の解像度の各ボクセルに対して、リファレンス多重解像度ボクセル空間における対応するセマンティック層の特有の解像度における平均ターゲット点を含むボクセルの近傍を検索することがある。
【0008】
リファレンス多重解像度ボクセル空間の近傍内の識別されたボクセルのうち、システムは、ターゲット多重解像度ボクセル空間のボクセルに近いセントロイドを有するボクセルを選択することがある。次に、システムは、リファレンス多重解像度ボクセル空間における選択されたボクセルの分布を、ターゲット共分散スタック(target covariance stack)のボクセルにより平均することがある。次に、システムは、組み合わされた共分散行列に主成分分析を行い、固有値(例えば、最小の固有値)を、2つのボクセルに対してマッチングした法線ベクトルとして選択することがある。次に、システムは、少なくともいくつかの例では、上記のマッチングした法線ベクトルに少なくとも部分的に基づくことがあるマッチングしたボクセルの各々に対して残差(または誤差など)を決定し、続いて、すべての上記の残差について最適化を行うことがある。最適化は、上記のボクセルセントロイドのペアの間における距離を最小化することがある。このように、2つのボクセルを表すマージされたボクセルは、元のボクセルの両方の共分散(例えば、関連データの)および重みを正確に表す位置のグリッド内に位置されることがある。もちろん、上記のボクセルのマージを、必要としないアプリケーションはある。非限定的の例として、2つのボクセル空間の間の相対変換は、一般に、ボクセルを組み合わせる(マージする)ことなく、ローカライズのために用いられることがある。
【0009】
アライメントの間、各層が実質的に同時にマージされることがある場合でさえ、より粗い解像度(例えば、より大きなボクセルに対応する解像度)は、より細かい解像度より前のマッチングに帰着することがある。このように、より粗い解像度におけるマッチングは、より細かい解像度が、マッチングをすることを開始し、アライメント処理を完了することができるように、2つの多重解像度ボクセル空間を、より近いアライメントに至らせるのを助けることがある。場合によっては、キャプチャされたセンサーデータを、環境を表す多重解像度ボクセル空間にマージすることによって、車両は、ポリゴンおよび/またはメッシュを含む従来のマップデータを利用するシステムよりも、より正確および/またはより迅速に環境内の位置を初期化する、またはローカライズすることができることがある。加えて、ボクセルを多重解像度ボクセル空間に格納することによって、データが、より容易にインデックス可能な/検索可能なやり方において格納されることにより、処理速度およびスループットを向上させることがある。例えば、粗い解像度が実際のタスクに対して許容し得るならば、粗い層がメモリーにロードされることにより、望ましい動作のためにアクセスされ処理されるデータの量を減らすことがある。
【0010】
場合によっては、多重解像度ボクセル空間は、空間の各層が環境についての細部の異なる解像度を提供するので、従来のシステムよりも正確に環境を表すことがある。ゆえに、いくつかの状況では、物理環境のより詳細な表現へのアクセスを有することは、自律車両の全体的な安全性を向上させることがある。
【0011】
図1は、本明細書に説明されている多重解像度ボクセル空間102の例示的なアーキテクチャ100を例示する例示的な図である。現在の例では、多重解像度ボクセル空間102は、セマンティック層104、106、および108として例示される複数のセマンティック層から形成される。セマンティック層104~108の各々は、特有のセマンティッククラスまたはタイプに対するデータを表すことがある。例として、第1のセマンティック層104は、樹木を表すデータを含む一方、第2のセマンティック層106は、建物を表すデータを含むことがある。ゆえに、複数のセマンティック層104~108を含む多重解像度ボクセル空間102は、
図2~5に関して以下に例示されている物理環境のフルピクチャまたはマップとして各セマンティック層104~108からのデータを表すことがある。場合によっては、いくつかのアプリケーションは、特有のセマンティッククラスのみの識別または意識を必要とすることがある一方、他のアプリケーションは、物理環境全体の詳細な理解を必要とすることがある。多重解像度ボクセル空間102をセマンティック層104~108にセグメンテーションすることによって、各アプリケーションは、環境に対して相当する適切なクラスまたはタイプのデータのみを処理することにより、いくつかのアプリケーションにおいて処理速度を向上させることがある。
【0012】
さらに、セマンティック層104~108の各々は、ボクセルコバリアンスグリッド(voxel covariance grid)110、112、および114として例示される、1つまたは複数のボクセルグリッドを含むこともある。ボクセルコバリアンスグリッド110-114の各々は、対応するセマンティック層104~108の同一のセマンティックデータ(semantic data)を表すが、異なる解像度においてである。例として、複数のグリッド110の第1のボクセルコバリアンスグリッドは、およそ25センチメートルのサイズを有するボクセルを有することがある一方、複数のグリッド110の第2のボクセルコバリアンスグリッドは、およそ16メートルのサイズを有するボクセルを有する。ゆえに、複数のグリッド110~114の各々の各ボクセルコバリアンスグリッドは、物理環境の表されたデータのアライメントおよび処理を助けるために、異なる解像度または粗さを有することがある。例えば、いくつかのアプリケーションは、物理環境についての粗い一般的な理解のみを必要とすることがある一方、他のアプリケーションは、物理環境についての詳細な理解を必要とし、各アプリケーションが、ボクセルグリッドを、望ましいまたは適切な解像度にて処理することにより、いくつかのアプリケーションにおける処理速度を向上させることがある。
【0013】
いくつかの例では、たとえば、
図2~5に関して以下に例示されるものなど、多重解像度ボクセル空間102のボクセルコバリアンスグリッド110~114のボクセルに関連付けられたデータは、共分散行列、平均、および点分布を表す重みを格納するボクセルによって表されることがある。場合によっては、グリッド110~114のボクセルは、コバリアンスの楕円体として視覚的に与えられることがある。コバリアンスの楕円体は、各ボクセルの固有値比の形状パラメーターに少なくとも部分的に基づくことがある。
【0014】
例示される例では、3つのセマンティック層104~108とボクセルコバリアンスグリッド110~114の3つのセットとが示されている。しかしながら、多重解像度ボクセル空間102が、セマンティック層をいくらでも含むことがあること、および、各セマンティック層が、ボクセルコバリアンスグリッドをいくらでも含むことがあることは理解されるは、理解されるべきである。いくつかの実装では、各セマンティック層に対してボクセルコバリアンスグリッドの数は同一であり得る一方、他の実装では、各セマンティック層内のボクセルコバリアンスグリッドの数は異なることがある。例として、いくつかのセマンティッククラス、たとえば、群葉(または歩行者)などは、たとえば建物などの他のセマンティッククラスよりも多くの追加の微細な解像度ボクセルコバリアンスグリッドを必要とすることがあり、ゆえに、歩行者クラスを表すセマンティック層は、建物クラスを表すセマンティック層よりも多くのボクセルコバリアンスグリッドを含むことがある。
【0015】
図2は、本明細書に説明されている多重解像度ボクセル空間208のセマンティック層の例示的な解像度202、204、および206を例示する例示的な示す絵入りの
図200である。現在の例では、解像度は説明のためだけに2次元で示され、いくつの次元でも用いられることがある(たとえば現実世界の3次元物理空間を表す3次元など)ことは理解されるべきである。現在の例では、第1の解像度202の第1の近傍210内のボクセルは、第2の解像度204のボクセル212を形成するために組み合わされる。同じく、第2の解像度204の第1の近傍214内のボクセルは、第3の解像度206のボクセル216を形成するために組み合わされる。以下に述べている第3の解像度のボクセル216は、近傍214内のボクセル218および220の各々からの個々のガウス分布の重み付き和に基づいて形成されて、単一のより高い解像度のボクセルを生成することがある。個々のガウス分布の重み付き和を決定することは、処理リソースおよび時間の観点から計算的に安価であり、ゆえに、多重解像度ボクセル空間208を構築することは、従来のシステムよりも早く、より少ない処理リソースにより行われることがあることは、理解されるべきである。
【0016】
現在の例では、2次元の2x2近傍が示される。しかしながら、多重解像度ボクセル空間は、物理空間を表す3次元ボクセルグリッドとして形成されることが可能であること、および、近傍は、たとえば2x2x2、3x3x3、5x5x5など、種々の均一のサイズ、またはたとえば2x3x4、4x3x4、5x1x3など、均一でないサイズを有することがあることは、理解されるべきである。1つの特有の例では、近傍は、各々のより高い解像度の層が、進行している下位層の半分の数のボクセルを有しながら、2x2x2ボクセルサイズを有することがある。
【0017】
図3~5は、本明細書に説明されている
図2の多重解像度ボクセル空間208についての複数の解像度202、204、および206を例示する例示的な図である。現在の例では、多重解像度ボクセル空間208のセマンティック層の各々は、物理環境のピクチャまたはマップを生成するのに示される。例として、多重解像度ボクセル空間208は、自律車両によってキャプチャされた物理環境の複数のライダースキャンをマージする、またはアライメントすることによって形成されることがある。現在の例では、多重解像度ボクセル空間208は、異なる解像度202、204、および206にて物理環境を示すのに、ズームインまたはズームアウトされることがある。例として、解像度202は、第1の解像度または最も細かい解像度にてボクセルを示す。ゆえに、多重解像度ボクセル空間208の解像度202は、解像度204または206の各々よりも多くのボクセルを含み、さらに、物理環境の最も詳細な表現も含む。進行している解像度204または206の各々は、後続するより粗い解像度のボクセルにより物理環境を示す。例として、解像度202の多重解像度ボクセル空間の各ボクセルは25cmの領域を表すことがある一方、解像度206の多重解像度ボクセル空間の各ボクセルは、16mの領域を表すことがある。
【0018】
場合によっては、特有のセマンティック層に関連付けられたボクセルは、多重解像度ボクセル空間208を見るとき、2つのセマンティック層に関連付けられたボクセルを互いに視覚的に区別するために、着色されるまたはテクスチャされることがある。さらに、各ボクセルに関連付けられたデータが、ボクセルの固有値比、形状パラメーター、および空間統計に少なくとも部分的に基づく形状を有するコバリアンスの楕円体として表されるので、
図2~5に例示されるデータが、対応する物体の実在の形状を実質的に表す形状を有することは特筆されるべきである。
【0019】
いくつかの例では、多重解像度ボクセル空間102の各々のより高い解像度300~500は、先行する低レベルの解像度200~400の半分の数のボクセルを有することがある。例として、解像度300が、およそ4メートルのサイズのボクセルを有するならば、解像度400のボクセルは、およそ8メートルのサイズ(例えば、解像度300のボクセルの2倍のサイズ)であり得る。しかしながら、他の例では、各解像度200~500のボクセルのサイズおよび/または数は、他の数学的なおよび/または任意の関係を有することがある。
【0020】
現在の例では、種々のセマンティッククラスが、楕円の模様または色の違いに基づいて示される。例として、楕円体302は、群葉に対応することがあり、楕円体304は、壁、構造物、または建物に対応することがあり、楕円体306は、たとえば草などの地表の被覆に対応することがある。
【0021】
図6~
図8は、
図1~
図5の多重解像度ボクセル空間に関連付けられた例示的な処理を例示するフロー図である。処理は、ハードウェア、ソフトウェア、またはそれらの組み合わせにおいて実装されることが可能であるいくつかまたはすべての動作のシーケンスを表す、論理的なフロー図におけるブロックの集まりとして例示される。ソフトウェアのコンテキストという状況では、ブロックは、1つまたは複数のプロセッサーによって実行されると、引用される動作を行う、1つまたは複数のコンピューター読取り可能媒体に格納されたコンピューター実行可能な命令を表す。一般に、コンピューター実行可能な命令は、特有の機能を行うまたは特有の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。
【0022】
説明される動作の順は、限定として解釈されるべきではない。説明されるブロックのいくらでも、どんな順でもおよび/または並列に組み合わせて、処理または代替処理を行うことが可能であり、すべてのブロックが実行される必要はない。議論の目的のために、本明細書における処理は、本明細書における例にて説明されるフレームワーク、アーキテクチャ、および環境を参照して説明されるが、処理は、非常に種々様々の他のフレームワーク、アーキテクチャ、または環境にて実装されることがある。
【0023】
図6は、本明細書に説明されている物理環境を表すデータをシーンとアライメントするように構成されたシステムの例示的なデータフローを例示する例示的な処理フロー
図600である。例示される例では、システムは、シーンを、環境を表すデータも同様に、多重解像度ボクセル空間として格納されるように構成されることがある。上に述べている、多重解像度ボクセル空間は、各セマンティック層が、異なる解像度のコバリアンスの楕円体としてボクセルを表す複数のボクセルグリッドを含む複数のセマンティック層を有することがある。
【0024】
1つの特有の例では、センサーシステム602、たとえば、ライダー、レーダー、ソナー、赤外線、カメラ、または他の画像キャプチャデバイスなどは、システムを取り囲む物理環境を表すデータをキャプチャすることがある。場合によっては、キャプチャされたデータは、たとえばライダースキャンの出力から生成された点群など、複数のデータ点604であり得る。今述べた例では、データ点604は、多重解像度ボクセル空間生成コンポーネント606によって受信されることがある。
【0025】
多重解像度ボクセル空間生成コンポーネント606は、データ点604からターゲット多重解像度ボクセル空間608を生成するように構成されることがある。場合によっては、多重解像度ボクセル空間生成コンポーネント606は、分類および/またはセグメンテーション技法を介してデータ点を処理することがある。例として、多重解像度ボクセル空間生成コンポーネント606は、1つまたは複数のニューラルネットワーク(例えば、深層ニューラルネットワーク、畳み込みニューラルネットワーク等)、回帰技法等を用いて、データ点にタイプまたはクラスを割り当てて、データ点604をセマンティックラベル(semantic label)により識別し分類することがある。場合によっては、セマンティックラベルは、たとえば、車両、歩行者、サイクリスト、動物、建物、木、路面、縁石、歩道、不明などのクラスまたはエンティティタイプを含むことがある。追加および/または代替の例では、セマンティックラベルは、データ点604に関連付けられた1つまたは複数の特性を含むことがある。例えば、特性は、限定されないが、x位置(グローバルおよび/またはローカルポジション)、y位置(グローバルおよび/またはローカルポジション)、z位置(グローバルおよび/またはローカルポジション)、向き(例えば、ロール、ピッチ、ヨー)、エンティティタイプ(例えば、分類)、実体の速度、実体の加速度、速度および/または加速度の変化の割合、実体の範囲(大きさ)などを含むことがある。
【0026】
いくつかの例では、ターゲット多重解像度ボクセル空間608を生成することは、静的オブジェクト(例えば、建物、樹木、群葉など)に関連付けられたデータをターゲット多重解像度ボクセル空間608に関連付ける一方、動的オブジェクト(例えば、歩行者、車両などを表す)に関連付けられたデータをフィルタリングすることを含むことがある。
【0027】
代替の実装では、データ点604は、パーセプションパイプラインまたはコンポーネントによって、添付されたセマンティックラベルを有して出力されることがある。例として、データ点604は、パーセプションコンポーネントによって出力される散在する物体の状態表現の一部として受信されることがあり、詳細が、全体として本明細書に参照により組み入れられる米国出願シリアル番号16/549,694に述べられる。
【0028】
現在の例では、多重解像度ボクセル空間生成コンポーネント606は、セマンティックラベルを付けられたデータ点604を、対応するセマンティックラベル(例えば、木、建物、歩行者等)を有するターゲット多重解像度ボクセル空間608のセマンティック層に割り当てることがある。例として、多重解像度ボクセル空間生成コンポーネント606は、データ点604を共通の基準フレームに投影し、次に、共通の基準フレーム内のデータ点604を、対応するセマンティッククラスに関連付けられた適切な点群へ多重化することがある。各点群に対して、次に、多重解像度ボクセル空間生成コンポーネント606は、各データ点604を、各セマンティック層の最も細かい解像度のボクセルグリッド(例えば、ベースボクセルグリッド)のボクセルに割り当てることがある。いくつかの特定の事例では、多重解像度ボクセル空間は、ボクセルの各々のセマンティッククラスを含む複数の統計値を格納する単一の層であり得る。
【0029】
対応する群に対するデータ点604の各々がボクセルに割り当てられると、多重解像度ボクセル空間生成コンポーネント606は、セマンティック層の最も細かい解像度のグリッドの各ボクセルに対して空間統計(例えば、空間平均、共分散、およびボクセルに割り当てられたデータ点604の重みまたは数)を計算することがある。1つの特有の例では、特有のボクセルの空間統計は、Welford's Online Algorithmを用いて計算されることがある。
【0030】
セマンティック層のベースまたは最も細かい解像度のボクセルグリッドが完了すると、多重解像度ボクセル空間生成コンポーネント606は、セマンティック層の次のより大きい解像度のボクセルグリッドの各々を反復的にまたは再帰的に生成することがある。例として、多重解像度ボクセル空間生成コンポーネント606は、先行するより低い解像度のグリッド(ベースのまたは最も細かい解像度のグリッドにより凝視する)を利用し、2x2x2近傍内のボクセルに関連付けられたデータをマージして、次のより高いレベルのボクセルグリッドを形成することがある。1つの特定の例では、より低い解像度ボクセルグリッドの近傍内のボクセルは、近傍内の各ボクセルの個々のガウス分布の重み付き和をとることによってマージされる。ゆえに、多重解像度ボクセル空間のセマンティック層内のボクセルグリッドは、
図1~5に関して上により詳細に述べている、各々のより高い解像度のグリッドが、先行するより低い解像度のグリッドよりも少ないボクセルを含む多重解像度ピラミッドを形成することがある。1つの特定の例では、セマンティック層の各々の先行する低い解像度のグリッドは、次のより高い解像度のグリッドの4倍の数のボクセルを有することがある。
【0031】
ターゲット多重解像度ボクセル空間608がデータ点604から生成されると、ターゲット多重解像度ボクセル空間608は、リファレンス多重解像度ボクセル空間610(例えば、シーンを表す多重解像度ボクセル空間)とアライメントされる。例として、例示される例では、多重解像度ボクセル空間アライメントコンポーネント612は、新たに生成されたターゲット多重解像度ボクセル空間608をリファレンス多重解像度ボクセル空間610とアライメントすることがある、またはターゲット多重解像度ボクセル空間608とリファレンス多重解像度ボクセル空間610との間の変換を決定することであり得る。ターゲット多重解像度ボクセル空間608をリファレンス多重解像度ボクセル空間610とアライメントするために、多重解像度ボクセル空間アライメントコンポーネント612は、ターゲット多重解像度ボクセル空間608の各セマンティック層および各解像度に対して、実質的に同時に、各ボクセルを取り、リファレンス多重解像度ボクセル空間610の対応する解像度およびセマンティック層における平均ターゲット点を決定することがある。次に、多重解像度ボクセル空間アライメントコンポーネント612は、リファレンス多重解像度ボクセル空間610の対応する解像度およびセマンティック層のボクセルグリッドの2x2x2近傍を決定し、近傍のボクセルが占めているかどうかを識別することがある。次に、多重解像度ボクセル空間アライメントコンポーネント612は、ターゲット多重解像度ボクセル空間608からボクセルに最も近いセントロイドを有するボクセルを選択し、選択されたボクセルの分布およびターゲットボクセル(target voxel)からのボクセルの分布を平均する。次に、多重解像度ボクセル空間アライメントコンポーネント612は、選択されたボクセルとターゲットからのボクセルとの組み合わされた共分散行列に主成分分析を行い、2つのボクセルに対してマッチングされた法線ベクトルとして最小の固有値を選択することによりターゲット多重解像度ボクセル空間608をリファレンス多重解像度ボクセル空間610とより近くにアライメントさせることがある。いくつかの場合には、最適化は、マッチングされたボクセルに行われて、リファレンス多重解像度ボクセル空間およびターゲット多重解像度ボクセル空間の間の全体的なアライメントを改善する、および/または、限定されないが、非線形最適化(例えば、非線形最小二乗最適化)を含む相対変換(例えば、ローカライゼーションのために用いられる)を決定することがある。一例として、勾配降下技法、たとえば、以下に述べるガウスニュートン技法などが、利用されることがある。
【0032】
ガウスニュートン技法では、ターゲット多重解像度ボクセル空間608の第1のボクセルiとリファレンス多重解像度ボクセル空間610の第2のボクセルjとの間のマッチング、マッチングされた残差は、次のとおりに計算されることがある。
【0033】
【0034】
ただし、
【0035】
【0036】
はマッチングされた法線ベクトルであり、μi、はボクセルiの平均であり、λ0はマッチング共分散行列の最小の固有値である。上に触れているように、マッチング法線ベクトルは、対応するボクセル共分散行列の重み付き和の最小固有ベクトルから計算される。各残差の重み、zijは、M-エスティメータフレームワーク(M-estimator framework)に従って(例えばコーシー損失関数を用いて)再重み付けされる。次に、リファレンスグリッドとターゲットグリッドの間の変換に関して、マッチング誤差ijのヤコビアン
【0037】
【0038】
は、次によって与えられる。
Jij=[Rnij xμj×Rnij]T
次に、多重解像度ボクセル空間アライメントコンポーネント612は、各マッチングijに対して、全勾配と近似のヘシアンとを次のとおりに計算することがある。
【0039】
【0040】
【0041】
ガウスニュートン最適化は、次のとおりに計算される。
HδT=-g
さらに、多重解像度ボクセル空間アライメントコンポーネント612は、SO(3)×R3の要素としてモデリングすることによって、デルタ変換を計算することがあり、更新されたアライメント変換は、次によって与えられる。
xn+1=[exp(δR)Rn δp+pn]T
ただし、exp()は、SO(3)指数写像である。上に与えられた変換が、最適化のさらなるイテレーションにおいて多重解像度ボクセル空間全体に適用されることがあり、最後のイテレーションが、2つのボクセル空間の間の変換を含むことがあることは、理解されるべきである。
【0042】
アライメント処理は、2つの多重解像度ボクセル空間608および610が許容誤差またはしきい値内にアライメントされるまで、またはイテレーション(例えば、ボクセルマージ)の予め決められた数が完了するまで、ターゲット多重解像度ボクセル空間608の各調整の後、イテレーションを続けることがある。このように、アライメントの間、より粗い解像度(例えば、より大きなボクセルに対応する解像度)は、より細かい解像度が、許容誤差またはしきい値を越えてマッチングをすることを開始し、アライメント処理を完了することができるように、2つの多重解像度ボクセル空間608および610をより近いアライメントに至らせるより前のマッチングに帰着することがある。しかしながら、いくつかの実装では、動作は、種々のボクセル空間のいくつかまたはすべてをアライメントさせるように決定される単一のデータ変換により、実質的に同時にすべての層および/またはセマンティッククラスにわたって行われることがある。
【0043】
1つの特有の例では、多重解像度ボクセル空間アライメントコンポーネント612は、追加のイテレーションより前にアライメントを初期化するために、第1のイテレーションにおいて各セマンティック層の最も高いまたは最も粗い解像度のみを利用することがある。場合によっては、各々の追加のイテレーションは、アライメント処理に対して別のより細かい解像度を導入することがある。完全にアライメントされた多重解像度ボクセル空間614は、次に、多重解像度ボクセル空間アライメントコンポーネント612によって出力され、次のリファレンス多重解像度ボクセル空間610として用いられることがある。
【0044】
図7は、本明細書に説明されている多重解像度ボクセル空間の構成に関連付けられた例示的な処理700を例示する例示的なフロー図である。上に述べている、多重解像度ボクセル空間は、異なる解像度または物理的距離にて物理環境を表す複数のボクセルグリッドまたはボクセル層を含むことがある。例として、各ボクセル層は、進行している層の2倍の解像度(例えば、1フィート、2フィート、4フィートなど)にて物理環境を表すことがある。場合によっては、多重解像度ボクセル空間は、複数のセマンティック層に分離されることがあり、各セマンティック層は、異なる解像度の複数のボクセルグリッドを含む。
【0045】
702において、多重解像度ボクセル空間生成コンポーネントは、物理環境を表すデータを受信することがある。例えば、多重解像度ボクセル空間は、たとえば、ライダーシステムの出力など、物理環境を表すデータ点から生成されることがある。他の例では、データは、レーダー、ソナー、赤外線、カメラ、または他の画像/データキャプチャデバイスの出力を含むことがある。いくつかの例では、多重解像度ボクセル空間生成コンポーネントは、各データ点にセマンティッククラスを割り当てることがある。例として、1つの特定の例では、データ点へのセマンティッククラスの割り当ては、全体として本明細書に参照により組み入れられる米国出願シリアル番号15/820,245に述べられる。
【0046】
704において、多重解像度ボクセル空間生成コンポーネントは、物理環境を表すデータからセマンティック点群(semantic point cloud)を生成する。例えば、多重解像度ボクセル空間生成コンポーネントは、物理環境を表すデータから共通フレームにデータ点を投影することがある。
【0047】
例として、多重解像度ボクセル空間生成コンポーネントまたは別のコンポーネントは、データ点に分類および/またはセグメンテーション技法を適用して、マンティッククラスを割り当てることがある。いくつかの例では、1つまたは複数のニューラルネットワーク(例えば、ディープニューラルネットワーク、畳み込みニューラルネットワークなど)、回帰技法などは、データ点をセマンティッククラスにより識別しおよび分類するのに用いられることがある。場合によっては、セマンティッククラスは、たとえば、車両、歩行者、サイクリスト、動物、建物、木、路面、縁石、歩道、不明などのクラスまたはエンティティタイプを含むことがある。
【0048】
706において、多重解像度ボクセル空間生成コンポーネントは、多重解像度ボクセル空間の第1の解像度に対して、セマンティッククラスごとのボクセルコバリアンスグリッドを生成することがある。いくつかの例では、多重解像度ボクセル空間生成コンポーネントは、データ点を、多重解像度ボクセル空間のマッチしているセマンティック層の対応するボクセルに割り当てて、第1の解像度のグリッドの各々を生成することがある。データ点がセマンティック層のボクセルに割り当てられると、多重解像度ボクセル空間生成コンポーネントは、たとえば、各ボクセルに対する平均および共分散など、ボクセル空間統計を決定することがある。場合によっては、多重解像度ボクセル空間生成コンポーネントは、多重解像度ボクセル空間を形成するとき、最も細かい解像度の層より開始し、そして、各々の次のより粗い層を生成することがある。
【0049】
708において、多重解像度ボクセル空間生成コンポーネントは、生成する追加の解像度があるかどうかを決定する。例えば、多重解像度ボクセル空間生成コンポーネントは、解像度が解像度しきい値より大きいかどうか、および/または、層数が層しきい値より大きいかどうかを決定することがある。追加の解像度があるならば、処理700は710に進む。しかしながら、生成する追加の解像度がないならば、処理700は712に進む。
【0050】
710において、多重解像度ボクセル空間生成コンポーネントは、次のより高い解像度に対して、セマンティッククラスごとのボクセルコバリアンスグリッドを生成することがある。各々のより高い解像度のグリッドは、より低いグリッドのボクセルをマージすることによって、より低い解像度のグリッドに少なくとも一部に基づいて形成されることがある。例として、多重解像度ボクセル空間生成コンポーネントは、セマンティック層内のより低い解像度グリッドからボクセルの近傍(たとえば2x2x2グループなど)を取り、近傍内のボクセルの各々から個々の分布(例えば、ガウス分布)の重み付き和を計算して、単一のより高い解像度ボクセルを生成することがある。このように、各々のより高い解像度は、より低い解像度のグリッドよりも少ないボクセルを有し、多重解像度ボクセル空間は、多重解像度ボクセルピラミッドを形成することがある。
【0051】
712において、多重解像度ボクセル空間生成コンポーネントは、結果の多重解像度ボクセル空間を平滑化することがある。例えば、多重解像度ボクセル空間生成コンポーネントは、多重解像度ボクセル空間のボクセルをガウスカーネルにより畳み込み、ボクセルの法線推定(normal estimate)のノイズを減らすことがある。加えて、ライダーが、物理環境を表すデータを収集するのに用いられるとき、多重解像度ボクセル空間生成コンポーネントは、これらのデータ点が、誤って決定された法線と不十分な統計情報とを有することがあるので、しきい値未満の観測に対応するとき(例えば、単一のライダービームが観測される場合)、ボクセルを取り除くことがある。
【0052】
714において、多重解像度ボクセル空間生成コンポーネントは、最大の重みより大きい重みを有するボクセルを最大の重みに減らし、最小の重みより小さい重みを有するボクセルを取り除くことがある。場合によっては、ボクセルに最大および最小の重み範囲を適用することによって、多重解像度ボクセル空間は、より均一なサンプル密度を維持し、システム(例えば、自律車両)に近いボクセルが、
図8に関して以下に述べるアライメント処理に崩壊を引き起こすことを防ぐことがある。他の例では、多重解像度ボクセル空間は、3次元空間内の各ボクセルのロケーションのハッシュとして格納され、次に、ハッシュにインデックスを付け、迅速なメモリーアクセスを提供する(例えば、ボクセルハッシング(voxel hashing)を用いて)ルックアップテーブルを含むことがある。このように、多重解像度ボクセル空間の望ましい部分のみがメモリーにロードされ、多重解像度ボクセル空間をアクセスすることは、より少ない処理リソースを用いて行われることがある。
【0053】
図8は、本明細書に説明されているターゲット多重解像度ボクセル空間をリファレンス多重解像度ボクセル空間とアライメントすることについての例示的な処理800を例示する別のフロー図である。例として、上に述べている、多重解像度ボクセル空間アライメントコンポーネントは、多重解像度ボクセル空間構造を利用して、たとえば、ターゲット多重解像度ボクセル空間およびリファレンス多重解像度ボクセル空間など、物理環境の複数のスキャンをアライメントすることがある。例として、多重解像度ボクセル空間(例えば、ターゲット多重解像度ボクセル空間)、が物理環境を表す特有のスキャンまたはデータセットに対して生成されると、多重解像度ボクセル空間アライメントコンポーネントは、多重解像度ボクセル空間を、シーンを表す多重解像度ボクセル空間(例えば、リファレンス多重解像度ボクセル空間)とアライメントすることがある。
【0054】
802において、多重解像度ボクセル空間アライメントコンポーネントは、シーンを表すリファレンス多重解像度ボクセル空間とアライメントされるターゲット多重解像度ボクセル空間を受信することがある。場合によっては、リファレンス多重解像度ボクセル空間は、システムによって維持され、環境の各々の新しいスキャンにより更新されて、物体検出およびトラッキングを前もって決めることがある。
【0055】
804において、多重解像度ボクセル空間アライメントコンポーネントは、ターゲット多重解像度ボクセル空間とリファレンス多重解像度ボクセル空間との間のボクセル対応(voxel correspondence)を決定することがある。いくつかの例では、対応は、セマンティック層ごと、および解像度ごとであり得る。さらに、対応は、各セマンティック層の各解像度に対して、実質的に同時に決定されることもある。例として、804において、多重解像度ボクセル空間アライメントコンポーネントは、ターゲット多重解像度ボクセル空間における特有の解像度の各ボクセルに対して、リファレンス多重解像度ボクセル空間の対応する特有の解像度において平均ターゲット点を含むボクセルの2x2x2近傍を検索することがある。次に、多重解像度ボクセル空間アライメントコンポーネントは、ターゲット多重解像度ボクセル空間におけるボクセルに最も近いセントロイドを有する2x2x2近傍からボクセルを選択することがある。
【0056】
806において、多重解像度ボクセル空間アライメントコンポーネントは、対応するボクセルを再重み付けすることがある。例として、多重解像度ボクセル空間アライメントコンポーネントは、2つの対応するボクセル(例えば、ターゲットボクセル、および選択されたボクセル)に含まれるデータの重み付き平均を計算することがある。例として、組み合わされた共分散が計算されることがある。集約した共分散が決定されると、多重解像度ボクセル空間アライメントコンポーネントは、2つの対応するボクセルの組み合わされた共分散行列に主成分分析(固有値分解など)を行い、最小の固有値を、マッチングした法線ベクトルとして選択することがある。各ボクセルに対する残差(または誤差)は、マッチングされた法線ベクトルおよび/または対応するボクセルの平均(またはセントロイド)の差に比例して計算されることがあり、2つのフレーム間の変換にわたる最適化は、残差を最小化するように行われることがある。このように、アライメントの間、より粗い解像度(例えば、より大きなボクセルに対応する解像度)は、より細かい解像度より前のマッチングに帰着することがある。このように、より粗い解像度におけるマッチングは、より細かい解像度が、
図6に関して上に述べているマッチングをすることを開始し、アライメント処理を完了することができるように、2つの多重解像度ボクセル空間を、より近いアライメントに至らせる。
【0057】
808において、多重解像度ボクセル空間アライメントコンポーネントは、イテレーションの数が完了したかどうかを決定することがある。例えば、システムは、アライメント処理のイテレーションの最大数を含み、2つの多重解像度ボクセル空間をアライメントすることに関連付けられた処理時間の上限を定める、または制限をすることがある。イテレーションの数が完了したならば、処理800は812に進み、そうでなければ、処理800は810に進行する。
【0058】
810において、多重解像度ボクセル空間アライメントコンポーネントは、組み合わされた多重解像度ボクセル空間についての再重み付き平均が許容誤差しきい値より下であるかどうかを決定することがある。再重み付き平均が許容誤差しきい値より下であるならば、処理800は812に進み、そうでなければ、処理800は804に戻る。システムは、2つの多重解像度ボクセル空間が、特有の使用に対してどれぐらい十分にアライメントされるべきかという要件を設定する許容誤差を含むことがある。例として、いくつかのアプリケーションでは、物理環境の粗い理解のみが必要とされる一方、たとえば自律車両などの他の場合、より正確な詳細な理解が必要とされることがある。
【0059】
812において、多重解像度ボクセル空間アライメントコンポーネントは、ターゲット多重解像度ボクセル空間とリファレンス多重解像度ボクセル空間とのアライメントにおける不確かさの量を減らすおよび/または決定することがある。例えば、最適化(例えば、上記の非線形最適化)の後、多重解像度ボクセル空間アライメントコンポーネントは、アライメントされたボクセルに測定ノイズを伝搬することがある。以下により詳細に議論される1つの特定の例では、多重解像度ボクセル空間アライメントコンポーネントは、零平均および零共分散を有するガウス分布に従ってアライメントの不確かさのモデルを決定することがある。例として、多重解像度ボクセル空間アライメントコンポーネントは、各ステップが次のとおりに計算されるように、正規確率変数x~N(μx,Σx)をモデリングすることがある。
x=Cz
ただし、C=(JTWJ)―1JTW(JおよびWは決定された同一のヤコビアンおよび重みを表し、Cは重み付き擬ハミルトニアンを表す)、z~N(0,δz
2I)は残差である。
【0060】
次に、xの共分散は、残差ノイズを伝搬させ、次のとおりに展開することによって決定されることがある。
Σx=CΣzCT
Σx=(JTWJ)―1JTσz
2W2J(JTWJ)―1
場合によっては、残差ノイズは、インクリメントに計算され、次に、行列JTWJおよびσz
2JTW2Jは、各ボクセルに対して集められることがある。1つの特有の例では、さらに、多重解像度ボクセル空間アライメントコンポーネントは、各残差
【0061】
【0062】
の等方性の分散を導出することもあり、各ボクセルの平均は、
【0063】
【0064】
に従って分布され、ただし、σp
2は、各点観測における等方性のガウス雑音であり、Wiは、ボクセルの重みである。次に、残差の共分散は、次のとおりに計算されることがある。
σz
2I=E[zzT]
E[zzT]を含む項は、ボクセル平均について仮定される独立のために零になる。ゆえに、
【0065】
【0066】
ただし、
【0067】
【0068】
次に、多重解像度ボクセル空間アライメントコンポーネントは、外れ値の名目上の数から仮定される寄与を加えることによって、および、対角を最小値にクランピングするまたは制限することによって、結果の共分散行列をさらに正則化することもある。
【0069】
814において、多重解像度ボクセル空間アライメントコンポーネントは、アライメントされた多重解像度ボクセル空間(測定不確実さを含むことがある)を出力することがある。例として、アライメントされた多重解像度ボクセル空間は、たとえば、自律車両のプランニングシステムまたはパーセプションシステムなど、別のシステムに提供されることがある。他の場合、アライメントされた多重解像度ボクセル空間は、1つまたは複数のネットワークを介して、たとえばクラウドベースのコンピューティングシステムなど、リモートシステムまたはリモートデバイスに送られることがある。他の例では、多重解像度ボクセル空間アライメントコンポーネントは、物理環境に関して、車両の位置に関連付けられたターゲット多重解像度ボクセル空間とリファレンス多重解像度ボクセル空間との間のローカリゼーションデータまたは変換データを出力することがある。いくつかの例では、リファレンス多重解像度ボクセル空間は、クラウドベースのコンピューティングシステムによって予め生成され、車両が進み始めるより前に車両に送られることがある。場合によっては、クラウドベースシステムmaは、複数の車両から、動作の間、収集されたデータ(例えば、マージターゲット多重解像度ボクセル空間(merge target multi-resolution voxel space))を用いて、リファレンス多重解像度ボクセル空間を更新する。さらに、いくつかの例では、車両は、オフラインのやり方にて(例えば、駐車されたとき、ないしは別のやり方により機敏に進む状況でないなど)リファレンス多重解像度ボクセル空間を更新するように装備されることがある。
【0070】
図9は、本開示の態様にしたがって、本明細書に説明される技法を実装するための例示的なシステムを例示する。いくつかの例では、システムは、
図1~8を参照して本明細書に説明される態様の1つまたは複数の特徴、処理リソース、構成要素、および/または機能性を含むことがある。上に述べている、いくつかの態様では、システムは、自律車両を含むことがある。
【0071】
図9は、本明細書に説明されている多重解像度ボクセル空間アライメントシステムを実装するための例示的なシステム900のブロック図である。今述べた態様では、システム900は、車両コンピューティングデバイス904、1つまたは複数のセンサーシステム906、1つまたは複数の通信接続908、および1つまたは複数のドライブシステム91010を含むことがある車両902である。
【0072】
車両コンピューティングデバイス904は、1つまたは複数のプロセッサー912(または処理リソース)と、1つまたは複数のプロセッサー912と通信接続されたコンピューター読取り可能媒体914とを含むことがある。例示される例では、車両902は、自律車両であるが、しかしながら、車両902は、どんな他の種類の車両でも、またはどんな他のシステム(例えば、ロボティックシステム、カメラ可能スマートフォンなど)でもあることが可能だろう。例示される例では、車両コンピューティングデバイス904のコンピューター読取り可能媒体914は、多重解像度ボクセル空間生成コンポーネント916、多重解像度ボクセル空間アライメントコンポーネント918、プランニングコンポーネント920、パーセプションコンポーネント922を、自律車両に関連付けられた他のシステムも同様に、格納する。さらに、コンピューター読取り可能媒体914は、センサーデータ924および多重解像度ボクセル空間926を格納することもある。いくつかの実装では、システムが、コンピューター読取り可能媒体に格納されたデータも同様に、加えてまたは代わりに、車両902にアクセス可能であり得る(例えば、車両902から離れた他のコンピューター読取り可能媒体に格納される、ないしは別のやり方によりアクセス可能である)ことは、理解されるべきである。
【0073】
多重解像度ボクセル空間生成コンポーネント916は、たとえば、ライダーシステムの出力など、物理環境を表すデータ点から多重解像度ボクセル空間を生成することがある。場合によっては、多重解像度ボクセル空間生成コンポーネント916は、複数のライダーポイント、または点群として表されるライダーデータを受信することがある。多重解像度ボクセル空間生成コンポーネント916は、ライダーポイントを、第1のベース解像度のボクセルグリッドのボクセルに割り当てることがある。次に、多重解像度ボクセル空間生成コンポーネント916は、より高いレベルのボクセルグリッドを生成するとき、より低い解像度のグリッドのボクセルをマージすることがある。例えば、多重解像度ボクセル空間生成コンポーネント916は次のより高いレベルのボクセルグリッドを形成するとき、より低い解像度のグリッドにおける近傍(たとえば、2x2x2近傍など)内のボクセルをマージすることがある。
【0074】
1つの特有の例では、多重解像度ボクセル空間生成コンポーネント1016は、ブロックに、メモリー内にて動かされるまたは再配置されることを可能にするオフセットとして実装されたポインタを有するコリジョンフリーのハッシュテーブルを介してアクセス可能なメモリーのマッピング可能な連続ブロックとして多重解像度ボクセル空間を生成することがある。場合によっては、メモリーブロックは、ヘッダ、インデックス(例えば、ハッシュテーブル)、およびボクセルアレイを有するタイルとして表されることがある。インデックスは、層および/または解像度によって分離されることがある。ボクセルアレイは、単一のアレイ、または解像度によって配置される複数のアレイ(例えば、第1のセマンティック層の第1の解像度のグリッド、第2のセマンティック層の第1の解像度のグリッド、第3セマンティック層の第1の解像度のグリッド、...)を含むことがある。ボクセルアレイにおいて、各エレメントは、ボクセルと、ボクセルの空間位置のキーとであり得る。場合によっては、ヘッダは、スタック識別子、バージョン数、解像度の数、セマンティックラベルの数、層の総数、オフセットなどを含むことがある。インデックスは、ハッシュ値をメモリーブロック内のオフセットに関係させるスパースハッシュテーブル(sparse hash table)であり得る。さらに、インデックスは、今述べた特有のテーブルに対する入力をソルトするのに用いられるソルト値と、モジュラス計算の第1のラウンドに用いられる素数値とを含むこともある。
【0075】
いくつかの例では、多重解像度ボクセル空間アライメントコンポーネント1018は、2つの多重解像度ボクセル空間(例えば、ターゲット多重解像度ボクセル空間およびリファレンス多重解像度ボクセル空間)をアライメントすることがある。場合によっては、多重解像度ボクセル空間アライメントコンポーネント918は、リファレンス多重解像度ボクセル空間およびターゲット多重解像度ボクセル空間のボクセル間の対応を見つけることがある。多重解像度ボクセル空間アライメントコンポーネント918は、ターゲット多重解像度ボクセル空間における特有の解像度の各ボクセルに対して、リファレンス多重解像度ボクセル空間の対応する特有の解像度にて平均ターゲット点を含むボクセルの3次元(例えば、2x2x2、3x3x3、5x5x5など)近傍を検索することによって、対応を見つけることがある。近傍内の識別されたボクセルのうち、多重解像度ボクセル空間アライメントコンポーネント918は、ターゲット多重解像度ボクセル空間のボクセルに近いセントロイドを有するボクセルを選択することがある。次に、多重解像度ボクセル空間アライメントコンポーネント918は、リファレンス多重解像度ボクセル空間における選択されたボクセルの分布を、ターゲット共分散スタック(target covariance stack)のボクセルにより平均することがある。次に、多重解像度ボクセル空間アライメントコンポーネント1018は、組み合わされた共分散行列に主成分分析を行い、最小の固有値を、2つのボクセルに対してマッチングされた法線ベクトルとして選択することがある。
【0076】
プランニングコンポーネント920は、物理環境を通過して横切るために従う車両902に対してパスを決定することがある。例えば、プランニングコンポーネント920は、種々のルートおよび軌道および種々の詳細レベルを決定することがある。例えば、プランニングコンポーネント920は、現在ロケーションから目標ロケーションまでの移動経路を決定することがある。本解説の目的のために、ルートは、2つのロケーション間を進むためのウェイポイントのシーケンスであり得る。
【0077】
いくつかの実装では、プレディクションコンポーネント922は、多重解像度ボクセル空間生成コンポーネント916および多重解像度ボクセル空間アライメントコンポーネント918によって出力された多重解像度ボクセル空間926に少なくとも部分的に基づいて、たとえば、姿勢、速さ、軌道、速度、ヨー、ヨー率、ロール、ロール率、ピッチ、ピッチ率、位置、加速度、または他の特性など、オブジェクト(例えば、車両、歩行者、動物など)の現在を推定する、および/または将来、特性、または状態を予測するように構成されることがある。
【0078】
さらに、車両902は、車両902と、他のローカルまたはリモートのコンピューティングデバイス(複数可)との間の通信を可能にする通信接続(複数可)908を含むことも可能である。例として、通信接続(複数可)908は、車両902の他のローカルコンピューティングデバイス(複数可)との、および/またはドライブシステム(複数可)910との通信を容易にすることがある。さらに、通信接続(複数可)908は、車両902が、他の近くのコンピュータデバイス(複数可)(たとえば、他の近くの車両、交通信号機など)と通信できるようにすることもある。さらに、通信接続(複数可)908は、車両902に、リモート遠隔操作コンピューティングデバイス、または他のリモートサービスと通信できるようにもする。
【0079】
通信接続(複数可)908は、車両コンピューティングデバイス904を、別のコンピューティングデバイス(例えば、コンピューティングデバイス(複数可)930)に、および/またはネットワークたとえばネットワーク(複数可)928などに接続するための物理および/または論理インターフェースを含むことがある。例えば、通信接続(複数可)908は、たとえば、IEEE802.11規格によって定義された周波数、たとえばBLUETOOTH(登録商標)などのショートレンジのワイヤレス周波数、セルラー通信(例えば2G、3G、4G、4G LTE、5Gなど)、またはそれぞれのコンピューティングデバイスに他のコンピューティングデバイス(複数可)とインターフェースできるようにするどんな適切なワイヤードもしくはワイヤレスの通信プロトコルでも介してなど、Wi-Fiベースの通信を可能にすることがある。いくつかの例では、車両902の通信接続908は、多重解像度ボクセル空間926をコンピューティングデバイス(複数可)930に送信するまたは送ることがある。
【0080】
少なくとも1つの例にて、センサーシステム(複数可)906は、ライダーセンサー、レーダーセンサー、超音波トランスデューサー、ソナーセンサー、ロケーションセンサー(例えば、GPS、方位磁針など)、慣性センサー(例えば、慣性測定ユニット(IMU)、加速度計、磁力計、ジャイロスコープなど)、カメラ(例えば、RGB、IR、強度、深度、タイムオブフライトなど)、マイクロフォン、ホイールエンコーダー、環境センサー(例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど)、および1つまたは複数のタイムオブフライト(time of flight:ToF)センサーなどを含むことが可能である。センサーシステム(複数可)906は、今述べたまたは他の種類のセンサーの各々に関する複数のインスタンスを含むことが可能である。例として、ライダーセンサーは、車両902の角、前面、後面、側面、および/または上面に位置される個々のライダーセンサーを含むことがある。別の例として、カメラセンサーは、車両902の外部および/または内部のあちこちに、種々のロケーションに配置された複数のカメラを含むことが可能である。センサーシステム(複数可)906は、入力を、車両コンピューティングデバイス904に提供することがある。加えて、または代わりに、センサーシステム(複数可)906は、1つまたは複数のネットワーク928を介して、センサーデータを、特有の周波数において、予め決められた一定の時間が経つと、ほぼリアルタイムにおいてなど、1つまたは複数のコンピューティングデバイス(複数可)930に送ることが可能である。
【0081】
少なくとも1つの例にて、車両902は、1つまたは複数のドライブシステム910を含むことが可能である。いくつかの例では、車両902は、単一のドライブモジュール910を有することがある。少なくとも1つの例にて、車両902が複数のドライブシステム910を有するならば、個々のドライブシステム910は、車両902の向き合う端部(例えば、前方および後方など)に置かれることが可能である。少なくとも1つの例にて、ドライブシステム(複数可)910は、上に述べている、ドライブシステム(複数可)910の状態を、および/または車両902の周囲の状態を検出する1つまたは複数のセンサーシステム906を含むことが可能である。例および非限定として、センサーシステム(複数可)906は、ドライブモジュールの車輪の回転を感知する1つまたは複数のホイールエンコーダー(たとえば、ロータリーエンコーダー)、ドライブシステムの向きおよび加速度を測定する慣性センサー(たとえば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたは他の画像センサー、ドライブシステムの周囲のオブジェクトを聴覚的に検出する超音波センサー、ライダーセンサー、レーダーセンサーなどを含むことが可能である。いくつかのセンサー、たとえばホイールエンコーダーなどは、ドライブシステム(複数可)910に一意的であり得る。場合によっては、ドライブシステム(複数可)910におけるセンサーシステム(複数可)906は、車両902の対応するシステムに重なるまたは対応するシステムを補うことが可能である。
【0082】
少なくとも1つの例にて、本明細書に述べられる構成要素は、上に説明されるようにセンサーデータ924を処理することができ、1つまたは複数のネットワーク(複数可)928を介して、それぞれの出力を1つまたは複数のコンピューティングデバイス(複数可)930に送ることがある。少なくとも1つの例にて、本明細書に述べられるコンポーネントは、それらのそれぞれの出力を、特定の周波数において、予め決められた一定の時間が経つと、ほぼリアルタイムにおいてなど、1つまたは複数のコンピューティングデバイス(複数可)930に送ることがある。
【0083】
いくつかの例では、車両902は、ネットワーク(複数可)928を介して1つまたは複数のコンピューティングデバイス(複数可)930にセンサーデータを送ることが可能である。いくつかの例では、車両902は、生のセンサーデータ924または処理された多重解像度ボクセル空間926をコンピューティングデバイス(複数可)930に送ることが可能である。他の例では、車両902は、処理されたセンサーデータ924および/またはセンサーデータの表現(例として、物体パーセプショントラック(object perception track))をコンピューティングデバイス(複数可)930に送ることが可能である。いくつかの例では、車両902は、センサーデータ924を、特有の周波数において、予め決められた一定の時間が経つと、ほぼリアルタイムにおいてなど、コンピューティングデバイス(複数可)930に送ることが可能である。場合によっては、車両902は、(生のまたは処理された)センサーデータをコンピューティングデバイス(複数可)930に送ることが可能である。
【0084】
コンピューティングシステム(複数可)930は、プロセッサー(複数可)932と、多重解像度ボクセル空間生成コンポーネント936、多重解像度ボクセル空間アライメントコンポーネント938を、車両902から受信されるセンサーデータ940および多重解像度ボクセル空間942も同様に、格納するコンピューター読取り可能媒体934とを含むことがある。いくつかの例では、多重解像度ボクセル空間生成コンポーネント936および多重解像度ボクセル空間アライメントコンポーネント938は、多重解像度ボクセル空間942を生成して、または複数の車両902によってキャプチャされたデータから生成された多重解像度ボクセル空間942をアライメントして、種々の物理環境のより完全なシーンを形成する、および/または信号拡張物理環境としていっしょに種々のシーンを接続するように構成されることがある。場合によっては、多重解像度ボクセル空間生成コンポーネント936および/または多重解像度ボクセル空間アライメントコンポーネント938は、機械学習および/または将来のコードテストのために用いられることがあるセンサーデータ924からの1つまたは複数のモデルを生成するように構成されることがある。
【0085】
車両902のプロセッサー(複数可)912およびコンピューティングデバイス(複数可)930のプロセッサー(複数可)932は、本明細書に説明されているデータを処理し、動作を行う命令を実行する性能があるどんな適切なプロセッサーでもあり得る。例および非限定として、プロセッサー(複数可)912および932は、1つまたは複数のCPU(中央処理装置)、GPU(Graphics Processing Unit)、または電子データを処理して、その電子データを、レジスターおよび/もしくはコンピューター読取り可能媒体に格納されることが可能である他の電子データに変換するどんな他のデバイスもしくはデバイスの部分でも含むことが可能である。いくつかの例では、さらに、集積回路(例えば、ASICなど)、ゲートアレイ(例えば、FPGAなど)、および他のハードウェアデバイスは、エンコードされた命令を実装するように構成される限り、考慮されるプロセッサーであることも可能である。
【0086】
コンピューター読取り可能媒体914および934は、非一時的なコンピューター読取り可能媒体の例である。コンピューター読取り可能媒体914および934は、本明細書に説明される方法と、種々のシステムに帰する機能とを実装するためのオペレーティングシステムおよび1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納することが可能である。種々の実装において、コンピューター読取り可能媒体は、どんな適切なコンピューター読取り可能媒体技術でも、例えば、SRAM(スタティックRAM)、SDRAM(シンクロナスDRAM)、不揮発性/フラッシュ型メモリー、または情報を格納する性能があるどんな他のタイプのメモリーでも用いて実装されることが可能である。本明細書に説明されるアーキテクチャ、システム、および個々の要素は、多くの他の論理的な、プログラム的な、および物理的なコンポーネントを含むことが可能であり、添付の図面に示されるそれらは、本明細書の説明に関係する単なる例である。
【0087】
理解されることが可能であるように、本明細書に述べられる構成要素は、例示の目的のために区分されているとして説明される。しかしながら、種々の構成要素によって行われる動作は、どんな他の構成要素にでも組み合わされるまたは行われることが可能である。
【0088】
図9が分散システムとして例示される一方、代替えの例では、車両902のコンポーネントがコンピューティングデバイス(複数可)930に関連付けられることが可能であること、および/または、コンピューティングデバイス(複数可)930のコンポーネントが車両902に関連付けられることが可能であることは特筆されるべきである。すなわち、車両902は、コンピューティングデバイス(複数可)930に関連付けられた1つまたは複数の機能を行い、逆もまた同様であることが可能である。
【0089】
図10は、本明細書に説明されている、たとえばキャプチャされたデータの点群表現1008と比較した
図2~4の多重解像度ボクセル空間208など、多重解像度ボクセル空間の例についての絵入りの
図1000である。例示されている多重解像度ボクセル空間208および点群表現1008の両方は、実世界の物理的なロケーションまたは空間に対応する。
【0090】
例示的な箇条
A.ライダーセンサーと、1つまたは複数のプロセッサーと、1つまたは複数のプロセッサーによって実行可能な命令を格納する1つまたは複数の非一時的なコンピューター読取り可能媒体とを含み、命令は、実行されると、システムに、ライダーセンサーから物理環境を表すデータを受信することと、データの第1の部分に関連付けられた第1のセマンティッククラスを決定することと、データの第2の部分に関連付けられた第2のセマンティッククラスを決定することと、データの第1の部分を第1のボクセルグリッドの第1のボクセルのボクセルに関連付け、第1のボクセルグリッドがターゲット多重解像度ボクセル空間の第1のセマンティック層に関連付けられることと、データの第2の部分を第2のボクセルグリッドの第2のボクセルのボクセルに関連付け、第2のボクセルグリッドがターゲット多重解像度ボクセル空間の第2のセマンティック層に関連付けられ、第1のボクセルグリッドおよび第2のボクセルグリッドが第1の解像度に関連付けられることと、第1のボクセルグリッドの隣り合ったボクセルの第1のセットをマージして、第1のセマンティック層に関連付けられた第3のボクセルグリッドのボクセルを形成し、第3のボクセルグリッドが第1の解像度よりも低い第2の解像度に関連付けられることと、第2のボクセルグリッドの隣り合ったボクセルの第2のセットをマージして、第2のセマンティック層に関連付けられた第4のボクセルグリッドのボクセルを形成し、第4のボクセルグリッドが第2の解像度に関連付けられることとを含む動作を行わせる、システム。
【0091】
B.動作は、第3のボクセルグリッドの隣り合ったボクセルの第3のセットをマージして、第1のセマンティック層に関連付けられた第5のボクセルグリッドのボクセルを形成し、第5のボクセルグリッドが第2の解像度よりも低い第3の解像度を有することと、第4のボクセルグリッドの隣り合ったボクセルの第4のセットをマージして、第2のセマンティック層に関連付けられた第6のボクセルグリッドのボクセルを形成し、第6のボクセルグリッドが第3の解像度を有することとをさらに含む、項Aのシステム。
【0092】
C. データの第1の部分を関連付けることは、データの第1の部分の観測の数が観測のしきい値数以上であると決定することと、データの第1の部分の平均値を決定することと、データの第1の部分の共分散を決定することと、平均および共分散を第1のボクセルに関連付けることとを含む、項Aのシステム。
【0093】
D.動作は、リファレンス多重解像度ボクセル空間を受信することと、ターゲット多重解像度ボクセル空間のターゲットボクセルとリファレンス多重解像度ボクセル空間のリファレンスボクセル(reference voxel)との間のボクセル対応(voxel correspondence)を決定し、ターゲットボクセルおよびリファレンスボクセルが同一の解像度を含むことと、ターゲットボクセルおよびリファレンスボクセルを表す組み合わされたボクセルの重み付き統計量を決定することと、重み付き平均共分散に少なくとも部分的に基づいてリファレンス多重解像度ボクセル空間とターゲット多重解像度ボクセル空間との間の変換を決定することと、変換に少なくとも部分的に基づいて自律車両を制御することとをさらに含む、項Cのシステム。
【0094】
E.センサーからセンサーデータを受信することと、センサーデータの少なくとも第1の部分を多重解像度ボクセル空間の第1のボクセルグリッドの第1のボクセルに関連付け、第1のボクセルが第1のセマンティック分類(semantic classification)および第1の解像度に関連付けられることと、センサーデータの少なくとも第2の部分を多重解像度ボクセル空間の第2のボクセルグリッドの第2のボクセルに関連付け、第2のボクセルが第1のセマンティック分類および第1の解像度に関連付けられることと、第1のボクセルおよび第2のボクセルに少なくとも部分的に基づいて、第1の解像度よりも低い第2の解像度に関連付けられた第3のボクセルを決定し、第3のボクセルが第1のセマンティック分類に関連付けられることと、多重解像度ボクセル空間に少なくとも部分的に基づいて自律車両を制御することとを含む、方法。
【0095】
F.データの第1の部分に関連付けられた第1のセマンティック分類を決定することと、データの第3の部分に関連付けられた第2のセマンティック分類を決定することと、第2のセマンティック分類に少なくとも部分的に基づいて、データの第3の部分を多重解像度ボクセル空間の第3のボクセルに関連付けることとをさらに含む、項Eの方法。
【0096】
G.データの第1の部分を関連付けることは、データの第1の部分の第1の平均値を決定することと、データの第1の部分の第1の共分散を決定することと、第1の平均および第1の共分散を第1のボクセルに関連付けることと、データの第2の部分の第2の平均値を決定することと、データの第2の部分の第2の共分散を決定することと、第2の平均および第2の共分散を第2のボクセルに関連付けることとを含む、項Eの方法。
【0097】
H.第3のボクセルを決定することは、第1のボクセルの第1の平均および第2のボクセルの第2の平均の重み付き平均を決定することと、第1のボクセルの第1の共分散および第2のボクセルの第2の共分散の重み付き平均を決定することと、第1の平均および第2の平均の重み付き平均と第1の共分散および第2の共分散の重み付き平均とを第3のボクセルに関連付けることを含む、項Eの方法。
【0098】
I.リファレンス多重解像度ボクセル空間を受信することと、第1のボクセルとリファレンス多重解像度ボクセル空間のリファレンスボクセルとの間のボクセル対応を決定し、リファレンスボクセルが第1の解像度を有することと、第1のボクセルおよびリファレンスボクセルを表す組み合わされたボクセルの重み付き統計量を決定することと、重み付き平均統計量に少なくとも部分的に基づいて多重解像度ボクセル空間とリファレンス多重解像度ボクセル空間との間の変換を決定することとをさらに含み、自律車両を制御することは変換に少なくとも部分的に基づく、項Eの方法。
【0099】
J.ボクセル対応は、少なくとも、リファレンス多重解像度ボクセル空間に関連付けられた第1のセントロイドと、ターゲット多重解像度ボクセル空間に関連付けられた第2のセントロイドとの間の距離に基づく、項Iの方法。
【0100】
K.重み付き統計量は、重み付き共分散を含む、項Iの方法。
【0101】
L.変換を決定することは、アライメントをガウス分布としてモデリングすることに少なくとも部分的に基づいて、測定の不確かさを決定することをさらに含む、項Iの方法。
【0102】
M.変換を決定することは、第1のボクセルの共分散とリファレンスボクセルの共分散との重み付き平均を決定することと、重み付き平均の最小固有ベクトルを決定することとを含む、項Iの方法。
【0103】
N.第1のボクセルおよび第2のボクセルは、第1の解像度内にて隣り合う、項Eの方法。
【0104】
O.実行されると、1つまたは複数のプロセッサーに、車両に関連付けられたセンサーからセンサーデータを受信することと、データの第1の部分をボクセル空間の第1のグリッドの第1のボクセルに関連付け、データの第1の部分が第1のセマンティッククラスを有することと、データの第1の部分に関連付けられた第1の重み付き統計量を決定することと、データの第2の部分をボクセル空間の第1のグリッドの第2のボクセルに関連付けることと、データの第2の部分に関連付けられた第2の重み付き統計量を決定し、データの第2の部分が第1のセマンティッククラスを有することと、第1の重み付き統計量と第2の重み付き統計量とに少なくとも部分的に基づいて、ボクセル空間の第2のグリッドの第3のボクセルに関連付けられた第3の重み付き統計量を決定し、第1のグリッドは、第2のグリッドに関連付けられた第2の解像度よりも少ないボクセルを有する第1の解像度に関連付けられることと、ボクセル空間に少なくとも部分的に基づいて車両を制御することとを含む動作を行わせる命令を格納する非一時的なコンピューター読取り可能媒体。
【0105】
P.動作は、データの第1の部分およびデータの第2の部分をボクセル空間の第1のセマンティック層に関連付け、第1のセマンティック層が第1のセマンティッククラスに対応することと、データの第3の部分をボクセル空間の第1のグリッドの第3のボクセルに関連付け、データの第3の部分が第2のセマンティッククラスを有することと、データの第3の部分をボクセル空間の第2のセマンティック層に関連付け、第2のセマンティック層が第2のセマンティッククラスに対応することとを含む、項Oの非一時的なコンピューター読取り可能媒体。
【0106】
Q.第1のセマンティッククラスは、歩行者、車両、建物、動物、または群葉を含む、項Oの非一時的なコンピューター読取り可能媒体。
【0107】
R.第1の重み付き統計量は、データの第1の部分の第1の平均および第1の共分散を含み、第2の重み付き統計量は、データの第2の部分の第2の平均および第2の共分散を含む、項Oの非一時的なコンピューター読取り可能媒体。
【0108】
S.第3の重み付き統計量は、第1の平均および第2の平均の重み付き平均を決定することと、第1の共分散および第2の共分散の重み付き平均を決定することと、第1の平均および第2の平均の重み付き平均と第1の共分散および第2の共分散の重み付き平均を第3ボクセルに関連付けることとに少なくとも部分的に基づいて決定される、項Oの非一時的なコンピューター読取り可能媒体。
【0109】
T.動作は、ボクセル空間および多重解像度ボクセル空間に少なくとも部分的に基づいて、物理環境内の車両のロケーションを決定することをさらに含む、項Oの非一時的なコンピューター読取り可能媒体。
【0110】
U.1つまたは複数のプロセッサーと、1つまたは複数のプロセッサーによって実行可能な命令を格納する1つまたは複数の非一時的なコンピューター読取り可能媒体とを含み、命令は、実行されると、システムに、データを受信することと、データをターゲット多重解像度ボクセル空間に関連付けることと、リファレンス多重解像度ボクセル空間を受信することと、リファレンス多重解像度ボクセル空間のリファレンスボクセルに関連付けられたターゲット多重解像度ボクセル空間のターゲットボクセルを決定し、ターゲットボクセルおよびリファレンスボクセルが同一の解像度に関連付けられることと、ターゲットボクセルおよびリファレンスボクセルを表す組み合わされたボクセルに関連付けられた重み付き統計値を決定することと、重み付き統計値に少なくとも部分的に基づいて変換を決定することと、変換に少なくとも部分的に基づいて自律車両を制御することとを含む動作を行わせる、システム。
【0111】
V.重み付き統計値は、重み付き共分散行列である、項Uのシステム。
【0112】
W.動作は、重み付き平均共分散行列に主成分分析を行うことと、主成分分析の最小固有ベクトルを決定することとをさらに含み、変換を決定することは、最小固有ベクトルにさらに基づく、項Uのシステム。
【0113】
X.リファレンス多重解像度ボクセル空間のリファレンスボクセルに関連付けられたターゲット多重解像度ボクセル空間のターゲットボクセルを決定し、ターゲットボクセルおよびリファレンスボクセルを表す組み合わされたボクセルに関連付けられた重み付き統計値を決定することは、ボクセルの複数のペアに対して反復して行われ、ボクセルの個々のペアがターゲット多重解像度ボクセル空間のボクセルおよびリファレンス多重解像度ボクセル空間のボクセルを含む、項Uのシステム。
【0114】
Y.第1のボクセル空間を含むマップデータを受信し、第1のボクセル空間が、第1の解像度に関連付けられた第1の層と、第1の解像度とは異なる第2の解像度に関連付けられた第2の層とを有することと、車両に関連付けられたセンサーからセンサーデータを受信することと、センサーデータを第2のボクセル空間に関連付け、第2のボクセル空間が、第1の解像度に関連付けられた第1の層と第2の解像度に関連付けられた第2の層とを有することとを含むことと、第1のボクセル空間および第2のボクセル空間に少なくとも部分的に基づいて、第1の集約されたボクセルデータを決定することと、第1の集約されたボクセルデータに少なくとも部分的に基づいて、第1のボクセル空間と第2のボクセル空間との間の変換を決定することと、変換に少なくとも部分的に基づいて物理環境における車両のロケーションを決定することとを含む、方法。
【0115】
Z.第1の集約されたボクセルデータを決定することは、第1のボクセル空間の第1のボクセルに対して、第1のボクセルのセントロイドの指定された距離内のセントロイドを有する第2のボクセル空間のボクセルのセットを識別することと、ボクセルのセットの第2のボクセルを選択し、第2のボクセルが第1のボクセルのセントロイドに最も近いセントロイドを有することと、第1のボクセルの共分散およびリファレンスボクセルの共分散の重み付き平均を決定することとを含む、項Yの方法。
【0116】
AA.第1のボクセルおよび第2のボクセルは、同一のセマンティッククラスを含む、項Zの方法。
【0117】
AB.第1の集約されたボクセルデータを決定することは、重み付き平均の最小固有ベクトルを決定することと、最小固有ベクトルに少なくとも部分的に基づいて、第1の集約されたボクセルデータを表す法線ベクトルを決定することとをさらに含む、項Zの方法。
【0118】
AC.第1の集約されたボクセルデータを再重み付けすることは、m-エスティメータフレームワークを適用することを含む、項ABの方法。
【0119】
AD.変換を決定することは、最小固有値に少なくとも部分的に基づいて、残差を決定することと、残差に少なくとも部分的に基づいて、ターゲットボクセル空間とリファレンスボクセル空間との間の回転または平行移動のうちの1つまたは複数を決定することとを含む、項ABの方法。
【0120】
AE.分布をモデリングすることに少なくとも部分的に基づいて、アライメントに関連付けられた不確かさを決定することをさらに含む、項ADの方法。
【0121】
AF.変換は、第1のボクセル空間と第2のボクセル空間との間の位置または向きのうちの1つまたは複数における差を示す、項Zの方法。
【0122】
AG.車両は自律車両であり、方法は、物理環境における自律車両のロケーションに少なくとも部分的に基づいて自律車両を制御することをさらに含む、項Zの方法。
【0123】
AH.実行されると、1つまたは複数のプロセッサーに、ターゲット多重解像度ボクセル空間を受信することと、リファレンス多重解像度ボクセル空間を受信することと、ターゲット多重解像度ボクセル空間の第1のターゲットボクセルがリファレンス多重解像度ボクセル空間の第1のリファレンスボクセルに関連付けられると決定し、第1のターゲットボクセルおよび第1のリファレンスボクセルが第1の解像度を共有することと、第1のターゲットボクセルおよび第1のリファレンスボクセルの第1の重み付き統計量を決定することと、ターゲット多重解像度ボクセル空間の第2のターゲットボクセルがリファレンス多重解像度ボクセル空間の第2のリファレンスボクセルに関連付けられると決定し、第2のターゲットボクセルおよび第2のリファレンスボクセルは、第2の解像度を共有し、第2の解像度が第1の解像度とは異なることと、第2のターゲットボクセルおよび第2のリファレンスボクセルを表す第2の組み合わされたボクセルの第2の重み付き統計量を決定することと、第1の重み付き統計量および第2の重み付き統計量に少なくとも部分的に基づいて、ターゲット多重解像度ボクセル空間とリファレンス多重解像度ボクセル空間との間の変換を決定することとを含む動作を行わせる命令を格納する、非一時的なコンピューター読取り可能媒体。
【0124】
AI.ターゲット多重解像度ボクセル空間は、第1の分類に関連付けられたボクセルの第1のセットと、第2の分類に関連付けられたボクセルの第2のセットとを含む、項AHの非一時的なコンピューター読取り可能媒体。
【0125】
AJ.ターゲット多重解像度ボクセル空間の第1のターゲットボクセルがリファレンス多重解像度ボクセル空間の第1のリファレンスボクセルに関連付けられると決定することは、第1のターゲットボクセルに対して、第1のターゲットボクセルのセントロイドの指定された距離内のセントロイドを有するリファレンス多重解像度ボクセル空間のボクセルのセットを識別することと、第1のターゲットボクセルのセントロイドに対する第1のリファレンスボクセルのセントロイドの距離に基づいて、ボクセルのセットから第1のリファレンスボクセルを決定することと、を含む、項AHの非一時的なコンピューター読取り可能媒体。
【0126】
AK.第1のターゲットボクセルのセントロイドと第1のリファレンスボクセルのセントロイドとの距離に少なくとも部分的に基づいて、第1のターゲットボクセルおよび第1のリファレンスボクセルが対応すると決定することをさらに含む、項AHの非一時的なコンピューター読取り可能媒体。
【0127】
AL.第1の重み付き統計量は、重み付き平均共分散である、項AHの非一時的なコンピューター読取り可能媒体。
【0128】
AM.変換を決定することは、第1の重み付き統計量に主成分分析を行うことと、主成分分析の最小固有値を決定することと、最小固有値に少なくとも部分的に基づいて、残差を決定することと、変換として、残差を最適化するターゲット多重解像度マップとリファレンス多重解像度マップと間の回転または平行移動のうちの1つまたは複数を決定することとを含む、項AHの非一時的なコンピューター読取り可能媒体。
【0129】
AN.残差に少なくとも部分的に基づいて値を最小化する勾配降下技法または非線形最適化技法のうちの1つまたは複数を適用することをさらに含み、変換は、平行移動または回転のうちの1つまたは複数を含む、項AMの非一時的なコンピューター読取り可能媒体。
【0130】
上に説明される例示的な箇条が、ある特有の実装に関して説明されるが、本文書の関連において、さらに、例示的な箇条の内容が、方法、デバイス、システム、コンピューター読取り可能媒体、および/または別の実装を介して実装されることが可能であることは、理解されるべきである。加えて、例A-ANのいずれかは、単独にて、または例A-ANのうちのいずれか他の1つまたは複数との組み合わせにおいて、実装されることがある。
【0131】
終結
理解されることが可能であるように、本明細書に述べられる構成要素は、例示の目的のために区分されているとして説明される。しかしながら、種々の構成要素によって行われる動作は、どんな他の構成要素にでも組み合わされるまたは行われることが可能である。さらに、1つの例または実装に関して述べられた構成要素またはステップが、他の例の構成要素またはステップと協働して用いられることがあることは、理解されるべきである。例えば、
図9のコンポーネントおよび命令は、
図1~8の処理およびフローを利用することがある。
【0132】
本明細書に説明される技法に関する1つまたは複数の例が説明されたが、種々の代替、追加、置換および均等は、本明細書に説明される技法の範囲内に含まれる。
【0133】
例の説明において、参照は、主張される主題の特定の例を実例として示す、一部を形成する添付の図面に対してされる。他の例が用いられることが可能であること、および、変更または代替、たとえば構造的な変更などがされることが可能であることは、理解されることである。上記の例、変更、または代替は、意図され主張される主題に関して、必ずしも範囲からの逸脱でない。本明細書におけるステップが、ある順において与えられることが可能であるが、いくつかの場合において、順は、ある入力が、説明されるシステムおよび方法の機能を変更することなしに異なる時間に、または別個の順に提供されるように、変更されることが可能である。さらに、開示される手順は、異なる順において実行されることも可能だろう。追加として、本明細書に説明される種々の計算は、開示された順において行われる必要がなく、計算に関し代替の順にすることを用いる他の例は、難なく実装されることが可能であろう。並べ替えられることに加えて、いくつかの場合には、さらに、計算は、同一の結果を有する部分計算に分解されることも可能だろう。