JP2023106536A - 画像分析に基づく車両ナビゲーションのためのシステム - Google Patents
画像分析に基づく車両ナビゲーションのためのシステム Download PDFInfo
- Publication number
- JP2023106536A JP2023106536A JP2023084528A JP2023084528A JP2023106536A JP 2023106536 A JP2023106536 A JP 2023106536A JP 2023084528 A JP2023084528 A JP 2023084528A JP 2023084528 A JP2023084528 A JP 2023084528A JP 2023106536 A JP2023106536 A JP 2023106536A
- Authority
- JP
- Japan
- Prior art keywords
- vehicle
- road
- navigation system
- image
- data
- 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
Links
- 238000010191 image analysis Methods 0.000 title description 98
- 238000000034 method Methods 0.000 claims abstract description 268
- 238000004458 analytical method Methods 0.000 claims abstract description 139
- 238000013528 artificial neural network Methods 0.000 claims description 61
- 230000004888 barrier function Effects 0.000 claims description 26
- 230000036961 partial effect Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 abstract description 246
- 230000008569 process Effects 0.000 description 193
- 230000015654 memory Effects 0.000 description 53
- 230000033001 locomotion Effects 0.000 description 48
- 230000004044 response Effects 0.000 description 46
- 230000009471 action Effects 0.000 description 29
- 230000006870 function Effects 0.000 description 29
- 238000003860 storage Methods 0.000 description 29
- 230000000875 corresponding effect Effects 0.000 description 28
- 230000001133 acceleration Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 22
- 238000012549 training Methods 0.000 description 21
- 238000005259 measurement Methods 0.000 description 17
- 230000008859 change Effects 0.000 description 16
- 230000003287 optical effect Effects 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 14
- 230000007613 environmental effect Effects 0.000 description 14
- 238000001514 detection method Methods 0.000 description 13
- 238000005096 rolling process Methods 0.000 description 13
- 238000006073 displacement reaction Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 241000237858 Gastropoda Species 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 10
- 230000004807 localization Effects 0.000 description 9
- 239000007787 solid Substances 0.000 description 9
- 238000012935 Averaging Methods 0.000 description 8
- 230000004438 eyesight Effects 0.000 description 7
- 238000003384 imaging method Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 238000005206 flow analysis Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 239000000725 suspension Substances 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000004313 glare Effects 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 230000001953 sensory effect Effects 0.000 description 5
- 241000196324 Embryophyta Species 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000012512 characterization method Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000001186 cumulative effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000003340 combinatorial analysis Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000003746 surface roughness Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 244000261422 Lysimachia clethroides Species 0.000 description 1
- 208000030984 MIRAGE syndrome Diseases 0.000 description 1
- 240000004658 Medicago sativa Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000003667 anti-reflective effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000881 depressing effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003703 image analysis method Methods 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- TVLSRXXIMLFWEO-UHFFFAOYSA-N prochloraz Chemical compound C1=CN=CN1C(=O)N(CCC)CCOC1=C(Cl)C=C(Cl)C=C1Cl TVLSRXXIMLFWEO-UHFFFAOYSA-N 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3605—Destination input or retrieval
- G01C21/3608—Destination input or retrieval using speech input, e.g. using speech recognition
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3626—Details of the output of route guidance instructions
- G01C21/3629—Guidance using speech or audio output, e.g. text-to-speech
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3626—Details of the output of route guidance instructions
- G01C21/3658—Lane guidance
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3679—Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R11/00—Arrangements for holding or mounting articles, not otherwise provided for
- B60R11/04—Mounting of cameras operative during drive; Arrangement of controls thereof relative to the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R11/00—Arrangements for holding or mounting articles, not otherwise provided for
- B60R2011/0001—Arrangements for holding or mounting articles, not otherwise provided for characterised by position
- B60R2011/0003—Arrangements for holding or mounting articles, not otherwise provided for characterised by position inside the vehicle
- B60R2011/0026—Windows, e.g. windscreen
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo or light sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/402—Type
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/402—Type
- B60W2554/4026—Cycles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4043—Lateral speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2554/00—Input parameters relating to objects
- B60W2554/80—Spatial relation or speed relative to objects
- B60W2554/801—Lateral distance
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/08—Detecting or categorising vehicles
Abstract
【課題】車両ナビゲーションのためのシステム及び方法を提供する。
【解決手段】1つの実装形態では、少なくとも1つの処理デバイスは、ホスト車両のカメラから、ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信し得る。処理デバイスは、少なくとも1つの捕捉された画像の1つ又は複数のピクセルを分析して、1つ又は複数のピクセルが目標車両の少なくとも一部を表すか否かを判断し得る。目標車両の少なくとも一部を表すと判断されたピクセルの場合、処理デバイスは、1つ又は複数のピクセルから目標車両の表面の少なくとも1つの端部までの1つ又は複数の推定距離値を判断し、1つ又は複数のピクセルに関連付けられた判断された1つ又は複数の距離値を含む、1つ又は複数のピクセルの分析に基づいて、目標車両に対する境界の少なくとも一部を生成し得る。
【選択図】図27
【解決手段】1つの実装形態では、少なくとも1つの処理デバイスは、ホスト車両のカメラから、ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信し得る。処理デバイスは、少なくとも1つの捕捉された画像の1つ又は複数のピクセルを分析して、1つ又は複数のピクセルが目標車両の少なくとも一部を表すか否かを判断し得る。目標車両の少なくとも一部を表すと判断されたピクセルの場合、処理デバイスは、1つ又は複数のピクセルから目標車両の表面の少なくとも1つの端部までの1つ又は複数の推定距離値を判断し、1つ又は複数のピクセルに関連付けられた判断された1つ又は複数の距離値を含む、1つ又は複数のピクセルの分析に基づいて、目標車両に対する境界の少なくとも一部を生成し得る。
【選択図】図27
Description
関連出願の相互参照
本出願は、2019年5月24日に提出された米国仮特許出願第62,852,761号、2020年1月3日に出願された米国仮特許出願第62/957,009号、及び2020年2月13日に出願された米国仮特許出願第62/976,059号の優先権の利益を主張するものである。上記の出願は、全て参照によりその全体が本明細書に援用される。
本出願は、2019年5月24日に提出された米国仮特許出願第62,852,761号、2020年1月3日に出願された米国仮特許出願第62/957,009号、及び2020年2月13日に出願された米国仮特許出願第62/976,059号の優先権の利益を主張するものである。上記の出願は、全て参照によりその全体が本明細書に援用される。
本開示は、概して、自律車両ナビゲーションに関する。
技術が進化し続けるにつれ、道路上でナビゲート可能な完全自律車両という目標が現実味を帯びてきている。自律車両は、様々な要因を考慮する必要があり得て、それらの要因に基づいて意図される目的地に安全且つ正確に到達するのに適切な判断を下し得る。例えば、自律車両は、視覚的情報(例えば、カメラから捕捉される情報)を処理して解釈する必要があり得ると共に、他のソース(例えば、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つの捕捉された画像の2つ以上のピクセルを分析して、2つ以上のピクセルが第1の目標車両の少なくとも一部及び第2の目標車両の少なくとも一部を表しているか否かを判断するようにプログラムされ得る。プロセッサは、第2の目標車両の一部が、第1の目標車両の表面上の反射の表現に含まれることを決定するようにプログラムされ得る。プロセッサは、2つ以上のピクセルの分析及び第2の目標車両の一部が第1の目標車両の表面上の反射の表現に含まれるという決定に基づいて、第1の目標車両に対する境界の少なくとも一部を生成し、第2の目標車両に対する境界を生成しないように更にプログラムされ得る。
1つの実施形態では、ホスト車両のためのナビゲーションシステムは、少なくとも1つのプロセッサを備え得る。プロセッサは、ホスト車両のカメラから、ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信し、少なくとも1つの捕捉された画像の2つ以上のピクセルを分析して、2つ以上のピクセルが第1の目標車両の少なくとも一部及び第2の目標車両の少なくとも一部を表しているか否かを判断するようにプログラムされ得る。プロセッサは、第2の目標車両が第1の目標車両によって運ばれるか、又は牽引されるかを判断するようにプログラムされ得る。プロセッサは、2つ以上のピクセルの分析及び第2の目標車両が第1の目標車両によって運ばれるか、又は牽引されるかの判断に基づいて、第1の目標車両に対する境界の少なくとも一部を生成し、第2の目標車両に対する境界を生成しないように更にプログラムされ得る。
1つの実施形態では、ホスト車両のためのナビゲーションシステムは、少なくとも1つのプロセッサを備え得る。プロセッサは、ホスト車両のカメラから、ホスト車両の環境を表す第1の捕捉された画像を受信し、第1の捕捉された画像の1つ又は複数のピクセルを分析して、1つ又は複数のピクセルが目標車両の少なくとも一部を表しているか否かを判断するようにプログラムされ得る。目標車両の少なくとも一部を表すと判断されたピクセルの場合、プロセッサは、1つ又は複数のピクセルから目標車両の表面の少なくとも1つの端部までの1つ又は複数の推定距離値を決定し得る。プロセッサは、第1の捕捉された画像の1つ又は複数のピクセルに関連付けられた判断された1つ又は複数の距離値を含む、第1の捕捉された画像の1つ又は複数のピクセルの分析に基づいて、目標車両に対する第1の境界の少なくとも一部を生成するようにプログラムされ得る。プロセッサは、ホスト車両のカメラから、ホスト車両の環境を表す第2の捕捉された画像を受信し、第2の捕捉された画像の1つ又は複数のピクセルを分析して、1つ又は複数のピクセルが目標車両の少なくとも一部を表しているか否かを判断するように更にプログラムされ得る。目標車両の少なくとも一部を表すと判断されたピクセルの場合、プロセッサは、1つ又は複数のピクセルから目標車両の表面の少なくとも1つの端部までの1つ又は複数の推定距離値を決定し得る。プロセッサは、第2の捕捉された画像の1つ又は複数のピクセルに関連付けられた判断された1つ又は複数の距離値を含む、第2の捕捉された画像の1つ又は複数のピクセルの分析に基づいて、及び第1の境界に基づいて、目標車両に対する第2の境界の少なくとも一部を生成するようにプログラムされ得る。
1つの実施形態では、ホスト車両のためのナビゲーションシステムは、少なくとも1つのプロセッサを備え得る。プロセッサは、ホスト車両のカメラから、ホスト車両の環境から捕捉された2つ以上の画像を受信し、2つ以上の画像を分析して、第1の物体の少なくとも一部の表現及び第2の物体の少なくとも一部の表現を識別するようにプログラムされ得る。プロセッサは、第1の物体及び第1の物体のタイプに関連付けられた少なくとも1つの画像の第1の領域を決定し、第2の物体及び第2の物体のタイプに関連付けられた少なくとも1つの画像の第2の領域を決定し得て、第1の物体のタイプは、第2の物体のタイプとは異なる。
1つの実施形態では、ホスト車両のためのナビゲーションシステムは、少なくとも1つのプロセッサを備え得る。プロセッサは、ホスト車両のカメラから、ホスト車両の環境から捕捉された少なくとも1つの画像を受信し、少なくとも1つの画像を分析して、第1の物体の少なくとも一部の表現及び第2の物体の少なくとも一部の表現を識別するようにプログラムされ得る。プロセッサは、分析に基づいて、第1の物体のジオメトリの少なくとも1つの態様及び第2の物体のジオメトリの少なくとも1つの態様を決定するようにプログラムされ得る。更に、プロセッサは、第1の物体のジオメトリの少なくとも1つの態様に基づいて、第1の物体の表現を含む少なくとも1つの画像の領域に関連付けられた第1のラベルを生成し、第2の物体のジオメトリの少なくとも1つの態様に基づいて、第2の物体の表現を含む少なくとも1つの画像の領域に関連付けられた第2のラベルを生成するようにプログラムされ得る。
開示される他の実施形態によれば、非一時的コンピュータ可読記憶媒体は、少なくとも1つの処理デバイスにより実行され、且つ本明細書に記載される任意の方法を実行するプログラム命令を記憶し得る。
上述した概説及び以下に詳述する説明は、単に例示的及び説明的なものであり、特許請求の範囲の限定ではない。
本開示に組み込まれ、本明細書の一部をなす添付図面は、開示される様々な実施形態を示す。
以下の詳細な説明は、添付図面を参照する。可能な場合には常に、図面及び以下の説明において、同じ又は同様の部分を指すのに同じ参照番号が使用される。幾つかの例示的な実施形態は、本明細書で説明されるが、変更形態、適応形態及び他の実装形態が可能である。例えば、図面に示す構成要素に対する置換形態、追加形態又は変更形態がなされ得て、本明細書に記載される例示的な方法は、開示される方法のステップの置換、順序替え、削除又は追加により変更することができる。従って、以下の詳細な説明は、開示される実施形態及び例に限定されない。その代わり、適切な範囲は、添付の特許請求の範囲により規定される。
自律車両の概要
本開示の全体を通して使用するとき、「自律車両」という用語は、ドライバーの入力なしで少なくとも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に示すように、dxで示し得る。幾つかの実施形態では、前部変位又は後部変位(例えば、範囲変位)が、画像捕捉デバイス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は、位置及び路面に存在するモーションキューを分析することにより道路高をモデリングし得る。更に、処理ユニット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点間距離diは、1~5メートルの範囲内にあり得る。1つの実施形態では、処理ユニット110は、左右の道路多項式等の2つの多項式を使用して初期車両経路を構築し得る。処理ユニット110は、2つの多項式間のジオメトリ中間点を計算し、所定のオフセットがある場合(オフセット0は、レーンの中央での走行に対応し得る)、所定のオフセット(例えば、スマートレーンオフセット)だけ、結果として生成される車両経路に含まれる各点をオフセットさせ得る。オフセットは、車両経路内の任意の2点間の区分に垂直の方向であり得る。別の実施形態では、処理ユニット110は、1つの多項式及び推定レーン幅を使用して、推定レーン幅の半分に所定のオフセット(例えば、スマートレーンオフセット)を加えたものだけ車両経路の各点をオフセットさせ得る。
ステップ572において、処理ユニット110は、ステップ570において構築される車両経路を更新し得る。処理ユニット110は、車両経路を表す点の組内の2点間距離dkが、上述した距離diよりも短くなるように、より高い解像度を使用して、ステップ570において構築される車両経路を再構築し得る。例えば、距離dkは0.1~0.3メートルの範囲であり得る。処理ユニット110は、放物線スプラインアルゴリズムを使用して車両経路を再構築し得て、これは、車両経路の全長(すなわち、車両経路を表す点の組に基づく)に対応する累積距離ベクトルSをもたらし得る。
ステップ574において、処理ユニット110は、ステップ572において構築された更新車両経路に基づいて、先読み点((xl,zl)として座標で表される)を特定し得る。処理ユニット110は、累積距離ベクトルSから先読み点を抽出し得て、先読み点には、先読み距離及び先読み時間を関連付け得る。先読み距離は、下限範囲10~20メートルを有し得て、車両200の速度と先読み時間との積として計算し得る。例えば、車両200の速度が下がるにつれて、先読み距離も短くなり得る(例えば、下限に達するまで)。0.5~1.5秒の範囲であり得る先読み時間は、進行エラー追跡制御ループ等の車両200でナビゲーション応答を生じさせることに関連付けられた1つ又は複数の制御ループの利得に反比例し得る。例えば、進行エラー追跡制御ループの利得は、ヨー率ループ、操舵アクチュエータループ及び車横方向動力学等の帯域幅に依存し得る。従って、進行エラー追跡制御ループの利得が高いほど、先読み時間は短くなる。
ステップ576において、処理ユニット110は、ステップ574において特定される先読み点に基づいて、進行エラー及びヨー率コマンドを決定し得る。処理ユニット110は、先読み点の逆正接、例えば、arctan(xl/zl)を計算することにより、進行エラーを特定し得る。処理ユニット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は、トレイルに沿って移動した横方向距離をスネイルトレイルの予期される曲率と比較することにより、スネイルトレイルのジオメトリを分析し得る。予期される曲率半径は、計算:(δz
2+δx
2)/2/(δx)に従って特定し得て、式中、σxは横方向移動距離を表し、σzは縦方向移動距離を表す。横方向移動距離と予期される曲率との差が所定の閾値(例えば、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曲率に加えて、道路区分の標高の変化を表すために、(例えば、高さ成分を含む)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*Δω/ω2+f*ΔW/ωを使用して計算し得て、ここで、ΔWは平均化によってゼロに減衰し、Δωは画像内のバウンディングボックスの精度を表すピクセル数である。陸標の物理サイズを推定する値は、サーバ側で複数の観測値を平均化することで計算し得る。距離推定の結果として生じる誤差は、非常に小さくなり得る。上記の式を使用するときに発生し得る2つの誤差源、すなわち、ΔW及びΔωがある。距離誤差への寄与は、ΔZ=f*W*Δω/ω2f*Δ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(又はS1もしくはS2)の関数として示し得る。サーバ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つ又は複数の運転ポリシの適用に基づいて)取るべき1つ又は複数のナビゲーション動作を決定し得て、車両で利用可能な作動システムを介して1つ又は複数のナビゲーション動作を実施し得る。
場合によっては、車両の環境に関する情報を収集するためのセンサは、上記で説明したように、画像捕捉デバイス122、124、及び126等の1つ又は複数のカメラを含み得る。関連するカメラによって捕捉された各フレームは、車両ナビゲーションシステムの所望の機能を提供するために、車両ナビゲーションシステムの1つ又は複数の構成要素によって分析され得る。例えば、捕捉された画像は、環境内の特定の物体又は特徴を検出し、検出された物体又は特徴の存在下でナビゲートすることを担う別個のモジュールに提供され得る。例えば、ナビゲーションシステムは、歩行者、他の車両、道路内の物体、道路境界、道路マーク、信号機、交通標識、駐車車両、付近の車両の横方向の動き、駐車中の車両のドアの開放、付近の車両の車輪/道路の境界、付近の車両の検出された車輪に関連付けられた回転、路面の条件(例えば、濡れている、雪に覆われている、凍っている、砂利で覆われている、等)等の1つ又は複数を検出するための別個のモジュールを含み得る。
各モジュール又は機能は、そのモジュール又は機能のロジックが基づいている特定の特徴の存在を検出するために、提供された画像(例えば、捕捉された各フレーム)の分析を含み得る。更に、捕捉された画像を処理及び分析するための計算資源を効率化するために、様々な画像分析技術が使用され得る。例えば、ドアの開放を検出することを担うモジュールの場合、そのモジュールに関連付けられた画像分析技術は、駐車中の車に関連付けられたものがあるか否かを決定するための画像ピクセルの走査を含み得る。駐車中の車を表すピクセルが識別されない場合、モジュールの作業は特定の画像フレームに関連して終了し得る。しかし、駐車中の車が識別された場合、モジュールは、駐車中の車に関連付けられたピクセルのどれがドアの端部(例えば、最も後方のドアの端部)を表すかを識別することに焦点を合わせ得る。これらのピクセルを分析して、ドアが開いているか完全に閉じているかの証拠があるか否かを判断し得る。これらのピクセル及び関連付けられたドア端部の特性を複数の画像フレームにわたって比較して、検出されたドアが開いた状態にあるか否かを更に確認し得る。いずれの場合にも、特定の機能又はモジュールは、所望の機能を提供するために、捕捉された画像フレームの一部のみに焦点を合わせる必要があり得る。
それにもかかわらず、利用可能な計算資源を効率的に利用するために、様々な画像分析技術を使用して、分析を効率化し得るが、複数の機能/モジュールにわたる画像フレームの並列処理は、かなりの計算資源の使用を含み得る。実際、各モジュール/機能が、依存する特徴を識別するための独自の画像分析を担う場合、ナビゲーションシステムに追加される全ての追加のモジュール/機能は、画像分析構成要素(例えば、全てのピクセルの調査及び分類に関連付けられ得る構成要素)を追加し得る。捕捉された各フレームが数百万のピクセルを含み、1秒当たり複数のフレームが捕捉され、フレームが分析のために数十又は数百の異なるモジュール/機能に供給されると仮定すると、多くの機能/モジュールにわたって、走行に適した速度(例えば、少なくともフレームが捕捉されるのと同じ速度)で分析を実行するために使用される計算資源はかなりの量になり得る。多くの場合、画像分析フェーズの計算要件により、ハードウェアの制約等を考慮して、ナビゲーションシステムが提供できる機能又は特徴の数が制限され得る。
記載する実施形態は、車両ナビゲーションシステムにおけるこれらの課題に対処するための画像分析アーキテクチャを含む。例えば、記載する実施形態は、個々のナビゲーションシステムモジュール/機能から画像分析の負担を取り除き得る統一された画像分析フレームワークを含み得る。そのような統合された画像分析フレームワークは、例えば、入力として捕捉された画像フレームを受信し、捕捉された画像フレームに関連付けられたピクセルを分析及び特徴付けし、出力として特徴付けられた画像フレームを提供する単一の画像分析層を含み得る。次いで、特徴付けられた画像フレームは、特徴付けられた画像フレームに基づいて適切なナビゲーション動作を生成及び実装するために、ナビゲーションシステムの複数の異なる機能/モジュールに供給され得る。
幾つかの実施形態では、画像の各ピクセルを分析して、そのピクセルが、ホスト車両の環境内の特定のタイプの物体又は特徴に関連付けられているか否かを判断し得る。例えば、画像内の各ピクセル又は画像の一部を分析して、それらがホスト車両の環境内の別の車両に関連付けられているか否かを判断し得る。ピクセルが車両の端部、車両の表面等に対応するか否か等、ピクセルごとに追加情報を判断し得る。そのような情報は、ナビゲーション目的で検出された車両の周りに示され得るバウンディングボックスのより正確な識別及び適切な方向付けを可能にし得る。
図27は、開示される実施形態による、目標車両に関連付けられたピクセルに対して実行される分析の例を示す。図27は、画像取得ユニット120等の画像捕捉デバイスによって捕捉された画像又は画像の一部を表し得る。画像は、上記で説明した車両200等のホスト車両の環境内の車両2710の表現を含み得る。画像は、ピクセル2722及び2724等の複数の個々のピクセルから構成され得る。ナビゲーションシステム(例えば、処理ユニット110)は、各ピクセルを分析して、そのピクセルが目標車両に関連付けられているか否かを判断し得る。本明細書で使用される目標車両は、ホスト車両に対してナビゲートする可能性があるホスト車両の環境内の車両を指し得る。これは、例えば、以下でより詳細に論じるように、トレーラ又はキャリアで輸送されている車両、車両の反射、又は画像で検出され得る車両の他の表現を除外し得る。分析は、捕捉された画像の全てのピクセルに対して実行され得るか、又は捕捉された画像に対して識別された候補領域内の全てのピクセルに対して実行され得る。
ナビゲーションシステムは、他の関連情報を決定するために各ピクセルを分析するように更に構成され得る。例えば、目標車両に関連付けられていると判断された各ピクセルを分析して、ピクセルが車両のどの部分に関連付けられているかを判断し得る。これは、ピクセルが車両の端部に関連付けられているか否かを判断することを含み得る。例えば、図27に示すように、車両2710は、画像内に表される端部2712に関連付けられ得る。ピクセル2724を分析するとき、ナビゲーションシステムは、ピクセル2724が境界ピクセルであり、従って、端部2712を含むと判断し得る。幾つかの実施形態では、ピクセルはまた、それらが車両の表面に関連付けられているか否かを判断するために分析され得る。境界、端部、及び表面という用語は、ナビゲーションシステムによって定義され、関心のある物体、この例では車両2710に少なくとも部分的に隣接又は取り囲む仮想形状に関連している。形状は任意の形式をとることができ、固定又は物体のタイプもしくはクラスに固有にすることもできる。典型的には、例として、形状は、関心のある物体の輪郭の周りにぴったりと合う長方形を含み得る。他の例では、少なくとも幾つかの物体クラスについて、3Dボックス及びボックスの各表面が、ホスト車両の環境内の3D物体の対応する表面の面をしっかりと境界付けし得る。この特定の例では、3Dボックスが車両2710を境界付けている。
従って、例えば、ナビゲーションシステムは、ピクセル2722を分析して、ピクセル2722が車両2710の表面2730上に位置することを決定し得る。ナビゲーションシステムは、ピクセル2722からの1つ又は複数の推定距離値を更に決定し得る。幾つかの実施形態では、ピクセル2722から表面2730の端部までの1つ又は複数の距離を推定し得る。3Dボックスの場合、距離は、所与のピクセルから、そのピクセルの境界となる3Dボックスの表面の端部までと判断され得る。例えば、ナビゲーションシステムは、表面2730の側面までの距離2732及び表面2730の下端部までの距離2734を推定し得る。推定は、車両の部分2722が表していると決定された位置、及び車両のその部分から表面2730の端部までの典型的な寸法に基づき得る。例えば、ピクセル2722は、システムによって認識されるバンパーの特定の部分に対応し得る。ナンバープレート、テールライト、タイヤ、排気管等を表すピクセル等の他のピクセルは、異なる推定距離に関連付けられ得る。図27には示されていないが、表面2730の上端部までの距離、(車両2710の向きに応じた)前端部又は後端部での距離、車両2710の端部2712までの距離等を含む、様々な他の距離を推定し得る。距離は、ナビゲーションシステムによる分析に適した任意の単位で測定し得る。幾つかの実施形態では、距離は、画像に対してピクセル単位で測定し得る。他の実施形態では、距離は、目標車両に対して測定された実際の距離(例えば、センチメートル、メートル、インチ、フィート等)を表し得る。
処理ユニット110は、任意の適切な方法を使用して、上記で説明したピクセルベースの分析を提供し得る。幾つかの実施形態では、ナビゲーションシステムは、ニューラルネットワークのトレーニングプロトコルに従って画像内の個々のピクセルを特徴付けるトレーニングされたニューラルネットワークを含み得る。ニューラルネットワークをトレーニングするために使用されるトレーニングデータセットは、車両の表現を含む複数の捕捉された画像を含み得る。画像の各ピクセルは、ニューラルネットワークが認識すべき特性の所定のセットに従って調査及び特徴付けられ得る。例えば、各ピクセルは、目標車両の表現の一部であるか否か、目標車両の端部が含まれているか否か、目標車両の表面、ピクセルから表面の端部までの測定された距離(ピクセル又は現実世界の距離で測定され得る)、又はその他の関連情報を表すか否かを示すために分類され得る。指定された画像は、ニューラルネットワークのトレーニングデータセットとして使用できる。
結果として得られるトレーニングされたモデルを使用して、ピクセル又はピクセルのクラスタに関連付けられた情報を分析し、ピクセルが目標車両を表すか否か、車両の表面上又は端部上にあるか否か、表面の端部までの距離、又はその他の情報を識別し得る。システムは本開示全体を通してニューラルネットワークとして説明されているが、ロジスティック回帰、線形回帰、回帰、ランダムフォレスト、K最近傍(KNN)モデル、K-Meansモデル、意思決定ツリー、cox比例ハザード回帰モデル、ナイーブベイズモデル、サポートベクターマシン(SVM)モデル、勾配ブースティングアルゴリズム、深層学習モデル、又は任意の適切な形式の機械学習モデル又はアルゴリズムを含む、他の様々な機械学習アルゴリズムを使用し得る。
目標車両2710の境界又は表面への各ピクセルのマッピングに基づいて、ナビゲーションシステムは、車両2710の境界をより正確に決定し得て、これにより、ホスト車両は、1つ又は複数の適切なナビゲーション動作を正確に決定し得る。例えば、システムは、端部2712によって表される車両の完全な境界を決定可能であり得る。幾つかの実施形態では、ナビゲーションシステムは、画像内の車両の境界を表し得る、車両のバウンディングボックス2720を決定し得る。各ピクセルの分析に基づいて決定されるバウンディングボックス2720は、従来の物体検出方法よりも車両2710の境界をより正確に画定し得る。
更に、システムは、目標車両の向きをより正確に表す向きを有する境界を決定し得る。例えば、車両2710の表面2730内のピクセル(例えば、ピクセル2722)の組み合わせ分析に基づいて、表面2730の端部を推定し得る。画像に表された車両2710の離散面を識別することにより、システムは、車両2710の向きに対応するように、バウンディングボックス2720をより正確に方向付け得る。バウンディングボックスの向きの改善された精度は、適切なナビゲーション動作応答を決定するシステムの能力を改善し得る。例えば、横向きカメラから検出された車両の場合、バウンディングボックスの不適切な向きは、車両がホスト車両に向かって走行していることを不適切に示し得る(例えば、割り込みシナリオ)。開示される技術は、目標車両が捕捉された画像の全てではないにしても多くを占める状況(例えば、車両の少なくとも1つの端部が、バウンディングボックスの向きを示唆するために存在しない状況)、目標車両の反射が画像に含まれる状況、車両がトレーラ又はキャリアで運ばれている状況等で特に有益であり得る。
図28は、開示される実施形態による、車両2810の部分的表現を含む例示的な画像2800の図である。示されるように、車両2810の少なくとも1つの端部(又は端部の一部)は、画像2800から除外され得る。幾つかの実施形態では、これは、車両2810の一部がカメラの視野の外側にあることに起因し得る。他の実施形態では、車両2810の一部は、例えば、建物、植物、別の車両等によって、視界から遮られ得る。画像2800の構成は例として提供されているが、幾つかの実施形態では、車両2810が画像2800のより大きな部分を占め得て、その結果、一部又は全部の端部が除外される。
従来の物体検出技術を使用すると、画像に含まれていない端部が車両の形状及び/又は向きを決定するために必要となり得るため、車両2810について検出された境界は不正確であり得る。これは、車両が画像の大部分又は全てを占める画像に特に当てはまり得る。本明細書に開示される技術を使用して、画像2800内の車両2810に関連付けられた各ピクセルを分析して、完全に車両2810が画像内に表されているか否かに関係なく、バウンディングボックス2820を決定し得る。例えば、トレーニングされたニューラルネットワークモデルを使用して、ピクセル2824が車両2810の端部を含むことを決定し得る。トレーニングされたモデルはまた、ピクセル2722と同様に、ピクセル2822が車両2810の表面上にあることを決定し得る。システムはまた、上記で説明した距離2732及び2734と同様に、ピクセル2822から車両の表面の端部までの1つ又は複数の距離を決定し得る。幾つかの実施形態では、この推定距離情報を使用して、画像に含まれていない車両の境界を画定し得る。例えば、ピクセル2822を分析して、ピクセル2822から画像フレームの端部を越えている車両2810の端部までの推定距離を決定し得る。従って、画像内に現れる車両2810に関連付けられたピクセルの組み合わせ分析に基づいて、車両2810の正確な境界を決定し得る。この情報は、ホスト車両のナビゲーション動作を決定するために使用され得る。例えば、車両(例えば、トラック、バス、トレーラ等)の見えない後端部は、画像フレーム内にある車両の一部に基づいて決定され得る。従って、ナビゲーションシステムは、ホスト車両がブレーキをかける又は減速する、隣接するレーンに移動する、速度を上げる等の必要があるか否かを決定するために、目標車両に必要なクリアランスを推定し得る。
幾つかの実施形態では、開示される技術を使用して、目標車両ではない車両を表すバウンディングボックスを決定し得て、従って、ナビゲーション決定の目的のためにバウンディングボックスに関連付けるべきではない。幾つかの実施形態では、これは、他の車両によって牽引又は運ばれる車両を含み得る。図29は、開示される実施形態による、キャリア上の車両を示す例示的な画像2900の図である。画像2900は、上記で説明したように、車両200の画像捕捉デバイス120等のホスト車両のカメラによって捕捉され得る。図29に示す例では、画像2900は、車両200の側面に配置されたカメラによって撮影された側面図画像であり得る。画像2900は、1つ又は複数の車両2920及び2930を運び得るキャリア車両2910を含み得る。キャリア車両2910は、自動車輸送トレーラとして示されているが、他の様々な車両キャリアが識別され得る。例えば、キャリア車両2910は、フラットベッドトレーラ、牽引トラック、シングルカートレーラ、傾斜カーキャリア、グースネックトレーラ、ドロップデッキトレーラ、ウェッジトレーラ、自動車輸送列車車両、又は別の車両を輸送するための任意の他の車両を含み得る。
上記で説明した技術を使用して、画像内の各ピクセルを分析して、車両の境界を識別し得る。例えば、キャリア車両2910に関連付けられたピクセルは、上記で説明したように、キャリア車両2910の境界を決定するために分析され得る。システムはまた、車両2920及び2930に関連付けられたピクセルを分析し得る。ピクセルの分析に基づいて、システムは、車両2920及び2930が目標車両ではなく、従って、バウンディングボックスに関連付けられるべきではないと判断し得る。この分析は、様々な方法で実行され得る。例えば、上記で説明したトレーニングされたニューラルネットワークは、運ばれる車両の画像を含むトレーニングデータのセットを使用してトレーニングされ得る。画像内の運ばれる車両に関連付けられたピクセルは、運ばれる車両又は非目標車両として指定され得る。従って、トレーニングされたニューラルネットワークモデルは、画像2900のピクセルに基づいて、車両2920及び2930がキャリア車両2910で輸送されていることを決定し得る。例えば、ニューラルネットワークは、車両2920又は2930内のピクセルが、車両2920又は2930の端部ではなく、車両2910の端部に関連付けられるようにトレーニングされ得る。従って、運ばれる車両の境界を決定し得ない。車両2920及び2930はまた、例えば、車両2910に対する車両の位置、車両の向き、画像内の他の要素に対する車両の位置等に基づいて、他の技術を使用して運ばれる車両として識別され得る。
幾つかの実施形態では、システムは、画像内の車両の反射が目標車両と見なされるべきではないと同様に決定し得て、従って、反射の境界を決定しない場合がある。図30A及び図30Bは、開示される実施形態による、車両の反射を含む例示的な画像3000A及び3000Bを示す。幾つかの実施形態では、反射は、道路の表面に基づき得る。例えば、図30Aに示すように、画像3000Aは、濡れた道路等の反射面上又は少なくとも部分的に反射面上を走行する車両3010を含み得る。従って、画像3000Aはまた、車両3010の反射3030を含み得る。そのような反射は、場合によっては、反射3030がシステムによって目標車両として解釈され得るため、自律車両システムにおいて問題となり得る。従って、反射3030は、それ自体のバウンディングボックスに関連付けられ、車両ナビゲーションの決定において考慮され得る。例えば、ホスト車両200は、反射3030が車両3010よりもはるかに近いと判断し得て、これにより、車両200に不要なナビゲーション動作(例えば、ブレーキの適用、レーン変更の実行等)を行わせ得る。
開示される方法を使用して、反射3030に関連付けられたピクセルを分析して、反射3030が目標車両ではないことを決定し得て、従って、反射車両の境界を決定すべきではない。これは、キャリア上の車両に関して上記で説明した方法と同様に実行され得る。例えば、ニューラルネットワークモデルは、反射に関連付けられた個々のピクセルが、反射を示すもの、又は目標車両を示さないものとして識別され得るように、車両の反射を含む画像を使用してトレーニングされ得る。従って、トレーニングされたモデルは、車両3010及び反射3030等の目標車両に関連付けられたピクセルを区別可能であり得る。幾つかの実施形態では、反射3030は、その向き、車両3010に対するその位置、画像3000Aの他の要素に対するその位置等に基づいて、反射として識別され得る。システムは、車両3010に関連付けられたバウンディングボックス3020を決定し得るが、反射3030に関連付けられたバウンディングボックス又は他の境界を決定し得ない。反射3030は、濡れた路面上に現れるものとして上記で説明したが、反射は、金属又は他の反射面、加熱された路面による蜃気楼反射等の他の表面上にも現れ得る。
道路上の反射に加えて、車両の反射は他の表面での反射に基づいて検出され得る。例えば、図30Bに示すように、車両の反射が別の車両の表面上の画像内に表示され得る。画像3000Bは、サイドビューカメラ等の車両200のカメラによって捕捉された画像を表し得る。画像3000Bは、この例では、車両200と並んで走行し得る、別の車両3050の表現を含み得る。車両3050の表面は、第2の車両の反射3060が画像3000Bに現れ得るように、少なくとも部分的に反射し得る。反射3060は、車両3050の表面に現れるホスト車両200の反射であり得るか、又は別の目標車両の反射であり得る。反射3030と同様に、システムは、反射3060に関連付けられたピクセルを分析して、反射3060が目標車両を表していないことを決定し得て、従って、反射3060の境界を決定すべきではない。例えば、ニューラルネットワークは、反射3060内のピクセルが、反射された車両の表現の端部ではなく、車両3050の端部に関連付けられるようにトレーニングされ得る。従って、反射3060について境界を決定し得ない。反射3060は、反射として識別されると、ナビゲーション動作を決定する目的で無視され得る。例えば、反射の動きがホスト車両に向かって移動しているように見える場合、ホスト車両は、その動きが目標車両によって実行された場合に、それ以外の場合では実行する可能性のある、ブレーキをかけたり、他のナビゲーション動作を実行したりすることがない場合がある。反射3060は、タンクローリの側面に現れるように図30Bに表されているが、別の車両の光沢のある塗装面(例えば、ドア、サイドパネル、バンパー等)、クロム面、別の車両のガラス面(例えば、窓等)、建物(例えば、建物の窓、金属面等)、又は目標車両の画像を反射し得るその他の反射面等の他の表面にも現れ得る。
図31Aは、開示される実施形態による、画像内のピクセルの分析に基づいてホスト車両をナビゲートするための例示的なプロセス3100を示すフローチャートである。プロセス3100は、上記で説明したように、処理ユニット110などの少なくとも1つの処理デバイスによって実行され得る。本開示全体を通して、「プロセッサ」という用語は、「少なくとも1つのプロセッサ」の省略形として使用されることを理解されたい。言い換えれば、プロセッサは、そのような構造が配置されているか、接続されているか、又は分散されているかにかかわらず、論理演算を実行する1つ又は複数の構造を含み得る。幾つかの実施形態では、非一時的なコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサにプロセス3100を実行させる命令を含み得る。更に、プロセス3100は、必ずしも図31Aに示すステップに限定されるものではなく、本開示全体を通して説明される様々な実施形態の任意のステップ又はプロセスもまた、図27~図30Bに関して上記で説明されたものを含む、プロセス3100に含まれ得る。
ステップ3110において、プロセス3100は、ホスト車両のカメラから、ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信することを含み得る。例えば、画像取得ユニット120は、ホスト車両200の環境を表す1つ又は複数の画像を捕捉し得る。捕捉された画像は、図27~図30Bに関して上記で説明されたような画像に対応し得る。
ステップ3120において、プロセス3100は、少なくとも1つの捕捉された画像の1つ又は複数のピクセルを分析して、1つ又は複数のピクセルが目標車両の少なくとも一部を表すか否かを判断することを含み得る。例えば、ピクセル2722及び2724は、ピクセルが車両2710の一部を表すことを決定するために、上記で説明したように分析され得る。幾つかの実施形態では、分析は、捕捉された画像の全てのピクセルに対して実行され得る。他の実施形態では、分析は、ピクセルのサブセットに対して実行され得る。例えば、分析は、捕捉された画像に関連して識別された目標車両候補領域の全てのピクセルに対して実行され得る。そのような領域は、例えば、以下で詳細に説明するプロセス3500を使用して決定し得る。分析は、上記で説明したトレーニングされたシステムを含む、様々な技術を使用して実行され得る。従って、1つ又は複数のニューラルネットワークを含み得るトレーニングされたシステムは、1つ又は複数のピクセルの分析の少なくとも一部を実行し得る。
ステップ3130において、プロセス3100は、目標車両の少なくとも一部を表すと判断されたピクセルの場合、1つ又は複数のピクセルから目標車両の表面の少なくとも1つの端部までの1つ又は複数の推定距離値を決定することを含み得る。例えば、上記で説明したように、処理ユニット110は、ピクセル2722が車両2710の表面2730を表すと決定し得る。従って、距離2732及び2734等、表面2730の端部までの1つ又は複数の距離を決定し得る。例えば、距離値は、特定のピクセルから、目標車両の前端部、後端部、側端部、上端部、又は下端部のうちの少なくとも1つまでの距離を含み得る。距離値は、画像に基づいてピクセル単位で測定し得るか、又は目標車両に対する現実世界の距離で測定し得る。幾つかの実施形態では、プロセス3100は、1つ又は複数のピクセルが、目標車両の少なくとも1つの端部の少なくとも一部の表現を含む境界ピクセルを含むか否かを判断することを更に含み得る。例えば、ピクセル2724は、上記で説明したように、端部2712の表現を含むピクセルとして識別され得る。
ステップ3140において、プロセス3100は、1つ又は複数のピクセルに関連付けられた判断された1つ又は複数の距離値を含む、1つ又は複数のピクセルの分析に基づいて、目標車両に対する境界の少なくとも一部を生成することを含み得る。例えば、ステップ3140は、図27に示すように、端部3712によって表される境界の一部を決定することを含み得る。これは、画像内の目標車両2710に関連付けられた全てのピクセルの組み合わせ分析に基づいて決定し得る。例えば、端部3712は、端部3712を含むと識別されたピクセルと共に、車両の表面に含まれるピクセルに基づいて生成された推定距離値の組み合わせに基づいて推定され得る。幾つかの実施形態では、境界の一部は、バウンディングボックス2720等のバウンディングボックスの少なくとも一部を含み得る。
プロセス3100は、目標車両の決定された境界の精度を改善するために特定のシナリオで実行され得る。例えば、幾つかの実施形態では、図28に示すように、目標車両の少なくとも1つの端部(又は1つ又は複数の端部)の少なくとも一部は、捕捉された画像に表され得ない。プロセス3100を使用して、目標車両(例えば、車両2810)の境界は、画像内に現れる目標車両に関連付けられたピクセルに基づいて決定され得る。幾つかの実施形態では、プロセス3100は、捕捉された画像の分析に基づいて、図29に関して上記で説明したように、目標車両が別の車両又はトレーラによって運ばれるか否かを判断することを更に含み得る。従って、処理ユニット110は、運ばれる車両の境界を決定し得ない。同様に、プロセス3100は、図30A及び図30Bに関して上記で説明したように、捕捉された画像の分析に基づいて、目標車両が少なくとも1つの画像の反射の表現に含まれるか否かを判断することを含み得る。そのような実施形態では、処理ユニット110は、車両反射の境界を決定し得ない。
幾つかの実施形態では、プロセス3100は、上記の分析に基づく追加のステップを含み得る。例えば、プロセス3100は、目標車両に対して生成された境界の少なくとも一部の向きを決定することを含み得る。上記で説明したように、向きは、目標車両に関連付けられた1つ又は複数の識別された表面を含む、目標車両に関連付けられた各ピクセルの組み合わせ分析に基づいて決定され得る。決定された向きは、目標車両によって実行されている動作又は実行される予定の動作(もしくは将来の動作又は状態)を示し得る。例えば、決定された向きは、目標車両によるホスト車両に対する横方向の動き(例えば、レーン変更動作)又はホスト車両の経路に向かう目標車両による動作を示し得る。プロセス3100は、境界の少なくとも一部の決定された向きに基づいてホスト車両のナビゲーション動作を決定し、車両に決定されたナビゲーション動作を実施させることを更に含み得る。例えば、決定されたナビゲーション動作は、合流動作、ブレーキ動作、加速動作、レーン変更動作、急旋回又はその他の回避動作等を含み得る。幾つかの実施形態では、プロセス3100は、境界の一部のホスト車両までの距離を決定することを更に含み得る。これは、画像内の境界の一部の位置を決定すること、及び位置に基づいてホスト車両までの距離を推定することを含み得る。本開示全体を通して説明される他の様々な技術もまた、距離を決定するために使用され得る。プロセス3100は、少なくとも決定された距離に基づいて、車両にナビゲーション動作を実施させることを更に含み得る。
幾つかの実施形態では、プロセス3100は、分析されたピクセルに基づいて目標車両に関する情報を決定することを含み得る。例えば、プロセス3100は、目標車両のタイプを決定すること、及び目標車両のタイプを出力することを含み得る。そのようなタイプの目標車両は、バス、トラック、自転車、オートバイ、バン、自動車、建設車両、緊急車両、又は他のタイプの車両のうちの少なくとも1つを含み得る。目標車両のタイプは、境界の一部のサイズに基づいて決定され得る。例えば、境界内に含まれるピクセルの数は、目標車両のタイプを示し得る。幾つかの実施形態では、サイズは、境界の一部に基づいて推定された現実世界のサイズに基づき得る。例えば、上記で説明したように、車両の端部までの距離は、画像内に現れる車両に関連付けられたピクセルに基づいて推定され得る。この分析に基づいて、車両の正確な境界は、画像フレームの外側にあるにもかかわらず、決定され得る。
図27に関して上記で説明したように、ナビゲーションシステムは、画像内の目標車両の部分的表現を分析し、画像内に含まれていない目標車両の境界を決定するように構成され得る。これは、ナビゲーション動作の決定にとって重要であり得る。図31Bは、開示される実施形態による、画像内の車両の部分的表現に基づいてホスト車両をナビゲートするための例示的なプロセス3150を示すフローチャートである。プロセス3150は、上記で説明したように、処理ユニット110などの少なくとも1つの処理デバイスによって実行され得る。幾つかの実施形態では、非一時的なコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサにプロセス3150を実行させる命令を含み得る。更に、プロセス3150は、必ずしも図31Bに示すステップに限定されるものではなく、本開示全体を通して説明される様々な実施形態の任意のステップ又はプロセスもまた、図27~図31Aに関して上記で説明されたものを含む、プロセス3150に含まれ得る。
ステップ3160において、プロセス3150は、ホスト車両のカメラから、ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信することを含み得る。例えば、画像取得ユニット120は、ホスト車両200の環境を表す1つ又は複数の画像を捕捉し得る。捕捉された画像は、図28に関して上記で説明された画像2800に対応し得る。
ステップ3170において、プロセス3150は、少なくとも1つの捕捉された画像の1つ又は複数のピクセルを分析して、1つ又は複数のピクセルが目標車両を表すか否かを判断することを含み得る。幾つかの実施形態では、目標車両の少なくとも一部は、少なくとも1つの捕捉された画像で表され得ない。例えば、図28に示すように、目標車両は車両2810に対応し得て、車両2810の一部は画像2800に含まれ得ない。プロセス3100と同様に、トレーニングされたシステムは、1つ又は複数のピクセルの分析の少なくとも一部を実行する。例えば、トレーニングされたシステムは、上記で説明したように、1つ又は複数のニューラルネットワークを含み得る。
ステップ3180において、プロセス3150は、ホスト車両から目標車両までの推定距離を決定することを含み得る。推定距離は、少なくとも1つの捕捉された画像に表されていない目標車両の一部に少なくとも部分的に基づき得る。例えば、ステップ3180は、少なくとも1つの捕捉された画像内に表されていない目標車両の少なくとも1つの境界の位置を決定することを含み得る。この境界は、上記で説明したプロセス3100と一致して決定され得る。従って、少なくとも1つの境界は、1つ又は複数のピクセルの分析に基づいて決定され得る。例えば、少なくとも1つの捕捉された画像(又は目標車両に関連付けられたピクセルのサブセット)に含まれる各ピクセルは、トレーニングされたニューラルネットワークを使用して分析され得る。目標車両に関連付けられていると判断されたピクセルの場合、ステップ3180は、そのピクセルから少なくとも1つの境界までの少なくとも1つの距離を決定することを含み得る。幾つかの実施形態では、少なくとも1つの境界は、目標車両の全体的な境界の一部であり得る。ホスト車両から目標車両までの推定距離は、ホスト車両から少なくとも1つの境界までの推定距離であり得る。
図28に関して上記で説明したように、プロセス3150は、推定距離に基づいたナビゲーション動作の実施を更に含み得る。例えば、推定距離は、ホスト車両から目標車両の後端部(例えば、バス、トレーラ、トラックの後部等)までの距離であり得る。後端部は少なくとも1つの境界に対応し得て、従って、画像に含まれ得ない。後端部が見えないにもかかわらず、それでも、ナビゲーションシステムは、後端部の位置を決定し、後端部に基づいてナビゲーション動作を実行するように構成され得る。例えば、ナビゲーション動作は、本開示全体を通して説明される他のナビゲーション動作を含む、推定距離に基づいて必要となり得るブレーキ動作(例えば、ホスト車両と目標車両の間のクリアランス距離を増やすため)、レーン変更動作、回避動作、加速動作、又は他の様々な動作のうちの少なくとも1つを含み得る。
図32Aは、開示される実施形態による、車両反射を含む画像内のピクセルの分析に基づいてホスト車両をナビゲートするための例示的なプロセス3200を示すフローチャートである。プロセス3200は、上記で説明したように、処理ユニット110などの少なくとも1つの処理デバイスによって実行され得る。幾つかの実施形態では、非一時的なコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサにプロセス3200を実行させる命令を含み得る。更に、プロセス3200は、必ずしも図32Aに示すステップに限定されるものではなく、本開示全体を通して説明される様々な実施形態の任意のステップ又はプロセスもまた、図30A~図30Bに関して上記で説明されたものを含む、プロセス3200に含まれ得る。
ステップ3210において、プロセス3200は、ホスト車両のカメラから、ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信することを含み得る。例えば、画像取得ユニット120は、ホスト車両200の環境を表す1つ又は複数の画像を捕捉し得る。幾つかの実施形態では、捕捉された画像は、上記で説明したように、画像3000Bに対応し得る。
ステップ3220において、プロセス3200は、少なくとも1つの捕捉された画像の2つ以上のピクセルを分析して、2つ以上のピクセルが第1の目標車両の少なくとも一部及び第2の目標車両の少なくとも一部を表すか否かを判断することを含み得る。幾つかの実施形態では、分析は、捕捉された画像の全てのピクセルに対して実行され得る。他の実施形態では、分析は、ピクセルのサブセットに対して実行され得る。例えば、分析は、捕捉された画像に関連して識別された目標車両候補領域の全てのピクセルに対して実行され得る。そのような領域は、例えば、以下で説明するプロセス3500を使用して決定し得る。分析は、上記で説明するように、トレーニングされたシステムを含む、様々な技術を使用して実行され得る。従って、1つ又は複数のニューラルネットワークを含み得るトレーニングされたシステムは、1つ又は複数のピクセルの分析の少なくとも一部を実行し得る。
ステップ3230では、プロセッサ3200は、第2の目標車両の一部が、第1の目標車両の表面上の反射の表現に含まれることを決定することを含み得る。例えば、第2の目標車両の一部は、車両3050の表面に現れる反射3060に対応し得る。車両3050は、図32にタンクローリ車両として示されているが、第1の目標車両は、車、トラック、バン、バス、緊急車両、建設車両、又は反射面を含み得る任意の他のタイプの車両を含み得ることが理解されよう。
ステップ3240において、プロセッサ3200は、2つ以上のピクセルの分析及び第2の目標車両の一部が第1の目標車両の表面上の反射の表現に含まれるという決定に基づいて、第1の目標車両に対する境界の少なくとも一部を生成し、第2の目標車両に対する境界を生成しないことを含み得る。例えば、ステップ3240は、車両3050の境界を生成し、反射3060の境界を生成しないことを含み得る。従って、上記で説明したように、第2の車両の感知された動きは、ナビゲーション動作を決定する目的で無視され得る。第1の車両に対して生成された境界は、上記で説明したようにプロセス3100に従って生成され得る。従って、プロセス3100に関して上記で説明したステップのいずれも、プロセス3200の一部として実行され得る。幾つかの実施形態では、境界は、バウンディングボックスの少なくとも一部を含み得る。
図32Bは、開示される実施形態による、運ばれる車両を含む画像内のピクセルの分析に基づいてホスト車両をナビゲートするための例示的なプロセス3250を示すフローチャートである。プロセス3250は、上記で説明したように、処理ユニット110などの少なくとも1つの処理デバイスによって実行され得る。幾つかの実施形態では、非一時的なコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサにプロセス3250を実行させる命令を含み得る。更に、プロセス3250は、必ずしも図32Bに示すステップに限定されるものではなく、本開示全体を通して説明される様々な実施形態の任意のステップ又はプロセスもまた、図29に関して上記で説明されたものを含む、プロセス3250に含まれ得る。
ステップ3260において、プロセス3250は、ホスト車両のカメラから、ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信することを含み得る。例えば、画像取得ユニット120は、ホスト車両200の環境を表す1つ又は複数の画像を捕捉し得る。幾つかの実施形態では、捕捉された画像は、上記で説明したように、画像2900に対応し得る。
ステップ3270において、プロセス3250は、少なくとも1つの捕捉された画像の2つ以上のピクセルを分析して、2つ以上のピクセルが第1の目標車両の少なくとも一部及び第2の目標車両の少なくとも一部を表すか否かを判断することを含み得る。幾つかの実施形態では、分析は、捕捉された画像の全てのピクセルに対して実行され得る。他の実施形態では、分析は、ピクセルのサブセットに対して実行され得る。例えば、分析は、捕捉された画像に関連して識別された目標車両候補領域の全てのピクセルに対して実行され得る。そのような領域は、例えば、以下で説明するプロセス3500を使用して決定し得る。分析は、上記で説明するように、トレーニングされたシステムを含む、様々な技術を使用して実行され得る。従って、1つ又は複数のニューラルネットワークを含み得るトレーニングされたシステムは、1つ又は複数のピクセルの分析の少なくとも一部を実行し得る。
ステップ3280において、プロセス3250は、第2の目標車両が第1の目標車両によって運ばれるか、又は牽引されるかを判断することを含み得る。例えば、第1の車両は、車両2910に対応し得て、第2の車両は、車両2920又は2930のうちの1つに対応し得る。車両2910は図29に自動車輸送トレーラとして示されているが、第1の目標車両には、牽引トラック、トレーラ、オープンエアキャリア、フラットベッドトラック、又は他の車両を運搬もしくは牽引し得るその他のタイプの車両を含み得る。
ステップ3290において、プロセス3250は、2つ以上のピクセルの分析及び第2の目標車両が第1の目標車両によって運ばれるか、又は牽引されるかの判断に基づいて、第1の目標車両に対する境界の少なくとも一部を生成し、第2の目標車両に対する境界を生成しないことを含み得る。例えば、ステップ3290は、車両2910の境界を生成し、車両2920及び/又は車両2930の境界を生成しないことを含み得る。第1の車両に対して生成された境界は、上記で説明したようにプロセス3100に従って生成され得る。従って、プロセス3100に関して上記で説明したステップのいずれも、プロセス3250の一部として実行され得る。幾つかの実施形態では、境界は、バウンディングボックスの少なくとも一部を含み得る。
幾つかの実施形態では、上記で説明したプロセスのうちの1つ又は複数は、反復プロセスで実行され得る。第1の画像から決定された目標車両の境界は、目標車両の第2の境界を決定するために、後続の画像に関連して使用され得る。第1の境界は、第2の境界を決定するための「ショートカット」として(すなわち、処理時間及び計算要件を削減するために)使用され得る。例えば、第2の境界は、それぞれの画像内の第1の境界内の同様の位置にあると予想され得る。予想される類似性の程度は、第1の画像及び第2の画像が捕捉されるまでの時間、ホスト車両及び/又は目標車両が走行する速度等の要因に依存し得る。幾つかの実施形態では、後で捕捉された画像を使用して、決定された境界の精度を改善するために初期の境界を洗練し得る。例えば、車両が画像の端部で部分的に遮断されている場合、車両がカメラの視野内を移動するときに、より多くのピクセルが第2の画像に含まれ得る。追加のピクセル情報は、プロセス3100及び上記で説明した他の様々な技術に基づいて、境界のより良い推定を提供し得る。
図33は、開示される実施形態による、一連の画像内のピクセルの分析に基づいてホスト車両をナビゲートするための例示的なプロセス3300を示すフローチャートである。プロセス3300は、上記で説明したように、処理ユニット110などの少なくとも1つの処理デバイスによって実行され得る。幾つかの実施形態では、非一時的なコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサにプロセス3300を実行させる命令を含み得る。更に、プロセス3300は、必ずしも図33に示すステップに限定されるものではなく、本開示全体を通して説明される様々な実施形態の任意のステップ又はプロセスもまた、プロセス3100に関して上記で説明されたものを含む、プロセス3300に含まれ得る。
ステップ3310~3330は、上記で説明したように、プロセス3100のステップ3110~3140に対応し得る。例えば、ステップ3310において、プロセス3300は、ホスト車両のカメラから、ホスト車両の環境を表す第1の捕捉された画像を受信することを含み得る。ステップ3320において、プロセス3300は、第1の捕捉された画像の1つ又は複数のピクセルを分析して、1つ又は複数のピクセルが目標車両の少なくとも一部を表すか否かを判断し、目標車両の少なくとも一部を表すと判断されたピクセルについて、1つ又は複数のピクセルから目標車両の表面の少なくとも1つの端部までの1つ又は複数の推定距離値を判断することを含み得る。例えば、推定距離値は、上記で説明した距離2732及び2734に対応し得る。ステップ3330において、プロセッサ3300は、第1の捕捉された画像の1つ又は複数のピクセルに関連付けられた判断された1つ又は複数の距離値を含む、第1の捕捉された画像の1つ又は複数のピクセルの分析に基づいて、目標車両に対する第1の境界の少なくとも一部を生成することを含み得る。第1の境界の一部は、プロセス3100のステップ3140において決定された境界に対応し得る。従って、プロセス3100に関して上記で提供されたステップ又は説明のいずれも、プロセス3300にも適用され得る。
ステップ3340において、プロセス3300は、ホスト車両のカメラから、ホスト車両の環境を表す第2の捕捉された画像を受信することを含み得る。幾つかの実施形態では、第2の捕捉された画像は、第1の捕捉された画像の後の所定の時間に捕捉され得る。例えば、所定の期間は、カメラのフレームレートに基づき得る。
ステップ3350において、プロセス3300は、第2の捕捉された画像の1つ又は複数のピクセルを分析して、1つ又は複数のピクセルが目標車両の少なくとも一部を表すか否かを判断することを含み得る。幾つかの実施形態では、これは、第2の捕捉された画像内の全てのピクセルを分析することを含み得る。他の実施形態では、サブセットのみを分析し得る。例えば、目標車両に関連付けられていると判断されたピクセルのグループの全てを分析し得る。幾つかの実施形態では、サブセットは、第1の境界に基づいて選択され得る。例えば、ステップ3350の分析は、識別された第1の境界内又は近傍のピクセルに焦点を合わせ得る。ステップ3320と同様に、ステップ3350は、目標車両の少なくとも一部を表すと判断されたピクセルの場合、1つ又は複数のピクセルから目標車両の表面の少なくとも1つの端部までの1つ又は複数の推定距離値を決定することを含み得る。
ステップ3360において、プロセッサ3300は、第2の捕捉された画像の1つ又は複数のピクセルに関連付けられた判断された1つ又は複数の距離値を含む、第2の捕捉された画像の1つ又は複数のピクセルの分析に基づいて、及び第1の境界に基づいて、目標車両に対する第2の境界の少なくとも一部を生成することを含み得る。幾つかの実施形態では、第2の境界は、第1の境界の調整されたバージョンであり得る。例えば、第2の境界は、画像フレーム内の目標車両の更新された位置に基づき得る。第2の境界は、例えば、第2の捕捉された画像内の目標車両を表す追加のピクセル等、第2の捕捉された画像に含まれる追加情報に基づく、第1の境界の洗練されたバージョンであり得る。
図27~図33に関して上記で説明した様々なプロセスは、画像の各ピクセルを分析して、画像内の目標車両を識別し、目標車両に関連付けられた境界を決定することに関連付けられている。従って、画像の領域は、目標車両に関連付けられたものとして分類され得る。開示された技術を使用して、画像の様々な他の物体又は領域もまた、上記で論じたように、統一された画像分析フレームワークの一部として分類され得る。例えば、単一の画像分析層は、入力として捕捉された画像フレームを受信し、捕捉された画像フレームに関連付けられたピクセルを分析及び特徴付けし、出力として特徴付けられた画像フレームを提供し得る。次いで、特徴付けられた画像フレームは、特徴付けられた画像フレームに基づいて適切なナビゲーション動作を生成及び実装するために、ナビゲーションシステムの複数の異なる機能/モジュールに供給され得る。
幾つかの実施形態では、上記で説明したプロセスの一部又は全部(例えば、プロセス3100)は、画像分析層の一部として実行され得る。例えば、プロセス3100を使用して、更なる処理のために機能又はモジュールに供給され得る、画像の一部を車両に関連付けられたものとして特徴付け得る。他の実施形態では、プロセス3100の一部又は全部は、画像分析層が適用された後に実行され得る。例えば、プロセス3100は、車両に関連付けられていると特徴付けられた画像内のピクセルのサブセットのみを分析し得る。
開示されたナビゲーションシステムの画像分析層を提供するために、捕捉された画像フレームを受信し、特徴付けられた画像を出力できる任意の適切なシステムを使用し得る。場合によっては、画像分析層は、ニューラルネットワークのトレーニングプロトコルに従って捕捉された画像のセグメントを特徴付けるトレーニングされたニューラルネットワークを含み得る。
ニューラルネットワークをトレーニングするために使用されるトレーニングデータセットは、任意の適切なデータセットを含み得る。場合によっては、トレーニングデータは、ニューラルネットワークが認識すべき所定の特性のセットに従って調査及び特徴付けられた複数の捕捉された画像を含み得る。そのような特徴付けは、例えば、トレーニングデータセット内の捕捉された画像を分析し、捕捉された画像のセグメントを関心のある所定の特性のセット(例えば、道路、道路以外、植物、物体、歩行者、車両、車両の車輪、車両のドアの端部、及びその他多数)と比較し、関心のある各特性に関連付けられた捕捉された画像のピクセルを指定する1人又は複数の人間のレビューアによって実行され得る。指定された画像は、ニューラルネットワークのトレーニングデータセットとして使用できる。従って、個々のニューラルネットワークを適用して物体の様々な分類を識別し、関連する分析を実行する複数の別個のプロセスではなく、画像分析層ニューラルネットワークは初期分析で画像の様々な部分を分類できる。
ニューラルネットワークの有効性及び精度は、トレーニングデータセット内の利用可能なトレーニングデータの質及び量に依存し得る。従って、大規模なトレーニングデータセット(例えば、数百、数千、又は数百万の指定された捕捉された画像を含む)を使用することによって提供される利点があり得る。ただし、このような大規模なデータセットを生成することは、非現実的又は不可能であり得る。更に、そのような手動の調査及び指定の技術は、特徴付けのための新しい機能(例えば、マンホールの蓋の識別機能)を1つでも追加すると、数百、数千、数百万の画像等の再指定が必要になり得るため、柔軟性に欠ける。このようなアプローチは、コストがかかり、時間がかかり得る。
この課題に対処するために、本システムは、捕捉された画像において環境の所定の特性を具体的に識別するように設計された一連の画像分析アルゴリズムを使用し得る。識別に基づいて、捕捉された画像は、ピクセルごとに自動的に指定されて、どのピクセル又はピクセルセグメントが環境内の関心のある各特徴に対応するかを示し得る。そのような指定は、関心のある特定の特徴に関連付けられるものとして指定された画像ピクセルの一部を有する捕捉された画像をもたらし得るか、又は全てのピクセルが車両環境の少なくとも1つの特徴に関連付けられるものとして指定されるように、画像の完全な指定をもたらし得る。画像分析及び画像指定のためのそのような自動システムは、トレーニングデータセットを生成できる速度及びサイズを大幅に向上させ得る。
様々な画像分析アルゴリズムを使用して、所定の特性を識別し得る。幾つかの実施形態では、画像分析アルゴリズムは、画像内の決定された構造に基づいて、ホスト車両の環境内の特徴を検出するように構成され得る。幾つかの実施形態では、この構造は、一連の画像の中で明らかであり得る「視差」効果に基づいて決定し得る。このようなシステムは通常、同じカメラからの複数の画像を異なる期間に使用する。車両が動くときのカメラの動きは、トレーニングされたニューラルネットワークが環境の3次元(3D)モデルを生成するために使用し得る異なる視点(例えば、情報)を提供し得る。
最初のステップとして、画像を正規化された状態に変換(例えば、カメラのレンズの歪みを補正するため)し、画像間でピクセルを順次位置合わせし(例えば、ホモグラフィを介して前の画像をワーピングして後の画像とほぼ一致させる)、残りのピクセル運動(例えば、残留運動)を測定する反復プロセスを使用して、環境をモデル化し得る。画像のシーケンスが正規化されると、画像内の残留運動(
として表される)は
のように計算される。ここで、
項は「ガンマ」である。これは、平面(例えば、路面)の上のピクセルの高さH及びセンサまでのピクセルの距離Zの比率であり、
は、センサの前方方向への移動を表し(例えば、車両が画像間をどれだけ移動したか)、
は平面からのセンサの高さを表し、
はエピポール情報(例えば、車両が走行している場所まで)を表し、
は、ホモグラフィベースのワーピングを適用した後のピクセルの対応する画像座標を表す。
画像内の各ピクセルに関連付けられたガンマ又は高さの情報を一連の画像から直接計算するために、トレーニングされたモデル(例えば、機械学習システム、人工ニューラルネットワーク(ANN)、ディープANN(DNN)、畳み込みANN(CNN)等)を開発し得る。例えば、一連の画像(例えば、現在の画像及び2つの前の画像)をトレーニングされたモデルに入力し得て、各ピクセルの高さを決定して、画像の構造を示し得る。この構造データは、ニューラルネットワークをトレーニングするために使用し得る。
発生し得る問題には、他の車両等のシーン内で移動する物体が含まれる。固定された物体は、カメラの視点がシーン内を移動するにつれて、予測可能な方法で変化する傾向がある。例えば、街灯柱等の垂直の物体の場合、ポールの下部は路面と共に移動するが、ポールの上部は、カメラが近づくと、路面よりも速く移動するように見え得る。発生し得る問題には、他の車両等のシーン内で移動する物体が含まれる。
移動する物体と固定された物体との間の応答の違いは、環境モデルの精度に影響を与え得るニューラルネットワークトレーニングのアーチファクトにつながり得る。これに対抗する技術は、移動する物体を識別し、次いで、トレーニング画像でそれらを無視(例えば、マスキング)して、トレーニングへの影響を低減することを含み得る。これは、画像内に表されている環境の固定(例えば、静止している、移動していない)領域の出力のみに基づいて、ネットワークを罰を与えたり、報酬を与えたりすることに似ている。しかし、このマスキングにより、幾つかの問題が発生し得る。例えば、結果は一般に、移動する物体に関する有用な3D情報を有さない。また、穴が存在しない移動する物体の近傍の穴(例えば、くぼみ)を予測する等、異なるアーチファクトが出力に現れ得る。更に、問題の移動する物体はカメラの前方の車両であることが多いため、ネットワークは、物体が移動しているか固定されているか否かに関係なく、カメラの真正面にある物体を消去(例えば、無視)するように意図せずトレーニングされ得る。
上記の問題の幾つかに対処するために、ネットワークのトレーニングに使用される複数の画像フレームは、1台のカメラから複数の時点で撮影するのではなく、複数のカメラからある時点で撮影し得る。異なる視点が同時に捕捉されるため、移動する物体と移動しない物体との間の区別はなくなる。むしろ、様々な視点を使用して、シーン内の全ての物体の3D特性をモデル化し、ニューラルネットワークのトレーニングに使用されるグランドトゥルースを提供し得る。
第1の操作では、画像を提供するカメラ間でキャリブレーション(例えば、RT)が決定される。これは、コーナーカメラからのフレームに表示される3D情報のある程度の初期理解を使用して実行し、ローリングシャッタ画像をグローバルシャッタ画像として再描画し得る。例えば、シーンの3D情報、ピクセル行ごとの露出時間、及びタイムスタンプ辺りのカメラの自己運動を使用するローリングシャッタ補正。これは、全てのピクセルが平面上にあるという仮定等の比較的単純な3D情報を使用して実現され得るか、又はそのカメラで別の視差モデルをトレーニングして、その出力をこの補正に使用するような、はるかに豊富な3D情報を使用して実現され得る。
次に、左右の画像は、平面とRT(例えば、ホモグラフィ)を使用して現在のフレームにワープされ得る。次に、損失計算では、現在のフレームの新しいバージョンは、ワープされたサイドフレームからのピクセル及びニューラルネットワークからの3D情報を使用してレンダリングされ得る。結果を実際の現在のフレーム(例えば、メインカメラから)と比較して、2つの部分がどの程度一致しているかを確認し得る。
次に、2つの経路が追従され得る。画像全体にわたるサラウンドカメラからの損失を使用し得るか、又は移動する物体のマスクの内部でのみサラウンドカメラからの損失を使用し得る。
一例では、上記で説明したように、ローリングシャッタ画像がグローバルシャッタ画像として再描画されない場合、ローリングシャッタはここで修正され得る。自己運動、行ごとの露出時間、及びこの反復でのニューラルネットワークの出力からの3D情報を使用する。
上記の操作は、幾つかの方法で使用され得る。例えば、ニューラルネットワークは、3台のカメラからの入力に基づいて推論するようにトレーニングされ得て、トレーニングでは、上記で説明したように損失を使用する。別の例では、推論のための入力は単一のカメラからのものであり(例えば、メインカメラからの3つのフレーム)、サラウンド画像はトレーニング中の測光損失のためだけに使用される。この例では、メインカメラのみが使用可能な場合に、ニューラルネットワークがフィールドで機能し、車載アーキテクチャは以前の実装と同じである。従って、チップ上の計算効率(例えば、コスト)は同じである。しかし、ニューラルネットワークは、移動する物体についても合理的な3D情報を出力する方法を学習している。この第2の手法では、インストールされているハードウェア又は性能に関して、基本的にこの特徴を完全に無料で追加した。
移動している及び移動していない1つ又は複数の物体に関する3D情報を提供することに加えて、この損失の組み合わせを使用して、画像内のどのピクセルが移動している物体の一部であり、どのピクセルが移動していない物体なのかを示すマスクを出力し得る。これは、ニューラルネットワークの出力に別のチャネルを追加することで実現され得る。従って、画像内の各ピクセルの3D情報を生成するだけでなく、移動している/移動していない予測(例えば、0と1の間)も各ピクセルに提供される。この出力を提供するようにニューラルネットワークをトレーニングするために、ニューラルネットワークは、メインカメラからの元の5つの画像(例えば、付録Aの手法)とサラウンドカメラからの損失との間の損失がどの程度異なるかを推測するように促される。物体が移動している領域では、サラウンドカメラからの損失とメインカメラからの損失との間に比較的大きな差(例えば、差の比率で測定される)が発生するため、追加の出力チャネルでより大きな値を生成するために大きな変動が促される。次いで、これらの値は、移動しているマスク及び移動していないマスクとして使用し得る。サラウンドカメラからのステレオ情報を使用することには、他にも利点がある。例えば、単一のカメラと比較した場合、サラウンドカメラ間のベースラインが比較的広いため、少し離れて物体の3D形状を測定する方が正確であり得る。更に、実線の道路マーク(例えば、線)等の特定のテクスチャは、主にカメラ画像の動きが横方向の場合に深度情報を提供する。従って、これらの実線の道路マークは、道路マークに沿った単眼カメラに深度情報を提供するのに不十分なことがよくあるが、サラウンドカメラは実線の道路マークに対する2つの異なる角度のため、実線の道路マークを非常に効果的に使用し得る。
トレーニングデータセットが生成されると、モデルを検証し得るようにニューラルネットワークに提供できる。ニューラルネットワークがトレーニング及び検証されると、次いで、車両のナビゲーションに使用するために、捕捉された画像をその場で分析及び特徴付けるための車両のナビゲーションシステムで使用できる。例えば、車両に搭載されたカメラによって捕捉された各画像は、画像分析層による特徴付けのためにナビゲーションシステムに提供され得る。この層は、車両環境に含まれ、対応する捕捉された画像で表される関心のある特徴のいずれか又は全てを認識し得る。上記で述べたように、関心のあるそのような特徴は、車両ナビゲーションの1つ又は複数の態様が依存し得る環境の任意の特徴(例えば、車両、他の物体、車輪、植物、道路、道路端部、障壁、道路レーンマーク、穴、タールストリップ、交通標識、歩行者、信号機、ユーティリティインフラストラクチャ、空き空間領域、空き空間のタイプ(例えば、緊急時に道路以外の領域をナビゲートできるか否かを判断する際に重要になる可能性がある、駐車場、私道等)、及び他の多くの機能)を含み得る。トレーニングされたニューラルネットワークの画像分析層の出力は、関心のある全ての特徴のピクセルが指定されている完全に又は部分的に指定された画像フレームであり得る。次いで、この出力を複数の異なる車両ナビゲーション機能/モジュールに提供でき、個々のモジュール/機能はそれぞれ、指定された画像フレームに依存して、対応するナビゲーション機能を提供するために必要な情報を導出することができる。
図34A及び図34Bは、開示される実施形態による、実行され得る例示的な画像分類を示す。具体的には、図34Aは、画像捕捉デバイス120等、ホスト車両の画像捕捉デバイスによって捕捉され得る画像3400Aを表す。示されるように、画像3400Aは、車両3410A、歩行者3420A、柱3422A、木3424A、路面3430A、歩道3432A、中央分離帯3434A、ガードレール3436A、及びレーンマーク3438A等の車両ナビゲーションシステムによって認識され得る幾つかの要素を含む。画像分析層は、これらの特徴の一部又は全部を検出し、画像内の個々のピクセルを複数のクラスにセグメント化するように構成され得る。幾つかの実施形態では、分類は、「車」/「車ではない」等の二項分類を含み得て、これにより、各ピクセルは、(プロセス3100に関して上記で説明したように)車両に関連付けられるか否かのいずれかであると判断される。幾つかの実施形態では、分析は、画像内の表面が走行可能な路面であるか否かを示す「道路」/「道路ではない」としてピクセルを分類し得る。車両が走行することは可能であるが避けるべき領域については、第3の分類も含まれ得る。これは、緊急事態で車両が走行できる領域(例えば、芝生領域、私道、道路近傍の未舗装領域、低い歩道等)を含み得る。
或いは、又はこれらの二項分類に加えて、各ピクセルは、物体又は特徴の事前定義されたクラスのリストに従って分類され得る。このようなクラスは、限定されないが、車、トラック、バス、オートバイ、歩行者、道路、障壁、ガードレール、塗装された路面、道路に対して高くなっている領域、走行可能な路面、ポール、又は車両ナビゲーションシステムに関連し得る他の特徴を含み得る。図34Bは、開示される実施形態による、ピクセルの分類された領域を有する画像3400Bを示す。画像3400Bは、画像分析層を通じて処理された後の画像3400Aに対応し得る。例えば、画像3400Aは、領域3410Bを、上記で説明したプロセス3100の一部又は全部に対応し得る、車両に関連付けられたピクセルを含むものとして分類し得る。同様に、画像3400Bは、歩行者を含むと分類された領域3420B、木(又は植物等)を含むと分類された領域3424B、柱を含む領域3422B、路面として分類された領域3430B、高くなっている表面として分類された領域3432B及び3434B、及び/又はガードレールとして分類された領域3436Bを含み得る。図27の車両に関して上記で説明した端部検出と同様に、様々な物体分類の端部も決定し得る。例えば、路面領域3430Bの端部、並びに柱領域3422B、高さ領域3432B及び3434Bの端部、及び/又は画像2800B内の他の特徴を決定し得る。路面領域3430Bは、道路3430Aの表面全体を含むように示されているが、塗装された道路マーク(例えば、レーンマーク3438A)等の分類等の追加の分類を含んでもよい。特に、ガードレール3436A及び中央分離帯3434A(例えば、コンクリート障壁)は、画像3400A内のピクセルの分析に基づいて別個に分類され得る。幾つかの実施形態では、レーダデータ等の他のセンサ情報もまた、ガードレールとコンクリート障壁とを区別する目的で使用され得る。従って、この分類は、別個の特徴を区別するのに役立つようにレーダ又は同様のシステムと組み合わせて使用する場合に重要になり得る。
この初期分析を通じて画像内の1つ又は複数のピクセルを(例えば、上記で説明したようにトレーニングされたニューラルネットワークを使用して)分類すると、個々の画像分析モジュールによる繰り返しの識別タスクを回避し得る。異なるモジュールによる重複作業を回避することにより、ナビゲーションシステム内の効率が大幅に改善し得る。この分類により、画像内の物体及びその他の特徴の検出精度も改善し得る。例えば、ピクセルが特定のクラスに属していないと判断することによって、システムは、そのピクセルがどのクラスに属しているかをより確実に判断でき得る。幾つかの実施形態では、画像の領域は、より多くの分類に属し得る。ある領域が割り当てられ得る複数の分類(及び除外される分類)を評価することで、特定の物体のより正確な識別を可能にし得る。
更に、記載したシステムは、新しい又は異なる特徴、サブ特徴(例えば、識別された車両内の、例えば、識別された車両のドアのドアハンドル)、又は特徴の特徴付けに基づいて考慮及びナビゲートするためのナビゲーションシステムの柔軟性を高め得る。トレーニングデータセットの自動生成により、新しい特徴等に対応する新しいトレーニングされたデータセットの生成速度が向上するだけでなく、ナビゲーションシステムの機能及びモジュールがほとんど変更され得ない。新しい特徴を考慮するために、画像分析層のみを再トレーニングする必要があり得る。新しいトレーニングされた画像分析層は、事実上、新しい特徴に依存しない、又は新しい特徴を必要としない、以前に開発されたモジュール/機能と下位互換性があり得る。新たにトレーニングされた画像分析層によって新たに識別された特徴を利用できるモジュール/機能は、変更又は新たに開発できる。言い換えれば、ナビゲーションシステムの大部分を変更することなく、新しい機能を追加し得る。また、全ての画像分析及び分類を単一の画像分析層で実行することにより、機能/モジュール固有の画像分析アルゴリズムを開発する必要がなくなる。その結果、車両の環境で関心のある特徴の新たに識別されたカテゴリ又はクラスに基づく新しいナビゲーション特徴は、特に画像分析の観点から、実装のために追加の計算資源をほとんど必要とし得ない。
図35は、開示される実施形態による、画像内のピクセルの分析に基づいてホスト車両をナビゲートするための例示的なプロセス3500を示すフローチャートである。プロセス3500は、上記で説明したように、処理ユニット110などの少なくとも1つの処理デバイスによって実行され得る。幾つかの実施形態では、非一時的なコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサにプロセス3500を実行させる命令を含み得る。更に、プロセス3500は、必ずしも図35に示すステップに限定されるものではなく、本開示全体を通して説明される様々な実施形態の任意のステップ又はプロセスもまた、図27~図30Bに関して上記で説明されたものを含む、プロセス3500に含まれ得る。
ステップ3510において、プロセス3500は、ホスト車両のカメラから、ホスト車両の環境から捕捉された少なくとも1つの捕捉された画像を受信することを含み得る。例えば、画像取得ユニット120は、ホスト車両200の環境を表す1つ又は複数の画像を捕捉し得る。上記で説明したように、少なくとも1つの捕捉された画像は、画像3400Aに対応し得る。
ステップ3520において、プロセス3500は、第1の物体の少なくとも一部の表現及び第2の物体の少なくとも一部の表現を識別するために、少なくとも1つの画像を分析することを含み得る。例えば、プロセス3500は、車両3410A、歩行者3420A等の、画像3400Aに含まれる物体を検出するために使用され得る。幾つかの実施形態では、トレーニングされたシステムは、分析の少なくとも一部を実行し得る。例えば、トレーニングされたシステムは、上記で説明したように、1つ又は複数のニューラルネットワークを含み得る。
幾つかの実施形態では、少なくとも1つの画像を分析することは、上記で説明したように、少なくとも1つの画像の1つ又は複数のピクセルを分析することを含み得る。例えば、トレーニングされたニューラルネットワークを使用して、画像内の各ピクセルを分析し得る。従って、第1の物体の一部の表現を識別することは、第1の物体の表現に関連付けられた少なくとも1つのピクセルを識別することを含み得て、第2の物体の一部の表現を識別することは、第2の物体の表現に関連付けられた少なくとも1つのピクセルを識別することを含み得る。幾つかの実施形態では、ピクセルが特定の物体に関連付けられていないことを決定することは、そのピクセルを別の物体に関連付けられていると分類するのに役立ち得る。従って、幾つかの実施形態では、第1の物体の表現に関連付けられた少なくとも1つの画像の少なくとも1つのピクセルは、第2の物体の表現に関連付けられた少なくとも1つの画像の少なくとも1つのピクセルを含み得ない。
ステップ3530において、プロセス3500は、第1の物体及び第1の物体のタイプに関連付けられた少なくとも1つの画像の第1の領域を決定することを含み得る。例えば、領域は、図34Bに示される領域の1つに対応し得る。同様に、ステップ3540において、プロセス3500は、第2の物体及び第2の物体のタイプに関連付けられた少なくとも1つの画像の第2の領域を決定することを含み得る。幾つかの実施形態では、第1の物体のタイプは、第2の物体のタイプとは異なり得る。例えば、第1の物体のタイプは、車両(例えば、車両3410A)であり得るが、第2の物体は、歩行者(例えば、歩行者3420A)であり得る。別の例として、第1の物体はガードレール(例えば、ガードレール34336A)を含み得て、第2の物体は、コンクリート障壁(例えば、中央分離帯3434A)を含み得る。幾つかの実施形態では、第1の物体は、塗装された路面を含み得て、第2の物体は、塗装されていない路面を含み得る。例えば、分析は、路面3430Aをレーンマーク3438Aから区別し得る。幾つかの実施形態では、プロセス3500は、第1の物体のタイプ又は第2の物体のタイプを出力することを更に含み得る。
別の例として、第1及び第2の物体は、画像で識別された異なる領域に対応し得る。言い換えれば、第1の物体は、ホスト車両の環境に第1の領域を含み得て、第2の物体は、ホスト車両の環境に第2の領域を含み得る。幾つかの実施形態では、第1の領域及び第2の領域は、異なる高さを有する。第1の領域又は第2の領域のうちの少なくとも1つは、高さの差に基づいて識別される。例えば、少なくとも1つの画像は、異なる時間に捕捉された複数の画像を含み得て、高さの差は、複数の画像間のピクセルの比較に基づいて(例えば、上記で説明した「ガンマ」方程式に基づいて)決定される。幾つかの実施形態では、第1の領域は、走行可能な領域であり得て、第2の領域は、走行不可能な領域であり得る。例えば、走行不可能な領域は、上記で論じたように、未舗装の表面、私道、歩道、又は草地を含み得る。
物体は、物体のタイプに基づいて様々な分類に分類され得る。例えば、第1の物体のタイプは、第1の物体クラスに含まれ得て、第2の物体のタイプは、第2の物体クラスに含まれ得る。幾つかの実施形態では、第1の物体クラス及び第2の物体クラスは、相互に排他的な物体を含み得る。言い換えれば、第1の物体クラス及び第2の物体クラスは、物体を共有し得ない。物体クラスの例は、車、トラック、バス、オートバイ、道路、障壁、ガードレール、塗装された路面、道路に対して高くなっている領域、走行可能な路面、又はポールのうちの1つ又は複数を含み得る。これらの物体クラスは単なる例として提供されており、追加の又は異なる物体クラスが使用され得ることを理解されたい。
幾つかの実施形態では、複数の画像を使用して、画像内の物体を識別し得る。例えば、第1の物体の一部の表現又は第2の物体の一部の表現を識別することは、カメラによって捕捉された少なくとも第2の画像を分析することを含み得る。幾つかの実施形態では、第2の画像は、少なくとも1つの画像の後で所定の期間に捕捉され得る。所定の時間は、画像を分析する間の設定された期間に基づき得る(例えば、システム又はユーザの設定による)。他の実施形態では、所定の期間は、カメラのフレームレート(例えば、カメラが画像を捕捉できる最大又は設定されたレート)に基づき得る。
幾つかの実施形態では、車両ナビゲーションシステムは、画像内で検出された物体に関連付けられたラベル、並びに検出された物体のジオメトリを生成するように更に構成され得る。このプロセスは、上記で説明したように、画像分析層の一部として実行され得る。例えば、ニューラルネットワークは、上記で説明したプロセスと同様に、対応する物体のラベル及び物体のジオメトリを有する画像のセットを使用してトレーニングし得る。従って、トレーニングされたモデルは、モデルに入力された1つ又は複数の画像に基づいて、物体のラベルお及び/又はジオメトリを決定するように構成され得る。従って、単一のトレーニングされたニューラルネットワークモデルは、物体のラベル及び物体の構造情報の両方を使用してトレーニングし得る。幾つかの実施形態では、出力は異なる解像度を有し得る。例えば、物体のジオメトリ(すなわち、構造情報)は、物体のラベルよりも低い解像度で出力され得る。言い換えれば、物体の形ジオメトリ及びラベルは、画像又は画像層として出力され得て、物体のジオメトリ示す画像は、物体の層画像よりも低解像度の画像であり得る。幾つかの実施形態では、システムは、ナビゲーションに使用されるものに基づいて出力を提供し得る。例えば、モデルをトレーニングした後、カリング方法を使用して、ナビゲーションシステムで使用される実際の出力値に関連しない全ての計算を削除できる。
物体のラベルは、画像内で検出された物体に関する情報を含む任意のデータ要素であり得る。幾つかの実施形態では、物体のラベルは、検出された物体のタイプを含み得る。例えば、車両3410Aが画像3400A内で検出された場合(図34Aを参照)、画像分析層は、物体が車であることを示すデータラベルを生成し得る。物体のラベルはまた、物体クラス(例えば、車両)、物体の識別子、又は他の関連情報等の他の情報を含み得る。物体のラベルは、様々な形式で生成及び表され得る。幾つかの実施形態では、物体のラベルは、例えば、画像メタデータ等において、画像に添付され得る。他の実施形態では、物体のラベルは、データベース等のデータ構造、又は同様の形式に含まれ得る。
図36は、開示される実施形態による、物体のラベル情報を含むデータベース3600の例を示す。例示的な例として、データベース3600は、上記で説明したように、画像3400A内で検出された物体を含み得る。データベース3600は、物体識別子(ID)3610、物体クラス3620、物体タイプ3630、及び他の情報3640等の、検出された各物体の情報を含み得る。物体の識別子は、検出された物体を表す任意の文字又は文字列を含み得る。幾つかの実施形態では、物体IDは、ランダム又は疑似ランダムなテキストの文字列であり得る。他の実施形態では、物体IDは、構造化された形式(例えば、番号順に、時刻及び/又は日付スタンプに基づいて、画像に関連付けられた識別子に基づいて、ホスト車両に関連付けられた識別子に基づいて、等)で割り当てられ得る。幾つかの実施形態では、識別子は、物体の特定のインスタンスに固有であり得る。代替又は追加として、識別子は、物体のタイプ、物体の分類、又は他の情報を示し得る。識別子は、様々な形式(例えば、テキスト、数値、英数字等)で表示し得る。
データベース3600は、検出された物体に関連付けられた物体クラスを更に含み得る。例えば、行3650によって示される物体は、画像内で検出された車両に対応し得て、従って、車両として分類され得る。データベース3600は、画像から検出され得る物体タイプを更に含み得る。図36に示すように、行3650で示される物体には、車のラベルを付け得る。データベース3600は、アプリケーションに応じて異なり得る、検出された物体に関する追加情報3640を更に含み得る。例えば、情報3640は、物体に関連付けられた領域の座標を含み得る(例えば、一連の頂点、ピクセルの範囲等によって表される)。情報3640はまた、物体の検出された向きを示す向き情報を含み得る。データベース3600に含まれ得る他の情報は、検出された物体の説明、時刻及び/又は日付スタンプ、画像に関する情報(例えば、画像ID等)、車両に関する情報(例えば、車両ID等)、又は分析又はナビゲーションの目的に関連し得るその他の情報を含み得る。データベース3600は、様々な場所に格納され得る。例えば、データベース3600は、遠隔サーバ1230に関連付けられたメモリなどのネットワークロケーションに格納され得る。幾つかの実施形態では、データベース3600は、メモリ150又はマップデータベース160内等、車両上にローカルに格納され得る。
画像分析層は、検出された物体のジオメトリを決定するように更に構成され得る。本明細書で使用されるジオメトリは、点、線、表面、実線、又は物体の他の要素の1つ又は複数の関係を示すデータを参照し得る。幾つかの実施形態では、ジオメトリは、複数の態様から構成され得る。本明細書で使用されるジオメトリの態様は、ジオメトリの少なくとも一部を定義する値又は値のセットを含み得る。例えば、ジオメトリの態様は、高さの値(例えば、道路の表面に対して、又は道路の表面を表す平面に対して)、長さの値、幅の値、配向角、座標点、面積の測定値、体積の測定値、又はジオメトリの一部を表し得るその他の値を含み得る。画像分析層は、車両のナビゲーションに使用し得る、検出された物体のジオメトリの1つ又は複数の態様を決定するように構成され得る。
図37は、開示される実施形態による、物体のラベル及びジオメトリに基づいてホスト車両をナビゲートするための例示的なプロセス3700を示すフローチャートである。プロセス3700は、上記で説明したように、処理ユニット110などの少なくとも1つの処理デバイスによって実行され得る。幾つかの実施形態では、非一時的なコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサにプロセス3700を実行させる命令を含み得る。更に、プロセス3700は、必ずしも図37に示すステップに限定されるものではなく、本開示全体を通して説明される様々な実施形態の任意のステップ又はプロセスもまた、図34A~図35に関して上記で説明されたものを含む、プロセス3700に含まれ得る。
ステップ3710において、プロセス3700は、ホスト車両のカメラから、ホスト車両の環境から捕捉された少なくとも1つの画像を受信することを含み得る。例えば、画像取得ユニット120は、ホスト車両200の環境を表す1つ又は複数の画像を捕捉し得る。上記で説明したように、少なくとも1つの捕捉された画像は、画像3400Aに対応し得る。
ステップ3720において、プロセス3700は、第1の物体の少なくとも一部の表現及び第2の物体の少なくとも一部の表現を識別するために、少なくとも1つの画像を分析することを含み得る。例えば、プロセス3500は、車両3410A、歩行者3420A等の、画像3400Aに含まれる物体を検出するために使用され得る。幾つかの実施形態では、トレーニングされたシステムは、分析の少なくとも一部を実行し得る。例えば、トレーニングされたシステムは、上記で説明したように、1つ又は複数のニューラルネットワークを含み得る。
ステップ3730において、プロセッサ3700は、分析に基づいて、第1の物体のジオメトリの少なくとも1つの態様及び第2の物体のジオメトリの少なくとも1つの態様を決定することを含み得る。上記で説明したように、第1及び第2の物体の少なくとも1つの態様は、物体のジオメトリの少なくとも一部を表す任意の値又は値のセットを含み得る。上記で説明したように、ジオメトリは、トレーニングされたニューラルネットワークの出力であり得る。幾つかの実施形態では、ジオメトリは、画像の分析に基づいて決定された物体のテクスチャに少なくとも部分的に基づき得る。従って、第1及び第2の物体は、少なくとも部分的に、2つの物体をセグメント化し、それらのジオメトリを少なくとも部分的に定義するために使用され得る、画像内に表される異なるテクスチャを有し得る。例えば、幾つかの実施形態では、第1の物体はガードレールであり得て、第2の物体はコンクリート障壁であり得る。ガードレール及びコンクリート障壁は共に比較的均一なジオメトリを有し得て、その結果、2つを区別することは困難であり得る。ガードレールは、コンクリート障壁とは大幅に異なるテクスチャを有し得る。例えば、ガードレールは、間隔を置いて配置されたレール及び一連の柱を含み得て、コンクリート障壁は、コンクリート、レンガ等の比較的均一な表面であり得る。ガードレール及びコンクリート障壁は、テクスチャに基づいて別個の物体として識別され得る。幾つかの実施形態では、ジオメトリの少なくとも1つの態様は、別個のセンサに基づいて決定され得る。例えば、プロセス3700は、ホスト車両の少なくとも1つのセンサ(例えば、レーダセンサ、ライダセンサ、別個のカメラ(又は立体カメラ対)、近接センサ等)からの出力を受信することを更に含み得て、第1の物体のジオメトリの少なくとも1つの態様、又は第2の物体のジオメトリの少なくとも1つの態様は、出力に基づいて決定され得る。幾つかの実施形態では、プロセッサ3600は、第1の物体のジオメトリの少なくとも1つの態様及び第2の物体のジオメトリの少なくとも1つの態様を出力することを含み得る。
ステップ3740において、プロセス3700は、第1の物体のジオメトリの少なくとも1つの態様に基づいて、第1の物体の表現を含む少なくとも1つの画像の領域に関連付けられた第1のラベルを生成することを含み得る。同様に、ステップ3750において、プロセス3700は、第2の物体のジオメトリの少なくとも1つの態様に基づいて、第2の物体の表現を含む少なくとも1つの画像の領域に関連付けられた第2のラベルを生成することを含み得る。上記で説明したように、第1及び第2のラベルは、画像の分析に基づいて、第1及び第2の物体に関して決定され得る任意の情報を含み得る。幾つかの実施形態では、第1及び第2のラベルは、それぞれ、第1及び第2の物体のタイプを示し得る。更に、第1及び第2のラベルは、第1及び第2の物体のタイプの識別子に関連付けられ得る。識別子は、物体のタイプを示す数値、テキスト文字列、又は英数字の文字列であり得る。幾つかの実施形態では、識別子は、物体タイプ3630及び/又は物体ID3610に対応し得る。
幾つかの実施形態では、ラベルは、第1及び第2の物体の決定されたジオメトリに基づいて生成され得る。例えば、ジオメトリの少なくとも1つの態様は、物体を他の物体と区別する(例えば、縁石、中央分離帯、歩道、又は障壁を路面と区別する、等)ために使用され得る物体の高さを含み得る。第1の物体のジオメトリの少なくとも1つの態様は、第1の物体の高さを含み得て、第1のラベルは、高さに少なくとも部分的に基づいて生成され得る。同様に、第2の物体のジオメトリの少なくとも1つの態様は、第2の物体の高さを含み得て、第2のラベルは、高さに少なくとも部分的に基づいて生成され得る。高さは、明示的な測定値(例えば、センチメートル、メートル、フィート等の単位)として出力され得るか、又は他の出力情報に基づいて暗黙的であり得る。例えば、レーンマークとしてラベル付けされた物体はごくわずかの高さを有し得て、縁石としてラベル付けされた物体は低い高さを有し得て、コンクリート障壁は比較的高くなり得る。
幾つかの実施形態では、物体は、物体クラスに関連付けられ得る。従って、第1の物体のタイプは、第1の物体クラスに含まれ得て、第2の物体のタイプは、第2の物体クラスに含まれ得る。物体クラスは、データベース3600において、物体クラス3620によって表し得る。幾つかの実施形態では、第1の物体クラス及び第2の物体クラスは、相互に排他的な物体を含む。言い換えれば、第1の物体クラス及び第2の物体クラスは、物体を共有し得ない。物体クラスの例は、レーンマーク、縁石、壁、障壁、車、トラック、バス、オートバイ、道路、障壁、ガードレール、塗装された路面、道路に対して高くなっている領域、走行可能な路面、又はポールのうちの1つ又は複数を含み得る。幾つかの実施形態では、システムは、複数の道路端部特徴を同時に出力するように構成され得る。例えば、第1の物体クラスは縁石であり得て、第2の物体クラスはレーンマークであり得る。幾つかの実施形態では、プロセス3700は、第1の物体又は第2の物体が道路端部であるか否かを判断することを更に含み得る。本明細書で使用される道路端部は、走行可能な路面と環境の別の部分との間の任意の移行部であり得る。上記に開示される実施形態によれば、プロセス3700は、道路端部のタイプを決定することを含み得る。道路端部の例は、歩道、縁石、障壁、草地、未舗装領域、私道、又は同様の端部特徴を含み得る。処理ユニット110は、ホスト車両をナビゲートするのに有用であり得る道路端部のタイプを区別するように構成され得る。幾つかの実施形態では、プロセス3700は、道路端部がホスト車両が横断できるか否かを判断することを更に含み得る。例えば、通常の条件下では走行可能な路面とは見なされ得ないが、道路端部は(例えば、緊急事態等で)横断可能として分類され得る。これは、道路端部の決定されたクラス又はタイプ(例えば、芝生は横断可能であり得るが、中央分離帯は横断可能であり得ない)に基づいて、(道路端部の寸法の少なくとも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つ又は複数の推定距離値を判断することと、
前記1つ又は複数のピクセルに関連付けられた前記判断された1つ又は複数の距離値を含む、前記1つ又は複数のピクセルの分析に基づいて、前記目標車両に対する境界の少なくとも一部を生成することと
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ナビゲーションシステム。
[項目2]
前記1つ又は複数の距離値がピクセル単位で測定される、項目1に記載のナビゲーションシステム。
[項目3]
前記1つ又は複数の距離値が、前記目標車両に対して測定された現実世界の距離に対応する、項目1又は2に記載のナビゲーションシステム。
[項目4]
前記1つ又は複数の距離値が、特定のピクセルから、前記目標車両の前端部、後端部、側端部、上端部、又は下端部のうちの少なくとも1つまでの距離を含む、項目1から3のいずれか一項に記載のナビゲーションシステム。
[項目5]
前記少なくとも1つのプロセッサは、前記目標車両に対して生成された前記境界の前記少なくとも一部の向きを決定するように更にプログラムされる、項目1から4のいずれか一項に記載のナビゲーションシステム。
[項目6]
前記少なくとも1つのプロセッサが、前記境界の前記少なくとも一部の決定された向きに基づいて前記ホスト車両のナビゲーション動作を決定し、前記ホスト車両に前記決定されたナビゲーション動作を実施させるように更にプログラムされる、項目5に記載のナビゲーションシステム。
[項目7]
前記決定された向きが、前記目標車両による、ホスト車両の経路に向かう動作を示す、項目5又は6に記載のナビゲーションシステム。
[項目8]
前記決定された向きが、前記ホスト車両に対する前記目標車両による横方向移動を示す、項目5又は6に記載のナビゲーションシステム。
[項目9]
前記少なくとも1つのプロセッサが、前記1つ又は複数のピクセルが、前記目標車両の前記少なくとも1つの端部の少なくとも一部の表現を含む境界ピクセルを含むか否かを判断するように更にプログラムされる、項目1から8のいずれか一項に記載のナビゲーションシステム。
[項目10]
前記分析が、前記捕捉された画像の全てのピクセルに対して実行される、項目1から9のいずれか一項に記載のナビゲーションシステム。
[項目11]
前記分析が、前記捕捉された画像に対して識別された目標車両候補領域の全てのピクセルに対して実行される、項目1から9のいずれか一項に記載のナビゲーションシステム。
[項目12]
前記境界の前記一部が、バウンディングボックスの少なくとも一部を含む、項目1から11のいずれか一項に記載のナビゲーションシステム。
[項目13]
前記少なくとも1つのプロセッサが、前記境界の前記一部の前記ホスト車両までの距離を決定し、前記ホスト車両に、少なくとも前記決定された距離に基づいてナビゲーション動作を実施させるように更にプログラムされる、項目1から12のいずれか一項に記載のナビゲーションシステム。
[項目14]
トレーニングされたシステムが、前記1つ又は複数のピクセルの前記分析の少なくとも一部を実行する、項目1から13のいずれか一項に記載のナビゲーションシステム。
[項目15]
前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、項目14に記載のナビゲーションシステム。
[項目16]
前記目標車両の少なくとも1つの端部の少なくとも一部が、前記捕捉された画像内に表されていない、項目1から15のいずれか一項に記載のナビゲーションシステム。
[項目17]
前記目標車両の1つ又は複数の端部が、前記捕捉された画像内に表されていない、項目1から6のいずれか一項に記載のナビゲーションシステム。
[項目18]
前記少なくとも1つのプロセッサが、前記捕捉された画像の分析に基づいて、前記目標車両が別の車両又はトレーラによって運ばれるか否かを判断するように更にプログラムされる、項目1から17のいずれか一項に記載のナビゲーションシステム。
[項目19]
前記少なくとも1つのプロセッサが、運ばれる車両の境界を決定しないように更にプログラムされる、項目18に記載のナビゲーションシステム。
[項目20]
前記少なくとも1つのプロセッサが、前記捕捉された画像の分析に基づいて、前記目標車両が前記少なくとも1つの画像の反射の表現に含まれるか否かを判断するように更にプログラムされる、項目1から19のいずれか一項に記載のナビゲーションシステム。
[項目21]
前記少なくとも1つのプロセッサが、車両反射の境界を決定しないように更にプログラムされる、項目20に記載のナビゲーションシステム。
[項目22]
前記少なくとも1つのプロセッサが、前記目標車両のタイプを出力するように更にプログラムされる、項目1から21のいずれか一項に記載のナビゲーションシステム。
[項目23]
前記目標車両の前記タイプが、少なくとも前記境界の前記一部のサイズに基づく、項目22に記載のナビゲーションシステム。
[項目24]
前記目標車両の前記タイプは、前記境界内に含まれるピクセルの数に少なくとも部分的に基づく、項目22に記載のナビゲーションシステム。
[項目25]
前記目標車両の前記タイプが、バス、トラック、自転車、オートバイ、又は車のうちの少なくとも1つを含む、項目22から24のいずれか一項に記載のナビゲーションシステム。
[項目26]
ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信することと、
前記少なくとも1つの捕捉された画像の1つ又は複数のピクセルを分析して、前記1つ又は複数のピクセルが目標車両を表すか否かを判断することであって、前記目標車両の少なくとも一部が、前記少なくとも1つの捕捉された画像内に表されない、判断することと、
前記ホスト車両から前記目標車両までの推定距離を決定することであって、前記推定距離が少なくとも部分的に、前記少なくとも1つの捕捉された画像内に表されていない前記目標車両の前記一部に基づく、決定することと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、車両のためのナビゲーションシステム。
[項目27]
トレーニングされたシステムが、前記1つ又は複数のピクセルの前記分析の少なくとも一部を実行する、項目26に記載のナビゲーションシステム。
[項目28]
前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、項目27に記載のナビゲーションシステム。
[項目29]
前記少なくとも1つのプロセッサが、前記推定距離に基づいてナビゲーション動作を実施するように更に構成される、項目26から28のいずれか一項に記載のナビゲーションシステム。
[項目30]
前記推定距離を決定することが、前記少なくとも1つの捕捉された画像内に表されていない前記目標車両の少なくとも1つの境界の位置を決定することを含む、項目26から29のいずれか一項に記載のナビゲーションシステム。
[項目31]
前記少なくとも1つの境界の前記位置が、前記1つ又は複数のピクセルの分析に基づいて決定される、項目30に記載のナビゲーションシステム。
[項目32]
前記ホスト車両から前記目標車両までの前記推定距離が、前記ホスト車両から前記少なくとも1つの境界までの推定距離である、項目30又は31に記載のナビゲーションシステム。
[項目33]
ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信することと、
前記少なくとも1つの捕捉された画像の2つ以上のピクセルを分析して、前記2つ以上のピクセルが第1の目標車両の少なくとも一部及び第2の目標車両の少なくとも一部を表すか否かを判断することと、
前記第2の目標車両の前記一部が、前記第1の目標車両の表面上の反射の表現に含まれることを決定することと、
前記2つ以上のピクセルの前記分析及び前記第2の目標車両の一部が前記第1の目標車両の表面上の反射の表現に含まれるという前記決定に基づいて、前記第1の目標車両に対する境界の少なくとも一部を生成し、前記第2の目標車両に対する境界を生成しないことと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ホスト車両のためのナビゲーションシステム。
[項目34]
トレーニングされたシステムが、前記2つ以上のピクセルの前記分析の少なくとも一部を実行する、項目33に記載のナビゲーションシステム。
[項目35]
前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、項目34に記載のナビゲーションシステム。
[項目36]
前記第2の目標車両の前記一部が前記第1の目標車両の表面上の反射の表現に含まれることを決定することが、前記第2の目標車両に関連付けられた少なくとも1つのピクセルが前記第1の目標車両の端部に関連付けられていることを決定することを含む、項目33から35のいずれか一項に記載のナビゲーションシステム。
[項目37]
前記境界が、バウンディングボックスの少なくとも一部を含む、項目33から36のいずれか一項に記載のナビゲーションシステム。
[項目38]
ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信することと、
前記少なくとも1つの捕捉された画像の2つ以上のピクセルを分析して、前記2つ以上のピクセルが第1の目標車両の少なくとも一部及び第2の目標車両の少なくとも一部を表すか否かを判断することと、
前記第2の目標車両が前記第1の目標車両によって運ばれるか、又は牽引されるかを判断することと、
前記2つ以上のピクセルの前記分析及び前記第2の目標車両が前記第1の目標車両によって運ばれるか、又は牽引されるかの前記判断に基づいて、前記第1の目標車両に対する境界の少なくとも一部を生成し、前記第2の目標車両に対する境界を生成しないことと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ホスト車両のためのナビゲーションシステム。
[項目39]
前記第2の目標車両が、牽引トラック、トレーラ、オープンエアキャリア、又はフラットベッドトラックのうちの少なくとも1つを含む、項目38に記載のナビゲーションシステム。
[項目40]
前記第2の目標車両が前記第1の目標車両によって運ばれるか、又は牽引されるかを判断することが、前記第2の目標車両に関連付けられた少なくとも1つのピクセルが前記第1の目標車両の端部に関連付けられていることを決定することを含む、項目38又は39に記載のナビゲーションシステム。
[項目41]
ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境を表す第1の捕捉された画像を受信することと、
前記第1の捕捉された画像の1つ又は複数のピクセルを分析して、前記1つ又は複数のピクセルが目標車両の少なくとも一部を表すか否かを判断し、前記目標車両の少なくとも一部を表すと判断されたピクセルについて、前記1つ又は複数のピクセルから前記目標車両の表面の少なくとも1つの端部までの1つ又は複数の推定距離値を判断することと、
前記第1の捕捉された画像の前記1つ又は複数のピクセルに関連付けられた前記判断された1つ又は複数の距離値を含む、前記第1の捕捉された画像の前記1つ又は複数のピクセルの前記分析に基づいて、前記目標車両に対する第1の境界の少なくとも一部を生成することと、
前記ホスト車両の前記カメラから、前記ホスト車両の環境を表す第2の捕捉された画像を受信することと、
前記第2の捕捉された画像の1つ又は複数のピクセルを分析して、前記1つ又は複数のピクセルが前記目標車両の少なくとも一部を表すか否かを判断し、前記目標車両の少なくとも一部を表すと判断されたピクセルについて、前記1つ又は複数のピクセルから前記目標車両の表面の少なくとも1つの端部までの1つ又は複数の推定距離値を判断することと、
前記第2の捕捉された画像の前記1つ又は複数のピクセルに関連付けられた前記判断された1つ又は複数の距離値を含む、前記第2の捕捉された画像の前記1つ又は複数のピクセルの前記分析に基づいて、及び前記第1の境界に基づいて、前記目標車両に対する第2の境界の少なくとも一部を生成することと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ナビゲーションシステム。
[項目42]
トレーニングされたシステムが、前記1つ又は複数のピクセルの前記分析の少なくとも一部を実行する、項目41に記載のナビゲーションシステム。
[項目43]
前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、項目42に記載のナビゲーションシステム。
[項目44]
前記第1の境界が、第1のバウンディングボックスの少なくとも一部を含み、前記第2の境界が、第2のバウンディングボックスの少なくとも一部を含む、項目41から43のいずれか一項に記載のナビゲーションシステム。
[項目45]
ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境から捕捉された2つ以上の画像を受信することと、
第1の物体の少なくとも一部の表現及び第2の物体の少なくとも一部の表現を識別するために、前記2つ以上の画像を分析することと、
前記第1の物体及び前記第1の物体のタイプに関連付けられた前記少なくとも1つの画像の第1の領域を決定することと、
前記第2の物体及び前記第2の物体のタイプに関連付けられた前記少なくとも1つの画像の第2の領域を決定することであって、前記第1の物体の前記タイプが、前記第2の物体の前記タイプとは異なる、決定することと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ナビゲーションシステム。
[項目46]
前記少なくとも1つのプロセッサが、前記第1の物体の前記タイプ又は前記第2の物体の前記タイプを出力するように更にプログラムされる、項目45に記載のナビゲーションシステム。
[項目47]
トレーニングされたシステムが、前記2つ以上の画像の前記分析の少なくとも一部を実行する、項目45又は46に記載のナビゲーションシステム。
[項目48]
前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、項目47に記載のナビゲーションシステム。
[項目49]
前記少なくとも1つのプロセッサが、前記第1の物体の前記タイプ又は前記第2の物体の前記タイプに基づいて、前記ホスト車両にナビゲーション動作を実施させるように更にプログラムされる、項目45から48のいずれか一項に記載のナビゲーションシステム。
[項目50]
前記第1の物体の前記タイプが第1の物体クラスに含まれ、前記第2の物体の前記タイプが第2の物体クラスに含まれ、前記第1の物体クラス及び前記第2の物体クラスが相互に排他的な物体を含む、項目45から49のいずれか一項に記載のナビゲーションシステム。
[項目51]
前記第1の物体クラス及び前記第2の物体クラスが、車両、歩行者、直立不動の物体、及び路面のうちの少なくとも1つを含む、項目50に記載のナビゲーションシステム。
[項目52]
前記第1の物体クラスは、車、トラック、バス、オートバイ、道路、障壁、ガードレール、塗装された路面、道路に対して高くなっている領域、走行可能な路面、又はポールのうちの1つ又は複数を含む、項目50に記載のナビゲーションシステム。
[項目53]
前記2つ以上の画像を分析することが、前記2つ以上の画像の1つ又は複数のピクセルを分析することを含む、項目45から52のいずれか一項に記載のナビゲーションシステム。
[項目54]
前記第1の物体の前記一部の前記表現を識別することが、前記第1の物体の前記表現に関連付けられた前記2つ以上の画像内の少なくとも1つのピクセルを識別することを含む、項目53に記載のナビゲーションシステム。
[項目55]
前記第2の物体の前記一部の前記表現を識別することが、前記第2の物体の前記表現に関連付けられた前記2つ以上の画像内の少なくとも1つのピクセルを識別することを含む、項目54に記載のナビゲーションシステム。
[項目56]
前記第1の物体の前記表現に関連付けられた前記2つ以上の画像内の前記少なくとも1つのピクセルが、前記第2の物体の前記表現に関連付けられた前記2つ以上の画像内の前記少なくとも1つのピクセルを含まない、項目55に記載のナビゲーションシステム。
[項目57]
前記第1の物体がガードレールを含み、前記第2の物体がコンクリート障壁を含む、項目45から56のいずれか一項に記載のナビゲーションシステム。
[項目58]
前記第1の物体が、塗装された路面を含み、前記第2の物体が、塗装されていない路面を含む、項目45から57のいずれか一項に記載のナビゲーションシステム。
[項目59]
前記第1の領域及び前記第2の領域が、異なる高さを有する、項目45から58のいずれか一項に記載のナビゲーションシステム。
[項目60]
前記第1の領域又は前記第2の領域のうちの少なくとも1つが、前記高さの差に基づいて識別される、項目59に記載のナビゲーションシステム。
[項目61]
前記2つ以上の画像が、異なる時間に捕捉された複数の画像を含み、前記高さの差が、前記複数の画像間のピクセルの比較に基づいて決定される、項目59又は60に記載のナビゲーションシステム。
[項目62]
前記第1の領域が走行可能な領域であり、前記第2の領域が走行不可能な領域である、項目45から61のいずれか一項に記載のナビゲーションシステム。
[項目63]
前記走行不可能な領域が、未舗装の表面を含む、項目62に記載のナビゲーションシステム。
[項目64]
前記走行不可能な領域が、私道、歩道、又は草地のうちの少なくとも1つを含む、項目62に記載のナビゲーションシステム。
[項目65]
前記第1の物体が車両を含み、前記第2の物体が歩行者を含む、項目45から64のいずれか一項に記載のナビゲーションシステム。
[項目66]
前記第1の物体の前記一部の前記表現又は前記第2の物体の前記一部の前記表現を識別することが、前記カメラによって捕捉された少なくとも第2の画像を分析することを含む、項目45から65のいずれか一項に記載のナビゲーションシステム。
[項目67]
前記第2の画像が、前記2つ以上の画像の後で所定の期間に捕捉される、項目66に記載のナビゲーションシステム。
[項目68]
前記所定の期間が、前記カメラのフレームレートに基づく、項目67に記載のナビゲーションシステム。
[項目69]
ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境から捕捉された少なくとも1つの画像を受信することと、
第1の物体の少なくとも一部の表現及び第2の物体の少なくとも一部の表現を識別するために、前記少なくとも1つの画像を分析することと、
前記分析に基づいて、前記第1の物体のジオメトリの少なくとも1つの態様及び前記第2の物体のジオメトリの少なくとも1つの態様を決定することと、
前記第1の物体の前記ジオメトリの前記少なくとも1つの態様に基づいて、前記第1の物体の前記表現を含む前記少なくとも1つの画像の領域に関連付けられた第1のラベルを生成することと、
前記第2の物体の前記ジオメトリの前記少なくとも1つの態様に基づいて、前記第2の物体の前記表現を含む前記少なくとも1つの画像の領域に関連付けられた第2のラベルを生成することと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ナビゲーションシステム。
[項目70]
前記第1のラベルが、前記第1の物体のタイプを示す、項目69に記載のナビゲーションシステム。
[項目71]
前記第1のラベルが、前記第1の物体のタイプの識別子に関連付けられている、項目69に記載のナビゲーションシステム。
[項目72]
前記第2のラベルが、前記第2の物体のタイプを示す、項目69から71のいずれか一項に記載のナビゲーションシステム。
[項目73]
前記第2のラベルが、前記第2の物体のタイプの識別子に関連付けられている、項目69から71のいずれか一項に記載のナビゲーションシステム。
[項目74]
前記少なくとも1つのプロセッサが、前記第1の物体の前記ジオメトリの前記少なくとも1つの態様又は前記第2の物体の前記ジオメトリの前記少なくとも1つの態様を出力するように更にプログラムされる、項目69から73のいずれか一項に記載のナビゲーションシステム。
[項目75]
トレーニングされたシステムが、前記少なくとも1つの画像の前記分析の少なくとも一部を実行する、項目69から74のいずれか一項に記載のナビゲーションシステム。
[項目76]
前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、項目75に記載のナビゲーションシステム。
[項目77]
前記第1の物体がガードレールを含み、前記第2の物体がコンクリート障壁を含む、項目69から76のいずれか一項に記載のナビゲーションシステム。
[項目78]
前記ガードレールが、前記少なくとも1つの画像から決定された前記ガードレールのテクスチャに少なくとも部分的に基づいて、前記コンクリート障壁とは別個の物体として識別される、項目77に記載のナビゲーションシステム。
[項目79]
前記第1の物体の前記ジオメトリの前記少なくとも1つの態様が、前記第1の物体の高さを含み、前記第1のラベルが、前記高さに少なくとも部分的に基づいて生成される、項目69から78のいずれか一項に記載のナビゲーションシステム。
[項目80]
前記第2の物体の前記ジオメトリの少なくとも1つの態様が、前記第2の物体の高さを含み、前記第2のラベルが、前記高さに少なくとも部分的に基づいて生成される、項目69から79のいずれか一項に記載のナビゲーションシステム。
[項目81]
前記第1の物体のタイプが第1の物体クラスに含まれ、前記第2の物体のタイプが第2の物体クラスに含まれ、前記第1の物体クラス及び前記第2の物体クラスが相互に排他的な物体を含む、項目69から80のいずれか一項に記載のナビゲーションシステム。
[項目82]
前記第1の物体クラス及び前記第2の物体クラスのそれぞれが、レーンマーク、縁石、又は壁のうちの少なくとも1つを含む、項目81に記載のナビゲーションシステム。
[項目83]
前記少なくとも1つのプロセッサが、前記ホスト車両の少なくとも1つのセンサからの出力を受信するように更にプログラムされ、前記第1の物体の前記ジオメトリの前記少なくとも1つの態様、又は前記第2の物体の前記ジオメトリの前記少なくとも1つの態様が、前記出力に基づいて決定される、項目69から82のいずれか一項に記載のナビゲーションシステム。
[項目84]
前記第1の物体の前記ジオメトリの前記少なくとも1つの態様が、前記第1の物体のテクスチャに基づいて決定される、項目69から83のいずれか一項に記載のナビゲーションシステム。
[項目85]
前記第2の物体の前記ジオメトリの前記少なくとも1つの態様が、前記第2の物体のテクスチャに基づいて決定される、項目69から84のいずれか一項に記載のナビゲーションシステム。
[項目86]
前記少なくとも1つのプロセッサが、前記第1の物体又は前記第2の物体のうちの少なくとも1つが道路端部であることを決定するように更にプログラムされる、項目69から85のいずれか一項に記載のナビゲーションシステム。
[項目87]
前記少なくとも1つのプロセッサが、前記道路端部のタイプを判断するように更にプログラムされる、項目86に記載のナビゲーションシステム。
[項目88]
前記少なくとも1つのプロセッサが、前記道路端部を前記ホスト車両が横断できるか否かを判断するように更にプログラムされる、項目86又は87に記載のナビゲーションシステム。
[項目1]
ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信することと、
前記少なくとも1つの捕捉された画像の1つ又は複数のピクセルを分析して、前記1つ又は複数のピクセルが目標車両の少なくとも一部を表すか否かを判断し、前記目標車両の少なくとも一部を表すと判断されたピクセルについて、前記1つ又は複数のピクセルから前記目標車両の表面の少なくとも1つの端部までの1つ又は複数の推定距離値を判断することと、
前記1つ又は複数のピクセルに関連付けられた前記判断された1つ又は複数の距離値を含む、前記1つ又は複数のピクセルの分析に基づいて、前記目標車両に対する境界の少なくとも一部を生成することと
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ナビゲーションシステム。
[項目2]
前記1つ又は複数の距離値がピクセル単位で測定される、項目1に記載のナビゲーションシステム。
[項目3]
前記1つ又は複数の距離値が、前記目標車両に対して測定された現実世界の距離に対応する、項目1又は2に記載のナビゲーションシステム。
[項目4]
前記1つ又は複数の距離値が、特定のピクセルから、前記目標車両の前端部、後端部、側端部、上端部、又は下端部のうちの少なくとも1つまでの距離を含む、項目1から3のいずれか一項に記載のナビゲーションシステム。
[項目5]
前記少なくとも1つのプロセッサは、前記目標車両に対して生成された前記境界の前記少なくとも一部の向きを決定するように更にプログラムされる、項目1から4のいずれか一項に記載のナビゲーションシステム。
[項目6]
前記少なくとも1つのプロセッサが、前記境界の前記少なくとも一部の決定された向きに基づいて前記ホスト車両のナビゲーション動作を決定し、前記ホスト車両に前記決定されたナビゲーション動作を実施させるように更にプログラムされる、項目5に記載のナビゲーションシステム。
[項目7]
前記決定された向きが、前記目標車両による、ホスト車両の経路に向かう動作を示す、項目5又は6に記載のナビゲーションシステム。
[項目8]
前記決定された向きが、前記ホスト車両に対する前記目標車両による横方向移動を示す、項目5又は6に記載のナビゲーションシステム。
[項目9]
前記少なくとも1つのプロセッサが、前記1つ又は複数のピクセルが、前記目標車両の前記少なくとも1つの端部の少なくとも一部の表現を含む境界ピクセルを含むか否かを判断するように更にプログラムされる、項目1から8のいずれか一項に記載のナビゲーションシステム。
[項目10]
前記分析が、前記捕捉された画像の全てのピクセルに対して実行される、項目1から9のいずれか一項に記載のナビゲーションシステム。
[項目11]
前記分析が、前記捕捉された画像に対して識別された目標車両候補領域の全てのピクセルに対して実行される、項目1から9のいずれか一項に記載のナビゲーションシステム。
[項目12]
前記境界の前記一部が、バウンディングボックスの少なくとも一部を含む、項目1から11のいずれか一項に記載のナビゲーションシステム。
[項目13]
前記少なくとも1つのプロセッサが、前記境界の前記一部の前記ホスト車両までの距離を決定し、前記ホスト車両に、少なくとも前記決定された距離に基づいてナビゲーション動作を実施させるように更にプログラムされる、項目1から12のいずれか一項に記載のナビゲーションシステム。
[項目14]
トレーニングされたシステムが、前記1つ又は複数のピクセルの前記分析の少なくとも一部を実行する、項目1から13のいずれか一項に記載のナビゲーションシステム。
[項目15]
前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、項目14に記載のナビゲーションシステム。
[項目16]
前記目標車両の少なくとも1つの端部の少なくとも一部が、前記捕捉された画像内に表されていない、項目1から15のいずれか一項に記載のナビゲーションシステム。
[項目17]
前記目標車両の1つ又は複数の端部が、前記捕捉された画像内に表されていない、項目1から6のいずれか一項に記載のナビゲーションシステム。
[項目18]
前記少なくとも1つのプロセッサが、前記捕捉された画像の分析に基づいて、前記目標車両が別の車両又はトレーラによって運ばれるか否かを判断するように更にプログラムされる、項目1から17のいずれか一項に記載のナビゲーションシステム。
[項目19]
前記少なくとも1つのプロセッサが、運ばれる車両の境界を決定しないように更にプログラムされる、項目18に記載のナビゲーションシステム。
[項目20]
前記少なくとも1つのプロセッサが、前記捕捉された画像の分析に基づいて、前記目標車両が前記少なくとも1つの画像の反射の表現に含まれるか否かを判断するように更にプログラムされる、項目1から19のいずれか一項に記載のナビゲーションシステム。
[項目21]
前記少なくとも1つのプロセッサが、車両反射の境界を決定しないように更にプログラムされる、項目20に記載のナビゲーションシステム。
[項目22]
前記少なくとも1つのプロセッサが、前記目標車両のタイプを出力するように更にプログラムされる、項目1から21のいずれか一項に記載のナビゲーションシステム。
[項目23]
前記目標車両の前記タイプが、少なくとも前記境界の前記一部のサイズに基づく、項目22に記載のナビゲーションシステム。
[項目24]
前記目標車両の前記タイプは、前記境界内に含まれるピクセルの数に少なくとも部分的に基づく、項目22に記載のナビゲーションシステム。
[項目25]
前記目標車両の前記タイプが、バス、トラック、自転車、オートバイ、又は車のうちの少なくとも1つを含む、項目22から24のいずれか一項に記載のナビゲーションシステム。
[項目26]
ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信することと、
前記少なくとも1つの捕捉された画像の1つ又は複数のピクセルを分析して、前記1つ又は複数のピクセルが目標車両を表すか否かを判断することであって、前記目標車両の少なくとも一部が、前記少なくとも1つの捕捉された画像内に表されない、判断することと、
前記ホスト車両から前記目標車両までの推定距離を決定することであって、前記推定距離が少なくとも部分的に、前記少なくとも1つの捕捉された画像内に表されていない前記目標車両の前記一部に基づく、決定することと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、車両のためのナビゲーションシステム。
[項目27]
トレーニングされたシステムが、前記1つ又は複数のピクセルの前記分析の少なくとも一部を実行する、項目26に記載のナビゲーションシステム。
[項目28]
前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、項目27に記載のナビゲーションシステム。
[項目29]
前記少なくとも1つのプロセッサが、前記推定距離に基づいてナビゲーション動作を実施するように更に構成される、項目26から28のいずれか一項に記載のナビゲーションシステム。
[項目30]
前記推定距離を決定することが、前記少なくとも1つの捕捉された画像内に表されていない前記目標車両の少なくとも1つの境界の位置を決定することを含む、項目26から29のいずれか一項に記載のナビゲーションシステム。
[項目31]
前記少なくとも1つの境界の前記位置が、前記1つ又は複数のピクセルの分析に基づいて決定される、項目30に記載のナビゲーションシステム。
[項目32]
前記ホスト車両から前記目標車両までの前記推定距離が、前記ホスト車両から前記少なくとも1つの境界までの推定距離である、項目30又は31に記載のナビゲーションシステム。
[項目33]
ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信することと、
前記少なくとも1つの捕捉された画像の2つ以上のピクセルを分析して、前記2つ以上のピクセルが第1の目標車両の少なくとも一部及び第2の目標車両の少なくとも一部を表すか否かを判断することと、
前記第2の目標車両の前記一部が、前記第1の目標車両の表面上の反射の表現に含まれることを決定することと、
前記2つ以上のピクセルの前記分析及び前記第2の目標車両の一部が前記第1の目標車両の表面上の反射の表現に含まれるという前記決定に基づいて、前記第1の目標車両に対する境界の少なくとも一部を生成し、前記第2の目標車両に対する境界を生成しないことと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ホスト車両のためのナビゲーションシステム。
[項目34]
トレーニングされたシステムが、前記2つ以上のピクセルの前記分析の少なくとも一部を実行する、項目33に記載のナビゲーションシステム。
[項目35]
前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、項目34に記載のナビゲーションシステム。
[項目36]
前記第2の目標車両の前記一部が前記第1の目標車両の表面上の反射の表現に含まれることを決定することが、前記第2の目標車両に関連付けられた少なくとも1つのピクセルが前記第1の目標車両の端部に関連付けられていることを決定することを含む、項目33から35のいずれか一項に記載のナビゲーションシステム。
[項目37]
前記境界が、バウンディングボックスの少なくとも一部を含む、項目33から36のいずれか一項に記載のナビゲーションシステム。
[項目38]
ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境を表す少なくとも1つの捕捉された画像を受信することと、
前記少なくとも1つの捕捉された画像の2つ以上のピクセルを分析して、前記2つ以上のピクセルが第1の目標車両の少なくとも一部及び第2の目標車両の少なくとも一部を表すか否かを判断することと、
前記第2の目標車両が前記第1の目標車両によって運ばれるか、又は牽引されるかを判断することと、
前記2つ以上のピクセルの前記分析及び前記第2の目標車両が前記第1の目標車両によって運ばれるか、又は牽引されるかの前記判断に基づいて、前記第1の目標車両に対する境界の少なくとも一部を生成し、前記第2の目標車両に対する境界を生成しないことと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ホスト車両のためのナビゲーションシステム。
[項目39]
前記第2の目標車両が、牽引トラック、トレーラ、オープンエアキャリア、又はフラットベッドトラックのうちの少なくとも1つを含む、項目38に記載のナビゲーションシステム。
[項目40]
前記第2の目標車両が前記第1の目標車両によって運ばれるか、又は牽引されるかを判断することが、前記第2の目標車両に関連付けられた少なくとも1つのピクセルが前記第1の目標車両の端部に関連付けられていることを決定することを含む、項目38又は39に記載のナビゲーションシステム。
[項目41]
ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境を表す第1の捕捉された画像を受信することと、
前記第1の捕捉された画像の1つ又は複数のピクセルを分析して、前記1つ又は複数のピクセルが目標車両の少なくとも一部を表すか否かを判断し、前記目標車両の少なくとも一部を表すと判断されたピクセルについて、前記1つ又は複数のピクセルから前記目標車両の表面の少なくとも1つの端部までの1つ又は複数の推定距離値を判断することと、
前記第1の捕捉された画像の前記1つ又は複数のピクセルに関連付けられた前記判断された1つ又は複数の距離値を含む、前記第1の捕捉された画像の前記1つ又は複数のピクセルの前記分析に基づいて、前記目標車両に対する第1の境界の少なくとも一部を生成することと、
前記ホスト車両の前記カメラから、前記ホスト車両の環境を表す第2の捕捉された画像を受信することと、
前記第2の捕捉された画像の1つ又は複数のピクセルを分析して、前記1つ又は複数のピクセルが前記目標車両の少なくとも一部を表すか否かを判断し、前記目標車両の少なくとも一部を表すと判断されたピクセルについて、前記1つ又は複数のピクセルから前記目標車両の表面の少なくとも1つの端部までの1つ又は複数の推定距離値を判断することと、
前記第2の捕捉された画像の前記1つ又は複数のピクセルに関連付けられた前記判断された1つ又は複数の距離値を含む、前記第2の捕捉された画像の前記1つ又は複数のピクセルの前記分析に基づいて、及び前記第1の境界に基づいて、前記目標車両に対する第2の境界の少なくとも一部を生成することと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ナビゲーションシステム。
[項目42]
トレーニングされたシステムが、前記1つ又は複数のピクセルの前記分析の少なくとも一部を実行する、項目41に記載のナビゲーションシステム。
[項目43]
前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、項目42に記載のナビゲーションシステム。
[項目44]
前記第1の境界が、第1のバウンディングボックスの少なくとも一部を含み、前記第2の境界が、第2のバウンディングボックスの少なくとも一部を含む、項目41から43のいずれか一項に記載のナビゲーションシステム。
[項目45]
ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境から捕捉された2つ以上の画像を受信することと、
第1の物体の少なくとも一部の表現及び第2の物体の少なくとも一部の表現を識別するために、前記2つ以上の画像を分析することと、
前記第1の物体及び前記第1の物体のタイプに関連付けられた前記少なくとも1つの画像の第1の領域を決定することと、
前記第2の物体及び前記第2の物体のタイプに関連付けられた前記少なくとも1つの画像の第2の領域を決定することであって、前記第1の物体の前記タイプが、前記第2の物体の前記タイプとは異なる、決定することと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ナビゲーションシステム。
[項目46]
前記少なくとも1つのプロセッサが、前記第1の物体の前記タイプ又は前記第2の物体の前記タイプを出力するように更にプログラムされる、項目45に記載のナビゲーションシステム。
[項目47]
トレーニングされたシステムが、前記2つ以上の画像の前記分析の少なくとも一部を実行する、項目45又は46に記載のナビゲーションシステム。
[項目48]
前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、項目47に記載のナビゲーションシステム。
[項目49]
前記少なくとも1つのプロセッサが、前記第1の物体の前記タイプ又は前記第2の物体の前記タイプに基づいて、前記ホスト車両にナビゲーション動作を実施させるように更にプログラムされる、項目45から48のいずれか一項に記載のナビゲーションシステム。
[項目50]
前記第1の物体の前記タイプが第1の物体クラスに含まれ、前記第2の物体の前記タイプが第2の物体クラスに含まれ、前記第1の物体クラス及び前記第2の物体クラスが相互に排他的な物体を含む、項目45から49のいずれか一項に記載のナビゲーションシステム。
[項目51]
前記第1の物体クラス及び前記第2の物体クラスが、車両、歩行者、直立不動の物体、及び路面のうちの少なくとも1つを含む、項目50に記載のナビゲーションシステム。
[項目52]
前記第1の物体クラスは、車、トラック、バス、オートバイ、道路、障壁、ガードレール、塗装された路面、道路に対して高くなっている領域、走行可能な路面、又はポールのうちの1つ又は複数を含む、項目50に記載のナビゲーションシステム。
[項目53]
前記2つ以上の画像を分析することが、前記2つ以上の画像の1つ又は複数のピクセルを分析することを含む、項目45から52のいずれか一項に記載のナビゲーションシステム。
[項目54]
前記第1の物体の前記一部の前記表現を識別することが、前記第1の物体の前記表現に関連付けられた前記2つ以上の画像内の少なくとも1つのピクセルを識別することを含む、項目53に記載のナビゲーションシステム。
[項目55]
前記第2の物体の前記一部の前記表現を識別することが、前記第2の物体の前記表現に関連付けられた前記2つ以上の画像内の少なくとも1つのピクセルを識別することを含む、項目54に記載のナビゲーションシステム。
[項目56]
前記第1の物体の前記表現に関連付けられた前記2つ以上の画像内の前記少なくとも1つのピクセルが、前記第2の物体の前記表現に関連付けられた前記2つ以上の画像内の前記少なくとも1つのピクセルを含まない、項目55に記載のナビゲーションシステム。
[項目57]
前記第1の物体がガードレールを含み、前記第2の物体がコンクリート障壁を含む、項目45から56のいずれか一項に記載のナビゲーションシステム。
[項目58]
前記第1の物体が、塗装された路面を含み、前記第2の物体が、塗装されていない路面を含む、項目45から57のいずれか一項に記載のナビゲーションシステム。
[項目59]
前記第1の領域及び前記第2の領域が、異なる高さを有する、項目45から58のいずれか一項に記載のナビゲーションシステム。
[項目60]
前記第1の領域又は前記第2の領域のうちの少なくとも1つが、前記高さの差に基づいて識別される、項目59に記載のナビゲーションシステム。
[項目61]
前記2つ以上の画像が、異なる時間に捕捉された複数の画像を含み、前記高さの差が、前記複数の画像間のピクセルの比較に基づいて決定される、項目59又は60に記載のナビゲーションシステム。
[項目62]
前記第1の領域が走行可能な領域であり、前記第2の領域が走行不可能な領域である、項目45から61のいずれか一項に記載のナビゲーションシステム。
[項目63]
前記走行不可能な領域が、未舗装の表面を含む、項目62に記載のナビゲーションシステム。
[項目64]
前記走行不可能な領域が、私道、歩道、又は草地のうちの少なくとも1つを含む、項目62に記載のナビゲーションシステム。
[項目65]
前記第1の物体が車両を含み、前記第2の物体が歩行者を含む、項目45から64のいずれか一項に記載のナビゲーションシステム。
[項目66]
前記第1の物体の前記一部の前記表現又は前記第2の物体の前記一部の前記表現を識別することが、前記カメラによって捕捉された少なくとも第2の画像を分析することを含む、項目45から65のいずれか一項に記載のナビゲーションシステム。
[項目67]
前記第2の画像が、前記2つ以上の画像の後で所定の期間に捕捉される、項目66に記載のナビゲーションシステム。
[項目68]
前記所定の期間が、前記カメラのフレームレートに基づく、項目67に記載のナビゲーションシステム。
[項目69]
ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境から捕捉された少なくとも1つの画像を受信することと、
第1の物体の少なくとも一部の表現及び第2の物体の少なくとも一部の表現を識別するために、前記少なくとも1つの画像を分析することと、
前記分析に基づいて、前記第1の物体のジオメトリの少なくとも1つの態様及び前記第2の物体のジオメトリの少なくとも1つの態様を決定することと、
前記第1の物体の前記ジオメトリの前記少なくとも1つの態様に基づいて、前記第1の物体の前記表現を含む前記少なくとも1つの画像の領域に関連付けられた第1のラベルを生成することと、
前記第2の物体の前記ジオメトリの前記少なくとも1つの態様に基づいて、前記第2の物体の前記表現を含む前記少なくとも1つの画像の領域に関連付けられた第2のラベルを生成することと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ナビゲーションシステム。
[項目70]
前記第1のラベルが、前記第1の物体のタイプを示す、項目69に記載のナビゲーションシステム。
[項目71]
前記第1のラベルが、前記第1の物体のタイプの識別子に関連付けられている、項目69に記載のナビゲーションシステム。
[項目72]
前記第2のラベルが、前記第2の物体のタイプを示す、項目69から71のいずれか一項に記載のナビゲーションシステム。
[項目73]
前記第2のラベルが、前記第2の物体のタイプの識別子に関連付けられている、項目69から71のいずれか一項に記載のナビゲーションシステム。
[項目74]
前記少なくとも1つのプロセッサが、前記第1の物体の前記ジオメトリの前記少なくとも1つの態様又は前記第2の物体の前記ジオメトリの前記少なくとも1つの態様を出力するように更にプログラムされる、項目69から73のいずれか一項に記載のナビゲーションシステム。
[項目75]
トレーニングされたシステムが、前記少なくとも1つの画像の前記分析の少なくとも一部を実行する、項目69から74のいずれか一項に記載のナビゲーションシステム。
[項目76]
前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、項目75に記載のナビゲーションシステム。
[項目77]
前記第1の物体がガードレールを含み、前記第2の物体がコンクリート障壁を含む、項目69から76のいずれか一項に記載のナビゲーションシステム。
[項目78]
前記ガードレールが、前記少なくとも1つの画像から決定された前記ガードレールのテクスチャに少なくとも部分的に基づいて、前記コンクリート障壁とは別個の物体として識別される、項目77に記載のナビゲーションシステム。
[項目79]
前記第1の物体の前記ジオメトリの前記少なくとも1つの態様が、前記第1の物体の高さを含み、前記第1のラベルが、前記高さに少なくとも部分的に基づいて生成される、項目69から78のいずれか一項に記載のナビゲーションシステム。
[項目80]
前記第2の物体の前記ジオメトリの少なくとも1つの態様が、前記第2の物体の高さを含み、前記第2のラベルが、前記高さに少なくとも部分的に基づいて生成される、項目69から79のいずれか一項に記載のナビゲーションシステム。
[項目81]
前記第1の物体のタイプが第1の物体クラスに含まれ、前記第2の物体のタイプが第2の物体クラスに含まれ、前記第1の物体クラス及び前記第2の物体クラスが相互に排他的な物体を含む、項目69から80のいずれか一項に記載のナビゲーションシステム。
[項目82]
前記第1の物体クラス及び前記第2の物体クラスのそれぞれが、レーンマーク、縁石、又は壁のうちの少なくとも1つを含む、項目81に記載のナビゲーションシステム。
[項目83]
前記少なくとも1つのプロセッサが、前記ホスト車両の少なくとも1つのセンサからの出力を受信するように更にプログラムされ、前記第1の物体の前記ジオメトリの前記少なくとも1つの態様、又は前記第2の物体の前記ジオメトリの前記少なくとも1つの態様が、前記出力に基づいて決定される、項目69から82のいずれか一項に記載のナビゲーションシステム。
[項目84]
前記第1の物体の前記ジオメトリの前記少なくとも1つの態様が、前記第1の物体のテクスチャに基づいて決定される、項目69から83のいずれか一項に記載のナビゲーションシステム。
[項目85]
前記第2の物体の前記ジオメトリの前記少なくとも1つの態様が、前記第2の物体のテクスチャに基づいて決定される、項目69から84のいずれか一項に記載のナビゲーションシステム。
[項目86]
前記少なくとも1つのプロセッサが、前記第1の物体又は前記第2の物体のうちの少なくとも1つが道路端部であることを決定するように更にプログラムされる、項目69から85のいずれか一項に記載のナビゲーションシステム。
[項目87]
前記少なくとも1つのプロセッサが、前記道路端部のタイプを判断するように更にプログラムされる、項目86に記載のナビゲーションシステム。
[項目88]
前記少なくとも1つのプロセッサが、前記道路端部を前記ホスト車両が横断できるか否かを判断するように更にプログラムされる、項目86又は87に記載のナビゲーションシステム。
Claims (44)
- ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境から捕捉された2つ以上の画像を受信することと、
第1の物体の少なくとも一部の表現及び第2の物体の少なくとも一部の表現を識別するために、前記2つ以上の画像を分析することと、
前記第1の物体及び前記第1の物体のタイプに関連付けられた前記少なくとも1つの画像の第1の領域を決定することと、
前記第2の物体及び前記第2の物体のタイプに関連付けられた前記少なくとも1つの画像の第2の領域を決定することであって、前記第1の物体の前記タイプが、前記第2の物体の前記タイプとは異なる、決定することと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ナビゲーションシステム。 - 前記少なくとも1つのプロセッサが、前記第1の物体の前記タイプ又は前記第2の物体の前記タイプを出力するように更にプログラムされる、請求項1に記載のナビゲーションシステム。
- トレーニングされたシステムが、前記2つ以上の画像の前記分析の少なくとも一部を実行する、請求項1又は2に記載のナビゲーションシステム。
- 前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、請求項3に記載のナビゲーションシステム。
- 前記少なくとも1つのプロセッサが、前記第1の物体の前記タイプ又は前記第2の物体の前記タイプに基づいて、前記ホスト車両にナビゲーション動作を実施させるように更にプログラムされる、請求項1から4のいずれか一項に記載のナビゲーションシステム。
- 前記第1の物体の前記タイプが第1の物体クラスに含まれ、前記第2の物体の前記タイプが第2の物体クラスに含まれ、前記第1の物体クラス及び前記第2の物体クラスが相互に排他的な物体を含む、請求項1から5のいずれか一項に記載のナビゲーションシステム。
- 前記第1の物体クラス及び前記第2の物体クラスが、車両、歩行者、直立不動の物体、及び路面のうちの少なくとも1つを含む、請求項6に記載のナビゲーションシステム。
- 前記第1の物体クラスは、車、トラック、バス、オートバイ、道路、障壁、ガードレール、塗装された路面、道路に対して高くなっている領域、走行可能な路面、又はポールのうちの1つ又は複数を含む、請求項6に記載のナビゲーションシステム。
- 前記2つ以上の画像を分析することが、前記2つ以上の画像の1つ又は複数のピクセルを分析することを含む、請求項1から8のいずれか一項に記載のナビゲーションシステム。
- 前記第1の物体の前記一部の前記表現を識別することが、前記第1の物体の前記表現に関連付けられた前記2つ以上の画像内の少なくとも1つのピクセルを識別することを含む、請求項9に記載のナビゲーションシステム。
- 前記第2の物体の前記一部の前記表現を識別することが、前記第2の物体の前記表現に関連付けられた前記2つ以上の画像内の少なくとも1つのピクセルを識別することを含む、請求項10に記載のナビゲーションシステム。
- 前記第1の物体の前記表現に関連付けられた前記2つ以上の画像内の前記少なくとも1つのピクセルが、前記第2の物体の前記表現に関連付けられた前記2つ以上の画像内の前記少なくとも1つのピクセルを含まない、請求項11に記載のナビゲーションシステム。
- 前記第1の物体がガードレールを含み、前記第2の物体がコンクリート障壁を含む、請求項1から12のいずれか一項に記載のナビゲーションシステム。
- 前記第1の物体が、塗装された路面を含み、前記第2の物体が、塗装されていない路面を含む、請求項1から13のいずれか一項に記載のナビゲーションシステム。
- 前記第1の領域及び前記第2の領域が、異なる高さを有する、請求項1から14のいずれか一項に記載のナビゲーションシステム。
- 前記第1の領域又は前記第2の領域のうちの少なくとも1つが、前記高さの差に基づいて識別される、請求項15に記載のナビゲーションシステム。
- 前記2つ以上の画像が、異なる時間に捕捉された複数の画像を含み、前記高さの差が、前記複数の画像間のピクセルの比較に基づいて決定される、請求項15又は16に記載のナビゲーションシステム。
- 前記第1の領域が走行可能な領域であり、前記第2の領域が走行不可能な領域である、請求項1から17のいずれか一項に記載のナビゲーションシステム。
- 前記走行不可能な領域が、未舗装の表面を含む、請求項18に記載のナビゲーションシステム。
- 前記走行不可能な領域が、私道、歩道、又は草地のうちの少なくとも1つを含む、請求項18に記載のナビゲーションシステム。
- 前記第1の物体が車両を含み、前記第2の物体が歩行者を含む、請求項1から20のいずれか一項に記載のナビゲーションシステム。
- 前記第1の物体の前記一部の前記表現又は前記第2の物体の前記一部の前記表現を識別することが、前記カメラによって捕捉された少なくとも第2の画像を分析することを含む、請求項1から21のいずれか一項に記載のナビゲーションシステム。
- 前記第2の画像が、前記2つ以上の画像の後で所定の期間に捕捉される、請求項22に記載のナビゲーションシステム。
- 前記所定の期間が、前記カメラのフレームレートに基づく、請求項23に記載のナビゲーションシステム。
- ホスト車両のためのナビゲーションシステムであって、前記ナビゲーションシステムが、
前記ホスト車両のカメラから、前記ホスト車両の環境から捕捉された少なくとも1つの画像を受信することと、
第1の物体の少なくとも一部の表現及び第2の物体の少なくとも一部の表現を識別するために、前記少なくとも1つの画像を分析することと、
前記分析に基づいて、前記第1の物体のジオメトリの少なくとも1つの態様及び前記第2の物体のジオメトリの少なくとも1つの態様を決定することと、
前記第1の物体の前記ジオメトリの前記少なくとも1つの態様に基づいて、前記第1の物体の前記表現を含む前記少なくとも1つの画像の領域に関連付けられた第1のラベルを生成することと、
前記第2の物体の前記ジオメトリの前記少なくとも1つの態様に基づいて、前記第2の物体の前記表現を含む前記少なくとも1つの画像の領域に関連付けられた第2のラベルを生成することと、
を行うようにプログラムされた少なくとも1つのプロセッサを備える、ナビゲーションシステム。 - 前記第1のラベルが、前記第1の物体のタイプを示す、請求項25に記載のナビゲーションシステム。
- 前記第1のラベルが、前記第1の物体のタイプの識別子に関連付けられている、請求項25に記載のナビゲーションシステム。
- 前記第2のラベルが、前記第2の物体のタイプを示す、請求項25から27のいずれか一項に記載のナビゲーションシステム。
- 前記第2のラベルが、前記第2の物体のタイプの識別子に関連付けられている、請求項25から27のいずれか一項に記載のナビゲーションシステム。
- 前記少なくとも1つのプロセッサが、前記第1の物体の前記ジオメトリの前記少なくとも1つの態様又は前記第2の物体の前記ジオメトリの前記少なくとも1つの態様を出力するように更にプログラムされる、請求項25から29のいずれか一項に記載のナビゲーションシステム。
- トレーニングされたシステムが、前記少なくとも1つの画像の前記分析の少なくとも一部を実行する、請求項25から30のいずれか一項に記載のナビゲーションシステム。
- 前記トレーニングされたシステムが、1つ又は複数のニューラルネットワークを含む、請求項31に記載のナビゲーションシステム。
- 前記第1の物体がガードレールを含み、前記第2の物体がコンクリート障壁を含む、請求項25から32のいずれか一項に記載のナビゲーションシステム。
- 前記ガードレールが、前記少なくとも1つの画像から決定された前記ガードレールのテクスチャに少なくとも部分的に基づいて、前記コンクリート障壁とは別個の物体として識別される、請求項33に記載のナビゲーションシステム。
- 前記第1の物体の前記ジオメトリの前記少なくとも1つの態様が、前記第1の物体の高さを含み、前記第1のラベルが、前記高さに少なくとも部分的に基づいて生成される、請求項25から34のいずれか一項に記載のナビゲーションシステム。
- 前記第2の物体の前記ジオメトリの少なくとも1つの態様が、前記第2の物体の高さを含み、前記第2のラベルが、前記高さに少なくとも部分的に基づいて生成される、請求項25から35のいずれか一項に記載のナビゲーションシステム。
- 前記第1の物体のタイプが第1の物体クラスに含まれ、前記第2の物体のタイプが第2の物体クラスに含まれ、前記第1の物体クラス及び前記第2の物体クラスが相互に排他的な物体を含む、請求項25から36のいずれか一項に記載のナビゲーションシステム。
- 前記第1の物体クラス及び前記第2の物体クラスのそれぞれが、レーンマーク、縁石、又は壁のうちの少なくとも1つを含む、請求項37に記載のナビゲーションシステム。
- 前記少なくとも1つのプロセッサが、前記ホスト車両の少なくとも1つのセンサからの出力を受信するように更にプログラムされ、前記第1の物体の前記ジオメトリの前記少なくとも1つの態様、又は前記第2の物体の前記ジオメトリの前記少なくとも1つの態様が、前記出力に基づいて決定される、請求項25から38のいずれか一項に記載のナビゲーションシステム。
- 前記第1の物体の前記ジオメトリの前記少なくとも1つの態様が、前記第1の物体のテクスチャに基づいて決定される、請求項25から39のいずれか一項に記載のナビゲーションシステム。
- 前記第2の物体の前記ジオメトリの前記少なくとも1つの態様が、前記第2の物体のテクスチャに基づいて決定される、請求項25から40のいずれか一項に記載のナビゲーションシステム。
- 前記少なくとも1つのプロセッサが、前記第1の物体又は前記第2の物体のうちの少なくとも1つが道路端部であることを決定するように更にプログラムされる、請求項25から41のいずれか一項に記載のナビゲーションシステム。
- 前記少なくとも1つのプロセッサが、前記道路端部のタイプを判断するように更にプログラムされる、請求項42に記載のナビゲーションシステム。
- 前記少なくとも1つのプロセッサが、前記道路端部を前記ホスト車両が横断できるか否かを判断するように更にプログラムされる、請求項42又は43に記載のナビゲーションシステム。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962852761P | 2019-05-24 | 2019-05-24 | |
US62/852,761 | 2019-05-24 | ||
US202062957009P | 2020-01-03 | 2020-01-03 | |
US62/957,009 | 2020-01-03 | ||
US202062976059P | 2020-02-13 | 2020-02-13 | |
US62/976,059 | 2020-02-13 | ||
JP2021552978A JP2022532695A (ja) | 2019-05-24 | 2020-05-22 | 画像分析に基づく車両ナビゲーションのためのシステム及び方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021552978A Division JP2022532695A (ja) | 2019-05-24 | 2020-05-22 | 画像分析に基づく車両ナビゲーションのためのシステム及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023106536A true JP2023106536A (ja) | 2023-08-01 |
Family
ID=71094818
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021552978A Pending JP2022532695A (ja) | 2019-05-24 | 2020-05-22 | 画像分析に基づく車両ナビゲーションのためのシステム及び方法 |
JP2023084528A Pending JP2023106536A (ja) | 2019-05-24 | 2023-05-23 | 画像分析に基づく車両ナビゲーションのためのシステム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021552978A Pending JP2022532695A (ja) | 2019-05-24 | 2020-05-22 | 画像分析に基づく車両ナビゲーションのためのシステム及び方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US20220035378A1 (ja) |
JP (2) | JP2022532695A (ja) |
CN (1) | CN113825979A (ja) |
DE (1) | DE112020002592T5 (ja) |
WO (1) | WO2020242945A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6838522B2 (ja) * | 2017-08-10 | 2021-03-03 | トヨタ自動車株式会社 | 画像収集システム、画像収集方法、画像収集装置、および記録媒体 |
WO2021008712A1 (en) * | 2019-07-18 | 2021-01-21 | Toyota Motor Europe | Method for calculating information relative to a relative speed between an object and a camera |
EP3770881B1 (en) * | 2019-07-26 | 2023-11-15 | Volkswagen AG | Methods, computer programs, apparatuses, a vehicle, and a traffic entity for updating an environmental model of a vehicle |
KR102443401B1 (ko) * | 2020-06-29 | 2022-09-15 | 주식회사 라이드플럭스 | 자율주행 차량을 위한 로드 네트워크 데이터 생성 방법, 장치 및 컴퓨터프로그램 |
US11823395B2 (en) * | 2020-07-02 | 2023-11-21 | Magna Electronics Inc. | Vehicular vision system with road contour detection feature |
US11790665B2 (en) * | 2021-04-29 | 2023-10-17 | Hitachi Astemo, Ltd. | Data driven dynamically reconfigured disparity map |
CN113674422A (zh) * | 2021-08-27 | 2021-11-19 | 中汽创智科技有限公司 | 一种数据同步采集方法、控制模块、系统及存储介质 |
DE102022128390A1 (de) | 2022-10-26 | 2024-05-02 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren zum Betreiben eines Fahrerassistenzsystems eines Fahrzeugs mit automatisierter Querführung bei einer Folgefahrt, Fahrerassistenzsystem sowie Fahrzeug |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009033219A1 (de) * | 2009-01-23 | 2010-07-29 | Daimler Ag | Verfahren zur Ermittlung eines Fahrzeug vorausliegenden Straßenprofils einer Fahrspur |
US8977007B1 (en) * | 2013-04-23 | 2015-03-10 | Google Inc. | Detecting a vehicle signal through image differencing and filtering |
US9305223B1 (en) * | 2013-06-26 | 2016-04-05 | Google Inc. | Vision-based indicator signal detection using spatiotemporal filtering |
JP6997106B2 (ja) * | 2016-06-27 | 2022-01-17 | モービルアイ ビジョン テクノロジーズ リミテッド | 車両をナビゲートするためのシステム、方法およびコンピュータプログラム |
US10311312B2 (en) * | 2017-08-31 | 2019-06-04 | TuSimple | System and method for vehicle occlusion detection |
EP3619643A1 (en) * | 2017-05-03 | 2020-03-11 | Mobileye Vision Technologies Ltd. | Detection and classification systems and methods for autonomous vehicle navigation |
DE102017215718B4 (de) * | 2017-09-07 | 2019-06-13 | Audi Ag | Verfahren zum Auswerten eines optischen Erscheinungsbildes in einer Fahrzeugumgebung und Fahrzeug |
US11474530B1 (en) * | 2019-08-15 | 2022-10-18 | Amazon Technologies, Inc. | Semantic navigation of autonomous ground vehicles |
-
2020
- 2020-05-22 CN CN202080036539.6A patent/CN113825979A/zh active Pending
- 2020-05-22 WO PCT/US2020/034231 patent/WO2020242945A1/en active Application Filing
- 2020-05-22 DE DE112020002592.6T patent/DE112020002592T5/de active Pending
- 2020-05-22 JP JP2021552978A patent/JP2022532695A/ja active Pending
-
2021
- 2021-10-12 US US17/499,508 patent/US20220035378A1/en active Pending
- 2021-10-12 US US17/499,291 patent/US20220027642A1/en active Pending
-
2023
- 2023-05-23 JP JP2023084528A patent/JP2023106536A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220035378A1 (en) | 2022-02-03 |
CN113825979A (zh) | 2021-12-21 |
DE112020002592T5 (de) | 2022-03-03 |
WO2020242945A1 (en) | 2020-12-03 |
US20220027642A1 (en) | 2022-01-27 |
JP2022532695A (ja) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220001871A1 (en) | Road vector fields | |
US20210374435A1 (en) | Aggregation and reporting of observed dynamic conditions | |
US20220333927A1 (en) | Ego motion correction of lidar output | |
US20220282989A1 (en) | Fully aligned junctions | |
US20220027642A1 (en) | Full image detection | |
US20210381849A1 (en) | Map management using an electronic horizon | |
US20230175852A1 (en) | Navigation systems and methods for determining object dimensions | |
US20220227373A1 (en) | Systems and methods for detecting an open door | |
US20220351526A1 (en) | Multi-frame image segmentation | |
US20230195122A1 (en) | Systems and methods for map-based real-world modeling | |
US20220371583A1 (en) | Systems and Methods for Selectively Decelerating a Vehicle | |
US20230202473A1 (en) | Calculating vehicle speed for a road curve | |
US20230311863A1 (en) | Detecting an open door using a sparse representation | |
US20230195506A1 (en) | Systems and methods for processing atomic commands | |
US20230205533A1 (en) | Systems and methods for performing neural network operations | |
US20240029446A1 (en) | Signature network for traffic sign classification | |
WO2023067385A2 (en) | Radar-camera fusion for vehicle navigation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230523 |