(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-10
(54)【発明の名称】自律エージェントの環境表現を動的に更新するための方法およびシステム
(51)【国際特許分類】
B60W 50/00 20060101AFI20231227BHJP
B60W 60/00 20200101ALI20231227BHJP
B60W 40/04 20060101ALI20231227BHJP
【FI】
B60W50/00
B60W60/00
B60W40/04
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023535662
(86)(22)【出願日】2021-12-17
(85)【翻訳文提出日】2023-08-04
(86)【国際出願番号】 US2021064076
(87)【国際公開番号】W WO2022133242
(87)【国際公開日】2022-06-23
(32)【優先日】2020-12-17
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521106164
【氏名又は名称】メイ モビリティー,インコーポレイテッド
【氏名又は名称原語表記】MAY MOBILITY,INC.
(74)【代理人】
【識別番号】110001302
【氏名又は名称】弁理士法人北青山インターナショナル
(72)【発明者】
【氏名】ゲーデル,ロバート
(72)【発明者】
【氏名】ジョンソン,コリン
(72)【発明者】
【氏名】コスバウアー,メリンダ
(72)【発明者】
【氏名】ステルニアック,ジェフ
(72)【発明者】
【氏名】ブールヘイズ,トム
(72)【発明者】
【氏名】オルソン,エドウィン,ビー.
【テーマコード(参考)】
3D241
【Fターム(参考)】
3D241BA00
3D241CE04
3D241CE05
3D241CE08
3D241DB01Z
3D241DB02Z
3D241DB32Z
3D241DC25Z
3D241DC31Z
3D241DC33Z
(57)【要約】
自律エージェントの環境表現を動的に更新するための方法は、入力のセットS210を受信するステップと、環境表現S220を生成するステップと、環境表現S230を更新するステップとを含む。追加的または代替的に、方法S200は、環境表現を計画モジュールに提供するステップS240および/または他の任意の適切な処理を含み得る。方法S200は、自律エージェントの制御を容易にするために、環境表現を生成および/または動的に更新するように機能する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
ビークルのセンサスイートを使用して測定入力のセットを決定するステップと、
オブジェクトトラッキングシステムを使用して、前記測定入力に基づいて環境表現を生成するステップであって、前記環境表現は、前記ビークルの環境においてラベリングされたオブジェクトのセットを含むステップと、
ラベリングされたオブジェクトのサブセットについて仮説を決定するステップと、
前記ラベリングされたオブジェクトのサブセットと関連する複数の過去の環境表現に基づいて仮説のスコアを決定するステップと、
当該スコアに基づいて、環境表現を更新するステップであって、前記仮説に基づいてオブジェクトのサブセットを再ラベリングすることを含むステップと、
更新された環境表現を前記ビークルに搭載されたプロセッサに提供するステップとを含むことを特徴とする方法。
【請求項2】
プロセッサを使用して、前記更新された環境表現に基づいて、前記ビークルを自律的に制御するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記複数の過去の環境表現は、前記サブセットの各ラベリングされたオブジェクトに対応するオブジェクトトラックを含み、各オブジェクトトラックは、オブジェクトインスタンス識別子および過去のオブジェクト運動特徴を含み、前記方法がさらに、更新された環境表現に基づいてオブジェクトトラックを修正するステップを含む、請求項1に記載の方法。
【請求項4】
前記オブジェクトトラックのセットを修正するステップは、前記仮説に基づいて前記複数の過去の環境表現内のオブジェクトを再ラベリングすることを含む、請求項3に記載の方法。
【請求項5】
前記スコアを決定するステップは、前記サブセットの各ラベリングされたオブジェクトについての個別のメトリクスと、前記ラベリングされたオブジェクトのセットについてのグローバルメトリクスとの組み合わせを評価することを含む、請求項1に記載の方法。
【請求項6】
前記スコアを決定するステップは、前記複数の過去の環境表現にわたって前記仮説のコスト関数を評価することを含む、請求項1に記載の方法。
【請求項7】
前記スコアを決定するステップは、前記複数の過去の環境表現に基づいて、前記ラベリングされたオブジェクトのオブジェクト経路の滑らかさを評価することを含む、請求項1に記載の方法。
【請求項8】
前記仮説は、所与の仮説のセットから選択される、請求項1に記載の方法。
【請求項9】
前記所与の仮説のセットは、オブジェクト統合仮説とオブジェクト分割仮説とを含む、請求項8に記載の方法。
【請求項10】
前記仮説は、前記ラベリングされたオブジェクトのサブセットによる近接ルールの満足度に基づいて選択される、請求項8に記載の方法。
【請求項11】
前記過去の環境表現はオブジェクトトラックのセットを含み、各オブジェクトトラックは、オブジェクトインスタンス識別子と過去のオブジェクト運動特徴とを含み、前記オブジェクトトラッキングシステムは、前記オブジェクトトラックのセットに基づいて前記環境表現を生成する、請求項1に記載の方法。
【請求項12】
前記オブジェクトのサブセットを再ラベリングするステップは、第1および第2のセンサ群からの測定入力にそれぞれ対応する第1および第2のラベリングされたオブジェクトを、単一のオブジェクトラベルの下に融合させることを含む、請求項1に記載の方法。
【請求項13】
前記ラベリングされたオブジェクトは、前記センサ群における第1および第2のセンサ群に対応する入力測定について独立して生成される、請求項12に記載の方法。
【請求項14】
前記第1のセンサ群はフライトタイムセンサを含み、前記第2のセンサ群はカメラを含む、請求項12に記載の方法。
【請求項15】
前記測定入力のセットは第1の時間にキャプチャされ、前記更新された環境表現は、前記第1の時間の後の所定の時間間隔内に前記プロセッサに提供される、請求項1に記載の方法。
【請求項16】
前記間隔は10分の1秒未満である、請求項15に記載の方法。
【請求項17】
ビークル用のシステムであって、
当該ビークルに搭載され、一連の測定値を生成するように構成されたセンサ群であって、前記一組の測定値は測定時間に対応する、センサ群と、
過去の環境表現のセットを含むメモリと、
前記測定値に基づいて環境表現を生成するように構成されたオブジェクトトラッキングシステムであって、前記環境表現はラベリングされたオブジェクトのセットを含むオブジ 処理システムであって、前記測定時間のすぐ後の時間間隔内で、反復的に、
過去の環境表現のセットに基づいて前記環境表現についての第1のスコアを決定し、
前記ラベリングされたオブジェクトのサブセットについての仮説を決定し、
前記過去の環境表現のセットに基づいて前記仮説についての第2のスコアを決定し、
前記第2のスコアが前記第1のスコアを超えた場合に、前記環境表現を更新し、これは、前記仮説に従ってオブジェクトのサブセットを再ラベリングすることを含む、処理システムと、
更新した環境表現に基づいてビークルを操作するように構成されたコントローラとを具えることを特徴とするシステム。
【請求項18】
前記過去の環境表現のセットは、前記サブセットの各ラベリングされたオブジェクトに対応するオブジェクトトラックを含み、各オブジェクトトラックは、オブジェクトインスタンス識別子および過去のオブジェクト運動特徴を含み、前記プロセッサはさらに、前記更新された環境表現に基づいて前記オブジェクトトラックを修正するように構成される、請求項17に記載のシステム。
【請求項19】
前記オブジェクトのサブセットを再ラベリングすることは、前記第1および第2のセンサ群からの測定入力にそれぞれ対応する第1および第2のラベリングされたオブジェクトを、単一のオブジェクトラベルの下に融合することを含む、請求項17に記載のシステム。
【請求項20】
前記第1のセンサ群はフライトタイムセンサを含み、前記第2のセンサ群はカメラを含む、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年12月17日に出願された米国仮出願第63/126,938号の利益を主張するものであり、この参照によりその全体が本書に組み込まれる。
【0002】
技術分野
本発明は、一般に自律型ビークルの分野に関し、より具体的には、自律型ビークルの分野における自律エージェントの環境表現を動的に更新するための新規かつ有用なシステムおよび方法に関する。
【背景技術】
【0003】
自律型ビークルの分野では、エージェントが最適で安全な経路を決定し実行するために、その環境を正確に理解することが重要である。エージェントがルートに沿って移動する際、常に情報を収集しており、環境に対する認識が変化し得る。従来のシステムおよび方法では、エージェントの環境認識が変化した場合、その情報を記憶することはもちろん、意思決定や計画に反映させることは極めて困難である。
【0004】
したがって、自律型ビークルの分野では、自律エージェントの環境表現を動的に更新するための改良された有用なシステムおよび方法を作成する必要がある。
【図面の簡単な説明】
【0005】
【
図1】
図1は、自律型ビークルの分野における自律エージェントの環境表現を動的に更新するシステムの概略図である。
【
図2】
図2は、自律型ビークルの分野における自律エージェントの環境表現を動的に更新する方法を示す概略図である。
【
図3】
図3A~3Bは、エージェントの環境における車両の再ラベリングを示す図である。
【
図4】
図4は、その環境における自律エージェントの概略的なバリエーションである。
【発明を実施するための形態】
【0006】
本発明の好ましい実施形態の以下の説明は、本発明をそれらの好ましい実施形態に限定することを意図するものではなく、当業者が本発明を製造および使用することを可能にすることを意図している。
【0007】
1.概要
図1に一例を示すシステム100は、センサ群110、コンピューティングシステム120、および/または任意の他の適切なコンポーネントを含むことができる。コンピューティングシステムは、ラベリングサブシステム122、再ラベリングサブシステム124、オプションの車両制御システム126、および/または任意の他の適切なコンポーネントを含むことができる。システムはさらに任意で、通信インターフェース130、インフラストラクチャ装置140のセット、遠隔操作プラットフォーム150、および/または任意の他のコンポーネントのいずれかまたはすべてを含むことができる。システム100は、自律エージェントの制御を容易にするために、環境表現を生成および/または改良するように機能する。追加的または代替的に、システムは、方法S200の実行を実現するように機能することができる。
【0008】
図1に示すように、環境表現を動的に更新するためのシステム100は、自律エージェント102を含み、および/またはインターフェースすることができる。追加的または代替的に、システムは、米国特許番号10,564,641として現在発行されている2019年7月17日出願の米国出願番号16/514,624、米国特許番号10,614,709として現在発行されている2019年7月8日出願の米国出願番号16/505,372、2019年8月14日出願の米国出願番号16/540,836、米国特許番号10,969,470として現在発行された2020年2月17日出願の米国出願番号16/792,780、2021年7月1日出願の米国出願番号17/365,538に記載の構成要素をすべてまたは含むことができ、これらはそれぞれ本参照によりその全体が本明細書に組み込まれる。
【0009】
図2に示すように、自律エージェントの世界表現(world representation)を動的に更新するための方法S200は、入力のセットを受信するステップS210と、環境表現を生成するステップS220と、環境表現を更新するステップS230とを含む。追加的または代替的に、方法S200は、環境表現に基づいてエージェントを動作させるステップS240(例えば、環境表現を計画モジュールに提供するステップ)および/または他の任意の適切な処理を含み得る。方法S200は、自律エージェントの制御を容易にするために、環境表現を生成および/または動的に更新するように機能する。
【0010】
追加的または代替的に、方法S200は、それぞれ本参照によりその全体が本明細書に組み込まれる米国特許番号10,564,641として現在発行されている2019年7月17日出願の米国出願番号16/514,624、米国特許番号10,614,709として現在発行されている2019年7月8日出願の米国出願番号16/505,372、2019年8月14日出願の米国出願番号16/540,836、米国特許番号10,969,470として現在発行された2020年2月17日出願の米国出願番号16/792,780、2021年7月1日出願の米国出願番号17/365,538の一部または全部に記載のプロセスの一部または全部、あるいは適切な順序で実行される任意の他の適切なプロセスを含むことができる。
【0011】
方法S200は、上述のシステムおよび/または任意の他の適切なシステムで実行することができる。
【0012】
本明細書で使用される「フレーム」という語は、車両制御システムの個別のタイムステップ/更新間隔(例えば、所定のトラッキングサイクルに従って、動的に決定されたトラッキングサイクルに従ってなど)および/またはその中の車両プランナに対応する環境表現を示し得る。一例として、環境表現の時間履歴は一連のフレームとして理解/解釈することができ、(例えば、更新間隔および/またはフレーム間の期間に基づいて、時間領域で)その中でオブジェクトを追跡することができる。追加的または代替的に、フレームという語は、特定の時間における座標系(すなわち座標フレーム、自車両フレームなど)および/または特定の時間におけるセンサのセットから受信したデータ(例えば、イメージングまたはフライトタイムセンサからのデータのフレームなど)を指すことができる。しかしながら、フレームという用語は、他の適切な参照の場合もあり、また他の適切な意味を持つ場合もある。
【0013】
バリエーションでは、ラベリングサブシステム122および/または再ラベリングサブシステム124は、環境の時間履歴(例えば、過去の環境表現)を通してオブジェクトを個別におよび/または集合的に追跡する限りにおいて、「トラッカー」、「オブジェクトトラッカー」および/または「オブジェクトトラッキングシステム」の役割で機能し得る。したがって、ラベリングサブシステムおよび/または再ラベリングサブシステムは、本明細書では個別および/または集合的に、「トラッカー」、「オブジェクトトラッカー」、「オブジェクトトラッキングシステム」、および/または他の同様の用語として参照され、または他に適切に参照され得る。一例として、ラベリングサブシステムは、原始オブジェクトトラックを含む原始環境表現を生成する原始トラッカー(および/または原始オブジェクトトラッカー)として機能することができ、原始環境表現は後に再ラベリングサブシステムによって改良され得る。第2の例として、再ラベリングサブシステムは、過去の環境表現に基づいて更新された(洗練された)環境表現を生成するために、オブジェクトの軌跡を追跡および/または洗練するように機能し得る。第3の例として、ラベリングサブシステム122および再ラベリングサブシステム124は集合的に、センサデータ入力(例えば、オブジェクトの関連付けを含み得る個々のセンサデータ)を受け取り、環境の時間履歴(例えば、過去の環境表現)を通じてオブジェクトをトラッキング/ラベリングして更新/洗練された環境表現を生成するトラッカーおよび/またはトラッキングシステムとして機能し得る。第4の例として、ラベリングサブシステム122および再ラベリングサブシステム124は集合的に、単一のトラッキングサイクルおよび/または更新間隔内で動作し得る。しかしながら、用語「トラッカー」、「オブジェクトトラッカー」、および/または「オブジェクトトラッキングシステム」は、他の方法で適切に参照され得る。
【0014】
1.1 実施例
一例では、方法は、車両のセンサ群を使用して測定入力のセットを決定するステップと、オブジェクトトラッキングシステムを使用して、測定入力に基づいて環境表現を生成するステップであって、前記環境表現は、車両の環境におけるラベリングされたオブジェクトのセットを含むステップと、ラベリングされたオブジェクトのセットの少なくとも1つのサブセットについて1または複数の仮説を決定するステップと、ラベリングされたオブジェクトのサブセットと関連する複数の過去の環境表現に基づいて各仮説のスコアを決定するステップと、当該スコアに基づいて、環境表現を更新するステップであって、前記仮説に基づいてオブジェクトのサブセットを再ラベリングすることを含むステップと、更新された環境表現を車両に搭載されたプロセッサに提供するステップとを含み得る。一例において、本方法は、プロセッサを使用し、更新された環境表現に基づいて車両を自律的に制御するステップをさらに含み得る。
【0015】
例示的な実施例では、方法は、車両トラッキングサイクルの開始時に、現在のセンサ測定値を使用して、自車両フレーム内のオブジェクトをラベリングする(例えば、オブジェクトトラッカーを使用)ことによって現在の環境表現を生成することと、トラッキングサイクルの残りの間に、最近の時間履歴にわたってスコアおよび/または目標および/または目的(例えば、滑らかなオブジェクト軌道に基づいて、他のメトリクスに基づいてなど)を改善するために前記オブジェクトをマージおよび/または分割することによって環境表現を洗練させることと、を繰り返すことによって車両の環境表現を維持するステップを含み得る。各トラッキングサイクルの終了時に、洗練された環境表現を使用して、車両を自律的に制御することができる。
【0016】
追加的または代替的な変形例において、本方法は、これらの工程のサブセット、追加の工程、および/または任意の工程の組み合わせを含むことができる。
【0017】
2.効果
自律エージェントの環境表現を動的に更新するシステムおよび方法は、現在のシステムおよび方法と比較していくつかの利点をもたらすことができる。
【0018】
第1に、本技術のバリエーションは、自律エージェントの環境におけるオブジェクトおよび/またはオブジェクトの状態の復元可能な履歴を提供することができる。このようなバリエーションは、拡張した時間履歴(例えば、複数の感知フレームおよび/または間隔)にわたって環境および/またはその中のオブジェクトを評価するスムージング技術を適用することにより、フィルタリングアプローチ(例えば、瞬間的なタイムステップが直前のタイムステップに対して評価することができ、ここでタイムステップt-1は、タイムステップtでの評価に使用されるすべての履歴情報を取り込んでいる)と比較して、全体の推定値を改善することができる。そのような「スムージング」のバリエーションは、エージェントの環境内のオブジェクトを将来のタイムステップで再ラベリングすることができ、および/またはオブジェクトに割り当てられた以前の誤ったラベルを遡及的に修正することができるので(例えば、カスケード効果なしで。
図6に一例を示す。)、カスケード効果を避けることができ、それによってエージェントの環境の正確な時間履歴を意思決定に使用できるようになる。しかしながら、バリエーションは他の方法でオブジェクトの状態履歴の復元を実現してもよい。
【0019】
第2に、本技術のバリエーションは、環境表現を動的に更新するために費やされる時間量および/または計算資源に関してカスタマイズ可能であるなど、自律エージェントまたは自律型ビークル(AV)アプリケーションの時間および/または資源の要件に適応可能であり得る。具体的な例では、例えば、更新の反復回数および/または各更新で実行される演算のレベル(例えば、新しいラベルのセットを提案する際に使用されるコンピューティングサブシステムの数)は、任意の数の制約によって制限することができる。さらに、計算の複雑さがリソースの制約に近づくにつれて、バリエーションは環境認識の自然な低下をもたらす可能性があり、ますます複雑になる環境やAV設定へのシステム/方法の拡張性を促進することができる(例えば、収束失敗による更新間隔の欠損や、状態履歴の喪失などなく)。
【0020】
第3に、本技術のバリエーションは、(例えば、一連の更新された環境表現にわたって)累積的な知識の利得を提供し、効率を改善し、および/または複数の反復にわたって(例えば、単一のフレームまたは更新間隔内で、複数の更新間隔にわたってなど)計算を償却(amortize)することができる。具体的な例では、最適化されたコスト関数の結果は反復ごとに引き継がれる。
【0021】
第4に、本技術のバリエーションは、保存されたオブジェクトの状態履歴により複数の時間間隔/更新サイクルにわたるセンサフュージョンが可能になるため、堅牢なセンサフュージョンを提供することができる。一例として、個別のオブジェクトトラックを状態履歴に保存し(例えば、元のフレームで共通のオブジェクト検出として融合/認識されない場合でも)、その後統合/融合(またはセグメント化/分割)することができる。バリエーションでは、環境表現は、低レベルのセンサ、低レベルのセンサデータ(例えば、特徴検出ではなく低レベルのフライトタイムリターンなど)、および/または低レベルの計算を使用して生成することができ、それでもエージェントがその環境について包括的かつ高い信頼性の理解を持つことができる。
【0022】
第5に、本技術のバリエーションは、自律走行計画/制御のための環境認識、オブジェクト環境の状態履歴の回復、オブジェクト検出/分類、および/または他のコンピュータ技術の課題など、コンピュータ技術で特に生じる課題を克服するために、コンピュータ技術に必然的に根ざす技術的解決策を提供することができる。さらに、自律型ビークルアプリケーションに加えて、または代わりに、このシステムおよび/または方法は、限定しないが交通監視、軍事アプリケーション、航空交通管制、および/または他の適切なアプリケーションのいずれかまたはすべてなど、多数のアプリケーションセットのいずれかまたはすべてで使用することができる。
【0023】
追加的または代替的に、本システムおよび方法は、任意の他の利点をもたらし得る。
【0024】
3.システム
システム100は、センサ群110、コンピューティングシステム120、および/または他の任意の適切なコンポーネントを含むことができる。コンピューティングシステムは、ラベリングサブシステム122、再ラベリングサブシステム124、オプションの車両制御システム126、および/または任意の他の適切なコンポーネントを含むことができる。システムは、さらに任意で、通信インターフェース130、インフラストラクチャ装置のセット140、遠隔操作プラットフォーム150、および/または任意の他の適切なコンポーネントを含むことができる。システム100は、自律エージェントの制御を容易にするために、環境表現を生成および/または改良するように機能する。追加的または代替的に、システムは、方法S200の実行を実現するように機能することができる。
【0025】
システム100は、好ましくは自律型ビークル(本明細書では等価的に自律エージェントおよび/または自車エージェントと呼ぶ)を含むが、本システムは追加的または代替的に、自律エージェント/車両および/または他の任意の適切な車両に統合され、および/またはこれらと共に使用することができる。自律型ビークルは、好ましくは完全自律型および/または完全自律型として運転できる車両であるが、追加的または代替的に、任意の半自律走行車または完全自律走行車であってもよい。追加的または代替的に、自律エージェントは、半自律状態と完全自律状態(または完全有人状態)との間で切り替わる車両であってもよく、したがって自律エージェントは、自律エージェントの状態に応じて、半自律車両および完全自律車両の両方の属性を有し得る。
【0026】
好ましいバリエーションでは、自律型ビークルは、好ましくは、自動車(例えば、乗用車、無人車両、バス、シャトル、タクシー、ライドシェア車両、トラック、セミトラックなど)である。追加的または代替的に、自律型ビークルは、水上バイク(例えば、ボート、水上タクシーなど)、航空機(例えば、飛行機、ヘリコプター、ドローンなど)、陸上ビークル(例えば、二輪車、自転車、オートバイ、スクーターなど)、および/または他の適切な車両および/または輸送装置、自律機械、自律装置、自律ロボット、および/またはその他の適切な装置を含み得る。
【0027】
センサ群110は、コンピューティングシステムのための入力を収集するように機能し、および/または、方法のブロックS210を実行するように機能し得る。センサ群は、自律エージェントに搭載された車両センサを含むことができ、これは例えば、慣性センサ(加速度計、ジャイロスコープ、磁力計、IMU、INSなど)、外部アンテナ(GPS、セルラー、Bluetooth、Wi-Fi、近距離無線通信など)、診断センサ(エンジン負荷、タイヤ圧、温度センサなど)、車両運動センサ(慣性センサ、車輪速度センサ、エンコーダー、レゾルバーなど)、環境センサ(カメラ、フライトタイムセンサ、温度センサ、風速/風向きセンサ、気圧計など)、誘導センサ(LIDAR、レーダー、ソナー、カメラなど)、コンピュータビジョン(CV)センサ、カメラ(ステレオカメラ、ハイパースペクトル、マルチスペクトル、ビデオカメラ、広角、CMOS、CCDなど)、フライトタイムセンサ(レーダー、LIDAR、ソナーなど)、および/または任意の他の適切なセンサの一部または全部であり得る。センサ群は、好ましくは、自律型ビークルに搭載されたセンサ(例えば、レーダセンサおよび/またはLidarセンサおよび/またはエージェントの外面に結合されたカメラ、IMUおよび/またはエージェントに結合されおよび/またはエージェント内に配置されたエンコーダ等)を含むが、追加的または代替的に、エージェントから離れたセンサ(例えば、1または複数のインフラストラクチャ装置の一部として、エージェントと通信するセンサ等)および/または任意の適当な位置の任意の適当なセンサを含むことができる。しかしながら、センサ群は任意の他の適切なセンサのセットを含むことができ、また、他の適切な構成とすることができる。
【0028】
コンピューティングシステム130は、環境表現を特定する(例えば、オブジェクトを分類する、オブジェクトの動きを特定する、意思推定を実行するなど)ように機能する。追加的または代替的に、コンピューティングシステムは、知覚、予測、位置特定、計画、および/または自律エージェントの動作に関する他のプロセスのいずれかまたはすべてを実行することができる。コンピューティングシステムは、好ましくは、自律エージェントに搭載されて(例えば、内部に統合されて)配置されたオンボードコンピューティングシステムを含むが、追加的または代替的に、リモートコンピューティングシステム(例えば、クラウドコンピューティングシステム、オンボードコンピューティングシステムと通信するリモートコンピューティング、オンボードコンピューティングシステムの代わり等)、補助デバイス(例えば、モバイルデバイス、ユーザデバイス等)に統合されたコンピューティングシステム、モバイルコンピューティングデバイスを含むエッジデバイス、および/または任意の他の適切なコンピューティングシステムおよびデバイス、の一部または全部を含み得る。
【0029】
コンピューティングシステムは、好ましくは、処理システム(例えば、グラフィカル処理装置またはGPU、中央処理装置またはCPU、あるいは任意の適切な処理回路)およびメモリを含むが、追加的または代替的に任意の他の適切なコンポーネントを含むことができる。メモリは、短期メモリ(例えば、揮発性、不揮発性、ランダムアクセスメモリやRAMなど)、長期メモリ(例えば、フラッシュメモリ、ハードディスクなど)、または任意の組み合わせであり得る。いくつかのバリエーションでは、例えば、オンボードコンピューティングシステムは、本明細書に記載の同定されたコンポーネントまたはモジュールのいずれかまたは1つ以上と相互作用し、および/または動作可能に制御するように動作する。例えば、オンボードコンピューティングシステムは、マルチポリシー決定モジュール、同期モジュールなどを実装するためのコンピュータ命令を実装および/または実行するように機能することができる。具体例では、処理システムおよびメモリは、本参照によりその全体が本明細書に組み込まれる2019年7月17日に出願された米国出願番号16/514,624に記載のようなマルチポリシー意思決定フレームワークの枠組みの中で、自律エージェントが利用できるポリシーのセット(例えば、方法S200に基づいて決定される)を動的に管理するように集合的に機能する。追加的または代替的に、処理システムおよびメモリ、および/または他の任意の適切なコンポーネントを、他の任意の適切な機能に使用することができる。
【0030】
コンピューティングシステム(例えば、オンボードコンピューティングシステム)は、好ましくは、自律エージェントを制御し、自律エージェントのセンサ群(例えば、コンピュータビジョンシステム、LIDAR、フラッシュLIDAR、車輪速度センサ、GPSなど)および/または他のセンサ(例えばインフラストラクチャ装置から)からの感知データを処理して、自律エージェントの状態および/または自律エージェントの動作環境におけるエージェントの状態を特定するように機能する。自律エージェントおよび/または動作環境内のエージェントの状態およびプログラムされた命令に基づいて、オンボードコンピューティングシステムは、好ましくは、行動方針の選択などを通じて、自律エージェントの動作を変更または制御する。追加的または代替的に、コンピューティングシステムは、行動方針を生成し、コンピューティングシステムが自律エージェントの動作を制御するために実行できる行動方針(例えば、車線変更、合流、現在の車線を維持、左折、右折、停車、減速、加速、信号で停止、停止信号で停止、譲るなど)を選択するように機能するマルチポリシー意思決定モジュールを含み得る。いくつかのバリエーションでは、例えばマルチポリシー意思決定モジュールは、本参照によりその全体が本書に組み込まれる、米国特許番号10,564,641として現在発行されている、2019年7月17日に出願された米国出願番号16/514,624、および/または2021年7月1日に出願された米国出願番号17/365,538;に記載されたシステムのいずれかまたはすべてを含み、および/またはそれらインターフェースする。
【0031】
コンピューティングシステム120はラベリングサブシステム122を含み、これが方法のブロックS220を実行し、および/または自律エージェントの入力(例えば、センサ群110から受信した)に基づいて環境表現を生成するように機能する。ラベリングサブシステム122は、好ましくは、1つまたは複数の分類器(classifiers)(例えば、動的オブジェクト分類器、静的オブジェクト分類器など、バイナリ分類器、マルチクラス分類器など)のセットを使用して環境表現を生成するが、追加的または代替的に、コンピュータビジョン技術、機械学習モデル、オブジェクトセグメント化技術、点群クラスタリング、ニューラルネットワーク(例えば、受信した入力に基づいて車や歩行者などの特定のオブジェクトのセットを識別するように事前訓練された、畳み込みニューラルネットワーク[CNN]、完全畳み込みネットワーク[FCN]など)、オブジェクト検出/分類器(例えば、You Only Look Once[YOLO]アルゴリズム、Histogram of Oriented Gradients[HOG]および/またはスケール不変特徴変換[SIFT]特徴検出などの非ニューラルネットアプローチ)、オブジェクトトラッカー、および/または他の任意の適切な要素などのいずれかまたはすべてを使用して実行することができる。しかしながら、コンピューティングシステムは、任意の他の適切なラベリングサブシステムを含むことができ、および/または、方法のブロックS220に従って、他の方法で環境表現を生成することができる。
【0032】
コンピューティングシステム120は、再ラベリングサブシステム124を含むことができ、これは環境表現に対して(例えば、環境表現に対する評価仮説を用いて)評価および/または改良するように機能する。追加的または代替的に、再ラベリングサブシステムは、目的関数や様々な最適化手法に従って、(知覚された)不正確性を減らすために環境表現のラベルを更新するように機能することができる。追加的または代替的に、再ラベリングサブシステムは、方法のブロックS230を実行することができる。再ラベリングサブシステムは、ルールベース、プログラムベース、1つまたは複数の決定木または他のモデルに依存することができ、および/またはその他の方法で環境表現を適切に改良することができる。バリエーションでは、再ラベリングサブシステムは、機械学習モデル、深層学習モデル(ニューラルネットワークなど)、および/または任意の他の学習済みモデルのいずれかまたはすべてを含むことができる。具体例では、S230は、アンサンブル法(例えば、ブースティング・アンサンブル法、バギング・アンサンブル法、スタッキング・アンサンブル法等)により実行され、(例えば、並行して)処理することができる。バリエーションでは、再ラベリングサブシステムは、非線形最適化プロセスで複数のスコアを評価することによって(例えば、S230に従って)環境表現を再ラベリングおよび/または更新することができ、その評価は、特定のコスト関数/損失関数に対する出力ラベルの信頼度を反映する。追加的または代替的に、再ラベリングサブシステムは、他の最適化プロセスおよび/または他の任意の適切なプロセスと関連付けることができる。好ましいバリエーションでは、再ラベリングサブシステムの最適化プロセスは、(例えば、方法のS220および/またはS230に従って)各オブジェクト/ラベルについて滑らかな経路(trajectory)を構築するように設計することができる。
【0033】
バリエーションでは、ラベリングサブシステムおよび再ラベリングサブシステムでの処理は、並列に(例えば、異なる処理ノードで)、連続的に(例えば、再ラベリングサブシステムは、現在の時間ステップについてラベリングサブシステムから受信した環境表現に基づいて繰り返し最適化できる)、同期的に(例えば、ラベリングサブシステムがN+1時間ステップについての環境表現を生成し、一方で再ラベリングサブシステムがN時間ステップについてラベリングサブシステムによって生成された事前に受信した環境表現を最適化する)、非同期に(例えば、ラベリングサブシステムが更新間隔またはトラッキングサイクルの第1の部分の処理バンド幅を消費し、再ラベリングサブシステムが更新間隔の第2の部分の処理バンド幅を消費し得る)、および/または他の任意の適切なタイミングおよび/または関係で実行することができる。
【0034】
しかしながら、コンピューティングシステムは、任意の他の適切なリラベリングサブシステムを含み、および/または方法ブロックS230を他の方法で好適に実行することができる。
【0035】
コンピューティングシステムは、任意で、1つまたは複数のコンピューティングシステムによって生成されたコマンド(例えば、軌道)に基づいて、自律エージェントの自律動作および/または行動(例えば、ドライブバイワイヤのブレーキ、ステアリング、および/または加速コンポーネントなどにおいて)を制御するように機能する1つまたは複数のコントローラおよび/または制御システムを含む車両制御システム126を含むかインターフェースすることができる。追加的または代替的に、1または複数のコントローラが、構造物検出/分類、障害軽減、ルートトラバーサル、マッピング、センサ統合、グラウンドトゥルース決定、および/または他の適切な機能の実現といった、コントローラの機能を支援するための機械学習技術を実装するように機能し得る。コントローラは、自律エージェントのルーティング目標および自律エージェントの選択された行動方針および/または選択された経路に従って自律エージェントを制御するための制御信号を生成する任意の適切なソフトウェアおよび/またはハードウェアコンポーネント(例えば、プロセッサおよびコンピュータ可読ストレージデバイス)を含み得る。
【0036】
好ましいバリエーションでは、車両制御システムは、車両のドライブバイワイヤシステムを、含み、インターフェースし、および/または実装する。追加的または代替的に、車両は、1つまたは複数の機械的コンポーネントの作動に従って動作し、および/または他の方法で実装され得る。
【0037】
追加的または代替的に、システムは、測位システム(例えば、センサシステムの位置センサを含む)、誘導システム、および/または任意の適切なコンポーネントのいずれかまたはすべてを含むことができる。
【0038】
好ましいバリエーションでは、コンピューティングシステムは、(例えば、後述するような)再ラベリングサブシステムのセットを含み、実装し、および/またはインターフェースする。
【0039】
システム100は、任意選択で、コンピューティングシステムと通信する通信インターフェース130を含むことができ、これは、(例えば、インフラストラクチャ装置140から、リモートコンピューティングシステムおよび/またはリモートサーバから、遠隔操作プラットフォーム150から、別の自律エージェントや他の車両からなど)情報を受信し、コンピューティングシステムから(例えば、リモートコンピューティングシステムおよび/またはリモートサーバへ、遠隔操作プラットフォームへ、インフラストラクチャ装置へ、別の自律エージェントや他の車両へなど)送信できるようにするように機能する。通信インターフェースは、好ましくは、無線通信システム(例えば、Wi-Fi、ブルートゥース、セルラー3G、セルラー4G、セルラー5G、多入力多出力またはMIMO、1つまたは複数の無線機、またはその他の適切な無線通信システムまたはプロトコル)を具えるが、追加的または代替的に、有線通信システム(例えば、変調電力線データ転送、イーサネット、またはその他の適切な有線データ通信システムまたはプロトコル)、データ転送バス(例えば、CAN、FlexRay)、および/または他の適切なコンポーネント、の一部または全部を具えることができる。
【0040】
システム100は、本明細書において等価的に路側ユニットと呼ばれる、一組のインフラストラクチャ装置140(例えば、
図4に示すような)を任意に含むことができ、これらは、個別におよび/または集合的に、環境の1つまたは複数の態様および/または特徴を観察し、環境の1つまたは複数の態様および/または特徴に関する観察データを収集するように機能する。好ましいバリエーションでは、インフラストラクチャ装置は、さらに、観測に関連するデータを収集し、収集したデータおよび/または収集したデータの処理された派生物を自律エージェントに(例えば、自律エージェントのオンボードコンピューティングシステムに)送信するように機能する。追加的または代替的に、インフラストラクチャ装置は、データを収集して遠隔操作プラットフォームに送信するように機能することができ、テレオペレータはこのデータを用いて、自律エージェントのコンピューティングシステムによる検討に行動方針を含めるか、および/または除外するかなどの意思決定に情報を提供することができる。具体例では、例えば、インフラストラクチャ装置は、車両コーナー周辺の景色を見ることを可能にし、エージェントおよび/またはエージェントのオペレータおよび/またはテレオペレータは、自律エージェントによって(道路が曲がるためにクリアであることを見ることによって)考慮される転回行動方針を実現するために使用することができる。
【0041】
いくつかのバリエーションでは、自律エージェントは、環境表現の特定を改善するために、オンボードセンサ群(例えば、後述するような)によって得られたデータを、さらにインフラストラクチャ装置(例えば、路側ユニット)からの観測を加えて増強および/または融合させることができる。具体例では、インフラストラクチャ装置は、カメラまたは他のセンサ(例えば、LiDAR、RADARなど)のセットを用いて、動作環境内の任意のタイプまたは種類のオブジェクトを検出および追跡することができる。いくつかのバリエーションでは、例えば、ビデオカメラが、オブジェクトの検出、オブジェクトタイプの意味的分類、およびオブジェクトの可能な意図、他の適切な情報を、例えば道路を横断しようとしている歩行者、または左折しようとしている車、車のドアを開けて車を降りようとしている運転手、バイクレーンで運転している自転車運転者のように提供するように機能し得る。
【0042】
システムは、任意に、テレオペレータプラットフォーム150とインターフェースすることができ、これは、1以上の遠隔のテレオペレータおよび関連コンポーネント(例えば、自律エージェントとの通信インターフェース、コンピューティングシステム、自律エージェントおよび/またはインフラストラクチャ装置からの情報をテレオペレータに表示するための出力装置、テレオペレータからの指示/コマンドを受け取るための入力装置等)をいう。テレオペレータプラットフォームは、テレオペレータからの入力を受け取る機能を有し、この入力は、車両のためのキュレーションされた行動方針の決定に少なくとも部分的に使用され得る。
【0043】
しかしながら、システムは、他の任意の適切なコンポーネントを含むことができ、および/または他の自律的な車両制御を実現してもよい。
【0044】
4.方法
図2に示すように、自律エージェントの世界表現(world representation)を動的に更新するための方法S200は、入力のセットを受信するステップS210と、環境表現を生成するステップS220と、環境表現を更新するステップS230とを含む。追加的または代替的に、方法S200は、環境表現に基づいてエージェントを動作させるステップS240(例えば、環境表現を計画モジュールに提供すること)および/または他の任意の適切な処理を含み得る。追加的または代替的に、方法S200は、それぞれ本参照によりその全体が本明細書に組み込まれる米国特許番号10,564,641として現在発行されている2019年7月17日出願の米国出願番号16/514,624、米国特許番号10,614,709として現在発行されている2019年7月8日出願の米国出願番号16/505,372、2019年8月14日出願の米国出願番号16/540,836、米国特許番号10,969,470として現在発行された2020年2月17日出願の米国出願番号16/792,780、2021年7月1日出願の米国出願番号17/365,538の一部または全部に記載のプロセスの一部または全部、あるいは適切な順序で実行される任意の他の適切なプロセスを含むことができる。
【0045】
方法S200は、自律エージェントの制御を容易にするために、環境表現を生成および/または動的に更新するように機能する。追加的または代替的に、この方法はエージェントがその環境について包括的で信頼性の高い理解を得ることを可能にする。追加的または代替的に、方法S200は、環境に対する理解における過去の誤りを修正する機能、および/または他の任意の適切な機能を実行することができる。さらに、追加的または代替的に、本方法は、限定しないが交通監視、軍事用途、航空トラフィック管制、および/または他の任意の適切な用途のいずれかまたはすべて、および/または他の任意の適切な用途において有用性を有し得る。
【0046】
本方法のいずれかまたはすべては、好ましくは、エージェントがルートを走行する間、周期的に(例えば、連続的に、所定の頻度で、ランダムな間隔でなど)実行される。追加的または代替的に、方法S200のいずれかまたはすべてを、所定の回数(例えば、1回、2回以上など)、トリガに応答して、および/またはトリガ発生まで(例えば、エージェントの経路プランナから促されるまで、トラッキングサイクルが終了するまでなど)、および/または他の任意の適切な時間で実行することができる。一例では、S200は、10Hz未満、10Hz、15Hz、20Hz、25Hz、30Hz、30Hz超、これらの値に挟まれた任意の範囲、および/または任意の他の適切な周期を有する所定の間隔/周波数(例えば、所定のトラッキングサイクル)内で更新された環境表現を生成することができる。第2のバリエーションでは、S200は、イベントトリガ(例えば、データ受信、時間的トリガなど)に応答して実行され得る。いくつかのバリエーションでは、更新頻度および/またはトリガは、コンピューティングリソース制約に基づくことができる(例えば、更新頻度はコンピューティングシステムの処理帯域幅に基づくことができる)。
【0047】
しかしながら、本方法および/または様々なサブステップは、他の任意の適切なタイミング、頻度、および/または周期性で発生してもよい。
【0048】
方法S200は、上述のシステム100(および/またはそのコンピューティングシステム120)および/または任意の他の適切なシステムで実行することができる。方法要素のいずれかまたはすべてのデータ処理は、好ましくはローカルで実行されるが、追加的または代替的にリモート処理ノードを含むことができる。データ処理は、集中型(例えば、単一の計算ノードで)または分散型(例えば、複数の計算ノードまたは処理モジュール間で)であってよく、および/またはデータ処理モジュール(例えば、コンピューティングシステムの)は、同じエンドポイントまたは異なるエンドポイントで実行することができる。一例として、すべてのデータ処理モジュールは車両に搭載することができ、および/または単一のプロセッサで実行することができる。様々な方法要素のデータ処理は、同期または非同期であってよく、および/または任意の適切な処理または通信の冗長性を有して実装することができる。しかしながら、S200は、他の任意の適切な処理および/または処理システムで実行することができる。
【0049】
4.1 方法-入力のセットを受信するステップS210
方法S200は、入力のセットを受信するステップS210を含み、これは環境表現を特定するために(例えば、環境/世界の認識を「色付け」するために)使用することができるデータ入力および/または情報を受け取るように機能する。
【0050】
S210は、車両センサ(例えば、センサ群)からセンサ測定値を受信すること、保存されたデータ/情報を(例えば、コンピューティングシステムのメモリおよび/またはリモートデータストレージから、以前の自車両状態および/または以前の環境表現などを)取得すること、いずれかまたはすべてを含み得る。入力のセットの少なくとも一部は、好ましくは、上述のセンサ(例えば、フライトタイムセンサ、Lidarセンサ、レーダーセンサ、カメラ、マイクロフォンなど)のいずれかまたはすべてからなどの、自律エージェントのセンサ群110(例えば、上述の通り)から受信される。追加的または代替的に、入力は、任意の車外インフラストラクチャ装置(例えば、1つまたは複数のインフラストラクチャ装置の一部、通信インターフェース130を介してなど)、他の情報源(例えば、オンライン情報源、データベースなど)、および/または任意の他の適切なソースから受け取ることができる。
【0051】
S210は、好ましくは方法S200において最初に実行され、更に好ましくは方法S200を通して、例えば、連続的に(例えば、エージェントのルート走行中)、所定の頻度で、ランダムセットの間隔で、トリガに応答して、および/または任意の適切な時間で実行される。追加的または代替的に、S210は、方法S200中の任意の適切な時点で1回実行してもよく、および/または方法S200はS210なしで実行されてもよい。変形例では、S210は、センサ群のセンサのセンサ測定値をサンプリングすることを含むか、またはそれに関連して発生し得る。センサ測定値は、同期(例えば、共通の周波数で)、非同期、周期的、非周期的、および/または他の任意の適切な周波数でサンプリングすることができる。変形例では、入力のセット(例えば、センサ測定値)はタイムスタンプされ、および/または、あるタイムステップ間隔(例えば、S240の更新/提供間隔と同じであっても異なっていてもよい)にわたってバッチされてもよい。
【0052】
しかしながら、S210は、任意の適切な入力セットを受信することを含むことができ、任意の適切なタイミング/頻度で発生してもよい。
【0053】
4.2 方法-環境表現を生成するステップS220
方法S200は、環境表現を生成するステップS220を含み、これはエージェントの周囲のオブジェクトを特徴付ける(例えば、識別する、区別するなど)ように機能する。追加的または代替的に、S220は、車両の経路を計画する(例えば、エージェントの環境内のオブジェクトを回避する)ための基礎を形成すること、エージェントの周囲のオブジェクトに関連する実際のおよび/または予測される特徴(例えば、速度、挙動、軌道、経路、現在の姿勢、将来の姿勢など)を特定すること、エージェントの初期環境表現を特徴付ける(例えば、所定の時間枠内で、所定量の計算リソース内でなど)、および/または任意の他の適切な機能を実行すること、の機能を果たし得る。
【0054】
変形例では、S220によって(例えば、S220の繰り返しの初期において、S220の任意の繰り返しにおいて、S220のすべての繰り返しにおいてなど)生成および/または出力される環境表現は、(例えば、S230によってさらに洗練/更新される)原始的な環境表現であってもよい。一例として、S220は、更新間隔の一部(例えば、トラッキングサイクル内、更新間隔のスパンの半分未満)で初期/原始環境表現を生成し、残りの期間は、S230の1回以上の反復でオブジェクトの特徴付けを分析し、洗練し、および/または改善するために使用することができる。具体例では、例えば、S220は、各トラッキングサイクル(例えば、所定の頻度)で実行され、S220のその反復において特定されたラベルのセットは、S230において任意に(例えば、そのトラッキングサイクルの意思決定のために割り当てられた残りの期間で)洗練される。追加的または代替的に、S220の1つまたは複数の反復初期において原始環境表現が生成され、S220および/またはS230の将来の(例えば、その後の)反復は、この原始環境表現を分析および/または改善するように機能する。
【0055】
S220は、好ましくは、S210で受信した入力に応答して、それに基づいて実行される。追加的または代替的に、S220は、S230に応答して(例えば、S230の代わりに、S230の一部としてなど)、方法S200の任意の他のプロセスに応答して、方法S200中に複数回(例えば、連続的に、所定の頻度で、トリガに応答してなど)、および/または方法S200中の任意の他の適切な時点で実行可能であり得る。具体例では、S220は、計画モジュールの更新間隔の開始時に開始することができる。さらに追加的または代替的に、方法S200(例えば、S200の1つまたは複数の反復)は、S220なしで実行してもよい。
【0056】
好ましい一連のバリエーションでは、S220は、ルートに沿った車両の動作中に少なくとも1回実行される。具体例では、S220は、車両がルートを走行する際に最初に実行され、S220で生成された最初の環境表現が、以降にS230の1回以上の反復で更新される。第2の例では、S220は、車両の運転/走行中に反復的に実行してもよい(例えば、各反復には任意でS230の反復が続く)。追加的または代替的に、S220は、他の任意の好適なタイミングで実行することができる。
【0057】
S220は、好ましくはオブジェクトのセットをラベリングするステップS222を含み、これは(例えば、所定の距離閾値内、視野内、エージェントの経路と交差するなどの)エージェントの環境内のオブジェクトを特徴付け、識別、および/または分類/タグ付けするように機能する。追加的または代替的に、オブジェクトにラベリングするステップは、固有のオブジェクトの時間履歴を確立する(例えば、車両制御システムの複数のセンサフレームおよび/または更新間隔にわたってオブジェクトを「追跡」する)ように機能することができる。
【0058】
S222は、好ましくは、1つまたは複数の分類器(classifiers)(例えば、動的オブジェクト分類器、静的オブジェクト分類器など、バイナリ分類器、マルチクラス分類器など)のセットを用いて実行されるが、追加的または代替的に、コンピュータビジョン技術、機械学習モデル、オブジェクトセグメント化技術、点群クラスタリング、ニューラルネットワーク(例えば、受信した入力に基づいて車や歩行者などの特定のオブジェクトのセットを識別するように事前訓練された、畳み込みニューラルネットワーク[CNN]、完全畳み込みネットワーク[FCN]など)、オブジェクト検出/分類器(例えば、You Only Look Once[YOLO]アルゴリズム、Histogram of Oriented Gradients[HOG]および/またはスケール不変特徴変換[SIFT]特徴検出などの非ニューラルネットアプローチ)、オブジェクトトラッカー、および/または他の任意の適切なプロセスなどのいずれかまたはすべてを使用して実行することができる。
【0059】
オブジェクトラベルは、オブジェクトインスタンス識別子(等価的に本明細書ではオブジェクトIDと呼ぶ)を含むことができる。各ユニークな(例えば、独立した)オブジェクトおよび/またはユニークなオブジェクトの各近似物は、好ましくは、環境表現(例えば、モーションプランナによって使用される視覚的環境表現)においてオブジェクトインスタンス識別子(ID)でラベリングされ、オブジェクトインスタンスID(等価的に、本明細書ではIDと呼ぶ)はシステム(例えば、ラベリングサブシステムでのセンサ融合など)がトラッキング中のオブジェクトを識別する。各オブジェクトは好ましくは、オブジェクトを個別に識別し、他のオブジェクトと区別できるように、固有のオブジェクトインスタンスIDが割り当てられる。追加的または代替的に、複数のオブジェクトが同じオブジェクトインスタンスIDを有してもよく(例えば、同じタイプのすべてのオブジェクトが同じIDに関連付けられる)、単一のオブジェクトが複数のIDを有してもよく、および/または任意の適切な方法で他のラベルがオブジェクトに割り当てられてもよい。オブジェクトIDは、任意でフレーム間で一致させることができ(例えば、単一のオブジェクトトラックの場合、IDは前のフレームと対になる)、および/またはグローバルに一意にすることができる(例えば、単一のオブジェクトトラックの場合、環境表現および/または現在のフレーム内で同定された各オブジェクトに対して)。
【0060】
追加的または代替的に、オブジェクトは、ベクトルおよび/または他の識別子など、オブジェクトのインスタンス識別子以外の情報でラベリングすることができる。
【0061】
ラベルには、任意でオブジェクトに関連するオブジェクトクラスまたはオブジェクトクラスのセットを含めることができる。例えば、ラベルは、個々のクラス(例えば、静的オブジェクト、インフラストラクチャなど)、複数のクラス、クラスの分布(例えば、動的オブジェクトは、関連する確率とともに、歩行者、動物、踏切り番などのクラスの分布に関連付けられるなど)、および/または他のクラスまたはクラスの組み合わせのいずれかまたはすべてを含む(例えば、規定、定義、割り当てなど)ことができる。一例として、オブジェクトのセットは、動的オブジェクトおよび/または動的オブジェクトのタイプ(例えば、他の車両、歩行者、動物、移動体など)、静的オブジェクトおよび/または静的オブジェクトのタイプ(例えば、ショッピングカート、木、インフラなど)として分類および/またはラベリングすることができるが、付加的または代替的に、動的オブジェクトのみ、静的オブジェクトのみ、および/または静的と動的オブジェクトの任意の組合せを含めることができる。
【0062】
ラベルは、さらに、補足情報(実際のもの、予測されたもの、およびシミュレートされたもののいずれかまたはすべて)を含むか、および/または関連付けられる(例えば、ルックアップテーブルでリンクされる、割り当てられるなど)ことができ、これには限定しないが、オブジェクトの状態および/または運動の特徴(例えば、速度、加速度、方向、姿勢、位置、経路など)、オブジェクトの属性(移動か静止か、サイズ、人間のオペレータが運転する車両か自律車両かなど)、動的オブジェクトのルート情報(目的地、出発点など)、および/または他の任意の適切な情報が含まれる。
【0063】
補足情報を、ラベル自体に統合したり(例えば、検出に割り当てられた特定のラベル[例えば、ID]が部分的に補足情報に基づいて決定される)、ラベルを補足したり(例えば、補足ラベルとして)、検出および/またはラベルに割り当てられたベクトルに統合したり、および/またはその他の方法で使用することができる。
【0064】
バリエーションでは、オブジェクトラベルは、S210から受け取った入力の任意の適切なサブセットおよび/または組み合わせを使用して生成することができる。一例として、すべてのセンサ入力の組み合わせを組み合わせて利用して、オブジェクトの検出および/またはオブジェクトラベルを生成することができる(例えば、オブジェクト検出ステップでのセンサ融合、オブジェクトの補足情報として提供されるすべてのセンサからの関連データなど)。追加的または代替的に、オブジェクトラベルは、センサの異なるサブセットおよび/または対応するセンサデータを使用して生成することもできる。第1の例では、環境内の第1のオブジェクトは、LidarセンサのセットからのLidarデータに基づいて検出/ラベリングすることができ、環境内の第2のオブジェクトは、フライトタイムセンサのセットからの飛行時間データに基づいて検出/ラベリングすることができる。第2の例では、環境内の第1のオブジェクトは、LidarセンサのセットからのLidarデータに基づいて検出/ラベリングすることができ、環境内の第2のオブジェクトは、RadarセンサのセットからのRadarデータに基づいて検出/ラベリングすることができる。ただし、オブジェクトは、任意の適切なデータのセットに基づいて検出および/またはラベリングすることができる。
【0065】
しかしながら、オブジェクトはそれ以外の適切なラベリングをしてもよい。
【0066】
変形例では、環境表現内のラベリングされたオブジェクトのセットは、(例えば、S230などの方法の後続プロセスで特定され得る)環境内のオブジェクトの配置に基づいて生じる可能性があるものなどの不正確性(例えば、シーン内のいくつかのオブジェクトは、他のオブジェクトまたは環境の特徴によって妨害される場合がある)、様々なセンサによるオブジェクトの観測可能性(例えば、Lidarデータは、鏡などの高反射オブジェクト、または煙/霧で隠れたオブジェクトを完全に捕捉しない場合がある)、処理の制約(例えば、複雑/オブジェクトが多い環境)、および/または他の任意の特徴、を含み得る。不正確性には、単一のエンティティが2つのオブジェクト/ラベルを持つ場合のオブジェクト分割の不正確性(例えば、分割されたオブジェクト/ラベルを合体させることで修正され得る)や、環境内の複数のエンティティが単一のオブジェクト/ラベルに割り当てられている場合のオブジェクト合体の不正確性(例えば、合体されたオブジェクト/ラベルを分割することで修正され得る。一例を
図5に示す)を含み得る。追加的または代替的に、不正確性は、追加または代替として冗長なラベル(例えば、異なるセンサのセットの入力を別々に評価する場合に割り当てられる)、オブジェクトに関連する特徴(例えば、運動属性)の不正確性(例えば、状態推定、速度、方位角など)、および/またはラベルの任意の部分の他の不正確性(例えば、オブジェクトのクラス、オブジェクトのルートなど)を含み得る。
【0067】
追加的または代替的に、S220は、任意の適切な順序で実行される任意の他のプロセスを含むことができる。
【0068】
4.3 方法-環境表現を更新するステップS230
本方法は、環境表現を更新するステップS230を含むことができ、これは環境表現の不正確性を修正するように機能する。追加的または代替的に、S230は、以前の(例えば、最初の、最後に特定されたなど)環境表現にキャプチャされたいずれかまたはすべての情報の不正確性を確認、拡張、および/または修正するように機能し得る。さらに、S230は、以前の情報を修正するために、更新された情報を以前の環境表現に伝播する、プランナがエージェントの経路を計画するために使用できる環境表現を準備する、以前の環境表現(例えば、S220から、S230の以前の反復からなど)を補足して、一貫性、完全性、および/または堅牢性を高める、環境表現を検証する、のいずれかまたはすべてを実行するように機能することができ、および/またはその他の任意の適切な機能を実行することができる。好ましいバリエーションでは、例えばS230は、S220および/またはS230の前の反復で行われた原始的な環境表現が(例えば、現在および/または以前のフレームからのセンサデータ等に基づいて)正しかったかどうかを繰り返しチェックし、(例えば、現在の環境表現フレームおよび/または前のフレームの)不正確性を修正するとともに、関連する追加情報を以前の環境表現に補足する(例えば、車両の環境の包括的かつ正確な理解に基づいて軌道を堅牢かつ確実に決定できるよう)よう機能する。
【0069】
S230は、好ましくはS220および/またはS230の以前の反復に対応して実行されるが、追加的または代替的に、S240に対応して、および/または方法S200中の任意の適切な時点で実行することができる。S230は、好ましくはS220と非同期で発生するが(例えば、S220の直後、更新間隔の残りの持続時間の間など)、追加的または代替的にS220と同期して発生してもよい(例えば、S230は、S220の間に以前の/過去の環境表現フレームの不正確性を評価し修正し続けることができる。ここでS220およびS230は並列プロセッサで行われ処理帯域の競合はない、など)。S230は、環境表現に関連する更新間隔および/または車両計画/制御間隔内(例えば、フレームの時間間隔内、フレームが計画/制御のために提供される前、S240の前など)で実行されるのが好ましいが、追加的または代替的に、任意の他の適切な時間で実行することができる。
【0070】
S230は、好ましくはルートの走行全体を通して実行され、計画モジュールによって任意の時点で最新の環境表現が使用され、車両がルートを走行する際に環境表現が継続的に更新される。追加的または代替的に、S230は方法S200の間に少なくとも1回実行され、任意で、トリガが発生するまで、および/または一連の基準が満たされるまでなど、方法S200を通して複数回実行(例えば、次々に反復して実行)することができる。これらは例えば、限定しないが、時間閾値(例えば、エージェントの計画モジュールが経路計画のために環境表現を必要とする時間間隔)を満たすこと、距離閾値(例えば、車両が移動した距離)を満たすこと、計算限界に達すること、満足できるスコアを達成すること(例えば、S230で)、利益限界が減少点に達する前(例えば、無制限または実質的に無制限のリソースで(例えば、運転していない間に)オフラインで方法の一部または全部を実行することによって同定される(例えば、より短い最近の履歴ではなく、追跡されたオブジェクトの追跡履歴全体を使用して、利用可能なコンピューティングリソースを増やす))、所定の一連の情報処理プロセス(例えば、車両の周囲のすべてのオブジェクトを見つけて識別した)、および/または任意の他の適切なトリガおよび/または基準を含み得る。さらに追加的または代替的に、S230は、任意の他の適切な時間および/または任意の適切な持続時間において実行することができる。
【0071】
S230は好ましくは、S210で受信した入力セットと、最新の環境表現からの情報(例えば、S220から、S230の以前の反復から、環境表現の最後のN個(例えば、1~10、1~5、5より大きい、10より大きい、1以上100未満など)のフレームからなど)に基づいて実行されるが、追加的または代替的に、任意の他の適切な情報に基づいて行うことができる。
【0072】
いくつかのバリエーションでは、環境表現は、エージェントがセンサシステムからより多くの情報を得るにつれてS230で更新され、これは、エージェントの環境内のオブジェクトに関する情報(例えば、ラベルのセット、運動特性など)を明確化、確認、および/または矛盾し得る。この情報は、任意で、同じセンサおよび/またはビューからの追加のセンサ情報(例えば、後続フレームで、単眼カメラの奥行き知覚の誤差を減らすことができるなど)、異なるビューおよび/または追加のビューからのセンサ情報、追加のセンサからの情報、および/または他の情報のいずれかまたはすべてを含み得る。
【0073】
しかしながら、S230は他の適切な周波数および/またはタイミングで発生してもよい。
【0074】
第1の例では、例えば(例えば、
図3Aに示すように)、第1のタイムステップで(例えば、S220で、S230の以前のインスタンスでなど)2つのオブジェクトが識別され、後の第2のタイムステップで、単一のオブジェクト(例えば、
図3Bに示すように)が2つのオブジェクトについて予測された場所および/または速度で移動している。この例では、2つのオブジェクトが単一のエンティティに関連する(すなわち、単一のオブジェクトである、分割の不正確性が特定された)と判断され、そのように再ラベリングすることができ(2つのオブジェクトであるとの事前仮説が遡及的に修正される、共通のオブジェクトラベルおよび/またはインスタンスIDの下に統合される)、この再ラベリングは、2つのオブジェクトを同じオブジェクトインスタンスIDに再度割り当てることを含む。
【0075】
第2の例では、例えば、第1のタイムステップにおいてオブジェクトが識別され、第1のオブジェクトインスタンスIDでラベリングされる。S230において、現在、左に移動している第1のオブジェクトインスタンスIDを有するオブジェクトと、右に移動している第1のオブジェクトインスタンスIDを有する別のオブジェクトがあると判断された場合、(S230において)同じオブジェクトであるという信頼度が低いと判断される(例えば、統合の不正確性が決定される)ため、S230において修正することが可能である。
【0076】
バリエーションでは、環境表現を更新するステップS230は、仮説を決定するステップS232、仮説をスコアリングするステップS234、環境表現のオブジェクトを再ラベリングするステップS236、および/または他の任意の適切な要素を含み得る。
仮説を決定するステップS232は、環境表現において起こりうる(例えば、仮説の)不正確性を修正するために、更新された環境表現を仮説とする(hypothesize)ように機能する。仮説は、好ましくは、(例えば、上述のように)検出された各オブジェクトに1以上のラベルのセットを規定するが、追加的または代替的にオブジェクトのサブセットにラベルを規定すしてもよく、および/または環境表現に他の任意の情報(例えば、オブジェクトタイプ)を含めるか割り当てることができる。好ましいバリエーションでは、例えば、各仮説は、追跡されたオブジェクトに対するラベルのセットを含み、ラベルのセットは、S220について修正されたラベルの少なくともサブセット(例えば、分割が提案されたオブジェクトについて、統合が提案されたオブジェクトについてなど)を含むが、S220で決定したラベル(例えば、仮説において分割および/または統合に関連しないオブジェクトについて)、S230の以前の反復で決定したラベル、および/または任意の他のラベルも追加で含むことが可能である。
【0077】
仮説には、オブジェクトに提案されたラベルが2以上のラベル(2以上のオブジェクトに対応)に分割される分割仮説(例えば、それぞれが潜在的なオブジェクト、統合の不正確性に対応)、2以上の提案されたラベルが単一のラベル(単一のオブジェクトに対応)にマージされる統合仮説(例えば、それぞれが潜在的オブジェクト、分割の不正確性に対応)、その他の仮説、および/または仮説の任意の組み合わせが含まれ得る。追加的または代替的に、仮説は、提案されたクラスの調整、提案されたラベルの調整、およびその他の適切な仮説を含み得る。
【0078】
分割提案および/または統合提案は、空間情報(例えば、オブジェクトの位置、オブジェクト間の距離など)、運動情報(例えば、オブジェクトの速度、オブジェクトの加速度など)、方位情報(例えば、オブジェクトの方位角)、履歴情報(例えば、オブジェクの軌跡、履歴フレーム、現在の車両位置に近い事前マッピングされたオブジェクトなど)、その他の情報および/または情報の任意の組み合わせのいずれかまたはすべてに基づいて決定され得る。第1の例では、仮説は、オブジェクト内の検出間に十分な量のスペースが存在する場合(例えば、点群リターンの2つのクラスタ間の最小距離が所定の閾値を超える場合、画像特徴の密度がスパース閾値を下回る場合など)、オブジェクトの分割提案を含むことができる。第2の例では、仮説は、一緒に動く/移動する(例えば、複数の履歴フレームにわたって互いに同じ速度または他の運動特徴を有する)2つのオブジェクトの統合提案を含むことができる。第3の例では、仮説は、関連するセンサデータ(例えば、光学/視覚イメージングデータ)のサブセットから、所定の閾値を超える単一エンティティの分類確率を特定するオブジェクト検出器に基づいて、(例えば、関連する飛行時間感知データに基づいて別々のオブジェクトとして現れる)2つのオブジェクトラベルの統合提案を含むことができる。
【0079】
仮説は好ましくは、一連の基準、ルール、ヒューリスティック、学習された基準、ニューラルネットワーク(例えば、所与のオブジェクトのセットに対して仮説を生成するように事前に訓練されたもの)、および/または他の任意の適切な技術のいずれかまたはすべてを使用して決定される。仮説は、環境表現に関する固定基準および動的基準に基づいて決定することができる。一例として、2つのオブジェクトが固定の閾値を満たす近接度に基づいて、統合仮説を決定することができる。第2の例として、環境表現の密度(例えば、シーン内のオブジェクトの数、近くのオブジェクトのサイズなど)に基づいて動的に調整される閾値を満たす2つのオブジェクトの近接性に基づいて、統合仮説を決定することができる。
【0080】
第1のバリエーションでは、仮説は、事前定義されたルール/ヒューリスティックのセットに従って決定することができ、これは、手動で決定され、生成的に決定され、方法の実行前に学習され、他の方法で決定され、および/または任意の方法の組み合わせで決定され得る。第2のバリエーションでは、仮説は、専用の仮説モデル(例えば、オブジェクトシーンの仮説を選択するように訓練されたニューラルネットワーク)によって生成することができる。第3のバリエーションでは、仮説は、所定の仮説および/または以前の更新間隔における未実行の仮説(例えば、以前のフレームの未検証仮説など)から選択され得る。
【0081】
バリエーションにおいて、仮説は、(例えば、S234によるスコアリングのために)動的に選択/順序付けすることができ、これは、(例えば、S234による)スコアリングのために最も重要な、関連のある、および/または可能性の高い仮説を優先するように機能することができる。これは、計算量が限られている場合や、意思決定までの時間が限られている場合(例えば、経路を決定する必要がある場合)などに有効である。仮説の動的な選択/順序付けを、前の反復のスコアリングされた仮説(例えば、最近却下された仮説の優先順位を下げる、追加情報による再評価のために決定的でない評価の優先度を上げるなど)、車両の状態および/または進行方向(例えば、左折する場合、車両の左側のオブジェクト/エンティティに関連するオブジェクト仮説の優先度を上げる)、優先順位の外部ソース(例えば、優先順位付けの動機となる高レベルの車両計画、目的地への進捗状況などの車両目標)、オブジェクトクラス(例えば、歩行者オブジェクトクラスを含む仮説は、インフラストラクチャのオブジェクト仮説よりも優先され得る)、他の優先順位付け基準、および/または他の適切な選択/優先順位付け、のいずれかまたはすべてに基づいて行うことができる。あるいは、仮説を順序付けないことも可能である。
【0082】
第1のバリエーションでは、生成されたすべての仮説(例えば、ルールのマッチングセット)をスコアリング/テストすることができる。第2のバリエーションでは、生成された仮説のサブセットを、動的に選択/優先順位付けされた仮説の順序と、利用可能な処理帯域幅および/または残りのインターバル時間に基づくなどして、スコアリング/テストすることができる。第3のバリエーションでは、前のタイムステップからの未評価の仮説を、S234によるスコアリングのために選択および/または優先順位付けすることができる。
【0083】
S232は、好ましくはS230の一部として実行されるが、追加的または代替的に、S230に応答して、S220に応答して、S220の一部として、S210に応答して、および/または任意の他の適切な時間に実行することができる。S230は、好ましくは環境表現が決定または更新されるたびに実行されるが、追加的または代替的に、これより少ない頻度、これより多い頻度、および/または他の任意の適切なタイミングで実行することができる。
【0084】
しかしながら、他の任意の適切なタイミングで、任意の適切な仮説を決定することができる。
【0085】
仮説をスコアリングするステップS234は、仮説が1以上のメトリクスのセットに従って環境表現を改善するかどうかをテストするように機能する(例えば、環境表現の固有論理を評価する)。追加的または代替的に、S234は、提案された更新された環境表現の信頼性を評価し、以前および/または現在および/または提案された環境表現の信頼性または他のパラメータ(例えば、精度、品質など)を評価し、更新された環境表現をトリガし、環境に関する以前の誤った仮説の修正(例えば、不正確性を修正する)をトリガし、および/または任意の他の適切な機能を実行するように機能し得る。
【0086】
第1の例では、仮説が宇宙の物理学から逸脱する異常(物体が消える、運動量保存の失敗など)を解決する場合、仮説のスコアはフレームのスコアよりも大きくなり、仮説が採用され得る(例えば、S236に従って物体が再ラベリングされ得る)。第2の例では、仮説が2つの別個のセンサのセットの間に矛盾を生じる場合(例えば、フライトタイムセンサとカメラで検出されたオブジェクトの数が異なる場合)、仮説のスコアはフレームの当初スコアより小さくなり、仮説は却下され得る。追加的または代替的に、別の方法で仮説を評価および/または選択することもできる。
【0087】
仮説をスコアリングするステップは、単一のスコアおよび/または複数のスコア(例えば、2以上、10以上20未満、12、15、20以上など、を組み合わせて単一のスコアを得てもよい)を決定することを含み得る。各仮説は、好ましくは環境表現に対して同じプロセスおよび/または同じコスト関数でスコアリングされるが、代替的に異なるプロセスおよび/またはコスト関数でスコアリングされてもよく、また他の適切なスコアリングも可能である。スコアリングの技術、基準、および/またはメトリクスは、事前に決定することができるが(例えば、重みが事前に割り当てられている、および/または方法の実行前に学習されている、複数の仮説の評価間で不変、S234の複数の反復間で不変など)、代替的に、S234の複数の更新反復間で動的に決定および/または調整することができる。
【0088】
各スコアは、好ましくは、環境表現におけるラベリングされたオブジェクトのセットに関連する信頼度を反映する。スコア/信頼度は、以前の環境表現(例えば、提案されたラベルと以前のラベルセットとの間の一致度に基づいて、以前の信頼度スコアに基づいて、以前に識別されたオブジェクトに関連する運動情報等の補足情報に基づいて)、動的方程式および/または規則(例えば、提案されたラベルを有するオブジェクトの経路、運動方程式など)、センサ情報(例えば、センサタイプ、センサ融合出力など)および/または任意の他の適切な情報、のいずれかまたはすべてに基づいて決定することができる。
【0089】
具体例としては、例えば、単眼カメラを使用する場合、深度推定の誤差により1以上のオブジェクトの真の姿勢を推定することが困難な場合がある。追加的または代替的に、2次元のセンサ情報と3次元のセンサ情報を融合することが困難な場合がある。再ラベリングサブシステムは、オブジェクトおよび/またはその関連情報の事前識別に影響を与える可能性がある、このように発生したエラーを修正するように機能することができる。
【0090】
S234の出力および/または各スコアは、好ましくは、1つまたは複数の訓練されたモデル(例えば、機械学習モデル、深層学習モデル、ニューラルネットワークなど)を用いて決定され、モデルは、好ましくはリアルワードデータに基づいて訓練され、追加または代替として、教師あり学習、半教師あり学習、教師なし学習、および/または任意の他の適切な訓練、のいずれかまたはすべてを用いて訓練することができる。追加的または代替的に、スコアは、シミュレーションデータ、1つまたは複数のプログラムされた/ルールベースのプロセス、および/または他の任意の適切なモデル、アルゴリズム、方程式、決定木、およびルックアップテーブル、および/または他の任意の適切なツールを用いて決定することができる。
【0091】
スコアは、任意選択で、オブジェクトの動きの一貫性(例えば、経路および/または軌跡の滑らかさ(例えば、このスコアは、オブジェクトを不自然および/または不可能な軌道で動かす原因となる仮説および/またはラベルにペナルティを与える)、1以上のオブジェクトに関連するパラメータ(例えば、最大速度、最小速度、平均速度など)(例えば、期待値との比較、交通ルールとの比較など)、エージェントの異なるセンサおよび/またはセンサタイプ間の一致度、ラベル特性(例えば、重複か個別か)、および/または他の任意の適切な情報、のいずれかまたはすべてを考慮することができる。スコアは任意選択で、追加的または代替的に1以上のペナルティを考慮することができ、これには例えば、異なるセンサソース(例えば、カメラ対LIDAR)によるラベル情報および/または補足情報の不一致、以前のオブジェクトラベルとのラベル情報および/または補足情報の不一致、方程式(例えば、動的方程式)および/またはルールとのラベル情報および/または補足情報の不一致、ラベルに基づいてオブジェクトのスムーズな軌道を生成できないこと、ラベルの互いに対する配置(例えば、重複する場合はペナルティ)、および/または他の適切なペナルティ、のいずれかまたは全部が含まれる。
【0092】
スコアは任意選択で、環境表現の以前のフレームでオブジェクトが以前にラベリングまたはリラベリングされたか、および/またはどのようにラベリングまたはリラベリングされたかを調べるために、以前のラベルの記録を参照するなど、以前の/過去のデータを活用することができる。具体例では、例えば、ラベルが現在高い不確実性に関連づけられており、以前に変更されている場合、ラベルを変更前に戻すことに関して高い信頼性があり得る。
【0093】
バリエーションでは、複数の仮説を並行してスコアリング/評価することができるが(例えば、別々の仮説を評価する複数の並列再標識サブシステムによって)、追加的または代替的に、順番におよび/または任意の組み合わせで実行することができる。スコアリングされる仮説の数および/または仮説が実行される方法(例えば、並列、直列など)は、事前決定され(例えば、リソース制限に基づいて、センサシステム内のセンサのタイプに基づいてなど)、動的に決定され(例えば、リソース制限に基づいて)、優先順位付け(例えば、どの仮説が最も可能性が高いか、どの仮説が重要なシナリオに対応するか、どの仮説が自車エージェントの近くのオブジェクトに影響するかなどに基づいてなど)、および/またはその他の決定、のいずれかまたはすべてであり得る。
【0094】
S234は、好ましくは、各仮説について、仮説の環境表現に関連するスコア(例えば、現フレームのスコア)を決定することを含む。第1のバリエーションでは、S234は、(例えば、S220からの)原始の環境表現をスコアリングすることを含み得る。追加的または代替的に、このスコアは、現在のフレームに対するスコアリング関数の差として返すことができまる(例えば、正のスコアは、原始の環境表現および/または以前の環境表現に対する改善を表す)。第2のバリエーションでは、採用された(accepted)仮説のスコア(例えば、S236で再ラベリングされたもの)を、S234におけるその後の反復および/またはスコアリングの基礎として使用することができる。しかしながら、仮説は、事前のスコアとは無関係に、および/または、(現在のフレームの)環境表現と相対的にスコア/評価されることができる。
【0095】
しかしながら、仮説はそれ以外の適切なスコアリングも可能である。
【0096】
S236は任意選択で、環境表現S236のオブジェクトを再ラベリングすることを含むことができ、これは環境表現の不正確性を修正し、および/または仮説に基づいて環境表現を改良してシーンの正確性および/または固有論理を改善するように機能する。追加的または代替的に、S236は、そのスコアを改善するために(例えば、スコアリング関数に対する)環境表現を調整することができる。
【0097】
S236は、仮説のオブジェクトラベルを反映するために環境表現を更新することを含み得る(例えば、現在のフレームの環境表現として直接取られる仮説、仮説内の分割/統合の提案セットに基づいて環境表現を更新するなど)。環境表現が更新された場合、S236は、好ましくは、現在のフレーム内のオブジェクトのセットのいずれかまたはすべてを再ラベリングすること(例えば、同じラベルで、仮説に基づいて異なるラベルでなど)を含み、オブジェクトのセットは、好ましくは、最高のスコアに関連する仮説に従って、および/またはスコアがオブジェクトラベルの以前のセットに関連する前のスコアを改善する場合に再ラベリングされる。追加的または代替的に、オブジェクトは他の方法で再ラベリングされ、オブジェクトのセットのサブセットのみが再ラベリングされ、オブジェクトのいずれかまたはすべてが以前のラベルを保持し、および/またはオブジェクトが他の方法でラベリングすることができる。
【0098】
S236は、好ましくは、現在のフレーム(例えば、環境表現を提供するS240の前の現在のタイムステップ)においてオブジェクトを再ラベリングすることを含むが、追加的または代替的に、履歴フレーム(例えば、履歴タイムステップ)におけるオブジェクトの再ラベリング、および/またはオブジェクトの編集可能な履歴全体に沿ってなど複数のフレームにわたって(例えば、複数のフレームにわたるオブジェクトラベルおよび/またはインスタンスID)オブジェクトトラック(オブジェクトの位置および/または経路の集合を意味する)を変更することができる。S236は、好ましくは、環境表現のスコアを改善する仮説に応じて発生するが(例えば、様々なフレームに対して1回、複数回、および/またはまったく発生しない)、追加または代替的にS236は、更新間隔の終了時に(例えば、最高スコアの仮説に基づいて)、収束条件の満足に基づいて(例えば、スコア改善が漸近的に最大スコアなどに近づいて)、および/または他の任意の適切なタイミング/頻度で発生し得る。
【0099】
再ラベリングとスコアリングの操作は、好ましくは並行して実行されるが、追加的または代替的に直列および/または任意の組み合わせで実行することができる。再ラベリングサブシステムの数および/または実行される方法(例えば、並列、直列など)は、事前決定され(例えば、リソース制限に基づいて、センサシステム内のセンサのタイプに基づいてなど)、動的に決定され(例えば、リソース制限に基づいて)、および/またはその他の決定、のいずれかまたはすべてであり得る。再ラベリングサブシステムの各々は、好ましくはS230の各反復中に複数回実行されるが、再ラベリングサブシステムのいずれかまたはすべては、追加的または代替的に、(例えば、リソース制約の場合に)1回だけ実行されてもよい。
【0100】
しかしながら、他の方法で環境表現内でオブジェクトを再ラベリングすることができる。
【0101】
バリエーションでは、S230は任意選択で、以前のオブジェクトの識別が更新された情報と未だに一致するかどうか(例えば、異なるオブジェクトが依然として区別されているか、単一のオブジェクトが依然として連続的であるかなど)を確認するといった、以前の環境表現を評価することを含み得る(例えば、新しい入力に基づき、新しいオブジェクトラベルの文脈でなど)。これは例えば、単一のオブジェクトに関連する点が連続した境界内に収まっているか、以前に重なっていたオブジェクトがまだ重なっているか、オブジェクト間の距離が変化しているか、および/または他の適切な情報のチェックを含むことができる。
【0102】
バリエーションでは、環境表現および/または再ラベリングの更新に応じて、本方法は、現在不正確とみなされる(例えば、最新の再ラベリングおよび/または環境表現のセットと矛盾する)情報を修正することを任意に含むことができる。これは、オブジェクトが今何をしているのかを知るだけでなく、オブジェクトが今まで何をしていたのかを知ることも重要であるため、他のオブジェクトの意思推定など、多くの利点がある。例えば、こ瞬間には車両が斜めに走行しているように見えても、以前の情報から、実は曲がり角に差し掛かっていると判断されることがある。以前に作られた間違った前提を修正できるため、このメリットは維持され、信頼できるようになる。
【0103】
しかしながら、環境表現は、他の方法で適切に更新可能であり、および/またはS230は、任意の好適な順序で実行される任意の他の処理を含むことが可能である。
【0104】
4.5 方法-環境表現に基づいてエージェントを動作させるステップS240
方法S200は、環境表現S240に基づいてエージェントを動作させるステップを含み、これは車両制御システムおよび/またはその中の計画モジュールに環境表現を提供し、エージェントの意思決定(例えば、計画、挙動選択、経路生成など)に環境表現を実装するように機能する。追加的または代替的に、S240は、環境表現が信頼できると判断したとき(例えば、スコアに基づいて)、および/または時間的および/または計算の制限に基づいて、環境表現の更新サイクルを終了させるように機能することができる。追加的または代替的に、S240は、限定しないが、エージェントの経路を決定する、緊急挙動を実施する、および/または任意の他のアクションといった、他の適切な処理を含むことができる。バリエーションでは、環境表現は、環境エージェント/オブジェクトの意思推定に使用したり(例えば、シミュレーションで使用する)、マルチポリシー意思決定モジュールへの入力に使用したり、自車エージェントの軌道の特定に使用したり、自車エージェントの操作に使用したり(例えば、自車エージェントを制御)、および/または任意の他の適切な方法で使用することができる。具体例では、例えばエージェントを操作することは、本参照によりその全体が本書に組み込まれる、米国特許番号10,564,641として現在発行されている、2019年7月17日に出願された米国出願番号16/514,624、および/または2021年7月1日に出願された米国出願番号17/365,538;に記載された方法のいずれかまたはすべてを含み、および/またはそれらインターフェースする。
【0105】
しかしながら、環境表現は、他の方法で提供および/または使用することができる。
【0106】
4.6 方法-バリエーション
方法の第1のバリエーションでは、現在の環境表現(例えば、S220から受け取った原始的な環境表現、S230の以前の反復から決定した環境表現など)に対して複数の仮説を決定することができ、各仮説は環境表現内の各オブジェクトに対応するラベルを含む(例えば、規定する)。仮説は、環境表現をスコアリングすることで評価することができる(例えば、一連の評価指標を用いる、再ラベリングモジュールのモデルを用いるなど)。スコアは、現在の環境表現および/または以前の環境表現のスコアと比較され、違いを判断することができる。一例では、スコアが現在の環境表現のそれを上回る仮説を(例えば、および/または最大のグローバルスコアを有する仮説、最高スコアの仮説)、新しい環境表現とすることができる(例えば、環境表現のオブジェクトラベルを仮説に基づいて更新したり、オブジェクトを仮説に基づいて再ラベリングすることができる)。
【0107】
追加的または代替的に、仮説のいずれかまたはすべてが、環境表現におけるオブジェクトのサブセットのみに対するラベルを含むことができる(例えば、他のオブジェクトはS220からのラベルを有したり、他のオブジェクトはラベルを有さないなど)。
さらに追加的または代替的に、複数の仮説からのスコアを互いに比較することができる(例えば、最高スコアを使用したり、最高スコアをS220からのスコアと比較するなど)。
【0108】
第2のバリエーションでは、第1のバリエーションに加えて、仮説は、それらのスコアおよび/またはS220のスコアに対するスコアの差および/または互いに対するスコアの差に基づいて、その後の評価(例えば、その後のトラッキングサイクル)のために優先順位付けすることができる(すなわち、最もスコアの低い仮説は優先順位を下げ、以前の環境表現に暮部て小さなスコア差を有する仮説は、ラベルの曖昧さがなくなるまで繰り返し評価できるなど)。
【0109】
方法の第3のバリエーションでは、再ラベリングサブシステムが、各オブジェクトについて1以上の仮説を生成し、各オブジェクトのオブジェクトラベルを決定するために評価することができる。
【0110】
一例では、方法は、車両のセンサスイートを使用して測定入力のセットを決定するステップと、オブジェクトトラッキングシステムを使用して、測定入力に基づいて環境表現を生成するステップであって、前記環境表現は、車両の環境におけるラベリングされたオブジェクトのセットを含むステップと、ラベリングされたオブジェクトのサブセットについて仮説を決定するステップと、ラベリングされたオブジェクトのサブセットと関連する複数の過去の環境表現に基づいて仮説のスコアを決定するステップと、当該スコアに基づいて、環境表現を更新するステップであって、前記仮説に基づいてオブジェクトのサブセットを再ラベリングすることを含むステップと、更新された環境表現を車両に搭載されたプロセッサに提供するステップとを含み得る。
【0111】
一例では、システムは、ビークル用の、当該ビークルに搭載され、一連の測定値を生成するように構成されたセンサ群であって、前記一組の測定値は測定時間に対応する、センサ群と、過去の環境表現のセットを含むメモリと、前記測定値に基づいて環境表現を生成するように構成されたオブジェクトトラッキングシステムであって、前記環境表現はラベリングされたオブジェクトのセットを含むオブジェクトトラッキングシステムと、処理システムであって、前記測定時間のすぐ後の時間間隔内で、反復的に、過去の環境表現のセットに基づいて前記環境表現についての第1のスコアを決定し、前記ラベリングされたオブジェクトのサブセットについての仮説を決定し、前記過去の環境表現のセットに基づいて前記仮説についての第2のスコアを決定し、前記第2のスコアが前記第1のスコアを超えた場合に、前記環境表現を更新し、これは、前記仮説に従ってオブジェクトのサブセットを再ラベリングすることを含む、処理システムと、更新した環境表現に基づいてビークルを操作するように構成されたコントローラとを具え得る。
【0112】
システムおよび/または方法の実施形態は、様々なシステムコンポーネントおよび様々な方法プロセスのあらゆる組み合わせおよび順列を含むことができ、本明細書に記載の方法および/またはプロセスの1つまたは複数のインスタンスは、非同期(例えば、連続的)、同時(例えば、同時、並行してなど)、または任意の他の適切な順序で、本明細書に記載のシステム、要素、および/またはエンティティの1つまたは複数のインスタンスによっておよび/またはそれを使用して実行され得る。以下のシステムおよび/または方法の構成要素および/またはプロセスは、上記の出願に開示されたシステムおよび/または方法のすべてまたは一部とともに、追加的に、代替的に、またはその他の方法で統合することができ、これらの各々は、この参照によりその全体が組み込まれる。
【0113】
当業者は、前述の詳細な説明および図面および特許請求の範囲から認識するように、特許請求の範囲に規定される本発明の範囲から逸脱することなく、本発明の好ましい実施形態に修正および変更を加えることができる。
【国際調査報告】