詳細な説明
[058] 以下の詳細な説明は、添付の図面を参照する。可能な限り、同じ参考番号が、同じ又は類似の部分を指すために、図面及び以下の説明において用いられる。幾つかの実例となる実施形態が、本明細書で説明されるが、修正、適応及び他の実装形態が可能である。例えば、代用、追加又は修正が、図面に示されているコンポーネントに行われてもよく、本明細書で説明される実例となる方法は、開示される方法に対してステップを代用するか、再整理するか、削除するか、又は追加することによって修正されてもよい。従って、以下の詳細な説明は、開示される実施形態及び例に限定されない。代わりに、適切な範囲は、添付の請求項によって定義される。
[059] 自律車両概観
[060] この開示の全体を通して用いられるとき、「自律車両」という用語は、運転者の入力なしに、少なくとも1つのナビゲーション変更を実施できる車両を指す。「ナビゲーション変更」は、車両のステアリング、制動又は加速/減速の1つ又は複数における変更を指す。自律的であるために、車両は、完全に自動的である(例えば、運転者又は運転者の入力なしに完全に運転可能である)必要がない。もっと正確に言えば、自律車両は、或る期間中に運転者の制御下で、且つ他の期間中に運転者の制御なしに動作できる車両を含む。自律車両はまた、(例えば車線の制約の間に車両進路を維持するための)ステアリング、又は或る状況下(しかし全ての状況下ではない)の幾つかのステアリング操作など、車両ナビゲーションの幾つかの態様だけを制御する車両を含んでもよいが、他の態様(例えば、制動又は或る状況下の制動)を運転者に任せてもよい。場合によっては、自律車両は、車両の制動、速度制御及び/又はステアリングの幾つか又は全ての態様を扱ってもよい。
[061] 人間の運転者が、典型的には、車両を制御するために、視覚キュー及び観察に頼るので、それに応じて、交通インフラストラクチャは、運転者に視覚情報を提供するように設計された車線区分線、交通標識、及び交通信号灯で構築される。交通インフラストラクチャのこれらの設計特性を考慮して、自律車両は、カメラと、車両の環境から捕捉された視覚情報を解析する処理ユニットと、を含んでもよい。視覚情報は、例えば、運転者によって観察できる交通インフラストラクチャの構成要素(例えば車線区分線、交通標識、交通信号灯等)及び他の障害物(例えば他の車両、歩行者、破片等)を表す画像を含んでもよい。加えて、自律車両はまた、ナビゲートする場合に、車両の環境モデルを提供する情報などの、格納された情報を用いてもよい。例えば、車両は、GPSデータ、センサデータ(例えば加速度計、速度センサ、サスペンションセンサ等からの)、及び/又は車両が走行している間に、その環境と関係する情報を提供する他の地図データを用いてもよく、車両は(他の車両と同様に)、モデル上でそれ自体の位置を特定するために当該情報を用いてもよい。幾つかの車両はまた、それらの間で通信し、情報を共有し、車両の周囲状況における危険又は変化のピア車両を変更する等のことができる。
[062] システム概観
[063] 図1は、例示的な開示される実施形態と一致するシステム100のブロック図表示である。システム100は、特定の実装形態の要件に依存する様々なコンポーネントを含んでもよい。幾つかの実施形態において、システム100は、処理ユニット110、画像取得ユニット120、位置センサ130、1つ又は複数のメモリユニット140、150、地図データベース160、ユーザインターフェース170、及び無線トランシーバ172を含んでもよい。処理ユニット110は、1つ又は複数の処理装置を含んでもよい。幾つかの実施形態において、処理ユニット110は、アプリケーションプロセッサ180、画像プロセッサ190、又は任意の他の適切な処理装置を含んでもよい。同様に、画像取得ユニット120は、特定のアプリケーションの要件に依存する任意の数の画像取得装置及びコンポーネントを含んでもよい。幾つかの実施形態において、画像取得ユニット120は、画像捕捉装置122、画像捕捉装置124及び画像捕捉装置126などの1つ又は複数の画像捕捉装置(例えばカメラ、CCD、又は任意の他のタイプの画像センサ)を含んでもよい。システム100はまた、処理ユニット110を画像取得ユニット120に通信可能に接続するデータインターフェース128を含んでもよい。例えば、データインターフェース128は、画像取得ユニット120によって取得された画像データを処理ユニット110に伝送するための任意の有線及び/又は無線リンクを含んでもよい。
[064] 無線トランシーバ172は、無線周波数、赤外周波数、磁界又は電界の使用により、1つ又は複数のネットワーク(例えば、セルラ、インターネット等)へのエアインターフェースを通じて伝送を交換するように構成された1つ又は複数の装置を含んでもよい。無線トランシーバ172は、データを伝送及び/又は受信するために任意の周知の規格(例えばWi-Fi(登録商標)、Bluetooth(登録商標)、Bluetooth Smart、802.15.4、ZigBee(登録商標)等)を用いてもよい。かかる伝送は、ホスト車両から1つ又は複数の遠隔に位置するサーバまで通信を含むことができる。かかる伝送はまた、(例えばホスト車両の環境における目標車両を考慮して、又はそれらの車両と一緒に、ホスト車両のナビゲーションの協調を容易にするために、)ホスト車両と、ホスト車両の環境における1つ又は複数の目標車両との間の通信(1方向若しくは2方向)か、又は伝送している車両の近くにおける不特定の受信者へのブロードキャスト伝送さえ含んでもよい。
[065] アプリケーションプロセッサ180及び画像プロセッサ190の両方は、様々なタイプのハードウェアベース処理装置を含んでもよい。例えば、アプリケーションプロセッサ180及び画像プロセッサ190のどちらか又は両方は、マイクロプロセッサ、プリプロセッサ(画像プリプロセッサなど)、グラフィックスプロセッサ、中央処理装置(CPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ、又はアプリケーションの走行並びに画像処理及び解析に適した任意の他のタイプの装置を含んでもよい。幾つかの実施形態において、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、任意のタイプのシングル又はマルチコアプロセッサ、モバイル装置マイクロコントローラ、中央処理装置等を含んでもよい。例えば、Intel(登録商標)、AMD(登録商標)などのメーカから入手可能なプロセッサを含む様々な処理装置が用いられてもよく、且つ様々なアーキテクチャ(例えばx86プロセッサ、ARM(登録商標)等)を含んでもよい。
[066] 幾つかの実施形態において、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、Mobileye(登録商標)から入手可能なプロセッサチップのEyeQシリーズのいずれかを含んでもよい。これらのプロセッサ設計は、それぞれ、ローカルメモリ及び命令セットを備えた多数の処理ユニットを含む。かかるプロセッサは、多数の画像センサから画像データを受信するためのビデオ入力部を含んでもよく、且つまたビデオ出力能力を含んでもよい。一例において、EyeQ2(登録商標)は、332Mhzで動作する90nm-マイクロメートル技術を用いる。EyeQ2(登録商標)アーキテクチャは、2つの浮動小数点ハイパースレッド32ビットRISC CPU(MIPS32(登録商標)34K(登録商標)コア)、5つのビジョンコンピューティングエンジン(VCE)、3つのベクトルマイクロコードプロセッサ(VMP(登録商標))、Denali64ビットモバイルDDRコントローラ、128ビット内部音響相互接続、デュアル16ビットビデオ入力及び18ビットビデオ出力コントローラ、16チャネルDMA、及び幾つかの周辺機器からなる。MIPS34K CPUは、5つのVCE、3つのVMP(商標)及びDMA、第2のMIPS34K CPU及びマルチチャンネルDMAと同様に、他の周辺機器を管理する。5つのVCE、3つのVMP(登録商標)及びMIPS34K CPUは、多機能バンドルアプリケーションによって要求される集中的なビジョン計算を実行することができる。別の例において、第3世代プロセッサである、且つEyeQ2(登録商標)より6倍強力であるEyeQ3(登録商標)が、開示される実施形態において用いられてもよい。他の例において、EyeQ4(登録商標)及び/又はEyeQ5(登録商標)が、開示される実施形態において用いられてもよい。もちろん、任意のより新しい又は将来のEyeQ処理装置が、開示される実施形態と一緒に用いられてもよい。
[067] 本明細書で開示される処理装置のどれも、或る機能を実行するように構成されてもよい。或る機能を実行するための、説明されたEyeQプロセッサ又は他のコントローラ若しくはマイクロプロセッサのいずれかなどの処理装置の構成は、コンピュータ実行可能命令をプログラミングすること、及び処理装置の動作中の実行のために、処理装置にこれらの命令を利用可能にすることを含んでもよい。幾つかの実施形態において、処理装置の構成は、アーキテクチャ命令で処理装置を直接プログラムすることを含んでもよい。他の実施形態において、処理装置の構成は、動作中に処理装置にアクセス可能なメモリに実行可能命令を格納することを含んでもよい。例えば、処理装置は、動作中に、格納された命令を取得して実行するために、メモリにアクセスしてもよい。いずれの場合にも、本明細書で開示される感知、画像解析及び/又はナビゲーション機能を実行するように構成された処理装置は、ホスト車両における多数のハードウェアベースのコンポーネントを制御する専門ハードウェアベースのシステムを表す。
[068] 図1は、処理ユニット110に含まれる2つの別個の処理装置を表すが、より多数又は少数の処理装置が用いられてもよい。例えば、幾つかの実施形態において、単一の処理装置が、アプリケーションプロセッサ180及び画像プロセッサ190のタスクを達成するために用いられてもよい。他の実施形態において、これらのタスクは、2つを超える処理装置によって実行されてもよい。更に、幾つかの実施形態において、システム100は、画像取得ユニット120などの他のコンポーネントを含まずに、1つ又は複数の処理ユニット110を含んでもよい。
[069] 処理ユニット110は、様々なタイプの装置を含んでもよい。例えば、処理ユニット110は、コントローラ、画像プリプロセッサ、中央処理装置(CPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ、又は画像処理及び解析用の任意の他のタイプの装置などの様々な装置を含んでもよい。画像プリプロセッサは、画像センサからの画像を捕捉し、デジタル化し、且つ処理するためのビデオプロセッサを含んでもよい。CPUは、任意の数のマイクロコントローラ又はマイクロプロセッサを含んでもよい。サポート回路は、キャッシュ、電源、クロック及び入力-出力回路を含む、当該技術分野において一般によく知られている任意の数の回路であってもよい。メモリは、プロセッサによって実行された場合にシステムの動作を制御するソフトウェアを格納してもよい。メモリは、データベース及び画像処理ソフトウェアを含んでもよい。メモリは、任意の数のランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ、ディスクドライブ、光記憶装置、テープ記憶装置、リムーバブル記憶装置、及び他のタイプの記憶装置を含んでもよい。1つの実例において、メモリは、処理ユニット110と別個であってもよい。別の実例において、メモリは、処理ユニット110に統合されてもよい。
[070] 各メモリ140及び150は、プロセッサ(例えばアプリケーションプロセッサ180及び/又は画像プロセッサ190)によって実行された場合にシステム100の様々な態様の動作を制御し得るソフトウェア命令を含んでもよい。これらのメモリユニットは、例えば、ニューラルネットワーク又はディープニューラルネットワークなど、訓練されたシステムと同様に様々なデータベース及び画像処理ソフトウェアを含んでもよい。メモリユニットは、ランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ、ディスクドライブ、光記憶装置、テープ記憶装置、リムーバブル記憶装置、及び/又は任意の他のタイプの記憶装置を含んでもよい。幾つかの実施形態において、メモリユニット140及び150は、アプリケーションプロセッサ180及び/又は画像プロセッサ190と別個であってもよい。他の実施形態において、これらのメモリユニットは、アプリケーションプロセッサ180及び/又は画像プロセッサ190に統合されてもよい。
[071] 位置センサ130は、システム100の少なくとも1つのコンポーネントに関連する位置を決定するのに適した任意のタイプの装置を含んでもよい。幾つかの実施形態において、位置センサ130は、GPS受信機を含んでもよい。かかる受信機は、全地球測位システム衛星によってブロードキャストされた信号を処理することによって、ユーザ位置及び速度を決定することができる。位置センサ130からの位置情報データは、アプリケーションプロセッサ180及び/又は画像プロセッサ190に利用可能にされてもよい。
[072] 幾つかの実施形態において、システム100は、車両200の速度を測定するための速度センサ(例えば速度計)などのコンポーネントを含んでもよい。システム100はまた、1つ又は複数の軸に沿って車両200の加速度を測定するための1つ又は複数の加速度計(単軸又は多軸のいずれか)を含んでもよい。
[073] メモリユニット140、150は、周知のランドマークの位置を示すデータベース又は任意の他の形式で構成されたデータを含んでもよい。環境のセンサ情報(画像、レーダ信号、2つ以上の画像のライダ又はステレオ処理からの奥行き情報など)は、周知のランドマークに対する車両の現在位置を判定し、且つ車両位置を洗練化するために、GPS座標、車両の自己動作等の位置情報と一緒に処理されてもよい。この技術の或る態様は、REM(商標)として周知の定位技術に含まれ、REM(商標)は、本出願の譲受人によって市場で販売されている。
[074] ユーザインターフェース170は、システム100の1人又は複数のユーザに情報を提供するか又はそのユーザからの入力を受信するのに適した任意の装置を含んでもよい。幾つかの実施形態において、ユーザインターフェース170は、例えば、タッチスクリーン、マイクロホン、キーボード、ポインタ装置、トラックホイール、カメラ、ノブ、ボタン等を含むユーザ入力装置を含んでもよい。かかる入力装置を用いれば、ユーザは、命令又は情報をタイプすること、音声コマンドを提供すること、ボタン、ポインタ若しくは視線追跡能力を用いてスクリーン上のメニューオプションを選択することによってか、又は情報をシステム100に通信するための任意の他の適切な技術を介して、情報入力又はコマンドをシステム100に提供することができ得る。
[075] ユーザインターフェース170は、ユーザに情報を提供し、ユーザから情報を受信し、且つ例えばアプリケーションプロセッサ180による使用のためにその情報を処理するように構成された1つ又は複数の処理装置を装備してもよい。幾つかの実施形態において、かかる処理装置は、眼球運動を認識し追跡すること、音声コマンドを受信し解釈すること、タッチスクリーン上でなされた接触及び/又はジェスチャを認識し解釈すること、キーボード入力又はメニュー選択に応答すること等のための命令を実行してもよい。幾つかの実施形態において、ユーザインターフェース170は、ディスプレイ、スピーカ、触覚装置、及び/又は出力情報をユーザに提供するための任意の他の装置を含んでもよい。
[076] 地図データベース160は、システム100に有用な地図データを格納するための任意のタイプのデータベースを含んでもよい。幾つかの実施形態において、地図データベース160は、道路、水使用施設、地勢、企業、関心のある地点、レストラン、ガソリンスタンド等を含む様々なアイテムの位置に関係する情報を基準座標系に含んでもよい。地図データベース160は、かかるアイテムの位置だけでなく、例えば格納された特徴のいずれかに関連する名前を含む、それらのアイテムに関係する記述子も格納してもよい。幾つかの実施形態において、地図データベース160は、システム100の他のコンポーネントと物理的に一緒に置かれてもよい。代替又は追加として、地図データベース160又はその一部は、システム100の他のコンポーネント(例えば処理ユニット110)に対して遠隔に位置してもよい。かかる実施形態において、地図データベース160からの情報は、ネットワークへの有線又は無線データ接続を通じて(例えばセルラーネットワーク及び/又はインターネット等を通じて)ダウンロードされてもよい。場合によっては、地図データベース160は、或る道路特徴(例えば車線区分線)又はホスト車両用の目標軌道の多項式表現を含む疎データモデルを格納してもよい。地図データベース160はまた、目標軌道に対するホスト車両の周知の位置を決定又は更新するために利用され得る様々な認識されたランドマークの格納された表現を含んでもよい。ランドマークの表現は、数ある潜在的な識別子の中で、ランドマークタイプ、ランドマーク位置などのデータフィールドを含んでもよい。
[077] 画像捕捉装置122、124及び126は、それぞれ、環境から少なくとも1つの画像を捕捉するのに適した任意のタイプの装置を含んでもよい。更に、任意の数の画像捕捉装置が、画像プロセッサへの入力用の画像を取得するために用いられてもよい。幾つかの実施形態は、単一の画像捕捉装置だけを含んでもよく、一方で他の実施形態は、2つ、3つ、又は4つ以上の画像捕捉装置さえ含んでもよい。画像捕捉装置122、124及び126は、以下で図2B-2Eに関連して更に説明される。
[078] 1つ又は複数のカメラ(例えば画像捕捉装置122、124及び126)は、車両に含まれる感知ブロックの一部であってもよい。様々な他のセンサが、感知ブロックに含まれてもよく、センサのいずれか又は全てが、車両の感知されたナビゲーション状態を創り出すために依拠され得る。カメラ(前方、側方、後方等)に加えて、RADAR、LIDARなどの他のセンサ、及び音響センサが、感知ブロックに含まれてもよい。加えて、感知ブロックは、車両の環境に関係する情報を通信し伝送/受信するように構成された1つ又は複数のコンポーネントを含んでもよい。例えば、かかるコンポーネントは、ホスト車両センサベースの情報、又はホスト車両の環境に関係する任意の他のタイプの情報に対して、遠隔に位置するソースから受信し得る無線トランシーバ(RF等)を含んでもよい。かかる情報は、ホスト車両以外の車両システムから受信されるセンサ出力情報又は関連情報を含んでもよい。幾つかの実施形態において、かかる情報は、遠隔コンピューティング装置、集中型サーバ等から受信される情報を含んでもよい。更に、カメラは、多くの相異なる構成、即ち、単一カメラユニット、多数のカメラ、カメラクラスタ、長FOV、短FOV、広角、魚眼等を取ってもよい。
[079] システム100又はその様々なコンポーネントは、様々な相異なるプラットホームに組み込まれてもよい。幾つかの実施形態において、システム100は、図2Aに示されているように、車両200に含まれてもよい。例えば、車両200は、図1に関連して上記で説明されたように、システム100の処理ユニット110及び他のコンポーネントのいずれかを装備してもよい。幾つかの実施形態において、車両200は、単一の画像捕捉装置(例えばカメラ)だけを装備してもよいが、図2B-2Eに関連して説明される実施形態などの他の実施形態において、複数の画像捕捉装置が用いられてもよい。例えば、図2Aに示されているように、車両200の画像捕捉装置122及び124のいずれかは、ADAS(高度運転者支援システム)撮像セットの一部であってもよい。
[080] 画像取得ユニット120の一部として車両200に含まれる画像捕捉装置は、任意の適切な位置に配置されてもよい。幾つかの実施形態において、図2A-2E及び3A-3Cに示されているように、画像捕捉装置122は、バックミラーの近くに位置してもよい。この位置は、車両200の運転者の視線に似た視線を提供することが可能であり、それは、運転者に何が見えて何が見えないかを決定することを支援し得る。画像捕捉装置122は、バックミラーの近くの任意の位置に配置されてもよいが、しかしミラーの運転者側に画像捕捉装置122を配置することは、運転者の視野及び/又は視線を表す画像を取得することを更に支援し得る。
[081] 画像取得ユニット120の画像捕捉装置用の他の位置が用いられてもよい。例えば、画像捕捉装置124は、車両200のバンパーの上又は中に位置してもよい。かかる位置は、広視野を有する画像捕捉装置用に特に適切であり得る。バンパーに位置する画像捕捉装置の視線は、運転者の視線と異なることができ、従ってバンパー画像捕捉装置及び運転者は、必ずしも同じ対象を見ることが可能であるとは限らない。画像捕捉装置(例えば画像捕捉装置122、124及び126)はまた、他の位置に置かれてもよい。例えば、画像捕捉装置は、車両200のサイドミラーの1つ又は両方の上又は中に、車両200の屋根上に、車両200のボンネット上に、車両200のトランク上に、車両200の側部に位置してもよく、車両200の窓のいずれかの上に搭載されるか、その背後に配置されるか、又はその前に配置されてもよく、且つ車両200の前部及び/又は後部における照明器具に又はその近くに搭載されてもよい等である。
[082] 画像捕捉装置に加えて、車両200は、システム100の様々な他のコンポーネントを含んでもよい。例えば、処理ユニット110は、車両のエンジン制御ユニット(ECU)と統合されて、又はそれとは別個に車両200に含まれてもよい。車両200はまた、GPS受信機などの位置センサ130を装備してもよく、且つまた地図データベース160並びにメモリユニット140及び150を含んでもよい。
[083] 前に論じたように、無線トランシーバ172は、1つ又は複数のネットワーク(例えばセルラーネットワーク、インターネット等)を通じてデータを及び/又は受信してもよい。例えば、無線トランシーバ172は、システム100によって収集されたデータを1つ又は複数のサーバにアップロードし、且つ1つ又は複数のサーバからデータをダウンロードしてもよい。無線トランシーバ172を介して、システム100は、地図データベース160、メモリ140及び/又はメモリ150に格納されたデータに対する、例えば周期的な又はオンデマンドの更新を受信してもよい。同様に、無線トランシーバ172は、システム100からの任意のデータ(例えば画像取得ユニット120によって捕捉された画像、位置センサ130若しくは他のセンサ、車両制御システムによって受信されたデータ等)、及び/又は処理ユニット110によって処理された任意のデータを1つ又は複数のサーバにアップロードしてもよい。
[084] システム100は、プライバシレベル設定に基づいてサーバに(例えばクラウドに)データをアップロードしてもよい。例えば、システム100は、車両及び/又は車両の運転者/所有者を一意に識別可能な、サーバに送信されるデータ(メタデータを含む)のタイプを規制又は制限するために、プライバシレベル設定を実施してもよい。かかる設定は、例えば、無線トランシーバ172を介してユーザによって設定されてもよく、工場出荷時の設定によって初期化されてもよく、又は無線トランシーバ172によって受信されたデータによって初期化されてもよい。
[085] 幾つかの実施形態において、システム100は、「高」プライバシレベルに従ってデータをアップロードしてもよく、設定下でシステム100は、特定の車両及び/又は運転者/所有者に関するどんな詳細もなしに、データ(例えば、ルートに関する位置情報、取得画像等)を伝送してもよい。例えば、「高」プライバシ設定に従ってデータをアップロードする場合に、システム100は、車両登録番号(VIN)も車両の運転者又は所有者の名前も含まなくてもよく、その代わりに、ルートに関係する捕捉画像及び/又は制限された位置情報などのデータを伝送してもよい。
[086] 他のプライバシレベルが、同様に考えられる。例えば、システム100は、「中間」プライバシレベルに従ってサーバにデータを伝送してもよく、且つ車両の型及び/又はモデル、及び/又は車種(例えば乗用車、スポーツ用多目的車、トラック等)など、「高」プライバシレベル下で含まれない追加情報を含んでもよい。幾つかの実施形態において、システム100は、「低」プライバシレベルに従ってデータをアップロードしてもよい。「低」プライバシレベル設定下において、システム100は、データをアップロードし、且つ特定の車両、所有者/運転者、及び/又は車両が走行するルートの一部又は全体を一意に識別するために十分な情報を含んでもよい。かかる「低」プライバシレベルデータは、例えば、VIN、運転者/所有者名、出発前の車両の起点、車両の意図した目的地、車両の型及び/又はモデル、車種等の1つ又は複数を含んでもよい。
[087] 図2Aは、開示される実施形態と一致する例示的な車両撮像システムの概略側面図表示である。図2Bは、図2Aに示されている実施形態の概略上面図実例である。図2Bに示されているように、開示される実施形態は、バックミラーの近辺に及び/又は車両200の運転者の近くに配置された第1の画像捕捉装置122と、車両200のバンパー領域(例えばバンパー領域210の1つ)上又はその中に配置された第2の画像捕捉装置124と、処理ユニット110と、を備えたシステム100を自らの車体に含む車両200を含んでもよい。
[088] 図2Cに示されているように、画像捕捉装置122及び124は、両方とも、車両200のバックミラーの近辺に及び/又は運転者の近くに配置されてもよい。加えて、2つの画像捕捉装置122及び124が、図2B及び2Cに示されているが、他の実施形態が、2つを超える画像捕捉装置を含んでもよいことを理解されたい。例えば、図2D及び2Eに示されている実施形態において、第1、第2及び第3の画像捕捉装置122、124及び126が、車両200のシステム100に含まれる。
[089] 図2Dに示されているように、画像捕捉装置122は、車両200のバックミラーの近辺に及び/又は運転者の近くに配置されてもよく、画像捕捉装置124及び126は、車両200のバンパー領域(例えばバンパー領域210の1つ)の上又はその中に配置されてもよい。且つ図2Eに示されているように、画像捕捉装置122、124及び126は、車両200のバックミラーの近辺に及び/又は運転席の近くに配置されてもよい。開示される実施形態は、画像捕捉装置のどんな特定の数及び構成にも限定されず、画像捕捉装置は、車両200の内側に及び/又はその上のいずれかの適切な位置に配置されてもよい。
[090] 開示される実施形態が、車両に限定されず、他のコンテキストにおいて適用可能であることを理解されたい。また、開示される実施形態が、特定のタイプの車両200に限定されず、自動車、トラック、トレーラ及び他の車種を含む全ての他の車種に適用可能であることを理解されたい。
[091] 第1の画像捕捉装置122は、任意の適切なタイプの画像捕捉装置を含んでもよい。画像捕捉装置122は、光学軸を含んでもよい。1つの実例において、画像捕捉装置122は、グローバルシャッタを備えたAptina M9V024 WVGAセンサを含んでもよい。他の実施形態において、画像捕捉装置122は、1280×960画素の解像度を提供してもよく、且つローリングシャッタを含んでもよい。画像捕捉装置122は、様々な光学素子を含んでもよい。幾つかの実施形態において、1つ又は複数のレンズが、例えば、画像捕捉装置用の所望の焦点距離及び視野を提供するために含まれてもよい。幾つかの実施形態において、画像捕捉装置122は、6mmレンズ又は12mmレンズに関連付けられてもよい。幾つかの実施形態において、画像捕捉装置122は、図2Dに示されているように、所望の視野(FOV)202を有する画像を捕捉するように構成されてもよい。例えば、画像捕捉装置122は、46度FOV、50度FOV、52度FOV、又はより大きなFOVを含む、40度~56度内のような通常のFOVを有するように構成されてもよい。代替として、画像捕捉装置122は、28度FOV又は36度FOVなど、23~40度の範囲における狭FOVを有するように構成されてもよい。加えて、画像捕捉装置122は、100~180度の範囲における広FOVを有するように構成されてもよい。幾つかの実施形態において、画像捕捉装置122は、広角バンパーカメラ又は最大180度FOVを備えたバンパーカメラを含んでもよい。幾つかの実施形態において、画像捕捉装置122は、約100度水平FOVを備えた約2:1アスペクト比(例えばH×V=3800×1900画素)を備えた7.2M画素画像捕捉装置であってもよい。かかる画像捕捉装置は、3画像捕捉装置構成の代わりに用いられてもよい。著しいレンズ歪み故に、かかる画像捕捉装置の垂直FOVは、画像捕捉装置が放射対称レンズを用いる実装形態において、50度よりかなり小さくなり得る。例えば、100度水平FOVと共に50度より大きい垂直FOVを可能にするであろうかかるレンズは、放射対称ではなくなり得る。
[092] 第1の画像捕捉装置122は、車両200に関連するシーンに関する複数の第1の画像を取得してもよい。複数の第1の画像のそれぞれは、一連の画像走査線として取得されてもよく、それらは、ローリングシャッタを用いて捕捉されてもよい。各走査線は、複数の画素を含んでもよい。
[093] 第1の画像捕捉装置122は、第1の一連の画像走査線のそれぞれの取得に関連する走査レートを有してもよい。走査レートは、画像センサが、特定の走査線に含まれる各画素に関連する画像データを取得できるレートを指してもよい。
[094] 画像捕捉装置122、124及び126は、例えばCCDセンサ又はCMOSセンサを含む、任意の適切なタイプで任意の数の画像センサを含んでもよい。一実施形態において、CMOS画像センサは、行における各画素が、1つずつ読み取られるように、ローリングシャッタと共に用いられてもよく、行の走査は、全画像フレームが捕捉されるまで、行ごとに進む。幾つかの実施形態において、行は、フレームに対して上端から底部まで連続して捕捉されてもよい。
[095] 幾つかの実施形態において、本明細書で開示される画像捕捉装置(例えば画像捕捉装置122、124及び126)の1つ又は複数は、高解像度イメージャを構成してもよく、且つ5M画素、7M画素、10M画素、又はより大きな解像度を有してもよい。
[096] ローリングシャッタの使用は、相異なる行における画素が、相異なる時刻に露光され捕捉されることに帰着し得、それは、捕捉画像フレームにおける歪み及び他の画像アーチファクトを引き起こし得る。他方で、画像捕捉装置122が、グローバル又は同期シャッタで動作するように構成された場合に、画素の全ては、同じ時間量にわたって、且つ共通露光期間中に露光され得る。その結果、グローバルシャッタを用いるシステムから収集されたフレームにおける画像データは、特定の時刻における全FOV(FOV202など)のスナップ写真を表す。対照的に、ローリングシャッタの適用において、フレームにおける各行が露光され、データは、相異なる時刻に捕捉される。従って、移動している対象は、ローリングシャッタを有する画像捕捉装置において歪められたように見え得る。この現象は、以下でより詳細に説明される。
[097] 第2の画像捕捉装置124及び第3の画像捕捉装置126は、任意のタイプの画像捕捉装置であってもよい。第1の画像捕捉装置122と同様に、画像捕捉装置124及び126のそれぞれは、光学軸を含んでもよい。一実施形態において、画像捕捉装置124及び126のそれぞれは、グローバルシャッタを備えたAptina M9V024 WVGAセンサを含んでもよい。代替として、画像捕捉装置124及び126のそれぞれは、ローリングシャッタを含んでもよい。画像捕捉装置122と同様に、画像捕捉装置124及び126は、様々なレンズ及び光学素子を含むように構成されてもよい。幾つかの実施形態において、画像捕捉装置124及び126に関連するレンズは、画像捕捉装置122に関連するFOV(FOV202など)と同じであるか又はより狭いFOV(FOV204及び206など)を提供してもよい。例えば、画像捕捉装置124及び126は、40度、30度、26度、23度、20度、又はより小さいFOVを有してもよい。
[098] 画像捕捉装置124及び126は、車両200に関連するシーンに関する複数の第2及び第3の画像を取得してもよい。複数の第2及び第3の画像のそれぞれは、第2及び第3の一連の画像走査線として取得されてもよく、それらは、ローリングシャッタを用いて捕捉されてもよい。各走査線又は行は、複数の画素を有してもよい。画像捕捉装置124及び126は、第2及び第3のシリーズに含まれる画像走査線のそれぞれの取得に関連する第2及び第3の走査レートを有してもよい。
[099] 各画像捕捉装置122、124及び126は、車両200に対する任意の適切な位置及び向きに配置されてもよい。画像捕捉装置122、124及び126の相対的位置決めは、画像捕捉装置から取得される情報を一緒に結合することを支援するように選択されてもよい。例えば、幾つかの実施形態において、画像捕捉装置124に関連するFOV(FOV204など)は、画像捕捉装置122に関連するFOV(FOV202など)、及び画像捕捉装置126に関連するFOV(FOV206など)と部分的に又は完全に重複してもよい。
[0100] 画像捕捉装置122、124及び126は、任意の適切な相対的高さで車両200に位置してもよい。1つの実例において、画像捕捉装置122、124、及び126間に高低差があってもよく、これらの画像捕捉装置は、立体解析を可能にする十分な視差情報を提供し得る。例えば、図2Aに示されているように、2つの画像捕捉装置122及び124は、相異なる高さにある。画像捕捉装置122、124及び126間の横変位差もまたあり、例えば、処理ユニット110による立体解析用の追加の視差情報を与え得る。横変位における差は、図2C及び2Dに示されているように、dxによって表示されてもよい。幾つかの実施形態において、前後変位(例えば、距離変位)が、画像捕捉装置122、124及び126間に存在してもよい。例えば、画像捕捉装置122は、画像捕捉装置124及び/又は画像捕捉装置126の0.5~2メートル、又はそれ以上後ろに位置してもよい。この種の変位は、画像捕捉装置の1つが、他の画像捕捉装置の潜在的な盲点をカバーできるようにし得る。
[0101] 画像捕捉装置122は、任意の適切な解像能力(例えば画像センサに関連する画素数)を有してもよく、画像捕捉装置122に関連する画像センサの解像度は、画像捕捉装置124及び126に関連する画像センサの解像度より高いか、より低いか、又はそれと同じであってもよい。幾つかの実施形態において、画像捕捉装置122及び/又は画像捕捉装置124及び126に関連する画像センサは、640×480、1024×768、1280×960の解像度又は任意の他の適切な解像度を有してもよい。
[0102] フレームレート(例えば、画像捕捉装置が、次の画像フレームに関連する捕捉画素データを捕捉することに移る前に、1つの画像フレームの画素データセットを取得するレート)は、制御可能であってもよい。画像捕捉装置122に関連するフレームレートは、画像捕捉装置124及び126に関連するフレームレートより高いか、より低いか、又はそれと同じであってもよい。画像捕捉装置122、124及び126に関連するフレームレートは、フレームレートのタイミングに影響し得る様々な要因に依存し得る。例えば、画像捕捉装置122、124及び126の1つ又は複数は、画像捕捉装置122、124及び/又は126の画像センサにおける1つ又は複数の画素に関連する画像データの取得の前又は後に課される選択可能な画素遅延期間を含んでもよい。一般に、各画素に対応する画像データは、装置用のクロックレート(例えばクロックサイクル当たり一画素)に従って取得されてもよい。加えて、ローリングシャッタを含む実施形態において、画像捕捉装置122、124及び126の1つ又は複数は、画像捕捉装置122、124及び/又は126における画像センサの画素行に関連する画像データの取得の前又は後に課される選択可能な水平ブランキング期間を含んでもよい。更に、画像捕捉装置122、124及び/又は126の1つ又は複数は、画像捕捉装置122、124及び126の画像フレームに関連する画像データの取得の前又は後に課される選択可能な垂直ブランキング期間を含んでもよい。
[0103] これらのタイミング制御は、画像捕捉装置122、124及び126のそれぞれのライン走査レートが相異なる場合にさえ、画像捕捉装置122、124及び126に関連するフレームレートの同期化を可能にし得る。加えて、以下でより詳細に説明されるように、数ある要因(例えば画像センサ解像度、最大ライン走査レート等)の中で、これらの選択可能なタイミング制御は、画像捕捉装置122の視野が、画像捕捉装置124及び126のFOVと相異なる場合にさえ、画像捕捉装置122のFOVが、画像捕捉装置124及び126の1つ又は複数のFOVと重複するエリアからの画像捕捉の同期化を可能にし得る。
[0104] 画像捕捉装置122、124及び126におけるフレームレートタイミングは、関連する画像センサの解像度に依存し得る。例えば、両方の装置用に同様のライン走査レートを仮定すると、1つの装置が640×480の解像度を有する画像センサを含み、且つ別の装置が、1280×960の解像度を備えた画像センサを含む場合に、より多くの時間が、より高い解像度を有するセンサから画像データのフレームを取得するために必要とされる。
[0105] 画像捕捉装置122、124及び126における画像データ取得のタイミングに影響し得る別の要因は、最大ライン走査レートである。例えば、画像捕捉装置122、124及び126に含まれる画像センサからの画像データの行の取得は、幾らかの最小時間量を必要とする。画素遅延期間が追加されないと仮定すると、画像データの行の取得用のこの最小時間量は、特定の装置用の最大ライン走査レートと関係する。より高い最大ライン走査レートを提供する装置は、より低い最大ライン走査レートを備えた装置より高いフレームレートを提供する可能性を有する。幾つかの実施形態において、画像捕捉装置124及び126の1つ又は複数は、画像捕捉装置122に関連する最大ライン走査レートより高い最大ライン走査速レート有してもよい。幾つかの実施形態において、画像捕捉装置124及び/又は126の最大ライン走査レートは、画像捕捉装置122の最大ライン走査レートの1.25倍、1.5倍、1.75倍又は2倍以上であってもよい。
[0106] 別の実施形態において、画像捕捉装置122、124及び126は、同じ最大ライン走査レートを有してもよいが、画像捕捉装置122は、その最大走査レート以下の走査レートで操作されてもよい。システムは、画像捕捉装置124及び126の1つ又は複数が、画像捕捉装置122のライン走査レートと等しいライン走査レートで動作するように構成されてもよい。他の実例において、システムは、画像捕捉装置124及び/又は画像捕捉装置126のライン走査レートが、画像捕捉装置122のライン走査レートの1.25倍、1.5倍、1.75倍、又は2倍以上であり得るように構成されてもよい。
[0107] 幾つかの実施形態において、画像捕捉装置122、124及び126は、非対称であってもよい。即ち、それらは、相異なる視野(FOV)及び焦点距離を有するカメラを含んでもよい。画像捕捉装置122、124及び126の視野は、例えば、車両200の環境に関する任意の所望のエリアを含んでもよい。幾つかの実施形態において、画像捕捉装置122、124及び126の1つ又は複数は、車両200の前方、車両200の背後、車両200の側方、又はそれらの組み合わせにおける環境から画像データを取得するように構成されてもよい。
[0108] 更に、各画像捕捉装置122、124及び/又は126に関連する焦点距離は、各装置が、車両200に関係する所望の距離範囲で対象の画像を取得するように、(例えば適切なレンズ等を含むことによって)選択可能であってもよい。例えば、幾つかの実施形態において、画像捕捉装置122、124及び126は、車両から数メートル以内の近接の対象の画像を取得してもよい。画像捕捉装置122、124及び126はまた、車両からより離れた範囲(例えば25m、50m、100m、150m又はより離れた)で対象の画像を取得するように構成されてもよい。更に、画像捕捉装置122、124及び126の焦点距離は、1つの画像捕捉装置(例えば画像捕捉装置122)が、車両に比較的近い(例えば10m内又は20m内)対象の画像を取得でき、一方で他の画像捕捉装置(例えば画像捕捉装置124及び126)が、車両200からより離れた(例えば20m、50m、100m、150m等を超える)対象の画像を取得できるように、選択されてもよい。
[0109] 幾つかの実施形態によれば、1つ又は複数の画像捕捉装置122、124及び126のFOVは、広角度を有してもよい。例えば、特に車両200の近辺のエリアの画像を捕捉するために使用され得る画像捕捉装置122、124及び126用に、140度のFOVを有することが有利になり得る。例えば、画像捕捉装置122は、車両200の右又は左の方のエリアの画像を捕捉するために使用されてもよく、かかる実施形態において、画像捕捉装置122が広FOV(例えば少なくとも140度)を有することが望ましくなり得る。
[0110] 画像捕捉装置122、124及び126のそれぞれに関連する視野は、それぞれの焦点距離に依存してもよい。例えば、焦点距離が増加するにつれて、対応する視野は減少する。
[0111] 画像捕捉装置122、124及び126は、任意の適切な視野を有するように構成されてもよい。1つの特定の例において、画像捕捉装置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まで変化してもよい。
[0112] システム100は、画像捕捉装置122の視野が、画像捕捉装置124及び/又は画像捕捉装置126の視野と少なくとも部分的に又は完全に重複するように、構成されてもよい。幾つかの実施形態において、システム100は、例えば画像捕捉装置124及び126の視野が、画像捕捉装置122の視野の内側に入り(例えば、より狭い)、且つ画像捕捉装置122の視野と共通の中心を共有するように、構成されてもよい。他の実施形態において、画像捕捉装置122、124及び126は、隣接するFOVを捕捉してもよく、又はそれらのFOVにおいて部分的な重複を有してもよい。幾つかの実施形態において、画像捕捉装置122、124及び126の視野は、より狭FOVの画像捕捉装置124及び/又は126の中心が、より広いFOV装置122の視野の下半分に位置し得るように、整列されてもよい。
[0113] 図2Fは、開示される実施形態と一致する例示的な車両制御システムの概略表示である。図2Fに示されているように、車両200は、スロットルシステム220、ブレーキシステム230及びステアリングシステム240を含んでもよい。システム100は、1つ又は複数のデータリンク(例えばデータを伝送するための任意の有線及び/又は無線リンク)を通じて、スロットルシステム220、ブレーキシステム230及びステアリングシステム240の1つ又は複数に入力(例えば制御信号)を提供してもよい。例えば、画像捕捉装置122、124及び/又は126によって取得された画像の解析に基づいて、システム100は、(例えば加速、方向転換、車線変更等を引き起こすことによって)車両200をナビゲートするための制御信号をスロットルシステム220、ブレーキシステム230及びステアリングシステム240の1つ又は複数に提供してもよい。更に、システム100は、車両200の動作条件(例えば、速度、車両200がブレーキをかけているか及び/又は変更転換しているか等)を示す入力をスロットルシステム220、ブレーキシステム230、及びステアリングシステム24の1つ又は複数から受信してもよい。更なる詳細は、以下で図4-7に関連して提供される。
[0114] 図3Aに示されているように、車両200はまた、車両200の運転者又は同乗者との対話用のユーザインターフェース170を含んでもよい。例えば、車両用途におけるユーザインターフェース170は、タッチスクリーン320、ノブ330、ボタン340、及びマイクロホン350を含んでもよい。車両200の運転者又は同乗者はまた、システム100と対話するために、ハンドル(例えば、方向指示器ハンドルを含む、車両200のステアリングコラム上に又はその近くに位置する)、ボタン(例えば、車両200のステアリングホイールに位置する)などを用いてもよい。幾つかの実施形態において、マイクロホン350は、バックミラー310に隣接して配置されてもよい。同様に、幾つかの実施形態において、画像捕捉装置122は、バックミラー310の近くに位置してもよい。幾つかの実施形態において、ユーザインターフェース170はまた、1つ又は複数のスピーカ360(例えば車両オーディオシステムのスピーカ)を含んでもよい。例えば、システム100は、スピーカ360を介して様々な通知(例えば警報)を提供してもよい。
[0115] 図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の正面斜視図の実例である。
[0116] この開示の利益を有する当業者によって認識されるように、多数の変形及び/又は修正が、前述の開示された実施形態に行われ得る。例えば、全てのコンポーネントが、システム100の動作にとって不可欠であるわけではない。更に、いずれのコンポーネントも、システム100の任意の適切な部分に位置してもよく、コンポーネントは、開示される実施形態の機能を提供しながら、様々な構成に再配置されてもよい。従って、前述の構成は例であり、上述の構成にかかわらず、システム100は、車両200の周囲状況を解析する広範囲の機能を提供し、且つ解析に応答して車両200をナビゲートすることができる。
[0117] 以下で更に詳細に検討され、且つ様々な開示される実施形態と一致するように、システム100は、自律運転及び/又は運転者支援技術に関係する様々な特徴を提供し得る。例えば、システム100は、画像データ、位置データ(例えばGPS位置情報)、地図データ、速度データ、及び/又は車両200に含まれるセンサからのデータを解析してもよい。システム100は、例えば画像取得ユニット120、位置センサ130、及び他のセンサからのデータを解析用に収集してもよい。更に、システム100は、車両200が、或る行動を取るべきか否かを決定し、次に、人間の介入なしに、決定された行動を自動的に取るために、収集データを解析してもよい。例えば、車両200が、人間の介入なしにナビゲートする場合に、システム100は、(例えば、スロットルシステム220、ブレーキシステム230、及びステアリングシステム240の1つ又は複数に制御信号を送信することによって)車両200の制動、加速、及び/又はステアリングを自動的に制御してもよい。更に、システム100は、収集データを解析し、且つ収集データの解析に基づいて警告及び/又は警報を車両乗員に発してもよい。システム100によって提供される様々な実施形態に関する追加の詳細は、以下で提供される。
[0118] 前向きマルチ撮像システム
[0119] 上記のように、システム100は、マルチカメラシステムを用いる駆動アシスト機能を提供してもよい。マルチカメラシステムは、車両の前方方向を向いた1つ又は複数のカメラを用いてもよい。他の実施形態において、マルチカメラシステムは、車両の側部又は車両の後部の方を向いた1つ又は複数のカメラを含んでもよい。一実施形態において、例えば、システム100は、2つのカメラ撮像システムを用いてもよく、第1のカメラ及び第2のカメラ(例えば画像捕捉装置122及び124)は、車両(例えば車両200)の前部及び/又は側部に配置されてもよい。他のカメラ構成が、開示される実施形態と一致し、本明細書で開示される構成は、例である。例えば、システム100は、任意の数のカメラ(例えば1つ、2つ、3つ、4つ、5つ、6つ、7つ、8つ等)の構成を含んでもよい。更に、システム100は、カメラ「クラスタ」を含んでもよい。例えば、(任意の適切な数のカメラ、例えば1つ、4つ、8つ等を含む)カメラクラスタは、車両に対して前向きであってよく、又は任意の他の方向(例えば後ろ向き、横向き、斜め等)を向いてもよい。従って、システム100は、複数のカメラクラスタを含んでもよく、各クラスタは、車両の環境の特定の領域から画像を捕捉するために、特定の方向に向けられる。
[0120] 第1のカメラは、第2のカメラの視野より大きいか、小さいか、又は部分的に重複する視野を有してもよい。加えて、第1のカメラは、第1のカメラによって提供される画像の単眼画像解析を実行するために、第1の画像プロセッサに接続されてもよく、第2のカメラは、第2のカメラによって提供される画像の単眼画像解析を実行するために、第2の画像プロセッサに接続されてもよい。第1及び第2の画像プロセッサの出力(例えば処理された情報)は、組み合わされてもよい。幾つかの実施形態において、第2の画像プロセッサは、立体解析を実行するために、第1のカメラ及び第2のカメラの両方から画像を受信してもよい。別の実施形態において、システム100は、カメラのそれぞれが異なる視野を有する3カメラ撮像システムを用いてもよい。従って、かかるシステムは、車両の前方及び側方の両方の可変距離に位置する対象に由来する情報に基づく決定を行ってもよい。単眼画像解析への言及は、画像解析が、単一の視点から(例えば単一のカメラから)捕捉された画像に基づいて実行される例を指してもよい。立体画像解析は、画像解析が、捕捉画像パラメータの1つ又は複数の変化を用いて捕捉された2つ以上の画像に基づいて実行される例を指してもよい。例えば、立体画像解析を実行するのに適した捕捉画像は、2つ以上の相異なる位置から、相異なる視野から、相異なる焦点距離を用いて、視差情報と共に等で捕捉された画像を含んでもよい。
[0121] 例えば、一実施形態において、システム100は、画像捕捉装置122~126を用いる3カメラ構成を実現してもよい。かかる構成において、画像捕捉装置122は、狭視野(例えば、34度、又は約20~45度の範囲から選択された他の値等)を提供してもよく、画像捕捉装置124は、広視野(例えば、150度、又は約100~約180度の範囲から選択された他の値)を提供してもよく、画像捕捉装置126は、中間視野(例えば、46度、又は約35~約60度の範囲から選択された他の値)を提供してもよい。幾つかの実施形態において、画像捕捉装置126は、主カメラ又は一次カメラとして働いてもよい。画像捕捉装置122-126は、バックミラー310の背後に配置され、且つほぼ並んで(例えば、6cm離れて)配置されてもよい。更に、幾つかの実施形態において、上記のように、画像捕捉装置122-126の1つ又は複数は、車両200のフロントガラスと面一にあるグレアシールド380の背後に搭載されてもよい。かかる遮蔽は、画像捕捉装置122-126に対する車両内部からのどんな反射の影響も最小化するように働き得る。
[0122] 別の実施形態において、図3B及び3Cに関連して上記で説明されたように、広視野のカメラ(例えば上記の例における画像捕捉装置124)は、狭視野カメラ及び主視野カメラ(例えば上記の例における画像装置122及び126)より低く搭載されてもよい。この構成は、広視野カメラからの自由な視線を提供し得る。反射を低減するために、カメラは、車両200のフロントガラスの近くに搭載されてもよく、且つ反射光を減少させるためにカメラ上に偏光子を含んでもよい。
[0123] 3カメラシステムは、或る性能特性を提供し得る。例えば、幾つかの実施形態は、別のカメラからの検出結果に基づいて、1つのカメラによる対象の検出を検証する能力を含み得る。上記の3カメラ構成において、処理ユニット110は、例えば、3つの処理装置(例えば上記のように、プロセッサチップの3つのEyeQシリーズ)を含んでもよく、各処理装置は、画像捕捉装置122~126の1つ又は複数によって捕捉された画像を処理することに専念する。
[0124] 3カメラシステムにおいて、第1の処理装置は、主カメラ及び狭視野カメラの両方から画像を受信し、且つ例えば、他の車両、歩行者、車線マーク、交通標識、交通信号灯、及び他の路上対象を検出するために、狭FOVカメラのビジョン処理を実行してもよい。更に、第1の処理装置は、主カメラからの画像と狭カメラとの間の画素の視差を計算し、且つ車両200の環境の3D再構成を作成してもよい。次に、第1の処理装置は、3D地図データと又は別のカメラからの情報に基づいて計算された3D情報と、3D再構成を組み合わせてもよい。
[0125] 第2の処理装置は、主カメラから画像を受信し、且つ他の車両、歩行者、車線マーク、交通標識、交通信号灯、及び他の路上対象を検出するために、ビジョン処理を実行してもよい。加えて、第2の処理装置は、カメラ変位を計算し、且つ変位に基づいて、連続画像間の画素の視差を計算し、シーンの3D再構成を作成してもよい(例えば、ストラクチャーフロムモーション(structure from motion))。第2の処理装置は、立体3D画像と組み合わされるように、3D再構成に基づいたストラクチャーフロムモーションを第1の処理装置に送信してもよい。
[0126] 第3の処理装置は、広FOVカメラから画像を受信し、且つ車両、歩行者、車線マーク、交通標識、交通信号灯、及び他の路上対象を検出するために画像を処理してもよい。第3の処理装置は、車線を変更している車両、歩行者など、画像において移動している対象を識別するように画像を解析するために、追加の処理命令を更に実行してもよい。
[0127] 幾つかの実施形態において、独立して捕捉され処理された画像ベースの情報ストリームを有することによって、システムにおける冗長性を提供する機会が提供され得る。かかる冗長性は、例えば、少なくとも第2の画像捕捉装置からの画像情報を捕捉し処理することによって取得された情報を検証し及び/又は補足するために、第1の画像捕捉装置及びその装置からの処理された画像を用いることを含んでもよい。
[0128] 幾つかの実施形態において、システム100は、車両200用にナビゲーション支援を提供する際に、2つの画像捕捉装置(例えば画像捕捉装置122及び124)を用い、且つ冗長性を提供して画像捕捉装置122及び124から受信されたデータの解析を検証するために第3の画像捕捉装置(例えば画像捕捉装置126)を用いてもよい。例えば、かかる構成において、画像捕捉装置122及び124は、車両200をナビゲートするためにシステム100による立体解析用の画像を提供してもよく、一方で画像捕捉装置126は、画像捕捉装置122及び/又は画像捕捉装置124から捕捉された画像に基づいて取得された情報の冗長性及び検証を提供するために、システム100による単眼解析用の画像を提供してもよい。即ち、画像捕捉装置126(及び対応する処理装置)は、(例えば自動非常ブレーキ(AEB)システムを提供するために)画像捕捉装置122及び124に由来する解析に対するチェックを提供するための冗長サブシステムを提供すると考えられてもよい。更に、幾つかの実施形態において、受信データの冗長性及び検証は、1つ又は複数センサから受信された情報(例えばレーダ、ライダ、音響センサ、車両の外部の1つ又は複数のトランシーバから受信された情報等)に基づいて補足されてもよい。
[0129] 当業者は、上記のカメラ構成、カメラ配置、カメラの数、カメラ位置等が、単に例であることを認識されよう。これらのコンポーネント及び全体的なシステムに関連して説明される他のコンポーネントは、開示される実施形態の範囲から逸脱せずに、様々な相異なる構成において組み立てられ、用いられてもよい。運転者支援及び/又は自律車両機能を提供するマルチカメラシステムの使用に関する更なる詳細は、以下に続く。
[0130] 図4は、メモリ140及び/又は150の例示的な機能ブロック図であり、メモリ140及び/又は150は、開示される実施形態と一致する1つ又は複数の動作を実行するための命令を格納/プログラムされてもよい。下記は、メモリ140に触れるが、当業者は、命令が、メモリ140及び/又は150に格納されてもよいことを認識されよう。
[0131] 図4に示されているように、メモリ140は、単眼画像解析モジュール402、立体画像解析モジュール404、速度及び加速度モジュール406、並びにナビゲーション応答モジュール408を格納してもよい。開示される実施形態は、メモリ140のどんな特定の構成にも限定されない。更に、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、メモリ140に含まれるモジュール402-408のいずれかに格納された命令を実行してもよい。当業者は、処理ユニット110への以下の説明における言及が、アプリケーションプロセッサ180及び画像プロセッサ190を個々に又は集合的に指してもよいことを理解されよう。従って、以下のプロセスのいずれかにおけるステップは、1つ又は複数の処理装置によって実行されてもよい。
[0132] 一実施形態において、単眼画像解析モジュール402は、命令(コンピュータビジョンソフトウェアなど)を格納してもよく、それらの命令は、処理ユニット110によって実行された場合に、画像捕捉装置122、124及び126の1つによって取得された画像セットの単眼画像解析を実行する。幾つかの実施形態において、処理ユニット110は、単眼画像解析を実行するために、画像セットからの情報を追加のセンサ情報(例えばレーダからの情報)と組み合わせてもよい。以下で図5A-5Dに関連して説明されるように、単眼画像解析モジュール402は、車線区分線、車両、歩行者、道路標識、ハイウェイ出口ランプ、交通信号灯、危険な対象、及び車両の環境に関連する任意の他の特徴などの、画像セット内の特徴セットを検出するための命令を含んでもよい。解析に基づき、(例えば処理ユニット110を介して)システム100は、ナビゲーション応答モジュール408に関連して以下で説明されるように、方向転換、車線変更、加速度の変更など、車両200における1つ又は複数のナビゲーション応答を引き起こしてもよい。
[0133] 一実施形態において、単眼画像解析モジュール402は、命令(コンピュータビジョンソフトウェアなど)を格納してもよく、これらの命令は、処理ユニット110によって実行された場合に、画像捕捉装置122、124及び126の1つによって取得された画像セットの単眼画像解析を実行する。幾つかの実施形態において、処理ユニット110は、単眼画像解析を実行するために、画像セットからの情報を追加のセンサ情報(例えばレーダ、ライダ等からの情報)と組み合わせてもよい。以下で図5A-5Dに関連して説明されるように、単眼画像解析モジュール402は、車線区分線、車両、歩行者、道路標識、ハイウェイ出口ランプ、交通信号灯、危険な対象、及び車両の環境に関連する任意の他の特徴などの画像セット内の特徴セットを検出するための命令を含んでもよい。解析に基づき、(例えば処理ユニット110を介して)システム100は、ナビゲーション応答の決定に関連して以下で説明されるように、方向転換、車線変更、加速度の変更など、車両200における1つ又は複数のナビゲーション応答を引き起こしてもよい。
[0134] 一実施形態において、立体画像解析モジュール404は、命令(コンピュータビジョンソフトウェアなど)を格納してもよく、これらの命令は、処理ユニット110によって実行された場合に、画像捕捉装置122、124及び126のいずれかから選択される画像捕捉装置の組み合わせによって取得された第1及び第2の画像セットの立体画像解析を実行する。幾つかの実施形態において、処理ユニット110は、立体画像解析を実行するために、第1及び第2の画像セットからの情報を追加のセンサ情報(例えばレーダからの情報)と組み合わせてもよい。例えば、立体画像解析モジュール404は、画像捕捉装置124によって取得された第1の画像セット、及び画像捕捉装置126によって取得された第2の画像セットに基づいて、立体画像解析を実行するための命令を含んでもよい。以下で図6に関連して説明されるように、立体画像解析モジュール404は、車線区分線、車両、歩行者、道路標識、ハイウェイ出口ランプ、交通信号灯、危険な対象などの第1及び第2の画像セット内の特徴セットを検出するための命令を含んでもよい。解析に基づいて、処理ユニット110は、ナビゲーション応答モジュール408に関連して以下で説明されるように、方向転換、車線変更、加速度の変更などの車両200における1つ又は複数のナビゲーション応答を引き起こしてもよい。更に、幾つかの実施形態において、立体画像解析モジュール404は、訓練されたシステム(ニューラルネットワーク若しくはディープニューラルネットワークなど)又は訓練されていないシステムに関連する技術を実施してもよい。
[0135] 一実施形態において、速度及び加速度モジュール406は、車両200の速度及び/又は加速度の変更を引き起こすように構成される、車両200における1つ又は複数のコンピューティング及び電気機械装置から受信されたデータを解析するように構成されたソフトウェアを格納してもよい。例えば、処理ユニット110は、単眼画像解析モジュール402及び/又は立体画像解析モジュール404の実行に由来するデータに基づいて、車両200用の目標速度を計算するために、速度及び加速度モジュール406に関連する命令を実行してもよい。かかるデータは、例えば、目標位置と、速度及び/又は加速と、近くの車両、歩行者又は路上対象に対する車両200の位置及び/又は速度と、道路の車線区分線に対する車両200用の位置情報と、などを含んでもよい。加えて、処理ユニット110は、センサ入力(例えばレーダからの情報)と、車両200のスロットルシステム220、ブレーキシステム230及び/又はステアリングシステム240など、車両200用の他のシステムからの入力と、に基づいて、車両200用の目標速度を計算してもよい。計算された目標速度に基づいて、処理ユニット110は、例えば、車両200のブレーキを物理的に押し込み、アクセルを緩めることによって速度及び/又は加速度の変更を引き起こすために、車両200のスロットルシステム220、ブレーキシステム230及び/又はステアリングシステム240に電気信号を伝送してもよい。
[0136] 一実施形態において、ナビゲーション応答モジュール408は、単眼画像解析モジュール402及び/又は立体画像解析モジュール404の実行に由来するデータに基づいて、所望のナビゲーション応答を決定するために、処理ユニット110によって実行可能なソフトウェアを格納してもよい。かかるデータは、近くの車両、歩行者及び路上対象、車両200用の目標位置情報などに関連する位置及び速度情報を含んでもよい。加えて、幾つかの実施形態において、ナビゲーション応答は、地図データ、車両200の所定の位置、及び/又は車両200と、単眼画像解析モジュール402及び/又は立体画像解析モジュール404の実行から検出された1つ又は複数の対象との間の相対的速度若しくは相対的加速度に(部分的に又は完全に)に基づいてもよい。ナビゲーション応答モジュール408はまた、センサ入力(例えばレーダからの情報)と、車両200のスロットルシステム220、ブレーキシステム230及びステアリングシステム240など、車両200の他のシステムからの入力と、に基づいて、所望のナビゲーション応答を決定してもよい。所望のナビゲーション応答に基づいて、処理ユニット110は、所定の角度の回転を達成するために、例えば車両200のステアリングホイールを回すことによって所望のナビゲーション応答を引き起こすために、車両200のスロットルシステム220、ブレーキシステム230及びステアリングシステム240に電気信号を伝送してもよい。幾つかの実施形態において、処理ユニット110は、車両200の速度の変更を計算するための速度及び加速度モジュール406の実行への入力として、ナビゲーション応答モジュール408の出力(例えば所望のナビゲーション応答)を用いてもよい。
[0137] 更に、本明細書で開示されるモジュール(例えばモジュール402、404及び406)のいずれかは、訓練されたシステム(ニューラルネットワーク又はディープニューラルネットワークなど)又は訓練されていないシステムに関連する技術を実施してもよい。
[0138] 図5Aは、開示される実施形態と一致する、単眼画像解析に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的なプロセス500Aを示すフローチャートである。ステップ510において、処理ユニット110は、処理ユニット110と画像取得ユニット120との間のデータインターフェース128を介して複数の画像を受信してもよい。例えば、画像取得ユニット120(視野202を有する画像捕捉装置122など)に含まれるカメラは、車両200の前方(又は例えば車両の側部又は後部の方)のエリアの複数の画像を捕捉し、且つデータ接続(例えば、デジタル、有線、USB、無線、Bluetooth等)を通じてそれらの画像を処理ユニット110に伝送してもよい。処理ユニット110は、図5B-5Dに関連して以下で更に詳細に説明されるように、ステップ520において複数の画像を解析するために、単眼画像解析モジュール402を実行してもよい。解析を実行することによって、処理ユニット110は、車線区分線、車両、歩行者、道路標識、ハイウェイ出口ランプ、交通信号灯など、画像セット内の特徴セットを検出してもよい。
[0139] 処理ユニット110はまた、例えばトラックタイヤの一部、落ちた道路標識、ルーズカーゴ、小動物など、ステップ520において様々な道路危険物を検出するために、単眼画像解析モジュール402を実行してもよい。道路危険物は、構造、形状、サイズ及び色において相異なる可能性があり、それらは、かかる危険物の検出をより困難にさせ得る。幾つかの実施形態において、処理ユニット110は、道路危険物を検出するように複数の画像に対してマルチフレーム解析を実行するために、単眼画像解析モジュール402を実行してもよい。例えば、処理ユニット110は、連続画像フレーム間のカメラ動作を評価し、且つ道路の3D地図を構成するためにフレーム間の画素における視差を計算してもよい。次に、処理ユニット110は、路面と路面上に存在する危険物とを検出するために3D地図を用いてもよい。
[0140] ステップ530において、処理ユニット110は、ステップ520で実行された解析及び図4に関連して上記で説明された技術に基づいて、車両200における1つ又は複数のナビゲーション応答を引き起こすために、ナビゲーション応答モジュール408を実行してもよい。ナビゲーション応答は、例えば、方向転換、車線変更、加速度の変更などを含んでもよい。幾つかの実施形態において、処理ユニット110は、1つ又は複数のナビゲーション応答を引き起こすために、速度及び加速度モジュール406の実行に由来するデータを用いてもよい。加えて、多数のナビゲーション応答が、同時にか、シーケンスでか、又はそれらの任意の組み合わせで行われてもよい。例えば、処理ユニット110は、車両200を一レーンにわたって移動させ、次に、例えば車両200のステアリングシステム240及びスロットルシステム220に制御信号を連続して伝送することによって、加速してもよい。代替として、処理ユニット110は、例えば車両200のブレーキシステム230及びステアリングシステム240に制御信号を同時に伝送することによって、車両200にブレーキをかけさせ、一方で同時に車線を変更してもよい。
[0141] 図5Bは、開示される実施形態と一致する、画像セットにおける1つ又は複数の車両及び/又は歩行者の検出用の例示的なプロセス500Bを示すフローチャートである。処理ユニット110は、プロセス500Bを実行するために、単眼画像解析モジュール402を実行してもよい。ステップ540において、処理ユニット110は、可能性がある車両及び/又は歩行者を表す候補対象セットを決定してもよい。例えば、処理ユニット110は、1つ又は複数の画像を走査し、画像を1つ又は複数の所定のパターンと比較し、且つ関心のある対象(例えば車両、歩行者又はそれらの一部)を含み得る、可能性がある位置を各画像内で識別してもよい。所定のパターンは、高率の「偽ヒット」及び低率の「見落とし」を達成するような方法で設計されてもよい。例えば、処理ユニット110は、可能性がある車両又は歩行者としての候補対象を識別するための所定のパターンとの類似性の低閾値を用いてもよい。そうすることによって、処理ユニット110は、車両又は歩行者を表す候補対象を見落とす(例えば識別しない)可能性を低減することが可能になる。
[0142] ステップ542において、処理ユニット110は、分類基準に基づいて或る対象(例えば無関係な又はそれほど関係のない対象)を除外するために、候補対象セットをフィルタリングしてもよい。かかる基準は、データベース(例えば、メモリ140に格納されたデータベース)に格納された対象タイプに関連する様々な特性から導き出されてもよい。特性は、対象の形状、寸法、テクスチャ、位置(例えば車両200に対する)などを含んでもよい。従って、処理ユニット110は、候補対象セットから誤った対象を拒否するために、1つ又は複数の基準セットを用いてもよい。
[0143] ステップ544において、処理ユニット110は、候補対象セットにおける対象が、車両及び/又は歩行者を表すかどうかを決定するために、複数の画像フレームを解析してもよい。例えば、処理ユニット110は、連続フレームにわたって、検出された候補対象を追跡し、且つ検出された対象に関連するフレームごとのデータ(例えばサイズ、車両200に対する位置等)を蓄積してもよい。加えて、処理ユニット110は、検出された対象用のパラメータを評価し、対象のフレームごとの位置データを予測位置と比較してもよい。
[0144] ステップ546において、処理ユニット110は、検出された対象用の測定値セットを構成してもよい。かかる測定値は、例えば、検出された対象に関連する(車両200に対する)位置、速度、及び加速度値を含んでもよい。幾つかの実施形態において、処理ユニット110は、カルマンフィルタ又は線形二次推定(LQE)などの一連の時間ベースの観察を用いる推定技術に基づいて、及び/又は相異なる対象タイプ(例えば乗用車、トラック、歩行者、自転車、道路標識等)用の利用可能なモデリングデータに基づいて、測定値を構成してもよい。カルマンフィルタは、対象のスケールの測定に基づいてもよく、スケール測定は、衝突までの時間(例えば車両200が対象に達する時間量)に比例する。従って、ステップ540-546を実行することによって、処理ユニット110は、捕捉画像セット内に現れる車両及び歩行者を識別し、且つ車両及び歩行者に関連する情報(例えば位置、速度、サイズ)を導き出してもよい。識別及び導き出された情報に基づいて、処理ユニット110は、上記で図5Aに関連して説明されたように、車両200における1つ又は複数のナビゲーション応答を引き起こしてもよい。
[0145] ステップ548において、処理ユニット110は、「偽ヒット」の検出及び車両又は歩行者を表す候補対象の見落としの可能性を低減するために、1つ又は複数の画像のオプティカルフロー解析を実行してもよい。オプティカルフロー解析は、例えば、他の車両及び歩行者に関連する1つ又は複数の画像において、車両200に対する、且つ路面の動作とは異なる動作パターンを解析することを指してもよい。処理ユニット110は、複数の画像フレームにわたって対象の相異なる位置を観察することによって、候補対象の動作を計算してもよく、複数の画像フレームは、相異なる時刻に捕捉される。処理ユニット110は、候補対象の動作を計算するための数学モデルへの入力として、位置及び時間値を用いてもよい。従って、オプティカルフロー解析は、車両200のすぐ近くの車両及び歩行者を検出する別の方法を提供し得る。処理ユニット110は、車両及び歩行者を検出するための冗長性を提供し、且つシステム100の信頼性を向上させるために、ステップ540-546と組み合わせてオプティカルフロー解析を実行してもよい。
[0146] 図5Cは、開示される実施形態と一致する、画像セットにおける路面標識及び/又は車線ジオメトリ情報を検出するための例示的なプロセス500Cを示すフローチャートである。処理ユニット110は、プロセス500Cを実施するために、単眼画像解析モジュール402を実行してもよい。ステップ550において、処理ユニット110は、1つ又は複数の画像を走査することによって、対象セットを検出してもよい。車線区分線、車線ジオメトリ情報、及び他の適切な路面標識のセグメントを検出するために、処理ユニット110は、無関係であると判定されたもの(例えば小さな穴、小さな岩等)を除外するために、対象セットをフィルタリングしてもよい。ステップ552において、処理ユニット110は、同じ路面標識又は車線マークに属する、ステップ550で検出されたセグメントを、グループ分けしてもよい。グループ分けに基づいて、処理ユニット110は、数学モデルなど、検出されたセグメントを表すモデルを開発してもよい。
[0147] ステップ554において、処理ユニット110は、検出されたセグメントに関連する測定値セットを構成してもよい。幾つかの実施形態において、処理ユニット110は、画像面からの検出されたセグメントの投影を実世界の平面上に作成してもよい。投影は、検出された道路の位置、傾斜、曲率及び曲率導関数などの物理的特性に対応する係数を有する三次多項式を用いて特徴付けられてもよい。投影を生成する際に、処理ユニット110は、車両200に関連するピッチレート及びロールレートと、路面の変化とを考慮してもよい。加えて、処理ユニット110は、路面に存在する位置及び動作のキューを解析することによって、道路高さをモデル化してもよい。更に、処理ユニット110は、1つ又は複数の画像における特徴点セットを追跡することによって、車両200に関連するピッチレート及びロールレートを推定してもよい。
[0148] ステップ556において、処理ユニット110は、例えば、検出されたセグメントを連続画像フレームにわたって追跡すること、及び検出されたセグメントに関連するフレームごとのデータを蓄積することによって、マルチフレーム解析を実行してもよい。処理ユニット110がマルチフレーム解析を実行することで、ステップ554において構成された測定値セットは、より信頼できるようになり、ますます高い信頼レベルに関連付けられ得る。従って、ステップ550-556を実行することによって、処理ユニット110は、捕捉画像セット内に現れる路面標識を識別し、且つ車線ジオメトリ情報を導き出し得る。識別及び導き出された情報に基づいて、処理ユニット110は、上記で図5Aに関連して説明されたように、車両200における1つ又は複数のナビゲーション応答を引き起こし得る。
[0149] ステップ558において、処理ユニット110は、車両200の周囲状況のコンテキストにおいて車両200用の安全モデルを更に開発するために、追加の情報源を考慮してもよい。処理ユニット110は、システム100が安全な方法で車両200の自律制御を実行し得るコンテキストを定義するために安全モデルを用いてもよい。安全モデルを開発するために、幾つかの実施形態において、処理ユニット110は、他の車両の位置及び動作、検出された路肩及びバリア、及び/又は地図データ(地図データベース160からのデータなど)から抽出された一般的な道路形状の説明情報を考慮してもよい。追加の情報源を考慮することによって、処理ユニット110は、路面標識及び車線ジオメトリを検出するための冗長性を提供し、且つシステム100の信頼性を向上させてもよい。
[0150] 図5Dは、開示される実施形態と一致する、画像セットにおける交通信号灯を検出するための例示的なプロセス500Dを示すフローチャートである。処理ユニット110は、プロセス500Dを実施するために、単眼画像解析モジュール402を実行してもよい。ステップ560において、処理ユニット110は、画像セットを走査し、且つ交通信号灯を含みそうな画像上の位置に現れる対象を識別してもよい。例えば、処理ユニット110は、交通信号灯に対応しそうもない識別された対象を除外した候補対象セットを構成するために、識別された対象をフィルタリングしてもよい。フィルタリングは、形状、寸法、テクスチャ、位置(例えば車両200に対する)など、交通信号灯に関連する様々な特性に基づいて行われてもよい。かかる特性は、交通信号灯及び交通制御信号の複数の例に基づいてよく、且つデータベースに格納されてもよい。幾つかの実施形態において、処理ユニット110は、可能性のある交通信号灯を反映する候補対象セットに対してマルチフレーム解析を実行してもよい。例えば、処理ユニット110は、連続画像フレームにわたって候補対象を追跡し、候補対象の実世界の位置を推定し、且つ移動している対象(交通信号灯とは考えられない)を除外してもよい。幾つかの実施形態において、処理ユニット110は、候補対象に対して色解析を実行し、且つ可能性のある交通信号灯内に現れる検出された色の相対的位置を識別してもよい。
[0151] ステップ562において、処理ユニット110は、交差点ジオメトリを解析してもよい。解析は、(i)車両200の両側において検出された車線の数、(ii)道路上で検出された標識(矢印標識など)、及び(iii)地図データ(地図データベース160からのデータなど)から抽出された交差点の説明情報の任意の組み合わせに基づいてもよい。処理ユニット110は、単眼解析モジュール402の実行に由来する情報を用いて解析を実行してもよい。加えて、処理ユニット110は、ステップ560で検出された交通信号灯と、車両200の近くに現れる車線との間の一致を判定してもよい。
[0152] 車両200が交差点に近づくにつれて、ステップ564において、処理ユニット110は、解析された交差点ジオメトリ及び検出された交通信号灯に関連する信頼レベルを更新してもよい。例えば、交差点に実際に現れる数と比較された、交差点に現れると推定された交通信号灯の数は、信頼レベルに影響してもよい。従って、信頼レベルに基づいて、処理ユニット110は、安全条件を改善するために、車両200の運転者に制御を委ねてもよい。ステップ560-564を実行することによって、処理ユニット110は、捕捉画像セット内に現れる交通信号灯を識別し、且つ交差点ジオメトリ情報を解析してもよい。識別及び解析に基づいて、処理ユニット110は、上記で図5Aに関連して説明されたように、車両200における1つ又は複数のナビゲーション応答を引き起こしてもよい。
[0153] 図5Eは、開示される実施形態と一致する、車両経路に基づいて、車両200における1つ又は複数のナビゲーション応答を引き起こすための例示的なプロセス500Eを示すフローチャートである。ステップ570において、処理ユニット110は、車両200に関連する初期車両経路を構成してもよい。車両経路は、座標(x、z)で表現された点集合を用いて表されてもよく、点集合における2点間の距離diは、1~5メートルの範囲に入ってもよい。一実施形態において、処理ユニット110は、左及び右の道路多項式などの2つの多項式を用いて、初期車両経路を構成してもよい。処理ユニット110は、2つの多項式間の幾何学的な中間点を計算し、且つもしあれば(ゼロのオフセットは、車線の真中を移動していることに対応してもよい)、所定のオフセット(例えばスマートレーンオフセット)だけ、結果としての車両経路に含まれる各点をオフセットしてもよい。オフセットは、車両経路における任意の2点間のセグメントに垂直な方向であってもよい。別の実施形態において、処理ユニット110は、推定車線幅の半分+所定のオフセット(例えばスマートレーンオフセット)だけ車両経路の各点をオフセットするために、1つの多項式及び推定車線幅を用いてもよい。
[0154] ステップ572において、処理ユニット110は、ステップ570で構成された車両経路を更新してもよい。処理ユニット110は、車両経路を表す点集合における2点間の距離dkが、上記の距離di未満であるように、より高い解像度を用いて、ステップ570で構成された車両経路を再構成してもよい。例えば、距離dkは、0.1~0.3メートルの範囲に入ってもよい。処理ユニット110は、放物線スプラインアルゴリズムを用いて、車両経路を再構成してもよく、放物線スプラインアルゴリズムは、車両経路の全長(即ち、車両経路を表す点集合に基づいた)に対応する累積距離ベクトルSを生成してもよい。
[0155] ステップ574において、処理ユニット110は、ステップ572において構成された更新車両経路に基づいて、((xl、zl)として座標で表現される)前方注視点を決定してもよい。処理ユニット110は、累積距離ベクトルSから前方注視点を抽出してもよく、前方注視点は、前方注視距離及び前方注視時間に関連付けられてもよい。前方注視距離は、10~20メートルに及ぶ下限を有してもよいが、車両200の速度及び前方注視時間の積として計算されてもよい。例えば、車両200の速度が低下するにつれて、前方注視距離もまた、(例えばそれが下限に達するまで)低下してもよい。前方注視時間は、0.5~1.5秒に及んでもよいが、進路誤差追跡制御ループなど、車両200におけるナビゲーション応答を引き起こすことに関連する1つ又は複数の制御ループの利得に反比例してもよい。例えば、進路誤差追跡制御ループの利得は、ヨーレートループ、ステアリングアクチュエータループ、自動車横方向力学などの帯域幅に依存し得る。従って、進路誤差追跡制御ループの利得が高ければ高いほど、それだけ前方注視時間は短い。
[0156] ステップ576において、処理ユニット110は、ステップ574において決定された前方注視点に基づいて、進路誤差及びヨーレートコマンドを決定してもよい。処理ユニット110は、前方注視点のアークタンジェント、例えばarctan(xl/zl)を計算することによって、進路誤差を決定してもよい。処理ユニット110は、進路誤差及び高レベル制御利得の積としてヨーレートコマンドを決定してもよい。高レベル制御利得は、前方注視距離が下限にない場合に、(2/前方注視時間)に等しくてもよい。下限にある場合に、高レベル制御利得は、(2*車両200の速度/前方注視距離)と等しくてもよい。
[0157] 図5Fは、開示される実施形態と一致する、先行車両が車線を変更しているかどうかを決定するための例示的なプロセス500Fを示すフローチャートである。ステップ580において、処理ユニット110は、先行車両(例えば車両200の前方を走行する車両)に関連するナビゲーション情報を決定してもよい。例えば、処理ユニット110は、上記で図5A及び5Bに関連して説明した技術を用いて、先行車両の位置、速度(例えば方向及びスピード)及び/又は加速度を決定してもよい。処理ユニット110はまた、上記で図5Eに関連して説明した技術を用いて、1つ又は複数の道路多項式、前方注視点(車両200に関係する)、及び/又はスネイルトレイル(snail trail)(例えば先行車両によって取られた経路を示す点集合)を決定してもよい。
[0158] ステップ582において、処理ユニット110は、ステップ580で決定されたナビゲーション情報を解析してもよい。一実施形態において、処理ユニット110は、スネイルトレイルと道路多項式(例えばトレイルに沿った)との間の距離を計算してもよい。トレイルに沿ったこの距離の変動が、所定の閾値(例えば直線道路上で0.1~0.2メートル、適度に曲がった道路上で0.3~0.4メートル、及び急カーブの道路上で0.5~0.6メートル)を超える場合に、処理ユニット110は、先行車両が車線を変更しそうであると判定してもよい。車両200の前方を走行している複数の車両が検出された場合に、処理ユニット110は、各車両に関連するスネイルトレイルを比較してもよい。比較に基づいて、処理ユニット110は、スネイルトレイルが他の車両のスネイルトレイルと一致しない車両が、車線を変更しそうであると判定してもよい。処理ユニット110は、加えて、(先行車両に関連する)スネイルトレイルの曲率を先行車両が走行している道路セグメントの予想される曲率と比較してもよい。予想される曲率は、地図データ(例えば地図データベース160からのデータ)からや、道路多項式からや、他の車両のスネイルトレイルからや、道路に関する事前知識などから抽出されてもよい。スネイルトレイルの曲率及び道路セグメントの予想される曲率の差が所定の閾値を超える場合に、処理ユニット110は、先行車両が車線を変更しそうであると判定してもよい。
[0159] 別の実施形態において、処理ユニット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は、(より近い)先行車両が、車線を変更しそうであると判定してもよい。
[0160] ステップ584において、処理ユニット110は、ステップ582で実行される解析に基づいて、先行車両200が、車線を変更しているかどうかを決定してもよい。例えば、処理ユニット110は、ステップ582で実行される個別の解析の加重平均に基づいて決定を行ってもよい。かかる方式下において、例えば、特定のタイプの解析に基づいて、先行車両が車線を変更しそうであるという処理ユニット110による決定は、「1」(及び先行車両が、車線を変更しそうにないという決定を表す「0」)の値を割り当てられてもよい。ステップ582で実行される相異なる解析は、相異なる重みを割り当てられてもよく、開示される実施形態は、解析及び重みのどんな特定の組み合わせにも限定されない。更に、幾つかの実施形態において、解析は、訓練されたシステム(例えば機械学習又はディープラーニングシステム)を利用してもよく、訓練されたシステムは、例えば、車両の現在の位置で捕捉された画像に基づいて、当該現在の位置の前方の将来の経路を推定してもよい。
[0161] 図6は、開示される実施形態と一致する、立体画像解析に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的なプロセス600を示すフローチャートである。ステップ610において、処理ユニット110は、データインターフェース128を介して第1及び第2の複数の画像を受信してもよい。例えば、画像取得ユニット120(視野202及び204を有する画像捕捉装置122及び124など)に含まれるカメラは、車両200の前方エリアの第1及び第2の複数の画像を捕捉し、且つデジタル接続(例えばUSB、無線、Bluetooth等)を通じて処理ユニット110にそれらの画像を伝送してもよい。幾つかの実施形態において、処理ユニット110は、2つ以上のデータインターフェースを介して、第1及び第2の複数の画像を受信してもよい。開示される実施形態は、どんな特定のデータインターフェース構成にもプロトコルにも限定されない。
[0162] ステップ620において、処理ユニット110は、車両の前方の道路の3D地図を作成し、且つ車線区分線、車両、歩行者、道路標識、ハイウェイ出口ランプ、交通信号灯、道路危険物など、画像内の特徴を検出するように、第1及び第2の複数の画像の立体画像解析を実行するために、立体画像解析モジュール404を実行してもよい。立体画像解析は、上記で図5A-5Dに関連して説明されたステップに似た方法で実行されてもよい。例えば、処理ユニット110は、第1及び第2の複数の画像内の候補対象(例えば車両、歩行者、路面標識、交通信号灯、道路危険物等)を検出し、様々な基準に基づいて候補対象のサブセットを除外し、マルチフレーム解析を実行し、測定値を構成し、且つ残っている候補対象用の信頼レベルを決定するために、立体画像解析モジュール404を実行してもよい。上記のステップを実行する際に、処理ユニット110は、一画像セットだけからの情報ではなく、第1及び第2の複数の画像の両方からの情報を考慮してもよい。例えば、処理ユニット110は、第1及び第2の複数の画像の両方に現れる候補対象用に、画素レベルデータ(又は捕捉画像の2つのストリームからの他のデータサブセット)における差を解析してもよい。別の例として、処理ユニット110は、対象が複数の画像の一方に現れ、もう一方には現れないことを観察するか、又は2つの画像ストリームに現れる対象に対して存在し得る他の差異を観察することによって、(例えば車両200に対する)候補対象の位置及び/又は速度を推定してもよい。例えば、車両200に関係する位置、速度及び/又は加速度は、画像ストリームの一方又は両方に現れる対象に関連する特徴の軌道、位置、動作特性等に基づいて決定されてもよい。
[0163] ステップ630において、処理ユニット110は、ステップ620で実行される解析及び図4に関連して上記で説明した技術に基づいて、車両200における1つ又は複数のナビゲーション応答を引き起こすために、ナビゲーション応答モジュール408を実行してもよい。ナビゲーション応答は、例えば、方向転換、車線変更、加速度の変更、速度の変更、制動などを含んでもよい。幾つかの実施形態において、処理ユニット110は、1つ又は複数のナビゲーション応答を引き起こすために、速度及び加速度モジュール406の実行に由来するデータを用いてもよい。加えて、複数のナビゲーション応答は、同時にか、シーケンスでか、又はそれらの任意の組み合わせで行われてもよい。
[0164] 図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にデータを伝えるための関連データインターフェースを有してもよい。開示される実施形態は、どんな特定のデータインターフェース構成又はプロトコルにも限定されない。
[0165] ステップ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の複数の画像に対して行われる解析タイプにも限定されない。
[0166] 幾つかの実施形態において、処理ユニット110は、ステップ710及び720で取得され解析された画像に基づいて、システム100に対して試験を実行してもよい。かかる試験は、画像捕捉装置122、124及び126の或る構成用にシステム100の全体的性能のインジケータを提供してもよい。例えば、処理ユニット110は、「偽ヒット」(例えばシステム100が、車両又は歩行者の存在を不正確に判定した場合)及び「見落とし」割合を決定してもよい。
[0167] ステップ730において、処理ユニット110は、第1、第2及び第3の複数の画像のうち2つに由来する情報に基づいて、車両200における1つ又は複数のナビゲーション応答を引き起こしてもよい。第1、第2及び第3の複数の画像における2つの選択は、例えば複数の画像のそれぞれにおいて検出された対象の数、タイプ及びサイズなどの様々な要因に依存してもよい。処理ユニット110はまた、画質及び解像度と、画像において反映される有効視野と、捕捉されたフレームの数と、関心のある1つ又は複数の対象が、フレームに実際に現れる程度(例えば、対象が現れるフレームのパーセンテージ、各かかるフレームに現れる対象の割合等)と、などに基づいて選択を行ってもよい。
[0168] 幾つかの実施形態において、処理ユニット110は、1つの画像ソースに由来する情報が、他の画像ソースに由来する情報と一致する程度を決定することによって、第1、第2及び第3の複数の画像における2つに由来する情報を選択してもよい。例えば、処理ユニット110は、画像捕捉装置122、124及び126のそれぞれに由来する処理された情報を組み合わせてもよく(単眼解析によるにせよ、立体解析によるにせよ、又はこれら2つの任意の組み合わせによるにせよ)、且つ画像捕捉装置122、124及び126のそれぞれから捕捉された画像にわたって一致する視覚的インジケータ(例えば車線区分線、検出された車両及びその位置及び/又は経路、検出された交通信号灯等)を決定してもよい。処理ユニット110はまた、捕捉画像にわたって一致しない情報(例えば車線を変更している車両、車両200に接近しすぎている車両を示す車線モデル等)を除外してもよい。従って、処理ユニット110は、一致する情報及び一致しない情報の判定に基づいて、第1、第2及び第3の複数の画像における2つに由来する情報を選択してもよい。
[0169] ナビゲーション応答は、例えば、方向転換、車線変更、加速度の変更などを含んでもよい。処理ユニット110は、ステップ720で実行される解析及び図4に関連して上記で説明された技術に基づいて、1つ又は複数のナビゲーション応答を引き起こしてもよい。処理ユニット110はまた、1つ又は複数のナビゲーション応答を引き起こすために、速度及び加速度モジュール406の実行に由来するデータを用いてもよい。幾つかの実施形態において、処理ユニット110は、車両200と、第1、第2及び第3の複数の画像のいずれかの内で検出された対象との間の相対的位置、相対的速度、及び/又は相対的加速度に基づいて、1つ又は複数のナビゲーション応答を引き起こしてもよい。複数のナビゲーション応答が、同時にか、シーケンスでか、又はそれらの任意の組み合わせで行われてもよい。
[0170] 強化学習及び訓練されたナビゲーションシステム
[0171] 以下の節は車両の自律制御を、その制御が完全に自律的であろうと(自動走行車両)、部分的に自律的であろうと(例えば1人又は複数の運転者がシステム又は機能を支援する)、実現するためのシステム及び方法と共に自律運転について論じる。図8に示すように、検知モジュール801、運転ポリシモジュール803、及び制御モジュール805を含む3つの主なモジュールに運転タスクを区分化することができる。幾つかの実施形態では、モジュール801、803、及び805はシステム100のメモリユニット140及び/又はメモリユニット150内に格納することができ、又はモジュール801、803、及び805(又はその一部)はシステム100から離して格納する(例えば無線トランシーバ172によって例えばシステム100にとってアクセス可能なサーバ内に格納する)ことができる。更に、本明細書で開示するモジュール(例えばモジュール801、803、及び805)のどれも、訓練されたシステム(ニューラルネットワークやディープニューラルネットワーク等)又は訓練されていないシステムに関連する技法を実装することができる。
[0172] 処理ユニット110を使用して実装することができる検知モジュール801は、ホスト車両の環境内のナビゲーション状態の検知に関連する様々なタスクを処理することができる。かかるタスクは、ホスト車両に関連する様々なセンサ及び検知システムからの入力に依存し得る。それらの入力は、1つ又は複数のオンボードカメラからの画像又は画像ストリーム、GPS位置情報、加速度計の出力、ユーザフィードバック、1つ又は複数のユーザインターフェース装置へのユーザ入力、レーダ、ライダ等を含み得る。地図情報と共にカメラ及び/又は他の任意の使用可能なセンサからのデータを含み得る検知を収集し、解析し、ホスト車両の環境内のシーンから抽出される情報を記述する「検知状態」へと系統立てて表すことができる。検知状態は、目標車両、車線区分線、歩行者、交通信号灯、道路の幾何学的形状、車線形状、障害物、他の対象/車両までの距離、相対速度、相対加速度に関係する検知情報を、他の任意の考えられる検知情報の中で特に含み得る。検知モジュール801に提供される検知データに基づいて検知状態出力を作り出すために教師あり機械学習を実施することができる。検知モジュールの出力はホスト車両の検知ナビゲーション「状態」を表すことができ、それは運転ポリシモジュール803に送られ得る。
[0173] ホスト車両に関連する1つ又は複数のカメラ又は画像センサから受信される画像データに基づいて検知状態を生成することができるが、ナビゲーションに使用される検知状態は任意の適切なセンサ又はセンサの組み合わせを使用して生成することができる。幾つかの実施形態では、捕捉画像データを使用することなしに検知状態を生成することができる。実際、本明細書に記載のナビゲーション原理のいずれも捕捉画像データに基づいて生成される検知状態並びに他の非画像ベースのセンサを使用して生成される検知状態に適用可能であり得る。検知状態はホスト車両の外部のソースによって決定することもできる。例えば検知状態は、ホスト車両から離れたソースから受信される情報に基づいて(例えば他の車両から共有され、中央サーバから共有され、又はホスト車両のナビゲーション状態に関連する情報の他の任意のソースから共有されるセンサ情報や処理済みの状態情報等に基づいて)完全に又は部分的に生成され得る。
[0174] 以下でより詳細に解説し、処理ユニット110を使用して実装することができる運転ポリシモジュール803は、検知されるナビゲーション状態に応答してホスト車両が行う1つ又は複数のナビゲーション動作を決定するための所望の運転ポリシを実装することができる。ホスト車両の環境内に他のエージェント(例えば目標車両や歩行者)がない場合、運転ポリシモジュール803に入力される検知状態は比較的簡単なやり方で処理することができる。検知状態が1つ又は複数の他のエージェントとの折衝を必要とする場合は、このタスクがより複雑になる。運転ポリシモジュール803の出力を生成するために使用される技術は強化学習(以下でより詳細に解説する)を含み得る。運転ポリシモジュール803の出力は、ホスト車両用の少なくとも1つのナビゲーション動作を含むことができ、(ホスト車両の更新済みの速度につながり得る)所望の加速度、ホスト車両の所望のヨーレート、所望の軌道を、幾つかある候補となる所望のナビゲーション動作の中で特に含み得る。
[0175] 運転ポリシモジュール803からの出力に基づき、同じく処理ユニット110を使用して実装することができる制御モジュール805が、ホスト車両に関連する1つ又は複数のアクチュエータ又は被制御装置のための制御命令を生成することができる。かかるアクチュエータ及び装置は、アクセル、1つ又は複数のステアリング制御、ブレーキ、信号送信機、ディスプレイ、又はホスト車両に関連するナビゲーション動作の一環として制御され得る他の任意のアクチュエータ若しくは装置を含み得る。制御モジュール805の出力を生成するために制御理論の側面を使用することができる。運転ポリシモジュール803の所望のナビゲーション目標又は要件を実施するために、制御モジュール805はホスト車両の制御可能なコンポーネントへの命令を生成し出力することを担い得る。
[0176] 運転ポリシモジュール803に戻り、幾つかの実施形態では強化学習によって訓練された訓練済みシステムを使用して、運転ポリシモジュール803を実装することができる。他の実施形態では、指定のアルゴリズムを使用して自律ナビゲーション中に生じ得る様々なシナリオに「手動で」対処することにより、運転ポリシモジュール803を機械学習法なしに実装することができる。しかし、かかる手法は実行可能だがあまりにも単純過ぎる運転ポリシをもたらす可能性があり、機械学習に基づく訓練されたシステムの柔軟性を欠く場合がある。訓練されたシステムは、複雑なナビゲーション状態を処理する態勢がより整っている場合があり、タクシーが駐車しているのか乗客を乗せる又は降ろすために停車しているのかをより上手く判定することができ、ホスト車両の前方の道路を歩行者が横断しようとしているのかどうかをより上手く判定し、防御性に対する他の運転者の予期せぬ挙動のバランスをより上手く取り、目標車両及び/又は歩行者を含む混雑した道路をより上手く通り抜け、特定のナビゲーション規則を中断し又は他の規則を増強するときをより上手く決定し、未検知だが予期される条件(例えば歩行者が車や障害物の裏から現れるかどうか)等をより上手く予期することができる。強化学習に基づく訓練されたシステムは、連続的な動作空間と共に、連続的且つ高次元の状態空間に対処する態勢がより整っている場合もある。
[0177] 強化学習を使用してシステムを訓練することは、検知状態からナビゲーション動作にマッピングするために運転ポリシを学習することを含み得る。運転ポリシとは関数π:S→Aであり、Sは1組の状態であり、
は動作空間(例えば所望の速度、加速度、ヨーコマンド等)である。状態空間はS=S
S×S
pであり、S
Sは検知状態であり、S
pはポリシによって保存された状態に対する追加情報である。離散的な時間間隔で機能し、時点tにおいて現在の状態s
t∈Sを観測することができ、ポリシを適用して所望の動作α
t=π(s
t)を得ることができる。
[0178] システムは、様々なナビゲーション状態にさらし、システムにポリシを適用させ、(所望のナビゲーション挙動に報酬を与えるように設計される報酬関数に基づいて)報酬を与えることによって、訓練することができる。報酬のフィードバックに基づき、システムはポリシを「学習」することができ、所望のナビゲーション動作を作り出すことにおいて訓練された状態になる。例えば学習システムは現在の状態s
t∈Sを観測し、ポリシ
に基づいて動作α
t∈Aを決定することができる。決定した動作(及びその動作の実施)に基づき、環境は学習システムによって観測するための次の状態s
t+1∈Sに移る。観測された状態に応答して生成される各動作について、学習システムに対するフィードバックは報酬信号r
1、r
2、...である。
[0179] 強化学習(RL)の目標はポリシπを見つけることである。時点tにおいて、状態s
tにあり動作α
tを行う即時の品質を測定する報酬関数r
tがあると通常は想定される。しかし時点tにおいて動作α
tを行うことは環境に影響を与え、従って将来の状態の値に影響を及ぼす。その結果、どの動作を行うのかを決定するとき、現在の報酬を考慮するだけではなく将来の報酬も検討すべきである。幾つかの場合、報酬が低い選択肢を今行った場合により多くの報酬を将来実現できるとシステムが判定する場合、たとえ特定の動作が、使用可能な別の選択肢よりも低い報酬に関連していても、システムはその動作を行うべきである。これを形式化するために、ポリシπ及び初期状態sが
にわたる分布を引き起こすことを観測し、エージェントが状態s
0=sから開始し、そこからポリシπに従う場合、ベクトル(r
1,...,r
T)の確率は報酬r
1,...,r
Tを観測する確率である。初期状態sの値は次式で定めることができる:
[0181] 対象期間をTに限定するのではなく、将来の報酬を割り引いて一部の固定されたγ∈(0,1)について次式を定めることができる:
[0183] いずれにせよ、最適なポリシは
の解であり、期待値は初期状態sにわたる。
[0186] 運転ポリシシステムを訓練するための幾つかのあり得る方法体系がある。例えばシステムが状態/動作の対から学習する模倣手法(例えば挙動クローニング)を使用することができ、動作は特定の観測状態に応答して優良なエージェント(例えば人間)によって選択されるものである。人間の運転者が観測されると仮定されたい。この観測により、運転ポリシシステムを訓練するための基礎として(st,αt)という形式(stは状態でありαtは人間の運転者の動作である)の多くの例を取得し、観測し、使用することができる。例えば、π(st)≒αtが成立するように教師あり学習を使用してポリシπを学習することができる。この手法には多くの考えられる利点がある。まず報酬関数を定める必要がない。第2に、学習は教師ありであり、オフラインで行われる(学習プロセス内でエージェントを適用する必要はない)。この方法の不利な点は、様々な人間の運転者について、更には同じ人間の運転者についてさえ、各人のポリシ選択に関して決定論的ではないことである。従って||π(st)-αt||が非常に小さい関数を学習するのは不可能なことが多い。更に、小さな誤差でさえ徐々に蓄積して大きな誤差を発生させる場合がある。
[0187] 使用され得る別の技法はポリシベースの学習である。ここでは、ポリシはパラメトリック形式で表し、適切な最適化技法(例えば確率勾配降下)を使用して直接最適化することができる。この手法は、
の中で与えられる問題を直接解くことである。当然ながら、この問題を解く多くのやり方がある。この手法の1つの利点は、この手法が問題に直接取り組み、その結果、優れた実用的結果をしばしばもたらすことである。1つの考えられる不利な点は、この手法が「オンポリシ(on-policy)」訓練をしばしば必要とすることであり、つまりπの学習は反復的プロセスであり、完全ではないポリシπ
jが反復jで得られ、次のポリシπ
jを構築するにはπ
jに基づいて動作しながら環境と相互作用しなければならない。
[0188] システムは、値ベースの学習(Q関数又はV関数の学習)によって訓練することもできる。最適値関数V*について優れた近似を学習できると仮定されたい。(例えばベルマン方程式を使用することにより)最適なポリシを構築することができる。値ベースの学習の一部のバージョンはオフラインで実施することができる(「オフポリシ(off-policy)」訓練と呼ぶ)。値ベースの手法の一部の不利な点は、この手法がマルコフ仮定及び複雑な関数の所要の近似に強く依存することに起因し得る(ポリシを直接近似するよりも価値関数を近似する方が困難であり得る)。
[0189] 別の技法は、モデルベースの学習及び計画(状態遷移の確率を学習し、最適なVを見出す最適化問題を解くこと)を含み得る。学習システムを訓練するためにこれらの技法の組み合わせを使用することもできる。この手法では、プロセスのダイナミクス、つまり(st,αt)を入力として、次の状態st+1にわたる分布をもたらす関数を学習することができる。この関数が学習されると、最適化問題を解いて、その値が最適であるポリシπを見出すことができる。これを「計画」と呼ぶ。この手法の1つの利点は学習部分が教師ありであり、三つ組(st,αt,st+1)を観測することによってオフラインで適用できることであり得る。「模倣」手法と同様にこの手法の1つの不利な点は、学習プロセスにおける小さな誤差が蓄積し、機能が不十分なポリシをもたらす場合があることであり得る。
[0190] 運転ポリシモジュール803を訓練するための別の手法は、運転ポリシ関数を意味的に重要なコンポーネントへと分解することを含み得る。そのようにすることは、ポリシの安全性を保証し得るポリシの一部を手動で実装すること、並びに多くのシナリオへの適応性、自衛的挙動/攻撃的挙動間の人間並みのバランス、及び他の運転者との人間並みの折衝を可能にし得る強化学習法を使用してポリシの他の部分を実装することを可能にする。技術的な観点から、強化学習法は幾つかの方法体系を組み合わせ、訓練の殆どが記録済みデータ又は自己構築シミュレータを使用して実行され得る扱い易い訓練手続きを提供することができる。
[0191] 幾つかの実施形態では、運転ポリシモジュール803の訓練が「選択肢」メカニズムを利用することができる。それを例証するために、2車線のハイウェイ用の運転ポリシの単純なシナリオを検討する。ダイレクトRL手法(direct RL approach)では、状態を
にマップするポリシπ、π(s)の第1の成分は所望の加速コマンドであり、π(s)の第2の成分はヨーレートである。修正された手法では、以下のポリシを構築することができる。
[0192] 自動走行制御(ACC)ポリシ、oACC:S→A:このポリシは0のヨーレートを常に出力し、スムーズ且つ事故のない運転を実施するために速度だけを変更する。
[0193] ACC+Leftポリシ、oL:S→A:このポリシの縦方向のコマンドはACCコマンドと同じである。ヨーレートは、安全な横方向の移動を確実にしながら(例えば左側に車がある場合は左に移動しない)車両を左車線の中央に向けてセンタリングすることの簡単な実施である。
[0194] ACC+Rightポリシ、oR:S→A:oLと同じだが、車両は右車線の中央に向けてセンタリングされ得る。
[0195] これらのポリシは「選択肢」と呼ぶことができる。これらの「選択肢」に依存し、選択肢を選択するポリシπ
o:S→Oを学習することができ、但しOは使用可能な1組の選択肢である。ある事例では、O={o
ACC,o
L,o
R}が成立する。全てのsについて
を設定することにより、選択肢セレクタポリシπ
oは実際のポリシ、π:S→Aを定める。
[0196] 実際には、ポリシ関数は図9に示すように選択肢のグラフ901へと分解することができる。図10に選択肢のグラフ1000の別の例を示す。選択肢のグラフは、有向非巡回グラフ(DAG)として編成される1組の階層型の決定を表し得る。グラフの根ノード903と呼ばれる特別なノードがある。このノードには入力ノードがない。決定プロセスは根ノードから始まり、出力決定線を有さないノードを指す「葉」ノードに到達するまでこのグラフを横断する。図9に示すように、葉ノードは例えばノード905、907、及び909を含み得る。葉ノードに遭遇すると、運転ポリシモジュール803は葉ノードに関連する所望のナビゲーション動作に関連する加速コマンド及びステアリングコマンドを出力し得る。
[0197] 例えばノード911、913、915等の内部ノードは、その使用可能な選択肢の中から子を選択するポリシの実装をもたらし得る。内部ノードの1組の使用可能な子は、決定線によって特定の内部ノードに関連するノードの全てを含む。例えば図9で「合流」として示す内部ノード913は、決定線によってノード913にそれぞれつながれる3つの子ノード909、915、及び917(「留まる」、「右側追い越し」、及び「左側追い越し」のそれぞれ)を含む。
[0198] 選択肢のグラフの階層内でノードが自らの位置を調節できるようにすることにより、意思決定システムの柔軟性を得ることができる。例えばノードのいずれも自らを「重大」だと宣言することを認められ得る。各ノードは、ノードがそのポリシ実装の重大なセクション内にある場合に「真」を出力する関数「is critical」を実装することができる。例えばテイクオーバを担うノードは、操作の最中に自らを重大だと宣言することができる。このことはノードuの1組の使用可能な子に対して制約を課す可能性があり、かかる子はノードuの子であり、且つvから葉ノードへの重大だと指定される全てのノードを通過する経路が存在する全てのノードvを含み得る。かかる手法は、一方で各時間ステップにおけるグラフ上の所望の経路の宣言を可能にし得るのに対し、他方でとりわけポリシの重大な部分が実施されている間はポリシの安定性を保つことができる。
[0199] 選択肢のグラフを定めることにより、運転ポリシπ:S→Aを学習する問題をグラフの各ノードのポリシを定義する問題へと分解することができ、内部ノードにおけるポリシは使用可能な子ノードの中から選択すべきである。ノードの一部については個々のポリシを(例えば観測される状態に応じた1組の動作を指定するif-then形式のアルゴリズムによって)手動で実装することができる一方、他のものについては強化学習によって構築される訓練されたシステムを使用してポリシを実装することができる。手動の手法又は訓練された/学習された手法の選択は、タスクに関連する安全性の側面及びその相対的な単純さに依存し得る。選択肢のグラフは、ノードの一部は実装が簡単である一方で、他のノードが訓練されたモデルに依存し得るやり方で構築され得る。かかる手法はシステムの安全な動作を保証することができる。
[0200] 以下の解説は、運転ポリシモジュール803内の図9の選択肢のグラフの役割に関する更なる詳細を与える。上記で論じたように、運転ポリシモジュールへの入力は、例えば使用可能なセンサから得られる環境地図の概要を示す「検知状態」である。運転ポリシモジュール803の出力は、最適化問題の解として軌道を定める1組の願望(任意選択的に1組のハード制約を伴う)である。
[0201] 上記のように、選択肢のグラフはDAGとして編成される1組の階層型の決定を表す。グラフの「根」と呼ばれる特別なノードがある。根ノードは入力辺(例えば決定線)を有さない唯一のノードである。決定プロセスは根ノードから始まり「葉」ノード、つまり出力辺を有さないノードに到達するまでグラフを横断する。各内部ノードは、自らの使用可能な子の中から1つの子を選ぶポリシを実装すべきである。全ての葉ノードは、根から葉までの全経路に基づいて1組の願望(例えばホスト車両用の1組のナビゲーション目標)を定めるポリシを実装すべきである。検知状態に基づいて直接定められる1組のハード制約と共に1組の願望は、その解が車両の軌道である最適化問題を確立する。システムの安全性を更に高めるためにハード制約を使用することができ、運転の快適さ及びシステムの人間並みの運転挙動をもたらすために願望を使用することができる。最適化問題への解として提供される軌道は、ひいては軌道を実現するためにステアリング、ブレーキ、及び/又はエンジンアクチュエータに与えられるべきコマンドを定める。
[0202] 図9に戻り、選択肢のグラフ901は合流車線を含む2車線のハイウェイ(ある時点において第3の車線がハイウェイの右車線又は左車線に合流することを意味する)に関する選択肢のグラフを表す。根ノード903は、ホスト車両が単純な道路のシナリオにあるのか合流シナリオに近づいているのかをまず判断する。これは検知状態に基づいて実施可能な判断の一例である。単純な道路のノード911は、留まるノード909、左側追い越しノード917、及び右側追い越しノード915という3つの子ノードを含む。留まるとは、ホスト車両が同じ車線内を走行し続けたい状況を指す。留まるノードは葉ノードである(出力辺/線がない)。従って、かかる留まるノードは1組の願望を定める。このノードが定める第1の願望は、例えば現在の移動車線の中央に可能な限り近い所望の横方向位置を含み得る。スムーズに(例えば既定の又は許容可能な加速最大値の範囲内で)ナビゲートする願望もあり得る。留まるノードは、ホスト車両が他の車両に対してどのように反応するのかも定めることができる。例えば留まるノードは、検知される目標車両を調査し、軌道の成分に変換され得る意味論的意味をそれぞれに割り当てることができる。
[0203] ホスト車両の環境内の目標車両に様々な意味論的意味を割り当てることができる。例えば幾つかの実施形態では、意味論的意味が以下の指示のうちのいずれかを含むことができる:1)無関係:シーン内の検知車両が現在は関係しないことを示す、2)隣車線:検知車両が隣接車線内にあり、その車両に対して適切なオフセットを保つべきであることを示す(正確なオフセットは願望及びハード制約を所与として軌道を構築する最適化問題の中で計算することができ、ことによると車両に依存することができ、選択肢のグラフの留まる葉は、目標車両に対する願望を定める目標車両の意味論のタイプを設定する)、3)道を譲る:ホスト車両は(とりわけホスト車両の車線内に目標車両が割り込む可能性が高いとホスト車両が判定する場合)、検知した目標車両に例えば減速することによって道を譲ろうと試みる、4)道を進む:ホスト車両が例えば加速することによって優先通行権を受けて応じようと試みる、5)追走:ホスト車両がこの目標車両を追走してスムーズな運転を維持することを望む、6)左側/右側追い越し:これはホスト車両が左車線又は右車線への車線変更を開始したいことを意味する。左側追い越しノード917及び右側追い越しノード915はまだ願望を定めない内部ノードである。
[0204] 選択肢のグラフ901内の次のノードは間隙選択ノード919である。このノードは、ホスト車両が入りたい特定の目標車線内の2台の目標車両間の間隙を選択することを担い得る。IDj形式のノードを選択することにより、jの何らかの値についてホスト車両は、軌道最適化問題に関する願望、例えば選択された間隙に到達するためにホスト車両が操作を行いたいことを指定する葉に到達する。かかる操作は、現在の車線内でまず加速し/ブレーキをかけ、選択された間隙に入るのに適した時点において目標車線に進むことを含み得る。間隙選択ノード919が適切な間隙を見つけることができない場合、現在の車線の中央に戻り追い越しを取り消す願望を定める中止ノード921に進む。
[0205] 合流ノード913に戻り、ホスト車両が合流に近づくと、ホスト車両には特定の状況に依存し得る幾つかの選択肢がある。例えば図11Aに示すように、ホスト車両1105は2車線道路の主要車線又は合流車線1111内で他の目標車両を検出していない状態で2車線道路に沿って移動している。この状況では、運転ポリシモジュール803は、合流ノード913に到達すると、留まるノード909を選択することができる。つまり、道路に合流するものとして目標車両を検知しない場合は、自らの現在の車線内に留まることが望ましい場合がある。
[0206] 図11Bではこの状況が僅かに異なる。ここではホスト車両1105が、合流車線1111から主たる道路1112に入ってくる1台又は複数台の目標車両1107を検知する。この状況では、運転ポリシモジュール803が合流ノード913に直面すると、運転ポリシモジュール803は、合流の状況を回避するために左側追い越し操作を開始することに決めることができる。
[0207] 図11Cでは、ホスト車両1105が合流車線1111から主たる道路1112に入る1台又は複数台の目標車両1107に遭遇する。ホスト車両1105は、ホスト車両の車線に隣接する車線内を移動する目標車両1109も検出する。ホスト車両は、ホスト車両1105と同じ車線内を移動する1台又は複数台の目標車両1110も検出する。この状況では、運転ポリシモジュール803は、ホスト車両1105の速度を調節して目標車両1107に道を譲り、目標車両1115の前に進むことに決めることができる。これは、例えば適切な合流の間隙としてID0(車両1107)とID1(車両1115)との間の間隙を選択する間隙選択ノード919に進むことによって実現され得る。その場合、合流の状況の適切な間隙が、軌道プランナ最適化問題の目的を定める。
[0208] 上記で論じたように、選択肢のグラフのノードは自らを「重大」だと宣言することができ、かかる宣言は、選択される選択肢が重大なノードを通過することを確実にし得る。形式上、各ノードは関数IsCriticalを実装することができる。選択肢のグラフ上で根から葉への順方向パスを行い、軌道プランナの最適化問題を解いた後、葉から根に逆方向パスを行うことができる。この逆方向パスに沿ってパス内の全てのノードのIsCritical関数を呼び出すことができ、全ての重大なノードのリストを保存することができる。次の時間枠に対応する順方向経路内で、全ての重大なノードを通過する根ノードから葉ノードへの経路を選択することを運転ポリシモジュール803が要求され得る。
[0209] 図11A~図11Cはこの手法の考えられる利益を示すために使用することができる。例えば追い越し動作が開始され、運転ポリシモジュール803がIDkに対応する葉に到達する状況では、ホスト車両が追い越し操作の途中にある場合は、例えば留まるノード909を選択することは望ましくない。このジャンプ性を回避するために、IDjノードは自らを重大だと指定することができる。操作中、軌道プランナの成功を監視することができ、関数IsCriticalは追い越し操作が意図した通りに進む場合に「真」値を返す。この手法は、(最初に選択した操作を完了する前に潜在的に一貫性のない別の操作にジャンプするのではなく)次の時間枠の中で追い越し操作が続行されることを確実にし得る。他方で選択された操作が意図した通りに進んでいないことを操作の監視が示す場合、又は操作が不要若しくは不可能になった場合、関数IsCriticalは「偽」値を返すことができる。このことは間隙選択ノードが次の時間枠内で異なる間隙を選択すること、又は追い越し操作を完全に中止することを可能にし得る。この手法は、一方で、各時間ステップにおける選択肢のグラフ上の所望の経路の宣言を可能にし得るのに対し、他方で、実行の重大な部分にある間のポリシの安定性を促進するのを助け得る。
[0210] 以下でより詳細に解説するハード制約は、ナビゲーションの願望と区別することができる。例えばハード制約は、計画済みのナビゲーション動作の追加のフィルタリング層を適用することによって、安全運転を保証することができる。強化学習に基づいて構築される訓練されたシステムを使用することによってではなく、手動でプログラムされ定義され得る関与するハード制約は、検知状態から決定することができる。但し幾つかの実施形態では、適用され従うことになる適用可能なハード制約を、訓練されたシステムが学習することができる。かかる手法は、適用可能なハード制約に既に準拠している被選択動作に運転ポリシモジュール803が到達するのを促進することができ、そうすることで適用可能なハード制約に準拠するために後で修正を必要とし得る被選択動作を減らし又は除去することができる。それでもなお、冗長な安全対策として、所定のハード制約を考慮するように運転ポリシモジュール803が訓練されている場合にさえ、運転ポリシモジュール803の出力にハード制約を適用することができる。
[0211] 候補となるハード制約の多くの例がある。例えばハード制約は、道路縁のガードレールに関連して定めることができる。いかなる状況でもホスト車両がガードレールを越えることは認められない。そのような規則は、ホスト車両の軌道に対する横方向のハード制約を引き起こす。ハード制約の別の例は、道路のバンプ(例えば速度制御バンプ)を含むことができ、かかるバンプは、バンプ前の又はバンプを横断する間の運転速度に対するハード制約を引き起こし得る。ハード制約は安全を最重視すべきだと考えることができ、従って訓練中に制約を学習する訓練されたシステムに専ら依存するのではなく、手動で定めることができる。
[0212] ハード制約とは対照的に、願望の目標は、快適な運転を可能にすること又は実現することであり得る。上記で論じたように、願望の一例は、ホスト車両の車線の中央に対応する車線内の横方向位置にホスト車両を位置決めする目標を含み得る。別の願望は、入り込むための間隙のIDを含み得る。ホスト車両は厳密に車線の中央にある必要はなく、代わりに車線の中央に可能な限り近くありたいという願望は、ホスト車両が車線の中央から外れた場合にも車線の中央に移動し易いことを保証できることに留意されたい。願望は安全を最重視しなくてもよい。幾つかの実施形態では、願望が他の運転者及び歩行者との折衝を必要とし得る。願望を構築するためのある手法は選択肢のグラフを利用することができ、グラフの少なくとも一部のノード内で実装されるポリシは強化学習に基づき得る。
[0213] 学習に基づいて訓練されるノードとして実装される選択肢のグラフ901又は1000のノードについて、訓練プロセスは、問題を教師あり学習フェーズ及び強化学習フェーズへと分解することを含み得る。教師あり学習フェーズでは、
が成立するように(s
t,α
t)から
への可微分マッピングが学習され得る。これは「モデルベースの」強化学習と同様であり得る。しかし、ネットワークの順方向ループでは
をs
t+1の実際の値で置換し、それにより誤差が蓄積する問題をなくすことができる。
の予測の役割は、将来から過去の動作にメッセージを伝えることである。この意味で、アルゴリズムは「モデルベースの」強化学習と「ポリシベースの学習」との組み合わせであり得る。
[0214] 一部のシナリオにおいて提供され得る重要な要素は、将来の損失/報酬から動作に関する決定に戻る可微分経路である。選択肢のグラフの構造では、安全制約を含む選択肢の実装は通常微分できない。この問題を克服するために、学習されるポリシのノードにおける子の選択は確率論的であり得る。つまりノードは確率ベクトルpを出力することができ、確率ベクトルpは特定のノードの子のそれぞれを選択する際に使用される確率を割り当てる。あるノードがk個の子を有すると仮定し、α
(1),...,α
(k)がそれぞれの子から葉への経路の動作とする。従って、結果として生じる予測動作は
であり、これは動作からpへの可微分経路をもたらし得る。実際には、動作αはi~pに関してα
(i)であるように選択することができ、αと
との差を付加雑音と呼ぶことができる。
[0215] s
t、α
tを所与として
を訓練するために、実際のデータと共に教師あり学習を使用することができる。ノードのポリシを訓練するためにシミュレータを使用することができる。後で実際のデータを使用してポリシの微調整を実現することができる。2つの概念がシミュレーションをより現実的にし得る。第1に、模倣を使用し、大規模な現実世界のデータセットを使用する「挙動クローニング」パラダイムを使用して、初期ポリシを構築することができる。幾つかの場合、結果として生じるエージェントが適している場合がある。他の事例では、結果として生じるエージェントが道路上の他のエージェントのための非常に優れた初期ポリシを少なくとも形成する。第2に、セルフプレイを使用し、我々の独自のポリシを使用して訓練を増強することができる。例えば遭遇し得る他のエージェント(車/歩行者)の初期実装を所与として、シミュレータに基づいてポリシを訓練することができる。他のエージェントの一部は新たなポリシで置換することができ、このプロセスを繰り返すことができる。その結果、異なる洗練レベルを有する一層多岐にわたる他のエージェントに応答すべきなので、ポリシが改善し続けることができる。
[0216] 更に幾つかの実施形態では、システムがマルチエージェント手法を実装することができる。例えばシステムは、様々なソースからのデータ及び/又は複数の角度からの画像捕捉を考慮することができる。更に、ホスト車両を直接巻き込まないがホスト車両に影響を有し得る事象の予測を考慮することができ、更には他の車両を巻き込む予測不能な状況をもたらし得る事象の予測が検討事項であり得る(例えばレーダは先行車両、及びホスト車両に影響を及ぼす不可避の事象、更にはかかる事象の高い可能性の予想を「見通す」ことができる)ので、開示する一部の実施形態はエネルギの節約をもたらし得る。
[0217] 課せられたナビゲーション制約を伴う訓練されたシステム
[0218] 自律運転のコンテキストにおいて重大な関心事は、訓練されたナビゲーションネットワークの学習済みポリシが安全であることをどのように保証するのかである。幾つかの実施形態では制約を使用して運転ポリシシステムを訓練することができ、そのため訓練されたシステムによって選択される動作は、適用可能な安全制約を既に考慮している可能性がある。加えて幾つかの実施形態では、ホスト車両の環境内の特定の検知シーンに関与する1つ又は複数のハード制約に、訓練されたシステムの被選択動作を通すことによって、追加の安全層を提供することができる。かかる手法はホスト車両によって行われる動作が、適用可能な安全制約を満たすものだと確認されるものに限定されていることを確実にし得る。
[0219] その核心において、ナビゲーションシステムは、観測した状態を1つ又は複数の所望の動作にマップするポリシ関数に基づく学習アルゴリズムを含み得る。一部の実装形態では、学習アルゴリズムがディープラーニングアルゴリズムである。所望の動作は、車両について予期される報酬を最大化することが期待される少なくとも1つの動作を含み得る。幾つかの場合、車両が行う実際の動作が所望の動作の1つに対応し得るが、他の事例では、行われる実際の動作が、観測される状態、1つ又は複数の所望の動作、及び学習するナビゲーションエンジンに課せられる非学習ハード制約(例えば安全制約)に基づいて決定され得る。これらの制約は様々なタイプの検出対象(例えば目標車両、歩行者、路肩の又は道路内の静止対象、路肩の又は道路内の移動対象、ガードレール等)を取り囲む非運転区域を含み得る。幾つかの場合、区域のサイズが検出対象の検出される動き(例えば速度や方向)に基づいて変わり得る。他の制約は、歩行者の影響区域内を通過するときの最大移動速度、(ホスト車両の後ろの目標車両の間隔に対処するための)最大減速度、検知した横断歩道や踏切における強制的な停止等を含み得る。
[0220] 機械学習によって訓練されるシステムと共に使用されるハード制約は、訓練されたシステムだけの出力に基づいて得ることができる安全度を上回り得る、ある程度の安全性を自律運転において提供することができる。例えば、機械学習システムは訓練のガイドラインとして1組の所望の制約を使用して訓練することができ、従って、訓練されたシステムは、適用可能なナビゲーション制約の制限で構成され、かかる制限を守る動作を検知済みのナビゲーション状態に応答して選択することができる。しかしそれでもなお、ナビゲーション動作を選択する際に、訓練されたシステムは幾らかの柔軟性を有し、従って訓練されたシステムによって選択される動作が、関連するナビゲーション制約に厳密に従わない可能性がある少なくとも幾つかの状況があり得る。従って、選択される動作が関連するナビゲーション制約に厳密に従うことを求めるために、学習/訓練フレームワークの外側にある関連するナビゲーション制約の厳密な適用を保証する非機械学習コンポーネントを使用し、訓練されたシステムの出力を組み合わせ、比較し、フィルタリングし、調節し、修正等することができる。
[0221] 以下の解説は訓練されたシステム、及び訓練されたシステムを訓練/学習フレームワークの外側にあるアルゴリズムコンポーネントと組み合わせることから得ることができる(とりわけ安全性の観点からの)考えられる利益に関する更なる詳細を示す。先に論じたように、ポリシによる強化学習目的は確率勾配上昇法によって最適化することができる。目的(例えば期待報酬)は
として定めることができる。
[0222] 機械学習シナリオでは、期待値を含む目的を使用することができる。但し、ナビゲーション制約に拘束されることのないかかる目的は、それらの制約によって厳密に拘束される動作を返さない場合がある。例えば、回避すべき稀な「曲がり角」の事象(例えば事故等)を表す軌道について
が成立し、残りの軌道について
が成立する報酬関数を検討し、学習システムの1つの目標は、追い越し操作の実行を学習することであり得る。通常、事故のない軌道では
が成功裏のスムーズな追い越しに報酬を与え、追い越しを完了せずに車線内に、従って範囲[-1,1]内に留まることにペナルティを科す。シーケンス
が事故を表す場合、報酬-rはかかる発生を妨げるのに十分高いペナルティを与えるべきである。問題は、事故のない運転を保証するにはrの値を何にすべきかである。
[0223] 事故の
に対する効果が加法項-p
rであり、pは事故の事象を伴う軌道の確率質量であることに注意されたい。この項が無視できる、即ちp<<1/rである場合、学習システムは一部の追い越し操作の完了が成功しないことを犠牲にしてより防御的であるポリシよりも、頻繁に追い越し操作の成功を果たすために、事故を行うポリシを優先させる(又は全般的に無頓着な運転ポリシを採用する)ことができる。言い換えれば、事故の確率がp以下である場合、r>>1/pであるようにrを設定しなければならない。pを極めて小さくする(例えばp=10
-9程度)ことが望ましい場合がある。従ってrは大きくなるべきである。ポリシの勾配では、
の勾配を推定することができる。以下の補助定理は確率変数
の分散が、r>>1/pでrを上回るpr
2と共に大きくなることを示す。従って、目的を推定するのは困難な場合があり、その勾配を推定するのは一層困難であり得る。
[0224] 補助定理:π
oをポリシとし、p及びrをスカラとし、それにより確率pでは
が得られ、確率1-pでは
が得られる。すると次式
が成立し、最後の近似はr≧1/pの場合に該当する。
[0227] この解説は、形式
のオブジェクション(objection)が、分散問題を引き起こすことなしに機能的安全性を保証できない可能性があることを示す。分散を減らすためのベースライン・サブトラクション法は問題に対する十分な処置を提供しない可能性があり、それは問題が
の高い分散から、その推定が数値的不安定を等しく被るベースライン定数の等しく高い分散にシフトするからである。更に、事故の確率がpである場合、事故の事象を得る前に平均して少なくとも1/pシーケンスがサンプリングされるべきである。このことは
を最小化しようとする学習アルゴリズムのためのシーケンスの1/pサンプルの下端を含意する。この問題に対する解決策は、数値的調整技法によってではなく本明細書に記載のアーキテクチャ設計の中で見出すことができる。ここでの手法は、ハード制約が学習フレームワークの外側に投入されるべきだという考えに基づく。言い換えれば、ポリシ関数は学習可能部分及び学習不能部分に分解することができる。形式的に、ポリシ関数は
として構成することができ、
は(不可知論的な)状態空間を1組の願望(例えば所望のナビゲーション目標等)にマップする一方、π
(T)は願望を(短期のうちに車がどのように動くべきかを決定し得る)軌道にマップする。関数
は運転の快適さ、及び他のどの車を追い越すべきかや他のどの車に道を譲るべきか、ホスト車両の車線内でのホスト車両の所望の位置はどこなのか等の戦略的決定を行うことを担う。検知されるナビゲーション状態から願望へのマッピングは、期待報酬を最大化することによって経験から学習され得るポリシ
である。
によって作り出される願望は運転軌道にわたるコスト関数に変換され得る。機能的安全性に関するハード制約の影響下にあるコストを最小化する軌道を見つけることにより、学習される関数ではない関数π
(T)を実施することができる。この分解は、快適な運転を提供するのと同時に機能的安全性を保証することができる。
[0228] 図11Dに示す二重合流ナビゲーション状況は、これらの概念を更に示す一例を与える。二重合流では、左側と右側の両方から車両が合流領域1130に到達する。それぞれの側から、車両1133や車両1135等の車両が合流領域1130の反対側の車線内に合流するかどうかを決定することができる。混雑した交通において二重合流を成功裏に実行することは著しい折衝スキル及び経験を必要とする場合があり、シーン内の全てのエージェントが行い得るあり得る全ての軌道を列挙することによる発見的手法又は総当たり的手法において実行するのは困難であり得る。この二重合流の例では、二重合流操作に適した1組の願望Dを定めることができる。Dは以下の組のデカルト積とすることができ:
D=[0,vmax]×L×{g,t,o}、但し[0,vmax]はホスト車両の所望の目標速度であり、L={1,1.5,2,2.5,3,3.5,4}は車線単位での所望の横方向位置であり、整数は車線の中央を示し、分数は車線の境界を示し、{g,t,o}は他のn台の車両のそれぞれに割り当てられる分類ラベルである。ホスト車両が他の車両に道を譲るべき場合は、当該他の車両に「g」を割り当てることができ、ホスト車両が他の車両に対して道を得るべき場合は、当該他の車両に「t」を割り当てることができ、又はホスト車両が当該他の車両に対してオフセット距離を保つべき場合は、当該他の車両に「o」を割り当てることができる。
[0229] 以下は、1組の願望(v,l,c1,...,cn)∈Dを運転軌道にわたるコスト関数にどのように変換できるのかについての説明である。運転軌道は(x1,y1),...,(xk,yk)によって表すことができ、(xi,yi)は時点τ・iにおける(自己中心的な単位での)ホスト車両の(横方向、縦方向の)位置である。一部の実験ではτ=0.1秒であり、k=10である。当然ながら他の値を選択することもできる。軌道に割り当てられるコストは、所望の速度、横方向位置、及び他のn台の車両のそれぞれに割り当てられるラベルに割り当てられる個々のコストの加重和を含み得る。
[0230] 所望の速度v∈[0,v
max]を所与として、速度に関連する軌道のコストは、
である。
[0231] 所望の横方向位置l∈Lを所与として、所望の横方向位置に関連するコストは、
である。但しdist(x,y,l)は点(x,y)から車線の位置lまでの距離である。他の車両に起因するコストに関して、他の任意の車両について
は、ホスト車両の自己中心的な単位での他の車両を表すことができ、iは(x
i,y
i)と(x’
j,y’
j)との間の距離が小さいようにjが存在する最も早い点であり得る。そのような点がない場合、iはi=∞として設定することができる。別の車が「道を譲る」と分類される場合、τi>τj+0.5であることが望ましい場合があり、これは他の車両が軌道の交点に到達する少なくとも0.5秒後に、ホスト車両がその同一点に到達することを意味する。上記の制約をコストに変換するためのあり得る公式は[τ(j-i)+0.5]
+である。
[0233] 同様に、別の車が「道を取る」と分類される場合、τj>τi+0.5であることが望ましい場合があり、これはコスト[τ(i-j)+0.5]+に変換され得る。別の車が「オフセット」として分類される場合はi=∞であることが望ましい場合があり、これはホスト車両の軌道とオフセット車の軌道とが交差しないことを意味する。この条件は、軌道間の距離に関してペナルティを科すことによってコストに変換することができる。
[0234] これらのコストのそれぞれに重みを割り当てることは、軌道プランナのための単一の目的関数π(T)を与え得る。スムーズな運転を促進するコストを目的に追加することができる。軌道の機能的安全性を保証するためにハード制約を目的に追加することができる。例えば、(xi,yi)は道路から外れることを禁じられてもよく、(xi,yi)は|i-j|が小さい場合に他の任意の車両の任意の軌道点(x’j,y’j)について(x’j,y’j)に近づくことを禁じられ得る。
[0235] 要約すると、ポリシπθは不可知論的な状態から1組の願望へのマッピング、及び願望から実際の軌道へのマッピングへと分解することができる。後者のマッピングは学習に基づかず、そのコストが願望に依存し且つそのハード制約がポリシの機能的安全性を保証し得る最適化問題を解くことによって実施することができる。
[0236] 以下の解説は不可知論的な状態から1組の願望へのマッピングについて説明する。上記で説明したように、機能的安全性に準拠するために、強化学習だけに依存するシステムは、報酬
に関する大きく扱いにくい分散に悩まされる可能性がある。この結果は、ポリシ勾配反復を使用することによって(不可知論的な)状態空間から1組の願望へのマッピングと、その後に続く機械学習に基づいて訓練されるシステムを含まない実際の軌道へのマッピングとに、問題を分解することによって回避することができる。
[0237] 様々な理由から、意味論的に有意なコンポーネントへと意思決定を更に分解することができる。例えばDのサイズが大きく、連続的でさえある場合がある。図11Dに関して上記で説明した二重合流シナリオでは、D=[0,v
max]×L×{g,t,o}
n)が成立する。加えて、勾配推定子(gradient estimator)は項
を含み得る。この式では、分散が対象期間Tと共に増加し得る。幾つかの場合、Tの値はおおよそ250とすることができ、この値は有意の分散を作り出すのに十分高いものであり得る。サンプリングレートが10Hzの範囲内にあり、合流領域1130が100メートルだと仮定し、合流の準備は合流領域の約300メートル手前で始まり得る。ホスト車両が16メートル/秒(時速約60キロ)で移動する場合、エピソードのTの値はおおよそ250であり得る。
[0238] 選択肢のグラフの概念に戻り、図11Dに示す二重合流シナリオを表し得る選択肢のグラフを図11Eに示す。先に論じたように、選択肢のグラフは有向非巡回グラフ(DAG)として編成される1組の階層型の決定を表し得る。「根」ノード1140と呼ばれる特別なノードがグラフ内にあってもよく、根ノードは入力辺(例えば決定線)を有さない唯一のノードである。決定プロセスは根ノードから始まり「葉」ノード、つまり出力辺を有さないノードに到達するまでグラフを横断し得る。各内部ノードは、自らの使用可能な子の中から1つの子を選ぶポリシ関数を実装することができる。選択肢のグラフ上の1組の横断から1組の願望Dへの既定のマッピングがあり得る。言い換えれば、選択肢のグラフ上での横断がD内の願望に自動で変換され得る。グラフ内のノードvを所与として、パラメータベクトルθ
vはvの子を選択するポリシを規定し得る。θが全てのθ
vの連結である場合、各ノードvにおいてθ
vによって定められるポリシを使用して子ノードを選択しながらグラフの根から葉に横断することによって
を定めることができる。
[0239] 図11Eの二重合流の選択肢のグラフ1139では、ホスト車両が合流領域(例えば図11Dの領域1130)内にあるかどうか、又は代わりにホスト車両が合流領域に近づいており、起こり得る合流に備える必要があるのかどうかを根ノード1140がまず判断することができる。いずれの場合にも、ホスト車両は車線を(例えば左側に又は右側に)変更するのかどうか、又は現在の車線内に留まるのかどうかを決定する必要があり得る。ホスト車両が車線変更することに決めた場合、ホスト車両は、そのまま続行して(例えば「行く」ノード1142において)車線変更操作を行うのに条件が適しているかどうかを判断する必要があり得る。車線変更することが可能ではない場合、ホスト車両は車線マーク上にあることを狙うことにより(例えば所望の車線内の車両との折衝の一環としてノード1144において)所望の車線に向かって「押し進む」ことを試みることができる。或いは、ホスト車両は(例えばノード1146において)同じ車線内に「留まる」ことを選び得る。このプロセスはホスト車両の横方向位置を自然なやり方で決定することができる。例えば、
[0240] これは所望の横方向位置を自然なやり方で決定することを可能にし得る。例えばホスト車両が車線2から車線3に車線変更する場合、「行く」ノードは所望の横方向位置を3に設定することができ、「留まる」ノードは所望の横方向位置を2に設定することができ、「押し進む」ノードは所望の横方向位置を2.5に設定することができる。次に、ホスト車両は「同じ」速度を保つか(ノード1148)、「加速」するか(ノード1150)、又は「減速」するか(ノード1152)を決めることができる。次に、ホスト車両は、他の車両を調べる「鎖状」構造1154に入ることができ、それらの意味論的意味を組{g,t,o}内の値に設定する。このプロセスは他の車両に対する願望を設定し得る。この鎖の中の全てのノードのパラメータは(回帰ニューラルネットワークと同様に)共有され得る。
[0241] 選択肢の考えられる利益は結果の解釈可能性である。もう1つの考えられる利益は組Dの分解可能な構造を利用することができ、従って各ノードにおけるポリシを少数の可能性の中から選べることである。加えて、構造はポリシ勾配推定子の分散を減らすことを可能にし得る。
[0242] 上記で論じたように、二重合流シナリオにおけるエピソードの長さはおおよそT=250ステップであり得る。この値(又は特定のナビゲーションシナリオに応じた他の任意の適切な値)はホスト車両の動作の結果を認めるのに十分な時間を与え得る(例えばホスト車両が合流の準備として車線変更することに決めた場合、ホスト車両は合流を成功裏に完了した後でのみ利益を認める)。他方で、運転のダイナミクスにより、ホスト車両は十分速い頻度(例えば上記の事例では10Hz)で意思決定を行わなければならない。
[0243] 選択肢のグラフはTの有効値を少なくとも2つのやり方で減らすことを可能にし得る。第1に、高レベルの決定を所与として、より短いエピソードを考慮に入れながら低レベルの決定について報酬を定めることができる。例えばホスト車両が「車線変更」及び「行く」ノードを既に選択している場合、2~3秒のエピソードを見ることによって意味論的意味を車両に割り当てるためのポリシが学習され得る(Tが250ではなく20~30になることを意味する)。第2に、高レベルの決定(車線変更するか同じ車線内に留まるか等)について、ホスト車両は0.1秒ごとに意思決定を行う必要がない可能性がある。代わりに、ホスト車両はより低い頻度で(例えば毎秒)意思決定を行うことができてもよく、又は「選択肢終了」関数を実装できてもよく、選択肢の毎終了後にのみ勾配が計算され得る。いずれの場合にも、Tの有効値はその元の値よりも一桁小さいものであり得る。全体的に見て、全てのノードにおける推定子は、元の250ステップよりも一桁小さいTの値に依存することができ、そのことはより小さい分散に直ちに変わり得る。
[0244] 上記で論じたように、ハード制約はより安全な運転を促進することができ、幾つかの異なるタイプの制約があり得る。例えば、静的なハード制約は検知状態から直接定められ得る。これらは車両の速度、進行方位、加速、ブレーキ(減速)等に対する1つ又は複数の制約を含意し得る、ホスト車両の環境内の減速バンプ、制限速度、道路の曲率、交差点等を含み得る。静的なハード制約は、意味論的自由空間も含むことができ、そこではホスト車両は、例えば自由空間の外側に行くことや、物理的障壁にあまりにも近くナビゲートすることを禁止される。静的なハード制約は、車両の運動学的な動きの様々な側面に従わない操作を制限する(例えば禁止する)こともでき、例えば静的なハード制約は、ホスト車両が横転すること、滑ること、又は他の方法で制御を失うことにつながり得る操作を禁止するために使用することができる。
[0245] ハード制約は車両に関連することもできる。例えば、車両が他の車両への少なくとも1メートルの縦方向距離及び他の車両からの少なくとも0.5メートルの横方向距離を保つことを要求する制約を使用することができる。ホスト車両が1台又は複数台の他の車両との衝突コースを保つのを避けるように制約を適用することもできる。例えば、時間τは特定のシーンに基づく時間の測度であり得る。現在の時間から時間τまでのホスト車両及び1台又は複数台の他の車両の予測軌道を検討することができる。2つの軌道が交差する場合、
は、交点に車両iが到達する時間及びそこから去る時間を表し得る。つまり、それぞれの車は、車の第1の部分が交点を通過するときに点に到達し、車の最後の部分が交点を通過するまで一定の時間量が必要である。この時間量が、到達時間を去る時間と分ける。
である(即ち車両1の到達時間が車両2の到達時間未満である)と仮定し、車両2が到達するよりも前に車両1が交点を離れていることを確実にしたい。さもなければ衝突が発生することになる。従って
であるようにハード制約を実装することができる。更に、車両1と車両2とが最小量で互いに当たらないことを確実にするために、制約に緩衝時間(例えば0.5秒や別の適切な値)を含めることによって、追加の安全余裕を得ることができる。2台の車両の予測される交差軌道に関係するハード制約は
として表すことができる。
[0246] ホスト車両及び1台又は複数台の他の車両の軌道を追跡する時間量τは異なり得る。但し、速度が遅い可能性がある交差点のシナリオではτがより長くてもよく、ホスト車両がτ秒未満で交差点に入り、そこから出ていくようにτを定めることができる。
[0247] 当然ながら、車両の軌道にハード制約を適用することは、それらの車両の軌道が予測されることを必要とする。ホスト車両では、任意の所与の時間における意図された軌道をホスト車両が概して既に理解しており実際に計画しているので、軌道の予測は比較的簡単であり得る。他の車両に関して、それらの車両の軌道を予測することはあまり簡単ではない可能性がある。他の車両では、予測軌道を算出するためのベースライン計算が、例えばホスト車両に乗っている1つ若しくは複数のカメラ及び/又は他のセンサ(レーダ、ライダ、音響等)によって捕捉される画像ストリームを解析することに基づいて求められる他の車両の現在の速度及び進行方位に依存し得る。
[0248] 但し、問題を簡単にし又は別の車両について予測される軌道の更なる信頼性を少なくとももたらす幾らかの例外があり得る。例えば車線の指示があり道を譲る規則が存在し得る構造化道路に関して、他の車両の軌道は、車線に対する他の車両の位置に少なくとも部分的に基づくことができ、適用可能な道を譲る規則に基づくことができる。従って一部の状況では、観測される車線構造がある場合、隣の車線の車両が車線の境界を守ることが想定され得る。つまりホスト車両は、隣の車線の車両がホスト車両の車線内に割り込むことを示す観測された根拠(例えば信号灯、強い横方向の動き、車線の境界を横断する動き)がない限り、隣の車線の車両が自らの車線内に留まると想定し得る。
[0249] 他の状況も他の車両の予期される軌道に関するヒントを与え得る。例えばホスト車両に優先通行権があり得る停止標識、交通信号灯、環状交差路等において、その優先通行権を他の車両が守ると想定することができる。従って、規則が破られたことの観測された根拠がない限り、他の車両はホスト車両がもつ優先通行権を尊重する軌道に沿って進むと想定することができる。
[0250] ハード制約は、ホスト車両の環境内の歩行者に関して適用することもできる。例えば、観測される任意の歩行者に対する規定の緩衝距離よりも少しでも近くホスト車両がナビゲートすることを禁止されるように、歩行者に対する緩衝距離を確立することができる。歩行者の緩衝距離は任意の適切な距離とすることができる。幾つかの実施形態では、緩衝距離は観測される歩行者に対して少なくとも1メートルであり得る。
[0251] 車両の状況と同様に、ハード制約は、歩行者とホスト車両との間の相対運動に対して適用することもできる。例えばホスト車両の予測軌道に対して(進路及び速度に基づく)歩行者の軌道を監視することができる。特定の歩行者の軌道を所与として、軌道上の全ての点pについて、t(p)は歩行者が点pに到達するのにかかる時間を表し得る。歩行者から少なくとも1メートルの所要の緩衝距離を保つために、t(p)は(ホスト車両が少なくとも1メートルの距離の差で歩行者の前を通過するように十分な時間差を伴って)ホスト車両が点pに到達する時間を上回らなければならず、又は(例えばホスト車両がブレーキをかけて歩行者に道を譲る場合)t(p)はホスト車両が点pに到達する時間を下回らなければならない。更に後者の例では、ホスト車両が歩行者の背後を通過し、少なくとも1メートルの所要の緩衝距離を保つことができるように、ホスト車両が歩行者よりも十分遅い時間に点pに到達することをハード制約が要求し得る。当然ながら歩行者のハード制約には例外があり得る。例えばホスト車両に優先通行権があり又は速度が非常に遅く、歩行者がホスト車両に道を譲るのを拒否すること或いはホスト車両に向かってナビゲートすることについて観測される根拠がない場合、歩行者のハード制約を(例えば少なくとも0.75メートルや0.50メートルのより狭い緩衝に)緩和することができる。
[0252] 一部の例では、全てを満たすことができないと判定される場合に制約を緩和することができる。例えば両方のカーブから又はカーブと駐車車両から所望の間隔(例えば0.5メートル)離れるには道路が狭過ぎる状況では、軽減事由がある場合に1つ又は複数の制約を緩和することができる。例えば歩道上に歩行者(又は他の対象)がない場合、カーブから0.1メートルにおいてゆっくり進むことができる。幾つかの実施形態では、そうすることでユーザエクスペリエンスが改善する場合は、制約を緩和することができる。例えばくぼみを回避するために、制約を緩和して通常許可され得るよりも車線の縁、カーブ、又は歩行者の近くを車両がナビゲートすることを可能にし得る。更に、どの制約を緩和するのかを決定するとき、幾つかの実施形態では緩和することに決める1つ又は複数の制約は、安全に対して得られる悪影響が最も少ないと見なされるものである。例えば、車両がカーブ又はコンクリート障壁に対してどの程度近く移動できるのかに関する制約は、他の車両への近さを扱う制約を緩和する前に緩和することができる。幾つかの実施形態では、歩行者の制約は緩和される最後のものとすることができ、又は状況によっては決して緩和されない場合がある。
[0253] 図12は、ホスト車両のナビゲーション中に捕捉され解析され得るシーンの一例を示す。例えばホスト車両は、ホスト車両の環境を表す複数の画像をホスト車両に関連するカメラ(例えば画像捕捉装置122、画像捕捉装置124、及び画像捕捉装置126のうちの少なくとも1つ)から受信し得る上記のナビゲーションシステム(例えばシステム100)を含み得る。図12に示すシーンは、予測軌道1212に沿って車線1210内を移動しているホスト車両の環境から時点tにおいて捕捉され得る画像の1つの一例である。ナビゲーションシステムは、複数の画像を受信し、シーンに応答して動作を決定するためにそれらの画像を解析するように特別にプログラムされる少なくとも1つの処理装置(例えば上記のEyeQプロセッサや他の装置のいずれかを含む)を含み得る。とりわけ少なくとも1つの処理装置は、図8に示す検知モジュール801、運転ポリシモジュール803、及び制御モジュール805を実装することができる。検知モジュール801はカメラから収集される画像情報の収集及び出力、並びにその情報を識別済みのナビゲーション状態の形式で運転ポリシモジュール803に与えることを担うことができ、運転ポリシモジュール803は教師あり学習や強化学習等の機械学習法によって訓練されている訓練済みナビゲーションシステムを構成し得る。検知モジュール801によって運転ポリシモジュール803に与えられるナビゲーション状態情報に基づき、運転ポリシモジュール803は(例えば上記の選択肢のグラフの手法を実施することにより)識別済みのナビゲーション状態に応答してホスト車両によって実行するための所望のナビゲーション動作を生成することができる。
[0254] 幾つかの実施形態では、少なくとも1つの処理装置が例えば制御モジュール805を使用し、所望のナビゲーション動作をナビゲーションコマンドに直接変換することができる。しかし他の実施形態では、シーン及び所望のナビゲーション動作に関与し得る様々な所定のナビゲーション制約に対して、運転ポリシモジュール803によって提供される所望のナビゲーション動作をテストするように、ハード制約を適用することができる。例えばホスト車両に軌道1212をたどらせる所望のナビゲーション動作を運転ポリシモジュール803が出力する場合、そのナビゲーション動作は、ホスト車両の環境の様々な側面に関連する1つ又は複数のハード制約に対してテストすることができる。例えば捕捉画像1201は、シーン内に存在するカーブ1213、歩行者1215、目標車両1217、及び静止対象(例えばひっくり返った箱)を明らかにし得る。これらのそれぞれが1つ又は複数のハード制約に関連し得る。例えばカーブ1213は、ホスト車両がカーブ内に又はカーブを超えて歩道1214上にナビゲートするのを防ぐ静的制約に関連し得る。カーブ1213は、ホスト車両にとっての非ナビゲート区域を画定する、カーブから(例えば0.1メートル、0.25メートル、0.5メートル、1メートル等)隔てて且つカーブに沿って広がる所定距離(例えば緩衝区域)を画定する道路障壁エンベロープにも関連し得る。当然ながら、静的制約は他のタイプの路傍境界(例えばガードレール、コンクリート柱、コーン、パイロン、他の任意のタイプの路傍障壁)に関連してもよい。
[0255] 距離及び測距は、任意の適切な方法によって算出できることに留意すべきである。例えば幾つかの実施形態では、距離情報がオンボードのレーダ及び/又はライダシステムによって提供され得る。或いは又は加えて、距離情報はホスト車両の環境から捕捉される1つ又は複数の画像を解析することによって導出することができる。例えば画像内で表される認識済み対象のピクセル数を求め、画像捕捉装置の既知の視野及び焦点距離のジオメトリと比較してスケール及び距離を算出することができる。例えば既知の時間間隔にわたって画像から画像へと対象間のスケールの変化を観測することにより、速度及び加速度を算出することができる。この解析は、対象がホスト車両からどれ位速く離れているのか又はホスト車両にどれ位速く近づいているのかと共に、ホスト車両に向かう又はホスト車両から離れる移動方向を示し得る。既知の時間期間にわたるある画像から別の画像への対象のX座標の位置変化を解析することにより、横断速度を算出することができる。
[0256] 歩行者1215は、緩衝区域1216を画定する歩行者エンベロープに関連し得る。幾つかの場合、歩行者1215から(歩行者に対する任意の方向において)1メートルの距離内でホスト車両がナビゲートすることを、課せられたハード制約が禁じ得る。歩行者1215は、歩行者影響区域1220の位置を定めることもできる。この影響区域は、影響区域内のホスト車両の速度を制限する制約に関連し得る。影響区域は歩行者1215から5メートル、10メートル、20メートル等広がり得る。影響区域の各等級には異なる制限速度を関連付けることができる。例えば歩行者1215から1メートルから5メートルの区域内では、ホスト車両は5メートルから10メートルに広がる歩行者影響区域内の制限速度未満であり得る第1の速度(例えば10mphや20mph等)に限定され得る。影響区域の様々な段階に関する任意の等級を使用することができる。幾つかの実施形態では、第1の段階が1メートルから5メートルよりも狭くてもよく、1メートルから2メートルにしか及ばなくてもよい。他の実施形態では、影響区域の第1の段階が1メートル(歩行者の周りの非ナビゲート区域の境界)から少なくとも10メートルの距離に広がり得る。次に第2の段階は10メートルから少なくとも約20メートルまで広がり得る。第2の段階は、歩行者影響区域の第1の段階に関連する最大移動速度を上回るホスト車両の最大移動速度に関連し得る。
[0257] ホスト車両の環境内の検出済みのシーンによって1つ又は複数の静止対象制約も関与させられ得る。例えば画像1201では、少なくとも1つの処理装置が、道路内にある箱1219等の静止対象を検出し得る。検出される静止対象は、木、ポール、道路標識、道路内の物体のうちの少なくとも1つ等の様々な対象を含み得る。検出される静止対象には1つ又は複数の既定のナビゲーション制約が関連し得る。例えばかかる制約は静止対象エンベロープを含むことができ、静止対象エンベロープは、ホスト車両のナビゲーションがその内部で禁じられ得る、対象の周りの緩衝区域を画定する。緩衝区域の少なくとも一部は、検出済みの静止対象の縁から所定の距離広がり得る。例えば画像1201によって表すシーンでは、少なくとも0.1メートル、0.25メートル、0.5メートル、又はそれ以上の緩衝区域が箱1219に関連することができ、そのため、ホスト車両は、検出済みの静止対象との衝突を回避するために少なくとも幾らかの距離(例えば緩衝区域の距離)の分だけ箱の右側又は左側を通過する。
[0258] 既定のハード制約は、1つ又は複数の目標車両制約も含み得る。例えば、画像1201内で目標車両1217が検出され得る。ホスト車両が目標車両1217と衝突しないことを確実にするために、1つ又は複数のハード制約を使用することができる。幾つかの場合、単一の緩衝区域の距離に目標車両エンベロープが関連し得る。例えば緩衝区域は、全方向に目標車両を取り囲む1メートルの距離によって画定され得る。緩衝区域は、ホスト車両がその内部をナビゲートすることが禁じられる、目標車両から少なくとも1メートル広がる領域を画定し得る。
[0259] 但し、目標車両1217を取り囲むエンベロープは、固定された緩衝距離によって画定される必要はない。幾つかの場合、目標車両(又はホスト車両の環境内で検出される他の任意の移動可能対象)に関連する既定のハード制約は、検出済みの目標車両に対するホスト車両の向きに依存し得る。例えば幾つかの場合、(例えばホスト車両が目標車両に向かって走行している場合のように、目標車両からホスト車両の前部又は後部に及ぶ)縦方向の緩衝区域の距離が少なくとも1メートルであり得る。(例えばホスト車両が目標車両と同じ又は逆の方向に移動しており、そのためホスト車両の側部が目標車両の側部のすぐ横を通過する場合等、目標車両からホスト車両のいずれかの側部に及ぶ)横方向の緩衝区域の距離は少なくとも0.5メートルであり得る。
[0260] 上記で説明したように、ホスト車両の環境内の目標車両又は歩行者を検出することにより、他の制約を関与させることもできる。例えばホスト車両及び目標車両1217の予測軌道を検討することができ、2つの軌道が(例えば交点1230において)交差するときハード制約は
又は
を要求することができ、ホスト車両は車両1であり、目標車両1217は車両2である。同様に、ホスト車両の予測軌道に対して(進路及び速度に基づく)歩行者1215の軌道を監視することができる。特定の歩行者の軌道を所与として、軌道上の全ての点pについて、t(p)は歩行者が点p(即ち図12の点1231)に到達するのにかかる時間を表す。歩行者から少なくとも1メートルの所要の緩衝距離を保つために、t(p)は(ホスト車両が少なくとも1メートルの距離の差で歩行者の前を通過するように十分な時間差を伴って)ホスト車両が点pに到達する時間を上回らなければならず、又は(例えばホスト車両がブレーキをかけて歩行者に道を譲る場合)t(p)はホスト車両が点pに到達する時間を下回らなければならない。更に後者の例では、ホスト車両が歩行者の背後を通過し、少なくとも1メートルの所要の緩衝距離を保つことができるように、ホスト車両が歩行者よりも十分遅い時間に点pに到達することをハード制約が要求する。
[0261] 他のハード制約も使用することができる。例えば少なくとも幾つかの場合、ホスト車両の最大減速率を使用することができる。この最大減速率は、(例えば後向きカメラから収集される画像を使用し)ホスト車両を追走する目標車両までの検出距離に基づいて算出することができる。ハード制約は、検知した横断歩道や踏切における強制的な停止又は他の適用可能な制約を含み得る。
[0262] 1つ又は複数の既定のナビゲーション制約が関与し得ることをホスト車両の環境内のシーンの解析が示す場合、ホスト車両の1つ又は複数の計画済みのナビゲーション動作に対して、それらの制約を課すことができる。例えば、運転ポリシモジュール803が所望のナビゲーション動作を返すことをシーンの解析がもたらす場合、その所望のナビゲーション動作を、1つ又は複数の関与する制約に対してテストすることができる。所望のナビゲーション動作が、関与する制約の任意の側面に違反すると判定される場合(例えばホスト車両が歩行者1215から少なくとも1.0メートルに留まることを既定のハード制約が要求する場合に、所望のナビゲーション動作が歩行者1215の0.7メートルの距離内にホスト車両を運ぶ場合)、1つ又は複数の既定のナビゲーション制約に基づいて、所望のナビゲーション動作に対する少なくとも1つの修正を加えることができる。このやり方で所望のナビゲーション動作を調節することは、ホスト車両の環境内で検出される特定のシーンに関与する制約に準拠して、ホスト車両の実際のナビゲーション動作をもたらすことができる。
[0263] ホスト車両の実際のナビゲーション動作を決定した後、ホスト車両の決定済みの実際のナビゲーション動作に応答して、ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことにより、そのナビゲーション動作を実施することができる。このナビゲーションアクチュエータは、ホスト車両のステアリングメカニズム、ブレーキ、又はアクセルのうちの少なくとも1つを含み得る。
[0264] 優先順位付けされた制約
[0265] 上記で説明したように、ホスト車両の安全な動作を確実にするために様々なハード制約をナビゲーションシステムと共に使用することができる。制約は、とりわけ歩行者、目標車両、道路障壁、若しくは検出される対象に対する最小安全運転距離、検出される歩行者の影響区域内を通過するときの最大移動速度、又はホスト車両の最大減速率を含み得る。これらの制約は機械学習(教師あり、強化、又はその組み合わせ)に基づいて訓練された訓練済みのシステムによって課すことができるが、(例えばホスト車両の環境のシーン内で生じる予期される状況に直接対処するアルゴリズムを使用する)訓練されていないシステムでも有用であり得る。
[0266] いずれにせよ制約の階層があり得る。言い換えれば、一部のナビゲーション制約が他のナビゲーション制約に優先する場合がある。従って、関与する全ての制約を満たすことになるナビゲーション動作を利用できない状況が発生した場合、ナビゲーションシステムは最も高い優先順位の制約を最初に実現する、使用可能なナビゲーション動作を決定することができる。例えばシステムは、たとえ歩行者を回避するナビゲーションが道路内で検出される別の車両又は対象との衝突を引き起こすことになっても、車両に歩行者をまず回避させることができる。別の例では、システムは歩行者を回避するために車両に縁石に乗り上げさせることができる。
[0267] 図13は、ホスト車両の環境内のシーンを解析することに基づいて決定される、関与する制約の階層を実装するためのアルゴリズムを示すフローチャートを示す。例えばステップ1301で、ナビゲーションシステムに関連する少なくとも1つのプロセッサ(例えばEyeQプロセッサ等)が、ホスト車両の環境を表す複数の画像をホスト車両の搭載カメラから受信することができる。ステップ1303でホスト車両の環境のシーンを表す1つ又は複数の画像を解析することにより、ホスト車両に関連するナビゲーション状態を識別することができる。例えばナビゲーション状態は、図12にあるようにホスト車両が2車線道路1210に沿って移動していること、目標車両1217がホスト車両の前方の交差点を進んでいること、ホスト車両が移動する道路を渡るために歩行者1215が待っていること、ホスト車両の車線の前方に物体1219があることを、幾つかあるシーンの様々な特性の中で特に示し得る。
[0268] ステップ1305で、ホスト車両のナビゲーション状態に関与する1つ又は複数のナビゲーション制約を決定することができる。例えば少なくとも1つの処理装置は、1つ又は複数の捕捉画像によって表されるホスト車両の環境内のシーンを解析した後、捕捉画像の画像解析によって認識される対象、車両、歩行者等に関与する1つ又は複数のナビゲーション制約を決定することができる。幾つかの実施形態では、少なくとも1つの処理装置が、ナビゲーション状態に関与する少なくとも第1の既定のナビゲーション制約及び第2の既定のナビゲーション制約を決定することができ、第1の既定のナビゲーション制約は第2の既定のナビゲーション制約と異なり得る。例えば第1のナビゲーション制約は、ホスト車両の環境内で検出される1台又は複数台の目標車両に関係することができ、第2のナビゲーション制約は、ホスト車両の環境内で検出される歩行者に関係することができる。
[0269] ステップ1307で、少なくとも1つの処理装置が、ステップ1305で識別された制約に関連する優先順位を決定することができる。説明する例では、歩行者に関係する第2の既定のナビゲーション制約が、目標車両に関係する第1の既定のナビゲーション制約よりも高い優先順位を有し得る。ナビゲーション制約に関連する優先順位は様々な要因に基づいて決定され又は割り当てられ得るが、幾つかの実施形態では、ナビゲーション制約の優先順位は安全性の観点から見たその相対的な重要性に関係し得る。例えばできるだけ多くの状況において全ての実装済みのナビゲーション制約に従い又はそれを満たすことが重要であり得るが、一部の制約は他の制約よりも強い安全性リスクに関連する場合があり、従ってより高い優先順位を割り当てることができる。例えば、ホスト車両が歩行者から少なくとも1メートルの間隔を保つことを要求するナビゲーション制約は、ホスト車両が目標車両から少なくとも1メートルの間隔を保つことを要求する制約よりも高い優先順位を有し得る。これは歩行者との衝突の方が、別の車両との衝突よりも深刻な結果を有し得るからであり得る。同様に、ホスト車両と目標車両との間の間隔を保つことは、ホスト車両が道路内の箱を回避すること、減速バンプ上で一定速度未満で走行すること、又はホスト車両の搭乗者を最大加速度レベル以下にさらすことを要求する制約よりも高い優先順位を有し得る。
[0270] 運転ポリシモジュール803は、特定のシーン又はナビゲーション状態に関与するナビゲーション制約を満たすことで安全性を最大化するように設計されるが、状況によっては、関与する全ての制約を満たすのが物理的に不可能であり得る。ステップ1309に示すように、そのような状況では、関与する各制約の優先順位を使用して、関与する制約のどれが最初に満たされるべきかを決定することができる。上記の例を続け、歩行者との間隙の制約及び目標車両との間隙の制約の両方を満たすことができず、制約の一方しか満たすことができない状況では、歩行者との間隙の制約のより高い優先順位が、目標車両までの間隙を保とうと試みる前に、当該制約が満たされることをもたらし得る。従って通常の状況では、ステップ1311に示すように、第1の既定のナビゲーション制約及び第2の既定のナビゲーション制約の両方を満たすことができる場合、少なくとも1つの処理装置が、ホスト車両の識別済みのナビゲーション状態に基づいて、第1の既定のナビゲーション制約及び第2の既定のナビゲーション制約の両方を満たすホスト車両用の第1のナビゲーション動作を決定することができる。しかし、関与する全ての制約を満たすことができない他の状況では、ステップ1313に示すように、第1の既定のナビゲーション制約及び第2の既定のナビゲーション制約の両方は満たすことができない場合、少なくとも1つの処理装置が、識別済みのナビゲーション状態に基づいて、第2の既定のナビゲーション制約(即ち優先順位が高い方の制約)を満たすが第1の既定のナビゲーション制約(第2のナビゲーション制約よりも低い優先順位を有する)は満たさないホスト車両用の第2のナビゲーション動作を決定することができる。
[0271] 次にステップ1315で、ホスト車両の決定済みのナビゲーション動作を実施するために、少なくとも1つの処理装置は、ホスト車両用の決定した第1のナビゲーション動作又は決定した第2のナビゲーション動作に応答して、ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。先の例と同様に、ナビゲーションアクチュエータはステアリングメカニズム、ブレーキ、又はアクセルのうちの少なくとも1つを含み得る。
[0272] 制約緩和
[0273] 上記で論じたように、安全のためにナビゲーション制約を課すことができる。制約はとりわけ歩行者、目標車両、道路障壁、若しくは検出される対象に対する最小安全運転距離、検出される歩行者の影響区域内を通過するときの最大移動速度、又はホスト車両の最大減速率を含み得る。これらの制約は、学習ナビゲーションシステム又は非学習ナビゲーションシステム内で課すことができる。特定の状況ではこれらの制約を緩和することができる。例えばホスト車両が歩行者の近くで減速し又は停止し、歩行者のそばを通過する意図を伝えるためにゆっくり進む場合、取得画像から歩行者の反応を検出することができる。歩行者の反応がじっとしていること又は動くのをやめることである場合(及び/又は歩行者とのアイコンタクトが検知される場合)、歩行者のそばを通過するナビゲーションシステムの意図を歩行者が認識したと理解することができる。そのような状況では、システムが1つ又は複数の既定の制約を緩和し、あまり厳しくない制約を実施する(例えばより厳格な1メートルの境界内ではなく歩行者の0.5メートルの範囲内を車両がナビゲートすることを可能にする)ことができる。
[0274] 図14は、1つ又は複数のナビゲーション制約を緩和することに基づいて、ホスト車両の制御を実施するためのフローチャートを示す。ステップ1401で、少なくとも1つの処理装置が、ホスト車両の環境を表す複数の画像をホスト車両に関連するカメラから受信することができる。ステップ1403で画像を解析することは、ホスト車両に関連するナビゲーション状態を識別することを可能にし得る。ステップ1405で、少なくとも1つのプロセッサが、ホスト車両のナビゲーション状態に関連するナビゲーション制約を決定することができる。ナビゲーション制約は、ナビゲーション状態の少なくとも1つの側面に関与する第1の既定のナビゲーション制約を含み得る。ステップ1407で、複数の画像を解析することが、少なくとも1つのナビゲーション制約緩和要因の存在を明らかにし得る。
[0275] ナビゲーション制約緩和要因は、1つ又は複数のナビゲーション制約が少なくとも1つの側面において中断され、変更され、さもなければ緩和され得る、任意の適切なインジケータを含み得る。幾つかの実施形態では、少なくとも1つのナビゲーション制約緩和要因は、歩行者の目がホスト車両の方向を見ているという(画像解析に基づく)判定を含み得る。その場合、歩行者がホスト車両を認識していると、より安全に見なすことができる。その結果、ホスト車両の経路内に歩行者が移動することを引き起こす予期せぬ動作に歩行者が関与しない信頼レベルが一層高くなり得る。他の制約緩和要因も使用することができる。例えば少なくとも1つのナビゲーション制約緩和要因は、動いていないと判定される歩行者(例えばホスト車両の経路に入る可能性が低いと推定される者)、又はその動きが減速していると判定される歩行者を含み得る。ホスト車両が停止したときに、動いていないと判定され、その後移動を再開する歩行者等、ナビゲーション制約緩和要因はより複雑な動作も含むことができる。そのような状況では、ホスト車両が優先通行権を有することを歩行者が理解していると見なすことができ、停止する歩行者は、ホスト車両に道を譲る自らの意図を示唆することができる。1つ又は複数の制約を緩和させ得る他の状況は、縁石のタイプ(例えば低い縁石や傾斜が緩やかな縁石は、距離制約の緩和を可能にし得る)、歩道上に歩行者又は他の対象がないこと、緩和された距離を有する、自車のエンジンがかかっていない車両、又はホスト車両の進行先の領域から歩行者の向きがそれている状況及び/又は歩行者が離れている状況を含む。
[0276] ナビゲーション制約緩和要因の存在を(例えばステップ1407で)識別すると、制約緩和要因を検出することに応答して第2のナビゲーション制約を決定し又は生成することができる。この第2のナビゲーション制約は、第1のナビゲーション制約と異なることができ、第1のナビゲーション制約と比較して緩和された少なくとも1つの特性を含み得る。第2のナビゲーション制約は、第1の制約に基づく新たに生成される制約を含むことができ、新たに生成される制約は、少なくとも1つの点において第1の制約を緩和する少なくとも1つの修正を含む。或いは第2の制約は、少なくとも1つの点において第1のナビゲーション制約よりも厳しくない所定の制約を構成し得る。幾つかの実施形態では、ホスト車両の環境内で制約緩和要因が識別される状況でのみ使用するために、この第2の制約を確保しておくことができる。第2の制約が新たに生成されようと、1組の完全に又は部分的に使用可能な所定の制約から選択されようと、(関連するナビゲーション制約緩和要因の検出がなければ適用され得る)より厳しい第1のナビゲーション制約の代わりの第2のナビゲーション制約の応用を制約緩和と呼ぶことができ、ステップ1409で実現することができる。
[0277] ステップ1407で少なくとも1つの制約緩和要因を検出し、ステップ1409で少なくとも1つの制約を緩和した場合、ステップ1411でホスト車両用のナビゲーション動作を決定することができる。ホスト車両用のナビゲーション動作は、識別済みのナビゲーション状態に基づくことができ、第2のナビゲーション制約を満たすことができる。ステップ1413で、決定したナビゲーション動作に応答してホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことにより、そのナビゲーション動作を実施することができる。
[0278] 上記で論じたように、ナビゲーション制約及び緩和されたナビゲーション制約を使用することは、(例えば機械学習によって)訓練されたナビゲーションシステム又は訓練されていないナビゲーションシステム(例えば特定のナビゲーション状態に応答して所定の動作で応答するようにプログラムされたシステム)と共に用いることができる。訓練されたナビゲーションシステムを使用する場合、特定のナビゲーション状況に対する緩和されたナビゲーション制約の可用性が、訓練されたシステムの応答から訓練されていないシステムの応答へのモードの切り替えを表し得る。例えば訓練されたナビゲーションネットワークは、第1のナビゲーション制約に基づいて、ホスト車両用の元のナビゲーション動作を決定することができる。しかし、車両が行う動作は、第1のナビゲーション制約を満たすナビゲーション動作とは異なるものであり得る。むしろ、行われる動作は、より緩和された第2のナビゲーション制約を満たすことができ、(例えばナビゲーション制約緩和要因があること等、ホスト車両の環境内の特定の条件を検出することに応じて)訓練されていないシステムによって生成される動作であり得る。
[0279] ホスト車両の環境内で制約緩和要因を検出することに応答して緩和され得るナビゲーション制約の多くの例がある。例えば既定のナビゲーション制約が、検出済みの歩行者に関連する緩衝区域を含み、緩衝区域の少なくとも一部が、検出済みの歩行者から所定の距離広がる場合、(新たに生成される、所定の組からメモリから呼び出される、又は既存の制約の緩和バージョンとして生成される)緩和されたナビゲーション制約は、異なる又は修正された緩衝区域を含み得る。例えば異なる又は修正された緩衝区域は、検出済みの歩行者に対する元の又は未修正の緩衝区域よりも短い歩行者に対する距離を有し得る。その結果、適切な制約緩和要因がホスト車両の環境内で検出される場合、緩和された制約を考慮し、検出済みの歩行者のより近くをナビゲートすることをホスト車両が許可され得る。
[0280] ナビゲーション制約の緩和される特性は、上記で述べたように少なくとも1人の歩行者に関連する緩衝区域の低減される幅を含み得る。但し、緩和される特性は、目標車両、検出対象、路傍障壁、又はホスト車両の環境内で検出される他の任意の対象も含み得る。
[0281] 少なくとも1つの緩和される特性は、ナビゲーション制約特性における他のタイプの修正も含み得る。例えば緩和される特性は、少なくとも1つの既定のナビゲーション制約に関連する速度増加を含み得る。緩和される特性は、少なくとも1つの既定のナビゲーション制約に関連する許容可能な最大減速度/加速度の増加も含み得る。
[0282] 上記のように特定の状況では制約を緩和することができるが、他の状況ではナビゲーション制約を増強することができる。例えば一部の状況では、ナビゲーションシステムは、1組の通常のナビゲーション制約を増強することを諸条件が正当化すると判定し得る。かかる増強は、1組の既定の制約に新たな制約を追加することや、既定の制約の1つ又は複数の側面を調節することを含み得る。この追加又は調節は、通常の運転条件下で適用可能な1組の既定の制約に対して、より慎重なナビゲーションをもたらし得る。制約の増強を正当化し得る条件は、センサの故障や不利な環境条件(視認性の低下や車両の静止摩擦の低下に関連する雨、雪、霧、他の条件)等を含み得る。
[0283] 図15は、1つ又は複数のナビゲーション制約を増強することに基づいてホスト車両の制御を実施するためのフローチャートを示す。ステップ1501で、少なくとも1つの処理装置が、ホスト車両の環境を表す複数の画像をホスト車両に関連するカメラから受信することができる。ステップ1503で画像を解析することは、ホスト車両に関連するナビゲーション状態を識別することを可能にし得る。ステップ1505で、少なくとも1つのプロセッサが、ホスト車両のナビゲーション状態に関連するナビゲーション制約を決定することができる。ナビゲーション制約は、ナビゲーション状態の少なくとも1つの側面に関与する第1の既定のナビゲーション制約を含み得る。ステップ1507で、複数の画像を解析することが、少なくとも1つのナビゲーション制約増強要因の存在を明らかにし得る。
[0284] 関与するナビゲーション制約は(例えば図12に関して)上記で論じたナビゲーション制約のいずれか、又は他の任意の適切なナビゲーション制約を含み得る。ナビゲーション制約増強要因は、1つ又は複数のナビゲーション制約が少なくとも1つの側面において補足/増強され得る任意のインジケータを含み得る。ナビゲーション制約の補足又は増強は(例えば1組の所定の制約に新たなナビゲーション制約を追加することにより)組ごとに行うことができ、又は制約ごとに行うことができる(例えば修正される制約が元よりも制限的であるように特定の制約を修正することや、所定の制約に対応する新たな制約を追加することであり、新たな制約は少なくとも1つの側面において対応する制約よりも制限的である)。加えて又は或いは、ナビゲーション制約の補足又は増強は、階層に基づく1組の所定の制約の中から選択することを指す場合もある。例えばホスト車両の環境内で又はホスト車両に対してナビゲーション増強要因が検出されるかどうかに基づき、1組の増強された制約が選択のために提供され得る。増強要因が検出されない通常の条件下では、関与するナビゲーション制約は通常の条件に適用可能な制約から導くことができる。他方で1つ又は複数の制約増強要因が検出される場合、関与する制約は、1つ又は複数の増強要因に対して生成され又は予め定められる増強された制約から導くことができる。増強された制約は、通常の条件下で適用可能な対応する制約よりも少なくとも1つの側面において制限的であり得る。
[0285] 幾つかの実施形態では、少なくとも1つのナビゲーション制約増強要因が、ホスト車両の環境内の路面上に氷、雪、又は水があることを(例えば画像解析に基づいて)検出することを含み得る。この判定は、例えば乾燥した道路で予期されるよりも反射率が高い領域(例えば道路上の氷や水を示す)、雪があることを示す路面上の白色領域、道路上に縦方向の溝(例えば雪中のタイヤ跡)があることと合致する道路上の影、ホスト車両のフロントガラス上の水滴や氷/雪の小さな粒、路面上に水や氷/雪があることの他の任意の適切なインジケータを検出することに基づき得る。
[0286] 少なくとも1つのナビゲーション制約増強要因は、ホスト車両のフロントガラスの外面上の小さな粒を検出することも含み得る。かかる小さな粒は、ホスト車両に関連する1つ又は複数の画像捕捉装置の画質を損なう可能性がある。ホスト車両のフロントガラスの裏側に搭載されるカメラに関連して、ホスト車両のフロントガラスに関して説明したが、ホスト車両に関連する他の面上(例えばカメラのレンズやレンズカバー、ヘッドライトレンズ、リアウィンドウ、テールライトレンズ、又は画像捕捉装置にとって可視の(又はセンサによって検出される)ホスト車両の他の任意の面上)の小さな粒を検出することもナビゲーション制約増強要因があることを示し得る。
[0287] ナビゲーション制約増強要因は、1つ又は複数の画像取得装置の特性として検出することもできる。例えばホスト車両に関連する画像捕捉装置(例えばカメラ)によって捕捉される1つ又は複数の画像の画質の検出される低下も、ナビゲーション制約増強要因を構成し得る。画質の低下は、画像捕捉装置又は画像捕捉装置に関連するアセンブリに関連するハードウェアの故障若しくは部分的なハードウェアの故障に関連する場合がある。かかる画質の低下は、環境条件によって引き起こされる場合もある。例えばホスト車両を取り囲む空気中に煙、霧、雨、雪等があることは、ホスト車両の環境内にあり得る道路、歩行者、目標車両等に関する画質の低下に寄与する場合もある。
[0288] ナビゲーション制約増強要因は、ホスト車両の他の側面にも関係し得る。例えば一部の状況では、ナビゲーション制約増強要因は、ホスト車両に関連するシステム又はセンサの、検出された故障又は部分的な故障を含み得る。かかる増強要因は、例えばホスト車両のナビゲーション状態に関連するナビゲーション制約に関連してホスト車両がナビゲートする能力に影響を及ぼし得る、ホスト車両に関連する速度センサ、GPS受信機、加速度計、カメラ、レーダ、ライダ、ブレーキ、タイヤ、又は他の任意のシステムの故障又は部分的な故障を検出することを含み得る。
[0289] ナビゲーション制約増強要因があることが(例えばステップ1507で)識別される場合、制約増強要因を検出することに応答して第2のナビゲーション制約を決定し又は生成することができる。この第2のナビゲーション制約は、第1のナビゲーション制約と異なることができ、第1のナビゲーション制約に対して増強される少なくとも1つの特性を含み得る。ホスト車両の環境内の又はホスト車両に関連する制約増強要因を検出することは、通常の動作条件と比較してホスト車両の少なくとも1つのナビゲーション能力が低下している可能性があることを示唆し得るので、第2のナビゲーション制約は第1のナビゲーション制約よりも制限的であり得る。そのような能力の低下は、道路の静止摩擦の低下(例えば道路上の氷、雪、水やタイヤ空気圧の低下等)、視界が損なわれること(例えば捕捉画質を下げる雨、雪、塵、煙、霧等)、検出能力が損なわれること(例えばセンサの故障や部分的な故障、センサの性能低下等)、又は検出されるナビゲーション状態に応答してホスト車両がナビゲートする能力の他の任意の低下を含み得る。
[0290] ステップ1507で少なくとも1つの制約増強要因を検出し、ステップ1509で少なくとも1つの制約を増強している場合、ステップ1511でホスト車両用のナビゲーション動作を決定することができる。ホスト車両用のナビゲーション動作は、識別済みのナビゲーション状態に基づくことができ、第2のナビゲーション(即ち増強された)制約を満たすことができる。ステップ1513で、決定したナビゲーション動作に応答してホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことにより、そのナビゲーション動作を実施することができる。
[0291] 先に論じたように、ナビゲーション制約及び増強されたナビゲーション制約を使用することは、(例えば機械学習によって)訓練されたナビゲーションシステム又は訓練されていないナビゲーションシステム(例えば特定のナビゲーション状態に応答して所定の動作で応答するようにプログラムされたシステム)と共に用いることができる。訓練されたナビゲーションシステムを使用する場合、特定のナビゲーション状況に対する増強されたナビゲーション制約の使用することは、訓練されたシステムの応答から訓練されていないシステムの応答へのモードの切り替えを表し得る。例えば訓練されたナビゲーションネットワークは、第1のナビゲーション制約に基づいてホスト車両用の元のナビゲーション動作を決定することができる。しかし、車両が行う動作は、第1のナビゲーション制約を満たすナビゲーション動作とは異なるものであり得る。むしろ、行われる動作は、増強された第2のナビゲーション制約を満たすことができ、(例えばナビゲーション制約増強要因があること等、ホスト車両の環境内の特定の条件を検出することに応じて)訓練されていないシステムによって生成される動作であり得る。
[0292] ホスト車両の環境内で制約増強要因を検出することに応答して生成され、補足され、又は増強され得るナビゲーション制約の多くの例がある。例えば既定のナビゲーション制約が、検出済みの歩行者、対象、車両等に関連する緩衝区域を含み、緩衝区域の少なくとも一部が、検出済みの歩行者/対象/車両から所定の距離広がる場合、(新たに生成される、所定の組からメモリから呼び出される、又は既存の制約の増強バージョンとして生成される)増強されたナビゲーション制約は、異なる又は修正された緩衝区域を含み得る。例えば異なる又は修正された緩衝区域は、検出済みの歩行者/対象/車両に対する元の又は未修正の緩衝区域よりも長い歩行者/対象/車両に対する距離を有し得る。その結果、適切な制約増強要因がホスト車両の環境内で又はホスト車両に関連して検出される場合、増強された制約を考慮し、検出済みの歩行者/対象/車両のより遠くをナビゲートすることをホスト車両が強制されてもよい。
[0293] 少なくとも1つの増強される特性は、ナビゲーション制約特性における他のタイプの修正も含み得る。例えば増強される特性は、少なくとも1つの既定のナビゲーション制約に関連する速度低下を含み得る。増強される特性は、少なくとも1つの既定のナビゲーション制約に関連する許容可能な最大減速度/加速度の低下も含み得る。
[0294] 長期計画に基づくナビゲーション
[0295] 幾つかの実施形態では、開示するナビゲーションシステムが、ホスト車両の環境内の検出済みのナビゲーション状態に応答できるだけではなく、長期計画に基づいて1つ又は複数のナビゲーション動作を決定することもできる。例えばシステムは、検出されるナビゲーション状態に関してナビゲートするための選択肢として使用可能な1つ又は複数のナビゲーション動作の、将来のナビゲーション状態に対する潜在的影響を検討することができる。将来の状態に対する使用可能な動作の効果を検討することは、ナビゲーションシステムが、現在検出しているナビゲーション状態だけに基づいてではなく、長期計画にも基づいてナビゲーション動作を決定することを可能にし得る。長期計画技法を使用するナビゲーションは、使用可能な選択肢の中からナビゲーション動作を選択するための技法として、ナビゲーションシステムによって1つ又は複数の報酬関数が使用される場合に特に適用可能であり得る。ホスト車両の検出済みの現在のナビゲーション状態に応答して行うことができる使用可能なナビゲーション動作に関して、潜在的報酬を解析することができる。但し、更に現在のナビゲーション状態に対する使用可能な動作から生じると予測される将来のナビゲーション状態に応答して行うことができる動作に関連して潜在的報酬を解析することもできる。その結果、たとえ選択されるナビゲーション動作が、現在のナビゲーション状態に応答して行うことができる使用可能な動作の中で最も高い報酬をもたらさない可能性があっても、一部の事例では、開示するナビゲーションシステムが、検出されるナビゲーション状態に応答して、当該ナビゲーション動作を選択する場合がある。これはとりわけ、被選択動作よりも高い、又は一部の事例では現在のナビゲーション状態に対して使用可能な動作のうちのいずれかよりも高い報酬を与える1つ又は複数の候補ナビゲーション動作のきっかけを作る将来のナビゲーション状態を、被選択動作がもたらし得るとシステムが判定する場合に該当し得る。この原理は、報酬が高い選択肢を将来もたらすために、より有利でない動作を現在行うものとして、より単純に表すことができる。従って、長期計画が可能な開示するナビゲーションシステムは、報酬の短期的な損失が長期的な報酬の増加をもたらし得ることを長期予測が示す場合は、次善の短期動作を選択することができる。
[0296] 概して自律運転の応用は、長期目的を最適化するためにナビゲーションシステムが即時の動作を決定し得る一連の計画問題を含み得る。例えば車両が環状交差路において合流する状況に直面した場合、ナビゲーションシステムは、環状交差路内へのナビゲーションを開始するために即時の加速コマンド又はブレーキコマンドを決定することができる。環状交差路において検出されるナビゲーション状態に対する即時の動作は、検出される状態に応じた加速コマンド又はブレーキコマンドを含み得るが、長期目的は合流に成功することであり、選択されるコマンドの長期的効果は合流の成功/失敗である。問題を2つのフェーズに分解することによって計画問題に対処することができる。第1に、(現在の表現に対して予測因子が可微分だと仮定し)現在に基づいて近い将来を予測するために教師あり学習を適用することができる。第2に、回帰ニューラルネットワークを使用してエージェントの完全な軌道をモデリングすることができ、説明されていない要因は(付加的)入力ノードとしてモデリングされる。このことは、教師あり学習法及び回帰ニューラルネットワーク上の直接の最適化を使用して長期計画問題に対する解を求めることを可能にし得る。かかる手法は、環境に対する敵対要素を組み込むことによってロバストなポリシの学習を可能にすることもできる。
[0297] 自律運転システムの最も基本的な要素の2つが検知及び計画である。検知は環境の現在の状態のコンパクト表現を見つけることに取り組むのに対し、計画は将来の目的を最適化するためにどの動作を行うのかを決定することに取り組む。検知の問題を解くのに教師あり機械学習法が有用である。計画の部分について機械学習アルゴリズムフレームワーク、とりわけ上記で記載したような強化学習(RL)フレームワークを使用することもできる。
[0298] RLは一連の連続したラウンドによって実行することができる。ラウンドtでは、プランナ(別名エージェント又は運転ポリシモジュール803)が、エージェント並びに環境を表す状態s
t∈Sを観測し得る。次いでプランナは、動作α
t∈Aを決定すべきである。動作を実行した後、エージェントが即時の報酬
を受信し、新たな状態s
t+1に移される。一例としてホスト車両は適応走行制御(ACC)システムを含むことができ、ACCでは、スムーズな運転を維持しながら先行車両までの十分な距離を保つために、車両が加速/ブレーキを自律的に実施すべきである。状態は対
としてモデリングすることができ、x
tは先行車両までの距離であり、v
tは先行車両の速度に対するホスト車両の速度である。動作
は加速コマンドである(α
t<0が成立する場合はホスト車両が減速する)。報酬は(運転のスムーズさを反映する)|α
t|及び(ホスト車両が先行車両から安全な距離を保つことを反映する)s
tに依存する関数であり得る。プランナの目標は(ことによると対象期間又は将来の報酬の割り引かれた和まで)累積報酬を最大化することである。それを行うために、プランナは状態を動作にマップするポリシπ:S→Aを利用することができる。
[0299] 教師あり学習(SL)はRLの特別な事例と見なすことができ、教師あり学習ではSにわたる幾らかの分布からstがサンプリングされ、報酬関数はrt=-l(αt,yt)の形式を有することができ、lは損失関数であり、学習側は状態stを認めるとき行うのに最適な動作の(ことによると雑音の多い)値であるytの値を観測する。全般的なRLのモデルとSLの特定の事例との間には幾らかの差がある場合があり、それらの差は全般的なRLの問題をより困難にし得る。
[0300] 一部のSLの状況では、学習側が行う動作(又は予測)が、環境への影響を有さない場合がある。言い換えれば、st+1とαtとが独立している。このことは2つの重要な含意を有し得る。まずSLでは、サンプル(s1,y1),...,(sm,ym)を事前に収集することができ、そうすることによって初めてサンプルに対して優れた精度を有するポリシ(又は予測因子)の探索を開始することができる。対照的にRLでは、状態st+1は通常、行われる動作(更には前の状態)に依存し、行われる動作はひいては動作を生成するために使用されるポリシに依存する。このことはデータ生成プロセスをポリシ学習プロセスに結び付ける。第2に、SLでは動作が環境に影響を及ぼさないので、πの性能に対するα1の選択の寄与度は局所的である。具体的には、αtは即時の報酬の値にしか影響を及ぼさない。対照的にRLでは、ラウンドtで行われる動作が将来のラウンドにおける報酬値に対して長期的効果を有し得る。
[0301] SLでは、報酬の形rt=-l(αt,yt)と共に「正しい」解ytの知識が、αtのあり得る全ての選択肢に関する報酬の完全な知識を提供することができ、そのことはαtに関する報酬の微分(derivative)の計算を可能にし得る。対照的に、RLでは報酬の「ワンショット」値が、行われる動作の特定の選択について観測することができる全てであり得る。これを「バンディット」フィードバックと呼ぶことができる。RLベースのシステムでは、「バンディット」フィードバックしか入手できない場合、システムは行われた動作が行うのに最良の動作だったかどうかを常に知ることができない可能性があるので、これは長期的なナビゲーション計画の一部として「探索」が必要である最も重要な理由の1つである。
[0302] 多くのRLアルゴリズムは、マルコフ決定プロセス(MDP)の数学的に明解なモデルに少なくとも部分的に依存する。マルコフ仮定は、st及びαtを所与としてst+1の分布が完全に決定されるものである。これは、MDPの状態にわたる定常分布に関して所与のポリシの累積報酬の閉形式をもたらす。ポリシの定常分布は線形計画問題に対する解として表すことができる。これは1)ポリシ探索と呼ぶことができる主問題に関する最適化、及び2)その変数が価値関数Vπと呼ばれる双対問題に関する最適化という2つのアルゴリズム群をもたらす。価値関数は、MDPが初期状態sから始まり、そこからπに従って動作が選択される場合に、期待累積報酬を決定する。関係する量は状態-動作価値関数Qπ(s,α)であり、この関数は、状態sからの開始、即時に選択される動作α、及びそこからπに従って選択される動作を仮定し累積報酬を決定する。このQ関数は(ベルマン方程式を使用する)最適なポリシの特徴付けを引き起こし得る。具体的には、このQ関数は最適なポリシがSからAへの決定論的関数だと示すことができる(実際に最適なポリシは最適なQ関数に関する「貪欲な」ポリシとして特徴付けることができる)。
[0303] MDPモデルの1つの考えられる利点は、MDPモデルがQ関数を使用して将来を現在に結合することを可能にすることである。例えばホスト車両が現在sの状態にあることを所与とし、Qπ(s,α)の値は将来に対して動作αを実行する効果を示し得る。従って、Q関数は動作αの品質の局所的測度を提供し、それによりRL問題をSLのシナリオとより同様にすることができる。
[0304] 多くのRLアルゴリズムがV関数又はQ関数を何らかの形で近似する。価値反復アルゴリズム、例えばQ学習アルゴリズムは、最適なポリシのV関数及びQ関数がベルマン方程式から得られる何らかの演算子の不動点であり得ることを利用することができる。Actor-criticなポリシ反復アルゴリズムは反復的なやり方でポリシを学習することを目標とし、反復tにおいて「critic」がQπtを推定し、この推定に基づいて「actor」がポリシを改善する。
[0305] MDPの数学的な簡素さ及びQ関数表現に切り替える便利さにもかかわらず、この手法は幾つかの制限を有し得る。例えば幾つかの場合、マルコフの挙動状態の近似の概念が、見つかり得る全てである場合がある。更に、状態の遷移は、エージェントの動作だけではなく、環境内の他のプレーヤの動作にも依存し得る。例えば上記のACCの例では、自律車両のダイナミクスはマルコフ式であり得るが、次の状態は、必ずしもマルコフ式ではない他の車の運転者の挙動に依存する場合がある。この問題に対する1つのあり得る解決策は、部分的に観測されるMDPを使用することであり、部分的に観測されるMDPではマルコフ状態はあるが、見ることができるのは隠れ状態に従って分散される観測だと仮定される。
[0306] より直接的な手法は、MDPのゲーム理論的汎用化を検討することができる(例えば確率ゲームの枠組み)。実際、MDPのためのアルゴリズムは、マルチエージェントゲームに汎用化することができる(例えばミニマックスQ学習やナッシュQ学習)。他の手法は、他のプレーヤの明確なモデリング及びvanishing regret学習アルゴリズムを含み得る。マルチエージェント設定内での学習は、単一エージェント設定内での学習よりも複雑であり得る。
[0307] Q関数表現の第2の制限は、表形式設定から逸脱することによって生じ得る。表形式設定は状態及び動作の数が少なく、そのためQを|S|行及び|A|列の表として表すことができる場合である。しかしS及びAの自然表現がユークリッド空間を含み、状態空間及び動作空間が離散化される場合、状態/動作の数は規模の点で指数関数的であり得る。そのような場合、表形式設定を採用するのが実用的ではない可能性がある。代わりに、Q関数は、パラメトリック仮説クラスからの一部の関数によって近似され得る(例えば特定のアーキテクチャのニューラルネットワーク)。例えばディープQネットワーク(DQN)学習アルゴリズムを使用することができる。DQNでは状態空間が連続的であり得るが、動作空間は小さい離散集合のままであり得る。連続的な動作空間に対応するための手法はあり得るが、それらはQ関数を近似することに依存する可能性がある。いずれにせよ、Q関数は複雑且つ雑音に敏感な可能性があり、従って学習が困難であり得る。
[0308] 異なる手法は、回帰ニューラルネットワーク(RNN)を使用してRLの問題に対処することであり得る。幾つかの場合、RNNは、マルチエージェントゲームの概念及びゲーム理論からの敵対環境へのロバスト性と組み合わせることができる。更に、この手法はマルコフ仮定に明確に依存しないものであり得る。
[0309] 以下、予測に基づく計画によるナビゲーションのための手法をより詳細に説明する。この手法では状態空間Sが
のサブセットであり、状態空間Aが
のサブセットだと仮定することができる。これは多くの応用において自然な表現であり得る。上記で述べたように、RLとSLとの間には2つの主な違いがある場合があり、その違いとは、(1)過去の動作が将来の報酬に影響するので、将来からの情報を過去に再び伝える必要があり得ること、及び(2)報酬の「バンディット」な性質は(状態,動作)と報酬との間の依存関係を曖昧にする可能性があり、それが学習プロセスを複雑にし得ることである。
この手法の最初のステップとして、報酬のバンディットな性質が問題ではない興味深い問題があることが観測され得る。例えばACCの応用に関する(以下でより詳細に論じる)報酬値は、現在の状態及び動作に対して可微分であり得る。実際、たとえ報酬が「バンディット」式に与えられても、
であるように可微分関数
を学習する問題は、比較的単純なSL問題(例えば一次元の回帰問題)であり得る。従ってこの手法の最初のステップは、s及びαに対して可微分な関数
として報酬を定めること、又はインスタンスベクトルが
であり、目標スカラがr
tである状態で、サンプルにわたる少なくとも幾らかの回帰損失を最小化する可微分関数
を学習するために回帰学習アルゴリズムを使用することであり得る。一部の状況では、訓練セットを作成するために探索の要素を使用することができる。
[0310] 過去と将来との間のつながりに対処するために、同様の概念を使用することができる。例えば
が成立するように可微分関数
が学習可能だと仮定する。かかる関数を学習することはSL問題として特徴付けることができる。
は近い将来のための予測因子と見なすことができる。次に、SからAにマップするポリシを、パラメトリック関数π
θ:S→Aを使用して記述することができる。ニューラルネットワークとしてπ
θを表現することは、回帰ニューラルネットワーク(RNN)を使用してエージェントをTラウンド走らせるエピソードの表現を可能にすることができ、次の状態は
として定義される。ここで
は環境によって定めることができ、近い将来の予測不能な側面を表すことができる。s
t+1がs
t及びα
tに可微分な方法で依存することは、将来の報酬値と過去の動作との間のつながりを可能にし得る。ポリシ関数π
θのパラメータベクトルは、結果として生じるRNN上の逆伝搬によって学習され得る。明確な確率論的仮定をv
tに課す必要がないことに留意されたい。具体的には、マルコフ関係の要件が必要ない。代わりに、過去と将来との間で「十分な」情報を伝搬するために回帰ネットワークが利用され得る。直観的に、
は近い将来の予測可能な部分を記述し得る一方、v
tは環境内の他のプレーヤの挙動によって生じ得る予測不能な側面を表し得る。学習システムは、他のプレーヤの挙動に対してロバストなポリシを学習すべきである。||v
t||が大きい場合、有意味のポリシを学習するには、過去の動作と将来の報酬値との間のつながりに雑音が多過ぎる可能性がある。システムのダイナミクスをトランスペアレントなやり方で明確に表現することは、過去の知識をより容易に組み込むことを可能にすることができる。例えば過去の知識は
を定める問題を単純化し得る。
[0311] 上記で論じたように学習システムは、予期せぬ方法で動作し得る他の複数の運転者を含み得るホスト車両の環境等、敵対環境に対するロバスト性の恩恵を受けることができる。vtに対して確率論的仮定を課さないモデルでは、vtが敵対的方法で選択される環境を検討することができる。幾つかの場合、μtに制限を加えることができ、さもなければ敵が計画問題を困難にし、又は不可能にさえし得る。1つの自然な制約は||μt||が制約によって境界を付けられることを要求することであり得る。
[0312] 敵対的環境に対するロバスト性は、自律運転の応用において有用であり得る。敵対的方法でμ
tを選択することは、ロバストな最適ポリシに向けて学習システムを集中させることができるので、学習プロセスを加速することさえできる。単純なゲームを使用してこの概念を説明することができる。状態は
であり、動作は
であり、即時の損失関数は0.1|α
t|+[|s
t|-2]
+であり、[x]
+=max{x,0}はReLU(rectified linear unit)関数である。次の状態はs
t+1=s
t+α
t+v
tであり、v
t∈[-0.5,0.5]が敵対的方法で環境のために選ばれる。ここで、ReLUを伴う2層のネットワークとして最適なポリシを書くことができる:α
t=-[s
t-1.5]
++[-s
t-1.5]
+。|s
t|∈(1.5,2]のとき、最適な動作は動作α=0よりも大きい即時の損失を有し得ることに気付かれたい。従ってシステムは将来の計画を立てることができ、即時の損失だけに依存しなくてもよい。α
tに対する損失の微分は0.1sign(α
t)であり、s
tに対する微分は1[|s
t|>2]sign(s
t)であることに気付かれたい。s
t∈(1.5,2]の状況では、v
tの敵対的選択はv
t=0.5に設定することであり、従ってα
t>1.5-s
tのときはいつもラウンドt+1上で非ゼロ損失があり得る。そのような場合、損失の微分がα
tに直接逆伝搬し得る。従ってv
tの敵対的選択は、α
1の選択が次善である場合にナビゲーションシステムが非ゼロ逆伝搬メッセージを得るのを助けることができる。かかる関係は、現在の動作が(たとえその動作が次善の報酬、更には損失を招いても)将来より高い報酬をもたらすより最適な動作の機会を与えるという期待に基づき、ナビゲーションシステムが現在の動作を選択するのを助けることができる。
[0313] この手法は、起こり得る事実上全てのナビゲーション状況に適用することができる。以下、1つの例、つまり適応走行制御(ACC)に適用される手法について説明する。ACCの問題では、ホスト車両が前方の目標車両までの十分な距離(例えば目標車両まで1.5秒)を保とうと試みる場合がある。もう1つの目標は、所望の間隙を維持しながらできるだけスムーズに走行することであり得る。この状況を表すモデルを以下のように定めることができる。状態空間は
であり、動作空間は
である。状態の第1の座標は目標車両の速度であり、第2の座標はホスト車両の速度であり、最後の座標はホスト車両と目標車両との間の距離(例えば道路の曲線に沿ってホスト車両の位置から目標の位置を引いたもの)である。ホスト車両が行うべき動作は加速であり、α
tで示すことができる。量τは連続したラウンド間の時間差を示すことができる。τは任意の適切な量に設定できるが、一例ではτを0.1秒とすることができる。位置s
tは
で示すことができ、目標車両の(未知の)加速度を
で示すことができる。
[0314] システムの完全なダイナミクスは次式で記述することができる:
[0315] これは2つのベクトルの和として記述することができる:
[0316] 第1のベクトルは予測可能な部分であり、第2のベクトルは予測不能な部分である。ラウンドtに対する報酬は以下のように定められる:
式中、
[0317] 第1の項は非ゼロ加速度に対するペナルティをもたらす可能性があり、従ってスムーズな運転を促す。第2の項は目標の車x
tまでの距離と所望の距離との間の比率に依存し、
は、1メートルの距離と1.5秒のブレーキ距離との間の最大値として定められる。幾つかの場合この比率がちょうど1であり得るが、この比率が[0.7,1.3]の範囲内にある限り、ポリシは任意のペナルティをなしで済ませることができ、それはスムーズな運転を実現する際に重要であり得る特性である幾らかのスラック(slack)をナビゲーションにおいてホスト車両に認めることができる。
[0318] 上記で概説した手法を実装し、ホスト車両のナビゲーションシステムは(例えばナビゲーションシステムの処理ユニット110内の運転ポリシモジュール803の動作により)観測された状態に応答して、動作を選択することができる。選択される動作は、感知されるナビゲーション状態に関して使用可能な応答動作に関連する報酬だけの解析に基づくのではなく、将来の状態、将来の状態に応じた候補動作、及び候補動作に関連する報酬を検討し解析することにも基づき得る。
[0319] 図16は、検出及び長期計画に基づくナビゲーションに対するアルゴリズム手法を示す。例えばステップ1601で、ホスト車両用のナビゲーションシステムの少なくとも1つの処理装置110が、複数の画像を受信し得る。これらの画像はホスト車両の環境を表すシーンを捕捉することができ、上記の画像捕捉装置(例えばカメラやセンサ等)のいずれかによって供給され得る。ステップ1603でこれらの画像の1つ又は複数を解析することは、(上記で説明したように)少なくとも1つの処理装置110がホスト車両に関連する現在のナビゲーション状態を識別することを可能にし得る。
[0320] ステップ1605、1607、及び1609で、検知されるナビゲーション状態に応じて様々な候補ナビゲーション動作を決定することができる。(例えば合流を完了するために、先行車両の後にスムーズに続くために、目標車両を追い抜くために、道路内の対象を回避するために、検出した停止標識のために減速するために、割り込んでくる目標車両を回避するために、又はシステムのナビゲーション目標を助長し得る他の任意のナビゲーション動作を完了するために)これらの候補ナビゲーション動作(例えば第1のナビゲーション動作から、使用可能なN番目のナビゲーション動作まで)は、検知状態及びナビゲーションシステムの長期目標に基づいて決定することができる。
[0321] 決定される候補ナビゲーション動作のそれぞれについて、システムは期待報酬を決定することができる。期待報酬は上記の技法のいずれかに従って決定することができ、1つ又は複数の報酬関数に対する特定の候補動作の解析を含み得る。ステップ1605、1607、及び1609でそれぞれ決定した(例えば第1の、第2の、及びN番目の)候補ナビゲーション動作のそれぞれについて期待報酬1606、1608、及び1610を決定することができる。
[0322] 幾つかの場合、ホスト車両のナビゲーションシステムが、期待報酬1606、1608、及び1610に関連する値(又は期待報酬の他の任意のタイプのインジケータ)に基づいて、使用可能な候補動作の中から選択を行うことができる。例えば一部の状況では、最も高い期待報酬をもたらす動作が選択され得る。
[0323] とりわけナビゲーションシステムがホスト車両用のナビゲーション動作を決定するために長期計画に携わる他の事例では、最も高い期待報酬をもたらす候補動作をシステムが選択しない場合がある。むしろ、システムは将来に目を向けて、現在のナビゲーション状態に応答して低報酬の動作を選択した場合により高い報酬を後で実現する機会があり得るかどうかを解析することができる。例えば、ステップ1605、1607、及び1609で決定される候補動作のいずれか又は全てについて将来の状態を決定することができる。ステップ1613、1615、及び1617で決定されるそれぞれの将来の状態は、それぞれの候補動作(例えばステップ1605、1607、及び1609で決定される候補動作)によって修正される、現在のナビゲーション状態に基づいて生じることが予期される将来のナビゲーション状態を表し得る。
[0324] ステップ1613、1615、及び1617で予測される将来の状態のそれぞれについて、(決定される将来の状態に応答して使用可能なナビゲーションの選択肢としての)1つ又は複数の将来の動作を決定し評価することができる。ステップ1619、1621、及び1623で、将来の動作の1つ又は複数に関連する期待報酬の値又は他の任意のタイプのインジケータを(例えば1つ又は複数の報酬関数に基づいて)生成することができる。1つ又は複数の将来の動作に関連する期待報酬は、それぞれの将来の動作に関連する報酬関数の値を比較することによって又は期待報酬に関連する他の任意のインジケータを比較することによって、評価することができる。
[0325] ステップ1625で、ホスト車両用のナビゲーションシステムが、現在のナビゲーション状態に対して(例えばステップ1605、1607、及び1609で)識別した候補動作だけに基づいてではなく、(例えばステップ1613、1615、及び1617で決定される)予測される将来の状態に応答して使用可能な将来の候補動作の結果として決定される期待報酬にも基づき、期待報酬を比較することに基づいてホスト車両用のナビゲーション動作を選択することができる。ステップ1625での選択は、ステップ1619、1621、及び1623で実行される選択肢及び報酬の解析に基づき得る。
[0326] ステップ1625でのナビゲーション動作の選択は、将来の動作の選択肢に関連する期待報酬を比較することだけに基づいてもよい。この場合ナビゲーションシステムは、候補となる将来のナビゲーション状態のための動作から生じる期待報酬を比較することだけに基づいて、現在の状態に対する動作を選択することができる。例えばシステムは、ステップ1619、1621、及び1623での解析によって決定される最も高い将来の報酬値に関連する、ステップ1605、1607、又は1609で識別される候補動作を選択することができる。
[0327] ステップ1625でのナビゲーション動作の選択は、(上記で述べたように)現在の動作の選択肢を比較することだけに基づいてもよい。この状況では、ナビゲーションシステムが、最も高い期待報酬1606、1608、又は1610に関連する、ステップ1605、1607、又は1609で識別される候補動作を選択することができる。この選択は、将来のナビゲーション状態又は予期される将来のナビゲーション状態に応答して使用可能なナビゲーション動作に対する将来の期待報酬を殆ど又は全く考慮せずに行うことができる。
[0328] 他方で、幾つかの場合ステップ1625でのナビゲーション動作の選択は、将来の動作の選択肢及び現在の動作の選択肢の両方に関連する期待報酬を比較することに基づいてもよい。これは実際、長期計画に基づくナビゲーションの原理の1つであり得る。将来のナビゲーション状態に応答して使用可能になることが予期されるその後のナビゲーション動作に応答して潜在的に高い報酬を実現するために、将来の動作に対する期待報酬を解析して、現在のナビゲーション状態に応答して報酬がより低い動作を選択することをいずれかが正当化し得るかどうかを判定することができる。一例として、期待報酬1606の値又は他のインジケータが、報酬1606、1608、及び1610の中の最も高い期待報酬を示し得る。他方で、期待報酬1608は、報酬1606、1608、及び1610の中の最も低い期待報酬を示し得る。ステップ1605で決定される候補動作(即ち最も高い期待報酬1606を引き起こす動作)を単純に選択するのではなく、ステップ1625でナビゲーション動作の選択を行う際は、将来の状態、候補となる将来の動作、及び将来の報酬の解析を使用することができる。一例では、ステップ1621で(ステップ1607で決定される第2の候補動作に基づいてステップ1615で決定される将来の状態に対する少なくとも1つの将来の動作に応答して)識別される報酬が、期待報酬1606よりも高い可能性があると判定され得る。この比較に基づき、期待報酬1606が期待報酬1608よりも高いにもかかわらず、ステップ1605で決定される第1の候補動作ではなくステップ1607で決定される第2の候補動作を選択することができる。一例では、ステップ1605で決定される候補ナビゲーション動作が、検出済みの目標車両の前に合流することを含み得る一方、ステップ1607で決定される候補ナビゲーション動作は、目標車両の後ろに合流することを含み得る。目標車両の前に合流する期待報酬1606は目標車両の後ろに合流することに関連する期待報酬1608よりも高い可能性があるが、目標車両の後ろに合流することは、期待報酬1606、1608、又は現在の検知済みのナビゲーション状態に応答して使用可能な動作に基づく他の報酬よりも更に高い潜在的報酬を与える動作の選択肢があり得る将来の状態をもたらす可能性があると判定されることがある。
[0329] ステップ1625で候補動作の中から選択を行うことは、期待報酬(又は別の候補動作に勝るある候補動作に関連する利益の他の任意の測定基準又はインジケータ)の任意の適切な比較に基づき得る。幾つかの場合、上記で説明したように、第1の候補動作に関連する報酬よりも高い期待報酬に関連する少なくとも1つの将来の動作を第2の候補動作がもたらすことが予測される場合、第1の候補動作に優先して第2の候補動作を選択することができる。他の事例では、より複雑な比較を使用することができる。例えば、予測される将来の状態に応じた動作の選択肢に関連する報酬を、決定される候補動作に関連する複数の期待報酬と比較することができる。
[0330] 一部のシナリオでは、現在の状態に対する候補動作の結果として期待される報酬(例えば期待報酬1606、1608、1610等)のどれよりも高い報酬を将来の動作の少なくとも1つがもたらすことが予期される場合、予測される将来の状態に基づく動作及び期待報酬が現在の状態に対する候補動作の選択に影響を及ぼす場合がある。幾つかの場合、現在のナビゲーション状態に対する候補動作を選択するためのガイドとして、(例えば検知される現在の状態に対する候補動作に関連する期待報酬の中の、並びに候補となる将来のナビゲーション状態に対する候補となる将来の動作の選択肢に関連する期待報酬の中の)最も高い期待報酬をもたらす将来の動作の選択肢を使用することができる。つまり最も高い期待報酬(又は所定の閾値等を上回る報酬)をもたらす将来の動作の選択肢を識別した後、最も高い期待報酬をもたらす識別済みの将来の動作に関連する将来の状態につながる候補動作をステップ1625で選択することができる。
[0331] 他の事例では、期待報酬間の算出される差に基づいて使用可能な動作の選択を行うことができる。例えば、ステップ1621で決定される将来の動作に関連する期待報酬と期待報酬1606との差が、期待報酬1608と期待報酬1606との差を上回る場合(+符号の差を想定する)、ステップ1607で決定される第2の候補動作を選択することができる。別の例では、ステップ1621で決定される将来の動作に関連する期待報酬とステップ1619で決定される将来の動作に関連する期待報酬との差が、期待報酬1608と期待報酬1606との差を上回る場合、ステップ1607で決定される第2の候補動作を選択することができる。
[0332] 現在のナビゲーション状態に対する候補動作の中から選択を行うための幾つかの例を説明してきた。但し、予測される将来の状態に及ぶ動作及び報酬の解析に基づく長期計画によって使用可能な動作を選択するために、他の任意の適切な比較技法又は基準を使用することができる。加えて、図16では長期計画解析において2つの層(例えば現在の状態に対する候補動作から生じる報酬を検討する第1の層、及び予測される将来の状態に応じた将来の動作の選択肢から生じる報酬を検討する第2の層)を示すが、更に多い層に基づく解析も可能であり得る。例えば長期計画解析を1つの層又は2つの層に基づかせるのではなく、現在のナビゲーション状態に応答して使用可能な候補動作の中から選択を行う際、解析の3つの層、4つの層、又は更に多くの層を使用することができる。
[0333] 検知したナビゲーション状態に応答して候補動作の中から選択を行った後、ステップ1627で、少なくとも1つのプロセッサが選択済みの候補ナビゲーション動作に応答してホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。ナビゲーションアクチュエータはホスト車両の少なくとも1つの側面を制御するための任意の適切な装置を含み得る。例えばナビゲーションアクチュエータは、ステアリングメカニズム、ブレーキ、又はアクセルのうちの少なくとも1つを含み得る。
[0334] 他者の推論される攻撃性に基づくナビゲーション
[0335] 運転の攻撃性のインジケータを決定するために、取得画像ストリームを解析することによって目標車両を監視することができる。本明細書では攻撃性は質的又は定量的なパラメータとして記載するが、他の特性、つまり感知される注意レベル(運転者の潜在的な欠陥、注意散漫-携帯電話や居眠り等)を使用してもよい。一部の事例では目標車両が防御的姿勢を有すると見なすことができ、一部の事例では目標車両がより攻撃的な姿勢を有すると見なすことができる。攻撃性のインジケータに基づいてナビゲーション動作を選択し、又は生成することができる。例えば幾つかの場合、ホスト車両に対する相対速度、相対加速度、相対加速度の増加、追走距離等を追跡して、目標車両が攻撃的か防御的かを判定することができる。目標車両が閾値を上回る攻撃度のレベルを有すると判定される場合、例えばホスト車両は目標車両に道を譲ることに傾き得る。経路内の又は目標車両付近の1つ又は複数の障害物(例えば先行車両、道路内の障害物、交通信号灯等)に対する目標車両の決定済みの挙動に基づき、目標車両の攻撃度のレベルを識別することもできる。
[0336] この概念への導入として、環状交差路内にホスト車両が合流することに関する実験の一例を説明し、ここでは、ナビゲーション目標は環状交差路を通過して出ていくことである。この状況はホスト車両が環状交差路の入り口に到達することで始まることができ、環状交差路の出口(例えば第2の出口)に到達することで終わり得る。成功は、ホスト車両が他の全ての車両と常に安全な距離を保つかどうか、ホスト車両ができるだけ素早くルートを終了するかどうか、及びホスト車両がスムーズな加速のポリシに従うかどうかに基づいて測定することができる。この解説では、NT台の目標車両が環状交差路上に無作為に配置され得る。敵対的な挙動及び典型的な挙動の混同をモデリングするために、確率pで目標車両を「攻撃的な」運転ポリシによってモデリングすることができ、そのためホスト車両が目標車両の前に合流しようと試みるとき攻撃的な目標車両は加速する。確率1-pで目標車両を「防御的な」運転ポリシによってモデリングすることができ、そのため目標車両は減速し、ホスト車両を合流させる。この実験ではp=0.5であり、他の運転者のタイプに関する情報がホスト車両のナビゲーションシステムに与えられなくてもよい。他の運転者のタイプはエピソードの開始時に無作為に選択され得る。
[0337] ナビゲーション状態は、ホスト車両(エージェント)の速度及び位置、並びに目標車両の位置、速度、及び加速度として表すことができる。現在の状態に基づいて攻撃的な運転者と防御的な運転者とを区別するには、目標の加速度を観測し続けることが重要であり得る。全ての目標車両が環状交差路の経路の輪郭を描く1次元曲線上を移動し得る。ホスト車両は合流点において目標車両の曲線と交差する独自の1次元曲線上を移動することができ、この点が両方の曲線の原点である。妥当な運転をモデリングするために、全ての車両の加速度の絶対値に定数によって上限を設けることができる。逆方向に運転することは許可されていないので、速度もReLUを通過させることができる。逆方向に運転するのを許可しないことにより、エージェントは自らの過去の動作を悔いることはできないので、長期計画が必要になり得ることに留意されたい。
[0338] 上記で説明したように、次の状態s
t+1は予測可能な部分
と予測不能な部分v
tとの和に分解することができる。表現
は(可微分なやり方で明確に定めることができる)車両の位置及び速度のダイナミクスを表し得る一方、v
tは目標車両の加速度を表し得る。
はアフィン変換上のReLU関数の組み合わせとして表すことができると立証することができ、従ってs
t及びα
tに関して可微分である。ベクトルv
tは微分できないやり方でシミュレータによって定められてもよく、一部の目標の攻撃的挙動及び他の目標の防御的挙動を実装し得る。かかるシミュレータからの2つのフレームを図17A及び図17Bに示す。この実験例では、環状交差路の入り口に到達したとき、ホスト車両1701が減速することを学習した。ホスト車両1701は、攻撃的な車両(例えば車両1703及び車両1705)に道を譲り、防御的な車両(例えば車両1706、1708、及び1710)の前に合流するとき安全に進むことも学習した。図17A及び図17Bによって示す例では、ホスト車両1701のナビゲーションシステムに目標車両のタイプが与えられていない。むしろ、特定の車両が攻撃的と判定されるのか防御的と判定されるのかは、例えば目標車両の観測される位置及び加速度に基づく推論によって決定される。図17Aでは、位置、速度、及び/又は相対加速度に基づき、ホスト車両1701は、車両1703が攻撃的な傾向を有すると判定することができ、従ってホスト車両1701は目標車両1703の前に合流しようと試みるのではなく、停止して目標車両1703が通過するのを待つことができる。しかし図17Bでは、車両1703の後ろを移動している目標車両1710が防御的な傾向を示すことを(ここでも車両1710の観測される位置、速度、及び/又は相対加速度に基づいて)目標車両1701が認識し、従って目標車両1710の前且つ目標車両1703の後ろへの成功裏の合流を完了している。
[0339] 図18は、他の車両の予測される攻撃性に基づいてホスト車両をナビゲートするためのアルゴリズムの一例を表すフローチャートを示す。図18の例では、目標車両の環境内の対象に対する、目標車両の観測される挙動に基づき、少なくとも1台の目標車両に関連する攻撃性のレベルを推論することができる。例えばステップ1801で、ホスト車両のナビゲーションシステムの少なくとも1つの処理装置(例えば処理装置110)が、ホスト車両の環境を表す複数の画像をホスト車両に関連するカメラから受信することができる。ステップ1803で、受信画像の1つ又は複数を解析することが、ホスト車両1701の環境内の目標車両(例えば車両1703)を、少なくとも1つのプロセッサが識別することを可能にし得る。ステップ1805で、受信画像の少なくとも1つを解析することが、目標車両にとっての少なくとも1つの障害物を、少なくとも1つの処理装置がホスト車両の環境内で識別することを可能にし得る。対象は道路内の瓦礫、停止信号/交通信号灯、歩行者、別の車両(例えば目標車両の前を移動している車両や駐車車両等)、道路内の箱、道路障壁、カーブ、又はホスト車両の環境内で遭遇され得る他の任意のタイプの物体を含み得る。ステップ1807で、受信画像の1つ又は複数を解析することが、目標車両にとっての少なくとも1つの識別済みの障害物に対する、目標車両の少なくとも1つのナビゲーション特性を、少なくとも1つの処理装置が決定することを可能にし得る。
[0340] 目標車両に対する適切なナビゲーション応答を生成するために、様々なナビゲーション特性を使用して検出済みの目標車両の攻撃性のレベルを推論することができる。例えばかかるナビゲーション特性は、目標車両と少なくとも1つの識別済みの障害物との間の相対加速度、目標車両の障害物からの距離(例えば別の車両の後ろにある目標車両の追走距離)、目標車両と障害物との間の相対速度等を含み得る。
[0341] 幾つかの実施形態では、ホスト車両に関連するセンサ(例えばレーダ、速度センサ、GPS等)からの出力に基づいて、目標車両のナビゲーション特性を決定することができる。しかし幾つかの場合、ホスト車両の環境の画像を解析することに部分的に又は完全に基づいて目標車両のナビゲーション特性を決定することができる。例えば上記の及び参照により本明細書に援用する米国特許第9,168,868号の中で記載されている画像解析技法を使用して、ホスト車両の環境内の目標車両を認識することができる。ある期間にわたる捕捉画像内の目標車両の位置を監視すること、及び/又は目標車両に関連する1つ若しくは複数の特徴(例えばテールライト、ヘッドライト、バンパー、車輪等)の捕捉画像内の位置を監視することは、目標車両とホスト車両との間の又は目標車両とホスト車両の環境内の1つ又は複数の他の対象との間の、相対的な距離、速度、及び/又は加速度を求めることを可能にし得る。
[0342] 識別済みの目標車両の攻撃性のレベルは、目標車両の任意の適切な観測済みのナビゲーション特性又は観測済みのナビゲーション特性の任意の組み合わせから、推論することができる。例えば攻撃性の判定は、観測される任意の特性及び1つ又は複数の所定の閾値レベル又は他の任意の適切な質的若しくは定量的な解析に基づいて行うことができる。幾つかの実施形態では、目標車両が所定の攻撃的な距離の閾値未満の距離でホスト車両又は別の車両を追走することが観測される場合、その目標車両を攻撃的と見なすことができる。他方で、所定の攻撃的な距離の閾値を超える距離でホスト車両又は別の車両を追走することが観測される目標車両は、防御的と見なすことができる。所定の攻撃的な距離の閾値は、所定の防御的な距離の閾値と同じである必要はない。加えて、所定の攻撃的な距離の閾値及び所定の防御的な距離の閾値のいずれか又は両方は、明白な境界値ではなく、値域を含み得る。更に、所定の攻撃的な距離の閾値も所定の防御的な距離の閾値も固定される必要はない。むしろ、これらの値又は範囲は時間と共にシフトする場合があり、目標車両の観測される特性に基づいて様々な閾値/範囲閾値を適用することができる。例えば、適用される閾値は、目標車両の1つ又は複数の他の特性に依存し得る。観測されるより高い相対速度及び/又は加速度は、より大きい閾値/閾値範囲の適用を正当化し得る。逆に、ゼロの相対速度及び/又は加速度を含むより低い相対速度及び/又は加速度は、攻撃的/防御的の推論を行う際に、より小さい距離閾値/閾値範囲の適用を正当化し得る。
[0343] 攻撃的/防御的の推論は、相対速度及び/又は相対加速度の閾値にも基づき得る。目標車両は、別の車両に対するその観測される相対速度及び/又はその相対加速度が所定のレベル又は範囲を上回る場合、攻撃的と見なすことができる。目標車両は、別の車両に対するその観測される相対速度及び/又はその相対加速度が所定のレベル又は範囲を下回る場合、防御的と見なすことができる。
[0344] 攻撃的/防御的の判定は、観測される任意のナビゲーション特性だけに基づいて行われてもよいが、この判定は、観測される特性の任意の組み合わせに依存することもできる。例えば上記で述べたように、幾つかの場合、一定の閾値又は範囲未満の距離で別の車両を追走することが観測されることだけに基づいて目標車両を攻撃的と見なすことができる。しかし他の事例では、所定量(判定が距離だけに基づく場合に適用される閾値と同じでも異なってもよい)未満で別の車両を追走し且つ所定の量又は範囲を上回る相対速度及び/又は相対加速度を有する場合、ホスト車両を攻撃的と見なすことができる。同様に、一定の閾値又は範囲を超える距離で別の車両を追走することが観測されることだけに基づいて目標車両を防御的と見なすことができる。しかし他の事例では、所定量(判定が距離だけに基づく場合に適用される閾値と同じでも異なってもよい)を超えて別の車両を追走し且つ所定の量又は範囲未満の相対速度及び/又は相対加速度を有する場合、ホスト車両を防御的と見なすことができる。システム100は、例えば車両が0.5Gの加速度又は減速度を超える場合(例えばジャーク5m/s3)、車両が車線変更又はカーブ上で0.5Gの横加速度を有する場合、車両が上記のいずれかを別の車両に行わせる場合、車両が車線変更し、0.3Gの減速度又は3m/s3のジャークを超えて別の車両に道を譲らせる場合、及び/又は車両が停止することなしに2車線変更する場合、攻撃的/防御的を判断することができる。
[0345] ある範囲を上回る量に言及することは、その量が範囲に関連する全ての値を上回ること又は範囲に含まれることを示し得ることを理解すべきである。同様に、ある範囲を下回る量に言及することは、その量が範囲に関連する全ての値を下回ること又は範囲に含まれることを示し得る。加えて、攻撃的/防御的の推論を行うことについて記載した例は距離、相対加速度、及び相対速度に関して説明したが、他の任意の適切な量を使用してもよい。例えば、計算し得る衝突までの時間、又は目標車両の距離、加速度、及び/又は速度の任意の間接的なインジケータを使用することができる。上記の例は他の車両に対する目標車両に焦点を当てるが、攻撃的/防御的の推論は、他の任意のタイプの障害物(例えば歩行者、道路障壁、交通信号灯、瓦礫等)に対する目標車両のナビゲーション特性を観測することで行ってもよいことにも留意すべきである。
[0346] 図17A及び図17Bに示す例に戻り、ホスト車両1701が環状交差路に近づくと、自らの少なくとも1つの処理装置を含むナビゲーションシステムが、ホスト車両に関連するカメラから画像ストリームを受信することができる。受信画像の1つ又は複数を解析することに基づき、目標車両1703、1705、1706、1708、及び1710のいずれかを識別することができる。更に、ナビゲーションシステムは、識別済みの目標車両の1台又は複数台のナビゲーション特性を解析することができる。ナビゲーションシステムは、目標車両1703と1705との間の間隙が環状交差路内への潜在的合流の第1の機会を表すと認識することができる。ナビゲーションシステムは目標車両1703を解析して、目標車両1703に関連する攻撃性のインジケータを明らかにすることができる。目標車両1703が攻撃的だと見なされる場合、ホスト車両のナビゲーションシステムは、車両1703の前に合流するのではなく、車両1703に道を譲ることに決めることができる。他方で、目標車両1703が防御的だと見なされる場合、ホスト車両のナビゲーションシステムは、車両1703の前で合流動作を完了しようと試みることができる。
[0347] ホスト車両1701が環状交差路に到達するとき、ナビゲーションシステムの少なくとも1つの処理装置が、捕捉画像を解析して目標車両1703に関連するナビゲーション特性を明らかにすることができる。例えば画像に基づき、ホスト車両1701が安全に入るのに十分な間隙を与える距離で、車両1703が車両1705を追走していると判定され得る。実際、攻撃的な距離の閾値を超える距離で車両1703が車両1705を追走していると判定される場合があり、従ってこの情報に基づいて、ホスト車両のナビゲーションシステムは、目標車両1703を防御的だと識別することに傾き得る。しかし一部の状況では、上記で論じたように攻撃的/防御的の判定を行う際に、目標車両の複数のナビゲーション特性を解析することができる。解析を拡大し、ホスト車両のナビゲーションシステムは、目標車両1703が目標車両1705の後ろに攻撃的ではない距離で続いているが、車両1703が攻撃的挙動に関連する1つ又は複数の閾値を上回る相対速度及び/又は相対加速度を車両1705に対して有すると判定することができる。実際、ホスト車両1701は、目標車両1703が車両1705に対して加速しており、車両1703と1705との間にある間隙を狭めていると判定することができる。相対的な速度、加速度、及び距離(更には車両1703と1705との間の間隙が狭まっている速度)を更に解析することに基づき、ホスト車両1701は、目標車両1703が攻撃的に振る舞っていると判定することができる。従ってホスト車両が安全にナビゲートできる十分な間隙はあり得るが、ホスト車両1701は、目標車両1703の前に合流することがホスト車両の真後ろで攻撃的にナビゲートする車両をもたらすことになると予期することができる。更に、ホスト車両1701が車両1703の前に合流した場合、画像解析又は他のセンサ出力によって観測される挙動に基づき、目標車両1703がホスト車両1701に向かって加速し続けること、又は非ゼロ相対速度でホスト車両1701に向かって進むことが予期され得る。そのような状況は安全性の観点から望ましくない場合があり、ホスト車両の乗客の不快感も招き得る。そのような理由から、図17Bに示すようにホスト車両1701は車両1703に道を譲り、車両1703の後ろ、且つそのナビゲーション特性の1つ又は複数を解析することに基づいて防御的と見なされる車両1710の前で、環状交差路内に合流することに決めることができる。
[0348] 図18に戻り、ステップ1809で、ホスト車両のナビゲーションシステムの少なくとも1つの処理装置が、識別済みの障害物に対する目標車両の少なくとも1つの識別済みのナビゲーション特性に基づいて、ホスト車両用のナビゲーション動作(例えば車両1710の前且つ車両1703の後ろに合流すること)を決定することができる。ナビゲーション動作を(ステップ1811)で実施するために、少なくとも1つの処理装置は、決定したナビゲーション動作に応答してホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。例えば図17Aにおいて車両1703に道を譲るためにブレーキをかけることができ、図17Bに示すように車両1703の後ろでホスト車両が環状交差路に入れるようにするために、ホスト車両の車輪のステアリングと共にアクセルを踏むことができる。
[0349] 上記の例の中で説明したように、ホスト車両のナビゲーションは、別の車両又は対象に対する目標車両のナビゲーション特性に基づくことができる。加えて、ホスト車両のナビゲーションは、別の車両又は対象を具体的に参照することなしに、目標車両のナビゲーション特性だけに基づいてもよい。例えば図18のステップ1807で、ホスト車両の環境から捕捉される複数の画像を解析することが、目標車両に関連する攻撃性のレベルを示す識別済みの目標車両の少なくとも1つのナビゲーション特性を決定することを可能にし得る。ナビゲーション特性は、攻撃的/防御的の判定を行うために、別の対象又は目標車両に対して参照する必要がない速度や加速度等を含み得る。例えば、所定の閾値を超える又はある値域に含まれる若しくは値域を超える目標車両に関連する観測済みの加速度及び/又は速度は攻撃的な挙動を示し得る。逆に、所定の閾値を下回る又はある値域に含まれる若しくは値域を超える目標車両に関連する観測済みの加速度及び/又は速度は防御的な挙動を示し得る。
[0350] 当然ながら、一部の例では、攻撃的/防御的の判定を行うために、ホスト車両を基準として観測されるナビゲーション特性(例えば位置、距離、加速度等)を参照することができる。例えば、目標車両に関連する攻撃性のレベルを示す目標車両の観測されるナビゲーション特性は、目標車両とホスト車両との間の相対加速度の増加、ホスト車両の後ろの目標車両の追走距離、目標車両とホスト車両との間の相対速度等を含み得る。
[0351] 不確実性を検知しながらのナビゲーション
[0352] 上記で説明したように、本開示の実施形態は、制約によって訓練されたシステムを使用することによって安全な自律車両ナビゲーションを提供することができ、それにより、訓練されたシステムによって選択される動作は適用可能な安全制約及び快適制約に対処できるようになっている。加えて幾つかの実施形態において、追加の安全層は、ホスト車両の環境内の特定の検知シーンに関与する(安全又は快適)制約により、訓練されたシステムの被選択動作を試験することを含み得る。
[0353] これらの実施形態は、センサのエラー及び/又は誤動作による不確実性に対処することもできる。エラー及び誤動作を減らすために、幾つかの実施形態において開示するシステム及び方法が複数のセンサを使用する場合がある。しかし、複数のセンサを使用することは、例えば(1)完全に矛盾する仮定(例えば車両があることをカメラが示すがLIDARは示さない場合、又は車線があることを地図データベースが示すがカメラは示さない場合)及び(2)対象の位置に関する不確実性(例えば車両が10メートル/秒で移動していることをカメラが示すのに対し、LIDARは車両が10.5メートル/秒で移動していることを示す場合)を含む新たな不確実性のソースを取り入れる可能性がある。最後に、例えばカメラが大木の向こう側を見ることができない場合又は2台の駐車車両の間を見ることができない場合、単一のセンサの実施形態も複数のセンサの実施形態も不感区域(遮蔽区域とも呼ぶ)による不確実性に悩まされることがある。
[0354] 従って本開示の実施形態は、安全制約及び快適制約を課すときに不確実性を検知することに対処し得るシステム及び方法を提供する。従って本明細書で示す技術的解決法は、複数のセンサを使用することによって引き起こされる不確実性を検知することに関する、及び車両ナビゲーションシステムを訓練するときの制約の安全性の要求に関する技術的問題を解決する。安全制約(ハード制約とも呼ぶ)は、自律ナビゲーションのための現存の技術的解決法におけるエラーを除去し得る。快適制約(願望とも呼ぶ)は、予防措置として又は1人若しくは複数の乗客により快適である及び/又は安全だと他の方法で感じさせる措置として、シーンを主観的に評価する人間が直観的に行うことに決め得る重大ではない操作を自律車両が行えるようにすることによってユーザエクスペリエンスを改善し得る。
[0355] 以下で論じる実施形態のいずれも、本開示に記載の通り、訓練されたシステム内に学習によって実装することができ、及び/又は訓練されたシステムの被選択動作のための追加の処理層として実装することができる。
[0356] 図19は、開示される例示的実施形態と一致する、不確実性を検知しながら運転するためのシステム1900のブロック図表現である。図1に関して上記で論じたシステム100と同様に、車両200はシステム1900を含み得る。システム1900は、特定の実装形態の要件に応じて様々なコンポーネントを含み得る。幾つかの実施形態において、システム1900は、アプリケーションプロセッサ1901a、画像プロセッサ1901b、及び/又は他の任意の適切な処理装置等の1つ又は複数のプロセッサと、GPS1903と、RADAR1905と、カメラ1907等の1つ又は複数の画像取得装置と、LIDAR1909と、地図データベース1911と、メモリ1913等の1つ又は複数のメモリと、無線トランシーバ1915とを含み得る。
[0357] 図1に関して上記で論じたシステム100と同様に、アプリケーションプロセッサ1901a及び画像プロセッサ1901bの両方は、様々なタイプのハードウェアベース処理装置を含んでもよい。例えば、アプリケーションプロセッサ1901a及び画像プロセッサ1901bのどちらか又は両方は、マイクロプロセッサ、プリプロセッサ(画像プリプロセッサ等)、グラフィックスプロセッサ、中央処理装置(CPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ、又はアプリケーションの走行並びに画像処理及び解析に適した任意の他のタイプの装置を含んでもよい。幾つかの実施形態において、アプリケーションプロセッサ1901a及び/又は画像プロセッサ1901bは、任意のタイプのシングル又はマルチコアプロセッサ、モバイル装置マイクロコントローラ、中央処理装置等を含んでもよい。例えば、Intel(登録商標)、AMD(登録商標)等のメーカから入手可能なプロセッサを含む様々な処理装置が用いられてもよく、且つ様々なアーキテクチャ(例えばx86プロセッサ、ARM(登録商標)等)を含んでもよい。幾つかの実施形態において、上記で説明したようにアプリケーションプロセッサ1901a及び/又は画像プロセッサ1901bは、Mobileye(登録商標)から入手可能なプロセッサチップのEyeQシリーズのいずれかを含んでもよい。図19は2つの別個の処理装置を表すが、より多数又は少数の処理装置が用いられてもよい。例えば、幾つかの実施形態において、単一の処理装置が、アプリケーションプロセッサ1901a及び画像プロセッサ1901bのタスクを達成するために用いられてもよい。他の実施形態において、これらのタスクは、2つを超える処理装置によって実行されてもよい。
[0358] GPS1903は、システム1900の少なくとも1つのコンポーネントに関連する位置を決定するのに適した任意のタイプの装置を含んでもよい。GPSとして示すが、WiFi位置特定システム(WPS)、磁気位置装置等の他の任意の位置決定装置がGPS装置に加えて又はその代わりに使用され得る。
[0359] RADAR1905は、電波を使用して目標対象の距離、角度、速度等を算出するのに適した任意のタイプの装置を含み得る。同様に、LIDAR1909は光波を使用して目標対象の距離、角度、速度等を算出するのに適した任意のタイプの装置を含み得る。
[0360] カメラ1907は、環境から少なくとも1つの画像を捕捉するのに適した任意のタイプの装置を含んでもよい。更に、図19では単一のカメラとして示すが、アプリケーションプロセッサ及び/又は画像プロセッサに入力するための画像を取得するために任意の数の画像捕捉装置が使用され得る。一部の実施形態は単一の画像捕捉装置しか含まない場合があるのに対し、他の実施形態は2つの、3つの、更には4つ以上の画像捕捉装置を含み得る。
[0361] GPS1903、RADAR1905、カメラ1907、及びLIDAR1909を含むものとして示すが、システム1900は更に多くの又は少ない検知装置を使用することができる。例えば幾つかの実施形態において、システム1900は、カメラ1907と対にされたGPS1903、LIDAR1909と対にされたカメラ1907等を使用することができる。他の実施形態では、マイクロホン、コンパス、風速計、速度計、加速度計等の追加のセンサ。
[0362] メモリ1913は、プロセッサ(例えばアプリケーションプロセッサ1901a及び/又は画像プロセッサ1901b)によって実行された場合にシステム1900の様々な態様の動作を制御し得るソフトウェア命令を含んでもよい。これらのメモリユニットは、様々なデータベース及び画像処理ソフトウェア、並びに例えばニューラルネットワーク又はディープニューラルネットワーク等の訓練されたシステムを含んでもよい。別の例では、メモリ1913が、以下に記載の図22の方法2200を実行するための命令を含み得る。メモリ1913は、ランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ、ディスクドライブ、光記憶装置、テープ記憶装置、リムーバブル記憶装置、及び/又は任意の他のタイプの記憶装置を含んでもよい。幾つかの実施形態において、メモリ1913は単一のメモリであり得る。他の実施形態ではメモリ1913が複数のメモリを含み得る。幾つかの実施形態において、メモリ1913は、アプリケーションプロセッサ1901a及び/又は画像プロセッサ1901bと別個であってもよい。他の実施形態において、メモリ1913はアプリケーションプロセッサ1901a及び/又は画像プロセッサ1901bに少なくとも部分的に統合されてもよい。
[0363] 地図データベース1911は、システム1900にとって有用な地図データを格納するための任意のタイプのデータベースを含んでもよい。幾つかの実施形態において、地図データベース1911は、道路、水使用施設、地勢、企業、関心のある地点、レストラン、ガソリンスタンド等を含む様々なアイテムの基準座標系内の位置に関係するデータを含んでもよい。地図データベース1911は、かかるアイテムの位置だけでなく、例えば格納された特徴のいずれかに関連する名前を含む、それらのアイテムに関係する記述子も格納してもよい。幾つかの事例において、地図データベース1911は、特定の道路特徴(例えば車線区分線)又はホスト車両の目標軌道の多項式表現を含む疎データモデルを格納してもよい。地図データベース1911は、目標軌道に対するホスト車両の既知の位置を決定し又は更新するために使用され得る、様々な認識済みのランドマークの格納された表現も含むことができる。ランドマークの表現は、数ある考えられる識別子の中で、ランドマークのタイプ、ランドマークの位置等のデータフィールドを含んでもよい。従って環境のセンサ情報(画像、RADAR信号、2つ以上の画像のLIDAR又はステレオ処理からの奥行き情報等)は、既知のランドマークに対する車両の現在位置を明らかにし、車両の位置を洗練させるために、GPS座標、車両の自己動作等の位置情報と一緒に処理されてもよい。この技術の或る側面は、本願の譲受人によって市場で販売されているREM(商標)として知られている位置特定技術に含まれる。
[0364] 地図データベース1911は、メモリ1913(及び/又はシステム1900の別のメモリ)上に少なくとも部分的に格納され得る。従って図19に示すように、アプリケーションプロセッサ1901a及び/又は画像プロセッサ1901bは例えばバスを介して地図データベース1911に直接アクセスすることができる。加えて又は或いは、地図データベース1911は、例えば1つ又は複数のコンピュータネットワーク上でアクセス可能な遠隔サーバ上に少なくとも部分的に格納され得る。従って図19に更に示すように、アプリケーションプロセッサ1901a及び/又は画像プロセッサ1901bは、無線トランシーバ1915を使用して1つ又は複数のコンピュータネットワーク上で地図データベース1911にアクセスすることができる。
[0365] 無線トランシーバ1915は、無線周波数、赤外周波数、磁界、又は電界の使用により、1つ又は複数のコンピュータネットワーク(例えばセルラ、インターネット等)へのエアインターフェース上で伝送をやり取りするように構成される1つ又は複数の装置を含んでもよい。無線トランシーバ1915は、データを伝送及び/又は受信するために任意の既知の規格(例えばWi-Fi(登録商標)、Bluetooth(登録商標)、Bluetooth Smart、802.15.4、ZigBee(登録商標)等)を用いてもよい。かかる伝送は、ホスト車両から離れて位置する1つ又は複数のサーバ、例えば地図データベース1911を格納する1つ又は複数のサーバまでの通信を含むことができる。かかる伝送は、(例えば地図データベース1911の一部を車両間で共有するために)ホスト車両とホスト車両の環境内の1台又は複数台の目標車両との間の(単方向又は双方向)通信も含むことができ、又は伝送側の車両の近くにある不特定の受け手へのブロードキャスト伝送さえも含み得る。
[0366] 図20は、開示される実施形態と一致する、1つ又は複数の操作を実行するための命令が格納され/プログラムされ得るメモリ140及び/又は150の例示的な機能ブロック図である。以下の内容はメモリ140に関するが、命令はシステム1900のメモリ140及び/又は150更にはメモリ1913内にさえ格納され得ることを当業者なら理解されよう。
[0367] 図20に示すように、メモリ140は、センサ出力モジュール2002、目標対象モジュール2004、運転条件モジュール2006、及びナビゲーション制約モジュール2006を格納し得る。開示する実施形態はメモリ140の或る特定の構成に限定されない。更に、アプリケーションプロセッサ180及び/又は画像プロセッサ190(又はメモリ1913ではアプリケーションプロセッサ1901a及び/又は画像プロセッサ1901b)は、メモリ140内に(又はメモリ1913内に)含まれるモジュール402~408のいずれかに格納される命令を実行することができる。以下の解説の中での処理ユニット110への言及は、アプリケーションプロセッサ180及び画像プロセッサ190(又はアプリケーションプロセッサ1901a及び/又は画像プロセッサ1901b)を個々に又は集合的に指し得ることを当業者なら理解されよう。従って、以下のプロセスのいずれかのステップは、1つ又は複数の処理装置によって実行され得る。
[0368] 一実施形態では、センサ出力モジュール2002は、処理ユニット110によって実行されるとき、ホスト車両上に搭載された1つ又は複数のセンサから出力を受信する命令(コンピュータビジョンソフトウェア等)を格納することができる。例えばセンサ出力モジュール2002は、ホスト車両上に搭載された第1のセンサから第1の出力を受信し、ホスト車両上に搭載された第2のセンサから第2の出力を受信することができる。幾つかの実施形態において、第1の出力はホスト車両の環境の第1の部分に関連することができる。例えば第1のセンサがカメラである場合、第1の部分はカメラの視野を含み得る。同様に、第1のセンサがRADAR又はLIDARである場合、第1の部分はRADAR又はLIDARの視野を含み得る。別の例では、第1のセンサが指向性のマイクロホンである場合、第1の部分は、ホスト車両からの方向がマイクロホンの方向と一致する(又はそれに近い)環境の一部を含み得る。
[0369] 加えて、第2の出力はホスト車両の環境の第2の部分に関連することができる。例えば第1のセンサと同様に第2のセンサがカメラである場合、第2の部分はカメラの視野を含み得る。同様に、第2のセンサがRADAR又はLIDARである場合、第2の部分はRADAR又はLIDARの視野を含み得る。別の例では、第2のセンサが指向性のマイクロホンである場合、第2の部分は、ホスト車両からの方向がマイクロホンの方向と一致する(又はそれに近い)環境の一部を含み得る。幾つかの実施形態において、第2の部分は第1の部分と少なくとも部分的に重複し得る。
[0370] 一実施形態では、目標対象モジュール2004は、処理ユニット110によって実行されるとき、第1の出力内の目標対象の表現を識別する命令(コンピュータビジョンソフトウェア等)を格納することができる。例えば目標対象モジュール2004は、目標対象の表現を識別するために上記のプロセス500Bの全て又は一部を実行することができる。
[0371] 一例では、目標対象モジュール2004は、第1の出力を走査及び/又は解析し、第1の出力を1つ又は複数の所定のパターンと比較し、関心のある対象(例えば車両、歩行者、静止対象、車線区分線等)を含み得るあり得る位置を第1の出力内で識別することにより、目標対象(例えば車両、歩行者、静止対象、車線区分線等)を表す候補対象セットを決定することができる。所定のパターンは、第1のセンサからの出力のタイプと一致し得る。例えば第1のセンサがカメラである場合は所定のパターンが視覚的であり得るのに対し、第1のセンサがマイクロホンである場合は所定のパターンが聴覚的であり得る。幾つかの実施形態において、所定のパターンは高い「偽ヒット」率及び低い「見落とし」率を達成するように構成され得る。例えば目標対象モジュール2004は、可能性がある目標対象として候補対象を識別するために、1つ又は複数の所定のパターンに対する低い類似性閾値を使用して、目標対象を表す候補対象を見落とす(例えば識別しない)可能性を減らすことができる。
[0372] 目標対象モジュール2004は、分類基準に基づいて一定の候補(例えば無関係な又はそれほど関係のない対象)を除外するために、候補対象セットを更にフィルタリングしてもよい。かかる基準はデータベース、例えばメモリ140内に格納されるデータベース(不図示)及び/又は1つ若しくは複数の遠隔サーバからアクセスされるデータベース内に格納される対象のタイプに関連する様々な特性から導き出されてもよい。特性は、対象の形状、寸法、テクスチャ、(例えばホスト車両に対する)位置、(例えばホスト車両に対する)速度、(例えば平均、瞬間、絶対、又は相対、及び様々な軸における)加速度等を含んでもよい。従って目標対象モジュール2004は、候補対象セット内の誤った候補を拒否するために1つ又は複数の基準セットを用いてもよい。
[0373] 第1の出力が或る期間にわたる複数のフレームを含む実施形態では、目標対象モジュール2004は、第1の出力の複数のフレームを解析して、候補対象セット内の対象が1つ又は複数の目標対象を表すかどうかを判定することもできる。例えば目標対象モジュール2004は、連続したフレームにわたる検出済みの候補対象を追跡し、検出済みの対象に関連するフレームごとのデータ(例えばサイズ、ホスト車両に対する位置、ホスト車両に対する速度等)を蓄積することができる。加えて又は或いは、目標対象モジュール2004は、検出済みの対象に関するパラメータを推定し、対象のフレームごとの位置データを予測位置と比較することができる。「フレーム」の使用は第1の出力が画像でなければならないことを含意しないが、そうであってもよい。本明細書で使用するとき、「フレーム」は第1のセンサ、第2のセンサ、又は任意の追加のセンサから受信される、時間を通じた測定値の任意の離散化シーケンスを指す。
[0374] 目標対象モジュール2004は、検出された対象用の測定値セットを更に構成してもよい。かかる測定値は、例えば検出された対象に関連する(例えばホスト車両に対する)位置、速度、及び加速度値を含んでもよい。幾つかの実施形態において、目標対象モジュール2004は、カルマンフィルタ又は線形二次推定(LQE)等の一連の時間ベースの観察を用いる推定技術に基づいて、及び/又は相異なる対象タイプ(例えば乗用車、トラック、歩行者、自転車、道路標識等)用の利用可能なモデリングデータに基づいて、測定値を構成してもよい。カルマンフィルタは、対象のスケールの測定に基づいてもよく、スケール測定は、衝突するまでの時間(例えばホスト車両が対象に達する時間量)に比例する。
[0375] 第1の出力が或る期間にわたる複数のフレームを含む実施形態では、目標対象モジュール2004は、1つ又は複数の画像のオプティカルフロー解析を実行して「偽ヒット」を検出し、車両又は歩行者を表す候補対象を見逃す確率を下げることができる。オプティカルフロー解析は、例えば他の車両及び歩行者に関連する1つ又は複数の画像において、車両200に対する、且つ路面の動作とは異なる動作パターンを解析することを指してもよい。処理ユニット110は、複数の画像フレームにわたって対象の相異なる位置を観察することによって候補対象の動作を計算してもよく、複数の画像フレームは、相異なる時刻に捕捉される。処理ユニット110は、候補対象の動作を計算するための数学モデルへの入力として、位置及び時間値を用いてもよい。従って、オプティカルフロー解析は、車両200のすぐ近くの車両及び歩行者を検出する別の方法を提供し得る。処理ユニット110は、車両及び歩行者を検出するための冗長性を提供し、且つシステム100の信頼性を向上させるために、ステップ540~546と組み合わせてオプティカルフロー解析を実行してもよい。
[0376] 加えて又は或いは、目標対象モジュール2004は、目標対象の表現を識別するために上記のプロセス500Cの全て又は一部を実行することができる。
[0377] 目標対象モジュール2004が訓練されたシステムの被選択動作のための追加の処理層として実装される実施形態では、目標対象モジュール2004は、訓練されたシステムから目標対象の識別子を受信し得る。従って、目標対象モジュール2004は、第1の出力を走査し、その第1の出力を、訓練されたシステムから受信される目標対象と一致するパターンと比較し、目標対象の位置を第1の出力内で識別することができる。例えば目標対象モジュール2004は、訓練されたネットワークから別の車両の識別子を受信し、データベース(例えばメモリ140内に格納されるデータベース(不図示)及び/又は1つ若しくは複数の遠隔サーバからアクセスされるデータベース)内に格納され、車両のパターンとして索引付けされるだけでなく第1の出力のタイプと一致する(例えば視覚的、聴覚的、熱的等)パターンを抽出し、第1の出力を抽出したパターンと比較することによって、他の車両の位置を第1の出力内で識別することができる。
[0378] 或いは、目標対象モジュール2004が訓練されたシステムの被選択動作のための追加の処理層として実装される実施形態では、目標対象モジュール2004は、訓練されたシステムから目標対象の識別子並びに目標対象の位置を受信し得る。受信される位置が第1の出力内にある場合、目標対象モジュール2004は、受信した位置において及び/又はその近くで分類を(例えば上記の比較を使用して)行って、第1の出力内の目標対象を識別することができる。受信される位置が(例えば別のセンサからの)別の出力内にある場合、目標対象モジュール2004は、データベース(例えばメモリ140内に格納されるデータベース(不図示)及び/又は1つ若しくは複数の遠隔サーバからアクセスされるデータベース)内に格納され、目標対象(例えば車両、歩行者、静止対象等)と一致する対象のタイプのパターンとして索引付けされるだけでなく第1の出力のタイプと一致する(例えば視覚的、聴覚的、熱的等)パターンを抽出し、第1の出力を抽出したパターンと比較することによって、目標対象の位置を第1の出力内で識別することができる。この比較に加えて又はその代わりに、目標対象モジュール2004は、訓練されたシステムによって使用される出力上の位置を第1の出力上の位置にマッピングする情報を含むアトラスを構成し得る。それに基づき目標対象モジュール2004は、訓練されたシステムによって使用される出力内の目標対象の表現の位置に基づいて、第1の出力内の目標対象の表現が予期される位置を決定し、目標対象の位置を第1の出力内で識別するために(例えば上記の比較を使用して)分類を行うことができる。
[0379] 目標対象モジュール2004は、目標対象の表現が第2の出力内に含まれているかどうかを更に判定することができる。例えば目標対象モジュール2004は、第2の出力内の目標対象の表現を識別するために、第1の出力に関して上記で説明したプロセス500B及び/又はプロセス500Cの全て又は一部を実行することができる。或いは目標対象モジュール2004は、第1の出力からの目標対象の識別子を使用して第2の出力を走査し、第1の出力内で識別される目標対象と一致するパターンと第2の出力を比較し、第2の出力が目標対象の表現を含むかどうかを判定することができる。例えば目標対象モジュール2004は、第1の出力内の歩行者を識別し、データベース(例えばメモリ140内に格納されるデータベース(不図示)及び/又は1つ若しくは複数の遠隔サーバからアクセスされるデータベース)内に格納され、歩行者のパターンとして索引付けされるだけでなく第2の出力のタイプと一致する(例えば視覚的、聴覚的、熱的等)パターンを抽出し、第2の出力を抽出したパターンと比較することによって、歩行者の位置を第2の出力内で識別することができる。この比較に加えて又はその代わりに、目標対象モジュール2004は、第1の出力上の位置を第2の出力上の位置にマッピングする情報を含むアトラスを構成し得る。それに基づき目標対象モジュール2004は、第1の出力内の目標対象の表現の位置に基づいて、第2の出力内の目標対象の表現が予期される位置を決定し、目標対象の表現が第2の出力内に含まれるかどうかを判定するために(例えば上記の比較を使用して)分類を行うことができる。
[0380] 一実施形態では、運転条件モジュール2006は、目標対象に関連する検出運転条件を第1の出力又は第2の出力の少なくとも1つに基づいて決定するように構成されるソフトウェア命令を格納し得る。例えば検出運転条件は、検出される対象を含み得る。かかる例では、検出運転条件は、検出される対象までの距離、目標対象の(ホスト車両に対する)速度、検出される対象と衝突するまでの時間等であり得る。検出される対象は目標対象と同じであり得る。或いは、検出される対象は異なってもよい。例えば目標対象が車両である場合、検出運転条件は、車両のトランクから突き出ている対象までの距離、当該対象の速度、当該対象と衝突するまでの時間等であり得る。
[0381] 別の例では、検出運転条件は、検出される車両を含み得る。かかる例では、検出運転条件は、検出される車両までの距離、検出される車両の(ホスト車両に対する)速度、検出される車両と衝突するまでの時間等であり得る。検出される車両は目標対象と同じであり得る。或いは、検出される車両は異なってもよい。例えば目標対象が道路内の静止対象である場合、検出運転条件は、静止対象を避けることが予期される車両までの距離、当該車両の速度、当該車両と衝突するまでの時間等であり得る。
[0382] 第3の例では、検出運転条件は、検出される歩行者を含み得る。かかる例では、検出運転条件は、検出される歩行者までの距離、検出される歩行者の(ホスト車両に対する)速度、検出される歩行者と衝突するまでの時間等であり得る。検出される歩行者は目標対象と同じであり得る。或いは、検出される歩行者は異なってもよい。例えば目標対象が犬である場合、検出運転条件は、犬を散歩させている歩行者までの距離、当該歩行者の速度、当該歩行者と衝突するまでの時間等であり得る。
[0383] 第4の例では、検出運転条件は、検出される道路の車線を含み得る。かかる例では、検出運転条件は、検出される車線までの距離等であり得る。検出される車線は目標対象と同じであり得る(又は目標対象が車線区分線である場合は目標対象によって線引きされ得る)。或いは、検出される車線は異なってもよい。例えば目標対象が車両である場合、検出運転条件は、車両が走行している車線までの距離等であり得る。
[0384] 第5の例では、検出運転条件は、検出される遮蔽区域を含み得る。かかる例では、検出運転条件は、検出される区域までの距離等であり得る。検出される区域は目標対象と同じであり得る。或いは、検出される区域は異なってもよい。例えば目標対象が別の車両である場合、検出運転条件は、他の車両によって作り出される遮蔽区域のサイズ、当該区域までの距離等であり得る。
[0385] 一実施形態では、ナビゲーション制約モジュール2008は、検出運転条件が少なくとも1つのナビゲーション制約をトリガするかどうかを判定するために処理ユニット110によって実行可能なソフトウェア命令を格納し得る。上記で説明したように、検出運転条件は、ハード(例えば安全)制約又はソフト(例えば快適)制約をトリガし得る。
[0386] 上記の例は排他的な一覧ではなく、検出運転条件の更なる例は、交通標識、交通信号灯、道路標識、路面標識等の追加の又は他の対象を含み得る。
[0387] ナビゲーション制約モジュール2008は、ナビゲーション調節のための決定木を実装するために運転条件モジュール2006の出力を更に使用することができる。ナビゲーション調節は、第1のセンサ、第2のセンサ、他の任意のセンサ、地図データから導き出されるデータ、並びに第1の出力、第2の出力、及び他の任意の出力から検出される1つ又は複数の対象に基づき得る。ナビゲーション制約モジュール2008は、車両200のスロットルシステム220、ブレーキシステム230、及び/又はステアリングシステム240等、車両200の他のシステムからの入力に基づいて所望のナビゲーション応答を決定することもできる。加えて又は或いは、ナビゲーション制約モジュール2008は、上記で論じたように他のメモリモジュール(不図示)から及び/又は訓練されたシステムから1つ又は複数のナビゲーション調節を受信することができる。従ってナビゲーション制約モジュール2008は、訓練されたシステムの被選択動作のための追加の処理層として実装され得る。
[0388] 少なくとも1つのナビゲーション制約が検出運転条件によってトリガされず、目標対象の表現が第1の出力及び第2の出力の両方に含まれる場合、ナビゲーション制約モジュール2008は、目標対象に応答してホスト車両の1つ又は複数のナビゲーションアクチュエータに対する少なくとも第1の調節を引き起こすことができる。第1の調節を引き起こすために、ナビゲーション制約モジュール2008は、車両200のスロットルシステム220、ブレーキシステム230、及び/又はステアリングシステム240に電子信号を伝送して、例えば所定の角度の回転を達成するために車両200のステアリングホイールを回すことによって、所望のナビゲーション応答をトリガすることができる。
[0389] 他方で、少なくとも1つのナビゲーション制約が検出運転条件によってトリガされず、目標対象の表現が第1の出力内に含まれるが、目標対象の表現が第2の出力内には含まれない場合、ナビゲーション制約モジュール2008は、目標対象に応答してホスト車両の1つ又は複数のナビゲーションアクチュエータに対する任意の調節をなしで済ませることができる。
[0390] 最後に、少なくとも1つのナビゲーション制約が検出運転条件によってトリガされ、目標対象の表現が第1の出力又は第2の出力のいずれかに含まれる場合、ナビゲーション制約モジュール2008は、目標対象に応答してホスト車両の1つ又は複数のナビゲーションアクチュエータに対する少なくとも第2の調節を引き起こすことができる。第2の調節は第1の調節と異なり得る。例えば第2の調節は、静止車両との衝突を回避するために車線を移ること、歩行者との衝突を回避するためにブレーキをかけること、ガードレールを回避するためのステアリング等、ハード(安全)制約に基づく調節とすることができる。他方で第1の調節は、ぴったりつけて走行する車両がホスト車両の前に移動できるようにするために車線を移ること、歩行者が道路の方に体を傾けるが道路に足を踏み入れていないことに応じてブレーキをかけること、走行車線の中央により近くホスト車両を位置付けるためにステアリングすること等、ソフト(快適)制約に基づく調節とすることができる。第2の調節を引き起こすために、ナビゲーション制約モジュール2008は、車両200のスロットルシステム220、ブレーキシステム230、及び/又はステアリングシステム240に電子信号を伝送して、例えば所定の角度の回転を達成するために車両200のステアリングホイールを回すことによって、所望のナビゲーション応答をトリガすることができる。
[0391] 更に、本明細書で開示されるモジュール(例えばモジュール2002、2004、2006、及び2008)のいずれかは、訓練されたシステム(ニューラルネットワーク又はディープニューラルネットワーク等)又は訓練されていないシステムに関連する技術を実施してもよい。加えて又は或いは、本明細書で開示されるモジュール(例えばモジュール2002、2004、2006、及び2008)のいずれかは、訓練されたシステムの被選択動作のための追加の処理層として技術を実施することができる。
[0392] 図21Aは、目標対象としての車線区分線の図を示す。図21Aに示すように、ホスト車両2100は、目標対象として車線区分線2101aを検出し得る。図21Aでは破線として示すが、車線区分線2101aは実線又は二重線(二重の実線、破線を伴う実線)等でもよい。別の例では、ホスト車両2100が、目標対象として車線区分線2101bを検出することができる。図21Aでは実線として示すが、車線区分線2101bは、ガードレール、アスファルトと芝生との間の境、又は車線境界の別のインジケータであり得る。
[0393] 図21Bは、検出運転条件としての車線区分線までの距離の図を示す。図21Aと同様に、図21Bでは、ホスト車両2100が、目標対象として車線区分線2101cを検出している。従って図21Bの例では、車線区分線2101cに関連する検出運転条件として、ホスト車両2100と車線区分線2101cとの間の距離2103を算出することができる。図21Bには示していないが、車線区分線2101cに関連する他の検出運転条件は、ホスト車両2100と車線区分線2101cとの間の相対速度、車線区分線2101cと衝突するまでの時間等を含み得る。
[0394] 幾つかの実施形態において、車線区分線2101cに関連する検出運転条件が少なくとも1つのナビゲーション制約をトリガし得る。例えばナビゲーション制約は、車線区分線2101cまでの距離(最小距離等)、ホスト車両2100と車線区分線2101cとの間の相対速度(例えばゼロに近い最大相対速度等)、車線区分線2101cと衝突するまでの時間(衝突するまでの最短時間等)等に関連し得る。
[0395] 図21Cは、目標対象としての他の車両の図を示す。図21Cに示すように、ホスト車両2100は、ホスト車両2100の前の他の車両(車両2105等)、ホスト車両2100の後ろの他の車両(車両2107等)、及びホスト車両2100が走行している車線以外の車線内の他の車両(車両2109等)を目標対象として検出することができる。
[0396] 図21Dは、検出運転条件としての他の車両までの距離の図を示す。図21Dの例では、車両2105、2107、及び2109の1台又は複数台に関連する検出運転条件として、ホスト車両2100と他の車両2105との間の距離2111、ホスト車両2100と他の車両2109との間の距離2113、及び/又はホスト車両2100と他の車両2107との間の距離2115を算出することができる。図21Dには示していないが、車両2105、2107、及び2109の1台又は複数台に関連する他の検出運転条件は、ホスト車両2100と車両2105、2107、及び2109の1台又は複数台との間の相対速度、車両2105、2107、及び2109の1台又は複数台と衝突するまでの時間等を含み得る。
[0397] 幾つかの実施形態において、車両2105、2107、及び2109の1台又は複数台に関連する検出運転条件が少なくとも1つのナビゲーション制約をトリガし得る。例えば、ナビゲーション制約は車両2105、2107、及び2109の1台又は複数台までの距離(最小距離等)、ホスト車両2100と車両2105、2107、及び2109の1台又は複数台との間の相対速度(例えばゼロに近い最大相対速度等)、車両2105、2107、及び2109の1台又は複数台と衝突するまでの時間(例えば反応して衝突を回避する車両の能力を表す一定閾値を上回る、衝突するまでの最短時間等)等に関連し得る。
[0398] 図21Eは、目標対象としての道路上の静止対象の図を示す。図21Eに示すように、ホスト車両2100は、自らが走行している道路上の静止対象2117を目標対象として検出し得る。
[0399] 図21Fは、検出運転条件としての道路上の静止対象までの距離の図を示す。図21Fの例では、静止対象2117に関連する検出運転条件として、ホスト車両2100と静止対象2117との間の距離2119を算出することができる。図21Fには示していないが、静止対象2117に関連する他の検出運転条件は、ホスト車両2100と静止対象2117との間の相対速度、静止対象2117と衝突するまでの時間等を含み得る。
[0400] 幾つかの実施形態において、静止対象2117に関連する検出運転条件が少なくとも1つのナビゲーション制約をトリガし得る。例えばナビゲーション制約は、静止対象2117までの距離(最小距離等)、ホスト車両2100と静止対象2117との間の相対速度(例えばゼロに近い最大相対速度等)、静止対象2117と衝突するまでの時間(衝突するまでの最短時間等)等に関連し得る。
[0401] 図21Gは、目標対象としての歩行者の図を示す。図21Gに示すように、ホスト車両2100は、目標対象として歩行者2121を検出することができる。
[0402] 図21Hは、検出運転条件としての歩行者までの距離の図を示す。図21Hの例では、歩行者2121に関連する検出運転条件として、ホスト車両2100と歩行者2121との間の距離2123を算出することができる。図21Hには示していないが、歩行者2121に関連する他の検出運転条件は、ホスト車両2100と歩行者2121との間の相対速度、歩行者2121と衝突するまでの時間等を含み得る。
[0403] 幾つかの実施形態において、歩行者2121に関連する検出運転条件が少なくとも1つのナビゲーション制約をトリガし得る。例えばナビゲーション制約は、歩行者2121までの距離(最小距離等)、ホスト車両2100と歩行者2121との間の相対速度(例えばゼロに近い最大相対速度等)、歩行者2121と衝突するまでの時間(衝突するまでの最短時間等)等に関連し得る。
[0404] 図21Iは、遮蔽区域に関連する目標対象の図を示す。図21Gに示すように、ホスト車両2100は、遮蔽区域2127を引き起こすものとして対象(例えば木2125)を検出し得る。遮蔽区域2127は、歩行者2129等の1つ又は複数の対象を含み得る。従って、遮蔽区域2127に関連する目標対象として、木2125が選択されてもよく、又は遮蔽区域2127に関連する目標対象として、歩行者2129が選択されてもよい。
[0405] 遮蔽区域2127内の対象は、ホスト車両2100の1つ又は複数のセンサにとっては可視だが、ホスト車両2100の1つ又は複数の他のセンサにとっては非可視であり得る。或いは、遮蔽区域2127内の対象はホスト車両2100の全てのセンサにとって非可視であり得る。
[0406] 図21Jは、検出運転条件としての遮蔽区域までの距離の図を示す。図21Jの例では、木2125及び/又は歩行者2129に関連する検出運転条件として、ホスト車両2100と遮蔽区域2127との間の距離2131を算出することができる。図21Jには示していないが、木2125及び/又は歩行者2129に関連する他の検出運転条件は、ホスト車両2100と歩行者2129との間の距離、ホスト車両2100と歩行者2129との間の相対速度、歩行者2129と衝突するまでの時間、遮蔽区域2127のサイズ、遮蔽区域2127を通過する時間等を含み得る。
[0407] 幾つかの実施形態において、木2125及び/又は歩行者2129に関連する検出運転条件が、少なくとも1つのナビゲーション制約をトリガし得る。例えばナビゲーション制約は、遮蔽区域2127までの距離(最小距離等)、歩行者2129までの距離(最小距離等)、ホスト車両2100と歩行者2129との間の相対速度(例えばゼロに近い最大相対速度等)、ホスト車両と、歩行者及び/又はホスト車両の推定動作(例えばことによると歩行者及び/又はホスト車両の推定動作方向を含む)に関連する衝突危険区域との間の相対速度、歩行者2129と衝突するまでの時間(例えばホスト車両を完全に停止させるのに必要な時間に対応する期間を上回る、衝突するまでの最短時間等)、遮蔽区域2127のサイズ(遮蔽区域2127のサイズに依存する最小距離及び/又は最大速度等)、遮蔽区域2127を通過する時間(通過する時間に依存する最大速度等)等に関連し得る。
[0408] 図22は、不確実性を検知しながら車両をナビゲートするためのアルゴリズム2200の一例を表すフローチャートを示す。図22の例では、少なくとも2つのセンサ(例えばシステム1900のGPS1903、RADAR1905、カメラ1907、及びLIDAR1909のうちの2つ)が入力に使用され得る。2つのセンサを使用して記載するが、任意の追加のセンサ(例えば3つ、4つ、5つ等)を方法2200に実装することができる。
[0409] ステップ2202で、ホスト車両のナビゲーションシステムの少なくとも1つの処理装置(例えば処理装置110)が、ホスト車両上に搭載された第1のセンサから第1の出力を受信することができる。センサ出力モジュール2002に関して上記で説明したように、第1の出力は、ホスト車両の環境の第1の部分に関連し得る。
[0410] ステップ2204で、少なくとも1つの処理装置は、ホスト車両上に搭載された第2のセンサから第2の出力を受信することができる。センサ出力モジュール2002に関して上記で説明したように、第2の出力は、ホスト車両の環境の第2の部分に関連することができ、第2の部分は第1の部分と少なくとも部分的に重複し得る。
[0411] 幾つかの実施形態において、第1のセンサがカメラを含み得る。カメラと組み合わせて、又は代替的実施形態では、第2のセンサがLIDAR、RADAR、又は全地球測位システム(GPS)センサを含み得る。サーモグラフィカメラ、マイクロホン等の他の任意のセンサが使用され得る。
[0412] ステップ2204に加えて又はその代わりに、少なくとも1つの処理装置は、ホスト車両上に搭載されたマッピングシステムから第2の出力を受信することができる。かかる実施形態では、第2の出力は、ホスト車両の環境の第2の部分に関連することができ、第2の部分は第1の部分と少なくとも部分的に重複し得る。かかる実施形態では、車両の環境の第2の部分に関連する少なくとも1つの地図を取得するために、データベース(例えばマッピングデータベース1911)にアクセスするように、マッピングシステムを構成することができる。図19に関して上記で説明したように、データベースの少なくとも一部がホスト車両内に含まれてもよい。加えて又は或いは、少なくとも1つのネットワークを介してデータベースの少なくとも一部に無線でアクセスするように、マッピングシステムを更に構成することができる。
[0413] ステップ2205で、少なくとも1つの処理装置が、第1の出力内の目標対象の表現を識別することができる。例えば目標対象モジュール2004に関して上記で説明したように、少なくとも1つの処理装置は、別の車両、道路上の静止対象を含む目標対象、歩行者を含む目標対象、車線区分線を含む目標対象、及び/又は遮蔽区域に関連する目標対象を含む目標対象を識別することができる。
[0414] ステップ2208で、少なくとも1つの処理装置は、目標対象の表現が第2の出力内に含まれているかどうかを判定することができる。例えば目標対象モジュール2004に関して上記で説明したように、少なくとも1つの処理装置は、分類を行うことによって及び/又は第1の出力内の目標対象の位置を第2の出力内の対応する位置にマッピングすることによって、第2の出力内の目標対象の位置を識別することができる。
[0415] ステップ2210a及び2210bで、少なくとも1つの処理装置は、第1の出力又は第2の出力のうちの少なくとも1つに基づき、目標対象に関連する検出運転条件を決定し、検出運転条件が少なくとも1つのナビゲーション制約をトリガするかどうかを判定することができる。例えば運転条件モジュール2006に関して上記で説明したように、少なくとも1つのプロセッサは、検出される対象を含む検出運転条件、検出される車両を含む検出運転条件、検出される歩行者を含む検出運転条件、検出される道路の車線を含む検出運転条件、及び/又は検出される遮蔽区域を含む検出運転条件を決定することができる。
[0416] 上記の例を含む幾つかの実施形態において、少なくとも1つのナビゲーション制約が、検出される対象までの距離、検出される歩行者までの距離、検出される遮蔽区域のサイズ、検出される遮蔽区域までの距離、ホスト車両と検出される対象との間の相対速度、及び/又は遮蔽区域のタイプに関連し得る。加えて又は或いは、少なくとも1つのナビゲーション制約は、所定の安全制約及び/又は検出される対象と衝突するまでの時間を含み得る。
[0417] 目標対象の表現が第2の出力内に含まれているかどうかを評価することと、その後に続く、検出運転条件が少なくとも1つのナビゲーション制約をトリガするかどうかを評価することとして示したが、少なくとも1つの処理装置は、これらの評価の順序を逆にしてもよい。そのように逆にすることは、以下で論じる同じ4つの評価の組み合わせ結果をもたらすが、あり得るショートカットも可能にし得る。例えばステップ2212に示すように、少なくとも1つの処理装置は、目標対象の表現が第2の出力内に含まれるかどうかに関係なく、少なくとも1つのナビゲーション制約が検出運転条件によってトリガされる場合は調節を引き起こすことができる。従って、評価の順序が逆にされた実施形態では、検出運転条件が少なくとも1つのナビゲーション制約をトリガすると判定される場合、少なくとも1つの処理装置は、目標対象の表現が第2の出力内に含まれるかどうかの評価を飛ばすことができる。
[0418] ステップ2212で、少なくとも1つのナビゲーション制約が検出運転条件によってトリガされ、目標対象の表現が第1の出力又は第2の出力のいずれかに含まれる場合、少なくとも1つの処理装置は、目標対象に応答してホスト車両の1つ又は複数のナビゲーションアクチュエータに対する少なくとも第2の調節を引き起こすことができる。
[0419] ステップ2214で、少なくとも1つのナビゲーション制約が検出運転条件によってトリガされず、目標対象の表現が第1の出力及び第2の出力の両方に含まれる場合、少なくとも1つの処理装置は、目標対象に応答してホスト車両の1つ又は複数のナビゲーションアクチュエータに対する少なくとも第1の調節を引き起こすことができる。ナビゲーション制約モジュール2008に関して上記で説明したように、第1の調節は第2の調節と異なり得る。
[0420] ステップ2216で、少なくとも1つのナビゲーション制約が検出運転条件によってトリガされず、目標対象の表現が第1の出力内に含まれるが、目標対象の表現が第2の出力内には含まれない場合、少なくとも1つの処理装置は、目標対象に応答してホスト車両の1つ又は複数のナビゲーションアクチュエータに対する任意の調節をなしで済ませることができる。
[0421] 方法2200は、追加のステップを更に含むことができる。例えば方法2200は、ホスト車両上に搭載された第3のセンサから第3の出力を受信することを更に含み得る。かかる実施形態では、方法2200は、少なくとも1つのナビゲーション制約が検出運転条件によってトリガされ、目標対象の表現が第1の出力、第2の出力、又は第3の出力内に含まれる場合は少なくとも第2の調節を引き起こすこと、少なくとも1つのナビゲーション制約が検出運転条件によってトリガされず、目標対象の表現が第1の出力、第2の出力、及び第3の出力内に含まれる場合は少なくとも第1の調節を引き起こすこと、少なくとも1つのナビゲーション制約が検出運転条件によってトリガされず、目標対象の表現が第1の出力、第2の出力、及び第3の出力のうちの2つだけに含まれる場合、第1の調節及び第2の調節と異なる少なくとも第3の調節を引き起こすこと、及び少なくとも1つのナビゲーション制約が検出運転条件によってトリガされず、目標対象の表現が第1の出力、第2の出力、及び第3の出力のうちの1つだけに含まれる場合は任意の調節をなしで済ませることを含み得る。他の改変形態が当業者によって考案され得る。例えば少なくとも1つの処理装置は、少なくとも1つのナビゲーション制約が検出運転条件によってトリガされず、目標対象の表現が第1の出力、第2の出力、及び第3の出力のうちの2つだけに含まれる場合、少なくとも第3の調節を引き起こすのではなく、任意の調節をなしで済ませることもできる。追加のセンサを更に組み込むことができ、追加のセンサに基づく更なる組み合わせの可能性に対処するために、決定木に対して更に多くの枝を追加できる。
[0422] 前述の説明は、実例のために提示された。それは、包括的ではなく、開示される形態又は実施形態に正確には限定されない。修正及び適応が、開示される実施形態の仕様及び実施を考察することから、当業者に明らかになろう。加えて、開示される実施形態の態様が、メモリに格納されるように示されているが、当業者は、これらの態様がまた、二次記憶装置、例えばハードディスク若しくはCD ROM、RAM若しくはROMの他の形式、USB媒体、DVD、Blu-ray(登録商標)、4K Ultra HD Blu-ray、又は他の光ドライブ媒体などの他のタイプのコンピュータ可読媒体上に格納できることを認識されよう。
[0423] 記載された説明及び開示される方法に基づいたコンピュータプログラムは、経験を積んだ開発者のスキル内にある。様々なプログラム又はプログラムモジュールが、当業者に周知の技術のいずれかを用いて作成され得るか、又は既存のソフトウェアに関連して設計され得る。例えば、プログラムセクション又はプログラムモジュールは、.Net Framework、.Net Compact Framework(及びVisual Basic、C等の関係言語)、Java(登録商標)、C++、Objective-C、HTML、HTML/AJAX組み合わせ、XML、又は同梱のJavaアプレットを備えたHTMLにおいて、又はそれらによって設計することができる。
[0424] 更に、実例となる実施形態が、本明細書で説明されたが、等価な要素、修正、省略、組み合わせ(例えば様々な実施形態にわたる態様の)、適応、及び/又は変更を有するいずれか且つ全ての実施形態の範囲は、本開示に基づいて当業者によって認識されるであろう。請求項における限定は、請求項で用いられる言語に基づいて広く解釈されるべきであり、本明細書で、又は出願の遂行中に説明される例に限定されるべきではない。例は、非排他的であると解釈されるべきである。更に、開示される方法のステップは、ステップを再配置すること、及び/又はステップを挿入若しくは削除することを含む任意の方法で修正されてもよい。従って、本明細書及び例が、実例としてのみ考えられることが意図されており、真の範囲及び趣旨は、以下の特許請求の範囲及びそれらの完全な範囲の均等物によって示される。