(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-14
(45)【発行日】2023-09-25
(54)【発明の名称】マスクを使用したデータセグメンテーション
(51)【国際特許分類】
G06T 7/187 20170101AFI20230915BHJP
B60W 60/00 20200101ALI20230915BHJP
B60W 30/10 20060101ALI20230915BHJP
G06T 7/00 20170101ALI20230915BHJP
G01B 11/24 20060101ALI20230915BHJP
G08G 1/16 20060101ALI20230915BHJP
【FI】
G06T7/187
B60W60/00
B60W30/10
G06T7/00 350B
G06T7/00 650B
G01B11/24 A
G08G1/16 C
(21)【出願番号】P 2020559462
(86)(22)【出願日】2019-04-23
(86)【国際出願番号】 US2019028667
(87)【国際公開番号】W WO2019209795
(87)【国際公開日】2019-10-31
【審査請求日】2022-04-25
(32)【優先日】2018-04-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ゾン ワン
(72)【発明者】
【氏名】デイビッド ファイファー
(72)【発明者】
【氏名】ドラゴミール ディミトロフ アンゲロフ
(72)【発明者】
【氏名】スバシス ダス
(72)【発明者】
【氏名】アラン ゼレナー
【審査官】▲広▼島 明芳
(56)【参考文献】
【文献】米国特許出願公開第2015/0268058(US,A1)
【文献】Jung-Un Kim, et al.,LiDAR based 3D object detection using CCD information,2017 IEEE Third International Conference on Multimedia Big Data,2017年
【文献】Matti Lehtomaki, et al.,Object Classification and Recognition From Mobile Laser Scanning Point Clouds in a Road Environment,IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE ZSENSIZNG,2016年,VOL.54, NO.2
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G08G 1/16
G01B 11/24
B60W 30/10
B60W 60/00
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を格納し、前記命令が実行されると、システムに以下の工程を実行させる1つまたは複数のコンピュータ可読媒体と、を備え、前記工程は、
車両上のセンサを使用してセンサデータを取り込むこと、(工程と、)
前記センサデータを少なくとも三次元を含むボクセル空間に関連付けること、
前記ボクセル空間の二次元表現を生成すること、
前記二次元表現を機械学習アルゴリズムに入力すること、
前記機械学習アルゴリズムから、前記ボクセル空間内のオブジェクトを二次元で表す第1のマスクを受け取ること、
前記第1のマスクの
二次元での拡張部分の少なくとも一部に基づいて、
前記ボクセル空間内のオブジェクトを二次元で表現する第2のマスクを生成することであって、前記拡張部分は、少なくとも1つの拡張領域アルゴリズム、前記第1のマスクのサイズ、または他のオブジェクトに関連付けられた第3のマスクの交点の少なくとも一部に基づくこと、および
前記第2のマスクの少なくとも一部に基づいて、前記センサデータをセグメント化すること、
を含むことを特徴とするシステム。
【請求項2】
請求項1に記載のシステムであって、前記機械学習アルゴリズムは、取り込まれたLIDARデータを受け取ることと第1の幅および第1の長さを有する検出されたオブジェクトを表現することとの少なくとも一部に基づいて検出されたオブジェクトに関連付けられたマスクを出力するために訓練されており、前記マスクは第1の幅以下の第2の幅、および第1の長さ以下の第2の長さを有する、ことを特徴とするシステム。
【請求項3】
請求項1または2に記載のシステムであって、疑似ピクセルは、前記ボクセル空間のボクセルに関連付けられること、前記疑似ピクセルは、前記ボクセル空間における前記ボクセルの列および前記ボクセルの列に関連付けられた特徴を含むことを特徴とするシステム。
【請求項4】
請求項1または2に記載のシステムであって、前記センサデータをセグメント化することは、領域成長アルゴリズムを使用して前記第2のマスク内の
前記ボクセル空間の1つまたは複数のボクセルをクラスター化することを含むことを特徴とするシステム。
【請求項5】
コンピュータに実装される方法であって、
車両上のセンサを使用してセンサデータを取り込むこと、
前記センサデータを少なくとも三次元を含むボクセル空間に関連付けること、
前記ボクセル空間の二次元表現を生成すること、
前記二次元表現を、機械学習アルゴリズムに入力すること、
前記機械学習アルゴリズムから、前記ボクセル空間内のオブジェクトを二次元で表す第1のマスクを受け取ること、
前記第1のマスクの二次元での拡張部分の少なくとも一部に基づいて、前記ボクセル空間内のオブジェクトを二次元で表現する第2のマスクを生成することであって、前記拡張部分は、拡張領域アルゴリズム、前記第1のマスクのサイズ、または他のオブジェクトに関連付けられた第3のマスクとの交点の少なくとも1つに少なくとも部分的に基づくこと、および
前記第2のマスクの少なくとも一部に基づいて、前記センサデータをセグメント化すること、
を含むことを特徴とする方法。
【請求項6】
請求項5に記載の方法であって、
少なくとも
前記センサデータをセグメント化することの一部に基づいて、自律車両のための軌道を、生成すること、および
少なくとも前記軌道の一部に基づいて、前記自律車両が環境を横断するための、制御をすること、を含むことを特徴とする方法。
【請求項7】
請求項
5または6に記載の方法であって、前記ボクセル空間の前記二次元表現は、少なくとも
前記ボクセル空間の高さ及び1つまたは複数の特徴に基づくチャネルの数を有する画像を含むことを特徴とする方法。
【請求項8】
請求項
7に記載の方法であって、前記1つまたは複数の特徴は、
前記センサデータの平均、
前記センサデータ
がボクセルに関連付けられている回数、
前記センサデータの共分散、
一以上の分類に属するボクセルの確率
ボクセルに関連付けられたレイキャスティング情報;または
ボクセルの占有
のうち少なくとも1つを含む、
ことを特徴とする方法。
【請求項9】
請求項
5または6に記載の方法であって、前記二次元表現は、前記ボクセル空間の一次元に関連付けられた長さ、前記ボクセル空間の二次元に関連付けられた幅、およびチャネルの数を有する疑似画像を含むこと、および
前記チャネルの数は、前記ボクセル空間の三次元と1つのまたは複数の特徴を備えた
前記センサデータの平均、センサデータの共分散、センサデータの観測数、占有、またはセマンティック分類に関連付けられた1つのまたは複数の確率、の少なくとも一部、に基づくことを特徴とする方法。
【請求項10】
請求項5
から9のいずれか1項に記載の方法であって、前記センサは、光検出および測距(LIDAR)センサを含むことを特徴とする方法。
【請求項11】
請求項5
から10のいずれか1項に記載の方法であって、前記第1のマスクは、少なくともセンサデータに関連付けられたクラス上のデータの一部に基づいて生成されること、前記クラス上のデータは、少なくとも1つのまたは複数の車両、自転車、または歩行者であることを特徴とする方法。
【請求項12】
請求項5
から11のいずれか1項に記載の方法であって、前記センサデータをセグメント化することは、前記第2のマスクに関連付けられた
前記ボクセル空間の1つまたは複数のボクセルを関連付けることを含むことを特徴とする方法。
【請求項13】
実行されると、1つまたは複数のプロセッサに、請求項5から
12のいずれか1項に記載されている方法を実装させる命令を格納する非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マスクを使用したデータセグメンテーションに関する。
【背景技術】
【0002】
(関連出願の相互参照)
この特許出願は、2018年4月26日に出願された出願番号15/963,833の米国実用新案特許出願の優先権を主張している。出願番号15/963,833は参照により本明細書に完全に組み込まれる。
【0003】
自律車両は、センサを使用して環境のデータを取り込むことが可能である。自律車両は、効果的に周囲の環境の中を進むために、センサデータを使用して環境内のオブジェクトを検出し、衝突を回避する。セグメンテーション技術は、センサデータをオブジェクトに関連付けるために使用できる。しかし、三次元データのセグメンテーションには、オブジェクトの検出、セグメンテーションが不正確になったり、および/またはオブジェクトの検出と、セグメンテーションの応答性と、が低下したりする結果をもたらしかねない特定の課題がある。
【図面の簡単な説明】
【0004】
詳細な説明は、添付の図を参照して説明される。図では、参照番号の左端の数字は、参照番号が最初に表示される図を示す。異なる図で同じ参照番号を使用している場合は、類似または同一のコンポーネントまたは特徴を示す。
【
図1】トップダウンセグメンテーションの例示的なプロセスの絵の流れを示す図である。
【
図2】環境のセンサデータを取り込む車両の例を示す図である。
【
図3A】ボクセル空間に関連付けられたセンサデータを備えたボクセル空間の例を示す図である。
【
図3B】ボクセル空間の部分に関連付けられたセンサデータとともに、トップダウン視点から見たボクセル空間の例示的な部分を示す図である。
【
図3C】ボクセル空間の部分に関連付けられたマスクを用いてトップダウン視点から見た例示的なボクセル空間を示す図である。
【
図4A】拡張されたマスクを生成する例示的なプロセスの絵の流れを示す図。
【
図4B】ボクセル空間で表される異なるオブジェクトに関連付けられたマスクを生成する例示的なプロセスの絵の流れを示す図である。
【
図5】第1のマスクを拡張して第2のマスクを生成するための例示的なプロセスを示す図である。
【
図6】本明細書で説明される技術を実施するための例示的なシステムのブロック図である。
【
図7】1つまたは複数のマスクを出力するように機械学習アルゴリズムを訓練するための例示的なプロセスを示す図である。
【
図8】少なくとも部分的にセンサデータに基づいて自律車両に指令するための例示的なプロセスを示す図である。
【発明を実施するための形態】
【0005】
本開示は、環境内のオブジェクトを決定するために、体積要素(「ボクセル」)空間で表される三次元データに対してセグメンテーションを実行するための方法、装置、およびシステムを説明する。例えば、自律車両は、車両の環境に対応するセンサデータを取り込むために複数のセンサを含むことが可能である。センサデータは、いくつかの実例では、複合的なオブジェクト(例えば、歩行者、車両、自転車に乗る人など)が互いに隣接または近接して配置されている環境に関連するデータを含むことが可能である。本明細書で説明される技術には、センサデータの取り込み、センサデータとボクセル空間との関連付け、「トップダウン視点」からのセンサデータの表示、および機械学習アルゴリズムを使用し、1つ以上のオブジェクトに関連付けられたマスクの出力が含まれるが、これらに限定されない。このようなアルゴリズムは、検出された1つまたは複数のオブジェクトよりも小さく表現されたマスクの領域を出力するために訓練され、推論モードにおいて、閾値がマスクの固定値のマージンまたは百分率で表現可能な場合には、閾値に達するまで、またはマスクが他の車両および/またはオブジェクトを表現している他のマスクと交差するまで、マスクのサイズを増やすことが可能である。マスク内のボクセルは、1つまたは複数のオブジェクト識別子に関連付けることが可能であり、マスクに関連付けられたデータをセグメント化することが可能である。セグメント化されたデータは、他の分類器に渡して1つまたは複数のオブジェクトを分類し、計画システムに渡して車両の軌道を決定することが可能である。セグメンテーション技術は、LIDARデータ、RADARデータ、画像データなどで使用されることが可能である。
【0006】
本明細書で論じられるように、センサデータは、1つまたは複数のセンサによって取り込まれることが可能であり、ボクセル空間で表されることが可能である。ボクセル空間は、三次元空間内のボクセルにおけるグリッド内のセンサデータにかかる表現を含むことが可能である。ボクセル空間内で表されたセンサデータとともに、処理は、機械学習アルゴリズムを使用して、環境内のオブジェクトに関連付けられたマスクを出力することを含む。いくつかの実例では、マスクは平面図またはトップダウン視点で表すことが可能である。他の実例では、マスクは立面図または側面図で表すことが可能である。ここまで論じたように、そのような機械学習アルゴリズムは、関連付けられた地上における真のオブジェクトよりもわずかに小さい寸法を有するマスクを出力するように訓練されてもよい。
【0007】
推論中に第1のマスク出力を拡張することにより、システムは、環境内のオブジェクトに関連付けられた第2のマスク(例えば、「拡張マスク」とも呼ばれる)を生成することが可能である。いくつかの実例では、マスクのサイズを閾値の増加まで増やすことが可能であり、したがって、第2のマスクは、第2のマスクがない場合よりも全体としてオブジェクト表現の確実性のレベルが高く、センサデータの一部を表すことが可能である。さらに、いくつかの実例では、第2のマスクは、本明細書で説明される技術なしのマスクよりも全体としてオブジェクト表現の確実性のレベルが高く、センサデータの一部を表すことが可能である。
【0008】
システムは、第2のマスクの少なくとも一部に基づいてセンサデータをセグメント化することが可能である。セグメンテーションデータに基づいて、システムはセンサデータと環境とに関連する多数のオブジェクトを検出および決定できる。いくつかの実例では、システムはセグメンテーションデータを車両の軌道を生成するために使用することが可能であり、環境を横断するために車両を制御することが可能である。
【0009】
理解されるように、環境内のオブジェクトを決定および検出することは、必要とされるデータ処理およびコンピューティングリソースの量に関してかなりの量のコストを必要とし得る。さらに、大量のデータを送信すると、消費電力が増加し、ネットワークの輻輳も増加し得る。従来の方法では、環境内のオブジェクトを判別して検出するのにかなりの時間がかかり得る。一方、環境内のオブジェクトを決定および検出する方法は、特に車両や自律車両の文脈では、正確な結果を提供する必要がある。例えば、以前のセグメンテーション技術では、個別のオブジェクトを単一のオブジェクトとして結合する(例えば、アンダーセグメンテーション)だけでなく、単一のオブジェクトを複合的な個別のオブジェクトに分割する(例えば、オーバーセグメンテーション)クラスタリング技術または領域拡張手法を使用していた。したがって、本明細書で論じられる技術は、さまざまなタイプのデータのセグメンテーションの精度を向上させる。
【0010】
本明細書で論じられるトップダウンセグメンテーション技術は、センサデータをセグメント化するためのコンピューティングリソースの量を減らすことによって、演算装置の機能を改善することが可能である。いくつかの実例では、コンピューティングリソースの量を減らすことは、オペレーションされるデータの量を減らすという形をとる。他の実例では、コンピューティングリソースの量を減らすことは、データをより効率的に処理するという形をとる。他の実例では、コンピューティングリソースの量を減らすことは、使用されるデータの量を減らすことと、データをより効率的に処理することの両方の形をとる。さらに、いくつかの実例では、コンピューティングリソースの量を減らすことは、処理時間の削減、メモリ使用量の削減、ネットワーク輻輳の削減、および/または電力消費の削減を含む。本明細書で説明される技術はまた、環境内のオブジェクトを決定および検出する精度を維持および/または向上させることが可能である。理解されるように、オブジェクトの決定および検出の精度を維持および/または向上させることにより、特に車両および自律車両の状況において、安全性の結果を改善することが可能である。本明細書で説明される技術はまた、オブジェクトを決定および検出する処理時間を短縮することにより、安全性の結果を改善することが可能である。理解されるように、車両および自律車両の文脈では、オブジェクトの決定および検出が迅速かつ正確に行われなければならない状況が発生し得る。非限定的な例として、環境内のオブジェクトをアンダーセグメント化および/またはオーバーセグメント化する他の方法は、安全な車両操作のためにそのようなデータに依存する後続のシステム(例えば、分類システム、計画システムなど)でエラーを引き起し得る。したがって、本明細書で説明される技術は、演算装置の機能を改善するだけでなく、安全性の結果を改善することが可能である。
【0011】
本明細書で説明される技術は、いくつかの方法で実施することが可能である。以下の図を参照して、実施例を下記に示す。自律車両のコンテキストで説明されているが、本明細書で説明される技術は、オブジェクトの決定と検出を必要とするさまざまなシステムに適用でき、自律車両に限定されない。別の例では、方法、装置、およびシステムは、航空または航海の状況で使用されてもよい。さらに、本明細書で説明される技術は、実際のデータ(例えば、センサを使用して取り込まれた)、シミュレートされたデータ(例えば、シミュレータによって生成された)、または2つの任意の組み合わせで使用されてもよい。
【0012】
図1は、センサデータを取り込み、センサデータを体積要素(「ボクセル」)空間に関連付け、ボクセル空間内のオブジェクトを表すマスクを受け取り、マスクを拡張して拡張されたマスクまたは第2のマスクを生成し、少なくとも第2のマスクの一部に基づいて、センサデータをセグメント化するための例示的なプロセス100示すフローチャートの図である。
【0013】
工程102において、プロセス100は、センサデータとしてLIDAR(光検出および測距)データを取り込むことを含むことが可能である。工程102はまた、RADARデータ、SONARデータ、画像データ、音声データ、赤外線データ、位置データ、またはそれらの任意の組み合わせを含むことが可能である様々なセンサデータを取り込むことを含むことが可能である。いくつかの実例では、工程102は、複数のセンサからセンサデータを取り込むことを含むことが可能である。いくつかの実例では、工程102は、ある期間にわたってなど、処理のためにセンサデータの一部を抽出することを含むことが可能である。センサデータの例は、例104に示され、これは、車両、道路、樹木、歩行者、建物などの環境内の様々なオブジェクトに関連するLIDARデータ(例えば、データポイントまたはポイントクラウド)を含んでもよい。
【0014】
工程106において、プロセス100は、センサデータをボクセル空間に関連付けることを含むことが可能である。例108は、各次元(例えば、x、y、およびz)に5つのボクセルを含むボクセル空間を示しているが、任意の数のボクセルがボクセル空間に含んでもよい。いくつかの実例では、ボクセル空間は、センサデータの原点または仮想原点の周囲の領域などの物理環境に対応されてもよい。例えば、ボクセル空間は、幅100メートル、長さ100メートル、高さ20メートルの領域を表し得る。さらに、ボクセル空間内の各ボクセル(例えば、ボクセル110)は、各次元で25センチメートルなどの物理的領域を表してもよい。本開示の文脈で理解されるように、ボクセル空間は、環境の任意の領域(例えば、車両が移動するにつれて更新される車両に近接する領域)を表し得、個々のボクセルも同様に任意の体積を表してもよい。いくつかの実例では、ボクセルはボクセル空間全体で均一なサイズを表し得、一方、いくつかの実例では、ボクセルの体積は、データの原点に対するボクセルの位置に基づいて変化を表してもよい。例えば、センサからの距離が増加するにつれてセンサデータにおける密度の減少を表し得、ボクセル空間内のボクセルのサイズは、ボクセルからセンサ(または複数のセンサを表す原点)までの距離に比例して増加してもよい。
【0015】
一例では、ボクセル空間は空の空間として初期化されてもよく、センサデータは、それが取り込まれると、ボクセル空間に追加されてもよい。別の例では、ボクセル空間は、以前取り込まれたデータのグローバルマップを表すデータで初期化されてもよい。グローバルマップデータを使用する場合、工程には、ローカルで取り込まれたセンサデータをグローバルデータと比較して、グローバルマップ空間で車両をローカライズすることが含まれてもよい。
【0016】
いくつかの実例では、工程106は、センサデータの個々のデータポイントを個々のボクセルにマッピングすることを含むことが可能である。いくつかの実例では、工程106は、例えば、センサデータが自律車両などの移動プラットフォームによって取り込まれた場合に、センサデータに関連付けられた動きベクトルを減算して、センサデータを例えば静止した基準点に変換することを含むことが可能である。すなわち、いくつかの実例では(例えば、RADARデータを使用する場合)、センサデータは、例えば、グローバルマップに関して固定されたボクセル空間に関連付けられてもよい(例えば、ボクセル空間とは対照的に移動する車両に関して固定される。)。いくつかの実例では、工程106は、まばらなボクセル空間を作成するために、データを含まない、または閾値数未満のデータポイントの数を含むボクセルを破棄または省略することを含むことが可能である。さらに、いくつかの実例では、工程106は、例えば、ボクセル空間に関する車両の位置に関連する可能性のある誤差を補償または調整するために、車両の姿勢(例えば、車両の向き)および関連するセンサデータをボクセル空間に位置合わせすることを含むことが可能である。
【0017】
さらに、いくつかの実例では、工程106は、センサデータを統計的に蓄積し、個々のボクセルに追加されると、センサデータを処理することを含むことが可能である。例えば、個々のボクセルは、データポイントの数を表すセンサデータ、平均強度、センサデータの平均x値、センサデータの平均y値、センサデータの平均z値および/または個々のボクセルに関連付けられたセンサデータに基づく共分散行列を含んでもよい。したがって、いくつかの実例では、個々のボクセルに関連付けられたデータは、システムの処理パフォーマンスを改善するために、部分的に処理されたデータを表してもよい。
【0018】
工程112において、プロセス100は、ボクセル空間内のオブジェクトを表す第1のマスクを受信することを含むことが可能である。いくつかの実例では、ボクセル空間に関連付けられた少なくとも1つのマスクを出力するように機械学習アルゴリズムを訓練できる。さらに、いくつかの実例では、機械学習アルゴリズムがセンサデータを使用してマスクを出力できる。他の実例では、機械学習アルゴリズムは、センサデータおよび/または処理されたセンサデータを使用してマスクを出力することが可能である。この出願の文脈中では、「トップダウン」とは、そのような機械学習アルゴリズムへと入力された対応するボクセルデータを指す。特に、アルゴリズムは、グリッドのXおよびY離散化の数に等しいサイズの画像の形式でボクセルデータを受け入れる。画像は、Z次元の離散化の数に等しいチャネル数を持つ。ここで、Z次元は高さの寸法、および本明細書で説明される他の数のチャネル(追加の特徴など)を示す。つまり、ボクセルデータは効果的に回転され、上から見た後、機械学習アルゴリズムに入力される。いくつかの例では、アルゴリズムは、立面図または側面図から見られるように効果的に回転されたボクセルデータを受け入れることが可能である。
【0019】
マスクは、いくつかの実例では、オブジェクトに関連付けられたボクセル空間内の領域を表すことが可能である。以下で詳細に説明されるように、このような機械学習アルゴリズムは、関連するオブジェクトよりも寸法が小さいマスクを出力するように訓練されている。プロセス100は、他の実例では、ボクセル空間内のオブジェクトに関連付けられたマスクを生成することを含むことが可能である。両方の場合において、マスクを受信するか、またはマスクを生成するかのいずれかで、マスクは、工程102で取り込まれたセンサデータの少なくとも一部に基づくことが可能である。
【0020】
例114は、ボクセル空間116の俯瞰図または平面図を示す。例114はまた、センサデータ118を示す。例示の目的で、センサデータ118は、関連する工程102における環境で取り込まれたセンサデータであることが可能である。例114はまた、ボクセル空間116に関連付けられた第1のマスク120を示している。第1のマスク120は、ボクセル空間内のオブジェクトを表すことが可能であり、例104に示されるようにオブジェクトに関連付けることが可能である。図示を目的として非限定的な例として、第1のマスク120は、センサデータ118よりも少ない数のボクセル空間116内のボクセルに関連付けられている。
【0021】
いくつかの実例では、ボクセル空間116の個々のボクセルは、複数の特徴を含むことが可能である。非限定的な例として、個々のボクセルは、通常のまたは平均の三次元座標値、座標値の共分散行列、セマンティックセグメンテーション確率(すなわち、ボクセルがオブジェクトの異なるクラスに属するかどうかを示す確率のセット)、占有の表示(つまり、ボクセルにデータがあるかどうか)、レイキャスティング情報(例えば、LIDARからの光線がボクセルを通過したかどうかを示す)、および/またはバックグラウンド減算情報(例えば、センサデータで表されるオブジェクトが背景オブジェクト(例えば、静的オブジェクト)であるかどうか、またはオブジェクトが一時的なオブジェクト(例えば、駐車中の車、歩行者、動物、車など)であるかどうかを示す)などの特徴を含むことが可能である。いくつかの実例では、ボクセル空間116は、例108に示されるように、完全なボクセル空間の「折りたたまれた」バージョンを表すことが可能である。他の実例では、ボクセル空間116は、各疑似ピクセルがボクセルの列に関連付けられている複数の疑似ピクセルとして表現または想定することが可能である。さらに、いくつかの実例では、個々の疑似ピクセルは、個々の疑似ピクセルに関連付けられたボクセルのすべての特徴を含むか、または関連付けることが可能である。非限定的な例として、400×400×7の寸法のボクセルグリッドは、119チャネルの400×400画像として表してもよい。つまり、119チャネルは、7チャネルのボクセルグリッドの高さのそれぞれにボクセルの高さごとに17の特徴(平均位置の3つのチャネル、共分散行列の9つのチャネル、占有チャネル、およびセマンティック分類確率の4つのチャネル)を掛けて表すことが可能である。
【0022】
工程122において、プロセス100は、第1のマスクを拡張して第2のマスクを生成することを含むことが可能である。いくつかの実例では、システムは第1のマスクをマージン、固定値または百分率、あるいはその両方で拡張することが可能である。他の実例では、システムは第1のマスクを固定値または百分率、あるいはその両方で段階的に拡張することが可能である。いくつかの実例では、システムは、ボクセルまたは疑似ピクセルの占有に関連する領域拡大操作に少なくとも部分的に基づいて、第1のマスクを拡張することが可能である。いくつかの実例では、第2のマスクは第1のマスクと同じ領域を表すことが可能である。さらに、いくつかの実例では、第1のマスクの拡張がすべての方向で均一ではないことがある。したがって、説明の目的で、第2のマスクを生成すると、システムは、第1のマスクの異なる側よりも多いまたは少ない量だけ、第1のマスクの一方の側を拡張することが可能である。
【0023】
他の実例では、第2のマスクは、本明細書で論じられる工程の結果として、第1のマスクと比較して、より小さな領域またはより大きな領域を表すことが可能である。さらに、システムは、センサデータの少なくとも一部を使用して第2のマスクを生成することが可能である。他の実例では、システムは、機械学習アルゴリズムからの第1のマスクに関連付けられたマージンデータを使用して第2のマスクを生成することが可能である。他の実例では、システムは、ボクセル空間内の追加のオブジェクトを表す追加のマスクを参照しながら、第2のマスクを生成することが可能である。したがって、説明の目的で、システムは、第1のマスクが閾値の増加に達するまで、および/またはそれが追加のマスクに達するまで、第1のマスクを拡張することが可能である。
【0024】
例124は、ボクセル空間116の俯瞰図を示している。例124はまた、例114で論じられるような第1のマスク120を示す。例124は、上述したように、拡張マスクまたは第2のマスク126をさらに示す。したがって、例示の目的で、第2のマスク126は、第1のマスク120をマージンだけ拡張した後、または少なくとも部分的に領域成長アルゴリズムに基づくクラスタリング技術を使用することによって、第1のマスク120を表すことが可能である。
【0025】
工程128において、プロセス100は、少なくとも部分的に第2のマスクに基づいて、センサデータをセグメント化することを含むことが可能である。いくつかの実例では、第2のマスクをボクセル空間内のオブジェクトに関連付けることが可能である。さらに、いくつかの実例では、第2のマスクをセンサデータの一部に関連付けられることが可能である。したがって、説明の目的で、システムは、第2のマスクに関連付けられたセンサデータを直接セグメント化することによってセンサデータをセグメント化することが可能である。さらに、システムはボクセルに関連付けられたセンサデータをセグメント化することが可能であり、ボクセルは第2のマスクに関連付けられることが可能である。
【0026】
説明のために、システムは、領域成長などの1つまたは複数のクラスタリング技術を、センサデータまたは第2のマスクに関連付けられたボクセルに適用して、すべての隣接するデータを単一のオブジェクトに関連付けることが可能である。さらに、システムは、オブジェクト識別子をセンサデータまたは第2のマスクに関連付けられたボクセルに関連付けることが可能である。上記のように、そのような領域成長は、所定の半径内に追加の占有ボクセルがなくなるまで、事前設定された数のボクセルの間、または領域が実質的に同時に成長する1つまたは複数の追加領域と衝突するまで伝播してもよい。
【0027】
本明細書で説明されるセグメンテーション技術は、オブジェクト検出のためにデータを効率的にセグメント化するためのフレームワークを提供することによって、演算装置の機能を改善することが可能である。例えば、トップダウン視点を使用することで、データの量を減らすことが可能であり、これにより、上述したように、消費される演算リソースの量を減らすことが可能である。さらに、データの量を減らすことで、演算装置がデータをより効率的に処理することが可能となる。いくつかの実例では、システムはデータの一部を別の演算装置に送信することが可能であるため、送信するデータが少なくなることでネットワークの輻輳が軽減される。いくつかの実例では、システムは、オブジェクト検出のためにデータをセグメント化するための処理時間を短縮することが可能である。いくつかの実例では、セグメンテーションの境界は、少なくとも部分的に第2のマスクで定義することが可能である。つまり、いくつかの場合、第2のマスクなしで、クラスタリング技術によってボクセルが複合的な個別のオブジェクトから単一のオブジェクトにクラスタリングされてもよい。したがって、本明細書で論じられる技術の使用は、個別のオブジェクトに関連する領域の併合を防ぐことによって、セグメンテーションの精度を改善することが可能である。
【0028】
いくつかの実例では、検出されたオブジェクトに関連付けられたデータを計画システムに提供して、軌道を使用して環境を横断する自律車両の軌道を生成することが可能である。いくつかの実例では、検出されたオブジェクトに関連付けられたデータを他のセグメンテーションアルゴリズムおよび/または分類アルゴリズムに提供して、さらに処理することが可能である。これらおよび他の工程は、本明細書で説明される技術の一部として可能である。
【0029】
図2は、例示的な車両202が通過する例示的な環境200を示している。例えば、車両202は、米国国家高速道路交通安全局が発行するレベル5分類に従って作動するように構成された自律車両などの無人車両であってもよく、これは、運転手(または乗員)が車両を常に制御することを期待しないで、全体行程のすべての安全上重要な機能を実行可能な車両について説明している。そのような例では、車両202は、すべての駐車機能を含み、行程の開始から完了までのすべての機能を制御するように構成されているため、運転手ならびに/またはステアリングホイール、アクセルペダル、および/もしくはブレーキペダルなどの車両202を駆動するための操縦器具を含まなくともよい。これは単なる例であり、本明細書で説明されるシステムと方法は、運転手が常に手動で制御する必要がある車両から、部分的または完全に自律的に制御されているものまで、を含んでいる任意の地上ホーム、空中、または水上車両に組み込んでもよい。いくつかの実例では、この技術はマシンビジョンを使用する任意のシステムに実装でき、車両に限定されない。
【0030】
例示的な車両202は、例えば、バン、スポーツ用多目的車、クロスオーバー車両、トラック、バス、農業用車両、および建設用車両などの任意の構成の車両であってもよい。車両202は、1つまたは複数の内燃機関、1つまたは複数の電気モーター、水素動力、それらの任意の組み合わせ、および/または任意の他の適切な動力源によって動力を供給されてもよい。例示的な車両は4つの車輪を有するが、本明細書で説明されるシステムおよび方法は、より少ないまたはより多い数の車輪、タイヤ、および/または無限軌道を有する車両に組み込んでもよい。例示的な車両202は、四輪操舵を有してもよく、例えば、車両202の第1の端部が第1の方向に走行する場合の車両202の前端であり、第1の端部は、反対の方向に移動すると車両202の後端になるように、すべての方向でほぼ等しい性能特性で動作してもよい。同様に、車両202の第2の端部は、第2の方向に移動する場合の車両の前端であり、第2の端部は、反対方向に移動する場合の車両202の後端になる。これらの例示的な特性は、例えば、狭い空間または駐車場および/または都市部などの混雑した環境において、より優れた操縦性を促進してもよい。
【0031】
例示的な車両202などの車両を使用して、環境200を通過し、データを収集してもよい。例えば、車両202は、1つまたは複数のセンサを含むことが可能であり、例示の目的で、1つまたは複数のセンサは、1つまたは複数のLIDARセンサであることが可能である。他のセンサタイプが企図されている(例えば、RADARセンサ、SONARセンサ、イメージセンサ、オーディオセンサ、赤外線センサ、位置センサなど、またはそれらの任意の組み合わせ)。
【0032】
車両202が環境200を通過する場合、センサは、環境に関連するセンサデータを取り込むことが可能である。さらに、センサデータの一部は、オブジェクト(例えば、樹木204、車両206、および歩行者208)に関連付けられることが可能である。センサデータは、建物、路面、看板、柵などを含むがこれらに限定されない他のオブジェクトに関連付けられることが可能である。
【0033】
図3Aは、ボクセル空間302に関連付けられたセンサデータ304を備えた三次元ボクセル空間302を含む例300を示している。例300が示すように、ボクセル空間302は三次元に拡張することが可能であり、例300は、ボクセル空間全体の一部を示す。センサデータ304は、LIDARデータを含むことが可能である。いくつかの実例では、ボクセル空間302は、共分散行列、位置情報、分類情報、セグメンテーション情報、ボクセルが占有されているかどうかにかかわらず、いくつかの観測値などを含むがこれらに限定されない任意の数の特徴を表すことが可能である。説明のために複合的なデータポイントとして描かれているが、そのようなセンサデータ304はボクセルごとに格納されている。
【0034】
図3Bは、トップダウン視点または平面図からのボクセル空間302の例306を示し、ボクセル空間302に関連付けられたセンサデータ304を示している。
【0035】
図3Cは、ボクセル空間302の例308およびボクセル空間302に関連付けられたセンサデータ304を示している。例308はまた、トップダウン視点からマスク310(
図1に示されるような第1のマスク120に対応してもよい)を示す。上述したように、機械学習アルゴリズムはマスク310を出力することが可能である。したがって、説明の目的で、機械学習アルゴリズムは、センサデータ304を使用して、いくつかの実例では、ボクセル空間302内のオブジェクトを表すことが可能であるマスク310を出力することが可能である。他の実例では、システムはマスク310を生成することが可能である。上述したように、いくつかの実例では、機械学習アルゴリズムは、センサデータ304よりも少ない数のボクセルに関連付けられたマスク310を出力することが可能である。他の実例では、機械学習アルゴリズムは、センサデータ304と同数またはそれ以上の数のボクセルに関連付けられたマスク310を出力することが可能である。
【0036】
図4Aは、センサデータ404を有するボクセル空間402の例400を示している。例400はまた、トップダウン視点からマスク406を示している。説明のために、ボクセル空間402はボクセル空間302を表すことが可能であり、マスク406はマスク310を表すことが可能である。上述したように、機械学習アルゴリズムは、センサデータ404よりも少ない数のボクセルに関連付けられたマスク406を出力することが可能である。
【0037】
図4Aはまた、ボクセル空間402およびマスク406の例408を示している。さらに、例408はまた、拡張マスク410を示している。非限定的な例として、本明細書で説明される技術を実行することにより、例400は例408をもたらすことが可能である。いくつかの実例では、システムは、クラスタリング技術または領域成長技術を使用して、個別のボクセルを組み合わせて、拡張マスク410を生成することが可能である。他の実例では、システムは、マスク406をマージンまで増加させることによって拡張マスク410を生成することが可能であり、マージンは固定値または百分率で固定されることが可能である。他の実例では(そして
図4Bに示されるように)、システムは、拡張マスク410が異なるマスクと交差するまで、拡張マスク410を生成することが可能である。さらに、他の実例では、システムは、上記の技術の組み合わせを使用して、拡張マスク410を生成することが可能である。例408は、本明細書で説明される技術を実行することにより、拡張マスク410が、センサデータ404にも関連付けられたボクセル空間402内のボクセルに関連付けられる例を示す。他の実例では、拡張マスク410は、センサデータ404に関連付けられたボクセルの数より少ないまたは多い数に関連付けることが可能である。
【0038】
図4Bは、センサデータ418を備えたボクセル空間416の例414を示している。例414はまた、マスクA420およびマスクB422を示している。理解されるように、
図4Aは、1つのオブジェクト(例えば、車両)が存在する環境を表す。
図4Bは、2つのオブジェクト(例えば、2台の車両)が環境内で互いに隣接または近接してもよい環境を表す。上述したように、機械学習アルゴリズムは、センサデータ418よりも少ない数のボクセルに関連付けられたものとして、マスクA420およびマスクB422を出力することが可能である。
【0039】
図4Bはまた、マスクA420およびマスクB422を備えたボクセル空間416の例424を示している。非限定的な例として、本明細書で説明される技術を実行することにより、例414は例424をもたらすことが可能である。例424はまた、拡張マスクA424および拡張マスクB426を示している。システムが拡張マスクを生成する場合、システムは、拡張マスクA424または拡張マスクB426のいずれか、あるいはその両方が、別のマスクと接触するか、または交差することが可能であると判断することが可能である。いくつかの実例では、システムは第1のマスクをマージンまで、固定値または百分率、あるいはその両方で拡張することが可能である。次に、システムは、交差基準を満たさなくなるまで、拡張されたマスクを段階的に減らすことが可能である。他の実例では、システムは、別のマスクとの接触または交差をチェックしながら、マスクを段階的に拡張することが可能である。例424では、システムが、マスクA420とマスクB422とをマージンまでそのように拡張した結果、拡張マスクA424と拡張マスクB426とは交差しない。いくつかの実例では、システムは、オーバーラップ閾値によって拡張されたマスクと接触することおよび/または交差することが可能に構成される。他の例では、システムは、拡張されたマスクを構成されるが、拡張されたマスクと接触することはできない。例えば、マスクが交差または接触していると判断すると、システムは一方または両方のマスクのサイズを縮小して、2つのマスクの間にバッファを導入することが可能である。
【0040】
拡張マスクまたは第2のマスクを生成後、システムは、上述したように、ボクセル空間内におけるオブジェクトを決定するためにセンサデータ上で成長する領域のようなクラスタリング技術または第2のマスクに関連付けられたボクセルを使用することが可能である。つまり、クラスタリング工程は、マスクによって効果的に制限されることが可能である。さらに、システムは、オブジェクト識別子をセンサデータまたは第2のマスクに関連付けられたボクセルに関連付けることが可能である。
【0041】
図5は、拡張されたマスク(例えば、第2のマスク)を生成するための例示的なプロセス500を示している。いくつかの例では、本明細書で説明されるように、プロセス500のいくつかまたはすべては、
図6に示した1つまたは複数の構成要素によって実行されることが可能である。
【0042】
工程502において、プロセス500は、環境のセンサデータの取り込みを含むことが可能である。上述したように、センサデータは、LIDARデータ、RADARデータ、画像データなどを表すことが可能である。工程504において、プロセス500は、センサデータをボクセル空間に関連付けることを含むことが可能である。上述したように、いくつかの実例では、センサデータは、生のセンサデータとして(例えば、データポイントに関連付けられた個々の<x、y、z、範囲、時間など>の値で)ボクセル空間で表されてもよく/データの統計的蓄積として表されてもよい。
【0043】
工程506において、プロセス500は、ボクセル空間内のオブジェクトを表す第1のマスクを受け取ることを含むことが可能である。例えば、第1のマスクは、環境内の車両などのオブジェクトを表してもよい。いくつかの実例では、第1のマスクは、センサデータの取り込みに関連付けられた第1の視点とは異なる第2の視点からのオブジェクトを表してもよい。例えば、第1のマスクは、ボクセル空間で表されるオブジェクトの俯瞰図を表してもよい。いくつかの実例では、第1のマスクは、ボクセルデータに関連付けられたマスクを出力するように訓練された機械学習アルゴリズムから受信されることが可能である。いくつかの実例では、機械学習アルゴリズムによって出力されるマスクは、ボクセルデータに関連付けられた分類データまたはセグメンテーションデータの少なくとも一部に基づけられることが可能である。一例では、「歩行者」分類に関連付けられたボクセルに関連付けられたマスクは、固定されたサイズとして生成されることが可能であり、別の例では、「車両」分類に関連付けられたボクセルに関連付けられたマスクは、ボクセルデータのサイズに基づいて生成されることが可能である。マスクは、さまざまな要因に基づいて生成されることが可能であり、本明細書で論じられる例に限定されない。いくつかの例では、機械学習アルゴリズムは、データのクラスター(平均、重心、データの最高密度など)を中心とするマスクを出力するように訓練される。
【0044】
工程508において、プロセス500は、第1のマスクを拡張することが可能である。上述したように、プロセス500は、第1のマスクを固定値または百分率で拡張することが可能であり、またはプロセス500は、第1のマスクを段階的に拡張することが可能である。いくつかの実例では、プロセス500は、領域成長アルゴリズムの少なくとも一部に基づくクラスタリング技術を使用して、第1のマスクを拡張することが可能である。他の実例では、プロセス500は、それが別のマスクに接触するか交差するまで、第1のマスクを拡張することが可能である。いくつかの実例では、工程508は、ボクセルに関連付けられた分類データまたは第1のマスクによって表された疑似ピクセルの少なくとも一部に基づけられることが可能である。つまり、いくつかの場合、車両に関連付けられたマスクを拡張することは、例えば、歩行者に関連付けられたマスクを拡張することとは、異なる場合がある。例えば、閾値の増加は分類タイプに基づけられることが可能である。
【0045】
工程510において、プロセス500は、拡張された第1のマスクが、センサデータに関連付けられているすべてのオブジェクトボクセルを含むか、または関連付けられているかどうかを決定することを含むことが可能である。非限定的な例として、工程510は、ボクセル空間が単一のオブジェクトを表すセンサデータに関連付けられ、マスクを拡張することがマスクのある半径内のセンサデータを含むすべてのボクセルを含むことができる事態において肯定的な結果を生じさせることができる。理解されるように、工程510は、
図4Aに示されるように表されることが可能である。工程510が肯定的な結果をもたらす場合、プロセス500は、工程516に進むことが可能である。工程510が否定的な結果をもたらす場合、プロセス500は工程512に進み、そこでプロセス500は、拡張された第1のマスクがマージンに接触するかまたは超えるかに関するチェックを実行することができる。非限定的な例として、プロセス500がマージンとして固定値または百分率を使用する場合、工程512は肯定的な結果をもたらすことが可能である。工程512が肯定的である場合、プロセス500は、工程516に進むことが可能である。工程512が否定的な結果をもたらす場合、プロセス500は、工程514に進むことが可能であり、そこでプロセス500は、拡張された第1のマスクが別のマスクと接触するか交差するかに関するチェックを実行することが可能である。
【0046】
非限定的な例として、工程514は、プロセス500が、別のオブジェクトを表す別のマスクが第1のマスクに隣接または近接しているボクセル空間内の第1のマスクを拡張する場合、肯定な結果をもたらすことが可能である。理解されるように、工程514は、
図4Bに示されるように表すことが可能である。工程514が否定的な結果をもたらす場合、プロセス500は、工程508に戻ることが可能である。工程514が肯定的である場合、プロセス500は、工程516に進むことが可能である。説明の目的でこの構成に示されているように、プロセス500は、工程510、512、および514を任意の順序で並行して実行することが可能である。
【0047】
さらに、工程510、512、および514は、第1のマスクの各側(例えば、左、右、上、下)で独立して実行されることが可能である。したがって、理解されるように、第1のマスクは、例えば、領域拡大アルゴリズムに少なくとも部分的に基づくクラスタリング技術を使用することにより、別のマスクと交差するまで一方の側で拡張され、マージンを満たすか超えるまで別の側で拡張され、センサデータに関連するすべてのボクセルを含むまでさらに別の側で拡張されることが可能である。さらに、参照を目的に
図5を通して、すべての工程510、512、514が実行される必要はない。非限定的な例として、工程510、512、または514のいずれかまたはすべてが省略されてもよい。
【0048】
工程516において、プロセス500は、第1のマスクの拡張後、第2のマスク(例えば、拡張されたマスク)を生成することが可能である。いくつかの実例では、第2のマスクは第1のマスクよりも大きな領域を表すことが可能である。他の実例では、第2のマスクは、第1のマスクと実質的に同様の領域を表すことが可能である。いくつかの実例では、拡張された第1のマスクが異なるマスクと接触するか交差する場合、工程516は、他の工程におけるボクセルデータのセグメンテーションを改善するために、例えば、異なるマスク間に「バッファ」を有する第2のマスクを生成することを含めることが可能である。
【0049】
図6は、本明細書で論じられる技術を実装するための例示的なシステム600のブロック図を示す。少なくとも1つの例では、システム600は、車両602を含むことが可能であり、これは、
図2を参照して上述の車両202と同じ車両であることが可能である。
【0050】
車両602は、車両演算装置604、1つまたは複数のセンサシステム606、1つまたは複数のエミッタ608、1つまたは複数の通信コネクション610、少なくとも1つのダイレクトコネクション612(例えば、車両602と物理的に結合して、データを交換するため、および/または電力を供給する)および1つまたは複数の駆動モジュール614を含むことが可能である。
【0051】
1つまたは複数のセンサシステム606は、環境に関連するセンサデータを取り込むように構成されることが可能であり、環境は、
図2を参照して上述の環境200と同様の環境であることが可能である。
【0052】
車両演算装置604は、1つまたは複数のプロセッサ616および1つまたは複数のプロセッサ616と通信可能に結合されたメモリ618を含むことが可能である。図示の例600において、車両602は自律車両である。しかしながら、車両602は任意の他のタイプの車両であることが可能である。図示の例では、車両演算装置604のメモリ618は、ローカリゼーションコンポーネント620、訓練コンポーネント622、計画コンポーネント624、1つまたは複数のシステムコントローラ626、および知覚コンポーネント628を格納する。説明の目的でメモリ618内に存在するものとして示されているが、ローカリゼーションコンポーネント620、訓練コンポーネント622、計画コンポーネント624、1つまたは複数のシステムコントローラ626、および知覚コンポーネント628は、追加的に、または代替的に、車両602(例えば、遠隔で格納される)にアクセス可能であると考えられる。
【0053】
少なくとも1つの例では、ローカリゼーションコンポーネント620は、車両602の位置を決定するためにセンサシステム606からデータを受信する機能を含むことが可能である。例えば、ローカリゼーションコンポーネント620は、環境の三次元マップを含み、および/または要求/受信することが可能であり、マップ内の自律車両の場所を継続的に決定することが可能である。いくつかの実例では、ローカリゼーションコンポーネント620は、SLAM(simulatenous 同時位置推定およびマッピング)またはCLAMS(同時に較正、位置推定およびマッピング)を使用して、画像データ、LIDARデータ、RADARデータ、SONARデータ、IMUデータ、GPSデータ、ホイールエンコーダーデータ、および自律車両の場所を正確に確定するその他のデータを受信することが可能である。いくつかの実例では、本明細書で論じられるように、ローカリゼーションコンポーネント620は車両602の様々なコンポーネントにデータを提供して、軌道候補を生成するための自律車両の初期位置を確定することが可能である。
【0054】
いくつかの実例では、訓練コンポーネント622は、センサシステム606からデータを受信し、データ内のクラスを識別するための機械学習アルゴリズムで使用するための訓練データセットを作成する機能を含むことが可能である。例えば、訓練コンポーネント622は、車両、歩行者、自転車、オートバイ、樹木、路面、建物などのクラスを示すことが可能である。いくつかの実例では、訓練コンポーネント622は、センサデータで表されるオブジェクトの範囲(例えば、長さ、幅、高さ)を手動または自動で示す機能を含むことが可能である。いくつかの実例では、訓練データには、訓練データで表されたオブジェクトの範囲を表すLIDARデータに関連付けられた三次元の境界ボックスを含めることが可能である。次に、訓練コンポーネント622は、センサデータをこれらのクラスおよび/または範囲に関連付けて、訓練データセットを作成することが可能である。いくつかの実例では、訓練データセットの少なくとも一部に、オブジェクトによって表されるオブジェクトの真の範囲(例えば、長さと幅)よりも小さいマスクを表す地上における真の情報を含めることが可能である。そのようなグラウンドトゥルースは、例えば、手作業でラベル付けされたデータ、シミュレートされたデータ、またはマスクをデータに関連付ける他のアルゴリズムによって作成されてもよく、その範囲は、その後、ある量だけ減少する。訓練データセットを使用して、センサデータ内のオブジェクトを識別するための機械学習アルゴリズムを訓練することが可能である。機械学習アルゴリズムが訓練されると、機械学習アルゴリズムは、センサデータに基づいて1つ以上のオブジェクトを表す1つ以上のマスクを出力することが可能である。
【0055】
一般に、計画コンポーネント624は環境を横断するために車両602が辿る経路を確定することが可能である。例えば、計画コンポーネント624は様々なルートおよび軌道ならびに様々なレベルの詳細を確定することできる。例えば、計画コンポーネント624は第1の場所(例えば現在の場所)から第2の場所(例えば目標の場所)へ走行するルートを確定することが可能である。この議論の目的に、ルートは二か所間を走行するための一連の経由地点にすることが可能である。非限定的な例として、経由地点は、道路、交差点、全地球測位システム(GPS)座標などが含まれる。さらに、計画コンポーネント624は、第1の場所から第2の場所への経路の少なくとも一部に沿って自律車両を誘導するための命令を生成することが可能である。少なくとも1つの例では、計画コンポーネント624は経由地点のシーケンス内の第1の経由地点から経由地点のシーケンス内の第2の経由地点まで自律車両をどのように誘導するかを確定することが可能である。いくつかの例では、命令は軌道または軌道の一部であることが可能である。いくつかの例では、後退地平線技法に従って、複合的な軌道は実質的に同時に生成することが可能である(例えば技術的な許容範囲内で)。最高の信頼レベルを有する後退地平線内の複合的な軌道うちの単一の軌道を選択してもよく、車両を操作してもよい。
【0056】
他の例では、計画コンポーネント624は、代替的に、またはさらに、知覚コンポーネント628からのデータを使用して、環境を横断するために車両602がたどる経路を決定することが可能である。例えば、計画コンポーネントは、環境に関連付けられたオブジェクトに関する知覚コンポーネント628からデータを受け取ることが可能である。このデータを使用して、計画コンポーネント624は、環境内のオブジェクトを回避するために、第1の場所(例えば、現在の場所)から第2の場所(例えば、目標の場所)に移動するルートを決定することが可能である。
【0057】
少なくとも1つの例では、車両演算装置604は、車両602のステアリング、推進、ブレーキ、安全、エミッタ、通信、および他のシステムを制御するように構成されてもよく1つまたは複数のシステムコントローラ626を含むことが可能である。これらシステムコントローラ626は、駆動モジュール614の対応するシステムおよび/または計画システム624から提供される軌道に従って動作するように構成されてもよい車両602の他の構成要素と通信および/または制御することが可能である。
【0058】
いくつかの例では、知覚コンポーネント628は、オブジェクトの検出、セグメンテーション、および/または分類作業を実行するための機能を含むことが可能である。いくつかの例では、知覚コンポーネント628は、車両602に近接する実体の存在および/または実体タイプとしての実体の分類(例えば、自動車、歩行者、サイクリングをする人、建物、樹木、路面、縁石、歩道、不明など)を示す処理されたセンサデータを提供することが可能である。追加および/または代替の例では、知覚コンポーネント628は、検出された実体および/または実体が配置されている環境に関連付けられた1つまたは複数の特性を示す処理されたセンサデータを提供することが可能である。いくつかの例では、実体に関連付けられた特性には、x位置(グローバル位置)、y位置(グローバル位置)、z位置(グローバル位置)、方向、実体タイプ(分類など)、実体の速度、実体の範囲(サイズ)などを含むことが可能であるが、これらに限定されない。環境に関連付けられた特性は、環境内における別の実体の存在、環境内における別の実体の状態、時刻、曜日、季節、気象条件、暗さ/明るさの表示などを含むことが可能であるが、これらに限定されない。
【0059】
図示の例600では、知覚コンポーネント628は、セグメンテーションコンポーネント630を含むことが可能である。次に、セグメンテーションコンポーネントは、関連付けコンポーネント632、拡張コンポーネント634、検証コンポーネント636、およびマスクコンポーネント638を含むことが可能である。
【0060】
少なくとも1つの例では、関連付けコンポーネント632は、センサデータを受信し、センサデータをボクセル空間に関連付ける機能を含むことが可能であり、ボクセル空間は、いくつかの実例では、三次元を含む。いくつかの実例では、関連付けコンポーネント632は、センサデータを統計的に蓄積し、センサが個々のボクセルに関連付けられている場合にセンサを処理する機能を含むことが可能である。他の実例では、関連付けコンポーネント632は、センサデータを生のセンサデータとしてボクセル空間に関連付ける機能を含むことが可能である(例えば、データポイントに関連付けられた個々の<x、y、z、範囲、時間など>の値)。
【0061】
図示の例600では、拡張コンポーネント634は、マスクを受け取り、マスクを拡張する機能を含むことが可能であり、いくつかの例では、マスクは、二次元でボクセル空間内のオブジェクトを表す。いくつかの実例では、オブジェクトを二次元で表すマスクは、平面図またはトップダウン視点を使用できる。説明のために、このマスクは第1のマスクと呼ばれることがある。そのようなマスクは、例えば、本明細書で説明されるように、マスクを出力するように訓練された機械学習アルゴリズムに複合的なチャネルの画像としてボクセルグリッドを入力することによって提供されてもよい。マスクの拡張は、本明細書で説明される技術のいずれかに従って(例えば、
図5に関して説明されているように)実行されてもよい。
【0062】
図示の例600では、検証コンポーネント636は、拡張コンポーネント634が第1のマスクを十分に拡張するかどうかを決定するための機能を含むことが可能である。いくつかの実例では、検証コンポーネント636は、拡張コンポーネント634が第1のマスクを拡張して、マスクの周りにおける領域内のセンサデータに関連するすべてのボクセルを含むか(例えば、少なくとも部分的にシードボクセルに基づく、および/またはシードボクセルからの距離または半径に少なくとも部分的に)、拡張コンポーネント634が第1のマスクを拡張してマージンと接触するか(マージンを)超えるか、または拡張コンポーネント634が第1のマスクを拡張して別のマスクに接触するか交差するか、どうかを決定することが可能である。いくつかの実例では、検証コンポーネント636は、これらの機能を並列または直列に実行することが可能である。さらに、いくつかの実例では、拡張コンポーネント634が第1のマスクの側面ごとに第1のマスクを拡張するので、検証コンポーネント636はこれらの機能を実行することが可能である。上述したように、マージンは固定値または第1のマスクの百分率にすることが可能である。さらに、検証コンポーネント636は、少なくとも部分的に領域成長に基づくクラスタリング技術などの技術を使用することが可能である。いくつかの実例では、検証コンポーネント636の決定に基づいて、拡張コンポーネント634は、第1のマスクを拡張し続けることが可能である。いくつかの実例では、検証コンポーネント636の決定に基づいて、マスクコンポーネント638は、拡張コンポーネント634からデータを受信することが可能である。
【0063】
図示の例600では、マスクコンポーネント638は、拡張コンポーネント634からのデータに少なくとも部分的に基づいて第2のマスクを決定および/または生成する機能を含むことが可能である。いくつかの実例では、マスクコンポーネント638は、第1のマスクに少なくとも部分的に基づいて、第2のマスクを決定および/または生成することが可能である。
【0064】
セグメンテーションコンポーネント630は、第2のマスクに関連付けられたセンサデータをセグメント化して、オブジェクトおよび/またはオブジェクト識別子を第2のマスクに関連付けられたセンサデータに関連付ける機能を含むことが可能である。いくつかの実例では、セグメンテーションコンポーネント630は、領域成長などの1つまたは複数のクラスタリング技術を、第2のマスクに関連付けられたセンサデータまたはボクセルに適用して、ボクセル空間内のオブジェクトを決定することが可能である。さらに、セグメンテーションコンポーネント630は、いくつかの実例では、オブジェクト識別子を、第2のマスクに関連付けられたセンサデータまたはボクセルに関連付けることが可能である。
【0065】
少なくとも1つの例では、センサシステム606は、LIDARセンサ、RADARセンサ、超音波変換器、SONARセンサ、位置センサ(例えば、GPS、コンパスなど)、慣性センサ(例えば、慣性測定ユニット(IMU)、加速度計、磁気計、ジャイロスコープなど)、カメラ(RGB、IR、強度、深度など)、マイク、ホイールエンコーダー、環境センサ(温度センサ、湿度センサ、光センサなど)、圧力センサなど)などを含むことが可能である。センサシステム606は、これらまたは他のタイプのセンサのそれぞれの複合的な実例を含むことが可能である。例えば、LIDARセンサは、車両602の角、前部、後部、側面、および/または上部に配置された個々のLIDARセンサを含むことが可能である。別の例として、カメラセンサは、車両602の外部および/または内部の周りの様々な場所に配置された複合的なカメラを含むことが可能である。センサシステム606は、車両演算装置604に入力を提供することが可能である。さらに、および/または代替として、センサシステム606は、1つまたは複数のネットワーク640を介して、所定の期間の経過後、ほぼリアルタイムなどで、特定の周波数で1つまたは複数の演算装置642にセンサデータを送信することが可能である。
【0066】
車両602はまた、上述したように、光および/または音を放出するための1つまたは複数のエミッタ608を含むことが可能である。この例のエミッタ608は、車両602の乗客と通信するための内部オーディオエミッタおよび内部ビジュアルエミッタを含む。例として限定されないが、内部エミッタは、スピーカー、ライト、標識、ディスプレイスクリーン、タッチスクリーン、触覚エミッタ(例えば、振動および/または力のフィードバック)、機械的アクチュエータ(例えば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど)などを含むことが可能である。この例のエミッタ608はまた、外部エミッタを含む。非限定的な例として、この例の外部エミッタは、進行方向または車両動作の他のインジケータ(例えば、インジケータライト、標識、ライトアレイなど)を信号で伝えるライト、および歩行者または他の近くの車両と聴覚的に対話する1つまたは複数のオーディオエミッタ(例えば、スピーカー、スピーカーアレイ、ホーンなど)を含み、その1つまたは複数は、音響ビームステアリング技術を含んでもよい。
【0067】
車両602はまた、車両602と1つまたは複数の他のローカルまたは遠隔演算装置との間の通信を可能にする1つまたは複数の通信コネクション610を含むことが可能である。例えば、通信コネクション610は、車両602および/または駆動モジュール614上の他のローカル演算装置との通信を容易にすることが可能である。また、通信コネクション610は、車両が他の近くの演算装置(例えば、他の近くの車両、交通信号など)と通信することを可能にすることが可能である。通信コネクション610はまた、車両602が遠隔操作演算装置または他の遠隔サービスと通信することを可能にすることが可能である。
【0068】
通信コネクション610は、車両演算装置604を別の演算装置またはネットワーク640などのネットワークに接続するための物理的および/または論理的インターフェースを含むことが可能である。例えば、通信コネクション610は、IEEE802.11規格で定義された周波数、Bluetoothなどの短距離無線周波数、セルラー通信(2G、3G、4G、4GLTE、5Gなど)などのwi-fiベースの通信を有効にすることが可能である。
【0069】
少なくとも1つの例では、車両602は、1つまたは複数の駆動モジュール614を含むことが可能である。いくつかの例では、車両602は単一の駆動モジュール614を有することが可能である。少なくとも1つの例では、車両602が複合的な駆動モジュール614を有する場合、個々の駆動モジュール614は車両602の両端部(例えば前部および後部など)に配置されることができる。少なくとも1つの例では、駆動モジュール614は、駆動モジュール614および/または車両602の周辺環境の状態を検出するための1つまたは複数のセンサシステムを含むことが可能である。非限定的な例として、センサシステムは、駆動モジュールのホイールの回転を感知するための1つまたは複数のホイールエンコーダー(例えばロータリーエンコーダー)、ドライブモジュールの向きと加速度を測定するための慣性センサ(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたはその他の画像センサ、ドライブモジュールの周辺環境のオブジェクトを音響的に検出するための超音波センサ、LIDARセンサ、RADARセンサなど、を含むことが可能である。ホイールエンコーダーなどの一部のセンサは、駆動モジュール614に固有のものにできる。いくつかの場合、駆動モジュール614上のセンサシステムは車両602の対応するシステム(例えばセンサシステム606)と重複または補足することが可能である。
【0070】
駆動モジュール614は、高電圧バッテリー、車両を推進するモーター、バッテリーからの直流を他の車両システムで使用する交流に変換するインバーター、ステアリングモーターおよびステアリングラック(電動であることが可能である)を含むステアリングシステム、油圧または電気アクチュエータを含むブレーキシステム、油圧および/または空気圧コンポーネントを含むサスペンションシステム、トラクションの損失を軽減し制御を維持するブレーキ力分散用の安定性制御システム、HVACシステム、照明(例えば車両の外部環境を照らすヘッド/テールライトなどの照明)、および1つ以上の他のシステム(例えば冷却システム、安全システム、車載充電システム、DC/DCコンバーター、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどのその他の電装コンポーネント)を含む多くの車両システムを含むことが可能である。さらに、駆動モジュール614は、センサシステムからデータを受信し、事前処理することが可能であり、様々な車両システムの工程を制御できる駆動モジュールコントローラを含むことが可能である。いくつかの例では、駆動モジュールコントローラは、1つまたは複数のプロセッサ、および1つまたは複数のプロセッサと通信可能に結合されたメモリを含むことが可能である。メモリは1つまたは複数のモジュールを格納して、駆動モジュール614の様々な機能を実行できる。さらに、駆動モジュール614はまた、それぞれのドライブモジュールによる1つまたは複数の他のローカルまたは遠隔演算装置との通信を可能にする1つまたは複数の通信接続を含む。
【0071】
少なくとも1つの例では、ローカリゼーションコンポーネント620および/または計画コンポーネント624は、上述したように、センサデータを処理することが可能であり、1つまたは複数のネットワーク640を介して、1つまたは複数の演算装置にそれぞれの出力を送信することが可能である。少なくとも1つの例では、ローカリゼーションコンポーネント620、および/または計画コンポーネント624は、所定の期間の経過後、特定の周波数で、ほぼリアルタイムなどで、それぞれの出力を1つまたは複数の演算装置642に、送信することが可能である。
【0072】
車両602は、ネットワーク640を介して、センサデータを1つまたは複数の演算装置642に送信することが可能である。いくつかの例では、車両602は未処理のセンサデータを演算装置642に送信することが可能である。他の例では、車両602は処理されたセンサデータおよび/またはセンサデータの表現を演算装置642に送信することが可能である。いくつかの例では、車両602は、所定の期間が経過した後、ほぼリアルタイムなどで、特定の周波数でセンサデータを演算装置642に送信することが可能である。いくつかの場合、車両602はセンサデータ(未処理または処理済み)を1つまたは複数のログファイルとして演算装置642に送信することが可能である。
【0073】
演算装置642は、センサデータ(未処理または処理された)を受信でき、センサデータに基づいてマップを生成および/または更新できる。さらに、演算装置642は、少なくとも1つの例では、1つまたは複数のプロセッサ644および1つまたは複数のプロセッサ644と通信可能に結合されたメモリ646を含むことが可能である。図示の例では、演算装置642のメモリ646は、訓練コンポーネント648と、関連コンポーネント652、拡張コンポーネント654、検証コンポーネント656、およびマスクコンポーネント658を含むセグメンテーションコンポーネント650を格納する。
【0074】
訓練コンポーネント648は、センサデータを受信し、訓練データセットを作成することが可能である。理解されるように、訓練コンポーネント648は、訓練コンポーネント622と併せて説明される機能において対応することが可能である。
【0075】
一般に、セグメンテーションコンポーネント650は、1つまたは複数の車両(車両602など)からデータを受信することが可能であり、環境内のオブジェクトを検出するためにセンサデータをセグメント化することが可能である。理解されるように、セグメンテーションコンポーネント650およびそこに含まれるコンポーネントは、セグメンテーションコンポーネント630に関連して論じられる機能において対応することが可能である。
【0076】
車両602のプロセッサ616および演算装置642のプロセッサ644は本明細書で説明されるようにデータを処理し工程を実行するための命令を実行できる任意の適切なプロセッサであることが可能である。非限定的な例として、プロセッサ616および644は、1つまたは複数の中央処理装置(CPU)、画像処理装置(GPU)、または電子データを処理して電子データをレジスタまたはメモリに格納できる他の電子データに変換する他の任意のデバイスまたはデバイスの一部、を備えることが可能である。いくつかの例では、集積回路(例えばASICsなど)、ゲートアレイ(例えばFPGAsなど)、および他のハードウェアデバイスもまた、それらが符号化された命令を実装するように構成される限り、プロセッサと見做すことが可能である。
【0077】
メモリ618およびメモリ646は、非一時的なコンピュータ可読媒体の例である。メモリ618およびメモリ646は、オペレーティングシステムおよび1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納して、本明細書で説明される方法および様々なシステムに起因する機能を実装することが可能である。様々な実装では、メモリ618およびメモリ646は、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュタイプのメモリ、または情報を格納可能なその他のタイプのメモリなど、適切なメモリ技術を使用して実装されることが可能である。本明細書で説明される構成、システム、および個々の要素は、他の多くの論理的、プログラム的、および物理的コンポーネントを含むことが可能であり、それらの添付図面に示すものは、本明細書の議論に関連する例にすぎない。
【0078】
いくつかの実例では、本明細書で論じられるコンポーネントのいくつかまたはすべての態様は、任意のモデル、アルゴリズム、および/または機械学習アルゴリズムを含むことが可能である。例えば、いくつかの実例では、メモリ618および646内のコンポーネントは、ニューラルネットワークとして実装することが可能である。
【0079】
本明細書で説明されるように、例示的なニューラルネットワークは、入力データを一連の接続された層に通して出力を生成する生物学的に着想を得たアルゴリズムである。ニューラルネットワークの各層は、別のニューラルネットワークを含むことも、任意の数の層を含むことが可能である(畳み込みかどうかに関係なく)。本開示の文脈で理解されるように、ニューラルネットワークは、機械学習を使用することが可能であり、学習されたパラメータに基づいて生成された出力におけるアルゴリズムのような広範囲のクラスを参照することができる。
【0080】
ニューラルネットワークの文脈で説明されているが、任意のタイプの機械学習がこの開示と一致して使用されることが可能である。例えば、機械学習アルゴリズムは、回帰アルゴリズム(例:通常の最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、段階的回帰、多変量適応回帰スプライン(MARS)、局所的に推定されたスキャッタープロットスムージング(LOESS))、インスタンスベースのアルゴリズム(例、リッジ回帰、最小絶対収縮および選択演算子(LASSO)、エラスティックネット、最小角度回帰(LARS))、決定ツリーアルゴリズム(例:分類および回帰ツリー(CART)、反復二分法3(ID3)、カイ二乗自動相互作用検出(CHAID)、決定の切り株、条件付き決定ツリー)、ベイジアンアルゴリズム(例、ナイーブベイズ、ガウスナイーブベイズ、多項ナイーブベイズ、平均1依存推定器(AODE)、ベイジアン信念ネットワーク(BNN)、ベイジアンネットワーク)、クラスタリングアルゴリズム(例、k-means、k-medians、expectation最大化(EM)、階層型クラスタリング)、関連ルール学習アルゴリズム(例、パーセプトロン、逆伝播、ホップフィールドネットワーク、放射状基底関数ネットワーク(RBFN))、深層学習アルゴリズム(例、DeepBoltzmannMachine(DBM)、DeepBeliefNetworks(DBN)、ConvolutionalNeuralNetwork(CNN)、StackedAuto-Encoders)、次元削減アルゴリズム(例、主成分分析(PCA)、主成分回帰(PCR)、部分最小二乗回帰(PLSR)、サモンマッピング、多次元スケーリング(MDS)、射影追跡、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、柔軟な判別分析(FDA))、アンサンブルアルゴリズム(例、ブースティング、ブートストラップ集約(バギング)、AdaBoost、スタック一般化(ブレンド)、勾配ブースティングマシン(GBM)、勾配ブースティング回帰ツリー(GBRT)、ランダムフォレスト)、SVM(サポートベクトルマシン)、教師あり学習、非教師あり学習、半教師あり学習など、を含むことが可能であるが、これらに限定されない。
【0081】
アーキテクチャの追加の例には、ResNet70、ResNet101、VGG、DenseNet、PointNetなどのニューラルネットワークが含まれる。
【0082】
図6は分散されたシステムとして示されているが、代替の例では、車両602のコンポーネントは演算装置642に関連付けられることが可能であり、および/または演算装置642のコンポーネントは車両602に関連付けられることが可能である、という事に注意すべきである。すなわち、車両602は演算装置642に関連付けられた機能のうちの1つまたは複数を実行でき、逆もまた同様である。
【0083】
図7は、1つまたは複数のマスクを出力するように機械学習アルゴリズムを訓練するための例示的なプロセスを示している。いくつかの例では、プロセス500のいくつかまたはすべては、本明細書で説明されるように、
図6の1つまたは複数の構成要素によって実行されることが可能である。
【0084】
工程702において、プロセスは、環境内の少なくとも1つのオブジェクトを表すセンサデータ(例えば、LIDARデータ、画像データなど)の取り込みを含むことが可能である。例えば、環境は、車両、歩行者、建物、動物などのオブジェクトを含んでもよいが、これらに限定されない。
【0085】
工程704において、プロセスは、少なくとも部分的にセンサデータに基づいて、少なくとも1つのオブジェクトに関連付けられた三次元境界ボックスを生成することを含むことが可能である。例えば、境界ボックスは、画像データで表されるオブジェクトの範囲(長さ、幅、高さなど)を表すことが可能である。いくつかの実例では、工程704は、センサデータの少なくとも一部をボクセル空間に関連付けることを含むことが可能である。いくつかの実例では、ボクセル空間のボクセルには、LIDARデータを表す任意の数の特徴を含めることが可能である。例えば、ボクセルの特徴は、ボクセルに関連付けられたLIDARデータの平均、1つまたは複数のデータの自由度(例えば、x方向、y方向、z方向など)に関連する1つまたは複数の共分散行列、セマンティックセグメンテーション確率(例えば、1つ以上のLIDARデータポイントが、車両、動物、歩行者、建物を含むがこれらに限定されない1つ以上のオブジェクトを表す確率等)、ボクセルの占有の表示、レイキャスティング情報、空きスペースの表示、バックグラウンド減算情報など、を含んでもよいが、これらに限定されない。
【0086】
工程706において、プロセスは、訓練データとして、少なくとも部分的に三次元境界ボックスに基づいた、少なくともオブジェクト上に関連付けられた領域よりも小さい領域を表すマスクであって、ボクセル空間のトップダウン視点に関連付けられたマスクを生成することを含めることができる。
【0087】
例えば、マスクは、ボクセル空間で表されるオブジェクトの地上における真の境界ボックスよりも小さい表現を表してもよい。
【0088】
工程708において、プロセスは、十分な訓練データがあるかどうかを決定することを含むことが可能である。noの場合、プロセスは、工程702に戻って、追加のセンサデータを取り込み、追加の境界ボックスおよび/またはマスクを生成することが可能である。yesの場合、プロセスは工程710を続行することが可能である。
【0089】
工程710において、プロセスは、訓練を含むことが可能であり、訓練データ、オブジェクトよりも小さいオブジェクトの領域を表すマスクを出力するための機械学習アルゴリズムに少なくとも部分的に基づいている。例えば、マスクは、オブジェクトの「内部」を表してもよく、そのようなマスクは、比較的高いレベルの信頼性で、実際に、特定のオブジェクトに関連付けられた、マスクに関連付けられたボクセルを表す。
【0090】
工程712において、プロセスは、取り込まれたセンサデータをセグメント化するためのシステムに機械学習アルゴリズムを送信することを含むことが可能である。本明細書で論じられるように、システムは、自律型車両または、本明細書で論じられるように、マシンビジョンを利用する任意のシステムを含むことが可能である。
【0091】
図8は、本明細書で論じられるように、センサデータに基づく位置に少なくとも部分的に基づいて自律車両に指令するための例示的なプロセス800を示す。例えば、本明細書で説明されるように、プロセス800の一部またはすべては、
図6の1つまたは複数のコンポーネントによって実行されることが可能である。例えばプロセス800の一部またはすべては車両602の1つまたは複数のコンポーネントによって実行されることが可能である。
【0092】
工程802において、プロセスは自律車両によって取り込まれたセンサデータを受信することを含むことが可能である。いくつかの実例では、センサデータは、環境の地表面に関連付けられた領域を決定するために、車両602によって受信されることが可能である。
【0093】
工程804において、プロセスは少なくとも部分的にセンサデータに基づいて、自律車両のための軌道の生成を含むことが可能である。例えば、本明細書で論じられるように、工程804は、オブジェクトに関連付けられたセグメンテーションデータを受信し、オブジェクト(例えば、車、歩行者など)を追跡して、セグメンテーションデータに少なくとも部分的に基づいて軌道を決定することを含むことが可能である。
【0094】
工程806において、プロセスは自律車両に軌道に従うように指令することを含むことが可能である。いくつかの実例では、工程806は、自律車両の1つ以上のシステムへの経路、軌道、および/または制御信号を生成して、環境内での自律車両の誘導を含むことが可能である。
【0095】
図1、
図5、
図7、および
図8は、本開示の実施形態による例示的なプロセスを示す。これらのプロセスはロジカルフローグラフとして示され、各工程は、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装される工程のシーケンスを表す。ソフトウェアの文脈では、工程は、1つまたは複数のプロセッサによって実行されると、列挙された工程を実行する、1つまたは複数のコンピュータ可読記憶媒体に格納されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。工程が説明される順序は、限定として解釈されることを意図されておらず、説明された工程のいくつかは任意の順序および/または並行して組み合せわられ、プロセスを実装することができる。
【0096】
[実施形態]
A.システムは1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行可能な命令を格納し、命令が実行されると、システムに以下の工程を実行させる1つまたは複数のコンピュータ可読媒体と、を備え、工程は、車両の光検出および測距(LIDAR)センサを使用してセンサデータを取り込むこと(工程と)、センサデータを少なくとも三次元を含むボクセル空間に関連付けること、ボクセル空間の二次元表現を生成すること、画像チャネルの数を含む二次元表現を機械学習アルゴリズムに入力すること、機械学習アルゴリズムから、ボクセル空間内のオブジェクトを二次元で表す第1のマスクを受け取ること、第1のマスクの拡張部分の少なくとも一部に基づいて、第2のマスクを生成することであって、拡張部分は、少なくとも1つの拡張領域アルゴリズム、前記第1のマスクのサイズ、または他のオブジェクトに関連付けられた第3のマスクの交点の少なくとも一部に基づくこと、および少なくとも部分的に第2のマスクに基づいて、センサデータを、セグメント化すること、を含む。
【0097】
B:段落Aのシステムであって、機械学習アルゴリズムは、取り込まれたLIDARデータを受け取ることと第1の幅および第1の長さを有する検出されたオブジェクトを表現することとの少なくとも一部に基づいて検出されたオブジェクトに関連付けられたマスクを出力するために訓練されており、マスクは第1の幅以下の第2の幅、および第1の長さ以下の第2の長さを有する。
【0098】
C:段落AまたはBのシステムであって、疑似ピクセルは、前記ボクセル空間のボクセルに関連付けられており、前記疑似ピクセルは、前記ボクセル空間における前記ボクセルの列を表している。
【0099】
D:段落Cのシステムであって、疑似ピクセルは、ボクセルの列に関連付けられた特徴を含む。
【0100】
E:段落A~Dのいずれかに1つに記載のシステムであって、センサデータをセグメント化することは、第2のマスク内のボクセル空間の1つまたは複数のボクセルをクラスター化するために領域成長アルゴリズムを使用することを含む。
【0101】
F:方法Aは、1つまたは複数のセンサを使用して、環境内のオブジェクトを示す、環境のセンサデータを取り込むこと、センサデータをボクセル空間に関連付けること、ボクセル空間の一部に関連付けられた第1のマスクを受け取ること、第1のマスクは、オブジェクトよりもサイズが小さい領域を表すこと、第1のマスクを拡張することによって第2のマスクを生成すること、および、少なくとも部分的に第2のマスクと、センサデータと、に基づいてセグメント化すること、を含む。
【0102】
G:段落Fの方法は、センサデータのセグメント化に少なくとも部分的に基づいて、自律車両の軌道を生成すること、および、少なくとも部分的に軌道に基づいて、環境を横断する自律車両を制御すること、を含む。
【0103】
H:段落FまたはGの方法は、機械学習アルゴリズムの中にボクセル空間の二次元表現を入力することと、第1のマスクとして、機械学習アルゴリズムの出力を受け取ることと、をさらに含む。
【0104】
I:段落Hの方法であって、ボクセル空間の二次元表現は、少なくともボクセル空間の高さと1つまたは複数の特徴の一部とに基づく、チャネルの数を有する画像を含む。
【0105】
J:段落Iの方法であって、1つまたは複数の特徴は、センサデータの平均、センサデータがボクセルに関連付けられた回数、センサデータの共分散、ボクセルが1つまたは複数の分類に属する確率、ボクセルに関連付けられたレイキャスティング情報、または、ボクセルの占有、を含む。
【0106】
K:段落F~Jのいずれかに1つに記載の方法であって、1つまたは複数のセンサは、1つまたは複数の光検出および測距(LIDAR)センサを含む。
【0107】
L:段落F~Kのいずれかに1つに記載の方法であって、第1のマスクは、センサデータに関連付けられた分類データ上の、少なくとも一部に基づいて、生成される。
【0108】
M:段落Lの方法であって、分類データは、車両、自転車、または歩行者のうちの
少なくとも1つまたは複数である。
【0109】
N:段落F~Mのいずれかに1つに記載の方法であって、第2のマスクを生成することは、第1のマスクの拡張部分と、ボクセル空間に関連付けられた他のオブジェクトに関連付けられた第3のマスクと、における交点の少なくとも一部に基づくことを含む。
【0110】
O:段落F~Nのいずれかに1つに記載の方法であって、センサデータをセグメント化することは、第2のマスクに関連付けられたボクセル空間の1つまたは複数のボクセルを関連付けることを含む。
【0111】
P:Aは、1つまたは複数のプロセッサによって実行可能な命令を格納する非一時的なコンピュータ可読媒体であって、命令が実行されると、1つまたは複数のプロセッサに、自律車両上の1つまたは複数のセンサから環境のセンサデータを受け取ることと、センサデータをボクセル空間に関連付けることと、ボクセル空間の一部分に関連付けられており、第2の視点を使用して、少なくともオブジェクトの一部分を表している第1のマスクを受け取ることと、第1のマスクを拡張することにより、第2のマスクを生成することと、少なくとも第2のマスクの一部に基づいて、センサデータをセグメント化することと、を含む工程を実行させる。
【0112】
Q:段落Pに記載の非一時的なコンピュータ可読媒体であって、センサデータをセグメント化することは、ボクセル空間の1つまたは複数のボクセルを第2のマスクに関連付けることを含む。
【0113】
R:段落PまたはQに記載の非一時的なコンピュータ可読媒体であって、工程は、第1のマスクの拡張部とボクセル空間内の他のオブジェクトに関連付けられた第3のマスクとにおける交点の少なくとも一部に基づいて、第2のマスクを生成すること、をさらに含む。
【0114】
S:段落P~Rのいずれか1つに記載の非一時的なコンピュータ可読媒体であって、工程は、機械学習アルゴリズムの中にボクセル空間を、二次元表現として、入力することと、機械学習アルゴリズムの出力を、第1のマスクとして、受け取ることと、を含み、二次元表現は、ボクセル空間の一次元に関連付けられた長さと、ボクセル空間の二次元に関連付けられた幅と、ボクセル空間の三次元上におけるセンサデータの平均、センサデータの共分散、センサデータの観測の回数、占有率、またはセマンティック分類に関連付けられた1つまたは複数の確率の1つまたは複数の特徴の少なくとも一部に基づくチャネルの数と、を有する疑似画像を含む。
【0115】
T:段落P~Sのいずれか1つに記載の非一時的なコンピュータ可読媒体であって、工程は、センサデータをセグメント化することの少なくとも一部に基づいて、自律車両の軌道を生成することと、軌道の少なくとも一部に基づいて、環境を横断する自律車両を制御することと、さらに含む。
【0116】
上述の例示の条項は、1つの特定の実装に関して論じられたが、この文書のコンテキストにおいて、例示の条項におけるコンテンツはまた、方法、デバイス、システム、および/またはコンピュータ可読媒体を介して実装できると、理解されるべきである。
【0117】
本明細書で説明される技術における1つまたは複数の例が説明されてきたが、様々な変更、追加、置換、およびそれらの同等物が、本明細書で説明された技術の範囲内に含まれる。
【0118】
例示の説明では、本明細書の一部を形成する添付の図面を参照するが、これは例示として請求される主題の具体的な例を示す。他の例を使用することが可能であり、構造的変更などの変更または代替を行うことが可能であることを理解されたい。そのような例、変更または代替は、意図された請求された主題に関する範囲から必ずしも逸脱しない。本明細書のステップは特定の順序で提示されることが可能であるが、場合によっては、説明するシステムおよび方法の機能を変更することなく、特定の入力が異なる時間または異なる順序で提供されるように順序を変更されることが可能である。開示された手順はまた、異なる順序で実行されることが可能である。
【0119】
さらに、本明細書にある様々な計算は開示された順序で実行される必要はなく、計算の代替順序を使用する他の例は容易に実装されることが可能である。並べ替えに加えて、計算はまた、サブ計算に分解されて同じ結果を得ることが可能である。