(57)【要約】  車両には、環境内のオブジェクトを検出するためのさまざまなセンサを含めることが可能である。センサデータは、車両の知覚システムによって取り込まれることが可能であり、ボクセル空間で表されることが可能である。工程は、トップダウン視点からデータを分析することが含んでよい。この視点から、技術はボクセル空間内のオブジェクトを表すマスクを関連付けることと、生成することとが可能である。マスクの領域を操作することにより、そのマスクに関連付けられたセンサデータおよび／またはボクセルはクラスター化されることが可能であり、または別の方法でそのオブジェクトに関連付けられたセグメントデータにまとめられることが可能である。【選択図】図４Ｂ
2021522585.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによって実行可能な命令を格納し、前記命令が実行されると、前記システムに以下の工程を実行させる１つまたは複数のコンピュータ可読媒体と、を備え、前記工程は、
車両上のセンサを使用してセンサデータを取り込むこと、（工程と、）
前記センサデータを少なくとも三次元を含むボクセル空間に関連付けること、
前記ボクセル空間の二次元表現を生成すること、
前記二次元表現を機械学習アルゴリズムに入力すること、
前記機械学習アルゴリズムから、前記ボクセル空間内のオブジェクトを二次元で表す第１のマスクを受け取ること、
前記第１のマスクの拡張部分の少なくとも一部に基づいて、第２のマスクを生成することであって、前記拡張部分は、少なくとも１つの拡張領域アルゴリズム、前記第１のマスクのサイズ、または他のオブジェクトに関連付けられた第３のマスクの交点の少なくとも一部に基づくこと、および
前記第２のマスクの少なくとも一部に基づいて、前記センサデータをセグメント化すること、
を含むことを特徴とするシステム。
【請求項２】
請求項１に記載のシステムであって、前記機械学習アルゴリズムは、取り込まれたＬＩＤＡＲデータを受け取ることと第１の幅および第１の長さを有する検出されたオブジェクトを表現することとの少なくとも一部に基づいて検出されたオブジェクトに関連付けられたマスクを出力するために訓練されており、前記マスクは第１の幅以下の第２の幅、および第１の長さ以下の第２の長さを有する、ことを特徴とするシステム。
【請求項３】
請求項１または２に記載のシステムであって、疑似ピクセルは、前記ボクセル空間のボクセルに関連付けられること、前記疑似ピクセルは、前記ボクセル空間における前記ボクセルの列および前記ボクセルの列に関連付けられた特徴を含むことを特徴とするシステム。
【請求項４】
請求項１または２に記載のシステムであって、前記センサデータをセグメント化することは、前記領域成長アルゴリズムを使用して前記第２のマスク内のボクセル空間の１つまたは複数のボクセルをクラスター化することを含むことを特徴とするシステム。
【請求項５】
センサを用いて、環境のセンサデータの取り込むことであって、前記センサデータは環境内の１つのオブジェクトを示すこと、
前記センサデータをボクセル空間に関連付けること、
ボクセル空間の一部に関連付けられた第１のマスクを受け取ることであって、前記第１のマスクは前記オブジェクトよりも小さいサイズの領域を表わすこと、
前記第１のマスクを拡張することにより第２のマスクを生成すること、および
少なくとも前記第２のマスクの一部に基づいて、前記センサデータを、セグメント化すること、
を含むことを特徴とする方法。
【請求項６】
請求項５に記載の方法であって、
少なくともセンサデータをセグメント化することの一部に基づいて、自律車両のための軌道を、生成すること、および
少なくとも前記軌道の一部に基づいて、前記自律車両が前記環境を横断するための、制御をすること、を含むことを特徴とする方法。
【請求項７】
請求項５に記載の方法であって、
前記ボクセル空間の二次元表現を機械学習アルゴリズムに入力すること、および
前記機械学習アルゴリズムの出力を前記第１のマスクとして受け取ること、を含むことを特徴とする方法。
【請求項８】
請求項７に記載の方法であって、前記ボクセル空間の前記二次元表現は、少なくともボクセル空間の高さ及び１つまたは複数の特徴に基づくチャネルの数を有する画像を含むことを特徴とする方法。
【請求項９】
請求項８に記載の方法であって、前記１つまたは複数の特徴は、
前記センサデータの平均、
前記センサデータが前記ボクセルに関連付けられている回数、
前記センサデータの共分散、
一以上の分類に属するボクセルの確率
前記ボクセルに関連付けられたレイキャスティング情報；または
ボクセルの占有
のうち少なくとも１つを含む、
ことを特徴とする方法。
【請求項１０】
請求項７に記載の方法であって、前記二次元表現は、前記ボクセル空間の一次元に関連付けられた長さ、前記ボクセル空間の二次元に関連付けられた幅、およびチャネルの数を有する疑似画像を含むこと、および
前記チャネルの数は、前記ボクセル空間の三次元と１つのまたは複数の特徴を備えたセンサデータの平均、センサデータの共分散、センサデータの観測数、占有、またはセマンティック分類に関連付けられた１つのまたは複数の確率、の少なくとも一部、に基づくことを特徴とする方法。
【請求項１１】
請求項５に記載の方法であって、前記センサは、光検出および測距（ＬＩＤＡＲ）センサを含むことを特徴とする方法。
【請求項１２】
請求項５に記載の方法であって、前記第１のマスクは、少なくともセンサデータに関連付けられたクラス上のデータの一部に基づいて生成されること、前記クラス上のデータは、少なくとも１つのまたは複数の車両、自転車、または歩行者であることを特徴とする方法。
【請求項１３】
請求項５に記載の方法であって、
前記第１のマスクの拡張部分と前記ボクセル空間に関連付けられた他のオブジェクトに関連付けられた第３のマスクとの交点の少なくとも一部に基づいて前記第２のマスクを生成すること、
ことをさらに含むことを特徴とする方法。
【請求項１４】
請求項５に記載の方法であって、前記センサデータをセグメント化することは、前記第２のマスクに関連付けられたボクセル空間の１つまたは複数のボクセルを関連付けることを含むことを特徴とする方法。
【請求項１５】
実行されると、１つまたは複数のプロセッサに、請求項５から１４のいずれか１項に記載されている方法を実装させる命令を格納する非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスクを使用したデータセグメンテーションに関する。
【背景技術】
【０００２】
（関連出願の相互参照）
この特許出願は、２０１８年４月２６日に出願された出願番号１５／９６３，８３３の米国実用新案特許出願の優先権を主張している。出願番号１５／９６３，８３３は参照により本明細書に完全に組み込まれる。
【０００３】
自律車両は、センサを使用して環境のデータを取り込むことが可能である。自律車両は、効果的に周囲の環境の中を進むために、センサデータを使用して環境内のオブジェクトを検出し、衝突を回避する。セグメンテーション技術は、センサデータをオブジェクトに関連付けるために使用できる。しかし、三次元データのセグメンテーションには、オブジェクトの検出、セグメンテーションが不正確になったり、および／またはオブジェクトの検出と、セグメンテーションの応答性と、が低下したりする結果をもたらしかねない特定の課題がある。
【図面の簡単な説明】
【０００４】
詳細な説明は、添付の図を参照して説明される。図では、参照番号の左端の数字は、参照番号が最初に表示される図を示す。異なる図で同じ参照番号を使用している場合は、類似または同一のコンポーネントまたは特徴を示す。
【図１】トップダウンセグメンテーションの例示的なプロセスの絵の流れを示す図である。
【図２】環境のセンサデータを取り込む車両の例を示す図である。
【図３Ａ】ボクセル空間に関連付けられたセンサデータを備えたボクセル空間の例を示す図である。
【図３Ｂ】ボクセル空間の部分に関連付けられたセンサデータとともに、トップダウン視点から見たボクセル空間の例示的な部分を示す図である。
【図３Ｃ】ボクセル空間の部分に関連付けられたマスクを用いてトップダウン視点から見た例示的なボクセル空間を示す図である。
【図４Ａ】拡張されたマスクを生成する例示的なプロセスの絵の流れを示す図。
【図４Ｂ】ボクセル空間で表される異なるオブジェクトに関連付けられたマスクを生成する例示的なプロセスの絵の流れを示す図である。
【図５】第１のマスクを拡張して第２のマスクを生成するための例示的なプロセスを示す図である。
【図６】本明細書で説明される技術を実施するための例示的なシステムのブロック図である。
【図７】１つまたは複数のマスクを出力するように機械学習アルゴリズムを訓練するための例示的なプロセスを示す図である。
【図８】少なくとも部分的にセンサデータに基づいて自律車両に指令するための例示的なプロセスを示す図である。
【発明を実施するための形態】
【０００５】
本開示は、環境内のオブジェクトを決定するために、体積要素（「ボクセル」）空間で表される三次元データに対してセグメンテーションを実行するための方法、装置、およびシステムを説明する。例えば、自律車両は、車両の環境に対応するセンサデータを取り込むために複数のセンサを含むことが可能である。センサデータは、いくつかの実例では、複合的なオブジェクト（例えば、歩行者、車両、自転車に乗る人など）が互いに隣接または近接して配置されている環境に関連するデータを含むことが可能である。本明細書で説明される技術には、センサデータの取り込み、センサデータとボクセル空間との関連付け、「トップダウン視点」からのセンサデータの表示、および機械学習アルゴリズムを使用し、１つ以上のオブジェクトに関連付けられたマスクの出力が含まれるが、これらに限定されない。このようなアルゴリズムは、検出された１つまたは複数のオブジェクトよりも小さく表現されたマスクの領域を出力するために訓練され、推論モードにおいて、閾値がマスクの固定値のマージンまたは百分率で表現可能な場合には、閾値に達するまで、またはマスクが他の車両および／またはオブジェクトを表現している他のマスクと交差するまで、マスクのサイズを増やすことが可能である。マスク内のボクセルは、１つまたは複数のオブジェクト識別子に関連付けることが可能であり、マスクに関連付けられたデータをセグメント化することが可能である。セグメント化されたデータは、他の分類器に渡して１つまたは複数のオブジェクトを分類し、計画システムに渡して車両の軌道を決定することが可能である。セグメンテーション技術は、ＬＩＤＡＲデータ、ＲＡＤＡＲデータ、画像データなどで使用されることが可能である。
【０００６】
本明細書で論じられるように、センサデータは、１つまたは複数のセンサによって取り込まれることが可能であり、ボクセル空間で表されることが可能である。ボクセル空間は、三次元空間内のボクセルにおけるグリッド内のセンサデータにかかる表現を含むことが可能である。ボクセル空間内で表されたセンサデータとともに、処理は、機械学習アルゴリズムを使用して、環境内のオブジェクトに関連付けられたマスクを出力することを含む。いくつかの実例では、マスクは平面図またはトップダウン視点で表すことが可能である。他の実例では、マスクは立面図または側面図で表すことが可能である。ここまで論じたように、そのような機械学習アルゴリズムは、関連付けられた地上における真のオブジェクトよりもわずかに小さい寸法を有するマスクを出力するように訓練されてもよい。
【０００７】
推論中に第１のマスク出力を拡張することにより、システムは、環境内のオブジェクトに関連付けられた第２のマスク（例えば、「拡張マスク」とも呼ばれる）を生成することが可能である。いくつかの実例では、マスクのサイズを閾値の増加まで増やすことが可能であり、したがって、第２のマスクは、第２のマスクがない場合よりも全体としてオブジェクト表現の確実性のレベルが高く、センサデータの一部を表すことが可能である。さらに、いくつかの実例では、第２のマスクは、本明細書で説明される技術なしのマスクよりも全体としてオブジェクト表現の確実性のレベルが高く、センサデータの一部を表すことが可能である。
【０００８】
システムは、第２のマスクの少なくとも一部に基づいてセンサデータをセグメント化することが可能である。セグメンテーションデータに基づいて、システムはセンサデータと環境とに関連する多数のオブジェクトを検出および決定できる。いくつかの実例では、システムはセグメンテーションデータを車両の軌道を生成するために使用することが可能であり、環境を横断するために車両を制御することが可能である。
【０００９】
理解されるように、環境内のオブジェクトを決定および検出することは、必要とされるデータ処理およびコンピューティングリソースの量に関してかなりの量のコストを必要とし得る。さらに、大量のデータを送信すると、消費電力が増加し、ネットワークの輻輳も増加し得る。従来の方法では、環境内のオブジェクトを判別して検出するのにかなりの時間がかかり得る。一方、環境内のオブジェクトを決定および検出する方法は、特に車両や自律車両の文脈では、正確な結果を提供する必要がある。例えば、以前のセグメンテーション技術では、個別のオブジェクトを単一のオブジェクトとして結合する（例えば、アンダーセグメンテーション）だけでなく、単一のオブジェクトを複合的な個別のオブジェクトに分割する（例えば、オーバーセグメンテーション）クラスタリング技術または領域拡張手法を使用していた。したがって、本明細書で論じられる技術は、さまざまなタイプのデータのセグメンテーションの精度を向上させる。
【００１０】
本明細書で論じられるトップダウンセグメンテーション技術は、センサデータをセグメント化するためのコンピューティングリソースの量を減らすことによって、演算装置の機能を改善することが可能である。いくつかの実例では、コンピューティングリソースの量を減らすことは、オペレーションされるデータの量を減らすという形をとる。他の実例では、コンピューティングリソースの量を減らすことは、データをより効率的に処理するという形をとる。他の実例では、コンピューティングリソースの量を減らすことは、使用されるデータの量を減らすことと、データをより効率的に処理することの両方の形をとる。さらに、いくつかの実例では、コンピューティングリソースの量を減らすことは、処理時間の削減、メモリ使用量の削減、ネットワーク輻輳の削減、および／または電力消費の削減を含む。本明細書で説明される技術はまた、環境内のオブジェクトを決定および検出する精度を維持および／または向上させることが可能である。理解されるように、オブジェクトの決定および検出の精度を維持および／または向上させることにより、特に車両および自律車両の状況において、安全性の結果を改善することが可能である。本明細書で説明される技術はまた、オブジェクトを決定および検出する処理時間を短縮することにより、安全性の結果を改善することが可能である。理解されるように、車両および自律車両の文脈では、オブジェクトの決定および検出が迅速かつ正確に行われなければならない状況が発生し得る。非限定的な例として、環境内のオブジェクトをアンダーセグメント化および／またはオーバーセグメント化する他の方法は、安全な車両操作のためにそのようなデータに依存する後続のシステム（例えば、分類システム、計画システムなど）でエラーを引き起し得る。したがって、本明細書で説明される技術は、演算装置の機能を改善するだけでなく、安全性の結果を改善することが可能である。
【００１１】
本明細書で説明される技術は、いくつかの方法で実施することが可能である。以下の図を参照して、実施例を下記に示す。自律車両のコンテキストで説明されているが、本明細書で説明される技術は、オブジェクトの決定と検出を必要とするさまざまなシステムに適用でき、自律車両に限定されない。別の例では、方法、装置、およびシステムは、航空または航海の状況で使用されてもよい。さらに、本明細書で説明される技術は、実際のデータ（例えば、センサを使用して取り込まれた）、シミュレートされたデータ（例えば、シミュレータによって生成された）、または２つの任意の組み合わせで使用されてもよい。
【００１２】
図１は、センサデータを取り込み、センサデータを体積要素（「ボクセル」）空間に関連付け、ボクセル空間内のオブジェクトを表すマスクを受け取り、マスクを拡張して拡張されたマスクまたは第２のマスクを生成し、少なくとも第２のマスクの一部に基づいて、センサデータをセグメント化するための例示的なプロセス１００示すフローチャートの図である。
【００１３】
工程１０２において、プロセス１００は、センサデータとしてＬＩＤＡＲ（光検出および測距）データを取り込むことを含むことが可能である。工程１０２はまた、RADARデータ、SONARデータ、画像データ、音声データ、赤外線データ、位置データ、またはそれらの任意の組み合わせを含むことが可能である様々なセンサデータを取り込むことを含むことが可能である。いくつかの実例では、工程１０２は、複数のセンサからセンサデータを取り込むことを含むことが可能である。いくつかの実例では、工程１０２は、ある期間にわたってなど、処理のためにセンサデータの一部を抽出することを含むことが可能である。センサデータの例は、例１０４に示され、これは、車両、道路、樹木、歩行者、建物などの環境内の様々なオブジェクトに関連するＬＩＤＡＲデータ（例えば、データポイントまたはポイントクラウド）を含んでもよい。
【００１４】
工程１０６において、プロセス１００は、センサデータをボクセル空間に関連付けることを含むことが可能である。例１０８は、各次元（例えば、ｘ、ｙ、およびｚ）に５つのボクセルを含むボクセル空間を示しているが、任意の数のボクセルがボクセル空間に含んでもよい。いくつかの実例では、ボクセル空間は、センサデータの原点または仮想原点の周囲の領域などの物理環境に対応されてもよい。例えば、ボクセル空間は、幅１００メートル、長さ１００メートル、高さ２０メートルの領域を表し得る。さらに、ボクセル空間内の各ボクセル（例えば、ボクセル１１０）は、各次元で２５センチメートルなどの物理的領域を表してもよい。本開示の文脈で理解されるように、ボクセル空間は、環境の任意の領域（例えば、車両が移動するにつれて更新される車両に近接する領域）を表し得、個々のボクセルも同様に任意の体積を表してもよい。いくつかの実例では、ボクセルはボクセル空間全体で均一なサイズを表し得、一方、いくつかの実例では、ボクセルの体積は、データの原点に対するボクセルの位置に基づいて変化を表してもよい。例えば、センサからの距離が増加するにつれてセンサデータにおける密度の減少を表し得、ボクセル空間内のボクセルのサイズは、ボクセルからセンサ（または複数のセンサを表す原点）までの距離に比例して増加してもよい。
【００１５】
一例では、ボクセル空間は空の空間として初期化されてもよく、センサデータは、それが取り込まれると、ボクセル空間に追加されてもよい。別の例では、ボクセル空間は、以前取り込まれたデータのグローバルマップを表すデータで初期化されてもよい。グローバルマップデータを使用する場合、工程には、ローカルで取り込まれたセンサデータをグローバルデータと比較して、グローバルマップ空間で車両をローカライズすることが含まれてもよい。
【００１６】
いくつかの実例では、工程１０６は、センサデータの個々のデータポイントを個々のボクセルにマッピングすることを含むことが可能である。いくつかの実例では、工程１０６は、例えば、センサデータが自律車両などの移動プラットフォームによって取り込まれた場合に、センサデータに関連付けられた動きベクトルを減算して、センサデータを例えば静止した基準点に変換することを含むことが可能である。すなわち、いくつかの実例では（例えば、ＲＡＤＡＲデータを使用する場合）、センサデータは、例えば、グローバルマップに関して固定されたボクセル空間に関連付けられてもよい（例えば、ボクセル空間とは対照的に移動する車両に関して固定される。）。いくつかの実例では、工程１０６は、まばらなボクセル空間を作成するために、データを含まない、または閾値数未満のデータポイントの数を含むボクセルを破棄または省略することを含むことが可能である。さらに、いくつかの実例では、工程１０６は、例えば、ボクセル空間に関する車両の位置に関連する可能性のある誤差を補償または調整するために、車両の姿勢（例えば、車両の向き）および関連するセンサデータをボクセル空間に位置合わせすることを含むことが可能である。
【００１７】
さらに、いくつかの実例では、工程１０６は、センサデータを統計的に蓄積し、個々のボクセルに追加されると、センサデータを処理することを含むことが可能である。例えば、個々のボクセルは、データポイントの数を表すセンサデータ、平均強度、センサデータの平均ｘ値、センサデータの平均ｙ値、センサデータの平均ｚ値および／または個々のボクセルに関連付けられたセンサデータに基づく共分散行列を含んでもよい。したがって、いくつかの実例では、個々のボクセルに関連付けられたデータは、システムの処理パフォーマンスを改善するために、部分的に処理されたデータを表してもよい。
【００１８】
工程１１２において、プロセス１００は、ボクセル空間内のオブジェクトを表す第１のマスクを受信することを含むことが可能である。いくつかの実例では、ボクセル空間に関連付けられた少なくとも１つのマスクを出力するように機械学習アルゴリズムを訓練できる。さらに、いくつかの実例では、機械学習アルゴリズムがセンサデータを使用してマスクを出力できる。他の実例では、機械学習アルゴリズムは、センサデータおよび／または処理されたセンサデータを使用してマスクを出力することが可能である。この出願の文脈中では、「トップダウン」とは、そのような機械学習アルゴリズムへと入力された対応するボクセルデータを指す。特に、アルゴリズムは、グリッドのＸおよびＹ離散化の数に等しいサイズの画像の形式でボクセルデータを受け入れる。画像は、Ｚ次元の離散化の数に等しいチャネル数を持つ。ここで、Ｚ次元は高さの寸法、および本明細書で説明される他の数のチャネル（追加の特徴など）を示す。つまり、ボクセルデータは効果的に回転され、上から見た後、機械学習アルゴリズムに入力される。いくつかの例では、アルゴリズムは、立面図または側面図から見られるように効果的に回転されたボクセルデータを受け入れることが可能である。
【００１９】
マスクは、いくつかの実例では、オブジェクトに関連付けられたボクセル空間内の領域を表すことが可能である。以下で詳細に説明されるように、このような機械学習アルゴリズムは、関連するオブジェクトよりも寸法が小さいマスクを出力するように訓練されている。プロセス１００は、他の実例では、ボクセル空間内のオブジェクトに関連付けられたマスクを生成することを含むことが可能である。両方の場合において、マスクを受信するか、またはマスクを生成するかのいずれかで、マスクは、工程１０２で取り込まれたセンサデータの少なくとも一部に基づくことが可能である。
【００２０】
例１１４は、ボクセル空間１１６の俯瞰図または平面図を示す。例１１４はまた、センサデータ１１８を示す。例示の目的で、センサデータ１１８は、関連する工程１０２における環境で取り込まれたセンサデータであることが可能である。例１１４はまた、ボクセル空間１１６に関連付けられた第１のマスク１２０を示している。第１のマスク１２０は、ボクセル空間内のオブジェクトを表すことが可能であり、例１０４に示されるようにオブジェクトに関連付けることが可能である。図示を目的として非限定的な例として、第１のマスク１２０は、センサデータ１１８よりも少ない数のボクセル空間１１６内のボクセルに関連付けられている。
【００２１】
いくつかの実例では、ボクセル空間１１６の個々のボクセルは、複数の特徴を含むことが可能である。非限定的な例として、個々のボクセルは、通常のまたは平均の三次元座標値、座標値の共分散行列、セマンティックセグメンテーション確率（すなわち、ボクセルがオブジェクトの異なるクラスに属するかどうかを示す確率のセット）、占有の表示（つまり、ボクセルにデータがあるかどうか）、レイキャスティング情報（例えば、ＬＩＤＡＲからの光線がボクセルを通過したかどうかを示す）、および／またはバックグラウンド減算情報（例えば、センサデータで表されるオブジェクトが背景オブジェクト（例えば、静的オブジェクト）であるかどうか、またはオブジェクトが一時的なオブジェクト（例えば、駐車中の車、歩行者、動物、車など）であるかどうかを示す）などの特徴を含むことが可能である。いくつかの実例では、ボクセル空間１１６は、例１０８に示されるように、完全なボクセル空間の「折りたたまれた」バージョンを表すことが可能である。他の実例では、ボクセル空間１１６は、各疑似ピクセルがボクセルの列に関連付けられている複数の疑似ピクセルとして表現または想定することが可能である。さらに、いくつかの実例では、個々の疑似ピクセルは、個々の疑似ピクセルに関連付けられたボクセルのすべての特徴を含むか、または関連付けることが可能である。非限定的な例として、４００×４００×７の寸法のボクセルグリッドは、１１９チャネルの４００×４００画像として表してもよい。つまり、１１９チャネルは、７チャネルのボクセルグリッドの高さのそれぞれにボクセルの高さごとに１７の特徴（平均位置の３つのチャネル、共分散行列の９つのチャネル、占有チャネル、およびセマンティック分類確率の４つのチャネル）を掛けて表すことが可能である。
【００２２】
工程１２２において、プロセス１００は、第１のマスクを拡張して第２のマスクを生成することを含むことが可能である。いくつかの実例では、システムは第１のマスクをマージン、固定値または百分率、あるいはその両方で拡張することが可能である。他の実例では、システムは第１のマスクを固定値または百分率、あるいはその両方で段階的に拡張することが可能である。いくつかの実例では、システムは、ボクセルまたは疑似ピクセルの占有に関連する領域拡大操作に少なくとも部分的に基づいて、第１のマスクを拡張することが可能である。いくつかの実例では、第２のマスクは第１のマスクと同じ領域を表すことが可能である。さらに、いくつかの実例では、第１のマスクの拡張がすべての方向で均一ではないことがある。したがって、説明の目的で、第２のマスクを生成すると、システムは、第１のマスクの異なる側よりも多いまたは少ない量だけ、第１のマスクの一方の側を拡張することが可能である。
【００２３】
他の実例では、第２のマスクは、本明細書で論じられる工程の結果として、第１のマスクと比較して、より小さな領域またはより大きな領域を表すことが可能である。さらに、システムは、センサデータの少なくとも一部を使用して第２のマスクを生成することが可能である。他の実例では、システムは、機械学習アルゴリズムからの第１のマスクに関連付けられたマージンデータを使用して第２のマスクを生成することが可能である。他の実例では、システムは、ボクセル空間内の追加のオブジェクトを表す追加のマスクを参照しながら、第２のマスクを生成することが可能である。したがって、説明の目的で、システムは、第１のマスクが閾値の増加に達するまで、および／またはそれが追加のマスクに達するまで、第１のマスクを拡張することが可能である。
【００２４】
例１２４は、ボクセル空間１１６の俯瞰図を示している。例１２４はまた、例１１４で論じられるような第１のマスク１２０を示す。例１２４は、上述したように、拡張マスクまたは第２のマスク１２６をさらに示す。したがって、例示の目的で、第２のマスク１２６は、第１のマスク１２０をマージンだけ拡張した後、または少なくとも部分的に領域成長アルゴリズムに基づくクラスタリング技術を使用することによって、第１のマスク１２０を表すことが可能である。
【００２５】
工程１２８において、プロセス１００は、少なくとも部分的に第２のマスクに基づいて、センサデータをセグメント化することを含むことが可能である。いくつかの実例では、第２のマスクをボクセル空間内のオブジェクトに関連付けることが可能である。さらに、いくつかの実例では、第２のマスクをセンサデータの一部に関連付けられることが可能である。したがって、説明の目的で、システムは、第２のマスクに関連付けられたセンサデータを直接セグメント化することによってセンサデータをセグメント化することが可能である。さらに、システムはボクセルに関連付けられたセンサデータをセグメント化することが可能であり、ボクセルは第２のマスクに関連付けられることが可能である。
【００２６】
説明のために、システムは、領域成長などの１つまたは複数のクラスタリング技術を、センサデータまたは第２のマスクに関連付けられたボクセルに適用して、すべての隣接するデータを単一のオブジェクトに関連付けることが可能である。さらに、システムは、オブジェクト識別子をセンサデータまたは第２のマスクに関連付けられたボクセルに関連付けることが可能である。上記のように、そのような領域成長は、所定の半径内に追加の占有ボクセルがなくなるまで、事前設定された数のボクセルの間、または領域が実質的に同時に成長する１つまたは複数の追加領域と衝突するまで伝播してもよい。
【００２７】
本明細書で説明されるセグメンテーション技術は、オブジェクト検出のためにデータを効率的にセグメント化するためのフレームワークを提供することによって、演算装置の機能を改善することが可能である。例えば、トップダウン視点を使用することで、データの量を減らすことが可能であり、これにより、上述したように、消費される演算リソースの量を減らすことが可能である。さらに、データの量を減らすことで、演算装置がデータをより効率的に処理することが可能となる。いくつかの実例では、システムはデータの一部を別の演算装置に送信することが可能であるため、送信するデータが少なくなることでネットワークの輻輳が軽減される。いくつかの実例では、システムは、オブジェクト検出のためにデータをセグメント化するための処理時間を短縮することが可能である。いくつかの実例では、セグメンテーションの境界は、少なくとも部分的に第２のマスクで定義することが可能である。つまり、いくつかの場合、第２のマスクなしで、クラスタリング技術によってボクセルが複合的な個別のオブジェクトから単一のオブジェクトにクラスタリングされてもよい。したがって、本明細書で論じられる技術の使用は、個別のオブジェクトに関連する領域の併合を防ぐことによって、セグメンテーションの精度を改善することが可能である。
【００２８】
いくつかの実例では、検出されたオブジェクトに関連付けられたデータを計画システムに提供して、軌道を使用して環境を横断する自律車両の軌道を生成することが可能である。いくつかの実例では、検出されたオブジェクトに関連付けられたデータを他のセグメンテーションアルゴリズムおよび／または分類アルゴリズムに提供して、さらに処理することが可能である。これらおよび他の工程は、本明細書で説明される技術の一部として可能である。
【００２９】
図２は、例示的な車両２０２が通過する例示的な環境２００を示している。例えば、車両２０２は、米国国家高速道路交通安全局が発行するレベル５分類に従って作動するように構成された自律車両などの無人車両であってもよく、これは、運転手（または乗員）が車両を常に制御することを期待しないで、全体行程のすべての安全上重要な機能を実行可能な車両について説明している。そのような例では、車両２０２は、すべての駐車機能を含み、行程の開始から完了までのすべての機能を制御するように構成されているため、運転手ならびに/またはステアリングホイール、アクセルペダル、および/もしくはブレーキペダルなどの車両２０２を駆動するための操縦器具を含まなくともよい。これは単なる例であり、本明細書で説明されるシステムと方法は、運転手が常に手動で制御する必要がある車両から、部分的または完全に自律的に制御されているものまで、を含んでいる任意の地上ホーム、空中、または水上車両に組み込んでもよい。いくつかの実例では、この技術はマシンビジョンを使用する任意のシステムに実装でき、車両に限定されない。
【００３０】
例示的な車両２０２は、例えば、バン、スポーツ用多目的車、クロスオーバー車両、トラック、バス、農業用車両、および建設用車両などの任意の構成の車両であってもよい。車両２０２は、１つまたは複数の内燃機関、１つまたは複数の電気モーター、水素動力、それらの任意の組み合わせ、および／または任意の他の適切な動力源によって動力を供給されてもよい。例示的な車両は４つの車輪を有するが、本明細書で説明されるシステムおよび方法は、より少ないまたはより多い数の車輪、タイヤ、および／または無限軌道を有する車両に組み込んでもよい。例示的な車両２０２は、四輪操舵を有してもよく、例えば、車両２０２の第１の端部が第１の方向に走行する場合の車両２０２の前端であり、第１の端部は、反対の方向に移動すると車両２０２の後端になるように、すべての方向でほぼ等しい性能特性で動作してもよい。同様に、車両２０２の第２の端部は、第２の方向に移動する場合の車両の前端であり、第２の端部は、反対方向に移動する場合の車両２０２の後端になる。これらの例示的な特性は、例えば、狭い空間または駐車場および／または都市部などの混雑した環境において、より優れた操縦性を促進してもよい。
【００３１】
例示的な車両２０２などの車両を使用して、環境２００を通過し、データを収集してもよい。例えば、車両２０２は、１つまたは複数のセンサを含むことが可能であり、例示の目的で、１つまたは複数のセンサは、１つまたは複数のＬＩＤＡＲセンサであることが可能である。他のセンサタイプが企図されている（例えば、ＲＡＤＡＲセンサ、ＳＯＮＡＲセンサ、イメージセンサ、オーディオセンサ、赤外線センサ、位置センサなど、またはそれらの任意の組み合わせ）。
【００３２】
車両２０２が環境２００を通過する場合、センサは、環境に関連するセンサデータを取り込むことが可能である。さらに、センサデータの一部は、オブジェクト（例えば、樹木２０４、車両２０６、および歩行者２０８）に関連付けられることが可能である。センサデータは、建物、路面、看板、柵などを含むがこれらに限定されない他のオブジェクトに関連付けられることが可能である。
【００３３】
図３Ａは、ボクセル空間３０２に関連付けられたセンサデータ３０４を備えた三次元ボクセル空間３０２を含む例３００を示している。例３００が示すように、ボクセル空間３０２は三次元に拡張することが可能であり、例３００は、ボクセル空間全体の一部を示す。センサデータ３０４は、ＬＩＤＡＲデータを含むことが可能である。いくつかの実例では、ボクセル空間３０２は、共分散行列、位置情報、分類情報、セグメンテーション情報、ボクセルが占有されているかどうかにかかわらず、いくつかの観測値などを含むがこれらに限定されない任意の数の特徴を表すことが可能である。説明のために複合的なデータポイントとして描かれているが、そのようなセンサデータ３０４はボクセルごとに格納されている。
【００３４】
図３Ｂは、トップダウン視点または平面図からのボクセル空間３０２の例３０６を示し、ボクセル空間３０２に関連付けられたセンサデータ３０４を示している。
【００３５】
図３Ｃは、ボクセル空間３０２の例３０８およびボクセル空間３０２に関連付けられたセンサデータ３０４を示している。例３０８はまた、トップダウン視点からマスク３１０（図１に示されるような第１のマスク１２０に対応してもよい）を示す。上述したように、機械学習アルゴリズムはマスク３１０を出力することが可能である。したがって、説明の目的で、機械学習アルゴリズムは、センサデータ３０４を使用して、いくつかの実例では、ボクセル空間３０２内のオブジェクトを表すことが可能であるマスク３１０を出力することが可能である。他の実例では、システムはマスク３１０を生成することが可能である。上述したように、いくつかの実例では、機械学習アルゴリズムは、センサデータ３０４よりも少ない数のボクセルに関連付けられたマスク３１０を出力することが可能である。他の実例では、機械学習アルゴリズムは、センサデータ３０４と同数またはそれ以上の数のボクセルに関連付けられたマスク３１０を出力することが可能である。
【００３６】
図４Ａは、センサデータ４０４を有するボクセル空間４０２の例４００を示している。例４００はまた、トップダウン視点からマスク４０６を示している。説明のために、ボクセル空間４０２はボクセル空間３０２を表すことが可能であり、マスク４０６はマスク３１０を表すことが可能である。上述したように、機械学習アルゴリズムは、センサデータ４０４よりも少ない数のボクセルに関連付けられたマスク４０６を出力することが可能である。
【００３７】
図４Ａはまた、ボクセル空間４０２およびマスク４０６の例４０８を示している。さらに、例４０８はまた、拡張マスク４１０を示している。非限定的な例として、本明細書で説明される技術を実行することにより、例４００は例４０８をもたらすことが可能である。いくつかの実例では、システムは、クラスタリング技術または領域成長技術を使用して、個別のボクセルを組み合わせて、拡張マスク４１０を生成することが可能である。他の実例では、システムは、マスク４０６をマージンまで増加させることによって拡張マスク４１０を生成することが可能であり、マージンは固定値または百分率で固定されることが可能である。他の実例では（そして図４Ｂに示されるように）、システムは、拡張マスク４１０が異なるマスクと交差するまで、拡張マスク４１０を生成することが可能である。さらに、他の実例では、システムは、上記の技術の組み合わせを使用して、拡張マスク４１０を生成することが可能である。例４０８は、本明細書で説明される技術を実行することにより、拡張マスク４１０が、センサデータ４０４にも関連付けられたボクセル空間４０２内のボクセルに関連付けられる例を示す。他の実例では、拡張マスク４１０は、センサデータ４０４に関連付けられたボクセルの数より少ないまたは多い数に関連付けることが可能である。
【００３８】
図４Ｂは、センサデータ４１８を備えたボクセル空間４１６の例４１４を示している。例４１４はまた、マスクＡ４２０およびマスクＢ４２２を示している。理解されるように、図４Ａは、１つのオブジェクト（例えば、車両）が存在する環境を表す。図４Ｂは、２つのオブジェクト（例えば、２台の車両）が環境内で互いに隣接または近接してもよい環境を表す。上述したように、機械学習アルゴリズムは、センサデータ４１８よりも少ない数のボクセルに関連付けられたものとして、マスクＡ４２０およびマスクＢ４２２を出力することが可能である。
【００３９】
図４Ｂはまた、マスクＡ４２０およびマスクＢ４２２を備えたボクセル空間４１６の例４２４を示している。非限定的な例として、本明細書で説明される技術を実行することにより、例４１４は例４２４をもたらすことが可能である。例４２４はまた、拡張マスクＡ４２４および拡張マスクＢ４２６を示している。システムが拡張マスクを生成する場合、システムは、拡張マスクＡ４２４または拡張マスクＢ４２６のいずれか、あるいはその両方が、別のマスクと接触するか、または交差することが可能であると判断することが可能である。いくつかの実例では、システムは第１のマスクをマージンまで、固定値または百分率、あるいはその両方で拡張することが可能である。次に、システムは、交差基準を満たさなくなるまで、拡張されたマスクを段階的に減らすことが可能である。他の実例では、システムは、別のマスクとの接触または交差をチェックしながら、マスクを段階的に拡張することが可能である。例４２４では、システムが、マスクＡ４２０とマスクＢ４２２とをマージンまでそのように拡張した結果、拡張マスクＡ４２４と拡張マスクＢ４２６とは交差しない。いくつかの実例では、システムは、オーバーラップ閾値によって拡張されたマスクと接触することおよび／または交差することが可能に構成される。他の例では、システムは、拡張されたマスクを構成されるが、拡張されたマスクと接触することはできない。例えば、マスクが交差または接触していると判断すると、システムは一方または両方のマスクのサイズを縮小して、２つのマスクの間にバッファを導入することが可能である。
【００４０】
拡張マスクまたは第２のマスクを生成後、システムは、上述したように、ボクセル空間内におけるオブジェクトを決定するためにセンサデータ上で成長する領域のようなクラスタリング技術または第２のマスクに関連付けられたボクセルを使用することが可能である。つまり、クラスタリング工程は、マスクによって効果的に制限されることが可能である。さらに、システムは、オブジェクト識別子をセンサデータまたは第２のマスクに関連付けられたボクセルに関連付けることが可能である。
【００４１】
図５は、拡張されたマスク（例えば、第２のマスク）を生成するための例示的なプロセス５００を示している。いくつかの例では、本明細書で説明されるように、プロセス５００のいくつかまたはすべては、図６に示した１つまたは複数の構成要素によって実行されることが可能である。
【００４２】
工程５０２において、プロセス５００は、環境のセンサデータの取り込みを含むことが可能である。上述したように、センサデータは、ＬＩＤＡＲデータ、ＲＡＤＡＲデータ、画像データなどを表すことが可能である。工程５０４において、プロセス５００は、センサデータをボクセル空間に関連付けることを含むことが可能である。上述したように、いくつかの実例では、センサデータは、生のセンサデータとして（例えば、データポイントに関連付けられた個々の＜ｘ、ｙ、ｚ、範囲、時間など＞の値で）ボクセル空間で表されてもよく／データの統計的蓄積として表されてもよい。
【００４３】
工程５０６において、プロセス５００は、ボクセル空間内のオブジェクトを表す第１のマスクを受け取ることを含むことが可能である。例えば、第１のマスクは、環境内の車両などのオブジェクトを表してもよい。いくつかの実例では、第１のマスクは、センサデータの取り込みに関連付けられた第１の視点とは異なる第２の視点からのオブジェクトを表してもよい。例えば、第１のマスクは、ボクセル空間で表されるオブジェクトの俯瞰図を表してもよい。いくつかの実例では、第１のマスクは、ボクセルデータに関連付けられたマスクを出力するように訓練された機械学習アルゴリズムから受信されることが可能である。いくつかの実例では、機械学習アルゴリズムによって出力されるマスクは、ボクセルデータに関連付けられた分類データまたはセグメンテーションデータの少なくとも一部に基づけられることが可能である。一例では、「歩行者」分類に関連付けられたボクセルに関連付けられたマスクは、固定されたサイズとして生成されることが可能であり、別の例では、「車両」分類に関連付けられたボクセルに関連付けられたマスクは、ボクセルデータのサイズに基づいて生成されることが可能である。マスクは、さまざまな要因に基づいて生成されることが可能であり、本明細書で論じられる例に限定されない。いくつかの例では、機械学習アルゴリズムは、データのクラスター（平均、重心、データの最高密度など）を中心とするマスクを出力するように訓練される。
【００４４】
工程５０８において、プロセス５００は、第１のマスクを拡張することが可能である。上述したように、プロセス５００は、第１のマスクを固定値または百分率で拡張することが可能であり、またはプロセス５００は、第１のマスクを段階的に拡張することが可能である。いくつかの実例では、プロセス５００は、領域成長アルゴリズムの少なくとも一部に基づくクラスタリング技術を使用して、第１のマスクを拡張することが可能である。他の実例では、プロセス５００は、それが別のマスクに接触するか交差するまで、第１のマスクを拡張することが可能である。いくつかの実例では、工程５０８は、ボクセルに関連付けられた分類データまたは第１のマスクによって表された疑似ピクセルの少なくとも一部に基づけられることが可能である。つまり、いくつかの場合、車両に関連付けられたマスクを拡張することは、例えば、歩行者に関連付けられたマスクを拡張することとは、異なる場合がある。例えば、閾値の増加は分類タイプに基づけられることが可能である。
【００４５】
工程５１０において、プロセス５００は、拡張された第１のマスクが、センサデータに関連付けられているすべてのオブジェクトボクセルを含むか、または関連付けられているかどうかを決定することを含むことが可能である。非限定的な例として、工程５１０は、ボクセル空間が単一のオブジェクトを表すセンサデータに関連付けられ、マスクを拡張することがマスクのある半径内のセンサデータを含むすべてのボクセルを含むことができる事態において肯定的な結果を生じさせることができる。理解されるように、工程５１０は、図４Ａに示されるように表されることが可能である。工程５１０が肯定的な結果をもたらす場合、プロセス５００は、工程５１６に進むことが可能である。工程５１０が否定的な結果をもたらす場合、プロセス５００は工程５１２に進み、そこでプロセス５００は、拡張された第１のマスクがマージンに接触するかまたは超えるかに関するチェックを実行することができる。非限定的な例として、プロセス５００がマージンとして固定値または百分率を使用する場合、工程５１２は肯定的な結果をもたらすことが可能である。工程５１２が肯定的である場合、プロセス５００は、工程５１６に進むことが可能である。工程５１２が否定的な結果をもたらす場合、プロセス５００は、工程５１４に進むことが可能であり、そこでプロセス５００は、拡張された第１のマスクが別のマスクと接触するか交差するかに関するチェックを実行することが可能である。
【００４６】
非限定的な例として、工程５１４は、プロセス５００が、別のオブジェクトを表す別のマスクが第１のマスクに隣接または近接しているボクセル空間内の第１のマスクを拡張する場合、肯定な結果をもたらすことが可能である。理解されるように、工程５１４は、図４Ｂに示されるように表すことが可能である。工程５１４が否定的な結果をもたらす場合、プロセス５００は、工程５０８に戻ることが可能である。工程５１４が肯定的である場合、プロセス５００は、工程５１６に進むことが可能である。説明の目的でこの構成に示されているように、プロセス５００は、工程５１０、５１２、および５１４を任意の順序で並行して実行することが可能である。
【００４７】
さらに、工程５１０、５１２、および５１４は、第１のマスクの各側（例えば、左、右、上、下）で独立して実行されることが可能である。したがって、理解されるように、第１のマスクは、例えば、領域拡大アルゴリズムに少なくとも部分的に基づくクラスタリング技術を使用することにより、別のマスクと交差するまで一方の側で拡張され、マージンを満たすか超えるまで別の側で拡張され、センサデータに関連するすべてのボクセルを含むまでさらに別の側で拡張されることが可能である。さらに、参照を目的に図５を通して、すべての工程５１０、５１２、５１４が実行される必要はない。非限定的な例として、工程５１０、５１２、または５１４のいずれかまたはすべてが省略されてもよい。
【００４８】
工程５１６において、プロセス５００は、第１のマスクの拡張後、第２のマスク（例えば、拡張されたマスク）を生成することが可能である。いくつかの実例では、第２のマスクは第１のマスクよりも大きな領域を表すことが可能である。他の実例では、第２のマスクは、第１のマスクと実質的に同様の領域を表すことが可能である。いくつかの実例では、拡張された第１のマスクが異なるマスクと接触するか交差する場合、工程５１６は、他の工程におけるボクセルデータのセグメンテーションを改善するために、例えば、異なるマスク間に「バッファ」を有する第２のマスクを生成することを含めることが可能である。
【００４９】
図６は、本明細書で論じられる技術を実装するための例示的なシステム６００のブロック図を示す。少なくとも１つの例では、システム６００は、車両６０２を含むことが可能であり、これは、図２を参照して上述の車両２０２と同じ車両であることが可能である。
【００５０】
車両６０２は、車両演算装置６０４、１つまたは複数のセンサシステム６０６、１つまたは複数のエミッタ６０８、１つまたは複数の通信コネクション６１０、少なくとも１つのダイレクトコネクション６１２（例えば、車両６０２と物理的に結合して、データを交換するため、および／または電力を供給する）および１つまたは複数の駆動モジュール６１４を含むことが可能である。
【００５１】
１つまたは複数のセンサシステム６０６は、環境に関連するセンサデータを取り込むように構成されることが可能であり、環境は、図２を参照して上述の環境２００と同様の環境であることが可能である。
【００５２】
車両演算装置６０４は、１つまたは複数のプロセッサ６１６および１つまたは複数のプロセッサ６１６と通信可能に結合されたメモリ６１８を含むことが可能である。図示の例６００において、車両６０２は自律車両である。しかしながら、車両６０２は任意の他のタイプの車両であることが可能である。図示の例では、車両演算装置６０４のメモリ６１８は、ローカリゼーションコンポーネント６２０、訓練コンポーネント６２２、計画コンポーネント６２４、１つまたは複数のシステムコントローラ６２６、および知覚コンポーネント６２８を格納する。説明の目的でメモリ６１８内に存在するものとして示されているが、ローカリゼーションコンポーネント６２０、訓練コンポーネント６２２、計画コンポーネント６２４、１つまたは複数のシステムコントローラ６２６、および知覚コンポーネント６２８は、追加的に、または代替的に、車両６０２（例えば、遠隔で格納される）にアクセス可能であると考えられる。
【００５３】
少なくとも１つの例では、ローカリゼーションコンポーネント６２０は、車両６０２の位置を決定するためにセンサシステム６０６からデータを受信する機能を含むことが可能である。例えば、ローカリゼーションコンポーネント６２０は、環境の三次元マップを含み、および／または要求／受信することが可能であり、マップ内の自律車両の場所を継続的に決定することが可能である。いくつかの実例では、ローカリゼーションコンポーネント６２０は、ＳＬＡＭ（simulatenous  同時位置推定およびマッピング）またはＣＬＡＭＳ（同時に較正、位置推定およびマッピング）を使用して、画像データ、ＬＩＤＡＲデータ、ＲＡＤＡＲデータ、ＳＯＮＡＲデータ、ＩＭＵデータ、ＧＰＳデータ、ホイールエンコーダーデータ、および自律車両の場所を正確に確定するその他のデータを受信することが可能である。いくつかの実例では、本明細書で論じられるように、ローカリゼーションコンポーネント６２０は車両６０２の様々なコンポーネントにデータを提供して、軌道候補を生成するための自律車両の初期位置を確定することが可能である。
【００５４】
いくつかの実例では、訓練コンポーネント６２２は、センサシステム６０６からデータを受信し、データ内のクラスを識別するための機械学習アルゴリズムで使用するための訓練データセットを作成する機能を含むことが可能である。例えば、訓練コンポーネント６２２は、車両、歩行者、自転車、オートバイ、樹木、路面、建物などのクラスを示すことが可能である。いくつかの実例では、訓練コンポーネント６２２は、センサデータで表されるオブジェクトの範囲（例えば、長さ、幅、高さ）を手動または自動で示す機能を含むことが可能である。いくつかの実例では、訓練データには、訓練データで表されたオブジェクトの範囲を表すＬＩＤＡＲデータに関連付けられた三次元の境界ボックスを含めることが可能である。次に、訓練コンポーネント６２２は、センサデータをこれらのクラスおよび／または範囲に関連付けて、訓練データセットを作成することが可能である。いくつかの実例では、訓練データセットの少なくとも一部に、オブジェクトによって表されるオブジェクトの真の範囲（例えば、長さと幅）よりも小さいマスクを表す地上における真の情報を含めることが可能である。そのようなグラウンドトゥルースは、例えば、手作業でラベル付けされたデータ、シミュレートされたデータ、またはマスクをデータに関連付ける他のアルゴリズムによって作成されてもよく、その範囲は、その後、ある量だけ減少する。訓練データセットを使用して、センサデータ内のオブジェクトを識別するための機械学習アルゴリズムを訓練することが可能である。機械学習アルゴリズムが訓練されると、機械学習アルゴリズムは、センサデータに基づいて１つ以上のオブジェクトを表す１つ以上のマスクを出力することが可能である。
【００５５】
一般に、計画コンポーネント６２４は環境を横断するために車両６０２が辿る経路を確定することが可能である。例えば、計画コンポーネント６２４は様々なルートおよび軌道ならびに様々なレベルの詳細を確定することできる。例えば、計画コンポーネント６２４は第１の場所（例えば現在の場所）から第２の場所（例えば目標の場所）へ走行するルートを確定することが可能である。この議論の目的に、ルートは二か所間を走行するための一連の経由地点にすることが可能である。非限定的な例として、経由地点は、道路、交差点、全地球測位システム（ＧＰＳ）座標などが含まれる。さらに、計画コンポーネント６２４は、第１の場所から第２の場所への経路の少なくとも一部に沿って自律車両を誘導するための命令を生成することが可能である。少なくとも１つの例では、計画コンポーネント６２４は経由地点のシーケンス内の第１の経由地点から経由地点のシーケンス内の第２の経由地点まで自律車両をどのように誘導するかを確定することが可能である。いくつかの例では、命令は軌道または軌道の一部であることが可能である。いくつかの例では、後退地平線技法に従って、複合的な軌道は実質的に同時に生成することが可能である（例えば技術的な許容範囲内で）。最高の信頼レベルを有する後退地平線内の複合的な軌道うちの単一の軌道を選択してもよく、車両を操作してもよい。
【００５６】
他の例では、計画コンポーネント６２４は、代替的に、またはさらに、知覚コンポーネント６２８からのデータを使用して、環境を横断するために車両６０２がたどる経路を決定することが可能である。例えば、計画コンポーネントは、環境に関連付けられたオブジェクトに関する知覚コンポーネント６２８からデータを受け取ることが可能である。このデータを使用して、計画コンポーネント６２４は、環境内のオブジェクトを回避するために、第１の場所（例えば、現在の場所）から第２の場所（例えば、目標の場所）に移動するルートを決定することが可能である。
【００５７】
少なくとも１つの例では、車両演算装置６０４は、車両６０２のステアリング、推進、ブレーキ、安全、エミッタ、通信、および他のシステムを制御するように構成されてもよく１つまたは複数のシステムコントローラ６２６を含むことが可能である。これらシステムコントローラ６２６は、駆動モジュール６１４の対応するシステムおよび／または計画システム６２４から提供される軌道に従って動作するように構成されてもよい車両６０２の他の構成要素と通信および／または制御することが可能である。
【００５８】
いくつかの例では、知覚コンポーネント６２８は、オブジェクトの検出、セグメンテーション、および／または分類作業を実行するための機能を含むことが可能である。いくつかの例では、知覚コンポーネント６２８は、車両６０２に近接する実体の存在および／または実体タイプとしての実体の分類（例えば、自動車、歩行者、サイクリングをする人、建物、樹木、路面、縁石、歩道、不明など）を示す処理されたセンサデータを提供することが可能である。追加および／または代替の例では、知覚コンポーネント６２８は、検出された実体および／または実体が配置されている環境に関連付けられた１つまたは複数の特性を示す処理されたセンサデータを提供することが可能である。いくつかの例では、実体に関連付けられた特性には、ｘ位置（グローバル位置）、ｙ位置（グローバル位置）、ｚ位置（グローバル位置）、方向、実体タイプ（分類など）、実体の速度、実体の範囲（サイズ）などを含むことが可能であるが、これらに限定されない。環境に関連付けられた特性は、環境内における別の実体の存在、環境内における別の実体の状態、時刻、曜日、季節、気象条件、暗さ/明るさの表示などを含むことが可能であるが、これらに限定されない。
【００５９】
図示の例６００では、知覚コンポーネント６２８は、セグメンテーションコンポーネント６３０を含むことが可能である。次に、セグメンテーションコンポーネントは、関連付けコンポーネント６３２、拡張コンポーネント６３４、検証コンポーネント６３６、およびマスクコンポーネント６３８を含むことが可能である。
【００６０】
少なくとも１つの例では、関連付けコンポーネント６３２は、センサデータを受信し、センサデータをボクセル空間に関連付ける機能を含むことが可能であり、ボクセル空間は、いくつかの実例では、三次元を含む。いくつかの実例では、関連付けコンポーネント６３２は、センサデータを統計的に蓄積し、センサが個々のボクセルに関連付けられている場合にセンサを処理する機能を含むことが可能である。他の実例では、関連付けコンポーネント６３２は、センサデータを生のセンサデータとしてボクセル空間に関連付ける機能を含むことが可能である（例えば、データポイントに関連付けられた個々の＜ｘ、ｙ、ｚ、範囲、時間など＞の値）。
【００６１】
図示の例６００では、拡張コンポーネント６３４は、マスクを受け取り、マスクを拡張する機能を含むことが可能であり、いくつかの例では、マスクは、二次元でボクセル空間内のオブジェクトを表す。いくつかの実例では、オブジェクトを二次元で表すマスクは、平面図またはトップダウン視点を使用できる。説明のために、このマスクは第１のマスクと呼ばれることがある。そのようなマスクは、例えば、本明細書で説明されるように、マスクを出力するように訓練された機械学習アルゴリズムに複合的なチャネルの画像としてボクセルグリッドを入力することによって提供されてもよい。マスクの拡張は、本明細書で説明される技術のいずれかに従って（例えば、図５に関して説明されているように）実行されてもよい。
【００６２】
図示の例６００では、検証コンポーネント６３６は、拡張コンポーネント６３４が第１のマスクを十分に拡張するかどうかを決定するための機能を含むことが可能である。いくつかの実例では、検証コンポーネント６３６は、拡張コンポーネント６３４が第１のマスクを拡張して、マスクの周りにおける領域内のセンサデータに関連するすべてのボクセルを含むか（例えば、少なくとも部分的にシードボクセルに基づく、および／またはシードボクセルからの距離または半径に少なくとも部分的に）、拡張コンポーネント６３４が第１のマスクを拡張してマージンと接触するか（マージンを）超えるか、または拡張コンポーネント６３４が第１のマスクを拡張して別のマスクに接触するか交差するか、どうかを決定することが可能である。いくつかの実例では、検証コンポーネント６３６は、これらの機能を並列または直列に実行することが可能である。さらに、いくつかの実例では、拡張コンポーネント６３４が第１のマスクの側面ごとに第１のマスクを拡張するので、検証コンポーネント６３６はこれらの機能を実行することが可能である。上述したように、マージンは固定値または第１のマスクの百分率にすることが可能である。さらに、検証コンポーネント６３６は、少なくとも部分的に領域成長に基づくクラスタリング技術などの技術を使用することが可能である。いくつかの実例では、検証コンポーネント６３６の決定に基づいて、拡張コンポーネント６３４は、第１のマスクを拡張し続けることが可能である。いくつかの実例では、検証コンポーネント６３６の決定に基づいて、マスクコンポーネント６３８は、拡張コンポーネント６３４からデータを受信することが可能である。
【００６３】
図示の例６００では、マスクコンポーネント６３８は、拡張コンポーネント６３４からのデータに少なくとも部分的に基づいて第２のマスクを決定および／または生成する機能を含むことが可能である。いくつかの実例では、マスクコンポーネント６３８は、第１のマスクに少なくとも部分的に基づいて、第２のマスクを決定および／または生成することが可能である。
【００６４】
セグメンテーションコンポーネント６３０は、第２のマスクに関連付けられたセンサデータをセグメント化して、オブジェクトおよび／またはオブジェクト識別子を第２のマスクに関連付けられたセンサデータに関連付ける機能を含むことが可能である。いくつかの実例では、セグメンテーションコンポーネント６３０は、領域成長などの１つまたは複数のクラスタリング技術を、第２のマスクに関連付けられたセンサデータまたはボクセルに適用して、ボクセル空間内のオブジェクトを決定することが可能である。さらに、セグメンテーションコンポーネント６３０は、いくつかの実例では、オブジェクト識別子を、第２のマスクに関連付けられたセンサデータまたはボクセルに関連付けることが可能である。
【００６５】
少なくとも１つの例では、センサシステム６０６は、ＬＩＤＡＲセンサ、ＲＡＤＡＲセンサ、超音波変換器、ＳＯＮＡＲセンサ、位置センサ（例えば、ＧＰＳ、コンパスなど）、慣性センサ（例えば、慣性測定ユニット（ＩＭＵ）、加速度計、磁気計、ジャイロスコープなど）、カメラ（ＲＧＢ、ＩＲ、強度、深度など）、マイク、ホイールエンコーダー、環境センサ（温度センサ、湿度センサ、光センサなど）、圧力センサなど）などを含むことが可能である。センサシステム６０６は、これらまたは他のタイプのセンサのそれぞれの複合的な実例を含むことが可能である。例えば、ＬＩＤＡＲセンサは、車両６０２の角、前部、後部、側面、および／または上部に配置された個々のＬＩＤＡＲセンサを含むことが可能である。別の例として、カメラセンサは、車両６０２の外部および／または内部の周りの様々な場所に配置された複合的なカメラを含むことが可能である。センサシステム６０６は、車両演算装置６０４に入力を提供することが可能である。さらに、および／または代替として、センサシステム６０６は、１つまたは複数のネットワーク６４０を介して、所定の期間の経過後、ほぼリアルタイムなどで、特定の周波数で１つまたは複数の演算装置６４２にセンサデータを送信することが可能である。
【００６６】
車両６０２はまた、上述したように、光および／または音を放出するための１つまたは複数のエミッタ６０８を含むことが可能である。この例のエミッタ６０８は、車両６０２の乗客と通信するための内部オーディオエミッタおよび内部ビジュアルエミッタを含む。例として限定されないが、内部エミッタは、スピーカー、ライト、標識、ディスプレイスクリーン、タッチスクリーン、触覚エミッタ（例えば、振動および／または力のフィードバック）、機械的アクチュエータ（例えば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど）などを含むことが可能である。この例のエミッタ６０８はまた、外部エミッタを含む。非限定的な例として、この例の外部エミッタは、進行方向または車両動作の他のインジケータ（例えば、インジケータライト、標識、ライトアレイなど）を信号で伝えるライト、および歩行者または他の近くの車両と聴覚的に対話する１つまたは複数のオーディオエミッタ（例えば、スピーカー、スピーカーアレイ、ホーンなど）を含み、その１つまたは複数は、音響ビームステアリング技術を含んでもよい。
【００６７】
車両６０２はまた、車両６０２と１つまたは複数の他のローカルまたは遠隔演算装置との間の通信を可能にする１つまたは複数の通信コネクション６１０を含むことが可能である。例えば、通信コネクション６１０は、車両６０２および／または駆動モジュール６１４上の他のローカル演算装置との通信を容易にすることが可能である。また、通信コネクション６１０は、車両が他の近くの演算装置（例えば、他の近くの車両、交通信号など）と通信することを可能にすることが可能である。通信コネクション６１０はまた、車両６０２が遠隔操作演算装置または他の遠隔サービスと通信することを可能にすることが可能である。
【００６８】
通信コネクション６１０は、車両演算装置６０４を別の演算装置またはネットワーク６４０などのネットワークに接続するための物理的および／または論理的インターフェースを含むことが可能である。例えば、通信コネクション６１０は、ＩＥＥＥ８０２．１１規格で定義された周波数、Ｂｌｕｅｔｏｏｔｈなどの短距離無線周波数、セルラー通信（２Ｇ、３Ｇ、４Ｇ、４ＧＬＴＥ、５Ｇなど）などのｗｉ−ｆｉベースの通信を有効にすることが可能である。
【００６９】
少なくとも１つの例では、車両６０２は、１つまたは複数の駆動モジュール６１４を含むことが可能である。いくつかの例では、車両６０２は単一の駆動モジュール６１４を有することが可能である。少なくとも１つの例では、車両６０２が複合的な駆動モジュール６１４を有する場合、個々の駆動モジュール６１４は車両６０２の両端部（例えば前部および後部など）に配置されることができる。少なくとも１つの例では、駆動モジュール６１４は、駆動モジュール６１４および／または車両６０２の周辺環境の状態を検出するための１つまたは複数のセンサシステムを含むことが可能である。非限定的な例として、センサシステムは、駆動モジュールのホイールの回転を感知するための１つまたは複数のホイールエンコーダー（例えばロータリーエンコーダー）、ドライブモジュールの向きと加速度を測定するための慣性センサ（例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など）、カメラまたはその他の画像センサ、ドライブモジュールの周辺環境のオブジェクトを音響的に検出するための超音波センサ、ＬＩＤＡＲセンサ、ＲＡＤＡＲセンサなど、を含むことが可能である。ホイールエンコーダーなどの一部のセンサは、駆動モジュール６１４に固有のものにできる。いくつかの場合、駆動モジュール６１４上のセンサシステムは車両６０２の対応するシステム（例えばセンサシステム６０６）と重複または補足することが可能である。
【００７０】
駆動モジュール６１４は、高電圧バッテリー、車両を推進するモーター、バッテリーからの直流を他の車両システムで使用する交流に変換するインバーター、ステアリングモーターおよびステアリングラック（電動であることが可能である）を含むステアリングシステム、油圧または電気アクチュエータを含むブレーキシステム、油圧および／または空気圧コンポーネントを含むサスペンションシステム、トラクションの損失を軽減し制御を維持するブレーキ力分散用の安定性制御システム、ＨＶＡＣシステム、照明（例えば車両の外部環境を照らすヘッド/テールライトなどの照明）、および１つ以上の他のシステム（例えば冷却システム、安全システム、車載充電システム、ＤＣ／ＤＣコンバーター、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどのその他の電装コンポーネント）を含む多くの車両システムを含むことが可能である。さらに、駆動モジュール６１４は、センサシステムからデータを受信し、事前処理することが可能であり、様々な車両システムの工程を制御できる駆動モジュールコントローラを含むことが可能である。いくつかの例では、駆動モジュールコントローラは、１つまたは複数のプロセッサ、および１つまたは複数のプロセッサと通信可能に結合されたメモリを含むことが可能である。メモリは１つまたは複数のモジュールを格納して、駆動モジュール６１４の様々な機能を実行できる。さらに、駆動モジュール６１４はまた、それぞれのドライブモジュールによる１つまたは複数の他のローカルまたは遠隔演算装置との通信を可能にする１つまたは複数の通信接続を含む。
【００７１】
少なくとも１つの例では、ローカリゼーションコンポーネント６２０および／または計画コンポーネント６２４は、上述したように、センサデータを処理することが可能であり、１つまたは複数のネットワーク６４０を介して、１つまたは複数の演算装置にそれぞれの出力を送信することが可能である。少なくとも１つの例では、ローカリゼーションコンポーネント６２０、および／または計画コンポーネント６２４は、所定の期間の経過後、特定の周波数で、ほぼリアルタイムなどで、それぞれの出力を１つまたは複数の演算装置６４２に、送信することが可能である。
【００７２】
車両６０２は、ネットワーク６４０を介して、センサデータを１つまたは複数の演算装置６４２に送信することが可能である。いくつかの例では、車両６０２は未処理のセンサデータを演算装置６４２に送信することが可能である。他の例では、車両６０２は処理されたセンサデータおよび／またはセンサデータの表現を演算装置６４２に送信することが可能である。いくつかの例では、車両６０２は、所定の期間が経過した後、ほぼリアルタイムなどで、特定の周波数でセンサデータを演算装置６４２に送信することが可能である。いくつかの場合、車両６０２はセンサデータ（未処理または処理済み）を１つまたは複数のログファイルとして演算装置６４２に送信することが可能である。
【００７３】
演算装置６４２は、センサデータ（未処理または処理された）を受信でき、センサデータに基づいてマップを生成および／または更新できる。さらに、演算装置６４２は、少なくとも１つの例では、１つまたは複数のプロセッサ６４４および１つまたは複数のプロセッサ６４４と通信可能に結合されたメモリ６４６を含むことが可能である。図示の例では、演算装置６４２のメモリ６４６は、訓練コンポーネント６４８と、関連コンポーネント６５２、拡張コンポーネント６５４、検証コンポーネント６５６、およびマスクコンポーネント６５８を含むセグメンテーションコンポーネント６５０を格納する。
【００７４】
訓練コンポーネント６４８は、センサデータを受信し、訓練データセットを作成することが可能である。理解されるように、訓練コンポーネント６４８は、訓練コンポーネント６２２と併せて説明される機能において対応することが可能である。
【００７５】
一般に、セグメンテーションコンポーネント６５０は、１つまたは複数の車両（車両６０２など）からデータを受信することが可能であり、環境内のオブジェクトを検出するためにセンサデータをセグメント化することが可能である。理解されるように、セグメンテーションコンポーネント６５０およびそこに含まれるコンポーネントは、セグメンテーションコンポーネント６３０に関連して論じられる機能において対応することが可能である。
【００７６】
車両６０２のプロセッサ６１６および演算装置６４２のプロセッサ６４４は本明細書で説明されるようにデータを処理し工程を実行するための命令を実行できる任意の適切なプロセッサであることが可能である。非限定的な例として、プロセッサ６１６および６４４は、１つまたは複数の中央処理装置（ＣＰＵ）、画像処理装置（ＧＰＵ）、または電子データを処理して電子データをレジスタまたはメモリに格納できる他の電子データに変換する他の任意のデバイスまたはデバイスの一部、を備えることが可能である。いくつかの例では、集積回路（例えばＡＳＩＣｓなど）、ゲートアレイ（例えばＦＰＧＡｓなど）、および他のハードウェアデバイスもまた、それらが符号化された命令を実装するように構成される限り、プロセッサと見做すことが可能である。
【００７７】
メモリ６１８およびメモリ６４６は、非一時的なコンピュータ可読媒体の例である。メモリ６１８およびメモリ６４６は、オペレーティングシステムおよび１つまたは複数のソフトウェアアプリケーション、命令、プログラム、および／またはデータを格納して、本明細書で説明される方法および様々なシステムに起因する機能を実装することが可能である。様々な実装では、メモリ６１８およびメモリ６４６は、スタティックランダムアクセスメモリ（ＳＲＡＭ）、シンクロナスダイナミックＲＡＭ（ＳＤＲＡＭ）、不揮発性/フラッシュタイプのメモリ、または情報を格納可能なその他のタイプのメモリなど、適切なメモリ技術を使用して実装されることが可能である。本明細書で説明される構成、システム、および個々の要素は、他の多くの論理的、プログラム的、および物理的コンポーネントを含むことが可能であり、それらの添付図面に示すものは、本明細書の議論に関連する例にすぎない。
【００７８】
いくつかの実例では、本明細書で論じられるコンポーネントのいくつかまたはすべての態様は、任意のモデル、アルゴリズム、および／または機械学習アルゴリズムを含むことが可能である。例えば、いくつかの実例では、メモリ６１８および６４６内のコンポーネントは、ニューラルネットワークとして実装することが可能である。
【００７９】
本明細書で説明されるように、例示的なニューラルネットワークは、入力データを一連の接続された層に通して出力を生成する生物学的に着想を得たアルゴリズムである。ニューラルネットワークの各層は、別のニューラルネットワークを含むことも、任意の数の層を含むことが可能である（畳み込みかどうかに関係なく）。本開示の文脈で理解されるように、ニューラルネットワークは、機械学習を使用することが可能であり、学習されたパラメータに基づいて生成された出力におけるアルゴリズムのような広範囲のクラスを参照することができる。
【００８０】
ニューラルネットワークの文脈で説明されているが、任意のタイプの機械学習がこの開示と一致して使用されることが可能である。例えば、機械学習アルゴリズムは、回帰アルゴリズム（例：通常の最小二乗回帰（ＯＬＳＲ）、線形回帰、ロジスティック回帰、段階的回帰、多変量適応回帰スプライン（ＭＡＲＳ）、局所的に推定されたスキャッタープロットスムージング（ＬＯＥＳＳ））、インスタンスベースのアルゴリズム（例、リッジ回帰、最小絶対収縮および選択演算子（ＬＡＳＳＯ）、エラスティックネット、最小角度回帰（ＬＡＲＳ））、決定ツリーアルゴリズム（例：分類および回帰ツリー（ＣＡＲＴ）、反復二分法３（ＩＤ３）、カイ二乗自動相互作用検出（ＣＨＡＩＤ）、決定の切り株、条件付き決定ツリー）、ベイジアンアルゴリズム（例、ナイーブベイズ、ガウスナイーブベイズ、多項ナイーブベイズ、平均１依存推定器（ＡＯＤＥ）、ベイジアン信念ネットワーク（ＢＮＮ）、ベイジアンネットワーク）、クラスタリングアルゴリズム（例、ｋ−ｍｅａｎｓ、ｋ−ｍｅｄｉａｎｓ、ｅｘｐｅｃｔａｔｉｏｎ最大化（ＥＭ）、階層型クラスタリング）、関連ルール学習アルゴリズム（例、パーセプトロン、逆伝播、ホップフィールドネットワーク、放射状基底関数ネットワーク（ＲＢＦＮ））、深層学習アルゴリズム（例、ＤｅｅｐＢｏｌｔｚｍａｎｎＭａｃｈｉｎｅ（ＤＢＭ）、ＤｅｅｐＢｅｌｉｅｆＮｅｔｗｏｒｋｓ（ＤＢＮ）、ＣｏｎｖｏｌｕｔｉｏｎａｌＮｅｕｒａｌＮｅｔｗｏｒｋ（ＣＮＮ）、ＳｔａｃｋｅｄＡｕｔｏ−Ｅｎｃｏｄｅｒｓ）、次元削減アルゴリズム（例、主成分分析（ＰＣＡ）、主成分回帰（ＰＣＲ）、部分最小二乗回帰（ＰＬＳＲ）、サモンマッピング、多次元スケーリング（ＭＤＳ）、射影追跡、線形判別分析（ＬＤＡ）、混合判別分析（ＭＤＡ）、二次判別分析（ＱＤＡ）、柔軟な判別分析（ＦＤＡ））、アンサンブルアルゴリズム（例、ブースティング、ブートストラップ集約（バギング）、ＡｄａＢｏｏｓｔ、スタック一般化（ブレンド）、勾配ブースティングマシン（ＧＢＭ）、勾配ブースティング回帰ツリー（ＧＢＲＴ）、ランダムフォレスト）、ＳＶＭ（サポートベクトルマシン）、教師あり学習、非教師あり学習、半教師あり学習など、を含むことが可能であるが、これらに限定されない。
【００８１】
アーキテクチャの追加の例には、ＲｅｓＮｅｔ７０、ＲｅｓＮｅｔ１０１、ＶＧＧ、ＤｅｎｓｅＮｅｔ、ＰｏｉｎｔＮｅｔなどのニューラルネットワークが含まれる。
【００８２】
図６は分散されたシステムとして示されているが、代替の例では、車両６０２のコンポーネントは演算装置６４２に関連付けられることが可能であり、および／または演算装置６４２のコンポーネントは車両６０２に関連付けられることが可能である、という事に注意すべきである。すなわち、車両６０２は演算装置６４２に関連付けられた機能のうちの１つまたは複数を実行でき、逆もまた同様である。
【００８３】
図７は、１つまたは複数のマスクを出力するように機械学習アルゴリズムを訓練するための例示的なプロセスを示している。いくつかの例では、プロセス５００のいくつかまたはすべては、本明細書で説明されるように、図６の１つまたは複数の構成要素によって実行されることが可能である。
【００８４】
工程７０２において、プロセスは、環境内の少なくとも１つのオブジェクトを表すセンサデータ（例えば、ＬＩＤＡＲデータ、画像データなど）の取り込みを含むことが可能である。例えば、環境は、車両、歩行者、建物、動物などのオブジェクトを含んでもよいが、これらに限定されない。
【００８５】
工程７０４において、プロセスは、少なくとも部分的にセンサデータに基づいて、少なくとも１つのオブジェクトに関連付けられた三次元境界ボックスを生成することを含むことが可能である。例えば、境界ボックスは、画像データで表されるオブジェクトの範囲（長さ、幅、高さなど）を表すことが可能である。いくつかの実例では、工程７０４は、センサデータの少なくとも一部をボクセル空間に関連付けることを含むことが可能である。いくつかの実例では、ボクセル空間のボクセルには、ＬＩＤＡＲデータを表す任意の数の特徴を含めることが可能である。例えば、ボクセルの特徴は、ボクセルに関連付けられたＬＩＤＡＲデータの平均、１つまたは複数のデータの自由度（例えば、ｘ方向、ｙ方向、ｚ方向など）に関連する１つまたは複数の共分散行列、セマンティックセグメンテーション確率（例えば、１つ以上のＬＩＤＡＲデータポイントが、車両、動物、歩行者、建物を含むがこれらに限定されない１つ以上のオブジェクトを表す確率等）、ボクセルの占有の表示、レイキャスティング情報、空きスペースの表示、バックグラウンド減算情報など、を含んでもよいが、これらに限定されない。
【００８６】
工程７０６において、プロセスは、訓練データとして、少なくとも部分的に三次元境界ボックスに基づいた、少なくともオブジェクト上に関連付けられた領域よりも小さい領域を表すマスクであって、ボクセル空間のトップダウン視点に関連付けられたマスクを生成することを含めることができる。
【００８７】
例えば、マスクは、ボクセル空間で表されるオブジェクトの地上における真の境界ボックスよりも小さい表現を表してもよい。
【００８８】
工程７０８において、プロセスは、十分な訓練データがあるかどうかを決定することを含むことが可能である。noの場合、プロセスは、工程７０２に戻って、追加のセンサデータを取り込み、追加の境界ボックスおよび／またはマスクを生成することが可能である。yesの場合、プロセスは工程７１０を続行することが可能である。
【００８９】
工程７１０において、プロセスは、訓練を含むことが可能であり、訓練データ、オブジェクトよりも小さいオブジェクトの領域を表すマスクを出力するための機械学習アルゴリズムに少なくとも部分的に基づいている。例えば、マスクは、オブジェクトの「内部」を表してもよく、そのようなマスクは、比較的高いレベルの信頼性で、実際に、特定のオブジェクトに関連付けられた、マスクに関連付けられたボクセルを表す。
【００９０】
工程７１２において、プロセスは、取り込まれたセンサデータをセグメント化するためのシステムに機械学習アルゴリズムを送信することを含むことが可能である。本明細書で論じられるように、システムは、自律型車両または、本明細書で論じられるように、マシンビジョンを利用する任意のシステムを含むことが可能である。
【００９１】
図８は、本明細書で論じられるように、センサデータに基づく位置に少なくとも部分的に基づいて自律車両に指令するための例示的なプロセス８００を示す。例えば、本明細書で説明されるように、プロセス８００の一部またはすべては、図６の１つまたは複数のコンポーネントによって実行されることが可能である。例えばプロセス８００の一部またはすべては車両６０２の１つまたは複数のコンポーネントによって実行されることが可能である。
【００９２】
工程８０２において、プロセスは自律車両によって取り込まれたセンサデータを受信することを含むことが可能である。いくつかの実例では、センサデータは、環境の地表面に関連付けられた領域を決定するために、車両６０２によって受信されることが可能である。
【００９３】
工程８０４において、プロセスは少なくとも部分的にセンサデータに基づいて、自律車両のための軌道の生成を含むことが可能である。例えば、本明細書で論じられるように、工程８０４は、オブジェクトに関連付けられたセグメンテーションデータを受信し、オブジェクト（例えば、車、歩行者など）を追跡して、セグメンテーションデータに少なくとも部分的に基づいて軌道を決定することを含むことが可能である。
【００９４】
工程８０６において、プロセスは自律車両に軌道に従うように指令することを含むことが可能である。いくつかの実例では、工程８０６は、自律車両の１つ以上のシステムへの経路、軌道、および／または制御信号を生成して、環境内での自律車両の誘導を含むことが可能である。
【００９５】
図１、図５、図７、および図８は、本開示の実施形態による例示的なプロセスを示す。これらのプロセスはロジカルフローグラフとして示され、各工程は、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装される工程のシーケンスを表す。ソフトウェアの文脈では、工程は、１つまたは複数のプロセッサによって実行されると、列挙された工程を実行する、１つまたは複数のコンピュータ可読記憶媒体に格納されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。工程が説明される順序は、限定として解釈されることを意図されておらず、説明された工程のいくつかは任意の順序および／または並行して組み合せわられ、プロセスを実装することができる。
【００９６】
［実施形態］
Ａ．システムは１つまたは複数のプロセッサと、１つまたは複数のプロセッサによって実行可能な命令を格納し、命令が実行されると、システムに以下の工程を実行させる１つまたは複数のコンピュータ可読媒体と、を備え、工程は、車両の光検出および測距（ＬＩＤＡＲ）センサを使用してセンサデータを取り込むこと（工程と）、センサデータを少なくとも三次元を含むボクセル空間に関連付けること、ボクセル空間の二次元表現を生成すること、画像チャネルの数を含む二次元表現を機械学習アルゴリズムに入力すること、機械学習アルゴリズムから、ボクセル空間内のオブジェクトを二次元で表す第１のマスクを受け取ること、第１のマスクの拡張部分の少なくとも一部に基づいて、第２のマスクを生成することであって、拡張部分は、少なくとも１つの拡張領域アルゴリズム、前記第１のマスクのサイズ、または他のオブジェクトに関連付けられた第３のマスクの交点の少なくとも一部に基づくこと、および少なくとも部分的に第２のマスクに基づいて、センサデータを、セグメント化すること、を含む。
【００９７】
Ｂ：段落Ａのシステムであって、機械学習アルゴリズムは、取り込まれたＬＩＤＡＲデータを受け取ることと第１の幅および第１の長さを有する検出されたオブジェクトを表現することとの少なくとも一部に基づいて検出されたオブジェクトに関連付けられたマスクを出力するために訓練されており、マスクは第１の幅以下の第２の幅、および第１の長さ以下の第２の長さを有する。
【００９８】
Ｃ：段落ＡまたはＢのシステムであって、疑似ピクセルは、前記ボクセル空間のボクセルに関連付けられており、前記疑似ピクセルは、前記ボクセル空間における前記ボクセルの列を表している。
【００９９】
Ｄ：段落Ｃのシステムであって、疑似ピクセルは、ボクセルの列に関連付けられた特徴を含む。
【０１００】
Ｅ：段落Ａ〜Ｄのいずれかに１つに記載のシステムであって、センサデータをセグメント化することは、第２のマスク内のボクセル空間の１つまたは複数のボクセルをクラスター化するために領域成長アルゴリズムを使用することを含む。
【０１０１】
Ｆ：方法Ａは、１つまたは複数のセンサを使用して、環境内のオブジェクトを示す、環境のセンサデータを取り込むこと、センサデータをボクセル空間に関連付けること、ボクセル空間の一部に関連付けられた第１のマスクを受け取ること、第１のマスクは、オブジェクトよりもサイズが小さい領域を表すこと、第１のマスクを拡張することによって第２のマスクを生成すること、および、少なくとも部分的に第２のマスクと、センサデータと、に基づいてセグメント化すること、を含む。
【０１０２】
Ｇ：段落Ｆの方法は、センサデータのセグメント化に少なくとも部分的に基づいて、自律車両の軌道を生成すること、および、少なくとも部分的に軌道に基づいて、環境を横断する自律車両を制御すること、を含む。
【０１０３】
Ｈ：段落ＦまたはＧの方法は、機械学習アルゴリズムの中にボクセル空間の二次元表現を入力することと、第１のマスクとして、機械学習アルゴリズムの出力を受け取ることと、をさらに含む。
【０１０４】
Ｉ：段落Ｈの方法であって、ボクセル空間の二次元表現は、少なくともボクセル空間の高さと1つまたは複数の特徴の一部とに基づく、チャネルの数を有する画像を含む。
【０１０５】
Ｊ：段落Ｉの方法であって、１つまたは複数の特徴は、センサデータの平均、センサデータがボクセルに関連付けられた回数、センサデータの共分散、ボクセルが１つまたは複数の分類に属する確率、ボクセルに関連付けられたレイキャスティング情報、または、ボクセルの占有、を含む。
【０１０６】
Ｋ：段落Ｆ〜Ｊのいずれかに１つに記載の方法であって、１つまたは複数のセンサは、１つまたは複数の光検出および測距（ＬＩＤＡＲ）センサを含む。
【０１０７】
Ｌ：段落Ｆ〜Ｋのいずれかに１つに記載の方法であって、第１のマスクは、センサデータに関連付けられた分類データ上の、少なくとも一部に基づいて、生成される。
【０１０８】
Ｍ：段落Ｌの方法であって、分類データは、車両、自転車、または歩行者のうちの
少なくとも１つまたは複数である。
【０１０９】
Ｎ：段落Ｆ〜Ｍのいずれかに１つに記載の方法であって、第２のマスクを生成することは、第１のマスクの拡張部分と、ボクセル空間に関連付けられた他のオブジェクトに関連付けられた第３のマスクと、における交点の少なくとも一部に基づくことを含む。
【０１１０】
Ｏ：段落Ｆ〜Ｎのいずれかに１つに記載の方法であって、センサデータをセグメント化することは、第２のマスクに関連付けられたボクセル空間の１つまたは複数のボクセルを関連付けることを含む。
【０１１１】
Ｐ：Ａは、１つまたは複数のプロセッサによって実行可能な命令を格納する非一時的なコンピュータ可読媒体であって、命令が実行されると、１つまたは複数のプロセッサに、自律車両上の１つまたは複数のセンサから環境のセンサデータを受け取ることと、センサデータをボクセル空間に関連付けることと、ボクセル空間の一部分に関連付けられており、第２の視点を使用して、少なくともオブジェクトの一部分を表している第１のマスクを受け取ることと、第１のマスクを拡張することにより、第２のマスクを生成することと、少なくとも第２のマスクの一部に基づいて、センサデータをセグメント化することと、を含む工程を実行させる。
【０１１２】
Ｑ：段落Ｐに記載の非一時的なコンピュータ可読媒体であって、センサデータをセグメント化することは、ボクセル空間の１つまたは複数のボクセルを第２のマスクに関連付けることを含む。
【０１１３】
Ｒ：段落ＰまたはＱに記載の非一時的なコンピュータ可読媒体であって、工程は、第１のマスクの拡張部とボクセル空間内の他のオブジェクトに関連付けられた第３のマスクとにおける交点の少なくとも一部に基づいて、第２のマスクを生成すること、をさらに含む。
【０１１４】
Ｓ：段落Ｐ〜Ｒのいずれか１つに記載の非一時的なコンピュータ可読媒体であって、工程は、機械学習アルゴリズムの中にボクセル空間を、二次元表現として、入力することと、機械学習アルゴリズムの出力を、第１のマスクとして、受け取ることと、を含み、二次元表現は、ボクセル空間の一次元に関連付けられた長さと、ボクセル空間の二次元に関連付けられた幅と、ボクセル空間の三次元上におけるセンサデータの平均、センサデータの共分散、センサデータの観測の回数、占有率、またはセマンティック分類に関連付けられた１つまたは複数の確率の１つまたは複数の特徴の少なくとも一部に基づくチャネルの数と、を有する疑似画像を含む。
【０１１５】
Ｔ：段落Ｐ〜Ｓのいずれか１つに記載の非一時的なコンピュータ可読媒体であって、工程は、センサデータをセグメント化することの少なくとも一部に基づいて、自律車両の軌道を生成することと、軌道の少なくとも一部に基づいて、環境を横断する自律車両を制御することと、さらに含む。
【０１１６】
上述の例示の条項は、１つの特定の実装に関して論じられたが、この文書のコンテキストにおいて、例示の条項におけるコンテンツはまた、方法、デバイス、システム、および／またはコンピュータ可読媒体を介して実装できると、理解されるべきである。
【０１１７】
本明細書で説明される技術における１つまたは複数の例が説明されてきたが、様々な変更、追加、置換、およびそれらの同等物が、本明細書で説明された技術の範囲内に含まれる。
【０１１８】
例示の説明では、本明細書の一部を形成する添付の図面を参照するが、これは例示として請求される主題の具体的な例を示す。他の例を使用することが可能であり、構造的変更などの変更または代替を行うことが可能であることを理解されたい。そのような例、変更または代替は、意図された請求された主題に関する範囲から必ずしも逸脱しない。本明細書のステップは特定の順序で提示されることが可能であるが、場合によっては、説明するシステムおよび方法の機能を変更することなく、特定の入力が異なる時間または異なる順序で提供されるように順序を変更されることが可能である。開示された手順はまた、異なる順序で実行されることが可能である。
【０１１９】
さらに、本明細書にある様々な計算は開示された順序で実行される必要はなく、計算の代替順序を使用する他の例は容易に実装されることが可能である。並べ替えに加えて、計算はまた、サブ計算に分解されて同じ結果を得ることが可能である。
【図１】
2021522585.tif 000003
【図２】
2021522585.tif 000004
【図３Ａ】
2021522585.tif 000005
【図３Ｂ】
2021522585.tif 000006
【図３Ｃ】
2021522585.tif 000007
【図４Ａ】
2021522585.tif 000008
【図４Ｂ】
2021522585.tif 000009
【図５】
2021522585.tif 000010
【図６】
2021522585.tif 000011
【図７】
2021522585.tif 000012
【図８】
2021522585.tif 000013
【国際調査報告】
2021522585.tif 000014