(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-14
(45)【発行日】2024-02-22
(54)【発明の名称】撮像システムのための車線の検出および追跡方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20240215BHJP
G06T 7/60 20170101ALI20240215BHJP
G08G 1/16 20060101ALI20240215BHJP
【FI】
G06T7/00 650A
G06T7/60 200J
G08G1/16 C
(21)【出願番号】P 2022541686
(86)(22)【出願日】2021-01-06
(86)【国際出願番号】 US2021012288
(87)【国際公開番号】W WO2021201946
(87)【国際公開日】2021-10-07
【審査請求日】2022-09-20
(32)【優先日】2020-01-06
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-07-08
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-07-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521026699
【氏名又は名称】ルミナー,エルエルシー
(74)【代理人】
【識別番号】110001999
【氏名又は名称】弁理士法人はなぶさ特許商標事務所
(72)【発明者】
【氏名】マヘシュワリ,プラナフ
(72)【発明者】
【氏名】ラメザニ,ヴァヒド アール.
(72)【発明者】
【氏名】ホウチェイミ,イスマイル エル
(72)【発明者】
【氏名】キラリ,シュブハム シー.
(72)【発明者】
【氏名】メータ,ロウナク スボード
(72)【発明者】
【氏名】イングラード,ベンジャミン
【審査官】伊知地 和之
(56)【参考文献】
【文献】国際公開第2013/186903(WO,A1)
【文献】米国特許出願公開第2019/0033871(US,A1)
【文献】特開2012-083892(JP,A)
【文献】特開2016-057750(JP,A)
【文献】特表2019-528499(JP,A)
【文献】米国特許出願公開第2016/0180177(US,A1)
【文献】小林靖他,高速高品質アウトラインフォントラスタライザの開発,沖電気研究開発 ,日本,沖電気工業株式会社,1995年06月28日,第62巻 第3号,pp.89-94
【文献】安達栄輔他,車の安全運転支援システムのための車線状態の推定法,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2007年03月08日,第106巻 第605号,pp.79-84
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
G08G 1/00 - 99/00
CSDB(日本国特許庁)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
道路上の車線を追跡する方法であって、1つまたは複数のプロセッサが、撮像システムから車線標識に関連するピクセルの集合を受け取るステップと、1つまたは複数のプロセッサが、(i)第1のスプラインと、(ii)撮像システムが移動する方向における第1のスプラインの予測される延長とを含む予測スプラインを生成するステップと、を含み、前記第1のスプラインは、車線境界を記述し、前記ピクセルの集合に基づいて生成され、前記第1のスプラインの予測される延長は、
前記撮像システムが移動する方向において前記ピクセルの集合の範囲を超えて延び、前記第1のスプラインの少なくとも一部の曲率に少なくとも部分的に基づいて生成される、ことを特徴とする方法。
【請求項2】
前記第1のスプラインの予測される延長を生成することは、さらに道路の形状、方向、または曲率を含む地図データに基づいて行われる、請求項1に記載の方法。
【請求項3】
前記ピクセルの集合は、道路の第1の部分について第1の時間に生成されたピクセルの
第1の集合であり、この方法は、1つまたは複数のプロセッサが、撮像システムから車線標識に関連するピクセルの第2の集合を受け取ること、および1つまたは複数のプロセッサが、車線の境界を記述する
更新されたスプラインを生成することと、
前記予
測スプラインを
前記ピクセルの第2
の集合と比較して尤度スコアを決定することをさらに含むことを特徴とする請求項1に記載の方法。
【請求項4】
尤度スコアを決定するために、
前記予
測スプラインを
前記ピクセルの第2の集合と比較することは、(i)
前記予
測スプラインから導出されたガウス核と、(ii)
前記ピクセルの第2の集合を表すヒストグラムのそれぞれの値を畳み込むことであって、該畳み込みが、畳み込み値の集合を生成することと、畳み込み値の集合上で合計して尤度スコアを決定することとを含むことを特徴とする請求項3に記載の方法。
【請求項5】
各ガウス核は、面積に正規化されることを特徴とする請求項4に記載の方法。
【請求項6】
前記尤度スコアは、前記予
測スプラインに関連するドライバビリティの測定値にさらに基づいており、該ドライバビリティの測定値は、前記予
測スプラインの少なくとも一部の曲率に基づいていることを特徴とする請求項3に記載の方法。
【請求項7】
(i)車線標識に関連するピクセルの事前集合、(ii)ピクセルの事前集合に基づく第1のスプラインの事前集合、および(iii)更新されたスプラインの事前集合を用いてスプラインの予測される延長を生成する機械学習モデルを訓練することと、該機械学習モデルをピクセルの集合に対して適用して第1のスプラインの予測される延長を生成することと、をさらに含むことを特徴とする請求項3に記載の方法。
【請求項8】
前記機械学習モデルを適用することは、特徴ラベルとして、前記車線標識に対応す
るピクセルに関するオペレータからの指示を適用することを含むことを特徴とする請求項7に記載の方法。
【請求項9】
前記予
測スプラインを生成することは、複数の予
測スプラインを生成することを含み、各予
測スプラインは、第1のスプラインと、第1のスプラインの少なくとも一部の曲率に少なくとも部分的に基づいて
生成された、撮像システムが移動する方向における第1のスプラインの予測される延長とを含むことを特徴とする請求項1に記載の方法。
【請求項10】
前記ピクセルの集合は、道路の第1の部分について第1の時間に生成されたピクセルの第1の集合であり、この方法は、1つまたは複数のプロセッサが、撮像システムから車線標識に関連するピクセルの第2の集合を受け取ることを含み、
前記第1のスプラインの予測される延長は、機械学習モデルを用いて生成され、前記予
測スプラインを前記
ピクセルの第2
の集合に比較することは、前記複数の予
測スプラインのそれぞれを前記
ピクセルの第2
の集合と比較して複数の尤度スコアを決定することを含んでおり、さらに、前記複数の尤度スコアの解析に基づいて機械学習モデルを調整することを含むことを特徴とする請求項9に記載の方法。
【請求項11】
前記予
測スプラインを生成することは、複数の粒子を生成することを含み、各粒子は、(i)第1のスプラインと(ii)第1のスプラインの予測される延長とを含む予測スプラインを含み、第1のスプラインの予測される延長は、第1のスプラインの少なくとも一部の曲率に少なくとも部分的に基づいており、複数の予測スプラインのそれぞれに対して尤度スコアを決定することを含む粒子フィルタ技術を適用することを含むことを特徴とする請求項1に記載の方法。
【請求項12】
前記粒子フィルタ技術は、関連する尤度スコアに従って前記複数の粒子を結合することにより、前記車線の境界の位置を決定することをさらに含むことを特徴とする請求項11に記載の方法。
【請求項13】
複数の粒子を組み合わせることは、車線の境界の位置を決定するために前記予
測スプラインの加重平均を決定するステップであって、各予
測スプラインはその関連する尤度スコアに従って加重されるステップを含むことを特徴とする請求項12に記載の方法。
【請求項14】
前記予
測スプラインを生成することは、複数の予測スプラインを生成することを含み、各スプラインは、(i)第1のスプラインと、(ii)第1のスプラインの少なくとも一部の曲率に少なくとも部分的に基づく第1のスプラインの予測される延長を含んでおり、各予測される延長に特定のノイズ信号を付加して各予測される延長に摂動を適用することを含むことを特徴とする請求項1に記載の方法。
【請求項15】
特定のノイズ信号を加えることは、
前記予
測スプラインの第1の部分について予測される延長の曲率の量を増加させ、
前記予
測スプラインの第2の部分について予測される延長の曲率の量を減少させることを含むことを特徴とする請求項14に記載の方法。
【請求項16】
特定のノイズ信号を加えることは、道路の形状、方向、または曲率を含む地図データに基づいて、
前記予
測スプラインの第1の部分について予測される延長の曲率量を増加または減少させることを含むことを特徴とする請求項14に記載の方法。
【請求項17】
前記複数の予
測スプラインは、少なくとも50個の予
測スプラインを含むことを特徴とする請求項14に記載の方法。
【請求項18】
1つまたは複数のプロセッサが、ピクセルの集合を複数のグループに分割するステップであって、複数のグループの各々は1つまたは複数の制御点に関連付けられるステップと、1つまたは複数のプロセッサが、複数のグループの制御点を通るスプラインを生成し、スプラインが車線の境界を記述するステップをさらに含むことを特徴とする、請求項1に記載の方法。
【請求項19】
前記スプラインを生成することは、前記1つまたは複数のプロセッサが、スプライン法を実行することをさらに含み、前記スプライン法が、前記1つまたは複数の制御点のみを利用することを特徴とする請求項18に記載の方法。
【請求項20】
スプライン法がキャットムル‐ロムスプライン法であることを特徴とする請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2020年1月6日に出願された米国特許仮出願第62/957650号、2020年7月8日に出願された米国特許出願第16/924129号、および2020年7月9日に出願された米国特許出願第16/925190号の優先権を主張し、これらの全体は参照により明示的に本出願に組み込まれる。
【0002】
本開示は、一般に、自律車両システムの物体検出能力に関し、より詳細には、自律車両の動作中に車線境界位置を正確に検出し、予測することに関する。
【背景技術】
【0003】
専用車線を有する道路に沿って移動する自律車両(または「自動運転車両」)は、車線境界および車線境界に対する車両位置の知識を必要とする。高精度測位と高精細(HD:High Definition)地図が利用できる場合、自律車両はこのデータに基づいて車線境界を決定することができる。しかし、多くの場合、HD地図は利用できないため、自律車両は、車載イメージセンサとコンピュータビジョン技術を使用してリアルタイムに車線境界を識別することになる。例えば、車載イメージセンサは、車両前方の路面を描写するピクセル(画素)のアレイを生成する光検出および測距(ライダー)(light detection and ranging: lidar)デバイスを含むものであってもよい。
【0004】
しかしながら、車載イメージセンサとコンピュータビジョン技術を使用して車線境界位置を決定することは、リアルタイムのデータ収集および解析のプロセッサ負荷が高いことを主な理由として、困難な課題である。特に高速では、自律車両がリアルタイムデータで示される領域に到達する前に、車線境界位置を正確に決定することが不可能な場合がある。車線境界位置の正確な決定ができない場合、自律車両が隣接する車線にドリフトしたり、他の車両と衝突したりする可能性がある。
【発明の概要】
【0005】
一般に、本開示の方法は、車線境界位置を正確かつ効率的に識別することによって、道路の車線を検出する。さらに、本開示の方法は、識別された車線境界位置に基づいて、撮像システム(例えば、ライダーシステム)のレンジを超える車線境界位置の位置を予測するものであってもよい。このように、本開示のシステムおよび方法は、特に、車線境界位置を識別するために必要な計算資源を削減することによって、従来のシステムおよび方法に対する顕著な技術的改善を達成する。
【0006】
一実施形態では、道路上の車線境界を検出するための方法は、1つまたは複数のプロセッサが、撮像システムから車線標示に関連付けられたピクセルの集合を受け取ることを含む。本方法は、1つまたは複数のプロセッサが、ピクセルの集合を複数のグループに分割することをさらに含み、複数のグループの各々は、1つまたは複数の制御点に関連付けられる。本方法は、1つまたは複数のプロセッサが、複数のグループの制御点を通るスプラインを、そのスプラインが車線境界を記述するように、生成することをさらに含む。
【図面の簡単な説明】
【0007】
【
図1】
図1は、車両環境内の車線標示の検出および/または車線標示の延長予測に基づいて、車両の1つまたは複数の動作を制御するための例示的なソフトウェアアーキテクチャを示すブロック図である。
【
図2】
図2は、
図1のセンサ制御アーキテクチャを使用して制御され得る例示的な光検出および測距(ライダー)システムのブロック図である。
【
図3】
図3は、
図2のライダーシステムが動眼視野内のターゲットを識別する際に生成する可能性のある走査パターンの例を示す図である。
【
図4A】
図4Aは、
図2のライダーシステムが動作することができる例示的な車両を示す図である。
【
図4B】
図4Bは、
図2のライダーシステムが動作することができる別の例示的な車両を示す図である。
【
図5】
図5は、自律車両の進行方向の例示的な環境を示す図である。
【
図6A】
図6Aは、
図5の環境と同様の環境に対して生成され得る点群の例を示す図である。
【
図6B】
図6Bは、
図6Aの例示的な点群の点を連結するための例示的なリンク方法を示す図である。
【
図6C】
図6Cは、
図6Aの例示的な点群の点を連結するための別の例示的なリンク方法を示す図である。
【
図6D】
図6Dは、
図6Aの例示的な点群の点を連結するためのさらに別の例示的なリンク方法を示す図である。
【
図6E】
図6Eは、
図6B~6Dの点の連結部分をサブセクションに分離する細分化方法の例を示す図である。
【
図6F】
図6Fは、
図6Eの各サブセクションの主成分を決定するための方法の例を示す図である。
【
図6H】
図6Hは、道路上の車線標示に対応する
図6Gの結合されたサブセクションに曲線を適合させるためのスプライン生成方法の例を示す。
【
図7A】
図7Aは、車両の動き、先行の車線標示検出、および先行の車線標示予測に基づく車線標示延長方法の例を示す図である。
【
図7B】
図7B、
図7Aからの延長スプラインが実際の車線標示にどれだけ適合するかを決定するための尤度評価方法の一例を示す図である。
【
図8】
図8は、道路上の車線境界を検出する方法を示すフローチャートである。
【
図9】
図9は、車線標示に関連するピクセルを識別する方法を示すフローチャートである。
【
図10】
図10は、道路上の車線を追跡する方法を示すフローチャートである。
【発明を実施するための形態】
【0008】
本開示のソフトウェアベースの技術は、車線標示が自律車両の制御操作に情報を提供し得るように、車道上の車線標示を検出および追跡するために使用される。車両は、完全な自動運転または「自律」車両、人間の運転手によって制御される車両、またはその2つのハイブリッド型の車両であってもよい。例えば、開示された技術は、自律車両の安全性/性能を向上させるために車両環境情報を取得するため、人間の運転手のための警告を生成するため、または単に特定の運転に関連するデータを収集するために使用されるものであってもよい。センサは、ライダー、レーダー、カメラ、および/または他のタイプのセンサなど、車両が移動している環境を感知することができる任意の1つまたは複数のタイプのセンサであってもよい。車両はまた、慣性測定装置(IMU)などの他のセンサを含むものであってもよく、および/または、車両の現在位置に関する情報を提供する他のタイプの装置(例えば、GPS装置)を含むものであってもよい。
【0009】
車線標示検出の概要
上述したように、本開示の方法は、自律車両のための車線標示の検出および識別能力を提供し得る。より具体的には、本開示の方法を実施するシステムは、車線標示を表す複数のピクセルを受け取り、それらのピクセル同士をリンクすることを進めてもよい。システムはまた、リンクされたピクセルが同様の車線に対応することを確実にするために、1つまたは複数の方法を実行してもよい。全てのピクセルが最大で2つの他のピクセルにリンクされると、システムは、1つまたは複数の制御点を含む1つまたは複数のグループを作成してもよい。最後に、システムは、制御点を通るスプラインを生成してもよい。このようにして、システムは、各車線の位置を、スプラインによって縁取られた領域によって表されるように、効果的に決定することができる。これらの技術について、以下に詳しく説明する。
【0010】
車線の縁を検出するためのシステムは、最初に、車道の車線に関連するピクセルの集合を受け取るものであってもよい。受け取られた各ピクセルは、ピクセルの特定の部分集合が車線識別情報を含むように、識別情報を含んでもよい。例えば、ピクセルの集合の各ピクセルは、車線標示、車線標示の何らかの閾値距離内のピクセル、または車線標示を接続する帯状体を表すものであってよい。このように、車線標示を表すピクセルは、車線識別情報を含むことになる。いくつかの実施形態では、ピクセルの集合は、画像の上部に近いピクセルが車両からさらに離れるように、車道に沿って走行する車両の前方に延びる車道の部分を表してもよい。一例として、車道の部分は、右にカーブしており、車両の前方に2つの車線の間の分岐を含む2つの車線を有していてもよい。
【0011】
次に、本開示の方法を実施するシステムは、ピクセルの集合のピクセル同士をリンクして、リンクされたピクセルのセクションを作成してもよい。特定の実現態様では、システムは、「開始ピクセル」の各々から開始し、開始ピクセルの各々から一定の半径内の最近接ピクセルについてピクセルの集合を評価することによって、ピクセルをリンクしてもよい。システムは、各開始ピクセルについて最近接ピクセルを見つけ、最近接ピクセルをそれぞれの開始ピクセルに関連付け(例えば、リンクする)、最近接ピクセルを現行ピクセルとして指定し、現行ピクセルを前方向(例えば、車両から離れる方向)の最近接ピクセルにリンクしようと進行するものであってもよい。システムは、各ピクセルが少なくとも1つの他のピクセルとリンクされるまで、ピクセル同士を反復してリンクするものであってもよい。
【0012】
あるいは、システムは、受信時にピクセルのセットをバウンディングすることによって、リンク処理を実行してもよい。ピクセルのセットは、各外接ボックスに含まれるピクセルに基づいて各車線のマークを画定する一組の外接ボックスによって境界付けされてもよい。一旦境界が設定されると、システムは、先に説明したのと同様の方法で、または他の任意の適切な方法でピクセルを連結することを進めてもよいが、境界ボックスを越えて2つのピクセルを連結しないようにしてもよい。このようにして、システムは、リンクされたピクセルが2つの異なる車線識別に関連しないことを保証する。
【0013】
さらに、特定の実施態様では、車線識別は、接続インジケータをさらに含んでもよい。これらの接続インジケータは、2つのピクセル間の接続の方向依存性を表すことがある。例えば、2つのピクセル(第1のピクセルおよび第2のピクセル)は、同じ車線識別に関連付けられ、第2のピクセルが第1のピクセルの下方および右側に位置するように接続されてもよい。したがって、第1のピクセルの接続インジケータは、第2のピクセルが、第1のピクセルの下方および第1のピクセルの右側にある接続を介して第1のピクセルに接続されていることを示してもよい。
【0014】
いずれにしても、本開示の方法を実施するシステムは、ピクセルのセットの各ピクセルをピクセルのセットからの少なくとも1つの他のピクセルにリンクさせ、リンクされたピクセルのセットを作成することを進める。その後、システムは、リンクされたピクセルのセットをリンクされたピクセルのグループに細分化する。リンクされたピクセルの各グループは2つの端点を含み、本明細書では "制御点 "とも呼ばれる。システムは、リンクされたピクセルの各グループの制御点を使用して、リンクされたピクセルの他のグループ間および他のグループ間の接続を決定する。例えば、システムは、リンクされたピクセルのグループの主成分を決定してもよい。主成分は、車両の進行方向に平行な方向、車両の進行方向に垂直な方向、または他の任意の潜在的な方向など、関連する方向を有していてもよい。
【0015】
したがって、本開示の方法を実施するシステムは、ピクセルのグループの様々な制御点間および制御点間の空間的関係を調査してもよい。例えば、システムは、2つの制御点間の距離を測定して、それぞれの制御点に関連するピクセルのグループがリンクされるべきかどうかを判断するために、2つの制御点間の制御リンクを決定してもよい。特定の実装では、システムが2つの制御点の間の距離が最小閾値以下であると決定した場合、リンクされたピクセルのそれぞれのグループは、2つの制御点によってリンクされてもよい。システムが、2つの制御点の間の距離が最小閾値以上であるが最大閾値未満であると決定する場合、システムは、2つの制御点をリンクする制御リンクと、リンクされたピクセルのそれぞれのグループの主成分の間の角度を測定してもよい。さらに、または代替的に、システムは、リンクされたピクセルのそれぞれのグループの主成分間の角度を測定して、それぞれのグループが一緒にリンクされるべきかどうかを決定してもよい。いずれの場合も、角度が閾値以上であるとシステムが判断する場合、システムはそれぞれの制御グループをリンクさせないことができる。最後に、システムが、2つの制御点間の距離が最大閾値を超えていると判断する場合、システムは、リンクされたピクセルのそれぞれのグループをリンクさせないことができる。
【0016】
あるいは、特定の実装において、システムは、リンクされたピクセルのグループをリンクするためにグラフ理論を利用してもよい。システムは、最初に制御点の各々をグラフのノードとして割り当てることによって、グラフを構築してもよい。次に、システムは、ノードの各対の間にスプラインを当てはめることによって、各ノードをグラフの他のすべてのノードに接続してもよい。システムは、線、三次螺旋など、任意の適切なスプラインを使用してノードの各ペアを接続してもよいことを理解されたい。次に、システムは、2つの制御点間の各接続をグラフのそれぞれのエッジとして指定することができる。システムは、その後、障壁(例えば、異なる方向に走行する道路の間の領域、車道の縁など)を横断する縁にペナルティを課し、車線標示に従う縁にインセンティブを与えることによって、グラフの各縁に対するコストを決定してもよい。また、コスト評価には、道路の種類(例えば、州間道路、都市道路)と比較して、任意の特定のエッジの鋭さを示すドライバビリティ係数など、他の様々なパラメータが含まれてもよい。最後に、システムは、グラフを横断するために、ソースノードとターゲットノードを指定し、グラフを横断するための最低コストのルートを決定してもよい。システムは、車道の車線を表す最低コスト経路のグループを出力してもよい。例えば、最低コストパスの各々は、ノードのペアを含み、ノードの各ペアはスプラインによって結合され、最低コストパスのノードの各ペアの間のスプラインは、車線の表現を形成するために一緒に結合されてもよい。
【0017】
いずれの場合も、システムは、一緒にリンクされるべきリンクされたピクセルのグループを生成してもよい。したがって、システムは、システムが一緒にリンクされるべきであると決定したリンクされたピクセルのグループの制御点の間にスプラインを適合させてもよい。制御点間にスプラインを適合させることによって、システムは、リンクされたピクセルのグループの全てのピクセル間にスプラインを適合させるための面倒でプロセッサ集約的な計算に従事することなく、車線標示の正確な表現を生成してよい。このように、本開示の方法を実施するシステムは、車線標示を識別するために必要な計算資源を低減することによって、従来のシステムに対する顕著な技術的改善を達成する。前述したように、本システムは、任意の適切なスプライン技術を利用してもよいことが理解されよう。例えば、制御点を互いにリンクするために、システムは、キャットムル‐ロム(Catmull-Rom)スプライン法(スプライン作成法)を利用してもよい。
【0018】
(車線の追跡および予測の概要)
大まかに言えば、本開示の方法を実施するシステムは、上述の車線標示検出プロセスの一部として生成されたスプラインを使用することによって、部分的に、車道車線の位置を予測してもよい。特に、システムは、車線標示に関連付けられたピクセルのセットを受信し、車道車線の境界を定義するスプラインの生成を進めてもよい。その後、システムは、スプラインの少なくとも一部の曲率に基づいて、撮像システムが移動している方向におけるスプラインの予測される延長を生成してもよい。スプラインとスプラインの予測延長を合わせて、予測スプラインと呼ぶことがある。
【0019】
したがって、システムは、決定された車線標示を使用して、将来の車線標示の位置を予測することができる。システムは、以前の車線検出に基づいて、決定された車線標示を車両の現在位置のさらに前方に拡張することによって、予測プロセスを開始してもよい。例えば、システムが、車道の車線が右に湾曲していると判断した場合、システムは、将来の車線標示が、決定された車線標示よりもさらに車両の右側に変位することを予測してもよい。システムは、さらに、車両の動きに基づいて、将来の車線位置を更新してもよい。さらに、システムは、将来の車線標示の位置を予測する際に、事前の車線標示の予測を利用してもよい。
【0020】
いずれにしても、システムは、予測された車線標示の位置に適合するようにスプラインを生成してもよい。その後、システムは、車線標示の真の位置を示すセンサデータを受信してもよい。センサデータを使用して、システムは、本開示において「尤度スコア」(「L」)として参照される、予測された車線標示位置の精度を決定してもよい。システムは、多数の予測を生成し、各予測について尤度スコアLを決定してもよい。各予測に対して、システムは対応する尤度スコアLを使用して、予測プロセスで使用されるフィルタを更新し、洗練させることができる。
【0021】
(車線標示の検出および追跡のための技術例)
以下の説明において、最初に、
図1を参照して、車線標示の延長を検出および/または予測することに基づいて車両の1つまたは複数の動作を制御するための例示的なソフトウェアアーキテクチャが説明される。本明細書で説明されるアーキテクチャおよび方法の多くは、ライダーセンサを利用することができるため、次に、
図2~
図5を参照して、例示的なライダーシステムについて説明する。
図6A~7Bは、車線標示の検出および車線標示の延長の予測におけるソフトウェアアーキテクチャの使用を説明するものである。最後に、
図8~
図10のフローチャートに関して、車線標示の検出、識別、および追跡(例えば、延長の予測)に関連する例示的な方法が説明される。
【0022】
図1は、自律車両の動作中に車線標示を動的に検出および追跡するために使用される、ソフトウェアベースの車線標示検出および追跡アーキテクチャ100の一例を示す図である。車線標示の検出および追跡アーキテクチャ100は、自律車両によって(例えば、車両の現在の環境に基づいてインテリジェントな運転決定を行うために)、または非自律車両によって他の目的のために(例えば、特定の運転に関連するデータを収集するために)、利用され得る1つまたは複数のセンサ101を含んでいる。
【0023】
本明細書で使用される用語として、「自律」車両または「自動運転」車両は、その環境を感知し、人間の入力は全くない状態で、人間の入力がほとんどない状態で、人間の入力が任意に選択できる状態で、および/または、状況特有の人間の入力とともに、ナビゲートまたは運転するように構成された車両である。例えば、自律車両は、任意の適切な場所まで走行し、全行程の安全上重要な機能(例えば、運転、ステアリング、ブレーキ、駐車)を制御または実行し、いかなる時も運転者による車両の制御は期待されないように(あるいは、制御できないようにすら)構成され得る。別の例として、自律車両は、特定の環境(例えば、高速道路上)および/または特定の走行モードにおいて、運転者が運転作業から安全に注意をそらすことができるようにすることができる。
【0024】
自律車両は、車両内に人間の運転手が存在する状態で運転するように構成されてもよく、または人間の運転手が存在しない状態で運転するように構成されてもよい。一例として、自律車両は、関連する制御装置(例えば、ステアリングホイール、アクセルペダル、およびブレーキペダル)を有する運転席を含んでもよく、車両は、運転席に誰も座っていない状態で、または運転席に座る人からの入力が限定的、条件付き、またはない状態で運転するよう構成されてもよい。別の例として、自律車両は、運転席または関連する運転席の制御装置を一切含まず、車両は、人間の入力なしに実質的にすべての運転機能(例えば、運転、ステアリング、ブレーキ、駐車、およびナビゲート)を常時実行してもよい(例えば、車両は、車両に運転者が存在することなく人間の乗客または貨物を輸送するように構成されてもよい)。別の例として、自律車両は、人間の乗客なしで動作するように構成されてもよい(例えば、車両は、車両に人間の乗客を乗せることなく、貨物の輸送のために構成されてもよい)。
【0025】
本明細書で使用される場合、「車両」は、人または貨物を輸送するように構成された移動機を指すものであってもよい。例えば、車両は、乗用車、自動車、原動機付き車両、トラック、バス、バン、トレーラー、オフロード車両、農耕用作業車、芝刈り機、建設機械、ゴルフカート、キャンピングカー、タクシー、オートバイ、スクーター、自転車、スケートボード、列車、スノーモービル、水上機(例えば、船またはボート)、航空機(例えば、固定翼機、ヘリコプター、または飛行船)、または宇宙機を含むか、その形態をとるか、またはこれらを指すものであってもよい。特定の実施形態において、車両は、車両の推進力を提供する内燃機関または電気モータを含むものであってもよい。
【0026】
図1に示されるように、車両は、N個の異なるセンサ101を含む。ここで、Nは任意の適切な整数(例えば、1、2、3、5、10、20など) である。センサ101のうち少なくとも「センサ1」は、環境中の物体で反射するまたは散乱されるレーザー光を送受信する(例えば、センサがライダー装置である場合)、環境中の物体から反射する無線または音響信号を送受信する(例えば、センサがレーダーまたはソナー装置である場合)、環境の様々な領域から発生または反射する光波を単に受信する(例えば、センサがカメラである場合)等々、何らかの方法で環境と物理的に相互作用することにより自律車両の環境を感知するように構成されている。実施形態では、センサ101(例えば、「センサ1」、「センサ2」、・・・、および「センサN」)の全てが、環境の一部を感知するように構成されてもよく、またはセンサ101の1つまたは複数が外部環境と物理的に相互作用しなくてもよい(例えば、センサ101の1つが慣性測定装置(IMU)である場合)。センサ101は、全て同じタイプであってもよく、または複数の異なるセンサタイプ(例えば、異なる視角を有する複数のライダー装置、および/またはライダー、カメラ、レーダー、および熱撮像装置の組み合わせなど)を含むものであってもよい。
【0027】
センサ101によって生成されたデータは、車線標示の検出および追跡アーキテクチャ100の知覚コンポーネント102に入力され、知覚コンポーネント102によって処理されて、車両の環境の現在の状態を記述する知覚信号103が生成される。「現在」という用語は、例えば、知覚コンポーネント102の少なくとも一部の部分および他の要因によってもたらされる短い処理遅延のために、実際には、任意の与えられた知覚信号103の生成に先立つ非常に短い時間を指す場合があることを理解されたい。別個の車線標示検出モジュール104は、例えば、物体分類に関連するより計算負荷の高いモジュールよりも短い処理遅延で、検出された車線標示に関連する知覚信号を生成するものであってもよい。
【0028】
車線標示の検出および追跡アーキテクチャ100はまた、知覚信号103を処理して、車両の環境の1つまたは複数の予測される将来の状態を記述する予測信号106を生成する、車線追跡および予測モジュール105を含む。例えば、車線追跡および予測モジュール105は、車線標示検出モジュール104によって生成された知覚信号103において識別された車線標示の位置および方向を解析して、車線標示の1つまたは複数の延長を予測することができる。比較的単純な例として、車線追跡および予測モジュール105は、あらゆる移動物体がその現在の方向および速度に変更を加えずに移動を続けると仮定してもよく、場合によっては、継続的に方向を変えている物体、加速している物体などをより良く追跡するために、1次または高次の微分を考慮に入れてもよい。加えて、または代わりに、車線追跡および予測モジュール105は、予測信号106を生成する際に車線追跡および予測モジュール105の動作を補足および/または改善するために、車線標示検出モジュール104によって生成された過去の知覚信号103を利用してもよい。
【0029】
いくつかの実施形態において、知覚信号103および予測信号106は、車両の1つまたは複数の動作を制御するために使用される。例えば、信号103、106は、車両の1つまたは複数の動作を制御する車両制御信号(図示せず)を生成するために信号103、106を処理する車両制御コンポーネント107に入力されるものであってもよい。特に、車両制御コンポーネント107は、車両の前輪の向きを調整するための車両制御信号を生成してもよい。車両は、車両制御信号に従って前輪の向きを調整することにより、信号103、106で記述される車線標示によって定められる車線内の安全な中心位置を維持するものであってもよい。
【0030】
上述した様々な例に示されるように、車両によって収集されたセンサデータは、いくつかの実施形態において、1つまたは複数のライダー装置またはより一般的にはライダーシステムによって生成される点群データを含むものであってもよい。次に、ライダーシステムによって生成され得るデータの種類、およびライダーシステムおよびデバイスが機能し得る態様のより良い理解を提供するために、例示的なライダーシステムおよび点群について、
図2~5を参照して説明する。
【0031】
まず
図2を参照すると、ライダーシステム200は、例えば、
図1のセンサ101の少なくとも1つとして使用されるものであってもよい。様々なライダーシステムの構成要素および特性が本明細書に記載されているが、任意の適切な1つまたは複数のライダー装置または1つまたは複数のライダーシステム、および/または、任意の他の適切なタイプのセンサが、本明細書に記載されるソフトウェアアーキテクチャを使用して処理するためのセンサデータを提供し得ることは理解されるであろう。
【0032】
例示的なライダーシステム200は、光源210、ミラー215、スキャナ220、受光器240、およびコントローラ250を含むものであってもよい。光源210は、例えば、電磁スペクトルの赤外、可視、または紫外領域における特定の動作波長を有する光を出射するレーザー(例えば、レーザーダイオード)であってもよい。光源210は、動作において、所定の用途に適した任意の方法で連続波、パルス、または変調波の光の出力ビーム225を出射する。光の出力ビーム225は、ライダーシステム200から距離Dに位置し、システム200の動眼視野(field of regard)内に少なくとも部分的に含まれる遠隔ターゲット230に向かって射程に沿って向けられる。
【0033】
出力ビーム225が射程に沿った範囲のターゲット230に到達すると、ターゲット230は、出力ビーム225からの光の少なくとも一部を散乱させ、または場合によっては反射し、散乱光または反射光の一部がライダーシステム00に向かって戻る可能性がある。
図2の例では、散乱または反射された光は、スキャナ220(ビームスキャナ、光学スキャナ、またはレーザースキャナと呼ばれる場合もある)を通過する入力ビーム235によって表される。入力ビーム235は、スキャナ220を通過して、ミラー215(オーバーラップミラー、重ね合わせミラー、またはビームコンバイナミラーと呼ばれる場合もある)に向かう。ミラー215は、今度は、入力ビーム235を受光器240に向ける。
【0034】
入力ビーム235は、ターゲット230によって散乱された出力ビーム225からの光、ターゲット230によって反射された出力ビーム225からの光、またはターゲット230からの散乱光と反射光の組合せを含むことができる。いくつかの実施形態において、ライダーシステム200は、人の目に損傷を与える可能性がほとんどまたは全く存在しない「アイセーフ」レーザーを含むことができる。入力ビーム235は、出力ビーム225からの光の比較的小さな部分のみを含むものであってもよい。
【0035】
受光器240は、入力ビーム235から光子を受信または検出し、それを表す1つまたは複数の信号を生成してもよい。例えば、受光器240は、入力ビーム235を表す出力電気信号245を生成してもよい。受光器は、電気信号245をコントローラ250に送信してもよい。実現態様によっては、コントローラ250は、ライダーシステム200からの距離などといったターゲット230の1つまたは複数の特性を決定するために、電気信号245の1つまたは複数の特性を解析するように構成された1つまたは複数の命令実行プロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGAA)、および/または他の適切な回路を含むものであってもよい。より詳細には、コントローラ250は、光源210によって送信された光ビーム225に対する飛行時間または位相変調を解析してもよい。ライダーシステム200がTの飛行時間(例えば、Tは、出射された光パルスがライダーシステム200からターゲット230に移動してライダーシステム200に戻るまでの往復飛行時間を表す)を測定した場合、ターゲット230からライダーシステム200までの距離Dは、D=c・T/2と表すことができる。ここで、cは光速(約3.0×108 m/s)である。
【0036】
ライダーシステム200からの距離Dは、ライダーシステム200の最大レンジRMAX以下である。ライダーシステム200の最大レンジRMAX(最大距離とも呼ばれ得る)は、ライダーシステム200がライダーシステム200の動眼視野内に現れるターゲットを感知または識別するように構成される最大距離に対応するものであってもよい。ライダーシステム200の最大レンジは、例えば、50m、200mm、500m、または1kmなど、任意の適切な距離であってもよい。
【0037】
いくつかの実現態様では、光源210、スキャナ220、および受光器240は、ライダーシステム200の全てまたは一部を保持するまたは含む箱、ケース、または筐体である得る単一のハウジング255内に一緒にパッケージ化されていてもよい。ハウジング255は、ビーム225および235が通過する窓257を含む。コントローラ250は、構成要素210、220、および240と同じハウジング255内に存在してもよく、またはコントローラ250は、ハウジング255の外部に存在するものであってもよい。例えば、一実施形態では、コントローラ250は、代わりに
図1に示す車線標示の検出および追跡アーキテクチャ100の知覚コンポーネント102内に存在する、または部分的に存在するものであってもよい。いくつかの実現態様では、ハウジング255は、複数のライダーセンサを含み、複数のライダーセンサのそれぞれは、それぞれのスキャナおよび受光器を含む。特定の実現態様に応じて、複数のセンサの各々は、別個の光源または共通の光源を含むことができる。実現態様に応じて、複数のセンサは、例えば、重複することなく隣接する複数の動眼視野または部分的に重複する複数の動眼視野を射程に入れるように構成することができる。
【0038】
図2を引き続き参照すると、出力ビーム225および入力ビーム235は、実質的に同軸であってもよい。言い換えれば、出力ビーム225および入力ビーム235は、入力ビーム235および出力ビーム225が(反対方向ではあるが)実質的に同じ光路に沿って進行するように、少なくとも部分的に重なるかまたは共通の伝搬軸を共有するものであってもよい。ライダーシステム200が出力ビーム225を動眼視野にわたって走査すると、入力ビーム235は、2つのビームの間の同軸関係が維持されるように、出力ビーム225に追従するものであってもよい。
【0039】
一般に、スキャナ220は、出力ビーム225を射程に沿った範囲の1つまたは複数の方向に向ける。これを達成するために、スキャナ220は、1つまたは複数の走査ミラーと、例えば1つまたは複数の軸回りにミラーを回転、傾斜、旋回、または角度的に移動させるようにミラーを駆動する1つまたは複数のアクチュエータとを含んでいてもよい。
図2には、単一のミラー215のみが示されているが、ライダーシステム200は、出力ビーム225または入力ビーム235を方向付けるまたは集束するための任意の適切な数の平面または曲面ミラー(例えば、凹面、凸面、または放物面のミラー)を含むものであってもよい。例えば、スキャナの第1のミラーは、第1の方向に沿って出力ビーム225を走査してもよく、第2のミラーは、第1の方向と実質的に直交する第2の方向に沿って出力ビーム225を走査するものであってもよい。
【0040】
ライダーシステム200の「動眼視野」は、ライダーシステム200が距離情報を走査または捕捉するように構成され得る範囲、領域、または角度範囲を指すものであってもよい。例えば、ライダーシステム200が30度の走査範囲内で出力ビーム225を走査する場合、ライダーシステム200は、30度の角度的な動眼視野を有すると言うものであってもよい。スキャナ220は、出力ビーム225を水平方向および垂直方向に走査するように構成されてもよく、ライダーシステム200の動眼視野は、水平方向に沿った特定の角度幅および垂直方向に沿った別の特定の角度幅を有していてもよい。例えば、ライダーシステム200は、10°~120°の水平方向の動眼視野と、2°~45°の垂直方向の動眼視野とを有していてもよい。
【0041】
スキャナ220の1つまたは複数の走査ミラーは、コントローラ250に通信可能に結合されてもよく、コントローラ250は、出力ビーム225を射程に沿った範囲の所望の方向にまたは所望の走査パターンに沿って誘導するように1つまたは複数の走査ミラーを制御し得る。一般に、走査(または走査ライン)パターンは、出力ビーム225が向けられるパターンまたは経路を指すものであってもよい。ライダーシステム200は、走査パターンを使用して、実質的に動眼視野を覆う点または「ピクセル」を有する点群を生成することができる。ピクセルは、動眼視野にわたってほぼ均等に分布していてもよく、または特定の非均一分布に従って分布していてもよい。
【0042】
動作中、光源210は、スキャナ220がライダーシステム200の動眼視野にわたって走査する光パルスを出射することができる。ターゲット230は、出射されたパルスの1つまたは複数を散乱させてもよく、受光器240は、ターゲット230によって散乱された光のパルスの少なくとも一部分を検出してもよい。受光器240は、入力ビーム235の少なくとも一部を受信または検出し、入力ビーム235に対応する電気信号を生成してもよい。コントローラ250は、光源210、スキャナ220、および受光器240のうちの1つまたは複数に電気的に結合されていてもよく、そうでなければ通信可能に結合されていてもよい。コントローラ250は、光源210がいつ光パルスを生成すべきか、および場合によってはパルスの特性(例えば、持続時間、周期、ピークパワー、波長など)を示す命令、制御信号、またはトリガ信号を光源210に提供してもよい。コントローラ250は、光源210によってパルスが出射されたとき、及び、パルスの一部(例えば、入力ビーム235)が受光器240によって検出または受信されたときに関連するタイミング情報に基づいて、光パルスの飛行時間値を決定することもできる。
【0043】
上述したように、ライダーシステム200は、射程に沿った範囲の1つまたは複数のターゲット230までの距離を決定するために使用され得る。ライダーシステム200を動眼視野にわたって走査することによって、システムは、動眼視野内の多数の点への距離をマッピングするために使用され得る。これらの深度マッピングされた点の各々は、ピクセルまたはボクセルと呼ばれることがある。連続して取得されたピクセルの集まり(深度マップ、点群、または点群フレームと呼ばれる場合がある)は、画像としてレンダリングされてもよく、物体を識別または検出するため、または動眼視野内の物体の形状または距離を決定するために解析されるものであってもよい。例えば、深度マップは、水平方向に60°および垂直方向に15°広がる動画視野を対象にするものであってもよく、深度マップは、100~2000ピクセル(水平方向)×4~400ピクセル(垂直方向)のフレームを含んでいてもよい。
【0044】
ライダーシステム200は、例えば、約0.1フレーム/秒(FPS)~約1000FPSの間の任意の適切なフレームレートで、関心領域の点群を繰り返し捕捉または生成するように構成されてもよい。点群フレームレートは、実現態様に応じて、実質的に固定されていてもよく、または動的に調整可能であってもよい。一般に、ライダーシステム200は、より遅いフレームレート(例えば、1Hz)を使用して1つまたは複数の高解像度点群を取得することができ、より速いフレームレート(例えば、10Hz)を使用して複数の低解像度点群を迅速に取得することができる。
【0045】
ライダーシステム200の動眼視野は、ターゲット230の少なくとも一部に重なる、包含する、または囲むものであってもよく、このターゲットは、ライダーシステム200に対して移動または静止している物体の全てまたは一部を含むものであってもよい。例えば、ターゲット230は、人、車両、オートバイ、トラック、列車、自転車、車椅子、歩行者、動物、道路標識、交通信号、車線標示、路面標示、駐車スペース、パイロン、ガードレール、交通障壁、ポットホール、踏切、道路内またはその近くの障害物、縁石、道路上または横の停止車両、電柱、家、建物、ゴミ箱、郵便受け、木、他の任意の適切な物体、あるいは2以上の物体の全てまたは一部の任意の適切な組み合わせの全てまたは一部を含むものであってもよい。
【0046】
図3は、
図2のライダーシステム200が生成する可能性のある例示的な走査パターン260を示す。特に、ライダーシステム200は、出力光ビーム225を走査パターン260に沿って走査するように構成され得る。いくつかの実現態様では、走査パターン260は、任意の適切な水平動眼視野(FOR
H)および任意の適切な垂直動眼視野(FOR
V)を有する任意の適切な動眼視野にわたる走査に相当する。例えば、ある走査パターンは、角度寸法(例えば、FOR
H×FOR
V)40°×30°、90°×40°、または60°×15°によって表される動眼視野を有することができる。
図3には「ジグザグ」パターン260が描かれているが、他の実現態様では、代わりに、他のパターン(例えば、平行、水平走査線)を採用してもよく、および/または特定の状況において他のパターンが採用されてもよい。
【0047】
図3の例示的な実現態様および/またはシナリオにおいて、基準線262は、走査パターン260の動眼視野の中心を表す。
図3において、走査パターン260が60°×15°の動眼視野を有する場合、走査パターン260は、基準線262に対して±30°の水平範囲と、基準線262に対して±7.5°の垂直範囲とをカバーする。方位(方位角と呼ぶこともある)は、基準線262に対する水平方向の角度を表すことができ、高度(高度角、仰角と呼ぶこともある)は、基準線262に対する垂直方向の角度を表すことができる。
【0048】
走査パターン260は、複数の点またはピクセル264を含んでもよく、各ピクセル264は、1つまたは複数のレーザーパルスおよび1つまたは複数の対応する距離測定値と関連付けられてもよい。走査パターン260の1サイクルは、総数でPx×Py個のピクセル264(例えば、Px×Py個のピクセルの2次元分布)を含んでもよい。水平方向に沿ったピクセル264の数は、走査パターン260の水平解像度と呼ばれることがあり、垂直方向に沿ったピクセル264の数は、走査パターン260の垂直解像度と呼ばれることがある。
【0049】
各ピクセル264は、距離/深度(例えば、対応するレーザーパルスが散乱されたターゲット230の部分までの距離)および1つまたは複数の角度値と関連付けられてもよい。一例として、ピクセル264は、距離値、およびライダーシステム200に対するピクセル264の角度位置を表す2つの角度値(例えば、方位および高度)と関連付けられてもよい。ターゲット230の一部への距離は、対応するパルスの飛行時間測定に少なくとも部分的に基づいて決定されてもよい。より一般的には、各点またはピクセル264は、その2つの角度値に加えて、1つまたは複数のパラメータ値に関連付けられてもよい。例えば、各点またはピクセル264は、その点またはピクセルの角度値に加えて、深さ(距離)値、受信した光パルスから測定された強度値、および/または1つまたは複数の他のパラメータ値に関連付けられてもよい。
【0050】
角度値(例えば、方位または高度)は、(例えば、対応するパルスがライダーシステム200から出射されるときの)出力ビーム225の角度、または、または(例えば、入力信号がライダーシステム200によって受信されるときの)入力ビーム235の(例えば、基準線262に対する)角度に対応し得る。いくつかの実現態様では、ライダーシステム200は、スキャナ220の構成要素の位置に少なくとも部分的に基づいて角度値を決定する。例えば、ピクセル264に関連する方位値または高度値は、スキャナ220の1つまたは複数の対応する走査ミラーの角度位置から決定されてもよい。基準線262に対応する高度ゼロかつ方位角ゼロの方向は、ライダーシステム200のニュートラルルック方向(またはニュートラル視線方向)と呼ばれる場合もある。
【0051】
図4Aは、ライダーシステム302を備えた例示的な車両300を図示している。ライダーシステム302は、複数のセンサヘッド312A~312Dを含み、それらの各々は、それぞれのレーザーを備える。あるいは、センサヘッド312A~Dは、適切なレーザーセンサリンクを介して単一のレーザーに結合され得る。一般に、センサヘッド312の各々は、
図2に図示されたライダーシステム200の構成要素の一部または全部を含むことができる。
【0052】
図4Aのセンサヘッド312は、車両の周囲の環境の30度より大きい視野を提供するように配置または配向される。より一般的には、複数のセンサヘッドを有するライダーシステムは、約30°、45°、60°、90°、120°、180°、270°、または360°の車両周りの水平視野を提供してもよい。センサヘッド312の各々は、バンパー、フェンダー、グリル、サイドパネル、スポイラー、ルーフ、ヘッドライトアセンブリ、テールライトアセンブリ、バックミラーアセンブリ、フード、トランク、窓、または車両の他の任意の適切な部分に取り付けられてもよく、またはそれらに組み込まれてもよい。
【0053】
図4Aの例では、4つのセンサヘッド312が車両の四隅またはその近くに配置され(例えば、センサヘッド312の各々がライトアセンブリ、サイドパネル、バンパー、またはフェンダーに組み込まれてもよい)、レーザー310は、車両300内(例えば、トランク内またはその近く)に配置されてもよい。4つのセンサヘッド312は、それぞれ90°~120°の水平動眼視野(FOR)を備えるものであってもよく、4つのセンサヘッド312は、共に車両周りの完全な360度の動眼視野を備えるように配向されてもよい。別の例では、ライダーシステム302は、車両300上または周囲に配置された6つのセンサヘッド312を含んでもよく、センサヘッド312の各々は、60°~90°の水平方向のFORを備えるものであってもよい。別の例では、ライダーシステム302は、8つのセンサヘッド312を含んでもよく、センサヘッド312の各々は、45°~60°の水平方向のFORを備えるものであってもよい。さらに別の例として、ライダーシステム302は、6つのセンサヘッド312を含んでもよく、センサヘッド312の各々は、隣接するFOR間に約10°の重複を有する70°の水平FORを備えるものであってもよい。別の例として、ライダーシステム302は、連携して30°以上の前方向水平FORを備える2つのセンサヘッド312を含むものであってもよい。
【0054】
センサヘッド312の各々からのデータは、車両周りの30度以上の水平視野に広がる点群を生成するために結合または組み合わされるものであってもよい。例えば、レーザー310は、センサヘッド312のそれぞれから(例えば、対応する電気リンク320を介して)データを受信し、受信したデータを処理して、車両周りの360度の水平視野に広がる点群を構築するまたは1つまたは複数のターゲットへの距離を決定するコントローラまたはプロセッサを含むものであってもよい。点群または点群からの情報は、対応する電気的、光学的、または無線のリンク320を介して、車両コントローラ322に提供されてもよい。車両コントローラ322は、1つまたは複数のCPU、GPU、および、永続的コンポーネント(例えば、フラッシュメモリ、光ディスク)を備えた非一時的なメモリおよび/または非永続的コンポーネント(例えば、RAM)を含んでいてもよい。
【0055】
いくつかの実現態様では、点群は、レーザー310内に含まれるコントローラで複数のセンサヘッド312のそれぞれからのデータを結合することによって生成され、車両コントローラ322に提供される。他の実現態様では、センサヘッド312の各々は、車両周りの360度の水平視野の一部について点群を構築し、それぞれの点群を車両コントローラ322に提供するコントローラまたはプロセッサを含む。次に、車両コントローラ322は、それぞれのセンサヘッド312からの点群を結合または組合せて、360度の水平視野に広がる結合点群を構築する。さらに、いくつかの実現態様における車両コントローラ322は、点群データを処理するためにリモートサーバと通信する。
【0056】
いずれの場合も、車両300は、車両コントローラ322が車両300内の様々な構成要素330に制御信号を提供し、車両300の操縦およびその他の動作を制御する自律車両であってもよい。
図4Aにおいて、構成要素330は、説明を容易にすることのみを目的として、拡大図で示されている。構成要素330は、アクセル340、ブレーキ342、車両エンジン344、ステアリング機構346、ブレーキライト、ヘッドライト、バックライト、非常灯などのライト348、ギアセレクタ350、IMU343、追加のセンサ345(例えば、以下に示すカメラ、レーダー、音響センサ、大気圧センサ、水分センサ、周囲光センサ)、および/または車両300の移動を効果的に制御する他の適切な構成要素を含んでいてもよい。ギアセレクタ350は、パークギア、リバースギア、ニュートラルギア、ドライブギアなどを含んでもよい。構成要素330の各々は、構成要素が車両コントローラ322から「速度を上げる」、「速度を下げる」、「左に5度曲がる」、「左折の方向指示器を起動する」等の指令を受け取り、場合によっては、車両コントローラ322にフィードバックを提供するインターフェースを含んでいてもよい。
【0057】
車両コントローラ322は、構成要素300から入力を受信し、知覚機械学習(ML)モデル354を使用して、検出された物体、道路標識などの表示をモーションプランナー356に提供する知覚モジュール352を含むものであってもよく、モーションプランナー356は、車両300を操縦するための構成要素330の指令を生成する、
図1に戻って参照すると、一実施形態における構成要素352~356は、任意の好適な構成で、構成要素102~107を実現している。
【0058】
いくつかの実現態様では、車両コントローラ322は、センサヘッド312からリンク320を介して点群データを受信し、受信した点群データを、本明細書に開示する集積型または個別のSDCAのいずれか1つまたは複数を使用して解析し、ターゲット230(
図2参照)およびそれらのそれぞれの位置、距離、速度、形状、サイズ、ターゲットのタイプ(例えば、車両、人間、木、動物)などについて感知または識別する。次に、車両コントローラ322は、解析された情報に基づいて車両の動作を制御するために、別のリンク320を介して構成要素330に制御信号を提供する。
【0059】
ライダーシステム302に加えて、車両300は、カメラ、熱撮像装置、従来のレーダー等の他のセンサ345(図の煩雑さを避けるために図示されていない)を装備することもできる。これらのセンサは、有線または無線の通信リンクを介して車両コントローラ322に追加のデータを提供することができる。さらに、例示的な実施形態における車両300は、音源を決定するように構成された音響音源定位システムの一部として動作するマイクロホンアレイを含む。
【0060】
別の例として、
図4Bは、複数のセンサヘッド372がボンネットの前部およびトランク上に配置されている車両360を示す。複数のセンサヘッド372は、それぞれが
図4Aのセンサヘッド312の1つと同様もものであってもよい。特に、センサヘッド372Bおよび372Cは、車両360の向きに対して後方を向くように配向され、センサヘッド372Aおよび372Dは、車両360の向きに対して前方を向くように配向される。別の実施態様では、追加のセンサは、例えば、ドアミラーに配置される。
【0061】
図5には、例示的な実世界の運転環境380が描かれており、
図6Aは、環境380を走査するライダーシステム(例えば、
図2および
図3のライダーシステム200、または
図4Aのライダーシステム302)により生成される例示的な点群600が描かれている。
図5に示されるように、環境380は、交通の2つの方向を分割する中央壁を有し、、各方向に複数の車線を備えた高速道路を含んでいる。
図6Aの点群600は、ライダー装置が、各ピクセル601が車道の車線に関連付けられた車線標示に対応する複数のピクセルデータを取得する例示的な実施形態に対応するものである。点群600のピクセル601は、全点群に対して分類操作が実行された後に得られるものであってもよい。全点群は、ライダーシステムによって取得されたシーンの3次元レンダリングを含んでもよく、分類操作は、全点群の各ピクセルを特定のタイプのピクセル(例えば、路面、車線標示、車線境界、車両、自転車、標識など)として分類してもよい。
図6Aのピクセル601は、全点群から車線の検出または追跡に関連するピクセルのみを含むように選択されてもよい。例えば、ピクセル601は、次のように指定されている場合に選択されてもよい。すなわち、車線標示のピクセル、車線境界のピクセル、または、車線標示もしくは車線境界の閾値距離内の路面のピクセルである。点群600は、例えば、
図4Aのセンサヘッド312Aおよび312D、または
図4Bのセンサヘッド372Aおよび372Dを用いて生成されたものであってもよい。点群600は、複数のセンサヘッド(例えば、センサヘッド372Aおよび372D)からのデータを融合することによって、各点に対して、共通の原点および基準視線方向に関して、範囲、方位、および仰角を割り当ててもよい。共通の原点は、複数のセンサヘッドの平均位置およびニュートラル視線方向として指定されてもよく、または、任意の他の都合のよい点および/もしく視線方向として指定されてもよい。
図6Aは視覚的な画像として描かれているが、いくつかの実施形態では、点群600は、いかなるときにも実際にはレンダリングまたは表示されないものである。
【0062】
本明細書で使用する場合、「車線境界」という用語は、例えば、白色または黄色の実線、もしくは白色または黄色の破線などの車線標示を指す場合がある。2つの隣接する車線境界は、車両が走行することができる車線の縁を定めるものである。さらに、「左境界」および「右境界」は、それぞれ、車線境界の左端および右端に対応するものであってもよい。例えば、隣接する車線境界は、車線の幅に相当する約3.66メートル(12フィート)の距離で分離されてもよく、左境界と右境界は、車線境界を定める一般的なマークの幅に相当する約15.2センチメートル(6インチ)で分離されてもよい。
【0063】
図6Aに示されるように、点群600は、車道の2つの車線および出口ランプ(exit ramp)に関連する車線標示を表している。分かりやすくするために、
図6Aに示された物体のうち少数のものだけに参照番号が付けられている。
図1に戻って、点群600内の物体の明確なもの(例えば、ピクセル601)は、知覚コンポーネント102によって識別され得る。例えば、知覚コンポーネント102は、点群600の地表面の走査線における実質的なギャップおよび/または他の不連続性を検出し、それらの不連続性の近傍にある点のグループを別個の物体として識別してもよい。知覚コンポーネント102は、任意の適切な規則、アルゴリズム、またはモデルを用いて、どの点が同じ物体に属するかを決定してもよい。物体が識別されると、知覚コンポーネント102および/または
図1の車線追跡および予測モジュール105は、点群600と同様の将来の点群にわたって(すなわち、複数の点群フレームにわたって)物体を分類および/または追跡することを試みてもよい。
【0064】
より具体的には、知覚コンポーネント102は、点群600を受信し、そこに表される各ピクセル(例えば、ピクセル601)を車線標示として識別してもよい。いくつかの実施形態では、点群600の各ピクセルは、既定の識別情報を伴って知覚コンポーネント102に到着し、それによって、知覚コンポーネント102は車線標示ピクセルを自動的に関連付けるものであってもよい。しかし、
図6Aに示されるように、複数のピクセル(例えば、ピクセル601)のそのようなばらばらな関連付けは、車両が車道に沿って移動する際に車両を誘導するには不十分である可能性がある。車両制御ユニット(例えば、車両制御コンポーネント107)は、車線標示ピクセル間のギャップを誤認し、車両に予期せぬ旋回、ブレーキ、加速、および/または他の任意の制御操作をさせる可能性がある。そのような異常な制御動作を回避するために、知覚コンポーネント102、具体的には車線標示検出モジュール104は、点群600に表されたピクセル同士をリンクして、実際の車線標示の近似を作成してもよい。近似された車線標示により、知覚コンポーネント102は、車道の車線内の車両の位置を正確に反映する知覚信号103を生成し、車両制御コンポーネント107に送信してもよい。
【0065】
図1の車線標示検出モジュール104は、
図6Bに図示された例示的なリンク方法602に従って車線標示ピクセルをリンクしてもよい。一般に、例示的なリンク方法602は、開始ピクセルを選択し、開始ピクセルに最も近いピクセルを探索し、それら2つのピクセルをリンクさせることを含む。この例示的なリンク方法602は、点群(例えば、点群600)に含まれる全てのピクセルがリンクされるまで継続されるものであってもよい。その結果、この例示的なリンク方法602は、車線標示位置の粗い推定を提供することになる。この推定は、車線検出モジュール104が後の段階で改善することができる。
【0066】
より具体的には、車線検出モジュール104は、開始ピクセル603を選択し、開始ピクセル603の周りに境界ボックス604を構築することによって例示的なリンク方法602を開始するものであってもよい。
図6Bに例示された開始ピクセル603は、車両に最も近接したピクセルではないが、車線検出モジュール104は、車両に近接したピクセルを優先して開始ピクセルとすることができることを理解されたい。さらに、車線検出モジュール104は、開始ピクセル603の周囲の任意の点で、かつ任意の適切なサイズで境界ボックス504を構築してもよい。
【0067】
いくつかの実施形態において、車線検出モジュール104は、境界ボックス604が一方向に偏るように境界ボックス604を構築してもよい。例えば、車線検出モジュール104は、境界ボックス604が一端に開始ピクセル603を含み、他端が車両の移動方向に車両から離れる方向に延びるように境界ボックス604を構築してもよい(例えば、「前方バイアス」)。前方バイアスを使用すると、車線検出モジュール104は、車両の前方に位置するピクセルをより容易にリンクすることができ、したがって、車両の移動方向にピクセルを効率的にリンクすることができる。境界ボックス604は、
図6Bでは矩形として図示されているが、境界ボックス604は、円、楕円、多角形、または任意の他の適切な形状として構築されてもよいものである。
【0068】
境界ボックス604を構築した後、車線検出モジュール104は、近接ピクセルを探して境界ボックス604によって囲まれた領域を探索してもよい。車線検出モジュール104は、境界ボックス604内の近接ピクセル605の位置を特定し、近接ピクセル605と開始ピクセル603との間の距離を測定してもよい。いくつかの実施形態において、境界ボックス604は、開始ピクセル603および複数の他のピクセルを囲むことができる。これらの実施形態において、車線検出モジュール104は、複数の他のピクセルのそれぞれの位置を特定し、開始ピクセル603と複数の他のピクセルのそれぞれとの間のそれぞれの距離を測定し、開始ピクセルからの最小のそれぞれの距離を有する複数の他のピクセルのそれぞれのピクセルを決定してもよい。そして、車線検出モジュール1044は、開始ピクセルからのそれぞれの距離が最小のそれぞれのピクセルを開始ピクセルにリンクさせてもよい。しかしながら、拡大
図606に示すように、車線検出モジュール104が境界ボックス604内の単一のピクセル(例えば、近傍ピクセル605)のみを検出する場合、モジュール104は、開始ピクセル603を近傍ピクセル605と自動的にリンクしてもよい。
【0069】
一旦リンクされると、車線検出モジュール104は、以後、開始ピクセル603と近傍ピクセル605をリンクされたグループとして参照することができる。例えば、
図6Bに示されるように、車線検出モジュール104は、他のピクセル、例えばピクセル607、が共有しない類似のパターンによってリンクされたグループ(603、605)を識別してもよい。リンクされたピクセルグループは、車線検出モジュール104がリンクされたピクセル同士を正確に識別することができるように、同様のタグ、色、および/または任意の他の適切な表示によって識別されるものであってもよい。
【0070】
次に、車線検出モジュール104は、例えば、近傍ピクセル605の周囲に境界ボックスを構築して、他の近傍ピクセル(例えば、ピクセル607)を探索することによって、例示的なリンク方法602を進めてもよい。車線検出モジュール104は、車線検出モジュール104がピクセルの周りに境界ボックスを構築し、他のピクセルが境界ボックス内に現れなくなるまで、例示的なリンク方法602を反復して実行してもよい。したがって、車線検出モジュール104は、開始ピクセル608a~608eの各々を選択し、上述した例示的なリンク方法602と整合的に、開始ピクセル608a~608eにピクセルを反復的にリンクし、リンクセクション609a~609eの各々を構築するものであってもよい。
【0071】
代わりに、車線検出モジュール104は、
図6Cに示された例示的なリンク方法610に基づいて、点群(例えば、点群600)のピクセル同士をリンクしてもよい。一般に、例示的なリンク方法610は、車線検出モジュール104が、ピクセルのそれぞれを囲む境界領域に基づいて、点群のピクセルをリンクすることを含む。例示的な拡大
図611に示すように、車線検出モジュール104は、境界領域614を定める関連する距離613を有するピクセル612を受信してもよい。境界領域614は、車線標示の境界の予測される位置を表すものであってもよい。例えば、ピクセル612は、車線標示の境界が個々のピクセル612の境界を越えて延びるように、車線標示(例えば、ペイントストライプ)内の点を表すことができる。したがって、車線検出モジュール104は、車線標示の境界の予測される位置を定める領域内で、近くのピクセルを探索してもよい。ピクセルが境界領域614の外側に外れる場合、車線検出モジュール104は、そのピクセルがピクセル612に対応する特定の車線標示と関連しないと結論付けてもよい。
【0072】
例示的な拡大
図611に示されるように、車線検出モジュール104は、最初に定められた境界領域614内に近くのピクセルを見つけられない場合がある。しかしながら、車線標示は、通常、単一のピクセルによって識別される領域よりも大きいので、車線検出モジュール104は、ピクセル612の車線標示に対応するより多くのピクセルの探索を試みて、境界領域614を拡張してもよい。例えば、車線検出モジュール104は、領域成長アルゴリズムを境界領域614に適用することによって境界領域614を拡張してもよい。
【0073】
一旦拡張されると、車線検出モジュール104は、境界領域614を解析して、境界領域614のいずれの境界も越えないピクセルを探索してもよい。車線検出モジュール104が、境界領域614内でいずれの境界も越えないピクセルを見つけた場合、車線検出モジュール104は、2つのピクセルをリンクさせてもよい。一例として、車線検出モジュール104は、ピクセル612の境界領域614を拡張し、境界領域614の境界内に位置するピクセルを反復的にリンクさせてもよい。いくつかの(図示の例では3個の)ピクセルをリンクした後、車線検出モジュール104は、境界領域614を拡張し、ピクセル615に到達するものであってもよい。ピクセル615は、境界領域614のいずれの境界も越えていないので、車線検出モジュール104は、ピクセル615をピクセル612にリンクされたピクセルの連鎖にリンクさせてもよい。
【0074】
しかし、上述したように、例示的なリンク方法610では、車線検出モジュール104が境界領域に基づく連結からピクセルを除外する結果になる場合がある。例えば、線検出モジュール104がピクセル616に到達し、境界領域621を拡張するとき、車線検出モジュール104は、境界領域621によって包含される領域を解析し、ピクセル617および618の位置を特定してもよい。例示的な拡大
図619に示すように、ピクセル617が境界領域621内に入ることは明らかであるが、ピクセル618は境界領域621の1つの境界と交わっている。したがって、車線検出モジュール104がピクセル(617、618)を解析するとき、車線検出モジュール104は、ピクセル617を(同様の模様によって示される)ピクセル616とリンクし、ピクセル618を(異なる模様によって示される)ピクセル616から分離するものであってもよい。上述のように、リンクされたピクセルグループは、車線検出モジュール104がリンクされたピクセル同士を正確に識別し得るように、類似のタグ、色、および/または他の任意の適切な表示によって識別されてもよいものである。
【0075】
ピクセル617をピクセル616とリンクさせた後、車線検出モジュール104は、ピクセル617に関連する境界領域620に領域成長アルゴリズムを適用し、同様にピクセル618に関連する別個の境界領域622に領域成長アルゴリズムを適用して、ピクセル617および616を含むものから別のリンクされたピクセルグループを形成してもよい。このように、車線検出モジュール104は、予測される境界領域に基づいてピクセルを反復的に検出し、リンクさせてもよい。したがって、車線検出モジュール104は、同様に、境界領域623a~623cに関連するピクセルをリンクさせてもよい。
【0076】
加えてまたは代わりに、車線検出モジュール104は、
図6Dに例示される例示的なリンク方法624に基づいて、点群(例えば、点群600)のピクセル同士をリンクしてもよい。一般に、例示的なリンク方法624は、隣接するピクセル間の接続方向を予測することと、予測された接続方向に位置するピクセルをリンクさせることとを含む。いくつかの実施形態において、ピクセルの予測される接続方向は、例えば、このピクセルに関連するピクセルのリンクセクションに含まれる他のピクセルの先行する接続方向に基づく、ピクセルの既定の性質であってもよい。あるいは、予測される接続方向は、車線検出モジュール104によって使用される機械学習モデルに基づいてピクセルに割り当てられる性質であってもよい。
【0077】
例えば、例示的な拡大
図625に示されるように、車線検出モジュール104は、ピクセル626を別のピクセル627にリンクすることを試みてもよい。ピクセル626は、ピクセル628のリンク
セクションと関連してもよく、(ピクセル626の模様によって表されるような)予測される接続方向を有してもよい。ピクセル626の予測される接続方向は、ピクセル626が、ピクセル626の前方に直接位置するピクセルに接続される可能性が高いことを示していてもよい。ピクセル626に関連する予測された接続方向に従って、車線検出モジュール104は、近くの接続ピクセルを探索するためにピクセル626の周りに前方に偏らせて境界ボックス629を構築してもよい。図示されるように、境界ボックス629は、ピクセル627を含んでもよく、車線検出モジュール104は、2つのピクセル(626、627)をリンクすることを決定してもよい。
【0078】
その後、車線検出モジュール104は、ピクセル627をピクセル628のリンクセクションに含め、ピクセル627に対する近くのピクセルを見つけることを試みてもよい。しかしながら、ピクセル627は、(ピクセル627に模様がないことによって表されるように)予測された接続方向を含まなくてもよい。上述したように、各ピクセルは、車線検出モジュール104によって受信されたときに予測される接続方向を含むものであってもよく、または車線検出モジュール104が、機械学習モデルに基づいて各ピクセルに対して予測される接続方向を生成するものであってもよい。したがって、いくつかの実施形態において、車線検出モジュール104は、機械学習モデルに基づいて、ピクセル627の近接半径内にピクセルが存在しないため、ピクセル627が予測される接続方向を有していないと決定してもよい。さらに、これらの実施形態において、車線検出モジュール104は、ピクセル627の近接半径内の全てのピクセルが、ピクセル627からピクセル628のリンクセクションの残りの部分と十分に同様の方向にないため、ピクセル627は予測される接続方向を有しないと決定してもよい。例えば、車線検出モジュール104は、ピクセル627の右に近接するピクセルがあることを検出する可能性もある。しかし、ピクセル628のリンクセクションのピクセルの全てが実質的に直線状にリンクされているので、車線検出モジュール104は、ピクセル627の右に近接するピクセルがリンクされると、車線標示の方向の変化がきつすぎることになるため、そのピクセルは、ピクセル628のリンクセクションにリンクされるべきではないと決定してもよい。
【0079】
別の例として、例示的な拡大
図630に示されるように、車線検出モジュール104は、ピクセル631を別のピクセル632とリンクすることを試みてもよい。ピクセル631は、ピクセル633のリンクセクションと関連付けられてもよく、(ピクセル631の模様によって表されるような)予測される接続方向を有してもよい。ピクセル631の予測される接続方向は、ピクセル631が、ピクセル631の右側前方に位置するピクセルに接続される可能性が高いことを示すものであってもよい。ピクセル631に関連する予測される接続方向に従って、車線検出モジュール104は、ピクセル631の周りに右側前方に偏らせて境界ボックス634を構築し、近くの接続ピクセルを探索してもよい。図示のように、境界ボックス634は、ピクセル632を含んでもよく、車線検出モジュール104は、2つのピクセル(631、632)をリンクすることを決定してもよい。
【0080】
その後、車線検出モジュール104は、ピクセル632をピクセル633のリンクセクションに含め、ピクセル632に対して近くのピクセルを見つけることを試みてもよい。いくつかの実施形態において、車線検出モジュール104は、機械学習モデルに基づいて、ピクセル632が、ピクセル631およびピクセル633のリンクセクション内の他のピクセルと同様に、右側前方への予測される接続方向を有すると決定してもよい。その後、車線検出モジュール104は、予測される接続方向および結果として得られる境界ボックスに含まれるピクセルに基づいて、ピクセル633のリンクセクションにピクセルを反復的にリンクさせてもよい。いずれにしても、車線検出モジュール104は、同様に、点群(例えば、点群600)からのピクセルを結合して、ピクセル634a~634dのリンクセクションを生成してもよい。
【0081】
実装されたリンク方法(例えば、例示的なリンク方法602、610、および624)に関わらず、車線検出モジュール104は、その後、リンクセクションをサブセクションに細分化してもよい。細分化によって、後続の処理タスクが必要とする処理時間および電力を低減するように、より直線的なサブセクションを提供してもよい。したがって、車線検出モジュール104は、
図6Eに例示される例示的な細分化方法63
5を実行してもよい。
図6Eに図示されるように、車線検出モジュール104は、ピクセルのリンクセクション(例えば、
図6Dのピクセルのリンクセクション634d)の開始ピクセル63
6および終了ピクセル638を識別することによって、例示的な細分化方法63
5を開始することができる。そして、車線検出モジュール104は、開始ピクセル63
6と終了ピクセル638との間にテストライン639を構築し、テストライン639からのピクセルのリンクセクションの各ピクセルの距離を測定してもよい。
【0082】
例えば、例示的な拡大
図640に示すように、車線検出モジュール104は、テストライン639からのそれぞれの距離(643、644)を測定することによって、テストライン639を参照して第1のピクセル641および第2のピクセル642を解析してもよい。車線検出モジュール104は、測定された距離(643、644)を閾値距離と比較してもよい。閾値距離は、機械学習モデルの一部として予め決定されてもよく、または動的に決定されてもよい。車線検出モジュール104が、第1のピクセル641に関連する距離643が閾値距離未満であると判定した場合、車線検出モジュール104は、第1のピクセル641を、サブセクション645aにおいて、開始ピクセル63
6および距離の閾値条件を満たすその間の任意の他のピクセルとリンクすべきであると決定するものであってもよい。対照的に、車線検出モジュール104が、第2のピクセル642に関連する距離644が閾値距離より大きいと判定した場合、車線検出モジュール104は、第2のピクセル642を第1のピクセル641とは異なるサブセクション645bに含めてもよい。
【0083】
車線検出モジュール104は、点群に含まれるピクセルの他のすべてのリンクセクションに対して、例示的なバブル640に例示された例示的な細分化方法635を同様に実行してもよい。例えば、車線検出モジュール104は、開始ピクセル646および終了ピクセル647を有するピクセルのリンクセクションを評価してもよい。この状況において、車線検出モジュール104は、開始ピクセル646と終了ピクセル647との間の全てのピクセルが実質的に線状に並び、開始ピクセル646と終了ピクセル647との間の全てのピクセルのグループ化がサブセクション648にまとめられるように決定してもよい。同様に、車線検出モジュール104は、サブセクション649a、649b、650a~650c、651、652a、および652b、を評価し指定することができる。
【0084】
サブセクションを指定した後、車線検出モジュール104は、
図6Fに示されるように、各サブセクションの主成分を決定してもよい。各サブセクションの主成分は、直線または任意の他の高次曲線であってもよい。車線検出モジュール104は、主成分フィッティング方法653に従って、サブセクションの端部ピクセル間で主成分をフィッティングしてもよい。例えば、車線検出モジュール104は、サブセクション649aの開始ピクセル654aおよび終了ピクセル654bを解析して、主成分655を決定してもよい。あるいは、車線検出モジュール104は、サブセクションの全てのピクセルを解析し、(例えば、サブセクションのピクセルへの線または曲線のフィッティングに基づいて)、サブセクションの主成分を決定してもよい。図示されるように、主成分655は、開始ピクセル654aと終了ピクセル654bとの間の直線フィットに類似する勾配と、車両の進行方向に類似する方向とを有する。
【0085】
さらに、線状でないサブセクションについても、車線検出モジュール104は、主成分を決定してもよい。一例として、車線検出モジュール104は、サブセクション650bの開始ピクセル656aと終了ピクセル656bとの間に直線をフィットさせて、主成分657を決定してもよい。したがって、残りの全てのサブセクション(645a、645b、648、649b、650a、650c、651、652a、および652b)に対して、車線検出モジュール104は、主成分(653~666)を決定してもよい。重要なことに、車線検出モジュール104は、本明細書でさらに説明するように、主成分を生成するために使用される開始ピクセル(例えば、654a、656a)および終了ピクセル(例えば、654b、656b)(本明細書では、「制御点」としてさらに参照される)のそれぞれを、後の使用のためにメモリ内に格納してもよい。あるいは、車線検出モジュール104は、各主成分の開始点および終了点を制御点として指定してもよい。いずれにせよ、車線検出モジュール104は、各サブセクションの主成分を利用して、サブセクションを互いにリンクさせてもよい。
【0086】
車線検出モジュール104は、
図6Gに図示されたサブセクション関連付け方法667に従って、サブセクション同士をリンクする(本明細書では、「サブセクションを関連付ける」とも言う)ことを進めてもよい。一般に、サブセクション関連付け方法667は、車線検出モジュール104が、サブセクションの隣接する制御点間の距離および角度差を比較することを含む。例示的な拡大
図668に示されるように、車線検出モジュール104は、最初に、2つのサブセクション(649a、649b)の制御点(670671)間の距離669を決定してもよい。次に、車線検出モジュール104は、距離669を閾値距離と比較して、対応するサブセクション(649a、649b)がリンクされるべきかどうかを決定してもよい。
【0087】
いくつかの実施形態において、距離閾値は、下側距離閾値および上側距離閾値を含んでもよい。これらの実施形態において、距離669が下側距離閾値よりも小さい場合、車線検出モジュール104は、2つのサブセクション(649a、649b)を自動的に連結する。対照的に、距離669が上側距離閾値よりも大きい場合、車線検出モジュール104は、2つのサブセクション(649a、649b)を自動的に連結しない。しかし、距離669が下側距離閾値よりも大きくかつ上側距離閾値よりも小さいと車線検出モジュール104が判定した場合、車線検出モジュール104は、制御点(670、671)を角度閾値に関して解析してもよい。
【0088】
車線検出モジュール104によって実行される角度閾値解析の例が、例示的な拡大
図672に示されている。サブセクション(648、649a)の2つの制御点を解析するとき、車線検出モジュール104は、制御点を分離する距離673が下側距離閾値よりも大きくかつ上側距離閾値よりも小さいと判定してもよい。その結果、車線検出モジュール104は、制御点間の距離673を表す線と各サブセクション(648、649a)の主成分(655、658)との間の角度分離674を比較してもよい。制御点間の距離673を表す線と各主成分(655、658)との間の角度分離674が角度閾値よりも小さい場合、車線検出モジュール104は、サブセクション(648、649a)を自動的に連結してもよい。
【0089】
別の例として、車線検出モジュール104は、サブセクション648と650bを連結することを試みてもよい。制御点のいずれかのセットの間の距離は、車線検出モジュール104が2つのサブセクション(648、650b)の間で角度閾値解析を行うことができるように、下側距離閾値よりも大きくかつ上側距離閾値よりも小さいものであってもよい。しかし、サブセクション648の上部制御点からサブセクション650bの下部制御点へ引かれる線は、両方のサブセクション(648、650b)の主成分(658、657)の方向に対して実質的に垂直である。したがって、車線検出モジュール104が、両方の主成分(658、657)の角度分離を2つのサブセクション(648、650b)の制御点の間に引かれた線と比較すると、車線検出モジュール104は、角度分離が角度閾値よりも大きいと判定することになる。2つのサブセクション(648、650b)の間に引かれた線が角度閾値よりも大きいと判定することによって、車線検出モジュール104は、サブセクション(648、650b)を自動的に連結しない。このようにして、車線検出モジュール104は、車道として非現実的な角度のまたは「鋭い」車線標示を表しているサブセクション、または連結を回避しなければ自律車両が車線標示内で操縦するために危険な制御操作を行うことになるサブセクションの連結を回避することができる。
【0090】
車線検出モジュール104は、同様に、各サブセクションの制御点を評価して、サブセクション間の適切な関連付けを決定してもよい。したがって、図示されているように、車線検出モジュール104は、サブセクション648、649a、および649bを連結してもよく、関連する線675aおよび675bによりサブセクション650a、650b、および650cを連結してもよく、関連する線675cおよび675dによりサブセクション650c、645a、および645bを連結してもよく、関連線675eおよび675fを介してサブセクション651、652a、および652bを結合してもよい。さらに、サブセクション650cとサブセクション650bおよびサブセクション645aとの関連付けによって示されるように、車線検出モジュール104は、1つのサブセクションを複数の他のサブセクションと関連付け、1つの制御点を複数の他の制御点と関連付けるものであってもよい。
【0091】
最後に、車線検出モジュール104は、リンクされたサブセクションの制御点を介してスプラインを適合させてもよい。
図6Hに示されるように、車線検出モジュール104は、制御点677a~677fを解析して、リンクされたサブセクション(例えば、サブセクション648)によって示される車線標示を表すスプライン678を適合させるものであってもよい。同様に、車線検出モジュール104は、制御点679a~679e、679e~679f、679e~679j、および681a~681fを解析して、スプライン680a~680c、および682をそれぞれ適合させてもよい。一般に、車線検出モジュール104は、スプラインを生成するために任意の適切なスプライン法を使用してもよい。いくつかの実施形態では、車線検出モジュール104は、制御点を通るスプラインを生成するためにキャットムル‐ロムスプライン法を使用してもよい。
【0092】
スプラインを適合させるために制御点677a~677fのみを使用することによって、スプラインを生成するために従来使用されていた点の数を劇的に削減し、したがって、結果として得られるスプライン678を生成するためのシステムに対する処理要求を劇的に減少させることができる。その結果、(各サブセクションのピクセルを使用するのではなく)各サブセクションの制御点のみを使用することにより、
図6Hに例示されたスプライン作成方法676は、車線標示を表すスプラインを適合させるために必要な時間および処理能力を削減することによって、従来の車線識別技術に対する技術的改善を実現するものである。
【0093】
他の実施形態では、車線検出モジュール104は、グラフ理論法によってサブセクションの関連付けおよびスプライン作成を実行してもよい。車線検出モジュール104は、各サブセクションの制御点を用いてグラフを構築することから開始してもよい。一例として、車線検出モジュール104は、制御点をノードとして利用してもよく、グラフを生成するために各ノード間に線を構築してもよい。各ノードを接続する線は、グラフのエッジを構成してもよく、グラフは、すべてのノードがエッジによってすべての他のノードに接続されることを意味する「クリーク」または「完全グラフ」であってもよい。さらに、車線検出モジュール104は、ノードの各対の間にスプラインを適合させることによって、各エッジを形成してもよい。車線検出モジュール104は、3次螺旋などの任意の適切なスプラインを使用してもよい。3次螺旋では、曲率Kが螺旋に沿った距離sの関数として
K(s)=a0+a1 s+a2 s2+a3 s3
と表される。
【0094】
車線検出モジュール104がグラフを生成した後、車線検出モジュール104は、グラフ内の各エッジに対するコストを決定してもよい。車線検出モジュール104は、いくつかの制約条件に基づいてコストを決定してもよい。例えば、第1の制約は、障壁を横断するエッジにペナルティを課すことであってもよく、これらのエッジが高い関連コストを有するようにするものである。分類の間、車線に関連するピクセルが識別されるとき、障壁も識別される。障壁は、道路の端/境界における区画、または異なる方向に進む道路間の領域に対応する。したがって、車線検出モジュール104は、障壁を横切る任意のエッジに高いコストを適用してもよい。
【0095】
第2の制約は、車線標示を通過するエッジにインセンティブを与えることであってもよい。一般に、識別された車線標示に従うか、そうでなければ識別された車線標示に実質的に平行であるエッジは、実際に存在する車線標示の間の接続を示すため、低コストに相当する。これに対応して、車線検出モジュール104は、識別された車線標示に従うエッジに低いコストを与えてもよい。
【0096】
第3の制約は、全てのエッジに関連するドライバビリティを評価することであってよい。車線検出モジュール104は、道路の種類を考慮して、エッジの鋭さ、曲率などに基づいて、エッジにコストを適用してもよい。高速道路の場合、鋭いエッジには高いコストが適用される(例えば、急激な横方向の変化には高いコストが適用される)。対照的に、都市環境の場合、鋭いエッジは、走行速度が低いことにより車両がそのような急速な横方向の変化を合理的に実行する能力が増大する結果、比較的低いコストを有する。このように、車線検出モジュール104は、走行環境に基づいて、各エッジに対してより高いまたはより低いコスト評価を適用することができる。
【0097】
車線検出モジュール104がグラフを確立し、グラフのノードに全てのコストを適用すると、車線検出モジュール104は、グラフを辿る最低コストの経路を決定してもよい。車線検出モジュール104は、車線検出モジュール104が起点ノードから目標ノードまでグラフを辿るように、グラフ内の起点ノードおよび目標ノードを指定してもよい。次に、車線検出モジュール104は、車両の関心領域(例えば、車両の現在位置から±100m)を特定し、車両の後方100mに起点ノードを設け、車両の前方+100mに目標ノードを設けてもよい。起点ノードを車両の後方に設けることにより、リンクされた車線標示の一貫性が確保され、より高い予測能力を得ることができる。
【0098】
最後に、車線検出モジュール104は、グラフ理論を適用して、様々なノードを介してグラフを辿る最低コストの経路を見つけることができる。例えば、グラフは、行および列がノードに対応し、行列の各セルが対応するコストである行列として表されてもよい。さらに、車線検出モジュール104は、車線の分岐および合流を考慮するために、全てのノードが最大で2つのノードに入るエッジと最大で2つのノードから出るエッジを有するようにグラフに制約を適用してもよい。車線検出モジュール104は、最低コストの経路を見つけるために、任意の標準的なグラフ・トラバーサル法(例えば、ダイクストラのアルゴリズム)を利用してもよい。適切なグラフ・トラバーサル法の適用に続いて、車線検出モジュール104は、車道の車線標示に対応する最低コストパスの経路の集合を生成してもよい。したがって、最低コストの経路は、グラフに含まれる各ノードを同時にカバーしながらグラフを辿る低コストの経路の集合を表すことができる。低コストの経路の各々は、1つまたは複数のノードのペアを含んでもよく、ノードの各ペアは、スプラインによって連結されてもよい。車線の表現を形成するため、低コストの経路のノードのペアの間のスプライン同士が連結されるものであってもよい。
【0099】
適用されるスプライン法にかかわらず、車線検出モジュール104が点群(例えば、点群600)に適合する1つまたは複数のスプラインを決定すると、車線検出モジュール104は、点群および関連するスプラインを知覚信号103に含めてもよい。
図1を参照して上述したように、知覚信号は、車両制御コンポーネント107および車線追跡および予測モジュール105に送信されてもよい。したがって、車線追跡および予測モジュール105は、車両が車道に沿って前進する際に車道の車線の位置を追跡および予測する際に使用するために、1つまたは複数のスプラインを受信してもよい。
【0100】
したがって、車線追跡および予測モジュール105は、
図7Aに示される例示的な車線標示延長方法700を実行してもよい。一般的に言えば、例示的な車線標示延長方法700は、車両のシミュレーションされた運動、先行する車線標示検出、および先行する車線標示予測に基づいて、車線検出モジュール104から受信したスプラインを車両からさらに離れるように(車両の進行方向に)延長することを含む。車両から離れる方向にスプラインを延長すること、および車両のシミュレーションされた運動は、一連の位置モデル702、704、および706に図示されている。
図7Aを参照して実行される全ての処理および操作は、車両の実際の運動の前にまたは実際の運動がなくとも実行され得ることを理解されたい。
【0101】
位置モデル702を参照して、車線追跡および予測モジュール105は、道路の車線標示を表す適合スプライン708を示す知覚信号103に含まれるデータを受信してもよい。車線追跡および予測モジュール105はまた、適合スプライン708を含む車両712のセンサ(例えば、
図1のセンサ1、センサ2 、センサN)の視野の少なくとも一部にわたって延びる第1の距離基準線710a~710fの集合を表示および/または構築してもよい。距離基準線710a~710fの第1の集合は、車両712に関する選択された距離を表すために車線追跡および予測モジュール105によって使用されるデジタル構成物であってもよく、車両の実際の環境(例えば、環境380)には投影されない、もしくは他の方法でレンダリングされないことは理解されよう。
【0102】
位置モデル704に図示されているように、車線追跡および予測モジュール105は、適合スプライン708および距離基準線710a~710fの第1の集合に対して車両712の位置を前進させてもよい。例えば、車線追跡および予測モジュール105は、車両712を位置モデル702に図示された位置から第1の距離基準線710aの真上に位置変更してもよい。加えてまたは代わりに、車線追跡および予測モジュール105は、車両712を移動させることなく、適合スプライン708および第1の距離基準線710a~710fの集合を下方にまとめてシフトさせてもよい。いずれにしても、車線追跡および予測モジュール105は、車両712が再配置されると、位置モデル706に図示されているように、適合スプライン708を延長することを進めてもよい。
【0103】
位置モデル706は、一般に、車線追跡および予測モジュール105の車両712のセンサの範囲を超えた距離の車線標示位置の予測を表す。位置モデル706は、車両712と、距離基準線710b~710gの第2の集合と、延長スプライン714とを含む。簡単のために、距離基準線710b~710gの第2の集合は、距離基準線710a~710fの第1の集合からのいくつかの距離基準線(例えば、710b~710f)を含む。しかし、距離線710b~710gの第2の集合のうちの少なくとも1つ(例えば、710g)は、車線追跡および予測モジュール105が位置モデル706を生成する時点で車両712センサの範囲外の距離を表していてもよい。したがって、距離基準線710b~710gの第2の集合は、距離基準線710a~710gの第1の集合からの距離基準線の一部または全部を含んでもよいことを理解されたい。
【0104】
このように、車線追跡および予測モジュール105は、以前の車線標示検出および車線標示位置の以前の予測に基づいて、車両712のセンサの範囲を超える車線標示の位置を予測するように構成されてもよい。例えば、車線追跡および予測モジュール105は、車両712の前進運動および適合スプライン708を解析して、車線標示が車両712に対して右側に湾曲していることを認識してもよい。事前の車線標示位置予測に基づいて、車線追跡および予測モジュール105は、そのような湾曲を解釈して、将来検出される車線標示は、車両712の位置に対してさらに右側に位置する可能性があることを示してもよい。
【0105】
さらに、いくつかの実施形態において、車線追跡および予測モジュール105は、適合スプライン708を先行スプラインに類似していると認識してもよい。例えば、車線追跡および予測モジュール105は、位置情報(例えば、GPS座標)および/またはスプライン比較アルゴリズム(例えば、スプライン曲率、スプライン長、類似スプラインの数学的定式化の比較等)を利用して、適合スプライン708を先行スプラインに関連付けることができる。そのような先行スプラインが識別される場合、車線追跡および予測モジュール105は、適合スプライン708に関連する任意の予測(例えば、延長スプライン714)を、先行スプラインの予測されたスプライン延長または観測された車線標示位置と比較し得る。本明細書で使用されるように、「先行」または「類似」スプラインは、例えば、上述のスプライン生成方法および本明細書に記載の例示的スプライン延長方法によって生成および/または延長/予測された例示的スプラインより前の時間に車線追跡および予測モジュール105によって生成されたスプラインを参照するものであってもよい。
【0106】
したがって、車線追跡および予測モジュール105は、延張スプライン714を生成するために、以前の車線標示検出および車線標示位置の以前の予測を利用してもよい。実施形態において、延張スプライン714は、適合スプライン708および延長スプライン部分(例えば、距離線710f~710gの間に延在する延長スプライン714の部分)を含んでもよい。あるいは、図示されているように、延長スプライン714は、車線追跡および予測モジュール105によって生成される新規の独立したスプラインであってもよい。車線追跡および予測モジュール105は、例えば、適合スプライン708の残りの制御点(例えば、距離線710b~710f内の適合スプライン708の制御点)と車両712センサの到達範囲を超えた距離の1つまたは複数の予測される制御点との間でスプラインを適合することによって、新しい単独のスプラインとして延長スプライン714を生成し得る。予測される制御点は、車線追跡および予測モジュール105の、上述したデータのいずれかに基づく車線標示の可能性が高い位置に関連する予測を表すものであってもよい。
【0107】
車線追跡および予測モジュール105は、予測された結果(例えば、延長スプライン714)を検出された結果と比較することによって、上述した予測方法を改善することができる。例えば、上述の予測の後のある時間に、車両712は、距離線710aと710bの間のギャップによって表される距離を横断することがある。そのとき、距離線710fと710gとの間のギャップによって表される距離内の物体は、車両712のセンサの範囲内にある可能性がある。したがって、車両712の知覚コンポーネント(例えば、車線標示検出モジュール104)は、これらの物体を表すデータを受信して解析し、車道上の検出された車線標示に対応する新しいスプラインを生成してもよい。
【0108】
一般に、予測された結果と検出された結果とを比較することは、それぞれのデータセットを最も忠実に表現する方法で、両方の結果の集合を量子化することを含む。これは、検出された結果が車両の物理的環境における車線標示を表すピクセル(例えば、ピクセル601)であってもよく、一方、予測された結果は、上述の予測方法に従って発見的原理および事前観測から推測されるデータであってもよいため、難しい問題であることが分かる場合もある。したがって、車線追跡および予測モジュール105は、予測された結果および検出された結果の統計的解釈を利用して、実行可能な数学的定式化を達成するものであってもよい。
【0109】
例えば、
図7Bを参照すると、車線追跡および予測モジュール105は、予測された車線標示の位置モデル720を生成してもよい。予測された車線標示の位置モデル720は、距離線722の集合を含んでもよく、各距離線は、車両からの別個の距離を表すものである。予測された車線標示の位置モデル720はまた、第1の予測スプライン724aおよび第2の予測スプライン724bを含んでもよい。第1の予測スプライン724aおよび第2の予測スプライン724bの各々の全てまたは一部は、道路の車線標示の予測位置を表してもよい。上述したように、第1の予測スプライン724aまたは第2の予測スプライン724bのいずれか一方の、車線標示の予測された位置ではない部分は、道路の車線標示の事前に検出された位置を表していてもよい。
【0110】
重要なことは、第1の予測スプライン724aおよび第2の予測スプライン724bの予測された部分は、車両センサからの受信データに基づいていない可能性があることである。その結果、車線追跡および予測モジュール105は、スプラインの予測された部分を生成するために使用される任意の制御点の位置を正確に表すことができない可能性がある。しかしながら、車線追跡および予測モジュール105は、分布モデル730に例示されるように、スプライン724a、724bの分布プロットを生成してもよい。
【0111】
分布モデル730は、単位線732aの集合と、横方向分割732bの集合とを含んでもよい。単位線732aの集合は、車線追跡および予測モジュール105の解析の文脈における、測定のための任意の適切な単位の離散的集合を表わしてもよい。例えば、単位線732aの集合は、横方向分割のペアのそれぞれに含まれる対応するスプライン724a、724bの面積百分率を表わすものであってもよい。
【0112】
横方向分割の集合732bは、車両センサの水平方向の動眼視野にわたる離散的な横方向の距離の集合を表すものであってもよい。例えば、
図3に示されるように、ライダーシステムが動眼視野を走査すると、車両の知覚コンポーネントは、ライダーシステムの角度変位と動眼視野にわたる対応する横方向距離とを相関させることができる。したがって、車両の知覚コンポーネントは、横方向分割732bの集合を記録してもよく、車線追跡および予測モジュール105は、分布モデル730を作成する際に、単位線732aの集合上に横方向分割732bの集合を重ね合わせてもよい。
【0113】
単位線732aの集合および横方向分割732bの集合の両方は、車両(例えば、車両712)に関して離散的な距離を表すために、車線標示検出モジュール104および/または車線追跡および予測モジュール105によって生成されるデジタル構成物であってもよい。これらの構成要素(732a、732b)は、例示の目的でのみ使用され、車両の実際の環境(例えば、環境380)には投影されない、または他の方法でレンダリングされないものであってもよい。
【0114】
分布モデル730はまた、分布の集合734を含んでもよい。分布の集合734は、第1の分布736aおよび第2の分布736bを含んでもよい。第1の分布736aは、第1の予測スプライン724aに対応してもよく、第2の分布736bは、第2の予測スプライン724bに対応してもよい。
図7Bには、2つの分布(例えば、736a、736b)を含むものとして図示されているが、車線追跡および予測モジュール105は、任意の数の予測スプラインおよび対応する分布を生成してもよいことが理解されよう。実施形態において、分布の集合734の各分布は、ガウス核であってもよい。さらに、実施形態において、分布の集合734における各分布は、各分布が同一の領域を囲むように正規化されてもよい。
【0115】
この文脈において、第1の分布736aは、横方向分割のそれぞれのペア内で第1の分布736aによって囲まれる面積のそれぞれの百分率が、横方向分割のそれぞれのペアによって囲まれる第1の予測スプライン724aのそれぞれの百分率と同一であり得るため、第1の予測スプライン724aに「対応する」と言うことができる。例えば、第2の分布736bは、第2の予測スプライン724bが同様に横方向分割のペア内のスプラインの大部分を含むので、横方向分割の1組のペア内に主に集中した大きなピーク部分を有してもよい。図示されるように、横方向分割の集合732bは、予測された車線標示位置モデル720に含まれなくてもよい。それにもかかわらず、車線追跡および予測モジュール105は、分布モデル730を生成するために予測された車線標示位置モデル720を解析する際に、横方向分割の集合732bを生成するために使用されたデータにアクセスしてもよい。
【0116】
これに対応して、車両の知覚コンポーネントは、更新された位置モデル740を生成してもよい。更新された位置モデル740は、距離線722の集合、横方向分割732bの集合、車線標示インジケータ742aの第1の集合、および車線標示インジケータ742bの第2の集合を含んでもよい。車線標示インジケータ742aの第1の集合および車線標示インジケータ742bの第2の集合は、検出された車線標示の位置を表し、車線標示検出モジュール104によって生成されてもよい。図示されるように、車線標示インジケータの第1の集合742aおよび車線標示インジケータの第2の集合742bに含まれる車線標示インジケータの各々は、横方向分割の1つのペアによって定義されるとおりに、更新された位置モデル740の1つの領域内に入る。
【0117】
有用なことに、車線標示インジケータの第1の集合742aおよび車線標示インジケータの第2の集合742bは、容易に定量化可能なデータの集合を表している。車線追跡および予測モジュール105は、分布モデル730の生成と同様に、横方向分割のペアを利用して、横方向分割のそれぞれのペアによって定義されるとおりに、更新された位置モデル740のそれぞれの領域に存在する車線標示インジケータの数を計数してもよい。各車線標示インジケータが計数された後、車線追跡および予測モジュール105は、ヒストグラムモデル750によって示されるように、データを表すためにヒストグラムを生成してもよい。
【0118】
ヒストグラムモデル750は、単位線の集合752、横方向分割の集合732b、およびヒストグラムの集合754を含んでもよい。単位線の集合752は、横方向分割のそれぞれのペアに含まれる車線標示インジケータの数を表してもよい。ヒストグラムの集合754は、第1のヒストグラム756aおよび第2のヒストグラム756bを含んでもよい。第1のヒストグラム756aは、車線標示インジケータの第1の集合742aに対応してもよく、第2の分布754bは、車線標示インジケータの第2の集合742bに対応してもよい。
図7Bでは、2つのヒストグラム(例えば、756a、756b)を含むように図示されているが、車線追跡および予測モジュール105は、受信したデータセット(例えば、742a、742b)の数に対応する任意の適切な数のヒストグラムを生成してもよいことが理解されよう。
【0119】
この文脈において、第1のヒストグラム756aは、一組の単位線752によって示されるように、横方向の区分のそれぞれの組内に含まれる第1の車線標示指標742aからの車線標示指標の数が、横方向の区分のそれぞれの組内に含まれる第1のヒストグラム756aの個々のバーの高さと同一であってもいいので、車線標示指標の第1の組に「対応」すると言われてもよい。例えば、第2のヒストグラム756bは、第2の車線標示インジケータ742bのセットが同様に横方向の区分の組内に様々な数の車線標示インジケータを含むので、横方向の区分の組内に様々な高さの3つのバーを含んでもよい。
【0120】
分布の集合734およびヒストグラムの集合754の生成に続いて、車線追跡および予測モジュール105は、予測された結果(例えば、分布の集合734)を検出された結果(例えば、ヒストグラムの集合754)と比較するために進行してもよい。いくつかの実施形態において、車線追跡および予測モジュール105は、数学的に以下のように表されるように、両セットの機能的実施形態を畳み込むことによって、予測された結果を検出された結果と比較してもよい。
【数1】
ここで、iは予測された結果および検出された結果のそれぞれのスプラインを表し、G(i)は分布の集合734からの分布を表し、H(
i)はヒストグラムの集合754からのヒストグラムを表し、Lは予測された結果および検出された結果に含まれる全てのスプラインについてG(i)およびH(i)を畳み込んだ結果の尤度スコアを表している。
【0121】
一般に、尤度スコアLは、予測された結果と検出された結果との間の適合度を表すことができる。予測された結果と検出された結果との間の重複が高いほど、尤度スコアLはより高くてもよい。例えば、車線追跡および予測モジュール105が、結果として検出された結果(例えば、車線標示インジケータの第1のセット742a及び車線標示インジケータの第2のセット742b)と比較されたときに高い尤度スコアLをもたらす予測されたスプラインのセット(例えば、第1予測スプライン724aおよび第2予測スプライン724b)を生成すると仮定する。高尤度スコアLは、車線追跡および予測モジュール105が車線標示位置の非常に近い近似を生成したことを示し、その結果、車線追跡および予測モジュール105は、高尤度スコアLを使用して将来の予測に影響を与える可能性がある。同様に、車線追跡および予測モジュール105は、任意の質の尤度スコアL(例えば、高尤度スコア、平均/中尤度スコア、低尤度スコア)の任意の適切な数を利用して、任意の後続の予測に影響を及ぼしてもよい。
【0122】
上述した車線検出機能を実行するために、コンピューティングシステム(例えば、車線標示検出モジュール104)は、
図8に示される流れ図に従って方法800を実施することができる。方法800は、車線標示に関連する一組のピクセルを受信することによって始まる(ブロック802)。例えば、
図1の車線標示検出モジュール104は、1つ以上のセンサ101からピクセルのセットを受信してもよい。1つ以上のセンサ101は、車線標示検出モジュール104が車線標示に関連付けられたピクセルを認識するように、ピクセルのセットの各ピクセルを自動的に分類してもよい。加えてまたは代替的に、車線標示検出モジュール104は、車両環境から様々なオブジェクトを含むピクセルのセットを受信してもよく、車線標示検出モジュール104は、その後、車線標示に関連するピクセルを分類してもよい。ブロック802は、例えば、
図1の車線標示検出モジュール104、または任意の適切なプロセッサが実行するものであってもよい。
【0123】
ブロック804において、車線標示検出モジュール104または適切なプロセッサは、ピクセルのセットを複数のグループに分割してよい。複数のグループの各々は、1つまたは複数の制御点に関連してもよい。車線標示検出モジュール104、または他の適切なプロセッサは、任意の適切な方法でピクセルのセットを分割してもよい。
【0124】
例えば、実施形態において、車線標示検出モジュール104または好適なプロセッサは、ピクセルのセットからピクセルの1つ以上のリンクされたセクションに反復的にリンクすることによって、ピクセルのセットの分割を開始してもよい(例えば、
図6B~
図6Dに示されているように)。その後、車線標示検出モジュール104は、(例えば、
図6Fに例示されているように)ピクセルの1つ以上のリンクされたセクションの各リンクされたセクションの主成分を決定してもよい。各主成分は、1つ以上の制御点の制御点を含んでもよい。一般に、ピクセルの各リンクセクションの主成分は、1つ以上の制御点によってピクセルのリンクセクションに含まれる点を結合するのに適した線または任意の他の高次曲線であってよい。実施形態では、ピクセルの各リンクされたセクションのための主成分は、ピクセルの各リンクされたセクションのための制御点によって境界が決められてもよい。
【0125】
先の例を継続し、実施形態では、車線標示検出モジュール104または適切なプロセッサは、各主成分に対応するそれぞれの制御点に基づいて制御点のセットを定義してもよい。次に、車線標示検出モジュール104は、(例えば、
図6Gに例示されるように)ピクセルのリンクされたセクションを結合するために関連付けアルゴリズムを実行してもよい。関連付けアルゴリズムは、制御点のそれぞれの対の間の終点距離および制御点のそれぞれの対の間の終点角度を決定することを含んでもよい。したがって、車線標示検出モジュール104は、制御点のそれぞれの対の間の距離および角度を決定するために、ピクセルの異なるリンクされたセクションの制御点の対を識別してもよい。次に、車線標示検出モジュール104は、制御点のそれぞれの対の端点角度を閾値端点角度と比較し、制御点のそれぞれの対の端点距離を閾値端点距離と比較してもよい。i)制御点のそれぞれの対についての端点距離が閾値端点距離以下であり、(ii)制御点のそれぞれの対についての端点角度が閾値端点角度以下であると決定することに応答して、車線標示検出モジュール104は、それぞれの制御点を介してピクセルのリンクしたセクションを関連付け(例えば、結合)てもよい。
【0126】
別の例として、車線標示検出モジュール104または適切なプロセッサは、リンクアルゴリズムを実行することによって、ピクセルのセットのパーティショニングを開始してもよい。連結アルゴリズムは、ピクセルの集合の第1のピクセルの周りに境界ボックスを生成することを含んでもよい。実施形態において、境界ボックスは、矩形であってよく、第1のピクセルに関して前方バイアスを含んでよい。上述のように、車線標示検出モジュール104は、車両から進行方向(例えば、離れる方向)に延びる方向にピクセルをリンクしてもよい。したがって、車線標示検出モジュール104は、車両の動きに関して関心のありそうな領域を考慮するために、前方バイアスを有する境界ボックスを生成してもよい。
【0127】
この例をさらに進めるために、車線標示検出モジュール104は、次に、境界ボックスによって包含される領域を走査して第2のピクセルを探し出してもよい。第2のピクセルは、(車両の動きに関して)第1のピクセルの真正面に位置してもよく、または第2のピクセルは、境界ボックス内に留まりながら第1のピクセルの真正面に位置することから任意の量だけ変位させてもよい。さらに、境界ボックスは、車線標示検出モジュール104が第1のピクセル以外の複数のピクセルから第2のピクセルを決定するように、複数のピクセルを含んでもよい。その例では、車線標示検出モジュール104は、例えば、第1のピクセルからの境界ボックス内の他の各ピクセルの距離に基づいて、第2のピクセルを決定してもよい。車線標示検出モジュール104は、第1のピクセルから最短距離である他のピクセルを第2のピクセルであると自動的に決定してもよい。しかしながら、車線標示検出モジュール104は、任意の適切な方法で第2のピクセルを決定してもよいことを理解されたい。
【0128】
第2のピクセルを決定した後、車線標示検出モジュール104は、第1のピクセルと第2のピクセルをリンクさせてもよい。ピクセルのセットに含まれる各ピクセルが少なくとも1つの他のピクセルにリンクされることを確実にするために、車線標示検出モジュール104は、ピクセルのセット内の各ピクセルがピクセルのセット内の他のピクセルにリンクされるまでリンクアルゴリズムを反復的に実行してもよい。実施形態において、車線標示検出モジュール104は、ピクセルのセット内の各ピクセルをピクセルのセット内の最大2つの他のピクセルにのみリンクさせてもよい。
【0129】
さらに、実施形態では、車線標示検出モジュール104は、ピクセルのリンクされたセクションを分割するために、パーティショニングアルゴリズムを実行してもよい。パーティショニングアルゴリズムは、ピクセルのセットの開始ピクセルとピクセルのセットの終了ピクセルとの間に線を構築することを含んでもよい(例えば、
図6Eに図示されるように)。次いで、車線標示検出モジュール104は、線からの開始ピクセルと終了ピクセルとの間の各ピクセルの距離を決定してもよい。各ピクセルに対応する距離に基づいて、車線標示検出モジュール104は、開始ピクセルと終了ピクセルとの間の各ピクセルを複数のグループのうちの1つのグループに分割してもよい。さらに、車線標示検出モジュール104は、ピクセルの集合の各ピクセルが複数のグループのうちの1つのグループに含まれるまで、分割アルゴリズムを反復して実行する。
【0130】
ブロック806において、車線標示検出モジュール104または他の適切なプロセッサは、複数のグループの制御点を横断するスプラインを生成してもよい。一般に、スプラインは、車線の境界を記述する。スプラインは、線または任意の高次曲線であってよく、任意の適切なスプライン技術によって生成されてもよい。例えば、車線標示検出モジュール104は、1つまたは複数の制御点のみを利用するスプライン技法を実行してもよい。いくつかの実施形態において、スプライン法は、キャットムルーロムスプライン法であってもよい。このように、車線標示検出モジュール104は、従来の技術と比較して、スプライン処理で使用される点の数を減らすことによって、車線標示を識別するために必要な計算資源を大幅に削減する。
【0131】
しかしながら、実施形態では、コンピューティングシステム(例えば、車線標示検出モジュール104)は、
図6Cに例示されたものと同様の方法で、受信されたピクセルを一緒にリンクさせてもよい。したがって、コンピューティングシステムは、
図9に図示された流れ図に従って方法900を実施してもよい。方法900は、画像が複数のピクセルで構成されている路面の画像を受信することによって始まる(ブロック902)。ブロック902は、例えば、
図1の車線標示検出モジュール104、または任意の適切なプロセッサが実行するものであってもよい。
【0132】
画像は、車線標示検出モジュール104がピクセルの複数のグループを生成すべきように、車線標示の複数の組に対応する(例えば、車線の複数の組を定義する)ピクセルを含む場合がある。したがって、ブロック904において、車線標示検出モジュール104は、車線標示に対応する車線標示ピクセルを識別することによって、ピクセルの複数のグループの決定を開始してもよい。車線標示検出モジュール104は、任意の適切な方法を通じて車線標示ピクセルを識別してもよいが、実施形態では、機械学習モデルを画像に適用してもよい。機械学習モデルは、画像内のどのピクセルがピクセルの第1のグループまたはピクセルの第2のグループと関連付けられるかを予測するように構成されてもよい。加えてまたは代替的に、車線標示検出モジュール104は、車線標示に対応する画像内のピクセルに関するオペレータからの指示を適用してもよい。
【0133】
車線標示ピクセルが識別されると、車線標示検出モジュール104は、車線標示ピクセルに対して左境界および右境界を推定してよい(ブロック906)。左境界および右境界は、車線標示ピクセルによって示される車線の方向と実質的に整列していてもよい。例えば、車線標示検出モジュール104は、上述した機械学習モデルを用いてそれぞれの予測を生成することにより、各グループの左境界および右境界を推定してもよい。さらにこの例では、車線標示検出モジュール104は、機械学習モデルを構成して、左境界および右境界に関する予測を道路セグメンテーションに関する予測と同時に生成してもよい。このように、車線標示検出モジュール104は、道路セグメンテーションと車線境界の予測機能を並行して実行することにより、より効率的に車線標示を決定することができる。
【0134】
一般に、セグメンテーションとは、画像を複数のセグメントに分割することであり、各セグメントは、同じオブジェクトまたは画像の一部を描写している可能性が高い。より具体的には、道路セグメンテーションは、近接するピクセルのどのセットが道路(例えば、高速道路、橋など)の一部を表している可能性が高いかを決定することを意味する。したがって、例えば、車線標示検出モジュール104は、高速道路の表面を描写している可能性が高いピクセルを、車のタイヤを描写している可能性が高い近くのピクセルから分離し、これらのピクセルがその後の画像処理の目的のために異なるセグメントに属するように、セグメント化を実行することができる。
【0135】
ブロック908において、車線標示検出モジュール104は、左境界および右境界内のピクセルを対応するグループと関連付けてもよい。例えば、車線標示検出モジュール104は、ピクセルを、第1の組の車線を分離する車線標示に関連する第1のグループ、または第2の組の車線を分離する車線標示に関連する第2のグループのいずれかに関連付けることができる。実施形態において、車線標示検出モジュール104は、最初に車線標示ピクセルのみを含むクラスタを成長させるために、領域成長アルゴリズムを適用してもよい。さらに、車線標示検出モジュール104は、領域成長アルゴリズムを制限して、第1のグループのピクセルが第2のグループのいずれかの境界を横断することを防止してもよい。
【0136】
別の例として、路面の画像は、車線の方向に対して実質的に垂直な複数の行を含むと仮定する。ある行の車線標示ピクセルについて、車線標示検出モジュール104は、そのピクセルが隣接する行のどの次の行のピクセルに接続されているかを推定してもよい。一般に、次列ピクセルは、(i)車線標示ピクセルの直下、(ii)マークピクセルの直下かつ左の1ピクセル、または(iii)マークピクセルの直下かつ右の1ピクセルであってよいが、マークピクセルからの任意の適切な変位であってよい。その後、車線標示検出モジュール104は、接続されたピクセルに沿って、第1のグループまたは第2のグループに関連するピクセルのクラスタを成長させてもよい。
【0137】
加えて、または代わりに、車線標示検出モジュール104は、(i)事前の複数のピクセルと、(ii)第1の隣接行ピクセルが(a)第2の隣接行ピクセルの直下、(b)第2の隣接行ピクセルの直下および左側の1ピクセル、または(c)第2の隣接行ピクセルの直下および右側の1ピクセルである場合に、事前の複数のピクセルにおける第1の隣接行ピクセルと第2の隣接行ピクセルが接続しているという1または複数の示唆を用いて学習した機械学習モデルを適用し得る。
【0138】
いずれにしても、本開示のコンピューティングシステムは、上述のスプライン生成技術を利用して、車線標示の位置を予測および/または追跡することができる。車線標示の位置を予測および/または追跡することは、コンピューティングシステムが、
図10に示される流れ図に従った方法1000を実施することを含み得る。方法1000は、車線標示に関連するピクセルのセットを受信することによって始まる(ブロック1002)。例えば、コンピューティングシステム(例えば、車線標示検出モジュール104)は、上述した方法に従って、ピクセルのセットを受信してもよい。同様に上述した方法に従って、車線標示検出モジュール104は、ピクセルのセットに基づいて車線の境界を記述するスプラインを生成してもよい(ブロック1004)。
【0139】
ブロック1006において、コンピューティングシステム(例えば、車線トラッキングおよび予測モジュール105)は、撮像システムが移動している方向におけるスプラインの予測された延長を生成してもよい。スプラインの予測された延長は、スプラインの少なくとも一部の曲率に基づくものであってよい。さらに、スプラインの予測される延びは、道路の形状、方向、または曲率に関する情報を含む地図データにさらに基づいてもよい。例えば、地図データは、前方の道路が右にカーブしていることを示す場合があり、それに応じて、右向きの曲率がスプラインの予測された延長に適用される場合がある。実施形態において、ピクセルのセットは、道路の第1の部分について第1の時間に生成されたピクセルの第1のセットであってよい。これらの実施形態において、車線標示検出モジュール104は、例えば、1つ以上のセンサ101から車線標示に関連するピクセルの第2のセットを受信してもよい。その後、車線標示検出モジュール104は、車線の境界を記述する更新されたスプラインを生成し、スプラインの予測された延長を更新されたスプラインと比較して、尤度スコアを決定してもよい。
【0140】
上述したように、車線標示検出モジュール104は、(i)予測スプラインから得られたガウス核と(ii)ピクセルの第2の集合(セット)を表すヒストグラムのそれぞれの値を畳み込むことによって尤度スコアを決定し得る。さらに、予測スプラインは、コンボリューションがコンボリューションされた値のセットを生成するように、複数の予測スプラインを含んでもよい。その後、車線標示検出モジュール104は、畳み込まれた値のセットにわたって合計することによって、尤度スコアを決定してもよい。
【0141】
実施形態において、車線追跡および予測モジュール105は、撮像システムが移動している方向におけるスプラインの複数の予測された延長を生成してもよい。車線追跡および予測モジュール105は、スプラインの少なくとも一部の曲率に基づいて、複数の予測された延長を生成してもよい。さらにこれらの実施形態において、車線追跡および予測モジュール105は、機械学習モデルを用いて複数の予測された延長を生成し、スプラインの複数の予測された延長のそれぞれを更新されたスプラインと比較して、複数の尤度スコアを決定してもよい。その後、車線追跡および予測モジュール105は、複数の尤度スコアを解析することによって、機械学習モデルを調整してもよい。
【0142】
実施形態において、車線追跡および予測モジュール105は、粒子フィルタ技術を適用することによって、スプラインの予測された延長を生成してもよい。大まかに言えば、車線追跡および予測モジュール105は、車両センサの範囲を超えて位置する車線標示に関連するピクセルの位置を予測し、関連するスプラインの事前予測延長と比較して車線標示の位置の事前観測に基づいてスプラインの予測延長の幾何学的構造を推定してもよい。粒子フィルタ技術は、複数の予測スプラインを生成することを含んでもよく、各予測スプラインは、(i)第1のスプラインと、(ii)第1のスプラインの予測された延長とを含む。各第1スプラインは、車線標示に関連する受信されたピクセルのセットに基づいて生成されてもよく、第1のスプラインの各予測された拡張は、第1スプラインの少なくとも一部の曲率に少なくとも部分的に基づくことができる。各予測されたスプラインは、粒子と呼ばれてもよく、尤度スコアは、予測されたスプラインの各々について決定されてもよい。複数の予測されたスプラインは、それらの関連する尤度スコアに基づいて一緒に結合されてもよく、結合されたスプラインは、予測された車線境界線に対応してもよい。例えば、複数の予測されたスプラインは、期待値または加重平均に基づいて一緒に結合されてもよく、各予測されたスプラインは、その尤度スコアに従って加重される。以前の反復からの粒子の少なくとも一部は、後続の反復において(後続の点群データのセットと共に)、後続の車線境界予測に対応する、後続の結合スプラインを予測するために使用されてもよい。
【0143】
実施形態において、車線追跡および予測モジュール105は、スプラインの予測された延長にノイズ信号を適用してもよい。複数の予測されたスプラインが生成されてもよく、各予測されたスプラインは、(i)第1のスプラインと、(ii)第1のスプラインの予測された伸長部とを含む。ノイズ信号の形態の摂動が、第1のスプラインの各々および/または予測される延長の各々に加えられてもよい。ノイズ信号は、予測された延長部の各々に適用されてもよく、予測された延長部の曲率の量の変化を含んでもよい。例えば、曲率の増加が予測される延長部のいくつかに適用され、曲率の減少が他の予測される延長に適用されてもよい。予測された延長に曲率を追加または削除するノイズ信号は、曲率の変化が現時点では分からない前方の車線の曲率の変化を説明することができる。別の例として、前方の道路の形状、方向、または曲率を示す地図データが利用可能な場合、地図データに基づいてノイズ信号に偏りまたはシフトを与えてもよい。例えば、前方の道路が左に曲がっていることを地図データが示している場合、ノイズ信号は、予測される延長に対して左向きのバイアスを持つ曲率を適用するように構成されてもよい。
【0144】
道路上の車線の境界を検出するための様々な例示的な態様を指示された方法を以下に説明する。
【0145】
態様1。道路上の車線の境界を検出する方法であって、撮像システムから1つ以上のプロセッサによって、車線標示に関連するピクセルのセットを受け取ることと、1つ以上のプロセッサによって、ピクセルのセットを複数のグループに分割し、複数のグループの各々が1つ以上の制御点に関連付けられることと、1つ以上のプロセッサによって、複数のグループの制御点を横断するスプラインを生成し、スプラインが車線の境界を説明することを含む、方法。
【0146】
態様2。ピクセルのセットを複数のグループに分割することは、1つ以上のプロセッサによって、ピクセルのセットからのピクセルを1つ以上のピクセルのリンクされたセクションに反復的にリンクすることと、1つ以上のプロセッサによって、ピクセルの1つ以上のリンクされたセクションを複数のグループに分割することと、をさらに含む、態様1に記載の方法。
【0147】
態様3.ピクセルのリンクされたセクションを複数のグループに分割することが、1つ以上のプロセッサによって、複数のグループの各グループの主成分を決定することであって、各主成分が1つ以上の制御点の少なくとも1つを含む、ことと、1つ以上のプロセッサによって、それぞれの主成分に基づき複数のグループのグループを関連付けることと、をさらに備える、態様2に記載の方法。
【0148】
態様4。各グループについて主成分を決定することが、1つ以上のプロセッサによって、各グループに含まれるピクセルに主成分線を適合させることをさらに含み、主成分線が2つの制御点によって境界を定められる、態様3に記載の方法。
【0149】
態様5。各主成分に対応するそれぞれの2つの制御点が制御点の組を定義し、ピクセルの組を複数のグループに分割することが、1つ以上のプロセッサによって、関連付けアルゴリズムを実行することをさらに含み、関連付けアルゴリズムが以下を含む、アスペクト4に記載の方法。つの異なるグループからの制御点のそれぞれの対の間の終点距離を決定すること、制御点のそれぞれの対の終点距離を最小閾値終点距離と比較すること、および制御点のそれぞれの対の終点距離が最小閾値終点距離以下であると決定することに応答して、制御点のそれぞれの対を含む2つのグループを関連付けること、である。
【0150】
態様6。態様4に記載の方法であって、関連付けアルゴリズムは、以下をさらに含む。制御点のそれぞれの対の間の終点角度を決定することと、(i)制御点のそれぞれの対に対する終点角度を閾値終点角度と比較することと、(ii)制御点のそれぞれの対に対する終点距離を最小閾値終点距離および最大閾値終点距離と比較することと、を含む。とを決定することに応答して、(i)制御点のそれぞれの対についての端点角度が閾値端点角度以下であり、(ii)制御点のそれぞれの対についての端点距離が最小閾値端点距離以上かつ最大閾値端点距離以下である、制御点のそれぞれの対を含む2つのグループを関連付ける、ことを含む。
【0151】
態様7。各主成分に対応するそれぞれの2つの制御点が制御点のセットを定義し、ピクセルのセットを複数のグループに分割することが、1つ以上のプロセッサによって、グラフベースの関連付けアルゴリズムを実行することをさらに含み、関連付けアルゴリズムが以下を含む、アスペクト4に記載の方法。制御点のセットの各制御点をグラフのノードに割り当てること、グラフのノードの各対の間にエッジを形成すること、グラフの各エッジのコストを決定すること、グラフにソースノードとターゲットノードを追加すること、ソースノードからターゲットノードまでグラフを横断する1以上の低コストのパスを決定し、低コストの各パスに沿った制御点が車線に対応する、こと。
【0152】
態様8。グラフ内のノードの各対の間にエッジを形成することは、ノードの対の間にスプラインを適合させることに対応する、態様7に記載の方法。
【0153】
態様9。各エッジのコストを決定することは、道路バリアを横切るエッジに高いコストを割り当てること、1つ以上の車線標示に従うエッジに低いコストを割り当てること、または運転環境から見て高いシャープネスに相当するエッジに高いコストを割り当てることのうちの1つ以上に含む、側面7に記載の方法。
【0154】
態様10。ピクセルのセットを複数のグループに分割することが、1つ以上のプロセッサによって、リンクアルゴリズムを実行することをさらに含み、リンクアルゴリズムは、1つ以上のプロセッサによって、ピクセルのセットの第1のピクセルの周りに境界ボックスを生成すること、1つ以上のプロセッサによって、第2のピクセルを見つけるために境界ボックスによって包含される領域を走査すること、1つ以上のプロセッサによって、第1のピクセルおよび第2のピクセルをリンクすることを備える、態様1に記載の方法。
【0155】
態様11。境界ボックスは矩形であり、境界ボックスは、第1のピクセルに関して前方バイアスを含む、態様10に記載の方法。
【0156】
態様12。ピクセルのセット内の各ピクセルがピクセルのセット内の別のピクセルにリンクされるまで、1つ以上のプロセッサによって、リンクアルゴリズムを繰り返し実行することをさらに含み、ピクセルのセット内の各ピクセルがピクセルのセット内の最大2つの他のピクセルにリンクされ、ピクセルのセット内の各ピクセルがピクセルの1つまたは複数のリンクセクションの一部である、態様10に記載の方法。
【0157】
態様13。ピクセルのセットを複数のグループに分割することが、1つ以上のプロセッサが分割アルゴリズムを実行することをさらに備え、分割アルゴリズムは、1つ以上のプロセッサが、ピクセルのリンクされたセクションの開始ピクセルとピクセルのリンクされたセクションの終了ピクセルとの間に線を構築すること、1つ以上のプロセッサが、開始ピクセルと終了ピクセルとの間の各ピクセルの線からの距離を決定すること、1つ以上のプロセッサが、閾値より大きい数のピクセルが線から閾値の距離を超えて位置すると決定すること、1つ以上のプロセッサが、閾値より大きい数のピクセルが閾値の距離を超えて位置すると決定することに応答して、ピクセルのリンクセクションを2以上の別々のピクセルのリンクセクションに切り離すこと、を含む態様1に記載の方法。
【0158】
態様4。ピクセルのセットの各ピクセルが複数のグループの1つのグループに含まれるまで、1つまたは複数のプロセッサがパーティショニングアルゴリズムを反復して実行することをさらに含む、態様13に記載の方法。
【0159】
態様15。スプラインを生成することが、1つ以上のプロセッサによって、スプライン法を実行することをさらに含み、スプライン法が、1つまたは複数の制御点のみを利用する、態様1に記載の方法。
【0160】
態様16。スプライン法がキャットムル‐ロムスプライン法である、態様15に記載の方法。
【0161】
態様17。車線標示に関連するピクセルのセットを特定することをさらに含む、態様1に記載の方法であって、1つ以上のプロセッサが、撮像システムから、路面の画像であって、該画像はピクセルのセットで構成されているものを受け取ることと、1つ以上のプロセッサが、ピクセルのセット内で、第1の対の車線を分離する車線標示に関連するピクセルの第1のグループ、および第2の対の車線を分離する車線標示に関連するピクセルの第2のグループ、第1および第2のグループごとに、車線標示に対応する車線標示ピクセルを識別するステップと、車線標示ピクセルに対して左境界および右境界を推定し、左境界および右境界が車線標示ピクセルによって示される車線の方向と実質的に一致するようにするステップと、左境界および右境界内のピクセルを対応するグループに関連付けるステップと、を含む。態様1に記載の方法。
【0162】
態様18。左境界および右境界内に関連付けることは、領域成長アルゴリズムを適用して、最初は車線標示ピクセルのみを含むクラスタを成長させることを含む、態様17に記載の方法。
【0163】
態様19。領域成長アルゴリズムを適用することは、第1のグループのピクセルが第2のグループのいずれかの境界を横断することを防止することを含む、態様18に記載の方法。
【0164】
態様20。第1および第2のグループのピクセルを決定することは、画像に機械学習モデルを適用することを含み、機械学習モデルは、画像内のどのピクセルが第1のグループのピクセルまたは第2のグループのピクセルに関連付けられるかを予測するように構成され、各グループについて左および右境界を推定することは、機械学習モデルを使用してそれぞれの予測を生成することを含む、態様17に記載の方法。
【0165】
態様21。道路セグメンテーションに関連する予測と同時に、左境界および右境界に関連する予測を生成するように機械学習モデルを構成することをさらに含む、態様20に記載の方法。
【0166】
態様22。機械学習モデルを適用することは、特徴ラベルとして、車線標示に対応する画像内のピクセルに関するオペレータからの指示を適用することを含む、態様20に記載の方法。
【0167】
態様23。画像が、車線の向きに実質的に垂直な複数の行を含み;方法が、ある行の車線標示ピクセルについて、そのピクセルが隣接する行のどの次行ピクセルに接続されているかを推定することであって、次行ピクセルが(i)車線標示ピクセルのすぐ下、(ii)すぐ下でマークピクセルの1ピクセル左、または(iii)すぐ下でマークピクセルの1ピクセル右にあることをさらに含む態様17に記載の方法。
【0168】
態様24。接続されたピクセルに沿って、第1のグループまたは第2のグループに関連するピクセルのクラスタを成長させることをさらに含む、態様23に記載の方法。
【0169】
態様25。隣接する行のどの次の行のピクセルにピクセルが接続されているかを推定することが、(i)事前の複数のピクセルと、(ii)事前の複数のピクセルにおける第1の隣接行ピクセルと第2の隣接行ピクセルが、第1の隣接行ピクセルが(a)第2の隣接行ピクセルの直下、(b)直下かつ第2の隣接行ピクセルの1ピクセル左、または(c)直下かつ第2の隣接行ピクセルの1ピクセル右にある場合に接続されるという1以上の示唆を用いてトレーニングした機械学習モデルの適用を含む、態様23に記載の方法。