IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ズークス インコーポレイテッドの特許一覧

特表2023-547781LIDARデータに基づく地上高を推定する方法
<>
  • 特表-LIDARデータに基づく地上高を推定する方法 図1
  • 特表-LIDARデータに基づく地上高を推定する方法 図2
  • 特表-LIDARデータに基づく地上高を推定する方法 図3A
  • 特表-LIDARデータに基づく地上高を推定する方法 図3B
  • 特表-LIDARデータに基づく地上高を推定する方法 図4
  • 特表-LIDARデータに基づく地上高を推定する方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-14
(54)【発明の名称】LIDARデータに基づく地上高を推定する方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20231107BHJP
   G08G 1/16 20060101ALI20231107BHJP
【FI】
G06T7/00 650A
G06T7/00 350C
G08G1/16 C
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023519848
(86)(22)【出願日】2021-10-07
(85)【翻訳文提出日】2023-03-30
(86)【国際出願番号】 US2021053965
(87)【国際公開番号】W WO2022081414
(87)【国際公開日】2022-04-21
(31)【優先権主張番号】17/068,425
(32)【優先日】2020-10-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】アルチュール ダニエル コステア
(72)【発明者】
【氏名】ロバート エヴァン マヒュー
(72)【発明者】
【氏名】デイビッド ファイファー
(72)【発明者】
【氏名】ズン ワン
【テーマコード(参考)】
5H181
5L096
【Fターム(参考)】
5H181AA01
5H181BB04
5H181BB20
5H181CC02
5H181CC03
5H181CC04
5H181CC11
5H181CC12
5H181CC14
5H181CC27
5H181EE02
5H181FF04
5H181FF13
5H181FF22
5H181FF27
5H181FF32
5H181LL01
5H181LL02
5H181LL09
5H181MC25
5L096AA09
5L096BA04
5L096DA02
5L096FA64
5L096FA66
5L096FA69
5L096GA30
5L096HA11
5L096KA04
(57)【要約】
ライダーデータに基づいて地上高を推定するための技法が、本明細書で記述されている。車両は、環境を通過する際に、ライダーデータを捕捉する。ライダーデータは、ボクセル空間に三次元データとして関連付けることができる。意味情報を決定し、ライダーデータおよび/または三次元ボクセル空間に関連付けることができる。マルチチャンネル入力画像は、三次元ボクセル空間に基づいて決定することができ、機械学習(ML)モデルに入力することができる。MLモデルは、環境の地表面に関連付けられた高度データおよび/または分類データを決定するためのデータを出力することができる。高度データおよび/または分類データは、地表面に関連付けられたメッシュを決定するために利用することができる。メッシュは、車両を制御するために、および/または車両に近接するさらなるオブジェクトを特定するために使用することができる。
【特許請求の範囲】
【請求項1】
車両に関連付けられたセンサーによって捕捉された環境のセンサーデータを受信するステップと、
前記センサーデータに少なくとも部分的に基づいて、マルチチャネル画像データを決定するステップと、
前記マルチチャネル画像データを機械学習(ML)モデルに入力するステップと、
前記MLモデルから受信された出力データに基づいて、前記環境の地表面に関連付けられた高度データまたは分類データのうちの少なくとも一つを決定するステップと、
前記高度データまたは前記分類データのうちの少なくとも一つに基づいて前記車両を制御するステップと
を備えることを特徴とする、方法。
【請求項2】
前記センサーデータを三次元ボクセル空間に関連付けるステップと、
前記センサーデータに少なくとも部分的に基づいて、意味情報を決定するステップと、
前記意味情報を前記三次元ボクセル空間に関連付けるステップと、
前記三次元ボクセル空間に少なくとも部分的に基づいて、前記マルチチャネル画像データを決定するステップと
をさらに備えることを特徴とする、請求項1に記載の方法。
【請求項3】
前記出力データとして、前記高度データまたは前記分類データのうちの少なくとも一つを含む、第二のマルチチャネル画像データを決定するステップと、
前記高度データおよび前記分類データに少なくとも部分的に基づいて、前記地表面に関連付けられたメッシュを決定するステップと
をさらに備え、
前記車両を制御するステップは、前記メッシュに少なくとも部分的に基づいて、前記車両を制御するステップを含む
ことを特徴とする、請求項1または2に記載の方法。
【請求項4】
前記車両は、自律車両であり、前記センサーデータは、前記自律車両のライダーセンサーによって捕捉されたライダーデータを含むことを特徴とする、請求項1ないし3の何れか一つに記載の方法。
【請求項5】
前記高度データまたは前記分類データのうちの少なくとも一つに基づいて、第二のマルチチャネル画像データを決定するステップと、
前記センサーデータの要素について、前記高度データの一部からの距離を決定するステップと、
前記距離に少なくとも部分的に基づいて、前記要素がオブジェクトに関連付けられていることを決定するステップと
をさらに備えることを特徴とする、請求項1ないし4の何れか一つに記載の方法。
【請求項6】
前記センサーデータの要素が前記環境の地表面に関連付けられている確率を決定するステップをさらに備え、
前記マルチチャネル画像データが前記確率を含む
ことを特徴とする、請求項1ないし5の何れか一つに記載の方法。
【請求項7】
前記出力データに少なくとも部分的に基づいて、前記環境の地表面に関連付けられたメッシュを決定するステップ
をさらに備えることを特徴とする、請求項1ないし6の何れか一つに記載の方法。
【請求項8】
前記出力データは、第二のマルチチャネル画像データであり、
前記第二のマルチチャネル画像データに基づいて、地上分割情報を決定するステップ
をさらに備えることを特徴とする、請求項1ないし7の何れか一つに記載の方法。
【請求項9】
前記高度データに少なくとも部分的に基づいて、メッシュ頂点を決定するステップであって、前記高度データは、前記MLモデルによって出力される第二のマルチチャネル画像データに関連付けられている、ステップと、
前記メッシュ頂点に少なくとも部分的に基づいて、ポリゴンを決定するステップと
をさらに備えることを特徴とする、請求項1ないし8の何れか一つに記載の方法。
【請求項10】
一つまたは複数のプロセッサによって実行されると、一つまたは複数の演算装置に、請求項1ないし9の何れか一つに記載の方法を実行させる、命令を格納する一つまたは複数の非一時的なコンピュータ可読媒体。
【請求項11】
一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサによって実行可能な命令を格納する一つまたは複数のコンピュータ可読媒体であって、前記命令は、実行されると、システムに
車両に関連付けられたセンサーによって捕捉された環境のセンサーデータを受信するステップと、
前記センサーデータに少なくとも部分的に基づいて、マルチチャネル画像データを決定するステップと、
前記マルチチャネル画像データを機械学習(ML)モデルに入力するステップと、
前記MLモデルから受信された出力データに基づいて、前記環境の地表面に関連付けられた高度データまたは分類データのうちの少なくとも一つを決定するステップと、
前記高度データまたは前記分類データのうちの少なくとも一つに基づいて前記車両を制御するステップと
を含む操作を実行させる、一つまたは複数のコンピュータ可読媒体と
を備えることを特徴とする、システム。
【請求項12】
前記操作は、
前記センサーデータを三次元ボクセル空間に関連付けるステップと、
前記センサーデータに少なくとも部分的に基づいて、意味情報を決定するステップと、
前記意味情報を前記三次元ボクセル空間に関連付けるステップと、
前記三次元ボクセル空間に少なくとも部分的に基づいて、前記マルチチャネル画像データを決定するステップと
をさらに含むことを特徴とする、請求項11に記載のシステム。
【請求項13】
前記出力データとして、前記高度データまたは前記分類データのうちの少なくとも一つを含む、第二のマルチチャネル画像データを決定するステップと、
前記高度データおよび前記分類データに少なくとも部分的に基づいて、前記地表面に関連付けられたメッシュを決定するステップと
をさらに備え、
前記車両を制御するステップは、前記メッシュに少なくとも部分的に基づいて前記車両を制御するステップを含む
ことを特徴とする、請求項11または12に記載のシステム。
【請求項14】
前記操作は、
前記センサーデータを三次元ボクセル空間に関連付けるステップと、
前記三次元ボクセル空間の列に少なくとも部分的に基づいて、前記マルチチャネル画像データの一部を決定するステップと
をさらに含むことを特徴とする、請求項11ないし13の何れか一つに記載のシステム。
【請求項15】
前記操作は、
前記高度データまたは前記分類データのうちの少なくとも一つに基づいて、第二のマルチチャネル画像データを決定するステップと、
前記センサーデータの要素について、前記高度データの一部からの距離を決定するステップと、
前記距離に少なくとも部分的に基づいて、前記要素がオブジェクトに関連付けられていることを決定するステップと
をさらに含むことを特徴とする、請求項11ないし14の何れか一つに記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、LIDARデータに基づく地上高(ground height)を推定する方法に関する。
【背景技術】
【0002】
[関連出願の相互参照]
この特許出願は、2020年10月12日に出願され、「LIDARデータに基づく地上高を推定する方法」と題する米国特許出願第17/068,425号に対する優先権を主張し、その内容全体が参照により本明細書に組み込まれる。
【0003】
車両は、種々のセンサーからのデータを使用して、環境内の地上高を推定することができる。幾つかの例では、そのようなセンサーデータは、ライダーデータ(lidar data)を含むことができる。しかしながら、センサーデータは、環境における幾つかの部分には利用することができないか、または正確でない場合があり、これより、結果となるマップ(map)にギャップ(gaps)またはホール(holes)が残る場合がある。マップは、作成して検証することが困難である可能性があり、不完全である可能性があり、これにより、環境を通行するためにマップを使用する場合に問題が生じる可能性がある。
【図面の簡単な説明】
【0004】
詳細な説明は、添付の図を参照して記述される。図面において、参照番号における左端の数字は、参照番号が最初に現れる図面を識別する。異なる図における同じ参照番号の使用は、類似または同一のコンポーネントまたは特徴を示している。
図1】ライダーデータに基づいて地上高を推定するステップと、地上高に少なくとも部分的に基づいて車両を制御するステップとの、プロセス例に関する絵入りフロー図(pictorial flow diagram)である。
図2】ボクセル空間に基づいて機械学習(ML)モデル(machine learned model)に第一のマルチチャネル画像データ(multi-channel image data)を入力するステップと、MLモデルから第二のマルチチャンネルデ画像データを受信するステップとの、プロセス例に関する図である。
図3A】メッシュ(mesh)および/または地上分割情報(ground segmentation information)に基づいて、オブジェクト(object)の高度を出力するステップのプロセス例に関する図である。
図3B】メッシュおよび/または地上分割情報に基づいて、オブジェクトの高度を出力するステップのプロセス例に関する図である。
図4】本明細書に記載された技法を実装するためのシステム例に関するブロック図である。
図5】地上高を推定し、地上高に少なくとも部分的に基づいて車両を制御するためのプロセス例を示す図である。
【発明を実施するための形態】
【0005】
[詳細な説明]
環境内の地上高を推定し、またはそうでなければ、それを決定するための技法が、本明細書で説明される。例えば、ライダーデータは、車両に関連付けられた(associated with a vehicle)ライダーシステム(lidar system)から受信することができ、ボクセル空間(voxel space)に関連付けることができ、これにより、三次元データを表すボリューム要素(「ボクセル(voxels)」のグリッドにデータを含めることができる。意味情報(semantic information)は、ライダーデータに基づいて決定することができ、意味情報は、ライダーデータおよび/または三次元ボクセル空間に関連付けることができる。幾つかの例では、意味情報は、ライダー点(lidar point)またはボクセルが環境内の地表面に関連付けられている確率を表す意味情報を含むことができる。多次元入力画像(multi-dimensional input image)は、三次元ボクセル空間に基づいて決定し、機械学習(ML)モデルに入力することができる。MLモデルは、高度データ(height data)および/または分類データ(classification data)を含むことができるデータを出力することができる。メッシュは、MLモデルによって出力されるデータに基づいて決定することができ、車両は、メッシュに基づいて車両を制御することができる。
【0006】
上述されるように、ライダーデータ(または、他の深度データ(depth data))は、三次元ボクセル空間において表すことができる。ボクセルの列(column)などの三次元空間の領域について、特徴データ(feature data)を決定することができる。例えば、特徴データには、(列に関連付けられたライダー点について)平均高度(average height)、最大高度(maximum height)、最小高度(minimum height)、共分散(covariance)、反射率(reflectivity)、表面法線(surface normal)、ライダー点の個数(number of lidar points)などを含めることができるが、これらに限定されない。幾つかの例では、三次元ボクセル空間に関連付けられた一つまたは複数の特徴は、多次元入力画像の層として符号化し、またはそうでなければ格納することができる。そのため、機械学習モデルへの入力向けに、データを効率的に表すことができる。
【0007】
機械学習モデルは、多次元入力データを受信するように訓練することができ、環境の領域における高度および/または分類を表す多次元出力データを出力することができる。幾つかの例では、入力データが領域に関連付けられていない場合でさえ、MLモデルは、高度および/または分類を出力し、これによって領域に関連付けられた高度または分類の推定を提供することができる。機械学習モデルは、現在存在するマップ、手書きの注釈付きデータ(hand-annotated data)、または車両が環境を通過し、リアルタイムで(in real-time)環境の地図を作成する際に、これによって種々の距離でデータを提供し、奥行き(perspectives)を表示することに基づいて訓練することができる。
【0008】
ライダーデータおよびMLモデルを利用して、地上高を推定することにより、車両の演算装置(computing device)の性能(functioning)は、多数の方法で改善することができる。MLモデルは、車両の環境に関連付けられたデータを決定するために利用することができる。そのデータは、MLモデルに入力することができ、セル(cells)を含むことができ、各セルは、ライダーデータが表現されるボクセル空間の列に関連付けられている。MLモデルは、セルを含むデータを出力することができ、MLモデルによって出力されるデータの各セルは、MLモード(mode)に入力されるデータのセルに関連付けられている。MLモデルによって出力されるデータの各セルには、そのセルに関連付けられた高度および/または分類を含めることができる。MLモデルによって決定されたデータは、リアルタイムで生成することができ、手動で調整されたデータ(hand-tuned data)よりも堅牢で正確にすることができる。例えば、MLモデルによって出力されるデータは、環境に関連付けられた、より正確な情報を提供することができ、これは、環境内の地表面に関連付けられたメッシュを決定するために使用することができる。メッシュは、メッシュ頂点(vertexes)を含むことができ、各メッシュ頂点は、MLモデルによって出力されるデータのセルに関連付けられた高度に関連付けられている。既存の技法、または静的なマップに従って地表面を推定するために利用されている、手動で調整されたマップとは対照的に、MLモデルによって出力されるマップデータは、メッシュにおける周囲の領域に関連付けられた情報をより正確に決定するために利用することができる。地表面の推定における精度を向上すると、オブジェクトを決定するためのクラスタリング操作(clustering operations)、オブジェクトの分類、環境内の車両の航法(navigation)などが改善される。本明細書で説明される技法は、車両における主要なAI内で利用することができ、多数の追加的な方法で演算装置の性能を改善することができる。ある場合には、メッシュの周辺領域に関連付けられた情報に基づいて自律車両(autonomous vehicle)を操作することは、自律車両の安全性(safety)および効率性(efficiency)を向上することができる。ある場合には、認識システム(perception system)を利用して、メッシュを決定することは、自律車両を制御するための軌道(trajectories)の生成が簡素化され、より正確になることを許容することができる。
【0009】
本明細書で説明される技法は、多数の方法で実装することができる。後続する図を参照して、実装例を以下に提供する。自律車両に関連して説明されるが、本明細書に記載される方法(methods)、装置(apparatuses)、およびシステムは、種々のシステムに適用することができ、自律車両に限定されない。別の例では、この技法は、航空(aviation)もしくは航海(nautical)に関連して、または音声データ(audio data)を使用する任意のシステムで利用することができる。さらに、ライダーデータに関連して記載されているが、本明細書で説明される技法は、飛行時間センサー(Time-of-Flight sensors)、RGB-Dカメラ、画像データから決定される深度データなどの、任意の深度データを用いて使用することができる。さらには、本明細書で記載される技法は、(例えば、センサーを使用して捕捉された)実際のデータ、(例えば、シミュレータによって生成された)シミュレーションのデータ、またはこれら二つの任意の組み合わせで使用することができる。
【0010】
図1は、ライダーデータに基づいて地上高(ground height)(すなわち、地表面高度(ground surface height))を推定するステップと、地上高に少なくとも部分的に基づいて車両を制御するステップとの、プロセス例に関する絵入りフロー図100である。操作102は、車両(例えば、自律車両など)の認識システムに関連して動作するライダーセンサーにより、環境のライダーデータ、およびライダーデータに関連付けられた意味情報を受信するステップを含むことができる。ライダーデータに関連して記載されているが、操作102は、任意の三次元データ、または深度成分(depth component)を含むデータを受信するステップを含むことができる。意味情報には、例えば、一つまたは複数の意味分類、ラベル、または分割情報(segmentation information)を含めることができる。ある場合には、操作102は、認識システムに関連して動作する複数のライダーセンサーから複数のライダーデータセットを受信するステップを含むことができる。ある場合には、操作102は、二つ以上のライダーセンサー(lidar sensors)からのデータを(および/または一定期間に亘って)単一のライダーデータセットに結合または融合すること(「メタスピン(meat spin)」とも呼ばれる)を含むことができる。ある場合には、操作102は、一定期間に亘るなどの処理のためにライダーデータの一部を抽出するステップを含むことができる。ある場合には、操作102には、レーダーデータ(radar data)(または、他のセンサーデータ)を受信するステップと、レーダーデータをライダーデータに関連付けて、環境に関するより詳細な表現を生成するステップとを含めることができる。
【0011】
上述されるように、ライダーデータ(例えば、ライダーデータセットなど)は、意味情報に関連付けることができる。ライダーデータを決定し、それを意味情報と関連付けるための、このような技術の例は、例えば、「センサーデータ分割(Sensor Data Segmentation)」と題し、2017年11月21日に出願された米国特許出願第15/820,245号で説明され、その全体が参照により本明細書に組み込まれている。
【0012】
意味情報は、追従および/または軌道計画のために環境内の静的なオブジェクト、および/または動的なオブジェクトに関連付けることができる。地面(ground)、静的オブジェクト、および/または動的オブジェクトに対応する環境の部分を識別し、そのような意味情報を用いてそれをラベル付けすることができる。幾つかの例では、データは、意味情報に少なくとも部分的に基づいて分割することができる。ある場合には、動的オブジェクトのリストを追従システム(tracking system)に提供して、各動的オブジェクトの軌跡(trajectory)を経時的に追跡し、および/または予測することができる。ある場合には、静的オブジェクトのリスト、および/または地面の識別をプランナーシステム(planner system)に提供して、車両が走行可能な表面を通行し、本明細書で識別される静的オブジェクトを回避し、またはそうでなければ、それを考慮するための軌道を生成することができる。
【0013】
ライダーデータセットの例を例104に例証し、これには、自動車(cars)、トラック(trucks)、道路(roads)、建物(buildings)、バイク(bikes)、歩行者(pedestrians)等などの、環境内の種々のオブジェクトに関連付けられたライダーデータ(例えば、点群(point group)など) を含めることができる。環境は、任意数のオブジェクトを含むことができる。
【0014】
操作106は、ライダーデータおよび意味情報をボクセル空間(例えば、三次元ボクセル空間など)に関連付けるステップを含むことができる。一例では、データが経時的に蓄積されると、操作106は、メタスピン(例えば、ライダーデータセットなど)をボクセル空間に配列させるステップを含むことができる。例えば、操作106は、メタスピンに適用する変換を決定して、メタスピンをボクセル空間に配列させるステップを含むことができる。ライダースキャン(lidar scan)によって捕捉されているデータは、以前のライダースキャンからのデータと共にボクセル空間内に集約することができる。以下に説明されるように、その後に、平均高度(average height)および/または共分散(covariance)の決定の一部として、経時的に収集されているデータを使用することができる。特に、操作106は、データにおける既存の蓄積に適合する平面までの、観測点の距離を決定することにより、捕捉されたデータを、ボクセル空間に蓄積されたデータに対応付けるステップを含むことができる。幾つかの例では、この変換は、地球地図(global map)上の場所に対する車両の位置の間における誤差を低減させることができる。
【0015】
幾つかの例では、メタスピン(例えば、ライダーデータセットなど)の現行スピンに関連付けられたデータ(例えば、現行スピンにおける実際のライダー点)は、ボクセル空間に関連付けることができる。このデータは、どのボクセルが相互に重なり合っているかどうかを判定し、ボクセル空間における個々の点についてのデータを決定するために使用することができる。例えば、個々のボクセルは、データ点の個数、平均強度、データの平均x値(x-value)、データの平均y値(y-value)、データの平均z値(z-value)、および/または個々のボクセルに関連付けられたライダーデータに基づく共分散行列(covariance matrix)を表すデータを含み得る。各ボクセルは、隣接するボクセルを評価することに少なくとも部分的に基づいて、意味情報に関連付けることができる。ライダー点が車両と関連付けられている確率(例えば、確率80%)、ライダー点が歩行者に関連付けられている確率(例えば、確率20%)、ライダー点が自転車に関連付けられている確率(例えば、確率10%)等などの、複数の意味クラス(semantic classes)のうちの一つに、ライダー点が関連付けられるデータ確率を決定するために、意味情報は使用することができる。このデータは、ボクセル空間に関連付けることができ、追加または代替で、ボクセル空間に配列されているメタスピンに関連付けることができる。
【0016】
ある場合には、操作106は、点群における個々の点を個々のボクセルに対応付けるステップを含むことができる。ある場合には、操作106は、例えば、ライダーデータが車両などの移動プラットフォームによって捕捉されて、例えば、ライダーデータを静止基準点(stationary reference point)に変換する事象において、ライダーデータに関連付けられた動きベクトル(motion vector)を差し引くステップを含むことができる。すなわち、ある場合には、ライダーデータは、例えば、地球地図に対して固定されているボクセル空間に関連付けることができる。例として、ライダーデータは、慣性系(inertial frame)または車両相対系(vehicle-relative frame)、および地球系(global frame)の間における座標系(coordinate frames)を決定することにより、ボクセル空間に関連付けることができる。ライダーデータは、検出されたエンティティ(例えば、追跡されたオブジェクト(tracked object)など)、および/またはエンティティが配置されている環境に関連付けられた一つまたは複数の特性を示すことができる。幾つかの例では、エンティティに関連付けられた特性は、x位置(x-position)(地球的位置、および/または局所的位置)、y位置(y-position)(地球的位置、および/または局所的位置)、z位置(z-position)(地球的位置、および/または局所的位置)、向き(例えば、ロール(roll)、ピッチ(pitch)、ヨー(yaw)など)、エンティティの種類(例えば、分類など)、エンティティの速度、エンティティの加速度、エンティティの範囲(サイズ)等を含むことができるが、これらに限定されない。
【0017】
上述されるように、操作106は、意味情報をボクセル空間に関連付けるステップを含むことができる。例えば、ライダーデータは、一つまたは複数の意味分類(例えば、ラベルなど)に関連付けることができる。ラベルは、ボクセル、またはボクセル空間における列110内のライダー点に適用することができる。ラベルは、表面および/またはオブジェクトの種類(例えば、歩行可能、走行可能など)に関連付けることができる。例えば、ラベルは、歩行可能な表面、走行可能な表面、オブジェクト等に関連付けることができる。
【0018】
幾つかの例では、ライダーデータは、ライダーデータが意味情報に関連付けられている確率に少なくとも部分的に基づいて、ボクセル空間に関連付けることができる。そのため、操作106は、データを除去するか、またはデータを分離して、一つもしくは複数の意味分類(semantic classification)に関連付けられるためのフィルタ処理ステップを含むことができる。例えば、意味情報は、特定のボクセルまたはライダーデータ点が分類に関連付けられている確率を含むことができる。ボクセルまたはライダー点の確率が閾値を下回っている場合、操作106は、ボクセル空間におけるボクセルまたはライダー点を除去するステップ、またはそれを含めないステップを含むことができる。
【0019】
ボクセル空間(例えば、三次元ボクセル空間など)の例が、例108に例証されている。幾つかの例では、ボクセル空間に任意数のボクセルを含めることができるが、ボクセル空間には、三次元(例えば、x、y、z)の各々に数十、数百、またはそれ以上のボクセルを含めることができる。ある場合には、ボクセル空間は、ライダーデータセットの 原点(origin)、または仮想原点(virtual origin)の周辺にある領域などの、物理的環境に対応することができる。例えば、ボクセル空間は、幅100メートル、長さ100メートル、高さ100メートルの領域を表すことができる。
【0020】
さらに、ボクセル空間における各ボクセルは、各次元における50センチメートルなどの、物理的な領域を表すことができる。この開示に関連して理解することができるように、ボクセル空間は、環境の任意領域を表すことができ、個々のボクセルも同様に、任意のボリュームを表すことができる。ある場合には、ボクセルは、ボクセル空間全体で均一なサイズにすることができる一方で、ある場合には、ボクセットの体積(volume)は、データの原点に対するボクセルの位置に基づいて変化する可能性がある。例えば、ライダーセンサーからの距離が増加するにつれて、ライダーデータの密度が減少する可能性があるため、ボクセル空間におけるボクセルのサイズは、ボクセルからライダーセンサー(または、複数のライダーセンサーを表す原点)までの距離に比例して増加する可能性がある。
【0021】
操作112は、 ボクセル空間に基づいてマルチチャネル画像データ(例えば、二次元入力グリッドなど)を決定するステップを含むことができる。マルチチャネル画像データの各領域、または各部分は、ボクセル空間の列(または、他の次元)に関連付けられた二次元領域として決定することができる。幾つかの例では、マルチチャネル画像データの各領域は、ボクセル空間の列に関連付けられた二次元表現のセルにすることができる。二次元入力グリッドの各領域は、50センチメートル×50センチメートルの領域に関連付けることができ、特徴データ(feature data)を含むことができる。各領域は、一つまたは複数の隣接する(adjacent)(例えば、近隣の(neighbor)など)領域と関連付ける(例えば、隣接して配置する)ことができる。
【0022】
マルチチャネル画像データの一例(例えば、第一のマルチチャネル画像データなど)は、例114に例証されている。第一のマルチチャネル画像データは、複数の領域116を含むことができる。領域116の各々は、二次元表現の領域として決定することができ、ボクセル空間の列(例えば、110など)に関連付けることができる。例えば、領域116は、領域116に関連付けられた二次元情報に変換されている列110に関連付けられた三次元情報に基づいて、列110に関連付けることができる。
【0023】
領域の各々は、特徴データを含むことができる。限定ではなく例として、特徴データは、最大高度、最低の高度、平均高度、共分散(例えば、共分散行列など)、表面法線(surface normal)、および/またはボクセルに関連付けられた分類を含むことができる。特徴データは、例えば、領域116に関連付けることができる。図2について以下に記載されるように、領域の各々に関する特徴データは、特徴データ206についてと同様に決定することができる。
【0024】
操作118は、マルチチャネル画像データをMLモデルに入力するステップを含むことができる。上述されているように、MLモデルに入力されるマルチチャネル画像データは、地上分類確率(ground classification probability)を含む意味情報に関連付ける(例えば、組み合わせる/統合する)ことができる。代替的または追加的に、マルチチャネル画像データは、車両分類確率、および/または歩行者分類確率に関連付ける(例えば、組み合わせる/統合する)ことができる。
【0025】
幾つかの例では、地上分類確率は、地表面に関連付けられている第一のマルチチャネル画像データにおける個々のデータ点または領域の確率を示すことができる。車両分類確率は、車両の少なくとも一部分(例えば、ドア、ルーフ等)に関連付けられている、第一のマルチチャネル画像データにおける個々のデータ点または領域の確率を示すことができる。歩行者分類確率は、歩行者の少なくとも一部分(例えば、脚(leg)、胴体(torso)、頭(head)等)に関連付けられている第一のマルチチャネル画像データにおける個々のデータ点または領域の確率を示すことができる。
【0026】
幾つかの例において、第一のマルチチャネル画像データは、画像データにおける一つまたは複数の層(layers)を含むことができる。例えば、第一のマルチチャネル画像データは、第一の特徴データに関連付けられた第一の二次元層(例えば、第一のチャネルなど)、および第二の特徴データに関連付けられた第二の二次元層(例えば、第二のチャネルなど)を含むことができる。例えば、画像データの層は、ボクセル空間のボクセルの各々に関連付けられた最大高度に関連付けられた画像データの層、ボクセルの各々に関連付けられた最小高度に関連付けられた画像データの層、ボクセルの各々に関連付けられた平均高度に関連付けられた画像データの層、ボクセルの各々に関連付けられた共分散に関連付けられた画像データの層、ボクセルの各々に関連付けられた表面法線に関連付けられた画像データの層、および/またはボクセルの各々に関連付けられた分類確率に関連付けられた画像データの層を含むことができる。
【0027】
幾つかの例では、特定の分類に関連付けられたデータは、マルチチャネル画像データから省略することができるが、多次元画像データは、意味情報の複数クラスに関連付けられた層を含むことができる。
【0028】
MLモデルの例は、MLモデル120として例証されている。MLモデル120は、第一のマルチチャネル画像データを受信することができる。幾つかの例では、MLモデル120に入力される第一のマルチチャネル画像データは、ボクセル空間を表す領域(例えば、領域116など)、および領域の各々に関する特徴データ(例えば、領域116に関する特徴データなど)を含むことができる。
【0029】
操作122は、MLモデル120から、マルチチャネル画像データ(例えば、二次元出力グリッドなど)を含む出力データを受信するステップを含むことができる。MLモデル120によって出力されるマルチチャネル画像データの各セルは、高度および/または分類を含むことができる。
【0030】
MLモデル120によって出力されるマルチチャネル画像データの例(例えば、第二のマルチチャネル画像データなど)は、例126に例証されている。第二のマルチチャネル画像データは、複数の領域(例えば、領域124など)を含むことができる。MLモデル120によって出力される第二のマルチチャネル画像データの領域124の各々は、MLモデル120に入力される第一のマルチチャネル画像データにおいて対応する領域に関連付けることができる。幾つかの例では、MLモデル120によって出力される第二のマルチチャネル画像データの領域124の各々は、MLモデル120に入力される第一のマルチチャネル画像データにおいて対応するセルに関連付けられたセルとすることができる。例えば、領域124の各々は、領域116に関連付けることができ、高度および/または分類を含むことができる。
【0031】
操作128は、MLモデル120によって出力されるマルチチャネル画像データに基づいて、メッシュおよび/または地上分割情報(ground segmentation information)
を決定するステップを含むことができる。幾つかの例では、メッシュは、MLモデル120から出力されたデータに基づいて決定することができる。例えば、メッシュは、MLモデル120によって出力されるマルチチャネル画像データの各領域に関連付けられた高度および/または分類に基づいて決定することができる。幾つかの例では、任意の種々のモデル、アルゴリズム、および/または機械学習アルゴリズムは、マルチチャネル出力画像データの領域に関連付けられた高度に基づいてメッシュを作成して、表面を作成するための少なくとも三点を含むポリゴン(polygon)(多角形)(例えば、三角形など)を決定するために使用することができる。
【0032】
幾つかの例では、操作128は、メッシュへの追加として、またはメッシュの代替として、MLモデル120によって出力されるマルチチャネル画像データに基づいて、地上分割情報を決定するステップを含むことができる。地上分割情報(例えば、地上分割点など)は、メッシュについて上述されているのと同様に決定することができる。
【0033】
メッシュおよび地上分割情報の例は、例130に例証されている。メッシュおよび/または地上分割情報は、オブジェクトおよび/または地表面に関連付けられた情報を含むことができる。メッシュおよび/または地上分割情報は、MLモデル120によって出力される第二のマルチチャネル画像データの各領域に関連付けられた高度、メッシュ頂点(mesh vertex)、およびポリゴンに基づいて決定することができる。例えば、各領域に関連付けられたメッシュ頂点は、対応する高度に基づいて、マーチング・キューブ・アルゴリズム(marching cubes algorithm)を利用して決定することができる。例えば、各領域に関連付けられたポリゴンは、対応するメッシュ頂点に基づいて決定することができる。
【0034】
ある場合には、メッシュおよび/または地上分割情報は、車両に近接する環境の地表面の推定高度を表すことができる。メッシュおよび/または地上分割情報は、点群から地表面を除去し、および/または、捕捉されたデータに対して分割(segmentation)を実行するために、使用することができる。例えば、メッシュから特定の高度または距離内のデータは、地表面に関連付けられていると判定することができる。このようなデータは、地表面と関連付けられていないデータ点を残して、除去または省略することができる。残りの点は、K平均クラスタリング(K-means clustering)、最近傍(nearest neighbors)、隣接閾値(adjacency thresholds)などに基づいて、クラスタリングする(clustering)ことができる。このようなクラスタリングに基づいてオブジェクトを決定することができ、オブジェクトを経時的に追跡して、そのようなオブジェクトに関連付けられた速度(velocity)、姿勢(pose)等を決定することができる。
【0035】
操作132は、メッシュおよび/または地上分割情報に基づいて、車両を制御するステップを含むことができる。幾つかの例では、車両は、地表面に関連付けられていると決定されているメッシュおよび/または地上分割情報に基づいて、メッシュおよび/または地上分割情報に関連付けられた領域内に軌道を有するように制御することができる。メッシュおよび/または地上分割情報が地表面に関連付けられ、オブジェクト(例えば、非接地点(non-ground point)など)に関連付けられていないと決定することにより、車両は、領域に向かって、および領域を通過して航法する(navigate)ように制御することができる。
【0036】
幾つかの例では、車両は、別のオブジェクトとの衝突の可能性を低減するように制御することができる。車両は、メッシュおよび/または地上分割情報(例えば、非接地点に関連付けられていると決定されているメッシュおよび/または地上分割情報など)に基づいて、オブジェクトを回避する(例えば、周囲を迂回するなど)、または停止するように制御することができる。あるいは、車両である他のオブジェクトに基づいて、他のオブジェクトの位置を新しい位置に変更することを可能とするように、車両は、減速するように制御することができる。その後に、車両は、車両の軌跡が他のオブジェクトの新しい位置を含まないと判定することができる。そのから、車両は、軌跡に基づいて制御することができる。
【0037】
したがって、本明細書に記載されるように、ライダーデータを捕捉し、車両の周囲における環境に関連付けられた三次元ボクセル空間を表現することができる。マルチチャネル画像データは、三次元ボクセル空間に基づいて決定することができる。マルチチャネル画像データは、三次元ボクセルデータの二次元表現を含むことができる。マルチチャネル画像データは、マルチチャネル出力画像データにおける各領域の高度および/または分類を含む、マルチチャネル出力画像データを出力する、MLモデルに入力することができる。メッシュおよび/または地上分割情報は、地表面の正確かつ完全な表現を含む、MLモデルからの出力に基づいて決定することができる。メッシュおよび/または地上分割情報は、三次元ボクセルデータおよび/または第一の二次元表現におけるホール(holes)(例えば、欠落部分(missing portions)など)にも関わらず、従来の技法よりも高い精度を有して、地表面に関連付けることができる。メッシュおよび/または地上分割情報が地表面に関連付けられているかどうかを判定する精度を高めることにより、車両は、潜在的な衝突のリスクがあると不適切に判定することなく、または衝突の可能性を見逃すことなく、軌道に沿って制御することができる。車両は、潜在的な衝突の誤表示(false indications)に起因する脱線を回避することにより、より効果的に制御することができる。
【0038】
さらに、メッシュおよび/または地上分割情報を利用して、車両を制御することにより、新しい地理的領域(geographical regions)への拡張は、より簡単になる。MLモデルを用いてメッシュおよび/または地上分割情報を決定することにより、地表面予測(ground surface predictions)の結果を暗黙的に平滑化しつつ、非現実的な地表面予測を回避することができる。また、MLモデルから出力されるメッシュおよび/または地上分割情報を利用して制御されている車両は、より安全で信頼性も高くなる。人間の入力なしで自律的に制御することができる車両は、地表面を正確に判定し、計画されたルートまたは軌道をリアルタイムで決定することを、より高いレベルの効率性および精度で可能にする。
【0039】
図2は、ボクセル空間に基づいて機械学習(ML)モデルに第一の二次元画像データを入力するステップと、MLモデルから第二のマルチチャネル画像データを出力するステップとの、プロセス例に関する例証200である。
【0040】
図2に例証されるように、ボクセル空間(例えば、三次元ボクセル空間など)は、ライダーシステム(lidar system)から受信されたライダーデータに基づいて決定することができる。ボクセル空間は、図1について上述されるように、例108に例証されたボクセル空間の例についてと同様に実装することができる。
【0041】
幾つかの例では、ボクセル空間は、一つまたは複数の列110(例えば、列110(1)-110(6)など)を含むことができる。列110(1)は、例えば、地面に関連付けられた点、および車両のドア、車両のルーフ、および/または建物に関連付けられた点を含むことができる。列110(2)は、地面に関連付けられた点を含むことができる。列110(3)は、地面に関連付けられた点(例えば、閾値の最小高度未満の高度に関連付けられた点)を含むことができる。列110(4)は、車両および/または建物に関連付けられた点(例えば、閾値の最大高度を超過する高度に関連付けられた点)を含むことができる。列110(5)は、地面に関連付けられた点、ならびに/または、車両および/もしくは建物に関連付けられた点を含むことができる。列110(6)は、列110(6)に関連付けられた点がないことを示すデータを含むことができ、これにより、ボクセル空間に関連付けられたデータ(例えば、少なくとも一つまたは複数の点など)の補間(interpolation)に基づいて、地面に関連付けられたホールを埋めるために利用することができる。
【0042】
例証されているように、列110(1)は、点202および204を含む。幾つかの例では、点202は、車両または建物に関連付けられた点を表すことができる一方で、点204は、地面に関連付けられた点を表すことができる。
【0043】
上述されるように、ボクセル空間は、意味情報に関連付けることができる。例えば、このような意味情報は、ライダーデータおよび/またはボクセル空間に関連付けることができる。意味情報は、MLモデルに入力されるマルチチャネル画像データを決定するために利用することができ、MLモデルは、点が意味分類(例えば、地面、車両、歩行者、自転車、建物、ペット、群葉(foliage)等)に関連付けられている確率を示す点に関連付けられた意味分類を出力するように訓練されている。意味情報は、個々の点(例えば、点202および204など)について決定することができる。
【0044】
ボクセル空間は、ライダーシステムから受信されたライダーデータを表すことができる。ライダーデータは、ボクセル空間内で(例えば、データ点に関連付けられた個別の<x,y,z,範囲,時刻等>の値を用いて)生の点群データとして、またはデータの統計的蓄積として表すことができる。
【0045】
幾つかの例では、特徴は、特定のボクセル、ボクセル空間の特定の列について、および/またはマルチチャネル画像データに関連付けられた領域について、決定することができる。特徴には、ボクセル、列、および/もしくは領域、平均強度、ライダーデータの一部の平均x値、ライダーデータの一部の平均y値、ライダーデータの一部の平均z値、ならびに/またはライダーデータの一部に基づく共分散行列に関連付けられた多数のデータ点を含めることができる。
【0046】
幾つかの例では、マルチチャネル画像データ(例えば、二次元入力グリッド)などは、ボクセル空間に基づいて決定することができる。マルチチャネル画像データ(例えば、第一のマルチチャネル画像データなど)は、図1について上述されるように、例114に例証されるマルチチャネル画像データの例についてと同様に実装することができる。マルチチャネル画像データの各領域は、ボクセル空間の二次元表現の領域に関連付けることができ、特徴データを含むことができる。マルチチャネル画像データの各領域は、50センチメートル×50センチメートルの領域に関連付けることができる。
【0047】
幾つかの例では、ボクセル空間の各列をマルチチャネル画像データの領域に圧縮することにより、マルチチャネル画像データを決定することができる。マルチチャネル画像データは、領域116(1)-116(6)を含むことができる。マルチチャネル画像データの各領域は、ボクセル空間の列(または、他の部分)に関連付けることができる。例えば、列に関連付けられた三次元情報は、二次元情報、またはマルチチャネル二次元情報に変換することができる。上述されるように、特徴(例えば、特徴206など)は、ボクセル空間またはマルチチャネル画像データに関連付けることができる。特徴206には、最大高度、最小高度、平均高度、共分散(例えば、共分散行列など)、表面法線、および/または領域に関連付けられた分類を含めることができるが、これらに限定されない。
【0048】
幾つかの例では、特徴206の最大高度は、地表面(または任意の基準点)から列のその他の任意の点までの距離以上である、距離によって地表面から離間されている、ボクセル空間の列(例えば、列110(1))内の点(例えば、点202など)に関連付けられた高度を含むことができる。特徴206の最小高度は、地表面から列のその他の任意の点までの距離以下である、距離によって地表面から離間されている、列(例えば、点204など)に関連付けられた高度を含むことができる。例として、最小高度は、地表面にあるか、または地表面に関連付けられている可能性がある(例えば、最小高度は、地表面の高度と同等であるか、または同一である可能性がある)。ボクセル空間の列が地表面に関連付けられ、オブジェクトに関連付けられていない場合、マルチチャネル画像データにおいて対応するボクセルに関連付けられた最小高度および最大高度は、地表面に関連付けることができる(例えば、最小高度は、最大高度と同じとすることができる)。特徴206の平均高度は、地表面から列の点の各々までの距離の平均となる高度を含むことができる。
【0049】
幾つかの例では、マルチチャネル画像データの各ボクセル(例えば、局所的に平坦なボクセル)に関する特徴206の共分散には、ボクセル内のデータ(例えば、個々のライダーデータの点、および/または共分散行列上で実行される計算によって提供されるデータ(例えば、固有値分解(Eigenvalue decomposition)、または主コンポーネント分析(principle component analysis)など))に適合している表面を含めることができる。
【0050】
限定ではなく別の例として、特徴206の表面法線は、ボクセル内の点から隣接する二点までの方向を示すベクトルの外積(cross product)の法線を計算することによって決定することができる。限定ではなく別の例として、このような表面法線の決定は、個々のボクセルに関連付けられた共分散行列に対して固有値分解を実行することによって行うことができる。ある場合には、マルチチャネル画像データの各領域は、隣接領域に関連付けられた値に基づいて領域に関連付けられた表面を決定することにより、局所的に平坦な領域であると決定することができる。
【0051】
幾つかの例では、特徴206の分類確率は、地表面、もしくはオブジェクトの少なくとも一部(例えば、車両、歩行者等)に関連付けられている第一のマルチチャネル画像データにおける個々のデータ点または領域の確率を示すことができる。例えば、分類確率には、地上分類確率、車両分類確率、または歩行者分類確率を含めることができる。
【0052】
ある場合には、マルチチャネル画像データ(例えば、第一のマルチチャネル画像データなど)は、MLモデル(例えば、MLモデル120など)に入力することができる。幾つかの例では、マルチチャネル画像データには、三次元ボクセル化戦略の一部として、各スライスがボクセル空間の水平断面に関連付けられるように、一つ以上のスライス(slice)(例えば、三つのスライスなど)に薄切りされているボクセル空間に関連付けられたデータを含めることができる。スライスの各々に関連付けられた画像データの層は、二次元特徴圧縮に基づいて、マルチチャネル画像データに含めることができる。
【0053】
幾つかの例では、MLモデル120は、第一のマルチチャネル画像データを入力することかでき、これは、第一のマルチチャネル画像データにおける各領域(例えば、領域116(1)-116(6)など)を含む。幾つかの例では、第一のマルチチャネル画像データを含む生の情報は、MLモデル120に入力することができる。生の情報は、特徴206(例えば、最大高度(例えば、各領域に関連付けられた最高のライダー点の高度)、最小高度(例えば、各領域に関連付けられた最低のライダー点の高度)、各領域の表面法線、各領域の分類)、および/または分類に関連付けられる各領域の確率、意味分割(semantic segmentation)に基づいて決定されている確率を含むことができる。
【0054】
幾つかの例では、MLモデル120は、マルチチャネル画像データ(例えば、二次元出力グリッドなど)を出力することができる。MLモデル120によって出力されるマルチチャネル画像データ(例えば、第二のマルチチャネル画像データなど)の領域(例えば、領域124(1)-124(6)など)は、MLモデル120に入力される第一のマルチチャネル画像データの対応する領域(例えば、領域116(1)-116(6)など)に関連付けることができる。例えば、領域124(1)は、領域116(1)に関連付けることができる。MLモデル120によって出力される第二のマルチチャネル画像データの領域(例えば、領域124(1)-124(6)など)は、高度および/または分類を含むことができる。換言すると、マルチチャンネルの画像データは、例えば、各領域に関連付けられた高度および/または分類を含むことができる。
【0055】
幾つかの例では、第二のマルチチャネル画像データの各領域は、領域が地表面に関連付けられる、可能性(例えば、確率など)に関連付けられた高度および/または分類を含むことができる。例えば、第二のマルチチャネル画像データの領域に関連付けられた高度(例えば、平均高度など)および/または分類は、領域に関連付けられた特徴206に基づいて、MLモデル120によって決定することができる。
【0056】
幾つかの例では、第二のマルチチャネル画像データの領域に関連付けられた高度は、領域に関連付けられた特徴206における最小高度および最大高度が同じ高度であると決定することに基づいて、地上高と関連付けられると決定することができる。代替的または追加的に、第二のマルチチャネル画像データの領域の高度は、地上分類確率に基づいて地表面高度と関連付けられると決定することができる。代替的または追加的に、第二のマルチチャネル画像データの領域の高度は、車両分類確率および/または歩行者分類確率に基づいて地表面高度に関連付けられていると決定することができる。幾つかの例では、高度は、オブジェクトを含む環境の領域に関連付けられている領域に基づいて、オブジェクトの高度に関連付けられると決定される。
【0057】
幾つかの例では、第二のマルチチャネル画像データの領域の分類は、地上分類確率に基づいて、地表面に関連付けられると決定することができる。代替的または追加的に、第二のマルチチャネル画像データの領域の分類は、車両分類確率および/または歩行者分類確率に基づいて決定することができる。地上分類確率、車両分類確率、および歩行者分類確率は、上述されているものと同様に決定することができる。幾つかの例では、分類は、オブジェクトを含む環境の領域に関連付けられている領域に基づいて、オブジェクトに関連付けられると決定することができる。
【0058】
第二のマルチチャネル画像データの各領域の高度および/または分類を決定することにより、領域が地表面に関連付けられている可能性は、ボクセル空間および/または第一のマルチチャネル画像データから欠落している情報にも関わらず、決定することができる。第二のマルチチャネル画像データを含む、および/またはそれに関連付けられる出力情報は、第一のマルチチャネル画像データに基づいて、MLモデル120から第二のマルチチャネル画像データを出力することによって決定することができる。
【0059】
したがって、本明細書に記載のとおりであるが、自律車両に関連付けられたライダーシステムから受信されたライダーデータに基づいて、三次元情報を構築することができる。三次元情報は、ボクセルが列および行に配置された立方体形状の空間として提供することができる。三次元空間内のボクセルの列は、自動車、人、または地表面などの、オブジェクトに関連付けられた種々の点を含むことができる。各点の高度などの点の属性は、複数の二次元画像データなどのマルチチャネル入力画像として提供するために、捕捉することができる。二次元画像データは、二次元画像データによって捕捉される各点に関連付けることができる。二次元画像データは、最小高度、最大高度、および平均の高度、表面法線、ならびに/または意味分割確率を含むことができる。
【0060】
図3Aおよび3Bは、メッシュ302および/または地上分割情報304に基づいて、オブジェクトの高度を出力するプロセス例の例証である。メッシュ302は、図1について上述されるように、例130に例証されるメッシュの例についてと同様に実装することができる。地上分割情報304は、図1について上述されるように、例130に例証される地上分割情報の例についてと同様に実装することができる。
【0061】
図3Aに例証されるように、メッシュ302は、高度304、メッシュ頂点306、ポリゴン308、および/または分類310に基づいて決定することができる。高度304は、機械学習(ML)モデル(例えば、MLモデル120など)によって出力されるマルチチャネル画像データ(例えば、第二のマルチチャネル画像データなど)の領域に関連付けられた高度を含むことができる。高度304は、図1について上述されるように、第二のマルチチャネル画像データの領域の高度についてと同様に決定することができる。
【0062】
幾つかの例では、メッシュ頂点306は、高度304に基づいて決定することができる。例えば、メッシュ頂点306は、第二のマルチチャネル画像データの領域に関連付けることができ、高度304を有することができる。メッシュ頂点306は、メッシュ302を決定するために利用される頂点を含むことができ、これは、三角メッシュ(triangulated mesh)を含むことができる。第二のマルチチャネル画像データの各領域は、メッシュ302を決定するために利用される単体のメッシュ頂点に関連付けることができる。ある場合には、メッシュ頂点306に関連付けられた高度304を決定するために利用される第二のマルチチャネル画像データの領域は、メッシュ頂点306に対して非線形関係(non-linear relationship)を有することができる。
【0063】
幾つかの例において、ポリゴン308は、メッシュ頂点306に基づいて決定することができる。ある場合には、ポリゴン308は、第二のマルチチャネル画像データの対応する領域に関連付けられた、対応するメッシュ頂点に基づいて決定された残りのポリゴンと共にともに、メッシュ302を決定するために利用することができる。メッシュ302は、車両が通過する環境の三次元データを用いてマップを決定するために利用することができる。
【0064】
幾つかの例では、分類310は、図2について上述されるように、第二のマルチチャネル画像データの各領域についてと同様に決定することができる。メッシュ302は、MLモデル120によって出力される第二のマルチチャネル画像データに基づいて決定することができる。メッシュ302は、メッシュ302のメッシュ頂点(例えば、メッシュ頂点306など)の各々に関連付けられた分類(例えば、分類310など)を含むことができる。分類310は、メッシュ頂点306が車両に関連付けられる確率(例えば、確率80%など)、メッシュ頂点306が歩行者に関連付けられる確率(例えば、 20%の確率など)、メッシュ頂点306が自転車に関連付けられる確率(例えば、10%確率など)などの、複数の意味クラス(semantic classes)の一つに関連付けることができる。幾つかの例では、高度304および/または分類310は、メッシュ頂点306に関連付けられた領域が走行可能な表面、道路、非道路(例えば、オブジェクト、建物等)などであるかどうかを識別するために利用することができる。
【0065】
幾つかの例では、環境内の各オブジェクトに関連付けられたオブジェクト地上高(object height from ground)312は、メッシュ302に基づいて決定することができる。メッシュ302は、環境内のオブジェクトに関連付けられた点(例えば、ボクセル空間の点など)に関連付けることができる。例として、メッシュ302は、オブジェクトに関連付けられた一つまたは複数の点(例えば、ボクセル空間の一つまたは複数の点など)に関連付けることができる。オブジェクトに関連付けられたオブジェクト地上高312は、オブジェクトと地表面との間における距離を示すことができる。例えば、オブジェクト地上高312は、オブジェクトに関連付けられた高度を含むことができる。例えば、オブジェクト地上高312は、地面以外のオブジェクトに関連付けられていないオブジェクト地上高312に基づいて、地表面に関連付けられた高度を含むことができる。幾つかの例では、オブジェクト地上高312は、オブジェクトと同じx-y値(例えば、x-y座標の値など)に関連付けられたポリゴン(例えば、ポリゴン308など)に基づいて、オブジェクトと地表面との間における距離(例えば、z値(例えば、z座標の値など))を含むことができる。オブジェクトに関連付けられた高度は、地表面に関連付けられた高度以上とすることができる。オブジェクト地上高312は、メッシュ302の上にあるオブジェクト、またはメッシュ302下にあるオブジェクトに関連付けることができる。
【0066】
図3Bに例証されるように、地上分割情報304を決定することができ、図3Aについて上述されるように、メッシュ302についてと同様に、オブジェクト地上高312を決定するために地上分割情報304を利用することができる。幾つかの例では、地上分割情報304は、MLモデルによって出力された第二のマルチチャネル画像データの各領域に関連付けられた、高度304、メッシュ頂点306、ポリゴン308、および/または分類310に基づいて決定することがでる。地上分割情報304は、環境内の各オブジェクトに関連付けられたオブジェクト地上高312度を決定するために利用することができる。オブジェクト地上高312は、オブジェクトと地表面との間における距離を示すことができる。例えば、オブジェクト地上高312は、オブジェクトに関連付けられた高度、または地表面に関連付けられた高度を含むことができる。オブジェクトに関連付けられた高度は、地表面に関連付けられた高度以上とすることができる。オブジェクト地上高は、オブジェクトと同じx-y値を有する地上分割情報304の位置に関連付けられたz値より上、または下にある、z値を有するオブジェクトに関連付けることができる。
【0067】
したがって、本明細書で説明されるように、種々のパラメータは、メッシュおよび/または地上分割情報を決定するために利用することかでき、これは、車両に近接する環境のマップを決定するために利用される。メッシュおよび/または地上分割情報は、地表面として使用されて、分割(segmenting)、クラスタリング(clustering)、および/または環境内のオブジェクトを決定することのために、点群に関連付けられた接地点(ground points)を除去することができる。メッシュおよび/または地上分割情報を利用して、接地点およびオブジェクト点を識別し、接地点を除去することにより、環境のマップは、環境内のオブジェクトをより正確に識別する。
【0068】
領域が地表面であることを、メッシュおよび/または地上分割情報が示す場合、車両は、メッシュおよび/または地上分割情報に関連付けられている環境の領域に進行するように制御することができる。環境内のオブジェクトが識別されるときのみ、車両が停止する必要があると、車両は判定することができる。環境の領域が地表面であると判定するために利用されている、メッシュおよび/または地上分割情報の精度が向上しているため、従来の技法によって提供される不完全なデータに起因して、それ以外の方法では発生する可能性のあるオブジェクトの誤表示によって、車両が不必要に停止することはない。
【0069】
図4は、本明細書に記載された技法を実装するためのシステム例に関するブロック図である。少なくとも一つの例では、システム400は、車両402を含むことができる。例証されたシステム400の例では、車両402は、自律車両であり、ただし、車両402は、他の任意の種類の車両とすることができる。
【0070】
車両402は、米国高速道路交通安全局(U.S. National Highway Traffic Safety Administration)によって発行された分類レベル5に従って動作するように構成された自律車両などの、無人車両(driverless vehicle)とすることができ、これは、運転者(または、乗員(occupant))が何時でも車両を制御することが期待されておらず、移動(trip)の全体に亘って全ての安全上重要な機能(safety-critical functions)を実行することができる車両を表す。そのような例では、車両402は、全ての駐車機能を含む、移動の開始から完了までの全ての機能を制御するように構成することができるため、これは、運転者、ならびに/またはハンドル(steering wheele)、加速ペダル(acceleration pedal)、および/もしくはブレーキペダル(brake pedal)などの、車両402を運転するための制御を含む必要がない。これは、単なる一例であり、本明細書に記載されたシステムおよび方法は、常に運転者が手動で制御する必要がある車両から、部分的または完全に自律的に制御される車両までの、範囲のものを含む、あらゆる地上車両(ground-borne vehicle)、空中車両(airborne vehicle)、または水上車両(waterborne vehicle)に組み込むことができる。
【0071】
車両402には、一つまたは複数の演算装置(computing devices)404、一つまたは複数のセンサーシステム(sensor systems)406、一つまたは複数のエミッタ(emitters)408、一つまたは複数の通信接続(communication connections)410(通信装置および/またはモデムとも呼ばれる)、少なくとも一つの直接接続(direct connection)412(例えば、車両402と物理的に結合して、データを交換し、および/または電力を供給するため)、および一つまたは複数の駆動システム(driver system)414を含めることができる。一つまたは複数のセンサーシステム406は、環境に関連付けられたセンサーデータを捕捉するように構成することができる。
【0072】
一つまたは複数のセンサーシステム406は、飛行時間センサー(time-of-flight sensors)、位置センサー(location sensors)(例えば、GPS、コンパス等)、慣性センサー(inertial sensor)(例えば、慣性測定ユニット(IMU)、加速度計、磁力計、ジャイロスコープ等)、ライダーセンサー(lidar sensors)、レーダーセンサー(radar sensors)、ソナーセンサー(sonar sensors)、赤外線センサー(infrared sensors)、カメラ(例えば、RGB、IR、強度、深度等)、マイクロフォンセンサー(microphone sensors)、環境センサー(environmental sensors)(例えば、温度センサー、湿度センサー、光センサー、圧力センサー等)、超音波トランスデューサー(ultrasonic transducers)、ホイールエンコーダー(wheel encoders)等を含むことができる。一つまたは複数のセンサーシステム406は、これら、または他の種類のセンサーの各々に関する複数の実例を含むことができる。例えば、飛行時間センサーには、車両402におけるコーナー、前面、背面、および/またはルーフに配置された個々の飛行時間センサーを含めることができる。別の例として、カメラセンサーは、車両402の外側および/または内側の周囲における種々の位置に配置された複数のカメラを含むことができる。一つまたは複数のセンサーシステム406は、演算装置404に入力を提供することができる。
【0073】
また、車両402は、光および/または音を発するための一つまたは複数のエミッタ408を含むことができる。この例における一つまたは複数のエミッタ408は、内部の音声型エミッタおよび視覚型エミッタを含んで、車両402の乗員と通信することができる。限定ではなく例として、内部エミッタには、スピーカー、ライト、合図(signs)、表示画面、タッチ画面、触覚エミッタ(haptic emitters)(例えば、振動および/または力のフィードバック)、機械式アクチュエータ(例えば、シートベルト巻取装置、シート位置決め装置、ヘッドレスト位置決め装置等)などを含めることができる。この例における一つまたは複数のエミッタ408は、外部エミッタも含む。限定ではなく例として、この例における外部エミッタには、移動の方向を知らせるライト、または車両動作に関する他のインジケータ(例えば、インジケータライト、合図、ライトアレイ等)、および 歩行者、または他の近くの車両と音声で通信するための一つまたは複数の音声型エミッタ(例えば、スピーカー、スピーカーアレイ、ホーン等)を含むことができ、そのうちの一つまたは複数は、音響ビームステアリング技術(acoustic beam steering technology)を含むことができる。
【0074】
車両402には、車両402と、一つまたは複数の他のローカル演算装置もしくはリモート演算装置(例えば、遠隔操作演算装置(remote teleoperation computing device)など)、またはリモートサービスとの間の通信を可能にする、一つまたは複数の通信接続410を含めることもできる。例えば、一つまたは複数の通信接続410は、車両402上における他のローカル演算装置、および/または一つもしくは複数の駆動システム414との通信を容易にすることができる。また、一つまたは複数の通信接続410は、車両402が他の近くの演算装置(例えば、他の近くの車両、交通信号等)と通信することを可能にすることができる。
【0075】
一つまたは複数の通信接続410は、演算装置404を別の演算装置、または一つもしくは複数の外部ネットワーク442(例えば、インターネットなど)に接続するための物理的および/または論理的インターフェースを含むことができる。例えば、一つまたは複数の通信接続410は、IEEE802.11規格、Bluetoothなどの近距離無線周波数、セルラー通信(例えば、2G、3G、4G、4GLTE、5G等)、衛星通信、専用短距離通信(DSRC)、または、各演算装置が他の演算装置とインターフェースで連結することを可能とする、任意の適切な有線または無線通信プロトコルによって定義された周波数を介するなどの、Wi-Fiベース通信を可能にすることができる。
【0076】
少なくとも一つの例では、車両402は、一つまたは複数の駆動システム414を含むことができる。幾つかの例では、車両402は、単一の駆動システム414を有することができる。少なくとも一つの例では、車両402が複数の駆動システム414を有する場合、個々の駆動システム414は、車両402の両端(例えば、前部および後部等)に配置することができる。少なくとも一例では、駆動システム414には、一つまたは複数のセンサーシステム406を含んで、駆動システム414および/または車両42の周囲における状態を検出することができる。限定ではなく例として、センサーシステム406は、駆動システムにおける車輪の回転を感知するための一つまたは複数のホイールエンコーダー(例えば、ロータリエンコーダなど)、駆動システムの向きおよび加速を測定するための慣性センサー(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計等)、カメラまたは他のイメージセンサー、駆動システムの周囲にあるオブジェクトを音響的に検出するための超音波センサー、ライダーセンサー、レーダーセンサーなどを含めることができる。ホイールエンコーダーなどの幾つかのセンサーは、駆動システム414に固有とすることができる。ある場合には、駆動システム414上におけるセンサーシステム406は、車両402において対応するシステム(例えば、センサーシステム406など)と重複または補足することができる。
【0077】
駆動システム414は、高電圧バッテリー、車両を推進するためのモーター、バッテリーからの直流電流を他の車両システムによる使用のために交流電流に変換するインバーター、(電動にすることができる)ステアリングモーターおよびステアリングラックを含むステアリングシステム、油圧アクチュエータまたは電気アクチュエータを含む制動システム、油圧コンポーネントおよび/または空気圧コンポーネントを含むサスペンションシステム、ブレーキ力を分散して牽引力の損失を軽減し、制御を維持するための安定制御システム(stability control system)、HVACシステム、照明(例えば、車両の外部周囲を照らすためのヘッド/テールライトなどの照明など)、および 一つまたは複数の他のシステム(例えば、冷却システム、安全システム、オンボード充電システム、DC/DCコンバータのような他の電気部品、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポート等)を含む、多数の車両システムを含むことができる。さらに、駆動システム414は、センサーシステム406からデータを受信して前処理し、種々の車両システムの動作を制御することができる駆動システム制御装置を含むことができる。幾つかの例では、駆動システム制御装置には、一つまたは複数のプロセッサ、および一つまたは複数のプロセッサに通信可能に結合されたメモリを含めることができる。メモリは、一つまたは複数のコンポーネントを格納して、駆動システム414における種々の機能を実行することができる。さらに、駆動システム414は、各駆動システムによる一つまたは複数の他のローカル演算装置またはリモート演算装置との通信を可能にする一つまたは複数の通信接続を含む。
【0078】
演算装置404は、一つまたは複数のプロセッサ416、および一つまたは複数のプロセッサ416と通信可能に結合されたメモリ418を含むことができる。例証された例において、演算装置404におけるメモリ418は、位置特定コンポーネント(localization component)420、高度コンポーネント424および分類コンポーネント426を含む認識コンポーネント(perception component)422、予測コンポーネント(prediction component)434、計画コンポーネント436、マップコンポーネント438、および一つまたは複数のシステム制御装置(system controller)を格納する。例示的な目的のためにメモリ418に常駐するように描写されているが、位置特定コンポーネント420、認識コンポーネント422、高度コンポーネント424、分類コンポーネント426、予測コンポーネント434、計画コンポーネント436、マップコンポーネント438、および一つまたは複数のシステム制御装置440が、追加的または代替的に、(例えば、車両402の異なるコンポーネントに格納されている)演算装置404にアクセス可能とすることができ、および/または(例えば、遠隔に格納されている)車両402にアクセス可能とすることができる。
【0079】
演算装置404におけるメモリ418では、位置特定コンポーネント420は、センサーシステム406からデータを受信して、車両402の位置を決定するための機能を含むことができる。例えば、位置特定コンポーネント420は、環境の三次元マップを含み、および/またはそれを要求もしくは受信することができ、マップ内における自律車両の位置を継続的に決定することができる。ある場合には、位置特定コンポーネント420は、SLAM(同時実行的な位置特定および地図作成)またはCLAMS(同時実行的な較正、位置特定および地図作成)を使用して、自律車両の位置を正確に決定するために、飛行時間データ、画像データ、ライダーデータ、レーダーデータ、ソナーデータ、IMUデータ、GPSデータ、ホイールエンコーダデータ、またはそれらの任意の組み合わせなどを受信することができる。ある場合には、位置特定コンポーネント420は、本明細書で説明されるように、車両402における種々のコンポーネントにデータを提供して、軌道(trajectory)を生成するための自律車両の初期位置を決定することができる。
【0080】
認識コンポーネント422は、オブジェクトの検出、分割および/または分類を実行する機能を含むことができる。幾つかの例では、認識コンポーネント422は、車両に近接するエンティティの存在、および/またはエンティティの種類(例えば、自動車、歩行者、自転車乗り、建物、樹木、路面、縁石(curb)、舗道、不明物(unknown)等)としてのエンティティの分類を示す、処理されたセンサーデータを提供することができる。追加および/または代替の例では、認識コンポーネント422は、検出されたエンティティ、および/またはエンティティが配置されている環境に関連付けられた一つまたは複数の特性を示す、処理されたセンサーデータを提供することができる。幾つかの例では、エンティティに関連付けられた特性は、x位置(全地球測位(global position))、y位置(全地球測位)z位置(全地球測位)、向き、エンティティの種類(例えば、分類など)、エンティティの速度、エンティティの範囲(サイズ)等を含むことができるが、これらに限定されない。環境に関連付けられた特性は、環境内の別のエンティティの存在、環境内の別のエンティティの状態、時間帯、曜日、季節、気象条件表示、闇または光の表示等を含むことができるが、これらに限定されない。
【0081】
上述されるように、認識コンポーネント422は、認識アルゴリズム(perception algorithms)を使用して、センサーデータに基づいて、環境内のオブジェクトに関連付けられた認識ベース境界ボックス(bounding box)を決定することができる。例えば、認識コンポーネント422は、画像データを受信し、画像データを分類して、オブジェクトが画像データ内に表現されていると決定することができる。次いで、検出アルゴリズムを使用すると、認識コンポーネント422は、オブジェクトに関連付けられた二次元境界ボックス、および/または認識ベース三次元境界ボックスを生成することができる。認識コンポーネント422は、オブジェクトに関連付けられた三次元境界ボックスをさらに生成することができる。上述されるように、三次元境界ボックスは、オブジェクトに関連付けられた位置、向き、姿勢(pose)、および/またはサイズ(例えば、長さ、幅、高さ等) などの追加情報を提供することができる。
【0082】
認識コンポーネント422は、認識コンポーネント422によって生成された認識データを格納する機能を含むことができる。ある場合には、認識コンポーネント422は、オブジェクトの種類として分類されているオブジェクトに対応する軌跡(track)を決定することができる。例証のみを目的として、認識コンポーネント422は、センサーシステム406を使用して、環境の一つまたは複数の画像を捕捉することができる。センサーシステム406は、歩行者などのオブジェクトを含む環境の画像を捕捉することができる。歩行者は、時刻Tに第一の位置にあり、時刻T+t(例えば、時刻Tの後に時間tの期間における移動)に第二の位置にいる可能性がある。換言すると、歩行者は、第一の位置から第二の位置まで、この時間の期間内に移動することができる。そのような移動は、例えば、オブジェクトに関連付けられた保存済みの認識データとしてログに記録することができる。
【0083】
保存済みの認識データは、幾つかの例では、車両によって捕捉された融合済みの認識データを含むことができる。融合済みの認識データは、画像センサー、ライダーセンサー、レーダーセンサー、飛行時間センサー、ソナーセンサー、全地球測位システムセンサー、慣性センサー、および/またはこれらの任意の組み合わせなどの、センサーシステム406からのセンサーデータの融合または他の組み合わせを含むことができる。保存済みの認識デーは、センサーデータに表現されるオブジェクト(例えば、歩行者、車両、建物、路面等)の意味分類を含む、分類データを追加または代替として含むことができる。保存済みの認識データは、追加的または代替的に、環境を通る動的オブジェクトとして分類されたオブジェクトの動きに対応する軌跡データ(位置、向き、センサー機能等)を含むことがでる。軌跡データは、経時的に複数の異なるオブジェクトにおける複数の軌跡を含むことができる。この軌跡データは、オブジェクトが静止している(例えば、じっと立っている)場合、または移動している(例えば、ウォーキング、ランニング等)場合、時には特定種類のオブジェクト(例えば、歩行者、動物等)の画像を識別するために、採掘する(mine)ことができる。この例では、演算装置は、歩行者に対応する軌跡を決定する。
【0084】
高度コンポーネント424は、本明細書で詳細に、特に図1ないし3Bのいずれかに関して記載されるように、機械学習(ML)コンポーネントから出力されるマルチチャネル画像データの領域の高度を計算し、またはそうでなければ決定することができる。幾つかの例では、高度コンポーネント424は、MLコンポーネントを含むことができる。例えば、高度コンポーネント424は、MLコンポーネントに入力されるマルチチャネル画像データの領域に関連付けられた特徴を受信することができ、入力マルチチャネル画像データの領域は、出力マルチチャネル画像データの領域に関連付けられている。特徴は、最大高度(例えば、領域に関連付けられた最高点の高度など)、最小高度(例えば、領域に関連付けられた最低点の高度など)、領域の表面法線、および/または入力マルチチャネル画像データの領域に関連付けられた分類を含むことができる。出力マルチチャネル画像データの領域の高度は、地表面高度(ground surface height)に関連付けられるように、高度コンポーネント424によって決定することができる。出力マルチチャネル画像データの領域の高度は、マルチチャネル画像データの領域に関連付けられた最小高度および最大高度が同じ高度であるか、または閾値の距離内にあると決定することに基づいて、地表面高度に関連付けると決定することができる。
【0085】
代替的または追加的に、出力マルチチャネル画像データの領域の高度は、地上分類確率に基づいて地表面高度と関連付けられるように決定することができる。代替的または追加的に、出力マルチチャネル画像データの領域の高度は、車両分類確率および/または歩行者分類確率に基づいて、地表面高度に関連付けられると決定することができる。幾つかの例では、高度は、オブジェクトを含む環境に関連付けられている出力マルチチャネル画像データの領域に基づいて、オブジェクトの高度に関連付けられると決定することができる。
【0086】
分類コンポーネント426は、本明細書で詳細に、特に図1ないし3Bの何れかに関して記載されるように、MLコンポーネントから出力されるマルチチャネル画像データの領域の分類を計算するか、そうでなければ決定する機能を含むことができる。幾つかの例では、分類コンポーネント426は、機械学習コンポーネントを含むことができる。出力マルチチャネル画像データの領域の分類は、地上分類確率に基づいて、地表面に関連付けられると決定することができる。代替的または追加的に、出力マルチチャネル画像データの領域の分類は、車両分類確率および/または歩行者分類確率に基づいて決定することができる。地上分類確率、車両分類確率、および歩行者分類確率は、上述されているものと同様に決定することができる。幾つかの例では、分類は、オブジェクトを含む環境に関連付けられている出力マルチチャネル画像データの領域に基づいて、オブジェクトに関連付けられていると決定することができる。
【0087】
予測コンポーネント434は、環境内の一つまたは複数のオブジェクトに関する可能な位置の予測確率を表す一つまたは複数の確率マップを生成することができる。例えば、予測コンポーネント434は、車両402から閾値距離内にある車両、歩行者、動物などについての一つまたは複数の確率マップ(probability maps)を生成することができる。ある場合には、予測コンポーネント434は、オブジェクトの軌跡を測定し、離散化された予測確率マップ、ヒートマップ(heat map)、確率分布、離散化された確率分布、および/または観察かつ予測された行動に基づくオブジェクトに関する軌跡を生成することができる。ある場合には、一つまたは複数の確率マップは、環境内の一つまたは複数のオブジェクトの意図(intent)を表すことができる。
【0088】
計画コンポーネント436は、車両402が環境を通過するために追従するべき経路(path)を決定することができる。例えば、計画コンポーネント436は、種々のルート(route)および経路、ならびに種々の詳細レベルを決定することができる。ある場合には、計画コンポーネント436は、第一の場所(例えば、現在の場所など)から第二の場所(例えば、目標の場所など)まで移動するルートを決定することができる。この説明の目的のために、ルートは、二つの場所の間を移動するための一連の経路上地点(waypoints)にすることができる。非限定的な例として、経路上地点には、街路(streets)、交差点(intersections)、全地球測位システム(GPS)座標等が含まれる。さらに、計画コンポーネント436は、第一の場所から第二の場所までのルートにおける少なくとも一部に沿って自律車両を誘導するための命令を生成することができる。少なくとも一つの例では、計画コンポーネント436は、一連の経路上地点における第一の経路上地点から一連の経路上地点における第二の経路上地点まで自律車両を誘導する方法を決定することができる。幾つかの例では、命令は、経路、または経路の一部とすることができる。幾つかの例では、後退する地平線技法(receding horizon technique)に従って、複数の経路を実質的に同時に(すなわち、技術的許容範囲内で)生成することができる。後退するデータ地平線における複数の経路のうちで、最も高い信頼度(confidence level)を有する単一の経路が、車両を操作するために選択することができる。
【0089】
他の例において、計画コンポーネント436は、代替的または追加的に、認識コンポーネント422および/または予測コンポーネント434からのデータを使用して、車両402が環境を通過するために追従するべき経路を決定する。例えば、計画コンポーネント436は、環境に関連付けられたオブジェクトに関して、認識コンポーネント422および/または予測コンポーネント434からデータを受信することができる。このデータを使用すると、計画コンポーネント436は、第一の場所(例えば、現在の場所など)から第二の場所(例えば、目標の場所など)まで移動するためのルートを決定し、環境内のオブジェクトを回避することができる。少なくとも幾つかの例では、そのような計画コンポーネント436は、そのような衝突のない経路がないと判定することができ、順番に(in turn)、全ての衝突を回避し、および/または、そうでなければ損傷を軽減して、車両402を安全に停止させる経路を提供することができる。
【0090】
メモリ418は、環境内を航法する(navigate)ための車両402によって使用することができる、一つまたは複数のマップ438をさらに含むことができる。この説明の目的のために、マップは、(交差点などの)トポロジー、街路、山並み(mountain ranges)、道路(roads)、地形(terrain)、一般的な環境などであるが、これらに限定されない、環境に関する情報を提供することができる、二次元、三次元、またはN次元でモデル化された任意数のデータ構造にすることができる。ある場合には、マップには、共分散データ(例えば、多重解像度ボクセル空間(multi-resolution voxel space)で表される)、質感情報(texture information)(例えば、色情報(例えば、RGB色情報、Lab色情報、HSV/HSL色情報)など)、強度情報(例えば、LIDAR情報、RADAR情報など)、空間情報(例えば、メッシュに投影された画像データ、個々の「表面要素(surfels)」(例えば、個々の色および/または強度に関連付けられたポリゴン))、反射情報(例えば、鏡面反射情報(specularity information)、再帰反射情報(retroreflectivity information)、BRDF情報、BSSRDF情報など)が含めることができるが、これらに限定されない。一例では、マップは、環境における三次元メッシュを含むことができる。ある場合には、マップは、マップの個々のタイルが環境の離散部分を表すように、タイル形式で保存し、必要に応じて、本明細書で説明されるように、ワーキングメモリにロードすることができる。少なくとも一つの例では、一つまたは複数のマップ438は、少なくとも一つのマップ(例えば、画像および/またはメッシュなど)を含むことができる。幾つかの例では、車両402は、マップ438に少なくとも部分的に基づいて制御することができる。すなわち、マップ438は、位置特定コンポーネント420、認識コンポーネント422(およびサブコンポーネント)、予測コンポーネント434、および/または計画コンポーネント436に関連して使用されて、車両402の位置を決定し、環境内の車両を識別し、オブジェクトおよび/もしくは車両402に関連付けられた予測確率を生成し、ならびに/または環境内を航法するためのルートおよび/もしくは軌道を生成する。
【0091】
少なくとも一つの例において、演算装置404は、一つまたは複数のシステム制御装置440を含むことができ、これらは、車両402におけるステアリング、推進(propulsion)、制動(braking)、安全、エミッタ、通信および他のシステムを制御するように構成することができる。これらのシステム制御装置440は、車両402の駆動システム414および/または他のコンポーネントにおいて対応するシステムと通信および/または制御することができ、これらは、計画コンポーネント436から提供される経路に従って動作するように構成することができる。
【0092】
車両402は、ネットワーク442を介して演算装置444に接続することができ、一つまたは複数のプロセッサ446、および一つまたは複数のプロセッサ446に通信可能に結合されたメモリ448を含むことができる。少なくとも一つの例において、一つまたは複数のプロセッサ446は、プロセッサ416と同様とすることができ、メモリ448は、メモリ418と同様とすることができる。例証された例では、演算装置444におけるメモリ448は、リモート操作コンポーネント450、および/またはモデルコンポーネント452を格納する。少なくとも一つの例では、モデルコンポーネント452は、経験的試験(empirical testing)および/またはシミュレーションの後に、本明細書で説明されるように、認識コンポーネント422によって使用されるためのMLモデルを生成することができる。例証のためにメモリ448に常駐するように描写されているが、リモート操作コンポーネント450およびモデルコンポーネント452は、追加または代替として、演算装置444(例えば、演算装置444の異なるコンポーネントに格納された、および/または演算装置444に対してアクセス可能である(例えば、リモートで保存される))にアクセス可能とすることができると考えられる。
【0093】
モデルコンポーネント452は、本明細書で説明されるように、マルチチャネル画像データの高度/分類を決定するためのモデルを生成する機能を含むことができる。
【0094】
演算装置404におけるプロセッサ416、および演算装置444におけるプロセッサ446は、命令を実行して、データを処理し、本明細書で説明される操作を実行するできる、任意の適切なプロセッサとすることができる。限定ではなく例として、プロセッサ416および446は、一つまたは複数の中央処理装置(CPU)、画像処理装置(GPU)、または電子データを処理して、その電子データを、レジスタやメモリに保存することができる他の電子データに変換する、他の任意のデバイスまたはデバイスの一部を備えることができる。幾つかの例では、集積回路(例えば、ASIC等)、ゲートアレイ(例えば、FPGA等)、および他のハードウェアデバイスも、これらがコード化された命令を実装するように構成されている限り、プロセッサと見做すことができる。
【0095】
演算装置404におけるメモリ418、および演算装置444におけるメモリ448は、非一時的なコンピュータ可読媒体(non-transitory computer-readable media)の例である。メモリ418および448は、オペレーティングシステム、および一つまたは複数のソフトウェアアプリケーション、命令、プログラム、ならびに/または本明細書に記載された方法、および種々のシステムに帰属する機能を実装するためのデータを保存することができる。種々の実装において、メモリ418および448は、静的ランダムアクセスメモリ(static random access memory)(SRAM)、同期ダイナミックRAM(SDRAM)、不揮発性/フラッシュ型メモリ、または情報を保存することができる他の任意種類のメモリなどの、任意の適切なメモリ技術を使用して実装することができる。本明細書で記載されるアーキテクチャ、システム、および個々の要素は、他の多数の論理的コンポーネント、プログラム的コンポーネント、および物理的コンポーネントを含むことができ、添付の図に示されているものは、本明細書の説明に関連している例に過ぎない。
【0096】
ある場合には、本明細書で記載されるコンポーネントの一部または全ての態様には、任意のモデル、アルゴリズム。および/または機械学習アルゴリズムを含めることができる。例えば、ある場合には、メモリ418および448内のコンポーネントは、ニューラルネットワークとして実装することができる。
【0097】
本明細書で説明されるように、例示的なニューラルネットワークは、入力データを一連の接続された層に渡して、出力を生成する、生物学的に着想されたアルゴリズムである。ニューラルネットワーク内の各層は、別のニューラルネットワークを構成することもでき、または、(畳み込みであろうとなかろうと)任意数の層を含むことができる。この開示に関連して理解することができるように、ニューラルネットワークは、機械学習を利用することができ、これは、学習されたパラメータに基づいて出力を生成する、そのように広範なクラスのアルゴリズムを参照することができる。
【0098】
ニューラルネットワークに関連して記載されているが、この開示と一致して、任意種類の機械学習を使用することができる。例えば、機械学習アルゴリズム(machine learning algorithms)または機械学習アルゴリズム(machine-learned algorithms)には、回帰アルゴリズム(regression algorithms)(例えば、最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、段階的回帰、多変量適応回帰スプライン(MARS)、局所的推定散布図平滑化(LOESS))、インスタンスベースアルゴリズム(リッジ回帰(ridge regression)、最小絶対値縮小選択演算子(LASSO)、エラスティックネット(elastic net)、最小角度回帰(LARS)、決定木アルゴリズム(例えば、分類および回帰ツリー(CART)、反復二分法3(iterative dichotomiser 3)(ID3)、カイ二乗自動相互作用検出(CHAID)、決定株(decision stump)、条件付き決定木)、ベイジアンアルゴリズム(例えば、単純ベイズ(naive Bayes)、ガウス単純ベイズ(Gaussian naive Bayes)、多項式単純ベイズ(multinomial naive Bayes)、平均一依存性推定子(average one-dependence estimators)(AODE)、ベイジアン信頼ネットワーク、ベイジアンネットワーク)、クラスタリングアルゴリズム(例えば、k平均(k-means)、kメディアン(k-medians)、期待値最大化(EM)、階層的クラスタリング)、アソシエーションルール学習アルゴリズム(例えば、パーセプトロン(perceptron)、逆伝搬(back-propagation)、ホップフィールドネットワーク(hopfield network)、放射基底関数ネットワーク(RBFN)、深層学習アルゴリズム(例えば、深層ボルツマンマシン(Deep Boltzmann Machine(DBM)、深層信頼ネットワーク(Deep Belief Netmrks)(DBN)、畳み込みニューラルネットワーク(Convolutional Neural Network)、積層オートエンコーダー(Stacked Auto-Encoders)、次元削減アルゴリズム(例えば、主コンポーネント分析(PCA)、主コンポーネント回帰(PCR)、部分最小二乗回帰(PLSR)、サモンマッピング(Sammon Maping)、多次元スケーリング(MDS)、プロジェクション追跡、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、柔軟判別分析(FDA))、アンサンブルアルゴリズム(Ensemble Algorithms)(例えば、ブースティング(Boosting)、ブーストラップ集約(Bootstrapped Aggregation)(バギング(Bagging)))、アダブースト(AdaBoost)、スタック一般化(ブレンディング(blending))、勾配ブースティングマシン(GBM)、勾配ブースティング回帰木(GBRT)、ランダムフォレスト(Random Forest))、SVM(サポートベクターマシン)、教師あり学習(supervised learning)、教師なし学習(unsupervised leaning)、半教師あり学習(semi-supervised learning)等を含めることができるが、これらに限定されない。
【0099】
アーキテクチャの追加例には、ResNet50、ResNet101、VGG、DenseNet、PointNetなどの、ニューラルネットワークが含まれる。
【0100】
図5は、地上高を推定し、地上高に少なくとも部分的に基づいて車両を制御するためのプロセス例である。例えば、プロセス500の一部または全ては、本明細書に記載されるように、図4における一つまたは複数のコンポーネントによって実行することができる。例えば、プロセス500の一部または全部は、認識コンポーネント422によって実行することができる。
【0101】
動作502において、プロセスは、ライダーデータを受信するステップを含むことができる。幾つかの例では、動作502は、自律車両のライダーセンサーによって捕捉された環境のライダーデータを受信するステップを含むことができる。ライダーデータは、自動車、トラック、道路、建物、バイク、歩行者等の、環境内の種々のオブジェクトに関連付けることができる。ライダーデータは、経時的に蓄積することができる。
【0102】
操作504において、プロセスは、意味情報を決定するステップを含むことができる。幾つかの例では、動作504は、ライダーデータに関連付けられた意味情報を決定するステップを含むことができる。本明細書で説明されるように、意味分割は、ライダーデータに基づいて 三次元ボクセル空間で実行することができる。意味情報は、MLモデルに入力されるマルチチャネル画像データを決定し、三次元ボクセル空間内の点がオブジェクトまたは地表面に関連付けられているかどうか(または、それに関連付けられた確率)を識別するために利用することができる。
【0103】
操作506において、プロセスは、ライダーデータおよび意味情報を三次元ボクセル空間に関連付けるステップを含むことができる。幾つかの例では、動作506は、データが経時的に蓄積されるにつれて、メタスピンをボクセル空間に整列させるステップを含むことができる。メタスピンにおける現行スピンに関連付けられたデータも、ボクセル空間に関連付けることができる。意味情報は、ライダーデータおよび/またはボクセル空間に関連付けることができる。
【0104】
動作508において、プロセスは、情報量が閾値量を超えているかどうかを判定するステップを含むことができる。例として、閾値数を超えているボクセル空間、ボクセル、列、または任意の範囲に関連する点の数に基づいて、情報量は、閾値量を超過していると決定することができる。別の例として、操作510は、特定の分類に関連付けられた点の個数が閾値を超えているかどうか、または点の分類の確率が閾値を超えるかどうかを判定するステップを含むことができる。操作508は、ボクセル単位の基底、列単位の基底、ボクセル空間全体等に対して実行することができる。プロセスは、その後、閾値量以下であると決定されている情報量に基づいて、プロセスを再開するための操作502を含むことができる。
【0105】
操作510において、プロセスは、第一のマルチチャネル画像データを決定するステップを含むことができる。幾つかの例では、第一のマルチチャネル画像データは、三次元ボクセル空間に少なくとも部分的に基づくことができる。第一のマルチチャネル画像データは、本明細書で説明されるように、特徴データに関連付けられた第一の領域を含むことができる。第一のマルチチャネル画像データの各領域は、ボクセル空間の列(または、ボクセルの行、列の個数等の、ボクセル空間の他の領域)に関連付けることができる。例えば、列に関連付けられた三次元情報は、領域に関連付けられた二次元情報に変換することができる。各領域は、特徴データを含むことができる。特徴データには、(列に関連付けられたライダー点について)平均高度、最大高度、最小高度、共分散、反射率、表面法線、ライダー点の個数などを含むことができるが、これらに限定されない。
【0106】
操作512において、プロセスは、第一のマルチチャネルを機械学習(ML)モデルに入力するステップを含むことができる。幾つかの例では、操作514は、本明細書に記載されるように、MLモデルによって、意味情報および特徴に基づいて、第一のマルチチャネル画像データを分析するステップを含むことができる。
【0107】
動作514において、プロセスは、MLモデルから、第二のマルチチャネル画像データを受信するステップを含むことができる。ただし、MLモデルから受信された画像データは、マルチチャネル画像データに限定されないが、他の種類の画像データ(例えば、単一チャネル画像データなど)とすることができる。幾つかの例では、操作516は、MLモデルから、第一の領域に関連付けられた第二の領域を含む第二のマルチチャネルを受信するステップを含むことができ、第二の領域は、高度データおよび/または分類データに関連付けられている。MLモード(mode)は、最大高度、最小高度、平均高度、共分散、表面法線、および/または第一の領域に関連付けられた分類に基づいて、第二のマルチチャネル画像データを出力することができる。
【0108】
操作516において、プロセスは、メッシュおよび/または地上分割情報を決定するステップを含むことができる。幾つかの例では、操作516は、高度データおよび分類データに少なくとも部分的に基づいて、環境の地表面に関連付けられた、またはそうでなければ環境の地表面を表すメッシュを決定するステップを含むことができる。
【0109】
操作518において、プロセスは、自律車両を制御するステップを含むことができる。幾つかの例では、操作518は、メッシュおよび/または地上分割情報に少なくとも部分的に基づいて、自律車両を制御するステップを含むことができる。メッシュおよび/または地上分割情報に基づくオブジェクトデータのクラスタリング(clustering)または分割(segmentation)に基づいて、計画されたルートまたは軌道に沿って進行するように、自律車両を制御することができる。地表面以外のオブジェクトに関連付けられているオブジェクト地上高に基づいて、自律車両は、計画されたルートまたは軌道に沿って進行することを控える(refrain)ように制御することができる。
【0110】
[例示的な条項]
A.一つまたは複数のプロセッサと、一つまたは複数のプロセッサによって実行可能な命令を格納する一つまたは複数のコンピュータ可読媒体とを備え、命令は、実行されると、システムに、以下を含む操作を実行させる、システム。すなわち、自律車両のライダーセンサーによって捕捉された環境のライダーデータを受信することと、ライダーデータに関連付けられた意味情報を決定することと、ライダーデータを三次元ボクセル空間に関連付けることと、意味情報を三次元ボクセル空間に関連付けることと、三次元ボクセル空間の一部に少なくとも部分的に基づいて、特徴データを含む第一のマルチチャネル画像データを決定することと、第一のマルチチャネル画像データを機械学習(ML)モデルに入力することと、MLモデルから、高度データおよび分類データを含む第二のマルチチャネル画像データを受信することと、高度データおよび分類データに少なくとも部分的に基づいて、環境の地表面に関連付けられたメッシュを決定することとと、メッシュに少なくとも部分的に基づいて、自律車両を制御すること。
【0111】
B.操作は、第一の領域に関連付けられた特徴データとして、最小高度データ、最大高度データ、平均高度データ、共分散データ、または表面法線データの少なくとも一つを決定することをさらに含む、段落Aのシステム。
【0112】
C.第一のマルチチャネル画像データが、第一の特徴データに関連付けられた第一の二次元層と、第二の特徴データに関連付けられた第二の二次元層とを含む、段落AまたはBのシステム。
【0113】
D. 意味情報は、ライダー点が走行可能な表面に関連付けられている、分類確率を含む、段落AないしCの何れかシステム。
【0114】
E.地表面に関連付けられたメッシュを決定するステップは、第二の領域に関連付けられた高度データに少なくとも部分的に基づいてメッシュ頂点を決定するステップと、メッシュ頂点に少なくとも部分的に基づいてポリゴンを決定するステップを含む、段落AないしDの何れかのシステム。
【0115】
F. 自律車両のライダーセンサーによって捕捉された環境のライダーデータを受信するステップと、ライダーデータに少なくとも部分的に基づいて、マルチチャネル画像データを決定するステップと、マルチチャネル画像データを機械学習(ML)モデルに入力するステップと、MLモデルから受信された出力データに基づいて、環境の地表面に関連付けられた高度データまたは分類データの少なくとも一つを決定するステップと、高度データまたは分類データの少なくとも一つに基づいて自律車両を制御するステップと
を備える、Aの方法。
【0116】
G.ライダーデータを三次元ボクセル空間と関連付けるステップと、ライダーデータに少なくとも部分的に基づいて、意味情報を決定するステップと、意味情報を三次元ボクセル空間に関連付けるステップと、三次元ボクセル空間に少なくとも部分的に基づいてマルチチャネル画像データを決定するステップとをさらに備える、段落Fの方法。
【0117】
H.出力データが、高度データに関連付けられた第一の層と、分類データに関連付けられた第二の層とを含む、段落FまたはGの方法。
【0118】
I.ライダーデータを三次元ボクセル空間に関連付けるステップと、三次元ボクセル空間の列に少なくとも部分的に基づいて、マルチチャネル画像データの一部を決定するステップとをさらに備える、段落FないしHの何れかの方法。
【0119】
J.高度データまたは分類データの少なくとも一つに基づいて、第二のマルチチャネル画像データを決定するステップと、ライダーデータの点について、高度データの一部からの距離を決定するステップと、距離に少なくとも部分的に距離に基づいて、点がオブジェクトに関連付けられていることを決定するステップとをさらに備える、段落FないしIの何れかの方法。
【0120】
K.ライダーデータのライダー点が環境の地表面に関連付けられている確率を決定するステップであって、マルチチャネル画像データが確立を含む、ステップをさらに備える、段落FないしJの何れかの方法。
【0121】
L.出力データに少なくとも部分的に基づいて、環境の地表面に関連付けられたメッシュを決定するステップをさらに備える、段落FないしKの何れかの方法。
【0122】
M.プロセッサによって実行可能な命令を格納する、一つまたは複数の非一時的なコンピュータ可読媒体であって、命令は、実行されると、プロセッサに以下を含む操作をプロセッサに実行させる、一つまたは複数の非一時的なコンピュータ可読媒体。すなわち、自律車両のライダーセンサーによって捕捉された環境のライダーデータを受信するステップと、ライダーデータに少なくとも部分的に基づいて、マルチチャネル画像データを決定するステップと、マルチチャネル画像データを機械学習(ML)モデルに入力するステップと、MLモデルから受信された出力データに基づいて、環境の地表面に関連付けられた高度データまたは分類データの少なくとも一つを決定するステップと、高度データおよび分類データのうちの少なくとも一つに基づいて自律車両を制御するステップ。
【0123】
N.マルチチャネル画像データが、第一の特徴データに関連付けられた第一のチャネルと、第二の特徴データに関連付けられた第二のチャネルとを含む、段落Mの一つまたは複数の非一時的コンピュータ可読媒体。
【0124】
O.ライダーデータを三次元ボクセル空間に関連付けるステップと、ライダーデータに少なくとも部分的に基づいて、意味情報を決定するステップと、意味情報を三次元ボクセル空間に関連付けるステップと、三次元ボクセル空間に少なくとも部分的に基づいて、マルチチャネル画像データを決定するステップとをさらに備える、段落MまたはNの一つまたは複数の非一時的コンピュータ可読媒体。
【0125】
P.出力データは、高度データに関連付けられた第一の層と、分類データに関連付けられた第二の層とを含む、段落MないしOの何れかの一つまたは複数の非一時的コンピュータ可読媒体。
【0126】
Q. ライダーデータを三次元ボクセル空間に関連付けるステップと、三次元ボクセル空間の列に少なくとも部分的に基づいて、マルチチャネル画像データの一部を決定するステップとをさらに備える、段落MないしPの何れかの一つまたは複数の非一時的コンピュータ可読媒体。
【0127】
R.高度データまたは分類データの少なくとも一つに基づいて、第二のマルチチャネル画像データを決定するステップと、ライダーデータの点について、高度データの一部からの距離を決定するステップと、距離に少なくとも部分的に基づいて、点がオブジェクトに関連付けられていることを決定するステップとをさらに備える、段落MないしQの何れかの一つまたは複数の非一時的コンピュータ可読媒体。
【0128】
S.操作は、ライダーデータのライダー点が環境の地表面に関連付けられている確率を決定するステップをさらに含み、マルチチャネル画像データが確率を含む、段落MないしRの何れかの一つまたは複数の非一時的コンピュータ可読媒体。
【0129】
T.MLモデルが第一のアルゴリズムであり、地上検証データ(ground truth data)に少なくとも部分的に基づいて訓練され、地上検証データは、地図データ、手書きの注釈付きデータ、または自律車両が環境内を移動する際に、自律車両によって入力されるセンサーデータのうちの少なくとも一つに少なくとも部分的に基づいて決定される、段落MないしSの何れかの一つまたは複数の非一時的なコンピュータ可読媒体。
【0130】
上述された例示的な条項は、一つの特定の実装に関して記述されているが、この文書に連して、例示的な条項の内容は、方法、装置、システム、コンピュータ可読媒体、および/または別の実装を介して実装することもできることは、理解されるべきである。さらに、例AないしTの何れかは、単独で、または他の例AないしTのうちの何れか一つまたは複数と組み合わせて実装することができる。
【0131】
[結論]
本明細書に記載された技法のうちの一つまたは複数の例が記載されているが、種々の変更、追加、置換、およびそれらの均等物は、本明細書に記載された技法の範囲内に含まれる。
【0132】
例の説明において、参照は、本明細書の一部を形成する添付の図に対して行われ、これは、主張された主題に関する特定例の例証として示している。他の例を使用することができ、構造変更などの変更または改変を行うことができることは、理解されるべきである。そのような例示、変更、または改変は、意図して主張された主題に関する範囲から必ずしも逸脱するわけではない。本明細書の手順は特定の順序で提示することができるが、ある場合には、記載されたシステムおよび方法の機能を変更することなく、特定の入力が異なる時刻または異なる順序で提供されるように、順序を変更することができる。開示された手順は、様々な順序で実行することもできる。さらに。本明細書に記載されている種々の計算は、開示された順序で実行される必要はなく、計算を改変された順序付けを使用する他の例を容易に実装することができる。並び替えられることに加えて、計算は、同じ結果を有するサブ計算に分解することもできる。
図1
図2
図3A
図3B
図4
図5
【国際調査報告】