(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-28
(54)【発明の名称】時間トラッカー付き車両知覚システム
(51)【国際特許分類】
B60W 40/02 20060101AFI20241121BHJP
G06T 7/00 20170101ALI20241121BHJP
G06V 20/58 20220101ALI20241121BHJP
G06V 10/70 20220101ALI20241121BHJP
B60W 50/00 20060101ALI20241121BHJP
B60W 60/00 20200101ALI20241121BHJP
G08G 1/16 20060101ALI20241121BHJP
【FI】
B60W40/02
G06T7/00 350B
G06T7/00 650B
G06V20/58
G06V10/70
B60W50/00
B60W60/00
G08G1/16 D
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024532785
(86)(22)【出願日】2022-12-01
(85)【翻訳文提出日】2024-05-31
(86)【国際出願番号】 US2022051550
(87)【国際公開番号】W WO2023102126
(87)【国際公開日】2023-06-08
(32)【優先日】2021-12-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】チェン-シン ウー
(72)【発明者】
【氏名】スブハシス ダス
(72)【発明者】
【氏名】ポー-ジェン ライ
(72)【発明者】
【氏名】キアン ソング
(72)【発明者】
【氏名】ベンジャミン イサーク ツヴィーベル
【テーマコード(参考)】
3D241
5H181
5L096
【Fターム(参考)】
3D241BA50
3D241CE08
5H181AA01
5H181BB04
5H181BB20
5H181CC03
5H181CC04
5H181CC11
5H181CC12
5H181CC14
5H181FF04
5H181FF22
5H181FF27
5H181LL04
5H181LL06
5H181LL15
5L096AA06
5L096AA09
5L096BA04
5L096CA04
5L096FA16
5L096FA67
5L096FA69
5L096HA05
5L096KA04
(57)【要約】
本明細書では、環境内のオブジェクトを検出及び追跡できる車両の知覚システムの技術について説明される。知覚システムは、異なるコンポーネント、サブプロセスなどの1つ以上の異なる部分を含む機械学習モデルを含むことができる。ある例では、この技術には、機械学習モデルの第1の部分の出力が機械学習モデルの別の部分への入力として使用できるように調整されるように、機械学習モデルをエンドツーエンドでトレーニングすることが含まれ得る。加えて、または代わりに、本明細書で説明される知覚システムは、時間データを利用して車両の環境内のオブジェクトを追跡し、追跡データを機械学習モデルによって検出された環境内の特定のオブジェクトと関連付けることができる。つまり、機械学習モデルのアーキテクチャは、同じループ内に検出部分と追跡部分の両方を含むことができる。
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行されると、システムに、
車両が動作している環境におけるオブジェクトを表すセンサデータを受信することであって、前記センサデータは、現在時間に関連付けられている、ことと、
前記車両で用いるために構成されている機械学習モデルに前記センサデータを入力することであって、前記機械学習モデルは、
前記センサデータに少なくとも部分的に基づいて、環境内のオブジェクトに関連付けられるバウンディングボックスを少なくとも含むオブジェクトデータを判定することであって、前記バウンディングボックスは前記現在時間における前記環境内のオブジェクトの位置を示す、ことと、
前記センサデータに少なくとも部分的に基づいて、及び前記現在時間よりも前に前記機械学習モデルによって受信された追加のセンサデータから判定された追跡データに少なくとも部分的に基づいて、前記現在時間における前記環境内のオブジェクトの推定位置を判定することと、
追跡されたオブジェクトデータとして、前記推定位置に少なくとも部分的に基づいて、前記オブジェクトデータを追跡データと関連付けることと、
を実行するように構成されている、ことと、
前記機械学習モデルから、前記追跡されたオブジェクトデータを少なくとも含む出力を受信することと、
前記追跡されたオブジェクトデータに少なくとも部分的に基づいて、前記車両を制御することと、
を含む動作を実行させる命令を格納する、1つまたは複数の非一時的コンピュータ可読媒体と、
を備えたシステム。
【請求項2】
前記機械学習モデルは、
前記オブジェクトデータを前記追跡データと関連付けることに少なくとも部分的に基づいて、軌道が前記位置と交差するように前記追跡データを更新することと、
前記機械学習モデルがアクセスできるメモリに前記更新された追跡データを記憶することと、
をさらに実行するように構成される、請求項1に記載のシステム。
【請求項3】
前記オブジェクトデータを前記追跡データと関連付けることは、
前記位置及び前記推定位置の距離が閾値距離未満であること、
前記オブジェクトの検出された分類が前記オブジェクトの追跡された分類に対応していることと、
前記オブジェクトの検出されたサイズと前記オブジェクトの追跡されたサイズとの間の差が閾値差未満であることと、
のうちの少なくとも1つに少なくとも部分的に基づいている、請求項1または請求項2に記載のシステム。
【請求項4】
前記機械学習モデルから受信した出力は、前記オブジェクトの将来位置をさらに示す、請求項1乃至3のいずれか一項に記載のシステム。
【請求項5】
前記追加のセンサデータは、前記現在時間より前の一定期間にわたる前記オブジェクトを表すセンサデータのフレームの時間順に収集されたものを含む、請求項1乃至4のいずれか一項に記載のシステム。
【請求項6】
第1の時間において、環境内で動作している車両に関連付けられるセンサデータを受信することと、
前記センサデータを機械学習モデルに入力することであって、前記機械学習モデルは、と、
前記センサデータに少なくとも部分的に基づいて、前記環境内のオブジェクトの位置を判定することと、
前記環境内の追跡されたオブジェクトの推定位置を前記追跡されたオブジェクトによって横断された軌道に少なくとも部分的に基づいて判定することと、
前記位置及び前記推定位置に少なくとも部分的に基づいて前記オブジェクトを前記追跡されたオブジェクトと関連付けることと、
を行うように構成されている、ことと、
前記機械学習モデルからの出力として、前記位置及び前記軌道のインディケーションを受信することと、
前記出力に少なくとも部分的に基づいて前記車両を制御することと、
を含む方法。
【請求項7】
前記位置及び前記推定位置は、前記第1の時間に関連付けられており、前記追跡されたオブジェクトは、前記第1の時間よりも前に前記軌道を横断している、請求項6に記載の方法。
【請求項8】
追加のセンサデータは、前記第1の時間よりも前の一定期間にわたる前記オブジェクトを表す、請求項6または請求項7に記載の方法。
【請求項9】
前記機械学習モデルは、オブジェクトを、車両、歩行者またはサイクリストのうちの少なくとも1つとして分類するように構成される、請求項6乃至8のいずれか一項に記載の方法。
【請求項10】
前記機械学習モデルは、
前記オブジェクトを前記追跡されたオブジェクトと関連付けることに少なくとも部分的に基づいて、前記軌道が前記位置を交差するように前記追跡されたオブジェクトによって横断された前記軌道を更新することと、
前記機械学習モデルがアクセス可能なメモリに更新された前記軌道を格納することと、
をさらに行うように構成されている、請求項6乃至9のいずれか一項に記載の方法。
【請求項11】
前記オブジェクトを前記追跡されたオブジェクトと関連付けることは、前記オブジェクトに関連付けられる第1の特徴と前記追跡されたオブジェクトに関連付けられる第2の特徴との間の特徴距離にさらに少なくとも部分的に基づく、請求項6乃至10のいずれか一項に記載の方法。
【請求項12】
前記オブジェクトを前記追跡されたオブジェクトと関連付けることは、前記オブジェクトの検出された分類が前記追跡されたオブジェクトの追跡された分類に相当するという判定にさらに少なくとも部分的に基づく、請求項6乃至11のいずれか一項に記載の方法。
【請求項13】
前記オブジェクトを前記追跡されたオブジェクトと関連付けることは、前記位置が前記推定位置からの閾値距離に満たないという判定にさらに少なくとも部分的に基づく、請求項6乃至12のいずれか一項に記載の方法。
【請求項14】
前記機械学習モデルからの出力は、前記オブジェクトに関連付けられるバウンディングボックスをさらに含み、前記バウンディングボックスは、前記車両に対する環境内の前記オブジェクトの位置、前記オブジェクトに関連付けられるサイズ、及び前記オブジェクトに関連付けられる方向のうちの少なくとも1つを示す、請求項6乃至13のいずれか一項に記載の方法。
【請求項15】
前記センサデータは、
画像データ、
ライダーデータ、
レーダーデータ、または、
飛行時間データのうちの少なくとも1つを含む、
請求項6乃至14のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本特許出願は、参照により本明細書に完全に組み込まれる、2021年12月3日に出願された米国特許出願第17/542,352号の優先権を主張する。
【背景技術】
【0002】
自律車両は、環境を横断するために様々なシステム、方法、及び装置を利用する。例えば、自律車両は、1つまたは複数の機械学習モデルを利用して、車両、人、建物、及び他のオブジェクトが存在し得る環境をナビゲートすることができる。多くの場合、自律車両は特定のタスク及び操作に対して特定の機械学習モデルを利用する。さらに、自律車両の1つの機械学習モデルからの出力は、自律車両の別の機械学習モデルへの入力として使用され得る。
【図面の簡単な説明】
【0003】
詳細な説明は添付の図面を参照して説明される。図では、参照番号の左端の数字は、参照番号が最初に現れる図を識別する。異なる図面における同じ参照番号の使用は、類似または同一のコンポーネントまたは特徴を示す。
【0004】
【
図1】
図1は、機械学習モデルを使用して追跡されたオブジェクトデータを判定するための、本明細書に記載の技術による例示的なプロセスを示すフロー図である。
【
図2】
図2は、入力センサデータに基づいて追跡されたオブジェクトデータを判定するための機械学習モデルの詳細例を示す。
【
図3】
図3は、本明細書に開示される技術のいくつかによる、機械学習モデルの検出コンポーネント及び追跡コンポーネントの詳細例を示す。
【
図4】
図4は、機械学習モデルの第1の部分の出力が機械学習モデルの第2の部分への入力として使用されるように調整されるように、機械学習モデルをエンドツーエンドでトレーニングすることに関連付けられる例示的な方法を示すフローチャートである。
【
図5】
図5は、車両によって使用される追跡されたオブジェクトデータを判定する機械学習モデルに関連付けられる例示的な方法を示すフローチャートである。
【
図6】
図6は、本明細書で説明される技術を実行するために使用され得る例示的なシステムを示すブロック図である。
【発明を実施するための形態】
【0005】
本開示は、とりわけ、第1の部分の出力が第2の部分の入力として使用されるように調整されるように、知覚システムの第2の部分(例えば、第2の機械学習モデル、第2のコンポーネントなど)の出力を少なくとも部分的に用いて知覚システムの第1の部分(例えば、第1の機械学習モデル、第1のコンポーネントなど)をトレーニングすることによって車両の知覚システムを改善するための技術を対象とする。換言すれば、知覚システムの各部分を個別にトレーニングするのではなく、本開示は、知覚システムの異なる部分が一緒にトレーニングされる技術を説明する。知覚システムをエンドツーエンドでトレーニングし(例えば、第2の部分の出力に基づいて第1の部分をトレーニングする、またはそうでなければ別個の部分を一緒にトレーニングする)、入力に時間的情報を含むことによって、第1の部分の出力は、第2の部分への入力として使用されるように調整されることができ、その結果、知覚システム全体の出力に対する精度及び信頼性が向上する。
【0006】
さらに、この出願は、車両の環境内のオブジェクトを追跡し、追跡データを環境内の特定のオブジェクトに関連付けるために時間データを利用する車両知覚システムの改善されたアーキテクチャを対象とする。すなわち、知覚システムの第1の機械学習モデルをトレーニングしてオブジェクトを検出して、別個に、知覚システムの第2の機械学習モデルをトレーニングしてオブジェクトを追跡するのではなく、知覚システムのアーキテクチャは、入力センサデータに基づいて追跡されたオブジェクトデータを出力するように構成される。すなわち、知覚システムは、入力センサデータに基づいて追跡されたオブジェクトデータを一緒に出力する第1の部分及び第2の部分を含み得る。
【0007】
例えば、知覚システム(例えば、機械学習モデル)は、第1の動作において、オブジェクトデータが環境内で検出されたオブジェクトについて決定されるように構成されることができ、ここで、オブジェクトデータは、オブジェクトの現在の位置を示す。第2の動作では、知覚システムは、オブジェクトに関連付けられた記憶された追跡データに基づいて、オブジェクトの推定された現在の位置を決定し得る。第3の動作では、知覚システムは、追跡されたオブジェクトデータとして、現在の位置が推定された現在の位置の閾値距離内にあることに少なくとも部分的に基づいて、オブジェクトデータを記憶された追跡データと関連付け得る。知覚システムは、追跡されたオブジェクトデータを出力することができ、追跡されたオブジェクトデータは、とりわけ、検出されたオブジェクトについて予測を行い、車両が環境を横断するための軌道を決定するなどするために、車両の他のコンポーネント及び/またはシステムによって使用され得る。
【0008】
限定ではなく例として、本開示に記載される様々な技術による方法は、車両が動作している環境を表すセンサデータを受信する技術を含み得る。いくつかの例では、車両は、画像センサ(例えば、カメラ)、ライダーセンサ、レーダーセンサ、飛行時間センサ、環境センサなどの1つまたは複数のセンサを含み得る。したがって、環境を表すセンサデータは、画像データ、ライダーデータ、レーダーデータ、飛行時間データなどを含み得る。さらに、いくつかの例では、センサデータは、本明細書で「t0」と称され得る現在時刻などの時間の第1のインスタンスに関連付けられ得る。
【0009】
いくつかの例では、センサデータは、車両で使用するように構成された機械学習モデルに入力され得る。いくつかの例では、機械学習モデルは、オブジェクトを検出し、検出されたオブジェクトを追跡し、並びに/または検出された及び/または追跡されたオブジェクトについて特定の予測を行うように構成された車両の知覚システムの一部であり得る。いくつかの例では、知覚システムは、1つまたは複数の機械学習モデルを含み得る。追加的または代替的に、知覚システムは、複数のステージ、サブプロセス、またはコンポーネントを含む単一の機械学習モデルを含み得る。すなわち、単一の機械学習モデルは、機械学習モデルの異なるステージが中間出力を決定し得るにもかかわらず、単一の入力に対する単一の出力を決定するように構成され得る。
【0010】
様々な例では、機械学習モデルは、環境内で検出された1つまたは複数のオブジェクトに関連付けられたオブジェクトデータを生成またはそうでなければ決定するようにトレーニングされたオブジェクト検出部分(例えば、第1のステージ、サブプロセス、コンポーネントなど)を含み得る。すなわち、機械学習モデルのオブジェクト検出部分は、環境内のオブジェクトの存在を検出し、及び/またはオブジェクトに関連付けられたオブジェクトデータを判定するために、1つまたは複数のアルゴリズムを使用してセンサデータを分析または処理し得る。いくつかの例では、オブジェクトデータは、環境内のそれぞれのオブジェクトに関連付けられた1つまたは複数のバウンディングボックスを含み得る。それぞれのバウンディングボックスは、センサデータが生成/キャプチャされた第1の時間インスタンス(t0)における特定のオブジェクトに関連付けられた情報を示し得る。例えば、バウンディングボックスは、とりわけ、t0における環境内のオブジェクトの位置、t0におけるオブジェクトの向き、オブジェクトのサイズなどを示し得る。追加的または代替的に、オブジェクトデータは、オブジェクトが移動可能な動的オブジェクト(例えば、車両、オートバイ、自転車、歩行者、動物など)及び/または静的オブジェクト(例えば、建物、路面、木、標識、障壁、縁石、駐車車両など)であるかどうかなど、オブジェクトの分類及び/またはタイプを示し得る。追加的または代替的に、オブジェクトデータは、t0におけるオブジェクトの速度、オブジェクトに関連付けられた信頼度など、オブジェクトに関連付けられた他の情報を示し得る。
【0011】
いくつかの例では、機械学習モデルは、オブジェクト追跡部分を含み得る。いくつかの例では、オブジェクト追跡部分は、t0-N-t0の期間中に検出されたオブジェクトによって横断される軌道を判定するために複数のサブプロセスを実行するように構成されることが可能であり、ここで、「N」は、1以上の任意の整数を表す。例えば、オブジェクト追跡部分は、とりわけ、位置推定サブプロセス、トラック位置関連付けサブプロセス、軌道推定サブプロセス、及び/またはトラック記憶サブプロセスを含み得る。例では、オブジェクト追跡部分は、入力として、オブジェクト検出部分によって判定されたオブジェクトデータ、並びにt0-N-t0-1の期間中にオブジェクトによって横断された軌道を示す格納された軌道データを受信し、本明細書で説明されるように追跡されたオブジェクトデータを出力し得る。
【0012】
いくつかの例では、機械学習モデルは、位置推定サブプロセス中に、時間t0における環境内のオブジェクトの推定位置を判定し得る。追加的または代替的に、機械学習モデルは、オブジェクトの推定される向き、オブジェクトの推定されるサイズ、オブジェクトの推定される分類など、並びにオブジェクトデータ内で示され得る任意の他の特徴を決定し得る。例では、機械学習モデルは、オブジェクトに関連付けられた記憶された追跡データに少なくとも部分的に基づいて、t0でのオブジェクトの推定される位置を決定する。記憶された追跡データは、t0-N-t0-1の過去の期間(例えば、t0における現在の時間のインスタンスの前の瞬間に終了する期間)の間にオブジェクトによって横断された軌道を示し得る。例えば、記憶された追跡データは、センサデータ、追跡データ、追跡されたオブジェクトデータなどの複数のフレームを含むことができ、個々のフレームは、異なる時間のインスタンス(例えば、t0-1、t0-2、t0-3、t0-4、t0-5など)に関連付けられる。いくつかの例では、時間の期間(例えば、100ミリ秒、200ミリ秒、500ミリ秒など)は、時間の各インスタンスを分離し得る。記憶された追跡データのフレームを使用して、機械学習モデルは、時間t0の現在のインスタンスにおけるオブジェクトの推定される位置を判定し得る。いくつかの例では、機械学習モデルは、環境内の異なるオブジェクトの複数の推定される位置を判定する。
【0013】
いくつかの例では、機械学習モデルは、追跡ー位置関連付けサブプロセス中に、オブジェクトの推定される位置に対応するオブジェクトの位置に少なくとも部分的に基づいて、特定のオブジェクトデータを特定の追跡データに関連付けることができる。言い換えれば、機械学習モデルは、オブジェクトデータに示されるように、オブジェクトの位置が推定される位置に対応すると判定することができる。例えば、機械学習モデルは、位置と推定される位置との間の距離、オブジェクトの向き及びオブジェクトの推定される向き、オブジェクトのサイズ及びオブジェクトの推定されるサイズ、オブジェクトの分類及びオブジェクトの予測される分類などのうちの1つ以上に少なくとも部分的に基づいて、位置が推定される位置に対応すると判定するようにトレーニングされ得る。いくつかの例では、トラックと関連付けられたオブジェクトとの間の関連付けは、一度に複数のオブジェクト及び軌道に対して作成され得る。
【0014】
いくつかの例では、機械学習モデルは、軌道推定サブプロセス中に、特定のオブジェクトに関連付けられた追跡されたオブジェクトデータを判定することができ、追跡されたオブジェクトデータは、オブジェクトデータ及び現在の時間のインスタンスを含む期間中(例えば、t0-N-t0)にオブジェクトによって横断された軌道を含む。例では、機械学習モデルは、特定のオブジェクトデータと特定の追跡データとの関連付けに基づいて、追跡されたオブジェクトデータを判定する。例えば、機械学習モデルは、t0におけるオブジェクトの位置及びt0-1におけるオブジェクトの事前の位置に少なくとも部分的に基づいて、t0-1-t0のオブジェクトの軌道を判定することができる。いくつかの例では、機械学習モデルは、軌道推定サブプロセス中に、複数のオブジェクトについて追跡されたオブジェクトデータを判定することができる。
【0015】
いくつかの例では、機械学習モデルは、トラックストレージサブプロセス中に、機械学習モデルにアクセス可能なメモリにオブジェクトの軌道を格納することができる。いくつかの例では、これは、機械学習モデルの長い短期記憶であり得る。いくつかの例では、機械学習モデルは、車両が環境を横断するにつれて連続的に実行され得るため、機械学習モデルは、そのオブジェクトの軌道が進行するにつれて、オブジェクトの格納されたそれぞれの軌道を更新し続けることができる。
【0016】
いくつかの例では、技術はまた、機械学習モデルから、少なくとも追跡されたオブジェクトデータを含む出力を受信することを含み得る。すなわち、機械学習モデルからの出力として受信された追跡されたオブジェクトデータは、環境内の各オブジェクトについて、そのオブジェクトに関連付けられたオブジェクトデータ(例えば、バウンディングボックス、分類、速度、信頼性など)、及び環境を通ってそのオブジェクトによって横断された軌道を示し得る。
【0017】
いくつかの例では、車両は、追跡されたオブジェクトデータに少なくとも部分的に基づいて制御されてよい。例えば、追跡されたオブジェクトデータの少なくとも一部は、予測システム、プランニングシステムなどの車両に関連付けられた別のシステムへの入力として使用され得る。
【0018】
上述のように、本開示はまた、複数の部分(例えば、ステージ、サブプロセス、コンポーネントなど)を含む機械学習モデルのエンドツーエンドトレーニングのための技術も対象とする。機械学習モデルがエンドツーエンドでトレーニングされるとき、機械学習モデルの出力は、機械学習モデルの個々の部分をトレーニングするために使用され、それ以外の場合、独立した機械学習モデルとして存在し得る。このようにして、機械学習モデルの一部の中間出力は、機械学習モデルの他の部分による入力として使用するために特別に調整され得る。
【0019】
限定ではなく例として、機械学習モデルのエンドツーエンドトレーニングに関連付けられた方法は、環境を横断する車両を表すセンサデータを受信する技術を含み得る。いくつかの例では、センサデータは、車両に関連付けられた格納されたログデータを含み得る。センサデータ/ログデータは、画像データ、ライダーデータ、レーダーデータ、飛行時間データなどであり得る。いくつかの例では、センサデータは、第1のフレームが第1の時間で環境を表し、第2のフレームが第2の時間で環境を表すように、環境に関連付けられたセンサデータを表す時間順序付けられた画像フレームの集合であってもよい。
【0020】
いくつかの例では、技術はまた、センサデータに表される環境内のオブジェクトに関連付けられたグラウンドトゥルースデータを受信することを含み得る。いくつかの例では、グラウンドトゥルースデータは、オブジェクトに関連付けられた追跡されたオブジェクトデータを含み得る。したがって、グラウンドトゥルースデータは、オブジェクトに関連付けられたバウンディングボックス、オブジェクトによって横断される軌道、オブジェクトの分類などを含み得る。いくつかの例では、グラウンドトゥルースデータは、人間のラベラー、トレーニングされた機械学習モデルなどによって決定され得る。いくつかの例では、グラウンドトゥルースデータは、環境に関連付けられたセンサデータを表す画像フレームの時間順序付けられた集合を含むことができ、各フレームは、それぞれの時間における環境内のオブジェクトに関する情報を示すために注釈が付けられており、情報は、バウンディングボックス、軌道、分類などを含む。
【0021】
いくつかの例では、センサデータは、機械学習モデルに入力され得る。様々な例では、機械学習モデルは、センサデータに少なくとも部分的に基づいて、オブジェクトに関連付けられたオブジェクトデータを判定するように構成された第1の部分(例えば、オブジェクト検出部分)を含むことができる。したがって、オブジェクトデータは、オブジェクトに関連付けられた少なくとも予測されたバウンディングボックスを含み得る。さらに、いくつかの例では、機械学習モデルは、第1の部分によって判定されたオブジェクトデータに少なくとも部分的に基づいて、環境を通るオブジェクトの移動に関連付けられた追跡データを判定するように構成された第2の部分(例えば、オブジェクト追跡部分)を含むことができる。いくつかの例では、追跡データは、環境を通ってオブジェクトによって横断される予測された軌道を含み得る。
【0022】
いくつかの例では、技術は、機械学習モデルから出力を受信することを含み得る。出力は、とりわけ、予測されたバウンディングボックス及び予測された軌道を含む予測された追跡されたオブジェクトデータを含み得る。出力に基づいて、グラウンドトゥルースデータ及び予測された追跡されたオブジェクトデータを比較して、グラウンドトゥルースデータと予測された追跡されたオブジェクトデータとの間に差異が存在するかどうかを判定することができる。いくつかの例では、差が閾値差を満たすか、または超えると判定された場合、機械学習モデルのパラメータは、差を最小限に抑えるように変更され得る。いくつかの例では、機械学習モデルの1つまたは複数の部分のパラメータが変更され得る。例えば、機械学習モデルの第1の部分のパラメータは、グラウンドトゥルースデータと予測された追跡されたオブジェクトデータとの間の差が最小化されるように、機械学習モデルの第2の部分によって使用されるようにオブジェクトデータを調整するように変更され得る。追加的または代替的に、機械学習モデルの第2の部分のパラメータは、差を最小限に抑えるのに役立つように変更され得る。いくつかの例では、機械学習モデルのパラメータを変更することは、差に基づいて第1の部分または第2の部分を再トレーニングすること、第1の部分または第2の部分のソフトウェアを更新することなどを含み得る。
【0023】
本明細書に記載の技術によれば、車両知覚システム及び/または機械学習モデルの性能を改善することができる。検出されたオブジェクトと格納された追跡データとの間の関連付けを行うときにオブジェクト軌道の時間的履歴を利用することによって、機械学習モデル/知覚システムは、オブジェクトの閉塞(occlusion)及びデータの切り替え(例えば、間違ったトラックを間違ったオブジェクトに関連付ける)に対してより脆弱ではない。さらに、本開示の技術に従って知覚システムモデルをエンドツーエンドでトレーニングすることによって、モデルの一部からの中間出力をモデルの他の部分に合わせることができ、最終的にはより良い全体的な出力につながる。自律車両のコンテキストでは、本明細書に記載の技術は、より正確な機械学習モデルを提供するが、これは、安全な意思決定を改善し、有害事象のリスクを最小限に抑えるなど、より正確な予測を行うことによって自律車両の安全性を高めることができる。これら及び他の改善は、当業者には容易に明らかであろう。
【0024】
本明細書で説明される技法は、いくつかのやり方で実施することができる。以下、図を参照しながら実施例を提示する。例示的な実装は、自律車両のコンテキストで説明されるが、本明細書で説明される方法、装置、及びコンポーネントは、様々なコンポーネント(例えば、センサコンポーネントまたはロボットプラットフォーム)に適用することができ、自律車両に限定されない。例えば、技術は、航空または船舶のコンテキストで、または他の機械学習及びトレーニングのコンテキストで利用することができる。さらに、本明細書で説明される技術は、実データ(例えば、センサを用いてキャプチャされた)、模擬データ(例えば、シミュレータによって生成された)、またはその2つの任意の組合せで用いることができる。
【0025】
図1は、機械学習モデルを使用して追跡されたオブジェクトデータを判定するための、本明細書に記載の技術による例示的なプロセス100を示す絵入りのフロー図である。例では、車両102は、1つまたは複数のセンサコンポーネントに関連付けられてよい。少なくとも1つの例では、センサコンポーネントは、車両102を取り囲む環境104に関連付けられたセンサデータ106をキャプチャすることができる。環境104は、車両であるオブジェクト108(1)、及び歩行者であるオブジェクト108(2)などの1つまたは複数のオブジェクトを含み得る。オブジェクト108(1)及び108(2)は、本明細書では「オブジェクト108」と総称され得る。少なくとも1つの例において、センサコンポーネントは、ライダーセンサ、レーダーセンサ、超音波トランスデューサ、ソナーセンサ、位置センサ(例えば、GPS、コンパスなど)、慣性センサ(例えば、慣性測定ユニット、加速度計、磁力計、ジャイロスコープなど)、カメラ(例えば、RGB、IR、強度、深度など)、ホイールエンコーダ、マイク、環境センサ(例えば、温度センサ、湿度センサ、光センサ、圧力センサなど)、飛行時間(ToF)センサなどを含むことが可能である。センサコンポーネントは、環境104に関連付けられたセンサデータ106を生成することができ、これは、限定されないが、ライダーデータ、レーダーデータ、超音波トランスデューサデータ、ソナーデータ、位置データ(例えば、GPS、コンパスなど)、ポーズデータ、慣性データ(例えば、慣性測定ユニットデータ、加速度計データ、磁力計データ、ジャイロスコープデータなど)、画像データ(例えば、RGBデータ、IRデータ、強度データ、深度データなど)、ホイールエンコーダデータ、マイクロホンデータ、環境センサデータ(例えば、温度センサデータ、湿度センサデータ、光センサデータ、圧力センサデータなど)、ToFセンサデータなどを含み得る。いくつかの例では、センサデータ106は、オブジェクトの動きを経時的に追跡できるように、コレクションとして機械学習モデル112に入力できる複数のスナップショット(例えば、フレーム)の形態であり得る。いくつかの例では、センサデータ106は、一定期間にわたって環境104を表すフレームの時間順序付きの集合であってもよい。例えば、センサデータ106は、ローリング方式で更新され得る(例えば、新しいフレームがコレクションに追加され、古いフレームが削除される)よりも、時間順にフレームを表す5つのフレームの集合であり得る。
【0026】
少なくとも1つの例示において、センサデータ106は、車両102に関連付けられた1つまたは複数のコンピューティングデバイス110に送信されてよい。1つまたは複数のコンピューティングデバイス110は、車両102に搭載されてもよく、またはネットワーク接続を介して車両102にリモートでアクセス可能であってもよい。1つまたは複数のコンピューティングデバイス110は、コンピューティングデバイス110のリソース(例えば、計算、メモリ、プロセシングコアなど)を使用して機械学習モデル112を実行し得る。一例では、機械学習モデル112は、車両102の知覚システムに関連付けられる。機械学習モデルは、検出コンポーネント114及び追跡コンポーネント122を含み得る。
【0027】
図1に示されるように、センサデータ106は、機械学習モデル112への入力として転送される。センサデータ106に少なくとも部分的に基づいて、機械学習モデル112の検出コンポーネント114は、オブジェクトデータ116を出力することができる。図示の例では、オブジェクトデータ116は、トップダウン(例えば、鳥瞰)の観点からの環境104のビューを表すトップダウンデータ118を含む。しかしながら、これはそのように限定することを意図するものではなく、オブジェクトデータ116は、データの他の表現を含み得る。いくつかの例では、オブジェクトデータ116は、オブジェクト108(1)に関連付けられたバウンディングボックス120(1)及びオブジェクト108(2)に関連付けられたバウンディングボックス120(2)など、検出コンポーネント114によって環境104内で検出されたオブジェクト108に関連付けられたバウンディングボックスを含み得る。
【0028】
オブジェクトデータ116は、いくつかの例では、機械学習モデル112の追跡コンポーネント122への入力として全体的または部分的に使用され得る。
図1には示されていないが、いくつかの例では、追跡コンポーネント122はまた、入力として、オブジェクト108(1)及び108(2)に関連付けられた記憶された追跡データを受信することができ、これは以下でさらに詳細に説明される。オブジェクトデータ116及び/または格納された追跡データに少なくとも部分的に基づいて、追跡コンポーネント122は、追跡されたオブジェクトデータ124を決定し、機械学習モデル112は、追跡されたオブジェクトデータ124を出力することができる。いくつかの例では、追跡されたオブジェクトデータ124は、トップダウンの視点からの環境104のビューを表すトップダウンデータ118を含むことができ、移動データは、オブジェクトの移動を示す。いくつかの例では、オブジェクトデータ116(例えば、バウンディングボックス120(1)及び120(2))を含むことに加えて、追跡されたオブジェクトデータ124はまた、オブジェクト108(1)によって横断される軌道126(1)及びオブジェクト108(2)によって横断される軌道126(2)など、環境104内のオブジェクトによって横断される軌道を含み得る。
【0029】
いくつかの例では、追跡コンポーネント122は、現在時間の前の期間中に検出されたオブジェクト108によって横断される軌道126を判定するために複数のサブプロセスを実行するように構成され得る。例えば、追跡コンポーネント122は、上記及び本明細書に記載されるように、位置推定サブプロセス、トラック位置関連付けサブプロセス、軌道推定サブプロセス、及び/またはトラック記憶サブプロセスを実行し得る。いくつかの例では、これらのサブプロセスは、互いに独立して実行する追跡コンポーネント122の別個のコンポーネントとして格納されてもよく、または機械学習モデル112の追跡コンポーネント122が追跡されたオブジェクトデータ124を判定する方法に関連付けられた論理演算と見なされてもよい。
【0030】
いくつかの例では、追跡コンポーネント122は、位置推定サブプロセス中に、現在時間t0における環境104内のオブジェクト108(1)及び108(2)の推定される位置を判定することができる。追加的または代替的に、追跡コンポーネント122は、オブジェクト108(1)及び108(2)の推定される向き、オブジェクト108(1)及び108(2)の推定されるサイズ、オブジェクト108(1)及び108(2)の推定される分類など、並びに上記及び本明細書に記載されるようにオブジェクトデータ116内に示され得る任意の他の特徴を決定することができる。例では、追跡コンポーネント122は、オブジェクト108(1)及び108(2)に関連付けられた記憶された追跡データに少なくとも部分的に基づいて、t0におけるオブジェクト108(1)及び108(2)の推定される位置を決定する。記憶された追跡データは、t0-N-t0-1の過去の期間(例えば、t0における現在時間のインスタンスの前の瞬間に終了する期間)の間にオブジェクト108(1)及び108(2)によって横断された軌道を示し得る。例えば、記憶された追跡データは、センサデータ106、追跡データ、追跡されたオブジェクトデータ124などの複数の以前のフレームを含むことができ、個々のフレームは、異なる時間のインスタンス(例えば、t0-1、t0-2、t0-3、t0-4、t0-5など)に関連付けられる。記憶された追跡データのフレームを使用して、追跡コンポーネント122は、時間t0の現在のインスタンスにおけるオブジェクト108(1)及び108(2)の推定される位置を判定することができる。
【0031】
いくつかの例では、追跡コンポーネント122は、トラック位置関連付けサブプロセス中に、オブジェクト108(1)及び108(2)の推定される位置に対応するオブジェクト108(1)及び108(2)の位置に少なくとも部分的に基づいて、特定のオブジェクトデータ116(例えば、バウンディングボックス120(1)及び120(2))を特定の追跡データ(例えば、それぞれ軌道126(1)及び126(2))に関連付けることができる。言い換えれば、追跡コンポーネント122は、オブジェクトデータ116に示されるように、オブジェクト108(1)及び108(2)の位置が推定される位置に対応すると決定することができる。
【0032】
いくつかの例では、追跡コンポーネント122は、軌道推定サブプロセス中に、特定のオブジェクト108(1)または108(2)に関連付けられた追跡されたオブジェクトデータ124を決定することができ、追跡されたオブジェクトデータ124は、オブジェクトデータ116と、現在の時間のインスタンス(例えば、t0-N-t0から)を含む期間中にオブジェクト108(1)及び108(2)によって横断された軌道126(1)及び126(2)を含む。
【0033】
いくつかの例では、追跡コンポーネント122または機械学習モデル112は、トラックストレージサブプロセス中に、オブジェクト108(1)及び108(2)の軌道126(1)及び126(2)を、機械学習モデル112及び/または追跡コンポーネント122にアクセス可能なメモリに格納することができる。いくつかの例では、メモリは、機械学習モデル112及び/または追跡コンポーネント122の長い短期記憶を含み得る。いくつかの例では、機械学習モデル112は、車両102が環境104を横断するにつれて連続的に実行され得るため、追跡コンポーネント122は、オブジェクト108(1)及び108(2)が環境104を通って進行するにつれて、オブジェクト108(1)及び108(2)の格納されたそれぞれの軌道を更新し続けることができる。
【0034】
追跡されたオブジェクトデータ124は、いくつかの例では、コンピューティングデバイス110上で実行される予測コンポーネント128に転送され得る。一例では、予測コンポーネント128は、環境104内のオブジェクトについて予測を行うようにトレーニングされた1つまたは複数の機械学習モデルを含む。したがって、予測コンポーネント128は、追跡されたオブジェクトデータ124の一部または全てに少なくとも部分的に基づいて、オブジェクトに関連付けられた予測データ130を判定することができる。いくつかの例では、予測データ130は、トップダウンの視点からの環境104のビューを表すトップダウンデータ118を含み得る。追加的または代替的に、予測データ130は、オブジェクトに関連付けられた1つまたは複数の予測を示し得る。例えば、オブジェクト108(1)及び108(2)にそれぞれ関連付けられた予測132(1)及び132(2)は、オブジェクト108(1)及び108(2)が将来の期間中に環境104内を横断すると予測される軌道を含む。
【0035】
いくつかの例では、予測データ130は、コンピューティングデバイス110上で実行されている車両102のプランナコンポーネント134への入力として転送され得る。一例では、プランナコンポーネント134は、車両102が環境104を通過するために計画された軌道を判定するように構成された1つまたは複数の機械学習モデル及び/または他のアルゴリズムを含む。したがって、プランナコンポーネント134は、追跡されたオブジェクトデータ124及び/または予測データ130に少なくとも部分的に基づいて、車両102の計画された軌道を判定することができる。
【0036】
様々な例では、センサデータ106、オブジェクトデータ116、追跡されたオブジェクトデータ124、または予測データ130のうちのいずれか1つは、マルチチャネル画像としてフォーマットされてよく、マルチチャネル画像の個々のチャネルは、情報の選択を表し得る。例えば、マルチチャネル画像の第1のチャネルは、オブジェクト(複数可)に関連付けられたバウンディングボックス(複数可)を含むことができ、マルチチャネル画像の第2のチャネルは、オブジェクト(複数可)に関連付けられた速度情報を含むことができ、マルチチャネル画像の第3のチャネルは、環境データ(例えば、サーフェスまたは車線マーキング、信号情報など)を含むことができる。さらに、いくつかの例では、マルチチャネル画像の複数の異なるチャネルは、同じ情報の一部を含むことができる。例えば、マルチチャネル画像の第1のチャネル及び第2のチャネルは、それぞれ、環境内の同じオブジェクトに関連付けられたバウンディングボックスを含むことができる。チャネルは、例えば、3次元画像スタック内の色及び/またはレイヤとして表すことができる。
【0037】
図2は、入力センサデータ106に基づいて追跡されたオブジェクトデータ124を判定するための機械学習モデル112の例示的な詳細200を示す。センサデータ106は、車両が動作している環境に関連付けられた画像データ、ライダーデータ、レーダーデータ、及び/または飛行時間データであってよい。「1」において、機械学習モデル112の検出コンポーネント114は、センサデータ106を受信し、現在時間t
0におけるオブジェクトに関連付けられたオブジェクトデータ116を判定する。オブジェクトデータ116は、機械学習モデル112のトラック位置関連付け及び軌道推定コンポーネント212に転送され得る。いくつかの例では、トラック位置関連付け及び軌道推定コンポーネント212は、本明細書で説明される追跡コンポーネント122の一部であり得る。
【0038】
「2」において、位置推定コンポーネント202は、環境内のオブジェクトに関連付けられた追跡データ206を受信し、追跡データ206に基づいて、現在時間t0におけるオブジェクトに関連付けられた推定されたオブジェクトデータ210を判定することができる。位置推定コンポーネント202は、長い短期記憶を含み得る機械学習モデル112のメモリ204から追跡データ206を受信することができる。追跡データ206は、センサデータ、追跡データなどの1つまたは複数のフレーム208(1)~208(N)(Nは、2以上の任意の整数を表し得る)を含むことができる。いくつかの例では、第1のフレーム208(1)は、t0-1における環境内のオブジェクトの軌道及び/または位置を示し、第2のフレームは、t0-2における環境内のオブジェクトの軌道及び/または位置を示し得、第Nのフレーム208(N)は、t0-Nにおける環境内のオブジェクトの軌道及び/または位置を示し得る。位置推定コンポーネント202は、現在時間t0における推定されるオブジェクトデータ210を判定するために、複数のフレーム208を利用することができる。推定されるオブジェクトデータ210は、トラック位置関連付け及び軌道推定コンポーネント212に転送され得る。
【0039】
「3」において、トラック位置関連付け及び軌道推定コンポーネント212は、オブジェクトデータ116及び推定されるオブジェクトデータ210に少なくとも部分的に基づいて、現在時間t0における追跡されるオブジェクトデータを判定することができる。例えば、トラック位置関連付け及び軌道推定コンポーネント212は、オブジェクトデータ116に示されるオブジェクトの位置が、推定されるオブジェクトデータ210に示されるオブジェクトの推定される位置に対応することを判定することができる。対応する位置に基づいて、トラック位置関連付け及び軌道推定コンポーネント212は、どのトラックがどのオブジェクトに対応するかを決定した後、格納された追跡データをオブジェクトに関連付けることができる。さらに、トラック位置関連付け及び軌道推定コンポーネント212は、t0-1におけるオブジェクトの位置及びt0におけるオブジェクトの現在位置に基づいて、オブジェクトによって横断される軌道を推定することができる。この推定される軌道は、追跡されたオブジェクトデータ124に含まれ得る。したがって、追跡されたオブジェクトデータ124に示されるオブジェクト108のそれぞれについて、オブジェクト108に関連付けられたバウンディングボックス120、並びにオブジェクト108によって横断される軌道126が示され得る。
【0040】
「4」において、t0における追跡されたオブジェクトデータ124は、メモリ204に記憶される。このようにして、t0における追跡されたオブジェクトデータ124は、将来の時間t0+1のオブジェクトデータを推定するために、位置推定コンポーネント202によって利用され得る。さらに、「5」において、追跡されたオブジェクトデータ124は、オブジェクト108(1)及び108(2)の将来の軌道及び他の挙動を予測するために予測コンポーネント128に転送される。
【0041】
図3は、本明細書に開示される技術のいくつかによる、機械学習モデルの検出コンポーネント114及び追跡コンポーネント122の例示的な詳細300を示す。示されるように、検出コンポーネント114は、トップダウンデータ118を決定することができる2次元畳み込みニューラルネットワーク(2D CNN)バックボーン302と、オブジェクトデータ116を決定することができる検出ヘッド306とを含むことができる。追跡コンポーネント122は、バイリニア線形補間コンポーネント308、有限差分コンポーネント310、マルチレイヤ知覚(MLP)コンポーネント312、長時間短期記憶(LSTM)コンポーネント316、MLPリファインメントコンポーネント320、バイパータイトマッチング及び単一オブジェクトトラッキング(SOT)コンポーネント322、及び非最大抑制(NMS)コンポーネント326を含むことができる。
【0042】
バイリニア線形補間コンポーネント308は、トップダウンデータ118及び追跡データ206を受信し、新しい観測である環境内のオブジェクト(例えば、追跡データ206が存在しないオブジェクト)を決定することができ、逆もまた同様である。例えば、追跡データが環境内に3つのオブジェクトがあることを示すが、トップダウンデータ118が2つのオブジェクトのみを示す場合、バイリニア線形補間コンポーネント308は、なぜ一致する追跡データ(例えば、環境内の新しいオブジェクト、環境から離れるオブジェクトなど)が存在しないのかを判定するために活用され得る。
【0043】
LSTMコンポーネント316は、特徴テンソル、有限差分、及びMLPコンポーネント312からの出力などのオブジェクト/特徴に関連付けられたデータ及び他の情報を受信し、1つ以上の軌道レベル表現318を判定することができる。MLPリファインメントコンポーネント320は、軌道レベル表現318を利用して、スコア、位置オフセット、及び他のデータ328を決定することができる。
【0044】
バイパータイトマッチング及びSOTコンポーネント322は、追跡データ206に示されるような追跡されたオブジェクトと、オブジェクトデータ116に含まれるオブジェクトの新しい観測との間で1対1マッチングを実行することができる。すなわち、バイパータイトマッチング及びSOTコンポーネント322は、環境内のオブジェクト(例えば、追跡されたオブジェクトデータ124)に関連付けられた1つまたは複数の現在トラック324を判定することができる。
【0045】
NMSコンポーネント326は、現在トラック324と、スコア、位置オフセット、及び他のデータ328とを利用して、リファインされた現在トラック330を判定することができる。リファインされた現在トラック(複数可)は、転送され、他の追跡データ206と共に格納され得る。このようにして、リファインされた現在トラック330を使用して、将来時間における軌道レベル表現318及び/または追加の現在トラック324を判定することができる。
【0046】
図4及び
図5は、車両の監視に関連付けられたディスプレイ上に様々なユーザインターフェースを提示する例示的な方法を示すフローチャートである。
図4及び
図5に示される方法は、利便性及び理解の容易さのために
図1~
図3に記載される車両、システム、及び/またはユーザインタフェースのうちの1つ以上を参照して説明される。しかしながら、
図4及び
図5に示される方法は、
図1~
図3に記載される車両、システム、及び/またはユーザインタフェースを用いて実行されることに限定されず、本出願に記載されている他の車両、システム、及びユーザインターフェースのいずれか、並びに本明細書に記載されているもの以外の車両、システム、及びユーザインターフェースを使用して実装され得る。さらに、本明細書で説明される車両、システム、及びユーザインターフェースは、
図4及び
図5に例示される方法を実行することに限定されない。
【0047】
方法400及び500は、論理フローグラフにおけるブロックの集合として図示されており、これらは、ハードウェア、ソフトウェア、またはそれらの組み合わせで実施され得る一連の操作を表現する。ソフトウェアのコンテキストでは、ブロックは、1つまたは複数のコンピュータ可読記憶媒体に格納されたコンピュータ実行可能命令を表し、1つまたは複数のプロセッサによって実行されると、記載された動作を実行する。一般に、コンピュータ実行可能命令は、特定の機能を実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。操作が記載される順序は限定して解釈されることを意図するものではなく、任意の数の記載されるブロックを任意の順序で及び/又は並行し結合して、プロセスを実装することができる。いくつかの実施形態では、プロセスの1つまたは複数のブロックを完全に省略できる。さらに、方法400及び500は、全体的もしくは部分的に、互いにまたは他の方法で組み合わされてよい。
【0048】
図4は、機械学習モデルの第1の部分の出力が機械学習モデルの第2の部分への入力として使用されるように調整されるように、機械学習モデルをエンドツーエンドでトレーニングすることに関連付けられた例示的な方法400を示すフローチャートである。方法400は、動作402で開始し、ここでは、環境を横断する車両に関連付けられたセンサデータを受信することを含む。例えば、コンピューティングデバイス110は、車両102を取り囲む環境104に関連付けられたセンサデータ106を受信することができる。いくつかの例では、環境は、オブジェクト108(1)及び108(2)などの1つまたは複数のオブジェクトを含み得る。いくつかの例では、限定されるわけではないが、センサーデータには、ライダーデータ、レーダーデータ、超音波トランスデューサデータ、ソナーデータ、位置データ(例えば、GPS、コンパスなど)、ポーズデータ、慣性データ(例えば、慣性測定ユニットデータ、加速度計データ、磁力計データ、ジャイロスコープデータなど)、画像データ(例えば、RGBデータ、IRデータ、強度データ、深度データなど)、ホイールエンコーダデータ、マイクロホンデータ、環境センサデータ(例えば、温度センサデータ、湿度センサデータ、光センサデータ、圧力センサデータなど)、飛行時間(ToF)センサデータなどが含まれる。いくつかの例では、センサデータは、実際のセンサデータ(例えば、車両のセンサによって生成される)またはシミュレートされたセンサデータであり得る。
【0049】
動作404において、方法400は、環境内のオブジェクトに関連付けられたグラウンドトゥルースデータを受信することを含む。例えば、コンピューティングデバイス110は、グラウンドトゥルースデータを受信することができる。いくつかの例では、グラウンドトゥルースデータは、オブジェクトに関連付けられた追跡されたオブジェクトデータを含み得る。したがって、グラウンドトゥルースデータは、オブジェクトに関連付けられたバウンディングボックス、オブジェクトによって横断される軌道、オブジェクトの分類などを含み得る。いくつかの例では、グラウンドトゥルースデータは、人間のラベラー、トレーニングされた機械学習モデルなどによって決定され得る。
【0050】
動作406において、方法400は、センサデータを機械学習モデルに入力することを含む。例えば、コンピューティングデバイス110は、センサデータ106を機械学習モデル112に入力することができる。動作408において、方法400は、機械学習モデルから、機械学習モデルの第1の部分によって決定された第1のデータ及び機械学習モデルの第2の部分によって決定された第2のデータを含む出力を受信することを含む。例えば、出力は、第1のデータ(例えば、検出コンポーネント114によって判定されたオブジェクトデータ)及び第2のデータ(例えば、追跡コンポーネント122によって判定された軌道データ)を含む追跡されたオブジェクトデータ124を含み得る。すなわち、出力は、オブジェクトに関連付けられた予測されたバウンディングボックスと、オブジェクトによって横断される予測された軌道とを少なくとも含み得る。本明細書に記載されるように、ある例では、機械学習モデルの第2の部分は、機械学習モデルの第1の部分によって決定された第1のデータに少なくとも部分的に基づいて第2のデータを決定し得る。
【0051】
動作410において、方法400は、出力とグラウンドトゥルースデータとの間の差を決定することを含む。いくつかの例では、出力とグラウンドトゥルースデータとの間の差は、軌道と予測軌道との間の差、バウンディングボックスと予測バウンディングボックスとの間の差などであり得る。動作412において、方法400は、差が閾値差を超えるかどうかを判定することを含む。差が閾値差を超えない(例えば、閾値差よりも小さい)場合、方法400は、動作414に進む。しかしながら、差が閾値差を満たすか、または超える場合、方法400は、動作416に進む。
【0052】
動作414において、方法400は、第1のアクションを実行することを含む。いくつかの例では、第1のアクションは、機械学習モデルが訓練された機械学習モデルであると判定することを含むことができる。追加的または代替的に、第1のアクションは、環境を横断するために車両によって使用されるための機械学習モデルを車両に送信することを含むことができる。いくつかの例では、第1のアクションは、シミュレーション内または追加のセンサデータを用いて機械学習モデルのパフォーマンスを検証することを含むことができる。
【0053】
動作416において、方法400は、機械学習モデルの第1の部分のパラメータを変更することを含む。例えば、検出コンポーネント114または追跡コンポーネント122のパラメータは、それらのコンポーネントによって実行されるサブプロセスと同様に、または代替的に、変更され得る。いくつかの例では、パラメータを変更することは、モデルの第1の部分のソフトウェアコンポーネントを変更すること、または差に少なくとも部分的に基づいてモデルの第1の部分を再トレーニングすることを含み得る。このようにして、モデルの第1の部分によって決定された第1のデータは、将来の予測において、機械学習モデルの第2の部分の入力として使用するために第1のデータが調整されるように調整され得る。
【0054】
図5は、車両によって使用されるための追跡されたオブジェクトデータを判定する機械学習モデルに関連付けられた例示的な方法500を示すフローチャートである。方法500は、動作502で開始し、ここでは、車両が動作している環境を表すセンサデータを機械学習モデルに入力することを含み、センサデータは現在時刻に関連付けられる。例えば、コンピューティングデバイス110は、車両102を取り巻く環境104に関連付けられたセンサデータ106を機械学習モデル112に入力し得る。いくつかの例では、センサデータ106に表された環境は、オブジェクト108(1)及び108(2)などの1つまたは複数のオブジェクトを含み得る。いくつかの例では、限定されるわけではないが、センサデータには、ライダーデータ、レーダーデータ、超音波トランスデューサデータ、ソナーデータ、位置データ(例えば、GPS、コンパスなど)、ポーズデータ、慣性データ(例えば、慣性測定ユニットデータ、加速度計データ、磁力計データ、ジャイロスコープデータなど)、画像データ(例えば、RGBデータ、IRデータ、強度データ、深度データなど)、ホイールエンコーダデータ、マイクロホンデータ、環境センサデータ(例えば、温度センサデータ、湿度センサデータ、光センサデータ、圧力センサデータなど)、飛行時間(ToF)センサデータなどが含まれる。いくつかの例では、センサデータは、実際のセンサデータ(例えば、車両のセンサによって生成される)またはシミュレートされたセンサデータであり得る。
【0055】
方法500の動作504において、機械学習モデル112は、環境内のオブジェクトに関連付けられたオブジェクトデータを判定することができ、オブジェクトデータは、環境内のオブジェクトの位置を示す。例えば、機械学習モデル112の検出コンポーネント114は、環境104内のオブジェクト108に関連付けられたオブジェクトデータ116を判定することができる。いくつかの例では、オブジェクトデータは、トップダウン(例えば、鳥瞰)の観点からの環境のビューを表すトップダウンデータ118を含み得る。いくつかの例では、オブジェクトデータ116は、
図1に示されるような、オブジェクト108(1)に関連付けられたバウンディングボックス120(1)及びオブジェクト108(2)に関連付けられたバウンディングボックス120(2)など、検出コンポーネント114によって環境104内で検出されたオブジェクトに関連付けられたバウンディングボックスを含み得る。
【0056】
方法500の動作506において、機械学習モデル112は、オブジェクトに関連付けられた記憶された追跡データ206に少なくとも部分的に基づいて、環境内のオブジェクトの推定される位置を判定することができる。例えば、追跡コンポーネント122は、記憶された追跡データ206に少なくとも部分的に基づいて、環境内のオブジェクトの推定される位置を判定することができる。いくつかの例では、追跡コンポーネント122のコンポーネントまたはサブプロセスであり得る位置推定コンポーネント202は、オブジェクトの推定される位置を判定することができる。いくつかの例では、推定される位置を決定することは、オブジェクトに関連付けられたバウンディングボックスの推定される位置を決定することを含み得る。
【0057】
方法500の動作508において、機械学習モデル112は、追跡されたオブジェクトデータとして、位置及び推定された位置に少なくとも部分的に基づいて、オブジェクトデータを追跡データと関連付けることができる。例えば、追跡コンポーネント122は、追跡されたオブジェクトデータ124として、オブジェクトデータ116を追跡データ206に関連付けることができる。いくつかの例では、追跡コンポーネント122のコンポーネントまたはサブプロセスであり得るトラック位置関連付けコンポーネント及び/または軌道推定コンポーネントは、追跡されたオブジェクトデータを関連付けることができる。いくつかの例では、オブジェクトデータと記憶された追跡データとの関連付けは、位置と推定された位置との間の近接性に少なくとも部分的に基づいてもよい。
【0058】
方法500の動作510において、機械学習モデル112は、追跡されたオブジェクトデータに少なくとも部分的に基づいて、記憶された追跡データを更新することができる。例えば、機械学習モデル112の追跡コンポーネント122は、記憶された追跡データを更新することができる。いくつかの例では、更新された記憶された追跡データ206は、機械学習モデル112及び/または追跡コンポーネント122にアクセス可能なメモリ、例えば長い短期記憶に記憶され得る。
【0059】
方法500の動作512において、機械学習モデル112は、追跡されたオブジェクトデータを出力することができる。動作514において、方法500は、車両の動作を制御することを含む。例えば、車両の動作は、機械学習モデル112から受信された追跡されたオブジェクトデータ124に少なくとも部分的に基づいて制御され得る。いくつかの例では、車両102の予測コンポーネント128は、追跡されたオブジェクトデータ124を利用して、予測された将来の軌道などの環境内のオブジェクトに関する1つまたは複数の予測を行うことができ、車両は、予測に少なくとも部分的に基づいて制御され得る。追加的または代替的に、車両102のプランナコンポーネント134は、追跡されたオブジェクトデータ124及び/または追跡されたオブジェクトデータに基づいた予測を利用して、車両の動作を制御することができる。例えば、プランナコンポーネント134は、追跡されたオブジェクトデータまたは予測に少なくとも部分的に基づいて、車両102が環境を横断するための軌道を判定することができる。
【0060】
図6は、本明細書で説明される技術を実行するために使用され得る例示的なシステムを示すブロック図である。少なくとも1つの例において、車両602は、
図1~
図5を参照して上述した車両102に対応することができ、1つまたは複数の車両コンピューティングデバイス604(コンピューティングデバイス110に対応し得る)、1つまたは複数のセンサシステム606、1つまたは複数のエミッタ608、1つまたは複数の通信接続610、少なくとも1つの直接接続612、及び1つまたは複数の駆動システム614を含むことができる。
【0061】
少なくとも1つの例では、車両602は、米国運輸省道路交通安全局によって発行されたレベル6分類に従って動作するよう構成される自律車両であり、運転者(または乗員)の常時車両制御を期待することなく全行程に対する全てのセーフティクリティカルな機能を実行可能な車両を表すことができる。このような例では、車両602は全ての駐車機能を含む発進から停止までの全ての機能を制御するように構成されることが可能であるため、無人化することが可能である。これは単なる例であり、ここで説明するコンポーネントと方法は、ドライバーが常に手動で制御する必要がある車両から、部分的または完全に自律的に制御されているものまで、を含んでいる任意の地上、空中または水上車両に組み込むことができる。つまり、説明された例において、車両602は、自律走行車であるが、車両602は、任意の他のタイプの車両であってよい。単一の車両602のみが
図6に示されているが、実用的なアプリケーションでは、例示的なシステム600は、複数の車両を含むことができ、いくつかの例では、車両のフリートを含むことができる。
【0062】
車両コンピューティングデバイス604は、プロセッサ616と、プロセッサ616と通信可能に結合されたメモリ618とを含むことが可能である。図示の例では、車両コンピューティングデバイス604のメモリ618は、ローカリゼーションコンポーネント620、知覚コンポーネント622、予測コンポーネント130、プランナコンポーネント134、及び1つまたは複数のシステムコントローラ624を格納する。
【0063】
少なくとも1つの例において、及び上述したように、ローカリゼーションコンポーネント620は、センサコンポーネント606から受信したセンサデータ及び/または車両602が動作している環境のマップに関連付けられたマップデータに少なくとも部分的に基づいて、ローカル及び/またはグローバルマップに関連して車両602のポーズ(位置及び向き)を判定することができる。少なくとも1つの例において、ローカリゼーションコンポーネント620は、較正する動作(1つまたは複数のセンサコンポーネント606のうちのいずれかに関連付けられる様々な内因性及び外因性パラメータを決定すること)、位置決めする動作、及びマッピングする動作を実質的に同時に実行することが可能な較正コンポーネントを含むか、または関連付けられてよい。
【0064】
少なくとも1つの例において、知覚コンポーネント622は、センサコンポーネント606から受信されるセンサデータに少なくとも部分的に基づいて、オブジェクトの検出、セグメンテーション、及び/または分類を実行することができる。少なくとも1つの例において、知覚コンポーネント622は、生のセンサデータを(例えば、センサコンポーネント606から)受信することができる。少なくとも1つの例において、知覚コンポーネント622は、センサデータを受信することができ、1つまたは複数の処理アルゴリズム及び/または機械学習モデルを利用して、センサデータで識別されたオブジェクト(複数可)に関してオブジェクト検出、セグメンテーション、及び/または分類を実行することができる。いくつかの例では、知覚コンポーネント622は、境界領域(例えば、バウンディングボックスまたはそうでなければインスタンスセグメンテーション)を識別されたオブジェクトに関連付けることができ、識別されたオブジェクトの分類に関連付けられた信頼度スコアを識別されたオブジェクトに関連付けることができる。
【0065】
例では、知覚コンポーネント622は、追跡データ206と同様に、機械学習モデル112を含むことができる。機械学習モデル112、または機械学習モデル112の少なくとも追跡コンポーネントは、本明細書で説明されるように、追跡データ206を利用して、環境内のオブジェクトの位置を推定することができる。いくつかの例では、追跡データ206は、長い短期記憶などのメモリに格納される。
【0066】
予測コンポーネント130は、センサコンポーネント606からセンサデータ、マップデータ、及び/または知覚コンポーネント622から出力された知覚データ(例えば、処理されたセンサデータ)を受信することができ、車両602の環境内の1つまたは複数のオブジェクトに関連付けられた予測を出力することができる。予測は、車両602が動作している環境内のオブジェクトに関連付けられた予測軌道を含むことができる。本明細書に記載されるように、予測コンポーネントはまた、機械学習モデル112によって出力された追跡されたオブジェクトデータ124を受信することができる。
【0067】
プランナコンポーネント134は、ローカリゼーションコンポーネント620、知覚コンポーネント622、予測コンポーネント130からのデータ、情報、及び/または出力、並びにマップデータを受信することができ、1つまたは複数の提案された車両動作(例えば、提案された軌道)を生成することができる。使用可能なローカリゼーションコンポーネント、知覚コンポーネント、予測コンポーネント、及び/またはプランナコンポーネントの追加の詳細は、2017年4月4日に発行された米国特許第9,612,123号、及び2019年7月16日に発行された米国特許第10,363,390号に見出すことができ、これらの両方の内容全体は、参照により、その全体が本明細書に組み込まれ、全ての目的のために本明細書に組み込まれる。いくつかの例において(例えば、車両602が自律車両ではない場合)、前述のコンポーネントの1つまたは複数を車両602から除いてよい。少なくとも1つの例において、プランナコンポーネント134は、知覚コンポーネント622の機械学習モデル112から追跡されたオブジェクトデータ124を受信する。
【0068】
少なくとも1つの例において、車両コンピューティングデバイス604は、1つまたは複数のシステムコントローラ624を含むことができ、これは、車両602のステアリング、推進、ブレーキ、安全装置、エミッタ、通信、及び他のシステムを制御するように構成され得る。これらのシステムコントローラ624は、駆動システム614に対応するシステム及び/または車両602の他のシステムと通信し、及び/またはこれらを制御することができる。
【0069】
上記のコンポーネントは、車両602に「搭載」されるように示されているが、他の実施態様では、コンポーネントは、車両602に遠隔に配置され、及び/またはアクセス可能であり得る。例えば、コンポーネントは、コンピューティングデバイス628上にリモートに配置され、1つまたは複数のネットワーク626を介して車両602にアクセス可能であり得る。さらに、コンポーネントは「コンポーネント」として上述されているが、そのようなコンポーネントは、各コンポーネントに起因する動作を実行するために、システムの一部であり得る1つまたは複数のコンポーネント及び/またはモジュールを含むことができる。
【0070】
少なくとも1つの例において、ローカリゼーションコンポーネント620、知覚コンポーネント622、予測コンポーネント130、及びプランナコンポーネント134は、上述したように、データを処理することができ、それらのそれぞれの出力をネットワーク626を介してコンピューティングデバイス628に送信することができる。少なくとも1つの例では、ローカリゼーションコンポーネント620、知覚コンポーネント622、予測コンポーネント130、及びプランナコンポーネント134は、所定の期間の経過後、ほぼリアルタイムなどで、それぞれの出力を特定の周波数でコンピューティングデバイス628に送信できる。
【0071】
少なくとも1つの例において、センサコンポーネント606は、ライダーセンサ、レーダーセンサ、超音波トランスデューサ、ソナーセンサ、位置センサ(例えば、GPS、コンパスなど)、慣性センサ(例えば、慣性測定ユニット、加速度計、磁力計、ジャイロスコープなど)、カメラ(例えば、RGB、IR、強度、深度など)、ホイールエンコーダ、オーディオセンサ、環境センサ(例えば、温度センサ、湿度センサ、光センサ、圧力センサなど)、ToFセンサなどを含むことが可能である。センサコンポーネント606は、車両コンピューティングデバイス604に入力を提供することができる。ある例において、センサコンポーネント606は、センサデータを車両コンピューティングデバイス604に送信する前に、センサデータの少なくとも一部を前処理することができる。少なくとも1つの例において、センサコンポーネント606は、ネットワーク626を介して、所定の期間が経過した後で、ほぼリアルタイムに特定の周波数でセンサデータをコンピューティングデバイス628に送信することができる。
【0072】
また、車両602は、上記のように、光及び/または音を発する1つまたは複数のエミッタ608を含むことができる。この例におけるエミッタ608は、内部オーディオ及び視覚エミッタを含み、車両602の乗員と通信する。例示の目的で、限定ではなく、内部エミッタは、スピーカ、光、サイン、ディスプレイ画面、タッチ画面、触覚エミッタ(例えば、振動及び/またはフォースフィードバック)、機械的アクチュエータ(例えば、シートベルトテンショナ、シートポジショナ、ヘッドレストポジショナなど)などを含むことができる。この例におけるエミッタ608はまた、外部エミッタを含み得る。限定ではなく例として、この例の外部エミッタは、歩行者、他のドライバー、他の近くの車両などと視覚的に通信するためのライトエミッタ(例えば、インジケータライト、標識、ライトアレイなど)、歩行者、他のドライバー、他の近くの車両などと音声で通信するための1つまたは複数のオーディオエミッタ(例えば、スピーカ、スピーカアレイ、ホーンなど)などを含む。少なくとも1つの例において、エミッタ608は、車両602の外部及び/または内部についての様々な位置に配置されることが可能である。
【0073】
車両602はまた、車両602と、コンピューティングデバイス628並びに他のリモートまたはローカルコンピューティングデバイスなどの他のローカルまたはリモートコンピューティングデバイスとの間の通信を可能にする通信接続610を含むことができる。例えば、通信接続610は、車両602及び/または駆動システム614上の他のローカルコンピューティングデバイスとの通信を容易にできる。また、通信接続610は、車両が他の近くのコンピューティングデバイス(例えば、他の近くの車両、交通信号など)と通信することを可能にする。また、通信接続610は、車両602が、リモートテレオペレーションコンピューティングデバイスまたは他のリモートサービスと通信することも可能にする。
【0074】
通信接続610は、車両コンピューティングデバイス604を別のコンピューティングデバイス、またはネットワーク626などのネットワークに接続するための物理的及び/または論理的なインターフェースを含むことができる。例えば、通信接続610は、IEEE802.11規格によって定義される周波数、ブルートゥース(登録商標)などの短距離無線周波数、またはそれぞれのコンピューティングデバイスが他のコンピューティングデバイスとインターフェースで接続することを可能とする任意の適切な有線または無線通信プロトコルを介するWi-Fiベースの通信を可能とする。
【0075】
直接接続612は、駆動システム614と車両602の他のシステムとを直接接続することができる。少なくとも1つの例では、車両602は、駆動システム614を含むことができる。いくつかの例では、車両602は、単一の駆動システム614を有することができる。少なくとも1つの例では、車両602が複数の駆動システム614を有する場合、個々の駆動システム614は車両602の両端(例えば、前部及び後部など)に配置できる。少なくとも1つの例では、駆動システム614は、駆動システム614及び/または車両602の周囲の状態を検出するためのセンサコンポーネントを含むことができる。限定ではなく例として、センサコンポーネントは、駆動システムのホイールの回転を感知するホイールエンコーダ(例えば、ロータリーエンコーダ)、駆動システムの位置及び加速度を測定する慣性センサ(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたはその他の画像センサ、駆動システムの周囲におけるオブジェクトを音声的に検出する超音波センサ、ライダーセンサ、レーダーセンサなどを含むことが可能である。ホイールエンコーダのようなあるセンサは、駆動システム614に固有であってよい。場合によっては、駆動システム614上のセンサコンポーネントは、車両602の対応するシステム(例えば、センサコンポーネント606)と重複または補完することができる。
【0076】
駆動システム614は、高電圧バッテリ、車両602を推進するモータ、バッテリからの直流を他の車両システムで使用する交流に変換するインバータ、ステアリングモータ及びステアリングラックを含むステアリングシステム(電動とすることができる)、油圧又は電気アクチュエータを含むブレーキシステム、油圧及び/又は空気圧コンポーネントを含むサスペンションシステム、トラクションの損失を軽減し制御を維持するブレーキ力分散用の安定性制御システム、HVACシステム、照明(例えば車両の外部環境を照らすヘッド/テールライトなどの照明)、及び1つ以上の他のシステム(例えば冷却システム、安全システム、車載充電システム、DC/DCコンバータ、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどのその他の電装コンポーネント)を含む多くの車両システムを含むことができる。さらに、駆動システム614は、センサコンポーネントからデータを受信して事前処理し、様々な車両システムの操作を制御できる駆動システムコントローラを含むことができる。いくつかの例では、駆動システムコントローラは、プロセッサ及びプロセッサと通信可能に結合されたメモリを含むことができる。メモリは、駆動システム614の様々な機能を実行するための1つまたは複数のコンポーネントを格納することができる。さらに、駆動システム614はまた、それぞれの駆動システムによる他のローカル又はリモートコンピューティングデバイスとの通信を可能にする通信接続部を含む。
【0077】
図6では、車両コンピューティングデバイス604、センサコンポーネント606、エミッタ608、及び通信接続610が車両602に搭載されているように示されている。しかしながら、いくつかの例では、車両コンピューティングデバイス604、センサコンポーネント606、エミッタ608、及び通信接続610は、実際の車両の外側に実装され得る(すなわち、車両602に搭載されない)。
【0078】
上記のように、車両602は、ネットワーク626を介して、コンピューティングデバイス628にデータを送信することができる。いくつかの例では、車両602は、生のセンサデータをコンピューティングデバイス628に送信することができる。他の例において、車両602は、処理されたセンサデータ及び/またはセンサデータの表現をコンピューティングデバイス628(例えば、ローカリゼーションコンポーネント620、知覚コンポーネント622、予測コンポーネント130、プランナコンポーネント134、機械学習モデルなどから出力されるデータ)に送信することができる。いくつかの例において、車両602は、所定の期間が経過した後、ほぼリアルタイムで、センサデータを特定の周波数でコンピューティングデバイス628に送信することができる。
【0079】
コンピューティングデバイス628は、車両602及び/または他のデータ収集デバイスからデータ(生または処理済み)、並びに1つまたは複数のサードパーティのソース及び/またはシステムからデータを受信することができる。少なくとも1つの例において、コンピューティングデバイス628は、プロセッサ630及びプロセッサ630と通信可能に結合されたメモリ632を含むことが可能である。図示の例では、コンピューティングデバイス628のメモリ632は、トレーニングコンポーネント634、及び1つまたは複数の機械学習モデル636を格納する。
【0080】
トレーニングコンポーネント634は、機械学習モデル112を含み得る1つまたは複数の機械学習モデル636をトレーニングするための機能を含む。トレーニングコンポーネント634は、機械学習モデル636をトレーニングする際に使用するためのトレーニングデータ638を含んでもよく、または格納してもよい。トレーニングデータ638は、環境を横断する車両に関連付けられたログデータ640を含み得る。いくつかの例では、ログデータ640は、車両602が動作していた環境を表すセンサデータであってもよい。すなわち、いくつかの例では、ログデータ640は、画像データ、ライダーデータ、レーダーデータなどを含み得る。
【0081】
トレーニングデータ638はまた、グラウンドトゥルースデータ642を含み得る。いくつかの例では、機械学習モデル636をトレーニングするために使用されるログデータ640の各インスタンスについて、グラウンドトゥルースデータ642の対応するインスタンスが格納され得る。いくつかの例では、グラウンドトゥルースデータ642は、オブジェクトに関連付けられた追跡されたオブジェクトデータを含み得る。したがって、グラウンドトゥルースデータ642は、オブジェクトに関連付けられたバウンディングボックス、オブジェクトによって横断される軌道、オブジェクトの分類などを含み得る。いくつかの例では、グラウンドトゥルースデータ642は、人間のラベラー、トレーニングされた機械学習モデルなどによって決定され得る。
【0082】
車両602のプロセッサ616及びコンピューティングデバイス628のプロセッサ630は、本明細書で説明されるように、データを処理し操作を実施するための命令を実行可能な任意の適切なプロセッサとすることができる。限定ではなく例として、プロセッサ616及び630は、1つまたは複数の中央処理装置(CPU)、グラフィクスプロセシングユニット(GPU)、または電子データを処理して、レジスタ及び/またはメモリに記憶され得る他の電子データにその電子データを変換する他の任意のデバイス、若しくはデバイスの他の任意の部分を備えることが可能である。いくつかの例では、集積回路(例えば、ASICなど)、ゲートアレイ(例えば、FPGAなど)、及び他のハードウェアデバイスはまた、それらが符号化された命令を実装するよう構成される限り、プロセッサと見なすことができる。
【0083】
メモリ618及び632は非一時的コンピュータ可読媒体の例である。メモリ618及びメモリ632は、オペレーティングシステム及び1つまたは複数のソフトウェアアプリケーション、命令、プログラム、及び/またはデータを格納して、本明細書に記載の方法及び様々なシステムに起因する機能を実装できる。様々な実装では、メモリは、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュタイプメモリ、または情報を格納可能な他の任意のタイプのメモリなど、適切なメモリ技術を用いて実装できる。本明細書で説明されるアーキテクチャ、システム、及び個々の要素は、多くの他の論理的、プログラム的、及び物理的なコンポーネントを含むことができ、それらの添付図面に図示されるものは、本明細書での説明に関連する単なる例にすぎない。
【0084】
図6は分散システムとして示されているが、いくつかの例では、車両602のコンポーネントをコンピューティングデバイス628に関連付けることができ、及び/又はコンピューティングデバイス628のコンポーネントは車両602に関連付けることができる、という事に留意されたい。すなわち、車両602は、コンピューティングデバイス628に関連付けられた機能のうちの1つまたは複数を実行でき、逆もまた同様である。
【0085】
さらに、車両コンピューティングデバイス604及びコンピューティングデバイス628は、複数のコンポーネントを含むように示されているが、いくつかの例では、そのようなコンポーネントは、より多くのまたはより少ない個々のコンポーネントに関連付けることができる。例えば、ローカリゼーションコンポーネント620、知覚コンポーネント622、予測コンポーネント130、及び/またはプランナコンポーネント134を単一のコンポーネントに組み合わせることができる。すなわち、別個のコンポーネントとして示されているが、コンポーネントのいずれか1つ以上を組み合わせることができる。
【0086】
例示的な条項
A.1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行されると、システムに、
車両が動作している環境におけるオブジェクトを表すセンサデータを受信することであって、前記センサデータは、現在時間に関連付けられている、ことと、
前記車両で用いるために構成されている機械学習モデルに前記センサデータを入力することであって、前記機械学習モデルは、
前記センサデータに少なくとも部分的に基づいて、環境内のオブジェクトに関連付けられるバウンディングボックスを少なくとも含むオブジェクトデータを判定することであって、前記バウンディングボックスは前記現在時間における前記環境内のオブジェクトの位置を示す、ことと、
前記センサデータに少なくとも部分的に基づいて、及び前記現在時間よりも前に前記機械学習モデルによって受信された追加のセンサデータから判定された追跡データに少なくとも部分的に基づいて、前記現在時間における前記環境内のオブジェクトの推定位置を判定することと、
追跡されたオブジェクトデータとして、前記推定位置に少なくとも部分的に基づいて、前記オブジェクトデータを追跡データと関連付けることと、
を実行するように構成されている、ことと、
前記機械学習モデルから、前記追跡されたオブジェクトデータを少なくとも含む出力を受信することと、
前記追跡されたオブジェクトデータに少なくとも部分的に基づいて、前記車両を制御することと、
を含む動作を実行させる命令を格納する、1つまたは複数の非一時的コンピュータ可読媒体と、
を備えたシステム。
【0087】
B.前記機械学習モデルは、
前記オブジェクトデータを前記追跡データと関連付けることに少なくとも部分的に基づいて、軌道が前記位置と交差するように前記追跡データを更新することと、
前記機械学習モデルがアクセスできるメモリに前記更新された追跡データを記憶することと、
をさらに実行するように構成される、段落Aに記載のシステム。
【0088】
前記オブジェクトデータを前記追跡データと関連付けることは、
前記位置及び前記推定位置の距離が閾値距離未満であること、
前記オブジェクトの検出された分類が前記オブジェクトの追跡された分類に対応していることと、
前記オブジェクトの検出されたサイズと前記オブジェクトの追跡されたサイズとの間の差が閾値差未満であることと、
のうちの少なくとも1つに少なくとも部分的に基づいている、段落Aまたは段落Bに記載のシステム。
【0089】
D.機械学習モデルから受信した出力は、オブジェクトの将来位置をさらに示す、段落A乃至Cのいずれか一項に記載のシステム。
【0090】
E.前記追加のセンサデータは、前記現在時間より前の一定期間にわたる前記オブジェクトを表すセンサデータのフレームの時間順に収集されたものを含む、段落A乃至Dのいずれか一項に記載のシステム。
【0091】
F.第1の時間において、環境内で動作している車両に関連付けられるセンサデータを受信することと、
前記センサデータを機械学習モデルに入力することであって、前記機械学習モデルは、と、
前記センサデータに少なくとも部分的に基づいて、前記環境内のオブジェクトの位置を判定することと、
前記環境内の追跡されたオブジェクトの推定位置を前記追跡されたオブジェクトによって横断された軌道に少なくとも部分的に基づいて判定することと、
前記位置及び前記推定位置に少なくとも部分的に基づいて前記オブジェクトを前記追跡されたオブジェクトと関連付けることと、
を行うように構成されている、ことと、
前記機械学習モデルからの出力として、前記位置及び前記軌道のインディケーションを受信することと、
前記出力に少なくとも部分的に基づいて前記車両を制御することと、
を含む方法。
【0092】
G.前記位置及び前記推定位置は、前記第1の時間に関連付けられており、前記追跡されたオブジェクトは、前記第1の時間よりも前に前記軌道を横断している、段落Fに記載の方法。
【0093】
H.追加のセンサデータは、前記第1の時間よりも前の一定期間にわたる前記オブジェクトを表す、段落Fまたは段落Gに記載の方法。
【0094】
I.前記機械学習モデルは、オブジェクトを、車両、歩行者またはサイクリストのうちの少なくとも1つとして分類するように構成される、段落F乃至Hのいずれか一項に記載の方法。
【0095】
J.前記機械学習モデルは、
前記オブジェクトを前記追跡されたオブジェクトと関連付けることに少なくとも部分的に基づいて、前記軌道が前記位置を交差するように前記追跡されたオブジェクトによって横断された前記軌道を更新することと、
前記機械学習モデルがアクセス可能なメモリに更新された前記軌道を格納することと、
をさらに行うように構成されている、段落F乃至Iのいずれか一項に記載の方法。
【0096】
K.前記オブジェクトを前記追跡されたオブジェクトと関連付けることは、前記オブジェクトに関連付けられる第1の特徴と前記追跡されたオブジェクトに関連付けられる第2の特徴との間の特徴距離にさらに少なくとも部分的に基づく、段落F乃至Jのいずれか一項に記載の方法。
【0097】
L.前記オブジェクトを前記追跡されたオブジェクトと関連付けることは、前記オブジェクトの検出された分類が前記追跡されたオブジェクトの追跡された分類に相当するという判定にさらに少なくとも部分的に基づく、段落F乃至Kのいずれか一項に記載の方法。
【0098】
M.前記オブジェクトを前記追跡されたオブジェクトと関連付けることは、前記位置が前記推定位置からの閾値距離に満たないという判定にさらに少なくとも部分的に基づく、段落F乃至Lのいずれか一項に記載の方法。
【0099】
N.前記機械学習モデルからの出力は、前記オブジェクトに関連付けられるバウンディングボックスをさらに含み、前記バウンディングボックスは、前記車両に対する環境内の前記オブジェクトの位置、前記オブジェクトに関連付けられるサイズ、及び前記オブジェクトに関連付けられる方向のうちの少なくとも1つを示す、段落F乃至Mのいずれか一項に記載の方法。
【0100】
O.センサデータは、画像データ、ライダーデータ、レーダーデータ、または飛行時間データのうちの少なくとも1つを含む、段落F乃至Nのいずれか一項に記載の方法。
【0101】
P.機械学習モデルは、オブジェクトについての以前の情報を格納するように構成されるメモリを含む、段落F乃至Oのいずれか一項に記載の方法。
【0102】
Q.命令を格納する1つ以上の非一時的コンピュータ可読媒体であって、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
第1の時間において、環境内で動作している車両に関連付けられるセンサデータを受信することと、
前記センサデータを機械学習モデルに入力することであって、前記機械学習モデルは、と、
前記センサデータに少なくとも部分的に基づいて、前記環境内のオブジェクトの位置を判定することと、
前記環境内の追跡されたオブジェクトの推定位置を前記追跡されたオブジェクトによって横断された軌道に少なくとも部分的に基づいて判定することと、
前記位置及び前記推定位置に少なくとも部分的に基づいて前記オブジェクトを前記追跡されたオブジェクトと関連付けることと、
を行うように構成されている、ことと、
前記機械学習モデルからの出力として、前記位置及び前記軌道のインディケーションを受信することと、
前記出力に少なくとも部分的に基づいて前記車両を制御することと、
を含む動作を実行させる、1つ以上の非一時的コンピュータ可読媒体。
【0103】
R.位置及び推定位置は、第1の時間に関連付けられ、追跡されたオブジェクトは、第1の時間より前に軌道を横断した、段落Qに記載の1つ以上の非一時的コンピュータ可読媒体。
【0104】
S.追加のセンサデータは、前記第1の時間よりも前の一定期間にわたる前記オブジェクトを表す、段落Qまたは段落Rに記載の1つ以上の非一時的コンピュータ可読媒体。
【0105】
T.前記機械学習モデルは、
前記オブジェクトを前記追跡されたオブジェクトと関連付けることに少なくとも部分的に基づいて、前記軌道が前記位置を交差するように前記追跡されたオブジェクトによって横断された前記軌道を更新することと、
前記機械学習モデルがアクセス可能なメモリに更新された前記軌道を格納することと、
をさらに行うように構成されている、段落Q乃至Sのいずれか一項に記載の1つ以上の非一時的コンピュータ可読媒体。
【0106】
U.1つ以上のプロセッサと、
命令を格納する1つ以上の非一時的コンピュータ可読媒体と、
を備えたシステムであって、
前記命令は、前記1つ以上のプロセッサによって実行されると、前記システムに、
環境を横断する車両を表す第1の時間順序付けられたフレームの集合を含むセンサデータを受信することと、
前記センサデータに表されている前記環境内のオブジェクトに関連付けられるグラウンドトゥルースデータを受信することであって、前記グラウンドトゥルースデータは、前記オブジェクトに関連付けられるバウンディングボックス、前記オブジェクトによって横断された軌道、及び前記バウンディングボックスを前記軌道に関連付ける識別子を少なくとも示す第2の時間順序付けられたフレームの集合を含む、ことと、
前記車両に関連付けられる機械学習モデルに前記センサデータを入力することと、
前記機械学習モデルから出力を受信することであって、前記出力は、前記オブジェクトに関連付けられる予測されたバウンディングボックスと、前記オブジェクトによって横断される予測軌道とを少なくとも含む、ことと、
前記グラウンドトゥルースデータと前記出力との間の差異を判定することと、
前記差異が閾値差異を満たす、または超えることに少なくとも部分的に基づいて、前記グラウンドトゥルースデータと前記出力との間の差異が最小化されるように、前記機械学習モデルをエンドツーエンドでトレーニングすることと、
を含む動作を実行させるシステム。
【0107】
V.センサデータは、画像データ、ライダーデータ、レーダーデータ、または飛行時間データのうちの少なくとも1つを含む、段落Uに記載のシステム。
【0108】
W.前記機械学習モデルは、第1の部分及び第2の部分を含み、前記第1の部分は、前記予測されたバウンディングボックスを判定するように構成され、前記第2の部分は、前記予測されたバウンディングボックスに少なくとも部分的に基づいて前記予測軌道を判定するように構成され、前記機械学習モデルをエンドツーエンドでトレーニングすることは、前記機械学習モデルの前記第1の部分の出力が前記機械学習モデルの前記第2の部分への入力として使用できるように調整されるように、前記機械学習モデルの前記第1の部分をトレーニングすることを含み、前記第1の部分の出力は、少なくとも予測されたバウンディングボックスを含む、段落U乃至Vのいずれか一項に記載のシステム。
【0109】
X.時間順序付けられたフレームの集合のうちの第1のフレームは、現在時間における前記環境内のオブジェクトの第1の位置を示し、前記時間順序付けられたフレームの集合のうちの第2のフレームは、前の時間における軌道に沿ったオブジェクトの第2の位置を示す、段落U乃至Wのいずれか一項に記載のシステム。
【0110】
Y.環境を横断する車両に関連付けられるセンサデータを受信することであって、前記センサデータは、一定期間にわたる前記環境内のオブジェクトを表す、ことと、
前記センサデータに関連付けられるグラウンドトゥルースデータを受信することであって、前記グラウンドトゥルースデータは、前記環境内のオブジェクトの位置を示す少なくともバウンディングボックスを示す、ことと、
前記センサデータを機械学習モデルに入力することと、
前記環境内のオブジェクトの予測位置を示す少なくとも予測されたバウンディングボックスを含む出力を前記機械学習モデルから受信することと、
前記位置と前記予測位置の間の差異を判定することと、
前記差異に少なくとも部分的に基づいて、前記差異を最小化するために前記機械学習モデルのパラメータを変更することと、
を含む方法。
【0111】
Z.前記機械学習モデルのパラメータを変更することは、機械学習モデルの第1の部分及び機械学習モデルの第2の部分が前記出力に少なくとも部分的に基づいてそれぞれトレーニングされるように、機械学習モデルをエンドツーエンドでトレーニングすることを含む、段落Yに記載の方法。
【0112】
AA.前記機械学習モデルは、第1の部分及び第2の部分を含み、前記第1の部分は、予測されたバウンディングボックスを判定するように構成され、前記第2の部分は、前記予測されたバウンディングボックスに少なくとも部分的に基づいて予測軌道を判定するように構成される、段落Y乃至Zのいずれか一項に記載の方法。
【0113】
BB.前記差異は、第1の差異であり、前記グラウンドトゥルースデータは、前記オブジェクトによって横断された軌道をさらに示し、前記出力は、前記オブジェクトによって横断される予測軌道をさらに含み、前記方法は、前記軌道及び前記予測軌道の間の第2の差異を判定することをさらに含み、前記機械学習モデルのパラメータを変更することは、前記第2の差異に少なくとも部分的にさらに基づく、段落Y乃至AAのいずれか一項に記載の方法。
【0114】
CC.前記差異は、第1の差異であり、前記バウンディングボックスは、前記オブジェクトの向きをさらに示し、前記予測されたバウンディングボックスは、前記オブジェクトの予測される向きをさらに示し、前記方法は、前記オブジェクトの向きと前記オブジェクトの予測される向きとの間の第2の差異を判定することをさらに含み、前記機械学習モデルのパラメータを変更することは、第2の差異に少なくとも部分的にさらに基づく、段落Y乃至BBのいずれか一項に記載の方法。
【0115】
DD.前記機械学習モデルのパラメータを変更することは、前記差異に少なくとも部分的に基づいて、前記機械学習モデルのソフトウェアコンポーネントをアップデートすることを含む、段落Y乃至CCのいずれか一項に記載の方法。
【0116】
EE.センサデータは、画像データ、ライダーデータ、レーダーデータ、または飛行時間データのうちの少なくとも1つを含む、段落Y乃至DDのいずれか一項に記載の方法。
【0117】
FF.オブジェクトは、別の車両、歩行者またはサイクリストのうちの少なくとも1つである、段落Y乃至EEのいずれか一項に記載の方法。
【0118】
GG.グラウンドトゥルースデータは、オブジェクトによって横断された軌道をバウンディングボックスと関連付ける識別子をさらに含む、段落Y乃至FFのいずれか一項に記載の方法。
【0119】
HH.機械学習モデルのパラメータを変更した後、環境を横断する際に使用するために機械学習モデルを車両に送信することをさらに含む、段落Y乃至GGのいずれか一項に記載の方法。
【0120】
II.前記機械学習モデルは、前記環境内のオブジェクトの位置を示す予測されたバウンディングボックスを判定するように構成された第1の部分と、前記オブジェクトに関連付けられる追跡データに少なくとも部分的に基づいて前記環境内のオブジェクトの予測位置を判定し、前記位置及び前記予測位置に少なくとも部分的に基づいて前記予測されたバウンディングボックスを前記追跡データと関連付け、前記位置及び前記追跡データに少なくとも部分的に基づいて前記オブジェクトによって横断される予測軌道を判定するように構成された第2の部分とを含む、段落Y乃至HHのいずれか一項に記載の方法。
【0121】
JJ.命令を格納する1つ以上の非一時的コンピュータ可読媒体であって、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
環境を横断する車両に関連付けられるセンサデータを受信することであって、前記センサデータは、一定期間にわたる前記環境内のオブジェクトを表す、ことと、
前記センサデータに関連付けられるグラウンドトゥルースデータを受信することであって、前記グラウンドトゥルースデータは、前記環境内のオブジェクトの位置を示す少なくともバウンディングボックスを示す、ことと、
前記センサデータを機械学習モデルに入力することと、
前記環境内のオブジェクトの予測位置を示す少なくとも予測されたバウンディングボックスを含む出力を前記機械学習モデルから受信することと、
前記位置と前記予測位置の間の差異を判定することと、
前記差異に少なくとも部分的に基づいて、前記差異を最小化するために前記機械学習モデルのパラメータを変更することと、
を含む動作を実行させる、1つ以上の非一時的コンピュータ可読媒体。
【0122】
KK.前記機械学習モデルのパラメータを変更することは、機械学習モデルの第1の部分及び機械学習モデルの第2の部分が前記出力に少なくとも部分的に基づいてそれぞれトレーニングされるように、機械学習モデルをエンドツーエンドでトレーニングすることを含む、段落JJに記載の1つ以上の非一時的コンピュータ可読媒体。
【0123】
LL.前記機械学習モデルは、第1の部分及び第2の部分を含み、前記第1の部分は、予測されたバウンディングボックスを判定するように構成され、前記第2の部分は、前記予測されたバウンディングボックスに少なくとも部分的に基づいて予測軌道を判定するように構成される、段落JJ乃至KKのいずれか一項に記載の1つ以上の非一時的コンピュータ可読媒体。
【0124】
MM.前記差異は、第1の差異であり、前記グラウンドトゥルースデータは、前記オブジェクトによって横断された軌道をさらに示し、前記出力は、前記オブジェクトによって横断される予測軌道をさらに含み、前記方法は、前記軌道及び前記予測軌道の間の第2の差異を判定することをさらに含み、前記機械学習モデルのパラメータを変更することは、前記第2の差異に少なくとも部分的にさらに基づく、段落JJ乃至LLのいずれか一項に記載の1つ以上の非一時的コンピュータ可読媒体。
【0125】
NN.前記機械学習モデルのパラメータを変更することは、前記差異に少なくとも部分的に基づいて、前記機械学習モデルのソフトウェアコンポーネントをアップデートすることを含む、段落JJ乃至MMのいずれか一項に記載の1つ以上の非一時的コンピュータ可読媒体。
【0126】
上記で説明した条項の例は、1つの特定の実装に関して説明されているが、この文書のコンテキストでは、条項の例の内容は、方法、デバイス、システム、コンピュータ可読媒体、及び/または他の実装を介して実装されてもよいことを理解されたい。
【0127】
結び
本明細書に記載の技術の1つまたは複数の例を説明したが、それらの様々な変更、追加、置換、及び等価物は、本明細書に記載の技術の範囲内に含まれる。
【0128】
実施例の説明においては、本明細書の一部を形成する添付図面が参照され、これらの図面は、例示として、特許請求される主題の特定の実施例を示している。他の例を使用することができ、構造的変更などの変更または改変を行うことができることを理解されたい。このような例、変更または改変は、必ずしも意図された特許請求の主題に関する範囲から逸脱するものではない。本明細書のステップは特定の順序で示され得るが、場合によっては、説明されるシステム及び方法の機能を変更することなく、特定の入力が異なる時または異なる順序で提供されるように、順序が変更されてもよい。開示された手順は、異なる順序で実行することもできる。本明細書で説明される様々な計算は、開示された順序で実行される必要はなく、計算の代替順序を使用する他の例も容易に実装することができる。計算を並べ替えるだけでなく、同じ結果が得られるサブ計算に分解することもできる。
【国際調査報告】