JP2022535351A - 車両ナビゲーションのためのシステム及び方法 - Google Patents

車両ナビゲーションのためのシステム及び方法 Download PDF

Info

Publication number
JP2022535351A
JP2022535351A JP2021570341A JP2021570341A JP2022535351A JP 2022535351 A JP2022535351 A JP 2022535351A JP 2021570341 A JP2021570341 A JP 2021570341A JP 2021570341 A JP2021570341 A JP 2021570341A JP 2022535351 A JP2022535351 A JP 2022535351A
Authority
JP
Japan
Prior art keywords
vehicle
road
navigation system
lane
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021570341A
Other languages
English (en)
Inventor
マラック、エラン
シャレブ-シュワルツ、シャイ
ノティ、ドー
コーエン、ジヴ
タイエブ、ヨーヴ
ペカー、エリ
シャロム、イタイ ベン
ベン ナン、ニムロッド ラン
Original Assignee
モービルアイ ビジョン テクノロジーズ リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by モービルアイ ビジョン テクノロジーズ リミテッド filed Critical モービルアイ ビジョン テクノロジーズ リミテッド
Publication of JP2022535351A publication Critical patent/JP2022535351A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0097Predicting future conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • G01C21/3819Road shape data, e.g. outline of a route
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3837Data obtained from a single source
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/3867Geometry of map features, e.g. shape points, polygons or for simplified maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0028Mathematical models, e.g. for simulation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/30Road curve radius
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/53Road markings, e.g. lane marker or crosswalk
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/10Historical data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3602Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30256Lane; Road marking

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)
  • Navigation (AREA)

Abstract

車両ナビゲーションのためのシステム及び方法が提供される。1つの実施形態では、少なくとも1つのプロセッサは、車両のカメラから、車両の環境から撮像された少なくとも1つの画像を受信し得る。プロセッサは、少なくとも1つの画像を分析して、少なくとも1つの画像及び少なくとも1つの画像に関連付けられた少なくとも1つの点で表される車両の環境内の道路トポロジ特徴を識別し得る。識別された道路トポロジ特徴に基づいて、プロセッサは、少なくとも1つの点に関連付けられた車両の環境内の推定経路を決定し得る。プロセッサは更に、推定経路に基づいて車両にナビゲーション動作を実施させ得る。

Description

関連出願の相互参照
本願は、2019年5月28日に出願された米国仮出願第62/853,300号、2019年5月28日に出願された米国仮出願第62/853,305号、2019年5月29日に出願された米国仮出願第62/853,832号、2019年7月17日に出願された米国仮出願第62/875,226号、2020年4月6日に出願された米国仮出願第63/005,736号、及び2020年4月7日に出願された米国仮出願第63/006,340号の優先権の利益を主張するものである。上記の出願は、参照によりその全体が本明細書に援用される。
本開示は、概して、自律車両ナビゲーションに関する。
技術が進化し続けるにつれ、道路上でナビゲート可能な完全自律車両という目標が現実味を帯びてきている。自律車両は、様々な要因を考慮する必要があり得て、それらの要因に基づいて意図される目的地に安全且つ正確に到達するのに適切な判断を下し得る。例えば、自律車両は、視覚的情報(例えば、カメラから撮像される情報)を処理して解釈する必要があり得ると共に、他のソース(例えば、GPSデバイス、速度センサ、加速度計、サスペンションセンサ等)から得られる情報を使用することもある。同時に、目的地にナビゲートするために、自律車両は、特定の道路(例えば、複数レーン道路内の特定のレーン)内の自らの位置を識別し、他の車両と並んでナビゲートし、障害物及び歩行者を回避し、交通信号及び標識を観測し、適切な交差点又はインターチェンジである道路から別の道路に走行する必要もあり得る。自律車両が目的地まで走行するときに、自律車両によって収集された膨大な量の情報を利用して解釈することは、設計上の多くの課題をもたらす。自律車両が分析、アクセス、及び/又は保存する必要があり得る膨大な量のデータ(例えば、撮像された画像データ、マップデータ、GPSデータ、センサデータ等)は、実際には自律ナビゲーションに制限又は悪影響を与える可能性のある課題をもたらす。更に、自律車両が従来のマッピング技術に依存してナビゲートする場合、マップの保存及び更新に必要な膨大な量のデータは、困難な課題をもたらす。
本開示による実施形態は、自律車両ナビゲーションのシステム及び方法を提供する。開示される実施形態は、カメラを使用して、自律車両ナビゲーション特徴を提供し得る。例えば、本開示される実施形態によれば、開示されるシステムは、車両の環境を監視する1つ、2つ又は3つ以上のカメラを含み得る。開示されるシステムは、例えば、カメラのうちの1つ又は複数により撮像された画像の分析に基づいて、ナビゲーション応答を提供し得る。
1つの実施形態では、ホスト車両のためのナビゲーションシステムは、少なくとも1つのプロセッサを備え得る。プロセッサは、車両のカメラから、車両の環境から撮像された少なくとも1つの画像を受信し、少なくとも1つの画像を分析して、少なくとも1つの画像及び少なくとも1つの画像に関連付けられた少なくとも1つの点で表される車両の環境内の道路トポロジ特徴を識別するようにプログラムされ得る。プロセッサは更に、識別された道路トポロジ特徴に基づいて、少なくとも1つの点に関連付けられた車両の環境内の推定経路を決定し、推定経路に基づいて車両にナビゲーション動作を実施させるようにプログラムされ得る。
1つの実施形態では、ホスト車両のためのナビゲーションシステムは、少なくとも1つのプロセッサを備え得る。プロセッサは、車両のカメラから、車両の環境から撮像された少なくとも1つの画像を受信し、少なくとも1つの画像を分析して、少なくとも1つの画像で表される車両の環境内の1つ又は複数の道路トポロジ特徴を識別するようにプログラムされ得る。プロセッサは更に、少なくとも1つの画像の複数の区分のそれぞれについて、識別された1つ又は複数の道路トポロジ特徴に基づいて、複数の区分のうちの1つに対応する車両の環境内の位置での推定経路を決定するようにプログラムされ得る。プロセッサは更に、少なくとも1つの画像の複数の区分に関連付けられた予測経路の少なくとも1つに基づいて、車両にナビゲーション動作を実施させ得る。
1つの実施形態では、ホスト車両のためのナビゲーションシステムは、少なくとも1つのプロセッサを備え得る。プロセッサは、ホスト車両のカメラから、ホスト車両の環境から撮像された少なくとも1つの画像を受信し、少なくとも1つの画像を分析して、道路区分に沿った車両の走行レーンの表現及び道路区分に沿った少なくとも1つの追加の走行レーンの表現を識別するようにプログラムされ得る。プロセッサは更に、少なくとも1つの画像を分析して、少なくとも1つの追加の走行レーンに関連付けられた属性を識別し、その属性に基づいて、少なくとも1つの追加の走行レーンの特徴付けを示す情報を決定するようにプログラムされ得る。プロセッサは、道路ナビゲーションモデルの更新に使用するために、少なくとも1つの追加の走行レーンの特徴付けを示す情報をサーバに送信するようにプログラムされ得る。
開示される他の実施形態によれば、非一時的コンピュータ可読記憶媒体は、少なくとも1つの処理デバイスにより実行され、且つ本明細書に記載される任意の方法を実行するプログラム命令を記憶し得る。
上述した概説及び以下に詳述する説明は、単に例示的及び説明的なものであり、特許請求の範囲の限定ではない。
本開示に組み込まれ、本明細書の一部をなす添付図面は、開示される様々な実施形態を示す。
開示される実施形態による例示的なシステムの図表現である。
開示される実施形態によるシステムを含む例示的な車両の側面図表現である。
開示される実施形態による図2Aに示す車両及びシステムの上面図表現である。
開示される実施形態によるシステムを含む車両の別の実施形態の上面図表現である。
開示される実施形態によるシステムを含む車両の更に別の実施形態の上面図表現である。
開示される実施形態によるシステムを含む車両の更に別の実施形態の上面図表現である。
開示される実施形態による例示的な車両制御システムの図表現である。
バックミラーと、開示される実施形態による車両撮像システムのユーザインタフェースとを含む車両の内部の図表現である。
開示される実施形態による、バックミラーの背後に、車両フロントガラスと対向して位置決めされるように構成されるカメラマウントの例の図である。
開示される実施形態による、異なる視点からの図3Bに示すカメラマウントの図である。
開示される実施形態による、バックミラーの背後に、車両フロントガラスと対向して位置決めされるように構成されるカメラマウントの例の図である。
開示される実施形態による1つ又は複数の動作を実行する命令を記憶するように構成されるメモリの例示的なブロック図である。
開示される実施形態による、単眼画像分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセスを示すフローチャートである。
開示される実施形態による、画像の組内の1つ又は複数の車両及び/又は歩行者を検出する例示的なプロセスを示すフローチャートである。
開示される実施形態による、画像の組内の道路マーク及び/又はレーンジオメトリ情報を検出する例示的なプロセスを示すフローチャートである。
開示される実施形態による、画像の組内の信号機を検出する例示的なプロセスを示すフローチャートである。
開示される実施形態による、車両経路に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセスを示すフローチャートである。
開示される実施形態による、先行車両がレーンを変更中であるか否かを特定する例示的なプロセスを示すフローチャートである。
開示される実施形態による、立体画像分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセスを示すフローチャートである。
開示される実施形態による、3組の画像の分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセスを示すフローチャートである。
開示される実施形態による、自律車両ナビゲーションを提供するための疎なマップを示す。
開示される実施形態による、道路区分の部分の多項式表現を示す。
開示される実施形態による、疎なマップに含まれる、特定の道路区分についての車両の目標軌道を表す3次元空間内の曲線を示す。
開示される実施形態による、疎なマップに含まれ得る陸標の例を示す。
開示される実施形態による、軌道の多項式表現を示す。
開示される実施形態による、複数レーン道路に沿った目標軌道を示す。 開示される実施形態による、複数レーン道路に沿った目標軌道を示す。
開示される実施形態による、例示的な道路シグネチャプロファイルを示す。
開示される実施形態による、自律車両ナビゲーションのために複数の車両から受信されるクラウドソーシングデータを使用するシステムの概略図である。
開示される実施形態による、複数の3次元スプラインによって表される例示的な自律車両道路ナビゲーションモデルを示す。
開示される実施形態による、多くの走行からの位置情報を組み合わせることから生成されるマップスケルトンを示す。
開示される実施形態による、陸標としての例示的な標識による2つの走行の縦方向の整列の例を示す。
開示される実施形態による、陸標としての例示的な標識による多くの走行の縦方向の整列の例を示す。
開示される実施形態による、カメラ、車両、及びサーバを使用して走行データを生成するためのシステムの概略図である。
開示される実施形態による、疎なマップをクラウドソーシングするためのシステムの概略図である。
開示される実施形態による、道路区分に沿った自律車両ナビゲーションのための疎なマップを生成するための例示的なプロセスを示すフローチャートである。
開示される実施形態による、サーバのブロック図を示す。
開示される実施形態による、メモリのブロック図を示す。
開示される実施形態による、車両に関連付けられた車両軌道をクラスタ化するプロセスを示す。
開示される実施形態による、自律ナビゲーションに使用され得る車両のためのナビゲーションシステムを示す。
開示される実施形態による、検出され得る例示的なレーンマークを示す。 開示される実施形態による、検出され得る例示的なレーンマークを示す。 開示される実施形態による、検出され得る例示的なレーンマークを示す。 開示される実施形態による、検出され得る例示的なレーンマークを示す。
開示される実施形態による、例示的なマッピングされたレーンマークを示す。
開示される実施形態による、レーンマークの検出に関連付けられた例示的な異常を示す。
開示される実施形態による、マッピングされたレーンマークに基づくナビゲーションのための車両の周囲環境の例示的な画像を示す。
開示される実施形態による、道路ナビゲーションモデルにおけるマッピングされたレーンマークに基づく車両の横方向の位置特定補正を示す。
開示される実施形態による、自律車両ナビゲーションで使用するためのレーンマークをマッピングするための例示的なプロセスを示すフローチャートである。
開示される実施形態による、マッピングされたレーンマークを使用して、道路区分に沿ってホスト車両を自律的にナビゲートするための例示的なプロセスを示すフローチャートである。
開示される実施形態による、ホスト車両によって撮像された例示的な画像の図である。
開示される実施形態による、ホスト車両によって検出され得る追加の例示的な道路トポロジ特徴を有する別の例示的な画像の図である。
開示される実施形態による、画像上に重なる例示的なベクトル場の図である。
開示される実施形態による、決定され得る例示的な予測経路を示す。
開示される実施形態による、ベクトル場に基づいてホスト車両をナビゲートするための例示的なプロセスを示すフローチャートである。
開示される実施形態による、ベクトル場に基づいてホスト車両をナビゲートするための例示的なプロセスを示すフローチャートである。
開示される実施形態による、レーン分析のためにホスト車両によって撮像され得る例示的な画像の図である。
開示される実施形態による、レーンの特徴付けを決定するためにホスト車両によって識別され得る例示的な属性を示す。
開示される実施形態による、レーンの特徴付けが実行され得る例示的な道路区分の図である。
開示される実施形態による、意味的レーン特徴に基づいてホスト車両をナビゲートするための例示的なプロセスを示すフローチャートである。
以下の詳細な説明は、添付図面を参照する。可能な場合には常に、図面及び以下の説明において、同じ又は同様の部分を指すのに同じ参照番号が使用される。幾つかの例示的な実施形態は、本明細書で説明されるが、変更形態、適応形態及び他の実装形態が可能である。例えば、図面に示す構成要素に対する置換形態、追加形態又は変更形態がなされ得て、本明細書に記載される例示的な方法は、開示される方法のステップの置換、順序替え、削除又は追加により変更することができる。従って、以下の詳細な説明は、開示される実施形態及び例に限定されない。その代わり、適切な範囲は、添付の特許請求の範囲により規定される。
自律車両の概要
本開示の全体を通して使用するとき、「自律車両」という用語は、ドライバーの入力なしで少なくとも1つのナビゲーション変更を実施することができる車両を指す。「ナビゲーション変更」は、車両の操舵、ブレーキ、又は加速のうちの1つ又は複数の変更を指す。自律的であるために、車両は、完全に自動である(例えば、ドライバー又はドライバー入力なしに完全に動作する)必要はない。むしろ、自律車両は、特定の時間期間中にドライバーの制御下で動作し、他の時間期間中にドライバーの制御なしで動作することができる車両を含む。自律車両は、(例えば、車両レーン制約間に車両コースを維持するために)操舵等の車両ナビゲーションの幾つかの側面のみを制御するが、他の側面(例えば、ブレーキ)をドライバーに任せ得る車両を含むこともできる。幾つかの場合、自律車両は、車両のブレーキ、速度制御及び/又は操舵の一部又は全部の側面を扱い得る。
人間のドライバーは、通常、車両を制御するために視覚的手掛かり及び観測に依存することから、交通基盤は、それに従って構築されており、レーンマーク、交通標識及び信号機は、視覚的情報を全てドライバーに提供するように設計されている。交通基盤のこれらの設計特性に鑑みて、自律車両は、カメラと、車両の環境から撮像される視覚的情報を分析する処理ユニットとを含み得る。視覚的情報は、例えば、ドライバーにより観測可能な交通基盤の構成要素(例えば、レーンマーク、交通標識、信号機等)及び他の障害物(例えば、他の車両、歩行者、瓦礫等)を含み得る。更に、自律車両は、ナビゲート時、車両の環境のモデルを提供する情報等の記憶される情報を使用することもできる。例えば、車両は、GPSデータ、センサデータ(例えば、加速度計、速度センサ、サスペンションセンサ等からの)及び/又は他のマップデータを使用して、車両が走行している間、車両の環境に関連する情報を提供し得て、車両(及び他の車両)は情報を使用して、モデルでのそれ自体の位置を特定し得る。
本開示の幾つかの実施形態では、自律車両は、ナビゲート中に(例えば、カメラ、GPSデバイス、加速度計、速度センサ、サスペンションセンサ等から)得られた情報を使用し得る。他の実施形態では、自律車両は、ナビゲート中に、車両(又は他の車両)による過去のナビゲーションから得られた情報を使用し得る。更に他の実施形態では、自律車両は、ナビゲート中に得られた情報と過去のナビゲーションから得られた情報との組み合わせを使用し得る。以下の節は、開示される実施形態によるシステムの概要を提供し、続いて、そのシステムによる前向きの撮像システム及び方法の概要を提供する。以下の節では、自律車両ナビゲーションのための疎なマップを構築、使用、及び更新するためのシステム及び方法について開示される。
システム概要
図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に伝送するための1つ又は複数の任意の有線リンク及び/又は無線リンクを含み得る。
無線送受信機172は、無線周波数、赤外線周波数、磁場又は電場の使用により無線インタフェースを介して伝送を1つ又は複数のネットワーク(例えば、セルラやインターネット等)と交換するように構成される1つ又は複数のデバイスを含み得る。無線送受信機172は、任意の既知の標準を使用してデータを送信及び/又は受信し得る(例えば、Wi-Fi(登録商標)、Bluetooth(登録商標)、Bluetooth Smart、802.15.4、ZigBee(登録商標)等)。かかる伝送は、ホスト車両から1つ又は複数の遠隔設置されるサーバへの通信を含み得る。かかる伝送は、(例えば、ホスト車両の環境内の目標車両を考慮して又はかかる目標車両と共にホスト車両のナビゲーションの調整を促進するための)ホスト車両とホスト車両の環境内の1つ又は複数の目標車両との間の(単方向又は双方向)通信、更に伝送側の車両の付近にある未指定の受け手へのブロードキャスト伝送も含み得る。
アプリケーションプロセッサ180及び画像プロセッサ190の両方は、様々なタイプの処理デバイスを含み得る。例えば、アプリケーションプロセッサ180及び画像プロセッサ190のいずれか一方又は両方は、マイクロプロセッサ、プリプロセッサ(画像プリプロセッサ等)、グラフィックスプロセッシングユニット(GPU)、中央演算処理装置(CPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ又はアプリケーションを実行し、画像を処理して分析するのに適する任意の他のタイプのデバイスを含み得る。幾つかの実施形態では、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、任意のタイプのシングルコア又はマルチコアプロセッサ、モバイルデバイスマイクロコントローラ、中央演算処理装置等を含み得る。例えば、Intel(登録商標)、AMD(登録商標)等の製造業者から入手可能なプロセッサ、又はNVIDIA(登録商標)、ATI(登録商標)等の製造業者から入手可能なGPUを含め、様々な処理デバイスが使用可能であり、様々なアーキテクチャ(例えば、x86プロセッサ、ARM(登録商標)等)を含み得る。
幾つかの実施形態では、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、Mobileye(登録商標)から入手可能な任意のEyeQシリーズのプロセッサを含み得る。これらのプロセッサ設計は、それぞれローカルメモリ及び命令セットを有する複数の処理ユニットを含む。そのようなプロセッサは、複数の画像センサから画像データを受信するビデオ入力を含み得ると共に、ビデオ出力機能を含むこともできる。一例では、EyeQ2(登録商標)は、332MHzで動作する90nm-ミクロン技術を使用する。EyeQ2(登録商標)アーキテクチャは、2つの浮動小数点ハイパースレッド32ビットRISC CPU(MIPS32(登録商標)34K(登録商標)コア)、5つのビジョン計算エンジン(VCE)、3つのベクトルマイクロコードプロセッサ(VMP(登録商標))、Denali64ビットモバイルDDRコントローラ、128ビット内部音響相互接続、デュアル16ビットビデオ入力及び18ビットビデオ出力コントローラ、16チャネルDMA及び幾つかの周辺機器からなる。MIPS34K CPUは、5つのVCE、3つのVMP(商標)及びDMA、第2のMIPS34K CPU及びマルチチャネルDMA並びに他の周辺機器を管理する。5つのVCE、3つのVMP(登録商標)及びMIPS34K CPUは、多機能バンドルアプリケーションにより要求される集中的なビジョン計算を実行することができる。別の例では、開示される実施形態において、第3世代プロセッサであり、EyeQ2(登録商標)よりも6倍強力なEyeQ3(登録商標)を使用し得る。他の例では、EyeQ4(登録商標)及び/又はEyeQ5(登録商標)を開示される実施形態で使用することができる。当然ながら、それよりも新しい又は将来のEyeQ処理デバイスは、開示される実施形態と共に使用され得る。
本明細書で開示される処理デバイスのいずれも特定の機能を実行するように構成することができる。記載のEyeQプロセッサ又は他のコントローラもしくはマイクロプロセッサのいずれか等の処理デバイスを、特定の機能を実行するように構成することは、コンピュータ実行可能命令をプログラムし、処理デバイスの動作中に実行するためにそれらの命令を処理デバイスに提供することを含み得る。幾つかの実施形態では、処理デバイスを構成することは、処理デバイスにアーキテクチャ的命令を直接プログラムすることを含み得る。例えば、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等の処理デバイス等は、例えば、1つ又は複数のハードウェア記述言語(HDL)を使用して構成され得る。
他の実施形態では、処理デバイスを構成することは、動作中に処理デバイスがアクセス可能なメモリ上に実行可能命令を記憶することを含み得る。例えば、処理デバイスは、動作中にメモリにアクセスして、記憶される命令を取得及び実行し得る。いずれにせよ、本明細書で開示される検知、画像分析及び/又はナビゲーション機能を実行するように構成される処理デバイスは、ホスト車両の複数のハードウェアベースの構成要素を制御する専用のハードウェアベースのシステムを表す。
図1は、処理ユニット110に含まれる2つの別個の処理デバイスを示すが、より多数又はより少数の処理デバイスを使用することもできる。例えば、幾つかの実施形態では、単一の処理デバイスを使用して、アプリケーションプロセッサ180及び画像プロセッサ190のタスクを達成し得る。他の実施形態では、これらのタスクは、3つ以上の処理デバイスにより実行され得る。更に、幾つかの実施形態では、システム100は、画像取得ユニット120等の他の構成要素を含まず、処理ユニット110のうちの1つ又は複数を含み得る。
処理ユニット110は、様々なタイプのデバイスを含み得る。例えば、処理ユニット110は、コントローラ、画像プリプロセッサ、中央演算処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ又は画像を処理し分析する任意の他のタイプのデバイス等の様々なデバイスを含み得る。画像プリプロセッサは、画像センサから画像を撮像し、デジタル化し、処理するビデオプロセッサを含み得る。CPUは、任意の数のマイクロコントローラ又はマイクロプロセッサを含み得る。GPUはまた、任意の数のマイクロコントローラ又はマイクロプロセッサを含み得る。サポート回路は、キャッシュ、電源、クロック及び入出力回路を含め、当技術分野で一般に周知の任意の数の回路であり得る。メモリは、プロセッサにより実行されると、システムの動作を制御するソフトウェアを記憶し得る。メモリは、データベース及び画像処理ソフトウェアを含み得る。メモリは、任意の数のランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ、ディスクドライブ、光学記憶装置、テープ記憶装置、リムーバブル記憶装置及び他のタイプの記憶装置を含み得る。一例では、メモリは、処理ユニット110とは別個であり得る。別の例では、メモリは、処理ユニット110に統合し得る。
各メモリ140、150は、プロセッサ(例えば、アプリケーションプロセッサ180及び/又は画像プロセッサ190)によって実行されるとき、システム100の様々な態様の動作を制御し得るソフトウェア命令を含み得る。これらのメモリユニットは、様々なデータベース及び画像処理ソフトウェア並びに例えばニューラルネットワーク又はディープニューラルネットワーク等のトレーニングされたシステムを含み得る。メモリユニットは、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、ディスクドライブ、光学記憶装置、テープ記憶装置、リムーバブル記憶装置及び/又は任意の他のタイプの記憶装置を含み得る。幾つかの実施形態では、メモリユニット140、150は、アプリケーションプロセッサ180及び/又は画像プロセッサ190とは別個であり得る。他の実施形態では、これらのメモリユニットは、アプリケーションプロセッサ180及び/又は画像プロセッサ190に統合され得る。
位置センサ130は、システム100の少なくとも1つの構成要素に関連付けられた位置を特定するのに適する任意のタイプのデバイスを含み得る。幾つかの実施形態では、位置センサ130はGPS受信機を含み得る。そのような受信機は、全地球測位システム衛星によりブロードキャストされる信号を処理することにより、ユーザの位置及び速度を特定することができる。位置センサ130からの位置情報は、アプリケーションプロセッサ180及び/又は画像プロセッサ190に提供し得る。
幾つかの実施形態では、システム100は、車両200の速度を測定するための速度センサ(例えば、回転速度計、速度計)及び/又は車両200の加速度を測定するための加速度計(単軸又は多軸のいずれか)等の構成要素を含み得る。
ユーザインタフェース170は、情報を提供するか、又はシステム100の1人もしくは複数のユーザから入力を受信するのに適する任意のデバイスを含み得る。幾つかの実施形態では、ユーザインタフェース170は、例えば、タッチスクリーン、マイクロフォン、キーボード、ポインタデバイス、トラックホィール、カメラ、つまみ、ボタン等を含め、ユーザ入力デバイスを含み得る。そのような入力デバイスを用いて、ユーザは、命令もしくは情報をタイプし、音声コマンドを提供し、ボタン、ポインタもしくは目追跡機能を使用して、又は情報をシステム100に通信する任意の他の適する技法を通して画面上のメニュー選択肢を選択することにより、システム100に情報入力又はコマンドを提供可能であり得る。
ユーザインタフェース170は、ユーザに情報を提供するか、又はユーザから情報を受信し、例えばアプリケーションプロセッサ180による使用のためにその情報を処理するように構成される1つ又は複数の処理デバイスを備え得る。幾つかの実施形態では、そのような処理デバイスは、目の動きを認識して追跡する命令、音声コマンドを受信して解釈する命令、タッチスクリーンで行われたタッチ及び/又はジェスチャを認識して解釈する命令、キーボード入力又はメニュー選択に応答する命令等を実行し得る。幾つかの実施形態では、ユーザインタフェース170は、ディスプレイ、スピーカ、触覚デバイス及び/又は出力情報をユーザに提供する任意の他のデバイスを含み得る。
マップデータベース160は、システム100にとって有用なマップデータを記憶する任意のタイプのデータベースを含み得る。幾つかの実施形態では、マップデータベース160は、道路、水特徴、地理的特徴、ビジネス、関心点、レストラン、ガソリンスタンド等を含め、様々な項目の、基準座標系での位置に関連するデータを含み得る。マップデータベース160は、そのような項目の位置のみならず、例えば記憶される特徴のいずれかに関連付けられた名称を含め、それらの項目に関連する記述子も記憶し得る。幾つかの実施形態では、マップデータベース160は、システム100の他の構成要素と共に物理的に配置し得る。代替又は追加として、マップデータベース160又はその一部は、システム100の他の構成要素(例えば、処理ユニット110)に関して遠隔に配置し得る。そのような実施形態では、マップデータベース160からの情報は、有線又は無線データ接続を介してネットワークにダウンロードし得る(例えば、セルラネットワーク及び/又はインターネット等を介して)。幾つかの場合、マップデータベース160は、特定の道路の特徴(例えば、レーンマーク)又はホスト車両の目標軌道の多項式表現を含む疎なデータモデルを記憶し得る。そのようなマップを生成するシステム及び方法については、図8~図19を参照して以下で論じる。
撮像デバイス122、124及び126は、それぞれ環境から少なくとも1つの画像を撮像するのに適する任意のタイプのデバイスを含み得る。更に、任意の数の撮像デバイスを使用して、画像プロセッサに入力する画像を取得し得る。幾つかの実施形態は、単一の撮像デバイスのみを含み得て、他の実施形態は、2つ、3つ、更には4つ以上の撮像デバイスを含み得る。撮像デバイス122、124及び126については、図2B~図2Eを参照して更に以下に説明する。
システム100又はシステム100の様々な構成要素は、様々な異なるプラットフォームに組み込み得る。幾つかの実施形態では、システム100は図2Aに示すように、車両200に含め得る。例えば、車両200は、図1に関して上記で説明したように、処理ユニット110及びシステム100の任意の他の構成要素を備え得る。幾つかの実施形態では、車両200は単一の撮像デバイス(例えば、カメラ)のみを備え得て、図2B~図2Eに関連して考察した実施形態等の他の実施形態では、複数の撮像デバイスが使用可能である。例えば、図2Aに示すように、車両200の撮像デバイス122及び124のいずれかは、ADAS(最新ドライバー支援システム)撮像セットの一部であり得る。
画像取得ユニット120の一部として車両200に含まれる撮像デバイスは、任意の適する位置に位置決めし得る。幾つかの実施形態では、図2A~図2E及び図3A~図3Cに示すように、撮像デバイス122は、バックミラーの近傍に配置決めし得る。この位置は、車両200のドライバーと同様の視線を提供し得て、ドライバーにとって何が見え、何が見えないかの判断を支援し得る。撮像デバイス122は、バックミラーの近傍の任意の位置に位置し得るが、撮像デバイス122をミラーのドライバー側に配置することは、ドライバーの視野及び/又は視線を表す画像の取得を更に支援し得る。
画像取得ユニット120の撮像デバイスに他の位置を使用することもできる。例えば、撮像デバイス124は、車両200のバンパー上又はバンパー内に配置し得る。そのような位置は、広視野を有する撮像デバイスに特に適し得る。バンパーに配置される撮像デバイスの視線は、ドライバーの視線と異なることができ、従って、バンパー撮像デバイス及びドライバーは、同じ物体を常に見ているわけではない。撮像デバイス(例えば、撮像デバイス122、124及び126)は、他の位置に配置することもできる。例えば、撮像デバイスは、車両200の一方又は両方のサイドミラー内又は上、車両200のルーフ、車両200のフード、車両200のトランク、車両200の側部に配置し得て、車両200の任意のウィンドウに搭載、背後に位置決め又は前方に位置決めし得て、車両200の前部及び/又は後部のライト内又はその近傍等に搭載し得る。
撮像デバイスに加えて、車両200は、システム100の他の様々な構成要素を含み得る。例えば、処理ユニット110は、車両のエンジン制御ユニット(ECU)に統合されるか、又はECUとは別個に車両200に含まれ得る。車両200には、GPS受信機等の位置センサ130を備えることもでき、車両200は、マップデータベース160並びにメモリユニット140及び150を含むこともできる。
上述したように、無線送受信機172は、1つ又は複数のネットワーク(例えば、セルラネットワーク、インターネット等)を介してデータを及び/又は受信し得る。例えば、無線送受信機172は、システム100により収集されるデータを1つ又は複数のサーバにアップロードし、データを1つ又は複数のサーバからダウンロードし得る。無線送受信機172を介して、システム100は、例えば、定期的に又は需要時にマップデータベース160、メモリ140及び/又はメモリ150に記憶されるデータへの更新を受信し得る。同様に、無線送受信機172は、システム100からの任意のデータ(例えば、画像取得ユニット120により撮像された画像、位置センサ130、他のセンサ又は車両制御システムにより受信されるデータ等)及び/又は処理ユニット110により処理される任意のデータを1つ又は複数のサーバにアップロードし得る。
システム100は、プライバシーレベル設定に基づいてデータをサーバ(例えば、クラウド)にアップロードし得る。例えば、システム100は、サーバに送信される、車両及び/又は車両のドライバー/所有者を一意に識別し得るタイプのデータ(メタデータを含む)を規制又は制限するプライバシーレベル設定を実施し得る。そのような設定は、例えば、無線送受信機172を介してユーザにより設定され得るか、工場デフォルト設定により初期化され得るか、又は無線送受信機172により受信されるデータにより設定され得る。
幾つかの実施形態では、システム100は、「高」プライバシーレベルに従ってデータをアップロードし得て、設定の設定下において、システム100は、特定の車両及び/又はドライバー/所有者についてのいかなる詳細もないデータ(例えば、ルートに関連する位置情報、撮像された画像等)を送信し得る。例えば、「高」プライバシーレベルに従ってデータをアップロードする場合、システム100は、車両識別番号(VIN)又は車両のドライバーもしくは所有者の氏名を含み得ず、代わりに、撮像された画像及び/又はルートに関連する限られた位置情報等のデータを送信し得る。
他のプライバシーレベルが意図される。例えば、システム100は、「中」プライバシーレベルに従ってデータをサーバに送信し得て、車両及び/又は車両タイプのメーカー及び/又はモデル(例えば、乗用車、スポーツユーティリティ車、トラック等)等の「高」プライバシーレベル下では含まれない追加情報を含み得る。幾つかの実施形態では、システム100は、「低」プライバシーレベルに従ってデータをアップロードし得る。「低」プライバシーレベル設定下では、システム100は、特定の車両、所有者/ドライバー及び/又は車両が走行したルートの一部又は全体を一意に識別するのに十分なデータをアップロードし、そのような情報を含み得る。そのような「低」プライバシーレベルデータは、例えば、VIN、ドライバー/所有者氏名、出発前の車両の出発点、車両の意図される目的地、車両のメーカー及び/又はモデル、車両のタイプ等のうちの1つ又は複数を含み得る。
図2Aは、開示される実施形態による例示的な車両撮像システムの側面図表現である。図2Bは、図2Aに示す実施形態の上面図表現である。図2Bに示すように、開示される実施形態は、バックミラーの近傍及び/又は車両200のドライバー近傍に位置決めされる第1の撮像デバイス122と、車両200のバンパー領域(例えば、バンパー領域210の1つ)上又はバンパー領域内に位置決めされる第2の撮像デバイス124と、処理ユニット110とを有するシステム100を本体内に含む車両200を含み得る。
図2Cに示すように、撮像デバイス122及び124の両方は、車両200のバックミラーの近傍及び/又はドライバーの近傍に位置決めし得る。更に、2つの撮像デバイス122及び124が図2B及び図2Cに示されているが、他の実施形態が3つ以上の撮像デバイスを含み得ることを理解されたい。例えば、図2D及び図2Eに示す実施形態では、第1の撮像デバイス122、第2の撮像デバイス124及び第3の撮像デバイス126が車両200のシステム100に含まれる。
図2Dに示すように、撮像デバイス122は、車両200のバックミラーの近傍及び/又はドライバーの近傍に位置決めし得て、撮像デバイス124及び126は、車両200のバンパー領域(例えば、バンパー領域210の1つ)上又は内に位置決めし得る。また、図2Eに示すように、撮像デバイス122、124及び126は、車両200のバックミラーの近傍及び/又はドライバーシートの近傍に位置決めし得る。開示される実施形態は、いかなる特定の数及び構成の撮像デバイスにも限定されず、撮像デバイスは、車両200内及び/又は車両200上の任意の適する位置に位置決めし得る。
開示される実施形態が車両に限定されず、他の状況でも適用可能なことを理解されたい。開示される実施形態が特定のタイプの車両200に限定されず、自動車、トラック、トレーラ及び他のタイプの車両を含む全てのタイプの車両に適用可能であり得ることも理解されたい。
第1の撮像デバイス122は、任意の適するタイプの撮像デバイスを含み得る。撮像デバイス122は光軸を含み得る。一例では、撮像デバイス122は、グローバルシャッタを有するAptina M9V024 WVGAセンサを含み得る。他の実施形態では、撮像デバイス122は、1280×960ピクセルの解像度を提供し得て、ローリングシャッタを含み得る。撮像デバイス122は、様々な光学要素を含み得る。幾つかの実施形態では、1枚又は複数枚のレンズが含まれて、例えば撮像デバイスの所望の焦点距離及び視野を提供し得る。幾つかの実施形態では、撮像デバイス122に6mmレンズ又は12mmレンズを関連付け得る。幾つかの実施形態では、撮像デバイス122は、図2Dに示すように、所望の視野(FOV)202を有する画像を撮像するように構成し得る。例えば、撮像デバイス122は、46度FOV、50度FOV、52度FOV又は52度FOVを超える度数を含め、40度~56度の範囲内等の通常のFOVを有するように構成し得る。代替的には、撮像デバイス122は、28度FOV又は36度FOV等の23~40度の範囲の狭いFOVを有するように構成し得る。加えて、撮像デバイス122は、100~180度の範囲の広いFOVを有するように構成し得る。幾つかの実施形態では、撮像デバイス122は、広角バンパーカメラ又は最高で180度FOVを有するバンパーカメラを含み得る。幾つかの実施形態では、撮像デバイス122は、約100度の水平FOVを有するアスペクト比約2:1(例えば、H×V=3800×1900ピクセル)の7.2Mピクセル撮像デバイスであり得る。そのような撮像デバイスは、3次元撮像デバイス構成の代わりに使用し得る。大きいレンズ歪みに起因して、そのような撮像デバイスの垂直FOVは、撮像デバイスが半径方向に対称なレンズを使用する実装形態では、50度よりはるかに低くなり得る。例えば、そのようなレンズは、半径方向で対称ではなく、それにより、水平FOV100度で、50度よりも大きい垂直FOVが可能である。
第1の撮像デバイス122は、車両200に関連付けられたシーンに対して複数の第1の画像を取得し得る。複数の第1の画像は、それぞれ一連の画像走査線として取得し得て、これらはローリングシャッタを使用して撮像し得る。各走査線は複数のピクセルを含み得る。
第1の撮像デバイス122は、第1の一連の画像走査線のそれぞれの取得に関連付けられた走査率を有し得る。走査率は、画像センサが、特定の走査線に含まれる各ピクセルに関連付けられた画像データを取得することができる率を指し得る。
撮像デバイス122、124及び126は、例えば、CCDセンサ又はCMOSセンサを含め、任意の適するタイプ及び数の画像センサを含み得る。1つの実施形態では、CMOS画像センサはローリングシャッタと共に利用し得て、それにより、行内の各ピクセルは一度に1つずつ読み取られ、行の走査は、画像フレーム全体が撮像されるまで行ごとに進められる。幾つかの実施形態では、行は、フレームに対して上から下に順次撮像し得る。
幾つかの実施形態では、本明細書に開示される撮像デバイス(例えば、撮像デバイス122、124及び126)のうちの1つ又は複数は、高解像度イメージャを構成し得て、5Mピクセル超、7Mピクセル超、10Mピクセル超又はそれを超える解像度を有し得る。
ローリングシャッタの使用により、異なる行内のピクセルは異なる時間に露出され撮像されることになり得て、それにより、スキュー及び他の画像アーチファクトが撮像された画像フレームで生じ得る。一方、撮像デバイス122がグローバル又は同期シャッタを用いて動作するように構成される場合、全ピクセルは、同量の時間にわたり、共通の露出期間中に露出し得る。その結果、グローバルシャッタを利用するシステムから収集されるフレーム内の画像データは、特定のときのFOV全体(FOV202等)のスナップショットを表す。それとは逆に、ローリングシャッタを適用する場合、フレーム内の各行が露出され、データは異なる時間に撮像される。従って、移動中の物体は、ローリングシャッタを有する撮像デバイスでは歪んで見えることがある。この現象について以下により詳細に説明する。
第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度又は20度未満のFOVを有し得る。
撮像デバイス124及び126は、車両200に関連付けられたシーンに対して複数の第2及び第3の画像を取得し得る。複数の第2及び第3の画像のそれぞれは、第2及び第3の一連の画像走査線として取得し得て、これらはローリングシャッタを使用して撮像し得る。各走査線又は各行は、複数のピクセルを有し得る。撮像デバイス124及び126は、第2及び第3の一連内に含まれる各画像走査線の取得に関連付けられた第2及び第3の走査率を有し得る。
各撮像デバイス122、124及び126は、任意の適する位置に、車両200に対して任意の適する向きで位置決めし得る。撮像デバイス122、124及び126の相対位置は、撮像デバイスから取得される情報を一緒に融合させることを支援するように選択し得る。例えば、幾つかの実施形態では、撮像デバイス124に関連付けられたFOV(FOV204等)は、撮像デバイス122に関連付けられたFOV(FOV202等)及び撮像デバイス126に関連付けられたFOV(FOV206等)と部分的又は完全に重複し得る。
撮像デバイス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メートル以上背後に配置し得る。このタイプの変位では、撮像デバイスの1つが、他の撮像デバイスの潜在的なブラインドスポットをカバー可能であり得る。
撮像デバイス122は、任意の適する解像度能力(例えば、画像センサに関連付けられたピクセル数)を有し得て、撮像デバイス122に関連付けられた画像センサの解像度は、撮像デバイス124及び126に関連付けられた画像センサの解像度よりも高いか、低いか、又は同じであり得る。幾つかの実施形態では、撮像デバイス122及び/又は撮像デバイス124及び126に関連付けられた画像センサは、解像度640×480、1024×768、1280×960又は任意の他の適する解像度を有し得る。
フレームレート(例えば、撮像デバイスが、次の画像フレームに関連付けられたピクセルデータの撮像に移る前、1つの画像フレームのピクセルデータの組を取得する速度)は、制御可能であり得る。撮像デバイス122に関連付けられたフレームレートは、撮像デバイス124及び126に関連付けられたフレームレートよりも高いか、低いか、又は同じであり得る。撮像デバイス122、124及び126に関連付けられたフレームレートは、フレームレートのタイミングに影響を及ぼし得る様々な要因に依存し得る。例えば、撮像デバイス122、124及び126のうちの1つ又は複数は、撮像デバイス122、124及び/又は126内の画像センサの1つ又は複数のうちのピクセルに関連付けられた画像データの取得前又は取得後に課される選択可能なピクセル遅延期間を含み得る。一般に、各ピクセルに対応する画像データは、デバイスのクロックレート(例えば、1クロックサイクル当たり1ピクセル)に従って取得し得る。更に、ローリングシャッタを含む実施形態では、撮像デバイス122、124及び126のうちの1つ又は複数は、撮像デバイス122、124及び/又は126内の画像センサのピクセル行に関連付けられた画像データの取得前又は取得後に課される選択可能な水平ブランク期間を含み得る。更に、撮像デバイス122、124及び/又は126のうちの1つ又は複数は、撮像デバイス122、124及び126の画像フレームに関連付けられた画像データの取得前又は取得後に課される選択可能な垂直ブランク期間を含み得る。
これらのタイミング制御により、各撮像デバイスの線走査率が異なる場合でも、撮像デバイス122、124及び126に関連付けられたフレームレートを同期させることができ得る。更に、以下に更に詳細に考察するように、他の要因(例えば、画像センサ解像度、最高線走査率等)の中でも特に、これらの選択可能なタイミング制御により、撮像デバイス122の視野が撮像デバイス124及び126のFOVと異なる場合でも、撮像デバイス122のFOVが撮像デバイス124及び126の1つ又は複数のFOVと重複するエリアからの撮像を同期させることが可能になり得る。
撮像デバイス122、124及び126でのフレームレートタイミングは、関連付けられた画像センサの解像度に依存し得る。例えば、両デバイスの線走査率が同様であると仮定し、一方のデバイスが解像度640×480を有する画像センサを含み、他方のデバイスが解像度1280×960を有する画像センサを含む場合、より高い解像度を有するセンサからの画像データのフレーム取得ほど、長い時間が必要になる。
撮像デバイス122、124及び126での画像データ取得のタイミングに影響を及ぼし得る別の要因は、最高線走査率である。例えば、撮像デバイス122、124及び126に含まれる画像センサからの画像データ行の取得は、何らかの最小時間量を必要とする。ピクセル遅延期間が追加されないと仮定すると、画像データ行を取得するこの最小時間量は、特定のデバイスの最高線走査率に関連することになる。高い最高線走査率を提供するデバイスほど、より低い最高線走査率を有するデバイスよりも高いフレームレートを提供する潜在性を有する。幾つかの実施形態では、撮像デバイス124及び126のうちの一方又は両方は、撮像デバイス122に関連付けられた最高線走査率よりも高い最高線走査率を有し得る。幾つかの実施形態では、撮像デバイス124及び/又は126の最高線走査率は、撮像デバイス122の最高線走査率の1.25倍、1.5倍、1.75倍又は2倍以上であり得る。
別の実施形態では、撮像デバイス122、124及び126は、同じ最高線走査率を有し得るが、撮像デバイス122は、その最高走査率以下の走査率で動作し得る。システムは、撮像デバイス124及び撮像デバイス126のうちの一方又は両方が撮像デバイス122の線走査率と等しい線走査率で動作するように構成し得る。他の例では、システムは、撮像デバイス124及び/又は撮像デバイス126の線走査率が、撮像デバイス122の線走査率の1.25倍、1.5倍、1.75倍又は2倍以上であり得るように構成し得る。
幾つかの実施形態では、撮像デバイス122、124及び126は非対称であり得る。すなわち、これら撮像デバイスは、異なる視野(FOV)及び焦点距離を有するカメラを含み得る。撮像デバイス122、124及び126の視野は、例えば、車両200の環境に対する任意の所望のエリアを含み得る。幾つかの実施形態では、撮像デバイス122、124及び126のうちの1つ又は複数は、車両200の前方の環境、車両200の背後の環境、車両200の両側の環境又はそれらの組み合わせから画像データを取得するように構成し得る。
更に、各撮像デバイス122、124及び/又は126に関連付けられた焦点距離は、各デバイスが車両200から所望の距離範囲にある物体の画像を取得するように選択可能であり得る(例えば、適切なレンズの包含等により)。例えば、幾つかの実施形態では、撮像デバイス122、124及び126は、車両から数メートル以内の近接物体の画像を取得し得る。撮像デバイス122、124、126は、車両からより離れた範囲(例えば、25m、50m、100m、150m又はそれを超える)における物体の画像を取得するように構成することもできる。更に、撮像デバイス122、124及び126の焦点距離は、ある撮像デバイス(例えば、撮像デバイス122)が車両に比較的近い(例えば、10m以内又は20m以内)物体の画像を取得することができ、その他の撮像デバイス(例えば、撮像デバイス124及び126)が、車両200からより離れた物体(例えば、20m超、50m超、100m超、150m超等)の画像を取得することができるように選択し得る。
幾つかの実施形態によれば、1つ又は複数の撮像デバイス122、124及び126のFOVは、広角を有し得る。例えば、特に車両200の近傍エリアの撮像に使用し得る撮像デバイス122、124及び126には140度のFOVを有することが有利であり得る。例えば、撮像デバイス122は、車両200の右又は左のエリアの画像の撮像に使用し得て、そのような実施形態では、撮像デバイス122が広いFOV(例えば、少なくとも140度)を有することが望ましいことがある。
撮像デバイス122、124及び126のそれぞれに関連付けられた視野は、各焦点距離に依存し得る。例えば、焦点距離が増大するにつれて、対応する視野は低減する。
撮像デバイス122、124及び126は、任意の適する視野を有するように構成し得る。特定の一例では、撮像デバイス122は、水平FOV46度を有し得て、撮像デバイス124は水平FOV23度を有し得て、撮像デバイス126は水平FOV23~46度を有し得る。別の例では、撮像デバイス122は水平FOV52度を有し得て、撮像デバイス124は水平FOV26度を有し得て、撮像デバイス126は、水平FOV26~52度を有し得る。幾つかの実施形態では、撮像デバイス122のFOVと撮像デバイス124及び/又は撮像デバイス126のFOVとの比率は、1.5~2.0で変化し得る。他の実施形態では、この比率は1.25~2.25で変化し得る。
システム100は、撮像デバイス122の視野が、撮像デバイス124及び/又は撮像デバイス126の視野と少なくとも部分的に又は完全に重複するように構成し得る。幾つかの実施形態では、システム100は、撮像デバイス124及び126の視野が、例えば、撮像デバイス122の視野内に入り(例えば、撮像デバイス122の視野よりも小さく)、撮像デバイス122の視野と共通の中心を共有するように構成し得る。他の実施形態では、撮像デバイス122、124及び126は、隣接するFOVを撮像し得て、又は部分的に重複するFOVを有し得る。幾つかの実施形態では、撮像デバイス122、124及び126の視野は、FOVのより狭い撮像デバイス124及び/又は126の中心が、FOVがより広いデバイス122の視野の下半分に配置され得るように位置合わせし得る。
図2Fは、開示される実施形態による例示的な車両制御システムの図表現である。図2Fに示すように、車両200は、スロットルシステム220、ブレーキシステム230及び操舵システム240を含み得る。システム100は、1つ又は複数のデータリンク(例えば、1つ又は複数の任意の有線リンク及び/又は無線リンク又はデータを伝送するリンク)を介して、スロットルシステム220、ブレーキシステム230及び操舵システム240の1つ又は複数に入力(例えば、制御信号)を提供し得る。例えば、撮像デバイス122、124及び/又は126により取得される画像の分析に基づいて、システム100は、車両200をナビゲートする制御信号をスロットルシステム220、ブレーキシステム230及び操舵システム240のうちの1つ又は複数に提供し得る(例えば、加速、ターン、レーンシフト等を行わせることにより)。更に、システム100は、車両200の動作条件を示す入力(例えば、速度、車両200がブレーキ中及び/又はターン中であるか否か等)をスロットルシステム220、ブレーキシステム230及び操舵システム24のうちの1つ又は複数から受信し得る。以下では、更に詳細を図4~図7に関連して提供する。
図3Aに示すように、車両200は、車両200のドライバー又は乗員と対話するユーザインタフェース170を含むこともできる。例えば、車両アプリケーション内のユーザインタフェース170は、タッチスクリーン320、つまみ330、ボタン340及びマイクロフォン350を含み得る。車両200のドライバー又は乗員は、ハンドル(例えば、例えばウィンカーハンドルを含め、車両200の操舵コラム上又はその近傍に配置される)及びボタン(例えば、車両200のハンドルに配置される)等を使用して、システム100と対話することもできる。幾つかの実施形態では、マイクロフォン350はバックミラー310に隣接して位置決めし得る。同様に、幾つかの実施形態では、撮像デバイス122は、バックミラー310の近傍に配置し得る。幾つかの実施形態では、ユーザインタフェース170は、1つ又は複数のスピーカ360(例えば、車両オーディオシステムのスピーカ)を含むこともできる。例えば、システム100は、スピーカ360を介して様々な通知(例えば、アラート)を提供し得る。
図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の図である。
本開示の恩恵を受ける当業者により理解されるように、上記開示される実施形態に対する多くの変形形態及び/又は変更形態がなされ得る。例えば、全ての構成要素がシステム100の動作にとって必須であるわけではない。更に、任意の構成要素がシステム100の任意の適切な部分に配置し得て、構成要素は、開示される実施形態の機能を提供しながら、様々な構成に再配置し得る。従って、上記で論じた構成は例であり、上述した構成に関係なく、システム100は、車両200の周囲を分析し、分析に応答して車両200をナビゲートする広範囲の機能を提供することができる。
以下に更に詳細に考察するように、様々な開示される実施形態により、システム100は、自律走行及び/又はドライバー支援技術に関連する様々な特徴を提供し得る。例えば、システム100は、画像データ、位置データ(例えば、GPS位置情報)、マップデータ、速度データ及び/又は車両200に含まれるセンサからのデータを分析し得る。システム100は、例えば、画像取得ユニット120、位置センサ130及び他のセンサから、分析のためにデータを収集し得る。更に、システム100は、収集されるデータを分析して、車両200が特定の行動を取るべきか否かを特定し、次に、人間の介入なしで、判断される動作を自動的にとり得る。例えば、車両200が人間の介入なしでナビゲートする場合、システム100は、車両200のブレーキ、加速度及び/又は操舵を自動的に制御し得る(例えば、制御信号をスロットルシステム220、ブレーキシステム230及び操舵システム240のうちの1つ又は複数に送信することにより)。更に、システム100は、収集されるデータを分析し、収集されるデータの分析に基づいて警告及び/又はアラートを車両の搭乗者に発行し得る。システム100により提供される様々な実施形態に関する更に詳細を以下に提供する。
前向きマルチ撮像システム
上記で論じたように、システム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つ以上の異なる位置から撮像された画像、異なる視野から撮像された画像、異なる焦点距離を使用して撮像された画像、視差情報付きで撮像された画像等を含み得る。
例えば、1つの実施形態では、システム100は、撮像デバイス122、124及び126を使用する3カメラ構成を実施し得る。そのような構成では、撮像デバイス122は、狭視野(例えば、34度又は約20~45度の範囲から選択される他の値等)を提供し得て、撮像デバイス124は、広視野(例えば、150度又は約100~約180度の範囲から選択される他の値)を提供し得て、撮像デバイス126は、中視野(例えば、46度又は約35~約60度の範囲から選択される他の値)を提供し得る。幾つかの実施形態では、撮像デバイス126は、主又は1次カメラとして動作し得る。撮像デバイス122、124、及び126は、バックミラー310の背後に、実質的に並んで(例えば、6cm離間)位置決めし得る。更に、幾つかの実施形態では、上記で論じたように、撮像デバイス122、124、及び126のうちの1つ又は複数は、車両200のフロントガラスと同一平面のグレアシールド380の背後に搭載し得る。そのようなシールドは、車内部からのいかなる反射の撮像デバイス122、124、及び126への影響も最小にするように動作し得る。
別の実施形態では、図3B及び図3Cに関連して上記で論じたように、広視野カメラ(例えば、上記例では撮像デバイス124)は、狭い主視野カメラ(例えば、上記例ではデバイス122及び126)よりも低く搭載し得る。この構成は、広視野カメラからの自由な視線を提供し得る。反射を低減するために、カメラは、車両200のフロントガラス近くに搭載し得て、反射光を弱める偏光器をカメラに含み得る。
3カメラシステムは、特定の性能特性を提供し得る。例えば、幾つかの実施形態は、あるカメラによる物体の検出を別のカメラからの検出結果に基づいて検証する機能を含み得る。上記で論じた3カメラ構成では、処理ユニット110は、例えば、3つの処理デバイス(例えば、上記で論じたように3つのEyeQシリーズのプロセッサチップ)を含み得て、各処理デバイスは、撮像デバイス122、124、及び126のうちの1つ又は複数により撮像された画像の処理に向けられる。
3カメラシステムでは、第1の処理デバイスは、主カメラ及び狭視野カメラの両方から画像を受信し得て、狭FOVカメラのビジョン処理を実行して、例えば他の車両、歩行者、レーンマーク、交通標識、信号機及び他の道路物体を検出し得る。更に、第1の処理デバイスは、主カメラからの画像と狭カメラからの画像との間でのピクセルの不一致を計算し、車両200の環境の3D再構築を作成し得る。次に、第1の処理デバイスは、3D再構築を3Dマップデータ又は別のカメラからの情報に基づいて計算される3D情報と結合し得る。
第2の処理デバイスは、主カメラから画像を受信し得て、ビジョン処理を実行し、他の車両、歩行者、レーンマーク、交通標識、信号機及び他の道路物体を検出し得る。更に、第2の処理デバイスは、カメラ変位を計算し、変位に基づいて、連続画像間のピクセルの不一致を計算し、シーンの3D再構築(例えば、ストラクチャーフロムモーション)を作成し得る。第2の処理デバイスは、3D再構築に基づくストラクチャーフロムモーションを第1の処理デバイスに送信し、ストラクチャーフロムモーションを立体3D画像と結合し得る。
第3の処理デバイスは、画像を広FOVカメラから受信し、画像を処理して、車両、歩行者、レーンマーク、交通標識、信号機及び他の道路物体を検出し得る。第3の処理デバイスは、追加の処理命令を更に実行して、画像を分析し、レーン変更中の車両、歩行者等の画像内の移動中の物体を識別し得る。
幾つかの実施形態では、画像に基づく情報ストリームを独立して撮像させ、処理させることは、システムで冗長性を提供する機会を提供し得る。そのような冗長性は、例えば、第1の撮像デバイス及びそのデバイスから処理される画像を使用して、少なくとも第2の撮像デバイスから画像情報を撮像し処理することにより得られる情報を検証及び/又は撮像することを含み得る。
幾つかの実施形態では、システム100は、車両200にナビゲーション支援を提供するに当たり2つの撮像デバイス(例えば、撮像デバイス122及び124)を使用し得て、第3の撮像デバイス(例えば、撮像デバイス126)を使用して、冗長性を提供し、他の2つの撮像デバイスから受信されるデータの分析を検証し得る。例えば、そのような構成では、撮像デバイス122及び124は、車両200をナビゲートするためのシステム100による立体分析の画像を提供し得て、撮像デバイス126は、システム100による単眼分析に画像を提供して、撮像デバイス122及び/又は撮像デバイス124から撮像された画像に基づいて得られる情報の冗長性及び検証を提供し得る。すなわち、撮像デバイス126(及び対応する処理デバイス)は、撮像デバイス122及び124から導出される分析へのチェックを提供する冗長サブシステムを提供する(例えば、自動緊急ブレーキ(AEB)システムを提供するため)と見なし得る。更に幾つかの実施形態では、1つ又は複数のセンサ(例えば、レーダ、ライダ、音響センサ、車両外の1つ又は複数の送受信機から受信される情報等)から受信される情報に基づいて受信データの冗長性及び検証を補うことができる。
上記カメラ構成、カメラ配置、カメラ数、カメラ位置等が単なる例示であることを当業者は認識するであろう。全体システムに対して説明されるこれらの構成要素等は、開示される実施形態の範囲から逸脱せずに、様々な異なる構成で組み立て且つ使用し得る。ドライバー支援及び/又は自律車両機能を提供するためのマルチカメラシステムの使用に関する更に詳細が以下に続く。
図4は、開示される実施形態による1つ又は複数の動作を実行する命令を記憶/プログラムされ得るメモリ140及び/又は150の例示的な機能ブロック図である。以下ではメモリ140を参照するが、当業者は、命令がメモリ140及び/又は150に記憶可能なことを認識するであろう。
図4に示すように、メモリ140は、単眼画像分析モジュール402、立体画像分析モジュール404、速度及び加速度モジュール406並びにナビゲーション応答モジュール408を記憶し得る。開示される実施形態は、いかなる特定の構成のメモリ140にも限定されない。更に、アプリケーションプロセッサ180及び/又は画像プロセッサ190は、メモリ140に含まれる任意のモジュール402、404、406、及び408に記憶される命令を実行し得る。以下の考察での処理ユニット110の参照が、アプリケーションプロセッサ180及び画像プロセッサ190を個々に又はまとめて指し得ることを当業者は理解するであろう。従って、以下のプロセスのいずれかのステップは、1つ又は複数の処理デバイスにより実行され得る。
1つの実施形態では、単眼画像分析モジュール402は、処理ユニット110によって実行されるとき、撮像デバイス122、124及び126の1つによって取得される画像の組の単眼画像分析を実行する命令(コンピュータビジョンソフトウェア等)を記憶し得る。幾つかの実施形態では、処理ユニット110は、画像の組からの情報を追加の感覚情報(例えば、レーダやライダ等からの情報)と結合して単眼画像分析を実行し得る。図5A~図5Dに関連して以下で説明するように、単眼画像分析モジュール402は、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ、信号機、危険物及び車両の環境に関連付けられた任意の他の特徴等、画像の組内の特徴の組を検出するための命令を含み得る。分析に基づいて、システム100は、ナビゲーション応答モジュール408に関連して以下で考察するように、ターン、レーンシフト及び加速度変更等の1つ又は複数のナビゲーション応答を車両200において生じさせ得る(例えば、処理ユニット110を介して)。
1つの実施形態では、立体画像分析モジュール404は命令(コンピュータビジョンソフトウェア等)を記憶し得て、命令は、処理ユニット110により実行されると、撮像デバイス122、124及び126のいずれかから選択される撮像デバイスの組み合わせにより取得される第1及び第2の組の画像の立体画像分析を実行する。幾つかの実施形態では、処理ユニット110は、第1及び第2の組の画像からの情報を追加の感覚情報(例えば、レーダからの情報)と結合して、立体画像分析を実行し得る。例えば、立体画像分析モジュール404は、撮像デバイス124により取得される第1の組の画像及び撮像デバイス126により取得される第2の組の画像に基づいて、立体画像分析を実行する命令を含み得る。以下で図6に関連して説明するように、立体画像分析モジュール404は、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ、信号機及び危険物等の第1及び第2の組の画像内の特徴の組を検出する命令を含み得る。分析に基づいて、処理ユニット110は、ナビゲーション応答モジュール408に関連して後述するように、ターン、レーンシフト及び加速度変更等の1つ又は複数のナビゲーション応答を車両200において生じさせ得る。更に、幾つかの実施形態では、立体画像分析モジュール404は、トレーニングされたシステム(ニューラルネットワーク又はディープニューラルネットワーク等)又は、コンピュータビジョンアルゴリズムを使用して、感覚情報が撮像及び処理された環境内の物体を検出及び/又はラベル付けするように構成され得るシステム等のトレーニングされていないシステムに関連する技法を実装することができる。1つの実施形態では、立体画像分析モジュール404及び/又は他の画像処理モジュールは、トレーニングされたシステムとトレーニングされていないシステムとの組み合わせを使用するように構成され得る。
1つの実施形態では、速度及び加速度モジュール406は、車両200の速度及び/又は加速度を変更させるように構成される車両200内の1つ又は複数の計算及び電気機械デバイスから受信されるデータを分析するように構成されるソフトウェアを記憶し得る。例えば、処理ユニット110は、速度及び加速度モジュール406に関連付けられた命令を実行して、単眼画像分析モジュール402及び/又は立体画像分析モジュール404の実行から導出されるデータに基づいて、車両200の目標速度を計算し得る。そのようなデータとしては、例えば、目標位置、速度及び/又は加速度、付近の車両、歩行者又は道路物体に対する車両200の位置及び/又は速度及び道路のレーンマークに対する車両200の位置情報等を挙げ得る。加えて、処理ユニット110は、感覚入力(例えば、レーダからの情報)と、車両200のスロットルシステム220、ブレーキシステム230及び/又は操舵システム240等の車両200の他のシステムからの入力とに基づいて、車両200の目標速度を計算し得る。計算される目標速度に基づいて、処理ユニット110は、電子信号を車両200のスロットルシステム220、ブレーキシステム230及び/又は操舵システム240に送信して、例えば車両200のブレーキを物理的に弱めるか、又はアクセルを弱めることにより速度及び/又は加速度の変更をトリガーし得る。
1つの実施形態では、ナビゲーション応答モジュール408は、処理ユニット110により実行可能ソフトウェアを記憶して、単眼画像分析モジュール402及び/又は立体画像分析モジュール404の実行から導出されるデータに基づいて、所望のナビゲーション応答を決定し得る。そのようなデータは、付近の車両、歩行者及び道路物体に関連付けられた位置及び速度情報並びに車両200の目標位置情報等を含み得る。更に、幾つかの実施形態では、ナビゲーション応答は、マップデータ、車両200の所定の位置及び/又は車両200と、単眼画像分析モジュール402及び/又は立体画像分析モジュール404の実行から検出される1つ又は複数の物体との間の相対速度又は相対加速度に基づき得る(部分的又は完全に)。ナビゲーション応答モジュール408は、感覚入力(例えば、レーダからの情報)と、車両200のスロットルシステム220、ブレーキシステム230及び操舵システム240等の車両200の他のシステムからの入力とに基づいて、所望のナビゲーション応答を決定することもできる。所望のナビゲーション応答に基づいて、処理ユニット110は、電子信号を車両200のスロットルシステム220、ブレーキシステム230及び操舵システム240に送信して、例えば車両200のハンドルをターンさせ、所定の角度の回転を達成することにより、所望のナビゲーション応答をトリガーし得る。幾つかの実施形態では、処理ユニット110は、車両200の速度変更を計算するための速度及び加速度モジュール406の実行への入力として、ナビゲーション応答モジュール408の出力(例えば、所望のナビゲーション応答)を使用し得る。
更に、本明細書で開示されるモジュール(例えば、モジュール402、404及び406)のいずれも、トレーニングされたシステム(ニューラルネットワーク又はディープニューラルネットワーク等)又はトレーニングされていないシステムに関連する技法を実装することができる。
図5Aは、開示される実施形態による、単眼画像分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセス500Aを示すフローチャートである。ステップ510において、処理ユニット110は、処理ユニット110と画像取得ユニット120との間のデータインタフェース128を介して、複数の画像を受信し得る。例えば、画像取得ユニット120に含まれるカメラ(視野202を有する撮像デバイス122等)は、車両200の前方(又は例えば車両の側部もしくは後方)のエリアの複数の画像を撮像し、データ接続(例えば、デジタル、有線、USB、無線、Bluetooth等)を介して処理ユニット110に送信し得る。処理ユニット110は、単眼画像分析モジュール402を実行して、ステップ520において、以下で図5B~図5Dに関連して更に詳細に説明するように、複数の画像を分析し得る。分析を実行することにより、処理ユニット110は、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ及び信号機等の画像の組内の特徴の組を検出し得る。
処理ユニット110は、ステップ520において、単眼画像分析モジュール402を実行して、例えばトラックタイヤの部品、落ちた道路標識、緩んだ貨物及び小動物等の様々な道路危険物を検出することもできる。道路危険物の構造、形状、サイズ及び色は様々であり得て、これにより、そのような危険物の検出がより難しくなり得る。幾つかの実施形態では、処理ユニット110は、単眼画像分析モジュール402を実行して、マルチフレーム分析を複数の画像に対して実行して、道路危険物を検出し得る。例えば、処理ユニット110は、連続画像フレーム間でのカメラの動きを推定し、フレーム間のピクセルの不一致を計算して、道路の3Dマップを構築し得る。次に、処理ユニット110は、3Dマップを使用して、路面及び路面の上に存在する危険物を検出し得る。
ステップ530において、処理ユニット110は、ナビゲーション応答モジュール408を実行して、ステップ520において実行される分析及び図4に関連して上記で説明した技法に基づいて、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。ナビゲーション応答は、例えば、ターン、レーンシフト及び加速度変更等を含み得る。幾つかの実施形態では、処理ユニット110は、速度及び加速度モジュール406の実行から導出されるデータを使用して、1つ又は複数のナビゲーション応答を生じさせ得る。更に、複数のナビゲーション応答は、同時に行われ得るか、順次行われ得るか、又はそれらの任意の組み合わせで行われ得る。例えば、処理ユニット110は、例えば、制御信号を車両200の操舵システム240及びスロットルシステム220に順次送信することにより、車両200に1レーンを越えさせ、それから例えば加速させ得る。代替的には、処理ユニット110は、例えば、制御信号を車両200のブレーキシステム230及び操舵システム240に同時に送信することにより、車両200に、ブレーキをかけさせ、それと同時にレーンをシフトさせ得る。
図5Bは、開示される実施形態による、画像の組内の1つ又は複数の車両及び/又は歩行者を検出する例示的なプロセス500Bを示すフローチャートである。処理ユニット110は、単眼画像分析モジュール402を実行して、プロセス500Bを実施し得る。ステップ540において、処理ユニット110は、存在する可能性がある車両及び/又は歩行者を表す候補物体の組を特定し得る。例えば、処理ユニット110は、1つ又は複数の画像を走査し、画像を1つ又は複数の所定のパターンと比較し、各画像内で、対象物体(例えば、車両、歩行者又はそれらの部分)を含み得る可能性がある位置を識別し得る。所定のパターンは、低率の「偽性ヒット」及び低率の「見逃し」を達成するように指定し得る。例えば、処理ユニット110は、所定のパターンへの低い類似性閾値を使用して、可能性のある車両又は歩行者として候補物体を識別し得る。そうすることにより、処理ユニット110は、車両又は歩行者を表す候補物体を見逃す(例えば、識別しない)確率を低減することができ得る。
ステップ542において、処理ユニット110は、候補物体の組をフィルタリングして、分類基準に基づいて特定の候補(例えば、無関係又は関係性の低い物体)を除外し得る。そのような基準は、データベース(例えば、メモリ140に記憶されるデータベース)に記憶される物体タイプに関連付けられた様々な特性から導出し得る。特性は、物体の形状、寸法、テクスチャ及び位置(例えば、車両200に対する)等を含み得る。従って、処理ユニット110は、1つ又は複数の組の基準を使用して、候補物体の組から偽性候補を拒絶し得る。
ステップ544において、処理ユニット110は、複数の画像フレームを分析して、候補物体の組内の物体が車両及び/又は歩行者を表しているか否かを特定し得る。例えば、処理ユニット110は、連続フレームにわたり検出される候補物体を追跡し、検出される物体に関連付けられたフレーム毎データ(例えば、サイズ、車両200に対する位置等)を蓄積し得る。更に、処理ユニット110は、検出される物体のパラメータを推定し、物体のフレーム毎位置データを予測位置と比較し得る。
ステップ546において、処理ユニット110は、検出される物体の測定の組を構築し得る。そのような測定は、例えば、検出される物体に関連付けられた位置、速度及び加速度値(車両200に対する)を含み得る。幾つかの実施形態では、処理ユニット110は、カルマンフィルタ又は線形2次推定(LQE)等の一連の時間ベースの観測を使用する推定技法に基づいて及び/又は異なる物体タイプ(例えば、車、トラック、歩行者、自転車、道路標識等)で利用可能なモデリングデータに基づいて、測定を構築し得る。カルマンフィルタは、物体の尺度の測定に基づき得て、ここで、尺度測定は衝突までの時間(例えば、車両200が物体に達するまでの時間量)に比例する。従って、ステップ540~546を実行することにより、処理ユニット110は、撮像された画像の組内に現れる車両及び歩行者を識別し、車両及び歩行者に関連付けられた情報(例えば、位置、速度、サイズ)を導出し得る。識別及び導出される情報に基づいて、処理ユニット110は、図5Aに関連して上述したように、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。
ステップ548において、処理ユニット110は、1つ又は複数の画像の光学フロー分析を実行して、「偽性ヒット」を検出する確率及び車両又は歩行者を表す候補物体を見逃す確率を低減し得る。光学フロー分析は、例えば、他の車両及び歩行者に関連付けられた1つ又は複数の画像内の車両200に対する、路面の動きとは異なる動きパターンを分析することを指し得る。処理ユニット110は、異なる時間に撮像される複数の画像フレームにわたる物体の異なる位置を観測することにより、候補物体の移動を計算し得る。処理ユニット110は、位置及び時間値を数学モデルへの入力として使用して、候補物体の動きを計算し得る。従って、光学フロー分析は、車両200の付近にある車両及び歩行者を検出する別の方法を提供し得る。処理ユニット110は、ステップ540~546と組み合わせて光学フロー分析を実行して、車両及び歩行者を検出する冗長性を提供すると共に、システム100の信頼度を上げ得る。
図5Cは、開示される実施形態による、画像の組内の道路マーク及び/又はレーンジオメトリ情報を検出する例示的なプロセス500Cを示すフローチャートである。処理ユニット110は、単眼画像分析モジュール402を実行して、プロセス500Cを実施し得る。ステップ550において、処理ユニット110は、1つ又は複数の画像を走査することにより物体の組を検出し得る。レーンマークの区分、レーンジオメトリ情報及び他の関連道路マークを検出するために、処理ユニット110は、物体の組をフィルタリングして、無関連(例えば、小さい穴、小さい岩等)であると判断されるものを除外し得る。ステップ552において、処理ユニット110は、同じ道路マーク又はレーンマークに属する、ステップ550において検出される区分を一緒にグループ化し得る。グループ化に基づいて、処理ユニット110は、数学モデル等のモデルを開発して、検出される区分を表し得る。
ステップ554において、処理ユニット110は、検出される区分に関連付けられた測定の組を構築し得る。幾つかの実施形態では、処理ユニット110は、画像平面から実世界平面への検出区分の射影を作成し得る。射影は、検出される道路の位置、傾斜、曲率及び曲率微分等の物理特性に対応する係数を有する3次多項式を使用して特徴付け得る。射影を生成するに当たり、処理ユニット110は、路面変化並びに車両200に関連付けられたピッチ及びロール率を考慮に入れ得る。加えて、処理ユニット110は、位置及び路面に存在するモーションキューを分析することにより道路高(road elevation)をモデリングし得る。更に、処理ユニット110は、1つ又は複数の画像での特徴点の組を追跡することにより、車両200に関連付けられたピッチ率及びロール率を推定し得る。
ステップ556において、処理ユニット110は、例えば、連続した画像フレームにわたり検出区分を追跡し、検出区分に関連付けられたフレーム毎データを蓄積することにより、マルチフレーム分析を実行し得る。処理ユニット110はマルチフレーム分析を実行する場合、ステップ554において構築される測定の組はより信頼性の高いものになり得て、ますます高い信頼度を関連付け得る。従って、ステップ550、552、554、及び556を実行することにより、処理ユニット110は、撮像された画像の組内に現れる道路マークを識別し、レーンジオメトリ情報を導出し得る。識別及び導出される情報に基づいて、処理ユニット110は、図5Aに関連して上述したように、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。
ステップ558において、処理ユニット110は、追加の情報ソースを考慮して、車両の周囲の状況での車両200の安全モデルを更に開発し得る。処理ユニット110は、安全モデルを使用して、システム100が車両200の自律制御を安全に実行し得る状況を定義し得る。安全モデルを開発するために、幾つかの実施形態では、処理ユニット110は、他の車両の位置及び動き、検出される道路端部及び障壁及び/又はマップデータ(マップデータベース160からのデータ等)から抽出される一般道路形状記述を考慮し得る。追加の情報ソースを考慮することにより、処理ユニット110は、道路マーク及びレーンジオメトリを検出する冗長性を提供し、システム100の信頼性を上げ得る。
図5Dは、開示される実施形態による、画像の組内の信号機を検出する例示的なプロセス500Dを示すフローチャートである。処理ユニット110は、単眼画像分析モジュール402を実行して、プロセス500Dを実施し得る。ステップ560において、処理ユニット110は、画像の組を走査し、信号機を含む可能性が高い画像内の位置に現れる物体を識別し得る。例えば、処理ユニット110は、識別される物体をフィルタリングして、信号機に対応する可能性が低い物体を除外した候補物体の組を構築し得る。フィルタリングは、形状、寸法、テクスチャ及び位置(例えば、車両200に対する)等の信号機に関連付けられた様々な特性に基づいて行い得る。そのような特性は、信号機及び交通制御信号の複数の例に基づき得て、データベースに記憶し得る。幾つかの実施形態では、処理ユニット110は、可能性のある信号機を反映した候補物体の組に対してマルチフレーム分析を実行し得る。例えば、処理ユニット110は、連続した画像フレームにわたり候補物体を追跡し、候補物体の現実世界位置を推定し、移動している(信号機である可能性が低い)物体をフィルタリングして除去し得る。幾つかの実施形態では、処理ユニット110は、カラー分析を候補物体に対して実行し、可能性のある信号機内部に表される検出色の相対位置を識別し得る。
ステップ562において、処理ユニット110は、交差点のジオメトリを分析し得る。分析は、(i)車両200の両側で検出されるレーン数、(ii)道路で検出されるマーク(矢印マーク等)、及び(iii)マップデータ(マップデータベース160からのデータ等)から抽出される交差点の記述の任意の組み合わせに基づき得る。処理ユニット110は、単眼分析モジュール402の実行から導出される情報を使用して、分析を行い得る。加えて、処理ユニット110は、ステップ560において検出される信号機と、車両200近傍に現れるレーンとの間の対応性を特定し得る。
車両200が交差点に近づくにつれて、ステップ564において、処理ユニット110は、分析される交差点ジオメトリ及び検出される信号機に関連付けられた信頼度を更新し得る。例えば、交差点に実際に現れる数と比較した交差点に現れると推定される信号機の数は、信頼度に影響を及ぼし得る。従って、信頼度に基づいて、処理ユニット110は、車両200のドライバーに制御を委任して、安全状況を改善し得る。ステップ560、562、及び564を実行することにより、処理ユニット110は、撮像された画像の組内に現れる信号機を識別し、交差点ジオメトリ情報を分析し得る。識別及び分析に基づいて、処理ユニット110は、図5Aに関連して上述したように、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。
図5Eは、開示される実施形態による、車両経路に基づいて車両200で1つ又は複数のナビゲーション応答を生じさせる例示的なプロセス500Eを示すフローチャートである。ステップ570において、処理ユニット110は、車両200に関連付けられた初期車両経路を構築し得る。車両経路は、座標(x,y)で表される点の組を使用して表し得て、点の組内の2点間距離dは、1~5メートルの範囲内にあり得る。1つの実施形態では、処理ユニット110は、左右の道路多項式等の2つの多項式を使用して初期車両経路を構築し得る。処理ユニット110は、2つの多項式間のジオメトリ中間点を計算し、所定のオフセットがある場合(オフセット0は、レーンの中央での走行に対応し得る)、所定のオフセット(例えば、スマートレーンオフセット)だけ、結果として生成される車両経路に含まれる各点をオフセットさせ得る。オフセットは、車両経路内の任意の2点間の区分に垂直の方向であり得る。別の実施形態では、処理ユニット110は、1つの多項式及び推定レーン幅を使用して、推定レーン幅の半分に所定のオフセット(例えば、スマートレーンオフセット)を加えたものだけ車両経路の各点をオフセットさせ得る。
ステップ572において、処理ユニット110は、ステップ570において構築される車両経路を更新し得る。処理ユニット110は、車両経路を表す点の組内の2点間距離dが、上述した距離dよりも短くなるように、より高い解像度を使用して、ステップ570において構築される車両経路を再構築し得る。例えば、距離dは0.1~0.3メートルの範囲であり得る。処理ユニット110は、放物線スプラインアルゴリズムを使用して車両経路を再構築し得て、これは、車両経路の全長(すなわち、車両経路を表す点の組に基づく)に対応する累積距離ベクトルSをもたらし得る。
ステップ574において、処理ユニット110は、ステップ572において構築された更新車両経路に基づいて、先読み点((x,z)として座標で表される)を特定し得る。処理ユニット110は、累積距離ベクトルSから先読み点を抽出し得て、先読み点には、先読み距離及び先読み時間を関連付け得る。先読み距離は、下限範囲10~20メートルを有し得て、車両200の速度と先読み時間との積として計算し得る。例えば、車両200の速度が下がるにつれて、先読み距離も短くなり得る(例えば、下限に達するまで)。0.5~1.5秒の範囲であり得る先読み時間は、進行エラー追跡制御ループ等の車両200でナビゲーション応答を生じさせることに関連付けられた1つ又は複数の制御ループの利得に反比例し得る。例えば、進行エラー追跡制御ループの利得は、ヨー率ループ、操舵アクチュエータループ及び車横方向動力学等の帯域幅に依存し得る。従って、進行エラー追跡制御ループの利得が高いほど、先読み時間は短くなる。
ステップ576において、処理ユニット110は、ステップ574において特定される先読み点に基づいて、進行エラー及びヨー率コマンドを決定し得る。処理ユニット110は、先読み点の逆正接、例えば、arctan(x/z)を計算することにより、進行エラーを特定し得る。処理ユニット110は、進行エラーと高レベル制御利得との積としてヨー率コマンドを決定し得る。高レベル制御利得は、先読み距離が下限にない場合、(2/先読み時間)に等しい値であり得る。先読み距離が下限である場合、高レベル制御利得は、(2×車両200の速度/先読み距離)に等しい値であり得る。
図5Fは、開示される実施形態による、先行車両がレーンを変更中であるか否かを特定する例示的なプロセス500Fを示すフローチャートである。ステップ580において、処理ユニット110は、先行車両(例えば、車両200の前を走行中の車両)に関連付けられたナビゲーション情報を特定し得る。例えば、処理ユニット110は、図5A及び図5Bに関連して上述した技法を使用して、先行車両の位置、速度(例えば、方向及び速度)及び/又は加速度を特定し得る。処理ユニット110は、図5Eに関連して上述した技法を使用して、1つ又は複数の道路多項式、先読み点(車両200に関連付けられる)及び/又はスネイルトレイル(例えば、先行車両が取った経路を記述する点の組)を特定することもできる。
ステップ582において、処理ユニット110は、ステップ580において特定されるナビゲーション情報を分析し得る。1つの実施形態では、処理ユニット110は、スネイルトレイルと道路多項式との間の距離(例えば、トレイルに沿った)を計算し得る。トレイルに沿ったこの距離の相違が所定の閾値(例えば、直線道路では0.1~0.2メートル、緩くカーブした道路では0.3~0.4メートル、急カーブの道路では0.5~0.6メートル)を超える場合、処理ユニット110は、先行車両がレーン変更中である可能性が高いと判断し得る。複数の車両が、車両200の前を走行中であることが検出される場合、処理ユニット110は、各車両に関連付けられたスネイルトレイルを比較し得る。比較に基づいて、処理ユニット110は、スネイルトレイルが他の車両のスネイルトレイルに一致しない車両が、レーン変更中である可能性が高いと判断し得る。処理ユニット110は更に、スネイルトレイル(先行車両に関連付けられた)の曲率を、先行車両が走行中の道路区分の予期される曲率と比較し得る。予期される曲率は、マップデータ(例えば、マップデータベース160からのデータ)から、道路多項式から、他の車両のスネイルトレイルから、道路についての事前知識等から抽出し得る。スネイルトレイルの曲率と道路区分の予期される曲率との差が、所定の閾値を超える場合、処理ユニット110は、先行車両がレーン変更中である可能性が高いと判断し得る。
別の実施形態では、処理ユニット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は、(より近い)先行車両がレーン変更中である可能性が高いと判断し得る。
ステップ584において、処理ユニット110は、ステップ582において実行される分析に基づいて、先行車両200がレーン変更中であるか否かを特定し得る。例えば、処理ユニット110は、ステップ582において実行される個々の分析の加重平均に基づいてその判断を下し得る。そのような方式下では、例えば、特定のタイプの分析に基づいた、先行車両がレーン変更中である可能性が高いという処理ユニット110による判断には、値「1」を割り当て得る(「0」は、先行車両がレーン変更中である可能性が低いとの判断を表す)。ステップ582において実行される異なる分析には異なる重みを割り当て得て、開示される実施形態は、分析及び重みのいかなる特定の組み合わせにも限定されない。
図6は、開示される実施形態による、立体画像分析に基づいて1つ又は複数のナビゲーション応答を生じさせる例示的なプロセス600を示すフローチャートである。ステップ610において、処理ユニット110は、データインタフェース128を介して第1及び第2の複数の画像を受信し得る。例えば、画像取得ユニット120に含まれるカメラ(視野202及び204を有する撮像デバイス122及び124等)は、車両200の前方のエリアの第1及び第2の複数の画像を撮像し、デジタル接続(例えば、USB、無線、Bluetooth等)を介して処理ユニット110に送信し得る。幾つかの実施形態では、処理ユニット110は、2つ以上のデータインタフェースを介して第1及び第2の複数の画像を受信し得る。開示される実施形態は、いかなる特定のデータインタフェース構成又はプロトコルにも限定されない。
ステップ620において、処理ユニット110は、立体画像分析モジュール404を実行して、第1及び第2の複数の画像の立体画像分析を実行して、車両の前方の道路の3Dマップを作成し、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ、信号機及び道路危険物等の画像内の特徴を検出し得る。立体画像分析は、図5A~図5Dに関連して上述したステップと同様に実行され得る。例えば、処理ユニット110は、立体画像分析モジュール404を実行して、第1及び第2の複数の画像内の候補物体(例えば、車両、歩行者、道路マーク、信号機、道路危険物等)を検出し、様々な基準に基づいて候補物体のサブセットをフィルタリングして除外し、マルチフレーム分析を実行し、測定を構築し、残りの候補物体の信頼度を特定し得る。上記ステップを実行するに当たり、処理ユニット110は、画像の1つの組のみからの情報ではなく、第1及び第2の複数の画像の両方からの情報を考慮し得る。例えば、処理ユニット110は、第1及び第2の複数の画像の両方に現れる候補物体のピクセルレベルデータ(又は撮像された画像の2つのストリームの中からの他のデータサブセット)の差を分析し得る。別の例として、処理ユニット110は、物体が複数の画像の1枚に現れるが、他の画像では現れないことを観測することにより、又は2つの画像ストリームの場合に現れる物体に対して存在し得る他の差に対して、候補物体の位置及び/又は速度(例えば、車両200に対する)を推定し得る。例えば、車両200に対する位置、速度及び/又は加速度は、画像ストリームの一方又は両方に現れる物体に関連付けられた特徴の軌道、位置、移動特性等に基づいて特定し得る。
ステップ630において、処理ユニット110は、ナビゲーション応答モジュール408を実行して、ステップ620において実行される分析及び図4に関連して上記で説明した技法に基づいて、車両200で1つ又は複数のナビゲーション応答を生じさせ得る。ナビゲーション応答は、例えば、ターン、レーンシフト、加速度変更、速度変更及びブレーキ等を含み得る。幾つかの実施形態では、処理ユニット110は、速度及び加速度モジュール406の実行から導出されるデータを使用して、1つ又は複数のナビゲーション応答を生じさせ得る。更に、複数のナビゲーション応答は、同時に行われ得るか、順次行われ得るか、又はそれらの任意の組み合わせで行われ得る。
図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にデータを通信する関連付けられたデータインタフェースを有し得る。開示される実施形態は、いかなる特定のデータインタフェース構成又はプロトコルにも限定されない。
ステップ720において、処理ユニット110は、第1、第2及び第3の複数の画像を分析して、レーンマーク、車両、歩行者、道路標識、高速道路出口ランプ、信号機及び道路危険物等の画像内の特徴を検出し得る。分析は、図5A~図5D及び図6に関連して上述したステップと同様に実行され得る。例えば、処理ユニット110は、単眼画像分析を第1、第2及び第3の複数のそれぞれの画像に対して実行し得る(例えば、単眼画像分析モジュール402の実行及び図5A~図5Dに関連して上述したステップに基づいて)。代替的には、処理ユニット110は、立体画像分析を第1及び第2の複数の画像、第2及び第3の複数の画像及び/又は第1及び第3の複数の画像に対して実行し得る(例えば、立体画像分析モジュール404の実行を介して及び図6に関連して上述したステップに基づいて)。第1、第2及び/又は第3の複数の画像の分析に対応する処理済み情報は、結合し得る。幾つかの実施形態では、処理ユニット110は、単眼画像分析と立体画像分析との組み合わせを実行し得る。例えば、処理ユニット110は、単眼画像分析を第1の複数の画像に対して実行し(例えば、単眼画像分析モジュール402の実行を介して)、立体画像分析を第2及び第3の複数の画像に対して実行し得る(例えば、立体画像分析モジュール404の実行を介して)。撮像デバイス122、124及び126の構成 - 各位置及び視野202、204及び206を含め - は、第1、第2及び第3の複数の画像に対して行われる分析のタイプに影響を及ぼし得る。開示される実施形態は、撮像デバイス122、124及び126の特定の構成又は第1、第2及び第3の複数の画像に対して行われる分析のタイプに限定されない。
幾つかの実施形態では、処理ユニット110は、ステップ710及び720において取得され分析される画像に基づいて、システム100にテストを実行し得る。そのようなテストは、撮像デバイス122、124及び126の特定の構成でのシステム100の全体性能のインジケータを提供し得る。例えば、処理ユニット110は、「偽性ヒット」(例えば、システム100が車両又は歩行者の存在を誤って判断する場合)及び「見落とし」の割合を特定し得る。
ステップ730において、処理ユニット110は、第1、第2及び第3の複数の画像の2つから導出される情報に基づいて、車両200での1つ又は複数のナビゲーション応答を生じさせ得る。第1、第2及び第3の複数の画像の2つの選択は、例えば、複数の画像のそれぞれで検出される物体の数、タイプ及びサイズ等の様々な要因に依存し得る。処理ユニット110は、画像の品質及び解像度、画像に反映される有効視野、撮像フレーム数及び対象となる1つ又は複数の物体が実際にフレームに現れる程度(例えば、物体が現れるフレームのパーセンテージ、物体がそのような各フレームで現れる割合等)等に基づいて選択を行うことができる。
幾つかの実施形態では、処理ユニット110は、ある画像ソースから導出される情報が、他の画像ソースから導出される情報と一貫する程度を特定することにより、第1、第2及び第3の複数の画像の2つから導出される情報を選択し得る。例えば、処理ユニット110は、撮像デバイス122、124及び126のそれぞれから導出される処理済み情報(単眼分析であれ、立体分析であれ、又はそれら2つの任意の組み合わせであれ関係なく)を結合して、撮像デバイス122、124及び126のそれぞれから撮像された画像にわたり一貫する視覚的インジケータ(例えば、レーンマーク、検出される車両及び/又はその位置及び/又は経路、検出される信号機等)を特定し得る。処理ユニット110は、撮像された画像にわたり一貫しない情報(例えば、レーンを変更中の車両、車両200に近すぎる車両を示すレーンモデル等)を除外することもできる。従って、処理ユニット110は、一貫情報及び非一貫情報の特定に基づいて、第1、第2及び第3の複数の画像の2つからの導出される情報を選択し得る。
ナビゲーション応答は、例えば、ターン、レーンシフト及び加速度変更等を含み得る。処理ユニット110は、ステップ720において実行される分析及び図4に関連して上記で説明した技法に基づいて、1つ又は複数のナビゲーション応答を生じさせ得る。処理ユニット110は、速度及び加速度モジュール406の実行から導出されるデータを使用して、1つ又は複数のナビゲーション応答を生じさせることもできる。幾つかの実施形態では、処理ユニット110は、車両200と第1、第2及び第3の複数の画像のいずれかの中で検出される物体との間の相対位置、相対速度及び/又は相対加速度に基づいて、1つ又は複数のナビゲーション応答を生じさせ得る。複数のナビゲーション応答は、同時に行われ得るか、順次行われ得るか、又はそれらの任意の組み合わせで行われ得る。
自律車両ナビゲーションのための疎な道路モデル
幾つかの実施形態では、開示されるシステム及び方法は、自律車両ナビゲーションのために疎なマップを使用し得る。具体的には、疎なマップは、道路区分に沿った自律車両ナビゲーションのためであり得る。例えば、疎なマップは、大量のデータを記憶及び/又は更新することなく、自律車両をナビゲートするための十分な情報を提供し得る。以下で更に詳細に論じるように、自律車両は、疎なマップを使用して、1つ又は複数の記憶される軌道に基づいて1つ又は複数の道路をナビゲートし得る。
自律車両ナビゲーションのための疎なマップ
幾つかの実施形態では、開示されるシステム及び方法は、自律車両ナビゲーションのために疎なマップを生成し得る。例えば、疎なマップは、過度のデータストレージ又はデータ転送速度を必要とすることなく、ナビゲーションに十分な情報を提供し得る。以下で更に詳細に論じるように、車両(自律車両であり得る)は、疎なマップを使用して1つ又は複数の道路をナビゲートし得る。例えば、幾つかの実施形態では、疎なマップは、道路に関連するデータ、及び車両ナビゲーションに十分であり得るが、小さなデータフットプリントも示す道路に沿った潜在的な陸標を含み得る。例えば、以下で詳細に説明する疎なデータマップは、道路に沿って収集される画像データ等の詳細なマップ情報を含むデジタルマップと比較して、必要な記憶領域及びデータ転送帯域幅が大幅に少なくなり得る。
例えば、道路区分の詳細な表現を記憶するのではなく、疎なデータマップは、道路に沿った好ましい車両経路の3次元多項式表現を記憶し得る。これらの経路は、データ記憶領域をほとんど必要とし得ない。更に、説明される疎なデータマップでは、ナビゲーションを支援するために、陸標が識別され、疎なマップ道路モデルに含まれ得る。これらの陸標は、車両のナビゲーションを可能にするのに適した任意の間隔で配置され得るが、場合によっては、高密度及び短い間隔で、そのような陸標を識別し、モデルに含める必要はない。むしろ、場合によっては、少なくとも50メートル、少なくとも100メートル、少なくとも500メートル、少なくとも1キロメートル、又は少なくとも2キロメートル離れた陸標に基づいてナビゲーションが可能であり得る。他の節でより詳細に論じるように、疎なマップは、車両が道路に沿って移動するときに、撮像デバイス、全地球測位システムセンサ、移動センサ等の様々なセンサ及びデバイスを備えた車両によって収集又は測定されるデータに基づいて生成され得る。場合によっては、疎なマップは、特定の道路に沿った1つ又は複数の車両の複数の走行中に収集されるデータに基づいて生成され得る。1つ又は複数の車両の複数の走行を使用して疎なマップを生成することは、疎なマップの「クラウドソーシング」と呼ばれ得る。
開示される実施形態によれば、自律車両システムは、ナビゲーションのために疎なマップを使用し得る。例えば、開示されるシステム及び方法は、自律車両のための道路ナビゲーションモデルを生成するための疎なマップを配信し得て、疎なマップ及び/又は生成される道路ナビゲーションモデルを使用して道路区分に沿って自律車両をナビゲートし得る。本開示による疎なマップは、自律車両が関連付けられた道路区分に沿って移動するときに横断し得る所定の軌道を表し得る1つ又は複数の3次元輪郭を含み得る。
本開示による疎なマップはまた、1つ又は複数の道路特徴を表すデータを含み得る。そのような道路の特徴には、認識される陸標、道路シグネチャプロファイル、及び車両のナビゲートに有用な任意の他の道路関連の特徴が含まれ得る。本開示による疎なマップは、疎なマップに含まれる比較的少量のデータに基づく車両の自律ナビゲーションを可能にし得る。例えば、道路端部、道路の曲率、道路区分に関連付けられた画像、又は道路区分に関連付けられた他の物理的特徴を詳細に示すデータ等、道路の詳細な表現を含めなくても、疎なマップの開示される実施形態は、比較的少ない記憶領域(及び疎なマップの一部が車両に転送されるときの比較的小さな帯域幅)は必要となり得るが、それでも自律車両ナビゲーションを適切に提供し得る。以下で更に詳細に論じる、開示される疎なマップの小さなデータフットプリントは、幾つかの実施形態では、少量のデータを必要とするが、それでも自律ナビゲーションを可能にする道路関連要素の表現を記憶することによって実現され得る。
例えば、道路の様々な側面の詳細な表現を記憶するのではなく、開示される疎なマップは、車両が道路を追従し得る1つ又は複数の軌道の多項式表現を記憶し得る。従って、開示される疎なマップを使用して、道路に沿ったナビゲーションを可能にするために道路の物理的性質に関する詳細を記憶する(又は転送する必要がある)のではなく、車両は、場合によっては、道路の物理的側面を解釈する必要なしに、むしろ、その走行経路を特定の道路区分に沿った軌道(例えば、多項式スプライン)に位置合わせすることによって、特定の道路区分に沿ってナビゲートされ得る。このようにして、車両は、主に、道路画像、道路パラメータ、道路レイアウト等の記憶を含む手法よりもはるかに少ない記憶領域を必要とし得る、記憶される軌道(例えば、多項式スプライン)に基づいてナビゲートされ得る。
道路区分に沿った軌道の記憶される多項式表現に加えて、開示される疎なマップはまた、道路の特徴を表し得る小さなデータオブジェクトを含み得る。幾つかの実施形態では、小さなデータオブジェクトは、道路区分に沿って走行する車両に搭載されたセンサ(例えば、カメラ又はサスペンションセンサ等の他のセンサ)によって取得されたデジタル画像(又はデジタル信号)から導出されるデジタルシグネチャを含み得る。デジタルシグネチャは、センサによって取得された信号に比べて縮小されたサイズとなり得る。幾つかの実施形態では、デジタルシグネチャは、例えば、その走行中にセンサによって取得される信号から道路特徴を検出及び識別するように構成される分類子関数と互換性があるように作成され得る。幾つかの実施形態では、デジタルシグネチャは、その後に同じ道路区分に沿って走行する車両に搭載されるカメラによって撮像される道路特徴の画像(又は、記憶されるシグネチャが画像に基づいていない、及び/又は他のデータを含んでいる場合は、センサによって生成されるデジタル信号)に基づいて、道路特徴を記憶されるシグネチャと相関又は一致させる能力を保持しながら、デジタルシグネチャが可能な限り小さいフットプリントを有するように作成され得る。
幾つかの実施形態では、データオブジェクトのサイズは、道路特徴の独自性に更に関連付けられ得る。例えば、車両に搭載されるカメラによって検出可能な道路特徴について、車両に搭載されるカメラシステムが、特定のタイプの道路特徴、例えば、道路標識に関連付けられているものとしてその道路特徴に対応する画像データを区別できる分類子に結合されている場合、及びそのような道路標識がその領域で局所的に一意(例えば、付近に同一の道路標識又は同じタイプの道路標識がない)である場合、道路の特徴のタイプ及びその位置を示すデータを記憶するだけで十分であり得る。
以下で更に詳細に論じるように、道路特徴(例えば、道路区分に沿った陸標)は、比較的数バイトで道路特徴を表し得る小さなデータオブジェクトとして記憶され得て、同時に、ナビゲーションのためにそのような特徴を認識及び使用するための十分な情報を提供し得る。一例では、道路標識は、車両のナビゲーションが基づき得る認識される陸標として識別され得る。道路標識の表現は、例えば、陸標のタイプを示す数バイトのデータ(例えば、一時停止標識)及び陸標の位置(例えば、座標)を示す数バイトのデータを含むように、疎なマップに記憶され得る。陸標のそのようなデータ観点の表現に基づいてナビゲートする(例えば、陸標に基づいて位置を特定し、認識し、ナビゲートするのに十分な表現を使用する)は、疎なマップに関連付けられたデータオーバーヘッドを大幅に増加させることなく、疎なマップに関連付けられた所望のレベルのナビゲーション機能を提供し得る。このような陸標(及び他の道路特徴)の無駄のない表現は、特定の道路特徴を検出、識別、及び/又は分類するように構成される、そのような車両に搭載されるセンサ及びプロセッサを利用し得る。
例えば、標識又は特定のタイプの標識が特定の領域で局所的に一意である場合(例えば、他の標識がない場合、又は同じタイプの他の標識がない場合)、疎なマップは、陸標(標識又は特定のタイプの標識)のタイプを示すデータを使用し得て、自律車両に搭載されるカメラが標識(又は特定のタイプの標識)を含む領域の画像を撮像するときのナビゲーション(例えば、自律ナビゲーション)中、プロセッサは、画像を処理し、標識を検出し(実際に画像に存在する場合)、画像を標識として(又は特定のタイプの標識として)分類し、画像の位置を疎なマップに記憶されている標識の位置と相関させ得る。
疎なマップの生成
幾つかの実施形態では、疎なマップは、道路区分及び道路区分に関連付けられた複数の陸標に沿って広がる路面特徴の少なくとも1つの線表現を含み得る。特定の態様では、疎なマップは、「クラウドソーシング」を介して、例えば、1つ又は複数の車両が道路区分を横断するときに取得される複数の画像の画像分析を介して生成され得る。
図8は、1つ又は複数の車両、例えば、車両200(自律車両であり得る)が、自律車両ナビゲーションを提供するためにアクセスし得る疎なマップ800を示す。疎なマップ800は、メモリ140又は150等のメモリに記憶され得る。そのようなメモリデバイスは、任意のタイプの非一時的ストレージデバイス又はコンピュータ可読媒体を含み得る。例えば、幾つかの実施形態では、メモリ140又は150は、ハードドライブ、コンパクトディスク、フラッシュメモリ、磁気ベースのメモリデバイス、光学ベースのメモリデバイス等を含み得る。幾つかの実施形態では、疎なマップ800は、メモリ140もしくは150、又は他のタイプのストレージデバイスに記憶され得るデータベース(例えば、マップデータベース160)に記憶され得る。
幾つかの実施形態では、疎なマップ800は、車両200に搭載されるストレージデバイス又は非一時的コンピュータ可読媒体(例えば、車両200に搭載されるナビゲーションシステムに含まれるストレージデバイス)に記憶され得る。車両200に搭載されるプロセッサ(例えば、処理ユニット110)は、車両が道路区分を横断するときに自律車両200を誘導するためのナビゲーション命令を生成するために、車両200に搭載されるストレージデバイス又はコンピュータ可読媒体に記憶される疎なマップ800にアクセスし得る。
ただし、疎なマップ800は、車両に関してローカルに記憶する必要はない。幾つかの実施形態では、疎なマップ800は、車両200又は車両200に関連付けられたデバイスと通信する遠隔サーバ上に提供されるストレージデバイス又はコンピュータ可読媒体に記憶され得る。車両200に搭載されるプロセッサ(例えば、処理ユニット110)は、疎なマップ800に含まれるデータを遠隔サーバから受信し得て、車両200の自律走行を誘導するためのデータを実行し得る。そのような実施形態では、遠隔サーバは、疎なマップ800の全て又はその一部のみを記憶し得る。従って、車両200及び/又は1つ又は複数の追加の車両に搭載されるストレージデバイス又はコンピュータ可読媒体は、疎なマップ800の残りの部分を記憶し得る。
更に、そのような実施形態では、疎なマップ800は、様々な道路区分を横断する複数の車両(例えば、数十、数百、数千、又は数百万の車両等)にアクセス可能にし得る。疎なマップ800は、複数のサブマップを含み得ることにも留意されたい。例えば、幾つかの実施形態では、疎なマップ800は、車両をナビゲートする際に使用され得る数百、数千、数百万、又はそれ以上のサブマップを含み得る。そのようなサブマップはローカルマップと呼ばれ得て、道路に沿って走行する車両は、車両が走行している位置に関連する任意の数のローカルマップにアクセスし得る。疎なマップ800のローカルマップ区域は、疎なマップ800のデータベースへのインデックスとして、グローバルナビゲーション衛星システム(GNSS)キーと共に記憶され得る。従って、本システムでのホスト車両をナビゲートするための操舵角の計算は、ホスト車両のGNSS位置、道路特徴、又は陸標に依存せずに実行され得るが、そのようなGNSS情報は、関連するローカルマップの検索に使用され得る。
一般に、疎なマップ800は、1つ又は複数の車両が道路に沿って走行するときに、1つ又は複数の車両から収集されるデータに基づいて生成され得る。例えば、1つ又は複数の車両に搭載されるセンサ(例えば、カメラ、速度計、GPS、加速度計等)を使用して、1つ又は複数の車両が道路に沿って走行する軌道を記録し得て、道路に沿って後続の走行を行う車両の好ましい軌道の多項式表現は、1つ又は複数の車両によって走行される収集される軌道に基づいて決定され得る。同様に、1つ又は複数の車両によって収集されるデータは、特定の道路に沿った潜在的な陸標の識別を支援し得る。横断車両から収集されるデータは、道路幅プロファイル、道路粗さプロファイル、動線間隔プロファイル、道路条件等の道路プロファイル情報を識別するためにも使用され得る。収集される情報を使用して、疎なマップ800が生成され、1つ又は複数の自律車両のナビゲートに使用するために、(例えば、ローカルストレージのために、又はオンザフライデータ送信を介して)配信され得る。しかし、幾つかの実施形態では、マップ生成は、マップの初期生時で終了し得ない。以下でより詳細に論じるように、疎なマップ800は、それらの車両が疎なマップ800に含まれる道路を横断し続けるときに、車両から収集されるデータに基づいて継続的又は定期的に更新され得る。
疎なマップ800に記録されるデータは、全地球測位システム(GPS)データに基づく位置情報を含み得る。例えば、位置情報は、例えば、陸標位置、道路プロファイル位置等を含む、様々なマップ要素の疎なマップ800に含まれ得る。疎なマップ800に含まれるマップ要素の位置は、道路を横断する車両から収集されるGPSデータを使用して取得し得る。例えば、識別される陸標を通過する車両は、車両に関連付けられたGPS位置情報を使用して識別される陸標の位置を決定し、(例えば、車両に搭載される1つ又は複数のカメラから収集されるデータの画像分析に基づいて)車両に対する識別される陸標の位置を決定し得る。識別される陸標(又は疎なマップ800に含まれる任意の他の特徴)のそのような位置決定は、追加の車両が識別される陸標の位置を通過するときに繰り返され得る。追加の位置決定の一部又は全部を使用して、識別される陸標に関連して疎なマップ800に記憶される位置情報を洗練させ得る。例えば、幾つかの実施形態では、疎なマップ800に記憶される特定の特徴に関連する複数の位置測定値を共に平均化し得る。しかし、他の任意の数学的演算を使用して、マップ要素の複数の決定された位置に基づいて、マップ要素の記憶される位置を洗練させることもできる。
開示される実施形態の疎なマップは、比較的少量の記憶されるデータを使用して車両の自律ナビゲーションを可能にし得る。幾つかの実施形態では、疎なマップ800は、道路1キロメートル当たり2MB未満、道路1キロメートル当たり1MB未満、道路1キロメートル当たり500KB未満、又は道路1キロメートル当たり100KB未満のデータ密度(例えば、目標軌道、陸標、及び任意の他の記憶された道路特徴を表すデータを含む)を有し得る。幾つかの実施形態では、疎なマップ800のデータ密度は、道路1キロメートル当たり10KB未満、又は道路1キロメートル当たり2KB未満(例えば、1キロメートル当たり1.6KB)、又は道路1キロメートル当たり10KB以下、又は道路1キロメートル当たり20KB以下であり得る。幾つかの実施形態では、米国の道路の全てではないにしてもほとんどが、合計4GB以下のデータを有する疎なマップを使用して自律的にナビゲートされ得る。これらのデータ密度値は、疎なマップ800全体にわたる、疎なマップ800内のローカルマップにわたる、及び/又は疎なマップ800内の特定の道路区分にわたる平均を表し得る。
上記で述べたように、疎なマップ800は、道路区分に沿った自律走行又はナビゲーションを誘導するための複数の目標軌道810の表現を含み得る。そのような目標軌道は、3次元スプラインとして記憶され得る。疎なマップ800に記憶される目標軌道は、例えば、特定の道路区分に沿った車両の以前の横断の2つ以上の再構築される軌道に基づいて決定され得る。道路区分は、単一の目標軌道又は複数の目標軌道に関連付けられ得る。例えば、2レーン道路では、第1の目標軌道は、第1の方向の道路に沿った意図される走行経路を表すために記憶され得て、第2の目標軌道は、別の方向(例えば、第1の方向と反対方向)の道路に沿った意図される走行経路を表すために記憶され得る。追加の目標軌道は、特定の道路区分に関して記憶され得る。例えば、複数レーンの道路では、複数レーンの道路に関連付けられた1つ又は複数のレーンの車両の意図される走行経路を表す1つ又は複数の目標軌道が記憶され得る。幾つかの実施形態では、複数レーン道路の各レーンは、それ自体の目標軌道に関連付けられ得る。他の実施形態では、複数レーンの道路に存在するレーンよりも、記憶されている目標軌道が少なくなり得る。そのような場合、複数レーンの道路をナビゲートする車両は、記憶される目標軌道のいずれかを使用して、目標軌道が記憶されているレーンからのレーンオフセットの量を考慮してナビゲーションを誘導し得る(例えば、車両が3レーンの高速道路の左端レーンを走行していて、目標軌道が高速道路の中央レーンに対してのみ記憶されている場合、車両は、ナビゲーション指示を生成するときに、中央レーンと左端レーンとの間のレーンオフセットの量を考慮して、中央レーンの目標軌道を使用してナビゲートし得る)。
幾つかの実施形態では、目標軌道は、車両が走行するときに車両が取るべき理想的な経路を表し得る。目標軌道は、例えば、走行レーンのほぼ中心に配置され得る。その他の場合、目標軌道は道路区分に対して他の場所に配置され得る。例えば、目標軌道は、道路の中心、道路の端部、又はレーンの端部等とほぼ一致し得る。そのような場合、目標軌道に基づくナビゲーションは、目標軌道の位置に対して維持すべき決定された量のオフセットを含み得る。更に、幾つかの実施形態では、目標軌道の位置に対して維持すべきオフセットの決定された量は、車両のタイプに基づいて異なり得る(例えば、2つの車軸を含む乗用車は、目標軌道の少なくとも一部に沿って、3つ以上の車軸を含むトラックとは異なるオフセットを有し得る)。
疎なマップ800はまた、特定の道路区分、ローカルマップ等に関連付けられた複数の所定の陸標820に関連するデータを含み得る。以下でより詳細に論じるように、これらの陸標を使用して、自律車両をナビゲーションし得る。例えば、幾つかの実施形態では、陸標を使用して、記憶される目標軌道に対する車両の現在の位置を決定し得る。この位置情報を使用して、自律車両は、決定された位置での目標軌道の方向に一致するように進行方向が調整可能であり得る。
複数の陸標820は、任意の適切な間隔で識別され、疎なマップ800に記憶され得る。幾つかの実施形態では、陸標は比較的高い密度で(例えば、数メートル以上ごとに)記憶され得る。しかし、幾つかの実施形態では、著しく大きな陸標の間隔値を使用し得る。例えば、疎なマップ800では、識別される(又は認識される)陸標は、10メートル、20メートル、50メートル、100メートル、1キロメートル、又は2キロメートルの間隔で離れ得る。場合によっては、識別される陸標が2キロメートル以上離れた場所にあり得る。
陸標間、従って目標軌道に対する車両位置を決定する間には、車両は、車両がセンサを使用してエゴモーションを決定し、目標軌道に対する位置を推定する推測航法に基づいてナビゲートし得る。推測航法によるナビゲーション中に誤差が蓄積し得るため、経時的に目標軌道に対する位置決定の精度が次第に低下し得る。車両は、疎なマップ800(及びそれらの既知の位置)に存在する陸標を使用して、位置決定における推測航法によって誘発される誤差を除去し得る。このようにして、疎なマップ800に含まれる識別される陸標は、ナビゲーションアンカーとして機能し得て、そこから、目標軌道に対する車両の正確な位置を決定し得る。位置決定では、ある程度の誤差が許容され得るため、識別される陸標が自律車両で常に利用可能である必要はない。むしろ、上記で述べたように、10メートル、20メートル、50メートル、100メートル、500メートル、1キロメートル、2キロメートル、又はそれ以上の陸標間隔に基づいても、適切なナビゲーションが可能であり得る。幾つかの実施形態では、道路の1kmごとに1つの識別された陸標の密度は、1m以内の縦方向の位置決定精度を維持するのに十分であり得る。従って、道路区分に沿って現れる全ての潜在的な陸標を疎なマップ800に記憶する必要があるとは限らない。
更に、幾つかの実施形態では、レーンマークは、陸標間隔の間の車両の位置特定のために使用され得る。陸標間隔の間にレーンマークを使用することにより、推測航法によるナビゲーション中の蓄積が最小限に抑えられ得る。
目標軌道及び識別される陸標に加えて、疎なマップ800は、他の様々な道路特徴に関連する情報を含み得る。例えば、図9Aは、疎なマップ800に記憶され得る特定の道路区分に沿った曲線の表現を示す。幾つかの実施形態では、道路の単一レーンは、道路の左側及び右側の3次元多項式記述によってモデル化され得る。単一レーンの左側及び右側を表す、そのような多項式を図9Aに示す。道路が有し得るレーン数に関係なく、図9Aに示すのと同様の方法で、多項式を使用して道路を表し得る。例えば、複数レーンの道路の左側及び右側は、図9Aに示したものと同様の多項式によって表し得て、複数レーンの道路に含まれる中間レーンのマーク(例えば、レーンの境界を表す破線のマーク、異なる方向に走行するレーン間の境界を表す黄色の実線等)も、図9Aに示すような多項式を使用して表し得る。
図9Aに示すように、レーン900は、多項式(例えば、1次、2次、3次、又は任意の適切な次数の多項式)を使用して表し得る。説明のために、レーン900は2次元レーンとして示され、多項式は2次元多項式として示されている。図9Aに示すように、レーン900は左側910及び右側920を含む。幾つかの実施形態では、複数の多項式を使用して、道路又はレーンの境界の各側の位置を表し得る。例えば、左側910及び右側920のそれぞれは、任意の適切な長さの複数の多項式によって表し得る。場合によっては、多項式が約100mの長さになり得るが、100mより長い又は短い他の長さも使用し得る。更に、ホスト車両が道路に沿って走行するときに、その後に遭遇する多項式に基づいてナビゲートする際のシームレスな遷移を容易にするために、多項式を互いに重なり合わせることができる。例えば、左側910及び右側920のそれぞれは、長さが約100メートルの区分(第1の所定の範囲の例)に分離され、互いに約50メートル重なり合う複数の3次多項式によって表し得る。左側910及び右側920を表す多項式は、同じ順序であり得るか、又は同じ順序であり得ない。例えば、幾つかの実施形態では、幾つかの多項式は2次多項式であり得て、幾つかは3次多項式であり得て、幾つかは4次多項式であり得る。
図9Aに示す例では、レーン900の左側910は、3次多項式の2つのグループで表されている。第1のグループには、多項式区分911、912、及び913が含まれる。第2のグループには、多項式区分914、915、及び916が含まれる。2つのグループは、互いに実質的に平行であるが、道路のそれぞれの側の位置に従う。多項式区分911、912、913、914、915、及び916は約100メートルの長さであり、一連内の隣接する区分と約50メートル重なり合っている。ただし、前述のように、異なる長さ及び異なる重なり合う量の多項式も使用し得る。例えば、多項式は500m、1km、又はそれ以上の長さであり得て、重なり合う量は0~50m、50m~100m、又は100m超に変化し得る。更に、図9Aは、2D空間(例えば、紙の表面上)に広がる多項式を表すものとして示され、これらの多項式は、X-Y曲率に加えて、道路区分の標高(elevation)の変化を表すために、(例えば、高さ成分を含む)3次元に広がる曲線を表し得ることを理解されたい。図9Aに示す例では、レーン900の右側920は、多項式区分921、922、及び923を有する第1のグループ、並びに多項式区分924、925、及び926を有する第2のグループによって更に表される。
疎なマップ800の目標軌道に戻り、図9Bは、特定の道路区分に沿って走行する車両の目標軌道を表す3次元多項式を示す。目標軌道は、ホスト車両が特定の道路区分に沿って走行すべきX-Y経路だけでなく、ホスト車両が道路区分に沿って走行するときに経験する標高の変化も表す。従って、疎なマップ800内の各目標軌道は、図9Bに示す3次元多項式950のように、1つ又は複数の3次元多項式によって表し得る。疎なマップ800は、複数(例えば、世界中の道路に沿った様々な道路区分に沿った車両の軌道を表すために、数百万又は数十億以上)の軌道を含み得る。幾つかの実施形態では、各目標軌道は、3次元多項式区分を接続するスプラインに対応し得る。
疎なマップ800に記憶される多項式曲線のデータフットプリントに関して、幾つかの実施形態では、各3次多項式は、4つのパラメータによって表され、それぞれは4バイトのデータを必要とし得る。適切な表現は、100mごとに約192バイトのデータを必要とする3次多項式で取得し得る。これは、約100km/hrを走行するホスト車両のデータ使用量/転送要件で1時間当たり約200KBと言い換え得る。
疎なマップ800は、ジオメトリ記述子とメタデータとの組み合わせを使用してレーンネットワークを記述し得る。ジオメトリは、上記で説明したように多項式又はスプラインで記述し得る。メタデータは、レーンの数、特別な特性(カープールレーン等)、及び場合により他の疎なラベルを記述し得る。そのような指標の総フットプリントは、ごくわずかであり得る。
従って、本開示の実施形態による疎なマップは、道路区分に沿って広がる路面特徴の少なくとも1つの線表現を含み得て、各線表現は、路面特徴に実質的に対応する道路区分に沿った経路を表す。幾つかの実施形態では、上記で論じたように、路面特徴の少なくとも1つの線表現は、スプライン、多項式表現、又は曲線を含み得る。更に、幾つかの実施形態では、路面特徴は、道路端部又はレーンマークのうちの少なくとも1つを含み得る。更に、「クラウドソーシング」に関して以下で論じるように、路面特徴は、1つ又は複数の車両が道路区分を横断するときに取得される複数の画像の画像分析によって識別され得る。
前述したように、疎なマップ800は、道路区分に関連付けられた複数の所定の陸標を含み得る。陸標の実際の画像を記憶して、例えば、撮像された画像及び記憶される画像に基づく画像認識分析に依存するのではなく、疎なマップ800の各陸標は、記憶される実際の画像が必要とするよりも少ないデータを使用して表現及び認識され得る。陸標を表すデータは、道路に沿った陸標を説明又は識別するための十分な情報が含み得る。陸標の実際の画像ではなく、陸標の特性を記述したデータを記憶することで、疎なマップ800のサイズを縮小し得る。
図10は、疎なマップ800で表され得る陸標のタイプの例を示す。陸標には、道路区分に沿った任意の可視及び識別可能な物体が含まれ得る。陸標は、固定されており、位置及び/又は内容に関して頻繁に変更されないように選択し得る。疎なマップ800に含まれる陸標は、車両が特定の道路区分を横断するときに、目標軌道に対する車両200の位置を決定するのに有用であり得る。陸標の例は、交通標識、方向標識、一般標識(例えば、長方形の標識)、路傍の備品(例えば、街灯柱、反射板等)、及び任意の他の適切なカテゴリを含み得る。幾つかの実施形態では、道路上のレーンマークはまた、疎なマップ800の陸標として含まれ得る。
図10に示す陸標の例は、交通標識、方向標識、路傍の備品、及び一般標識を含む。交通標識は、例えば、制限速度標識(例えば、制限速度標識1000)、譲れの標識(例えば、譲れの標識1005)、路線番号標識(例えば、路線番号標識1010)、信号機標識(例えば、信号機標識1015)、一時停止標識(例えば、一時停止標識1020)を含み得る。方向標識は、異なる場所への1つ又は複数の方向を示す1つ又は複数の矢印を含む標識を含み得る。例えば、方向標識は、車両を異なる道路又は場所の方向を指示するための矢印を有する高速道路標識1025、車両を道路から出る方向を指示する矢印を有する出口標識1030等を含み得る。従って、複数の陸標のうちの少なくとも1つは、道路標識を含み得る。
一般標識は、交通に無関係であり得る。例えば、一般標識は、広告に使用される看板、又は2つの国、州、郡、市、又は町の間の境界に隣接するウェルカムボードを含み得る。図10は、一般標識1040(「Joe's Restaurant」)を示す。図10に示すように、一般標識1040は長方形の形状を有し得るが、一般標識1040は、正方形、円形、三角形等の他の形状を有し得る。
陸標はまた、路傍の備品を含み得る。路傍の備品は、標識ではない物体であり得て、交通又は方向に関連し得ない。例えば、路傍の備品は、街灯柱(例えば、街灯柱1035)、電力線柱、信号機柱等を含み得る。
陸標はまた、自律車両のナビゲーションシステムで使用するために特別に設計され得るビーコンを含み得る。例えば、そのようなビーコンは、ホスト車両のナビゲートを支援するために所定の間隔で配置される独立型の構造物を含み得る。そのようなビーコンはまた、道路区分に沿って走行する車両によって識別又は認識され得る既存の道路標識(例えば、アイコン、エンブレム、バーコード等)に追加される視覚的/グラフィック情報を含み得る。そのようなビーコンはまた、電子部品を含み得る。そのような実施形態では、電子ビーコン(例えば、RFIDタグ等)を使用して、非視覚的情報をホスト車両に送信し得る。そのような情報は、例えば、ホスト車両が目標軌道に沿ったその位置を決定する際に使用し得る陸標識別及び/又は陸標位置情報を含み得る。
幾つかの実施形態では、疎なマップ800に含まれる陸標は、所定のサイズのデータオブジェクトによって表され得る。陸標を表すデータは、特定の陸標を識別するための任意の適切なパラメータを含み得る。例えば、幾つかの実施形態では、疎なマップ800に記憶される陸標は、陸標の物理的サイズ(例えば、既知のサイズ/スケールに基づく陸標までの距離の推定をサポートするため)、前の陸標までの距離、横方向のオフセット、高さ、タイプコード(例えば、陸標タイプ - 方向標識、交通標識等のタイプ)、GPS座標(例えば、グローバルローカリゼーションをサポートするため)、及び任意の他の適切なパラメータ等のパラメータを含み得る。各パラメータは、データサイズに関連付けられ得る。例えば、陸標サイズは8バイトのデータを使用して記憶され得る。前の陸標までの距離、横方向のオフセット、及び高さは、12バイトのデータを使用して指定し得る。方向標識又は交通標識等の陸標に関連付けられたタイプコードには、約2バイトのデータが必要になり得る。一般標識の場合、一般標識の識別を可能にする画像シグネチャは、50バイトのデータストレージを使用して記憶され得る。陸標のGPS位置は、16バイトのデータストレージに関連付けられ得る。各パラメータのこれらのデータサイズは単なる例であり、他のデータサイズも使用し得る。
このようにして疎なマップ800で陸標を表現することは、データベース内の陸標を効率的に表現するための無駄のない解決策を提供し得る。幾つかの実施形態では、標識は、意味的標識及び非意味的標識と呼ばれ得る。意味的標識は、標準化される意味を持つ任意のクラスの標識(例えば、制限速度標識、警告標識、方向標識等)を含め得る。非意味的標識は、標準化される意味に関連付けられていない任意の標識(例えば、一般的な広告標識、事業所を識別する標識等)を含み得る。例えば、各意味的標識は、38バイトのデータ(例えば、サイズの8バイト、前の陸標までの距離、横方向のオフセット、高さの12バイト、タイプコードの2バイト、GPS座標の16バイト)で表し得る。疎なマップ800は、陸標タイプを表すためにタグシステムを使用し得る。場合によっては、各交通標識又は方向標識が独自のタグに関連付けられ得て、陸標IDの一部としてデータベースに記憶され得る。例えば、データベースは、様々な交通標識を表すために1000ほどの異なるタグを含み、方向標識を表すために約10000ほどの異なるタグを含み得る。当然ながら、任意の適切な数のタグを使用し得て、必要に応じて追加のタグを作成し得る。汎用標識は、幾つかの実施形態では、約100バイト未満を使用して表し得る(例えば、サイズの8バイト、前の陸標までの距離、横方向のオフセット、及び高さの12バイト、画像シグネチャの50バイト、及びGPS座標の16バイトを含む約86バイト)。
従って、画像シグネチャを必要としない意味的道路標識の場合、疎なマップ800へのデータ密度の影響は、50m当たり約1個の比較的高い陸標密度であっても、1キロメートル当たり約760バイトほどになり得る(例えば、1キロメートル当たり20個の陸標x1個の陸標当たり38バイト=760バイト)。画像シグネチャ成分を含む汎用標識の場合でも、データ密度への影響は1キロメートル当たり約1.72KBである(例えば、1キロメートル当たり20個の陸標×1個の陸標当たり86バイト=1,720バイト)。意味的道路標識の場合、これは100km/hrで走行する車両の1時間当たり約76KBのデータ使用量に相当する。汎用標識の場合、これは時速100km/hrで走行する車両の1時間当たり約170KBに相当する。
幾つかの実施形態では、長方形の標識等の概して長方形の物体は、100バイト以下のデータで疎なマップ800内に表し得る。疎なマップ800における概して長方形の物体(例えば、一般標識1040)の表現は、概して長方形の物体に関連付けられた凝縮画像シグネチャ(例えば、凝縮画像シグネチャ1045)を含み得る。この凝縮画像シグネチャは、例えば、認識される陸標として、例えば、汎用標識の識別を支援するために使用され得る。そのような凝縮画像シグネチャ(例えば、物体を表す実際の画像データから導出される画像情報)は、陸標を認識するために物体の実際の画像を記憶する必要性又は実際の画像に対して実行される比較画像分析の必要性を回避し得る。
図10を参照すると、疎なマップ800は、一般標識1040の実際の画像ではなく、一般標識1040に関連付けられた凝縮画像シグネチャ1045を含み得るか、又は記憶し得る。例えば、撮像デバイス(例えば、撮像デバイス122、124、又は126)が一般標識1040の画像を撮像した後、プロセッサ(例えば、画像プロセッサ190、又はホスト車両に対して搭載されているか、もしくは遠隔設置されているかのいずれかで画像を処理できる任意の他のプロセッサ)は、画像分析を実行して、一般標識1040に関連付けられた固有のシグネチャ又はパターンを含む凝縮画像シグネチャ1045を抽出/作成し得る。1つの実施形態では、凝縮画像シグネチャ1045は、一般標識1040を説明するために一般標識1040の画像から抽出され得る形状、色パターン、明るさパターン、又は任意の他の特徴を含み得る。
例えば、図10で、凝縮画像シグネチャ1045に示す円形、三角形、及び星形は、異なる色の領域を表し得る。円形、三角形、及び星形によって表されるパターンは、疎なマップ800に、例えば、画像シグネチャを含むように指定される50バイト内に記憶され得る。特に、円形、三角形、星は、必ずしもそのような形状が画像シグネチャの一部として記憶されていることを示すことを意味するわけではない。むしろ、これらの形状は、識別可能な色の違い、テキスト領域、グラフィック形状、又は汎用標識に関連付けられ得る特性の他の異形を有する認識可能な領域を概念的に表すことを意図している。そのような凝縮画像シグネチャは、一般標識の形で陸標を識別するために使用できる。例えば、凝縮画像シグネチャを使用して、例えば、自律車両に搭載されるカメラを使用して撮像された画像データと、記憶される凝縮画像シグネチャとの比較に基づいて、同じか否か分析を実行できる。
従って、複数の陸標は、1つ又は複数の車両が道路区分を横断するときに取得される複数の画像の画像分析によって識別され得る。「クラウドソーシング」に関して以下で説明するように、幾つかの実施形態では、複数の陸標を識別するための画像分析は、陸標が現れる画像と陸標が現れない画像との比率が閾値を超える場合に、潜在的な陸標を受け入れることを含み得る。更に、幾つかの実施形態では、複数の陸標を識別するための画像分析は、陸標が現れない画像と陸標が現れる画像との比率が閾値を超える場合に、潜在的な陸標を拒否することを含み得る。
ホスト車両が特定の道路区分をナビゲートするために使用し得る目標軌道に戻り、図11Aは、疎なマップ800を構築又は維持するプロセス中に撮像する多項式表現軌道を示す。疎なマップ800に含まれる目標軌道の多項式表現は、同じ道路区分に沿った車両の以前の横断の2つ以上の再構築される軌道に基づいて決定され得る。幾つかの実施形態では、疎なマップ800に含まれる目標軌道の多項式表現は、同じ道路区分に沿った車両の以前の横断の2つ以上の再構築される軌道の集約であり得る。幾つかの実施形態では、疎なマップ800に含まれる目標軌道の多項式表現は、同じ道路区分に沿った車両の以前の横断の2つ以上の再構築される軌道の平均であり得る。他の数学的演算を使用して、道路区分に沿って横断する車両から収集される再構築される軌道に基づいて、道路経路に沿った目標軌道を構築することもできる。
図11Aに示すように、道路区分1100は、異なる時間に複数の車両200によって走行され得る。各車両200は、車両が道路区分に沿って取った経路に関連するデータを収集し得る。特定の車両が走行する経路は、他の潜在的な情報源の中でもとりわけ、カメラデータ、加速度計情報、速度センサ情報、及び/又はGPS情報に基づいて決定され得る。そのようなデータは、道路区分に沿って走行する車両の軌道を再構築するために使用され得て、これらの再構築される軌道に基づいて、特定の道路区分の目標軌道(又は複数の目標軌道)が決定され得る。そのような目標軌道は、車両が道路区分に沿って走行するときの、(例えば、自律ナビゲーションシステムによって誘導される)ホスト車両の好ましい経路を表し得る。
図11Aに示す例では、第1の再構築される軌道1101は、第1の期間(例えば、1日目)に道路区分1100を横断する第1の車両から受信されるデータに基づいて決定され得て、第2の再構築される軌道1102は、第2の期間(例えば、2日目)に道路区分1100を横断する第2の車両から取得され得て、第3の再構築される軌道1103は、第3の期間(例えば、3日目)に道路区分1100を横断する第3の車両から取得され得る。各軌道1101、1102、及び1103は、3次元多項式等の多項式によって表し得る。幾つかの実施形態では、再構築される軌道のいずれかが、道路区分1100を横断する車両に提供され組み立てられ得ることに留意されたい。
加えて又は或いは、そのような再構築される軌道は、道路区分1100を横断する車両から受信される情報に基づいて、サーバ側で決定され得る。例えば、幾つかの実施形態では、車両200は、道路区分1100に沿ったそれらの移動(例えば、とりわけ、操舵角、進行方向、時間、位置、速度、検知される道路のジオメトリ、及び/又は検知される陸標等)に関連するデータを1つ又は複数のサーバに送信し得る。サーバは、受信されるデータに基づいて車両200の軌道を再構築し得る。サーバはまた、第1、第2、及び第3の軌道1101、1102、及び1103に基づいて、後に同じ道路区分1100に沿って走行する自律車両のナビゲーションを誘導するための目標軌道を生成し得る。目標軌道は、道路区分の単一の以前の横断に関連付けられ得るが、幾つかの実施形態では、疎なマップ800に含まれる各目標軌道は、同じ道路区分を横断する車両の2つ以上の再構築される軌道に基づいて決定され得る。図11Aでは、目標軌道は1110によって表されている。幾つかの実施形態では、目標軌道1110は、第1、第2、及び第3の軌道1101、1102、及び1103の平均に基づいて生成され得る。幾つかの実施形態では、疎なマップ800に含まれる目標軌道1110は、2つ以上の再構築される軌道の集約(例えば、重み付けされる組み合わせ)であり得る。
図11B及び図11Cは、地理的領域1111内に存在する道路区分に関連付けられた目標軌道の概念を更に示す。図11Bに示すように、地理的領域1111内の第1の道路区分1120は、第1の方向への車両走行のために指定される2つのレーン1122、及び第1の方向とは反対の第2の方向への車両走行のために指定される2つの追加のレーン1124を含む複数レーン道路を含み得る。レーン1122及びレーン1124は、二重の黄色い線1123によって分離され得る。地理的領域1111はまた、道路区分1120と交差する分岐道路区分1130を含み得る。道路区分1130は、2レーンの道路を含み得て、各レーンは、異なる進行方向に指定される。地理的領域1111はまた、一時停止線1132、一時停止標識1134、制限速度標識1136、及び危険標識1138等の他の道路特徴を含み得る。
図11Cに示すように、疎なマップ800は、地理的領域1111内の車両の自律ナビゲーションを支援するための道路モデルを含むローカルマップ1140を含み得る。例えば、ローカルマップ1140は、地理的領域1111内の道路区分1120及び/又は1130に関連付けられた1つ又は複数のレーンの目標軌道を含み得る。例えば、ローカルマップ1140は、自律車両がレーン1122を横断するときにアクセス又は依存し得る目標軌道1141及び/又は1142を含み得る。同様に、ローカルマップ1140は、自律車両がレーン1124を横断するときにアクセス又は依存し得る目標軌道1143及び/又は1144を含み得る。更に、ローカルマップ1140は、自律車両が道路区分1130を横断するときにアクセス又は依存し得る目標軌道1145及び/又は1146を含み得る。目標軌道1147は、レーン1120(具体的には、レーン1120の右端のレーンに関連付けられた目標軌道1141に対応)から道路区分1130(具体的には、道路区分1130の第1の側に関連付けられた目標軌道1145に対応)に移行するときに自律車両が進むべき好ましい経路を表す。同様に、目標軌道1148は、道路区分1130から(具体的には、目標軌道1146に対応)道路区分1124の一部(具体的には、示すように、レーン1124の左レーンに関連付けられた目標軌道1143に対応)に移行するときに自律車両が進むべき好ましい経路を表す。
疎なマップ800はまた、地理的領域1111に関連付けられた他の道路関連特徴の表現を含み得る。例えば、疎なマップ800はまた、地理的領域1111で識別される1つ又は複数の陸標の表現を含み得る。そのような陸標は、一時停止線1132に関連付けられた第1の陸標1150、一時停止標識1134に関連付けられた第2の陸標1152、制限速度標識1154に関連付けられた第3の陸標、及び危険標識1138に関連付けられた第4の陸標1156を含み得る。そのような陸標は、車両が、決定された位置での目標軌道の方向に一致するようにその進行方向を調整し得るように、例えば、自律車両が、示す目標軌道のいずれかに対する現在の位置を決定するのを支援するために使用され得る。
幾つかの実施形態では、疎なマップ800はまた、道路シグネチャプロファイルを含み得る。そのような道路シグネチャプロファイルは、道路に関連付けられた少なくとも1つのパラメータの任意の識別可能/測定可能な変動に関連付けられ得る。例えば、場合によっては、そのようなプロファイルは、特定の道路区分の表面粗さの変化、特定の道路区分にわたる道路幅の変化、特定の道路区分に沿って描かれた破線の間の距離の変化、特定の道路区分に沿った道路の曲率の変化等の路面情報の変化と関連付けられ得る。図11Dは、道路シグネチャプロファイル1160の例を示す。プロファイル1160は、上記のパラメータのいずれか、又は他のパラメータを表し得るが、一例では、プロファイル1160は、例えば、車両が特定の道路区分を走行するときのサスペンション変位の量を示す出力を提供する1つ又は複数のセンサを監視することによって得られる、路面粗さの測度を表し得る。
或いは、又は同時に、プロファイル1160は、特定の道路区分を走行する車両に搭載されるカメラを介して取得される画像データに基づいて決定された、道路幅の変化を表し得る。そのようなプロファイルは、例えば、特定の目標軌道に対する自律車両の特定の位置を決定するのに有用であり得る。すなわち、自律車両が道路区分を横断するとき、自律車両は、道路区分に関連付けられた1つ又は複数のパラメータに関連付けられたプロファイルを測定し得る。測定されるプロファイルを、道路区分に沿った位置に関してパラメータの変化をプロットする所定のプロファイルと相関/一致させることができる場合、道路区分に沿った現在の位置、従って、道路区分の目標軌道に対する現在の位置を決定するために、(例えば、測定される所定のプロファイルの対応する区域を重なり合わせることによって)測定される所定のプロファイルを使用し得る。
幾つかの実施形態では、疎なマップ800は、自律車両のユーザ、環境条件、及び/又は走行に関連する他のパラメータに関連付けられた異なる特性に基づく異なる軌道を含み得る。例えば、幾つかの実施形態では、異なるユーザの好み及び/又はプロファイルに基づいて、異なる軌道が生成され得る。そのような異なる軌道を含む疎なマップ800は、異なるユーザの異なる自律車両に提供され得る。例えば、一部のユーザは有料道路を避ける方を好み得るが、他のユーザは、ルートに有料道路があるか否かに関係なく、最短又は最速のルートを取ることを好み得る。開示されるシステムは、そのような異なるユーザの好み又はプロファイルに基づいて、異なる軌道を有する異なる疎なマップを生成し得る。別の例として、一部のユーザは高速で移動するレーンを走行することを好み得るが、他のユーザは常に中央レーンの位置を維持することを好み得る。
異なる軌道は、昼及び夜、雪、雨、霧等の異なる環境条件に基づいて生成され、疎なマップ800に含まれ得る。異なる環境条件で走行する自律車両は、そのような異なる環境条件に基づいて生成される疎なマップ800を提供し得る。幾つかの実施形態では、自律車両に提供されるカメラは、環境条件を検出し得て、疎なマップを生成及び提供するサーバにそのような情報を提供し得る。例えば、サーバは、既に生成される疎なマップ800を生成又は更新して、検出される環境条件下での自律走行により適し得る又はより安全であり得る軌道を含み得る。環境条件に基づく疎なマップ800の更新は、自律車両が道路に沿って走行しているときに動的に実行され得る。
走行に関連する他の異なるパラメータも、異なる自律車両に異なる疎なマップを生成及び提供するための基礎として使用され得る。例えば、自律車両が高速で走行している場合、旋回が困難になり得る。自律車両が特定の軌道を進むときに、その車両が特定のレーン内を維持し得るように、道路ではなく特定のレーンに関連付けられた軌道を疎なマップ800に含め得る。自律車両に搭載されるカメラによって撮像された画像が、車両がレーンの外側にドリフトした(例えば、レーンマークを越えた)ことを示している場合、特定の軌道に従って車両を指定されるレーンに戻すために、車両内で動作がトリガーされ得る。
疎なマップのクラウドソーシング
幾つかの実施形態では、開示されるシステム及び方法は、自律車両ナビゲーションのために疎なマップを生成し得る。例えば、開示されるシステム及び方法は、クラウドソーシングされるデータを使用して、1つ又は複数の自律車両が道路のシステムに沿ってナビゲートするために使用し得る疎なマップを生成し得る。本明細書で使用される「クラウドソーシング」は、異なる時間に道路区分を走行する様々な車両(例えば、自律車両)からデータを受信し、そのようなデータを使用して道路モデルを生成及び/又は更新することを意味する。次に、モデルは、自律車両のナビゲーションを支援するために、後に道路区分に沿って走行する車両又は他の車両に送信され得る。道路モデルは、自律車両が道路区分を横断するときに進むべき好ましい軌道を表す複数の目標軌道を含み得る。目標軌道は、道路区分を横断する車両から収集される再構築される実際の軌道と同じであり得て、車両からサーバに送信され得る。幾つかの実施形態では、目標軌道は、1つ又は複数の車両が道路区分を横断するときに以前に取った実際の軌道と異なり得る。目標軌道は、実際の軌道に基づいて(例えば、平均化又は任意の他の適切な動作によって)生成され得る。
車両がサーバにアップロードし得る車両軌道データは、車両の実際の再構築される軌道に対応し得るか、又は車両の実際の再構築される軌道に基づき得るか又は関連し得るが、実際に再構築される軌道とは異なり得る、推奨軌道に対応し得る。例えば、車両は、実際の再構築される軌道を修正し、修正される実際の軌道をサーバに送信(例えば、推奨)し得る。道路モデルは、他の車両の自律ナビゲーションの目標軌道として、推奨される修正される軌道を使用し得る。
軌道情報に加えて、疎なデータマップ800を構築する際に潜在的に使用するための他の情報は、潜在的な陸標候補に関連する情報を含み得る。例えば、情報のクラウドソーシングにより、開示されるシステム及び方法は、環境内の潜在的な陸標を識別し、陸標の位置を洗練し得る。陸標は、目標軌道に沿った車両の位置を決定及び/又は調整するために、自律車両のナビゲーションシステムによって使用され得る。
車両が道路に沿って走行するときに車両が生成し得る再構築される軌道は、任意の適切な方法によって取得され得る。幾つかの実施形態では、再構築される軌道は、例えば、エゴモーション推定(例えば、カメラ、ひいては車両の本体の3次元並進及び3次元回転)を使用して、車両の運動の区分をつなぎ合わせることによって開発され得る。回転及び並進の推定は、慣性センサ及び速度センサ等の他のセンサ又はデバイスからの情報と共に、1つ又は複数の撮像デバイスによって撮像された画像の分析に基づいて決定され得る。例えば、慣性センサは、車両本体の並進及び/又は回転の変化を測定するように構成される加速度計又は他の適切なセンサを含み得る。車両は、車両の速度を測定する速度センサを含み得る。
幾つかの実施形態では、カメラ(ひいては、車両本体)のエゴモーションは、撮像された画像の光学フロー分析に基づいて推定され得る。一連の画像の光学フロー分析は、一連の画像からピクセルの移動を識別し、識別される移動に基づいて、車両の動きを決定する。エゴモーションは、道路区分に沿って経時的に積分され、車両が通った道路区分に関連付けられた軌道を再構築し得る。
異なる時間に道路区分に沿った複数の走行で複数の車両によって収集されるデータ(例えば、再構築される軌道)を使用して、疎なデータマップ800に含まれる道路モデル(例えば、目標軌道等を含む)を構築し得る。モデルの精度を高めるために、異なる時間に道路区分に沿った複数の走行で複数の車両によって収集されるデータも平均化され得る。幾つかの実施形態では、道路のジオメトリ及び/又は陸標に関するデータは、異なる時間に共通の道路区分を走行する複数の車両から受信され得る。異なる車両から受信されるそのようなデータを組み合わせて、道路モデルを生成及び/又は道路モデルを更新し得る。
道路区分に沿った再構築される軌道(及び目標軌道)のジオメトリは、3次元多項式を接続するスプラインであり得る、3次元空間の曲線で表し得る。再構成される軌道曲線は、ビデオストリーム又は車両に取り付けられたカメラによって撮像される複数の画像の分析から決定し得る。幾つかの実施形態では、位置は、車両の現在の位置より数メートル先の各フレーム又は画像で識別される。この位置は、車両が所定の期間内に走行すると予期される場所である。この動作はフレームごとに繰り返し得て、同時に、車両はカメラのエゴモーション(回転及び並進)を計算し得る。各フレーム又は画像で、カメラに取り付けられた参照フレーム内の車両によって、所望の経路の短距離モデルが生成される。短距離モデルをつなぎ合わせて、任意の座標フレーム又は所定の座標フレームであり得る、座標フレーム内の道路の3次元モデルを取得し得る。次いで、道路の3次元モデルは、適切な次数の1つ又は複数の多項式を含み得る又は接続し得るスプラインによってフィットされ得る。
各フレームで短距離道路モデルを結論付けるために、1つ又は複数の検出モジュールを使用し得る。例えば、ボトムアップレーン検出モジュールを使用し得る。ボトムアップレーン検出モジュールは、レーンマークが道路に描かれている場合に有用であり得る。このモジュールは、画像内の端部を探し、それらを共に組み立ててレーンマークを形成し得る。第2のモジュールは、ボトムアップレーン検出モジュールと一緒に使用し得る。第2のモジュールは、入力画像から正しい短距離経路を予測するようにトレーニングし得る、エンドツーエンドのディープニューラルネットワークである。どちらのモジュールでも、道路モデルは画像座標フレームで検出され、カメラに仮想的に接続され得る3次元空間に変換され得る。
再構築される軌道モデリング手法は、雑音成分を含み得る、長期間にわたるエゴモーションの積分により、誤差の蓄積をもたらし得るが、生成されるモデルがローカルスケールでのナビゲーションに十分な精度を提供し得るため、そのような誤差は重要となり得ない。加えて、衛星画像又は測地測定等の外部情報源を使用して、積分誤差を取り消すことができる。例えば、開示されるシステム及び方法は、累積誤差を取り消すためにGNSS受信機を使用し得る。しかし、GNSS測位信号が常に利用可能で正確であるとは限らない。開示されるシステム及び方法は、GNSS測位の可用性及び精度に弱く依存する操舵アプリケーションを可能にし得る。そのようなシステムでは、GNSS信号の使用が制限され得る。例えば、幾つかの実施形態では、開示されるシステムは、データベースのインデックス作成の目的でのみGNSS信号を使用し得る。
幾つかの実施形態では、自律車両ナビゲーション操舵アプリケーションに関連し得る範囲スケール(例えば、ローカルスケール)は、50メートルほど、100メートルほど、200メートルほど、300メートルほど等であり得る。ジオメトリの道路モデルは、主に前方の軌道を計画すること、及び道路モデル上で車両の位置を特定することの2つの目的で使用されるため、そのような距離を使用し得る。幾つかの実施形態では、制御アルゴリズムが1.3秒先(又は1.5秒、1.7秒、2秒等の任意の他の時間)に位置する目標点に従って車両を操舵するとき、計画タスクは、40メートル先(又は20メートル、30メートル、50メートル等の任意の他の適切な前方距離)の典型的な範囲にわたってモデルを使用し得る。位置特定タスクでは、別の節でより詳細に説明する「テールアラインメント」と呼ばれる方法に従って、車の後ろ60メートルの典型的な範囲(又は50メートル、100メートル、150メートル等の任意の他の適切な距離)にわたって道路モデルを使用する。開示されるシステム及び方法は、計画される軌道が、例えば、レーン中心から30cmを超えて逸脱しないように、100メートル等の特定の範囲にわたって十分な精度を有するジオメトリのモデルを生成し得る。
上述したように、3次元道路モデルは、短距離セクションを検出し、それらをつなぎ合わせることから構築され得る。つなぎ合わせることは、カメラによって撮像されるビデオ及び/又は画像、車両の動きを反映する慣性センサからのデータ、及びホスト車両の速度信号を使用して、6度のエゴモーションモデルを計算することによって可能になり得る。累積誤差は、100メートルほど等の一部のローカル範囲スケールでは十分に小さくなり得る。この範囲スケール全てで、特定の道路区分は単一走行で完了させ得る。
幾つかの実施形態では、複数の走行を使用して、結果のモデルを平均化し、その精度を更に高め得る。同じ車が同じルートを複数回走行し得るか、又は複数の車が収集したモデルデータを中央サーバに送信し得る。いずれの場合も、マッチング手順を実行して、重複するモデルを識別し、目標軌道を生成するために平均化を有効にでき得る。構築されるモデル(例えば、目標軌道を含む)は、収束基準が満たされると、操舵に使用され得る。後の走行は、モデルを更に改善するため、及びインフラストラクチャの変更に対応するために使用され得る。
複数の車が中央サーバに接続されている場合、複数の車間での走行経験(検知データ等)の共有が可能になる。各車両クライアントは、現在の位置に関連し得る普遍的道路モデルの部分的なコピーを記憶し得る。車両とサーバとの間の双方向の更新手順は、車両及びサーバによって実行され得る。上で論じた小さなフットプリントの概念は、開示されるシステム及び方法が非常に狭い帯域幅を使用して双方向更新を実行することを可能にする。
潜在的な陸標に関連する情報も決定され、中央サーバに転送され得る。例えば、開示されるシステム及び方法は、陸標を含む1つ又は複数の画像に基づいて、潜在的な陸標の1つ又は複数の物理的特性を決定し得る。物理的特性は、陸標の物理的サイズ(例えば、高さ、幅)、車両から陸標までの距離、陸標から前の陸標までの距離、陸標の横方向の位置(例えば、走行レーンに対する陸標の位置)、陸標のGPS座標、陸標のタイプ、陸標上のテキストの識別等を含み得る。例えば、車両は、カメラによって撮像される1つ又は複数の画像を分析して、制限速度標識等の潜在的な陸標を検出し得る。
車両は、1つ又は複数の画像の分析に基づいて、車両から陸標までの距離を決定し得る。幾つかの実施形態では、距離は、スケーリング法及び/又は光学フロー法等の適切な画像分析方法を使用した陸標の画像の分析に基づいて決定し得る。幾つかの実施形態では、開示されるシステム及び方法は、潜在的な陸標のタイプ又は分類を決定するように構成され得る。特定の潜在的な陸標が疎なマップに記憶される所定のタイプ又は分類に対応すると車両が判断した場合、車両は、陸標のタイプ又は分類の表示をその位置と共にサーバに通信するだけで十分であり得る。サーバはそのような表示を記憶し得る。後に、他の車両が陸標の画像を撮像し、画像を処理し(例えば、分類子を使用して)、画像を処理した結果を、サーバに記憶される陸標のタイプに関する表示と比較し得る。様々なタイプの陸標が存在し得て、異なるタイプの陸標が、サーバにアップロード及び記憶される異なるタイプのデータに関連付けられ得て、車両に搭載される異なる処理により、陸標が検出され、陸標に関する情報がサーバに伝達され得て、車両に搭載されるシステムは、サーバから陸標データを受信し、陸標データを使用して自律ナビゲーションで陸標を識別し得る。
幾つかの実施形態では、道路区分上を走行する複数の自律車両は、サーバと通信し得る。車両(又はクライアント)は、任意の座標フレームでその走行を説明する曲線を生成し得る(例えば、エゴモーション積分によって)。車両は陸標を検出し、同じフレーム内に配置し得る。車両は曲線及び陸標をサーバにアップロードし得る。サーバは、複数の走行にわたり車両からデータを収集し、統一される道路モデルを生成し得る。例えば、図19に関して以下で論じるように、サーバは、アップロードされる曲線及び陸標を使用して、統一される道路モデルを有する疎なマップを生成し得る。
サーバはまた、モデルをクライアント(例えば、車両)に配信し得る。例えば、サーバは疎なマップを1つ又は複数の車両に配信し得る。サーバは、車両から新しいデータを受信すると、モデルを継続的又は定期的に更新し得る。例えば、サーバは新しいデータを処理して、サーバ上での更新又は新しいデータの作成をトリガーすべき情報がデータに含まれているか否かを評価し得る。サーバは、自律車両のナビゲーションを提供するために、更新されるモデル又は更新を車両に配信し得る。
サーバは、車両から受信される新しいデータが、モデルの更新をトリガーすべきか、又は新しいデータの作成をトリガーすべきかを決定するために、1つ又は複数の基準を使用し得る。例えば、特定の位置で以前に認識される陸標が存在しないか、又は別の陸標に置き換えられたことを新しいデータが示す場合、サーバは新しいデータがモデルの更新をトリガーすべきであると判断し得る。別の例として、道路区分が閉鎖されることを新しいデータが示している場合、及びこれが他の車両から受信されるデータによって裏付けられている場合、サーバは新しいデータがモデルの更新をトリガーすべきであると判断し得る。
サーバは、更新されるモデル(又はモデルの更新される部分)を、モデルへの更新が関連付けられている道路区分を走行している1つ又は複数の車両に配信し得る。サーバはまた、モデルへの更新が関連付けられている、道路区分を走行しようとしている車両、又は道路区分を含む計画される走行の車両に、更新されるモデルを配信し得る。例えば、更新が関連付けられている道路区分に到達する前に、自律車両が別の道路区分に沿って走行している間、サーバは、車両が道路区分に到達する前に、更新又は更新されるモデルを自律車両に配信し得る。
幾つかの実施形態では、遠隔サーバは、複数のクライアント(例えば、共通の道路区分に沿って走行する車両)から軌道及び陸標を収集し得る。サーバは、陸標を使用して曲線を照合し、複数の車両から収集される軌道に基づいて平均的な道路モデルを作成し得る。サーバはまた、道路のグラフ及び道路区分の各ノード又は結合点で最も可能性の高い経路を計算し得る。例えば、遠隔サーバは軌道を位置合わせして、収集される軌道からクラウドソーシングされる疎なマップを生成し得る。
サーバは、弧長パラメータを決定し、各クライアント車両の経路に沿った位置特定及び速度校正をサポートするために、複数の車両によって測定される、ある陸標から別の陸標(例えば、道路区分に沿った前の陸標)まで間の距離等、共通の道路区分に沿って走行する複数の車両から受信される陸標プロパティを平均化し得る。サーバは、共通の道路区分に沿って走行し、同じ陸標を認識した複数の車両によって測定される陸標の物理的寸法を平均化し得る。平均化される物理的寸法を使用して、車両から陸標までの距離等の距離推定をサポートし得る。サーバは、共通の道路区分に沿って走行し、同じ陸標を認識した複数の車両によって測定される、陸標の横方向の位置(例えば、車両が走行しているレーンから陸標までの位置)を平均化し得る。平均化される横方向の位置を使用して、レーンの割り当てをサポートし得る。サーバは、同じ道路区分に沿って走行し、同じ陸標を認識した複数の車両によって測定される陸標のGPS座標を平均化し得る。陸標の平均化されるGPS座標を使用して、道路モデル内の陸標のグローバルローカリゼーション又は位置決めをサポートし得る。
幾つかの実施形態では、サーバは、車両から受信されるデータに基づいて、工事、迂回、新しい標識、標識の除去等のモデル変更を識別し得る。サーバは、車両から新しいデータを受信すると、モデルを継続的又は定期的又は瞬時に更新し得る。サーバは、自律ナビゲーションを提供するために、モデルの更新又は更新されるモデルを車両に配信し得る。例えば、以下で更に論じるように、サーバはクラウドソーシングされるデータを使用して、車両によって検出される「ゴースト」陸標を除外し得る。
幾つかの実施形態では、サーバは、自律走行中のドライバーの介入を分析し得る。サーバは、介入が発生する時間及び位置で車両から受信されるデータ、及び/又は介入が発生する時間より前に受信されるデータを分析し得る。サーバは、介入を引き起こした、又は介入に密接に関連するデータの特定の部分、例えば、一時的なレーン閉鎖設定を示すデータ、道路の歩行者を示すデータを識別し得る。サーバは、識別されるデータに基づいてモデルを更新し得る。例えば、サーバはモデルに記憶されている1つ又は複数の軌道を修正し得る。
図12は、クラウドソーシングを使用して疎なマップを生成する(並びに、クラウドソーシングされる疎なマップを使用して配信及びナビゲートする)システムの概略図である。図12は、1つ又は複数のレーンを含む道路区分1200を示す。複数の車両1205、1210、1215、1220、及び1225は、道路区分1200上を同時に又は異なる時間に走行し得る(ただし、図12では同時に道路区分1200に現れるように示す)。車両1205、1210、1215、1220、及び1225のうちの少なくとも1つは、自律車両であり得る。本実施例を簡単にするために、車両1205、1210、1215、1220、及び1225の全てが自律車両であると仮定する。
各車両は、他の実施形態で開示される車両(例えば、車両200)と同様であり得て、他の実施形態で開示される車両に含まれる、又は関連付けられた構成要素又はデバイスを含み得る。各車両は、撮像デバイス又はカメラ(例えば、撮像デバイス122又はカメラ122)を装備し得る。各車両は、点線で示すように、無線通信経路1235を通じて、1つ又は複数のネットワーク(例えば、セルラネットワーク及び/又はインターネット等を介して)を介して遠隔サーバ1230と通信し得る。各車両は、サーバ1230にデータを送信し、サーバ1230からデータを受信し得る。例えば、サーバ1230は、道路区分1200を異なる時間に走行する複数の車両からデータを収集し得て、収集したデータを処理して、自律車両道路ナビゲーションモデル又はモデルの更新を生成し得る。サーバ1230は、自律車両道路ナビゲーションモデル又はモデルの更新を、サーバ1230にデータを送信した車両に送信し得る。サーバ1230は、自律車両道路ナビゲーションモデル又はモデルの更新を、後に道路区分1200を走行する他の車両に送信し得る。
車両1205、1210、1215、1220、及び1225が道路区分1200を走行するとき、車両1205、1210、1215、1220、及び1225によって収集(例えば、検出、検知、又は測定)されるナビゲーション情報は、サーバ1230に送信され得る。幾つかの実施形態では、ナビゲーション情報は、共通の道路区分1200に関連付けられ得る。ナビゲーション情報は、各車両が道路区分1200上を走行するときに、車両1205、1210、1215、1220、及び1225のそれぞれに関連付けられた軌道を含み得る。幾つかの実施形態では、軌道は、車両1205に提供される様々なセンサ及びデバイスによって検知されるデータに基づいて再構築され得る。例えば、加速度計データ、速度データ、陸標データ、道路のジオメトリ又はプロファイルデータ、車両位置データ、及びエゴモーションデータのうちの少なくとも1つに基づいて軌道を再構築し得る。幾つかの実施形態では、軌道は、加速度計等の慣性センサからのデータ、及び速度センサによって検知される車両1205の速度に基づいて再構築され得る。更に、幾つかの実施形態では、軌道は、3次元並進及び/又は3次元回転(又は回転運動)を示し得る、検知されるカメラのエゴモーションに基づいて(例えば、車両1205、1210、1215、1220、及び1225のそれぞれに搭載されるプロセッサによって)決定され得る。カメラ(ひいては、車両本体)のエゴモーションは、カメラによって撮像される1つ又は複数の画像の分析から決定され得る。
幾つかの実施形態では、車両1205の軌道は、車両1205に搭載されるプロセッサによって決定され、サーバ1230に送信され得る。他の実施形態では、サーバ1230は、車両1205に搭載される様々なセンサ及びデバイスによって検知されるデータを受信し、車両1205から受信されるデータに基づいて軌道を決定し得る。
幾つかの実施形態では、車両1205、1210、1215、1220、及び1225からサーバ1230に送信されるナビゲーション情報は、路面、道路のジオメトリ、又は道路プロファイルに関するデータを含み得る。道路区分1200のジオメトリは、レーン構造及び/又は陸標を含み得る。レーン構造は、道路区分1200のレーンの総数、レーンタイプ(例えば、単方向レーン、双方向レーン、走行レーン、追越レーン等)、レーン上のマーク、レーン幅、等を含み得る。幾つかの実施形態では、ナビゲーション情報は、レーン割り当て、例えば、車両が複数のレーンのうちどのレーンを走行しているかを含み得る。例えば、レーン割り当てには、車両が左又は右から第3のレーンを走行していることを示す数値「3」が関連付けられ得る。別の例として、レーン割り当てには、車両が中央レーンを走行していることを示すテキスト値「中央レーン」が関連付けられ得る。
サーバ1230は、ナビゲーション情報を、ハードドライブ、コンパクトディスク、テープ、メモリ等の非一時的コンピュータ可読媒体に記憶し得る。サーバ1230は、複数の車両1205、1210、1215、1220、及び1225から受信されるナビゲーション情報に基づいて、共通の道路区分1200の自律車両道路ナビゲーションモデルの少なくとも一部を(例えば、サーバ1230に含まれるプロセッサを介して)生成し得て、モデルを疎なマップの一部として記憶し得る。サーバ1230は、道路区分のレーンを異なる時間に走行する複数の車両(例えば、1205、1210、1215、1220、及び1225)から受信されるクラウドソースデータ(例えば、ナビゲーション情報)に基づいて、各レーンに関連付けられる軌道を決定し得る。サーバ1230は、クラウドソーシングナビゲーションデータに基づいて決定された複数の軌道に基づいて、自律車両道路ナビゲーションモデル又はモデルの一部(例えば、更新される部分)を生成し得る。サーバ1230は、モデル又はモデルの更新される部分を、道路区分1200を走行する自律車両1205、1210、1215、1220、及び1225又は車両のナビゲーションシステムに提供されている既存の自律車両道路ナビゲーションモデルを更新するために後で道路区分を走行する任意の他の自律車両のうちの1つ又は複数に送信し得る。自律車両道路ナビゲーションモデルは、自律車両が共通の道路区分1200に沿って自律的にナビゲートする際に使用され得る。
上述したように、自律車両道路ナビゲーションモデルは、疎なマップ(例えば、図8に示す疎なマップ800)に含まれ得る。疎なマップ800は、道路のジオメトリ及び/又は道路に沿った陸標に関連するデータの疎な記録を含み得て、自律車両の自律ナビゲーションを誘導するのに十分な情報を提供し得るが、過度のデータストレージを必要としない。幾つかの実施形態では、自律車両道路ナビゲーションモデルは、疎なマップ800とは別個に記憶され得て、モデルがナビゲーションのために実行されるとき、疎なマップ800からのマップデータを使用し得る。幾つかの実施形態では、自律車両道路ナビゲーションモデルは、自律車両1205、1210、1215、1220、及び1225又は後に道路区分1200に沿って走行する他の車両の自律ナビゲーションを誘導するために道路区分1200に沿った目標軌道を決定するために、疎なマップ800に含まれるマップデータを使用し得る。例えば、自律車両道路ナビゲーションモデルが、車両1205のナビゲーションシステムに含まれるプロセッサによって実行されるとき、モデルは、プロセッサに、車両1205から受信されるナビゲーション情報に基づいて決定された軌道を、疎なマップ800に含まれる所定の軌道と比較させて、車両1205の現在の走行コースを検証及び/又は修正し得る。
自律車両道路ナビゲーションモデルでは、道路特徴又は目標軌道のジオメトリは、3次元空間内の曲線によって符号化され得る。1つの実施形態では、曲線は、1つ又は複数の接続3次元多項式を含む3次元スプラインであり得る。当業者が理解するように、スプラインは、データをフィッティングするための一連の多項式によって区分的に定義される数値関数であり得る。道路の3次元ジオメトリデータをフィッティングするためのスプラインは、線形スプライン(1次)、2次スプライン(2次)、3次スプライン(3次)、又は任意の他のスプライン(他の次数)、又はそれらの組み合わせを含み得る。スプラインは、道路の3次元ジオメトリデータのデータポイントを接続(例えば、フィッティング)する異なる次数の1つ又は複数の3次元多項式を含み得る。幾つかの実施形態では、自律車両道路ナビゲーションモデルは、共通の道路区分(例えば、道路区分1200)又は道路区分1200のレーンに沿った目標軌道に対応する3次元スプラインを含み得る。
上述したように、疎なマップに含まれる自律車両道路ナビゲーションモデルは、道路区分1200に沿った少なくとも1つの陸標の識別等、他の情報を含み得る。陸標は、車両1205、1210、1215、1220、及び1225のそれぞれに設置されるカメラ(例えば、カメラ122)の視野内に見え得る。幾つかの実施形態では、カメラ122は、陸標の画像を撮像し得る。車両1205に設けられたプロセッサ(例えば、プロセッサ180、190、又は処理ユニット110)は、陸標の画像を処理して、陸標の識別情報を抽出し得る。陸標の実際の画像ではなく、陸標識別情報が疎なマップ800に記憶され得る。陸標識別情報は、実際の画像よりもはるかに少ない記憶領域になり得る。他のセンサ又はシステム(例えば、GPSシステム)も、陸標の特定の識別情報(例えば、陸標の位置)を提供し得る。陸標は、交通標識、矢印マーク、レーンマーク、破線レーンマーク、信号機、一時停止線、方向標識(例えば、方向を示す矢印が付いた高速道路の出口標識、異なる方向又は場所を指している矢印が付いた高速道路の標識)、陸標ビーコン、又は街灯柱のうちの少なくとも1つを含み得る。陸標ビーコンは、車両に設置される受信機に信号を送信又は反射する道路区分に沿って設置されるデバイス(例えば、RFIDデバイス)を指し、そのため、車両がそのデバイスのそばを通過したときに、車両によって受信されるビーコン及びデバイスの位置(例えば、デバイスのGPS位置から決定された)は、自律車両道路ナビゲーションモデル及び/又は疎なマップ800に含まれる陸標として使用され得る。
少なくとも1つの陸標の識別は、少なくとも1つの陸標の位置を含み得る。陸標の位置は、複数の車両1205、1210、1215、1220、及び1225に関連付けられたセンサシステム(例えば、全地球測位システム、慣性ベースの測位システム、陸標ビーコン等)を使用して実行される位置測定に基づいて決定され得る。幾つかの実施形態では、陸標の位置は、複数の走行を通じて異なる車両1205、1210、1215、1220、及び1225上のセンサシステムによって検出、収集、又は受信される位置測定値を平均化することによって決定され得る。例えば、車両1205、1210、1215、1220、及び1225は、位置測定データをサーバ1230に送信し得て、サーバ1230は、位置測定を平均化し、平均位置測定を陸標の位置として使用し得る。陸標の位置は、後の走行で車両から受信される測定値によって継続的に洗練させ得る。
陸標の識別は、陸標のサイズを含み得る。車両(例えば、1205)に提供されるプロセッサは、画像の分析に基づいて陸標の物理的サイズを推定し得る。サーバ1230は、異なる走行を介して異なる車両から同じ陸標の物理的サイズの複数の推定値を受信し得る。サーバ1230は、異なる推定値を平均化して陸標の物理的なサイズに至り、その陸標のサイズを道路モデルに記憶し得る。物理的サイズの推定値を使用して、車両から陸標までの距離を更に決定又は推定し得る。陸標までの距離は、車両の現在の速度及びカメラの拡大焦点に対する画像内に現れる陸標の位置に基づく拡大のスケールに基づいて推定され得る。例えば、陸標までの距離は、Z=V×dt×R/Dで推定し得て、ここで、Vは車両の速度、Rは時刻t1の陸標から拡大焦点までの画像内の距離、Dはt1からt2までの画像内の陸標の距離の変化であり、dtは(t2-t1)を表す。例えば、陸標までの距離は、Z=V×dt×R/Dで推定し得て、ここで、Vは車両の速度、Rは陸標と拡大焦点との間の画像内の距離、dtは時間間隔であり、Dはエピポーラ線に沿った陸標の画像変位である。Z=V×ω/Δω等、上記の式及び同等の他の式を使用して、陸標までの距離を推定し得る。ここで、Vは車両の速度、ωは画像の長さ(物体幅等)、Δωはその画像の長さの単位時間当たりの変化である。
陸標の物理的なサイズがわかっている場合、陸標までの距離も次の式に基づいて決定し得る。Z=f×W/ω、ここで、fは焦点距離、Wは陸標のサイズ(例えば、高さ又は幅)、ωは陸標がその画像を通り過ぎるときのピクセル数である。上記の式から、距離Zの変化は、ΔZ=f×W×Δω/ω+f×ΔW/ωを使用して計算し得て、ここで、ΔWは平均化によってゼロに減衰し、Δωは画像内のバウンディングボックスの精度を表すピクセル数である。陸標の物理サイズを推定する値は、サーバ側で複数の観測値を平均化することで計算し得る。距離推定の結果として生じる誤差は、非常に小さくなり得る。上記の式を使用するときに発生し得る2つの誤差源、すなわち、ΔW及びΔωがある。距離誤差への寄与は、ΔZ=f×W×Δω/ωf×ΔW/ωによって与えられる。ただし、ΔWは平均化によってゼロに減衰する。従って、ΔZはΔω(例えば、画像のバウンディングボックスの不正確さ)によって決定される。
未知の寸法の陸標の場合、陸標までの距離は、連続するフレーム間で陸標上の特徴点を追跡することによって推定され得る。例えば、速度制限標識に表示する特定の特徴は、2つ以上の画像フレーム間で追跡し得る。これらの追跡される特徴に基づいて、特徴点ごとの距離分布が生成され得る。距離推定値は、距離分布から抽出し得る。例えば、距離分布に現れる最も頻度の高い距離を距離推定値として使用し得る。別の例として、距離分布の平均を距離推定値として使用し得る。
図13は、複数の3次元スプライン1301、1302、及び1303によって表される例示的な自律車両道路ナビゲーションモデルを示す。図13に示す曲線1301、1302、及び1303は、例示の目的のためだけのものである。各スプラインは、複数のデータポイント1310を接続する1つ又は複数の3次元多項式を含み得る。各多項式は、1次多項式、2次多項式、3次多項式、又は異なる次数を有する任意の適切な多項式の組み合わせであり得る。各データポイント1310は、車両1205、1210、1215、1220、及び1225から受信されるナビゲーション情報に関連付けられ得る。幾つかの実施形態では、各データポイント1310は、陸標(例えば、サイズ、位置、及び陸標の識別情報)及び/又は道路シグネチャプロファイル(例えば、道路のジオメトリ、道路粗さプロファイル、道路曲率プロファイル、道路幅プロファイル)に関連するデータに関連付けられ得る。幾つかの実施形態では、幾つかのデータポイント1310は、陸標に関連するデータに関連付けられ得て、他のデータポイントは、道路シグネチャプロファイルに関連するデータに関連付けられ得る。
図14は、5つの別個の走行から受信される生の位置データ1410(例えば、GPSデータ)を示す。別個の車両が同時に横断した場合、同じ車両が別個の時間に横断した場合、又は別個の車両が別個の時間に横断した場合、ある走行は別の走行とは別個であり得る。位置データ1410の誤差、及び同じレーン内の車両の異なる位置(例えば、ある車両が別の車両よりもレーンの左側に近づき得る)を考慮するために、遠隔サーバ1230は、1つ又は複数の統計的技法を使用してマップスケルトン1420を生成し、生の位置データ1410の変化が実際の逸脱又は統計的誤差を表しているか否かを判断し得る。スケルトン1420内の各経路は、その経路を形成した生データ1410にリンクし直し得る。例えば、スケルトン1420内のAとBとの間の経路は、走行2、3、4、及び5からの生データ1410にリンクされているが、走行1からはリンクされていない。スケルトン1420は、(例えば、上述したスプラインとは異なり、同じ道路上の複数のレーンからの走行を組み合わせるため)車両のナビゲートに使用するには十分詳細ではないことがあり得るが、有用なトポロジ情報を提供し得て、交差点を定義するために使用し得る。
図15は、マップスケルトンの区分(例えば、スケルトン1420内の区分AからB)内の疎なマップに対して追加の詳細を生成し得る例を示す。図15に示すように、データ(例えば、エゴモーションデータ、道路マークデータ等)は、走行に沿った位置S(又はSもしくはS)の関数として示し得る。サーバ1230は、走行1510の陸標1501、1503、及び1505と、走行1520の陸標1507及び1509との間の一意の一致を識別することによって、疎なマップの陸標を識別し得る。そのような一致アルゴリズムは、陸標1511、1513、及び1515の識別につながり得る。しかし、他の一致アルゴリズムを使用し得ることを当業者は認識されよう。例えば、確率の最適化は、一意の一致の代わりに、又は一意の一致と組み合わせて使用され得る。サーバ1230は、走行を縦方向に位置合わせして、一致した陸標を位置合わせし得る。例えば、サーバ1230は、一方の走行(例えば、走行1520)を基準走行として選択し、次に、位置合わせのために他方の走行(例えば、走行1510)をシフト及び/又は弾性的に伸張し得る。
図16は、疎なマップで使用するための位置合わせされる陸標データの例を示す。図16の例では、陸標1610は道路標識を含む。図16の例は、複数の走行1601、1603、1605、1607、1609、1611、及び1613からのデータを更に示す。図16の例では、走行1613からのデータは「ゴースト」陸標で構成され、走行1601、1603、1605、1607、1609、及び1611のいずれも走行1613内の識別される陸標の近傍にある陸標の識別を含まないため、サーバ1230は陸標を「ゴースト」と識別し得る。従って、サーバ1230は、陸標が現れない画像に対する陸標が現れる画像の比率が閾値を超える場合、潜在的な陸標を受け入れ得て、及び/又は、陸標が現れる画像に対する陸標が現れない画像の比率が閾値を超える場合、潜在的な陸標を拒否し得る。
図17は、疎なマップをクラウドソーシングするために使用し得る、走行データを生成するためのシステム1700を示す。図17に示すように、システム1700は、カメラ1701及び位置特定デバイス1703(例えば、GPSロケータ)を含み得る。カメラ1701及び位置特定デバイス1703は、車両(例えば、車両1205、1210、1215、1220、及び1225のうちの1つ)に搭載され得る。カメラ1701は、複数のタイプの複数のデータ、例えば、エゴモーションデータ、交通標識データ、道路データ等を生成し得る。カメラデータ及び位置データは、走行区分1705に区分され得る。例えば、走行区分1705はそれぞれ、1km未満の走行のカメラデータ及び位置データを有し得る。
幾つかの実施形態では、システム1700は、走行区分1705の冗長性を除去し得る。例えば、カメラ1701からの複数の画像に陸標が現れる場合、走行区分1705が陸標の位置及び陸標に関連する任意のメタデータの1つのコピーのみを含むように、システム1700は冗長データを取り除き得る。更なる例として、カメラ1701からの複数の画像にレーンマークが現れる場合、走行区分1705がレーンマークの位置及びレーンマークに関連する任意のメタデータの1つのコピーのみを含むように、システム1700は冗長データを取り除き得る。
システム1700はまた、サーバ(例えば、サーバ1230)を含む。サーバ1230は、車両から走行区分1705を受信し、走行区分1705を単一の走行1707に再結合し得る。このような配置により、車両とサーバとの間でデータを転送するときの帯域幅要件を減し得て、サーバが走行全体に関連するデータも記憶し得る。
図18は、疎なマップをクラウドソーシングするために更に構成される図17のシステム1700を示す。図17のように、システム1700は、例えば、カメラ(例えば、エゴモーションデータ、交通標識データ、道路データ等を生成する)及び位置特定デバイス(例えば、GPSロケータ)を使用して走行データを撮像する車両1810を含む。図17のように、車両1810は、収集したデータを走行区分(図18では「DS1 1」、「DS2 1」、「DSN 1」として示す)に区分する。次いで、サーバ1230は、走行区分を受信し、受信される区分から走行(図18に「走行1」として示す)を再構築する。
図18に更に示すように、システム1700はまた、追加の車両からデータを受信する。例えば、車両1820はまた、例えば、カメラ(例えば、エゴモーションデータ、交通標識データ、道路データ等を生成する)及び位置特定デバイス(例えば、GPSロケータ)を使用して走行データを撮像する。車両1810と同様に、車両1820は、収集されるデータを走行区分(図18では「DS1 2」、「DS2 2」、「DSN 2」として示す)に区分する。次いで、サーバ1230は、走行区分を受信し、受信される区分から走行(図18に「走行2」として示す)を再構築する。追加の車両は何台でも使用し得る。例えば、図18は、走行データを撮像し、走行区分(図18では「DS1 N」、「DS2 N」、「DSN N」として示す)に区分し、走行(図18では「走行N」として示す)に再構築するためにそれをサーバ1230に送信する「車N」も含む。
図18に示すように、サーバ1230は、複数の車両(例えば、「車1」(車両1810とも表記)、「車2」(車両1820とも表記)、及び「車N」)から収集される再構成される走行(例えば、「走行1」、「走行2」、及び「走行N」)を使用して、疎なマップ(「マップ」として示す)を構築し得る。
図19は、道路区分に沿った自律車両ナビゲーションのための疎なマップを生成するための例示的なプロセス1900を示すフローチャートである。プロセス1900は、サーバ1230に含まれる1つ又は複数の処理デバイスによって実行され得る。
プロセス1900は、1つ又は複数の車両が道路区分を横断するときに取得される複数の画像を受信することを含み得る(ステップ1905)。サーバ1230は、車両1205、1210、1215、1220、及び1225のうちの1つ又は複数に含まれるカメラから画像を受信し得る。例えば、カメラ122は、車両1205が道路区分1200に沿って走行するときに、車両1205を取り巻く環境の1つ又は複数の画像を撮像し得る。幾つかの実施形態では、サーバ1230は、図17に関して上記で論じたように、車両1205上のプロセッサによって冗長性が除去される、取り除き済みの画像データを受信し得る。
プロセス1900は、複数の画像に基づいて、道路区分に沿って広がる路面特徴の少なくとも1つの線表現を識別することを更に含み得る(ステップ1910)。各線表現は、路面特徴に実質的に対応する道路区分に沿った経路を表し得る。例えば、サーバ1230は、カメラ122から受信される環境画像を分析して、道路端部又はレーンマークを識別し、道路端部又はレーンマークに関連付けられた道路区分1200に沿った走行の軌道を決定し得る。幾つかの実施形態では、軌道(又は線表現)は、スプライン、多項式表現、又は曲線を含み得る。サーバ1230は、ステップ1905において受信されるカメラのエゴモーション(例えば、3次元並進運動及び/又は3次元回転運動)に基づいて、車両1205の走行の軌道を決定し得る。
プロセス1900は、複数の画像に基づいて、道路区分に関連付けられた複数の陸標を識別することも含み得る(ステップ1910)。例えば、サーバ1230は、カメラ122から受信される環境画像を分析して、道路区分1200に沿った道路標識等の1つ又は複数の陸標を識別し得る。サーバ1230は、1つ又は複数の車両が道路区分を横断するときに取得される複数の画像の分析を使用して陸標を識別し得る。クラウドソーシングを可能にするために、分析は、道路区分に関連付けられている可能性のある陸標の受け入れ及び拒否に関するルールを含み得る。例えば、分析は、陸標が現れない画像に対する陸標が現れる画像の比率が閾値を超える場合、潜在的な陸標を受け入れること、及び/又は、陸標が現れる画像に対する陸標が現れない画像の比率が閾値を超える場合、潜在的な陸標を拒否することを含み得る。
プロセス1900は、サーバ1230によって実行される他の動作又はステップを含み得る。例えば、ナビゲーション情報は、道路区分に沿って車両が走行するための目標軌道を含み得て、プロセス1900は、以下で更に詳細に論じるように、サーバ1230によって、道路区分上を走行する複数の車両に関連する車両軌道をクラスタ化すること、及びクラスタ化された車両軌道に基づいて目標軌道を決定することを含み得る。車両軌道をクラスタ化することは、サーバ1230によって、車両の絶対的な進行方向又は車両のレーン割り当ての少なくとも1つに基づいて、道路区分上を走行する車両に関連する複数の軌道を複数のクラスタにクラスタ化することを含み得る。目標軌道を生成することは、サーバ1230によって、クラスタ化された軌道を平均化することを含み得る。更なる例として、プロセス1900は、ステップ1905で受信されるデータを位置合わせすることを含み得る。上記で説明したように、サーバ1230によって実行される他のプロセス又はステップも、プロセス1900に含まれ得る。
開示されるシステム及び方法は、他の特徴を含み得る。例えば、開示されるシステムは、グローバル座標ではなくローカル座標を使用し得る。自律走行の場合、一部のシステムはグローバル座標でデータを表示し得る。例えば、地表面の経度緯度座標を使用し得る。操舵にマップを使用するために、ホスト車両は、マップに対する位置及び向きを決定し得る。マップ上に車両を配置し、本体の参照フレームと世界の参照フレーム(例えば、北、東及び下)との間の回転変換を見つけるために、車載のGPSデバイスを使用するのは自然に思われる。本体の参照フレームがマップの参照フレームと位置合わせされると、本体の参照フレームで所望のルートを表し得て、操舵コマンドを計算又は生成し得る。
開示されるシステム及び方法は、高価な測量機器の助けを借りずに自律車両自体によって収集され得る、低フットプリントのモデルで自律車両ナビゲーション(例えば、操舵制御)を可能にし得る。自律ナビゲーション(例えば、操舵アプリケーション)をサポートするために、道路モデルは、モデルに含まれる軌道に沿った車両の場所又は位置を決定するために使用し得る道路のジオメトリ、そのレーン構造、及び陸標を有する疎なマップを含み得る。上記で論じたように、疎なマップの生成は、道路を走行している車両と通信し、車両からデータを受信する遠隔サーバによって実行され得る。データは、検知されるデータ、検知されるデータに基づいて再構築される軌道、及び/又は修正される再構築される軌道を表し得る推奨される軌道を含み得る。以下で論じるように、サーバは、自律ナビゲーションを支援するために、後に道路を走行する車両又は他の車両にモデルを送信し得る。
図20は、サーバ1230のブロック図を示す。サーバ1230は、ハードウェア構成要素(例えば、通信制御回路、スイッチ、及びアンテナ)とソフトウェア構成要素(例えば、通信プロトコル、コンピュータコード)の両方を含み得る通信ユニット2005を含み得る。例えば、通信ユニット2005は、少なくとも1つのネットワークインタフェースを含み得る。サーバ1230は、通信ユニット2005を通じて車両1205、1210、1215、1220、及び1225と通信し得る。例えば、サーバ1230は、通信ユニット2005を通じて、車両1205、1210、1215、1220、及び1225から送信されるナビゲーション情報を受信し得る。サーバ1230は、通信ユニット2005を通じて、自律車両道路ナビゲーションモデルを1つ又は複数の自律車両に配信し得る。
サーバ1230は、ハードドライブ、コンパクトディスク、テープ等、少なくとも1つの非一時的記憶媒体2010を含み得る。ストレージデバイス1410は、車両1205、1210、1215、1220、及び1225から受信されるナビゲーション情報、及び/又はサーバ1230がナビゲーション情報に基づいて生成する自律車両道路ナビゲーションモデル等のデータを記憶するように構成され得る。ストレージデバイス2010は、疎なマップ(例えば、図8に関して上記で論じた疎なマップ800)等の任意の他の情報を記憶するように構成され得る。
ストレージデバイス2010に加えて、又はその代わりに、サーバ1230はメモリ2015を含み得る。メモリ2015は、メモリ140又は150と同様であり得るか又は異なり得る。メモリ2015は、フラッシュメモリ、ランダムアクセスメモリ等の非一時的メモリであり得る。メモリ2015は、プロセッサ(例えば、プロセッサ2020)によって実行可能なコンピュータコード又は命令、マップデータ(例えば、疎なマップ800のデータ)、自律車両道路ナビゲーションモデル、及び/又は車両1205、1210、1215、1220、及び1225から受信されるナビゲーション情報等のデータを記憶するように構成され得る。
サーバ1230は、様々な機能を実行するために、メモリ2015に記憶されるコンピュータコード又は命令を実行するように構成される少なくとも1つの処理デバイス2020を含み得る。例えば、処理デバイス2020は、車両1205、1210、1215、1220、及び1225から受信されるナビゲーション情報を分析し、その分析に基づいて自律車両道路ナビゲーションモデルを生成し得る。処理デバイス2020は、通信ユニット1405を制御して、自律車両道路ナビゲーションモデルを1つ又は複数の自律車両(例えば、車両1205、1210、1215、1220、及び1225のうちの1つ又は複数、又は後に道路区分1200を走行する任意の車両)に配信し得る。処理デバイス2020は、プロセッサ180、190、又は処理ユニット110と同様であり得るか、又は異なり得る。
図21は、自律車両ナビゲーションで使用するための道路ナビゲーションモデルを生成するための1つ又は複数の動作を実行するためのコンピュータコード又は命令を記憶し得る、メモリ2015のブロック図を示す。図21に示すように、メモリ2015は、車両ナビゲーション情報を処理するための動作を実行するための1つ又は複数のモジュールを記憶し得る。例えば、メモリ2015は、モデル生成モジュール2105及びモデル配信モジュール2110を含み得る。プロセッサ2020は、メモリ2015に含まれるモジュール2105及び2110のいずれかに記憶される命令を実行し得る。
モデル生成モジュール2105は、プロセッサ2020によって実行されると、車両1205、1210、1215、1220、及び1225から受信されるナビゲーション情報に基づいて、共通の道路区分(例えば、道路区分1200)の自律車両道路ナビゲーションモデルの少なくとも一部を生成し得る命令を記憶し得る。例えば、自律車両道路ナビゲーションモデルの生成では、プロセッサ2020は、共通の道路区分1200に沿った車両軌道を異なるクラスタにクラスタ化し得る。プロセッサ2020は、異なるクラスタのそれぞれについてクラスタ化された車両軌道に基づいて、共通の道路区分1200に沿った目標軌道を決定し得る。そのような動作は、各クラスタにおけるクラスタ化された車両軌道の平均又は平均軌道を(例えば、クラスタ化された車両軌道を表すデータを平均化することによって)見つけることを含み得る。幾つかの実施形態では、目標軌道は、共通の道路区分1200の単一レーンに関連付けられ得る。
道路モデル及び/又は疎なマップは、道路区分に関連付けられた軌道を記憶し得る。これらの軌道は、目標軌道と呼ばれ得て、自律ナビゲーションのために自律車両に提供される。目標軌道は、複数の車両から受信し得るか、又は複数の車両から受信される実際の軌道又は推奨される軌道(幾つかの修正を加えた実際の軌道)に基づいて生成し得る。道路モデル又は疎なマップに含まれる目標軌道は、他の車両から受信される新しい軌道で継続的に更新(例えば、平均化)され得る。
道路区分を走行する車両は、様々なセンサによってデータを収集し得る。データは、陸標、道路シグネチャプロファイル、車両の動き(例えば、加速度計データ、速度データ)、車両位置(例えば、GPSデータ)を含み得て、実際の軌道自体を再構築し得るか、又はデータをサーバに送信して、サーバが車両の実際の軌道を再構築し得る。幾つかの実施形態では、車両は、軌道(例えば、任意の参照フレームでの曲線)、陸標データ、及び走行経路に沿ったレーン割り当てに関連するデータをサーバ1230に送信し得る。複数の走行で同じ道路区分に沿って走行する様々な車両は、異なる軌道を有し得る。サーバ1230は、クラスタ化プロセスを通じて車両から受信される軌道から、各レーンに関連付けられた経路又は軌道を識別し得る。
図22は、共通の道路区分(例えば、道路区分1200)の目標軌道を決定するために、車両1205、1210、1215、1220、及び1225に関連付けられた車両軌道をクラスタ化するプロセスを示す。クラスタ化プロセスから決定された目標軌道又は複数の目標軌道は、自律車両道路ナビゲーションモデル又は疎なマップ800に含まれ得る。幾つかの実施形態では、道路区分1200に沿って走行する車両1205、1210、1215、1220、及び1225は、複数の軌道2200をサーバ1230に送信し得る。幾つかの実施形態では、サーバ1230は、車両1205、1210、1215、1220、及び1225から受信される陸標、道路のジオメトリ、及び車両運動情報に基づいて軌道を生成し得る。自律車両道路ナビゲーションモデルを生成するために、サーバ1230は、図22に示すように、車両軌道1600を複数のクラスタ2205、2210、2215、2220、2225、及び2230にクラスタ化し得る。
クラスタ化は、様々な基準を使用して実行され得る。幾つかの実施形態では、クラスタ内の全ての走行は、道路区分1200に沿った絶対的な進行方向に関して類似し得る。絶対的な進行方向は、車両1205、1210、1215、1220、及び1225によって受信されるGPS信号から取得し得る。幾つかの実施形態では、推測航法を使用して絶対的な進行方向を取得し得る。当業者が理解するように、推測航法を使用して、前に決定された位置、推定速度等を使用して、現在位置、従って車両1205、1210、1215、1220、及び1225の進行方向を決定し得る。絶対的な進行方向によってクラスタ化された軌道は、道路に沿ったルートを識別するのに有用であり得る。
幾つかの実施形態では、クラスタ内の全ての走行は、道路区分1200の走行に沿ったレーン割り当て(例えば、交差点の前後の同じレーン)に関して類似し得る。レーン割り当てによってクラスタ化された軌道は、道路に沿ったレーンを識別するのに有用であり得る。幾つかの実施形態では、両方の基準(例えば、絶対的な進行方向及びレーン割り当て)をクラスタ化に使用し得る。
各クラスタ2205、2210、2215、2220、2225、及び2230では、軌道を平均化して、特定のクラスタに関連付けられた目標軌道を取得し得る。例えば、同じレーンクラスタに関連付けられた複数の走行からの軌道を平均化し得る。平均軌道は、特定のレーンに関連付けられた目標軌道であり得る。軌道のクラスタを平均化するために、サーバ1230は、任意の軌道C0の参照フレームを選択し得る。他の全ての軌道(C1、…、Cn)について、サーバ1230はCiをC0にマッピングする剛体変換を見つけ得て、ここで、i=1、2、…、nであり、nは正の整数であり、クラスタに含まれる軌道の総数に対応する。サーバ1230は、C0参照フレームでの平均曲線又は軌道を計算し得る。
幾つかの実施形態では、陸標は、異なる走行間で一致する弧長を定義し得て、弧長は、軌道をレーンと位置合わせするために使用し得る。幾つかの実施形態では、交差点の前後のレーンマークを使用して、軌道をレーンと位置合わせし得る。
軌道からレーンを組み立てるために、サーバ1230は、任意のレーンの参照フレームを選択し得る。サーバ1230は、部分的に重なり合うレーンを選択される参照フレームにマッピングし得る。サーバ1230は、全てのレーンが同じ参照フレームに入るまでマッピングを継続し得る。互いに隣り合っているレーンは、あたかも同じレーンであったかのように位置合わせし得て、後に横方向にシフトされ得る。
道路区分に沿って認識される陸標は、最初にレーンレベルで、次に交差点レベルで共通の参照フレームにマッピングされ得る。例えば、同じ陸標が、複数の走行の複数の車両によって複数回認識され得る。異なる走行で受信される同じ陸標に関するデータは、わずかに異なり得る。そのようなデータは平均化され、C0参照フレーム等の同じ参照フレームにマッピングされ得る。加えて又は或いは、複数の走行で受信される同じ陸標のデータの分散を計算し得る。
幾つかの実施形態では、道路区分120の各レーンは、目標軌道及び特定の陸標に関連付けられ得る。目標軌道又はそのような複数の目標軌道は、自律車両道路ナビゲーションモデルに含まれ得て、自律車両道路ナビゲーションモデルは、後に同じ道路区分1200に沿って走行する他の自律車両によって使用され得る。車両1205、1210、1215、1220、及び1225が道路区分1200に沿って走行している間に、それらの車両によって識別される陸標は、目標軌道に関連付けて記録され得る。目標軌道及び陸標のデータは、後続の走行で他の車両から受信される新しいデータで継続的又は定期的に更新し得る。
自律車両の位置特定のために、開示されるシステム及び方法は、拡張カルマンフィルタを使用し得る。車両の位置は、3次元位置データ及び/又は3次元方向データ、エゴモーションの積分による車両の現在位置よりも先の将来位置の予測に基づいて決定され得る。車両の位置特定は、陸標の画像観察により修正又は調整され得る。例えば、車両がカメラによって撮像された画像内の陸標を検出した場合、陸標は、道路モデル又は疎なマップ800内に記憶される既知の陸標と比較され得る。既知の陸標は、道路モデル及び/又は疎なマップ800に記憶される目標軌道に沿った既知の位置(例えば、GPSデータ)を有し得る。現在の速度及び陸標の画像に基づいて、車両から陸標までの距離を推定し得る。目標軌道に沿った車両の位置は、陸標までの距離及び陸標の既知の位置(道路モデル又は疎なマップ800に記憶される)に基づいて調整され得る。道路モデル及び/又は疎なマップ800に記憶される陸標の位置/場所データ(例えば、複数の走行からの平均値)は、正確であると推定され得る。
幾つかの実施形態では、開示されるシステムは、車両の6自由度(例えば、3次元位置データと3次元方向データ)の位置の推定が、自律車両をナビゲート(例えば、車輪を操舵)して所望の点(例えば、記憶される点の1.3秒先)に到達するために使用され得る、閉ループサブシステムを形成し得る。次に、操舵及び実際のナビゲーションから測定されるデータを使用して、6自由度の位置を推定し得る。
幾つかの実施形態では、街灯柱及び電力線柱又はケーブル線柱等、道路に沿った柱を、車両の位置特定のための陸標として使用し得る。交通標識、信号機、道路上の矢印、一時停止線、及び道路区分に沿った物体の静的な特徴又はシグネチャ等の他の陸標も、車両の位置を特定するための陸標として使用し得る。柱が位置特定に使用される場合、柱の底部が遮られて得て、道路平面上にないことがあるため、y観測(すなわち、柱までの距離)ではなく、柱のx観測(すなわち、車両からの視角)が使用され得る。
図23は、クラウドソーシングされる疎なマップを使用した自律ナビゲーションに使用し得る、車両のためのナビゲーションシステムを示す。説明のために、車両は車両1205として参照される。図23に示す車両は、例えば、車両1210、1215、1220、及び1225、並びに他の実施形態に示す車両200を含む、本明細書に開示される他の任意の車両であり得る。図12に示すように、車両1205はサーバ1230と通信し得る。車両1205は、撮像デバイス122(例えば、カメラ122)を含み得る。車両1205は、車両1205が道路(例えば、道路区分1200)を走行するためのナビゲーションガイダンスを提供するように構成されるナビゲーションシステム2300を含み得る。車両1205は、速度センサ2320及び加速度計2325等の他のセンサも含み得る。速度センサ2320は、車両1205の速度を検出するように構成され得る。加速度計2325は、車両1205の加速又は減速を検出するように構成され得る。図23に示す車両1205は自律車両であり得て、ナビゲーションシステム2300は、自律走行のためのナビゲーションガイダンスを提供するために使用され得る。或いは、車両1205は、非自律型の人間が制御する車両であり得て、ナビゲーションシステム2300は、ナビゲーションガイダンスを提供するために依然として使用され得る。
ナビゲーションシステム2300は、通信経路1235を通じてサーバ1230と通信するように構成される通信ユニット2305を含み得る。ナビゲーションシステム2300は、GPS信号を受信して処理するように構成されるGPSユニット2310も含み得る。ナビゲーションシステム2300は、GPS信号、疎なマップ800からのマップデータ(車両1205に搭載されるストレージデバイスに記憶され得る、及び/又はサーバ1230から受信され得る)、道路プロファイルセンサ2330によって検知される道路のジオメトリ、カメラ122によって撮像された画像、及び/又はサーバ1230から受信される自律車両道路ナビゲーションモデル等のデータを処理するように構成される少なくとも1つのプロセッサ2315を更に含み得る。道路プロファイルセンサ2330は、路面の粗さ、道路幅、道路高、道路曲率等、異なるタイプの道路プロファイルを測定するための異なるタイプのデバイスを含み得る。例えば、道路プロファイルセンサ2330は、車両2305のサスペンションの動きを測定して道路粗さプロファイルを導出するデバイスを含み得る。幾つかの実施形態では、道路プロファイルセンサ2330はレーダセンサを含み、車両1205から道路側(例えば、道路側の障壁)までの距離を測定し、それによって道路の幅を測定し得る。幾つかの実施形態では、道路プロファイルセンサ2330は、道路の上下の標高を測定するように構成されるデバイスを含み得る。幾つかの実施形態では、道路プロファイルセンサ2330は、道路曲率を測定するように構成されるデバイスを含み得る。例えば、カメラ(例えば、カメラ122又は別のカメラ)を使用して、道路曲率を示す道路の画像を撮像し得る。車両1205は、そのような画像を使用して道路曲率を検出し得る。
少なくとも1つのプロセッサ2315は、カメラ122から、車両1205に関連付けられた少なくとも1つの環境画像を受信するようにプログラムされ得る。少なくとも1つのプロセッサ2315は、車両1205に関連付けられたナビゲーション情報を決定するために、少なくとも1つの環境画像を分析し得る。ナビゲーション情報は、道路区分1200に沿った車両1205の走行に関連する軌道を含み得る。少なくとも1つのプロセッサ2315は、3次元並進運動及び3次元回転運動等のカメラ122(従って車両)の運動に基づいて軌道を決定し得る。幾つかの実施形態では、少なくとも1つのプロセッサ2315は、カメラ122によって取得される複数の画像の分析に基づいて、カメラ122の並進運動及び回転運動を決定し得る。幾つかの実施形態では、ナビゲーション情報は、レーン割り当て情報(例えば、車両1205が道路区分1200に沿ってそのレーンで走行しているか)を含み得る。車両1205からサーバ1230に送信されるナビゲーション情報は、サーバ1230によって使用され、自律車両道路ナビゲーションモデルを生成及び/又は更新し得て、自律車両道路ナビゲーションモデルは、車両1205に自律ナビゲーションガイダンスを提供するために、サーバ1230から車両1205に送信され得る。
少なくとも1つのプロセッサ2315は、ナビゲーション情報を車両1205からサーバ1230に送信するようにプログラムすることもできる。幾つかの実施形態では、ナビゲーション情報は、道路情報と共にサーバ1230に送信され得る。道路位置情報は、GPSユニット2310によって受信されるGPS信号、陸標情報、道路のジオメトリ、レーン情報等のうちの少なくとも1つを含み得る。少なくとも1つのプロセッサ2315は、サーバ1230から、自律車両道路ナビゲーションモデル又はモデルの一部を受信し得る。サーバ1230から受信される自律車両道路ナビゲーションモデルは、車両1205からサーバ1230に送信されるナビゲーション情報に基づく少なくとも1つの更新を含み得る。サーバ1230から車両1205に送信されるモデルの部分は、モデルの更新される部分を含み得る。少なくとも1つのプロセッサ2315は、受信される自律車両道路ナビゲーションモデル又はモデルの更新される部分に基づいて、車両1205による少なくとも1つのナビゲーション動作(例えば、方向転換を行う、ブレーキをかける、加速する、別の車両を追い越す等の操舵)を引き起こし得る。
少なくとも1つのプロセッサ2315は、通信ユニット1705、GPSユニット2315、カメラ122、速度センサ2320、加速度計2325、及び道路プロファイルセンサ2330を含む、車両1205に含まれる様々なセンサ及び構成要素と通信するように構成され得る。少なくとも1つのプロセッサ2315は、様々なセンサ及び構成要素から情報又はデータを収集し、通信ユニット2305を通じて情報又はデータをサーバ1230に送信し得る。代替又は追加として、車両1205の様々なセンサ又は構成要素はまた、サーバ1230と通信し、センサ又は構成要素によって収集されるデータ又は情報をサーバ1230に送信し得る。
幾つかの実施形態では、車両1205、1210、1215、1220、及び1225の少なくとも1つが、例えば、他の車両によって共有される情報に基づいて、クラウドソーシングを使用して自律車両道路ナビゲーションモデルを生成し得るように、車両1205、1210、1215、1220、及び1225は、互いに通信し得て、ナビゲーション情報を互いに共有し得る。幾つかの実施形態では、車両1205、1210、1215、1220、及び1225は、ナビゲーション情報を互いに共有し得て、各車両は、車両に提供される、それ自体の自律車両道路ナビゲーションモデルを更新し得る。幾つかの実施形態では、車両1205、1210、1215、1220、及び1225(例えば、車両1205)のうちの少なくとも1つは、ハブ車両として機能し得る。ハブ車両(例えば、車両1205)の少なくとも1つのプロセッサ2315は、サーバ1230によって実行される機能の一部又は全部を実行し得る。例えば、ハブ車両の少なくとも1つのプロセッサ2315は、他の車両と通信し、他の車両からナビゲーション情報を受信し得る。ハブ車両の少なくとも1つのプロセッサ2315は、他の車両から受信した共有情報に基づいて、自律車両道路ナビゲーションモデル又はモデルへの更新を生成し得る。ハブ車両の少なくとも1つのプロセッサ2315は、自律ナビゲーションガイダンスを提供するために、自律車両道路ナビゲーションモデル又はモデルへの更新を他の車両に送信し得る。
レーンマークのマッピング及びマッピングされたレーンマークに基づくナビゲーション
前述のように、自律車両の道路ナビゲーションモデル及び/又は疎なマップ800は、道路区分に関連付けられた複数のマッピングされたレーンマークを含み得る。以下でより詳細に論じるように、これらのマッピングされたレーンマークは、自律車両がナビゲートするときに使用され得る。例えば、幾つかの実施形態では、マッピングされたレーンマークを使用して、計画される軌道に対する横方向位置及び/又は向きを決定し得る。この位置情報を使用して、自律車両は、決定された位置での目標軌道の方向に一致するように進行方向が調整可能であり得る。
車両200は、所与の道路区分におけるレーンマークを検出するように構成され得る。道路区分は、道路上の車両の交通量を案内するための道路上の任意のマークを含み得る。例えば、レーンマークは、走行レーンの端部を示す実線又は破線であり得る。レーンマークはまた、例えば、隣接するレーンでの通過が許可されるか否かを示す、二重の実線、二重の破線、又は実線及び破線の組み合わせ等の二重線を含み得る。レーンマークはまた、例えば、出口ランプの減速レーンを示す高速道路の入口及び出口のマーク、又はレーンが方向転換のみであること又はレーンが終了しようとしていることを示す点線を含み得る。マークは、作業区域、一時的なレーンシフト、交差点を通る走行経路、中央分離帯、専用レーン(例えば、自転車レーン、HOVレーン等)、又はその他の種々雑多なマーク(例えば、横断歩道、スピードハンプ、踏切、一時停止線等)を更に示し得る。
車両200は、画像取得ユニット120に含まれる撮像デバイス122及び124等のカメラを使用して、周囲のレーンマークの画像を撮像し得る。車両200は、画像を分析して、撮像された画像のうちの1つ又は複数内で識別された特徴に基づいて、レーンマークに関連付けられた点位置を検出し得る。これらの点位置は、疎なマップ800のレーンマークを表すためにサーバにアップロードされ得る。カメラの位置及び視野に応じて、単一の画像から車両の両側のレーンマークが同時に検出され得る。他の実施形態では、異なるカメラを使用して、車両の複数の側部で画像を撮像し得る。レーンマークの実際の画像をアップロードするのではなく、マークをスプライン又は一連の点として疎なマップ800に記憶し、従って、疎なマップ800のサイズ及び/又は車両によって遠隔でアップロードしなければならないデータを低減し得る。
図24A~図24Dは、特定のレーンマークを表すために車両200によって検出され得る例示的な点位置を示す。上記の陸標と同様に、車両200は、様々な画像認識アルゴリズム又はソフトウェアを使用して、撮像された画像内の点位置を識別し得る。例えば、車両200は、特定のレーンマークに関連付けられた一連の端点、角点、又は他の様々な点位置を認識し得る。図24Aは、車両200によって検出され得る連続レーンマーク2410を示す。レーンマーク2410は、連続した白線で表される道路の外側の端部を表し得る。図24Aに示すように、車両200は、レーンマークに沿った複数の端部位置点2411を検出するように構成され得る。位置点2411は、疎なマップ内にマッピングされたレーンマークを作成するのに十分な任意の間隔でレーンマークを表すために収集され得る。例えば、レーンマークは、検出された端部1メートルごとに1つの点、検出された端部の5メートルごとに1つの点、又はその他の適切な間隔によって表し得る。幾つかの実施形態では、間隔は、例えば、車両200が検出された点の位置の最高の信頼性ランキングを有する点に基づく等の設定された間隔ではなく、他の要因によって決定され得る。図24Aは、レーンマーク2410の内側端部上の端部位置点を示しているが、点は線の外側端部上又は両端部に沿って収集され得る。更に、単一の線が図24Aに示されているが、二重の実線についても同様の端点が検出され得る。例えば、点2411は、実線の一方又は両方の端部に沿って検出され得る。
車両200はまた、レーンマークのタイプ又は形状に応じて異なるレーンマークを表し得る。図24Bは、車両200によって検出され得る例示的な破線のレーンマーク2420を示す。図24Aのように端点を識別するのではなく、車両は、破線の完全な境界を画定するために、レーン破線の角を表す一連の角点2421を検出し得る。図24Bは、所与の破線マークの各角が位置特定されていることを示しているが、車両200は、図に示されている点のサブセットを検出又はアップロードし得る。例えば、車両200は、所与の破線マークの前端部又は前角部を検出し得るか、又はレーンの内部に最も近い2つの角点を検出し得る。更に、全ての破線マークが撮像され得るわけではなく、例えば、車両200は、破線マークのサンプル(例えば、1つおき、3つおき、5つおき等)を表す点、又は事前定義された間隔(例えば、1メートルごと、5メートルごと、10メートルごと等)で破線マークを表す点を撮像及び/又は記録し得る。角点は、レーンが出口ランプ用であること示すマーク、特定のレーンが終了しようとしていることを示すマーク、又は検出可能な角点を有し得る他の様々なレーンマーク等の同様のレーンマークについても検出され得る。角点は、二重の破線又は実線と破線との組み合わせで構成されるレーンマークでも検出され得る。
幾つかの実施形態では、マッピングされたレーンマークを生成するためにサーバにアップロードされた点は、検出された端点又は角点以外の他の点を表し得る。図24Cは、特定のレーンマークの中心線を表し得る一連の点を示す。例えば、連続レーン2410は、レーンマークの中心線2440に沿った中心線点2441によって表し得る。幾つかの実施形態では、車両200は、畳み込みニューラルネットワーク(CNN)、スケール不変特徴変換(SIFT)、配向勾配のヒストグラム(HOG)特徴、又は他の技術等の様々な画像認識技術を使用してこれらの中心点を検出するように構成され得る。或いは、車両200は、図24Aに示す端点2411等の他の点を検出し得て、例えば、各端部に沿った点を検出し、端点間の中間点を決定することによって、中心線点2441を計算し得る。同様に、破線のレーンマーク2420は、レーンマークの中心線2450に沿った中心線点2451によって表し得る。中心線点は、図24Cに示すように、破線の端部、又は中心線に沿った他の様々な位置に配置し得る。例えば、各破線は、破線の幾何学的中心にある単一の点によって表し得る。点はまた、中心線に沿って所定の間隔(例えば、1メートルごと、5メートルごと、10メートルごと等)で間隔を空け得る。中心線点2451は、車両200によって直接検出され得るか、又は図24Bに示すように、角点2421等の他の検出された基準点に基づいて計算され得る。中心線はまた、上記と同様の技術を使用して、二重線等の他のレーンマークタイプを表すために使用し得る。
幾つかの実施形態では、車両200は、2つの交差するレーンマーク間の頂点等、他の特徴を表す点を識別し得る。図24Dは、2つのレーンマーク2460と2465との間の交差点を表す例示的な点を示す。車両200は、2つのレーンマーク間の交差点を表す頂点2466を計算し得る。例えば、レーンマーク2460又は2465の1つは、道路区分内の列車交差領域又は他の交差領域を表し得る。レーンマーク2460と2465は互いに垂直に交差しているように示されているが、他の様々な構成が検出され得る。例えば、レーンマーク2460及び2465は、他の角度で交差し得るか、又はレーンマークの一方又は両方が、頂点2466で終了し得る。同様の技法は、破線又は他のレーンマークタイプ間の交差にも適用され得る。頂点2466に加えて、他の様々な点2467も検出され得て、レーンマーク2460及び2465の向きについての更なる情報を提供する。
車両200は、現実世界の座標をレーンマークの検出された各点に関連付け得る。例えば、各点の座標を含む位置識別子を生成して、レーンマークをマッピングするためにサーバにアップロードし得る。位置識別子は、点が角点、端点、中心点等を表すか否かを含む、点に関する他の識別情報を更に含み得る。従って、車両200は、画像の分析に基づいて各点の現実世界の位置を決定するように構成され得る。例えば、車両200は、レーンマークの現実世界の位置を特定するために、上記の様々な陸標等の画像内の他の特徴を検出し得る。これは、検出された陸標に対する画像内のレーンマークの位置を決定すること、又は検出された陸標に基づいて車両の位置を決定し、次いで車両(又は車両の目標軌道)からレーンマークまでの距離を決定することを含み得る。陸標が利用できない場合、推測航法に基づいて決定された車両の位置を基準にして、レーンマーク点の位置を決定し得る。位置識別子に含まれる現実世界の座標は、絶対座標(例えば、緯度/経度座標)として表し得るか、又は、目標軌道に沿った縦方向の位置及び目標軌道からの横方向の距離に基づく等、他の特徴に関連し得る。次いで、位置識別子は、ナビゲーションモデル(疎なマップ800等)でマッピングされたレーンマークを生成するために、サーバにアップロードされ得る。幾つかの実施形態では、サーバは、道路区分のレーンマークを表すスプラインを構築し得る。或いは、車両200はスプラインを生成し、サーバにアップロードして、ナビゲーションモデルに記録し得る。
図24Eは、マッピングされたレーンマークを含む対応する道路区分の例示的なナビゲーションモデル又は疎なマップの例を示す。疎なマップは、車両が道路区分に沿って追従する目標軌道2475を含み得る。上記で説明したように、目標軌道2475は、車両が対応する道路区分を走行するときに通る理想的な経路を表し得るか、又は道路上の他の場所(例えば、道路の中心線等)に配置され得る。目標軌道2475は、例えば、同じ道路区分を横断する車両の2つ以上の再構築された軌道の集約(例えば、重み付けされる組み合わせ)に基づいて、上記で説明した様々な方法で計算され得る。
幾つかの実施形態では、目標軌道は、全ての車両タイプ及び全ての道路、車両、及び/又は環境条件に対して等しく生成され得る。しかし、他の実施形態では、他の様々な要因又は変数もまた、目標軌道を生成する際に考慮され得る。異なるタイプの車両(例えば、自家用車、軽トラック、及びフルトレーラ)に対して、異なる目標軌道が生成され得る。例えば、小型の自家用車の場合、大型のセミトレーラトラックよりも回転半径が比較的狭い目標軌道が生成され得る。幾つかの実施形態では、道路、車両、及び環境条件も考慮され得る。例えば、異なる道路条件(例えば、濡れている、雪が積もっている、凍っている、乾燥している等)、車両条件(例えば、タイヤ条件又は推定されるタイヤ条件、ブレーキ条件又は推定されるブレーキ条件、燃料の残量等)又は環境要因(例えば、時刻、視界、天候等)に対して異なる目標軌道が生成され得る。目標軌道は、特定の道路区分の1つ又は複数の態様又は特徴(例えば、制限速度、方向転換の頻度及びサイズ、勾配等)にも依存し得る。幾つかの実施形態では、様々なユーザ設定を使用して、設定された運転モード(例えば、所望の積極的な運転、エコノミーモード等)等の目標軌道も決定し得る。
疎なマップは、道路区分に沿ったレーンマークを表すマッピングされたレーンマーク2470及び2480も含み得る。マッピングされたレーンマークは、複数の位置識別子2471及び2481によって表し得る。上記で説明したように、位置識別子は、検出されたレーンマークに関連付けられた点の現実世界の座標における位置を含み得る。モデルの目標軌道と同様に、レーンマークにも標高データが含まれ得て、3次元空間の曲線として表され得る。例えば、曲線は、適切な次数の3次元多項式を接続するスプラインであり得、曲線は、位置識別子に基づいて計算され得る。マッピングされたレーンマークはまた、レーンマークのタイプの識別子(例えば、同じ進行方向を有する2つのレーン間、反対の進行方向を有する2つのレーン間、道路の端部等)及び/又はレーンマークの他の特性(例えば、実線、破線、単一の線、二重線、黄色い線、白線等)等、レーンマークに関する他の情報又はメタデータを含み得る。幾つかの実施形態では、マッピングされたレーンマークは、例えば、クラウドソーシング技術を使用して、モデル内で継続的に更新され得る。同じ車両は、同じ道路区分を走行する複数の機会の間に位置識別子をアップロードし得るか、又はデータは、異なる時間に道路区分を走行する複数の車両(1205、1210、1215、1220、及び1225等)から選択され得る。次いで、疎なマップ800は、車両から受信され、システムに記憶された後続の位置識別子に基づいて更新又は洗練され得る。マッピングされたレーンマークが更新及び洗練されると、更新された道路ナビゲーションモデル及び/又は疎なマップが複数の自律車両に配布され得る。
疎なマップ内にマッピングされたレーンマークを生成することは、画像又は実際のレーンマーク自体の異常に基づいて誤差を検出及び/又は軽減することも含み得る。図24Fは、レーンマーク2490の検出に関連付けられた例示的な異常2495を示している。異常2495は、例えば、カメラのレーンマークの視界を遮る物体、レンズ上のゴミ等から、車両200によって撮像された画像に現れ得る。場合によっては、異常はレーンマーク自体に起因し得て、レーンマーク自体が、例えば、道路上の汚れ、破片、水、雪、又はその他の物質で損傷したり、摩耗したり、部分的に覆われたりし得る。異常2495は、車両200によって検出される誤った点2491を生じさせ得る。疎なマップ800は、正しくマッピングされたレーンマークを提供し、誤差を除外し得る。幾つかの実施形態では、車両200は、例えば、画像内の異常2495を検出することによって、又は異常の前後に検出されたレーンマーク点に基づいて誤差を識別することによって、誤差点2491を検出し得る。異常の検出に基づいて、車両は点2491を除外し得るか、又は他の検出された点と一致するように調整し得る。他の実施形態では、誤差は、点がアップロードされた後に、例えば、同じ走行中にアップロードされた他の点に基づいて、又は同じ道路区分に沿った以前の走行からのデータの集計に基づいて、点が予想閾値の範囲外であると判断することによって修正され得る。
ナビゲーションモデル及び/又は疎なマップにマッピングされたレーンマークは、対応する道路を横断する自律車両によるナビゲーションにも使用され得る。例えば、目標軌道に沿ってナビゲートする車両は、疎なマップ内のマッピングされたレーンマークを定期的に使用して、目標軌道にそれ自体を位置合わせし得る。上述したように、陸標間で、車両は、車両がセンサを使用してエゴモーションを決定し、目標軌道に対する位置を推定する推測航法に基づいてナビゲートし得る。誤差は経時的に蓄積し得て、目標軌道に対する車両の位置決定の精度が次第に低下し得る。従って、車両は、疎なマップ800(及びそれらの既知の位置)で発生するレーンマークを使用して、位置決定における推測航法によって誘発される誤差を低減し得る。このようにして、疎なマップ800に含まれる識別されるレーンマークは、ナビゲーションアンカーとして機能し得て、そこから、目標軌道に対する車両の正確な位置を決定し得る。
図25Aは、マッピングされたレーンマークに基づくナビゲーションに使用され得る車両の周囲環境の例示的な画像2500を示す。画像2500は、例えば、画像取得ユニット120に含まれる撮像デバイス122及び124を介して車両200によって撮像され得る。画像2500は、図25Aに示すように、少なくとも1つのレーンマーク2510の画像を含み得る。画像2500はまた、上記で説明したようにナビゲーションに使用される道路標識等の1つ又は複数の陸標2521を含み得る。撮像された画像2500には表れないが、車両200によって検出及び/又は決定される要素2511、2530、及び2520等、図25Aに示す幾つかの要素も参照のために示す。
図24A~図24D及び図24Fに関して上記で説明した様々な技術を使用して、車両は、画像2500を分析して、レーンマーク2510を識別し得る。画像内のレーンマークの特徴に対応する様々な点2511が検出され得る。例えば、点2511は、レーンマークの端部、レーンマークの角、レーンマークの中間点、2つの交差するレーンマーク間の頂点、又は他の様々な特徴又は位置に対応し得る。点2511は、サーバから受信されるナビゲーションモデルに記憶された点の位置に対応するように検出され得る。例えば、マッピングされたレーンマークの中心線を表す点を含む疎なマップが受信される場合、点2511はまた、レーンマーク2510の中心線に基づいて検出され得る。
車両はまた、要素2520によって表され、目標軌道に沿って配置された縦方向の位置を決定し得る。縦方向位置2520は、例えば、画像2500内の陸標2521を検出し、測定された位置を道路モデル又は疎なマップ800に記憶された既知の陸標位置と比較することによって、画像2500から決定され得る。次いで、目標軌道に沿った車両の位置は、陸標までの距離及び陸標の既知の位置に基づいて決定され得る。縦方向位置2520はまた、レーンマークの位置を決定するために使用されるもの以外の画像から決定され得る。例えば、縦方向位置2520は、画像2500と同時に又はほぼ同時に撮影された画像取得ユニット120内の他のカメラからの画像内の陸標を検出することによって決定され得る。場合によっては、車両は、縦方向位置2520を決定するための任意の陸標又は他の基準点の近くにない場合がある。そのような場合、車両は推測航法に基づいてナビゲートし得て、従って、センサを使用してエゴモーションを決定し、目標軌道に対する縦方向位置2520を推定し得る。車両はまた、撮像された画像内で観察された車両とレーンマーク2510との間の実際の距離を表す距離2530を決定し得る。カメラの角度、車両の速度、車両の幅、又は他の様々な要因が、距離2530を決定する際に考慮され得る。
図25Bは、道路ナビゲーションモデルにおけるマッピングされたレーンマークに基づく車両の横方向の位置特定補正を示す。上記で説明したように、車両200は、車両200によって撮像された1つ又は複数の画像を使用して、車両200とレーンマーク2510との間の距離2530を決定し得る。車両200はまた、マッピングされたレーンマーク2550及び目標軌道2555を含み得る、疎なマップ800等の道路ナビゲーションモデルにアクセスし得る。マッピングされたレーンマーク2550は、例えば、複数の車両によって撮像されたクラウドソーシングされた位置識別子を使用して、上記で説明した技術を使用してモデル化され得る。目標軌道2555はまた、上記で説明した様々な技術を使用して生成され得る。車両200はまた、図25Aに関して上記で説明したように、目標軌道2555に沿った縦方向位置2520を決定又は推定し得る。次いで、車両200は、目標軌道2555と、縦方向位置2520に対応するマッピングされたレーンマーク2550との間の横方向距離に基づいて、予想距離2540を決定し得る。車両200の横方向の位置特定は、撮像された画像を使用して測定された実際の距離2530をモデルからの予想距離2540と比較することによって修正又は調整され得る。
図26Aは、開示される実施形態による、自律車両ナビゲーションで使用するためのレーンマークをマッピングするための例示的なプロセス2600Aを示すフローチャートである。ステップ2610において、プロセス2600Aは、検出されたレーンマークに関連付けられた2つ以上の位置識別子を受信することを含み得る。例えば、ステップ2610は、サーバ1230又はサーバに関連付けられた1つ又は複数のプロセッサによって実行され得る。位置識別子は、図24Eに関して上記で説明したように、検出されたレーンマークに関連付けられた点の現実世界の座標における位置を含み得る。幾つかの実施形態では、位置識別子はまた、道路区分又はレーンマークに関する追加情報等の他のデータを含み得る。加速度計データ、速度データ、陸標データ、道路のジオメトリ又はプロファイルデータ、車両位置データ、エゴモーションデータ、又は上記で説明した他の様々な形態のデータ等の追加のデータもまた、ステップ2610の間に受信され得る。位置識別子は、車両によって撮像された画像に基づいて、車両1205、1210、1215、1220、及び1225等の車両によって生成され得る。例えば、識別子は、ホスト車両に関連付けられたカメラからの、ホスト車両の環境を表す少なくとも1つの画像の撮像、ホスト車両の環境におけるレーンマークを検出するための少なくとも1つの画像の分析、及び、ホスト車両に関連付けられた位置に対する検出されたレーンマークの位置を決定するための少なくとも1つの画像の分析に基づいて決定され得る。上記で説明したように、レーンマークは、様々な異なるマークタイプを含み得て、位置識別子は、レーンマークに関連する様々な点に対応し得る。例えば、検出されたレーンマークがレーン境界をマークする破線の一部である場合、点はレーンマークの検出された角に対応し得る。検出されたレーンマークがレーン境界をマークする実線の一部である場合、点は、上記で説明したように、様々な間隔で、レーンマークの検出された端部に対応し得る。幾つかの実施形態では、点は、図24Cに示すように、検出されたレーンマークの中心線に対応し得るか、又は図24Dに示すように、2つの交差するレーンマークの間の頂点及び交差するレーンマークに関連付けられた他の2つの点の少なくとも1つに対応し得る。
ステップ2612において、プロセス2600Aは、検出されたレーンマークを対応する道路区分に関連付けることを含み得る。例えば、サーバ1230は、ステップ2610の間に受信される現実世界の座標又は他の情報を分析し、座標又は他の情報を、自律車両道路ナビゲーションモデルに記憶された位置情報と比較し得る。サーバ1230は、レーンマークが検出された現実世界の道路区分に対応するモデル内の道路区分を決定し得る。
ステップ2614において、プロセス2600Aは、検出されたレーンマークに関連付けられた2つ以上の位置識別子に基づいて、対応する道路区分に関連する自律車両道路ナビゲーションモデルを更新することを含み得る。例えば、自律車両道路ナビゲーションモデルは疎なマップ800であり得て、サーバ1230は、モデルにマッピングされたレーンマークを含むか又は調整するために疎なマップを更新し得る。サーバ1230は、図24Eに関して上記で説明した様々な方法又はプロセスに基づいてモデルを更新し得る。幾つかの実施形態では、自律車両の道路ナビゲーションモデルを更新することは、検出されたレーンマークの現実世界の座標における位置の1つ又は複数のインジケータを記憶することを含み得る。自律車両道路ナビゲーションモデルは、図24Eに示すように、対応する道路区分に沿って車両が追従する少なくとも1つの目標軌道を含み得る。
ステップ2616において、プロセス2600Aは、更新された自律車両道路ナビゲーションモデルを複数の自律車両に配信することを含み得る。例えば、サーバ1230は、更新された自律車両道路ナビゲーションモデルを、ナビゲーションのためにモデルを使用し得る車両1205、1210、1215、1220、及び1225に配信し得る。自律車両道路ナビゲーションモデルは、図12に示すように、無線通信経路1235を通じて、1つ又は複数のネットワークを介して(例えば、セルラネットワーク及び/又はインターネット等を介して)配信され得る。
幾つかの実施形態では、レーンマークは、図24Eに関して上記で説明したように、クラウドソーシング技術等を介して、複数の車両から受信されるデータを使用してマッピングされ得る。例えば、プロセス2600Aは、検出されたレーンマークに関連付けられた位置識別子を含む第1のホスト車両からの第1の通信を受信すること、及び検出されたレーンマークに関連付けられた追加の位置識別子を含む第2のホスト車両からの第2の通信を受信することを含み得る。例えば、第2の通信は、同じ道路区分を走行する後続の車両から、すなわち、同じ道路区分に沿って後続走行する同じ車両から受信され得る。プロセス2600Aは、第1の通信で受信される位置識別子に基づいて、及び第2の通信で受信される追加の位置識別子に基づいて、検出されたレーンマークに関連付けられた少なくとも1つの位置の決定を洗練することを更に含み得る。これには、複数の位置識別子の平均を使用すること及び/又はレーンマークの現実世界の位置を反映し得ない「ゴースト」識別子を除外することが含まれ得る。
図26Bは、マッピングされたレーンマークを使用して、道路区分に沿ってホスト車両を自律的にナビゲートするための例示的なプロセス2600Bを示すフローチャートである。プロセス2600Bは、例えば、自律車両200の処理ユニット110によって実行され得る。ステップ2620において、プロセス2600Bは、サーバベースのシステムから自律車両道路ナビゲーションモデルを受信することを含み得る。幾つかの実施形態では、自律車両道路ナビゲーションモデルは、道路区分に沿ったホスト車両の目標軌道、及び道路区分に関連付けられた1つ又は複数のレーンマークに関連付けられた位置識別子を含み得る。例えば、車両200は、疎なマップ800又はプロセス2600Aを使用して開発された別の道路ナビゲーションモデルを受信し得る。幾つかの実施形態では、目標軌道は、例えば、図9Bに示すように、3次元スプラインとして表し得る。図24A~図24Fに関して上記で説明したように、位置識別子は、レーンマークに関連付けられた点(例えば、破線のレーンマークの角点、実線のレーンマークの端点、2つの交差するレーンマークの間の頂点及び交差するレーンマークに関連付けられた他の点、レーンマークに関連付けられた中心線等)の現実世界の座標における位置を含み得る。
ステップ2621において、プロセス2600Bは、車両の環境を表す少なくとも1つの画像を受信することを含み得る。画像は、画像取得ユニット120に含まれる撮像デバイス122及び124等を介して、車両の撮像デバイスから受信され得る。画像は、上記で説明した画像2500と同様に、1つ又は複数のレーンマークの画像を含み得る。
ステップ2622において、プロセス2600Bは、目標軌道に沿ったホスト車両の縦方向位置を決定することを含み得る。図25Aに関して上記で説明したように、これは、撮像された画像内の他の情報(例えば、陸標等)に基づき得るか、又は検出された陸標間の車両の推測航法により得る。
ステップ2623において、プロセス2600Bは、目標軌道に沿ったホスト車両の決定された縦方向位置に基づいて、及び少なくとも1つのレーンマークに関連付けられた2つ以上の位置識別子に基づいて、レーンマークまでの予想横方向距離を決定することを含み得る。例えば、車両200は、疎なマップ800を使用して、レーンマークまでの予想横方向距離を決定し得る。図25Bに示すように、目標軌道2555に沿った縦方向位置2520は、ステップ2622で決定され得る。疎なマップ800を使用して、車両200は、縦方向位置2520に対応するマッピングされたレーンマーク2550までの予想距離2540を決定し得る。
ステップ2624において、プロセス2600Bは、少なくとも1つの画像を分析して、少なくとも1つのレーンマークを識別することを含み得る。車両200は、例えば、上記で説明したように、様々な画像認識技術又はアルゴリズムを使用して、画像内のレーンマークを識別し得る。例えば、レーンマーク2510は、図25Aに示すように、画像2500の画像分析を介して検出され得る。
ステップ2625において、プロセス2600Bは、少なくとも1つの画像の分析に基づいて、少なくとも1つのレーンマークまでの実際の横方向距離を決定することを含み得る。例えば、車両は、図25Aに示すように、車両とレーンマーク2510との間の実際の距離を表す距離2530を決定し得る。カメラの角度、車両の速度、車両の幅、車両に対するカメラの位置、又は他の様々な要因が、距離2530を決定する際に考慮され得る。
ステップ2626において、プロセス2600Bは、少なくとも1つのレーンマークまでの予想横方向距離と、少なくとも1つのレーンマークまでの決定された実際の横方向距離との間の差に基づいて、ホスト車両の自律操舵動作を決定することを含み得る。例えば、図25Bに関して上記で説明したように、車両200は、実際の距離2530を予想距離2540と比較し得る。実際の距離と予想距離との差は、車両の実際の位置と車両が追従する目標軌道との間の誤差(及びその大きさ)を示し得る。従って、車両は、その差に基づいて、自律操舵動作又は他の自律動作を決定し得る。例えば、図25Bに示すように、実際の距離2530が予想距離2540よりも短い場合、車両は、レーンマーク2510から離れて、車両を左に向けるための自律操舵動作を決定し得る。従って、目標軌道に対する車両の位置を修正し得る。プロセス2600Bは、例えば、陸標間の車両のナビゲーションを改善するために使用され得る。
道路ベクトル場に基づくナビゲーション
上記で説明したように、自律車両又は半自律車両等の車両は、道路ナビゲーションマップに基づいてナビゲートし得る。そのようなマップは、ホスト車両が道路区分をナビゲートし、将来の正確な予測を構築し得るように、走行可能な経路、レーンの意味、交差点等に関する情報を提供し得る。幾つかの実施形態では、車両は、上記で説明したように、過度のデータストレージ又はデータ転送速度を必要とせずに、ナビゲーションに十分な情報を提供し得る疎なマップに基づいてナビゲートし得る。場合によっては、位置特定の問題により、疎なマップ又はその他のナビゲーションデータが不正確になり得るか、又は利用できなくなり得る。マップに関するその他の問題は、道路又はレーンマークの変更、交通パターンの変更、更なる交通標識の追加、又はナビゲーションに影響を与え得るその他の現実世界の変更が原因で発生する可能性がある。更に、マップデータが利用できない領域もある。道路ナビゲーションマップに関するこれら及び他の潜在的な問題に基づいて、センサデータに基づくナビゲーションのための代替及び/又は追加の方法を有することが望まれ得る。
従って、本開示は、ホスト車両の撮像デバイスによって撮像された画像を分析する車両ナビゲーションシステムを含み得る。システムは、撮像された画像内の1つ又は複数のピクセルを分析して、画像内の様々な点で予測経路又は推定経路を生成し得る。推定経路は、その点に関連付けられた車両又は他のエージェント(例えば、歩行者、動物等)が有し得る動きの任意の表現を含み得る。幾つかの実施形態では、推定経路は、ホスト車両の推定経路であり得る。加えて又は或いは、推定経路は、画像内の撮像された目標車両等の他の車両に対して決定され得る。幾つかの実施形態では、推定経路は、仮想車両が画像内に含まれていない様々な点での仮想車両の経路を表し得る。
推定経路は、様々な形式で表し得る。例えば、推定経路は、将来の様々な時点での車両又は他のエージェントの予想される位置を示す点の組を含み得る。推定経路は、車両が特定の期間にわたって追従すると予想される経路を示すスプラインとして表し得る。幾つかの実施形態では、推定経路は、所与の点でのベクトルとして表し得て、その点に配置された車両が有するはずの予測される動きを示す。ベクトル予測は、道路の方向矢印、道路端部、道路の曲率、又は画像内の検出された他の道路トポロジ特徴等、画像内で検出された特徴に基づき得る。画像全体の幾つかの点での動きベクトル予測を集約して、それぞれの点で予測される動きを示すベクトルの配列又はベクトルの場を形成し得る。結果として得られるベクトル場は、例えば、ホスト車両及び/又はホスト車両の環境内の他の目標車両の将来の経路を予測するために使用され得る。結果として得られる経路は、疎なマップ又は他の道路ナビゲーションマップデータに加えて、又はそれらの代わりに使用され得る。
図27は、開示される実施形態による、ホスト車両によって撮像され得る例示的な画像2700の図である。例えば、画像2700は、上記で詳細に説明したように、画像取得ユニット120を使用して、ホスト車両200の環境から撮像され得る。画像2700は、ホスト車両200によって走行された路面2730を含み得る。道路は、レーンマーク2734及び2736で示すように、複数の走行レーンを含み得る。図27に示す例では、画像2700は、私道2732で示すように、交差点又は道路入口点を含み得る。画像はまた、この例では、私道2732から車道に入り得る目標車両2720等の他の車両を含み得る。画像2700はまた、方向矢印2738に関連付けられたレーンが方向転換専用レーンであることを示す方向矢印2738を含み得る。画像2700は、道路端部2740及び2742、ガードレール2744、中央分離帯2746等の他の特徴を含み得る。
車両ナビゲーションシステムは、画像2700内から道路トポロジ特徴を検出するように構成され得る。本明細書で使用される道路トポロジ特徴は、ホスト車両の環境内に含まれる任意の自然又は人工の特徴を含み得る。そのような道路トポロジ特徴は、道路の区域の構成、配置、及び交通パターンを示し得る。道路トポロジ特徴は、上記で説明したように、画像2700に含まれる特徴のいずれかを含み得る。図28は、開示される実施形態による、ホスト車両によって検出され得る追加の例示的な道路トポロジ特徴を有する別の例示的な画像の図2800である。幾つかの実施形態では、道路トポロジ特徴は、道路の表面上の特徴を含み得る。例えば、道路トポロジ特徴は、方向転換矢印(例えば、図27に示す方向矢印2738)、合流矢印、Uターン矢印等の方向矢印を含み得る。道路トポロジ特徴は、レーンマーク、HOVレーンマーク、自転車レーンマーク、一時停止線、横断歩道(例えば、図28に示す横断歩道2840)、又は道路の表面上の他のマーク等、他の道路マークを含み得る。
幾つかの実施形態では、道路トポロジ特徴は、道路の端部を含み得る。例えば、画像2800は、図28に示す道路端部2810及び2820(及び/又は図27に示す道路端部2740及び2742)を含み得る。道路端部は、走行可能な路面から走行不可能な路面又は物体への任意の遷移であり得る。例えば、道路端部2810は、道路の端部を示す土、砂利、又は草の表面領域の端部であり得る。道路端部2820は、道路の端部を示し得るコンクリートの縁石又は障壁等の高架構造物を含み得る。ガードレール2744等の他の障壁又は障害物は、道路トポロジ特徴として検出され得る。幾つかの実施形態では、道路トポロジ特徴は、道路の形状又は曲率を含み得る。例えば、画像2800は、車両ナビゲーションシステムによって検出され得る曲線2850を含み得る。道路の形状に関連付けられた他の特徴は、合流レーン、出口ランプ、交差点、レーン分割等を含み得る。
そのような道路トポロジ特徴は、任意の適切な手段を使用して検出し得る。例えば、車両ナビゲーションシステムは、上記の様々な実施形態で説明したように、コンピュータビジョンアルゴリズムを使用して、画像が撮像され、処理された環境内の物体を検出及び/又はラベル付けし得る。幾つかの実施形態では、道路トポロジ特徴は、少なくとも部分的に高さに基づいて検出され得る。例えば、異なる時間に撮像された複数の画像は、画像内の物体の高さを示し得る。画像2800において、路面2830は、道路トポロジ特徴を検出するために使用され得る道路端部2820とは異なる高さを有すると決定され得る。幾つかの実施形態では、道路トポロジ特徴のうちの1つ又は複数は、トレーニングされた機械学習プロセスに基づいて識別され得る。例えば、道路トポロジ特徴を含む画像の組、特徴のラベル又はその他の識別情報と共に、トレーニングデータとして機械学習モデルに入力し得る。結果として得られるトレーニングされたモデルを使用して、画像を分析し、画像内の道路トポロジ特徴を識別し得る。ロジスティック回帰、線形回帰、回帰、ランダムフォレスト、K最近傍(KNN)モデル、K-Meansモデル、意思決定ツリー、cox比例ハザード回帰モデル、ナイーブベイズモデル、サポートベクターマシン(SVM)モデル、勾配ブースティングアルゴリズム、深層学習モデル、又は任意の他の形式の機械学習モデル又はアルゴリズムを含む、他の様々な機械学習アルゴリズムを使用し得る。
画像内のこれらの検出された特徴に基づいて、車両ナビゲーションシステムは、1つ又は複数の点に関連付けられた車両の環境内の推定経路を決定するように構成され得る。幾つかの実施形態では、推定経路は、その点での車両が行うはずの動きの予測として表し得る。図29は、開示される実施形態による、画像2700上に重なる例示的なベクトル場の図である。図29に示すように、車両ナビゲーションシステムは、点2910で予測される動きベクトル2920を決定し得る。上記で説明したように、予測される動きベクトル2920は、点2910に位置する車両が走行するはずの予測される動きを表し得る。幾つかの実施形態では、予測される動きベクトル2920は、点2910を含む経路に沿って移動する車両が取るはずの動きを表し得る。車両は画像内の単一の点よりも大きいため、車両の代表的なアンカーポイント(例えば、車両の端部、車両の中心点等)を想定し得て、動きベクトルは、その位置にアンカーポイントを有する車両が走行するはずの動きを表し得る。例えば、予測される動きベクトル2920は、点2910を通過する車両の中心点(又は車両の任意の他の点)に基づいて車両が走行するはずの方向を示し得る。幾つかの実施形態では、生成されたベクトルは、所定の長さを有し得る。例えば、ベクトル2920は、点2910での車両の予期される経路に沿って、点2910(例えば、0.5メートル、1メートル、2メートル、5メートル等)から所定の距離離れた第2の点に点2910を接続する経路を表し得る。
このプロセスは、図29に示すように、画像2700内の幾つかの点に対して実行され、ベクトルの配列(すなわち、ベクトル場)2930を生成し得る。ベクトル場2930内のベクトルのそれぞれは、その点に位置する車両(例えば、その位置に中心点又は他の点を有する)が走行すると予期又は予測される方向を表し得る。結果として得られるベクトルの配列は、画像内の各点の予期される走行経路をマップし得る。例えば、図29に示すように、私道2732の近くの車両は、入口近くの私道を走行すると予期され得て、私道の別の側の車両は、車道を走行すると予期され得る。同様に、ベクトルの配列は、方向転換レーン(すなわち、上記で説明した方向転換矢印2738に関連付けられたレーン)内の車両が、そのレーン内のベクトルで示すように、左折することが予期され得ることを示し得る。特に、ベクトル場は、レーンマーク2734等のレーンマークに依存せずに決定し得る。レーンマークは、都市環境等の全ての車両環境に常に存在するとは限らないため、これは有利であり得る。更に、レーンマークは、例えば、画像検出技術の限界のため、レーンマークの摩耗又は損傷のため、レーンマークを覆っている破片又はその他の物質(例えば、土、雪、水等)、又はレーンマークを視界から遮る物体のために、検出することが困難になり得る。
幾つかの実施形態では、ベクトル場2930内のベクトルは、撮像された画像に含まれる全てのピクセルについて決定され得る。従って、結果として得られるベクトル場は、撮像された画像の解像度と同等の解像度を有し得る。他の実施形態では、各点(例えば、点2910)は、ピクセルのグループに関連付けられ得る。例えば、点2910は、連続するピクセルのグループ(例えば、2ピクセル、5ピクセル、10ピクセル、20ピクセル、50ピクセル等)を表し得て、予測される動きベクトルは、画像内のピクセルのグループごとに決定され得る。システムは、道路の表面に関連付けられたピクセルについてのみ予測される動きベクトルを決定するように構成され得る。例えば、トレーニングされたニューラルネットワークは、路面2730を検出するように構成され得て、路面2730に関連付けられたピクセル(又はピクセルのグループ)のベクトルのみを生成し得る。幾つかの実施形態では、これは、ベクトル場を生成するプロセスに固有であり得る。例えば、車両ナビゲーションシステムは、路面に関連付けられていないピクセルのベクトルを生成し得ない(又は大きさがゼロのベクトルを生成し得る)。
ベクトル場2930は、任意の適切な技術に従って生成し得る。幾つかの実施形態では、トレーニングされたニューラルネットワーク(又は別の形態の機械学習モデル)を展開して、入力画像のベクトル場を生成し得る。モデルは、各ピクセル(又はピクセルのグループ)が予測される動きベクトルに関連付けられるように調査及び特徴付けられたトレーニング画像のセットを含むトレーニングデータのセットを使用してトレーニングし得る。そのような特徴付けは、例えば、トレーニングデータセット内の撮像された画像を分析し、撮像された画像のピクセルの予測される動きベクトルを指定する1人又は複数の人間のレビューアによって実行され得る。結果として、トレーニングされたニューラルネットワークモデルは、入力画像内の各ピクセルの動きベクトルを決定するように構成され得る。
ニューラルネットワークの有効性及び精度は、トレーニングデータセット内の利用可能なトレーニングデータの質及び量に依存し得る。従って、大規模なトレーニングデータセット(例えば、数百、数千、又は数百万の指定された撮像された画像を含む)を使用することによって提供される利点があり得る。ただし、手動の調査プロセスを使用して、そのような大規模なデータセットを生成することは、現実的又は不可能であり得る。この課題に対処するために、本システムは、画像内の各ピクセルの予測される動きベクトルを具体的に識別するように設計された一連の画像分析アルゴリズムを使用し得る。幾つかの実施形態では、これは、疎なマップに含まれる情報に基づき得る。例えば、アルゴリズムを実施して、疎なマップに含まれる複数の走行可能な経路間を補間して、道路区分内に対応するベクトル場を生成し得る。このベクトル場は、トレーニングデータを生成するために道路区分に沿って撮像された複数の画像に相関させ得る。結果として得られるトレーニングデータセットに基づいて、ニューラルネットワークモデルを展開して、他の入力画像のベクトル場を決定し得る。
結果として得られるベクトル場2930を使用して、ホスト車両の環境に関する追加情報を決定し得る。幾つかの実施形態では、ホスト車両又は目標車両の予測経路、又は車両に関連付けられていない予測経路を決定し得る。図30は、開示される実施形態による、決定され得る例示的な予測経路を示す。車両ナビゲーションシステムは、図30に示すように、予測経路3010、3012、3014、及び3020を決定し得る。予測経路3010、3012、3014、及び3020は、少なくとも部分的に、ベクトル場2930に基づいて決定され得る。例えば、予測経路の開始点が確立され得て、システムは、ベクトル場2930を介して一連の予測される動きベクトルを追跡して、予測経路を生成し得る。
予測経路は、画像2700内の様々な位置で生成され得る。予測経路3010は、ホスト車両(例えば、画像を撮像した車両)の予測経路を表し得る。従って、疎なマップ又は他のナビゲーションマップが利用できない実施形態では、予測経路3010を使用して、車両200をナビゲートし得る。他の実施形態では、予測経路3010は、冗長経路として使用され得る。例えば、予測経路3010は、疎なマップ内の情報が正確で最新のものであることを保証するための確認として使用され得る。任意の不一致が追跡され得て、幾つかの実施形態では、疎なマップを更新するために使用され得る。
幾つかの実施形態では、予測経路3010(又は所定の経路3012、3014、及び/又は3020)は、上記で論じたように、所定の距離(D)に関連付けられ得る。各ベクトルが事前定義された距離に関連付けられている実施形態では、予測経路は、経路を生成するために使用されるベクトルの数に基づいて決定され得る。例えば、各ベクトルの長さが1メートルの場合、100個のベクトルをトレースすることによって生成される予測経路の長さは100メートルになる。予測経路3010は、ホスト車両の前方の点を起点とし得る。幾つかの実施形態では、これは、ホスト車両の前方の所定の距離(例えば、2メートル、5メートル、6メートル、10メートル等)であり得る。所定の経路3010は、所定の距離(D)(例えば、50メートル、100メートル、200メートル等)の間、ベクトル場2930内のベクトルを追従し得る。他の実施形態では、所定の経路3010は、経路が画像2700内に見える限り広がり得る。
同様のプロセスを使用して、目標車両2720等の画像2700内の他のエージェントの予測経路を生成し得る。例えば、車両ナビゲーションシステムは、目標車両2720の予測経路を表す予測経路3020を生成し得る。予測経路3020は、例えば、目標車両2720の前方のベクトルをトレースすることによって、予測経路3010と同様の方法で決定され得る。幾つかの実施形態では、ベクトルは、所定の距離Dに対して同じであり得るか、又は異なり得る、所定の距離についてトレースされ得る。予測経路3020は、画像内で検出された目標車両2720に関連付けられた点を起点とし得る。例えば、経路は、目標車両2720の中心点を含み得る。幾つかの実施形態では、予測経路は、目標車両2720に関連付けられた複数の点に対して生成され得る。例えば、予測経路は、目標車両2720のいずれかの側の点に対して生成されて、目標車両2720の予測されるコリドを生成し得る。このコリドは、ホスト車両200と目標車両2720との間の相互作用を予測するために使用され得る。例えば、予測経路3010と予測経路3020(すなわち、コリド)との間の横方向の間隔を分析して、車両間の将来の間隔を予測し得て、この間隔を使用して、ナビゲーションの決定を行い得る。
幾つかの実施形態では、予測経路は、車両に関連付けられていない他の位置に対して生成され得る。例えば、予測経路3012及び3014は、ホスト車両200が走行しているレーンに隣接するレーンに対して生成され得る。図30に示すように、予測経路3014は、ホスト車両200の左側のレーンを走行する車両が方向転換すると予期されることを示し得る。幾つかの実施形態では、予測経路は、複数の可能な経路に分岐し得る。例えば、予測経路3012に沿って走行する車両は、私道2732に方向転換し得るか、又は直進し続け得る。従って、予測経路3012は、図30に示すように、ベクトル場2930の分析に基づいて複数の経路を示すために分割され得る。
上記で論じたように、ベクトル場2930は、レーンマーク2734等のレーンマークを考慮せずに決定され得る。従って、レーンマークが検出された領域では、それらを使用して、予測経路を調整又は校正し得る。例えば、レーンマーク2734及び2736は、車両ナビゲーションシステムによって検出され得るが、ベクトル場2930を生成するために使用され得ない。次いで、レーンマーク2734及び2736の位置を使用して、ベクトル場2930及び/又は予測経路3010を調整し得る。例えば、ベクトル場2930内の様々な点は、レーンマーク2734及び2736の中心線と整列するように調整又は固定され得る。追加の中心線を画像全体に補間して、ベクトル場2930のベクトルを整列させ得る。別の例として、予測経路3010は、検出されたレーンマーク2734及び2736に基づいてレーン内で中心となるようにシフトされ得る。画像内にレーンマークが検出されない、又はレーンマークが信頼できないそのような実施形態では、ベクトル場2930及び予測経路は、レーンマークに基づいて調整され得ない。
画像2700及び2800は、ホスト車両200の正面カメラから撮影された画像を表すが、ベクトル場及び関連付けられた予測経路を生成するために、他の様々なカメラの角度を使用し得ることを理解されたい。例えば、車両の側面、角、又は後部から撮影された画像は、上記で説明したプロセスを使用してベクトル場を生成するために使用され得る。従って、ホスト車両に隣接するレーンの予測経路は、ホスト車両200の隣を走行する車両の予測経路と共に決定され得る。幾つかの実施形態では、複数のカメラを使用して、ベクトル場を生成し得る。例えば、サイドカメラ又はコーナーカメラを使用して、メインの前面カメラの範囲を拡張し得る。結果として得られたベクトルファイルを組み合わせて、ホスト車両200の周りのより広い領域のベクトル場を生成し得る。
幾つかの実施形態では、ベクトル場2390に沿った軌道を追従するだけでなく、目標車両の追加の予測を決定することもし得る。例えば、目標車両の速度を使用して、車両の予測経路を調整し得る。異なる時間に撮影された複数の画像(例えば、連続画像等)を使用して、目標車両の速度を決定し得る。これを実現するために、車両の位置の変化を2つ以上の画像フレームにわたって追跡し得て、画像間の経過時間に基づいて、速度を決定し得る。幾つかの実施形態では、これは、走行レーンに垂直であり、従って、ベクトル場2930に垂直である車両の速度の成分であり得る横方向速度を含み得る。この横方向の速度は、車両の予測経路を決定する際に使用し得る。例えば、ベクトル場2930の軌道を追従するのではなく、車両の予測経路は、測定された横方向速度に従ってベクトル場2930を通って横方向にも移動するように生成され得る。この修正された予測経路は、ホスト車両のナビゲーション動作を決定するのに有用であり得る。例えば、ナビゲーションシステムは、ホスト車両の予測経路と目標車両の予測経路が交差していると決定し得る。ベクトル場に基づいて、ナビゲーションシステムは、経路が交差する車両の前方の距離を決定し得る。従って、ホスト車両は、ブレーキ動作(例えば、安全な車間距離を維持するため)、回避動作、加速動作等を実行すべきか否かを判断し得る。
図31は、開示される実施形態による、ベクトル場に基づいてホスト車両をナビゲートするための例示的なプロセス3100を示すフローチャートである。プロセス3100は、上記で説明したように、処理ユニット110などの少なくとも1つの処理デバイスによって実行され得る。本開示全体を通して、「プロセッサ」という用語は、「少なくとも1つのプロセッサ」の省略形として使用されることを理解されたい。言い換えれば、プロセッサは、そのような構造が配置されているか、接続されているか、又は分散されているかにかかわらず、論理演算を実行する1つ又は複数の構造を含み得る。幾つかの実施形態では、非一時的なコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサにプロセス3100を実行させる命令を含み得る。更に、プロセス3100は、必ずしも図31に示すステップに限定されるものではなく、本開示全体を通して説明される様々な実施形態の任意のステップ又はプロセスもまた、図27~図30に関して上記で説明されたものを含む、プロセス3100に含まれ得る。
ステップ3110において、プロセス3100は、車両のカメラから、車両の環境から撮像された少なくとも1つの画像を受信することを含み得る。例えば、画像取得ユニット120は、ホスト車両200の環境を表す1つ又は複数の画像を撮像し得る。撮像された画像は、図27~図28に関して上記で説明されたような画像に対応し得る。
ステップ3120において、プロセス3100は、少なくとも1つの画像を分析して、少なくとも1つの画像で表される車両の環境内の道路トポロジ特徴を識別することを含み得る。上記で説明したように、道路トポロジ特徴は、ホスト車両の環境内に含まれる任意の自然又は人工の物体又は他の特徴であり得る。幾つかの実施形態では、道路トポロジ特徴は、路面2730等の路面を含み得る。道路トポロジは、道路区分の屈曲又は曲線(例えば、曲線2850)、道路の端部(例えば、道路端部2740、2742、2810、及び/又は2820)、道路境界(道路端部2820等)に関連付けられた障壁、縁石、壁、ガードレール等の他の特徴を含み得る。道路トポロジは、合流レーン、出口ランプ、横断歩道(例えば、横断歩道2840)、交差点、レーン分割、私道、又は道路の他の様々な特徴等の特徴を含み得る。幾つかの実施形態では、路面又は障壁の高さ等、上記で説明した特徴のうちの1つ又は複数の高さは、道路トポロジ特徴として検出され得る。幾つかの実施形態では、道路トポロジ特徴を識別するために少なくとも1つの画像を分析することは、トレーニングされたシステムを使用して少なくとも1つの画像を分析することを含み得る。例えば、トレーニングされたシステムは、上記で説明したように、ニューラルネットワークを含み得る。
ステップ3120は更に、少なくとも1つの画像を分析して、少なくとも1つの画像に関連付けられた少なくとも1つの点を識別することを含み得る。例えば、少なくとも1つの点は、上記で説明したように、点2910に対応し得る。少なくとも1つの点は、少なくとも1つの画像の少なくとも1つのピクセルに関連付けられ得て、幾つかの実施形態では、少なくとも1つの画像の複数のピクセルに関連付けられ得る。少なくとも1つの点は、少なくとも1つの画像内の様々な位置に対応し得る。幾つかの実施形態では、少なくとも1つの点は、少なくとも1つの点を含む車両の予測される走行経路の少なくとも一部に沿って含まれ得る。例えば、少なくとも1つの点は、ホスト車両200又は目標車両2720の経路に沿い得る。幾つかの実施形態では、少なくとも1つの点は、車両の位置に対応し得ない。例えば、少なくとも1つの点は、少なくとも1つの画像に関連付けられた任意の点として選択され得る。他の実施形態では、少なくとも1つの点は、グリッド又は他の事前定義された間隔に基づいて決定され得る。
ステップ3130において、プロセス3100は、識別された道路トポロジ特徴に基づいて、少なくとも1つの点に関連付けられた車両の環境内の推定経路を決定することを含み得る。推定経路は、予測経路3010、3012、3014、及び3020等、画像内の少なくとも1つの点に対応する位置からの予測される走行経路に対応し得る。幾つかの実施形態では、推定経路は、ホスト車両の予測経路であり得る。従って、その位置は車両の前方にあり得る。幾つかの実施形態では、車両の現在の速度又は計画された速度に基づいて、車両は、所定の時間(例えば、1秒、2秒、3秒等)内の位置に位置し得る。幾つかの実施形態では、推定経路は、車両の前方の走行経路に沿った車両の動きのベクトル予測に対応し得る。車両の前方の走行経路に沿った車両の動きのベクトル予測は、所定の時間(例えば、1秒、2秒、3秒等)内に車両によって横断可能であり得る。プロセス3100は、推定経路に基づいて車両の進行方向を予測することを更に含み得る。幾つかの実施形態では、予測経路は、目標車両2720等の目標車両に関連付けられ得る。従って、プロセス3100は、推定経路に基づいて、検出された目標車両の進行方向を予測することを含み得る。
ステップ3140において、プロセス3100は、推定経路に基づいて車両にナビゲーション動作を実施させることを含み得る。例えば、ナビゲーション動作は、現在の速度を維持すること、現在の方向を維持すること、ブレーキ動作を実行すること、横方向の動き(例えば、レーン変更、回避動作等)を実行すること、加速すること、又は同様のナビゲーション動作であり得る。幾つかの実施形態では、プロセス3100は、推定経路を車両の外部の位置に送信することを更に含み得る。例えば、位置は、目標車両2720、別のホスト車両(例えば、上記で説明した車両1205~1225)、又は他の車両等の別の車両を含み得る。幾つかの実施形態では、位置は、上記で説明したサーバ1230等のサーバであり得る。
幾つかの実施形態では、プロセス3100は、少なくとも1つの画像を分析して、少なくとも1つの画像に関連付けられた第2の点を識別することを更に含み得る。処理ユニット110は、識別された道路トポロジ特徴に基づいて、第2の点に関連付けられた車両の環境内の推定された第2の経路を決定するように構成され得る。プロセス3100は、推定された第2の経路に基づいて、車両に第2のナビゲーション動作を実施させることを含み得る。
図32は、開示される実施形態による、ベクトル場に基づいてホスト車両をナビゲートするための例示的なプロセス3200を示すフローチャートである。プロセス3200は、上記で説明したように、処理ユニット110などの少なくとも1つの処理デバイスによって実行され得る。幾つかの実施形態では、非一時的なコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサにプロセス3200を実行させる命令を含み得る。更に、プロセス3100は、必ずしも図32に示すステップに限定されるものではなく、本開示全体を通して説明される様々な実施形態の任意のステップ又はプロセスもまた、プロセス3100に関して上記で説明されたものを含む、プロセス3200に含まれ得る。
ステップ3210において、プロセス3200は、車両のカメラから、車両の環境から撮像された少なくとも1つの画像を受信することを含み得る。例えば、画像取得ユニット120は、ホスト車両200の環境を表す1つ又は複数の画像を撮像し得る。撮像された画像は、図27~図28に関して上記で説明されたような画像に対応し得る。
ステップ3220において、プロセス3200は、少なくとも1つの画像を分析して、少なくとも1つの画像で表される車両の環境内の1つ又は複数の道路トポロジ特徴を識別することを含み得る。例えば、上記で説明したように、道路トポロジ特徴は、路面、路面の高さ、道路区分の屈曲又は曲線、道路の端部、道路境界に関連付けられた障壁、方向転換レーン、合流レーン、出口ランプ、横断歩道、交差点、レーン分割、方向矢印、又は車両の進行方向を示し得る任意の同様の特徴を含み得る。
ステップ3230において、プロセッサ3200は、少なくとも1つの画像の複数の区分のそれぞれについて、識別された1つ又は複数の道路トポロジ特徴に基づいて、複数の区分のうちの1つに対応する車両の環境内の位置での推定経路を決定することを含み得る。幾つかの実施形態では、複数の区分のそれぞれは、少なくとも1つの画像の単一のピクセルに対応し得る。他の実施形態では、複数の区分のそれぞれは、少なくとも1つの画像の複数のピクセルに対応する。例えば、区分は、複数の隣接するピクセルに対応し得る。幾つかの実施形態では、推定経路は、車両の予測経路に対応し得る。従って、推定経路のうちの1つ又は複数は、検出された目標車両の前方の予測される走行経路に対応し、1つ又は複数の推定経路は、車両の前方の予測される走行経路に対応する。
ステップ3240において、プロセス3200は、少なくとも1つの画像の複数の区分に関連付けられた予測経路のうちの少なくとも1つに基づいて、車両にナビゲーション動作を実施させることを含み得る。例えば、ナビゲーション動作は、現在の速度を維持すること、現在の進行方向を維持すること、ブレーキ動作を実行すること、横方向の動きを実行すること、加速すること、又は同様のナビゲーション動作を含み得る。
意味的クレーンの説明
上記で説明したように、自律車両又は半自律車両等の車両は、画像を使用して、車両の環境下でのナビゲーションを支援し得る。上記で説明したように、車両ナビゲーションシステムは、画像を分析して、ナビゲーション動作の決定を支援し得る文脈情報を決定し得る。幾つかの実施形態では、文脈情報は、車両の環境に含まれるレーンに関する情報を含み得る。車両ナビゲーションシステムは、車両が走行している現在のレーン、及び他の周囲のレーンを特徴付けるように構成され得る。例えば、システムは、レーンに関連付けられた進行方向、レーンが対向レーンに関連付けられているか否か、レーンに関連付けられた使用制限、又はナビゲーション動作の決定に関連付けられ得る他の情報を決定し得る。そのような情報はまた、上記で詳細に説明したように、疎なマップ又は他の道路マップを生成及び/又は更新するために中央サーバに提供され得る。
図33は、開示される実施形態による、レーン分析のためにホスト車両によって撮像され得る例示的な画像3300の図である。例えば、画像3300は、上記で詳細に説明したように、画像取得ユニット120を使用して、ホスト車両200の環境から撮像され得る。画像3300は、レーン3310、3312、及び3314等の1つ又は複数のレーンの表現を含み得る。本明細書で使用されるレーンは、一列の車両によって使用するように指定された道路の一部を指し得る。場合によっては、レーンは、図33に示すように、レーンマーク3326及び3322等のレーンマークで分離され得る。例示的な画像3300において、レーン3310は、ホスト車両の現在の走行レーンを表し得る。言い換えれば、ホスト車両200は、レーン3310に沿って走行している間に画像3300を撮像し得る。レーン3312及び3314は、ホスト車両の走行レーンに隣接する走行レーンを含み得る、車両200の環境内の追加のレーンを表し得る。画像3300は、レーン3310、3312、及び/又は3314を特徴付けるための状況を提供し得る他の特徴又は属性を含み得る。例えば、画像3300は、レーン3312に関連付けられた方向矢印3320を含み得て、方向矢印3320は、示すように、レーン3312が左折レーンであることを示し得る。
車両ナビゲーションシステムは、画像3300を分析して、画像内の1つ又は複数のレーンを特徴付け得る。幾つかの実施形態では、車両ナビゲーションシステムは、画像3300を分析して、ホスト車両の走行レーンを識別し得る。図33に示す例では、これはレーン3310に対応し得る。レーン3310は、様々な技術を使用して識別され得る。幾つかの実施形態では、レーン3310は、レーンマーク3324及び3322等のレーンマークに基づいて識別され得る。これらのレーンマークは、物体検出、端部検出、又は他の特徴検出アルゴリズム等の様々な画像分析アルゴリズムに基づいて識別され得る。レーン及びレーンマークの検出に関する追加の詳細は、図24A~図24Dに関して上記で詳細に説明されている。幾つかの実施形態では、レーンは、道路端部3332及び3334等の他の特徴に基づいて検出され得る。車両ナビゲーションシステムは、上記で説明したように、レーン3312及び3314等の1つ又は複数の追加のレーンを検出するように更に構成され得る。追加のレーンは、ホスト車両のレーンと同様の技術を使用して識別され得る。
車両ナビゲーションシステムは、画像3330を更に分析して、追加の走行レーンに関連付けられた属性を識別し得る。属性は、走行レーンに関連付けられた画像から検出され得る任意の品質又は特徴を含み得る。例えば、システムは、レーン3312に関連付けられた方向矢印3320を識別し得る。方向矢印3320(及び/又は画像3300の他の属性)は、様々な技術を使用して検出され得る。幾つかの実施形態では、属性は、上記で説明したように、レーンマーク3322及び3324と同様の物体認識アルゴリズムを使用して検出され得る。車両ナビゲーションシステムによって識別され得る属性の追加の例は、図34を参照して以下に提供される。
車両ナビゲーションシステムは、属性に基づいて、追加の走行レーンの特徴付けを示す情報を決定するように更に構成され得る。レーンの特徴付けは、レーンの任意の説明又は分類を含み得る。幾つかの実施形態では、レーンは、事前定義されたレーン特性カテゴリのセットに従って特徴付けられ得る。特性の例は、レーンの存在、レーンタイプ、レーンの向き、及び/又はレーン方向を含み得る。レーンの存在は、特定のレーンが存在するか否かを示す特性又は値であり得る。レーンの存在は、数値(例えば、レーンが存在することを示す「1」、レーンが存在しないことを示す「0」)、テキスト値(例えば、「存在する」/「存在しない」、「はい」/「いいえ」等)、数値、英数字、記号又はアイコン、又はその他の様々な形式を含む、様々な形式で表し得る。ホスト車両レーンに対する空間的関係(例えば、左に2レーン、左に1レーン、右に1レーン、右に2レーン等)に基づいて識別され得る特定のレーンの存在は、上記で説明したように、画像分析に基づいて決定され得る。
レーンの向きの特性は、そのレーンに関連付けられた交通方向が先行している(すなわち、ホスト車両と同じ方向にある)か、又は対向している(すなわち、ホスト車両とは反対の方向にある)かを示し得る。レーン存在値と同様に、レーンの向きは、数値(例えば、0=先行、1=対向等)、テキスト値(例えば、「先行」/「対向」等)、数値、英数字、記号又はアイコン(例えば、矢印等)、又はその他の様々な形式で表し得る。幾つかの実施形態では、レーンは、中央方向転換レーン、屈曲使用レーン、合流レーン等、双方向であり得る。
レーン方向特性は、レーンに関連付けられた目標方向を示し得る。例えば、前方に直進し続けるレーンは、「直進」レーンとして指定され得て、方向転換レーンは、「左折」又は「右折」レーンとして指定され得る。例えば、レーンが合流レーン(例えば、「左に合流」又は「右に合流」)、出口レーン等であることを示す、他の様々なレーン方向の分類を使用し得る。幾つかの実施形態では、レーン方向は、様々なレーン方向(例えば、1=右、2=左、3=右等)に関連付けられた数値又はコードで表し得る。幾つかの実施形態では、レーンは、複数の方向に関連付けられ得る。例えば、レーンは、車両が(例えば、直進/右折矢印等によって指定されたように)直進し続けるか、又は右折することを可能にし得る。従って、レーンは、別個の「直進/右折」指定を有し得るか、又は複数の指定されたレーン方向(例えば、「直進」及び「右折」)を有し得る。
レーンタイプ特性は、レーン内の走行を許可された車両のタイプ又はクラスが指定し得る、レーンに関連付けられた制限を含み得る。例えば、レーンタイプは、レーンが相乗り専用車両(HOV)レーン又はカープールレーン、トラック専用レーン、トラック禁止レーン、バス専用レーン、車両重量によって制限されるレーン、自転車レーン、緊急車両専用レーン等であるかを示し得る。レーンタイプには、レーンが路肩(例えば、硬路肩)に関連付けられているか否か、レーンが走行用に開いているか閉じているか否か、レーンが駐車レーン(例えば、駐車メータの列に沿っている、等)であるか否か等、追加の分類を含み得る。幾つかの実施形態では、レーンタイプは、テキスト値又は文字列(例えば、「HOV」、「バス専用」等)によって表し得る。他の実施形態では、レーンタイプは、様々なレーンタイプに関連付けられた数値又はコード(例えば、0=不明、1=路肩、3=自転車レーン、4=カープール等)によって表し得る。
幾つかの実施形態では、レーンの特徴付けは、ホスト車両レーンに対する空間的関係を含み得る。例えば、レーンは、特定の方向(例えば、左折又は右折)でのホスト車両レーンからの特定の数のレーン(例えば、1、2、3、等)として特徴付けられ得る。レーンの表面タイプ(例えば、土、砂利、アスファルト、コンクリート、等)、レーン条件(例えば、濡れている、乾燥している、損傷している、等)、レーンの色、レーンの高さ、又は他の様々な特性を含む、他の様々な特徴付けも識別し得る。幾つかの実施形態では、これらの例のうちの1つ又は複数は、レーンタイプ等の別の分類属性と組み合わせられ又は含まれ得るか、又は上記で説明した他のレーンの特徴付けを識別するために使用され得る。
幾つかの実施形態では、レーンの特徴付けを示す情報を決定することは、少なくとも部分的に、履歴情報に基づき得る。履歴情報は、画像が撮像される前に記録されたレーン又は道路区分に関連付けられた任意の情報を含み得る。幾つかの実施形態では、履歴情報は、ホスト車両によって(例えば、同じ走行中の道路区分に沿った前の地点で、同じ道路区分に沿った以前の走行中に、等)撮像され得る。従って、履歴情報は、メモリ140等のホスト車両のメモリに記憶され得る。他の実施形態では、履歴情報は、他の車両によって撮像され得て、従って、セントラルロケーション(例えば、サーバ1230)に、又はナビゲーション情報(例えば、マップデータベース160)の組の一部として記憶され得る。幾つかの実施形態では、履歴情報は、疎なマップに含まれ得るか、又は関連付けられ得る。履歴情報は、現在の画像が撮像される前の任意の期間に撮像され得る。例えば、履歴情報は、現在の分析の数年、数ヶ月、数週間、又は数日前であり得るか、又は分析の数時間、数分、又は数秒前であり得る。幾つかの実施形態では、履歴情報は、道路区分に沿った前の位置でホスト車両によって撮像されたレーン特性の指標であり得る。例えば、ホスト車両は、次のレーン分割を示す交通標識を検出し、画像を分析してレーンの特徴付けを決定し得て、以前に識別された分割を確認し得る。例えば、方向矢印3320は、レーン3312が方向転換レーンであり、従って、レーン3310及び3314から分割されていることを示し得る。
上記の様々な画像分析及び特徴付けのステップは、様々な方法を使用して実行され得る。幾つかの実施形態では、これらのステップのうちの1つ又は複数は、トレーニングされた機械学習モデルを使用して実行され得る。例えば、ニューラルネットワーク(例えば、畳み込みニューラルネットワーク、リカレントニューラルネットワーク等)は、トレーニングデータの組に基づいてレーンの特徴付けを示す情報を決定するようにトレーニングされ得る。トレーニングデータは、画像内の各レーンが特定のレーンの特徴付けでタグ付けされるように調査及び特徴付けされた画像の組を含み得る。従って、トレーニングされたニューラルネットワークモデルは、入力画像に基づいてレーンの特徴付けを出力するように構成され得る。幾つかの実施形態では、ニューラルネットワークは、開示される実施形態による、レーンの特徴付けを決定するために一連の2つ以上の画像を使用するようにトレーニングされ得る。
幾つかの実施形態では、ニューラルネットワークモデル(又は別個のニューラルネットワークモデル)はまた、画像内のレーン及び/又は属性を識別するようにトレーニングされ得る。例えば、トレーニングデータセットは、トレーニングされたニューラルネットワークモデルが入力画像内のレーン及び属性を検出及び識別するように構成されるように、識別されたレーン(例えば、レーン3310、3312、及び3314)及び/又は属性(例えば、方向矢印3320)を有するトレーニング画像の組を含み得る。結果として得られるトレーニングされたニューラルネットワークは、モデルが正しくトレーニングされていることを確認するために検証され得る。
レーンの特徴付けを示す情報を決定することに加えて、ナビゲーションシステムは、情報の関連付けられた信頼度を決定するように更に構成され得る。信頼度は、レーンの特徴付けが正確であるという信頼又は確実性を示し得る。幾つかの実施形態では、信頼度は、画像で検出された属性のタイプに基づいて決定され得る。例えば、レーンの表面に描かれ得る方向矢印に基づいて決定されたレーン方向は、実線のレーンマーク等に基づいて決定されたレーン方向よりも高い信頼度を提供し得る。同様に、方向矢印に基づいて決定されたレーンの向きは、検出されたレーンマークの色よりも高い信頼度を示し得る。幾つかの実施形態では、信頼度は、属性が正しく検出されたという信頼を反映し得る。例えば、更に遠くで検出された属性又は(例えば、雪、土、その他の物体等により)部分的に覆われた属性は、より明確に検出できる属性よりも信頼性が低くなり得る。信頼度は、任意の適切な形態又は形式で表し得る。例えば、信頼度は、スケール(例えば、1~10、1~100)、パーセンテージ、テキストベースの信頼分類子(例えば、「低」、「中」、「高」等)、又は様々なその他の形態又はそれらの組み合わせで表し得る。信頼度は、レーンに関連付けられた決定された特徴付けの全ての全体的な信頼度を示す一般的な信頼度であり得る。代替又は追加として、各特徴付け(例えば、レーンの存在、レーン方向、レーンの向き、レーンタイプ等)は、それ自体の別個の信頼度に関連付けられ得る。幾つかの実施形態では、信頼度は、上記で説明したニューラルネットワークの出力であり得る。例えば、ニューラルネットワークは、入力されたトレーニングデータとどれだけ密接に相関しているかに基づいて、検出された属性がレーンの特徴付けにどれだけ密接に対応するかの指標を出力するように構成され得る。
幾つかの実施形態では、システムは、「単一フレーム」ニューラルネットワークとして実装され得る。そのような実施形態では、カメラ又は他の撮像デバイスによって撮像された単一の画像フレームを分析して、画像内の特徴を識別し得る。これは、画像から道路標識等の特徴を検出するように構成される専用のニューラルネットワークを使用して実行し得る。これらの画像特徴は、トレーニングされたニューラルネットワークモデルに入力され得て、レーンの特徴付け及び確率は、上記で説明したように、出力として生成され得る。従って、単一フレーム段階では、システムは前のフレームのコンテキストなしで単一フレームを処理する。幾つかの実施形態では、システムは、「マルチフレーム」ニューラルネットワークとして実装され得る。そのような実施形態では、システムは、単一フレーム分析を使用するデータ出力を、標識の予測位置、前のフレームの標識の値等の前のフレームの分析を通じて決定された情報と組み合わせ得る。従って、前のフレームから検出された特徴又は物体を使用して、現在の画像フレーム内の特徴及び物体を識別し得る。同様に、トレーニングされたニューラルネットワークによって出力されたレーンの特徴付け及び関連付けられた信頼度は、現在のフレームで生成されたレーンの特徴付けの精度を改善するために、2つ以上のフレームにわたって平均化され得る。
方向矢印3320は、画像内で識別され得る例示的な属性として本開示全体を通して使用されるが、様々な他の属性が検出され得る。図34は、開示される実施形態による、レーンの特徴付けを決定するためにホスト車両3410によって識別され得る例示的な属性を示す。幾つかの実施形態では、属性は、道路の表面に描かれた記号を含み得る。例えば、属性は、レーン3422がHOVレーン又はカープールレーンであることを示し得るHOVダイアモンド3412を含み得る。従って、レーン3422は、「HOV」レーンタイプで特徴付けられ得る。別の例として、ホスト車両3410は、レーン3424が自転車レーンであることを示す、自転車記号3414(図34に示すように、方向矢印も含み得る)を検出し得る。従って、レーン3426は、上記で説明したうに、「自転車レーン」レーンタイプで特徴付けられ得る。レーンの向き及び/又はレーン方向はまた、自転車の記号の向き、及び存在する場合は、関連付けられた方向矢印に基づいて決定し得る。譲れの記号、合流記号、一時停止線、スピードハンプ矢印、危険物(HAZMAT)記号、進入禁止記号等を含む他の様々な道路マークは、上記で説明したうちの1つ又は複数のレーンの特徴付けを示し得る。
幾つかの実施形態では、属性は、道路の表面に描かれたテキストを含み得る。例えば、ホスト車両3410は、レーン3426がバス専用に制限されていることを示す「バス専用」テキスト3416を検出し得る。従って、レーン3426は、「バス専用」のレーンタイプを有するものとして指定し得る。ホスト車両3410によって検出され得るテキストの他の例には、「停車」、「減速」、「横断歩道」、「スクールバス専用」、「駐停車禁止」、「出口専用」、又は道路の表面に描かれ得る他の任意のテキストを含み得る。幾つかの実施形態では、テキストは、上記で説明したHOV及び自転車レーンの記号と同様に、記号として検出され得る。他の実施形態では、例えば、光学式文字認識(OCR)又は同様の技術を使用してテキストを解釈し、テキスト内の文字を識別し得る。テキストは必ずしもレーンタイプを指定しているとは限らないが、レーンの特徴付けを決定するための他の文脈情報を提供し得る。例えば、テキストの向きを解釈して、関連付けられたレーンの向きを決定し得る。
幾つかの実施形態では、レーンの他の特性は、レーンの特徴付けを検出する目的で属性として検出され得る。幾つかの実施形態では、システムは、レーンの表面に描かれた色を検出し得る。例えば、レーン3422は、HOV又はカープールレーンであることを示す青色又は緑色であり得る。同様に、レーン3426は、バス専用レーンであることを示す赤色であり得る。これらの色の関連付けは、例としてのみ提供されており、他の様々な色の指定を使用し得る。幾つかの実施形態では、ストライプ又はパターンも、特定のレーンタイプを指定するために使用され得る。特定のレーンを特徴付けるために使用され得るレーン幅も識別され得る。例えば、レーン3424は、ホスト車両3410が走行しているレーンよりも狭いことがあり、これは、自転車レーン(又は硬路肩等)であることを示し得る。
幾つかの実施形態では、属性は、ホスト車両レーン及び/又は追加のレーンを分離するレーンマークを含み得る。幾つかの実施形態では、これは、レーンマークが実線であるか破線であるかに基づき得る。例えば、画像3300において、実線3322は、レーン3312が方向転換レーンであることを示し得るが、破線3324は、レーン3310及び3314が直進し続けることを示し得る。異なるレーンマークの太さ、破線スタイル、複合タイプ(例えば、1本又は2本の線)、色等は、異なるタイプのレーンを示し得る。幾つかの実施形態では、複合線タイプ(例えば、二重の実線、実線及び破線、又は二重の破線)は、2つのレーンの向きの間の分割を示し得る。従って、車両ナビゲーションシステムは、複合線の反対側のレーンを「対向」として特徴付け得る。同様に、レーンマークの色はレーンの向きを示し得る。例えば、白いレーンマークで分離されたレーンは同じレーンの向きを有し得るが、黄色の線(又は、二重の黄色の線)で分離されたレーンは反対のレーンの向きを示し得る。白色の実線は、異なるレーンタイプを有するレーン間の分離を示し得る。例えば、白色の実線の反対側のレーンは、硬路肩、バス専用レーン、HOVレーン等として指定し得る。
幾つかの実施形態では、属性は、ホスト車両の環境内で検出された他の物体を含み得る。例えば、レーンの特徴付けは、ホスト車両3410の環境内の車両3418等の他の車両に基づいて識別され得る。ナビゲーションシステムは、車両3418が車両3410に対向している、及び/又は車両3410の進行方向と反対の方向にレーン3428に沿って移動していると判断し得る。これは、レーン3428が「対向」レーンの向きを有していることを示し得る。同様に、ホスト車両3410と同じ方向に走行する車両は、車両に関連付けられたレーンが「先行」レーンの向きを有するものとして指定されるべきであることを示し得る。レーンに停車している車両(又は車両の列)は、そのレーンを「駐車レーン」のレーンタイプとして指定すべきであることを示し得る。車両に基づいて決定されたその他の情報が使用され得る。例えば、車両の動き、方向指示器の使用、車内信号、又は他の属性は、レーンが方向転換レーンであることを示し得る。従って、レーン方向は、この決定を反映し得る。別の例として、車両のタイプ(例えば、バス、緊急車両)は、レーンタイプの特徴付けを示し得る。
幾つかの実施形態では、属性は、道路標識3420及び3422等の道路標識を含み得る。例えば、道路標識3420は、道路区分内の3つのレーンのレーン方向を示し得る。車両ナビゲーションシステムは、(例えば、検出されたレーンの空間的な向き及び識別されたレーン方向の空間的な向きに基づいて)道路標識3420で識別されたレーン方向を、ホスト車両3410の環境内で検出されたレーンと相関させ得る。幾つかの実施形態では、3つの関連付けられたレーンのそれぞれのレーンの向きも決定し得る。同様に、道路標識3422は、特定のレーンが「対向」レーンの向きを有していることを示し得て、道路標識3422は、レーンの特徴付けを識別するために使用され得る。幾つかの実施形態では、車両ナビゲーションシステムは、テキスト認識(例えば、OCR)を実行して、検出された道路標識を更に分析して、レーンの特徴付けを決定し得る。一時停止標識、方向転換矢印又は方向矢印の標識、速度制限標識、道路工事標識、進入禁止標識、追越区間標識、譲れの標識、路線標識、「トラック通行止」標識、「自転車通行止」標識、又は道路区分の1つ又は複数のレーンの特徴付けに関連し得るその他の標識等、任意の他の様々な標識が識別され得る。
図35は、開示される実施形態による、レーンの特徴付けが実行され得る例示的な道路区分3500の図である。道路区分3500は、複数のレーン3520、3522、3524、及び3526を含み得る。図35に示すように、ホスト車両3510は、レーン3520に沿って道路区分3500を走行し得る。上記で説明したように、ホスト車両3510に関連付けられた車両ナビゲーションシステムは、ホスト車両3510によって撮像された画像に基づいてレーン3520を検出し得る。更に、車両ナビゲーションシステムは、道路区分3500に沿った少なくとも1つの追加の走行レーンの表現を識別し得る。幾つかの実施形態では、追加のレーンは、ホスト車両のレーンに隣接するレーンを含み得る。例えば、レーンは、ホスト車両の左側の1レーンのレーン3522、又はホスト車両の右側の1レーンのレーン3524であり得る。他の実施形態では、追加のレーンは、ホスト車両のレーンから2レーン以上離れ得る。例えば、追加のレーンは、レーン3510の左側2レーン目のレーン3526であり得る。レーンはまた、ホスト車両のレーンの右側2レーンのレーンであり得る(この例では、存在し得ないか、又は硬路肩であり得る、等)。
検出されたレーンに基づいて、車両ナビゲーションシステムは、上記で説明したように、追加のレーンを特徴付ける情報を識別し得る。例えば、道路区分3526において、車両ナビゲーションシステムは、レーン3526、3522、及び3524をレーン存在値の「存在する」を有するように特徴付け得る。車両ナビゲーションシステムは、ホスト車両3510の右側2レーン目のレーンを「存在しない」として更に分類し得る。図35において何も示されていないか、又は何も識別されていないが、車両ナビゲーションシステムは、レーンの向き、レーン方向、レーンタイプ等の更なる特徴付けを識別するために、レーン3520~3526に関連付けられた属性を識別し得る。幾つかの実施形態では、レーンの特徴付けは、道路区分3500に沿った特定の位置に関連付けられ得る。例えば、各レーンの特徴付けは、ホスト車両3510の前方の特定の距離D1で決定され得る。幾つかの実施形態では、D1は、ホスト車両3510の前方の所定の距離(例えば、3メートル、5メートル、7メートル、10メートル、又は任意の適切な距離)であり得る。幾つかの実施形態では、道路の特徴付けは、複数の位置で決定され得る。例えば、第2の組の特徴付けは、距離D1とは異なり得る、ホスト車両3510から離れた距離D2で決定され得る。例示的な例として、ホスト車両3510は、7メートル先(例えば、D1)及び40メートル先(例えば、D2)で道路の特徴付けを決定し得る。しかし、本開示は、いかなる特定の距離又は位置の数にも限定されないことを理解されたい。場合によっては、各レーンの特徴付けは、D1とD2で同じであり得る。他の例では、特徴付けが異なり得る。例えば、(撮像された画像で表されるように)道路区分3500内の特徴の分析に基づいて、車両ナビゲーションシステムは、特定のレーンがD1で第1の分類を有し、D2で第2の異なる分類を有すると決定し得る。これは、D1とD2との間での、レーンタイプの変更(例えば、通常のレーンからバス又はHOV専用レーンへ)、レーン方向の変更(例えば、直進レーンから方向転換レーンへの変更)、レーンの向きの変更(例えば、中央方向転換レーン)、レーンの存在の変更(例えば、レーンの終了又は開始)等に起因し得る。
幾つかの実施形態では、距離D2での位置に関連付けられたレーン特性は、位置がホスト車両3510からの距離D1であるときに、後で参照されるレーンの特徴付けの予測を表し得る。例えば、距離D2で決定されたレーンの特徴付けは、上記で説明して履歴データとして記憶され得る。従って、これらの特徴付けは、ホスト車両3510が道路区分3500内の関連付けられた位置から距離D1であるときに、後のレーンの特徴付けを決定するための参照として使用され得る。従って、後に検出される属性は、レーンの特徴付けを明確に示し得ないが、以前に検出された属性を裏付ける(又は少なくとも縮約していない)情報であり得る。
図36は、開示される実施形態による意味的レーン特徴に基づいてホスト車両をナビゲートするための例示的なプロセス3600を示すフローチャートである。プロセス3600は、上記で説明したように、処理ユニット110などの少なくとも1つの処理デバイスによって実行され得る。幾つかの実施形態では、非一時的なコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサにプロセス3600を実行させる命令を含み得る。更に、プロセス3600は、必ずしも図36に示すステップに限定されるものではなく、本開示全体を通して説明される様々な実施形態の任意のステップ又はプロセスもまた、図33~図35に関して上記で説明されたものを含む、プロセス3100に含まれ得る。
ステップ3610において、プロセス3600は、車両のカメラから、ホスト車両の環境から少なくとも1つの撮像された画像を受信することを含み得る。例えば、画像取得ユニット120は、ホスト車両200の環境を表す1つ又は複数の画像を撮像し得る。撮像された画像は、図33に関して上記で説明されたような画像に対応し得る。
ステップ3620において、プロセス3600は、少なくとも1つの画像を分析して、道路区分に沿った車両の走行レーンの表現を識別することを含み得る。例えば、ホスト車両3510は、撮像された画像を分析して、レーン3520の表現を識別し得る。幾つかの実施形態では、ステップ3620は、少なくとも1つの画像を分析して、道路区分に沿った少なくとも1つの追加の走行レーンの表現を識別することを更に含み得る。上記で説明したように、少なくとも1つの追加の走行レーンは、ホスト車両の走行レーンに隣接し得る。例えば、ホスト車両3510は、レーン3522及び/又はレーン3524を識別し得る。幾つかの実施形態では、少なくとも1つの追加の走行レーンは、ホスト車両の走行レーンから1つ又は複数のレーン離れ得る。例えば、ホスト車両3510は、図35に示すように、レーン3526を識別し得る。幾つかの実施形態では、属性は、図33に示すように、方向矢印3320等の方向矢印を含み得る。そのような方向矢印は、を含み得る。
ステップ3630において、プロセス3600は、少なくとも1つの画像を分析して、少なくとも1つの追加の走行レーンに関連付けられた属性を識別することを含み得る。上記で説明したように、属性は、レーンの特性を示し得る特定のレーンに関連付けられた任意の特徴であり得る。従って、属性は、少なくとも1つの画像の少なくとも一部を含み得る。幾つかの実施形態では、追加の走行レーンに関連付けられた属性を識別するために少なくとも1つの画像を分析することは、トレーニングされたシステムを使用して少なくとも1つの画像を分析することを含み得る。例えば、トレーニングされたシステムは、ニューラルネットワークを含む。
例示的な属性は、図33及び図34に関して上記で説明されている。幾つかの実施形態では、属性は記述子を含み得て、記述子は、ホスト車両の環境に含まれる任意の形式の記述要素を含み得る。幾つかの実施形態では、記述子は、方向矢印を含み得る。例えば、方向矢印は、方向転換矢印、複合矢印(例えば、方向転換/直進矢印、複数の方向転換矢印)、合流矢印、Uターン矢印、流れ方向矢印(例えば、スピードハンプ等)等を含み得る。幾つかの実施形態では、記述子はテキストを含み得る。例えば、記述子は、図34に関して上記で説明したように、「バス専用」のテキスト3416、又は同様のテキストを含み得る。幾つかの実施形態では、記述子は記号を含み得る。例えば、図34に示すように、記号はHOVダイアモンド3412又は自転車アイコン3414を含み得る。幾つかの実施形態では、記号は、レーンマークを含み得る。例えば、記号は、破線のレーンマーク、二重の破線マーク、実線のレーンマーク、二重の実線レーンマーク、又は実線マークと破線マークとの組み合わせを含み得る。幾つかの実施形態では、記号は、レーン又はレーンマークの色等の色を含み得る。幾つかの実施形態では、記号は、道路標識3420及び/又は3422等の方向標識を含み得る。
上記で説明したように、属性は、目標車両の観察された動きに関連付けられ得る。幾つかの実施形態では、目標車両は、図34に関して上記で説明した目標車両3418等、ホスト車両に接近していることが観察され得る。同様に、目標車両がホスト車両から離れて走行していることが観察され得る。幾つかの実施形態では、動きは、目標車両の転換方向を含み得る。例えば、目標車両が交差点に接近していることが観察され得る。動きは、交差点に対する目標車両の転換方向を含み得て、転換方向は、例えば、目標車両が走行しているレーンに関連付けられたレーン方向を示し得る。
ステップ3640において、プロセス3600は、属性に基づいて、少なくとも1つの追加の走行レーンの特徴付けを示す情報を決定することを含み得る。幾つかの実施形態では、少なくとも1つの追加の走行レーンの特徴付けを示す情報は、レーンの向きを含み得る。例えば、レーンの向きは、対向レーン又は先行レーンを含み得る。幾つかの実施形態では、少なくとも1つの追加の走行レーンの特徴付けを示す情報は、レーン方向を含み得る。例えば、レーン方向は、左折、右折、又は直進を含み得る。幾つかの実施形態では、少なくとも1つの追加の走行レーンの特徴付けを示す情報は、レーンタイプを含み得る。例えば、レーンタイプは、HOVレーン、バスレーン、自転車レーン、又は硬路肩を含み得る。幾つかの実施形態では、少なくとも1つの追加の走行レーンの特徴付けを示す情報は、少なくとも1つの追加の走行レーンとホスト車両の走行レーンとの間の空間的関係を含み得る。例えば、空間的関係は、右側に1レーン増、2レーン増、3レーン増、又は左側側に1レーン増、2レーン増、3レーン増、等の指定を含み得る。様々な追加のレーンの特徴付けの例については、上記で説明されている。
幾つかの実施形態では、特徴付けは、少なくとも部分的に、履歴情報に基づき得る。従って、少なくとも1つの追加の走行レーンの特徴付けを示す情報を決定することは、履歴情報を分析することを更に含み得る。上記で説明したように、履歴情報は、少なくとも1つの画像を撮像する前に撮像された少なくとも1つの履歴画像の分析から決定された情報を含み得る。例えば、履歴情報は、ホスト車両の環境内のレーン分割の存在を示し得る。次いで、現在の画像で識別された属性を使用して、レーン分割の存在を確認し得る。幾つかの実施形態では、属性は、レーン分割の明示的な指標であり得ないが、以前に識別されたレーン分割と一致する属性であり得る。例えば、属性には、以前に識別されたレーン分割と矛盾し得る道路区分内の矢印又は他の特徴が欠如し得る。履歴情報は、上記で説明したように、履歴画像内の特定の位置(例えば、距離D2)からの追加のレーンの特徴付けに対応し得る。
ステップ3650において、プロセス3600は、道路ナビゲーションモデルの更新に使用するために、少なくとも1つの追加の走行レーンの特徴付けを示す情報をサーバに送信することを含み得る。例えば、ホスト車両200は、特徴付けを示す情報を、上記で説明したサーバ1230等の中央サーバに送信し得る。中央サーバは、上記で説明したように、情報を使用して疎なマップを生成及び/又は更新し得る。幾つかの実施形態では、プロセス3600は、上記で説明したように、少なくとも1つの追加の走行レーンの特徴付けを示す情報の信頼度を決定することを更に含み得る。幾つかの実施形態では、信頼度は、上記で説明したニューラルネットワーク等のトレーニングされたシステムを使用して決定され得る。
前述の説明は、例示の目的のために提示されたものである。これは網羅的ではなく、開示された正確な形態又は実施形態に限定されない。修正及び適合は、考察及び開示される実施形態の実施から当業者には明らかになるであろう。更に、開示される実施形態の態様は、メモリに記憶されていると説明されているが、これらの態様は、2次ストレージデバイス、例えば、ハードディスク又はCD ROM、又は他の形態のRAMもしくはROM、USBメディア、DVD、Blu-ray(登録商標)、4K Ultra HD Blu-ray、又はその他の光学ドライブメディア等他のタイプのコンピュータ可読媒体にも記憶できることを当業者なら理解するであろう。
記載された説明及び開示された方法に基づくコンピュータプログラムは、経験豊富な開発者のスキル内である。様々なプログラム又はプログラムモジュールは、当業者に既知の技術のいずれかを使用して作成できるか、又は既存のソフトウェアに関連付けて設計できる。例えば、プログラムセクション又はプログラムモジュールは、.Net Framework、.Net Compact Framework(及び、Visual Basic(登録商標)、C等の関連言語)、Java(登録商標)、C++、Objective-C、HTML、HTML/AJAXの組み合わせ、XML、又はJavaアプレットを含むHTMLにおいて、又はこれらを使用して設計できる。
更に、例示的な実施形態が本明細書に記載されているが、範囲には、本開示に基づいて当業者によって理解されるように、同等の要素、修正、省略、(例えば、様々な実施形態にわたる態様の)組み合わせ、適合、及び/又は変更を有する任意の及び全ての実施形態が含まれる。請求項における限定は、請求項で使用されている文言に基づいて広く解釈されるべきであり、本明細書に記載されている実施例又は本出願の審査中の実施例に限定されるものではない。実施例は非排他的であると解釈されるべきである。更に、開示された方法のステップは、ステップの並べ替え及び/又はステップの挿入又は削除を含む、任意の方法で変更され得る。従って、本明細書及び実施例は例示としてのみ考慮されることを意図しており、真の範囲及び精神は、以下の特許請求の範囲及びそれらの同等物の全範囲によって示す。
更に、例示的な実施形態が本明細書に記載されているが、範囲には、本開示に基づいて当業者によって理解されるように、同等の要素、修正、省略、(例えば、様々な実施形態にわたる態様の)組み合わせ、適合、及び/又は変更を有する任意の及び全ての実施形態が含まれる。請求項における限定は、請求項で使用されている文言に基づいて広く解釈されるべきであり、本明細書に記載されている実施例又は本出願の審査中の実施例に限定されるものではない。実施例は非排他的であると解釈されるべきである。更に、開示された方法のステップは、ステップの並べ替え及び/又はステップの挿入又は削除を含む、任意の方法で変更され得る。従って、本明細書及び実施例は例示としてのみ考慮されることを意図しており、真の範囲及び精神は、以下の特許請求の範囲及びそれらの同等物の全範囲によって示す。
[請求項1]
車両のためのナビゲーションシステムであって、
前記車両のカメラから、前記車両の環境から撮像された少なくとも1つの画像を受信することと、
前記少なくとも1つの画像を分析して、前記少なくとも1つの画像及び前記少なくとも1つの画像に関連付けられた少なくとも1つの点で表される前記車両の前記環境内の道路トポロジ特徴を識別することと、
識別された前記道路トポロジ特徴に基づいて、前記少なくとも1つの点に関連付けられた前記車両の前記環境内の推定経路を決定することと、
前記推定経路に基づいて、前記車両にナビゲーション動作を実施させることと
を行うようにプログラムされた少なくとも1つのプロセッサ
を備える、ナビゲーションシステム。
[請求項2]
前記道路トポロジ特徴が路面を含む、請求項1に記載のナビゲーションシステム。
[請求項3]
前記道路トポロジ特徴が路面の高さを含む、請求項1に記載のナビゲーションシステム。
[請求項4]
前記道路トポロジ特徴が、道路区分の屈曲又は曲線、道路の端部、又は道路境界に関連付けられた障壁のうちの少なくとも1つを含む、請求項1に記載のナビゲーションシステム。
[請求項5]
前記道路トポロジ特徴が、方向転換レーン、合流レーン、出口ランプ、横断歩道、交差点、又はレーン分割のうちの少なくとも1つを含む、請求項1に記載のナビゲーションシステム。
[請求項6]
前記少なくとも1つの画像を分析して、前記道路トポロジ特徴を識別することが、トレーニングされたシステムを使用して前記少なくとも1つの画像を分析することを含む、請求項1に記載のナビゲーションシステム。
[請求項7]
前記トレーニングされたシステムが、ニューラルネットワークを含む、請求項6に記載のナビゲーションシステム。
[請求項8]
前記少なくとも1つの点が、前記少なくとも1つの画像の少なくとも1つのピクセルに関連付けられている、請求項1に記載のナビゲーションシステム。
[請求項9]
前記少なくとも1つの点が、前記少なくとも1つの画像の複数のピクセルに関連付けられている、請求項1に記載のナビゲーションシステム。
[請求項10]
前記推定経路が、前記画像内の前記少なくとも1つの点に対応する位置からの予測される走行経路に対応する、請求項1に記載のナビゲーションシステム。
[請求項11]
前記位置が前記車両の前方にある、請求項10に記載のナビゲーションシステム。
[請求項12]
前記車両の現在の速度又は計画された速度に基づいて、前記車両が、所定の時間内に前記位置に位置し得る、請求項10に記載のナビゲーションシステム。
[請求項13]
前記所定の時間が少なくとも1秒である、請求項12に記載のナビゲーションシステム。
[請求項14]
前記推定経路が、前記車両の前方の走行経路に沿った前記車両の動きのベクトル予測に対応する、請求項1に記載のナビゲーションシステム。
[請求項15]
前記車両の前方の前記走行経路に沿った前記車両の前記動きの前記ベクトル予測が、所定の時間内に前記車両によって横断可能である、請求項14に記載のナビゲーションシステム。
[請求項16]
前記所定の時間が少なくとも1秒である、請求項15に記載のナビゲーションシステム。
[請求項17]
前記少なくとも1つのプロセッサが、前記推定経路を前記車両の外部の位置に送信するように更にプログラムされる、請求項1に記載のナビゲーションシステム。
[請求項18]
前記位置が別の車両を含む、請求項17に記載のナビゲーションシステム。
[請求項19]
前記位置がサーバを含む、請求項17に記載のナビゲーションシステム。
[請求項20]
前記少なくとも1つのプロセッサが、前記推定経路に基づいて前記車両の進行方向を予測するように更にプログラムされる、請求項1に記載のナビゲーションシステム。
[請求項21]
前記少なくとも1つのプロセッサが、前記推定経路に基づいて、検出された目標車両の進行方向を予測するように更にプログラムされる、請求項1に記載のナビゲーションシステム。
[請求項22]
前記少なくとも1つの点が、前記少なくとも1つの画像に関連付けられた任意の点として選択される、請求項1に記載のナビゲーションシステム。
[請求項23]
前記少なくとも1つの点が、車両の位置に対応しない、請求項1に記載のナビゲーションシステム。
[請求項24]
前記少なくとも1つの点が、前記少なくとも1つの点を含む前記車両の予測される走行経路の少なくとも一部に沿って含まれる、請求項1に記載のナビゲーションシステム。
[請求項25]
前記少なくとも1つのプロセッサが、前記少なくとも1つの画像を分析して、前記少なくとも1つの画像に関連付けられた第2の点を識別するように更にプログラムされる、請求項1に記載のナビゲーションシステム。
[請求項26]
前記少なくとも1つのプロセッサが、前記識別された道路トポロジ特徴に基づいて、前記第2の点に関連付けられた前記車両の前記環境内の推定された第2の経路を決定するように更にプログラムされる、請求項25に記載のナビゲーションシステム。
[請求項27]
前記少なくとも1つのプロセッサが、前記推定された第2の経路に基づいて、前記車両に第2のナビゲーション動作を実施させるように更にプログラムされる、請求項26に記載のナビゲーションシステム。
[請求項28]
車両のためのナビゲーションシステムであって、
前記車両のカメラから、前記車両の環境から撮像された少なくとも1つの画像を受信することと、
前記少なくとも1つの画像を分析して、前記少なくとも1つの画像で表される前記車両の前記環境内の1つ又は複数の道路トポロジ特徴を識別することと、
前記少なくとも1つの画像の複数の区分のそれぞれについて、識別された前記1つ又は複数の道路トポロジ特徴に基づいて、前記複数の区分のうちの1つに対応する前記車両の前記環境内の位置での推定経路を決定することと、
前記少なくとも1つの画像の前記複数の区分に関連付けられた前記予測経路の少なくとも1つに基づいて、前記車両にナビゲーション動作を実施させることと
を行うようにプログラムされた少なくとも1つのプロセッサ
を備える、ナビゲーションシステム。
[請求項29]
前記複数の区分のそれぞれが、前記少なくとも1つの画像の単一のピクセルに対応する、請求項28に記載のナビゲーションシステム。
[請求項30]
前記複数の区分のそれぞれが、前記少なくとも1つの画像の複数のピクセルに対応する、請求項28に記載のナビゲーションシステム。
[請求項31]
前記複数のピクセルが隣接している、請求項32に記載のナビゲーションシステム。
[請求項32]
前記推定経路のうちの1つ又は複数が、前記車両の前方の予測される走行経路に対応する、請求項28に記載のナビゲーションシステム。
[請求項33]
前記推定経路のうちの1つ又は複数が、検出された目標車両の前方の予測される走行経路に対応する、請求項28に記載のナビゲーションシステム。
[請求項34]
前記道路トポロジ特徴が路面を含む、請求項28に記載のナビゲーションシステム。
[請求項35]
前記道路トポロジ特徴が路面の高さを含む、請求項28に記載のナビゲーションシステム。
[請求項36]
前記道路トポロジ特徴が、道路区分の屈曲又は曲線、道路の端部、又は道路境界に関連付けられた障壁のうちの少なくとも1つを含む、請求項28に記載のナビゲーションシステム。
[請求項37]
前記道路トポロジ特徴が、方向転換レーン、合流レーン、出口ランプ、横断歩道、交差点、又はレーン分割のうちの少なくとも1つを含む、請求項28に記載のナビゲーションシステム。
[請求項38]
ホスト車両のためのナビゲーションシステムであって、前記システムが、
前記ホスト車両のカメラから、前記ホスト車両の環境から撮像された少なくとも1つの画像を受信することと、
前記少なくとも1つの画像を分析して、道路区分に沿った前記ホスト車両の走行レーンの表現及び前記道路区分に沿った少なくとも1つの追加の走行レーンの表現を識別することと、
前記少なくとも1つの画像を分析して、前記少なくとも1つの追加の走行レーンに関連付けられた属性を識別することと、
前記属性に基づいて、前記少なくとも1つの追加の走行レーンの特徴付けを示す情報を決定することと、
道路ナビゲーションモデルの更新に使用するために、前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報をサーバに送信することと
を行うようにプログラムされた少なくとも1つのプロセッサ
を備える、ナビゲーションシステム。
[請求項39]
前記少なくとも1つの追加の走行レーンが、前記ホスト車両の前記走行レーンに隣接している、請求項38に記載のナビゲーションシステム。
[請求項40]
前記少なくとも1つの追加の走行レーンが、前記ホスト車両の前記走行レーンから1つ又は複数のレーン離れている、請求項39に記載のナビゲーションシステム。
[請求項41]
前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報を決定することが、履歴情報を分析することを更に含む、請求項38に記載のナビゲーションシステム。
[請求項42]
前記履歴情報が、前記少なくとも1つの画像を撮像する前に撮像された少なくとも1つの履歴画像の分析から決定された情報を含む、請求項41に記載のナビゲーションシステム。
[請求項43]
前記履歴情報が、前記ホスト車両の前記環境内のレーン分割の存在を示す、請求項41に記載のナビゲーションシステム。
[請求項44]
前記属性が、前記少なくとも1つの画像の少なくとも一部を含む、請求項38に記載のナビゲーションシステム。
[請求項45]
前記属性が記述子を含む、請求項38に記載のナビゲーションシステム。
[請求項46]
前記記述子がテキストを含む、請求項45に記載のナビゲーションシステム。
[請求項47]
前記記述子が方向矢印を含む、請求項45に記載のナビゲーションシステム。
[請求項48]
前記記述子が記号を含む、請求項45に記載のナビゲーションシステム。
[請求項49]
前記記号がHOVダイアモンド又は自転車アイコンを含む、請求項48に記載のナビゲーションシステム。
[請求項50]
前記記号が破線レーンマークを含む、請求項48に記載のナビゲーションシステム。
[請求項51]
前記記号が二重の破線レーンマークを含む、請求項48に記載のナビゲーションシステム。
[請求項52]
前記記号が、実線のレーンマークを含む、請求項48に記載のナビゲーションシステム。
[請求項53]
前記記号が二重の実線レーンマークを含む、請求項48に記載のナビゲーションシステム。
[請求項54]
前記記号が色を含む、請求項48に記載のナビゲーションシステム。
[請求項55]
前記記号が方向標識を含む、請求項48に記載のナビゲーションシステム。
[請求項56]
前記属性が、目標車両の観察された動きに関連付けられている、請求項38に記載のナビゲーションシステム。
[請求項57]
前記目標車両が前記ホスト車両に接近していることが観察される、請求項56に記載のナビゲーションシステム。
[請求項58]
前記目標車両が交差点に接近していることが観察される、請求項56に記載のナビゲーションシステム。
[請求項59]
前記動きは、前記交差点に対する前記目標車両の転換方向を含む、請求項58に記載のナビゲーションシステム。
[請求項60]
前記目標車両が前記ホスト車両から遠ざかっていることが観察される、請求項56に記載のナビゲーションシステム。
[請求項61]
前記動きが、前記目標車両の転換方向を含む、請求項56に記載のナビゲーションシステム。
[請求項62]
前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報が、レーンタイプを含む、請求項38に記載のナビゲーションシステム。
[請求項63]
前記レーンタイプが、HOVレーン、バスレーン、自転車レーン、又は硬路肩を含む、請求項62に記載のナビゲーションシステム。
[請求項64]
前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報が、レーンの向きを含む、請求項38に記載のナビゲーションシステム。
[請求項65]
前記レーンの向きが対向レーン又は先行レーンを含む、請求項64に記載のナビゲーションシステム。
[請求項66]
前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報が、レーン方向を含む、請求項38に記載のナビゲーションシステム。
[請求項67]
前記レーン方向が左折、右折、又は直進を含む、請求項66に記載のナビゲーションシステム。
[請求項68]
前記少なくとも1つのプロセッサが、前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報の信頼度を決定するように更にプログラムされる、請求項38に記載のナビゲーションシステム。
[請求項69]
前記信頼度が、トレーニングされたシステムを使用して決定される、請求項68に記載のナビゲーションシステム。
[請求項70]
前記トレーニングされたシステムが、ニューラルネットワークを含む、請求項69に記載のナビゲーションシステム。
[請求項71]
前記少なくとも1つの画像を分析して、追加の走行レーンに関連付けられた前記属性を識別することが、トレーニングされたシステムを使用して前記少なくとも1つの画像を分析することを含む、請求項38に記載のナビゲーションシステム。
[請求項72]
前記トレーニングされたシステムが、ニューラルネットワークを含む、請求項71に記載のナビゲーションシステム。
[請求項73]
前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報が、前記少なくとも1つの追加の走行レーンと前記ホスト車両の前記走行レーンとの間の空間的関係を含む、請求項38に記載のナビゲーションシステム。

Claims (73)

  1. 車両のためのナビゲーションシステムであって、
    前記車両のカメラから、前記車両の環境から撮像された少なくとも1つの画像を受信することと、
    前記少なくとも1つの画像を分析して、前記少なくとも1つの画像及び前記少なくとも1つの画像に関連付けられた少なくとも1つの点で表される前記車両の前記環境内の道路トポロジ特徴を識別することと、
    識別された前記道路トポロジ特徴に基づいて、前記少なくとも1つの点に関連付けられた前記車両の前記環境内の推定経路を決定することと、
    前記推定経路に基づいて、前記車両にナビゲーション動作を実施させることと
    を行うようにプログラムされた少なくとも1つのプロセッサ
    を備える、ナビゲーションシステム。
  2. 前記道路トポロジ特徴が路面を含む、請求項1に記載のナビゲーションシステム。
  3. 前記道路トポロジ特徴が路面の高さを含む、請求項1に記載のナビゲーションシステム。
  4. 前記道路トポロジ特徴が、道路区分の屈曲又は曲線、道路の端部、又は道路境界に関連付けられた障壁のうちの少なくとも1つを含む、請求項1に記載のナビゲーションシステム。
  5. 前記道路トポロジ特徴が、方向転換レーン、合流レーン、出口ランプ、横断歩道、交差点、又はレーン分割のうちの少なくとも1つを含む、請求項1に記載のナビゲーションシステム。
  6. 前記少なくとも1つの画像を分析して、前記道路トポロジ特徴を識別することが、トレーニングされたシステムを使用して前記少なくとも1つの画像を分析することを含む、請求項1に記載のナビゲーションシステム。
  7. 前記トレーニングされたシステムが、ニューラルネットワークを含む、請求項6に記載のナビゲーションシステム。
  8. 前記少なくとも1つの点が、前記少なくとも1つの画像の少なくとも1つのピクセルに関連付けられている、請求項1に記載のナビゲーションシステム。
  9. 前記少なくとも1つの点が、前記少なくとも1つの画像の複数のピクセルに関連付けられている、請求項1に記載のナビゲーションシステム。
  10. 前記推定経路が、前記画像内の前記少なくとも1つの点に対応する位置からの予測される走行経路に対応する、請求項1に記載のナビゲーションシステム。
  11. 前記位置が前記車両の前方にある、請求項10に記載のナビゲーションシステム。
  12. 前記車両の現在の速度又は計画された速度に基づいて、前記車両が、所定の時間内に前記位置に位置し得る、請求項10に記載のナビゲーションシステム。
  13. 前記所定の時間が少なくとも1秒である、請求項12に記載のナビゲーションシステム。
  14. 前記推定経路が、前記車両の前方の走行経路に沿った前記車両の動きのベクトル予測に対応する、請求項1に記載のナビゲーションシステム。
  15. 前記車両の前方の前記走行経路に沿った前記車両の前記動きの前記ベクトル予測が、所定の時間内に前記車両によって横断可能である、請求項14に記載のナビゲーションシステム。
  16. 前記所定の時間が少なくとも1秒である、請求項15に記載のナビゲーションシステム。
  17. 前記少なくとも1つのプロセッサが、前記推定経路を前記車両の外部の位置に送信するように更にプログラムされる、請求項1に記載のナビゲーションシステム。
  18. 前記位置が別の車両を含む、請求項17に記載のナビゲーションシステム。
  19. 前記位置がサーバを含む、請求項17に記載のナビゲーションシステム。
  20. 前記少なくとも1つのプロセッサが、前記推定経路に基づいて前記車両の進行方向を予測するように更にプログラムされる、請求項1に記載のナビゲーションシステム。
  21. 前記少なくとも1つのプロセッサが、前記推定経路に基づいて、検出された目標車両の進行方向を予測するように更にプログラムされる、請求項1に記載のナビゲーションシステム。
  22. 前記少なくとも1つの点が、前記少なくとも1つの画像に関連付けられた任意の点として選択される、請求項1に記載のナビゲーションシステム。
  23. 前記少なくとも1つの点が、車両の位置に対応しない、請求項1に記載のナビゲーションシステム。
  24. 前記少なくとも1つの点が、前記少なくとも1つの点を含む前記車両の予測される走行経路の少なくとも一部に沿って含まれる、請求項1に記載のナビゲーションシステム。
  25. 前記少なくとも1つのプロセッサが、前記少なくとも1つの画像を分析して、前記少なくとも1つの画像に関連付けられた第2の点を識別するように更にプログラムされる、請求項1に記載のナビゲーションシステム。
  26. 前記少なくとも1つのプロセッサが、前記識別された道路トポロジ特徴に基づいて、前記第2の点に関連付けられた前記車両の前記環境内の推定された第2の経路を決定するように更にプログラムされる、請求項25に記載のナビゲーションシステム。
  27. 前記少なくとも1つのプロセッサが、前記推定された第2の経路に基づいて、前記車両に第2のナビゲーション動作を実施させるように更にプログラムされる、請求項26に記載のナビゲーションシステム。
  28. 車両のためのナビゲーションシステムであって、
    前記車両のカメラから、前記車両の環境から撮像された少なくとも1つの画像を受信することと、
    前記少なくとも1つの画像を分析して、前記少なくとも1つの画像で表される前記車両の前記環境内の1つ又は複数の道路トポロジ特徴を識別することと、
    前記少なくとも1つの画像の複数の区分のそれぞれについて、識別された前記1つ又は複数の道路トポロジ特徴に基づいて、前記複数の区分のうちの1つに対応する前記車両の前記環境内の位置での推定経路を決定することと、
    前記少なくとも1つの画像の前記複数の区分に関連付けられた前記予測経路の少なくとも1つに基づいて、前記車両にナビゲーション動作を実施させることと
    を行うようにプログラムされた少なくとも1つのプロセッサ
    を備える、ナビゲーションシステム。
  29. 前記複数の区分のそれぞれが、前記少なくとも1つの画像の単一のピクセルに対応する、請求項28に記載のナビゲーションシステム。
  30. 前記複数の区分のそれぞれが、前記少なくとも1つの画像の複数のピクセルに対応する、請求項28に記載のナビゲーションシステム。
  31. 前記複数のピクセルが隣接している、請求項32に記載のナビゲーションシステム。
  32. 前記推定経路のうちの1つ又は複数が、前記車両の前方の予測される走行経路に対応する、請求項28に記載のナビゲーションシステム。
  33. 前記推定経路のうちの1つ又は複数が、検出された目標車両の前方の予測される走行経路に対応する、請求項28に記載のナビゲーションシステム。
  34. 前記道路トポロジ特徴が路面を含む、請求項28に記載のナビゲーションシステム。
  35. 前記道路トポロジ特徴が路面の高さを含む、請求項28に記載のナビゲーションシステム。
  36. 前記道路トポロジ特徴が、道路区分の屈曲又は曲線、道路の端部、又は道路境界に関連付けられた障壁のうちの少なくとも1つを含む、請求項28に記載のナビゲーションシステム。
  37. 前記道路トポロジ特徴が、方向転換レーン、合流レーン、出口ランプ、横断歩道、交差点、又はレーン分割のうちの少なくとも1つを含む、請求項28に記載のナビゲーションシステム。
  38. ホスト車両のためのナビゲーションシステムであって、前記システムが、
    前記ホスト車両のカメラから、前記ホスト車両の環境から撮像された少なくとも1つの画像を受信することと、
    前記少なくとも1つの画像を分析して、道路区分に沿った前記ホスト車両の走行レーンの表現及び前記道路区分に沿った少なくとも1つの追加の走行レーンの表現を識別することと、
    前記少なくとも1つの画像を分析して、前記少なくとも1つの追加の走行レーンに関連付けられた属性を識別することと、
    前記属性に基づいて、前記少なくとも1つの追加の走行レーンの特徴付けを示す情報を決定することと、
    道路ナビゲーションモデルの更新に使用するために、前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報をサーバに送信することと
    を行うようにプログラムされた少なくとも1つのプロセッサ
    を備える、ナビゲーションシステム。
  39. 前記少なくとも1つの追加の走行レーンが、前記ホスト車両の前記走行レーンに隣接している、請求項38に記載のナビゲーションシステム。
  40. 前記少なくとも1つの追加の走行レーンが、前記ホスト車両の前記走行レーンから1つ又は複数のレーン離れている、請求項39に記載のナビゲーションシステム。
  41. 前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報を決定することが、履歴情報を分析することを更に含む、請求項38に記載のナビゲーションシステム。
  42. 前記履歴情報が、前記少なくとも1つの画像を撮像する前に撮像された少なくとも1つの履歴画像の分析から決定された情報を含む、請求項41に記載のナビゲーションシステム。
  43. 前記履歴情報が、前記ホスト車両の前記環境内のレーン分割の存在を示す、請求項41に記載のナビゲーションシステム。
  44. 前記属性が、前記少なくとも1つの画像の少なくとも一部を含む、請求項38に記載のナビゲーションシステム。
  45. 前記属性が記述子を含む、請求項38に記載のナビゲーションシステム。
  46. 前記記述子がテキストを含む、請求項45に記載のナビゲーションシステム。
  47. 前記記述子が方向矢印を含む、請求項45に記載のナビゲーションシステム。
  48. 前記記述子が記号を含む、請求項45に記載のナビゲーションシステム。
  49. 前記記号がHOVダイアモンド又は自転車アイコンを含む、請求項48に記載のナビゲーションシステム。
  50. 前記記号が破線レーンマークを含む、請求項48に記載のナビゲーションシステム。
  51. 前記記号が二重の破線レーンマークを含む、請求項48に記載のナビゲーションシステム。
  52. 前記記号が、実線のレーンマークを含む、請求項48に記載のナビゲーションシステム。
  53. 前記記号が二重の実線レーンマークを含む、請求項48に記載のナビゲーションシステム。
  54. 前記記号が色を含む、請求項48に記載のナビゲーションシステム。
  55. 前記記号が方向標識を含む、請求項48に記載のナビゲーションシステム。
  56. 前記属性が、目標車両の観察された動きに関連付けられている、請求項38に記載のナビゲーションシステム。
  57. 前記目標車両が前記ホスト車両に接近していることが観察される、請求項56に記載のナビゲーションシステム。
  58. 前記目標車両が交差点に接近していることが観察される、請求項56に記載のナビゲーションシステム。
  59. 前記動きは、前記交差点に対する前記目標車両の転換方向を含む、請求項58に記載のナビゲーションシステム。
  60. 前記目標車両が前記ホスト車両から遠ざかっていることが観察される、請求項56に記載のナビゲーションシステム。
  61. 前記動きが、前記目標車両の転換方向を含む、請求項56に記載のナビゲーションシステム。
  62. 前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報が、レーンタイプを含む、請求項38に記載のナビゲーションシステム。
  63. 前記レーンタイプが、HOVレーン、バスレーン、自転車レーン、又は硬路肩を含む、請求項62に記載のナビゲーションシステム。
  64. 前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報が、レーンの向きを含む、請求項38に記載のナビゲーションシステム。
  65. 前記レーンの向きが対向レーン又は先行レーンを含む、請求項64に記載のナビゲーションシステム。
  66. 前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報が、レーン方向を含む、請求項38に記載のナビゲーションシステム。
  67. 前記レーン方向が左折、右折、又は直進を含む、請求項66に記載のナビゲーションシステム。
  68. 前記少なくとも1つのプロセッサが、前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報の信頼度を決定するように更にプログラムされる、請求項38に記載のナビゲーションシステム。
  69. 前記信頼度が、トレーニングされたシステムを使用して決定される、請求項68に記載のナビゲーションシステム。
  70. 前記トレーニングされたシステムが、ニューラルネットワークを含む、請求項69に記載のナビゲーションシステム。
  71. 前記少なくとも1つの画像を分析して、追加の走行レーンに関連付けられた前記属性を識別することが、トレーニングされたシステムを使用して前記少なくとも1つの画像を分析することを含む、請求項38に記載のナビゲーションシステム。
  72. 前記トレーニングされたシステムが、ニューラルネットワークを含む、請求項71に記載のナビゲーションシステム。
  73. 前記少なくとも1つの追加の走行レーンの前記特徴付けを示す前記情報が、前記少なくとも1つの追加の走行レーンと前記ホスト車両の前記走行レーンとの間の空間的関係を含む、請求項38に記載のナビゲーションシステム。
JP2021570341A 2019-05-28 2020-05-28 車両ナビゲーションのためのシステム及び方法 Pending JP2022535351A (ja)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201962853305P 2019-05-28 2019-05-28
US201962853300P 2019-05-28 2019-05-28
US62/853,305 2019-05-28
US62/853,300 2019-05-28
US201962853832P 2019-05-29 2019-05-29
US62/853,832 2019-05-29
US201962875226P 2019-07-17 2019-07-17
US62/875,226 2019-07-17
US202063005736P 2020-04-06 2020-04-06
US63/005,736 2020-04-06
US202063006340P 2020-04-07 2020-04-07
US63/006,340 2020-04-07
PCT/IB2020/000413 WO2020240274A1 (en) 2019-05-28 2020-05-28 Systems and methods for vehicle navigation

Publications (1)

Publication Number Publication Date
JP2022535351A true JP2022535351A (ja) 2022-08-08

Family

ID=71728763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021570341A Pending JP2022535351A (ja) 2019-05-28 2020-05-28 車両ナビゲーションのためのシステム及び方法

Country Status (6)

Country Link
US (2) US20220001871A1 (ja)
EP (1) EP3977054A1 (ja)
JP (1) JP2022535351A (ja)
CN (1) CN113874683A (ja)
DE (1) DE112020002175T5 (ja)
WO (1) WO2020240274A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3090170B1 (fr) * 2018-12-12 2020-11-27 Safran Electronics & Defense Dispositif et procédé d’hybridation inertielle/vidéo
JP7210357B2 (ja) * 2019-03-28 2023-01-23 本田技研工業株式会社 車両制御装置、車両制御方法、及びプログラム
EP4020428A4 (en) * 2019-08-28 2022-10-12 Huawei Technologies Co., Ltd. LANE RECOGNITION METHOD AND APPARATUS, AND COMPUTER DEVICE
EP3798575A1 (en) * 2019-09-26 2021-03-31 Zenuity AB Method and system for determining localization of a vehicle on a road
US12001958B2 (en) * 2020-03-19 2024-06-04 Nvidia Corporation Future trajectory predictions in multi-actor environments for autonomous machine
US20210370933A1 (en) * 2020-05-29 2021-12-02 Here Global B.V. Methods and systems for validating path data
KR102443401B1 (ko) * 2020-06-29 2022-09-15 주식회사 라이드플럭스 자율주행 차량을 위한 로드 네트워크 데이터 생성 방법, 장치 및 컴퓨터프로그램
US11620350B2 (en) 2020-08-24 2023-04-04 Snap Inc. Vehicle recognition system
JP7427565B2 (ja) * 2020-09-10 2024-02-05 株式会社東芝 情報生成装置、車両制御システム、情報生成方法およびプログラム
US11654933B2 (en) * 2020-11-10 2023-05-23 GM Global Technology Operations LLC Navigation trajectory using reinforcement learning for an ego vehicle in a navigation network
US11436843B2 (en) 2021-01-21 2022-09-06 Qualcomm Incorporated Lane mapping and localization using periodically-updated anchor frames
US20220379902A1 (en) * 2021-05-26 2022-12-01 Robert Bosch Gmbh Automated traffic violation warning and prevention system for vehicles
US20230016578A1 (en) * 2021-07-19 2023-01-19 Embark Trucks, Inc. Dynamically modifiable map
US20230082264A1 (en) * 2021-09-14 2023-03-16 Waymo Llc Flow-based motion planning blueprint for autonomous vehicles
US11938928B2 (en) * 2021-11-03 2024-03-26 Honda Motor Co., Ltd. Systems and methods for vehicular navigation of narrow gaps
US11922704B2 (en) 2021-12-15 2024-03-05 GM Global Technology Operations LLC System and method for detecting road and lane connections at intersections
CN114440905B (zh) * 2022-01-28 2024-06-14 中国第一汽车股份有限公司 中间图层的构建方法、装置、电子设备及存储介质
US11796325B2 (en) 2022-02-16 2023-10-24 Aptiv Technologies Limited Vehicle localization using map and vision data
US20230311863A1 (en) 2022-04-04 2023-10-05 Mobileye Vision Technologies Ltd. Detecting an open door using a sparse representation
FR3137642A1 (fr) * 2022-07-05 2024-01-12 Psa Automobiles Sa Procédé et dispositif de contrôle d’un système de changement semi-automatique de voie de circulation d’un véhicule en fonction d’une valeur maximale d’un paramètre dynamique

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005228139A (ja) * 2004-02-13 2005-08-25 Nissan Motor Co Ltd 車両用表示装置
WO2017163367A1 (ja) * 2016-03-24 2017-09-28 日産自動車株式会社 走路検出方法及び走路検出装置
JP2018067236A (ja) * 2016-10-21 2018-04-26 株式会社Soken 区画線認識装置
JP2019018743A (ja) * 2017-07-19 2019-02-07 日産自動車株式会社 軌跡推定方法及び軌跡推定装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2757527B1 (en) * 2013-01-16 2018-12-12 Honda Research Institute Europe GmbH System and method for distorted camera image correction
US10317231B2 (en) * 2014-06-10 2019-06-11 Mobileye Vision Technologies Ltd. Top-down refinement in lane marking navigation
WO2016130719A2 (en) * 2015-02-10 2016-08-18 Amnon Shashua Sparse map for autonomous vehicle navigation
EP4030378A1 (en) * 2015-05-10 2022-07-20 Mobileye Vision Technologies Ltd. Road profile along a predicted path
US9740202B2 (en) * 2016-01-08 2017-08-22 Waymo Llc Fall back trajectory systems for autonomous vehicles
DE112018002143T5 (de) * 2017-04-24 2020-01-16 Mobileye Vision Technologies Ltd. Systeme und verfahren zur kompression von fahrspurdaten
US11679760B2 (en) * 2018-12-10 2023-06-20 Mobileye Vision Technologies Ltd. Navigation in vehicle crossing scenarios
US11117576B2 (en) * 2019-02-04 2021-09-14 Denso Corporation Vehicle lane trace control system
CN113785302A (zh) * 2019-04-26 2021-12-10 辉达公司 自主机器应用中的路口姿态检测
CN111595358B (zh) * 2020-06-05 2022-03-29 百度在线网络技术(北京)有限公司 导航数据处理方法、路径诱导方法、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005228139A (ja) * 2004-02-13 2005-08-25 Nissan Motor Co Ltd 車両用表示装置
WO2017163367A1 (ja) * 2016-03-24 2017-09-28 日産自動車株式会社 走路検出方法及び走路検出装置
JP2018067236A (ja) * 2016-10-21 2018-04-26 株式会社Soken 区画線認識装置
JP2019018743A (ja) * 2017-07-19 2019-02-07 日産自動車株式会社 軌跡推定方法及び軌跡推定装置

Also Published As

Publication number Publication date
US20220001871A1 (en) 2022-01-06
DE112020002175T5 (de) 2022-06-30
EP3977054A1 (en) 2022-04-06
WO2020240274A1 (en) 2020-12-03
CN113874683A (zh) 2021-12-31
US20220001872A1 (en) 2022-01-06
US20220009518A1 (en) 2022-01-13

Similar Documents

Publication Publication Date Title
US11982540B2 (en) Infrastructure mapping and layered output
US20220001871A1 (en) Road vector fields
CN115824194A (zh) 一种用于为车辆规划路线的***和方法
CN114402377A (zh) 用于监测交通车道拥塞的***和方法
US20210381849A1 (en) Map management using an electronic horizon
US11680801B2 (en) Navigation based on partially occluded pedestrians
JP2023106536A (ja) 画像分析に基づく車両ナビゲーションのためのシステム
EP4085232A2 (en) Navigation systems and methods for determining object dimensions
US20230195122A1 (en) Systems and methods for map-based real-world modeling
US20220351526A1 (en) Multi-frame image segmentation
JP7477256B2 (ja) ナビゲーションのためのマップタイル要求を最適化するためのシステム及び方法
US20220412772A1 (en) Systems and methods for monitoring lane mark quality
US12030502B2 (en) Road vector fields
US20240135728A1 (en) Graph neural networks for parsing roads
WO2023067385A2 (en) Radar-camera fusion for vehicle navigation
WO2024015564A1 (en) Registration of traffic signs' feature vectors in remote server
CN118265957A (en) Radar-camera fusion for vehicle navigation
CN116734848A (zh) 关于行人和确定交通工具自由空间的交通工具导航

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230901

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240404

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240415