(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-30
(45)【発行日】2022-06-07
(54)【発明の名称】検出された障壁に基づく車両のナビゲーション
(51)【国際特許分類】
G08G 1/16 20060101AFI20220531BHJP
B60W 30/095 20120101ALI20220531BHJP
B60W 30/09 20120101ALI20220531BHJP
B60W 40/04 20060101ALI20220531BHJP
B60W 40/06 20120101ALI20220531BHJP
B60W 60/00 20200101ALI20220531BHJP
G01C 21/34 20060101ALI20220531BHJP
【FI】
G08G1/16 A
B60W30/095
B60W30/09
B60W40/04
B60W40/06
B60W60/00
G01C21/34
【外国語出願】
(21)【出願番号】P 2020161520
(22)【出願日】2020-09-25
(62)【分割の表示】P 2019507930の分割
【原出願日】2017-06-22
【審査請求日】2020-10-23
(32)【優先日】2016-10-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515168961
【氏名又は名称】モービルアイ ビジョン テクノロジーズ リミテッド
【住所又は居所原語表記】P.O.B. 45157,13 HARTOM STREET, HAR HOTZVIM, JERUSALEM, 9777513 ISRAEL
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】コーエン,バラク
【審査官】藤村 泰智
(56)【参考文献】
【文献】米国特許出願公開第2015/0151725(US,A1)
【文献】米国特許出願公開第2015/0210312(US,A1)
【文献】特開2013-180606(JP,A)
【文献】国際公開第2007/014633(WO,A1)
【文献】米国特許出願公開第2010/0104199(US,A1)
【文献】特開2015-027837(JP,A)
【文献】特開2002-220015(JP,A)
【文献】国際公開第2016/130719(WO,A2)
【文献】米国特許第9248834(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00 ~ 1/16
B60W 30/00 ~ 60/00
G01C 21/26 ~ 21/36
(57)【特許請求の範囲】
【請求項1】
車両のための車両操縦システムであって、
命令を含むメモリと、
動作中に、前記命令によって、
前記車両が走行する前記車両の車線を識別する複数の画像のうちの少なくとも1つを分析し、前記複数の画像は前記車両のカメラによってキャプチャされ、
前記複数の画像のうちの前記少なくとも1つに基づいて、前記車両の現在の車線と隣接する車線とを分離する車線区分線を識別し、
機械学習システムを使用して、設定された速さを有する前記車両の現在の位置の前にある前記車両の将来の経路を推定し、
前記車両が走行する前記車線における前記車両の前方の候補車両を識別し、
前記候補車両は前記車両の前記将来の経路において識別され、
前記候補車両を前記車両の前方の障害物として識別することに応答して、前記車両に、前記車線区分線を横断させて前記隣接する車線に変更さ
せ、前記車両が前記隣接する車線において前記設定された速さを維持することを可能とする、
ように構成された、1または複数のプロセッサと、
を備える、車両操縦システム。
【請求項2】
前記候補車両を識別するように、前記命令は、前記1または複数のプロセッサがレーダを用いるように構成する、請求項1に記載の車両操縦システム。
【請求項3】
前記候補車両は、前記車両よりも遅く移動する、請求項1または2に記載の車両操縦システム。
【請求項4】
前記命令は、前記1または複数のプロセッサが、前記車両の運転者からの入力なしに、前記車両に前記車線区分線を横断させて前記隣接する車線に変更させるように構成する、請求項1から3のいずれか一項に記載の車両操縦システム。
【請求項5】
前記車両に前記車線区分線を横断させて前記隣接する車線に変更させるように、前記命令は、前記1または複数のプロセッサが加速度の変更を行うように構成する、請求項1から4のいずれか一項に記載の車両操縦システム。
【請求項6】
加速度の前記変更は前記加速度を増加させる、請求項5に記載の車両操縦システム。
【請求項7】
前記命令は、前記1または複数のプロセッサが、
前記複数の画像のうちの前記少なくとも1つに基づいて、走行可能領域の縁に関連した少なくとも1つの障壁を識別し、
前記少なくとも1つの障壁が、通過可能であるか通過不可能であるかを区別するように構成する、請求項1から6のいずれか一項に記載の車両操縦システム。
【請求項8】
車両構成要素のプロセッサによって実行されるとき、
車両が走行する前記車両の車線を識別する複数の画像のうちの少なくとも1つを分析する動作であって、前記複数の画像は前記車両のカメラによってキャプチャされる、動作と、
前記複数の画像のうちの前記少なくとも1つに基づいて、前記車両の現在の車線と隣接する車線とを分離する車線区分線を識別する動作と、
機械学習システムを使用して、設定された速さを有する前記車両の現在の位置の前にある前記車両の将来の経路を推定する動作と、
前記車両が走行する前記車線における前記車両の前方の候補車両を識別する動作
であって、前記候補車両は前記車両の前記将来の経路において識別される、動作と、
前記候補車両を前記車両の前方の障害物として識別することに応答して、前記車両に、前記車線区分線を横断させて前記隣接する車線に変更さ
せ、前記車両が前記隣接する車線において前記設定された速さを維持することを可能とする動作と、
を前記プロセッサに実行させる、コンピュータプログラム。
【請求項9】
前記候補車両を識別する動作が、レーダを用いる動作を含む、請求項8に記載のコンピュータプログラム。
【請求項10】
前記候補車両は、前記車両よりも遅く移動する、請求項8または9に記載のコンピュータプログラム。
【請求項11】
前記車両に前記車線区分線を横断させて前記隣接する車線に変更させる動作は、前記車両の運転者からの入力なしに実行される、請求項8から10のいずれか一項に記載のコンピュータプログラム。
【請求項12】
前記車両に前記車線区分線を横断させて前記隣接する車線に変更させる動作は、加速度の変更を行う動作を含む、請求項8から11のいずれか一項に記載のコンピュータプログラム。
【請求項13】
加速度の前記変更は前記加速度を増加させる、請求項12に記載のコンピュータプログラム。
【請求項14】
前記複数の画像のうちの前記少なくとも1つに基づいて、走行可能領域の縁に関連した少なくとも1つの障壁を識別する動作と、
前記少なくとも1つの障壁が、通過可能であるか通過不可能であるかを区別する動作と、
を含む、請求項8から12のいずれか一項に記載のコンピュータプログラム。
【請求項15】
カメラと、
車両が走行する前記車両の車線を識別する複数の画像のうちの少なくとも1つを分析し、前記複数の画像は前記カメラによってキャプチャされ、
前記複数の画像のうちの前記少なくとも1つに基づいて、前記車両の現在の車線と隣接する車線とを分離する車線区分線を識別し、
機械学習システムを使用して、設定された速さを有する前記車両の現在の位置の前にある前記車両の将来の経路を推定し、
前記車両が走行する前記車線における前記車両の前方の候補車両を識別し、
前記候補車両は前記車両の前記将来の経路において識別され、
前記候補車両を前記車両の前方の障害物として識別することに応答して、前記車両に、前記車線区分線を横断させて前記隣接する車線に変更さ
せ、前記車両が前記隣接する車線において前記設定された速さを維持することを可能とする、
ように構成された、車両操縦システムと、
を備える、車両。
【請求項16】
前記候補車両を識別するように、前記車両操縦システムはレーダを用いるように構成される、請求項15に記載の車両。
【請求項17】
前記候補車両は、前記車両よりも遅く移動する、請求項15または16に記載の車両。
【請求項18】
前記車両操縦システムは、前記車両の運転者からの入力なしに、前記車両に前記車線区分線を横断させて前記隣接する車線に変更させるように構成される、請求項15から17のいずれか一項に記載の車両。
【請求項19】
前記車両に前記車線区分線を横断させて前記隣接する車線に変更させるように、前記車両操縦システムは加速度の変更を行うように構成される、請求項15から18のいずれか一項に記載の車両。
【請求項20】
加速度の前記変更は前記加速度を増加させる、請求項19に記載の車両。
【請求項21】
前記車両操縦システムは
、
前記複数の画像のうちの前記少なくとも1つに基づいて、走行可能領域の縁に関連した少なくとも1つの障壁を識別し、
前記少なくとも1つの障壁が、通過可能であるか通過不可能であるかを区別するように構成される、請求項15から20のいずれか一項に記載の車両。
【請求項22】
請求項8から14のいずれか一項に記載のコンピュータプログラムを格納する、非一時的機械読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[001] 本出願は、2016年10月11日に出願された米国仮特許出願第62/406,604号の優先権の利益を主張する。前述の出願はその全体が参照により本明細書に組み込まれる。
【0002】
背景
技術分野
[002] 本開示は全般的に、自律走行車両ナビゲーションに関する。更に、本開示は、検出された障壁に基づいて車両を操縦するためのシステム及び方法に関する。
【背景技術】
【0003】
背景情報
[003] 技術が進歩し続けているので、道路を走行することができる完全な自律走行車両というゴールが間近に迫っている。自律走行車両は、意図した目的地に安全にかつ正確に到着するために、様々な要因を考慮に入れ、それらの要因に基づいて適切な判断を行うことが必要であり得る。例えば、自律走行車両は、視覚的情報(例えば、カメラから取り込まれた情報)、レーダー又はライダーからの情報を処理し解釈することが必要であることがあり、また、他の情報源から(例えば、GPS装置、速度センサ、加速度計、サスペンションセンサ等から)取得した情報を使用することもある。同時に、目的地まで走行するために、自律走行車両は、特定の道路(例えば、複数車線の道路内の特定の車線)内での位置を識別し、他の車両と並んで走行し、障害物及び歩行者を回避し、交通信号及び標識を監視し、適切な交差点又はインターチェンジにおいてある道路から別の道路へ移動し、車両の走行中に発生又は発展する任意の他の状況に対応する必要があることがある。車両前方の比較的短い距離に障害物又は歩行者が予期せず出現することは、自律走行車両にとって問題になることがある。そのような場合、自律走行車両は、車両の周辺環境を素早く解析し、事故を回避及び/又は損傷を最小限に抑えるために、その車両のための存立可能な走行可能経路を決定することが必要になることがある。
【発明の概要】
【課題を解決するための手段】
【0004】
概要
[004] 本開示と整合性のある実施形態が、自律走行車両ナビゲーションのためのシステム及び方法を提供する。開示される実施形態は、自律走行車両ナビゲーション機能を提供するためにカメラを使用することがある。例えば、開示される実施形態と合致して、開示されるシステムは車両の周辺環境を監視する1つ、2つ、又はそれ以上のカメラを含むことがある。開示されるシステムは、例えば、これらのカメラのうちの1つ又は複数によって取り込まれた画像の解析結果に基づいて、ナビゲーション応答を提供することがある。ナビゲーション応答は、例えば、全地球測位システム(GPS)データ、(例えば、加速度計、速度センサ、サスペンションセンサ等からの)センサデータ、及び/又は他の地図データを含む、他のデータを考慮に入れることもある。
【0005】
[005] 実施形態によっては、車両を操縦するためのシステムは、車両の周辺環境に関連した複数の画像を画像取込装置から受け取ることと、それら複数の画像のうちの少なくとも1つを解析して車両の周辺環境における走行可能領域を識別することと、その複数の画像のうちの少なくとも1つに基づいて、走行可能領域の縁に関連した少なくとも1つの障壁を識別し、その少なくとも1つの障壁の種類を決定することと、を行うようにプログラムされた、少なくとも1つの処理装置を含むことがある。その少なくとも1つの処理装置は、その少なくとも1つの障壁の決定された種類に基づいて車両のナビゲーション経路を決定することと、車両にその決定されたナビゲーション経路の少なくとも一部の上を走行させることと、を行うようにプログラムされる。
【0006】
[006] 他の実施形態では、車両を操縦するためのシステムは、車両の周辺環境に関連した複数の画像を画像取込装置から受け取ることと、それら複数の画像のうちの少なくとも1つを解析して車両の周辺環境における走行可能領域を識別することと、その複数の画像のうちの少なくとも1つに基づいて、走行可能領域の少なくとも1つの縁に関連した第1の障壁及び走行可能領域の少なくとも1つの縁に関連した第2の障壁を識別し、第1の障壁の種類及び第2の障壁の種類を決定することと、を行うようにプログラムされた、少なくとも1つの処理装置を含む。第1の障壁の決定された種類には、通過可能な障壁が含まれ、第2の障壁の決定された種類には、通過不可能な障壁が含まれる。少なくとも1つの処理装置は、第1の障壁及び第2の障壁の決定された種類に基づいて、車両のナビゲーション経路を決定するようにもプログラムされる。決定されたナビゲーション経路は、第2の障壁を回避するために第1の障壁を通過することを含む。少なくとも1つの処理装置は、車両が決定されたナビゲーション経路の少なくとも一部の上を走行するように更にプログラムされる。
【0007】
[007] 他の実施形態では、車両を操縦するための方法が、車両の周辺環境に関連した複数の画像を画像取込装置から受け取ることと、それら複数の画像のうちの少なくとも1つを解析して車両の周辺環境における走行可能領域を識別することと、その複数の画像のうちの少なくとも1つに基づいて、走行可能領域の縁に関連した少なくとも1つの障壁を識別することと、その少なくとも1つの障壁の種類を決定することと、その少なくとも1つの障壁の決定された種類に基づいて車両のナビゲーション経路を決定することと、車両が決定されたナビゲーション経路の少なくとも一部の上を走行するようにすることと、を含む。
【0008】
[008] 更に他の実施形態では、車両を操縦するための方法は、車両の周辺環境に関連した複数の画像を画像取込装置から受け取ることと、それら複数の画像のうちの少なくとも1つを解析して車両の周辺環境における走行可能領域を識別することと、その複数の画像のうちの少なくとも1つに基づいて、走行可能領域の少なくとも1つの縁に関連した第1の障壁及び走行可能領域の少なくとも1つの縁に関連した第2の障壁を識別することと、第1の障壁の種類及び第2の障壁の種類を決定することと、を含む。第1の障壁の決定された種類には、通過可能な障壁が含まれ、第2の障壁の決定された種類には、通過不可能な障壁が含まれる。この方法は、第1の障壁及び第2の障壁の決定された種類に基づいて、車両のナビゲーション経路を決定することも含む。決定されたナビゲーション経路は、第2の障壁を回避するために第1の障壁を通過することを含む。この方法は更に、車両が決定されたナビゲーション経路の少なくとも一部の上を走行するようにすることを含む。
【0009】
[009] 他の開示される実施形態と合致して、非一時的なコンピュータ可読記憶媒体がプログラム命令を記憶することがあり、プログラム命令は少なくとも1つの処理装置によって実行され、本明細書に記載する方法のいずれかを実行する。
【0010】
[010] 前述の一般的な説明及び以降の詳細な説明は例示的かつ説明的なものに過ぎず、特許請求の範囲を限定するものではない。
【0011】
図面の簡単な説明
[011] 本開示に組み込まれ本開示の一部を構成する添付の図面は、様々な開示される実施形態を示す。図面では、
【図面の簡単な説明】
【0012】
【
図1】[012]開示される実施形態と合致した例示的なシステムの概略表示である。
【
図2A】[013]開示される実施形態と合致したシステムを含む例示的な車両の概略側面図である。
【
図2B】[014]開示される実施形態と合致した
図2Aに示す車両及びシステムの概略上面図である。
【
図2C】[015]開示される実施形態と合致したシステムを含む車両の別の実施形態の概略上面図である。
【
図2D】[016]開示される実施形態と合致したシステムを含む車両の更に別の実施形態の概略上面図である。
【
図2E】[017]開示される実施形態と合致したシステムを含む車両の更に別の実施形態の概略上面図である。
【
図2F】[018]開示される実施形態と合致した例示的な車両制御システムの概略図である。
【
図3A】[019]開示される実施形態と合致した、バックミラー及び車両撮像システム用のユーザインターフェースを含む車両の内部の概略図である。
【
図3B】[020]開示される実施形態と合致した、バックミラーの背後でかつ車両のフロントガラスに対向して配置されるように構成されたカメラマウントの一例の図である。
【
図3C】[021]開示される実施形態と合致した、異なる視点からの
図3Bに示したカメラマウントの図である。
【
図3D】[022]開示される実施形態と合致した、バックミラーの背後でかつ車両のフロントガラスに対向して配置されるように構成されたカメラマウントの一例の図である。
【
図4】[023]開示される実施形態と合致した1つ又は複数の動作を実行するための命令を記憶するように構成されたメモリの例示的なブロック図である。
【
図5A】[024]開示される実施形態と合致した、単眼画像解析に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的な処理を示す流れ図である。
【
図5B】[025]開示される実施形態と合致した、1組の画像中で1つ又は複数の車両及び/又は歩行者を検出するための例示的な処理を示す流れ図である。
【
図5C】[026]開示される実施形態と合致した、1組の画像中で路面標識及び/又は車線形状情報を検出するための例示的な処理を示す流れ図である。
【
図5D】[027]開示される実施形態と合致した、1組の画像中で信号機を検出するための例示的な処理を示す流れ図である。
【
図5E】[028]開示される実施形態と合致した、車両経路に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的な処理を示す流れ図である。
【
図5F】[029]開示される実施形態と合致した、先行車両が車線を変更中であるかどうかを決定するための例示的な処理を示す流れ図である。
【
図6】[030]開示される実施形態と合致した、立体画像解析に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的な処理を示す流れ図である。
【
図7】[031]開示される実施形態と合致した、3組の画像の解析に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的な処理を示す流れ図である。
【
図8】[032]開示される実施形態と合致した、車両用のナビゲーションシステムを示す。
【
図9】[033]開示される実施形態と合致した、プログラムモジュールを記憶するメモリの一例を示す。
【
図10A】[034]開示される実施形態と合致した、例示的な車両の周辺環境の鳥瞰図を概略的に示す。
【
図10B】[035]
図10Aに示す例示的な車両に含まれる前方を向いている画像取込装置によって取り込まれた
図10Aの周辺環境の画像を概略的に示す。
【
図11】[036]開示される実施形態と合致した例示的な処理を示す流れ図である。
【
図12】[037]開示される実施形態と合致した例示的な処理を示す流れ図である。
【
図13】[038]開示される実施形態と合致した例示的な処理を示す流れ図である。
【発明を実施するための形態】
【0013】
詳細な説明
[039] 以下の詳細な説明は、添付の図面を参照する。同一の又は類似の部分を指すために、図面及び以下の説明では可能な限り同一の参照番号を用いている。本明細書では幾つかの例示的な実施形態について説明しているが、修正例、改変例、及び他の実施態様も可能である。例えば、図面に示した構成要素に対して置換、追加、又は修正を加えることができ、また本明細書に記載する例示的な方法は、開示される方法に対して工程の置き換え、並べ替え、削除、又は追加を行うことによって修正することができる。従って、以下の詳細な説明は、開示される実施形態及び実施例に限定されない。その代わり、適切な範囲は添付の特許請求の範囲によって定義される。
【0014】
[040]自律走行車両の概要
[041] 本開示全体を通して使用される場合、「自律走行車両」という用語は、運転者の入力が無くても少なくとも1つのナビゲーション変更を行うことができる車両を指す。「ナビゲーション変更」とは、車両の操舵、ブレーキ、加速/減速のうちの1つ又は複数における変化を指す。自律型であるために、車両は完全に自動的である(例えば、運転者無しで又は運転者の入力無しで完全に動作可能である)必要はない。むしろ、自律走行車両は、特定の期間中は運転者の制御下で動作し、他の期間中は運転者の制御無しで動作することができる車両を含む。自律走行車両は、(例えば、車両の車線制約間で車両のコースを維持するための)操舵、又は特定の状況下(但し全ての状況下ではない)での幾つかの操舵動作などの、車両ナビゲーションの幾つかの態様のみを制御するが、他の態様(例えば、ブレーキ又は特定の状況下でのブレーキ)については運転者に任せることができる車両を含むこともある。場合によっては、自律走行車両は、車両のブレーキ、速度制御、及び/又は操舵のうちの幾つか若しくは全ての態様を扱うことができる。
【0015】
[042] 車両を制御するために人間の運転者は通常、視覚的な手掛かり及び観察に頼るので、交通インフラはそれに応じて構築されており、車線区分線、交通標識、及び信号機は運転者に視覚的情報を提供するように設計される。交通インフラのこれらの設計特徴を踏まえて、自律走行車両は、カメラと、車両の周辺環境から取り込まれた視覚的情報を解析する処理ユニットとを含むことがある。視覚的情報には、例えば、運転者によって観察可能な交通インフラの構成要素(例えば、車線区分線、交通標識、信号機、等)及び他の障害物(例えば、他の車両、歩行者、がれき、等)を表す画像が含まれることがある。更に、自律走行車両は、ナビゲーション時に、車両の周辺環境のモデルを提供する情報などの記憶された情報を使用することもできる。例えば、車両は走行中に、GPSデータ、(例えば、加速度計、速度センサ、サスペンションセンサ等からの)センサデータ、及び/又は他の地図データを使用して、その周辺環境に関連した情報を提供することがあり、その車両(並びに他の車両)は、それらの情報を使用してモデル上でのそれ自体の位置を特定することができる。車両によっては、車両同士の間で通信し、情報を共有し、危険な他の車両又は車両の周囲の変化を変えることもできる。
【0016】
[043]システムの概要
[044]
図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に送信するための任意の有線及び/又は無線のリンクを含むことがある。
【0017】
[045] 無線送受信機172は、無線周波数、赤外線周波数、磁場、又は電場を使用することにより、1つ又は複数のネットワーク(例えば、セルラー、インターネット、等)とエアインターフェースを介して伝送信号を交換するように構成された1つ又は複数の装置を含むことがある。無線送受信機172は、データを送信及び/又は受信するための任意の既知の標準規格(例えば、Wi- Fi(登録商標)、Bluetooth(登録商標)、Bluetooth Smart、802.15.4、ZigBee(登録商標)、等)を使用することがある。そのような伝送には、ホスト車両から1つ又は複数の遠隔に配置されたサーバへの通信を含むことができる。そのような伝送には、(例えば、ホスト車両の周囲にいるターゲット車両を考慮して若しくはこれとまとめて、ホスト車両のナビゲーションの調整を容易にするために、)ホスト車両とホスト車両の周囲にいる1つ若しくは複数のターゲット車両との間の通信(一方向若しくは双方向)が含まれることがあり、又は、送信車両の付近にいる不特定の受信者への一斉同報送信さえも含まれることがある。
【0018】
[046] アプリケーションプロセッサ180と画像プロセッサ190は両方とも、様々な種類のハードウェアベースの処理装置を含むことがある。例えば、アプリケーションプロセッサ180と画像プロセッサ190のいずれか一方又は両方は、マイクロプロセッサ、プリプロセッサ(画像プリプロセッサなど)、グラフィックスプロセッサ、中央演算処理装置(CPU)、支持回路、デジタル信号プロセッサ、集積回路、メモリ、又はアプリケーションを実行するのに適したかつ画像処理及び解析に適した任意の他の種類の装置を含むことがある。実施形態によっては、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、任意の種類のシングルコア又はマルチコアプロセッサ、モバイル装置マイクロコントローラ、中央演算処理装置、等を含むことがある。例えば、Intel(登録商標)、AMD(登録商標)などの製造業者から入手可能なプロセッサを含む様々な処理装置を使用することができ、それらの処理装置は、様々なアーキテクチャ(例えば、x86プロセッサ、ARM(登録商標)等)を含むことがある。
【0019】
[047] 実施形態によっては、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、Mobileye(登録商標)から入手可能なプロセッサチップのEyeQシリーズのうちのいずれかを含むことがある。これらのプロセッサ設計のそれぞれは、ローカルメモリ及び命令セットを備えた複数の処理ユニットを含む。そのようなプロセッサは、複数の画像センサから画像データを受信するためのビデオ入力を含むことがあり、ビデオ出力機能も含むことがある。一例では、EyeQ2(登録商標)は332MHzで動作する90nm-ミクロンの技術を使用している。EyeQ2(登録商標)アーキテクチャは、2つの浮動小数点式、ハイパースレッド32ビットRISC CPU(MIPS32(登録商標)34K(登録商標)コア)、5つのVision Computing Engine(VCE)、3つのVector Microcode Processor(VMP(登録商標))、Denali64ビットMobile DDR Controller、128ビット内部Sonics Interconnect、デュアル16ビットビデオ入力及び18ビットビデオ出力コントローラ、16チャネルDMA、及び幾つかの周辺装置から構成される。MIPS34K CPUは、5つのVCE、3つのVMP(商標)及びDMA、第2のMIPS34K CPU、及びマルチチャネルDMA並びに他の周辺装置を管理する。5つのVCE、3つのVMP(登録商標)及びMIPS34K CPUは、多機能抱き合わせアプリケーションによって必要とされる集約的ビジョン計算を実行することができる。別の例では、第3世代プロセッサであり、EyeQ2(登録商標)よりも6倍強力であるEyeQ3(登録商標)を、開示する実施形態において使用することがある。他の例では、EyeQ4(登録商標)及び/又はEyeQ5(登録商標)を、開示する実施形態において使用することがある。当然ながら、開示される実施形態と共に、任意のより新しい又は将来のEyeQ処理装置を使用することもできる。
【0020】
[048] 本明細書で開示する処理装置のいずれも、特定の機能を実行するように構成されることがある。説明したEyeQプロセッサのいずれか、又は他のコントローラ、又はマイクロプロセッサなどの処理装置を特定の機能を実行するように設定することは、コンピュータ実行可能命令をプログラミングすることと、処理装置の動作中に実行するためにこれらの命令を処理装置が利用できるようにすることと、を含むことがある。実施形態によっては、処理装置を設定することは、アーキテクチャ上の命令を用いて直接的に処理装置をプログラミングすることを含むことがある。他の実施形態では、処理装置を設定することは、動作中に処理装置にアクセス可能なメモリ上に実行可能命令を記憶することを含むことがある。例えば、処理装置は動作中にメモリにアクセスして、記憶された命令を取得し実行することができる。いずれの場合でも、本明細書に開示する感知、画像解析、及び/又はナビゲーション機能を実施するようになっている処理装置は、ホスト車両の複数のハードウェアベースの部品を管理している専門のハードウェアベースのシステムを表す。
【0021】
[049]
図1では処理ユニット110内に2つの別個の処理装置が含まれて示されているが、より多くの又はより少ない処理装置を使用してもよい。例えば、実施形態によっては、単一の処理装置を使用してアプリケーションプロセッサ180及び画像プロセッサ190のタスクを達成することがある。他の実施形態では、これらのタスクは、3つ以上の処理装置によって行われることがある。更に、実施形態によっては、システム100は、画像取得ユニット120などの他の構成要素を含むことなく、1つ又は複数の処理ユニット110を含むことがある。
【0022】
[050] 処理ユニット110は、様々な種類の装置を含むことがある。例えば、処理ユニット110は、コントローラ、画像プリプロセッサ、中央演算処理装置(CPU)、支持回路、デジタル信号プロセッサ、集積回路、メモリ、又は画像処理及び解析用の任意の他の種類の装置、などの様々な装置を含むことがある。画像プリプロセッサは、画像センサから画像を取り込み、デジタル化し、処理するためのビデオプロセッサを含むことがある。CPUは、任意の数のマイクロコントローラ又はマイクロプロセッサを含むことがある。支持回路は、キャッシュ、電源、クロック、及び入出力回路を含む、当技術分野で一般的によく知られている任意の数の回路であり得る。メモリは、プロセッサによって実行されるとシステムの動作を制御するソフトウェアを記憶することがある。メモリは、データベース及び画像処理ソフトウェアを含むことがある。メモリは、任意の数のランダムアクセスメモリ、読み出し専用メモリ、フラッシュメモリ、ディスクドライブ、光学式記憶装置、テープ記憶装置、取り外し可能記憶装置、及び他の種類の記憶装置を含むことがある。一例では、メモリは処理ユニット110とは別個であり得る。別の例では、メモリは処理ユニット110と一体になっていることがある。
【0023】
[051] 各メモリ140、150は、プロセッサ(例えば、アプリケーションプロセッサ180及び/又は画像プロセッサ190)によって実行されるとシステム100の様々な態様の動作を制御することができるソフトウェア命令を含むことがある。これらのメモリユニットは、様々なデータベース及び画像処理ソフトウェア、並びに、例えばニューラルネットワーク又はディープニューラルネットワークなどの訓練されたシステムを含むことがある。メモリユニットは、ランダムアクセスメモリ、読み出し専用メモリ、フラッシュメモリ、ディスクドライブ、光学式記憶装置、テープ記憶装置、取り外し可能記憶装置、及び/又は任意の他の種類の記憶装置を含むことがある。実施形態によっては、メモリユニット140、150は、アプリケーションプロセッサ180及び/又は画像プロセッサ190とは別個であることがある。他の実施形態では、これらのメモリユニットは、アプリケーションプロセッサ180及び/又は画像プロセッサ190と一体になっていることがある。
【0024】
[052] 位置センサ130は、システム100の少なくとも1つの構成要素に関連した位置を決定するのに適した任意の種類の装置を含むことがある。実施形態によっては、位置センサ130はGPS受信機を含むことがある。そのような受信機は、全地球測位システム衛星によって一斉送信された信号を処理することによって、ユーザの位置及び速度を決定することができる。位置センサ130からの位置情報は、アプリケーションプロセッサ180及び/又は画像プロセッサ190に対して利用可能にされることがある。
【0025】
[053] 実施形態によっては、システム100は、車両200の速度を測定するための速度センサ(例えば、速度計)などの構成要素を含むことがある。システム100はまた、1つ又は複数の軸に沿って車両200の加速度を測定するための、1つ又は複数の加速度計(単軸又は多軸)を含むこともある。
【0026】
[054] メモリユニット140、150は、既知のランドマークの位置を示すデータベース又は任意の他の形式で構成されたデータを含むことがある。周辺環境のセンサ情報(画像、レーダー信号、ライダーからの奥行き情報、又は2つ以上の画像のステレオ処理など)を、GPS座標、車両の自己運動などの位置情報と共に処理して、車両の現在地を既知のランドマークを基準にして決定し、車両の位置を更に正確にすることができる。この技術の特定の態様は、本出願の譲受人によって市販されている、REM(商標)として知られている位置特定技術に含まれている。
【0027】
[055] ユーザインターフェース170は、システム100の1人又は複数のユーザに情報を提供し、かつユーザからの入力を受け取るのに適した任意の装置を含むことがある。実施形態によっては、ユーザインターフェース170は、例えば、タッチスクリーン、マイクロホン、キーボード、ポインタデバイス、トラックホイール、カメラ、ノブ、ボタン等を含むユーザ入力装置を含むことがある。そのような入力装置を用いて、ユーザは、命令又は情報をタイプ入力すること、音声コマンドを提供すること、ボタン、ポインタ、若しくは視線追跡機能を使用して画面上のメニュー選択肢を選択することにより、又はシステム100に情報を伝えるための任意の他の適切な技術を通じて、情報入力又はコマンドをシステム100に提供することができる。
【0028】
[056] ユーザインターフェース170は、ユーザに情報を提供しかつユーザから情報を受け取り、その情報を例えばアプリケーションプロセッサ180による使用のために処理するように構成された1つ又は複数の処理装置を具備することがある。実施形態によっては、そのような処理装置は、目の動きを認識し追跡すること、音声コマンドを受け取り解釈すること、タッチスクリーン上で行われたタッチ及び/又はジェスチャーを認識し解釈すること、キーボード入力又はメニュー選択に応答すること等のための命令を実行することがある。実施形態によっては、ユーザインターフェース170は、ディスプレイ、スピーカー、触覚デバイス、及び/又は出力情報をユーザに提供するための任意の他の装置を含むことがある。
【0029】
[057] 地図データベース160は、システム100に有用な地図データを記憶するための任意の種類のデータベースを含むことがある。実施形態によっては、地図データベース160は、道路、水域特徴、地理的特徴、商店、関心地点、レストラン、ガソリンスタンド等を含む様々な項目の基準座標系での位置に関するデータを含むことがある。地図データベース160は、そのような項目の位置だけではなく、例えば、記憶された特徴のいずれかに関連した名前を含む、それらの項目に関連した記述子も記憶することがある。実施形態によっては、地図データベース160は、システム100の他の構成要素と共に物理的に配置されることがある。その代わりに又はそれに加えて、地図データベース160又はその一部は、システム100の他の構成要素(例えば、処理ユニット110)に対して遠隔に配置されることがある。そのような実施形態では、地図データベース160からの情報は、ネットワークへの有線又は無線のデータ接続を介して(例えば、セルラーネットワーク及び/又はインターネット等を介して)ダウンロードされることがある。場合によっては、地図データベース160は、特定の道路特徴(例えば、車線区分線)又はホスト車両の目標軌跡の多項式表現を含む、疎データモデルを記憶することがある。地図データベース160は、目標軌跡に対するホスト車両の既知の位置を決定又は更新するのに使用することができる様々な認識済ランドマークの記憶済表現を含むこともある。ランドマーク表現は、他の潜在的な識別子の中でも、ランドマークの種類、ランドマークの位置などのデータフィールドを含むことがある。
【0030】
[058] 画像取込装置122、124、及び126はそれぞれ、周辺環境から少なくとも1つの画像を取り込むのに適した任意の種類の装置を含むことがある。更に、任意の数の画像取込装置を使用して、画像プロセッサへの入力用の画像を取得することができる。幾つかの実施形態は、単一の画像取込装置のみを含むことがあり、一方他の実施形態は2つ、3つ、又は更には4つ以上の画像取込装置を含むことがある。画像取込装置122、124、及び126については、以下で
図2B~
図2Eを参照して更に説明する。
【0031】
[059] 1つ又は複数のカメラ(例えば、画像取込装置122、124、及び126)は、車両に含まれる感知ブロックの一部であり得る。様々な他のセンサが感知ブロックに含まれることがあり、これらのセンサのいずれか又は全部が、車両の感知されたナビゲーション状態を発展させるために依拠されることがある。カメラ(前方、側方、後方、等)に加えて、レーダー、ライダー、及び音響センサなどの他のセンサが、感知ブロックに含まれることがある。更に、感知ブロックは、車両の周辺環境に関連した情報を伝達及び送受信するように構成された1つ又は複数の構成要素を含むことがある。例えば、そのような構成要素は、ホスト車両に対して遠隔に位置する情報源からセンサに基づく情報、又はホスト車両の周辺環境に関連した任意の他の種類の情報を受け取ることができる無線送受信機(RF、等)を含むことがある。そのような情報には、ホスト車両以外の車両システムから受信したセンサ出力情報、又は関連情報が含まれることがある。実施形態によっては、そのような情報には、遠隔コンピュータ装置、集中管理型サーバ等から受け取った情報が含まれることがある。更に、カメラは、単一のカメラユニット、複数のカメラ、カメラのクラスター、長いFOV、短いFOV、広角、魚眼など、多くの異なる構成をとることがある。
【0032】
[060] システム100、又はその様々な構成要素を、様々な異なるプラットフォームに組み込むことができる。実施形態によっては、システム100は、
図2Aに示すように車両200に含めることができる。例えば、車両200は、
図1に関して上述したように、処理ユニット110及びシステム100の他の構成要素のいずれかを具備することがある。幾つかの実施形態では、車両200は単一の画像取込装置(例えば、カメラ)のみを具備することがあるが、
図2B~
図2Eに関して考察する実施形態などの他の実施形態では、複数の画像取込装置を使用することがある。例えば、
図2Aに示すような、車両200の画像取込装置122及び124の一方は、ADAS(Advanced Driver Assistance Systems)撮像セットの一部であり得る。
【0033】
[061] 画像取得ユニット120の一部として車両200に含まれる画像取込装置は、任意の適切な位置に配置されることがある。実施形態によっては、
図2A~
図2E、及び
図3A~
図3Cに示すように、画像取込装置122はバックミラーの近傍に配置されることがある。この位置は、車両200の運転者の視線と類似の視線を提供することができ、これにより、運転者から何が見えて何が見えないかを判断するのを助けることができる。画像取込装置122は、バックミラー付近の任意の場所に配置することができるが、画像取込装置122をミラーの運転者側に置くことにより、運転者の視野及び/又は視線を表す画像を取得するのを更に助けることができる。
【0034】
[062] 画像取得ユニット120の画像取込装置に対して、他の位置を使用することもできる。例えば、画像取込装置124を、車両200のバンパーの上又は内部に配置することがある。そのような位置は、視野が広い画像取込装置に特に適していることがある。バンパーに配置された画像取込装置の視線は、運転者の視線とは異なることがあり、従って、バンパーの画像取込装置と運転者とは常に同じ物体を見るわけではない。画像取込装置(例えば、画像取込装置122、124、及び126)は、他の位置に配置されることもある。例えば、画像取込装置は、車両200のサイドミラーの一方又は両方の上又は内部、車両200の屋根の上、車両200のフードの上、車両200のトランクの上、車両200の側面、に配置されることがあり、車両200の窓のいずれかの上に取り付けられ、又はその背後に配置され、又はその正面に配置されることがあり、車両200の前部及び/又は後部の照明器具の内部又は近傍に取り付けられることがある、等々である。
【0035】
[063] 画像取込装置に加えて、車両200はシステム100の様々な他の構成要素を含むことがある。例えば、処理ユニット110は、車両のエンジン制御ユニット(ECU)と一体になって又はこれとは別個に、車両200に含まれることがある。車両200は、GPS受信機などの位置センサ130を具備していることもあり、地図データベース160並びにメモリユニット140及び150を含むこともある。
【0036】
[064] 前に考察したように、無線送受信機172は、1つ又は複数のネットワーク(例えば、セルラーネットワーク、インターネット、等)を介してデータを及び/又は受信することがある。例えば、無線送受信機172は、システム100によって収集されたデータを1つ又は複数のサーバにアップロードすることができ、かつ、その1つ又は複数のサーバからデータをダウンロードすることができる。無線送受信機172を介して、システム100は、例えば、地図データベース160、メモリ140、及び/又はメモリ150に記憶されたデータに対する定期的な又はオンデマンドの更新データを受信することができる。同様に、無線送受信機172は、システム100からの任意のデータ(例えば、画像取得ユニット120によって取り込まれた画像、位置センサ130又は他のセンサ、車両制御システムによって受信されたデータ、等)及び/又は処理ユニット110によって処理された任意のデータを、1つ又は複数のサーバにアップロードすることができる。
【0037】
[065] システム100は、プライバシーレベル設定に基づいて、データをサーバ(例えば、クラウド)にアップロードすることがある。例えば、システム100は、車両及び/又は車両の運転者/所有者を一意に特定することができる、サーバに送信されるデータ(メタデータを含む)の種類を規制又は制限するために、プライバシーレベル設定を実装することがある。そのような設定は、例えば、無線送受信機172を介してユーザにより設定されることがあり、工場のデフォルト設定により、又は無線送受信機172によって受信したデータにより、初期化されることがある。
【0038】
[066] 実施形態によっては、システム100は、「高」プライバシーレベルに従ってデータをアップロードすることがあり、設定下で、システム100は、具体的な車両及び/又は運転者/所有者についての詳細を含めずに、データ(例えば、経路に関連した位置情報、取り込んだ画像、等)を送信することがある。例えば、「高」プライバシー設定に従ってデータをアップロードする際、システム100は、車両識別番号(VIN)又は車両の運転者若しくは所有者の氏名を含まないことがあり、その代わり、取り込んだ画像及び/又は経路に関連した限定的な位置情報などのデータを送信することがある。
【0039】
[067] 他のプライバシーレベルも企図されている。例えば、システム100は、「中間」プライバシーレベルに従ってデータをサーバに送信することがあり、車両のメーカー及び/又はモデル、及び/又は車両の種類(例えば、乗用車、スポーツ用多目的車、トラック、等)などの、「高」プライバシーレベルの下では含まれなかった追加の情報を含むことがある。実施形態によっては、システム100は、「低」プライバシーレベルに従ってデータをアップロードすることがある。「低」プライバシーレベル設定の下では、システム100は、データをアップロードし、具体的な車両、所有者/運転者、及び/又はその車両が走行する経路の一部若しくは全体を一意に特定するのに十分な情報を含むことがある。そのような「低」プライバシーレベルのデータは、例えば、VIN、運転者/所有者の氏名、出発前の車両の起点、車両の意図する目的地、車両のメーカー及び/又はモデル、車両の種類、等のうちの1つ又は複数を含むことがある。
【0040】
[068]
図2Aは、開示される実施形態と合致した例示的な車両撮像システムの概略側面図である。
図2Bは、
図2Aに示す実施形態の概略上面図である。
図2Bに示すように、開示される実施形態は車両200を含むことがあり、車両200は、バックミラーの近傍及び/又は車両200の運転者の近傍に配置された第1の画像取込装置122と、車両200のバンパー領域(例えば、バンパー領域210のうちの1つ)の上又は内部に配置された第2の画像取込装置124と、処理ユニット110と、を備えたシステム100をその車内に含む。
【0041】
[069]
図2Cに示すように、画像取込装置122及び124は両方とも、バックミラーの近傍及び/又は車両200の運転者の近傍に配置されることがある。更に、
図2B及び
図2Cには2つの画像取込装置122及び124が示されているが、他の実施形態は3つ以上の画像取込装置を含むことがあることは言うまでもない。例えば、
図2D及び
図2Eに示す実施形態では、車両200のシステム100には、第1、第2、及び第3の画像取込装置122、124、及び126が含まれている。
【0042】
[070]
図2Dに示すように、画像取込装置122は、バックミラーの近傍及び/又は車両200の運転者の近傍に配置されることがあり、画像取込装置124及び126は、車両200のバンパー領域(例えば、バンパー領域210のうちの1つ)の上又は内部に配置されることがある。また
図2Eに示すように、画像取込装置122、124、及び126は、バックミラーの近傍及び/又は車両200の運転席の近傍に配置されることがある。開示される実施形態は、いかなる特定の数及び構成の画像取込装置に限定はされず、画像取込装置は車両200の内部及び/又は上の任意の適切な位置に配置することができる。
【0043】
[071] 開示される実施形態は車両に限定されず、他の状況にも適用できることは、言うまでもない。また、開示される実施形態は、特定の種類の車両200に限定はされず、自動車、トラック、トレーラ、及び他の種類の車両を含む、全ての種類の車両に適用可能であることを、理解されたい。
【0044】
[072] 第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、又はそれ以上を含む、40度~56度の範囲内などの通常のFOVを有するように構成されることがある。或いは、画像取込装置122は、28度FOV又は36度FOVなどの23度~40度の範囲にある狭いFOVを有するように構成されることがある。更に、画像取込装置122は、100~180度の範囲にある広いFOVを有するように構成されることがある。実施形態によっては、画像取込装置122は、広角バンパーカメラ又は最大で180度FOVを有するカメラを含むことがある。実施形態によっては、画像取込装置122は、約100度の水平FOVを有する約2:1のアスペクト比(例えば、H×V=3800×1900画素)の7.2M画素の画像取込装置であり得る。そのような画像取込装置は、3台の画像取込装置構成の代わりに使用することができる。レンズの歪みが著しいせいで、そのような画像取込装置の垂直FOVは、径方向に対称的なレンズを画像取込装置が使用する実施態様では、50度を大幅に下回ることがある。例えば、そのようなレンズは、100度の水平FOVを伴い50度よりも大きな垂直FOVを可能にする径方向対称形ではないことがある。
【0045】
[073] 第1の画像取込装置122は、車両200に関連したシーンに関する複数の第1の画像を取得することができる。この複数の第1の画像のそれぞれは、ローリングシャッターを使用して取り込むことができる一連の画像走査線として取得されることがある。各走査線は、複数の画素を含むことがある。
【0046】
[074] 第1の画像取込装置122は、第1の画像走査線の組の各々の取得に関連した走査レートを有することがある。走査レートとは、画像センサが、特定の走査線に含まれる各画素に関連した画像データを取得することができるレートを指すことがある。
【0047】
[075] 画像取込装置122、124、及び126は、例えばCCDセンサ又はCMOSセンサを含む、任意の適切な種類及び数の画像センサを含むことがある。一実施形態では、CMOS画像センサがローリングシャッターと共に採用されることがあり、その結果、行内の各画素は一度に1つずつ読み出され、行の走査は、画像フレーム全体が取り込まれるまで、行毎に行われる。実施形態によっては、行は、フレームに対して上から下へ順次取り込まれることがある。
【0048】
[076] 実施形態によっては、本明細書に開示する画像取込装置(例えば、画像取込装置122、124、及び126)のうちの1つ又は複数は、高解像度撮像装置を構成することがあり、5M画素、7M画素、10M画素、又はそれ以上よりも高い解像度を有することがある。
【0049】
[077] ローリングシャッターを使用すると、異なる行にある画素は、異なる時間に露光され取り込まれることになり、これにより、取り込まれた画像フレーム内にスキュー及び他の画像アーチファクトが生じることがある。一方、画像取込装置122がグローバルシャッター又は同期シャッターを用いて動作するように構成される場合、全ての画素を、同じ時間の間でかつ共通の露光期間中に露光することができる。その結果、グローバルシャッターを採用しているシステムから収集された1フレーム内の画像データは、特定の時間におけるFOV全体(FOV202など)のスナップショットを表す。対照的に、ローリングシャッターのアプリケーションでは、フレーム内の各行が露光され、データは異なる時間に取り込まれる。従って、ローリングシャッターを有する画像取込装置では、動いている物体は歪んで見えることがある。この現象については、以下でより詳細に説明する。
【0050】
[078] 第2の画像取込装置124及び第3の画像取込装置126は、任意の種類の画像取込装置であり得る。第1の画像取込装置122のように、画像取込装置124及び126のそれぞれは、光軸を含むことがある。一実施形態では、画像取込装置124及び126のそれぞれは、グローバルシャッターを備えたAptina M9V024 WVGAセンサを含むことがある。或いは、画像取込装置124及び126のそれぞれは、ローリングシャッターを含むことがある。画像取込装置122のように、画像取込装置124及び126は、様々なレンズ及び光学素子を含むように構成されることがある。実施形態によっては、画像取込装置124及び126に関連したレンズは、画像取込装置122に関連したFOV(FOV202など)と同じか又はそれよりも狭いFOV(FOV204及び206など)を提供することがある。例えば、画像取込装置124及び126は、40度、30度、26度、23度、20度、又はそれ以下のFOVを有することがある。
【0051】
[079] 画像取込装置124及び126は、車両200に関連したシーンに関する複数の第2及び第3の画像を取得することができる。この複数の第2及び第3の画像のそれぞれは、ローリングシャッターを使用して取り込むことができる画像走査線の第2及び第3の組として取得されることがある。各走査線又は行は、複数の画素を有することがある。画像取込装置124及び126は、第2及び第3の組に含まれる画像走査線の各々の取得に関連した第2及び第3の走査レートを有することがある。
【0052】
[080] 各画像取込装置122、124、及び126は、車両200に対して任意の適切な位置及び向きに配置されることがある。画像取込装置122、124、及び126の相対的な位置決めは、これらの画像取込装置から取得した情報を融合するのを助けるように選択されることがある。例えば、実施形態によっては、画像取込装置124に関連したFOV(FOV204など)は、画像取込装置122に関連したFOV(FOV202など)及び画像取込装置126に関連したFOV(FOV206など)と部分的に又は完全に重なることがある。
【0053】
[081] 画像取込装置122、124、及び126は、車両200に任意の適切な相対高さで配置されることがある。一例では、画像取込装置122、124、及び126の間には高さの差が存在することがあり、これは、立体解析を可能にするのに十分な視差情報を提供することができる。例えば、
図2Aに示すように、2つの画像取込装置122及び124が、異なる高さにある。また、画像取込装置122、124、及び126の間には横方向の変位差が存在することもあり、例えば処理ユニット110による立体解析のために追加の視差情報を与えることがある。横方向の変位の差は、
図2C及び
図2Dに示すように、d
xで表わすことがある。実施形態によっては、前後方向の変位(例えば、範囲の変位)が、画像取込装置122、124、及び126の間に存在することがある。例えば、画像取込装置122は、画像取込装置124及び/又は画像取込装置126の0.5~2メートル以上背後に配置されることがある。この種の変位は、画像取込装置のうちの1つが、他の画像取込装置の潜在的な死角をカバーできるようにすることがある。
【0054】
[082] 画像取込装置122は、任意の適切な解像度能力(例えば、画像センサに関連した画素数)を有することができ、画像取込装置122に関連した画像センサの解像度は、画像取込装置124及び126に関連した画像センサの解像度より高いか、低いか、又は同じであることがある。実施形態によっては、画像取込装置122及び/又は画像取込装置124及び126に関連した画像センサは、640×480、1024×768、1280×960という解像度、又は任意の他の適切な解像度を有することがある。
【0055】
[083] フレームレート(例えば、画像取込装置が、次の画像フレームに関連した画素データの取り込みに移る前に、1つの画像フレームの画素データの組を取得するレート)は、制御可能であり得る。画像取込装置122に関連したフレームレートは、画像取込装置124及び126に関連したフレームレートより高いか、低いか、又は同じであることがある。画像取込装置122、124、及び126に関連したフレームレートは、フレームレートのタイミングに影響を及ぼすことがある様々な要因に依存することがある。例えば、画像取込装置122、124、及び126のうちの1つ又は複数は、画像取込装置122、124、及び/又は126内の画像センサの1つ又は複数の画素に関連した画像データを取得する前又は後に課される選択可能な画素遅延期間を含むことがある。一般的に、各画素に対応する画像データは、その装置のクロックレートに従って取得されることがある(例えば、クロックサイクル毎に1画素)。更に、ローリングシャッターを含む実施形態では、画像取込装置122、124、及び126のうちの1つ又は複数は、画像取込装置122、124、及び/又は126内の画像センサの画素の行に関連した画像データを取得する前又は後に課される選択可能な水平ブランキング期間を含むことがある。更に、画像取込装置122、124、及び/又は126のうちの1つ又は複数は、画像取込装置122、124、及び126の画像フレームに関連した画像データを取得する前又は後に課される選択可能な垂直ブランキング期間を含むことがある。
【0056】
[084] これらのタイミング制御は、画像取込装置122、124、及び126に関連したフレームレートの同期を、たとえそれぞれのライン走査レートが異なっていたとしても、可能にすることができる。更に、以下でより詳細に考察するように、他の要因(例えば、画像センサ解像度、最大ライン走査レート、等)の中でこれらの選択可能なタイミング制御は、たとえ画像取込装置122の視野が画像取込装置124及び126のFOVと異なっていたとしても、画像取込装置122のFOVが画像取込装置124及び126の1つ又は複数のFOVと重なる領域からの画像取込の同期を可能にすることができる。
【0057】
[085] 画像取込装置122、124、及び126におけるフレームレートのタイミングは、関連する画像センサの解像度に依存することがある。例えば、両方の装置に対して同様のライン走査レートを仮定すると、一方の装置が解像度が640×480である画像センサを含み、他方の装置が解像度が1280×960である画像センサを含む場合、解像度がより高いセンサから画像データのフレームを取得するためにはより多くの時間が必要になる。
【0058】
[086] 画像取込装置122、124、及び126における画像データ取得のタイミングに影響を及ぼすことがある別の要因は、最大ライン走査レートである。例えば、画像取込装置122、124、及び126に含まれる画像センサから画像データの行を取得するには、幾らかの最小量の時間を必要とする。画素遅延期間が追加されないものと仮定すると、画像データの行を取得するためのこの最小量の時間は、特定の装置の最大ライン走査レートに関係する。より速い最大ライン走査レートを提供する装置は、より遅い最大ライン走査レートを有する装置よりも、より高いフレームレートを提供する潜在能力を有する。実施形態によっては、画像取込装置124及び126のうちの1つ又は複数は、画像取込装置122に関連した最大ライン走査レートよりも速い最大ライン走査レートを有することがある。実施形態によっては、画像取込装置124及び/又は126の最大ライン走査レートは、画像取込装置122の最大ライン走査レートよりも1.25倍、1.5倍、1.75倍、又は2倍以上であることがある。
【0059】
[087] 別の実施形態では、画像取込装置122、124、及び126が同じ最大ライン走査レートを有することがあるが、画像取込装置122は、その最大ライン走査レート以下の走査レートで動作することがある。このシステムは、画像取込装置124及び126のうちの1つ又は複数が、画像取込装置122のライン走査レートと等しいライン走査レートで動作するように構成されることがある。他の例では、このシステムは、画像取込装置124及び/又は画像取込装置126のライン走査レートが、画像取込装置122のライン走査レートの1.25倍、1.5倍、1.75倍、又は2倍以上であり得るように構成されることがある。
【0060】
[088] 実施形態によっては、画像取込装置122、124、及び126は、非対称であり得る。即ち、それらの画像取込装置は、異なる視野(FOV)及び焦点距離を有するカメラを含むことがある。画像取込装置122、124、及び126の視野は、例えば車両200の周辺環境に関係した任意の所望の領域を含むことがある。実施形態によっては、画像取込装置122、124、及び126のうちの1つ又は複数は、車両200の前方の環境、車両200の後方の環境、車両200の側面の環境、又はそれらの組み合わせから画像データを取得するように構成されることがある。
【0061】
[089] 更に、各画像取込装置122、124、及び/又は126に関連した焦点距離は、各装置が車両200に対して所望の距離範囲にある物体の画像を取得するように、(例えば、適切なレンズを含むことにより)選択可能であることがある。例えば、実施形態によっては、画像取込装置122、124、及び126は、車両から数メートル以内にある至近距離の物体の画像を取得することがある。画像取込装置122、124、及び126は、車両からさらに離れた距離範囲(例えば、25m、50m、100m、150m、又はそれ以上)にある物体の画像を取得するように構成されることもある。更に、画像取込装置122、124、及び126の焦点距離は、1つの画像取込装置(例えば、画像取込装置122)が車両の比較的近くにある(例えば、10m以内又は20m以内の)物体の画像を取得することができると同時に、他の画像取込装置(例えば、画像取込装置124及び126)が、車両200から更に離れた(例えば、20m、50m、100m、150m等より離れた)物体の画像を取得することができるように、選択されることがある。
【0062】
[090] 幾つかの実施形態によれば、1つ又は複数の画像取込装置122、124、及び126のFOVは、広角を有することがある。例えば、とりわけ車両200の付近の領域の画像を取り込むために使用されることがある画像取込装置122、124、及び126にとって、140度のFOVを有することが有利であることがある。例えば、画像取込装置122を使用して車両200の右又は左の領域の画像を取り込むことができ、そのような実施形態では、画像取込装置122が広いFOV(例えば、少なくとも140度)を有することが望ましいことがある。
【0063】
[091] 画像取込装置122、124、及び126の各々に関連した視野は、それぞれの焦点距離に依存していることがある。例えば、焦点距離が長くなるにつれて、対応する視野は狭くなる。
【0064】
[092] 画像取込装置122、124、及び126は、任意の適切な視野を有するように構成されることがある。1つの特定の例では、画像取込装置122は46度の水平FOVを有することがあり、画像取込装置124は23度の水平FOVを有することがあり、画像取込装置126は23度と46度との間の水平FOVを有することがある。別の例では、画像取込装置122は52度の水平FOVを有することがあり、画像取込装置124は26度の水平FOVを有することがあり、画像取込装置126は26度と52度との間の水平FOVを有することがある。実施形態によっては、画像取込装置122のFOVと画像取込装置124及び/又は画像取込装置126のFOVとの比率は、1.5~2.0まで変化することがある。他の実施形態では、この比率は1.25~2.25の間で変化することがある。
【0065】
[093] システム100は、画像取込装置122の視野が、画像取込装置124及び/又は画像取込装置126の視野と少なくとも部分的に又は完全に重なるように、構成されることがある。実施形態によっては、システム100は、画像取込装置124及び126の視野が、例えば、画像取込装置122の視野の内部に含まれ(画像取込装置122の視野よりも狭く)、かつ画像取込装置122の視野と共通の中心を共有するように、構成されることがある。他の実施形態では、画像取込装置122、124、及び126は、隣接するFOVを取り込むことがあり、又は、それらのFOV同士が部分的に重なり合うことがある。実施形態によっては、より狭いFOVの画像取込装置124及び/又は126の中心が、より広いFOVの画像取込装置122の視野の下半分に位置することができるように、画像取込装置122、124、及び126の視野が整列されていることがある。
【0066】
[094]
図2Fは、開示される実施形態と合致した例示的な車両制御システムの概略図である。
図2Fに示すように、車両200は、スロットルシステム220、ブレーキシステム230、及び操舵システム240を含むことがある。システム100は、1つ又は複数のデータリンク(例えば、データを送信するための任意の有線及び/又は無線のリンク)を介して、スロットルシステム220、ブレーキシステム230、及び操舵システム240のうちの1つ又は複数に入力(例えば、制御信号)を供給することがある。例えば、画像取込装置122、124、及び/又は126によって取得された画像の解析結果に基づいて、システム100は、スロットルシステム220、ブレーキシステム230、及び操舵システム240のうちの1つ又は複数に制御信号を供給して、(例えば、加速、方向転換、車線変更等を行うことによって)車両200を操縦することができる。更に、システム100は、スロットルシステム220、ブレーキシステム230、及び操舵システム24のうちの1つ又は複数から、車両200の動作状態(例えば、速度、車両200がブレーキをかけているかどうか及び/又は方向転換をしているかどうか、等)を示す入力を受け取ることができる。更なる詳細は、以下の
図4~
図7に関連して説明する。
【0067】
[095]
図3Aに示すように、車両200は、車両200の運転者又は同乗者と対話するためのユーザインターフェース170を含むこともある。例えば、ある車両アプリケーションにおけるユーザインターフェース170は、タッチスクリーン320、ノブ330、ボタン340、及びマイクロホン350を含むことがある。車両200の運転者又は同乗者は、システム100と対話するために、(例えば、方向指示器ハンドルを含む車両200のステアリング・コラムの上又は近傍に配置された)ハンドル、(車両200の運転ハンドル上に配置された)ボタン等を使用することもある。実施形態によっては、マイクロホン350はバックミラー310に隣接して配置されることがある。同様に、実施形態によっては、画像取込装置122はバックミラー310の近傍に配置されることがある。実施形態によっては、ユーザインターフェース170は、1つ又は複数のスピーカー360(例えば、車載オーディオシステムのスピーカー)を含むこともある。例えば、システム100は、スピーカー360を介して様々な通知(例えば、アラート)を提供することがある。
【0068】
[096]
図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の図である。
【0069】
[097] 本開示から利益を得る当業者であれば理解するように、前述の開示した実施形態には、多数の変形及び/又は修正を加えることができる。例えば、システム100を動作させるためには全ての構成要素が不可欠というわけではない。更に、任意の構成要素をシステム100の任意の適切な部分に配置することができ、またそれらの構成要素は、開示する実施形態の機能を提供しながら、様々な構成に再配置することができる。従って、前述の構成は例であり、上述の構成に関わりなく、システム100は広範な機能を提供して車両200の周囲を解析し、解析結果に応答して車両200を操縦することができる。
【0070】
[098] 以下で更に詳細に考察するように、様々な開示する実施形態と合致して、システム100は、自律運転及び/又は運転者支援技術に関連した様々な機能を提供することができる。例えば、システム100は、画像データ、位置データ(例えば、GPS位置情報)、地図データ、速度データ、及び/又は車両200に含まれるセンサからのデータを解析することができる。システム100は、例えば画像取得ユニット120、位置センサ130、及び他のセンサから解析用データを収集することがある。更に、システム100は、収集したデータを解析して車両200が特定の動作を行うべきか否かを決定し、人間が介在することなく決定した動作を自動的に行うことがある。例えば、車両200が人間が介在せずに走行する場合、システム100は、(例えば、スロットルシステム220、ブレーキシステム230、及び操舵システム240のうちの1つ又は複数に制御信号を送信することにより)車両200のブレーキ、加速、及び/又は操舵を自動的に制御することができる。更に、システム100は、収集したデータを解析し、収集したデータの解析結果に基づいて車両の乗員に警告及び/又はアラートを発することができる。システム100によって提供される様々な実施形態に関する更なる詳細を、以下で提供する。
【0071】
[099] 上述したように、システム100は、マルチカメラシステムを使用する運転支援機能を提供することができる。マルチカメラシステムは、車両の前方を向いている1つ又は複数のカメラを使用することがある。他の実施形態では、マルチカメラシステムは、車両の側方又は車両の後方を向いている1つ又は複数のカメラを含むことがある。一実施形態では、例えば、システム100は2台カメラ撮像システムを使用することがあり、第1のカメラ及び第2のカメラ(例えば、画像取込装置122及び124)が、車両(例えば、車両200)の前部及び/又は側部に配置されることがある。他のカメラ構成が、開示される実施形態と合致し、本明細書で開示される構成は例である。例えば、システム100は任意の数のカメラ(例えば、1つ、2つ、3つ、4つ、5つ、6つ、7つ、8つ、等)構成を含むことがある。更に、システム100はカメラの「クラスター」を含むことがある。例えば、カメラのクラスター(任意の適切な数のカメラ、例えば、1つ、4つ、8つ、等を含む)は、車両に対して前方を向いていることがあり、又は任意の他の方向を向いている(例えば、リワード方向を向いている、側方を向いている、斜めになっている、等)ことがある。従って、システム100は、複数のカメラクラスターを含むことがあり、各クラスターは車両の周辺環境の特定の領域から画像を取り込むために特定の方向に向けられている。
【0072】
[0100] 第1のカメラは、第2のカメラの視野よりも広い、又は狭い、又は部分的に重なる視野を有することがある。更に、第1のカメラを第1の画像プロセッサに接続して、第1のカメラによって提供される画像の単眼画像解析を実施することがあり、第2のカメラを第2の画像プロセッサに接続して、第2のカメラによって提供される画像の単眼画像解析を実施することがある。第1及び第2の画像プロセッサの出力(例えば、処理された情報)を合成することがある。実施形態によっては、第2の画像プロセッサは、第1のカメラ及び第2のカメラの両方から画像を受け取って立体解析を実施することがある。別の実施形態では、システム100は、各カメラが異なる視野を有する3台カメラ撮像システムを使用することがある。従って、そのようなシステムは、車両の前方及び側方の両方に様々な距離で位置する複数の物体から引き出される情報に基づいて決定を行うことができる。単眼画像解析に言及することは、単一の視点から(例えば、単一のカメラから)取り込まれた画像に基づいて画像解析が行われる場合を指すことがある。立体画像解析は、画像取込パラメータの1つ又は複数の種類を用いて取り込まれた2つ以上の画像に基づいて画像解析が行われる場合を指すことがある。例えば、立体画像解析を行うのに適した取込画像は、2つ以上の異なる位置から取り込まれた画像、異なる視野から取り込まれた画像、異なる焦点距離を使用して取り込まれた画像、視差情報と共に取り込まれた画像、等を含むことがある。
【0073】
[0101] 例えば、一実施形態では、システム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に対する車内からのいかなる反射の影響も最小限に抑えるように働くことができる。
【0074】
[0102] 別の実施形態では、
図3B及び
図3Cに関連して上述したように、広い視野のカメラ(例えば、上記の例では画像取込装置124)は、狭視野カメラ及び主視野カメラ(例えば、上記の例では画像取込装置122及び126)よりも低い位置に取り付けられることがある。この構成は、広視野カメラからの自由な視線をもたらすことができる。反射を低減するために、これらのカメラは車両200のフロントガラスの近くに取り付けられることがあり、反射光を減衰させるためにカメラ上に偏光子を含むことがある。
【0075】
[0103] 3台カメラシステムは、特定の性能特性を提供することができる。例えば、幾つかの実施形態は、あるカメラからの検出結果に基づいて、別のカメラによる物体の検出を検証する能力を含むことがある。上述した3台カメラ構成では、処理ユニット110は、例えば3つの処理装置(例えば、上述のような3つのEyeQシリーズのプロセッサチップ)を含むことがあり、各処理装置は、画像取込装置122~126のうちの1つ又は複数によって取り込まれた画像の処理専用である。
【0076】
[0104] 3台カメラシステムでは、第1の処理装置は主カメラ及び狭視野カメラの両方から画像を受け取ることがあり、狭FOVカメラの視覚処理を実施して、例えば、他の車両、歩行者、車線マーク、交通標識、信号機、及び他の道路特徴を検出することがある。更に、第1の処理装置は、主カメラからの画像と狭カメラからの画像との間の画素の視差を計算し、車両200の周辺環境の3D復元物を生成することがある。次いで、第1の処理装置は、3D復元物と、3D地図データ又は別のカメラからの情報に基づいて計算された3D情報とを合成することがある。
【0077】
[0105] 第2の処理装置は、主カメラからの画像を受け取り、視覚処理を実施して他の車両、歩行者、車線マーク、交通標識、信号機、及び他の道路特徴を検出することがある。更に、第2の処理装置はカメラの変位を計算し、その変位に基づいて、連続する画像間の画素の視差を計算し、シーンの3D復元物(例えば、ストラクチャーフロムモーション)を生成することがある。第2の処理装置は、立体3D画像と合成させるために、このストラクチャーフロムモーションからの構造に基づく3D復元物を第1の処理装置に送信することがある。
【0078】
[0106] 第3の処理装置は、広FOVカメラから画像を受け取り、それらの画像を処理して車両、歩行者、車線マーク、交通標識、信号機、及び他の道路特徴を検出することがある。第3の処理装置は、画像を解析して車線を変更している車両、歩行者などの画像中で動いている物体を識別するための追加の処理命令を更に実行することがある。
【0079】
[0107] 実施形態によっては、独立して取り込まれ処理された画像ベースの情報のストリームを有することにより、システムにおける冗長性を提供する機会がもたらされることがある。そのような冗長性には、例えば、第1の画像取込装置及びその装置から処理された画像を使用して、少なくとも第2の画像取込装置から画像情報を取り込んで処理することによって得られる情報を検証及び/又は捕捉することが含まれることがある。
【0080】
[0108] 実施形態によっては、システム100は、車両200に対してナビゲーション支援を提供するのに2つの画像取込装置(例えば、画像取込装置122及び124)を使用し、また第3の画像取込装置(例えば、画像取込装置126)を使用して冗長性を提供し、かつ他の2つの画像取込装置から受け取ったデータの解析結果を検証することがある。例えば、そのような構成では、画像取込装置122及び124は、車両200を操縦するためのシステム100による立体解析に画像を提供することがあり、一方、画像取込装置126は、システム100による単眼解析に画像を提供して冗長性を提供し、かつ画像取込装置122及び/又は画像取込装置124から取り込まれた画像に基づいて得られる情報の検証を提供することがある。即ち、画像取込装置126(及び対応する処理装置)は、(例えば、自動緊急ブレーキ(AEB)システムを提供するために)画像取込装置122及び124から導出された解析結果に対するチェックを提供するための冗長サブシステムを提供すると考えられる。更に、実施形態によっては、冗長性及び受け取ったデータの検証は、1つ又は複数のセンサ(例えば、レーダー、ライダー、音響センサ、車外にある1つ又は複数の送受信機から受け取った情報、等)から受け取った情報に基づいて補われることがある。
【0081】
[0109] 当業者であれば、上記のカメラ構成、カメラ配置、カメラの数、カメラの位置等は例に過ぎないことを理解するであろう。これらの構成要素及び全体システムに関して説明した他の構成要素は、開示する実施形態の範囲から逸脱することなく、様々な異なる構成で組み立てられ使用されることがある。運転者支援及び/又は自律走行車両機能を提供するためのマルチカメラシステムの使用に関する更なる詳細を、以下で説明する。
【0082】
[0110]
図4は、開示される実施形態と合致した1つ又は複数の動作を実行するための命令を記憶/プログラムすることができる、メモリ140及び/又は150の例示的な機能ブロック図である。以下ではメモリ140に言及するが、当業者であれば、命令はメモリ140及び/又は150に記憶され得ることを理解するであろう。
【0083】
[0111]
図4に示すように、メモリ140は単眼画像解析モジュール402、立体画像解析モジュール404、速度及び加速度モジュール406、及びナビゲーション応答モジュール408を記憶することがある。開示される実施形態は、メモリ140のどのような特定の構成にも限定されない。更に、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、メモリ140に含まれるモジュール402~408のうちのいずれかに記憶されている命令を実行することができる。当業者であれば、以下の考察における処理ユニット110への言及は、アプリケーションプロセッサ180及び画像プロセッサ190を個別に又は集合的に指すことがあることを、理解するであろう。従って、以下の処理のうちの任意のステップは、1つ又は複数の処理装置によって行われることがある。
【0084】
[0112] 一実施形態では、単眼画像解析モジュール402は、処理ユニット110によって実行されると、画像取込装置122、124、及び126のうちの1つによって取得された画像の組の単眼画像解析を行う命令(コンピュータ・ビジョン・ソフトウェアなど)を記憶することがある。実施形態によっては、処理ユニット110は、画像の組からの情報を追加のセンサ情報(例えば、レーダーからの情報)と合成して、単眼画像解析を行うことがある。以下で
図5A~
図5Dに関連して説明するように、単眼画像解析モジュール402は、車線区分線、車両、歩行者、道路標識、高速道路の出口ランプ、信号機、危険物、及び車両の周辺環境に関連した任意の他の特徴などの、画像の組内での特徴の組を検出するための命令を含むことがある。解析結果に基づいて、(例えば、処理ユニット110を介して)システム100は、ナビゲーション応答モジュール408に関連して以下で考察するように、方向転換、車線変更、加速度の変更などの車両200における1つ又は複数のナビゲーション応答を引き起こすことがある。
【0085】
[0113] 一実施形態では、単眼画像解析モジュール402は、処理ユニット110によって実行されると、画像取込装置122、124、及び126のうちの1つによって取得された画像の組の単眼画像解析を行う命令(コンピュータ・ビジョン・ソフトウェアなど)を記憶することがある。実施形態によっては、処理ユニット110は、画像の組からの情報を追加のセンサ情報(例えば、レーダー、ライダー等からの情報)と合成して、単眼画像解析を行うことがある。以下で
図5A~
図5Dに関連して説明するように、単眼画像解析モジュール402は、車線区分線、車両、歩行者、道路標識、高速道路の出口ランプ、信号機、危険物、及び車両の周辺環境に関連した任意の他の特徴などの、画像の組内での特徴の組を検出するための命令を含むことがある。解析結果に基づいて、(例えば、処理ユニット110を介して)システム100は、ナビゲーション応答の決定に関連して以下で考察するように、方向転換、車線変更、加速度の変更などの車両200における1つ又は複数のナビゲーション応答を引き起こすことがある。
【0086】
[0114] 一実施形態では、立体画像解析モジュール404は、処理ユニット110によって実行されると、画像取込装置122、124、及び126のうちのいずれかから選択される画像取込装置の組み合わせによって取得された第1及び第2の画像の組の立体画像解析を行う命令(コンピュータ・ビジョン・ソフトウェアなど)を記憶することがある。実施形態によっては、処理ユニット110は、第1及び第2の画像の組からの情報を追加のセンサ情報(例えば、レーダーからの情報)と合成して、立体画像解析を行うことがある。例えば、立体画像解析モジュール404は、画像取込装置124によって取得された第1の画像の組及び画像取込装置126によって取得された第2の画像の組に基づいて立体画像解析を行うための命令を含むことがある。以下で
図6に関連して説明するように、立体画像解析モジュール404は、車線区分線、車両、歩行者、道路標識、高速道路の出口ランプ、信号機、危険物などの、第1及び第2の画像の組内での特徴の組を検出するための命令を含むことがある。解析結果に基づいて、処理ユニット110は、ナビゲーション応答モジュール408に関連して以下で考察するように、方向転換、車線変更、加速度の変更などの車両200における1つ又は複数のナビゲーション応答を引き起こすことがある。更に、実施形態によっては、立体画像解析モジュール404は、訓練されたシステム(ニューラルネットワーク又はディープニューラルネットワークなど)又は訓練されていないシステムに関連した技術を実装することがある。
【0087】
[0115] 一実施形態では、速度及び加速度モジュール406は、車両200の速度及び/又は加速度の変化を引き起こすように構成された車両200内の1つ又は複数のコンピュータ電気機械装置から受け取ったデータを解析するように構成されたソフトウェアを記憶することがある。例えば、処理ユニット110は、速度及び加速度モジュール406に関連した命令を実行して、単眼画像解析モジュール402及び/又は立体画像解析モジュール404の実行から導出されたデータに基づいて、車両200の目標速度を計算することができる。そのようなデータには、例えば、目標位置、速度、及び/又は加速度、付近の車両又は歩行者又は道路特徴と比べた車両200の位置及び/又は速度、道路の車線区分線に対する車両200の位置情報、等が含まれることがある。更に、処理ユニット110は、センサ入力(例えば、レーダーからの情報)並びに、車両200のスロットルシステム220、ブレーキシステム230、及び/又は操舵システム240などの車両200の他のシステムからの入力に基づいて、車両200の目標速度を計算することができる。計算した目標速度に基づいて、処理ユニット110は、車両200のスロットルシステム220、ブレーキシステム230、及び/又は操舵システム240に電子信号を送信して、例えば車両200のブレーキを物理的に踏み込むことによって又はアクセルを緩めることによって、速度及び/又は加速度の変化を引き起こすことができる。
【0088】
[0116] 一実施形態では、ナビゲーション応答モジュール408は、処理ユニット110によって実行可能なソフトウェアを記憶して、単眼画像解析モジュール402及び/又は立体画像解析モジュール404の実行から導出されたデータに基づいて所望のナビゲーション応答を決定することができる。そのようなデータには、付近の車両及び歩行者及び道路特徴に関連した位置及び速度情報、車両200の目標位置情報、等が含まれることがある。更に、実施形態によっては、ナビゲーション応答は、地図データ、車両200の所定の位置、及び/又は、単眼画像解析モジュール402及び/又は立体画像解析モジュール404の実行により検出された1つ又は複数の物体と車両200との間の相対速度又は相対加速度に、(部分的に又は完全に)基づくことがある。ナビゲーション応答モジュール408は、センサ入力(例えば、レーダーからの情報)並びに車両200のスロットルシステム220、ブレーキシステム230、及び操舵システム240などの車両200の他のシステムからの入力に基づいて、所望のナビゲーション応答を決定することもある。所望のナビゲーション応答に基づいて、処理ユニット110は、車両200のスロットルシステム220、ブレーキシステム230、及び操舵システム240に電子信号を送信して、例えば車両200の運転ハンドルを回して所定の角度の回転を達成することにより、所望のナビゲーション応答を引き起こすことができる。実施形態によっては、処理ユニット110は、ナビゲーション応答モジュール408の出力(例えば、所望のナビゲーション応答)を、車両200の速度の変化を計算するための速度及び加速度モジュール406を実行するための入力として使用することがある。
【0089】
[0117] 更に、本明細書で開示するモジュール(例えば、モジュール402、404、及び406)のいずれかが、訓練されたシステム(ニューラルネットワーク又はディープニューラルネットワークなど)又は訓練されていないシステムに関連した技術を実装することがある。
【0090】
[0118]
図5Aは、開示される実施形態と合致した、単眼画像解析に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的な処理500Aを示す流れ図である。ステップ510では、処理ユニット110は、処理ユニット110と画像取得ユニット120との間のデータインターフェース128を介して複数の画像を受け取ることができる。例えば、画像取得ユニット120に含まれるカメラ(視野202を有する画像取込装置122など)は、車両200の前方の(又は、例えば車両の側方若しくは後方の)領域の複数の画像を取り込み、データ接続(例えば、デジタル、有線、USB、無線、Bluetooth、等)を介して処理ユニット110へ送信することがある。処理ユニット110は、以下で
図5B~
図5Dに関連して更に詳細に説明するように、ステップ520で単眼画像解析モジュール402を実行してそれら複数の画像の解析を行うことができる。解析を実施することにより、処理ユニット110は、車線区分線、車両、歩行者、道路標識、高速道路の出口ランプ、信号機などの、画像の組内の特徴の組を検出することができる。
【0091】
[0119] 処理ユニット110はまた、ステップ520で単眼画像解析モジュール402を実行して、例えば、トラックのタイヤの一部、落下した道路標識、緩んだ積み荷、小動物などの様々な道路危険物を検出することもできる。道路危険物は、構造、形状、大きさ、及び色が一様ではないので、そのような危険物の検出がより困難になることがある。実施形態によっては、処理ユニット110は、単眼画像解析モジュール402を実行して複数の画像に対してマルチフレーム解析を行い、道路危険物を検出することがある。例えば、処理ユニット110は、連続する画像フレーム間のカメラの動きを推定し、フレーム間の画素の視差を計算して、道路の3D地図を構築することができる。次いで、処理ユニット110は、3D地図を使用して路面並びに路面上に存在する危険物を検出することができる。
【0092】
[0120] ステップ530では、処理ユニット110は、ナビゲーション応答モジュール408を実行して、ステップ520で実施した解析及び
図4に関連して上述した技術に基づいて、車両200における1つ又は複数のナビゲーション応答を引き起こすことができる。ナビゲーション応答には、例えば方向転換、車線変更、加速度の変更などが含まれることがある。実施形態によっては、処理ユニット110は、速度及び加速度モジュール406の実行により導出されたデータを使用して、1つ又は複数のナビゲーション応答を引き起こすことができる。更に、複数のナビゲーション応答が同時に、順番に、又はそれらの任意の組み合わせで発生することがある。例えば、処理ユニット110は、例えば車両200の操舵システム240及びスロットルシステム220に制御信号を順次送信することにより、車両200を1つ向こう側の車線に移動させて、その後加速させることができる。或いは、処理ユニット110は、例えば車両200のブレーキシステム230及び操舵システム240に制御信号を同時に送信することにより、車両200にブレーキをかけさせ、同時に車線を変更させることができる。
【0093】
[0121]
図5Bは、開示される実施形態と合致した、1組の画像中で1つ又は複数の車両及び/又は歩行者を検出するための例示的な処理500Bを示す流れ図である。処理ユニット110は、単眼画像解析モジュール402を実行して、処理500Bを実施することができる。ステップ540では、処理ユニット110は、予想される車両及び/又は歩行者を表す候補物体の組を決定することができる。例えば、処理ユニット110は、1つ又は複数の画像を走査し、それらの画像を1つ又は複数の所定のパターンと比較し、関心対象の物体(例えば、車両、歩行者、又はそれらの一部)を含むことがある推定位置を各画像内で特定することができる。所定のパターンは、高い割合の「誤ヒット」及び低い割合の「見落とし」を達成するように設計されることがある。例えば、処理ユニット110は、候補物体を予想される車両又は歩行者として識別するために、所定のパターンに対して低い閾値の類似性を使用することがある。そうすることにより、処理ユニット110が、車両又は歩行者を表す候補物体を見落としてしまう(例えば、識別しない)可能性を低減することが可能になることがある。
【0094】
[0122] ステップ542では、処理ユニット110は、候補物体の組をフィルタリングして、分類基準に基づいて特定の候補(例えば、関係のない又はあまり関係のない物体)を除外することができる。そのような基準は、データベース(例えば、メモリ140に記憶されたデータベース)に記憶された物体タイプに関連した様々な特性から導き出すことができる。特性には、物体の形状、寸法、テクスチャ、(例えば、車両200に対する)位置などが含まれることがある。従って、処理ユニット110は、1つ又は複数の組の基準を使用して、候補物体の組から誤った候補を棄却することができる。
【0095】
[0123] ステップ544では、処理ユニット110は、複数の画像フレームを解析して、候補物体の組の中の物体が、車両及び/又は歩行者を表すのかどうかを決定することができる。例えば、処理ユニット110は、連続するフレームにまたがって検出された候補物体を追跡し、検出された物体に関連したフレーム毎のデータ(例えば、サイズ、車両200に対する位置、等)を蓄積することができる。更に、処理ユニット110は、検出された物体のパラメータを推定し、物体のフレーム毎の位置データと予測位置とを比較することができる。
【0096】
[0124] ステップ546では、処理ユニット110は、検出された物体の測定値の組を構築することができる。そのような測定値には、例えば、検出された物体に関連した(車両200に対する)位置、速度、及び加速度の値が含まれることがある。実施形態によっては、処理ユニット110は、カルマンフィルタ又は線形2次推定(LQE)などの一連の時間ベースの観測を使用した推定技術に基づいて、及び/又は、異なる物体タイプ(例えば、自動車、トラック、歩行者、自転車、道路標識、等)について利用可能なモデリングデータに基づいて、測定値を構築することがある。カルマンフィルタは、物体のスケールの測定値に基づくことがあり、スケール測定値は衝突までの時間(例えば、車両200が物体に到達するまでの時間量)に比例する。従って、ステップ540~546を実施することによって、処理ユニット110は、取り込まれた画像の組内に現れる車両及び歩行者を識別し、車両及び歩行者に関連した情報(例えば、位置、速度、大きさ)を導き出すことができる。識別結果及び導出された情報に基づいて、処理ユニット110は、上記で
図5Aに関連して説明したように、車両200における1つ又は複数のナビゲーション応答を引き起こすことができる。
【0097】
[0125] ステップ548では、処理ユニット110は、1つ又は複数の画像のオプティカルフロー解析を実施して、「誤ヒット」を検出する可能性及び車両又は歩行者を表す候補物体を見落とす可能性を低減することができる。オプティカルフロー解析は、例えば、路面の動きとは異なる、他の車両及び歩行者に関連した、1つ又は複数の画像中の車両200に対する動きのパターンを解析することを指すことがある。処理ユニット110は、異なる時間に取り込まれた複数の画像フレームにまたがって、物体の異なる位置を観察することにより、候補物体の動きを計算することができる。処理ユニット110は、候補物体の動きを計算するための数学モデルへの入力として、位置及び時間値を使用することができる。従って、オプティカルフロー解析は、車両200の付近にいる車両及び歩行者を検出する別の方法を提供することができる。処理ユニット110は、ステップ540~546と組み合わせてオプティカルフロー解析を行い、車両及び歩行者を検出するための冗長性をもたらし、システム100の信頼性を高めることができる。
【0098】
[0126]
図5Cは、開示される実施形態と合致した、1組の画像中で路面標識及び/又は車線形状情報を検出するための例示的な処理500Cを示す流れ図である。処理ユニット110は、単眼画像解析モジュール402を実行して、処理500Cを実施することができる。ステップ550では、処理ユニット110は、1つ又は複数の画像を走査することにより、1組の物体を検出することができる。車線区分線の区域、車線形状情報、及び他の関係する路面標識を検出するために、処理ユニット110は、物体の組をフィルタリングして、無関係であると判断される物体(例えば、小さな穴ぼこ、小さな石、等)を除外することができる。ステップ552では、処理ユニット110は、同じ路面標識又は車線標識に属しているステップ550で検出された区域をまとめてグループ化することができる。このグループ化に基づいて、処理ユニット110は、数学モデルなどの、検出した区域を表すためのモデルを構築することができる。
【0099】
[0127] ステップ554では、処理ユニット110は、検出した区域に関連した測定値の組を構築することができる。実施形態によっては、処理ユニット110は、検出された区域の画像平面から実世界平面への投影を生成することがある。この投影は、検出された道路の位置、傾斜、曲率、及び曲率導関数などの物理的特性に対応した係数を有する3次多項式を使用して、特徴付けることができる。投影を生成する際に、処理ユニット110は、路面の変化、並びに車両200に関連したピッチレート及びロールレートを考慮に入れることがある。更に、処理ユニット110は、路面上に存在する位置及び動きの手がかりを解析することによって、道路の標高をモデル化することができる。更に、処理ユニット110は、1つ又は複数の画像における特徴点の組を追跡することにより、車両200に関連したピッチレート及びロールレートを推定することができる。
【0100】
[0128] ステップ556では、処理ユニット110は、例えば、連続する画像フレームにまたがって検出された区域を追跡することにより、かつ、検出された区域に関連したフレーム毎のデータを蓄積することにより、マルチフレーム解析を行うことができる。処理ユニット110がマルチフレーム解析を行うと、ステップ554で構築された測定値の組は、より信頼性が高くなり、ますます高い信頼水準と関連付けられるようになる。従って、ステップ550~556を行うことにより、処理ユニット110は、取り込まれた画像の組内に現れる路面標識を識別し、車線形状情報を導き出すことができる。識別結果及び導出された情報に基づいて、処理ユニット110は、上記で
図5Aに関連して説明したように、車両200における1つ又は複数のナビゲーション応答を引き起こすことができる。
【0101】
[0129] ステップ558では、処理ユニット110は、追加の情報源を考慮して、車両200の周囲の状況における車両200の安全モデルを更に構築することができる。処理ユニット110は、この安全モデルを使用して、システム100が安全な態様で車両200の自律制御を実行することができる状況を定義することができる。安全モデルを構築するために、実施形態によっては、処理ユニット110は、他の車両の位置及び動き、検出された道路の縁及び障壁、及び/又は地図データ(地図データベース160からのデータなど)から抽出された一般的な道路形状の記述を考慮することがある。追加の情報源を考慮することにより、処理ユニット110は、路面標識及び車線形状を検出するための冗長性をもたらし、システム100の信頼性を高めることができる。
【0102】
[0130]
図5Dは、開示される実施形態と合致した、1組の画像中で信号機を検出するための例示的な処理500Dを示す流れ図である。処理ユニット110は、単眼画像解析モジュール402を実行して、処理500Dを実施することができる。ステップ560では、処理ユニット110は、画像の組を走査し、信号機を含んでいる可能性が高い画像中の位置に現れる物体を識別することができる。例えば、処理ユニット110は、識別された物体をフィルタリングして、信号機に相当する可能性が低い物体を除外して、候補物体の組を構築することができる。フィルタリングは、形状、寸法、テクスチャ、(例えば、車両200に対する)位置などの、信号機に関連した様々な特性に基づいて行うことができる。そのような特性は、信号機及び交通制御信号の複数の例に基づくことがあり、データベースに記憶されることがある。実施形態によっては、処理ユニット110は、推定される信号機を表す候補物体の組に対してマルチフレーム解析を行うことがある。例えば、処理ユニット110は、連続する画像フレームにまたがって候補物体を追跡し、候補物体の実世界の位置を推定し、(信号機である可能性が低い)動いている物体を除去することができる。実施形態によっては、処理ユニット110は、候補物体に対して色分析を行い、推定される信号機の内側に現れる検出された色の相対位置を識別することができる。
【0103】
[0131] ステップ562では、処理ユニット110は、交差点の形状を解析することができる。この解析は、(i)車両200の両側で検出された車線の数、(ii)道路上で検出されたマーク(矢印マークなど)、及び(iii)地図データ(地図データベース160からのデータなど)から抽出された交差点の記述、の任意の組み合わせに基づくことがある。処理ユニット110は、単眼解析モジュール402の実行により導出された情報を使用して、この解析を実施することがある。更に、処理ユニット110は、ステップ560で検出された信号機と車両200の近くに現れる車線との間の対応関係を決定することができる。
【0104】
[0132] 車両200が交差点に接近するにつれ、ステップ564で、処理ユニット110は、解析した交差点形状及び検出した信号機に関連した信頼水準を更新することができる。例えば、交差点に実際に現れる信号機の数と比較した、交差点に現れると推定された信号機の数は、信頼水準に影響を与えることがある。従って、信頼水準に基づいて、処理ユニット110は、安全状態を向上させるために、車両200の運転者に制御を委ねることがある。ステップ560~564を行うことにより、処理ユニット110は、取り込まれた画像の組内に現れる信号機を識別し、交差点形状情報を解析することができる。識別結果及び解析結果に基づいて、処理ユニット110は、上記で
図5Aに関連して説明したように、車両200における1つ又は複数のナビゲーション応答を引き起こすことができる。
【0105】
[0133]
図5Eは、開示される実施形態と合致した、車両経路に基づいて車両200における1つ又は複数のナビゲーション応答を引き起こすための例示的な処理500Eを示す流れ図である。ステップ570では、処理ユニット110は、車両200に関連した初期車両経路を構築することができる。車両経路は、座標(x、z)で表わされる地点の組を使用して表すことができ、この地点の組内の2地点間の距離d
iは、1~5メートルの範囲内に含まれることがある。一実施形態では、処理ユニット110は、左及び右の道路多項式などの2つの多項式を使用して、初期車両経路を構築することができる。処理ユニット110は、2つの多項式間の幾何学的な中間点を計算し、オフセットがあれば(ゼロのオフセットは、車線の中央を走行することに相当し得る)、結果として得られる車両経路に含まれる各地点を所定のオフセット量(例えば、スマート車線オフセット)だけオフセットすることができる。オフセットは、車両経路中の任意の2地点間の区域に垂直な方向にあり得る。別の実施形態では、処理ユニット110は、1つの多項式及び推定された車線幅を使用して、車両経路の各地点を、推定された車線幅の半分に所定のオフセット(例えば、スマート車線オフセット)を加えた分だけオフセットすることがある。
【0106】
[0134] ステップ572では、処理ユニット110は、ステップ570で構築した車両経路を更新することができる。処理ユニット110は、ステップ570で構築した車両経路を、より高い解像度を使用して再構築することができ、その結果、車両経路を表す地点の組の中の2地点間の距離dkは、上述した距離diよりも短くなる。例えば、距離dkは、0.1~0.3メートルの範囲内に含まれることがある。処理ユニット110は、放射線スプラインアルゴリズムを使用して車両経路を再構築することがあり、このアルゴリズムは、車両経路の全長に相当する(即ち、車両経路を表す地点の組に基づく)累積距離ベクトルSを生成することができる。
【0107】
[0135] ステップ574では、処理ユニット110は、ステップ572で構築された更新済車両経路に基づいて、前方注視点((xl、zl)として座標で表わされる)を決定することができる。処理ユニット110は、累積距離ベクトルSから前方注視点を抽出することができ、前方注視点は、前方注視距離及び前方注視時間と関連付けられることがある。10~20メートルの範囲の下限を有することがある前方注視距離は、車両200の速度と前方注視時間との積として計算することができる。例えば、車両200の速度が低下するにつれて、前方注視距離も(例えば、下限に達するまで)短くなることがある。0.5~1.5秒間の範囲であり得る前方注視時間は、ヘディングエラー追跡制御ループなどの、車両200におけるナビゲーション応答を引き起こすことに関連した1つ又は複数の制御ループの利得に反比例することがある。例えば、ヘディングエラー追跡制御ループの利得は、ヨーレートループ、操舵アクチュエータループ、自動車の横方向の動態などの帯域幅に依存することがある。従って、ヘディングエラー追跡制御ループの利得が高くなると、前方注視時間は短くなる。
【0108】
[0136] ステップ576では、処理ユニット110は、ステップ574で決定した前方注視点に基づいて、ヘディングエラー及びヨーレートコマンドを決定することができる。処理ユニット110は、前方注視点のアークタンジェント、例えばarctan(xl/zl)を計算することによって、ヘディングエラーを決定することができる。処理ユニット110は、ヘディングエラーと高水準制御利得との積として、ヨーレートコマンドを決定することができる。高水準制御利得は、前方注視距離が下限にはない場合には、(2/前方注視時間)に等しいことがある。さもなければ、高水準制御利得は、(2×車両200の速度/前方注視距離)に等しいことがある。
【0109】
[0137]
図5Fは、開示される実施形態と合致した、先行車両が車線を変更中であるかどうかを決定するための例示的な処理500Fを示す流れ図である。ステップ580では、処理ユニット110は、先行車両(例えば、車両200の前方を走行している車両)に関連したナビゲーション情報を決定することができる。例えば、処理ユニット110は、上記の
図5A及び
図5Bに関連して説明した技術を使用して、先行車両の位置、速度(例えば、方向及び速さ)、及び/又は加速度を決定することができる。処理ユニット110はまた、上記の
図5Eに関連して説明した技術を使用して、1つ又は複数の道路多項式、(車両200に関連した)前方注視点、及び/又はスネイルトレイル(例えば、先行車両が辿る経路を記述する地点の組)を決定することもできる。
【0110】
[0138] ステップ582では、処理ユニット110は、ステップ580で決定したナビゲーション情報を解析することができる。一実施形態では、処理ユニット110は、スネイルトレイルと道路多項式との間の(例えば、トレイルに沿った)距離を計算することができる。トレイルに沿ったこの距離の変動が所定の閾値(例えば、直線道路で0.1~0.2メートル、緩やかなカーブの道路で0.3~0.4メートル、急カーブの道路で0.5~0.6メートル)を超える場合、処理ユニット110は、先行車両が車線を変更中である可能性が高いと判断することがある。複数の車両が車両200の前方を走行していることが検出された場合には、処理ユニット110は、各車両に関連したスネイルトレイルを比較することができる。この比較に基づいて、処理ユニット110は、スネイルトレイルが他の車両のスネイルトレイルと一致しない車両は車線を変更中である可能性が高い、と判断することができる。処理ユニット110は更に、(先行車両に関連した)スネイルトレイルの曲率を、先行車両が走行している道路区域の予期される曲率と比較することができる。予期される曲率は、地図データ(例えば、地図データベース160からのデータ)、道路多項式、他の車両のスネイルトレイル、道路に関する予備知識などから、抽出することができる。スネイルトレイルの曲率と道路区域の予期される曲率との差が所定の閾値を超える場合、処理ユニット110は、先行車両が車線を変更中である可能性が高いと判断することができる。
【0111】
[0139] 別の実施形態では、処理ユニット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は、(より近い方の)先行車両が車線を変更中である可能性が高いと判断することができる。
【0112】
[0140] ステップ584では、処理ユニット110は、ステップ582で行った解析に基づいて、先行車両200が車線を変更中であるかどうかを判断することができる。例えば、処理ユニット110は、ステップ582で行った個別の解析の加重平均に基づいて、判断を行うことができる。そのような方式の下では、例えば、特定のタイプの解析に基づく先行車両が車線を変更中である可能性が高いとの処理ユニット110による決定には、「1」という値を(また、先行車両が車線を変更中である可能性が低いとの決定を表すには「0」を)割り当てることがある。ステップ582で行われる異なる解析には異なる重みを割り当てることができ、開示する実施形態は、解析と重みとのどのような特定の組み合わせにも限定はされない。更に、実施形態によっては、解析は、訓練されたシステム(例えば、機械学習又は深層学習システム)を使用することがあり、このシステムは、例えば、現在の位置で取り込んだ画像に基づいて、車両の現在の位置の前方にある将来経路を推定することができる。
【0113】
[0141]
図6は、開示される実施形態と合致した、立体画像解析に基づいて1つ又は複数のナビゲーション応答を引き起こすための例示的な処理600を示す流れ図である。ステップ610では、処理ユニット110は、データインターフェース128を介して、第1及び第2の複数の画像を受け取ることができる。例えば、画像取得ユニット120に含まれるカメラ(視野202及び204を有する画像取込装置122及び124など)は、車両200の前方の領域の第1及び第2の複数の画像を取り込み、デジタル接続(例えば、USB、無線、Bluetooth、等)を介して処理ユニット110へ送信することがある。実施形態によっては、処理ユニット110は、2つ以上のデータインターフェースを介して、第1及び第2の複数の画像を受け取ることがある。開示する実施形態は、どのような特定のデータインターフェース構成又はプロトコルにも限定されない。
【0114】
[0142] ステップ620では、処理ユニット110は、立体画像解析モジュール404を実行して第1及び第2の複数の画像の立体画像解析を行い、車両の正面の道路の3D地図を生成し、車線区分線、車両、歩行者、道路標識、高速道路の出口ランプ、信号機、道路危険物などの画像内の特徴を検出することができる。立体画像解析は、上記の
図5A~
図5Dに関連して説明したステップと同様の態様で行うことができる。例えば、処理ユニット110は、立体画像解析モジュール404を実行して、第1及び第2の複数の画像中の候補物体(例えば、車両、歩行者、路面標識、信号機、道路危険物、等)を検出し、様々な基準に基づいて候補物体の一部を除外し、マルチフレーム解析を行い、測定値を構築し、残りの候補物体の信頼水準を決定することができる。上記のステップを行う際に、処理ユニット110は、単独の1組の画像からの情報ではなく、第1の複数の画像と第2の複数の画像の両方からの情報を考慮することがある。例えば、処理ユニット110は、第1の複数の画像と第2の複数の画像の両方に現れる候補物体について、画素レベルデータ(又は、取り込んだ画像の2つのストリームの中からの他のデータサブセット)における差を解析することがある。別の例として、処理ユニット110は、複数の画像のうちの一方には現れるが他方には現れない物体を観察することによって、又は、2つの画像ストリームに現れる物体に関連して存在することがある他の相違点を基準として、(例えば、車両200に対する)候補物体の位置及び/又は速度を推定することがある。例えば、車両200に対する位置、速度、及び/又は加速度は、画像ストリームの一方又は両方に現れる物体に関連した特徴の軌跡、位置、動き特性等に基づいて決定することができる。
【0115】
[0143] ステップ630では、処理ユニット110は、ナビゲーション応答モジュール408を実行して、ステップ620で実施した解析及び
図4に関連して上述した技術に基づいて、車両200における1つ又は複数のナビゲーション応答を引き起こすことができる。ナビゲーション応答には、例えば方向転換、車線変更、加速度の変更、速度の変更、ブレーキなどが含まれることがある。実施形態によっては、処理ユニット110は、速度及び加速度モジュール406の実行により導出されたデータを使用して、1つ又は複数のナビゲーション応答を引き起こすことができる。更に、複数のナビゲーション応答が同時に、順番に、又はそれらの任意の組み合わせで発生することがある。
【0116】
[0144]
図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に伝送するための関連するデータインターフェースを有することがある。開示する実施形態は、どのような特定のデータインターフェース構成又はプロトコルにも限定されない。
【0117】
[0145] ステップ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の実行を介して)行うことがある。装置のそれぞれの位置及び視野202、204、及び206を含め画像取込装置122、124、及び126の構成は、第1、第2、及び第3の複数の画像に対して行われる解析の種類に影響を与えることがある。開示する実施形態は、画像取込装置122、124、及び126の特定の構成、又は第1、第2、及び第3の複数の画像に対して行われる解析の種類に限定はされない。
【0118】
[0146] 実施形態によっては、処理ユニット110は、ステップ710及び720で取得し解析した画像に基づいて、システム100に対して試験を行うことがある。そのような試験は、特定の構成の画像取込装置122、124、及び126のシステム100の全体的性能についての指標を提供することができる。例えば、処理ユニット110は、「誤ヒット」(例えば、システム100が車両又は歩行者の存在を誤って決定した場合)及び「見落とし」の割合を決定することができる。
【0119】
[0147] ステップ730では、処理ユニット110は、第1、第2、及び第3の複数の画像のうちの2つから導出された情報に基づいて、車両200における1つ又は複数のナビゲーション応答を引き起こすことができる。第1、第2、及び第3の複数の画像のうちの2つを選択することは、様々な要因、例えば、これら複数の画像の各々において検出された物体の数、種類、及び大きさなどに依存することがある。処理ユニット110はまた、画質及び解像度、画像に反映された有効視野、取り込んだフレームの数、1つ又は複数の関心対象の物体がフレーム中に実際に現れる程度(例えば、物体が現れるフレームの百分率、そのようなフレームの各々に現れる物体の割合、等)などに基づいて、選択を行うこともある。
【0120】
[0148] 実施形態によっては、処理ユニット110は、1つの画像源から導出された情報が他の画像源から導出された情報と一致する程度を決定することにより、第1、第2、及び第3の複数の画像のうちの2つから導出される情報を選択することがある。例えば、処理ユニット110は、画像取込装置122、124、及び126のそれぞれから導出された処理済情報(単眼解析、立体解析、又はそれら2つの任意の組み合わせによるかどうかに関わらず)を合成し、画像取込装置122、124、及び126のそれぞれから取り込まれた画像にまたがって一貫している視覚的表示(例えば、車線区分線、検出された車両及びその位置及び/又は経路、検出された信号機、等)を判断することができる。処理ユニット110はまた、取り込まれた画像にまたがって一貫性のない情報(例えば、車線を変更している車両、車両200に近すぎる車両を示す車線モデル、等)を除外することもできる。従って、処理ユニット110は、一貫性のある情報及び一貫性のない情報の決定に基づいて、第1、第2、及び第3の複数の画像のうちの2つから導出される情報を選択することができる。
【0121】
[0149] ナビゲーション応答には、例えば方向転換、車線変更、加速度の変更などが含まれることがある。処理ユニット110は、ステップ720で行った解析及び
図4に関連して上述したような技術に基づいて、1つ又は複数のナビゲーション応答を引き起こすことができる。処理ユニット110は、速度及び加速度モジュール406の実行により導出されたデータを使用して、1つ又は複数のナビゲーション応答を引き起こすこともできる。実施形態によっては、処理ユニット110は、車両200と、第1、第2、及び第3の複数の画像のうちのいずれかの中で検出された物体との間の相対位置、相対速度、及び/又は相対加速度に基づいて、1つ又は複数のナビゲーション応答を引き起こすことがある。複数のナビゲーション応答が同時に、順番に、又はそれらの任意の組み合わせで発生することがある。
【0122】
[0150]検出された障壁に基づく車両のナビゲーション
[0151] 開示する実施形態と合致して、このシステムは、画像取込装置によって取り込まれた画像から検出された少なくとも1つの障壁に基づいて、車両のナビゲーション経路を決定することができる。このシステムは、通過可能な障壁(例えば、縁石、車線区分線、又は道路の縁、等)と通過不可能な障壁(例えば、コンクリートの障壁、車線分割構造体、他の車両、トンネルの壁、又は橋梁構造、等)とを区別することができる。車両の前方に障害物(例えば、歩行者、動物、がれき、又は他の道路特徴以外の物体)が現れたときなどの緊急事態では、このシステムは事故を回避するために、通過可能な障壁を通って走行するナビゲーション経路を決定することがある。
【0123】
[0152] 更に、このシステムは、移動可能な障壁(例えば、他の車両、トラフィックコーン、等)と固定された障壁(例えば、道路の縁、縁石、車線分割構造体、トンネルの壁、又は橋梁構造、等)とを区別することもできる。このシステムは、固定障壁の位置を決定し、固定障壁の決定した位置に基づく自律走行車両ナビゲーションのために地図に対する更新データを遠隔サーバに送信することができる。
【0124】
[0153]
図8は、開示される実施形態と合致した、車両用のナビゲーションシステムを示す。説明のために、車両は車両800として参照される。
図8に示す車両は、例えば他の実施形態で示した車両200を含む、本明細書に開示する任意の他の車両であり得る。
図8に示すように、車両800は遠隔サーバ850と通信することができる。車両800は、少なくとも1つの画像取込装置(例えば、カメラ812及び814)を含むことがある。車両800は、道路を走行するためのナビゲーション案内を車両800に提供するように構成されたナビゲーションシステム820を含むことがある。車両800は自律走行車両であることがあり、ナビゲーションシステム820は、自律運転のためのナビゲーション案内を提供するために使用されることがある。或いは、他の実施形態では、車両800は非自律型の、人間が制御する車両であることもあり、ナビゲーションシステム820は、ナビゲーション案内を提供するために依然として使用されることがある。
【0125】
[0154] ナビゲーションシステム820は、通信経路860を介してサーバ850と通信するように構成された通信ユニット822を含むことがある。ナビゲーションシステム820は、全地球測位システム(GPS)信号を受信し処理するように構成されたGPSユニット824を含むことがある。ナビゲーションシステム820は、GPS信号、カメラ812及び814によって取り込まれた画像、及び/又はサーバ850からの地図データ、などのデータを処理するように構成された少なくとも1つのプロセッサ826を含むことがある。ナビゲーションシステム820はメモリ828を含むことがあり、メモリ828は様々なモジュールを記憶することができ、これらのモジュールは、プロセッサ826によって実行されるとプロセッサに実施形態に合致する様々な方法828を実行させることができる。
【0126】
[0155] 遠隔サーバ850は、車両800と通信する遠隔サーバ850に設けられた記憶装置852(例えば、コンピュータ可読媒体)を含むことがある。遠隔サーバ850は、地図データベース854を記憶装置852に記憶することができる。地図データベース854は、特定の領域の地図を含むことがある。車両800は、遠隔サーバ850と通信して地図データベース854に含まれるデータを受信することができる。車両800は、遠隔サーバ850と通信して地図データベース854内の地図データの更新データを送信することもできる。
【0127】
[0156]
図9は、開示する実施形態と合致した、メモリ900の一例を示す。メモリ900は、車両800のナビゲーションシステム820に含まれるメモリ828であり得る。メモリ900は、様々なモジュールを含むことがあり、これらのモジュールはプロセッサ(例えば、プロセッサ826)によって実行されると、プロセッサに様々な方法を実行させることができる。
【0128】
[0157] 例えば、メモリ900はナビゲーション領域決定モジュール910を含むことがある。ナビゲーション領域決定モジュール910は、プロセッサによって実行されると、プロセッサに画像取込装置(例えば、カメラ812及び814のうちの一方)から受け取った複数の画像のうちの少なくとも1つを解析させて、車両(例えば、車両800)の周辺環境における走行可能領域を特定させることができる。
【0129】
[0158] メモリ900はまた、障壁識別モジュール920を含むこともある。障壁識別モジュール920は、プロセッサに、画像取込装置から受け取った複数の画像のうちの少なくとも1つを解析させ、その複数の画像のうちの少なくとも1つに基づいて、走行可能領域の縁に関連した少なくとも1つの障壁を識別させることができる。少なくとも1つの障壁には、縁石、車線区分線、道路の縁、コンクリートの障壁、車線分割構造体、トンネルの壁、橋梁構造、等が含まれることがある。障壁には、物理的な物体(例えば、障壁)又は路面標識、又は特定の縁を越えた領域が走行可能領域の外側であることを示す任意の他のしるし、が含まれることがある。一例では、特定の物理的な物体又は路面標識は、特定の状況下では又は特定の車両に対しては、道路障壁として分類されることがあり、同じ物理的な物体又は路面標識は、他の車両に対しては又は異なる状況下では、「非障壁」とみなされることがある。そのような動的に切り換わる障壁の一例としては、車線割り当て標識があり、これは、一日のうちの特定の時間帯は車線をある方向に走行する交通に割り当て、その日の異なる時間帯にはその車線を反対方向に走行する交通に割り当てる。車線区分線は、時間帯及び車両の進行方向に応じて、障壁(車両がその車線に進入するのを妨げる)であることも、又は通常の車線区分線であることもあり得る。別の例では、車線区分線は、特定の人数未満の乗員が走行している車両にとっては障壁であることがあり、同時に、同じ車線区分線は、特定の人数以上が乗っている車両、又は公共交通機関に対しては、通常の車線区分線であることがある。
【0130】
[0159] 障壁識別モジュール920はまた、プロセッサに、少なくとも1つの障壁の種類を判定させることもできる。障壁の種類は、通過可能か又は通過不可能かであり得る。通過可能な障壁には、車両、障壁、又は、障壁の近くにあり障壁の反対側に位置する任意の他の物体、に実質的な損傷を引き起こすことなく、車両が通過することができる障壁が含まれることがある。通過可能な障壁の例としては、縁石、車線区分線、道路の縁、等が挙げられる。通過不可能な障壁には、車両が通過することができない障壁、即ち、車両、障壁、又は障壁の近くにある任意の他の物体に大きな損傷を引き起こすことがあり得る障壁、が含まれることがある。通過不可能な障壁の例としては、コンクリートの障壁、車線分割構造体、他の車両、トンネルの壁、又は橋梁構造、等が挙げられる。
【0131】
[0160] 障壁識別モジュール920はまた、特に少なくとも1つの障壁が通過可能な障壁である場合に、その少なくとも1つの障壁の向こう側の領域を分類するように適合されることもある。例えば、浅い歩道縁石(これは通過可能であるとみなすことができる)の向こう側に歩行者が検出された場合、障壁識別モジュール920は、少なくとも1つの障壁の向こう側の領域を、危険である、又は潜在的に歩行者を含む領域として、分類することがある。
【0132】
[0161] 実施形態によっては、障壁の種類は、移動可能であるか又は固定されているかであり得る。移動可能な障壁は、位置が変化し固定されていない障壁を含むことがある。移動可能な障壁の例としては、他の車両、トラフィックコーン、倒木、又は上述した動的に移動する障壁、等が挙げられる。固定された障壁は、道路又は道路環境の一部である障壁を含むことがある。固定された障壁の例としては、道路の縁、縁石、車線分割構造体、トンネルの壁、又は橋梁構造が挙げられる。
【0133】
[0162] メモリ900はまた、障害物識別モジュール930を含むこともある。障害物識別モジュール930は、プロセッサに、画像取込装置から受け取った複数の画像のうちの少なくとも1つを解析させ、その複数の画像のうちの少なくとも1つの解析に基づいて、車両の前方にある障害物を識別させることができる。障害物は、道路特徴以外の物体、即ち、道路に属していない物体であり得る。例えば、障害物は歩行者、動物、がれき(例えば、木、街灯柱、等)であり得る。障害物は、車両の前方でかつ車両の近くの位置にあることがある。障害物は、以前に決定された車両のナビゲーション経路内に位置することがあり、その結果、車両がそのナビゲーション経路から離れるように操舵しないと、車両はその障害物と衝突して交通事故を引き起こす可能性がある。幾つかの他の例では、障害物識別モジュール930は、プロセッサに、レーダー又はライダーからの情報を解析させて、車両の前方にある障害物を識別させることがある。
【0134】
[0163] メモリ900は、ナビゲーション経路決定モジュール940を更に含むことがある。ナビゲーション経路決定モジュール940は、少なくとも1つの障壁の種類に基づいて、プロセッサに車両のナビゲーション経路を決定させることができる。例えば、プロセッサは、目的地の位置、車両の現在位置を解析し、車両を目的地まで導くナビゲーション経路を決定することができる。ナビゲーション経路は、通過可能又は通過不可能な障壁によって部分的に囲まれる走行可能領域内に配置されることがある。プロセッサが車両の前方でかつ車両の近くにある障害物を識別すると、プロセッサはナビゲーション経路を決定して識別した障害物を回避することができる。識別した障害物が回避不可能である場合、プロセッサは通過可能な障壁を通過するようにナビゲーション経路を決定することがある。別の例では、識別した障害物が回避不可能である場合、プロセッサは、障壁の向こう側の領域に関連したセンサデータを処理して、通過可能な障壁を横切るのが安全か否かを判断することができ、また、通過可能な障壁の向こう側の領域を少なくとも含む安全な経路又は更には最も安全な経路を計算することも可能である。
【0135】
[0164] メモリ900は、地図更新モジュール950を更に含むことがある。地図更新モジュール950は、決定した障壁の種類に基づいて、地図(例えば、地図データベース854)に対する更新データを遠隔サーバ(例えば、遠隔サーバ850)に送信するかどうかをプロセッサに決定させることができる。決定した障壁の種類が移動可能である場合、プロセッサは更新データを送信しないと決定することがある。そうではなく、決定した障壁の種類が固定である場合、プロセッサは、遠隔のプロセッサに、その固定の障壁に関連した地図更新データを送信するように決定することがある。地図更新データは、固定の障壁の位置、形状、大きさ、及び/又は識別子を含むことがあり、かつ、その障壁の向こう側の領域に関するデータ(例えば、歩行者などの危険物が障壁の向こう側の領域に識別されたかどうか)も場合によっては含むことがある。
【0136】
[0165]
図10Aは、開示される実施形態と合致した、例示的な車両1010の周辺環境1000の鳥瞰図を概略的に示す。例示的な車両1010は、例えば、
図8を参照して上述した車両800であることがあり、車両800のナビゲーションシステム820などのナビゲーションシステムを含むことがある。
【0137】
[0166]
図10Aに示すように、車両1010の周辺環境1000は、コンクリートの障壁1022及び縁石1024によって画定される道路領域1020、並びに縁石1024及びコンクリートの障壁1026によって画定される非道路領域1030を含む。道路領域1020は、車線区分線1028によって分割された左車線1020A及び右車線1020Bを含む。車両1010は、右車線1020Bを走行している。別の車両(例えば、トラック)1015が、車両1010の前方の右車線1020Bを走行している。複数の車両1011、1012、1013、及び1014が、左車線1020Aを走行している。歩行者1018が、右車線1020Bを歩いている。
【0138】
[0167]
図10Bは、例示的な車両1010上の前方を向いている画像取込装置によって取り込まれた、周辺環境1000の画像1040を概略的に示す。前方を向いている画像取込装置は、例えば、車両800のカメラ812及び814のうちの1つであり得る。プロセッサ(例えば、車両800のナビゲーションシステム820に含まれるプロセッサ826)は、画像1040を解析して、縁1060を有する走行可能領域1050を決定することができる。縁1060は、車両1010(即ち、画像1040の観察者)に近い車両1011~1014の側部、車両1015の後側、及び縁石1024に沿って配置されることがある。縁1060の少なくとも一部に関連した障壁(例えば、車両1011~1015及び縁石1024)を使用して、車両1010のナビゲーション経路1070を決定することができる。
【0139】
[0168]
図11は、開示する実施形態と合致した、検出された障壁に基づいて車両を操縦するための例示的な処理1100を示す流れ図である。処理1100は、車両(例えば、車両800)に搭載されたプロセッサ(例えば、プロセッサ826)によって行われることがある。処理1100は、前方を向いている画像取込装置(例えば、カメラ812及び814のうちの一方)によって取得された少なくとも1つの画像を解析して、車両のナビゲーション経路を決定することができる。
【0140】
[0169] ステップ1110では、プロセッサ826は、画像取込装置から、車両800の周辺環境に関連した複数の画像を受け取ることができる。
図10Bに示した画像1040は、車両800上の画像取込装置(例えば、カメラ812及び814のうちの一方)から受け取ることができる、車両800の周辺環境1000の画像の一例である。実施形態によっては、複数の画像は、画像取込装置によって、異なる時間に取り込まれることがある(例えば、画像は、1秒未満、1秒、2秒等だけ間隔をあけて取り込まれることがある)。実施形態によっては、車両800は、複数の画像取込装置(例えば、カメラ812及び814)を含むことがあり、プロセッサ826は、各画像取込装置から、車両800の周辺環境1000に関連した複数の画像を受け取ることがある。各画像取込装置から受け取った複数の画像は、各画像取込装置によって異なる時間に取り込まれた画像であり得る。
【0141】
[0170] ステップ1120では、プロセッサ826は、画像取込装置から受け取った複数の画像のうちの少なくとも1つを解析することができる。複数の画像取込装置から受け取った画像に基づいて、単一の複数画像が生成される実施形態では、プロセッサ826は、この単一の複数画像のうちの少なくとも1つの画像を解析することがある。或いは、各画像取込装置から受け取った各画像を、個別に解析することがある。
【0142】
[0171] プロセッサ826は、複数の画像のうちの少なくとも1つの解析に基づいて、車両800の周辺環境における走行可能領域を識別することもできる。例えば、プロセッサ826は、画像1040に基づいて、縁1060を有する走行可能領域1050を識別することができる。
【0143】
[0172] 一実施形態では、プロセッサ826は、畳み込みニューラルネットワーク(CNN)を使用することにより走行可能領域を決定することがある。例えば、プロセッサ826は、自由空間画素及び非自由空間画素として手動でラベル付けされた複数の訓練用画像を使用することにより、訓練されることがある。訓練の結果として、プロセッサ826は、画像1040内の画素を、自由空間画素及び非自由空間画素としてラベル付けすることができる。次いで、プロセッサ826は、自由空間画素と非自由空間画素との間の境界を決定することができる。プロセッサ826は、その境界によって囲まれた又は部分的に囲まれた領域を走行可能領域として識別することができる。
【0144】
[0173] ステップ1130では、プロセッサ826は、走行可能領域の縁に関連した少なくとも1つの障壁を識別することができる。少なくとも1つの障壁には、縁石、車線区分線、道路の縁、コンクリートの障壁、車線分割構造体、トンネルの壁、又は橋梁構造、等が含まれることがある。例えば、プロセッサ826は、車両1011~1015及び縁石1024を、走行可能領域1050の縁1060と関連する障壁として、識別することができる。
【0145】
[0174] 一実施形態では、メモリ(例えば、メモリ828)は、様々な障壁の複数の訓練用画像を記憶することができる。プロセッサ826は、画像1040を複数の訓練用画像と比較して、訓練用画像中の障壁の特徴と一致する少なくとも1つの特徴(例えば、形状、色、等)を有する画像1040中の物体を識別することができる。プロセッサ826は、識別した物体を障壁として判断することができる。
【0146】
[0175] 実施形態によっては、訓練用画像中の各障壁は、障壁識別子と関連付けられていることがある。障壁識別子の例としては、「車両」、「車線区分線」、「道路の縁」、「コンクリートの障壁」、「車線分割構造体」、「トンネルの壁」、又は「橋梁構造」、等が挙げられる。プロセッサ826が訓練用画像中の障壁と一致する物体を識別すると、プロセッサ826は、識別した物体を、一致した障壁に関連付けられた障壁識別子でラベル付けすることができる。
【0147】
[0176] ステップ1140では、プロセッサ826は、ステップ1130で識別した少なくとも1つの障壁の種類を決定することができる。障壁の種類は、通過可能か又は通過不可能かであり得る。通過可能な障壁の例としては、縁石、車線区分線、又は道路の縁、等が挙げられる。通過不可能な障壁の例としては、コンクリートの障壁、車線分割構造体、他の車両、トンネルの壁、又は橋梁構造、等が挙げられる。
図10Bに示す画像1040では、プロセッサ826は、車両1011~1015を通過不可能な障壁として識別することがあり、縁石1024を通過可能な障壁として識別することがある。障壁の種類は、移動可能であるか又は固定されているかでもあり得る。移動可能な障壁の例としては、他の車両、トラフィックコーン、倒木、等が挙げられる。固定された障壁の例としては、道路の縁、縁石、車線分割構造体、トンネルの壁、又は橋梁構造が挙げられる。
図10Bに示す画像1040では、プロセッサ826は、車両1011~1015を移動可能な障壁として識別することがあり、縁石1024を固定された障壁として識別することがある。
【0148】
[0177] 一実施形態では、メモリ(例えば、車両800のメモリ828)は、各々が1つ又は複数の障壁種類に対応する複数の障壁識別子を含むデータベースを記憶することがある。プロセッサ826が、画像中の障壁を識別し、その障壁を障壁識別子でラベル付けすると、プロセッサ826は、データベースを参照して、その障壁識別子に対応する1つ又は複数の障壁種類を特定することができる。特定された障壁種類は、画像中で識別された障壁の障壁種類として、プロセッサ825によってみなされることがある。
【0149】
[0178] 障壁種類を決定するための別の実施形態では、プロセッサ826は、自由空間画素、非自由空間画素、及び様々な障壁にそれぞれ対応する様々な種類の障壁画素として手動でラベル付けされた複数の訓練用画像によって、訓練されることがある。これらの訓練用画像を使用することによる訓練の結果として、プロセッサ826は、画像1040内の画素を、自由空間画素、非自由空間画素、及び様々な種類の障壁画素としてラベル付けすることができる。プロセッサ826を訓練するために、ライダー、レーダー、又は超音波センサなどの他の種類のセンサによって生成されたシグネチャを使用することもでき、訓練されたプロセッサ826は、対応する感知ユニットからの入力に基づいて、自由空間画素、非自由空間画素、及び様々な種類の障壁画素をラベル付けすることができるようになる。異なる種類のセンサからのデータを融合することができ、異なる種類のセンサからの入力に基づいて、自由空間画素、非自由空間画素、及び様々な種類の障壁画素をラベル付けするようにセンサ826を構成することができる。
【0150】
[0179] ステップ1150では、プロセッサ826は、少なくとも1つの画像の解析に基づいて、車両800の前方にある障害物を識別することができる。障害物は、道路特徴以外の物体、即ち、道路に属していない物体であり得る。障害物は、車両の前方でかつ車両の近くの位置にあることがある。例えば、障害物は歩行者、動物、落下物(例えば、木、街灯柱、等)であり得る。画像1040では、プロセッサ826は、歩行者1018を障害物として識別することがある。
【0151】
[0180] 一実施形態では、メモリ(例えば、メモリ828)は、様々な障害物の複数の訓練用画像を記憶することができる。プロセッサ826は、画像1040を複数の訓練用画像と比較して、訓練用画像中の障害物の特徴と一致する少なくとも1つの特徴(例えば、形状、色、等)を有する画像1040中の物体を識別することができる。プロセッサ826は、識別した物体を障害物として判断することができる。或いは、様々な障害物の複数の訓練用画像を使用して、例えばニューラルネットワーク又はディープニューラルネットワークなどの訓練されたシステムを生成することができ、この訓練されたシステムをプロセッサ826が使用して、画像1040中の障害物を検出するか、又は画像1040中の物体が障害物であるかどうか、また場合によっては、それがどのような種類の障害物であるかも判断することができる。
【0152】
[0181] プロセッサ826は、少なくとも1つの画像の解析に基づいて、車両に対する障害物の位置を決定することもできる。例えば、プロセッサ826は、障害物が画像1040に現れたときの障害物の大きさ、その種類の障害物の典型的な大きさ、及び/又は障害物と道路沿いの障壁との相対位置、に基づいて、障害物の位置を決定することができる。
【0153】
[0182] プロセッサ826は、障害物の位置に基づいて、障害物が以前に決定された車両のナビゲーション経路内に位置するのかどうか、また、以前に決定されたナビゲーション経路から離れるように車両を操舵しないと、車両が障害物と衝突して交通事故を引き起こし得るのかどうか、を更に判断することができる。
図10Bの例では、歩行者1018は以前に決定されたナビゲーション経路1080に位置し、歩行者1018と車両1010との間の距離は閾値距離よりも短く、その結果、車両1010を以前に決定されたナビゲーション経路1080から離れるように操舵しないと、車両1010は歩行者をはねてしまう可能性がある。
【0154】
[0183] ステップ1160では、プロセッサ826は、識別した障害物及び決定した障害物の種類に基づいて、車両のナビゲーション経路を決定することができる。例えば、プロセッサ826は、障害物を回避するために走行可能領域を通るナビゲーション経路を決定することができる。そのようなナビゲーション経路が走行可能領域を通じて利用可能ではない場合、プロセッサ826は、走行可能領域の縁に関連した障壁の種類を解析することがある。障壁が通過可能である場合、プロセッサ826は、その通過可能な障壁を通過するようにナビゲーション経路を決定することができる。
図10Bの例では、プロセッサ826は、歩行者1018を回避するために、通過可能な障壁である縁石1024を超えて走行する新たなナビゲーション経路1070を決定することができる。
【0155】
[0184] ステップ1170では、プロセッサ826は、車両が、決定されたナビゲーション経路の少なくとも一部の上を走行するようにすることができる。実施形態によっては、プロセッサ826は、車両800における1つ又は複数のナビゲーション応答を引き起こして、決定されたナビゲーション経路に沿って走行させることができる。ナビゲーション応答には、例えば方向転換、車線変更、加速度の変更などが含まれることがある。更に、複数のナビゲーション応答が同時に、順番に、又はそれらの任意の組み合わせで発生して、決定されたナビゲーション経路に沿って走行させることがある。例えば、プロセッサ826は、例えば操舵システム(例えば、操舵システム240)及びスロットルシステム(例えば、スロットルシステム220)に制御信号を順次送信することにより、車両800を横方向に移動させて、その後加速させることができる。或いは、プロセッサ826は、例えばブレーキシステム(例えば、ブレーキシステム230)及び操舵システム(例えば、操舵システム240)に制御信号を同時に送信して、車両800にブレーキをかけさせ、同時に横方向に移動させることができる。
【0156】
[0185]
図12は、開示される実施形態と合致した例示的な処理1200を示す流れ図である。処理1200は、車両(例えば、車両800)に搭載されたプロセッサ(例えば、プロセッサ826)によって行われることがある。処理1100は、前方を向いている画像取込装置(例えば、カメラ812及び814のうちの一方)によって取得された少なくとも1つの画像を解析して、地図を更新するための情報を取得することができる。
【0157】
[0186] ステップ1210では、プロセッサ826は、画像取込装置から、車両800の周辺環境に関連した複数の画像を受け取ることができる。ステップ1220では、プロセッサ826は、画像取込装置から受け取った複数の画像のうちの少なくとも1つを解析して、車両800の周辺環境における走行可能領域を識別することができる。ステップ1230では、プロセッサ826は、走行可能領域の縁に関連した少なくとも1つの障壁を識別することができる。ステップ1240では、プロセッサ826は、その少なくとも1つの障壁の種類を決定することができる。ステップ1210~1240は、処理1100のステップ1110~1140と実質的に同じである。従って、ステップ1210~1240の詳細な説明はここでは繰り返さない。
【0158】
[0187] 少なくとも1つの障壁の種類を決定した後、プロセッサ826は、決定した障壁の種類に基づく自律走行車両ナビゲーションのために、地図データベース(例えば、地図データベース854)内の地図に対する更新データを遠隔サーバ(例えば、サーバ850)に送信することができる。具体的には、ステップ1250で、プロセッサ826は、障壁が固定されているかどうかを判断することがある。上述のように、固定された障壁は、道路又は道路環境の一部である障壁を含むことがある。固定された障壁の例としては、道路の縁、縁石、車線分割構造体、トンネルの壁、又は橋梁構造が挙げられる。
図10Bの例では、プロセッサ826は縁石1024を固定された障壁として判断することができる。
【0159】
[0188] 障壁が固定されている(ステップ1250:はい)である場合、ステップ1260で、プロセッサ826は、固定された障壁に関連する地図に対する更新データ(即ち、地図更新データ)を遠隔サーバに送信することができる。地図更新データには、固定された障壁の障壁識別子、障壁の種類、及び位置が含まれることがある。
【0160】
[0189] 例えば、プロセッサ826は、固定された障壁の位置を決定するために以下の方法を使用することがある。まず、プロセッサ826は、GPSユニット(例えば、GPSユニット824)によって受信したGPSデータに基づいて、車両800の位置を取得することができる。プロセッサ826は、少なくとも1つの画像を解析して、車両800に対する固定された障壁の相対位置を決定することもできる。次いで、プロセッサ826は、車両800の位置、及び車両800に対する固定された障壁の相対位置に基づいて、固定された障壁の位置を決定することができる。
【0161】
[0190] 障壁が移動可能である(ステップ1250:いいえ)場合、プロセッサ826は地図を更新しないと決定することができる。その代わり、プロセッサ826は処理1200を終了することができる。一旦地図が更新されると、自律型ナビゲーションのために、車両800の又は他の車両のナビゲーションシステムがその地図を使用することができる。
【0162】
[0191]
図13は、開示する実施形態と合致した、検出された障壁に基づいて車両を操縦するための例示的な処理1300を示す流れ図である。処理1300は、車両(例えば、車両800)に搭載されたプロセッサ(例えば、プロセッサ826)によって行われることがある。処理1300は、前方を向いている画像取込装置(例えば、カメラ812及び814のうちの一方)によって取得された少なくとも1つの画像を解析して、車両のナビゲーション経路を決定することができる。
【0163】
[0192] ステップ1310では、プロセッサ826は、画像取込装置から、車両800の周辺環境に関連した複数の画像を受け取ることができる。ステップ1320では、プロセッサ826は、画像取込装置から受け取った複数の画像のうちの少なくとも1つを解析することができる。ステップ1310及び1320は、処理1100のステップ1110及び1120と実質的に同じである。従って、ステップ1310及び1320の詳細な説明はここでは繰り返さない。
【0164】
[0193] ステップ1330では、プロセッサ826は、走行可能領域の縁の第1の部分に関連した第1の障壁、及び走行可能領域の縁の第2の部分に関連した第2の障壁を識別することができる。第1の障壁は、道路の縁又は縁石であり得る。第2の障壁は、車線分割構造体、別の車両、トンネルの壁、又は橋梁構造であり得る。
図10Bの例では、プロセッサ826は、走行可能領域1050の縁1060の右側の部分に関連した縁石1024を第1の障壁として識別することがある。プロセッサ826は、縁1060の前方側の部分に関連した車両1015を第2の障壁として識別することができる。
【0165】
[0194] ステップ1340では、プロセッサ826は、第1の障壁の種類及び第2の障壁の種類を決定することができる。
図10Bの例では、プロセッサ826は、縁石1024を通過可能な障壁として、また車両1015を通過不可能な障壁として識別することがある。
【0166】
[0195] ステップ1350では、プロセッサ826は、第1の障壁の種類及び第2の障壁の種類に基づいて、車両のナビゲーション経路を決定することができる。
図10Bの例では、プロセッサ826は、通過不可能である車両1015を回避するために、通過可能である縁石1024を超えて走行するナビゲーション経路1070を決定することがある。
【0167】
[0196] ステップ1360では、プロセッサ826は、車両が、決定されたナビゲーション経路の少なくとも一部の上を走行するようにすることができる。
図10Bの例では、プロセッサ826は、車両1010が、ナビゲーション経路1070の少なくとも一部の上を走行するようにすることができる。
【0168】
[0197] 前述の説明は、説明目的で提示したものである。前述の説明は網羅的なものではなく、開示されたのと寸分たがわない形式又は実施形態に限定されるものではない。本明細書の考察及び開示した実施形態の実施により、当業者には修正例及び適合例が明らかであろう。更に、開示される実施形態の態様はメモリに記憶されるものとして説明されているが、当業者であれば、これらの態様は、二次記憶装置、例えばハードディスク若しくはCD ROM、又は他の形式のRAM若しくはROM、USBメディア、DVD、ブルーレイ(登録商標)、4K Ultra HDブルーレイ、又は他の光学式ドライブメディア、などの他の種類のコンピュータ可読媒体に記憶することもできることを理解するであろう。
【0169】
[0198] 記載した説明及び開示した方法に基づくコンピュータプログラムは、経験豊かな開発者の技量の範囲内である。様々なプログラム又はプログラムモジュールを、当業者に知られている技術のいずれかを使用して生成することができ、又は、既存のソフトウェアに関連して設計することができる。例えば、プログラムセクション又はプログラムモジュールを、.Net Framework、.Net Compact Framework(及び、Visual Basic(登録商標)、C等の関連する言語)、Java(登録商標)、C++、Objective-C、HTML、HTML/AJAXの組み合わせ、XML、又はJavaアプレットを含むHTMLで、又はそれらを使って、設計することができる。
【0170】
[0199] 更に、本明細書では例示的な実施形態を説明したが、等価な要素、修正例、省略例、組み合わせ例(例えば、様々な実施形態にまたがる態様の組み合わせ例)、適合例、及び/又は変更例を有するあらゆる実施形態の範囲が、本開示に基づいて当業者によって理解されるであろう。特許請求の範囲における限定は、特許請求の範囲において用いられている言葉に基づいて広く解釈されるべきであり、本明細書に記載した例又は本出願の審査中に説明される例に限定はされない。それらの例は、排他的ではないものとして解釈されるべきである。更に、開示した方法のステップは、ステップを並べ替えること及び/又はステップを挿入若しくは削除することを含めて、任意の態様で修正することができる。従って、本明細書及び例は例示に過ぎないとみなされ、真の範囲及び趣旨は、以降の特許請求の範囲及びそれらの均等物の全範囲によって示されることが、意図されている。
[項目1]
車両を操縦するためのシステムであって、
少なくとも1つの処理装置であって、
画像取込装置から、上記車両の周辺環境に関連した複数の画像を受け取ることと、
上記複数の画像のうちの少なくとも1つを解析して、上記車両の上記周辺環境における走行可能領域を識別することと、
上記複数の画像のうちの上記少なくとも1つに基づいて、上記走行可能領域の縁に関連した少なくとも1つの障壁を識別することと、
上記少なくとも1つの障壁の種類を決定することと、
上記少なくとも1つの障壁の上記決定された種類に基づいて、上記車両のナビゲーション経路を決定することと、
上記車両に上記決定されたナビゲーション経路の少なくとも一部の上を走行させることと、を行うようにプログラムされた少なくとも1つの処理装置、を含むシステム。
[項目2]
上記少なくとも1つの処理装置は、上記複数の画像のうちの少なくとも1つの解析に基づいて、上記車両の前方にある障害物を識別するように更にプログラムされ、上記車両の上記決定されたナビゲーション経路は、上記識別された障害物を回避する、項目1に記載のシステム。
[項目3]
上記障害物は歩行者を含む、項目2に記載のシステム。
[項目4]
上記障害物は別の車両を含む、項目2に記載のシステム。
[項目5]
上記障壁の上記決定された種類は、通過可能な障壁を含み、上記決定されたナビゲーション経路は、上記通過可能な障壁の少なくとも一部を通って走行することを含む、項目2に記載のシステム。
[項目6]
上記通過可能な障壁は、縁石又は車線区分線を含む、項目5に記載のシステム。
[項目7]
上記少なくとも1つの処理装置は、上記障壁の上記決定された種類に基づいて、自律走行車両ナビゲーションのための地図に対する更新データを遠隔サーバに送信するかどうかを決定するように更にプログラムされる、項目1に記載のシステム。
[項目8]
上記障壁の上記決定された種類は、固定された障壁を含み、上記少なくとも1つの処理装置は、上記固定された障壁の位置を上記遠隔サーバに送信するように更にプログラムされる、項目7に記載のシステム。
[項目9]
上記固定された障壁は、道路の縁、縁石、車線分割構造体、トンネルの壁、又は橋梁構造のうちの少なくとも1つを含む、項目8に記載のシステム。
[項目10]
車両を操縦するためのシステムであって、
少なくとも1つの処理装置であって、
画像取込装置から、上記車両の周辺環境に関連した複数の画像を受け取ることと、
上記複数の画像のうちの少なくとも1つを解析して、上記車両の上記周辺環境における走行可能領域を識別することと、
上記複数の画像のうちの上記少なくとも1つに基づいて、上記走行可能領域の少なくとも1つの縁に関連した第1の障壁、及び上記走行可能領域の少なくとも1つの縁に関連した第2の障壁を識別することと、
上記第1の障壁の種類及び上記第2の障壁の種類を決定することであって、上記第1の障壁の上記決定された種類は、通過可能な障壁を含み、上記第2の障壁の上記決定された種類は、通過不可能な障壁を含むことと、
上記第1の障壁及び上記第2の障壁の上記決定された種類に基づいて上記車両のナビゲーション経路を決定することであって、上記決定されたナビゲーション経路は、上記第2の障壁を回避するために上記第1の障壁を通って走行することを含むことと、
上記車両に上記決定されたナビゲーション経路の少なくとも一部の上を走行させることと、を行うようにプログラムされた少なくとも1つの処理装置、を含むシステム。
[項目11]
上記第1の障壁は、道路の縁又は縁石を含む、項目10に記載のシステム。
[項目12]
上記第2の障壁は、車線分割構造体、別の車両、トンネルの壁、又は橋梁構造を含む、項目10に記載のシステム。
[項目13]
車両を操縦するための方法であって、
画像取込装置から、上記車両の周辺環境に関連した複数の画像を受け取ることと、
上記複数の画像のうちの少なくとも1つを解析して、上記車両の上記周辺環境における走行可能領域を識別することと、 上記複数の画像のうちの上記少なくとも1つに基づいて、上記走行可能領域の縁に関連した少なくとも1つの障壁を識別することと、
上記少なくとも1つの障壁の種類を決定することと、
上記少なくとも1つの障壁の上記決定された種類に基づいて、上記車両のナビゲーション経路を決定することと、
上記車両に上記決定されたナビゲーション経路の少なくとも一部の上を走行させることと、を含む方法。
[項目14]
上記複数の画像のうちの少なくとも1つの解析に基づいて、上記車両の前方にある障害物を識別することを更に含み、上記車両の上記決定されたナビゲーション経路は、上記識別された障害物を回避する、項目13に記載の方法。
[項目15]
上記障壁の上記検出された種類は、通過可能な障壁を含み、上記決定されたナビゲーション経路は、上記通過可能な障壁の少なくとも一部を通って走行することを含む、項目13に記載の方法。
[項目16]
上記障壁の上記検出された種類に基づいて、自律走行車両ナビゲーションのための地図に対する更新データを遠隔サーバに送信するかどうかを決定することを更に含む、項目13に記載の方法。
[項目17]
上記障壁の上記検出された種類は固定された障壁を含み、
上記方法は、上記固定された障壁の位置を上記遠隔サーバに送信することを更に含む、項目16に記載の方法。
[項目18]
車両を操縦するための方法であって、
画像取込装置から、上記車両の周辺環境に関連した複数の画像を受け取ることと、
上記複数の画像のうちの少なくとも1つを解析して、上記車両の上記周辺環境における走行可能領域を識別することと、
上記複数の画像のうちの上記少なくとも1つに基づいて、上記走行可能領域の少なくとも1つの縁に関連した第1の障壁、及び上記走行可能領域の少なくとも1つの縁に関連した第2の障壁を識別することと、
上記第1の障壁の種類及び上記第2の障壁の種類を決定することであって、上記第1の障壁の上記決定された種類は、通過可能な障壁を含み、上記第2の障壁の上記決定された種類は、通過不可能な障壁を含むことと、
上記第1の障壁及び上記第2の障壁の上記決定された種類に基づいて上記車両のナビゲーション経路を決定することであって、上記決定されたナビゲーション経路は、上記第2の障壁を回避するために上記第1の障壁を通って走行することを含むことと、
上記車両に上記決定されたナビゲーション経路の少なくとも一部の上を走行させることと、を含む方法。
[項目19]
上記第1の障壁は、道路の縁又は縁石を含む、項目18に記載の方法。
[項目20]
上記第2の障壁は、車線分割構造体、別の車両、トンネルの壁、又は橋梁構造を含む、項目18に記載の方法。