(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】ホスト車両用のナビゲーションシステム、ナビゲーションの方法、及びプログラム
(51)【国際特許分類】
G08G 1/09 20060101AFI20241210BHJP
G08G 1/16 20060101ALI20241210BHJP
B60W 60/00 20200101ALI20241210BHJP
B60W 40/04 20060101ALI20241210BHJP
B60W 40/06 20120101ALI20241210BHJP
【FI】
G08G1/09 V
G08G1/16 D
B60W60/00
B60W40/04
B60W40/06
【外国語出願】
(21)【出願番号】P 2022156056
(22)【出願日】2022-09-29
(62)【分割の表示】P 2019533493の分割
【原出願日】2018-01-11
【審査請求日】2022-09-29
(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)【発明者】
【氏名】シュタイン,ギデオン
(72)【発明者】
【氏名】シャマ,シェイクド
(72)【発明者】
【氏名】タイエブ,ヨアフ
【審査官】西堀 宏之
(56)【参考文献】
【文献】特開2012-116366(JP,A)
【文献】特開2014-078148(JP,A)
【文献】特開2013-257288(JP,A)
【文献】特開2011-107088(JP,A)
【文献】特開2009-116692(JP,A)
【文献】特表2016-504232(JP,A)
【文献】国際公開第2017/145314(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00-99/00
B60W 60/00
B60W 40/04
B60W 40/06
(57)【特許請求の範囲】
【請求項1】
ホスト車両用のナビゲーションシステムであって、
回路及びメモリを備える少なくとも1つの処理デバイスを備え、前記メモリは、前記回路により実行されると、前記少なくとも1つの処理デバイスに、
カメラにより取得される複数の画像を受信することであり、前記複数の画像は前記ホスト車両の環境を表す、前記受信することと、
前記複数の画像を分析して、前記ホスト車両の前記環境内にナビゲーション規則中断条件が存在することを識別することであり、前記ナビゲーション規則中断条件は
、1つ又は複数の他の車両による異常な挙動
であって、前記1つ又は複数の他の車両が前記ホスト車両の隣接レーン内に縫うように走る前記異常な挙動を含む、識別することと、
前記ナビゲーション規則中断条件の識別に応答して少なくとも1つのナビゲーション規則を一時的に中断することと、
一時的に中断された前記少なくとも1つのナビゲーション規則に制約されない、前記ホスト車両の少なくとも1つのナビゲーション変更を引き起こすことと、
を実行させる命令を含む、ナビゲーションシステム。
【請求項2】
前記少なくとも1つのナビゲーション変更は、前記ホスト車両のナビゲーションアクチュエータの調節により引き起こされる、請求項1に記載のナビゲーションシステム。
【請求項3】
前記ナビゲーションアクチュエータは、ステアリング機構、ブレーキ、又はアクセルのうちの少なくとも1つを含む、請求項2に記載のナビゲーションシステム。
【請求項4】
一時的に中断された前記少なくとも1つのナビゲーション規則は、通常の条件下では、路肩での走行を禁止する、請求項1から3のいずれか一項に記載のナビゲーションシステム。
【請求項5】
一時的に中断された前記少なくとも1つのナビゲーション規則は、通常の条件下では、必要な乗客数未満でハイオキュパンシービークルレーンを走行することを禁止する、請求項1から4のいずれか一項に記載のナビゲーションシステム。
【請求項6】
一時的に中断された前記少なくとも1つのナビゲーション規則は、通常の条件下で、環状交差点内の車両が前記環状交差点に入る車両を超える優先通行権を有することを確立する、請求項1から5のいずれか一項に記載のナビゲーションシステム。
【請求項7】
一時的に中断された前記少なくとも1つのナビゲーション規則は、通常の運転条件下で、ナビゲーション優先通行権を確立する、請求項1から6のいずれか一項に記載のナビゲーションシステム。
【請求項8】
一時的に中断された前記少なくとも1つのナビゲーション規則は、通常の運転条件下で、選択された領域内でのナビゲーションを禁止する、請求項1から7のいずれか一項に記載のナビゲーションシステム。
【請求項9】
前記少なくとも1つのナビゲーション変更を引き起こすことは、前記ホスト車両が路肩に入ることをもたらす、請求項1から8のいずれか一項に記載のナビゲーションシステム。
【請求項10】
前記少なくとも1つのナビゲーション変更を引き起こすことは、前記ホスト車両がハイオキュパンシービークルレーンに入ることをもたらす、請求項1から9のいずれか一項に記載のナビゲーションシステム。
【請求項11】
前記少なくとも1つのナビゲーション変更を引き起こすことは、前記ホスト車両が優先通行権なしで環状交差点に入ることをもたらす、請求項1から10のいずれか一項に記載のナビゲーションシステム。
【請求項12】
前記少なくとも1つのナビゲーション変更を引き起こすことは、前記ホスト車両が優先通行権なしで別の走行レーンに入ることをもたらす、請求項1から11のいずれか一項に記載のナビゲーションシステム。
【請求項13】
前記ナビゲーション規則中断条件は、前記
ホスト車両の前方の道路内の障害物の高さを含み、前記ナビゲーション規則を中断することは、前記高さが閾値を超えることに基づく、請求項1から12のいずれか一項に記載のナビゲーションシステム。
【請求項14】
前記ナビゲーション規則中断条件は、目標車両が前記ホスト車両のレーンに進入することを含む、請求項1から13のいずれか一項に記載のナビゲーションシステム。
【請求項15】
一時的に中断される前記少なくとも1つのナビゲーション規則は、一時的な規則と置換される、請求項1から14のいずれか一項に記載のナビゲーションシステム。
【請求項16】
前記一時的な規則は、中断された前記規則より緩和される、請求項15に記載のナビゲーションシステム。
【請求項17】
前記ナビゲーション規則中断条件が前記少なくとも1つのナビゲーション規則の中断に値するかどうかを1つ又は複数の要因に基づいて決定することを実行させる命令をさらに含み、前記1つ又は複数の要因は、前記ホスト車両の乗客の安全性、前記ホスト車両の近くにいる人の安全性、目標車両又は別の物体との衝突の差し迫った危険、及びホスト車両の損失の可能性のうちの少なくとも1つを含む、請求項1から16のいずれか一項に記載のナビゲーションシステム。
【請求項18】
前記1つ又は複数の要因は複数の要因を含み、前記複数の要因の加重値又は重要度に関連する累積スコアを検討することで、前記少なくとも1つのナビゲーション規則の中断に値するかどうかが決定される、請求項17に記載のナビゲーションシステム。
【請求項19】
ホスト車両用のナビゲーションの方法であって、少なくとも1つの処理デバイスにより実行される段階であり、
カメラにより取得される複数の画像を受信する段階であり、前記複数の画像は前記ホスト車両の環境を表す、段階と、
前記複数の画像を分析して、前記ホスト車両の前記環境内にナビゲーション規則中断条件が存在することを識別する段階であり、前記ナビゲーション規則中断条件は
、1つ又は複数の他の車両による異常な挙動
であって、前記1つ又は複数の他の車両が前記ホスト車両の隣接レーン内に縫うように走る前記異常な挙動を含む、段階と、
前記ナビゲーション規則中断条件の識別に応答して少なくとも1つのナビゲーション規則を一時的に中断する段階と、
一時的に中断された前記少なくとも1つのナビゲーション規則に制約されない、前記ホスト車両の少なくとも1つのナビゲーション変更を引き起こす段階と、
を備える方法。
【請求項20】
少なくとも1つの処理デバイスにより実行されると、前記少なくとも1つの処理デバイスにホスト車両をナビゲートするための方法を実行させるプログラムであり、前記方法は、
カメラにより取得される複数の画像を受信する段階であり、前記複数の画像は前記ホスト車両の環境を表す、段階と、
前記複数の画像を分析して、前記ホスト車両の前記環境内にナビゲーション規則中断条件が存在することを識別する段階であり、前記ナビゲーション規則中断条件は
、1つ又は複数の他の車両による異常な挙動
であって、前記1つ又は複数の他の車両が前記ホスト車両の隣接レーン内に縫うように走る前記異常な挙動を含む、段階と、
前記ナビゲーション規則中断条件の識別に応答して少なくとも1つのナビゲーション規則を一時的に中断する段階と、
一時的に中断された前記少なくとも1つのナビゲーション規則に制約されない、前記ホスト車両の少なくとも1つのナビゲーション変更を引き起こす段階と、
を備える、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[001] 本願は、2018年1月11日に出願されたPCT/US2018/013391の継続である2019年7月10日に出願された継続出願16/507,971であり、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] 技術が進化し続けるにつれ、路上でナビゲート可能な完全自律車両という目標が現実味を帯びてきている。自律車両は、様々な要因を考慮する必要があり得、それらの要因に基づいて、意図される目的地に安全且つ正確に到達するのに適切な判断を下し得る。例えば、自律車両は、視覚的情報(例えば、カメラから捕捉される情報)、レーダ、又はライダからの情報を処理して解釈する必要があり得ると共に、他のソース(例えば、GPSデバイス、速度センサ、加速度計、サスペンションセンサ等)から得られる情報を使用することもある。同時に、目的地にナビゲートするために、自律車両は、特定の道路(例えば、複数レーン道路内の特定のレーン)内の自らの位置を識別し、他の車両と並んでナビゲートし、障害物及び歩行者を回避し、交通信号及び標識を観測し、適切な交差点又はインターチェンジで、ある道路から別の道路に進み、車両の動作中に起こるか又は発展する他の任意の状況に応答する必要もあり得る。
【発明の概要】
【課題を解決するための手段】
【0004】
概要
[004] 本開示による実施形態は、自律車両ナビゲーションのシステム及び方法を提供する。開示される実施形態は、カメラを使用して、自律車両ナビゲーション機能を提供し得る。例えば、本開示の実施形態によれば、開示されるシステムは、車両の環境を監視する1つ、2つ、又は3つ以上のカメラを含み得る。開示されるシステムは、例えば、カメラの1つ又は複数により捕捉された画像の分析に基づいて、ナビゲーション応答を提供し得る。ナビゲーション応答は、例えば、全地球測位(GPS)データ、センサデータ(例えば、加速度計、速度センサ、サスペンションセンサ、レーダ、ライダ等から)、及び/又は他の地図データを含む他のデータを考慮することもできる。
【0005】
[005] 一実施形態では、ホスト車両のためのナビゲーションシステムは、少なくとも1つの処理デバイスを含み得る。処理デバイスは、ホスト車両の環境を表す複数の画像をカメラから受信するようにプログラムされ得る。処理デバイスは、複数の画像を分析してホスト車両の少なくとも1つのナビゲーション状態を識別するようにもプログラムされ得る。処理デバイスは、ホスト車両の位置の少なくとも1つのインジケータに基づいて、ホスト車両が移動している管轄区域を識別するようにもプログラムされ得、少なくとも1つのインジケータは、複数の画像の分析に少なくとも部分的に基づく。処理デバイスは、識別された管轄区域に固有の少なくとも1つのナビゲーション規則を決定するようにもプログラムされ得る。処理デバイスは、ホスト車両の識別されたナビゲーション状態に基づいて、及び識別された管轄区域に固有の決定された少なくとも1つのナビゲーション規則に基づいて、ホスト車両のナビゲーション変更を引き起こすようにもプログラムされ得る。
【0006】
[006] 一実施形態では、ホスト車両のためのナビゲーションの方法は、ホスト車両の環境を表す複数の画像をカメラから受信することを含み得る。この方法は、複数の画像を分析してホスト車両の少なくとも1つのナビゲーション状態を識別することを更に含み得る。この方法は、ホスト車両の位置の少なくとも1つのインジケータに基づいて、ホスト車両が移動している管轄区域を識別することであって、少なくとも1つのインジケータは、複数の画像の分析に少なくとも部分的に基づく、識別することを更に含み得る。この方法は、識別された管轄区域に固有の少なくとも1つのナビゲーション規則を決定することを更に含み得る。この方法は、ホスト車両の識別されたナビゲーション状態に基づいて、及び識別された管轄区域に固有の決定された少なくとも1つのナビゲーション規則に基づいて、ホスト車両のナビゲーション変更を引き起こすことを更に含み得る。
【0007】
[007] 一実施形態では、ホスト車両のためのナビゲーションシステムは、自律車両を含むことができ、その車両は、本体と、車両の環境を表す少なくとも1つの画像を取得するように構成される少なくとも1つの画像捕捉デバイスと、少なくとも1つのプロセッサとを含む。プロセッサは、ホスト車両の環境を表す複数の画像をカメラから受信するようにプログラムされ得る。プロセッサは、複数の画像を分析してホスト車両の少なくとも1つのナビゲーション状態を識別するようにもプログラムされ得る。プロセッサは、ホスト車両の位置の少なくとも1つのインジケータに基づいて、ホスト車両が移動している管轄区域を識別するようにもプログラムされ得、少なくとも1つのインジケータは、複数の画像の分析に少なくとも部分的に基づく。プロセッサは、識別された管轄区域に固有の少なくとも1つのナビゲーション規則を決定するようにもプログラムされ得る。プロセッサは、ホスト車両の識別されたナビゲーション状態に基づいて、及び識別された管轄区域に固有の決定された少なくとも1つのナビゲーション規則に基づいて、ホスト車両のナビゲーション変更を引き起こすようにもプログラムされ得る。
【0008】
[008] 一実施形態では、ホスト車両のためのナビゲーションシステムは、少なくとも1つの処理デバイスを含み得る。少なくとも1つの処理デバイスは、ホスト車両の環境を表す複数の画像をカメラから受信するようにもプログラムされ得る。少なくとも1つの処理デバイスは、複数の画像を分析してホスト車両の環境内の少なくとも1つの目標車両を識別するようにもプログラムされ得る。少なくとも1つの処理デバイスは、複数の画像を分析して、ホスト車両に対する目標車両の少なくとも1つの敵対的な特性を識別するようにもプログラムされ得る。少なくとも1つの処理デバイスは、目標車両の少なくとも1つの特性を識別した後、目標車両の追い越しを開始するために、ホスト車両の少なくとも1つのナビゲーション変更を引き起こすようにもプログラムされ得る。
【0009】
[009] 一実施形態では、ホスト車両のためのナビゲーションの方法は、ホスト車両の環境を表す複数の画像をカメラから受信することを含み得る。この方法は、複数の画像を分析してホスト車両の環境内の少なくとも1つの目標車両を識別することも含み得る。この方法は、複数の画像を分析して目標車両の少なくとも1つの特性を識別することも含み得る。この方法は、目標車両の少なくとも1つの特性を識別した後、目標車両の追い越しを開始するために、ホスト車両の少なくとも1つのナビゲーション変更を引き起こすことも含み得る。
【0010】
[010] 一実施形態では、ホスト車両のためのナビゲーションシステムは、自律車両を含むことができ、その車両は、本体と、車両の環境を表す少なくとも1つの画像を取得するように構成される少なくとも1つの画像捕捉デバイスと、少なくとも1つのプロセッサとを含む。プロセッサは、ホスト車両の環境を表す複数の画像をカメラから受信するようにプログラムされ得る。プロセッサは、複数の画像を分析してホスト車両の環境内の少なくとも1つの目標車両を識別するようにもプログラムされ得る。プロセッサは、複数の画像を分析して目標車両の少なくとも1つの特性を識別するようにもプログラムされ得る。プロセッサは、目標車両の少なくとも1つの特性を識別した後、目標車両の追い越しを開始するために、ホスト車両の少なくとも1つのナビゲーション変更を引き起こすようにもプログラムされ得る。
【0011】
[011] 一実施形態では、ホスト車両のためのナビゲーションシステムは、ホスト車両の環境を表す複数の画像をカメラから受信するようにプログラムされる少なくとも1つの処理デバイスを含み得る。少なくとも1つの処理デバイスは、複数の画像を分析してホスト車両の環境内の少なくとも1つの目標車両を識別するようにもプログラムされ得る。少なくとも1つの処理デバイスは、複数の画像の分析に少なくとも部分的に基づいて、目標車両とホスト車両とがナビゲーション上の引き分けの状況をもたらす同様のナビゲーション優先事項(navigational priority)を有すると決定するようにもプログラムされ得る。少なくとも1つの処理デバイスは、ホスト車両又は目標車両に対するナビゲーション優先事項を確立するために、ホスト車両による少なくとも1つの動作を引き起こすようにもプログラムされ得る。少なくとも1つの処理デバイスは、確立されたナビゲーション優先事項に従ってホスト車両の少なくとも1つのナビゲーションアクチュエータの制御を引き起こすようにもプログラムされ得る。
【0012】
[012] 一実施形態では、ホスト車両のためのナビゲーションの方法は、ホスト車両の環境を表す複数の画像をカメラから受信することを含み得る。この方法は、複数の画像を分析してホスト車両の環境内の少なくとも1つの目標車両を識別することも含み得る。この方法は、複数の画像の分析に少なくとも部分的に基づいて、目標車両とホスト車両とがナビゲーション上の引き分けの状況をもたらす同様のナビゲーション優先事項を有すると決定することも含み得る。この方法は、ホスト車両又は目標車両に対するナビゲーション優先事項を確立するために、ホスト車両による少なくとも1つの動作を引き起こすことも含み得る。この方法は、確立されたナビゲーション優先事項に従ってホスト車両の少なくとも1つのナビゲーションアクチュエータの制御を引き起こすことも含み得る。
【0013】
[013] 一実施形態では、ホスト車両のためのナビゲーションシステムは、自律車両を含むことができ、その車両は、本体と、車両の環境を表す少なくとも1つの画像を取得するように構成される少なくとも1つの画像捕捉デバイスと、ホスト車両の環境を表す複数の画像をカメラから受信するようにプログラムされる少なくとも1つのプロセッサとを含む。少なくとも1つのプロセッサは、複数の画像を分析してホスト車両の環境内の少なくとも1つの目標車両を識別するようにもプログラムされ得る。少なくとも1つのプロセッサは、複数の画像の分析に少なくとも部分的に基づいて、目標車両とホスト車両とがナビゲーション上の引き分けの状況をもたらす同様のナビゲーション優先事項を有すると決定するようにもプログラムされ得る。少なくとも1つのプロセッサは、ホスト車両又は目標車両に対するナビゲーション優先事項を確立するために、ホスト車両による少なくとも1つの動作を引き起こすようにもプログラムされ得る。少なくとも1つのプロセッサは、確立されたナビゲーション優先事項に従ってホスト車両の少なくとも1つのナビゲーションアクチュエータの制御を引き起こすようにもプログラムされ得る。
【0014】
[014] 一実施形態では、ホスト車両のためのナビゲーションシステムは、ホスト車両の環境を表す複数の画像をカメラから受信するようにプログラムされる少なくとも1つの処理デバイスを含み得る。少なくとも1つの処理デバイスは、複数の画像を分析して、ホスト車両の環境内におけるナビゲーション規則中断条件の存在を識別するようにもプログラムされ得る。少なくとも1つの処理デバイスは、ナビゲーション規則中断条件の識別に応じて、少なくとも1つのナビゲーション規則を一時的に中断するようにもプログラムされ得る。少なくとも1つの処理デバイスは、一時的に中断された少なくとも1つのナビゲーション規則によって制約されない、ホスト車両の少なくとも1つのナビゲーション変更を引き起こすようにもプログラムされ得る。
【0015】
[015] 一実施形態では、ホスト車両のためのナビゲーションの方法は、ホスト車両の環境を表す複数の画像をカメラから受信することを含み得る。この方法は、複数の画像を分析して、ホスト車両の環境内におけるナビゲーション規則中断条件の存在を識別することも含み得る。この方法は、ナビゲーション規則中断条件の識別に応じて、少なくとも1つのナビゲーション規則を一時的に中断することも含み得る。この方法は、一時的に中断された少なくとも1つのナビゲーション規則によって制約されない、ホスト車両の少なくとも1つのナビゲーション変更を引き起こすことも含み得る。
【0016】
[016] 一実施形態では、ホスト車両のためのナビゲーションシステムは、自律車両を含むことができ、その車両は、本体と、車両の環境を表す少なくとも1つの画像を取得するように構成される少なくとも1つの画像捕捉デバイスと、ホスト車両の環境を表す複数の画像をカメラから受信するようにプログラムされる少なくとも1つのプロセッサとを含む。少なくとも1つのプロセッサは、複数の画像を分析して、ホスト車両の環境内におけるナビゲーション規則中断条件の存在を識別するようにもプログラムされ得る。少なくとも1つのプロセッサは、ナビゲーション規則中断条件の識別に応じて、少なくとも1つのナビゲーション規則を一時的に中断するようにもプログラムされ得る。少なくとも1つのプロセッサは、一時的に中断された少なくとも1つのナビゲーション規則によって制約されない、ホスト車両の少なくとも1つのナビゲーション変更を引き起こすようにもプログラムされ得る。
【0017】
[017] 開示される他の実施形態によれば、非一時的コンピュータ可読記憶媒体は、少なくとも1つの処理デバイスにより実行され且つ本明細書に記載される任意の方法を実行するプログラム命令を記憶し得る。
【0018】
[018] 上述した概説及び以下に詳述する説明は、単に例示的及び説明的なものであり、特許請求の範囲の限定ではない。
【0019】
図面の簡単な説明
[019] 本開示に組み込まれ、本明細書の一部をなす添付図面は、開示される様々な実施形態を示す。
【図面の簡単な説明】
【0020】
【
図1】[020]開示される実施形態による例示的なシステムの図表現である。
【
図2A】[021]開示される実施形態によるシステムを含む例示的な車両の側面図表現である。
【
図2B】[022]開示される実施形態による
図2Aに示される車両及びシステムの上面図表現である。
【
図2C】[023]開示される実施形態によるシステムを含む車両の別の実施形態の上面図表現である。
【
図2D】[024]開示される実施形態によるシステムを含む車両の更に別の実施形態の上面図表現である。
【
図2E】[025]開示される実施形態によるシステムを含む車両の更に別の実施形態の上面図表現である。
【
図2F】[026]開示される実施形態による例示的な車両制御システムの図表現である。
【
図3A】[027]バックミラーと、開示される実施形態による車両撮像システムのユーザインタフェースとを含む車両の内部の図表現である。
【
図3B】[028]開示される実施形態による、バックミラーの背後に、車両フロントガラスと対向して位置決めされるように構成されるカメラマウントの例の図である。
【
図3C】[029]開示される実施形態による、異なる視点からの
図3Bに示されるカメラマウントの図である。
【
図3D】[030]開示される実施形態による、バックミラーの背後に、車両フロントガラスと対向して位置決めされるように構成されるカメラマウントの例の図である。
【
図4】[031]開示される実施形態による1つ又は複数の動作を実行する命令を記憶するように構成されるメモリの例示的なブロック図である。
【
図5A】[032]開示される実施形態による、単眼画像分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセスを示すフローチャートである。
【
図5B】[033]開示される実施形態による、画像の組内の1つ又は複数の車両及び/又は歩行者を検出する例示的なプロセスを示すフローチャートである。
【
図5C】[034]開示される実施形態による、画像の組内の道路マーク及び/又はレーンジオメトリ情報を検出する例示的なプロセスを示すフローチャートである。
【
図5D】[035]開示される実施形態による、画像の組内の信号機を検出する例示的なプロセスを示すフローチャートである。
【
図5E】[036]開示される実施形態による、車両経路に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセスのフローチャートである。
【
図5F】[037]開示される実施形態による、先行車両がレーンを変更中であるか否かを特定する例示的なプロセスを示すフローチャートである。
【
図6】[038]開示される実施形態による、立体画像分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセスを示すフローチャートである。
【
図7】[039]開示される実施形態による、3組の画像の分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセスを示すフローチャートである。
【
図8】[040]開示される実施形態による、自律車両のためのナビゲーションシステムの1つ又は複数の具体的にプログラムされた処理デバイスによって実装され得るモジュールのブロック図表現である。
【
図9】[041]開示される実施形態による、ナビゲーションの選択肢のグラフである。
【
図10】[042]開示される実施形態による、ナビゲーションの選択肢のグラフである。
【
図11A】[043]開示される実施形態による、合流区域内のホスト車両のナビゲーションの選択肢の概略図を示す。
【
図11B】[043]開示される実施形態による、合流区域内のホスト車両のナビゲーションの選択肢の概略図を示す。
【
図11C】[043]開示される実施形態による、合流区域内のホスト車両のナビゲーションの選択肢の概略図を示す。
【
図11D】[044]二重合流シナリオの図表現を示す。
【
図11E】[045]二重合流シナリオにおいて潜在的に有用な選択肢のグラフを示す。
【
図12】[046]開示される実施形態による、潜在的なナビゲーション制約と共にホスト車両の環境について捕捉した代表的な画像の図を示す。
【
図13】[047]開示される実施形態による、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図14】[048]開示される実施形態による、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図15】[049]開示される実施形態による、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図16】[050]開示される実施形態による、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図17A】[051]開示される実施形態による、環状交差路内にナビゲートするホスト車両の図を示す。
【
図17B】[051]開示される実施形態による、環状交差路内にナビゲートするホスト車両の図を示す。
【
図18】[052]開示される実施形態による、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図19】[053]開示される実施形態による、1つ又は複数の操作を実行するための命令を記憶するように構成されるメモリの例示的ブロック図である。
【
図20】[054]開示される実施形態による、ホスト車両の代表的な環境の図を示す。
【
図21】[055]開示される実施形態による、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図22】[056]開示される実施形態による、1つ又は複数の操作を実行するための命令を記憶するように構成されるメモリの例示的ブロック図である。
【
図23】[057]開示される実施形態による、ホスト車両の代表的な環境の図を示す。
【
図24】[058]開示される実施形態による、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図25】[059]開示される実施形態による、1つ又は複数の操作を実行するための命令を記憶するように構成されるメモリの例示的ブロック図である。
【
図26A】[060]開示される実施形態による、ホスト車両の代表的な環境の図を示す。
【
図26B】[060]開示される実施形態による、ホスト車両の代表的な環境の図を示す。
【
図27】[061]開示される実施形態による、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【
図28】[062]開示される実施形態による、1つ又は複数の操作を実行するための命令を記憶するように構成されるメモリの例示的ブロック図である。
【
図29】[063]開示される実施形態による、ホスト車両の代表的な環境の図を示す。
【
図30】[064]開示される実施形態による、ホスト車両の代表的な環境の図を示す。
【
図31】[065]開示される実施形態による、車両をナビゲートするためのアルゴリズムのフローチャートを示す。
【発明を実施するための形態】
【0021】
詳細な説明
[066] 以下の詳細な説明は、添付図面を参照する。可能な場合には常に、図面及び以下の説明において、同じ又は同様の部分を指すのに同じ参照番号が使用される。幾つかの例示的な実施形態は本明細書で説明されるが、変更形態、適応形態、及び他の実装形態が可能である。例えば、図面に示される構成要素に対する置換形態、追加形態、又は変更形態がなされ得、本明細書に記載される例示的な方法は、開示される方法のステップの置換、順序替え、削除、又は追加により変更することができる。従って、以下の詳細な説明は、開示される実施形態及び例に限定されない。その代わり、適切な範囲は、添付の特許請求の範囲により規定される。
【0022】
[067] 自律車両の概要
[068] 本開示の全体を通して使用するとき、「自律車両」という用語は、ドライバーの入力なしで少なくとも1つのナビゲーション変更を実施することができる車両を指す。「ナビゲーション変更」は、車両の操舵、ブレーキ、又は加速/減速の1つ又は複数の変更を指す。自律的であるために、車両は、完全に自動である(例えば、ドライバー又はドライバー入力なしに完全に動作可能である)必要はない。むしろ、自律車両は、特定の時間期間中にドライバーの制御下で動作し、他の時間期間中にドライバーの制御なしで動作することができる車両を含む。自律車両は、(例えば、車両レーン制約間に車両コースを維持するために)操舵等の車両ナビゲーションの幾つかの側面のみを制御するか、又は(あらゆる状況下ではなく)一定の状況下で幾つかの操舵動作を制御するが、他の側面(例えば、ブレーキ又は一定の状況下でのブレーキ)をドライバーに任せ得る車両を含むこともできる。幾つかの場合、自律車両は、車両のブレーキ、速度制御及び/又は操舵の幾つかの又は全ての側面を扱い得る。
【0023】
[069] 人間のドライバーは、通常、車両を制御するために視覚的手掛かり及び観測に依存することから、交通基盤は、それに従って構築されており、レーンマーク、交通標識、及び信号機は、視覚的情報をドライバーに提供するように設計されている。交通基盤のこれらの設計特徴に鑑みて、自律車両は、カメラと、車両の環境から捕捉される視覚的情報を分析する処理ユニットとを含み得る。視覚的情報は、例えば、ドライバーにより観測可能な交通基盤の構成要素(例えば、レーンマーク、交通標識、信号機等)及び他の障害物(例えば、他の車両、歩行者、瓦礫等)を表す画像を含み得る。更に、自動車両は、ナビゲート時、車両の環境のモデルを提供する情報等の記憶された情報を使用することもできる。例えば、車両は、GPSデータ、センサデータ(例えば、加速度計、速度センサ、サスペンションセンサ等からの)、及び/又は他の地図データを使用して、車両が走行している間、車両の環境に関連する情報を提供し得、車両(及び他の車両)は情報を使用して、モデルでのそれ自体の位置を特定し得る。一部の車両は、車両間の通信、情報の共有、車両の周囲の危険又は変化のピア車両の変更等も可能であり得る。
【0024】
[070] システム概要
[071]
図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に伝送するための1つ又は複数の任意の有線リンク及び/又は無線リンクを含み得る。
【0025】
[072] 無線送受信機172は、無線周波数、赤外線周波数、磁場、又は電場の使用により無線インタフェースを介して伝送を1つ又は複数のネットワーク(例えば、セルラやインターネット等)と交換するように構成される1つ又は複数のデバイスを含み得る。無線送受信機172は、任意の既知の標準を使用してデータを送信及び/又は受信し得る(例えば、Wi-Fi(登録商標)、Bluetooth(登録商標)、Bluetooth Smart、802.15.4、ZigBee(登録商標)等)。かかる伝送は、ホスト車両から1つ又は複数の遠隔設置されたサーバへの通信を含み得る。かかる伝送は、(例えば、ホスト車両の環境内の目標車両を考慮して又はかかる目標車両と共にホスト車両のナビゲーションの調整を促進するための)ホスト車両とホスト車両の環境内の1つ又は複数の目標車両との間の(単方向又は双方向)通信、更には伝送側の車両の付近にある未指定の受け手へのブロードキャスト伝送も含み得る。
【0026】
[073] アプリケーションプロセッサ180及び画像プロセッサ190の両方は、様々なタイプのハードウェアベースの処理デバイスを含み得る。例えば、アプリケーションプロセッサ180及び画像プロセッサ190のいずれか一方又は両方は、マイクロプロセッサ、プリプロセッサ(画像プリプロセッサ等)、グラフィックスプロセッサ、中央演算処理装置(CPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ、又はアプリケーションを実行し、画像を処理して分析するのに適する任意の他のタイプのデバイスを含み得る。幾つかの実施形態では、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、任意のタイプのシングルコア又はマルチコアプロセッサ、モバイルデバイスマイクロコントローラ、中央演算処理装置等を含み得る。例えば、Intel(登録商標)、AMD(登録商標)等の製造業者から入手可能なプロセッサを含め、様々な処理デバイスが使用可能であり、様々なアーキテクチャ(例えば、x86プロセッサ、ARM(登録商標)等)を含み得る。
【0027】
[074] 幾つかの実施形態では、アプリケーションプロセッサ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は、多機能バンドルアプリケーションにより要求される集中的なビジョン計算を実行することができる。別の例では、開示される実施形態において、第三世代プロセッサであり、EyeQ2(登録商標)よりも6倍強力なEyeQ3(登録商標)を使用し得る。他の例では、EyeQ4(登録商標)及び/又はEyeQ5(登録商標)を開示する実施形態で使用することができる。当然ながら、それよりも新しい又は将来のEyeQ処理デバイスは、開示する実施形態と共に使用され得る。
【0028】
[075] 本明細書で開示する処理デバイスのいずれも特定の機能を実行するように構成することができる。記載のEyeQプロセッサ又は他のコントローラ若しくはマイクロプロセッサのいずれか等の処理デバイスを、特定の機能を実行するように構成することは、コンピュータ実行可能命令をプログラムし、処理デバイスの動作中に実行するためにそれらの命令を処理デバイスに提供することを含み得る。幾つかの実施形態では、処理デバイスを構成することは、処理デバイスにアーキテクチャ的命令を直接プログラムすることを含み得る。他の実施形態では、処理デバイスを構成することは、動作中に処理デバイスがアクセス可能なメモリ上に実行可能命令を記憶することを含み得る。例えば、処理デバイスは、動作中にメモリにアクセスして、記憶された命令を取得及び実行し得る。いずれにせよ、本明細書で開示する検知、画像分析、及び/又はナビゲーション機能を実行するように構成される処理デバイスは、ホスト車両の複数のハードウェアベースの構成要素を制御する専用のハードウェアベースのシステムを表す。
【0029】
[076]
図1は、処理ユニット110に含まれる2つの別個の処理デバイスを示すが、より多数又はより少数の処理デバイスを使用することもできる。例えば、幾つかの実施形態では、単一の処理デバイスを使用して、アプリケーションプロセッサ180及び画像プロセッサ190のタスクを達成し得る。他の実施形態では、これらのタスクは、3つ以上の処理デバイスにより実行し得る。更に、幾つかの実施形態では、システム100は、画像取得ユニット120等の他の構成要素を含まず、処理ユニット110の1つ又は複数を含み得る。
【0030】
[077] 処理ユニット110は、様々なタイプのデバイスを含み得る。例えば、処理ユニット110は、コントローラ、画像プリプロセッサ、中央演算処理装置(CPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ、又は画像を処理し分析する任意の他のタイプのデバイス等の様々なデバイスを含み得る。画像プリプロセッサは、画像センサから画像を捕捉し、デジタル化し、処理するビデオプロセッサを含み得る。CPUは、任意の数のマイクロコントローラ又はマイクロプロセッサを含み得る。サポート回路は、キャッシュ、電源、クロック、及び入出力回路を含め、当技術分野で一般に周知の任意の数の回路であり得る。メモリは、プロセッサにより実行されると、システムの動作を制御するソフトウェアを記憶し得る。メモリは、データベース及び画像処理ソフトウェアを含み得る。メモリは、任意の数のランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ、ディスクドライブ、光学記憶装置、テープ記憶装置、リムーバブル記憶装置、及び他のタイプの記憶装置を含み得る。一例では、メモリは、処理ユニット110とは別個であり得る。別の例では、メモリは、処理ユニット110に統合し得る。
【0031】
[078] 各メモリ140、150は、プロセッサ(例えば、アプリケーションプロセッサ180及び/又は画像プロセッサ190)によって実行されるとき、システム100の様々な態様の動作を制御し得るソフトウェア命令を含み得る。これらのメモリユニットは、様々なデータベース及び画像処理ソフトウェア、並びに例えばニューラルネットワーク又はディープニューラルネットワーク等のトレーニング済みシステムを含み得る。メモリユニットは、ランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ、ディスクドライブ、光学記憶装置、テープ記憶装置、リムーバブル記憶装置、及び/又は他の任意の種類の記憶装置を含み得る。幾つかの実施形態では、メモリユニット140、150は、アプリケーションプロセッサ180及び/又は画像プロセッサ190とは別個であり得る。他の実施形態では、これらのメモリユニットは、アプリケーションプロセッサ180及び/又は画像プロセッサ190に統合され得る。
【0032】
[079] 位置センサ130は、システム100の少なくとも1つの構成要素に関連付けられた位置を特定するのに適する任意のタイプのデバイスを含み得る。幾つかの実施形態では、位置センサ130はGPS受信機を含み得る。そのような受信機は、全地球測位システム衛星によりブロードキャストされる信号を処理することにより、ユーザの位置及び速度を特定することができる。位置センサ130からの位置情報は、アプリケーションプロセッサ180及び/又は画像プロセッサ190に提供し得る。
【0033】
[080] 幾つかの実施形態では、システム100は、車両200の速度を測定するための速度センサ(例えば、速度計)等の構成要素を含み得る。システム100は、1つ又は複数の軸に沿って車両200の加速度を測定するための1つ又は複数の(単軸又は多軸の)加速度計も含み得る。
【0034】
[081] メモリユニット140、150は、既知の陸標の位置を示すデータベース又は他の任意の形式で編成されるデータを含み得る。環境のセンサ情報(画像、レーダ信号、2つ以上の画像をライダ又は立体処理することによる深度情報等)をGPS座標や車両の自己運動等の位置情報と一緒に処理して、既知の陸標に対する車両の現在位置を求め、車両の位置を精緻化することができる。この技術の特定の側面は、本願の譲受人によって販売されているREM(商標)として知られる位置特定技術に含まれる。
【0035】
[082] ユーザインタフェース170は、情報を提供するか、又はシステム100の1人若しくは複数のユーザから入力を受信するのに適する任意のデバイスを含み得る。幾つかの実施形態では、ユーザインタフェース170は、例えば、タッチスクリーン、マイクロフォン、キーボード、ポインタデバイス、トラックホィール、カメラ、つまみ、ボタン等を含む、ユーザ入力デバイスを含み得る。そのような入力デバイスを用いて、ユーザは、命令若しくは情報をタイプし、音声コマンドを提供し、ボタン、ポインタ、若しくは目追跡機能を使用して、又は情報をシステム100に通信する任意の他の適する技法を通して画面上のメニュー選択肢を選択することにより、システム100に情報入力又はコマンドを提供可能であり得る。
【0036】
[083] ユーザインタフェース170は、ユーザに情報を提供するか、又はユーザから情報を受信し、例えば、アプリケーションプロセッサ180による使用のためにその情報を処理するように構成される1つ又は複数の処理デバイスを備え得る。幾つかの実施形態では、そのような処理デバイスは、目の動きを認識して追跡する命令、音声コマンドを受信して解釈する命令、タッチスクリーンで行われたタッチ及び/又はジェスチャを認識して解釈する命令、キーボード入力又はメニュー選択に応答する命令等を実行し得る。幾つかの実施形態では、ユーザインタフェース170は、ディスプレイ、スピーカ、触覚デバイス、及び/又は出力情報をユーザに提供する任意の他のデバイスを含み得る。
【0037】
[084] 地図データベース160は、システム100にとって有用な地図データを記憶する任意のタイプのデータベースを含み得る。幾つかの実施形態では、地図データベース160は、道路、水特徴、地理的特徴、ビジネス、関心点、レストラン、ガソリンスタンド等を含め、様々な項目の、基準座標系での位置に関連するデータを含み得る。地図データベース160は、そのような項目の位置のみならず、例えば、記憶された特徴のいずれかに関連付けられた名称を含め、それらの項目に関連する記述子も記憶し得る。幾つかの実施形態では、地図データベース160は、システム100の他の構成要素と共に物理的に配置し得る。代替又は追加として、地図データベース160又はその一部は、システム100の他の構成要素(例えば、処理ユニット110)に関してリモートに配置し得る。そのような実施形態では、地図データベース160からの情報は、有線又は無線データ接続を介してネットワークにダウンロードし得る(例えば、セルラネットワーク及び/又はインターネット等を介して)。幾つかの場合、地図データベース160は、特定の道路の特徴(例えば、レーンマーク)又はホスト車両の目標軌道の多項式表現を含む疎なデータモデルを記憶し得る。地図データベース160は、目標軌道に対するホスト車両の既知の位置を決定又は更新するために使用され得る様々な認識された陸標の記憶された表現も含み得る。陸標表現は、可能性のある識別子の中でも、陸標の種類や陸標の位置等のデータフィールドを特に含み得る。
【0038】
[085] 画像捕捉デバイス122、124、及び126は、それぞれ環境から少なくとも1つの画像を捕捉するのに適する任意のタイプのデバイスを含み得る。更に、任意の数の画像捕捉デバイスを使用して、画像プロセッサに入力する画像を取得し得る。幾つかの実施形態は、単一の画像捕捉デバイスのみを含み得、一方、他の実施形態は、2つ、3つ、更には4つ以上の画像捕捉デバイスを含み得る。画像捕捉デバイス122、124、及び126については、
図2B~
図2Eを参照して更に以下に説明する。
【0039】
[086] 1つ又は複数のカメラ(例えば、画像捕捉装置122、124、及び126)は、車両上に含まれる検知ブロックの一部であり得る。他の様々なセンサが検知ブロックに含まれ得、車両の検知されたナビゲーション状態を作成するためにセンサのいずれか又は全てを利用することができる。カメラ(前向き、横向き、後向き等)に加えて、レーダ、ライダ、音響センサ等の他のセンサが検知ブロックに含まれ得る。加えて、検知ブロックは、車両の環境に関係する情報を伝達し、送受信するように構成される1つ又は複数の構成要素を含み得る。例えば、かかる構成要素は、ホスト車両に対して遠隔設置されたソースからホスト車両の環境に関係するセンサベースの情報又は他の任意の種類の情報を受信し得る無線送受信機(RF等)を含み得る。かかる情報は、ホスト車両以外の車両システムから受信されるセンサ出力情報又は関連情報を含み得る。幾つかの実施形態では、かかる情報は、遠隔計算装置や集中サーバ等から受信される情報を含み得る。更に、カメラは、単一のカメラユニット、複数のカメラ、カメラクラスタ、長いFOV、短いFOV、広角、魚眼等の多くの異なる構成を取ることができる。
【0040】
[087] システム100又はシステム100の様々な構成要素は、様々な異なるプラットフォームに組み込み得る。幾つかの実施形態では、システム100は、
図2Aに示されるように、車両200に含め得る。例えば、車両200は、
図1に関して上述したように、処理ユニット110及びシステム100の任意の他の構成要素を備え得る。幾つかの実施形態では、車両200は単一の画像捕捉デバイス(例えば、カメラ)のみを備え得、一方、
図2B~
図2Eに関連して考察した実施形態等の他の実施形態では、複数の画像捕捉デバイスが使用可能である。例えば、
図2Aに示されるように、車両200の画像捕捉デバイス122及び124のいずれかは、ADAS(最新運転者支援システム)撮像セットの一部であり得る。
【0041】
[088] 画像取得ユニット120の一部として車両200に含まれる画像捕捉デバイスは、任意の適する位置に位置し得る。幾つかの実施形態では、
図2A~
図2E及び
図3A~
図3Cに示されるように、画像捕捉デバイス122は、バックミラーの近傍に配置し得る。この位置は、車両200のドライバーと同様の視線を提供し得、ドライバーにとって何が見え、何が見えないかの判断を支援し得る。画像捕捉デバイス122は、バックミラーの近傍の任意の位置に位置し得るが、画像捕捉デバイス122をミラーのドライバー側に配置することは、ドライバーの視野及び/又は視線を表す画像の取得を更に支援し得る。
【0042】
[089] 画像取得ユニット120の画像捕捉デバイスに他の位置を使用することもできる。例えば、画像捕捉デバイス124は、車両200のバンパー上又はバンパー内に配置し得る。そのような位置は、広視野を有する画像捕捉デバイスに特に適し得る。バンパーに配置される画像捕捉デバイスの視線は、ドライバーの視線と異なることができ、従って、バンパー画像捕捉デバイス及びドライバーは、同じ物体を常に見ているわけではない。画像捕捉デバイス(例えば、画像捕捉デバイス122、124、及び126)は、他の位置に配置することもできる。例えば、画像捕捉デバイスは、車両200のサイドミラーの一方又は両方、車両200のルーフ、車両200のフード、車両200のトランク、車両200の側部に配置し得、車両200の任意のウィンドウに搭載、背後に位置決め、又は前に位置決めし得、車両200の前部及び/又は後部のライト又はその近傍等に搭載し得る。
【0043】
[090] 画像捕捉デバイスに加えて、車両200は、システム100の様々な他の構成要素を含み得る。例えば、処理ユニット110は、車両のエンジン制御ユニット(ECU)に統合されるか、又はECUとは別個に車両200に含まれ得る。車両200には、GPS受信機等の位置センサ130を備えることもでき、車両200は、地図データベース160並びにメモリユニット140及び150を含むこともできる。
【0044】
[091] 上述したように、無線送受信機172は、1つ又は複数のネットワーク(例えば、セルラネットワーク、インターネット等)を介してデータを及び/又は受信し得る。例えば、無線送受信機172は、システム100により収集されたデータを1つ又は複数のサーバにアップロードし、データを1つ又は複数のサーバからダウンロードし得る。無線送受信機172を介して、システム100は、例えば、定期的に又は需要時に地図データベース160、メモリ140、及び/又はメモリ150に記憶されたデータへの更新を受信し得る。同様に、無線送受信機172は、システム100からの任意のデータ(例えば、画像取得ユニット120により捕捉された画像、位置センサ130、他のセンサ、又は車両制御システムにより受信されたデータ等)及び/又は処理ユニット110により処理された任意のデータを1つ又は複数のサーバにアップロードし得る。
【0045】
[092] システム100は、プライバシーレベル設定に基づいてデータをサーバ(例えば、クラウド)にアップロードし得る。例えば、システム100は、サーバに送信される、車両及び/又は車両のドライバー/所有者を一意に識別し得るタイプのデータ(メタデータを含む)を規制又は制限するプライバシーレベル設定を実施し得る。そのような設定は、例えば、無線送受信機172を介してユーザにより設定され得るか、工場デフォルト設定により初期化され得るか、又は無線送受信機172により受信されるデータにより設定され得る。
【0046】
[093] 幾つかの実施形態では、システム100は、「高」プライバシーレベルに従ってデータをアップロードし得、設定下において、システム100は、特定の車両及び/又はドライバー/所有者についてのいかなる詳細もないデータ(例えば、ルートに関連する位置情報、捕捉画像等)を送信し得る。例えば、「高」プライバシーレベルに従ってデータをアップロードする場合、システム100は、車両識別番号(VIN)又は車両のドライバー若しくは所有者の氏名を含まず、代わりに、捕捉画像及び/又はルートに関連する限られた位置情報等のデータを送信し得る。
【0047】
[094] 他のプライバシーレベルも意図される。例えば、システム100は、「中」プライバシーレベルに従ってデータをサーバに送信し得、車両及び/又は車両タイプのメーカー及び/又はモデル(例えば、乗用車、スポーツユーティリティ車、トラック等)等の「高」プライバシーレベル下では含まれない追加情報を含み得る。幾つかの実施形態では、システム100は、「低」プライバシーレベルに従ってデータをアップロードし得る。「低」プライバシーレベル設定下では、システム100は、特定の車両、所有者/ドライバー、及び/又は車両が走行したルートの一部又は全体を一意に識別するのに十分なデータをアップロードし、そのような情報を含み得る。そのような「低」プライバシーレベルデータは、例えば、VIN、ドライバー/所有者氏名、出発前の車両の出発点、車両の意図される目的地、車両のメーカー及び/又はモデル、車両のタイプ等の1つ又は複数を含み得る。
【0048】
[095]
図2Aは、開示される実施形態による例示的な車両撮像システムの側面図表現である。
図2Bは、
図2Aに示される実施形態の上面図表現である。
図2Bに示されるように、開示される実施形態は、バックミラーの近傍及び/又は車両200のドライバー近傍に位置決めされた第1の画像捕捉デバイス122と、車両200のバンパー領域(例えば、バンパー領域210の1つ)上又はバンパー領域内に位置決めされる第2の画像捕捉デバイス124と、処理ユニット110とを有するシステム100を本体内に含む車両200を示し得る。
【0049】
[096]
図2Cに示されるように、画像捕捉デバイス122及び124の両方は、車両200のバックミラーの近傍及び/又はドライバーの近傍に位置決めし得る。更に、2つの画像捕捉デバイス122及び124が
図2B及び
図2Cに示されているが、他の実施形態が3つ以上の画像捕捉デバイスを含み得ることを理解されたい。例えば、
図2D及び
図2Eに示される実施形態では、第1の画像捕捉デバイス122、第2の画像捕捉デバイス124、及び第3の画像捕捉デバイス126が車両200のシステム100に含まれる。
【0050】
[097]
図2Dに示されるように、画像捕捉デバイス122は、車両200のバックミラーの近傍及び/又はドライバーの近傍に位置決めし得、画像捕捉デバイス124及び126は、車両200のバンパー領域(例えば、バンパー領域210の1つ)上に位置決めし得る。また、
図2Eに示されるように、画像捕捉デバイス122、124、及び126は、車両200のバックミラーの近傍及び/又はドライバーシートの近傍に位置決めし得る。開示される実施形態は、いかなる特定の数及び構成の画像捕捉デバイスにも限定されず、画像捕捉デバイスは、車両200内及び/又は車両200上の任意の適する位置に位置決めし得る。
【0051】
[098] 開示される実施形態が車両に限定されず、他の状況でも適用可能なことを理解されたい。開示される実施形態が特定のタイプの車両200に限定されず、自動車、トラック、トレーラー、及び他のタイプの車両を含む全てのタイプの車両に適用可能であり得ることも理解されたい。
【0052】
[099] 第1の画像捕捉デバイス122は、任意の適するタイプの画像捕捉デバイスを含み得る。画像捕捉デバイス122は光軸を含み得る。一例では、画像捕捉デバイス122は、グローバルシャッタを有するAptina M9V024 WVGAセンサを含み得る。他の実施形態では、画像捕捉デバイス122は、1280×960ピクセルの解像度を提供し得、ローリングシャッタを含み得る。画像捕捉デバイス122は、様々な光学要素を含み得る。幾つかの実施形態では、1枚又は複数枚のレンズが含まれて、例えば、画像捕捉デバイスの所望の焦点距離及び視野を提供し得る。幾つかの実施形態では、画像捕捉デバイス122に6mmレンズ又は12mmレンズを関連付け得る。幾つかの実施形態では、画像捕捉デバイス122は、
図2Dに示されるように、所望の視野(FOV)202を有する画像を捕捉するように構成し得る。例えば、画像捕捉デバイス122は、46度FOV、50度FOV、52度FOV、又は52度FOVを超える度数を含め、40度~56度の範囲内等の通常のFOVを有するように構成し得る。代替的には、画像捕捉デバイス122は、28度FOV又は36度FOV等の23~40度の範囲の狭いFOVを有するように構成し得る。加えて、画像捕捉デバイス122は、100~180度の範囲の広いFOVを有するように構成し得る。幾つかの実施形態では、画像捕捉デバイス122は、広角バンパーカメラ又は最高で180度FOVを有するバンパーカメラを含み得る。幾つかの実施形態では、画像捕捉デバイス122は、約100度の水平FOVを有するアスペクト比約2:1(例えば、H×V=3800×1900ピクセル)の7.2Mピクセル画像捕捉デバイスであり得る。そのような画像捕捉デバイスは、三次元画像捕捉デバイス構成の代わりに使用し得る。大きいレンズ歪みに起因して、そのような画像捕捉デバイスの垂直FOVは、画像捕捉デバイスが半径方向に対称なレンズを使用する実装形態では、50度よりはるかに低くなり得る。例えば、そのようなレンズは、半径方向で対称ではなく、それにより、水平FOV100度で、50度よりも大きい垂直FOVが可能である。
【0053】
[0100] 第1の画像捕捉デバイス122は、車両200に関連付けられたシーンに対して複数の第1の画像を取得し得る。複数の第1の画像は、それぞれ一連の画像走査線として取得し得、これらはローリングシャッタを使用して捕捉し得る。各走査線は複数のピクセルを含み得る。
【0054】
[0101] 第1の画像捕捉デバイス122は、第1の一連の画像走査線のそれぞれの取得に関連付けられた走査レートを有し得る。走査レートは、画像センサが、特定の走査線に含まれる各ピクセルに関連付けられた画像データを取得することができるレートを指し得る。
【0055】
[0102] 画像捕捉デバイス122、124、及び126は、例えば、CCDセンサ又はCMOSセンサを含め、任意の適するタイプ及び数の画像センサを含み得る。一実施形態では、CMOS画像センサはローリングシャッタと共に利用し得、それにより、行内の各ピクセルは一度に1つずつ読み取られ、行の走査は、画像フレーム全体が捕捉されるまで行毎に進められる。幾つかの実施形態では、行は、フレームに対して上から下に順次捕捉し得る。
【0056】
[0103] 幾つかの実施形態では、本明細書に開示される画像捕捉デバイス(例えば、画像捕捉デバイス122、124、及び126)の1つ又は複数は、高解像度イメージャを構成し得、5Mピクセル超、7Mピクセル超、10Mピクセル超、又はそれを超える解像度を有し得る。
【0057】
[0104] ローリングシャッタの使用により、異なる行内のピクセルは異なるときに露出され捕捉されることになり得、それにより、スキュー及び他の画像アーチファクトが捕捉画像フレームで生じ得る。他方、画像捕捉デバイス122がグローバル又は同期シャッタを用いて動作するように構成される場合、全ピクセルは、同量の時間にわたり、共通の露出期間中に露出し得る。その結果、グローバルシャッタを利用するシステムから収集されるフレーム内の画像データは、特定のときのFOV全体(FOV202等)のスナップショットを表す。それとは逆に、ローリングシャッタを適用する場合、フレーム内の各行が露出され、データは異なる時間に捕捉される。従って、移動中の物体は、ローリングシャッタを有する画像捕捉デバイスでは歪んで見えることがある。この現象について以下により詳細に説明する。
【0058】
[0105] 第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度、又は20度未満のFOVを有し得る。
【0059】
[0106] 画像捕捉デバイス124及び126は、車両200に関連付けられたシーンに対して複数の第2及び第3の画像を取得し得る。複数の第2及び第3の画像のそれぞれは、第2及び第3の一連の画像走査線として取得し得、これらはローリングシャッタを使用して捕捉し得る。各走査線又は各行は、複数のピクセルを有し得る。画像捕捉デバイス124及び126は、第2及び第3の一連内に含まれる各画像走査線の取得に関連付けられた第2及び第3の走査レートを有し得る。
【0060】
[0107] 各画像捕捉デバイス122、124、及び126は、任意の適する位置に、車両200に対して任意の適する向きで位置決めし得る。画像捕捉デバイス122、124、及び126の相対位置は、画像捕捉デバイスから取得される情報を一緒に融合させることを支援するように選択し得る。例えば、幾つかの実施形態では、画像捕捉デバイス124に関連付けられたFOV(FOV204)は、画像捕捉デバイス122に関連付けられたFOV(FOV202等)及び画像捕捉デバイス126に関連付けられたFOV(FOV206等)と部分的又は完全に重複し得る。
【0061】
[0108] 画像捕捉デバイス122、124、及び126は、任意の適する相対高さで車両200に配置し得る。一例では、画像捕捉デバイス122、124、及び126間に高さ差があり得、高さ差は、立体分析を可能にするのに十分な視差情報を提供し得る。例えば、
図2Aに示されるように、2つの画像捕捉デバイス122及び124は異なる高さにある。画像捕捉デバイス122、124、及び126間には横方向変位差もあり得、例えば、処理ユニット110による立体分析に追加の視差情報を与える。横方向変位差は、
図2C及び
図2Dに示されるように、dxで示し得る。幾つかの実施形態では、前方又は後方変位(例えば、範囲変位)が、画像捕捉デバイス122、124、126間に存在し得る。例えば、画像捕捉デバイス122は、画像捕捉デバイス124及び/又は画像捕捉デバイス126の0.5~2メートル以上背後に配置し得る。このタイプの変位では、画像捕捉デバイスの1つが、他の画像捕捉デバイスの潜在的なブラインドスポットをカバー可能であり得る。
【0062】
[0109] 画像捕捉デバイス122は、任意の適する解像度能力(例えば、画像センサに関連付けられたピクセル数)を有し得、画像捕捉デバイス122に関連付けられた画像センサの解像度は、画像捕捉デバイス124及び126に関連付けられた画像センサの解像度よりも高いか、低いか、又は同じであり得る。幾つかの実施形態では、画像捕捉デバイス122及び/又は画像捕捉デバイス124及び126に関連付けられた画像センサは、解像度640×480、1024×768、1280×960、又は任意の他の適する解像度を有し得る。
【0063】
[0110] フレームレート(例えば、画像捕捉デバイスが、次の画像フレームに関連付けられたピクセルデータの捕捉に移る前、1つの画像フレームのピクセルデータの組を取得するレート)は、制御可能であり得る。画像捕捉デバイス122に関連付けられたフレームレートは、画像捕捉デバイス124及び126に関連付けられたフレームレートよりも高いか、低いか、又は同じであり得る。画像捕捉デバイス122、124、及び126に関連付けられたフレームレートは、フレームレートのタイミングに影響を及ぼし得る様々なファクタに依存し得る。例えば、画像捕捉デバイス122、124、及び126の1つ又は複数は、画像捕捉デバイス122、124、及び/又は126内の画像センサの1つ又は複数のピクセルに関連付けられた画像データの取得前又は取得後に課される選択可能なピクセル遅延期間を含み得る。一般に、各ピクセルに対応する画像データは、デバイスのクロックレート(例えば、1クロックサイクル当たり1ピクセル)に従って取得し得る。更に、ローリングシャッタを含む実施形態では、画像捕捉デバイス122、124、及び126の1つ又は複数は、画像捕捉デバイス122、124、及び/又は126内の画像センサのピクセル行に関連付けられた画像データの取得前又は取得後に課される選択可能な水平ブランク期間を含み得る。更に、画像捕捉デバイス122、124、及び/又は126の1つ又は複数は、画像捕捉デバイス122、124、及び126の画像フレームに関連付けられた画像データの取得前又は取得後に課される選択可能な垂直ブランク期間を含み得る。
【0064】
[0111] これらのタイミング制御により、各画像捕捉デバイスの線走査レートが異なる場合でも、画像捕捉デバイス122、124、及び126に関連付けられたフレームレートを同期させることができ得る。更に、以下に更に詳細に考察するように、ファクタ(例えば、画像センサ解像度、最高線走査レート等)の中でも特に、これらの選択可能なタイミング制御により、画像捕捉デバイス122の視野が画像捕捉デバイス124及び126のFOVと異なる場合でも、画像捕捉デバイス122のFOVが画像捕捉デバイス124及び126の1つ又は複数のFOVと重複するエリアからの画像捕捉を同期させることが可能になり得る。
【0065】
[0112] 画像捕捉デバイス122、124、及び126でのフレームレートタイミングは、関連付けられた画像センサの解像度に依存し得る。例えば、両デバイスの線走査レートが同様であると仮定し、一方のデバイスが解像度640×480を有する画像センサを含み、他方のデバイスが解像度1280×960を有する画像センサを含む場合、高い解像度を有するセンサからの画像データのフレーム取得ほど、長い時間が必要になる。
【0066】
[0113] 画像捕捉デバイス122、124、及び126での画像データ取得のタイミングに影響を及ぼし得る他のファクタは、最高線走査レートである。例えば、画像捕捉デバイス122、124、及び126に含まれる画像センサからの画像データ行の取得は、何らかの最小時間量を必要とする。ピクセル遅延期間が追加されないと仮定すると、画像データ行を取得するこの最小時間量は、特定のデバイスの最高線走査レートに関連することになる。高い最高線走査レートを提供するデバイスほど、より低い最高線走査レートを有するデバイスよりも高いフレームレートを提供する可能性を有する。幾つかの実施形態では、画像捕捉デバイス124及び126の一方又は両方は、画像捕捉デバイス122に関連付けられた最高線走査レートよりも高い最高線走査レートを有し得る。幾つかの実施形態では、画像捕捉デバイス124及び/又は126の最高線走査レートは、画像捕捉デバイス122の最高線走査レートの1.25倍、1.5倍、1.75倍、又は2倍以上であり得る。
【0067】
[0114] 別の実施形態では、画像捕捉デバイス122、124、及び126は、同じ最高線走査レートを有し得るが、画像捕捉デバイス122は、その最高走査レート以下の走査レートで動作し得る。システムは、画像捕捉デバイス124及び126の一方又は両方が画像捕捉デバイス122の線走査レートと等しい線走査レートで動作するように構成し得る。他の例では、システムは、画像捕捉デバイス124及び/又は126の線走査レートが、画像捕捉デバイス122の線走査レートの1.25倍、1.5倍、1.75倍、又は2倍以上であり得るように構成し得る。
【0068】
[0115] 幾つかの実施形態では、画像捕捉デバイス122、124、及び126は非対称であり得る。すなわち、これら画像捕捉デバイスは、異なる視野(FOV)及び焦点距離を有するカメラを含み得る。画像捕捉デバイス122、124、及び126の視野は、例えば、車両200の環境に対する任意の所望のエリアを含み得る。幾つかの実施形態では、画像捕捉デバイス122、124、及び126の1つ又は複数は、車両200の前の環境、車両200の背後の環境、車両200の両側の環境、又はそれらの組合せから画像データを取得するように構成し得る。
【0069】
[0116] 更に、各画像捕捉デバイス122、124、及び/又は126に関連付けられた焦点距離は、各デバイスが車両200から所望の距離範囲にある物体の画像を取得するように選択可能であり得る(例えば、適切なレンズの包含等により)。例えば、幾つかの実施形態では、画像捕捉デバイス122、124、及び126は、車両から数メートル以内の近接物体の画像を取得し得る。画像捕捉デバイス122、124、126は、車両からより離れた範囲(例えば、25m、50m、100m、150m、又はそれを超える)における物体の画像を取得するように構成することもできる。更に、画像捕捉デバイス122、124、及び126の焦点距離は、ある画像捕捉デバイス(例えば、画像捕捉デバイス122)が車両に比較的近い(例えば、10m以内又は20m以内)物体の画像を取得することができ、一方、その他の画像捕捉デバイス(例えば、画像捕捉デバイス124及び126)が、車両200からより離れた物体(例えば、20m超、50m超、100m超、150m超等)の画像を取得することができるように選択し得る。
【0070】
[0117] 幾つかの実施形態によれば、1つ又は複数の画像捕捉デバイス122、124、及び126のFOVは、広角を有し得る。例えば、特に車両200の近傍エリアの画像取得に使用し得る画像捕捉デバイス122、124、及び126には140度のFOVを有することが有利であり得る。例えば、画像捕捉デバイス122は、車両200の右又は左のエリアの画像の捕捉に使用し得、そのような実施形態では、画像捕捉デバイス122が広いFOV(例えば、少なくとも140度)を有することが望ましいことがある。
【0071】
[0118] 画像捕捉デバイス122、124、及び126のそれぞれに関連付けられた視野は、各焦点距離に依存し得る。例えば、焦点距離が増大するにつれて、対応する視野は低減する。
【0072】
[0119] 画像捕捉デバイス122、124、及び126は、任意の適する視野を有するように構成し得る。特定の一例では、画像捕捉デバイス122は、水平FOV46度を有し得、画像捕捉デバイス124は水平FOV23度を有し得、画像捕捉デバイス126は水平FOV23~46度を有し得る。別の例では、画像捕捉デバイス122は水平FOV52度を有し得、画像捕捉デバイス124は水平FOV26度を有し得、画像捕捉デバイス126は、水平FOV26~52度を有し得る。幾つかの実施形態では、画像捕捉デバイス122のFOVと画像捕捉デバイス124及び/又は画像捕捉デバイス126のFOVとの比率は、1.5~2.0で変化し得る。他の実施形態では、この比率は1.25~2.25で変化し得る。
【0073】
[0120] システム100は、画像捕捉デバイス122の視野が、画像捕捉デバイス124及び/又は画像捕捉デバイス126の視野と少なくとも部分的に又は完全に重複するように構成し得る。幾つかの実施形態では、システム100は、画像捕捉デバイス124及び126の視野が、例えば、画像捕捉デバイス122の視野内に入り(例えば、画像捕捉デバイス122の視野よりも小さく)、画像捕捉デバイス122の視野と共通の中心を共有するように構成し得る。他の実施形態では、画像捕捉デバイス122、124、及び126は、隣接するFOVを捕捉し得るか、又は部分的に重複するFOVを有し得る。幾つかの実施形態では、画像捕捉デバイス122、124、及び126の視野は、FOVのより狭い画像捕捉デバイス124及び/又は126の中心が、FOVがより広いデバイス122の視野の下半分に配置され得るように位置合わせし得る。
【0074】
[0121]
図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に関連して提供する。
【0075】
[0122]
図3Aに示されるように、車両200は、車両200のドライバー又は乗員と対話するユーザインタフェース170を含むこともできる。例えば、車両アプリケーション内のユーザインタフェース170は、タッチスクリーン320、つまみ330、ボタン340、及びマイクロフォン350を含み得る。車両200のドライバー又は乗員は、ハンドル(例えば、例えばウィンカーハンドルを含め、車両200のステアリングコラム上又はその近傍に配置される)及びボタン(例えば、車両200のハンドルに配置される)等を使用して、システム100と対話することもできる。幾つかの実施形態では、マイクロフォン350はバックミラー310に隣接して位置決めし得る。同様に、幾つかの実施形態では、画像捕捉デバイス122は、バックミラー310の近傍に配置し得る。幾つかの実施形態では、ユーザインタフェース170は、1つ又は複数のスピーカ360(例えば、車両オーディオシステムのスピーカ)を含むこともできる。例えば、システム100は、スピーカ360を介して様々な通知(例えば、アラート)を提供し得る。
【0076】
[0123]
図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の図である。
【0077】
[0124] 本開示の恩恵を受ける当業者により理解されるように、上記開示された実施形態に対する多くの変形形態及び/又は変更形態がなされ得る。例えば、全ての構成要素がシステム100の動作にとって必須であるわけではない。更に、任意の構成要素がシステム100の任意の適切な部分に配置し得、構成要素は、開示される実施形態の機能を提供しながら、様々な構成に再配置し得る。従って、上述した構成は例であり、上述した構成に関係なく、システム100は、車両200の周囲を分析し、分析に応答して車両200をナビゲートする広範囲の機能を提供することができる。
【0078】
[0125] 以下に更に詳細に考察するように、様々な開示される実施形態により、システム100は、自律運転及び/又はドライバー支援技術に関連する様々な特徴を提供し得る。例えば、システム100は、画像データ、位置データ(例えば、GPS位置情報)、地図データ、速度データ、及び/又は車両200に含まれるセンサからのデータを分析し得る。システム100は、例えば、画像取得ユニット120、位置センサ130、及び他のセンサから、分析のためにデータを収集し得る。更に、システム100は、収集されたデータを分析して、車両200が特定の行動をとるべきか否かを特定し、次に、人間の介入なしで、判断された動作を自動的にとり得る。例えば、車両200が人間の加入なしでナビゲートする場合、システム100は、車両200のブレーキ、加速度、及び/又は操舵を自動的に制御し得る(例えば、制御信号をスロットルシステム220、ブレーキシステム230、及び操舵システム240の1つ又は複数に送信することにより)。更に、システム100は、収集されたデータを分析し、収集されたデータの分析に基づいて警告及び/又はアラートを車両の搭乗者に発行し得る。システム100により提供される様々な実施形態に関する更なる詳細を以下に提供する。
【0079】
[0126] 前向きマルチ撮像システム
[0127] 上述したように、システム100は、マルチカメラシステムを使用する運転支援機能を提供し得る。マルチカメラシステムは、車両の前方方向を向いた1つ又は複数のカメラを使用し得る。他の実施形態では、マルチカメラシステムは、車両の側部又は車両の後方を向いた1つ又は複数のカメラを含み得る。一実施形態では、例えば、システム100は2カメラ撮像システムを使用し得、その場合、第1のカメラ及び第2のカメラ(例えば、画像捕捉デバイス122及び124)は、車両(例えば、車両200)の前部及び/又は側部に位置決めし得る。他のカメラの構成も開示する実施形態と合致し、本明細書で開示する構成は、例である。例えば、システム100は、任意の数(例えば、1つ、2つ、3つ、4つ、5つ、6つ、7つ、8つ等)のカメラの構成を含み得る。更に、システム100は、カメラの「クラスタ」を含み得る。例えば、(任意の適切な数、例えば1つ、4つ、8つ等のカメラを含む)カメラのクラスタは、車両に対して前向きとすることができ、又は他の任意の方向を向いていることができる(例えば、後向き、横向き、斜め等)。従って、各クラスタが車両の環境の特定の領域から画像を捕捉するように特定の方向に向けられた状態で、システム100は、カメラの複数のクラスタを含み得る。
【0080】
[0128] 第1のカメラは、第2のカメラの視野よりも大きい、小さい、又は部分的に重複する視野を有し得る。更に、第1のカメラは、第1の画像プロセッサに接続されて、第1のカメラにより提供される画像の単眼画像分析を実行し得、第2のカメラは第2の画像プロセッサに接続されて、第2のカメラにより提供される画像の単眼画像分析を実行し得る。第1及び第2の画像プロセッサの出力(例えば、処理された情報)は結合し得る。幾つかの実施形態では、第2の画像プロセッサは、第1のカメラ及び第2のカメラの両方からの画像を受信して、立体分析を実行し得る。別の実施形態では、システム100は3カメラ撮像システムを使用し得、この場合、各カメラは異なる視野を有する。従って、そのようなシステムは、車両の前方及び側部の両方の様々な距離にある物体から導出される情報に基づいて判断を下し得る。単眼画像分析との言及は、画像分析が単一視点から(例えば、単一のカメラ)から捕捉される画像に基づいて画像分析が実行される場合を指し得る。立体画像分析は、画像捕捉パラメータの1つ又は複数を変更した状態で捕捉された2つ以上の画像に基づいて画像分析が実行される場合を指し得る。例えば、立体画像分析の実行に適した捕捉画像は、2つ以上の異なる位置から捕捉される画像、異なる視野から捕捉される画像、異なる焦点距離を使用して捕捉される画像、視差情報をもって捕捉される画像等を含み得る。
【0081】
[0129] 例えば、一実施形態では、システム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への影響も最小にするように動作し得る。
【0082】
[0130] 別の実施形態では、
図3B及び
図3Cに関連して上述したように、広視野カメラ(例えば、上記例では画像捕捉デバイス124)は、狭い主視野カメラ(例えば、上記例では画像捕捉デバイス122及び126)よりも低く搭載し得る。この構成は、広視野カメラからの自由な視線を提供し得る。反射を低減するために、カメラは、車両200のフロントガラス近くに搭載し得、反射光を弱める偏光器をカメラに含み得る。
【0083】
[0131] 3カメラシステムは、特定の性能特徴を提供し得る。例えば、幾つかの実施形態は、あるカメラによる物体の検出を別のカメラからの検出結果に基づいて検証する機能を含み得る。上述した3カメラ構成では、処理ユニット110は、例えば、3つの処理デバイス(例えば、上述したように3つのEyeQシリーズのプロセッサチップ)を含み得、各処理デバイスは、画像捕捉デバイス122~126の1つ又は複数により捕捉される画像の処理に向けられる。
【0084】
[0132] 3カメラシステムでは、第1の処理デバイスは、主カメラ及び狭視野カメラの両方から画像を受信し得、狭FOVカメラのビジョン処理を実行して、例えば、他の車両、歩行者、レーンマーク、交通標識、信号機、及び他の道路物体を検出し得る。更に、第1の処理デバイスは、主カメラからの画像と狭カメラからの画像との間でのピクセルの視差を計算し、車両200の環境の3D再構築を作成し得る。次に、第1の処理デバイスは、3D再構築を3Dマップデータ又は別のカメラからの情報に基づいて計算される3D情報と結合し得る。
【0085】
[0133] 第2の処理デバイスは、主カメラから画像を受信し得、ビジョン処理を実行して、他の車両、歩行者、レーンマーク、交通標識、信号機、及び他の道路物体を検出し得る。更に、第2の処理デバイスは、カメラ変位を計算し、変位に基づいて、連続画像間のピクセルの視差を計算し、シーンの3D再構築(例えば、ストラクチャーフロムモーション)を作成し得る。第2の処理デバイスは、3D再構築に基づくストラクチャーフロムモーションを第1の処理デバイスに送信し、ストラクチャーフロムモーションを立体3D画像と結合し得る。
【0086】
[0134] 第3の処理デバイスは、画像を広FOVカメラから受信し、画像を処理して、車両、歩行者、レーンマーク、交通標識、信号機、及び他の道路物体を検出し得る。第3の処理デバイスは、追加の処理命令を更に実行して、画像を分析し、レーン変更中の車両、歩行者等の画像内の移動中の物体を識別し得る。
【0087】
[0135] 幾つかの実施形態では、画像に基づく情報ストリームを独立して捕捉させ、処理させることは、システムで冗長性を提供する機会を提供し得る。そのような冗長性は、例えば、第1の画像捕捉デバイス及びそのデバイスから処理された画像を使用して、少なくとも第2の画像捕捉デバイスで画像情報を捕捉し処理することにより得られる情報を検証及び/又は補足し得る。
【0088】
[0136] 幾つかの実施形態では、システム100は、車両200にナビゲーション支援を提供するに当たり2つの画像捕捉デバイス(例えば、画像捕捉デバイス122及び124)を使用し得、第3の画像捕捉デバイス(例えば、画像捕捉デバイス126)を使用して、冗長性を提供し、他の2つの画像捕捉デバイスから受信されるデータの分析を検証し得る。例えば、そのような構成では、画像捕捉デバイス122及び124は、車両200をナビゲートするためのシステム100による立体分析の画像を提供し得、一方、画像捕捉デバイス126は、システム100による単眼分析に画像を提供して、画像捕捉デバイス123及び/又は画像捕捉デバイス124から補足された画像に基づいて得られる情報の冗長性及び検証を提供し得る。すなわち、画像捕捉デバイス126(及び対応する処理デバイス)は、(例えば、自動緊急ブレーキ(AEB)システムを提供するために)画像捕捉デバイス122及び124から導出された分析へのチェックを提供する冗長サブシステムを提供すると見なし得る。更に幾つかの実施形態では、1つ又は複数のセンサ(例えば、レーダ、ライダ、音響センサ、車外の1つ又は複数の送受信機から受信される情報等)から受信される情報に基づいて受信データの冗長性及び検証を補うことができる。
【0089】
[0137] 上記カメラ構成、カメラ配置、カメラ数、カメラ位置等が単なる例示であることを当業者は認識するであろう。全体システムに対して説明されるこれらの構成要素等は、開示される実施形態の範囲から逸脱せずに、様々な異なる構成で組み立て且つ使用し得る。ドライバー支援及び/又は自律車両機能を提供するためのマルチカメラシステムの使用に関する更なる詳細が以下に続く。
【0090】
[0138]
図4は、開示される実施形態による1つ又は複数の動作を実行する命令を記憶/プログラムされ得るメモリ140及び/又は150の例示的な機能ブロック図である。以下ではメモリ140を参照するが、当業者は、命令がメモリ140及び/又は150に記憶可能なことを認識するであろう。
【0091】
[0139]
図4に示されるように、メモリ140は、単眼画像分析モジュール402、立体画像分析モジュール404、速度及び加速度モジュール406、並びにナビゲーション応答モジュール408を記憶し得る。開示される実施形態は、いかなる特定の構成のメモリ140にも限定されない。更に、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、メモリ140に含まれる任意のモジュール402~408に記憶された命令を実行し得る。以下の考察での処理ユニット110の参照が、アプリケーションプロセッサ180及び画像プロセッサ190を個々に又はまとめて指し得ることを当業者は理解するであろう。従って、以下のプロセスのいずれかのステップは、1つ又は複数の処理デバイスにより実行し得る。
【0092】
[0140] 一実施形態では、単眼画像分析モジュール402は命令(コンピュータビジョンソフトウェア等)を記憶し得、命令は、処理ユニット110により実行されると、画像捕捉デバイス122、124、及び126の1つにより取得された画像の組の単眼画像分析を実行する。幾つかの実施形態では、処理ユニット110は、画像の組からの情報を追加のセンサ情報(例えば、レーダからの情報)と結合して、単眼画像分析を実行し得る。以下の
図5A~
図5Dに関連して説明するように、単眼画像分析モジュール402は、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ、信号機、危険物、及び車両の環境に関連付けられた任意の他の特徴等、画像の組内の特徴の組を検出する命令を含み得る。分析に基づいて、システム100は、ナビゲーション応答モジュール408に関連して以下で考察するように、ターン、レーンシフト、及び加速度変更等の1つ又は複数のナビゲーション応答を車両200において生じさせ得る(例えば、処理ユニット110を介して)。
【0093】
[0141] 一実施形態では、単眼画像分析モジュール402は、処理ユニット110によって実行されるとき、画像捕捉装置122、124、及び126の1つによって取得される画像の組の単眼画像分析を実行する命令(コンピュータビジョンソフトウェア等)を記憶し得る。幾つかの実施形態では、処理ユニット110は、画像の組からの情報を追加のセンサ情報(例えば、レーダやライダ等からの情報)と結合して単眼画像分析を実行し得る。
図5A~
図5Dに関連して以下で説明するように、単眼画像分析モジュール402は、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ、信号機、危険物、及び車両の環境に関連する他の任意の特徴等、画像の組内の特徴の組を検出するための命令を含み得る。分析に基づいて、システム100は、(例えば、処理ユニット110によって)ナビゲーション応答を決定することに関連して以下で考察するように、ターン、レーンシフト、加速度変更等の1つ又は複数のナビゲーション応答を車両200において生じさせ得る。
【0094】
[0142] 一実施形態では、立体画像分析モジュール404は命令(コンピュータビジョンソフトウェア等)を記憶し得、命令は、処理ユニット110により実行されると、画像捕捉デバイス122、124、及び126から選択された画像捕捉デバイスの組合せにより取得される第1及び第2の組の画像の立体画像分析を実行する。幾つかの実施形態では、処理ユニット110は、第1及び第2の組の画像からの情報を追加のセンサ情報(例えば、レーダからの情報)と結合して、立体画像分析を実行し得る。例えば、立体画像分析モジュール404は、画像捕捉デバイス124により取得される第1の組の画像及び画像捕捉デバイス126により取得される第2の組の画像に基づいて、立体画像分析を実行する命令を含み得る。以下で
図6に関連して説明するように、立体画像分析モジュール404は、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ、信号機、及び危険物等の第1及び第2の組の画像内の特徴の組を検出する命令を含み得る。分析に基づいて、処理ユニット110は、ナビゲーション応答モジュール408に関連して後述するように、ターン、レーンシフト、及び加速度変更等の1つ又は複数のナビゲーション応答を車両200において生じさせ得る。更に、幾つかの実施形態では、立体画像分析モジュール404は、トレーニング済みシステム(ニューラルネットワーク又はディープニューラルネットワーク等)又はトレーニングされていないシステムに関連する技法を実装することができる。
【0095】
[0143] 一実施形態では、速度及び加速度モジュール406は、車両200の速度及び/又は加速度を変更させるように構成される車両200内の1つ又は複数の計算及び電気機械デバイスから受信されるデータを分析するように構成されるソフトウェアを記憶し得る。例えば、処理ユニット110は、速度及び加速度モジュール406に関連付けられた命令を実行して、単眼画像分析モジュール402及び/又は立体画像分析モジュール404の実行から導出されるデータに基づいて、車両200の目標速度を計算し得る。そのようなデータとしては、例えば、目標位置、速度、及び/又は加速度、付近の車両、歩行者、又は道路物体に対する車両200の位置及び/又は速度、及び道路のレーンマークに対する車両200の位置情報等を挙げ得る。加えて、処理ユニット110は、センサ入力(例えば、レーダからの情報)と、車両200のスロットルシステム220、ブレーキシステム230、及び/又は操舵システム240等の車両200の他のシステムからの入力とに基づいて、車両200の目標速度を計算し得る。計算された目標速度に基づいて、処理ユニット110は、電子信号を車両200のスロットルシステム220、ブレーキシステム230、及び/又は操舵システム240に送信して、例えば、車両200のブレーキを物理的に弱めるか、又はアクセルを弱めることにより速度及び/又は加速度の変更をトリガーし得る。
【0096】
[0144] 一実施形態では、ナビゲーション応答モジュール408は、処理ユニット110により実行可能であり、単眼画像分析モジュール402及び/又は立体画像分析モジュール404の実行から導出されるデータに基づいて、所望のナビゲーション応答を決定するソフトウェアを記憶し得る。そのようなデータは、付近の車両、歩行者、及び道路物体に関連付けられた位置及び速度情報並びに車両200の目標位置情報等を含み得る。更に、幾つかの実施形態では、ナビゲーション応答は、地図データ、車両200の所定の位置、及び/又は車両200と、単眼画像分析モジュール402及び/又は立体画像分析モジュール404の実行から検出される1つ又は複数の物体との間の相対速度又は相対加速度に基づき得る(部分的又は完全に)。ナビゲーション応答モジュール408は、センサ入力(例えば、レーダからの情報)と、車両200のスロットルシステム220、ブレーキシステム230、及び操舵システム240等の車両200の他のシステムからの入力とに基づいて、所望のナビゲーション応答を決定することもできる。所望のナビゲーション応答に基づいて、処理ユニット110は、電子信号を車両200のスロットルシステム220、ブレーキシステム230、及び操舵システム240に送信して、例えば、車両200のハンドルをターンさせ、所定の角度の回転を達成することにより、所望のナビゲーション応答をトリガーし得る。幾つかの実施形態では、処理ユニット110は、車両200の速度変更を計算するための速度及び加速度モジュール406の実行への入力として、ナビゲーション応答モジュール408の出力(例えば、所望のナビゲーション応答)を使用し得る。
【0097】
[0145] 更に、本明細書で開示するモジュール(例えば、モジュール402、404、及び406)のいずれも、トレーニング済みシステム(ニューラルネットワーク又はディープニューラルネットワーク等)又はトレーニングされていないシステムに関連する技法を実装することができる。
【0098】
[0146]
図5Aは、開示される実施形態による、単眼画像分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセス500Aを示すフローチャートである。ステップ510において、処理ユニット110は、処理ユニット110と画像取得ユニット120との間のデータインタフェース128を介して、複数の画像を受信し得る。例えば、画像取得ユニット120に含まれるカメラ(視野202を有する画像捕捉デバイス122等)は、車両200の前方(又は例えば車両の側部若しくは後方)のエリアの複数の画像を捕捉し、データ接続(例えば、デジタル、有線、USB、無線、Bluetooth等)を介して処理ユニット110に送信し得る。処理ユニット110は、単眼画像分析モジュール402を実行して、ステップ520において、以下で
図5B~
図5Dに関連して更に詳細に説明するように、複数の画像を分析し得る。分析を実行することにより、処理ユニット110は、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ、及び信号機等の画像の組内の特徴の組を検出し得る。
【0099】
[0147] 処理ユニット110は、ステップ520において、単眼画像分析モジュール402を実行して、例えばトラックタイヤの部品、落ちた道路標識、緩んだ貨物、及び小動物等の様々な道路危険物を検出することもできる。道路危険物の構造、形状、サイズ、及び色は様々であり得、そのような危険物の検出をより難しくする。幾つかの実施形態では、処理ユニット110は、単眼画像分析モジュール402を実行して、マルチフレーム分析を複数の画像に対して実行して、道路危険物を検出し得る。例えば、処理ユニット110は、連続画像フレーム間でのカメラ移動を推定し、フレーム間のピクセルの視差を計算して、道路の3Dマップを構築し得る。次に、処理ユニット110は、3Dマップを使用して、路面及び路面の上に存在する危険物を検出し得る。
【0100】
[0148] ステップ530において、処理ユニット110は、ナビゲーション応答モジュール408を実行して、ステップ520において実行された分析及び
図4に関連して上述した技法に基づいて、車両200に1つ又は複数のナビゲーション応答を生じさせ得る。ナビゲーション応答は、例えば、ターン、レーンシフト、及び加速度変更等を含み得る。幾つかの実施形態では、処理ユニット110は、速度及び加速度モジュール406の実行から導出されるデータを使用して、1つ又は複数のナビゲーション応答を生じさせ得る。更に、複数のナビゲーション応答は同時に生じ得るか、順次生じ得るか、又はそれらの任意の組合せで生じ得る。例えば、処理ユニット110は、例えば、制御信号を車両200の操舵システム240及びスロットルシステム220に順次送信することにより、車両200に1レーン移動させ、それから例えば加速させ得る。代替的には、処理ユニット110は、例えば、制御信号を車両200のブレーキシステム230及び操舵システム240に同時に送信することにより、車両200に、ブレーキを掛けさせ、それと同時にレーンをシフトさせ得る。
【0101】
[0149]
図5Bは、開示される実施形態による、画像の組内の1つ又は複数の車両及び/又は歩行者を検出する例示的なプロセス500Bを示すフローチャートである。処理ユニット110は、単眼画像分析モジュール402を実行して、プロセス500Bを実施し得る。ステップ540において、処理ユニット110は、存在する可能性がある車両及び/又は歩行者を表す候補物体の組を特定し得る。例えば、処理ユニット110は、1つ又は複数の画像を走査し、画像を1つ又は複数の所定のパターンと比較し、各画像内で、対象物体(例えば、車両、歩行者、又はそれらの部分)を含み得る可能性がある位置を識別し得る。所定のパターンは、低率の「偽性ヒット」及び低率の「見逃し」を達成するように指定し得る。例えば、処理ユニット110は、所定のパターンへの低い類似性閾値を使用して、可能性のある車両又は歩行者として候補物体を識別し得る。そうすることにより、処理ユニット110は、車両又は歩行者を表す候補物体を見逃す(例えば、識別しない)確率を低減することができ得る。
【0102】
[0150] ステップ542において、処理ユニット110は、候補物体の組をフィルタリングして、分類基準に基づいて特定の候補(例えば、無関係又は関係性の低い物体)を除外し得る。そのような基準は、データベース(例えば、メモリ140に記憶されるデータベース)に記憶された物体タイプに関連付けられた様々な特性から導出し得る。特性は、物体の形状、寸法、テクスチャ、及び位置(例えば、車両200に対する)等を含み得る。従って、処理ユニット110は、1つ又は複数の組の基準を使用して、候補物体の組から偽性候補を拒絶し得る。
【0103】
[0151] ステップ544において、処理ユニット110は、複数の画像フレームを分析して、候補画像の組内の物体が車両及び/又は歩行者を表しているか否かを特定し得る。例えば、処理ユニット110は、連続フレームにわたり検出された候補物体を追跡し、検出された物体に関連付けられたフレーム毎データ(例えば、サイズ、車両200に対する位置等)を蓄積し得る。更に、処理ユニット110は、検出された物体のパラメータを推定し、物体のフレーム毎位置データを予測位置と比較し得る。
【0104】
[0152] ステップ546において、処理ユニット110は、検出された物体の測定値の組を構築し得る。そのような測定値は、例えば、検出された物体に関連付けられた位置、速度、及び加速度値(車両200に対する)を含み得る。幾つかの実施形態では、処理ユニット110は、カルマンフィルタ又は線形二次推定(LQE)等の一連の時間ベースの観測値を使用する推定技法及び/又は異なる物体タイプ(例えば、車、トラック、歩行者、自転車、道路標識等)で利用可能なモデリングデータに基づいて、測定値を構築し得る。カルマンフィルタは、物体のスケールの測定値に基づき得、ここで、スケール測定は衝突までの時間(例えば、車両200が物体に達するまでの時間量)に比例する。従って、ステップ540~546を実行することにより、処理ユニット110は、捕捉画像の組内に現れる車両及び歩行者を識別し、車両及び歩行者に関連付けられた情報(例えば、位置、速度、サイズ)を導出し得る。識別及び導出される情報に基づいて、処理ユニット110は、
図5Aに関連して上述したように、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。
【0105】
[0153] ステップ548において、処理ユニット110は、1つ又は複数の画像のオプティカルフロー分析を実行して、「偽性ヒット」を検出する確率及び車両又は歩行者を表す候補物体を見逃す確率を低減し得る。オプティカルフロー分析は、例えば、他の車両及び歩行者に関連付けられた1つ又は複数の画像内の車両200に対する、路面の動きとは別個の移動パターンを分析することを指し得る。処理ユニット110は、異なる時刻に捕捉された複数の画像フレームにわたる物体の異なる位置を観測することにより、候補物体の移動を計算し得る。処理ユニット110は、位置及び時間値を数学モデルへの入力として使用して、候補物体の移動を計算し得る。従って、オプティカルフロー分析は、車両200の付近にある車両及び歩行者を検出する別の方法を提供し得る。処理ユニット110は、ステップ540~546と組み合わせてオプティカルフロー分析を実行して、車両及び歩行者を検出することの冗長性を提供すると共に、システム100の信頼度を上げ得る。
【0106】
[0154]
図5Cは、開示される実施形態による、画像の組内の道路マーク及び/又はレーンジオメトリ情報を検出する例示的なプロセス500Cを示すフローチャートである。処理ユニット110は、単眼画像分析モジュール402を実行して、プロセス500Cを実施し得る。ステップ550において、処理ユニット110は、1つ又は複数の画像を走査することにより物体の組を検出し得る。レーンマークの区分、レーンジオメトリ情報、及び他の関連道路マークを検出するために、処理ユニット110は、物体の組をフィルタリングして、無関連(例えば、小さい穴、小さい岩等)であると判断されるものを除外し得る。ステップ552において、処理ユニット110は、同じ道路マーク又はレーンマークに属する、ステップ550において検出されたセグメントを一緒にグループ化し得る。グループ化に基づいて、処理ユニット110は、数学モデル等のモデルを開発して、検出されたセグメントを表し得る。
【0107】
[0155] ステップ554において、処理ユニット110は、検出されたセグメントに関連付けられた測定値の組を構築し得る。幾つかの実施形態では、処理ユニット110は、画像平面から実世界平面への検出セグメントの射影を作成し得る。射影は、検出された道路の位置、傾斜、曲率、及び曲率微分等の物理特性に対応する係数を有する三次多項式を使用して特徴付け得る。射影を生成するに当たり、処理ユニット110は、路面変化並びに車両200に関連付けられたピッチ及びロール率を考慮に入れ得る。加えて、処理ユニット110は、位置及び路面に存在するモーションキューを分析することにより道路高をモデリングし得る。更に、処理ユニット110は、1つ又は複数の画像での特徴点の組を追跡することにより、車両200に関連付けられたピッチ率及びロール率を推定し得る。
【0108】
[0156] ステップ556において、処理ユニット110は、例えば、連続した画像フレームにわたり検出セグメントを追跡し、検出セグメントに関連付けられたフレーム毎データを蓄積することにより、マルチフレーム分析を実行し得る。処理ユニット110はマルチフレーム分析を実行する場合、ステップ554において構築された測定値の組はより信頼性の高いものになり得、ますます高い信頼度を関連付け得る。従って、ステップ550~556を実行することにより、処理ユニット110は、捕捉画像の組内に現れる道路マークを識別し、レーンジオメトリ情報を導出し得る。識別及び導出される情報に基づいて、処理ユニット110は、
図5Aに関連して上述したように、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。
【0109】
[0157] ステップ558において、処理ユニット110は、追加の情報ソースを考慮して、車両の周囲の状況での車両200の安全モデルを更に開発し得る。処理ユニット110は、安全モデルを使用して、システム100が車両200の自律制御を安全に実行し得る状況を定義し得る。安全モデルを開発するために、幾つかの実施形態では、処理ユニット110は、他の車両の位置及び動き、検出された道路縁部及び障壁、及び/又は地図データ(地図データベース160からのデータ等)から抽出された一般道路形状記述を考慮し得る。追加の情報ソースを考慮することにより、処理ユニット110は、道路マーク及びレーンジオメトリを検出することの冗長性を提供し、システム100の信頼性を上げ得る。
【0110】
[0158]
図5Dは、開示される実施形態による、画像の組内の信号機を検出する例示的なプロセス500Dを示すフローチャートである。処理ユニット110は、単眼画像分析モジュール402を実行して、プロセス500Dを実施し得る。ステップ560において、処理ユニット110は、画像の組を走査し、信号機を含む可能性が高い画像内の位置に現れる物体を識別し得る。例えば、処理ユニット110は、識別された物体をフィルタリングして、信号機に対応する可能性が低い物体を除外した候補物体の組を構築し得る。フィルタリングは、形状、寸法、テクスチャ、及び位置(例えば、車両200に対する)等の信号機に関連付けられた様々な特性に基づいて行い得る。そのような特性は、信号機及び交通制御信号の多くの例に基づき得、データベースに記憶し得る。幾つかの実施形態では、処理ユニット110は、可能性のある信号機を反映した候補物体の組に対してマルチフレーム分析を実行し得る。例えば、処理ユニット110は、連続した画像フレームにわたり候補物体を追跡し、候補物体の現実世界位置を推定し、移動している(信号機である可能性が低い)物体をフィルタリングして除去し得る。幾つかの実施形態では、処理ユニット110は、カラー分析を候補物体に対して実行し、可能性のある信号機内部に現れる検出した色の相対位置を識別し得る。
【0111】
[0159] ステップ562において、処理ユニット110は、交差点のジオメトリを分析し得る。分析は、(i)車両200の両側で検出されるレーン数、(ii)道路で検出されたマーク(矢印マーク等)、及び(iii)地図データ(地図データベース160からのデータ等)から抽出された交差点の記述の任意の組合せに基づき得る。処理ユニット110は、単眼分析モジュール402の実行から導出される情報を使用して、分析を行い得る。加えて、処理ユニット110は、ステップ560において検出された信号機と、車両200近傍に現れるレーンとの対応性を特定し得る。
【0112】
[0160] 車両200が交差点に近づくにつれて、ステップ564において、処理ユニット110は、分析された交差点ジオメトリ及び検出された信号機に関連付けられた信頼度を更新し得る。例えば、交差点に実際に現れる数と比較した、交差点に現れると推定された信号機の数は、信頼度に影響を及ぼし得る。従って、信頼度に基づいて、処理ユニット110は、車両200のドライバーに制御を委任して、安全状況を改善し得る。ステップ560~564を実行することにより、処理ユニット110は、捕捉画像の組内に現れる信号機を識別し、交差点ジオメトリ情報を分析し得る。識別及び分析に基づいて、処理ユニット110は、
図5Aに関連して上述したように、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。
【0113】
[0161]
図5Eは、開示される実施形態による、車両経路に基づいて車両200で1つ又は複数のナビゲーション応答を生じさせる例示的なプロセス500Eのフローチャートである。ステップ570において、処理ユニット110は、車両200に関連付けられた初期車両経路を構築し得る。車両経路は、座標(x,y)で表される点の組を使用して表し得、点の組内の2点間距離d
iは、1~5メートルの範囲内にあり得る。一実施形態では、処理ユニット110は、左右の道路多項式等の2つの多項式を使用して初期車両経路を構築し得る。処理ユニット110は、2つの多項式間の幾何学的中間点を計算し、所定のオフセットがある場合(オフセット0は、レーンの中央での走行に対応し得る)、所定のオフセット値(例えば、スマートレーンオフセット)だけ、結果として生成される車両経路に含まれる各点をオフセットさせ得る。オフセットは、車両経路内の任意の2点間の区分に垂直の方向であり得る。別の実施形態では、処理ユニット110は、1つの多項式及び推定レーン幅を使用して、推定レーン幅の半分に所定のオフセット値(例えば、スマートレーンオフセット)を加えたものだけ車両経路の各点をオフセットさせ得る。
【0114】
[0162] ステップ572において、処理ユニット110は、ステップ570において構築された車両経路を更新し得る。処理ユニット110は、車両経路を表す点の組内の2点間距離dkが、上述した距離diよりも短くなるように、より高い解像度を使用して、570において構築された車両経路を再構築し得る。例えば、距離dkは0.1~0.3メートルの範囲であり得る。処理ユニット110は、放物線スプラインアルゴリズムを使用して車両経路を再構築し得、これは、車両経路の全長(すなわち、車両経路を表す点の組に基づく)に対応する累積距離ベクトルSをもたらし得る。
【0115】
[0163] ステップ574において、処理ユニット110は、ステップ572において行われた更新車両経路に基づいて、先読み点((xl,zl)として座標で表される)を特定し得る。処理ユニット110は、累積距離ベクトルSから先読み点を抽出し得、先読み点には、先読み距離及び先読み時間を関連付け得る。先読み距離は、下限範囲10~20メートルを有し得、車両200の速度と先読み時間との積として計算し得る。例えば、車両200の速度が下がるにつれて、先読み距離も短くなり得る(例えば、下限に達するまで)。0.5~1.5秒の範囲であり得る先読み時間は、進行エラー(heading error)追跡制御ループ等の車両200でナビゲーション応答を生じさせることに関連付けられた1つ又は複数の制御ループの利得に反比例し得る。例えば、進行エラー追跡制御ループの利得は、ヨー率ループ、操舵アクチュエータループ、及び車横方向動力学等の帯域幅に依存し得る。従って、進行エラー追跡制御ループの利得が高いほど、先読み時間は短くなる。
【0116】
[0164] ステップ576において、処理ユニット110は、ステップ574において特定される先読み点に基づいて、進行エラー及びヨー率コマンドを決定し得る。処理ユニット110は、先読み点の逆正接、例えばarctan(xl/zl)を計算することにより、進行エラーを特定し得る。処理ユニット110は、進行エラーと高レベル制御利得との積としてヨー率コマンドを決定し得る。高レベル制御利得は、先読み距離が下限にない場合、(2/先読み時間)に等しい値であり得る。先読み距離が下限である場合、高レベル制御利得は、(2×車両200の速度/先読み距離)に等しい値であり得る。
【0117】
[0165]
図5Fは、開示される実施形態による、先行車両がレーンを変更中であるか否かを特定する例示的なプロセス500Fを示すフローチャートである。ステップ580において、処理ユニット110は、先行車両(例えば、車両200の前を移動中の車両)に関連付けられたナビゲーション情報を特定し得る。例えば、処理ユニット110は、
図5A及び
図5Bに関連して上述した技法を使用して、先行車両の位置、速度(例えば、方向及び速さ)、及び/又は加速度を特定し得る。処理ユニット110は、
図5Eに関連して上述した技法を使用して、1つ又は複数の道路多項式、先読み点(車両200に関連付けられる)、及び/又はスネイルトレイル(例えば、先行車両がとった経路を記述する点の組)を特定することもできる。
【0118】
[0166] ステップ582において、処理ユニット110は、ステップ580において特定されたナビゲーション情報を分析し得る。一実施形態では、処理ユニット110は、スネイルトレイルと道路多項式との間の距離(例えば、トレイルに沿った)を計算し得る。トレイルに沿ったこの距離の相違が所定の閾値(例えば、直線道路では0.1~0.2メートル、緩くカーブした道路では0.3~0.4メートル、急カーブの道路では0.5~0.6メートル)を超える場合、処理ユニット110は、先行車両がレーン変更中である可能性が高いと判断し得る。複数の車両が、車両200の前を走行中であることが検出される場合、処理ユニット110は、各車両に関連付けられたスネイルトレイルを比較し得る。比較に基づいて、処理ユニット110は、スネイルトレイルが他の車両のスネイルトレイルに一致しない車両が、レーン変更中である可能性が高いと判断し得る。処理ユニット110は更に、スネイルトレイル(先行車両に関連付けられた)の曲率を、先行車両が移動中の道路区分の予期される曲率と比較し得る。予期される曲率は、地図データ(例えば、地図データベース160からのデータ)、道路多項式、他の車両のスネイルトレイル、及び道路についての事前知識等から抽出し得る。スネイルトレイルの曲率と道路区分の予期される曲率との差が、所定の閾値を超える場合、処理ユニット110は、先行車両がレーン変更中である可能性が高いと判断し得る。
【0119】
[0167] 別の実施形態では、処理ユニット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は、(より近い)先行車両がレーン変更中である可能性が高いと判断し得る。
【0120】
[0168] ステップ584において、処理ユニット110は、ステップ582において実行された分析に基づいて、先行車両200がレーン変更中であるか否かを特定し得る。例えば、処理ユニット110は、ステップ582において実行された個々の分析の加重平均に基づいてその判断を下し得る。そのような方式下では、例えば、特定のタイプの分析に基づいた、先行車両がレーン変更中である可能性が高いという処理ユニット110による判断には、値「1」を割り当て得る(「0」は、先行車両がレーン変更中である可能性が低いとの判断を表す)。ステップ582において実行される異なる分析には異なる重みを割り当て得、開示される実施形態は、分析及び重みのいかなる特定の組合せにも限定されない。更に、幾つかの実施形態では、分析は、トレーニング済みシステム(例えば、機械学習又はディープラーニングシステム)を利用でき、かかるシステムは、例えば、現在位置において捕捉した画像に基づいて車両の現在位置よりも先の将来の経路を推定することができる。
【0121】
[0169]
図6は、開示される実施形態による、立体画像分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセス600を示すフローチャートである。ステップ610において、処理ユニット110は、データインタフェース128を介して第1及び第2の複数の画像を受信し得る。例えば、画像取得ユニット120に含まれるカメラ(視野202及び204を有する画像捕捉デバイス122及び124等)は、車両200の前方のエリアの第1及び第2の複数の画像を捕捉し、デジタル接続(例えば、USB、無線、Bluetooth等)を介して処理ユニット110に送信し得る。幾つかの実施形態では、処理ユニット110は、2つ以上のデータインタフェースを介して第1及び第2の複数の画像を受信し得る。開示される実施形態は、いかなる特定のデータインタフェース構成又はプロトコルにも限定されない。
【0122】
[0170] ステップ620において、処理ユニット110は、立体画像分析モジュール404を実行して、第1及び第2の複数の画像の立体画像分析を実行して、車両の前の道路の3Dマップを作成し、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ、信号機、及び道路危険物等の画像内の特徴を検出し得る。立体画像分析は、
図5A~
図5Dに関連して上述したステップと同様に実行し得る。例えば、処理ユニット110は、立体画像分析モジュール404を実行して、第1及び第2の複数の画像内の候補物体(例えば、車両、歩行者、道路マーク、信号機、道路危険物等)を検出し、様々な基準に基づいて候補物体のサブセットをフィルタリングして除外し、マルチフレーム分析を実行し、測定値を構築し、残った候補物体の信頼度を特定し得る。上記ステップを実行するに当たり、処理ユニット110は、画像の1つの組のみからの情報ではなく、第1及び第2の複数の画像の両方からの情報を考慮し得る。例えば、処理ユニット110は、第1及び第2の複数の画像の両方に現れる候補物体のピクセルレベルデータ(又は捕捉画像の2つのストリームの中からの他のデータサブセット)の差を分析し得る。別の例として、処理ユニット110は、物体が複数の画像の1枚に現れるが、他の画像では現れないことを観測することにより、又は2つの画像ストリームに現れる物体に関して存在し得る他の差によって、候補物体の位置及び/又は速度(例えば、車両200に対する)を推定し得る。例えば、車両200に対する位置、速度、及び/又は加速度は、画像ストリームの一方又は両方に現れる物体に関連付けられた特徴の軌道、位置、移動特性等に基づいて特定し得る。
【0123】
[0171] ステップ630において、処理ユニット110は、ナビゲーション応答モジュール408を実行して、ステップ620において実行された分析及び
図4に関連して上述した技法に基づいて、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。ナビゲーション応答は、例えば、ターン、レーンシフト、加速度変更、速度変更、及びブレーキ等を含み得る。幾つかの実施形態では、処理ユニット110は、速度及び加速度モジュール406の実行から導出されるデータを使用して、1つ又は複数のナビゲーション応答を生じさせ得る。更に、複数のナビゲーション応答は、同時に行われ得るか、順次行われ得るか、又はそれらの任意の組合せで行われ得る。
【0124】
[0172]
図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にデータを通信する関連付けられたデータインタフェースを有し得る。開示される実施形態は、いかなる特定のデータインタフェース構成又はプロトコルにも限定されない。
【0125】
[0173] ステップ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の複数の画像に対して行われる分析のタイプに限定されない。
【0126】
[0174] 幾つかの実施形態では、処理ユニット110は、ステップ710及び720において取得され分析された画像に基づいて、システム100にテストを実行し得る。そのようなテストは、画像捕捉デバイス122、124、及び126の特定の構成でのシステム100の全体性能のインジケータを提供し得る。例えば、処理ユニット110は、「偽性ヒット」(例えば、システム100が車両又は歩行者の存在を誤って判断する場合)及び「見落とし」の割合を特定し得る。
【0127】
[0175] ステップ730において、処理ユニット110は、第1、第2、及び第3の複数の画像の2つから導出される情報に基づいて、車両200での1つ又は複数のナビゲーション応答を生じさせ得る。第1、第2、及び第3の複数の画像の2つの選択は、例えば、複数の画像のそれぞれで検出される物体の数、タイプ、及びサイズ等の様々なファクタに依存し得る。処理ユニット110は、画像の品質及び解像度、画像に反映される有効視野、捕捉フレーム数、及び対象となる1つ又は複数の物体が実際にフレームに現れる程度(例えば、物体が現れるフレームのパーセンテージ、物体がそのような各フレームで現れる割合等)等に基づいて選択を行うことができる。
【0128】
[0176] 幾つかの実施形態では、処理ユニット110は、ある画像ソースから導出された情報が、他の画像ソースから導出される情報と整合する程度を特定することにより、第1、第2、及び第3の複数の画像の2つから導出される情報を選択し得る。例えば、処理ユニット110は、画像捕捉デバイス122、124、及び126のそれぞれから導出される処理済み情報(単眼分析であれ、立体分析であれ、又はそれら2つの任意の組合せであれ関係なく)を結合して、画像捕捉デバイス122、124、及び126のそれぞれから捕捉される画像にわたり整合する視覚的インジケータ(例えば、レーンマーク、検出された車両及び/又はその位置及び/又は経路、検出された信号機等)を特定し得る。処理ユニット110は、捕捉画像にわたり整合しない情報(例えば、レーンを変更中の車両、車両200に近過ぎる車両を示すレーンモデル等)を除外することもできる。従って、処理ユニット110は、整合情報及び非整合情報の特定に基づいて、第1、第2、及び第3の複数の画像の2つからの導出される情報を選択し得る。
【0129】
[0177] ナビゲーション応答は、例えば、ターン、レーンシフト、及び加速度変更を含み得る。処理ユニット110は、ステップ720において実行される分析及び
図4に関連して上述した技法に基づいて、1つ又は複数のナビゲーション応答を生じさせ得る。処理ユニット110は、速度及び加速度モジュール406の実行から導出されるデータを使用して、1つ又は複数のナビゲーション応答を生じさせることもできる。幾つかの実施形態では、処理ユニット110は、車両200と、第1、第2、及び第3の複数の画像のいずれかで検出される物体との間の相対位置、相対速度、及び/又は相対加速度に基づいて、1つ又は複数のナビゲーション応答を生じさせ得る。複数のナビゲーション応答は、同時に行われ得るか、順次行われ得るか、又はそれらの任意の組合せで行われ得る。
【0130】
[0178] 強化学習及びトレーニング済みナビゲーションシステム
[0179] 以下の節は、車両の自律制御が完全に自律的(自動運転車両)であろうと、部分的に自律的(例えば、1人又は複数のドライバーがシステム又は機能を支援する)であろうと、車両の自律制御を実現するためのシステム及び方法と共に自律運転について論じる。
図8に示すように、自律運転タスクは、例えば、検知モジュール801、運転ポリシモジュール803、及び制御モジュール805を含む3つのモジュールに分けることができる。幾つかの実施形態では、モジュール801、803、及び805をシステム100のメモリユニット140及び/又はメモリユニット150内に記憶することができ、及び/又はモジュール801、803、及び805(又はその一部)をシステム100から離して記憶する(例えば、無線送受信機172によって例えばシステム100がアクセス可能なサーバ内に記憶する)ことができる。更に、本明細書で開示するモジュール(例えば、モジュール801、803、及び805)のいずれも、トレーニング済みシステム(ニューラルネットワーク又はディープニューラルネットワーク等)又はトレーニングされていないシステムに関連する技法を実装することができる。
【0131】
[0180] 処理ユニット110を使用して実装することができる検知モジュール801は、ホスト車両の環境内のナビゲーション状態の検出値に関連する様々なタスクを処理することができる。かかるタスクは、ホスト車両に関連する様々なセンサ及び検知システムからの入力に依存し得る。それらの入力は、1つ又は複数のオンボードカメラからの画像又は画像ストリーム、GPS位置情報、加速度計の出力、ユーザフィードバック、1つ又は複数のユーザインタフェース装置へのユーザ入力、レーダ、ライダ等を含み得る。地図情報と共にカメラ及び/又は他の任意の利用可能なセンサからのデータを含み得る検出値を収集し、分析し、ホスト車両の環境内のシーンから抽出される情報を記述する「検知状態」へと系統立てて表すことができる。検知状態は、考えられる任意の検知情報の中でも、目標車両、レーンマーク、歩行者、信号機、道路の幾何学的形状、レーン形状、障害物、他の物体/車両までの距離、相対速度、相対加速度に関係する検知情報を特に含み得る。検知モジュール801に提供される検知データに基づいて検知状態出力を作り出すために、教師あり機械学習を実施することができる。検知モジュールの出力は、ホスト車両の検知ナビゲーション「状態」を表すことができ、それは、運転ポリシモジュール803に送られ得る。
【0132】
[0181] ホスト車両に関連する1つ又は複数のカメラ又は画像センサから受信される画像データに基づいて検知状態を作成することができるが、ナビゲーションに使用される検知状態は、任意の適切なセンサ又はセンサの組合せを使用して作成することができる。幾つかの実施形態では、捕捉画像データを使用することなしに検知状態を作成することができる。実際、本明細書に記載のナビゲーション原理のいずれも、捕捉画像データに基づいて作成される検知状態並びに他の非画像ベースのセンサを使用して作成される検知状態に適用可能であり得る。検知状態は、ホスト車両の外部のソースによって決定することもできる。例えば、検知状態は、ホスト車両から離れたソースから受信される情報に基づいて(例えば、他の車両から共有されるか、中央サーバから共有されるか、又はホスト車両のナビゲーション状態に関連する情報の他の任意のソースから共有されるセンサ情報や処理された状態情報等に基づいて)完全に又は部分的に作成され得る。
【0133】
[0182] 以下でより詳細に解説し、処理ユニット110を使用して実装することができる運転ポリシモジュール803は、検知されるナビゲーション状態に応じてホスト車両が行う1つ又は複数のナビゲーション動作を決定するための所望の運転ポリシを実装することができる。ホスト車両の環境内に他のエージェント(例えば、目標車両又は歩行者)がない場合、運転ポリシモジュール803に入力される検知状態は、比較的簡単な方法で処理することができる。検知状態が1つ又は複数の他のエージェントとの折衝を必要とする場合、このタスクは、より複雑になる。運転ポリシモジュール803の出力を生成するために使用される技術は、強化学習(以下でより詳細に解説する)を含み得る。運転ポリシモジュール803の出力は、ホスト車両のための少なくとも1つのナビゲーション動作を含むことができ、考えられる所望のナビゲーション動作の中でも、(ホスト車両の更新された速度につながり得る)所望の加速度、ホスト車両の所望のヨー率、所望の軌道を特に含み得る。
【0134】
[0183] 運転ポリシモジュール803からの出力に基づき、同じく処理ユニット110を使用して実装することができる制御モジュール805は、ホスト車両に関連する1つ又は複数のアクチュエータ又は被制御装置のための制御命令を作成することができる。かかるアクチュエータ及び装置は、アクセル、1つ又は複数の操舵制御、ブレーキ、信号送信機、ディスプレイ、又はホスト車両に関連するナビゲーション動作の一環として制御され得る他の任意のアクチュエータ若しくは装置を含み得る。制御モジュール805の出力を生成するために制御理論の側面を使用することができる。運転ポリシモジュール803の所望のナビゲーション目標又は要件を実施するために、制御モジュール805は、ホスト車両の制御可能な構成要素への命令を作成し出力することを担い得る。
【0135】
[0184] 運転ポリシモジュール803に戻り、幾つかの実施形態では、強化学習によってトレーニングされるトレーニング済みシステムを使用して運転ポリシモジュール803を実装することができる。他の実施形態では、指定のアルゴリズムを使用して自律ナビゲーション中に生じ得る様々なシナリオに「手動で」対処することにより、運転ポリシモジュール803を機械学習法なしに実装することができる。しかし、かかる手法は、実行可能であるが、あまりにも単純過ぎる運転ポリシをもたらす可能性があり、機械学習に基づくトレーニング済みシステムの柔軟性を欠く場合がある。トレーニング済みシステムは、複雑なナビゲーション状態を処理する態勢がより整っている場合があり、タクシーが駐車しているか、乗客を乗せる又は降ろすために停車しているかをより良好に判定することができ、ホスト車両の前方の道路を歩行者が横断しようとしているかどうかをより良好に判定し、自衛性に対する他のドライバーの予期せぬ挙動のバランスをより良好に取り、目標車両及び/又は歩行者を含む混雑した道路をより良好に通り抜け、特定のナビゲーション規則を中断するか又は他の規則を強化するタイミングをより良好に決定し、未検知であるが予期される条件(例えば、歩行者が車又は障害物の裏から現れるかどうか)等をより良好に予期することができる。強化学習に基づくトレーニング済みシステムは、連続的な動作空間と共に連続的且つ高次元の状態空間に対処する態勢がより整っている場合もある。
【0136】
[0185] 強化学習を使用してシステムをトレーニングすることは、検知状態からナビゲーション動作にマッピングするために運転ポリシを学習することを含み得る。運転ポリシは、関数π:S→Aであり、Sは、状態の組であり、
【数1】
は、動作空間(例えば、所望の速度、加速度、ヨーコマンド等)である。状態空間は、S=S
SxS
pであり、S
Sは、検知状態であり、S
pは、ポリシによって保存された状態に対する追加情報である。離散的な時間間隔で機能し、時点tにおいて現在の状態s
t∈Sを観測することができ、ポリシを適用して所望の動作a
t=π(s
t)を得ることができる。
【0137】
[0186] システムは、様々なナビゲーション状態にさらし、システムにポリシを適用させ、(所望のナビゲーション挙動に報酬を与えるように設計される報酬関数に基づいて)報酬を与えることによって、トレーニングすることができる。報酬のフィードバックに基づき、システムは、ポリシを「学習」することができ、所望のナビゲーション動作を作り出すことについてトレーニングされた状態になる。例えば、学習システムは、現在の状態s
t∈Sを観測し、ポリシ
【数2】
に基づいて動作a
t∈Aを決定することができる。決定された動作(及びその動作の実施)に基づき、環境は、学習システムによって観測するための次の状態s
t+1∈Sに移る。観測された状態に応じて作成される各動作について、学習システムに対するフィードバックは、報酬信号r
1、r
2、...である。
【0138】
[0187] 強化学習(RL)の目標は、ポリシπを見つけることである。時点tにおいて、状態s
tにあり、動作a
tを行う即時の品質を測定する報酬関数r
tがあると通常想定される。しかし、時点tにおいて動作a
tを行うことは、環境に影響を与え、従って将来の状態の値に影響を及ぼす。その結果、いずれの動作を行うかを決定するとき、現在の報酬を考慮するだけでなく将来の報酬も検討すべきである。幾つかの場合、ここで報酬が低い選択肢を行った場合により多くの報酬を将来実現できるとシステムが判定する場合、たとえ利用可能な別の選択肢よりも特定の動作が低い報酬に関連していても、システムは、その動作を行うべきである。これを形式化するために、ポリシπ及び初期状態sが、
【数3】
にわたる分布を引き起こすことを観測し、エージェントが状態s
0=sから開始し、そこからポリシπに従う場合、ベクトル(r
1,...,r
T)の確率は、報酬r
1,...,r
Tを観測する確率である。初期状態の値は、次式で定めることができる。
[0188]
【数4】
【0139】
[0189] 対象期間をTに限定するのではなく、将来の報酬を割り引いて一部の固定されたγ∈(0,1)について次式を定めることができる。
[0190]
【数5】
【0140】
[0191] いずれにせよ、最適なポリシは、
[0192]
【数6】
[0193] の解であり、期待値は、初期状態sにわたる。
【0141】
[0194] 運転ポリシシステムをトレーニングするための幾つかのあり得る方法体系がある。例えば、システムは、状態/動作の対から学習する模倣手法(例えば、挙動クローニング)を使用することができ、動作は、特定の観測状態に応じて優良なエージェント(例えば、人間)によって選択されるものである。人間のドライバーが観測されると仮定する。この観測により、運転ポリシシステムをトレーニングするための基礎として、(st,at)という形式(stは、状態であり、atは、人間のドライバーの動作である)の多くの例を取得し、観測し、使用することができる。例えば、π(st)≒atが成立するように教師あり学習を使用してポリシπを学習することができる。この手法には多くの考えられる利点がある。第1に、報酬関数を定める必要がない。第2に、学習は、教師ありであり、オフラインで行われる(学習プロセス内でエージェントを適用する必要はない)。この方法の不利な点は、様々な人間のドライバー及び更には同じ人間のドライバーでさえ自分のポリシ選択の点で決定論的でないことである。従って、||π(st)-at||が非常に小さい関数を学習するのは不可能であることが多い。更に、小さい誤差でさえ徐々に蓄積して大きい誤差を発生させる場合がある。
【0142】
[0195] 使用され得る別の技法は、ポリシベースの学習である。ここで、ポリシは、パラメトリック形式で表し、適切な最適化技法(例えば、確率勾配降下)を使用して直接最適化することができる。この手法は、
【数7】
で与えられる問題を直接解くことである。当然ながら、この問題を解く多くの方法がある。この手法の1つの利点は、この手法が問題に直接取り組み、その結果、多くの場合に優れた実用的結果をもたらすことである。1つの潜在的な不利な点は、この手法が多くの場合に「オンポリシ」トレーニングを必要とすることであり、すなわち、πの学習は、反復的プロセスであり、完全ではないポリシπ
jが反復jで得られ、次のポリシπ
jを構築するには、π
jに基づいて動作しながら環境と相互作用しなければならない。
【0143】
[0196] システムは、値ベースの学習(Q関数又はV関数の学習)によってトレーニングすることもできる。最適値関数V*について優れた近似を学習できると仮定する。(例えば、ベルマン方程式を使用することにより)最適なポリシを構築することができる。値ベースの学習の一部のバージョンは、オフラインで実施することができる(「オフポリシ」トレーニングと呼ぶ)。値ベースの手法の一部の不利な点は、この手法がマルコフ仮定及び複雑な関数の所要の近似に強く依存することに起因し得る(ポリシを直接近似するよりも価値関数を近似する方が困難であり得る)。
【0144】
[0197] 別の技法は、モデルベースの学習及び計画(状態遷移の確率を学習し、最適なVを見出す最適化問題を解くこと)を含み得る。学習システムをトレーニングするためにこれらの技法の組合せを使用することもできる。この手法では、プロセスの動力学、すなわち(st,at)を取り、次の状態st+1にわたる分布をもたらす関数を学習することができる。この関数が学習されると、最適化問題を解いてその値が最適であるポリシπを見出すことができる。これを「計画」と呼ぶ。この手法の1つの利点は、学習部分が教師ありであり、三つ組(st,at,st+1)を観測することによってオフラインで適用できることであり得る。「模倣」手法と同様に、この手法の1つの不利な点は、学習プロセスにおける小さい誤差が蓄積し、機能が不十分なポリシをもたらす場合があることであり得る。
【0145】
[0198] 運転ポリシモジュール803をトレーニングするための別の手法は、運転ポリシ関数を意味的に重要な構成要素へと分解することを含み得る。そのようにすることは、ポリシの安全性を保証し得るポリシの一部を手動で実装すること、並びに多くのシナリオへの適応性、自衛的挙動/攻撃的挙動間の人間並みのバランス、及び他のドライバーとの人間並みの折衝を可能にし得る強化学習法を使用してポリシの他の部分を実装することを可能にする。技術的な観点から、強化学習法は、幾つかの方法体系を組み合わせ、トレーニングの殆どが、記録されたデータ又は自己構築シミュレータを使用して実行され得る扱い易いトレーニング手続きを提供することができる。
【0146】
[0199] 幾つかの実施形態では、運転ポリシモジュール803のトレーニングは、「選択肢」メカニズムを利用することができる。それを例証するために、2レーンの高速道路のための運転ポリシの単純なシナリオを検討する。ダイレクトRL手法では、状態を
【数8】
にマップするポリシπ、π(s)の第1の成分は、所望の加速コマンドであり、π(s)の第2の成分は、ヨー率である。修正された手法では、以下のポリシを構築することができる。
【0147】
[0200] 自動走行制御(ACC)ポリシ、oACC:S→A:このポリシは、0のヨー率を常に出力し、スムーズ且つ事故のない運転を実施するために速度のみを変更する。
【0148】
[0201] ACC+Leftポリシ、oL:S→A:このポリシの縦方向(longitudinal)のコマンドは、ACCコマンドと同じである。ヨー率は、安全な横方向の移動を確実にしながら(例えば、左側に車がある場合には左に移動しない)、車両を左レーンの中央に向けてセンタリングすることの簡単な実施である。
【0149】
[0202] ACC+Rightポリシ、oR:S→A:oLと同じであるが、車両は、右レーンの中央に向けてセンタリングされ得る。
【0150】
[0203] これらのポリシは、「選択肢」と呼ぶことができる。これらの「選択肢」に依存し、選択肢を選択するポリシπ
o:S→Oを学習することができ、但し、Oは、利用可能な選択肢の組である。ある事例では、O={o
ACC,o
L,o
R}が成立する。全てのsについて、
【数9】
を設定することにより、選択肢セレクタポリシπoは、実際のポリシ、π:S→Aを定める。
【0151】
[0204] 実際には、ポリシ関数は、
図9に示すように選択肢のグラフ901へと分解することができる。
図10に選択肢のグラフ1000の別の例を示す。選択肢のグラフは、有向非巡回グラフ(DAG)として編成される階層型の組の決定を表し得る。グラフの根ノード903と呼ばれる特別なノードがある。このノードには入力ノードがない。決定プロセスは、根ノードから始まり、出力決定線を有さないノードを指す「葉」ノードに到達するまでこのグラフを横断する。
図9に示すように、葉ノードは、例えば、ノード905、907、及び909を含み得る。葉ノードに遭遇すると、運転ポリシモジュール803は、葉ノードに関連する所望のナビゲーション動作に関連する加速コマンド及び操舵コマンドを出力し得る。
【0152】
[0205] 例えば、ノード911、913、915等の内部ノードは、その利用可能な選択肢の中から子を選択するポリシの実装をもたらし得る。内部ノードの利用可能な子の組は、決定線によって特定の内部ノードに関連するノードの全てを含む。例えば、
図9で「合流」として示す内部ノード913は、決定線によってノード913にそれぞれつながれる3つの子ノード909、915、及び917(「留まる」、「右側追い越し」、及び「左側追い越し」のそれぞれ)を含む。
【0153】
[0206] 選択肢のグラフの階層内でノードが自らの位置を調節できるようにすることにより、意思決定システムの柔軟性を得ることができる。例えば、ノードのいずれも自らを「重大」であると宣言することを認められ得る。各ノードは、ノードがそのポリシ実装の重大なセクション内にある場合、「真」を出力する関数「is critical」を実装することができる。例えば、テイクオーバを担うノードは、操作中に自らを重大であると宣言することができる。これは、ノードuの利用可能な子の組に対して制約を課す可能性があり、かかる子は、ノードuの子であり且つvから葉ノードへの重大であると指定される全てのノードを通過する経路が存在する全てのノードvを含み得る。かかる手法は、一方では、各時間ステップにおけるグラフ上の所望の経路の宣言を可能にし得るのに対し、他方では、とりわけポリシの重大な部分が実施されている場合においてポリシの安定性を保つことができる。
【0154】
[0207] 選択肢のグラフを定めることにより、運転ポリシπ:S→Aを学習する問題を、グラフの各ノードのポリシを定義する問題へと分解することができ、内部ノードにおけるポリシは、利用可能な子ノードの中から選択すべきである。ノードの一部について、個々のポリシを(例えば、観測される状態に応じた動作の組を指定するif-then形式のアルゴリズムによって)手動で実装することができる一方、他のものについて、強化学習によって構築されるトレーニング済みシステムを使用してポリシを実装することができる。手動の手法又はトレーニングされた/学習された手法の選択は、タスクに関連する安全性の側面及びその相対的な単純さに依存し得る。選択肢のグラフは、ノードの一部が簡単に実装される一方、他のノードがトレーニング済みモデルに依存し得る方法で構築され得る。かかる手法は、システムの安全な動作を保証することができる。
【0155】
[0208] 以下の解説は、運転ポリシモジュール803内の
図9の選択肢のグラフの役割に関する更なる詳細を与える。上記で論じたように、運転ポリシモジュールへの入力は、例えば、利用可能なセンサから得られる環境地図の概要を示す「検知状態」である。運転ポリシモジュール803の出力は、最適化問題の解として軌道を定める「願望」(Desire)の組(任意選択的に厳密制約の組を伴う)である。
【0156】
[0209] 上記のように、選択肢のグラフは、DAGとして編成される階層型の組の決定を表す。グラフの「根」と呼ばれる特別なノードがある。根ノードは、入力辺(例えば、決定線)を有さない唯一のノードである。決定プロセスは、根ノードから始まり、「葉」ノード、すなわち出力辺を有さないノードに到達するまでグラフを横断する。各内部ノードは、自らの利用可能な子の中から1つの子を選ぶポリシを実装すべきである。全ての葉ノードは、根から葉までの全経路に基づいて願望の組(例えば、ホスト車両のためのナビゲーション目標の組)を定めるポリシを実装すべきである。検知状態に基づいて直接定められる厳密制約の組と共に、願望の組は、その解が車両の軌道である最適化問題を確立する。システムの安全性を更に高めるために厳密制約を使用することができ、運転の快適さ及びシステムの人間並みの運転挙動をもたらすために願望を使用することができる。最適化問題への解として提供される軌道は、従って、軌道を実現するためにステアリング、ブレーキ、及び/又はエンジンアクチュエータに与えられるべきコマンドを定める。
【0157】
[0210]
図9に戻ると、選択肢のグラフ901は、合流レーンを含む2レーンの高速道路(ある時点において第3のレーンが高速道路の右レーン又は左レーンに合流することを意味する)に関する選択肢のグラフを表す。根ノード903は、ホスト車両が単純な道路のシナリオにあるか、合流シナリオに近づいているかをまず判断する。これは、検知状態に基づいて実施可能な判断の一例である。単純な道路のノード911は、留まるノード909、左側追い越しノード917、及び右側追い越しノード915という3つの子ノードを含む。留まるとは、ホスト車両が同じレーン内を走行し続けたい状況を指す。留まるノードは、葉ノードである(出力辺/線がない)。従って、留まるノードは、願望の組を定める。このノードが定める第1の願望は、例えば、現在の移動レーンの中央に可能な限り近い所望の横方向位置を含み得る。スムーズに(例えば、既定の又は許容可能な加速最大値の範囲内で)ナビゲートする願望もあり得る。留まるノードは、ホスト車両が他の車両に対してどのように反応するかも定めることができる。例えば、留まるノードは、検知される目標車両を調査し、軌道の成分に変換され得る意味論的意味(semantic meaning)をそれぞれに割り当てることができる。
【0158】
[0211] ホスト車両の環境内の目標車両に様々な意味論的意味を割り当てることができる。例えば、幾つかの実施形態では、意味論的意味は、以下の指示のいずれかを含むことができる:1)無関係:シーン内の検知車両が現在関係しないことを示す、2)隣レーン:検知車両が隣接レーン内にあり、その車両に対して適切なオフセットを保つべきであることを示す(正確なオフセットは、願望及び厳密制約を所与として軌道を構築する最適化問題で計算することができ、場合により車両に依存することができ、選択肢のグラフの留まる葉は、目標車両に対する願望を定める目標車両の意味論の種類を設定する)、3)道を譲る:ホスト車両は、(とりわけホスト車両のレーン内に目標車両が割り込む可能性が高いとホスト車両が判定する場合に)例えば減速することによって、検知した目標車両に道を譲ろうと試みる、4)道を進む:ホスト車両が例えば加速することによって優先通行権を受けて応じようと試みる、5)追走:ホスト車両がこの目標車両を追走してスムーズな運転を維持することを望む、6)左側/右側追い越し:これは、ホスト車両が左レーン又は右レーンへのレーン変更を開始したいことを意味する。左側追い越しノード917及び右側追い越しノード915は、依然として願望を定めていない内部ノードである。
【0159】
[0212] 選択肢のグラフ901内の次のノードは、間隙選択ノード919である。このノードは、ホスト車両が入りたい特定の目標レーン内の2つの目標車両間の間隙を選択することを担い得る。IDj形式のノードを選択することにより、jの何らかの値について、ホスト車両は、軌道最適化問題に関する願望、例えば選択された間隙に到達するためにホスト車両が操作を行いたいことを指定する葉に到達する。かかる操作は、現在のレーン内でまず加速し/ブレーキをかけ、選択された間隙に入るのに適した時点において目標レーンに進むことを含み得る。間隙選択ノード919が適切な間隙を見つけることができない場合、現在のレーンの中央に戻り、追い越しを取り消す願望を定める中止ノード921に進む。
【0160】
[0213] 合流ノード913に戻り、ホスト車両が合流に近づくと、ホスト車両には、特定の状況に依存し得る幾つかの選択肢がある。例えば、
図11Aに示すように、ホスト車両1105は、2レーン道路の主要レーン又は合流レーン1111内で他の目標車両を検出していない状態で2レーン道路に沿って移動している。この状況では、運転ポリシモジュール803は、合流ノード913に到達すると、留まるノード909を選択することができる。すなわち、道路に合流するものとして目標車両を検知しない場合、自らの現在のレーン内に留まることが望ましい場合がある。
【0161】
[0214]
図11Bでは、この状況が僅かに異なる。ここで、ホスト車両1105は、合流レーン1111から主たる道路1112に入ってくる1つ又は複数の目標車両1107を検知する。この状況では、運転ポリシモジュール803が合流ノード913に直面すると、運転ポリシモジュール803は、合流の状況を回避するために左側追い越し操作を開始することに決めることができる。
【0162】
[0215]
図11Cでは、ホスト車両1105は、合流レーン1111から主たる道路1112に入る1つ又は複数の目標車両1107に遭遇する。ホスト車両1105は、ホスト車両のレーンに隣接するレーン内を移動する目標車両1109も検出する。ホスト車両は、ホスト車両1105と同じレーン内を移動する1つ又は複数の目標車両1110も検出する。この状況では、運転ポリシモジュール803は、ホスト車両1105の速度を調節して目標車両1107に道を譲り、目標車両1115の前に進むことに決めることができる。これは、例えば、適切な合流の間隙としてID0(車両1107)とID1(車両1115)との間の間隙を選択する間隙選択ノード919に進むことによって実現され得る。その場合、合流の状況の適切な間隙が軌道プランナ最適化問題の目的を定める。
【0163】
[0216] 上記で論じたように、選択肢のグラフのノードは、自らを「重大」であると宣言することができ、かかる宣言は、選択される選択肢が重大なノードを通過することを確実にし得る。形式上、各ノードは関数IsCriticalを実装することができる。選択肢のグラフ上で根から葉への順方向パスを行い、軌道プランナの最適化問題を解いた後、葉から根に逆方向パスを行うことができる。この逆方向パスに沿ってパス内の全てのノードのIsCritical関数を呼び出すことができ、全ての重大なノードのリストを保存することができる。次の時間枠に対応する順方向経路内において、全ての重大なノードを通過する根ノードから葉ノードへの経路を選択することを運転ポリシモジュール803が要求され得る。
【0164】
[0217]
図11A~
図11Cは、この手法の考えられる利益を示すために使用することができる。例えば、追い越し動作が開始され、運転ポリシモジュール803がIDkに対応する葉に到達する状況では、ホスト車両が追い越し操作の途中にある場合、例えば留まるノード909を選択することは望ましくない。このジャンプ性を回避するために、IDjノードは、自らを重大であると指定することができる。操作中、軌道プランナの成功を監視することができ、関数IsCriticalは、追い越し操作が意図した通りに進む場合に「真」値を返す。この手法は、(最初に選択した操作を完了する前に潜在的に整合性のない別の操作にジャンプするのではなく)次の時間枠内で追い越し操作が続行されることを確実にし得る。他方では、選択された操作が意図した通りに進んでいないことを操作の監視が示す場合又は操作が不要若しくは不可能になった場合、関数IsCriticalは、「偽」値を返すことができる。これは、間隙選択ノードが次の時間枠内で異なる間隙を選択すること、又は追い越し操作を完全に中止することを可能にし得る。この手法は、一方では、各時間ステップにおける選択肢のグラフ上の所望の経路の宣言を可能にし得るのに対し、他方では、実行の重大な部分にある場合においてポリシの安定性を促進することを支援し得る。
【0165】
[0218] 以下でより詳細に解説する厳密制約は、ナビゲーションの願望と区別することができる。例えば、厳密制約は、計画されたナビゲーション動作の追加のフィルタリング層を適用することによって安全運転を保証することができる。強化学習に基づいて構築されるトレーニング済みシステムを使用することによってではなく、手動でプログラムされ定義され得る関与する厳密制約は、検知状態から決定することができる。但し、幾つかの実施形態では、トレーニングされたシステムは、適用され従うことになる適用可能な厳密制約を学習することができる。かかる手法は、適用可能な厳密制約に既に準拠している選択された動作に運転ポリシモジュール803が到達することを促進することができ、そうすることで適用可能な厳密制約に準拠するために後に修正を必要とし得る選択された動作を減らすか又は除去することができる。それでもなお、冗長な安全対策として、所定の厳密制約を考慮するように運転ポリシモジュール803が訓練されている場合でも、運転ポリシモジュール803の出力に厳密制約を適用することができる。
【0166】
[0219] 考えられる厳密制約の多くの例がある。例えば、厳密制約は、道路縁のガードレールに関連して定めることができる。いかなる状況でも、ホスト車両がガードレールを越えることは認められない。そのような規則は、ホスト車両の軌道に対する横方向の厳密制約を引き起こす。厳密制約の別の例は、道路のバンプ(例えば、速度制御バンプ)を含むことができ、かかるバンプは、バンプ前の又はバンプを横断する間の運転速度に対する厳密制約を引き起こし得る。厳密制約は、安全を最重視すべきであると考えることができ、従ってトレーニング中に制約を学習するトレーニング済みシステムに専ら依存するのではなく、手動で定めることができる。
【0167】
[0220] 厳密制約とは対照的に、願望の目標は、快適な運転を可能にするか又は実現することであり得る。上記で論じたように、願望の一例は、ホスト車両のレーンの中央に対応するレーン内の横方向位置にホスト車両を位置決めする目標を含み得る。別の願望は、入り込むための間隙のIDを含み得る。ホスト車両は、厳密にレーンの中央にある必要はなく、代わりにレーンの中央に可能な限り近くありたいという願望は、ホスト車両がレーンの中央から外れた場合にもレーンの中央に移動し易いことを保証できることに留意されたい。願望は、安全を最重視しなくてもよい。幾つかの実施形態では、願望は、他のドライバー及び歩行者との折衝を必要とし得る。願望を構築するためのある手法は、選択肢のグラフを利用することができ、グラフの少なくとも一部のノード内で実装されるポリシは、強化学習に基づき得る。
【0168】
[0221] 学習に基づいてトレーニングされるノードとして実装される選択肢のグラフ901又は1000のノードについて、トレーニングプロセスは、問題を教師あり学習フェーズ及び強化学習フェーズへと分解することを含み得る。教師あり学習フェーズでは、
【数10】
が成立するように、(s
t,a
t)から
【数11】
への可微分マッピングが学習され得る。これは、「モデルベースの」強化学習と同様であり得る。しかし、ネットワークの順方向ループでは、
【数12】
をs
t+1の実際の値で置換し、それにより誤差が蓄積する問題をなくすことができる。
【数13】
の予測の役割は、将来から過去の動作にメッセージを伝えることである。この意味において、アルゴリズムは、「モデルベースの」強化学習と「ポリシベースの学習」との組み合わせであり得る。
【0169】
[0222] 一部のシナリオにおいて提供され得る重要な要素は、将来の損失/報酬から動作に関する決定に戻る可微分経路である。選択肢のグラフの構造では、安全制約を含む選択肢の実装は、通常、微分できない。この問題を克服するために、学習されるポリシのノードにおける子の選択は、確率論的であり得る。すなわち、ノードは、確率ベクトルpを出力することができ、確率ベクトルpは、特定のノードの子のそれぞれを選択する際に使用される確率を割り当てる。あるノードがk個の子を有すると仮定し、a
(1),...,a
(k)がそれぞれの子から葉への経路の動作とする。従って、結果として生じる予測動作は、
【数14】
であり、これは、動作からpへの可微分経路をもたらし得る。実際には、動作aは、i~pに関してa
(i)であるように選択することができ、aと
【数15】
との差を付加雑音と呼ぶことができる。
【0170】
[0223] s
t、a
tを所与として、
【数16】
をトレーニングするために、実際のデータと共に教師あり学習を使用することができる。ノードのポリシをトレーニングするためにシミュレータを使用することができる。後に実際のデータを使用してポリシの微調整を実現することができる。2つの概念がシミュレーションをより現実的にし得る。第1に、模倣を使用し、大規模な現実世界のデータセットを使用する「挙動クローニング」パラダイムを使用して初期ポリシを構築することができる。幾つかの場合、結果として生じるエージェントが適している場合がある。他の事例では、結果として生じるエージェントは、道路上の他のエージェントのための非常に優れた初期ポリシを少なくとも形成する。第2に、セルフプレイを使用し、本発明者らの独自のポリシを使用してトレーニングを増補することができる。例えば、遭遇し得る他のエージェント(車/歩行者)の初期実装を所与として、シミュレータに基づいてポリシをトレーニングすることができる。他のエージェントの一部は、新たなポリシで置換することができ、このプロセスを繰り返すことができる。その結果、異なる洗練レベルを有する一層多岐にわたる他のエージェントに応答すべきであるため、ポリシが改善し続けることができる。
【0171】
[0224] 更に幾つかの実施形態では、システムは、マルチエージェント手法を実装することができる。例えば、システムは、様々なソースからのデータ及び/又は複数の角度から捕捉する画像を考慮することができる。更に、ホスト車両に直接関与しないが、ホスト車両に影響を有し得る事象の予測を考慮することができ、更には他の車両を含む予測不能な状況をもたらし得る事象の予測を考慮することができる(例えば、レーダは、先行車両及びホスト車両に影響を及ぼす不可避の事象、更にはかかる事象の高い可能性の予想を「見通す」ことができる)ため、開示する一部の実施形態は、エネルギの節約をもたらし得る。
【0172】
[0225] 課せられたナビゲーション制約を伴うトレーニング済みシステム
[0226] 自律運転に関連して、重大な関心事は、トレーニング済みナビゲーションネットワークの学習されたポリシが安全であることをどのように保証するかである。幾つかの実施形態では、制約を使用して運転ポリシシステムをトレーニングすることができ、そのため、トレーニング済みシステムによって選択される動作は、適用可能な安全制約を既に考慮している可能性がある。加えて、幾つかの実施形態では、ホスト車両の環境内の特定の検知シーンによって関与される1つ又は複数の厳密制約にトレーニング済みシステムの選択された動作を通すことにより、追加の安全層を提供することができる。かかる手法は、ホスト車両によって行われる動作が、適用可能な安全制約を満たすものであると確認されるものに限定されていることを確実にし得る。
【0173】
[0227] その核心において、ナビゲーションシステムは、観測した状態を1つ又は複数の所望の動作にマップするポリシ関数に基づく学習アルゴリズムを含み得る。一部の実装形態では、学習アルゴリズムは、ディープラーニングアルゴリズムである。所望の動作は、車両について予期される報酬を最大化することが期待される少なくとも1つの動作を含み得る。幾つかの場合、車両が行う実際の動作は、所望の動作の1つに対応し得るが、他の事例では、行われる実際の動作は、観測される状態、1つ又は複数の所望の動作、及び学習するナビゲーションエンジンに課せられる非学習厳密制約(例えば、安全制約)に基づいて決定され得る。これらの制約は、様々な種類の検出物体(例えば、目標車両、歩行者、路肩の又は道路内の静的物体、路肩の又は道路内の移動物体、ガードレール等)を取り囲む非運転区域を含み得る。幾つかの場合、区域のサイズは、検出物体の検出される動き(例えば、速度及び/又は方向)に基づいて変わり得る。他の制約は、歩行者の影響区域内を通過するときの最大移動速度、(ホスト車両の後ろの目標車両の間隔に対処するための)最大減速度、検知した横断歩道又は踏切における強制的な停止等を含み得る。
【0174】
[0228] 機械学習によってトレーニングされるシステムと共に使用される厳密制約は、トレーニング済みシステムのみの出力に基づいて得ることができる安全度を上回り得るある程度の安全性を自律運転において提供することができる。例えば、機械学習システムは、トレーニングのガイドラインとして所望の制約の組を使用してトレーニングすることができ、従って、トレーニング済みシステムは、適用可能なナビゲーション制約の制限で構成され、かかる制限を守る動作を検知されたナビゲーション状態に応じて選択することができる。しかし、それでもなお、ナビゲーション動作を選択する際、トレーニング済みシステムは、幾らかの柔軟性を有し、従ってトレーニング済みシステムによって選択される動作が関連するナビゲーション制約に厳密に従わない可能性がある少なくとも幾つかの状況があり得る。従って、選択される動作が関連するナビゲーション制約に厳密に従うことを求めるために、学習/トレーニングフレームワークの外側にある関連するナビゲーション制約の厳密な適用を保証する非機械学習構成要素を使用し、トレーニング済みシステムの出力を組み合わせ、比較し、フィルタリングし、調節し、修正等することができる。
【0175】
[0229] 以下の解説は、トレーニング済みシステム、及びトレーニング済みシステムを、トレーニング/学習フレームワークの外側にあるアルゴリズム構成要素と組み合わせることから得ることができる(とりわけ安全性の観点からの)考えられる利益に関する更なる詳細を示す。先に論じたように、ポリシによる強化学習目的は、確率的勾配上昇法によって最適化することができる。目的(例えば、期待報酬)は、
【数17】
として定めることができる。
【0176】
[0230] 機械学習シナリオでは、期待値を含む目的を使用することができる。但し、かかる目的は、ナビゲーション制約に拘束されることなしに、それらの制約によって厳密に拘束される動作を返さない場合がある。例えば、回避すべき稀な「曲がり角」の事象(例えば、事故等)を表す軌道について、
【数18】
が成立し、残りの軌道について、
【数19】
が成立する報酬関数を検討し、学習システムの1つの目標は、追い越し操作の実行を学習することであり得る。通常、事故のない軌道では、
【数20】
は、問題ないスムーズな追い越しに報酬を与え、追い越しを完了せずにレーン内に、従って範囲[-1,1]内に留まることにペナルティを科す。シーケンス
【数21】
が事故を表す場合、報酬-rは、かかる発生を妨げるために十分高いペナルティを与えるべきである。問題は、事故のない運転を保証するためにrの値を何にすべきかである。
【0177】
[0231]
【数22】
に対する事故の効果は、加法項-p
rであり、pは、事故の事象を伴う軌道の確率質量であることに注意されたい。この項が無視できる、すなわちp<<1/rである場合、学習システムは、一部の追い越し操作の完了が成功しないことを犠牲にして、より自衛的であるポリシよりも頻繁に追い越し操作の成功を果たすために、事故を行うポリシを優先させる(又は全般的に無頓着な運転ポリシを採用する)ことができる。換言すれば、事故の確率がp以下である場合、r>>1/pであるようにrを設定しなければならない。pを極めて小さくする(例えば、p=10
-9程度)ことが望ましい場合がある。従って、rは、大きいべきである。ポリシの勾配では、
【数23】
の勾配を推定することができる。以下の補助定理は、確率変数
【数24】
の分散が、r>>1/pでrを上回る
【数25】
と共に大きくなることを示す。従って、目的を推定することが困難な場合があり、その勾配を推定することは一層困難であり得る。
【0178】
[0232] 補助定理:π
oをポリシとし、p及びrをスカラとし、それにより、確率pにおいて、
【数26】
が得られ、確率1-pにおいて、
【数27】
が得られる。従って、次式
[0233]
【数28】
[0234] が成立し、最後の近似は、r≧1/pの場合に該当する。
【0179】
[0235] この解説は、形式
【数29】
のオブジェクションが分散問題を引き起こすことなしに機能的安全性を保証できない可能性があることを示す。分散を減らすためのベースラインサブトラクション法は、問題に対する十分な処置を提供しない可能性があり、なぜなら、問題は、
【数30】
の高い分散から、その推定が数値的不安定を等しく被るベースライン定数の等しく高い分散にシフトするからである。更に、事故の確率がpである場合、事故の事象を得る前に平均して少なくとも1/pシーケンスがサンプリングされるべきである。これは、
【数31】
を最小化しようとする学習アルゴリズムのためのシーケンスの1/pサンプルの下端を含意する。この問題に対する解決策は、数値的調整技法によってではなく、本明細書に記載のアーキテクチャ設計において見出すことができる。ここでの手法は、厳密制約が学習フレームワークの外側に投入されるべきであるという考えに基づく。換言すれば、ポリシ関数は、学習可能部分及び学習不能部分に分解することができる。形式的に、ポリシ関数は、
【数32】
として構成することができ、
【数33】
は、(不可知論的な)状態空間を願望の組(例えば、所望のナビゲーション目標等)にマップする一方、π
(T)は、願望を(短期のうちに車がどのように動くべきかを決定し得る)軌道にマップする。関数
【数34】
は、運転の快適さ、並びに他のいずれの車を追い越すべきか、他のいずれの車に道を譲るべきか、及びホスト車両のレーン内でのホスト車両の所望の位置はいずれであるか等の戦略的決定を行うことを担う。検知されるナビゲーション状態から願望へのマッピングは、期待報酬を最大化することによって経験から学習され得るポリシ
【数35】
である。
【数36】
によって作り出される願望は、運転軌道にわたるコスト関数に変換され得る。機能的安全性に関する厳密制約の影響下にあるコストを最小化する軌道を見つけることにより、学習される関数ではない関数π
(T)を実施することができる。この分解は、快適な運転を提供するのと同時に機能的安全性を保証することができる。
【0180】
[0236]
図11Dに示す二重合流ナビゲーション状況は、これらの概念を更に示す一例を与える。二重合流では、左側と右側との両方から車両が合流領域1130に到達する。それぞれの側から、車両1133又は車両1135等の車両が合流領域1130の反対側のレーン内に合流するかどうかを決定することができる。混雑した交通において、二重合流を問題なく実行することは、著しい折衝スキル及び経験を必要とする場合があり、シーン内の全てのエージェントが行い得る可能な全ての軌道を列挙することによる発見的手法又は総当たり的手法において実行するのは困難であり得る。この二重合流の例では、二重合流操作に適した願望の組Dを定めることができる。Dは、以下の組のデカルト積
D=[0,v
max]xLx{g,t,o}
とすることができ、但し、[0,v
max]は、ホスト車両の所望の目標速度であり、L={1,1.5,2,2.5,3,3.5,4}は、レーン単位での所望の横方向位置であり、整数は、レーンの中央を示し、分数は、レーンの境界を示し、{g,t,o}は、他のn台の車両のそれぞれに割り当てられる分類ラベルである。ホスト車両が他の車両に道を譲るべき場合、他の車両に「g」を割り当てることができ、ホスト車両が他の車両に対して道を得るべき場合、他の車両に「t」を割り当てることができ、又はホスト車両が他の車両に対してオフセット距離を保つべき場合、他の車両に「o」を割り当てることができる。
【0181】
[0237] 以下は、願望の組(v,l,c1,...,cn)∈Dを運転軌道にわたるコスト関数にどのように変換できるかについての説明である。運転軌道は、(x1,y1),...,(xk,yk)によって表すことができ、(xi,yi)は、時点τ・iにおける(自己中心的な単位での)ホスト車両の(横方向、縦方向の)位置である。一部の実験では、τ=0.1秒であり、k=10である。当然ながら、他の値を選択することもできる。軌道に割り当てられるコストは、所望の速度と、横方向位置と、他のn台の車両のそれぞれに割り当てられるラベルとに割り当てられる個々のコストの加重和を含み得る。
【0182】
[0238] 所望の速度v∈[0,v
max]を所与として、速度に関連する軌道のコストは
【数37】
である。
【0183】
[0239] 所望の横方向位置l∈Lを所与として、所望の横方向位置に関連するコストは
【数38】
[0240] であり、但し、dist(x,y,l)は、点(x,y)からレーンの位置lまでの距離である。他の車両に起因するコストに関して、他の任意の車両について、(x'
1,y'
1),...,(x'
k,y'
k)は、ホスト車両の自己中心的な単位での他の車両を表すことができ、iは、(x
i,y
i)と(x'
j,y'
j)との間の距離が小さいようにjが存在する最も早い点であり得る。そのような点がない場合、iは、i=∞として設定することができる。別の車が「道を譲る」と分類される場合、τi>τj+0.5であることが望ましい場合があり、これは、他の車両が軌道の交点に到達する少なくとも0.5秒後にホスト車両がその同一点に到達することを意味する。上記の制約をコストに変換するためのあり得る式は、[τ(j-i)+0.5]+である。
【0184】
[0241] 同様に、別の車が「道を取る」と分類される場合、τj>τi+0.5であることが望ましい場合があり、これは、コスト[τ(i-j)+0.5]+に変換され得る。別の車が「オフセット」として分類される場合、i=∞であることが望ましい場合があり、これは、ホスト車両の軌道とオフセット車の軌道とが交差しないことを意味する。この条件は、軌道間の距離に関してペナルティを科すことによってコストに変換することができる。
【0185】
[0242] これらのコストのそれぞれに重みを割り当てることは、軌道プランナのための単一の目的関数π(T)を与え得る。スムーズな運転を促進するコストを目的に追加することができる。軌道の機能的安全性を保証するために厳密制約を目的に追加することができる。例えば、(xi,yi)は、道路から外れることを禁じられ得、(xi,yi)は、|i-j|が小さい場合に他の任意の車両の任意の軌道点(x'j,y'j)について(x'j,y'j)に近づくことを禁じられ得る。
【0186】
[0243] 要約すると、ポリシπθは、不可知論的な状態から願望の組へのマッピング、及び願望から実際の軌道へのマッピングへと分解することができる。後者のマッピングは、学習に基づかず、そのコストが願望に依存し且つその厳密制約がポリシの機能的安全性を保証し得る最適化問題を解くことによって実施することができる。
【0187】
[0244] 以下の解説は、不可知論的な状態から願望の組へのマッピングについて説明する。上記で説明したように、機能的安全性に準拠するために、強化学習のみに依存するシステムは、報酬
【数39】
に関する大きく扱いにくい分散に直面する可能性がある。この結果は、ポリシ勾配反復を使用することにより、(不可知論的な)状態空間から願望の組へのマッピングと、その後に続く機械学習に基づいてトレーニングされるシステムを含まない実際の軌道へのマッピングとに問題を分解することによって回避することができる。
【0188】
[0245] 様々な理由から、意味論的に有意な構成要素へと、意思決定を更に分解することができる。例えば、Dのサイズが大きく、更には連続的である場合がある。
図11Dに関して上記で説明した二重合流シナリオでは、D=[0,v
max]xLx{g,t,o}n)が成立する。加えて、勾配推定子は、項
【数40】
を含み得る。この式では、分散が対象期間Tと共に増加し得る。幾つかの場合、Tの値は、およそ250とすることができ、この値は、有意の分散を作り出すのに十分高いものであり得る。サンプリングレートが10Hzの範囲内にあり、合流領域1130が100メートルであると仮定し、合流の準備は、合流領域の約300メートル手前で始まり得る。ホスト車両が16メートル/秒(時速約60キロ)で移動する場合、エピソードのTの値は、およそ250であり得る。
【0189】
[0246] 選択肢のグラフの概念に戻り、
図11Dに示す二重合流シナリオを表し得る選択肢のグラフを
図11Eに示す。先に論じたように、選択肢のグラフは、有向非巡回グラフ(DAG)として編成される階層型の組の決定を表し得る。「根」ノード1140と呼ばれる特別なノードがグラフ内にあり得、根ノードは、入力辺(例えば、決定線)を有さない唯一のノードである。決定プロセスは、根ノードから始まり、「葉」ノード、すなわち出力辺を有さないノードに到達するまでグラフを横断し得る。各内部ノードは、自らの利用可能な子の中から1つの子を選ぶポリシ関数を実装することができる。選択肢のグラフ上の横断の組から願望の組Dへの既定のマッピングがあり得る。換言すれば、選択肢のグラフ上での横断がD内の願望に自動で変換され得る。グラフ内のノードvを所与として、パラメータベクトルθ
vは、vの子を選択するポリシを規定し得る。θが全てのθ
vの連結である場合、各ノードvにおいてθ
vによって定められるポリシを使用して、子ノードを選択しながらグラフの根から葉に横断することにより、
【数41】
を定めることができる。
【0190】
[0247]
図11Eの二重合流の選択肢のグラフ1139では、ホスト車両が合流領域(例えば、
図11Dの領域1130)内にあるかどうか、又は代わりにホスト車両が合流領域に近づいており、あり得る合流に備える必要があるかどうかを根ノード1140がまず判断することができる。いずれの場合にも、ホスト車両は、レーンを(例えば、左側に又は右側に)変更するかどうか、又は現在のレーン内に留まるかどうかを決定する必要があり得る。ホスト車両がレーンを変更することに決めた場合、ホスト車両は、そのまま続行して、(例えば、「行く」ノード1142において)レーン変更操作を行うのに条件が適しているかどうかを判断する必要があり得る。レーンを変更することが可能ではない場合、ホスト車両は、レーンマーク上にあることを狙うことにより、(例えば、所望のレーン内の車両との折衝の一環としてノード1144において)所望のレーンに向かって「押し進む」ことを試みることができる。或いは、ホスト車両は、(例えば、ノード1146において)同じレーン内に「留まる」ことを選び得る。このプロセスは、ホスト車両の横方向位置を自然な方法で決定することができる。例えば。
【0191】
[0248] これは、所望の横方向位置を自然な方法で決定することを可能にし得る。例えば、ホスト車両がレーン2からレーン3にレーンを変更する場合、「行く」ノードは、所望の横方向位置を3に設定することができ、「留まる」ノードは、所望の横方向位置を2に設定することができ、「押し進む」ノードは、所望の横方向位置を2.5に設定することができる。次に、ホスト車両は、「同じ」速度を保つか(ノード1148)、「加速」するか(ノード1150)、又は「減速」するか(ノード1152)を決めることができる。次に、ホスト車両は、他の車両を調べる「鎖状」構造1154に入ることができ、それらの意味論的意味を組{g,t,o}内の値に設定する。このプロセスは、他の車両に対する願望を設定し得る。この鎖内の全てのノードのパラメータは、(回帰ニューラルネットワークと同様に)共有され得る。
【0192】
[0249] 選択肢の考えられる利益は、結果の解釈可能性である。別の考えられる利益は、組Dの分解可能な構造を利用することができ、従って各ノードにおけるポリシを少数の可能性の中から選べることである。加えて、構造は、ポリシ勾配推定子の分散を減らすことを可能にし得る。
【0193】
[0250] 上記で論じたように、二重合流シナリオにおけるエピソードの長さは、およそT=250ステップであり得る。この値(又は特定のナビゲーションシナリオに応じた他の任意の適切な値)は、ホスト車両の動作の結果を認めるのに十分な時間を与え得る(例えば、ホスト車両が合流の準備としてレーンを変更することに決めた場合、ホスト車両は、合流を問題なく完了した後にのみ利益を認める)。他方では、運転のダイナミクスにより、ホスト車両は、十分速い頻度(例えば、上記の事例では10Hz)で意思決定を行わなければならない。
【0194】
[0251] 選択肢のグラフは、Tの有効値を少なくとも2つの方法で減らすことを可能にし得る。第1に、高レベルの決定を所与として、より短いエピソードを考慮に入れながら低レベルの決定について報酬を定めることができる。例えば、ホスト車両が「レーン変更」及び「行く」ノードを既に選択している場合、2~3秒のエピソードを見ることにより、意味論的意味を車両に割り当てるためのポリシが学習され得る(Tが250ではなく20~30になることを意味する)。第2に、高レベルの決定(レーンを変更するか又は同じレーン内に留まるか等)について、ホスト車両は、0.1秒ごとに意思決定を行う必要がない可能性がある。代わりに、ホスト車両は、より低い頻度で(例えば、毎秒)意思決定を行うことができ得るか、又は「選択肢終了」関数を実装することができ得、選択肢の終了後ごとにのみ勾配が計算され得る。いずれの場合にも、Tの有効値は、その元の値よりも一桁小さいものであり得る。全体的に見て、全てのノードにおける推定子は、元の250ステップよりも一桁小さいTの値に依存することができ、それは、より小さい分散に直ちに変わり得る。
【0195】
[0252] 上記で論じたように、厳密制約は、より安全な運転を促進することができ、幾つかの異なる種類の制約があり得る。例えば、静的な厳密制約は、検知状態から直接定められ得る。これらは、車両の速度、進行方位、加速、ブレーキ(減速)等に対する1つ又は複数の制約を含意し得る、ホスト車両の環境内の減速バンプ、制限速度、道路の曲率、交差点等を含み得る。静的な厳密制約は、意味論的自由空間も含むことができ、そこでは、ホスト車両は、例えば、自由空間の外側に行くこと、及び物理的障壁にあまりにも近くでナビゲートすることを禁止される。静的な厳密制約は、車両の運動学的な動きの様々な側面に従わない操作を制限する(例えば、禁止する)こともでき、例えば、静的な厳密制約は、ホスト車両が横転すること、滑ること、又は他の方法で制御を失うことにつながり得る操作を禁止するために使用することができる。
【0196】
[0253] 厳密制約は、車両に関連することもできる。例えば、車両が他の車両への少なくとも1メートルの縦方向距離及び他の車両からの少なくとも0.5メートルの横方向距離を保つことを要求する制約を使用することができる。ホスト車両が1つ又は複数の他の車両との衝突コースを保つことを避けるように制約を適用することもできる。例えば、時間τは、特定のシーンに基づく時間の測度であり得る。現在の時間から時間τまでのホスト車両及び1つ又は複数の他の車両の予測軌道を検討することができる。2つの軌道が交差する場合、
【数42】
は、交点に車両iが到達する時間及びそこから去る時間を表し得る。すなわち、それぞれの車は、車の第1の部分が交点を通過するときに点に到達し、車の最後の部分が交点を通過するまで一定の時間が必要である。この一定の時間は、到達時間と去る時間とを分ける。
【数43】
である(すなわち車両1の到達時間が車両2の到達時間未満である)と仮定し、車両2が到達するよりも前に車両1が交点を離れていることを確実することが望まれる。さもなければ衝突が発生することになる。従って、
【数44】
であるように厳密制約を実装することができる。更に、車両1と車両2とが最小量で互いに当たらないことを確実にするために、制約に緩衝時間(例えば、0.5秒又は別の適切な値)を含めることによって追加の安全余裕を得ることができる。2つの車両の予測される交差軌道に関係する厳密制約は、
【数45】
として表すことができる。
【0197】
[0254] ホスト車両及び1つ又は複数の他の車両の軌道を追跡する時間τは、異なり得る。但し、速度が遅い可能性がある交差点のシナリオでは、τがより長いことができ、ホスト車両がτ秒未満で交差点に入り、そこから出ていくようにτを定めることができる。
【0198】
[0255] 当然ながら、車両の軌道に厳密制約を適用することは、それらの車両の軌道が予測されることを必要とする。ホスト車両では、任意の所与の時間における意図された軌道をホスト車両が概して既に理解しており実際に計画しているため、軌道の予測は、比較的簡単であり得る。他の車両に関して、それらの車両の軌道を予測することは、あまり簡単ではない可能性がある。他の車両では、予測軌道を決定するためのベースライン計算は、例えば、ホスト車両に搭載されている1つ若しくは複数のカメラ及び/又は他のセンサ(レーダ、ライダ、音響等)によって捕捉される画像ストリームの分析に基づいて求められる他の車両の現在の速度及び進行方位に依存し得る。
【0199】
[0256] 但し、問題を簡単にするか又は別の車両について予測される軌道の更なる信頼度を少なくとももたらす幾らかの例外があり得る。例えば、レーンの指示があり、道を譲る規則が存在し得る構造化された道路に関して、他の車両の軌道は、レーンに対する他の車両の位置に少なくとも部分的に基づくことができ、適用可能な道を譲る規則に基づくことができる。従って一部の状況では、観測されるレーン構造がある場合、隣のレーンの車両は、レーンの境界を守ることが想定され得る。すなわち、ホスト車両は、隣のレーンの車両がホスト車両のレーン内に割り込むことを示す観測された根拠(例えば、信号灯、強い横方向の動き、レーンの境界を横断する動き)がない限り、隣のレーンの車両が自らのレーン内に留まると想定し得る。
【0200】
[0257] 他の状況も、他の車両の予期される軌道に関するヒントを与え得る。例えば、ホスト車両に優先通行権があり得る停止標識、信号機、環状交差路等において、その優先通行権を他の車両が守ると想定することができる。従って、規則が破られたことが観測された根拠がない限り、他の車両は、ホスト車両が有する優先通行権を尊重する軌道に沿って進むと想定することができる。
【0201】
[0258] 厳密制約は、ホスト車両の環境内の歩行者に関して適用することもできる。例えば、観測される任意の歩行者に対する規定の緩衝距離よりも少しでも近くでホスト車両がナビゲートすることを禁止するように、歩行者に対する緩衝距離を確立することができる。歩行者の緩衝距離は、任意の適切な距離とすることができる。幾つかの実施形態では、緩衝距離は、観測される歩行者に対して少なくとも1メートルであり得る。
【0202】
[0259] 車両の状況と同様に、厳密制約は、歩行者とホスト車両との間の相対運動に対して適用することもできる。例えば、ホスト車両の予測軌道に対して(進行方向及び速度に基づく)歩行者の軌道を監視することができる。特定の歩行者の軌道を所与として、軌道上の全ての点pについて、t(p)は、歩行者が点pに到達するのにかかる時間を表し得る。歩行者から少なくとも1メートルの所要の緩衝距離を保つために、t(p)は、(ホスト車両が少なくとも1メートルの距離の差で歩行者の前を通過するように十分な時間差を伴って)ホスト車両が点pに到達する時間を上回らなければならず、又は(例えば、ホスト車両がブレーキをかけて歩行者に道を譲る場合)t(p)は、ホスト車両が点pに到達する時間を下回らなければならない。更に後者の例では、ホスト車両が歩行者の背後を通過し、少なくとも1メートルの所要の緩衝距離を保つことができるように、ホスト車両が歩行者よりも十分遅い時間に点pに到達することを厳密制約が要求し得る。当然ながら、歩行者の厳密制約には例外があり得る。例えば、ホスト車両に優先通行権があるか又は速度が非常に遅く、かつ歩行者がホスト車両に道を譲るのを拒否することやホスト車両に向かってナビゲートすることについて、観測される根拠がない場合、歩行者の厳密制約を(例えば、少なくとも0.75メートル又は0.50メートルのより狭い緩衝に)緩和することができる。
【0203】
[0260] 一部の例では、全てを満たすことができないと判定される場合に制約を緩和することができる。例えば、両方のカーブから又はカーブと駐車車両から所望の間隔(例えば、0.5メートル)離れるには道路が狭過ぎる状況では、軽減事由がある場合に制約の1つ又は複数を緩和することができる。例えば、歩道上に歩行者(又は他の物体)がない場合、カーブから0.1メートルにおいてゆっくり進むことができる。幾つかの実施形態では、そうすることでユーザエクスペリエンスが改善する場合、制約を緩和することができる。例えば、くぼみを回避するために、制約を緩和して通常許可され得るよりもレーンの縁、カーブ、又は歩行者の近くを車両がナビゲートすることを可能にし得る。更に、いずれの制約を緩和するかを決定するとき、幾つかの実施形態では、緩和することに決める1つ又は複数の制約は、安全に対して得られる悪影響が最も少ないと見なされるものである。例えば、車両がカーブ又はコンクリート障壁に対してどの程度近く移動できるかに関する制約は、他の車両への近さを扱う制約を緩和する前に緩和することができる。幾つかの実施形態では、歩行者の制約は、緩和される最後のものとすることができ、又は状況により決して緩和されない場合がある。
【0204】
[0261]
図12は、ホスト車両のナビゲーション中に捕捉及び分析され得るシーンの一例を示す。例えば、ホスト車両は、ホスト車両の環境を表す複数の画像をホスト車両に関連するカメラ(例えば、画像捕捉装置122、画像捕捉装置124、及び画像捕捉装置126の少なくとも1つ)から受信し得る上記のナビゲーションシステム(例えば、システム100)を含み得る。
図12に示すシーンは、予測軌道1212に沿ってレーン1210内を移動しているホスト車両の環境から時点tにおいて捕捉され得る画像の1つの一例である。ナビゲーションシステムは、複数の画像を受信することと、シーンに応じて動作を決定するためにそれらの画像を分析することとを行うように特別にプログラムされる少なくとも1つの処理デバイス(例えば、上記のEyeQプロセッサ又は他の装置のいずれかを含む)を含み得る。とりわけ、少なくとも1つの処理デバイスは、
図8に示す検知モジュール801、運転ポリシモジュール803、及び制御モジュール805を実装することができる。検知モジュール801は、カメラから収集される画像情報を収集及び出力すること、並びにその情報を識別されたナビゲーション状態の形式で運転ポリシモジュール803に与えることを担うことができ、運転ポリシモジュール803は、教師あり学習や強化学習等の機械学習法によってトレーニングされているトレーニング済みナビゲーションシステムを構成し得る。検知モジュール801によって運転ポリシモジュール803に与えられるナビゲーション状態情報に基づき、運転ポリシモジュール803は、(例えば、上記の選択肢のグラフの手法を実施することにより)識別されたナビゲーション状態に応じてホスト車両によって実行するための所望のナビゲーション動作を生成することができる。
【0205】
[0262] 幾つかの実施形態では、少なくとも1つの処理デバイスが例えば制御モジュール805を使用し、所望のナビゲーション動作をナビゲーションコマンドに直接変換することができる。しかし、他の実施形態では、シーン及び所望のナビゲーション動作によって関与され得る様々な所定のナビゲーション制約に対して、運転ポリシモジュール803によって提供される所望のナビゲーション動作をテストするように厳密制約を適用することができる。例えば、ホスト車両に軌道1212をたどらせる所望のナビゲーション動作を運転ポリシモジュール803が出力する場合、そのナビゲーション動作は、ホスト車両の環境の様々な側面に関連する1つ又は複数の厳密制約に対してテストすることができる。例えば、捕捉画像1201は、シーン内に存在するカーブ1213、歩行者1215、目標車両1217、及び静的物体(例えば、ひっくり返った箱)を決定し得る。これらのそれぞれが1つ又は複数の厳密制約に関連し得る。例えば、カーブ1213は、ホスト車両がカーブ内に又はカーブを超えて歩道1214上にナビゲートすることを防ぐ静的制約に関連し得る。カーブ1213は、ホスト車両にとっての非ナビゲート区域を画定する、カーブから(例えば、0.1メートル、0.25メートル、0.5メートル、1メートル等)隔てて且つカーブに沿って広がる所定距離(例えば、緩衝区域)を画定する道路障壁エンベロープにも関連し得る。当然ながら、静的制約は、他の種類の路傍境界(例えば、ガードレール、コンクリート柱、コーン、パイロン、他の任意の種類の路傍障壁)に関連し得る。
【0206】
[0263] 距離及び測距は、任意の適切な方法によって決定できることに留意すべきである。例えば、幾つかの実施形態では、距離情報がオンボードのレーダ及び/又はライダシステムによって提供され得る。或いは又は加えて、距離情報は、ホスト車両の環境から捕捉される1つ又は複数の画像を分析することによって導出することができる。例えば、画像内で表される認識された物体のピクセル数を求め、画像捕捉装置の既知の視野及び焦点距離のジオメトリと比較してスケール及び距離を決定することができる。例えば、既知の時間間隔にわたって画像から画像へと物体間のスケールの変化を観測することにより、速度及び加速度を決定することができる。この分析は、物体がホスト車両からどの程度速く離れているか又はホスト車両にどの程度速く近づいているかと共に、ホスト車両に向かう又はホスト車両から離れる移動方向を示し得る。既知の時間期間にわたるある画像から別の画像への物体のX座標の位置変化を分析することにより、横断速度を決定することができる。
【0207】
[0264] 歩行者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の段階に関連する最大移動速度を上回るホスト車両の最大移動速度に関連し得る。
【0208】
[0265] 1つ又は複数の静的物体制約はまた、ホスト車両の環境内の検出されたシーンによって関与され得る。例えば、画像1201では、少なくとも1つの処理デバイスが道路内にある箱1219等の静的物体を検出し得る。検出される静的物体は、道路内の木、ポール、道路標識、物体の少なくとも1つ等の様々な物体を含み得る。検出される静的物体に1つ又は複数の既定のナビゲーション制約が関連し得る。例えば、かかる制約は、静的物体エンベロープを含むことができ、静的物体エンベロープは、ホスト車両のナビゲーションがその内部で禁じられ得る物体の周りの緩衝区域を画定する。緩衝区域の少なくとも一部は、検出された静的物体の縁から所定の距離広がり得る。例えば、画像1201によって表すシーンでは、少なくとも0.1メートル、0.25メートル、0.5メートル、又はそれを超える緩衝区域が箱1219に関連することができ、そのため、ホスト車両は、検出された静的物体との衝突を回避するために少なくとも幾らかの距離(例えば、緩衝区域の距離)の分だけ箱の右側又は左側を通過する。
【0209】
[0266] 既定の厳密制約は、1つ又は複数の目標車両制約も含み得る。例えば、画像1201内で目標車両1217が検出され得る。ホスト車両が目標車両1217と衝突しないことを確実にするために、1つ又は複数の厳密制約を使用することができる。幾つかの場合、目標車両エンベロープは、単一の緩衝区域の距離に関連し得る。例えば、緩衝区域は、全方向に目標車両を取り囲む1メートルの距離によって画定され得る。緩衝区域は、ホスト車両がその内部にナビゲートすることが禁じられる、目標車両から少なくとも1メートル広がる領域を画定し得る。
【0210】
[0267] 但し、目標車両1217を取り囲むエンベロープは、固定された緩衝距離によって画定される必要はない。幾つかの場合、目標車両(又はホスト車両の環境内で検出される他の任意の移動可能物体)に関連する既定の厳密制約は、検出された目標車両に対するホスト車両の向きに依存し得る。例えば、幾つかの場合、(例えば、ホスト車両が目標車両に向かって走行している場合のように、目標車両からホスト車両の前部又は後部に及ぶ)縦方向の緩衝区域の距離は、少なくとも1メートルであり得る。(例えば、ホスト車両が目標車両と同じ又は逆の方向に移動しており、そのため、ホスト車両の側部が目標車両の側部の直接横を通過する場合等、目標車両からホスト車両のいずれかの側部に及ぶ)横方向の緩衝区域の距離は、少なくとも0.5メートルであり得る。
【0211】
[0268] 上記で説明したように、ホスト車両の環境内の目標車両又は歩行者を検出することにより、他の制約を関与させることもできる。例えば、ホスト車両及び目標車両1217の予測軌道を検討することができ、2つの軌道が(例えば、交点1230において)交差するとき厳密制約は、
【数46】
を要求することができ、ホスト車両は、車両1であり、目標車両1217は、車両2である。同様に、ホスト車両の予測軌道に対して(進行方向及び速度に基づく)歩行者1215の軌道を監視することができる。特定の歩行者の軌道を所与として、軌道上の全ての点pについて、t(p)は、歩行者が点p(すなわち
図12の点1231)に到達するのにかかる時間を表す。歩行者から少なくとも1メートルの所要の緩衝距離を保つために、t(p)は、(ホスト車両が少なくとも1メートルの距離の差で歩行者の前を通過するように十分な時間差を伴って)ホスト車両が点pに到達する時間を上回らなければならず、又は(例えば、ホスト車両がブレーキをかけて歩行者に道を譲る場合)t(p)は、ホスト車両が点pに到達する時間を下回らなければならない。更に後者の例では、ホスト車両が歩行者の背後を通過し、少なくとも1メートルの所要の緩衝距離を保つことができるように、ホスト車両が歩行者よりも十分遅い時間に点pに到達することを厳密制約が要求する。
【0212】
[0269] 他の厳密制約も使用することができる。例えば、少なくとも幾つかの場合、ホスト車両の最大減速率を使用することができる。この最大減速率は、(例えば、後向きカメラから収集される画像を使用し)ホスト車両を追走する目標車両までの検出距離に基づいて決定することができる。厳密制約は、検知した横断歩道又は踏切における強制的な停止又は他の適用可能な制約を含み得る。
【0213】
[0270] 1つ又は複数の既定のナビゲーション制約が関与され得ることをホスト車両の環境内のシーンの分析が示す場合、ホスト車両の1つ又は複数の計画されたナビゲーション動作に対してそれらの制約を課すことができる。例えば、運転ポリシモジュール803が所望のナビゲーション動作を返すことをシーンの分析がもたらす場合、その所望のナビゲーション動作を1つ又は複数の関与される制約に対してテストすることができる。所望のナビゲーション動作が、関与される制約の任意の側面に違反すると判定される場合(例えば、ホスト車両が歩行者1215から少なくとも1.0メートルに留まることを既定の厳密制約が要求するとき、所望のナビゲーション動作が歩行者1215の0.7メートルの距離内にホスト車両を運ぶ場合)、1つ又は複数の既定のナビゲーション制約に基づいて所望のナビゲーション動作に対する少なくとも1つの修正を加えることができる。この方法で所望のナビゲーション動作を調節することは、ホスト車両の環境内で検出される特定のシーンによって関与される制約に準拠して、ホスト車両の実際のナビゲーション動作をもたらすことができる。
【0214】
[0271] ホスト車両の実際のナビゲーション動作を決定した後、決定されたホスト車両の実際のナビゲーション動作に応じてホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことにより、そのナビゲーション動作を実施することができる。このナビゲーションアクチュエータは、ホスト車両の操舵メカニズム、ブレーキ又はアクセルの少なくとも1つを含み得る。
【0215】
[0272] 優先順位付けされた制約
[0273] 上記で説明したように、ホスト車両の安全な動作を確実にするために様々な厳密制約をナビゲーションシステムと共に使用することができる。制約は、とりわけ歩行者、目標車両、道路障壁、若しくは検出される物体に対する最小安全運転距離、検出される歩行者の影響区域内を通過するときの最大移動速度、又はホスト車両の最大減速率を含み得る。これらの制約は、機械学習(教師あり、強化、又はその組み合わせ)に基づいてトレーニングされるトレーニング済みシステムによって課すことができるが、(例えば、ホスト車両の環境のシーン内で生じる予期される状況に直接対処するアルゴリズムを使用する)トレーニングされていないシステムでも有用であり得る。
【0216】
[0274] いずれにせよ、制約の階層があり得る。換言すれば、一部のナビゲーション制約が他のナビゲーション制約に優先する場合がある。従って、関与される全ての制約を満たすことになるナビゲーション動作を利用できない状況が発生した場合、ナビゲーションシステムは、最も高い優先順位の制約を最初に実現する利用可能なナビゲーション動作を決定することができる。例えば、システムは、たとえ歩行者を回避するナビゲーションが道路内で検出される別の車両又は物体との衝突を引き起こすことになっても、車両に歩行者をまず回避させることができる。別の例では、システムは、歩行者を回避するために車両に縁石に乗り上げさせることができる。
【0217】
[0275]
図13は、ホスト車両の環境内のシーンの分析に基づいて決定される関与される制約の階層を実装するためのアルゴリズムを示すフローチャートを示す。例えば、ステップ1301では、ナビゲーションシステムに関連する少なくとも1つのプロセッサ(例えば、EyeQプロセッサ等)は、ホスト車両の環境を表す複数の画像をホスト車両の搭載カメラから受信することができる。ステップ1303において、ホスト車両の環境のシーンを表す1つ又は複数の画像を分析することにより、ホスト車両に関連するナビゲーション状態を決定することができる。例えば、ナビゲーション状態は、シーンの様々な特性の中でも、
図12にあるようにホスト車両が2レーン道路1210に沿って移動していること、目標車両1217がホスト車両の前方の交差点を進んでいること、ホスト車両が移動する道路を渡るために歩行者1215が待っていること、ホスト車両のレーンの前方に物体1219があることを特に示し得る。
【0218】
[0276] ステップ1305では、ホスト車両のナビゲーション状態によって関与される1つ又は複数のナビゲーション制約を決定することができる。例えば、少なくとも1つの処理デバイスは、1つ又は複数の捕捉画像によって表されるホスト車両の環境内のシーンを分析した後、捕捉画像の画像分析によって認識される物体、車両、歩行者等によって関与される1つ又は複数のナビゲーション制約を決定することができる。幾つかの実施形態では、少なくとも1つの処理デバイスは、ナビゲーション状態によって関与される少なくとも第1の既定のナビゲーション制約及び第2の既定のナビゲーション制約を決定することができ、第1の既定のナビゲーション制約は、第2の既定のナビゲーション制約と異なり得る。例えば、第1のナビゲーション制約は、ホスト車両の環境内で検出される1つ又は複数の目標車両に関係することができ、第2のナビゲーション制約は、ホスト車両の環境内で検出される歩行者に関係することができる。
【0219】
[0277] ステップ1307では、少なくとも1つの処理デバイスは、ステップ1305で識別された制約に関連する優先順位を決定することができる。説明する例では、歩行者に関係する第2の既定のナビゲーション制約は、目標車両に関係する第1の既定のナビゲーション制約よりも高い優先順位を有し得る。ナビゲーション制約に関連する優先順位は、様々な要因に基づいて決定されるか又は割り当てられ得るが、幾つかの実施形態では、ナビゲーション制約の優先順位は、安全性の観点から見たその相対的な重要性に関係し得る。例えば、できるだけ多くの状況において、全ての実装されたナビゲーション制約に従うか又はそれを満たすことが重要であり得るが、一部の制約は、他の制約よりも強い安全性リスクに関連する場合があり、従ってより高い優先順位を割り当てることができる。例えば、ホスト車両が歩行者から少なくとも1メートルの間隔を保つことを要求するナビゲーション制約は、ホスト車両が目標車両から少なくとも1メートルの間隔を保つことを要求する制約よりも高い優先順位を有し得る。これは、歩行者との衝突の方が別の車両との衝突よりも深刻な結果を有し得るからであり得る。同様に、ホスト車両と目標車両との間の間隔を保つことは、ホスト車両が道路内の箱を回避すること、減速バンプ上において一定速度未満で走行すること、又はホスト車両の搭乗者を最大加速度レベル以下にさらすことを要求する制約よりも高い優先順位を有し得る。
【0220】
[0278] 運転ポリシモジュール803は、特定のシーン又はナビゲーション状態によって関与されるナビゲーション制約を満たすことで安全性を最大化するように設計されるが、状況により関与される全ての制約を満たすことが物理的に不可能であり得る。ステップ1309に示すように、そのような状況では、関与される各制約の優先順位を使用して関与される制約のいずれが最初に満たされるべきかを決定することができる。上記の例を続け、歩行者との間隙の制約及び目標車両との間隙の制約の両方を満たすことができず、制約の一方のみを満たすことができる状況では、歩行者との間隙の制約のより高い優先順位は、目標車両までの間隙を保とうと試みる前に制約が満たされることをもたらし得る。従って、通常の状況では、ステップ1311に示すように、第1の既定のナビゲーション制約及び第2の既定のナビゲーション制約の両方を満たすことができる場合、少なくとも1つの処理デバイスは、ホスト車両の識別されたナビゲーション状態に基づいて、第1の既定のナビゲーション制約及び第2の既定のナビゲーション制約の両方を満たすホスト車両のための第1のナビゲーション動作を決定することができる。しかし、関与される全ての制約を満たすことができない他の状況では、ステップ1313に示すように、第1の既定のナビゲーション制約及び第2の既定のナビゲーション制約の両方を満たすことができない場合、少なくとも1つの処理デバイスは、識別されたナビゲーション状態に基づいて、第2の既定のナビゲーション制約(すなわち優先順位が高い方の制約)を満たすが、第1の既定のナビゲーション制約(第2のナビゲーション制約よりも低い優先順位を有する)を満たさないホスト車両のための第2のナビゲーション動作を決定することができる。
【0221】
[0279] 次に、ステップ1315では、決定されたホスト車両のためのナビゲーション動作を実施するために、少なくとも1つの処理デバイスは、ホスト車両のための決定された第1のナビゲーション動作又は決定された第2のナビゲーション動作に応じてホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。先の例と同様に、ナビゲーションアクチュエータは、操舵メカニズム、ブレーキ又はアクセルの少なくとも1つを含み得る。
【0222】
[0280] 制約緩和
[0281] 上記で論じたように、安全のためにナビゲーション制約を課すことができる。制約は、とりわけ歩行者、目標車両、道路障壁、若しくは検出される物体に対する最小安全運転距離、検出される歩行者の影響区域内を通過するときの最大移動速度、又はホスト車両の最大減速率を含み得る。これらの制約は、学習ナビゲーションシステム又は非学習ナビゲーションシステム内で課すことができる。特定の状況では、これらの制約を緩和することができる。例えば、ホスト車両が歩行者の近くで減速し又は停止し、歩行者のそばを通過する意図を伝えるためにゆっくり進む場合、取得画像から歩行者の反応を検出することができる。歩行者の反応がじっとしていること又は動くことをやめることである場合(及び/又は歩行者とのアイコンタクトが検知される場合)、歩行者のそばを通過するナビゲーションシステムの意図を歩行者が認識したと理解することができる。そのような状況では、システムは、1つ又は複数の既定の制約を緩和し、あまり厳しくない制約を実施する(例えば、より厳格な1メートルの境界内ではなく、歩行者の0.5メートルの範囲内を車両がナビゲートすることを可能にする)ことができる。
【0223】
[0282]
図14は、1つ又は複数のナビゲーション制約を緩和することに基づいてホスト車両の制御を実施するためのフローチャートを示す。ステップ1401では、少なくとも1つの処理デバイスは、ホスト車両の環境を表す複数の画像をホスト車両に関連するカメラから受信することができる。ステップ1403で画像を分析することは、ホスト車両に関連するナビゲーション状態を識別することを可能にし得る。ステップ1405では、少なくとも1つのプロセッサは、ホスト車両のナビゲーション状態に関連するナビゲーション制約を決定することができる。ナビゲーション制約は、ナビゲーション状態の少なくとも1つの側面によって関与される第1の既定のナビゲーション制約を含み得る。ステップ1407では、複数の画像を分析することは、少なくとも1つのナビゲーション制約緩和要因の存在を決定し得る。
【0224】
[0283] ナビゲーション制約緩和要因は、1つ又は複数のナビゲーション制約が少なくとも1つの側面において中断され、変更され、さもなければ緩和され得る任意の適切なインジケータを含み得る。幾つかの実施形態では、少なくとも1つのナビゲーション制約緩和要因は、歩行者の目がホスト車両の方向を見ているという(画像分析に基づく)判定を含み得る。その場合、歩行者がホスト車両を認識していることを、より安全に想定することができる。その結果、ホスト車両の経路内に歩行者が移動することを引き起こす予期せぬ動作に歩行者が関与しない信頼度が一層高くなり得る。他の制約緩和要因も使用することができる。例えば、少なくとも1つのナビゲーション制約緩和要因は、動いていないと判定される歩行者(例えば、ホスト車両の経路に入る可能性が低いと推定される者)、又はその動きが減速していると判定される歩行者を含み得る。歩行者が、ホスト車両が停止したあとに、動いていないと判定され、その後に移動を再開する等、ナビゲーション制約緩和要因はより複雑な動作も含むことができる。そのような状況では、ホスト車両が優先通行権を有することを歩行者が理解していると見なすことができ、停止する歩行者は、ホスト車両に道を譲る自らの意図を示唆することができる。1つ又は複数の制約を緩和させ得る他の状況は、縁石の種類(例えば、低い縁石又は傾斜が緩やかなスロープは、距離制約の緩和を可能にし得る)、歩道上に歩行者又は他の物体がないこと、エンジンがかかっていない車両が緩和された距離を有すること、又はホスト車両の進行先の領域から歩行者の向きがそれている状況及び/又は歩行者が離れている状況を含む。
【0225】
[0284] ナビゲーション制約緩和要因の存在を(例えば、ステップ1407で)識別すると、制約緩和要因を検出することに応じて第2のナビゲーション制約を決定又は作成することができる。この第2のナビゲーション制約は、第1のナビゲーション制約と異なることができ、第1のナビゲーション制約と比較して緩和された少なくとも1つの特性を含み得る。第2のナビゲーション制約は、第1の制約に基づく新たに生成される制約を含むことができ、新たに生成される制約は、少なくとも1つの点において第1の制約を緩和する少なくとも1つの修正を含む。或いは、第2の制約は、少なくとも1つの点において第1のナビゲーション制約よりも厳しくない所定の制約を構成し得る。幾つかの実施形態では、ホスト車両の環境内で制約緩和要因が識別される状況でのみ使用するために、この第2の制約を確保しておくことができる。第2の制約が新たに生成されようと、完全に又は部分的に利用可能な所定の制約の組から選択されようと、(関連するナビゲーション制約緩和要因の検出がなければ適用され得る)より厳しい第1のナビゲーション制約の代わりの第2のナビゲーション制約の応用を制約緩和と呼ぶことができ、ステップ1409で実現することができる。
【0226】
[0285] ステップ1407で少なくとも1つの制約緩和要因を検出し、ステップ1409で少なくとも1つの制約を緩和した場合、ステップ1411でホスト車両のためのナビゲーション動作を決定することができる。ホスト車両のためのナビゲーション動作は、識別されたナビゲーション状態に基づくことができ、第2のナビゲーション制約を満たすことができる。ステップ1413では、決定されたナビゲーション動作に応じてホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことにより、そのナビゲーション動作を実施することができる。
【0227】
[0286] 上記で論じたように、ナビゲーション制約及び緩和されたナビゲーション制約を使用することは、(例えば、機械学習によって)トレーニングされたナビゲーションシステム又はトレーニングされていないナビゲーションシステム(例えば、特定のナビゲーション状態に応じて所定の動作で応答するようにプログラムされたシステム)と共に用いることができる。トレーニング済みナビゲーションシステムを使用する場合、特定のナビゲーション状況に対する緩和されたナビゲーション制約の可用性は、トレーニング済みシステムの応答からトレーニングされていないシステムの応答へのモードの切り替えを表し得る。例えば、トレーニング済みナビゲーションネットワークは、第1のナビゲーション制約に基づいてホスト車両のための元のナビゲーション動作を決定することができる。しかし、車両が行う動作は、第1のナビゲーション制約を満たすナビゲーション動作と異なるものであり得る。むしろ、行われる動作は、より緩和された第2のナビゲーション制約を満たすことができ、(例えば、ナビゲーション制約緩和要因があること等、ホスト車両の環境内の特定の条件を検出することに応じて)トレーニングされていないシステムによって作成される動作であり得る。
【0228】
[0287] ホスト車両の環境内で制約緩和要因を検出することに応じて緩和され得るナビゲーション制約の多くの例がある。例えば、既定のナビゲーション制約が、検出された歩行者に関連する緩衝区域を含み、緩衝区域の少なくとも一部が、検出された歩行者から所定の距離広がる場合、(新たに作成される、所定の組からメモリから呼び出される、又は既存の制約の緩和バージョンとして生成される)緩和されたナビゲーション制約は、異なる又は修正された緩衝区域を含み得る。例えば、異なる又は修正された緩衝区域は、検出された歩行者に対する元の又は未修正の緩衝区域よりも短い歩行者に対する距離を有し得る。その結果、適切な制約緩和要因がホスト車両の環境内で検出される場合、緩和された制約を考慮し、検出された歩行者のより近くにナビゲートすることをホスト車両が許可され得る。
【0229】
[0288] ナビゲーション制約の緩和される特性は、上記で述べたように少なくとも1人の歩行者に関連する緩衝区域の低減される幅を含み得る。但し、緩和される特性は、目標車両、検出物体、路傍障壁、又はホスト車両の環境内で検出される他の任意の物体に関連する緩衝区域の低減される幅も含み得る。
【0230】
[0289] 少なくとも1つの緩和される特性は、ナビゲーション制約特性における他の種類の修正も含み得る。例えば、緩和される特性は、少なくとも1つの既定のナビゲーション制約に関連する速度増加を含み得る。緩和される特性は、少なくとも1つの既定のナビゲーション制約に関連する許容可能な最大減速度/加速度の増加も含み得る。
【0231】
[0290] 上記のように特定の状況では制約を緩和することができるが、他の状況ではナビゲーション制約を強化することができる。例えば、一部の状況では、ナビゲーションシステムは、通常のナビゲーション制約の組を強化することを諸条件が正当化すると判定し得る。かかる強化は、既定の制約の組に新たな制約を追加すること又は既定の制約の1つ又は複数の側面を調節することを含み得る。この追加又は調節は、通常の運転条件下で適用可能な既定の制約の組に対してより慎重なナビゲーションをもたらし得る。制約の強化を正当化し得る条件は、センサの故障や不利な環境条件(視認性の低下又は車両の静止摩擦の低下に関連する雨、雪、霧、又は他の条件)等を含み得る。
【0232】
[0291]
図15は、1つ又は複数のナビゲーション制約を強化することに基づいてホスト車両の制御を実施するためのフローチャートを示す。ステップ1501では、少なくとも1つの処理デバイスは、ホスト車両の環境を表す複数の画像をホスト車両に関連するカメラから受信することができる。ステップ1503で画像を分析することは、ホスト車両に関連するナビゲーション状態を識別することを可能にし得る。ステップ1505では、少なくとも1つのプロセッサは、ホスト車両のナビゲーション状態に関連するナビゲーション制約を決定することができる。ナビゲーション制約は、ナビゲーション状態の少なくとも1つの側面によって関与される第1の既定のナビゲーション制約を含み得る。ステップ1507では、複数の画像を分析することは、少なくとも1つのナビゲーション制約強化要因の存在を決定し得る。
【0233】
[0292] 関与されるナビゲーション制約は、(例えば、
図12に関して)上記で論じたナビゲーション制約のいずれか又は他の任意の適切なナビゲーション制約を含み得る。ナビゲーション制約強化要因は、1つ又は複数のナビゲーション制約が少なくとも1つの側面において補足/強化され得る任意のインジケータを含み得る。ナビゲーション制約の補足又は強化は、(例えば、所定の制約の組に新たなナビゲーション制約を追加することにより)組ごとに行うことができ、又は制約ごとに行うことができる(例えば、修正される制約が元よりも制限的であるように特定の制約を修正すること、又は所定の制約に対応する新たな制約を追加することであり、新たな制約は、少なくとも1つの側面において対応する制約よりも制限的である)。加えて又は或いは、ナビゲーション制約の補足又は強化は、階層に基づく所定の制約の組の中から選択することを指す場合もある。例えば、ホスト車両の環境内で又はホスト車両に対してナビゲーション強化要因が検出されるかどうかに基づき、強化された制約の組が選択のために提供され得る。強化要因が検出されない通常の条件下では、関与されるナビゲーション制約は、通常の条件に適用可能な制約から導くことができる。他方では、1つ又は複数の制約強化要因が検出される場合、関与される制約は、1つ又は複数の強化要因に対して生成されるか又は予め定められる強化された制約から導くことができる。強化された制約は、通常の条件下で適用可能な対応する制約よりも少なくとも1つの側面において制限的であり得る。
【0234】
[0293] 幾つかの実施形態では、少なくとも1つのナビゲーション制約強化要因は、ホスト車両の環境内の路面上に氷、雪、又は水があることを(例えば、画像分析に基づいて)検出することを含み得る。この判定は、例えば、乾燥した道路で予期されるよりも反射率が高い領域(例えば、道路上の氷又は水を示す)、雪があることを示す路面上の白色領域、道路上に縦方向の溝(例えば、雪中のタイヤ跡)があることと合致する道路上の影、ホスト車両のフロントガラス上の水滴若しくは氷/雪の小さい粒、又は路面上に水若しくは氷/雪があることの他の任意の適切なインジケータを検出することに基づき得る。
【0235】
[0294] 少なくとも1つのナビゲーション制約強化要因は、ホスト車両のフロントガラスの外面上の小さい粒を検出することも含み得る。かかる小さい粒は、ホスト車両に関連する1つ又は複数の画像捕捉装置の画質を損なう可能性がある。ホスト車両のフロントガラスの裏側に搭載されるカメラとの関連で、ホスト車両のフロントガラスに関して説明したが、他の面上(例えば、カメラのレンズ若しくはレンズカバー、ヘッドライトレンズ、リアウィンドウ、テールライトレンズ、又はホスト車両に関連する画像捕捉装置にとって可視の(又はセンサによって検出される)ホスト車両の他の任意の面上)の小さい粒を検出することもナビゲーション制約強化要因があることを示し得る。
【0236】
[0295] ナビゲーション制約強化要因は、1つ又は複数の画像取得装置の特性として検出することもできる。例えば、ホスト車両に関連する画像捕捉装置(例えば、カメラ)によって捕捉される1つ又は複数の画像の画質の検出される低下もナビゲーション制約強化要因を構成し得る。画質の低下は、画像捕捉装置又は画像捕捉装置に関連するアセンブリに関連するハードウェアの故障若しくは部分的なハードウェアの故障に関連する場合がある。かかる画質の低下は、環境条件によって引き起こされる場合もある。例えば、ホスト車両を取り囲む空気中に煙、霧、雨、雪等があることは、ホスト車両の環境内にあり得る道路、歩行者、目標車両等に関する画質の低下に寄与する場合もある。
【0237】
[0296] ナビゲーション制約強化要因は、ホスト車両の他の側面にも関係し得る。例えば、一部の状況では、ナビゲーション制約強化要因は、ホスト車両に関連するシステム又はセンサの検出された故障又は部分的な故障を含み得る。かかる強化要因は、例えば、ホスト車両のナビゲーション状態に関連するナビゲーション制約との関係で、ホスト車両がナビゲートする能力にネガティブな影響を及ぼし得る、ホスト車両に関連する速度センサ、GPS受信機、加速度計、カメラ、レーダ、ライダ、ブレーキ、タイヤ、又は他の任意のシステムの故障又は部分的な故障を検出することを含み得る。
【0238】
[0297] ナビゲーション制約強化要因があることが(例えば、ステップ1507で)識別される場合、制約強化要因を検出することに応じて第2のナビゲーション制約を決定又は作成することができる。この第2のナビゲーション制約は、第1のナビゲーション制約と異なることができ、第1のナビゲーション制約に対して強化される少なくとも1つの特性を含み得る。ホスト車両の環境内の又はホスト車両に関連する制約強化要因を検出することは、通常の動作条件と比較してホスト車両の少なくとも1つのナビゲーション能力が低下している可能性があることを示唆し得るため、第2のナビゲーション制約は、第1のナビゲーション制約よりも制限的であり得る。そのような能力の低下は、道路の静止摩擦の低下(例えば、道路上の氷、雪、又は水、タイヤ空気圧の低下等)、視界が損なわれること(例えば、捕捉画質を下げる雨、雪、塵、煙、霧等)、検出能力が損なわれること(例えば、センサの故障又は部分的な故障、センサの性能低下等)、又は検出されるナビゲーション状態に応じてホスト車両がナビゲートする能力の他の任意の低下を含み得る。
【0239】
[0298] ステップ1507で少なくとも1つの制約強化要因を検出し、ステップ1509で少なくとも1つの制約を強化している場合、ステップ1511でホスト車両のためのナビゲーション動作を決定することができる。ホスト車両のためのナビゲーション動作は、識別されたナビゲーション状態に基づくことができ、第2のナビゲーション(すなわち強化された)制約を満たすことができる。ステップ1513では、決定されたナビゲーション動作に応じてホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことにより、そのナビゲーション動作を実施することができる。
【0240】
[0299] 先に論じたように、ナビゲーション制約及び強化されたナビゲーション制約を使用することは、(例えば、機械学習によって)トレーニング済みナビゲーションシステム又はトレーニングされていないナビゲーションシステム(例えば、特定のナビゲーション状態に応じて所定の動作で応答するようにプログラムされたシステム)と共に用いることができる。トレーニング済みナビゲーションシステムを使用する場合、特定のナビゲーション状況に対する強化されたナビゲーション制約の可用性は、トレーニング済みシステムの応答からトレーニングされていないシステムの応答へのモードの切り替えを表し得る。例えば、トレーニング済みナビゲーションネットワークは、第1のナビゲーション制約に基づいてホスト車両のための元のナビゲーション動作を決定することができる。しかし、車両が行う動作は、第1のナビゲーション制約を満たすナビゲーション動作と異なるものであり得る。むしろ、行われる動作は、強化された第2のナビゲーション制約を満たすことができ、(例えば、ナビゲーション制約強化要因があること等、ホスト車両の環境内の特定の条件を検出することへの応答として)トレーニングされていないシステムによって作成される動作であり得る。
【0241】
[0300] ホスト車両の環境内で制約強化要因を検出することに応じて生成されるか、補足されるか、又は強化され得るナビゲーション制約の多くの例がある。例えば、既定のナビゲーション制約が、検出された歩行者、物体、車両等に関連する緩衝区域を含み、緩衝区域の少なくとも一部が、検出された歩行者/物体/車両から所定の距離広がる場合、(新たに作成されるか、メモリ内の所定の組からから呼び出されるか、又は既存の制約の強化バージョンとして生成される)強化されたナビゲーション制約は、異なる又は修正された緩衝区域を含み得る。例えば、異なる又は修正された緩衝区域は、検出された歩行者/物体/車両に対する元の又は未修正の緩衝区域よりも長い歩行者/物体/車両に対する距離を有し得る。その結果、適切な制約強化要因がホスト車両の環境内で又はホスト車両に関連して検出される場合、強化された制約を考慮し、検出された歩行者/物体/車両のより遠くをナビゲートすることをホスト車両が強制され得る。
【0242】
[0301] 少なくとも1つの強化される特性は、ナビゲーション制約特性における他の種類の修正も含み得る。例えば、強化される特性は、少なくとも1つの既定のナビゲーション制約に関連する速度低下を含み得る。強化される特性は、少なくとも1つの既定のナビゲーション制約に関連する許容可能な最大減速度/加速度の低下も含み得る。
【0243】
[0302] 長期計画に基づくナビゲーション
[0303] 幾つかの実施形態では、開示するナビゲーションシステムは、ホスト車両の環境内の検出されたナビゲーション状態に応答できるだけではなく、長期計画に基づいて1つ又は複数のナビゲーション動作を決定することもできる。例えば、システムは、検出されるナビゲーション状態に関してナビゲートするための選択肢として利用可能な1つ又は複数のナビゲーション動作の、将来のナビゲーション状態に対する潜在的影響を検討することができる。将来の状態に対する利用可能な動作の効果を検討することは、ナビゲーションシステムが現在検出しているナビゲーション状態のみに基づいてではなく、長期計画にも基づいてナビゲーション動作を決定することを可能にし得る。長期計画技法を使用するナビゲーションは、利用可能な選択肢の中からナビゲーション動作を選択するための技法として、ナビゲーションシステムによって1つ又は複数の報酬関数が使用される場合に特に適用可能であり得る。ホスト車両の検出された現在のナビゲーション状態に応じて行うことができる利用可能なナビゲーション動作に関して、潜在的報酬を分析することができる。但し、更に現在のナビゲーション状態に対する利用可能な動作から生じると予測される将来のナビゲーション状態に応じて行うことができる動作に関連して潜在的報酬を分析することもできる。その結果、たとえ選択されるナビゲーション動作が、現在のナビゲーション状態に応じて行うことができる利用可能な動作の中で最も高い報酬をもたらさない可能性があっても、一部の事例では、開示するナビゲーションシステムは、検出されるナビゲーション状態に応じてそのようなナビゲーション動作を選択する場合がある。これは、とりわけ、選択された動作又は一部の事例では現在のナビゲーション状態に対して利用可能な動作のいずれかよりも高い報酬を与える1つ又は複数の潜在的なナビゲーション動作のきっかけを作る将来のナビゲーション状態を、選択された動作がもたらし得るとシステムが判定する場合に該当し得る。この原理は、報酬が高い選択肢を将来もたらすため、より有利でない動作を現在行うものとして、より単純に表すことができる。従って、長期計画が可能な開示するナビゲーションシステムは、報酬の短期的な損失が長期的な報酬の増加をもたらし得ることを長期予測が示す場合、次善の短期動作を選択することができる。
【0244】
[0304] 概して自律運転の応用は、長期目的を最適化するためにナビゲーションシステムが即時の動作を決定し得る一連の計画問題を含み得る。例えば、車両が環状交差路において合流する状況に直面した場合、ナビゲーションシステムは、環状交差路内へのナビゲーションを開始するために即時の加速コマンド又はブレーキコマンドを決定することができる。環状交差路において検出されるナビゲーション状態に対する即時の動作は、検出される状態に応じた加速コマンド又はブレーキコマンドを含み得るが、長期目的は、合流に成功することであり、選択されるコマンドの長期的効果は、合流の成功/失敗である。問題を2つのフェーズに分解することによって計画問題に対処することができる。第1に、(現在の表現に対して予測因子が可微分であると仮定して)現在に基づいて近い将来を予測するために教師あり学習を適用することができる。第2に、回帰ニューラルネットワークを使用してエージェントの完全な軌道をモデリングすることができ、説明されていない要因は、(付加的)入力ノードとしてモデリングされる。これは、教師あり学習法及び回帰ニューラルネットワーク上の直接の最適化を使用して長期計画問題に対する解を求めることを可能にし得る。かかる手法は、環境に対する敵対要素を組み込むことによってロバストなポリシの学習を可能にすることもできる。
【0245】
[0305] 自律運転システムの最も基本的な要素の2つは、検知及び計画である。検知は、環境の現在の状態のコンパクト表現を見つけることに取り組むのに対し、計画は、将来の目的を最適化するためにいずれの動作を行うかを決定することに取り組む。検知の問題を解くのに教師あり機械学習法が有用である。計画の部分について機械学習アルゴリズムフレームワーク、とりわけ上記で記載したような強化学習(RL)フレームワークを使用することもできる。
【0246】
[0306] RLは、一連の連続したラウンドによって実行することができる。ラウンドtでは、プランナ(別名エージェント又は運転ポリシモジュール803)は、エージェント並びに環境を表す状態s
t∈Sを観測し得る。次いで、プランナは、動作a
t∈Aを決定すべきである。動作を実行した後、エージェントは、即時の報酬
【数47】
を受信し、新たな状態s
t+1に移される。一例として、ホスト車両は、適応走行制御(ACC)システムを含むことができ、ACCでは、スムーズな運転を維持しながら先行車両までの十分な距離を保つために、車両が加速/ブレーキを自律的に実施すべきである。状態は、対
【数48】
としてモデリングすることができ、x
tは、先行車両までの距離であり、v
tは、先行車両の速度に対するホスト車両の速度である。動作
【数49】
は、加速コマンドである(a
t<0が成立する場合にはホスト車両が減速する)。報酬は、(運転のスムーズさを反映する)|a
t|及び(ホスト車両が先行車両から安全な距離を保つことを反映する)s
tに依存する関数であり得る。プランナの目標は、(場合により対象期間又は将来の報酬の割り引かれた和まで)累積報酬を最大化することである。それを行うために、プランナは、状態を動作にマップするポリシπ:S→Aを利用することができる。
【0247】
[0307] 教師あり学習(SL)は、RLの特別な事例と見なすことができ、教師あり学習ではSにわたる幾らかの分布からstがサンプリングされ、報酬関数は、rt=-l(at,yt)の形式を有することができ、lは、損失関数であり、学習側は、状態stを認めるときに行うのに最適な動作の(場合により雑音の多い)値であるytの値を観測する。全般的なRLのモデルとSLの特定の事例との間には幾らかの差がある場合があり、それらの差は、全般的なRLの問題をより困難にし得る。
【0248】
[0308] 一部のSLの状況では、学習側が行う動作(又は予測)が環境への影響を有さない場合がある。換言すれば、st+1とatとが独立している。これは、2つの重要な含意を有し得る。まず、SLでは、サンプル(s1,y1),...,(sm,ym)を事前に収集することができ、そうすることにより、初めてサンプルに対して優れた精度を有するポリシ(又は予測因子)の探索を開始することができる。対照的に、RLでは、状態st+1は、通常、行われる動作(更には前の状態)に依存し、行われる動作は、従って、動作を生成するために使用されるポリシに依存する。これは、データ生成プロセスをポリシ学習プロセスに結び付ける。第2に、SLでは動作が環境に影響を及ぼさないため、πの性能に対するatの選択の寄与度は、局所的である。具体的には、atは、即時の報酬の値にのみ影響を及ぼす。対照的にRLでは、ラウンドtで行われる動作は、将来のラウンドにおける報酬値に対して長期的効果を有し得る。
【0249】
[0309] SLでは、報酬の形状rt=-l(at,yt)と共に「正しい」解ytの知識は、atのあり得る全ての選択肢に関する報酬の完全な知識を提供することができ、それは、atに関する報酬の微分の計算を可能にし得る。対照的に、RLでは、報酬の「ワンショット」値は、行われる動作の特定の選択について観測することができる全てであり得る。これを「バンディット」フィードバックと呼ぶことができる。RLベースのシステムでは、「バンディット」フィードバックのみを入手できる場合、システムは、行われた動作が行うのに最良の動作であったかどうかを常に知ることができない可能性があるため、これは、長期的なナビゲーション計画の一部として「探索」が必要である最も重要な理由の1つである。
【0250】
[0310] 多くのRLアルゴリズムは、マルコフ決定プロセス(MDP)の数学的に明解なモデルに少なくとも部分的に依存する。マルコフ仮定は、st及びatを所与としてst+1の分布が完全に決定されるものである。これは、MDPの状態にわたる定常分布に関して所与のポリシの累積報酬の閉形式をもたらす。ポリシの定常分布は、線形計画問題に対する解として表すことができる。これは、1)ポリシ探索と呼ぶことができる主問題に関する最適化、及び2)その変数が価値関数Vπと呼ばれる双対問題に関する最適化という2つのアルゴリズム群をもたらす。価値関数は、MDPが初期状態sから始まり、そこからπに従って動作が選択される場合に期待累積報酬を決定する。関係する量は、状態-動作価値関数Qπ(s,a)であり、この関数は、状態sからの開始、即時に選択される動作a、及びそこからπに従って選択される動作を仮定し累積報酬を決定する。このQ関数は、(ベルマン方程式を使用する)最適なポリシの特徴付けを引き起こし得る。具体的には、このQ関数は、最適なポリシがSからAへの決定論的関数であると示すことができる(実際には、最適なポリシは、最適なQ関数に関する「グリーディ」ポリシとして特徴付けることができる)。
【0251】
[0311] MDPモデルの1つの考えられる利点は、MDPモデルがQ関数を使用して将来を現在に結合することを可能にすることである。例えば、ホスト車両が現在sの状態にあることを所与とし、Qπ(s,a)の値は、将来に対して動作aを実行する効果を示し得る。従って、Q関数は、動作aの品質の局所的測度を提供し、それによりRL問題をSLのシナリオとより同様にすることができる。
【0252】
[0312] 多くのRLアルゴリズムがV関数又はQ関数を何らかの方法で近似する。価値反復アルゴリズム、例えばQ学習アルゴリズムは、最適なポリシのV関数及びQ関数がベルマン方程式から得られる何らかの演算子の不動点であり得ることを利用することができる。Actor-criticなポリシ反復アルゴリズムは、反復的な方法でポリシを学習することを目標とし、反復tにおいて、「critic」は、
【数50】
を推定し、この推定に基づいて、「actor」は、ポリシを改善する。
【0253】
[0313] MDPの数学的な簡素さ及びQ関数表現に切り替える便利さにもかかわらず、この手法は、幾つかの制限を有し得る。例えば、幾つかの場合、マルコフの挙動状態の近似の概念が、見つかり得る全てである場合がある。更に、状態の遷移は、エージェントの動作だけではなく、環境内の他のプレーヤの動作にも依存し得る。例えば、上記のACCの例では、自律車両のダイナミクスは、マルコフ式であり得るが、次の状態は、必ずしもマルコフ式ではない他の車のドライバーの挙動に依存する場合がある。この問題に対する1つのあり得る解決策は、部分的に観測されるMDPを使用することであり、部分的に観測されるMDPでは、マルコフ状態はあるが、見ることができるのは、隠れ状態に従って分散される観測であると仮定される。
【0254】
[0314] より直接的な手法は、MDPのゲーム理論的汎用化を検討することができる(例えば、確率ゲームの枠組み)。実際、MDPのためのアルゴリズムは、マルチエージェントゲームに汎用化することができる(例えば、ミニマックスQ学習又はナッシュQ学習)。他の手法は、他のプレーヤの明確なモデリング及びvanishing regret学習アルゴリズムを含み得る。マルチエージェント設定内での学習は、単一エージェント設定内での学習よりも複雑であり得る。
【0255】
[0315] Q関数表現の第2の制限は、表形式設定から逸脱することによって生じ得る。表形式設定は、状態及び動作の数が少なく、そのため、Qを|S|行及び|A|列の表として表すことができる場合である。しかし、S及びAの自然表現がユークリッド空間を含み、状態空間及び動作空間が離散化される場合、状態/動作の数は、規模の点で指数関数的であり得る。そのような場合、表形式設定を採用することが実用的でない可能性がある。代わりに、Q関数は、パラメトリック仮説クラスからの一部の関数によって近似され得る(例えば、特定のアーキテクチャのニューラルネットワーク)。例えば、ディープQネットワーク(DQN)学習アルゴリズムを使用することができる。DQNでは、状態空間が連続的であり得るが、動作空間は、小さい離散集合のままであり得る。連続的な動作空間に対応するための手法が可能であるが、それらは、Q関数を近似することに依存する可能性がある。いずれにせよ、Q関数は、複雑且つ雑音に敏感な可能性があり、従って学習が困難であり得る。
【0256】
[0316] 異なる手法は、回帰ニューラルネットワーク(RNN)を使用してRLの問題に対処することであり得る。幾つかの場合、RNNは、マルチエージェントゲームの概念及びゲーム理論からの敵対環境へのロバスト性と組み合わせることができる。更に、この手法は、マルコフ仮定に明確に依存しないものであり得る。
【0257】
[0317] 以下では、予測に基づく計画によるナビゲーションのための手法をより詳細に説明する。この手法では、状態空間Sは、
【数51】
のサブセットであり、状態空間Aは、
【数52】
のサブセットであると仮定することができる。これは、多くの応用において自然な表現であり得る。上記で述べたように、RLとSLとの間には2つの主な違いがある場合があり、その違いは、すなわち、(1)過去の動作が将来の報酬に影響するため、将来からの情報を過去に再び伝える必要があり得ること、及び(2)報酬の「バンディット」な性質は、(状態,動作)と報酬との間の依存関係を曖昧にする可能性があり、それが学習プロセスを複雑にし得ることである。
【0258】
[0318] この手法の最初のステップとして、報酬のバンディットな性質が問題ではない興味深い問題があることが観測され得る。例えば、ACCの応用に関する(以下でより詳細に論じる)報酬値は、現在の状態及び動作に対して可微分であり得る。実際、たとえ報酬が「バンディット」式に与えられても、
【数53】
であるように可微分関数
【数54】
を学習する問題は、比較的単純なSL問題(例えば、一次元の回帰問題)であり得る。従って、この手法の最初のステップは、s及びaに対して可微分な関数
【数55】
として報酬を定めること、又はインスタンスベクトルが、
【数56】
であり、目標スカラがr
tである状態でサンプルにわたる少なくとも幾らかの回帰損失を最小化する可微分関数
【数57】
を学習するために回帰学習アルゴリズムを使用することであり得る。一部の状況では、トレーニングセットを作成するために探索の要素を使用することができる。
【0259】
[0319] 過去と将来との間のつながりに対処するために、同様の概念を使用することができる。例えば、
【数58】
が成立するように可微分関数
【数59】
が学習可能であると仮定する。かかる関数を学習することは、SL問題として特徴付けることができる。
【数60】
は、近い将来のための予測因子と見なすことができる。次に、SからAにマップするポリシを、パラメトリック関数π
θ:S→Aを使用して記述することができる。ニューラルネットワークとしてπ
θを表現することは、回帰ニューラルネットワーク(RNN)を使用してエージェントをTラウンド走らせるエピソードの表現を可能にすることができ、次の状態は、
【数61】
として定義される。ここで、
【数62】
は、環境によって定めることができ、近い将来の予測不能な側面を表すことができる。s
t+1がs
t及びa
tに可微分な方法で依存することは、将来の報酬値と過去の動作との間のつながりを可能にし得る。ポリシ関数π
θのパラメータベクトルは、結果として生じるRNN上の逆伝搬によって学習され得る。明確な確率論的仮定をv
tに課す必要がないことに留意されたい。具体的には、マルコフ関係の要件が必要ない。代わりに、過去と将来との間で「十分な」情報を伝搬するために回帰ネットワークが利用され得る。直観的に、
【数63】
は、近い将来の予測可能な部分を記述し得る一方、v
tは、環境内の他のプレーヤの挙動によって生じ得る予測不能な側面を表し得る。学習システムは、他のプレーヤの挙動に対してロバストなポリシを学習すべきである。||v
t||が大きい場合、有意味のポリシを学習するには過去の動作と将来の報酬値との間のつながりに雑音が多過ぎる可能性がある。システムの動力学をトランスペアレントな方法で明確に表現することは、過去の知識をより容易に組み込むことを可能にすることができる。例えば、過去の知識は、
【数64】
を定める問題を単純化し得る。
【0260】
[0320] 上記で論じたように学習システムは、予期せぬ方法で動作し得る他の複数のドライバーを含み得るホスト車両の環境等、敵対環境に対するロバスト性の恩恵を受けることができる。vtに対して確率論的仮定を課さないモデルでは、vtが敵対的方法で選択される環境を検討することができる。幾つかの場合、μtに制限を加えることができ、さもなければ敵が計画問題を困難にし、又は不可能にさえし得る。1つの自然な制約は、||μt||が制約によって境界を付けられることを要求することであり得る。
【0261】
[0321] 敵対的環境に対するロバスト性は、自律運転の応用において有用であり得る。敵対的方法でμ
tを選択することは、ロバストな最適ポリシに向けて学習システムを集中させることができるため、学習プロセスを加速することさえできる。単純なゲームを使用してこの概念を説明することができる。状態は、
【数65】
であり、動作は、
【数66】
であり、即時の損失関数は、0.1|a
t|+[|s
t|-2]
+であり、[x]
+=max{x,0}は、ReLU(正規化線形ユニット)関数である。次の状態は、s
t+1=s
t+a
t+v
tであり、v
t∈[-0.5,0.5]が敵対的方法で環境のために選ばれる。ここで、ReLUを伴う2層のネットワークとして最適なポリシを記述することができる:a
t=-[s
t-1.5]
++[-s
t-1.5]
+。|s
t|∈(1.5,2]のとき、最適な動作は、動作a=0よりも大きい即時の損失を有し得ることを認識されたい。従って、システムは、将来の計画を立てることができ、即時の損失のみに依存しなくてもよい。a
tに対する損失の微分は、0.1sign(a
t)であり、s
tに対する微分は、1[|s
t|>2]sign(s
t)であることを認識されたい。s
t∈(1.5,2]の状況では、v
tの敵対的選択は、v
t=0.5に設定することであり、従ってa
t>1.5-s
tのときには常に、ラウンドt+1上で非ゼロ損失があり得る。そのような場合、損失の微分がa
tに直接逆伝搬し得る。従ってv
tの敵対的選択は、a
tの選択が次善である場合にナビゲーションシステムが非ゼロ逆伝搬メッセージを得ることを促進することができる。かかる関係は、現在の動作が(たとえその動作が次善の報酬又は更には損失を招いても)将来より高い報酬をもたらすより最適な動作の機会を与えるという期待に基づき、ナビゲーションシステムが現在の動作を選択することを促進し得る。
【0262】
[0322] このような手法は、起こり得る事実上全てのナビゲーション状況に適用することができる。以下では、1つの例、すなわち適応走行制御(ACC)に適用される手法について説明する。ACCの問題では、ホスト車両が前方の目標車両までの十分な距離(例えば、目標車両まで1.5秒)を保とうと試みる場合がある。別の目標は、所望の間隙を維持しながらできるだけスムーズに走行することであり得る。この状況を表すモデルを以下のように定めることができる。状態空間は、
【数67】
であり、動作空間は、
【数68】
である。状態の第1の座標は、目標車両の速度であり、第2の座標は、ホスト車両の速度であり、最後の座標は、ホスト車両と目標車両との間の距離(例えば、道路の曲線に沿ってホスト車両の位置から目標の位置を引いたもの)である。ホスト車両が行うべき動作は、加速であり、a
tで示すことができる。量τは、連続したラウンド間の時間差を示すことができる。τは、任意の適切な量に設定できるが、一例ではτを0.1秒とすることができる。位置s
tは、
【数69】
で示すことができ、目標車両の(未知の)加速度を
【数70】
で示すことができる。
【0263】
[0323] システムの完全なダイナミクスは、次式で記述することができる。
【数71】
【0264】
[0324] これは、2つのベクトルの和として記述することができる。
【数72】
【0265】
[0325] 第1のベクトルは、予測可能な部分であり、第2のベクトルは、予測不能な部分である。ラウンドtに対する報酬は、以下のように定められる。
【数73】
【0266】
[0326] 第1の項は、非ゼロ加速度に対するペナルティをもたらす可能性があり、従ってスムーズな運転を促す。第2の項は、目標の車x
tまでの距離と所望の距離
【数74】
との間の比率に依存し、これは、1メートルの距離と1.5秒のブレーキ距離との間の最大値として定められる。幾つかの場合、この比率がまさに1であり得るが、この比率が[0.7,1.3]の範囲内にある限り、ポリシは、任意のペナルティなしで済ませることができ、それは、スムーズな運転を実現する際に重要であり得る特性である幾らかのスラック(slack)をナビゲーションにおいてホスト車両に認めることができる。
【0267】
[0327] 上記で概説した手法を実装し、ホスト車両のナビゲーションシステムは、(例えば、ナビゲーションシステムの処理ユニット110内の運転ポリシモジュール803の動作により)観測された状態に応じて動作を選択することができる。選択される動作は、感知されるナビゲーション状態に関して利用可能な応答動作に関連する報酬のみの分析に基づくのではなく、将来の状態、将来の状態に応じた潜在的動作、及び潜在的動作に関連する報酬を検討し分析することにも基づき得る。
【0268】
[0328]
図16は、検出及び長期計画に基づくナビゲーションに対するアルゴリズム手法を示す。例えば、ステップ1601では、ホスト車両のためのナビゲーションシステムの少なくとも1つの処理デバイス110は、複数の画像を受信し得る。これらの画像は、ホスト車両の環境を表すシーンを捕捉することができ、上記の画像捕捉装置(例えば、カメラやセンサ等)のいずれかによって供給され得る。ステップ1603でこれらの画像の1つ又は複数を分析することは、(上記で説明したように)少なくとも1つの処理デバイス110がホスト車両に関連する現在のナビゲーション状態を識別することを可能にし得る。
【0269】
[0329] ステップ1605、1607、及び1609では、検知されるナビゲーション状態に応じて様々な潜在的なナビゲーション動作を決定することができる。(例えば、合流を完了するために、先行車両の後にスムーズに続くために、目標車両を追い抜くために、道路内の物体を回避するために、検出した停止標識のために減速するために、割り込んでくる目標車両を回避するために、又はシステムのナビゲーション目標を助長し得る他の任意のナビゲーション動作を完了するために)これらの潜在的なナビゲーション動作(例えば、第1のナビゲーション動作から利用可能なN番目のナビゲーション動作まで)は、検知状態及びナビゲーションシステムの長期目標に基づいて決定することができる。
【0270】
[0330] 決定される潜在的なナビゲーション動作のそれぞれについて、システムは、期待報酬を決定することができる。期待報酬は、上記の技法のいずれかに従って決定することができ、1つ又は複数の報酬関数に対する特定の潜在的動作の分析を含み得る。ステップ1605、1607、及び1609でそれぞれ決定された(例えば、第1の、第2の、及びN番目の)潜在的なナビゲーション動作のそれぞれについて期待報酬1606、1608、及び1610を決定することができる。
【0271】
[0331] 幾つかの場合、ホスト車両のナビゲーションシステムは、期待報酬1606、1608、及び1610に関連する値(又は期待報酬の他の任意の種類のインジケータ)に基づいて利用可能な潜在的動作の中から選択を行うことができる。例えば、一部の状況では、最も高い期待報酬をもたらす動作が選択され得る。
【0272】
[0332] とりわけ、ナビゲーションシステムがホスト車両のためのナビゲーション動作を決定するために長期計画に携わる他の事例では、最も高い期待報酬をもたらす潜在的動作をシステムが選択しない場合がある。むしろ、システムは、将来に目を向けて、現在のナビゲーション状態に応じて低報酬の動作を選択した場合により高い報酬を後に実現する機会があり得るかどうかを分析することができる。例えば、ステップ1605、1607、及び1609で決定される潜在的動作のいずれか又は全てについて将来の状態を決定することができる。ステップ1613、1615、及び1617で決定されるそれぞれの将来の状態は、それぞれの潜在的動作(例えば、ステップ1605、1607、及び1609で決定される潜在的動作)によって修正される現在のナビゲーション状態に基づいて生じることが予期される将来のナビゲーション状態を表し得る。
【0273】
[0333] ステップ1613、1615、及び1617で予測される将来の状態のそれぞれについて、(決定される将来の状態に応じて利用可能なナビゲーションの選択肢としての)1つ又は複数の将来の動作を決定し評価することができる。ステップ1619、1621、及び1623では、例えば、将来の動作の1つ又は複数に関連する期待報酬の値又は他の任意の種類のインジケータを(例えば、1つ又は複数の報酬関数に基づいて)開発することができる。1つ又は複数の将来の動作に関連する期待報酬は、それぞれの将来の動作に関連する報酬関数の値を比較することによって又は期待報酬に関連する他の任意のインジケータを比較することによって評価することができる。
【0274】
[0334] ステップ1625では、ホスト車両のためのナビゲーションシステムは、現在のナビゲーション状態に対して(例えば、ステップ1605、1607、及び1609で)識別された潜在的動作のみに基づいてではなく、(例えば、ステップ1613、1615、及び1617で決定される)予測される将来の状態に応じて利用可能な将来の潜在的動作の結果として決定される期待報酬にも基づき、期待報酬を比較することに基づいてホスト車両のためのナビゲーション動作を選択することができる。ステップ1625での選択は、ステップ1619、1621、及び1623で実行される選択肢及び報酬の分析に基づき得る。
【0275】
[0335] ステップ1625でのナビゲーション動作の選択は、将来の動作の選択肢に関連する期待報酬を比較することのみに基づき得る。この場合、ナビゲーションシステムは、潜在的な将来のナビゲーション状態のための動作から生じる期待報酬を比較することのみに基づいて、現在の状態に対する動作を選択することができる。例えば、システムは、ステップ1619、1621、及び1623での分析によって決定される最も高い将来の報酬値に関連する、ステップ1605、1607、又は1609で識別される潜在的な動作を選択することができる。
【0276】
[0336] ステップ1625でのナビゲーション動作の選択は、(上記で述べたように)現在の動作の選択肢を比較することのみに基づき得る。この状況では、ナビゲーションシステムは、最も高い期待報酬1606、1608、又は1610に関連する、ステップ1605、1607、又は1609で識別される潜在的動作を選択することができる。この選択は、将来のナビゲーション状態又は予期される将来のナビゲーション状態に応じて利用可能なナビゲーション動作に対する将来の期待報酬を殆ど又は全く考慮せずに行うことができる。
【0277】
[0337] 他方では、幾つかの場合、ステップ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、又は現在の検知されたナビゲーション状態に応じて利用可能な動作に基づく他の報酬よりも更に高い潜在的報酬を与える動作の選択肢があり得る将来の状態をもたらす可能性があると判定されることがある。
【0278】
[0338] ステップ1625で潜在的動作の中から選択を行うことは、期待報酬(又は別の潜在的動作に勝るある潜在的動作に関連する利益の、他の任意の測定基準又はインジケータ)の任意の適切な比較に基づき得る。幾つかの場合、上記で説明したように、第1の潜在的動作に関連する報酬よりも高い期待報酬に関連する少なくとも1つの将来の動作を第2の潜在的動作がもたらすことが予測される場合、第1の潜在的動作に優先して第2の潜在的動作を選択することができる。他の事例では、より複雑な比較を使用することができる。例えば、予測される将来の状態に応じた動作の選択肢に関連する報酬を、決定される潜在的動作に関連する複数の期待報酬と比較することができる。
【0279】
[0339] 一部のシナリオでは、現在の状態に対する潜在的動作の結果として期待される報酬(例えば、期待報酬1606、1608、1610等)のいずれよりも高い報酬を将来の動作の少なくとも1つがもたらすことが予期される場合、予測される将来の状態に基づく動作及び期待報酬が、現在の状態に対する潜在的動作の選択に影響を及ぼす場合がある。幾つかの場合、現在のナビゲーション状態に対する潜在的動作を選択するためのガイドとして、(例えば、検知される現在の状態に対する潜在的動作に関連する期待報酬並びに潜在的な将来のナビゲーション状態に対する潜在的な将来の動作の選択肢に関連する期待報酬の中の)最も高い期待報酬をもたらす将来の動作の選択肢を使用することができる。すなわち、最も高い期待報酬(又は所定の閾値等を上回る報酬)をもたらす将来の動作の選択肢を識別した後、最も高い期待報酬をもたらす識別された将来の動作に関連する将来の状態につながる潜在的動作をステップ1625で選択することができる。
【0280】
[0340] 他の事例では、期待報酬間の決定される差に基づいて利用可能な動作の選択を行うことができる。例えば、ステップ1621で決定される将来の動作に関連する期待報酬と、期待報酬1606との差が、期待報酬1608と期待報酬1606との差を上回る場合(+符号の差を想定する)、ステップ1607で決定される第2の潜在的動作を選択することができる。別の例では、ステップ1621で決定される将来の動作に関連する期待報酬と、ステップ1619で決定される将来の動作に関連する期待報酬との差が、期待報酬1608と期待報酬1606との差を上回る場合、ステップ1607で決定される第2の潜在的動作を選択することができる。
【0281】
[0341] 現在のナビゲーション状態に対する潜在的動作の中から選択を行うための幾つかの例を説明してきた。但し、予測される将来の状態に及ぶ動作及び報酬の分析に基づく長期計画によって利用可能な動作を選択するために、他の任意の適切な比較技法又は基準を使用することができる。加えて、
図16では、長期計画分析において2つの層(例えば、現在の状態に対する潜在的動作から生じる報酬を検討する第1の層、及び予測される将来の状態に応じた将来の動作の選択肢から生じる報酬を検討する第2の層)を示すが、更に多い層に基づく分析も可能であり得る。例えば、長期計画分析を1つの層又は2つの層に基づかせるのではなく、現在のナビゲーション状態に応じて利用可能な潜在的動作の中から選択を行う際、分析の3つの層、4つの層、又は更に多くの層を使用することができる。
【0282】
[0342] 検知したナビゲーション状態に応じて潜在的動作の中から選択を行った後、ステップ1627では、少なくとも1つのプロセッサは、選択された潜在的なナビゲーション動作に応じてホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。ナビゲーションアクチュエータは、ホスト車両の少なくとも1つの側面を制御するための任意の適切な装置を含み得る。例えば、ナビゲーションアクチュエータは、操舵メカニズム、ブレーキ又はアクセルの少なくとも1つを含み得る。
【0283】
[0343] 他者の推論される攻撃性に基づくナビゲーション
[0344] 運転の攻撃性のインジケータを決定するために、取得画像ストリームを分析することによって目標車両を監視することができる。本明細書では、攻撃性は、質的又は定量的なパラメータとして記載するが、他の特性、すなわち感知される注意レベル(ドライバーの潜在的な欠陥、注意散漫 - 携帯電話や居眠り等)を使用し得る。一部の事例では、目標車両が防御的姿勢を有すると見なすことができ、一部の事例では、目標車両がより攻撃的な姿勢を有すると見なすことができる。攻撃性のインジケータに基づいてナビゲーション動作を選択又は開発することができる。例えば、幾つかの場合、ホスト車両に対する相対速度、相対加速度、相対加速度の増加、追走距離等を追跡して、目標車両が攻撃的であるか又は防御的であるかを判定することができる。目標車両が閾値を上回る攻撃度のレベルを有すると判定される場合、例えば、ホスト車両は、目標車両に道を譲ることに傾き得る。経路内の又は目標車両付近の1つ又は複数の障害物(例えば、先行車両、道路内の障害物、信号機等)に対する目標車両の決定された挙動に基づき、目標車両の攻撃度のレベルを決定することもできる。
【0284】
[0345] この概念への導入として、環状交差路内にホスト車両が合流することに関する実験の一例を説明し、ここで、ナビゲーション目標は、環状交差路を通過して出ていくことである。この状況は、ホスト車両が環状交差路の入り口に到達することで始まることができ、環状交差路の出口(例えば、第2の出口)に到達することで終わり得る。成功は、ホスト車両が他の全ての車両と常に安全な距離を保つかどうか、ホスト車両ができるだけ迅速にルートを終了するかどうか、及びホスト車両がスムーズな加速のポリシに従うかどうかに基づいて測定することができる。この解説では、NT台の目標車両が環状交差路上に無作為に配置され得る。敵対的な挙動及び典型的な挙動の混同をモデリングするために、確率pで目標車両を「攻撃的な」運転ポリシによってモデリングすることができ、そのため、ホスト車両が目標車両の前に合流しようと試みるとき、攻撃的な目標車両は、加速する。確率1-pで目標車両を「防御的な」運転ポリシによってモデリングすることができ、そのため、目標車両は、減速し、ホスト車両を合流させる。この実験ではp=0.5であり、他のドライバーの種類に関する情報がホスト車両のナビゲーションシステムに与えられなくてもよい。他のドライバーの種類は、エピソードの開始時に無作為に選択され得る。
【0285】
[0346] ナビゲーション状態は、ホスト車両(エージェント)の速度及び位置、並びに目標車両の位置、速度、及び加速度として表すことができる。現在の状態に基づいて攻撃的なドライバーと防御的なドライバーとを区別するには、目標の加速度を観測し続けることが重要であり得る。全ての目標車両が環状交差路の経路の輪郭を描く1次元曲線上を移動し得る。ホスト車両は、合流点において目標車両の曲線と交差する独自の1次元曲線上を移動することができ、この点が両方の曲線の原点である。妥当な運転をモデリングするために、全ての車両の加速度の絶対値に定数によって上限を設けることができる。逆方向に運転することは許可されていないため、速度もReLUを通過させることができる。逆方向に運転することを許可しないことにより、エージェントは、自らの過去の動作を悔いることができないため、長期計画が必要になり得ることに留意されたい。
【0286】
[0347] 上記で説明したように、次の状態s
t+1は、予測可能な部分
【数75】
と、予測不能な部分v
tとの和に分解することができる。表現
【数76】
は、(可微分な方法で明確に定めることができる)車両の位置及び速度のダイナミクスを表し得る一方、v
tは、目標車両の加速度を表し得る。
【数77】
は、アフィン変換上のReLU関数の組合せとして表すことができることを検証してもよく、従ってs
t及びa
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の後ろへの問題ない合流を完了している。
【0287】
[0348]
図18は、他の車両の予測される攻撃性に基づいてホスト車両をナビゲートするためのアルゴリズムの一例を表すフローチャートを示す。
図18の例では、目標車両の環境内の物体に対する目標車両の観測される挙動に基づき、少なくとも1つの目標車両に関連する攻撃性のレベルを推論することができる。例えば、ステップ1801では、ホスト車両のナビゲーションシステムの少なくとも1つの処理デバイス(例えば、処理デバイス110)は、ホスト車両の環境を表す複数の画像をホスト車両に関連するカメラから受信することができる。ステップ1803では、受信画像の1つ又は複数を分析することは、ホスト車両1701の環境内の目標車両(例えば、車両1703)を少なくとも1つのプロセッサが識別することを可能にし得る。ステップ1805では、受信画像の1つ又は複数を分析することは、少なくとも1つの処理デバイスが、ホスト車両の環境内で、目標車両にとっての少なくとも1つの障害物を識別することを可能にし得る。物体は、道路内の瓦礫、停止信号/信号機、歩行者、別の車両(例えば、目標車両の前を移動している車両や駐車車両等)、道路内の箱、道路障壁、カーブ、又はホスト車両の環境内で遭遇され得る他の任意の種類の物体を含み得る。ステップ1807では、受信画像の1つ又は複数を分析することは、少なくとも1つの処理デバイスが、目標車両にとっての少なくとも1つの識別された障害物に対する目標車両の少なくとも1つのナビゲーション特性を決定することを可能にし得る。
【0288】
[0349] 目標車両に対する適切なナビゲーション応答を作成するために、様々なナビゲーション特性を使用して検出された目標車両の攻撃性のレベルを推論することができる。例えば、かかるナビゲーション特性は、目標車両と少なくとも1つの識別された障害物との間の相対加速度、目標車両の障害物からの距離(例えば、別の車両の後ろにある目標車両の追走距離)、及び/又は目標車両と障害物との間の相対速度等を含み得る。
【0289】
[0350] 幾つかの実施形態では、ホスト車両に関連するセンサ(例えば、レーダ、速度センサ、GPS等)からの出力に基づいて目標車両のナビゲーション特性を決定することができる。しかし、幾つかの場合、ホスト車両の環境の画像を分析することに部分的に又は完全に基づいて、目標車両のナビゲーション特性が決定され得る。例えば、例として上記の及び参照により本明細書に援用する米国特許第9,168,868号で記載されている画像分析技法を使用して、ホスト車両の環境内の目標車両を認識することができる。ある期間にわたる捕捉画像内の目標車両の位置を監視すること、及び/又は目標車両に関連する1つ若しくは複数の特徴(例えば、テールライト、ヘッドライト、バンパー、車輪等)の捕捉画像内の位置を監視することは、目標車両とホスト車両との間の又は目標車両とホスト車両の環境内の1つ又は複数の他の物体との間の、相対的な距離、速度、及び/又は加速度を求めることを可能にし得る。
【0290】
[0351] 識別された目標車両の攻撃性のレベルは、目標車両の任意の適切な観測されたナビゲーション特性又は観測されたナビゲーション特性の任意の組合せから推論することができる。例えば、攻撃性の判定は、観測される任意の特性及び1つ又は複数の所定の閾値レベル又は他の任意の適切な質的若しくは定量的な分析に基づいて行うことができる。幾つかの実施形態では、目標車両が所定の攻撃的な距離の閾値未満の距離でホスト車両又は別の車両を追走することが観測される場合、その目標車両を攻撃的と見なすことができる。他方では、所定の攻撃的な距離の閾値を超える距離でホスト車両又は別の車両を追走することが観測される目標車両は、防御的と見なすことができる。所定の攻撃的な距離の閾値は、所定の防御的な距離の閾値と同じである必要はない。加えて、所定の攻撃的な距離の閾値及び所定の防御的な距離の閾値のいずれか又は両方は、明白な境界値ではなく、範囲の値を含み得る。更に、所定の攻撃的な距離の閾値も所定の防御的な距離の閾値も固定される必要はない。むしろ、これらの値又は範囲の値は、時間と共にシフトする場合があり、目標車両の観測される特性に基づいて様々な閾値/閾値範囲を適用することができる。例えば、適用される閾値は、目標車両の1つ又は複数の他の特性に依存し得る。観測されるより高い相対速度及び/又は加速度は、より大きい閾値/閾値範囲の適用を正当化し得る。逆に、ゼロの相対速度及び/又は加速度を含むより低い相対速度及び/又は加速度は、攻撃的/防御的の推論を行う際により小さい距離閾値/閾値範囲の適用を正当化し得る。
【0291】
[0352] 攻撃的/防御的の推論は、相対速度及び/又は相対加速度の閾値にも基づき得る。目標車両は、別の車両に対するその観測される相対速度及び/又はその相対加速度が所定のレベル又は範囲を上回る場合、攻撃的と見なすことができる。目標車両は、別の車両に対するその観測される相対速度及び/又はその相対加速度が所定のレベル又は範囲を下回る場合、防御的と見なすことができる。
【0292】
[0353] 攻撃的/防御的の判定は観測される任意のナビゲーション特性のみに基づいて行われ得るが、この判定は、観測される特性の任意の組合せに依存することもできる。例えば、上記で述べたように、幾つかの場合、一定の閾値又は範囲未満の距離で別の車両を追走することが観測されることのみに基づいて目標車両を攻撃的と見なすことができる。しかし、他の事例では、所定量(判定が距離のみに基づく場合に適用される閾値と同じであるか又は異なり得る)未満で別の車両を追走すると共に、所定の量又は範囲を上回る相対速度及び/又は相対加速度を有する場合、目標車両を攻撃的と見なすことができる。同様に、一定の閾値又は範囲を超える距離で別の車両を追走することが観測されることのみに基づいて目標車両を防御的と見なすことができる。しかし、他の事例では、所定量(判定が距離のみに基づく場合に適用される閾値と同じであるか又は異なり得る)を超えて別の車両を追走すると共に、所定の量又は範囲未満の相対速度及び/又は相対加速度を有する場合、目標車両を防御的と見なすことができる。システム100は、例えば、車両が0.5Gの加速度又は減速度を超える場合(例えば、ジャーク5m/s3)、車両がレーン変更又はカーブ上で0.5Gの横加速度を有する場合、車両が上記のいずれかを別の車両に行わせる場合、車両がレーンを変更し、0.3Gの減速度又は3m/s3のジャークを超えて別の車両に道を譲らせる場合、及び/又は車両が停止することなしに2レーン変更する場合、攻撃的/防御的を決定することができる。
【0293】
[0354] ある範囲を上回る量に言及することは、その量が範囲に関連する全ての値を上回ること又は範囲に含まれることを示し得ることを理解すべきである。同様に、ある範囲を下回る量に言及することは、その量が範囲に関連する全ての値を下回ること又は範囲に含まれることを示し得る。加えて、攻撃的/防御的の推論を行うことについて記載した例は、距離、相対加速度、及び相対速度に関して説明したが、他の任意の適切な量を使用し得る。例えば、計算が使用され得る衝突までの時間、又は目標車両の距離、加速度、及び/又は速度の任意の間接的なインジケータを使用することができる。上記の例は、他の車両に対する目標車両に焦点を当てるが、攻撃的/防御的の推論は他の任意の種類の障害物(例えば、歩行者、道路障壁、信号機、瓦礫等)に対する目標車両のナビゲーション特性を観測することで行い得ることにも留意すべきである。
【0294】
[0355]
図17A及び
図17Bに示す例に戻り、ホスト車両1701が環状交差路に近づくと、少なくとも1つの処理デバイスを含むナビゲーションシステムは、ホスト車両に関連するカメラから画像ストリームを受信することができる。受信画像の1つ又は複数の分析に基づき、目標車両1703、1705、1706、1708、及び1710のいずれかを識別することができる。更に、ナビゲーションシステムは、識別された目標車両の1つ又は複数のナビゲーション特性を分析することができる。ナビゲーションシステムは、目標車両1703と1705との間の間隙が、環状交差路内への潜在的合流の第1の機会を表すと認識することができる。ナビゲーションシステムは、目標車両1703を分析して、目標車両1703に関連する攻撃性のインジケータを決定することができる。目標車両1703が攻撃的であると見なされる場合、ホスト車両のナビゲーションシステムは、車両1703の前に合流するのではなく車両1703に道を譲ることに決めることができる。他方では、目標車両1703が防御的であると見なされる場合、ホスト車両のナビゲーションシステムは、車両1703の前で合流動作を完了しようと試みることができる。
【0295】
[0356] ホスト車両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の前で、環状交差路内に合流することに決めることができる。
【0296】
[0357]
図18に戻り、ステップ1809では、ホスト車両のナビゲーションシステムの少なくとも1つの処理デバイスは、識別された障害物に対する目標車両の少なくとも1つの識別されたナビゲーション特性に基づき、ホスト車両のためのナビゲーション動作(例えば、車両1710の前且つ車両1703の後ろに合流すること)を決定することができる。ナビゲーション動作を(ステップ1811)で実施するために、少なくとも1つの処理デバイスは、決定されたナビゲーション動作に応じてホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。例えば、
図17Aにおいて車両1703に道を譲るためにブレーキをかけることができ、
図17Bに示すように車両1703の後ろでホスト車両を環状交差路に入れさせるためにホスト車両の車輪の操舵と共にアクセルを踏むことができる。
【0297】
[0358] 上記の例の中で説明したように、ホスト車両のナビゲーションは、別の車両又は物体に対する目標車両のナビゲーション特性に基づくことができる。加えて、ホスト車両のナビゲーションは、別の車両又は物体を具体的に参照することなしに、目標車両のナビゲーション特性のみに基づき得る。例えば、
図18のステップ1807では、ホスト車両の環境から捕捉される複数の画像を分析することは、目標車両に関連する攻撃性のレベルを示す識別された目標車両の少なくとも1つのナビゲーション特性を決定することを可能にし得る。このナビゲーション特性は、攻撃的/防御的の判定を行うために別の物体又は目標車両の参照する必要がない速度や加速度等を含み得る。例えば、所定の閾値を超える又はある範囲の値に含まれる若しくは範囲の値を超える目標車両に関連する観測された加速度及び/又は速度が、攻撃的な挙動を示し得る。逆に、所定の閾値を下回る又はある範囲の値に含まれる若しくは範囲の値を超える目標車両に関連する観測された加速度及び/又は速度が、防御的な挙動を示し得る。
【0298】
[0359] 当然ながら、一部の例では、攻撃的/防御的の判定を行うために、観測されるナビゲーション特性(例えば、位置、距離、加速度等)がホスト車両に参照されてもよい。例えば、目標車両に関連する攻撃性のレベルを示す目標車両の観測されるナビゲーション特性は、目標車両とホスト車両との間の相対加速度の増加、ホスト車両の後ろの目標車両の追走距離、目標車両とホスト車両との間の相対速度等を含み得る。
【0299】
[0360] 位置に基づくナビゲーション規則の選択
[0361] 幾つかの実施形態では、ホスト車両のナビゲーションシステムは、車両に対する規則の適用可能性に基づいて、ナビゲーション規則を選択することができる。例えば、ホスト車両のナビゲーションシステムは、(例えば、GPS、位置ブロードキャストビーコン、認識された交通標識等、又はそれらの任意の組合せに基づいて)ホスト車両の位置を監視し、位置に基づいてナビゲーション規則(例えば、青信号で道を譲りながら左折すること又は青の矢印信号でのみ左折すること)を選択することができる。以下では、車両の自律制御にかかるナビゲーション規則を適用するためのシステム及び方法について記載する。
【0300】
[0362]
図19に示すように、上記で論じた他のモジュールと組み合わせて、ナビゲーション規則の選択及び適用は、例えば管轄区域決定モジュール1902及びナビゲーション規則決定モジュール1904を含む2つのモジュールに区分化することができる。幾つかの実施形態では、モジュール1902及び1904は、システム100のメモリユニット140及び/又はメモリユニット150内に記憶することができ、又はモジュール1902及び1904(又はその一部)は、システム100から離して記憶する(例えば、無線送受信機172により、例えばシステム100にとってアクセス可能なサーバ内に記憶する)ことができる。
【0301】
[0363] 処理ユニット110によって実行可能な命令を記憶することができる管轄区域決定モジュール1902は、目標車両が関連する1つ又は複数の管轄区域を識別することに関係する様々なタスクを処理することができる。かかるタスクは、1つ又は複数のオンボードカメラからの画像又は画像ストリーム、GPS位置情報、ユーザフィードバック、1つ又は複数のユーザインタフェース装置へのユーザ入力、レーダ、ライダ等、ホスト車両に関連する様々なセンサ及び検知システムからの入力に依存し得る。
【0302】
[0364] 例えば、管轄区域決定モジュール1902は、ホスト車両の位置の少なくとも1つのインジケータに基づいて、ホスト車両が移動している管轄区域を識別することができる。少なくとも1つのインジケータは、ホスト車両の位置に関する情報を含むGPS信号又は他のデジタル若しくはアナログ無線信号の1つ又は複数を含み得る。幾つかの実施形態では、ホスト車両の位置の少なくとも1つのインジケータは、複数の画像の分析に少なくとも部分的に基づき得る。例えば、画像は、文字を有する道路標識を含むことができ、それらの文字を光学式文字認識によって分析して車両の位置を決定することができる。
【0303】
[0365] 管轄区域を決定することは、上記のセンサ及び検知システムのいずれか1つ又は複数によって決定される特定の領域内における物理的な存在に基づき得る。かかる領域は、例えば、州、国、都市等の地理的境界を含み得る。幾つかの実施形態では、例えばホスト車両が都市の境界内と国の境界内とに同時にいる場合、複数の管轄区域が同時に適用可能であり得る。幾つかの実施形態では、管轄区域が特定の種類の領域(例えば、都会、郊外、レクリエーション、買物、娯楽、食事等)を含み得る。
【0304】
[0366] 加えて又は或いは、管轄区域は、ホスト車両の位置又は環境に関連する属性に基づいて決定することができる。幾つかの実施形態では、管轄区域決定モジュール1902は、ホスト車両が高速道路等の特定の種類の道路に沿って移動していると決定することができ、それらの道路は、特定の規則及び/又は道路交通法に従う特定の管轄区域に相当する。管轄区域決定モジュール1902は、時間及び/又は日付(例えば、週末、休日、混雑時間等)、私有地又は公有地としての位置の状態、車両の状態(例えば、乗車人数)等に基づく管轄区域等の他の属性を決定することができる。かかる属性は、上記のホスト車両に関連するセンサ及び検知システムにより、地図データベース160により、又は要因の組合せにより決定することができる。
【0305】
[0367] 幾つかの実施形態では、管轄区域決定モジュール1902の出力をナビゲーション規則決定モジュール1904に伝えることができる。ナビゲーション規則決定モジュール1904は、処理ユニット110によって実行可能な命令を記憶することができ、決定された管轄区域に応じてホスト車両が行うための1つ又は複数のナビゲーション動作を決めるために所望の運転ポリシを実施することができる。幾つかの実施形態では、ナビゲーション規則決定モジュール1904は、ホスト車両の識別されたナビゲーション状態に基づいて、及び識別された管轄区域に固有の決定された少なくとも1つのナビゲーション規則に基づいて、ホスト車両のナビゲーション変更を引き起こすことができる。
【0306】
[0368] 例えば、ナビゲーション規則決定モジュール1904は、管轄区域決定モジュール1902によって決定される管轄区域が、信号機によって示される青の矢印がない場合に信号機のある交差点での左折を禁止していると決定することができる。或いは、ナビゲーション規則決定モジュール1904は、信号機によって示される青信号がある場合、道を譲りながら交差点での左折を管轄区域が許可すると決定することができる。ナビゲーション規則決定モジュール1904によって決定される他の規則は、赤信号が示されている場合に曲がることを禁止又は許可する規則や、歩行者がいる場合に曲がることを禁止する規則等を含み得る。幾つかの実施形態では、特定の1つのシナリオに対して複数の規則が適用され得る。そのような場合、ナビゲーション規則決定モジュール1904は、規則が整合するか又は矛盾するかを決定することができる。規則が整合する場合、ナビゲーション規則決定モジュール1904は、規則に従ってホスト車両を進めることができる。複数の規則が矛盾する場合、ナビゲーション規則決定モジュール1904は、規則を順位付けし、安全規格を守りながら順位が最も高い規則を適用することができる。例えば、都市の管轄区域に基づく規則は、郊外の管轄区域に基づく規則に優先し得る。
【0307】
[0369] ナビゲーション規則決定モジュール1904は、様々なシナリオに適用可能なナビゲーション規則を決定することができる。幾つかの実施形態では、ナビゲーション規則決定モジュールは、特定の管轄区域に関連する複数レーン道路の特定のレーンに関係する規則を決定することができる。例えば、決定された管轄区域は、重量又は車軸数に基づいて1つ又は複数の特定のレーンへのアクセスを車両に対して制限することができ、又は車両内にいる乗車人数に基づいてハイオキュパンシービークルレーンを制限することができる。ナビゲーション規則決定モジュール1904は、管轄区域が別の車両を追い越す場合を除いて、複数レーン道路のレーン(例えば、左レーン)内の走行を禁止すること、又は指定の日付及び/又は時間外に特定のレーン若しくは路肩にアクセスすることを禁止していると決定することができる。
【0308】
[0370] ナビゲーション規則決定モジュール1904は、決定された管轄区域内にいることが既知であるという特性に基づいて、ナビゲーション規則を更に決定することができる。かかる特性は、制限速度、道路の特性(例えば、レーンの幅)、信号機のタイミング、通行料のスケジュール等を含み得る。分かっている特性は、特定の位置の「暗黙の規則」も含み得る。そのような暗黙の規則に従うことは、ホスト車両による不所望の挙動を回避することができる。例えば、規則決定モジュール1904は、とりわけ起伏に富んでいるか、車が通る傾向があるか、又は衝突が起きる傾向があることが分かっている領域内において、ホスト車両と目標車両との間の追加の距離を与えるための規則を決定することができる。かかる規則は、不要なブレーキを防ぐか、燃費を改善するか、又は衝突を回避し得る。更に、そのような暗黙の規則は、運転ポリシモジュール803に関して上記で説明した強化学習によって開発することができる。幾つかの実施形態では、運転ポリシを作成し、そのポリシは、トレーニングされた管轄区域に基づいて採用され得る。制御モジュール805に関して上記で説明した検討事項に加えて又はその代わりに、制御モジュール805は、ナビゲーション規則決定モジュール1904からの出力に基づいて、ホスト車両に関連する1つ又は複数のアクチュエータ又は被制御装置のための制御命令を開発することができる。
【0309】
[0371]
図20は、
図12に関して説明したホスト車両のナビゲーション中に捕捉及び分析され得るシーンの一例を示す。
図20に示すシーンは、管轄区域の規則の影響を受ける可能性がある幾つかの特徴を含む。例えば、信号機2002は、青の矢印及び黄色の矢印を最左端の列に含み得る複数の信号灯の列を含む。信号機2002の様々な信号灯を適切に解釈することは、信号機2002が位置する管轄区域の影響を受ける可能性がある。標識2004は、左折する車両が対向交通に道を譲らなければならないことを示している。更に標識2006は、午前7:00から午後7:00まで左折が禁止されているが、休日が例外であることを示している。ナビゲーション規則決定モジュール1904は、標識2004及び/又は2006によって示される要件を定める情報に基づいて1つ又は複数の規則を決定することができる。例えば、ナビゲーション規則決定モジュール1904は、管轄区域に関連するタイムゾーンを決定し、標識2006によって指定されている時間内にホスト車両が動いているかどうかを決定することができる。ナビゲーション規則決定モジュール1904は、管轄区域内で祝われる休日を決定し、管轄区域内で祝われる休日中にホスト車両が動いているかどうかを決定することもできる。
【0310】
[0372] 標識2008は「Hartom St.」という名称を表示している。ナビゲーション規則決定モジュール1904は、Hartom Streetが複数の管轄区域に及ぶかどうか、及びその道が異なる属性を含むかどうか又はその結果として異なる法律に服するかどうかを決定することができる。例えば、ナビゲーション規則決定モジュール1904は、Hartom Streetが特定の都市、国又は他の管轄区域の境界内の一方通行道路であると決定することができる。
【0311】
[0373] 標識2010は、歩行者がいる間に曲がってはいけないことを示している。ナビゲーション規則決定モジュール1904は、歩行者の有無に関係する規則が関連管轄区域の影響を受ける可能性があるかどうかを決定することができる。例えば、ナビゲーション規則決定モジュール1904は、特定の管轄区域が、道路からの特定の距離や道路の境界からの道路内の距離等に基づいて歩行者の有無を定めると決定し得る。
【0312】
[0374]
図21は、位置に基づいてホスト車両のナビゲーションシステムのためのナビゲーション規則を選択するためのプロセスの一例を表すフローチャート2100の一例である。
図21の例では、ホスト車両の位置に関連する管轄区域に基づいてナビゲーション規則を確立又は修正することができる。
【0313】
[0375] ステップ2102では、ホスト車両のナビゲーションシステムの少なくとも1つの処理デバイス(例えば、処理デバイス110)は、例えば、
図2A~
図2F及び
図5A~
図5Fに関して上記で説明したように、ホスト車両の環境を表す複数の画像をホスト車両に関連するカメラから受信することができる。ステップ2104では、受信画像の1つ又は複数を分析することは、例えば、検知モジュール801に関して上記で説明したように、ホスト車両のナビゲーション状態を少なくとも1つのプロセッサが識別することを可能にし得る。
【0314】
[0376] ステップ2106では、少なくとも1つの処理デバイスは、ホスト車両に関連する管轄区域を識別することができる。識別は、上記の管轄区域決定モジュール1902によって行うことができる。例えば、管轄区域決定モジュール1902は、GPS、ステップ2102で受信した画像の画像分析、並びにホスト車両が都市及び州を含む複数の管轄区域に関連するというユーザ入力の1つ又は複数の組合せに基づいて、関連管轄区域を識別することができる。より詳細には、管轄区域決定モジュール1902は、利用者が入力する希望ルート情報、GPS受信機から受信される位置情報、及び
図20に示す標識2008等の標識を含む画像を分析することの組合せに基づいて、特定の都市及び州との関連付けを決定することができる。より詳細には、ナビゲーションに要求されるルート内にある管轄区域まで管轄区域情報の領域を狭めることができる。GPS信号によって見つかる位置を管轄区域の位置のデータベースと比較することにより、特定の管轄区域を識別することができる。その位置は、道路標識上に反映される道路名を光学式文字認識することによって識別される交差点が、識別された管轄区域内に実際にあることを確認することにより、複数の画像を分析することによって検証することができる。
【0315】
[0377] ステップ2108では、少なくとも1つの処理デバイスは、ステップ2106で識別された管轄区域に固有の少なくとも1つのナビゲーション規則を決定することができる。ナビゲーション規則は、上記の任意の規則決定モジュール1904によって決定され得る。上記で概説したように、管轄区域に基づいて複数の規則が適用される限り、規則決定モジュール1904は、それらの規則が整合するかどうかを決定し、整合しない場合、特定の位置においていずれの規則が支配するかを決定することができる。
【0316】
[0378] ステップ2110では、少なくとも1つの処理デバイスは、ホスト車両の識別されたナビゲーション状態に基づいて、及び識別された管轄区域に固有の決定された少なくとも1つのナビゲーション規則に基づいて、ホスト車両のナビゲーション変更を引き起こすことができる。幾つかの実施形態では、ホスト車両のナビゲーションシステムの少なくとも1つの処理デバイスは、決定されたナビゲーション規則に基づいて、ナビゲーション変更によって必要とされるホスト車両のナビゲーション動作(例えば、左折する、停止する、対向交通に道を譲る、追い越さない、レーン変更しない、追い越すためにのみレーン変更する等)を決定することができる。
【0317】
[0379] 一実施形態では、左折が望ましいとナビゲーション状態に基づいて処理デバイスが決定し得る。処理デバイスは、GPS信号によって決定される車両の位置及びプロセッサによって受信される画像を分析して、標識2008からHartom St.を(例えば、OCR技法によって)抽出することに基づいて、管轄区域を識別している可能性がある。処理デバイスは、対向車に道を譲るが、矢印なしの青信号での左折を許可する単一の管轄区域によってその位置が管理されていると決定している可能性がある。この決定に基づいて、処理デバイスは、対向車に道を譲りながら曲がり始めることができる。
【0318】
[0380] ナビゲーション動作を実施するために、少なくとも1つの処理デバイスは、決定されたナビゲーション動作に応じてホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。例えば、対向交通に道を譲るためにブレーキをかけることができ、対向交通が通過したときホスト車両を左折させるためにホスト車両の車輪の操舵と共にアクセルを踏むことができる。
【0319】
[0381] ナビゲーションシステムの追い越しコマンド機能
[0382] 幾つかの実施形態では、ホスト車両のナビゲーションシステムは、目標車両を追い越す願望に基づいてナビゲーション規則を選択することができる。目標車両のサイズ、種類、可視性への影響、ホスト車両の乗客の快適さへの影響、ホスト車両の乗客の安全性への予期される影響等、目標車両を追走することが望ましくない幾つかの理由のいずれかのために、追い越しが望ましい場合がある。以下では、車両の自律制御にかかるナビゲーション規則を適用するためのシステム及び方法について記載する。
【0320】
[0383] 例えば、一実施形態では、ホスト車両のためのナビゲーションシステムは、ホスト車両の環境を表す複数の画像を少なくとも1つのカメラ(例えば、画像捕捉ユニット122、124及び126の少なくとも1つ)から受信するようにプログラムされる少なくとも1つの処理デバイス(例えば、処理ユニット110)を含み得る。少なくとも1つの処理デバイスは、複数の画像を分析してホスト車両の環境内の少なくとも1つの目標車両を識別するように、及び複数の画像を分析して目標車両の少なくとも1つの特性を識別するように、更にプログラムされ得る。ホスト車両の少なくとも1つの特性は、目標車両の1つ又は複数の任意の側面(例えば、車両のサイズ、形状、種類等)に関係し得る。少なくとも1つの特性を識別した後、少なくとも1つの処理デバイスは、目標車両の追い越しを開始するために、ホスト車両の少なくとも1つのナビゲーション変更を引き起こすように更にプログラムされ得る。
【0321】
[0384]
図22に示すように、上記で論じた他のモジュールと組み合わせて、ナビゲーション規則の選択及び適用は、目標車両特性決定モジュール2202及びナビゲーション変更開始モジュール2204を含む2つのモジュールに区分化することができる。幾つかの実施形態では、モジュール2202及び2204は、システム100のメモリユニット140及び/又はメモリユニット150内に記憶することができ、又はモジュール2202及び2204(又はその一部)は、システム100から離して記憶する(例えば、無線送受信機172により、例えばシステム100にとってアクセス可能なサーバ内に記憶する)ことができる。
【0322】
[0385] 処理ユニット110によって実行可能な命令を記憶することができる目標車両特性決定モジュール2202は、検知モジュール801によって検知される目標車両の1つ又は複数の特性を識別することに関係する様々なタスクを処理することができる。かかるタスクは、1つ又は複数のオンボードカメラからの画像又は画像ストリーム、ユーザフィードバック、1つ又は複数のユーザインタフェース装置へのユーザ入力、レーダ、ライダ等、ホスト車両に関連するセンサ及び検知システムからの入力に依存し得る。
【0323】
[0386] 幾つかの実施形態では、目標車両特性決定モジュールは、目標車両のサイズ及び/又は形状を決定することができる。そのように決定することは、直線距離(例えば、フィートやメートル等)での測定等、絶対的に行うことができるか、又はレーン幅のパーセント、最大高さのパーセント、目標車両によって隠される視野の部分等、運転の文脈に関連する特性に関して相対的であり得る。車両の寸法及び/又は形状は、受信画像を分析することによって求めることができる。例えば、画像内の既知の距離を算出及び/又は識別し、車両の実際のサイズを決定するためにその既知の距離を車両の寸法と比較することができる。受信画像内で見つかる形状を、車両及び他の物体内で見つかる既知の形状と比較することにより、形状の関連性を決定することができる。
【0324】
[0387] 目標車両特性決定モジュール2202は、車両の種類も決定することができる。幾つかの実施形態では、車両のカテゴリ(例えば、セダン、トラック、バン、オートバイ、商用等)を決定することができる。目標車両特性決定モジュール2202は、目標車両の形状を求め、それを車両の形状のデータベースと比較することによって車両の種類を決定することができる。或いは、目標車両特性決定モジュールは、目標車両のタイヤのサイズ等、目標車両の特定の特徴を使用して決定を行うことができる。1つ又は複数の画像内の形状又は他の特性を識別するようにトレーニングされるトレーニング済みシステムを使用することができ、追加の決定が完了することから、かかる使用は、信頼度を得る。更に、目標車両特性決定モジュールは、タイヤ上の文字や車両上の文字等、車両上で見つかる文字を画像の光学式文字認識によって識別することができる。目標車両特性決定モジュール2202は、目標車両が建設車両、農業機器、オフロード車両、タクシー、警察車両、緊急車両等のカテゴリに該当するかどうかを決定することもできる。
【0325】
[0388] 目標車両特性決定モジュール2202は、目標車両の他の特性、具体的には目標車両を追い越す決定に関連し得る特性を決定することができる。例えば、目標車両特性決定モジュールは、安全でない物(例えば、はためいている生地、ゆるんだ取付紐、束ねていないパネル、開いているドア、施錠されていないドア、他の安全でない物体)等、近くのホスト車両に対する安全上の問題を示唆し得る条件を検出することができる。
【0326】
[0389] 追加で、目標車両特性決定モジュール2202は、目標車両からの物質(例えば、液体、砂利又は氷等の固体、煙又はすす等の粒子物質等)の放出等、目標車両に関連する他の条件又は事象を決定することができる。上記の車両特性の識別と同様に、そのように決定することは、データベース内の物体の形状及び/又はサイズとの比較、学習アルゴリズム、又は組み合わせによって受信画像を分析することで行うことができる。
【0327】
[0390] 幾つかの実施形態では、目標車両特性決定モジュール2202は、ホスト車両に搭載される粒子検出器ハードウェアから粒子物質のインジケーションを受信し得る。目標車両特性決定モジュール2202は、そのインジケーションに基づいて粒子物質が例えば目標車両によって放出される煙又はすすであると決定することができる。
【0328】
[0391] 目標車両特性決定モジュール2202は、決定された目標車両の特性を示す情報を出力することができる。この出力は、ある特性が存在することを単に示す本質的に断定的なものとすることができ、又は特性の程度、例えば大型車のサイズの大きさ若しくは排ガスの程度等を示すことができる。
【0329】
[0392] 特性決定モジュール2202の出力は、ナビゲーション変更開始モジュール2204に伝えることができる。ナビゲーション変更開始モジュール2204は、処理ユニット110によって実行可能な命令を記憶することができ、決定された目標車両の特性に応じてホスト車両が行うための1つ又は複数のナビゲーション動作を決定するために、運転ポリシモジュール803に関して上記で説明したように所望の運転ポリシを実施することができる。ナビゲーション変更開始モジュール2204は、目標車両の追い越しを開始するためにホスト車両の少なくとも1つのナビゲーション変更を引き起こすことができる。
【0330】
[0393] ナビゲーション変更開始モジュール2204は、可視性への影響、ホスト車両の乗客の快適さへの影響、ホスト車両の乗客の安全性への予期される影響等、目標車両の敵対的状況に基づいてナビゲーション変更を決定することができる。ホスト車両を減速すること、ホスト車両を別のレーンに移すこと、又はホスト車両に目標車両を追い越させること等、観測される目標車両又は敵対的状況を回避するために運転ポリシを採用することができる。
【0331】
[0394] 幾つかの実施形態では、ナビゲーション変更開始モジュール2204は、目標車両のサイズに基づいて変更を開始することができる。サイズに基づくナビゲーション変更は、高さ、幅、面積、形状等の幾つかの要因及び/又は測定基準を考慮に入れることによって開始することができる。ナビゲーション変更開始モジュール2204は、目標車両が移動している速度に基づいて変更を開始することもできる。例えば、ナビゲーション変更開始モジュールは、目標車両が制限速度未満で移動している場合に追い越しを開始することができる。
【0332】
[0395] 幾つかの実施形態では、ナビゲーション変更開始モジュール2204は、安全性考察に基づいて変更を開始することができる。例えば、縫うように走ること、頻繁な又は突然のブレーキ、レーン内の走行に失敗すること等の運転挙動は、ナビゲーション変更開始モジュール2204によって要因として使用され得る。
【0333】
[0396] 幾つかの実施形態では、ナビゲーション変更開始モジュール2204は、車両の種類に基づいて変更を開始することができる。例えば、ナビゲーション変更開始モジュール2204は、ホスト車両に、建設車両又は農業車両等の特定の種類の車両を追い越させることができ、又は特定の種類の車両に対しては他の車両よりもホスト車両を離すことができる。
【0334】
[0397] ナビゲーション変更開始モジュール2204は、ユーザ入力等の他の要因にナビゲーション動作を基づかせることもできる。例えば、ナビゲーション変更開始モジュール2204は、ホスト車両の乗客によって操作されるユーザインタフェースから入力を受信することができる。幾つかの実施形態では、ホスト車両の乗員又は乗客からの入力は、非機械的入力等の入力を含み得る。かかる入力は、ナビゲーション変更を開始するために、ナビゲーション変更を確認するために、ナビゲーション変更をオーバーライドするために、ナビゲーション変更の適切さを強化するために、ナビゲーション変更を将来行わないことを要求するために使用することができ、又は特性決定モジュール2202から受信される情報との他の任意の組み合わせで使用され得る。
【0335】
[0398] ナビゲーション変更開始モジュール2204は、ナビゲーションのための1つ又は複数の空間目標を定めることによってナビゲーション変更を開始することができる。空間目標は、ナビゲーション変更を行うためにホスト車両がナビゲートしようとする物理位置とすることができる。物理位置は、絶対的に定めることができるか(例えば、緯度及び経度)、1つ又は複数の固定物体に対して定めることができるか、目標車両に対して定めることができるか、又は空間位置を定める他の任意の手段によって定めることができる。空間目標は、空間目標に到達するための予期又は意図される時間又は時間窓を設定し得る時間的指定に関連することができる。したがって、幾つかの実施形態では、処理デバイスは、選択された時間枠内において、選択された空間目標まで車両をナビゲートするための制御コマンドの組を提供するように構成され得る。空間目標及び/又は時間的指定の決定は、自動で又はユーザ入力に応じて行われ得る。更に、ナビゲーション変更開始モジュール2204は、車両に帰責事由がある事故を引き起こすことがない利用可能な追い越し操作があるかどうかを決定することにより、安全な追い越し操作が可能かどうかを決定することができる。
【0336】
[0399] ナビゲーション変更開始モジュール2204は、運転ポリシモジュール803に関して上記で説明したような機械学習ポリシモジュールを呼び出すように構成され得る。機械学習ポリシモジュールは、車両が別の車両の追い越しを開始及び完了するための動作の組を決定することができる。
【0337】
[0400]
図23は、
図12に関して説明したようにホスト車両のナビゲーション中にホスト車両のカメラによって捕捉及び分析され得るシーン2300の一例を示す。
図23に示すシーンは、ホスト車両によって識別され得る目標車両2302を含む。目標車両2302は、目標車両特性決定モジュール2202によって識別される、受信画像内で明白であり得る幾つかの特性の例を含み、ナビゲーション変更を行うようにナビゲーション変更開始モジュール2204を促すことができる。
【0338】
[0401] 例えば、ホスト車両からの可視性を遮るのに目標車両2302の高さ2304及び幅2306の一方又は両方が十分大きいことである。煙2310を放出する排気管2308が可視性を遮る場合があり、又はホスト車両の乗客に対する環境危険を作り出す可能性がある。更に、背面扉2312が部分的に若しくは完全に開いている場合があり、及び/又はラッチ2314が非施錠位置にある場合がある。一部の例では、点灯されたテールライト2316又は「距離を取ってください」の標識2318等、目標車両2302を回避するための明確なインジケーションを目標車両が含む場合がある。
図23では明確に示していないが、目標車両は、パタパタ動くパンクしたタイヤやゆるんだ生地の取付紐等、安全でない他の物を含み得る。
【0339】
[0402]
図24は、目標車両を追い越す願望に基づいてナビゲーション規則を選択するためのプロセスのフローチャート2400の一例である。ステップ2402では、ホスト車両のナビゲーションシステムの少なくとも1つの処理デバイス(例えば、処理デバイス110)は、例えば、
図2A~
図2F及び
図5A~
図5Fに関して上記で説明したようにホスト車両の環境を表す複数の画像をホスト車両に関連するカメラから受信することができる。ステップ2404では、受信画像の1つ又は複数を分析することは、例えば、検知モジュール801に関して上記で説明したように、少なくとも1つのプロセッサが目標車両を識別することを可能にし得る。
【0340】
[0403] ステップ2406では、少なくとも1つの処理デバイスは、目標車両に関連する1つ又は複数の特性を識別することができる。識別は、上記の特性決定モジュール2202によって行うことができる。例えば、少なくとも1つの処理デバイスは、高さ2304及び/又は幅2306を決定することができる。決定される内容は、絶対測定(例えば、メートルや平方メートル)として又は定性的評価(例えば、大型)として出力され得る。別の例として、少なくとも1つの処理デバイスは、煙2310を識別し、煤煙濃度の適切なインジケーションを出力するか又は単に煙があるというインジケーションを出力することができる。
【0341】
[0404] ステップ2408では、少なくとも1つの処理デバイスは、ステップ2406で識別された1つ又は複数の特性に基づいて、ナビゲーション変更を引き起こすことができる。ナビゲーション変更は、上記のナビゲーション変更開始モジュール2204によって引き起こすことができる。幾つかの実施形態では、ホスト車両のナビゲーションシステムの少なくとも1つの処理デバイスは、目標車両に関連する決定された1つ又は複数の特性に基づいて、ホスト車両のナビゲーション動作(例えば、減速すること、追い越すこと、レーン変更すること等)を決定することができる。ナビゲーション動作を実施するために、少なくとも1つの処理デバイスは、決定されたナビゲーション動作に応じてホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。例えば、減速するためにブレーキをかけることができ、追い越しを完了するためにホスト車両の車輪の操舵と共にアクセルを踏むことができる。
【0342】
[0405] ナビゲーション動作は、利用者の介入なしに自動で行われ得る。例えば、目標車両の特定の特性があると決定した後、少なくとも1つの処理デバイスは、ナビゲーションアクチュエータを調節することによってナビゲーション動作を開始することができる。1つ又は複数の閾値を使用することもできる。幾つかの実施形態では、特性にスコアを与えることができ、そのスコアは、0~1である。スコアは、特性自体の関連性若しくは激しさに基づくことができ、又は特性の程度(例えば、大型車のサイズ、ゆるんだ物体がパタパタ動く度合い、煙の量等)に基づいて変わり得る。ナビゲーション動作は、特性のスコアに基づいて実行することができる。例えば、ナビゲーション動作は、特性のスコアが予め設定された値を上回るとき、又は特性の組合せが所定値若しくはスコアに基づく別のインジケータを一緒に超えるときに開始することができる。
【0343】
[0406] ナビゲーション動作は、ユーザ入力に応じて行われ得る。例えば、ホスト車両内の乗客がユーザインタフェースを操作して、特性決定モジュール2202によって識別された特性に関連するナビゲーション動作を開始することができる。かかる操作は、音声コマンド、ボタンを押すこと、タッチスクリーン、ジェスチャ認識システム、又はインタフェースの操作に関して当技術分野で知られている他の任意の手段によって実現され得る。ユーザインタフェースは、1つ又は複数の識別された特性に基づいて、ナビゲーション動作を開始するように提案し、利用者からの確認を待つことができる。或いは又は加えて、インタフェースは、利用者からのコマンドを受け付けることができる。
【0344】
[0407] 幾つかの実施形態では、ナビゲーションシステムは、コマンド時に存在する目標車両の特性を保存することができる。例えば、それらの特性は、データベースに保存することができ、それにより、ホスト車両は、目標車両の同じ又は同様の特性の識別に応じて、後の時点で同様のナビゲーション変更を開始又は提案することができる。この形態は、将来の運転において利用者が好む方法でシステムが応答することを可能にし得る。例えば、利用者がとりわけ繰り返しのブレーキを嫌がる場合、そのようなブレーキを減らすためのナビゲーション変更を利用者が繰り返し手動で開始していることをホスト車両が認識し得る。ホスト車両は、繰り返し点灯されるテールライトの存在をかかる繰り返しのブレーキに関連付け、それにより、点灯されるテールライトの特性を繰り返し示す目標車両の後ろにいるときに、追い越しを提案又は開始することができる。
【0345】
[0408] ナビゲーションタイブレークシステム
[0409] 幾つかの実施形態では、ホスト車両のナビゲーションシステムは、少なくとも1つの目標車両がホスト車両と同じ又は同様のナビゲーション優先事項を有するナビゲーションシステムを認識し得る。かかる状況では、ナビゲーションシステムは、タイブレークするために少なくとも1つの動作を行って、目標車両又はホスト車両にナビゲーション上の優位性を与えることができる。かかる動作は、動的な利他的設定又は優位性設定に基づき得る。動作は、目標車両に情報信号(「あなたが行ってください」又は「私が行きます」)を伝送すること、光の点滅、前に少し動くこと等を含み得る。以下では、車両の自律制御にかかるナビゲーションタイブレークを適用するためのシステム及び方法について記載する。
【0346】
[0410] 例えば、一実施形態では、ホスト車両のためのナビゲーションシステムは、ホスト車両の環境を表す複数の画像を少なくとも1つのカメラ(例えば、画像捕捉ユニット122、124及び126の1つ)から受信するようにプログラムされる少なくとも1つの処理デバイス(例えば、処理ユニット110)を含み得る。少なくとも1つの処理デバイスは、複数の画像を分析してホスト車両の環境内の少なくとも1つの目標車両を識別するように、及び複数の画像の分析に少なくとも部分的に基づいて、目標車両とホスト車両とが同様のナビゲーション優先事項を有し、ナビゲーションが引き分ける状況(すなわち非決定的なナビゲーション優先事項)をもたらすと決定するように、更にプログラムされ得る。少なくとも1つの処理デバイスは、ホスト車両又は目標車両に対するナビゲーション優先事項を確立するためにホスト車両による少なくとも1つの動作を引き起こすように、及び確立されたナビゲーション優先事項に従ってホスト車両の少なくとも1つのナビゲーションアクチュエータの制御を引き起こすように、更にプログラムされ得る。
【0347】
[0411]
図25に示すように、上記で論じた他のモジュールと組み合わせて、そのような引き分けを認識し解決することは、例えば、ナビゲーション優先事項決定モジュール2502、ナビゲーション優先事項確立モジュール2504及びナビゲーション変更開始モジュール2506を含む3つのモジュールに区分化することができる。幾つかの実施形態では、モジュール2502、2504及び2506は、システム100のメモリユニット140及び/又はメモリユニット150内に記憶することができ、又はモジュール2502、2504及び2506(又はその一部)は、システム100から離して記憶する(例えば、無線送受信機172により、例えばシステム100にとってアクセス可能なサーバ内に記憶する)ことができる。
【0348】
[0412] 処理ユニット110によって実行可能な命令を記憶することができるナビゲーション優先事項決定モジュール2502は、検知モジュール801によって検知される目標車両の1つ又は複数の特性を識別することに関係する様々なタスクを処理することができる。かかるタスクは、1つ又は複数のオンボードカメラからの画像又は画像ストリーム、ユーザフィードバック、1つ又は複数のユーザインタフェース装置へのユーザ入力、レーダ、ライダ等、ホスト車両に関連する様々なセンサ及び検知システムからの入力に依存し得る。ナビゲーション優先事項決定モジュールは、2つの車両間の特定の相互作用においてホスト車両が優先事項(すなわち「優先通行権」)を有するか、又は目標車両が優先事項を有するかを決定することができる。ホスト車両及び目標車両のナビゲーション状態並びにそれぞれに適用可能なナビゲーション規則は、上記のシステム及び方法のいずれかにより、例えば処理デバイスによって受信される画像を分析することによって決定することができる。しかし、ナビゲーション優先事項決定モジュール2502が目標車両とホスト車両との間で優先事項を見出すことがない場合、又は優先事項の評価が互角である(例えば、閾値内である)場合、ナビゲーション優先事項決定モジュール2502は、ホスト車両と目標車両との間のナビゲーション優先事項の引き分けを決定することができる。
【0349】
[0413] ナビゲーション優先事項決定モジュール2502は、目標車両に関して決定される1つ又は複数のナビゲーション優先事項スコアを割り当てることができる。ナビゲーション優先事項決定モジュール2502は、優先事項のスコアが割当スコアの所定の閾値内にあるか又は範囲外にあるかに基づいて、ナビゲーション優先事項が確立されているか又は非決定的であるかを決定することができる。幾つかの実施形態では、ホスト車両及び目標車両のそれぞれについて優先値を計算することができる。ナビゲーション優先事項決定モジュール2502は、優先値間の差が所定の信頼閾値内にあるかどうかに基づいて、ナビゲーション優先事項が確立されているか又は非決定的であるかを決定することができる。
【0350】
[0414] ナビゲーション優先事項決定モジュール2502の出力は、ナビゲーション優先事項確立モジュール2504に伝えることができる。ナビゲーション優先事項確立モジュール2504は、処理ユニット110によって実行可能な命令を記憶することができ、ナビゲーション優先事項を確立するためにホスト車両が行うための1つ又は複数の動作を決定するための所望の運転ポリシを実施することができる。
【0351】
[0415] 幾つかの実施形態では、ナビゲーション優先事項確立モジュール2504は、恭順性(すなわち利他主義)又は支配性を推定することに基づいて優先事項を確立するように構成され得る。恭順性の推定は、優先事項確立モジュール2504が目標車両に道を譲る(例えば、優先事項を譲る(「あなたが行ってください」))ことによって優先事項を確立することをもたらし得るのに対し、支配性の推定は、優先事項確立モジュール2504が目標車両の前方にナビゲーション操作を開始する(例えば、優先事項を主張する(「私が行きます」))ことによって優先事項を確立することをもたらし得る。ナビゲーション優先事項確立モジュール2504は、恭順性対優位性の設定が固定されるか、ホスト車両の乗客によって設定され得るか、又は任意の数の要因に基づいて動的であり得るように構成され得る。例えば、恭順性対優位性は、所望の位置へのナビゲーションが予定よりも早いか又は遅れているかに基づいて設定することができる。すなわち、優先事項確立モジュール2504は、ホスト車両がその目的地に到達する予定に遅れていない限り、恭順性によって優先事項を確立するように構成され得る。
【0352】
[0416] 幾つかの実施形態では、ナビゲーション優先事項確立モジュール2504は、目標車両に情報信号を伝送することができる。情報信号は、ホスト車両が目標車両に道を譲ろうとしていることを示すことができるか、又はホスト車両が目標車両の前方にナビゲーション操作を開始しようとしていることを示すことができる。視覚的手掛かり及び可聴手掛かり、動き、無線通信(例えば、デジタル又はアナログ無線ネットワーキング)によって等、信号は、任意の知られている手段によって伝送することができる。一例として、ナビゲーション優先事項確立モジュール2504は、優先事項を示すためにホスト車両を少し動かすように構成され得る。少し動かすことは、ホスト車両が一度に一定距離(例えば、状況に応じて数センチメートル、1メートル、数メートル等の僅かな距離)動くことを示し得る。幾つかの実施形態では、ナビゲーション優先事項確立モジュール2504は、ホスト車両を前方に少し動かして優先事項を主張することができ、ホスト車両を後方に少し動かして優先事項を譲ることができる。後方又は前方に少し動く代わりに、他の動きによる手掛かりを使用し得ることを当業者は理解するであろう。幾つかの実施形態では、少し動かすことが行われるとき、システムがナビゲーション優先事項を評価し続けることができ、すなわち少し動かすことに応じて他の車両が譲ったかどうかを決定し続け得る。幾つかの実施形態では、優先事項を示すためにホスト車両に光の点滅を放たせるようにナビゲーション優先事項確立モジュール2504を構成することができる。例えば、ナビゲーション優先事項確立モジュール2504は、目標車両に優先事項を譲る意図を示すために自らのヘッドライトをホスト車両に点滅させることができる。少し動かす場合と同様に、点滅に応じて他の車両が譲ったかどうかを決定し続ける。
【0353】
[0417] 幾つかの実施形態では、ナビゲーション優先事項確立モジュール2504は、確立された優先事項に対する目標車両による応答を検出するように構成され得る。目標車両に伝送される情報信号と同様に、視覚的手掛かり及び可聴手掛かり、動き、無線通信(例えば、デジタル又はアナログ無線ネットワーキング)によってなど、この応答は、任意の知られている手段によるものとすることができる。幾つかの実施形態では、検出される応答は、確立された優先事項に基づいて動作する目標車両によるナビゲーション変更を検出している可能性がある。
【0354】
[0418] ナビゲーション優先事項確立モジュール2504の出力は、ナビゲーション変更開始モジュール2506に伝えることができる。ナビゲーション変更開始モジュール2206は、処理ユニット110によって実行可能な命令を記憶することができ、確立されたナビゲーション優先事項に応じてホスト車両が行うための1つ又は複数のナビゲーション動作を決定するための所望の運転ポリシを実施することができる。
【0355】
[0419]
図26Aは、
図12に関して説明したようにホスト車両のナビゲーション中にホスト車両のカメラによって捕捉及び分析され得るシーン2600の一例を示す。
図26Aに示すシーンは、交差点2604の先の四方向一時停止の1つの部分に到達している目標車両2602を含む。目標車両が停止標識2608に到達するのと同じ又はほぼ同じ時間にホスト車両が停止標識2606に到達する場合、ナビゲーションの引き分けが生じ得る。ナビゲーションの引き分けは、幾つかの方法、例えばホスト車両のヘッドライトを点滅させること、又は目標車両によって認識されるようにホスト車両を僅かに動かすことによって解決することができる。
【0356】
[0420]
図26Bは、
図12に関して説明したようにホスト車両のナビゲーション中にホスト車両のカメラによって捕捉及び分析され得るシーン2650の一例を示す。
図26Bに示すシーンは、ホスト車両と同じ高速道路のラインに合流する上記の目標車両2652を含む。目標車両が合流しようとしているのと同じ高速道路内の場所に目標車両が到達しようとしている場合、ナビゲーションの引き分けが生じ得る。ナビゲーションの引き分けは、幾つかの方法、例えばホスト車両のヘッドライトを点滅させることによって解決することができる。
【0357】
[0421]
図27は、ナビゲーション優先事項の引き分けに対処するためのプロセスの一例を表すフローチャート2700の一例である。
図27の例では、ホスト車両の位置に関連する管轄区域に基づいてナビゲーション規則を確立又は修正することができる。ステップ2702では、ホスト車両のナビゲーションシステムの少なくとも1つの処理デバイス(例えば、処理デバイス110)は、例えば、
図2A~
図2F及び
図5A~
図5Fに関して上記で説明したように、ホスト車両の環境を表す複数の画像をホスト車両に関連するカメラから受信することができる。ステップ2704では、受信画像の1つ又は複数を分析することは、例えば、検知モジュール801に関して上記で説明したように、少なくとも1つのプロセッサが目標車両を識別することを可能にし得る。
【0358】
[0422] ステップ2706では、少なくとも1つの処理デバイスは、目標車両とホスト車両とが同様のナビゲーション優先事項を有し、ナビゲーションが引き分ける状況をもたらすと決定することができる。この決定は、上記のナビゲーション優先事項決定モジュール2502によって行われ得る。
【0359】
[0423]
図26Aに示すように、例えばホスト車両と目標車両2602とが四方向一時停止交差点2604にほぼ同時に到達する場合がある。少なくとも1つの処理デバイスは、例えば、受信画像を分析して、停止標識2606内に含まれる「四方向」の指示を認識することにより、又は受信画像を分析して、ホスト車両及び目標車両2602の両方が停止標識2606及び2608にそれぞれ到達していることを認識することにより、ホスト車両及び目標車両2602の両方が停止する必要があると決定し得る。ホスト車両及び目標車両2602の両方が停止する必要があると認識した後、少なくとも1つの処理デバイスは、いずれに優先事項があるかを決定するために、ホスト車両及び目標車両2602のいずれが四方向一時停止に先に到達したかを決定しようと試みることができる。ホスト車両及び目標車両が同時に又は互いに閾値時間内に到達している場合、ナビゲーション優先事項決定モジュール2502は、ナビゲーション優先事項が引き分けであると決定することができる。
【0360】
[0424] 別の例として、
図26Bに示すように、ホスト車両と目標車両2652とが道路の同じレーン内に同時に又はほぼ同時に合流するように互いに近づく場合がある。少なくとも1つの処理デバイスは、ホスト車両及び目標車両がいずれも安全に合流を試みることができるかどうか、又は一方が道を譲る必要があるかどうかを決定することができる。ホスト車両及び目標車両の一方が道を譲る必要がある場合、ナビゲーション優先事項決定モジュール2502は、ナビゲーション優先事項が引き分けであると決定することができる。
【0361】
[0425] ステップ2708では、少なくとも1つの処理デバイスは、ホスト車両又は目標車両に対するナビゲーション優先事項を確立するために、ホスト車両による動作を引き起こすことができる。ナビゲーション優先事項の確立は、上記のナビゲーション優先事項確立モジュール2504によって行われ得る。すなわち、ホスト車両は、目標車両に情報信号を伝送してナビゲーション優先事項を確立することができる。例えば、
図26Aの四方向一時停止シナリオでは、ナビゲーション優先事項確立モジュール2504は、ホスト車両を前方に少し動かして優先事項を主張させるか、又はそのヘッドライトを点滅させて優先事項を譲らせることができる。
【0362】
[0426] 幾つかの実施形態では、ステップ2708において、ナビゲーション優先事項確立モジュール2504は、上記のように確立された優先事項に対する目標車両による応答を検出することもできる。検出される応答は、優先事項の確立を確認する受信情報信号であり得るか、又は確立された優先事項に基づいて動作する目標車両によるナビゲーション変更を検出することによって決定され得る。例えば、応答は、目標車両が停止すること、減速すること、又は他の方法で優先事項を譲ることであり得る。
【0363】
[0427] ステップ2712では、少なくとも1つの処理デバイスは、確立されたナビゲーション優先事項に従ってホスト車両のナビゲーションアクチュエータの制御を引き起こすことができる。ナビゲーションアクチュエータの制御は、上記のステップ2710で確立されたナビゲーション優先事項に基づくことができる。確立されたナビゲーション優先事項に従って例えばブレーキをかけることができ、アクセルを踏むことができ、及び/又はホスト車両の車輪の操舵を行うことができる。
【0364】
[0428] 自律ナビゲーションのための一時的な規則の中断
[0429] 幾つかの実施形態では、ホスト車両のナビゲーションシステムは、一部の状況で通常のナビゲーション規則を中断又は緩和することができる。例えば、交通渋滞では、(例えば、円形交差点における)特定の優先通行権の規則を中断することができる。別の例として、検出される危険(例えば、ホスト車両の隣接レーン内の縫うように走る車両又はホスト車両のレーン内の障害物等)に応じて、路肩又はハイオキュパンシービークル(「HOV」)レーン上を走行しないことに関する規則を一時的に中断することができる。以下では、車両の自律制御中にナビゲーション規則を中断するためのシステム及び方法について記載する。
【0365】
[0430] 例えば、一実施形態では、ホスト車両のためのナビゲーションシステムは、ホスト車両の環境を表す複数の画像を少なくとも1つのカメラ(例えば、画像捕捉ユニット122、124及び126の1つ)から受信するようにプログラムされる少なくとも1つの処理デバイス(例えば、処理ユニット110)を含み得る。少なくとも1つの処理デバイスは、複数の画像を分析して、ホスト車両の環境内におけるナビゲーション規則中断条件の存在を識別するように、更にプログラムされ得る。少なくとも1つの処理デバイスは、ナビゲーション規則中断条件の識別に応じて少なくとも1つのナビゲーション規則を一時的に中断するように、及び一時的に中断された少なくとも1つのナビゲーション規則によって制約されないホスト車両の少なくとも1つのナビゲーション変更を引き起こすように、更にプログラムされ得る。
【0366】
[0431]
図28に示すように、上記で論じた他のモジュールと組み合わせて、例えば規則中断条件決定モジュール2802及びナビゲーション規則中断モジュール2804を含む2つのモジュールに、ナビゲーション規則の中断に関連するタスクを区分化することができる。幾つかの実施形態では、モジュール2802及び2804は、システム100のメモリユニット140及び/又はメモリユニット150内に記憶することができ、又はモジュール2802及び2804(又はその一部)は、システム100から離して記憶する(例えば、無線送受信機172により、例えばシステム100にとってアクセス可能なサーバ内に記憶する)ことができる。
【0367】
[0432] 処理ユニット110によって実行可能な命令を記憶することができる規則中断条件決定モジュール2802は、1つ又は複数のナビゲーション規則の中断を正当化し及び/又は必要とし得る1つ又は複数の条件を識別することに関係する様々なタスクを処理することができる。かかる規則は、交通規則(例えば、速度、優先通行権、停止標識、信号機、路肩の走行禁止等)、ルート規則(例えば、混雑を回避する、通行料を回避する等)、又は他の規則を含み得る。かかるタスクは、1つ又は複数のオンボードカメラからの画像又は画像ストリーム、ユーザフィードバック、1つ又は複数のユーザインタフェース装置へのユーザ入力、レーダ、ライダ等、ホスト車両に関連する様々なセンサ及び検知システムからの入力に依存し得る。例えば、規則中断条件決定モジュールは、混雑又は交通渋滞、障害物又は他の妨害物、安全上の問題、1つ又は複数の他の車両による異常な挙動、緊急車両等、1つ又は複数のナビゲーション規則の中断を正当化し及び/又は必要とし得る条件を識別することができる。
【0368】
[0433] 幾つかの実施形態では、規則中断条件決定モジュール2802の出力をナビゲーション規則中断モジュール2804に伝えることができる。ナビゲーション規則中断モジュールは、規則中断条件決定モジュール2802によって識別される1つ又は複数の条件に基づいてナビゲーション規則を識別及び中断するための、処理ユニット110によって実行可能な命令を記憶することができる。一時的に中断された規則は、通常の動作条件下において、選択された領域内でのナビゲーションを禁止する可能性がある。幾つかの実施形態では、ホスト車両の前方の道路内に障害物があることを規則中断条件決定モジュール2802が示した後、ナビゲーション規則中断モジュール2804は、障害物を迂回することと干渉する規則を中断することができる。例えば、ナビゲーション規則中断モジュール2804は、ハイオキュパンシービークルレーン又は路肩にホスト車両が入ることを妨げるナビゲーション規則を中断し、ホスト車両が障害物を回避することを可能にし得る。同様に、ナビゲーション規則中断モジュール2804は、ホスト車両のレーン内に目標車両が侵入することに応じて規則を中断することができる。更に、交通渋滞等の交通条件は、交通が通常通り流れている場合、許容されない一定の動作を許容可能にすることができる。したがって、例えば混んでいる場合、ナビゲーション規則中断モジュール2804は、ナビゲーション上の優先通行権、制限速度、追い越しに関する制約等を通常の動作条件下で確立する規則を中断することができる。
【0369】
[0434] ナビゲーション規則中断モジュール2804は、規則中断条件の程度に基づいて規則を中断することができる。例えば、規則中断モジュール2804は、規則中断条件が障害物の高さを含むことを決定することができ、ナビゲーション規則の中断は、高さが閾値を上回るかどうかに基づき得る。
【0370】
[0435] ナビゲーション規則中断モジュール2804は、規則の根拠に優先すると考慮され得る1つ又は複数の要因に基づいて、ある条件が規則の中断に値し得るかどうかを決定することができる。ホスト車両の乗客の安全性、ホスト車両の近くにいる人の安全性、目標車両又は別の物体との衝突の差し迫った危険、ホスト車両の損失の可能性等の要因である。
【0371】
[0436] 例えば、規則中断条件に関連する要因に重み又は重要度を例えば0~1の尺度で割り当てることができ、規則を中断する前に、重要度が閾値を上回る必要があり得る。幾つかの実施形態では、規則を中断するための閾値は、規則によって異なり得る。例えば、HOVレーンに入ることを防ぐ規則を中断するための閾値は、高速道路の路肩を走行することを防ぐ規則を中断するための閾値よりも低い可能性がある。
【0372】
[0437] 幾つかの実施形態では、ある条件が規則の中断に値し得るかどうかは、複数の要因を考慮することができる。複数の要因のそれぞれに重み又は重要度を割り当てることができる。規則を中断するかどうかを決定する際、複数の要因の加重値又は重要度に関連する累積スコアを検討することができる。
【0373】
[0438] 幾つかの実施形態では、規則中断モジュール2804は、一時的に中断された規則を一時的な規則で置換することができる。一時的な規則は、例えば、中断された規則よりも緩和され得るか、又は規則中断条件に関連する条件に固有であり得る。
【0374】
[0439]
図29は、
図12に関して説明したようにホスト車両のナビゲーション中にホスト車両の少なくとも1つのカメラによって捕捉及び分析され得るシーン2900の一例を示す。シーン2900は、3つのレーン2904、2916、2918及び路肩2910を含む高速道路2902を含む。標識2906及び道路マーク2908によって示されているように、レーン2904は、HOV用途に制限されており、標識2912は、路肩2910が車両交通による使用を制限されていることを示している。レーン2916及び2918は、一般交通を受け入れている。シーン2900は、レーン2916及び2918を妨げている物体2914(この例では大きい箱)も含む。物体2914を回避するために、ホスト車両は、レーン2904にレーン変更することができる。それを行うために、レーン2904内の非HOV車両を禁止しているナビゲーション規則は、ホスト車両のナビゲーションシステムによって一時的に中断され得る。
【0375】
[0440]
図30は、
図12に関して説明したようにホスト車両のナビゲーション中にホスト車両の少なくとも1つのカメラによって捕捉及び分析され得る別のシーン3000の一例を示す。シーン2900と同様の特徴に加えて、シーン3000は、レーン2918からレーン2916内に縫うように走る車両3002を含む。車両3002を回避するために、ホスト車両は、レーン2904又は2910にレーン変更することができる。それを行うために、レーン2904内の非HOV車両を禁止し、且つ地面2910内の車両を禁止しているナビゲーション規則は、ホスト車両のナビゲーションシステムによって一時的に中断され得る。
【0376】
[0441] 幾つかの実施形態では、円形交差点に入る車両に対して円形交差点内の車両が優先通行権を有することを通常の条件下で確立する規則を中断する場合、ナビゲーション変更は、ホスト車両が優先通行権なしに円形交差点に入ることをもたらし得る。
【0377】
[0442]
図31は、ナビゲーション規則を中断するためのプロセスの一例を表すフローチャート3100の一例である。
図31の例では、ホスト車両によって検出される状況に基づいてナビゲーション規則が中断され得る。
【0378】
[0443] ステップ3102では、ホスト車両のナビゲーションシステムの少なくとも1つの処理デバイス(例えば、処理デバイス110)は、例えば、
図2A~
図2F及び
図5A~
図5Fに関して上記で説明したように、ホスト車両の環境を表す複数の画像をホスト車両に関連するカメラから受信することができる。
【0379】
[0444] ステップ3104では、少なくとも1つの処理デバイスは、受信画像の1つ又は複数を分析して、ホスト車両の環境内の規則中断条件を識別することができる。この分析は、例えば、検知モジュール801に関して上記で説明したように行われ得る。幾つかの実施形態では、ステップ3104での分析が上記のように規則中断条件決定モジュール2802によって行われ得る。例えば、少なくとも1つの処理デバイスは、シーン2900及び3000で示した物体2916又は車両3002をそれぞれ識別することができる。したがって、少なくとも1つの処理デバイスは、受信画像内に規則中断条件があるかどうかを決定することができる。
【0380】
[0445] ステップ3106では、少なくとも1つの処理デバイスは、ナビゲーション規則中断条件の識別に応じて、少なくとも1つのナビゲーション規則を一時的に中断することができる。幾つかの実施形態では、ステップ3106は、上記のようにナビゲーション規則中断モジュール2804によって行われ得る。例えば、少なくとも1つの処理デバイスは、路肩2910上を走行することを通常の条件下で禁止する規則を中断することができるか、必要な乗客数未満でハイオキュパンシービークル(HOV)レーン内を走行することを禁止する規則を中断することができるか、又は円形交差点に入る車両に対して円形交差点内の車両が優先通行権を有することを通常の条件下で確立する規則を中断することができる。規則は、上記のように規則中断条件の程度に基づいて中断され得る。例えば、物体2914が所定の高さを上回るという決定に基づいて規則を中断することができる。或いは、物体2914が所定の高さを上回らない場合、ホスト車両は、物体2914上を走行するように規則をそのままにしておくことができる。
【0381】
[0446] 中断された規則は、一時的な規則で置換することができる。例えば、車両3002を回避する機会をホスト車両に与えるために、例えば時速70マイルの制限速度を確立する規則を、時速90マイルの制限速度を設定するより緩和された規則で置換することができる。一時的な規則は、例えば、所定の時間及び/又は所定の距離に基づく失効に関連する場合がある。
【0382】
[0447] ステップ3108では、少なくとも1つの処理デバイスは、一時的に中断された少なくとも1つのナビゲーション規則によって制約されないホスト車両の少なくとも1つのナビゲーション変更を引き起こすことができる。ホスト車両のナビゲーションシステムの少なくとも1つの処理デバイスは、分析されるシーンに基づいて、識別される規則中断条件及び中断されるナビゲーション規則、規則中断条件に起因するホスト車両のナビゲーション動作(例えば、左折する、停止する、道を譲る、追い越す、レーン変更する等)を決定することができる。ナビゲーション動作を実施するために、少なくとも1つの処理デバイスは、決定されたナビゲーション動作に応じてホスト車両のナビゲーションアクチュエータの少なくとも1つの調節を引き起こすことができる。例えば、ブレーキをかけることができるか、又はホスト車両の車輪の操舵と共にアクセルを踏むことができる。別の例として、ステップ3104では、物体2916又は車両3002の識別に応じて、少なくとも1つのナビゲーション変更は、ホスト車両が路肩に入ること又はハイオキュパンシービークルレーンに入ることをもたらし得る。
【0383】
[0448] 上記説明は、例示を目的として提示されている。上記説明は網羅的ではなく、開示される厳密な形態又は実施形態に限定されない。変更形態及び適合形態は、本明細書を考慮し、開示される実施形態を実施することから当業者に明らかになるであろう。更に、開示される実施形態の態様は、メモリに記憶されるものとして記載されるが、これらの態様が、補助記憶装置等の他のタイプのコンピュータ可読媒体、例えばハードディスク若しくはCD ROM又は他の形態のRAM若しくはROM、USBメディア、DVD、Blu-ray(登録商標)、4K超HD Blu-ray、又は他の光学駆動媒体に記憶することも可能なことを当業者は理解するであろう。
【0384】
[0449] 記載の説明及び開示される方法に基づくコンピュータプログラムは、経験のある開発者の技能内にある。様々なプログラム又はプログラムモジュールは、当業者に既知の任意の技法を使用して作成することができるか、又は既存のソフトウェアに関連して設計することができる。例えば、プログラムセクション又はプログラムモジュールは、.Net Framework、.Net Compact Framework(及びVisual Basic(登録商標)、C等の関連する言語)、Java(登録商標)、C++、Objective-C、HTML、HTML/AJAX組み合わせ、XML、又はJavaアプレットを包含したHTMLにおいて又はそれにより設計することができる。
【0385】
[0450] 更に、例示的な実施形態を本明細書において説明したが、あらゆる実施形態の範囲は、本開示に基づいて当業者により理解されるような均等な要素、変更形態、省略形態、組合せ(例えば、様々な実施形態にわたる態様の)、適合形態、及び/又は代替形態を有する。特許請求の範囲での限定は、特許請求の範囲に利用される言語に基づいて広く解釈されるべきであり、本明細書に記載される例又は本願の実行中の例に限定されない。例は、非排他的として解釈されるべきである。更に、開示される方法のステップは、ステップの順序替え及び/又はステップの挿入又は削除を含め、任意の方法で変更し得る。従って、本明細書及び例が単なる例示として見なされることが意図され、真の範囲及び趣旨は、以下の特許請求の範囲及びその全範囲の均等物により示される。