IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ モービルアイ ビジョン テクノロジーズ リミテッドの特許一覧

特開2023-130440自律走行に関する走行情報のフレームワークとバッチ調整との結合
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023130440
(43)【公開日】2023-09-20
(54)【発明の名称】自律走行に関する走行情報のフレームワークとバッチ調整との結合
(51)【国際特許分類】
   G08G 1/00 20060101AFI20230912BHJP
   G08G 1/09 20060101ALI20230912BHJP
   G16Y 10/40 20200101ALI20230912BHJP
   G16Y 20/20 20200101ALI20230912BHJP
   G16Y 40/30 20200101ALI20230912BHJP
【FI】
G08G1/00 D
G08G1/09 V
G16Y10/40
G16Y20/20
G16Y40/30
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023110526
(22)【出願日】2023-07-05
(62)【分割の表示】P 2019563446の分割
【原出願日】2018-06-14
(31)【優先権主張番号】62/519,471
(32)【優先日】2017-06-14
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/519,493
(32)【優先日】2017-06-14
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】515168961
【氏名又は名称】モービルアイ ビジョン テクノロジーズ リミテッド
【住所又は居所原語表記】P.O.B. 45157,13 HARTOM STREET, HAR HOTZVIM, JERUSALEM, 9777513 ISRAEL
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】シャシュア、アムノン
(72)【発明者】
【氏名】シャレヴ-シュワルツ、シャイ
(72)【発明者】
【氏名】シャンマ、シェイクド
(72)【発明者】
【氏名】グダリヤフ、ヨラム
(72)【発明者】
【氏名】スプリンガー、オフェル
(72)【発明者】
【氏名】グベルマン、ヤヘル
(57)【要約】      (修正有)
【課題】本開示は、車両を走行させるシステムおよび方法に関する。
【解決手段】一実装例において、少なくとも1つの処理デバイスは、第1のデータ源からの第1の出力と、第2のデータ源からの第2の出力とを受信し得、第1の出力における目標オブジェクトの表現を識別し得、目標オブジェクトの特性が少なくとも1つの走行制約を引き起こすかどうか判定し得、少なくとも1つの走行制約が目標オブジェクトの特性によって引き起こされない場合、第1の出力および第2の出力の組み合わせに基づいて目標オブジェクトの表現の識別を検証し、少なくとも1つの走行制約が目標オブジェクトの特性によって引き起こされる場合、第1の出力に基づいて目標オブジェクトの表現の識別を検証し、検証に応答して、車両への少なくとも1つの走行変化を生じさせる。
【選択図】図14
【特許請求の範囲】
【請求項1】
少なくとも1つの処理デバイスによって実行されると、サーバに、
複数の車両から走行情報を受信する手順であり、前記複数の車両からの前記走行情報は、共通道路セグメントに関連付けられる、手順と、
前記共通道路セグメントにローカルな座標系内で前記走行情報を調整する手順であり、前記ローカルな座標系は、前記複数の車両に含まれるイメージセンサによって取り込まれる複数のイメージに基づく座標系を含む、手順と、
前記調整された走行情報を前記共通道路セグメントに関連付けて格納する手順と、
前記調整された走行情報を、前記共通道路セグメントに沿って1又は複数の自律走行車両を自律的に走行させる際に使用するために、1又は複数の自律走行車両に分配する手順と、
を実行させる、プログラム。
【請求項2】
前記走行情報は、コンピュータネットワークを介して受信される、請求項1に記載のプログラム。
【請求項3】
前記走行情報は、グローバルポジショニングシステム(GPS)情報を含む、請求項1又は2に記載のプログラム。
【請求項4】
前記走行情報は、前記複数の車両に含まれる前記イメージセンサによって取り込まれるイメージに含まれる1又は複数のランドマークを含む、請求項1から3のいずれか一項に記載のプログラム。
【請求項5】
前記走行情報を調整することは、前記1又は複数のランドマークに基づく、請求項4に記載のプログラム。
【請求項6】
前記1又は複数のランドマークは、前記共通道路セグメントに沿った可視オブジェクトを含む、請求項4又は5に記載のプログラム。
【請求項7】
前記可視オブジェクトは、路面標示および道路標識のうち少なくとも1つを含む、請求項6に記載のプログラム。
【請求項8】
前記サーバに、
前記調整された走行情報をグローバルな座標のセットに外挿する手順と、
前記グローバルに調整された走行情報を前記共通道路セグメントに関連付けて格納する手順と、
をさらに実行させる、請求項1から7のいずれか一項に記載のプログラム。
【請求項9】
前記複数の車両は、特定の期間の最中に前記走行情報を取り込む、請求項1から8のいずれか一項に記載のプログラム。
【請求項10】
前記サーバに、
第2の複数の車両から追加走行情報を受信する手順であって、前記第2の複数の車両からの前記追加走行情報は、第2の期間の最中に取り込まれ、前記共通道路セグメントに関連付けられる、手順と、
前記共通道路セグメントにローカルな座標系内で前記追加走行情報を調整する手順であり、前記ローカルな座標系は、前記第2の複数の車両に含まれるイメージセンサによって取り込まれる複数のイメージに基づく座標系を含む、手順と、
前記調整された追加走行情報を、前記共通道路セグメントに関連付けて格納する手順と、
をさらに実行させる、請求項9に記載のプログラム。
【請求項11】
前記サーバに、
前記調整された走行情報及び前記調整された追加走行情報をグローバルな座標のセットに外挿する手順と、
前記グローバルに調整された走行情報及び追加走行情報を前記共通道路セグメントに関連付けて格納する手順と、
をさらに実行させる、請求項10に記載のプログラム。
【請求項12】
前記複数の車両は、ある回数の運転を介して前記走行情報を取り込み、運転の前記回数は、運転の回数の閾値を超えない、請求項1から11のいずれか一項に記載のプログラム。
【請求項13】
前記サーバに、
第2の複数の車両から追加走行情報を受信する手順であって、前記第2の複数の車両からの前記追加走行情報は、追加の運転を介して取り込まれ、前記共通道路セグメントに関連付けられる、手順と、
前記共通道路セグメントにローカルな座標系内で前記追加走行情報を調整する手順であり、前記ローカルな座標系は、前記第2の複数の車両に含まれるイメージセンサによって取り込まれる複数のイメージに基づく座標系を含む、手順と、
前記調整された追加走行情報を、前記共通道路セグメントに関連付けて格納する手順と、
をさらに実行させる、請求項12に記載のプログラム。
【請求項14】
前記サーバに、
前記調整された走行情報及び前記調整された追加走行情報をグローバルな座標のセットに外挿する手順と、
前記グローバルに調整された走行情報及び追加走行情報を前記共通道路セグメントに関連付けて格納する手順と、
をさらに実行させる、請求項13に記載のプログラム。
【請求項15】
複数の車両からの走行情報を調整するためのサーバであって、前記サーバは、
少なくとも1つの処理デバイスを備え、前記少なくとも1つの処理デバイスは、
前記複数の車両から前記走行情報を受信する手順であり、前記複数の車両からの前記走行情報は、共通道路セグメントに関連付けられる、手順と、
前記共通道路セグメントにローカルな座標系内で前記走行情報を調整する手順であり、前記ローカルな座標系は、前記複数の車両に含まれるイメージセンサによって取り込まれる複数のイメージに基づく座標系を含む、手順と、
前記調整された走行情報を前記共通道路セグメントに関連付けて格納する手順と、
前記調整された走行情報を、前記共通道路セグメントに沿って1又は複数の自律走行車両を自律的に走行させる際に使用するために、1又は複数の自律走行車両に分配する手順と、
を実行するようにプログラムされる、
サーバ。
【請求項16】
前記少なくとも1つの処理デバイスは、
前記調整された走行情報をグローバルな座標のセットに外挿する手順と、
前記グローバルに調整された走行情報を前記共通道路セグメントに関連付けて格納する手順と、
をさらに実行するようにプログラムされる、請求項15に記載のサーバ。
【請求項17】
前記複数の車両は、特定の期間の最中に前記走行情報を取り込み、前記少なくとも1つの処理デバイスは、
第2の複数の車両から追加走行情報を受信する手順であって、前記第2の複数の車両からの前記追加走行情報は、第2の期間の最中に取り込まれ、前記共通道路セグメントに関連付けられる、手順と、
前記共通道路セグメントにローカルな座標系内で前記追加走行情報を調整する手順であり、前記ローカルな座標系は、前記第2の複数の車両に含まれるイメージセンサによって取り込まれる複数のイメージに基づく座標系を含む、手順と、
前記調整された追加走行情報を、前記共通道路セグメントに関連付けて格納する手順と、
をさらに実行するようにプログラムされる、請求項15又は16に記載のサーバ。
【請求項18】
前記複数の車両は、ある回数の運転を介して前記走行情報を取り込み、運転の前記回数は、運転の回数の閾値を超えず、前記少なくとも1つの処理デバイスは、
第2の複数の車両から追加走行情報を受信する手順であって、前記第2の複数の車両からの前記追加走行情報は、追加の運転を介して取り込まれ、前記共通道路セグメントに関連付けられる、手順と、
前記共通道路セグメントにローカルな座標系内で前記追加走行情報を調整する手順であり、前記ローカルな座標系は、前記第2の複数の車両に含まれるイメージセンサによって取り込まれる複数のイメージに基づく座標系を含む、手順と、
前記調整された追加走行情報を、前記共通道路セグメントに関連付けて格納する手順と、
をさらに実行するようにプログラムされる、請求項15から17のいずれか一項に記載のサーバ。
【請求項19】
前記走行情報は、グローバルポジショニングシステム(GPS)情報と、前記複数の車両に含まれる前記イメージセンサによって取り込まれたイメージに含まれる1又は複数のランドマークとを含む、請求項15から18のいずれか一項に記載のサーバ。
【請求項20】
複数の車両からの走行情報を調整するためのコンピュータ実装方法であって、
前記複数の車両から前記走行情報を受信する段階であり、前記複数の車両からの前記走行情報は、共通道路セグメントに関連付けられる、段階と、
前記共通道路セグメントにローカルな座標系内で前記走行情報を調整する段階であり、前記ローカルな座標系は、前記複数の車両に含まれるイメージセンサによって取り込まれる複数のイメージに基づく座標系を含む、段階と、
前記調整された走行情報を前記共通道路セグメントに関連付けて格納する段階と、
前記調整された走行情報を、前記共通道路セグメントに沿って1又は複数の自律走行車両を自律的に走行させる際に使用するために、1又は複数の自律走行車両に分配する段階と、
を備えるコンピュータ実装方法。
【発明の詳細な説明】
【背景技術】
【0001】
[関連出願の相互参照]
本出願は、2017年6月14日に出願された、米国仮特許出願第62/519,471号、および、2017年6月14日に出願された、米国仮特許出願第62/519,493号の優先権の利益を主張する。上記出願のすべては、それらの全体において、参照により本明細書に組み込まれる。
【技術分野】
【0002】
本開示は、一般に、自律走行車両の走行に関する。
[背景情報]
【0003】
技術が進展し続けるにつれ、車道上を走行することが可能な完全自律走行車両の目標の兆しが見えてきた。自律走行車両は、意図された目的地に安全にかつ正確に達するように、様々な要因を考慮に入れ、それらの要因に基づいて適切な決定を行う必要があり得る。例えば、自律走行車両は、視覚情報(例えば、カメラから取り込まれた情報)を処理および解釈する必要があり得、また、他の源(例えば、GPSデバイス、速度センサ、加速度計、サスペンションセンサなど)から取得された情報を使用し得る。同時に、目的地へ走行するように、自律走行車両はまた、特定の道路(例えば、複数車線道路のうちの特定の車線)内でのその位置を識別し、他の車両と一緒に走行し、障害物および歩行者を回避し、交通信号および標識を観測し、適切な交差点またはインターチェンジで道路から別の道路へ移動する必要があり得る。自律走行車両がその目的地へと移動するにつれて車両によって収集される莫大な量の情報を利用および解釈することは、たくさんの設計課題をもたらす。自律走行車両が分析、アクセス、および/または、格納する必要があり得る完全な件数のデータ(例えば、取り込まれたイメージデータ、地図データ、GPSデータ、センサデータなど)は、自律走行を実際に制限し得る、または悪影響さえも与え得る、という課題をもたらす。さらに、自律走行車両が走行するために従来のマッピング技術に依拠する場合、地図を格納および更新するために必要とされる完全な量のデータが、困難な課題をもたらす。
【0004】
地図を更新するためのデータの収集に加えて、自律走行車両は、走行のために地図の使用を可能にしなければならない。したがって、地図のサイズおよび詳細は、それらの構築および伝送と同様に、最適化されなければならない。さらに、自律走行車両は、地図を用いることと同様に、その搭乗者および車道上の他の運転者および歩行者の安全性を確実にするために、車両の周囲のものに基づいた制約を用いて走行しなければならない。
【発明の概要】
【0005】
本開示と合致する実施形態は、自律走行車両の走行のためのシステムおよび方法を提供する。開示される実施形態は、自律走行車両の走行の特徴を提供するためにカメラを使用し得る。例えば、開示される実施形態に合致するように、開示されるシステムは、車両の環境を監視する1つ、2つ、またはそれ以上のカメラを含み得る。開示されるシステムは、例えば、カメラのうち1または複数によって取り込まれるイメージの分析に基づいて、走行応答を提供し得る。開示されるシステムは、また、クラウドソーシングされたスパースマップによる構築および走行を提供し得る。他の開示されるシステムは、走行を補い得る位置推定をスパースマップによって実行するために、イメージの関連分析を使用し得る。また、走行応答は、例えば、グローバルポジショニングシステム(GPS)データ、センサデータ(例えば加速度計、速度センサ、サスペンションセンサなど)、および/または他の地図データを含む、他のデータを考慮に入れ得る。さらにまた、開示される実施形態は、他の運転者および歩行者を危険にさらすことなく車両の走行を最適化するために、快適性の制約および安全性の制約を使用して、カメラ、センサ、地図などのような、複数の源からのデータを結合し得る。
【0006】
ホスト車両のための走行システムの、1つの実施形態において、走行システムは少なくとも1つの処理デバイスを含み得る。少なくとも1つの処理デバイスは、ホスト車両に関連づけられた第1のデータ源からの第1の出力と、ホスト車両に関連づけられた第2のデータ源からの第2の出力とを受信するようにプログラムされ得る。第1のデータ源および第2のデータ源のうち少なくとも一方は、ホスト車両に搭載されたセンサを含み得る。少なくとも1つの処理デバイスは、第1の出力における目標オブジェクトの表現を識別し、目標オブジェクトの特性が少なくとも1つの走行制約を引き起こすかどうかを判定し、少なくとも1つの走行制約が目標オブジェクトの特性によって引き起こされない場合、第1の出力および第2の出力の組み合わせに基づいて目標オブジェクトの表現の識別を検証し、少なくとも1つの走行制約が目標オブジェクトの特性によって引き起こされる場合、第1の出力に基づいて目標オブジェクトの表現の識別を検証し、検証に応答して、ホスト車両への少なくとも1つの走行変化を生じさせるように、さらにプログラムされ得る。
【0007】
1つの実施形態において、ホスト車両を走行させるためのコンピュータ実装方法は、ホスト車両に関連づけられた第1のデータ源からの第1の出力と、ホスト車両に関連づけられた第2のデータ源からの第2の出力とを受信する段階を含み得る。第1のデータ源および第2のデータ源のうち少なくとも一方は、ホスト車両に搭載されたセンサを含み得る。方法はさらに、第1の出力における目標オブジェクトの表現を識別する段階と、目標オブジェクトの特性が少なくとも1つの走行制約を引き起こすかどうか判定する段階と、少なくとも1つの走行制約が目標オブジェクトの特性によって引き起こされない場合、第1の出力および第2の出力の組み合わせに基づいて目標オブジェクトの表現の識別を検証する段階と、少なくとも1つの走行制約が目標オブジェクトの特性によって引き起こされる場合、第1の出力に基づいて目標オブジェクトの表現の識別を検証する段階と、検証に応答して、ホスト車両への少なくとも1つの走行変化を生じさせる段階とを含み得る。
【0008】
1つの実施形態において、複数の車両からの走行情報を調整するサーバは、少なくとも1つの処理デバイスを含み得る。少なくとも1つの処理デバイスは、複数の車両から走行情報を受信するようにプログラムされ得る。複数の車両からの走行情報は、共通道路セグメントに関連づけられ得る。少なくとも1つの処理デバイスは、共通道路セグメントにローカルな座標系内で走行情報を調整するように、さらにプログラムされ得る。ローカルな座標系は、複数の車両に含まれるイメージセンサによって取り込まれた複数のイメージに基づく座標系を含み得る。少なくとも1つの処理デバイスは、調整された走行情報を共通道路セグメントに関連づけて格納し、調整された走行情報を、共通道路セグメントに沿った1または複数の自律走行車両を自律的に走行させる際の使用のために、1または複数の自律走行車両へ分配するように、さらにプログラムされ得る。
【0009】
1つの実施形態において、複数の車両からの走行情報を調整するコンピュータ実装方法は、複数の車両からの走行情報を受信する段階を含み得る。複数の車両からの走行情報は、共通道路セグメントに関連づけられ得る。方法はさらに、共通道路セグメントにローカルな座標系内の走行情報を調整する段階を含み得る。ローカルな座標系は、複数の車両上に含まれるイメージセンサによって取り込まれた複数のイメージに基づく座標系を含み得る。方法はさらに、調整された走行情報を共通道路セグメントに関連づけて格納する段階、および、調整された走行情報を、1または複数の自律走行車両を共通道路セグメントに沿って自律的に走行させる際の使用のために、1または複数の自律走行車両に分配する段階を含み得る。
【0010】
他の開示される実施形態と合致して、非一時的コンピュータ読み取り可能格納媒体は、少なくとも1つの処理デバイスによって実行され、本明細書に説明されたいずれかの方法を実行するプログラム命令を格納し得る。
【0011】
上記の一般的な説明および以下の詳細な説明は、例示および説明のみのものであり、特許請求の範囲の限定ではない。
【図面の簡単な説明】
【0012】
本開示に組み込まれ、その部分を構成する添付図面は、様々な開示される実施形態を示す。以下の図面において:
【0013】
図1】開示される実施形態と合致する例示的なシステムの概略的表現である。
【0014】
図2A】開示される実施形態と合致するシステムを含む例示的な車両の概略側面図表現である。
【0015】
図2B】開示される実施形態と合致する図2Aに示される車両およびシステムの概略平面図表現である。
【0016】
図2C】開示される実施形態と合致するシステムを含む車両の別の実施形態の概略平面図表現である。
【0017】
図2D】開示される実施形態と合致するシステムを含む車両のさらに別の実施形態の概略平面図表現である。
【0018】
図2E】開示される実施形態と合致するシステムを含む車両のさらに別の実施形態の概略平面図表現である。
【0019】
図2F】開示される実施形態と合致する例示的な車両制御システムの概略図表現である。
【0020】
図3A】開示される実施形態と合致する車両取り込みシステムに関するバックミラーおよびユーザインタフェースを含む車両内部の概略図表現である。
【0021】
図3B】開示される実施形態と合致する車両のバックミラーの後ろに、車両のフロントガラスと向かい合って配置されるように構成された、カメラマウントの例示である。
【0022】
図3C】開示される実施形態と合致する、図3Bに示されたカメラマウントの、異なる視点からの例示である。
【0023】
図3D】開示される実施形態と合致する車両のバックミラーの後ろに、車両のフロントガラスと向かい合って配置されるように構成された、カメラマウントの例示である。
【0024】
図4】開示される実施形態と合致する1または複数の操作を実行するための命令を格納するように構成された、メモリの例示的なブロック図である。
【0025】
図5A】開示される実施形態と合致する単眼イメージ分析に基づいて、1または複数の走行応答を生じさせる例示的なプロセスを示すフローチャートである。
【0026】
図5B】開示される実施形態と合致するイメージのセットにおいて、1または複数の車両および/または歩行者を検出するための例示的なプロセスを示すフローチャートである。
【0027】
図5C】開示される実施形態と合致するイメージのセットにおいて、路面標示および/または車線形状情報を検出する例示的なプロセスを示すフローチャートである。
【0028】
図5D】開示される実施形態と合致するイメージのセットにおいて、交通信号灯を検出する例示的なプロセスを示すフローチャートである。
【0029】
図5E】開示される実施形態と合致する車両経路に基づいて、1または複数の走行応答を生じさせる例示的なプロセスを示すフローチャートである。
【0030】
図5F】開示される実施形態と合致する、先行車両が車線を変更中かどうかを判定する例示的なプロセスを示すフローチャートである。
【0031】
図6】開示される実施形態と合致する、ステレオイメージ分析に基づいて、1または複数の走行応答を生じさせる例示的なプロセスを示すフローチャートである。
【0032】
図7】開示される実施形態と合致する、イメージの3つのセットの分析に基づいて、1または複数の走行応答を生じさせる例示的なプロセスを示すフローチャートである。
【0033】
図8A】開示される実施形態と合致する、道路セグメントの部分の多項式表現を示す図である。
【0034】
図8B】開示される実施形態と合致する、スパースマップに含まれる、特定の道路セグメントに関する、車両の目標軌跡を表す3次元空間内の曲線を示す図である。
【0035】
図9A】開示される実施形態と合致する、軌跡の多項式表現を示す図である。
【0036】
図9B】開示される実施形態と合致する、複数車線道路に沿った目標軌跡を示す図である。
図9C】開示される実施形態と合致する、複数車線道路に沿った目標軌跡を示す図である。
【0037】
図9D】開示される実施形態と合致する、道路シグナチャプロファイルの例を示す図である。
【0038】
図10】開示される実施形態と合致する、複数の3次元スプラインによって表される例示的な自律走行車両の道路走行モデルを示す図である。
【0039】
図11】開示される実施形態と合致する、多くの運転からの位置情報を結合することによって生成される、地図の概要を示す図である。
【0040】
図12】開示される実施形態と合致する、1または複数の操作を実行するための命令を格納するように構成されたメモリの例示的なブロック図である。
【0041】
図13A】開示される実施形態と合致する、安全性および快適性の制約の例の概略的な描写を提供する。
図13B】開示される実施形態と合致する、安全性および快適性の制約の例の概略的な描写を提供する。
【0042】
図13C】開示される実施形態と合致する、安全性および快適性の制約のさらなる例の概略的な描写を提供する。
図13D】開示される実施形態と合致する、安全性および快適性の制約のさらなる例の概略的な描写を提供する。
【0043】
図14】開示される実施形態と合致する、安全性および快適性の制約に基づいてホスト車両を走行させる例示的なプロセスを示すフローチャートである。
【0044】
図15】開示される実施形態と合致する、1または複数の操作を実行するための命令を格納するように構成されたメモリの例示的なブロック図である。
【0045】
図16】開示される実施形態と合致する、道路データを結合することによって生成される、多くの運転および例示的なグローバル地図からの走行情報を結合することによって生成される道路データの例を示す。
【0046】
図17】開示される実施形態と合致する、複数の車両からの走行情報を調整するための例示的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【0047】
以下の詳細な説明は、添付図面を参照する。可能な限り、図面および以下の操作の説明において、同じまたは類似の部分を参照するために、同じ参照符号が用いられる。いくつかの例示的な実施形態が本明細書に説明されるが、修正形態、適応形態、および他の実装が可能である。例えば、図面に示された構成要素に、置換、追加、または修正が行われ得、本明細書に説明された例示的な方法は、開示されている方法に段階を置換する、並べ替える、削除する、または追加することによって修正され得る。したがって、以下の詳細な説明は、開示される実施形態および例に限定されない。代わりに、適切な範囲が、添付の特許請求の範囲によって定義される。
【0048】
自律走行車両の概要
【0049】
本開示全体において用いられるものとして、用語「自律走行車両」は、運転者の入力なしで少なくとも1つの走行変化を実装することが可能な車両を指す。「走行変化」は、車両のステアリング、ブレーキ、または加速のうち1または複数における変更を指す。自律的であるためには、車両は、完全に自動(例えば、運転者なしでの、または運転者の入力なしでの完全動作)である必要はない。むしろ、自律走行車両は、特定の期間の最中は運転者の制御のもとで動作し、他の期間の最中は運転者の制御なしで動作し得るものを含む。また、自律走行車両は、(例えば、車両の車線の制約の中で車両のコースを保持するための)ステアリングなどの、車両の走行のうちいくつかの態様のみを制御し、他の態様(例えば、ブレーキ)は運転者に任せ得る車両を含み得る。いくつかの場合において、自律走行車両は、車両のブレーキ、速度制御、および/またはステアリングのうち、いくつかまたはすべての態様を処理し得る。
【0050】
人間の運転者は、一般に、車両を制御するために視覚的なきっかけおよび観測に頼るので、したがって、車線標示、交通標識、および交通信号灯がすべて、運転者に視覚情報を提供するように設計された状態で、交通インフラストラクチャーが形成されている。交通インフラストラクチャーのこれらの設計特性を念頭に置くと、自律走行車両は、車両の環境から取り込まれた視覚情報を分析するカメラおよび処理ユニットを含み得る。視覚情報は、例えば、運転者によって観測可能な交通インフラストラクチャーの構成要素(例えば、車線標示、交通標識、交通信号灯など)、および、他の障害物(例えば、他の車両、歩行者、ごみなど)を含み得る。加えて、自律走行車両はまた、走行時に車両の環境のモデルを提供する情報などの、格納された情報を使用し得る。例えば、車両は、車両が移動している間に、その環境に関連する情報を提供するように、GPSデータ、(例えば、加速度計、速度センサ、サスペンションセンサなどからの)センサデータ、および/または、他の地図データを使用し得、車両(他の車両も同様)は、モデル上でそれ自身を位置特定するために当該情報を使用し得る。
【0051】
本開示のいくつかの実施形態において、自律走行車両は、走行の間に(例えば、カメラ、GPSデバイス、加速度計、速度センサ、サスペンションセンサなどから)取得された情報を用い得る。他の実施形態において、自律走行車両は、走行の間、その車両によって(または他の車両によって)過去の走行から取得された情報を使用し得る。さらに他の実施形態において、自律走行車両は、走行の間に取得された情報と、過去の走行から取得された情報との組み合わせを用い得る。以下の部分は、開示される実施形態と合致するシステムの概要を提供し、前向きの取り込みシステムの概要およびそのシステムと合致する方法が後に続く。以下に続く部分は、自律走行車両の走行のためのスパースマップを構築する、用いる、および更新するためのシステムおよび方法を開示する。
【0052】
システム概要
【0053】
図1は、例示的な開示される実施形態と合致する、システム100のブロック図表現である。システム100は、特定の実装の要件に応じて、様々な構成要素を含み得る。いくつかの実施形態において、システム100は、処理ユニット110、イメージ取得ユニット120、位置センサ130、1または複数のメモリユニット140、150、地図データベース160、ユーザインタフェース170、および無線送受信機172を含み得る。処理ユニット110は、1または複数の処理デバイスを含み得る。いくつかの実施形態において、処理ユニット110は、アプリケーションプロセッサ180、イメージプロセッサ190、または任意の他の適切な処理デバイスを含み得る。同様に、イメージ取得ユニット120は、特定の用途の要件に依存した、任意の数のイメージ取得デバイスおよび構成要素を含み得る。いくつかの実施形態において、イメージ取得ユニット120は、撮像デバイス122、撮像デバイス124、および撮像デバイス126などの、1または複数の撮像デバイス(例えば、カメラ)を含み得る。また、システム100は、処理デバイス110をイメージ取得デバイス120と通信可能に接続するデータインタフェース128を含み得る。例えば、データインタフェース128は、イメージ取得デバイス120によって取得されたイメージデータを処理ユニット110に伝送する任意の有線および/または無線リンクを含み得る。
【0054】
無線送受信機172は、無線周波数、赤外線周波数、磁場、または電場の使用により、1または複数のネットワーク(例えば、セルラー、インターネットなど)とエアインタフェースを介した伝送をやり取りするように構成された、1または複数のデバイスを含み得る。無線送受信機172は、データの送信および/または受信のために、任意の知られた規格(例えば、Wi-Fi(登録商標)、Bluetooth(登録商標)、Bluetooth(登録商標)スマート、802.15.4、ZigBee(登録商標)など)を用い得る。そのような伝送は、ホスト車両から、1または複数の離れて配置されたサーバへの通信を含み得る。また、そのような伝送は、(例えば、ホスト車両の環境において、目標車両を考慮した、または目標車両と一緒の、ホスト車両の走行の調整を促すための)ホスト車両の環境における、ホスト車両と1または複数の目標車両との間の(一方向または双方向)通信を、または、伝送している車両の近傍の不特定の受信者へのブロードキャスト送信さえも、含み得る。
【0055】
アプリケーションプロセッサ180およびイメージプロセッサ190は、様々な種類の処理デバイスを含み得る。例えば、アプリケーションプロセッサ180およびイメージプロセッサ190のいずれか、あるいは両方が、マイクロプロセッサ、プリプロセッサ(イメージプリプロセッサなど)、グラフィック処理ユニット(GPU)、中央演算処理デバイス(CPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ、または、アプリケーションを実行させてイメージ処理および分析を行うために適切な、任意の他の種類のデバイスを含み得る。いくつかの実施形態において、アプリケーションプロセッサ180および/またはイメージプロセッサ190は、任意の種類のシングルコアまたはマルチコアプロセッサ、モバイルデバイスマイクロコントローラ、中央演算処理デバイスなどを含み得る。例えば、Intel(R)、AMD(R)などの製造業者から入手可能なプロセッサ、または、NVIDIA(R)、ATI(R)などの製造業者から入手可能なGPUを含む様々な処理デバイスが用いられ得、処理デバイスは様々なアーキテクチャ(例えば、x86プロセッサ、ARM(R)など)を含み得る。
【0056】
いくつかの実施形態において、アプリケーションプロセッサ180および/またはイメージプロセッサ190は、Mobileye(R)から入手可能なEyeQシリーズのプロセッサチップのいずれかを含み得る。これらのプロセッサ設計はそれぞれ、ローカルメモリおよび命令のセットを有する複数の処理ユニットを含む。そのようなプロセッサは、複数のイメージセンサからイメージデータを受信するためのビデオ入力を含み得、また、ビデオ出力機能を含み得る。一例において、EyeQ2(R)は、332MHzで動作する90nm-ミクロン技術を使用する。EyeQ2(R)アーキテクチャは、2つの浮動小数点ハイパースレッド32ビットRISC CPU(MIPS32(R) 34K(R)コア)、5つのビジョンコンピューティングエンジン(VCE)、3つのベクトルマイクロコードプロセッサ(VMP(R))、デナリ64ビットモバイルDDRコントローラ、128ビットインターナルソニックスインターコネクト、デュアル16ビットビデオ入力、および18ビットビデオ出力コントローラ、16チャネルDMA、およびいくつかの周辺機器からなる。MIPS34K CPUは、5つのVCE、3つのVMP(TM)およびDMA、第2のMIPS34K CPUおよびマルチチャネルDMA、ならびに他の周辺機器を管理する。5つのVCE、3つのVMP(R)、およびMIPS34K CPUは、マルチファンクションバンドルアプリケーションにより要求される集中的な視覚的計算を実行し得る。別の例において、EyeQ3(R)は、第3世代プロセッサであり、EyeQ2(R)の6倍の能力があり、開示される実施形態において用いられ得る。他の例において、EyeQ4(R)および/またはEyeQ5(R)が、開示される実施形態において用いられ得る。もちろん、任意のより新しい、または将来のEyeQ処理デバイスが、開示される実施形態と共に用いられ得る。
【0057】
本明細書に開示されるいかなる処理デバイスも、特定の機能を実行するように構成され得る。特定の機能を実行するように、説明されたEyeQプロセッサのいずれか、または他のコントローラまたはマイクロプロセッサなどの、処理デバイスを構成することは、コンピュータ実行可能な命令のプログラミング、および、処理デバイスの動作の最中の実行のためにそれらの命令を処理デバイスに利用可能にすることを含み得る。いくつかの実施形態において、処理デバイスを構成することは、アーキテクチャ命令で直接処理デバイスをプログラミングすることを含み得る。例えば、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)などの処理デバイスは、例えば、1または複数のハードウェア記述言語(HDL)を用いて構成され得る。
【0058】
他の実施形態において、処理デバイスを構成することは、実行可能な命令を、動作の最中に処理デバイスにアクセス可能なメモリに格納することを含み得る。例えば、処理デバイスは、動作の最中に、格納された命令を取得および実行するようにメモリにアクセスし得る。いずれかの場合において、本明細書で開示される、感知、イメージ分析、および/または走行機能を実行するように構成される処理デバイスは、ホスト車両のハードウェアベースの複数の構成要素を制御する専用ハードウェアベースのシステムを表す。
【0059】
図1は処理ユニット110内に含まれる2つの別個の処理デバイスを示すが、より多い、またはより少ない処理デバイスが用いられ得る。例えば、いくつかの実施形態において、単独の処理デバイスが、アプリケーションプロセッサ180およびイメージプロセッサ190のタスクを達成するように用いられ得る。他の実施形態において、これらのタスクは、2つより多い処理デバイスによって実行され得る。さらに、いくつかの実施形態において、システム100は、イメージ取得ユニット120などの他の構成要素を含まずに、1または複数の処理ユニット110を含み得る。
【0060】
処理ユニット110は、様々な種類のデバイスを含み得る。例えば、処理ユニット110は、コントローラ、イメージプリプロセッサ、中央演算処理デバイス(CPU)、グラフィック処理ユニット(GPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ、またはイメージ処理および分析のための任意の他の種類のデバイスなどの、様々なデバイスを含み得る。イメージプリプロセッサは、イメージセンサからの像(imagery)の取り込み、デジタル化、および処理のためのビデオプロセッサを含み得る。CPUは任意の数のマイクロコントローラまたはマイクロプロセッサを含み得る。また、GPUは、任意の数のマイクロコントローラまたはマイクロプロセッサを含み得る。サポート回路は、キャッシュ、電源、クロック、および入出力回路を含む、当該技術において一般によく知られている任意の数の回路を含み得る。メモリは、プロセッサによって実行されるとき、システムの動作を制御するソフトウェアを格納し得る。メモリは、データベースおよびイメージ処理ソフトウェアを含み得る。メモリは、任意の数のランダムアクセスメモリ、リードオンリーメモリ、フラッシュメモリ、ディスクドライブ、光記憶装置、テープストレージ、リムーバブルストレージ、および他の種類のストレージを含み得る。一例において、メモリは、処理ユニット110とは別個であり得る。別の例において、メモリは処理ユニット110に統合され得る。
【0061】
メモリ140、150はそれぞれ、プロセッサ(例えば、アプリケーションプロセッサ180および/またはイメージプロセッサ190)によって実行されたときにシステム100の様々な態様の動作を制御し得るソフトウェア命令を含み得る。これらのメモリユニットは、例えばニューラルネットワーク、またはディープニューラルネットワークなどの訓練されたシステムと同様に、様々なデータベースおよびイメージ処理ソフトウェアを含み得る。メモリユニットは、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、フラッシュメモリ、ディスクドライブ、光記憶装置、テープストレージ、リムーバブルストレージ、および/または任意の他の種類のストレージを含み得る。いくつかの実施形態において、メモリユニット140、150は、アプリケーションプロセッサ180および/またはイメージプロセッサ190と別個であり得る。他の実施形態において、これらのメモリユニットは、アプリケーションプロセッサ180および/またはイメージプロセッサ190に統合され得る。
【0062】
位置センサ130は、システム100の少なくとも1つの構成要素に関連づけられた位置を判定するのに適切な任意の種類のデバイスを含み得る。いくつかの実施形態において、位置センサ130はGPS受信機を含み得る。そのような受信機は、グローバルポジショニングシステム衛星によってブロードキャストされる信号を処理することによって、ユーザの位置および速度を判定し得る。位置センサ130からの位置情報は、アプリケーションプロセッサ180および/またはイメージプロセッサ190に利用可能とし得る。
【0063】
いくつかの実施形態において、システム100は、車両の速度200を測定するための速度センサ(例えば、回転速度計、速度計)、および/または、車両200の加速度を測定するための(単軸または複数軸のいずれかの)加速度計などの構成要素を含み得る。
【0064】
ユーザインタフェース170は、システム100の1または複数のユーザに情報を提供するために、または当該ユーザから入力を受信するために適切な任意のデバイスを含み得る。いくつかの実施形態において、ユーザインタフェース170は、例えば、タッチスクリーン、マイク、キーボード、ポインタデバイス、トラックホイール、カメラ、ノブ、ボタンなどを含むユーザ入力デバイスを含み得る。そのような入力デバイスによって、ユーザは、命令または情報をタイピングすること、音声コマンドを提供すること、ボタン、ポインタ、またはアイトラッキング機能を用いて画面上のメニュー選択肢を選択すること、またはシステム100に情報を通信するための任意の他の適切な技法によって、システム100に情報入力またはコマンドを提供することが可能であり得る。
【0065】
ユーザインタフェース170は、ユーザとの間で情報を提供および受信し、例えばアプリケーションプロセッサ180による使用のために情報を処理するように構成された、1または複数の処理デバイスを備え得る。いくつかの実施形態において、そのような処理デバイスは、眼の運動を認識およびトラッキングする、音声コマンドを受信および解釈する、タッチスクリーン上で行われたタッチおよび/またはジェスチャを認識および解釈する、キーボード入力またはメニュー選択に応答する、などのための命令を実行し得る。いくつかの実施形態において、ユーザインタフェース170は、ディスプレイ、スピーカ、触覚デバイス、および/または、ユーザへの出力情報を提供するための任意の他のデバイスを含み得る。
【0066】
地図データベース160は、システム100に有用な地図データを格納する任意の種類のデータベースを含み得る。いくつかの実施形態において、地図データベース160は、基準座標系において、道路、水を利用した構造物(water features)、地理的形状、ビジネス、関心のある地点、レストラン、ガソリンスタンド、などを含む様々な項目の位置に関連するデータを含み得る。地図データベース160は、そのような項目の位置のみでなく、例えば、格納された特徴のいずれかに関連づけられた名前を含む、それらの項目に関連する記述子もまた格納し得る。いくつかの実施形態において、地図データベース160は、システム100の他の構成要素と共に物理的に配置され得る。代替的にまたは加えて、地図データベース160またはそれらの部分は、システム100の他の構成要素(例えば、処理ユニット110)に対して離れて配置され得る。そのような複数の実施形態において、地図データベース160からの情報は、ネットワークへの有線または無線のデータ接続を介して(例えば、セルラーネットワークおよび/またはインターネットなどを介して)ダウンロードされ得る。いくつかの場合において、地図データベース160は、特定の道路特徴(例えば、車線標示)またはホスト車両の目標軌跡の多項式表現を含むスパースデータモデルを格納し得る。そのような地図を生成するシステムおよび方法は、図8Aから19を参照して以下に説明される。
【0067】
撮像デバイス122、124および126はそれぞれ、環境から少なくとも1つのイメージを取り込むための任意の種類の適切なデバイスを含み得る。加えて、任意の数の撮像デバイスは、イメージプロセッサへの入力のためにイメージを取得するように用いられ得る。いくつかの実施形態は、単一の撮像デバイスのみを含み得るが、他の実施形態は、2つ、3つ、またはさらに4つ、またはそれ以上の撮像デバイスを含み得る。撮像デバイス122、124および126は、以下の図2Bから図2Eを参照してさらに説明されるであろう。
【0068】
システム100、またはそれらの様々な構成要素は、様々な異なるプラットフォームに組み込まれ得る。いくつかの実施形態において、システム100は、図2Aに示されるように、車両200に含まれ得る。例えば、車両200は、図1に対して上で説明されたように、処理ユニット110および、システム100の任意の他の構成要素を備え得る。いくつかの実施形態において、車両200は、単独の撮像デバイス(例えば、カメラ)のみを備え得るが、図2Bから図2Eに関連して説明されるものなどの、他の実施形態においては、複数の撮像デバイスが用いられ得る。例えば、車両200の撮像デバイス122および124のいずれかは、図2Aに示されるように、ADAS(先進運転者支援システム)取り込みセットの部分であり得る。
【0069】
イメージ取得ユニット120の一部として車両200に含まれる撮像デバイスは、任意の適切な位置に配置され得る。いくつかの実施形態において、図2Aから図2Eおよび図3Aから図3Cに示されるように、撮像デバイス122は、バックミラーの近傍に配置され得る。この位置は、車両200の運転者の視線に類似する視線を提供し得、運転者に何が見えて何が見えないかを判定するための助けとなり得る。撮像デバイス122は、バックミラーの近くの任意の位置に配置され得るが、ミラーの運転者側に撮像デバイス122を設置することは、運転者の視野および/または視線を表すイメージを得るための、さらなる助けとなり得る。
【0070】
イメージ取得ユニット120の撮像デバイスに関する他の位置も、また用いられ得る。例えば、撮像デバイス124は、車両200のバンパーに、またはその内部に配置され得る。そのような位置は、広い視野を有する撮像デバイスに特に適切であり得る。バンパーに配置された撮像デバイスの視線は、運転者の視線とは異なるものであり得る。したがって、バンパーの撮像デバイスおよび運転者は、常に同じオブジェクトを見ているのではないことがある。撮像デバイス(例えば、撮像デバイス122、124および126)は、また、他の位置に配置され得る。例えば、撮像デバイスは、車両200のサイドミラーの1つまたは両方またはその内部、車両200の屋根、車両200のフード、車両200のトランク、車両200の側部に配置される、車両200の任意の窓に取りつけられる、窓の後ろに配置される、または窓の前に配置される、および、車両200の前および/または後ろのライトの形態(light figure)内に、またはその近くに取りつけられる、などであり得る。
【0071】
撮像デバイスに加えて、車両200は、システム100の様々な他の構成要素を含み得る。例えば、処理ユニット110は、車両のエンジン制御ユニット(ECU)に統合されて、またはそれから分離してのいずれかで、車両200に含まれ得る。車両200は、また、GPS受信機などの位置センサ130を備え得、また、地図データベース160およびメモリユニット140および150を含み得る。
【0072】
前に説明されたように、無線送受信機172は1または複数のネットワーク(例えば、セルラーネットワーク、インターネットなど)を介してデータを送信および/または受信し得る。例えば、無線送受信機172は、システム100によって収集されたデータを1つまたは複数のサーバにアップロードし、データを1つまたは複数のサーバからダウンロードし得る。無線送受信機172を介して、システム100は、例えば、地図データベース160、メモリ140、および/またはメモリ150に格納されたデータへの、周期的またはオンデマンドの更新を受信し得る。同様に、無線送受信機172は、システム100からの任意のデータ(例えば、イメージ取得ユニット120によって取り込まれたイメージ、位置センサ130または他のセンサ、車両制御システムなどによって受信されたデータ)を、および/または、処理ユニット110によって処理された任意のデータを、1つまたは複数のサーバにアップロードし得る。
【0073】
システム100は、プライバシーレベル設定に基づいて、データをサーバ(例えば、クラウド)にアップロードし得る。例えば、システム100は、車両および/または車両の運転者/所有者を一意的に識別し得る、サーバに送られるデータ(メタデータを含む)の種類を規制または制限するように、プライバシーレベル設定を実装し得る。そのような設定は、例えば無線送受信機172を介してユーザによって設定され、工場のデフォルト設定によって初期化され得、または、無線送受信機172によて受信されたデータによって初期化され得る。
【0074】
いくつかの実施形態において、システム100は、「高」プライバシーレベルに従ってデータをアップロードし得、設定の設定中に、システム100は、特定の車両および/または運転者/所有者についてのいかなる詳細もなしで、データ(例えば、経路関連の位置情報、取り込まれたイメージなど)を伝送し得る。例えば、「高」プライバシー設定に従ってデータをアップロードしたとき、システム100は、車両識別番号(VIN)、または、車両の運転者または所有者の名前を含めなくともよく、代わりに、取り込まれたイメージおよび/または経路に関連して限定された位置情報などのデータを伝送し得る。
【0075】
他のプライバシーレベルが意図される。例えば、システム100は、「中間」プライバシーレベルに従ってサーバにデータを送信し得、車両の型式および/またはモデル、および/または、車両の種類(例えば、乗用車、スポーツ用多目的車、トラックなど)などの、「高」プライバシーレベルのもとでは含まれない追加の情報を含み得る。いくつかの実施形態において、システム100は、「低」プライバシーレベルに従ってデータをアップロードし得る。「低」プライバシーレベル設定のもとで、システム100は、データをアップロードし、特定の車両、所有者/運転者、および/または車両が移動した経路の部分または全体を一意的に識別するのに十分な情報を含み得る。そのような「低」プライバシーレベルデータは、例えば、VIN、運転者/所有者の名前、出発前の車両の原地点、車両の意図された目的地、車両の型式および/またはモデル、車両の種類などのうち、1または複数を含み得る。
【0076】
図2Aは、開示される実施形態と合致する例示的な車両取り込みシステムの概略側面図表現である。図2Bは、図2Aに示される実施形態の概略平面図の例示である。図2Bに示されるように、開示される実施形態は、バックミラーおよび/または車両200の運転者の近傍に配置される第1の撮像デバイス122、車両200のバンパー領域(例えば、バンパー領域210の1つ)に、またはその内部に配置される第2の撮像デバイス124、および処理ユニット110を有する、システム100をそのボディ内に含む、車両200を含み得る。
【0077】
図2Cに示されるように、撮像デバイス122および124は両方、バックミラーの近傍に、および/または、車両200の運転者の近くに配置され得る。加えて、2つの撮像デバイス122および124が図2Bおよび2Cに示されるが、他の実施形態は、2つより多い撮像デバイスを含み得ることを理解されたい。例えば、図2Dおよび2Eに示された実施形態においては、第1、第2および第3の撮像デバイス122、124および126が、車両200のシステム100に含まれる。
【0078】
図2Dに示されるように、撮像デバイス122はバックミラーの近傍および/または車両200の運転者の近くに配置され得、撮像デバイス124および126は、車両200のバンパー領域(例えば、バンパー領域210のうち1つ)に、またはその中に配置され得る。そして、図2Eに示されるように、撮像デバイス122、124および126は、車両200のバックミラーの近傍および/または運転席の近くに配置され得る。開示される実施形態は、何か特定の数および構成の撮像デバイスに限定されず、撮像デバイスは、車両200の内部および/または車両200上の、任意の適切な位置に配置され得る。
【0079】
開示される実施形態は、車両に限定されず、他の文脈に適用されることがあることを理解すべきである。また、開示される実施形態は、特定の種類の車両200に限定されず、自動車、トラック、トレーラ、または他の種類の車両を含むすべての種類の車両に適用可能であり得ることを理解すべきである。
【0080】
第1の撮像デバイス122は、任意の好適な種類の撮像デバイスを含み得る。撮像デバイス122は、光軸を含み得る。一例において、撮像デバイス122は、グローバルシャッタを備えるAptina M9V024 WVGAセンサを含み得る。他の実施形態において、撮像デバイス122は、1280×960ピクセルの分解能を提供し得、ローリングシャッタを含み得る。撮像デバイス122は、様々な光学要素を含み得る。いくつかの実施形態において、例えば、撮像デバイスに所望の焦点距離および視野を提供するように、1または複数のレンズが含まれ得る。いくつかの実施形態において、撮像デバイス122は、6mmレンズまたは12mmレンズに関連づけられ得る。いくつかの実施形態において、図2Dに示されるように、撮像デバイス122は、所望の視野(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度より大幅に小さくなり得る。例えば、そのようなレンズは、50度より大きい鉛直FOVおよび100度の水平FOVを可能とするであろう半径方向に対称なものではなくてもよい。
【0081】
第1の撮像デバイス122は、車両200に関連づけられたシーンに対走査線して複数の第1のイメージを取得し得る。複数の第1のイメージのそれぞれは、一連のイメージ走査線として取得されてよく、それはローリングシャッタを用いて取り込まれ得る。各走査線は、複数のピクセルを含み得る。
【0082】
第1の撮像デバイス122は、第1の一連のイメージ走査線のそれぞれの取得に関連する走査速度を有し得る。走査速度は、イメージセンサが特定の走査線に含まれる各ピクセルに関連するイメージデータを取得できる速度を指し得る。
【0083】
撮像デバイス122、124および126は、例えばCCDセンサまたはCMOSセンサが挙げられる、任意の好適な種類および数のイメージセンサを含み得る。1つの実施形態において、一行における各ピクセルが一回で1つずつ読み取られ、イメージフレーム全体が取り込まれるまで行のスキャンが行ごとに進行するように、CMOSイメージセンサはローリングシャッタと共に使用される。いくつかの実施形態において、行はフレームに対して上から下へ逐次的に取り込まれ得る。
【0084】
いくつかの実施形態において、本明細書に開示された撮像デバイス(例えば、撮像デバイス122、124および126)のうち1または複数は、高分解能のイメージャを構成し得、5Mピクセルより大きい、7Mピクセル、10Mピクセル、またはより大きい分解能を有し得る。
【0085】
ローリングシャッタの使用は、異なる行におけるピクセルが異なる時点に露出および取り込まれることをもたらし得、それは取り込まれたイメージフレームにおいて、スキュー、および他のイメージのアーチファクトを生じさせることがある。他方で、撮像デバイス122がグローバルまたはシンクロナスシャッタで動作するように構成されるとき、すべてのピクセルは同じ時間量だけ、共通露出期間の最中に露出され得る。結果として、グローバルシャッタを使用したシステムから収集されたフレームにおけるイメージデータは、特定の時点のFOV(FOV202など)全体のスナップショットを表す。対照的に、ローリングシャッタ用途においては、フレームの各行は異なる時点で露出され、データは異なる時点で取り込まれる。したがって、ローリングシャッタを有する撮像デバイスにおいては、動くオブジェクトは歪んで見えることがある。この現象は、以下でより詳細に説明する。
【0086】
第2の撮像デバイス124および第3の撮像デバイス126は、任意の種類の撮像デバイスであり得る。第1の撮像デバイス122のように、撮像デバイス124および126のそれぞれは光軸を含み得る。1つの実施形態において、撮像デバイス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を有し得る。
【0087】
撮像デバイス124および126は、車両200に関連づけられたシーンに対して複数の第2および第3のイメージを取得し得る。複数の第2および第3のイメージのそれぞれは、第2および第3の一連のイメージ走査線として取得され得、それはローリングシャッタを用いて取り込まれ得る。各走査線または行は、複数のピクセルを有し得る。撮像デバイス124および126は、第2および第3の一連に含まれるイメージ走査線のそれぞれの取得に関連づけられた、第2および第3の走査速度を有し得る。
【0088】
撮像デバイス122、124および126のそれぞれは、車両200に対して、任意の適切な位置および向きに配置され得る。撮像デバイス122、124および126の相対的な配置は、撮像デバイスから取得された情報を共に結合することの助けとなるように選択され得る。例えば、いくつかの実施形態において、撮像デバイス124に関連づけられたFOV(FOV204など)は、撮像デバイス122に関連づけられたFOV(FOV202など)および撮像デバイス126に関連づけられたFOV(FOV206など)と、部分的に、または完全に重なり得る。
【0089】
撮像デバイス122、124および126は、任意の適切な相対的な高さで車両200に配置され得る。一例において、撮像デバイス122、124および126の間には高さの差異があり得、それは、ステレオ分析を可能にするために十分な視差情報を提供し得る。例えば、図2Aに示されるように、2つの撮像デバイス122および124は異なる高さである。また、撮像デバイス122、124および126の間には、横方向の変位の差異があり得、それは、例えば処理ユニット110によるステレオ分析に関して、追加の視差情報をもたらす。横方向の変位の差異は、図2Cおよび2Dにおいて示されるように、dによって示され得る。いくつかの実施形態において、前方または後方変位(例えば、範囲変位)が、撮像デバイス122、124および126の間に存在し得る。例えば、撮像デバイス122は、撮像デバイス124および/または撮像デバイス126から0.5から2メートル以上後ろに配置され得る。この種類の変位は、撮像デバイスの一方が、他方の撮像デバイスで可能性のある死角を、補うことを可能にし得る。
【0090】
撮像デバイス122は、任意の適切な分解能(例えば、イメージセンサに関連づけられたピクセルの数)を有し得、撮像デバイス122に関連づけられたイメージセンサの分解能は、撮像デバイス124および126に関連づけられたイメージセンサの分解能より高くても、より低くても、または同じでもよい。いくつかの実施形態において、撮像デバイス122および/または撮像デバイス124および126に関連づけられたイメージセンサは、640×480、1024×768、1280×960の分解能、または任意の他の適切な分解能を有し得る。
【0091】
フレームレート(例えば、撮像デバイスが、次のイメージフレームに関連づけられたピクセルデータの取り込みへと移る前に、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のイメージフレームに関連づけられたイメージデータの取得前または後に加えられる、選択可能な垂直帰線区間を含み得る。
【0092】
それぞれのライン走査速度が異なる場合でさえも、このタイミング制御は、撮像デバイス122、124および126に関連づけられたフレームレートとの同期が可能であり得る。加えて、以下でより詳細に説明されるように、撮像デバイス122の視野が、撮像デバイス124および126のFOVと異なる場合でさえも、この選択可能なタイミング制御は、要因(例えば、イメージセンサ分解能、最大ライン走査速度など)の中でも特に、撮像デバイス122のFOVが撮像デバイス124および126の1または複数のFOVと重なる領域からの、撮像の同期を可能にし得る。
【0093】
撮像デバイス122、124および126におけるフレームレートタイミングは、関連のイメージセンサの分解能に依存し得る。例えば、両方のデバイスでライン走査速度が同等であると仮定すると、1つのデバイスが640×480の分解能を有するイメージセンサを含み、別のデバイスが1280×960の分解能を有するイメージセンサを含む場合、より高い解像度を有するセンサからイメージデータのフレームを取得するために、より多くの時間が必要となるであろう。
【0094】
撮像デバイス122、124および126におけるイメージデータ取得のタイミングに影響を与え得る別の要因は、最大ライン走査速度である。例えば、撮像デバイス122、124および126に含まれるイメージセンサからイメージデータの行を取得するには、ある最小の時間量が必要となるであろう。ピクセルの遅延時間が加えられることがないものと仮定すると、イメージデータの行を取得するためのこの最小の時間量は、特定のデバイスに関する最大ライン走査速度に関連するであろう。より高い最大ライン走査速度を提示するデバイスは、より低い最大ライン走査速度を有するデバイスよりも、より高いフレームレートを提供する可能性がある。いくつかの実施形態において、1または複数の撮像デバイス124および126は、撮像デバイス122に関連づけられた最大ライン走査速度より高い最大ライン走査速度を有し得る。いくつかの実施形態において、撮像デバイス124および/または126の最大ライン走査速度は、撮像デバイス122の最大ライン走査速度の、1.25倍、1.5倍、1.75倍、または2倍、またはそれより大きいものであり得る。
【0095】
別の実施形態において、撮像デバイス122、124および126は、同じ最大ライン走査速度を有し得るが、撮像デバイス122は、その最大走査速度より小さいか、それに等しい走査速度で動作し得る。システムは、1または複数の撮像デバイス124および126が、撮像デバイス122のライン走査速度に等しいライン走査速度で動作するように構成され得る。他の事例において、システムは、撮像デバイス124および/または撮像デバイス126のライン走査速度が、撮像デバイス122のライン走査速度の、1.25倍、1.5倍、1.75倍、または2倍、またはそれより大きいものであり得るように構成され得る。
【0096】
いくつかの実施形態において、撮像デバイス122、124および126は非対称であり得る。すなわち、それらは、異なる視野(FOV)および焦点距離を有するカメラを含み得る。撮像デバイス122、124および126の視野は、例えば、車両200の環境に対する任意の所望の領域を含み得る。いくつかの実施形態において、撮像デバイス122、124および126の1または複数は、車両200の前、車両200の後ろ、車両200の側部、またはそれらの組み合わせの環境からイメージデータを取得するように構成されてもよい。
【0097】
さらに、撮像デバイス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、などより大きい)オブジェクトのイメージを取得し得るように選択され得る。
【0098】
いくつかの実施形態に従えば、1または複数の撮像デバイス122、124および126のFOVは広角を有し得る。例えば、140度のFOVを有することが好都合であり得、特に、車両200の近傍の領域のイメージを取り込むために用いられ得る撮像デバイス122、124および126に対してあてはまる。例えば、撮像デバイス122は車両200の右または左の領域のイメージを取り込むように用いられ得、そのような複数の実施形態においては、広いFOV(例えば、少なくとも140度)を有することが、撮像デバイス122に望ましくあり得る。
【0099】
撮像デバイス122、124および126のそれぞれに関連づけられた視野は、それぞれの焦点距離に依存し得る。例えば、焦点距離が増大するにつれ、対応する視野は減少する。
【0100】
撮像デバイス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の間で変化し得る。
【0101】
システム100は、撮像デバイス122の視野が、少なくとも部分的に、または完全に、撮像デバイス124および/または撮像デバイス126の視野と重なるように構成され得る。いくつかの実施形態において、システム100は、撮像デバイス124および126の視野が、撮像デバイス122の視野の、例えば範囲内にあり(例えば、122の視野より狭い)、かつ、122の視野と共通の中心を共有するように構成され得る。他の実施形態において、撮像デバイス122、124および126は、近接するFOVを取り込み得、または、それらのFOVにおいて部分的な重なりを有し得る。いくつかの実施形態において、撮像デバイス122、124および126の視野は、より狭いFOVの撮像デバイス124および/または126の中心が、より広いFOVのデバイス122の視野の下半分に配置され得るように、調整され得る。
【0102】
図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、およびステアリングシステム240のうち1または複数からの入力を受信し得る。さらなる詳細が、以下の図4から図7に関連して提供される。
【0103】
図3Aにおいて示されるように、車両200は、車両200の運転者または搭乗者とのインタラクションのためのユーザインタフェース170もまた含み得る。例えば、車両用途におけるユーザインタフェース170は、タッチスクリーン320、ノブ330、ボタン340、およびマイク350を含み得る。また、車両200の運転者または搭乗者は、システム100とインタラクションするように、ハンドル(例えば、方向指示灯ハンドルを含む、例えば、車両200のステアリングコラム上または近くに配置される)、ボタン(例えば、車両200のステアリングホイール上に配置される)などを用い得る。いくつかの実施形態において、マイク350は、バックミラー310に隣接して配置され得る。同様に、いくつかの実施形態において、撮像デバイス122は、バックミラー310の近くに配置され得る。また、いくつかの実施形態において、ユーザインタフェース170は、1または複数のスピーカ360(例えば、車両オーディオシステムのスピーカ)を含み得る。例えば、システム100は、スピーカ360を介して様々な通知(例えば、警告)を提供し得る。
【0104】
図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を前方視点から見た例示である。
【0105】
本開示に利益を有する当業者には理解されるように、数々の変形形態および/または修正形態が、上記の開示される実施形態から作成されるであろう。例えば、すべての構成要素がシステム100の動作に不可欠とは限らない。さらに、任意の構成要素が、システム100の任意の適当な部分に配置されされ得、構成要素は、開示される実施形態の機能性を提供しながら、様々な構成へと再構成され得る。したがって、上記構成は例であり、上で説明された構成に関わらず、システム100は、車両200の周囲を分析し、分析に応答して車両200を走行させるように、幅広い範囲の機能性を提供し得る。
【0106】
以下でさらに詳細に説明されるように、様々な開示される実施形態と合致して、システム100は、自律運転および/または運転者支援技術に関連する様々な特徴を提供し得る。例えば、システム100は、イメージデータ、位置データ(例えば、GPS位置情報)、地図データ、速度データ、および/または、車両200に含まれるセンサからのデータを分析し得る。システム100は、例えば、イメージ取得ユニット120、位置センサ130、および他のセンサから、分析のためにデータを収集し得る。さらに、システム100は、車両200が特定の動作をとるべきか否かを判定し、次に、判定された動作を人の介在なしで自動的にとるように、収集されたデータを分析し得る。例えば、車両200が人の介在なしで走行するとき、システム100は、(例えば、スロットリングシステム220、ブレーキシステム230、およびステアリングシステム240のうち1または複数へと制御信号を送ることによって)車両200のブレーキ、アクセル、および/またはステアリングを自動的に制御し得る。さらに、システム100は、収集されたデータを分析し、収集されたデータの分析に基づいて車両の占有者に警報および/または警告を発し得る。システム100によって提供される、様々な実施形態に関する追加の詳細が、以下に提供される。
【0107】
前向きのマルチ取り込みシステム
【0108】
上で説明されたように、システム100は、マルチカメラシステムを使用する運転支援機能を提供し得る。マルチカメラシステムは、車両の前方向を向く1または複数のカメラを使用し得る。他の実施形態において、マルチカメラシステムは、車両の側部、または車両の後部に向く1または複数のカメラを含み得る。1つの実施形態において、例えば、システム100は、2カメラ取り込みシステムを使用し得、ここで、第1のカメラおよび第2のカメラ(例えば、撮像デバイス122および124)は、車両(例えば、車両200)の前部および/または側部に配置され得る。第1のカメラは、第2のカメラの視野より大きい、より小さい、または部分的に重なった、視野を有し得る。さらに、第1のカメラは、第1のカメラによって提供されたイメージの単眼イメージ分析を実行するように、第1のイメージプロセッサに接続され得、第2のカメラは、第2のカメラによって提供されたイメージの単眼イメージ分析を実行するように、第2のイメージプロセッサに接続され得る。第1の、および第2のイメージプロセッサの出力(例えば、処理された情報)は、組み合わせられ得る。いくつかの実施形態において、第2のイメージプロセッサは、第1のカメラおよび第2のカメラの両者からのイメージを受信して、ステレオ分析を実行し得る。別の実施形態において、システム100は、各カメラが異なる視野を有する、3カメラ取り込みシステムを使用し得る。そのようなシステムは、したがって、車両の前方および側方の両者から様々な距離の位置にある、オブジェクトから導出された情報に基づいて決定を行い得る。単眼イメージ分析との言及は、単独の視点から(例えば、単独のカメラから)取り込まれたイメージに基づいてイメージ分析が実行される事例を指し得る。ステレオイメージ分析は、イメージ分析が、撮像パラメータに1または複数の変更を行って取り込まれた2またはそれ以上のイメージに基づいて実行される事例を参照し得る。例えば、ステレオイメージ分析を実行するために適切な取り込まれたイメージは、2またはそれ以上の異なる位置から、異なる視野から、異なる焦点距離を用いて、視差情報を伴って、などで取り込まれたイメージを含み得る。
【0109】
例えば、1つの実施形態において、システム100は、撮像デバイス122、124および126を用いた3カメラ構成を実装し得る。そのような構成において、撮像デバイス122は、狭い視野(例えば、34度、または約20から45度の範囲から選択された他の値など)を提供し得、撮像デバイス124は、広い視野(例えば、150度、または約100から約180度の範囲から選択された他の値)を提供し得、撮像デバイス126は、中間の視野(例えば、46度、または約35から約60度の範囲から選択された他の値)を提供し得る。いくつかの実施形態において、撮像デバイス126は、主要カメラ、またはプライマリカメラとして動作し得る。撮像デバイス122、124および126は、バックミラー310の後ろに配置され、実質的に互いに並んで(例えば、6cm離れて)配置され得る。さらに、いくつかの実施形態において、上で説明されたように、撮像デバイス122、124および126のうち1または複数は、車両200のフロントガラスとぴったり重なっているグレアシールド380の後ろに取りつけられ得る。そのようなシールドは、撮像デバイス122、124および126への、車の内側からのいかなる反射の影響も減少させるように作用し得る。
【0110】
別の実施形態において、図3Bおよび3Cに関連して上で説明されたように、広い視野のカメラ(例えば、上記の例の撮像デバイス124)は、狭い視野のカメラおよび主要視野のカメラ(例えば、上記の例のイメージデバイス122および126)よりも低い位置に取りつけられ得る。この構成は、広い視野のカメラからの自由な視線を提供し得る。反射を低減するように、カメラは、車両200のフロントガラスの近くに取りつけられ得、反射光を減衰するようにカメラ上に偏光板を含み得る。
【0111】
3カメラシステムは、特定の性能の特性を提供し得る。例えば、いくつかの実施形態は、別のカメラから得られた検出に基づいて、1つのカメラによるオブジェクトの検出を検証する可能性を含み得る。上で説明された3カメラ構成において、処理ユニット110は、例えば3つの処理デバイス(例えば、上で説明されたような、3つのEyeQシリーズのプロセッサチップ)を含み得、各処理デバイスは、撮像デバイス122、124および126のうち1または複数によって取り込まれたイメージの処理に特化される。
【0112】
3カメラシステムにおいて、第1の処理デバイスは、主要カメラおよび狭い視野のカメラの両者からイメージを受信し得、例えば、他の車両、歩行者、車線標示、交通標識、交通信号灯、および他の道路オブジェクトを検出するように、狭いFOVのカメラの視覚的処理を実行し得る。さらに、第1の処理デバイスは、主要カメラからのイメージと狭い視野のカメラからのイメージとの間のピクセルの視差を計算し得、車両200の環境の3D再構築を生成し得る。第1の処理デバイスは、次に、別のカメラからの情報に基づいて算出された3D地図データまたは3D情報と、3D再構築を結合し得る。
【0113】
第2の処理デバイスは、主要カメラからのイメージを受信し得、他の車両、歩行者、車線標示、交通標識、交通信号灯、および他の道路オブジェクトを検出するように、視覚的処理を実行し得る。加えて、第2の処理デバイスは、カメラ変位を計算し、変位に基づいて一連のイメージの間のピクセルの視差を計算し、シーン(例えば、structure from motion)の3D再構築を生成し得る。第2の処理デバイスは、structure from motionベースの3D再構築を、ステレオ3Dイメージと組み合わせるように、第1の処理デバイスに送信し得る。
【0114】
第3の処理デバイスは、広いFOVのカメラからイメージを受信し得、車両、歩行者、車線標示、交通標識、交通信号灯、および他の道路オブジェクトを検出するように、イメージを処理し得る。第3の処理デバイスは、さらに、車線を変更する車両、歩行者など、イメージ内で動くオブジェクトを識別するようにイメージを分析する、追加の処理命令を実行し得る。
【0115】
いくつかの実施形態において、イメージベースの情報のストリームの取り込みおよび処理を独立に行わせることは、システム内に冗長性を提供する機会を提供し得る。そのような冗長性は、例えば、第1の撮像デバイスおよびそのデバイスから処理されたイメージを用いて、少なくとも第2の撮像デバイスからのイメージ情報を取り込みおよび処理することによって取得された情報を検証すること、および/または、補足することを含み得る。
【0116】
いくつかの実施形態において、システム100は、車両200に走行支援を提供するときに、2つの撮像デバイス(例えば、撮像デバイス122および124)を用い得、他の2つの撮像デバイスから受信されたデータの分析に冗長性を提供し、分析を検証するように、第3の撮像デバイス(例えば、撮像デバイス126)を用い得る。例えば、そのような構成において、撮像デバイス122および124は、車両200を走行させるためのシステム100によるステレオ分析にイメージを提供し得、撮像デバイス126は、撮像デバイス122および/または撮像デバイス124から取り込まれたイメージに基づいて取得された情報の冗長性および検証を提供するように、システム100による単眼分析のためにイメージを提供し得る。すなわち、撮像デバイス126(および対応する処理デバイス)は、撮像デバイス122および124から導出された分析へのチェックを提供するための、冗長なサブシステムを提供する(例えば、自動緊急ブレーキ(AEB)システムを提供する)と見なされてよい。さらに、いくつかの実施形態において、1または複数のセンサ(例えば、レーダ、ライダ、音響センサ、車両外の1または複数の送受信機から受信された情報など)から受信された情報に基づいて、受信されたデータの冗長性および検証が補足され得る。
【0117】
当業者は、上記のカメラの構成、カメラの配置、カメラの数、カメラの位置などが、例にすぎないことを認識するであろう。全体的なシステムに関して説明されたこれらの構成要素などは、開示される実施形態の範囲から逸脱することなく、様々な異なる構成で組み合わせられ得、用いられ得る。運転者支援、および/または、自律走行車両の機能性を提供するための、マルチカメラシステムの使用に関するさらなる詳細が、以下に続く。
【0118】
図4は、開示される実施形態と合致する1または複数の操作を実行ための命令を格納され/プログラミングされ得る、メモリ140および/または150の例示的な機能ブロック図である。以下はメモリ140を参照するが、当業者は、命令はメモリ140および/または150に格納され得ることを認識するであろう。
【0119】
図4に示されるように、メモリ140は、単眼イメージ分析モジュール402、ステレオイメージ分析モジュール404、速度および加速度モジュール406、および走行応答モジュール408を格納し得る。開示される実施形態は、メモリ140のいかなる特定の構成にも限定されない。さらに、アプリケーションプロセッサ180および/またはイメージプロセッサ190は、メモリ140に含まれるいかなるモジュール402、404、406および408に格納された命令も実行し得る。当業者は、処理ユニット110への以下の説明における参照が、個々に、または集合的に、アプリケーションプロセッサ180およびイメージプロセッサ190を指し得ることを、理解するであろう。したがって、以下のいかなるプロセスの段階も、1または複数の処理デバイスによって実行され得る。
【0120】
1つの実施形態において、単眼イメージ分析モジュール402は、命令(コンピュータビジョンソフトウェアなどの)を格納し得、それは、処理ユニット110によって実行されたとき、撮像デバイス122、124および126のうち1つによって取得されたイメージのセットの単眼イメージ分析を実行する。いくつかの実施形態において、処理ユニット110は、単眼イメージ分析を実行するように、イメージのセットからの情報に、追加の知覚情報(例えば、レーダ、ライダなどからの情報)を結合し得る。以下の図5Aから図5Dに関連して説明されるように、単眼イメージ分析モジュール402は、車線標示、車両、歩行者、道路標識、高速道路出口ランプ、交通信号灯、危険物、および、車両の環境に関連づけられた任意の他の特徴などの、イメージのセット内の特徴のセットを検出するための命令を含み得る。分析に基づいて、走行応答モジュール408に関連して以下に説明されるように、システム100(例えば、処理ユニット110を介して)は、車両200に、ターン、車線変更、加速の変更などの、1または複数の走行応答を生じさせ得る。
【0121】
1つの実施形態において、ステレオイメージ分析モジュール404は、処理ユニット110によって実行されたとき、撮像デバイス122、124および126のいずれかから選択された撮像デバイスの組み合わせによって取得された第1および第2のイメージセットのステレオイメージ分析を実行する、命令(コンピュータビジョンソフトウェアなど)を格納し得る。いくつかの実施形態において、処理ユニット110は、ステレオイメージ分析を実行するように、第1および第2のイメージセットからの情報と、追加の知覚情報(例えば、レーダからの情報)とを結合し得る。例えば、ステレオイメージ分析モジュール404は、撮像デバイス124によって取得されたイメージの第1のセットと、撮像デバイス126によって取得されたイメージの第2のセットとに基づいてステレオイメージ分析を実行するための命令を含み得る。以下の図6に関連して説明されるように、ステレオイメージ分析モジュール404は、車線標示、車両、歩行者、道路標識、高速道路出口ランプ、交通信号灯、危険物などの、第1および第2のイメージセット内の特徴のセットを検出するための命令を含み得る。分析に基づいて、走行応答モジュール408に関連して以下に説明されるように、処理ユニット110は、ターン、車線変更、加速の変更など、車両200に1または複数の走行応答を生じさせ得る。さらに、いくつかの実施形態において、ステレオイメージ分析モジュール404は、知覚情報が取り込みおよび処理される環境における、コンピュータビジョンアルゴリズムを使用してオブジェクトの検出および/またはラべリングを行うように構成され得るシステムなどの、訓練されたシステム(ニューラルネットワークまたはディープニューラルネットワークなど)、または、訓練されていないシステムに関連づけられた技法を実装し得る。1つの実施形態において、ステレオイメージ分析モジュール404、および/または他のイメージ処理モジュールは、訓練されたシステムおよび訓練されていないシステムの組み合わせを使用するように構成され得る。
【0122】
1つの実施形態において、速度および加速度モジュール406は、車両200の速度および/または加速度に変化を生じさせるように構成される、車両200内の1または複数のコンピューティングデバイスおよび電気機械デバイスから受信されるデータを、分析するように構成されたソフトウェアを格納し得る。例えば、処理ユニット110は、単眼イメージ分析モジュール402および/またはステレオイメージ分析モジュール404の実行から導出されるデータに基づいて車両200の標的速度を計算するように、速度および加速度モジュール406に関連づけられた命令を実行し得る。そのようなデータは、例えば、目標の位置、速度および/または加速度、近くの車両、歩行者、または道路オブジェクトに対する車両200の位置および/または速度、道路の車線標示に対する車両200の位置情報、などを含み得る。さらに、処理ユニット110は、知覚入力(例えば、レーダからの情報)、および、車両200のスロットリングシステム220、ブレーキシステム230、および/またはステアリングシステム240などの、車両200の他のシステムからの入力に基づいて車両200に関する標的速度を計算し得る。算出された標的速度に基づいて、処理ユニット110は、車両200のスロットリングシステム220、ブレーキシステム230、および/またはステアリングシステム240に電子信号を送信して、例えば、車両200のブレーキの物理的な押し下げ、またはアクセラレータの緩和のオフによる、速度および/または加速度の変更を引き起こし得る。
【0123】
1つの実施形態において、走行応答モジュール408は、単眼イメージ分析モジュール402および/またはステレオイメージ分析モジュール404の実行から導出されたデータに基づいて所望の走行応答を判定するように、処理ユニット110によって実行可能なソフトウェアを格納し得る。そのようなデータは、近くの車両、歩行者、道路オブジェクト、車両200に関する目標位置情報、などに関連づけられた位置および速度情報を含み得る。加えて、いくつかの実施形態において、走行応答は、地図データ、予め定められた車両200の位置、および/または、車両200と、単眼イメージ分析モジュール402および/またはステレオイメージ分析モジュール404の実行から検出された1または複数のオブジェクトとの間の相対速度または相対加速度に、(部分的にまたは完全に)基づき得る。走行応答モジュール408は、また、知覚入力(例えば、レーダからの情報)、および、車両200のスロットリングシステム220、ブレーキシステム230、およびステアリングシステム240などの、車両200の他のシステムからの入力に基づいて所望の走行応答を判定し得る。所望の走行応答に基づいて、処理ユニット110は、予め定められた角度の回転を実現するように、車両200のスロットリングシステム220、ブレーキシステム230、およびステアリングシステム240に電子信号を送信して、例えば車両200のステアリングホイールを回転させることによって所望の走行応答を引き起こし得る。いくつかの実施形態において、処理ユニット110は、車両200の速度の変更の算出のために、速度および加速度モジュール406の実行への入力として、走行応答モジュール408(例えば、所望の走行応答)の出力を用い得る。
【0124】
さらに、本明細書に開示されたいかなるモジュール(例えばモジュール402、404および406)も、訓練されたシステム(ニューラルネットワークまたはディープニューラルネットワークなど)、または訓練されていないシステムに関連づけられた技法を実装し得る。
【0125】
図5Aは、開示される実施形態と合致する、単眼イメージ分析に基づいて1または複数の走行応答を生じさせる、例示的なプロセス500Aを示すフローチャートである。段階510において、処理ユニット110は、処理ユニット110とイメージ取得ユニット120との間のデータインタフェースを介して複数のイメージ128を受信し得る。例えば、イメージ取得ユニット120に含まれるカメラ(視野202を有する撮像デバイス122など)は、車両200の前方(または、例えば、車両の側部または後部)の領域の複数のイメージを取り込んで、それらを、データ接続(例えば、デジタル、有線、USB、無線、Bluetoothなど)を介して、処理ユニット110に送信し得る。処理ユニット110は、以下に図5Bから図5Dに関連してさらに詳細に説明されるように、段階520において、単眼イメージ分析モジュール402を実行して、複数のイメージを分析し得る。分析を実行することによって、処理ユニット110は、車線標示、車両、歩行者、道路標識、高速道路出口ランプ、交通信号灯などの、イメージのセット内の特徴のセットを検出し得る。
【0126】
処理ユニット110は、また、段階520において、単眼イメージ分析モジュール402を実行して、例えば、トラックのタイヤの部品、抜け落ちた道路標識、ばらの貨物、小動物などの、様々な道路障害物を検出し得る。道路障害物は、構造、形状、サイズ、および色が様々であり得るため、そのような障害物の検出を、より課題にし得る。いくつかの実施形態において、処理ユニット110は、単眼イメージ分析モジュール402を実行して、複数のイメージ上でマルチフレーム分析を実行して、道路障害物を検出し得る。例えば、処理ユニット110は、道路の3D地図を構築するように、連続するイメージフレームの間のカメラの動きを推定し、フレーム間のピクセルにおける視差を計算し得る。処理ユニット110は、次に、3D地図を使用して、路面を検出し、同様に、路面上に存在する障害物を検出し得る。
【0127】
段階530において、処理ユニット110は、段階520において実行される分析、および、図4に関連して上で説明されたような技法に基づいて車両200に1または複数の走行応答を生じさせる、走行応答モジュール408を実行し得る。走行応答は、例えば、ターン、車線変更、加速度の変更などを含み得る。いくつかの実施形態において、処理ユニット110は、速度および加速度モジュール406の実行から導出されるデータを使用して、1または複数の走行応答を生じさせ得る。加えて、複数の走行応答は、同時に、連続して、またはそれらの任意の組み合わせで生じ得る。例えば、処理ユニット110は、車両200をある車線に変更させ、次に、例えば、車両200のステアリングシステム240およびスロットリングシステム220に制御信号を逐次的に伝送することによって加速させる。代替的に、処理ユニット110は、例えば、車両200のブレーキシステム230およびステアリングシステム240に制御信号を同時に伝送することによって、車両200にブレーキをかけさせながら、同時に車線を変更させ得る。
【0128】
図5Bは、開示される実施形態と合致して、イメージのセットにおいて、1または複数の車両および/または歩行者を検出する例示的なプロセス500Bを示すフローチャートである。処理ユニット110は、プロセス500Bを実装する単眼イメージ分析モジュール402を実行し得る。段階540において、処理ユニット110は、可能性のある車両および/または歩行者を表す、候補オブジェクトのセットを判定し得る。例えば、処理ユニット110は1または複数のイメージをスキャンし、そのイメージを1または複数の予め定められたパターンと比較し、関心のあるオブジェクト(例えば、車両、歩行者、またはそれらの部分)を含み得る可能な位置を各イメージの範囲内で識別し得る。予め定められたパターンが、「誤ったヒット」である高速および、「喪失」である低速を実現するように設計され得る。例えば、処理ユニット110は、候補オブジェクトを可能性のある車両または歩行者として識別するための予め定められたパターンとの、低い閾値の類似性を使用し得る。そうすることにより、処理ユニット110が、車両または歩行者を表す候補オブジェクトを喪失する(例えば、識別しない)確率を低減することを可能にし得る。
【0129】
段階542において、処理ユニット110は、分類基準に基づいて、特定の候補(例えば、無関係または関連性の低いオブジェクト)を除くように、候補オブジェクトのセットをフィルタリングし得る。そのような基準は、データベース(例えば、メモリ140に格納されたデータベース)に格納されたオブジェクトの種類に関連づけられた様々なプロパティから導出され得る。プロパティは、オブジェクト形状、寸法、テクスチャ、位置(例えば、車両200に対しての)などを含み得る。したがって、処理ユニット110は、候補オブジェクトのセットから誤った候補を拒否する基準の、1または複数のセットを使用し得る。
【0130】
段階544において、処理ユニット110は、候補オブジェクトのセットにおけるオブジェクトが、車両および/または歩行者を表すかどうかを判定するように、イメージの複数のフレームを分析し得る。例えば、処理ユニット110は、検出された候補オブジェクトを順次のフレームにわたってトラッキングし得、検出されたオブジェクトに関連づけられたフレームごとのデータ(例えば、サイズ、車両200に対しての位置など)を蓄積し得る。加えて、処理ユニット110は、検出されたオブジェクトに関するパラメータを推定し得、オブジェクトのフレームごとの位置データを予測位置と比較し得る。
【0131】
段階546において、処理ユニット110は、検出されたオブジェクトに関する測定値のセットを構築し得る。そのような測定は、例えば、検出されたオブジェクトに関連づけられた位置、速度、および加速度値(車両200に対しての)を含み得る。いくつかの実施形態において、処理ユニット110は、カルマンフィルタまたは線形二次推定(LQE)などの、一連の時間ベースの観測を用いた推定技法に基づいて、および/または、異なるオブジェクトの種類(例えば、車、トラック、歩行者、自転車、道路標識など)に関する利用可能なモデリングデータに基づいて測定値を構築し得る。カルマンフィルタは、オブジェクトのスケールの測定値に基づき得、ここで、スケール測定値は、衝突までの時間(例えば、車両200がオブジェクトに達するまでの時間量)に比例する。したがって、段階540-546を実行することにより、処理ユニット110は、取り込まれたイメージのセット内に現れる車両および歩行者を識別し得、車両および歩行者に関連づけられた情報(例えば、位置、速度、サイズ)を導出し得る。識別子および導出された情報に基づいて、処理ユニット110は、上の図5Aに関連して説明されるように、車両200において1または複数の走行応答を生じさせ得る。
【0132】
段階548において、処理ユニット110は、「誤ったヒット(false hit)」の検出の確率と、車両または歩行者を表す候補オブジェクトの喪失の確率とを低減するように、1または複数のイメージのオプティカルフロー分析を実行し得る。オプティカルフロー分析は、例えば、他の車両および歩行者に関連づけられた1または複数のイメージにおいて、路面の動きとは別個の、車両200に対する動きパターンを分析することを指し得る。処理ユニット110は、異なる時間に取り込まれた、複数のイメージフレームにわたってオブジェクトの異なる位置を観測することによって、候補オブジェクトの動きを計算し得る。処理ユニット110は、候補オブジェクトの動きを算出するための数学的モデルへの入力として、位置および時間値を使用し得る。したがって、オプティカルフロー分析は、近くの車両200である車両および歩行者を検出する別の方法を提供し得る。処理ユニット110は、段階540-546と組み合わせてオプティカルフロー分析を実行し得、車両および歩行者の検出に関する冗長性を提供し得、システム100の信頼性を増大させ得る。
【0133】
図5Cは、開示される実施形態と合致する、イメージのセットにおいて路面標示および/または車線形状情報を検出するための、例示的なプロセス500Cを示すフローチャートである。処理ユニット110は、プロセス500Cを実装するように、単眼イメージ分析モジュール402を実行し得る。段階550において、処理ユニット110は、1または複数のイメージをスキャンすることによって、オブジェクトのセットを検出し得る。車線標示、車線形状情報、および他の関係する路面標示のセグメントを検出するように、処理ユニット110は、オブジェクトのセットをフィルタリングし、無関係である旨を判定されたもの(例えば、わずかなくぼみ、小さな岩など)を除き得る。段階552において、処理ユニット110は、同じ路面標示または車線標示に属する段階550において検出されたセグメントを、共にグループ化し得る。グループ化に基づいて、処理ユニット110は、数学的モデルなどの、検出されたセグメントを表すモデルを展開し得る。
【0134】
段階554において、処理ユニット110は、検出されたセグメントに関連づけられた測定値のセットを構築し得る。いくつかの実施形態において、処理ユニット110は、イメージ平面から現実世界の平面上に、検出されたセグメントの射影を生成し得る。射影は、検出された道路の位置、傾き、湾曲、および湾曲の導関数などの物理的特性に対応する係数を有する3次多項式を用いて特徴づけられ得る。射影の生成において、処理ユニット110は、車両200に関連づけられたピッチおよびロールの変化量と同様に、路面における変化を考慮に入れ得る。さらに、処理ユニット110は、路面上に示された位置および動きのきっかけを分析することによって、道路高度をモデリングし得る。さらに、処理ユニット110は、1または複数のイメージにおける特徴点のセットをトラッキングすることによって、車両200に関連づけられたピッチおよびロールの変化量を推定し得る。
【0135】
段階556において、処理ユニット110は、例えば、検出されたセグメントを連続するイメージフレームにわたってトラッキングし、検出されたセグメントに関連づけられたフレームごとのデータを蓄積することによって、マルチフレーム分析を実行し得る。処理ユニット110がマルチフレーム分析を実行するにつれて、段階554において構築される測定値のセットは、より信頼できるものになり、次第により高い信頼水準と関連づけられるものになり得る。したがって、段階550、552、554および556を実行することによって、処理ユニット110は、取り込まれたイメージのセット内に現れる路面標示を識別し得、車線形状情報を導出し得る。識別子および導出された情報に基づいて、処理ユニット110は、上の図5Aに関連して説明されるように、車両200に1または複数の走行応答を生じさせ得る。
【0136】
段階558において、処理ユニット110は、その周囲のコンテキストにおいて、車両200の安全モデルをさらに展開するように、追加の情報源を考慮し得る。処理ユニット110は、システム100が安全に車両200の自律的な制御を実行し得るコンテキストを画定するように、安全モデルを使用し得る。安全モデルを展開するように、いくつかの実施形態において、処理ユニット110は、他の車両の位置および動き、検出された道路の縁部および障害物、および/または、地図データから抽出された一般的な道路形状説明(地図データベース160からのデータなど)を考慮し得る。追加の情報源を考慮することによって、処理ユニット110は、路面標示および車線形状を検出するための冗長性を提供し得、システム100の信頼性を増大し得る。
【0137】
図5Dは、開示される実施形態と合致する、イメージのセットにおいて交通信号灯を検出するための例示的なプロセス500Dを示すフローチャートである。処理ユニット110は、プロセス500Dを実装するように、単眼イメージ分析モジュール402を実行し得る。段階560において、処理ユニット110は、イメージのセットをスキャンし、交通信号灯を含む可能性があるイメージ内の位置に現れるオブジェクトを識別し得る。例えば、処理ユニット110は、候補オブジェクトのセットを構築するように、識別されたオブジェクトをフィルタリングし得、交通信号灯に対応する可能性が低いそれらのオブジェクトを排除する。フィルタリングは、形状、寸法、テクスチャ、位置(例えば,車両200に対しての)などの、交通信号灯に関連づけられた様々な特性に基づいて行われ得る。そのような特性は、複数の例の交通信号灯および交通制御信号に基づき得、データベースに格納され得る。いくつかの実施形態において、処理ユニット110は、可能性のある交通信号灯を反映する候補オブジェクトのセットにマルチフレーム分析を実行し得る。例えば、処理ユニット110は、連続するイメージフレームにわたって候補オブジェクトをトラッキングし得、候補オブジェクトの現実世界での位置を推定し得、動いているそれらのオブジェクト(交通信号灯の可能性が低い)をフィルタリングして取り除き得る。いくつかの実施形態において、処理ユニット110は、候補オブジェクトに色分析を実行し得、可能性のある交通信号灯の内側に現れる、検出された色の相対位置を識別し得る。
【0138】
段階562において、処理ユニット110は、ジャンクションの形状を分析し得る。分析は、以下の任意の組み合わせに基づき得る。(i)車両200のいずれかの側部で検出された車線の数、(ii)道路に検出されたマーク(矢印など)、および、(iii)地図データから抽出されたジャンクションの説明(地図データベース160からのデータなど)。処理ユニット110は、単眼分析モジュール402の実行から導出された情報を用いた分析を行い得る。さらに、処理ユニット110は、段階560において検出された交通信号灯と、近くの車両200が現れる車線との一致を判定し得る。
【0139】
車両200がジャンクションに接近するにつれ、段階564において、処理ユニット110は分析されたジャンクションの形状、および検出された交通信号灯に関連づけられた信頼水準を更新し得る。例えば、ジャンクションに実際に現れた交通信号灯の数と比較された、ジャンクションに現れると推定された交通信号灯の数は、信頼水準に影響し得る。したがって、信頼水準に基づいて、安全状態を向上するために、処理ユニット110は、車両200の運転者に制御を委任し得る。段階560、562および564を実行することによって、処理ユニット110は、取り込まれたイメージのセット内に現れる交通信号灯を識別し得、ジャンクションの形状情報を分析し得る。識別および分析に基づいて、処理ユニット110は、上の図5Aに関連して説明されるように、車両200の1または複数の走行応答を生じさせ得る。
【0140】
図5Eは、開示される実施形態と合致する、車両経路に基づいて車両200に1または複数の走行応答を生じさせるための例示的なプロセス500Eを示すフローチャートである。段階570において、処理ユニット110は、車両200と関連づけられた初期車両経路を構築し得る。車両経路は、座標(x,z)で表される点のセットを用いて表され得、点のセットの中の2つの点の間の距離dは、1から5メートルの範囲にあり得る。1つの実施形態において、処理ユニット110は、左道路多項式および右道路多項式などの、2つの多項式を用いて初期車両経路を構築し得る。処理ユニット110は、2つの多項式の幾何的な中間点、および、もし位置ずれがあれば(位置ずれゼロは、車線の中央を移動することに対応し得る)、得られた車両経路に含まれる各点からの、予め定められた位置ずれ分の位置ずれ(例えば、スマート車線の位置ずれ)を、計算し得る。位置ずれは、車両経路の任意の2つの点の間のセグメントと垂直な方向となり得る。別の実施形態において、処理ユニット110は、1つの多項式および推定車線幅を用いて、推定車線幅の半分に予め定められた位置ずれ(例えば、スマート車線の位置ずれ)を加えた値で車両経路の各点を位置ずれさせる。
【0141】
段階572において、処理ユニット110は、段階570で構築された車両経路を更新し得る。処理ユニット110は、車両経路を表す点のセットの中の2つの点の間の距離dが、上で説明された距離dより小さくなるように、より高い解像度を用いて、段階570で構築された車両経路を再構成し得る。例えば、距離dは、0.1から0.3メートルの範囲にあり得る。処理ユニット110は、放物線スプラインアルゴリズムを用いて車両経路を再構成し得、それは車両経路の長さの合計に対応する(すなわち、車両経路を表す点のセットに基づく)累積距離ベクトルSを生成し得る。
【0142】
段階574において、処理ユニット110は、段階572で構築される更新された車両経路に基づいて、先読み点((x,z)として座標で表される)を判定し得る。処理ユニット110は、累積距離ベクトルSから先読み点を抽出し得、先読み点は、先読み距離および先読み時間に関連づけられ得る。先読み距離は、10から20メートルの範囲に下限を有し得、車両200の速度と先読み時間との積として算出され得る。例えば、車両200の速度が減少するにつれて、先読み距離もまた減少し得る(例えば、下限に達するまで)。先読み時間は、0.5から1.5秒の範囲にあり得、ヘッディングエラートラッキング制御ループなどの、車両200に走行応答を生じさせることに関連づけられた1または複数の制御ループのゲインに反比例し得る。例えば、ヘッディングエラートラッキング制御ループのゲインは、ヨー角速度ループ、ステアリングアクチュエータループ、車横方向ダイナミクスなどの帯域幅に依存し得る。したがって、ヘッディングエラートラッキング制御ループのゲインがより高くなると、先読み時間はより低くなる。
【0143】
段階576において、処理ユニット110は、段階574で判定された先読み点に基づいてヘッディングエラーおよびヨー角速度コマンドを判定し得る。処理ユニット110は、先読み点の逆正接、例えば、arctan(x/z)を算出することによってヘッディングエラーを判定し得る。処理ユニット110は、ヘッディングエラーとハイレベル制御ゲインの積として、ヨー角速度コマンドを判定し得る。先読み距離が下限ではない場合は、ハイレベル制御ゲインは、(2/先読み時間)に等しくなり得る。そうでなければ、ハイレベル制御ゲインは、(2*車両200の速度/先読み距離)に等しくなり得る。
【0144】
図5Fは、開示される実施形態と合致する、先行車両が車線を変更中かどうかを判定するための例示的なプロセス500Fを示す、フローチャートである。段階580において、処理ユニット110は、先行車両(例えば、車両200の前方を移動する車両)に関連づけられた走行情報を判定し得る。例えば、処理ユニット110は、上の図5Aおよび5Bに関連して説明される技法を用いて、先行車両の位置、速度(例えば、方向および速さ)、および/または、加速度を判定し得る。処理ユニット110は、また、上の図5Eに関連して説明される技法を用いて、1または複数の道路多項式、先読み点(車両200に関連づけられた)、および/または、スネイルトレイル(例えば、先行車両によって占められた経路を記述する点のセット)を判定し得る。
【0145】
段階582において、処理ユニット110は、段階580で判定された走行情報を分析し得る。1つの実施形態において、処理ユニット110は、スネイルトレイルと道路多項式との間の距離を計算し得る(例えば、軌跡に沿って)。軌跡に沿ったこの距離の差異が、予め定められた閾値(例えば、直線道路では0.1から0.2メートル、適度にカーブした道路では0.3から0.4メートル、および、急カーブの道路では0.5から0.6メートル)を超える場合、処理ユニット110は、先行車両が車線を変更しそうである旨を判定し得る。複数の車両が車両200の前方で移動していることが検出された場合には、処理ユニット110は、各車両に関連づけられたスネイルトレイルを比較し得る。比較に基づいて、処理ユニット110は、そのスネイルトレイルが他の車両のスネイルトレイルと合致しない車両が、車線を変更しそうである旨を判定し得る。加えて、処理ユニット110は、(先行車両に関連づけられた)スネイルトレイルの曲率を、先行車両が移動している道路セグメントの予想される曲率と比較し得る。予想される曲率は、地図データ(例えば、地図データベース160からのデータ)、道路多項式から、他の車両のスネイルトレイル、道路についての予備知識、などから抽出され得る。道路セグメントのスネイルトレイルの曲率と予想される曲率との差異が予め定められた閾値を超える場合、処理ユニット110は、先行車両が車線を変更しそうである旨を判定し得る。
【0146】
別の実施形態において、処理ユニット110は、特定の期間(例えば、0.5から1.5秒)、先行車両の瞬間の位置を先読み点(車両200に関連づけられた)と比較し得る。先行車両の瞬間の位置と先読み点との間の距離が特定の期間の最中に変化し、かつ、変化の累積的合計が予め定められた閾値(例えば、直線道路では0.3から0.4メートル、適度にカーブした道路では0.7から0.8メートル、急カーブの道路では1.3から1.7メートル)を超えた場合、処理ユニット110は、先行車両が車線を変更しそうである旨を判定し得る。別の実施形態において、処理ユニット110は、軌跡に沿って移動する横方向距離と、予想されるスネイルトレイルの曲率とを比較することによって、スネイルトレイルの形状を分析し得る。予想される曲率半径は、計算(δ +δ )/2/(δ)に従って判定され得、ここで、δは移動した横方向距離を表し、δは移動した縦方向距離を表す。移動する横方向距離と予想される曲率との差異が予め定められた閾値(例えば、500から700メートル)を超える場合、処理ユニット110は、先行車両が車線を変更しそうである旨を判定し得る。別の実施形態において、処理ユニット110は、先行車両の位置を分析し得る。先行車両の位置が道路多項式をあいまいにする(例えば、先行車両が道路多項式の上部にオーバーレイする)場合、次に、処理ユニット110は、先行車両が車線を変更しそうである旨を判定し得る。別の車両が先行車両の前方に検出され、2つの車両のスネイルトレイルが平行でないような、位置に先行車両がある場合において、処理ユニット110は、(より近い)先行車両が車線を変更しそうである旨を判定し得る。
【0147】
段階584において、処理ユニット110は、段階582で実行された分析に基づいて、先行車両200が車線を変更しているか否かを判定し得る。例えば、処理ユニット110は、段階582で実行された個別の分析の重み付けされた平均に基づいて、判定を行い得る。そのようなスキームのもとで、例えば、先行車両が特定の種類の分析に基づいて車線を変更しそうである旨の、処理ユニット110による決定は、「1」の値を割り当てられ得る(「0」は、先行車両が車線を変更しそうでない旨の判定を表す)。段階582で実行された異なる分析は異なる重みを割り当てられ得、開示される実施形態は、分析と重みとのいかなる特定の組み合わせにも限定されない。
【0148】
図6は、開示される実施形態と合致して、ステレオイメージ分析に基づいて1または複数の走行応答を生じさせるための、例示的なプロセス600を示すフローチャートである。段階610において、処理ユニット110は、データインタフェース128を介して第1および第2の複数のイメージを受信し得る。例えば、(視野202および204を有する撮像デバイス122および124などの)イメージ取得ユニット120に含まれるカメラは、車両200の前方の領域の第1および第2の複数のイメージを取り込み得、それらを、デジタル接続(例えば、USB、無線、Bluetoothなど)を介して、処理ユニット110に送信し得る。いくつかの実施形態において、処理ユニット110は、2以上のデータインタフェースを介して第1および第2の複数のイメージを受信し得る。開示される実施形態は、任意の特定のデータインタフェース構成またはプロトコルに限定されない。
【0149】
段階620において、処理ユニット110はステレオイメージ分析モジュール404を実行して、第1および第2の複数のイメージのステレオイメージ分析を実行し、車両の前部の道路の3D地図を生成し、車線標示、車両、歩行者、道路標識、高速道路出口ランプ、交通信号灯、道路障害物などのイメージ内の特徴を検出し得る。ステレオイメージ分析は、上に図5Aから図5Dに関連して説明される段階と同様の態様で実行され得る。例えば、処理ユニット110は、ステレオイメージ分析モジュール404を実行して、第1および第2の複数のイメージ内の候補オブジェクト(例えば、車両、歩行者、路面標示、交通信号灯、道路障害物など)を検出し、様々な基準に基づいて、候補オブジェクトのサブセットをフィルタリングして取り除き、マルチフレーム分析を実行し、測定値を構築し、残りの候補オブジェクトの信頼水準を判定し得る。上記の段階の実行において、処理ユニット110は、イメージの1セットからの情報のみよりむしろ、第1および第2の複数のイメージの両者からの情報を考慮し得る。例えば、処理ユニット110は、第1および第2の複数のイメージの両者において現れる候補オブジェクトに関して、ピクセルレベルのデータ(または、取り込まれたイメージの2つのストリームのうちの他のデータサブセット)における差異を分析し得る。別の例として、処理ユニット110は、2つのイメージストリームがある場合、オブジェクトが複数のイメージのうち1つにおいて現れるが、他のイメージには現れないか、または、現れているオブジェクトに対して存在し得る他の差異に対して現れる旨を観測することによって、候補オブジェクトの位置および/または速度(例えば、車両200に対しての)を推定し得る。例えば、車両200に対しての位置、速度、および/または加速度が、イメージストリームの1つまたは両方に現れるオブジェクトに関連づけられた特徴の、軌跡、位置、移動特性などに基づいて判定され得る。
【0150】
段階630において、処理ユニット110は、段階620で実行された分析、および、図4に関連して上で説明されたような技法に基づいて車両200に1または複数の走行応答を生じさせる、走行応答モジュール408を実行し得る。走行応答は、例えば、ターン、車線変更、加速度の変更、速度の変更、ブレーキなどを含み得る。いくつかの実施形態において、処理ユニット110は、速度および加速度モジュール406の実行から導出されたデータを使用して、1または複数の走行応答を生じさせ得る。加えて、複数の走行応答は、同時に、連続して、または、それらの任意の組み合わせで生じ得る。
【0151】
図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にデータを通信するための関連するデータインタフェースを有し得る。開示される実施形態は、任意の特定のデータインタフェース構成またはプロトコルに限定されない。
【0152】
段階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の複数のイメージに行われる分析の種類に限定されない。
【0153】
いくつかの実施形態において、処理ユニット110は、段階710および720において取得および分析されたイメージに基づいて、システム100上でテストを実行し得る。そのようなテストは、撮像デバイス122、124および126の特定の構成に関するシステム100の全体的な性能の指標を提供し得る。例えば、処理ユニット110は、「誤ったヒット(false hits)」(例えば、システム100が車両または歩行者の存在を間違って判定した場合)および「喪失(misses)」の割合を判定し得る。
【0154】
段階730において、処理ユニット110は、第1、第2、および第3の複数のイメージのうち2つから導出された情報に基づいて、車両200に1または複数の走行応答を生じさせ得る。第1、第2、および第3の複数のイメージのうち2つの選択は、例えば、複数のイメージのそれぞれで検出されたオブジェクトの数、種類、サイズなど、様々な要因に依存し得る。処理ユニット110は、また、イメージの質および分解能、イメージ内で反射される効果的な視野、取り込まれたフレームの数、1または複数の関心のあるオブジェクトが、実際にフレームに現れる程度(例えば、オブジェクトが現れるフレームのパーセンテージ、そのようなフレームのそれぞれにおいて現れるオブジェクトの割合など)、などに基づく選択を行い得る。
【0155】
いくつかの実施形態において、処理ユニット110は、1つのイメージ源から導出された情報が他のイメージ源から導出された情報と合致する程度を判定することによって、第1、第2、および第3の複数のイメージのうち2つから導出された情報を選択し得る。例えば、処理ユニット110は、各撮像デバイス122、124および126から導出された、処理された情報(単眼分析か、ステレオ分析か、または双方の任意の組み合わせによってかどうかを問わず)を結合し得、各撮像デバイス122、124および126から取り込まれたイメージにわたって一貫性のある視覚指標(例えば、車線標示、検出された車両およびその位置、および/または経路、検出された交通信号灯、など)を判定し得る。また、処理ユニット110は、取り込まれたイメージにわたって一貫性のない情報(例えば、車線を変更中の車両、車両200に過度に近い車両を示す車線モデル、など)を除き得る。したがって、処理ユニット110は、一貫性のある情報と一貫性のない情報との判定に基づいて、第1、第2、および第3の複数のイメージのうち2つから導出された情報を選択し得る。
【0156】
走行応答には、例えば、ターン、車線変更、加速の変化、などを含み得る。処理ユニット110は、段階720において実行された分析と、図4に関連して上で説明されたような技法とに基づいて1または複数の走行応答を生じさせ得る。処理ユニット110は、また、速度および加速度モジュール406の実行から導出されたデータを使用して、1または複数の走行応答を生じさせ得る。いくつかの実施形態において、処理ユニット110は、車両200と、第1、第2、および第3の複数のイメージのいずれかに検出されたオブジェクトとの相対位置、相対速度、および/または相対加速度に基づいて1または複数の走行応答を生じさせ得る。複数の走行応答は、同時に、連続して、またはそれらの任意の組み合わせで生じ得る。
【0157】
取り込まれたイメージの分析は、自律走行車両の走行に関するスパースマップモデルの生成および使用を可能にし得る。さらに、取り込まれたイメージの分析は、識別された車線標示を用いて自律走行車両の位置推定を可能にし得る。取り込まれたイメージに関する1または複数の特定の分析に基づく特定の特性の検出のための実施形態、およびスパースマップモデルを用いた自律走行車両の走行に関する実施形態は、図8Aから28を参照して以下に説明されるであろう。
【0158】
自律走行車両の走行のためのスパースロードモデル
【0159】
いくつかの実施形態において、開示されるシステムおよび方法は、自律走行車両の走行のためのスパースマップを使用し得る。特に、スパースマップは、道路セグメントに沿った自律走行車両の走行のためであり得る。例えば、スパースマップは、大きな件数のデータを格納および/または更新することなしで、自律走行車両を走行させる十分な情報を提供し得る。以下でさらに詳細に説明されるように、自律走行車両は、1または複数の格納された軌跡に基づいて1または複数の道路を走行するように、スパースマップを使用し得る。
【0160】
自律走行車両の走行のためのスパースマップ
【0161】
いくつかの実施形態において、開示されるシステムおよび方法は、自律走行車両の走行のためのスパースマップを生成し得る。例えば、スパースマップは、過剰なデータ格納またはデータ転送レートを必要とすることなしで、走行に関する十分な情報を提供し得る。以下でさらに詳細に説明されるように、車両(自律走行車両であり得る)は、スパースマップを使用して1または複数の道路を走行し得る。例えば、いくつかの実施形態において、スパースマップは、車両の走行に十分であり得る、道路および道路に沿った潜在的なランドマークに関連するデータを含み得るが、それはまた、示すデータ消費量が少ない。例えば、以下で詳細に説明されるスパースデータマップは、道路に沿って収集されたイメージデータなどの詳細な地図情報を含むデジタル地図と比較して、必要とする格納空間およびデータ転送帯域幅を大幅に少ないものとし得る。
【0162】
例えば、道路セグメントの詳細な表現を格納するよりむしろ、スパースデータマップは、道路に沿った好ましい車両経路の3次元多項式表現を格納し得る。この経路は、データ格納空間を非常にほとんど必要としないものであり得る。さらに、説明されるスパースデータマップにおいて、ランドマークが識別され得、走行の助けとなるスパースマップ道路モデルに含まれ得る。これらのランドマークは、車両の走行を可能にするのに適切な任意の間隔で配置され得るが、いくつかの場合において、そのようなランドマークは、識別される必要がなく、高密度かつ短間隔でモデルに含まれる必要がない。むしろ、いくつかの場合において、走行は、少なくとも50メートル、少なくとも100メートル、少なくとも500メートル、少なくとも1キロメートル、または少なくとも2キロメートル離れて間隔を置いたランドマークに基づいて可能になり得る。他の部分においてさらに詳細に説明されるように、スパースマップは、車両が車道に沿って移動するにつれて、撮像デバイス、グローバルポジショニングシステムセンサ、動きセンサなどの、様々なセンサおよびデバイスを備え付けられた車両によって収集または測定されたデータに基づいて生成され得る。いくつかの場合において、スパースマップは、特定の道路に沿った1または複数の車両の複数の運転の最中に収集されたデータに基づいて生成され得る。1または複数の車両の複数の運転を用いたスパースマップの生成は、スパースマップの「クラウドソーシング」と呼ばれ得る。
【0163】
開示される実施形態と合致して、自律走行車両システムは、走行に関するスパースマップを使用し得る。例えば、開示されるシステムおよび方法は、自律走行車両のための道路走行モデルを生成するようにスパースマップを配布し得、スパースマップおよび/または生成された道路走行モデルを用いて、道路セグメントに沿って自律走行車両を走行させ得る。本開示と合致するスパースマップは、自律走行車両が、関連づけられた道路セグメントに沿って移動するにつれて往来し得る予め定められた軌跡を表し得る、1または複数の3次元輪郭線を含み得る。
【0164】
本開示と合致するスパースマップは、また、1または複数の道路特徴を表すデータを含み得る。そのような道路特徴は、認識されたランドマーク、道路シグナチャプロファイル、および、車両の走行時に有用な任意の他の道路関連の特徴を含み得る。本開示と合致するスパースマップは、スパースマップに含まれる比較的少量のデータに基づいて、車両の自律走行を可能にし得る。例えば、道路縁部、道路曲率、道路セグメントに関連づけられたイメージ、または道路セグメントに関連づけられた他の物理的特徴を詳細に示すデータなどの、道路の詳細な表現を含むよりむしろ、スパースマップの開示される実施形態は、格納空間を比較的ほとんど必要とせず(および、スパースマップの部分が車両に転送されるときの帯域幅が比較的ほとんどない)、なおも十分な自律走行車両の走行を提供し得る。開示されたスパースマップのデータ消費量が少ないことは、以下でさらに詳細に説明されるように、必要とするデータが少量であるがなおも自律走行を可能とする道路関連要素の表現を格納することにより、いくつかの実施形態において実現され得る。
【0165】
例えば、様々な態様の道路の詳細な表現を格納するよりむしろ、開示されたスパースマップは、車両が道路に沿って従い得る1または複数の軌跡の多項式表現を格納し得る。したがって、道路に沿った走行を可能にする道路の物理的性質に関する詳細を格納するよりむしろ(または転送する必要よりむしろ)、開示されたスパースマップを用いて、車両は、いくつかの場合において、道路の物理態様を解釈する必要なしで、むしろ、特定の道路セグメントに沿う軌跡(例えば、多項式スプライン)によってそれが移動する経路を調整することによって、特定の道路セグメントに沿って走行し得る。このようにして、車両は、車道イメージ、道路パラメータ、道路レイアウトなどの格納を含む手法よりも、必要とする格納空間がかなり少なくてよい、格納された軌跡(例えば、多項式スプライン)に主に基づいて走行し得る。
【0166】
道路セグメントに沿った、格納された軌跡の多項式表現に加えて、開示されたスパースマップはまた、道路特徴を表し得るスモールデータオブジェクトを含み得る。いくつかの実施形態において、スモールデータオブジェクトはデジタルシグナチャを含み得、それは、道路セグメントに沿って移動する車両に搭載されたセンサ(例えば、カメラ、またはサスペンションセンサなどの他のセンサ)によって取得されたデジタルイメージ(またはデジタル信号)から導出される。デジタルシグナチャは、センサによって取得された信号に対して低減したサイズを有し得る。いくつかの実施形態において、デジタルシグナチャは、例えば、それに続く運転の最中に、センサによって取得される信号からの道路特徴を検出および識別するように構成される、分類関数と互換性があるように生成され得る。いくつかの実施形態において、デジタルシグナチャは、デジタルシグナチャが可能な限り小さい消費量を有しながら、その道路特徴と、それに続く時間に同じ道路セグメントに沿って移動する車両に搭載されたカメラによって取り込まれた道路特徴のイメージに基づいて格納されたシグナチャ(または、格納されたシグナチャがイメージに基づかない、および/または、他のデータを含む場合、センサによって生成されたデジタル信号)との相関または合致の能力を維持するように生成され得る。
【0167】
いくつかの実施形態において、データオブジェクトのサイズは、さらに、道路特徴の一意性と関連づけられ得る。例えば、車両に搭載されたカメラによって検出可能な道路特徴に関して、および、車両に搭載されたカメラシステムが、特定の種類の道路特徴に関連づけられたものとして、その道路特徴、例えば、道路標識に対応するイメージデータの区別を可能にする分類子と結合される場合には、および、そのような道路標識がその領域でローカルに一意的である場合(例えば、すぐ近くに一致する道路標識または同じ種類の道路標識がない場合)には、道路特徴の種類およびその位置を示すデータを格納することは十分であり得る。
【0168】
以下にさらに詳細に説明されるように、道路特徴(例えば、道路セグメントに沿ったランドマーク)は、比較的少ないバイト数で道路特徴を表し得るスモールデータオブジェクトとして格納され得、同時に、走行に関するそのような特徴を認識して、および用いて、十分な情報を提供する。一例において、道路標識は、それに基づいて車両の走行を行い得る、認識されたランドマークとして識別され得る。道路標識の表現は、例えば、ランドマークの種類(例えば、停止標識)を示す数バイトのデータと、ランドマークの位置(例えば、座標)を示す数バイトのデータを含む、スパースマップに格納され得る。ランドマークのそのような軽いデータによる表現(例えば、ランドマークに基づいた位置づけ、認識、および走行するために十分な表現を用いる)に基づく走行は、スパースマップに関連づけられたデータオーバーヘッドを大幅に増大させることなく、スパースマップに関連づけられた所望のレベルの走行機能性を提供し得る。この無駄がないランドマーク(および、他の道路特徴)の表現は、特定の道路特徴を検出、識別、および/または分類するように構成される、そのような車両に搭載されて含まれるセンサおよびプロセッサを利用し得る。
【0169】
例えば、標識、または特定の種類の標識さえも、与えられた領域においてローカルに一意的であるとき(例えば、他の標識または同じ種類の他の標識がないとき)、スパースマップは、ランドマークの種類を示すデータ(標識、または特定の種類の標識)を用い得、走行(例えば、自律走行)の最中に、自律走行車両に搭載されたカメラが、標識(または特定の種類の標識)を含む領域のイメージを取り込むとき、プロセッサは、イメージを処理して標識を検出し(実際にイメージ内に標識が示される場合)、イメージを標識(または特定の種類の標識)として分類し、イメージの位置を、スパースマップに格納された標識の位置と相関させ得る。
【0170】
道路特徴の表現
【0171】
いくつかの実施形態において、スパースマップは、道路セグメントに沿って延在する路面特徴と、道路セグメントに関連づけられた複数のランドマークとの、少なくとも1つの線による表現を含み得る。特定の態様において、スパースマップは「クラウドソーシング」を介して、例えば、1または複数の車両が道路セグメントを往来するにつれて取得される複数のイメージのイメージ分析によって生成され得る。
【0172】
目標軌跡および識別されたランドマークに加えて、スパースは、様々な他の道路特徴に関連する情報を含み得る。例えば、図9Aは、スパースマップに格納され得る特定の道路セグメントに沿う曲線の表現を示す。いくつかの実施形態において、道路の単独の車線は、道路の左側および右側の3次元多項式の説明によってモデリングされ得る。単独の車線の左側および右側を表すそのような多項式は、図8Aに示される。道路がいくつの車線を有し得るかに関わらず、道路は、図8Aに示されたものと類似したやり方で、多項式を用いて表され得る。例えば、複数車線道路の左側および右側は、図8Aに示されるものと類似する多項式によって表され得、複数車線道路上に含まれる中間車線標示(例えば、車線境界に表される破線マーク、異なる方向に移動する車線間の境界を表す黄色の実線など)もまた、図8Aに示されるものなどの多項式を用いて表され得る。
【0173】
図8Aに示されるように、車線800は、多項式(例えば、1次、2次、3次、または任意の適切な次数の多項式)を用いて表され得る。例示のために、車線800は2次元の車線として示され、多項式は2次元の多項式として示される。図8Aに図示されるように、車線800は、左側810および右側820を含む。いくつかの実施形態において、1より多い多項式が、道路または車線の境界の各側部の位置を表すように用いられ得る。例えば、左側810および右側820のそれぞれが、任意の適切な長さの複数の多項式によって表され得る。いくつかの場合において、多項式は約100mの長さを有し得るが、100mより大きいか、より小さい他の長さもまた用いられ得る。加えて、多項式は、車道に沿ってホスト車両が移動するにつれて、後に遭遇する多項式に基づいて走行する際のシームレスな遷移を容易にするために、互いに重なることがある。例えば、左側810および右側820のそれぞれは、約100メートルの長さのセグメント(第1の予め定められた範囲の例)に分けられた複数の3次多項式によって表わされ得、約50メートルにわたって互いに重なる。左側810を表す多項式と右側820を表す多項式は、同じ次数であってもそうでなくてもよい。例えば、いくつかの実施形態において、いくつかの多項式は2次多項式であり得、いくつかは3次多項式であり得、いくつかは4次多項式であり得る。
【0174】
図8Aに示される例において、車線800の左側810は、2つのグループの3次多項式によって表される。第1のグループは、多項式セグメント811、812および813を含む。第2のグループは、多項式セグメント814、815および816を含む。2つのグループは、互いに実質的に平行であるが、道路のそれぞれの側部の位置に従う。多項式セグメント811、812、813、814、815および816は、約100メートルの長さを有し、約50メートルが、並びで隣接したセグメントと重なる。あらかじめ留意されるように、しかしながら、異なる長さ、異なる重なり量の多項式もまた用いられ得る。例えば、多項式は、500m、1km、またはそれ以上の長さを有し得、重なり量は、0から50m、50mから100m、または100mより大きい、と変化し得る。加えて、2D空間(例えば、紙の表面)に延びる多項式を表すものとして図8Aに示されるように、この多項式は、X-Y湾曲に追加して、道路セグメントにおける高度変化を表すように、3次元(例えば、高さ成分を含む)で延在する曲線を表し得ることが、理解されるべきである。図8Aに示された例において、車線800の右側820はさらに、多項式セグメント821、822および823を有する第1のグループと、多項式セグメント824、825および826を有する第2のグループとによって表され得る。
【0175】
スパースマップの目標軌跡に戻ると、図8Bは、特定の道路セグメントに沿って移動する車両に関する目標軌跡を表す、3次元多項式を示す。目標軌跡は、ホスト車両が特定の道路セグメントに沿って移動するべきX-Y経路のみでなく、ホスト車両が道路セグメントに沿って移動するときに経験するであろう高度変化もまた表す。したがって、スパースマップにおける各目標軌跡は、図8Bで示された3次元多項式850のような1または複数の3次元多項式によって表され得る。スパースマップは、複数の軌跡(世界中の車道に沿った様々な道路セグメントに沿った車両の軌跡を表す、例えば、数100万または数10億またはそれ以上の数の軌跡)を含み得る。いくつかの実施形態において、各目標軌跡は、3次元多項式セグメントを接続するスプラインに対応し得る。
【0176】
スパースマップにおいて格納される多項式曲線のデータ消費量に関して、いくつかの実施形態において、各3次多項式は4つのパラメータによって表され得、それぞれ4バイトのデータを必要とする。100mごとに約192バイトのデータを必要とする3次多項式によって、適切な表現が取得され得る。これは、約100km/hrで移動するホスト車両に対するデータ使用/転送要件において、毎時約200kBに翻訳し得る。
【0177】
スパースマップは、形状記述子およびメタデータの組み合わせを用いた車線ネットワークを記述し得る。形状は、上で説明されたような多項式またはスプラインによって記述され得る。メタデータは、車線の数、特別な特性(相乗り車線など)、および、おそらく他のスパースラベルを記述し得る。そのような指標の合計の消費量はごくわずかであり得る。
【0178】
したがって、本開示の実施形態に記載のスパースマップは、道路セグメントに沿って延在する路面特徴の少なくとも1つの線による表現を含み得、各線による表現は、路面特徴に実質的に対応する道路セグメントに沿った経路を表す。いくつかの実施形態において、上で説明されたように、路面特徴の少なくとも1つの線による表現は、スプライン、多項式表現、または曲線を含み得る。さらに、いくつかの実施形態において、路面特徴は、道路縁部または車線標示のうち少なくとも一方を含み得る。加えて、「クラウドソーシング」に関して以下に説明されるように、路面特徴は、1または複数の車両が道路セグメントを往来するにつれて取得される複数のイメージのイメージ分析を介して識別され得る。
【0179】
図9Aは、スパースマップを構築または維持するプロセスの最中に取り込まれた軌跡の多項式表現を示す。スパースマップに含まれる目標軌跡の多項式表現は、同じ道路セグメントに沿った車両の以前の往来の軌跡を再構成した、2またはそれ以上の軌跡に基づいて判定され得る。いくつかの実施形態において、スパースマップに含まれる目標軌跡の多項式表現は、同じ道路セグメントに沿った車両の以前の往来の軌跡を再構成した、2またはそれ以上の軌跡のアグリゲーションであり得る。いくつかの実施形態において、スパースマップに含まれる目標軌跡の多項式表現は、同じ道路セグメントに沿った車両の以前の往来の軌跡を再構成した、2またはそれ以上の軌跡の平均であり得る。他の数学的操作もまた、道路セグメントに沿って往来する車両から収集された再構成された軌跡に基づいて、道路経路に沿った目標軌跡を構築するように用いられ得る。
【0180】
図9Aにおいて示されるように、道路セグメント900は、異なる時間に多数の車両200によって移動され得る。各車両200は、車両が道路セグメントを通った経路に関連するデータを収集し得る。特定の車両によって移動される経路は、いくつかの潜在的源の中でも特に、カメラデータ、加速度計情報、速度センサ情報、および/またはGPS情報に基づいて判定され得る。そのようなデータは、道路セグメントに沿って移動する車両の軌跡を再構成するように用いられ得、これらの再構成された軌跡に基づいて、目標軌跡(または複数の目標軌跡)は、特定の道路セグメントに関して判定され得る。そのような目標軌跡は、道路セグメントに沿って車両が移動するときの、(例えば、自律走行システムによってガイドされる)ホスト車両の好ましい経路を表し得る。
【0181】
図9Aにおいて示される例において、第1の再構成された軌跡901は、第1の期間(例えば、1日目)に道路セグメント900を往来する第1の車両から受信されたデータに基づいて判定され得、第2の再構成された軌跡902は、第2の期間(例えば、2日目)に道路セグメント900を往来する第2の車両から取得され得、第3の再構成された軌跡903は、第3の期間(例えば、3日目)に道路セグメント900を往来する第3の車両から取得され得る。各軌跡901、902および903は、3次元多項式などの多項式によって表され得る。いくつかの実施形態において、いかなる再構成された軌跡も、道路セグメント900を往来する車両に搭載されて組み合わせられ得ることに、留意されたい。
【0182】
加えて、または代替的に、そのような再構成された軌跡は、道路セグメント900を往来する車両から受信された情報に基づいて、サーバ側で判定され得る。例えば、いくつかの実施形態において、車両200は、道路セグメント900に沿ったそれらの動き(例えば、ステアリング角度、ヘッディング、時刻、位置、速度、感知された道路の形状、および/または、感知されたランドマーク、他にもあるが)に関連する1つまたは複数のサーバにデータを送信し得る。サーバは、受信されたデータに基づいて車両200に関する軌跡を再構成し得る。サーバは、また、第1、第2、および第3の軌跡901、902および903に基づいて、後の時刻に同じ道路セグメント900に沿って移動するであろう自律走行車両の走行をガイドするための目標軌跡を生成し得る。目標軌跡は、道路セグメントの単一の以前の往来に関連づけられ得るが、いくつかの実施形態において、スパースマップに含まれる各目標軌跡は、同じ道路セグメントを往来する車両の2またはそれ以上の再構成された軌跡に基づいて判定され得る。図9Aにおいて、目標軌跡は910によって表される。いくつかの実施形態において、目標軌跡910は、第1、第2、および第3の軌跡901、902および903の平均に基づいて生成され得る。いくつかの実施形態において、スパースマップに含まれる目標軌跡910は、2またはそれ以上の再構成された軌跡のアグリゲーション(例えば、重み付けされた組み合わせ)であり得る。軌跡を構築するように運転データを調整することは、図面29に関して以下にさらに説明される。
【0183】
図9Bおよび9Cは、地理的地域911内に存在する道路セグメントに関連づけられた目標軌跡の概念をさらに示す。図9Bに示されるように、地理的地域911内の最初の道路セグメント920は、複数車線の道路を含み得、それは第1方向の車両移動のために指定される2つの車線922と、第1方向とは反対の第2の方向への車両移動のために指定される2つの追加の車線924とを含む。車線922および車線924は、黄色の二重線923によって隔てられ得る。地理的地域911は、また、道路セグメント920と交差する分岐道路セグメント930を含み得る。道路セグメント930は、二車線道路を含み得、各車線は、異なる方向に移動するために指定される。地理的地域911は、また、停止線932、停止サイン934、速度制限サイン936、およびハザードサイン938などの他の道路特徴を含み得る。
【0184】
図9Cに示されるように、スパースマップは、地理的地域911内の車両の自律走行を支援するための道路モデルを含むローカルマップ940を含み得る。例えば、ローカルマップ940は、地理的地域911内の道路セグメント920および/または930に関連づけられた1または複数の車線に関する目標軌跡を含み得る。例えば、ローカルマップ940は、自律走行車両が車線922を往来するときにアクセスまたは依存し得る目標軌跡941および/または942を含み得る。同様に、ローカルマップ940は、自律走行車両が車線924を往来するときにアクセスまたは依存し得る目標軌跡943および/または944を含み得る。さらに、ローカルマップ940は、自律走行車両が道路セグメント930を往来するときにアクセスまたは依存し得る目標軌跡945および/または946を含み得る。目標軌跡947は、自律走行車両が車線920から(特に、車線920の最も右の車線に関連づけられた目標軌跡941に対して)道路セグメント930に(特に、道路セグメント930の第1の側に関連づけられた目標軌跡945に対して)移行するときに従うべき好ましい経路を表す。同様に、目標軌跡948は、自律走行車両が道路セグメント930から(特に、目標軌跡946に対して)道路セグメント924の部分に(特に、示されるように、車線924の左車線に関連づけられた目標軌跡943に対して)移行するときに従うべき好ましい経路を表す。
【0185】
スパースマップは、また、地理的地域911に関連づけられた他の道路関連の特徴の表現を含み得る。例えば、スパースマップは、また、地理的地域911で識別される1または複数のランドマークの表現を含み得る。そのようなランドマークは、停止線932に関連づけられた第1のランドマーク950、停止サイン934に関連づけられた第2のランドマーク952、速度制限サイン954に関連づけられた第3のランドマーク、およびハザードサイン938に関連づけられた第4のランドマーク956を含み得る。そのようなランドマークは、例えば、示された目標軌跡のいずれかに対するその現在の位置を判定するときに自律走行車両を助けるように用いられ得、車両はそのヘッディングを、判定された位置への目標軌跡の方向に合致するように調節し得る。
【0186】
いくつかの実施形態において、スパースマップは、また、道路シグナチャプロファイルを含み得る。そのような道路シグナチャプロファイルは、道路に関連づけられた少なくとも1つのパラメータにおける、任意の識別可能/測定可能な変動に関連づけられ得る。例えば、いくつかの場合において、そのようなプロファイルは、特定の道路セグメントの表面の粗さの変動、特定の道路セグメントに対する道路幅の変動、特定の道路セグメントに沿って塗装された破線の間の距離の変動、特定の道路セグメントに沿った道路曲率の変動、などの、路面情報の変動に関連づけられ得る。図9Dは、道路シグナチャプロファイル960の例を示す。プロファイル960は、上で挙げられた、または他の、いかなるパラメータをも表し得、一例で、プロファイル960は、例えば、特定の道路セグメントの車両移動としてサスペンション変位の量を示す出力を提供する1または複数のセンサをモニタリングすることによって取得された、路面の粗さの測定値を表し得る。
【0187】
代替的に、または同時に、プロファイル960は、特定の道路セグメントを移動する車両に搭載されたカメラを介して取得されたイメージデータに基づいて判定された、道路幅の変動を表し得る。そのようなプロファイルは、例えば、特定の目標軌跡に対する自律走行車両の特定の位置を判定する際に有用であり得る。すなわち、道路セグメントを往来するにつれて、自律走行車両は、道路セグメントに関連づけられた1または複数のパラメータに関連するプロファイルを測定し得る。測定されたプロファイルが、道路セグメントに沿った位置に対するパラメータ変動をプロットする予め定められたプロファイルと、相関/マッチングされ得る場合、次に、測定されて予め定められたプロファイルは(例えば、測定されて予め定められたプロファイルの対応する部分をオーバーレイすることによって)、道路セグメントに沿った現在のポジション、したがって、道路セグメントに関する目標軌跡に対する現在のポジションを判定するために用いられ得る。
【0188】
いくつかの実施形態において、スパースマップは、自律走行車両のユーザ、環境状況、および/または、運転に関連する他のパラメータに関連づけられた、異なる特性に基づいた異なる軌道を含み得る。例えば、いくつかの実施形態において、異なる軌跡は異なるユーザの好み、および/またはプロファイルに基づいて生成され得る。そのような異なる軌跡を含むスパースマップが、異なるユーザの異なる自律走行車両に提供され得る。例えば、何人かのユーザは有料道路を回避することを優先させることがあるが、他のユーザは、ルーティング上に有料道路があるかどうかに関わらず、最も短い、または最も速いルーティングを取得することを優先させることがある。開示されるシステムは、そのような異なるユーザの好みまたはプロファイルに基づいた異なる軌道を有する、異なるスパースマップを生成し得る。別の例として、何人かのユーザは高速車線を移動することを優先させることがあるが、他のユーザは、いつでも中央車線に位置を保持することを優先させることがある。
【0189】
異なる軌跡は、昼および夜、雪、雨、霧などの、異なる環境条件に基づいて生成され得、スパースマップに含まれ得る。異なる環境条件のもとで運転される自律走行車両は、そのような異なる環境条件に基づいて生成されるスパースマップを提供され得る。いくつかの実施形態において、自律走行車両上に提供されるカメラは、環境状況を検出し得、そのような情報を、スパースマップを生成および提供するサーバへ戻して提供し得る。例えば、サーバは、検出された環境状況のもとでの自律運転のためにより適切で、またはより安全であり得る軌跡を含むように、スパースマップを生成するか、またはすでに生成されたスパースマップを更新し得る。環境状況に基づいてスパースマップを更新することは、自律走行車両が道路に沿って移動するにつれて動的に実行され得る。
【0190】
また、運転に関連する他の異なるパラメータが、異なる自律走行車両に異なるスパースマップを生成および提供するための基準として用いられ得る。例えば、自律走行車両が高速度で移動するとき、ターンはよりきつくなり得る。自律走行車両が特定の軌跡に従うにつれてその車両が特定の車線内に保持され得るように、道路よりむしろ、特定の車線に関連づけられた軌跡が、スパースマップに含まれ得る。自律走行車両に搭載されたカメラによって取り込まれたイメージが、車両が車線の外にドリフトした(例えば、車線標示を越えた)旨を示すとき、特定の軌跡に従う指定された車線に車両を戻すための動作が、車両内に引き起こされ得る。
【0191】
図10は、複数の3次元スプライン1001、1002および1003によって表される例としての自律走行車両の道路走行モデルを示す。図10に示される曲線1001、1002および1003は、例示の目的のみである。各スプラインは、複数のデータ点1010を接続する1または複数の3次元多項式を含み得る。各多項式は、1次多項式、2次多項式、3次多項式、または異なる次数を有する任意の適切な多項式の組み合わせであり得る。各データ点1010は、複数の車両から受信された走行情報に関連づけられ得る。いくつかの実施形態において、各データ点1010は、ランドマークに関連するデータ(例えば、ランドマークのサイズ、位置、および識別情報)、および/または、道路シグナチャプロファイル(例えば、道路の形状、道路粗さプロファイル、道路曲率プロファイル、道路幅プロファイル)に関連づけられ得る。いくつかの実施形態において、いくつかのデータ点1010は、ランドマークに関連するデータに関連づけられ得、他のデータ点は、道路シグナチャプロファイルに関連するデータに関連づけられ得る。
【0192】
図11は、5つの別々の運転から受信される未加工の位置データ1110(例えば、GPSデータ)を示す。1つの運転は、同時に別々の車両によって往来された場合、別々の時間に同じ車両によって往来された場合、または、別々の時間に別々の車両によって往来された場合の、別の運転から分離され得る。位置データ1110の誤差、および同じ車線内の車両の異なる位置(例えば、1つの車両が、別の車両よりも車線の左により近いところを走り得る)を説明するように、リモートサーバは、1または複数の統計的技法を用いて地図の概要1120を生成して、未加工の位置データ1110の変動が実際の発散を表すか、統計的誤差を表すかを判定し得る。概要1120の各経路は、経路を形成する未加工のデータ1110に戻されてリンクされ得る。例えば、概要1120内のAとBとの間の経路は、運転2、3、4および5からの未加工のデータ1110にリンクされるが、運転1からはリンクされない。概要1120は、車両を走行させるために用いられるのに十分に詳細ではないことがある(なぜなら、例えば、それは上で説明されたスプラインとは異なり、同じ道路上で複数の車線からの運転を結合するからである)が、有用なトポロジカル情報を提供し得、交点を画定するように用いられ得る。
【0193】
走行に関する安全性および快適面からの制約
【0194】
走行モデルに加えて、自律走行車両は(完全に自律的、例えば、自動運転車両であろうと、部分的に自律的、例えば、1または複数の運転者支援システムまたは機能であろうと)、一般に、内側の搭乗者の快適性と同様に、他の運転者および歩行者の安全性を確実にする運転ポリシーを使用する。
【0195】
したがって、自律走行車両は、ホスト車両の環境での走行状態を感知し得る。例えば、車両は、ホスト車両に関連づけられた様々なセンサおよび感知システムからの入力に依存し得る。これらの入力は、1または複数の車載カメラ、GPS位置情報、加速度計出力、ユーザフィードバックからのイメージまたはイメージストリーム、または、1または複数のユーザインタフェースデバイス、レーダ、ライダなどへのユーザ入力を含み得る。カメラおよび/または任意の他の利用可能なセンサからのデータを含み得る感知は、地図情報と共に、「感知された状態」へと収集、分析、および考案され得、ホスト車両の環境においてシーンから抽出された情報を記述する。感知された状態は、任意の潜在的に感知された情報の中でも特に、目標車両、車線標示、歩行者、交通信号灯、道路の形状、車線形状、障害物、他のオブジェクト/車両との距離、相対速度、相対加速度に関連する、感知された情報を含み得る。教師あり機械学習が、提供された、感知されたデータに基づいて、感知状態出力をもたらすように、実装され得る。感知モジュールの出力は、ホスト車両の感知された走行「状態」を表し得、それは、以下に説明されるように、運転ポリシーにおいて用いられ得る。
【0196】
感知された状態は、ホスト車両に関連づけられた1または複数のカメラまたはイメージセンサから受信されたイメージデータに基づいて展開され得るが、走行の際の使用のための感知された状態は、任意の適切な、センサまたはセンサの組み合わせを用いて展開され得る。いくつかの実施形態において、感知された状態は、取り込まれたイメージデータに依存することなしで展開され得る。実際、本明細書で説明されるいかなる走行原則も、取り込まれたイメージデータに基づいて展開された、感知された状態に、ならびに、イメージをベースとしない他のセンサを用いて展開された、感知された状態に、適用可能であり得る。感知された状態は、また、ホスト車両の外部の源によって判定され得る。例えば、感知された状態は、ホスト車両から離れた源から受信された情報に基づいて(例えば、他の車両と共有された、中央サーバと共有された、または、ホスト車両の走行状態に関連づけられた情報の任意の他の源からの、センサ情報、処理された状態情報などに基づいて)、完全に、または部分的に展開され得る。
【0197】
自律走行車両は、感知された走行状態に応答してホスト車両が取得する1または複数の走行動作を決定するように、所望の運転ポリシーを実装し得る。ホスト車両の環境に存在する他のエージェント(例えば、目標車両または歩行者)がいない場合は、感知された状態の入力は、比較的直接的な形で処理され得る。感知された状態が、1または複数の他のエージェントとのネゴシエーションを必要とするときは、タスクはより複雑になる。(以下にさらに詳細に説明されるように)運転ポリシーからの出力を生成するように用いられる技術は、強化学習を含み得る。運転ポリシーの出力は、ホスト車両に関する少なくとも1つの走行動作を含み得、可能性のある所望の走行動作の中でも特に、所望の加速度(ホスト車両に関する更新された速度の変換につながり得る)、ホスト車両に関する所望のヨー角速度、所望の軌跡を含み得る。
【0198】
運転ポリシーからの出力に基づいて、自律走行車両は、ホスト車両に関連づけられた、1または複数のアクチュエータまたは制御されたデバイスのための制御命令を展開し得る。そのようなアクチュエータおよびデバイスは、アクセラレータ、1または複数のステアリング制御、ブレーキ、信号トランスミッタ、ディスプレイ、または、ホスト車両に関連づけられた走行操作の一部として制御され得る任意の他のアクチュエータまたはデバイスを含み得る。制御理論の態様が、制御命令を生成するように用いられ得る。ホスト車両の制御可能な構成要素への命令は、運転ポリシーの所望の走行目標または要件を実装し得る。
【0199】
上で説明された運転ポリシーに戻ると、いくつかの実施形態において、強化学習によって訓練されたシステムが、運転ポリシーを実装するように用いられ得る。他の実施形態において、運転ポリシーは、自律走行の最中に起こり得る様々なシナリオに「手動で」対処するように規定されたアルゴリズムを用いることにより、機械学習手法なしで実装され得る。そのような手法は、しかしながら、実行可能ではあるが、過度に単純な運転ポリシーをもたらすことがあり、機械学習に基づいて訓練されたシステムの柔軟性を失うことがある。訓練されたシステムは、例えば、複雑な走行状態を処理するように備え付けられるとより良く、以下のことを行うとより良い。タクシーが駐車しているか、搭乗者を乗せるか降ろすかのために止まっているかを判定する。歩行者がホスト車両の前方の街路を横切る意図があるかどうかを判定する。防御的に他のドライバの想定外の挙動から平静を保つ。目標車両および/または歩行者を含む高密度なトラフィックをうまく通り抜ける。特定の走行ルールがいつ中断するか、または他のルールがいつ拡張するかを決定する。感知されないが予測される条件(例えば、車または障害物の後ろから歩行者が現れるかどうか)を予測する。などである。強化学習に基づいて訓練されたシステムは、また、連続である動作空間と共に、連続かつ高次元である状態空間に対処するように備えられるとより良い。
【0200】
強化学習を用いたシステムの訓練は、感知された状態から走行動作へマッピングするように運転ポリシーを学習することを含み得る。運転ポリシーは関数
【数1】
であり得、ここでSは状態のセットであり、
【数2】
は動作空間(例えば、所望の速度、加速、ヨーコマンドなど)である。状態空間はS=S×Sであり、ここで、Sは感知状態であり、Sはポリシーによってセーブされた状態における追加の情報である。ディスクリートな時間間隔で行うと、時点tにおいて、現在の状態
【数3】
が観測され得、所望の動作
【数4】
を取得するようにポリシーが加えられ得る。
【0201】
システムは、様々な走行状態にさらすこと、システムにポリシーを加えさせること、報酬を提供すること(望ましい走行挙動に報酬を与えるように設計された報酬関数に基づく)、によって訓練され得る。報酬フィードバックに基づいて、システムは、ポリシーを「学習」し、望ましい走行動作をもたらすように訓練された状態になる。例えば、学習システムは、現在の状態
【数5】
を観測し得、ポリシー
【数6】
に基づいて動作
【数7】
を決定し得る。決定された動作(および動作の実装)に基づいて、環境は、学習システムによる観測のために次の状態
【数8】
に移動する。観測状態に応答して展開された各動作に関して、学習システムへのフィードバックは報酬信号
【数9】
である。
【0202】
強化学習(RL)の目標は、一般に、ポリシーπを見つけることである。通常、時点tにおいて状態sであって動作aを取っている瞬間の質を測定する報酬関数rがあると、仮定される。しかしながら、時点tにおいて動作aを取ることは、環境に影響を与え、したがって、将来の状態の値に影響を与える。結果として、どの動作を取得するかを決定するとき、現在の報酬が考慮に入れられるべきのみでなく、将来の報酬もまた考慮されるべきである。いくつかの事例において、より低い報酬の選択肢が現在取られている場合に将来においてより大きい報酬が実現し得るとシステムが判定するとき、システムは、たとえ特定の動作が別の有効な選択肢より低い報酬に関連づけられている場合でさえも、その特定の動作をとるべきである。これを形式化し、ポリシーπおよび初期状態sが
【数10】
にわたる分散を誘導する旨を観測する。ここで、エージェントが状態s=sで開始してそこからポリシーπに従う場合、確率ベクトル(r,...,r)は報酬r,...,rを観測する確率である。初期状態sの値は
【数11】
と定義され得る。
【0203】
計画対象時間をTに制限する代わりに、ある一定の
【数12】
をかけて、将来の報酬を割り引いて定義してもよい。
【数13】
【0204】
いかなる場合にも、最適なポリシーは
【数14】
の解であり、ここで、期待値は初期状態sにわたる。
【0205】
運転ポリシーシステムを訓練するためのいくつかの可能な手法がある。例えば、模倣手法(例えば、挙動クローニング)が用いられ得、そこではシステムが状態/動作の対から学習し、ここで、動作は特定の観測状態に応答する良好なエージェント(例えば、人間)によって選択されるであろうものである。人間の運転者が観測されると仮定する。この観測によって、多くの形(s、a)の例が取得され得、観測され得、運転ポリシーシステムを訓練するための基準として用いられ得、ここで、sは人間の運転者の状態であり、aは人間の運転者の動作である。例えば、
【数15】
となるようにポリシーπを学習するために、教師あり学習が用いられ得る。この手法には多くの利点の可能性がある。第1に、報酬関数を定義するという要件がない。第2に、学習は教師ありであり、オフラインで生じる(学習プロセスにおいてエージェントを加える必要がない)。この方法の欠点は、異なる人間の運転者は、および同じ人間の運転者でさえも、かれらのポリシーの選択が確定的ではないことである。したがって、
【数16】
が非常に小さい関数の学習は、しばしば実行できないことがある。そして、小さい誤差でさえも、時間とともに蓄積し、大きな誤差を生じさせることがある。
【0206】
別の技法が、ポリシーをベースとする学習に使用され得る。ここで、ポリシーは、適切な最適化技法(例えば、確率的勾配降下法)を用いてパラメータ形式で表され得、直接最適化され得る。この手法は、
【数17】
に与えられた問題を直接解決するためのものである。もちろん、問題を解決するには多くのやり方がある。この手法の1つの利点は、問題に直接取り組み、したがって、しばしば良好な現実的結果につながることである。1つの可能性のある欠点は、「オンポリシー(on-policy)」訓練をしばしば必要とすること、すなわち、πの学習が繰り返しプロセスであり、ここで、繰り返しjにおいては不完全ポリシーπを有し、それは次のポリシーπを構築するためのものであり、πに基づく動作をしながら環境とインタラクションしなければならない。
【0207】
システムは、また、数値ベースの学習(QまたはV関数の学習)によって訓練され得る。最適値関数V*の良好な概算が学習できると仮定する。最適なポリシーが構築され得る(例えば、ベルマン方程式に依存することによって)。数値ベースの学習のいくつかのバージョンは、オフライン(「オフポリシー(off-policy)」訓練と呼ばれる)で実装されることができる。値をベースとする手法のいくつかの欠点は、それのマルコフ前提への強い依存性と、必要となる複雑な関数の概算から表れ得る(値関数を概算することは、ポリシーを直接概算することよりも困難であり得る)。
【0208】
別の技法は、モデルをベースとする学習および計画(状態遷移の確率を学習すること、および最適なVを求める最適化問題を解決すること)を含み得る。これらの技法の組み合わせもまた、学習システムを訓練するように用いられ得る。この手法において、プロセスの動態は学習され得る。すなわち、(s、a)をとり、次の状態st+1にわたる分散を生じる関数である。この関数がひとたび学習されると、最適化問題が解決されて、値が最適であるポリシーπを見つけ得る。これを「計画(planning)」と呼ぶ。この手法の1つの利点は、学習部分が教師ありであることであり得、トリプレット(s、a、st+1)を観測することによってオフラインが加えられることができることである。この手法の1つの欠点は、「模倣(imitation)」手法に類似しており、学習プロセスにおける小さな誤差が蓄積して、ポリシーの不適切な実行が生じ得ることであり得る。
【0209】
運転ポリシーモジュール803を訓練する別の手法は、運転ポリシー関数を、意味論的に意味がある構成要素に分解することを含み得る。これは、ポリシーの部分の手動での実装を可能にし、それは、ポリシーの安全性を確実にし得、強化学習技法を用いてポリシーの他の部分の実装を可能にし、それは、多くのシナリオへの適応性、防御的挙動/攻撃的挙動の間で人間に近い平静を保つこと、および他のドライバへの人間に近いネゴシエーションを可能にし得る。技術的視点からは、強化学習手法は、いくつかの手法を結合して、扱いやすい訓練過程を提示し得、ここで、訓練の大部分は、記録されたデータか、自己構築されたシミュレータのいずれかを用いて実行され得る。
【0210】
いくつかの実施形態において、運転ポリシーモジュール803の訓練は、「選択肢(option)」機構に依存し得る。示すように、二車線高速道路に関する運転ポリシーの単純なシナリオを考慮する。直接RL手法において、ポリシーπは状態を
【数18】
にマッピングし、ここで、π(s)の第1の成分は所望の加速度コマンドであり、π(s)の第2の成分は、ヨー角速度である。修正された手法において、以下のポリシーが構築されることができる。
【0211】
自動巡航制御(ACC)ポリシー
【数19】
:このポリシーは、スムーズで事故のない運転を実装するように、常に0のヨー角速度を出力し、速度を変化させるのみである。
【0212】
ACC+左ポリシー
【数20】
:このポリシーの縦方向コマンドはACCコマンドと同じである。ヨー角速度は、安全な横方向移動(例えば左側に車がいる場合に左に移動しない)を保証するように、左車線の中央に向けて車両をセンタリングする直接的な実装である。
【0213】
ACC+右ポリシー
【数21】
:oと同じであるが、車両は右車線の中央に向けてセンタリングされ得る。
【0214】
これらのポリシーは、「選択肢」と呼ばれ得る。これらの「選択肢」に依存して、選択肢
【数22】
を選択するポリシーが学習されることができ、ここで、Oは有効な選択肢のセットである。1つの場合において、
【数23】
である。選択肢セレクタポリシー、πは、sごとに、
【数24】
とすることにより、実際のポリシー、
【数25】
を画定する。
【0215】
実務において、ポリシー関数は選択肢のグラフに分解され得る。選択肢のグラフは、有向非巡回グラフ(DAG)として編成される決定の階層的なセットを表すことができる。グラフの根ノード(root node)と呼ばれる特別なノードがある。このノードは、入ってくるノードを有しない。決定プロセスは、根ノードから始まり、「葉(leaf)」ノード(出ていく決定線がないノードを指す)に達するまでグラフを往来する。葉ノードに遭遇するとき、運転ポリシーは、葉ノードに関連づけられた所望の走行動作に関連づけられた加速およびステアリングコマンドを出力し得る。
【0216】
内部ノードは、その有効な選択肢のうちから子を選択するポリシーの実装をもたらす。内部ノードの有効な子のセットは、決定線を介して特定の内部ノードに関連づけられたすべてのノードを含む。
【0217】
システムを製造する決定の柔軟性は、選択肢のグラフの階層におけるそれらの位置を調節することをノードに可能にすることによって獲得され得る。例えば、いかなるノードも、自分自身が「重大(critical)」であると宣言することを可能にし得る。各ノードは、ノードがそのポリシー実装の重大な部分にある場合に「真(True)」を出力する、関数「重大である(is critical)」を実装し得る。例えば、車線変更(take-over)を担うノードは、操縦の中心にある間、自分自身が重大であると宣言し得る。これは、ノードuの子であるすべてのノードvを含み得、重大であると指定されたすべてのノードを通るノードvから葉ノードへの経路が存在する、ノードuの有効な子のセットに制約を課し得る。そのような手法は、一方では、各時間段階におけるグラフ上に所望の経路を通知することを可能にし得るが、他方では、特に、ポリシーの重大な部分が実装されている間、ポリシーの安定性を維持し得る。
【0218】
選択肢のグラフを画定することによって、運転ポリシーπ:S→Aの学習の問題は、グラフの各ノードに関するポリシーを画定する問題へと分解され得、ここで、内部ノードにおけるポリシーは、利用可能な子ノードのうちから選択すべきである。ノードのいくつかによっては、各々のポリシーが手動で実装され得(例えば、if-then型のアルゴリズムによって、観測状態に応答して動作のセットを規定する)、他のノードによっては、ポリシーは強化学習によって形成された、訓練されたシステムを用いて実装され得る。手動か、訓練され/学習された手法かの選択は、タスクに関連づけられた安全性の態様、および、その相対的な簡易性に依存し得る。選択肢グラフは、ノードのいくつかが直接的に実装されるような形で構築され得るが、他のノードは、訓練されたモデルに依存し得る。そのような手法は、システムの安全な動作を確実にすることができる。
【0219】
上で説明されたように、運転ポリシーへの入力は「感知された状態」であり、それは、例えば利用可能センサから取得した、環境地図をまとめる。運転ポリシーの出力は、最適化問題の解としての、軌跡を画定する願望のセット(オプションとして、厳格な制約のセットと一緒に)である。
【0220】
上で説明されたように、選択肢のグラフは、DAGとして編成された決定の階層的なセットを表す。グラフの「根」と呼ばれる特別なノードがある。根ノードは、入ってくる縁部(例えば、決定線)を有さない唯一のノードである。決定プロセスは、根ノードから始まり、「葉」ノード、すなわち、出ていく縁部がないノードに達するまでグラフを往来する。各内部ノードは、その利用可能な子のうちから子を拾うポリシーを実装すべきである。あらゆる葉ノードは、根から葉までの全体の経路に基づいて、願望のセット(例えば、ホスト車両に関する走行目標のセット)を画定するポリシーを実装すべきである。願望のセットは、感知された状態に直接基づいて定義された厳格な制約のセットと一緒に、その解が車両のための軌跡である最適化問題を確立する。厳格な制約は、システムの安全性をさらに増大するために使用され得、願望は、運転の快適性とシステムの人間に近い運転挙動を提供するように用いられることができる。最適化問題の解として提供される軌跡は、次に、軌跡を完成するように、ステアリング、ブレーキ、および/または、エンジンアクチュエータに提供されるべきコマンドを画定する。
【0221】
様々な意味論的な意味が、ホスト車両の環境にある目標車両に割り当てられ得る。例えば、いくつかの実施形態において、意味論的な意味は、以下の指定のいずれかを含み得る。1)非関連(not relevant):シーンにおいて感知された車両が現在関連していない旨を示す。2)隣の車線(next lane):感知された車両が、この車両に対して隣接した車線にあり、この車両に対して適切な位置ずれを維持すべきである旨を示す(正確な位置ずれは、願望および厳格な制約を与えられた軌跡を構築する最適化問題において算出され得、潜在的に、車両に依存し得る。選択肢のグラフのstay葉(stay leaf)は、目標車両の意味論的な種類を設定し、それは目標車両に対する願望を画定する)。3)道を与える(give way)。ホスト車両は、例えば、速度を下げることによって、感知された目標車両に道を与えるよう試みる(特に、ホスト車両が、目標車両がホスト車両の車線を切り分ける可能性がある旨を判定する場合)。4)道を取る(take way)。ホスト車両は、例えば、速度を増大させることによって、道の右に取って入るよう試みる。5)従う(follow)。ホスト車両はこの目標車両の後に従って、スムーズな運転を保持することを願望する。6)左/右の車線変更(takeover left/right)。これは、ホスト車両が、左または右車線に車線の変更を開始したいことを意味する。
【0222】
ノードの別の例は選択間隙ノードである。このノードは、ホスト車両が入ることを願望する、特定の目標車線における2つの目標車両の間の間隙を選択することを担い得る。形式IDjのノードを選択することによって、jの値によっては、ホスト車両が、軌跡最適化問題に関する願望を指定する葉に到着する。例えば、ホスト車両は、選択された間隙に到着するように操縦を行いたい。そのような操縦は、第1に、現在の車線における加速/ブレーキを含み得、次に、選択された間隙に入るための適切な時において目標車線へヘッディングを変更することを含み得る。選択間隙ノードが、適切な間隙を見つけることができない場合、それはアボートノードに遷移し得、それは、現在の車線の中央に戻るように移動して車線変更をキャンセルする旨の願望を画定する。
【0223】
上で説明されたように、選択肢のグラフのノードは、自分自身を「重大」であると宣言し得、それは、選択された選択肢が重大なノードを通ることを確実にし得る。形式的には、各ノードは、関数IsCriticalを実装する。根から葉まで、選択肢のグラフの前向き通過を実行して、軌跡プランナーの最適化問題を解決した後、後ろ向き通過が、葉から根に戻るように実行され得る。この後ろ向き通過に従って、通過におけるすべてのノードのIsCritical関数が呼ばれ得、すべての重大なノードのリストが保存され得る。次の時間のフレームに対応する前向き経路において、運転ポリシーは、根ノードから葉まですべての重大なノードを通って進む経路を選択することを要求し得る。
【0224】
例えば、追い越し動作が開始して、運転ポリシーがIDkに対応する葉に到着する状況において、例えば、ホスト車両が追い越し操縦の中央にいるときのstayノードは、選択を所望されないであろう。そのようなスムーズでない状況を回避するように、IDjノードは、それ自身が重大であると指定することができる。操縦の最中、軌跡プランナーの成功が観察され得、関数IsCriticalは、意図されたように追い越し操縦が経過した場合に「真」値を戻すであろう。この手法は、次の時間のフレームにおいて、追い越し操縦(別の場所に飛ぶよりもむしろ、はじめに選択された操縦の完了前の、潜在的に一貫性のない操縦)が続くことを確実にし得る。他方で、操縦の観察が、選択された操縦が意図されたように進行しない旨を示す場合、または操縦が不要または不可能になった場合、関数IsCriticalは「誤(False)」値を戻し得る。これは、選択間隙ノードが、次の時間のフレームに異なる間隙を選択すること、または、追い越し操縦を完全に中止することを可能にする。この手法は、一方では、各時間段階において選択肢のグラフ上の所望の経路の通知を可能にし得るが、他方では、実行の重大な部分の間にポリシーの安定性を促進する助けとなり得る。
【0225】
以下にさらに詳細に説明されるであろう、厳格な制約は、走行の願望とは区別され得る。例えば、厳格な制約は、計画された走行動作のフィルタリングの追加層を適用することによって安全な運転を確実にし得る。暗示された厳格な制約は、強化学習において形成された、訓練されたシステムの使用によってよりは、むしろ、手動によってプログラムおよび定義され得るものであり、感知された状態から判定されることができる。しかしながら、いくつかの実施形態において、訓練されたシステムは、適用して従うべき適用可能な厳格な制約を学習し得る。そのような手法は、運転ポリシーモジュール803が、適用可能な厳格な制約をすでに遵守している選択された動作に到達することを促進し得、それは、適用可能な厳格な制約に従わせるために、選択された動作に後で修正が必要となり得ることを、低減または解消させ得る。それでも、運転ポリシーが、予め定められた厳格な制約を考慮するように訓練されている場合でさえも、冗長な安全性測度として、厳格な制約が運転ポリシーの出力に適用されてもよい。
【0226】
可能性のある厳格な制約には多くの例がある。例えば、厳格な制約は、道路の縁部のガードレールと共に定義され得る。いかなる状況においても、ホスト車両がガードレールを通ることは可能にされ得ない。そのようなルールは、ホスト車両の軌跡上での厳格な横方向の制約を誘起する。厳格な制約の別の例は、道路バンプ(例えば、速度制御バンプ)を含み得、それは、バンプの前およびバンプを往来する間の、運転の速度に厳格な制約を誘起し得る。厳格な制約は、重大な安全性を考慮し得、したがって、訓練の最中に制約を学習する訓練されたシステムにのみ依存して定義されるよりむしろ、手動で定義され得る。
【0227】
厳格な制約とは対照的に、願望の目標は、快適な運転を可能にする、または実現するためのものであってもよい。上で説明されたように、例である願望は、ホスト車両を、ホスト車両の車線の中央に対応する車線内の横方向の位置に配置する目標を含み得る。別の願望は、はめ込むべき間隙のIDを含み得る。ホスト車両が車線の正確に中央にある、という要件はないが、代わりに、中央に可能な限り近くに置きたいという願望が、車線の中央からのずれがあった場合でさえも、確実にホスト車両を車線の中央に移行しやすくし得ることに注意されたい。願望は、重大な安全性でなくてもよい。いくつかの実施形態において、願望は、他の運転者および歩行者とのネゴシエーションが必要であることがある。願望を構築する1つの手法は、選択肢のグラフに依存し得、グラフの少なくともいくつかのノードにおいて実装されるポリシーは、強化学習に基づき得る。
【0228】
学習に基づいて訓練されたノードとして実装される選択肢のグラフのノードに関して、訓練のプロセスは、問題を、教師あり学習段階および強化学習段階に分けることを含み得る。教師あり学習段階において、(s,a)から
【数26】
への区別可能なマッピングが、
【数27】
となるように学習され得る。これは、「モデルに基づく」強化学習に類似し得る。しかしながら、ネットワークの前方ループにおいて、
【数28】
は、st+1の実際の値によって置き換えられ得、したがって、誤差累積の問題は解消する。
【数29】
の予測の役割は、将来からのメッセージを過去の動作に返すように伝搬することである。この意味において、アルゴリズムは、「モデルに基づく」強化学習と「ポリシーをベースとする学習」との組み合わせとなり得る。
【0229】
いくつかのシナリオにおいて提供され得る主要な要素は、動作の決定へと戻される、将来の損失/報酬とは区別可能な経路である。選択肢のグラフ構造によって、安全性の制約を含む選択肢の実装は、通常は区別可能ではない。この問題を解決するように、学習されたポリシーノードにおける子の選択は、確率的であり得る。すなわち、ノードは、確率ベクトルpを出力し得、それは、特定のノードのそれぞれの子が選択に用いられる確率を割り当てる。ノードがk個の子を有すると仮定し、各子から葉への経路の動作を
【数30】
とする。結果としての予測される動作は、したがって
【数31】
であり、それは、動作からpへの区別可能な経路をもたらし得る。実際には、動作aは、i~pに関してa(i)になるよう選択され得、aと
【数32】
の間の差異は、加算的ノイズと呼ばれ得る。
【0230】
所与のs、aにおける
【数33】
の訓練のために、教師あり学習は、現実のデータを一緒に用い得る。訓練のために、ノードシミュレータのポリシーが用いられることができる。後に、ポリシーの正確なチューニングが、現実のデータを用いてなされることができる。2つの概念が、シミュレーションをより現実的にし得る。第1に、模倣を用いて、大きな現実の世界のデータセットを用いて、最初のポリシーが「挙動クローニング」パラダイムを用いて構築され得る。いくつかの場合において、得られたエージェントは適切であり得る。他の場合には、得られたエージェントは、道路上の他のエージェントに関する非常に良好な最初のポリシーを、少なくとも形成する。第2に、セルフプレイを用いて、自分自身のポリシーが、訓練を増大するように用いられ得る。例えば、経験され得る他のエージェント(車/歩行者)の最初の実装を与えると、ポリシーは、シミュレータに基づいて訓練され得る。他のエージェントのいくつかは、新しいポリシーに置き換えられ得、プロセスは反復され得る。結果として、異なるレベルの精巧さを有する、一層様々な他のエージェントに対応すべきものとして、ポリシーは向上し続け得る。
【0231】
さらに、いくつかの実施形態において、システムは、マルチエージェント手法を実装し得る。例えば、システムは、複数の角度から取り込んだ様々な源および/またはイメージからのデータを考慮に入れ得る。さらに、いくつかの開示される実施形態は、ホスト車両を直接含まないがホスト車両に影響を与え得るイベントの先行を考慮し得、または、他の車両を含む予測不可能な状況につながり得るイベントの先行さえも考慮し得る(例えば、レーダは、先行車両を「見通し(see through)」得、ホスト車両に影響を与えるであろう避けられないイベント、または可能性が一層高いイベントの先行を「見通し」得る)ので、エネルギーの節約を提供し得る。
【0232】
グローバルな精度およびローカルな精度
【0233】
自律運転の文脈において、カメラ、センサなどからの測定の精度を十分に画定する(および、したがって、それへの条件を課す)ために、損失関数が定義され得る。したがって、シーンは、(車両、歩行者、車線標示などの)オブジェクトの有限セットSとして定義され得る。Sはホスト車両を含み、それはhとして示され得る。この文脈において、配置は、地図p:S
【数34】
を含み得、ここでp(h)=0=(0,0,0)である。したがって、p(a)の第1の座標は、オブジェクトaの横方向の位置を含み得、第2の座標は、オブジェクトaの縦方向の位置を含み得、最後の座標は、オブジェクトaの高さを含み得る。
【0234】
損失関数は、したがって、セットSにおいて、2つのオブジェクトaおよびbに対して、2つの配置pと
【数35】
との間で定義され得る。損失関数は、以下のように定義され得る。
【数36】
【0235】
損失関数への制約を課すことは、一般に現実的ではない。例えば、オブジェクトaが配置p(a)=(α,z,0)にある車両であり、オブジェクトbが配置p(b)=(-α,z,0)にある車線標示である場合、次に、それぞれ
【数37】
=p(a)+(βp(a)/||p(a)||)および
【数38】
=p(b)におけるaおよびbの第2の配置は、βの損失をもたらすであろう。したがって、オブジェクトaおよびbが150メートルの縦方向の位置にあって、損失βが0.2(すなわち、20%)である場合、次に、これは大部分の損失を許容できないものとするであろうから、20cmの絶対的損失制約を課すのは不可能である。
【0236】
したがって、以下に従うように相対損失関数が定義され得る。
【数39】
ここで、vは(0,1]である。
【0237】
損失関数を正規化することによって、より遠いオブジェクトに関して、より大きい損失を占める現実的な損失制約が課され得る。しかしながら、正規化された損失関数を用いて精度を画定するためには、2つの方法がある。1つはエゴ精度(ego accuracy)であり、ホスト車両hに対して以下のように測定される。
【数40】
ここで、εは損失制約である。
【0238】
この要件は、しかしながら、p(h)=
【数41】
=0である場合、p(a)=(α、z、0)、および
【数42】
=p(a)+(βp(a))/||p(a)||
【数43】
であるので、車両の視野に検出されたオブジェクトの範囲zに依存する。
【0239】
範囲zへの依存性を回避するように、対になっている精度の別の定義が以下のように用いられ得る。
【数44】
ここで、εは損失制約である。
【0240】
p(a)=(α,z,0)、p(b)=(-α,z,0)、
【数45】
=p(a)+(βp(a))/||p(a)||、および
【数46】
=p(b)に関して、対になっている精度は以下のように簡素化される。
【数47】
【0241】
したがって、
【数48】
これは、zから独立している。
【0242】
さらに、対になっている精度なしで、エゴ精度を有する状況がある。特に、
【数49】
の場合、β=εzとなるように
【数50】
であり、したがって、
【数51】
このことは、z>2の場合、対になっている精度の損失をもたらすことを意味する。
【0243】
1つの特定の例において、ε=0.2およびz=100メートルの場合、したがって、β=2メートルであり、これは100メートルにつき2メートルの合理的な損失制約である。しかしながら、このことは、
【数52】
という結果となり、これは、この状況が、0.02の対になっている精度での50の折り畳み(fold away)を意味する。対になっている精度を取得するように、z=1メートルおよびβ=0.02と設定することもでき、100メートルの範囲で2cmの誤差という結果となる。しかしながら、これは、非現実的な、所与の最も現存しているセンサである。他方では、対になっている精度は、エゴ精度に関することなく現実的に強化され得る。この精度を強化するように、シーンの関連するオブジェクト(車両、歩行者、車線など)が同時に存在する、基準座標フレームが用いられ得る。これは、しかしながら、ライダ、GPS、または他のセンサよりもむしろ、カメラの使用に関与し得る。
【0244】
したがって、いくつかの実施形態において、ホスト車両の走行システムは、車両の3-D座標系よりむしろ、カメラの2-D座標系を使用し得る。システムは、次に、地図(例えば、スパースマップのランドマークおよびスプライン)を2-D座標系に変換し、2-D座標系における走行を実行し得る。加えて、システムは、2-D座標系で作成された判定を3-D座標系に変換することによって、3-D座標系における走行を実行し得る。このことは、エゴ精度よりむしろ、対になった精度を強化し、それは、より高い安全性および信頼性を提供する。加えて、地図を2-Dに変換することは、イメージを3-Dに変換することより速いので、また、2-Dにおいて予測および走行を実行することは、3-Dにおいてそうすることより速いので、この技法は、システムの効率を増大させる。
【0245】
一例の実施形態において、走行システムは、ホスト車両の位置を判定し得る。例えば、位置は地理的領域内であり得る。走行システムは、さらに、地理的領域を含む地図にアクセスし得る。例えば、走行システムは、格納された地図にアクセスするか、地理的領域を含む1または複数のリモートサーバから地図にアクセスし得る。いくつかの実施形態において、地図は、地理的領域に基づくスパースマップまたはロードブック(以下に説明する)、またはそれらの部分を含み得る。上で説明されたように、スパースマップは、予め定められた移動する経路、および/または、少なくとも1つのランドマークを表す少なくとも1つのスプラインを含み得る。したがって、少なくとも1つの特徴は、少なくとも1つのランドマークを含み得る。
【0246】
走行システムは、ホスト車両の位置に基づいて、地図から少なくとも1つの特徴を抽出し得る。例えば、走行システムは、ホスト車両の視野を判定し得、位置に基づいて視野内にあると予想される少なくとも1つの特徴を抽出し得る。いくつかの実施形態において、少なくとも1つの特徴は、地図に含まれる、車線標示、道路縁部、または他のランドマークを含み得る。例えば、道路縁部は、車線標示、縁石、ガードレール、またはジャージーウォールのうち少なくとも一方を含み得る。
【0247】
走行システムは、少なくとも1つのイメージセンサから、ホスト車両の環境を表す少なくとも1つのイメージを受信し得、少なくとも1つの特徴の座標を、地図の座標系から少なくとも1つのイメージセンサの座標系に変換し得る。例えば、地図の座標系は3次元座標系(例えば、GPSに基づいたグローバルな座標系、地理的領域に含まれる道路セグメントにローカルな座標系など)を含み得、少なくとも1つのイメージセンサの座標系は、少なくとも1つのイメージセンサの視野に基づいた2次元座標系を含み得る。いくつかの実施形態において、少なくとも1つの特徴は、地図の3次元座標系からホスト車両を中心とする3次元座標系へと変換され得(例えば、位置を用いて)、次に、少なくとも1つのイメージセンサの2次元平面に射影され得る(例えば、ホスト車両と視野との間の知られている関係を用いて)。
【0248】
走行システムは、少なくとも1つのイメージを分析して、ホスト車両の環境において少なくとも1つの特徴を識別し得、変換された座標と、少なくとも1つのイメージの識別された少なくとも1つの特徴の座標との比較に基づいて、ホスト車両の少なくとも1つの走行変化を生じさせ得る。例えば、走行システムは、変換された座標に基づいて、少なくとも1つのイメージセンサの2次元座標系において少なくとも1つの特徴の予想される位置を判定し得、予想される位置で、および/またはその近くで、少なくとも1つのイメージセンサからの1または複数のイメージを検索し得る。近さは絶対的に、例えば、予想される位置から10ピクセル以内、20ピクセル以内、などと、または相対的に、例えば、少なくとも1つの特徴などの長さまたは幅などの、予想される寸法の10%以内と判定され得る。
【0249】
いくつかの実施形態において、走行変化のうち少なくとも1つは、ホスト車両を減速させること、ホスト車両を加速させること、またはホスト車両のステアリング機構を作動させることを含み得る。例えば、ホスト車両は、少なくとも1つのイメージにおける少なくとも1つの特徴の特定された位置と、変換された座標に基づいて予想される位置との間の差異に基づいて、減速、加速、および/または、ステアリングし得る。
【0250】
いくつかの実施形態において、少なくとも1つの走行変化は、少なくとも1つのイメージセンサの座標系内で判定され得る。例えば、ベクトルは、少なくとも1つのイメージにおける少なくとも1つの特徴の特定された位置と、変換された座標に基づいて予想される位置との間の差異に基づいて判定され得る。ベクトルは、少なくとも1つの特徴が、予想されたところに現れるように、少なくとも1つの走行変化を表し得る。そのような複数の実施形態において、走行システムは、少なくとも1つの走行変化を、地図の座標系へ変換し得る。例えば、走行システムは、少なくとも1つのイメージにおける少なくとも1つの特徴の深さ、および/または、地図からの少なくとも1つの特徴の予想された深さに基づいて、3次元座標系(例えば、グローバルな座標系またはホスト車両を中心とする座標系)に差異ベクトルを射影し得る。
【0251】
快適性の制約と安全性の制約との結合
【0252】
いくつかの実施形態において、ホスト車両は、カメラ、ライダ、レーダなどと結合された地図データなどの、複数の源からデータを受信し得る。ホスト車両の走行システムは、これらの様々な源からのデータを結合させる、異なるスキームを使用し得る。例えば、単一化スキームにおいて、検出の技法が速いが精度が低い、少なくとも1つの源によって検出される場合、走行システムは、目標オブジェクトを検証し得る(すなわち、可能性のあるオブジェクトが、実際に検出されたオブジェクトとみなされるべきである旨を検証し得る)。交点スキームにおいて、走行システムは、複数の源によって検出される場合、目標オブジェクトを承認し得、相乗スキームにおいて、走行システムは、複数の源からのデータの組み合わせを用いて検出される場合、目標オブジェクトを承認し得る。交点および相乗スキームは、単一化スキームよりも、低速であるが正確である。したがって、単一化スキームと同様、交点および相乗スキームを用いた選択によっても、システムのリアクションの精度は、安全性を犠牲にすることなく最適化され得る。このことは、安全性を犠牲にすることなく、どのように、正確に自律走行車両からのセンサデータを解釈すべきかという技術的問題を解決する。
【0253】
図12は、開示される実施形態と合致する1または複数の操作を実行するための命令を格納され/プログラミングされ得る、メモリ140および/または150の例示的な機能ブロック図である。以下はメモリ140を参照するが、当業者は、命令はメモリ140および/または150に格納され得ることを認識するであろう。
【0254】
図12に示されるように、メモリ140は、オブジェクト識別モジュール1202、制約モジュール1204、検証モジュール1206、および走行変化モジュール1208を格納し得る。開示される実施形態は、メモリ140のいかなる特定の構成にも限定されない。さらに、アプリケーションプロセッサ180および/またはイメージプロセッサ190は、メモリ140に含まれるいかなるモジュール1202、1204、1206および1208に格納された命令も実行し得る。処理ユニット110への以下の説明の参照が、個々に、または集合的に、アプリケーションプロセッサ180およびイメージプロセッサ190を参照し得ることを、当業者は理解するであろう。したがって、以下のいかなるプロセスの段階も、1または複数の処理デバイスによって実行され得る。
【0255】
1つの実施形態において、オブジェクト識別モジュール1202は、処理ユニット110によって実行されたときに、ホスト車両に関連づけられた第1のデータ源からの第1の出力、およびホスト車両に関連づけられた第2のデータ源からの第2の出力を受信する、(コンピュータビジョンソフトウェアなどの)命令を格納し得る。第1のデータ源および第2のデータ源のうち少なくとも一方は、ホスト車両に搭載されたセンサを含む。例えば、オブジェクト識別モジュール1202は、ホスト車両に搭載された第1のセンサからの第1の出力と、ホスト車両に搭載された第2のセンサからの第2の出力とを受信し得る。したがって、第1のデータ源は、ホスト車両に搭載されたカメラ、ライダ、またはレーダのうち少なくとも1つを含み得、第2のデータ源は、第1のデータ源とは別個のホスト車両に搭載されたカメラ、ライダ、またはレーダのうち少なくとも1つを含み得る。
【0256】
代替的に、オブジェクト識別モジュール1202は、ホスト車両に搭載された第1のセンサからの第1の出力、および処理ユニット110によってアクセスされた地図からの第2の出力を受信し得る。したがって、第1のデータ源は、ホスト車両に搭載されたカメラ、ライダ、またはレーダのうち少なくとも1つを含み得、第2のデータ源は、地図データを含み得る。
【0257】
1つの実施形態において、オブジェクト識別モジュール1202は、処理ユニット110によって実行されたとき、第1の出力における目標オブジェクトの表現を識別する(コンピュータビジョンソフトウェアなどの)命令を格納し得る。例えば、オブジェクト識別モジュール1202は、目標オブジェクトの表現を識別するために、上で説明されたプロセス500Bのすべてまたは部分を実行し得る。
【0258】
一例において、オブジェクト識別モジュール1202は、第1の出力をスキャンすること、第1の出力を1または複数の予め定められたパターンと比較すること、および、第1の出力内で、関心のあるオブジェクト(例えば、車両、歩行者、動いていないオブジェクト、車線標示など)を含み得る可能な位置を識別することによって、目標オブジェクト(例えば、車両、歩行者、動いていないオブジェクト、車線標示など)を表す候補オブジェクトのセットを判定し得る。予め定められたパターンは、第1のセンサからの出力の種類と合致し得る。例えば、第1のセンサがカメラである場合、予め定められたパターンは視覚であり得、第1のセンサがマイクである場合、予め定められたパターンは音声であり得る。いくつかの実施形態において、予め定められたパターンは、「誤ったヒット」である高速および、「喪失」である低速を実現するように構成され得る。例えば、目標オブジェクトを表す候補オブジェクトを喪失する(例えば、識別しない)確率を低減するように、オブジェクト識別モジュール1202は、候補オブジェクトを可能性のある目標オブジェクトとして識別するための予め定められたパターンとして、低い閾値の類似性を使用し得る。
【0259】
オブジェクト識別モジュール1202は、分類基準に基づいて、特定の候補(例えば、無関係または関連性の低いオブジェクト)を除くように、候補オブジェクトのセットをさらにフィルタリングし得る。そのような基準は、データベース、例えば、メモリ140(図示せず)に格納されたデータベース、および/または、1または複数のリモートサーバからアクセスされるデータベースに格納されたオブジェクトの種類に関連づけられた様々なプロパティから導出され得る。プロパティは、オブジェクト形状、寸法、テクスチャ、位置(例えば、ホスト車両に対しての)、速度(例えば、ホスト車両に対しての)などを含み得る。したがって、オブジェクト識別モジュール1202は、候補オブジェクトのセットから誤った候補を拒否する基準の、1または複数のセットを使用し得る。
【0260】
第1の出力が経時的な複数のフレームを含む実施形態において、オブジェクト識別モジュール1202は、また、候補オブジェクトのセットにおけるオブジェクトが目標オブジェクトを表すかどうかを判定するように、第1の出力の複数のフレームを分析し得る。例えば、オブジェクト識別モジュール1202は、検出された候補オブジェクトを順次のフレームにわたってトラッキングし得、検出されたオブジェクトに関連づけられたフレームごとのデータ(例えば、サイズ、ホスト車両に対しての位置、ホスト車両に対しての速度など)を蓄積し得る。加えて、または代替的に、オブジェクト識別モジュール1202は、検出されたオブジェクトに関するパラメータを推定し得、オブジェクトのフレームごとの位置データを予測位置と比較し得る。「フレーム」の使用は、第1の出力がイメージでなければならないことを暗に含むものではないが、イメージであってもよい。本明細書に用いられるように、「フレーム」は、第1のセンサ、第2のセンサ、または任意の追加のセンサから受信された、時間にわたる測定値の任意の離散化されたシーケンスを指す。
【0261】
オブジェクト識別モジュール1202は、検出されたオブジェクトごとの測定値のセットをさらに構築し得る。そのような測定は、例えば、検出されたオブジェクトに関連づけられた位置、速度、および加速度値(例えば、ホスト車両に対しての)を含み得る。いくつかの実施形態において、目標オブジェクトモジュール2004は、カルマンフィルタまたは線形二次推定(LQE)などの、一連の時間ベースの観測を用いた推定技法に基づいて、および/または、異なるオブジェクトの種類(例えば、車、トラック、歩行者、自転車、道路標識など)に関する利用可能なモデリングデータに基づいて測定値を構築し得る。カルマンフィルタは、オブジェクトのスケールの測定値に基づき得、ここで、スケール測定値は、衝突までの時間(例えば、ホスト車両がオブジェクトに達するまでの時間量)に比例する。
【0262】
第1の出力が経時的な複数のフレームを含む実施形態において、オブジェクト識別モジュール1202は、「誤ったヒット」の検出の確率と、車両または歩行者を表す候補オブジェクトの喪失の確率とを低減するように、1または複数のイメージのオプティカルフロー分析を実行し得る。オプティカルフロー分析は、例えば、他の車両および歩行者に関連づけられた1または複数のイメージにおいて、路面の動きとは別個の、車両200に対する動きパターンを分析することを指し得る。処理ユニット110は、異なる時間に取り込まれた、複数のイメージフレームにわたってオブジェクトの異なる位置を観測することによって、候補オブジェクトの動きを計算し得る。処理ユニット110は、候補オブジェクトの動きを算出するための数学的モデルへの入力として、位置および時間値を使用し得る。したがって、オプティカルフロー分析は、近くの車両200である車両および歩行者を検出する別の方法を提供し得る。処理ユニット110は、段階540-546と組み合わせてオプティカルフロー分析を実行し、車両および歩行者の検出に関する冗長性を提供し、システム100の信頼性を増大させ得る。
【0263】
加えて、または代替的に、オブジェクト識別モジュール1202は、目標オブジェクトの表現を識別するために、上で説明されたプロセス500Cのすべてまたは部分を実行し得る。オブジェクト識別モジュール1202が、訓練されたシステムの選択された動作に関する処理の追加の層として実装される実施形態において、オブジェクト識別モジュール1202は、訓練されたシステムからの目標オブジェクトの識別子を受信し得る。したがって、オブジェクト識別モジュール1202は、第1の出力をスキャンし得、第1の出力を訓練されたシステムから受信された目標オブジェクトとマッチングするパターンと比較し得、第1の出力内で目標オブジェクトの位置を識別し得る。例えば、オブジェクト識別モジュール1202は、訓練されたネットワークから別の車両の識別を受信し得、データベース、例えば、メモリ140に格納されたデータベース(図示せず)、および/または、1または複数のリモートサーバからアクセスされるデータベースに格納され、第1の出力の種類(例えば、視覚、音声、熱など)との合致と同様に車両のパターンとしてインデックスされたパターンを抽出し得、第1の出力を抽出されたパターンと比較することによって、第1の出力内での他の車両の位置を識別し得る。
【0264】
代替的に、オブジェクト識別モジュール1202が、訓練されたシステムの選択された動作に関する処理の追加の層として実装される実施形態において、オブジェクト識別モジュール1202は、目標オブジェクトの位置と同様に、訓練されたシステムからの目標オブジェクトの識別子を受信し得る。受信された位置が第1の出力における場合、オブジェクト識別モジュール1202は、第1の出力において目標オブジェクトを識別するように受信された位置で、および/または、その近くで、(例えば、上で説明された比較を用いて)分類を実行され得る。受信された位置が別の出力(例えば、別のセンサからの)における場合、オブジェクト識別モジュール1202は、データベース、例えば、メモリ140に格納されたデータベース(図示せず)、および/または、1または複数のリモートサーバからアクセスされるデータベースに格納され、目標オブジェクト(例えば、車両、歩行者、動いていないオブジェクトなど)と合致する、ならびに、第1の出力の種類(例えば、視覚、音声、熱など)と合致するオブジェクトの種類のパターンとしてインデックスされるパターンを抽出し得、第1の出力を抽出されたパターンと比較することによって、第1の出力内での目標オブジェクトの位置を識別し得る。この比較に加えて、または代替的に、オブジェクト識別モジュール1202は、訓練されたシステムによって用いられた出力上の位置を、第1の出力上の位置にマッピングする情報を含むアトラスを構築し得る。それに基づいて、オブジェクト識別モジュール1202は、第1の出力における目標オブジェクトの表現の予想されるであろう位置を、訓練されたシステムによって用いられた出力におけるそれの位置に基づいて判定し得、第1の出力内で目標オブジェクトの位置を識別するための分類(例えば、上で説明された比較を用いる)を実行し得る。
【0265】
1つの実施形態において、走行制約モジュール1204は、目標オブジェクトの特性が少なくとも1つの走行制約を引き起こすかどうかを判定するように、処理ユニット110によって実行可能なソフトウェアを格納し得る。目標オブジェクトの特性は、厳格な(安全性の)制約または柔軟な(快適性の)制約を引き起こし得る。例えば、目標オブジェクトの距離は、最小距離または最大距離(例えば、他の車両との、歩行者との、道路縁部との、車線標示との、など)に基づく厳格な制約、および/または、好ましい距離に基づく柔軟な制約を引き起こし得る。別の例において、目標オブジェクトのサイズは、最小サイズまたは最大サイズ(例えば、障害物の高さ、クリアランスの高さなど)に基づく厳格な制約、および/または、好ましいサイズに基づく柔軟な制約を引き起こし得る。さらに別の例において、目標オブジェクトの位置は、制限された領域(例えば、ホスト車両が移動している現在の車線内、ホスト車両の計画された軌跡の特定の閾値距離内など)に基づく厳格な制約、および/または、好ましい領域(例えば、移動している現在の車線に近接する車線または歩道、計画された軌跡の範囲内など)に基づく柔軟な制約を引き起こし得る。
【0266】
1つの実施形態において、少なくとも1つの走行制約が、目標オブジェクトの特性によって引き起こされない場合、検証モジュール1206は、第1の出力および第2の出力の組み合わせに基づいて目標オブジェクトの表現の識別を検証し得る。例えば、組み合わせは、交点スキームまたは相乗スキームを含み得る。交点スキームは、目標オブジェクトが、検証のために第1の出力および第2の出力の両方において識別されるという要件を含み得る。例えば、目標オブジェクトは、検証されるために、第1のデータ源を備えるレーダ、ライダ、またはカメラ、および、第2のデータ源を備えるレーダ、ライダ、またはカメラにおいて識別される必要があってよい。すなわち、目標オブジェクトは、複数のデータ源によって検出される場合に承認されるように考慮されてよい。相乗スキームは、目標オブジェクトを検証するために、第1のデータ源および第2のデータ源の組み合わせを含み得る。例えば、相乗スキームは、複数のデータ源から取得された部分的なデータを結合することに基づく、目標オブジェクトの識別または承認を含み得る。相乗スキームの一例は、目標オブジェクトの範囲のカメラ概算を含み、範囲は、道路エレベーションモデル(例えば、別のカメラに基づく)から、またはライダから測定される。別の例は、ライダを有する目標オブジェクトを検出すること、および、1または複数のカメラからの光の流れに基づいて、道路エレベーションモデルを用いて目標オブジェクトを測定することを含み得る。さらに別の例は、カメラを用いた車線検出(例えば、目標オブジェクトは道路縁部または車線標示を備える)、および、次に、地図データを用いた検出の検証を含み得る。さらに別の例は、1または複数のカメラを用い、ホスト車両の環境でフリースペースを判定するようにライダを使用する、目標オブジェクトの検出を含み得る。
【0267】
他方では、少なくとも1つの走行制約が目標オブジェクトの特性によって引き起こされる場合、検証モジュール1206は、第1の出力に基づいて目標オブジェクトの表現の識別を検証し得る。例えば、単一化スキームが、第1の出力のみが目標オブジェクトを承認または検証するように用いられるように、用いられ得る。
【0268】
走行変化モジュール1208は、走行調整の決定木を実装するように、オブジェクト識別モジュール1202の出力、および/または、検証モジュール1206の出力を使用し得る。走行調整は、第1のセンサ、第2のセンサ、任意の他のセンサ、地図データ、ならびに、第1の出力、第2の出力、および任意の他の出力から検出された1または複数のオブジェクトから導出されたデータに基づき得る。また、走行変化モジュール1208は、車両200のスロットリングシステム220、ブレーキシステム230、およびステアリングシステム240などの、車両200の他のシステムからの入力に基づいて所望の走行応答を判定し得る。加えて、または代替的に、走行変化モジュール1208は、他のメモリモジュール(図示せず)から、および/または、上で説明されたような訓練されたシステムから、1または複数の走行調整を受信し得る。したがって、走行変化モジュール1208は、訓練されたシステムの選択された動作に関する処理の追加の層として実装され得る。
【0269】
したがって、走行変化モジュール1208は、検証に応答して、ホスト車両の少なくとも1つの走行変化を生じさせ得る。少なくとも1つの走行変化を生じさせるために、走行変化モジュール1208は、車両200のスロットリングシステム220、ブレーキシステム230、およびステアリングシステム240に電子信号を送信して、例えば、車両200のステアリングホイールを回転させて予め定められた角度の回転を実現させることによって、所望の走行応答を引き起こし得る。いくつかの実施形態において、少なくとも1つの走行変化は、検証に応答するホスト車両の1または複数の走行アクチュエータへの上記の任意の調整を含み得る。
【0270】
さらに、本明細書に開示されたいかなるモジュール(例えば、モジュール1204、1204、1206および1208)も、訓練されたシステム(ニューラルネットワークまたはディープニューラルネットワークなど)、または訓練されていないシステムに関連づけられた技法を実装し得る。加えて、または代替的に、本明細書に開示されたいかなるモジュール(例えば、モジュール1204、1204、1206および1208)も、訓練されたシステムの選択された動作に関する処理の追加の層としての技法を実装し得る。
【0271】
図13Aおよび図13Bは、安全性および快適性の制約の例の概略的な描写を提供する。図13Aに図示されたように、ホスト車両1300は、ホスト車両1300の前方に他の車両(車両1301など)を、ホスト車両1300の後ろに他の車両(車両1303など)を、ホスト車両1300が移動している車線とは他の車線に他の車両(車両1307など)を、目標オブジェクトとして検出し得る。
【0272】
そのような検出されたオブジェクトの特性は、走行制約を引き起こし得る。例えば、ホスト車両1300および他の車両1301の間の距離1309、ホスト車両1300および他の車両1307の間の距離1311、および/または、ホスト車両1300および他の車両1303の間の距離1313が、走行制約を引き起こし得る。図13Aおよび13Bには図示されないが、1または複数の車両1301、1303および1305に関連づけられた他の特性は、ホスト車両1300および1または複数の車両1301、1303および1305の間の相対速度、1または複数車両1301、1303および1305との衝突時間、などを含み得る。
【0273】
上で説明された例において、引き起こされた走行制約は、1または複数の車両1301、1303および1305との距離(最小距離など)、ホスト車両1300および1または複数の車両1301、1303および1305の間の相対速度(最大相対速度など、例えば、0近く)、1または複数の車両1301、1303および1305との衝突時間(最小の衝突時間など、例えば、無限大近く)、などに関連づけられ得る。したがって、特性は厳格な(または安全性の)制約を引き起こし得る。代替的に、特性は走行制約を引き起こさなくともよい。例えば、1または複数の柔軟な制約(または「願望」)が、特性に関連づけられ得る。
【0274】
図13Cおよび図13Dは、開示される実施形態と合致する安全性および快適性の制約のさらなる例の概略的な描写を提供する。図13Cおよび13Dに図示されるように、ホスト車両1300は、ホスト車両1300が往来している車道上に、動いていないオブジェクト1315を目標オブジェクトとして検出し得る。加えて、または代替的に、ホスト車両1300は、車線標示を目標オブジェクトとして検出し得る。
【0275】
図13Cおよび13Dの例において、ホスト車両1300と動いていないオブジェクト1315との間の距離1317は、走行制約を引き起こす特性であり得る。加えて、または代替的に、ホスト車両1300と車線標示との間の距離1319は、走行制約を引き起こす特性であり得る。図13Cおよび13Dにおいて図示されないが、動いていないオブジェクト1315または車線標示に関連づけられた他の特性は、ホスト車両1300と動いていないオブジェクト1315または車線標示との間の相対速度、動いていないオブジェクト1315または車線標示との衝突時間、などを含み得る。
【0276】
上の例において、走行制約は、動いていないオブジェクト1315または車線標示との距離(最小距離など)、ホスト車両1300と動いていないオブジェクト1315または車線標示との間の相対速度(最大相対速度など、例えば、0近く)、動いていないオブジェクト1315または車線標示との衝突時間(最小の衝突時間など、例えば、無限大近く)などに関連づけられ得る。したがって、特性は厳格な(または安全性の)制約を引き起こし得る。代替的に、特性は走行制約を引き起こさなくともよい。例えば、1または複数の柔軟な制約(または「願望」)が、特性に関連づけられ得る。
【0277】
図14は、開示される実施形態と合致する、安全性および快適性の制約に基づいて、ホスト車両を走行させる例示的な処理1400を表すフローチャートを提供する。プロセス1400は、処理デバイス110などの、少なくとも1つの処理デバイスによって実行され得る。
【0278】
段階1402において、処理デバイス110は、ホスト車両に関連づけられた第1のデータ源から第1の出力を受信し得る。例えば、オブジェクト識別モジュール1202に関して上で説明されたように、第1のデータ源は、ホスト車両に搭載されたカメラ、ライダ、またはレーダのうち少なくとも1つを含み得る。
【0279】
段階1404において、処理デバイス110は、ホスト車両に関連づけられた第2のデータ源から第2の出力を受信し得る。例えば、オブジェクト識別モジュール1202に関して上で説明されたように、第2のデータ源は、少なくとも1つの処理デバイスによってアクセスされる地図データを含み得る。
【0280】
いくつかの実施形態において、次に、第1のデータ源および第2のデータ源のうち少なくとも一方は、ホスト車両に搭載されたセンサを含む。いくつかの実施形態において、第1のデータ源および第2のデータ源の両者が、センサを含み得る。例えば、第1のデータ源および第2のデータ源は異なるカメラを含み得る、第1のデータ源はカメラを含み得て第2のデータ源はレーダを含み得る、第1のデータ源はカメラを含み得て第2のデータ源はライダを含み得る、などである。他の実施形態において、第1のデータ源および第2のデータ源の他方は、地図データなどの、別のデータ源を含み得る。
【0281】
段階1406において、処理デバイス110は、第1の出力において目標オブジェクトの表現を識別し得る。例えば、処理デバイス110は、オブジェクト識別モジュール1202に対して上で説明されたように、目標オブジェクトを識別し得る。
【0282】
段階1408において、処理デバイス110は、目標オブジェクトの特性が、少なくとも1つの走行制約を引き起こすかどうか判定し得る。例えば、走行制約モジュール1204に関して上に説明されるように、特性は、目標オブジェクトのサイズ、ホスト車両から目標オブジェクトへの距離、または、ホスト車両の環境における目標オブジェクトの位置を含み得る。
【0283】
段階1410aにおいて、検証モジュール1206に対して上で説明されたように、少なくとも1つの走行制約が目標オブジェクトの特性によって引き起こされない場合、処理デバイス110は、第1の出力および第2の出力の組み合わせに基づいて目標オブジェクトの表現の識別を検証し得る。
【0284】
いくつかの実施形態において、第1の出力および第2の出力の組み合わせに基づいて目標オブジェクトの表現の識別を検証することは、目標オブジェクトの表現が第1の出力および第2の出力の両者において識別されるかどうか判定することを含み得る。例えば、検証モジュール1206に対して上で説明されるように、組み合わせは交点スキームを含み得る。
【0285】
加えて、または代替的に、第1の出力および第2の出力の組み合わせに基づいて目標オブジェクトの表現の識別を検証することは、第1の出力に射影された第2の出力を用いて目標オブジェクトの特性を判定することを含み得る。例えば、検証モジュール1206に対して上で説明されるように、組み合わせは相乗スキームを含み得る。一例において、第2の出力が地図データを含み、かつ第1の出力がホスト車両の環境の少なくとも1つのイメージを含む場合、射影は、地図データを用いた少なくとも1つのイメージにおいて1または複数の道路縁部を検出することを含み得る。別の例において、第2の出力がライダからの出力を含み、かつ第1の出力がホスト車両の環境の少なくとも1つのイメージを含む場合、射影は、第2の出力を用いて少なくとも1つのイメージにおいてフリースペースを検出することを含み得る。
【0286】
段階1410bにおいて、検証モジュール1206に対して上で説明されたように、少なくとも1つの走行制約が目標オブジェクトの特性によって引き起こされる場合、処理デバイス110は、第1の出力に基づいて目標オブジェクトの表現の識別を検証し得る。
【0287】
段階1412において、検証に応答して、処理デバイス110は、ホスト車両の少なくとも1つの走行変化を生じさせ得る。例えば、走行変化モジュール1208に関して上で説明されたように、少なくとも1つの走行変化は、ホスト車両を減速させること、ホスト車両を加速させること、または、ホスト車両のステアリング機構を作動させることを含み得る。
【0288】
方法1400は、付加的段階をさらに含み得る。例えば、方法1400は、少なくとも1つの走行制約が引き起こされるかどうかに基づいて、少なくとも1つの走行変化を判定することを含み得る。例えば、走行変化モジュール1208に関して上で説明されるように、少なくとも1つの走行変化は、少なくとも1つの走行制約が引き起こされた場合に第1の変更を含み得るが、少なくとも1つの走行制約が引き起こされない場合には、第2の、異なる変更を含み得る。そのような複数の実施形態において、第2の変更は、第1の変更よりも狭い角度のステアリング機構の調節、ブレーキ機構のより軽い印加、より軽い加速などを含み得る。
【0289】
走行に関するバッチ調整
【0290】
上で説明されたように、リモートサーバは、複数の車両からスパースマップをクラウドソーシングし得る。しかしながら、複数の運転のグローバルな調整は、スパースマップに誤差累積をもたらす。例えば、運転中のエゴ動作ドリフトは、道路の形状を変形させ得、グローバルなアグリゲーションの最中に誇張され得る。加えて、グローバルな調整を実行するようにGPSデータを用いることは、GPS測定値における誤差に起因してしばしば不正確となる。
【0291】
したがって、スパースマップを展開するようにグローバルに運転を調整するよりむしろ、リモートサーバは、ロードブックを展開するように、ローカルに運転のバッチを調整し得る。本明細書に用いられるように、用語「ロードブック」は、グローバルな座標よりはむしろ道路セグメントにローカルな座標において格納された、スパースマップ(上で説明された)、または位置データ(例えば、1または複数のスプラインとして格納される)および/またはランドマークデータ(例えば、ランドマークの位置および/またはランドマークの外観、識別などに関連する説明的なデータとして格納される)の他の表現を指し得る。そのようなデータの調整は、より信頼できる調整と、より小さく、よりローカライズされた地図とをもたらし得る。加えて、先行するローカルな調整なしで運転がグローバルな座標内で調整されるより高い精度で、ローカルなロードブックはグローバルな座標に外挿され得る。例えば、エゴドリフトは、ローカルな調整の最中に考慮され得、したがって、ローカルなロードブックがグローバルな座標に外挿された場合、エゴドリフトは伝搬しないであろう。加えて、ローカルな調整は、車線標示などの視覚的手がかりを用いて実行され得、それは、固有の誤差およびドリフトを含むGPSデータを使うよりも正確に配置され得る。
【0292】
加えて、グローバルな調整は、動く影、異なるライティング、雨に起因する輝き、および、その他の、運転が実行された時刻および日が異なることに起因する複数の運転からのイメージおよびデータの変化の、主な要因とならないことがある。したがって、同じ日、類似の時間の最中、および/または類似の気象条件の最中に行われる運転のバッチ調整は、ロードブックの精度をさらに向上させる。
【0293】
図15は、開示される実施形態と合致する、1または複数の操作を実行するための命令を格納され/プログラミングされ得る、メモリ140および/または150の例示的な機能ブロック図である。以下はメモリ140を参照するが、当業者は、命令がメモリ140および/または150に格納され得ることを認識するであろう。
【0294】
図15に示されるように、メモリ140は、走行情報受信モジュール1502、調整モジュール1504、格納モジュール1506、および分配モジュール1508を格納し得る。開示される実施形態は、メモリ140のいかなる特定の構成にも限定されない。さらに、アプリケーションプロセッサ180および/またはイメージプロセッサ190は、メモリ140に含まれるいかなるモジュール1502、1504、1506および1508に格納される命令も実行し得る。以下の説明における処理ユニット110への参照が、個々にまたは集合的に、アプリケーションプロセッサ180およびイメージプロセッサ190を参照し得る旨を、当業者は理解するであろう。代替的に、ホスト車両から離れたサーバの少なくとも1つの処理デバイスは、メモリ140に含まれるいかなるモジュール1502、1504、1506および1508に格納された命令も実行し得る。したがって、以下のいかなるプロセスの段階も、1または複数の処理デバイスによって実行され得る。
【0295】
1つの実施形態において、走行情報受信モジュール1502は、処理ユニット110によって実行されるとき、複数の車両からの走行情報を受信する命令(コンピュータビジョンソフトウェアなど)を格納し得る。例えば、複数の車両からの走行情報は、共通道路セグメントと関連し得る。走行情報は、1または複数のコンピュータネットワークを介して受信され得る。例えば、複数の車両は、運転の最中に情報をアップロードし得、または、複数の車両は、運転の完了後に、例えば、1時間ごと、1日ごと、週ごとなどのアップロードセッションの最中に、情報をアップロードし得る。
【0296】
いくつかの実施形態において、走行情報は、運転の最中に車両の1または複数のイメージセンサによって取り込まれた1または複数のイメージを含み得る。加えて、または代替的に、走行情報は、イメージにおいて識別される1または複数のランドマークの位置、および/またはそれについての説明的な情報などの、イメージから処理された情報を含み得る。走行情報は、加えて、または代替的に、GPSデータなどの、車両の位置情報を含み得る。
【0297】
1つの実施形態において、調整モジュール1504は、処理ユニット110によって実行されるとき、共通道路セグメントにローカルな座標系内での走行情報を調整する命令(コンピュータビジョンソフトウェアなどの)を格納し得る。例えば、走行情報は、車両のイメージセンサからのイメージにおいて識別されるランドマークを用いて調整され得る。単純なスキームにおいて、調整は、イメージに検出されたランドマークの位置を平均化することを含み得る。より複雑なスキームにおいて、調整は、イメージにおいて検出されたランドマークの位置を合流させるための、線形回帰または他の統計的技法を含み得る。イメージを用いることによって、調整モジュール1504は、グローバルな座標系、例えばGPSデータに基づくよりむしろ、ローカルな座標系における走行情報を調整し得る。実際、調整モジュール1504は、GPSデータの調整に基づいてランドマークを調節するよりむしろ、ランドマークの調整に基づいて、走行情報に含まれるGPSデータを調節し得る。
【0298】
1つの実施形態において、格納モジュール1506は、処理ユニット110によって実行されるとき、調整された走行情報を共通道路セグメントに関連づけて格納する命令(コンピュータビジョンソフトウェアなど)を格納し得る。例えば、共通道路セグメントの識別子が、調整された走行情報と共に格納され、調整された走行情報をインデックスするように用いられるように、走行情報は、データベースに格納され得る。共通道路セグメントの識別子は、共通道路セグメントを記述するために用いられる、1または複数の座標(例えば、共通道路セグメントの始点、および/または共通道路セグメントの終点のグローバルな座標)を含み得る。
【0299】
1つの実施形態において、分配モジュール1508は、処理ユニット110によって実行されるとき、共通道路セグメントに沿って1または複数の自律走行車両を自律的に走行させる際の使用のために、調整された走行情報を1または複数の自律走行車両に分配する命令(コンピュータビジョンソフトウェアなど)を格納し得る。例えば、1または複数の車両は、車両が共通道路セグメントに近づいているとき、またはそうでなければ、共通道路セグメントの往来を予測しているとき、走行情報を要求し得る。分配モジュール1508は、1または複数のコンピュータネットワークを介して、要求している車両に、調整された走行情報を送信し得る。
【0300】
図16は、開示される実施形態と合致する、多くの運転からの走行情報を結合することから生成されるロードブック1620および1640と、ロードブックを結合することから生成される例示的なグローバル地図1650との例を示す。図16において図示されるように、運転1610の第1のグループは、共通道路セグメントに沿った5つの別々の運転から受信される位置データ(例えば、GPSデータ)を含み得る。1つの運転は、別々の車両によって同時に、同じ車両によって別々の時間に、または、別々の車両によって別々の時間に往来した場合、別の運転と分離され得る。リモートサーバは、道路セグメントに沿って位置データを調整するように、1または複数の統計的技法を用いてロードブック1620を生成し得る。例えば、リモートサーバは、位置データにおける変動が実際の発散または統計的誤差を表すかどうか判定し得、運転の最中に取り込まれたイメージによって判定された座標系を用いて位置データを調整し得る。したがって、調整は道路セグメントにおいてローカルであり、グローバルな座標系などの外部座標系と合致するよりはむしろ、自己一致するであろう。
【0301】
同様に、運転1630の第2のグループは、共通道路セグメントにに沿った5つの追加の運転から受信される位置データ(例えば、GPSデータ)を含み得る。リモートサーバは、道路セグメントに沿って位置データを調整するように、1または複数の統計的技法を用いてロードブック1640を生成し得る。例えば、リモートサーバは、位置データにおける変動が実際の発散または統計的誤差を表すかどうか判定し得、運転の最中に取り込まれたイメージによって判定された座標系を用いて位置データを調整し得る。したがって、調整は道路セグメントにおいてローカルであり、グローバルな座標系などの外部座標系と合致するよりはむしろ、自己一致するであろう。
【0302】
運転の第1のグループ1610および運転の第2のグループ1630は、例えば、運転が実行された日時、運転が実行された日、運転の最中の1または複数の気象条件、などに従って、リモートサーバによってクラスタ化され得る。したがって、ロードブック1620およびロードブック1640は、異なる日時、異なる日、および/または異なる気象条件での運転が互いに調整される従来の技法と比較して、向上した精度を有し得る。
【0303】
図16にさらに図示されるように、ロードブック1620および1640は、グローバルな座標系に外挿され得、グローバル地図1650の一部として調整され得る。例えば、リモートサーバは、道路セグメントに沿った位置データを調整するように、1または複数の統計的技法を再び用い得る。ロードブック1620および1640の調整が、ローカルな座標系よりむしろグローバルな座標系において確実に実行されるように、リモートサーバは、運転の最中に取り込まれたイメージよりもむしろ、グローバルな座標系におけるGPSデータまたは他のデータを使用し得る。ロードブック1620および1640は単独の運転より正確な入力を提供するので、グローバル地図1650は、運転の第1のグループ1610および運転の第2のグループ1630がグローバルな座標系で直接調整された場合より高い精度を有する。
【0304】
運転データと共に図示されるが、ロードブック1620および1640(グローバル地図1650も同様)は、道路セグメントに関連づけられ、イメージに示される、1または複数のランドマークをさらに含み得る。例えば、ランドマークは、ロードブック1620および1640が形成されるときに調整され得る(または、ロードブック1620および1640を形成する運転データを調整するように用いられさえもする)。同様に、ランドマークは、グローバル地図1650が形成されるときに調整され得る(または、ロードブック1620および1640をグローバルに調整するように用いられさえもする)。
【0305】
図17は、開示される実施形態と合致する、複数の車両からの走行情報を調整するための例示的な処理1700を表すフローチャートを提供する。プロセス1700は、処理デバイス110などの、少なくとも1つの処理デバイスによって実行され得る。代替的に、プロセス1700は、ホスト車両から離れたサーバの少なくとも1つの処理デバイスによって実行され得る。
【0306】
段階1710において、サーバは、複数の車両から走行情報を受信し得る。例えば、複数の車両からの走行情報が、共通道路セグメントに関連づけられ得る。いくつかの実施形態において、走行情報受信モジュール1502に関して上で説明されたように、走行情報は、グローバルポジショニングシステム(GPS)情報、および/または、複数の車両に含まれるイメージセンサによって取り込まれたイメージに含まれる1または複数のランドマークを含み得る。例えば、1または複数のランドマークは、共通道路セグメントに沿った可視オブジェクトを含み得る。そのような複数の実施形態において、オブジェクトは、路面標示および道路標識のうち少なくとも1つを含み得る。
【0307】
いくつかの実施形態において、走行情報は、無線周波数、赤外線周波数、磁場、電場などの使用によって、コンピュータネットワーク(例えば、セルラー、インターネットなど)を介して受信され得る。走行情報は、データを送信および/または受信するための任意の知られた規格(例えば、Wi-Fi、ブルートゥース(登録商標)、Bluetooth(登録商標) スマート、802.15.4、ZigBee(登録商標)など)を用いて送信され得る。
【0308】
段階1720は、調整モジュール1504に対して上で説明されたように、サーバは、共通道路セグメントにローカルな座標系内で走行情報を調整し得る。例えば、ローカルな座標系は、複数の車両に含まれるイメージセンサによって取り込まれた複数のイメージに基づく座標系を含み得る。
【0309】
いくつかの実施形態において、走行情報を調整することは、1または複数のランドマークに基づき得る。例えば、上に説明されたように、サーバは、GPSデータの調整に基づいてランドマークを調節するよりむしろ、ランドマークの調整に基づいて、走行情報に含まれるGPSデータを調節し得る。
【0310】
段階1730において、格納モジュール1506に対して上で説明されたように、サーバは、調整された走行情報を共通道路セグメントに関連づけて格納し得る。例えば、共通道路セグメントの識別子が、調整された走行情報と共に格納され、調整された走行情報をインデックスするように用いられるように、走行情報は、データベースに格納され得る。
【0311】
段階1740において、分配モジュール1508に対して上で説明されたように、サーバは、共通道路セグメントに沿って1または複数の自律走行車両を自律的に走行させる際の使用のために、調整された走行情報を1または複数の自律走行車両に分配し得る。例えば、1または複数の車両は走行情報を要求し得、サーバは要求に応答して、および、無線周波数、赤外線周波数、磁場、電場などの使用によって、コンピュータネットワーク(例えば、セルラー、インターネットなど)を介して、調整された走行情報を送信し得る。調整された走行情報は、データを送信および/または受信するための任意の知られた規格(例えば、Wi-Fi(登録商標)、Bluetooth(登録商標)、Bluetooth(登録商標) スマート、802.15.4、ZigBee(登録商標)など)を用いて送信され得る。
【0312】
方法1700は、付加的段階をさらに含み得る。例えば、いくつかの実施形態において、複数の車両が特定の期間の最中に走行情報を取り込んでいるとしてもよい。そのような複数の実施形態において、方法1700はさらに、第2の複数の車両からの追加走行情報を受信する段階であって、第2の複数の車両からの追加走行情報は第2の期間の最中に取り込まれ、共通道路セグメントに関連づけられる、段階と、共通道路セグメントにローカルな座標系内で追加走行情報を調整する段階であって、ローカルな座標系は、第2の複数の車両に含まれるイメージセンサによって取り込まれる複数のイメージに基づく座標系である、段階と、調整された追加走行情報を共通道路セグメントと関連づけて格納する段階と、を含み得る。
【0313】
加えて、または代替的に、複数の車両は、ある回数の運転の間に走行情報を取り込んでいるとしてもよく、運転の回数は運転の回数の閾値を超えない。そのような複数の実施形態において、方法1700はさらに、第2の複数の車両からの追加走行情報を受信する段階であって、第2の複数の車両からの追加走行情報は、追加の運転を介して取り込まれ、共通道路セグメントに関連づけられる、段階と、共通道路セグメントにローカルな座標系内で追加走行情報を調整する段階であって、ローカルな座標系は、第2の複数の車両に含まれるイメージセンサによって取り込まれる複数のイメージに基づく座標系である、段階と、調整された追加走行情報を共通道路セグメントに関連づけて格納する段階と、を含み得る。
【0314】
上で説明されたいかなる実施形態においても、方法1700はさらに、調整された走行情報をグローバルな座標のセットに外挿する段階と、グローバルに調整された走行情報を共通道路セグメントに関連づけて格納する段階と、を含み得る。加えて、追加走行情報を含む実施形態において、方法1700はさらに、調整された走行情報および調整された追加走行情報を、グローバルな座標のセットに外挿する段階と、グローバルに調整された走行情報および追加走行情報を共通道路セグメントに関連づけて格納する段階と、を含み得る。
【0315】
上記説明は、例示のために示された。それは、網羅的ではなく、正確な形状または開示された実施形態に限定されない。明細書および開示される実施形態の実務を考慮すれば、修正形態および適応形態が、当業者には明らかであろう。加えて、開示される実施形態の態様はメモリに格納されるものとして説明されるが、当業者は、この態様は、二次格納デバイス、例えば、ハードディスクまたはCD-ROM、または他の形のRAMまたはROM、USB媒体、DVD、ブルーレイ、4KウルトラHDブルーレイ、または他の光学ドライブ媒体など、他の種類のコンピュータ可読媒体にもまた格納され得ることを理解するであろう。
【0316】
記載された説明に基づくコンピュータプログラム、および開示されている方法は、経験のある開発者の技能の範囲内である。様々なプログラムまたはプログラムモジュールが、当業者に知られる任意の技法を用いて生成され得、または、既存のソフトウェアと関連して設計され得る。例えば、プログラムセクションまたはプログラムモジュールは、.Net Framework、.Net Compact Framework(および、Visual Basic(登録商標)、Cなど関連する言語)、Java(登録商標)、C++、Objective-C、HTML、HTML/AJAXの組み合わせ、XML、または、Java(登録商標)アプレットに含まれるHTMLにおいて、またはそれらによって、設計され得る。
【0317】
加えて、例示的な実施形態が本明細書に説明されてきたが、任意の、およびすべての実施形態の範囲は、本開示に基づいて当業者によって理解されるであろう等価要素、修正形態、省略、組み合わせ(例えば、様々な実施形態にわたる態様の)、適応、および/または改変を有し得る。特許請求の範囲の限定は、特許請求の範囲に使用された言語におおまかに基づいて解釈されるべきであり、本明細書に説明された例、または出願の審査中に説明された例に限定されない。例は、非排他的であるとして解釈されるべきである。さらに、開示されている方法の段階は、段階を並べ替える、および/または、段階を挿入または削除することを含む、任意の形態で修正され得る。したがって、明細書および例は、以下の特許請求の範囲に明示されている真の範囲および意図、およびそれらの等価物の完全な範囲によってのみ示されるものとみなされることが意図される。
本明細書によれば、以下の各項目に記載の構成もまた開示される。
(項目1)
ホスト車両のための走行システムであって、前記走行システムは、
前記ホスト車両に関連づけられた第1のデータ源からの第1の出力と、前記ホスト車両に関連づけられた第2のデータ源からの第2の出力とを受信することであって、前記第1のデータ源および前記第2のデータ源のうち少なくとも一方は、前記ホスト車両に搭載されたセンサを含む、受信することと、
前記第1の出力において目標オブジェクトの表現を識別することと、
前記目標オブジェクトの特性が、少なくとも1つの走行制約を引き起こすかどうか判定することと、
前記少なくとも1つの走行制約が、前記目標オブジェクトの前記特性によって引き起こされない場合、前記第1の出力および前記第2の出力の組み合わせに基づいて前記目標オブジェクトの前記表現の前記識別を検証することと、
前記少なくとも1つの走行制約が、前記目標オブジェクトの前記特性によって引き起こされる場合、前記第1の出力に基づいて前記目標オブジェクトの前記表現の前記識別を検証することと、
前記検証に応答して、前記ホスト車両への少なくとも1つの走行変化を生じさせることと、
を行うようにプログラムされた、少なくとも1つの処理デバイスを備える、走行システム。
(項目2)
前記少なくとも1つの走行変化は、前記ホスト車両を減速させることを含む、項目1に記載の走行システム。
(項目3)
前記少なくとも1つの走行変化は、前記ホスト車両を加速させることを含む、項目1または2に記載の走行システム。
(項目4)
前記少なくとも1つの走行変化は、前記ホスト車両のステアリング機構を作動させることを含む、項目1から3のいずれか一項に記載の走行システム。
(項目5)
前記第1のデータ源は、前記ホスト車両に搭載されたカメラ、ライダ、またはレーダのうち少なくとも1つを含む、項目1から4のいずれか一項に記載の走行システム。
(項目6)
前記第2のデータ源は、前記少なくとも1つの処理デバイスによってアクセスされる地図データを含む、項目1から5のいずれか一項に記載の走行システム。
(項目7)
前記第1の出力および前記第2の出力の前記組み合わせに基づいて前記目標オブジェクトの前記表現の前記識別を検証することは、前記目標オブジェクトの表現が前記第1の出力および前記第2の出力の両者において識別されるかどうか判定することを含む、項目1から6のいずれか一項に記載の走行システム。
(項目8)
前記第1の出力および前記第2の出力の前記組み合わせに基づいて前記目標オブジェクトの前記表現の前記識別を検証することは、前記第1の出力に射影された前記第2の出力を用いて前記目標オブジェクトの前記特性を判定することを含む、項目1から7のいずれか一項に記載の走行システム。
(項目9)
前記第2の出力は、地図データを含み、前記第1の出力は、前記ホスト車両の環境の少なくとも1つのイメージを含み、前記射影は、前記地図データを用いて前記少なくとも1つのイメージにおいて1または複数の道路縁部を検出することを含む、項目8に記載の走行システム。
(項目10)
前記第2の出力は、ライダからの出力を含み、前記第1の出力は、前記ホスト車両の環境の少なくとも1つのイメージを含み、前記射影は、前記第2の出力を用いて前記少なくとも1つのイメージにおけるフリースペースを検出することを含む、項目8に記載の走行システム。
(項目11)
前記目標オブジェクトの前記特性は、前記目標オブジェクトのサイズを含む、項目1から10のいずれか一項に記載の走行システム。
(項目12)
前記目標オブジェクトの前記特性は、前記ホスト車両から前記目標オブジェクトへの距離を含む、項目1から11のいずれか一項に記載の走行システム。
(項目13)
前記目標オブジェクトの前記特性は、前記ホスト車両の環境における前記目標オブジェクトの位置を含む、項目1から12のいずれか一項に記載の走行システム。
(項目14)
ホスト車両を走行させるコンピュータ実装方法であって、
前記ホスト車両に関連づけられた第1のデータ源からの第1の出力と、前記ホスト車両に関連づけられた第2のデータ源からの第2の出力とを受信する段階であって、前記第1のデータ源および前記第2のデータ源のうち少なくとも一方は、前記ホスト車両に搭載されたセンサを含む、段階と、
前記第1の出力において、目標オブジェクトの表現を識別する段階と、
前記目標オブジェクトの特性が、少なくとも1つの走行制約を引き起こすかどうか判定する段階と、
前記少なくとも1つの走行制約が、前記目標オブジェクトの前記特性によって引き起こされない場合、前記第1の出力および前記第2の出力の組み合わせに基づいて前記目標オブジェクトの前記表現の前記識別を検証する段階と、
前記少なくとも1つの走行制約が、前記目標オブジェクトの前記特性によって引き起こされる場合、前記第1の出力に基づいて前記目標オブジェクトの前記表現の前記識別を検証する段階と、
前記検証に応答して、前記ホスト車両への少なくとも1つの走行変化を生じさせる段階と
を備える、方法。
(項目15)
前記少なくとも1つの走行変化は、前記ホスト車両を減速させること、前記ホスト車両を加速させること、または、前記ホスト車両のステアリング機構を作動させることのうち少なくとも1つを含む、項目14に記載の方法。
(項目16)
前記第1のデータ源は、前記ホスト車両に搭載されたカメラ、ライダ、またはレーダのうち少なくとも1つを含む、項目14または15に記載の方法。
(項目17)
前記第2のデータ源は、前記少なくとも1つの処理デバイスによってアクセスされる地図データを含む、項目14から16のいずれか一項に記載の方法。
(項目18)
前記第1の出力および前記第2の出力の前記組み合わせに基づいて前記目標オブジェクトの前記表現の前記識別を検証する段階は、前記目標オブジェクトの表現が前記第1の出力および前記第2の出力の両者において識別されるかどうか判定することを含む、項目14から17のいずれか一項に記載の方法。
(項目19)
前記第1の出力および前記第2の出力の前記組み合わせに基づいて前記目標オブジェクトの前記表現の前記識別を検証する段階は、前記第1の出力に射影された前記第2の出力を用いて前記目標オブジェクトの前記特性を判定することを含む、項目14から18のいずれか一項に記載の方法。
(項目20)
少なくとも1つの処理デバイスに、
ホスト車両に関連づけられた第1のデータ源からの第1の出力と、前記ホスト車両に関連づけられた第2のデータ源からの第2の出力を受信する手順であって、前記第1のデータ源および前記第2のデータ源のうち少なくとも一方は、前記ホスト車両に搭載されたセンサを含む、手順と、
前記第1の出力において目標オブジェクトの表現を識別する手順と、
前記目標オブジェクトの特性が、少なくとも1つの走行制約を引き起こすかどうか判定する手順と、
前記少なくとも1つの走行制約が、前記目標オブジェクトの前記特性によって引き起こされない場合、前記第1の出力および前記第2の出力の組み合わせに基づいて前記目標オブジェクトの前記表現の前記識別を検証する手順と、
前記少なくとも1つの走行制約が、前記目標オブジェクトの前記特性によって引き起こされる場合、前記第1の出力に基づいて前記目標オブジェクトの前記表現の前記識別を検証する手順と、
前記検証に応答して、前記ホスト車両への前記少なくとも1つの走行変化を生じさせる手順と、
を実行させるためのプログラム。
(項目21)
サーバに、
複数の車両から走行情報を受信する手順であって、前記複数の車両からの前記走行情報は、共通道路セグメントに関連づけられる、手順と、
共通道路セグメントにローカルな座標系内での前記走行情報を調整する手順であって、前記ローカルな座標系は、前記複数の車両に含まれるイメージセンサによって取り込まれる複数のイメージに基づく座標系を含む、手順と、
調整された前記走行情報を、前記共通道路セグメントに関連づけて格納する手順と、
前記共通道路セグメントに沿って1または複数の自律走行車両を自律的に走行させる際の使用のために、前記1または複数の自律走行車両に、調整された前記走行情報を分配する手順と、
を実行させるためのプログラム。
(項目22)
前記走行情報は、コンピュータネットワークを介して受信される、項目21に記載のプログラム。
(項目23)
前記走行情報は、グローバルポジショニングシステム(GPS)情報を含む、項目21または22に記載のプログラム。
(項目24)
前記走行情報は、前記複数の車両に含まれる前記イメージセンサによって取り込まれたイメージに含まれる1または複数のランドマークを含む、項目21から23のいずれか一項に記載のプログラム。
(項目25)
前記走行情報を調整することは、前記1または複数のランドマークに基づく、項目24に記載のプログラム。
(項目26)
前記1または複数のランドマークは、前記共通道路セグメントに沿った可視オブジェクトを含む、項目24または25に記載のプログラム。
(項目27)
前記可視オブジェクトは、路面標示および道路標識のうち少なくとも1つを含む、項目26に記載のプログラム。
(項目28)
前記サーバに、
前記調整された走行情報をグローバルな座標のセットに外挿する手順と、
グローバルに調整された前記走行情報を、前記共通道路セグメントに関連づけて格納する手順と、
をさらに実行させる、項目21から27のいずれか一項に記載のプログラム。
(項目29)
前記複数の車両は、特定の期間の最中に前記走行情報を取り込む、項目21から28のいずれか一項に記載のプログラム。
(項目30)
前記サーバに、
第2の複数の車両から追加走行情報を受信する手順であって、前記第2の複数の車両からの前記追加走行情報は、第2の期間の最中に取り込まれ、前記共通道路セグメントに関連づけられる、手順と、
前記共通道路セグメントにローカルな座標系内で前記追加走行情報を調整する手順であって、前記ローカルな座標系は、前記第2の複数の車両に含まれるイメージセンサによって取り込まれた複数のイメージに基づく座標系を含む、手順と、
調整された前記追加走行情報を、前記共通道路セグメントに関連づけて格納する手順と、
をさらに実行させる、項目29に記載のプログラム。
(項目31)
前記サーバに、
調整された前記走行情報および調整された前記追加走行情報を、グローバルな座標のセットに外挿する手順と、
グローバルに調整された前記走行情報および前記追加走行情報を、前記共通道路セグメントに関連づけて格納する手順と、
をさらに実行させる、項目30に記載のプログラム。
(項目32)
前記複数の車両は、ある回数の運転の間に前記走行情報を取り込み、運転の前記回数は、運転の回数の閾値を超えない、項目21から31のいずれか一項に記載のプログラム。
(項目33)
前記サーバに、
第2の複数の車両からの追加走行情報を受信する手順であって、前記第2の複数の車両からの前記追加走行情報は、追加の運転を介して取り込まれ、前記共通道路セグメントに関連づけられる、手順と
前記共通道路セグメントにローカルな座標系内で前記追加走行情報を調整する手順であって、前記ローカルな座標系は、前記第2の複数の車両に含まれるイメージセンサによって取り込まれる複数のイメージに基づく座標系を含む、手順と
調整された前記追加走行情報を、前記共通道路セグメントに関連づけて格納する手順と、
をさらに実行させる、項目32に記載のプログラム。
(項目34)
前記サーバに、
調整された前記走行情報および調整された前記追加走行情報をグローバルな座標のセットに外挿する手順と、
グローバルに調整された前記走行情報および前記追加走行情報を、前記共通道路セグメントに関連づけて格納する手順と、
をさらに実行させる、項目33に記載のプログラム。
(項目35)
複数の車両からの走行情報を調整するサーバであって、
前記複数の車両から走行情報を受信することであって、前記複数の車両からの前記走行情報は共通道路セグメントに関連づけられる、受信することと、
前記共通道路セグメントにローカルな座標系内で走行情報を調整することであって、前記ローカルな座標系は前記複数の車両に含まれるイメージセンサによって取り込まれた複数のイメージに基づく座標系を含む、調整することと、
調整された前記走行情報を、前記共通道路セグメントに関連づけて格納することと、
前記共通道路セグメントに沿って1または複数の自律走行車両を自律的に走行させる際の使用のために、前記1または複数の自律走行車両に、調整された前記走行情報を分配することと、
を行わせるようにプログラムされる少なくとも1つの処理デバイスを備える、サーバ。
(項目36)
前記少なくとも1つの処理デバイスは、
調整された前記走行情報をグローバルな座標のセットに外挿することと、
グローバルに調整された前記走行情報を前記共通道路セグメントに関連づけて格納することと、
をさらに行わせるようにプログラムされる、項目35に記載のサーバ。
(項目37)
前記複数の車両は、特定の期間の最中に前記走行情報を取り込み、前記少なくとも1つの処理デバイスは、
第2の複数の車両から追加走行情報を受信することであって、前記第2の複数の車両からの前記追加走行情報は、第2の期間の最中に取り込まれ、前記共通道路セグメントに関連づけられる、受信することと、
前記共通道路セグメントにローカルな座標系内で前記追加走行情報を調整することであって、前記ローカルな座標系は、前記第2の複数の車両に含まれるイメージセンサによって取り込まれる複数のイメージに基づく座標系を含む、調整することと、
調整された前記追加走行情報を、前記共通道路セグメントに関連づけて格納することと、
をさらに行わせるようにプログラムされる、項目35または36に記載のサーバ。
(項目38)
前記複数の車両は、ある回数の運転の間に前記走行情報を取り込み、運転の前記回数は運転の回数の閾値を超えず、前記少なくとも1つの処理デバイスは、
第2の複数の車両から追加走行情報を受信することであって、前記第2の複数の車両からの前記追加走行情報は、追加の運転を介して取り込まれ、共通道路セグメントに関連づけられる、受信することと、
前記共通道路セグメントにローカルな座標系内で前記追加走行情報を調整することであって、前記ローカルな座標系は、前記第2の複数の車両に含まれるイメージセンサによって取り込まれる複数のイメージに基づく座標系を含む、調整することと、
調整された前記追加走行情報を、前記共通道路セグメントに関連づけて格納することと、
を行わせるようにさらにプログラムされる、項目35から37のいずれか一項に記載のサーバ。
(項目39)
前記走行情報は、グローバルポジショニングシステム(GPS)情報と、前記複数の車両に含まれる前記イメージセンサによって取り込まれたイメージに含まれる1または複数のランドマークとを含む、項目35から38のいずれか一項に記載のサーバ。
(項目40)
複数の車両からの走行情報を調整するコンピュータ実装方法であって、
前記複数の車両から前記走行情報を受信する段階であって、前記複数の車両からの前記走行情報は、共通道路セグメントに関連づけられる、段階と、
前記共通道路セグメントにローカルな座標系内で前記走行情報を調整する段階であって、前記ローカルな座標系は、前記複数の車両に含まれるイメージセンサによって取り込まれた複数のイメージに基づく座標系を含む、段階と、
調整された前記走行情報を、前記共通道路セグメントに関連づけて格納する段階と、
前記共通道路セグメントに沿って1または複数の自律走行車両を自律的に走行させる際の使用のために、前記1または複数の自律走行車両に、前記調整された走行情報を分配する段階と、
を備える、方法。
図1
図2A
図2B
図2C
図2D
図2E
図2F
図3A
図3B
図3C
図3D
図4
図5A
図5B
図5C
図5D
図5E
図5F
図6
図7
図8A
図8B
図9A
図9B
図9C
図9D
図10
図11
図12
図13A
図13B
図13C
図13D
図14
図15
図16
図17
【外国語明細書】