(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】車両ナビゲーションのためのイベント情報のクラスタ化
(51)【国際特許分類】
G08G 1/16 20060101AFI20241022BHJP
G08G 1/00 20060101ALI20241022BHJP
【FI】
G08G1/16 A
G08G1/00 A
【外国語出願】
(21)【出願番号】P 2024002408
(22)【出願日】2024-01-11
(62)【分割の表示】P 2021540051の分割
【原出願日】2020-01-24
【審査請求日】2024-01-22
(32)【優先日】2019-01-24
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-01-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515168961
【氏名又は名称】モービルアイ ビジョン テクノロジーズ リミテッド
【住所又は居所原語表記】P.O.B. 45157,13 HARTOM STREET, HAR HOTZVIM, JERUSALEM, 9777513 ISRAEL
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ラッペル-クロイザー、オーア
(72)【発明者】
【氏名】ラファエル、アミット
(72)【発明者】
【氏名】カラヴァニー、イド
(72)【発明者】
【氏名】コム、セルゲイ
(72)【発明者】
【氏名】チャノフスキー、アミール
(72)【発明者】
【氏名】アヴィダン、エラン
(72)【発明者】
【氏名】ボレス、エイラン
【審査官】佐藤 吉信
(56)【参考文献】
【文献】米国特許出願公開第2018/0218214(US,A1)
【文献】特表2020-502685(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00-99/00
B60W 10/00-10/30
B60W 30/00-60/00
G01C 21/00-21/36
G01C 23/00-25/00
G06T 7/00- 7/90
(57)【特許請求の範囲】
【請求項1】
複数の車両から受信される情報報告を集約するためのシステムであって、前記システムが、
ホスト車両から、前記ホスト車両の環境において検出されたイベント及び前記イベントの検出された位置を識別する情報を含む情報車両報告を受信することと、
前記情報車両報告を、前記検出された位置を含む第1の空間領域に関連付けられた第1のセルに関連付けてデータベースに記憶することと、
前記データベースに記憶され、前記第1の空間領域から所定の距離内にある第2の空間領域に関連付けられた第2のセルを照会することであって、前記第2のセルがクラスタ識別子に関連付けられていることと、
前記第2のセルが、前記検出されたイベントに関連付けられた情報クラスタに関連付けられているかどうかを判断することと、
前記第2のセルが、前記検出されたイベントに関連付けられた情報クラスタに関連付けられている場合、
前記第1のセルの前記情報車両報告を前記第2のセルに関連付けられた前記情報クラスタと集約して、前記第1の空間領域及び前記第2の空間領域を含む集約された空間領域に関連付けられた集約されたクラスタを提供することであって、前記情報車両報告を集約することが、前記集約されたクラスタを、前記第2のセルに関連付けられた前記クラスタ識別子と関連付けることを含むことと、
前記集約されたクラスタに関連付けられた情報に基づいて、前記検出されたイベントのイベント報告を生成することと、
前記イベント報告を前記ホスト車両に送信することと、
前記第2のセルが、前記検出されたイベントに関連付けられた情報クラスタに関連付けられていない場合、
前記記憶された情報車両報告に基づいて、前記検出されたイベントの前記イベント報告を生成することと、
前記イベント報告を前記ホスト車両に送信することと、
を行うようにプログラムされる少なくとも1つのプロセッサを含む、システム。
【請求項2】
前記検出されたイベントを識別する前記情報が、前記ホスト車両に搭載されたカメラから捕捉される画像を含む、請求項1に記載のシステム。
【請求項3】
前記検出されたイベントを識別する前記情報が、前記ホスト車両に搭載されたカメラによって捕捉される画像から導出される情報を含む、請求項1に記載のシステム。
【請求項4】
前記検出されたイベントを識別する前記情報が、ライダ点群又はレーダ出力を含む、請求項1に記載のシステム。
【請求項5】
前記検出されたイベントの位置が、前記ホスト車両の前記環境内にある、請求項1から4のいずれか一項に記載のシステム。
【請求項6】
前記少なくとも1つのプロセッサが、
前記データベースに記憶され、前記集約されたクラスタに関連付けられ前記第1のセルと前記第2のセルとの間に位置する第3のセルを照会することと、
前記第3のセルの有効期限が切れたと判断することと、
前記集約されたクラスタを、前記第1のセルに関連付けられた第1のクラスタと前記第2のセルに関連付けられた第2のクラスタに分離することと
を行うように更にプログラムされる、請求項1から5のいずれか一項に記載のシステム。
【請求項7】
前記第1のセルが有効期限に関連付けられている、請求項1から6のいずれか一項に記載のシステム。
【請求項8】
前記有効期限は、前記情報車両報告が受信された時刻を基準に定められる、請求項7に記載のシステム。
【請求項9】
前記有効期限は、前記検出されたイベントに関連する物体のタイプに基づく、請求項7から8のいずれか一項に記載のシステム。
【請求項10】
前記有効期限は、前記イベントの前記検出された位置に基づく、請求項7から9のいずれか一項に記載のシステム。
【請求項11】
前記有効期限は、前記情報車両報告の履歴データに基づく、請求項7から10のいずれか一項に記載のシステム。
【請求項12】
複数の車両から受信される情報報告を集約するための方法であって、前記方法が、
ホスト車両から、前記ホスト車両の環境において検出されたイベント及び前記イベントの検出された位置を識別する情報を含む情報車両報告を受信する段階と、
前記情報車両報告を、前記検出された位置を含む第1の空間領域に関連付けられた第1のセルに関連付けてデータベースに記憶する段階と、
前記データベースに記憶され、前記第1の空間領域から所定の距離内にある第2の空間領域に関連付けられた第2のセルを照会する段階であって、前記第2のセルがクラスタ識別子に関連付けられている、段階と、
前記第2のセルが、前記検出されたイベントに関連付けられた情報クラスタに関連付けられているかどうかを判断する段階と、
前記第2のセルが、前記検出されたイベントに関連付けられた情報クラスタに関連付けられている場合、
前記第1のセルの前記情報車両報告を前記第2のセルに関連付けられた前記情報クラスタと集約して、前記第1の空間領域及び前記第2の空間領域を含む集約された空間領域に関連付けられた集約されたクラスタを提供する段階であって、前記情報車両報告を集約することが、前記集約されたクラスタを、前記第2のセルに関連付けられた前記クラスタ識別子と関連付けることを含む、段階と、
前記集約されたクラスタに関連付けられた情報に基づいて、前記検出されたイベントのイベント報告を生成する段階と、
前記イベント報告を前記ホスト車両に送信する段階と、
前記第2のセルが、前記検出されたイベントに関連付けられた情報クラスタに関連付けられていない場合、
前記記憶された情報車両報告に基づいて、前記検出されたイベントの前記イベント報告を生成する段階と
前記イベント報告を前記ホスト車両に送信する段階と、
を含む、方法。
【請求項13】
前記検出されたイベントを識別する前記情報が、前記ホスト車両に搭載されたカメラから捕捉される画像を含む、請求項12に記載の方法。
【請求項14】
前記検出されたイベントを識別する前記情報が、前記ホスト車両に搭載されたカメラによって捕捉される画像から導出される情報を含む、請求項12に記載の方法。
【請求項15】
前記検出されたイベントを識別する前記情報が、ライダ点群又はレーダ出力を含む、請求項12に記載の方法。
【請求項16】
前記検出されたイベントの前記位置が、前記ホスト車両の前記環境内にある、請求項12から15のいずれか一項に記載の方法。
【請求項17】
前記方法が、
前記データベースに記憶され、前記集約されたクラスタに関連付けられ、前記第1のセルと前記第2のセルとの間に位置する第3のセルを照会する段階と、
前記第3のセルの有効期限が切れたと判断する段階と、
前記集約されたクラスタを、前記第1のセルに関連付けられた第1のクラスタと前記第2のセルに関連付けられた第2のクラスタに分離する段階と
を更に含む、請求項12から16のいずれか一項に記載の方法。
【請求項18】
前記第1のセルが有効期限に関連付けられている、請求項12から17のいずれか一項に記載の方法。
【請求項19】
前記集約されたクラスタは、前記第2の空間領域及び前記検出された位置に基づく、請求項12から18のいずれか一項に記載の方法。
【請求項20】
コンピュータに、請求項12から19のいずれか一項に記載の方法を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年1月24日に提出された米国仮出願第62/796,355号、及び2020年1月3日に提出された米国仮出願第62/956,929号の優先権の利益を主張するものである。上記の出願は、参照によりその全体が本明細書に援用される。
【0002】
本開示は、概して、車両ナビゲーションで使用するためにイベント情報をクラスタ化するためのシステム及び方法に関する。
【背景技術】
【0003】
技術が進化し続けるにつれ、道路上でナビゲート可能な完全自律車両という目標が現実味を帯びてきている。自律車両は、様々な要因を考慮する必要があり得て、それらの要因に基づいて意図される目的地に安全且つ正確に到達するのに適切な判断を下し得る。例えば、自律車両は、視覚的情報(例えば、カメラから捕捉される情報)を処理して解釈する必要があり得ると共に、他のソース(例えば、GPSデバイス、速度センサ、加速度計、サスペンションセンサ等)から得られる情報を使用することもある。同時に、目的地にナビゲートするために、自律車両は、特定の道路(例えば、複数レーン道路内の特定のレーン)内の自らの位置を識別し、他の車両と並んでナビゲートし、障害物及び歩行者を回避し、交通信号及び標識を観測し、適切な交差点又はインターチェンジである道路から別の道路に移動する必要もあり得る。自律車両が目的地まで走行するときに、自律車両によって収集された膨大な量の情報を利用して解釈することは、設計上の多くの課題をもたらす。自律車両が分析、アクセス、及び/又は保存する必要があり得る膨大な量のデータ(例えば、捕捉される画像データ、マップデータ、GPSデータ、センサデータ等)は、実際には自律ナビゲーションに制限又は悪影響を与える可能性のある課題をもたらす。更に、自律車両が従来のマッピング技術に依存してナビゲートする場合、マップの保存及び更新に必要な膨大な量のデータは、困難な課題をもたらす。
【発明の概要】
【0004】
本開示による実施形態は、自律車両ナビゲーションのシステム及び方法を提供する。開示される実施形態は、カメラを使用して、自律車両ナビゲーション特徴を提供し得る。例えば、本開示の実施形態によれば、開示されるシステムは、車両の環境を監視する1つ、2つ又は3つ以上のカメラを含み得る。開示されるシステム及び方法は、例えば、カメラの1つ又は複数により捕捉される画像の分析に基づいて、ナビゲーション応答を提供し得る。開示されるシステムはまた、クラウドソーシングされる疎なマップを構築及びナビゲートすることを提供し得る。他の開示されるシステムは、画像の関連する分析を使用して、疎なマップでナビゲーションを補足し得る位置特定を実行し得る。ナビゲーション応答は、例えば、全地球測位システム(GPS)データ、センサデータ(例えば、加速度計、速度センサ、サスペンションセンサ等から)及び/又は他の地図データを含む他のデータを考慮することもできる。
【0005】
1つの実施形態では、複数の車両から受信される情報報告を集約するためのシステムが開示される。システムは、ホスト車両から、情報車両報告を受信するようにプログラムされた少なくとも1つの処理デバイスを備え得る。情報車両報告は、ホスト車両の環境において検出されたイベント及びイベントの検出された位置を識別する情報を含み得る。次いで、少なくとも1つの処理デバイスは、第1のセルに関連付けてデータベースに情報車両報告を記憶し得る。第1のセルは、検出された位置を含む空間領域に関連付けられ得る。次いで、少なくとも1つの処理デバイスは、データベースに記憶された第2のセルを照会し得て、第2のセルは、第1のセルから所定の距離内にあり、第2のセルが、検出されたイベントに関連付けられた情報クラスタに関連付けられているかどうかを判断し得る。第2のセルが、検出されたイベントに関連付けられた情報クラスタに関連付けられている場合、少なくとも1つの処理デバイスは、第1のセルの情報車両報告を第2のセルに関連付けられた情報クラスタと集約して、集約されたクラスタを提供し、集約されたクラスタに関連付けられた情報に基づいて、検出されたイベントのイベント報告を生成し、イベント報告をホスト車両に送信するように構成され得る。第2のセルが、検出されたイベントに関連付けられた情報クラスタに関連付けられていない場合、少なくとも1つの処理デバイスは、記憶された情報車両報告に基づいて検出されたイベントのイベント報告を生成し、イベント報告をホスト車両に送信するように構成され得る。
【0006】
1つの実施形態では、複数の車両から受信される情報報告を集約するための方法が開示される。方法は、ホスト車両から情報車両報告を受信することを含み得る。情報車両報告は、ホスト車両の環境において検出されたイベント及びイベントの検出された位置を識別する情報を含む。方法は、第1のセルに関連付けてデータベースに情報車両報告を記憶することを更に含み得る。第1のセルは、検出された位置を含む空間領域に関連付けられ得る。次いで、方法は、データベースに記憶された第2のセルを照会することを含み得る。第2のセルは、第1のセルから所定の距離内にあり得る。方法は、第2のセルが、検出されたイベントに関連付けられた情報クラスタに関連付けられているかどうかを判断することを更に含み得る。第2のセルが、検出されたイベントに関連付けられた情報クラスタに関連付けられている場合、方法は、第1のセルの情報車両報告を第2のセルに関連付けられた情報クラスタと集約することと、集約されたクラスタを提供し、集約されたクラスタに関連付けられた情報に基づいて、検出されたイベントのイベント報告を生成することと、イベント報告をホスト車両に送信することとを含み得る。第2のセルが、検出されたイベントに関連付けられた情報クラスタに関連付けられていない場合、方法は、記憶された情報車両報告に基づいて検出されたイベントのイベント報告を生成することと、イベント報告をホスト車両に送信することとを含み得る。
【0007】
1つの実施形態では、複数の車両から受信される情報報告に基づいて、ホスト車両のナビゲーション報告を生成するためのシステムが開示される。システムは、第1の車両から第1のイベント報告を受信するようにプログラムされた少なくとも1つの処理デバイスを含み得て、第1のイベント報告は、道路内で検出された停止車両に関連する。第1の車両は、停止車両の前方の位置から停止車両に接近している間に停止車両を検出する。少なくとも1つの処理デバイスは更に、第2の車両から第2のイベント報告を受信するようにプログラムされ得て、第2のイベント報告は、道路内の停止車両に関連する。第2の車両は、停止車両の後方の位置から停止車両に接近している間に停止車両を検出する。次いで、プロセッサは、第1のイベント報告と第2のイベント報告との間の少なくとも1つの差に基づいて、停止車両が交通渋滞の一部ではないことを判断し、判断に基づいて、第1のイベント報告及び第2のイベント報告を、停止車両が交通渋滞の一部ではないことを示すクラスタ化されたイベント報告に集約し、停止車両が交通渋滞の一部ではないことを示すナビゲーション報告を生成し、第2の車両に停止車両の周りをナビゲートするように促すために、ナビゲーション報告を第2の車両に送信するように構成され得る。
【0008】
開示される他の実施形態によれば、非一時的コンピュータ可読記憶媒体は、少なくとも1つの処理デバイスにより実行され、且つ本明細書に記載される任意の方法を実行するプログラム命令を記憶し得る。
【0009】
上述した概説及び以下に詳述する説明は、単に例示的及び説明的なものであり、特許請求の範囲の限定ではない。
【図面の簡単な説明】
【0010】
本開示に組み込まれ、本明細書の一部をなす添付図面は、開示される様々な実施形態を示す。
【0011】
【
図1】開示される実施形態による例示的なシステムの図表現である。
【0012】
【
図2A】開示される実施形態によるシステムを含む例示的な車両の側面図表現である。
【0013】
【
図2B】開示される実施形態による
図2Aに示される車両及びシステムの上面図表現である。
【0014】
【
図2C】開示される実施形態によるシステムを含む車両の別の実施形態の上面図表現である。
【0015】
【
図2D】開示される実施形態によるシステムを含む車両の更に別の実施形態の上面図表現である。
【0016】
【
図2E】開示される実施形態によるシステムを含む車両の更に別の実施形態の上面図表現である。
【0017】
【
図2F】開示される実施形態による例示的な車両制御システムの図表現である。
【0018】
【
図3A】バックミラーと、開示される実施形態による車両撮像システムのユーザインタフェースとを含む車両の内部の図表現である。
【0019】
【
図3B】開示される実施形態による、バックミラーの背後に、車両フロントガラスと対向して位置決めされるように構成されるカメラマウントの例の図である。
【0020】
【
図3C】開示される実施形態による、異なる視点からの
図3Bに示されるカメラマウントの図である。
【0021】
【
図3D】開示される実施形態による、バックミラーの背後に、車両フロントガラスと対向して位置決めされるように構成されるカメラマウントの例の図である。
【0022】
【
図4】開示される実施形態による1つ又は複数の動作を実行する命令を記憶するように構成されるメモリの例示的なブロック図である。
【0023】
【
図5A】開示される実施形態による、単眼画像分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセスを示すフローチャートである。
【0024】
【
図5B】開示される実施形態による、画像の組内の1つ又は複数の車両及び/又は歩行者を検出する例示的なプロセスを示すフローチャートである。
【0025】
【
図5C】開示される実施形態による、画像の組内の道路マーク及び/又はレーンジオメトリ情報を検出する例示的なプロセスを示すフローチャートである。
【0026】
【
図5D】開示される実施形態による、画像の組内の信号機を検出する例示的なプロセスを示すフローチャートである。
【0027】
【
図5E】開示される実施形態による、車両経路に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセスのフローチャートである。
【0028】
【
図5F】開示される実施形態による、先行車両がレーンを変更中であるか否かを特定する例示的なプロセスを示すフローチャートである。
【0029】
【
図6】開示される実施形態による、立体画像分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセスを示すフローチャートである。
【0030】
【
図7】開示される実施形態による、3組の画像の分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセスを示すフローチャートである。
【0031】
【
図8A】開示される実施形態による、道路区分の部分の多項式表現を示す。
【0032】
【
図8B】開示される実施形態による、疎なマップに含まれる、特定の道路区分についての車両の目標軌道を表す3次元空間内の曲線を示す。
【0033】
【
図9A】開示される実施形態による、軌道の多項式表現を示す。
【0034】
【
図9B】開示される実施形態による、複数レーン道路に沿った目標軌道を示す。
【
図9C】開示される実施形態による、複数レーン道路に沿った目標軌道を示す。
【0035】
【
図9D】開示される実施形態による、例示的な道路シグネチャプロファイルを示す。
【0036】
【
図10】開示される実施形態による、複数の3次元スプラインによって表される例示的な自律車両道路ナビゲーションモデルを示す。
【0037】
【
図11】開示される実施形態による、多くの走行からの位置情報を組み合わせることから生成されるマップスケルトンを示す。
【0038】
【
図12】開示される実施形態による、例示的なセル構成を示す。
【0039】
【
図13A】開示される実施形態による、実行され得る例示的なクラスタ化動作を示す。
【
図13B】開示される実施形態による、実行され得る例示的なクラスタ化動作を示す。
【
図13C】開示される実施形態による、実行され得る例示的なクラスタ化動作を示す。
【
図13D】開示される実施形態による、実行され得る例示的なクラスタ化動作を示す。
【
図13E】開示される実施形態による、実行され得る例示的なクラスタ化動作を示す。
【
図13F】開示される実施形態による、実行され得る例示的なクラスタ化動作を示す。
【
図13G】開示される実施形態による、実行され得る例示的なクラスタ化動作を示す。
【0040】
【
図14】開示される実施形態による、複数の車両から受信される情報報告を集約するための例示的なプロセスを示すフローチャートである。
【0041】
【
図15】開示される実施形態による、複数の見晴らしの良い地点に基づいてイベント報告を集約するための例示的な環境を示す。
【0042】
【
図16】開示される実施形態による、複数の車両から受信される情報報告を集約するための例示的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【0043】
以下の詳細な説明は、添付図面を参照する。可能な場合には常に、図面及び以下の説明において、同じ又は同様の部分を指すのに同じ参照番号が使用される。幾つかの例示的な実施形態は、本明細書で説明されるが、変更形態、適応形態及び他の実装形態が可能である。例えば、図面に示される構成要素に対する置換形態、追加形態又は変更形態がなされ得て、本明細書に記載される例示的な方法は、開示される方法のステップの置換、順序替え、削除又は追加により変更することができる。従って、以下の詳細な説明は、開示される実施形態及び例に限定されない。その代わり、適切な範囲は、添付の特許請求の範囲により規定される。
【0044】
自律車両の概要
【0045】
本開示の全体を通して使用するとき、「自律車両」という用語は、ドライバーの入力なしで少なくとも1つのナビゲーション変更を実施することができる車両を指す。「ナビゲーション変更」は、車両の操舵、ブレーキ、又は加速の1つ又は複数の変更を指す。自律的であるために、車両は、完全に自動である(例えば、ドライバー又はドライバー入力なしに完全に動作する)必要はない。むしろ、自律車両は、特定の時間期間中にドライバーの制御下で動作し、他の時間期間中にドライバーの制御なしで動作することができる車両を含む。自律車両は、(例えば、車両レーン制約間に車両コースを維持するために)操舵等の車両ナビゲーションの幾つかの側面のみを制御するが、他の側面(例えば、ブレーキ)をドライバーに任せ得る車両を含むこともできる。幾つかの場合、自律車両は、車両のブレーキ、速度制御及び/又は操舵の幾つかの又は全ての側面を扱い得る。
【0046】
人間のドライバーは、通常、車両を制御するために視覚的手掛かり及び観測に依存することから、交通基盤は、それに従って構築されており、レーンマーク、交通標識及び信号機は、視覚的情報を全てドライバーに提供するように設計されている。交通基盤のこれらの設計特徴に鑑みて、自律車両は、カメラと、車両の環境から捕捉される視覚的情報を分析する処理ユニットとを含み得る。視覚的情報は、例えば、ドライバーにより観測可能な交通基盤の構成要素(例えば、レーンマーク、交通標識、信号機等)及び他の障害物(例えば、他の車両、歩行者、瓦礫等)を含み得る。更に、自律車両は、ナビゲート時、車両の環境のモデルを提供する情報等の記憶される情報を使用することもできる。例えば、車両は、GPSデータ、センサデータ(例えば、加速度計、速度センサ、サスペンションセンサ等からの)及び/又は他のマップデータを使用して、車両が走行している間、車両の環境に関連する情報を提供し得て、車両(及び他の車両)は情報を使用して、モデルでのそれ自体の位置を特定し得る。
【0047】
本開示の幾つかの実施形態では、自律車両は、ナビゲート中に(例えば、カメラ、GPSデバイス、加速度計、速度センサ、サスペンションセンサ等から)得られた情報を使用し得る。他の実施形態では、自律車両は、ナビゲート中に、車両(又は他の車両)による過去のナビゲーションから得られた情報を使用し得る。更に他の実施形態では、自律車両は、ナビゲート中に得られた情報と過去のナビゲーションから得られた情報との組み合わせを使用し得る。以下の節は、開示される実施形態によるシステムの概要を提供し、続いて、そのシステムによる前向きの撮像システム及び方法の概要を提供する。以下の節では、自律車両ナビゲーションのための疎なマップを構築、使用、及び更新するためのシステム及び方法について開示する。
【0048】
システム概要
【0049】
図1は、開示される例示的な実施形態によるシステム100のブロック図表現である。システム100は、特定の実施要件に応じて様々な構成要素を含み得る。幾つかの実施形態では、システム100は、処理ユニット110、画像取得ユニット120、位置センサ130、1つ又は複数のメモリユニット140、150、マップデータベース160、ユーザインタフェース170及び無線送受信機172を含み得る。処理ユニット110は、1つ又は複数の処理デバイスを含み得る。幾つかの実施形態では、処理ユニット110は、アプリケーションプロセッサ180、画像プロセッサ190又は任意の他の適切な処理デバイスを含み得る。同様に、画像取得ユニット120は、特定の用途の要件に応じて任意の数の画像取得デバイス及び構成要素を含み得る。幾つかの実施形態では、画像取得ユニット120は、画像捕捉デバイス122、画像捕捉デバイス124、画像捕捉デバイス126等の1つ又は複数の画像捕捉デバイス(例えば、カメラ)を含み得る。システム100は、処理デバイス110を画像取得デバイス120に通信可能に接続するデータインタフェース128を含むこともできる。例えば、データインタフェース128は、画像取得デバイス120によって取得される画像データを処理ユニット110に伝送するための1つ又は複数の任意の有線リンク及び/又は無線リンクを含み得る。
【0050】
無線送受信機172は、無線周波数、赤外線周波数、磁場又は電場の使用により無線インタフェースを介して伝送を1つ又は複数のネットワーク(例えば、セルラやインターネット等)と交換するように構成される1つ又は複数のデバイスを含み得る。無線送受信機172は、任意の既知の標準を使用してデータを送信及び/又は受信し得る(例えば、Wi-Fi(登録商標)、Bluetooth(登録商標)、Bluetooth Smart、802.15.4、ZigBee(登録商標)等)。かかる伝送は、ホスト車両から1つ又は複数の遠隔設置されるサーバへの通信を含み得る。かかる伝送は、(例えば、ホスト車両の環境内の目標車両を考慮して又はかかる目標車両と共にホスト車両のナビゲーションの調整を促進するための)ホスト車両とホスト車両の環境内の1つ又は複数の目標車両との間の(単方向又は双方向)通信、更に伝送側の車両の付近にある未指定の受け手へのブロードキャスト伝送も含み得る。
【0051】
アプリケーションプロセッサ180及び画像プロセッサ190の両方は、様々なタイプの処理デバイスを含み得る。例えば、アプリケーションプロセッサ180及び画像プロセッサ190のいずれか一方又は両方は、マイクロプロセッサ、プリプロセッサ(画像プリプロセッサ等)、グラフィックスプロセッシングユニット(GPU)、中央演算処理装置(CPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ又はアプリケーションを実行し、画像を処理して分析するのに適する任意の他のタイプのデバイスを含み得る。幾つかの実施形態では、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、任意のタイプのシングルコア又はマルチコアプロセッサ、モバイルデバイスマイクロコントローラ、中央演算処理装置等を含み得る。例えば、Intel(登録商標)、AMD(登録商標)等の製造業者から入手可能なプロセッサ、又はNVIDIA(登録商標)、ATI(登録商標)等の製造業者から入手可能なGPUを含め、様々な処理デバイスが使用可能であり、様々なアーキテクチャ(例えば、x86プロセッサ、ARM(登録商標)等)を含み得る。
【0052】
幾つかの実施形態では、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、Mobileye(登録商標)から入手可能な任意のEyeQシリーズのプロセッサを含み得る。これらのプロセッサ設計は、それぞれローカルメモリ及び命令セットを有する複数の処理ユニットを含む。そのようなプロセッサは、複数の画像センサから画像データを受信するビデオ入力を含み得ると共に、ビデオ出力機能を含むこともできる。一例では、EyeQ2(登録商標)は、332MHzで動作する90nm-ミクロン技術を使用する。EyeQ2(登録商標)アーキテクチャは、2つの浮動小数点ハイパースレッド32ビットRISC CPU(MIPS32(登録商標)34K(登録商標)コア)、5つのビジョン計算エンジン(VCE)、3つのベクトルマイクロコードプロセッサ(VMP(登録商標))、Denali64ビットモバイルDDRコントローラ、128ビット内部音響相互接続、デュアル16ビットビデオ入力及び18ビットビデオ出力コントローラ、16チャネルDMA及び幾つかの周辺機器からなる。MIPS34K CPUは、5つのVCE、3つのVMP(商標)及びDMA、第2のMIPS34K CPU及びマルチチャネルDMA並びに他の周辺機器を管理する。5つのVCE、3つのVMP(登録商標)及びMIPS34K CPUは、多機能バンドルアプリケーションにより要求される集中的なビジョン計算を実行することができる。別の例では、開示される実施形態において、第3世代プロセッサであり、EyeQ2(登録商標)よりも6倍強力なEyeQ3(登録商標)を使用し得る。他の例では、EyeQ4(登録商標)及び/又はEyeQ5(登録商標)を開示する実施形態で使用することができる。当然ながら、それよりも新しい又は将来のEyeQ処理デバイスは、開示する実施形態と共に使用され得る。
【0053】
本明細書で開示する処理デバイスのいずれも特定の機能を実行するように構成することができる。記載のEyeQプロセッサ又は他のコントローラもしくはマイクロプロセッサのいずれか等の処理デバイスを、特定の機能を実行するように構成することは、コンピュータ実行可能命令をプログラムし、処理デバイスの動作中に実行するためにそれらの命令を処理デバイスに提供することを含み得る。幾つかの実施形態では、処理デバイスを構成することは、処理デバイスにアーキテクチャ的命令を直接プログラムすることを含み得る。例えば、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等の処理デバイス等は、例えば、1つ又は複数のハードウェア記述言語(HDL)を使用して構成され得る。
【0054】
他の実施形態では、処理デバイスを構成することは、動作中に処理デバイスがアクセス可能なメモリ上に実行可能命令を記憶することを含み得る。例えば、処理デバイスは、動作中にメモリにアクセスして、記憶される命令を取得及び実行し得る。いずれにせよ、本明細書で開示する検知、画像分析及び/又はナビゲーション機能を実行するように構成される処理デバイスは、ホスト車両の複数のハードウェアベースの構成要素を制御する専用のハードウェアベースのシステムを表す。
【0055】
図1は、処理ユニット110に含まれる2つの別個の処理デバイスを示すが、より多数又はより少数の処理デバイスを使用することもできる。例えば、幾つかの実施形態では、単一の処理デバイスを使用して、アプリケーションプロセッサ180及び画像プロセッサ190のタスクを達成し得る。他の実施形態では、これらのタスクは、3つ以上の処理デバイスにより実行し得る。更に、幾つかの実施形態では、システム100は、画像取得ユニット120等の他の構成要素を含まず、処理ユニット110の1つ又は複数を含み得る。
【0056】
処理ユニット110は、様々なタイプのデバイスを含み得る。例えば、処理ユニット110は、コントローラ、画像プリプロセッサ、中央演算処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ又は画像を処理し分析する任意の他のタイプのデバイス等の様々なデバイスを含み得る。画像プリプロセッサは、画像センサから画像を捕捉し、デジタル化し、処理するビデオプロセッサを含み得る。CPUは、任意の数のマイクロコントローラ又はマイクロプロセッサを含み得る。GPUはまた、任意の数のマイクロコントローラ又はマイクロプロセッサを含み得る。サポート回路は、キャッシュ、電源、クロック及び入出力回路を含め、当技術分野で一般に周知の任意の数の回路であり得る。メモリは、プロセッサにより実行されると、システムの動作を制御するソフトウェアを記憶し得る。メモリは、データベース及び画像処理ソフトウェアを含み得る。メモリは、任意の数のランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ、ディスクドライブ、光学記憶装置、テープ記憶装置、リムーバブル記憶装置及び他のタイプの記憶装置を含み得る。一例では、メモリは、処理ユニット110とは別個であり得る。別の例では、メモリは、処理ユニット110に統合し得る。
【0057】
各メモリ140、150は、プロセッサ(例えば、アプリケーションプロセッサ180及び/又は画像プロセッサ190)によって実行されるとき、システム100の様々な態様の動作を制御し得るソフトウェア命令を含み得る。これらのメモリユニットは、様々なデータベース及び画像処理ソフトウェア並びに例えばニューラルネットワーク又はディープニューラルネットワーク等のトレーニング済みシステムを含み得る。メモリユニットは、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、ディスクドライブ、光学記憶装置、テープ記憶装置、リムーバブル記憶装置及び/又は任意の他のタイプの記憶装置を含み得る。幾つかの実施形態では、メモリユニット140、150は、アプリケーションプロセッサ180及び/又は画像プロセッサ190とは別個であり得る。他の実施形態では、これらのメモリユニットは、アプリケーションプロセッサ180及び/又は画像プロセッサ190に統合され得る。
【0058】
位置センサ130は、システム100の少なくとも1つの構成要素に関連付けられた位置を特定するのに適する任意のタイプのデバイスを含み得る。幾つかの実施形態では、位置センサ130はGPS受信機を含み得る。そのような受信機は、全地球測位システム衛星によりブロードキャストされる信号を処理することにより、ユーザの位置及び速度を特定することができる。位置センサ130からの位置情報は、アプリケーションプロセッサ180及び/又は画像プロセッサ190に提供し得る。
【0059】
幾つかの実施形態では、システム100は、車両200の速度を測定するための速度センサ(例えば、回転速度計、速度計)及び/又は車両200の加速度を測定するための加速度計(単軸又は多軸のいずれか)等の構成要素を含み得る。
【0060】
ユーザインタフェース170は、情報を提供するか、又はシステム100の1人もしくは複数のユーザから入力を受信するのに適する任意のデバイスを含み得る。幾つかの実施形態では、ユーザインタフェース170は、例えば、タッチスクリーン、マイクロフォン、キーボード、ポインタデバイス、トラックホィール、カメラ、つまみ、ボタン等を含め、ユーザ入力デバイスを含み得る。そのような入力デバイスを用いて、ユーザは、命令もしくは情報をタイプし、音声コマンドを提供し、ボタン、ポインタもしくは目追跡機能を使用して、又は情報をシステム100に通信する任意の他の適する技法を通して画面上のメニュー選択肢を選択することにより、システム100に情報入力又はコマンドを提供可能であり得る。
【0061】
ユーザインタフェース170は、ユーザに情報を提供するか、又はユーザから情報を受信し、例えばアプリケーションプロセッサ180による使用のためにその情報を処理するように構成される1つ又は複数の処理デバイスを備え得る。幾つかの実施形態では、そのような処理デバイスは、目の動きを認識して追跡する命令、音声コマンドを受信して解釈する命令、タッチスクリーンで行われたタッチ及び/又はジェスチャを認識して解釈する命令、キーボード入力又はメニュー選択に応答する命令等を実行し得る。幾つかの実施形態では、ユーザインタフェース170は、ディスプレイ、スピーカ、触覚デバイス及び/又は出力情報をユーザに提供する任意の他のデバイスを含み得る。
【0062】
マップデータベース160は、システム100にとって有用なマップデータを記憶する任意のタイプのデータベースを含み得る。幾つかの実施形態では、マップデータベース160は、道路、水特徴、地理的特徴、ビジネス、関心点、レストラン、ガソリンスタンド等を含め、様々な項目の、基準座標系での位置に関連するデータを含み得る。マップデータベース160は、そのような項目の位置のみならず、例えば記憶される特徴のいずれかに関連付けられた名称を含め、それらの項目に関連する記述子も記憶し得る。幾つかの実施形態では、マップデータベース160は、システム100の他の構成要素と共に物理的に配置し得る。代替又は追加として、マップデータベース160又はその一部は、システム100の他の構成要素(例えば、処理ユニット110)に関してリモートに配置し得る。そのような実施形態では、マップデータベース160からの情報は、有線又は無線データ接続を介してネットワークにダウンロードし得る(例えば、セルラネットワーク及び/又はインターネット等を介して)。幾つかの場合、マップデータベース160は、特定の道路の特徴(例えば、レーンマーク)又はホスト車両の目標軌道の多項式表現を含む疎なデータモデルを記憶し得る。そのようなマップを生成するシステム及び方法については、
図8A~
図16を参照して以下で論じる。
【0063】
画像捕捉デバイス122、124及び126は、それぞれ環境から少なくとも1つの画像を捕捉するのに適する任意のタイプのデバイスを含み得る。更に、任意の数の画像捕捉デバイスを使用して、画像プロセッサに入力する画像を取得し得る。幾つかの実施形態は、単一の画像捕捉デバイスのみを含み得て、一方、他の実施形態は、2つ、3つ、更に4つ以上の画像捕捉デバイスを含み得る。画像捕捉デバイス122、124及び126については、
図2B~
図2Eを参照して更に以下に説明する。
【0064】
システム100又はシステム100の様々な構成要素は、様々な異なるプラットフォームに組み込み得る。幾つかの実施形態では、システム100は
図2Aに示すように、車両200に含め得る。例えば、車両200は、
図1に関して上述したように、処理ユニット110及びシステム100の任意の他の構成要素を備え得る。幾つかの実施形態では、車両200は単一の画像捕捉デバイス(例えば、カメラ)のみを備え得て、一方、
図2B~
図2Eに関連して考察した実施形態等の他の実施形態では、複数の画像捕捉デバイスが使用可能である。例えば、
図2Aに示すように、車両200の画像捕捉デバイス122及び124のいずれかは、ADAS(最新ドライバー支援システム)撮像セットの一部であり得る。
【0065】
画像取得ユニット120の一部として車両200に含まれる画像捕捉デバイスは、任意の適する位置に位置決めし得る。幾つかの実施形態では、
図2A~
図2E及び
図3A~
図3Cに示すように、画像捕捉デバイス122は、バックミラーの近傍に配置し得る。この位置は、車両200のドライバーと同様の視線を提供し得て、ドライバーにとって何が見え、何が見えないかの判断を支援し得る。画像捕捉デバイス122は、バックミラーの近傍の任意の位置に位置決めし得るが、画像捕捉デバイス122をミラーのドライバー側に配置することは、ドライバーの視野及び/又は視線を表す画像の取得を更に支援し得る。
【0066】
画像取得ユニット120の画像捕捉デバイスに他の位置を使用することもできる。例えば、画像捕捉デバイス124は、車両200のバンパー上又はバンパー内に配置し得る。そのような位置は、広視野を有する画像捕捉デバイスに特に適し得る。バンパーに配置される画像捕捉デバイスの視線は、ドライバーの視線と異なることができ、従って、バンパー画像捕捉デバイス及びドライバーは、同じ物体を常に見ているわけではない。画像捕捉デバイス(例えば、画像捕捉デバイス122、124及び126)は、他の位置に配置することもできる。例えば、画像捕捉デバイスは、車両200のサイドミラーの一方又は両方、車両200のルーフ、車両200のフード、車両200のトランク、車両200の側部に配置し得て、車両200の任意のウィンドウに搭載、背後に位置決め又は前方に位置決めし得て、車両200の前部及び/又は後部のライト内又はその近傍等に搭載し得る。
【0067】
画像捕捉デバイスに加えて、車両200は、システム100の様々な他の構成要素を含み得る。例えば、処理ユニット110は、車両のエンジン制御ユニット(ECU)に統合されるか、又はECUとは別個に車両200に含まれ得る。車両200には、GPS受信機等の位置センサ130を備えることもでき、車両200は、マップデータベース160並びにメモリユニット140及び150を含むこともできる。
【0068】
上述したように、無線送受信機172は、1つ又は複数のネットワーク(例えば、セルラネットワーク、インターネット等)を介してデータを及び/又は受信し得る。例えば、無線送受信機172は、システム100により収集されるデータを1つ又は複数のサーバにアップロードし、データを1つ又は複数のサーバからダウンロードし得る。無線送受信機172を介して、システム100は、例えば、定期的に又は需要時にマップデータベース160、メモリ140及び/又はメモリ150に記憶されるデータへの更新を受信し得る。同様に、無線送受信機172は、システム100からの任意のデータ(例えば、画像取得ユニット120により捕捉される画像、位置センサ130、他のセンサ又は車両制御システムにより受信されるデータ等)及び/又は処理ユニット110により処理される任意のデータを1つ又は複数のサーバにアップロードし得る。
【0069】
システム100は、プライバシーレベル設定に基づいてデータをサーバ(例えば、クラウド)にアップロードし得る。例えば、システム100は、サーバに送信される、車両及び/又は車両のドライバー/所有者を一意に識別し得るタイプのデータ(メタデータを含む)を規制又は制限するプライバシーレベル設定を実施し得る。そのような設定は、例えば、無線送受信機172を介してユーザにより設定され得るか、工場デフォルト設定により初期化され得るか、又は無線送受信機172により受信されるデータにより設定され得る。
【0070】
幾つかの実施形態では、システム100は、「高」プライバシーレベルに従ってデータをアップロードし得て、設定の設定下において、システム100は、特定の車両及び/又はドライバー/所有者についてのいかなる詳細もないデータ(例えば、ルートに関連する位置情報、捕捉画像等)を送信し得る。例えば、「高」プライバシーレベルに従ってデータをアップロードする場合、システム100は、車両識別番号(VIN)又は車両のドライバーもしくは所有者の氏名を含まず、代わりに、捕捉画像及び/又はルートに関連する限られた位置情報等のデータを送信し得る。
【0071】
他のプライバシーレベルが意図される。例えば、システム100は、「中」プライバシーレベルに従ってデータをサーバに送信し得て、車両及び/又は車両タイプのメーカー及び/又はモデル(例えば、乗用車、スポーツユーティリティ車、トラック等)等の「高」プライバシーレベル下では含まれない追加情報を含み得る。幾つかの実施形態では、システム100は、「低」プライバシーレベルに従ってデータをアップロードし得る。「低」プライバシーレベル設定下では、システム100は、特定の車両、所有者/ドライバー及び/又は車両が走行したルートの一部又は全体を一意に識別するのに十分なデータをアップロードし、そのような情報を含み得る。そのような「低」プライバシーレベルデータは、例えば、VIN、ドライバー/所有者氏名、出発前の車両の出発点、車両の意図される目的地、車両のメーカー及び/又はモデル、車両のタイプ等の1つ又は複数を含み得る。
【0072】
図2Aは、開示される実施形態による例示的な車両撮像システムの側面図表現である。
図2Bは、
図2Aに示される実施形態の上面図表現である。
図2Bに示すように、開示される実施形態は、バックミラーの近傍及び/又は車両200のドライバー近傍に位置決めされる第1の画像捕捉デバイス122と、車両200のバンパー領域(例えば、バンパー領域210の1つ)上又はバンパー領域内に位置決めされる第2の画像捕捉デバイス124と、処理ユニット110とを有するシステム100を本体内に含む車両200を含み得る。
【0073】
図2Cに示すように、画像捕捉デバイス122及び124の両方は、車両200のバックミラーの近傍及び/又はドライバーの近傍に位置決めし得る。更に、2つの画像捕捉デバイス122及び124が
図2B及び
図2Cに示されているが、他の実施形態が3つ以上の画像捕捉デバイスを含み得ることを理解されたい。例えば、
図2D及び
図2Eに示される実施形態では、第1の画像捕捉デバイス122、第2の画像捕捉デバイス124及び第3の画像捕捉デバイス126が車両200のシステム100に含まれる。
【0074】
図2Dに示すように、画像捕捉デバイス122は、車両200のバックミラーの近傍及び/又はドライバーの近傍に位置決めし得て、画像捕捉デバイス124及び126は、車両200のバンパー領域(例えば、バンパー領域210の1つ)上に位置決めし得る。また、
図2Eに示すように、画像捕捉デバイス122、124及び126は、車両200のバックミラーの近傍及び/又はドライバーシートの近傍に位置決めし得る。開示される実施形態は、いかなる特定の数及び構成の画像捕捉デバイスにも限定されず、画像捕捉デバイスは、車両200内及び/又は車両200上の任意の適する位置に位置決めし得る。
【0075】
開示される実施形態が車両に限定されず、他の状況でも適用可能なことを理解されたい。開示される実施形態が特定のタイプの車両200に限定されず、自動車、トラック、トレーラ及び他のタイプの車両を含む全てのタイプの車両に適用可能であり得ることも理解されたい。
【0076】
第1の画像捕捉デバイス122は、任意の適するタイプの画像捕捉デバイスを含み得る。画像捕捉デバイス122は光軸を含み得る。一例では、画像捕捉デバイス122は、グローバルシャッタを有するAptina M9V024 WVGAセンサを含み得る。他の実施形態では、画像捕捉デバイス122は、1280×960ピクセルの解像度を提供し得て、ローリングシャッタを含み得る。画像捕捉デバイス122は、様々な光学要素を含み得る。幾つかの実施形態では、1枚又は複数枚のレンズが含まれて、例えば画像捕捉デバイスの所望の焦点距離及び視野を提供し得る。幾つかの実施形態では、画像捕捉デバイス122に6mmレンズ又は12mmレンズを関連付け得る。幾つかの実施形態では、画像捕捉デバイス122は、
図2Dに示すように、所望の視野(FOV)202を有する画像を捕捉するように構成し得る。例えば、画像捕捉デバイス122は、46度FOV、50度FOV、52度FOV又は52度FOVを超える度数を含め、40度~56度の範囲内等の通常のFOVを有するように構成し得る。代替的には、画像捕捉デバイス122は、28度FOV又は36度FOV等の23~40度の範囲の狭いFOVを有するように構成し得る。加えて、画像捕捉デバイス122は、100~180度の範囲の広いFOVを有するように構成し得る。幾つかの実施形態では、画像捕捉デバイス122は、広角バンパーカメラ又は最高で180度FOVを有するバンパーカメラを含み得る。幾つかの実施形態では、画像捕捉デバイス122は、約100度の水平FOVを有するアスペクト比約2:1(例えば、H×V=3800×1900ピクセル)の7.2Mピクセル画像捕捉デバイスであり得る。そのような画像捕捉デバイスは、3次元画像捕捉デバイス構成の代わりに使用し得る。大きいレンズ歪みに起因して、そのような画像捕捉デバイスの垂直FOVは、画像捕捉デバイスが半径方向に対称なレンズを使用する実装形態では、50度よりはるかに低くなり得る。例えば、そのようなレンズは、半径方向で対称ではなく、それにより、水平FOV100度で、50度よりも大きい垂直FOVが可能である。
【0077】
第1の画像捕捉デバイス122は、車両200に関連付けられたシーンに対して複数の第1の画像を取得し得る。複数の第1の画像は、それぞれ一連の画像走査線として取得し得て、これらはローリングシャッタを使用して捕捉し得る。各走査線は複数のピクセルを含み得る。
【0078】
第1の画像捕捉デバイス122は、第1の一連の画像走査線のそれぞれの取得に関連付けられた走査率を有し得る。走査率は、画像センサが、特定の走査線に含まれる各ピクセルに関連付けられた画像データを取得することができる率を指し得る。
【0079】
画像捕捉デバイス122、124及び126は、例えば、CCDセンサ又はCMOSセンサを含め、任意の適するタイプ及び数の画像センサを含み得る。1つの実施形態では、CMOS画像センサはローリングシャッタと共に利用し得て、それにより、行内の各ピクセルは一度に1つずつ読み取られ、行の走査は、画像フレーム全体が捕捉されるまで行ごとに進められる。幾つかの実施形態では、行は、フレームに対して上から下に順次捕捉し得る。
【0080】
幾つかの実施形態では、本明細書に開示される画像捕捉デバイス(例えば、画像捕捉デバイス122、124及び126)の1つ又は複数は、高解像度イメージャを構成し得て、5Mピクセル超、7Mピクセル超、10Mピクセル超又はそれを超える解像度を有し得る。
【0081】
ローリングシャッタの使用により、異なる行内のピクセルは異なるときに露出され捕捉されることになり得て、それにより、スキュー及び他の画像アーチファクトが捕捉画像フレームで生じ得る。一方、画像捕捉デバイス122がグローバル又は同期シャッタを用いて動作するように構成される場合、全ピクセルは、同量の時間にわたり、共通の露出期間中に露出し得る。その結果、グローバルシャッタを利用するシステムから収集されるフレーム内の画像データは、特定のときのFOV全体(FOV202等)のスナップショットを表す。それとは逆に、ローリングシャッタを適用する場合、フレーム内の各行が露出され、データは異なる時間に捕捉される。従って、移動中の物体は、ローリングシャッタを有する画像捕捉デバイスでは歪んで見えることがある。この現象について以下により詳細に説明する。
【0082】
第2の画像捕捉デバイス124及び第3の画像捕捉デバイス126は、任意のタイプの画像捕捉デバイスであり得る。第1の画像捕捉デバイス122のように、画像捕捉デバイス124及び126のそれぞれは、光軸を含み得る。1つの実施形態では、画像捕捉デバイス124及び126のそれぞれは、グローバルシャッタを有するAptina M9V024 WVGAセンサを含み得る。代替的には、画像捕捉デバイス124及び126のそれぞれは、ローリングシャッタを含み得る。画像捕捉デバイス122のように、画像捕捉デバイス124及び126は、様々なレンズ及び光学要素を含むように構成し得る。幾つかの実施形態では、画像捕捉デバイス124及び126に関連付けられたレンズは、画像捕捉デバイス122に関連付けられたFOV(FOV202等)と同じであるか、又は狭いFOV(FOV204及び206等)を提供し得る。例えば、画像捕捉デバイス124及び126は、40度、30度、26度、23度、20度又は20度未満のFOVを有し得る。
【0083】
画像捕捉デバイス124及び126は、車両200に関連付けられたシーンに対して複数の第2及び第3の画像を取得し得る。複数の第2及び第3の画像のそれぞれは、第2及び第3の一連の画像走査線として取得し得て、これらはローリングシャッタを使用して捕捉し得る。各走査線又は各行は、複数のピクセルを有し得る。画像捕捉デバイス124及び126は、第2及び第3の一連内に含まれる各画像走査線の取得に関連付けられた第2及び第3の走査率を有し得る。
【0084】
各画像捕捉デバイス122、124及び126は、任意の適する位置に、車両200に対して任意の適する向きで位置決めし得る。画像捕捉デバイス122、124及び126の相対位置は、画像捕捉デバイスから取得される情報を一緒に融合させることを支援するように選択し得る。例えば、幾つかの実施形態では、画像捕捉デバイス124に関連付けられたFOV(FOV204)は、画像捕捉デバイス122に関連付けられたFOV(FOV202等)及び画像捕捉デバイス126に関連付けられたFOV(FOV206等)と部分的又は完全に重複し得る。
【0085】
画像捕捉デバイス122、124及び126は、任意の適する相対高さで車両200に配置し得る。一例では、画像捕捉デバイス122、124及び126間に高さ差があり得て、高さ差は、立体分析を可能にするのに十分な視差情報を提供し得る。例えば、
図2Aに示すように、2つの画像捕捉デバイス122及び124は異なる高さにある。画像捕捉デバイス122、124及び126間には横方向変位差もあり得て、例えば処理ユニット110による立体分析に追加の視差情報を与える。横方向変位差は、
図2C及び
図2Dに示すように、d
xで示し得る。幾つかの実施形態では、前部変位又は後部変位(例えば、範囲変位)が、画像捕捉デバイス122、124、126間に存在し得る。例えば、画像捕捉デバイス122は、画像捕捉デバイス124及び/又は画像捕捉デバイス126の0.5~2メートル以上背後に配置し得る。このタイプの変位では、画像捕捉デバイスの1つが、他の画像捕捉デバイスの潜在的なブラインドスポットをカバー可能であり得る。
【0086】
画像捕捉デバイス122は、任意の適する解像度能力(例えば、画像センサに関連付けられたピクセル数)を有し得て、画像捕捉デバイス122に関連付けられた画像センサの解像度は、画像捕捉デバイス124及び126に関連付けられた画像センサの解像度よりも高いか、低いか、又は同じであり得る。幾つかの実施形態では、画像捕捉デバイス122及び/又は画像捕捉デバイス124及び126に関連付けられた画像センサは、解像度640×480、1024×768、1280×960又は任意の他の適する解像度を有し得る。
【0087】
フレームレート(例えば、画像捕捉デバイスが、次の画像フレームに関連付けられたピクセルデータの捕捉に移る前、1つの画像フレームのピクセルデータの組を取得する速度)は、制御可能であり得る。画像捕捉デバイス122に関連付けられたフレームレートは、画像捕捉デバイス124及び126に関連付けられたフレームレートよりも高いか、低いか、又は同じであり得る。画像捕捉デバイス122、124及び126に関連付けられたフレームレートは、フレームレートのタイミングに影響を及ぼし得る様々なファクタに依存し得る。例えば、画像捕捉デバイス122、124及び126の1つ又は複数は、画像捕捉デバイス122、124及び/又は126内の画像センサの1つ又は複数のピクセルに関連付けられた画像データの取得前又は取得後に課される選択可能なピクセル遅延期間を含み得る。一般に、各ピクセルに対応する画像データは、デバイスのクロックレート(例えば、1クロックサイクル当たり1ピクセル)に従って取得し得る。更に、ローリングシャッタを含む実施形態では、画像捕捉デバイス122、124及び126の1つ又は複数は、画像捕捉デバイス122、124及び/又は126内の画像センサのピクセル行に関連付けられた画像データの取得前又は取得後に課される選択可能な水平ブランク期間を含み得る。更に、画像捕捉デバイス122、124及び/又は126の1つ又は複数は、画像捕捉デバイス122、124及び126の画像フレームに関連付けられた画像データの取得前又は取得後に課される選択可能な垂直ブランク期間を含み得る。
【0088】
これらのタイミング制御により、各画像捕捉デバイスの線走査率が異なる場合でも、画像捕捉デバイス122、124及び126に関連付けられたフレームレートを同期させることができ得る。更に、以下に更に詳細に考察するように、ファクタ(例えば、画像センサ解像度、最高線走査率等)の中でも特に、これらの選択可能なタイミング制御により、画像捕捉デバイス122の視野が画像捕捉デバイス124及び126のFOVと異なる場合でも、画像捕捉デバイス122のFOVが画像捕捉デバイス124及び126の1つ又は複数のFOVと重複するエリアからの画像捕捉を同期させることが可能になり得る。
【0089】
画像捕捉デバイス122、124及び126でのフレームレートタイミングは、関連付けられた画像センサの解像度に依存し得る。例えば、両デバイスの線走査率が同様であると仮定し、一方のデバイスが解像度640×480を有する画像センサを含み、他方のデバイスが解像度1280×960を有する画像センサを含む場合、より高い解像度を有するセンサからの画像データのフレーム取得ほど、長い時間が必要になる。
【0090】
画像捕捉デバイス122、124及び126での画像データ取得のタイミングに影響を及ぼし得る他のファクタは、最高線走査率である。例えば、画像捕捉デバイス122、124及び126に含まれる画像センサからの画像データ行の取得は、何らかの最小時間量を必要とする。ピクセル遅延期間が追加されないと仮定すると、画像データ行を取得するこの最小時間量は、特定のデバイスの最高線走査率に関連することになる。高い最高線走査率を提供するデバイスほど、より低い最高線走査率を有するデバイスよりも高いフレームレートを提供する潜在性を有する。幾つかの実施形態では、画像捕捉デバイス124及び126の一方又は両方は、画像捕捉デバイス122に関連付けられた最高線走査率よりも高い最高線走査率を有し得る。幾つかの実施形態では、画像捕捉デバイス124及び/又は126の最高線走査率は、画像捕捉デバイス122の最高線走査率の1.25倍、1.5倍、1.75倍又は2倍以上であり得る。
【0091】
別の実施形態では、画像捕捉デバイス122、124及び126は、同じ最高線走査率を有し得るが、画像捕捉デバイス122は、その最高走査率以下の走査率で動作し得る。システムは、画像捕捉デバイス124及び画像捕捉デバイス126の一方又は両方が画像捕捉デバイス122の線走査率と等しい線走査率で動作するように構成し得る。他の例では、システムは、画像捕捉デバイス124及び/又は画像捕捉デバイス126の線走査率が、画像捕捉デバイス122の線走査率の1.25倍、1.5倍、1.75倍又は2倍以上であり得るように構成し得る。
【0092】
幾つかの実施形態では、画像捕捉デバイス122、124及び126は非対称であり得る。すなわち、これら画像捕捉デバイスは、異なる視野(FOV)及び焦点距離を有するカメラを含み得る。画像捕捉デバイス122、124及び126の視野は、例えば、車両200の環境に対する任意の所望のエリアを含み得る。幾つかの実施形態では、画像捕捉デバイス122、124及び126の1つ又は複数は、車両200の前方の環境、車両200の背後の環境、車両200の両側の環境又はそれらの組み合わせから画像データを取得するように構成し得る。
【0093】
更に、各画像捕捉デバイス122、124及び/又は126に関連付けられた焦点距離は、各デバイスが車両200から所望の距離範囲にある物体の画像を取得するように選択可能であり得る(例えば、適切なレンズの包含等により)。例えば、幾つかの実施形態では、画像捕捉デバイス122、124及び126は、車両から数メートル以内の近接物体の画像を取得し得る。画像捕捉デバイス122、124、126は、車両からより離れた範囲(例えば、25m、50m、100m、150m又はそれを超える)における物体の画像を取得するように構成することもできる。更に、画像捕捉デバイス122、124及び126の焦点距離は、ある画像捕捉デバイス(例えば、画像捕捉デバイス122)が車両に比較的近い(例えば、10m以内又は20m以内)物体の画像を取得することができ、一方、その他の画像捕捉デバイス(例えば、画像捕捉デバイス124及び126)が、車両200からより離れた物体(例えば、20m超、50m超、100m超、150m超等)の画像を取得することができるように選択し得る。
【0094】
幾つかの実施形態によれば、1つ又は複数の画像捕捉デバイス122、124及び126のFOVは、広角を有し得る。例えば、特に車両200の近傍エリアの画像捕捉に使用し得る画像捕捉デバイス122、124及び126には140度のFOVを有することが有利であり得る。例えば、画像捕捉デバイス122は、車両200の右又は左のエリアの画像の捕捉に使用し得て、そのような実施形態では、画像捕捉デバイス122が広いFOV(例えば、少なくとも140度)を有することが望ましいことがある。
【0095】
画像捕捉デバイス122、124及び126のそれぞれに関連付けられた視野は、各焦点距離に依存し得る。例えば、焦点距離が増大するにつれて、対応する視野は低減する。
【0096】
画像捕捉デバイス122、124及び126は、任意の適する視野を有するように構成し得る。特定の一例では、画像捕捉デバイス122は、水平FOV46度を有し得て、画像捕捉デバイス124は水平FOV23度を有し得て、画像捕捉デバイス126は水平FOV23~46度を有し得る。別の例では、画像捕捉デバイス122は水平FOV52度を有し得て、画像捕捉デバイス124は水平FOV26度を有し得て、画像捕捉デバイス126は、水平FOV26~52度を有し得る。幾つかの実施形態では、画像捕捉デバイス122のFOVと画像捕捉デバイス124及び/又は画像捕捉デバイス126のFOVとの比率は、1.5~2.0で変化し得る。他の実施形態では、この比率は1.25~2.25で変化し得る。
【0097】
システム100は、画像捕捉デバイス122の視野が、画像捕捉デバイス124及び/又は画像捕捉デバイス126の視野と少なくとも部分的に又は完全に重複するように構成し得る。幾つかの実施形態では、システム100は、画像捕捉デバイス124及び126の視野が例えば画像捕捉デバイス122の視野内に入り(例えば、画像捕捉デバイス122の視野よりも小さく)、画像捕捉デバイス122の視野と共通の中心を共有するように構成し得る。他の実施形態では、画像捕捉デバイス122、124及び126は、隣接するFOVを捕捉し得て、又は部分的に重複するFOVを有し得る。幾つかの実施形態では、画像捕捉デバイス122、124及び126の視野は、FOVのより狭い画像捕捉デバイス124及び/又は126の中心が、FOVがより広いデバイス122の視野の下半分に配置され得るように位置合わせし得る。
【0098】
図2Fは、開示される実施形態による例示的な車両制御システムの図表現である。
図2Fに示すように、車両200は、スロットルシステム220、ブレーキシステム230及び操舵システム240を含み得る。システム100は、1つ又は複数のデータリンク(例えば、任意の有線及び/又は無線リンク又はデータを伝送するリンク)を介して、スロットルシステム220、ブレーキシステム230及び操舵システム240の1つ又は複数に入力(例えば、制御信号)を提供し得る。例えば、画像捕捉デバイス122、124及び/又は126により取得される画像の分析に基づいて、システム100は、車両200をナビゲートする制御信号をスロットルシステム220、ブレーキシステム230及び操舵システム240の1つ又は複数に提供し得る(例えば、加速、ターン、レーンシフト等を行わせることにより)。更に、システム100は、車両200の動作状況を示す入力(例えば、速度、車両200がブレーキ中及び/又はターン中であるか否か等)をスロットルシステム220、ブレーキシステム230及び操舵システム24の1つ又は複数から受信し得る。以下では、更に詳細を
図4~
図7に関連して提供する。
【0099】
図3Aに示すように、車両200は、車両200のドライバー又は乗員と対話するユーザインタフェース170を含むこともできる。例えば、車両アプリケーション内のユーザインタフェース170は、タッチスクリーン320、つまみ330、ボタン340及びマイクロフォン350を含み得る。車両200のドライバー又は乗員は、ハンドル(例えば、例えばウィンカーハンドルを含め、車両200の操舵コラム上又はその近傍に配置される)及びボタン(例えば、車両200のハンドルに配置される)等を使用して、システム100と対話することもできる。幾つかの実施形態では、マイクロフォン350はバックミラー310に隣接して位置決めし得る。同様に、幾つかの実施形態では、画像捕捉デバイス122は、バックミラー310の近傍に配置し得る。幾つかの実施形態では、ユーザインタフェース170は、1つ又は複数のスピーカ360(例えば、車両オーディオシステムのスピーカ)を含むこともできる。例えば、システム100は、スピーカ360を介して様々な通知(例えば、アラート)を提供し得る。
【0100】
図3B~
図3Dは、開示される実施形態による、バックミラー(例えば、バックミラー310)の背後に、車両フロントガラスと対向して位置決めされるように構成される例示的なカメラマウント370の図である。
図3Bに示すように、カメラマウント370は、画像捕捉デバイス122、124及び126を含み得る。画像捕捉デバイス124及び126は、グレアシールド380の背後に位置決めし得て、グレアシールド380は、車両フロントガラスに直接接触し得て、フィルム及び/又は反射防止材料の組成物を含み得る。例えば、グレアシールド380は、シールドが、一致する傾斜を有する車両フロントガラスと対向して位置合わせされるように位置決めし得る。幾つかの実施形態では、画像捕捉デバイス122、124及び126のそれぞれは、例えば、
図3Dに示すように、グレアシールド380の背後に位置決めし得る。開示される実施形態は、画像捕捉デバイス122、124及び126、カメラマウント370並びにグレアシールド380のいかなる特定の構成にも限定されない。
図3Cは、前部から見た
図3Bに示されるカメラマウント370の図である。
【0101】
本開示の恩恵を受ける当業者により理解されるように、上記開示される実施形態に対する多くの変形形態及び/又は変更形態がなされ得る。例えば、全ての構成要素がシステム100の動作にとって必須であるわけではない。更に、任意の構成要素がシステム100の任意の適切な部分に配置し得て、構成要素は、開示される実施形態の機能を提供しながら、様々な構成に再配置し得る。従って、上記で論じた構成は例であり、上述した構成に関係なく、システム100は、車両200の周囲を分析し、分析に応答して車両200をナビゲートする広範囲の機能を提供することができる。
【0102】
以下に更に詳細に考察するように、様々な開示される実施形態により、システム100は、自律走行及び/又はドライバー支援技術に関連する様々な特徴を提供し得る。例えば、システム100は、画像データ、位置データ(例えば、GPS位置情報)、マップデータ、速度データ及び/又は車両200に含まれるセンサからのデータを分析し得る。システム100は、例えば、画像取得ユニット120、位置センサ130及び他のセンサから、分析のためにデータを収集し得る。更に、システム100は、収集されるデータを分析して、車両200が特定の行動を取るべきか否かを特定し、次に、人間の介入なしで、判断される動作を自動的にとり得る。例えば、車両200が人間の介入なしでナビゲートする場合、システム100は、車両200のブレーキ、加速度及び/又は操舵を自動的に制御し得る(例えば、制御信号をスロットルシステム220、ブレーキシステム230及び操舵システム240の1つ又は複数に送信することにより)。更に、システム100は、収集されるデータを分析し、収集されるデータの分析に基づいて警告及び/又はアラートを車両の搭乗者に発行し得る。システム100により提供される様々な実施形態に関する更に詳細を以下に提供する。
【0103】
前向きマルチ撮像システム
【0104】
上記で論じたように、システム100は、マルチカメラシステムを使用する走行支援機能を提供し得る。マルチカメラシステムは、車両の前方方向を向いた1つ又は複数のカメラを使用し得る。他の実施形態では、マルチカメラシステムは、車両の側部又は車両の後方を向いた1つ又は複数のカメラを含み得る。1つの実施形態では、例えば、システム100は、2カメラ撮像システムを使用し得て、その場合、第1のカメラ及び第2のカメラ(例えば、画像捕捉デバイス122及び124)は、車両(例えば、車両200)の前部及び/又は側部に位置決めし得る。第1のカメラは、第2のカメラの視野よりも大きい、小さい又は部分的に重複する視野を有し得る。更に、第1のカメラは、第1の画像プロセッサに接続されて、第1のカメラにより提供される画像の単眼画像分析を実行し得て、第2のカメラは、第2の画像プロセッサに接続されて、第2のカメラにより提供される画像の単眼画像分析を実行し得る。第1及び第2の画像プロセッサの出力(例えば、処理される情報)は結合し得る。幾つかの実施形態では、第2の画像プロセッサは、第1のカメラ及び第2のカメラの両方からの画像を受信して、立体分析を実行し得る。別の実施形態では、システム100は3カメラ撮像システムを使用し得て、この場合、各カメラは異なる視野を有する。従って、そのようなシステムは、車両の前方及び側部の両方の様々な距離に位置する物体から導出される情報に基づいて判断を下し得る。単眼画像分析との言及は、画像分析が単一視点から(例えば、単一のカメラ)捕捉される画像に基づいて画像分析が実行される場合を指し得る。立体画像分析は、画像捕捉パラメータの1つ又は複数を変更した状態で捕捉される2つ以上の画像に基づいて画像分析が実行される場合を指し得る。例えば、立体画像分析の実行に適した捕捉画像は、2つ以上の異なる位置から捕捉される画像、異なる視野から捕捉される画像、異なる焦点距離を使用して捕捉される画像、視差情報付きで捕捉される画像等を含み得る。
【0105】
例えば、1つの実施形態では、システム100は、画像捕捉デバイス122、124及び126を使用する3カメラ構成を実施し得る。そのような構成では、画像捕捉デバイス122は、狭視野(例えば、34度又は約20~45度の範囲から選択される他の値等)を提供し得て、画像捕捉デバイス124は、広視野(例えば、150度又は約100~約180度の範囲から選択される他の値)を提供し得て、画像捕捉デバイス126は、中視野(例えば、46度又は約35~約60度の範囲から選択される他の値)を提供し得る。幾つかの実施形態では、画像捕捉デバイス126は、主又は1次カメラとして動作し得る。画像捕捉デバイス122、124、及び126は、バックミラー310の背後に、実質的に並んで(例えば、6cm離間)位置決めし得る。更に、幾つかの実施形態では、上記で論じたように、画像捕捉デバイス122、124、及び126の1つ又は複数は、車両200のフロントガラスと同一平面のグレアシールド380の背後に搭載し得る。そのようなシールドは、車内部からのいかなる反射の画像捕捉デバイス122、124、及び126への影響も最小にするように動作し得る。
【0106】
別の実施形態では、
図3B及び
図3Cに関連して上記で論じたように、広視野カメラ(例えば、上記例では画像捕捉デバイス124)は、狭い主視野カメラ(例えば、上記例では画像捕捉デバイス122及び126)よりも低く搭載し得る。この構成は、広視野カメラからの自由な視線を提供し得る。反射を低減するために、カメラは、車両200のフロントガラス近くに搭載し得て、反射光を弱める偏光器をカメラに含み得る。
【0107】
3カメラシステムは、特定の性能特徴を提供し得る。例えば、幾つかの実施形態は、あるカメラによる物体の検出を別のカメラからの検出結果に基づいて検証する機能を含み得る。上記で論じた3カメラ構成では、処理ユニット110は、例えば、3つの処理デバイス(例えば、上記で論じたように3つのEyeQシリーズのプロセッサチップ)を含み得て、各処理デバイスは、画像捕捉デバイス122、124、及び126の1つ又は複数により捕捉される画像の処理に向けられる。
【0108】
3カメラシステムでは、第1の処理デバイスは、主カメラ及び狭視野カメラの両方から画像を受信し得て、狭FOVカメラのビジョン処理を実行して、例えば他の車両、歩行者、レーンマーク、交通標識、信号機及び他の道路物体を検出し得る。更に、第1の処理デバイスは、主カメラからの画像と狭カメラからの画像との間でのピクセルの不一致を計算し、車両200の環境の3D再構築を作成し得る。次に、第1の処理デバイスは、3D再構築を3Dマップデータ又は別のカメラからの情報に基づいて計算される3D情報と結合し得る。
【0109】
第2の処理デバイスは、主カメラから画像を受信し得て、ビジョン処理を実行し、他の車両、歩行者、レーンマーク、交通標識、信号機及び他の道路物体を検出し得る。更に、第2の処理デバイスは、カメラ変位を計算し、変位に基づいて、連続画像間のピクセルの不一致を計算し、シーンの3D再構築(例えば、ストラクチャーフロムモーション)を作成し得る。第2の処理デバイスは、3D再構築に基づくストラクチャーフロムモーションを第1の処理デバイスに送信し、ストラクチャーフロムモーションを立体3D画像と結合し得る。
【0110】
第3の処理デバイスは、画像を広FOVカメラから受信し、画像を処理して、車両、歩行者、レーンマーク、交通標識、信号機及び他の道路物体を検出し得る。第3の処理デバイスは、追加の処理命令を更に実行して、画像を分析し、レーン変更中の車両、歩行者等の画像内の移動中の物体を識別し得る。
【0111】
幾つかの実施形態では、画像に基づく情報ストリームを独立して捕捉させ、処理させることは、システムで冗長性を提供する機会を提供し得る。そのような冗長性は、例えば、第1の画像捕捉デバイス及びそのデバイスから処理される画像を使用して、少なくとも第2の画像捕捉デバイスから画像情報を捕捉し処理することにより得られる情報を検証及び/又は補足することを含み得る。
【0112】
幾つかの実施形態では、システム100は、車両200にナビゲーション支援を提供するに当たり2つの画像捕捉デバイス(例えば、画像捕捉デバイス122及び124)を使用し得て、第3の画像捕捉デバイス(例えば、画像捕捉デバイス126)を使用して、冗長性を提供し、他の2つの画像捕捉デバイスから受信されるデータの分析を検証し得る。例えば、そのような構成では、画像捕捉デバイス122及び124は、車両200をナビゲートするためのシステム100による立体分析の画像を提供し得て、一方、画像捕捉デバイス126は、システム100による単眼分析に画像を提供して、画像捕捉デバイス122及び/又は画像捕捉デバイス124から捕捉される画像に基づいて得られる情報の冗長性及び検証を提供し得る。すなわち、画像捕捉デバイス126(及び対応する処理デバイス)は、画像捕捉デバイス122及び124から導出される分析へのチェックを提供する冗長サブシステムを提供する(例えば、自動緊急ブレーキ(AEB)システムを提供するため)と見なし得る。更に幾つかの実施形態では、1つ又は複数のセンサ(例えば、レーダ、ライダ、音響センサ、車外の1つ又は複数の送受信機から受信される情報等)から受信される情報に基づいて受信データの冗長性及び検証を補うことができる。
【0113】
上記カメラ構成、カメラ配置、カメラ数、カメラ位置等が単なる例示であることを当業者は認識するであろう。全体システムに対して説明されるこれらの構成要素等は、開示される実施形態の範囲から逸脱せずに、様々な異なる構成で組み立て且つ使用し得る。ドライバー支援及び/又は自律車両機能を提供するためのマルチカメラシステムの使用に関する更に詳細が以下に続く。
【0114】
図4は、開示される実施形態による1つ又は複数の動作を実行する命令を記憶/プログラムされ得るメモリ140及び/又は150の例示的な機能ブロック図である。以下ではメモリ140を参照するが、当業者は、命令がメモリ140及び/又は150に記憶可能なことを認識するであろう。
【0115】
図4に示すように、メモリ140は、単眼画像分析モジュール402、立体画像分析モジュール404、速度及び加速度モジュール406並びにナビゲーション応答モジュール408を記憶し得る。開示される実施形態は、いかなる特定の構成のメモリ140にも限定されない。更に、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、メモリ140に含まれる任意のモジュール402、404、406、及び408に記憶される命令を実行し得る。以下の考察での処理ユニット110の参照が、アプリケーションプロセッサ180及び画像プロセッサ190を個々に又はまとめて指し得ることを当業者は理解するであろう。従って、以下のプロセスのいずれかのステップは、1つ又は複数の処理デバイスにより実行し得る。
【0116】
1つの実施形態では、単眼画像分析モジュール402は、処理ユニット110によって実行されるとき、画像捕捉デバイス122、124及び126の1つによって取得される画像の組の単眼画像分析を実行する命令(コンピュータビジョンソフトウェア等)を記憶し得る。幾つかの実施形態では、処理ユニット110は、画像の組からの情報を追加の感覚情報(例えば、レーダやライダ等からの情報)と結合して単眼画像分析を実行し得る。
図5A~
図5Dに関連して以下で説明するように、単眼画像分析モジュール402は、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ、信号機、危険物及び車両の環境に関連付けられた任意の他の特徴等、画像の組内の特徴の組を検出するための命令を含み得る。分析に基づいて、システム100は、ナビゲーション応答モジュール408に関連して以下で考察するように、ターン、レーンシフト及び加速度変更等の1つ又は複数のナビゲーション応答を車両200において生じさせ得る(例えば、処理ユニット110を介して)。
【0117】
1つの実施形態では、立体画像分析モジュール404は命令(コンピュータビジョンソフトウェア等)を記憶し得て、命令は、処理ユニット110により実行されると、画像捕捉デバイス122、124及び126から選択される画像捕捉デバイスの組み合わせにより取得される第1及び第2の組の画像の立体画像分析を実行する。幾つかの実施形態では、処理ユニット110は、第1及び第2の組の画像からの情報を追加の感覚情報(例えば、レーダからの情報)と結合して、立体画像分析を実行し得る。例えば、立体画像分析モジュール404は、画像捕捉デバイス124により取得される第1の組の画像及び画像捕捉デバイス126により取得される第2の組の画像に基づいて、立体画像分析を実行する命令を含み得る。以下で
図6に関連して説明するように、立体画像分析モジュール404は、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ、信号機及び危険物等の第1及び第2の組の画像内の特徴の組を検出する命令を含み得る。分析に基づいて、処理ユニット110は、ナビゲーション応答モジュール408に関連して後述するように、ターン、レーンシフト及び加速度変更等の1つ又は複数のナビゲーション応答を車両200において生じさせ得る。更に、幾つかの実施形態では、立体画像分析モジュール404は、トレーニング済みシステム(ニューラルネットワーク又はディープニューラルネットワーク等)又は、コンピュータビジョンアルゴリズムを使用して、感覚情報が捕捉及び処理された環境内の物体を検出及び/又はラベル付けするように構成され得るシステム等のトレーニングされていないシステムに関連する技法を実装することができる。1つの実施形態では、立体画像分析モジュール404及び/又は他の画像処理モジュールは、トレーニング済みシステムとトレーニングされていないシステムとの組み合わせを使用するように構成され得る。
【0118】
1つの実施形態では、速度及び加速度モジュール406は、車両200の速度及び/又は加速度を変更させるように構成される車両200内の1つ又は複数の計算及び電気機械デバイスから受信されるデータを分析するように構成されるソフトウェアを記憶し得る。例えば、処理ユニット110は、速度及び加速度モジュール406に関連付けられた命令を実行して、単眼画像分析モジュール402及び/又は立体画像分析モジュール404の実行から導出されるデータに基づいて、車両200の目標速度を計算し得る。そのようなデータとしては、例えば、目標位置、速度及び/又は加速度、付近の車両、歩行者又は道路物体に対する車両200の位置及び/又は速度及び道路のレーンマークに対する車両200の位置情報等を挙げ得る。加えて、処理ユニット110は、感覚入力(例えば、レーダからの情報)と、車両200のスロットルシステム220、ブレーキシステム230及び/又は操舵システム240等の車両200の他のシステムからの入力とに基づいて、車両200の目標速度を計算し得る。計算される目標速度に基づいて、処理ユニット110は、電子信号を車両200のスロットルシステム220、ブレーキシステム230及び/又は操舵システム240に送信して、例えば車両200のブレーキを物理的に弱めるか、又はアクセルを弱めることにより速度及び/又は加速度の変更をトリガーし得る。
【0119】
1つの実施形態では、ナビゲーション応答モジュール408は、処理ユニット110により実行可能ソフトウェアを記憶して、単眼画像分析モジュール402及び/又は立体画像分析モジュール404の実行から導出されるデータに基づいて、所望のナビゲーション応答を決定し得る。そのようなデータは、付近の車両、歩行者及び道路物体に関連付けられた位置及び速度情報並びに車両200の目標位置情報等を含み得る。更に、幾つかの実施形態では、ナビゲーション応答は、マップデータ、車両200の所定の位置及び/又は車両200と、単眼画像分析モジュール402及び/又は立体画像分析モジュール404の実行から検出される1つ又は複数の物体との間の相対速度又は相対加速度に基づき得る(部分的又は完全に)。ナビゲーション応答モジュール408は、感覚入力(例えば、レーダからの情報)と、車両200のスロットルシステム220、ブレーキシステム230及び操舵システム240等の車両200の他のシステムからの入力とに基づいて、所望のナビゲーション応答を決定することもできる。所望のナビゲーション応答に基づいて、処理ユニット110は、電子信号を車両200のスロットルシステム220、ブレーキシステム230及び操舵システム240に送信して、例えば車両200のハンドルをターンさせ、所定の角度の回転を達成することにより、所望のナビゲーション応答をトリガーし得る。幾つかの実施形態では、処理ユニット110は、車両200の速度変更を計算するための速度及び加速度モジュール406の実行への入力として、ナビゲーション応答モジュール408の出力(例えば、所望のナビゲーション応答)を使用し得る。
【0120】
更に、本明細書で開示するモジュール(例えば、モジュール402、404及び406)のいずれも、トレーニング済みシステム(ニューラルネットワーク又はディープニューラルネットワーク等)又はトレーニングされていないシステムに関連する技法を実装することができる。
【0121】
図5Aは、開示される実施形態による、単眼画像分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセス500Aを示すフローチャートである。ステップ510において、処理ユニット110は、処理ユニット110と画像取得ユニット120との間のデータインタフェース128を介して、複数の画像を受信し得る。例えば、画像取得ユニット120に含まれるカメラ(視野202を有する画像捕捉デバイス122等)は、車両200の前方(又は例えば車両の側部もしくは後方)のエリアの複数の画像を捕捉し、データ接続(例えば、デジタル、有線、USB、無線、Bluetooth等)を介して処理ユニット110に送信し得る。処理ユニット110は、単眼画像分析モジュール402を実行して、ステップ520において、以下で
図5B~
図5Dに関連して更に詳細に説明するように、複数の画像を分析し得る。分析を実行することにより、処理ユニット110は、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ及び信号機等の画像の組内の特徴の組を検出し得る。
【0122】
処理ユニット110は、ステップ520において、単眼画像分析モジュール402を実行して、例えばトラックタイヤの部品、落ちた道路標識、緩んだ貨物及び小動物等の様々な道路危険物を検出することもできる。道路危険物の構造、形状、サイズ及び色は様々であり得て、そのような危険物の検出をより難しくする。幾つかの実施形態では、処理ユニット110は、単眼画像分析モジュール402を実行して、マルチフレーム分析を複数の画像に対して実行して、道路危険物を検出し得る。例えば、処理ユニット110は、連続画像フレーム間でのカメラの動きを推定し、フレーム間のピクセルの不一致を計算して、道路の3Dマップを構築し得る。次に、処理ユニット110は、3Dマップを使用して、路面及び路面の上に存在する危険物を検出し得る。
【0123】
ステップ530において、処理ユニット110は、ナビゲーション応答モジュール408を実行して、ステップ520において実行される分析及び
図4に関連して上述した技法に基づいて、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。ナビゲーション応答は、例えば、ターン、レーンシフト及び加速度変更を含み得る。幾つかの実施形態では、処理ユニット110は、速度及び加速度モジュール406の実行から導出されるデータを使用して、1つ又は複数のナビゲーション応答を生じさせ得る。更に、複数のナビゲーション応答は、同時に行われ得るか、順次行われ得るか、又はそれらの任意の組み合わせで行われ得る。例えば、処理ユニット110は、例えば、制御信号を車両200の操舵システム240及びスロットルシステム220に順次送信することにより、車両200に1レーンを越えさせ、それから例えば加速させ得る。代替的には、処理ユニット110は、例えば、制御信号を車両200のブレーキシステム230及び操舵システム240に同時に送信することにより、車両200に、ブレーキをかけさせ、それと同時にレーンをシフトさせ得る。
【0124】
図5Bは、開示される実施形態による、画像の組内の1つ又は複数の車両及び/又は歩行者を検出する例示的なプロセス500Bを示すフローチャートである。処理ユニット110は、単眼画像分析モジュール402を実行して、プロセス500Bを実施し得る。ステップ540において、処理ユニット110は、存在する可能性がある車両及び/又は歩行者を表す候補物体の組を特定し得る。例えば、処理ユニット110は、1つ又は複数の画像を走査し、画像を1つ又は複数の所定のパターンと比較し、各画像内で、対象物体(例えば、車両、歩行者又はそれらの部分)を含み得る可能性がある位置を識別し得る。所定のパターンは、低率の「偽性ヒット」及び低率の「見逃し」を達成するように指定し得る。例えば、処理ユニット110は、所定のパターンへの低い類似性閾値を使用して、可能性のある車両又は歩行者として候補物体を識別し得る。そうすることにより、処理ユニット110は、車両又は歩行者を表す候補物体を見逃す(例えば、識別しない)確率を低減することができ得る。
【0125】
ステップ542において、処理ユニット110は、候補物体の組をフィルタリングして、分類基準に基づいて特定の候補(例えば、無関係又は関係性の低い物体)を除外し得る。そのような基準は、データベース(例えば、メモリ140に記憶されるデータベース)に記憶される物体タイプに関連付けられた様々な特性から導出し得る。特性は、物体の形状、寸法、テクスチャ及び位置(例えば、車両200に対する)等を含み得る。従って、処理ユニット110は、1つ又は複数の組の基準を使用して、候補物体の組から偽性候補を拒絶し得る。
【0126】
ステップ544において、処理ユニット110は、複数の画像フレームを分析して、候補画像の組内の物体が車両及び/又は歩行者を表しているか否かを特定し得る。例えば、処理ユニット110は、連続フレームにわたり検出される候補物体を追跡し、検出される物体に関連付けられたフレーム毎データ(例えば、サイズ、車両200に対する位置等)を蓄積し得る。更に、処理ユニット110は、検出される物体のパラメータを推定し、物体のフレーム毎位置データを予測位置と比較し得る。
【0127】
ステップ546において、処理ユニット110は、検出される物体の測定の組を構築し得る。そのような測定は、例えば、検出される物体に関連付けられた位置、速度及び加速度値(車両200に対する)を含み得る。幾つかの実施形態では、処理ユニット110は、カルマンフィルタ又は線形2次推定(LQE)等の一連の時間ベースの観測を使用する推定技法に基づいて及び/又は異なる物体タイプ(例えば、車、トラック、歩行者、自転車、道路標識等)で利用可能なモデリングデータに基づいて、測定を構築し得る。カルマンフィルタは、物体の尺度の測定に基づき得て、ここで、尺度測定は衝突までの時間(例えば、車両200が物体に達するまでの時間量)に比例する。従って、ステップ540~546を実行することにより、処理ユニット110は、捕捉画像の組内に現れる車両及び歩行者を識別し、車両及び歩行者に関連付けられた情報(例えば、位置、速度、サイズ)を導出し得る。識別及び導出される情報に基づいて、処理ユニット110は、
図5Aに関連して上述したように、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。
【0128】
ステップ548において、処理ユニット110は、1つ又は複数の画像の光学フロー分析を実行して、「偽性ヒット」を検出する確率及び車両又は歩行者を表す候補物体を見逃す確率を低減し得る。光学フロー分析は、例えば、他の車両及び歩行者に関連付けられた1つ又は複数の画像内の車両200に対する、路面の動きとは異なる移動パターンを分析することを指し得る。処理ユニット110は、異なる時刻に捕捉される複数の画像フレームにわたる物体の異なる位置を観測することにより、候補物体の移動を計算し得る。処理ユニット110は、位置及び時間値を数学モデルへの入力として使用して、候補物体の移動を計算し得る。従って、光学フロー分析は、車両200の付近にある車両及び歩行者を検出する別の方法を提供し得る。処理ユニット110は、ステップ540~546と組み合わせて光学フロー分析を実行して、車両及び歩行者を検出する冗長性を提供すると共に、システム100の信頼度を上げ得る。
【0129】
図5Cは、開示される実施形態による、画像の組内の道路マーク及び/又はレーンジオメトリ情報を検出する例示的なプロセス500Cを示すフローチャートである。処理ユニット110は、単眼画像分析モジュール402を実行して、プロセス500Cを実施し得る。ステップ550において、処理ユニット110は、1つ又は複数の画像を走査することにより物体の組を検出し得る。レーンマークの区分、レーンジオメトリ情報及び他の関連道路マークを検出するために、処理ユニット110は、物体の組をフィルタリングして、無関連(例えば、小さい穴、小さい岩等)であると判断されるものを除外し得る。ステップ552において、処理ユニット110は、同じ道路マーク又はレーンマークに属する、ステップ550において検出される区分を一緒にグループ化し得る。グループ化に基づいて、処理ユニット110は、数学モデル等のモデルを開発して、検出される区分を表し得る。
【0130】
ステップ554において、処理ユニット110は、検出される区分に関連付けられた測定の組を構築し得る。幾つかの実施形態では、処理ユニット110は、画像平面から実世界平面への検出区分の射影を作成し得る。射影は、検出される道路の位置、傾斜、曲率及び曲率微分等の物理特性に対応する係数を有する3次多項式を使用して特徴付け得る。射影を生成するに当たり、処理ユニット110は、路面変化並びに車両200に関連付けられたピッチ及びロール率を考慮に入れ得る。加えて、処理ユニット110は、位置及び路面に存在するモーションキューを分析することにより道路高をモデリングし得る。更に、処理ユニット110は、1つ又は複数の画像での特徴点の組を追跡することにより、車両200に関連付けられたピッチ率及びロール率を推定し得る。
【0131】
ステップ556において、処理ユニット110は、例えば、連続した画像フレームにわたり検出区分を追跡し、検出区分に関連付けられたフレーム毎データを蓄積することにより、マルチフレーム分析を実行し得る。処理ユニット110はマルチフレーム分析を実行する場合、ステップ554において構築される測定の組はより信頼性の高いものになり得て、ますます高い信頼度を関連付け得る。従って、ステップ550、552、554、及び556を実行することにより、処理ユニット110は、捕捉画像の組内に現れる道路マークを識別し、レーンジオメトリ情報を導出し得る。識別及び導出される情報に基づいて、処理ユニット110は、
図5Aに関連して上述したように、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。
【0132】
ステップ558において、処理ユニット110は、追加の情報ソースを考慮して、車両の周囲の状況での車両200の安全モデルを更に開発し得る。処理ユニット110は、安全モデルを使用して、システム100が車両200の自律制御を安全に実行し得る状況を定義し得る。安全モデルを開発するために、幾つかの実施形態では、処理ユニット110は、他の車両の位置及び動き、検出される道路縁部及び障壁及び/又はマップデータ(マップデータベース160からのデータ等)から抽出される一般道路形状記述を考慮し得る。追加の情報ソースを考慮することにより、処理ユニット110は、道路マーク及びレーンジオメトリを検出する冗長性を提供し、システム100の信頼性を上げ得る。
【0133】
図5Dは、開示される実施形態による、画像の組内の信号機を検出する例示的なプロセス500Dを示すフローチャートである。処理ユニット110は、単眼画像分析モジュール402を実行して、プロセス500Dを実施し得る。ステップ560において、処理ユニット110は、画像の組を走査し、信号機を含む可能性が高い画像内の位置に現れる物体を識別し得る。例えば、処理ユニット110は、識別される物体をフィルタリングして、信号機に対応する可能性が低い物体を除外した候補物体の組を構築し得る。フィルタリングは、形状、寸法、テクスチャ及び位置(例えば、車両200に対する)等の信号機に関連付けられた様々な特性に基づいて行い得る。そのような特性は、信号機及び交通制御信号の多くの例に基づき得て、データベースに記憶し得る。幾つかの実施形態では、処理ユニット110は、可能性のある信号機を反映した候補物体の組に対してマルチフレーム分析を実行し得る。例えば、処理ユニット110は、連続した画像フレームにわたり候補物体を追跡し、候補物体の現実世界位置を推定し、移動している(信号機である可能性が低い)物体をフィルタリングして除去し得る。幾つかの実施形態では、処理ユニット110は、カラー分析を候補物体に対して実行し、可能性のある信号機内部に表される検出色の相対位置を識別し得る。
【0134】
ステップ562において、処理ユニット110は、交差点のジオメトリを分析し得る。分析は、(i)車両200の両側で検出されるレーン数、(ii)道路で検出されるマーク(矢印マーク等)、及び(iii)マップデータ(マップデータベース160からのデータ等)から抽出される交差点の記述の任意の組み合わせに基づき得る。処理ユニット110は、単眼分析モジュール402の実行から導出される情報を使用して、分析を行い得る。加えて、処理ユニット110は、ステップ560において検出される信号機と、車両200近傍に現れるレーンとの対応性を特定し得る。
【0135】
車両200が交差点に近づくにつれて、ステップ564において、処理ユニット110は、分析される交差点ジオメトリ及び検出される信号機に関連付けられた信頼度を更新し得る。例えば、交差点に実際に現れる数と比較した交差点に現れると推定される信号機の数は、信頼度に影響を及ぼし得る。従って、信頼度に基づいて、処理ユニット110は、車両200のドライバーに制御を委任して、安全状況を改善し得る。ステップ560、562、及び564を実行することにより、処理ユニット110は、捕捉画像の組内に現れる信号機を識別し、交差点ジオメトリ情報を分析し得る。識別及び分析に基づいて、処理ユニット110は、
図5Aに関連して上述したように、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。
【0136】
図5Eは、開示される実施形態による、車両経路に基づいて車両200で1つ又は複数のナビゲーション応答を生じさせる例示的なプロセス500Eのフローチャートである。ステップ570において、処理ユニット110は、車両200に関連付けられた初期車両経路を構築し得る。車両経路は、座標(x,y)で表される点の組を使用して表し得て、点の組内の2点間距離d
iは、1~5メートルの範囲内にあり得る。1つの実施形態では、処理ユニット110は、左右の道路多項式等の2つの多項式を使用して初期車両経路を構築し得る。処理ユニット110は、2つの多項式間のジオメトリ中間点を計算し、所定のオフセットがある場合(オフセット0は、レーンの中央での走行に対応し得る)、所定のオフセット(例えば、スマートレーンオフセット)だけ、結果として生成される車両経路に含まれる各点をオフセットさせ得る。オフセットは、車両経路内の任意の2点間の区分に垂直の方向であり得る。別の実施形態では、処理ユニット110は、1つの多項式及び推定レーン幅を使用して、推定レーン幅の半分に所定のオフセット(例えば、スマートレーンオフセット)を加えたものだけ車両経路の各点をオフセットさせ得る。
【0137】
ステップ572において、処理ユニット110は、ステップ570において構築される車両経路を更新し得る。処理ユニット110は、車両経路を表す点の組内の2点間距離dkが、上述した距離diよりも短くなるように、より高い解像度を使用して、ステップ570において構築される車両経路を再構築し得る。例えば、距離dkは0.1~0.3メートルの範囲であり得る。処理ユニット110は、放物線スプラインアルゴリズムを使用して車両経路を再構築し得て、これは、車両経路の全長(すなわち、車両経路を表す点の組に基づく)に対応する累積距離ベクトルSをもたらし得る。
【0138】
ステップ574において、処理ユニット110は、ステップ572において構築された更新車両経路に基づいて、先読み点((xl,zl)として座標で表される)を特定し得る。処理ユニット110は、累積距離ベクトルSから先読み点を抽出し得て、先読み点には、先読み距離及び先読み時間を関連付け得る。先読み距離は、下限範囲10~20メートルを有し得て、車両200の速度と先読み時間との積として計算し得る。例えば、車両200の速度が下がるにつれて、先読み距離も短くなり得る(例えば、下限に達するまで)。0.5~1.5秒の範囲であり得る先読み時間は、進行エラー追跡制御ループ等の車両200でナビゲーション応答を生じさせることに関連付けられた1つ又は複数の制御ループの利得に反比例し得る。例えば、進行エラー追跡制御ループの利得は、ヨー率ループ、操舵アクチュエータループ及び車横方向動力学等の帯域幅に依存し得る。従って、進行エラー追跡制御ループの利得が高いほど、先読み時間は短くなる。
【0139】
ステップ576において、処理ユニット110は、ステップ574において特定される先読み点に基づいて、進行エラー及びヨー率コマンドを決定し得る。処理ユニット110は、先読み点の逆正接、例えば、arctan(xl/zl)を計算することにより、進行エラーを特定し得る。処理ユニット110は、進行エラーと高レベル制御利得との積としてヨー率コマンドを決定し得る。高レベル制御利得は、先読み距離が下限にない場合、(2/先読み時間)に等しい値であり得る。先読み距離が下限である場合、高レベル制御利得は、(2*車両200の速度/先読み距離)に等しい値であり得る。
【0140】
図5Fは、開示される実施形態による、先行車両がレーンを変更中であるか否かを特定する例示的なプロセス500Fを示すフローチャートである。ステップ580において、処理ユニット110は、先行車両(例えば、車両200の前を走行中の車両)に関連付けられたナビゲーション情報を特定し得る。例えば、処理ユニット110は、
図5A及び
図5Bに関連して上述した技法を使用して、先行車両の位置、速度(例えば、方向及び速度)及び/又は加速度を特定し得る。処理ユニット110は、
図5Eに関連して上述した技法を使用して、1つ又は複数の道路多項式、先読み点(車両200に関連付けられる)及び/又はスネイルトレイル(例えば、先行車両が取った経路を記述する点の組)を特定することもできる。
【0141】
ステップ582において、処理ユニット110は、ステップ580において特定されるナビゲーション情報を分析し得る。1つの実施形態では、処理ユニット110は、スネイルトレイルと道路多項式との間の距離(例えば、トレイルに沿った)を計算し得る。トレイルに沿ったこの距離の相違が所定の閾値(例えば、直線道路では0.1~0.2メートル、緩くカーブした道路では0.3~0.4メートル、急カーブの道路では0.5~0.6メートル)を超える場合、処理ユニット110は、先行車両がレーン変更中である可能性が高いと判断し得る。複数の車両が、車両200の前を走行中であることが検出される場合、処理ユニット110は、各車両に関連付けられたスネイルトレイルを比較し得る。比較に基づいて、処理ユニット110は、スネイルトレイルが他の車両のスネイルトレイルに一致しない車両が、レーン変更中である可能性が高いと判断し得る。処理ユニット110は更に、スネイルトレイル(先行車両に関連付けられた)の曲率を、先行車両が走行中の道路区分の予期される曲率と比較し得る。予期される曲率は、マップデータ(例えば、マップデータベース160からのデータ)、道路多項式、他の車両のスネイルトレイル及び道路についての事前知識等から抽出し得る。スネイルトレイルの曲率と道路区分の予期される曲率との差が、所定の閾値を超える場合、処理ユニット110は、先行車両がレーン変更中である可能性が高いと判断し得る。
【0142】
別の実施形態では、処理ユニット110は、特定の時間期間(例えば、0.5~1.5秒)にわたり、先行車両の瞬間位置を先読み点(車両200に関連付けられた)と比較し得る。特定の時間期間中の先行車両の瞬間位置と先読み点との間の距離の差及び分岐の累積和が、所定の閾値(例えば、直線道路では0.3~0.4メートル、緩くカーブした道路では0.7~0.8メートル、急カーブの道路では1.3~1.7メートル)を超える場合、処理ユニット110は、先行車両がレーン変更中である可能性が高いと判断し得る。別の実施形態では、処理ユニット110は、トレイルに沿って移動した横方向距離をスネイルトレイルの予期される曲率と比較することにより、スネイルトレイルのジオメトリを分析し得る。予期される曲率半径は、計算:(δz
2+δx
2)/2/(δx)に従って特定し得て、式中、σxは横方向移動距離を表し、σzは縦方向移動距離を表す。横方向移動距離と予期される曲率との差が所定の閾値(例えば、500~700メートル)を超える場合、処理ユニット110は、先行車両がレーン変更中である可能性が高いと判断し得る。別の実施形態では、処理ユニット110は、先行車両の位置を分析し得る。先行車両の位置が道路多項式を曖昧にする(例えば、先行車両が道路多項式の上に重なる)場合、処理ユニット110は、先行車両がレーン変更中である可能性が高いと判断し得る。先行車両の位置が、別の車両が先行車両の前方で検出され、2つの車両のスネイルトレイルが平行ではないようなものである場合、処理ユニット110は、(より近い)先行車両がレーン変更中である可能性が高いと判断し得る。
【0143】
ステップ584において、処理ユニット110は、ステップ582において実行される分析に基づいて、先行車両200がレーン変更中であるか否かを特定し得る。例えば、処理ユニット110は、ステップ582において実行される個々の分析の加重平均に基づいてその判断を下し得る。そのような方式下では、例えば、特定のタイプの分析に基づいた、先行車両がレーン変更中である可能性が高いという処理ユニット110による判断には、値「1」を割り当て得る(「0」は、先行車両がレーン変更中である可能性が低いとの判断を表す)。ステップ582において実行される異なる分析には異なる重みを割り当て得て、開示される実施形態は、分析及び重みのいかなる特定の組み合わせにも限定されない。
【0144】
図6は、開示される実施形態による、立体画像分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセス600を示すフローチャートである。ステップ610において、処理ユニット110は、データインタフェース128を介して第1及び第2の複数の画像を受信し得る。例えば、画像取得ユニット120に含まれるカメラ(視野202及び204を有する画像捕捉デバイス122及び124等)は、車両200の前方のエリアの第1及び第2の複数の画像を捕捉し、デジタル接続(例えば、USB、無線、Bluetooth等)を介して処理ユニット110に送信し得る。幾つかの実施形態では、処理ユニット110は、2つ以上のデータインタフェースを介して第1及び第2の複数の画像を受信し得る。開示される実施形態は、いかなる特定のデータインタフェース構成又はプロトコルにも限定されない。
【0145】
ステップ620において、処理ユニット110は、立体画像分析モジュール404を実行して、第1及び第2の複数の画像の立体画像分析を実行して、車両の前方の道路の3Dマップを作成し、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ、信号機及び道路危険物等の画像内の特徴を検出し得る。立体画像分析は、
図5A~
図5Dに関連して上述したステップと同様に実行し得る。例えば、処理ユニット110は、立体画像分析モジュール404を実行して、第1及び第2の複数の画像内の候補物体(例えば、車両、歩行者、道路マーク、信号機、道路危険物等)を検出し、様々な基準に基づいて候補物体のサブセットをフィルタリングして除外し、マルチフレーム分析を実行し、測定を構築し、残りの候補物体の信頼度を特定し得る。上記ステップを実行するに当たり、処理ユニット110は、画像の1つの組のみからの情報ではなく、第1及び第2の複数の画像の両方からの情報を考慮し得る。例えば、処理ユニット110は、第1及び第2の複数の画像の両方に現れる候補物体のピクセルレベルデータ(又は捕捉画像の2つのストリームの中からの他のデータサブセット)の差を分析し得る。別の例として、処理ユニット110は、物体が複数の画像の1枚に現れるが、他の画像では現れないことを観測することにより、又は2つの画像ストリームの場合に現れる物体に対して存在し得る他の差に対して、候補物体の位置及び/又は速度(例えば、車両200に対する)を推定し得る。例えば、車両200に対する位置、速度及び/又は加速度は、画像ストリームの一方又は両方に現れる物体に関連付けられた特徴の軌道、位置、移動特性等に基づいて特定し得る。
【0146】
ステップ630において、処理ユニット110は、ナビゲーション応答モジュール408を実行して、ステップ620において実行される分析及び
図4に関連して上述した技法に基づいて、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。ナビゲーション応答は、例えば、ターン、レーンシフト、加速度変更、速度変更及びブレーキ等を含み得る。幾つかの実施形態では、処理ユニット110は、速度及び加速度モジュール406の実行から導出されるデータを使用して、1つ又は複数のナビゲーション応答を生じさせ得る。更に、複数のナビゲーション応答は、同時に行われ得るか、順次行われ得るか、又はそれらの任意の組み合わせで行われ得る。
【0147】
図7は、開示される実施形態による、3組の画像の分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセス700を示すフローチャートである。ステップ710において、処理ユニット110は、データインタフェース128を介して第1、第2及び第3の複数の画像を受信し得る。例えば、画像取得ユニット120に含まれるカメラ(視野202、204及び206を有する画像捕捉デバイス122、124及び126等)は、車両200の前方及び/又は側部のエリアの第1、第2及び第3の複数の画像を捕捉し、デジタル接続(例えば、USB、無線、Bluetooth等)を介して処理ユニット110に送信し得る。幾つかの実施形態では、処理ユニット110は、3つ以上のデータインタフェースを介して第1、第2及び第3の複数の画像を受信し得る。例えば、画像捕捉デバイス122、124及び126のそれぞれは、処理ユニット110にデータを通信する関連付けられたデータインタフェースを有し得る。開示される実施形態は、いかなる特定のデータインタフェース構成又はプロトコルにも限定されない。
【0148】
ステップ720において、処理ユニット110は、第1、第2及び第3の複数の画像を分析して、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ、信号機及び道路危険物等の画像内の特徴を検出し得る。分析は、
図5A~
図5D及び
図6に関連して上述したステップと同様に実行し得る。例えば、処理ユニット110は、単眼画像分析を第1、第2及び第3の複数のそれぞれの画像に対して実行し得る(例えば、単眼画像分析モジュール402の実行及び
図5A~
図5Dに関連して上述したステップに基づいて)。代替的には、処理ユニット110は、立体画像分析を第1及び第2の複数の画像、第2及び第3の複数の画像及び/又は第1及び第3の複数の画像に対して実行し得る(例えば、立体画像分析モジュール404の実行を介して及び
図6に関連して上述したステップに基づいて)。第1、第2及び/又は第3の複数の画像の分析に対応する処理済み情報は、結合し得る。幾つかの実施形態では、処理ユニット110は、単眼画像分析と立体画像分析との組み合わせを実行し得る。例えば、処理ユニット110は、単眼画像分析を第1の複数の画像に対して実行し(例えば、単眼画像分析モジュール402の実行を介して)、立体画像分析を第2及び第3の複数の画像に対して実行し得る(例えば、立体画像分析モジュール404の実行を介して)。画像捕捉デバイス122、124及び126の構成 - 各位置及び視野202、204及び206を含め - は、第1、第2及び第3の複数の画像に対して行われる分析のタイプに影響を及ぼし得る。開示される実施形態は、画像捕捉デバイス122、124及び126の特定の構成又は第1、第2及び第3の複数の画像に対して行われる分析のタイプに限定されない。
【0149】
幾つかの実施形態では、処理ユニット110は、ステップ710及び720において取得され分析される画像に基づいて、システム100にテストを実行し得る。そのようなテストは、画像捕捉デバイス122、124及び126の特定の構成でのシステム100の全体性能のインジケータを提供し得る。例えば、処理ユニット110は、「偽性ヒット」(例えば、システム100が車両又は歩行者の存在を誤って判断する場合)及び「見落とし」の割合を特定し得る。
【0150】
ステップ730において、処理ユニット110は、第1、第2及び第3の複数の画像の2つから導出される情報に基づいて、車両200での1つ又は複数のナビゲーション応答を生じさせ得る。第1、第2及び第3の複数の画像の2つの選択は、例えば、複数の画像のそれぞれで検出される物体の数、タイプ及びサイズ等の様々なファクタに依存し得る。処理ユニット110は、画像の品質及び解像度、画像に反映される有効視野、捕捉フレーム数及び対象となる1つ又は複数の物体が実際にフレームに現れる程度(例えば、物体が現れるフレームのパーセンテージ、物体がそのような各フレームで現れる割合等)等に基づいて選択を行うことができる。
【0151】
幾つかの実施形態では、処理ユニット110は、ある画像ソースから導出される情報が、他の画像ソースから導出される情報と一貫する程度を特定することにより、第1、第2及び第3の複数の画像の2つから導出される情報を選択し得る。例えば、処理ユニット110は、画像捕捉デバイス122、124及び126のそれぞれから導出される処理済み情報(単眼分析であれ、立体分析であれ、又はそれら2つの任意の組み合わせであれ関係なく)を結合して、画像捕捉デバイス122、124及び126のそれぞれから捕捉される画像にわたり一貫する視覚的インジケータ(例えば、レーンマーク、検出される車両及び/又はその位置及び/又は経路、検出される信号機等)を特定し得る。処理ユニット110は、捕捉画像にわたり一貫しない情報(例えば、レーンを変更中の車両、車両200に近すぎる車両を示すレーンモデル等)を除外することもできる。従って、処理ユニット110は、一貫情報及び非一貫情報の特定に基づいて、第1、第2及び第3の複数の画像の2つからの導出される情報を選択し得る。
【0152】
ナビゲーション応答は、例えば、ターン、レーンシフト及び加速度変更を含み得る。処理ユニット110は、ステップ720において実行される分析及び
図4に関連して上述した技法に基づいて、1つ又は複数のナビゲーション応答を生じさせ得る。処理ユニット110は、速度及び加速度モジュール406の実行から導出されるデータを使用して、1つ又は複数のナビゲーション応答を生じさせることもできる。幾つかの実施形態では、処理ユニット110は、車両200と第1、第2及び第3の複数の画像のいずれかで検出される物体との間の相対位置、相対速度及び/又は相対加速度に基づいて、1つ又は複数のナビゲーション応答を生じさせ得る。複数のナビゲーション応答は、同時に行われ得るか、順次行われ得るか、又はそれらの任意の組み合わせで行われ得る。
【0153】
捕捉画像の分析により、自律車両ナビゲーションのための疎なマップモデルの生成及び使用が可能になり得る。更に、捕捉画像の分析により、識別されるレーンマークを使用した自律車両の位置特定が可能になり得る。捕捉画像の1つ又は複数の特定の分析に基づく特定の特性の検出のための実施形態、及び疎なマップモデルを使用した自律車両のナビゲーションのための実施形態は以下で論じられる。
【0154】
自律車両ナビゲーションのための疎な道路モデル
【0155】
幾つかの実施形態では、開示されるシステム及び方法は、自律車両ナビゲーションのために疎なマップを使用し得る。具体的には、疎なマップは、道路区分に沿った自律車両ナビゲーションのためであり得る。例えば、疎なマップは、大量のデータを記憶及び/又は更新することなく、自律車両をナビゲートするための十分な情報を提供し得る。以下で更に詳細に論じるように、自律車両は、疎なマップを使用して、1つ又は複数の記憶される軌道に基づいて1つ又は複数の道路をナビゲートし得る。
【0156】
自律車両ナビゲーションのための疎なマップ
【0157】
幾つかの実施形態では、開示されるシステム及び方法は、自律車両ナビゲーションのために疎なマップを生成し得る。例えば、疎なマップは、過度のデータストレージ又はデータ転送速度を必要とすることなく、ナビゲーションに十分な情報を提供し得る。以下で更に詳細に論じるように、車両(自律車両であり得る)は、疎なマップを使用して1つ又は複数の道路をナビゲートし得る。例えば、幾つかの実施形態では、疎なマップは、道路に関連するデータ、及び車両ナビゲーションに十分であり得るが、小さなデータフットプリントも示す道路に沿った潜在的な陸標を含み得る。例えば、以下で詳細に説明する疎なデータマップは、道路に沿って収集される画像データ等の詳細なマップ情報を含むデジタルマップと比較して、必要な記憶領域及びデータ転送帯域幅が大幅に少なくなり得る。
【0158】
例えば、道路区分の詳細な表現を記憶するのではなく、疎なデータマップは、道路に沿った好ましい車両経路の3次元多項式表現を記憶し得る。これらの経路は、データ記憶領域をほとんど必要とし得ない。更に、説明される疎なデータマップでは、ナビゲーションを支援するために、陸標が識別され、疎なマップ道路モデルに含まれ得る。これらの陸標は、車両のナビゲーションを可能にするのに適した任意の間隔で配置され得るが、場合によっては、高密度及び短い間隔で、そのような陸標を識別し、モデルに含める必要はない。むしろ、場合によっては、少なくとも50メートル、少なくとも100メートル、少なくとも500メートル、少なくとも1キロメートル、又は少なくとも2キロメートル離れた陸標に基づいてナビゲーションが可能であり得る。他の節でより詳細に論じるように、疎なマップは、車両が道路に沿って移動するときに、画像捕捉デバイス、全地球測位システムセンサ、移動センサ等の様々なセンサ及びデバイスを備えた車両によって収集又は測定されるデータに基づいて生成され得る。場合によっては、疎なマップは、特定の道路に沿った1つ又は複数の車両の複数の走行中に収集されるデータに基づいて生成され得る。1つ又は複数の車両の複数の走行を使用して疎なマップを生成することは、疎なマップの「クラウドソーシング」と呼ばれ得る。
【0159】
開示される実施形態によれば、自律車両システムは、ナビゲーションのために疎なマップを使用し得る。例えば、開示されるシステム及び方法は、自律車両のための道路ナビゲーションモデルを生成するための疎なマップを配信し得て、疎なマップ及び/又は生成される道路ナビゲーションモデルを使用して道路区分に沿って自律車両をナビゲートし得る。本開示による疎なマップは、自律車両が関連付けられた道路区分に沿って移動するときに横断し得る所定の軌道を表し得る1つ又は複数の3次元輪郭を含み得る。
【0160】
本開示による疎なマップはまた、1つ又は複数の道路特徴を表すデータを含み得る。そのような道路の特徴には、認識される陸標、道路シグネチャプロファイル、及び車両のナビゲートに有用な任意の他の道路関連特徴が含まれ得る。本開示による疎なマップは、疎なマップに含まれる比較的少量のデータに基づく車両の自律ナビゲーションを可能にし得る。例えば、道路縁部、道路の曲率、道路区分に関連付けられた画像、又は道路区分に関連付けられた他の物理的特徴を詳細に示すデータ等、道路の詳細な表現を含めなくても、疎なマップの開示される実施形態は、比較的少ない記憶領域(及び疎なマップの一部が車両に転送されるときの比較的小さな帯域幅)は必要となり得るが、それでも自律車両ナビゲーションを適切に提供し得る。以下で更に詳細に論じる、開示される疎なマップの小さなデータフットプリントは、幾つかの実施形態では、少量のデータを必要とするが、それでも自律ナビゲーションを可能にする道路関連要素の表現を記憶することによって実現され得る。
【0161】
例えば、道路の様々な側面の詳細な表現を記憶するのではなく、開示される疎なマップは、車両が道路を追従し得る1つ又は複数の軌道の多項式表現を記憶し得る。従って、開示される疎なマップを使用して、道路に沿ったナビゲーションを可能にするために道路の物理的性質に関する詳細を記憶する(又は転送する必要がある)のではなく、車両は、場合によっては、道路の物理的側面を解釈する必要なしに、むしろ、その走行経路を特定の道路区分に沿った軌道(例えば、多項式スプライン)に位置合わせすることによって、特定の道路区分に沿ってナビゲートされ得る。このようにして、車両は、主に、道路画像、道路パラメータ、道路レイアウト等の記憶を含む手法よりもはるかに少ない記憶領域を必要とし得る、記憶される軌道(例えば、多項式スプライン)に基づいてナビゲートされ得る。
【0162】
道路区分に沿った軌道の記憶される多項式表現に加えて、開示される疎なマップはまた、道路の特徴を表し得る小さなデータオブジェクトを含み得る。幾つかの実施形態では、小さなデータオブジェクトは、道路区分に沿って走行する車両に搭載されたセンサ(例えば、カメラ又はサスペンションセンサ等の他のセンサ)によって取得されたデジタル画像(又はデジタル信号)から導出されるデジタルシグネチャを含み得る。デジタルシグネチャは、センサによって取得された信号に比べて縮小されたサイズとなり得る。幾つかの実施形態では、デジタルシグネチャは、例えば、その走行中にセンサによって取得される信号から道路特徴を検出及び識別するように構成される分類子関数と互換性があるように作成され得る。幾つかの実施形態では、デジタルシグネチャは、その後に同じ道路区分に沿って走行する車両に搭載されるカメラによって捕捉される道路特徴の画像(又は、記憶されるシグネチャが画像に基づいていない、及び/又は他のデータを含んでいる場合は、センサによって生成されるデジタル信号)に基づいて、道路特徴を記憶されるシグネチャと相関又は一致させる能力を保持しながら、デジタルシグネチャが可能な限り小さいフットプリントを有するように作成され得る。
【0163】
幾つかの実施形態では、データオブジェクトのサイズは、道路特徴の独自性に更に関連付けられ得る。例えば、車両に搭載されるカメラによって検出可能な道路特徴について、車両に搭載されるカメラシステムが、特定のタイプの道路特徴、例えば、道路標識に関連付けられているものとしてその道路特徴に対応する画像データを区別できる分類子に結合されている場合、及びそのような道路標識がその領域で局所的に一意(例えば、付近に同一の道路標識又は同じタイプの道路標識がない)である場合、道路の特徴のタイプ及びその位置を示すデータを記憶するだけで十分であり得る。
【0164】
以下で更に詳細に論じるように、道路特徴(例えば、道路区分に沿った陸標)は、比較的数バイトで道路特徴を表し得る小さなデータオブジェクトとして記憶され得て、同時に、ナビゲーションのためにそのような特徴を認識及び使用するための十分な情報を提供し得る。一例では、道路標識は、車両のナビゲーションが基づき得る認識される陸標として識別され得る。道路標識の表現は、例えば、陸標のタイプを示す数バイトのデータ(例えば、一時停止標識)及び陸標の位置(例えば、座標)を示す数バイトのデータを含むように、疎なマップに記憶され得る。陸標のそのようなデータ観点の表現に基づいてナビゲートする(例えば、陸標に基づいて位置を特定し、認識し、ナビゲートするのに十分な表現を使用する)は、疎なマップに関連付けられたデータオーバーヘッドを大幅に増加させることなく、疎なマップに関連付けられた所望のレベルのナビゲーション機能を提供し得る。このような陸標(及び他の道路特徴)の無駄のない表現は、特定の道路特徴を検出、識別、及び/又は分類するように構成される、そのような車両に搭載されるセンサ及びプロセッサを利用し得る。
【0165】
例えば、標識又は特定のタイプの標識が特定の領域で局所的に一意である場合(例えば、他の標識がない場合、又は同じタイプの他の標識がない場合)、疎なマップは、陸標(標識又は特定のタイプの標識)のタイプを示すデータを使用し得て、自律車両に搭載されるカメラが標識(又は特定のタイプの標識)を含む領域の画像を捕捉するときのナビゲーション(例えば、自律ナビゲーション)中、プロセッサは、画像を処理し、標識を検出し(実際に画像に存在する場合)、画像を標識として(又は特定のタイプの標識として)分類し、画像の位置を疎なマップに記憶されている標識の位置と相関させ得る。
【0166】
道路特徴表現
【0167】
幾つかの実施形態では、疎なマップは、道路区分及び道路区分に関連付けられた複数の陸標に沿って広がる路面特徴の少なくとも1つの線表現を含み得る。特定の態様では、疎なマップは、「クラウドソーシング」を介して、例えば、1つ又は複数の車両が道路区分を横断するときに取得される複数の画像の画像分析を介して生成され得る。
【0168】
目標軌道及び識別される陸標に加えて、疎なマップは、他の様々な道路特徴に関連する情報を含み得る。例えば、
図9Aは、疎なマップに記憶され得る特定の道路区分に沿った曲線の表現を示す。幾つかの実施形態では、道路の単一レーンは、道路の左側及び右側の3次元多項式記述によってモデル化され得る。単一レーンの左側及び右側を表す、そのような多項式を
図8Aに示す。道路が有し得るレーン数に関係なく、
図8Aに示すのと同様の方法で、多項式を使用して道路を表し得る。例えば、複数レーンの道路の左側及び右側は、
図8Aに示したものと同様の多項式で表し得て、複数レーンの道路に含まれる中間レーンのマーク(例えば、レーンの境界を表す破線のマーク、異なる方向に走行するレーン間の境界を表す黄色の実線等)も、
図8Aに示すような多項式を使用して表し得る。
【0169】
図8Aに示すように、レーン800は、多項式(例えば、1次、2次、3次、又は任意の適切な次数の多項式)を使用して表し得る。説明のために、レーン800は2次元レーンとして示され、多項式は2次元多項式として示されている。
図8Aに示すように、レーン800は左側810及び右側820を含む。幾つかの実施形態では、複数の多項式を使用して、道路又はレーンの境界の各側の位置を表し得る。例えば、左側810及び右側820のそれぞれは、任意の適切な長さの複数の多項式によって表し得る。場合によっては、多項式が約100mの長さになり得るが、100mより長い又は短い他の長さも使用し得る。更に、ホスト車両が道路に沿って走行するときに、その後に遭遇する多項式に基づいてナビゲートする際のシームレスな遷移を容易にするために、多項式を互いに重なり合わせることができる。例えば、左側810及び右側820のそれぞれは、長さが約100メートルの区分(第1の所定の範囲の例)に分離され、互いに約50メートル重なり合う複数の3次多項式によって表し得る。左側810及び右側820を表す多項式は、同じ順序であり得るか、又は同じ順序であり得ない。例えば、幾つかの実施形態では、幾つかの多項式は2次多項式であり得て、幾つかは3次多項式であり得て、幾つかは4次多項式であり得る。
【0170】
図8Aに示す例では、レーン800の左側810は、3次多項式の2つのグループで表されている。第1のグループには、多項式区分811、812、及び813が含まれる。第2のグループには、多項式区分814、815、及び816が含まれる。2つのグループは、互いに実質的に平行であるが、道路のそれぞれの側の位置に従う。多項式区分811、812、813、814、815、及び816は約100メートルの長さであり、一連内の隣接する区分と約50メートル重なり合っている。ただし、前述のように、長さ及び重なり合う量はまた、異なる多項式を使用し得る。例えば、多項式は500m、1km、又はそれ以上の長さであり得て、重なり合う量は0~50m、50m~100m、又は100m超に変化し得る。更に、
図8Aは、2D空間(例えば、紙の表面上)に広がる多項式を表すものとして示され、これらの多項式は、X-Y曲率に加えて、道路区分の標高の変化を表すために、(例えば、高さ成分を含む)3次元に広がる曲線を表し得ることを理解されたい。
図8Aに示す例では、レーン800の右側820は、多項式区分821、822、及び823を有する第1のグループ、ならびに多項式区分824、825、及び826を有する第2のグループによって更に表される。
【0171】
疎なマップの目標軌道に戻り、
図8Bは、特定の道路区分に沿って走行する車両の目標軌道を表す3次元多項式を示す。目標軌道は、ホスト車両が特定の道路区分に沿って走行すべきX-Y経路だけでなく、ホスト車両が道路区分に沿って走行するときに経験する標高の変化も表す。従って、疎なマップ内の各目標軌道は、
図8Bに示す3次元多項式850のように、1つ又は複数の3次元多項式によって表し得る。疎なマップは、複数(例えば、世界中の道路に沿った様々な道路区分に沿った車両の軌道を表すために、数百万又は数十億以上)の軌道を含み得る。幾つかの実施形態では、各目標軌道は、3次元多項式区分を接続するスプラインに対応し得る。
【0172】
疎なマップに記憶される多項式曲線のデータフットプリントに関して、幾つかの実施形態では、各3次多項式は、4つのパラメータによって表され、それぞれは4バイトのデータを必要とし得る。適切な表現は、100mごとに約192バイトのデータを必要とする3次多項式で取得し得る。これは、約100km/hrを走行するホスト車両のデータ使用量/転送要件で1時間当たり約200KBと言い換え得る。
【0173】
疎なマップは、ジオメトリ記述子とメタデータとの組み合わせを使用してレーンネットワークを記述し得る。ジオメトリは、上述したように多項式又はスプラインで記述し得る。メタデータは、レーンの数、特別な特性(カープールレーン等)、及び場合により他の疎なラベルを記述し得る。そのような指標の総フットプリントは、ごくわずかであり得る。
【0174】
従って、本開示の実施形態による疎なマップは、道路区分に沿って広がる路面特徴の少なくとも1つの線表現を含み得て、各線表現は、路面特徴に実質的に対応する道路区分に沿った経路を表す。幾つかの実施形態では、上記で論じたように、路面特徴の少なくとも1つの線表現は、スプライン、多項式表現、又は曲線を含み得る。更に、幾つかの実施形態では、路面特徴は、道路縁部又はレーンマークのうちの少なくとも1つを含み得る。更に、「クラウドソーシング」に関して以下で論じるように、路面特徴は、1つ又は複数の車両が道路区分を横断するときに取得される複数の画像の画像分析によって識別され得る。
【0175】
図9Aは、疎なマップを構築又は維持するプロセス中に捕捉される軌道の多項式表現を示す。疎なマップに含まれる目標軌道の多項式表現は、同じ道路区分に沿った車両の以前の横断の2つ以上の再構築される軌道に基づいて決定され得る。幾つかの実施形態では、疎なマップに含まれる目標軌道の多項式表現は、同じ道路区分に沿った車両の以前の横断の2つ以上の再構築される軌道の集約であり得る。幾つかの実施形態では、疎なマップに含まれる目標軌道の多項式表現は、同じ道路区分に沿った車両の以前の横断の2つ以上の再構築される軌道の平均であり得る。他の数学的演算を使用して、道路区分に沿って横断する車両から収集される再構築される軌道に基づいて、道路経路に沿った目標軌道を構築することもできる。
【0176】
図9Aに示すように、道路区分900は、異なる時間に複数の車両200によって走行され得る。各車両200は、車両が道路区分に沿って取った経路に関連するデータを収集し得る。特定の車両が走行する経路は、他の潜在的な情報源の中でもとりわけ、カメラデータ、加速度計情報、速度センサ情報、及び/又はGPS情報に基づいて決定され得る。そのようなデータは、道路区分に沿って走行する車両の軌道を再構築するために使用され得て、これらの再構築される軌道に基づいて、特定の道路区分の目標軌道(又は複数の目標軌道)が決定され得る。そのような目標軌道は、車両が道路区分に沿って走行するときの、(例えば、自律ナビゲーションシステムによって誘導される)ホスト車両の好ましい経路を表し得る。
【0177】
図9Aに示す例では、第1の再構築される軌道901は、第1の期間(例えば、1日目)に道路区分900を横断する第1の車両から受信されるデータに基づいて決定され得て、第2の再構築される軌道902は、第2の期間(例えば、2日目)に道路区分900を横断する第2の車両から取得され得て、第3の再構築される軌道903は、第3の期間(例えば、3日目)に道路区分900を横断する第3の車両から取得され得る。各軌道901、902、及び903は、3次元多項式等の多項式によって表し得る。幾つかの実施形態では、再構築される軌道のいずれかが、道路区分900を横断する車両に提供され組み立てられ得ることに留意されたい。
【0178】
加えて又は或いは、そのような再構築される軌道は、道路区分900を横断する車両から受信される情報に基づいて、サーバ側で決定され得る。例えば、幾つかの実施形態では、車両200は、道路区分900に沿ったそれらの移動(例えば、とりわけ、操舵角、進行方向、時間、位置、速度、検知される道路のジオメトリ、及び/又は検知される陸標等)に関連するデータを1つ又は複数のサーバに送信し得る。サーバは、受信されるデータに基づいて車両200の軌道を再構築し得る。サーバはまた、第1、第2、及び第3の軌道901、902、及び903に基づいて、後に同じ道路区分900に沿って走行する自律車両のナビゲーションを誘導するための目標軌道を生成し得る。目標軌道は、道路区分の単一の以前の横断に関連付けられ得るが、幾つかの実施形態では、疎なマップに含まれる各目標軌道は、同じ道路区分を横断する車両の2つ以上の再構築される軌道に基づいて決定され得る。
図9Aでは、目標軌道は910によって表されている。幾つかの実施形態では、目標軌道910は、第1、第2、及び第3の軌道901、902、及び903の平均に基づいて生成され得る。幾つかの実施形態では、疎なマップに含まれる目標軌道910は、2つ以上の再構築される軌道の集約(例えば、重み付けされる組み合わせ)であり得る。走行データを位置合わせして軌道を構築することについては、
図9B及び
図9Cを参照して以下で更に論じる。
【0179】
図9B及び
図9Cは、地理的領域911内に存在する道路区分に関連付けられた目標軌道の概念を更に示す。
図9Bに示すように、地理的領域911内の第1の道路区分920は、第1の方向への車両走行のために指定される2つのレーン922、及び第1の方向とは反対の第2の方向への車両走行のために指定される2つの追加のレーン924を含む複数レーン道路を含み得る。レーン922及びレーン924は、二重の黄色い線923によって分離され得る。地理的領域911はまた、道路区分920と交差する分岐道路区分930を含み得る。道路区分930は、2レーンの道路を含み得て、各レーンは、異なる進行方向に指定される。地理的領域911はまた、一時停止線932、一時停止標識934、制限速度標識936、及び危険標識938等の他の道路特徴を含み得る。
【0180】
図9Cに示すように、疎なマップは、地理的領域911内の車両の自律ナビゲーションを支援するための道路モデルを含むローカルマップ940を含み得る。例えば、ローカルマップ940は、地理的領域911内の道路区分920及び/又は930に関連付けられた1つ又は複数のレーンの目標軌道を含み得る。例えば、ローカルマップ940は、自律車両がレーン922を横断するときにアクセス又は依存し得る目標軌道941及び/又は942を含み得る。同様に、ローカルマップ940は、自律車両がレーン924を横断するときにアクセス又は依存し得る目標軌道943及び/又は944を含み得る。更に、ローカルマップ940は、自律車両が道路区分930を横断するときにアクセス又は依存し得る目標軌道945及び/又は946を含み得る。目標軌道947は、レーン920(具体的には、レーン920の右端のレーンに関連付けられた目標軌道941に対応)から道路区分930(具体的には、道路区分930の第1の側に関連付けられた目標軌道945に対応)に移行するときに自律車両が進むべき好ましい経路を表す。同様に、目標軌道948は、道路区分930から(具体的には、目標軌道946に対応)道路区分924の一部(具体的には、示すように、レーン924の左レーンに関連付けられた目標軌道943に対応)に移行するときに自律車両が進むべき好ましい経路を表す。
【0181】
疎なマップはまた、地理的領域911に関連付けられた他の道路関連特徴の表現を含み得る。例えば、疎なマップはまた、地理的領域911で識別される1つ又は複数の陸標の表現を含み得る。そのような陸標は、一時停止線932に関連付けられた第1の陸標950、一時停止標識934に関連付けられた第2の陸標952、制限速度標識954に関連付けられた第3の陸標、及び危険標識938に関連付けられた第4の陸標956を含み得る。そのような陸標は、車両が、決定された位置での目標軌道の方向に一致するようにその進行方向を調整し得るように、例えば、自律車両が、示される目標軌道のいずれかに対する現在の位置を決定するのを支援するために使用され得る。
【0182】
幾つかの実施形態では、疎なマップはまた、道路シグネチャプロファイルを含み得る。そのような道路シグネチャプロファイルは、道路に関連付けられた少なくとも1つのパラメータの識別可能/測定可能な変動に関連付けられ得る。例えば、場合によっては、そのようなプロファイルは、特定の道路区分の表面粗さの変化、特定の道路区分にわたる道路幅の変化、特定の道路区分に沿って描かれた破線の間の距離の変化、特定の道路区分に沿った道路の曲率の変化等の路面情報の変化と関連付けられ得る。
図9Dは、道路シグネチャプロファイル960の例を示す。プロファイル960は、上記のパラメータのいずれか、又は他のパラメータを表し得るが、一例では、プロファイル960は、例えば、車両が特定の道路区分を走行するときのサスペンション変位の量を示す出力を提供する1つ又は複数のセンサを監視することによって得られる、路面粗さの測度を表し得る。
【0183】
或いは、又は同時に、プロファイル960は、特定の道路区分を走行する車両に搭載されるカメラを介して取得される画像データに基づいて決定された、道路幅の変化を表し得る。そのようなプロファイルは、例えば、特定の目標軌道に対する自律車両の特定の位置を決定するのに有用であり得る。すなわち、自律車両が道路区分を横断するとき、自律車両は、道路区分に関連付けられた1つ又は複数のパラメータに関連付けられたプロファイルを測定し得る。測定されるプロファイルを、道路区分に沿った位置に関してパラメータの変化をプロットする所定のプロファイルと相関/一致させることができる場合、道路区分に沿った現在の位置、従って、道路区分の目標軌道に対する現在の位置を決定するために、(例えば、測定される所定のプロファイルの対応する区域を重なり合わせることによって)測定される所定のプロファイルを使用し得る。
【0184】
幾つか実施形態では、疎なマップは、自律車両のユーザ、環境条件、及び/又は走行に関連する他のパラメータに関連付けられた異なる特性に基づく異なる軌道を含み得る。例えば、幾つかの実施形態では、異なるユーザの好み及び/又はプロファイルに基づいて、異なる軌道が生成され得る。そのような異なる軌道を含む疎なマップは、異なるユーザの異なる自律車両に提供され得る。例えば、一部のユーザは有料道路を避けるほうを好み得るが、他のユーザは、ルートに有料道路があるかどうかに関係なく、最短又は最速のルートを取ることを好み得る。開示されるシステムは、そのような異なるユーザの好み又はプロファイルに基づいて、異なる軌道を有する異なる疎なマップを生成し得る。別の例として、一部のユーザは高速で移動するレーンを走行することを好み得るが、他のユーザは常に中央レーンの位置を維持することを好み得る。
【0185】
異なる軌道は、昼及び夜、雪、雨、霧等の異なる環境条件に基づいて生成され、疎なマップに含まれ得る。異なる環境条件で走行する自律車両は、そのような異なる環境条件に基づいて生成される疎なマップを提供し得る。幾つかの実施形態では、自律車両に提供されるカメラは、環境条件を検出し得て、疎なマップを生成及び提供するサーバにそのような情報を提供し得る。例えば、サーバは、既に生成される疎なマップを生成又は更新して、検出される環境条件下での自律走行により適し得る又はより安全であり得る軌道を含み得る。環境条件に基づく疎なマップの更新は、自律車両が道路に沿って走行しているときに動的に実行され得る。
【0186】
走行に関連する他の異なるパラメータも、異なる自律車両に異なる疎なマップを生成及び提供するための基礎として使用され得る。例えば、自律車両が高速で走行している場合、旋回が困難になり得る。自律車両が特定の軌道を進むときに、その車両が特定のレーン内を維持し得るように、道路ではなく特定のレーンに関連付けられた軌道を疎なマップに含め得る。自律車両に搭載されるカメラによって捕捉される画像が、車両がレーンの外側にドリフトした(例えば、レーンマークを越えた)ことを示している場合、特定の軌道に従って車両を指定されるレーンに戻すために、車両内で動作がトリガーされ得る。
【0187】
図10は、複数の3次元スプライン1001、1002、及び1003によって表される例示的な自律車両道路ナビゲーションモデルを示す。
図10に示す曲線1001、1002、及び1003は、例示の目的のためだけのものである。各スプラインは、複数のデータポイント1010を接続する1つ又は複数の3次元多項式を含み得る。各多項式は、1次多項式、2次多項式、3次多項式、又は異なる次数を有する任意の適切な多項式の組み合わせであり得る。各データポイント1010は、複数の車両から受信されるナビゲーション情報に関連付けられ得る。幾つかの実施形態では、各データポイント1010は、陸標(例えば、サイズ、位置、及び陸標の識別情報)及び/又は道路シグネチャプロファイル(例えば、道路のジオメトリ、道路粗さプロファイル、道路曲率プロファイル、道路幅プロファイル)に関連するデータに関連付けられ得る。幾つかの実施形態では、幾つかのデータポイント1010は、陸標に関連するデータに関連付けられ得て、他のデータポイントは、道路シグネチャプロファイルに関連するデータに関連付けられ得る。
【0188】
図11は、5つの別個の走行から受信される生の位置データ1110(例えば、GPSデータ)を示す。別個の車両が同時に横断した場合、同じ車両が別個の時間に横断した場合、又は別個の車両が別個の時間に横断した場合、ある走行は別の走行とは別個であり得る。位置データ1110の誤差、及び同じレーン内の車両の異なる位置(例えば、ある車両が別の車両よりもレーンの左側に近づき得る)を考慮するために、遠隔サーバは、1つ又は複数の統計的技法を使用してマップスケルトン1120を生成し、生の位置データ1110の変化が実際の逸脱又は統計的誤差を表しているかどうかを判断し得る。スケルトン1120内の各経路は、その経路を形成した生データ1110にリンクし直し得る。例えば、スケルトン1120内のAとBとの間の経路は、走行2、3、4、及び5からの生データ1110にリンクされているが、走行1からはリンクされていない。スケルトン1120は、(例えば、上述したスプラインとは異なり、同じ道路上の複数のレーンからの走行を組み合わせるため)車両のナビゲートに使用するには十分詳細ではないことがあり得るが、有用なトポロジ情報を提供し得て、交差点を定義するために使用し得る。
【0189】
車両ナビゲーションのためのイベント情報のクラスタ化
【0190】
上述したように、開示されるシステム及び方法は、複数の車両又は他のソースから情報を収集すること、及び収集された情報に基づいて自律車両ナビゲーションのための疎なマップを生成することを含み得る。疎なマップを生成するために使用されるこのような情報は、潜在的な陸標及び関連付けられた位置(例えば、識別された道路標識、道路マーク、特定の建物等と関連付けられた位置)等の比較的永久的に配置された道路特徴を含み得る。この情報は、更に一時的な道路特徴にも関連し得る。例えば、道路を横断する車両から収集される情報は、関連付けられた位置情報と共に、工事区域、穴、道路障壁等の一時的な道路特徴を含み得る。場合によっては、この情報は、ナビゲーションに有用な疎なマップの開発に使用され得る。その他の場合、半永久的又は一時的な道路条件又は道路特徴に関連する情報を使用して、ナビゲーションに使用され得る1つ又は複数の車両への報告を生成し得る。これらの報告は、ナビゲーションのために1つ又は複数の車両に配信される疎なマップに含まれ得るか、又はそれとは別個に提供され得る。他の実施形態では、報告は、別個である代わりに、タグ、フラグ、或いは半永久的又は一時的な道路条件を示す疎なマップ内の他の情報の形式であり得る。場合によっては、ナビゲーションのために車両に提供される報告は、識別された通行車両の徐行、道路で遭遇した歩行者等、非常に一時的な道路条件に関連し得る。
【0191】
従って、開示されるシステム及び方法では、道路条件の多くの報告が生成され得て、道路をナビゲートする複数の車両から集中システムによって受信され得る。道路条件は、車両に搭載されたシステム又はデバイス(例えば、道路条件報告モジュール)が検出でき、遠隔コンピュータに報告するか、或いは他の車両又はスマート道路インフラストラクチャシステムに直接報告するように構成される任意の物体又は物体のグループを指し得る。幾つかの実施形態では、他の車両は、報告車両の近くにある車両であり得る。道路条件は、潜在的な陸標、道路特徴、工事区域、穴、歩行者、通行車両の徐行、通行車両の徐行の開始位置に位置するか又は通行車両の徐行の開始を示す車、又は任意の他の道路関連の条件等、複数の事前定義された物体又は条件を含み得る。道路条件は、道路上に配置されている、少なくとも特定の高さを有する、特定のタイプではない箱又は他の物体等の一般的な物体も含み得る。物体が道路条件と見なされるかどうかは、物体が動いているかどうかに更に依存し得る。
【0192】
幾つかの実施形態では、そのような車両報告を生成するために、複数の情報報告を複数の車両から収集して、信頼性を向上させ得る。例えば、同じ道路条件の複数の報告を受信することにより、1つ又は複数の報告で道路条件の位置をより正確に識別することが可能であり得る。このようなシステムの課題の1つは、受信される報告を、道路をナビゲートする車両が使用できる情報に集約することである。例えば、場合によっては、受信される全ての報告が、1つ又は複数の車両に渡され得る。そのような場合、受信車両は受信される情報を評価し、受信される情報を考慮して車両の適切な又は目標のナビゲーション動作を決定することを可能にし得るが、そのような手法は、各受信車両に搭載された重要な処理能力を必要とし得る。更に、そのようなシステムは、特定の道路について複数の車両から収集された(例えば、クラウドソーシングされた)数百、数千、又は数百万の報告を送信するのに十分な帯域幅を有する、車両とサーバとの間の無線通信経路を必要とし得る。
【0193】
他の場合には、道路を横断する車両から取得された情報は、ナビゲーションのために車両に提供される報告がより簡潔になり得るように、中央のサーバベースのシステムによって集約され得る。例えば、一部の状況では、道路を横断する車両から受信される情報を分析して、受信される情報が共通の条件又は道路特徴に関連しているかどうかを判断し得る。そのような場合、共通の条件又は道路特徴に関連して受信される情報は、ナビゲーションのために車両に提供される1つ又は複数の報告に集約され得る。ナビゲーションのために車両に提供される各ナビゲーション報告は、道路を横断する車両から中央のサーバベースのシステムによって受信される2つ以上の情報報告の集約を構成し得る。そのような集約されたナビゲーション報告の使用により、車両のナビゲーション動作を決定するために特定の車両で(例えば、特定の車両のナビゲーションコントローラによって)行われなければならない処理及び分析のレベルが低減され得て、中央のサーバベースのシステムと受信車両との間の通信のための帯域幅要件も低減され得る。
【0194】
自律車両等の車両群から受信される情報をクラスタ化し、クラスタ化された情報に基づいて車両群に報告を提供するためのシステム及び方法が開示される。自律車両とは、ADASを装備した車両を含む、検知及び/又は処理システムを備えた任意の車両を指し得る。自律車両は、通常、視覚データを検出及び処理するための車載カメラ及び他のデバイスを含み得る。情報のクラスタ化は、1つ又は複数の車両からの情報ストリームの一部として受信される情報の集約を指し得る。更に、クラスタ化された情報に基づいて生成されたナビゲーション報告は、ナビゲーション報告が生成された情報を送信した車両と同じグループ又は異なるグループの一部である1つ又は複数の車両に配信され得る。場合によっては、車両群は、共通の管理下にある車両のグループ群を指し得る(例えば、レンタカー、ライドシェアリングカー、貸切カー等の群)。他の場合には、車両群は、少なくとも1つの共通のプロトコル(例えば、配信された疎なマップに基づいてナビゲートするように装備されたナビゲーションコントローラ)に従って動作する車両のグループを指し得る。幾つかの実施形態では、車両のグループは、事前定義されたプロトコルに従って報告(例えば、情報車両報告)を提供するように構成され得る。更に他の場合には、車両群は、独立して動作する2つ以上の車両を指し得る。
【0195】
群内の各車両は、分析及び報告作成のために遠隔サーバに情報を提供するために、車両上にあるソフトウェア命令を実行するように構成される少なくとも1つのプロセッサを含み得る。例えば、特定の車両に含まれる検知システム及び/又はナビゲーションシステムは、ナビゲーション中に情報を収集し、車両/ナビゲーションシステムによって経験又は観察された道路条件又は道路特徴に関する報告を遠隔サーバに送信し得る。車両は、そのような報告を定期的に(例えば、各イベントの発生時に、定期的な時間間隔で等)送信し得る。報告は、1つ又は複数のカメラから捕捉される画像、1つ又は複数の捕捉される画像から導出される情報(例えば、捕捉される画像のプロセッサベースの画像分析に基づいた)、位置情報(例えば、GPS情報)、1つ又は複数のライダデバイス、レーダ出力、識別された道路特徴からのライダ点群(例えば、識別された道路マーク及び対応する位置、穴及び対応する位置、停止車及び対応する位置、歩行者及び対応する位置)等を含み得る。遠隔サーバは、受信される情報を分析して、交通渋滞、穴、走行レーンを塞いでいる故障車両等、特定の位置でのイベントに関連するナビゲーション報告を生成して、報告を群内の車両に配信し得る。場合によっては、各ナビゲーション報告は、道路に沿ってナビゲートする車両から受信される情報を集約又はクラスタ化することによって生成され得る。場合によっては、検出されたイベントごとに、そのようなクラスタ化されたナビゲーション報告が1つだけ送信され得る。他の場合には、検出されたイベントごとに、そのようなクラスタ化されたナビゲーション報告が複数送信され得る。
【0196】
本明細書で使用される「イベント」は、車両の環境における任意の観察可能な条件又は発生に関連し得る。例えば、イベントは、上述した道路条件又は道路特徴のいずれかを参照し得る。一部のイベントは、一時的な性質のものであり得る。例えば、歩行者が道路に足を踏み入れることは、通常、一時的な条件である。従って、開示されるシステム及び方法は、一時的な条件に関連する車両から情報を受信し、その後、イベントが短期間しか持続しない可能性がある(例えば、歩行者が立ち去る可能性がある)ため、そのようなイベントに関する報告を車両群に迅速に発行し得る。本明細書で使用される半永久的又は一時的なイベントは、本来、自己運動をするか、又は自己運動が可能であるイベント、或いは通常、移動、シフト、又は他の方法で再配置されるイベント(道路特徴又は道路条件を含む)を指し得る。これに関連して、物体又は特徴は、物体(特定のタイプの物体又は検出された一般的な物体のいずれか)が道路の近く又は道路上で検出され、動いているとき、半永久的又は一時的であると判断され得ることが理解されよう。このような物体は、交通渋滞の開始点に位置するか、その開始点を示す車両、又は、例えば、強風によって移動している道路上の何の変哲もない箱を含み得る。動きは、画像(様々な画像処理及び動き検出技術を使用)から推測したり、車両に搭載されたライダ又はレーダシステムの距離測定、又は動きを検出するための任意の他の手段から推測したりし得る。他の例では、物体は静止していてもよいが、動くことができる物体として識別されてもよい。例えば、ベビーカート(例えば、ベビーカー)が検出され、ベビーカートとして分類され得て、システムは、その特徴の1つが、動くことができることであることを認識し得る。別の例では、車両に搭載された検知システムは、動きの遅い道路清掃車両、建設車両、他のインフラストラクチャ整備車両、又は他の車両のドライバーに警告するために使用され得る標識等の一時的又は移動する道路標識を識別し得る。幾つかの実施形態では、一時的又は移動する道路標識は、(例えば、物体検出アルゴリズムを使用して)その外観によって識別され得る。標識が動いている場合、標識の検出された動きは、その半永久的又は一時的な性質又は特性を示し得る。幾つかの実施形態では、以下で更に詳細に説明するように、関連付けられた有効期限を有するイベント等、クラウドソースマップ内でそれらに関連付けられた有効期限(TTL)を有する特徴は、一時的又は半永久的であると見なされ得る。
【0197】
一方、交通渋滞、穴、駐車中の車両等、他のイベントは長期間続く可能性が高くなり得る。そのようなイベントを群に報告することは、通常、それほど緊急を要しないので、開示されるシステム及び方法は、イベントが存在する限り、永続的なイベントを定期的に報告し得る。例えば、交通渋滞は、イベントの期間中、所定の時間間隔(例えば、1分ごと、5分ごと等)で車両群(例えば、特定の地域の車両のグループ群)に報告され得る。
【0198】
群内の各車両は継続的に報告可能な条件に遭遇し得るため、収集され、車両から遠隔サーバに送信される膨大な量の情報には、特有の課題がある。複数の車両が同じイベントを報告し得るため、同じイベントに関連する繰り返しの報告を群に送信することは非現実的で非効率的であり得る。例えば、多くの車両が交通渋滞に遭遇し得て、多くの交通渋滞は、任意の所与の時間で異なる位置に存在し得るが、同じ交通渋滞について繰り返し冗長な報告をするのではなく、交通渋滞ごとに1つの報告のみを群に提供することが望まれ得る。従って、開示されるシステム及び方法は、ある車両(又は、ある車両のグループ群)から受信される情報が、別の車両(又は、別の車両のグループ群)から受信される情報に関連するかどうかを判断し得る。言い換えれば、開示されるシステム及び方法は、群内の複数の車両が同じイベントを報告しているかどうかを判断し、そのイベントについて1つのレポート(又は、少なくとも集約/クラスタ化されたナビゲーション報告)を発行し得る。
【0199】
開示されるシステム及び方法は、自律車両が正確に解釈するのが難しい状況であり得る、自律車両が停止車両に遭遇した場合に提示される課題にも対処する。例えば、場合によっては、走行レーンで検出され停止車は、交通渋滞に関連付けられ得る。他の状況では、走行レーンで検出された停止車両は、故障していたり、単に二重駐車していたりし得て、他の停止車両とは関連付けられ得ない。これらの状況は、停止車両がホスト車両に搭載されたセンサの視野を実質的に遮断する場合等、自律両車の検知システムと同様に見え得るが、それぞれが異なる好ましいナビゲーション応答に関連付けられ得る。例えば、停止車両が交通渋滞の一部である場合、自律車両は前方の車を追い越すべきではなく、前方の車が移動するのを単に待つべきである。一方、停止車両が単に走行レーンを遮る単独車両(例えば、故障した車両、駐車中の配達用トラック等)の場合、自律車両は追い越し得る。多くの場合、単独車両は、収集した情報では、これらの可能性のいずれかが存在するかを決定するには不十分であると判断し得る。複数の視点から受信される情報(例えば、異なる走行レーンを走行する車両、道路の反対側を走行する車両、停止車両を追い越す車両、イベントに含まれる(例えば、交通渋滞で停止した)車両等)を分析することにより、開示されるシステム及び方法は、2つ以上の車両から受信される情報が同じイベントに関連するかどうかを判断し得るだけでなく、イベントの完全な性質(例えば、イベントが単なる一台の駐車車両であるか、交通渋滞での停止車両の列の最後の車両であるかどうか)もより具体的に判断し得る。その結果、集約されたナビゲーション報告により、自律車両のナビゲーションシステムによる、より堅牢で十分な情報を得たうえでの決定が可能になり得る。
【0200】
前述のように、開示されるシステム及び方法は、大量の情報を処理し得て、従って、情報が関連しているかどうかを判断する必要があり得る。すなわち、受信される複数の情報報告が共通のイベントに関連している場合、そのイベントに関連して1つのナビゲーション報告のみを生成することが必要及び/又は望まれ得る。クラスタ化又はクラスタ分析により、このような情報報告を関連するグループに集約することが可能になる。しかし、クラスタ化のための従来のアルゴリズムは、車両群から受信される情報等、複数のソースからリアルタイムで継続的に受信される情報を分析するのには適していない。例えば、従来のアルゴリズムは通常、クラスタ化プロセスの開始時、全ての情報がクラスタ化するための準備ができているという前提で動作する。車両が継続的に新しい情報を送信している状況では、これは通常当てはまらない。更に、従来のクラスタ化アルゴリズムでは、通常、予想されるクラスタの数(すなわち、データを編成するグループの数)、又は各クラスタについて予想される報告の数について、事前に(すなわち、クラスタ化プロセスを開始するときに)知識が必要である。しかし、情報が車両からクラウドソーシングされる場合、クラスタの数は変化し、実際に時間の経過と共に発展し得る(特に、車両によって経験及び報告されたイベント又は条件のタイプが、所定のイベント又は条件のセットに含まれないが、特定のシナリオに固有であり得る場合)。更に、場合によっては、車両群からより多くの情報を受信すると、以前は別個のイベントに関連すると理解されていた情報が、実際には同じイベントに関連していると判断することが可能であり得る(例えば、2台の車両が、2つの別個の交通渋滞ではなく、同じ交通渋滞を報告している)。開示されるシステム及び方法では、遭遇したイベント又は条件に関する情報を集約するために使用されるクラスタは、動的に、及び道路を走行する車両によって報告される情報のタイプに基づいて決定され得る。
【0201】
従来のクラスタ化技術の欠点に対処するために、開示されるシステム及び方法は、群内の車両から新しい報告を受信したときに、以前に受信した報告をクラスタ化するかどうかを判断し得る。例えば、新しい情報報告を受信した後、サーバベースのシステムは、報告がいずれかの以前のイベントに関連しているかどうかを判断し得る。その場合、以前のイベントとクラスタ化され得る。そうでない場合、新しいクラスタが生成され得る。クラスタ化は、新しい情報報告がサーバに到着したときに発生し得て、また、クラスタ化は、追加情報及び変更された状況を考慮に入れるために継続的に発生し得る。
【0202】
クラスタ化は、イベントタイプに基づき得る。すなわち、検出された穴、検出された歩行者等の共通のイベントに関連するイベントは、単一のクラスタにまとめてグループ化され得る(例えば、クラスタデータベース内に、関連するものとして一緒に記憶されるか、又は参照される)。クラスタ化は、空間的関係に基づき得る。例えば、ある位置又は地域で検出された穴に関する情報報告は、第1のクラスタにグループ化され得て、異なる位置又は地域で検出された穴に関する情報報告は、第1のクラスタとは異なる第2のクラスタにグループ化され得る。クラスタは、時間的関係及び空間的関係の一方又は両方に基づいて定義され得る。空間的関係は、イベントの相対的な位置(例えば、イベント間の距離等)に依存し得る。時間的関係は、マップ/クラスタ生成プロセスの時間関連パラメータによって定義され得る。例えば、時間的関係は、以下に説明するように、イベント又は情報報告の有効期限に基づき得る。開示される実施形態によれば、イベントのこの空間的編成を支援するために、現実世界の特定の領域は、セルと呼ばれるサブ領域に細分され得る。セルは、サーバにアクセス可能な、又はサーバに含まれるデータベースの一部として記憶され得る。開示されるシステム及び方法は、各セルのセルサイズを確立し得る。幾つかの実施形態では、セルは、指定されたサイズを有する現実世界の位置に対応するメートル単位のサイズ(例えば、2平方メートル、5平方メートル、10平方メートル、50平方メートル、100平方メートル等)を有し得る。セルサイズは、GPS等のシステムの位置精度に基づき得る。例えば、位置の精度が上がると、セルのサイズを縮小させ得る(例えば、1平方メートル未満、0.5平方メートル等)。幾つかの実施形態では、セルのサイズは、データ密度の考慮事項に依存し得る。例えば、農村部では、都市部とは対照的に、より大きなセルサイズを有し得る。別の例として、より混雑している交通渋滞に関連付けられた道路の部分は、より混雑していない部分とは対照的に、より小さなセルサイズを有し得る。セルのサイズは、イベントのタイプ、報告の密度、地域の規制、ユーザの好み、車両に搭載されたシステムの状態及び/又は機能、又はホスト車両を取り巻く他の道路ユーザ(例えば、完全にAVモードであるか、又は、より制限されたドライバー支援モードのみであるか等)に基づいて決定され得る。
【0203】
更に、セルは任意の適切な形状を有し得る。例えば、地域(例えば、市、町、州、国、管轄区域等)は、正方形、長方形、三角形、六角形等のセルに分割され得る。
図12は、開示される実施形態による、例示的なセル構成を示す。幾つかの実施形態では、セルは、三角形のセルパターン1210、正方形のセルパターン1220、又は六角形のセルパターン1230等の規則的なテッセレーションを形成できる形状を有し得る。幾つかの実施形態では、セルサイズと同様に、セル形状は、データ密度又は他の考慮事項に応じて変化し得る。例えば、より混雑している交通渋滞に関連付けられた都市部では正方形のセルを有し得て、農村部ではより大きな長方形のセルを有し得る。
【0204】
幾つかの実施形態では、セルは、識別子(例えば、一意の英数字の識別子)、位置、及びタイムスタンプを含み得る。更に、幾つかの実施形態では、セルは、セルが属するクラスタの識別子を含み得る。幾つかの実施形態では、セルはまた、関連付けられた有効期限を有し得る。有効期限は、セル内の位置で報告されたイベントが有効であると見なされる期間を表し得る。例えば、有効期限は、セル内の位置でのイベントを識別する情報報告が受信されたときに開始され得る。セルの有効期限が切れた後(有効期限が経過したとき)、イベントに関連付けられた条件が存在しなくなったと見なされ得る。従って、そのセルについてイベントが検証又は確認されるまで、セルはクラスタから削除され得て、そのセルは、新しいイベントとして定義され得る。
【0205】
セルの有効期限の長さは、様々な要因に依存し得る。幾つかの実施形態では、期間は、その位置で報告されたイベントのタイプに依存し得る。イベントのタイプは、特定の物体タイプに基づき得る。物体のタイプを識別することにより、その時間的又は動的な特性を暗黙的に推測し得る。例えば、道路の歩行者に関連付けられたイベントは、検出された穴に関連付けられたイベントよりも一時的であると見なされ得る。従って、報告された歩行者に関連付けられたセルの有効期限は比較的短くなり得る。他の実施形態では、時間的又は動的特性は、1つ又は複数の報告エンティティによって測定された物体の動きの速度等の直接測定から推測され得る。幾つかの実施形態では、有効期限は、セルの位置に少なくとも部分的に依存し得る。例えば、歩行者の通行量は多いが車両の通行量が比較的少ない領域のセルは、通常、有効期限が長くなり得る。更に、幾つかの実施形態では、所与のセルの有効期限は、履歴データに依存し得る。例えば、混雑している交通渋滞の道路沿いに位置するセルは、より長い報告イベントに頻繁に関連付けられ得る。従って、セルは、セル内で以前に報告されたイベントの予想される期間に近い、より長い既定の有効期限を作成し得る。幾つかの実施形態では、有効期限の期間は、時刻、曜日、時期、又は任意の他の関連する時間情報等、報告されたイベントの時間に依存し得る。例えば、平日のラッシュアワーに発生するイベントは、週末又は休日に発生するイベントとは異なる有効期限を有し得る。有効期限の期間に影響を与え得る他の要因には、現在の天候、イベントを報告する車両のタイプ、イベントに関与する車両のタイプ、イベントを報告する車両の数、報告車両がイベントに対して走行している方向、又は関連し得る任意の他の要因が含まれ得る。幾つかの実施形態では、有効期限は動的であり得る。例えば、同じイベントの追加報告が受信されると、イベントに関連付けられたセルの有効期限がリセット及び/又は調整され得る。
【0206】
1つの実施形態では、サーバは、ホスト車両から報告を受信し、報告に関連付けられたデータを、報告で指定された位置を含む特定のセルに割り当て得る。例えば、受信される情報報告が特定のGPS座標で検出された穴に関連している場合、サーバは、どのセルがGPS座標で指定された位置を含むかを判断し得る。検出された穴は、決定されたセルに関連付けられ得る。次いで、サーバは周囲のセルを照会して、新しい報告が群内の1つ又は複数の他の車両によって以前に報告されたイベントに関連しているかどうかを判断し得る。例えば、正方形又は長方形の規則的なマトリックス内の長方形又は正方形の形状のセルの場合、開示されるシステム及び方法は、そのセルに隣接する8つの周囲のセルを照会し得る。サーバが、(例えば、イベントの位置が近い、又は少なくとも1つの報告された特性が共通しているという理由で)周囲のセルが同じイベントに関連する報告又はクラスタに関連付けられていると判断した場合、開示されるシステム及び方法は、受信報告を既存の報告/クラスタと組み合わせて、集約されたクラスタ(例えば、グループ)を作成し得る。クラスタは、例えば、クラスタが属するセルの識別子を含み得る。一方、周囲のセルが同じイベントに関連する報告を記憶しない場合、開示されるシステム及び方法は、セルの新しいクラスタを作成し得る。
【0207】
イベント報告をクラスタ化すると、イベント位置の決定の精度を向上させることが可能になり得る。例えば、より多くのイベント報告が受信され、同じイベントに関連していると判断されると、それらのイベントに対して検出及び報告された関連付けられた位置が集約され、イベントの洗練された位置が提供され得る。場合によっては、例えば、同じイベント(すなわち、同じクラスタの一部)に関連する複数の車両から報告を受信した後、開示されるシステム及び方法は、位置の精度を高めるために、クラスタ内で検出されたイベントについて報告された位置を平均化し得る。従って、クラスタは、2つ以上の情報報告からの位置情報の平均を表すイベントの位置情報を記憶し得る。幾つかの実施形態では、クラスタデータベースの各行は、1つの情報報告を提供し得る(例えば、クラスタは、C1等のクラスタ識別子によって表され得て、平均X位置、平均Y位置、及びクラスタに関連付けられたセルの数を表すカウントを提供し得る)。
【0208】
幾つかの実施形態では、開示されるシステム及び方法は、クラスタをマージし得る。例えば、開示されるシステム及び方法が、以前に確立された2つのクラスタが2つの異なるイベントを表さず、1つのイベントを参照していると判断した場合、クラスタはマージされ得る。これらのクラスタのデータもマージされ、マージされたクラスタの位置情報が平均化され得る。このようなマージは、検出されたイベント間のリンクを示唆する少なくとも1つの情報報告の受信に基づき得る。
【0209】
例えば、幾つかの実施形態では、開示されるシステム及び方法は、更に2つのクラスタのイベント間の共通性を決定し、イベントが1つのイベントを参照すると結論付け、クラスタをマージし得る。クラスタのマージは、特定のクラスタのデータベースエントリが統合されるように、データベース(例えば、クラスタに関連するデータベース)を更新することを含み得る。例えば、C1及びC2というクラスタ識別子を有し、各クラスタがデータベースエントリを有する、2つのクラスタについて検討する。C1及びC2の各データベースエントリは、平均X位置値、平均Y位置値、及びカウント(例えば、クラスタに関連するイベントの数)を含み得る。システムがC1及びC2を統合クラスタにマージすべきだと判断した後、システムは、C1及びC2をC1の修正版に置き換え得る(例えば、C1及びC2は、データベース内で修正されたC1に折りたたまれる)。修正されたC1は、イベントの数に応じて(例えば、マージ前の各クラスタ、C1及びC2の「カウント」情報に基づいて)、位置情報の加重平均を記憶し得る。従って、システムは、この計算に基づく加重平均位置情報(例えば、新しい平均X位置値及び新しい平均Y位置値)を、修正されたカウント値(例えば、C1及びC2のカウントの合計)と共に修正されたC1に記憶し得る。他の実施形態では、データベースは、各セル、各報告されたイベント、又は他の適切な構成のエントリを含み得る。当業者であれば、同様の手順を使用して、任意の2つ以上のクラスタの情報を、マージされたクラスタを表す修正されたクラスタにマージし得ることを認識するであろう。
【0210】
幾つかの実施形態では、開示されるシステム及び方法は、どのクラスタがどのセルに属するかを示す情報を記憶し得るセルデータベースを利用し得る。例えば、クラスタは交通渋滞等のイベントを表し得る。交通渋滞は時間の経過と共に拡大し、かなりの距離(例えば、数マイル又は数キロメートル)にまたがる車の列を発生させ得る。論じたように、セルデータベースは、クラスタに関連付けられたセルを示し得る。例えば、C1のクラスタ識別子を有するクラスタの場合、セルデータベースは、C1が隣接セルであり得るセル1、セル2、及びセル3を含むことを示し得る。更に、C1は交通渋滞を表し得る。従って、交通渋滞はセル1の位置から始まり、セル2を通過し、セル3の位置で終わり得る。この距離は、例えば、数マイルになり得る。従って、クラスタ(例えば、C1)の交通渋滞のナビゲーション報告を提供する場合、セルデータベースを調べることによって、システムは、イベント(例えば、交通渋滞)の開始点及び/又は終了点を決定し得る。幾つかの実施形態では、イベントの開始点及び/又は終了点は、群内の特定の位置又は車両(例えば、交通渋滞は特定の位置から5マイルのところで始まるか、群内の特定の車両の現在の位置から5マイル離れている)に関連して、交通渋滞の終了点(例えば、交通渋滞の終点は、特定の位置から8マイル離れているか、群内の特定の車両の現在の位置から8マイル離れている)は、開始点から3マイルであると決定され得る。
【0211】
図13A~
図13Gは、開示される実施形態による、実行され得る例示的なクラスタ化動作を示す。例えば、
図13A~
図13Gに示すクラスタ化は、道路に沿って検出された交通渋滞又はその他のイベントを表し得る。
図13Aに示すように、データベースは、クラスタ1310及び1320を含み得て、これらは、それぞれ関連付けられたクラスタID C1及びC2を有し得る。クラスタ1310及び1320は、経路1301によって表されるように、道路に沿って配置され得る。経路1301は、上述したように、疎なマップ内の目標軌道を表し得る。示すように、クラスタ1310は、報告されたイベントに関連付けられた3つのセルを含み得て、クラスタ1320は、報告されたイベントに関連付けられた2つのセルを含み得る。追加の情報報告が受信されると、クラスタ1310及び1320が更新され得る。例えば、
図13Bに示すように、セル1321及び1322内の位置について、(これらのセル内の薄い陰影で示すように)追加のイベント報告が受信され得る。追加のセル1321及び1322は、クラスタ1310に関連付けられたイベントと、クラスタ1320に関連付けられたイベントとの間のリンクを示し得る。従って、
図13Cに示すように、クラスタ1310及び1320をマージして、クラスタ1330を形成し得る。上記で論じたように、共通のクラスタIDが、マージされたクラスタに割り当てられ得る。例えば、マージされたクラスタ1330には、
図13Cに示すように、C1のクラスタIDが割り当てられ得る。従って、以前のクラスタ1320のセルに関連付けられたデータベースエントリは、マージされたクラスタIDを反映するように更新され得る。
【0212】
クラスタC1は、時間の経過と共に、及び/又は追加の情報報告が受信されたときに、動的に調整され得る。例えば、C1は、クラスタ内のセルの有効期限が切れたとき、及び新しいセルが追加されたときに、動的に調整され得る。
図13Dに示すように、セル1331及び1332は、期限切れになり得る。例えば、セル1331及び1332は、(これらのセルの濃い陰影で示すように)有効期限切れであり得る。それらの位置に関連付けられた報告されたイベント条件はもはや存在しない(例えば、交通渋滞が解消された)と想定され得る。セル1331及び1332は、クラスタ1330から削除され得て、クラスタC1のデータベースエントリは、それに応じて更新され得る。更に、セル1333及び1334内で報告されたイベントを含む新しい情報報告を受信し得る。報告されたイベントは、クラスタ1330に関連付けられていると判断され得て、従って、クラスタID C1に関連付けられ得る。
図13Eに示すように、セル1331及び1332は、クラスタ1330から除去され得て、セル1333及び1334が追加され得る。従って、開示される方法を使用して、一貫したクラスタIDが、クラスタC1に関連付けられたイベントについて報告され得る。
【0213】
更に、幾つかの実施形態では、クラスタは、2つ以上のクラスタに分割され得る。例えば、2つ以上のイベントがリンクされなくなり、それらのそれぞれのセルが、もはや同じクラスタ識別子に関連付けられていないと判断され得る。従って、データベースエントリを更新し得るか、又は別個のクラスタを反映するために新しいデータベースエントリを生成し得る。幾つかの実施形態では、クラスタは、セルが期限切れになるときに分割され得る。例えば、
図13Fに示すように、セル1335及び1336は、それらの有効期限の終わりに到達し得る。従って、
図13Gに示すように、セル1335及び1336は、クラスタ1330から除去され得る。これにより、2つの異なるクラスタ1340及び1350が生じ得る。幾つかの実施形態では、クラスタ1340及び1350のクラスタ識別子C1が維持され得る。例えば、報告されたイベントのタイプ、イベント間の以前の関連付け、比較的近いイベントの位置、又は他の要因に基づいて、クラスタ1340及び1350が同じイベントに関連付けられ、同じ識別子を維持すべきであると判断され得る。他の実施形態では、別個のクラスタ識別子をクラスタ1340及び1350に割り当て得る。例えば、
図13Gに示すように、クラスタ1340にはクラスタ識別子C1が割り当てられ得て、クラスタ1350にはクラスタ識別子C2が割り当てられ得る。幾つかの実施形態では、C3及びC4等の新しい一意のクラスタ識別子を使用し得る。
【0214】
図14は、開示される実施形態による、複数の車両から受信される情報報告を集約するための例示的なプロセス1400を示すフローチャートである。プロセス1400は、サーバに含まれる少なくとも1つの処理デバイスによって実行され得る。幾つかの実施形態では、非一時的なコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサにプロセス1400を実行させる命令を含み得る。プロセス1400は例として提供されており、必ずしも
図14に示すステップに限定されるものではない。本開示を通して記載される様々な実施形態の任意のステップ又はプロセスもまた、プロセス1400に含まれ得る。
【0215】
ステップ1410において、プロセス1400は、第1の車両から、情報車両報告を受信することを含み得る。情報車両報告は、ホスト車両の環境において検出されたイベント及びイベントの位置を識別する情報を含み得る。幾つかの実施形態では、検出されたイベントを識別する情報は、ホスト車両に搭載されたカメラから捕捉される1つ又は複数の画像を含み得る。代替又は追加として、検出されたイベントを識別する情報は、ホスト車両に搭載されたカメラによって捕捉される画像から導出される情報を含み得る。例えば、検出されたイベントを識別する情報は、イベントタイプ(例えば、停止車両、歩行者、霧、雨、交通渋滞、道路障壁、交通標識、道路マーク、穴等)、イベントの特性(例えば、停止車両のタイプ)、又は任意の他の適切なイベント識別情報を含み得る。更に別の例として、検出されたイベントを識別する情報は、ライダ点群、処理された画像から展開された点群、又はレーダ出力を含む。ホスト車両の環境でイベントの検出された位置は、GPS座標又は他のタイプの座標として含まれ得る。検出されたイベントの位置は、ホスト車両の環境内にあり得る。
【0216】
ステップ1420において、プロセス1400は、第1のセルに関連付けてデータベースに情報車両報告を記憶することを含み得る。第1のセルは、検出された位置を含む空間領域に関連付けられ得る。幾つかの実施形態では、第1のセルは、上記で論じたように、有効期限に関連付けられ得る。例えば、情報は、記憶された情報車両報告に関連付けられるか、又は情報車両報告を受信してから一定時間内に期限切れになるように設定され得る。幾つかの実施形態では、有効期限の期間は、検出されたイベントのタイプに基づく。有効期限の期間は、第1のセルの位置、情報車両報告に関連付けられた時間、第1のセルに関連付けられた履歴データ、又は他の情報等の他の要因に基づき得る。
【0217】
ステップ1430において、プロセス1400は、データベースに記憶された第2のセルを照会することを含み得る。幾つかの実施形態では、第2のセルは、第1のセルから所定の距離内にあり得る。幾つかの実施形態では、第2のセルは、第1のセルに隣接し得る。ステップ1440において、プロセス1400は、第2のセルが、検出されたイベントに関連付けられた情報クラスタに関連付けられているかどうかを判断することを含み得る。第2のセルが、検出されたイベントに関連付けられた情報クラスタに関連付けられているかどうかを判断することは、検出されたイベントを識別する情報を、第2のセルに関連付けて記憶された情報と比較することを含み得る。
【0218】
第2のセルがイベントも識別する情報に関連付けられている場合、ステップ1450において、プロセス1400は、第1のセルの情報車両報告を第2のセルに関連付けられた情報クラスタと集約して、集約されたクラスタを提供することを含み得る。幾つかの実施形態では、ステップ1450は、集約されたクラスタを第2のセルに関連付けられたクラスタ識別子に関連付けることを更に含み得る。ステップ1460において、プロセス1400は、集約されたクラスタに関連付けられた情報に基づいて、検出されたイベントのイベント報告を生成することを含み得る。幾つかの実施形態では、第1のクラスタに関連付けられた情報に基づいてイベントの第1のイベント報告を生成することは、ホスト車両の環境内の位置を第2のセルに関連付けられた位置と平均化することを含み得る。
【0219】
第2のセルが、イベントを識別する情報に関連付けられていない場合、ステップ1470において、プロセス1400は、記憶された情報車両報告に基づいて、検出されたイベントのイベント報告を生成することを含み得る。次いで、プロセス1400は、イベント報告(ステップ1460又は1470のいずれかで生成された)をホスト車両に送信するステップ1480に進み得る。第1のイベント報告又は第2のイベント報告は、ネットワークを介して複数の車両に送信され得る。例えば、ネットワークは、インターネット又はセルラネットワークを含み得る。
【0220】
幾つかの実施形態では、
図14に示すものに加えて、1つ又は複数の追加のステップを実行し得る。例えば、幾つかの実施形態では、プロセス1400は、データベースに記憶された第3のセルを照会することを更に含み得る。第3のセルは、集約されたクラスタに関連付けられ得て、第1のセルと第2のセルとの間に配置され得る。プロセス1400は更に、第3のセルの有効期限が切れたことを決定することを含み得る。従って、プロセス1400は、集約されたクラスタを、第1のセルに関連付けられた第1のクラスタと、第2のセルに関連付けられた第2のクラスタとに分離することを含み得る。従って、上記で更に詳細に説明したように、クラスタを分割し得る。
【0221】
別の実施形態による、複数の車両にイベントを報告するための方法は、第1のホスト車両から、第1のホスト車両報告を受信することを含み得る。第1のホスト車両報告は、第1のホスト車両の環境における第1のイベント及び第1の位置を識別する情報を含み得る。方法は、第1のセルに関連付けてデータベースに第1のホスト車両報告を記憶することを更に含み得る。第1のセルは、第1の位置を含む領域に関連付けられ得る。
【0222】
方法は、第2のホスト車両から第2のホスト車両報告を受信することを含み得る。第2のホスト車両報告は、第2のホスト車両の環境における第2のイベント及び第2の位置を識別する情報を含み得る。方法は、第2のセルに関連付けてデータベースに第2のホスト車両報告を記憶することを含み得る。第2のセルは、第2の位置を含む領域に関連付けられ得る。幾つかの実施形態では、第1のセルは、第2のセルから所定の距離内にあり得る。
【0223】
方法は、第1のイベントを識別する情報及び第2のイベントを識別する情報を分析して、第1のイベント及び第2のイベントが関連していることを決定することを含み得る。第1のイベントを識別する情報及び第2のイベントを識別する情報を分析することは、少なくとも1つの共通性を決定することを含み得る。例えば、少なくとも1つの共通点は、1台の停止車両又は複数の停止車両を含み得る。別の例として、少なくとも1つの共通点は、穴を含み得る。場合によっては、少なくとも1つの共通点は、検出された状態の特性(例えば、両方の報告に赤いコートを着た歩行者が含まれる)に関連し得て、以前に関連付けられていなかった2つのイベントの位置は、以前に決定された2つの位置の間の新しい位置の決定によって(例えば、単一のイベントの実際の位置が以前に決定された2つの位置の間で発生することを示唆する)、又は、以前は関連付けられていなかった2つのイベントが同じイベントを参照していることを示唆する任意の他の特性に基づいてリンクされる。
【0224】
第1のセル(例えば、空間内の第1の物理的位置)に関連付けられたイベント又はクラスタと、第1のセルとは異なる第2のセルに関連付けられた別のイベント又はクラスタが関連すると判断される場合、関連するイベント/クラスタを集約できる。集約されたイベント/クラスタは、関連するイベント/クラスタに関連付けられる可能性が高い物理的な位置の決定に基づいて、第1のセル又は第2のセルのいずれかに関連付けられ得る(例えば、関連付けられた位置の平均は、集約前のイベント/クラスタが2つ以上の異なるセルに関連付けられていた場合でも、集約されたイベント/クラスタを2つのセルのいずれかに配置し得る)。集約されたクラスタのイベント報告が生成され得る。幾つかの実施形態では、クラスタのイベント報告を生成することは、第1の位置及び第2の位置を平均化することを含み得る。他の実施形態では、クラスタのイベント報告を生成することは、第1のイベントを識別する情報及び第2のイベントを識別する情報を分析することを含み得る。方法は、複数の車両がナビゲーション動作を決定する際に使用し得るナビゲーション報告として、イベント報告を複数のホスト車両に送信することを更に含み得る。
【0225】
クラスタ化されたイベント/条件に基づくナビゲーション報告の生成は、任意の適切な間隔で行われ得る。道路内又は道路外の新しい位置に移動し続ける可能性が高い、道路で検出された歩行者等の非常に一時的なイベントの場合、ナビゲーション報告は、一時的でないイベント条件(例えば、検出された穴)よりも頻繁に生成され得る。言い換えれば、単一の検出された穴に関連する多くのイベント報告は、ナビゲーション報告又は更新されたナビゲーション報告を車両に送信する前に集約され得る。一方、単一の検出された歩行者に関連するより少ないイベント報告は、検出された歩行者に関連するナビゲーション報告を生成する前に集約され得る。場合によっては、特定のイベント/条件タイプが、ナビゲーション報告生成の所定の滞留時間に関連付けられ得る。例えば、検出された歩行者等の一時的な条件に基づいてナビゲーション報告を生成するための滞留時間は、検出された穴等のより一時的でない条件に基づいてナビゲーション報告を生成するための滞留時間よりも短くなり得る。更に、滞留時間は、上記で論じたように、有効期限の期間と同様の要因に基づき得る。例えば、滞留時間は、イベントの位置、イベントに関連付けられた時間等に基づき得る。
【0226】
先に論じたように、クラウドソーシングされた道路イベント/条件情報を受信し、受信した情報を関連するイベント/条件クラスタに集約し、集約されたクラスタに基づいてナビゲーション報告を生成するための開示されるシステム及び方法は、ホスト車両が、ホスト車両のセンサのみに基づいただけの他の方法で入手可能な情報よりも豊富な情報に基づいてナビゲーション決定を行うことを可能にし得る。例えば、幾つかの実施形態では、第1のホスト車両及び第2のホスト車両は、道路に沿って反対方向に走行し得る。両方が、共通のイベント(例えば、道路で停止している車両)を経験し得て、両方が、検出されたイベントに関連する情報報告を生成し、生成された報告をサーバベースのシステムに送信し得る。サーバベースのシステムは、イベント報告を共通のクラスタに集約し得る(例えば、第1のホスト車両及び第2のホスト車両によって検出された停止車両の検出された位置が共通のセル内にあるという判断に基づく)。第1のホスト車両及び第2のホスト車両が、停止している車を異なる視点から(例えば、第1の車両が停止車両の後方に向かって走行しながら、及び第2の車両が停止車両の前方に向かって走行しながら)検出したため、それぞれのホスト車両によって生成されたイベント報告には、停止車両が交通渋滞の一部ではないことをサーバが判断するために使用し得る情報が含まれ得る。例えば、停止車両の前方に接近しているホスト車両は、停止車両の前方に他の車両が存在しないと報告し得る。その報告に基づいて(又は、停止車両の前方の位置で他の停止車両の前方に接近しているホスト車両による報告がない場合でも)、サーバは、停止車両が交通渋滞の一部ではないと判断し得る。サーバは、この判断に基づいてナビゲーション報告を生成し、両方のホスト車両に転送し得る。停止車両は交通渋滞の一部ではない(接近するホスト車両が、停止車両が停止車両の前方にある1つ又は複数のセンサの視野を遮ったかどうかを単独で判断できなかった可能性がある条件)ため、後方から停止車両に接近する車両は、この情報を利用して、停止車両の周りをナビゲートすることが適切であると判断し得る。他の実施形態では、第1のホスト車両及び第2のホスト車両は、互いに所定の距離内を走行し得る。更に他の実施形態では、第1のホスト車両は、第2の車両に搭載されたカメラの視野内にあり得る。
【0227】
図15は、開示される実施形態による、複数の見晴らしの良い地点に基づいてイベント報告を集約するための例示的な環境1500を示す。環境1500は、車両1520が停止している道路を含み得る。
図15に示すように、ホスト車両1510は、停止車両1520に後方から接近し得て、停止車両1520を検出し得る。ホスト車両1510は、停止車両1520を識別する情報報告を生成し得る。上記で論じたように、ホスト車両1510は、停止車両1520が単一の停止車両であるかどうか、又は停止車両1520が交通渋滞の一部であるかどうかを判断できない場合がある。上述した技術に基づいて、追加の車両からの情報は、イベントの性質に関する更にコンテキストを提供し得る。例えば、ホスト車両1510及び停止車両1520と反対の方向に道路に沿って走行し得るホスト車両1530は、停止車両1520を検出し得る。ホスト車両1530は、停止車両1520を識別する情報報告を生成し得る。ホスト車両1530の情報報告で識別されたイベントは、上述した方法を使用して、ホスト車両1510によって識別されたイベントとクラスタ化され得る。ホスト車両1530の情報報告及びホスト車両1530が停止車両1520の前方の停止車両を報告していなかったという事実に基づいて、停止車両1520は、単独の停止車両であると判断され得る。従って、停止車両1520が交通渋滞の一部ではないことを示すナビゲーション報告をホスト車両1510に送信し得る。従って、ホスト車両1510は、停止車両1520の周りをナビゲートし得る。
【0228】
図16は、開示される実施形態による、複数の車両から受信される情報報告を集約するための例示的なプロセス1600を示すフローチャートである。プロセス1600は、サーバに含まれる少なくとも1つの処理デバイスによって実行され得る。幾つかの実施形態では、非一時的なコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサにプロセス1600を実行させる命令を含み得る。プロセス1600は例として提供されており、必ずしも
図16に示すステップに限定されるものではない。本開示を通して記載される様々な実施形態の任意のステップ又はプロセスもまた、プロセス1600に含まれ得る。
【0229】
ステップ1610において、プロセス1600は、第1の車両から第1のイベント報告を受信することを含み得る。第1のイベント報告は、道路で検出された停止車両に関連し得る。第1のイベント報告は、上述したような情報報告であり得る。幾つかの実施形態では、イベント報告は、第1の車両に搭載された1つ又は複数のカメラから捕捉された画像を含み得る。他の実施形態では、第1のイベント報告は、1つ又は複数の捕捉された画像から導出された情報を含み得る(例えば、捕捉された画像のプロセッサベースの画像分析に基づく)。第1のイベント報告は、位置情報(例えば、GPS情報)、1つ又は複数のライダデバイスからのライダ点群、レーダ出力、識別された道路特徴又は道路条件(例えば、識別された道路マーク及び対応する位置、穴及び対応する位置、停止車及び対応する位置、歩行者及び対応する位置)、又はその他の関連情報等、その他の情報を含み得る。幾つかの実施形態では、第1の車両は、停止車両の前方の位置から停止車両に接近している間に停止車両を検出し得る。例えば、第1の車両は、
図15に関して上述したように、ホスト車両1530に対応し得る。ホスト車両1530は、停止車両の前方の位置から停止車両1520に接近している間に、停止車両1520を検出し得る。幾つかの実施形態では、第1の車両は、他の位置、例えば、停止車両の側への位置等から、停止車両に接近し得る。
【0230】
ステップ1620において、プロセス1600は、第2の車両から第2のイベント報告を受信することを更に含み得る。第2のイベント報告は、道路内の停止車両に関する。第2のイベント報告は、第1のイベント報告と同様のタイプであり得る。従って、第2のイベント報告は、第1のイベント報告に関して上述した情報のいずれかを含み得る。第2の車両は、停止車両の後方の位置から停止車両に接近している間に停止車両を検出し得る。例えば、第2の車両は、ホスト車両1510に対応し得て、
図15に示すように、停止車両1520の後方の位置から停止車両1520を検出し得る。幾つかの実施形態では、第2の車両は、搭載されたセンサを使用して、停止車両が交通渋滞の一部であるかどうかを判断できない場合がある。例えば、停止車両は、カメラ、ライダセンサ、又は第2の車両の他のセンサの視野を少なくとも部分的に遮り、第2の車両(例えば、第2の車両に搭載されたプロセッサ)が停止車両の前に追加の車両が停止しているかどうかを判断できない場合がある。
【0231】
ステップ1630において、プロセス1600は、第1のイベント報告と第2のイベント報告との間の少なくとも1つの差に基づいて、停止車両が交通渋滞の一部ではないことを判断することを含み得る。例えば、第1のイベント報告と第2のイベント報告との間の差は、第1のイベント報告には停止車両の前に他の車両が停止していないことが示されていることを含み得る。例えば、停止車両の前方の位置から停止車両に接近する場合、第1の車両は、停止車両の前で停止している車両を検出しない場合があり、これは第1のイベント報告に示され得る。幾つかの実施形態では、第1のイベント報告は、停止車両が交通渋滞の一部ではないことを示す他の情報を含み得る。例えば、第1の車両に搭載されたカメラによって捕捉された画像に基づいて、第1のイベント報告は、停止車両が停止していること、道路の障害物が原因で停止していること、一時的に駐車していること(例えば、荷物の配送等)、サービス車両であること(例えば、緊急車両、道路清掃車両、ユーティリティサービス車両、スクールバス等)、建設プロジェクトの一部であることを示す情報、又は車両が交通渋滞の一部ではないことを示す任意の他の指標を含み得る。
【0232】
ステップ1640において、プロセス1600は、判断に基づいて、停止車両が交通渋滞の一部ではないことを示すクラスタ化されたイベント報告に第1のイベント報告及び第2のイベント報告を集約することを含み得る。例えば、クラスタ化されたイベント報告は、プロセス1400又は
図13A~
図13Gに関して記載されている動作のいずれかに基づいて集約され得る。例えば、ステップ1640は、第1のイベント報告及び第2のイベント報告に関連付けられた情報を含むようにデータベースを更新することを含み得る。幾つかの実施形態では、ステップ1640は、集約されたクラスタ化されたイベント報告を、第1のイベント報告に関連付けられたクラスタ識別子に関連付けることを含み得る。
【0233】
ステップ1650において、プロセス1600は、停止車両が交通渋滞の一部ではないことを示すナビゲーション報告を生成することを含み得る。ナビゲーション報告は、集約されたクラスタ化されたイベントに含まれる、及び/又はそこから導出される情報を含み得る。例えば、ナビゲーション報告は、停止車両の位置、車両が停止している理由に関する情報(例えば、第1のイベント報告から導出された)、第1のイベント報告に関連付けられた時間、又は任意の他の関連情報を含み得る。幾つかの実施形態では、ナビゲーション報告は、第2の車両が停止車両の周りをナビゲートするための命令を含み得る。ステップ1660において、プロセス1600は、ナビゲーション報告を第2の車両に送信して、第2の車両に停止車両の周りをナビゲートするように促すことを含み得る。幾つかの実施形態では、ナビゲーション報告を送信することは、セルラネットワーク、インターネット、又は任意の他の形態のネットワーク等のネットワークを介してナビゲーション報告を送信することを含み得る。例えば、第2の車両は、上記で論じたように、無線送受信機172を介してナビゲーション報告を受信し得る。
【0234】
前述の説明は、例示の目的のために提示されたものである。これは網羅的ではなく、開示された正確な形態又は実施形態に限定されない。修正及び適合は、考察及び開示された実施形態の実施から当業者には明らかになるであろう。更に、開示される実施形態の態様は、メモリに記憶されていると説明されているが、これらの態様は、2次ストレージデバイス、例えば、ハードディスク又はCD ROM、又は他の形態のRAMもしくはROM、USBメディア、DVD、Blu-ray(登録商標)、4K Ultra HD Blu-ray、又はその他の光学ドライブメディア等他のタイプのコンピュータ可読媒体にも記憶できることを当業者なら理解するであろう。
【0235】
記載された説明及び開示された方法に基づくコンピュータプログラムは、経験豊富な開発者のスキル内である。様々なプログラム又はプログラムモジュールは、当業者に既知の技術のいずれかを使用して作成できるか、又は既存のソフトウェアに関連付けて設計できる。例えば、プログラムセクション又はプログラムモジュールは、.Net Framework、.Net Compact Framework(及び、Visual Basic(登録商標)、C等の関連言語)、Java(登録商標)、C++、Objective-C、HTML、HTML/AJAXの組み合わせ、XML、又はJavaアプレットを含むHTMLにおいて、又はこれらを使用して設計できる。
【0236】
更に、例示的な実施形態が本明細書に記載されているが、範囲には、本開示に基づいて当業者によって理解されるように、同等の要素、修正、省略、(例えば、様々な実施形態にわたる態様の)組み合わせ、適合、及び/又は変更を有する任意の及び全ての実施形態が含まれる。請求項における限定は、請求項で使用されている文言に基づいて広く解釈されるべきであり、本明細書に記載されている実施例又は本出願の審査中の実施例に限定されるものではない。実施例は非排他的であると解釈されるべきである。更に、開示された方法のステップは、ステップの並べ替え及び/又はステップの挿入又は削除を含む、任意の方法で変更され得る。従って、本明細書及び実施例は例示としてのみ考慮されることを意図しており、真の範囲及び精神は、以下の特許請求の範囲及びそれらの同等物の全範囲によって示される。
[項目1]
複数の車両から受信される情報報告を集約するためのシステムであって、前記システムが、
ホスト車両から情報車両報告を受信することであって、前記情報車両報告が、前記ホスト車両の環境において検出されたイベント及び前記イベントの検出された位置を識別する情報を含む、受信することと、
前記情報車両報告を、第1のセルに関連付けてデータベースに記憶することであって、前記第1のセルが、前記検出された位置を含む空間領域に関連付けられている、記憶することと、
前記データベースに記憶された第2のセルを照会することであって、前記第2のセルが、前記第1のセルから所定の距離内にある、照会することと、
前記第2のセルが、前記検出されたイベントに関連付けられた情報クラスタに関連付けられているかどうかを判断することと、
前記第2のセルが、前記検出されたイベントに関連付けられた情報クラスタに関連付けられている場合、
前記第1のセルの前記情報車両報告を前記第2のセルに関連付けられた前記情報クラスタと集約して、集約されたクラスタを提供することと、
前記集約されたクラスタに関連付けられた情報に基づいて、前記検出されたイベントのイベント報告を生成することと、
前記イベント報告を前記ホスト車両に送信することと、
前記第2のセルが、前記検出されたイベントに関連付けられた情報クラスタに関連付けられていない場合、
前記記憶された情報車両報告に基づいて、前記検出されたイベントの前記イベント報告を生成することと、
前記イベント報告を前記ホスト車両に送信することと、
を行うようにプログラムされる少なくとも1つのプロセッサを含む、システム。
[項目2]
前記検出されたイベントを識別する前記情報が、前記ホスト車両に搭載されたカメラから捕捉される画像を含む、項目1に記載のシステム。
[項目3]
前記検出されたイベントを識別する前記情報が、前記ホスト車両に搭載されたカメラによって捕捉される画像から導出される情報を含む、項目1に記載のシステム。
[項目4]
前記検出されたイベントを識別する前記情報が、ライダ点群又はレーダ出力を含む、項目1に記載のシステム。
[項目5]
前記検出されたイベントの位置が、前記ホスト車両の前記環境内にある、項目1から4のいずれか一項に記載のシステム。
[項目6]
前記第1のセルが有効期限に関連付けられている、項目1から5のいずれか一項に記載のシステム。
[項目7]
前記有効期限の期間が、前記検出されたイベントのタイプに基づく、項目6に記載のシステム。
[項目8]
前記少なくとも1つのプロセッサが、
前記データベースに記憶された第3のセルを照会することであって、前記第3のセルが、前記集約されたクラスタに関連付けられ、前記第1のセルと前記第2のセルとの間に位置することと、
前記第3のセルの有効期限が切れたと判断することと、
前記集約されたクラスタを、前記第1のセルに関連付けられた第1のクラスタと前記第2のセルに関連付けられた第2のクラスタに分離することと
を行うように更にプログラムされる、項目1から7のいずれか一項に記載のシステム。
[項目9]
前記少なくとも1つのプロセッサが、前記集約されたクラスタを前記第2のセルに関連付けられたクラスタ識別子に関連付けるように更にプログラムされる、項目1から8のいずれか一項に記載のシステム。
[項目10]
複数の車両から受信される情報報告を集約するための方法であって、前記方法が、
ホスト車両から情報車両報告を受信する段階であって、前記情報車両報告が、前記ホスト車両の環境において検出されたイベント及び前記イベントの検出された位置を識別する情報を含む、受信する段階と、
前記情報車両報告を、第1のセルに関連付けてデータベースに記憶する段階であって、前記第1のセルが、前記検出された位置を含む空間領域に関連付けられている、記憶する段階と、
前記データベースに記憶された第2のセルを照会する段階であって、前記第2のセルが、前記第1のセルから所定の距離内にある、照会する段階と、
前記第2のセルが、前記検出されたイベントに関連付けられた情報クラスタに関連付けられているかどうかを判断する段階と、
前記第2のセルが、前記検出されたイベントに関連付けられた情報クラスタに関連付けられている場合、
前記第1のセルの前記情報車両報告を前記第2のセルに関連付けられた前記情報クラスタと集約して、集約されたクラスタを提供する段階と、
前記集約されたクラスタに関連付けられた情報に基づいて、前記検出されたイベントのイベント報告を生成する段階と、
前記イベント報告を前記ホスト車両に送信する段階と、
前記第2のセルが、前記検出されたイベントに関連付けられた情報クラスタに関連付けられていない場合、
前記記憶された情報車両報告に基づいて、前記検出されたイベントの前記イベント報告を生成する段階と
前記イベント報告を前記ホスト車両に送信する段階と、
を含む、方法。
[項目11]
前記検出されたイベントを識別する前記情報が、前記ホスト車両に搭載されたカメラから捕捉される画像を含む、項目10に記載の方法。
[項目12]
前記検出されたイベントを識別する前記情報が、前記ホスト車両に搭載されたカメラによって捕捉される画像から導出される情報を含む、項目10に記載の方法。
[項目13]
前記検出されたイベントを識別する前記情報が、ライダ点群又はレーダ出力を含む、項目10に記載の方法。
[項目14]
前記検出されたイベントの前記位置が、前記ホスト車両の前記環境内にある、項目10から13のいずれか一項に記載の方法。
[項目15]
前記第1のセルが有効期限に関連付けられている、項目10から14のいずれか一項に記載の方法。
[項目16]
前記有効期限の期間が、前記検出されたイベントのタイプに基づく、項目15に記載の方法。
[項目17]
前記方法が、
前記データベースに記憶された第3のセルを照会する段階であって、前記第3のセルが、前記集約されたクラスタに関連付けられ、前記第1のセルと前記第2のセルとの間に位置する、照会する段階と、
前記第3のセルの有効期限が切れたと判断する段階と、
前記集約されたクラスタを、前記第1のセルに関連付けられた第1のクラスタと前記第2のセルに関連付けられた第2のクラスタに分離する段階と
を更に含む、項目10から16のいずれか一項に記載の方法。
[項目18]
前記方法が、前記集約されたクラスタを前記第2のセルに関連付けられたクラスタ識別子に関連付ける段階を更に含む、項目10から17のいずれか一項に記載の方法。
[項目19]
コンピュータに、項目10から18のいずれか一項に記載の方法を実行させる、プログラム。
[項目20]
複数の車両から受信される情報報告に基づいて、ホスト車両のナビゲーション報告を生成するためのシステムであって、前記システムが、
第1の車両から第1のイベント報告を受信することであって、前記第1のイベント報告が道路内で検出された停止車両に関連し、前記第1の車両が、前記停止車両の前方の位置から前記停止車両に接近している間に前記停止車両を検出する、受信することと、
第2の車両から第2のイベント報告を受信することであって、前記第2のイベント報告が前記道路内の前記停止車両に関連し、前記第2の車両が、前記停止車両の後方の位置から前記停止車両に接近している間に前記停止車両を検出する、受信することと、
前記第1のイベント報告と前記第2のイベント報告との間の少なくとも1つの差に基づいて、前記停止車両が交通渋滞の一部ではないことを判断することと、
前記判断に基づいて、前記第1のイベント報告及び前記第2のイベント報告を前記停止車両が交通渋滞の一部ではないことを示すクラスタ化されたイベント報告に集約することと、
前記停止車両が、交通渋滞の一部ではないことを示すナビゲーション報告を生成することと、
前記第2の車両に前記停止車両の周りをナビゲートするように促すために、前記ナビゲーション報告を第2の車両に送信することと
を行うようにプログラムされる少なくとも1つのプロセッサを含む、システム。
[項目21]
前記第1のイベント報告と前記第2のイベント報告との間の差は、前記第1のイベント報告には前記停止車両の前に他の車両が停止していないことが示されていることを含む、項目20に記載のシステム。