(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025027971
(43)【公開日】2025-02-28
(54)【発明の名称】自動運転システムの計算コストを削減するための方法
(51)【国際特許分類】
B60W 50/00 20060101AFI20250220BHJP
G06T 7/00 20170101ALI20250220BHJP
G06V 10/82 20220101ALI20250220BHJP
G06V 20/58 20220101ALI20250220BHJP
B60W 60/00 20200101ALI20250220BHJP
G08G 1/16 20060101ALI20250220BHJP
G06N 3/0455 20230101ALI20250220BHJP
G06N 3/08 20230101ALI20250220BHJP
G06F 18/213 20230101ALI20250220BHJP
【FI】
B60W50/00
G06T7/00 650A
G06T7/00 350C
G06V10/82
G06V20/58
B60W60/00
G08G1/16 C
G06N3/0455
G06N3/08
G06F18/213
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024098858
(22)【出願日】2024-06-19
(31)【優先権主張番号】18/451118
(32)【優先日】2023-08-17
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】522254859
【氏名又は名称】オートブレインズ・テクノロジーズ・リミテッド
【氏名又は名称原語表記】Autobrains Technologies Ltd.
(74)【代理人】
【識別番号】100230086
【弁理士】
【氏名又は名称】譚 粟元
(72)【発明者】
【氏名】ジュリウス エンジルソイ
(72)【発明者】
【氏名】イガール レイチェルガウツ
(72)【発明者】
【氏名】アミン ベエス
(72)【発明者】
【氏名】アダム ハレル
(72)【発明者】
【氏名】アイサック ミスリ
(72)【発明者】
【氏名】ジョエイ ヘンディリ
【テーマコード(参考)】
3D241
5H181
5L096
【Fターム(参考)】
3D241BA00
3D241BA41
5H181AA01
5H181BB04
5H181BB20
5H181CC03
5H181CC04
5H181CC14
5H181LL01
5H181LL02
5H181LL04
5H181LL09
5L096AA09
5L096BA04
5L096CA02
5L096EA37
5L096HA11
5L096KA04
5L096KA15
(57)【要約】 (修正有)
【課題】自動運転システムの計算コストを削減できる方法を提供する。
【解決手段】車両操作のためのタスクに関連するデータを取得するステップ(a)と、取得したデータを使用することで深層学習モデルをトレーニングし、前記深層学習モデルが、前記タスクに対するエンコーダーとポリシーヘッドとを含むステップ(b)と、ステップ(a)で取得したデータをエンコーダーに転送し、該当データの圧縮された潜在表現を生成することで、該当データの複雑度を削減するステップ(c)と、ポリシーヘッドが該当データの圧縮された潜在表現を使用することによって運転操作を決定するステップ(d)と、含む。
【選択図】
図5
【特許請求の範囲】
【請求項1】
自動運転システムの計算コストを削減するための方法であって、
車両操作のためのタスクに関連するデータを取得するステップ(a)と、
取得したデータを使用することで深層学習モデルをトレーニングし、前記深層学習モデルが、前記タスクに対するエンコーダーとポリシーヘッドとを含むステップ(b)と、
ステップ(a)で取得したデータを前記エンコーダーに転送し、前記データの圧縮された潜在表現を生成することで、前記データの複雑度を削減するステップ(c)と、
前記ポリシーヘッドが前記データの圧縮された潜在表現を使用することによって運転操作を決定するステップ(d)と、含む、
ことを特徴とする自動運転システムの計算コストを削減するための方法。
【請求項2】
前記取得したデータは、同じ車両または別の車両からの記録された人間運転データ、または人工的に増強されたデータを含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記データが、同じ車両または別の車両のセンサーを使用して取得され、
前記センサーが、1つ以上の、レーザーレーダーセンサー、レーダーセンサー、赤外線センサー、および/または画像センサーを含む、
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記ステップ(c)は、
要素を前記圧縮された潜在表現に掛けて得たマスクを適用することで、ステップ(a)で取得したデータの複雑度をさらに削減することをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項5】
マスクの値を正規化する作業がさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項6】
損失関数を適用することで、前記ポリシーヘッドによって決定された前記運転操作と運転操作ベンチマークとの差別を評価することをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項7】
第1深層学習モデルの第1エンコーダーによって生成された前記圧縮された潜在表現の1つ以上の重複要素を設定することで、前記圧縮された潜在表現が、第2深層学習モデルの第2エンコーダーによって共有できるように設定されることをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項8】
命令が記憶された非一時的コンピュータ可読記憶媒体であって、
前記命令が1つ以上のプロセッサによって実行されたとき、前記1つ以上のプロセッサに請求項1ないし7のうちのいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項9】
自動運転システムの計算コストを削減するための方法であって、
車両操作のためのタスクに関連するデータを取得するステップ(a)と、
取得したデータを使用することで深層学習モデルを操作し、前記深層学習モデルが、前記タスクに対するポリシーヘッドを含むステップ(b)と、
ステップ(a)で取得したデータの圧縮された潜在表現を取得するステップ(c)と、
前記ポリシーヘッドが前記データの圧縮された潜在表現を使用することによって運転操作を決定するステップ(d)と、含む、
ことを特徴とする自動運転システムの計算コストを削減するための方法。
【請求項10】
自動運転システムの計算コストを削減するための方法であって、
車両操作のためのタスクに関連するデータを取得するステップ(a)と、
取得したデータを使用することで第1深層学習モデルをトレーニングし、前記第1深層学習モデルが、第1エンコーダーとポリシーヘッドとを含むステップ(b)と、
前記タスクに関連する前記データと、別のタスクに関連する圧縮された潜在表現との間の1つ以上の重複要素を識別し、前記圧縮された潜在表現が、第2エンコーダーを有する第2深層学習モデルによって生成され、前記圧縮された潜在表現が、前記第1深層学習モデルの前記第1エンコーダーによって共有可能であるように構成されるステップ(c)と、
前記ポリシーヘッドが前記圧縮された潜在表現を使用することによって運転操作を決定し、前記圧縮された潜在表現が、第2エンコーダーを有する前記第2深層学習モデルによって生成されたステップ(d)と、含む、
ことを特徴とする自動運転システムの計算コストを削減するための方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ技術分野に関し、さらに具体的には、自動運転システムの計算コストを削減するための方法および/または装置に関するものです。
【背景技術】
【0002】
計算技術および車両技術の発展に伴い、自動化に関する特徴は、より強力で広く利用可能になり、より幅広い多様な環境で車両を制御することが可能になっている。例えば、自動車に対して、自動車技術者協会(SAE)は、「自動化なし」から「完全自動化」までの6段階の運転自動化を識別する規格(J3016)を確立した。SAE規格は、レベル0を「自動化なし」と定義しており、たとえ警告システムまたは介入システムによって強化された場合であっても、人間のドライバーは、全ての動的運転タスクをフルタイムで実行する。レベル1は「ドライバーアシスト」として定義され、車両が少なくとも一部の運転モードでステアリングまたは加速/減速(両方ではない)を制御することで、オペレーターが残りの全ての動的運転タスクを実行する。レベル2は「部分的自動化」として定義され、車両が少なくとも一部の運転モードでステアリングおよび加速/減速を制御することで、オペレーターが残りの全ての動的運転タスクを実行する。レベル3は「条件付き自動化」として定義され、少なくとも一部の運転モードに対し、自動運転システムが、全ての動的運転タスクを実行し、人間のドライバーが介入要求に適切に応答することを期待する。レベル4は「高度な自動化」として定義され、特定の条件に対してのみ、人間のドライバーが介入要求に適切に応答しない場合であっても、自動運転システムが全ての動的運転タスクを実行する。レベル4のための特定の条件は、例えば、特定のタイプの道路(例えば、高速道路)および/または特定の地理的領域(例えば、適切にマッピングされた地理的に隔離された大都市圏)であってもよい。最後に、レベル5は「完全自動化」として定義され、車両が全ての条件下でオペレータ入力なしに操作できる。
【0003】
あらゆる自動関連技術の基本的な課題には、車両の周囲の環境に関する情報を収集および説明するとともに、現在の環境内で車両を安全にナビゲートするように車両の動きを適切に制御するためのコマンドを計画および実行することに関する。したがって、これらの各面を改善するための継続的な取り組みが行われており、そうすることで、自動運転車はますます複雑になる環境で確実に操作し、環境内での予想される相互作用および予想されない相互作用に適応することができる。例えば、安全に操作するために、自動運転車両は、環境を通る経路を計画する際に、車両、人、木、動物、建物、標識、ポールなどのオブジェクトを考慮する必要がある。
【0004】
自動運転システムは、周囲の環境を絶えず監視する必要があるため、処理される情報の量が多い。従って、自動運転操作の柔軟性と安全性を維持しながら、計算の複雑さを低減するアルゴリズムを開発することが重要である。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の1つの目的は、自動運転システムの計算コストを削減するための方法および/または装置を提案することである。この目的のために、本発明は、自動運転車両制御システムのための様々なエンドツーエンドの深層学習モデルを開示する。エンドツーエンドの深層学習モデルは、様々なセンサー(例えば、カメラ、LIDARなど)からの生データを受け取る。制御される車両のセンサーから直接に生データを収集することができる。生データは、任意の車両からリアルタイムに記録された知覚データ(例えば、記録された運転)、または、別の車両によってリアルタイムに共有された知覚データであってもよい。エンドツーエンドの深層学習モデルは、出力として運転制御決定を生成する。さらに、深層学習モデルの方法は、手動で注釈されなくてより合理的(例えば、より安価)に取得されより豊富なデータを使用することができる。
【0006】
具体的には、例えば、強化学習などのデータが不足している場合に、自動運転システムを使用/トレーニングして運転制御決定を出力するための、生データの中間圧縮された潜在表現または次元削減された潜在表現を提供することができる。各実施例は、生データを、圧縮された潜在表現に変換するエンコーダを開示する。圧縮された潜在表現は、生データに比べて、データ量の面で大幅に減少している。これにより、トレーニングモードおよび/または使用モードで、自動運転システムのエンドツーエンドの深層学習モデルの計算効率が向上する。一つの例において、エンコーダは、特定の運転タスク(例えば、車線センタリング、車線変更、交通標識読み取りなど)に対して、生データから有用な特徴を抽出し、データの残りの部分を無視する。別の例において、エンコーダの特徴抽出は、様々な機械視覚認識、曲線フィッティング、パターン認識、テキスト認識などによって完了できる。
【0007】
他の実施例において、マスクを使用して圧縮された潜在表現をさらにスパース化することができる。これにより、処理されるデータ量がさらに低減され、計算効率が向上する。
【0008】
いくつかの実施例において、自動運転システムの計算コストを削減するための方法が開示される。該当方法は、車両操作のためのタスクに関連するデータを取得するステップ(a)と、取得したデータを使用することで深層学習モデルをトレーニングし、前記深層学習モデルが、前記タスクに対するエンコーダーとポリシーヘッドとを含むステップ(b)と、ステップ(a)で取得したデータを前記エンコーダーに転送し、前記データの圧縮された潜在表現を生成することで、前記データの複雑度を削減するステップ(c)と、前記ポリシーヘッドが前記データの圧縮された潜在表現を使用することによって運転操作を決定するステップ(d)と、含む。
【0009】
いくつかの実施例において、前記取得したデータは、同じ車両または別の車両からの記録された人間運転データを含む。いくつかの実施例において、前記取得したデータは、人工的に増強されたデータを含む。いくつかの実施例において、前記データが、同じ車両または別の車両のセンサーを使用して取得され、前記センサーが、1つ以上の、レーザーレーダーセンサー、レーダーセンサー、赤外線センサー、および/または画像センサーを含む。
【0010】
いくつかの実施例において、前記ステップ(c)は、要素を前記圧縮された潜在表現に掛けて得たマスクを適用することで、ステップ(a)で取得したデータの複雑度をさらに削減することをさらに含む。いくつかの実施例において、前記ステップ(c)は、マスクの値を正規化する作業がさらに含む。
【0011】
いくつかの実施例において、該当方法は、損失関数を適用することで、前記ポリシーヘッドによって決定された前記運転操作と運転操作ベンチマークとの差別を評価することをさらに含む。
【0012】
いくつかの実施例において、該当方法は、第1深層学習モデルの第1エンコーダーによって生成された前記圧縮された潜在表現の1つ以上の重複要素を設定することで、前記圧縮された潜在表現が、第2深層学習モデルの第2エンコーダーによって共有できるように設定されることをさらに含む
【0013】
いくつかの実施例において、自動運転システムの計算コストを削減するためのほかの方法が開示される。該当方法は、車両操作のためのタスクに関連するデータを取得するステップ(a)と、取得したデータを使用することで深層学習モデルを操作し、前記深層学習モデルが、前記タスクに対するポリシーヘッドを含むステップ(b)と、ステップ(a)で取得したデータの圧縮された潜在表現を取得するステップ(c)と、前記ポリシーヘッドが前記データの圧縮された潜在表現を使用することによって運転操作を決定するステップ(d)と、含む。
【0014】
いくつかの実施例において、自動運転システムの計算コストを削減するためのほかの方法が開示される。該当方法は、車両操作のためのタスクに関連するデータを取得するステップ(a)と、取得したデータを使用することで第1深層学習モデルをトレーニングし、前記第1深層学習モデルが、第1エンコーダーとポリシーヘッドとを含むステップ(b)と、前記タスクに関連する前記データと、別のタスクに関連する圧縮された潜在表現との間の1つ以上の重複要素を識別し、前記圧縮された潜在表現が、第2エンコーダーを有する第2深層学習モデルによって生成され、前記圧縮された潜在表現が、前記第1深層学習モデルの前記第1エンコーダーによって共有可能であるように構成されるステップ(c)と、前記ポリシーヘッドが前記圧縮された潜在表現を使用することによって運転操作を決定し、前記圧縮された潜在表現が、第2エンコーダーを有する前記第2深層学習モデルによって生成されたステップ(d)と、含む。
【0015】
いくつかの実施例において、開示された方法は自動運転システムの装置によって操作できる。該当装置は、少なくとも1つのプロセッサと命令を格納するメモリとを含んでもよい。該当命令は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、開示された自動運転システムの計算コストを削減するための方法の操作を実行させる。たとえば、いくつかの実施例において、開示された方法が、非一時的なコンピュータ読取可能なメディアに格納されるコンピュータ実行可能命令としてプログラム化されてもよい。該当非一時的なコンピュータ読取可能なメディアは、コンピュータにロードされるときに、コンピュータのプロセッサが開示された方法を実行するように指示する。非一時的なコンピュータ読取可能なメディアは、ハードディスク、CD-ROM、光学記憶装置、磁気記憶装置、リードオンリーメモリ、プログラマブルリードオンリーメモリ、消去可能プログラマブルリードオンリーメモリ、EPROM、電気的に消去可能なプログラマブルリードオンリーメモリ、フラッシュメモリのうちのいずれか1つ以上のものを含んでもよい。
【0016】
本明細書でより詳細に説明されている上記の概念と追加の概念のすべての組み合わせは、本開示の一部として認識されるべきである。例えば、本開示の最後に現れる要求された保護対象のテーマのすべての組み合わせは、本文で開示されたテーマの一部として認識されるべきである。
【図面の簡単な説明】
【0017】
本開示や関連技術の実施例をより明確に図示するために、以下の実施例で説明される図を簡単に紹介する。明らかに、これらの図は本開示の一部の実施例に過ぎず、当業者がこれらの図面を参考にして、創造的な労力を必要とすることなく他の図面を得ることができる。図面内の矢印は関係を示しており、その関係によって、矢印が始まるコンポーネントを使用して、矢印が指すコンポーネントをトレーニング/適用することができる。これらの図面を用いて、以下の詳細な説明を結合して、本開示の実施例をより完全に理解することができる。
【
図1】本開示のいくつかの実施例による深層学習モデルがトレーニングする時または使用する時の例の実施方式のブロック図である。
【
図2】本開示のいくつかの実施例によるマスク機能を有する深層学習モデルがトレーニングする時または使用する時のほかの例の実施方式のブロック図である。
【
図3】本開示のいくつかの実施例によるマスク機能を有する複数の深層学習モデルがトレーニングする時または使用する時の例の実施方式のブロック図である。
【
図4】本開示のいくつかの実施例による異なるタスクに関連する1つ以上の重複要素を識別する例を示す表である。
【
図5】本公開のいくつかの実施例によるエンドツーエンドの深層学習モデルがトレーニングする時の操作の例を示すフローチャートである。
【
図6】本公開のいくつかの実施例によるエンドツーエンドの深層学習モデルが使用する時の操作の例を示すフローチャートである。
【
図7】本公開のいくつかの実施例による複数の深層学習モデルがトレーニングする時の操作の例を示すフローチャートである。
【
図8】本公開のいくつかの実施例によるタスク機能を使わずに自動運転システムを操作する例を示す図である。
【
図9】本公開のいくつかの実施例による車線中央維持/保持タスクに対してマスク機能を使用するとき自動運転システムを操作する例を示す図である。
【
図10】本公開のいくつかの実施例による交通標識の読取タスクに対してマスク機能を使用するとき自動運転システムを操作する例を示す図である。
【
図11】本公開のいくつかの実施例による自動運転車両用の例示的なハードウェアおよびソフトウェア環境を示す図である。図面の簡素さと明確さを図るために、図に示された部品は必ずしも実際の比率に従って描かれているわけではない。例えば、明確に表示するため、いくつかの部品のサイズは他の部品よりも大きくなることがある。また、適切とされる場合には、追加の図記号を繰り返して、対応するまたは類似する部品を示すことができる。
【発明を実施するための形態】
【0018】
図面を参照すると、本開示の実施例には、技術問題、構造特性、達成する目的、効果が詳細に説明されている。具体的には、本開示の実施例における用語は、特定の実施例を記述するためにのみ使用され、本開示を制限するものではない。以下の詳細な説明では、本発明を十分に理解するために多くの具体的な詳細が述べられる。ただし、当業者は、これらの具体的な詳細なしで本発明を実施できると理解するべきである。他の状況では、混乱を避けるために、既知の方法、プロセス、およびコンポーネントについては詳細には説明しない。本発明の主題は、本明細書の最後の部分で特に指摘され、明確に保護される。ただし、本発明の組織、操作方法、目的、特徴、および長所については、以下の詳細な説明を参照し、図を組み合わせて読むことで最もよく理解できる。なぜならば本発明の示された実施例は、主に当業者が既に知っている電子部品および回路を使用して実現できる。したがって、本発明の基礎概念を理解し、本発明の教えを混乱させたり分散させないようにするために、詳細を説明する必要があると思われる以上の詳細を説明しない。たとえば、明細書および/または図面には、プロセッサまたは処理回路が関与することがある。プロセッサは、処理回路であってもよい。処理回路は、中央プロセッシングユニット(CPU)および/または専用集積回路(ASIC)、現場プログラマブルゲートアレイ(FPGA)、フルカスタム集積回路など、1つ以上の他の集積回路として実施され、または、これらの集積回路の組み合わせである。
【0019】
以下の明細書および/または図面は、画像に関与してもよい。画像は、メディアユニットの例である。画像に対する任意の参照は、メディアユニットに必要に応じて適用されてもよい。メディアユニットは、センシング情報ユニット(SIU)の一例であってもよい。メディアユニットに対する任意の参照は、例えば、これらに限定されないが、自然に生成された信号、人間の行動を表す信号、車両信号に関連する動作を表す信号、測地学的信号、地球物理学的信号、テキスト信号、デジタル信号、時系列信号などの任意のタイプの自然信号に必要に応じて適用されてもよい。メディアユニットに対する任意の参照は、SIUに必要に応じて適用されてもよい。SIUは、任意のタイプのものであってよく、任意のタイプのセンサ、例えば、ビジョン・カメラによって検知されてもよい。音響センサは、赤外線、レーダー撮像、超音波、電気光学、ラジオグラフィー、光検出及び測距(LIDAR)、熱センサ、受動センサ、能動センサなどを感知することができる。感知は、送信された信号を表すサンプル(例えば、ピクセル、音声信号など)を生成すること、またはさもなければセンサに到達することを含んでもよい。SIUは、1つ以上の画像、1つ以上のビデオクリップ、1つ以上の画像に関するテキスト情報、または動き情報を説明するテキストなどを有してもよい。
【0020】
添付図面、明細書の任意の部分および/または任意の請求項のいずれかに列挙された任意のモジュールまたはユニットの任意の組み合わせを提供することができる。本出願に図示されたユニットおよび/またはモジュールのいずれかは、ハードウェアおよび/または非一時的なコンピュータ可読媒体に記憶されるコード、コマンドおよび/または命令を用いて実現することができ、車両内部、車両外部、モバイルデバイス、サーバなどに含まれてもよい。車両は、例えば、地上輸送車両、航空車両または水上輸送工具などの任意のタイプの車両であってもよい。この車両は自家用車とも呼ばれる。自動運転には、SAE規格で定義されるすべてのL2レベルタイプまたはそれ以上のレベルタイプを含む、車両の少なくとも部分的な自動(半自動)運転が含まれることを理解すべきである。
【0021】
現在、図面を参照すると、いくつかの図面における同じ番号は同じ部分を表し、
図1~
図3は、本開示のいくつかの実施例による、システムの計算コストを削減するための方法を実行する異なるエンドツーエンドの深層学習モデルを示すブロック図である。当該システムは自動運転を含むが、これに限定されない。当該モデルは、1つ以上のモデルをトレーニングおよび/または操作するためのコンピュータシステムを備えてもよく、1つ以上のモデルは、人工知能(AI)モデルであってもよく、深層学習モデルを含むがこれに限定されず、例えば、1つ以上の潜在層/表現を有する深層ニューラルネットワークである。本明細書に記載されるこれらおよび他の配置は、単なる例として説明されたものであることを理解すべきである。示されるものに加えて、またはその代わりに、他の配置および素子(例えば、機器、インターフェース、機能、順序および機能のグループ化など)を使用することができる。そして、明確にするために、いくつかの素子を完全に省略することができる。また、本明細書に記載される多くの素子は、離散的または分散的なコンポーネントとして実現されてもよく、または他のコンポーネントと組み合わせられてもよく、かつ任意の適切な組み合わせおよび位置で実現されてもよい機能エンティティである。本明細書に記載される1つ以上のエンティティによって実行される様々な機能は、ハードウェア、ファームウェアおよび/またはソフトウェアによって実行され得る。例えば、いくつかの機能は、メモリに記憶されるコマンドを実行するプロセッサによって実行され得る。以下に説明する深層学習モデルは、入力層、潜在層/隠蔽層、および出力層などの複数の層を含むニューラルネットワークであってもよいことを理解すべきである。各ニューラルネットワーク層は、複数のノード(またはニューロン)を含んでもよく、それらは通常直列に接続される。
【0022】
いくつかの実施例において、
図1は、エンコーダ104とポリシーヘッド108とを含む深層学習モデル100のブロック図である。エンコーダ104及びポリシーヘッド108の各々は、トレーニング可能なAIモデルであってもよい。一つの実施例において、深層学習モデルはタスクによって決定されるものであり、タスクは、例えば、車線センタリング、車線変更、交通標識読み取りなどである。エンコーダ104は、生データ102を受信する。エンコーダ104は、生データ102から特徴を抽出し、それに応じて圧縮された潜在表現106として高次元の生データを低次元の潜在ベクトルに低下させる。このようにして、圧縮された潜在表現106を形成することにより、生データ102のデータ本体/複雑度を削減することができる。生データ102の圧縮された潜在表現106は、データ特性を学習し、データ表現を簡素化するのに寄与する。エンコーダ104は、圧縮された潜在表現106をポリシーヘッド108に出力する。ポリシーヘッド108は、圧縮された潜在表現106を受信し、それに応じて運転操作決定110を出力する。異なる実施例において、圧縮された潜在表現106は、重複または価値のないデータを廃棄すること、および/または異なるデータ表現および近似技術(すなわち、より少ないデータを損失なく転送し、生データではなくコンパクトなモデルを転送すること)を使用することによって得られる。例えば、いくつかの実施例において、圧縮された潜在表現106は、生データ102に線形変換または非線形変換を適用することができ、出力運転操作決定110を生成するために用いられる。
【0023】
いくつかの実施例において、生データ102は、同じ車両または別の車両の1つ以上のセンサーからの生データである。例えば、生データ102は、カメラセンサーによって捕捉された、ピクセルの赤、緑、青(RGB)値を含む画像であってもよい。生データ102は、生SIU、処理されたSIU、テキスト情報、SIUから導出された情報などであってもよい。異なる実施例において、生データ102のロードは、ローカルディスクから、適切なネットワークロケーションを介したリモートストレージロケーションからなどから由来することができる。生データ102を取得することは、データを受信すること、データを生成すること、データの処理に関与すること、データの一部のみを処理すること、および/またはデータの別の部分のみを受信することを含んでもよい。データ102の処理は、検出、ノイズ低減、信号対ノイズ比の改善、境界ボックスの定義などのうちの少なくとも1つを含んでもよい。生データ102は、1つ以上のセンサー、1つ以上の通信ユニット、1つ上のメモリユニット、1つ以上の画像プロセッサなどの1つ以上のソースから受信することができる。
【0024】
いくつかの実施例において、エンコーダ104は、生データ102を圧縮された潜在表現106にマッピングするように構成されてもよく、当該潜在表現106は、意味関係のデータベースに記憶され得る。いくつかの実施例において、エンコーダ104は、入力データの次元圧縮を学習して、特徴の潜在表現をエンコードし、一方、ポリシーヘッド108は、エンコードされた潜在表現を、出力運転操作決定110などの再構成出力として再作成する。例えば、エンコーダ104は、生データ102の1つ以上の要素を表す1次元ベクトルを用いて、生データ102の圧縮された潜在表現106を生成するように構成されてもよい。一つの実施例において、圧縮された潜在表現をベクトルVとして表すことができ、ここでV=[E
1、E
2、E
3、…E
N]である。E
1は要素1、E
2は要素2、E
3は要素3、E
Nは要素Nを指す。例えば
図4を参照して、各要素は、1次元または多次元行列であってもよい。各要素は、車線境界線、車線中心線、近隣車両、交通標識、木の輪郭など、車両の周囲の潜在的に有用な特徴を表すことができる。
【0025】
エンコーダ104は、その潜在的な流体内の様々なデータ属性に関する有意義な情報をエンコードするように構成されてもよく、そして、この有意義な情報は、関連するタスクを実行するために用いられる。このような実施例において、圧縮された潜在表現106は、入力データの次元を低減し、無関係な情報を除去するのに寄与する。従って、入力データの次元数を低減すると、計算コストが削減され、過度なフィッティングを回避するのに寄与する。
【0026】
いくつかの実施例において、圧縮された潜在表現106が与えられると、ポリシーヘッド108は、所定のタスクのセットから車両が従うべきアクションを決定するように構成されてもよい。タスクは、圧縮された潜在表示106に基づいて、自動運転車が実行すべきアクションを決定する。これらのタスクのいくつかの例としては、車線維持、追い越し、車線変更、交差点処理および信号処理などである。
【0027】
いくつかの実施例において、損失関数112の勾配は、圧縮された潜在表現106の正確性を特徴付けるために、ポリシーヘッド108によって決定された運転操作決定110と運転操作ベンチマーク114との差別を評価するように構成されてもよい。損失関数は、予測モデルが予想結果を予測できる面でどのように優れているかを示す尺度である。エンコーダ104のパラメータおよび/または圧縮された潜在表現106は、改善された運転決定出力を達成するために、損失関数112の勾配に基づいて更新/調整することができる。モデルがトレーニング目的ではなく操作のみに使用される場合、損失関数112は必要ない場合があることを理解すべきである。しかしながら、システムの操作とトレーニングを同時に行うことは可能である。
【0028】
いくつかの他の実施例において、
図2に示すように、深層学習モデル200は、深層学習モデル100と同様の構造を含んでもよく、入力データの複雑度をさらに削減することにより計算コストをさらに削減するためのトレーニング可能なマスク208をさらに含んでもよい。トレーニング可能なマスク208は、運転操作決定216を生成するために、圧縮された潜在表現206に基づいてポリシーヘッド214のためのスパースな潜在表現212を生成するように構成されてもよい。
【0029】
例えば、いくつかの実施例において、トレーニング可能なマスク208は、要素を、エンコーダ204によって生データ202のセットに基づいて生成される圧縮された潜在表現206に掛けて得られる。一つの実施例において、トレーニング可能なマスク208は、圧縮された潜在表現206と一致する要素を有するベクトルであってもよい。トレーニング可能なマスク208は、データをさらにスパース化するために、圧縮された潜在表現206内のあまり有用でない要素をゼロにするかまたは正規化することができる。
【0030】
例えば、車線変更タスクを処理するモデル200において、マスク208は、圧縮された潜在表現206の要素、すなわち、車線境界線[E1]、車線中心線[E2]、他の車両[E3]、交通標識テキスト[E4]を維持できるが、モデル200は、木の輪郭が車線変更タスクにとってあまり有用ではないと決定するため、木の輪郭[E5]をゼロにすることができる。従って、この実施例において、圧縮された潜在表現がベクトルV=[E1、E2、E3、E4、E5]である場合、スパースな潜在表現212は、ベクトルVsparse=[E1、E2、E3、E4、0]であり、ここで「0」はゼロ行列を表す。
【0031】
いくつかの実施例において、トレーニング可能なマスク208は、圧縮された潜在表現206からマッピングしてポリシーヘッド214によって受信されるスパースな潜在表現212を生成することで、出力運転操作決定216を決定するように構成されてもよい。例えば、トレーニング可能なマスク208のマスクの値は0と1の間(例えば、データのスパース性を促すために、トレーニング可能なパラメータをS字型関数に転送する)で正規化されてもよい。いくつかの実施例において、損失関数212は、ポリシーヘッド216の出力を運転操作ベンチマーク214と比較するように構成されてもよい。マスクの値は、L1正則化損失の形で損失関数212に追加されてもよく、L1正則化損失は、スパースな潜在表現212に用いられるより良いデータスパース性のために、マスク要素の絶対値を加算することで、トレーニング可能なマスク208のマスク値のうちの多くの値がゼロに設定される。損失関数212は、システム性能を改善するために、エンコーダ204および/またはマスク208に適用され得ることを理解すべきである。
【0032】
いくつかの実施例において、圧縮された潜在表現は、複数のエンドツーエンドの深層学習モデル間で共有できるように構成されてもよい。例えば、
図3に示すように、トレーニング中の2つの深層学習モデル300aおよび330bが示されている。深層学習モデル300aは、エンコーダ304aとポリシーヘッド312aとを含む。いくつかの実施例において、要素を、トレーニング可能なマスク308aは、エンコーダ304aによって生データ302aのセットに基づいて生成される、圧縮された潜在表現306aに掛けて得られる。このような実施例において、トレーニング可能なマスク308aは、圧縮された潜在表現306aからマッピングしてスパースな潜在表現310aを生成するように構成されてもよく、ポリシーヘッド312aによって受信されて出力運転操作決定314aを決定するために用いられる。いくつかの実施例において、損失関数324aの勾配は、圧縮された潜在表現306aおよび/またはスパースな潜在表現310aの正確性を特徴付けるために、ポリシーヘッド312aによって決定される運転操作決定314aと運転操作ベンチマーク326aとの差別を評価するように構成されてもよい。損失関数324aは、システム性能を改善するために、エンコーダ304a、マスク308a、またはポリシーヘッド312aに適用されてもよい。
【0033】
深層学習モデル300bは、深層学習モデル300aと同じ構造を含む。いくつかの実施例において、データ共有モジュール318は、1つ以上のスパースな潜在表現310a、310bが2つの深層学習モデルのエンコーダ304a、304bによって共有可能に構成されるように、データと深層学習モデル300a、300bのスパースな潜在表現310a、310bとの間の1つ以上の重複要素を識別するように構成されてもよい。共有の潜在表現は、自動運転システムの計算効率をさらに向上させる。
【0034】
一つの実施例において、深層学習モデル300aは車線変更のために使用され、深層学習モデル300bは車線センタリングのために使用される。データ共有モジュール308は、スパースな潜在表現310aおよび310bの要素を比較することができる。車線変更のためのスパースな潜在表現310aは、車線境界線、車線中心線、他の車両、および交通標識テキストの要素を含んでもよい。車線センタリングのためのスパースな潜在表現310bは、車線境界線及び車線中心線の要素を含んでもよい。データ共有モジュール318は、310aおよび310bの重複要素、例えば、車線境界線および車線中心線を決定する。その後、データ共有モジュール318は、共有の潜在表現316を作成し、それをエンコーダ304a、304b、またはそのような重複要素を必要とする可能性がある他の任意のエンコーダに送信する。データ共有モジュール318は、ネットワーク320へ/から重複要素を322アップロードまたは322ダウンロードすることもできる。ネットワーク320上に圧縮された潜在表現を記憶する1つ以上の要素は、異なる時点で深層学習モデル間でさらに共有するのに寄与する。
【0035】
共有能力は、トレーニング可能な潜在表現およびマスク機能を最適化するように構成されてもよい。共有可能な圧縮/スパースな潜在表現の特徴をよりよく図示するために、
図4は、異なるタスク(例えば、車線変更のタスク(タスク1)、車線センタリングのタスク(タスク2)、および交通標識読み取りのタスク(タスク3))に関連する1つ以上の重複要素を識別する例を示す表である。ここに示すように、車線変更のタスクと車線センタリングのタスクの両方は、タスクを完了するには車線境界線と車線中央線に関する要素が必要である。従って、いくつかの実施例において、スパースな潜在表現310の重複要素(例えば、車線境界線及び車線中心線)は、データ共有モジュール318によって、ある深層学習モジュールから別の深層学習モデル300に共有されてもよい。
【0036】
いくつかの実施例において、データ共有モジュール318によって1つのタスクに対して配置されたスパースな潜在的表現310を提供し、それを同じまたは異なる車両の別のタスクに直接に適用することができる。このような重複要素の共有方法では、共有可能な要素を受信するシステムが独自の圧縮またはスパースな潜在表現を生成する必要がない可能性があるため、計算コストがさらに削減される。いくつかの実施例において、ネットワーク320を介して要素の共有を実行することができ、Wi-Fi、DSRC接続などを含むが、これらに限定されない。データ共有は、自動運転車両以外の自動ロボット、自動輸送ロボット、または機械学習モデルを介して自動ナビゲーションできる他のシステムにも広げることができる。
【0037】
いくつかの実施例において、1つ以上のネットワーク320(例えば、LAN、WAN、無線ネットワーク、および/またはインターネットなど)を提供して、他のデータ共有モジュール318、コンピュータ、および/または電子機器(例えば、クラウドサービスなどの中央サービスを含み、データ共有モジュール318は、この中央サービスから共有可能な圧縮/スパースな潜在表現、環境データ、およびその自動制御のための他のデータを受信する)と情報の通信を可能にすることができる。例えば、いくつかの実施例において、1つ以上の事前定義された潜在表現316は、データ共有モジュール318とネットワーク320とによって共有されるように構成される。このような実施例において、ローカルモデルによって構成される共有潜在表現316は、ネットワーク320(例えば、クラウドシステム)に322アップロードされ、リモートでの他のモデルの使用のためにネットワーク320に記憶されてもよい。そして、データ共有モジュール318は、ローカル使用のためにネットワーク320から共有潜在表現316を322ダウンロードしてもよい。異なる実施例において、データ共有モジュール318は、有形または無形のエンティティであってもよく、例えば、物理的に構築され、特定的に構成され(例えば、ハードワイヤ)、あるいは、指定された方法で操作するか、または本明細書に記載される任意の操作の一部または全部を操作または実行するように構成される(例えば、プログラミング)エンティティである。データ共有は、1つのタイプのデータまたは複数のタイプのデータ、1回限りの使用、複数回の使用および/または永続的な使用に用いられる。共有されたデータは、元のアップロードされる形式で収集および配布することができ、共有する前にさらに処理することができる。共有されたデータをリアルタイムまたはほぼリアルタイムに送信することができる。
【0038】
ここで、
図5~
図7を参照すると、これらの図は、上述したモデルに対応する計算コストを削減するために使用できる3つの方法500、600、70を示す。なお、方法500、600および700の順序は例示的なものであり、方法500、600および700が実行するステップの順序を示すものではない。
図5に示すように、操作方法500は、ブロック502において、車両操作のためのタスク(例えば、車線変更、車線センタリング、交通標識読み取りなど)に関連するデータを取得し、ブロック504において取得したデータを使用することで深層学習モデルをトレーニングすることにより開始することができる。上述したように、深層学習モデルは、タスクに対するエンコーダおよびポリシーヘッドを含んでもよい。その後、ブロック506において、データをエンコーダーに転送し、データの圧縮された潜在表現を生成することで、ブロック502で取得したデータの複雑度を削減することができ、かつ、ブロック510において、ポリシーヘッドがデータの圧縮された潜在表現を使用することによって運転操作を決定する。
【0039】
いくつかの実施例において、ブロック502で取得したデータは、同じ車両または別の車両からの記録された人間運転データを含んでもよく、かつ、1つ以上のセンサーから取得されてもよい。例えば、いくつかの実施例において、取得したデータは、記録された人間運転データを含む記憶装置/メモリから取得されてもよい。いくつかの実施例において、記録された人間運転データは、従来の車両、運転シミュレーションシステム、または自動運転車両からの運転セッションを完了した車両データログであってもよい。例えば、自動運転車両が運転セッションを実行する場合、自動運転車両または関連する計算システムは、人間運転データおよび/または車両データを収集および記憶することができる。セッションが完了した後、記録されたデータのログは、上述したような自動運転システムのトレーニングまたは使用のために、クラウドシステムなどのコンピューティングシステムに送信することができる。
【0040】
いくつかの実施例において、上述したような車両アクションを制御するモデルをトレーニングするのに十分なデータを収集およびマーキングするために、異なるタイプのセンサー(例えば、レーザーレーダーセンサー、レーダーセンサー、赤外線センサー、および/または画像センサー)を用いて、運転環境の各態様を捕捉するデータを生成することができる。しかしながら、すべてのデータが同様に有用であり、または、モデルのトレーニングに用いられるわけではない。一部のデータは、ノイズがあり、不完全または不均衡なものである可能性がある。これらの制限を克服するために、いくつかの実施例において、ブロック502で取得したモデルのトレーニングに用いられるデータは、人工的に増強されたデータとして処理されてもよい。データ増強技術は、トリミング、反転、回転、スケール、ノイズの追加、輝度の変更、補間、画像の3Dモデルの作成または混合などの変換を適用することで、データの品質と多様性を向上させることができる。これらの技術は、モデルが、その性能および正確性を向上させるためのより堅牢で汎化可能な特徴を学習するのに役立つ。例えば、トレーニング結果を改善するために、いくつかの要素(例えば、動物、悪天候条件、交通信号など)を入力データに導入することができる。
【0041】
いくつかの実施例において、計算コストをさらに削減するために、操作方法500は、要素を圧縮された潜在表現に掛けて得たマスクを適用することで、ブロック502で取得したデータの複雑度をさらに削減するブロック508をさらに含んでもよい。いくつかの実施例において、マスクのマスクの値は、上述したように正規化されてもよい。いくつかの他の実施例において、操作方法500は、システム性能を改善するために、ブロック512で損失関数を適用することで、ポリシーヘッドによって決定された運転操作と運転操作ベンチマークとの差別を評価することをさらに含んでもよい。
【0042】
いくつかの実施例において、
図6に示すように、方法600は、トレーニングされたモデルを適用する操作を示す。方法600は、ブロック602において車両操作のためのタスク(例えば、車線変更、車線センタリング、交通標識読み取りなど)に関連するデータを取得し、ブロック604取得したデータを使用することで深層学習モデルをトレーニングすることにより開始することができる。深層学習モデルは、タスクに対するポリシーヘッドを含んでもよい。その後、適用するようにブロック606で圧縮された潜在表現を取得する。一つの例において、606では、取得は、エンコーダを使用して生データから有用な特徴を抽出することであってもよい。別の例において、606では、取得は、ネットワークまたは任意の不揮発性電子記憶媒体から圧縮された潜在表現をダウンロードすることであってもよい。圧縮された潜在表現を用いて、ブロック610では、ポリシーヘッドによって運転操作を決定することができる。操作方法500と同様にして、操作方法600は、要素を圧縮された潜在表現に掛けて得たマスクを適用することで、取得したデータの複雑度をさらに削減するブロック608と、システム性能を改善するために、損失関数を適用することで、ポリシーヘッドによって決定された運転操作と前述したような運転操作ベンチマークとの差別を評価するブロック612とを含む。
【0043】
いくつかの実施例において、圧縮された潜在表現は、複数の深層学習モデル間で共有できるように構成されてもよい。例えば、
図7に示すように、操作方法700は、操作方法500と同様の最初の2つのステップを含んでもよい。ブロック702で車両操作のためのタスクに関連するデータを取得すること、および、ブロック704で取得したデータを使用してことで第1エンコーダーとポリシーヘッドを用いることで第1深層学習モデルをトレーニングし、第1深層学習モデルが、第1エンコーダーとポリシーヘッドとを含む。その後、操作は、ブロック706において、タスクに関連するデータと、別のタスクに関連する圧縮された潜在表現との間の1つ以上の重複要素を識別し(
図3~
図4に示すように)、前記圧縮された潜在表現が、第2エンコーダーを有する第2深層学習モデルによって生成されることにより継続することができる。従って、このような実施例において、第2エンコーダを有する第2深層学習モデルによって生成される圧縮された潜在表現は、第1深層学習モデルの第1エンコーダーによって共有可能であるように構成される。ブロック708において、ポリシーヘッドが圧縮された潜在表現を使用することによって運転操作を決定し、圧縮された潜在表現が、第2エンコーダーを有する第2深層学習モデルによって生成された。従って、第1深層学習モデルの計算コストが削減される。
【0044】
図8~
図10は、異なるタスクに対して自動運転システムを操作する異なる例の異なる図である。
図8~
図10は、適用可能な場合の
図1~
図3の生データ102、202、302、圧縮された潜在表現106、206、306、およびスパースな潜在表現212、310の例を示す。
図8~
図10は、適用可能な場合における
図5~
図7の生データ、圧縮された潜在表現、マスクによって生成されたデータ(すなわち、スパースな潜在表現)の例を示す。
【0045】
図8~
図10に示すように、入力画像802、902および1002はカメラセンサーからの生データであってもよく、圧縮された潜在表現804、904および1004は、エンコーダ104、204、304によって生成される有用な特徴を捕捉する入力画像のコンパクトな表現であってもよい。ここに示すように、入力画像は高次元であってもよく、自動運転車両の周囲環境のための生データ(例えば、RGB画像)が通常高次元からである。生データ画像には、道路の画像だけでなく、道路周囲のシーン(例えば、他の車両、木、交通標識および空)の画像も含まれている。それに比べて、いくつかの実施例において、圧縮された潜在表現は、一部の関心領域のみを保持し、カラー画像は通常、黒/白画像に変換される。例えば、
図8に示すように、圧縮された潜在表現804は、元のカラー画像802から黒/白線画像804に変換されてもよく、木の輪郭806、車線境界線808、第1車線中心線810a、第2車線中心線810b、交通標識輪郭812、交通標識テキスト814および他の車両816のみを含む。
【0046】
いくつかの実施例において、最初に入力生画像802に対してガンマ補正を実行して画像の適応性を改善することができ、その後、画像の二値化を実行して画像をカラーから黒と白に変換することができる。いくつかの実施例において、画像二値化処理した後、形態学的な操作を使用して空洞を修復することにより、境界を平滑化することができ、その後、スケルトン抽出アルゴリズムを使用して車線の中心線(例えば、810a、810b)を抽出することができる。いくつかの実施例において、干渉および障害を除去するためにHough変換結果を使用することによって局所的なローカルフィルタリングを実行することができる。異なる実施例のおいて、車線境界線808は、ガードレール、アスファルトと芝生との間の界面、または車線境界の別のインジケータであってもよい。ここでは単一の破線/実線として示されているが、車線標識808、810aおよび810bは、実線または二重線(例えば、二重実線、破線の実線)などであってもよい。画像のダウングレード/ダウンサンプリング操作の目的は、計算コストを削減するために、圧縮された潜在表現に用いられる画像のサイズを小さくすることである。このような実施例において、入力画像から潜在表現を抽出することは、画像内に含まれる基本的な特徴およびパターンを具現化する、取得した画像のコンパクトおよび低次元の表現に関する。
【0047】
図9~
図10に示すように、いくつかの実施例において、スパースな潜在表現918および1018は、スパースな潜在表現212、310であってもよい。スパースな潜在表現918および1018は、それぞれ、圧縮された潜在表現904および1004からさらに簡素化されて、より少ない要素を有する図面を提供することができる。前記より少ない要素は、異なるタスクに基づいて運転操作決定を決定するためのポリシーヘッドを維持する唯一の基本的な要素である。マスク操作の目的は、一部のピクセル値を選択的に保持または廃棄することである。例えば、
図9に示すような車線センタリングのタスクについて、スパースな潜在表現918には、車線境界線908、第1車線中心線910a、第2車線中心線910bおよび他の移動車両916などの車線状況および他の車両に関する要素のみが残される。圧縮された潜在表現画像904から、スパースな潜在表現画像918を生成し、より良好なデータスパース性に用いられるために、車線センタリングタスクに不要な要素、例えば、ツリー輪郭906、交通標識輪郭912、交通標識テキスト914、および他の車両916などの他の無関係な要素を除去する。同様に、交通標識読み取りのタスクについて、この特定のタスクに用いられる圧縮された潜在表現1004と比較して、スパースな潜在表現1018には、交通標識輪郭1012および交通標識テキスト1014などの交通標識に関する要素のみが保持される。
【0048】
いくつかの実施例において、上記の機能/特徴は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実現することができる。ソフトウェアで実現される場合、機能は、1つ以上のコマンドまたはコードとして非一時的なコンピュータ可読記憶媒体または非一時的なプロセッサ可読記憶媒体に記憶することができる。本明細書に開示される方法またはアルゴリズムのブロックは、プロセッサ実行可能ソフトウェアモジュールに実現することができ、このモジュールは、非一時的なコンピュータ可読記憶媒体またはプロセッサ可読記憶媒体上に常駐することができる。非一時的なコンピュータ可読記憶媒体またはプロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセス可能な任意の記憶媒体であってもよい。限定するものではないが一例として、そのような非一時的なコンピュータ可読記憶媒体またはプロセッサ可読記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD-ROMまたはその他の光ディスク記憶装置、磁気ディスク記憶装置またはその他の磁気記憶装置、または、コマンドまたはデータ構造の形式で所望のプログラムコードを記憶するために用いられ、コンピュータによってアクセスできる任意のその他の媒体を含んでもよい。本明細書で使用されるように、ディスクおよび光ディスクは、コンパクトディスク(CD)、レーザディスク、光学ディスク、デジタル汎用ディスク(DVD)、フロッピーディスク、およびブルーレイディスクを含み、ここで、ディスクは、通常、データを磁気的に再生するのに対し、ディスクは、データをレーザ光で光学的に再生する。上記の組み合わせも、非一時的なコンピュータ可読媒体およびプロセッサ可読媒体の範囲内に含まれる。さらに、方法またはアルゴリズムの操作は、コードおよび/またはコマンドの1つまたは任意の組み合わせまたは集合として、非一時的なプロセッサ可読記憶媒体および/またはコンピュータ可読記憶媒体に常駐することができ、これらの媒体はコンピュータプログラム製品に組み込むことができる。
【0049】
図11は、本明細書に開示されたる様々な技術を実現できる自動運転車両1100の例示的なハードウェアおよびソフトウェア環境を示す。例えば、車両1100は、道路1101上を走行するように示されており、かつ、車両1100は、エネルギー源1104によって電力を供給し、ドライブトレイン1108にパワーを供給することができる原動機1106を含む動力系1102と、方向制御1112と動力系制御1114とブレーキ制御1116とを含む車両操作システム1110とを含む。車両1100は、人および/または貨物を輸送し、陸を通過し、海を通過し、空中、地下、海底、および/または空間を走行できる車両を含むブレーキ任意の数の異なるタイプの車両として実現することがでる。そして、上記のコンポーネント1102~1116は、これらのコンポーネントが使用される車両のタイプに基づいて広く変化できることが理解されるべきである。
【0050】
簡単にするために、以下に説明する実施例は、自動車、バン、トラック、バス、オートバイ、全地形対応車(ATV)などの車輪式陸上車両に焦点を当てる。このような実施例において、エネルギー源1104は、例えば、燃料システム(例えば、ガソリン、ディーゼル、水素などを供給する)、電池システム、ソーラーパネル、またはその他の再生可能エネルギー、および/または燃料電池システムを含んでもよい。原動機1106は、1つ以上のモータおよび/または内燃機関などを含んでもよい。ドライブトレイン1108は、車輪および/またはタイヤと、原動機1106の出力を車両の運動に変換するのに適した動力伝達装置および/または他の任意の機械的運転コンポーネントとともに、車両1100を制御可能に停止または減速するように構成された1つ以上のブレーキと、車両1100の軌跡を制御するのに適した方向またはステアリングコンポーネント(例えば、ラックギアおよびピニオンステアリングリンク、これにより、車両1100の1つ以上の車輪が、車両の長手方向軸線に対する車輪の回転平面の角度を変更するように略垂直軸線の周りを旋回できる)とを含んでもよい。いくつかの実施例において、動力系とエネルギー源との組み合わせを(例えば、電気/ガスハイブリッド車両の場合)使用することができる。そして、他の実施例において、原動機1106として複数のモータ(例えば、単独の車輪または軸に専用する)を使用することができる。水素燃料電池の実施形態の場合、原動機1106は1つ以上のモータを含んでもよく、エネルギー源1104は水素燃料によって電力供給される燃料電池システムを含んでもよい。
【0051】
方向制御1112は、車両1100が所望の軌道に従うことを可能にするために、方向またはステアリングコンポーネントからのフィードバックを制御および受信するための1つ以上のアクチュエータまたはセンサを含んでもよい。動力系制御1114は、ドライブトレイン1102の出力(例えば、原動機1106の出力パワーを制御し、ドライブトレイン1108内の動力伝達装置のギアなどを制御する)を制御することで、車両1100の速度および/または方向を制御するように構成されてもよい。ブレーキ制御1116は、車両1100を減速または停止させる1つ以上のブレーキ、例えば、車両の車輪に連結されたディスクブレーキまたはドラムブレーキを制御するように構成されてもよい。
【0052】
その他の車両タイプ(全地形対応車両または無限軌道車両、および施工設備を含むが、これらに限定されない)は、異なる動力系、ドライブトレイン、エネルギー源、方向制御、動力系制御、およびブレーキ制御を使用することができる。また、いくつかの実施例において、いくつかのコンポーネントを組み合わせることができ、例えば、車両の方向制御は主に1つ以上の原動機の出力を変更することによって処理される。従って、本明細書に開示される実施例は、自動運転車両、車輪付き車両、陸上車両における本明細書に記載される技術の特定の適用に限定されない。
【0053】
図示される実施例において、車両1100の完全制御または半自動制御は主車両制御システム1118に実現される。この主車両制御システム1118は、メモリ1124に記憶されるプログラムコードコマンド1126を実行するように構成される1つ以上のプロセッサ1122と、1つ以上のメモリ1124とを含んでもよい。プロセッサ1122は、例えば(複数の)グラフィック処理ユニット(GPU)および/または(複数の)中央処理ユニット(CPU)を含んでもよい。プロセッサ1122はさらに、特定用途向け集積回路(ASIC)、他のチップセット、論理回路および/またはデータ処理装置を含んでもよい。メモリ1124は、例えば、制御システム1118のためのデータおよび/またはコマンドをロードおよび記憶するために用いられる。メモリ1124は、適切な揮発性メモリ(例えば、読み取り専用メモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)、ランダムアクセスメモリ(RAM)、不揮発性メモリ(例えば、フラッシュメモリ、メモリカード、記憶媒体)、および/またはその他の記憶装置の任意の組み合わせを含んでもよい。実施例をソフトウェアで実現する場合、本明細書に記載される技術は、本明細書に記載される機能を実行するモジュール、プロセス、機能、エンティティなどを用いて実現できる。モジュールはメモリに記憶され、プロセッサによって実行されてもよい。メモリは、プロセッサ内部またはプロセッサ外部で実施されてもよく、当該技術分野で知られている様々な手段を介してプロセッサに通信可能に結合されてもよい。
【0054】
センサ1130は、車両1100の操作を制御するために車両の周囲環境から情報を収集するように適した様々なセンサを含んでもよい。例えば、センサ1130は、1つ以上の検出および測距センサ(例えば、RADARセンサ1134、LIDARセンサ1136または両方)、衛星航法(SATNAV)センサ1132、例えば、様々な衛星ナビゲーションシステム(例えば、GPS(全地球測位システム)、GLONASS(全地球航法衛星システム)、北斗航法衛星システム(BDS)、ガリレオ、コンパス)のうちのいずれかと互換性があるもの、などを含んでもよい。無線検出および測距(RADAR)1134、光検知および測距(LIDAR)センサ1136、ならびにデジタルカメラ1138(静止画および/またはビデオ画像を捕捉可能な様々なタイプの画像捕捉装置を含んでもよい)は、車両の隣接領域内の静止オブジェクト及び動きオブジェクトを感知するために用いられる。カメラ1138は、モノクロカメラまたはステレオカメラであってもよく、静止画像および/またはビデオ画像を記録してもよい。SATNAVセンサ1132は、衛星信号を用いて地球上の車両の位置を決定するために用いられる。センサ1130は、選択可能的に慣性測定ユニット(IMU)1140を含んでもよい。IMU 1140は、車両1100の3方向の直線運動および回転運動を検出できる複数のジャイロスコープおよび加速度計を含んでもよい。1つ以上の他のタイプのセンサ(例えば、車輪回転センサ/エンコーダ1142)は、車両1100の1つ以上の車輪の回転を監視するために用いられる。
【0055】
様々な実施例において、取り外し可能なハードウェアポッド(pod)は車両に知られていないため、自動車、バス、バン、トラック、モペット、トラクタートレーラー、運動用車両などを含む種々の非自動運転車両に取り付けることができる。自動運転車両は通常、完全なセンサースイートを含むが、多くの実施例において、取り外し可能なハードウェアポッドは、専用のセンサースイートを含んでもよい。この専用のセンサースイートは、通常、全自動運転車センサースイートよりも少ないセンサを有し、かつ、IMU、3D測位センサ、1つ以上のカメラ、LIDARユニットなどを含んでもよい。追加的または代替的に、ハードウェアポッドは、車両のCANバスと統合することによって、車両速度データ、ブレーキデータ、ステアリング制御データなどを含む様々な車両データを収集するなど、非自動運転車両自体からのデータを収集することができる。いくつかの実施例において、取り外し可能なハードウェアポッドは、取り外し可能なポッドセンサスイートによって収集されたデータと、CANバスから収集された車両データとを集約し、収集されたデータを、更なる処理(例えば、データをクラウドにアップロードする)のために計算システムにアップロードする計算設備を含んでもよい。多くの実施例において、取り外し可能なポッド内の計算設備は、更なる処理のためにデータをアップロードする前に、データの各インスタンスにタイムスタンプを印加することができる。加えて、または代替的に、取り外し可能なハードウェアポッド内の1つ以上のセンサは、データが収集されるときにタイムスタンプを印加することができる(例えば、レーザレーダユニットは、自体のタイムスタンプを提供できる)。同様に、自動運転車内の計算設備は、自動運転車両のセンサースイートによって収集されたデータにタイムスタンプを印加し、追加的な処理のためにタイムスタンプ付きの自動運転車両データをコンピュータシステムにアップロードすることができる。
【0056】
センサ1130の出力は、例えば、位置決めサブシステム、知覚サブシステム、計画サブシステム、および制御サブシステムを含む、一組の主制御サブシステム1120に提供されてもよい。位置決めサブシステムは、主に、車両1100がその周囲の環境内で、通常はある参照フレーム内での位置と方向(「姿勢」または「姿勢推定」と呼ばれることもある)を正確に決定することを担当する。いくつかの実施例において、姿勢は、位置決めデータとしてメモリ1124内に記憶される。いくつかの実施例において、表面モデルは高解像度マップから生成され、メモリ1124内に表面モデルデータとして記憶される。いくつかの実施例において、検出および測距センサは、それらのセンサデータをメモリ1124に記憶する(例えば、レーダデータ点群はレーダデータとして記憶される)。いくつかの実施例において、校正データはメモリ1124に記憶される。知覚サブシステムは、主に車両1100の周囲の環境内のオブジェクトを検出、追跡および/または識別することを担当する。いくつかの実施例に従って上述したような機械学習モデルは、車両の軌跡を計画するために用いられる。制御サブシステム1120は、主に、車両1100の計画軌道を実現するために、車両制御システム1118内の様々な制御を制御するための適切な制御信号を生成することを担当する。同様に、機械学習モデルは、自動運転車両1100を制御して計画軌道を実現するように、1つ以上の信号を生成するために用いられる。
【0057】
図11に示す車両制御システム1118のためのコンポーネントの集合は、単なる一例にすぎないことが理解されるべきである。いくつかの実施例において、個別のセンサが省略されてもよい。さらにまたは代替的に、いくつかの実施例において、
図11に示す同じタイプの複数のセンサは、車両の周囲の異なる領域を冗長化および/またはカバーするために用いられる。また、上記のタイプに加えて、車輪式陸上車両の操作および環境に関連する実際のセンサデータを提供するための他のタイプの追加のセンサがあってもよい。同様に、他の実施例において、異なるタイプの制御サブシステムおよび/または制御サブシステムの組み合わせを使用することができる。さらに、主制御サブシステム1120は、プロセッサ1122およびメモリ1124から分離するように示されているが、いくつかの実施例において、主制御サブシステム1120の機能の一部またはすべては、1つ以上のメモリ1124に常駐し、1つ以上のプロセッサ1122によって実行されるプログラムコードコマンド1126を用いて実現でき、場合によっては、主制御サブシステム1120は、同じプロセッサおよび/またはメモリを用いて実現できることが理解される。サブシステムは、少なくとも部分的に、様々な専用回路論理、様々なプロセッサ、様々なフィールドプログラマブルゲートアレイ(FPGA)、様々な特定用途向け集積回路(ASIC)、様々なリアルタイムコントローラなどを少なくとも部分的に用いて実現することができる。上述したように、複数のサブシステムは、回路、プロセッサ、センサ、および/またはその他のコンポーネントを利用することができる。また、車両制御システム1118内の様々なコンポーネントは、様々な方法でネットワーク化することができる。
【0058】
例えば、車両1100は、1つ以上のネットワークインターフェースを含んでもよく、例えば、ネットワークインターフェース1154は、1つ以上のネットワークインタフェース1150(例えば、LAN、WAN、無線ネットワーク、および/またはインターネットなど)と通信するように適合され、クラウドサービスなどの中央サービスを含む、その他の車両、コンピュータおよび/または電子機器との情報の通信を可能にし、車両1100は、自動制御のためにこのサービスから環境データおよびその他のデータを受信する。
【0059】
また、追加的な記憶のために、車両1100は、フロッピーディスクまたは他のリムーバブルディスクドライブ、ハードディスクドライブ、直接アクセス記憶装置(DASD)、光学ドライブ(例えば、CDドライブ、DVDドライブなど)、ソリッドステートストレージドライブ(SSD)、ネットワーク接続型ストレージ、記憶領域ネットワーク、および/またはテープドライブなどの1つ以上の大容量記憶装置を含んでもよい。また、車両1100は、ユーザまたはオペレータから複数の入力を受信し、ユーザまたはオペレータのため出力を生成できるように、ユーザインターフェース1152を含んでもよい。このユーザインターフェース1152は、例えば、1つ以上のディスプレイ、タッチスクリーン、音声および/またはジェスチャーインターフェース、ボタンおよび他の触覚制御などである。そうでなければ、ユーザ入力は、別のコンピュータまたは電子デバイスを介して、例えばモバイルデバイス上のアプリケーションまたはWebインターフェースを介して、例えばリモートオペレータから受信される。
【0060】
本明細書では、対象物の検出と検出の信頼度に関するシステムおよび方法を開示する。開示される方法は、自動運転に適していてもよいが、ロボット技術、ビデオ解析、天気予報、医学イメージングなどの他の用途にも使用できる。本開示は、例示的な自動運転車両1100について説明することができる。本開示は主に自動運転車両を使用する例を提供するが、ロボット、カメラシステム、天気予報装置、医学イメージング装置などの他のタイプの装置を使用して、本明細書に記載される様々な方法を実現することができる。また、これらの方法は、自動運転車を制御するために用いられ、または、その他の目的、例えば、ビデオ監視、ビデオまたは画像の編集、ビデオまたは画像のリサーチまたは検索、オブジェクト追跡、天気予報(例えば、レーダデータの使用)、および/または医学イメージング(例えば、超音波または磁気共鳴画像法(MRI)データの使用)などの他の目的に用いられるが、これらに限定されない。
【0061】
当業者は、本開示の実施例で説明および開示されるユニット、アルゴリズム、およびステップのそれぞれはいずれも、電子ハードウェアまたはコンピュータ用ソフトウェアと電子ハードウェアの組み合わせを用いて実現されることを理解できる。機能がハードウェアで実行されるかソフトウェアで実行されるかは、アプリケーションの条件と技術案の設計要求に依存する。当業者は、異なる方法を用いて各特定のアプリケーションのための機能を実現することができる。そして、このような実現は本開示の範囲を超えてはならない。当業者は、上記のシステム、装置、およびユニットの作動プロセスが基本的に同じであるため、上記の実施例におけるシステム、装置、およびユニットの作動プロセスを指すことができると理解できる。説明を容易にし、簡素化するために、これらの作動プロセスについては詳細に説明しない。
【0062】
ソフトウェア機能ユニットは、製品として具現されて使用及び販売される場合、コンピュータ可読記憶媒体に格納されてもよい。この理解に基づいて、本開示で提案する技術案は、実質的にまたは部分的にソフトウェア製品の形態で実装されてもよい。あるいは、従来技術に有用な技術案の一部は、ソフトウェア製品の形態で実現されてもよい。コンピュータ内のソフトウェア製品は、本開示の実施例で開示されるステップのすべてまたは一部を実行するための、パーソナルコンピュータ、サーバ、またはネットワークデバイスなどのコンピューティングデバイスに対する複数のコマンドを含む記憶媒体に記憶される。記憶媒体は、USBディスク、モバイルハードディスク、ROM、RAM、フロッピーディスク、またはプログラムコードを記憶できる他の種類の媒体を含む。本開示は、最も実用的で好ましい実施形態であると考えられるものに関連して説明されてきたが、本開示は、開示された実施形態に限定されるものではなく、添付の特許請求の範囲の最も広い解釈の範囲から逸脱することなくなされた様々な構成を包含することが意図されることが理解されるべきである。
【0063】
しかしながら、他の変更、バリエーション、および置き換えも可能である。したがって、明細書および図は、限定的ではなく、説明的なものと見なされる。請求項では、括弧内の図記号は、請求項を限定するものとは解釈されない。言葉「包括する」は、請求項に記載されている部品や手順以外の他の部品や手順の存在を排除しないことを意味する。また、本文で使用される「一」や「1つ」という用語は、1つまたはそれ以上のものを定義する。さらに、請求項で使用される導入フレーズ「少なくとも1つの」や「1つまたは複数の」は、不定冠詞「一つの」や「1つの」によって導入される別の請求項目要素を、その導入された請求項目要素が1つだけを含む発明に限定する意味ではないと解釈されるべきではない。これは、同じ請求項が導入フレーズ「1つまたは複数の」や「少なくとも1つの」と不定冠詞「一つの」や「1つの」を含めている場合でも当てはまる。これは定冠詞の使用にも適用される。別段の説明がない限り、「第一」や「第二」などの用語は、これらの用語で記述される要素を任意に区別するために使用され、これらの要素の時間的またはその他の優先順位を示すために使用されることを意味しない。異なる請求項目でいくつかの措施が述べられているという事実は、これらの措施の組み合わせが有利に使用できないことを意味しないことを示す。ここでは、本発明のいくつかの特徴が説明および記述されているが、当業者は、多くの変更、置き換え、変更、および等価物を考えることができる。したがって、付随する請求項は、本発明の真の精神に属するすべてのこのような変更および変化をカバーすることを理解すべきである。
【0064】
明瞭にするために、個々の実施例の文脈で説明された本開示の実施例の様々な特徴は、単一の実施例において組み合わせて提供されてもよいことが理解されるべきである。逆に、簡潔にするために単一の実施例の文脈で説明された本開示の実施例の様々な特徴は、単独で、または任意の適切な部分的組合せで提供されてもよい。当業者は、本発明の実施例が、上記で具体的に示され、記載されたものによって限定されないことを理解されるべきである。むしろ、本開示の実施例の範囲は、添付の特許請求の範囲及びその均等物によって規定される。
【0065】
開示された実施例の前述の説明は、他者が開示された主題を製造または使用することを可能にするために提供される。これらの実施例に対する様々な修正は、容易に明らかであり、本明細書で定義された一般原理は、前述の趣旨または範囲から逸脱することなく、他の実施例に適用され得る。したがって、前述の説明は、本明細書に示された実施例に限定されることを意図するものではなく、本明細書に開示された原理および新規の特徴に合致する最も広い範囲を与えられるべきである。したがって、特許請求の範囲は、本明細書に示される態様に限定されるものではなく、請求項の文言と一致する全範囲を与えられるべきであり、単数形の要素への言及は、そのように明記されていない限り、「唯一無二の」を意味するものではなく、「1つまたは複数の」を意味するものである。特に明記しない限り、「いくつか」という用語は、1つまたは複数を指す。前述の説明で説明した様々な態様の要素の構造的および機能的均等物(それらは既知であるか、または後に知られる)のすべては、参照により本明細書に明示的に組み込まれ、特許請求の範囲に包含されることが意図される。さらに、そのような開示が特許請求の範囲に明示的に記載されているかどうかにかかわらず、本明細書で開示される内容は、公に特化することを意図していない。要素が「……用装置」という句を使用して明示的に記載されていない限り、請求項の要素は、装置が機能的であると解釈されるべきではない。開示されたプロセスにおけるブロックの特定の順序または階層は、例示的な方法の例であることを理解されたい。設計の選好に基づいて、プロセスにおけるブロックの特定の順序または階層は、前述の範囲内に留まりながら、並べ替えられ得ることが理解される。添付の方法クレームは、個々のブロックの要素をサンプル順に提示し、提示された特定の順序または階層に限定することを意味しない。
【0066】
図示及び説明される様々な例は、特許請求の範囲の様々な特徴を例示するために、単なる例として提供される。しかしながら、任意の所与の例に関して示され、説明された特徴は、必ずしも関連する例に限定される必要はなく、示され、説明された他の例と共に、又は組み合わされてもよい。さらに、特許請求の範囲は、いかなる例によっても定義されることを意図していない。上記の方法説明及びプロセスフロー図は、例示的な例としてのみ提供されており、様々な例のブロックが提示された順序で実行されなければならないことを要求又は暗示することは意図されていない。理解されるように、上述の例におけるブロックの順序は、任意の順序で実行されてもよい。「その後」、「次いで」、「次の」などの用語は、ブロックの順序を限定することを意図するものではなく、これらの語は、方法の説明を通して読者を導くために単に使用される。さらに、例えば冠詞「a」、「an」または「the」を使用する単数形の請求項要素へのいかなる言及も、要素を単数に限定するものと解釈されるべきではない。本明細書で開示される例に関して説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムブロックは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびブロックが、概してそれらの機能に関して上記で説明された。そのような機能がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定の適用例およびシステム全体に課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。本明細書に開示の例に関連して説明された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するためのハードウェアは、汎用プロセッサ、DSP、ASIC、FPGAまたは他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、または本明細書に説明された機能を実行するように設計されたそれらの任意の組み合わせを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。代替的に、いくつかのブロックまたは方法は、所与の機能に特有の回路によって実行され得る。
【実施例0067】
自動運転システムの計算コストを削減するための方法は、車両操作のためのタスクに関連するデータを取得するステップ(a)と、取得したデータを使用することで深層学習モデルをトレーニングし、前記深層学習モデルが、前記タスクに対するエンコーダーとポリシーヘッドとを含むステップ(b)と、ステップ(a)で取得したデータを前記エンコーダーに転送し、前記データの圧縮された潜在表現を生成することで、前記データの複雑度を削減するステップ(c)と、前記ポリシーヘッドが前記データの圧縮された潜在表現を使用することによって運転操作を決定するステップ(d)と、含む。