(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-26
(45)【発行日】2023-11-06
(54)【発明の名称】自動運転のための3次元特徴の予測のためのシステム、コンピュータプログラム製品および方法
(51)【国際特許分類】
B60W 40/02 20060101AFI20231027BHJP
B60W 60/00 20200101ALI20231027BHJP
B60W 30/12 20200101ALI20231027BHJP
G08G 1/16 20060101ALI20231027BHJP
G06T 7/00 20170101ALI20231027BHJP
G06T 7/20 20170101ALI20231027BHJP
【FI】
B60W40/02
B60W60/00
B60W30/12
G08G1/16 C
G06T7/00 350C
G06T7/20 100
G06T7/00 650Z
(21)【出願番号】P 2021544315
(86)(22)【出願日】2020-01-28
(86)【国際出願番号】 US2020015383
(87)【国際公開番号】W WO2020159968
(87)【国際公開日】2020-08-06
【審査請求日】2023-01-19
(32)【優先日】2019-02-01
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】510192916
【氏名又は名称】テスラ,インコーポレイテッド
(74)【代理人】
【識別番号】110000659
【氏名又は名称】弁理士法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】エルスワミー,アショク クマー
(72)【発明者】
【氏名】バウホ,マシュー
(72)【発明者】
【氏名】ペイン,クリストファー
(72)【発明者】
【氏名】カーパシー,アンドレイ
(72)【発明者】
【氏名】シュロフ,ダヴァル
(72)【発明者】
【氏名】ラマナンダン,アーヴィンド
(72)【発明者】
【氏名】ヘークウィル,ジェームズ ロバート ハワード
【審査官】平井 功
(56)【参考文献】
【文献】特開2019-8519(JP,A)
【文献】国際公開第2017/194890(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 10/00-10/30
B60W 30/00-60/00
G08G 1/00-99/00
B60T 7/00
(57)【特許請求の範囲】
【請求項1】
プロセッサであって、
車両のカメラによって捕捉された
単一の画像
を受信し、
機械学習モデルへの前記
単一の画像
の入力に基づいて機械学習特徴の3次元軌跡を決定し、
前記機械学習特徴は、車両レーンラインの3次元軌跡であり、前記単一の画像において、前記車両レーンラインの一部が閉塞されており、
前記機械
学習モデルは、訓練データに基づいて訓練されたものであり、前記訓練データは、
複数の時系列要素に関連するグラウンドトゥルースであって、前記グラウンドトゥルースは、前記時系列要素に基づいて生成された特定の機械学習特徴に関連する特定の3次元軌跡を備え、前記時系列要素は、期間内の各時刻で捕捉された各画像を備え、前記グラウンドトゥルースは、個別の時系列要素の特定の部分に基づいて生成される、グラウンドトゥルースと、
前記複数の時系列要素の選択された時系列要素と、を備え、
前記機械
学習モデルは、前記選択された時系列要素の入力に基づいて、前記複数の時系列要素に関連する前記グラウンドトゥルースを出力するように訓練され、
前記車両を自動的に制御する際、前記機械学習特徴の前記3次元軌跡を提供するように構成された、プロセッサと、
前記プロセッサに結合され、前記プロセッサに命令を提供するように構成されたメモリと、を備える、システム。
【請求項2】
前記プロセッサは、前記車両によって占有された車両レーンを識別するように前記車両レーンラインを使用するようにさらに構成された、請求項
1に記載のシステム。
【請求項3】
車両レーンが運転可能空間を識別することに使用される、請求項
1または2に記載のシステム。
【請求項4】
識別された前記運転可能空間が、前記車両レーン内に前記車両を維持することに使用される、請求項
3に記載のシステム。
【請求項5】
前記車両の前記カメラは、前向きカメラ、横向きカメラ、または、後ろ向きカメラの少なくとも1つを含む、請求項1から
4のいずれか一項に記載のシステム。
【請求項6】
予測された前記3次元軌跡は、複数の識別された潜在的な軌跡のうちの1つである、請求項1から
5のいずれか一項に記載のシステム。
【請求項7】
予測された前記3次元軌跡は、前記複数の識別された潜在的な軌跡の中で最も高い出現確率の値を有する、請求項
6に記載のシステム。
【請求項8】
前記訓練データは、前記時系列要素のグループに関連付けられたオドメトリデータの関連するセットをさらに含む、請求項1に記載のシステム。
【請求項9】
前記訓練
データの少なくとも一部は、前記グラウンドトゥルースとして自動的にラベル付けされる、請求項
8に記載のシステム。
【請求項10】
前記車両の制御は、前記車両の速度および操舵を調整することを含む、請求項1から
9のいずれか一項に記載のシステム。
【請求項11】
前記3次元軌跡は、スプラインによって表される、請求項1から
10のいずれか一項に記載のシステム。
【請求項12】
前記3次元軌跡は、1以上の区分多項式によって表される、請求項1から
11のいずれか一項に記載のシステム。
【請求項13】
前記機械学習特徴は、第2の車両の予測経路に関連付けられる、請求項1から
12のいずれか一項に記載のシステム。
【請求項14】
前記第2の車両の前記予測経路は、自動的に制御されている前記車両によって占有されたレーンに前記第2の車両が進入する可能性が高いかどうかを決定することに使用される、請求項
13に記載のシステム。
【請求項15】
前記車両の制御は、前記第2の車両との衝突を避けるように速度または操舵を調整することを含む、請求項
14に記載のシステム。
【請求項16】
コンピュータプログラム製品であって、前記コンピュータプログラム製品は、非一時的なコンピュータ可読記憶媒体に具現化され、かつ、
車両のカメラによって捕捉された
単一の画像
を受信し、
機械学習モデルへの前記
単一の画像
の入力に基づいて車両レーンラインの3次元軌跡を決定し、
前記単一の画像において、前記車両レーンラインの一部が閉塞されており、
前記機械
学習モデルは、訓練データに基づいて訓練されたものであり、前記訓練データは、
複数の時系列要素に関連するグラウンドトゥルースであって、前記グラウンドトゥルースは、前記画像内に表された特定の
車両レーンラインに関連する特定の3次元軌跡を備える、グラウンドトゥルースと、
前記複数の時系列要素の選択された時系列要素とを備え、
前記機械
学習モデルは、前記選択された時系列要素の入力に基づいて、前記複数の時系列要素に関連する前記グラウンドトゥルースを出力するように訓練され、
前記車両を自動的に制御する際、前記車両レーン
ラインの前記3次元軌跡を提供する、ためのコンピュータ命令を含む、コンピュータプログラム製品。
【請求項17】
プロセッサによって実行される方法であって、
車両のカメラによって捕捉された
単一の画像
を受信するステップと、
機械学習モデルへの前記
単一の画像
の入力に基づいて車両レーンラインの3次元軌跡を決定するステップであって、
前記単一の画像において、前記車両レーンラインの一部が閉塞されており、
前記機械
学習モデルは、訓練データに基づいて訓練されたものであり、前記訓練データは、
各画像を備える複数の時系列要素に関連するグラウンドトゥルースであって、前記グラウンドトゥルースは、前記画像内に表された特定の
車両レーンラインに関連する特定の3次元軌跡を備える、グラウンドトゥルースと、
前記複数の時系列要素の選択された時系列要素と、を備え、
前記機械
学習モデルは、前記選択された時系列要素の入力に基づいて、前記複数の時系列要素に関連する前記グラウンドトゥルースを出力するように訓練された、ステップと、
前記車両を自動的に制御する際、前記車両レーン
ラインの前記3次元軌跡を提供するステップと、を含む方法。
【発明の詳細な説明】
【背景技術】
【0001】
[関連出願の相互参照]
本出願は、2019年2月1日に出願された、「PREDICTING THREE-DIMENSIONAL FEATURES FOR AUTONOMOUS DRIVING(自動運転のための3次元特徴の予測)」と題する米国特許出願第16/265720号の継続出願であり、その優先権を主張し、その開示内容全体が参照により本明細書に組み込まれる。
【発明の概要】
【発明が解決しようとする課題】
【0002】
自動運転などの用途に使用される深層学習システムは、機械学習モデルを訓練することによって開発される。典型的には、深層学習システムの性能は、モデルを訓練するために使用される訓練セットの品質によって少なくとも部分的に制限される。多くの場合、訓練データの収集、キュレーション、およびアノテーションには、多大なリソースが投資される。従来、訓練データセットをキュレーションするための努力の多くは、潜在的な訓練データを検討し、データに関連する特徴を適切にラベル付けすることによって手動で行われる。正確なラベルを有する訓練セットを作成するのに必要な労力は、顕著であり得、多くの場合面倒である。さらに、機械学習モデルに改善が必要なデータを収集して正確にラベル付けすることは困難であることが多い。したがって、正確なラベル付き特徴を有する訓練データを生成するためのプロセスを改善する必要がある。
【図面の簡単な説明】
【0003】
本発明の様々な実施形態は、以下の詳細な説明および添付の図面に開示される。
【0004】
【
図1】自動運転のための深層学習システムの一実施形態を示すブロック図である。
【0005】
【
図2】自動運転のための機械学習モデルを訓練および適用するプロセスの一実施形態を示す流れ図である。
【0006】
【
図3】時系列の要素を使用して訓練データを作成するプロセスの一実施形態を示す流れ図である。
【0007】
【
図4】自動運転のための機械学習モデルを訓練および適用するプロセスの一実施形態を示す流れ図である。
【0008】
【
図5】車両センサから取り込まれた画像の一例を示す図である。
【0009】
【
図6】レーンラインの予測された3次元軌跡を有する車両センサから捕捉された画像の一例を示す図である。
【発明を実施するための形態】
【0010】
本発明は、プロセス、装置、システム、物質の組成物、コンピュータ可読記憶媒体上に具現化されたコンピュータプログラム製品、および/またはプロセッサ、例えばプロセッサに結合されたメモリに記憶された命令および/またはメモリによって提供された命令を実行するように構成されたプロセッサ、を含むさまざまな方法で実装され得る。本明細書では、これらの実装形態、または本発明が取り得る任意の他の形態を、技術と呼ぶことができる。一般に、開示されたプロセスのステップの順序は、本発明の範囲内で変更することができる。特に明記しない限り、タスクを実行するように構成されるものとして説明されるプロセッサまたはメモリなどの構成要素は、所与の時間にタスクを実行するように一時的に構成される一般的な構成要素、またはタスクを実行するように製造される特定の構成要素として実装されてもよい。本明細書で使用される場合、「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された1つまたは複数のデバイス、回路、および/または処理コアを指す。
【0011】
本発明の1つまたは複数の実施形態の詳細な説明を、本発明の原理を示す添付の図面と共に以下に提供する。本発明は、そのような実施形態に関連して説明されるが、本発明はいかなる実施形態にも限定されない。本発明の範囲は特許請求の範囲によってのみ限定され、本発明は多数の代替形態、変形形態および均等物を包含する。本発明の完全な理解を提供するために、多数の具体的な詳細が以下の説明に記載される。これらの詳細は、例示の目的で提供されており、本発明は、これらの具体的な詳細の一部または全部なしで特許請求の範囲に従って実施することができる。明確にするために、本発明に関連する技術分野で知られている技術資料は、本発明が不必要に不明瞭にならないように詳細には説明されていない。
【0012】
高精度な機械学習結果を生成するための機械学習訓練技術が開示される。車両の環境および車両動作パラメータを捕捉するために車両上のセンサによって捕捉されたデータを使用して、訓練データセットが作成される。例えば、車両に取り付けられたセンサは、車両が走行している道路および周囲環境の画像データなどのデータを捕捉する。センサデータは、車両レーンライン、車両レーン、他の車両トラフィック、障害物、交通制御標識などを捕捉することができる。オドメトリ(odometry)および他の同様のセンサは、車両の速度、操舵、向き、方向の変化、位置の変化、高度の変化、速度の変化などの車両動作パラメータを捕捉する。捕捉されたデータセットは、訓練データセットを作成するために訓練サーバに送信される。訓練データセットは、高精度の機械学習結果を生成する機械学習モデルを訓練するために使用される。いくつかの実施形態では、時系列の捕捉データが、訓練データを生成するために使用される。例えば、グラウンドトゥルース(ground truth)は、時系列要素のグループに基づいて決定され、グループからの単一の要素に関連付けられる。一例として、30秒などの期間の一連の画像を使用して、車両が走行する期間にわたる車両レーンラインの実際の経路を決定する。車両レーンラインは、その期間にわたって車両レーンの最も正確な画像を使用することによって決定される。レーンラインの異なる部分(または位置)は、時系列の異なる画像データから識別することができる。車両がレーンラインに沿ってレーンを走行するにつれて、レーンラインの異なる部分についてより正確なデータが捕捉される。いくつかの例では、レーンの閉塞部分は、車両が例えば隠れたカーブに沿って、または丘の頂上を越えて走行するときに現れる。時系列の各画像からのレーンラインの最も正確な部分は、画像データのグループ全体にわたってレーンラインを識別するために使用され得る。遠方のレーンラインの画像データは、通常、車両付近のレーンラインの画像データよりも詳細度が低い。車両がレーンに沿って走行するときの時系列の画像データを捕捉することにより、対応するレーンラインの全ての部分の正確な画像データおよび対応するオドメトリデータが収集される。
【0013】
いくつかの実施形態では、レーンラインなどの特徴の3次元表現が、グラウンドトゥルースに対応する時系列要素のグループから作成される。次いで、このグラウンドトゥルースは、捕捉された画像データのグループの単一の画像フレームなどの時系列要素のサブセットに関連付けられる。例えば、画像グループの第1の画像は、3次元空間で表現されるレーンラインのグラウンドトゥルースに関連付けられる。グラウンドトゥルースは画像のグループに基づいて決定されるが、選択された第1のフレームおよびグラウンドトゥルースは訓練データを作成するために使用される。一例として、単一の画像のみを使用して車両レーンの3次元表現を予測するための訓練データが作成される。いくつかの実施形態では、時系列要素のグループの任意の要素または要素グループが、グラウンドトゥルースに関連付けられ、訓練データを作成するために使用される。例えば、グラウンドトゥルースは、訓練データを作成するための動画シーケンス全体に適用され得る。別の例として、時系列要素のグループの中間要素または最後の要素が、グラウンドトゥルースに関連付けられ、訓練データを作成するために使用される。
【0014】
様々な実施形態では、選択された画像およびグラウンドトゥルースは、レーンライン、隣接車両を含む車両の経路予測、物体の奥行き距離、交通標識などの様々な特徴に適用することができる。例えば、隣接レーン内の車両の一連の画像は、その車両の経路を予測するために使用される。隣接車両によって撮影された時系列の画像および実際の経路を使用して、撮影されたグループおよび実際の経路の単一の画像を、車両の経路を予測するための訓練データとして使用することができる。この情報を使用して、隣接車両が自律型車両の経路に割り込むかどうかを予測することもできる。例えば、経路予測は、隣接車両が自律型車両の前で合流するかどうかを予測することができる。自律型車両は、衝突の可能性を最小限に抑えるように制御することができる。例えば、自律型車両は、衝突を防ぐために減速し、衝突を防ぐために車両の速度および/または操舵を調整し、隣接車両および/または自律型車両の乗員への警告を開始し、および/またはレーンを変更することなどができる。様々な実施形態では、車両経路予測を含む経路予測を正確に推論する能力は、自律型車両の安全性を大幅に改善する。
【0015】
いくつかの実施形態では、訓練された(訓練済の)機械学習モデルは、レーンラインを含む自動運転のための1つまたは複数の特徴の3次元表現を予測するために使用される。例えば、レーンラインの画像をセグメント化することによって画像データから2次元のレーンラインを識別する代わりに、時系列の要素および時系列に対応するオドメトリデータを使用して3次元表現が生成される。3次元表現は、レーンライン検出ならびに対応するレーンおよび識別された運転可能経路の検出の精度を大幅に改善する高度の変化を含む。いくつかの実施形態では、レーンラインは、1つまたは複数のスプラインまたは別のパラメータ化された表現形式を使用して表現される。レーンラインを表現するために区分多項式を使用すると、3次元物体を評価するために必要な計算リソースが大幅に削減される。この計算リソースの削減は、表現の精度を著しく犠牲にすることのない、処理速度および効率の改善に対応する。様々な実施形態では、特にレーンラインの曲線を含むレーンラインは、区分多項式、3次元点集合、または別の適切な表現を使用して表現することができる。例えば、区分多項式は、センサデータを使用して経時的に捕捉された要素のグループから識別されたレーンラインの高精度のセクションを使用して実際のレーンラインを補間する。
【0016】
いくつかの実施形態では、センサデータが受信される。センサデータは、画像(動画および/または静止画像など)、レーダ、オーディオ、LiDAR、慣性、オドメトリ、位置、および/または他の形態のセンサデータを含むことができる。センサデータは、時系列要素のグループを含む。例えば、時系列要素のグループは、ある期間にわたって車両のカメラセンサから捕捉された画像のグループを含むことができる。いくつかの実施形態では、訓練データセットは、時系列要素のグループ内の少なくとも選択された時系列要素について、時系列要素のグループ内の複数の時系列要素に基づいて対応するグラウンドトゥルースを決定することなどによって決定される。例えば、グラウンドトゥルースは、グループ内の前および/または後の時系列要素を含む時系列要素のグループの各要素の最も関連する部分を調べることによって決定される。いくつかのシナリオでは、前および/または後の時系列要素のみが、曲線の周りで最初に消失し、時系列の後の要素でのみ現れる車両レーンラインなど、前の時系列要素には存在しないデータを含む。決定されたグラウンドトゥルースは、車両レーンラインの3次元表現、車両の予測経路、または別の同様の予測であり得る。時系列要素のグループの要素が選択され、グラウンドトゥルースと関連付けられる。選択された要素およびグラウンドトゥルースは訓練データセットの一部である。いくつかの実施形態では、プロセッサが、訓練データセットを使用して機械学習モデルを訓練するために使用される。例えば、訓練データセットは、車両の自動運転または運転者支援動作に使用される特徴を推論するための機械学習モデルを訓練するために使用される。訓練された機械学習モデルを使用して、ニューラルネットワークが、車両レーン、運転可能空間、物体(例えば、歩行者、静止車両、移動車両など)、天候(例えば、雨、雹、霧など)、交通制御物体(例えば、信号機、交通標識、道路標識など)、交通パターンなどの自動運転に関連する特徴を推論することができる。
【0017】
いくつかの実施形態では、システムは、プロセッサと、プロセッサに結合されたメモリとを備える。プロセッサは、車両のカメラによって捕捉された画像に基づく画像データを受信するように構成される。例えば、車両に取り付けられたカメラセンサは、車両の環境の画像を捕捉する。カメラは、前向きカメラ、ピラーカメラ、または別の適切に配置されたカメラであってもよい。カメラから捕捉された画像データは、車両上のGPUまたはAIプロセッサなどのプロセッサを使用して処理される。いくつかの実施形態では、画像データは、車両レーンの3次元軌跡を予測するように訓練された訓練済機械学習モデルへの入力の基礎として使用される。例えば、画像データは、車両レーンを予測するように訓練されたニューラルネットワークへの入力として使用される。機械学習モデルは、検出されたレーンの3次元軌跡を推論する。画像を2次元画像のレーンおよび非レーンセグメントにセグメント化する代わりに、3次元表現が推論される。いくつかの実施形態では、3次元表現は、スプライン、パラメトリック曲線、または3次元で曲線を記述することができる別の表現である。いくつかの実施形態では、車両レーンの3次元軌跡は、車両を自動的に制御する際に提供される。例えば、3次元軌跡は、レーンラインおよび対応する運転可能空間を決定するために使用される。
【0018】
図1は、自動運転のための深層学習システムの一実施形態を示すブロック図である。深層学習システムは、車両の自動運転および/または運転者支援動作のために、ならびに自動運転のための機械学習モデルを訓練するためのデータを収集および処理するために、一緒に使用することができる様々な構成要素を含む。様々な実施形態では、深層学習システムは車両に設置される。車両からのデータは、車両または他の同様の車両の自動運転機能を訓練および改善するために使用することができる。
【0019】
図示の例では、深層学習システム100は、センサ101、画像プリプロセッサ103、深層学習ネットワーク105、人工知能(AI)プロセッサ107、車両制御モジュール109、およびネットワークインターフェース111を含む深層学習ネットワークである。様々な実施形態において、異なる構成要素は通信可能に接続される。例えば、センサ101からのセンサデータは、画像プリプロセッサ103に供給される。画像プリプロセッサ103の処理されたセンサデータは、AIプロセッサ107上で動作する深層学習ネットワーク105に供給される。AIプロセッサ107上で動作する深層学習ネットワーク105の出力は、車両制御モジュール109に供給される。様々な実施形態では、車両制御モジュール109は、車両の速度、制動、および/または操舵などの車両の動作に接続され、車両の動作を制御する。様々な実施形態では、センサデータおよび/または機械学習結果は、ネットワークインターフェース111を介してリモートサーバに送信することができる。例えば、車両の性能、快適性、および/または安全性を改善するための訓練データを収集するために、センサデータは、ネットワークインターフェース111を介してリモートサーバに送信することができる。様々な実施形態では、ネットワークインターフェース111は、他の理由の中でもとりわけ、リモートサーバと通信し、電話をかけ、テキストメッセージを送信および/または受信し、車両の動作に基づいてセンサデータを送信するために使用される。いくつかの実施形態では、深層学習システム100は、必要に応じて追加のまたはより少ない構成要素を含むことができる。例えば、いくつかの実施形態では、画像プリプロセッサ103は任意選択の構成要素である。別の例として、いくつかの実施形態では、出力が車両制御モジュール109に提供される前に、深層学習ネットワーク105の出力に対して後処理を実行するために後処理構成要素(図示せず)が使用される。
【0020】
いくつかの実施形態では、センサ101は、1つまたは複数のセンサを含む。様々な実施形態では、センサ101は、車両の異なる位置で車両に取り付けられ、および/または1つまたは複数の異なる方向に向けられてもよい。例えば、センサ101は、車両の前方、側方、後方、および/または屋根などに、前向き、後ろ向き、横向きなどの方向で取り付けられてもよい。いくつかの実施形態では、センサ101は、高ダイナミックレンジカメラなどの画像センサであってもよい。いくつかの実施形態では、センサ101は非視覚センサを含む。いくつかの実施形態では、センサ101は、とりわけ、レーダ、オーディオ、LiDAR、慣性、オドメトリ、位置、および/または超音波センサを含む。いくつかの実施形態では、センサ101は、車両制御モジュール109を有する車両に取り付けられない。例えば、センサ101は、隣接する車両に取り付けられてもよく、および/または道路もしくは環境に取り付けられてもよく、センサデータを捕捉するための深層学習システムの一部として含まれる。いくつかの実施形態では、センサ101は、車両が走行している路面を捕捉する1つまたは複数のカメラを含む。例えば、1つまたは複数の前向きおよび/またはピラーカメラが、車両が走行しているレーンのレーンマーキングを捕捉する。別の例として、カメラは、車両が走行しているレーンに割り込もうとしている車両を含む隣接車両を捕捉する。追加のセンサは、オドメトリ、位置、および/または車両軌跡に関する情報を含む車両制御情報を捕捉する。センサ101は、静止画像および/または動画を捕捉することができる両方の画像センサを含むことができる。データは、ある期間にわたって捕捉されたデータのシーケンスなど、ある期間にわたって捕捉され得る。例えば、レーンマーキングの画像は、15秒の期間または別の適切な期間にわたって車両オドメトリデータと共に捕捉されてもよい。いくつかの実施形態では、センサ101は、車両の位置および/または位置の変化を判定するための全地球測位システム(GPS)センサなどの位置センサを含む。
【0021】
いくつかの実施形態では、画像プリプロセッサ103は、センサ101のセンサデータを前処理するために使用される。例えば、画像プリプロセッサ103を使用して、センサデータを前処理し、センサデータを1つまたは複数の構成要素に分割し、および/または1つまたは複数の構成要素を後処理することができる。いくつかの実施形態では、画像プリプロセッサ103は、グラフィックス処理装置(GPU)、中央処理装置(CPU)、画像信号プロセッサ、または専用画像プロセッサである。様々な実施形態において、画像プリプロセッサ103は、高ダイナミックレンジデータを処理するトーンマッパプロセッサである。いくつかの実施形態では、画像プリプロセッサ103は、人工知能(AI)プロセッサ107の一部として実装される。例えば、画像プリプロセッサ103は、AIプロセッサ107の構成要素であってもよい。いくつかの実施形態では、画像プリプロセッサ103を使用して、画像を正規化するか、または画像を変換することができる。例えば、魚眼レンズで捕捉された画像はゆがんでいることがあり、画像プリプロセッサ103を使用して画像を変換し、ゆがみを除去または修正することができる。いくつかの実施形態では、ノイズ、歪み、および/またはぼやけは、前処理ステップ中に除去または低減される。様々な実施形態において、画像は、機械学習分析の結果を改善するために調整または正規化される。例えば、画像のホワイトバランスは、とりわけ、昼光、晴れ、曇り、夕暮れ、日の出、日没、および夜間条件などの異なる照明動作条件を考慮するように調整される。
【0022】
いくつかの実施形態では、深層学習ネットワーク105は、レーンマーカ、レーン、運転可能空間、障害物、および/または潜在的な車両経路などを決定するために運転環境を分析することを含めて、車両制御パラメータを決定するために使用される深層学習ネットワークである。例えば、深層学習ネットワーク105は、センサデータなどの入力で訓練され、その出力が車両制御モジュール109に提供される畳込みニューラルネットワーク(CNN)などの人工ニューラルネットワークであってもよい。一例として、出力は、レーンマーカの少なくとも3次元表現を含むことができる。別の例として、出力は、少なくとも車両のレーンに合流する可能性のある潜在的な車両を含むことができる。いくつかの実施形態では、深層学習ネットワーク105は、少なくともセンサデータを入力として受信する。追加の入力は、車両の周囲の環境および/または車両の動作特性などの車両仕様を記述するシーンデータを含むことができる。シーンデータは、降雨、濡れた道路、降雪、ぬかるみ、高密度の交通、高速道路、都市、スクールゾーンなどの車両の周囲の環境を記述するシーンタグを含むことができる。いくつかの実施形態では、深層学習ネットワーク105の出力は、車両の車両レーンの3次元軌跡である。いくつかの実施形態では、深層学習ネットワーク105の出力は、潜在的な車両割込みである。例えば、深層学習ネットワーク105は、車両の前方のレーンに進入する可能性が高い隣接車両を識別する。
【0023】
いくつかの実施形態では、人工知能(AI)プロセッサ107は、深層学習ネットワーク105を実行するためのハードウェアプロセッサである。いくつかの実施形態では、AIプロセッサ107は、センサデータに対して畳込みニューラルネットワーク(CNN)を使用して推論を実行するための専用AIプロセッサである。AIプロセッサ107は、センサデータのビット深度に対して最適化することができる。いくつかの実施形態では、AIプロセッサ107は、とりわけ、畳込み、内積、ベクトル、および/または行列演算を含むニューラルネットワーク演算などの深層学習演算用に最適化される。いくつかの実施形態では、AIプロセッサ107は、グラフィックス処理装置(GPU)を使用して実装される。様々な実施形態では、AIプロセッサ107は、実行されると、AIプロセッサに、受信した入力センサデータに対して深層学習分析を実行させ、自動運転に使用される機械学習結果を決定させる命令をAIプロセッサに提供するように構成されたメモリに結合される。いくつかの実施形態では、AIプロセッサ107は、データを訓練データとして利用可能にする準備としてセンサデータを処理するために使用される。
【0024】
いくつかの実施形態では、車両制御モジュール109は、人工知能(AI)プロセッサ107の出力を処理し、出力を車両制御動作に変換するために利用される。いくつかの実施形態では、車両制御モジュール109は、自動運転のために車両を制御するために利用される。様々な実施形態において、車両制御モジュール109は、車両の速度、加速度、操舵、制動などを調整することができる。例えば、いくつかの実施形態では、車両制御モジュール109は、車両を制御して、レーン内の車両の位置を維持し、車両を別のレーンに合流させ、車両の速度およびレーン配置を調整して合流車両などを考慮するために使用される。
【0025】
いくつかの実施形態では、車両制御モジュール109は、ブレーキ灯、方向指示器、ヘッドライトなどの車両照明を制御するために使用される。いくつかの実施形態では、車両制御モジュール109は、車両のサウンドシステム、オーディオ警報の再生、マイクロフォンの有効化、クラクションの有効化などの車両オーディオ状態を制御するために使用される。いくつかの実施形態では、車両制御モジュール109は、潜在的な衝突または意図された目的地の接近などの運転イベントを運転者および/または乗客に通知するための警告システムを含む通知システムを制御するために使用される。いくつかの実施形態では、車両制御モジュール109は、車両のセンサ101などのセンサを調整するために使用される。例えば、車両制御モジュール109を使用して、向きの変更、出力解像度および/またはフォーマットタイプの変更、捕捉レートの増減、捕捉されたダイナミックレンジの調整、カメラの焦点の調整、センサの有効化および/または無効化など、1つまたは複数のセンサのパラメータを変更することができる。いくつかの実施形態では、車両制御モジュール109を使用して、フィルタの周波数範囲の変更、特徴および/またはエッジ検出パラメータの調整、チャネルおよびビット深度の調整など、画像プリプロセッサ103のパラメータを変更することができる。様々な実施形態では、車両制御モジュール109は、車両の自動運転および/または運転者支援制御を実施するために使用される。いくつかの実施形態では、車両制御モジュール109は、メモリと結合されたプロセッサを使用して実装される。いくつかの実施形態では、車両制御モジュール109は、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、または他の適切な処理ハードウェアを使用して実装される。
【0026】
いくつかの実施形態では、ネットワークインターフェース111は、音声データを含むデータを送信および/または受信するための通信インターフェースである。様々な実施形態では、ネットワークインターフェース111は、リモートサーバとインターフェース接続し、音声通話の接続および発信を行い、テキストメッセージを送信および/または受信し、センサデータを送信し、アップデートされた機械学習モデルを含む深層学習ネットワークへのアップデートを受信し、気象条件および予報、交通状況などを含む環境条件を検索するためのセルラまたは無線インターフェースを含む。例えば、ネットワークインターフェース111は、センサ101、画像プリプロセッサ103、深層学習ネットワーク105、AIプロセッサ107、および/または車両制御モジュール109の命令および/または動作パラメータのアップデートを受信するために使用され得る。深層学習ネットワーク105の機械学習モデルは、ネットワークインターフェース111を使用してアップデートすることができる。別の例として、ネットワークインターフェース111を使用して、センサ101のファームウェアおよび/または画像処理パラメータなどの画像プリプロセッサ103の動作パラメータをアップデートすることができる。さらに別の例として、ネットワークインターフェース111を使用して、機械学習モデルを訓練するために潜在的な訓練データをリモートサーバに送信することができる。
【0027】
図2は、自動運転のための機械学習モデルを訓練および適用するためのプロセスの一実施形態を示す流れ図である。例えば、センサおよびオドメトリデータを含む入力データが受信され、処理されて、機械学習モデルを訓練するための訓練データが作成される。いくつかの実施形態では、センサデータは、自動運転システムを介して捕捉された画像データに対応する。いくつかの実施形態では、センサデータは、ユーザが手動で自動運転を解除するなどの特定のユースケースに基づいて捕捉されたセンサデータに対応する。いくつかの実施形態では、プロセスは、
図1の深層学習システム100のための機械学習モデルを作成および配備するために使用される。
【0028】
201において、訓練データが準備される。いくつかの実施形態では、画像データおよびオドメトリデータを含むセンサデータを受信して、訓練データセットを作成する。センサデータは、1つまたは複数のカメラからの静止画像および/または動画を含むことができる。関連するセンサデータを提供するために、レーダ、LiDAR、超音波などの追加のセンサを使用することができる。様々な実施形態において、センサデータは、センサデータの特徴を識別するのを助けるために、対応するオドメトリデータと対にされる。例えば、位置および位置の変化のデータを使用して、レーンライン、交通制御信号、物体などのセンサデータ内の関連する特徴の位置を識別することができる。いくつかの実施形態では、センサデータは時系列の要素であり、グラウンドトゥルースを判定するために使用される。次いで、グループのグラウンドトゥルースは、画像データの第1のフレームなどの時系列のサブセットに関連付けられる。時系列の選択された要素およびグラウンドトゥルースは、訓練データを準備するために使用される。いくつかの実施形態では、訓練データは、レーンライン、車両経路、交通パターンなどのセンサデータからの特徴のみを識別するように機械学習モデルを訓練するために準備される。準備された訓練データは、訓練、検証、および試験のためのデータを含むことができる。様々な実施形態において、センサデータは、異なるフォーマットであってもよい。例えば、センサデータは、静止画像、動画、オーディオなどであってもよい。オドメトリデータは、印加された加速度、印加された制動、印加された操舵、車両の位置、車両の向き、車両の位置の変化、車両の向きの変化などの車両動作パラメータを含んでもよい。様々な実施形態では、訓練データは、訓練データセットを作成するためにキュレーションおよびアノテーションされる。いくつかの実施形態では、訓練データの準備の一部は、人間のキュレータによって実行されてもよい。様々な実施形態では、訓練データの一部は、車両から捕捉されたデータから自動的に生成され、ロバストな訓練データセットを構築するのに必要な労力および時間を大幅に削減する。いくつかの実施形態では、データのフォーマットは、配備済み深層学習アプリケーションで使用される機械学習モデルと互換性がある。様々な実施形態において、訓練データは、訓練されたモデルの精度を試験するための検証データを含む。
【0029】
203において、機械学習モデルが訓練される。例えば、201で準備されたデータを使用して機械学習モデルが訓練される。いくつかの実施形態では、モデルは、畳込みニューラルネットワーク(CNN)などのニューラルネットワークである。様々な実施形態では、モデルは複数の中間層を含む。いくつかの実施形態では、ニューラルネットワークは、複数の畳込み層およびプーリング層を含む複数の層を含むことができる。いくつかの実施形態では、訓練モデルは、受信したセンサデータから作成された検証データセットを使用して検証される。いくつかの実施形態では、機械学習モデルは、単一の入力画像から特徴の3次元表現を予測するように訓練される。例えば、レーンラインの3次元表現が、カメラから捕捉された画像から推論されることができる。別の例として、カメラから捕捉された画像から、車両が合流しようとしているか否かを含む隣接車両の予測経路が予測される。
【0030】
205において、訓練された機械学習モデルが配備される。例えば、訓練された機械学習モデルは、
図1の深層学習ネットワーク105などの深層学習ネットワークのアップデートとして車両にインストールされる。いくつかの実施形態では、無線アップデートを使用して、新たに訓練された機械学習モデルをインストールする。いくつかの実施形態では、アップデートは、WiFiまたはセルラネットワークなどの無線ネットワークを使用して送信されるファームウェアアップデートである。いくつかの実施形態では、新しい機械学習モデルは、車両が整備されるときにインストールされてもよい。
【0031】
207において、センサデータが受信される。例えば、センサデータは、車両の1つまたは複数のセンサから捕捉される。いくつかの実施形態では、センサは
図1のセンサ101である。センサは、フロントガラスの後ろに取り付けられた魚眼カメラ、ピラーに取り付けられた前向きまたは横向きカメラ、後ろ向きカメラなどの画像センサを含むことができる。様々な実施形態では、センサデータは、203で訓練された機械学習モデルが入力として利用する形式であるか、またはその形式に変換される。例えば、センサデータは、生のまたは処理された画像データであってもよい。いくつかの実施形態では、データは、超音波センサ、レーダ、LiDARセンサ、マイクロフォン、または他の適切な技術から捕捉されたデータである。いくつかの実施形態では、センサデータは、前処理ステップ中に
図1の画像プリプロセッサ103などの画像プリプロセッサを使用して前処理される。例えば、画像は、歪み、ノイズなどを除去するために正規化されてもよい。
【0032】
209において、訓練された機械学習モデルが適用される。例えば、203で訓練された機械学習モデルは、207で受信されたセンサデータに適用される。いくつかの実施形態では、モデルの適用は、
図1の深層学習ネットワーク105などの深層学習ネットワークを使用して、
図1のAIプロセッサ107などのAIプロセッサによって実行される。様々な実施形態では、訓練された機械学習モデルを適用することによって、レーンラインなどの特徴の3次元表現が識別および/または予測される。例えば、車両が走行しているレーンのレーンラインを表現する2つのスプラインが推論される。別の例として、隣接車両が現在のレーンに割り込む可能性があるかどうかを含む、隣接車両の予測経路が推論される。様々な実施形態では、機械学習モデルを適用することによって、車両、障害物、レーン、交通制御信号、地図特徴、物体距離、制限速度、運転可能空間などが識別される。いくつかの実施形態では、特徴は3次元で識別される。
【0033】
211において、自律型車両が制御される。例えば、1つまたは複数の自動運転機能が、車両の様々な態様を制御することによって実施される。例は、車両の操舵、速度、加速度、および/または制動を制御すること、レーン内の車両の位置を維持すること、他の車両および/または障害物に対する車両の位置を維持すること、乗員に通知または警告を提供することなどを含むことができる。209で実行された分析に基づいて、車両の操舵および速度は、車両を2つのレーンライン間に維持するように制御される。例えば、左右のレーンラインが予測され、対応する車両レーンおよび運転可能空間が識別される。様々な実施形態では、
図1の車両制御モジュール109などの車両制御モジュールが車両を制御する。
【0034】
図3は、時系列の要素を使用して訓練データを作成するプロセスの一実施形態を示す流れ図である。例えば、センサおよびオドメトリデータで構成される時系列の要素が、車両から収集され、訓練データを自動的に作成するために使用される。様々な実施形態において、
図3のプロセスは、訓練データを対応するグラウンドトゥルースで自動的にラベル付けするために使用される。時系列に対応する結果は、時系列の要素に関連付けられる。結果および選択された要素は、将来の結果を予測するための訓練データとしてパッケージ化される。様々な実施形態では、センサおよび関連データは、
図1の深層学習システムを使用して捕捉される。例えば、様々な実施形態において、センサデータは、
図1のセンサ101から捕捉される。いくつかの実施形態では、
図3のプロセスは、
図2の201で実行される。いくつかの実施形態では、
図3のプロセスは、既存の予測が正しくないかまたは改善され得る場合にデータを自動的に収集するために実行される。例えば、車両が自律型車両の経路に割り込んでいるかどうかを判定するために、自律型車両によって予測が行われる。一定期間待機し、捕捉されたセンサデータを分析した後、予測が正しいか誤っているかの判定を行うことができる。いくつかの実施形態では、予測が改善され得るという判定が行われる。予測が正しくなかった場合、または改善することができた場合、
図3のプロセスを予測に関連するデータに適用して、機械学習モデルを改善するための例のキュレーションされたセットを作成することができる。
【0035】
301において、時系列の要素が受信される。様々な実施形態では、要素は、車両で捕捉されて訓練サーバに送信される画像データなどのセンサデータである。センサデータは、時系列の要素を作成するために一定期間にわたって捕捉される。様々な実施形態において、要素は、要素の順序を維持するためのタイムスタンプである。要素が時系列を通って進むにつれて、時系列におけるより後のイベントは、時系列のより早い要素からの結果の予測を助けるために使用される。例えば、時系列は、合流するように合図し、加速し、自分自身を近くのレーンラインの近くに配置している隣接車線内の車両を捕捉することができる。時系列全体を使用して、結果を使用して、車両が共有レーンに合流したことを判定することができる。この結果は、時系列の初期画像のうちの1つなどの時系列の選択された要素に基づいて車両が合流することを予測するために使用することができる。別の例として、時系列はレーンラインの曲線を捕捉する。時系列は、時系列の単一の要素のみからは明らかではないレーンの様々なくぼみ、曲がり、山などを捕捉する。様々な実施形態において、要素は、機械学習モデルが入力として使用する形式のセンサデータである。例えば、センサデータは、生のまたは処理された画像データであってもよい。いくつかの実施形態では、データは、超音波センサ、レーダ、LiDARセンサ、または他の適切な技術から捕捉されたデータである。
【0036】
様々な実施形態において、時系列は、タイムスタンプを時系列の各要素に関連付けることによって編成される。例えば、タイムスタンプは、時系列における少なくとも第1の要素に関連付けられる。タイムスタンプは、オドメトリデータなどの関連データで時系列要素を較正するために使用され得る。様々な実施形態では、時系列の長さは、10秒、30秒、または別の適切な長さなどの固定長の時間であってもよい。時間の長さは設定可能であり得る。様々な実施形態において、時系列は、車両の平均速度などの車両の速度に基づくことができる。例えば、より遅い速度では、時系列の時間の長さを増加させて、同じ速度に対してより短い時間長を使用する場合に可能となるよりも長い移動距離にわたってデータを捕捉することができる。いくつかの実施形態では、時系列内の要素の数は設定可能である。例えば、要素の数は、移動距離に基づくことができる。例えば、一定時間の間、より速く移動する車両は、より遅く移動する車両よりも時系列内により多くの要素を含む。追加の要素が、捕捉された環境の忠実度を高め、予測される機械学習結果の精度を向上させることができる。様々な実施形態において、要素の数は、センサがデータを捕捉する1秒当たりのフレームを調整することによって、および/または不要な中間フレームを破棄することによって調整される。
【0037】
303において、時系列の要素に関連するデータが受信される。様々な実施形態では、関連データは、301で受信された要素と共に訓練サーバで受信される。いくつかの実施形態では、関連データは、車両のオドメトリデータである。位置、向き、位置の変化、向きの変化、および/または他の関連車両データを使用して、時系列の要素で識別された特徴の位置データをラベル付けすることができる。例えば、レーンラインの要素の時系列を調べることにより、レーンラインを非常に正確な位置でラベル付けすることができる。通常、車両カメラに最も近いレーンラインは正確であり、車両の位置に密接に関連している。一方、車両から最も遠いラインのXYZ位置は、決定が困難である。レーンラインの遠方部分は、(例えば、曲がり角または丘の後ろに)閉塞している場合および/または正確に捕捉することが(例えば、距離または照明などに起因して)困難である場合がある。要素に関連するデータは、高い精度で識別された時系列で識別された特徴の部分をラベル付けするために使用される。様々な実施形態では、閾値を使用して、特徴の識別された部分(レーンラインの一部など)を関連データに関連付けるかどうかを判定する。例えば、高い確度で識別されたレーンラインの部分(車両に近い部分など)は関連データに関連付けられ、確度が閾値未満で識別されたレーンラインの部分(車両から遠く離れた部分など)はその要素の関連データに関連付けられない。代わりに、より高い確度を有する後続要素などの時系列の別の要素およびその関連データが使用される。いくつかの実施形態では、関連データは、
図1の深層学習ネットワーク105の出力などのニューラルネットワークの出力である。いくつかの実施形態では、関連データは、
図1の車両制御モジュール109などの車両制御モジュールの出力である。関連データは、速度、速度の変化、加速度、加速度の変化、操舵、操舵の変化、制動、制動の変化などの車両動作パラメータを含むことができる。いくつかの実施形態では、関連データは、障害物などの物体の距離を推定するためのレーダデータである。
【0038】
いくつかの実施形態では、時系列の要素に関連するデータは、地図データを含む。例えば、303において、道路および/または衛星レベルの地図データなどのオフラインデータが受信される。地図データは、道路、車両レーン、交差点、制限速度、スクールゾーンなどの特徴を識別するために使用することができる。例えば、地図データは、車両レーンの経路を記述することができる。別の例として、地図データは、地図の様々な道路に関連付けられた制限速度を記述することができる。
【0039】
様々な実施形態において、時系列の要素に関連するデータは、タイムスタンプを関連データと関連付けることによって編成される。時系列要素および関連データからの対応するタイムスタンプを使用して、2つのデータセットを同期させることができる。いくつかの実施形態では、データは捕捉時に同期される。例えば、時系列の各要素が捕捉されると、対応する関連データのセットが捕捉され、時系列要素と共に保存される。様々な実施形態では、関連データの期間は設定可能であり、および/または要素の時系列の期間と一致する。いくつかの実施形態では、関連データは、時系列要素と同じレートでサンプリングされる。
【0040】
305において、時系列に対してグラウンドトゥルースが決定される。様々な実施形態において、時系列は、機械学習特徴(machine learning feature)に関連するグラウンドトゥルースを決定するために分析される。例えば、レーンラインは、そのレーンラインのグラウンドトゥルースに対応する時系列から識別される。別の例として、移動物体(例えば、車両、歩行者、自転車、動物など)の経路についてのグラウンドトゥルースは、時系列から検出された移動物体について識別された経路である。いくつかの実施形態では、移動車両が時系列にわたって自律型車両のレーンに進入する場合、移動車両は割込み車両としてアノテーションされる。いくつかの実施形態では、グラウンドトゥルースは、3次元軌跡などの3次元表現として表現される。例えば、レーンラインに関連付けられたグラウンドトゥルースは、3次元のパラメータ化スプラインまたは曲線として表現され得る。別の例として、検出された車両の予測経路が決定され、3次元軌跡として表現される。予測経路は、車両が占有空間に合流しているかどうかを判定するために使用され得る。様々な実施形態において、時系列の要素を調べることによってのみ、グラウンドトゥルースを決定することができる。例えば、時系列のサブセットのみを分析すると、レーンラインの一部を閉塞されたままに残す可能性がある。時系列の要素にわたって分析を拡張することによって、レーンラインの閉塞部分が明らかになる。さらに、時系列の終わり近くに捕捉されたデータは、距離がより離れたレーンラインの部分の詳細をより正確に(例えば、より高い忠実度で)捕捉する。さらに、関連データは、より近接して(距離および時間の両方で)捕捉されたデータに基づくため、関連データもより正確である。様々な実施形態では、物体の異なる部分を高度を含む正確な3次元位置にマッピングするために、要素の時系列の異なる要素で識別されたレーンラインなどの検出された物体の異なる部分に、同時位置特定およびマッピング技術が適用される。マッピングされた3次元位置のセットは、時系列にわたって捕捉されたレーンラインのセグメントなどの物体のグラウンドトゥルースを表現する。いくつかの実施形態では、位置特定およびマッピング技術は、正確な点集合、例えば、車両レーンラインに沿った異なる点に対応する点集合をもたらす。点集合は、スプライン曲線またはパラメトリック曲線などのより効率的なフォーマットに変換することができる。いくつかの実施形態では、グラウンドトゥルースは、レーンライン、運転可能空間、交通制御手段、車両などの物体を3次元で検出するために決定される。
【0041】
いくつかの実施形態では、グラウンドトゥルースは、意味ラベルを予測するために決定される。例えば、検出された車両は、左レーンまたは右レーンにあるとラベル付けすることができる。いくつかの実施形態では、検出された車両は、死角にあるとして、道を譲るべき車両として、または別の適切な意味ラベルでラベル付けすることができる。いくつかの実施形態では、車両は、決定されたグラウンドトゥルースに基づいて地図内の道路またはレーンに割り当てられる。追加の例として、決定されたグラウンドトゥルースを使用して、信号機、レーン、運転可能空間、または自動運転を支援する他の特徴をラベル付けすることができる。
【0042】
いくつかの実施形態では、関連データは、検出された物体の深度(または距離)データである。距離データを要素の時系列において識別された物体と関連付けることによって、機械学習モデルは、検出された物体についてのグラウンドトゥルースとして関連する距離データを使用することによって物体距離を推定するように訓練されることができる。いくつかの実施形態では、距離は、障害物、障壁、移動車両、静止車両、交通制御信号、歩行者などの検出された物体の距離である。
【0043】
307において、訓練データがパッケージ化される。例えば、時系列の要素が選択され、305で決定されたグラウンドトゥルースと関連付けられる。様々な実施形態において、選択される要素は、時系列における初期要素である。選択された要素は、機械学習モデルに入力されたセンサデータを表現し、グラウンドトゥルースは、予測される結果を表現する。様々な実施形態において、訓練データは、訓練データとしてパッケージ化され準備される。いくつかの実施形態では、訓練データは、訓練、検証、および試験データにパッケージ化される。決定されたグラウンドトゥルースおよび選択された時系列の要素に基づいて、訓練データは、自動運転のための他の有用な特徴の中でも、レーンライン、車両の予測経路、制限速度、車両の割込み、物体距離、および/または運転可能空間を識別するための機械学習モデルを訓練するためにパッケージ化することができる。パッケージ化された訓練データはこうして機械学習モデルを訓練するために利用可能となる。
【0044】
図4は、自動運転のための機械学習モデルを訓練および適用するプロセスの一実施形態を示す流れ図である。いくつかの実施形態では、
図4のプロセスは、自動運転のための機械学習モデルを訓練するためのセンサデータおよびオドメトリデータを収集および保持するために利用される。いくつかの実施形態では、
図4のプロセスは、自動運転制御が有効であるか否かにかかわらず、自動運転が有効な車両で実施される。例えば、センサおよびオドメトリデータは、自動運転が解除された直後、車両が人間の運転者によって運転されている間、および/または車両が自動運転されている間に収集することができる。いくつかの実施形態では、
図4によって説明される技術は、
図1の深層学習システムを使用して実施される。いくつかの実施形態では、
図4のプロセスの一部は、自動運転のための機械学習モデルを適用するプロセスの一部として、
図2の207、209、および/または211で実行される。
【0045】
401において、センサデータが受信される。例えば、センサを備えた車両が、センサデータを捕捉し、車両上で動作するニューラルネットワークにセンサデータを提供する。いくつかの実施形態では、センサデータは、視覚データ、超音波データ、LiDARデータ、または他の適切なセンサデータであってもよい。例えば、高ダイナミックレンジ前向きカメラから画像が捕捉される。別の例として、横向き超音波センサから超音波データが捕捉される。いくつかの実施形態では、車両には、データを捕捉するための複数のセンサが取り付けられる。例えば、いくつかの実施形態では、8つのサラウンドカメラが車両に取り付けられ、車両の周囲の360度の視界を最大250メートルの到達距離で提供する。いくつかの実施形態では、カメラセンサは、広角前方カメラ、狭角前方カメラ、後方視認カメラ、前方視サイドカメラ、および/または後方視サイドカメラを含む。いくつかの実施形態では、超音波および/またはレーダセンサを使用して周囲の詳細を捕捉する。例えば、12個の超音波センサを車両に取り付けて、硬い物体と柔らかい物体の両方を検出することができる。いくつかの実施形態では、前向きレーダを利用して周囲環境のデータを捕捉する。様々な実施形態では、レーダセンサは、大雨、霧、埃、および他の車両にもかかわらず、周囲の詳細を捕捉することができる。様々なセンサは、車両の周囲の環境を捕捉するために使用され、捕捉されたデータは、深層学習分析のために提供される。
【0046】
いくつかの実施形態では、センサデータは、車両の位置、向き、位置の変化、および/または向きの変化などを含むオドメトリデータを含む。例えば、位置データが捕捉され、同じ時間フレーム中に捕捉された他のセンサデータと関連付けられる。一例として、画像データの撮像時に捕捉された位置データは、位置情報を画像データと関連付けるために用いられる。
【0047】
403において、センサデータが前処理される。いくつかの実施形態では、センサデータに対して1つまたは複数の前処理パスを実行することができる。例えば、データは、ノイズを除去し、位置合わせの問題および/またはぼやけなどを補正するために前処理されてもよい。いくつかの実施形態では、1つまたは複数の異なるフィルタリングパスがデータに対して実行される。例えば、センサデータの異なる成分を分離するために、データに対してハイパスフィルタを実行し、データに対してローパスフィルタを実行することができる。様々な実施形態では、403で実行される前処理ステップは任意選択であり、および/またはニューラルネットワークに組み込まれてもよい。
【0048】
405において、センサデータの深層学習分析が開始される。いくつかの実施形態では、深層学習分析は、403で任意選択的に前処理されたセンサデータに対して実行される。様々な実施形態において、深層学習分析は、畳込みニューラルネットワーク(CNN)などのニューラルネットワークを使用して実行される。様々な実施形態では、機械学習モデルは、
図2のプロセスを使用してオフラインで訓練され、センサデータに対する推論を実行するために車両に配備される。例えば、モデルは、道路レーンライン、障害物、歩行者、移動車両、駐車車両、運転可能空間などを適切に識別するように訓練されてもよい。いくつかの実施形態では、レーンラインの複数の軌跡が識別される。例えば、レーンラインのいくつかの潜在的な軌跡が検出され、各軌跡は対応する出現(発生)確率を有する。いくつかの実施形態では、予測されるレーンラインは、出現確率が最も高いおよび/または関連する信頼値が最も高いレーンラインである。いくつかの実施形態では、深層学習分析からの予測レーンラインは、最小信頼閾値を超えることを必要とする。様々な実施形態において、ニューラルネットワークは、1つまたは複数の中間層を含む複数の層を含む。様々な実施形態において、センサデータおよび/または深層学習分析の結果は、訓練データの自動生成のために保持され411において送信される。
【0049】
様々な実施形態において、深層学習分析は、追加の特徴を予測するために使用される。予測された特徴は、自動運転を支援するために使用され得る。例えば、検出された車両をレーンまたは道路に割り当てることができる。別の例として、検出された車両は、死角にある、道を譲るべき車両である、左隣のレーンの車両である、右隣のレーンの車両である、または別の適切な属性を有すると判定することができる。同様に、深層学習分析は、信号機、運転可能空間、歩行者、障害物、または運転のための他の適切な特徴を識別することができる。
【0050】
407において、深層学習分析の結果が車両制御に提供される。例えば、結果は、自動運転のために車両を制御するため、および/または自動運転機能を実施するために、車両制御モジュールに提供される。いくつかの実施形態では、405での深層学習分析の結果は、1つまたは複数の異なる機械学習モデルを使用して、1つまたは複数の追加の深層学習パスを通過する。例えば、レーンラインの予測経路を使用して車両レーンを決定することができ、決定された車両レーンを使用して運転可能空間を決定する。次いで、運転可能空間は、車両の経路を決定するために使用される。同様に、いくつかの実施形態では、予測される車両割込みが検出される。車両の決定された経路は、潜在的な衝突を回避するために予測された割込みを考慮する。いくつかの実施形態では、深層学習の様々な出力は、車両の予測経路、識別された障害物、制限速度を含む識別された交通制御信号などを含む自動運転のための車両の環境の3次元表現を構築するために使用される。いくつかの実施形態では、車両制御モジュールは、決定された経路に沿って車両を制御するために決定された結果を利用する。いくつかの実施形態では、車両制御モジュールは、
図1の車両制御モジュール109である。
【0051】
409において、車両が制御される。いくつかの実施形態では、自動運転が起動された車両は、
図1の車両制御モジュール109などの車両制御モジュールを使用して制御される。車両制御は、例えば、周囲の環境を考慮してレーン内の車両を適切な速度に維持するために、車両の速度および/または操舵を調整することができる。いくつかの実施形態では、結果は、隣接車両が同じレーンに合流することを予測して車両を調整するために使用される。様々な実施形態では、深層学習分析の結果を使用して、車両制御モジュールは、例えば適切な速度で決定された経路に沿って、車両を動作させる適切な方法を決定する。様々な実施形態では、速度の変化、制動の適用、操舵の調整などの車両制御の結果が保持され、訓練データの自動生成に使用される。様々な実施形態において、車両制御パラメータは、訓練データの自動生成のために保持され411において送信される。
【0052】
411において、センサデータおよび関連データが送信される。例えば、401で受信したセンサデータは、405での深層学習分析の結果および/または409で使用された車両制御パラメータと共に、訓練データの自動生成のためにコンピュータサーバに送信される。いくつかの実施形態では、データは時系列データであり、様々な収集されたデータはコンピュータサーバによって一緒に関連付けられる。例えば、オドメトリデータが、グラウンドトゥルースを生成するために捕捉された画像データと関連付けられる。様々な実施形態では、収集されたデータは、例えばWiFiまたはセルラ接続を介して、車両から訓練データセンタに無線で送信される。いくつかの実施形態では、メタデータがセンサデータと共に送信される。例えば、メタデータは、時刻、タイムスタンプ、位置、車両の種類や、速度、加速度、制動、自動運転が有効にされたかどうか、操舵角、オドメトリデータなどの車両制御および/または動作パラメータを含むことができる。追加のメタデータは、最後の以前のセンサデータが送信されてからの時間、車両の種類、気象状況、道路状況などを含む。いくつかの実施形態では、送信されるデータは、例えば車両の固有識別子を削除することによって匿名化される。別の例として、類似の車両モデルからのデータは、個々のユーザおよびその車両の使用が識別されないようにマージされる。
【0053】
いくつかの実施形態では、データはトリガに応答してのみ送信される。例えば、いくつかの実施形態では、誤った予測は、深層学習ネットワークの予測を改善するための例のキュレーションされたセットを作成するためにデータを自動的に収集するためのセンサデータおよび関連データの送信をトリガする。例えば、車両が合流しようとしているかどうかに関連して405で実行される予測は、予測を観測された実際の結果と比較することによって正しくないと判定される。次いで、誤った予測に関連付けられたセンサデータおよび関連データを含むデータが送信され、訓練データを自動的に生成するために使用される。いくつかの実施形態では、トリガを使用して、急カーブ、道路の分岐、レーン合流、突然の停止、または追加の訓練データが有用であり、収集が困難であり得る別の適切なシナリオなどの特定のシナリオを識別することができる。例えば、トリガは、自動運転機能の突然の停止または解除に基づくことができる。別の例として、速度の変化または加速度の変化などの車両動作特性がトリガの基礎を形成することができる。いくつかの実施形態では、特定の閾値未満の精度での予測が、センサデータおよび関連データの送信をトリガする。例えば、特定のシナリオでは、予測はブール値の真または偽の結果を有さないこともあり、代わりに予測の精度値を決定することによって評価される。
【0054】
様々な実施形態では、センサデータおよび関連データはある期間にわたって捕捉され、時系列データ全体が一緒に送信される。期間は、車両の速度、移動した距離、速度の変化などの1つまたは複数の要因に基づいて構成および/または基づくことができる。いくつかの実施形態では、捕捉されたセンサデータおよび/または関連データのサンプリングレートは設定可能である。例えば、サンプリングレートは、高速で、急ブレーキ中に、急加速中に、急操舵中に、または追加の忠実度が必要な別の適切なシナリオで増加される。
【0055】
図5は、車両センサから捕捉された画像の一例を示す図である。図示の例では、
図5の画像は、2つのレーンラインの間のレーンを走行する車両から捕捉された画像データ500を含む。画像データ500を捕捉するために使用される車両およびセンサの位置は、ラベルAによって表される。画像データ500は、センサデータであり、運転中に車両の前向きカメラなどのカメラセンサから捕捉することができる。画像データ500は、レーンライン501、511の部分を捕捉する。レーンライン501および511は、レーンライン501および511が水平線に近づくにつれて右に湾曲する。図示の例では、レーンライン501および511が見えているが、それらがカメラセンサの位置から離れて遠方に湾曲するにつれて、検出がますます困難になる。レーンライン501および511の上に描かれた白線は、追加の入力なしに画像データ500からレーンライン501および511の検出可能な部分を近似する。いくつかの実施形態では、レーンライン501および511の検出された部分は、画像データ500をセグメント化することによって検出することができる。
【0056】
いくつかの実施形態では、ラベルA、B、およびCは、道路上の異なる位置および時系列の異なる時刻に対応する。ラベルAは、画像データ500が捕捉されたときの車両の時刻および位置に対応する。ラベルBは、ラベルAの位置の前方の道路上の位置であって、ラベルAの時刻の後の時刻における位置に対応する。同様に、ラベルCは、ラベルBの位置の前方の道路上の位置であって、ラベルBの時刻の後の時刻における位置に対応する。車両は、走行するにつれて、ラベルA、ラベルB、およびラベルCの位置を(ラベルAからラベルCへ)通過し、走行中にセンサデータおよび関連データの時系列を捕捉する。時系列は、ラベルA、B、およびCの位置(および時刻)で捕捉された要素を含む。ラベルAは、時系列の最初の要素に対応し、ラベルBは、時系列の中間要素に対応し、ラベルCは、時系列の中間(または潜在的に最後の)要素に対応する。各ラベルにおいて、ラベル位置における車両のオドメトリデータなどの追加データが捕捉される。時系列の長さに応じて、追加のまたはより少ないデータが捕捉される。いくつかの実施形態では、タイムスタンプが時系列の各要素に関連付けられる。
【0057】
いくつかの実施形態では、レーンライン501および511のグラウンドトゥルース(図示せず)が決定される。例えば、本明細書で開示されるプロセスを使用して、レーンライン501および511の位置は、時系列の要素の異なる要素からレーンライン501および511の異なる部分を識別することによって識別される。図示されている例では、部分503および513は、ラベルAの位置および時刻で取得された画像データ500および関連データ(オドメトリデータなど)を使用して識別される。部分505および515は、ラベルBの位置および時刻で取得された画像データ(図示せず)および関連データ(オドメトリデータなど)を使用して識別される。部分507および517は、ラベルCの位置および時刻で取得された画像データ(図示せず)および関連データ(オドメトリデータなど)を使用して識別される。時系列の要素を分析することにより、レーンライン501および511の異なる部分の位置が識別され、異なる識別された部分を組み合わせることによってグラウンドトゥルースが決定され得る。いくつかの実施形態では、部分は、レーンラインの各部分に沿った点として識別される。図示の例では、プロセスを説明するために各レーンラインの3つの部分のみが強調表示されている(レーンライン501の部分503、505、および507ならびにレーンライン511の部分513、515、および517)が、より高い解像度および/またはより高い精度でレーンラインの位置を決定するために、追加の部分が時系列にわたって捕捉されてもよい。
【0058】
様々な実施形態では、レーンライン501および511を捕捉する画像データ内で、センサの位置に最も近い部分の位置は、高精度で決定される。例えば、部分503および513の位置は、ラベルAの画像データ500および関連データ(オドメトリデータなど)を使用して高精度で識別される。部分505および515の位置は、ラベルBの画像データおよび関連データを使用して高精度で識別される。部分507および517の位置は、ラベルCの画像データおよび関連データを使用して高精度で識別される。時系列の要素を利用することにより、時系列によって捕捉されたレーンライン501および511の様々な部分の位置を、3次元で高精度で識別し、レーンライン501および511のグラウンドトゥルースの基礎として使用することができる。様々な実施形態において、決定されたグラウンドトゥルースは、画像データ500などの時系列の選択された要素に関連付けられる。グラウンドトゥルースおよび選択された要素は、レーンラインを予測するための訓練データを作成するために使用され得る。いくつかの実施形態では、訓練データは、人間のラベル付けなしで自動的に作成される。訓練データは、画像データ500などの捕捉画像データからレーンラインの3次元軌跡を予測するための機械学習モデルを訓練するために使用することができる。
【0059】
図6は、レーンラインの予測された3次元軌跡を有する車両センサから捕捉された画像の一例を示す図である。図示の例では、
図6の画像は、2つのレーンラインの間のレーンを走行する車両から捕捉された画像データ600を含む。画像データ600を捕捉するために使用される車両およびセンサの位置は、ラベルAによって表される。いくつかの実施形態では、ラベルAは、
図5のラベルAと同じ位置に対応する。画像データ600はセンサデータであり、運転中に車両の前向きカメラなどのカメラセンサから捕捉されてもよい。画像データ600は、レーンライン601、611の部分を捕捉する。レーンライン601および611は、レーンライン601および611が水平線に近づくにつれて右に湾曲する。図示されている例では、レーンライン601および611が見えているが、それらがカメラセンサの位置から離れて遠方に曲がるにつれて、検出がますます困難になる。レーンライン601および611の上に描かれた赤い線は、レーンライン601および611の予測された3次元軌跡である。本明細書で開示されるプロセスを使用して、3次元軌跡は、訓練された機械学習モデルへの入力として画像データ600を使用して予測される。いくつかの実施形態では、予測された3次元軌跡は、3次元パラメータ化スプラインまたは別のパラメータ化表現形式として表される。
【0060】
図示の例では、レーンライン601および611の部分621は、距離が離れているレーンライン601および611の一部である。レーンライン601および611の部分621の3次元位置(すなわち、経度、緯度、および高度)は、本明細書に開示されたプロセスを使用して高精度で決定され、レーンライン601および611の予測3次元軌跡に含まれる。訓練された機械学習モデルを使用して、画像データ600を使用して、かつレーンライン601および611の部分621の位置における位置データを必要とせずに、レーンライン601および611の3次元軌跡を予測することができる。図示の例では、画像データ600は、ラベルAの位置および時刻で捕捉される。
【0061】
いくつかの実施形態では、
図6のラベルAは
図5のラベルAに対応し、レーンライン601および611の予測3次元軌跡は、訓練された機械学習モデルへの入力として画像データ600のみを使用して決定される。
図5のラベルA、B、およびCの位置で取得された要素を含む時系列の画像データおよび関連データを使用して決定されたグラウンドトゥルースを使用して機械学習モデルを訓練することにより、レーンライン601および611の3次元軌跡は、部分621などの離れたレーンラインの部分でさえも高い精度で予測される。画像データ600および
図5の画像データ500は関連しているが、軌跡の予測は、画像データ600が訓練データに含まれることを必要としない。十分な訓練データで訓練することにより、新たに遭遇したシナリオでもレーンラインを予測することができる。様々な実施形態では、レーンライン601および611の予測3次元軌跡は、検出されたレーンライン内の車両の位置を維持するために、および/または予測レーンラインの検出されたレーンに沿って車両を自律的にナビゲートするために使用される。3次元でレーンラインを予測することにより、ナビゲーションの性能、安全性、および精度が大幅に改善される。
【0062】
前述の実施形態は、理解を明確にするためにある程度詳細に説明されているが、本発明は提供される詳細に限定されない。本発明を実施する多くの代替方法がある。開示された実施形態は例示的なものであり、限定的なものではない。