以下の詳細な説明では、添付の図面について言及する。可能な限り、同じ又は類似の部分を指すために、図面及び以下の説明では同じ参照番号が用いられる。いくつかの例示的な実施形態が本明細書で説明されるが、修正、適応及びその他の実装も可能である。例えば、図面に示される構成要素に対して、置換、追加又は修正が行われ得、本明細書で説明される例示的な方法は、開示される方法に対する段階を置き換え、並べ替え、除去し、又は、追加することにより修正され得る。したがって、以下の詳細な説明は、開示される実施形態及び例に限定されることはない。代わりに、適切な範囲が、添付の特許請求の範囲により定義される。
自律走行車両の概要
本開示において用いられるように、用語「自律走行車両」は、運転者の入力なしに、少なくとも1つのナビゲーションの変更を実施することが可能な車両を指す。「ナビゲーションの変更」は、車両のステアリング、ブレーキ又は加速のうちの1又は複数における変更を指す。自律的であるためには、車両は、完全に自動(例えば、運転者なし、又は、運転者の入力なしの完全な操作)である必要はない。むしろ、自律走行車両は、特定の期間の間に運転者の制御のもとで動作し、他の期間の間に運転者の制御なしで動作できるものを含む。自律走行車両はまた、車両ナビゲーションのいくつかの態様、例えば、(例えば、車両の車線制約間の車両のコースを保持する)ステアリングだけ制御するが、運転者に対する他の態様(例えば、ブレーキ)を残したままであり得る車両を含んでよい。場合によっては、自律走行車両は、車両のブレーキ、速度制御、及び/又は、ステアリングのうちの一部又はすべての態様を処理し得る。
人の運転者は、一般的に、車両を制御するために視覚的なきっかけ及び観測に頼っているので、したがって、交通インフラストラクチャは、車線標示、交通標識及び交通信号灯が運転者に視覚情報を提供するようにすべて設計された状態で形成される。交通インフラストラクチャのこれらの設計特性を考慮して、自律走行車両は、カメラと、車両の環境から取り込まれた視覚情報を解析する処理ユニットとを含み得る。視覚情報は、例えば、運転者により観測可能な交通インフラストラクチャの構成要素(例えば、車線標示、交通標識、交通信号灯など)、及び、他の障害物(例えば、他の車両、歩行者、ごみなど)を含み得る。さらに、自律走行車両はまた、格納された情報、例えば、ナビゲートするときに、車両の環境のモデルを提供する情報を用いてよい。例えば、車両は、GPSデータ、(例えば、加速度計、速度センサ、サスペンションセンサなどからの)センサデータ、及び/又は、他のマップデータを用いて、車両が走行している間の環境に関連する情報を提供してよく、車両は(他の車両と同様に)、当該情報を用いて、モデル上のそれ自身の位置を特定してよい。
本開示におけるいくつかの実施形態において、自律走行車両は、ナビゲートしている間に、(例えば、カメラ、GPSデバイス、加速度計、速度センサ、サスペンションセンサなどから)取得した情報を用いてよい。他の実施形態において、自律走行車両は、ナビゲートしている間に、車両による(又は、他の車両による)過去のナビゲーションから取得した情報を用いてよい。さらに他の実施形態において、自律走行車両は、ナビゲートしている間に取得した情報と、過去のナビゲーションから取得した情報との組み合わせを用いてよい。以下のセクションでは、開示される実施形態と矛盾しないシステムの概要を提供し、前向きの撮像システム及び当該システムと矛盾しない方法の概要が後に続く。その後に続くセクションは、自律走行車両のナビゲーションに対するスパースマップを構築、使用及び更新するためのシステム及び方法を開示する。
システムの概要
図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又は複数の有線及び/又は無線リンクを含み得る。
無線トランシーバ172は、無線周波数、赤外線周波数、磁界又は電界を用いて、1又は複数のネットワーク(例えば、セルラー、インターネットなど)に、エアインタフェースを介した伝送をやり取りするように構成される1又は複数のデバイスを含み得る。無線トランシーバ172は、任意の既知の規格(例えば、Wi-Fi(登録商標)、Bluetooth(登録商標)、Bluetooth Smart(登録商標)、802.15.4、ZigBee(登録商標)など)を用いて、データを伝送及び/又は受信してよい。そのような伝送は、ホスト車両から1又は複数の離れて配置されたサーバへの通信を含み得る。そのような伝送はまた、ホスト車両と、(例えば、ホスト車両の環境にいるターゲット車両を考慮して又はこれと一緒に、ホスト車両のナビゲーションの調整を容易にするために、)ホスト車両の環境にいる1又は複数のターゲット車両との間の通信(一方向又は双方向)、又は、伝送車両の近傍にいる不特定の受信者へのブロードキャスト伝送を含んでよい。
アプリケーションプロセッサ180及び画像プロセッサ190の両方は、様々なタイプの処理デバイスを含んでよい。例えば、アプリケーションプロセッサ180及び画像プロセッサ190のいずれか又は両方は、マイクロプロセッサ、プリプロセッサ(例えば、画像プリプロセッサ)、グラフィック処理ユニット(GPU)、中央処理装置(CPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ、又は、アプリケーションの実行、及び、画像処理及び解析に適した任意の他のタイプのデバイスを含んでよい。いくつかの実施形態において、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、任意のタイプのシングル又はマルチコアプロセッサ、モバイルデバイスマイクロコントローラ、中央処理装置などを含んでよい。例えば、インテル(登録商標)、AMD(登録商標)などの製造業者から入手可能なプロセッサ、又は、NVIDIA(登録商標)、ATI(登録商標)などのような製造業者から入手可能なGPUなどを含む様々な処理デバイスが用いられてよく、様々なアーキテクチャ(例えば、x86プロセッサ、ARM(登録商標)など)を含んでよい。
いくつかの実施形態において、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、モービルアイ(登録商標)から入手可能なプロセッサチップのEyeQシリーズのいずれかを含んでよい。これらのプロセッサの設計はそれぞれ、ローカルメモリ及び命令セットを有する複数の処理ユニットを含む。そのようなプロセッサは、複数の画像センサから画像データを受信するためのビデオ入力を含んでよく、また、ビデオ出力機能を含んでよい。一例において、EyeQ2は、332MHzで動作する90nm-ミクロン技術を用いる。EyeQ2アーキテクチャは、2つの浮動小数点、ハイパースレッド32ビットRISC CPU(MIPS32 34K コア)、5つのVision-Computing-Engines(VCE)、3つのVector-Microcode Processor(VMP)、Denali-64ビットモバイルDDRコントローラ、128-ビットのインターナルSonicsインターコネクト、16ビットのデュアルビデオ入力及び18ビットのビデオ出力コントローラ、16チャネルDMA、及びいくつかの周辺機器で構成される。MIPS34K CPUは、5つのVCE、3つのVMP及びDMA、第2のMIPS34K CPU、及び、マルチチャネルDMA並びに他の周辺機器を管理する。5つのVCE、3つのVMP及びMIPS34K CPUは、マルチファンクションバンドルアプリケーションにより要求される集中的な視覚計算を実行できる。別の例では、第三世代プロセッサであり、かつ、EyeQ2よりも6倍以上高性能であるEyeQ3が、開示される実施形態において用いられ得る。他の例では、EyeQ4及び/又はEyeQ5が、開示される実施形態において用いられ得る。もちろん、任意の新しい又は将来のEyeQ処理デバイスが、開示される実施形態と一緒に用いられてもよい。
本明細書で開示される処理デバイスのいずれかが、特定の機能を実行するように構成され得る。処理デバイス、例えば、説明したEyeQプロセッサ又は他のコントローラ又はマイクロプロセッサのいずれかを構成して特定の機能を実行することは、コンピュータ実行可能な命令をプログラミングすること、及び、処理デバイスの動作中の実行のために、処理デバイスに対してそれらの命令を利用可能にすることを含んでよい。いくつかの実施形態において、処理デバイスを構成することは、アーキテクチャ命令で処理デバイスを直接的にプログラミングすることを含んでよい。例えば、処理デバイス、例えば、フィールドプログラマブルゲートアレイ(FPGA)及び特定用途向け集積回路(ASIC)などは、例えば、1又は複数のハードウェア記述言語(HDL)を用いて構成され得る。
他の実施形態において、処理デバイスを構成することは、動作中に処理デバイスにアクセス可能なメモリに実行可能な命令を格納することを含んでよい。例えば、処理デバイスは、動作中に、メモリにアクセスして、格納した命令を取得して実行してよい。いずれにしても、本明細書で開示されるセンシング、画像解析及び/又はナビゲーション機能を実行するように構成される処理デバイスは、ホスト車両の複数のハードウェアベースのコンポーネントの制御する専用のハードウェアベースのシステムを表す。
図1は、処理ユニット110に含まれる2つの別個の処理デバイスを示すが、より多く又はより少ない処理デバイスが用いられてよい。例えば、いくつかの実施形態において、単一の処理デバイスが、アプリケーションプロセッサ180及び画像プロセッサ190のタスクを遂行するために用いられてよい。他の実施形態において、これらのタスクは、2つより多くの処理デバイスにより実行されてよい。さらに、いくつかの実施形態において、システム100は、他のコンポーネント、例えば、画像取得ユニット120を含まない1又は複数の処理ユニット110を含んでよい。
処理ユニット110は、様々なタイプのデバイスを有してよい。例えば、処理ユニット110は、コントローラ、画像プリプロセッサ、中央処理装置(CPU)、グラフィック処理ユニット(GPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ、又は、画像処理及び解析用の任意の他のタイプのデバイスなどの様々なデバイスを含んでよい。画像プリプロセッサは、画像センサからの画像を取り込み、デジタル化して処理するビデオプロセッサを含んでよい。CPUは、任意の数のマイクロコントローラ又はマイクロプロセッサを有してよい。GPUは、任意の数のマイクロコントローラ又はマイクロプロセッサを有してもよい。サポート回路は、キャッシュ、電力供給、クロック、及び、入力-出力回路を含む、この技術分野で一般によく知られている任意の数の回路であってよい。メモリは、プロセッサにより実行された場合、システムの動作を制御するソフトウェアを格納してよい。メモリは、データベース及び画像処理ソフトウェアを含んでよい。メモリは、任意の数のランダムアクセスメモリ、リードオンリメモリ、フラッシュメモリ、ディスクドライブ、光記憶装置、テープストレージ、リムーバブルストレージ及び他のタイプの記憶装置を有してよい。一例において、メモリは、処理ユニット110とは別個であってよい。別の例において、メモリは、処理ユニット110に統合されてよい。
各メモリ140、150は、プロセッサ(例えば、アプリケーションプロセッサ180及び/又は画像プロセッサ190)により実行された場合、システム100の様々な態様の動作を制御し得るソフトウェア命令を含んでよい。これらのメモリユニットは、様々なデータベース及び画像処理ソフトウェア、並びに、訓練されたシステム、例えば、ニューラルネットワーク又はディープニューラルネットワークなどを含んでよい。メモリユニットは、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、フラッシュメモリ、ディスクドライブ、光記憶装置、テープストレージ、リムーバブルストレージ及び/又は任意の他のタイプの記憶装置を含んでよい。いくつかの実施形態において、メモリユニット140、150は、アプリケーションプロセッサ180及び/又は画像プロセッサ190とは別個であってよい。他の実施形態において、これらのメモリユニットは、アプリケーションプロセッサ180及び/又は画像プロセッサ190に統合されてよい。
位置センサ130は、システム100の少なくとも1つのコンポーネントに関連付けられた位置を判定するのに適した任意のタイプのデバイスを含んでよい。いくつかの実施形態において、位置センサ130は、GPS受信機を含んでよい。そのような受信器は、グローバルポジショニングシステム衛星によりブロードキャストされた信号を処理することにより、ユーザの位置及び速度を判定できる。位置センサ130からの位置情報は、アプリケーションプロセッサ180及び/又は画像プロセッサ190に利用可能となり得る。
いくつかの実施形態において、システム100は、コンポーネント、例えば、車両200の速度を測定するための速度センサ(例えば、回転速度計、速度計)、及び/又は、車両200の加速を測定するための加速度計(単軸又は複数軸のいずれか)を含んでよい。
ユーザインタフェース170は、システム100の1又は複数のユーザに情報を提供するのに、又は、1又は複数のユーザからの入力を受信するのに適した任意のデバイスを含んでよい。いくつかの実施形態において、ユーザインタフェース170は、例えば、タッチスクリーン、マイク、キーボード、ポインタデバイス、トラックホイール、カメラ、ノブ、ボタンなどを含むユーザ入力デバイスを含んでよい。そのような入力デバイスを用いて、ユーザは、命令又は情報をタイピングし、音声コマンドを提供し、ボタン、ポインタ又は視線追跡機能を用いて、又は、又は、システム100に情報を通信するための任意の他の適切な技術を通じて、画面上のメニューオプションを選択することにより、システム100に情報入力又はコマンドを提供することができ得る。
ユーザインタフェース170は、ユーザとの間で情報を提供及び受信し、例えば、アプリケーションプロセッサ180による使用のための情報を処理するように構成される1又は複数の処理デバイスを備えてよい。いくつかの実施形態において、そのような処理デバイスは、目の動きを認識及び追跡し、音声コマンドを受信及び解釈し、キーボード入力又はメニュー選択などに応答してタッチスクリーンに対して行われたタッチ及び/又はジェスチャーを認識及び解釈するための命令を実行してよい。いくつかの実施形態において、ユーザインタフェース170は、ディスプレイ、スピーカ、触覚デバイス、及び/又は、ユーザに出力情報を提供するための任意の他のデバイスを含んでよい。
マップデータベース160は、システム100に有用なマップデータを格納するための任意のタイプのデータベースを含んでよい。いくつかの実施形態において、マップデータベース160は、道路、水を使用した建築物(water features)、地理的形状、会社、ポイントオブインタレスト、レストラン、ガソリンスタンドなどを含む様々な項目の基準座標系における位置に関連するデータを含んでよい。マップデータベース160は、そのような項目の位置だけでなく、例えば、格納した特徴のいずれかに関連付けられる名称を含むそれらの項目に関連する記述子も格納してよい。いくつかの実施形態において、マップデータベース160は、システム100の他のコンポーネントとともに物理的に配置され得る。代替的に又はさらに、マップデータベース160又はその一部は、システム100の他のコンポーネント(例えば、処理ユニット110)に対して離れて配置され得る。そのような実施形態において、マップデータベース160からの情報は、ネットワークへの有線又は無線データ接続を介して(例えば、セルラネットワーク及び/又はインターネットなどを介して)ダウンロードされ得る。場合によっては、マップデータベース160は、特定の道路特徴(例えば、車線標示)又はホスト車両に対するターゲット軌跡で構成される多項式表現を含むスパースデータモデルを格納してよい。そのようなマップを生成するシステム及び方法は、図8~図19を参照して以下で議論される。
画像取込デバイス122、124及び126はそれぞれ、環境から少なくとも1つの画像を取り込むのに適した任意のタイプのデバイスを含んでよい。さらに、任意の数の画像取込デバイスは、画像プロセッサへの入力のための画像を取得するために用いられてよい。いくつかの実施形態において、単一の画像取込デバイスだけを含んでよいが、他の実施形態では、2、3又はさらに、4又はそれより多い画像取込デバイスを含んでよい。画像取込デバイス122、124及び126は、以下では、図2B~図2Eを参照してさらに説明される。
システム100又はその様々なコンポーネントは、様々な異なるプラットフォームに組み込まれてよい。いくつかの実施形態において、システム100は、図2Aに示されるように、車両200に含まれてよい。例えば、車両200は、図1に関連して上述したように、処理ユニット110及びシステム100の他のコンポーネントのいずれかを備えてよい。いくつかの実施形態において、車両200は、単一の画像取込デバイス(例えば、カメラ)だけを備えてよいが、他の実施形態において、例えば、図2B~図2Eに関連して議論されるように、複数の画像取込デバイスが用いられ得る。図2Aに示されるように、例えば、車両200の画像取込デバイス122及び124のいずれかが、ADAS(先進運転支援システム)撮像セットの一部であり得る。
画像取得ユニット120の一部として車両200に含まれる画像取込デバイスが、任意の適切な位置に配置されてよい。いくつかの実施形態において、図2A~図2E及び図3A~図3Cに示されるように、画像取込デバイス122は、バックミラーの近傍に配置されてよい。この位置は、車両200の運転者の視線と同様の視線を提供してよく、運転者に何が見えて何が見えないかを判定する際に役立ち得る。画像取込デバイス122は、バックミラーの近くのいずれかの位置に配置されてよいが、ミラーの運転者側に画像取込デバイス122を設置することは、運転者の視野及び/又は視線を表す画像を取得するのにさらに役立ち得る。
画像取得ユニット120の画像取込デバイスに対する他の位置が用いられてもよい。例えば、画像取込デバイス124は、車両200のバンパー上又はバンパー内に配置されてよい。そのような位置は、広視野を有する画像取込デバイスに特に適し得る。バンパーに配置された画像取込デバイスの視線は、運転者の視線とは異なっていてよく、したがって、バンパーの画像取込デバイス及び運転者は、常に同じオブジェクトを見ているわけではない。画像取込デバイス(例えば、画像取込デバイス122、124及び126)は、他の位置に配置されてもよい。例えば、画像取込デバイスは、車両200のサイドミラーの一方又は両方上又はその中に、車両200のルーフに、車両200のボンネットに、車両200のトランクに、車両200の側面に配置され、車両200のウィンドウのいずれかの後方に取り付けられ、又は、車両200のウィンドウのいずれかの正面に取り付けられ、車両200の正面及び/又は背面にあるライト外観に又はライト外観の近くなどに搭載され得る。
画像取込デバイスに加えて、車両200は、システム100の様々な他のコンポーネントを含んでよい。例えば、処理ユニット110は、車両のエンジン制御ユニット(ECU)と統合されて、又は、ECUとは別個に、車両200に含まれ得る。車両200は、位置センサ130、例えば、GPS受信機を備えてもよく、マップデータベース160、及び、メモリユニット140及び150を含んでもよい。
以前に議論したように無線トランシーバ172は、1又は複数のネットワーク(例えば、セルラネットワーク、インターネットなど)を介してデータを伝送及び/又は受信してよい。例えば、無線トランシーバ172は、システム100により収集されたデータを1又は複数のサーバにアップロードし、1又は複数のサーバからデータをダウンロードしてよい。無線トランシーバ172を介して、システム100は、例えば、マップデータベース160、メモリ140及び/又はメモリ150に格納されたデータに対する周期的な又は要求に応じた更新を受信してよい。同様に、無線トランシーバ172は、システム100から任意のデータ(例えば、画像取得ユニット120により取り込まれた画像、位置センサ130又は他のセンサ、車両制御システムなどにより受信されたデータ)及び/又は処理ユニット110により処理された任意のデータを1又は複数のサーバにアップロードしてよい。
システム100は、プライバシーレベル設定に基づいて、データをサーバに(例えば、クラウドに)アップロードしてよい。例えば、システム100は、車両、及び/又は、車両の運転者/所有者を一意に識別し得るサーバに送信された複数のタイプのデータ(メタデータを含む)を規制又は制限するようにプライバシーレベル設定を実装してよい。そのような設定は、例えば、無線トランシーバ172を介してユーザにより設定されってよく、工場のデフォルト設定により、又は、無線トランシーバ172により受信されたデータにより初期化されてよい。
いくつかの実施形態において、システム100は、「高」プライバシーレベルに従って、データをアップロードしてよく、設定した設定の下、システム100は、特定の車両及び/又は運転者/所有者に関する詳細情報を用いることなく、データ(例えば、経路、取り込まれた画像などに関連する位置情報)を伝送してよい。例えば、「高」プライバシー設定に従ってデータをアップロードするときに、システム100は、車両の識別番号(VIN)、又は、車両の運転者又は所有者の名前を含めなくてもよく、代わりに、データ、例えば、経路に関連する取り込まれた画像及び/又は限定された位置情報を伝送してよい。
他のプライバシーレベルが考えられる。例えば、システム100は、「中」プライバシーレベルに従って、データをサーバに伝送してよく、「高」プライバシーレベルの下では含まれない追加の情報、例えば、車両のメーカー及び/又はモデル、及び/又は車両タイプなどの(例えば、乗用車、スポーツ用多目的車、トラックなど)追加情報を含んでよい。いくつかの実施形態において、システム100は、「低」プライバシーレベルに従ってデータをアップロードしてよい。「低」プライバシーレベル設定の下では、システム100は、データをアップロードし、特定の車両、所有者/運転者、及び/又は、車両が走行する経路の一部又は全体を一意に識別するのに十分な情報を含んでよい。そのような「低」プライバシーレベルのデータは、例えば、VIN、運転者/所有者の名前、出発前の車両の開始地点、車両の対象とする目的地、車両のメーカー及び/又はモデル、車両のタイプなどのうちの1又は複数を含み得る。
図2A、開示される実施形態と矛盾しない例示的な車両撮像システムの概略側面図である。図2Bは、図2Aに示される実施形態の概略平面図の例示である。図2Bに示されるように、開示される実施形態は、車両200のバックミラーの近傍及び/又は運転者の近くに配置される第1の画像取込デバイス122、車両200のバンパー領域上又はバンパー領域内(例えば、バンパー領域210のうちの1つ)に配置される第2の画像取込デバイス124、及び、処理ユニット110を有するシステム100をその車体に含む車両200を含み得る。
図2Cに示されるように、画像取込デバイス122及び124は両方とも、車両200のバックミラーの近傍及び/又は運転者の近くに配置されてよい。さらに、2つの画像取込デバイス122及び124が図2B及び図2Cに示されるが、他の実施形態では、2つより多い画像取込デバイスを含み得ることが理解されるべきである。例えば、図2D及び図2Eに示される実施形態では、第1、第2及び第3の画像取込デバイス122、124及び126が、車両200のシステム100に含まれる。
図2Dに示されるように、画像取込デバイス122は、車両200のバックミラーの近傍及び/又は運転者の近くに配置されてよく、画像取込デバイス124及び126は、車両200のバンパー領域上又はバンパー領域内(例えば、バンパー領域210のうちの1つ)に配置されてよい。図2Eに示されるように、画像取込デバイス122、124及び126は、車両200のバックミラーの近傍及び/又は運転席の近くに配置されてよい。開示される実施形態は、画像取込デバイスの特定の数及び構成に限定されることはなく、画像取込デバイスは、車両200内及び/又は車両200上の任意の適当な位置に配置されてよい。
開示される実施形態が車両に限定されることはなく、他のコンテキストに適用され得ることが理解されるべきである。開示される実施形態が、特定のタイプの車両200に限定されることはなく、自動車、トラック、トレーラ及び他のタイプの車両を含むあらゆるタイプの車両に適用可能であり得ることも理解されたい。
第1の画像取込デバイス122は、任意の好適なタイプの画像取込デバイスを含み得る。画像取込デバイス122は、光軸を含み得る。一例において、画像取込デバイス122は、グローバルシャッタを有するAptina M9V024 WVGAセンサを含み得る。他の実施形態において、画像取込デバイス122は、1280×960画素の解像度を提供してよく、ローリングシャッタを含み得る。画像取込デバイス122は、様々な光学素子を含み得る。いくつかの実施形態において、例えば、画像取込デバイスに対して所望焦点距離及び視野を提供するために、1又は複数のレンズが含まれてよい。いくつかの実施形態において、画像取込デバイス122は、6mmレンズ又は12mmレンズに関連付けられてよい。いくつかの実施形態において、画像取込デバイス122は、図2Dに示されるように、所望の視野(FOV)202を有する画像を取り込むように構成されてよい。例えば、画像取込デバイス122は、例えば、40度から56度の範囲内の、46度のFOV、50度のFOV、52度のFOV又はそれより大きいFOVを含む標準のFOVを有するように構成されてよい。代替的に、画像取込デバイス122は、23から40度の範囲内の狭FOV、例えば、28度のFOV又は36度のFOVを有するように構成されてよい。さらに、画像取込デバイス122は、100から180度の範囲内の広FOVを有するように構成されてよい。いくつかの実施形態において、画像取込デバイス122は、広角のバンパーのカメラ、又は、最大で180度のFOVを有するカメラを含み得る。いくつかの実施形態において、画像取込デバイス122は、約100度の水平FOVを用いて、約2:1のアスペクト比(例えば、HxV=3800×1900画素)を有する7.2M画素の画像取込デバイスであってよい。そのような画像取込デバイスは、3つの画像取込デバイス構成の代わりに用いられてよい。著しいレンズの歪みに起因して、そのような画像取込デバイスの鉛直FOVは、画像取込デバイスが半径方向に対称なレンズを用いる実装において、50度より大幅に小さくなり得る。例えば、そのようなレンズは、100度の水平FOVを用いて、50度よりも大きい鉛直FOVを可能にする半径方向に対称でなくてよい。
第1の画像取込デバイス122は、車両200に関連付けられるシーンに関連する複数の第1の画像を取得してよい。複数の第1の画像のそれぞれは、ローリングシャッタを用いて取り込まれ得る、一連の画像走査線として取得され得る。各走査線は、複数の画素を含み得る。
第1の画像取込デバイス122は、第1の一連の画像走査線のそれぞれの取得に関連付けられる走査速度を有してよい。走査速度は、特定の走査線に含まれる各画素に関連付けられる画像データを画像センサが取得できる速度を指し得る。
画像取込デバイス122、124及び126は、例えば、CCDセンサ又はCMOSセンサを含む任意の好適なタイプ及び数の画像センサを含んでよい。1つの実施形態において、CMOS画像センサは、ローリングシャッタと共に使用されてよく、行における各画素は一度に1つずつ読み取られ、画像フレーム全体が取り込まれるまで、行のスキャンは行ごとに進行する。いくつかの実施形態において、行は、フレームに対して上から下まで順次取り込まれ得る。
いくつかの実施形態において、本明細書で開示される画像取込デバイス(例えば、画像取込デバイス122、124及び126)のうちの1又は複数は、高解像度カメラを構成してよく、5M画素、7M画素、10M画素又はより大きい画素より大きい解像度を有してよい。
ローリングシャッタの使用は、結果として、異なる時間に異なる行における画素が露光されて取り込まれる場合があり、取り込まれた画像フレームに、スキュー及び他の画像アーチファクトを生じ得る。一方、グローバルシャッタ又はシンクロナスシャッタで動作するように構成された画像取込デバイス122の場合、すべての画素は、同じ時間だけ、共通の露光時間中に露光されてもよい。結果として、グローバルシャッタを使用するシステムから収集されたフレーム内の画像データは、特定の時間におけるFOV全体のスナップショット(例えば、FOV202)を表す。対照的に、ローリングシャッタを適用した場合、フレーム内の各行が露光され、データが異なる時間に取り込まれる。したがって、ローリングシャッタを有する画像取込デバイスでは、移動するオブジェクトに歪みが現れ得る。この現象は、以下でより詳細に説明される。
第2の画像取込デバイス124及び第3の画像取込デバイス126は、任意のタイプの画像取込デバイスであってよい。第1の画像取込デバイス122のように、画像取込デバイス124及び126のそれぞれは、光軸を含み得る。1つの実施形態において、画像取込デバイス124及び126のそれぞれは、グローバルシャッタを有するAptina M9V024 WVGAセンサを含み得る。代替的に、画像取込デバイス124及び126のそれぞれは、ローリングシャッタを含み得る。画像取込デバイス122のように、画像取込デバイス124及び126は、様々なレンズ及び光学素子を含むように構成されてよい。いくつかの実施形態において、画像取込デバイス124及び126に関連付けられるレンズは、FOV(例えば、画像取込デバイス122に関連付けられるFOV202)と同じ又はそれより狭FOV(例えば、FOV204及び206)を提供してよい。例えば、画像取込デバイス124及び126は、40度、30度、26度、23度、20度又はそれより低いFOVを有してよい。
画像取込デバイス124及び126は、車両200に関連付けられるシーンに関連する複数の第2及び第3の画像を取得してよい。複数の第2及び第3の画像のそれぞれは、ローリングシャッタを用いて取り込まれ得る、第2及び第3の一連の画像走査線として取得され得る。各走査線又は行は、複数の画素を有してよい。画像取込デバイス124及び126は、第2及び第3の一連に含まれる画像走査線のそれぞれの取得に関連付けられる第2及び第3の走査速度を有し得る。
各画像取込デバイス122、124及び126は、車両200に対して任意の適切な位置及び方向に配置され得る。画像取込デバイス122、124及び126の相対的な配置は、画像取込デバイスから取得される情報を互いに結合する際に役立つように選択されてよい。例えば、いくつかの実施形態において、画像取込デバイス124に関連付けられるFOV(例えば、FOV204)は、画像取込デバイス122に関連付けられるFOV(例えば、FOV202)及び画像取込デバイス126に関連付けられるFOV(例えば、FOV206)と部分的に又は完全に重複してよい。
画像取込デバイス122、124及び126は、任意の適切な相対的な高さで、車両200に配置されてよい。一例では、画像取込デバイス122、124及び126間には高さの差があり得、ステレオ解析を可能にするのに十分な視差情報を提供し得る。例えば、図2Aに示されるように、2つの画像取込デバイス122及び124は、異なる高さを有する。画像取込デバイス122、124及び126間には、横方向のずれ差があってもよく、例えば、処理ユニット110によるステレオ解析のために追加の視差情報をもたらす。図2C及び図2Dに示されるように、横方向のずれにおける差は、dxにより示され得る。いくつかの実施形態において、前方又は後方のずれ(例えば、範囲のずれ)が画像取込デバイス122、124及び126間に存在し得る。例えば、画像取込デバイス122は、画像取込デバイス124及び/又は画像取込デバイス126の0.5から2メートル又はそれより後方に配置されてよい。このタイプのずれは、画像取込デバイスのうちの1つが、他の画像取込デバイスの可能性のある死角をカバーすることを可能にし得る。
画像取込デバイス122は、任意の適切な解像度機能(例えば、画像センサに関連付けられる画素の数)を有してよく、画像取込デバイス122に関連付けられる画像センサの解像度は、画像取込デバイス124及び126に関連付けられる画像センサの解像度より高い、低い、又は同じであってよい。いくつかの実施形態において、画像取込デバイス122及び/又は画像取込デバイス124及び126に関連付けられる画像センサは、640×480、1024×768、1280×960の解像度、又は、任意の他の適切な解像度を有してよい。
フレームレート(例えば、次の画像フレームに関連付けられる画素データの取り込みに移る前に、画像取込デバイスが1つの画像フレームの画素データのセットを取得するレート)は制御可能であり得る。画像取込デバイス122に関連付けられるフレームレートは、画像取込デバイス124及び126に関連付けられるフレームレートより高い、低い、又は同じであってよい。画像取込デバイス122、124及び126に関連付けられるフレームレートは、フレームレートのタイミングに影響を与え得る様々な要因に依存し得る。例えば、画像取込デバイス122、124及び126のうちの1又は複数は、画像取込デバイス122、124及び/又は126における画像センサの1又は複数の画素に関連付けられる画像データを取得する前後に掛かる選択可能な画素遅延時間を含み得る。一般に、各画素に対応する画像データは、デバイスに対するクロックレート(例えば、1画素毎のクロックサイクル)に従って取得され得る。さらに、ローリングシャッタを含む実施形態では、画像取込デバイス122、124及び126のうちの1又は複数は、画像取込デバイス122、124及び/又は126における画像センサの画素の行に関連付けられる画像データを取得する前後に掛かる選択可能な水平ブランキング期間を含み得る。さらに、画像取込デバイス122、124及び/又は126のうちの1又は複数は、画像取込デバイス122、124及び126の画像フレームに関連付けられる画像データを取得する前後に掛かる選択可能な垂直ブランキング期間を含み得る。
これらのタイミング制御は、それぞれのライン走査速度が異なる場合であっても、画像取込デバイス122、124及び126に関連付けられるフレームレートの同期を可能にし得る。さらに、以下でより詳細に議論されるように、これらの選択可能なタイミング制御は、要因(例えば、画像センサの解像度、最大ライン走査速度など)の中でも特に、画像取込デバイス122の視野が画像取込デバイス124及び126のFOVとは異なる場合であっても、画像取込デバイス122のFOVが画像取込デバイス124及び126の1又は複数のFOVと重複する領域から画像取込の同期を可能にし得る。
画像取込デバイス122、124及び126でのフレームレートのタイミングは、関連する画像センサの解像度に依存し得る。例えば、両方のデバイスに対する同様のライン走査速度を仮定すると、一方のデバイスが、640×480の解像度を有する画像センサを含み、他方のデバイスが1280×960の解像度を有する画像センサを含む場合、高い解像度を有するセンサから画像データのフレームを取得するのにより多くの時間が必要とされる。
画像取込デバイス122、124及び126における画像データ取得のタイミングに影響を与え得る別の要因は、最大ライン走査速度である。例えば、画像取込デバイス122、124及び126に含まれる画像センサからの画像データの行の取得は、ある最小の時間量を必要とする。画素遅延時間が加えられていないと仮定すると、1行の画像データを取得するためのこの最小の時間量は、特定のデバイスに対する最大ライン走査速度に関連する。より高い最大ライン走査速度を提示するデバイスは、より低い最大ライン走査速度を有するデバイスより高いフレームレートを提供する可能性がある。いくつかの実施形態において、画像取込デバイス124及び126のうちの1又は複数は、画像取込デバイス122に関連付けられる最大ライン走査速度より高い最大ライン走査速度を有し得る。いくつかの実施形態において、画像取込デバイス124及び/又は126の最大ライン走査速度は、画像取込デバイス122の最大ライン走査速度よりも、1.25倍、1.5倍、1.75倍、2倍又はそれより大きくてよい。
別の実施形態において、画像取込デバイス122、124及び126は、同じ最大ライン走査速度を有してもよいが、画像取込デバイス122は、その最大走査速度より小さい、又は、これに等しい走査速度で動作してよい。システムは、画像取込デバイス124及び126のうちの1又は複数が、画像取込デバイス122のライン走査速度に等しいライン走査速度で動作するように構成されてよい。他の事例では、システムは、画像取込デバイス124及び/又は画像取込デバイス126のライン走査速度が、画像取込デバイス122のライン走査速度よりも1.25倍、1.5倍、1.75倍、2倍又はそれより大きくなり得るように構成されてよい。
いくつかの実施形態において、画像取込デバイス122、124及び126は、非対称であってよい。つまり、それらは、様々な視野(FOV)及び焦点距離を有するカメラを含み得る。例えば、画像取込デバイス122、124及び126の視野は、車両200の環境に対して任意の所望の領域を含み得る。いくつかの実施形態において、画像取込デバイス122、124及び126のうちの1又は複数は、車両200の前方、車両200の後方、車両200の側方又はそれらの組み合わせにおける環境から画像データを取得するように構成され得る。
さらに、各画像取込デバイス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などより遠く)にあるオブジェクトの画像を取得できるように選択され得る。
いくつかの実施形態によれば、1又は複数の画像取込デバイス122、124及び126のFOVは、広角を有してよい。例えば、特に、車両200の近傍にある領域の画像を取り込むために用いられ得る画像取込デバイス122、124及び126にとって、140度のFOVを有する方が都合がよい。例えば、画像取込デバイス122は、車両200の右側又は左側にある領域の画像を取り込むために用いられてよく、そのような実施形態において、画像取込デバイス122が広FOV(例えば、少なくとも140度)を有することが望ましい場合がある。
画像取込デバイス122、124及び126のそれぞれに関連付けられる視野は、それぞれの焦点距離に依存し得る。例えば、焦点距離が大きくなるにつれて、対応する視野が縮小する。
画像取込デバイス122、124及び126は、任意の適切な視野を有するように構成され得る。ある特定の例において、画像取込デバイス122は、46度の水平FOVを有してよく、画像取込デバイス124は、23度の水平FOVを有してよく、画像取込デバイス126は、23度と46度との間の水平FOVを有してよい。別の例において、画像取込デバイス122は、52度の水平FOVを有してよく、画像取込デバイス124は、26度の水平FOVを有してよく、画像取込デバイス126は、26度と52度との間の水平FOVを有してよい。いくつかの実施形態において、画像取込デバイス124及び/又は画像取込デバイス126のFOVに対する画像取込デバイス122のFOVの比は、1.5から2.0まで変化し得る。他の実施形態において、この比は、1.25と2.25との間で変化し得る。
システム100は、画像取込デバイス122の視野が、画像取込デバイス124及び/又は画像取込デバイス126の視野と少なくとも一部又は完全に重複するように構成されてよい。いくつかの実施形態において、システム100は、画像取込デバイス124及び126の視野が、例えば、画像取込デバイス122の視野の範囲内に含まれ(例えば、より狭く)、画像取込デバイス122の視野と共通の中央を共有するように構成され得る。他の実施形態において、画像取込デバイス122、124及び126は、隣接するFOVを取り込んでよい、又は、それらのFOVにおいて部分的に重複する部分を有してよい。いくつかの実施形態において、狭FOVの画像取込デバイス124及び/又は126の中央が広FOVのデバイス122の視野の下半分に配置され得るように、画像取込デバイス122、124及び126の視野は整列されてよい。
図2Fは、開示される実施形態と矛盾しない例示的な車両制御システムの概略図である。図2Fに示されるように、車両200は、スロットリングシステム220、ブレーキシステム230及びステアリングシステム240を含み得る。システム100は、1又は複数のデータリンク(例えば、データを伝送するための任意の1又は複数の有線及び/又は無線リンクを介して、スロットリングシステム220、ブレーキシステム230及びステアリングシステム240のうちの1又は複数に入力(例えば、制御信号)を提供してよい。例えば、画像取込デバイス122、124及び/又は126により取得された画像の解析に基づいて、システム100は、(例えば、加速させ、方向転換させ、車線変更させるなどにより)車両200をナビゲートするために、スロットリングシステム220、ブレーキシステム230及びステアリングシステム240のうちの1又は複数に制御信号を提供してよい。さらに、システム100は、車両200の動作条件(例えば、速度、車両200がブレーキしている及び/又は方向転換しているか、など)を示す入力を、スロットリングシステム220、ブレーキシステム230及びステアリングシステム24のうちの1又は複数から受信してよい。さらなる詳細は、以下で、図4~図7に関連して提供される。
図3Aに示されるように、車両200は、車両200の運転者又は搭乗者とインタラクションするためのユーザインタフェース170を含んでもよい。例えば、車両に適用されるユーザインタフェース170は、タッチスクリーン320、ノブ330、ボタン340及びマイク350を含み得る。車両200の運転者又は搭乗者は、(例えば、ウィンカーハンドルを含む車両200のステアリングコラム上又はその近くに例えば配置される)ハンドル及び(例えば、車両200のステアリングホイールに配置される)ボタンなどを用いて、システム100とインタラクションしてもよい。いくつかの実施形態において、マイク350は、バックミラー310に隣接して配置されてよい。同様に、いくつかの実施形態において、画像取込デバイス122は、バックミラー310の近くに配置されてよい。いくつかの実施形態において、ユーザインタフェース170は、1又は複数のスピーカ360(例えば、車両のオーディオシステムのスピーカ)を含んでもよい。例えば、システム100は、スピーカ360を介して、様々な通知(例えば、アラート)を提供してよい。
図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の図である。
本開示を利用できる当業者により理解されるように、数々の変形及び/又は修正が、上記の開示される実施形態に行われてよい。例えば、必ずしもすべてのコンポーネントが、システム100の動作に不可欠なわけではない。さらに、任意のコンポーネントは、システム100の任意の適切な部分に配置されてよく、当該コンポーネントは開示される実施形態の機能性を提供しつつ、様々な構成に再構築されてよい。したがって、上記の構成は例であり、上述の構成に関わらず、システム100は、車両200の周辺を解析し、解析に応答して車両200をナビゲートするように、広範囲な機能性を提供できる。
以下でさらに詳細に議論され、様々な開示される実施形態と矛盾しないように、システム100は、自律運転及び/又は運転者支援技術に関連する様々な特徴を提供してよい。例えば、システム100は、画像データ、位置データ(例えば、GPSの位置情報)、マップデータ、速度データ、及び/又は、車両200に含まれるセンサからのデータを解析してよい。システム100は、例えば、画像取得ユニット120、位置センサ130及び他のセンサから、解析用のデータを収集してよい。さらに、システム100は、収集されたデータを解析して、車両200が特定の動作を行うべきか否かを判定し、次に、人の介在なしに判定された動作を自動的に行ってよい。例えば、人の介在なしに車両200がナビゲートする場合、システム100は、(例えば、スロットリングシステム220、ブレーキシステム230及びステアリングシステム240のうちの1又は複数に制御信号を送信することにより)車両200のブレーキ、加速、及び/又は、ステアリングを自動的に制御してよい。さらに、システム100は、収集されたデータを解析し、収集されたデータの解析に基づいて、車両の搭乗者に警告及び/又はアラートを発行してよい。システム100により提供される様々な実施形態に関するさらなる詳細は、以下で提供される。
前向きのマルチ撮像システム
上述したように、システム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又はそれより多くの異なる位置から、様々な視野から、異なる焦点距離を用いて、視差情報と共になど、取り込まれた画像を含んでよい。
例えば、1つの実施形態において、システム100は、画像取込デバイス122、124及び126を用いて、3カメラ構成を実装してよい。そのような構成において、画像取込デバイス122は、狭視野(例えば、34度、又は約20から45度などの範囲から選択された他の値)を提供してよく、画像取込デバイス124は、広視野(例えば、150度、又は約100から約180度の範囲から選択された他の値)を提供してよく、画像取込デバイス126は、中間の視野(例えば、46度、又は約35から約60度の範囲から選択される他の値)を提供してよい。いくつかの実施形態において、画像取込デバイス126は、主カメラ又はプライマリカメラとして動作し得る。画像取込デバイス122、124及び126は、バックミラー310の背後に配置され、実質的に並んで(例えば、6cm離れて)配置されていてよい。さらに、いくつかの実施形態において、上述したように、画像取込デバイス122、124及び126のうちの1又は複数は、車両200のフロントガラスにぴったり重なるグレアシールド380の背後に取り付けられ得る。そのようなシールドは、画像取込デバイス122、124及び126に対する、車の内部からのあらゆる反射の影響を最小限に抑えるように動作し得る。
別の実施形態において、図3B及び図3Cに関連して上述したように、広視野カメラ(例えば、上記の例における画像取込デバイス124)は、狭い及び主視野カメラ(例えば、上記の例における画像デバイス122及び126)より下部に取り付けられ得る。この構成は、広視野カメラからの自由な視線をもたらし得る。反射を減らすために、カメラは、車両200のフロントガラスの近くに取り付けられてよく、反射した光を減衰させるために、カメラに偏光板を含み得る。
3カメラシステムは、特定の性能特性を提供し得る。例えば、いくつかの実施形態は、別のカメラからの検出結果に基づいて、あるカメラによるオブジェクトの検出を検証する能力を含み得る。上述した3カメラ構成では、処理ユニット110は、3つの処理デバイス(例えば、上述したようなプロセッサチップの3つのEyeQシリーズ)を含んでよく、例えば、各処理デバイスは、画像取込デバイス122、124及び126のうちの1又は複数により取り込まれた画像を処理するのに特化している。
3カメラシステムにおいて、第1の処理デバイスは、主カメラ及び狭視野カメラの両方から画像を受信してよく、狭FOVカメラの視覚処理を実行して、例えば、他の車両、歩行者、車線標示、交通標識、交通信号灯及び他の道路オブジェクトを検出し得る。さらに、第1の処理デバイスは、主カメラ及び狭カメラからの画像間の画素の視差を計算し、車両200の環境の3D再構築を生成し得る。第1の処理デバイスは、次に、3D再構築を、3Dマップデータと、又は、別のカメラからの情報に基づいて算出された3D情報と結合してよい。
第2の処理デバイスは、主カメラから画像を受信し、視覚処理を実行して、他の車両、歩行者、車線標示、交通標識、交通信号灯及び他の道路オブジェクトを検出し得る。さらに、第2の処理デバイスは、カメラのずれを計算し、当該ずれに基づいて、一連の画像間の画素の視差を計算し、シーン(例えば、動作からの構造)の3D再構築を生成し得る。第2の処理デバイスは、ステレオ3D画像と組み合わせられる対象の3D再構築に基づく動作からの構造を第1の処理デバイスに送信し得る。
第3の処理デバイスは、広FOVカメラから画像受信し、当該画像を処理して、車両、歩行者、車線標示、交通標識、交通信号灯及び他の道路オブジェクトを検出し得る。第3の処理デバイスは、さらに、追加の処理命令を実行して画像を解析し、画像内を移動するオブジェクト、例えば、車線を変更する車両、歩行者などを識別し得る。
いくつかの実施形態において、画像ベースの情報のストリームが独立して取り込まれて処理されることにより、システムの冗長性を提供するための機会を提供し得る。そのような冗長性は、例えば、第1の画像取込デバイス及びそのデバイスから処理された画像を用いて、少なくとも第2の画像取込デバイスからの画像情報を取り込んで処理することにより取得された情報を検証及び/又は補完することを含み得る。
いくつかの実施形態において、システム100は、車両200にナビゲーション支援を提供する際に、2つの画像取込デバイス(例えば、画像取込デバイス122及び124)を用いてよく、第3の画像取込デバイス(例えば、画像取込デバイス126)を用いて、冗長性を提供し、他の2つの画像取込デバイスから受信したデータの解析を検証し得る。例えば、そのような構成において、画像取込デバイス122及び124は、車両200をナビゲートするためにシステム100によるステレオ解析のための画像を提供してよく、一方、画像取込デバイス126は、画像取込デバイス122及び/又は画像取込デバイス124から取り込まれた画像に基づいて取得した情報の冗長性及び検証を提供するために、システム100による単眼解析のための画像を提供してよい。つまり、画像取込デバイス126(及び、対応する処理デバイス)は、(例えば、自動緊急ブレーキ(AEB)システムを提供するために)画像取込デバイス122及び124から導出された解析に対するチェックを提供するための冗長サブシステムを提供するものととらえられ得る。さらに、いくつかの実施形態において、受信したデータの冗長性及び検証は、1又は複数のセンサから受信した情報(例えば、レーダ、ライダ、音響センサ、車両の外部の1又は複数のトランシーバから受信した情報など)に基づいて補完され得る。
当業者であれば、上記のカメラ構成、カメラの配置、カメラの数、カメラの位置などが例に過ぎないことを認識するだろう。これらの構成要素及びシステム全体に対して説明したその他のものは、開示される実施形態の範囲から逸脱することなく、様々な異なる構成において組み立てられて用いられてよい。運転者支援及び/又は自律走行車両の機能性を提供するためのマルチカメラシステムの使用に関するさらなる詳細は、以下のとおりである。
図4は、メモリ140及び/又は150の例示的な機能ブロック図であり、開示される実施形態と矛盾しない1又は複数の演算を実行するための命令が格納され/プログラミングされ得る。以下では、メモリ140に言及するが、当業者であれば、命令がメモリ140及び/又は150に格納されてよいことを認識するだろう。
図4に示されるように、メモリ140は、単眼画像解析モジュール402、ステレオ画像解析モジュール404、速度及び加速度モジュール406、及び、ナビゲーション応答モジュール408を格納してよい。開示される実施形態は、メモリ140の特定の構成に限定されることはない。さらに、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、メモリ140に含まれるモジュール402、404、406及び408のいずれかに格納されている命令を実行してよい。当業者であれば、処理ユニット110に対する以下の説明での言及は、アプリケーションプロセッサ180及び画像プロセッサ190に対して個々に又はまとめて言及し得ることを理解するだろう。したがって、以下の処理のいずれかの段階は、1又は複数の処理デバイスにより実行されてよい。
1つの実施形態において、単眼画像解析モジュール402は、処理ユニット110により実行される場合、画像取込デバイス122、124及び126のうちの1つにより取得された画像のセットの単眼画像解析を実行する命令(例えば、コンピュータビジョンソフトウェア)を格納してよい。いくつかの実施形態において、処理ユニット110は、画像のセットからの情報を、追加の知覚情報(例えば、レーダ、ライダなどからの情報)と結合して、単眼画像解析を実行してよい。以下で、図5A~図5Dに関連して説明されるように、単眼画像解析モジュール402は、画像セット内の特徴セット、例えば、車線標示、車両、歩行者、道路標識、高速道路出口ランプ、交通信号灯、危険物、及び車両の環境に関連付けられる他の任意の特徴を検出するための命令を含み得る。解析に基づいて、(例えば、処理ユニット110を介して)システム100は、ナビゲーション応答モジュール408に関連して以下で議論されるように、方向転換、車線変更及び加速度の変更など、車両200における1又は複数のナビゲーション応答を実行させてよい。
1つの実施形態において、ステレオ画像解析モジュール404は、処理ユニット110により実行される場合、画像取込デバイス122、124及び126のいずれかから選択された画像取込デバイスの組み合わせにより取得された第1及び第2の画像セットについてのステレオ画像解析を実行する命令(例えば、コンピュータビジョンソフトウェア)を格納し得る。いくつかの実施形態において、処理ユニット110は、第1及び第2の画像セットからの情報を追加の知覚情報(例えば、レーダからの情報)と結合して、ステレオ画像解析を実行してよい。例えば、ステレオ画像解析モジュール404は、画像取込デバイス124により取得された第1の画像のセット、及び、画像取込デバイス126により取得された第2の画像のセットに基づいてステレオ画像解析を実行するための命令を含み得る。以下で、図6に関連して説明されるように、ステレオ画像解析モジュール404は、第1及び第2の画像セット内の特徴のセット、例えば、車線標示、車両、歩行者、道路標識、高速道路出口ランプ、交通信号灯及び危険物などを検出するための命令を含み得る。解析に基づいて、処理ユニット110は、ナビゲーション応答モジュール408に関連して以下で議論されるように、方向転換、車線変更、及び、加速度の変更など、車両200における1又は複数のナビゲーション応答を実行させてよい。さらに、いくつかの実施形態において、ステレオ画像解析モジュール404は、訓練されたシステム(例えば、ニューラルネットワーク又はディープニューラルネットワーク)、又は、訓練されていないシステム、例えば、コンピュータビジョンアルゴリズムを用いて、知覚情報が取り込まれて処理された環境内のオブジェクトを検出及び/又は分類するように構成され得るシステムに関連付けられる技術を実装してよい。1つの実施形態において、ステレオ画像解析モジュール404及び/又は他の画像処理モジュールは、訓練されているシステム及び訓練されていないシステムの組み合わせを用いるように構成されてよい。
1つの実施形態において、速度及び加速度モジュール406は、車両200の速度及び/又は加速度を変更させるように構成される車両200内の1又は複数のコンピューティング及び電気機械デバイスから受信したデータを解析するように構成されるソフトウェアを格納してよい。例えば、処理ユニット110は、単眼画像解析モジュール402及び/又はステレオ画像解析モジュール404の実行から導出されたデータに基づいて、車両200に対する目標速度を計算するように、速度及び加速度モジュール406に関連付けられた命令を実行してよい。そのようなデータは、例えば、目標位置、速度及び/又は加速度、近くの車両、歩行者又は道路オブジェクトに対する車両200の位置及び/又は速度、道路の車線標示に対する車両200の位置情報などを含み得る。さらに、処理ユニット110は、知覚入力(例えば、レーダからの情報)、及び、車両200の他のシステム、例えば、車両200のスロットリングシステム220、ブレーキシステム230及び/又はステアリングシステム240からの入力に基づいて、車両200に対する目標速度を計算してよい。算出された目標速度に基づいて、処理ユニット110は、車両200のスロットリングシステム220、ブレーキシステム230、及び/又は、ステアリングシステム240に電子信号を伝送して、例えば、物理的にブレーキを掛ける、又は、車両200のアクセルを緩めることにより、速度及び/又は加速度を変更することをトリガし得る。
1つの実施形態において、ナビゲーション応答モジュール408は、単眼画像解析モジュール402及び/又はステレオ画像解析モジュール404の実行から導出されたデータに基づいて、所望のナビゲーション応答を判定するように、処理ユニット110により実行可能なソフトウェアを格納してよい。そのようなデータは、近くの車両、歩行者及び道路オブジェクト、及び、車両200の目標位置情報などに関連付けられる位置及び速度情報を含み得る。さらに、いくつかの実施形態において、ナビゲーション応答は、マップデータ、車両200の予め定められた位置、及び/又は、単眼画像解析モジュール402及び/又はステレオ画像解析モジュール404の実行から検出された1又は複数のオブジェクトと車両200との間の相対速度又は相対加速度に(部分的に又は完全に)基づいてよい。ナビゲーション応答モジュール408は、知覚入力(例えば、レーダからの情報)、及び、車両200の他のシステム、例えば、車両200のスロットリングシステム220、ブレーキシステム230及びステアリングシステム240からの入力に基づいて、所望のナビゲーション応答を判定してもよい。所望のナビゲーション応答に基づいて、処理ユニット110は、車両200のスロットリングシステム220、ブレーキシステム230及びステアリングシステム240に電子信号を伝送して、例えば、車両200のステアリングホイールを回転させて、予め定められた角度の回転を実現することにより、所望のナビゲーション応答をトリガしてよい。いくつかの実施形態において、処理ユニット110は、車両200の速度の変更を算出するために、速度及び加速度モジュール406の実行への入力として、ナビゲーション応答モジュール408の出力(例えば、所望のナビゲーション応答)を用いてよい。
さらに、本明細書で開示されるモジュール(例えば、モジュール402、404及び406)のいずれかは、訓練されたシステム(ニューラルネットワーク又はディープニューラルネットワークなど)又は訓練されていないシステムに関連付けられる技術を実装してよい。
図5Aは、開示される実施形態と矛盾しない、単眼画像解析に基づいて1又は複数のナビゲーション応答を行うための例示的なプロセス500Aを示すフローチャートである。段階510において、処理ユニット110は、処理ユニット110と画像取得ユニット120との間のデータインタフェース128を介して複数の画像を受信してよい。例えば、画像取得ユニット120に含まれるカメラ(例えば、視野202を有する画像取込デバイス122)は、車両200の前方(又は、例えば、車両の側方又は後部)の領域の複数の画像を取り込み、それらをデータ接続(例えば、デジタル、有線、USB、無線、Bluetooth(登録商標)など)を介して処理ユニット110に伝送してよい。処理ユニット110は、以下で図5B~図5Dに関連してさらに詳細に説明されるように、段階520において、単眼画像解析モジュール402を実行して、複数の画像の解析を実行してよい。解析を実行することにより、処理ユニット110は、画像セット内の特徴セット、例えば、車線標示、車両、歩行者、道路標識、高速道路出口ランプ及び交通信号灯などを検出してよい。
段階520において、処理ユニット110は、単眼画像解析モジュール402を実行し、様々な道路障害物、例えば、トラックのタイヤのパーツ、落下した道路標識、ルーズカーゴ及び小動物などを検出してもよい。道路障害物は、構造、形状、サイズ及び色によって異なり、そのような障害物の検出をより困難にし得る。いくつかの実施形態において、処理ユニット110は、単眼画像解析モジュール402を実行し、複数の画像に対するマルチフレーム解析を実行して道路障害物を検出し得る。例えば、処理ユニット110は、連続する画像フレーム間のカメラの動きを推定し、フレーム間の画素の視差を計算して道路の3Dマップを構築してよい。次に、処理ユニット110は、3Dマップを用いて、路面及び路面に存在する障害物を検出してよい。
段階530において、処理ユニット110は、ナビゲーション応答モジュール408を実行して、段階520において実行された解析、及び、図4に関連して上述した技術に基づいて、車両200における1又は複数のナビゲーション応答を行ってよい。ナビゲーション応答は、例えば、方向転換、車線変更及び加速度の変更などを含み得る。いくつかの実施形態において、処理ユニット110は、速度及び加速度モジュール406の実行から導出されたデータを用いて、1又は複数のナビゲーション応答を行ってよい。さらに、複数のナビゲーション応答は、同時に、順番に、又は、それらの任意の組み合わせで生じ得る。例えば、処理ユニット110は、例えば、車両200のステアリングシステム240及びスロットリングシステム220に制御信号を連続して伝送することにより、車両200を一車線向こう側に変えて、その後加速させてよい。代替的に、処理ユニット110は、例えば、車両200のブレーキシステム230及びステアリングシステム240に制御信号を同時に伝送することにより、車両200にブレーキをかけさせながら、同時に車線を変えてよい。
図5Bは、開示される実施形態と矛盾しない、画像のセット内の1又は複数の車両及び/又は歩行者を検出するための例示的なプロセス500Bを示すフローチャートである。処理ユニット110は、単眼画像解析モジュール402を実行して、プロセス500Bを実施してよい。段階540において、処理ユニット110は、可能性のある車両及び/又は歩行者を表す候補オブジェクトのセットを判定してよい。例えば、処理ユニット110は、1又は複数の画像をスキャンし、当該画像を1又は複数の予め定められたパターンと比較し、各画像内に、関心のあるオブジェクト(例えば、車両、歩行者又はそれらの一部)を含み得る可能性のある位置を識別してよい。予め定められたパターンは、高い割合の「偽のヒット」及び低い割合の「見逃し」を実現するようなやり方で設計されてよい。例えば、処理ユニット110は、可能性のある車両又は歩行者として候補オブジェクトを識別するために、予め定められたパターンとの低閾値の類似性を用いてよい。そうすることにより、処理ユニット110が車両又は歩行者を表す候補オブジェクトを見逃す(例えば、識別していない)確率を減らすことが可能となり得る。
段階542において、処理ユニット110は、候補オブジェクトのセットをフィルタリングし、分類基準に基づいて、特定の候補(例えば、無関係なオブジェクト又は関連性の低いオブジェクト)を除外してよい。そのような基準は、データベース(例えば、メモリ140に格納されているデータベース)に格納されたオブジェクトの種類に関連付けられている様々な特性から導出され得る。特性は、(例えば、車両200に対する)オブジェクトの形状、寸法、質感、位置などを含み得る。したがって、処理ユニット110は、1又は複数の基準のセットを用いて、候補オブジェクトのセットから偽の候補を拒否してよい。
段階544において、処理ユニット110は、画像の複数のフレームを解析して、候補オブジェクトのセット内のオブジェクトが車両及び/又は歩行者を表すかを判定してよい。例えば、処理ユニット110は、連続したフレームにわたって検出した候補オブジェクトを追跡し、検出されたオブジェクト(例えば、車両200に対するサイズ、位置など)に関連付けられたフレームごとのデータを蓄積してよい。さらに、処理ユニット110は、検出されたオブジェクトに対するパラメータを推定し、オブジェクトのフレームごとの位置データを予測された位置と比較してよい。
段階546において、処理ユニット110は、検出されたオブジェクトに対する測定値のセットを構築してよい。そのような測定値は、例えば、検出されたオブジェクトに関連付けられた(車両200に対する)位置、速度及び加速度の値を含み得る。いくつかの実施形態において、処理ユニット110は、一連の時間ベースの観測、例えば、カルマンフィルタ又は線形二次推定(LQE)を用いた推定技術に基づいて、及び/又は、異なるオブジェクトの種類(例えば、車、トラック、歩行者、自転車、道路標識など)に対する利用可能なモデル化データに基づいて、測定値を構築してよい。カルマンフィルタは、オブジェクトのスケールの測定に基づいてよく、ここで、スケールの測定値は、衝突までの時間(例えば、車両200がオブジェクトに到達までの時間の長さ)に比例する。したがって、段階540-546を実行することによって、処理ユニット110は、取り込まれた画像のセット内に現れる車両及び歩行者を識別して、車両及び歩行者に関連付けられる情報(例えば、位置、速度、サイズ)を導出し得る。識別及び導出された情報に基づいて、処理ユニット110は、上記の図5Aに関連して説明されたように、車両200における1又は複数のナビゲーション応答を行ってよい。
段階548において、処理ユニット110は、1又は複数の画像のオプティカルフロー解析を実行して、「偽のヒット」を検出する確率、及び、車両又は歩行者を表す候補オブジェクトを見逃す確率を減らし得る。オプティカルフロー解析は、例えば、他の車両及び歩行者に関連付けられる1又は複数の画像内の車両200に対する、路面動作とは区別される動作パターンを解析することを指し得る。処理ユニット110は、異なる時間に取り込まれた複数の画像フレームにわたるオブジェクトの異なる位置を観測することにより、候補オブジェクトの動作を計算してよい。処理ユニット110は、候補オブジェクトの動作を算出するための数学的モデルへの入力として、位置及び時間の値を用いてよい。したがって、オプティカルフロー解析は、車両200の近くにある車両及び歩行者を検出する別の方法を提供してよい。処理ユニット110は、段階540-546の組み合わせでオプティカルフロー解析を実行して、車両及び歩行者を検出するための冗長性を提供し、システム100の信頼性を向上させ得る。
図5Cは、開示される実施形態と矛盾しない、画像のセット内の路面標示及び/又は車線形状情報を検出するための例示的なプロセス500Cを示すフローチャートである。処理ユニット110は、単眼画像解析モジュール402を実行してプロセス500Cを実施してよい。段階550において、処理ユニット110は、1又は複数の画像をスキャンすることにより、オブジェクトのセットを検出してよい。車線標示、車線形状情報及び他の関連する路面標示のセグメントを検出するために、処理ユニット110は、オブジェクトのセットをフィルタリングして、無関係であると判定されたもの(例えば、わずかなくぼみ、小さな岩など)を除外してよい。段階552において、処理ユニット110は、同じ路面標示又は車線標示に属する段階550において検出されたセグメントを一緒にグループ化してよい。グループ化に基づいて、処理ユニット110は、検出されたセグメントを表すモデル、例えば、数学的なモデルを展開し得る。
段階554において、処理ユニット110は、検出されたセグメントに関連付けられる測定値のセットを構築してよい。いくつかの実施形態において、処理ユニット110は、画像平面から現実世界の平面上に検出されたセグメントの射影を作成してよい。射影は、物理的な特性、例えば、検出された道路の位置、傾き、曲率及び曲率関数に対応する係数を有する3次多項式を用いて特徴付けられてよい。射影を生成する際に、処理ユニット110は、路面の変化、及び、車両200に関連付けられるピッチ及びロールレートを考慮し得る。さらに、処理ユニット110は、路面に存在する位置及びモーションキューを解析することにより、道路の標高をモデルしてよい。さらに、処理ユニット110は、1又は複数の画像内の特徴点のセットを追跡することにより、車両200に関連付けられているピッチ及びロールレートを推定してよい。
段階556において、処理ユニット110は、例えば、連続する画像フレームにわたって検出されたセグメントを追跡すること、及び、検出されたセグメントに関連付けられているフレームごとのデータを蓄積することにより、マルチフレーム解析を実行してよい。処理ユニット110がマルチフレーム解析を実行するので、段階554で構築された測定値のセットは、より信頼できるものとなり、ますます高い信頼水準に関連付けられ得る。したがって、段階550、552、554及び556を実行することにより、処理ユニット110は、取り込まれた画像のセット内に現れる路面標示を識別し、車線形状情報を導出し得る。識別及び導出された情報に基づいて、処理ユニット110は、上記の図5Aに関連して説明されたように、車両200における1又は複数のナビゲーション応答を行ってよい。
段階558において、処理ユニット110は、その周囲のコンテキストにおいて、車両200に対する安全モデルをさらに展開するように、追加の情報源を考慮し得る。処理ユニット110は、安全モデルを用いて、システム100が安全な方式で車両200の自律制御を実行し得るコンテキストを画定してよい。安全モデルを展開するために、いくつかの実施形態において、処理ユニット110は、他の車両の位置及び動き、検出された道路の縁部及び境界、及び/又は、マップデータ(例えば、マップデータベース160からのデータ)から抽出された一般的な道路の道路形状描写を考慮してよい。追加の情報源を考慮することで、処理ユニット110は、路面標示及び車線の幾何学形状を検出するための冗長性を提供し、システム100の信頼性を高め得る。
図5Dは、開示される実施形態と矛盾しない、画像のセット内の交通信号灯を検出するための例示的なプロセス500Dを示すフローチャートである。処理ユニット110は、単眼画像解析モジュール402を実行して、プロセス500Dを実施してよい。段階560において、処理ユニット110は、画像のセットをスキャンすることができ、交通信号灯を含みそうな画像内の位置に現れるオブジェクトを識別してよい。例えば、処理ユニット110は、交通信号灯に対応する可能性が低いそれらのオブジェクトを除外して、候補オブジェクトのセットを構築するために、識別されたオブジェクトをフィルタリングしてよい。フィルタリングは、交通信号灯に関連付けられている様々な特性、例えば、(例えば、車両200に対する)形状、寸法、テクスチャ、位置などに基づいて行われてよい。そのような特性は、交通信号灯及び交通制御信号についての複数の例に基づいてよく、データベースに格納されてよい。いくつかの実施形態において、処理ユニット110は、可能性のある交通信号灯を反映する候補オブジェクトのセットに対してマルチフレーム解析を実行してよい。例えば、処理ユニット110は、連続する画像フレームにわたって候補オブジェクトを追跡し、候補オブジェクトの現実世界の位置を推定し、(交通信号灯である可能性が低い)移動しているそれらのオブジェクトを取り除いてよい。いくつかの実施形態において、処理ユニット110は、候補オブジェクトに対して色解析を実行し、可能性のある交通信号灯の内部に現れる検出された色の相対位置を識別してよい。
段階562において、処理ユニット110は、ジャンクションの幾何学形状を解析してよい。解析は、(i)車両200の側方のいずれかで検出された車線の数、(ii)道路上で検出されたマーキング(例えば、矢印マーク)、及び、(iii)マップデータから抽出されたジャンクションの記述(マップデータベース160からのデータなど)の任意の組み合わせに基づいてよい。処理ユニット110は、単眼解析モジュール402の実行から導出された情報を用いて解析を実行してよい。さらに、処理ユニット110は、段階560で検出された交通信号灯と車両200の近くに現れる車線との間の対応関係を判定してよい。
車両200がジャンクションに近づくと、段階564において、処理ユニット110は、解析されたジャンクションの幾何学形状及び検出された交通信号灯に関連付けられる信頼水準を更新してよい。例えば、ジャンクションに実際に現れる数と比較された、ジャンクションに現れると推定される交通信号灯の数は、信頼水準に影響を与え得る。したがって、信頼水準に基づいて、処理ユニット110は、安全性の条件を改善するために、車両200の運転者に制御を委任してよい。段階560、562及び564を実行することにより、処理ユニット110は、取り込まれた画像のセット内に現れる交通信号灯を識別し、ジャンクションの幾何学情報を解析してよい。識別及び解析に基づいて、処理ユニット110は、上記の図5Aに関連して説明されたように、車両200における1又は複数のナビゲーション応答を行ってよい。
図5Eは、開示される実施形態と矛盾しない、車両経路に基づいて車両200における1又は複数のナビゲーション応答を行うための例示的なプロセス500Eを示すフローチャートである。段階570において、処理ユニット110は、車両200に関連付けられる初期の車両経路を構築してよい。車両経路は、座標(x,z)に表される点のセットを用いて表されてよく、点のセット内の2点間の距離diは、1から5メートルの範囲に収まり得る。1つの実施形態において、処理ユニット110は、2つの多項式、例えば、左右の道路多項式を用いて、初期の車両経路を構築してよい。処理ユニット110は、2つの多項式間の幾何学的な中間点を計算し、もしあれば、予め定められたオフセット(例えば、スマート車線のオフセット)により、結果的な車両経路に含まれる各点をオフセットしてよい(ゼロのオフセットは、車線の中央での走行に対応し得る)。オフセットは、車両経路内の任意の2点間のセグメントと垂直な方向に行われてよい。別の実施形態において、処理ユニット110は、1つの多項式及び推定される車線幅を用いて、推定される車線幅の半分に加えて予め定められたオフセット(例えば、スマート車線のオフセット)だけ車両経路の各点をオフセットしてよい。
段階572において、処理ユニット110は、段階570で構築された車両経路を更新してよい。処理ユニット110は、車両経路を表す点のセットにおける2点間の距離dkが上述した距離diより短くなるように、高い解像度を用いて段階570で構築された車両経路を再構築してよい。例えば、距離dkは、0.1から0.3メートルの範囲に収まり得る。処理ユニット110は、車両経路の全長に対応する(すなわち、車両経路を表す点のセットに基づいて)累積距離ベクトルSを生じ得る放物線スプラインアルゴリズムを用いて車両経路を再構築してよい。
段階574において、処理ユニット110は、段階572で構築された更新済みの車両経路に基づいて、((xl,zl)として座標に表される)先読み点を判定してよい。処理ユニット110は、累積距離ベクトルSから先読み点を抽出してよく、先読み点は、先読み距離及び先読み時間に関連付けられてよい。10から20メートルまでの範囲に下限を有し得る先読み距離は、車両200の速度と先読み時間との積として算出され得る。例えば、車両200の速度が落ちた場合、先読み距離も(例えば、下限に達するまで)縮まり得る。逆に、0.5から1.5秒までの範囲であり得る先読み時間は、車両200におけるナビゲーション応答を行うことに関連付けられる1又は複数の制御ループ、例えば、進行方向の誤差追跡制御ループのゲインに比例し得る。例えば、進行方向の誤差追跡制御ループのゲインは、ヨーレートループの帯域幅、ステアリングアクチュエータループ、及び、車の横方向の運動状態などに依存し得る。したがって、進行方向の誤差追跡制御ループのゲインが高くなると、先読み時間が短くなる。
段階576において、処理ユニット110は、段階574で判定された先読み点に基づいて、進行方向の誤差及びヨーレートコマンドを判定してよい。処理ユニット110は、先読み点の逆正接、例えば、arctan(xl/zl)を算出することにより進行方向の誤差を判定してよい。処理ユニット110は、進行方向の誤差とハイレベル制御ゲインの積として、ヨーレートコマンドを判定してよい。先読み距離が下限にない場合、ハイレベル制御ゲインは、(2/先読み時間)に等しくなり得る。そうでない場合、ハイレベル制御ゲインは、(2×車両200の速度/先読み距離)に等しくなり得る。
図5Fは、開示される実施形態と矛盾しない、先行車両が車線を変更しているかを判定するための例示的なプロセス500Fを示すフローチャートである。段階580において、処理ユニット110は、先行車両(例えば、車両200の前方を走行する車両)に関連付けられているナビゲーション情報を判定してよい。例えば、処理ユニット110は、上記の図5A及び図5Bに関連して説明された技術を用いて、先行車両の位置、速度(例えば、方向及び速度)、及び/又は、加速度を判定してよい。処理ユニット110は、上記の図5Eに関連して説明された技術を用いて、1又は複数の道路多項式、(車両200に関連付けられる)先読み点、及び/又は、スネイルトレイル(例えば、先行車両がとる経路を記述する点のセット)を判定してもよい。
段階582において、処理ユニット110は、段階580で判定されたナビゲーション情報を解析してよい。1つの実施形態において、処理ユニット110は、スネイルトレイルと道路多項式との間の(例えば、軌跡に沿う)距離を計算してよい。軌跡に沿うこの距離の分散が、予め定められた閾値(例えば、直線道路では0.1から0.2メートル、適度にカーブした道路では0.3から0.4メートル、及び、急カーブのある道路では0.5から0.6メートル)を超える場合、処理ユニット110は、先行車両が車線を変更しそうであると判定してよい。複数の車両が車両200の前方を走行していることが検出された場合、処理ユニット110は、各車両に関連付けられたスネイルトレイルを比較してよい。比較に基づいて、処理ユニット110は、スネイルトレイルが他の車両のスネイルトレイルと一致していない車両が車線を変更しそうであると判定してよい。処理ユニット110は、(先行車両に関連付けられている)スネイルトレイルの曲率を先行車両が走行している道路セグメントの予想される曲率とさらに比較してよい。予想される曲率は、マップデータから(例えば、マップデータベース160からのデータから)、道路多項式から、他の車両のスネイルトレイルから、及び、道路についての予備知識などから抽出されてよい。スネイルトレイルの曲率と道路セグメントの予想される曲率との差が、予め定められた閾値を超える場合、処理ユニット110は、先行車両が車線を変更しそうであると判定してよい。
別の実施形態において、処理ユニット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は、(より近い)先行車両が車線を変更しそうであると判定してよい。
段階584において、処理ユニット110は、段階582で実行された解析に基づいて、先行車両200が車線を変更しているか否かを判定してよい。例えば、処理ユニット110は、段階582で実行された個々の解析の重み付けされた平均に基づいた判定を行ってよい。そのようなスキームの下、例えば、特定のタイプの解析に基づいて、先行車両が車線を変更しそうであるとの処理ユニット110による判定は、「1」の値が割り当てられてよい(「0」は、先行車両が車線を変更しそうにないとの判定を表す)。段階582で実行された異なる解析は、異なる重みが割り当てられてよく、開示される実施形態では、解析及び重みの特定の組み合わせに限定されることはない。
図6は、開示される実施形態と矛盾しない、ステレオ画像解析に基づいて1又は複数のナビゲーション応答を行うための例示的なプロセス600を示すフローチャートである。段階610において、処理ユニット110は、データインタフェース128を介して第1及び第2の複数の画像を受信してよい。例えば、画像取得ユニット120に含まれるカメラ(例えば、視野202及び204を有する画像取込デバイス122及び124)は、車両200の前方の領域の第1及び第2の複数の画像を取り込み、それらをデジタル接続(例えば、USB、無線、Bluetooth(登録商標)など)を介して処理ユニット110に伝送してよい。いくつかの実施形態において、処理ユニット110は、2又はそれより多くのデータインタフェースを介して第1及び第2の複数の画像を受信してよい。開示される実施形態は、特定のデータインタフェース構成又はプロトコルに限定されることはない。
段階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に対する位置、速度及び/又は加速度は、画像ストリームの一方又は両方に現れるオブジェクトに関連付けられる特徴の軌跡、位置、動作特性などに基づいて判定され得る。
段階630において、処理ユニット110は、ナビゲーション応答モジュール408を実行して、段階620において実行された解析、及び、図4に関連して上述したような技術に基づいて、車両200における1又は複数のナビゲーション応答を行ってよい。ナビゲーション応答は、例えば、方向転換、車線変更、加速度の変更、速度の変更及びブレーキなどを含み得る。いくつかの実施形態において、処理ユニット110は、速度及び加速度モジュール406の実行から導出されたデータを用いて、1又は複数のナビゲーション応答を行ってよい。さらに、複数のナビゲーション応答は、同時に、順番に、又は、それらの任意の組み合わせで生じ得る。
図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にデータを通信するために関連するデータインタフェースを有してよい。開示される実施形態は、特定のデータインタフェース構成又はプロトコルに限定されることはない。
段階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の複数の画像に対して行われる解析のタイプに限定されることはない。
いくつかの実施形態において、処理ユニット110は、段階710及び720で取得及び解析された画像に基づいて、システム100に対するテストを実行してよい。そのようなテストは、画像取込デバイス122、124及び126の特定の構成に対して、システム100の全体的な性能のインジケータを提供してよい。例えば、処理ユニット110は、「偽のヒット」(例えば、システム100が、車両又は歩行者の存在を間違って判定した場合)及び「見逃し」の割合を判定してよい。
段階730において、処理ユニット110は、第1、第2及び第3の複数の画像のうちの2つから導出された情報に基づいて、車両200における1又は複数のナビゲーション応答を行ってよい。第1、第2及び第3の複数の画像のうちの2つを選択することは、様々な要素、例えば、複数の画像のそれぞれにおいて検出されたオブジェクトの数、タイプ及びサイズなどに依存し得る。処理ユニット110は、画像品質及び解像度、画像内に反映される効果的な視野、取り込まれたフレームの数、及び、関心のある1又は複数の物体がフレームに実際に現れる程度(例えば、オブジェクトが現れるフレームのパーセンテージ、それぞれのそのようなフレームにおいて現れるオブジェクトの割合など)などに基づいた選択を行ってもよい。
いくつかの実施形態において、処理ユニット110は、他の画像源から導出された情報と矛盾しない1つの画像源から導出された情報の程度を判定することにより、第1、第2及び第3の複数の画像のうちの2つから導出された情報を選択してよい。例えば、処理ユニット110は、画像取込デバイス122、124及び126のそれぞれから導出された処理された情報(単眼解析によるものか、ステレオ解析によるものか、又は、これら2つの任意の組み合わせによるものか)を結合し、画像取込デバイス122、124及び126のそれぞれから取り込まれた画像にわたって合致する視覚インジケータ(例えば、車線標示、検出された車両及びその位置及び/又は経路、検出された交通信号灯など)を判定してよい。処理ユニット110は、取り込まれた画像にわたって一貫性のない情報(例えば、車線を変更している車両、車両200に近すぎる車両を示す車線モデルなど)を除外してもよい。したがって、処理ユニット110は、一貫性のある情報及び一貫性のない情報の判定に基づいて、第1、第2及び第3の複数の画像のうちの2つから導出された情報を選択してよい。
ナビゲーション応答は、例えば、方向転換、車線変更及び加速度の変更などを含み得る。処理ユニット110は、段階720において実行された解析、及び、図4に関連して上述したような技術に基づいて、1又は複数のナビゲーション応答を行ってよい。処理ユニット110は、速度及び加速度モジュール406の実行から導出されるデータを用いて、1又は複数のナビゲーション応答を行ってもよい。いくつかの実施形態において、処理ユニット110は、第1、第2及び第3の複数の画像のいずれか内で検出されたオブジェクトと車両200との間の相対位置、相対速度及び/又は相対加速度に基づいて、1又は複数のナビゲーション応答を行ってよい。複数のナビゲーション応答が、同時に、順番に、又は、それらの任意の組み合わせで生じ得る。
自律走行車両のナビゲーションに対するスパース道路モデル
いくつかの実施形態において、開示されるシステム及び方法は、自律走行車両のナビゲーションに対するスパースマップを用いてよい。特に、スパースマップは、道路セグメントに沿う自律走行車両のナビゲーションのためであってよい。例えば、スパースマップは、多量のデータを格納及び/又は更新することなく、自律走行車両をナビゲートするために十分な情報を提供してよい。以下でさらに詳細に議論されるように、自律走行車両は、スパースマップを用いて、1又は複数の格納された軌跡に基づいて、1又は複数の道路をナビゲートしてよい。
自律走行車両のナビゲーションに関するスパースマップ
いくつかの実施形態において、開示されるシステム及び方法は、自律走行車両のナビゲーションのためのスパースマップを生成してよい。例えば、スパースマップは、過剰なデータストレージ又はデータ転送レートを必要とすることなく、ナビゲーションに十分な情報を提供し得る。以下でさらに詳細に議論されるように、車両(自律走行車両であってよい)は、スパースマップを用いて、1又は複数の道路をナビゲートしてよい。例えば、いくつかの実施形態において、スパースマップは、車両ナビゲーションのために十分であり得るが、小さいデータフットプリントも示す道路及び当該道路に沿う潜在的なランドマークに関連するデータを含み得る。例えば、以下で詳細に説明されるスパースデータマップは、詳細なマップ情報、例えば、道路に沿って収集された画像データを含むデジタルマッピングと比較して、ストレージ空間及びデータ転送帯域幅が大幅に少なくなり得る。
例えば、道路セグメントの詳細な表現を格納するよりはむしろ、スパースデータマップは、道路に沿う好ましい車両経路の3次元多項式表現を格納してよい。これらの経路は、ほとんどデータストレージ空間を必要とし得ない。さらに、説明したスパースデータマップにおいて、ランドマークは、ナビゲーションに役立てるために、スパースマップ道路モデルにおいて識別され、含められ得る。これらのランドマークは、車両ナビゲーションを有効にするのに適切な任意の間隔で配置されてよいが、場合によっては、そのようなランドマークは、高密度かつ短い間隔でモデルにおいて、識別され、含められる必要はない。むしろ、場合によっては、少なくとも50メートル、少なくとも100メートル、少なくとも500メートル、少なくとも1キロメートル又は少なくとも2キロメートル分、間隔が空いているランドマークに基づいて、ナビゲーションが可能であり得る。他のセクションでより詳細に議論されるように、車両が車道に沿って走行する際に、様々なセンサ及びデバイス、例えば、画像取込デバイス、グローバルポジショニングシステムセンサ、モーションセンサなどを備える車両により収集又は測定されたデータに基づいて、スパースマップが生成され得る。場合によっては、特定の車道に沿う1又は複数の車両の複数の運転中に収集されたデータに基づいて、スパースマップが生成され得る。1又は複数の車両の複数の運転を用いてスパースマップを生成することは、スパースマップを「クラウドソーシングする」と称され得る。
開示される実施形態と矛盾することなく、自律走行車両システムは、ナビゲーションのためにスパースマップを用いてよい。例えば、開示されるシステム及び方法は、自律走行車両に対する道路ナビゲーションモデルを生成するためにスパースマップを供給してよく、スパースマップ及び/又は生成された道路ナビゲーションモデルを用いて、道路セグメントに沿って自律走行車両をナビゲートしてよい。本開示と矛盾しないスパースマップは、自律走行車両が、関連する道路セグメントに沿って移動するときに通過し得る予め定められた軌跡を表し得る1又は複数の3次元輪郭を含み得る。
本開示と矛盾しないスパースマップは、1又は複数の道路特徴を表すデータを含んでもよい。そのような道路特徴は、認識されたランドマーク、道路シグネチャプロファイル及び車両をナビゲートするのに有用な任意の他の道路関連の特徴を含み得る。本開示と矛盾しないスパースマップは、スパースマップに含まれる相対的に少量のデータに基づいて、車両の自律ナビゲーションを可能にし得る。例えば、道路の詳細な表現、例えば、道路縁部、道路曲率、道路セグメントに関連付けられた画像、又は、道路セグメントに関連付けられた他の物理的な特徴を詳しく説明するデータを含むよりはむしろ、スパースマップについての開示される実施形態は、相対的に小さいストレージ空間(及び、スパースマップの一部が車両に転送される場合は、相対的に小さい帯域幅)を必要としてよいが、さらに自律走行車両のナビゲーションのために十分に提供してよい。以下でさらに詳細に議論される開示されたスパースマップの小さいデータフットプリントは、少量のデータしか必要としない道路関連要素の表現を格納することによりいくつかの実施形態において実現され得るが、依然として、自律ナビゲーションを可能にする。
例えば、道路の様々な態様の詳細な表現を格納するよりはむしろ、開示されたスパースマップは、車両が道路に沿って進み得る1又は複数の軌跡の多項式表現を格納してよい。したがって、開示されたスパースマップを用いて道路に沿ったナビゲーションを可能するために、道路の物理的な性質に関する詳細を格納する(又は、転送する必要がある)よりはむしろ、場合によっては、道路の物理的な態様を解釈する必要なく、むしろ、その走行経路を特定の道路セグメントに沿った軌跡(例えば、多項式スプライン)と揃えることで、車両が特定の道路セグメントに沿ってナビゲートされてよい。このようにして、車両は、車道画像、道路パラメータ、道路レイアウトなどの格納を含む手法よりもストレージ空間がかなり少なくなり得る格納された軌跡(例えば、多項式スプライン)に主に基づいてナビゲートされ得る。
道路セグメントに沿う格納された軌跡の多項式表現に加えて、開示されたスパースマップは、道路特徴を表し得るスモールデータオブジェクトを含んでもよい。いくつかの実施形態において、スモールデータオブジェクトは、デジタル署名を含んでよく、デジタル署名は、道路セグメントに沿って走行する車両に搭載されたセンサ(例えば、カメラ又は、サスペンションセンサなどの他のセンサ)から取得されたデジタル画像(又は、デジタル信号)から導出される。デジタル署名は、センサにより取得された信号に関連する縮小したサイズを有し得る。いくつかの実施形態において、デジタル署名は、例えば、その後の運転中に、センサにより取得される信号から道路特徴を検出及び識別するように構成される分類機能と互換性を有するように作成され得る。いくつかの実施形態において、その後の時点で、同じ道路セグメントに沿って走行しているカメラが搭載された車両により取り込まれる道路特徴の画像(又は、格納された署名が画像に基づいていない、及び/又は、他のデータを含む場合、センサにより生成されたデジタル信号)に基づいて、道路特徴が、格納された署名と相関がある、又はこれとマッチングする能力を維持しつつ、デジタル署名は、デジタル署名ができるだけ少ないフットプリントを有するように作成されてよい。
いくつかの実施形態において、データオブジェクトのサイズは、さらに、道路特徴の一意性に関連付けられてよい。例えば、車両に搭載されたカメラにより検出可能な道路特徴について、車両に搭載されたカメラシステムが、特定のタイプの道路特徴、例えば、道路標識に関連付けられるように、その道路特徴に対応する画像データを区別することが可能な分類器に結合され、そのような道路標識は、その領域において局所的に一意(例えば、近くに同一の道路標識又は同じタイプの道路標識が存在しない)であり、道路特徴及びその位置のタイプを示すデータを格納するのに十分であり得る。
以下でさらに詳細に議論されるように、道路特徴(例えば、道路セグメントに沿うランドマーク)は、相対的数バイトで道路特徴を表現し得るスモールデータオブジェクトとして格納されてよいが、同時に、そのようなナビゲーションのための特徴を認識及び用いるのに十分な情報を提供する。一例では、道路標識は、車両のナビゲーションの基礎となり得る認識されたランドマークとして識別され得る。道路標識の表現は、例えば、ランドマークのタイプ(例えば、停止標識)を示す数バイトのデータ、及び、ランドマークの位置(例えば、座標)を示す数バイトのデータを含むスパースマップに格納されてよい。(例えば、ランドマークに基づいて検索、認識及びナビゲートするのに十分な表現を用いる)ランドマークのそのような軽いデータ表現に基づいたナビゲートは、スパースマップに関連付けられるデータオーバーヘッドを大幅に増加させることなく、スパースマップに関連付けられる所望のレベルのナビゲーション機能性を提供してよい。ランドマーク(及び他の道路特徴)のこの無駄のない表現は、特定の道路特徴を検出、識別及び/又は分類するように構成されるそのような車両に含まれ搭載されたセンサ及びプロセッサを利用し得る。
例えば、所与の領域において、標識、又はもっと言えば、特定のタイプの標識が局所的に一意である場合(例えば、他の標識が存在しない、又は、同じタイプの他の標識が存在しない場合)、スパースマップは、ランドマークのタイプ(標識、又は特定のタイプの標識)を示すデータを用いてよく、ナビゲーション(例えば、自律ナビゲーション)中に、自律走行車両に搭載されたカメラが、標識を含む領域の(又は特定のタイプの標識)の画像を取り込んだ場合、プロセッサは、画像を処理し、(画像内に実際に存在する場合)標識を検出し、標識として(又は特定のタイプの標識として)画像を分類し、当該画像の位置をスパースマップに格納されている標識の位置と相関させてよい。
スパースマップの生成
いくつかの実施形態において、スパースマップは、道路セグメントに沿って広がる路面特徴、及び、道路セグメントに関連付けられる複数のランドマークとのうちの少なくとも1つのライン表現を含み得る。特定態様において、スパースマップは、「クラウドソーシング」を介して、例えば、1又は複数の車両が道路セグメントを通過するときに取得された複数の画像の画像解析を通じて、生成されてよい。
図8は、1又は複数の車両、例えば、車両200(自律走行車両であってよい)が、自律走行車両のナビゲーションを提供するためにアクセスし得るスパースマップ800を示す。スパースマップ800は、メモリ、例えば、メモリ140又は150に格納され得る。そのようなメモリデバイスは、任意のタイプの非一時的ストレージデバイス又はコンピュータ可読媒体を含み得る。例えば、いくつかの実施形態において、メモリ140又は150は、ハードドライブ、コンパクトディスク、フラッシュメモリ、磁気ベースのメモリデバイス、光学ベースのメモリデバイスなどを含み得る。いくつかの実施形態において、スパースマップ800は、メモリ140又は150又は他のタイプのストレージデバイスに格納され得るデータベース(例えば、マップデータベース160)に格納されてよい。
いくつかの実施形態において、スパースマップ800は、車両200に搭載されて提供されるストレージデバイス又は非一時的なコンピュータ可読媒体(例えば、車両200に搭載されたナビゲーションシステムに含まれるストレージデバイス)に格納され得る。車両200に提供されるプロセッサ(例えば、処理ユニット110)は、車両が道路セグメントを通過するときに、自律走行車両200を案内するためのナビゲーション命令を生成するために、車両200に搭載されて提供されるストレージデバイス又はコンピュータ可読媒体に格納されるスパースマップ800にアクセスしてよい。
しかしながら、スパースマップ800は、車両に対してローカルに格納される必要はない。いくつかの実施形態において、スパースマップ800は、車両200又は車両200に関連付けられるデバイスと通信するリモートサーバに提供されるストレージデバイス又はコンピュータ可読媒体に格納され得る。車両200に提供されるプロセッサ(例えば、処理ユニット110)は、リモートサーバからスパースマップ800に含まれるデータを受信してよく、車両200の自律運転を案内するためのデータを実行してよい。そのような実施形態において、リモートサーバは、スパースマップ800のすべて又はその一部だけを格納してよい。したがって、車両200及び/又は1又は複数の追加の車両に搭載されて提供されるストレージデバイス又はコンピュータ可読媒体は、スパースマップ800のその他の部分を格納してよい。
さらに、そのような実施形態において、スパースマップ800は、様々な道路セグメント(例えば、車両の数十、数百、数千又は数百万など)を通過する複数の車両にアクセス可能となり得る。スパースマップ800が複数のサブマップを含んでよいことも留意されたい。例えば、いくつかの実施形態において、スパースマップ800は、車両をナビゲートする際に用いられ得る数百、数千、数百又はそれより多くのサブマップを含んでよい。そのようなサブマップは、ローカルマップと称されてよく、車道に沿って走行する車両は、車両が走行している位置に関連する任意の数のローカルマップにアクセスしてよい。スパースマップ800のローカルマップ部分は、スパースマップ800のデータベースに対するインデックスとして、全球測位衛星システム(GNSS)キーを用いて格納してよい。したがって、本システムにおいて、ホスト車両をナビゲートするためのステアリング角度の計算が、ホスト車両のGNSS位置、道路特徴又はランドマークに頼ることなく実行され得る一方、そのようなGNSS情報は、関連するローカルマップの検索用に用いられてよい。
一般に、スパースマップ800は、車道に沿って1又は複数の車両が走行するときに、それらから収集されたデータに基づいて生成されてよい。例えば、1又は複数の車両に乗せられたセンサ(例えば、カメラ、速度計、GPS、加速度計など)を用いて、車道に沿って1又は複数の車両が走行する軌跡が記録されてよく、車道に沿って後続の移動を行う車両に対する好ましい軌跡の多項式表現は、1又は複数の車両により走行された収集された軌跡に基づいて判定され得る。同様に、1又は複数の車両により収集されたデータは、特定の車道に沿う可能性のあるランドマークを識別するのに役立ち得る。通過する車両から収集されたデータは、例えば、道路幅プロファイル、道路粗さプロファイル、動線間隔プロファイル、道路条件などの道路プロファイル情報を識別するために用いられてもよい。収集された情報を用いて、スパースマップ800は、1又は複数の自律走行車両をナビゲートする際に用いるために、(例えば、ローカルストレージに対して、又は、オンザフライデータ伝送を介して)生成及び供給されてよい。しかしながら、いくつかの実施形態において、マップの生成は、マップの初期生成時に終了しない場合がある。以下でより詳細に議論されるように、それらの車両がスパースマップ800に含まれる車道を通過し続けながら、スパースマップ800は、車両から収集されたデータに基づいて継続的に又は定期的に更新されてよい。
スパースマップ800に記録されるデータは、グローバルポジショニングシステム(GPS)データに基づく位置情報を含んでよい。例えば、ランドマークの位置、道路プロファイルの位置などを含む様々なマップ要素について、例えば、位置情報がスパースマップ800に含まれてよい。スパースマップ800に含まれるマップ要素の位置は、車道を通過する車両から収集されたGPSデータを用いて取得され得る。例えば、特定されたランドマークを通過する車両は、車両に関連付けられたGPS位置情報、及び、(例えば、車両に搭載された1又は複数のカメラから収集されたデータの画像解析に基づく)車両に対する特定されたランドマークの位置の判定を用いて、特定されたランドマークの位置を判定してよい。特定されたランドマーク(又は、スパースマップ800に含まれる他の任意の特徴)のそのような位置判定は、追加の車両が特定されたランドマークの位置を通ったときに、繰り返され得る。追加の位置判定の一部又はすべては、特定されたランドマークに対するスパースマップ800に格納されている位置情報を精緻化するために用いられてよい。例えば、いくつかの実施形態において、スパースマップ800に格納されている特定の特徴に対する複数の位置測定値は、一緒に平均化されてよい。しかしながら、任意の他の数学的な演算が、マップ要素に対して複数の判定された位置に基づいて、マップ要素の格納された位置を精緻化するために用いられてもよい。
開示される実施形態のスパースマップは、相対的少ない量の格納されたデータを用いて、車両の自律ナビゲーションを可能にし得る。いくつかの実施形態において、スパースマップ800は、道路1キロメートル当たり2MB未満、道路1キロメートル当たり1MB未満、道路1キロメートル当たり500kB未満、又は、道路1キロメートル当たり100kB未満のデータ密度(例えば、ターゲット軌跡、ランドマーク及び任意の他の格納された道路特徴を表すデータを含む)を有してよい。いくつかの実施形態において、スパースマップ800のデータ密度は、道路1キロメートル当たり10kB未満、もっと言えば、道路1キロメートル当たり2kB未満(例えば、1キロメートル当たり1.6kB)、又は、道路1キロメートル当たり10kB以下、又は、道路1キロメートル当たり20kB以下であってよい。いくつかの実施形態において、すべてではないとしても、米国の車道のほとんどが、合計4GB又はそれ未満のデータを有するスパースマップを用いて自律的にナビゲートされ得る。これらのデータ密度の値は、スパースマップ800全体にわたる、スパースマップ800内のローカルマップにわたる、及び/又は、スパースマップ800内の特定の道路セグメントにわたる平均を表し得る。
述べたように、スパースマップ800は、道路セグメントに沿う自律運転又はナビゲーションを案内するための複数のターゲット軌跡810の表現を含んでよい。そのようなターゲット軌跡は、3次元スプラインとして格納され得る。例えば、スパースマップ800に格納されたターゲット軌跡は、特定の道路セグメントに沿う車両の以前の通過時における2又はそれより多くの再構築された軌跡に基づいて判定されてよい。道路セグメントは、単一のターゲット軌跡又は複数のターゲット軌跡に関連付けられてよい。例えば、2車線道路では、第1方向における道路に沿った走行の対象経路を表すために、第1のターゲット軌跡が格納されてよく、別の方向(例えば、第1方向とは反対)における道路に沿った走行の対象経路を表すために、第2のターゲット軌跡が格納されてよい。特定の道路セグメントに関して、追加のターゲット軌跡が格納され得る。例えば、複数車線の道路では、複数車線の道路に関連付けられる1又は複数の車線にいる車両に対する走行の対象経路を表す1又は複数のターゲット軌跡が格納されてよい。いくつかの実施形態において、複数車線の道路の各車線は、独自のターゲット軌跡に関連付けられてよい。他の実施形態において、複数車線の道路上に存在する車線よりも少ないターゲット軌跡が格納されてよい。そのような場合、複数車線の道路をナビゲートする車両は、格納されたターゲット軌跡のいずれかを用いて、ターゲット軌跡が格納される車線からの車線オフセットの量を考慮して、そのナビゲーションを案内してよい(例えば、3車線高速道路のうち最も左側の車線において、車両が走行しており、ターゲット軌跡が、高速道路の中央車線に対してしか格納されていない場合、車両は、ナビゲーション命令を生成するときに、中央車線と最も左側の車線との間の車線オフセットの量を考慮することにより、中央車線のターゲット軌跡を用いてナビゲートしてよい)。
いくつかの実施形態において、ターゲット軌跡は、車両が走行するときに、車両が取るべき理想的な経路を表し得る。ターゲット軌跡は、例えば、走行車線のほぼ中央に配置されてよい。他の場合、ターゲット軌跡は、道路セグメントに関して他の箇所に配置されてよい。例えば、ターゲット軌跡は、道路の中央、道路の縁部又は車線の縁部などとほぼ一致し得る。そのような場合、ターゲット軌跡に基づくナビゲーションは、ターゲット軌跡の位置に対して維持されるべき判定された量のオフセットを含んでよい。さらに、いくつかの実施形態において、ターゲット軌跡の位置に対して維持されるべき判定された量のオフセットは、車両のタイプに基づいて異なり得る(例えば、ターゲット軌跡の少なくとも一部に沿って、2つの車軸を含む乗用車は、2つより多くの車軸を含むトラックとは異なるオフセットを有し得る)。
スパースマップ800は、特定の道路セグメント、ローカルマップなどに関連付けられる複数の予め定められたランドマーク820に関連するデータを含んでもよい。以下でより詳細に議論されるように、これらのランドマークは、自律走行車両のナビゲーションの際に用いられ得る。例えば、いくつかの実施形態において、ランドマークは、格納されたターゲット軌跡に対する車両の現在位置を判定するために用いられ得る。この位置情報を用いて、自律走行車両は、判定された位置におけるターゲット軌跡の方向に一致するように、進行方向を調節でき得る。
複数のランドマーク820は、任意の適切な間隔でスパースマップ800に識別及び格納されてよい。いくつかの実施形態において、ランドマークは、相対的に高い密度(例えば、数メートルごと又はそれ以上)で格納されてよい。しかしながら、いくつかの実施形態において、かなり大きめのランドマークスペーシング値が使用されてよい。例えば、スパースマップ800において、識別(又は認識)されるランドマークは、10メートル、20メートル、50メートル、100メートル、1キロメートル又は2キロメートル分、間隔が空いていてよい。場合によっては、特定されたランドマークは、2キロメートルよりもさらに離れた距離で配置されてよい。
ランドマーク間、したがって、ターゲット軌跡に対する車両位置の判定の間、車両がセンサを用いて、そのエゴモーションを判定し、ターゲット軌跡に対するその位置を推定するデッドレコニングに基づいて、車両はナビゲートしてよい。デッドレコニングによるナビゲーション中に誤差が蓄積し得るので、ターゲット軌跡に対する経時的な位置判定は、次第に正確ではなくなる場合がある。車両は、スパースマップ800に存在するランドマーク(それらの既知の位置)を用いて、位置判定においてデッドレコニングによって誘導される誤差を取り除き得る。このようにして、スパースマップ800に含まれる特定されたランドマークは、ターゲット軌跡に対する車両の正確な位置が判定され得るナビゲーション用アンカーとしての役割を果たし得る。適切な場所の位置において、特定の量の誤差が許容可能であり得るので、特定されたランドマークは、自律走行車両に常に利用可能である必要はない。むしろ、適切なナビゲーションは、依然として、上記で述べたように、10メートル、20メートル、50メートル、100メートル、500メートル、1キロメートル、2キロメートル又はそれより長いランドマークスペーシングに基づくことが可能であり得る。いくつかの実施形態において、道路1kmごとに1つの特定されたランドマークの密度は、1m以内の長手方向の位置判定精度を維持するのに十分であり得る。したがって、道路セグメントに沿って現れるすべての可能性のあるランドマークがスパースマップ800に格納される必要があるわけではない。
さらに、いくつかの実施形態において、車線標示は、ランドマークスペーシング中の車両の位置を特定するために用いられ得る。ランドマークスペーシング中の車線標示を用いることにより、デッドレコニングによるナビゲーション中の蓄積が最小化され得る。
ターゲット軌跡及び特定されたランドマークに加えて、スパースマップ800は、様々な他の道路特徴に関連する情報を含んでよい。例えば、図9Aは、スパースマップ800に格納され得る特定の道路セグメントに沿う曲線の表現を示す。いくつかの実施形態において、道路の単一の車線は、道路の左側及び右側についての3次元多項式記述によりモデル化されてよい。単一の車線の左側及び右側を表すそのような多項式が図9Aに示される。道路がいくつの車線を有し得るかに関わらず、図9Aに示されるのと同様のやり方で多項式を用いて、道路が表されてよい。例えば、複数車線の道路の左側及び右側は、図9Aに示されるものと同様の多項式により表されてよく、複数車線の道路に含まれる中間の車線標示(例えば、車線の境界を表す破線マーキング、異なる方向に走行する車線間の境界を表す黄色の実線など)は、図9Aに示されるものなどの多項式を用いて表されてもよい。
図9Aに示されるように、車線900は、多項式(例えば、1次、2次、3次又は任意の適切な次数の多項式)を用いて表されてよい。例として、車線900は2次元の車線として示されており、多項式は2次元多項式として示される。図9Aに示されるように、車線900は、左側910及び右側920を含む。いくつかの実施形態において、1より大きい多項式は、道路又は車線の境界の各側の位置を表すために用いられてよい。例えば、左側910及び右側920のそれぞれは、任意の適切な長さの複数の多項式により表され得る。場合によっては、多項式は、約100mの長さを有し得るが、100mより長い又は短い他の長さが用いられてもよい。さらに、ホスト車両が車道に沿って走行するときに、その後に遭遇する多項式に基づいて、ナビゲートする際にシームレスな移行を促すために、多項式は、互いに重なり合うことができる。例えば、左側910及び右側920のそれぞれは、長さ約100メートルのセグメント(予め定められた第1範囲の例)に分離され、約50メートル分、互いに重なり合う複数の3次多項式により表されてよい。左側910及び右側920を表す多項式は、同じ次数を有していてもいなくてもよい。例えば、いくつかの実施形態において、いくつかの多項式は、2次多項式であってよく、いくつかは、3次多項式であってよい、及び、いくつかは、4次多項式であってよい。
図9Aに示される例において、車線900の左側910は、3次多項式の2つのグループにより表される。第1のグループは、多項式セグメント911、912及び913を含む。第2のグループは、多項式セグメント914、915及び916を含む。2つのグループ、互いに実質的に平行である一方、道路のそれらのそれぞれの側の位置に従う。多項式セグメント911、912、913、914、915及び916は、約100メートルの長さを有し、連続して隣接するセグメントと約50メートル分重なり合う。しかしながら、前述のように、異なる長さ及び異なる重なり合う量の多項式が用いられてもよい。例えば、多項式は、500m、1km又はそれより長い長さを有してよく、重なり合う量は、0から50m、50mから100m、又は100mより大きく変化してよい。さらに、図9Aが、2D空間(例えば、紙の表面上)に拡張した多項式を表したものとして示されるが、これらの多項式は、X-Y湾曲に加えて道路セグメント内の高度変化を表すために、3次元(例えば、高さ成分を含む)に広がる曲線を表し得ることが理解されるべきである。図9Aに示される例では、車線900の右側920は、さらに、多項式セグメント921、922及び923を有する第1のグループと、及び多項式セグメント924、925及び926を有する第2のグループとにより表される。
スパースマップ800のターゲット軌跡に戻ると、図9Bは、特定の道路セグメントに沿って走行する車両に対するターゲット軌跡を表す3次元多項式を示す。ターゲット軌跡は、ホスト車両が特定の道路セグメントに沿って走行すべきX-Y経路だけでなく、道路セグメントに沿って走行するときに、ホスト車両が経験する高度変化も表す。したがって、スパースマップ800における各ターゲット軌跡は、図9Bに示される3次元多項式950のように、1又は複数の3次元多項式により表され得る。スパースマップ800は、複数の軌跡(例えば、世界中の車道に沿う様々な道路セグメントに沿った車両の軌跡を表すために、数100万又は数10億又はそれ以上の軌跡)を含み得る。いくつかの実施形態において、各ターゲット軌跡は、3次元多項式セグメントをつなぐスプラインに対応し得る。
スパースマップ800に格納された多項式曲線のデータフットプリントに関して、いくつかの実施形態において、各3次多項式は、4つのパラメータにより表されてよく、それぞれは、4バイトのデータを必要とする。適切な表現は、100mごとに約192バイトデータを必要とする3次多項式で取得され得る。これは、時速約100kmで走行するホスト車両に対するデータ使用/転送要件では、毎時約200kBに相当し得る。
スパースマップ800は、幾何学記述子及びメタデータの組み合わせを用いて車線ネットワークを説明し得る。上述したように、幾何学形状は、多項式又はスプラインにより説明され得る。メタデータは、車線の数、特別な特性(例えば、カープール車線)及び可能性ある他のスパースラベルを説明し得る。そのようなインジケータの総フットプリントは、ごくわずかであり得る。
したがって、本開示される実施形態に係るスパースマップは、道路セグメントに沿って広がる路面特徴の少なくとも1つのライン表現、路面特徴に実質的に対応する道路セグメントに沿う経路を表す各ライン表現を含み得る。上述したように、いくつかの実施形態において、路面特徴の少なくとも1つのライン表現は、スプライン、多項式表現又は曲線を含んでよい。さらに、いくつかの実施形態において、路面特徴は、道路縁部又は車線標示のうちの少なくとも一方を含んでよい。さらに、「クラウドソーシング」に関して以下で議論されるように、路面特徴は、1又は複数の車両が道路セグメントを通過するときに取得された複数の画像の画像解析を通じて識別され得る。
前述のように、スパースマップ800は、道路セグメントに関連付けられる複数の予め定められたランドマークを含んでよい。ランドマークの実画像を格納し、例えば、取り込まれた画像及び格納された画像に基づく画像認識解析に依存するよりはむしろ、スパースマップ800内の各ランドマークは、格納された実画像が必要とするよりも少ないデータを用いて表され、認識されてよい。ランドマークを表すデータは、道路に沿うランドマークを説明又は識別するのに十分な情報をさらに含んでよい。ランドマークの実画像よりはむしろランドマークの特性を説明するデータを格納することは、スパースマップ800のサイズを減らし得る。
図10は、スパースマップ800において表され得るランドマークのタイプの例を示す。ランドマークは、道路セグメントに沿う任意の視認可能で識別可能なオブジェクトを含んでよい。ランドマークは、それらが一定であり、それらの位置及び/又はコンテンツに関してあまり変化しないように選択されてよい。スパースマップ800に含まれるランドマークは、車両が特定の道路セグメントを通過するときのターゲット軌跡に関する車両200の位置を判定する際に有用であり得る。ランドマークの例は、交通標識、方向標識、一般的な標識(例えば、長方形の標識)、沿道構造物(例えば、街灯柱、反射板など)及び任意の他の適切なカテゴリを含んでよい。いくつかの実施形態において、道路上の車線標示がスパースマップ800内のランドマークとして含まれてもよい。
図10に示されるランドマークの例は、交通標識、方向標識、沿道構造物及び一般的な標識を含む。交通標識は、例えば、速度制限標識(例えば、速度制限標識1000)、イールド標識(yield sign)(例えば、イールド標識1005)、経路番号標識(例えば、経路番号標識1010)、交通信号灯標識(例えば、交通信号灯標識1015)、停止標識(例えば、停止標識1020)を含んでよい。方向標識は、異なる位置への1又は複数の方向を示す1又は複数の矢印を含む標識を含んでよい。例えば、方向標識は、車両を異なる道路又は場所へ案内するための矢印、及び、車両を道路から離れる方に外れる方に案内する矢印を有する出口の標識1030などを有する高速道路標識1025を含んでよい。したがって、複数のランドマークのうちの少なくとも1つは道路標識を含んでよい。
一般的な標識は、交通とは無関係であり得る。例えば、一般的な標識は、広告用に用いられる掲示板、又は、2つの国、州、群、市又は町の間の境界に隣接するウェルカムボードを含んでよい。図10は、一般的な標識1040(「Joe's Restaurant」)を示す。一般的な標識1040は、長方形の形状を有し得るが、図10に示されるように、一般的な標識1040は、他の形状、例えば、正方形、円形、三角形などを有してもよい。
ランドマークは、沿道構造物(roadside fixtures)を含んでもよい。沿道構造物は、標識ではないオブジェクトであってよく、交通又は方向に関連していなくてもよい。例えば、沿道構造物は、街灯柱(例えば、街灯柱1035)、電柱、交通信号灯の柱などを含んでよい。
ランドマークは、自律走行車両のナビゲーションシステムにおける使用のために特別に設計され得るビーコンを含んでもよい。例えば、そのようなビーコンは、ホスト車両をナビゲートする際に役立つように、予め定められた間隔で配置されるスタンドアロン構造を含んでよい。そのようなビーコンは、道路セグメントに沿って走行する車両により識別又は認識され得る既存の道路標識に加えられる視覚/グラフィック情報(例えば、アイコン、エンブレム、バーコードなど)を含んでもよい。そのようなビーコンは、電子コンポーネントを含んでもよい。そのような実施形態において、電子ビーコン(例えば、RFIDタグなど)は、非視覚情報をホスト車両に伝送するために用いられ得る。そのような情報は、例えば、ホスト車両がターゲット軌跡に沿ってその位置を判定する際に用いられ得るランドマークの識別情報及び/又はランドマークの位置情報を含んでよい。
いくつかの実施形態において、スパースマップ800に含まれるランドマークは、予め定められたサイズのデータオブジェクトにより表され得る。ランドマークを表すデータは、特定のランドマークを識別するための任意の適切なパラメータを含み得る。例えば、いくつかの実施形態において、スパースマップ800に格納されるランドマークは、例えば、ランドマークの物理的サイズ(例えば、既知のサイズ/スケールに基づいてランドマークへの距離の推定をサポートする)、以前のランドマークへの距離、横方向のオフセット、高さ、タイプコード(例えば、ランドマークのタイプ-どのようなタイプの方向標識、交通標識など)、GPS座標(例えば、グローバルな位置特定をサポートする)及び、任意の他の適切なパラメータなどのパラメータを含み得る。各パラメータは、データサイズに関連付けられ得る。例えば、ランドマークのサイズは、8バイトのデータを用いて格納されてよい。以前のランドマークへの距離、横方向のオフセット、及び高さは、12バイトのデータを用いて規定されてよい。方向標識又は交通標識などのランドマークに関連付けられるタイプコードは、約2バイトのデータを必要とし得る。一般的な標識について、一般的な標識の識別を可能にする画像署名は、50バイトのデータストレージを用いて格納され得る。ランドマークのGPS位置は、16バイトのデータストレージに関連付けられ得る。各パラメータに対するこれらのデータサイズは例に過ぎず、他のデータサイズも用いられてよい。
この方式で、スパースマップ800にランドマークを表すことは、データベースにランドマークを効率的に表すための無駄のない解決策を提示し得る。いくつかの実施形態において、標識は、セマンティックな標識及び非セマンティックな標識と称され得る。セマンティックな標識は、標準的な意味がある任意の分類の標識(例えば、速度制限標識、警告標識、方向標識など)を含み得る。非セマンティックな標識は、標準的な意味に関連付けられていない任意の標識(例えば、事業所を識別する一般的な広告標識など)を含み得る。例えば、各セマンティックな標識は、38バイト(例えば、サイズに対して8バイト、以前のランドマークへの距離、横方向のオフセット及び高さに対して12バイト、タイプコードに対して2バイト、及び、GPS座標に対して16バイト)のデータで表され得る。スパースマップ800は、タグシステムを用いてランドマークのタイプを表してよい。場合によっては、各交通標識又は方向標識は、独自のタグに関連付けられてよく、ランドマークの識別情報の一部としてデータベースに格納され得る。例えば、データベースは、様々な交通標識を表すために約1000の異なるタグを含んでよく、方向標識を表すために約10000の異なるタグを含んでよい。もちろん、任意の適切な数のタグが用いられてよく、追加のタグが必要に応じて作成されてよい。いくつかの実施形態において、汎用の標識は、約100バイトより小さい(例えば、サイズに対して8バイト、以前のランドマークへの距離、横方向のオフセット及び高さに対して12バイト、画像署名に対して50バイト、及び、GPS座標に対して16バイトを含む約86バイト)を用いて表され得る。
したがって、画像署名を必要としないセマンティックな道路標識について、スパースマップ800に対するデータ密度影響は、ランドマークの密度が50m当たり約1つと比較的高い場合であっても、1キロメートル当たり約760バイト(例えば、1km当たり20個のランドマーク×1ランドマーク当たり38バイト=760バイト)であり得る。画像署名コンポーネントを含む汎用の標識を考慮しても、データ密度影響は、1km当たり約1.72kB(例えば、1km当たり20個のランドマーク×1ランドマーク当たり86バイト=1720バイト)である。セマンティックな道路標識について、これは、時速100kmで走行する車両に対する1時間当たりのデータ使用量が約76kBに相当する。汎用の標識について、これは、時速100kmで走行する車両に対して1時間当たり約170kBに相当する。
いくつかの実施形態において、概して長方形のオブジェクト、例えば、長方形の標識は、100バイト以下のデータによりスパースマップ800において表され得る。スパースマップ800における概して長方形のオブジェクト(例えば、一般的な標識1040)の表現は、概して長方形のオブジェクトに関連付けられる簡略化した画像署名(例えば、簡略化した画像署名1045)を含み得る。この簡略化した画像署名は、例えば、例えば汎用の標識を認識されたランドマークとして識別するのに寄与するように用いられ得る。そのような簡略化した画像署名(例えば、オブジェクトを表す実画像データから導出された画像情報)は、オブジェクトの実画像を格納する必要性、又は、ランドマークを認識するために実画像に対して実行される画像解析と比較する必要性を回避し得る。
図10を参照すると、スパースマップ800は、一般的な標識1040の実画像よりはむしろ、一般的な標識1040に関連付けられる簡略化した画像署名1045を含んでよい又は格納してよい。例えば、画像取込デバイス(例えば、画像取込デバイス122、124又は126)は、一般的な標識1040の画像を取り込み、プロセッサ(例えば、画像プロセッサ190、又は、ホスト車両に乗せられた、又は、ホスト車両に対して離れて配置された、画像を処理できる任意の他のプロセッサ)は、画像解析を実行して、一般的な標識1040に関連付けられた一意の署名又はパターンを含む簡略化した画像署名1045を抽出/作成してよい。1つの実施形態において、簡略化した画像署名1045は、形状、色、パターン、明度パターン、又は、一般的な標識1040を説明するための一般的な標識1040の画像から抽出され得る他の任意の特徴を含み得る。
例えば、図10において、簡略化した画像署名1045に示される円形、三角形及び星形は、異なる色の領域を表し得る。円、三角及び星により表されるパターンは、スパースマップ800に、例えば、画像署名を含むように指定される50バイト内に格納され得る。特に、円形、三角形及び星形は、そのような形状が画像署名の一部として格納されることを示すことを必ずしも意味するものではない。むしろ、これらの形状は、識別可能な色差、テクスチャ領域、グラフィック形状、又は、汎用の標識に関連付けられ得る特性の他のバリエーションを有する認識可能な領域を概念的に表すことを意味する。そのような簡略化した画像署名は、一般的な標識の形式でランドマークを識別するために用いられ得る。例えば、簡略化した画像署名は、例えば、自律走行車両に搭載されたカメラを用いて取り込まれた画像データと格納された簡略化した画像署名の比較に基づいて同じ-同じでない解析(same-not-same analysis)を実行するために用いられ得る。
したがって、複数のランドマークは、1又は複数の車両が道路セグメントを通過するときに取得された複数の画像の画像解析を通じて識別され得る。「クラウドソーシング」に関して以下で説明されるように、いくつかの実施形態において、複数のランドマークを識別するための画像解析は、ランドマークが現れていない画像に対する、ランドマークが現れている画像の割合が閾値を超えている場合、可能性のあるランドマークを承認することを含み得る。さらに、いくつかの実施形態において、複数のランドマークを識別するための画像解析は、ランドマークが現れている画像に対する、ランドマークが現れていない画像の割合が閾値を超えている場合、可能性のあるランドマークを拒否することを含み得る。
ホスト車両が特定の道路セグメントでのナビゲートに用い得るターゲット軌跡に戻ると、図11Aは、スパースマップ800を構築又は維持する処理の間に取り込まれた多項式表現の軌跡を示す。スパースマップ800に含まれるターゲット軌跡の多項式表現は、同じ道路セグメントに沿った車両の以前の通過時における2又はそれより多くの再構築された軌跡に基づいて判定され得る。いくつかの実施形態において、スパースマップ800に含まれるターゲット軌跡の多項式表現は、同じ道路セグメントに沿った車両の以前の通過時における2又はそれより多くの再構築された軌跡の集合であり得る。いくつかの実施形態において、スパースマップ800に含まれるターゲット軌跡の多項式表現は、同じ道路セグメントに沿った車両の以前の通過時における2又はそれより多くの再構築された軌跡の平均であり得る。他の数学的な演算は、道路セグメントに沿って通過する車両から収集された再構築された軌跡に基づいて、道路経路に沿うターゲット軌跡を構築するためにも用いられ得る。
図11Aに示されるように、異なる時間に多数の車両200が道路セグメント1100を走行し得る。各車両200は、道路セグメントに沿って車両が走行した経路に関連するデータを収集してよい。特定の車両により走行される経路は、可能性のある情報源の中でも特にカメラデータ、加速度計情報、速度センサ情報、及び/又は、GPS情報に基づいて判定され得る。そのようなデータは、道路セグメントに沿って走行する車両の軌跡を再構築するために用いられてよく、これらの再構築された軌跡に基づいて、ターゲット軌跡(又は、複数のターゲット軌跡)は、特定の道路セグメントに対して判定され得る。そのようなターゲット軌跡は、車両が道路セグメントに沿って走行するときの、(例えば、自律ナビゲーションシステムにより案内される)ホスト車両の好ましい経路を表してよい。
図11Aに示される例において、第1の再構築された軌跡1101は、第1の時間期間(例えば、1日目)に道路セグメント1100を通過する第1の車両から受信したデータに基づいて判定されてよく、第2の再構築された軌跡1102は、第2の時間期間(例えば、2日目)に道路セグメント1100を通過する第2の車両から取得されてよく、第3の再構築された軌跡1103は、第3の時間期間(例えば、3日目)に道路セグメント1100を通過する第3の車両から取得されてよい。各軌跡1101、1102及び1103は、3次元多項式などの多項式により表され得る。いくつかの実施形態において、再構築された軌跡のいずれかが、道路セグメント1100を通過する車両上で、組み立てられ得ることに留意されたい。
さらに又は代替的に、そのような再構築された軌跡は、道路セグメント1100を通過する車両から受信した情報に基づいて、サーバ側で判定され得る。例えば、いくつかの実施形態において、車両200は、道路セグメント1100に沿うそれらの動き(例えば、数ある中でも特に、ステアリング角度、進行方向、時間、位置、速度、検知された道路の幾何学形状、及び/又は、検知されたランドマーク)に関連するデータを1又は複数のサーバに伝送してよい。サーバは、受信したデータに基づいて、車両200に対する軌跡を再構築してよい。サーバは、第1、第2及び第3の軌跡1101、1102及び1103に基づいて、その後に同じ道路セグメント1100に沿って走行する自律走行車両のナビゲーションを案内するためのターゲット軌跡を生成してもよい。ターゲット軌跡が、道路セグメントの単一の以前の通過に関連付けられ得る一方、いくつかの実施形態において、スパースマップ800に含まれる各ターゲット軌跡は、同じ道路セグメントを通過する車両の2又はそれより多くの再構築された軌跡に基づいて判定され得る。図11Aにおいて、ターゲット軌跡は、1110により表される。いくつかの実施形態において、ターゲット軌跡1110は、第1、第2及び第3の軌跡1101、1102及び1103の平均に基づいて生成され得る。いくつかの実施形態において、スパースマップ800に含まれるターゲット軌跡1110は、2又はそれより多くの再構築された軌跡の集合(例えば、重み付けされた組み合わせ)であり得る。
図11B及び図11Cは、地理的な領域1111内に存在する道路セグメントに関連付けられるターゲット軌跡の概念をさらに示す。図11Bに示されるように、地理的な領域1111内の第1の道路セグメント1120は、第1方向における車両走行に対して指定される2つの車線1122、及び、第1方向とは反対の第2方向における車両走行に対して指定される2つの追加の車線1124を含む複数車線道路を含み得る。車線1122及び車線1124は、2重の黄色い車線1123によって分離されていてよい。地理的な領域1111は、道路セグメント1120と交わる分岐した道路セグメント1130を含んでもよい。道路セグメント1130は、2車線道路を含んでよく、各車線は異なる走行方向に対して指定される。地理的な領域1111は、他の道路特徴、例えば、停止線1132、停止標識1134、速度制限標識1136及びハザードサイン1138を含んでもよい。
図11Cに示されるように、スパースマップ800は、地理的な領域1111内の車両の自律ナビゲーションを支援するための道路モデルを含むローカルマップ1140を含み得る。例えば、ローカルマップ1140は、地理的な領域1111内の道路セグメント1120及び/又は1130に関連付けられる1又は複数の車線に対するターゲット軌跡を含み得る。例えば、ローカルマップ1140は、車線1122を通過するときに、自律走行車両がアクセス又は依存し得るターゲット軌跡1141及び/又は1142を含み得る。同様に、ローカルマップ1140は、車線1124を通過するときに、自律走行車両がアクセス又は依存し得るターゲット軌跡1143及び/又は1144を含み得る。さらに、ローカルマップ1140は、道路セグメント1130を通過するときに、自律走行車両がアクセス又は依存し得るターゲット軌跡1145及び/又は1146を含み得る。ターゲット軌跡1147は、車線1120(特に、車線1120の最も右側の車線に関連付けられているターゲット軌跡1141に関連する)から道路セグメント1130(特に、道路セグメント1130の第1の側に関連付けられているターゲット軌跡1145に関連する)へ移行するときに、自律走行車両が進むべき好ましい経路を表す。同様に、ターゲット軌跡1148は、道路セグメント1130(特に、ターゲット軌跡1146に関する)から道路セグメント1124の一部(特に、示されるように、車線1124の左側車線に関連付けられているターゲット軌跡1143に関する)へ移行するときに自律走行車両が進むべき好ましい経路を表す。
スパースマップ800は、地理的な領域1111に関連付けられる他の道路関連特徴の表現を含んでもよい。例えば、スパースマップ800は、地理的な領域1111において識別される1又は複数のランドマークの表現を含んでもよい。そのようなランドマークは、停止線1132に関連付けられる第1のランドマーク1150、停止標識1134に関連付けられる第2のランドマーク1152、速度制限標識1154に関連付けられる第3のランドマーク、及び、ハザードサイン1138に関連付けられる第4のランドマーク1156を含んでよい。そのようなランドマークは、例えば、示されるターゲット軌跡いずれかに対するその現在位置を判定する際に、自律走行車両を支援するために用いられてよく、判定された位置におけるターゲット軌跡の方向と一致するように、車両がその進行方向を調節してよい。
いくつかの実施形態において、スパースマップ800は、道路シグネチャプロファイルを含んでもよい。そのような道路シグネチャプロファイルは、道路に関連付けられる少なくとも1つのパラメータにおいて、任意の識別可能/測定可能なバリエーションに関連付けられてよい。例えば、場合によっては、そのようなプロファイルは、路面情報におけるバリエーション、例えば、特定の道路セグメントの表面粗さにおけるバリエーション、特定の道路セグメントにわたる道路幅におけるバリエーション、特定の道路セグメントに沿って塗装された点線の間の距離におけるバリエーション、特定の道路セグメントに沿う道路曲率におけるバリエーションなどに関連付けられてよい。図11Dは、道路シグネチャプロファイル1160の例を示す。プロファイル1160は、上記で挙げられたパラメータのいずれかを表し得る一方、他にも一例において、プロファイル1160は、例えば、車両が特定の道路セグメントを走行しているときに、サスペンションのずれの量を示す出力を提供する1又は複数のセンサを監視することにより取得されるような、路面の粗さの測定を表してよい。
代替的に又は同時に、プロファイル1160は、特定の道路セグメントを走行する車両に搭載されたカメラを介して取得される画像データに基づいて判定される道路幅のバリエーションを表してよい。そのようなプロファイルは、例えば、特定のターゲット軌跡に対する自律走行車両の特定の位置を判定する際に有用であり得る。つまり、道路セグメントを通過するときに、自律走行車両は、道路セグメントに関連付けられる1又は複数のパラメータに関連付けられるプロファイルを測定してよい。測定されたプロファイルが、道路セグメントに沿う位置に対するパラメータバリエーションをプロットする予め定められたプロファイルと相互に関連があり得/一致し得る場合、道路セグメントに沿う現在位置、したがって、道路セグメントのターゲット軌跡に対する現在位置を判定するために、測定され予め定められたプロファイルが(例えば、測定され予め定められたプロファイルの対応する部分を重ね合わせることにより)用いられてよい。
いくつかの実施形態において、スパースマップ800は、自律走行車両のユーザ、環境条件、及び/又は、運転に関連する他のパラメータに関連付けられる異なる特性に基づいた異なる軌道を含み得る。例えば、いくつかの実施形態において、異なる軌跡は、異なるユーザの好み及び/又はプロファイルに基づいて生成され得る。そのような異なる軌跡を含むスパースマップ800は、異なるユーザの異なる自律走行車両に提供され得る。例えば、一部のユーザは、有料道路を回避することを優先させてよく、一方、その他のユーザは、経路上に有料道路が存在するかに関わらず、最も短い又は最も速い経路を取ることを優先させてよい。開示されるシステムは、そのような異なるユーザの好み又はプロファイルに基づいた異なる軌道を用いて、異なるスパースマップを生成してよい。別の例として、一部のユーザは、高速車線で走行することを優先させてよく、一方、他のユーザは、常に、中央車線に位置を保持することを優先させてよい。
異なる軌跡は、異なる環境条件、例えば、日中及び夜間、雪、雨、霧などに基づいて、スパースマップ800を生成され及びこれに含まれ得る。異なる環境条件下で運転する自律走行車両は、そのような異なる環境条件に基づいて生成されたスパースマップ800が提供され得る。いくつかの実施形態において、自律走行車両に提供されるカメラは、環境条件を検出してよく、スパースマップを生成及び提供するサーバにそのような情報を返してよい。例えば、サーバは、検出された環境条件下の自律運転にとってより適切又は安全であり得る軌跡を含めるように、すでに生成されたスパースマップ800を生成又は更新してよい。環境条件に基づくスパースマップ800の更新は、自律走行車両が道路に沿って走行するときに、動的に実行され得る。
運転に関連する他の異なるパラメータは、異なる自律走行車両に異なるスパースマップを生成及び提供するための基準として用いられてもよい。例えば、自律走行車両が高速で走行しているときに、方向転換が厳しくなり得る。自律走行車両が特定の軌跡に従う際に、同車両が特定の車線内を維持し得るように、道路よりはむしろ、特定の車線に関連付けられる軌跡がスパースマップ800に含まれ得る。自律走行車両に搭載されたカメラにより取り込まれた画像が、車両が車線の外側にドリフトした(例えば、車線標示を越えた)ことを示す場合、特定の軌跡に従って指定された車線に車両を戻し得るように車両内で動作がトリガされてよい。
スパースマップのクラウドソーシング
いくつかの実施形態において、開示されるシステム及び方法は、自律走行車両のナビゲーションに対するスパースマップを生成してよい。例えば、開示されるシステム及び方法は、1又は複数の自律走行車両が道路のシステムに沿ってナビゲートするために用い得るスパースマップの生成のためにクラウドソーシングされたデータを用いてよい。本明細書で用いられるような「クラウドソーシング」は、異なる時間に道路セグメントを走行する様々な車両(例えば、自律走行車両)からデータが受信されることを意味し、そのようなデータは、道路モデルを生成及び/又は更新するために用いられる。次に、モデルは、自律走行車両のナビゲーションを支援するために、道路セグメントに沿って後に走行する車両又は他の車両に伝送されてよい。道路モデルは、自律走行車両が道路セグメントを通過するときに、それらが進むべき好ましい軌跡を表す複数のターゲット軌跡を含み得る。ターゲット軌跡は、車両からサーバに伝送され得る道路セグメントを通過する車両から収集される再構築される実際の軌跡と同じであり得る。いくつかの実施形態において、ターゲット軌跡は、道路セグメントを通過するときに、1又は複数の車両が以前に取った実際の軌跡とは異なり得る。ターゲット軌跡は、(例えば、平均化、又は、任意の他の適切な演算を通じて)実際の軌跡に基づいて生成され得る。
車両がサーバにアップロードし得る車両の軌跡データは、車両に対して実際の再構築された軌跡に対応してよく、又は、車両の実際の再構築された軌跡に基づく又は関連し得るが実際の再構築された軌跡とは異なり得る推奨された軌跡に対応してよい。例えば、車両は、それらの実際の再構築された軌跡を修正し、修正された実際の軌跡をサーバに提出(例えば、推奨)してよい。道路モデルは、他の車両の自律ナビゲーションに対するターゲット軌跡として、推奨され、修正された軌跡を用いてよい。
軌跡情報に加えて、スパースデータマップ800を構築する際に使用され得る他の情報は、可能性のあるランドマーク候補に関連する情報を含み得る。例えば、情報のクラウドソーシングを通じて、開示されるシステム及び方法は、環境内の可能性のあるランドマークを識別し、ランドマークの位置を精緻化してよい。ランドマークは、ターゲット軌跡に沿って車両の位置を判定及び/又は調節するために、自律走行車両のナビゲーションシステムにより用いられてよい。
車両が道路に沿って走行するときに、車両が生成し得る再構築された軌跡は、任意の適切な方法により取得されてよい。いくつかの実施形態において、再構築された軌跡は、例えば、エゴモーション推定(例えば、カメラ、したがって、車両の車体の3次元並進及び3次元回転)を用いて、車両に対する動きのセグメントを互いに結合することにより展開され得る。回転及び並進推定は、他のセンサ又はデバイス、例えば、慣性センサ及び速度センサからの情報と共に1又は複数の画像取込デバイスにより取り込まれた画像の解析に基づいて判定され得る。例えば、慣性センサは、加速度計、又は、車体の並進及び/又は回転の際の変化を測定するように構成される他の適したセンサを含み得る。車両は、車両の速度を測定する速度センサを含み得る。
いくつかの実施形態において、カメラ(したがって、車体)のエゴモーションは、取り込まれた画像のオプティカルフロー解析に基づいて推定され得る。画像のシーケンスのオプティカルフロー解析は、画像のシーケンスから画素の動作を識別し、識別した動作に基づいて、車両の動きを判定する。エゴモーションは、車両が辿った道路セグメントに関連付けられた軌跡を再構築するために、経時的に道路セグメントに沿って統合され得る。
異なる時間に、道路セグメントに沿った複数の車両の複数の運転により収集されるデータ(例えば、再構築された軌跡)は、スパースデータマップ800に含まれる(例えば、ターゲット軌跡などを含む)道路モデルを構築するために用いられてよい。異なる時間に、道路セグメントに沿う複数の運転において複数の車両により収集されたデータは、モデルの精度を向上させるために平均化されてもよい。いくつかの実施形態において、道路の幾何学形状及び/又はランドマークに関するデータは、異なる時間に、共通の道路セグメントを通じて走行する複数の車両から受信され得る。異なる車両から受信されるそのようなデータは、道路モデルを生成し、及び/又は、道路モデルを更新するように組み合わせられ得る。
道路セグメントに沿って再構築された軌跡の幾何学形状(及び、ターゲット軌跡も)は、3次元空間内の曲線により表されてよく、3次元多項式をつなぐスプラインであってよい。再構築された軌跡の曲線は、車両に設置されたカメラにより取り込まれたビデオストリーム又は複数の画像の解析から判定されてよい。いくつかの実施形態において、車両の現在位置の数メートル前方にある各フレーム又は画像において、位置が識別される。この位置は、予め定められた時間期間内に車両が走行することが予想される場所である。この操作は、フレームごとに繰り返されてよく、同時に、車両はカメラのエゴモーション(回転及び並進)を計算してよい。各フレーム又は画像において、カメラに取り付けられた基準フレーム内の車両により、所望の経路に対する短い範囲のモデルが生成される。短い範囲のモデルは、いくつかの座標フレーム内の道路の3次元モデルを取得するために一緒に結合されてよく、任意の又は予め定められた座標フレームであってよい。次に、道路の3次元モデルは、適切な次数で構成される1又は複数の多項式を含む、又は、接続し得る、スプラインによりフィッテイングされてよい。
各フレームにおいて短い範囲の道路モデルを完成させるために、1又は複数の検出モジュールが用いられてよい。例えば、ボトムアップ車線検出モジュールが用いられてよい。ボトムアップ車線検出モジュールは、車線標示が道路に描かれている場合に有用であり得る。このモジュールは、画像内のエッジを見つけて、それらを一緒に組み立てて車線標示を形成し得る。第2モジュールは、ボトムアップ車線検出モジュールと一緒に用いられてよい。第2モジュールは、入力画像から正確な短い範囲の経路を予測するように訓練され得る、端末間のディープニューラルネットワークである。両方のモジュールにおいて、道路モデルは、画像の座標フレームにおいて検出され、カメラに仮想的に取り付けられ得る3次元空間に変換されてよい。
再構築された軌跡のモデル化方法は、長期間にわたるエゴモーションの統合に起因する、ノイズ成分を含み得る誤差の蓄積を伴い得るが、生成されるモデルは、局所的なスケールにわたるナビゲーションに十分な精度を提供し得るので、そのような誤差は、重要ではない。さらに、衛星画像又は測地測量などの外部の情報源を用いることにより、統合された誤差を打ち消すことが可能である。例えば、開示されるシステム及び方法は、GNSS受信器を用いて、蓄積された誤差を打ち消してよい。しかしながら、GNSSポジショニング信号は、常に取得可能で正確なわけではない場合がある。開示されるシステム及び方法は、GNSSポジショニングの有効性及び精度に深く依存しないステアリングアプリケーションを可能にし得る。そのようなシステムにおいて、GNSS信号の使用が制限される場合がある。例えば、いくつかの実施形態において、開示されるシステムは、データベースのインデックス作成の目的だけのためにGNSS信号を用いてよい。
いくつかの実施形態において、自律走行車両のナビゲーションステアリングアプリケーションについて関連し得る距離範囲(例えば、局所的なスケール)は、約50メートル、100メートル、200メートル、300メートルなどであってよい。主に、先の軌跡を計画し、道路モデルにおける車両の位置特定という2つの目的のために幾何学な道路モデルが用いられるため、そのような距離が用いられてよい。いくつかの実施形態において、1.3秒先(又は、1.5秒、1.7秒、2秒などの任意の時間)に配置されたターゲット点に従って、制御アルゴリズムが車両を操縦する場合、タスクを計画することは、40メートル前方の典型的な範囲(又は、20メートル、30メートル、50メートルなどの任意の他の適切な前方距離)にわたるモデルを用いてよい。位置特定タスクは、別の欄でより詳細に説明される「テールアライメント」と呼ばれる方法に従って、自動車の60メートル後方(又は、任意の他の適切な距離、例えば、50メートル、100メートル、150メートルなど)の典型的な範囲にわたる道路モデルを用いる。開示されるシステム及び方法は、計画された軌跡が、例えば、車線中央から30cm以上逸れないように、特定の範囲、例えば、100メートルにわたって十分な精度を有する幾何学モデルを生成し得る。
上記で説明したように、3次元道路モデルは、短い範囲の部分を検出し、それらを互いに結合することで構築され得る。結合は、カメラにより取り込まれたビデオ及び/又は画像、車両の動きに反射する慣性センサからのデータ、及び、ホスト車両の速度信号を用いて、6段階のエゴモーションモデルを計算することにより有効にされ得る。蓄積された誤差は、約100メートルなど、一部の局所的な距離範囲に対しては十分小さくなり得る。これはすべて、特定の道路セグメントにわたる単一の運転において完了し得る。
いくつかの実施形態において、結果的なモデルを平均化し、その精度をさらに向上させるために複数の運転が用いられてよい。同じ自動車が複数回同じ経路を走行してよく、又は複数の自動車が、それらが収集したモデルのデータをセントラルサーバに送信してよい。いずれの場合でも、マッチング手順は、ターゲット軌跡を生成するために、重なり合うモデルを識別し、平均を可能にするように実行され得る。構築されるモデル(例えば、ターゲット軌跡を含む)は、束基準を満たすと、ステアリングのために用いられ得る。さらなるモデル改善のために、かつ、インフラの変化に適応するために、さらにその後の運転が用いられ得る。
複数の自動車間の運転経験(例えば、検知データ)の共有は、それらがセントラルサーバに接続されている場合に実現可能になる。各車両クライアントは、その現在位置に関連し得る普遍的な道路モデルの部分的なコピーを格納し得る。車両とサーバとの間の双方向更新手順が車両及びサーバにより実行され得る。上述した小型フットプリントの概念は、開示されるシステム及び方法に、極めて狭い帯域幅を用いて、双方向更新を実行可能にする。
可能性のあるランドマークに関連する情報が判定されてもよく、セントラルサーバに転送されてもよい。例えば、開示されるシステム及び方法は、ランドマークを含む1又は複数の画像に基づいて、可能性のあるランドマークについての1又は複数の物理的な特性を判定してよい。物理的な特性は、物理的サイズランドマークの(例えば、高さ、幅)、車両からランドマークまでの距離、以前のランドマークに対するランドマーク間の距離、ランドマークの横方向の位置(例えば、走行車線に関連するランドマークの位置)、ランドマークのGPS座標、ランドマークのタイプ、ランドマークにあるテキストの識別情報などを含み得る。例えば、車両は、カメラにより取り込まれた1又は複数の画像を解析して、速度制限標識などの可能性のあるランドマークを検出し得る。
車両は、1又は複数の画像の解析に基づいて、車両からランドマークまでの距離を判定し得る。いくつかの実施形態において、当該距離は、スケーリング方法及び/又はオプティカルフロー方法などの適切な画像解析方法を用いたランドマークの画像の解析に基づいて判定され得る。いくつかの実施形態において、開示されるシステム及び方法は、可能性のあるランドマークのタイプ又は分類を判定するように構成され得る。スパースマップに格納されている特定の可能性のあるランドマークが予め定められたタイプ又は分類に対応すると、車両が判定した場合、車両がランドマークのタイプ又は分類のインジケーションをその位置と共にサーバに通信するだけで十分な場合がある。サーバは、そのようなインジケーションを格納し得る。その後に、他の車両は、ランドマークの画像を取り込んで、(例えば、分類器を用いて)当該画像を処理し、画像を処理した結果を、ランドマークのタイプに関してサーバに格納されているインジケーションと比較し得る。様々なタイプのランドマークがあり得、異なるタイプのランドマークは、アップロード対象の異なるタイプのデータに関連付けられて、サーバに格納されてよく、異なる処理を搭載する車両は、ランドマークを検出して、ランドマークに関する情報をサーバに通信してよく、システムを搭載した車両は、サーバからランドマークのデータを受信し、自律ナビゲーションの際にランドマークを識別するために、当該ランドマークのデータを用いてよい。
いくつかの実施形態において、道路セグメントを走行する複数の自律走行車両は、サーバと通信し得る。車両(又はクライアント)は、(例えば、エゴモーション統合を通じて)その運転を表す曲線を任意の座標フレームに生成し得る。車両は、同じフレーム内にランドマークを検出し、それらを位置特定し得る。車両は、曲線及びランドマークをサーバにアップロードし得る。サーバは、複数の運転にわたって車両からのデータを収集し、統合された道路モデルを生成し得る。例えば、図19に関して以下で議論されるように、サーバは、アップロードされた曲線及びランドマークを用いて、統合された道路モデルを有するスパースマップを生成し得る。
サーバは、モデルをクライアント(例えば、車両)に供給してもよい。例えば、サーバは、スパースマップを1又は複数の車両に供給してよい。サーバは、車両から新たなデータを受信した場合、モデルを継続的に又は定期的に更新してよい。例えば、サーバは、新たなデータを処理して、当該データが、サーバ上の新たなデータの更新又は作成をトリガすべき情報を含むかを評価し得る。サーバは、自律走行車両のナビゲーションを提供するために、更新されたモデル又は更新を車両に供給し得る。
サーバは、車両から受信した新たなデータが、モデルに対する更新をトリガすべきか、新たなデータの作成をトリガすべきかを判定するための1又は複数の基準を用い得る。例えば、新たなデータが、特定の位置にあった以前に認識されたランドマークがもはや存在していない、又は、別のランドマークによって置き換えられていることを示す場合、サーバは、新たなデータがモデルに対する更新をトリガすべきであると判定し得る。別の例として、道路セグメントが閉鎖されていることを新たなデータが示す場合、かつ、これが他の車両から受信したデータにより裏付けられている場合、サーバは、新たなデータがモデルに対する更新をトリガすべきであると判定し得る。
サーバは、モデルに対する更新が関連付けられている道路セグメントを走行している1又は複数の車両に更新されたモデル(又は、モデルの更新された部分)を供給してよい。サーバは、モデルに対する更新が関連付けられている、道路セグメントを走行する予定の車両、又は、計画された移動が道路セグメントを含む車両に更新されたモデルを供給してもよい。例えば、更新が関連付けられている道路セグメントに到達する前の別の道路セグメントに沿って、自律走行車両が走行している間、サーバは、車両が道路セグメントに到達する前に、自律走行車両に更新又は更新されたモデルを供給し得る。
いくつかの実施形態において、リモートサーバは、複数のクライアント(例えば、共通の道路セグメントに沿って走行する車両)から軌跡及びランドマークを収集し得る。サーバは、複数の車両から収集した軌跡に基づいて、ランドマークを用いて曲線を一致させ、平均道路モデルを作成し得る。サーバは、道路のグラフ及び各ノードにおける最確経路、又は、道路セグメントの接続を計算してもよい。例えば、リモートサーバは、軌跡を揃えて、収集した軌跡からクラウドソーシングされたスパースマップを生成し得る。
サーバは、共通の道路セグメント、例えば、複数の車両により測定されるような一方のランドマークから他方のランドマーク(例えば、道路セグメントに沿った、以前のもの)の間の距離に沿って走行される複数の車両から受信したランドマーク属性を平均化して、弧の長さパラメータを判定し、経路に沿う位置特定及び各クライアント車両に対する速度較正をサポートし得る。サーバは、共通の道路セグメントに沿って走行され、同じランドマークが認識されている複数の車両により測定されたランドマークの物理的寸法を平均化し得る。平均化された物理的寸法は、距離の推定、例えば、車両からランドマークまでの距離をサポートするために用いられ得る。サーバは、共通の道路セグメントに沿って走行され、同じランドマークが認識されている複数の車両により測定されたランドマークの横方向の位置(例えば、車両がランドマークへ走行している車線からの位置)を平均化し得る。平均化された横方向の部分は、車線指定をサポートするために用いられ得る。サーバは、同じ道路セグメントに沿って走行され、同じランドマークが認識されている複数の車両により測定されたランドマークのGPS座標を平均化し得る。ランドマークの平均化されたGPS座標は、道路モデルにおいて、ランドマークのグローバルな位置特定又はポジショニングをサポートするために用いられ得る。
いくつかの実施形態において、サーバは、車両から受信したデータに基づいて、モデルの変更、例えば、工事、迂回路、新しい標識、標識の除去などを識別し得る。サーバは、車両から新たなデータを受信した際に、モデルを継続的に又は定期的に若しくは即座に更新し得る。サーバは、自律ナビゲーションを提供するために、モデルに更新を供給してよい、又は、車両に更新されたモデルを供給してよい。例えば、以下でさらに議論されるように、サーバは、クラウドソーシングされたデータを用いて、車両により検出された「ゴースト」ランドマークを取り除き得る。
いくつかの実施形態において、サーバは、自律運転中の運転者の干渉を解析し得る。サーバは、干渉が発生した時点及び位置で車両から受信したデータ、及び/又は、干渉が発生した時の前に受信したデータを解析し得る。サーバは、干渉が発生させ、又は、干渉に緊密に関連しているデータの特定の部分、例えば、一時的な車線通行止めの設定を示すデータ、道路内の歩行者を示すデータを識別し得る。サーバは、識別されたデータに基づいてモデルを更新し得る。例えば、サーバは、モデルに格納されている1又は複数の軌跡を修正し得る。
図12は、クラウドソーシングを用いて、スパースマップを生成する(及び、クラウドソーシングされたスパースマップを用いて供給しナビゲートする)システムの概略図である。図12は、1又は複数の車線を含む道路セグメント1200を示す。複数の車両1205、1210、1215、1220及び1225は、(図12では同時に道路セグメント1200上に現れるように示されているが)同時に又は異なる時間に道路セグメント1200を走行し得る。車両1205、1210、1215、1220及び1225のうちの少なくとも1つは、自律走行車両であってよい。本例を簡単にするために、車両1205、1210、1215、1220及び1225のすべてが自律走行車両であると仮定する。
各車両は、他の実施形態において開示される車両(例えば、車両200)と同様であってよく、他の実施形態において開示される車両に含まれる又はこれに関連付けられるコンポーネント又はデバイスを含んでよい。各車両は、画像取込デバイス又はカメラ(例えば、画像取込デバイス122又はカメラ122)を備え得る。各車両は、点線で示されるような無線通信経路1235を通じて、1又は複数のネットワークを介して(例えば、セルラネットワーク及び/又はインターネットなどを介して)リモートサーバ1230と通信し得る。各車両は、サーバ1230にデータを伝送し、サーバ1230からデータを受信し得る。例えば、サーバ1230は、異なる時間に道路セグメント1200を走行する複数の車両からデータを収集してよく、自律走行車両の道路ナビゲーションモデルを生成するために収集されたデータ、又は、又はモデルに対する更新を処理してよい。サーバ1230は、サーバ1230にデータを伝送した車両に、自律走行車両の道路ナビゲーションモデル又はモデルに対する更新を伝送し得る。サーバ1230は、その後に道路セグメント1200を走行する他の車両に、自律走行車両の道路ナビゲーションモデル又はモデルに対する更新を伝送し得る。
車両1205、1210、1215、1220及び1225が道路セグメント1200を走行しているときに、車両1205、1210、1215、1220及び1225により収集(例えば、検出、検知又は測定)されたナビゲーション情報は、サーバ1230に伝送され得る。いくつかの実施形態において、ナビゲーション情報は、共通の道路セグメント1200に関連付けられ得る。ナビゲーション情報は、各車両が道路セグメント1200にわたって走行するときに、車両1205、1210、1215、1220及び1225のそれぞれに関連付けられる軌跡を含み得る。いくつかの実施形態において、軌跡は、車両1205に提供される様々なセンサ及びデバイスにより検知されるデータに基づいて再構築され得る。例えば、軌跡は、加速度計データ、速度データ、ランドマークのデータ、道路の幾何学形状又はプロファイルデータ、車両の配置データ、エゴモーションデータのうちの少なくとも1つに基づいて再構築され得る。いくつかの実施形態において、軌跡は、慣性センサ、例えば、加速度計からのデータ、及び、速度センサにより検知された車両1205の速度に基づいて再構築され得る。さらに、いくつかの実施形態において、軌跡は、3次元並進及び/又は3次元回転(又は回転動作)を示し得るカメラの検知されたエゴモーションに基づいて、(例えば、車両1205、1210、1215、1220及び1225のそれぞれに搭載されたプロセッサにより)判定され得る。カメラ(したがって、車体)のエゴモーションは、カメラにより取り込まれた1又は複数の画像の解析から判定され得る。
いくつかの実施形態において、車両1205の軌跡は、車両1205に搭載されたプロセッサにより判定され、サーバ1230に伝送されてよい。他の実施形態において、サーバ1230は、車両1205に提供される様々なセンサ及びデバイスにより検知されたデータを受信し、車両1205からデータした受信に基づいて軌跡を判定し得る。
いくつかの実施形態において、車両1205、1210、1215、1220及び1225からサーバ1230に伝送されるナビゲーション情報は、路面、道路の幾何学形状又は道路プロファイルに関するデータを含んでよい。道路セグメント1200の幾何学形状は、車線構成及び/又はランドマークを含んでよい。車線構成は、道路セグメント1200の車線の総数、車線のタイプ(例えば、一方向車線、双方向車線、走行車線、追い越し車線など)、車線上のマーキング、車線の幅などを含んでよい。いくつかの実施形態において、ナビゲーション情報は、車線指定、例えば、車両走行する複数の車線のうち、1つの車線を含んでよい。例えば、車線指定は、左側又は右側から3番目の車線を車両が走行していることを示す数値「3」に関連付けられてよい。別の例として、車線指定は、車両が中央車線を走行していることを示すテキスト値「中央車線」に関連付けられてよい。
サーバ1230は、非一時的なコンピュータ可読媒体、例えば、ハードドライブ、コンパクトディスク、テープ、メモリなどにナビゲーション情報を格納し得る。サーバ1230は、(例えば、サーバ1230に含まれるプロセッサを通じて)複数の車両1205、1210、1215、1220及び1225から受信したナビゲーション情報に基づいて、共通の道路セグメント1200に対する自律走行車両の道路ナビゲーションモデルの少なくとも一部を生成してよく、スパースマップの一部として当該モデルを格納してよい。サーバ1230は、異なる時間に道路セグメントの車線を走行する複数の車両(例えば、1205、1210、1215、1220及び1225)から受信したクラウドソーシングされたデータ(例えば、ナビゲーション情報)に基づいて、各車線に関連付けられる軌跡を判定し得る。サーバ1230は、クラウドソーシングされたナビゲーションデータに基づいて判定された複数の軌跡に基づいて、自律走行車両の道路ナビゲーションモデル又はモデルの一部(例えば、更新された部分)を生成し得る。車両のナビゲーションシステムに提供される既存の自律走行車両の道路ナビゲーションモデルを更新するために、道路セグメント1200を走行している自律走行車両1205、1210、1215、1220及び1225のうちの1又は複数、又は、その後に道路セグメントを走行する任意の他の自律走行車両に、サーバ1230は、モデル又はモデルの更新された部分を伝送し得る。自律走行車両の道路ナビゲーションモデルは、共通の道路セグメント1200に自律的に沿ってナビゲートする際に自律走行車両により用いられ得る。
上記で説明したように、自律走行車両の道路ナビゲーションモデルは、スパースマップ(例えば、図8に示されるスパースマップ800)に含まれ得る。スパースマップ800は、道路に沿う道路の幾何学形状及び/又はランドマークに関連するデータのスパース記録を含んでよく、自律走行車両の自律ナビゲーションを案内するのに十分な情報を提供し得るが、過剰なデータストレージを要求することはない。いくつかの実施形態において、自律走行車両の道路ナビゲーションモデルは、スパースマップ800とは別々に格納されてよく、当該モデルがナビゲーション用に実行されるときに、スパースマップ800からのマップデータを用いてよい。いくつかの実施形態において、自律走行車両の道路ナビゲーションモデルは、自律走行車両1205、1210、1215、1220及び1225、又は、その後に道路セグメント1200に沿って走行する他の車両の自律ナビゲーションを案内するために、道路セグメント1200に沿うターゲット軌跡を判定するためのスパースマップ800に含まれるマップデータを用いてよい。例えば、自律走行車両の道路ナビゲーションモデルが車両1205のナビゲーションシステムに含まれるプロセッサにより実行される場合、モデルは、プロセッサに、車両1205の現在走行中のコースを検証及び/又は修正するために、スパースマップ800に含まれる予め定められた軌跡と、車両1205から受信したナビゲーション情報に基づいて判定された軌跡を比較させてよい。
自律走行車両の道路ナビゲーションモデルにおいて、道路特徴又はターゲット軌跡の幾何学形状は、3次元空間において曲線で符号化され得る。1つの実施形態において、曲線は、1又は複数の接続3次元多項式を含む3次元スプラインであってよい。当業者であれば、データを適合するために、スプラインが一連の多項式により区分的に定義された数値関数であり得ることを理解するだろう。道路の3次元幾何学形状データを適合するためのスプラインは、線形スプライン(1次)、二次スプライン(2次)、3次元スプライン(3次)又は任意の他のスプライン(他の次数)、又は、それらの組み合わせを含み得る。スプラインは、道路の3次元幾何学形状データのデータポイントをつなぐ(例えば、適合させる)異なる次元の1又は複数の3次元多項式を含み得る。いくつかの実施形態において、自律走行車両の道路ナビゲーションモデルは、共通の道路セグメント(例えば、道路セグメント1200)又は道路セグメント1200の車線に沿うターゲット軌跡に対応する3次元スプラインを含み得る。
上記で説明したように、スパースマップに含まれる自律走行車両の道路ナビゲーションモデルは、他の情報、例えば、道路セグメント1200に沿う少なくとも1つのランドマークの識別情報を含み得る。ランドマークは、車両1205、1210、1215、1220及び1225のそれぞれに設置されるカメラ(例えば、カメラ122)の視野内に見える場合がある。いくつかの実施形態において、カメラ122は、ランドマークの画像を取り込み得る。車両1205に提供されるプロセッサ(例えば、プロセッサ180、190又は処理ユニット110)は、ランドマークの画像を処理して、ランドマークに関する識別情報を抽出し得る。ランドマークの実画像よりはむしろ、ランドマークの識別情報がスパースマップ800に格納され得る。ランドマークの識別情報は、実画像よりもかなり少ないストレージ空間しか必要としない場合がある。他のセンサ又はシステム(例えば、GPSシステム)は、ランドマーク(例えば、ランドマークの位置)の特定の識別情報を提供してもよい。ランドマークは、交通標識、矢印マーク、車線標示、破線の車線標示、交通信号灯、停止線、方向標識(例えば、方向を示す矢印を有する高速道路の出口の標識、異なる方向又は場所を示す矢印を有する高速道路の標識)、ランドマークビーコン又は街灯柱のうちの少なくとも1つを含み得る。ランドマークビーコンは、車両に設置される受信器に信号を伝送又は反射する、道路セグメントに沿って設置されたデバイス(例えば、RFIDデバイス)を指し、車両がデバイスの側を通った場合に、車両により受信されたビーコン及びデバイスの位置(例えば、デバイスのGPSの位置から判定される)が自律走行車両の道路ナビゲーションモデル及び/又はスパースマップ800に含まれるべきランドマークとして用いられ得る。
少なくとも1つのランドマークの識別情報は、少なくとも1つのランドマークの位置を含み得る。ランドマークの位置は、複数の車両1205、1210、1215、1220及び1225に関連付けられるセンサシステム(例えば、グローバルポジショニングシステム、慣性ベースのポジショニングシステム、ランドマークビーコンなど)を用いて実行される位置測定値に基づいて判定され得る。いくつかの実施形態において、ランドマークの位置は、複数の運転を通じて異なる車両1205、1210、1215、1220及び1225のセンサシステムにより検出、収集又は受信された位置測定値を平均化することにより判定され得る。例えば、車両1205、1210、1215、1220及び1225は、位置測定値データをサーバ1230に伝送してよく、サーバ1230は、位置測定値を平均し、平均化した位置測定値をランドマークの位置として用い得る。ランドマークの位置は、その後の運転において車両から受信した測定値により継続的に改良され得る。
ランドマーク識別情報は、ランドマークのサイズを含み得る。車両(例えば、1205)に提供されるプロセッサは、画像の解析に基づいてランドマークの物理的サイズを推定し得る。サーバ1230は、異なる車両の異なる運転から同じランドマークの物理的サイズについての複数の推定値を受信し得る。サーバ1230は、ランドマークに関する物理的サイズが得られるように、異なる推定値を平均化し、そのランドマークのサイズを道路モデルに格納し得る。物理的サイズの推定値は、車両からランドマークまでの距離をさらに判定又は推定するために用いられ得る。ランドマークまでの距離は、車両の現在の速度と、カメラの拡張焦点に対して画像内に現れるランドマークの位置に基づくスケール拡大とに基づいて推定され得る。例えば、ランドマークまでの距離は、Z=V×dt×R/Dにより推定されてよく、Vは車両の速度であり、Rは時刻t1におけるランドマークからの拡張焦点までの画像内の距離であり、Dは、t1からt2までの画像内のランドマークに対する距離の変化である。dtは、(t2-t1)を表す。例えば、ランドマークまでの距離は、Z=V×dt×R/Dにより推定されてよく、Vは車両の速度であり、Rはは、ランドマークと拡張焦点との間の画像内の距離であり、dtは時間間隔であり、Dは、エピポーラ線に沿うランドマークの画像ずれである。上記の式と同等である他の式、例えば、Z=V×ω/Δωが、ランドマークまでの距離を推定するために用いられ得る。ここで、Vは車両の速度であり、ωは、(オブジェクトの幅のような)画像の長さであり、Δωは、単位時間における画像の長さの変化である。
ランドマークの物理的サイズが既知の場合、ランドマークまでの距離は、以下の式、Z=f×W/ωに基づいて判定されてもよく、fは焦点距離であり、Wは、ランドマークのサイズ(例えば、高さ又は幅)であり、ωは、ランドマークが画像を離れたときの画素の数である。上記の式から、距離Zの変化は、ΔZ=f×W×Δω/ω2+f×ΔW/ωを用いて算出されてよく、ΔWは、平均化によりゼロに減衰し、Δωは、画像の境界ボックス精度を表す画素の数である。ランドマークの物理的サイズを推定する値は、サーバ側において、複数の観測値を平均化することにより算出され得る。距離推定の結果的な誤差は、非常に小さい場合がある。上記の式、すなわちΔW及びΔωを用いた場合に生じ得る誤差の2つの情報源が存在する。距離の誤差に対するそれらの寄与は、ΔZ=f×W×Δω/ω2+f×ΔW/ωにより与えられる。しかしながら、ΔWは、平均化によりゼロに減衰しており、したがって、ΔZは、Δωにより判定される(例えば、画像内の境界ボックスの不正確さ)。
未知の寸法のランドマークについて、ランドマークまでの距離は、一連のフレーム間のランドマークにおける特徴点を追跡することにより推定され得る。例えば、速度制限標識に現れる特定の特徴は、2又はそれより多くの画像フレーム間で追跡され得る。それらの追跡された特徴に基づいて、特徴点ごとの距離の分布が生成され得る。距離評価は、距離の分布から抽出され得る。例えば、距離の分布に現れる最も頻度の高い距離が、距離評価として用いられ得る。別の例として、距離の分布の平均が距離評価として用いられ得る。
図13は、複数の3次元スプライン1301、1302及び1303により表される例示的な自律走行車両の道路ナビゲーションモデルを示す。図13に示される曲線1301、1302及び1303は、あくまで例示目的である。各スプラインは、複数のデータポイント1310を接続する1又は複数の3次元多項式を含み得る。各多項式は、1次多項式、2次多項式、3次多項式又は異なる次元を有する任意の適切な多項式の組み合わせであってよい。各データポイント1310は、車両1205、1210、1215、1220及び1225から受信したナビゲーション情報に関連付けられ得る。いくつかの実施形態において、各データポイント1310は、ランドマークに関連するデータ(例えば、ランドマークのサイズ、位置及び識別情報)、及び/又は、道路シグネチャプロファイル(例えば、道路の幾何学形状、道路粗さプロファイル、道路曲率プロファイル、道路幅プロファイル)に関連付けられ得る。いくつかの実施形態において、いくつかのデータポイント1310は、ランドマークに関連するデータに関連付けられてよく、その他のものは、道路シグネチャプロファイルに関連するデータに関連付けられてよい。
図14は、5つの別個の運転から受信された未加工の位置データ1410(例えば、GPSデータ)を示す。同時に別個の車両が、別個の時間に同じ車両が、又は、別個の時間に別個の車両が通過した場合、ある運転は、別の運転とは別個であり得る。位置データ1410における誤差及び同じ車線内の車両の異なる位置(例えば、ある車両が、別の車両よりも車線の左側に近づいて運転し得る)を説明するために、サーバ1230は、1又は複数の統計技術を用いて、未加工位置データ1410の変動が、実際の相違又は統計的な誤差を表すかを判定するマップの概要1420を生成し得る。概要1420内の各経路は、同経路を形成した対応する未加工のデータ1410に遡られ得る。例えば、概要1420内のAとBとの間の経路は、運転1からではなく、運転2、3、4及び5からの未加工のデータ1410に対応する。概要1420は、(例えば、上述したスプラインとは異なり、同じ道路上の複数の車線から運転を組み合わせるので)車両をナビゲートするために用いられるのに十分に詳細でない場合があるが、有用なトポロジカル情報を提供して得、交点を定義するために用いられ得る。
図15は、マップの概要のセグメント(例えば、概要1420内のセグメントAからB)内のスパースマップに対して、さらなる詳細が生成され得る例を示す。図15に示されるように、データ(例えば、エゴモーションデータ及び路面標識データなど)は、運転に沿う位置S(又は、S1又はS2)に応じて示され得る。サーバ1230は、運転1510のランドマーク1501、1503及び1505と、運転1520のランドマーク1507及び1509との間の一意の一致を識別することによってスパースマップに対するランドマークを識別し得る。そのようなマッチングアルゴリズムは、ランドマーク1511、1513及び1515の識別をもたらし得る。しかしながら、当業者であれば、他のマッチングアルゴリズムが用いられてよいことを認識する。例えば、一意のマッチングの代わりに、又は、これと組み合わせて、確率最適化が用いられてよい。サーバ1230、運転を長手方向に整列させて、マッチングされたランドマークを整列させ得る。例えば、サーバ1230は、基準運転として、1つの運転(例えば、運転1520)を選択し、次に、整列のために他の運転(例えば、運転1510)をシフト及び/又は弾力的に伸ばしてよい。
図16は、スパースマップで用いる揃えられたランドマークのデータの例を示す。図16の例において、ランドマーク1610は、道路標識を有する。図16の例は、複数の運転1601、1603、1605、1607、1609、1611及び1613からのデータをさらに示す。図16の例では、運転1613からのデータは、「ゴースト」ランドマークで構成されており、運転1601、1603、1605、1607、1609及び1611のいずれも、運転1613において特定されたランドマークの近傍にあるランドマークの識別情報を含まないので、サーバ1230は、それをそのように識別し得る。したがって、サーバ1230は、ランドマークが現れていない画像に対するランドマークが現れている画像の割合が閾値を超えている場合、可能性のあるランドマークを承認してよく、及び/又は、ランドマークが現れている画像に対するランドマークが現れていない画像の割合が閾値を超えている場合、可能性のあるランドマークを拒否してよい。
図17は、運転データを生成するためのシステム1700を示し、スパースマップをクラウドソーシングするために用いられ得る。図17に示されるように、システム1700は、カメラ1701及び位置特定デバイス1703(例えば、GPSロケータ)を含み得る。カメラ1701及び位置特定デバイス1703は、車両(例えば、車両1205、1210、1215、1220及び1225のうちの1つ)に取り付けられ得る。カメラ1701は、複数のタイプの複数のデータ、例えば、エゴモーションデータ、交通標識データ又は道路データなどを提供し得る。カメラのデータ及び位置データは、運転セグメント1705にセグメント化され得る。例えば、運転セグメント1705はそれぞれ、1km未満の運転からのカメラのデータ及び位置データを有し得る。
いくつかの実施形態において、システム1700は、運転セグメント1705における冗長性を取り除き得る。例えば、ランドマークがカメラ1701からの複数の画像に現れている場合、システム1700は、運転セグメント1705がランドマークの位置及びこれに関連する任意のメタデータのうちの一方のみのコピーを含むように、冗長データを取り去り得る。さらなる例として、カメラ1701からの複数の画像内に車線標示が現れている場合、システム1700は、運転セグメント1705が任意のメタデータの位置及び車線標示に関連する任意のメタデータのうちの一方のコピーのみを含むように、冗長データを取り去り得る。
システム1700は、サーバ(例えば、サーバ1230)も含む。サーバ1230は、車両から複数の運転セグメント1705を受信し、それらを単一の運転1707に再結合し得る。そのような構成は、サーバが運転全体に関連するデータを格納することを可能にしつつ、車両とサーバとの間でデータを移動させる場合の帯域幅要件を低減することも可能にし得る。
図18は、スパースマップをクラウドソーシングするためにさらに構成された図17のシステム1700を示す。図17のように、システム1700は、車両1810を含み、例えば、(例えば、エゴモーションデータ、交通標識データ又は道路データなどを提供する)カメラ及び位置特定デバイス(例えば、GPSロケータ)を用いて、運転データを取り込む。図17のように、車両1810は、収集されたデータを複数の運転セグメント(図18において、「DS1 1」、「DS2 1」、「DSN 1」として示される)にセグメント化する。次に、サーバ1230は、運転セグメントを受信し、受信したセグメントから(図18において「運転1」として示される)運転を再構築する。
図18にさらに示されるように、システム1700はまた、追加の車両からデータを受信する。例えば、車両1820はまた、例えば、(例えば、エゴモーションデータ、交通標識データ又は道路データなどを提供する)カメラ、及び、位置特定デバイス(例えば、GPSロケータ)を用いて運転データを取り込む。車両1810と同様に、車両1820は、収集されたデータを複数の運転セグメント(図18において「DS1 2」、「DS2 2」、「DSN 2」として示される)にセグメント化する。次に、サーバ1230は、運転セグメントを受信し、受信したセグメントから運転(図18において、「運転2」として示される)を再構築する。任意の数の追加の車両が用いられてよい。例えば、図18はまた、運転データを取り込み(図18において「DS1 N」、「DS2 N」、「DSN N」として示される)運転セグメントにそれをセグメント化し、(図18において、「運転N」として示される)運転へと再構築するために、それをサーバ1230に送信する「自動車N」を含む。
図18に示されるように、サーバ1230は、複数の車両(例えば、「自動車1」(車両1810とも称される))、「自動車2」(車両1820とも称される)及び「自動車N」)から収集さえる再構築された運転(例えば、「運転1」、「運転2」及び「運転N」)を用いて、(「マップ」として示される)スパースマップを構築し得る。
図19は、道路セグメントに沿う自律走行車両のナビゲーション用のスパースマップを生成するための例示的な処理1900を示すフローチャートである。処理1900は、サーバ1230に含まれる1又は複数の処理デバイスにより実行され得る。
処理1900は、1又は複数の車両が道路セグメントを通過するときに取得された複数の画像を受信する段階(段階1905)を含み得る。サーバ1230は、車両1205、1210、1215、1220及び1225のうちの1又は複数内に含まれるカメラから画像を受信し得る。例えば、カメラ122は、車両1205が道路セグメント1200に沿って走行しているときに、車両1205を取り囲む環境についての1又は複数の画像を取り込んでよい。いくつかの実施形態において、サーバ1230は、図17に関して上述したように、車両1205のプロセッサにより取り除かれた冗長性を有していた取り除かれた画像データを受信してもよい。
処理1900は、複数の画像に基づいて、道路セグメントに沿って延在する路面特徴の少なくとも1つのライン表現を識別する段階(段階1910)をさらに含み得る。各ライン表現は、路面特徴と実質的に対応する道路セグメントに沿う経路を表し得る。例えば、サーバ1230は、カメラ122から受信した環境画像を解析して道路縁部又は車線標示を識別し、道路縁部又は車線標示に関連付けられる道路セグメント1200に沿う走行の軌跡を判定し得る。いくつかの実施形態において、軌跡(又は、ライン表現)は、スプライン、多項式表現又は曲線を含み得る。サーバ1230、段階1905で受信したカメラのエゴモーション(例えば、3次元並進及び/又は3次元回転動作)に基づいて、車両1205の走行の軌跡を判定し得る。
処理1900は、複数の画像に基づいて、道路セグメントに関連付けられる複数のランドマークを識別する段階(段階1910)を含んでもよい。例えば、サーバ1230は、カメラ122から受信した環境画像を解析して、1又は複数のランドマーク、例えば、道路セグメント1200に沿う道路標識を識別し得る。サーバ1230は、1又は複数の車両が道路セグメントを通過するときに取得された複数の画像の解析を用いてランドマークを識別し得る。クラウドソーシングを可能にするために、解析は、道路セグメントに関連付けられる可能性のあるランドマークを承認及び拒否することに関する規則を含んでよい。例えば、解析は、ランドマークが現れていない画像に対するランドマークが現れている画像の割合が閾値を超えている場合、可能性のあるランドマークを承認すること、及び/又は、ランドマークが現れている画像に対するランドマークが現れていない画像の割合が閾値を超えている場合、可能性のあるランドマークを拒否することを含み得る。
処理1900は、サーバ1230により実行される他の操作又は段階を含んでよい。以下でさらに詳細に議論されるように、例えば、ナビゲーション情報は、道路セグメントに沿って走行する車両に対するターゲット軌跡を含んでよく、処理1900は、サーバ1230により、道路セグメントを走行している複数の車両に関連する車両の軌跡をクラスタリングする段階、及び、クラスタリングされた車両の軌跡に基づいて、ターゲット軌跡を判定する段階を含んでよい。車両の軌跡をクラスタリングする段階は、サーバ1230により、車両の絶対方向(absolute heading)又は車両の車線指定のうちの少なくとも一方に基づいて、道路セグメントを走行する車両に関連する複数の軌跡を複数のクラスタにクラスタリングする段階を含み得る。ターゲット軌跡を生成する段階は、サーバ1230により、クラスタリングされた軌跡を平均化する段階を含み得る。さらなる例として、処理1900は、段階1905において受信されたデータを整列させる段階を含んでよい。上述したように、サーバ1230により実行される他の処理又は段階が処理1900に含まれてもよい。
開示されるシステム及び方法は、他の特徴を含んでよい。例えば、開示されるシステムは、グローバル座標よりはむしろ、ローカル座標を用いてよい。自律運転について、いくつかのシステムは、ワールド座標においてデータを示し得る。例えば、地球表面における経度及び緯度の座標が用いられてよい。ステアリング用のマップを用いるために、ホスト車両は、マップに関連するその位置及び方位を判定してよい。マップ上に車両を配置するため、車体基準フレームと世界基準フレーム(例えば、北、東及び下)との間の回転変換を見つけるために、搭載されたGPSデバイスを用いることは、自然であろう。車体基準フレームが、マップ基準フレームを用いて位置合わせされると、次に、所望の経路が、車体基準フレームに表され得、ステアリングコマンドが算出又は生成され得る。
開示されるシステム及び方法は、高価な調査装置を利用することなく自律走行車両それ自体により収集され得る低フットプリントモデルを用いた自律走行車両のナビゲーション(例えば、ステアリング制御)を可能にし得る。自律ナビゲーション(例えば、ステアリングアプリケーション)をサポートするために、道路モデルは、モデルに含まれる軌跡に沿う車両の場所又は位置を判定するために用いられ得る道路の幾何学形状、その車線構成及びランドマークを有するスパースマップを含んでよい。上述したように、スパースマップの生成は、道路を走行している車両と通信し、かつ、車両からデータを受信するリモートサーバにより実行され得る。データは、検知データ、検知データに基づいて再構築された軌跡、及び/又は、修正されて再構築された軌跡を表し得る推奨される軌跡を含んでよい。以下で議論されるように、サーバは、自律ナビゲーションに役立てるために、車両、又は、その後に道路を走行する他の車両に当該モデルを送り戻す場合がある。
図20は、サーバ1230のブロック図を示す。サーバ1230は、両方のハードウェアコンポーネント(例えば、通信制御回路、スイッチ及びアンテナ)、及び、ソフトウェアコンポーネント(例えば、通信プロトコル、コンピュータコード)を含み得る通信ユニット2005を含み得る。例えば、通信ユニット2005は、少なくとも1つのネットワークインタフェースを含んでよい。サーバ1230は、通信ユニット2005を通じて車両1205、1210、1215、1220及び1225と通信し得る。例えば、サーバ1230は、通信ユニット2005を通じて、車両1205、1210、1215、1220及び1225から伝送されたナビゲーション情報を受信し得る。サーバ1230は、通信ユニット2005を通じて、自律走行車両の道路ナビゲーションモデルを1又は複数の自律走行車両に供給し得る。
サーバ1230は、少なくとも1つの非一時的ストレージ媒体2010、例えば、ハードドライブ、コンパクトディスク、テープなどを含んでよい。ストレージデバイス1410は、データ、例えば、車両1205、1210、1215、1220及び1225から受信したナビゲーション情報、及び/又は、サーバ1230がナビゲーション情報に基づいて生成した自律走行車両の道路ナビゲーションモデルを格納するように構成され得る。ストレージデバイス2010は、任意の他の情報、例えば、スパースマップ(例えば、図8に関して上述したスパースマップ800)を格納するように構成され得る。
ストレージデバイス2010に加えて、又は、これの代わりに、サーバ1230は、メモリ2015を含んでよい。メモリ2015は、メモリ140又は150と同様であってよい、又は、これらとは異なっていてよい。メモリ2015は、非一時的メモリ、例えば、フラッシュメモリ、ランダムアクセスメモリなどであってよい。メモリ2015は、データ、例えば、プロセッサ(例えば、プロセッサ2020)により実行可能なコンピュータコード又は命令、マップデータ(例えば、スパースマップ800のデータ)、自律走行車両の道路ナビゲーションモデル、及び/又は、車両1205、1210、1215、1220及び1225から受信したナビゲーション情報を格納するように構成され得る。
サーバ1230は、メモリ2015に格納されているコンピュータコード又は命令を実行して様々な機能を実行するように構成される少なくとも1つの処理デバイス2020を含んでよい。例えば、処理デバイス2020は、車両1205、1210、1215、1220及び1225から受信したナビゲーション情報を解析し、当該解析に基づいて、自律走行車両の道路ナビゲーションモデルを生成し得る。処理デバイス2020は、通信ユニット1405を制御して、1又は複数の自律走行車両(例えば、車両1205、1210、1215、1220及び1225のうちの1又は複数、又は、その後に道路セグメント1200を走行する任意の車両)に自律走行車両の道路ナビゲーションモデルを供給し得る。処理デバイス2020は、プロセッサ180、190又は処理ユニット110と同様であってよい、又は、これらとは異なっていてよい。
図21は、自律走行車両のナビゲーションで用いる道路ナビゲーションモデルを生成するための1又は複数の演算を実行するためのコンピュータコード又は命令を格納し得るメモリ2015のブロック図を示す。図21に示されるように、メモリ2015は、車両のナビゲーション情報を処理するための操作を実行するための1又は複数のモジュールを格納し得る。例えば、メモリ2015は、モデル生成モジュール2105及びモデル供給モジュール2110を含んでよい。プロセッサ2020は、メモリ2015に含まれるモジュール2105及び2110のいずれかに格納されている命令を実行し得る。
モデル生成モジュール2105は、プロセッサ2020により実行されると、車両1205、1210、1215、1220及び1225から受信したナビゲーション情報に基づいて、共通の道路セグメント(例えば、道路セグメント1200)に対する自律走行車両の道路ナビゲーションモデルの少なくとも一部を生成し得る命令を格納し得る。例えば、自律走行車両の道路ナビゲーションモデルを生成する際に、プロセッサ2020は、共通の道路セグメント1200に沿う車両の軌跡を異なるクラスタにクラスタリングし得る。プロセッサ2020は、異なるクラスタのそれぞれに対するクラスタリングされた車両の軌跡に基づいて、共通の道路セグメント1200に沿うターゲット軌跡を判定し得る。そのような動作は、各クラスタにおいて、(例えば、クラスタリングされた車両の軌跡を表すデータを平均化することにより)クラスタリングされた車両の軌跡の中間又は平均の軌跡を求める段階を含んでよい。いくつかの実施形態において、ターゲット軌跡は、共通の道路セグメント1200の単一の車線に関連付けられ得る。
道路モデル及び/又はスパースマップは、道路セグメントに関連付けられる軌跡を格納し得る。これらの軌跡は、自律ナビゲーションに対する自律走行車両に提供されるターゲット軌跡と称され得る。ターゲット軌跡は、複数の車両から受信されてよい、又は、複数の車両から受信される実際の軌跡又は推奨される軌跡(実際の軌跡にいくつかの修正を加えたもの)に基づいて生成されてよい。道路モデル又はスパースマップに含まれるターゲット軌跡は、他の車両から受信した新しい軌跡を用いて継続的に更新(例えば、平均化)され得る。
道路セグメントを走行する車両は、様々なセンサによりデータを収集し得る。データは、ランドマーク、道路シグネチャプロファイル、車両運動(例えば、加速度計データ、速度データ)、車両位置(例えば、GPSデータ)を含んでよく、実際の軌跡自体を再構築するか、車両に対する実際の軌跡を再構築するサーバにデータを伝送するかのいずれかであってよい。いくつかの実施形態において、車両は、軌跡に関連するデータ(例えば、任意の基準フレームにおける曲線)、ランドマークのデータ、及び、サーバ1230への走行経路に沿う車線指定を伝送し得る。複数の運転において、同じ道路セグメントに沿って走行する様々な車両は、異なる軌跡を有し得る。サーバ1230は、クラスタリング処理を通じて、車両から受信した軌跡から各車線に関連付けられる経路又は軌跡を識別し得る。
図22は、共通の道路セグメント(例えば、道路セグメント1200)に対するターゲット軌跡を判定するために、車両1205、1210、1215、1220及び1225に関連付けられる車両の軌跡をクラスタリングする処理を示す。クラスタリング処理から判定されるターゲット軌跡又は複数のターゲット軌跡は、自律走行車両の道路ナビゲーションモデル又はスパースマップ800に含まれ得る。いくつかの実施形態において、道路セグメント1200に沿って走行する車両1205、1210、1215、1220及び1225は、複数の軌跡2200をサーバ1230に伝送し得る。いくつかの実施形態において、サーバ1230は、車両1205、1210、1215、1220及び1225から受信したランドマーク、道路の幾何学形状及び車両運動の情報に基づいて軌跡を生成し得る。自律走行車両の道路ナビゲーションモデルを生成するために、サーバ1230は、図22に示されるように、車両の軌跡1600を複数のクラスタ2205、2210、2215、2220、2225及び2230にクラスタリングし得る。
クラスタリングは、様々な基準を用いて実行され得る。いくつかの実施形態において、クラスタ内のすべて運転は、道路セグメント1200に沿う絶対方向に対して類似している場合がある。絶対方向は、車両1205、1210、1215、1220及び1225により受信されるGPS信号から取得され得る。いくつかの実施形態において、絶対方向は、デッドレコニングを用いて取得され得る。当業者が理解するように、デッドレコニングは、以前に判定された位置、推定された速度などを用いることにより、現在位置と、したがって、車両1205、1210、1215、1220及び1225の進行方向とを判定するために用いられ得る。絶対方向によりクラスタリングされた軌跡は、車道に沿う経路を識別するのに有用であり得る。
いくつかの実施形態において、クラスタ内のすべての運転は、道路セグメント1200上の運転に沿う車線指定(例えば、ジャンクション前後の同じ車線における)に対して類似し得る。車線指定によりクラスタリングされる軌跡は、車道に沿う車線を識別するのに有用であり得る。いくつかの実施形態において、両方の基準(例えば、絶対方向及び車線指定)は、クラスタリングのために用いられてよい。
各クラスタ2205、2210、2215、2220、2225及び2230において、軌跡は、特定のクラスタに関連付けられるターゲット軌跡を取得するために平均化され得る。例えば、同じ車線のクラスタに関連付けられる複数の運転からの軌跡が平均化され得る。平均化された軌跡は、特定の車線に関連付けられるターゲット軌跡であってよい。軌跡のクラスタを平均化するために、サーバ1230は、任意の軌跡C0の基準フレームを選択し得る。すべての他の軌跡(C1、・・・Cn)に対して、サーバ1230は、CiをC0にマッピングするリジッド変換を見つけてよく、i=1、2、・・・nであり、nは、正の整数であり、クラスタに含まれる軌跡の総数に対応する。サーバ1230は、C0基準フレーム内の中間曲線又は軌跡を計算し得る。
いくつかの実施形態において、ランドマークは、異なる運転間でマッチングする弧の長さを画定してよく、車線との軌跡の整合のために用いられ得る。いくつかの実施形態において、ジャンクションの前後の車線標示が、車線と軌跡の整合のために用いられ得る。
軌跡から車線を組み立てるために、サーバ1230は、任意の車線の基準フレームを選択し得る。サーバ1230は、部分的に重なる車線を選択した基準フレームにマッピングし得る。サーバ1230は、全車線が同じ基準フレーム内となるまでマッピングし続けてよい。互いに隣接する車線は、それらが同じ車線であるかのように整合されてよく、後に横方向にずれてもよい。
道路セグメントに沿って認識されるランドマークは、まず、車線レベルで、次に、ジャンクションレベルで共通基準フレームにマッピングされ得る。例えば、同じランドマークは、複数の運転における複数の車両により複数回認識される場合がある。異なる運転において受信される同じランドマークに関するデータは、わずかに異なる場合がある。そのようなデータは、平均化され、同じ基準フレーム、例えば、C0基準フレームにマッピングされ得る。さらに又は代替的に、複数の運転において受信される同じランドマークのデータの分散が算出され得る。
いくつかの実施形態において、道路セグメント120の各車線は、ターゲット軌跡及び特定のランドマークに関連付けられ得る。ターゲット軌跡又は複数のそのようなターゲット軌跡は、自律走行車両の道路ナビゲーションモデルに含まれてよく、同じ道路セグメント1200に沿って走行する他の自律走行車両によって後で用いられ得る。車両が道路セグメント1200に沿って走行している間に車両1205、1210、1215、1220及び1225により識別されたランドマークは、ターゲット軌跡に関連して記録され得る。ターゲット軌跡及びランドマークのデータは、その後の運転の際に他の車両から受信される新たなデータを用いて継続的に又は定期的に更新され得る。
自律走行車両の位置を特定するために、開示されるシステム及び方法は、拡張カルマンフィルタを用いてよい。車両の位置は、3次元位置データ、及び/又は、3次元方向データ、エゴモーションの統合による車両の現在位置の先の将来の位置の予測に基づいて判定され得る。車両の位置特定は、ランドマークの画像観測により修正又は調節され得る。例えば、車両がカメラにより取り込まれた画像内にランドマークを検出した場合、ランドマークは、道路モデル又はスパースマップ800内に格納される既知のランドマークと比較され得る。既知のランドマークは、道路モデル及び/又はスパースマップ800に格納されているターゲット軌跡に沿う既知の位置(例えば、GPSデータ)を有し得る。現在の速度と、ランドマークの画像とに基づいて、車両からランドマークまでの距離が推定され得る。ターゲット軌跡に沿う車両の位置は、(道路モデル又はスパースマップ800に格納されている)ランドマークまでの距離、及び、ランドマークの既知の位置に基づいて調節され得る。道路モデル及び/又はスパースマップ800に格納されているランドマークの位置/位置データ(例えば、複数の運転からの中間値)が正確であると仮定され得る。
いくつかの実施形態において、開示されるシステムは、閉ループサブシステムを形成してよく、車両の6自由度の位置(例えば、3次元位置データ、さらに3次元方向データ)の推定が、自律走行車両をナビゲート(例えば、ホイールをステアリング)して、所望の地点(例えば、1.3秒先に格納される)に到達させるために用いられ得る。次に、ステアリング及び実際のナビゲーションから測定されたデータは、6自由度の位置を推定するために用いられ得る。
いくつかの実施形態において、道路に沿うポール、例えば、街灯柱、及び、電力線ポール又はケーブル線ポールは、車両の場所を見つけ出すためのランドマークとして用いられ得る。他のランドマーク、例えば、交通標識、交通信号灯、道路上の矢印、停止線、及び、道路セグメントに沿うオブジェクトの静的な特徴又はシグネチャが、車両の場所を見つけ出すためのランドマークとして用いられてもよい。位置を特定するためにポールが用いられる場合、ポールの一番下が遮られる場合があり、それらが道路平面にないことがあるので、y観測(すなわち、ポールまでの距離)よりはむしろ、ポールのx観測(すなわち、車両からの視野角)が用いられ得る。
図23は、クラウドソーシングされたスパースマップを用いた自律ナビゲーションに用いられ得る車両用のナビゲーションシステムを示す。例として、車両は、車両1205として示される。図23に示される車両は、例えば、車両1210、1215、1220及び1225、並びに、他の実施形態において示される車両200を含む本明細書に開示される任意の他の車両であってよい。図12に示されるように、車両1205は、サーバ1230と通信し得る。車両1205は、画像取込デバイス122(例えば、カメラ122)を含み得る。車両1205は、道路(例えば、道路セグメント1200)を走行するために、車両1205にナビゲーションガイダンスを提供するために構成されるナビゲーションシステム2300を含み得る。車両1205は、他のセンサ、例えば、速度センサ2320及び加速度計2325を含んでもよい。速度センサ2320は、車両1205の速度を検出するように構成され得る。加速度計2325は、車両1205の加速度又は減速度を検出するように構成され得る。図23に示される車両1205は、自律走行車両であってよく、ナビゲーションシステム2300は、ナビゲーションガイダンスを自律運転に提供するために用いられ得る。代替的に、車両1205は、非自律、人により制御される車両であってもよく、ナビゲーションシステム2300は、さらに、ナビゲーションガイダンスを提供するために用いられ得る。
ナビゲーションシステム2300は、通信経路1235を通じてサーバ1230と通信するように構成される通信ユニット2305を含み得る。ナビゲーションシステム2300は、GPS信号を受信及び処理するように構成されるGPSユニット2310も含んでよい。ナビゲーションシステム2300は、データ、例えば、GPS信号、(車両1205に搭載されたストレージデバイスに格納され、及び/又は、サーバ1230から受信され得る)スパースマップ800からのマップデータ、道路プロファイルセンサ2330により検知された道路の幾何学形状、カメラ122により取り込まれた画像、及び/又は、サーバ1230から受信した自律走行車両の道路ナビゲーションモデルを処理うるように構成される少なくとも1つのプロセッサ2315をさらに含み得る。道路プロファイルセンサ2330は、異なるタイプの道路プロファイル、例えば、路面の粗さ、道路幅、道路の標高、道路曲率などを測定するための異なるタイプのデバイスを含み得る。例えば、道路プロファイルセンサ2330は、車両2305のサスペンションの動きを測定して、道路粗さプロファイルを導出するデバイスを含んでよい。いくつかの実施形態において、道路プロファイルセンサ2330は、車両1205から道端(例えば、道端の境界)までの距離を測定し、これにより、道路の幅を測定するレーダセンサを含んでよい。いくつかの実施形態において、道路プロファイルセンサ2330は、道路の上下の高度を測定するために構成されるデバイスを含んでよい。いくつかの実施形態において、道路プロファイルセンサ2330は、道路曲率を測定するように構成されるデバイスを含んでよい。例えば、カメラ(カメラ122、又は、別のカメラ)は、道路曲率を示す道路の画像を取り込むために用いられ得る。車両1205は、そのような画像を用いて、道路曲率を検出し得る。
少なくとも1つのプロセッサ2315は、車両1205に関連付けられる少なくとも1つの環境画像をカメラ122から受信するようプログラミングされ得る。少なくとも1つのプロセッサ2315は、少なくとも1つの環境画像を解析して、車両1205に関連するナビゲーション情報を判定し得る。ナビゲーション情報は、道路セグメント1200に沿う車両1205の走行に関連する軌跡を含み得る。少なくとも1つのプロセッサ2315は、カメラ122(したがって、車両)の動作、例えば、3次元並進及び3次元回転動作に基づいて、軌跡を判定し得る。いくつかの実施形態において、少なくとも1つのプロセッサ2315は、カメラ122により取得された複数の画像の解析に基づいて、カメラ122の並進及び回転動作を判定し得る。いくつかの実施形態において、ナビゲーション情報は、車線指定情報(例えば、車両1205がどの車線を道路セグメント1200に沿って走行するか)を含み得る。車両1205からサーバ1230に伝送されるナビゲーション情報は、自律走行車両の道路ナビゲーションモデルを生成及び/又は更新するためにサーバ1230により用いられてよく、自律ナビゲーション案内を車両1205に提供するために、サーバ1230から車両1205へ送り返され得る。
少なくとも1つのプロセッサ2315は、車両1205からサーバ1230にナビゲーション情報を伝送するようプログラミングされてもよい。いくつかの実施形態において、ナビゲーション情報は、道路情報と共にサーバ1230に伝送され得る。道路の位置情報は、GPSユニット2310により受信されるGPS信号、ランドマークの情報、道路の幾何学形状、車線情報などのうちの少なくとも1つを含み得る。少なくとも1つのプロセッサ2315は、自律走行車両の道路ナビゲーションモデル又はモデルの一部をサーバ1230から受信し得る。サーバ1230から受信した自律走行車両の道路ナビゲーションモデルは、車両1205からサーバ1230に伝送されたナビゲーション情報に基づく少なくとも1つの更新を含み得る。サーバ1230から車両1205に伝送されるモデルの一部は、モデルの更新された部分を含み得る。少なくとも1つのプロセッサ2315は、受信した自律走行車両の道路ナビゲーションモデル又はモデルの更新された部分に基づいて、車両1205による少なくとも1つのナビゲーション操作(例えば、方向転換を行う、ブレーキをかける、加速する、別の車両を追い越すなどのステアリング)を行い得る。
少なくとも1つのプロセッサ2315は、通信ユニット1705、GPSユニット2315、カメラ122、速度センサ2320、加速度計2325及び道路プロファイルセンサ2330を含む、車両1205に含まれる様々なセンサ及ビーコンポーネントと通信するように構成され得る。少なくとも1つのプロセッサ2315は、様々なセンサ及ビーコンポーネントからの情報又はデータを収集し、情報又はデータを通信ユニット2305を通じてサーバ1230に伝送し得る。代替的に又はさらに、車両1205の様々なセンサ又はコンポーネントは、サーバ1230と通信し、センサ又はコンポーネントにより収集されたデータ又は情報をサーバ1230に伝送してもよい。
いくつかの実施形態において、車両1205、1210、1215、1220及び1225は、互いに通信してよく、互いにナビゲーション情報を共有してよく、その結果、車両1205、1210、1215、1220及び1225のうちの少なくとも1つは、例えば、他の車両により共有される情報に基づいて、クラウドソーシングを用いて自律走行車両の道路ナビゲーションモデルを生成し得る。いくつかの実施形態において、車両1205、1210、1215、1220及び1225は、互いにナビゲーション情報を共有してよく、各車両は、車両に提供される独自の自律走行車両の道路ナビゲーションモデルを更新してよい。いくつかの実施形態において、車両1205、1210、1215、1220及び1225のうちの少なくとも1つ(例えば、車両1205)は、ハブ車両として機能し得る。ハブ車両(例えば、車両1205)の少なくとも1つのプロセッサ2315は、サーバ1230により実行される機能の一部又はすべてを実行し得る。例えば、ハブ車両の少なくとも1つのプロセッサ2315は、他の車両と通信し、他の車両からナビゲーション情報を受信し得る。ハブ車両の少なくとも1つのプロセッサ2315は、自律走行車両の道路ナビゲーションモデルを生成してよい、又は、他の車両から受信した共有される情報に基づいてモデルを更新してよい。ハブ車両の少なくとも1つのプロセッサ2315は、自律ナビゲーション案内を提供するために、自律走行車両の道路ナビゲーションモデル又は当該モデルに対する更新を他の車両に伝送し得る。
マッピング高度を利用したナビゲーションパラメータ決定
自律又は半自律ナビゲーションの多くの態様において、ホスト車両の環境におけるオブジェクトに対する距離の判定が有用となり得る。場合によっては、当該距離判定は、LIDARシステム又はRADARシステムからの1又は複数の出力に基づいて実行されてよい。代替的に又はさらに、当該距離判定は、1又は複数の画像取込デバイスから取得された画像の解析に基づいて実行されてよい。しかしながら、場合によっては、取得された画像の解析には、特定の困難が伴い得る。例えば、ホスト車両の環境におけるオブジェトが、ホスト車両に対して異なる高度を有する場合、画像解析に基づく距離測定はより困難となり得る。例えば、収集画像の解析において、ホスト車両の高度よりも高い高度にあるターゲット車両は、実際の距離よりも、ホスト車両から遠くにあると捉えられ得る。この問題に対処するため、画像解析に基づく距離の判定は、検出されたオブジェクトとホスト車両との間の高度の差を考慮してよい。これにより、相対距離判定の精度向上が実現される。このような高度情報は様々な方法で判定され得る。一方、いくつかの実施形態において、高度情報が道路セグメントに対して格納され得る(例えば、上述のスパースマップに含まれる)。このマッピング高度情報を、ホスト車両から(特に解析されている1又は複数の画像を取り込んだデバイスから)、画像内で検出されたターゲットオブジェクトとの間の距離の判定に利用してよい。取得画像に基づく距離測定で高度を考慮するこの技術を、以下により詳細に説明する。
図24は、開示される実施形態と矛盾しない、メモリのブロック図を示す。いくつかの実施形態において、メモリ140又は150は、マップ情報2401と、高度情報2403と、オブジェクト識別モジュール2405と、位置特定モジュール2407と、距離モジュール2409と、ナビゲーションモジュール2411とを含み得る。開示される実施形態は、メモリ140又は150のいかなる特定の構成にも限定されない。さらに、プロセッサ(例えばアプリケーションプロセッサ180、画像プロセッサ190、及び/又は処理ユニット110)は、メモリ140又は150に含まれるモジュール2405、2407、2409及び2411のいずれかに格納されている命令を実行してよい。さらに、各種モジュール(上述及び下記)が開示される実施形態に関連した機能を実行するために説明されるが、これらモジュールは論理的に分離していなくてもよく、代替的に、取得画像を解析し、これらの画像の解析により検出されたホスト車両環境の特徴に基づいて、次のナビゲーション状態を判定するように構成された総合ナビゲーションシステムに含まれるか、(任意の組み合わせで)一体化されてよい。
1つの実施形態において、オブジェクト識別モジュール2405は、プロセッサにより実行されると、プロセッサに画像セットの画像解析を実行可能にし、画像セット内のオブジェクトを識別可能にする命令を格納してよい。1つの実施形態において、オブジェクト識別モジュール2405は、単眼画像解析モジュール402及び/又はステレオ画像解析モジュール404を含み得る。上述のように、単眼画像解析モジュール402は、画像セット内の特徴セット、例えば、車線標示、車両、歩行者、道路標識、高速道路出口ランプ、交通信号灯、危険物、及び車両の環境に関連付けられる他の任意の特徴を検出するための命令を含み得る。また上述のように、ステレオ画像解析モジュール404は、第1及び第2画像セット内の特徴セット、例えば、車線標示、車両、歩行者、道路標識、高速道路出口ランプ、交通信号灯、危険物、及び車両の環境に関連付けられる他の任意の特徴を検出するための命令を含み得る。オブジェクト識別モジュール2405は、この特徴に基づき、車両、歩行者、車道内のオブジェクト、マンホールの蓋、交通信号灯、交通標識など、オブジェクトの種類を識別する命令を含んでよい。さらに、画像解析処理の一環として、識別された特定種類の各オブジェクトに、関連画像内のオブジェクトのエッジ境界に関連付けられた境界ボックスが割り当てられてよい。
1つの実施形態において、位置特定モジュール2407は、プロセッサにより実行されると、プロセッサにホスト車両の位置を判定可能にする命令を格納してよい。1つの実施形態において、プロセッサは、GPSデバイス、速度センサ、及び/又は加速度計などの、ホスト車両の少なくとも1つのセンサの出力に基づいて、ホスト車両の位置を判定してよい。1つの実施形態において、プロセッサは、スパースマップ道路モデル(上述)上の位置特定に基づいて、ホスト車両の位置を判定してよい。本開示と矛盾しないスパースマップは、1又は複数の道路特徴を表すデータを含んでもよい。そのような道路特徴は、認識されたランドマーク、道路シグネチャプロファイル及び車両をナビゲートするのに有用な他の任意の道路関連の特徴を含み得る。1又は複数の取得画像内で識別された、認識されたランドマークを、スパースマップに含まれた1又は複数のターゲット軌跡とともに使用して、プロセッサはマップ内のターゲット軌跡に対するホスト車両の位置を判定してよい。そのような位置情報は、ホスト車両の判定された位置に対する、ホスト車両の環境に関連付けられた特定の特徴をホスト車両に通知し得る。例えば、スパースマップに道路セグメントに沿ったくぼみの位置を格納する場合、特定のターゲット軌跡に対するホスト車両の位置を特定することで、現在のターゲット軌跡に沿って、ホスト車両の114メートル先にくぼみがあると判定可能となり得る。同様に、スパースマップに道路高度情報が格納される場合(例えば、10cm毎、1m毎、2m毎、5m毎、10m毎、50m毎、100m毎など)、プロセッサは特定ターゲット軌跡に対するホスト車両の現在の特定位置の128m先の道路セグメントの高度が、ホスト車両の現在の特定位置での道路セグメントの高度よりも27m高いと判定し得る。ホスト車両の位置特定後、上述のように、プロセッサは、認識されたランドマーク間でのホスト車両のエゴモーションを示すセンサ出力に基づいて、ターゲット軌跡に対するその位置(例えば認識されたランドマーク識別の間)を推定してよい。
1つの実施形態において、マップ情報2401(例えば、上述のスパースマップを含む)は、特定の道路セグメントに関連付けられた特徴を格納してよい。特徴は、検出された車線標示、道路標識、高速道路出口ランプ、交通信号灯、道路インフラストラクチャ、道路幅情報、ガードレール、木、建物、街灯柱、及び車両の環境に関連した任意の他の特徴などを含み得る。1つの実施形態において、マップ情報2401はさらに高度情報2403を含んでもよい。高度情報2403は、特定の位置の道路セグメントの高さ(例えば、10メートル、20メートル、30メートル、など)を含んでよく、あるいは勾配(例えば10度又は11度など)を含んでよい。1つの実施形態において、高度情報2403は、原点(例えば、海抜、又は特定の道路セグメントに関連付けられた特定の原点)に対する高さを含んでよい。1つの実施形態において、高度情報2403は、それぞれが道路セグメントに対応する数式(例えば数式(2))として格納されてよい。1つの実施形態において、高度情報2403は、各高度情報エントリが道路セグメントに沿った特定の位置に対応する表に格納されてよい。このような高度情報は、任意の適切な間隔(例えば、10cm毎、1m毎、2m毎、5m毎、10m毎、50m毎、100m毎など)でスパースマップに格納され得る。1つの実施形態において、再度図13を参照すると、複数の3次元スプライン1301、1302、及び1303が、複数のデータポイント1310における車線について、高度情報とともに格納されてよい。プロセッサは、特定の高度格納プロトコル(例えば、表から高度情報を読み出す、記憶されたプロファイル又は関数/数式から高度を判定する、ターゲット軌跡を示すのに使用される3次元スプラインのz軸投影から高度を判定するなど)に適した任意の適切な方法で、スパースマップから高度情報を取得し得る。
1つの実施形態において、距離モジュール2409は、プロセッサにより実行されると、識別されたオブジェクトへのホスト車両からの距離を判定するように構成された命令を格納してよい。距離は、尺度法及び/又はオプティカルフロー法などの、画像解析からの測定に基づいて判定されてよい。場合によっては、画像解析に基づく距離判定は、LIDARシステム又はRADARシステムの出力に基づく1又は複数の距離判定に対して冗長であるか、又はその検証に利用されるものであってよい。ホスト車両から、1又は複数の画像内で識別されたオブジェクトまでの判定された距離は、ホスト車両に対する識別されたオブジェクトの高度に依存し得る。例えば、ターゲット車両の高度がホスト車両よりも高い場合、高度を考慮しなければ、実際の距離よりも、判定された距離が長くなり得る。ホスト車両に対する適切なナビゲーション動作を決定するには、検出されたオブジェクトに対する正確な距離値が利用可能であるべきである。
開示される実施形態と矛盾することなく、プロセッサは、ホスト車両から識別されたオブジェクトへの距離を、高度情報2403に基づいて判定し得る。図25A及び図25Bは、ターゲット車両2503が、ホスト車両2501よりも高い高度の道路セグメントに位置する状況を示す概略図である。例えば、ホスト車両2501がグランドプレーン上に存在してよく、ターゲット車両2503がグランドプレーンよりも高い位置の平面上に配置されると仮定され得る。グランドプレーンから、ターゲット車両2503が存在する平面までの高さである高さYは、次式を使用して表すことができる。
式中、yはターゲット車両2503の最下部の、画像空間内の垂直方向の変位を示し、fは画像取込デバイスの焦点距離を示し、Zはホスト車両からターゲット車両への距離を示す。
さらに、道路モデルに基づいて、高さYは次式から判定され得る。
式中、aは予め定められた定数を示し、Hはグランドプレーンに対する画像取込デバイスの高さを示す。1つの実施形態において、定数aはマップ情報、スパースマップ、及び/又は3次元スプラインに格納可能である。場合によっては、定数aはスプラインの局所近似であってよい。1つの実施形態において、式(2)は、より複雑な関数を含んでよい(例えばY=関数(Z))。
場合によっては、プロセッサは式(1)及び(2)を使用して、ホスト車両2501からターゲット車両2503への距離である距離Zを判定してよい。例えば、近接領域を平面として近似してよい。平面(地平線)の消線を、道路の近接部の消失点から判定してよい。代替的に、局地道路平面を、任意の適切な画像解析技術により判定してよい。「地平線」に対する画像内の車両の一番下は、車両の一番下に対する空間直線を定義し得る。即ちY=-yZ/fである。これにより以下の式が得られる。
この方程式をZについて解くことで、ホスト車両と、ターゲット車両との間の距離を判定できる。
1つの実施形態において、ナビゲーションモジュール2411は、プロセッサにより実行可能であり、判定された距離に基づいて、所望のナビゲーション動作を決定するソフトウェア命令を格納してよい。1つの実施形態において、ナビゲーションモジュール2411は、ナビゲーション応答モジュール408を含む。ホスト車両から識別されたオブジェクト(例えば、ターゲット車両)への判定された距離は、例えば、自律走行車両の適切なナビゲーション応答生成に重要となり得る。判定された距離に基づいて、自律走行車両の1又は複数のナビゲーション目標実現に向けて、ナビゲーション動作が決定され得る(例えば、A点からB点に走行、歩行者をはねない、歩行者から少なくとも1メートル空ける、速度が時速30キロ(など)を超える場合は歩行者から少なくとも10メートル空ける、先行車両から少なくとも安全な距離を空ける、安全な距離内で接近を避けるようにブレーキを掛ける、及びその他多数のナビゲーション目標)。プロセッサは少なくともホスト車両と、検出されたオブジェクトとの間の正確な距離判定に依存して、これら目標を達成し得る。例えば、ホスト車両が検出された歩行者に接近すると、ブレーキシステムがトリガされて、ホスト車両を歩行者から安全な距離に停止させてよい。1つの実施形態において、プロセッサは判定された距離を予め定められた閾値と比較してよい。判定された距離が予め定められた閾値(例えば、ホスト車両に関連付けられた反応時間に対してホスト車両が最高加速度で走行できる距離、ホスト車両がその最大ブレーキレベルで停止できる距離範囲、ターゲット車両がその最大ブレーキレベルで停止できる距離範囲、及び任意で、停止後にターゲット車両に対するを維持するための所定の最低近接バッファとの合計に対応し得る先行車両に対する安全な距離)を超える場合、プロセッサはホスト車両に現在の速度、進路、加速度などを維持可能にしてよい。しかしながら、判定された距離が予め定められた閾値と等しいか又はそれよりも低い場合、プロセッサはホスト車両にブレーキを掛けるか、方向変換などをさせてよい。いくつかの実施形態において、ナビゲーション応答は、判定された距離値と、相対速度及び加速度の組み合わせに基づいて判定されてよい。
図26は、開示される実施形態と矛盾しない、ホスト車両のナビゲートのフローチャートである。段階2601において、プロセッサは、ホスト車両の環境を表す少なくとも1つの画像を画像取込デバイスから受信し得る。この画像は、画像取込デバイス122、124、及び/又は126から、ネットワーク又は通信経路を介して送られた未加工又は処理済みデータであり得る。データは、任意の適切な画像形式を含み得る。
段階2603において、プロセッサは、少なくとも1つの画像を解析して、ホスト車両の環境内のオブジェクトを識別し得る。画像2500は、多数の異なるオブジェクトを含む、ホスト車両の環境を示す。プロセッサは、画像2500を解析して、画像内のオブジェクトを識別し得る。プロセッサは、オブジェクト識別モジュール2405にアクセスして、任意の適切な画像解析技術を利用し得る。当該技術の例として、物体認識、画像セグメント化、特徴抽出、光学式文字認識(OCR)、オブジェクトベース画像解析、形状領域技術、エッジ検出手法、画素ベース検出などが挙げられる。加えて、プロセッサはさらに、画像内の異なるオブジェクトを区別するため、分類アルゴリズムを使用し得る。1つの実施形態において、プロセッサは適切に訓練された機械学習アルゴリズム及びモデルを使用して、オブジェクト識別を行い得る。アルゴリズムは、線形回帰、ロジスティック回帰、線形判別分析、分類木及び回帰木、ナイーブベイズ、k近傍法、学習ベクトル量子化、サポートベクタマシン、バギング及びランダムフォレスト、及び/又はブースティング及びアダブーストなどを含み得る。いくつかの実施形態において、プロセッサは、オブジェクト識別モジュール2405の実行時に、オブジェクトの視覚的特徴(例えば、サイズ、形状、風合い、文字、色など)に少なくとも基づいて、画像内のオブジェクトを識別してよい。
段階2605において、プロセッサはホスト車両の位置を判定し得る。1つの実施形態において、プロセッサは画像の解析に基づいて位置を判定し得る。さらに、プロセッサは上述のように、道路セグメントに沿ったホスト車両のターゲット軌跡を表す3次元スプラインに沿った、ホスト車両の特定位置として、ホスト車両の位置を判定してよい。さらに、開示される実施形態と矛盾することなく、予め定められた3次元スプラインに沿ったホスト車両の位置の予測は、少なくとも1つの認識されたランドマークの観測位置に基づいてよい。開示される実施形態と矛盾することなく、プロセッサは、スパースマップ道路モデル上の位置特定に基づいて、ホスト車両の位置を予測し得る。1つの実施形態において、上述のように、ホスト車両の位置を、GPSデバイス、速度センサ、及び/又は加速度計などの、ホスト車両の少なくとも1つのセンサの出力に基づいて判定してよい。例えば、GPS受信機からの位置情報は、ホスト車両の位置の判定に寄与し得る。
段階2607において、プロセッサは、ホスト車両の判定された位置に関連付けられたマップ情報を受信し得る。このマップ情報は、ホスト車両の環境に関連付けられた高度情報を含む。判定された位置(例えば、GPS出力、又はスパースマップに対する前回の位置特定)に基づいて、プロセッサは、特定の位置又は特定の道路セグメントについてのマップ情報を取得し得る。取得したマップ情報は、ホスト車両が走行する道路セグメントについての高度情報を含み得る。高度情報は、例えば上述の任意の方法で、マップに格納され得る。
段階2609において、プロセッサは少なくとも高度情報に基づいて、ホスト車両からオブジェクトへの距離を判定し得る。開示される実施形態によると、プロセッサは上述の式を利用して、1又は複数の画像内で識別されたオブジェクトへの距離を判定してよい。例えば、格納されたマップからの高度情報に基づいて、式(2)を利用してターゲットオブジェクトへの相対距離を計算してよい。
段階2611において、プロセッサは判定された距離に基づいて、ホスト車両に対するナビゲーション動作を決定し得る。1つの実施形態において、プロセッサはナビゲーションモジュール2411にアクセスして、ナビゲーション動作を決定し得る。ナビゲーション動作は、識別されたターゲットオブジェクトへの判定された距離に依存し得る、上述の任意のナビゲーション動作を含み得る。
場合によっては、上記のとおり、判定されたナビゲーション動作は、ホスト車両がその他車両に対して少なくとも安全な距離を保つという目標に応じて展開された1又は複数のナビゲーション動作を含んでよい。例えば、ホスト車両と識別されたターゲット車両との間の高度差を考慮した、判定された距離が、安全な距離以下である場合、又はホスト車両が安全な距離緩衝領域に近接している場合、ナビゲーションプロセッサは、識別されたターゲット車両に対する安全な距離を少なくとも実現又は保つことを目的とした、ホスト車両に対するナビゲーション動作を決定してよい。例えば、場合によっては、安全な距離は、ホスト車両の現在の速度、及びその現在の最大ブレーキ性能に基づくホスト車両の現在の停止距離と、ホスト車両に関連付けられた反応時間の間に、ホスト車両が現状の最大加速性能で走行する距離に対応する加速距離と、ターゲット車両の最大ブレーキ性能により、ターゲット車両が現在の速度をゼロに落とすまでの停止距離との和であり得る。ナビゲーション動作は、責任感知型安全論(RSS)モデルに関連して上記した数式のうち、1又は複数に基づいて決定されてよい。
いくつかの実施形態において、プロセッサは、ホスト車両の最大ブレーキ性能、ホスト車両の現在速度、ホスト車両の最大加速性能、及び/又はホスト車両に関連付けられた反応時間により、ホスト車両が、ホスト車両とターゲット車両との間の、判定された次状態距離(すなわち、判定されたナビゲーション動作を実行した結果としての、ホスト車両とターゲット車両との間の距離)未満の停止距離で停止可能であれば、判定されたナビゲーション動作を実現してよい。場合によっては、判定されたナビゲーション動作の実現にはさらに、ターゲット車両の判定された速度と、最大ブレーキ性能とに基づく、その停止距離が考慮されてよい。先行する視認可能なターゲット車両と、ホスト車両との間に、衝突することなく又はホスト車両の責任となる衝突が起きることなく、さらに、先行する視認可能なターゲット車両がいつでも突如完全停止し得ると仮定し、次状態距離に停止する十分な距離があるとホスト車両プロセッサが判定した場合に、ホスト車両のプロセッサは予定どおりナビゲーション動作を実行してよい。一方、衝突せずに、又は衝突の責任を被ることなくホスト車両を停止するには不十分な距離である場合、判定されたナビゲーション動作を実行しなくてよい。
マッピングされた車線幅を使用したナビゲーションパラメータ決定
特定の道路セグメントについて、高度情報がスパースマップに格納され得る上述の実施形態と同様に、道路セグメントについて測定された車線幅も、スパースマップに格納され得る。例えば、車両が道路セグメントを通過する際、道路セグメントに沿って車線幅判定が実行されてよい。クラウドソーシングにより、これら車線幅測定値は、精緻化の後、上述のスパースマップに統合され得る。例えば、車線幅情報は、道路セグメントの長手方向に対する表として、道路セグメントに沿って走行するための車線についてのターゲット軌跡を示す1又は複数の3次元スプラインに関して、長手方向に沿った幅を定義する関数又は式として、又はその他任意の適切な形態で格納され得る。さらに詳細に後述するように、マッピングされた車線幅情報は、ホスト車両と、道路セグメント上で識別された1又は複数のターゲットオブジェクトとの間の距離判定に有用であり得る。判定された距離は、LIDARシステム、RADARシステムからの測定値の検証、又はホスト車両に対する1又は複数のナビゲーション動作の決定などに有用であり得る。
上述のように1つの実施形態において、プロセッサは、ホスト車両の周囲環境を表す1又は複数の取得画像を受信し得る。1つの実施形態において、上述のように、オブジェクト識別モジュール2405は、プロセッサにより実行されると、プロセッサに画像セットの画像解析を実行し、画像セット内のオブジェクトの識別を可能にする命令を格納し得る。プロセッサは、複数の画像内のオブジェクト、道路セグメントに関連付けられた複数のランドマーク(例えば、道路標識)を識別し得る。オブジェクトは上記開示の技術のうちの任意のもので識別され得る。例えば、物体認識、画像セグメント化、特徴抽出、光学式文字認識(OCR)、オブジェクトベース画像解析、形状領域技術、エッジ検出手法、画素ベース検出などは、全て単独で又は組み合わせて使用され得る。
1つの実施形態において、上述のように、プロセッサはホスト車両の位置を判定し得る。上述のように、GPS位置特定、スパースマップのターゲット軌跡に沿った認識されたランドマーク位置特定、これらの組み合わせ、その他様々な技術により位置が判定され得る。例えば、図27Aを参照にすると、上述の技術を使用して、ホスト車両2701が走行する道路セグメントの車線に関連付けられたターゲット軌跡を表すスプラインに沿った、ホスト車両の2701の特定位置を、ランドマーク2705を使用して判定してよい。
1つの実施形態において、上述のように距離モジュール2409は、プロセッサにより実行されると、プロセッサにホスト車両から識別されたオブジェクトへの距離を判定可能とする命令を格納し得る。例えば、図27Aを参照にすると、(X,Y,Z)座標に対する3次元空間内に、ホスト車両2701、ターゲット車両2703、ランドマーク2705、及び2つのスプラインS1及びS2が示されている。スプラインS1及びS2は、ホスト車両2701が走行する道路セグメントに関連付けられた車線の境界を表し得る。ホスト車両2701と、ターゲット車両2703との間の距離判定は、LIDAR又はRADARシステムの出力に基づいてよい。ホスト車両2701と、ターゲット車両2703との間の距離はさらに、例えば、一連の画像間のオブジェクトのスケーリングを利用した、画像解析により判定されてよい。距離判定は、上述の項に記載したとおり、高度差を考慮してよい。距離判定はさらに、ターゲット車両2703の追跡軌跡に基づいてもよく、観測された追跡軌跡をマッピング情報(走行車線を表すスプラインなど)と比較して、ターゲット車両がターゲット軌跡に沿って、どこに位置するかを判定してよい。ホスト車両2701と、ターゲット車両2703との間の距離は、ホスト車両とターゲット車両との間の最短直線距離として判定されてよい。他の場合、ホスト車両2701と、ターゲット車両2703との間の距離は、ホスト車両と、ターゲット車両との間のカーブした3次元路(例えば、車線エッジスプラインS1及びS2の間のスプラインに沿い、ホスト車両が走行するターゲット軌跡を表す)の距離として判定されてよい。
プロセッサはさらに、ホスト車両から識別されたオブジェクトへの距離を、マッピングされた車線幅情報に基づいて判定してよい。例えば上述のスパースマップ内のマップ情報は、ホスト車両が走行する道路セグメントに関連付けられた車線幅情報を含み得る。上述のように、スパースマップは、車線幅情報を、任意の適切の形式(例えば、関係表、道路セグメント長手方向に沿った周期的な値、図27A及び図27Bに示すスプラインS1及びS2間などの、車線幅を判定可能な3次元スプライン)で格納し得る。例えば、ターゲット車両2703に関連付けられた長さ距離でのスプラインS1及びS2間の車線幅は、スプラインS2に関連付けられた点y2でのx座標投影と、スプラインS1に関連付けられた点y1でのx座標投影との間の差として表され得る。
図28Aを参照すると、ホスト車両2801、ターゲット車両2803、ランドマーク2805、及び2つのスプラインS1及びS2が示されている。スプラインS1及びS2は、ホスト及びターゲット車両が走行する道路セグメントに関連付けられた車線の境界を表し得る。図示のように、スプラインS1及びS2の間に幅Wがある。いくつかの実施形態において、幅Wは検出された車線の境界を表す2つのスプライン間で一定又はほぼ一定であり得る。図28Bは、(x,y)2次元座標系(例えば画像空間内)に投影されたスプラインS1及びS2を示す。既知の車線幅情報(例えば、W=3.8メートル)に基づいて、以下の式により、ホスト車両2801からターゲット車両2803までの距離Zが判定され得る。
式中、fは画像取込デバイスの焦点距離を示し、wは画像空間内の車線の幅を示す。例えば、wは125画素、fは1400画素となり得る。物理空間内の車線幅Wが(例えば格納されたスパースマップに基づき)3.8メートルと分かっている場合、Zは42.56メートルと計算され得る。
図29Aは、(x,y)2次元座標系内にスプラインs1、s2、及びs3が含まれた別の画像を示す。図29Bは、3次元座標内のスプラインS1、S2、及びS3の画像を示す。1つの実施形態において、サーバは取得画像2900を受信し、その画像を使用して、(x,y)2次元座標を(X,Y,Z)3次元座標系にマッピングすることで、画像2910を構築し得る。例えば、画像2910を構築するため、サーバはターゲット車両2903を検出し、ターゲット車両2903の一番下の(x,y)値を判定し得る。いくつかの実施形態において、マッピング関数を適用して、サーバは点(x,y)の(X,Y,Z)値を計算し得る。したがって、2次元画像に基づいて3次元スプラインが構築され得る。
1つの実施形態において、構築された全てのスプラインを利用して、サーバは路面モデルを生成し得る。例えば、画像2910を使用して、サーバは路面モデルを生成し得、これをマップのセグメントとして使用し得る。例えば、路面モデルを生成するため、サーバはスプラインS1、S2、及びS3上で予め定められた間隔(例えば1メートル間隔)で点を選択し得る。さらに、図29Bに示すように、サーバはドロネー三角形分割を適用し得る。図30は、2次元座標に投影された例示的スプラインを示す。図31は、ドロネー三角形分割の結果を示す。図示のとおり、道路縁部3101の外のポイントがフィルタにより除かれている。さらに、領域3103が道路縁部外の固定幅の余白として追加されている。これら(X,Y,Z)3次元座標は、上述のようにサーバにより(x,y)2次元座標から構築され得る。この3次元値から、サーバは、道路3101と、道路付近の領域(例えば、領域3103)についての情報を取得し得る。
いくつかの実施形態において、サーバは、マップからの1又は複数の3Dスプラインを使用して、座標(例えば位置及び回転情報)をマッピングして、(x,y)2次元座標を(X,Y,Z)3次元座標系にマッピングし得る。例えば、サーバは、車線の境界を表す3Dスプラインを画像内に投影し得る。スプラインに沿った全3D点(例えば、ある間隔を空けている)について、サーバは、画像を取り込んだ1又は複数のカメラについての既知の情報(例えば、焦点距離、主点、レンズ歪など)を使用して、2D画像投影を計算し得る。RGB値を判定する代わりに、サーバは投影点の(X,Y,Z)値を決定及び格納し得る。したがって、サーバは、画像内の投影スプラインに沿った、全(x,y)2次元座標に対して(X,Y,Z)値を決定し得る。サーバが車両と、その道路との接触点(例えば画像データ内で検出される)を検出すると、サーバは、付近のスプラインs1及びs2上の点y1及びy2を確認し、y1及びy2の(加重)平均として、車両への距離を判定し得る。このような手法は、車両に複数のサラウンドカメラが搭載されている場合に有効であり得る。
図32は、カメラの位置特定に基づいて、画像に投影された関連三角形を示す。サーバは、ドロネー三角形分割関数を適用する際、画像内の点が三角形の中に入ると、同三角形に基づいて、当該点に(X,Y,Z)3次元値を割り当てる。
1つの実施形態において、ホスト車両のプロセッサは、面モデルを受信し得る。上述のように、プロセッサは上述の技術を使用して、ホスト車両の位置と、3次元座標系におけるホスト車両の位置とを判定し得る。例えば、そのような位置判定は、特定されたランドマークに対する位置特定、及び/又はランドマーク間の識別されたオブジェクト(例えばターゲット車両)に対するホスト車両の判定されたエゴモーションに基づく位置特定に基づいてよい。プロセッサは、路面モデルを使用して、ホスト車両から識別されたオブジェクトへの距離を判定し得る。例えば、ターゲット車両2903が検出されると、道路との接触点(x,y)が空間直線となる。当該線と、路面との交差3D点により、ホスト車両からターゲット車両への距離Zが得られる。
上述のように、プロセッサは、少なくとも判定された距離に基づいてナビゲーション動作を決定し得る。例えば、ホスト車両からターゲット車両への判定された距離が現在の停止距離未満である場合、プロセッサはブレーキを掛けるなどと判定してよい。
図33は、開示される実施形態と矛盾しない、ホスト車両をナビゲートする例示的なプロセスを示すフローチャートである。段階3301において、プロセッサは、ホスト車両の環境を表す少なくとも1つの画像を画像取込デバイスから受信し得る。この画像は、画像取込デバイス122、124、及び/又は126から、ネットワーク又は通信経路を介して送られた未加工又は処理済みデータであり得る。データは、ある画像形式で記述されたものを含み得る。
段階3303において、プロセッサは、少なくとも1つの画像を解析して、ホスト車両の環境内のオブジェクトを識別し得る。画像2800は、多数の異なるオブジェクトを含む、ホスト車両の環境を示す。プロセッサは、画像2800を解析して、画像内のオブジェクトを識別し得る。上述のように、プロセッサは、オブジェクト識別モジュール2705にアクセスして、任意の適切な画像解析技術を利用し得る。加えて、プロセッサはさらに、画像内の異なるオブジェクトを区別するため、分類アルゴリズムを使用し得る。1つの実施形態において、プロセッサは適切に訓練された機械学習アルゴリズム及びモデルを使用して、オブジェクト識別を行い得る。
段階3305において、プロセッサはホスト車両の位置を判定し得る。1つの実施形態において、上述のように、プロセッサは道路セグメントに沿ったホスト車両のターゲット軌跡を表す、予め定められた3次元スプラインに沿った、ホスト車両の位置予測に基づいて、ホスト車両の位置を判定し得る。例えば、図27Aを参照すると、プロセッサはホスト車両の位置を、特定されたランドマーク2705に基づいて判定し得る。さらに、開示される実施形態と矛盾することなく、予め定められた3次元スプラインに沿ったホスト車両の位置の予測は、少なくとも1つの認識されたランドマークの観測位置に基づいてよい。1つの実施形態において、上述のように、ホスト車両の位置は、GPSデバイス、速度センサ、及び/又は加速度計などの、ホスト車両の少なくとも1つのセンサの出力に基づいて判定してよい。
段階3307において、プロセッサは、ホスト車両の判定された位置に関連付けられたマップ情報にアクセスし得る。このマップ情報は、ホスト車両の環境に内の道路に関連付けられた車線幅情報を含む。1つの実施形態において、プロセッサはホスト車両が走行中の特定のセグメントに関連するスパースマップを受信し得る。次に、上述のように、プロセッサはマップ内の軌跡に対するホスト車両の位置を判定し得る。軌跡が判定されると、プロセッサはホスト車両の将来の経路を、そのターゲット軌跡を表す3次元スプラインに沿った、判定されたホスト車両の特定位置に基づいて判定し得る。さらに、プロセッサはホスト車両の先の道路セグメントに沿った全点(又は少なくとも等間隔点)での車線幅情報を受信し得る。車線幅情報は、任意の適切な形式でスパースマップに格納され得る。形式の例は上述のとおりである。いくつかの実施形態において、車線幅情報はスプラインに沿った予め定められた長手方向距離値でのターゲット軌跡スプラインに対する、左及び右値を含む、及び/又はその他任意の格納形式を含むことができる。
段階3309において、プロセッサは少なくとも車線幅情報に基づいて、ホスト車両からオブジェクトへの距離を判定し得る。例えば、上述のように、プロセッサはスプラインが2次元座標に投影される際、yの値の平均をとってよい(例えば、Z=(y1+y2)/2)。別の例では、式(4)を利用して、プロセッサはホスト車両からオブジェクトへの距離を判定してよい。代替的に、LIDARシステム、RADARシステム、GPSデバイス、速度センサ、及び/又は加速度計などのホスト車両の少なくとも1つのセンサの出力に基づいて、距離が判定されてよい。1つの実施形態において、ホスト車両の別のセンサの出力に基づいて判定された距離の検証に、少なくとも車線幅情報に基づきホスト車両からオブジェクトへの距離を判定する画像解析式方法を利用してよい。
段階3311において、プロセッサは判定された距離に基づいて、ホスト車両に対するナビゲーション動作を決定し得る。例えば、上述のように、ナビゲーション動作は、1又は複数の検出された車両に対する安全な距離(例えば、上述のようにRSSモデルに関する)を維持又は実現するために決定され得る。
一部視認不能なターゲット車両の車線位置判定
場合によっては、ホスト車両に関連付けられた画像取込デバイスで取得された画像内に、ターゲット車両の全体が表され得る。そのような場合、ターゲット車両への距離判定は、画像内で、ターゲット車両が路面に接触する観測された線又は位置に基づき得る。しかし他の場合では、取得画像内に1又は複数のターゲット車両の全体が表されない場合があり得る。例えば、(1又は複数の)取り込まれた画像から、1又は複数のターゲット車両と路面との交点が観測不能となるように、同ターゲット車両が一部視認不能となり得る。そのような場合、1又は複数の検出されたターゲット車両に対する位置情報を推定し、ホスト車両と検出されたターゲット車両との間の距離を判定するのに、別の技術が使用され得る。代替的に又はさらに、検出されたターゲット車両に関して推定された位置情報は、任意で格納されたマップ情報(例えば上述のスパースマップから)と組み合わせて、検出されたターゲット車両が走行する走行車線、ターゲット車両の予期される進行方向などの判定に使用可能である。
上述のように1つの実施形態において、画像処理用のプロセッサは、ホスト車両の周囲環境を表す1又は複数の取得画像を受信し得る。1つの実施形態において、上述のように、プロセッサは画像セットに対して画像解析を実行して、画像セット内のオブジェクトを識別し得る。プロセッサは、複数の画像内のオブジェクト、道路セグメントに関連付けられた複数のランドマーク(例えば、道路標識)を識別し得る。オブジェクトは上記開示の技術のうちの任意のもので識別され得る。例えば、物体認識、画像セグメント化、特徴抽出、光学式文字認識(OCR)、オブジェクトベース画像解析、形状領域技術、エッジ検出手法、画素ベース検出などである。
1つの実施形態において、解析に基づいて、プロセッサは環境内の第1オブジェクト(例えば、ターゲット車両)を識別してよい。第1オブジェクトと、第1オブジェクトが位置する道路は、第2オブジェクト(例えば、遮蔽物、道路標識など)により一部視認不能となっている。図34Aは、ホスト車両3401から取り込まれた画像内で、ターゲット車両が少なくとも一部視認不能となり得る一例示的状況を表す。図34Aは、ターゲット車両3403及び遮蔽物3405などの、その他オブジェクトに対するホスト車両3401の位置を示す。
図34Bは、ホスト車両3401に関連付けられたカメラで取得され得る例示的画像を表す。図34Bに表される画像内で、ターゲット車両3403は画像内で検出され得る。しかし、遮蔽物3405が表現されていることで、ターゲット車両3403の画像が一部視認不能となっている。例えば、ターゲット車両3403の一番下が遮蔽物3405により視認不能である。それでも、ターゲット車両が走行する関連車線(あるいは、ターゲット車両が走行中、そして走行することが予期される経路)は、例えば、ターゲット車両3403の経時的移動を追跡し(例えば、2つ以上の取得画像により表される)、それをマッピング情報(例えば、上述のスパースマップ)と比較して、ターゲット車両3403が移動する車線又は経路を推定することで判定され得る。
より具体的には、2つ又はそれよりも多くの取得画像に基づいて、プロセッサは格納されたマップ情報に対する、車線位置及び/又はターゲット車両の位置を判定し得る。例えば、道路セグメント(複数の交差する道路部分を含み得る)に沿った、走行可能な車線について、軌跡を格納するスパースマップに基づいて、プロセッサはターゲット車両3403がターゲット軌跡L1に関連付けられた車線上に位置すると判定し得る。即ち、上述の位置特定技術を使用して、プロセッサはホスト車両3401の位置を判定し得る。ターゲット車両3403の画像座標は、線V1によりマッピングされ得る。上述のように、画像座標はマップ座標に変換可能である。マップ座標と、線V1と車線L1の交点に基づき、プロセッサはターゲット車両3403の位置を判定し得る。
代替的に又はさらに、ホスト車両は、ターゲット車両3403の2つ又はそれより多くの画像を取り込み、取得した画像内でターゲット車両の表現が如何に変化するかを観測し得る。例えば、ホスト車両3401とターゲット車両3403とが合流箇所に近づくと、ターゲット車両3403を含む取得画像には、ターゲット車両3403が取得画像に占める割合が、ホスト車両3401とターゲット車両3403との距離が短くなるにつれ、大きくなることが示される。ターゲット車両3403の画像表現サイズの変化に基づき(あるいはホスト車両3401とターゲット車両3403との間の相対移動に関連した、その他任意の観測可能な画像特徴に基づき)、プロセッサはターゲット車両3403の走行車線を推定し得る。例えば、プロセッサは格納されたスパースマップにアクセスし、図34Bに表す取得画像内で観測された、遮蔽物3405の反対側に存在し得る走行車線を判定し得る。図示の例では、プロセッサは遮蔽物3405の反対側に、走行車線が1つ存在し、その車線がターゲット軌跡L1に関連付けられていると判定し得る。プロセッサは、ターゲット車両3403に関連付けられた、観測された移動特徴を検証し、その移動特徴がターゲット軌跡L1に沿ったターゲット車両の動きに一致するかを判定し得る。一致する場合、ホスト車両3401のナビゲーションプロセッサは、ターゲット車両3403が遮蔽物3405の反対側の車線内の経路L1に沿って走行していると推定し得る。この情報により、ホスト車両プロセッサはターゲット車両の将来の経路を推定し得る。この推定は、例えば、ターゲット車両が如何にホスト車両と相互作用し得るか、又はこれらが先の車線合流点で合流するかを推定することを含む。場合によっては、ターゲット車両が一部視認不能であっても、ホスト車両は先の車線合流点で、ターゲット車両に先を譲るために、減速し得る。場合によっては、ホスト車両は車線合流点で、ターゲット車両の前に居続けるため加速し得る。ホスト車両は、スパースマップ情報に基づきターゲット車両への距離を判定し、ターゲット車両3403の画像座標は線V1によりマッピングされてよい。
図示の例では、走行車線が1本のみ含まれているが、車線推定及び差判定技術は、ホスト車両の画像取込デバイスの視界から、複数の車線が視認不能である場合にも使用され得る。例えば、遮蔽物3405により視認不能となっている車線が2本、3本、あるいはそれ以上あれば、2つ以上の取り込まれた画像内のターゲット車両の観測された移動特徴を、スパースマップに格納された車線/軌跡情報と比較する同じ技術により、ホスト車両プロセッサは視認不能の車線のうち、ターゲット車両が走行する車線を推定可能になる。この情報から、ターゲット車両の将来の経路が判定可能である。
図35Aは、視認不能な車線が複数ある例を示す。図35Bは、それぞれ線V1及びV2によりマッピングされたt1及びt2でのターゲット車両3503の画像座標を示す。ホスト車両3501は、二車線道路3507との交差点に差し掛かっている。プロセッサは、識別されたターゲット車両3503が、車線L1にあるか、車線L2にあるかを判定し得る。この判定は、適切なナビゲーション動作展開に重要となり得る。例えば、ターゲット車両が軌跡L1に関連付けられた車線にあると判定されると、ホスト車両が左折して軌跡L1に関連付けられた車線に入るのに空間が不足し得る。一方、車両3503の観測された動き特徴と、格納されたマップデータに基づく推定技術により、ホスト車両プロセッサが、軌跡L2に関連付けられた車線をターゲット車両3503が走行していると判定すると、プロセッサは検出されたターゲット車両の妨げになることなく、ホスト車両3501が左折して軌跡L1に関連付けられた車線に入るのに十分な空間があると結論づけ得る。1つの実施形態において、ホスト車両からターゲット車両への距離と、画像からのターゲット車両の位置に基づき、プロセッサはターゲット車両の速度を判定又は推定し得る。例えば、線V1及びV2に基づき、プロセッサは、既知の時間間隔t2-t1に関するターゲット車両3503の走行距離を判定し得る。したがって、ターゲット車両の速度が判定され得る。
図35Bに示すように、ホスト車両3501が時間t1からt2の間に交差点に差し掛かる場合、ホスト車両3501からターゲット車両3503への距離が短くなり、画像3510内のターゲット車両3503のサイズも大きくなる。1つの実施形態において、プロセッサは下の式を使用して、t1でのホスト車両3501からターゲット車両3503への距離Z1と、t2でのホスト車両3501からターゲット車両3503への距離Z2とを判定し得る。
式中、w1はt1における画像3510内のターゲット車両3503のサイズを示し得、w2はt2における画像3510内のターゲット車両3503のサイズを示し得、dZはt1からt2の間のホスト車両3501の走行距離を示し得る。これは、上述の画像解析技術を使用してプロセッサにより検出され得る。dZ値は、速度センサ(例えば速度計)からの情報により判定され得る。計算されたZ1及びZ2に基づいて、プロセッサはターゲット車両3503の車線位置を判定し得る。
図36Aは、ホスト車両3601及びターゲット車両3603の両方が車線合流点に差し掛かかっている、多車線の別の例を示す。図36Bは、それぞれV1及びV2によりマッピングされた時間t1からt2でのターゲット車両3603の画像座標を示す。図36Aに示すように、カーブ車線3609が道路3607と合流する。プロセッサは、計算を単純にするため、カーブ車線3609を直線3613と近似し得る。プロセッサは下の式を使用して、t1でのホスト車両3601からターゲット車両3603への距離Z1と、t2でのホスト車両3601からターゲット車両3603への距離Z2とを判定し得る。
式中、dZはt1からt2の間のホスト車両3601の走行距離を示し得、aは線3613と道路3607との間の角度を示し得、w1はt1における画像3610内のターゲット車両3603のサイズを示し得、w2はt2における画像3610内のターゲット車両3603のサイズを示し得る。1つの実施形態において、簡潔性のため、プロセッサは画像取込デバイス(例えば、カメラ)を仮想的に回転させて、光軸を車線L1とL2とに垂直となるようにし得る。これにより、ターゲット車両3603の動きが無視され得る。さらに、計算されたZ1及びZ2に基づき、プロセッサは、格納されたマップデータとの比較に基づく推定により、ターゲット車両3603の車線位置を判定し得る(例えば、どの車線軌跡がターゲット車両の観測された動き特徴に最も合うかを判定する)。
1つの実施形態において、プロセッサは識別されたオブジェクトについてのスケール変化情報を判定し得る。スケール変化情報は、画像内の識別されたオブジェクトのサイズ変化情報を含み得る。例えば、画像3510において、プロセッサは画像内のターゲット車両3503(又はターゲット車両の識別可能部位、あるいは一部)のサイズが、t1よりもt2において大きいかを判定し得る。スケール変化情報はさらに、画像内の識別されたオブジェクトの位置変化情報を含み得る。例えば、画像3510において、プロセッサは画像内の、ターゲット車両2503による、時間t1からt2における右から左への移動を検出し得る。画像内のオブジェクトのサイズは、画素で表され得る。1つの実施形態において、画像のタイムスタンプに基づき、時間間隔が決定され得る。1つの実施形態において、スケール変化情報は、道路の車線構成に関する構成情報を含む。画像解析に基づき、プロセッサは道路の車線構成を判定し得る。構成は、車線の特徴を含み得る(例えば、直線車線、迂回路、2メートル幅車線、前方右折、など)。
1つの実施形態において、上述のように、プロセッサは識別されたオブジェクトの判定された車線位置に基づき、所望のナビゲーション動作を決定し得る。例えば、ターゲット車両3503が図35Aの車線L2に位置すると判定された場合、プロセッサはホスト車両3501を左折させ安全にL1に進入させ得る。ターゲット車両3503が車線L1に位置すると判定された場合、プロセッサはホスト車両3501に減速し、左折するまで待機させ得る。別の例では、ターゲット車両3603が図36Aの車線L1に位置する場合、プロセッサはターゲット車両3603と衝突しないように、ホスト車両3601を減速させ得る。さらに上述のように、プロセッサはターゲット車両の判定された車線位置とRSS安全な距離に基づいて、ナビゲーション動作を決定し得る。
図37は、開示される実施形態と矛盾しない、ホスト車両のナビゲートのフローチャートである。段階3701において、プロセッサは、ホスト車両の環境を表す少なくとも1つの画像を画像取込デバイスから受信し得る。この画像は、画像取込デバイス122、124、及び/又は126から、ネットワーク又は通信経路を介して送られた未加工又は処理済みデータであり得る。データは、ある画像形式で記述されたものを含み得る。
段階3703において、プロセッサは、複数の画像のうちの少なくとも1つを解析して、ホスト車両の環境内の第1オブジェクトを識別してよい。車両の環境内の第2オブジェクトにより、第1オブジェクト及び第1オブジェクトが位置する道路が少なくとも一部視認不能となっている。上述のように、画像3410、3510、3610はホスト車両の環境を示し得る。上述のように、プロセッサは例えば物体認識、画像セグメント化、特徴抽出、光学式文字認識(OCR)、オブジェクトベース画像解析、形状領域技術、エッジ検出手法、画素ベース検出などを含む画像解析技術を使用して、画像を解析し、画像内のオブジェクトを識別し得る。例えば、解析に基づいて、プロセッサは第1ターゲット車両3503が遮蔽物3505画像3510により視認不能となっていると識別し得る。
段階3705において、プロセッサは複数の画像のうちの少なくとも2つに基づいて、第1オブジェクトについてスケール変化情報を判定し得る。例えば、プロセッサは、t1とt2の両方における、ターゲット車両3503の画像を含む画像3510を比較し得、画像内のターゲット車両3503のサイズ変化を判定し得る。
段階3707において、第1オブジェクトについて判定されたスケール変化情報に基づいて、プロセッサは、第1オブジェクトが位置する道路の車線に対する第1オブジェクトの車線位置を判定し得る。上述のように、Z1及びZ2に基づき、プロセッサはターゲット車両の車線位置を判定し得る。
段階3709において、プロセッサは、第1オブジェクトの判定された車線位置に基づいて、ホスト車両に対するナビゲーション動作を決定し得る。上述のように、例えば、ターゲット車両3503が図35Aの車線L2に位置すると判定されると、プロセッサはホスト車両3501を左折させ安全にL1に進入させ得る。ターゲット車両3503が車線L1に位置すると判定された場合、プロセッサはホスト車両3501に減速し、左折するまで待機させ得る。
追跡軌跡に基づくターゲット車両の道路位置判定
上述のように、取得画像内で、ターゲット車両は一部視認不能となり得る。そのような場合、格納されたスパースマップ情報との比較を利用して、検出されたターゲット車両までの距離が判定され得る。代替的に又はさらに、上述のように、検出されたターゲット車両の移動特徴(画像解析により観測)がスパースマップ情報に比較され、ターゲット車両が走行する走行車線、ターゲット車両の予期される進行方向などが推定され得る。
上述のように1つの実施形態において、画像処理用のプロセッサは、ホスト車両の周囲環境を示す1又は複数の取得画像を受信し得る。1つの実施形態において、上述のように、プロセッサは画像セットに対して画像解析を実行して、画像セット内のオブジェクトを識別し得る。プロセッサは、複数の画像内のオブジェクト、道路セグメントに関連付けられた複数のランドマーク(例えば、道路標識)を識別し得る。オブジェクトは上記開示の技術のうちの任意のもので識別され得る。例えば、物体認識、画像セグメント化、特徴抽出、光学式文字認識(OCR)、オブジェクトベース画像解析、形状領域技術、エッジ検出手法、画素ベース検出などである。
1つの実施形態において、解析に基づいて、プロセッサは環境内の第1オブジェクト(例えば、ターゲット車両)を識別してよい。第1オブジェクトと、第1オブジェクトが位置する道路は、第2オブジェクト(例えば、遮蔽物、道路標識、環状交差点など)により一部視認不能となっている。図38Aは、道路セグメント上のオブジェクトに対するホスト車両3801の位置を示す。ホスト車両3801のプロセッサは、1又は複数の取得画像の解析により、ターゲット車両3803及び環状交差点3805を検出し得る。ホスト車両に対する判定された位置に基づいて、ホスト車両に関連付けられたプロセッサは上述のように、ホスト車両の環境に関連付けられたマップ情報を受信し得る。例えば、ホスト車両3801が走行する道路セグメントに関連付けられたスパースマップが、ホスト車両3801に提供され得る。
図38Aは、時間t1、t2、t3での、ターゲット車両3803及び環状交差点3805に対するホスト車両3801の位置を示す。ターゲット車両3803の取得画像の位置から、及び/又はターゲット車両に関連付けられたその他移動特徴(例えば、取得画像間のオブジェクト拡縮など)に基づいて、プロセッサはターゲット車両3803についての軌跡(例えば、時間t1から時間t3までの間にターゲット車両が走行した追跡軌跡)を判定し得る。環状交差点に進入したターゲット車両3803は、右折し得る。初期転向角は、右(時間t1及びt2での元の走行方向に対して)に約90度であり得る。さらに、ターゲット車両は、環状交差点の周りを走行するとき、環状交差点から出るまで左折し続ける。図38Bは、時間t2とその後の時間t3で、画像取込デバイスからホスト車両3801のプロセッサが受信した2つの異なる画像を表す、例示的合成画像を示す。画像が合成されることで、時間t2から時間t3までの間のターゲット車両3803の進みが示される。ターゲット車両3803は、遮蔽物3805により一部視認不能となっている。
上述のように、t1からr3の間に取り込まれた画像に基づき、プロセッサは画像内のターゲット車両3803のサイズ(又は幅(w))の変化を追跡し得る。プロセッサは、ターゲット車両の走行方向も追跡し得る。この情報から、ターゲット車両について、一部視認不能であっても、走行経路が判定され得る。判定された走行経路を、スパースマップ内に格納された車線軌跡と比較することで、格納された車線軌跡のうち、ターゲット車両の、画像解析から判定された走行経路に一致するものが判定され得る。走行車線をこのように確認することで、ホスト車両ナビゲーションプロセッサは、先の時間におけるターゲット車両の予期される走行経路を判定し、検出されたターゲット車両について判定された走行車線に関して、ホスト車両に対するナビゲーション動作を決定可能となり得る。
図38Cは、画像内のターゲット車両3803の位置(x)と幅(w)との間の関係を示す図である。図示のとおり、ターゲット車両3803が環状交差点に入る位置で、変曲点が生じ得る。変曲点に基づいて、プロセッサは変曲点が生じた時間で撮像された画像を選択し得る。上述の画像解析に基づいて、プロセッサはホスト車両3801からターゲット車両3808までの距離Zを判定し得る。判定された距離Z及び画像幅(w)に基づいて、プロセッサは実際の車両幅Wを、上述の式を利用して計算し得る。画像内の幅(w)と実際の幅Wの両方が判定されると、プロセッサは画像解析で画像幅(w)が判定された任意の点で、ホスト車両3801からターゲット車両3803までの距離Zを計算し得る。ホスト車両からターゲット車両への距離を判定するための上述の方法は、画像幅(w)と画像位置(x)との間の関係を示す図において、変曲点が生じる任意のターゲット車両軌跡に適用され得る。
図39Aは、一例における、ターゲット車両3903、環状交差点3905、及び遮蔽物3907に対するホスト車両3901の位置を示す。図39Bは、ホスト車両3901のプロセッサが画像取込デバイスから受信した1つの画像を示す。1つの実施形態において、プロセッサはターゲット車両3903の車線位置を判定し得る。即ち、ターゲット車両3903が内側車線(T1)にあるか、外側車線(T2)にあるかなどである。格納されたスパースマップ情報に基づいて、プロセッサは図39Aに示すように、ホスト車両の現在位置から、車線T1及びT2の間の車線分離帯の既知の中心位置までの接線を生成し得る。この接線を使用して図39Bに示す取り込まれた画像を解析することで、プロセッサはターゲット車両3903の車線位置を判定し得る。例えば、ターゲット車両3903が画像内の接線の左側にある場合、プロセッサはターゲット車両3903が外側車線(T2)にあると判定し得る。ターゲット車両3903が画像内の接線の右側にある場合、プロセッサはターゲット車両3903が内側車線(T1)にあると判定し得る。ターゲット車両の車線位置を判定するための上述の方法は、任意の多車線カーブ又は環状交差点に適用され得る。
図40Aは、ターゲット車両4003に接近しているホスト車両4001が遮蔽物4007により一部視認不能となっている別の例を示す。図40Bは、ホスト車両に関連付けられた画像取込デバイスからプロセッサが受信する例示的画像を示す。開示される実施形態と矛盾することなく、プロセッサはホスト車両4001の画像取込デバイスにより取り込まれた画像4010を受信し得る。画像4010に示すように、ターゲット車両4003の底部が遮蔽物4007で視認不能となっている。取得画像の解析に基づいて、プロセッサは、ターゲット車両4003が、線V1に沿った正確な位置は不明でも、ホスト車両に対して線V1に沿って位置すると判定し得る。ターゲット車両4003の実際の位置を判定するため、プロセッサはホスト車両4001からターゲット車両4003までの距離(例えばZ1又はZ2)を仮定し得る。プロセッサは、上述のように、2つ又はそれよりも多くの取り込まれた画像間の、ターゲット車両4003の観測された移動特徴を監視し、それぞれターゲット車両の異なる観測軌跡に関連付けられ得る各仮定距離(例えば、Z1又はZ2)について、ターゲット車両の観測軌跡を判定し得る。プロセッサはターゲット車両についての観測軌跡を、遮蔽物4007の反対側の、走行可能な車線と、それに関連付けられた軌跡とを示す、格納されたマップ情報に比較し得る。この比較により、プロセッサは仮定軌跡のうち、よる可能性の高いものを判定し得る(例えば、格納されたマップに表される実際の車線及び軌跡値に最も合うもの)。場合によっては、プロセッサは、ターゲット車両についての特定の仮定軌跡がターゲット車両の実際の軌跡に一致するかについての信頼度(又はその他数値)に応じて、各仮定軌跡をランク付けし得る(例えば、利用可能又は関連するマッピング軌跡に最も一致する観測された軌跡はどれか)。
一例では、図40Aに示すように、ターゲット車両の実際位置がT1の場合、ターゲット車両の経路Z1からZ1'が車線L1に平行になる。言い換えると、車両4003がホスト車両から距離Z1にあると仮定され、ホスト車両が2つ又はそれよりも多くの取り込まれた画像の間の車両4003の移動特徴を観測すると、ホスト車両のプロセッサは、ターゲット車両の画像表現が、格納されたマップに表される経路L1に沿って移動するターゲット車両に合わせて変化したと判定し得る。一方、プロセッサが、ターゲット車両がホスト車両から距離Z2離れていると仮定すると(例えば、ターゲット車両位置4005)、ターゲット車両の画像表現内の観測された変化は経路L1とも経路L2とも異なる軌跡となる。例えば、Z2開始距離に基づく観測軌跡は、Z2からZ2'まで延在し得る。この経路は、経路L1又はL2のいずれにも平行とならない。その結果、ホスト車両のプロセッサは、距離Z2の仮定に基づく観測軌跡がマップに格納されたいずれの有効軌跡にも一致しないため、ターゲット車両が距離Z2にないと判定できる。一方、距離Z1に関連付けられた観測軌跡はマップに格納された有効軌跡に一致するため、プロセッサはターゲット車両がホスト車両から距離Z1にあり、経路L1に沿って走行すると判定し得る。
この解析に基づき、経路L1が、一部視認不能な車両4003の実際の軌跡に対する、最も可能性の高い候補として考えられ得る。マップデータはさらに、当該道路区間又は同様の道路区間について、クラウドソーシングから蓄積された、格納された「可能性の高い経路」情報も含み得る。この場合、初期軌跡判定が不正確であって、正しい経路がZ2からZ2'である場合、車両は車線変更動作処理中であり得る。ある時点で、車両はL1上にあることとなり、その時、上述の処理を繰り返すことで、ターゲット車両が現在経路L1に沿って走行していると判定される。これは、上述の状況に対する包括的な解決方法を呈し得る。例えば、図38Aにおけるターゲット車両が追跡され、様々な距離が仮定された場合に、マップデータに正確に沿うのは仮定されたうちの1つのみとなる。特定の経路の尤度の推定に、機械学習方法が利用され得る。図40Aを再度参照すると、RSSフレームワークによって、V1に沿ったターゲット車両の任意の位置に対して、自車両が安全であることを示す。しかしながら、CRSSフレームワーク(例えば、緩衝距離がホスト車両の責任となる衝突が起きないことを保証する最短安全距離よりも長い)は、最も尤度の高い位置を仮定できる。
概して、プロセッサは上述のように、2つ又はそれよりも多くの取り込まれた画像間の、ターゲット車両4003の観測移動特徴を監視し、ターゲット車両の1又は複数の推定軌跡を判定し得る。観測されたターゲット軌跡を、遮蔽物4007の反対側の走行可能な車線とそれに関連付けられた軌跡を示す、格納されたマップ情報に比較することで、プロセッサはターゲット車両が通過している利用可能な車線がいずれかを判定可能である。例えば、プロセッサは、ターゲット車両4003の観測された動き(例えば、拡縮など)が軌跡L1に一致するが、軌跡L2には一致しないと判定し得る。
上述のように、プロセッサは次の式からホスト車両4001からターゲット車両4003までの距離を判定し得る。
式中、wはt1での画像内のターゲット車両4003の幅を示し、w'はt2での画像内のターゲット車両4003の幅を示す。
例えば、画像4010aから、プロセッサはZ1=40メートル、Z2=44メートル、車線幅=4メートルと判定し得る。予測に基づき、ターゲット車両4003が車線L2で横方向に移動する状況で、プロセッサは、Z1'=30メートル、Z2'=33メートルと判定し得る。
したがって、Z2'が32メートルと予測されると、プロセッサはターゲット車両4003が車線L2の中心から車線L1へ1メートルずれたと判定し得る。又はZ2'が35メートルと予測されると、プロセッサはターゲット車両4003が車線L2から逸れたと判定し得る。
上述のように、プロセッサは格納されたマップ情報を受信し、距離Z1=40メートルがマッピング情報に一致するか判定し得る。距離が格納されたマップ情報に一致する場合、ターゲット車両(例えば、ターゲット車両4003)の軌跡が、車線L1に対応すると確認され得る。この方法は、交差点、環状交差点、又はその他任意の道路セグメント構造における、ターゲット車両走行車線の推定にも適用され得る。1つの実施形態において、ホスト車両に関連付けられたプロセッサは、取り込まれた画像内のオブジェクト表現の、前から後への遠近感又は順番にも基づいて、例えばターゲット車両について走行車線を推定し得る。例えば、図40Cはターゲット車両4003がターゲット車両4005を視認不能にしている、取り込まれた画像を表す。ホスト車両プロセッサは、取り込まれた画像を解析すると、取り込まれた画像内で車両4003が車両4005を視認不能にしているという事実に基づき、ターゲット車両4003がターゲット車両4005よりもホスト車両に近いと判定し得る。この情報に基づいて、ホスト車両プロセッサは、車両4005が車両4003よりもホスト車両から遠くで走行していると推定し得る。この推定を格納されたマップ情報と比較することで、ホスト車両プロセッサは、遮蔽物4007により一部視認不能になっていたとしても、各ターゲット車両4003及び4005が走行中の、走行可能な走行車線を判定可能となる。
図41は、開示される実施形態と矛盾しない、ホスト車両をナビゲートするための例示的方法を表すフローチャートである。段階4101において、プロセッサは、ホスト車両の環境を表す少なくとも1つの画像を画像取込デバイスから受信し得る。この画像は、画像取込デバイス122、124、及び/又は126から、ネットワーク又は通信経路を介して送られた未加工又は処理済みデータであり得る。
段階4103において、プロセッサは、複数の画像のうちの少なくとも1つを解析して、ホスト車両の環境内のターゲット車両を識別してよい。上述のように、画像3810、3910、及び4010は、ホスト車両の環境を示し得る。上述のように、プロセッサは画像を解析して、画像解析技術を使用して画像内のオブジェクトを識別し得る。例えば、解析に基づき、プロセッサはターゲット車両3903、環状交差点3905、及び遮蔽物3907を識別し得る。
段階4105において、プロセッサはホスト車両の環境に関連付けられたマップ情報を受信し得る。例えば、プロセッサはホスト車両の位置を判定し、判定された位置に関連するマップ情報を取得し得る。例えば、判定されたホスト車両位置に基づいて、プロセッサは、特定の位置を含む、又は判定された位置に関連するマップ情報を取得し得る。マップ情報は、走行可能な車線のターゲット軌跡、ランドマークのタイプ及び位置、オブジェクトの種類及び位置、道路構造、高度情報、車線幅、及び/又は制限速度などを含み得る。
段階4107において、プロセッサは、検出されたターゲット車両の、ある期間内での軌跡を、複数の取り込まれた画像の解析に基づいて判定し得る。上述のように、プロセッサは、受信画像内の識別されたオブジェクト(例えばターゲット車両)の動きを監視し得る。即ち、プロセッサは、画像内のターゲット車両のサイズと位置を追跡し、ターゲット車両が3次元マップ(例えば、画像2910)のどこにあるかを推定し得る。例えば、プロセッサはターゲット車両が直進、右折、その後左折していると判定すると、ターゲット車両が環状交差点に進入していると判定し得る。
段階4109において、プロセッサは、ターゲット車両の判定された軌跡と、マップ情報とに基づいて、ホスト車両の環境内の道路に対するターゲット車両の位置を判定し得る。1つの実施形態において、プロセッサは、ターゲット車両が走行した軌跡を示し得る3次元マップとの比較するものとして、ターゲット車両の判定された軌跡を使用し得る。比較に基づき、プロセッサはターゲット車両の判定された軌跡を、マップからの軌跡に対して検証し、ターゲット車両についての妥当な状況に資する軌跡がどれかを判定し得る。プロセッサはさらに、マップ内の軌跡のうち、どれがターゲット車両の観測された軌跡に最も合うかも推測し得る。
段階4111において、プロセッサは、ターゲット車両の判定された位置、及び/又はターゲット車両の判定された軌跡又は走行車線に基づいて、ホスト車両に対するナビゲーション動作を決定し得る。上述の情報に基づき、プロセッサはターゲット車両の位置特定を、その軌跡に沿って実現し得る。位置特定に基づき、プロセッサはホスト車両からターゲット車両への距離を判定し得る。次にプロセッサは判定された距離に基づいて、様々なナビゲーション応答(例えば、RSS安全距離を維持するためなど)を判定し得る。あるいは、上述のように、ターゲット車両の車線位置に基づき、プロセッサはターゲット車両と衝突しないように、ホスト車両に左折させないようにし得る。場合によっては、ホスト車両プロセッサは、格納マップ内の判定されたターゲット車両が走行すると判定されたターゲット軌跡の判定に基づき、ターゲット車両について、予想進行方向を判定し得る。ホスト車両プロセッサはこのターゲット車両の進行方向に基づき、ホスト車両に必要な、1又は複数のナビゲーション変更(例えばブレーキ、車線変更など)を判定し得る。
ターゲット車両の一部(特に、下部及びその路面との接点)が視認不能であると、車両まで、又はターゲット車両がある車線への距離の判定が困難となり得る。この問題を解決するため、上述のシステムは、観測された経時的スケール変化と、既知の道路車線構成に基づいて、一部視認不能ターゲット車両の車線位置を判定し得る。例えば、スケール変化と車線構成は、道路の車線の有効車両軌跡にスケール変化が一致する車線を判定するため、互いに比較又は検証可能である。その後、判定された車線情報を使用して、車線に基づくナビゲーション応答を生成可能である。
システムはさらに距離を推定し、その推定距離情報を使用して、ナビゲーション判断を下すことが可能である。例えば、ターゲット車両が環状交差点に入る際、先の道路の特定カーブを曲がる際などに、ターゲット車両への距離を判定又は少なくとも推定するため、格納されたマップ軌跡を、画像解析によるターゲット車両検出と組み合わせて使用可能である。例えばこの距離情報は、環状交差点に入るか、又は安全に通過できるかを判断するのに使用可能である。図42に示す例を参照すると、ホスト車両4202が、車両4204の後ろを走行し、その環境の画像を取り込む。これら取得画像の解析に基づき、ホスト車両4202に関連付けられたプロセッサは、前方の道路のカーブに入る準備中の、少なくとも1つの接近ターゲット車両4206を識別し得る。画像解析により、ターゲット車両4206がホスト車両4202に対して、視線V1に沿って位置すると判定可能となり得る。しかし、線V1に沿ったターゲット車両の絶対位置又はそこまでの距離は未知であり得る。しかし、格納されたマップ情報を使用して、ホスト車両4202は軌跡L1に対する自車両の位置特定をし得る。プロセッサは、線V1と、検出された接近ターゲット車両4206の有効な走行車線に関連付けられた軌跡L2との間の交点を判定し得る。ホスト車両4202の特定位置と、視線V1と検出されたターゲット車両の軌跡L2との交点により、ホスト車両プロセッサはホスト車両と、検出されたターゲット車両との間の距離を判定し得る。この距離情報は、適切なナビゲーション動作の決定に使用され得る(例えば、車両4204を追い抜くのに十分な空間があるか)。V1とは異なる別の視線を使用して、(例えば、ホスト車両とターゲット車両の両方がカーブ4208に向かって走行する際に)測定を繰り返すことで、接近車両速度が判定可能となる。例えば、ホスト車両は、軌跡L2と自視線との2つの異なる交点を判定し得、この2つの交点間の距離を判定し得、画像取得間の既知の時間を使用して、ターゲット車両4206が第1マップ/視線交点から、第2マップ/視線交点まで移動するのにかかった時間を判定し得る。これにより、車両速度が計算可能となり得る。
上記の説明は、例示の目的のために提示されている。正確な形式又は開示される実施形態に対して網羅的ではなく、限定されることはない。開示される実施形態の明細書及び慣例の考慮から、修正及び適応が当業者に明らかとなる。さらに、開示される実施形態の態様は、メモリに格納されているものとして説明されているが、当業者であれば、これらの態様が、二次ストレージデバイスなどの他のタイプのコンピュータ可読媒体、例えば、ハードディスク又はCD-ROM、又は、他の形式のRAM又はROM、USBメディア、DVD、Blu-ray(登録商標)、4K Ultra HD Blu-ray又は他の光ドライブメディアに格納されることもできる。
記載される説明及び開示される方法に基づくコンピュータプログラムは、経験のある開発者の技術の範囲内にある。様々なプログラム又はプログラムモジュールは、当業者に知られる技術のいずれかを用いて生成されてよく、又は既存のソフトウェアに関連して設計されてよい。例えば、プログラムセクション又はプログラムモジュールは、Net Framework、Net Compact Framework(及び、Visual Basic(登録商標)、Cなど関連する言語)、Java(登録商標)、C++、Objective-C、HTML、HTML/AJAXの組み合わせ、XML、又は、Java(登録商標)アプレットに含まれるHTMLにおいて、又は、それらによって、設計され得る。
さらに、本明細書において、例示的な実施形態が説明されてきたが、同等の要素、修正、省略、(例えば、様々な実施形態にわたる態様の)組み合わせ、適応及び/又は改変を有する任意及びすべての実施形態の範囲は、本開示に基づいて当業者により理解される。特許請求の範囲における限定は、特許請求の範囲において使用される言語に基づいて広く解釈され、本願の明細書又は本願の手続き中に説明される例に限定されることはない。例は、非限定的なものとして解釈されるべきである。さらに、開示される方法の段階は、段階を並べ替えること、及び/又は、段階を挿入又は削除することを含めて、任意の手法で修正されてよい。したがって、本明細書及び事例は例示するだけのものととらえられるべきであり、真の範囲及び精神が以下の特許請求の範囲及びその均等物の全範囲によって示されることが意図される。
[項目1]
ホスト車両をナビゲートするためのシステムであって、上記システムは、
少なくとも1つの処理デバイスであって、
画像取込デバイスから、上記ホスト車両の環境を表す少なくとも1つの画像を受信することと、
上記少なくとも1つの画像を解析して、上記ホスト車両の上記環境内のオブジェクトを識別することと、
上記ホスト車両の位置を判定することと、
上記ホスト車両の上記判定された位置に関連付けられたマップ情報であって、上記ホスト車両の上記環境に関連付けられた高度情報を含む、マップ情報を受信することと、
少なくとも上記高度情報に基づいて、上記ホスト車両から上記オブジェクトまでの距離を判定することと、
上記判定された距離に基づいて、上記ホスト車両に対するナビゲーション動作を決定することと、
を行うようにプログラミングされる少なくとも1つの処理デバイスを備える、システム。
[項目2]
上記高度情報は、上記ホスト車両の上記位置に対する高度の少なくとも1つのインジケーションを含む、項目1に記載のシステム。
[項目3]
上記高度情報は、上記ホスト車両の上記位置から離れる方向に延在する道路の高度プロファイルを含む、項目1に記載のシステム。
[項目4]
上記ホスト車両から上記オブジェクトまでの上記距離の判定は、上記少なくとも1つの画像の解析にさらに基づく、項目1に記載のシステム。
[項目5]
上記ホスト車両から上記オブジェクトまでの上記距離の判定は、上記ホスト車両の上記位置にさらに基づく、項目1に記載のシステム。
[項目6]
上記ホスト車両の上記位置の判定は、上記ホスト車両の少なくとも1つのセンサの出力に基づく、項目1に記載のシステム。
[項目7]
上記少なくとも1つのセンサは、GPSデバイス、速度センサ、又は加速度計を含む、項目6に記載のシステム。
[項目8]
上記ホスト車両の上記位置の判定は、道路セグメントに沿った上記ホスト車両のターゲット軌跡を表す予め定められた3次元スプラインに沿った、上記ホスト車両の位置の予測に基づき、上記予め定められた3次元スプラインに沿った上記ホスト車両の上記位置の上記予測は、少なくとも1つの認識されたランドマークの観測位置に基づく、項目1に記載のシステム。
[項目9]
上記ホスト車両から上記オブジェクトまでの上記距離の判定は、上記ホスト車両の少なくとも1つのセンサの出力にさらに基づく、項目1に記載のシステム。
[項目10]
上記少なくとも1つのセンサは、GPSデバイス、速度センサ、又は加速度計を含む、項目9に記載のシステム。
[項目11]
上記ナビゲーション動作は、上記ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を実行させることを含む、項目1に記載のシステム。
[項目12]
上記ナビゲーションアクチュエータは、上記ホスト車両のステアリング機構と、ブレーキと、アクセルのうちの少なくとも1つを含む、項目11に記載のシステム。
[項目13]
上記オブジェクトはターゲット車両を含む、項目1に記載のシステム。
[項目14]
ホスト車両をナビゲートするための方法であって、
画像取込デバイスから、上記ホスト車両の環境を表す少なくとも1つの画像を受信する段階と、
上記少なくとも1つの画像を解析して、上記ホスト車両の上記環境内のオブジェクトを識別する段階と、
上記ホスト車両の位置を判定する段階と、
上記ホスト車両の上記判定された位置に関連付けられたマップ情報であって、上記ホスト車両の上記環境に関連付けられた高度情報を含む、マップ情報を受信する段階と、
少なくとも上記高度情報に基づいて、上記ホスト車両から上記オブジェクトまでの距離を判定する段階と、
上記判定された距離に基づいて、上記ホスト車両に対するナビゲーション動作を決定する段階と、
を備える、方法。
[項目15]
上記高度情報は、上記ホスト車両の上記位置に対する高度の少なくとも1つのインジケーションを含む、項目14に記載の方法。
[項目16]
上記高度情報は、上記ホスト車両の上記位置から離れる方向に延在する道路の高度プロファイルを含む、項目14に記載の方法。
[項目17]
上記ホスト車両から上記オブジェクトまでの上記距離の判定は、上記少なくとも1つの画像の解析にさらに基づく、項目14に記載の方法。
[項目18]
上記ホスト車両から上記オブジェクトまでの上記距離の判定は、上記ホスト車両の上記位置にさらに基づく、項目14に記載の方法。
[項目19]
上記ホスト車両の上記位置の判定は、上記ホスト車両の少なくとも1つのセンサの出力に基づく、項目14に記載の方法。
[項目20]
上記少なくとも1つのセンサは、GPSデバイス、速度センサ、又は加速度計を含む、項目19に記載の方法。
[項目21]
ホスト車両をナビゲートするためのシステムであって、上記システムは、
少なくとも1つの処理デバイスであって、
画像取込デバイスから、上記ホスト車両の環境を表す少なくとも1つの画像を受信することと、
上記少なくとも1つの画像を解析して、上記ホスト車両の上記環境内のオブジェクトを識別することと、
上記ホスト車両の位置を判定することと、
上記ホスト車両の上記判定された位置に関連付けられたマップ情報であって、上記ホスト車両の上記環境内の道路に関連付けられた車線幅情報を含む、マップ情報を受信することと、
少なくとも上記車線幅情報に基づいて、上記ホスト車両から上記オブジェクトまでの距離を判定することと、
上記判定された距離に基づいて、上記ホスト車両に対するナビゲーション動作を決定することと、
を行うようにプログラミングされる少なくとも1つの処理デバイスを備える、システム。
[項目22]
上記車線幅情報は、上記道路の長さに沿った車線幅プロファイルを含む、項目21に記載のシステム。
[項目23]
上記車線幅情報は、車線幅変化シグネチャを含む、項目21に記載のシステム。
[項目24]
上記車線幅情報は、上記道路の基準点に対する距離を含む、項目21に記載のシステム。
[項目25]
上記ホスト車両から上記オブジェクトまでの上記距離の判定は、上記少なくとも1つの画像の解析にさらに基づく、項目21に記載のシステム。
[項目26]
上記ホスト車両から上記オブジェクトまでの上記距離の判定は、上記ホスト車両の上記位置にさらに基づく、項目21に記載のシステム。
[項目27]
上記ホスト車両の上記位置の判定は、上記ホスト車両の少なくとも1つのセンサの出力に基づく、項目21に記載のシステム。
[項目28]
上記少なくとも1つのセンサは、GPSデバイス、速度センサ、又は加速度計を含む、項目27に記載のシステム。
[項目29]
上記ホスト車両の上記位置の判定は、道路セグメントに沿った上記ホスト車両のターゲット軌跡を表す予め定められた3次元スプラインに沿った、上記ホスト車両の位置の予測に基づき、上記予め定められた3次元スプラインに沿った上記ホスト車両の上記位置の上記予測は、少なくとも1つの認識されたランドマークの観測位置に基づく、項目21に記載のシステム。
[項目30]
上記ホスト車両から上記オブジェクトまでの上記距離の判定は、上記ホスト車両の少なくとも1つのセンサの出力にさらに基づく、項目21に記載のシステム。
[項目31]
上記少なくとも1つのセンサは、GPSデバイス、速度センサ、又は加速度計を含む、項目30に記載のシステム。
[項目32]
上記ナビゲーション動作は、上記ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を実行させることを含む、項目21に記載のシステム。
[項目33]
上記ナビゲーションアクチュエータは、上記ホスト車両のステアリング機構と、ブレーキと、アクセルのうちの少なくとも1つを含む、項目32に記載のシステム。
[項目34]
上記オブジェクトはターゲット車両を含む、項目21に記載のシステム。
[項目35]
ホスト車両をナビゲートするための方法であって、
画像取込デバイスから、上記ホスト車両の環境を表す少なくとも1つの画像を受信する段階と、
上記少なくとも1つの画像を解析して、上記ホスト車両の上記環境内のオブジェクトを識別する段階と、
上記ホスト車両の位置を判定する段階と、
上記ホスト車両の上記判定された位置に関連付けられたマップ情報であって、上記ホスト車両の上記環境内の道路に関連付けられた車線幅情報を含む、マップ情報を受信する段階と、
少なくとも上記車線幅情報に基づいて、上記ホスト車両から上記オブジェクトまでの距離を判定する段階と、
上記判定された距離に基づいて、上記ホスト車両に対するナビゲーション動作を決定する段階と、
を備える、方法。
[項目36]
上記車線幅情報は、上記道路の長さに沿った車線幅プロファイルを含む、項目35に記載の方法。
[項目37]
上記車線幅情報は、車線幅変化シグネチャを含む、項目35に記載の方法。
[項目38]
上記車線幅情報は、上記道路の基準点に対する距離を含む、項目35に記載の方法。
[項目39]
上記ホスト車両から上記オブジェクトまでの上記距離の判定は、上記少なくとも1つの画像の解析にさらに基づく、項目35に記載の方法。
[項目40]
上記ホスト車両から上記オブジェクトまでの上記距離の判定は、上記ホスト車両の上記位置にさらに基づく、項目35に記載の方法。
[項目41]
ホスト車両をナビゲートするためのシステムであって、上記システムは、
少なくとも1つの処理デバイスであって、
画像取込デバイスから、上記ホスト車両の環境を表す複数の画像を受信することと、
上記複数の画像のうちの少なくとも1つを解析して、上記車両の上記環境内の第1オブジェクトを識別することであって、上記車両の上記環境内の第2オブジェクトにより、上記第1オブジェクト及び上記第1オブジェクトが位置する道路が少なくとも一部視認不能となっている、識別することと、
上記複数の画像のうちの少なくとも2つに基づいて、上記第1オブジェクトについてのスケール変化情報を判定することと、
上記第1オブジェクトについての上記判定されたスケール変化情報に基づいて、上記第1オブジェクトが位置する上記道路の車線に対する、上記第1オブジェクトの車線位置を判定することと、
上記第1オブジェクトの上記判定された車線位置に基づいて、上記ホスト車両に対するナビゲーション動作を決定することと、
を行うようにプログラミングされる少なくとも1つの処理デバイスを備える、システム。
[項目42]
上記第1オブジェクトについての上記スケール変化情報は、ある期間に対する、上記第1オブジェクトの画像表現のサイズの変化を含む、項目41に記載のシステム。
[項目43]
上記第1オブジェクトの上記車線位置を判定することは、上記スケール変化情報を、上記道路の1又は複数の車線に関連付けられた、予期されるスケール変化と比較することをさらに含む、項目41に記載のシステム。
[項目44]
上記スケール変化情報は、上記道路の車線構成に関する構成情報を含む、項目43に記載のシステム。
[項目45]
上記ナビゲーション動作は、上記ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を実行させることを含む、項目41に記載のシステム。
[項目46]
上記ナビゲーションアクチュエータは、上記ホスト車両のステアリング機構と、ブレーキと、アクセルのうちの少なくとも1つを含む、項目45に記載のシステム。
[項目47]
上記第1オブジェクトは第1ターゲット車両を含む、項目41に記載のシステム。
[項目48]
上記第2オブジェクトは第2ターゲット車両を含む、項目41に記載のシステム。
[項目49]
上記第2オブジェクトは、上記第1オブジェクトの下部を少なくとも一部視認不能にする、項目41に記載のシステム。
[項目50]
上記第1オブジェクトは車両を含み、上記複数の画像内で、上記車両のタイヤが視認不能となっており、表示されない、項目41に記載のシステム。
[項目51]
上記第1オブジェクトは車両を含み、上記複数の画像内で、上記車両の上部のみが視認可能で、表示される、項目41に記載のシステム。
[項目52]
ホスト車両をナビゲートするための方法であって、
画像取込デバイスから、上記ホスト車両の環境を表す複数の画像を受信する段階と、
上記複数の画像のうちの少なくとも1つを解析して、上記車両の上記環境内の第1オブジェクトを識別することであって、上記車両の上記環境内の第2オブジェクトにより、上記第1オブジェクト及び上記第1オブジェクトが位置する道路が少なくとも一部視認不能となっている、識別する段階と、
上記複数の画像のうちの少なくとも2つに基づいて、上記第1オブジェクトについてのスケール変化情報を判定する段階と、
上記第1オブジェクトについての上記判定されたスケール変化情報に基づいて、上記第1オブジェクトが位置する上記道路の車線に対する、上記第1オブジェクトの車線位置を判定する段階と、
上記第1オブジェクトの上記判定された車線位置に基づいて、上記ホスト車両に対するナビゲーション動作を決定する段階と、
を備える、方法。
[項目53]
上記第1オブジェクトについての上記スケール変化情報は、ある期間に対する、上記第1オブジェクトの画像表現のサイズの変化を含む、項目52に記載の方法。
[項目54]
上記第1オブジェクトの上記車線位置を判定する段階は、上記スケール変化情報を、上記道路の1又は複数の車線に関連付けられた、予期されるスケール変化と比較する段階をさらに含む、項目52に記載の方法。
[項目55]
上記スケール変化情報は、上記道路の車線構成に関する構成情報を含む、項目54に記載の方法。
[項目56]
上記ナビゲーション動作は、上記ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を実行させることを含む、項目52に記載の方法。
[項目57]
上記ナビゲーションアクチュエータは、上記ホスト車両のステアリング機構と、ブレーキと、アクセルのうちの少なくとも1つを含む、項目56に記載の方法。
[項目58]
上記第1オブジェクトは第1ターゲット車両を含む、項目52に記載の方法。
[項目59]
上記第2オブジェクトは第2ターゲット車両を含む、項目52に記載の方法。
[項目60]
上記第2オブジェクトは、上記第1オブジェクトの下部を少なくとも一部視認不能にする、項目52に記載の方法。
[項目61]
ホスト車両をナビゲートするためのシステムであって、上記システムは、
少なくとも1つの処理デバイスであって、
画像取込デバイスから、上記ホスト車両の環境を表す複数の画像を受信することと、
上記複数の画像のうちの少なくとも1つを解析して、上記ホスト車両の上記環境内のターゲット車両を識別することと、
上記ホスト車両の環境に関連付けられたマップ情報を受信することと、
上記複数の画像の解析に基づいて、上記ターゲット車両の、ある期間内での軌跡を判定することと、
上記ターゲット車両の上記判定された軌跡及び上記マップ情報に基づいて、上記ホスト車両の上記環境内の道路に対する、上記ターゲット車両の位置を判定することと、
上記ターゲット車両の上記判定された位置に基づいて、上記ホスト車両に対するナビゲーション動作を決定することと、
を行うようにプログラミングされる少なくとも1つの処理デバイスを備える、システム。
[項目62]
上記ターゲット車両の、上記期間内での上記軌跡の判定は、上記ホスト車両の少なくとも1つのナビゲーションセンサの出力にさらに基づく、項目61に記載のシステム。
[項目63]
上記少なくとも1つのナビゲーションセンサは、GPSデバイス、速度センサ、又は加速度計を含む、項目62に記載のシステム。
[項目64]
上記道路に対する上記ターゲット車両の上記位置を判定することは、上記ターゲット車両の上記軌跡に関連付けられた1又は複数の変曲点の解析と、上記マップ情報に表示される1又は複数の道路の軌跡に対する、上記1又は複数の変曲点の比較を含む、項目61に記載のシステム。
[項目65]
上記道路に対する上記ターゲット車両の上記位置の判定は、GPS情報にさらに基づく、項目61に記載のシステム。
[項目66]
上記ナビゲーション動作は、上記ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を実行させることを含む、項目61に記載のシステム。
[項目67]
上記ナビゲーションアクチュエータは、上記ホスト車両のステアリング機構と、ブレーキと、アクセルのうちの少なくとも1つを含む、項目66に記載のシステム。
[項目68]
上記ターゲット車両の上記位置は、上記道路のカーブで生じる、項目61に記載のシステム。
[項目69]
上記ターゲット車両の上記位置は、上記道路の環状交差点で生じる、項目61に記載のシステム。
[項目70]
ホスト車両をナビゲートするための方法であって、
画像取込デバイスから、上記ホスト車両の環境を表す複数の画像を受信する段階と、
上記複数の画像のうちの少なくとも1つを解析して、上記ホスト車両の上記環境内のターゲット車両を識別する段階と、
上記ホスト車両の環境に関連付けられたマップ情報を受信する段階と、
上記複数の画像の解析に基づいて、上記ターゲット車両の、ある期間内での軌跡を判定する段階と、
上記ターゲット車両の上記判定された軌跡及び上記マップ情報に基づいて、上記ホスト車両の上記環境内の道路に対する、上記ターゲット車両の位置を判定する段階と、
上記ターゲット車両の上記判定された位置に基づいて、上記ホスト車両に対するナビゲーション動作を決定する段階と、
を備える、方法。
[項目71]
上記ターゲット車両の、上記期間内での上記軌跡の判定は、上記ホスト車両の少なくとも1つのナビゲーションセンサの出力にさらに基づく、項目70に記載の方法。
[項目72]
上記少なくとも1つのナビゲーションセンサは、GPSデバイス、速度センサ、又は加速度計を含む、項目71に記載の方法。
[項目73]
上記道路に対する上記ターゲット車両の上記位置を判定する段階は、上記ターゲット車両の上記軌跡に関連付けられた1又は複数の変曲点の解析と、上記マップ情報に表示される1又は複数の道路の軌跡に対する、上記1又は複数の変曲点の比較を含む、項目70に記載の方法。
[項目74]
上記道路に対する上記ターゲット車両の上記位置の判定は、GPS情報にさらに基づく、項目70に記載の方法。
[項目75]
上記ナビゲーション動作は、上記ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を実行させることを含む、項目70に記載の方法。
[項目76]
上記ナビゲーションアクチュエータは、上記ホスト車両のステアリング機構と、ブレーキと、アクセルのうちの少なくとも1つを含む、項目75に記載の方法。
[項目77]
上記ターゲット車両の上記位置は、上記道路のカーブで生じる、項目70に記載の方法。
[項目78]
上記ターゲット車両の上記位置は、上記道路の環状交差点で生じる、項目70に記載の方法。