(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-17
(45)【発行日】2022-10-25
(54)【発明の名称】ホスト車両用のナビゲーションシステム
(51)【国際特許分類】
B60W 30/165 20200101AFI20221018BHJP
B60W 40/04 20060101ALI20221018BHJP
G08G 1/09 20060101ALI20221018BHJP
【FI】
B60W30/165
B60W40/04
G08G1/09 H
【外国語出願】
(21)【出願番号】P 2019173439
(22)【出願日】2019-09-24
(62)【分割の表示】P 2019536878の分割
【原出願日】2018-01-11
【審査請求日】2021-01-06
(32)【優先日】2017-01-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2017-08-16
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2017-09-29
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2017-11-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515168961
【氏名又は名称】モービルアイ ビジョン テクノロジーズ リミテッド
【住所又は居所原語表記】P.O.B. 45157,13 HARTOM STREET, HAR HOTZVIM, JERUSALEM, 9777513 ISRAEL
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】シャレブ-シュワルツ,シャイ
(72)【発明者】
【氏名】シャシュア,アムノン
(72)【発明者】
【氏名】シャマ,シェイクド
【審査官】二之湯 正俊
(56)【参考文献】
【文献】特開2016-126360(JP,A)
【文献】特開2017-132408(JP,A)
【文献】国際公開第2017/134876(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 30/00-60/00
(57)【特許請求の範囲】
【請求項1】
ホスト車両用のナビゲーションシステムであって、
前記ホスト車両の環境を表す複数の画像をカメラから受信すること、
前記複数の画像を解析して
、第1の目標車両が前記ホスト車両が走行している走行車線に隣接する走行車線内の第2の目標車両の後ろを走行しており、前記第1の目標車両及び前記第2の目標車両の少なくとも1つは前記ホスト車両の少なくとも1つの計画済みのナビゲーション動作に影響を及ぼす位置を有する場合に、前記ホスト車両の前記環境内の第1の目標車両及び第2の目標車両を識別するこ
と、
前記複数の画像を解析して前記第1の目標車両と前記第2の目標車両との間の距離を判定すること、
前記判定された距離に基づいて前記第1の目標車両及び前記第2の目標車両の1つに関連する境界に到達する時間を判定すること、
次のナビゲーション操作を行う前記ホスト車両の意図を前記第1の目標車両及び前記第2の目標車両の少なくとも1つに知らせるために前記ホスト車両の少なくとも1つのナビゲーション変更を前記判定した時間に基づいて引き起こすこと、
前記複数の画像を解析して前記ホスト車両の前記少なくとも1つのナビゲーション変更に応答して前記第1の目標車両及び前記第2の目標車両の前記少なくとも1つのナビゲーション状態の変化を検出すること、
前記第1の目標車両及び前記第2の目標車両の前記少なくとも1つの前記ナビゲーション状態の前記検出される変化に基づいて前記ホスト車両のナビゲーション動作を決定すること、及び
前記ホスト車両の前記決定されるナビゲーション動作に応答して前記ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすこと
を行うようにプログラムされる少なくとも1つの処理装置
を含む、
システム。
【請求項2】
前記ホスト車両の前記少なくとも1つのナビゲーション変更が、前記ホスト車両のブレーキをかけて前記ホスト車両を減速することを含む、請求項1に記載のシステム。
【請求項3】
前記ホスト車両の前記少なくとも1つのナビゲーション変更が、前記ホスト車両の速度を変えることを含む、請求項1または2に記載のシステム。
【請求項4】
前記ホスト車両の前記少なくとも1つのナビゲーション変更が、前記ホスト車両を走行車線内で横方向に動かすことを含む、請求項1から3の何れか一項に記載のシステム。
【請求項5】
前記ホスト車両の前記少なくとも1つのナビゲーション変更が、前記ホスト車両を前記目標車両の走行経路に向けて動かすことを含む、請求項1から4の何れか一項に記載のシステム。
【請求項6】
前記ホスト車両の前記少なくとも1つのナビゲーション変更が、前記第1の目標車両と前記第2の目標車両との間の間隙に移動することを含む、請求項1から5の何れか一項に記載のシステム。
【請求項7】
前記移動の早さは、前記判定した時間に基づいて決定される、請求項6に記載のシステム。
【請求項8】
前記判定される時間は第1の閾値を上回り第2の閾値は上回らず、前記第2の閾値は前記第1の閾値よりも大きい、請求項1から7の何れか一項に記載のシステム。
【請求項9】
前記境界は、(i)前記第1の目標車両又は前記第2の目標車両に関連する境界ボックスの境界、及び、(ii)前記第1の目標車両又は前記第2の目標車両からの予め定められた距離あるいは前記第1の目標車両又は前記第2の目標車両に関連する境界ボックスからの予め定められた距離、の少なくとも1つを含む、請求項1から6の何れか一項に記載のシステム。
【請求項10】
前記第1の目標車両及び前記第2の目標車両の前記少なくとも1つが、前記ホスト車両を含む車線が合流する車線内の車列に含まれる、請求項1から9の何れか一項に記載のシステム。
【請求項11】
前記少なくとも1つの処理装置が、次の操作を行う意図についての1つ又は複数の追加のインジケータを前記第1の目標車両及び前記第2の目標車両の前記少なくとも1つに出すように更にプログラムされる、請求項1から10の何れか一項に記載のシステム。
【請求項12】
前記1つ又は複数の追加のインジケータが光の点滅を含む、請求項11に記載のシステム。
【請求項13】
前記1つ又は複数の追加のインジケータが前記第1の目標車両及び前記第2の目標車両の前記少なくとも1つに無線で伝送される情報信号を含む、請求項11に記載のシステム。
【請求項14】
前記検出される変化は、前記第1の目標車両及び前記第2の目標車両の前記少なくとも1つが減速することを含む、請求項1から13の何れか一項に記載のシステム。
【請求項15】
前記検出される変化は、前記第1の目標車両及び前記第2の目標車両の前記少なくとも1つが車線変更することを含む、請求項1から14の何れか一項に記載のシステム。
【請求項16】
前記ナビゲーションアクチュエータが、ステアリングメカニズム、ブレーキ、又はアクセルのうちの少なくとも1つを含む、請求項1から15の何れか一項に記載のシステム。
【請求項17】
前記少なくとも1つのナビゲーション変更が、前記第1の目標車両及び前記第2の目標車両の前記少なくとも1つの前記ナビゲーション状態の予測される変化に少なくとも部分的に基づいて決定される、請求項1から15の何れか一項に記載のシステム。
【請求項18】
前記少なくとも1つのナビゲーション変更が1つ又は複数の安全制約に少なくとも部分的に基づいて決定される、請求項1から17の何れか一項に記載のシステム。
【請求項19】
前記少なくとも1つのナビゲーション変更が、前記次のナビゲーション操作を部分的に実施することを含み、前記少なくとも1つの処理装置は、前記第1の目標車両及び前記第2の目標車両の前記少なくとも1つの前記ナビゲーション状態の前記検出される変化が、1つ又は複数の安全制約を侵害することなしに前記次のナビゲーション操作を完了する機会を与えるかどうか、又は前記次のナビゲーション操作を前記1つ又は複数の安全制約を侵害した状態にするかどうかに基づいて前記ナビゲーション動作に合わせて更にプログラムされる、請求項1から18の何れか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[001] 本願は、2017年1月12日に出願された米国仮特許出願第62/445,500号、2017年8月16日に出願された米国仮特許出願第62/546,343号、2017年9月29日に出願された米国仮特許出願第62/565,244号、及び2017年11月7日に出願された米国仮特許出願第62/582,687号の優先権の利益を主張するものである。上記の出願は参照によりその全体を本明細書に援用する。
【0002】
背景
技術分野
[002] 本開示は一般に自律車両ナビゲーションに関する。加えて、本開示は強化学習法を使用してナビゲートするためのシステム及び方法に関する。
【背景技術】
【0003】
背景情報
[003] 技術が進歩し続けるにつれて、車道でナビゲートできる完全な自律車両の目標が見え始めている。自律車両は、意図した目的地に安全且つ正確に到着するために、様々な要因を考慮し、且つそれらの要因に基づいて適切な決定を行う必要があり得る。例えば、自律車両は、視覚情報(例えばカメラから捕捉された情報)、レーダ又はLIDARからの情報を処理して解釈する必要があり得、且つまた他のソースから(例えばGPS装置、速度センサ、加速度計、サスペンションセンサ等から)取得された情報を用いてもよい。同時に、目的地にナビゲートするために、自律車両はまた、特定の車道内のその位置(例えば多車線道路内の特定の車線)を識別し、他の車両と並んでナビゲートし、障害物及び歩行者を回避し、交通信号及び標識を遵守し、適切な交差点又はインターチェンジで或る道路から別の道に進み、且つ車両の動作中に発生又は展開するどんな他の状況にも反応する必要があり得る。
【0004】
[004] 更に、例えば合流中に及び/又は道路上の他の運転者と折衝することにより、自律車両は道路上の他の車両に対処する必要がある。自律車両はブレーキ灯及び後続車両の特性等の従来のインジケータにも応答する必要がある。最後に、自律車両が緊急車両の移動を妨げないことが重要である。
【発明の概要】
【課題を解決するための手段】
【0005】
概要
[005] 本開示と一致する実施形態は、自律車両ナビゲーション用のシステム及び方法を提供する。開示される実施形態は、自律車両ナビゲーション特徴を提供するためにカメラを用いてもよい。例えば、開示される実施形態と一致して、開示されるシステムは、車両の環境を監視する1つ、2つ又はそれを超えるカメラを含んでもよい。開示されるシステムは、例えば、カメラの1つ又は複数によって捕捉された画像の解析に基づいて、ナビゲーション応答を提供してもよい。ナビゲーション応答はまた、例えば、全地球測位システム(GPS)データ、センサデータ(例えば加速度計、速度センサ、サスペンションセンサ等からの)及び/又は他の地図データを含む他のデータを考慮してもよい。
【0006】
[006] 一実施形態では、ホスト車両用のナビゲーションシステムが少なくとも1つの処理装置を含み得る。少なくとも1つの処理装置は、ホスト車両の環境を表す複数の画像をカメラから受信し、複数の画像を解析して第1の交通の流れと第2の交通の流れとを識別するようにプログラムされ得る。第2の交通の流れはホスト車両を含み得る。少なくとも1つの処理装置は、第1の交通の流れと第2の交通の流れとが合流車線内に交互に合流することを示す少なくとも1つのナビゲーション状態特性が車両の環境内にあることを突き止め、第1の交通の流れからの1台の目標車両がホスト車両の前方に進むことを可能にするためにホスト車両の少なくとも第1のナビゲーション変更を引き起こし、第1の交通の流れからの第2の目標車両よりも先に合流車線内へとホスト車両に目標車両を追走させるためにホスト車両の少なくとも第2のナビゲーション変更を引き起こすように更にプログラムされ得る。
【0007】
[007] 一実施形態では、ホスト車両をナビゲートするためのコンピュータによって実施される方法が、ホスト車両の環境を表す複数の画像をカメラから受信すること、及び複数の画像を解析して第1の交通の流れと第2の交通の流れとを識別することを含み得る。第2の交通の流れはホスト車両を含み得る。この方法は、第1の交通の流れと第2の交通の流れとが合流車線内に交互に合流することを示す少なくとも1つのナビゲーション状態特性が車両の環境内にあることを判定すること、第1の交通の流れからの1台の目標車両がホスト車両の前方に進むことを可能にするためにホスト車両の少なくとも第1のナビゲーション変更を引き起こすこと、及び第1の交通の流れからの第2の目標車両よりも先に合流車線内へとホスト車両に目標車両を追走させるためにホスト車両の少なくとも第2のナビゲーション変更を引き起こすことを更に含み得る。
【0008】
[008] 一実施形態では、ホスト車両用のナビゲーションシステムが少なくとも1つの処理装置を含み得る。少なくとも1つの処理装置は、ホスト車両に関連する少なくとも1つのセンサからホスト車両の環境内に緊急車両が存在することのインジケーションを受信し、ホスト車両の環境内に緊急車両が存在することのインジケーションに応答してホスト車両の少なくとも1つのナビゲーション変更を引き起こすようにプログラムされ得る。
【0009】
[009] 一実施形態では、ホスト車両をナビゲートするためのコンピュータによって実施される方法が、ホスト車両に関連する少なくとも1つのセンサからホスト車両の環境内に緊急車両が存在することのインジケーションを受信すること、及びホスト車両の環境内に緊急車両が存在することのインジケーションに応答してホスト車両の少なくとも1つのナビゲーション変更を引き起こすことを含み得る。
【0010】
[010] 一実施形態では、ホスト車両用のナビゲーションシステムが少なくとも1つの処理装置を含み得る。少なくとも1つの処理装置は、ホスト車両の環境を表す複数の画像をカメラから受信し、複数の画像を解析してホスト車両の環境内の少なくとも1台の目標車両を識別するようにプログラムされ得る。目標車両はホスト車両の少なくとも1つの計画済みのナビゲーション動作に影響を及ぼす位置を有し得る。少なくとも1つの処理装置は、次のナビゲーション操作を行うホスト車両の意図を目標車両に知らせるためにホスト車両の少なくとも1つのナビゲーション変更を引き起こし、複数の画像を解析してホスト車両の少なくとも1つのナビゲーション変更に対する目標車両のナビゲーション状態の変化を検出し、目標車両のナビゲーション状態の検出済みの変化に基づいてホスト車両のナビゲーション動作を決定し、ホスト車両の決定済みのナビゲーション動作に応答してホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすように更にプログラムされ得る。
【0011】
[011] 一実施形態では、ホスト車両用のナビゲーションシステムが少なくとも1つの処理装置を含み得る。少なくとも1つの処理装置は、ホスト車両の環境を表す複数の画像をカメラから受信し、複数の画像を解析してホスト車両の環境内の第1の目標車両及び第2の目標車両を識別するようにプログラムされ得る。第1の目標車両は、ホスト車両が走行している走行車線に隣接する走行車線内の第2の目標車両の後ろを走行している可能性がある。少なくとも1つの処理装置は、複数の画像を解析して第1の目標車両と第2の目標車両との間の距離を判定し、第1の目標車両及び第2の目標車両の1つに関連する境界に到達する時間を複数の画像から判定するように更にプログラムされ得る。判定される時間は、第1の閾値を上回り第2の閾値を上回らなくてもよく、第2の閾値は第1の閾値よりも大きい。少なくとも1つの処理装置は、次のナビゲーション操作を行うホスト車両の意図を目標車両に知らせるためにホスト車両の少なくとも1つのナビゲーション変更を判定した時間に基づいて引き起こし、複数の画像を解析してホスト車両の少なくとも1つのナビゲーション変更に対する目標車両のナビゲーション状態の変化を検出し、目標車両のナビゲーション状態の検出済みの変化に基づいてホスト車両のナビゲーション動作を決定し、ホスト車両の決定済みのナビゲーション動作に応答してホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすように更にプログラムされ得る。
【0012】
[012] 一実施形態では、ホスト車両をナビゲートするためのコンピュータによって実施される方法が、ホスト車両の環境を表す複数の画像をカメラから受信すること、及び複数の画像を解析してホスト車両の環境内の少なくとも1台の目標車両を識別することを含み得る。目標車両はホスト車両の少なくとも1つの計画済みのナビゲーション動作に影響を及ぼす位置を有し得る。この方法は、次のナビゲーション操作を行うホスト車両の意図を目標車両に知らせるためにホスト車両の少なくとも1つのナビゲーション変更を引き起こすこと、複数の画像を解析してホスト車両の少なくとも1つのナビゲーション変更に対する目標車両のナビゲーション状態の変化を検出すること、目標車両のナビゲーション状態の検出済みの変化に基づいてホスト車両のナビゲーション動作を決定すること、及びホスト車両の決定済みのナビゲーション動作に応答してホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことを更に含み得る。
【0013】
[013] 一実施形態では、ホスト車両をナビゲートするためのコンピュータによって実施される方法が、ホスト車両の環境を表す複数の画像をカメラから受信すること、及び複数の画像を解析してホスト車両の環境内の第1の目標車両及び第2の目標車両を識別することを含み得る。第1の目標車両は、ホスト車両が走行している走行車線に隣接する走行車線内の第2の目標車両の後ろを走行している可能性がある。この方法は、複数の画像を解析して第1の目標車両と第2の目標車両との間の距離を判定すること、並びに第1の目標車両及び第2の目標車両の1つに関連する境界に到達する時間を複数の画像から判定することを更に含み得る。判定される時間は、第1の閾値を上回り第2の閾値を上回らなくてもよく、第2の閾値は第1の閾値よりも大きい。この方法は、次のナビゲーション操作を行うホスト車両の意図を目標車両に知らせるためにホスト車両の少なくとも1つのナビゲーション変更を判定した時間に基づいて引き起こすこと、複数の画像を解析してホスト車両の少なくとも1つのナビゲーション変更に対する目標車両のナビゲーション状態の変化を検出すること、目標車両のナビゲーション状態の検出済みの変化に基づいてホスト車両のナビゲーション動作を決定すること、及びホスト車両の決定済みのナビゲーション動作に応答してホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことを更に含み得る。
【0014】
[014] 一実施形態では、ホスト車両用のナビゲーションシステムが少なくとも1つの処理装置を含み得る。少なくとも1つの処理装置は、ホスト車両の後ろの環境を表す複数の画像を後向きカメラから受信し、複数の画像を解析してホスト車両の後ろの環境内の少なくとも1台の目標車両を識別し、複数の画像を解析することに基づいて目標車両の少なくとも1つのナビゲーション特性のインジケータを識別し、目標車両の少なくとも1つの識別済みのナビゲーション特性に基づいてホスト車両のナビゲーション動作を決定するようにプログラムされ得る。
【0015】
[015] 一実施形態では、ホスト車両をナビゲートするためのコンピュータによって実施される方法が、ホスト車両の後ろの環境を表す複数の画像を後向きカメラから受信すること、複数の画像を解析してホスト車両の後ろの環境内の少なくとも1台の目標車両を識別すること、複数の画像を解析することに基づいて目標車両の少なくとも1つのナビゲーション特性のインジケータを識別すること、及び目標車両の少なくとも1つの識別済みのナビゲーション特性に基づいてホスト車両のナビゲーション動作を決定することを含み得る。
【0016】
[016] 一実施形態では、ホスト車両用のナビゲーションシステムが少なくとも1つの処理装置を含み得る。少なくとも1つの処理装置は、ホスト車両の前方の環境を表す複数の画像をカメラから受信し、複数の画像を解析してホスト車両の前方の環境内の少なくとも1台の目標車両を識別し、複数の画像を解析することに基づいて目標車両に関連する少なくとも1つのブレーキ灯を識別し、複数の画像を解析することに基づいて少なくとも1つのブレーキ灯の点灯状態の変化に関連する少なくとも1つの特性を識別し、少なくとも1つのブレーキ灯の点灯状態の変化に関連する少なくとも1つの識別済みの特性に基づいてホスト車両のナビゲーション変更を引き起こすようにプログラムされ得る。少なくとも1つの特性は、少なくとも1つのブレーキ灯の点灯状態が変わる頻度、少なくとも1つのブレーキ灯が動作後に点灯されたままである時間の長さ、少なくとも1つのブレーキ灯が所定の時間間隔において動作される回数、又はその任意の組み合わせを含み得る。
【0017】
[017] 一実施形態では、ホスト車両をナビゲートするためのコンピュータによって実施される方法が、ホスト車両の前方の環境を表す複数の画像をカメラから受信すること、複数の画像を解析してホスト車両の前方の環境内の少なくとも1台の目標車両を識別すること、複数の画像を解析することに基づいて目標車両に関連する少なくとも1つのブレーキ灯を識別すること、複数の画像を解析することに基づいて少なくとも1つのブレーキ灯の点灯状態の変化に関連する少なくとも1つの特性を識別すること、及び少なくとも1つのブレーキ灯の点灯状態の変化に関連する少なくとも1つの識別済みの特性に基づいてホスト車両のナビゲーション変更を引き起こすことを含み得る。少なくとも1つの特性は、少なくとも1つのブレーキ灯の点灯状態が変わる頻度、少なくとも1つのブレーキ灯が動作後に点灯されたままである時間の長さ、少なくとも1つのブレーキ灯が所定の時間間隔において動作される回数、又はその任意の組み合わせを含み得る。
【0018】
[018] 他の開示される実施形態と一致して、非一時的なコンピュータ可読記憶媒体が、プログラム命令を格納してもよく、プログラム命令は、少なくとも1つの処理装置によって実行され、且つ本明細書で説明される方法のいずれかを実行する。
【0019】
[019] 前述の一般的な説明及び以下の詳細な説明は、単に例示的で説明的であり、請求項を限定するものではない。
【0020】
図面の簡単な説明
[020] 添付の図面は、この開示に援用され、その一部を構成するが、様々な開示される実施形態を示す。
【図面の簡単な説明】
【0021】
【
図1】[021]開示される実施形態と一致する例示的なシステムの概略表示である。
【
図2A】[022]開示される実施形態と一致するシステムを含む例示的な車両の概略側面図表示である。
【
図2B】[023]開示される実施形態と一致する
図2Aに示されている車両及びシステムの概略上面図表示である。
【
図2C】[024]開示される実施形態と一致するシステムを含む車両の別の実施形態の概略上面図表示である。
【
図2D】[025]開示される実施形態と一致するシステムを含む車両の更に別の実施形態の概略上面図表示である。
【
図2E】[026]開示される実施形態と一致するシステムを含む車両の更に別の実施形態の概略上面図表示である。
【
図2F】[027]開示される実施形態と一致する例示的な車両制御システムの概略表示である。
【
図3A】[028]開示される実施形態と一致する車両撮像システム用のバックミラー及びユーザインターフェースを含む車両における内部の概略表示である。
【
図3B】[029]開示される実施形態と一致する、バックミラーの背後に且つ車両フロントガラスに対して配置されるように構成されるカメラ架台の例の実例である。
【
図3C】[030]開示される実施形態と一致する、異なる見方による
図3Bに示されているカメラ架台の実例である。
【
図3D】[031]開示される実施形態と一致する、バックミラーの背後に且つ車両フロントガラスに対して配置されるように構成されるカメラ架台の例の実例である。
【
図4】[032]開示される実施形態と一致する、1つ又は複数の動作を実行するための命令を格納するように構成されたメモリの例示的なブロック図である。
【
図5A】[033]開示される実施形態と一致する、単眼画像解析に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的なプロセスを示すフローチャートである。
【
図5B】[034]開示される実施形態と一致する、画像セットにおいて1つ又は複数の車両及び/又は歩行者を検出するための例示的なプロセスを示すフローチャートである。
【
図5C】[035]開示される実施形態と一致する、画像セットにおいて路面標識及び/又は車線ジオメトリ情報を検出するための例示的なプロセスを示すフローチャートである。
【
図5D】[036]開示される実施形態と一致する、画像セットにおいて交通信号灯を検出するための例示的なプロセスを示すフローチャートである。
【
図5E】[037]開示される実施形態と一致する、車両経路に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的なプロセスを示すフローチャートである。
【
図5F】[038]開示される実施形態と一致する、先行車両が車線を変更しているかどうかを決定するための例示的なプロセスを示すフローチャートである。
【
図6】[039]開示される実施形態と一致する、立体画像解析に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的なプロセスを示すフローチャートである。
【
図7】[040]開示される実施形態と一致する、3つの画像セットの解析に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的なプロセスを示すフローチャートである。
【
図8】[041]開示される実施形態と一致する、自律車両用のナビゲーションシステムの1つ又は複数の特別にプログラムされた処理装置によって実装され得るモジュールのブロック図表現である。
【
図9】[042]開示される実施形態と一致する、ナビゲーションの選択肢のグラフである。
【
図10】[043]開示される実施形態と一致する、ナビゲーションの選択肢のグラフである。
【
図11A】[044]開示される実施形態と一致する、合流区域内のホスト車両のナビゲーションの選択肢の概略図を示す。
【
図11B】[044]開示される実施形態と一致する、合流区域内のホスト車両のナビゲーションの選択肢の概略図を示す。
【
図11C】[044]開示される実施形態と一致する、合流区域内のホスト車両のナビゲーションの選択肢の概略図を示す。
【
図11D】[045]開示される実施形態と一致する二重合流シナリオの図表現を示す。
【
図11E】[046]開示される実施形態と一致する二重合流シナリオの図表現を示す。
【
図12】[047]開示される実施形態と一致する、潜在的なナビゲーション制約と共にホスト車両の環境について捕捉した代表的な画像の図を示す。
【
図13】[048]開示される実施形態と一致する、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図14】[049]開示される実施形態と一致する、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図15】[050]開示される実施形態と一致する、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図16】[051]開示される実施形態と一致する、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図17A】[052]開示される実施形態と一致する、環状交差路内にナビゲートするホスト車両の図を示す。
【
図17B】[052]開示される実施形態と一致する、環状交差路内にナビゲートするホスト車両の図を示す。
【
図18】[053]開示される実施形態と一致する、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図19】[054]開示される実施形態と一致する、交互合流区域においてナビゲートするための命令を格納するように構成されるメモリの例示的ブロック図である。
【
図20A】[055]開示される実施形態と一致する、検知した車線の終わりに基づいてナビゲートするホスト車両の図を示す。
【
図20B】[056]開示される実施形態と一致する、検知した車線の終わりに基づいてナビゲートするホスト車両の別の図を示す。
【
図20C】[057]開示される実施形態と一致する、検知した円形交差点に基づいてナビゲートするホスト車両の図を示す。
【
図20D】[058]開示される実施形態と一致する、検知した円形交差点に基づいてナビゲートするホスト車両の別の図を示す。
【
図21】[059]開示される実施形態と一致する、交互合流区域内に車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図22】[060]開示される実施形態と一致する、緊急車両が存在する場合のナビゲートを行うための命令を格納するように構成されるメモリの例示的ブロック図である。
【
図23】[061]開示される実施形態と一致する、緊急車両が存在することに基づいてナビゲートするホスト車両の図を示す。
【
図24】[062]開示される実施形態と一致する、緊急車両が存在する場合に車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図25】[063]開示される実施形態と一致する、他の車両に対する自動折衝によってナビゲートするための命令を格納するように構成されるメモリの例示的ブロック図である。
【
図26A】[064]開示される実施形態と一致する、別の車両に対する自動折衝に基づいてナビゲートするホスト車両の図を示す。
【
図26B】[065]開示される実施形態と一致する、別の車両に対する自動折衝に基づいてナビゲートするホスト車両の別の図を示す。
【
図26C】[066]開示される実施形態と一致する、ホスト車両が合流している車線内の別の車両に対する自動折衝に基づいてナビゲートするホスト車両の図を示す。
【
図26D】[067]開示される実施形態と一致する、円形交差点内の第1の目標車両及び第2の目標車両に対する自動折衝に基づいてナビゲートするホスト車両の図を示す。
【
図27A】[068]開示される実施形態と一致する、他の車両に対する自動折衝に基づいて車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図27B】[069]開示される実施形態と一致する、他の車両に対する自動折衝に基づいて車両をナビゲートするための別のアルゴリズムのフローチャートを示す。
【
図28】[070]開示される実施形態と一致する、後続車両の挙動を使用してナビゲートするための命令を格納するように構成されるメモリの例示的ブロック図である。
【
図29A】[071]開示される実施形態と一致する、後続車両の挙動に基づいてナビゲートするホスト車両の図を示す。
【
図29B】[072]開示される実施形態と一致する、後続車両の挙動に基づいてナビゲートするホスト車両の別の図を示す。
【
図30】[073]開示される実施形態と一致する、後続車両の挙動に基づいて車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図31】[074]開示される実施形態と一致する、検知したブレーキ灯のパターンを使用してナビゲートするための命令を格納するように構成されるメモリの例示的ブロック図である。
【
図32A】[075]開示される実施形態と一致する、検知した先行車両のブレーキ灯のパターンに基づいてナビゲートするホスト車両の図を示す。
【
図32B】[076]開示される実施形態と一致する、検知した先行車両のブレーキ灯のパターンに基づいてナビゲートするホスト車両の別の図を示す。
【
図33】[077]開示される実施形態と一致する、検知した先行車両のブレーキ灯のパターンに基づいて車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【発明を実施するための形態】
【0022】
詳細な説明
[078] 以下の詳細な説明は、添付の図面を参照する。可能な限り、同じ参考番号が、同じ又は類似の部分を指すために、図面及び以下の説明において用いられる。幾つかの実例となる実施形態が、本明細書で説明されるが、修正、適応及び他の実装形態が可能である。例えば、代用、追加又は修正が、図面に示されているコンポーネントに行われてもよく、本明細書で説明される実例となる方法は、開示される方法に対してステップを代用するか、再整理するか、削除するか、又は追加することによって修正されてもよい。従って、以下の詳細な説明は、開示される実施形態及び例に限定されない。代わりに、適切な範囲は、添付の請求項によって定義される。
【0023】
[079] 自律車両概観
[080] この開示の全体を通して用いられるとき、「自律車両」という用語は、運転者の入力なしに、少なくとも1つのナビゲーション変更を実施できる車両を指す。「ナビゲーション変更」は、車両のステアリング、制動又は加速/減速の1つ又は複数における変更を指す。自律的であるために、車両は、完全に自動的である(例えば、運転者又は運転者の入力なしに完全に運転可能である)必要がない。もっと正確に言えば、自律車両は、或る期間中に運転者の制御下で、且つ他の期間中に運転者の制御なしに動作できる車両を含む。自律車両はまた、(例えば車線の制約の間に車両進路を維持するための)ステアリング、又は或る状況下(しかし全ての状況下ではない)の幾つかのステアリング操作など、車両ナビゲーションの幾つかの態様だけを制御する車両を含んでもよいが、他の態様(例えば、制動又は或る状況下の制動)を運転者に任せてもよい。場合によっては、自律車両は、車両の制動、速度制御及び/又はステアリングの幾つか又は全ての態様を扱ってもよい。
【0024】
[081] 人間の運転者が、典型的には、車両を制御するために、視覚キュー及び観察に頼るので、それに応じて、交通インフラストラクチャは、運転者に視覚情報を提供するように設計された車線区分線、交通標識、及び交通信号灯で構築される。交通インフラストラクチャのこれらの設計特性を考慮して、自律車両は、カメラと、車両の環境から捕捉された視覚情報を解析する処理ユニットと、を含んでもよい。視覚情報は、例えば、運転者によって観察できる交通インフラストラクチャの構成要素(例えば車線区分線、交通標識、交通信号灯等)及び他の障害物(例えば他の車両、歩行者、破片等)を表す画像を含んでもよい。加えて、自律車両はまた、ナビゲートする場合に、車両の環境モデルを提供する情報などの格納された情報を用いてもよい。例えば、車両は、GPSデータ、センサデータ(例えば加速度計、速度センサ、サスペンションセンサ等からの)、及び/又は車両が走行している間に、その環境と関係する情報を提供する他の地図データを用いてもよく、車両は(他の車両と同様に)、モデル上でそれ自体の位置を特定するために情報を用いてもよい。幾つかの車両はまた、それらの間で通信し、情報を共有し、車両の周囲状況における危険又は変化のピア車両を変更する等のことができる。
【0025】
[082] システム概観
[083]
図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に伝送するための任意の有線及び/又は無線リンクを含んでもよい。
【0026】
[084] 無線トランシーバ172は、無線周波数、赤外周波数、磁界又は電界の使用により、1つ又は複数のネットワーク(例えば、セルラー、インターネット等)へのエアインターフェースを通じて伝送を交換するように構成された1つ又は複数の装置を含んでもよい。無線トランシーバ172は、データを伝送及び/又は受信するために任意の周知の規格(例えばWi-Fi(登録商標)、Bluetooth(登録商標)、Bluetooth Smart、802.15.4、ZigBee(登録商標)等)を用いてもよい。かかる伝送は、ホスト車両から1つ又は複数の遠隔に位置するサーバまで通信を含むことができる。かかる伝送はまた、(例えばホスト車両の環境における目標車両を考慮して、又はそれらの車両と一緒に、ホスト車両のナビゲーションの協調を容易にするために)ホスト車両と、ホスト車両の環境における1つ又は複数の目標車両との間の通信(1方向若しくは2方向)か、又は伝送している車両の近くにおける不特定の受信者へのブロードキャスト伝送さえ含んでもよい。
【0027】
[085] アプリケーションプロセッサ180及び画像プロセッサ190の両方は、様々なタイプのハードウェアベース処理装置を含んでもよい。例えば、アプリケーションプロセッサ180及び画像プロセッサ190のどちらか又は両方は、マイクロプロセッサ、プリプロセッサ(画像プリプロセッサなど)、グラフィックスプロセッサ、中央処理装置(CPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ、又はアプリケーションの走行並びに画像処理及び解析に適した任意の他のタイプの装置を含んでもよい。幾つかの実施形態において、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、任意のタイプのシングル又はマルチコアプロセッサ、モバイル装置マイクロコントローラ、中央処理装置等を含んでもよい。例えば、Intel(登録商標)、AMD(登録商標)などのメーカから入手可能なプロセッサを含む様々な処理装置が用いられてもよく、且つ様々なアーキテクチャ(例えばx86プロセッサ、ARM(登録商標)等)を含んでもよい。
【0028】
[086] 幾つかの実施形態において、アプリケーションプロセッサ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処理装置が、開示される実施形態と一緒に用いられてもよい。
【0029】
[087] 本明細書で開示される処理装置のどれも、或る機能を実行するように構成されてもよい。或る機能を実行するための、説明されたEyeQプロセッサ又は他のコントローラ若しくはマイクロプロセッサのいずれかなどの処理装置の構成は、コンピュータ実行可能命令のプログラミング、及び処理装置の動作中の実行のために、処理装置にこれらの命令を利用可能にすることを含んでもよい。幾つかの実施形態において、処理装置の構成は、アーキテクチャ命令で処理装置を直接プログラムすることを含んでもよい。他の実施形態において、処理装置の構成は、動作中に処理装置にアクセス可能なメモリに実行可能命令を格納することを含んでもよい。例えば、処理装置は、動作中に、格納された命令を取得して実行するために、メモリにアクセスしてもよい。いずれの場合にも、本明細書で開示される感知、画像解析及び/又はナビゲーション機能を実行するように構成された処理装置は、ホスト車両における多数のハードウェアベースのコンポーネントを制御する専門ハードウェアベースのシステムを表す。
【0030】
[088]
図1は、処理ユニット110に含まれる2つの別個の処理装置を表すが、より多数又は少数の処理装置が用いられてもよい。例えば、幾つかの実施形態において、単一の処理装置が、アプリケーションプロセッサ180及び画像プロセッサ190のタスクを達成するために用いられてもよい。他の実施形態において、これらのタスクは、2つを超える処理装置によって実行されてもよい。更に、幾つかの実施形態において、システム100は、画像取得ユニット120などの他のコンポーネントを含まずに、1つ又は複数の処理ユニット110を含んでもよい。
【0031】
[089] 処理ユニット110は、様々なタイプの装置を含んでもよい。例えば、処理ユニット110は、コントローラ、画像プリプロセッサ、中央処理装置(CPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ、又は画像処理及び解析用の任意の他のタイプの装置などの様々な装置を含んでもよい。画像プリプロセッサは、画像センサからの画像を捕捉し、デジタル化し、且つ処理するためのビデオプロセッサを含んでもよい。CPUは、任意の数のマイクロコントローラ又はマイクロプロセッサを含んでもよい。サポート回路は、キャッシュ、電源、クロック及び入力-出力回路を含む、当該技術分野において一般によく知られている任意の数の回路であってもよい。メモリは、プロセッサによって実行された場合にシステムの動作を制御するソフトウェアを格納してもよい。メモリは、データベース及び画像処理ソフトウェアを含んでもよい。メモリは、任意の数のランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ、ディスクドライブ、光記憶装置、テープ記憶装置、リムーバブル記憶装置、及び他のタイプの記憶装置を含んでもよい。1つの実例において、メモリは、処理ユニット110と別個であってもよい。別の実例において、メモリは、処理ユニット110に統合されてもよい。
【0032】
[090] 各メモリ140及び150は、プロセッサ(例えばアプリケーションプロセッサ180及び/又は画像プロセッサ190)によって実行された場合にシステム100の様々な態様の動作を制御し得るソフトウェア命令を含んでもよい。これらのメモリユニットは、例えば、ニューラルネットワーク又はディープニューラルネットワークなど、訓練されたシステムと同様に様々なデータベース及び画像処理ソフトウェアを含んでもよい。メモリユニットは、ランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ、ディスクドライブ、光記憶装置、テープ記憶装置、リムーバブル記憶装置、及び/又は任意の他のタイプの記憶装置を含んでもよい。幾つかの実施形態において、メモリユニット140及び150は、アプリケーションプロセッサ180及び/又は画像プロセッサ190と別個であってもよい。他の実施形態において、これらのメモリユニットは、アプリケーションプロセッサ180及び/又は画像プロセッサ190に統合されてもよい。
【0033】
[091] 位置センサ130は、システム100の少なくとも1つのコンポーネントに関連する位置を決定するのに適した任意のタイプの装置を含んでもよい。幾つかの実施形態において、位置センサ130は、GPS受信機を含んでもよい。かかる受信機は、全地球測位システム衛星によってブロードキャストされた信号を処理することによって、ユーザ位置及び速度を決定することができる。位置センサ130からの位置情報データは、アプリケーションプロセッサ180及び/又は画像プロセッサ190に利用可能にされてもよい。
【0034】
[092] 幾つかの実施形態において、システム100は、車両200の速度を測定するための速度センサ(例えば速度計)などのコンポーネントを含んでもよい。システム100はまた、1つ又は複数の軸に沿って車両200の加速度を測定するための1つ又は複数の加速度計(単軸又は多軸のいずれか)を含んでもよい。
【0035】
[093] メモリユニット140、150は、周知のランドマークの位置を示すデータベース又は任意の他の形式で組織されたデータを含んでもよい。環境の知覚情報(画像、レーダ信号、2つ以上の画像のライダ又はステレオ処理からの奥行き情報など)は、周知のランドマークに対する車両の現在位置を判定し、且つ車両位置を洗練するために、GPS座標、車両の自己動作等の位置情報と一緒に処理されてもよい。この技術の或る態様は、REM(商標)として周知の定位技術に含まれ、REM(商標)は、本出願の譲受人によって市場で販売されている。
【0036】
[094] ユーザインターフェース170は、システム100の1人又は複数のユーザに情報を提供するか又はそのユーザからの入力を受信するのに適した任意の装置を含んでもよい。幾つかの実施形態において、ユーザインターフェース170は、例えば、タッチスクリーン、マイクロホン、キーボード、ポインタ装置、トラックホイール、カメラ、ノブ、ボタン等を含むユーザ入力装置を含んでもよい。かかる入力装置を用いれば、ユーザは、命令又は情報をタイプすること、音声コマンドを提供すること、ボタン、ポインタ若しくは視標追跡能力を用いてスクリーン上のメニューオプションを選択することによってか、又は情報をシステム100に通信するための任意の他の適切な技術を介して、情報入力又はコマンドをシステム100に提供することができ得る。
【0037】
[095] ユーザインターフェース170は、ユーザに情報を提供し、ユーザから情報を受信し、且つ例えばアプリケーションプロセッサ180による使用のためにその情報を処理するように構成された1つ又は複数の処理装置を装備してもよい。幾つかの実施形態において、かかる処理装置は、眼球運動を認識し追跡すること、音声コマンドを受信し解釈すること、タッチスクリーン上でなされた接触及び/又はジェスチャを認識し解釈すること、キーボード入力又はメニュー選択に応答すること等のための命令を実行してもよい。幾つかの実施形態において、ユーザインターフェース170は、ディスプレイ、スピーカ、触覚装置、及び/又は出力情報をユーザに提供するための任意の他の装置を含んでもよい。
【0038】
[096] 地図データベース160は、システム100に有用な地図データを格納するための任意のタイプのデータベースを含んでもよい。幾つかの実施形態において、地図データベース160は、道路、水使用施設、地勢、企業、関心のある地点、レストラン、ガソリンスタンド等を含む様々なアイテムの位置に関係する情報を基準座標系に含んでもよい。地図データベース160は、かかるアイテムの位置だけでなく、例えば格納された特徴のいずれかに関連する名前を含む、それらのアイテムに関係する記述子も格納してもよい。幾つかの実施形態において、地図データベース160は、システム100の他のコンポーネントと物理的に一緒に置かれてもよい。代替又は追加として、地図データベース160又はその一部は、システム100の他のコンポーネント(例えば処理ユニット110)に対して遠隔に位置してもよい。かかる実施形態において、地図データベース160からの情報は、ネットワークへの有線又は無線データ接続を通じて(例えばセルラーネットワーク及び/又はインターネット等を通じて)ダウンロードされてもよい。場合によっては、地図データベース160は、或る道路特徴(例えば車線区分線)又はホスト車両用の目標軌道の多項式表現を含む疎データモデルを格納してもよい。地図データベース160はまた、目標軌道に対するホスト車両の周知の位置を決定又は更新するために利用され得る様々な認識されたランドマークの格納された表現を含んでもよい。ランドマークの表現は、数ある候補となる識別子の中で、ランドマークタイプ、ランドマーク位置などのデータフィールドを含んでもよい。
【0039】
[097] 画像捕捉装置122、124及び126は、それぞれ、環境から少なくとも1つの画像を捕捉するのに適した任意のタイプの装置を含んでもよい。更に、任意の数の画像捕捉装置が、画像プロセッサへの入力用の画像を取得するために用いられてもよい。幾つかの実施形態は、単一の画像捕捉装置だけを含んでもよく、一方で他の実施形態は、2つ、3つ、又は4つ以上の画像捕捉装置さえ含んでもよい。画像捕捉装置122、124及び126は、以下で
図2B-2Eに関連して更に説明される。
【0040】
[098] 1つ又は複数のカメラ(例えば画像捕捉装置122、124及び126)は、車両に含まれる感知ブロックの一部であってもよい。様々な他のセンサが、感知ブロックに含まれてもよく、センサのいずれか又は全てが、車両の感知されたナビゲーション状態を創り出すために依拠され得る。カメラ(前方、側方、後方等)に加えて、RADAR、LIDARなどの他のセンサ、及び音響センサが、感知ブロックに含まれてもよい。加えて、感知ブロックは、車両の環境に関係する情報を通信し伝送/受信するように構成された1つ又は複数のコンポーネントを含んでもよい。例えば、かかるコンポーネントは、ホスト車両センサベースの情報、又はホスト車両の環境に関係する任意の他のタイプの情報に対して、遠隔に位置するソースから受信し得る無線トランシーバ(RF等)を含んでもよい。かかる情報は、ホスト車両以外の車両システムから受信されるセンサ出力情報又は関連情報を含んでもよい。幾つかの実施形態において、かかる情報は、遠隔コンピューティング装置、集中型サーバ等から受信される情報を含んでもよい。更に、カメラは、多くの相異なる構成、即ち、単一カメラユニット、多数のカメラ、カメラクラスタ、長FOV、短FOV、広角、魚眼等を取ってもよい。
【0041】
[099] システム100又はその様々なコンポーネントは、様々な相異なるプラットホームに組み込まれてもよい。幾つかの実施形態において、システム100は、
図2Aに示されているように、車両200に含まれてもよい。例えば、車両200は、
図1に関連して上記で説明されたように、システム100の処理ユニット110及び他のコンポーネントのいずれかを装備されてもよい。幾つかの実施形態において、車両200は、単一の画像捕捉装置(例えばカメラ)だけを装備してもよいが、
図2B-2Eに関連して説明される実施形態などの他の実施形態において、多数の画像捕捉装置が用いられてもよい。例えば、
図2Aに示されているように、車両200の画像捕捉装置122及び124のいずれかは、ADAS(高度運転者支援システム)撮像セットの一部であってもよい。
【0042】
[0100] 画像取得ユニット120の一部として車両200に含まれる画像捕捉装置は、任意の適切な位置に配置されてもよい。幾つかの実施形態において、
図2A-2E及び3A-3Cに示されているように、画像捕捉装置122は、バックミラーの近くに位置してもよい。この位置は、車両200の運転者の視線に似た視線を提供することが可能であり、それは、運転者に何が見えて何が見えないかを決定することを支援し得る。画像捕捉装置122は、バックミラーの近くの任意の位置に配置されてもよいが、しかしミラーの運転者側に画像捕捉装置122を配置することは、運転者の視野及び/又は視線を表す画像を取得することを更に支援し得る。
【0043】
[0101] 画像取得ユニット120の画像捕捉装置用の他の位置が用いられてもよい。例えば、画像捕捉装置124は、車両200のバンパーの上又は中に位置してもよい。かかる位置は、広視野を有する画像捕捉装置用に特に適切であり得る。バンパーに位置する画像捕捉装置の視線は、運転者の視線と異なることができ、従ってバンパー画像捕捉装置及び運転者は、必ずしも同じ対象を見ることが可能であるとは限らない。画像捕捉装置(例えば画像捕捉装置122、124及び126)はまた、他の位置に置かれてもよい。例えば、画像捕捉装置は、車両200のサイドミラーの1つ又は両方の上又は中に、車両200の屋根上に、車両200のボンネット上に、車両200のトランク上に、車両200の側部に位置してもよく、車両200の窓のいずれかの上に搭載されるか、その背後に配置されるか、又はその前に配置されてもよく、且つ車両200の前部及び/又は後部における照明器具に又はその近くに搭載されてもよい等である。
【0044】
[0102] 画像捕捉装置に加えて、車両200は、システム100の様々な他のコンポーネントを含んでもよい。例えば、処理ユニット110は、車両のエンジン制御ユニット(ECU)と統合されて、又はそれとは別個に車両200に含まれてもよい。車両200はまた、GPS受信機などの位置センサ130を装備さてもよく、且つまた地図データベース160並びにメモリユニット140及び150を含んでもよい。
【0045】
[0103] 前に論じたように、無線トランシーバ172は、1つ又は複数のネットワーク(例えばセルラーネットワーク、インターネット等)を通じてデータを及び/又は受信してもよい。例えば、無線トランシーバ172は、システム100によって収集されたデータを1つ又は複数のサーバにアップロードし、且つ1つ又は複数のサーバからデータをダウンロードしてもよい。無線トランシーバ172を介して、システム100は、地図データベース160、メモリ140及び/又はメモリ150に格納されたデータに対する、例えば周期的な又はオンデマンドの更新を受信してもよい。同様に、無線トランシーバ172は、システム100からの任意のデータ(例えば画像取得ユニット120によって捕捉された画像、位置センサ130若しくは他のセンサ、車両制御システムによって受信されたデータ等)、及び/又は処理ユニット110によって処理された任意のデータを1つ又は複数のサーバにアップロードしてもよい。
【0046】
[0104] システム100は、プライバシレベル設定に基づいてサーバに(例えばクラウドに)データをアップロードしてもよい。例えば、システム100は、車両及び/又は車両の運転者/所有者を一意に識別可能なサーバに送信されるデータ(メタデータを含む)のタイプを規制又は制限するために、プライバシレベル設定を実施してもよい。かかる設定は、例えば、無線トランシーバ172を介してユーザによって設定されてもよく、工場出荷時の設定によって初期化されてもよく、又は無線トランシーバ172によって受信されたデータによって初期化されてもよい。
【0047】
[0105] 幾つかの実施形態において、システム100は、「高」プライバシレベルに従ってデータをアップロードしてもよく、設定の設定下でシステム100は、特定の車両及び/又は運転者/所有者に関するどんな詳細もなしに、データ(例えば、ルートに関する位置情報、取得画像等)を伝送してもよい。例えば、「高」プライバシ設定に従ってデータをアップロードする場合に、システム100は、車両登録番号(VIN)も車両の運転者又は所有者の名前も含まなくてもよく、その代わりに、ルートに関係する捕捉画像及び/又は制限された位置情報などのデータを伝送してもよい。
【0048】
[0106] 他のプライバシレベルが、同様に考えられる。例えば、システム100は、「中間」プライバシレベルに従ってサーバにデータを伝送してもよく、且つ車両の型及び/又はモデル、及び/又は車種(例えば乗用車、スポーツ用多目的車、トラック等)など、「高」プライバシレベル下で含まれない追加情報を含んでもよい。幾つかの実施形態において、システム100は、「低」プライバシレベルに従ってデータをアップロードしてもよい。「低」プライバシレベル設定下において、システム100は、データをアップロードし、且つ特定の車両、所有者/運転者、及び/又は車両が走行するルートの一部又は全体を一意に識別するために十分な情報を含んでもよい。かかる「低」プライバシレベルデータは、例えば、VIN、運転者/所有者名、出発前の車両の起点、車両の意図した目的地、車両の型及び/又はモデル、車種等の1つ又は複数を含んでもよい。
【0049】
[0107]
図2Aは、開示される実施形態と一致する例示的な車両撮像システムの概略側面図表示である。
図2Bは、
図2Aに示されている実施形態の概略上面図実例である。
図2Bに示されているように、開示される実施形態は、バックミラーの近辺に及び/又は車両200の運転者の近くに配置された第1の画像捕捉装置122と、車両200のバンパー領域(例えばバンパー領域210の1つ)上又はその中に配置された第2の画像捕捉装置124と、処理ユニット110と、を備えたシステム100を自らの車体に含む車両200を含んでもよい。
【0050】
[0108]
図2Cに示されているように、画像捕捉装置122及び124は、両方とも、車両200のバックミラーの近辺に及び/又は運転者の近くに配置されてもよい。加えて、2つの画像捕捉装置122及び124が、
図2B及び2Cに示されているが、他の実施形態が、2つを超える画像捕捉装置を含んでもよいことを理解されたい。例えば、
図2D及び2Eに示されている実施形態において、第1、第2及び第3の画像捕捉装置122、124及び126が、車両200のシステム100に含まれる。
【0051】
[0109]
図2Dに示されているように、画像捕捉装置122は、車両200のバックミラーの近辺に及び/又は運転者の近くに配置されてもよく、画像捕捉装置124及び126は、車両200のバンパー領域(例えばバンパー領域210の1つ)の上又はその中に配置されてもよい。且つ
図2Eに示されているように、画像捕捉装置122、124及び126は、車両200のバックミラーの近辺に及び/又は運転席の近くに配置されてもよい。開示される実施形態は、画像捕捉装置のどんな特定の数及び構成にも限定されず、画像捕捉装置は、車両200の内側に及び/又はその上のいずれかの適切な位置に配置されてもよい。
【0052】
[0110] 開示される実施形態が、車両に限定されず、他の文脈において適用可能であることを理解されたい。また、開示される実施形態が、特定のタイプの車両200に限定されず、自動車、トラック、トレーラ及び他の車種を含む全ての他の車種に適用可能であることを理解されたい。
【0053】
[0111] 第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を可能にするであろうかかるレンズは、放射対称ではなくなり得る。
【0054】
[0112] 第1の画像捕捉装置122は、車両200に関連するシーンに関する複数の第1の画像を取得してもよい。複数の第1の画像のそれぞれは、一連の画像走査線として取得されてもよく、それらは、ローリングシャッタを用いて捕捉されてもよい。各走査線は、複数の画素を含んでもよい。
【0055】
[0113] 第1の画像捕捉装置122は、第1の一連の画像走査線のそれぞれの取得に関連する走査速度を有してもよい。走査速度は、画像センサが、特定の走査線に含まれる各画素に関連する画像データを取得できる速度を指してもよい。
【0056】
[0114] 画像捕捉装置122、124及び126は、例えばCCDセンサ又はCMOSセンサを含む、任意の適切なタイプで任意の数の画像センサを含んでもよい。一実施形態において、CMOS画像センサは、行における各画素が、1つずつ読み取られるように、ローリングシャッタと共に用いられてもよく、行の走査は、全画像フレームが捕捉されるまで、行ごとに進む。幾つかの実施形態において、行は、フレームに対して上端から底部まで連続して捕捉されてもよい。
【0057】
[0115] 幾つかの実施形態において、本明細書で開示される画像捕捉装置(例えば画像捕捉装置122、124及び126)の1つ又は複数は、高解像度イメージャを構成してもよく、且つ5M画素、7M画素、10M画素、又はより大きな解像度を有してもよい。
【0058】
[0116] ローリングシャッタの使用は、相異なる行における画素が、相異なる時刻に露光され捕捉されることに帰着し得、それは、捕捉画像フレームにおける歪み及び他の画像アーチファクトを引き起こし得る。他方で、画像捕捉装置122が、グローバル又は同期シャッタで動作するように構成された場合に、画素の全ては、同じ時間量にわたって、且つ共通露光期間中に露光され得る。その結果、グローバルシャッタを用いるシステムから収集されたフレームにおける画像データは、特定の時刻における全FOV(FOV202など)のスナップ写真を表す。対照的に、ローリングシャッタの適用において、フレームにおける各行が露光され、データは、相異なる時刻に捕捉される。従って、移動している対象は、ローリングシャッタを有する画像捕捉装置において歪められたように見え得る。この現象は、以下でより詳細に説明される。
【0059】
[0117] 第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を有してもよい。
【0060】
[0118] 画像捕捉装置124及び126は、車両200に関連するシーンに関する複数の第2及び第3の画像を取得してもよい。複数の第2及び第3の画像のそれぞれは、第2及び第3の一連の画像走査線として取得されてもよく、それらは、ローリングシャッタを用いて捕捉されてもよい。各走査線又は行は、複数の画素を有してもよい。画像捕捉装置124及び126は、第2及び第3のシリーズに含まれる画像走査線のそれぞれの取得に関連する第2及び第3の走査速度を有してもよい。
【0061】
[0119] 各画像捕捉装置122、124及び126は、車両200に対する任意の適切な位置及び向きに配置されてもよい。画像捕捉装置122、124及び126の相対的位置決めは、画像捕捉装置から取得される情報を一緒に結合することを支援するように選択されてもよい。例えば、幾つかの実施形態において、画像捕捉装置124に関連するFOV(FOV204など)は、画像捕捉装置122に関連するFOV(FOV202など)、及び画像捕捉装置126に関連するFOV(FOV206など)と部分的に又は完全に重複してもよい。
【0062】
[0120] 画像捕捉装置122、124及び126は、任意の適切な相対的高さで車両200に位置してもよい。1つの実例において、画像捕捉装置122、124、及び126間に高低差があってもよく、これらの画像捕捉装置は、立体解析を可能にする十分な視差情報を提供し得る。例えば、
図2Aに示されているように、2つの画像捕捉装置122及び124は、相異なる高さにある。画像捕捉装置122、124及び126間の横変位差もまたあり、例えば、処理ユニット110による立体解析用の追加の視差情報を与え得る。横変位における差は、
図2C及び2Dに示されているように、d
xによって表示されてもよい。幾つかの実施形態において、前後変位(例えば、範囲変位)が、画像捕捉装置122、124及び126間に存在してもよい。例えば、画像捕捉装置122は、画像捕捉装置124及び/又は画像捕捉装置126の0.5~2メートル、又はそれ以上後ろに位置してもよい。この種の変位は、画像捕捉装置の1つが、他の画像捕捉装置の潜在的な盲点をカバーできるようにし得る。
【0063】
[0121] 画像捕捉装置122は、任意の適切な解像能力(例えば画像センサに関連する画素数)を有してもよく、画像捕捉装置122に関連する画像センサの解像度は、画像捕捉装置124及び126に関連する画像センサの解像度より高いか、より低いか、又はそれと同じであってもよい。幾つかの実施形態において、画像捕捉装置122及び/又は画像捕捉装置124及び126に関連する画像センサは、640×480、1024×768、1280×960の解像度又は任意の他の適切な解像度を有してもよい。
【0064】
[0122] フレームレート(例えば、画像捕捉装置が、次の画像フレームに関連する捕捉画素データを捕捉することに移る前に、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の画像フレームに関連する画像データの取得の前又は後に課される選択可能な垂直ブランキング期間を含んでもよい。
【0065】
[0123] これらのタイミング制御は、画像捕捉装置122、124及び126のそれぞれのライン走査速度が相異なる場合にさえ、画像捕捉装置122、124及び126に関連するフレームレートの同期化を可能にし得る。加えて、以下でより詳細に説明されるように、数ある要因(例えば画像センサ解像度、最大ライン走査速度等)の中で、これらの選択可能なタイミング制御は、画像捕捉装置122の視野が、画像捕捉装置124及び126のFOVと相異なる場合にさえ、画像捕捉装置122のFOVが、画像捕捉装置124及び126の1つ又は複数のFOVと重複するエリアからの画像捕捉の同期化を可能にし得る。
【0066】
[0124] 画像捕捉装置122、124及び126におけるフレームレートタイミングは、関連する画像センサの解像度に依存し得る。例えば、両方の装置用に同様のライン走査速度を仮定すると、1つの装置が640×480の解像度を有する画像センサを含み、且つ別の装置が、1280×960の解像度を備えた画像センサを含む場合に、より多くの時間が、より高い解像度を有するセンサから画像データのフレームを取得するために必要とされる。
【0067】
[0125] 画像捕捉装置122、124及び126における画像データ取得のタイミングに影響し得る別の要因は、最大ライン走査速度である。例えば、画像捕捉装置122、124及び126に含まれる画像センサからの画像データの行の取得は、幾らかの最小時間量を必要とする。画素遅延期間が追加されないと仮定すると、画像データの行の取得用のこの最小時間量は、特定の装置用の最大ライン走査速度と関係する。より高い最大ライン走査速度を提供する装置は、より低い最大ライン走査速度を備えた装置より高いフレームレートを提供する可能性を有する。幾つかの実施形態において、画像捕捉装置124及び126の1つ又は複数は、画像捕捉装置122に関連する最大ライン走査速度より高い最大ライン走査速度を有してもよい。幾つかの実施形態において、画像捕捉装置124及び/又は126の最大ライン走査速度は、画像捕捉装置122の最大ライン走査速度の1.25倍、1.5倍、1.75倍又は2倍以上であってもよい。
【0068】
[0126] 別の実施形態において、画像捕捉装置122、124及び126は、同じ最大ライン走査速度を有してもよいが、画像捕捉装置122は、その最大走査速度以下の走査速度で操作されてもよい。システムは、画像捕捉装置124及び126の1つ又は複数が、画像捕捉装置122のライン走査速度と等しいライン走査速度で動作するように構成されてもよい。他の実例において、システムは、画像捕捉装置124及び/又は画像捕捉装置126のライン走査速度が、画像捕捉装置122のライン走査速度の1.25倍、1.5倍、1.75倍、又は2倍以上であり得るように構成されてもよい。
【0069】
[0127] 幾つかの実施形態において、画像捕捉装置122、124及び126は、非対称であってもよい。即ち、それらは、相異なる視野(FOV)及び焦点距離を有するカメラを含んでもよい。画像捕捉装置122、124及び126の視野は、例えば、車両200の環境に関する任意の所望のエリアを含んでもよい。幾つかの実施形態において、画像捕捉装置122、124及び126の1つ又は複数は、車両200の前方、車両200の背後、車両200の側方、又はそれらの組み合わせにおける環境から画像データを取得するように構成されてもよい。
【0070】
[0128] 更に、各画像捕捉装置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等を超える)対象の画像を取得できるように、選択されてもよい。
【0071】
[0129] 幾つかの実施形態によれば、1つ又は複数の画像捕捉装置122、124及び126のFOVは、広角度を有してもよい。例えば、特に車両200の近辺のエリアの画像を捕捉するために使用され得る画像捕捉装置122、124及び126用に、140度のFOVを有することが有利になり得る。例えば、画像捕捉装置122は、車両200の右又は左の方のエリアの画像を捕捉するために使用されてもよく、かかる実施形態において、画像捕捉装置122が広FOV(例えば少なくとも140度)を有することが望ましくなり得る。
【0072】
[0130] 画像捕捉装置122、124及び126のそれぞれに関連する視野は、それぞれの焦点距離に依存してもよい。例えば、焦点距離が増加するにつれて、対応する視野は減少する。
【0073】
[0131] 画像捕捉装置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まで変化してもよい。
【0074】
[0132] システム100は、画像捕捉装置122の視野が、画像捕捉装置124及び/又は画像捕捉装置126の視野と少なくとも部分的に又は完全に重複するように、構成されてもよい。幾つかの実施形態において、システム100は、例えば画像捕捉装置124及び126の視野が、画像捕捉装置122の視野の内側に入り(例えば、より狭い)、且つ画像捕捉装置122の視野と共通の中心を共有するように、構成されてもよい。他の実施形態において、画像捕捉装置122、124及び126は、隣接するFOVを捕捉してもよく、又はそれらのFOVにおいて部分的な重複を有してもよい。幾つかの実施形態において、画像捕捉装置122、124及び126の視野は、より狭FOVの画像捕捉装置124及び/又は126の中心が、より広いFOV装置122の視野の下半分に位置し得るように、整列されてもよい。
【0075】
[0133]
図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に関連して提供される。
【0076】
[0134]
図3Aに示されているように、車両200はまた、車両200の運転者又は同乗者との対話用のユーザインターフェース170を含んでもよい。例えば、車両用途におけるユーザインターフェース170は、タッチスクリーン320、ノブ330、ボタン340、及びマイクロホン350を含んでもよい。車両200の運転者又は同乗者はまた、システム100と対話するために、ハンドル(例えば、方向指示器ハンドルを含む、車両200のステアリングコラム上に又はその近くに位置する)、ボタン(例えば、車両200のステアリングホイールに位置する)などを用いてもよい。幾つかの実施形態において、マイクロホン350は、バックミラー310に隣接して配置されてもよい。同様に、幾つかの実施形態において、画像捕捉装置122は、バックミラー310の近くに位置してもよい。幾つかの実施形態において、ユーザインターフェース170はまた、1つ又は複数のスピーカ360(例えば車両オーディオシステムのスピーカ)を含んでもよい。例えば、システム100は、スピーカ360を介して様々な通知(例えば警報)を提供してもよい。
【0077】
[0135]
図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の正面斜視図の実例である。
【0078】
[0136] この開示の利益を有する当業者によって認識されるように、多数の変形及び/又は修正が、前述の開示された実施形態に行われ得る。例えば、全てのコンポーネントが、システム100の動作にとって不可欠であるわけではない。更に、いずれのコンポーネントも、システム100の任意の適切な部分に位置してもよく、コンポーネントは、開示される実施形態の機能を提供しながら、様々な構成に再配置されてもよい。従って、前述の構成は例であり、上述の構成にかかわらず、システム100は、車両200の周囲状況を解析する広範囲の機能を提供し、且つ解析に応答して車両200をナビゲートすることができる。
【0079】
[0137] 以下で更に詳細に検討され、且つ様々な開示される実施形態と一致するように、システム100は、自律運転及び/又は運転者支援技術に関係する様々な特徴を提供し得る。例えば、システム100は、画像データ、位置データ(例えばGPS位置情報)、地図データ、速度データ、及び/又は車両200に含まれるセンサからのデータを解析してもよい。システム100は、例えば画像取得ユニット120、位置センサ130、及び他のセンサからのデータを解析用に収集してもよい。更に、システム100は、車両200が、或る行動を取るべきか否かを決定し、次に、人間の介入なしに、決定された行動を自動的に取るために、収集データを解析してもよい。例えば、車両200が、人間の介入なしにナビゲートする場合に、システム100は、(例えば、スロットルシステム220、ブレーキシステム230、及びステアリングシステム240の1つ又は複数に制御信号を送信することによって)車両200の制動、加速、及び/又はステアリングを自動的に制御してもよい。更に、システム100は、収集データを解析し、且つ収集データの解析に基づいて警告及び/又は警報を車両乗員に発してもよい。システム100によって提供される様々な実施形態に関する追加の詳細は、以下で提供される。
【0080】
[0138] 前向きマルチ撮像システム
[0139] 上記のように、システム100は、マルチカメラシステムを用いる駆動アシスト機能を提供してもよい。マルチカメラシステムは、車両の前方方向を向いた1つ又は複数のカメラを用いてもよい。他の実施形態において、マルチカメラシステムは、車両の側部又は車両の後部の方を向いた1つ又は複数のカメラを含んでもよい。一実施形態において、例えば、システム100は、2つのカメラ撮像システムを用いてもよく、第1のカメラ及び第2のカメラ(例えば画像捕捉装置122及び124)は、車両(例えば車両200)の前部及び/又は側部に配置されてもよい。他のカメラ構成が、開示される実施形態と一致し、本明細書で開示される構成は、例である。例えば、システム100は、任意の数のカメラ(例えば1つ、2つ、3つ、4つ、5つ、6つ、7つ、8つ等)の構成を含んでもよい。更に、システム100は、カメラ「クラスタ」を含んでもよい。例えば、(任意の適切な数のカメラ、例えば1つ、4つ、8つ等を含む)カメラクラスタは、車両に対して前向きであってよく、又は任意の他の方向(例えば後ろ向き、横向き、斜め等)を向いてもよい。従って、システム100は、多数のカメラクラスタを含んでもよく、各クラスタは、車両の環境の特定の領域から画像を捕捉するために、特定の方向に向けられる。
【0081】
[0140] 第1のカメラは、第2のカメラの視野より大きいか、小さいか、又は部分的に重複する視野を有してもよい。加えて、第1のカメラは、第1のカメラによって提供される画像の単眼画像解析を実行するために、第1の画像プロセッサに接続されてもよく、第2のカメラは、第2のカメラによって提供される画像の単眼画像解析を実行するために、第2の画像プロセッサに接続されてもよい。第1及び第2の画像プロセッサの出力(例えば処理された情報)は、組み合わされてもよい。幾つかの実施形態において、第2の画像プロセッサは、立体解析を実行するために、第1のカメラ及び第2のカメラの両方から画像を受信してもよい。別の実施形態において、システム100は、カメラのそれぞれが異なる視野を有する3カメラ撮像システムを用いてもよい。従って、かかるシステムは、車両の前方及び側方両方の可変距離に位置する対象に由来する情報に基づく決定を行ってもよい。単眼画像解析への言及は、画像解析が、単一の視点から(例えば単一のカメラから)捕捉された画像に基づいて実行される例を指してもよい。立体画像解析は、画像解析が、捕捉画像パラメータの1つ又は複数の変化を用いて捕捉された2つ以上の画像に基づいて実行される例を指してもよい。例えば、立体画像解析を実行するのに適した捕捉画像は、2つ以上の相異なる位置から、相異なる視野から、相異なる焦点距離を用いて、視差情報と共に等で捕捉された画像を含んでもよい。
【0082】
[0141] 例えば、一実施形態において、システム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に対する車両内部からのどんな反射の影響も最小化するように働き得る。
【0083】
[0142] 別の実施形態において、
図3B及び3Cに関連して上記で説明されたように、広視野のカメラ(例えば上記の例における画像捕捉装置124)は、狭視野カメラ及び主視野カメラ(例えば上記の例における画像装置122及び126)より低く搭載されてもよい。この構成は、広視野カメラからの自由な視線を提供し得る。反射を低減するために、カメラは、車両200のフロントガラスの近くに搭載されてもよく、且つ反射光を減少させるためにカメラ上に偏光子を含んでもよい。
【0084】
[0143] 3カメラシステムは、或る性能特性を提供し得る。例えば、幾つかの実施形態は、別のカメラからの検出結果に基づいて、1つのカメラによる対象の検出を検証する能力を含み得る。上記の3カメラ構成において、処理ユニット110は、例えば、3つの処理装置(例えば上記のように、プロセッサチップの3つのEyeQシリーズ)を含んでもよく、各処理装置は、画像捕捉装置122~126の1つ又は複数によって捕捉された画像を処理することに専念する。
【0085】
[0144] 3カメラシステムにおいて、第1の処理装置は、主カメラ及び狭視野カメラの両方から画像を受信し、且つ例えば、他の車両、歩行者、車線マーク、交通標識、交通信号灯、及び他の路上対象を検出するために、狭FOVカメラのビジョン処理を実行してもよい。更に、第1の処理装置は、主カメラからの画像と狭カメラとの間の画素の相違を計算し、且つ車両200の環境の3D再構成を作成してもよい。次に、第1の処理装置は、3D地図データと又は別のカメラからの情報に基づいて計算された3D情報と3D再構成を組み合わせてもよい。
【0086】
[0145] 第2の処理装置は、主カメラから画像を受信し、且つ他の車両、歩行者、車線マーク、交通標識、交通信号灯、及び他の路上対象を検出するために、ビジョン処理を実行してもよい。加えて、第2の処理装置は、カメラ変位を計算し、且つ変位に基づいて、連続画像間の画素の相違を計算し、シーンの3D再構成を作成してもよい(例えば、structure from motion(運動からの構造復元))。第2の処理装置は、立体3D画像と組み合わされるように、3D再構成に基づいたstructure from motionを第1の処理装置に送信してもよい。
【0087】
[0146] 第3の処理装置は、広FOVカメラから画像を受信し、且つ車両、歩行者、車線マーク、交通標識、交通信号灯、及び他の路上対象を検出するために画像を処理してもよい。第3の処理装置は、車線を変更している車両、歩行者など、画像において移動している対象を識別するように画像を解析するために、追加の処理命令を更に実行してもよい。
【0088】
[0147] 幾つかの実施形態において、独立して捕捉され処理された画像ベースの情報ストリームを有することによって、システムにおける冗長性を提供する機会が提供され得る。かかる冗長性は、例えば、少なくとも第2の画像捕捉装置からの画像情報を捕捉し処理することによって取得された情報を検証し及び/又は補足するために、第1の画像捕捉装置及びその装置からの処理された画像を用いることを含んでもよい。
【0089】
[0148] 幾つかの実施形態において、システム100は、車両200用にナビゲーション支援を提供する場合に、2つの画像捕捉装置(例えば画像捕捉装置122及び124)を用い、且つ冗長性を提供して、画像捕捉装置122及び124から受信されたデータの解析を検証するために第3の画像捕捉装置(例えば画像捕捉装置126)を用いてもよい。例えば、かかる構成において、画像捕捉装置122及び124は、車両200をナビゲートするためにシステム100による立体解析用の画像を提供してもよく、一方で画像捕捉装置126は、画像捕捉装置122及び/又は画像捕捉装置124から捕捉された画像に基づいて取得された情報の冗長性及び検証を提供するために、システム100による単眼解析用の画像を提供してもよい。即ち、画像捕捉装置126(及び対応する処理装置)は、(例えば自動非常ブレーキ(AEB)システムを提供するために)画像捕捉装置122及び124に由来する解析に対するチェックを提供するための冗長サブシステムを提供すると考えられてもよい。更に、幾つかの実施形態において、受信データの冗長性及び検証は、1つ又は複数センサから受信された情報(例えばレーダ、ライダ、音響センサ、車両の外部の1つ又は複数のトランシーバから受信された情報等)に基づいて補足されてもよい。
【0090】
[0149] 当業者は、上記のカメラ構成、カメラ配置、カメラの数、カメラ位置等が、単に例であることを認識されよう。これらのコンポーネント及び全体的なシステムに関連して説明される他のコンポーネントは、開示される実施形態の範囲から逸脱せずに、様々な相異なる構成において組み立てられ、用いられてもよい。運転者支援及び/又は自律車両機能を提供するマルチカメラシステムの使用に関する更なる詳細は、以下に続く。
【0091】
[0150]
図4は、メモリ140及び/又は150の例示的な機能ブロック図であり、メモリ140及び/又は150は、開示される実施形態と一致する1つ又は複数の動作を実行するための命令を格納/プログラムされてもよい。下記は、メモリ140に触れるが、当業者は、命令が、メモリ140及び/又は150に格納されてもよいことを認識されよう。
【0092】
[0151]
図4に示されているように、メモリ140は、単眼画像解析モジュール402、立体画像解析モジュール404、速度及び加速度モジュール406、並びにナビゲーション応答モジュール408を格納してもよい。開示される実施形態は、メモリ140のどんな特定の構成にも限定されない。更に、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、メモリ140に含まれるモジュール402-408のいずれかに格納された命令を実行してもよい。当業者は、処理ユニット110への以下の説明における言及が、アプリケーションプロセッサ180及び画像プロセッサ190を個々に又は集合的に指してもよいことを理解されよう。従って、以下のプロセスのいずれかにおけるステップは、1つ又は複数の処理装置によって実行されてもよい。
【0093】
[0152] 一実施形態において、単眼画像解析モジュール402は、命令(コンピュータビジョンソフトウェアなど)を格納してもよく、それらの命令は、処理ユニット110によって実行された場合に、画像捕捉装置122、124及び126の1つによって取得された画像セットの単眼画像解析を実行する。幾つかの実施形態において、処理ユニット110は、単眼画像解析を実行するために、画像セットからの情報を追加の知覚情報(例えばレーダからの情報)と組み合わせてもよい。以下で
図5A-5Dに関連して説明されるように、単眼画像解析モジュール402は、車線区分線、車両、歩行者、道路標識、ハイウェイ出口ランプ、交通信号灯、危険な対象、及び車両の環境に関連する任意の他の特徴などの画像セット内の特徴セットを検出するための命令を含んでもよい。解析に基づき、(例えば処理ユニット110を介して)システム100は、ナビゲーション応答モジュール408に関連して以下で説明されるように、方向転換、車線変更、加速度の変更など、車両200における1つ又は複数のナビゲーション応答を引き起こしてもよい。
【0094】
[0153] 一実施形態において、単眼画像解析モジュール402は、命令(コンピュータビジョンソフトウェアなど)を格納してもよく、これらの命令は、処理ユニット110によって実行された場合に、画像捕捉装置122、124及び126の1つによって取得された画像セットの単眼画像解析を実行する。幾つかの実施形態において、処理ユニット110は、単眼画像解析を実行するために、画像セットからの情報を追加の知覚情報(例えばレーダ、ライダ等からの情報)と組み合わせてもよい。以下で
図5A-5Dに関連して説明されるように、単眼画像解析モジュール402は、車線区分線、車両、歩行者、道路標識、ハイウェイ出口ランプ、交通信号灯、危険な対象、及び車両の環境に関連する任意の他の特徴などの画像セット内の特徴セットを検出するための命令を含んでもよい。解析に基づき、(例えば処理ユニット110を介して)システム100は、ナビゲーション応答の決定に関連して以下で説明されるように、方向転換、車線変更、加速度の変更など、車両200における1つ又は複数のナビゲーション応答を引き起こしてもよい。
【0095】
[0154] 一実施形態において、立体画像解析モジュール404は、命令(コンピュータビジョンソフトウェアなど)を格納してもよく、これらの命令は、処理ユニット110によって実行された場合に、画像捕捉装置122、124及び126のいずれかから選択される画像捕捉装置の組み合わせによって取得された第1及び第2の画像セットの立体画像解析を実行する。幾つかの実施形態において、処理ユニット110は、立体画像解析を実行するために、第1及び第2の画像セットからの情報を追加の知覚情報(例えばレーダからの情報)と組み合わせてもよい。例えば、立体画像解析モジュール404は、画像捕捉装置124によって取得された第1の画像セット、及び画像捕捉装置126によって取得された第2の画像セットに基づいて、立体画像解析を実行するための命令を含んでもよい。以下で
図6に関連して説明されるように、立体画像解析モジュール404は、車線区分線、車両、歩行者、道路標識、ハイウェイ出口ランプ、交通信号灯、危険な対象などの第1及び第2の画像セット内の特徴セットを検出するための命令を含んでもよい。解析に基づいて、処理ユニット110は、ナビゲーション応答モジュール408に関連して以下で説明されるように、方向転換、車線変更、加速度の変更などの車両200における1つ又は複数のナビゲーション応答を引き起こしてもよい。更に、幾つかの実施形態において、立体画像解析モジュール404は、訓練されたシステム(ニューラルネットワーク若しくはディープニューラルネットワークなど)又は訓練されていないシステムに関連する技術を実施してもよい。
【0096】
[0155] 一実施形態において、速度及び加速度モジュール406は、車両200の速度及び/又は加速度の変更を引き起こすように構成される、車両200における1つ又は複数のコンピューティング及び電気機械装置から受信されたデータを解析するように構成されたソフトウェアを格納してもよい。例えば、処理ユニット110は、単眼画像解析モジュール402及び/又は立体画像解析モジュール404の実行に由来するデータに基づいて、車両200用の目標速度を計算するために、速度及び加速度モジュール406に関連する命令を実行してもよい。かかるデータは、例えば、目標位置と、速度及び/又は加速と、近くの車両、歩行者又は路上対象に対する車両200の位置及び/又は速度と、道路の車線区分線に対する車両200用の位置情報と、などを含んでもよい。加えて、処理ユニット110は、知覚入力(例えばレーダからの情報)と、車両200のスロットルシステム220、ブレーキシステム230及び/又はステアリングシステム240など、車両200用の他のシステムからの入力と、に基づいて、車両200用の目標速度を計算してもよい。計算された目標速度に基づいて、処理ユニット110は、例えば、車両200のブレーキを物理的に押し込み、アクセルを緩めることによって速度及び/又は加速度の変更を引き起こすために、車両200のスロットルシステム220、ブレーキシステム230及び/又はステアリングシステム240に電気信号を伝送してもよい。
【0097】
[0156] 一実施形態において、ナビゲーション応答モジュール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の出力(例えば所望のナビゲーション応答)を用いてもよい。
【0098】
[0157] 更に、本明細書で開示されるモジュール(例えばモジュール402、404及び406)のいずれかは、訓練されたシステム(ニューラルネットワーク又はディープニューラルネットワークなど)又は訓練されていないシステムに関連する技術を実施してもよい。
【0099】
[0158]
図5Aは、開示される実施形態と一致する、単眼画像解析に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的なプロセス500Aを示すフローチャートである。ステップ510において、処理ユニット110は、処理ユニット110と画像取得ユニット120との間のデータインターフェース128を介して複数の画像を受信してもよい。例えば、画像取得ユニット120(視野202を有する画像捕捉装置122など)に含まれるカメラは、車両200の前方(又は例えば車両の側部又は後部の方)のエリアの複数の画像を捕捉し、且つデータ接続(例えば、デジタル、有線、USB、無線、Bluetooth等)を通じてそれらの画像を処理ユニット110に伝送してもよい。処理ユニット110は、
図5B-5Dに関連して以下で更に詳細に説明されるように、ステップ520において複数の画像を解析するために、単眼画像解析モジュール402を実行してもよい。解析を実行することによって、処理ユニット110は、車線区分線、車両、歩行者、道路標識、ハイウェイ出口ランプ、交通信号灯など、画像セット内の特徴セットを検出してもよい。
【0100】
[0159] 処理ユニット110はまた、例えばトラックタイヤの一部、落ちた道路標識、ルーズカーゴ、小動物など、ステップ520において様々な道路危険物を検出するために、単眼画像解析モジュール402を実行してもよい。道路危険物は、構造、形状、サイズ及び色において相異なる可能性があり、それらは、かかる危険物の検出をより困難にさせ得る。幾つかの実施形態において、処理ユニット110は、道路危険物を検出するように複数の画像に対してマルチフレーム解析を実行するために、単眼画像解析モジュール402を実行してもよい。例えば、処理ユニット110は、連続画像フレーム間のカメラ動作を評価し、且つ道路の3D地図を構成するためにフレーム間の画素における相違を計算してもよい。次に、処理ユニット110は、路面と同様に路面上に存在する危険物を検出するために3D地図を用いてもよい。
【0101】
[0160] ステップ530において、処理ユニット110は、ステップ520で実行された解析及び
図4に関連して上記で説明された技術に基づいて、車両200における1つ又は複数のナビゲーション応答を引き起こすために、ナビゲーション応答モジュール408を実行してもよい。ナビゲーション応答は、例えば、方向転換、車線変更、加速度の変更などを含んでもよい。幾つかの実施形態において、処理ユニット110は、1つ又は複数のナビゲーション応答を引き起こすために、速度及び加速度モジュール406の実行に由来するデータを用いてもよい。加えて、多数のナビゲーション応答が、同時にか、シーケンスでか、又はそれらの任意の組み合わせで行われてもよい。例えば、処理ユニット110は、車両200に一レーンにわたって移動させ、次に、例えば車両200のステアリングシステム240及びスロットルシステム220に制御信号を連続して伝送することによって、加速してもよい。代替として、処理ユニット110は、例えば車両200のブレーキシステム230及びステアリングシステム240に制御信号を同時に伝送することによって、車両200にブレーキをかけさせ、一方で同時に車線を変更してもよい。
【0102】
[0161]
図5Bは、開示される実施形態と一致する、画像セットにおける1つ又は複数の車両及び/又は歩行者の検出用の例示的なプロセス500Bを示すフローチャートである。処理ユニット110は、プロセス500Bを実行するために、単眼画像解析モジュール402を実行してもよい。ステップ540において、処理ユニット110は、可能性がある車両及び/又は歩行者を表す候補対象セットを決定してもよい。例えば、処理ユニット110は、1つ又は複数の画像を走査し、画像を1つ又は複数の所定のパターンと比較し、且つ関心のある対象(例えば車両、歩行者又はそれらの一部)を含み得る、可能性がある位置を各画像内で識別してもよい。所定のパターンは、高率の「偽ヒット」及び低率の「見落とし」を達成するような方法で設計されてもよい。例えば、処理ユニット110は、可能性がある車両又は歩行者としての候補対象を識別するための所定のパターンとの類似性の低閾値を用いてもよい。そうすることによって、処理ユニット110は、車両又は歩行者を表す候補対象を見落とす(例えば識別しない)可能性を低減することが可能になる。
【0103】
[0162] ステップ542において、処理ユニット110は、分類基準に基づいて或る対象(例えば無関係な又はそれほど関係のない対象)を除外するために、候補対象セットをフィルタリングしてもよい。かかる基準は、データベース(例えば、メモリ140に格納されたデータベース)に格納された対象タイプに関連する様々な特性から導き出されてもよい。特性は、対象の形状、寸法、テクスチャ、位置(例えば車両200に対する)などを含んでもよい。従って、処理ユニット110は、候補対象セットからの誤った対象を拒否するために、1つ又は複数の基準セットを用いてもよい。
【0104】
[0163] ステップ544において、処理ユニット110は、候補対象セットにおける対象が、車両及び/又は歩行者を表すかどうかを決定するために、多数の画像フレームを解析してもよい。例えば、処理ユニット110は、連続フレームにわたって、検出された候補対象を追跡し、且つ検出された対象に関連するフレームごとのデータ(例えばサイズ、車両200に対する位置等)を蓄積してもよい。加えて、処理ユニット110は、検出された対象用のパラメータを評価し、対象のフレームごとの位置データを予測位置と比較してもよい。
【0105】
[0164] ステップ546において、処理ユニット110は、検出された対象用の測定値セットを構成してもよい。かかる測定値は、例えば、検出された対象に関連する(車両200に対する)位置、速度、及び加速度値を含んでもよい。幾つかの実施形態において、処理ユニット110は、カルマンフィルタ又は線形二次推定(LQE)などの一連の時間ベースの観察を用いる推定技術に基づいて、及び/又は相異なる対象タイプ(例えば乗用車、トラック、歩行者、自転車、道路標識等)用の利用可能なモデリングデータに基づいて、測定値を構成してもよい。カルマンフィルタは、対象のスケールの測定に基づいてもよく、スケール測定は、衝突までの時間(例えば車両200が対象に達する時間量)に比例する。従って、ステップ540-546を実行することによって、処理ユニット110は、捕捉画像セット内に現れる車両及び歩行者を識別し、且つ車両及び歩行者に関連する情報(例えば位置、速度、サイズ)を導き出してもよい。識別及び導き出された情報に基づいて、処理ユニット110は、上記で
図5Aに関連して説明されたように、車両200における1つ又は複数のナビゲーション応答を引き起こしてもよい。
【0106】
[0165] ステップ548において、処理ユニット110は、「偽ヒット」の検出及び車両又は歩行者を表す候補対象の見落としの可能性を低減するために、1つ又は複数の画像のオプティカルフロー解析を実行してもよい。オプティカルフロー解析は、例えば、他の車両及び歩行者に関連する1つ又は複数の画像において車両200に対する、且つ路面の動作とは異なる動作パターンを解析することを指してもよい。処理ユニット110は、多数の画像フレームにわたって対象の相異なる位置を観察することによって、候補対象の動作を計算してもよく、多数の画像フレームは、相異なる時刻に捕捉される。処理ユニット110は、候補対象の動作を計算するための数学モデルへの入力として、位置及び時間値を用いてもよい。従って、オプティカルフロー解析は、車両200のすぐ近くの車両及び歩行者を検出する別の方法を提供し得る。処理ユニット110は、車両及び歩行者を検出するための冗長性を提供し、且つシステム100の信頼性を向上させるために、ステップ540-546と組み合わせてオプティカルフロー解析を実行してもよい。
【0107】
[0166]
図5Cは、開示される実施形態と一致する、画像セットにおける路面標識及び/又は車線ジオメトリ情報を検出するための例示的なプロセス500Cを示すフローチャートである。処理ユニット110は、プロセス500Cを実施するために、単眼画像解析モジュール402を実行してもよい。ステップ550において、処理ユニット110は、1つ又は複数の画像を走査することによって、対象セットを検出してもよい。車線区分線、車線ジオメトリ情報、及び他の適切な路面標識のセグメントを検出するために、処理ユニット110は、無関係であると判定されたもの(例えば小さな穴、小さな岩等)を除外するために、対象セットをフィルタリングしてもよい。ステップ552において、処理ユニット110は、同じ路面標識又は車線マークに属する、ステップ550で検出されたセグメントをグループ分けしてもよい。グループ分けに基づいて、処理ユニット110は、数学モデルなど、検出されたセグメントを表すモデルを開発してもよい。
【0108】
[0167] ステップ554において、処理ユニット110は、検出されたセグメントに関連する測定値セットを構成してもよい。幾つかの実施形態において、処理ユニット110は、画像面からの検出されたセグメントの投影を実世界の平面上に作成してもよい。投影は、検出された道路の位置、傾斜、曲率及び曲率導関数などの物理的特性に対応する係数を有する三次多項式を用いて特徴付けられてもよい。投影を生成する場合に、処理ユニット110は、車両200に関連するピッチレート及びロールレートと同様に、路面の変化を考慮してもよい。加えて、処理ユニット110は、路面に存在する位置及び動作のキューを解析することによって、道路高さをモデル化してもよい。更に、処理ユニット110は、1つ又は複数の画像における特徴点セットを追跡することによって、車両200に関連するピッチレート及びロールレートを推定してもよい。
【0109】
[0168] ステップ556において、処理ユニット110は、例えば、検出されたセグメントを連続画像フレームにわたって追跡すること、及び検出されたセグメントに関連するフレームごとのデータを蓄積することによって、マルチフレーム解析を実行してもよい。処理ユニット110が、マルチフレーム解析を実行するので、ステップ554において構成された測定値セットは、より信頼できるようになり、ますます高い信頼レベルに関連付けられ得る。従って、ステップ550-556を実行することによって、処理ユニット110は、捕捉画像セット内に現れる路面標識を識別し、且つ車線ジオメトリ情報を導き出し得る。識別及び導き出された情報に基づいて、処理ユニット110は、上記で
図5Aに関連して説明されたように、車両200における1つ又は複数のナビゲーション応答を引き起こし得る。
【0110】
[0169] ステップ558において、処理ユニット110は、車両200の周囲状況の文脈において車両200用の安全モデルを更に開発するために、追加の情報源を考慮してもよい。処理ユニット110は、システム100が安全な方法で車両200の自律制御を実行し得る文脈を定義するために安全モデルを用いてもよい。安全モデルを開発するために、幾つかの実施形態において、処理ユニット110は、他の車両の位置及び動作、検出された路肩及びバリア、及び/又は地図データ(地図データベース160からのデータなど)から抽出された一般的な道路形状の説明を考慮してもよい。追加の情報源を考慮することによって、処理ユニット110は、路面標識及び車線ジオメトリを検出するための冗長性を提供し、且つシステム100の信頼性を向上させてもよい。
【0111】
[0170]
図5Dは、開示される実施形態と一致する、画像セットにおける交通信号灯を検出するための例示的なプロセス500Dを示すフローチャートである。処理ユニット110は、プロセス500Dを実施するために、単眼画像解析モジュール402を実行してもよい。ステップ560において、処理ユニット110は、画像セットを走査し、且つ交通信号灯を含みそうな画像における位置に現れる対象を識別してもよい。例えば、処理ユニット110は、交通信号灯に対応しそうもない識別された対象を除外した候補対象セットを構成するために、識別された対象をフィルタリングしてもよい。フィルタリングは、形状、寸法、テクスチャ、位置(例えば車両200に対する)など、交通信号灯に関連する様々な特性に基づいて行われてもよい。かかる特性は、交通信号灯及び交通制御信号の多数の例に基づき、且つデータベースに格納されてもよい。幾つかの実施形態において、処理ユニット110は、可能性のある交通信号灯を反映する候補対象セットに対してマルチフレーム解析を実行してもよい。例えば、処理ユニット110は、連続画像フレームにわたって候補対象を追跡し、候補対象の実世界の位置を推定し、且つ移動している対象(交通信号灯とは考えられない)を除外してもよい。幾つかの実施形態において、処理ユニット110は、候補対象に対して色解析を実行し、且つ可能性のある交通信号灯内に現れる検出された色の相対的位置を識別してもよい。
【0112】
[0171] ステップ562において、処理ユニット110は、交差点ジオメトリを解析してもよい。解析は、(i)車両200の両側において検出された車線の数、(ii)道路上で検出された標識(矢印標識など)、及び(iii)地図データ(地図データベース160からのデータなど)から抽出された交差点の説明の任意の組み合わせに基づいてもよい。処理ユニット110は、単眼解析モジュール402の実行に由来する情報を用いて解析を実行してもよい。加えて、処理ユニット110は、ステップ560で検出された交通信号灯と、車両200の近くに現れる車線との間の一致を判定してもよい。
【0113】
[0172] 車両200が、交差点に近づくにつれて、ステップ564において、処理ユニット110は、解析された交差点ジオメトリ及び検出された交通信号灯に関連する信頼レベルを更新してもよい。例えば、交差点に実際に現れる数と比較された、交差点に現れると推定された交通信号灯の数は、信頼レベルに影響してもよい。従って、信頼レベルに基づいて、処理ユニット110は、安全条件を改善するために、車両200の運転者に制御を委ねてもよい。ステップ560-564を実行することによって、処理ユニット110は、捕捉画像セット内に現れる交通信号灯を識別し、且つ交差点ジオメトリ情報を解析してもよい。識別及び解析に基づいて、処理ユニット110は、上記で
図5Aに関連して説明されたように、車両200における1つ又は複数のナビゲーション応答を引き起こしてもよい。
【0114】
[0173]
図5Eは、開示される実施形態と一致する、車両経路に基づいて、車両200における1つ又は複数のナビゲーション応答を引き起こすための例示的なプロセス500Eを示すフローチャートである。ステップ570において、処理ユニット110は、車両200に関連する初期車両経路を構成してもよい。車両経路は、座標(x、z)で表現された点集合を用いて表されてもよく、点集合における2点間の距離d
iは、1~5メートルの範囲に入ってもよい。一実施形態において、処理ユニット110は、左及び右の道路多項式などの2つの多項式を用いて、初期車両経路を構成してもよい。処理ユニット110は、2つの多項式間の幾何学的な中間点を計算し、且つもしあれば(ゼロのオフセットは、車線の真中を移動していることに対応してもよい)、所定のオフセット(例えばスマートレーンオフセット)だけ、結果としての車両経路に含まれる各点をオフセットしてもよい。オフセットは、車両経路における任意の2点間のセグメントに垂直な方向であってもよい。別の実施形態において、処理ユニット110は、推定車線幅の半分+所定のオフセット(例えばスマートレーンオフセット)だけ車両経路の各点をオフセットするために、1つの多項式及び推定車線幅を用いてもよい。
【0115】
[0174] ステップ572において、処理ユニット110は、ステップ570で構成された車両経路を更新してもよい。処理ユニット110は、車両経路を表す点集合における2点間の距離dkが、上記の距離di未満であるように、より高い解像度を用いて、ステップ570で構成された車両経路を再構成してもよい。例えば、距離dkは、0.1~0.3メートルの範囲に入ってもよい。処理ユニット110は、放物線スプラインアルゴリズムを用いて、車両経路を再構成してもよく、放物線スプラインアルゴリズムは、車両経路の全長(即ち、車両経路を表す点集合に基づいた)に対応する累積距離ベクトルSを生じてもよい。
【0116】
[0175] ステップ574において、処理ユニット110は、ステップ572において構成された更新車両経路に基づいて、((xl、zl)として座標で表現される)前方注視点を決定してもよい。処理ユニット110は、累積距離ベクトルSから前方注視点を抽出してもよく、前方注視点は、前方注視距離及び前方注視時間に関連付けられてもよい。前方注視距離は、10~20メートルに及ぶ下限を有してもよいが、車両200の速度及び前方注視時間の積として計算されてもよい。例えば、車両200の速度が低下するにつれて、前方注視距離もまた、(例えばそれが下限に達するまで)低下してもよい。前方注視時間は、0.5~1.5秒に及んでもよいが、進路誤差追跡制御ループなど、車両200におけるナビゲーション応答を引き起こすことに関連する1つ又は複数の制御ループの利得に反比例してもよい。例えば、進路誤差追跡制御ループの利得は、ヨーレートループ、ステアリングアクチュエータループ、自動車横方向力学などの帯域幅に依存し得る。従って、進路誤差追跡制御ループの利得が高ければ高いほど、それだけ前方注視時間は短い。
【0117】
[0176] ステップ576において、処理ユニット110は、ステップ574において決定された前方注視点に基づいて、進路誤差及びヨーレートコマンドを決定してもよい。処理ユニット110は、前方注視点のアークタンジェント、例えばarctan(xl/zl)を計算することによって、進路誤差を決定してもよい。処理ユニット110は、進路誤差及び高レベル制御利得の積としてヨーレートコマンドを決定してもよい。高レベル制御利得は、前方注視距離が下限にない場合に、(2/前方注視時間)に等しくてもよい。下限にある場合に、高レベル制御利得は、(2*車両200の速度/前方注視距離)と等しくてもよい。
【0118】
[0177]
図5Fは、開示される実施形態と一致する、先行車両が車線を変更しているかどうかを決定するための例示的なプロセス500Fを示すフローチャートである。ステップ580において、処理ユニット110は、先行車両(例えば車両200の前方を走行する車両)に関連するナビゲーション情報を決定してもよい。例えば、処理ユニット110は、上記で
図5A及び5Bに関連して説明した技術を用いて、先行車両の位置、速度(例えば方向及びスピード)及び/又は加速度を決定してもよい。処理ユニット110はまた、上記で
図5Eに関連して説明した技術を用いて、1つ又は複数の道路多項式、前方注視点(車両200に関係する)、及び/又はスネイルトレイル(snail trail)(例えば先行車両によって取られた経路を示す点集合)を決定してもよい。
【0119】
[0178] ステップ582において、処理ユニット110は、ステップ580で決定されたナビゲーション情報を解析してもよい。一実施形態において、処理ユニット110は、スネイルトレイルと道路多項式(例えばトレイルに沿った)との間の距離を計算してもよい。トレイルに沿ったこの距離の変動が、所定の閾値(例えば直線道路上で0.1~0.2メートル、適度に曲がった道路上で0.3~0.4メートル、及び急カーブの道路上で0.5~0.6メートル)を超える場合に、処理ユニット110は、先行車両が車線を変更しそうであると判定してもよい。車両200の前方を走行している多数の車両が検出された場合に、処理ユニット110は、各車両に関連するスネイルトレイルを比較してもよい。比較に基づいて、処理ユニット110は、スネイルトレイルが他の車両のスネイルトレイルと一致しない車両が、車線を変更しそうであると判定してもよい。処理ユニット110は、加えて、(先行車両に関連する)スネイルトレイルの曲率を先行車両が走行している道路セグメントの予想される曲率と比較してもよい。予想される曲率は、地図データ(例えば地図データベース160からのデータ)から、道路多項式から、他の車両のスネイルトレイルから、道路に関する事前知識などから抽出されてもよい。スネイルトレイルの曲率及び道路セグメントの予想される曲率の差が、所定の閾値を超える場合に、処理ユニット110は、先行車両が車線を変更しそうであると判定してもよい。
【0120】
[0179] 別の実施形態において、処理ユニット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は、(より近い)先行車両が、車線を変更しそうであると判定してもよい。
【0121】
[0180] ステップ584において、処理ユニット110は、ステップ582で実行される解析に基づいて、先行車両200が、車線を変更しているかどうかを決定してもよい。例えば、処理ユニット110は、ステップ582で実行される個別の解析の加重平均に基づいて決定を行ってもよい。かかる方式下において、例えば、特定のタイプの解析に基づいて、先行車両が、車線を変更しそうであるという処理ユニット110による決定は、「1」(及び先行車両が、車線を変更しそうにないという決定を表す「0」)の値を割り当てられてもよい。ステップ582で実行される相異なる解析は、相異なる重みを割り当てられてもよく、開示される実施形態は、解析及び重みのどんな特定の組み合わせにも限定されない。更に、幾つかの実施形態において、解析は、訓練されたシステム(例えば機械学習又はディープラーニングシステム)を利用してもよく、訓練されたシステムは、例えば、現在の位置で捕捉された画像に基づいて、車両の現在の位置の前方の将来の経路を推定してもよい。
【0122】
[0181]
図6は、開示される実施形態と一致する、立体画像解析に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的なプロセス600を示すフローチャートである。ステップ610において、処理ユニット110は、データインターフェース128を介して第1及び第2の複数の画像を受信してもよい。例えば、画像取得ユニット120(視野202及び204を有する画像捕捉装置122及び124など)に含まれるカメラは、車両200の前方エリアの第1及び第2の複数の画像を捕捉し、且つデジタル接続(例えばUSB、無線、Bluetooth等)を通じて処理ユニット110にそれらの画像を伝送してもよい。幾つかの実施形態において、処理ユニット110は、2つ以上のデータインターフェースを介して、第1及び第2の複数の画像を受信してもよい。開示される実施形態は、どんな特定のデータインターフェース構成にもプロトコルにも限定されない。
【0123】
[0182] ステップ620において、処理ユニット110は、車両の前方の道路の3D地図を作成し、且つ車線区分線、車両、歩行者、道路標識、ハイウェイ出口ランプ、交通信号灯、道路危険物など、画像内の特徴を検出するように第1及び第2の複数の画像の立体画像解析を実行するために、立体画像解析モジュール404を実行してもよい。立体画像解析は、上記で
図5A-5Dに関連して説明されたステップに似た方法で実行されてもよい。例えば、処理ユニット110は、第1及び第2の複数の画像内の候補対象(例えば車両、歩行者、路面標識、交通信号灯、道路危険物等)を検出し、様々な基準に基づいて候補対象のサブセットを除外し、マルチフレーム解析を実行し、測定値を構成し、且つ残っている候補対象用の信頼レベルを決定するために、立体画像解析モジュール404を実行してもよい。上記のステップを実行する場合に、処理ユニット110は、一画像セットだけからの情報ではなく、第1及び第2の複数の画像の両方からの情報を考慮してもよい。例えば、処理ユニット110は、第1及び第2の複数の画像の両方に現れる候補対象用に、画素レベルデータ(又は捕捉画像の2つのストリームの間からの他のデータサブセット)における差を解析してもよい。別の例として、処理ユニット110は、対象が複数の画像の一方に現れ、もう一方には現れないことを観察するか、又は2つの画像ストリームに現れる対象に対して存在し得る他の差異に対して観察することによって、(例えば車両200に対する)候補対象の位置及び/又は速度を推定してもよい。例えば、車両200に関係する位置、速度及び/又は加速度は、画像ストリームの一方又は両方に現れる対象に関連する特徴の軌道、位置、動作特性等に基づいて決定されてもよい。
【0124】
[0183] ステップ630において、処理ユニット110は、ステップ620で実行される解析及び
図4に関連して上記で説明した技術に基づいて、車両200における1つ又は複数のナビゲーション応答を引き起こすために、ナビゲーション応答モジュール408を実行してもよい。ナビゲーション応答は、例えば、方向転換、車線変更、加速度の変更、速度の変更、制動などを含んでもよい。幾つかの実施形態において、処理ユニット110は、1つ又は複数のナビゲーション応答を引き起こすために、速度及び加速度モジュール406の実行に由来するデータを用いてもよい。加えて、多数のナビゲーション応答は、同時にか、シーケンスでか、又はそれらの任意の組み合わせで行われてもよい。
【0125】
[0184]
図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にデータを伝えるための関連データインターフェースを有してもよい。開示される実施形態は、どんな特定のデータインターフェース構成又はプロトコルにも限定されない。
【0126】
[0185] ステップ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の複数の画像に対して行われる解析タイプにも限定されない。
【0127】
[0186] 幾つかの実施形態において、処理ユニット110は、ステップ710及び720で取得され解析された画像に基づいて、システム100に対して試験を実行してもよい。かかる試験は、画像捕捉装置122、124及び126の或る構成用にシステム100の全体的性能のインジケータを提供してもよい。例えば、処理ユニット110は、「偽ヒット」(例えばシステム100が、車両又は歩行者の存在を不正確に判定した場合)及び「見落とし」割合を決定してもよい。
【0128】
[0187] ステップ730において、処理ユニット110は、第1、第2及び第3の複数の画像の2つに由来する情報に基づいて、車両200における1つ又は複数のナビゲーション応答を引き起こしてもよい。第1、第2及び第3の複数の画像における2つの選択は、例えば複数の画像のそれぞれにおいて検出された対象の数、タイプ及びサイズなどの様々な要因に依存してもよい。処理ユニット110はまた、画質及び解像度と、画像において反映される有効視野と、捕捉されたフレームの数と、関心のある1つ又は複数の対象が、フレームに実際に現れる程度(例えば、対象が現れるフレームのパーセンテージ、各かかるフレームに現れる対象の割合等)と、などに基づいて選択を行ってもよい。
【0129】
[0188] 幾つかの実施形態において、処理ユニット110は、1つの画像ソースに由来する情報が、他の画像ソースに由来する情報と一致する程度を決定することによって、第1、第2及び第3の複数の画像における2つに由来する情報を選択してもよい。例えば、処理ユニット110は、画像捕捉装置122、124及び126のそれぞれに由来する処理された情報を組み合わせてもよく(単眼解析によるにせよ、立体解析によるにせよ、又はこれら2つの任意の組み合わせによるにせよ)、且つ画像捕捉装置122、124及び126のそれぞれから捕捉された画像にわたって一致する視覚的インジケータ(例えば車線区分線、検出された車両及びその位置及び/又は経路、検出された交通信号灯等)を決定してもよい。処理ユニット110はまた、捕捉画像にわたって一致しない情報(例えば車線を変更している車両、車両200に接近しすぎている車両を示す車線モデル等)を除外してもよい。従って、処理ユニット110は、一致する情報及び一致しない情報の判定に基づいて、第1、第2及び第3の複数の画像における2つに由来する情報を選択してもよい。
【0130】
[0189] ナビゲーション応答は、例えば、方向転換、車線変更、加速度の変更などを含んでもよい。処理ユニット110は、ステップ720で実行される解析及び
図4に関連して上記で説明された技術に基づいて、1つ又は複数のナビゲーション応答を引き起こしてもよい。処理ユニット110はまた、1つ又は複数のナビゲーション応答を引き起こすために、速度及び加速度モジュール406の実行に由来するデータを用いてもよい。幾つかの実施形態において、処理ユニット110は、車両200と、第1、第2及び第3の複数の画像のいずれかの内で検出された対象との間の相対的位置、相対的速度、及び/又は相対的加速度に基づいて、1つ又は複数のナビゲーション応答を引き起こしてもよい。多数のナビゲーション応答が、同時にか、シーケンスでか、又はそれらの任意の組み合わせで行われてもよい。
【0131】
[0190] 強化学習及び訓練されたナビゲーションシステム
[0191] 以下の節は車両の自律制御を、その制御が完全に自律的であろうと(自動走行車両)部分的に自律的であろうと(例えば1人又は複数の運転者がシステム又は機能を支援する)実現するためのシステム及び方法と共に自律運転について論じる。
図8に示すように、検知モジュール801、運転ポリシモジュール803、及び制御モジュール805を含む3つの主なモジュールに運転タスクを区分化することができる。幾つかの実施形態では、モジュール801、803、及び805はシステム100のメモリユニット140及び/又はメモリユニット150内に格納することができ、又はモジュール801、803、及び805(又はその一部)はシステム100から離して格納する(例えば無線トランシーバ172によって例えばシステム100にとってアクセス可能なサーバ内に格納する)ことができる。更に、本明細書で開示するモジュール(例えばモジュール801、803、及び805)のどれも、訓練されたシステム(ニューラルネットワークやディープニューラルネットワーク等)又は訓練されていないシステムに関連する技法を実装することができる。
【0132】
[0192] 処理ユニット110を使用して実装することができる検知モジュール801は、ホスト車両の環境内のナビゲーション状態の検知に関連する様々なタスクを処理することができる。かかるタスクは、ホスト車両に関連する様々なセンサ及び検知システムからの入力に依存し得る。それらの入力は、1つ又は複数のオンボードカメラからの画像又は画像ストリーム、GPS位置情報、加速度計の出力、ユーザフィードバック、1つ又は複数のユーザインターフェース装置へのユーザ入力、レーダ、ライダ等を含み得る。地図情報と共にカメラ及び/又は他の任意の使用可能なセンサからのデータを含み得る検知を収集し、解析し、ホスト車両の環境内のシーンから抽出される情報を記述する「検知状態」へと系統立てて表すことができる。検知状態は、目標車両、車線区分線、歩行者、交通信号灯、道路の幾何学的形状、車線形状、障害物、他の対象/車両までの距離、相対速度、相対加速度に関係する検知情報を、他の任意の候補となる検知情報の中で特に含み得る。検知モジュール801に提供される検知データに基づいて検知状態出力を作り出すために教師あり機械学習を実施することができる。検知モジュールの出力はホスト車両の検知ナビゲーション「状態」を表すことができ、それは運転ポリシモジュール803に送られ得る。
【0133】
[0193] ホスト車両に関連する1つ又は複数のカメラ又は画像センサから受信される画像データに基づいて検知状態を開発することができるが、ナビゲーションに使用される検知状態は任意の適切なセンサ又はセンサの組み合わせを使用して開発することができる。幾つかの実施形態では、捕捉画像データを使用することなしに検知状態を開発することができる。実際、本明細書に記載のナビゲーション原理のいずれも捕捉画像データに基づいて開発される検知状態並びに他の非画像ベースのセンサを使用して開発される検知状態に適用可能であり得る。検知状態はホスト車両の外部のソースによって決定することもできる。例えば検知状態は、ホスト車両から離れたソースから受信される情報に基づいて(例えば他の車両から共有され、中央サーバから共有され、又はホスト車両のナビゲーション状態に関連する情報の他の任意のソースから共有されるセンサ情報や処理済みの状態情報等に基づいて)完全に又は部分的に開発され得る。
【0134】
[0194] 以下でより詳細に解説し、処理ユニット110を使用して実装することができる運転ポリシモジュール803は、検知されるナビゲーション状態に応答してホスト車両が行う1つ又は複数のナビゲーション動作を決定するための所望の運転ポリシを実装することができる。ホスト車両の環境内に他のエージェント(例えば目標車両や歩行者)がない場合、運転ポリシモジュール803に入力される検知状態は比較的簡単なやり方で処理することができる。検知状態が1つ又は複数の他のエージェントとの折衝を必要とする場合はこのタスクがより複雑になる。運転ポリシモジュール803の出力を生成するために使用される技術は強化学習(以下でより詳細に解説する)を含み得る。運転ポリシモジュール803の出力は、ホスト車両用の少なくとも1つのナビゲーション動作を含むことができ、(ホスト車両の更新済みの速度につながり得る)所望の加速度、ホスト車両の所望のヨーレート、所望の軌道を、幾つかある候補となる所望のナビゲーション動作の中で特に含み得る。
【0135】
[0195] 運転ポリシモジュール803からの出力に基づき、同じく処理ユニット110を使用して実装することができる制御モジュール805がホスト車両に関連する1つ又は複数のアクチュエータ又は被制御装置のための制御命令を開発することができる。かかるアクチュエータ及び装置はアクセル、1つ又は複数のステアリング制御、ブレーキ、信号送信機、ディスプレイ、又はホスト車両に関連するナビゲーション動作の一環として制御され得る他の任意のアクチュエータ若しくは装置を含み得る。制御モジュール805の出力を生成するために制御理論の側面を使用することができる。運転ポリシモジュール803の所望のナビゲーション目標又は要件を実施するために、制御モジュール805はホスト車両の制御可能なコンポーネントへの命令を開発し出力することを担い得る。
【0136】
[0196] 運転ポリシモジュール803に戻り、幾つかの実施形態では強化学習によって訓練された訓練済みシステムを使用して運転ポリシモジュール803を実装することができる。他の実施形態では、指定のアルゴリズムを使用して自律ナビゲーション中に生じ得る様々なシナリオに「手動で」対処することにより、運転ポリシモジュール803を機械学習法なしに実装することができる。しかし、かかる手法は実行可能だがあまりにも単純過ぎる運転ポリシをもたらす可能性があり、機械学習に基づく訓練されたシステムの柔軟性を欠く場合がある。訓練されたシステムは、複雑なナビゲーション状態を処理する態勢がより整っている場合があり、タクシーが駐車しているのか乗客を乗せる又は降ろすために停車しているのかをより上手く判定することができ、ホスト車両の前方の道路を歩行者が横断しようとしているのかどうかをより上手く判定し、自衛性に対する他の運転者の予期せぬ挙動のバランスをより上手く取り、目標車両及び/又は歩行者を含む混雑した道路をより上手く通り抜け、特定のナビゲーション規則を中断し又は他の規則を増強するときをより上手く決定し、未検知だが予期される条件(例えば歩行者が車や障害物の裏から現れるかどうか)等をより上手く予期することができる。強化学習に基づく訓練されたシステムは、連続的な動作空間と共に連続的且つ高次元の状態空間に対処する態勢がより整っている場合もある。
【0137】
[0197] 強化学習を使用してシステムを訓練することは、検知状態からナビゲーション動作にマッピングするために運転ポリシを学習することを含み得る。運転ポリシとは関数π:S→Aであり、Sは1組の状態であり、
【数1】
は動作空間(例えば所望の速度、加速度、ヨーコマンド等)である。状態空間はS=S
S×S
pであり、S
Sは検知状態であり、S
pはポリシによって保存された状態に対する追加情報である。離散的な時間間隔で機能し、時点tにおいて現在の状態s
t∈Sを観測することができ、ポリシを適用して所望の動作α
t=π(s
t)を得ることができる。
【0138】
[0198] システムは、様々なナビゲーション状態にさらし、システムにポリシを適用させ、(所望のナビゲーション挙動に報酬を与えるように設計される報酬関数に基づいて)報酬を与えることによって訓練することができる。報酬のフィードバックに基づき、システムはポリシを「学習」することができ、所望のナビゲーション動作を作り出すことにおいて訓練された状態になる。例えば学習システムは現在の状態s
t∈Sを観測し、ポリシ
【数2】
に基づいて動作α
t∈Aを決定することができる。決定した動作(及びその動作の実施)に基づき、環境は学習システムによって観測するための次の状態s
t+1∈Sに移る。観測された状態に応答して開発される各動作について、学習システムに対するフィードバックは報酬信号r
1、r
2、...である。
【0139】
[0199] 強化学習(RL)の目標はポリシπを見つけることである。時点tにおいて、状態s
tにあり動作α
tを行う即時の品質を測定する報酬関数r
tがあると通常は想定される。しかし時点tにおいて動作α
tを行うことは環境に影響を与え、従って将来の状態の値に影響を及ぼす。その結果、どの動作を行うのかを決定するとき、現在の報酬を考慮するだけではなく将来の報酬も検討すべきである。幾つかの場合、報酬が低い選択肢を今行った場合により多くの報酬を将来実現できるとシステムが判定する場合、たとえ使用可能な別の選択肢よりも特定の動作が低い報酬に関連していてもシステムはその動作を行うべきである。これを形式化するために、ポリシπ及び初期状態sが
【数3】
にわたる分布を引き起こすことを観測し、エージェントが状態s
0=sから開始し、そこからポリシπに従う場合、ベクトル(r
1,...,r
T)の確率は報酬r
1,...,r
Tを観測する確率である。初期状態sの値は次式で定めることができる:
【数4】
【0140】
[0201] 対象期間をTに限定するのではなく、将来の報酬を割り引いて一部の固定されたγ∈(0,1)について次式を定めることができる:
【数5】
【0141】
[0203] いずれにせよ、最適なポリシは
【数6】
の解であり、期待値は初期状態sにわたる。
【0142】
[0206] 運転ポリシシステムを訓練するための幾つかのあり得る方法体系がある。例えばシステムが状態/動作の対から学習する模倣手法(例えば挙動クローニング)を使用することができ、動作は特定の観測状態に応答して優良なエージェント(例えば人間)によって選択されるものである。人間の運転者が観測されると仮定されたい。この観測により、運転ポリシシステムを訓練するための基礎として(st,αt)という形式(stは状態でありαtは人間の運転者の動作である)の多くの例を取得し、観測し、使用することができる。例えば、π(st)≒αtが成立するように教師あり学習を使用してポリシπを学習することができる。この手法には多くの考えられる利点がある。まず報酬関数を定める必要がない。第2に、学習は教師ありであり、オフラインで行われる(学習プロセス内でエージェントを適用する必要はない)。この方法の不利点は、様々な人間の運転者更には同じ人間の運転者でさえ自分のポリシ選択の点で決定論的ではないことである。従って||π(st)-αt||が非常に小さい関数を学習するのは不可能なことが多い。更に、小さな誤差でさえ徐々に蓄積して大きな誤差を発生させる場合がある。
【0143】
[0207] 使用され得る別の技法はポリシベースの学習である。ここでは、ポリシはパラメトリック形式で表し、適切な最適化技法(例えば確率勾配降下)を使用して直接最適化することができる。この手法は、
【数7】
の中で与えられる問題を直接解くことである。当然ながら、この問題を解く多くのやり方がある。この手法の1つの利点はこの手法が問題に直接取り組み、その結果、優れた実用的結果をしばしばもたらすことである。1つの考えられる不利点は、この手法が「オンポリシ(on-policy)」訓練をしばしば必要とすることであり、つまりπの学習は反復的プロセスであり、完全ではないポリシπ
jが反復jで得られ、次のポリシπ
jを構築するにはπ
jに基づいて動作しながら環境と相互作用しなければならない。
【0144】
[0208] システムは、値ベースの学習(Q関数又はV関数の学習)によって訓練することもできる。最適値関数V*について優れた近似を学習できると仮定されたい。(例えばベルマン方程式を使用することにより)最適なポリシを構築することができる。値ベースの学習の一部のバージョンはオフラインで実施することができる(「オフポリシ(off-policy)」訓練と呼ぶ)。値ベースの手法の一部の不利点は、この手法がマルコフ仮定及び複雑な関数の所要の近似に強く依存することに起因し得る(ポリシを直接近似するよりも価値関数を近似する方が困難であり得る)。
【0145】
[0209] 別の技法は、モデルベースの学習及び計画(状態遷移の確率を学習し、最適なVを見出す最適化問題を解くこと)を含み得る。学習システムを訓練するためにこれらの技法の組み合わせを使用することもできる。この手法ではプロセスの動力学、つまり(st,αt)を取り、次の状態st+1にわたる分布をもたらす関数を学習することができる。この関数が学習されると、最適化問題を解いてその値が最適であるポリシπを見出すことができる。これを「計画」と呼ぶ。この手法の1つの利点は学習部分が教師ありであり、三つ組(st,αt,st+1)を観測することによってオフラインで適用できることであり得る。「模倣」手法と同様にこの手法の1つの不利点は、学習プロセスにおける小さな誤差が蓄積し、機能が不十分なポリシをもたらす場合があることであり得る。
【0146】
[0210] 運転ポリシモジュール803を訓練するための別の手法は、運転ポリシ関数を意味的に重要なコンポーネントへと分解することを含み得る。そのようにすることは、ポリシの安全性を保証し得るポリシの一部を手動で実装すること、並びに多くのシナリオへの適応性、自衛的挙動/攻撃的挙動間の人間並みのバランス、及び他の運転者との人間並みの折衝を可能にし得る強化学習法を使用してポリシの他の部分を実装することを可能にする。技術的な観点から、強化学習法は幾つかの方法体系を組み合わせ、訓練の殆どが記録済みデータ又は自己構築シミュレータを使用して実行され得る扱い易い訓練手続きを提供することができる。
【0147】
[0211] 幾つかの実施形態では、運転ポリシモジュール803の訓練が「選択肢」メカニズムを利用することができる。それを例証するために、2車線のハイウェイ用の運転ポリシの単純なシナリオを検討されたい。ダイレクトRL手法(direct RL approach)では、状態を
【数8】
にマップするポリシπ、π(s)の第1の成分は所望の加速コマンドであり、π(s)の第2の成分はヨーレートである。修正された手法では、以下のポリシを構築することができる。
【0148】
[0212] 自動走行制御(ACC)ポリシ、oACC:S→A:このポリシは0のヨーレートを常に出力し、スムーズ且つ事故のない運転を実施するために速度だけを変更する。
【0149】
[0213] ACC+Leftポリシ、oL:S→A:このポリシの縦方向のコマンドはACCコマンドと同じである。ヨーレートは、安全な横方向の移動を確実にしながら(例えば左側に車がある場合は左に移動しない)車両を左車線の中央に向けてセンタリングすることの簡単な実施である。
【0150】
[0214] ACC+Rightポリシ、oR:S→A:oLと同じだが、車両は右車線の中央に向けてセンタリングされ得る。
【0151】
[0215] これらのポリシは「選択肢」と呼ぶことができる。これらの「選択肢」に依存し、選択肢を選択するポリシπ
o:S→Oを学習することができ、但しOは使用可能な1組の選択肢である。ある事例では、O={o
ACC,o
L,o
R}が成立する。全てのsについて
【数9】
を設定することにより、選択肢セレクタポリシπ
oは実際のポリシ、π:S→Aを定める。
【0152】
[0216] 実際には、ポリシ関数は
図9に示すように選択肢のグラフ901へと分解することができる。
図10に選択肢のグラフ1000の別の例を示す。選択肢のグラフは、有向非巡回グラフ(DAG)として編成される1組の階層型の決定を表し得る。グラフの根ノード903と呼ばれる特別なノードがある。このノードには入力ノードがない。決定プロセスは根ノードから始まり、出力決定線を有さないノードを指す「葉」ノードに到達するまでこのグラフを横断する。
図9に示すように、葉ノードは例えばノード905、907、及び909を含み得る。葉ノードに遭遇すると、運転ポリシモジュール803は葉ノードに関連する所望のナビゲーション動作に関連する加速コマンド及びステアリングコマンドを出力し得る。
【0153】
[0217] 例えばノード911、913、915等の内部ノードは、その使用可能な選択肢の中から子を選択するポリシの実装をもたらし得る。内部ノードの1組の使用可能な子は、決定線によって特定の内部ノードに関連するノードの全てを含む。例えば
図9で「合流」として示す内部ノード913は、決定線によってノード913にそれぞれつながれる3つの子ノード909、915、及び917(「留まる」、「右側追い越し」、及び「左側追い越し」のそれぞれ)を含む。
【0154】
[0218] 選択肢のグラフの階層内でノードが自らの位置を調節できるようにすることにより、意思決定システムの柔軟性を得ることができる。例えばノードのいずれも自らを「重大」だと宣言することを認められ得る。各ノードは、ノードがそのポリシ実装の重大なセクション内にある場合に「真」を出力する関数「is critical」を実装することができる。例えばテイクオーバを担うノードは操作の最中に自らを重大だと宣言することができる。このことはノードuの1組の使用可能な子に対して制約を課す可能性があり、かかる子はノードuの子であり、且つvから葉ノードへの重大だと指定される全てのノードを通過する経路が存在する全てのノードvを含み得る。かかる手法は、一方で各時間ステップにおけるグラフ上の所望の経路の宣言を可能にし得るのに対し、他方でとりわけポリシの重大な部分が実施されている間はポリシの安定性を保つことができる。
【0155】
[0219] 選択肢のグラフを定めることにより、運転ポリシπ:S→Aを学習する問題をグラフの各ノードのポリシを定義する問題へと分解することができ、内部ノードにおけるポリシは使用可能な子ノードの中から選択すべきである。ノードの一部については個々のポリシを(例えば観測される状態に応じた1組の動作を指定するif-then形式のアルゴリズムによって)手動で実装することができる一方、他のものについては強化学習によって構築される訓練されたシステムを使用してポリシを実装することができる。手動の手法又は訓練された/学習された手法の選択は、タスクに関連する安全性の側面及びその相対的な単純さに依存し得る。選択肢のグラフは、ノードの一部は実装が簡単である一方で他のノードが訓練されたモデルに依存し得るやり方で構築され得る。かかる手法はシステムの安全な動作を保証することができる。
【0156】
[0220] 以下の解説は運転ポリシモジュール803内の
図9の選択肢のグラフの役割に関する更なる詳細を与える。上記で論じたように、運転ポリシモジュールへの入力は例えば使用可能なセンサから得られる環境地図の概要を示す「検知状態」である。運転ポリシモジュール803の出力は、最適化問題の解として軌道を定める1組の願望(任意選択的に1組のハード制約を伴う)である。
【0157】
[0221] 上記のように、選択肢のグラフはDAGとして編成される1組の階層型の決定を表す。グラフの「根」と呼ばれる特別なノードがある。根ノードは入力辺(例えば決定線)を有さない唯一のノードである。決定プロセスは根ノードから始まり「葉」ノード、つまり出力辺を有さないノードに到達するまでグラフを横断する。各内部ノードは、自らの使用可能な子の中から1つの子を選ぶポリシを実装すべきである。全ての葉ノードは、根から葉までの全経路に基づいて1組の願望(例えばホスト車両用の1組のナビゲーション目標)を定めるポリシを実装すべきである。検知状態に基づいて直接定められる1組のハード制約と共に1組の願望は、その解が車両の軌道である最適化問題を確立する。システムの安全性を更に高めるためにハード制約を使用することができ、運転の快適さ及びシステムの人間並みの運転挙動をもたらすために願望を使用することができる。最適化問題への解として提供される軌道は、ひいては軌道を実現するためにステアリング、ブレーキ、及び/又はエンジンアクチュエータに与えられるべきコマンドを定める。
【0158】
[0222]
図9に戻り、選択肢のグラフ901は合流車線を含む2車線のハイウェイ(ある時点において第3の車線がハイウェイの右車線又は左車線に合流することを意味する)に関する選択肢のグラフを表す。根ノード903は、ホスト車両が単純な道路のシナリオにあるのか合流シナリオに近づいているのかをまず判断する。これは検知状態に基づいて実施可能な判断の一例である。単純な道路のノード911は、留まるノード909、左側追い越しノード917、及び右側追い越しノード915という3つの子ノードを含む。留まるとは、ホスト車両が同じ車線内を走行し続けたい状況を指す。留まるノードは葉ノードである(出力辺/線がない)。従って、それ留まるノードは1組の願望を定める。このノードが定める第1の願望は、例えば現在の移動車線の中央に可能な限り近い所望の横方向位置を含み得る。スムーズに(例えば既定の又は許容可能な加速最大値の範囲内で)ナビゲートする願望もあり得る。留まるノードは、ホスト車両が他の車両に対してどのように反応するのかも定めることができる。例えば留まるノードは検知される目標車両を調査し、軌道の成分に変換され得る意味論的意味をそれぞれに割り当てることができる。
【0159】
[0223] ホスト車両の環境内の目標車両に様々な意味論的意味を割り当てることができる。例えば幾つかの実施形態では、意味論的意味が以下の項目のうちのいずれかを含むことができる:1)無関係:シーン内の検知車両が現在は関係しないことを示す、2)隣車線:検知車両が隣接車線内にあり、その車両に対して適切なオフセットを保つべきであることを示す(正確なオフセットは願望及びハード制約を所与として軌道を構築する最適化問題の中で計算することができ、ことによると車両に依存することができ、選択肢のグラフの留まる葉は目標車両に対する願望を定める目標車両の意味論のタイプを設定する)、3)道を譲る:ホスト車両は(とりわけホスト車両の車線内に目標車両が割り込む可能性が高いとホスト車両が判定する場合)検知した目標車両に例えば減速することによって道を譲ろうと試みる、4)道を進む:ホスト車両が例えば加速することによって優先通行権を受けて応じようと試みる、5)追走:ホスト車両がこの目標車両を追走してスムーズな運転を維持することを望む、6)左側/右側追い越し:これはホスト車両が左車線又は右車線への車線変更を開始したいことを意味する。左側追い越しノード917及び右側追い越しノード915はまだ願望を定めない内部ノードである。
【0160】
[0224] 選択肢のグラフ901内の次のノードは間隙選択ノード919である。このノードは、ホスト車両が入りたい特定の目標車線内の2台の目標車両間の間隙を選択することを担い得る。IDj形式のノードを選択することにより、jの何らかの値についてホスト車両は軌道最適化問題に関する願望、例えば選択された間隙に到達するためにホスト車両が操作を行いたいことを指定する葉に到達する。かかる操作は、現在の車線内でまず加速し/ブレーキをかけ、選択された間隙に入るのに適した時点において目標車線に進むことを含み得る。間隙選択ノード919が適切な間隙を見つけることができない場合、現在の車線の中央に戻り追い越しを取り消す願望を定める中止ノード921に進む。
【0161】
[0225] 合流ノード913に戻り、ホスト車両が合流に近づくと、ホスト車両には特定の状況に依存し得る幾つかの選択肢がある。例えば
図11Aに示すように、ホスト車両1105は2車線道路の主要車線又は合流車線1111内で他の目標車両を検出していない状態で2車線道路に沿って移動している。この状況では、運転ポリシモジュール803は合流ノード913に到達すると、留まるノード909を選択することができる。つまり、道路に合流するものとして目標車両を検知しない場合は自らの現在の車線内に留まることが望ましい場合がある。
【0162】
[0226]
図11Bではこの状況が僅かに異なる。ここではホスト車両1105が、合流車線1111から主たる道路1112に入ってくる1台又は複数台の目標車両1107を検知する。この状況では、運転ポリシモジュール803が合流ノード913に直面すると、運転ポリシモジュール803は合流の状況を回避するために左側追い越し操作を開始することに決めることができる。
【0163】
[0227]
図11Cでは、ホスト車両1105が合流車線1111から主たる道路1112に入る1台又は複数台の目標車両1107に遭遇する。ホスト車両1105は、ホスト車両の車線に隣接する車線内を移動する目標車両1109も検出する。ホスト車両は、ホスト車両1105と同じ車線内を移動する1台又は複数台の目標車両1110も検出する。この状況では、運転ポリシモジュール803はホスト車両1105の速度を調節して目標車両1107に道を譲り、目標車両1115の前に進むことに決めることができる。これは、例えば適切な合流の間隙としてID0(車両1107)とID1(車両1115)との間の間隙を選択する間隙選択ノード919に進むことによって実現され得る。その場合、合流の状況の適切な間隙が軌道プランナ最適化問題の目的を定める。
【0164】
[0228] 上記で論じたように、選択肢のグラフのノードは自らを「重大」だと宣言することができ、かかる宣言は選択される選択肢が重大なノードを通過することを確実にし得る。形式上、各ノードは関数IsCriticalを実装することができる。選択肢のグラフ上で根から葉への順方向パスを行い、軌道プランナの最適化問題を解いた後、葉から根に逆方向パスを行うことができる。この逆方向パスに沿ってパス内の全てのノードのIsCritical関数を呼び出すことができ、全ての重大なノードのリストを保存することができる。次の時間枠に対応する順方向経路内で、全ての重大なノードを通過する根ノードから葉ノードへの経路を選択することを運転ポリシモジュール803が要求され得る。
【0165】
[0229]
図11A~
図11Cは、この手法の考えられる利益を示すために使用することができる。例えば追い越し動作が開始され、運転ポリシモジュール803がIDkに対応する葉に到達する状況では、ホスト車両が追い越し操作の途中にある場合は例えば留まるノード909を選択することは望ましくない。このジャンプ性を回避するために、IDjノードは自らを重大だと指定することができる。操作中、軌道プランナの成功を監視することができ、関数IsCriticalは追い越し操作が意図した通りに進む場合に「真」値を返す。この手法は、(最初に選択した操作を完了する前に潜在的に一貫性のない別の操作にジャンプするのではなく)次の時間枠の中で追い越し操作が続行されることを確実にし得る。他方で選択された操作が意図した通りに進んでいないことを操作の監視が示す場合、又は操作が不要若しくは不可能になった場合、関数IsCriticalは「偽」値を返すことができる。このことは間隙選択ノードが次の時間枠内で異なる間隙を選択すること、又は追い越し操作を完全に中止することを可能にし得る。この手法は、一方で各時間ステップにおける選択肢のグラフ上の所望の経路の宣言を可能にし得るのに対し、他方で実行の重大な部分にある間のポリシの安定性を促進するのを助け得る。
【0166】
[0230] 以下でより詳細に解説するハード制約は、ナビゲーションの願望と区別することができる。例えばハード制約は、計画済みのナビゲーション動作の追加のフィルタリング層を適用することによって安全運転を保証することができる。強化学習に基づいて構築される訓練されたシステムを使用することによってではなく手動でプログラムされ定義され得る関与するハード制約は、検知状態から決定することができる。但し幾つかの実施形態では、適用され従われる適用可能なハード制約を訓練されたシステムが学習することができる。かかる手法は、適用可能なハード制約に既に準拠している被選択動作に運転ポリシモジュール803が到達するのを促進することができ、そうすることで適用可能なハード制約に準拠するために後で修正を必要とし得る被選択動作を減らし又は除去することができる。それでもなお、冗長な安全対策として、所定のハード制約を考慮するように運転ポリシモジュール803が訓練されている場合にさえ、運転ポリシモジュール803の出力にハード制約を適用することができる。
【0167】
[0231] 考えられるハード制約の多くの例がある。例えばハード制約は道路縁のガードレールに関連して定めることができる。いかなる状況でもホスト車両がガードレールを越えることは認められない。そのような規則はホスト車両の軌道に対する横方向のハード制約を引き起こす。ハード制約の別の例は道路のバンプ(例えば速度制御バンプ)を含むことができ、かかるバンプはバンプ前の又はバンプを横断する間の運転速度に対するハード制約を引き起こし得る。ハード制約は安全を最重視すべきだと考えることができ、従って訓練中に制約を学習する訓練されたシステムに専ら依存するのではなく手動で定めることができる。
【0168】
[0232] ハード制約とは対照的に、願望の目標は快適な運転を可能にすること又は実現することであり得る。上記で論じたように、願望の一例はホスト車両の車線の中央に対応する車線内の横方向位置にホスト車両を位置決めする目標を含み得る。別の願望は、入り込むための間隙のIDを含み得る。ホスト車両は厳密に車線の中央にある必要はなく、代わりに車線の中央に可能な限り近くありたいという願望は、ホスト車両が車線の中央から外れた場合にも車線の中央に移動し易いことを保証できることに留意されたい。願望は安全を最重視しなくてもよい。幾つかの実施形態では、願望が他の運転者及び歩行者との折衝を必要とし得る。願望を構築するためのある手法は選択肢のグラフを利用することができ、グラフの少なくとも一部のノード内で実装されるポリシは強化学習に基づき得る。
【0169】
[0233] 学習に基づいて訓練されるノードとして実装される選択肢のグラフ901又は1000のノードについて、訓練プロセスは問題を教師あり学習フェーズ及び強化学習フェーズへと分解することを含み得る。教師あり学習フェーズでは、
【数10】
が成立するように(s
t,α
t)から
【数11】
への可微分マッピングが学習され得る。これは「モデルベースの」強化学習と同様であり得る。しかし、ネットワークの順方向ループでは
【数12】
をs
t+1の実際の値で置換し、それにより誤差が蓄積する問題をなくすことができる。
【数13】
の予測の役割は、将来から過去の動作にメッセージを伝えることである。この意味で、アルゴリズムは「モデルベースの」強化学習と「ポリシベースの学習」との組み合わせであり得る。
【0170】
[0234] 一部のシナリオにおいて提供され得る重要な要素は、将来の損失/報酬から動作に関する決定に戻る可微分経路である。選択肢のグラフの構造では、安全制約を含む選択肢の実装は通常微分できない。この問題を克服するために、学習されるポリシのノードにおける子の選択は確率論的であり得る。つまりノードは確率ベクトルpを出力することができ、確率ベクトルpは特定のノードの子のそれぞれを選択する場合に使用される確率を割り当てる。あるノードがk個の子を有すると仮定し、α
(1),...,α
(k)がそれぞれの子から葉への経路の動作とする。従って、結果として生じる予測動作は
【数14】
であり、これは動作からpへの可微分経路をもたらし得る。実際には、動作αはi~pに関してα
(i)であるように選択することができ、αと
【数15】
との差を付加雑音と呼ぶことができる。
【0171】
[0235] s
t、α
tを所与として
【数16】
を訓練するために、実際のデータと共に教師あり学習を使用することができる。ノードのポリシを訓練するためにシミュレータを使用することができる。後で実際のデータを使用してポリシの微調整を実現することができる。2つの概念がシミュレーションをより現実的にし得る。第1に、模倣を使用し、大規模な現実世界のデータセットを使用する「挙動クローニング」パラダイムを使用して初期ポリシを構築することができる。幾つかの場合、結果として生じるエージェントが適している場合がある。他の事例では、結果として生じるエージェントが道路上の他のエージェントのための非常に優れた初期ポリシを少なくとも形成する。第2に、セルフプレイを使用し、我々の独自のポリシを使用して訓練を増強することができる。例えば遭遇し得る他のエージェント(車/歩行者)の初期実装を所与として、シミュレータに基づいてポリシを訓練することができる。他のエージェントの一部は新たなポリシで置換することができ、このプロセスを繰り返すことができる。その結果、異なる洗練レベルを有する一層多岐にわたる他のエージェントに応答すべきなので、ポリシが改善し続けることができる。
【0172】
[0236] 更に幾つかの実施形態では、システムがマルチエージェント手法を実装することができる。例えばシステムは、様々なソースからのデータ及び/又は複数の角度からの画像捕捉を考慮することができる。更に、ホスト車両を直接含まないがホスト車両に影響を有し得る事象の予測を考慮することができ、更には他の車両を含む予測不能な状況をもたらし得る事象の予測が検討事項であり得る(例えばレーダは先行車両、及びホスト車両に影響を及ぼす不可避の事象、更にはかかる事象の高い可能性の予想を「見通す」ことができる)ので、開示する一部の実施形態はエネルギの節約をもたらし得る。
【0173】
[0237] 課せられたナビゲーション制約を伴う訓練されたシステム
[0238] 自律運転の脈絡において重大な関心事は、訓練されたナビゲーションネットワークの学習済みポリシが安全であることをどのように保証するのかである。幾つかの実施形態では制約を使用して運転ポリシシステムを訓練することができ、そのため訓練されたシステムによって選択される動作は適用可能な安全制約を既に考慮している可能性がある。加えて幾つかの実施形態では、ホスト車両の環境内の特定の検知シーンによって関与させられる1つ又は複数のハード制約に訓練されたシステムの被選択動作を通すことによって追加の安全層を提供することができる。かかる手法はホスト車両によって行われる動作が、適用可能な安全制約を満たすものだと確認されるものに限定されていることを確実にし得る。
【0174】
[0239] その核心において、ナビゲーションシステムは観測した状態を1つ又は複数の所望の動作にマップするポリシ関数に基づく学習アルゴリズムを含み得る。一部の実装形態では、学習アルゴリズムがディープラーニングアルゴリズムである。所望の動作は、車両について予期される報酬を最大化することが期待される少なくとも1つの動作を含み得る。幾つかの場合、車両が行う実際の動作が所望の動作の1つに対応し得るが、他の事例では、行われる実際の動作が観測される状態、1つ又は複数の所望の動作、及び学習するナビゲーションエンジンに課せられる非学習ハード制約(例えば安全制約)に基づいて決定され得る。これらの制約は様々なタイプの検出対象(例えば目標車両、歩行者、路肩の又は道路内の静止対象、路肩の又は道路内の移動対象、ガードレール等)を取り囲む非運転区域を含み得る。幾つかの場合、区域のサイズが検出対象の検出される動き(例えば速度や方向)に基づいて変わり得る。他の制約は、歩行者の影響区域内を通過するときの最大移動速度、(ホスト車両の後ろの目標車両の間隔に対処するための)最大減速度、検知した横断歩道や踏切における強制的な停止等を含み得る。
【0175】
[0240] 機械学習によって訓練されるシステムと共に使用されるハード制約は、訓練されたシステムだけの出力に基づいて得ることができる安全度を上回り得るある程度の安全性を自律運転において提供することができる。例えば、機械学習システムは訓練のガイドラインとして1組の所望の制約を使用して訓練することができ、従って、訓練されたシステムは適用可能なナビゲーション制約の制限で構成されかかる制限を守る動作を検知済みのナビゲーション状態に応答して選択することができる。しかしそれでもなお、ナビゲーション動作を選択する場合に訓練されたシステムは幾らかの柔軟性を有し、従って訓練されたシステムによって選択される動作が関連するナビゲーション制約に厳密に従わない可能性がある少なくとも幾つかの状況があり得る。従って、選択される動作が関連するナビゲーション制約に厳密に従うことを求めるために、学習/訓練フレームワークの外側にある関連するナビゲーション制約の厳密な適用を保証する非機械学習コンポーネントを使用し、訓練されたシステムの出力を組み合わせ、比較し、フィルタリングし、調節し、修正等することができる。
【0176】
[0241] 以下の解説は訓練されたシステム、及び訓練されたシステムを訓練/学習フレームワークの外側にあるアルゴリズムコンポーネントと組み合わせることから得ることができる(とりわけ安全性の観点からの)考えられる利益に関する更なる詳細を示す。先に論じたように、ポリシによる強化学習目的は確率勾配上昇によって最適化することができる。目的(例えば期待報酬)は
【数17】
として定めることができる。
【0177】
[0242] 機械学習シナリオでは、期待値を含む目的を使用することができる。但しかかる目的は、ナビゲーション制約に拘束されることなしに、それらの制約によって厳密に拘束される動作を返さない場合がある。例えば、回避すべき稀な「曲がり角」の事象(例えば事故等)を表す軌道について
【数18】
が成立し、残りの軌道について
【数19】
が成立する報酬関数を検討し、学習システムの1つの目標は追い越し操作の実行を学習することであり得る。通常、事故のない軌道では
【数20】
が成功裏のスムーズな追い越しに報酬を与え、追い越しを完了せずに車線内に、従って範囲[-1,1]内に留まることにペナルティを科す。シーケンス
【数21】
が事故を表す場合、報酬-rはかかる発生を妨げるのに十分高いペナルティを与えるべきである。問題は、事故のない運転を保証するにはrの値を何にすべきかである。
【0178】
[0243] 事故の
【数22】
に対する効果が加法項-p
rであり、pは事故の事象を伴う軌道の確率質量であることに注意されたい。この項が無視できる、即ちp<<1/rである場合、学習システムは一部の追い越し操作の完了が成功しないことを犠牲にしてより自衛的であるポリシよりも頻繁に追い越し操作の成功を果たすために、事故を行うポリシを優先させる(又は全般的に無頓着な運転ポリシを採用する)ことができる。言い換えれば、事故の確率がp以下である場合、r>>1/pであるようにrを設定しなければならない。pを極めて小さくする(例えばp=10
-9程度)ことが望ましい場合がある。従ってrは大きいべきである。ポリシの勾配では、
【数23】
の勾配を推定することができる。以下の補助定理は確率変数
【数24】
の分散が、r>>1/pでrを上回るpr
2と共に大きくなることを示す。従って、目的を推定するのは困難な場合があり、その勾配を推定するのは一層困難であり得る。
【0179】
[0244] 補助定理:π
oをポリシとし、p及びrをスカラとし、それにより確率pでは
【数25】
が得られ、確率1-pでは
【数26】
が得られる。すると次式
【数27】
が成立し、最後の近似はr≧1/pの場合に該当する。
【0180】
[0247] この解説は、形式
【数28】
のオブジェクション(objection)が、分散問題を引き起こすことなしに機能的安全性を保証できない可能性があることを示す。分散を減らすためのbaseline subtraction法は問題に対する十分な処置を提供しない可能性があり、それは問題が
【数29】
の高い分散から、その推定が数値的不安定を等しく被るbaseline定数の等しく高い分散にシフトするからである。更に、事故の確率がpである場合、事故の事象を得る前に平均して少なくとも1/pシーケンスがサンプリングされるべきである。このことは
【数30】
を最小化しようとする学習アルゴリズムのためのシーケンスの1/pサンプルの下端を含意する。この問題に対する解決策は、数値的調整技法によってではなく本明細書に記載のアーキテクチャ設計の中で見出すことができる。ここでの手法は、ハード制約が学習フレームワークの外側に投入されるべきだという考えに基づく。言い換えれば、ポリシ関数は学習可能部分及び学習不能部分に分解することができる。形式的に、ポリシ関数は
【数31】
として構成することができ、
【数32】
は(不可知論的な)状態空間を1組の願望(例えば所望のナビゲーション目標等)にマップする一方、π
(T)は願望を(短期のうちに車がどのように動くべきかを決定し得る)軌道にマップする。関数
【数33】
は運転の快適さ、及び他のどの車を追い越すべきかや他のどの車に道を譲るべきか、ホスト車両の車線内でのホスト車両の所望の位置はどこなのか等の戦略的決定を行うことを担う。検知されるナビゲーション状態から願望へのマッピングは、期待報酬を最大化することによって経験から学習され得るポリシ
【数34】
である。
【数35】
によって作り出される願望は運転軌道にわたるコスト関数に変換され得る。機能的安全性に関するハード制約の影響下にあるコストを最小化する軌道を見つけることにより、学習される関数ではない関数π
(T)を実施することができる。この分解は、快適な運転を提供するのと同時に機能的安全性を保証することができる。
【0181】
[0248]
図11Dに示す二重合流ナビゲーション状況はこれらの概念を更に示す一例を与える。二重合流では、左側と右側の両方から車両が合流領域1130に到達する。それぞれの側から、車両1133や車両1135等の車両が合流領域1130の反対側の車線内に合流するかどうかを決定することができる。混雑した交通において二重合流を成功裏に実行することは著しい折衝スキル及び経験を必要とする場合があり、シーン内の全てのエージェントが行い得るあり得る全ての軌道を列挙することによる発見的手法又は総当たり的手法において実行するのは困難であり得る。この二重合流の例では、二重合流操作に適した1組の願望Dを定めることができる。Dは以下の組のデカルト積とすることができ:
D=[0,v
max]×L×{g,t,o}、但し[0,v
max]はホスト車両の所望の目標速度であり、L={1,1.5,2,2.5,3,3.5,4}は車線単位での所望の横方向位置であり、整数は車線の中央を示し、分数は車線の境界を示し、{g,t,o}は他のn台の車両のそれぞれに割り当てられる分類ラベルである。ホスト車両が他の車両に道を譲るべき場合は他の車両に「g」を割り当てることができ、ホスト車両が他の車両に対して道を得るべき場合は他の車両に「t」を割り当てることができ、又はホスト車両が他の車両に対してオフセット距離を保つべき場合は他の車両に「o」を割り当てることができる。
【0182】
[0249] 以下は、1組の願望(v,l,c1,...,cn)∈Dを運転軌道にわたるコスト関数にどのように変換できるのかについての説明である。運転軌道は(x1,y1),...,(xk,yk)によって表すことができ、(xi,yi)は時点τ・iにおける(自己中心的な単位での)ホスト車両の(横方向、縦方向の)位置である。一部の実験ではτ=0.1秒であり、k=10である。当然ながら他の値を選択することもできる。軌道に割り当てられるコストは、所望の速度、横方向位置、及び他のn台の車両のそれぞれに割り当てられるラベルに割り当てられる個々のコストの加重和を含み得る。
【0183】
[0250] 所望の速度v∈[0,v
max]を所与として、速度に関連する軌道のコストは、
【数36】
である。
【0184】
[0251] 所望の横方向位置l∈Lを所与として、所望の横方向位置に関連するコストは、
【数37】
である。但しdist(x,y,l)は点(x,y)から車線の位置lまでの距離である。他の車両に起因するコストに関して、他の任意の車両について
【数38】
はホスト車両の自己中心的な単位での他の車両を表すことができ、iは(x
i,y
i)と(x’
j,y’
j)との間の距離が小さいようにjが存在する最も早い点であり得る。そのような点がない場合、iはi=∞として設定することができる。別の車が「道を譲る」と分類される場合、τi>τj+0.5であることが望ましい場合があり、これは他の車両が軌道の交点に到達する少なくとも0.5秒後にホスト車両がその同一点に到達することを意味する。上記の制約をコストに変換するためのあり得る公式は[τ(j-i)+0.5]
+である。
【0185】
[0253] 同様に、別の車が「道を取る」と分類される場合、τj>τi+0.5であることが望ましい場合があり、これはコスト[τ(i-j)+0.5]+に変換され得る。別の車が「オフセット」として分類される場合はi=∞であることが望ましい場合があり、これはホスト車両の軌道とオフセット車の軌道とが交差しないことを意味する。この条件は、軌道間の距離に関してペナルティを科すことによってコストに変換することができる。
【0186】
[0254] これらのコストのそれぞれに重みを割り当てることは、軌道プランナのための単一の目的関数π(T)を与え得る。スムーズな運転を促進するコストを目的に追加することができる。軌道の機能的安全性を保証するためにハード制約を目的に追加することができる。例えば、(xi,yi)は道路から外れることを禁じられてもよく、(xi,yi)は|i-j|が小さい場合に他の任意の車両の任意の軌道点(x’j,y’j)について(x’j,y’j)に近づくことを禁じられ得る。
【0187】
[0255] 要約すると、ポリシπθは不可知論的な状態から1組の願望へのマッピング、及び願望から実際の軌道へのマッピングへと分解することができる。後者のマッピングは学習に基づかず、そのコストが願望に依存し且つそのハード制約がポリシの機能的安全性を保証し得る最適化問題を解くことによって実施することができる。
【0188】
[0256] 以下の解説は不可知論的な状態から1組の願望へのマッピングについて説明する。上記で説明したように、機能的安全性に準拠するために、強化学習だけに依存するシステムは報酬
【数39】
に関する大きく扱いにくい分散に悩まされる可能性がある。この結果は、ポリシ勾配反復を使用することによって(不可知論的な)状態空間から1組の願望へのマッピングと、その後に続く機械学習に基づいて訓練されるシステムを含まない実際の軌道へのマッピングとに問題を分解することによって回避することができる。
【0189】
[0257] 様々な理由から、意味論的に有意なコンポーネントへと意思決定を更に分解することができる。例えばDのサイズが大きく、連続的でさえある場合がある。
図11Dに関して上記で説明した二重合流シナリオでは、D=[0,v
max]×L×{g,t,o}
n)が成立する。加えて、勾配推定子(gradient estimator)は項
【数40】
を含み得る。この式では、分散が対象期間Tと共に増加し得る。幾つかの場合、Tの値はおおよそ250とすることができ、この値は有意の分散を作り出すのに十分高いものであり得る。サンプリングレートが10Hzの範囲内にあり、合流領域1130が100メートルだと仮定し、合流の準備は合流領域の約300メートル手前で始まり得る。ホスト車両が16メートル/秒(時速約60キロ)で移動する場合、エピソードのTの値はおおよそ250であり得る。
【0190】
[0258] 選択肢のグラフの概念に戻り、
図11Dに示す二重合流シナリオを表し得る選択肢のグラフを
図11Eに示す。先に論じたように、選択肢のグラフは有向非巡回グラフ(DAG)として編成される1組の階層型の決定を表し得る。「根」ノード1140と呼ばれる特別なノードがグラフ内にあってもよく、根ノードは入力辺(例えば決定線)を有さない唯一のノードである。決定プロセスは根ノードから始まり「葉」ノード、つまり出力辺を有さないノードに到達するまでグラフを横断し得る。各内部ノードは、自らの使用可能な子の中から1つの子を選ぶポリシ関数を実装することができる。選択肢のグラフ上の1組の横断から1組の願望Dへの既定のマッピングがあり得る。言い換えれば、選択肢のグラフ上での横断がD内の願望に自動で変換され得る。グラフ内のノードvを所与として、パラメータベクトルθ
vはvの子を選択するポリシを規定し得る。θが全てのθ
vの連結である場合、各ノードvにおいてθ
vによって定められるポリシを使用して子ノードを選択しながらグラフの根から葉に横断することによって
【数41】
を定めることができる。
【0191】
[0259]
図11Eの二重合流の選択肢のグラフ1139では、ホスト車両が合流領域(例えば
図11Dの領域1130)内にあるかどうか、又は代わりにホスト車両が合流領域に近づいており、あり得る合流に備える必要があるのかどうかを根ノード1140がまず判断することができる。いずれの場合にも、ホスト車両は車線を(例えば左側に又は右側に)変更するのかどうか、又は現在の車線内に留まるのかどうかを決定する必要があり得る。ホスト車両が車線変更することに決めた場合、ホスト車両はそのまま続行して(例えば「行く」ノード1142において)車線変更操作を行うのに条件が適しているかどうかを判断する必要があり得る。車線変更することが可能ではない場合、ホスト車両は車線マーク上にあることを狙うことにより(例えば所望の車線内の車両との折衝の一環としてノード1144において)所望の車線に向かって「押し進む」ことを試みることができる。或いは、ホスト車両は(例えばノード1146において)同じ車線内に「留まる」ことを選び得る。このプロセスはホスト車両の横方向位置を自然なやり方で決定することができる。例えば、
【0192】
[0260] これは所望の横方向位置を自然なやり方で決定することを可能にし得る。例えばホスト車両が車線2から車線3に車線変更する場合、「行く」ノードは所望の横方向位置を3に設定することができ、「留まる」ノードは所望の横方向位置を2に設定することができ、「押し進む」ノードは所望の横方向位置を2.5に設定することができる。次に、ホスト車両は「同じ」速度を保つか(ノード1148)、「加速」するか(ノード1150)、又は「減速」するか(ノード1152)を決めることができる。次に、ホスト車両は他の車両を調べる「鎖状」構造1154に入ることができ、それらの意味論的意味を組{g,t,o}内の値に設定する。このプロセスは他の車両に対する願望を設定し得る。この鎖の中の全てのノードのパラメータは(回帰ニューラルネットワークと同様に)共有され得る。
【0193】
[0261] 選択肢の考えられる利益は結果の解釈可能性である。もう1つの考えられる利益は組Dの分解可能な構造を利用することができ、従って各ノードにおけるポリシを少数の可能性の中から選べることである。加えて、構造はポリシ勾配推定子の分散を減らすことを可能にし得る。
【0194】
[0262] 上記で論じたように、二重合流シナリオにおけるエピソードの長さはおおよそT=250ステップであり得る。この値(又は特定のナビゲーションシナリオに応じた他の任意の適切な値)はホスト車両の動作の結果を認めるのに十分な時間を与え得る(例えばホスト車両が合流の準備として車線変更することに決めた場合、ホスト車両は合流を成功裏に完了した後でのみ利益を認める)。他方で、運転の動力学によりホスト車両は十分速い頻度(例えば上記の事例では10Hz)で意思決定を行わなければならない。
【0195】
[0263] 選択肢のグラフはTの有効値を少なくとも2つのやり方で減らすことを可能にし得る。第1に、高レベルの決定を所与として、より短いエピソードを考慮に入れながら低レベルの決定について報酬を定めることができる。例えばホスト車両が「車線変更」及び「行く」ノードを既に選択している場合、2~3秒のエピソードを見ることによって意味論的意味を車両に割り当てるためのポリシが学習され得る(Tが250ではなく20~30になることを意味する)。第2に、高レベルの決定(車線変更するか同じ車線内に留まるか等)について、ホスト車両は0.1秒ごとに意思決定を行う必要がない可能性がある。代わりに、ホスト車両はより低い頻度で(例えば毎秒)意思決定を行うことができてもよく、又は「選択肢終了」関数を実装できてもよく、選択肢の毎終了後にのみ勾配が計算され得る。いずれの場合にも、Tの有効値はその元の値よりも一桁小さいものであり得る。全体的に見て、全てのノードにおける推定子は元の250ステップよりも一桁小さいTの値に依存することができ、そのことはより小さい分散に直ちに変わり得る。
【0196】
[0264] 上記で論じたように、ハード制約はより安全な運転を促進することができ、幾つかの異なるタイプの制約があり得る。例えば、静的なハード制約は検知状態から直接定められ得る。これらは車両の速度、進行方位、加速、ブレーキ(減速)等に対する1つ又は複数の制約を含意し得るホスト車両の環境内の減速バンプ、制限速度、道路の曲率、交差点等を含み得る。静的なハード制約は、意味論的自由空間も含むことができ、そこではホスト車両は例えば自由空間の外側に行くことや物理的障壁にあまりにも近くナビゲートすることを禁止される。静的なハード制約は、車両の運動学的な動きの様々な側面に従わない操作を制限する(例えば禁止する)こともでき、例えば静的なハード制約はホスト車両が横転すること、滑ること、又は他の方法で制御を失うことにつながり得る操作を禁止するために使用することができる。
【0197】
[0265] ハード制約は車両に関連することもできる。例えば、車両が他の車両への少なくとも1メートルの縦方向距離及び他の車両からの少なくとも0.5メートルの横方向距離を保つことを要求する制約を使用することができる。ホスト車両が1台又は複数台の他の車両との衝突コースを保つのを避けるように制約を適用することもできる。例えば、時間τは特定のシーンに基づく時間の測度であり得る。現在の時間から時間τまでのホスト車両及び1台又は複数台の他の車両の予測軌道を検討することができる。2つの軌道が交差する場合、
【数42】
は交点に車両iが到達する時間及びそこから去る時間を表し得る。つまり、それぞれの車は車の第1の部分が交点を通過するときに点に到達し、車の最後の部分が交点を通過するまで一定の時間量が必要である。この時間量が、到達時間を去る時間と分ける。
【数43】
である(即ち車両1の到達時間が車両2の到達時間未満である)と仮定し、車両2が到達するよりも前に車両1が交点を離れていることを確実にしたい。さもなければ衝突が発生することになる。従って
【数44】
であるようにハード制約を実装することができる。更に、車両1と車両2とが最小量で互いに当たらないことを確実にするために、制約に緩衝時間(例えば0.5秒や別の適切な値)を含めることによって追加の安全余裕を得ることができる。2台の車両の予測される交差軌道に関係するハード制約は
【数45】
として表すことができる。
【0198】
[0266] ホスト車両及び1台又は複数台の他の車両の軌道を追跡する時間量τは異なり得る。但し、速度が遅い可能性がある交差点のシナリオではτがより長くてもよく、ホスト車両がτ秒未満で交差点に入り、そこから出ていくようにτを定めることができる。
【0199】
[0267] 当然ながら、車両の軌道にハード制約を適用することはそれらの車両の軌道が予測されることを必要とする。ホスト車両では、任意の所与の時間における意図された軌道をホスト車両が概して既に理解しており実際に計画しているので、軌道の予測は比較的簡単であり得る。他の車両に関して、それらの車両の軌道を予測することはあまり簡単ではない可能性がある。他の車両では、予測軌道を判定するためのベースライン計算が、例えばホスト車両に乗っている1つ若しくは複数のカメラ及び/又は他のセンサ(レーダ、ライダ、音響等)によって捕捉される画像ストリームを解析することに基づいて求められる他の車両の現在の速度及び進行方位に依存し得る。
【0200】
[0268] 但し、問題を簡単にし又は別の車両について予測される軌道の更なる信頼性を少なくとももたらす幾らかの例外があり得る。例えば車線の指示があり道を譲る規則が存在し得る構造化道路に関して、他の車両の軌道は車線に対する他の車両の位置に少なくとも部分的に基づくことができ、適用可能な道を譲る規則に基づくことができる。従って一部の状況では、観測される車線構造がある場合、隣の車線の車両が車線の境界を守ることが想定され得る。つまりホスト車両は、隣の車線の車両がホスト車両の車線内に割り込むことを示す観測された根拠(例えば信号灯、強い横方向の動き、車線の境界を横断する動き)がない限り、隣の車線の車両が自らの車線内に留まると想定し得る。
【0201】
[0269] 他の状況も他の車両の予期される軌道に関するヒントを与え得る。例えばホスト車両に優先通行権があり得る停止標識、交通信号灯、環状交差路等において、その優先通行権を他の車両が守ると想定することができる。従って、規則が破られたことの観測された根拠がない限り、他の車両はホスト車両がもつ優先通行権を尊重する軌道に沿って進むと想定することができる。
【0202】
[0270] ハード制約は、ホスト車両の環境内の歩行者に関して適用することもできる。例えば、観測される任意の歩行者に対する規定の緩衝距離よりも少しでも近くホスト車両がナビゲートすることを禁止されるように歩行者に対する緩衝距離を確立することができる。歩行者の緩衝距離は任意の適切な距離とすることができる。幾つかの実施形態では、緩衝距離は観測される歩行者に対して少なくとも1メートルであり得る。
【0203】
[0271] 車両の状況と同様に、ハード制約は歩行者とホスト車両との間の相対運動に対して適用することもできる。例えばホスト車両の予測軌道に対して(進路及び速度に基づく)歩行者の軌道を監視することができる。特定の歩行者の軌道を所与として、軌道上の全ての点pについて、t(p)は歩行者が点pに到達するのにかかる時間を表し得る。歩行者から少なくとも1メートルの所要の緩衝距離を保つために、t(p)は(ホスト車両が少なくとも1メートルの距離の差で歩行者の前を通過するように十分な時間差を伴って)ホスト車両が点pに到達する時間を上回らなければならず、又は(例えばホスト車両がブレーキをかけて歩行者に道を譲る場合)t(p)はホスト車両が点pに到達する時間を下回らなければならない。更に後者の例では、ホスト車両が歩行者の背後を通過し、少なくとも1メートルの所要の緩衝距離を保つことができるように、ホスト車両が歩行者よりも十分遅い時間に点pに到達することをハード制約が要求し得る。当然ながら歩行者のハード制約には例外があり得る。例えばホスト車両に優先通行権があり又は速度が非常に遅く、歩行者がホスト車両に道を譲るのを拒否すること或いはホスト車両に向かってナビゲートすることについて観測される根拠がない場合、歩行者のハード制約を(例えば少なくとも0.75メートルや0.50メートルのより狭い緩衝に)緩和することができる。
【0204】
[0272] 一部の例では、全てを満たすことができないと判定される場合に制約を緩和することができる。例えば両方のカーブから又はカーブと駐車車両から所望の間隔(例えば0.5メートル)離れるには道路が狭過ぎる状況では、軽減事由がある場合に1つ又は複数の制約を緩和することができる。例えば歩道上に歩行者(又は他の対象)がない場合、カーブから0.1メートルにおいてゆっくり進むことができる。幾つかの実施形態では、そうすることでユーザエクスペリエンスが改善する場合は制約を緩和することができる。例えばくぼみを回避するために、制約を緩和して通常許可され得るよりも車線の縁、カーブ、又は歩行者の近くを車両がナビゲートすることを可能にし得る。更に、どの制約を緩和するのかを決定するとき、幾つかの実施形態では緩和することに決める1つ又は複数の制約は、安全に対して得られる悪影響が最も少ないと見なされるものである。例えば、車両がカーブ又はコンクリート障壁に対してどの程度近く移動できるのかに関する制約は、他の車両への近さを扱う制約を緩和する前に緩和することができる。幾つかの実施形態では、歩行者の制約は緩和される最後のものとすることができ、又は状況によっては決して緩和されない場合がある。
【0205】
[0273]
図12は、ホスト車両のナビゲーション中に捕捉され解析され得るシーンの一例を示す。例えばホスト車両は、ホスト車両の環境を表す複数の画像をホスト車両に関連するカメラ(例えば画像捕捉装置122、画像捕捉装置124、及び画像捕捉装置126のうちの少なくとも1つ)から受信し得る上記のナビゲーションシステム(例えばシステム100)を含み得る。
図12に示すシーンは、予測軌道1212に沿って車線1210内を移動しているホスト車両の環境から時点tにおいて捕捉され得る画像の1つの一例である。ナビゲーションシステムは、複数の画像を受信し、シーンに応答して動作を決定するためにそれらの画像を解析するように特別にプログラムされる少なくとも1つの処理装置(例えば上記のEyeQプロセッサや他の装置のいずれかを含む)を含み得る。とりわけ少なくとも1つの処理装置は、
図8に示す検知モジュール801、運転ポリシモジュール803、及び制御モジュール805を実装することができる。検知モジュール801はカメラから収集される画像情報の収集及び出力、並びにその情報を識別済みのナビゲーション状態の形式で運転ポリシモジュール803に与えることを担うことができ、運転ポリシモジュール803は教師あり学習や強化学習等の機械学習法によって訓練されている訓練済みナビゲーションシステムを構成し得る。検知モジュール801によって運転ポリシモジュール803に与えられるナビゲーション状態情報に基づき、運転ポリシモジュール803は(例えば上記の選択肢のグラフの手法を実施することにより)識別済みのナビゲーション状態に応答してホスト車両によって実行するための所望のナビゲーション動作を生成することができる。
【0206】
[0274] 幾つかの実施形態では、少なくとも1つの処理装置が例えば制御モジュール805を使用し、所望のナビゲーション動作をナビゲーションコマンドに直接変換することができる。しかし他の実施形態では、シーン及び所望のナビゲーション動作によって関与させられ得る様々な所定のナビゲーション制約に対して、運転ポリシモジュール803によって提供される所望のナビゲーション動作をテストするようにハード制約を適用することができる。例えばホスト車両に軌道1212をたどらせる所望のナビゲーション動作を運転ポリシモジュール803が出力する場合、そのナビゲーション動作はホスト車両の環境の様々な側面に関連する1つ又は複数のハード制約に対してテストすることができる。例えば捕捉画像1201は、シーン内に存在するカーブ1213、歩行者1215、目標車両1217、及び静止対象(例えばひっくり返った箱)を判定し得る。これらのそれぞれが1つ又は複数のハード制約に関連し得る。例えばカーブ1213は、ホスト車両がカーブ内に又はカーブを超えて歩道1214上にナビゲートするのを防ぐ静的制約に関連し得る。カーブ1213は、ホスト車両にとっての非ナビゲート区域を画定する、カーブから(例えば0.1メートル、0.25メートル、0.5メートル、1メートル等)隔てて且つカーブに沿って広がる所定距離(例えば緩衝区域)を画定する道路障壁エンベロープにも関連し得る。当然ながら、静的制約は他のタイプの路傍境界(例えばガードレール、コンクリート柱、コーン、パイロン、他の任意のタイプの路傍障壁)に関連してもよい。
【0207】
[0275] 距離及び測距は任意の適切な方法によって判定できることに留意すべきである。例えば幾つかの実施形態では、距離情報がオンボードのレーダ及び/又はライダシステムによって提供され得る。或いは又は加えて、距離情報はホスト車両の環境から捕捉される1つ又は複数の画像を解析することによって導出することができる。例えば画像内で表される認識済み対象のピクセル数を求め、画像捕捉装置の既知の視野及び焦点距離のジオメトリと比較してスケール及び距離を判定することができる。例えば既知の時間間隔にわたって画像から画像へと対象間のスケールの変化を観測することにより、速度及び加速度を判定することができる。この解析は、対象がホスト車両からどれ位速く離れているのか又はホスト車両にどれ位速く近づいているのかと共に、ホスト車両に向かう又はホスト車両から離れる移動方向を示し得る。既知の時間期間にわたるある画像から別の画像への対象のX座標の位置変化を解析することにより、横断速度を判定することができる。
【0208】
[0276] 歩行者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の段階に関連する最大移動速度を上回るホスト車両の最大移動速度に関連し得る。
【0209】
[0277] ホスト車両の環境内の検出済みのシーンによって1つ又は複数の静止対象制約も関与させられ得る。例えば画像1201では、少なくとも1つの処理装置が道路内にある箱1219等の静止対象を検出し得る。検出される静止対象は、道路内の木、ポール、道路標識、対象のうちの少なくとも1つ等の様々な対象を含み得る。検出される静止対象には1つ又は複数の既定のナビゲーション制約が関連し得る。例えばかかる制約は静止対象エンベロープを含むことができ、静止対象エンベロープは、ホスト車両のナビゲーションがその内部で禁じられ得る対象の周りの緩衝区域を画定する。緩衝区域の少なくとも一部は検出済みの静止対象の縁から所定の距離広がり得る。例えば画像1201によって表すシーンでは、少なくとも0.1メートル、0.25メートル、0.5メートル、又はそれ以上の緩衝区域が箱1219に関連することができ、そのため、ホスト車両は検出済みの静止対象との衝突を回避するために少なくとも幾らかの距離(例えば緩衝区域の距離)の分だけ箱の右側又は左側を通過する。
【0210】
[0278] 既定のハード制約は、1つ又は複数の目標車両制約も含み得る。例えば、画像1201内で目標車両1217が検出され得る。ホスト車両が目標車両1217と衝突しないことを確実にするために、1つ又は複数のハード制約を使用することができる。幾つかの場合、単一の緩衝区域の距離に目標車両エンベロープが関連し得る。例えば緩衝区域は、全方向に目標車両を取り囲む1メートルの距離によって画定され得る。緩衝区域は、ホスト車両がその内部にナビゲートすることが禁じられる、目標車両から少なくとも1メートル広がる領域を画定し得る。
【0211】
[0279] 但し、目標車両1217を取り囲むエンベロープは固定された緩衝距離によって画定される必要はない。幾つかの場合、目標車両(又はホスト車両の環境内で検出される他の任意の移動可能対象)に関連する既定のハード制約は、検出済みの目標車両に対するホスト車両の向きに依存し得る。例えば幾つかの場合、(例えばホスト車両が目標車両に向かって走行している場合のように目標車両からホスト車両の前部又は後部に及ぶ)縦方向の緩衝区域の距離が少なくとも1メートルであり得る。(例えばホスト車両が目標車両と同じ又は逆の方向に移動しており、そのためホスト車両の側部が目標車両の側部のすぐ横を通過する場合等、目標車両からホスト車両のいずれかの側部に及ぶ)横方向の緩衝区域の距離は少なくとも0.5メートルであり得る。
【0212】
[0280] 上記で説明したように、ホスト車両の環境内の目標車両又は歩行者を検出することにより他の制約を関与させることもできる。例えばホスト車両及び目標車両1217の予測軌道を検討することができ、2つの軌道が(例えば交点1230において)交差するときハード制約は
【数46】
又は
【数47】
を要求することができ、ホスト車両は車両1であり、目標車両1217は車両2である。同様に、ホスト車両の予測軌道に対して(進路及び速度に基づく)歩行者1215の軌道を監視することができる。特定の歩行者の軌道を所与として、軌道上の全ての点pについて、t(p)は歩行者が点p(即ち
図12の点1231)に到達するのにかかる時間を表す。歩行者から少なくとも1メートルの所要の緩衝距離を保つために、t(p)は(ホスト車両が少なくとも1メートルの距離の差で歩行者の前を通過するように十分な時間差を伴って)ホスト車両が点pに到達する時間を上回らなければならず、又は(例えばホスト車両がブレーキをかけて歩行者に道を譲る場合)t(p)はホスト車両が点pに到達する時間を下回らなければならない。更に後者の例では、ホスト車両が歩行者の背後を通過し、少なくとも1メートルの所要の緩衝距離を保つことができるように、ホスト車両が歩行者よりも十分遅い時間に点pに到達することをハード制約が要求する。
【0213】
[0281] 他のハード制約も使用することができる。例えば少なくとも幾つかの場合、ホスト車両の最大減速率を使用することができる。この最大減速率は、(例えば後向きカメラから収集される画像を使用し)ホスト車両を追走する目標車両までの検出距離に基づいて判定することができる。ハード制約は、検知した横断歩道や踏切における強制的な停止又は他の適用可能な制約を含み得る。
【0214】
[0282] 1つ又は複数の既定のナビゲーション制約が関与させられ得ることをホスト車両の環境内のシーンの解析が示す場合、ホスト車両の1つ又は複数の計画済みのナビゲーション動作に対してそれらの制約を課すことができる。例えば、運転ポリシモジュール803が所望のナビゲーション動作を返すことをシーンの解析がもたらす場合、その所望のナビゲーション動作を1つ又は複数の関与させられる制約に対してテストすることができる。所望のナビゲーション動作が関与させられる制約の任意の側面に違反すると判定される場合(例えばホスト車両が歩行者1215から少なくとも1.0メートルに留まることを既定のハード制約が要求する場合に所望のナビゲーション動作が歩行者1215の0.7メートルの距離内にホスト車両を運ぶ場合)、1つ又は複数の既定のナビゲーション制約に基づいて所望のナビゲーション動作に対する少なくとも1つの修正を加えることができる。このやり方で所望のナビゲーション動作を調節することは、ホスト車両の環境内で検出される特定のシーンによって関与させられる制約に準拠してホスト車両の実際のナビゲーション動作をもたらすことができる。
【0215】
[0283] ホスト車両の実際のナビゲーション動作を決定した後、ホスト車両の決定済みの実際のナビゲーション動作に応答してホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことにより、そのナビゲーション動作を実施することができる。このナビゲーションアクチュエータは、ホスト車両のステアリングメカニズム、ブレーキ、又はアクセルのうちの少なくとも1つを含み得る。
【0216】
[0284] 優先順位付けされた制約
[0285] 上記で説明したように、ホスト車両の安全な動作を確実にするために様々なハード制約をナビゲーションシステムと共に使用することができる。制約は、とりわけ歩行者、目標車両、道路障壁、若しくは検出される対象に対する最小安全運転距離、検出される歩行者の影響区域内を通過するときの最大移動速度、又はホスト車両の最大減速率を含み得る。これらの制約は機械学習(教師あり、強化、又はその組み合わせ)に基づいて訓練された訓練済みのシステムによって課すことができるが、(例えばホスト車両の環境のシーン内で生じる予期される状況に直接対処するアルゴリズムを使用する)訓練されていないシステムでも有用であり得る。
【0217】
[0286] いずれにせよ制約の階層があり得る。言い換えれば、一部のナビゲーション制約が他のナビゲーション制約に優先する場合がある。従って、関与させられる全ての制約を満たすことになるナビゲーション動作を利用できない状況が発生した場合、ナビゲーションシステムは最も高い優先順位の制約を最初に実現する使用可能なナビゲーション動作を決定することができる。例えばシステムは、たとえ歩行者を回避するナビゲーションが道路内で検出される別の車両又は対象との衝突を引き起こすことになっても、車両に歩行者をまず回避させることができる。別の例では、システムは歩行者を回避するために車両にカーブを乗り上げさせることができる。
【0218】
[0287]
図13は、ホスト車両の環境内のシーンを解析することに基づいて決定される関与させられる制約の階層を実装するためのアルゴリズムを示すフローチャートを示す。例えばステップ1301で、ナビゲーションシステムに関連する少なくとも1つのプロセッサ(例えばEyeQプロセッサ等)が、ホスト車両の環境を表す複数の画像をホスト車両の搭載カメラから受信することができる。ステップ1303でホスト車両の環境のシーンを表す1つ又は複数の画像を解析することにより、ホスト車両に関連するナビゲーション状態を判定することができる。例えばナビゲーション状態は、
図12にあるようにホスト車両が2車線道路1210に沿って移動していること、目標車両1217がホスト車両の前方の交差点を進んでいること、ホスト車両が移動する道路を渡るために歩行者1215が待っていること、ホスト車両の車線の前方に対象1219が存在することを、幾つかあるシーンの様々な特性の中で特に示し得る。
【0219】
[0288] ステップ1305で、ホスト車両のナビゲーション状態によって関与させられる1つ又は複数のナビゲーション制約を決定することができる。例えば少なくとも1つの処理装置は、1つ又は複数の捕捉画像によって表されるホスト車両の環境内のシーンを解析した後、捕捉画像の画像解析によって認識される対象、車両、歩行者等によって関与させられる1つ又は複数のナビゲーション制約を決定することができる。幾つかの実施形態では、少なくとも1つの処理装置が、ナビゲーション状態によって関与させられる少なくとも第1の既定のナビゲーション制約及び第2の既定のナビゲーション制約を決定することができ、第1の既定のナビゲーション制約は第2の既定のナビゲーション制約と異なり得る。例えば第1のナビゲーション制約はホスト車両の環境内で検出される1台又は複数台の目標車両に関係することができ、第2のナビゲーション制約はホスト車両の環境内で検出される歩行者に関係することができる。
【0220】
[0289] ステップ1307で、少なくとも1つの処理装置が、ステップ1305で識別された制約に関連する優先順位を決定することができる。説明する例では、歩行者に関係する第2の既定のナビゲーション制約が、目標車両に関係する第1の既定のナビゲーション制約よりも高い優先順位を有し得る。ナビゲーション制約に関連する優先順位は様々な要因に基づいて決定され又は割り当てられ得るが、幾つかの実施形態ではナビゲーション制約の優先順位は安全性の観点から見たその相対的な重要性に関係し得る。例えばできるだけ多くの状況において全ての実装済みのナビゲーション制約に従い又はそれを満たすことが重要であり得るが、一部の制約は他の制約よりも強い安全性リスクに関連する場合があり、従ってより高い優先順位を割り当てることができる。例えば、ホスト車両が歩行者から少なくとも1メートルの間隔を保つことを要求するナビゲーション制約は、ホスト車両が目標車両から少なくとも1メートルの間隔を保つことを要求する制約よりも高い優先順位を有し得る。これは歩行者との衝突の方が別の車両との衝突よりも深刻な結果を有し得るからであり得る。同様に、ホスト車両と目標車両との間の間隔を保つことは、ホスト車両が道路内の箱を回避すること、減速バンプ上で一定速度未満で走行すること、又はホスト車両の搭乗者を最大加速度レベル以下にさらすことを要求する制約よりも高い優先順位を有し得る。
【0221】
[0290] 運転ポリシモジュール803は特定のシーン又はナビゲーション状態によって関与させられるナビゲーション制約を満たすことで安全性を最大化するように設計されるが、状況によっては関与させられる全ての制約を満たすのが物理的に不可能であり得る。ステップ1309に示すように、そのような状況では、関与させられる各制約の優先順位を使用して関与させられる制約のどれが最初に満たされるべきかを決定することができる。上記の例を続け、歩行者との間隙の制約及び目標車両との間隙の制約の両方を満たすことができず、制約の一方しか満たすことができない状況では、歩行者との間隙の制約のより高い優先順位が、目標車両までの間隙を保とうと試みる前に制約が満たされることをもたらし得る。従って通常の状況では、ステップ1311に示すように、第1の既定のナビゲーション制約及び第2の既定のナビゲーション制約の両方を満たすことができる場合、少なくとも1つの処理装置がホスト車両の識別済みのナビゲーション状態に基づいて、第1の既定のナビゲーション制約及び第2の既定のナビゲーション制約の両方を満たすホスト車両用の第1のナビゲーション動作を決定することができる。しかし関与させられる全ての制約を満たすことができない他の状況では、ステップ1313に示すように、第1の既定のナビゲーション制約及び第2の既定のナビゲーション制約の両方は満たすことができない場合、少なくとも1つの処理装置が識別済みのナビゲーション状態に基づいて、第2の既定のナビゲーション制約(即ち優先順位が高い方の制約)を満たすが第1の既定のナビゲーション制約(第2のナビゲーション制約よりも低い優先順位を有する)は満たさないホスト車両用の第2のナビゲーション動作を決定することができる。
【0222】
[0291] 次にステップ1315で、ホスト車両の決定済みのナビゲーション動作を実施するために、少なくとも1つの処理装置は、ホスト車両用の決定した第1のナビゲーション動作又は決定した第2のナビゲーション動作に応答してホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。先の例と同様に、ナビゲーションアクチュエータはステアリングメカニズム、ブレーキ、又はアクセルのうちの少なくとも1つを含み得る。
【0223】
[0292] 制約緩和
[0293] 上記で論じたように、安全のためにナビゲーション制約を課すことができる。制約はとりわけ歩行者、目標車両、道路障壁、若しくは検出される対象に対する最小安全運転距離、検出される歩行者の影響区域内を通過するときの最大移動速度、又はホスト車両の最大減速率を含み得る。これらの制約は、学習ナビゲーションシステム又は非学習ナビゲーションシステム内で課すことができる。特定の状況ではこれらの制約を緩和することができる。例えばホスト車両が歩行者の近くで減速し又は停止し、歩行者のそばを通過する意図を伝えるためにゆっくり進む場合、取得画像から歩行者の反応を検出することができる。歩行者の反応がじっとしていること又は動くのをやめることである場合(及び/又は歩行者とのアイコンタクトが検知される場合)、歩行者のそばを通過するナビゲーションシステムの意図を歩行者が認識したと理解することができる。そのような状況では、システムが1つ又は複数の既定の制約を緩和し、あまり厳しくない制約を実施する(例えばより厳格な1メートルの境界内ではなく歩行者の0.5メートルの範囲内を車両がナビゲートすることを可能にする)ことができる。
【0224】
[0294]
図14は、1つ又は複数のナビゲーション制約を緩和することに基づいてホスト車両の制御を実施するためのフローチャートを示す。ステップ1401で、少なくとも1つの処理装置がホスト車両の環境を表す複数の画像をホスト車両に関連するカメラから受信することができる。ステップ1403で画像を解析することは、ホスト車両に関連するナビゲーション状態を識別することを可能にし得る。ステップ1405で、少なくとも1つのプロセッサがホスト車両のナビゲーション状態に関連するナビゲーション制約を決定することができる。ナビゲーション制約は、ナビゲーション状態の少なくとも1つの側面によって関与させられる第1の既定のナビゲーション制約を含み得る。ステップ1407で、複数の画像を解析することが、少なくとも1つのナビゲーション制約緩和要因の存在を判定し得る。
【0225】
[0295] ナビゲーション制約緩和要因は、1つ又は複数のナビゲーション制約が少なくとも1つの側面において中断され、変更され、さもなければ緩和され得る任意の適切なインジケータを含み得る。幾つかの実施形態では、少なくとも1つのナビゲーション制約緩和要因は、歩行者の目がホスト車両の方向を見ているという(画像解析に基づく)判定を含み得る。その場合、歩行者がホスト車両を認識しているとより安全に見なすことができる。その結果、ホスト車両の経路内に歩行者が移動することを引き起こす予期せぬ動作に歩行者が関与しない信頼レベルが一層高くなり得る。他の制約緩和要因も使用することができる。例えば少なくとも1つのナビゲーション制約緩和要因は、動いていないと判定される歩行者(例えばホスト車両の経路に入る可能性が低いと推定される者)、又はその動きが減速していると判定される歩行者を含み得る。ホスト車両が停止したとき動いていないと判定され、その後移動を再開する歩行者等、ナビゲーション制約緩和要因はより複雑な動作も含むことができる。そのような状況では、ホスト車両が優先通行権を有することを歩行者が理解していると見なすことができ、停止する歩行者はホスト車両に道を譲る自らの意図を示唆することができる。1つ又は複数の制約を緩和させ得る他の状況は、縁石のタイプ(例えば低い縁石や傾斜が緩やかな縁石は距離制約の緩和を可能にし得る)、歩道上に歩行者又は他の対象がないこと、自らのエンジンがかかっていない車両は緩和された距離を有することができ、又はホスト車両の進行先の領域から歩行者の向きがそれている状況及び/又は歩行者が離れている状況を含む。
【0226】
[0296] ナビゲーション制約緩和要因の存在を(例えばステップ1407で)識別すると、制約緩和要因を検出することに応答して第2のナビゲーション制約を決定し又は開発することができる。この第2のナビゲーション制約は第1のナビゲーション制約と異なることができ、第1のナビゲーション制約と比較して緩和された少なくとも1つの特性を含み得る。第2のナビゲーション制約は第1の制約に基づく新たに生成される制約を含むことができ、新たに生成される制約は少なくとも1つの点において第1の制約を緩和する少なくとも1つの修正を含む。或いは第2の制約は、少なくとも1つの点において第1のナビゲーション制約よりも厳しくない所定の制約を構成し得る。幾つかの実施形態では、ホスト車両の環境内で制約緩和要因が識別される状況でのみ使用するためにこの第2の制約を確保しておくことができる。第2の制約が新たに生成されようと1組の完全に又は部分的に使用可能な所定の制約から選択されようと、(関連するナビゲーション制約緩和要因の検出がなければ適用され得る)より厳しい第1のナビゲーション制約の代わりの第2のナビゲーション制約の応用を制約緩和と呼ぶことができ、ステップ1409で実現することができる。
【0227】
[0297] ステップ1407で少なくとも1つの制約緩和要因を検出し、ステップ1409で少なくとも1つの制約を緩和した場合、ステップ1411でホスト車両用のナビゲーション動作を決定することができる。ホスト車両用のナビゲーション動作は識別済みのナビゲーション状態に基づくことができ、第2のナビゲーション制約を満たすことができる。ステップ1413で、決定したナビゲーション動作に応答してホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことにより、そのナビゲーション動作を実施することができる。
【0228】
[0298] 上記で論じたように、ナビゲーション制約及び緩和されたナビゲーション制約を使用することは、(例えば機械学習によって)訓練されたナビゲーションシステム又は訓練されていないナビゲーションシステム(例えば特定のナビゲーション状態に応答して所定の動作で応答するようにプログラムされたシステム)と共に用いることができる。訓練されたナビゲーションシステムを使用する場合、特定のナビゲーション状況に対する緩和されたナビゲーション制約の可用性が、訓練されたシステムの応答から訓練されていないシステムの応答へのモードの切り替えを表し得る。例えば訓練されたナビゲーションネットワークは、第1のナビゲーション制約に基づいてホスト車両用の元のナビゲーション動作を決定することができる。しかし、車両が行う動作は第1のナビゲーション制約を満たすナビゲーション動作とは異なるものであり得る。むしろ、行われる動作はより緩和された第2のナビゲーション制約を満たすことができ、(例えばナビゲーション制約緩和要因があること等、ホスト車両の環境内の特定の条件を検出することに応じて)訓練されていないシステムによって開発される動作であり得る。
【0229】
[0299] ホスト車両の環境内で制約緩和要因を検出することに応答して緩和され得るナビゲーション制約の多くの例がある。例えば既定のナビゲーション制約が検出済みの歩行者に関連する緩衝区域を含み、緩衝区域の少なくとも一部が検出済みの歩行者から所定の距離広がる場合、(新たに開発される、所定の組からメモリから呼び出される、又は既存の制約の緩和バージョンとして生成される)緩和されたナビゲーション制約は異なる又は修正された緩衝区域を含み得る。例えば異なる又は修正された緩衝区域は、検出済みの歩行者に対する元の又は未修正の緩衝区域よりも短い歩行者に対する距離を有し得る。その結果、適切な制約緩和要因がホスト車両の環境内で検出される場合、緩和された制約を考慮し、検出済みの歩行者のより近くにナビゲートすることをホスト車両が許可され得る。
【0230】
[0300] ナビゲーション制約の緩和される特性は、上記で述べたように少なくとも1人の歩行者に関連する緩衝区域の低減される幅を含み得る。但し、緩和される特性は目標車両、検出対象、路傍障壁、又はホスト車両の環境内で検出される他の任意の対象も含み得る。
【0231】
[0301] 少なくとも1つの緩和される特性は、ナビゲーション制約特性における他のタイプの修正も含み得る。例えば緩和される特性は、少なくとも1つの既定のナビゲーション制約に関連する速度増加を含み得る。緩和される特性は、少なくとも1つの既定のナビゲーション制約に関連する許容可能な最大減速度/加速度の増加も含み得る。
【0232】
[0302] 上記のように特定の状況では制約を緩和することができるが、他の状況ではナビゲーション制約を増強することができる。例えば一部の状況では、ナビゲーションシステムは1組の通常のナビゲーション制約を増強することを諸条件が正当化すると判定し得る。かかる増強は、1組の既定の制約に新たな制約を追加することや既定の制約の1つ又は複数の側面を調節することを含み得る。この追加又は調節は、通常の運転条件下で適用可能な1組の既定の制約に対してより慎重なナビゲーションをもたらし得る。制約の増強を正当化し得る条件は、センサの故障や不利な環境条件(視認性の低下や車両の静止摩擦の低下に関連する雨、雪、霧、他の条件)等を含み得る。
【0233】
[0303]
図15は、1つ又は複数のナビゲーション制約を増強することに基づいてホスト車両の制御を実施するためのフローチャートを示す。ステップ1501で、少なくとも1つの処理装置がホスト車両の環境を表す複数の画像をホスト車両に関連するカメラから受信することができる。ステップ1503で画像を解析することは、ホスト車両に関連するナビゲーション状態を識別することを可能にし得る。ステップ1505で、少なくとも1つのプロセッサがホスト車両のナビゲーション状態に関連するナビゲーション制約を決定することができる。ナビゲーション制約は、ナビゲーション状態の少なくとも1つの側面によって関与させられる第1の既定のナビゲーション制約を含み得る。ステップ1507で、複数の画像を解析することが、少なくとも1つのナビゲーション制約増強要因の存在を判定し得る。
【0234】
[0304] 関与させられるナビゲーション制約は(例えば
図12に関して)上記で論じたナビゲーション制約のいずれか、又は他の任意の適切なナビゲーション制約を含み得る。ナビゲーション制約増強要因は、1つ又は複数のナビゲーション制約が少なくとも1つの側面において補足/増強され得る任意のインジケータを含み得る。ナビゲーション制約の補足又は増強は(例えば1組の所定の制約に新たなナビゲーション制約を追加することにより)組ごとに行うことができ、又は制約ごとに行うことができる(例えば修正される制約が元よりも制限的であるように特定の制約を修正することや、所定の制約に対応する新たな制約を追加することであり、新たな制約は少なくとも1つの側面において対応する制約よりも制限的である)。加えて又は代替的に、ナビゲーション制約の補足又は増強は階層に基づく1組の所定の制約の中から選択することを指す場合もある。例えばホスト車両の環境内で又はホスト車両に対してナビゲーション増強要因が検出されるかどうかに基づき、1組の増強された制約が選択のために提供され得る。増強要因が検出されない通常の条件下では、関与させられるナビゲーション制約は通常の条件に適用可能な制約から導くことができる。他方で1つ又は複数の制約増強要因が検出される場合、関与させられる制約は1つ又は複数の増強要因に対して生成され又は予め定められる増強された制約から導くことができる。増強された制約は、通常の条件下で適用可能な対応する制約よりも少なくとも1つの側面において制限的であり得る。
【0235】
[0305] 幾つかの実施形態では、少なくとも1つのナビゲーション制約増強要因が、ホスト車両の環境内の路面上に氷、雪、又は水が存在することを(例えば画像解析に基づいて)検出することを含み得る。この判定は、例えば乾燥した道路で予期されるよりも反射率が高い領域(例えば道路上の氷や水を示す)、雪が存在することを示す路面上の白色領域、道路上に縦方向の溝(例えば雪中のタイヤ跡)が存在することと合致する道路上の影、ホスト車両のフロントガラス上の水滴や氷/雪の小さな粒、路面上に水や氷/雪が存在することの他の任意の適切なインジケータを検出することに基づき得る。
【0236】
[0306] 少なくとも1つのナビゲーション制約増強要因は、ホスト車両のフロントガラスの外面上の小さな粒を検出することも含み得る。かかる小さな粒は、ホスト車両に関連する1つ又は複数の画像捕捉装置の画質を損なう可能性がある。ホスト車両のフロントガラスの裏側に搭載されるカメラに関連するホスト車両のフロントガラスに関して説明したが、ホスト車両に関連する他の面上(例えばカメラのレンズやレンズカバー、ヘッドライトレンズ、リアウィンドウ、テールライトレンズ、又は画像捕捉装置にとって可視の(又はセンサによって検出される)ホスト車両の他の任意の面上の小さな粒を検出することもナビゲーション制約増強要因があることを示し得る。
【0237】
[0307] ナビゲーション制約増強要因は、1つ又は複数の画像取得装置の特性として検出することもできる。例えばホスト車両に関連する画像捕捉装置(例えばカメラ)によって捕捉される1つ又は複数の画像の画質の検出される低下もナビゲーション制約増強要因を構成し得る。画質の低下は、画像捕捉装置又は画像捕捉装置に関連するアセンブリに関連するハードウェアの故障若しくは部分的なハードウェアの故障に関連する場合がある。かかる画質の低下は環境条件によって引き起こされる場合もある。例えばホスト車両を取り囲む空気中に煙、霧、雨、雪等が存在することは、ホスト車両の環境内にあり得る道路、歩行者、目標車両等に関する画質の低下に寄与する場合もある。
【0238】
[0308] ナビゲーション制約増強要因は、ホスト車両の他の側面にも関係し得る。例えば一部の状況では、ナビゲーション制約増強要因は、ホスト車両に関連するシステム又はセンサの検出された故障又は部分的な故障を含み得る。かかる増強要因は、例えばホスト車両のナビゲーション状態に関連するナビゲーション制約に関連してホスト車両がナビゲートする能力に影響を及ぼし得る、ホスト車両に関連する速度センサ、GPS受信機、加速度計、カメラ、レーダ、ライダ、ブレーキ、タイヤ、又は他の任意のシステムの故障又は部分的な故障を検出することを含み得る。
【0239】
[0309] ナビゲーション制約増強要因があることが(例えばステップ1507で)識別される場合、制約増強要因を検出することに応答して第2のナビゲーション制約を決定し又は開発することができる。この第2のナビゲーション制約は第1のナビゲーション制約と異なることができ、第1のナビゲーション制約に対して増強される少なくとも1つの特性を含み得る。ホスト車両の環境内の又はホスト車両に関連する制約増強要因を検出することは、通常の動作条件と比較してホスト車両の少なくとも1つのナビゲーション能力が低下している可能性があることを示唆し得るので、第2のナビゲーション制約は第1のナビゲーション制約よりも制限的であり得る。そのような能力の低下は、道路の静止摩擦の低下(例えば道路上の氷、雪、水やタイヤ空気圧の低下等)、視界が損なわれること(例えば捕捉画質を下げる雨、雪、塵、煙、霧等)、検出能力が損なわれること(例えばセンサの故障や部分的な故障、センサの性能低下等)、又は検出されるナビゲーション状態に応答してホスト車両がナビゲートする能力の他の任意の低下を含み得る。
【0240】
[0310] ステップ1507で少なくとも1つの制約増強要因を検出し、ステップ1509で少なくとも1つの制約を増強している場合、ステップ1511でホスト車両用のナビゲーション動作を決定することができる。ホスト車両用のナビゲーション動作は識別済みのナビゲーション状態に基づくことができ、第2のナビゲーション(即ち増強された)制約を満たすことができる。ステップ1513で、決定したナビゲーション動作に応答してホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことにより、そのナビゲーション動作を実施することができる。
【0241】
[0311] 先に論じたように、ナビゲーション制約及び増強されたナビゲーション制約を使用することは、(例えば機械学習によって)訓練されたナビゲーションシステム又は訓練されていないナビゲーションシステム(例えば特定のナビゲーション状態に応答して所定の動作で応答するようにプログラムされたシステム)と共に用いることができる。訓練されたナビゲーションシステムを使用する場合、特定のナビゲーション状況に対する増強されたナビゲーション制約の可用性が、訓練されたシステムの応答から訓練されていないシステムの応答へのモードの切り替えを表し得る。例えば訓練されたナビゲーションネットワークは、第1のナビゲーション制約に基づいてホスト車両用の元のナビゲーション動作を決定することができる。しかし、車両が行う動作は第1のナビゲーション制約を満たすナビゲーション動作とは異なるものであり得る。むしろ、行われる動作は増強された第2のナビゲーション制約を満たすことができ、(例えばナビゲーション制約増強要因があること等、ホスト車両の環境内の特定の条件を検出することに応じて)訓練されていないシステムによって開発される動作であり得る。
【0242】
[0312] ホスト車両の環境内で制約増強要因を検出することに応答して生成され、補足され、又は増強され得るナビゲーション制約の多くの例がある。例えば既定のナビゲーション制約が検出済みの歩行者、対象、車両等に関連する緩衝区域を含み、緩衝区域の少なくとも一部が検出済みの歩行者/対象/車両から所定の距離広がる場合、(新たに開発される、所定の組からメモリから呼び出される、又は既存の制約の増強バージョンとして生成される)増強されたナビゲーション制約は異なる又は修正された緩衝区域を含み得る。例えば異なる又は修正された緩衝区域は、検出済みの歩行者/対象/車両に対する元の又は未修正の緩衝区域よりも長い歩行者/対象/車両に対する距離を有し得る。その結果、適切な制約増強要因がホスト車両の環境内で又はホスト車両に関連して検出される場合、増強された制約を考慮し、検出済みの歩行者/対象/車両のより遠くをナビゲートすることをホスト車両が強制されてもよい。
【0243】
[0313] 少なくとも1つの増強される特性は、ナビゲーション制約特性における他のタイプの修正も含み得る。例えば増強される特性は、少なくとも1つの既定のナビゲーション制約に関連する速度低下を含み得る。増強される特性は、少なくとも1つの既定のナビゲーション制約に関連する許容可能な最大減速度/加速度の低下も含み得る。
【0244】
[0314] 長期計画に基づくナビゲーション
[0315] 幾つかの実施形態では、開示するナビゲーションシステムがホスト車両の環境内の検出済みのナビゲーション状態に応答できるだけではなく、長期計画に基づいて1つ又は複数のナビゲーション動作を決定することもできる。例えばシステムは、検出されるナビゲーション状態に関してナビゲートするための選択肢として使用可能な1つ又は複数のナビゲーション動作の将来のナビゲーション状態に対する潜在的影響を検討することができる。将来の状態に対する使用可能な動作の効果を検討することは、ナビゲーションシステムが現在検出しているナビゲーション状態だけに基づいてではなく、長期計画にも基づいてナビゲーション動作を決定することを可能にし得る。長期計画技法を使用するナビゲーションは、使用可能な選択肢の中からナビゲーション動作を選択するための技法としてナビゲーションシステムによって1つ又は複数の報酬関数が使用される場合に特に適用可能であり得る。ホスト車両の検出済みの現在のナビゲーション状態に応答して行うことができる使用可能なナビゲーション動作に関して潜在的報酬を解析することができる。但し、更に現在のナビゲーション状態に対する使用可能な動作から生じると予測される将来のナビゲーション状態に応答して行うことができる動作に関連して潜在的報酬を解析することもできる。その結果、たとえ選択されるナビゲーション動作が現在のナビゲーション状態に応答して行うことができる使用可能な動作の中で最も高い報酬をもたらさない可能性があっても、一部の事例では開示するナビゲーションシステムが検出されるナビゲーション状態に応答してナビゲーション動作を選択する場合がある。これはとりわけ、被選択動作又は一部の事例では現在のナビゲーション状態に対して使用可能な動作のうちのいずれかよりも高い報酬を与える1つ又は複数の候補となるナビゲーション動作のきっかけを作る将来のナビゲーション状態を被選択動作がもたらし得るとシステムが判定する場合に該当し得る。この原理は、報酬が高い選択肢を将来もたらすために、より有利でない動作を現在行うものとしてより単純に表すことができる。従って、長期計画が可能な開示するナビゲーションシステムは、報酬の短期的な損失が長期的な報酬の増加をもたらし得ることを長期予測が示す場合は次善の短期動作を選択することができる。
【0245】
[0316] 概して自律運転の応用は、長期目的を最適化するためにナビゲーションシステムが即時の動作を決定し得る一連の計画問題を含み得る。例えば車両が環状交差路において合流する状況に直面した場合、ナビゲーションシステムは環状交差路内へのナビゲーションを開始するために即時の加速コマンド又はブレーキコマンドを決定することができる。環状交差路において検出されるナビゲーション状態に対する即時の動作は検出される状態に応じた加速コマンド又はブレーキコマンドを含み得るが、長期目的は合流に成功することであり、選択されるコマンドの長期的効果は合流の成功/失敗である。問題を2つのフェーズに分解することによって計画問題に対処することができる。第1に、(現在の表現に対して予測因子が可微分だと仮定し)現在に基づいて近い将来を予測するために教師あり学習を適用することができる。第2に、回帰ニューラルネットワークを使用してエージェントの完全な軌道をモデリングすることができ、説明されていない要因は(付加的)入力ノードとしてモデリングされる。このことは、教師あり学習法及び回帰ニューラルネットワーク上の直接の最適化を使用して長期計画問題に対する解を求めることを可能にし得る。かかる手法は、環境に対する敵対要素を組み込むことによってロバストなポリシの学習を可能にすることもできる。
【0246】
[0317] 自律運転システムの最も基本的な要素の2つが検知及び計画である。検知は環境の現在の状態のコンパクト表現を見つけることに取り組むのに対し、計画は将来の目的を最適化するためにどの動作を行うのかを決定することに取り組む。検知の問題を解くのに教師あり機械学習法が有用である。計画の部分について機械学習アルゴリズムフレームワーク、とりわけ上記で記載したような強化学習(RL)フレームワークを使用することもできる。
【0247】
[0318] RLは一連の連続したラウンドによって実行することができる。ラウンドtでは、プランナ(別名エージェント又は運転ポリシモジュール803)が、エージェント並びに環境を表す状態s
t∈Sを観測し得る。次いでプランナは、動作α
t∈Aを決定すべきである。動作を実行した後、エージェントが即時の報酬
【数48】
を受信し、新たな状態s
t+1に移される。一例としてホスト車両は適応走行制御(ACC)システムを含むことができ、ACCではスムーズな運転を維持しながら先行車両までの十分な距離を保つために車両が加速/ブレーキを自律的に実施すべきである。状態は対
【数49】
としてモデリングすることができ、x
tは先行車両までの距離であり、v
tは先行車両の速度に対するホスト車両の速度である。動作
【数50】
は加速コマンドである(α
t<0が成立する場合はホスト車両が減速する)。報酬は(運転のスムーズさを反映する)|α
t|及び(ホスト車両が先行車両から安全な距離を保つことを反映する)s
tに依存する関数であり得る。プランナの目標は(ことによると対象期間又は将来の報酬の割り引かれた和まで)累積報酬を最大化することである。それを行うために、プランナは状態を動作にマップするポリシπ:S→Aを利用することができる。
【0248】
[0319] 教師あり学習(SL)はRLの特別な事例と見なすことができ、教師あり学習ではSにわたる幾らかの分布からstがサンプリングされ、報酬関数はrt=-l(αt,yt)の形式を有することができ、lは損失関数であり、学習側は状態stを認めるとき行うのに最適な動作の(ことによると雑音の多い)値であるytの値を観測する。全般的なRLのモデルとSLの特定の事例との間には幾らかの差がある場合があり、それらの差は全般的なRLの問題をより困難にし得る。
【0249】
[0320] 一部のSLの状況では、学習側が行う動作(又は予測)が環境への影響を有さない場合がある。言い換えれば、st+1とαtとが独立している。このことは2つの重要な含意を有し得る。まずSLでは、サンプル(s1,y1),...,(sm,ym)を事前に収集することができ、そうすることによって初めてサンプルに対して優れた精度を有するポリシ(又は予測因子)の探索を開始することができる。対照的にRLでは、状態st+1は通常、行われる動作(更には前の状態)に依存し、行われる動作はひいては動作を生成するために使用されるポリシに依存する。このことはデータ生成プロセスをポリシ学習プロセスに結び付ける。第2に、SLでは動作が環境に影響を及ぼさないので、πの性能に対するα1の選択の寄与度は局所的である。具体的には、αtは即時の報酬の値にしか影響を及ぼさない。対照的にRLでは、ラウンドtで行われる動作が将来のラウンドにおける報酬値に対して長期的効果を有し得る。
【0250】
[0321] SLでは、報酬の形rt=-l(αt,yt)と共に「正しい」解ytの知識が、αtのあり得る全ての選択肢に関する報酬の完全な知識を提供することができ、そのことはαtに関する報酬の微分(derivative)の計算を可能にし得る。対照的に、RLでは報酬の「ワンショット」値が、行われる動作の特定の選択について観測することができる全てであり得る。これを「バンディット」フィードバックと呼ぶことができる。RLベースのシステムでは、「バンディット」フィードバックしか入手できない場合、システムは行われた動作が行うのに最良の動作だったかどうかを常に知ることができない可能性があるので、これは長期的なナビゲーション計画の一部として「探索」が必要である最も重要な理由の1つである。
【0251】
[0322] 多くのRLアルゴリズムは、マルコフ決定プロセス(MDP)の数学的に明解なモデルに少なくとも部分的に依存する。マルコフ仮定は、st及びαtを所与としてst+1の分布が完全に決定されるものである。これは、MDPの状態にわたる定常分布に関して所与のポリシの累積報酬の閉形式をもたらす。ポリシの定常分布は線形計画問題に対する解として表すことができる。これは1)ポリシ探索と呼ぶことができる主問題に関する最適化、及び2)その変数が価値関数Vπと呼ばれる双対問題に関する最適化という2つのアルゴリズム群をもたらす。価値関数は、MDPが初期状態sから始まり、そこからπに従って動作が選択される場合に期待累積報酬を決定する。関係する量は状態-動作価値関数Qπ(s,α)であり、この関数は状態sからの開始、即時に選択される動作α、及びそこからπに従って選択される動作を仮定し累積報酬を決定する。このQ関数は(ベルマン方程式を使用する)最適なポリシの特徴付けを引き起こし得る。具体的には、このQ関数は最適なポリシがSからAへの決定論的関数だと示すことができる(実際に最適なポリシは最適なQ関数に関する「貪欲な」ポリシとして特徴付けることができる)。
【0252】
[0323] MDPモデルの1つの考えられる利点は、MDPモデルがQ関数を使用して将来を現在に結合することを可能にすることである。例えばホスト車両が現在sの状態にあることを所与とし、Qπ(s,α)の値は将来に対して動作αを実行する効果を示し得る。従って、Q関数は動作αの品質の局所的測度を提供し、それによりRL問題をSLのシナリオとより同様にすることができる。
【0253】
[0324] 多くのRLアルゴリズムがV関数又はQ関数を何らかの形で近似する。価値反復アルゴリズム、例えばQ学習アルゴリズムは最適なポリシのV関数及びQ関数がベルマン方程式から得られる何らかの演算子の不動点であり得ることを利用することができる。Actor-criticなポリシ反復アルゴリズムは反復的なやり方でポリシを学習することを目標とし、反復tにおいて「critic」がQπtを推定し、この推定に基づいて「actor」がポリシを改善する。
【0254】
[0325] MDPの数学的な簡素さ及びQ関数表現に切り替える便利さにもかかわらず、この手法は幾つかの制限を有し得る。例えば幾つかの場合、マルコフの挙動状態の近似の概念が見つかり得る全てである場合がある。更に、状態の遷移はエージェントの動作だけではなく環境内の他のプレーヤの動作にも依存し得る。例えば上記のACCの例では、自律車両の動力学はマルコフ式であり得るが、次の状態は必ずしもマルコフ式ではない他の車の運転者の挙動に依存する場合がある。この問題に対する1つのあり得る解決策は部分的に観測されるMDPを使用することであり、部分的に観測されるMDPではマルコフ状態はあるが、見ることができるのは隠れ状態に従って分散される観測だと仮定される。
【0255】
[0326] より直接的な手法はMDPのゲーム理論的汎用化を検討することができる(例えば確率ゲームの枠組み)。実際、MDPのためのアルゴリズムはマルチエージェントゲームに汎用化することができる(例えばミニマックスQ学習やナッシュQ学習)。他の手法は他のプレーヤの明確なモデリング及びvanishing regret学習アルゴリズムを含み得る。マルチエージェント設定内での学習は単一エージェント設定内での学習よりも複雑であり得る。
【0256】
[0327] Q関数表現の第2の制限は、表形式設定から逸脱することによって生じ得る。表形式設定は状態及び動作の数が少なく、そのためQを|S|行及び|A|列の表として表すことができる場合である。しかしS及びAの自然表現がユークリッド空間を含み、状態空間及び動作空間が離散化される場合、状態/動作の数は規模の点で指数関数的であり得る。そのような場合、表形式設定を採用するのが実用的ではない可能性がある。代わりに、Q関数はパラメトリック仮説クラスからの一部の関数によって近似され得る(例えば特定のアーキテクチャのニューラルネットワーク)。例えばディープQネットワーク(DQN)学習アルゴリズムを使用することができる。DQNでは状態空間が連続的であり得るが、動作空間は小さい離散集合のままであり得る。連続的な動作空間に対応するための手法はあり得るが、それらはQ関数を近似することに依存する可能性がある。いずれにせよQ関数は複雑且つ雑音に敏感な可能性があり、従って学習が困難であり得る。
【0257】
[0328] 異なる手法は、回帰ニューラルネットワーク(RNN)を使用してRLの問題に対処することであり得る。幾つかの場合、RNNは、マルチエージェントゲームの概念及びゲーム理論からの敵対環境へのロバスト性と組み合わせることができる。更に、この手法はマルコフ仮定に明確に依存しないものであり得る。
【0258】
[0329] 以下、予測に基づく計画によるナビゲーションのための手法をより詳細に説明する。この手法では状態空間Sが
【数51】
のサブセットであり、状態空間Aが
【数52】
のサブセットだと仮定することができる。これは多くの応用において自然な表現であり得る。上記で述べたように、RLとSLとの間には2つの主な違いがある場合があり、その違いとはつまり(1)過去の動作が将来の報酬に影響するので、将来からの情報を過去に再び伝える必要があり得ること、及び(2)報酬の「バンディット」な性質は(状態,動作)と報酬との間の依存関係を曖昧にする可能性があり、それが学習プロセスを複雑にし得ることである。
【0259】
[0330] この手法の最初のステップとして、報酬のバンディットな性質が問題ではない興味深い問題があることが観測され得る。例えばACCの応用に関する(以下でより詳細に論じる)報酬値は現在の状態及び動作に対して可微分であり得る。実際、たとえ報酬が「バンディット」式に与えられても、
【数53】
であるように可微分関数
【数54】
を学習する問題は比較的単純なSL問題(例えば一次元の回帰問題)であり得る。従ってこの手法の最初のステップは、s及びαに対して可微分な関数
【数55】
として報酬を定めること、又はインスタンスベクトルが
【数56】
であり、目標スカラがr
tである状態で、サンプルにわたる少なくとも幾らかの回帰損失を最小化する可微分関数
【数57】
を学習するために回帰学習アルゴリズムを使用することであり得る。一部の状況では、訓練セットを作成するために探索の要素を使用することができる。
【0260】
[0331] 過去と将来との間のつながりに対処するために、同様の概念を使用することができる。例えば
【数58】
が成立するように可微分関数
【数59】
が学習可能だと仮定する。かかる関数を学習することはSL問題として特徴付けることができる。
【数60】
は近い将来のための予測因子と見なすことができる。次に、SからAにマップするポリシをパラメトリック関数π
θ:S→Aを使用して記述することができる。ニューラルネットワークとしてπ
θを表現することは、回帰ニューラルネットワーク(RNN)を使用してエージェントをTラウンド走らせるエピソードの表現を可能にすることができ、次の状態は
【数61】
として定義される。ここで
【数62】
は環境によって定めることができ、近い将来の予測不能な側面を表すことができる。s
t+1がs
t及びα
tに可微分な方法で依存することは、将来の報酬値と過去の動作との間のつながりを可能にし得る。ポリシ関数π
θのパラメータベクトルは、結果として生じるRNN上の逆伝搬によって学習され得る。明確な確率論的仮定をv
tに課す必要がないことに留意されたい。具体的には、マルコフ関係の要件が必要ない。代わりに、過去と将来との間で「十分な」情報を伝搬するために回帰ネットワークが利用され得る。直観的に、
【数63】
は近い将来の予測可能な部分を記述し得る一方、v
tは環境内の他のプレーヤの挙動によって生じ得る予測不能な側面を表し得る。学習システムは、他のプレーヤの挙動に対してロバストなポリシを学習すべきである。||v
t||が大きい場合、有意味のポリシを学習するには過去の動作と将来の報酬値との間のつながりに雑音が多過ぎる可能性がある。システムの動力学をトランスペアレントなやり方で明確に表現することは、過去の知識をより容易に組み込むことを可能にすることができる。例えば過去の知識は
【数64】
を定める問題を単純化し得る。
【0261】
[0332] 上記で論じたように学習システムは、予期せぬ方法で動作し得る他の複数の運転者を含み得るホスト車両の環境等、敵対環境に対するロバスト性の恩恵を受けることができる。vtに対して確率論的仮定を課さないモデルでは、vtが敵対的方法で選択される環境を検討することができる。幾つかの場合μtに制限を加えることができ、さもなければ敵が計画問題を困難にし、又は不可能にさえし得る。1つの自然な制約は||μt||が制約によって境界を付けられることを要求することであり得る。
【0262】
[0333] 敵対的環境に対するロバスト性は自律運転の応用において有用であり得る。敵対的方法でμ
tを選択することは、ロバストな最適ポリシに向けて学習システムを集中させることができるので学習プロセスを加速することさえできる。単純なゲームを使用してこの概念を説明することができる。状態は
【数65】
であり、動作は
【数66】
であり、即時の損失関数は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の選択が次善である場合にナビゲーションシステムが非ゼロ逆伝搬メッセージを得るのを助けることができる。かかる関係は、現在の動作が(たとえその動作が次善の報酬更には損失を招いても)将来より高い報酬をもたらすより最適な動作の機会を与えるという期待に基づき、ナビゲーションシステムが現在の動作を選択するのを助けることができる。
【0263】
[0334] この手法は、起こり得る事実上全てのナビゲーション状況に適用することができる。以下、1つの例、つまり適応走行制御(ACC)に適用される手法について説明する。ACCの問題では、ホスト車両が前方の目標車両までの十分な距離(例えば目標車両まで1.5秒)を保とうと試みる場合がある。もう1つの目標は、所望の間隙を維持しながらできるだけスムーズに走行することであり得る。この状況を表すモデルを以下のように定めることができる。状態空間は
【数67】
であり、動作空間は
【数68】
である。状態の第1の座標は目標車両の速度であり、第2の座標はホスト車両の速度であり、最後の座標はホスト車両と目標車両との間の距離(例えば道路の曲線に沿ってホスト車両の位置から目標の位置を引いたもの)である。ホスト車両が行うべき動作は加速であり、α
tで示すことができる。量τは連続したラウンド間の時間差を示すことができる。τは任意の適切な量に設定できるが、一例ではτを0.1秒とすることができる。位置s
tは
【数69】
で示すことができ、目標車両の(未知の)加速度を
【数70】
で示すことができる。
【0264】
[0335] システムの完全な動力学は次式で記述することができる:
【数71】
【0265】
[0336] これは2つのベクトルの和として記述することができる:
【数72】
【0266】
[0337] 第1のベクトルは予測可能な部分であり、第2のベクトルは予測不能な部分である。ラウンドtに対する報酬は以下のように定められる:
【数73】
式中、
【数74】
【0267】
[0338] 第1の項は非ゼロ加速度に対するペナルティをもたらす可能性があり、従ってスムーズな運転を促す。第2の項は目標の車x
tまでの距離と所望の距離との間の比率に依存し、
【数75】
は1メートルの距離と1.5秒のブレーキ距離との間の最大値として定められる。幾つかの場合この比率がちょうど1であり得るが、この比率が[0.7,1.3]の範囲内にある限りポリシは任意のペナルティをなしで済ませることができ、それはスムーズな運転を実現する場合に重要であり得る特性である幾らかのスラックをナビゲーションにおいてホスト車両に認めることができる。
【0268】
[0339] 上記で概説した手法を実装し、ホスト車両のナビゲーションシステムは(例えばナビゲーションシステムの処理ユニット110内の運転ポリシモジュール803の動作により)観測された状態に応答して動作を選択することができる。選択される動作は、感知されるナビゲーション状態に関して使用可能な応答動作に関連する報酬だけの解析に基づくのではなく、将来の状態、将来の状態に応じた候補動作、及び候補動作に関連する報酬を検討し解析することにも基づき得る。
【0269】
[0340]
図16は、検出及び長期計画に基づくナビゲーションに対するアルゴリズム手法を示す。例えばステップ1601で、ホスト車両用のナビゲーションシステムの少なくとも1つの処理装置110が複数の画像を受信し得る。これらの画像はホスト車両の環境を表すシーンを捕捉することができ、上記の画像捕捉装置(例えばカメラやセンサ等)のいずれかによって供給され得る。ステップ1603でこれらの画像の1つ又は複数を解析することは、(上記で説明したように)少なくとも1つの処理装置110がホスト車両に関連する現在のナビゲーション状態を識別することを可能にし得る。
【0270】
[0341] ステップ1605、1607、及び1609で、検知されるナビゲーション状態に応じて様々な候補となるナビゲーション動作を決定することができる。(例えば合流を完了するために、先行車両の後にスムーズに続くために、目標車両を追い抜くために、道路内の対象を回避するために、検出した停止標識のために減速するために、割り込んでくる目標車両を回避するために、又はシステムのナビゲーション目標を助長し得る他の任意のナビゲーション動作を完了するために)これらの候補となるナビゲーション動作(例えば第1のナビゲーション動作から使用可能なN番目のナビゲーション動作まで)は、検知状態及びナビゲーションシステムの長期目標に基づいて決定することができる。
【0271】
[0342] 決定される候補となるナビゲーション動作のそれぞれについて、システムは期待報酬を決定することができる。期待報酬は上記の技法のいずれかに従って決定することができ、1つ又は複数の報酬関数に対する特定の候補動作の解析を含み得る。ステップ1605、1607、及び1609でそれぞれ決定した(例えば第1の、第2の、及びN番目の)候補となるナビゲーション動作のそれぞれについて期待報酬1606、1608、及び1610を決定することができる。
【0272】
[0343] 幾つかの場合、ホスト車両のナビゲーションシステムが、期待報酬1606、1608、及び1610に関連する値(又は期待報酬の他の任意のタイプのインジケータ)に基づいて使用可能な候補動作の中から選択を行うことができる。例えば一部の状況では、最も高い期待報酬をもたらす動作が選択され得る。
【0273】
[0344] とりわけナビゲーションシステムがホスト車両用のナビゲーション動作を決定するために長期計画に携わる他の事例では、最も高い期待報酬をもたらす候補動作をシステムが選択しない場合がある。むしろ、システムは将来に目を向けて、現在のナビゲーション状態に応答して低報酬の動作を選択した場合により高い報酬を後で実現する機会があり得るかどうかを解析することができる。例えば、ステップ1605、1607、及び1609で決定される候補動作のいずれか又は全てについて将来の状態を決定することができる。ステップ1613、1615、及び1617で決定されるそれぞれの将来の状態は、それぞれの候補動作(例えばステップ1605、1607、及び1609で決定される候補動作)によって修正される現在のナビゲーション状態に基づいて生じることが予期される将来のナビゲーション状態を表し得る。
【0274】
[0345] ステップ1613、1615、及び1617で予測される将来の状態のそれぞれについて、(決定される将来の状態に応答して使用可能なナビゲーションの選択肢としての)1つ又は複数の将来の動作を決定し評価することができる。ステップ1619、1621、及び1623で、将来の動作の1つ又は複数に関連する期待報酬の値又は他の任意のタイプのインジケータを(例えば1つ又は複数の報酬関数に基づいて)開発することができる。1つ又は複数の将来の動作に関連する期待報酬は、それぞれの将来の動作に関連する報酬関数の値を比較することによって又は期待報酬に関連する他の任意のインジケータを比較することによって評価することができる。
【0275】
[0346] ステップ1625で、ホスト車両用のナビゲーションシステムが、現在のナビゲーション状態に対して(例えばステップ1605、1607、及び1609で)識別した候補動作だけに基づいてではなく、(例えばステップ1613、1615、及び1617で決定される)予測される将来の状態に応答して使用可能な将来の候補動作の結果として決定される期待報酬にも基づき、期待報酬を比較することに基づいてホスト車両用のナビゲーション動作を選択することができる。ステップ1625での選択は、ステップ1619、1621、及び1623で実行される選択肢及び報酬の解析に基づき得る。
【0276】
[0347] ステップ1625でのナビゲーション動作の選択は、将来の動作の選択肢に関連する期待報酬を比較することだけに基づいてもよい。この場合、ナビゲーションシステムは、候補となる将来のナビゲーション状態のための動作から生じる期待報酬を比較することだけに基づいて、現在の状態に対する動作を選択することができる。例えばシステムは、ステップ1619、1621、及び1623での解析によって決定される最も高い将来の報酬値に関連する、ステップ1605、1607、又は1609で識別される候補となる動作を選択することができる。
【0277】
[0348] ステップ1625でのナビゲーション動作の選択は、(上記で述べたように)現在の動作の選択肢を比較することだけに基づいてもよい。この状況では、ナビゲーションシステムが最も高い期待報酬1606、1608、又は1610に関連する、ステップ1605、1607、又は1609で識別される候補動作を選択することができる。この選択は、将来のナビゲーション状態又は予期される将来のナビゲーション状態に応答して使用可能なナビゲーション動作に対する将来の期待報酬を殆ど又は全く考慮せずに行うことができる。
【0278】
[0349] 他方で、幾つかの場合ステップ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、又は現在の検知済みのナビゲーション状態に応答して使用可能な動作に基づく他の報酬よりも更に高い潜在的報酬を与える動作の選択肢があり得る将来の状態をもたらす可能性があると判定されることがある。
【0279】
[0350] ステップ1625で候補動作の中から選択を行うことは、期待報酬(又は別の候補動作に勝るある候補動作に関連する利益の他の任意の測定基準又はインジケータ)の任意の適切な比較に基づき得る。幾つかの場合、上記で説明したように、第1の候補動作に関連する報酬よりも高い期待報酬に関連する少なくとも1つの将来の動作を第2の候補動作がもたらすことが予測される場合、第1の候補動作に優先して第2の候補動作を選択することができる。他の事例では、より複雑な比較を使用することができる。例えば、予測される将来の状態に応じた動作の選択肢に関連する報酬を、決定される候補動作に関連する複数の期待報酬と比較することができる。
【0280】
[0351] 一部のシナリオでは、現在の状態に対する候補動作の結果として期待される報酬(例えば期待報酬1606、1608、1610等)のどれよりも高い報酬を将来の動作の少なくとも1つがもたらすことが予期される場合、予測される将来の状態に基づく動作及び期待報酬が現在の状態に対する候補動作の選択に影響を及ぼす場合がある。幾つかの場合、現在のナビゲーション状態に対する候補動作を選択するためのガイドとして、(例えば検知される現在の状態に対する候補動作に関連する期待報酬の中の、並びに候補となる将来のナビゲーション状態に対する候補となる将来の動作の選択肢に関連する期待報酬の中の)最も高い期待報酬をもたらす将来の動作の選択肢を使用することができる。つまり最も高い期待報酬(又は所定の閾値等を上回る報酬)をもたらす将来の動作の選択肢を識別した後、最も高い期待報酬をもたらす識別済みの将来の動作に関連する将来の状態につながる候補動作をステップ1625で選択することができる。
【0281】
[0352] 他の事例では、期待報酬間の判定される差に基づいて使用可能な動作の選択を行うことができる。例えば、ステップ1621で決定される将来の動作に関連する期待報酬と期待報酬1606との差が期待報酬1608と期待報酬1606との差を上回る場合(+符号の差を想定する)、ステップ1607で決定される第2の候補動作を選択することができる。別の例では、ステップ1621で決定される将来の動作に関連する期待報酬とステップ1619で決定される将来の動作に関連する期待報酬との差が期待報酬1608と期待報酬1606との差を上回る場合、ステップ1607で決定される第2の候補動作を選択することができる。
【0282】
[0353] 現在のナビゲーション状態に対する候補動作の中から選択を行うための幾つかの例を説明してきた。但し、予測される将来の状態に及ぶ動作及び報酬の解析に基づく長期計画によって使用可能な動作を選択するために、他の任意の適切な比較技法又は基準を使用することができる。加えて、
図16では長期計画解析において2つの層(例えば現在の状態に対する候補動作から生じる報酬を検討する第1の層、及び予測される将来の状態に応じた将来の動作の選択肢から生じる報酬を検討する第2の層)を示すが、更に多い層に基づく解析も可能であり得る。例えば長期計画解析を1つの層又は2つの層に基づかせるのではなく、現在のナビゲーション状態に応答して使用可能な候補動作の中から選択を行う際、解析の3つの層、4つの層、又は更に多くの層を使用することができる。
【0283】
[0354] 検知したナビゲーション状態に応答して候補動作の中から選択を行った後、ステップ1627で、少なくとも1つのプロセッサが選択済みの候補となるナビゲーション動作に応答して、ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。ナビゲーションアクチュエータはホスト車両の少なくとも1つの側面を制御するための任意の適切な装置を含み得る。例えばナビゲーションアクチュエータは、ステアリングメカニズム、ブレーキ、又はアクセルのうちの少なくとも1つを含み得る。
【0284】
[0355] 他者の推論される攻撃性に基づくナビゲーション
[0356] 運転の攻撃性のインジケータを決定するために、取得画像ストリームを解析することによって目標車両を監視することができる。本明細書では攻撃性は質的又は定量的なパラメータとして記載するが他の特性、つまり感知される注意レベル(運転者の潜在的な欠陥、注意散漫-携帯電話や居眠り等)を使用してもよい。一部の事例では目標車両が自衛的姿勢を有すると見なすことができ、一部の事例では目標車両がより攻撃的な姿勢を有すると見なすことができる。攻撃性のインジケータに基づいてナビゲーション動作を選択し、又は開発することができる。例えば幾つかの場合、ホスト車両に対する相対速度、相対加速度、相対加速度の増加、追走距離等を追跡して目標車両が攻撃的か自衛的かを判定することができる。目標車両が閾値を上回る攻撃度のレベルを有すると判定される場合、例えばホスト車両は目標車両に道を譲ることに傾き得る。経路内の又は目標車両付近の1つ又は複数の障害物(例えば先行車両、道路内の障害物、交通信号灯等)に対する目標車両の決定済みの挙動に基づき、目標車両の攻撃度のレベルを判定することもできる。
【0285】
[0357] この概念への導入として、環状交差路内にホスト車両が合流することに関する実験の一例を説明し、ここではナビゲーション目標は環状交差路を通過して出ていくことである。この状況はホスト車両が環状交差路の入り口に到達することで始まることができ、環状交差路の出口(例えば第2の出口)に到達することで終わり得る。成功は、ホスト車両が他の全ての車両と常に安全な距離を保つかどうか、ホスト車両ができるだけ素早くルートを終了するかどうか、及びホスト車両がスムーズな加速のポリシに従うかどうかに基づいて測定することができる。この解説では、NT台の目標車両が環状交差路上に無作為に配置され得る。敵対的な挙動及び典型的な挙動の混同をモデリングするために、確率pで目標車両を「攻撃的な」運転ポリシによってモデリングすることができ、そのためホスト車両が目標車両の前に合流しようと試みるとき攻撃的な目標車両は加速する。確率1-pで目標車両を「自衛的な」運転ポリシによってモデリングすることができ、そのため目標車両は減速し、ホスト車両を合流させる。この実験ではp=0.5であり、他の運転者のタイプに関する情報がホスト車両のナビゲーションシステムに与えられなくてもよい。他の運転者のタイプはエピソードの開始時に無作為に選択され得る。
【0286】
[0358] ナビゲーション状態は、ホスト車両(エージェント)の速度及び位置並びに目標車両の位置、速度、及び加速度として表すことができる。現在の状態に基づいて攻撃的な運転者と自衛的な運転者とを区別するには、目標の加速度を観測し続けることが重要であり得る。全ての目標車両が環状交差路の経路の輪郭を描く1次元曲線上を移動し得る。ホスト車両は合流点において目標車両の曲線と交差する独自の1次元曲線上を移動することができ、この点が両方の曲線の原点である。妥当な運転をモデリングするために、全ての車両の加速度の絶対値に定数によって上限を設けることができる。逆方向に運転することは許可されていないので、速度もReLUを通過させることができる。逆方向に運転するのを許可しないことにより、エージェントは自らの過去の動作を悔いることはできないので、長期計画が必要になり得ることに留意されたい。
【0287】
[0359] 上記で説明したように、次の状態s
t+1は予測可能な部分
【数76】
と予測不能な部分v
tとの和に分解することができる。表現
【数77】
は(可微分なやり方で明確に定めることができる)車両の位置及び速度の動力学を表し得る一方、v
tは目標車両の加速度を表し得る。
【数78】
はアフィン変換上の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の後ろへの成功裏の合流を完了している。
【0288】
[0360]
図18は、他の車両の予測される攻撃性に基づいてホスト車両をナビゲートするためのアルゴリズムの一例を表すフローチャートを示す。
図18の例では、目標車両の環境内の対象に対する目標車両の観測される挙動に基づき、少なくとも1台の目標車両に関連する攻撃性のレベルを推論することができる。例えばステップ1801で、ホスト車両のナビゲーションシステムの少なくとも1つの処理装置(例えば処理装置110)が、ホスト車両の環境を表す複数の画像をホスト車両に関連するカメラから受信することができる。ステップ1803で、受信画像の1つ又は複数を解析することが、ホスト車両1701の環境内の目標車両(例えば車両1703)を少なくとも1つのプロセッサが識別することを可能にし得る。ステップ1805で、受信画像の少なくとも1つを解析することが、ホスト車両の環境内で目標車両にとっての少なくとも1つの障害物を少なくとも1つの処理装置が識別することを可能にし得る。対象は道路内の瓦礫、停止信号/交通信号灯、歩行者、別の車両(例えば目標車両の前を移動している車両や駐車車両等)、道路内の箱、道路障壁、カーブ、又はホスト車両の環境内で遭遇し得る他の任意のタイプの対象を含み得る。ステップ1807で、受信画像の1つ又は複数を解析することが、目標車両にとっての少なくとも1つの識別済みの障害物に対する目標車両の少なくとも1つのナビゲーション特性を少なくとも1つの処理装置が決定することを可能にし得る。
【0289】
[0361] 目標車両に対する適切なナビゲーション応答を開発するために、様々なナビゲーション特性を使用して、検出済みの目標車両の攻撃性のレベルを推論することができる。例えばかかるナビゲーション特性は、目標車両と少なくとも1つの識別済みの障害物との間の相対加速度、目標車両の障害物からの距離(例えば別の車両の後ろにある目標車両の追走距離)、目標車両と障害物との間の相対速度等を含み得る。
【0290】
[0362] 幾つかの実施形態では、ホスト車両に関連するセンサ(例えばレーダ、速度センサ、GPS等)からの出力に基づいて、目標車両のナビゲーション特性を判定することができる。しかし幾つかの場合、ホスト車両の環境の画像を解析することに部分的に又は完全に基づいて、目標車両のナビゲーション特性を判定し得る。例えば上記の及び参照により本明細書に援用する米国特許第9,168,868号の中で記載されている画像解析技法を使用して、ホスト車両の環境内の目標車両を認識することができる。ある期間にわたる捕捉画像内の目標車両の位置を監視すること、及び/又は目標車両に関連する1つ若しくは複数の特徴(例えばテールライト、ヘッドライト、バンパー、車輪等)の捕捉画像内の位置を監視することは、目標車両とホスト車両との間の又は目標車両とホスト車両の環境内の1つ又は複数の他の対象との間の相対的な距離、速度、及び/又は加速度を求めることを可能にし得る。
【0291】
[0363] 識別済みの目標車両の攻撃性のレベルは、目標車両の任意の適切な観測済みのナビゲーション特性又は観測済みのナビゲーション特性の任意の組み合わせから推論することができる。例えば攻撃性の判定は、観測される任意の特性及び1つ又は複数の所定の閾値レベル又は他の任意の適切な質的若しくは定量的な解析に基づいて行うことができる。幾つかの実施形態では、目標車両が所定の攻撃的な距離の閾値未満の距離でホスト車両又は別の車両を追走することが観測される場合、その目標車両を攻撃的と見なすことができる。他方で、所定の攻撃的な距離の閾値を超える距離でホスト車両又は別の車両を追走することが観測される目標車両は、防御的と見なすことができる。所定の攻撃的な距離の閾値は、所定の防御的な距離の閾値と同じである必要はない。加えて、所定の攻撃的な距離の閾値及び所定の防御的な距離の閾値のいずれか又は両方が、明白な境界値ではなく範囲値を含み得る。更に、所定の攻撃的な距離の閾値も所定の防御的な距離の閾値も固定される必要はない。むしろ、これらの値又は範囲値は時間と共にシフトする場合があり、目標車両の観測される特性に基づいて様々な閾値/閾値の範囲を適用することができる。例えば、適用される閾値は目標車両の1つ又は複数の他の特性に依存し得る。観測されるより高い相対速度及び/又は加速度は、より大きい閾値/閾値範囲の適用を正当化し得る。逆に、ゼロの相対速度及び/又は加速度を含むより低い相対速度及び/又は加速度は、攻撃的/防御的の推論を行う場合に、より小さい距離閾値/閾値範囲の適用を正当化し得る。
【0292】
[0364] 攻撃的/防御的の推論は、相対速度及び/又は相対加速度の閾値にも基づき得る。目標車両は、別の車両に対するその観測される相対速度及び/又はその相対加速度が所定のレベル又は範囲を上回る場合、攻撃的と見なすことができる。目標車両は、別の車両に対するその観測される相対速度及び/又はその相対加速度が所定のレベル又は範囲を下回る場合、防御的と見なすことができる。
【0293】
[0365] 攻撃的/防御的の判定は、観測される任意のナビゲーション特性の一つだけに基づいて行われてもよいが、この判定は、観測される特性の任意の組み合わせに依存することもできる。例えば上記で述べたように、幾つかの場合、一定の閾値又は範囲未満の距離で別の車両を追走することが観測されることだけに基づいて目標車両を攻撃的と見なすことができる。しかし他の事例では、所定量(判定が距離だけに基づく場合に適用される閾値と同じでも異なってもよい)未満で別の車両を追走し且つ所定の量又は範囲を上回る相対速度及び/又は相対加速度を有する場合、ホスト車両を攻撃的と見なすことができる。同様に、一定の閾値又は範囲を超える距離で別の車両を追走することが観測されることだけに基づいて目標車両を防御的と見なすことができる。しかし他の事例では、所定量(判定が距離だけに基づく場合に適用される閾値と同じでも異なってもよい)を超えて別の車両を追走し且つ所定の量又は範囲未満の相対速度及び/又は相対加速度を有する場合、ホスト車両を防御的と見なすことができる。システム100は、例えば車両が0.5Gの加速度又は減速度を超える場合(例えばジャーク5m/s3)、車両が車線変更又はカーブ上で0.5Gの横加速度を有する場合、車両が上記のいずれかを別の車両に行わせる場合、車両が車線変更し、0.3Gを超える減速度又は3m/s3を超えるジャークで別の車両に道を譲らせる場合、及び/又は車両が停止することなしに2車線変更する場合、攻撃的/防御的を判断することができる。
【0294】
[0366] ある範囲を上回る量に言及することは、その量が範囲に関連する全ての値を上回ること又は範囲に含まれることを示し得ることを理解すべきである。同様に、ある範囲を下回る量に言及することは、その量が範囲に関連する全ての値を下回ること又は範囲に含まれることを示し得る。加えて、攻撃的/防御的の推論を行うことについて記載した例は距離、相対加速度、及び相対速度に関して説明したが、他の任意の適切な量を使用してもよい。例えば衝突までの時間を計算して使用することができ、又は目標車両の距離、加速度、及び/又は速度の任意の間接的なインジケータを使用することができる。上記の例は他の車両に対する目標車両に焦点を当てるが、攻撃的/防御的の推論は他の任意のタイプの障害物(例えば歩行者、道路障壁、交通信号灯、瓦礫等)に対する目標車両のナビゲーション特性を観測することで行ってもよいことにも留意すべきである。
【0295】
[0367]
図17A及び
図17Bに示す例に戻り、ホスト車両1701が環状交差路に近づくと、自らの少なくとも1つの処理装置を含むナビゲーションシステムが、ホスト車両に関連するカメラから画像ストリームを受信することができる。受信画像の1つ又は複数を解析することに基づき、目標車両1703、1705、1706、1708、及び1710のいずれかを識別することができる。更に、ナビゲーションシステムは、識別済みの目標車両の1台又は複数台のナビゲーション特性を解析することができる。ナビゲーションシステムは、目標車両1703と1705との間の間隙が、環状交差路内への候補となる合流の第1の機会を表すと認識することができる。ナビゲーションシステムは、目標車両1703を解析して、目標車両1703に関連する攻撃性のインジケータを判定することができる。目標車両1703が攻撃的だと見なされる場合、ホスト車両のナビゲーションシステムは、車両1703の前に合流するのではなく、車両1703に道を譲ることに決めることができる。他方で、目標車両1703が防御的だと見なされる場合、ホスト車両のナビゲーションシステムは、車両1703の前で合流動作を完了しようと試みることができる。
【0296】
[0368] ホスト車両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の前で、環状交差路内に合流することに決めることができる。
【0297】
[0369]
図18に戻り、ステップ1809で、ホスト車両のナビゲーションシステムの少なくとも1つの処理装置が、識別済みの障害物に対する目標車両の少なくとも1つの識別済みのナビゲーション特性に基づいて、ホスト車両用のナビゲーション動作(例えば車両1710の前且つ車両1703の後ろに合流すること)を決定することができる。ナビゲーション動作を(ステップ1811)で実施するために、少なくとも1つの処理装置は、決定したナビゲーション動作に応答してホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。例えば
図17Aにおいて車両1703に道を譲るためにブレーキをかけることができ、
図17Bに示すように車両1703の後ろでホスト車両を環状交差路に入れさせるために、ホスト車両の車輪のステアリングと共にアクセルを踏むことができる。
【0298】
[0370] 上記の例の中で説明したように、ホスト車両のナビゲーションは、別の車両又は対象に対する目標車両のナビゲーション特性に基づくことができる。加えて、ホスト車両のナビゲーションは、別の車両又は対象を具体的に参照することなしに、目標車両のナビゲーション特性だけに基づいてもよい。例えば
図18のステップ1807で、ホスト車両の環境から捕捉される複数の画像を解析することが、目標車両に関連する攻撃性のレベルを示す、識別済みの目標車両の少なくとも1つのナビゲーション特性を判定することを可能にし得る。ナビゲーション特性は、攻撃的/防御的の判定を行うために別の対象又は目標車両を基準とする必要がない速度や加速度等を含み得る。例えば、所定の閾値を超える又はある範囲の値に含まれる若しくは範囲の値を超える目標車両に関連する観測済みの加速度及び/又は速度が攻撃的な挙動を示し得る。逆に、所定の閾値を下回る又はある範囲の値に含まれる若しくは範囲の値を超える目標車両に関連する観測済みの加速度及び/又は速度が防御的な挙動を示し得る。
【0299】
[0371] 当然ながら、一部の例では、攻撃的/防御的の判定を行うために、観測されるナビゲーション特性(例えば位置、距離、加速度等)をホスト車両を基準とすることができる。例えば、目標車両に関連する攻撃性のレベルを示す目標車両の観測されるナビゲーション特性は、目標車両とホスト車両との間の相対加速度の増加、ホスト車両の後ろの目標車両の追走距離、目標車両とホスト車両との間の相対速度等を含み得る。
【0300】
[0372] 交互合流区域におけるナビゲーション
[0373] 幾つかの実施形態において、ホスト車両のナビゲーションシステムが、画像ストリームを解析して、交互合流状況が存在するとき(例えば道路の狭まりや工事を理由とする場合や、円形交差点や合流区域等において、2つの車線が1つにまとまるとき)を判定することができる。それによりホスト車両は、現存のシステムと異なり安全に且つ人間の介入なしに合流できるようになり得る。
【0301】
[0374] かかる実施形態では、合流する交通の流れからの車両が進むべき順序をナビゲーションシステムが追跡することができる。従って、ホスト車両は前方に間隙を空けて、他方の車線からの車両がホスト車両の前方に進むことを可能にし得る。ホスト車両は、ホスト車両の前方に空いた間隙内に入ることを許可された車両を自らが追走すると仮定し、続けて前に少し動くこともできる。別の例では、ホスト車両は前方の間隙を検出し、その前方の間隙をホスト車両が埋めると仮定し、続けて前に少し動くことができる。
【0302】
[001]
図19は、交互合流区域においてナビゲートするための命令を格納するように構成されるメモリ1900のブロック図である。
図19では単一のメモリとして示すが、メモリ1900は、1つ又は複数の不揮発性(例えばハードディスクドライブ、フラッシュメモリ等)及び/又は揮発性(例えばRAM等)メモリを含み得る。幾つかの実施形態において、メモリ1900はシステム100内に含まれ得る。例えばメモリ1900は、1つ又は複数のメモリユニット140、150の一部を少なくとも部分的に含み得る。
【0303】
[0375]
図19に示すように、メモリ1900は画像受信モジュール1902を含み得る。画像受信モジュール1902は、ホスト車両の環境を表す複数の画像をカメラから受信することができる。複数の画像はカメラから直接(例えば1つ又は複数のバスを使用して)受信されてもよく、カメラからの画像を格納する1つ又は複数のメモリから取得されてもよく、及び/又は1つ若しくは複数のコンピュータネットワーク上で、カメラから直接又はネットワークに接続される1つ若しくは複数のメモリから受信されてもよい。
【0304】
[0376] 幾つかの実施形態において、モジュール1902がホスト車両内の他のセンサから代わりの又は追加の情報を受信し得る。例えばモジュール1902は、速度計、GPS、加速度計、レーダ、ライダ、サスペンションセンサ等のうちの少なくとも1つから情報を受信し得る。
【0305】
[0377]
図19に更に示すように、メモリ1900は流れ識別モジュール1904を含み得る。流れ識別モジュール1904は、画像受信モジュール1902によって受信される複数の画像を解析して、第1の交通の流れと第2の交通の流れとを識別することができる。例えば流れ識別モジュール1904は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、複数の画像内の交通の流れを識別することができる。画像分類器は、交通の流れを導出するために、例えば、車両と、当該車両の移動方向とを識別することができる。加えて又は代替的に、画像分類器は、交通の流れの境界として、1つ又は複数の路面標識(例えば破線、実線、コンクリートの柵等)を識別することができる。1つ又は複数の分類器に加えて又はその代わりに、流れ識別モジュール1904は、複数の画像の時間的なシーケンスにおいてオプティカルフローを判定し、それに基づいて流れを判定することができる。例えば、オプティカルフローは軌道上を移動している1台又は複数台の車両を識別するために使用することができ、その後交通の流れを判定するためにその軌道が使用される。
【0306】
[0378] 上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。例えば1つ又は複数のニューラルネットワークは、関連する交通の流れを有しかつ関連する損失関数を最小化する1組の訓練画像を使用して訓練され得る。1つ又は複数のニューラルネットワークは、現実のデータを使用して訓練し続けることができる。例えば人間の運転者からのフィードバックを受信し、1つ又は複数のニューラルネットワークに組み込んで、精度を改善することができる。幾つかの実施形態において、訓練すること及び/又はフィードバックを組み込むことは、ホスト車両から離れて(例えば1つ又は複数の遠隔サーバ上で)実行することができる。従って、1つ又は複数の遠隔サーバからホスト車両に1つ又は複数のニューラルネットワーク(並びにそれに対する更新)が送信され得る。或いは、1つ又は複数のニューラルネットワーク上で処理するために、ホスト車両が1つ又は複数の遠隔サーバに画像を送信してもよい。
【0307】
[0379] 幾つかの実施形態において、第2の交通の流れがホスト車両を含み得る。かかる実施形態では、流れ識別モジュール1904が角度に少なくとも部分的に基づいて第2の流れ及び/又は第1の流れを識別することができる。例えば、第2の流れはホスト車両の前方向に対して0°の角度に最も近い角度を有する交通の流れとして識別することができ、第1の流れはホスト車両の前方向に対して鋭角にある交通の流れとして識別することができる。オプティカルフローを使用する実施形態では、流れ識別モジュール1904が、環境のオプティカルフローを使用してホスト車両が走行している交通の流れを判定することによって、第2の流れを識別することができる。加えて又は代替的に、流れ識別モジュール1904は、ホスト車両の過去の軌道及び/又はホスト車両の予測軌道に基づいて(任意選択的に複数の画像に加えて速度計等の1つ又は複数のセンサからのフィードバックと共に)第2の流れを識別することができる。
【0308】
[0380] カメラに加えて又はその代わりにライダ及び/又はレーダを使用する実施形態では、流れ識別モジュール1904が、ライダ及び/又はレーダからの出力を解析して第1の流れ及び第2の流れを判定することができる。例えばライダ及び/又はレーダは、他の車両及び/又は路面標識等の識別済みの対象の位置のインジケータを出力することができる。それらの位置に基づいて第1の流れ及び第2の流れを判定することができる。加えて又は代替的に、ライダ及び/又はレーダからの出力の時間的なシーケンスを使用して、オプティカルフローを求めることができる。例えば、オプティカルフローは軌道上を移動している1台又は複数台の車両を識別するために使用することができ、その後交通の流れを判定するためにその軌道が使用される。
【0309】
[0381]
図19に示すように、メモリ1900は、ナビゲーション状態モジュール1906を更に含み得る。ナビゲーション状態モジュール1906は、第1の交通の流れと第2の交通の流れとが合流車線内に交互に合流することを示す少なくとも1つのナビゲーション状態特性が車両の環境内にあることを判定する。例えばナビゲーション状態特性は、検知される円形交差点、検知される車線の終わり、交通渋滞、及び少なくとも1つの車線合流条件等を含み得る。
【0310】
[0382] ナビゲーション状態モジュール1906は、複数の画像を使用して少なくとも1つのナビゲーション状態特性を判定することができる。例えばナビゲーション状態モジュール1906は、1つ又は複数の画像分類器を使用して、合流車線を示す路面標識、標識、及び/又は工事の障害物(コーン、バレル、矢印板等)を識別することができる。別の例では、ナビゲーション状態モジュール1906は、1つ又は複数の画像分類器を使用して、道路の境界(例えばカーブ、コンクリートの柵等)を識別し、識別した境界によって形成される形状に基づいて、円形交差点が存在することを判定することができる。同様に、ナビゲーション状態モジュール1906は、1つ又は複数の画像分類器を使用して、道路の境界(例えばカーブ、コンクリートの柵等)及び道路標識を識別し、識別した境界によって形成される形状及び道路標識がないことに基づいて、規制されていない交差点が存在することを判定することができる。上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0311】
[0383] 加えて幾つかの実施形態において、ナビゲーション状態モジュール1906は、第1の交通の流れの中の間隙を識別することができる。例えばナビゲーション状態モジュール1906は、1つ又は複数の画像分類器を使用して、第1の交通の流れの中の車両並びに識別される車両間の間隙を識別することができる。加えて又は代替的に、ナビゲーション状態モジュール1906は、第1の交通の流れの中の車両のタイプを識別し、識別したタイプに関する既知の情報と、車両の1つ又は複数の識別済みの部分とに基づいて、間隙を判定することができる。例えばナビゲーション状態モジュール1906は、ホンダCR-Vのヘッドライトを識別し、ホンダCR-Vの前方にあるシボレーマリブのヘッドライトを識別し、シボレーマリブの既知の全長に基づいて、シボレーマリブとホンダCR-Vとの間の間隙を判定することができる。上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0312】
[0384] 最後に、メモリ1900は、ナビゲーション変更モジュール1908を含み得る。ナビゲーション変更モジュール1908は、第1の交通の流れからの1台の目標車両がホスト車両の前方に進むことを可能にするために、ホスト車両の少なくとも第1のナビゲーション変更を引き起こすことができる。例えば第1のナビゲーション変更はホスト車両を減速することを含むことができ、又は第2の交通の流れにおいてホスト車両とホスト車両の前方の車両の後ろとの間の間隙を広げることを可能にするために、ホスト車両を減速することを含み得る。或いはナビゲーション変更モジュール1908は、第1の交通の流れからの1台の目標車両の前の間隙に向けて進むように、ホスト車両の少なくとも第1のナビゲーション変更を引き起こすことができる。例えば第1のナビゲーション変更は、間隙に向けて進むようにホスト車両を加速することを含み得る。
【0313】
[0385] 更に、ナビゲーション変更モジュール1908は、第1の交通の流れからの第2の目標車両よりも先に合流車線内へとホスト車両に目標車両を追走させるために、ホスト車両の少なくとも第2のナビゲーション変更を引き起こすことができる。例えば第2のナビゲーション変更は、例えば目標車両を追走するためにホスト車両を加速することを含み得る。或いはナビゲーション変更モジュール1908は、合流車線内において目標車両の前方の第2の目標車両をホスト車両に追走させるように、ホスト車両の少なくとも第2のナビゲーション変更を引き起こすことができる。例えば第1のナビゲーション変更は、目標車両よりも先に合流車線内に移動するとき又はその後で、第2の目標車両と衝突するのを回避するために、ホスト車両を減速することを含み得る。
【0314】
[0386] ホスト車両が第2の目標車両よりも先に合流車線内で目標車両を追走する実施形態では、ナビゲーション状態モジュール1906及び/又はナビゲーション変更モジュール1908は、ホスト車両が第1の目標車両を追走することを可能にするための間隙を第2の目標車両が空けているというインジケーションについて、第2の目標車両を更に監視することができる。或いは、合流車線内でホスト車両が目標車両よりも先に第2の目標車両を追走する実施形態では、ナビゲーション状態モジュール1906及び/又はナビゲーション変更モジュール1908は、第2の目標車両の後ろの検出済みの間隙にホスト車両が入ることを第1の目標車両が可能にしているというインジケーションについて、第1の目標車両を更に監視することができる。上記のインジケーションのいずれも、複数の画像から判定することができる。例えば複数の画像を(例えば1つ又は複数の分類器、オプティカルフロー解析、1つ又は複数のニューラルネットワーク、又はその任意の組み合わせを使用して)解析して、第2の目標車両が減速している(即ち間隙を空けている)かどうか、又は第1の目標車両が減速している(即ち検出済みの間隙にホスト車両が入ることを可能にしている)かどうかを判定することができる。
【0315】
[0387]
図20Aは、検知した車線の終わりに基づいてナビゲートするホスト車両2020の図である。
図20Aの例では、ホスト車両2020は、第1の交通の流れと第2の交通の流れとが合流車線で合流していること2030を識別することができる。更に
図20Aの例では、第1の交通の流れからの目標車両2010がホスト車両2020の前方に進むことを可能にするために、ホスト車両2020は減速し得る。
図20Aには示していないが、次いでホスト車両2020は加速して、目標車両2010の後ろで別の目標車両(不図示)よりも先に目標車両2010を追走することができる。ホスト車両2020は上記のメモリ1900を含み、その中のモジュールを使用して、
図20Aに示す決定を行うことができる。加えて又は代替的に、ホスト車両2020は、以下の方法2100を実行して
図20Aに示す決定を行うことができる。
【0316】
[0388]
図20Bは、検知した車線の終わりに基づいてナビゲートするホスト車両2020の別の図である。
図20Bの例では、ホスト車両2020は、第1の交通の流れと第2の交通の流れとが合流車線で合流していること2030を識別することができる。更に
図20Bの例では、ホスト車両2020は、第1の交通の流れからの目標車両2010の前方の識別済みの間隙に向けて加速することができる。
図20Bには示していないが、次いでホスト車両2020は減速して、識別済みの間隙の前方の別の目標車両(不図示)を追走することができる。
【0317】
[0389]
図20Cは、検知した円形交差点に基づいてナビゲートするホスト車両2060の図である。
図20Cの例では、ホスト車両2060は、近づいている円形交差点を識別することができる。更に
図20Cの例では、ホスト車両2060は、第1の交通の流れの中の目標車両2040と目標車両2050との間の識別済みの間隙に向けて加速することができる。
【0318】
[0390]
図20Dは、検知した円形交差点に基づいてナビゲートするホスト車両2060の別の図である。
図20Dの例では、ホスト車両2060は、自らが円形交差点の中にあることを識別することができる。更に
図20Dの例では、ホスト車両2060は減速して、第1の交通の流れからの目標車両2050がホスト車両2060の前方に進むことを可能にし得る。
図20Dには示していないが、次いでホスト車両2060は加速して、目標車両2050を追走することができる。
【0319】
[0391] ホスト車両2060は上記のメモリ1900を含み、その中のモジュールを使用して、
図20A~
図20Dに示す決定を行うことができる。加えて又は代替的に、ホスト車両2060は、以下の方法2100を実行して、
図20A~
図20Dに示す決定を行うことができる。
【0320】
[0392]
図21は、交互合流区域内にホスト車両をナビゲートするための方法2100のフローチャートを示す。方法2100は、例えばホスト車両の少なくとも1つの処理装置(例えば処理装置110)によって実施され得る。
【0321】
[0393] ステップ2110で、処理装置110が、ホスト車両の環境を表す複数の画像をカメラから受信することができる。例えばカメラは、画像捕捉装置122、画像捕捉装置124、及び画像捕捉装置126のうちの少なくとも1つとすることができる。複数の画像は異なる角度から(例えば異なるカメラを使用して)及び/又は異なる時点において捕捉され得る。或る具体例では、複数の画像がフレームの複数の時間的なシーケンスを表すことができ、各シーケンスは同じ期間だが固有の角度をカバーする。
【0322】
[0394] 幾つかの実施形態において、処理装置110は、ホスト車両内の他のセンサから追加情報を受信することができる。例えば処理装置110は、速度計、GPS、加速度計、レーダ、ライダ、サスペンションセンサ等から情報を受信し得る。
【0323】
[0395] ステップ2120で、処理装置110は、複数の画像を解析して第1の交通の流れと第2の交通の流れとを識別することができる。例えば処理装置110は、1つ又は複数の画像分類器及び/又はカスケード分類器を適用して、交通の流れを識別することができる。画像分類器は、例えば複数の画像の1つ又は複数の中の車両を識別することができる。加えて画像分類器は、複数の画像の時間的なシーケンスにわたる識別済みの車両の移動方向を識別することができる。識別済みの車両及び移動方向を使用して、第1の交通の流れと第2の交通の流れとを導出することができる。
【0324】
[0396] 加えて又は代替的に、画像分類器は、黄色の破線、白色の破線、白色の実線、黄色の二重線、コンクリートの柵、ガードレール等の1つ又は複数の路面標識を識別することができる。識別される路面標識は、第1の交通の流れと第2の交通の流れとの境界であり得る。識別済みの車両を識別済みの路面標識と組み合わせる一実施形態では、処理装置110は、識別済みの車両を使用して第1の交通の流れと第2の交通の流れとを識別し、次いで対応する車線区分線を使用して既に識別してある第1の交通の流れと第2の交通の流れとの境界を線引きすることができる。
【0325】
[0397] 画像分類器を使用することに加えて又はその代わりに、処理装置110は複数の画像内のオプティカルフローを判定し、それに基づいて第1の交通の流れと第2の交通の流れとを判定することができる。例えばオプティカルフローは、軌道上を移動している1台又は複数台の車両に基づいて識別され得る。オプティカルフローを識別済みの路面標識と組み合わせる一実施形態では、処理装置110がオプティカルフローを使用して第1の交通の流れと第2の交通の流れとを識別し、次いで対応する車線区分線を使用して既に識別してある第1の交通の流れと第2の交通の流れとの境界を線引きすることができる。上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0326】
[0398] 幾つかの実施形態において、第2の交通の流れはホスト車両を含み得る。従って、処理装置110は、角度に少なくとも部分的に基づいて第2の交通の流れ(及び/又は第1の交通の流れ)を識別することができる。例えば処理装置110は、ホスト車両の前方向に対して0°の角度に最も近い角度を有する交通の流れとして第2の交通の流れを識別することができる。他方で、処理装置110は、ホスト車両の前方向に対して鋭角にある交通の流れとして第1の交通の流れを識別することができる。処理装置110がオプティカルフローを使用する実施形態では、処理装置110は、環境のオプティカルフローを使用して第2の交通の流れを識別して、ホスト車両が走行している交通の流れを判定することができる。加えて又は代替的に、処理装置110は(例えばホスト車両のGPSから受信される)ホスト車両の過去の軌道及び/又は(例えばステアリングセンサ、速度計、加速度計、又はその任意の組み合わせから受信される情報に基づく)ホスト車両の予測軌道に基づいて、第2の交通の流れを識別することができる。
【0327】
[0399] ステップ2130で、処理装置110は、第1の交通の流れと第2の交通の流れとが合流車線内に交互に合流することを示す少なくとも1つのナビゲーション状態特性が車両の環境内にあることを判定することができる。例えば処理装置110は、1つ又は複数の画像分類器を使用して、少なくとも1つのナビゲーション状態特性を識別することができる。或る具体例では、1つ又は複数の分類器が、終わる実線又は破線、狭まる車線等の合流車線を示す路面標識を識別することができる。加えて又は代替的に、1つ又は複数の分類器は、道を譲る標識、合流標識、車線終了標識、交通が停止しない標識、入ってくる道路の合流標識等、合流車線を示す標識を識別することができる。加えて又は代替的に、1つ又は複数の分類器はコーン、バレル、矢印板等、合流車線を示す工事の障害物を識別することができる。
【0328】
[0400] 別の例では、処理装置110は、1つ又は複数の画像分類器を使用して道路の境界(例えばカーブ、コンクリートの柵等)を識別し、識別した境界によって形成される形状に基づいて円形交差点が存在することを判定することができる。同様に、処理装置110は、1つ又は複数の画像分類器を使用して道路の境界(例えばカーブ、コンクリートの柵等)及び道路標識を識別し、識別した境界によって形成される形状及び道路標識がないことに基づいて、規制されていない交差点が存在することを判定することができる。
【0329】
[0401] 上記の例のいずれにおいても、処理装置110は、合流する交通の流れからの車両が進むべき順序を更に決定することができる。例えば、車両及びその動きを識別する1つ又は複数の画像分類器に基づいて、及び/又は識別済みの車両の1つ若しくは複数のオプティカルフローに基づいて、処理装置110は、第1の交通の流れ又は第2の交通の流れが道を譲らなければならない若しくは停止しなければならないかどうか、又は第1の交通の流れと第2の交通の流れとが交互合流状況を表すかどうかを判定することができる。或る具体例では、処理装置110は、道を譲る標識があるとき及び/又は交通の流れの1つが減速しない一方で他方の交通の流れが減速するとき、第1の交通の流れ(又は第2の交通の流れ)が道を譲る必要があると判定する場合があり、又は停止標識があるとき及び/又は交通の流れの1つが停止しない一方で他方の交通の流れが停止するとき、第1の交通の流れ(又は第2の交通の流れ)が停止する必要があると判定する場合がある。同様の例では、処理装置110は、互いに応答して両方の交通の流れが減速し及び/又は停止する場合、及び/又は第1の交通の流れと第2の交通の流れとがほぼ交互のペースで合流車線に入る場合、交互合流状況が存在すると判定する場合がある。(本明細書で使用するとき「ほぼ」とは1つ又は複数の外れ値を有する大まかなパターンを指すことができ、例えば第1の交通の流れからの2台の車両及び第2の交通の流れからの2台の車両が交互に入り、その後に第1の交通の流れからの2台の車両がどちらも合流車線に入るという外れ値が続き得る)。上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0330】
[0402] 加えて幾つかの実施形態において、処理装置110は、第1の交通の流れの中の間隙を識別することができる。例えば処理装置110は、1つ又は複数の画像分類器を使用して、第1の交通の流れの中の車両、並びに識別される車両間の間隙を識別することができる。加えて又は代替的に、処理装置110は、第1の交通の流れの中の車両のタイプを識別し、識別したタイプに関する既知の情報と車両の1つ又は複数の識別済みの部分とに基づいて、間隙を判定することができる。既知の情報は1つ又は複数のメモリ内に格納され得る。例えば既知の情報は、車両の製造年、製造元、及び/又は型式によって索引付けされたデータベース内の車両のタイプの寸法(全長又は幅等)を含み得る。従って処理装置は、2010年式GMCシエラ1500の前の2000年式リンカーンLSを識別し、次いで識別されるヘッドライト及びデータベースから抽出される2000年式リンカーンLSの全長に基づいて、及び/又は識別されるテールライト及びデータベースから抽出される2010年式GMCシエラ1500の全長に基づいて、その2台の間の間隙を識別することができる。上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0331】
[0403] ステップ2140で、処理装置110は、第1の交通の流れからの1台の目標車両がホスト車両の前方に進むことを可能にするために、ホスト車両の少なくとも第1のナビゲーション変更を引き起こすことができる。例えば第1のナビゲーション変更は、ホスト車両を減速することを含むことができ、又は第2の交通の流れの中のホスト車両とホスト車両の前方の車両の後ろとの間の間隙を広げることを可能にするために、ホスト車両を減速することを含み得る。
【0332】
[0404] 処理装置110が第1の交通の流れの中の間隙を識別する実施形態では、処理装置110は、第1の交通の流れからの1台の目標車両の前方の識別済みの間隙に向けて進むように、ホスト車両の少なくとも第1のナビゲーション変更を引き起こすことができる。例えば第1のナビゲーション変更は、間隙に向けて進むようにホスト車両を加速することを含み得る。
【0333】
[0405] ステップ2150で、処理装置110は、第1の交通の流れからの第2の目標車両よりも先に合流車線内でホスト車両に目標車両を追走させるために、ホスト車両の少なくとも第2のナビゲーション変更を引き起こすことができる。例えば第2のナビゲーション変更は、例えば目標車両を追走するためにホスト車両を加速することを含み得る。
【0334】
[0406] 処理装置110が第1の交通の流れの中の間隙を識別する実施形態では、処理装置110は、合流車線内で目標車両の前方の第2の目標車両をホスト車両に追走させるように、ホスト車両の少なくとも第2のナビゲーション変更を引き起こすことができる。例えば第1のナビゲーション変更は、目標車両よりも先に合流地内に移動するとき又はその後で、第2の目標車両と衝突するのを回避するために、ホスト車両を減速することを含み得る。
【0335】
[0407] 方法2100は追加のステップを含むことができる。例えば方法2100は、ホスト車両が第1の目標車両を追走することを可能にするための間隙を第2の目標車両が空けているというインジケーションについて、第2の目標車両を監視することを含み得る。例えば処理装置110は、(例えば1つ又は複数の分類器、オプティカルフロー解析、1つ又は複数のニューラルネットワーク、又はその任意の組み合わせを使用して)解析され得る複数の更新済みの画像を受信して、第2の目標車両が減速している(即ち間隙を空けている)かどうかを判定することができる。
【0336】
[0408] 処理装置110が第1の交通の流れからの1台の目標車両の前方の識別済みの間隙に向けて進むように、ホスト車両の少なくとも第1のナビゲーション変更を引き起こす実施形態では、処理装置2100は、第2の目標車両の後ろの検出済みの間隙にホスト車両が入ることを第1の目標車両が可能にしているというインジケーションについて、第1の目標車両を更に監視することができる。例えば処理装置110は、(例えば1つ又は複数の分類器、オプティカルフロー解析、1つ又は複数のニューラルネットワーク、又はその任意の組み合わせを使用して)解析され得る複数の更新済みの画像を受信して、第1の目標車両が一定速度を保っているかどうか、減速している(即ち検出済みの間隙にホスト車両が入ることを可能にしている)かどうかを判定することができる。
【0337】
[0409] 緊急車両が存在する場合のナビゲーション
[0410] 幾つかの実施形態において、ホスト車両のナビゲーションシステムは、画像ストリーム並びに1つ又は複数の他のセンサからの入力を解析して(例えば緊急モードにある)緊急車両が存在する場合を判定することができる。それによりホスト車両は、現存のシステムと異なり人間の介入に頼ることなしに緊急状況において安全性を保てるようになり得る。
【0338】
[0411] 幾つかの実施形態において、ナビゲーションシステムが(例えば検出した点滅灯の存在、割り出した緊急車両の色、緊急車両上の1つ又は複数の検出済みの印、1つ又は複数の認識されたロゴ、及び/又は緊急車両上の文字等に基づいて)カメラから受信される1つ又は複数の画像内の緊急車両を識別することができる。加えて又は代替的に、ナビゲーションシステムは(任意選択的に指向性の)マイクロホンを使用して音(例えばサイレン)を検出することによって緊急車両を識別することができる。
【0339】
[002]
図22は、緊急車両が存在する場合のナビゲートを行うための命令を格納するように構成されるメモリ2200のブロック図である。
図22では単一のメモリとして示すが、メモリ2200は、1つ又は複数の不揮発性(例えばハードディスクドライブ、フラッシュメモリ等)及び/又は揮発性(例えばRAM等)メモリを含み得る。幾つかの実施形態において、メモリ2200はシステム100内に含まれ得る。例えばメモリ2200は、1つ又は複数のメモリユニット140、150の一部を少なくとも部分的に含み得る。
【0340】
[0412]
図22に示すように、メモリ2200は画像受信モジュール2202を含み得る。画像受信モジュール2202は、ホスト車両の環境内に緊急車両が存在することのインジケーションをホスト車両に関連するカメラから受信することができる。複数の画像はカメラから直接(例えば1つ又は複数のバスを使用して)受信されてもよく、カメラからの画像を格納する1つ又は複数のメモリから取得されてもよく、及び/又は1つ若しくは複数のコンピュータネットワーク上で、カメラから直接又はネットワークに接続される1つ若しくは複数のメモリから受信されてもよい。
【0341】
[0413] 加えて又は代替的に、モジュール2202は、ホスト車両に関連する少なくとも1つのセンサからインジケーションを受信することができる。例えばカメラに加えて又はその代わりに、モジュール2202は(任意選択的に指向性の)マイクロホンからインジケーションを受信することができる。別の例では、モジュール2202は、速度計、GPS、加速度計、レーダ、ライダ、サスペンションセンサ等のうちの少なくとも1つから情報を受信し得る。加えて又は代替的に、モジュール2202は、緊急車両からブロードキャストされている信号(無線周波数信号等)を受信できる。
【0342】
[0414]
図22に更に示すように、メモリ2200は緊急車両モジュール2204を含み得る。緊急車両モジュール2204は、モジュール2202からのインジケーションを使用して緊急車両が存在することを検出し得る。加えて又は代替的に、緊急車両モジュール2204は、ライト及び/又はサイレン検出モジュール2206からの1つ又は複数の検出を使用して緊急車両が存在することを確認し得る。
【0343】
[0415]
図22に示すように、メモリ2200はライト及び/又はサイレン検出モジュール2206を更に含み得る。一例では、モジュール2206は、画像受信モジュール2202によって受信される画像ストリーム内の点滅灯を検出し得る。加えて又は代替的に、モジュール2206は車両に関連する緊急灯を画像受信モジュール2202によって受信される少なくとも1つの画像内で検出し得る。加えて又は代替的に、モジュール2206は、車両上のロゴ及び/又は文字を画像受信モジュール2202によって受信される少なくとも1つの画像内で検出することができ、そのロゴ又は文字は、認識された緊急車両に関連する。加えて又は代替的に、モジュール2206は、車両上の色又は印を画像受信モジュール2202によって受信される少なくとも1つの画像内で検出することができ、その色又は印は、認識された緊急車両に関連する。これらの例では、モジュール2206は、緊急車両に関連する動作状態のライトの少なくとも1つを(例えば画像ストリーム内で及び/又は少なくとも1つの画像内で)更に検出することができ、又は(例えばマイクロホンを使用して)緊急車両に関連するサイレンを検出することができる。
【0344】
[0416] モジュール2202がマイクロホンで音声を受信する実施形態では、モジュール2206は、加えて又は代替的に、サイレンを検出することができる。更にマイクロホンが指向性マイクロホンである実施形態では、モジュール2206は、サイレンがホスト車両の前方にあるのか、ホスト車両の側方にあるのか、又はホスト車両の後方にあるのかを判定することもできる。
【0345】
[0417] 最後に、メモリ2200はナビゲーション変更モジュール2208を含み得る。ナビゲーション変更モジュール2208は、ホスト車両の環境内に緊急車両が存在することのインジケーションに応答して、ホスト車両の少なくとも1つのナビゲーション変更を引き起こすことができる。例えば少なくとも1つのナビゲーション変更は、ホスト車両を減速すること、ホスト車両を路肩に移動させること、ホスト車両を別の走行車線に移動させること、又はその任意の組み合わせを含み得る。
【0346】
[0418]
図23は、緊急車両2310が存在することに基づいてナビゲートするホスト車両2320の図である。
図23の例では、緊急車両であることに関連するライトを緊急車両2310が有する。更に
図23の例では、緊急車両であることに関連する点滅灯を緊急車両2310が有する。
図23には示していないが、1つ又は複数のロゴ、文字、1つ又は複数の色、1つ又は複数の印、若しくはその任意の組み合わせの検出及び/又はサイレンの検出等、緊急車両2310が存在することの追加の又は代わりのインジケータがホスト車両2320によって検出されてもよい。画像内で文字が検出される実施形態では、ホスト車両2320の少なくとも1つの処理装置が、認識された文字を緊急車両に関連する既知の文字パターンと比較するために、文字に対して光学式文字認識(OCR)を行うことができる。
【0347】
[0419]
図23の例では、緊急車両2310が存在することに応答して、ホスト車両2320が別の走行車線に移動する。
図23には示していないが、ホスト車両2320を路肩に移動させること、ホスト車両2320を減速すること等、追加の又は代わりのナビゲーション変更を引き起こしてもよい。ホスト車両2320は上記のメモリ2200を含み、その中のモジュールを使用して、
図23に示す決定を行うことができる。加えて又は代替的に、ホスト車両2320は以下の方法2400を実行して
図23に示す決定を行うことができる。
【0348】
[0420]
図24は、緊急車両が存在する場合に車両をナビゲートするための方法2400のフローチャートを示す。方法2400は、例えばホスト車両の少なくとも1つの処理装置(例えば処理装置110)によって実施され得る。
【0349】
[0421] ステップ2410で、処理装置110は、ホスト車両の環境内に緊急車両が存在することのインジケーションをホスト車両に関連する少なくとも1つのセンサから受信することができる。例えば少なくとも1つのセンサは、カメラ、(任意選択的に指向性の)マイクロホン、レーダ、ライダ、又はその任意の組み合わせを含み得る。
【0350】
[0422] 一例では、緊急車両が存在することのインジケーションは、カメラによって捕捉され少なくとも1つの処理装置(例えば処理装置110)に与えられる画像ストリーム内の点滅灯を検出することを含み得る。かかるインジケーションは、画像ストリームに適用される1つ又は複数の画像分類器を使用して検出され得る。1つ又は複数の画像分類器は、任意選択的に1つ又は複数のニューラルネットワークと共に使用することができる。
【0351】
[0423] 加えて又は代替的に、緊急車両が存在することのインジケーションは、カメラによって捕捉されて少なくとも1つの処理装置(例えば処理装置110)に供給される少なくとも1つの画像内で、車両に関連する緊急灯を検出することを含み得る。かかるインジケーションは、画像ストリームに適用される1つ又は複数の画像分類器を使用して検出され得る。1つ又は複数の画像分類器は、任意選択的に1つ又は複数のニューラルネットワークと共に使用することができる。
【0352】
[0424] 加えて又は代替的に、緊急車両が存在することのインジケーションは、カメラによって捕捉され少なくとも1つの処理装置(例えば処理装置110)に供給される少なくとも1つの画像内で、車両上のロゴ又は文字を検出することを含むことができ、そのロゴ又は文字は、認識された緊急車両に関連する。加えて又は代替的に、緊急車両が存在することのインジケーションは、カメラによって捕捉され少なくとも1つの処理装置(例えば処理装置110)に供給される少なくとも1つの画像内で、車両上の色又は印を検出することを含むことができ、その色又は印は、認識された緊急車両に関連する。かかる例では、緊急車両が存在することのインジケーションは、緊急車両に関連する動作状態のライトの少なくとも1つを(例えばカメラを使用して)検出すること、又は緊急車両に関連するサイレンを(例えばマイクロホンを使用して)検出することを更に含み得る。
【0353】
[0425] 緊急車両が存在することのインジケーションが緊急車両に関連する動作状態のライトの少なくとも1つを検出すること、又は緊急車両に関連するサイレンを検出することを含む実施形態では、少なくとも1つの処理装置(例えば処理装置110)は、動作状態のライトの少なくとも1つ又はサイレンの検出を或る期間にわたって更に追跡することができる。例えば動作状態のライトは、検出されるライトの大きさ及び/又は検出されるライトの強度を或る期間にわたって監視することにより、(例えばカメラを使用して)追跡することができる。加えて又は代替的に、(例えばカメラを使用して)動作状態のライトの(例えばホスト車両に対する)横変位を或る期間にわたって監視することができる。検出されるサイレンを含む実施形態では、サイレンの周波数及び/又は振幅を或る期間にわたって監視することができる。
【0354】
[0426] 加えて、少なくとも1つの処理装置(例えば処理装置110)は、緊急車両がホスト車両の方に進んでいるかどうかを追跡に基づいて判定することができる。例えばサイズ及び/又は強度が経時的に(任意選択的に飽和レベルまで)増加する場合、処理装置110は緊急車両がホスト車両の方に移動していると判定することができる。加えて又は代替的に、動作状態のライトの横変位が徐々にゼロに到達する場合、処理装置110は緊急車両がホスト車両の方に移動していると判定することができる。検出されるサイレンを含む実施形態では、サイレンの周波数が徐々に青方シフトし及び/又はサイレンの振幅が徐々に増加する場合、処理装置110は、緊急車両がホスト車両の方に移動していると判定することができる。上記の例のいずれも判定を下すために使用される1つ又は複数の閾値を有し得る。例えばサイズ及び/又は強度は閾値よりも大きく増加しなければならない可能性があり、閾値時間よりも長く増加しなければならない可能性があり、及び/又は閾値を上回る率で増加しなければならない可能性がある。同様に横変位は、閾値未満で減少しなければならない可能性があり、閾値時間よりも長くゼロに近づかなければならない可能性があり、及び/又は閾値を下回る率で減少しなければならない可能性がある。検出されるサイレンを含む実施形態では、サイレンの周波数が閾値を超えて及び/又は閾値時間よりも長く青方シフトしなければならない可能性がある。加えて又は代替的に、振幅が閾値よりも大きく増加しなければならない可能性があり、閾値時間よりも長く増加しなければならない可能性があり、及び/又は閾値を上回る率で増加しなければならない可能性がある。
【0355】
[0427] 加えて又は代替的に、緊急車両が存在することのインジケーションは、サイレンを検出することを含み得る。例えば検出は指向性マイクロホンによって行うことができ、サイレンはホスト車両の後方に(又はホスト車両の前方に若しくはホスト車両の側方に)あると判定され得る。加えて又は代替的に、処理装置110は、検出されるサイレン内にあるウェーブシフト(waveshift)に基づき、緊急車両がホスト車両に近づいているかどうかを判定することができる。
【0356】
[0428] ステップ2420で、処理装置110は、ホスト車両の環境内に緊急車両が存在することのインジケーションに応答して、ホスト車両の少なくとも1つのナビゲーション変更を引き起こすことができる。例えば処理装置110は、ホスト車両を減速すること、ホスト車両を路肩に移動させること、ホスト車両を別の走行車線に移動させること、又はその任意の組み合わせを行うことができる。
【0357】
[0429] 幾つかの実施形態において、少なくとも1つのナビゲーション変更は、検出されるサイレンの位置に依存し得る。例えばサイレンがホスト車両の後方にあると判定される実施形態では、少なくとも1つのナビゲーション変更は、ホスト車両を路肩に移動させること及び/又はホスト車両を別の走行車線に移動させることを含み得る。別の例では、サイレンがホスト車両の側方にあると判定される実施形態では、少なくとも1つのナビゲーション変更は、ホスト車両を減速することを含み得る。更に別の例では、サイレンがホスト車両の前方にあると判定される実施形態では、少なくとも1つのナビゲーション変更は、ホスト車両の速度を維持すること又はホスト車両を減速することを含み得る。
【0358】
[0430] 加えて又は代替的に、少なくとも1つのナビゲーション変更は、検出されるサイレンのウェーブシフトに依存し得る。例えばサイレンがホスト車両に近づいていると判定される実施形態では、少なくとも1つのナビゲーション変更は、ホスト車両をサイレンから遠ざける(例えばサイレンが車両の前方にあり近づいている場合は減速する)ことを含み得る。別の例では、サイレンがホスト車両から離れていくと判定される実施形態では、少なくとも1つのナビゲーション変更は、ホスト車両をサイレンから更に遠ざけること(例えばサイレンが車両の側方にあり、遠のいていく場合は別の走行車線に移動すること)を含み得る。
【0359】
[0431] 加えて又は代替的に、少なくとも1つのナビゲーション変更は、1つ又は複数の安全性パラメータを維持するために、1つ又は複数の快適性パラメータをオーバーライドすることによって決定され得る。例えば快適性パラメータは横方向のg力に対する制限を含むことができ、例えば緊急車両との衝突を回避すべく、ホスト車両を素早く移動させるためにオーバーライドされ得る。別の例では、快適性パラメータは減速に対する制限を含むことができ、ホスト車両を素早く減速するためにオーバーライドされ得る。
【0360】
[0432] 方法2400は追加のステップを含むことができる。例えば方法2400は、緊急車両がホスト車両を追い越したことのインジケーションについて、ホスト車両の環境を監視することを更に含み得る。かかる例では、処理装置110は、(例えば1つ又は複数の分類器を任意選択的に1つ又は複数のニューラルネットワークと共に使用して)解析され得る1つ又は複数の更新済みの画像を受信して、検出されるライト、検出されるロゴ又は文字、検出される色又は印等が、ホスト車両から離れているかどうかを判定することができる。加えて又は代替的に、処理装置110は、緊急車両がホスト車両から離れていることの証拠(例えば音量が低下している場合)のために解析され得る、マイクロホンからの更新済みの音声を、受信することができる。更に方法2400は、緊急車両がホスト車両を追い越したことのインジケーションに応答して、ホスト車両の少なくとも1つの追加のナビゲーション変更を引き起こすことを更に含み得る。例えば処理装置110は、ホスト車両を加速すること、ホスト車両を道路に戻すこと、ホスト車両を元の走行車線に戻すこと、又はその任意の組み合わせを行うことができる。
【0361】
[0433] 別の例では方法2400は、少なくとも1つのナビゲーション変更を引き起こすために、インジケーションに応答してホスト車両の通常動作をオーバーライドすることを更に含み得る。例えば処理装置110は、ホスト車両を路肩に移動させるためや、ホスト車両を別の走行車線に移動させるために、ホスト車両の軌道をオーバーライドすることができる。別の例では、処理装置110は、緊急車両が存在することのインジケーションに応答してホスト車両を減速するために、ホスト車両の速度制御をオーバーライドすることができる。
【0362】
[0434] 他の車両に対する自動折衝によるナビゲーション
[0435] 幾つかの実施形態において、ホスト車両のナビゲーションシステムが一定の動作を自動で行い、ホスト車両の環境内の他の車両にナビゲーション上の意図を伝えることができる。そうすることでホスト車両は、現存のシステムと異なり人間の介入に頼ることなしに、人間の運転者のナビゲーション折衝を安全にエミュレートできるようになり得る。
【0363】
[0436] 例えば初期動作を行うことにより、ホスト車両は目標車両の前に車線変更する願望又は意図、目標車両よりも先に合流車線又は円形交差点内に合流する願望又は意図、目標車両がホスト車両の前に車線変更することを許可する願望又は意図、目標車両がホスト車両よりも先に合流車線又は円形交差点内に合流することを許可する願望又は意図等を伝えることができる。かかる例では、初期動作は、ホスト車両が入りたい車線の方に僅かに動くこと、(例えば車線合流、円形交差点等において)車列に向かって僅かに前に動くこと、僅かにブレーキをかける動作、ヘッドライトの点滅等を含み得る。次いで、初期動作に対する少なくとも1台の目標車両の反応を追跡することによって、ホスト車両の完全なナビゲーション動作を決定することができる。幾つかの実施形態において、ホスト車両のウィンカーを点滅させること、ホスト車両のブレーキ灯を点滅させること、ホスト車両のヘッドライトを点滅させること、1台又は複数台の目標車両に無線で(例えば4Gによって、LTEによって、又はWiFi等によって)伝送される情報信号等、1つ又は複数の追加の意図のインジケータが、初期動作に付随する場合がある。
【0364】
[0437]
図25は、他の車両に対する自動折衝によってナビゲートするための命令を格納するように構成されるメモリ2500のブロック図である。
図25では単一のメモリとして示すが、メモリ2500は、1つ又は複数の不揮発性(例えばハードディスクドライブ、フラッシュメモリ等)及び/又は揮発性(例えばRAM等)メモリを含み得る。幾つかの実施形態において、メモリ2500はシステム100内に含まれ得る。例えばメモリ2500は、1つ又は複数のメモリユニット140、150の一部を少なくとも部分的に含み得る。
【0365】
[0438]
図25に示すように、メモリ2500は画像受信モジュール2502を含み得る。画像受信モジュール2502は、ホスト車両の環境を表す複数の画像をカメラから受信することができる。複数の画像はカメラから直接(例えば1つ又は複数のバスを使用して)受信されてもよく、カメラからの画像を格納する1つ又は複数のメモリから取得されてもよく、及び/又は1つ若しくは複数のコンピュータネットワーク上で、カメラから直接又はネットワークに接続される1つ若しくは複数のメモリから受信されてもよい。
【0366】
[0439] 幾つかの実施形態において、モジュール2502は、ホスト車両内の他のセンサから代わりの又は追加の情報を受信し得る。例えばモジュール2502は、速度計、GPS、加速度計、レーダ、ライダ、サスペンションセンサ等のうちの少なくとも1つから情報を受信し得る。
【0367】
[0440]
図25に更に示すように、メモリ2500はナビゲーション意図モジュール2504を含み得る。ナビゲーション意図モジュール2504は、画像受信モジュール2502によって受信される複数の画像を解析して、ホスト車両の環境内の少なくとも1台の目標車両を識別することができる。例えばナビゲーション意図モジュール2504は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、少なくとも1台の目標車両を識別することができる。
【0368】
[0441] 画像分類器と組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。例えば1つ又は複数のニューラルネットワークは、関連する目標車両を有しかつ関連する損失関数を最小化する1組の訓練画像を使用して、訓練され得る。1つ又は複数のニューラルネットワークは、現実のデータを使用して訓練し続けることができる。例えば人間の運転者からのフィードバックを受信し、1つ又は複数のニューラルネットワークに組み込んで、精度を改善することができる。幾つかの実施形態において、訓練すること及び/又はフィードバックを組み込むことは、ホスト車両から離れて(例えば1つ又は複数の遠隔サーバ上で)実行することができる。従って、1つ又は複数の遠隔サーバからホスト車両に、1つ又は複数のニューラルネットワーク(並びにそれに対する更新)が送信され得る。或いは、1つ又は複数のニューラルネットワーク上で処理するために、ホスト車両が1つ又は複数の遠隔サーバに画像を送信してもよい。
【0369】
[0442] 目標車両は、ホスト車両の少なくとも1つの計画済みのナビゲーション動作に影響を及ぼす位置を有し得る。幾つかの実施形態において、ナビゲーション意図モジュール2504は、少なくとも1つの計画済みのナビゲーション動作を決定し及び/又は受信し、少なくとも1つの計画済みのナビゲーション動作に基づき、少なくとも1つの計画済みのナビゲーション動作に影響を及ぼす1つ又は複数の区域を決定することができる。少なくとも1つの計画済みのナビゲーション動作が車線変更を含む一例では、ナビゲーション意図モジュール2504は、少なくとも1つの計画済みのナビゲーション動作に影響を及ぼす区域として、新たな車線の一部を(任意選択的に現在の車線の一部と共に)決定することができる。少なくとも1つの計画済みのナビゲーション動作が左折を含む別の例では、ナビゲーション意図モジュール2504は、少なくとも1つの計画済みのナビゲーション動作に影響を及ぼす区域として、交差点の一部を(任意選択的に現在の車線及び/又は予定の車線(intended lane)の一部と共に)決定することができる。
【0370】
[0443] 従って、ナビゲーション意図モジュール2504は、1つ又は複数の区域内の識別される車両に対して1つ又は複数の画像分類器を(事前に又は事後に)限定することによって、少なくとも1台の目標車両を識別することができる。幾つかの実施形態において、識別済みの車両の位置は点(例えば車両の識別済みの又は推定済みの中心、車両の1つ又は複数の車輪の識別済みの又は推定済みの位置等、GPS座標等)でもよく、識別済みの車両は、それらの点が1つ又は複数の区域内にある場合にのみ、目標車両として分類され得る。他の実施形態では、識別済みの車両の位置は、予期される誤差の変動又はマージンを伴う点でもよく、識別済みの車両は、予期される変動又はマージンが1つ又は複数の区域と(任意選択的に重複の閾値、例えば少なくとも0.5mの重複、少なくとも1mの重複等と共に)重複する場合にのみ、目標車両として分類され得る。更に別の実施形態では、識別済みの車両の位置を領域(例えば境界ボックス)とすることができ、識別済みの車両は、その領域が1つ又は複数の区域と(任意選択的に重複の閾値、例えば領域の少なくとも10%が重複すること、領域の少なくとも20%が重複すること等を利用して)重複する場合にのみ、目標車両として分類され得る。
【0371】
[0444] 代替的実施形態では、ナビゲーション意図モジュール2504は、複数の画像を解析して、ホスト車両の環境内の第1の目標車両及び第2の目標車両を識別することができる。例えばナビゲーション意図モジュール2504は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、第1の目標車両及び第2の目標車両を識別することができる。上記で論じたように、画像分類子気組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。第1の目標車両は、ホスト車両が走行している走行車線に隣接する走行車線内の第2の目標車両の後ろを走行している可能性がある。
【0372】
[0445] かかる実施形態では、ナビゲーション意図モジュール2504は、複数の画像を解析して、第1の目標車両と第2の目標車両との間の距離を判定することができる。例えば1つ又は複数の分類器は、第1の目標車両及び第2の目標車両の1つ又は複数の部分(例えばヘッドライト、テールライト、車輪等)を識別することができる。複数の画像を使用し、識別した部分間の距離を推定することができる。加えて又は代替的に、1つ又は複数の分類器は、第1の目標車両の境界ボックス及び第2の目標車両の境界ボックスを推定し、推定したそれらの2つの境界ボックス間の距離を判定することができる。
【0373】
[0446] 任意選択的に、ナビゲーション意図モジュール2504は、車両のタイプに関する既知の情報(例えば幅及び全長等の寸法)を使用して、距離を推定することができる。例えばナビゲーション意図モジュール2504は、第1の目標車両を2010年式シボレー・シルバラードとして識別し、第2の目標車両を2016年式ヒュンダイ・ソナタとして識別し、2010年式シボレー・シルバラード及び/又は2016年式ヒュンダイ・ソナタの既知の全長を使用して、第1の目標車両と第2の目標車両との間の距離を推定することができる。上記で論じたように、画像分類器と組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0374】
[0447] この実施形態では、ナビゲーション意図モジュール2504は、第1の目標車両及び第2の目標車両のうちの1つに関連する境界に到達する時間を、複数の画像から更に判定することができる。例えばその境界は、第1の目標車両又は第2の目標車両の境界ボックスの境界を含み得る。別の例では、その境界は、第1の目標車両又は第2の目標車両からの決定済みの安全距離を含み得る。安全距離は、目標車両の既知の又は決定済みの特性(全長、幅、最大減速度等)、目標車両の速度、目標車両の進路等に基づいて決定され得る。判定される時間は、第1の閾値を上回り第2の閾値を上回らなくてもよく、第2の閾値は第1の閾値よりも大きい。
【0375】
[0448] 上記の実施形態のいずれにおいても、ナビゲーション意図モジュール2504は、目標車両のナビゲーション状態の検出済みの変化に基づいて、ホスト車両のナビゲーション動作を決定することもできる。例えば検出される目標車両の反応が目標車両の減速を含む場合、ホスト車両の少なくとも1つのナビゲーション変更は、ホスト車両のブレーキをかけてホスト車両を減速することを含み得る。別の例では、検出される目標車両の反応が目標車両の車線変更を含む場合、ホスト車両の少なくとも1つのナビゲーション変更は、ホスト車両を走行車線内で横方向に動かすことを含み得る。第1の目標車両及び第2の目標車両を有する実施形態では、目標車両は第1の目標車両及び第2の目標車両の少なくとも1つであり得る。
【0376】
[0449]
図25に示すように、メモリ2500はナビゲーション状態検出モジュール2506を更に含み得る。ナビゲーション状態検出モジュール2506は、複数の画像を解析して、ホスト車両の少なくとも1つのナビゲーション変更に対する目標車両のナビゲーション状態の変化を検出することができる。例えばナビゲーション状態検出モジュール2506は、ホスト車両の少なくとも1つのナビゲーション変更後に、目標車両が加速するかどうか、減速するかどうか、車線変更するかどうか、曲がり始めるかどうか、又は他の方法で移動するかどうかを検出することができる。加えて又は代替的に、ナビゲーション状態検出モジュール2506は、ホスト車両の少なくとも1つのナビゲーション変更後に、目標車両がヘッドライトを点滅させるかどうか、ブレーキ灯を点滅させるかどうか、ウィンカーを点滅させるかどうか、又は他の方法で別のインジケータを出すかどうかを検出することができる。上記の変化のいずれも(任意選択的に1つ又は複数のニューラルネットワークと共に)1つ又は複数の画像分類器を使用して検出することができる。第1の目標車両及び第2の目標車両を有する実施形態では、目標車両は第1の目標車両及び第2の目標車両の少なくとも1つであり得る。
【0377】
[0450] 幾つかの実施形態において、目標車両のナビゲーション状態の予測される変化に少なくとも部分的に基づいて、少なくとも1つのナビゲーション変更を決定することができる。例えばナビゲーション状態検出モジュール2506は、目標車両が加速する場合、減速する場合、車線変更する場合、曲がる場合、又は他の方法で検出可能なやり方で移動する場合等、目標車両の検出される特性に基づいて、変化を予測することができる。加えて又は代替的に、ナビゲーション状態検出モジュール2506は、目標車両がヘッドライトを点滅させるかどうか、ブレーキ灯を点滅させるかどうか、ウィンカーを点滅させるかどうか、又は他の方法で別のインジケータを出すかどうかを検出することができる。上記の変化のいずれも(任意選択的に1つ又は複数のニューラルネットワークと共に)1つ又は複数の画像分類器を使用して検出することができる。
【0378】
[0451] 最後に、メモリ2500はナビゲーション変更モジュール2508を含み得る。ナビゲーション変更モジュール2508は、次のナビゲーション操作を行うホスト車両の意図を目標車両に知らせるために、ホスト車両の少なくとも1つのナビゲーション変更を引き起こすことができる。例えばホスト車両の少なくとも1つのナビゲーション変更は、ホスト車両のブレーキをかけてホスト車両を減速すること、ホスト車両の速度を変えること、ホスト車両を走行車線内で横方向に動かすこと、ホスト車両を目標車両の走行経路に向けて動かすこと、又はその任意の組み合わせを含み得る。
【0379】
[0452] 加えて又は代替的に、ナビゲーション変更モジュール2508は、1つ又は複数の安全制約に少なくとも部分的に基づいて、少なくとも1つのナビゲーション変更を決定することができる。例えば上記の安全制約のいずれか(例えば目標車両、歩行者、路肩の又は道路内の静止対象、路肩の又は道路内の移動対象、ガードレール等の様々なタイプの検出対象を取り囲む非運転区域等のハード制約、歩行者の影響区域内を通過するときの最大移動速度、ホスト車両の後ろの目標車両の間隔に対処するために任意選択的に決定される最大減速度、検知した横断歩道又は踏切における強制的な停止等)。
【0380】
[0453] 同様の実施形態では、少なくとも1つのナビゲーション変更が、次のナビゲーション操作を部分的に実施することを含み得る。例えば次のナビゲーション操作が車線変更である場合、少なくとも1つのナビゲーション変更は、予定の車線内に僅かに入ることを含み得る。別の例では、次のナビゲーション操作がホスト車両を減速することである場合、少なくとも1つのナビゲーション変更は、ホスト車両のブレーキを僅かにかけることを含み得る。
【0381】
[0454] 代替的実施形態では、ナビゲーション変更モジュール2508は、第1の目標車両及び第2の目標車両のうちの1つに関連する境界に到達するための判定済みの時間に基づき、次のナビゲーション操作を行うホスト車両の意図を目標車両に知らせるために、ホスト車両の少なくとも1つのナビゲーション変更を引き起こすことができる。例えば境界がホスト車両と目標車両との間の重複部分である場合、少なくとも1つのナビゲーション変更は、(例えば境界を避けるために)ホスト車両を加速すること又は減速することであり得る。
【0382】
[0455] 上記の実施形態のいずれにおいても、ナビゲーション変更モジュール2508は、ホスト車両の決定済みのナビゲーション動作に応答して、ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすこともできる。上記で説明したように、ナビゲーションアクチュエータはステアリングメカニズム、ブレーキ、又はアクセルのうちの少なくとも1つを含み得る。
【0383】
[0456] 上記の実施形態のいずれにおいても、ナビゲーション動作は、目標車両のナビゲーション状態の検出済みの変化が1つ又は複数の安全制約を侵害することなしに次のナビゲーション操作を完了する機会を与えるかどうか、又は次のナビゲーション操作を1つ又は複数の安全制約を侵害した状態にするかどうかに基づき得る。上記で説明したように、安全制約は、目標車両、歩行者、路肩の又は道路内の静止対象、路肩の又は道路内の移動対象、ガードレール等の様々なタイプの検出対象を取り囲む非運転区域等のハード制約、歩行者の影響区域内を通過するときの最大移動速度、ホスト車両の後ろの目標車両の間隔に対処するために任意選択的に決定される最大減速度、検知した横断歩道又は踏切における強制的な停止等を含み得る。一例では、少なくとも1つのナビゲーション動作が予定の車線内に僅かに入ることを含み、予定の車線内の目標車両がホスト車両の後ろにあり加速した場合、その車線変更は、ホスト車両と目標車両との間の非運転区域に侵入する可能性があるので、ナビゲーション動作は、ホスト車両を元の車線に戻すことができる。同様の例では、少なくとも1つのナビゲーション動作が予定の車線内に僅かに入ることを含み、予定の車線内の目標車両がホスト車両の前にあり加速した場合、その車線変更は、ホスト車両と目標車両との間の非運転区域に侵入しないので、ナビゲーション動作は、車線変更を完了することができる。
【0384】
[0457]
図26Aは、別の車両2620に対する自動折衝に基づいてナビゲートするホスト車両2610の図である。
図26Aの例では、ホスト車両2610は、ナビゲーション変更として隣接車線内に僅かに入り、(隣接車線内に)車線変更する次のナビゲーション操作を行う意図を目標車両2620に知らせる。
図26Aの例では、目標車両2620は加速することによって自らのナビゲーション状態を変える。その結果、目標車両2620のナビゲーション状態の検出済みの変化に基づいて、ホスト車両2620は元の車線内に戻る。
【0385】
[0458]
図26Bは、別の車両2620に対する自動折衝に基づいてナビゲートするホスト車両2610の別の図である。
図26Bの例では、ホスト車両2610は、ナビゲーション変更として隣接車線内に僅かに入り、(隣接車線内に)車線変更する次のナビゲーション操作を行う意図を目標車両2620に知らせる。
図26Bの例では、目標車両2620は減速することによって自らのナビゲーション状態を変える。その結果、目標車両2620のナビゲーション状態の検出済みの変化に基づいて、ホスト車両2620は隣接車線内への意図した車線変更を完了する。
【0386】
[0459]
図26Cは、ホスト車両が合流している車線内の別の車両2640に対する自動折衝に基づいてナビゲートするホスト車両2630の図である。
図26Cの例では、ホスト車両2630は、自らのヘッドライトを点滅させて、目標車両2640に道を譲る次のナビゲーション操作を行う意図を目標車両2640に知らせる。
図26Cの例では、目標車両2640は加速することによって自らのナビゲーション状態を変える。その結果、目標車両2640のナビゲーション状態の検出済みの変化に基づき、ホスト車両2630は(減速することによって)自らが意図する道を譲ることを完了する。
図26Cに不図示の代替的な例では、目標車両2640は減速することによって自らのナビゲーション状態を変えることができる。その結果、目標車両2640のナビゲーション状態の検出済みの変化に基づき、ホスト車両2630は(例えば加速することによって)自らが意図する道を譲ることを取り消すことができる。
【0387】
[0460]
図26Dは、円形交差点内の第1の目標車両2640及び第2の目標車両2650に対する自動折衝に基づいてナビゲートするホスト車両2660の図である。
図26Dの例では、第1の目標車両2640と第2の目標車両2650との間の距離に基づいて、円形交差点が空く時間をホスト車両2660が判定する。判定した時間に基づき、ホスト車両2660は、円形交差点内に僅かに入り、円形交差点に入る次のナビゲーション操作を行う意図を目標車両2650に知らせる。
図26Dの例では、目標車両2650は減速することによって自らのナビゲーション状態を変える。その結果、目標車両2650のナビゲーション状態の検出済みの変化に基づき、ホスト車両2660は(加速して円形交差点に完全に入ることによって)自らが意図する入り込みを完了する。
図26Dに不図示の代替的な例では、目標車両2650は加速することによって自らのナビゲーション状態を変えることができる。その結果、目標車両2650のナビゲーション状態の検出済みの変化に基づき、ホスト車両2660は(例えばブレーキをかけることによって)自らが意図する入り込みを取り消すことができる。
【0388】
[0461] ホスト車両2660は上記のメモリ2500を含み、その中のモジュールを使用して、
図26A~
図26Dに示す決定を行うことができる。加えて又は代替的に、ホスト車両2660は、以下の方法2700及び/又は方法2750を実行して
図26A~
図26Dに示す決定を行うことができる。
【0389】
[0462]
図27Aは、他の車両に対する自動折衝に基づいて車両をナビゲートするための方法2700のフローチャートを示す。方法2700は、例えばホスト車両の少なくとも1つの処理装置(例えば処理装置110)によって実施され得る。
【0390】
[0463] ステップ2705で、処理装置110は、ホスト車両の環境を表す複数の画像をカメラから受信することができる。例えばカメラは、画像捕捉装置122、画像捕捉装置124、及び画像捕捉装置126のうちの少なくとも1つとすることができる。複数の画像は異なる角度から(例えば異なるカメラを使用して)及び/又は異なる時点において捕捉され得る。或る具体例では、複数の画像がフレームの複数の時間的なシーケンスを表すことができ、各シーケンスは同じ期間だが固有の角度を範囲に含む。
【0391】
[0464] 幾つかの実施形態において、処理装置110は、ホスト車両内の他のセンサから追加情報を受信することができる。例えば処理装置110は、速度計、GPS、加速度計、レーダ、ライダ、サスペンションセンサ等から情報を受信し得る。
【0392】
[0465] ステップ2710で、処理装置110は、複数の画像を解析してホスト車両の環境内の少なくとも1台の目標車両を識別することができる。例えば処理装置110は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、少なくとも1台の目標車両を識別することができる。画像分類器と組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0393】
[0466] 幾つかの実施形態において、目標車両は、ホスト車両の少なくとも1つの計画済みのナビゲーション動作に影響を及ぼす位置を有し得る。例えば処理装置110は、少なくとも1つの計画済みのナビゲーション動作を決定すること、及び/又は少なくとも1つの計画済みのナビゲーション動作を(例えばホスト車両上の別の処理装置によって決定された後で)1つ又は複数のメモリから及び/又は1つ又は複数のネットワーク上で(例えば遠隔サーバから)受信することができる。少なくとも1つの計画済みのナビゲーション動作に基づき、処理装置110は、少なくとも1つの計画済みのナビゲーション動作に影響を及ぼす1つ又は複数の区域を決定することができる。少なくとも1つの計画済みのナビゲーション動作が車線内への合流を含む一例では、処理装置110は、少なくとも1つの計画済みのナビゲーション動作に影響を及ぼす区域として、車線の一部を決定することができる。少なくとも1つの計画済みのナビゲーション動作が円形交差点に入ることを含む別の例では、処理装置110は、少なくとも1つの計画済みのナビゲーション動作に影響を及ぼす区域として、円形交差点の一部を(任意選択的に円形交差点への入口部分と共に)決定することができる。
【0394】
[0467] 従って処理装置110は、1つ又は複数の画像分類器を1つ又は複数の区域にだけ(又は1つ若しくは複数の区域の誤差マージン内で)適用することによって、少なくとも1台の目標車両を識別することができる。加えて又は代替的に、処理装置110は、1つ又は複数の画像分類器を全画像に適用し、次いで1つ又は複数の区域内にある識別済みの車両のサブセットとして、少なくとも1台の目標車両を決定することができる。先に説明したように、識別済みの車両の位置は、任意選択的に予期される誤差の変動又はマージンを伴う点(例えば車両の識別済みの又は推定済みの中心、車両の1つ又は複数の車輪の識別済みの又は推定済みの位置等)でもよい。従って、識別済みの車両は、それらの点が1つ又は複数の区域内にある場合、及び/又は予期される変動又はマージンが1つ又は複数の区域と(任意選択的に重複の閾値、例えば少なくとも0.5mの重複、少なくとも1mの重複等を利用して)重複する場合は、目標車両として分類され得る。他の実施形態では、識別済みの車両の位置を領域(例えば境界ボックス)とすることができる。従って、識別済みの車両は、その領域が1つ又は複数の区域と(任意選択的に重複の閾値、例えば領域の少なくとも10%が重複すること、領域の少なくとも20%が重複すること等を利用して)重複する場合にのみ、目標車両として分類され得る。
【0395】
[0468] 少なくとも1台の目標車両は様々な関心位置にあることができる。例えば目標車両は、ホスト車両に隣接する車線内を走行している場合があり、円形交差点を通り抜ける車列に含まれている場合があり、ホスト車両を含む車線が合流する車線内の車列に含まれている場合があり、又はその任意の組み合わせに含まれ得る。
【0396】
[0469] ステップ2715で、処理装置110は、次のナビゲーション操作を行うホスト車両の意図を目標車両に知らせるために、ホスト車両の少なくとも1つのナビゲーション変更を引き起こすことができる。例えばホスト車両の少なくとも1つのナビゲーション変更は、ホスト車両のブレーキをかけてホスト車両を減速すること、ホスト車両の速度を変えること、ホスト車両を走行車線内で横方向に動かすこと、ホスト車両を目標車両の走行経路に向けて動かすこと、又はその任意の組み合わせを含み得る。一例では、少なくとも1つの計画済みのナビゲーション動作が車線変更を含む場合、少なくとも1つのナビゲーション変更は、予定の車線に向けて(任意選択的に予定の車線内に)横方向に僅かに動くことを含み得る。別の例では、少なくとも1つの計画済みのナビゲーション動作がハイウェイ又は州際高速自動車道を出ることを含む場合、少なくとも1つのナビゲーション変更は、ホスト車両のブレーキをかけることを含み得る。更に別の例では、少なくとも1つの計画済みのナビゲーション動作が合流車線内に合流することを含む場合、少なくとも1つのナビゲーション変更は、ホスト車両を加速すること及び/又は合流車線に向けて(任意選択的に合流車線内に)横方向に僅かに動くことを含み得る。また更なる例では、少なくとも1つの計画済みのナビゲーション動作が円形交差点に入ることを含む場合、少なくとも1つのナビゲーション変更は、ホスト車両を加速すること及び/又は円形交差点内に僅かに入ることを含み得る。別の例では、少なくとも1つの計画済みのナビゲーション動作が円形交差点を出ることを含む場合、少なくとも1つのナビゲーション変更は、ホスト車両のブレーキをかけること及び/又は円形交差点を僅かに出ることを含み得る。
【0397】
[0470] ステップ2720で、処理装置110は、複数の画像を解析して、ホスト車両の少なくとも1つのナビゲーション変更に対する、目標車両のナビゲーション状態の変化を検出することができる。例えば検出される目標車両の反応は、目標車両が減速すること、目標車両が車線変更すること、又はその任意の組み合わせを含み得る。
【0398】
[0471] ステップ2725で、処理装置110は、目標車両のナビゲーション状態の検出済みの変化に基づいて、ホスト車両のナビゲーション動作を決定することができる。例えば処理装置110は、変化を検出するために使用される複数の更新済みの画像を受信することができる。少なくとも1台の目標車両に対してと同様に、処理装置110は、更新済みの画像に1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、検出される変化を識別することができる。加えて又は代替的に、処理装置110は、更新済みの画像のオプティカルフローを計算して、目標車両の加速、目標車両の減速、目標車両の横方向の動き等の変化を検出することができる。画像分類器及び/又はオプティカルフローアルゴリズムと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0399】
[0472] 少なくとも1つの計画済みのナビゲーション動作を目標車両が許可していることを検出済みの変化が示す実施形態では、少なくとも1つの計画済みのナビゲーション動作を完了するように決定されるナビゲーション動作が計算され得る。例えば少なくとも1つのナビゲーション変更が予定の車線に向けて(任意選択的に予定の車線内に)横方向に僅かに動くことを含む場合、予定の車線内に間隙が開くようになる、目標車両の検出される加速又は減速の変化は、意図した車線変更が許可されることを示し得る。別の例では、少なくとも1つのナビゲーション変更がホスト車両のブレーキをかけることを含む場合、別の車線内への検出される横方向の動きの変化は、ハイウェイ又は州際高速自動車道から予定通り出ることが許可されることを示し得る。更に別の例では、少なくとも1つのナビゲーション変更がホスト車両を加速すること及び/又は合流車線に向けて(任意選択的に合流車線内に)横方向に僅かに動くことを含む場合、予定の車線内に間隙が開くようになる、目標車両の検出される減速の変化及び/又は目標車両のヘッドライトの点滅は、意図した合流が許可されることを示し得る。また更なる例では、少なくとも1つのナビゲーション変更がホスト車両を加速すること及び/又は円形交差点内に僅かに入ることを含む場合、予定の車線内に間隙が開くようになる、目標車両の検出される減速の変化及び/又は目標車両のヘッドライトの点滅は、円形交差点に予定通り入ることが許可されることを示し得る。別の例では、少なくとも1つのナビゲーション変更がホスト車両のブレーキをかけること及び/又は円形交差点から僅かに出ることを含む場合、別の車線内への検出される横方向の動きの変化は、円形交差点から予定通り出ることが許可されることを示し得る。
【0400】
[0473] 他方で、少なくとも1つの計画済みのナビゲーション動作を目標車両が拒否していることを検出済みの変化が示す実施形態では、少なくとも1つの計画済みのナビゲーション動作を取り消すように決定されるナビゲーション動作が計算され得る。例えば少なくとも1つのナビゲーション変更が予定の車線に向けて(任意選択的に予定の車線内に)横方向に僅かに動くことを含む場合、予定の車線内にホスト車両が入ることを目標車両が妨げることになる、目標車両の検出される加速又は減速の変化は、意図した車線変更が拒否されることを示し得る。別の例では、少なくとも1つのナビゲーション変更がホスト車両のブレーキをかけることを含む場合、ホスト車両がハイウェイ又は州際高速自動車道から出ることを目標車両が妨げることになる、目標車両の検出される加速又は減速の変化は、ハイウェイ又は州際高速自動車道から予定通り出ることが拒否されることを示し得る。更に別の例では、少なくとも1つのナビゲーション変更がホスト車両を加速すること及び/又は合流車線に向けて(任意選択的に合流車線内に)横方向に僅かに動くことを含む場合、合流車線内にホスト車両が入ることを目標車両が妨げることになる、目標車両の検出される加速の変化は、意図した合流が拒否されることを示し得る。また更なる例では、少なくとも1つのナビゲーション変更がホスト車両を加速すること及び/又は円形交差点内に僅かに入ることを含む場合、円形交差点内にホスト車両が入ることを目標車両が妨げることになる、目標車両の検出される加速の変化は、円形交差点に予定通り入ることが拒否されることを示し得る。別の例では、少なくとも1つのナビゲーション変更がホスト車両のブレーキをかけること及び/又は円形交差点から僅かに出ることを含む場合、円形交差点からホスト車両が出ることを目標車両が妨げることになる、目標車両の検出される加速又は減速の変化は、円形交差点から予定通り出ることが拒否されることを示し得る。
【0401】
[0474] ステップ2730で、処理装置110は、ホスト車両の決定済みのナビゲーション動作に応答して、ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。例えば決定されるナビゲーション動作がホスト車両の横方向の動きである場合、処理装置110は、ホスト車両のステアリングメカニズムを調節することができる。同様に、決定されるナビゲーション動作がホスト車両の加速である場合、処理装置110は、ホスト車両のアクセルを調節することができる。更に、決定されるナビゲーション動作がホスト車両の減速である場合、処理装置110は、ホスト車両のブレーキを調節することができる。
【0402】
[0475] 方法2700は追加のステップを含むことができる。例えば方法2700は、次の操作を行う意図についての1つ又は複数の追加のインジケータを目標車両に出すことを更に含み得る。1つ又は複数の追加のインジケータは、(例えばヘッドライト、テールライト、ブレーキ灯、ウィンカー等からの)光の点滅を含み得る。例えばホスト車両のブレーキを僅かにかけることは、(例えばホスト車両がハイウェイ又は州際高速自動車道又は円形交差点を出る場合に)減速する意図を知らせるためにブレーキ灯を点滅させることと結び付けることができる。別の例では、ホスト車両のブレーキを僅かにかけることは、目標車両に道を譲る意図を知らせるためにヘッドライトを点滅させることと結び付けることができる。更に別の例では、僅かに加速すること、僅かにブレーキをかけること、及び/又は横方向に僅かに動くことは、車線変更する意図を知らせるためにウィンカーを点滅させることと結び付けることができる。
【0403】
[0476] 加えて又は代替的に、1つ又は複数の追加のインジケータは、目標車両に無線で伝送される情報信号を含む。例えば情報信号は、セルラーネットワーク(4G、LTE等)、限定領域無線ネットワーク(Bluetooth、Wi-Fi等)、直接の無線周波数信号、又はその任意の組み合わせを使用して伝送され得る。
【0404】
[0477]
図27Bは、他の車両に対する自動折衝に基づいて車両をナビゲートするための方法2750のフローチャートを示す。方法2750は、例えばホスト車両の少なくとも1つの処理装置(例えば処理装置110)によって実施され得る。
【0405】
[0478] ステップ2755で、処理装置110は、ホスト車両の環境を表す複数の画像をカメラから受信することができる。例えば方法2750のステップ2755は、上記の方法2700のステップ2705と同様に実行することができる。
【0406】
[0479] ステップ2760で、処理装置110は、複数の画像を解析して、ホスト車両の環境内の第1の目標車両及び第2の目標車両を識別することができる。例えば処理装置110は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して第1の目標車両及び第2の目標車両を識別することができる。画像分類器と組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0407】
[0480] 第1の目標車両は、ホスト車両が走行している走行車線に隣接する走行車線内の第2の目標車両の後ろを走行している可能性がある。例えば処理装置110は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、(例えば先に論じたように1つ又は複数の路面標識を識別することによって)車線の境界を識別し、第1の目標車両及び第2の目標車両の走行車線(及び/又はホスト車両の走行車線)を分類することができる。加えて又は代替的に、複数の画像の1つ又は複数のオプティカルフローを使用して、第1の目標車両及び第2の目標車両の走行車線を判定することができ、第1の目標車両及び第2の目標車両の予測軌道を判定すること、及び軌道に基づいて関連する走行車線を判定することが可能になる。加えて又は代替的に、ホスト車両の過去の軌道及び/又はホスト車両の予測軌道を使用して、(任意選択的に複数の画像に加えて速度計及び/又はGPS等の1つ又は複数のセンサからのフィードバックと共に)ホスト車両の走行車線を判定することができる。
【0408】
[0481] ステップ2765で、処理装置110は、複数の画像を解析して、第1の目標車両と第2の目標車両との間の距離を判定することができる。例えば上記で説明したように、処理装置110は、1つ又は複数の分類器を適用して、第1の目標車両及び第2の目標車両の1つ又は複数の部分(例えばヘッドライト、テールライト、車輪等)を識別することができる。複数の画像を使用し、識別した部分間の距離を推定することができる。加えて又は代替的に、1つ又は複数の分類器が第1の目標車両の境界ボックス及び第2の目標車両の境界ボックスを推定し、推定したそれらの2つの境界ボックス間の距離を判定することができる。加えて又は代替的に、処理装置110は、1つ又は複数の分類器を適用して、第1の目標車両及び第2の目標車両の製造年、製造元、及び/又は型式を突き止め、車両のタイプに関する既知の情報(例えば幅及び全長等の寸法)を使用して距離を推定することができる。或る具体例では、処理装置110は、第1の目標車両を2014年式トヨタ・カローラとして識別し、第2の目標車両を2018年式レクサスRX 350として識別し、2014年式トヨタ・カローラ及び/又は2018年式レクサスRX 350の既知の全長を使用して、第1の目標車両と第2の目標車両との間の距離を推定することができる。画像分類器と組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0409】
[0482] ステップ2770で、処理装置110は、第1の目標車両及び第2の目標車両のうちの1つに関連する境界に到達する時間を複数の画像から判定することができる。例えば境界は、第1の目標車両と第2の目標車両との間の間隙の予期される狭まりを含み得る。判定される時間は、第1の閾値を上回り第2の閾値を上回らなくてもよく、第2の閾値は第1の閾値よりも大きい。
【0410】
[0483] ステップ2775で、処理装置110は、判定した時間に基づいて、次のナビゲーション操作を行うホスト車両の意図を目標車両に知らせるために、ホスト車両の少なくとも1つのナビゲーション変更を引き起こすことができる。例えば方法2750のステップ2775は、上記の方法2700のステップ2715と同様に実行できるが、判定した時間に基づいて、少なくとも1つのナビゲーション変更を引き起こすことができる。少なくとも1つのナビゲーション変更は、第1の目標車両と第2の目標車両との間の間隙に僅かに入ることを含むことができ、移動の素早さは、判定した時間に基づいて決定される。
【0411】
[0484] ステップ2780で、処理装置110は、複数の画像を解析して、ホスト車両の少なくとも1つのナビゲーション変更に対する、目標車両のナビゲーション状態の変化を検出することができる。例えば方法2750のステップ2780は、上記の方法2700のステップ2720と同様に実行することができる。
【0412】
[0485] ステップ2785で、処理装置110は、目標車両のナビゲーション状態の検出済みの変化に基づいて、ホスト車両のナビゲーション動作を決定することができる。例えば方法2750のステップ2785は、上記の方法2700のステップ2725と同様に実行することができる。
【0413】
[0486] ステップ2790で、処理装置110は、ホスト車両の決定済みのナビゲーション動作に応答して、ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。例えば方法2750のステップ2790は、上記の方法2700のステップ2730と同様に実行することができる。
【0414】
[0487] 方法2750は追加のステップを含むことができる。例えば方法2750は、次の操作を行う意図についての1つ又は複数の追加のインジケータを目標車両に出すことを更に含み得る。方法2700に関して上記で説明したように、1つ又は複数の追加のインジケータは光の点滅を含み得る。方法2700に関して上記で説明したように、加えて又は代替的に、1つ又は複数の追加のインジケータは、目標車両に無線で伝送される情報信号を含む。
【0415】
[0488] 後続車両の挙動に基づくナビゲーション
[0489] 幾つかの実施形態において、ホスト車両のナビゲーションシステムが後続車両を監視し、追走距離、相対速度、及び/又は相対加速度等のパラメータを判定することができる。これらのパラメータ、これらのパラメータの組み合わせ、又はこれらのパラメータに依存する量(例えばホスト車両がブレーキをかけた場合の衝突までの時間)のいずれかに関連する値に基づき、ホスト車両は、1つ又は複数のナビゲーション変更を行うことができる。これによりホスト車両は、先行車両に加えて後続車両を考慮することにより、安全性及び効率を高められるようになるだけでなく、乗客の快適さを高められるようになり得る。この能力は人間が介入する必要を減らすだけでなく、シームレスな(且つほぼ同時の)方法で先行車両及び後続車両を考慮しそれらに反応する能力に関して人間の脳は限度があるという理由に少なくとも部分的に基づき、人間の限界を超えて安全性を高めることができる。
【0416】
[0490] 幾つかの実施形態において、ナビゲーションシステムは、後続車両を監視することに応答して、ホスト車両のナビゲーション変更を引き起こすことができる。例えばホスト車両は、後続車両と衝突するまでの時間のインジケータが所定の閾値未満である場合、車線変更すること、先行車両までの距離を広げるために減速すること、最大許容ブレーキ率を減らすこと等ができる。
【0417】
[0491]
図28は、後続車両の挙動を使用してナビゲートするための命令を格納するように構成されるメモリ2800のブロック図である。
図28では単一のメモリとして示すが、メモリ2800は、1つ又は複数の不揮発性(例えばハードディスクドライブ、フラッシュメモリ等)及び/又は揮発性(例えばRAM等)メモリを含み得る。幾つかの実施形態において、メモリ2800はシステム100内に含まれ得る。例えばメモリ2800は、1つ又は複数のメモリユニット140、150の一部を少なくとも部分的に含み得る。
【0418】
[0492]
図28に示すように、メモリ2800は画像受信モジュール2802を含み得る。画像受信モジュール2802は、ホスト車両の後ろの環境を表す複数の画像を後向きカメラから受信することができる。複数の画像は、後向きカメラから直接(例えば1つ又は複数のバスを使用して)受信されてもよく、後向きカメラからの画像を格納する1つ又は複数のメモリから取得されてもよく、及び/又は1つ若しくは複数のコンピュータネットワーク上で、後向きカメラから直接又はネットワークに接続される1つ若しくは複数のメモリから受信されてもよい。
【0419】
[0493] 幾つかの実施形態において、モジュール2802は、ホスト車両内の他のセンサから代わりの又は追加の情報を受信し得る。例えばモジュール2802は、速度計、GPS、加速度計、レーダ、ライダ、サスペンションセンサ等のうちの少なくとも1つから情報を受信し得る。
【0420】
[0494]
図28に更に示すように、メモリ2800は目標車両識別モジュール2804を含むことができる。目標車両識別モジュール2804は、画像受信モジュール2802によって受信される複数の画像を解析して、ホスト車両の後ろの環境内の少なくとも1台の目標車両を識別することができる。例えば目標車両識別モジュール2804は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、複数の画像内の少なくとも1台の目標車両を識別することができる。上記の技法のいずれかと組み合わせて又はその代わりに1つ又は複数のニューラルネットワークを使用することができる。
図28に示すように、メモリ2800は、ナビゲーションインジケータ識別モジュール2806を更に含むことができる。ナビゲーションインジケータ識別モジュール2806は、複数の画像を解析することに基づいて、目標車両の少なくとも1つのナビゲーション特性のインジケータを識別することができる。例えば目標車両の少なくとも1つのナビゲーション特性は、目標車両とホスト車両との間の相対加速度、目標車両とホスト車両との間の相対速度、目標車両とホスト車両との間の追走距離、目標車両とホスト車両との間の衝突までの時間等を含み得る。
【0421】
[0495] 幾つかの実施形態において、ナビゲーションインジケータ識別モジュール2806は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、複数の画像内のナビゲーションインジケータを識別することができる。1つ又は複数の画像分類器は、少なくとも1台の目標車両を含む画像の一部に適用することができる。例えば目標車両を識別することは、識別済みの車両の境界ボックスを計算することを含むことができ、それにより、ナビゲーションインジケータを識別するための1つ又は複数の分類器を境界ボックス(又は境界ボックスを含む領域及び境界ボックスの周りの緩衝域)に適用することができる。
【0422】
[0496] 加えて又は代替的に、ナビゲーションインジケータ識別モジュール2806は、画像間のオプティカルフローを計算して、少なくとも1つのナビゲーション特性を識別することができる。例えばオプティカルフローは、目標車両の絶対速度及び/又は相対速度の計算を可能にし得る。1つ若しくは複数の分類器及び/又はオプティカルフローアルゴリズムの結果に対して、更なる処理を実行することができる。例えばナビゲーションインジケータ識別モジュール2806は、目標車両の速度に基づいて、相対加速度、衝突までの時間、ブレーキ距離等を計算することができる。別の例では、ナビゲーションインジケータ識別モジュール2806は、目標車両の位置(例えば点の位置、境界ボックス等)に基づいて、追走距離を計算することができる。上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0423】
[0497] 最後に、メモリ2800はナビゲーション動作モジュール2808を含むことができる。ナビゲーション動作モジュール2808は、目標車両の識別済みの少なくとも1つのナビゲーション特性に基づいて、ホスト車両のナビゲーション動作を決定することができる。例えば、ホスト車両の決定されるナビゲーション動作は、ホスト車両とホスト車両の前方の先行車両との間の間隙を広げるためにホスト車両を減速すること、ホスト車両を現在の走行車線から別の走行車線にナビゲートすること、ホスト車両の最大許容ブレーキ率を減らすこと等を含み得る。一例では、少なくとも1つのナビゲーション特性が閾値未満の衝突までの時間を含む場合、決定されるナビゲーション動作は、ホスト車両を減速すること及び/又はホスト車両を現在の走行車線から別の走行車線にナビゲートすることを含み得る。別の例では、少なくとも1つのナビゲーション特性が閾値未満の追走距離を含む場合、決定されるナビゲーション動作は、ホスト車両を加速すること及び/又はホスト車両を現在の走行車線から別の走行車線にナビゲートすることを含み得る。更に別の例では、少なくとも1つのナビゲーション特性が閾値を上回る相対速度を含む場合、決定されるナビゲーション動作は、ホスト車両の最大許容ブレーキ率を減らすこと及び/又はホスト車両を現在の走行車線から別の走行車線にナビゲートすることを含み得る。また更なる例では、少なくとも1つのナビゲーション特性が閾値を上回る相対加速度を含む場合、決定されるナビゲーション動作は、ホスト車両を減速すること及び/又はホスト車両を現在の走行車線から別の走行車線にナビゲートすることを含み得る。
【0424】
[0498] 幾つかの実施形態において、ナビゲーション動作モジュール2808は、ホスト車両の決定済みのナビゲーション動作に応答して、ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすこともできる。上記で説明したように、ナビゲーションアクチュエータはステアリングメカニズム、ブレーキ、又はアクセルのうちの少なくとも1つを含み得る。
【0425】
[0499]
図29Aは、後続車両2930の挙動に基づいてナビゲートするホスト車両2910の図である。
図29Aの例では、後続車両2930との衝突までの時間が所定の閾値未満であるというインジケータに応答して、ホスト車両2910が減速する。従ってホスト車両2910は、後続車両2930がホスト車両2910と衝突した場合に、ホスト車両2910が先行車両2920内に押し込まれないことを確実にすることによって、カスケード衝突を回避することができる。更にホスト車両2910は、ホスト車両2910の直後にぴったりつけて走行し続けるのではなく、ホスト車両2910を安全に追い越すために車線変更するように、後続車両2930を促すことができる。
【0426】
[0500]
図29Bは、後続車両2930の挙動に基づいてナビゲートするホスト車両2910の別の図である。
図29Bの例では、後続車両2930との衝突までの時間が所定の閾値未満であるというインジケータに応答して、ホスト車両2910が車線変更する。従って、ホスト車両2910は、車線変更することによって衝突を回避することができる。更にホスト車両2910は、車線変更しホスト車両2910の直後にぴったりつけて走行し続けるのではなく、ホスト車両2910を安全に追い越すように、後続車両2630を促すことができる。
【0427】
[0501] ホスト車両2910は上記のメモリ2800を含み、その中のモジュールを使用して、
図29A及び
図29Bに示す決定を行うことができる。加えて又は代替的に、ホスト車両2910は、以下の方法3000を実行して
図29A及び
図29Bに示す決定を行うことができる。
【0428】
[0502]
図30は、後続車両の挙動に基づいて車両をナビゲートするための方法3000のフローチャートを示す。方法3000は、例えばホスト車両の少なくとも1つの処理装置(例えば処理装置110)によって実施され得る。
【0429】
[0503] ステップ3010で、処理装置110は、ホスト車両の後ろの環境を表す複数の画像を後向きカメラから受信することができる。幾つかの実施形態において、複数の画像は異なる角度から(例えば異なるカメラを使用して)及び/又は異なる時点において捕捉され得る。或る具体例では、複数の画像がフレームの複数の時間シーケンスを表すことができ、各シーケンスは同じ期間だが固有の角度を範囲に含む。
【0430】
[0504] ステップ3020で、処理装置110は、複数の画像を解析して、ホスト車両の後ろの環境内の少なくとも1台の目標車両を識別することができる。例えば処理装置110は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、複数の画像内の少なくとも1台の目標車両を識別することができる。上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0431】
[0505] ステップ3030で、処理装置110は、複数の画像を解析することに基づいて、目標車両の少なくとも1つのナビゲーション特性のインジケータを識別することができる。例えば目標車両の少なくとも1つのナビゲーション特性は、目標車両とホスト車両との間の相対加速度、目標車両とホスト車両との間の相対速度、目標車両とホスト車両との間の追走距離、目標車両とホスト車両との間の衝突までの時間等を含み得る。幾つかの実施形態において、処理装置110は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、複数の画像内のナビゲーションインジケータを識別することができる。1つ又は複数の画像分類器は、画像全体に適用することができ、及び/又は目標車両の境界ボックス(任意選択的に境界ボックスの周りの緩衝域を伴う)等、少なくとも1台の目標車両を含む画像の1つ又は複数の部分に適用することができる。加えて又は代替的に、処理装置110は、画像間のオプティカルフローを計算して、少なくとも1つのナビゲーション特性を識別することができる。例えばオプティカルフローは、目標車両の絶対速度及び/又は相対速度の計算を可能にし得る。1つ若しくは複数の分類器及び/又はオプティカルフローアルゴリズムの結果に対して、更なる処理を実行することができる。例えば処理装置110は、目標車両の速度に基づいて、相対加速度、衝突までの時間、ブレーキ距離等を計算することができ、目標車両の位置(例えば点の位置、境界ボックス等)に基づいて、追走距離を計算することができる。上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0432】
[0506] ステップ3040で、処理装置110は、目標車両の少なくとも1つの識別済みのナビゲーション特性に基づいて、ホスト車両のナビゲーション動作を決定することができる。例えば、ホスト車両の決定されるナビゲーション動作は、ホスト車両とホスト車両の前方の先行車両との間の間隙を広げるためにホスト車両を減速すること、ホスト車両を現在の走行車線から別の走行車線にナビゲートすること、ホスト車両の最大許容ブレーキ率を減らすこと等を含み得る。
【0433】
[0507] 方法3000は追加のステップを含むことができる。例えば方法3000は、ホスト車両の決定済みのナビゲーション動作に応答して、ホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことを更に含み得る。或る具体例では、決定されるナビゲーション動作がホスト車両の横方向の動きである場合、処理装置110は、ホスト車両のステアリングメカニズムを調節することができる。同様に、決定されるナビゲーション動作がホスト車両の加速である場合、処理装置110は、ホスト車両のアクセルを調節することができる。更に、決定されるナビゲーション動作がホスト車両の減速である場合、処理装置110は、ホスト車両のブレーキを調節することができる。
【0434】
[0508] 検知されるブレーキ灯のパターンに基づくナビゲーション
[0509] 幾つかの実施形態において、ホスト車両のナビゲーションシステムは、先行車両のブレーキ特性を監視することができる。例えば先行車両が頻繁に又は異常にブレーキをかけていると判定される場合、ホスト車両は、そのブレーキ特性に基づいて1つ又は複数のナビゲーション変更を行うことができる。かかる頻繁な又は異常なブレーキは、先行車両が別の車両を危険な距離で追走していること、及び/又は先行車両が集中を欠く運転者によって運転されていること、及び/又は目を覚ましていることが困難な運転者によって運転されていることを示し得る。
【0435】
[0510] 幾つかの実施形態において、ナビゲーションシステムは、ブレーキ特性に応答して、ホスト車両のナビゲーション変更を引き起こすことができる。例えばホスト車両は、減速すること、目標車両までの追走距離を広げること、車線変更すること等を行うことができる。この能力は、自律車両が人間の介入を必要とすることなしに危険な運転者及び/又は状況を先制して回避することを可能にし得る。
【0436】
[003]
図31は、検知したブレーキ灯のパターンを使用してナビゲートするための命令を格納するように構成されるメモリ3100のブロック図である。
図31では単一のメモリとして示すが、メモリ3100は、1つ又は複数の不揮発性(例えばハードディスクドライブ、フラッシュメモリ等)及び/又は揮発性(例えばRAM等)メモリを含み得る。幾つかの実施形態において、メモリ3100はシステム100内に含まれ得る。例えばメモリ3100は、1つ又は複数のメモリユニット140、150の一部を少なくとも部分的に含み得る。
【0437】
[0511]
図31に示すように、メモリ3100は画像受信モジュール3102を含み得る。画像受信モジュール3201は、ホスト車両の前方の環境を表す複数の画像をカメラから受信することができる。複数の画像は、カメラから直接(例えば1つ又は複数のバスを使用して)受信されてもよく、カメラからの画像を格納する1つ又は複数のメモリから取得されてもよく、及び/又は1つ若しくは複数のコンピュータネットワーク上で、カメラから直接又はネットワークに接続される1つ若しくは複数のメモリから受信されてもよい。
【0438】
[0512] 幾つかの実施形態において、モジュール3102は、ホスト車両内の他のセンサから代わりの又は追加の情報を受信し得る。例えばモジュール3102は、速度計、GPS、加速度計、レーダ、ライダ、サスペンションセンサ等のうちの少なくとも1つから情報を受信し得る。
【0439】
[0513]
図31に更に示すように、メモリ3100は目標車両識別モジュール3104を含むことができる。目標車両識別モジュール3104は、複数の画像を解析して、ホスト車両の前方の環境内の少なくとも1台の目標車両を識別することができる。例えば目標車両識別モジュール3104は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、複数の画像内の少なくとも1台の目標車両を識別することができる。上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。例えば1つ又は複数のニューラルネットワークは、関連する目標車両を有しかつ関連する損失関数を最小化する1組の訓練画像を使用して、訓練され得る。1つ又は複数のニューラルネットワークは、現実のデータを使用して訓練し続けることができる。例えば人間の運転者からのフィードバックを受信し、1つ又は複数のニューラルネットワークに組み込んで、精度を改善することができる。幾つかの実施形態において、訓練すること及び/又はフィードバックを組み込むことは、ホスト車両から離れて(例えば1つ又は複数の遠隔サーバ上で)実行することができる。従って、1つ又は複数の遠隔サーバからホスト車両に、1つ又は複数のニューラルネットワーク(並びにそれに対する更新)が送信され得る。或いは、1つ又は複数のニューラルネットワーク上で処理するために、ホスト車両が1つ又は複数の遠隔サーバに画像を送信してもよい。
【0440】
[0514]
図31に示すように、メモリ3100はブレーキ灯識別モジュール3106を更に含み得る。ブレーキ灯識別モジュール3106は、複数の画像を解析することに基づいて、目標車両に関連する少なくとも1つのブレーキ灯を識別することができる。目標車両識別モジュール3104と同様に、ブレーキ灯識別モジュール3106は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、複数の画像内の少なくとも1つのブレーキ灯を識別することができる。1つ又は複数の画像分類器は、少なくとも1台の目標車両を含む画像の一部に適用することができる。例えば目標車両を識別することは、識別済みの車両の境界ボックスを計算することを含むことができ、それにより、ブレーキ灯を識別するための1つ又は複数の分類器を境界ボックス(又は境界ボックスを含む領域及び境界ボックスの周りの緩衝域)に適用することができる。上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0441】
[0515] ブレーキ灯識別モジュール3106は、複数の画像を解析することに基づいて、少なくとも1つのブレーキ灯の点灯状態の変化に関連する少なくとも1つの特性を更に識別することができる。例えば少なくとも1つの特性は、少なくとも1つのブレーキ灯の点灯状態が変わる頻度、少なくとも1つのブレーキ灯が動作後に点灯されたままである時間の長さ、少なくとも1つのブレーキ灯が所定の時間間隔において動作される回数、或る期間にわたるパターン、又はその任意の組み合わせを含み得る。
【0442】
[0516] 幾つかの実施形態において、ブレーキ灯識別モジュール3106は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、複数の画像内の少なくとも1つの特性を識別することができる。1つ又は複数の画像分類器は、少なくとも1台の目標車両を含む画像の一部、又は少なくとも1つのブレーキ灯を含む画像の一部に適用することができる。例えば目標車両又はブレーキ灯を識別することは、識別済みの車両又は識別済みのブレーキ灯の境界ボックスを計算することを含むことができ、それにより、特性を識別するための1つ又は複数の分類器を境界ボックス(又は境界ボックスを含む領域及び境界ボックスの周りの緩衝域)に適用することができる。上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。複数の画像を使用することに加えて又はその代わりに、モジュール3102、3104、及び3106は、少なくとも1台の目標車両から無線信号を共同して受信することができる。かかる信号は、目標車両から(例えば無線周波数信号として)直接受信されてもよく、1つ又は複数のコンピュータネットワーク(例えば4G、LTE、Wi-Fi、Bluetooth等)上で目標車両からホスト車両に伝送されてもよく、及び/又は目標車両から1つ若しくは複数の遠隔サーバに伝送され、次いでサーバからホスト車両に中継されてもよい。信号は、目標車両が自らのブレーキを踏み込んだことを示し得る。信号は、ブレーキが踏み込まれる時間の長さを更に含み得る。或いはサーバ及び/又はホスト車両は、ブレーキが踏み込まれていることを示す信号の送信/受信の時間、及びブレーキが解放されたことを示す信号の送信/受信の時間に基づいて、時間の長さを計算することができる。
【0443】
[0517] 最後に、メモリ3100はナビゲーション変更モジュール3108を含み得る。ナビゲーション変更モジュール3108は、少なくとも1つのブレーキ灯の点灯状態の変化に関連する少なくとも1つの識別済みの特性に基づいて、ホスト車両のナビゲーション変更を引き起こすことができる。例えばホスト車両のナビゲーション変更は、ホスト車両と目標車両との間の間隙を広げるためにホスト車両を減速すること、ホスト車両を現在の走行車線から別の走行車線にナビゲートすること等を含み得る。或る具体例では、少なくとも1つの特性が、少なくとも1つのブレーキ灯の点灯状態が変わる頻度が閾値を上回ることを含む場合、決定されるナビゲーション動作は、ホスト車両と目標車両との間の間隙を広げるためにホスト車両を減速すること、及び/又はホスト車両を現在の走行車線から別の走行車線にナビゲートすることを含み得る。別の具体例では、少なくとも1つの特性が、少なくとも1つのブレーキ灯が動作後に点灯されたままである時間の長さが閾値を上回ることを含む場合、決定されるナビゲーション動作は、ホスト車両と目標車両との間の間隙を広げるためにホスト車両を減速すること、及び/又はホスト車両を現在の走行車線から別の走行車線にナビゲートすることを含み得る。更に別の具体例では、少なくとも1つの特性が、少なくとも1つのブレーキ灯が所定の時間間隔において動作される回数が閾値を上回ることを含む場合、決定されるナビゲーション動作は、ホスト車両と目標車両との間の間隙を広げるためにホスト車両を減速すること、及び/又はホスト車両を現在の走行車線から別の走行車線にナビゲートすることを含み得る。別の例では、少なくとも1つの特性が、(例えば頻度検定、シリアル検定、ポーカー検定、ギャップ検定、モノビット検定、ワルト-ウォルフォビッツの検定(Wald-Wolfowitz test)、自己相関検定、コルモゴルフ-スミルノフ検定(Kolmogorov-Smirnov test)、スペクトル検定、及び/又はDiehard検定を適用することによって、エントロピを計算すること等によって)異常だと判定される或る期間にわたるパターンを含む場合、決定されるナビゲーション動作は、ホスト車両と目標車両との間の間隙を広げるためにホスト車両を減速すること、及び/又はホスト車両を現在の走行車線から別の走行車線にナビゲートすることを含み得る。
【0444】
[0518] ナビゲーション変更モジュール3108は、少なくとも1つのブレーキ灯の点灯状態の変化に関連する少なくとも1つの特性に加えて、目標車両の速度に関連する少なくとも1つの特性を考慮することができる。例えばナビゲーション変更モジュール3108は、目標車両がブレーキをかけるときの平均(又は中央、最頻等)減速度に基づいて頻度閾値を決定することができる。従ってナビゲーション変更モジュール3108は、目標車両がそれほど頻繁ではないが過度に急なブレーキをかける場合は、依然としてナビゲーション変更を引き起こすことができる。別の例では、ナビゲーション変更モジュール3108は、目標車両がブレーキをかけた後の平均(又は中央、最頻等)加速度に基づいて所定の時間間隔にわたる回数の閾値を決定することができる。従ってナビゲーション変更モジュール3108は、目標車両がより少なくブレーキをかけるがその後で過度に急な加速を行う場合は、依然としてナビゲーション変更を引き起こすことができる。
【0445】
[0519] 加えて又は代替的に、ナビゲーション変更モジュール3108は、少なくとも1つのブレーキ灯の点灯状態の変化に関連する少なくとも1つの特性に加えて、目標車両の軌道に関連する少なくとも1つの特性を考慮することができる。例えばナビゲーション変更モジュール3108は、期待される軌道からの目標車両の平均(又は中央、最頻等)ドリフトに基づいて頻度閾値を決定することができる。従ってナビゲーション変更モジュール3108は、目標車両がそれほど頻繁ではないブレーキをかけるが自らの車線内で進路からそれる場合は、依然としてナビゲーション変更を引き起こすことができる。別の例では、ナビゲーション変更モジュール3108は、目標車両の平均(又は中央、最頻等)車線変更に基づいて所定の時間間隔にわたる回数の閾値を決定することができる。従ってナビゲーション変更モジュール3108は、目標車両がより少なくブレーキをかけるが頻繁な車線変更を行う場合は、依然としてナビゲーション変更を引き起こすことができる。
【0446】
[0520] 幾つかの実施形態において、ホスト車両のナビゲーション変更を引き起こすことは、ホスト車両のナビゲーションアクチュエータの調節を引き起こすことを含み得る。上記で説明したように、ナビゲーションアクチュエータはステアリングメカニズム、ブレーキ、又はアクセルのうちの少なくとも1つを含み得る。
【0447】
[0521]
図32Aは、検知した先行車両3220のブレーキ灯のパターンに基づいてナビゲートするホスト車両3210の図である。
図32Aの例では、目標車両3220の少なくとも1つのブレーキ灯の点灯状態の変化に関連する特性に応答して、ホスト車両3210は減速する。例えば特性は、目標車両3220の少なくとも1つのブレーキ灯の点灯状態が変わる頻度を含むことができ、その頻度は閾値を上回り得る。別の例では、特性は目標車両3220の少なくとも1つのブレーキ灯が動作後に点灯されたままである時間の長さを含むことができ、その時間の長さは閾値を上回り得る。更に別の例では、特性は目標車両3220の少なくとも1つのブレーキ灯が所定の時間間隔において動作される回数を含むことができ、その回数は閾値を上回り得る。上記の例のいずれも組み合わせることができる。
【0448】
[0522]
図32Bは、検知した先行車両3220のブレーキ灯のパターンに基づいてナビゲートするホスト車両3210の別の図である。
図32Bの例では、目標車両3220の少なくとも1つのブレーキ灯の点灯状態の変化に関連する特性に応答して、ホスト車両3210が車線変更する。例えば特性は、目標車両3220の少なくとも1つのブレーキ灯の点灯状態が変わる頻度を含むことができ、その頻度は閾値を上回り得る。別の例では、特性は目標車両3220の少なくとも1つのブレーキ灯が動作後に点灯されたままである時間の長さを含むことができ、その時間の長さは閾値を上回り得る。更に別の例では、特性は目標車両3220の少なくとも1つのブレーキ灯が所定の時間間隔において動作される回数を含むことができ、その回数は閾値を上回り得る。上記の例のいずれも組み合わせることができる。
【0449】
[0523] ホスト車両3210は上記のメモリ3100を含み、その中のモジュールを使用して、
図32A及び
図32Bに示す決定を行うことができる。加えて又は代替的に、ホスト車両3210は、以下の方法3300を実行して
図32A及び
図32Bに示す決定を行うことができる。
【0450】
[0524]
図33は、検知した先行車両のブレーキ灯のパターンに基づいて車両をナビゲートするための方法3300のフローチャートを示す。方法3300は、例えばホスト車両の少なくとも1つの処理装置(例えば処理装置110)によって実施され得る。
【0451】
[0525] ステップ3310で、処理装置110は、ホスト車両の前方の環境を表す複数の画像をカメラから受信することができる。例えばカメラは、画像捕捉装置122、画像捕捉装置124、及び画像捕捉装置126のうちの少なくとも1つとすることができる。複数の画像は異なる角度から(例えば異なるカメラを使用して)及び/又は異なる時点において捕捉され得る。或る具体例では、複数の画像がフレームの複数の時間的なシーケンスを表すことができ、各シーケンスは同じ期間だが固有の角度を範囲に含む。
【0452】
[0526] 幾つかの実施形態において、処理装置110は、ホスト車両内の他のセンサから追加情報を受信することができる。例えば処理装置110は、速度計、GPS、加速度計、レーダ、ライダ、サスペンションセンサ等から情報を受信し得る。
【0453】
[0527] ステップ3320で、処理装置110は、複数の画像を解析して、ホスト車両の前方の環境内の少なくとも1台の目標車両を識別することができる。例えば処理装置110は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、複数の画像内の少なくとも1台の目標車両を識別することができる。上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0454】
[0528] ステップ3330で、処理装置110は、複数の画像を解析することに基づいて、目標車両に関連する少なくとも1つのブレーキ灯を識別することができる。例えば処理装置110は、1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、複数の画像内の少なくとも1つのブレーキ灯を識別することができる。1つ又は複数の画像分類器は、画像全体に適用することができ、又は少なくとも1台の目標車両を含む画像の一部に適用することができる。上記の技法のいずれかと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0455】
[0529] ステップ3340で、処理装置110は、複数の画像を解析することに基づいて、少なくとも1つのブレーキ灯の点灯状態の変化に関連する少なくとも1つの特性を識別することができる。例えば少なくとも1つの特性は、少なくとも1つのブレーキ灯の点灯状態が変わる頻度、少なくとも1つのブレーキ灯が動作後に点灯されたままである時間の長さ、少なくとも1つのブレーキ灯が所定の時間間隔において動作される回数、或る期間にわたるパターン、又はその任意の組み合わせを含み得る。
【0456】
[0530] 幾つかの実施形態において、処理装置110は、少なくとも1つの特性を検出するために使用される複数の更新済みの画像を受信することができる。少なくとも1台の目標車両及び少なくとも1つのブレーキ灯に対してと同様に、処理装置110は、更新済みの画像に1つ又は複数の画像分類器(任意選択的にカスケード分類器)を適用して、検出される変化を識別することができる。加えて又は代替的に、処理装置110は、更新済みの画像のオプティカルフローを計算して、少なくとも1つのブレーキ灯の点灯状態の変化を検出することができる。画像分類器及び/又はオプティカルフローアルゴリズムと組み合わせて又はその代わりに、1つ又は複数のニューラルネットワークを使用することができる。
【0457】
[0531] ステップ3350で、処理装置110は、少なくとも1つのブレーキ灯の点灯状態の変化に関連する少なくとも1つの識別済みの特性に基づいて、ホスト車両のナビゲーション変更を引き起こすことができる。例えばホスト車両のナビゲーション変更は、ホスト車両と目標車両との間の間隙を広げるためにホスト車両を減速すること、ホスト車両を現在の走行車線から別の走行車線にナビゲートすること等を含み得る。
【0458】
[0532] 幾つかの実施形態において、ホスト車両のナビゲーション変更を引き起こすことは、ホスト車両のナビゲーションアクチュエータの調節を引き起こすことを含み得る。或る具体例では、ナビゲーション変更がホスト車両と目標車両との間の間隙を広げるためにホスト車両を減速することを含む場合、処理装置110は、ホスト車両のブレーキを調節することができる。同様に、ナビゲーション変更がホスト車両を現在の走行車線から別の走行車線にナビゲートすることを含む場合、処理装置110は、ホスト車両のステアリングメカニズムを調節することができる。
【0459】
[0533] 方法3300は追加のステップを含むことができる。例えば方法3300は、第1のナビゲーション変更に基づいて、ホスト車両の第2のナビゲーション変更を引き起こすことを更に含み得る。例えば第1のナビゲーション変更がホスト車両を現在の走行車線から別の走行車線にナビゲートすることを含む場合、第2のナビゲーション変更は、ホスト車両を加速して目標車両を追い越すことを含み得る。別の例では、第1のナビゲーション変更がホスト車両と目標車両との間の間隙を広げるためにホスト車両を減速することを含む場合、第2のナビゲーション変更はホスト車両を現在の走行車線から別の走行車線にナビゲートすることを含み得る。
【0460】
[0534] 前述の説明は、実例のために提示されてきた。それは、包括的ではなく、開示される形態又は実施形態に正確には限定されない。修正及び適応が、開示される実施形態の仕様及び実施を考察することから、当業者に明らかになろう。加えて、開示される実施形態の態様が、メモリに格納されるように示されているが、当業者は、これらの態様がまた、二次記憶装置、例えばハードディスク若しくはCD ROM、RAM若しくはROMの他の形式、USB媒体、DVD、Blu-ray(登録商標)、4K Ultra HD Blu-ray、又は他の光ドライブ媒体などの他のタイプのコンピュータ可読媒体上に格納できることを認識されよう。
【0461】
[0535] 記載された説明及び開示される方法に基づいたコンピュータプログラムは、経験を積んだ開発者のスキル内にある。様々なプログラム又はプログラムモジュールが、当業者に周知の技術のいずれかを用いて作成され得るか、又は既存のソフトウェアに関連して設計され得る。例えば、プログラムセクション又はプログラムモジュールは、.Net Framework、.Net Compact Framework(及びVisual Basic、C等の関係言語)、Java(登録商標)、C++、Objective-C、HTML、HTML/AJAX組み合わせ、XML、又は同梱のJavaアプレットを備えたHTMLにおいて、又はそれらによって設計することができる。
【0462】
[0536] 更に、実例となる実施形態が、本明細書で説明されたが、等価な要素、修正、省略、組み合わせ(例えば様々な実施形態にわたる態様の)、適応、及び/又は変更を有するいずれか且つ全ての実施形態の範囲は、本開示に基づいて当業者によって認識されるであろう。請求項における限定は、請求項で用いられる言語に基づいて広く解釈されるべきであり、本明細書で、又は出願の遂行中に説明される例に限定されるべきではない。例は、非排他的であると解釈されるべきである。更に、開示される方法のステップは、ステップを再配置すること、及び/又はステップを挿入若しくは削除することを含む任意の方法で修正されてもよい。従って、本明細書及び例が、実例としてのみ考えられることが意図されており、真の範囲及び趣旨は、以下の特許請求の範囲及びそれらの完全な範囲の均等物によって示される。