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

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

▶ ウーブン プラネット ノース アメリカ,インコーポレイティドの特許一覧

特表2023-510136知覚、予測又は計画のための地理的位置特定モデル
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-03-13
(54)【発明の名称】知覚、予測又は計画のための地理的位置特定モデル
(51)【国際特許分類】
   G08G 1/16 20060101AFI20230306BHJP
【FI】
G08G1/16 C
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022537828
(86)(22)【出願日】2020-12-18
(85)【翻訳文提出日】2022-08-10
(86)【国際出願番号】 US2020065987
(87)【国際公開番号】W WO2021127417
(87)【国際公開日】2021-06-24
(31)【優先権主張番号】16/721,604
(32)【優先日】2019-12-19
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521411231
【氏名又は名称】ウーブン プラネット ノース アメリカ,インコーポレイティド
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【弁理士】
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【弁理士】
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(72)【発明者】
【氏名】マイケル ジャレッド ベニッシュ
(72)【発明者】
【氏名】アシェッシュ ジャイン
【テーマコード(参考)】
5H181
【Fターム(参考)】
5H181AA01
5H181AA21
5H181AA27
5H181BB04
5H181CC03
5H181CC04
5H181CC11
5H181CC12
5H181CC14
5H181FF04
5H181FF05
5H181FF22
(57)【要約】
一実施形態では、本方法には、車両に関連付けられた計算システムによって、第1の領域での車両の現在の位置を判定することと、第1の領域に関連付けられたモデルパラメータの1つ又は複数の第1のセットと、第2の領域に関連付けられたモデルパラメータの1つ又は複数の第2のセットと、を識別することと、モデルパラメータの第1のセットに基づく1つ又は複数の機械学習モデルを使用して、車両によって取り込まれた第1のセンサデータに基づく1つ又は複数の第1の推論を生成することと、モデルの構成を、モデルパラメータの第1のセットからモデルパラメータの第2のセットに切り替えることと、モデルパラメータの第2のセットに基づく構成を有するモデルを使用して、第2の領域の車両のセンサによって生成される第2のセンサデータに基づいて1つ又は複数の第2の推論を生成することと、第2の推論に基づいて、車両に1つ又は複数の動作を実施させることと、が含まれる。
【選択図】図1B
【特許請求の範囲】
【請求項1】
車両に関連付けられた計算システムによって、
第1の領域での前記車両の現在の位置を判定することと、
前記第1の領域に関連付けられたモデルパラメータの1つ又は複数の第1のセットと、第2の領域に関連付けられたモデルパラメータの1つ又は複数の第2のセットと、を識別することと、
モデルパラメータの対応する第1のセットに基づく構成を有する1つ又は複数の機械学習モデルを使用して、前記車両によって取り込まれた第1のセンサデータに基づく1つ又は複数の対応する第1の推論を生成することと、
1つ又は複数のモデルの構成を、前記モデルパラメータの対応する第1のセットから、前記第2の領域に関連付けられた前記モデルパラメータの対応する第2のセットに切り替えることと、
前記モデルパラメータの対応する第2のセットに基づく構成を有する前記1つ又は複数のモデルを使用して、前記車両が前記第2の領域にあるときに前記車両のセンサによって生成される第2のセンサデータに基づく1つ又は複数の対応する第2の推論を生成することと、
少なくとも前記第2の推論に基づいて、前記車両に1つ又は複数の動作を実施させることと、
を含む、方法。
【請求項2】
前記モデルパラメータの第1のセット及び前記モデルパラメータの第2のセットはそれぞれ、前記第1及び第2の領域で収集され、以前に取り込まれたセンサデータに基づいて、対応するモデルを訓練することによって生成される、請求項1に記載の方法。
【請求項3】
前記モデルパラメータの第1のセット及び第2のセットを識別することは、データストアから前記モデルパラメータの第1及び第2のセットを検索することを含み、前記モデルパラメータの第1及び第2のセットはそれぞれ、前記データストア内で前記第1及び第2の領域に関連付けられる、請求項1に記載の方法。
【請求項4】
前記モデルは、前記第1又は第2のセンサデータに基づいて、前記第1又は第2の領域内の前記1つ又は複数のタイプのオブジェクトをそれぞれ識別するように訓練された1つ又は複数の知覚モデルを含む、請求項2に記載の方法。
【請求項5】
前記知覚モデルは、複数の照明条件、複数の気象条件、複数の時刻、あるいはその組み合わせに基づいて訓練された複数の知覚モデルを含む、請求項4に記載の方法。
【請求項6】
前記モデルパラメータの第1のセット及び第2のセットを判定することは、データストアにて、前記車両の環境での現在の照明条件、前記車両の環境での気象条件、時刻、あるいはその組み合わせに関連付けられた前記モデルパラメータの第1及び第2のセットを識別することをさらに含む、請求項5に記載の方法。
【請求項7】
前記モデルパラメータの第1のセット及び第2のセットが、対応する前記知覚モデルを訓練することによって生成されたときに、前記モデルパラメータの第1のセット及び第2のセットに関連付けられた前記照明条件、気象条件、時刻、あるいはその組み合わせが判定される、請求項6に記載の方法。
【請求項8】
前記モデルは、前記第1又は第2のセンサデータで表される1つ又は複数のオブジェクトの1つ又は複数の軌道を予測するように訓練された1つ又は複数の予測モデルを含む、請求項2に記載の方法。
【請求項9】
前記第1の領域に関連付けられた、対応する前記モデルパラメータの第1のセットに基づく構成を有する前記予測モデルは、前記第1の領域で過去に取り込まれたオブジェクトの観測された軌道に基づいて前記軌道を予測するように訓練される、請求項8に記載の方法。
【請求項10】
前記モデルは、前記第1又は第2のセンサデータに基づいて、前記第1又は第2の領域の環境を通ってそれぞれ操縦するための1つ又は複数の車両軌道を識別するように訓練された1つ又は複数の計画モデルを含む、請求項2に記載の方法。
【請求項11】
前記1つ又は複数の車両軌道は、複数の車両軌道を含み、その結果、対応する複数の異なる操縦が実施される、請求項10に記載の方法。
【請求項12】
前記第1の領域は、領域境界によって前記第2の領域から分離され、前記1つ又は複数のモデルの構成を、対応する前記モデルパラメータの第1のセットから対応する前記モデルパラメータの第2のセットに切り替えることは、前記車両が前記領域境界を横切るか、前記領域境界から第1の閾値距離未満に位置することに応答するものであり、
前記車両の現在の位置及び現在の進行方向に基づいて、前記車両が前記領域境界から第2の閾値距離未満であると判定することであって、前記第2の閾値距離は前記第1の閾値距離よりも大きい、ことに応答して、
前記モデルパラメータの第2のセットをデータストアから前記車両のメモリ装置に読み込むことをさらに含む、請求項1に記載の方法。
【請求項13】
前記モデルパラメータの第1及び第2のセットは、第1及び第2の領域の所定のセットについて前記車両上のメモリ装置に読み込まれ、前記所定のセットは、前記車両のルート計画に基づいて判定される、請求項1に記載の方法。
【請求項14】
前記第1及び第2の領域のそれぞれが、地理的エリア、道路区分、交差点、あるいはその組み合わせとして指定される、請求項1に記載の方法。
【請求項15】
一般化機械学習モデルの性能を評価するための地図の領域を識別することと、
前記地図に関連付けられた一般化モデルパラメータのセットに従って構成された前記一般化機械学習モデルを使用して、前記地図の前記領域に対する前記一般化機械学習モデルの評価された性能を判定することと、
前記地図の前記領域に対する前記一般化機械学習モデルの前記評価された性能が最小性能閾値を下回っていると判定することと、
ローカライズされたモデルパラメータのセットを有するローカライズされた機械学習モデルを生成することと、
前記ローカライズされた機械学習モデルを前記地図の前記領域に関連付けて、前記地図の前記領域で1つ又は複数の後続の推論を生成する際に使用することと、をさらに含む、請求項1に記載の方法。
【請求項16】
第1のローカライズされた機械学習モデルの性能が評価されるための地図の領域を識別することと、
前記領域に関連付けられたローカライズされたモデルパラメータの第1のセットに従って構成された前記第1のローカライズされた機械学習モデルを使用して、前記地図の前記領域に対する前記第1のローカライズされた機械学習モデルの評価された性能を判定することと、
前記地図の前記領域に対する前記第1のローカライズされた機械学習モデルの前記評価された性能が最小性能閾値を下回っていると判定することと、
前記地図の前記領域を2つ以上のサブ領域に分割することと、
ローカライズされたモデルパラメータの第2のセットを有する第2のローカライズされた機械学習モデルを生成することと、
前記サブ領域にて1つ又は複数の後続の推論を生成する際に使用するために、前記第2のローカライズされた機械学習モデルを前記サブ領域のうちの1つに関連付けることと、をさらに含む、請求項1に記載の方法。
【請求項17】
1つ又は複数のプロセッサと、前記プロセッサのうちの1つ又は複数に結合された1つ又は複数のコンピュータ可読非一時的記憶媒体とを具備するシステムであって、前記1つ又は複数のコンピュータ可読非一時的記憶媒体は、前記プロセッサのうちの1つ又は複数によって実行されたときに動作可能な命令を含み、前記命令は、前記システムに、
第1の領域での車両の現在の位置を判定させ、
前記第1の領域に関連付けられたモデルパラメータの1つ又は複数の第1のセットと、第2の領域に関連付けられたモデルパラメータの1つ又は複数の第2のセットとを識別させ、
モデルパラメータの対応する第1のセットに基づく構成を有する1つ又は複数の機械学習モデルを使用して、前記車両によって取り込まれた第1のセンサデータに基づいて1つ又は複数の対応する第1の推論を生成させ、
1つ又は複数のモデルの構成を、対応する前記モデルパラメータの第1のセットから、前記第2の領域に関連付けられた、対応する前記モデルパラメータの第2のセットに切り替えさせ、
対応する前記モデルパラメータの第2のセットに基づく構成を有する前記1つ又は複数のモデルを使用して、前記車両が前記第2の領域にあるときに前記車両のセンサによって生成される第2のセンサデータに基づいて1つ又は複数の対応する第2の推論を生成させ、
少なくとも前記第2の推論に基づいて前記車両に1つ又は複数の操作を実行させる、システム。
【請求項18】
前記モデルパラメータの第1のセット及び前記モデルパラメータの第2のセットはそれぞれ、前記第1及び第2の領域で収集され、以前に取り込まれたセンサデータに基づいて、対応する前記モデルを訓練することによって生成される、請求項17に記載のシステム。
【請求項19】
1つ又は複数のプロセッサに動作を実施させるために実行されるときに動作可能であるソフトウェアを具現化する1つ又は複数のコンピュータ可読非一時的記憶媒体であって、前記動作は、
第1の領域での車両の現在の位置を判定することと、
前記第1の領域に関連付けられたモデルパラメータの1つ又は複数の第1のセットと、第2の領域に関連付けられたモデルパラメータの1つ又は複数の第2のセットとを識別することと、
対応する前記モデルパラメータの第1のセットに基づく構成を有する1つ又は複数の機械学習モデルを使用して、前記車両によって取り込まれた第1のセンサデータに基づいて1つ又は複数の対応する第1の推論を生成することと、
1つ又は複数のモデルの構成を、対応する前記モデルパラメータの第1のセットから、前記第2の領域に関連付けられた、対応する前記モデルパラメータの第2のセットに切り替えることと、
対応する前記モデルパラメータの第2のセットに基づく構成を有する前記1つ又は複数のモデルを使用して、前記車両が前記第2の領域にあるときに前記車両のセンサによって生成される第2のセンサデータに基づいて1つ又は複数の対応する第2の推論を生成することと、
少なくとも前記第2の推論に基づいて前記車両に1つ又は複数の動作を実施させることと、
を含む、記憶媒体。
【請求項20】
前記モデルパラメータの第1のセット及び前記モデルパラメータの第2のセットはそれぞれ、前記第1及び第2の領域で収集され、以前に取り込まれたセンサデータに基づいて、対応する前記モデルを訓練することによって生成される、請求項19に記載の記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
現代の車両には、車両及び環境を監視するための1つ又は複数のセンサ又は感知システムが設けられる場合があり、センサから収集されたデータを使用して、環境の現在及び将来の状態に関連する推論を立てる場合がある。このような推論は、環境内のオブジェクトの検出と分類及び車両のルートの計画に関連するタスクにて使用される場合がある。環境の表現に基づいて推論を生成するために、適切なパラメータを使用して構成され得る統計モデルを使用して推論を立てる場合がある。統計モデルのパラメータは、特定の入力(例えば、環境表現)と出力(例えば、オブジェクトの分類又はルートなどの推論)との間の対応を指定する訓練データに基づいて構成される場合がある。モデルは、その後、車両が、これまでに見なかった新たな環境を走行するときに収集されたセンサデータに基づいて推論を生成するために、使用される場合がある。モデルは、センサデータによって表されるものとほぼ同じ入力に対応する出力を識別する場合があり、識別された出力は、センサデータに対して生成された推論である場合がある。
【0002】
例えば、車両は1つ又は複数のカメラ又はLiDARを使用して、車両を取り巻く環境内のオブジェクトを検出する場合がある。車両は、センサからデータを収集し、処理するために、1つ又は複数の計算システム(例えば、搭載コンピュータ)を使用する場合がある。計算システムは、搭載記憶スペースに保存されるか、無線接続を使用してクラウドからダウンロードされた統計モデルを使用して、データに基づいて推論を生成し、推論を使用して車両を操作する場合がある。
【図面の簡単な説明】
【0003】
図1A】車両と多数の歩行者とで混雑した交差点を含む例示的な車両環境を示す図である。
図1B】領域に分割された例示的な地図を示す図である。
図1C】モデルに関連付けられ、部分的に重複する領域に分割された例示的な地図を示す図である。
図1D】単一のモデルに関連付けられ、性能評価が関連付けられた領域に分割された例示的な地図を示す図である。
図1E】モデル及び性能評価に関連付けられた領域に分割された例示的な地図を示す図である。
図1F】領域と、これより小さなサブ領域とに分割された例示的な地図を示す図である。
図1G】モデル及び性能評価に関連付けられた領域と、これより小さなサブ領域とに分割された例示的な地図を示す図である。
図1H】さまざまなサイズの領域に分割された例示的な地図を示す図である。
図2A】単一のモデルに関連付けられ、道路区分及び交差点に対応する領域に分割された例示的な地図を示す図である。
図2B】単一のモデルに関連付けられ、性能評価が関連付けられた道路区分及び交差点に対応する領域に分割された例示的な地図を示す図である。
図2C】モデルに関連付けられ、性能評価が関連付けられた道路区分及び交差点に対応する領域に分割された例示的な地図を示す図である。
図2D】モデルに関連付けられ、性能評価が関連付けられた道路区分に対応する領域と、これより小さなサブ領域とに分割された例示的な地図を示す図である。
図3】地図領域に関連付けられたモデルを使用する知覚、予測及び計画の例示的なモジュールを示す図である。
図4】地理的位置特定モデルを読み込み、起動するためのシステムの例示的なブロック図を示す図である。
図5】車両が領域境界構成に近づいたときに予測モデル構成を事前に読み込み、車両が境界に到達したときに事前に読み込まれたパラメータに切り替える例示的な方法を示す図である。
図6】モデル構成を使用して予測された軌道間の最小距離にて、異なる地図領域に関連付けられた予測モデル構成を切り替える例示的な方法を示す図である。
図7】モデルの性能に基づいて、モデルパラメータの領域固有のセットを地図領域に関連付ける例示的な方法を示す図である。
図8】データ収集車両システムが近くの車両の車両データと周囲の環境の状況データとを収集する例示的な状況を示す図である。
図9】乗車要求者と自律型車両を照合するための輸送管理環境の例示的なブロック図を示す図である。
図10】アルゴリズムナビゲーションパイプラインの例示的なブロック図を示す図である。
図11】例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【0004】
以下の説明では、さまざまな実施形態を説明する。説明の目的で、実施形態の全体的な理解を提供するために、特定の構成及び詳細を示す。しかし、このほか、実施形態を特定の詳細なしで実施し得ることが当業者には明らかであろう。さらに、説明する実施形態を曖昧なものにしないために、周知の特徴を省略しても簡略化してもよい。また、本明細書に開示する実施形態は例示に過ぎず、この開示の範囲は例示に限定されるものではない。特定の実施形態には、上記に開示した実施形態の構成要素、要素、特徴、機能、操作又はステップの全部、一部が含まれるか、いずれも含まれない場合がある。本発明による実施形態を、特に、方法、記憶媒体、システム及びコンピュータプログラム製品を対象にする添付の特許請求の範囲に開示する。ここで、ある請求項カテゴリ(例えば、方法)で言及される任意の特徴を、別の請求項カテゴリ(例えば、システム)でも請求することができる。添付の請求項に戻る依存関係又は参照は、形式的な理由でのみ選択される。しかし、以前の請求項へ戻る意図的な参照(特に多重の依存関係)から生じる任意の主題も請求することができるため、請求項とその機能の任意の組み合わせを開示し、添付の請求項で選択された依存関係に関係なく請求することができる。請求可能な主題は、添付の請求項に記載された特徴の組み合わせだけでなく、請求項内の特徴の任意の他の組み合わせも含む。ここで、請求項に記載された各特徴は、他の任意の特徴又は請求項の他の特徴の組み合わせと組み合わせることができる。さらに、本明細書に記載するか描写した実施形態及び特徴のいずれかを、別個の請求項で請求したり、及び/又は本明細書に記載するか描写した任意の実施形態又は特徴との任意の組み合わせ、あるいは添付の請求項の特徴のいずれかとの任意の組み合わせで請求したりすることができる。
【0005】
図1Aは、車両107と多数の歩行者108とで混雑した交差点を含む例示的な車両環境100を示す。計算システムが、車両の動作の制御に関連するタスクを実行するように訓練された、本明細書では機械学習モデルと呼ばれるさまざまなモデルを使用してもよい。タスクは、とりわけ、知覚関連タスク、予測関連タスク及び計画関連タスクを含んでもよい。このようなモデルは通常、モデルが正しい結果を識別することができるように、他の環境(この環境でモデルが訓練されている)と充分に類似した環境にて結果を推測するように訓練されている。2つの環境間の類似性は、各環境での特定の特徴の位置、形状、サイズ又は数などの適切な測定基準を使用して2つの環境の表現を比較することによって判定されてもよい。異常な環境を認識するか、異常な状況に適切に反応する方法を知るために、一般化モデルを訓練することは困難である。異常な環境とは、例えば、1つ又は複数の異常な特徴、道路状況、オブジェクト及び/又は状況がある環境の場合がある。異常な環境には、同じ種類のオブジェクト、同じ種類の道路、同じ種類の交通パターンなど、典型的な環境と共通する1つ又は複数の特徴がある場合がある。このため、異常な環境が、異常な特徴、道路状況、オブジェクト、状況、道路タイプ、交通パターンなどを有する一方で、典型的な環境の特徴と同じであるかほぼ同じである他の特性を有するなど、少なくとも1つの特性にて典型的な環境とは異なる場合がある。例えば、図1Aに示す車両環境100は、歩行者にとって異常な場所である、通りの車線に位置する数人の歩行者106を含む。さらに、車両環境100は、異常な特徴である可能性がある、交差点を横切る斜め横断歩道を含む。歩行者が、特に信号機によって横断歩道の使用を許可されている場合、斜め横断歩道上に位置する可能性がある。異常な環境は比較的まれであるため、一般化機械学習モデルを訓練して、異常な環境を認識し、異常な環境に適切に反応することが困難になる。一般化機械学習モデルを、事象/訓練データの大部分が異常な特徴又は事象ではない多くの異なる環境に基づいて訓練する。そのため、一般化モデルは、通常の一般的に発生する環境を認識して反応するのに優れている傾向がある。これは、局所環境の詳細を認識して反応するという目標と矛盾することがある。一般化モデルを訓練して、典型的な環境と異常な環境の両方に対して正しい推論を立てることは困難である。さらに、さまざまな環境向けに一般化された機械学習モデルを、さまざまな地理的な位置のさまざまな環境にて発生するパターンを認識するように設計する。典型的な環境又は特徴は、通常とは異なるであろう環境又は特徴よりも、地理的に異なる複数の場所で発生する可能性が高いと予想することができる。このため、機械学習モデルを、グローバルに、例えば、多数の異なる場所で良好に機能したり、及び/又は地理的に長距離に分散するさまざまな場所で良好に機能したりするように訓練してもよい。特定の場所に固有の「局所」環境又は特徴でグローバル化モデルを訓練すると、過剰適合が発生する可能性がある。この場合、モデルが特定の場所では良好に機能するが、他の場所ではうまく機能しない。
【0006】
例えば、予測モデルが、環境内で検出されたオブジェクトの将来の位置又は動き(例えば、軌道)を予測してもよい。歩行者の位置は、予測モデルの性能に影響を及ぼす。斜め横断歩道のある交差点の異常な環境で必ずしも訓練されていない予測モデルが、人間の運転者又は斜め横断歩道のある交差点で訓練された予測モデルが立てるであろう予測とは異なる歩行者の動き又は位置についての予測を立てる可能性がある。さらに、歩行者が少ない通り又は交差点で訓練された予測モデルが、人間の運転者又は歩行者がいる通り又は交差点で訓練された予測モデルが立てるであろう予測とは異なる予測を立てる可能性がある。例えば、一般化予測モデルが、走行車線に位置する歩行者106の軌道を予測することができない(例えば、予測なし)場合があり、あるいは歩行者106の部分的に不正確な軌道(例えば、方向は正しいが速すぎるか遅すぎる)又は完全に不正確な軌道(例えば、方向と速度が間違っている)を予測する場合がある。このような異なる予測は、部分的又は完全に不正確である可能性があり、効率の低下又は不正確な車両動作をもたらす可能性がある。
【0007】
知覚モデルが、歩行者106及び車両107などの環境内のオブジェクトの位置及びタイプを識別するなどの知覚関連タスクを実行してもよい。知覚タスクに、車両環境に関連する可能性のある照明条件が影響を及ぼす可能性がある。例えば、車両環境100では、太陽108は非常に明るい場合がある。太陽108の光は、特定の時間に、建物などの環境内の障害物によって遮られる可能性がある。このため、車両環境100は、知覚関連の推論を立てるときにモデルによって要因として使用されることのない異常な照明特性を有する場合がある。画像認識操作が太陽108からの明るい光の影響を受ける可能性があるため、そのような局所照明条件で訓練されていないモデルが、人間又はそのような照明条件で訓練されたモデルとは異なる方法でオブジェクトを識別しても分類してもよい。このような異なるオブジェクトの識別又は分類は正しくない可能性があり、効率の低下又は不正確な車両動作をもたらす可能性がある。
【0008】
計画モデルが、車両がたどる経路を判定するなど、計画関連のタスクを実行してもよい。計画モデルが、車両環境100の交差点で実施すべき潜在的な操作又は軌道のセットを識別してもよいほか、各軌道が実施されるべきである対応する尤度を識別してもよい。車両システムの計画モジュール(又は別のモジュール)が、使用する軌道の1つ、例えば、最も尤度の高い軌道を選択してもよい。計画モデルは、斜め横断歩道を含む交差点のトポロジー及び/又は歩行者106及び車両107の位置に基づいて、このような潜在的な軌道及びその尤度を識別してもよい。例えば、計画モデルは、斜め横断歩道がない交差点に基づいて潜在的な軌道を識別するように訓練されているか、そうでなければ構成されている場合がある。斜め横断歩道などの異常な環境に遭遇した時点で、そのような計画モデルが、人間の運転者又は異常な環境(例えば、斜め横断歩道がある交差点)を処理するように訓練されるか、そうでなければ構成された計画モデルが作成するであろう軌道とは異なる潜在的な軌道を識別する場合がある。このような異なる識別された軌道は不正確である可能性があり、効率の低下又は不正確な車両動作をもたらす可能性がある。
【0009】
一般化モデルを訓練して、典型的な車両環境と異常な車両環境の両方について正しい推論を下すこのような課題は、例えば、異常な環境に対して正しい推論を生成するモデルを生成するのに充分な重み(例えば、例示的な環境の数)を有する訓練データに異常な車両環境を含めると、モデルが典型的な環境に対して誤った推論を生成する過剰適合エラーを引き起こすことがあるため、解決が困難である。このため、一般化された知覚、予測又は計画のモデルを訓練して、典型的な環境と異常な環境の両方に対して正しい推論を立てることは困難である。
【0010】
モデルの性能、例えば、モデルがそのタスクをどれだけ良好に実行するかは、新たに遭遇した環境がモデルの訓練に使用された環境にどれほど類似するかに関連する可能性がある。このため、モデルは通常、頻繁に遭遇すると予想される平均的な(例えば、一般的な)車両環境に全体として類似するかなりの量のデータで訓練される。訓練データが充分に具体的でない場合、例えば、歩行者をほとんど含んでいない場合、モデルは適合不足エラーを生成する可能性がある。訓練データが具体的すぎる場合、例えば、平均的な車両環境とは大幅に異なる多くの例を含んでいる場合、モデルは過剰適合エラーを生成する可能性がある。このため、一般的に遭遇する環境で良好に機能するモデルを生成するために、訓練プロセスでは、一般的に遭遇する環境とほぼ同じ訓練データを使用し、過剰適合エラー及び適合不足エラーを最小限に抑えようとする。しかし、一般化モデルを訓練して、まれな異常な環境及び一般的に遭遇する環境で良好に機能するようにすることは困難であり、実現可能なものではない場合がある。
【0011】
図1Bは、領域に分割された例示的な地図を示す。特定の実施形態では、知覚、予測又は計画などのタスクを実行する機械学習モデルを、異常な環境又はまれな環境が予想される可能性がある地図領域で訓練するか使用することができる一方、他の一般化モデルを他の領域で使用することができる。これに加えて、及び/又はこれとは別に、「一般化」モデルを使用せずに車両が走行し得る道路区分ごとに、個別のローカライズされた機械学習モデルを訓練することができる。地図104を、例えば、地理的エリア、道路区分などであり得る領域111~116に分割し、(地図104全体ではなく)領域111~116の1つ又は複数で領域固有のモデルを訓練し、領域固有のモデルを使用して、そのそれぞれの領域で推論を立てることにより、一般化された知覚モデル、予測モデル又は計画モデルを訓練して、典型的な環境と異常な環境の両方に対して正しい推論を立てるという課題の解決策が提供される。特定の実施形態では、地図104は、任意の数の領域に分割されてもよい。その後、領域のうちの1つ又は複数を、対応する領域固有のモデルに関連付けてもよい(図1Cを参照)。領域固有のモデルは、領域に関連付けられたデータに基づいて訓練されてもよい。各領域固有のモデルを、訓練した後使用して、車両がそのモデルに関連付けられた領域にあるときに推論を立てる、例えば、モデルの関連付けられた領域に位置する車両の知覚、予測及び/又は計画に関連する推論を立ててもよい。一般化モデルが関連付けられる領域は、例えば、一般化モデル121が良好に機能する(例えば、閾値性能を超える)比較的多数の典型的な環境を有する領域であってもよい。一般化モデルに関連付けられる領域を、通常、領域固有のモデルに関連付けることはない。領域固有のモデルを、他の特徴又は領域と比較して異常な領域又は特徴に関連付けてもよい。異常な領域に対して具体的にモデルを訓練すると、異常な領域の一般化モデルよりも優れた性能を発揮するモデルが生成される場合がある。領域固有のモデルを、一般化モデル121が良好に機能しない(例えば、閾値性能未満)、比較的多数の異常な環境又は特徴を有する領域に関連付けてもよい。車両が、第1の領域に位置する間に、第1の領域に関連付けられた第1のモデルを使用して推論を立ててもよい。車両が第2の領域に移動するとき、車両は、第2の領域に関連付けられた第2のモデルに切り替え、車両が第2の領域に位置する間に第2のモデルを使用して推論を立ててもよい。このように、領域で具体的に訓練されたモデルを使用して推論を立て、他の領域での一般化モデルの性能に影響を及ぼすことなく、モデルが異常な環境又は特徴に対処することができる。
【0012】
過剰適合が典型的に問題ではあるが、特定の実施形態が、地理的領域での過剰適合の使用から利益を得る可能性がある。このため、領域固有のモデルは、その関連する領域で特別に訓練されており、地図の他の領域と比較して、その関連する領域に固有の特徴及び事象に過剰適合する可能性がある。しかし、車両は、モデルの関連付けられた領域で各モデルを使用するが、他の領域では使用しないため、各モデルは、その関連付けられた領域で正確な結果を生成する。さらに、特定の領域のモデルは、他の領域ではまれなその関連領域の異常な車両環境に基づいて推論を立てるように訓練することができるため、各モデルは、これより大きな領域で訓練された一般化モデルよりも正確な結果を生成する可能性がある。このため、車両がそのような領域にあるときに特定の領域に対して訓練されたモデルを使用すると、領域固有のモデルが異常な領域で正しい結果を生成することができるため、一般的な領域用に訓練された一般化モデルよりも利点がある。領域固有のモデルは、各領域固有のモデルが他の領域では通常使用されないため、ローカライズされた訓練の欠点がない状態で、一般化モデルで過剰適合エラーを引き起こすであろうローカライズされた訓練を有利に使用する。
【0013】
特定の実施形態では、モデルを、特定の車両環境、例えば、道路、交差点、車両、歩行者をはじめとするオブジェクトを含む場面などの特定の入力シナリオと、オブジェクトのその後の動き又は車両が実施する行動などの特定の対応する出力を表すデータを使用して訓練してもよい。訓練されたモデルを、訓練プロセス中に判定されたパラメータ、例えば、重みのセットとして表してもよい。次に、訓練されたモデルは、モデルの訓練に従って、新たに遭遇した環境に適切な出力を判定することにより、新たに遭遇した環境での知覚、予測及び計画などのタスクを実行してもよい。例えば、予測モデルが、特定の近くの車両の現在又は将来の運転挙動の可能性を、その過去の挙動に基づいて、予測してもよい。予測モデルは、例えば、訓練プロセス中に調整されるいくつかの重み因子及びパラメータを含むニューラルネットワークモデルであってもよい。予測モデルは、例えば、データ収集車両の集団によって収集された過去の運転挙動データを使用して訓練されてもよい。訓練プロセス中に、予測モデルのいくつかの重み因子を、観測された車両の既知の挙動(地上検証データ)と、予測モデルの現在の重み因子を使用して生成されたそのような車両の予測された挙動との比較に基づいて調整してもよい。
【0014】
特定の実施形態では、上記で紹介したモデルの切り替えは、車両が第2の領域に進入するときに(例えば、第1の領域と第2の領域との間の境界を越えることによって)実施されてもよい。しかし、第1のモデルと第2のモデルとは、同じ環境又はほぼ同じ環境に対して大幅に異なる結果を生成する可能性があるため、モデルを突然切り替えると、速度又は進行方向の突然の変化など、予期しないか望ましくない車両の挙動が発生する可能性がある。このため、1つ又は複数の平滑化技術を使用して、モデルの切り替えが発生したときの結果の差を低減してもよい。例えば、領域の境界を拡張して、各領域が隣接する各領域と部分的に重複するようにしてもよく、各領域に関連付けられたモデルの訓練に重複するエリアを含めてもよい。モデル間の切り替えは、車両が重複領域にあるときに実施され、それによって車両の動作の急激な変化を低減するか排除してもよい。別の例示的な平滑化技術として、車両が第1の領域にあり、第2の領域に向かっており、第2の領域の閾値距離内にある場合、第1及び第2の領域にそれぞれ関連する第1及び第2の予測モデルを使用して、車両の第1及び第2の予測軌道を生成してもよい。軌道は、比較されて、その間の最小距離を特定してもよく、次に、車両が最小距離の位置にあるときにモデル間の切り替えを実施してもよい。
【0015】
特定の実施形態では、領域固有のモデルを、大きめの囲み領域に関連付けられた他のモデルの性能に基づいて、領域に関連付けてもよい。大きめの領域に関連付けられたモデルの性能が性能の閾値を下回る場合、大きめの領域は、2つ以上のサブ領域に分割されてもよく、新たな領域固有のモデルを新たなサブ領域それぞれに関連付けて、新たなサブ領域それぞれに対して訓練してもよい。サブ領域は、同じサイズのサブ領域であっても、地図のトポロジー的特徴に基づくか交通流などの他の特徴に基づくサイズ又は形状を有してもよい。サブ領域という用語は、大きめの領域を分割した結果に言及するために説明目的で使用され、それ以外の点ではサブ領域を領域と同じであると理解する場合があるため、領域及びサブ領域という用語は互換的に使用される場合がある。
【0016】
特定の実施形態では、計算システムには、知覚、予測及び計画などの異なるタイプのタスクのためのモジュールが含まれてもよい。さまざまなタスクにはさまざまなタイプのモデルが含まれることがあり、さまざまな訓練が可能であるため、領域固有のモデルを作成するプロセスでは、タスクのタイプごとに(さまざまな地図領域に位置づけることができる)さまざまな領域固有のモデルを生成することができる。結果として、計算システムモジュールのそれぞれは、推論モデルの異なるセットに関連付けられてもよい。知覚モジュールは、知覚モデルのセットに関連付けられてもよく、予測モジュールは、予測モデルのセットに関連付けることができ、計画モジュールは、計画モデルのセットに関連付けることができる。推論モジュールの各異なるセットには、モデルのセットに関連付けられたタイプのタスクを実行するように訓練された1つ又は複数の領域固有のモデルが含まれてもよい。知覚モデルは、例えば、地図の3つの対応する領域に関連付けられた3つの領域固有の知覚モデルを含むことができる。予測モデルは、例えば、地図の4つの対応する領域に関連付けられた4つの領域固有の予測モデルを含むことができる。計画モデルは、例えば、地図の3つの対応する領域に関連付けられた3つの領域固有の計画モデルを含むことができる。知覚モデル、予測モデル及び計画モデルのこのようなセットと、その対応する地図領域は、推論モデルに関連付けられる地図領域を識別し、関連付けられた地図領域に基づいて推論モデルを訓練し、(例えば、モデルの性能を向上させるために)必要に応じて、地図領域を、異なるサブ領域固有の推論モデルを有する複数のサブ領域に分割するプロセスによって生成されてもよい。タスクのタイプごとに異なる推論モデルを使用した結果、特定のタイプのタスクのモデルは、他のタスクとは異なる領域固有のモデルを使用する。地図領域は、領域固有のモデルに基づいて(例えば、領域固有のモデルの性能に基づいて)生成される可能性があるため、各タイプのタスクには、他のタイプのタスクの地図領域とは異なる形状及び配置の地図領域が含まれる場合がある。
【0017】
図104は、同じサイズの6つの領域111~116に分割されている。領域は境界で区切られる。各領域111~116は、破線の長方形によって囲まれるように示されている。破線によって形成される長方形は、領域の説明及びラベル付けの目的で、領域111~116のエリアよりもわずかに小さいものとして示されている。しかし、この例では、領域111~116が地図104全体を覆っており、領域の境界は実線で示されている。地図104は、任意の適切な基準又は地図分割(例えば、区分け)技術に従って、任意の適切なサイズ又は形状の任意の適切な数の領域に分割されてもよい。使用し得る地図分割技術の例には、指定された数の等しいサイズの領域への分割、指定されたサイズの領域への分割、最小及び最大のエリア制限、辺、角度又は領域ごとの曲線などの数などの制約を受けた無作為なサイズと形状の領域への分割、地図トポロジーに従った領域への分割、あるいは領域の他の特性に基づいた領域への分割が含まれる。例えば、1つ又は複数の領域が、地図104の対応する道路、道路の交差点、車線又は他の特徴の形状に一致してもよい。このため、例えば、最小長と最大長との間の長さを有する道路区分ごとに異なる領域を作成してもよい。道路区分の各領域は、道路区分と同じ境界を有する場合もあれば、道路区分から所定の距離にある境界を有する場合もあり、その結果、領域の形状は、道路区分の形状と類似するが、それよりも大きい場合がある。別の例として、少なくとも最小サイズ(例えば、単位正方形面積)であり、少なくとも最小量の交通流を有し、少なくとも最小数の車線を有するなどの基準を満たす交差点ごとの領域を作成してもよい。交差点の各領域が、交差点と同じ境界を有する場合もあれば、交差点よりも大きいか小さいエリア(例えば、交差点を囲む長方形、境界ボックス又は円)を囲む場合もある。他の例では、領域を、道路、交差点、建物、家及び/又は他の地物の密度に基づいて作成してもよい。一例として、道路の閾値密度を下回る少なくとも閾値サイズ(例えば、単位正方形面積)のエリアが、第1の領域を形成してもよく、道路の閾値密度を上回り、閾値の最大領域サイズを下回る隣接エリアが、第2の領域を形成してもよい。地図を領域に分割する特定の例を本明細書で説明するが、任意の適切な技術を使用して、地図を領域に分割してもよい。別の例として、地図又は地図の領域を、地図又は領域の特性に基づいて、本明細書ではサブ領域と呼ばれ得る2つ以上の領域に分割してもよい。特性は、地物のタイプ、例えば、高速道路、高速道路の進入車線又は出口車線、幹線道路、市街地、近隣/住宅街、環状交差点、横断歩道、学校、公園、商店街、商業地区、未舗装道路、(道路上の)制限速度、橋、フェリー、駐車場などの地図情報を含んでもよい。これとは別に、あるいはこれに加えて、特性は、交通条件、道路の平均速度、通学区域の存在、道路の建設又は通行止めの存在、事故報告など、さらに頻繁に変化する情報を含んでもよい。
【0018】
領域を、例えば、特性のうちの1つ又は複数を有するエリア又は地物の境界が領域の境界を形成するように、1つ又は複数の特性の位置に基づいて識別(例えば、描写)してもよい。これとは別に、あるいはこれに加えて、領域を、1つ又は複数の特性の位置に基づいて識別してもよいが、領域のエリアの境界は、特性を有するエリア又は地物よりも大きくなる場合がある。例えば、公園111aには境界内に道路がないが、公園の近くの道路に公園の存在が影響を及ぼす可能性がある(例えば、歩行者が公園の近くの道路を経由して公園に出入りする可能性がある)。公園領域111bを、公園111aに基づいて識別してもよい。公園領域111bの境界は、公園111aの境界を公園111aの各側面から閾値距離だけ拡大して、公園111aの近くの道路を含むことによって生成されてもよい。このため、公園領域111bの境界は、公園の閾値距離内の道路を囲む長方形として示されている。
【0019】
別の例では、領域113は、駐車場領域113aを含んでもよい。領域116は、(道路を含む)道路領域116a、(駐車場に通じる別の道路を含む)別の道路領域116b及び(駐車場を含む)駐車場領域116cを含んでもよい。駐車場領域113a、116cの境界及び道路領域116a、116bの境界は、そのような領域によって囲まれた地物の境界に対応してもよい。このため、例えば、駐車場領域113aの境界は、駐車場の境界であって、その境界に基づいて駐車場領域113aが識別される境界と同じであってもよい。他の例では、領域の境界の1つ又は複数が、上記のように、近くの道路を囲むための公園111aの境界の拡張と同じように、領域によって囲まれた特徴(例えば、駐車場)よりも、例えば、閾値距離だけ大きくてもよい。
【0020】
特定の実施形態では、領域111~116のそれぞれは、対応する機械学習モデルに関連付けられてもよい。一般化モデル121を、領域固有のモデル121b、123aに関連付けられていない地図の領域に関連付けてもよい。例えば、図1Bに示すように、地図104全体は最初に、(領域固有のモデルを関連付ける前に)一般化モデル121に関連付けられてもよい。一般化モデル121は、関連付けられる(他のモデルに関連付けられていない)地図の領域に対して推論を立てるために使用されてもよい。領域固有のモデル121bを、例えば、車両が公園領域111bにて、地図104の他のエリアとは異なる方法で概ね運転される場合、公園領域111bに関連付けてもよい。車両が異なる公園領域にて異なる方法で概ね運転される場合、異なる公園領域を異なるモデルに関連付けてもよい。別の例として、車両が異なる駐車場で同じ方法で概ね運転されるため、2つの駐車場領域113a、116cを単一の領域固有のモデル123aに関連付ける。車両が対応する道路上で、囲い領域116の他のエリアとは異なる方法で概ね運転されるため、道路に対応する道路領域116aを、囲い領域116から分離し、(図示しない)道路固有のモデルに関連付ける。車両が両方の道路領域116a、116bにて同じ方法で概ね運転されるため、駐車場領域116cにつながる別の道路領域116bをこのほか、(図示しない)道路固有モデルに関連付ける。特定の実施形態では、地図104に関連付けられたモデル121などの囲み地図又は領域のモデルは、異なるモデルに関連付けられた領域116、116a、111cなどの小さめの領域では使用されない。これは、異なるモデルは、囲み地図又は領域に関連付けられたモデルの代わりに、そのような小さめの領域に対して使用されるためである。
【0021】
一般化モデル121は、地図104全体、あるいは領域固有のモデル121b、123a、126aに関連付けられていない領域111~116のうちの1つ又は複数で訓練されてもよい。一般化モデル121は、地図104で訓練されてもよく、領域固有のモデルのそれぞれは、一般化モデル121を複製することによって作成されてもよい。次に、領域固有のモデルを、例えば、対応する領域に関連する訓練データ、例えば、同領域にて受信された訓練データで訓練してもよい。領域に関連付けられた訓練データは、例えば、車両がその領域に位置していたときに車両のセンサによって取り込まれるか検出された訓練データであってもよい。別の例として、領域に関連付けられた訓練データには、その領域にある1つ又は複数の関連する場所を有する訓練データが含まれてもよい。訓練データには、例えば、センサデータ及び関連するドライバーの行動又は車両の動作などが含まれてもよい。
【0022】
異なる領域を、異なるモデルに関連付けられるものとして本明細書で説明するが、これとは別に、領域は、各領域に対するパラメータの異なるセットを使用して、異なる領域に対して異なるように構成され得る単一のモデルに関連付けられてもよい。このため、「モデル」という用語は、パラメータの特定のセットで構成されたモデルを指す場合があり、異なるモデルが、パラメータの異なるセットで構成される同じモデルを指す場合がある。このため、例えば、「領域固有のモデル」という用語は、領域固有のモデルを形成するために、領域に依存しないモデルで使用されているモデルパラメータの領域固有のセットを指す場合がある。領域に依存しないモデルは、例えば、モデルに異なるパラメータを読み込むことによって変更され得るパラメータに基づいて推論を生成するためのプログラムコード又は命令を含んでもよい。このため、各モデルは、訓練プロセスで判定されたモデルパラメータ、例えば、重みのセットなどに従って構成されてもよい。モデルを、特定の領域にて、その領域に関連付けられたパラメータのセットをモデルに読み込むことにより、使用するように構成してもよい。地図104は、特定の形状及びサイズを有する特定の数の領域111~116に分割されるように示されているが、他の例では、地図104は、それぞれが異なるサイズ及び/又は形状を有し得る異なる数の領域に分割されてもよい。このため、領域の境界は必ずしも直線ではない。
【0023】
図1Cは、モデル121~126に関連付けられた部分的重複領域161~166に分割された例示的な地図104を示す。領域161~166は、図1Bの領域111~116とほぼ同じであるが、部分的に重複する。部分的重複領域は、車両が領域161~166のうちの新たな(例えば、異なる)領域に移動した結果として、モデル121~126のうちの新たな(例えば、異なる)モデルに切り替えるときに発生する可能性があるモデル121~126の対の間の推移を平滑化にするために、使用されてもよい。例えば、車両は、車両が第1の領域161に位置する間に、第1の領域161に関連付けられた第1のモデル121を使用して推論を立ててもよい。車両が第2の領域162に移動するとき、車両は、第2の領域162に関連付けられた第2のモデル122に切り替え、車両が第2の領域162に位置する間に第2のモデル122を使用して推論を立ててもよい。このモデルの切り替えは、車両が第2の領域に進入するときに、(例えば、第1の領域と第2の領域との間の境界を越えることによって)実施されてもよい。しかし、第1のモデル121と第2のモデル122は、同じ環境又はほぼ同じ環境に対して大幅に異なる結果を生成する可能性があるため、モデルを突然切り替えると、速度又は進行方向の突然の変化など、予期しないか望ましくない車両の挙動が発生する可能性がある。このため、1つ又は複数の平滑化技術を使用して、モデルの切り替えが発生したときの結果の差を低減してもよい。例えば、領域161~166のそれぞれが各隣接領域と部分的に重複するように、領域境界を拡張してもよく、領域に関連付けられたモデル121~126は、(そのそれぞれの領域の非重複エリアに加えて)重複エリアで訓練されてもよく、その結果、隣接するモデルの各対が、隣接するモデルの対に関連付けられた領域の対の重複エリアで互いに密着する。モデル間の切り替えは、車両が重複領域にあるときに実施され、それによって車両の動作の急激な変化を低減するか排除してもよい。
【0024】
図1Cでは、領域のそれぞれは、2つ以上の他の領域と部分的に重複する。例えば、領域161は、領域162、164及び165と部分的に重複する。このため、地図104の任意の2つの領域間を移動する車両が、2つの領域が重複するエリアを通過する。領域161~166のそれぞれは、対応するモデル121~126に関連付けられる。各モデル121~126は、領域161~166のうちの対応する1つの境界内の位置に関連付けられた(しかし、特定の実施形態では、領域161~166のうちの対応する1つに関連付けられていないデータに関連付けられていない)データ(例えば、運転事象など)で訓練されてもよい。このため、例えば、任意の他の領域と重複しない領域161のエリアのほか、領域162、164及び165と重複する領域161のエリアを含み得る、領域161内の任意の位置に関連付けられた訓練データに基づいて(しかし、このようなエリアにない位置に関連付けられた訓練データには基づかずに)モデル121を訓練してもよい。同じように、領域162~166のそれぞれは、それぞれの領域の非重複エリア又は重複エリアに関連付けられた訓練データで訓練されてもよい。車両が、ある領域から別の領域に、例えば、領域161から領域162に移動すると、モデル121(例えば、領域161に関連付けられたモデルパラメータ)からモデル122(例えば、領域162に関連付けられたモデルパラメータ)への切り替えは、車両が領域161と領域162が重複するエリア(例えば、図1Cに示す領域161の右側部分及び領域162の左側部分)にあるときに実施されてもよい。特定の実施形態では、重複領域は、第1及び第2のモデルの訓練データを提供するための交通事象を含んでもよい。このため、第1及び第2の領域は、その重複する共通エリアに少なくとも1つの交差が存在するように定義されてもよい。
【0025】
図1Dは、単一のモデル121に関連付けられ、性能評価が関連付けられた領域111~116に分割された例示的な地図を示す。性能評価は、シミュレーション、人間の運転者からのフィードバック又はその組み合わせに基づく技術を使用して、図示の領域に対して生成されてもよい。性能評価では、さまざまな性能測定基準、例えば、適合率、再現率などに従って、モデルの出力の品質又は正確性のいくつかの測定値が生成されてもよい。図1Dに示す例示的な性能評価は、モデルごとに1つの数値として表されている。数値はパーセンテージであり、例えば、パーセンテージに変換された複数の性能測定基準の平均として、1つ又は複数の性能測定基準に基づくものであってもよい。このため、この例では、モデルの性能が0%(最低の性能)から100%(最高の性能)の範囲である可能性がある。本明細書で説明する例では、性能をパーセンテージ値として測定するが、性能を測定し、表現する方法は多数あり、使用し得る閾値のタイプ及び/又は値もさまざまである。他の例では、性能を特定の安全性評価(例えば、A、B、C、1、2、3)に分類してもよい。さらに、他の性能測定基準閾値を使用してもよい。例えば、特定のパーセンテージ閾値の代わりに、性能測定基準閾値を、モデル(あるいは複数のモデルが共に評価される場合はモデルの組み合わせ)の各時間の測定基準自体によって本質的に正規化してもよい。別の例として、性能を、乗客の快適さの評価、速度又は方向の変化の急激さ、燃料効率などに基づいて測定してもよい。
【0026】
図1Dは、モデルを使用して領域111~116のそれぞれに関して推論を生成する場合の一般化モデル121の性能測定値の例を示す。例示的な値は説明のために示しており、領域でのモデルの性能により、他の例では他の値が生成される場合がある。一般化モデル121に対して図1Dに示す性能評価には、領域111で90%、領域112で60%、領域113で50%、領域114で65%、領域115で65%及び領域116で70%の性能が含まれる。モデル121は、異なる領域の環境の差のために、異なる領域で異なる性能を発揮する可能性がある。この例では、モデル121は領域111で良好に機能する(領域111は、モデル121が訓練された領域とほぼ同じである可能性がある)。
【0027】
特定の実施形態では、閾値モデル性能値を使用して、新たなモデルを作成し、特定の領域に関連付けるかどうかを判定してもよい。本明細書で説明する例では、閾値モデルの性能は80%である。モデルの性能評価の任意の例が80%未満の場合、本明細書で説明する例では、モデルが1つ又は複数の領域固有のモデルに置き換えられる。このため、一般化モデル121は、領域112~116の領域固有のモデルに置き換えられることになる。これは、そのような領域に対する性能評価が80%未満であるためである。他の例では、他の閾値又は他のモデル置換基準を使用してもよい。例えば、絶対閾値を使用する代わりに、モデルの平均性能と閾値のパーセンテージを超える分だけ異なる性能を有するモデルを、領域固有のモデルに置き換えてもよい。領域112~116用に作成された領域固有のモデルを、図1Eに示し、以下で説明する。
【0028】
図1Eは、モデル121~126及び性能評価に関連付けられた領域111~116に分割された例示的な地図104を示す。図1Dに示す性能評価によると、領域112~116での一般化モデル121の性能は、モデル置換基準(性能<80%)を満たすほど充分に低く、異なる領域122~126のうちの1つ又は複数のそれぞれ又は組み合わせに対してローカライズされた1つ又は複数のモデルを訓練してもよい。このため、この例では、一般化モデル121は、領域122~126に対してローカライズされた1つ又は複数のモデルに置き換えられる。他の例では、一般化モデル121は、領域122~126に対してローカライズされた(図示しない)単一のモデルに置き換えられてもよい(この場合、領域122~126を、5つの別個の領域ではなく単一の領域として表してもよい)。この例でのこの時点にて単一のローカライズされたモデルが単一の領域に対して使用される場合、単一の領域又はサブ領域がモデル置換基準を満たすと識別されるのであれば、単一の領域はその後、2つ以上の異なるモデルに関連付けられた2つ以上のサブ領域に分割されてもよい。
【0029】
さらに、図1Eの例では、一般化モデル121は領域111に関連付けられた状態が維持され、その性能は90%であった。新たなモデル122~126を、(例えば、一般化モデル121又は他の既存のモデルを複製することによって、あるいは訓練されていないモデルとして)作成した。新たなモデル122~126のそれぞれは、領域112~116のそれぞれの領域に関連付けられる。新たなモデル122~126のそれぞれは、以前の訓練プロセスで生成された可能性があるモデルパラメータ(例えば、重み)の対応するセットに従って構成されてもよい。新たなモデル122~126は、そのそれぞれの領域112~116内の場所に関連付けられた訓練データに基づいて訓練されてもよい。この訓練プロセスは、モデル122~126を使用して車両システムで推論を立てる前に実施されてもよい。訓練プロセスが実施された後、モデル122~126のそれぞれの性能は、図1Dを参照して上記で説明したような性能測定技術を使用して評価される。結果として得られた性能評価は、モデル122に対して70%、モデル123に対して80%、モデル124に対して85%、モデル125に対して85%及びモデル126に対して50%である。このため、(領域112に対する)モデル122及び(領域116に対する)モデル126は依然として80%未満であり、モデル置換基準を満たす。モデル122及び126は、図1Fに示し、以下で説明するように、新たなモデルに置き換えられる。
【0030】
図1Fは、領域と、これより小さなサブ領域とに分割された例示的な地図104を示す。図1Eに示す性能評価によると、領域112でのモデル122の性能及び領域116でのモデル126の性能は、モデル置換基準(性能<80%)を満たすほど充分に低いものであり、そのようなモデルは、その領域(112及び116)を、これより小さなサブ領域に分割することによって、置き換えられる。この例では、領域112を4つの同じサイズのサブ領域112A~112Dに分割する。この例では、領域116を3つのサブ領域116A~116Cに分割する。サブ領域116Bは、道路の位置に基づいて判定され、領域116内の道路の形状に一致する。領域分割プロセスでは、道路上の交通量又は交通流が領域116の他の領域の交通流よりも実質的に多いか、他の領域の交通流とは異なるため、道路は領域116の他の部分とは別のサブ領域116Bに割り当てられたと判定された可能性がある。領域(又はサブ領域)固有のモデルが、モデル126などのさらに一般化されたモデルよりもそのような領域で優れた性能を発揮する可能性があるため、さまざまな交通特性又は固有の交通特性を有するエリアを領域(又はサブ領域)として使用してもよい。この例では、サブ領域の特定の数及び配置を示し、説明するが、サブ領域の任意の適切な数及び/又は配置を使用してもよい。この例では、領域112が4つの同じサイズのサブ領域に分割されるが、領域112は、地図内の特徴又は他の特性(例えば、領域がサブ領域に分割される原因となる可能性のある交差点の位置又は他の分割特徴)に基づいて、任意の適切な数の任意の適切なサイズのサブ領域に分割されてもよい。さらに、本明細書で説明する例では、特定の領域を特定の数の特定のサイズのサブ領域に分割するが、各領域は、地図内の特徴又は他の特性に基づいて、任意の適切な数の任意の適切なサイズのサブ領域に分割されてもよい。
【0031】
図1Gは、モデル及び性能評価に関連付けられた領域と、これより小さなサブ領域に分割された例示的な地図104を示す。領域固有のモデル122A~122Dが、サブ領域112A~112Dに関連付けられており、それぞれのサブ領域112A~112Dに関連付けられたデータに基づいて訓練されている。同じように、領域固有のモデル126A~126Cが、サブ領域116A~116Cに関連付けられており、それぞれのサブ領域116A~116Cに関連付けられたデータに基づいて訓練されている。このような新たなモデルの性能は、図1Dを参照して上記のように評価されている。サブ領域122A~122Dの場合、結果として得られる性能評価は、モデル122Aに対して85%、モデル122Bに対して90%、モデル122Cに対して95%及びモデル122Dに対して90%である。サブ領域116A~116Cの場合、結果として得られる性能評価は、モデル126Aに対して85%、モデル126Bに対して90%及びモデル126Cに対して90%である。性能評価が閾値の80%を超えているため、モデル置換基準は地図104のどの領域でも満たされず、この例では追加の領域又はモデルは作成されない。
【0032】
図1Hは、さまざまなサイズの領域131~139に分割された例示的な地図104を示す。地図領域のサイズ及び/又は形状が異なる場合がある。領域131~139は、地図130のトポロジーに基づいて、道路区分又は交差点など、他のエリアとは異なる可能性のある特徴を有する領域を特定し、潜在的に異なるエリアそれぞれを異なる領域に割り当てることによって判定されている。領域131には、住宅開発エリアと、通常は中程度の交通流(例えば、単位時間あたりの中程度の車両数及び/又は中程度の平均車両速度)を有する2つの道路区分が含まれる。領域132には、通常、低レベルから中レベルの交通流を有する道路区分が含まれる。領域133には、通常、中レベルから高レベルの直線及び曲線の交通流を有する交差点が含まれる。領域134には、通常、交差する道路区分間の低レベルの交通流を有する交差点が含まれる。領域135には、通常、低レベルの交通流を有する道路区分が含まれる。領域136には、通常、低レベルの交通流の道路区分が含まれる。領域137には、通常、中レベルから高レベルの直線的な交通流と中レベルの曲線的な交通流を有する交差点が含まれる。領域138には、通常、低レベルから中レベルの交通流を有する道路区分が含まれる。領域139には、通常、中レベルから高レベルの交通流を有する道路区分が含まれる。領域131~139のそれぞれは、領域固有のモデル141~149の対応するモデルに関連付けられる。領域140を、領域固有のモデルに関連付けず、(図示しない)一般化モデルに関連付けてもよい。
【0033】
図2Aは、単一のモデルに関連付けられ、道路区分及び交差点に対応する領域に分割された例示的な地図を示す。道路区分又は交差点を表す領域を、図2A図2Dの例に示す。特定の実施形態では、道路区分又は交差点を表す領域を、道路区分又は交差点を含む地理的エリアに関連付ける代わりに、道路区分又は交差点自体に関連付けてもよい。これとは別に、あるいはこれに加えて、道路区分又は交差点を表す領域を、道路区分又は交差点を含む地理的エリアに関連付けてもよい。地図204は、図1Dの地図104と同じ地理的エリアを示すが、地理的エリアに対応する領域111~116の代わりに、道路又は交差点に対応する領域221~234を有する。
【0034】
図2Bは、単一のモデル221Mに関連付けられ、関連付けられた性能評価を有する道路区分及び交差点に対応する領域221~234に分割された例示的な地図204を示す。図2Bに示す性能評価は、一般化モデル221Mに対するものであり、図1Dを参照して上記のように生成されてもよく、領域221で80%、領域222で60%、領域223で50%、領域224で80%、領域225で60%、領域226で55%、領域227で85%、領域228で85%、領域229で90%、領域230で60%、領域231で80%、領域232で90%、領域233で95%及び領域234で85%の性能を含む。モデル置換基準(性能<80%)は、領域222、223、225、226及び230に対して満たされているため、図2Cに示し、以下で説明するように、汎用モデル221Mはこのような領域に対する領域固有のモデルに置き換えられることになる。
【0035】
図2Cは、モデルに関連付けられ、関連付けられた性能評価を有する道路区分及び交差点に対応する領域に分割された例示的な地図を示す。図2Bに示す性能評価によると、領域222、223、225、226及び230での一般化モデル221Mの性能は、モデル置換基準(性能<80%)を満たすほど充分に低く、一般化モデル221Mは、そのような領域に対して置き換えられる。一般化モデル221Mは、地図204の他の領域に関連付けられたままである。
【0036】
図2Cに示すように、新たなモデル222M、223M、225M、226M及び230Mを、(例えば、一般化モデル221M又は他の既存のモデルを複製することによって、あるいは訓練されていないモデルとして)作成した。新たなモデルのそれぞれは、領域222、223、225、226、230のそれぞれの領域に関連付けられる。新たなモデルのそれぞれは、以前の訓練プロセスで生成された可能性のあるモデルパラメータ(例えば、重み)の対応するセットに従って構成されてもよい。新たなモデルは、そのそれぞれの領域の位置に関連付けられた訓練データに基づいて訓練されてもよい。この訓練プロセスは、モデル222M、223M、225M、226M及び230Mを使用して車両システムで推論を立てる前に実行されてもよい。訓練プロセスが実行された後、モデル222M、223M、225M、226M及び230Mのそれぞれの性能は、図1Dを参照して上記のような性能測定技術を使用して評価される。結果として得られる性能評価は、モデル222Mに対して90%、モデル223Mに対して60%、モデル225Mに対して85%、モデル226Mに対して65%及びモデル230Mに対して65%である。このため、モデル223M、225M、226M及び230Mは依然として80%未満であり、モデル置換基準を満たす。このようなモデルは、図2Dに示し、以下で説明するように、新たなモデルに置き換えられる。
【0037】
図2Dは、モデルに関連付けられ、関連付けられた性能評価を有する道路区分に対応する領域と、これより小さなサブ領域に分割された例示的な地図204を示す。図2Cに示す性能評価によると、領域223のモデル223M、領域226のモデル226M及び領域230のモデル230Mの性能は、モデル置換基準(性能<80%)を満たすほど充分に低く、この例では、そのようなモデルは、その領域(223、226、230)を、これより小さなサブ領域に分割することによって置き換えられる。例示的な領域223は、自転車専用道路と交差する道路区分である。道路区分と交差する自転車専用道路が異常な車両環境であるため、領域223は2つのサブ領域223A及び223Bに分割され、一方(223B)には自転車専用道路が含まれ、他方(223A)には含まれず、その結果、領域固有のモデルを、道路区分223の2つの異なる領域223A、223Bのそれぞれに対して訓練することができる。このため、領域固有のモデル223MA及び223MBを、領域223A及び223Bそれぞれに対して作成する。
【0038】
例示的な領域226は、2つのサブ領域226A、226Bに分割される。領域分割プロセスでは、例えば、交差点225に向かって流れる交通のための次に来る交差点225のために、サブ領域226Aの道路上の交通量又は交通流が領域226Bの交通流よりも実質的に遅いため、交通が遅めの道路のエリアは、交通の早い道路のエリア(サブ領域226B)とは別のサブ領域226Aに割り当てられると判定された可能性がある。このため、領域固有のモデル226MA及び226MBを領域226A及び226Bに対してそれぞれ作成する。
【0039】
例示的な領域230は、2つのサブ領域230A、230Bに分割される。なぜなら、トポロジー(例えば、地形)データは、領域(交差点)225と231との間のほぼ中間点にある領域(道路)230の部分が、急な丘の頂上であり、領域(道路)230の2つの半体の間にはほとんど視界がない。このため、丘の頂上の下降側の方が上昇側よりも交通流が速くなる。上昇側の道路区分の丘の頂上は異常なトポロジー的特徴であるため、その道路区分に対してサブ領域230Bが作成される。領域(道路)230の残りの部分は、新たなサブ領域230Aに関連付けられる。領域固有のモデル230MA及び230MBを領域230A及び230Bに対してそれぞれ作成する。
【0040】
このような新たなモデルの性能は、図1Dを参照して上記のように評価されている。サブ領域223A及び223Bの場合、結果として得られる性能評価は、モデル223MAに対して85%及びモデル223MBに対して85%である。サブ領域226A及び226Bの場合、結果として得られる性能評価は、モデル226MAに対して85%及びモデル226MBに対して80%である。サブ領域230A及び230Bの場合、結果として得られる性能評価は、モデル230MAに対して90%及びモデル230MBに対して80%である。性能評価が閾値の80%を超えているため、モデル置換基準は地図204のどの領域でも満たされず、この例では追加の領域又はモデルは作成されない。この例では、サブ領域の特定の数及び配置を示し、説明しているが、サブ領域の任意の適切な数及び/又は配置を使用してもよい。
【0041】
図3は、地図領域に関連付けられたモデル304を使用する知覚、予測及び計画の例示的なモジュール300を示す。計算システムが、知覚、予測及び計画などの異なるタイプのタスクのためのモジュール300を備えてもよい。異なるタスクには、異なるタイプのモデル304が含まれる可能性があり、異なるタイプのモデル304を異なる方法で訓練することができるため、領域固有のモデル304を作成するプロセスでは、タスクのタイプごとに異なる領域固有のモデルを生成することができる。次に、領域固有のモデルは、さまざまな地図領域に対応することができる。結果として、計算システムモジュール300のそれぞれは、推論モデル304の異なるセットに関連付けられてもよい。
【0042】
特定の実施形態では、知覚モジュール302は、知覚モデル306のセットに関連付けられてもよく、予測モジュール322は、予測モデル326のセットに関連付けられてもよく、計画モジュール342は、計画モデル346のセットに関連付けられてもよい。推論モジュール304のそれぞれの異なるセット306、326、346は、推論モデル304のセット306、326、346に関連付けられたタスクのタイプを実行するように訓練された1つ又は複数の領域固有のモデルを含んでもよい。一例として、知覚モデル306は、例えば、地図の3つの対応する領域R1、R2、R3に関連付けられた3つの領域固有の知覚モデル311、312、313を含むことができる。予測モデル326は、例えば、地図の4つの対応する領域R11、R12、R13、R14に関連付けられた4つの領域固有の予測モデル331、332、333、334を含むことができる。計画モデル346は、例えば、地図の3つの対応する領域R21、R22、R23に関連付けられた3つの領域固有の計画モデル351、352、353を含むことができる。知覚モデル306、予測モデル326及び計画モデル346のこのようなセットと、その対応する地図領域とは、推論モデル304に関連付けられる地図領域を識別し、関連付けられた地図領域に基づいて推論モデル304を訓練し、適切な場合は(例えば、モデルの性能を向上させるために)、地図領域を、異なるサブ領域固有の推論モデルを有する複数のサブ領域に分割するプロセスによって生成されてもよい。特定の実施形態では、各タイプの計算タスクモジュール300を用いて異なる推論モデル304を使用する結果として、特定のタイプの計算タスクモジュール300に対するモデル304は、他のタイプの計算タスクモジュール300とは異なる領域固有のモデルを使用してもよい。地図領域は、領域固有のモデル304に基づいて(例えば、領域固有のモデルの性能に基づいて)生成されてもよいため、各タイプの計算タスクモジュール300は、図3からわかるように、他のタイプの計算タスクモジュールに対する地図領域とは異なる形状及び配置の地図領域を有してもよい。
【0043】
図4は、地理的位置特定モデル(geolocalized models)を読み込み、有効にするためのシステム400の例示的なブロック図を示す。システム400は、推論を立てるためのモジュール404からの要求に応答して、モデルを読み込み、有効にしてもよい。モデルが読み込まれて有効にされると、システム400は、計算モジュール404から有効化モデルに直接推論要求を送信してもよい。モデル変更の滑らかさを改善する方法を図5及び図6に示す。システム400は、センサデータモジュール402、知覚モジュール、予測モジュール、計画モジュール及び制御モジュールなどの1つ又は複数の計算モジュール404と相互作用し得るモデルインターフェース408を備えてもよい。モデルインターフェース408は、計算モジュール404と領域固有のモデルとの間のインターフェースを提供する。計算モジュール404のうちの1つ又は複数からの推論406の要求(例えば、予測モジュールからの予測の要求)を受信することに応答して、モデルインターフェース408は、推論406の要求を提出した計算モジュール404に対応するタイプのモデルに対して、モデル要求410をモデル切替器412に送信する。例えば、予測モジュールが推論406の要求を提出した場合、モデルインターフェースは、予測モデルのモデル要求410を送信してもよい。
【0044】
モデル切替器412は、モデル要求410を受信し、それに応答して、現在の車両位置、現在の時刻、現在の照明条件、現在の気象条件などの1つ又は複数のモデル選択因子414を、車両センサ402又は他のデータソース(例えば、地図データベース、気象サービス、車両システム時計など)から識別してもよい。モデル切替器412は、要求されたタイプのモデル及びモデル選択因子414(例えば、現在の車両位置)に基づいて、データストアクエリ416を生成してもよい。モデルデータストア418は、データストアクエリ416内のものと一致するモデル選択因子(例えば、場所)420を有するデータストア418内のエントリを識別してもよい。クエリ416と保存された選択因子420との間の一致が認められた場合、一致する選択因子に関連付けられたモデルパラメータ(重みなど)として表され得るモデル422が検索されてもよく、検索されたモデルパラメータ428はGPU430に送信されてもよい。
【0045】
特定の実施形態では、モデルパラメータ428は、グラフィックス処理ユニット(GPU)430のメモリ432に読み込まれてもよい。モデルパラメータ428を読み込むステップは、上記のように、モデルデータストア418からモデルパラメータ428を検索するステップを含んでもよい。モデルデータストア418は、ローカルに、例えば、車両システムのローカル記憶装置に保存されたり、及び/又はリモートに、例えば、ネットワーク通信を介してアクセス可能なクラウド記憶装置に保存されたりしてもよい。このため、モデルパラメータ428が検索されてメモリ432に読み込まれる間、遅延が生じる場合がある。特定の実施形態では、モデルパラメータ438は、例えば、領域に進入する前に領域に対するモデルパラメータ438を読み込むことによって、事前に読み込まれてもよい(例えば、事前にキャッシュされてもよい)。例えば、ある領域のモデルパラメータは、車両がその領域に向かっていて、その領域の閾値距離内にあるか、閾値時間内にその領域に到着すると予測されるとき、あるいは車両がその領域に進入する前の領域の重複する境界にあるときに、事前に読み込まれてもよい。
【0046】
特定の実施形態では、新たなモデルパラメータ438が読み込まれたときに、モデルローダー412は、モデル切替命令440をGPU430又はGPU430と相互作用する他の構成要素に送信して、新たなモデルパラメータ438を現在のモデルパラメータ436と交換してもよい。モデル切替命令440は、現在のモデルポインタ434に、現在のモデルパラメータ436の代わりに新たなモデルパラメータ438を参照させてもよい。ポインタ434を変更するか、ほぼ同じ命令を実行して新たなモデルパラメータに切り替えると、モデル410に送信される後続の推論要求が、現在のモデルパラメータ436の代わりに新たなモデルパラメータ438を使用してもよい。モデル切替命令440を送信した後、モデルローダー412は、モデル準備応答442をモデルインターフェース408に送信してもよい。モデルインターフェース408は、推論要求406をモデル410に転送してもよく、モデル410は、計算要求/応答442を介してGPU430と相互作用することによって、要求された推論を立ててもよい。GPU430は、新たなモデルパラメータ438を使用して計算を実行し、計算結果を生成することによって推論を立ててもよい。モデル410は、GPU430から計算結果を受信し、計算結果に基づくものであるか計算結果を含み得る推論結果を生成してもよい。モデル410は、推論結果をモデルインターフェース408に送信してもよく、モデルインターフェース408は、推論応答444として計算モジュール444に推論を転送してもよい。
【0047】
特定の実施形態では、領域の新たなモデルパラメータ438が事前に読み込まれている場合、システム400は、車両が領域に進入する(例えば、領域の境界を越える)ときに、新たなモデルパラメータ438に切り替えてもよい。新たなモデルパラメータ438に切り替えるために、システム400(例えば、モデルパラメータ438の読み込みに続いて他の時点で呼び出されるモデルローダー412又はシステム412の他の構成要素)は、現在のモデルポインタ434を変更して、現在のモデルパラメータ436の代わりに新たなモデルパラメータ438を参照してもよい。このため、モデル410の構成の現在のモデルパラメータ436から新たなモデルパラメータ438への切り替えを、メモリ432の新たなモデルパラメータ438を参照するようにモデル410の構成に関連付けられた参照(例えば、モデルポインタ434)を更新することによって、実施してもよい。
【0048】
図5は、車両が領域境界構成に近づいたときに予測モデル構成を事前に読み込み、車両が境界に到達したときに事前に読み込まれたパラメータに切り替える例示的な方法を示す。方法500は、ステップ502で開始されてもよい。ここで、車両システムが、車両の現在の位置及び進行方向を判定してもよい。ステップ504では、車両システムは、車両が閾値距離(又は時間)内で領域境界を越えることになるかどうかを判定してもよい。領域境界を越える場合、ステップ508では、車両システムは、モデルデータストアを検索して、車両が領域境界を越えた後に進入すると予想される異なる領域に関連付けられた新たな予測モデルパラメータを探してもよい。領域境界を越えない場合、ステップ506では、車両システムは、車両の位置が少なくとも閾値距離だけ変化するまで待機し、その後、ステップ502を再び呼び出してもよい。
【0049】
ステップ508に続いて、ステップ510では、車両システムは、ステップ508での検索により、異なる領域に関連付けられた新たな予測モデルパラメータを見つけたかどうかを判定してもよい。見つけていない場合、ステップ512では、車両システムは、フォールバックモデルパラメータを新たな予測モデルパラメータとして使用してもよい。フォールバックモデルパラメータは、例えば、異なる領域又は異なる領域を含む地図に関連付けられる一般化モデルのパラメータであってもよい。そうでなければ、ステップ514では、車両システムは、新たな予測モデルパラメータをデータストアからメモリ、例えば、GPUのメモリに読み込んでもよい。ステップ516では、車両システムは、車両が領域境界に到達するか、異なる領域に進入するときに、予測モデルの構成を新たな予測モデルパラメータに切り替えてもよい。ステップ518では、車両システムは、予測モデルを使用して、新たな予測モデルパラメータに基づいて1つ又は複数の推論を生成してもよい。
【0050】
図6は、モデル構成を使用して予測された軌道間の最小距離で、異なる地図領域に関連付けられた予測モデル構成を切り替えるための例示的な方法600を示す。領域間の推移を平滑化する例として、車両が第1の領域にあり、第2の領域に向かっており、第2の領域の閾値距離内にある場合、第1及び第2の領域にそれぞれ関連付けられた第1及び第2の予測モデルを使用して、車両の第1及び第2の予測軌道を生成してもよい。軌道は、その間の最小距離を識別するために比較されてもよい。最小距離は、例えば、軌道間の最大の一致点に対応してもよい。次に、モデル間の切り替えは、最小距離の場所に対応する場所で実施されてもよい。この方法は、ステップ602で開始されてもよい。ここで、車両システムが、現在の予測モデルを使用して、所定の期間にわたって車両の現在の位置及び第1の予測軌道を判定してもよい。所定の期間は、現在又は将来に開始される期間であってもよい。ステップ604では、車両システムは、第1の予測軌道に基づいて、車両が期間内に領域境界を横切ると予測されるかどうかを判定してもよい。横切ると予測されない場合、ステップ606では、車両システムは、車両の位置が少なくとも閾値距離だけ変化するまで待機し、ステップ602を再び呼び出してもよい。ステップ608では、車両システムは、車両が境界を越えた後に進入すると予想される異なる領域に関連付けられた新たな予測モデルパラメータについてモデルデータストアを検索してもよい。ステップ610では、車両システムは、異なる領域に関連付けられた新たな予測モデルパラメータが見つけられたかどうかを判定してもよい。見つけられない場合、ステップ612では、車両システムは、フォールバックモデルパラメータを新たな予測モデルパラメータとして使用してもよい。フォールバックモデルパラメータは、例えば、異なる領域又は異なる領域を含む地図に関連付けられる一般化モデルのパラメータであってもよい。
【0051】
ステップ614では、車両システムは、データストアからメモリ、例えば、GPUのメモリへの新たなパラメータの読み込みを開始してもよい。ステップ616では、車両システムは、新たな予測モデルパラメータを使用して、所定の期間の車両の第2の予測軌道を判定してもよい。ステップ618では、車両システムは、第2の予測軌道からの最小距離である第1の予測軌道上の位置を識別してもよい。ステップ620では、その時点までに、新たなパラメータがメモリに読み込まれ、車両システムは、例えば、GPUに新たな予測モデルパラメータを使用するように指示することによって、車両が識別された位置に到達したときに、現在の予測モデルパラメータを新たな予測モデルパラメータに切り替えてもよい。
【0052】
図7は、モデル性能に基づいて、モデルパラメータの領域固有のセットを地図領域に関連付けるための例示的な方法700を示す。特定の実施形態では、領域固有のモデルを、領域に、これより大きな囲み領域に関連付けられた他のモデルの性能に基づいて、関連付けてもよい。大きめの領域に関連付けられたモデルの性能が性能の閾値を下回っている場合、任意選択で、領域のサイズ(例えば、単位正方形面積)がサイズの閾値を上回っている場合、大きめの領域は、2つ以上のサブ領域に分割されてもよく、新たな領域固有のモデルを、新たなサブ領域ごとに関連付け、訓練してもよい。サブ領域は、同じサイズのサブ領域であっても、地図のトポロジー的特徴に基づくか、交通流などの他の特徴に基づくサイズ又は形状を有してもよい。このため、例えば、ある領域の性能が性能の閾値を下回り、その領域に道路と駐車場が含まれている場合、その領域は2つのサブ領域に分割されてもよい。2つのサブ領域は、一方が(道路に一致する形状を有する)道路のためのサブ領域、他方が(駐車場を含む)領域の残りの部分のためサブ領域である。各サブ領域は、対応するモデルに関連付けられてもよく、各モデルは、対応するサブ領域に関連付けられた訓練データに基づいて訓練されてもよい。
【0053】
方法700は、ステップ702で開始されてもよい。ここで、車両システムが、地理的地図を初期領域に分割してもよい。例えば、領域は、図1Bを参照して上記のように識別されてもよい。ステップ704では、車両システムは、領域に関連付けられたモデルパラメータの1つ又は複数の第1のセットを使用して、第1のモデルの領域ごとの性能評価を判定してもよい。ここで、各領域の性能評価は、その領域で取り込まれたセンサデータに基づくものである。ステップ706では、車両システムは、評価された性能が最小性能閾値を下回る1つ又は複数の領域を識別してもよい。ステップ708では、車両システムは、識別された領域ごとにステップ710(及びそれ以降のステップ)を実行するループを開始してもよい。ステップ710では、車両システムは、その領域がすでに領域固有のモデルパラメータに関連付けられているかどうかを判定してもよい。関連付けられていない場合、ステップ712では、車両システムは、領域内の推論を生成するために使用される新たなパラメータを用いて、領域と領域固有のモデルとの間の関連付けを保存してもよい。ステップ714では、車両システムは、領域固有のモデル及び指定された入力パラメータを使用して推論を生成してもよい。ステップ716では、車両システムは、対応する新たな領域固有のモデルの領域に関連付けられた訓練データ、例えば、車両が対応する領域にあったときに車両が受信したセンサデータに基づいて、新たな領域固有のモデルを訓練してもよい。ステップ716は、ステップ704を呼び出して、領域を識別し、モデル及び/又はモデルパラメータを領域に関連付ける方法の部分を繰り返してもよい。
【0054】
ステップ710の結果を再度参照すると、領域がすでに領域固有のモデルパラメータに関連付けられていると車両システムが判定した場合、ステップ718では、車両システムは、領域を2つ以上の新たな領域に分割してもよい。ステップ720では、車両システムは、領域と領域固有のモデル及びパラメータとの間の関連付けを除去してもよい。ステップ722では、車両システムは、新たな領域ごとに、新たな領域と、その領域で推論を生成するために使用されるパラメータを備えた新たな領域固有のモデルとの間の関連付けを保存してもよい。ステップ716では、車両システムは、上記のように新たな領域固有のモデルを訓練し、ステップ704を呼び出して、ステップ704で開始される方法の部分を繰り返してもよい。特定の実施形態では、この方法は、ステップのうちの1つ又は複数で評価された条件に基づいて繰り返しを停止してもよい。例えば、ステップ706では、識別された領域のそれぞれが(単位面積にて)閾値サイズよりも小さいかどうかを判定してもよい。閾値サイズよりも小さい場合、ステップ706では、プロセス700を終了してもよい。別の例として、ステップ704では、領域ごとの性能評価が同じ領域について再評価され、低下していないかどうかを判定してもよい。性能評価のいずれも低下していないか、閾値を超えて低下していない場合、ステップ704にてプロセス700を終了してもよい。
【0055】
図8は、データ収集車両システム810が近くの車両820の車両データ及び周囲環境の状況データを収集するための例示的な状況800を示す。特定の実施形態では、車両システム810(例えば、自律型車両、手動運転車両、コンピュータ支援駆動車両、ヒューマンマシンハイブリッド駆動車両など)は、車両の状態、他の車両及び周辺環境を監視するためのいくつかのセンサ又は感知システム812を有してもよい。センサ又は感知システム812は、例えば、以下に挙げるものに限定されないが、カメラ(例えば、光学カメラ、熱カメラ)、LiDAR、レーダ、速度センサ、操舵角センサ、制動圧力センサ、GPS、慣性測定ユニット(IMU)、加速度センサなどを含んでもよい。車両システム810は、車両に関するデータを収集するための1つ又は複数の計算システム(例えば、データ収集装置、携帯電話、タブレット、モバイルコンピュータ、搭載コンピュータ、高性能コンピュータ)、近くの車両、周辺環境などを含んでもよい。特定の実施形態では、車両システム810は、例えば、以下に挙げたものに限定されないが、車両速度、移動方向、車輪方向、操舵角、操舵輪の操舵力、ブレーキペダルの圧力、加速ペダルの圧力、(例えば、IMU出力に基づく)加速、(例えば、IMU/ジャイロスコープ出力に基づく)回転速度、車両の移動経路、車両の軌道、位置(例えば、GPS調整)、信号状態(例えば、方向指示器、ブレーキランプ、ハザードランプの起動/停止状態)、人間の運転者の目の動き、頭の動きなど、に関連する車両自体のデータを収集してもよい。
【0056】
特定の実施形態では、車両システム810は、感知システム812の1つ又は複数の感知信号822を使用して、近くの車両820のデータを収集してもよい。例えば、車両システム810は、例えば、以下に挙げるものに限定されないが、車両画像、車両速度、加速度、車両移動経路、車両運転軌道、位置、方向指示器状態(例えば、方向指示器の起動/停止状態)、ブレーキランプの状態、別の車両までの距離、別の車両までの相対速度、歩行者までの距離、歩行者までの相対速度、交通信号までの距離、交差点までの距離、道路標識までの距離、カーブまでの距離、道路線までの相対位置、車両の視野内のオブジェクト、他の交通機関の位置、他の車両の攻撃性測定基準など、に関連する車両データ及び運転挙動データを収集してもよい。さらに、感知システム812は、近くの車両820を識別するために使用されてもよい。これは、ナンバープレートの番号に基づく匿名の車両識別子、QRコード(登録商標)、あるいは近くの車両を一意に識別する他の任意の適切な識別子に基づくものであることがあり得る。
【0057】
特定の実施形態では、車両システム810は、車両システム810に関連付けられた1つ又は複数のセンサに基づいて、周囲環境の状況データを収集してもよい。特定の実施形態では、車両システム810は、道路状況又は周囲環境の1つ又は複数のオブジェクト、例えば、以下に挙げるものに限定されないが、道路レイアウト、歩行者、他の車両(例えば、820)、交通状況(例えば、近くの車両の数、歩行者の数、交通信号)、時刻(例えば、朝のラッシュ時間、夕方のラッシュ時間、非混雑時間)、交通の種類(例えば、高速移動交通、事故事象、低速移動交通)、位置(例えば、GPS調整)、道路状況(建設ゾーン、スクールゾーン、濡れた路面、凍結した路面)、交差点、道路標識(例えば、停止標識860、道路線842、横断歩道)、近くのオブジェクト(例えば、縁石844、照明用柱850、広告板870)、建物、気象条件(例えば、雨、霧、晴れ、暑い天気、寒い天気)、あるいは周囲の環境にあるオブジェクト又は動作主体に関連するデータを収集してもよい。特定の実施形態では、車両の状況データは、車両のナビゲーションデータ、例えば、ナビゲーション地図、ナビゲートする目標場所、ルート、到着の推定時間、迂回路などを含んでもよい。特定の実施形態では、車両の状況データは、例えば、点群、視野の奥行き、環境の2次元プロファイル、3次元プロファイル環境、情景の立体画像、環境オブジェクトに対する相対位置(例えば、距離、角度)、道路線に対する相対位置(例えば、距離、角度)、現在の環境での相対位置、交通状況(例えば、交通流が多い、交通流が少ない)、他の車両の走行軌跡、他の交通機関の動き、他の交通機関の速度、他の交通機関の移動方向、他の車両の信号状況など、を含むが、ここに挙げたものに限定されないカメラベースの位置特定データを含んでもよい。特定の実施形態では、車両システム810は、リアルタイムで1つ又は複数のセンサを介して収集された状況データに基づく周囲環境の知覚及び/又は車両モデルデータベースに保存された履歴状況データに基づく周囲環境の知覚を有してもよい。
【0058】
図9は、乗車要求者と自律型車両を照合するための輸送管理環境の例示的なブロック図を示す。特定の実施形態では、環境は、ユーザ901(例えば、乗車の提供者又は要求者)のユーザ計算装置930、輸送管理システム960、自律型車両940及び1つ又は複数の第三者システム970などのさまざまな計算エンティティを含んでもよい。計算エンティティは、任意の適切なネットワーク910を介して通信可能に接続されてもよい。限定としてではなく一例として、ネットワーク910の1つ又は複数の部分には、アドホックネットワーク、エクストラネット、仮想プライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、無線LAN(WLAN)、ワイドエリアネットワーク(WAN)、無線WAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部、公衆交換電話ネットワーク(PSTN)の一部、セルラーネットワーク、あるいは上記のいずれかの組み合わせが含まれてもよい。特定の実施形態では、計算エンティティが互いに通信することを可能にする任意の適切なネットワーク構成及びプロトコルを使用してもよい。図9は、単一のユーザ装置930、単一の輸送管理システム960、単一の車両940、複数の第三者システム970及び単一のネットワーク910を示すが、この開示では、このような任意の適切な数のエンティティのそれぞれについて検討する。限定としてではなく一例として、ネットワーク環境は、複数のユーザ901、ユーザ装置930、輸送管理システム960、自律型車両940、第三者システム970及びネットワーク910を含んでもよい。
【0059】
ユーザ装置930、輸送管理システム960、自律型車両940及び第三者システム970は、全体的又は部分的に互いに通信可能に接続されても、同じ場所に配置されてもよい。このような計算エンティティは、さまざまな伝送技術及びネットワークタイプを介して通信してもよい。例えば、ユーザ装置930及び車両940は、ケーブル又は短距離無線通信(例えば、Bluetooth(登録商標)、NFC、WI-FIなど)を介して互いに通信してもよく、これと共に、装置のいずれかにアクセス可能なセルラーネットワークを介してインターネットに接続されてもよい(例えば、ユーザ装置930は、LTE接続を備えたスマートフォンであってもよい)。一方で、輸送管理システム960及び第三者システム970は、そのそれぞれのLAN/WLANネットワーク及びインターネットサービスプロバイダ(ISP)を介してインターネットに接続されてもよい。図9は、ユーザ装置930、自律型車両940、輸送管理システム960及び第三者システム970を通信ネットワーク910に接続する伝送リンク950を示す。この開示では、例えば、有線接続(例えば、USB、Lightning、デジタル加入者回線(DSL)又はデータオーバーケーブルサービスインターフェース仕様(DOCSIS))、無線接続(例えば、WI-FI、WiMAX、セルラー、衛星、NFC、Bluetooth(登録商標))、光接続(例えば、同期型光ネットワーク(SONET)、同期デジタル階層(SDH))、任意の他の無線通信技術及びその任意の組み合わせを含む、任意の適切な伝送リンク950について検討する。特定の実施形態では、1つ又は複数のリンク950を1つ又は複数のネットワーク910に接続してもよい。このネットワークには、部分的に、例えば、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、PSTN、セルラーネットワーク、衛星ネットワーク、あるいはその任意の組み合わせが含まれてもよい。計算エンティティは、必ずしも同じタイプの伝送リンク950を使用する必要はない。例えば、ユーザ装置930は、セルラーネットワーク及びインターネットを介して輸送管理システムと通信してもよいが、Bluetooth(登録商標)又は物理的な有線接続を介して自律型車両940と通信してもよい。
【0060】
特定の実施形態では、輸送管理システム960は、適切な車両を配車することによって、1人又は複数のユーザ901の乗車要求を満たすことができる。輸送管理システム960は、任意の数の乗車要求者901から任意の数の乗車要求を受信してもよい。特定の実施形態では、乗車要求者901からの乗車要求には、システム960内の乗車要求者を識別する識別子が含まれてもよい。輸送管理システム960は、識別子を使用して、要求者901のプライバシー設定に従って、乗車要求者901の情報にアクセスし、保存してもよい。乗車要求者901の情報は、輸送管理システム960に関連付けられ、アクセス可能な1つ又は複数のデータストア(例えば、リレーショナルデータベースシステム)に保存されてもよい。特定の実施形態では、乗車要求者情報には、特定の乗車要求者901に関するプロファイル情報が含まれてもよい。特定の実施形態では、乗車要求者901は、1つ又は複数のカテゴリ又はタイプに関連付けられてもよい。この関連付けにより、乗車要求者901は、そのようなカテゴリ又はタイプの特定の乗車要求者に関する集約情報に関連付けられてもよい。乗車情報には、例えば、好ましい乗降場所、運転の好み(例えば、安全快適レベル、好ましい速度、加速度/減速度、さまざまな速度、ルートなどで走行するときの他の車両からの安全な距離)、娯楽の好みと設定(例えば、好みの音楽ジャンル又はプレイリスト、音量、ディスプレイの明るさなど)、温度設定、運転者との会話を歓迎するかどうか、頻繁に訪れる目的地、過去の乗車パターン(例えば、旅行の時刻、出発地と目的地など)、希望する言語、年齢、性別又は任意の他の適切な情報が含まれてもよい。特定の実施形態では、輸送管理システム960は、ユーザ901に関する既知の情報に基づいて(例えば、機械学習分類子を使用して)ユーザ901を分類し、その分類を使用して、そのクラスに関連付けられた関連集約情報を検索してもよい。例えば、システム960は、ユーザ901を若年成人として分類し、若年成人が概ね好む音楽のタイプなど、若年成人に関連付けられた関連集約情報を検索してもよい。
【0061】
輸送管理システム960はこのほか、乗車情報を保存し、アクセスしてもよい。乗車情報には、乗車に関連する場所、交通データ、ルートオプション、乗車に最適な乗降場所、あるいは乗車に関連付けられた任意の他の適切な情報が含まれてもよい。限定としてではなく一例として、輸送管理システム960がサンフランシスコ国際空港(SFO)からカリフォルニア州パロアルトへの移動要求を受信すると、システム960は、この特定の乗車要求に関連する任意の乗車情報にアクセスしても同情報を生成してもよい。乗車情報には、例えば、SFOでの好ましい乗車場所、乗車場所が乗車要求者と互換性がない場合(例えば、乗車要求者が動けず、乗車場所にアクセスすることができない場合)、あるいは建設、交通渋滞、乗車/降車規則の変更又は任意の他の理由のために乗車場所を利用することができない場合の代替乗車場所、SFOからパロアルトに移動するための1つ又は複数のルート、あるタイプのユーザに適した出口車線、あるいは乗車に関連付けられた任意の他の適切な情報が含まれてもよい。特定の実施形態では、乗車情報の一部が、システム960によって促進される過去の乗車に関連付けられた履歴データに基づくものであってもよい。例えば、履歴データには、過去の乗車情報に基づいて生成された集計情報が含まれてもよい。集計情報には、本明細書に記載した任意の乗車情報と、自律型車両及び/又はユーザ装置のセンサによって収集された遠隔測定データとが含まれる。履歴データは、特定のユーザ(例えば、その特定のユーザの好み、一般的なルートなど)、(例えば、人口統計に基づく)ユーザのカテゴリ/クラス及び/又はシステム960の全ユーザに関連付けられてもよい。例えば、1人のユーザに固有の履歴データには、特定のユーザが乗車し、降車した場所、ユーザが聴きたい音楽、乗車に関連付けられた交通情報、ユーザが最も頻繁に乗車する時刻及びユーザに固有の任意の他の適切な情報をはじめとする、特定のユーザの過去の乗車に関する情報が含まれてもよい。別の例として、ユーザのカテゴリ/クラスに関連付けられた履歴データには、例えば、ポップミュージックを好む10代の若者、ニュースを聞くことを好む可能性のある金融街に頻繁に通勤する乗車要求者など、そのカテゴリ/クラスのユーザの一般的な乗車又は人気のある乗車の好みが含まれてもよい。さらに別の例として、全ユーザに関連付けられた履歴データには、交通パターン及び乗車パターンなどの一般的な使用傾向が含まれてもよい。特定の実施形態のシステム960は、履歴データを使用して、乗車要求に応答して乗車提案を予測し、提供してもよい。特定の実施形態では、システム960は、ニューラルネットワーク、回帰アルゴリズム、事例ベースのアルゴリズム(例えば、k最近傍)、決定木アルゴリズム、ベイジアンアルゴリズム、クラスタリングアルゴリズム、相関ルール学習アルゴリズム、深層学習アルゴリズム、次元縮退アルゴリズム、アンサンブルアルゴリズムをはじめとする、当業者に知られる任意の適切な機械学習アルゴリズムなどの機械学習を使用してもよい。機械学習モデルは、ラベル付き訓練データに基づく教師付き学習、ラベルなし訓練データに基づく教師なし学習及び/又はラベル付き訓練データとラベルなし訓練データの混合に基づく半教師付き学習など、任意の適切な訓練アルゴリズムを使用して訓練されてもよい。
【0062】
特定の実施形態では、輸送管理システム960は、1つ又は複数のサーバコンピュータを備えてもよい。各サーバは、単一サーバ、あるいは複数のコンピュータ又は複数のデータセンターにまたがる分散サーバであってもよい。サーバは、例えば、制限することなく、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ、データベースサーバ、プロキシサーバ、本明細書に記載の機能又はプロセスを実行するのに適切な別のサーバ、あるいはその任意の組み合わせなどのさまざまなタイプのものであってもよい。特定の実施形態では、各サーバは、サーバによって実装されるか支持される適切な機能を実行するためのハードウェア、ソフトウェア、あるいは組み込み論理コンポーネント又は2つ以上のそのようなコンポーネントの組み合わせを含んでもよい。特定の実施形態では、輸送管理システム960は、1つ又は複数のデータストアを備えてもよい。データストアは、乗車情報、乗車要求者情報、乗車提供者情報、履歴情報、第三者情報又は任意の他の適切なタイプの情報など、さまざまなタイプの情報を保存するために使用されてもよい。特定の実施形態では、データストアに保存された情報は、特定のデータ構造に従って編成されてもよい。特定の実施形態では、各データストアは、リレーショナル型、列型、相関型又は任意の他の適切な型のデータベースシステムであってもよい。この開示は、特定のタイプのデータベースを説明するか例示するが、この開示では、任意の適切なタイプのデータベースについて検討する。特定の実施形態では、(乗車要求者又は提供者に属し得る)ユーザ装置930、輸送管理システム960、車両システム940又は第三者システム970がデータストアに保存された情報の処理、変換、管理、検索、変更、追加又は削除を実施することを可能にするインターフェースが提供されてもよい。
【0063】
特定の実施形態では、輸送管理システム960は、ユーザ901がその情報及び行動を、輸送管理システム960によってログに記録するか、登録するか、感知するか、あるいは他のシステム(例えば、第三者システム970)と共有することをオプトインするかオプトアウトすることを可能にする認証サーバ(又は任意の他の適切な構成要素)を含んでもよい。特定の実施形態では、ユーザ901が、適切なプライバシー設定を設定することによってオプトインしてもオプトアウトしてもよい。ユーザのプライバシー設定により、ユーザに関連付けられた情報のいずれをログに記録し得るか、ユーザに関連付けられた情報をどのようにログに記録し得るか、ユーザに関連付けられた情報をいつログに記録し得るか、ユーザに関連付けられた情報を誰がログに記録し得るか、ユーザに関連付けられた情報を誰と共有し得るか、どのような目的でユーザに関連付けられた情報をログに記録するか共有し得るかを判定してもよい。認可サーバを使用して、必要に応じて、ブロッキング、データハッシング、匿名化又は他の適切な技術を通じて、輸送管理システム960のユーザ901の1つ又は複数のプライバシー設定を強化してもよい。
【0064】
特定の実施形態では、第三者システム970は、HD地図又はホストGPS地図、顧客レビュー、音楽又はコンテンツ、気象情報、あるいは任意の他の適切なタイプの情報を提供し得るネットワークアドレス可能計算システムであってもよい。第三者システム970は、例えば、地図データ、顧客レビューウェブサイトからの顧客レビューデータ、気象データ、あるいは任意の他の適切なタイプのデータなどの関連データを生成し、保存し、受信し、送信してもよい。第三者システム970は、ネットワーク環境の他の計算エンティティによって、直接アクセスされても、ネットワーク910を介してアクセスされてもよい。例えば、ユーザ装置930が、ネットワーク910を介して、あるいは輸送管理システム960を介して、第三者システム970にアクセスしてもよい。後者の場合、第三者システム970にアクセスするために資格情報が必要とされるのであれば、ユーザ901は、第三者システム970からのコンテンツにアクセスするためのプロキシとして機能し得る輸送管理システム960にそのような情報を提供してもよい。
【0065】
特定の実施形態では、ユーザ装置930は、スマートフォン、タブレットコンピュータ又はラップトップコンピュータなどのモバイル計算装置であってもよい。ユーザ装置930は、1つ又は複数のプロセッサ(例えば、CPU及び/又はGPU)、メモリ及びストレージを備えてもよい。例えば、輸送管理システム960に関連付けられた輸送アプリケーション、第三者システム970に関連付けられたアプリケーション及びオペレーティングシステムに関連付けられたアプリケーションなど、オペレーティングシステム及びアプリケーションをユーザ装置930に設置してもよい。ユーザ装置930は、その位置、方向又は向きを、GPS、コンパス、ジャイロスコープ又は加速度計などの集積センサに基づいて、判定するための機能を備えてもよい。ユーザ装置930はこのほか、無線通信用の無線トランシーバを備えてもよく、Bluetooth(登録商標)、近距離通信(NFC)、赤外線(IR)通信、WI-FI及び/又は2G/3G/4G/LTEモバイル通信規格などの無線通信プロトコルを支持してもよい。ユーザ装置930はこのほか、1つ又は複数のカメラ、スキャナ、タッチスクリーン、マイクロフォン、スピーカ及び任意の他の適切な入出力装置を備えてもよい。
【0066】
特定の実施形態では、車両940は、自律型車両であり、センサのアレイ944、ナビゲーションシステム946及び乗車サービス計算装置948を備えてもよい。特定の実施形態では、自律型車両940の集団を、輸送管理システム960によって管理してもよい。自律型車両940の集団は、全体的又は部分的に、輸送管理システム960に関連付けられたエンティティによって所有されても、輸送管理システム960に関連する第三者エンティティによって所有されてもよい。いずれの場合も、輸送管理システム960は、例えば、乗車要求を満たすために選択された車両940を配車することと、選択された操作(例えば、サービスセンター又は充電/給油ステーションに向かうこと、停車、急停止、自己診断、車室の施錠/施錠解除、音楽局の変更、温度の変更及び任意の他の適切な操作)を実施するように車両940に指示することと、車両940に選択された操作モード(例えば、通常の操作、減速時の運転、人間の操作者の指揮下での運転及び任意の他の適切な操作モード)に入るように指示することをはじめとする、自律型車両940の操作を制御してもよい。
【0067】
特定の実施形態では、自律型車両940は、輸送管理システム960及び第三者システム970との間でデータを送受信してもよい。受信したデータの例には、例えば、指示、新たなソフトウェア又はソフトウェア更新、地図、3Dモデル、訓練されたか訓練されていない機械学習モデル、位置情報(例えば、乗車要求者の位置、自律型車両940自体、他の自律型車両940及びサービスセンターなどの対象目的地)、ナビゲーション情報、交通情報、天気情報、娯楽コンテンツ(例えば、音楽、動画及びニュース)の乗車要求者情報、乗車情報及び任意の他の適切な情報が含まれてもよい。自律型車両940から送信されるデータの例には、例えば、遠隔測定及びセンサデータ、そのようなデータに基づく判定/決定、車両の条件又は状態(例えば、バッテリ/燃料レベル、タイヤ及びブレーキの状態、センサの状態、速度、走行距離計など)、位置、ナビゲーションデータ、乗客入力(例えば、車両940のユーザインターフェースを介して、乗客は、輸送管理システム960及び/又は第三者システム970にデータを送受信してもよい)をはじめとする任意の適切なデータが含まれてもよい。
【0068】
特定の実施形態では、自律型車両940はこのほか、互いに通信するほか、輸送管理システム960によって管理される車両と管理されない車両を含む、他の従来の人間が運転する車両と通信してもよい。例えば、1台の車両940は、そのそれぞれの位置、状態、状況、センサ測定値をはじめとする任意の適切な情報に関する別の車両データと通信してもよい。特定の実施形態では、車車間通信を、直接の短距離無線接続(例えば、WI-FI、Bluetooth(登録商標)、NFC)及び/又はネットワーク(例えば、インターネット又は輸送管理システム960又は第三者システム970を介したネットワーク)を介して実施してもよい。
【0069】
特定の実施形態では、自律型車両940が、センサ/遠隔測定データを取得して処理してもよい。そのようなデータは、任意の適切なセンサによって取り込まれてもよい。例えば、車両940は、360°回転し、パルスレーザ光を放出し、車両940を取り巻くオブジェクトからの反射光を測定するように構成された複数のLiDARトランシーバの光検出及び測距(LiDAR)センサアレイを有してもよい。特定の実施形態では、LiDAR送信信号を、光回折の原理を使用して光ビームを方向づけるMEM装置であり得るゲート付き光弁を使用することによって誘導してもよい。そのような装置は、ジンバルで支持されたミラーを使用して自律型車両の周囲に360°の光線を誘導しない場合がある。むしろ、ゲート付き光弁は、光ビームをいくつかの光ファイバの1つに向ける場合があり、光ファイバは、光ビームが自律型車両の周りの多くの別個の位置に向けられ得るように配置されてもよい。このため、自律型車両の周囲360°でデータを取り込んでもよいが、回転部品は必要ない可能性がある。LiDARとは、標的までの距離を測定するための効果的なセンサであり、そのため、自律型車両940の外部環境の3次元(3D)モデルを生成するために使用されてもよい。限定としてではなく一例として、3Dモデルは、センサ配置の最大範囲(例えば、50、100又は200メートル)までの他の車、縁石、破片、オブジェクト及び歩行者などのオブジェクトを含む外部環境を表してもよい。別の例として、自律型車両940は、異なる方向を指す光学カメラを有してもよい。カメラは、例えば、道路、車線区分線、道路標識、信号機、警察、他の車両をはじめとする任意の目に見える対象オブジェクトを認識するために使用されてもよい。車両940が夜間に「見る」ことを可能にするために、赤外線カメラを設置してもよい。特定の実施形態では、車両は、例えば、道路上の歩行者又は木の枝などの危険を発見するための立体視機能を備えていてもよい。別の例として、車両940は、例えば、他の車両及び/又は遠くの危険を検出するためのレーダを有してもよい。さらに、車両940は、例えば、駐車及び障害物検出のための超音波装置を有してもよい。車両940がその周囲の外界を検出し、測定し、理解することを可能にするセンサに加えて、車両940は、車両自身の状態及び条件を検出し、自己診断するためのセンサをさらに装備してもよい。例えば、車両940は、例えば、速度を測定するための車輪センサ、例えば、車両の現在の地理位置を判定するための全地球測位システム(GPS)、及び/又は移動又は動きを検出するための慣性測定ユニット、加速度計、ジャイロスコープ及び/又は走行距離計システムを有してもよい。このようなセンサの説明では有用性の特定の例が提供されるが、当業者は、センサの有用性がそのような例に限定されないことを理解するであろう。さらに、有用性の例を、特定のタイプのセンサに関して説明する場合があるが、有用性は、センサの任意の組み合わせを使用して達成され得ることを理解されたい。例えば、自律型車両940が、そのLiDAR、レーダ、ソナー及びカメラからのデータに基づいて、輸送管理システム960又は第三者システム970から取得した事前生成された地図と共に、その周囲の3Dモデルを構築してもよい。センサ944が、図9の自律型車両940上の特定の場所に現れるが、センサ944は、自律型車両940の内部又は表面の任意の適切な場所に位置してもよい。センサの場所の例には、フロントバンパとリアバンパ、ドア、フロントガラス、サイドパネル又は任意の他の適切な場所が挙げられる。
【0070】
特定の実施形態では、自律型車両940は、処理ユニット(例えば、1つ又は複数のCPU及びGPU)、メモリ及びストレージを装備してもよい。このため、車両940は、センサデータの処理、有用な情報の抽出及びそれに応じた操作を含む、さまざまな計算タスク及び処理タスクを実行するように装備されてもよい。例えば、そのカメラによって取り込まれた画像及び機械視覚モデルに基づいて、車両940は、歩行者、他の車両、車線、縁石及び他の対象オブジェクトなど、画像によって取り込まれた特定のタイプのオブジェクトを識別してもよい。
【0071】
特定の実施形態では、自律型車両940は、自律型車両940を安全にナビゲートする責任を負うナビゲーションシステム946を有してもよい。特定の実施形態では、ナビゲーションシステム946は、例えば、全地球測位システム(GPS)モジュール、慣性測定ユニット(IMU)、LiDARセンサ、光学カメラ、無線周波数(RF)トランシーバ又は任意の他の適切な遠隔測定又は感覚機構からの任意のタイプのセンサデータを入力として取り入れてもよい。ナビゲーションシステム946はこのほか、例えば、ナビゲーションルート及び特定の運転操作(例えば、減速、加速、停止、旋回など)を判定するための地図データ、交通データ、事故報告、天気予報、指示、対象目的地をはじめとする任意の適切な情報を利用してもよい。特定の実施形態では、ナビゲーションシステム946は、その判定を使用して、車両940を制御して所定の方法で操作し、自律型車両940を他のオブジェクトに衝突することなくその目的地に案内してもよい。ナビゲーションシステム946の物理的実施形態(例えば、処理ユニット)は、図9の自律型車両940上の特定の場所に現れるが、ナビゲーションシステム946は、自律型車両940の内部又は表面の任意の適切な場所に位置してもよい。ナビゲーションシステム946の場所の例には、自律型車両940の車室又は客室の内部、エンジン/バッテリの近く、前部座席の近く、後部座席又は任意の他の適切な場所が挙げられる。
【0072】
特定の実施形態では、自律型車両940は、乗車サービス計算装置948を装備してもよい。この計算装置は、ユーザが自律型車両940、輸送管理システム960、他のユーザ901又は第三者システム970と相互作用することを可能にするために、輸送管理システム960によって設置されるタブレット又は任意の他の適切な装置であってもよい。特定の実施形態では、乗車サービス計算装置948の設置を、乗車サービス計算装置948を自律型車両940内に配置し、有線又は無線の接続を介して(例えば、Bluetooth(登録商標)を介して)車両940と通信するように構成することによって達成してもよい。図9は、自律型車両940の特定の場所にある単一の乗車サービス計算装置948を示すが、自律型車両940は、車両内のいくつかの異なる場所にあるいくつかの乗車サービス計算装置948を備えてもよい。限定としてではなく一例として、自律型車両940は、以下の場所に位置づけられた4つの乗車サービス計算装置948を備えてもよい。1つは左前部の乗員席(例えば、従来の米国の自動車の運転席)の前、1つは右前部の乗員席の前、1つは左後部の乗員席の前、1つは右後部の乗員席の前である。特定の実施形態では、乗車サービス計算装置948は、自律型車両940の任意の構成要素から取り外し可能であってもよい。これにより、ユーザは、他のタブレット計算装置と一致した方法で乗車サービス計算装置948を取り扱うことができる可能性がある。限定としてではなく一例として、ユーザが、乗車サービス計算装置948を自律型車両940の車室又は客室の任意の場所に移動させても、乗車サービス計算装置948を保持しても、乗車サービス計算装置948を任意の他の適切な方法で取り扱ってもよい。この開示は、特定の計算装置を特定の方法で提供することを説明しているが、この開示では、任意の適切な計算装置を任意の適切な方法で提供することについて検討する。
【0073】
図10は、アルゴリズムナビゲーションパイプラインの例示的なブロック図を示す。特定の実施形態では、アルゴリズムナビゲーションパイプライン1000には、センサデータモジュール1005、知覚モジュール1010、予測モジュール1015、計画モジュール1020及び制御モジュール1025などのいくつかの計算モジュールが含まれてもよい。センサデータモジュール1005は、知覚モジュール1010に提供されるセンサ/遠隔測定データを取得して前処理してもよい。そのようなデータは、車両の任意の適切なセンサによって取り込まれてもよい。限定としてではなく一例として、車両は、パルスレーザビームを複数の方向に送信し、車両の周囲のオブジェクトからの反射信号を測定するように構成された光検出及び測距(LiDAR)センサを有してもよい。光信号の飛行時間は、LiDARからのオブジェクトの距離又は奥行きを測定するために使用されてもよい。別の例として、車両は、車両の周囲の画像を取り込むために異なる方向を指す光学カメラを有してもよい。レーダはこのほか、離れた場所にある他の車両及び/又は危険を検出するために車両によって使用されてもよい。追加の例として、車両は、近距離のオブジェクト検出、例えば、駐車及び障害物の検出のための超音波、あるいは低光量の状況又は暗闇でのオブジェクト検出のための赤外線カメラを装備してもよい。特定の実施形態では、センサデータモジュール1005は、センサデータのノイズを抑制しても、センサデータを正規化してもよい。
【0074】
知覚モジュール1010は、車両の状況環境をモデル化するために、センサモジュール1005の異なるタイプのセンサからのデータを相関させ、融合する役割を果たす。知覚モジュール1010は、複数の独立したセンサによって抽出された情報を使用して、単一のタイプのセンサからは利用できないであろう情報を提供してもよい。複数のセンサタイプからのデータを組み合わせることにより、知覚モジュール1010は、異なるセンサの長所を活用し、環境をさらに正確かつ精細に知覚することができる。限定としてではなく一例として、画像ベースのオブジェクト認識が、低光量の条件では良好に機能しない場合がある。これは、LiDAR又はレーダからのセンサデータによって補正される場合がある。このようなセンサは、低光量の条件で標的までの距離を測定するための効果的なセンサである。別の例として、画像ベースのオブジェクト認識は、ポスターに描かれているオブジェクトが環境内の実際の3次元オブジェクトであると誤って判定する場合がある。しかし、LiDARからの奥行き情報も利用可能である場合、知覚モジュール1010は、その追加情報を使用して、ポスター内のオブジェクトが実際には3次元オブジェクトではないと判定することがあり得る。
【0075】
知覚モジュール1010は、利用可能なデータ(例えば、センサデータ、高精細地図からのデータなど)を処理して、状況環境に関する情報を導出してもよい。例えば、知覚モジュール1010は、車両の環境に存在する動作主体(例えば、他の車両、歩行者、移動オブジェクト)を検出したり、及び/又は分類したりするための1つ又は複数の動作主体モデラー(例えば、オブジェクト検出器、オブジェクト分類器、あるいはセンサデータから情報を導出するように訓練された機械学習モデル)を含んでもよい。知覚モジュール1010はこのほか、動作主体のさまざまな特性を判定してもよい。例えば、知覚モジュール1010は、このような動作主体の速度、移動方向、加速度、軌道、相対距離又は相対位置を追跡してもよい。特定の実施形態では、知覚モジュール1010はこのほか、高精細地図からの情報を活用してもよい。高精細地図は、環境内の建物、縁石、道路標識、信号機及び任意の不動固定物をはじめとする、環境の正確な3次元モデルを含んでもよい。車両のGPSデータ及び/又は画像ベースの位置特定技術(例えば、同時位置決め地図作成、即ち、SLAM)を使用して、知覚モジュール1010は、高精細地図内の車両の姿勢(例えば、位置及び向き)又は車両のセンサの姿勢を判定することがあり得る。次に、姿勢情報は、知覚モジュール1010によって使用されて、高精細地図を照会し、どのオブジェクトが環境内にあると予想されるかを判定してもよい。
【0076】
知覚モジュール1010は、1つ又は複数のタイプのセンサからのセンサデータ及び/又は同センサから導出された情報を使用して、車両の状況環境の表現を生成してもよい。限定としてではなく一例として、外部環境の表現は、他の車両、縁石、破片、オブジェクト及び歩行者などのオブジェクトを含んでもよい。状況表現は、センサアレイの最大範囲(例えば、50、1000又は200メートル)に制限されてもよい。状況環境の表現は、車両を取り巻く動作主体とオブジェクトに関する情報のほか、車線、交通規則、交通標識、時刻、天気及び/又は任意の他の適切な情報に関する意味情報を含んでもよい。状況環境は、任意の適切な方法で表されてもよい。限定としてではなく一例として、状況表現は、数値のベクトル又は行列として符号化されてもよく、ベクトル/行列の各値は、所定のカテゴリの情報に対応する。例えば、環境内の各動作主体は、動作主体の座標、分類(例えば、車両、歩行者など)、向き、速度、軌道などから始まる一連の値によって表されてもよい。これとは別に、状況環境に関する情報を、動作主体、意味情報などを視覚的に描写するラスター画像によって表されてもよい。例えば、ラスター画像は、所定の距離までの車両及びその周囲の鳥瞰図であってもよい。ラスター画像は、関心のあるさまざまなデータ(例えば、車両、歩行者、車線、建物など)を表す視覚情報(例えば、境界ボックス、色分けされた形状など)を含んでもよい。
【0077】
知覚モジュール1010からの本状況環境の表現は、将来の環境の1つ又は複数の予測を生成するために、予測モジュール1015によって消費されてもよい。例えば、時間t0での状況環境の表現が与えられると、予測モジュール1015は、時間t1について別の状況表現を出力してもよい。例えば、t0状況環境がラスター画像によって表される場合、予測モジュール1015の出力は、動作主体が時間t1でどこにいるのか(例えば、未来のスナップショット)を示す別のラスター画像(例えば、現在の環境のスナップショット)であってもよい。特定の実施形態では、予測モジュール1015は、以前に記録された状況データ及びセンサデータに基づいて訓練され得る機械学習モデル(例えば、畳み込みニューラルネットワーク、ニューラルネットワーク、決定木、サポートベクターマシンなど)を含んでもよい。例えば、時間t0及びt1に車両によって取り込まれた一連の実際のセンサデータに基づいて、1つの訓練サンプルを生成してもよい。時間t0及びt1で取り込まれたデータはそれぞれ、第1の状況表現(訓練データ)及び第2の状況表現(訓練に使用される関連する地上検証データ)を生成するために使用されてもよい。訓練中に、機械学習モデルは、モデルの現在の構成パラメータを使用して第1の状況表現を処理し、予測された状況表現を出力してもよい。次に、予測された状況表現は、既知の第2の状況表現(即ち、時間t1での地上検証データ)と比較されてもよい。比較は、損失関数を使用して計算された損失値によって定量化されてもよい。損失値は、予測が再度実施された場合に損失が少なくなるように、機械学習モデルの構成パラメータを更新するために、(例えば、誤差逆伝搬技術を介して)使用されてもよい。機械学習モデルは、収束条件又は終了条件が満たされるまで、訓練サンプルの大規模なセットを使用して繰り返し訓練されてもよい。例えば、損失値が所定の閾値を下回るときに、訓練を終了してもよい。訓練が完了した時点で、機械学習モデルは、現在の状況表現に基づいて将来の状況表現の予測を生成するため使用されてもよい。
【0078】
計画モジュール1020は、予測モジュール1015によって生成された、予測された状況表現に基づいて、車両のナビゲーションルート及び特定の運転操作(例えば、減速、加速、停止、旋回など)を判定してもよい。特定の実施形態では、計画モジュール1020は、予測された状況表現(例えば、動作主体の予測された位置又は軌道、意味データなど)をはじめとする任意の利用可能な情報(例えば、地図データ、交通データ、事故報告、天気予報、目的地をはじめとする任意の適切な情報)内で符号化された予測情報を利用して、車両の1つ又は複数の目標又はナビゲーション指示を判定してもよい。限定としてではなく一例として、車両を取り巻く動作主体の予測された挙動及び特定の目的地への交通データに基づいて、計画モジュール1020は、1つ又は複数の動作主体との起こり得る衝突を回避するために、車両に対する特定のナビゲーション経路及び関連する運転操作を判定してもよい。
【0079】
特定の実施形態では、計画モジュール1020は、所与の予測された状況表現に基づいて、車両に対するいくつかの異なる計画(例えば、目標又はナビゲーション指示)を生成してもよい。各計画について、計画モジュール1020は、その計画の望ましさを表すスコアを計算してもよい。例えば、計画を、予測された状況表現に基づいて判定したときに、車両が動作主体と、その動作主体の予測された場所にて衝突する可能性が高い場合、計画のスコアには、それに応じてペナルティが課せられる。車両が交通規則に違反するか、衝突の可能性を回避するために長い迂回が必要になるであろう別の計画でも、スコアにペナルティが課せられる可能性があるが、ペナルティは、衝突を引き起こすであろう以前の計画に適用されたペナルティよりも厳しいものではない場合がある。予測される将来にて動作主体との衝突を回避するために車両を単に停止させるか、車線変更させる第3の計画では、最高のスコアを受け取る可能性がある。計画に割り当てられたスコアに基づいて、計画モジュール1020は、実施するのに最適な計画を選択してもよい。上記の例では例として衝突を使用したが、本明細書の開示では、移動の距離又は時間、燃費、目的地への到着予定時刻の変更、乗客の快適さ、他の車両への近さ、予測された状況表現に関連付けられた信頼スコアなどの任意の適切な採点基準の使用を想定している。
【0080】
1つ又は複数のナビゲーション経路又は関連する運転操作を含み得る、計画モジュール1020によって生成された計画に基づいて、制御モジュール1025は、車両のアクチュエータに発行される特定のコマンドを判定してもよい。車両のアクチュエータは、車両の移動と制御を担当する構成要素である。アクチュエータは、例えば、ステアリング、方向指示器、減速(制動)、加速、ギアシフトなどの車両の運転機能を制御する。限定としてではなく一例として、制御モジュール1025は、特定の軌道上で車両を動かすために特定の操舵角を特定の時間維持するようにステアリングアクチュエータにコマンドを送信して、車両のエリアに侵入すると予測される動作主体を回避してもよい。別の例として、制御モジュール1025は、車両のエリアに侵入すると予測される動作主体を車両が安全に回避するために、コマンドを加速器アクチュエータに送信してもよい。
【0081】
図11は、例示的なコンピュータシステム1100を示す。特定の実施形態では、1つ又は複数のコンピュータシステム1100は、本明細書に記載するか図示する1つ又は複数の方法の1つ又は複数のステップを実施する。特定の実施形態では、1つ又は複数のコンピュータシステム1100は、本明細書に記載するか図示する機能を提供する。特定の実施形態では、1つ又は複数のコンピュータシステム1100で実行されるソフトウェアが、本明細書に記載するか図示する1つ又は複数の方法の1つ又は複数のステップを実行するか、本明細書に記載するか図示する機能を提供する。特定の実施形態には、1つ又は複数のコンピュータシステム1100の1つ又は複数の部分が含まれる。本明細書では、コンピュータシステムへの言及が、必要に応じて、計算装置に及ぶことがあり、その逆もあり得る。さらに、コンピュータシステムへの言及が、必要に応じて、1つ又は複数のコンピュータシステムに及ぶ場合がある。
【0082】
この開示では、任意の適切な数のコンピュータシステム1100について検討する。この開示では、任意の適切な物理的形態をとるコンピュータシステム1100について検討する。限定としてではなく一例として、コンピュータシステム1100は、組み込みコンピュータシステム、システムオンチップ(SOC)、シングルボードコンピュータシステム(SBC)(例えば、コンピュータオンモジュール(COM)又はシステムオンモジュール(SOM)など)、デスクトップコンピュータシステム、ラップトップ又はノートブックコンピュータシステム、インタラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、パーソナルデジタルアシスタント(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実装置、あるいはここに挙げたもののうちの2つ以上の組み合わせであってもよい。必要に応じて、コンピュータシステム1100は、1つ又は複数のコンピュータシステム1100を含んでも、単一であっても分散されても、複数の場所にまたがっても、複数の機械にまたがっても、複数のデータセンターにまたがっても、1つ又は複数のネットワークに1つ又は複数のクラウド構成要素が含まれ得るクラウドに常駐してもよい。必要に応じて、1つ又は複数のコンピュータシステム1100は、実質的な空間的又は時間的な制限なしに、本明細書に説明するか図示する1つ又は複数の方法の1つ又は複数のステップを実施してもよい。限定としてではなく一例として、1つ又は複数のコンピュータシステム1100は、リアルタイム又は一括方式で、本明細書に説明するか図示する1つ又は複数の方法の1つ又は複数のステップを実施してもよい。1つ又は複数のコンピュータシステム1100は、必要に応じて、本明細書に説明するか図示する1つ又は複数の方法の1つ又は複数のステップを、異なる時間又は異なる場所で実施してもよい。
【0083】
特定の実施形態では、コンピュータシステム1100は、プロセッサ1102、メモリ1104、ストレージ1106、入力/出力(I/O)インターフェース1108、通信インターフェース1110及びバス1112を備える。この開示は、特定の配置で特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、図示するが、この開示では、任意の適切な配置で任意の適切な数の任意の適切な構成要素を有する任意の適切なコンピュータシステムについて検討する。
【0084】
特定の実施形態では、プロセッサ1102は、コンピュータプログラムを構成する命令などの命令を実行するためのハードウェアを含む。限定としてではなく一例として、命令を実行するために、プロセッサ1102は、内部レジスタ、内部キャッシュ、メモリ1104又はストレージ1106から命令を検索(又はフェッチ)し、復号して実行し、次に、1つ又は複数の結果を、内部レジスタ、内部キャッシュ、メモリ1104又はストレージ1106に書き込んでもよい。特定の実施形態では、プロセッサ1102は、データ、命令又はアドレスのための1つ又は複数の内部キャッシュを含んでもよい。この開示では、必要に応じて、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ1102について検討する。限定としてではなく一例として、プロセッサ1102は、1つ又は複数の命令キャッシュ、1つ又は複数のデータキャッシュ及び1つ又は複数の変換索引バッファ(TLB)を含んでもよい。命令キャッシュ内の命令が、メモリ1104又はストレージ1106内の命令の複製であってもよく、命令キャッシュは、プロセッサ1102によるそのような命令の検索を高速化してもよい。データキャッシュ内のデータが、コンピュータ命令によって操作されるメモリ1104又はストレージ1106内のデータの複製であっても、後続の命令にアクセス可能であるか、メモリ1104又はストレージ1106に書き込むためのプロセッサ1102によって実行された以前の命令の結果であっても、任意の他の適切なデータであってもよい。データキャッシュは、プロセッサ1102による読み取り操作又は書き込み操作を高速化してもよい。TLBは、プロセッサ1102の仮想アドレス変換を高速化してもよい。特定の実施形態では、プロセッサ1102は、データ、命令又はアドレスのための1つ又は複数の内部レジスタを含んでもよい。この開示では、必要に応じて、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ1102について検討する。必要に応じて、プロセッサ1102は、1つ又は複数の算術論理演算ユニット(ALU)を含んでも、マルチコアプロセッサであっても、1つ又は複数のプロセッサ1102を含んでもよい。この開示は、特定のプロセッサを説明し、例示するが、この開示では、任意の適切なプロセッサについて検討する。
【0085】
特定の実施形態では、メモリ1104は、プロセッサ1102が実行するための命令又はプロセッサ1102が動作するためのデータを保存するためのメインメモリを含む。限定としてではなく一例として、コンピュータシステム1100は、ストレージ1106又は別のソース(別のコンピュータシステム1100など)からメモリ1104に命令を読み込んでもよい。次に、プロセッサ1102は、メモリ1104から内部レジスタ又は内部キャッシュに命令を読み込んでもよい。命令を実行するために、プロセッサ1102は、内部レジスタ又は内部キャッシュから命令を検索し、復号してもよい。命令の実行中又は実行後に、プロセッサ1102は、(中間又は最終の結果である可能性がある)1つ又は複数の結果を内部レジスタ又は内部キャッシュに書き込んでもよい。次に、プロセッサ1102は、そのような結果のうちの1つ又は複数をメモリ1104に書き込んでもよい。特定の実施形態では、プロセッサ1102は、1つ又は複数の内部レジスタ又は内部キャッシュにて、あるいはメモリ1104にて(ストレージ1106又は他の場所とは対照的に)命令のみを実行し、1つ又は複数の内部レジスタ又は内部キャッシュにて、あるいはメモリ1104にて(ストレージ1106又は他の場所とは対照的に)、データ上でのみを動作する。(それぞれがアドレスバス及びデータバスを含み得る)1つ又は複数のメモリバスが、プロセッサ1102をメモリ1104に結合してもよい。バス1112は、以下でさらに詳細に説明するように、1つ又は複数のメモリバスを含んでもよい。特定の実施形態では、1つ又は複数のメモリ管理ユニット(MMU)が、プロセッサ1102とメモリ1104との間に存在し、プロセッサ1102によって要求されるメモリ1104へのアクセスを容易にする。特定の実施形態では、メモリ1104はランダムアクセスメモリ(RAM)を含む。このRAMは、必要に応じて、揮発性メモリであってもよい。必要に応じて、このRAMはダイナミックRAM(DRAM)又はスタティックRAM(SRAM)であってもよい。さらに、必要に応じて、このRAMはシングルポート又はマルチポートのRAMであってもよい。この開示では、任意の適切なRAMについて検討する。メモリ1104は、必要に応じて、1つ又は複数のメモリ1104を含んでもよい。この開示は、特定のメモリを説明し、例示するが、この開示では、任意の適切なメモリについて検討する。
【0086】
特定の実施形態では、ストレージ1106は、データ又は命令のためのマスストレージを含む。限定としてではなく一例として、ストレージ1106は、ハードディスクドライブ(HDD)、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、光ディスク、磁気光学ディスク、磁気テープ又はユニバーサルシリアルバス(USB)ドライブ、あるいはここに挙げたものの2つ以上の組み合わせを含んでもよい。ストレージ1106は、必要に応じて、取り外し可能又は取り外し不可能な(又は固定された)媒体を含んでもよい。ストレージ1106は、必要に応じて、コンピュータシステム1100の内部又は外部にあってもよい。特定の実施形態では、ストレージ1106は、不揮発性の固体メモリである。特定の実施形態では、ストレージ1106は、読み取り専用メモリ(ROM)を含む。必要に応じて、このROMは、マスクプログラムROM、プログラム可能ROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的消去再書き込みROM(EAROM)又はフラッシュメモリ、あるいはここに挙げたものの2つ以上の組み合わせであってもよい。この開示では、任意の適切な物理的形態をとるマスストレージ1106について検討する。ストレージ1106は、必要に応じて、プロセッサ1102とストレージ1106との間の通信を容易にする1つ又は複数のストレージ制御ユニットを含んでもよい。必要に応じて、ストレージ1106は、1つ又は複数のストレージ1106を含んでもよい。この開示は、特定のストレージを説明し、例示するが、この開示では、任意の適切なストレージについて検討する。
【0087】
特定の実施形態では、I/Oインターフェース1108は、ハードウェア、ソフトウェア又はその両方を含み、コンピュータシステム1100と1つ又は複数のI/O装置との間の通信のための1つ又は複数のインターフェースを提供する。コンピュータシステム1100は、必要に応じて、このようなI/O装置のうちの1つ又は複数を備えてもよい。このようなI/O装置のうちの1つ又は複数が、人とコンピュータシステム1100との間の通信を可能にしてもよい。限定としてではなく一例として、I/O装置には、キーボード、キーパッド、マイク、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、タッチペン、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の適切なI/O装置又はここに挙げたものの2つ以上の組み合わせが含まれてもよい。I/O装置には、1つ又は複数のセンサが含まれてもよい。この開示では、任意の適切なI/O装置と、同I/O装置のための任意の適切なI/Oインターフェース1108について検討する。必要に応じて、I/Oインターフェース1108は、プロセッサ1102がこのようなI/O装置のうちの1つ又は複数を駆動することを可能にする1つ又は複数の装置又はソフトウェアドライバを含んでもよい。I/Oインターフェース1108は、必要に応じて、1つ又は複数のI/Oインターフェース1108を含んでもよい。この開示は、特定のI/Oインターフェースを説明し、例示するが、この開示では、任意の適切なI/Oインターフェースについて検討する。
【0088】
特定の実施形態では、通信インターフェース1110は、コンピュータシステム1100と1つ又は複数の他のコンピュータシステム1100又は1つ又は複数のネットワークとの間の通信(例えば、パケットベースの通信など)のための1つ又は複数のインターフェースを提供するハードウェア、ソフトウェア又はその両方を含む。限定としてではなく一例として、通信インターフェース1110は、イーサネット(登録商標)又は任意の他の有線ベースのネットワークと通信するためのネットワークインターフェースコントローラ(NIC)、あるいはWI-FIネットワークなどの無線ネットワークと通信するための無線NIC(WNIC)又は無線アダプタを含んでもよい。この開示では、任意の適切なネットワークと、同ネットワークに適した任意の通信インターフェース1110について検討する。限定としてではなく一例として、コンピュータシステム1100は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)又はインターネットの1つ又は複数の部分、あるいはここに挙げたものの2つ以上の組み合わせと通信してもよい。このようなネットワークの1つ又は複数の1つ又は複数の部分が有線又は無線であってもよい。一例として、コンピュータシステム1100は、無線PAN(WPAN)(例えば、Bluetooth(登録商標) WPANなど)、WI-FIネットワーク、WI-MAXネットワーク、携帯電話ネットワーク(例えば、Global System for Mobile Communications(GSM(登録商標))ネットワーク)又は任意の他の適切な無線ネットワーク、あるいはここに挙げたものの2つ以上の組み合わせと通信してもよい。コンピュータシステム1100は、必要に応じて、このようなネットワークのいずれかに適した任意の通信インターフェース1110を備えてもよい。通信インターフェース1110は、必要に応じて、1つ又は複数の通信インターフェース1110を含んでもよい。本開示は、特定の通信インターフェースを説明し、例示するが、この開示では、任意の適切な通信インターフェースについて検討する。
【0089】
特定の実施形態では、バス1112は、コンピュータシステム1100のハードウェア、ソフトウェア又はその両方を互いに結合するコンポーネントを含む。限定としてではなく一例として、バス1112は、加速グラフィックスポート(AGP)又は他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、前側バス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、低ピン数(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺構成要素相互接続(PCI)バス、 PCIエクスプレス(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、Video Electronics Standards Associationローカル(VLB)バス又は別の適切なバス、あるいはここに挙げたものの2つ以上の組み合わせを含んでもよい。バス1112は、必要に応じて、1つ又は複数のバス1112を含んでもよい。この開示では、特定のバスを説明し、例示するが、この開示では、任意の適切なバス又は相互接続について検討する。
【0090】
本明細書では、1つ又は複数のコンピュータ可読非一時的記憶媒体には、1つ又は複数の半導体ベース又は他のタイプの集積回路(IC)(例えば、フィールドプログラマブルゲートアレイ(FPGA)又はアプリケーション固有のIC(ASIC))、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)ディスク、フロッピー(登録商標)ディスクドライブ(FDD)、磁気テープ、半導体ドライブ(SSD)、RAMドライブ、SECURE DIGITALカード又はドライブ、任意の他の適切なコンピュータ可読非一時記憶媒体、あるいは、必要に応じて、ここに挙げたものの2つ以上の任意の適切な組み合わせが含まれてもよい。コンピュータ可読非一時的記憶媒体が、必要に応じて、揮発性、不揮発性又は揮発性と不揮発性の組み合わせであってもよい。
【0091】
本明細書では、「又は」は、明示的に別段の指示がない限り、あるいは状況によって別の方法で指示がない限り、包括的であり、排他的ではない。このため、本明細書では、「A又はB」は、明示的に別段の指示がない限り、あるいは状況によって別の方法で指示がない限り、「A、B又はその両方」を意味する。さらに、「及び」は、明示的に別段の指示がない限り、あるいは状況によって別の方法で指示がない限り、連結と個別の両方である。このため、本明細書では、「A及びB」は、明示的に別段の指示がない限り、あるいは状況によって別の方法で指示がない限り、「AとBの両方又はそれぞれ」を意味する。
【0092】
本開示の範囲は、当業者が理解するであろう、本明細書で説明し、例示した例示的な実施形態に対するあらゆる変更、置換、変形、修正及び改良を包含する。本開示の範囲は、本明細書で説明するか例示した例示的な実施形態に限定されない。さらに、本開示は、特定の構成要素、要素、特徴、機能、操作又はステップを含むものとして本明細書のそれぞれの実施形態を説明し、例示するが、このような実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明するか例示する構成要素、要素、特徴、機能、操作又はステップのいずれかの任意の組み合わせ又は順列を含んでもよい。さらに、特定の機能を実行するように適合されるか、配置されるか、構成されるか、有効にされるか、操作可能であるか、動作可能である装置又はシステム、あるいは装置又はシステムの構成要素についての添付の特許請求の範囲での言及には、その装置、システム、構成要素がそのように適合されるか、配置されるか、可能であるか、構成されるか、有効にされるか、操作可能であるか、動作可能である限り、装置、システム、構成要素又はその特定の機能が有効にされているか、起動されているか、ロック解除されているかどうかにかかわらず、その装置、システム、構成要素が包含される。さらに、本開示は、特定の利点を提供するものとして特定の実施形態を説明するか、例示するが、特定の実施形態は、このような利点のいずれも提供しなくても、一部を提供しても、全部を提供してもよい。
図1A
図1B
図1C
図1D
図1E
図1F
図1G
図1H
図2A
図2B
図2C
図2D
図3
図4
図5
図6
図7
図8
図9
図10
図11
【国際調査報告】