CN112214027A - 自主导航的导航信息的融合构架和分批对齐 - Google Patents
自主导航的导航信息的融合构架和分批对齐 Download PDFInfo
- Publication number
- CN112214027A CN112214027A CN202011029502.9A CN202011029502A CN112214027A CN 112214027 A CN112214027 A CN 112214027A CN 202011029502 A CN202011029502 A CN 202011029502A CN 112214027 A CN112214027 A CN 112214027A
- Authority
- CN
- China
- Prior art keywords
- navigation information
- vehicle
- vehicles
- output
- target object
- 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
- 230000004927 fusion Effects 0.000 title description 3
- 238000012545 processing Methods 0.000 claims abstract description 259
- 238000000034 method Methods 0.000 claims abstract description 118
- 230000004044 response Effects 0.000 claims abstract description 61
- 230000008859 change Effects 0.000 claims abstract description 45
- 238000012795 verification Methods 0.000 claims abstract description 18
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000003213 activating effect Effects 0.000 claims description 4
- 230000015654 memory Effects 0.000 description 57
- 238000010191 image analysis Methods 0.000 description 53
- 238000004458 analytical method Methods 0.000 description 46
- 230000008569 process Effects 0.000 description 44
- 230000009471 action Effects 0.000 description 38
- 230000006870 function Effects 0.000 description 32
- 230000001133 acceleration Effects 0.000 description 31
- 238000013459 approach Methods 0.000 description 24
- 238000009826 distribution Methods 0.000 description 22
- 230000033001 locomotion Effects 0.000 description 20
- 238000005259 measurement Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 230000003287 optical effect Effects 0.000 description 16
- 238000003860 storage Methods 0.000 description 16
- 230000000007 visual effect Effects 0.000 description 15
- 230000000875 corresponding effect Effects 0.000 description 13
- 230000002787 reinforcement Effects 0.000 description 13
- 238000012549 training Methods 0.000 description 12
- 230000003068 static effect Effects 0.000 description 11
- 239000003550 marker Substances 0.000 description 10
- 238000005096 rolling process Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 238000006073 displacement reaction Methods 0.000 description 8
- 230000007613 environmental effect Effects 0.000 description 8
- 238000005206 flow analysis Methods 0.000 description 8
- 238000005457 optimization Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000003384 imaging method Methods 0.000 description 7
- 239000000725 suspension Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000001953 sensory effect Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000005684 electric field Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013178 mathematical model Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 239000013589 supplement Substances 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 238000010367 cloning Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012358 sourcing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 206010001488 Aggression Diseases 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000016571 aggressive behavior Effects 0.000 description 1
- 208000012761 aggressive behavior Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003667 anti-reflective effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000881 depressing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000003746 surface roughness Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- 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/3602—Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- 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
-
- 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
-
- 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
- G01C21/30—Map- or contour-matching
-
- 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/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3841—Data obtained from two or more sources, e.g. probe vehicles
-
- 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/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3848—Data obtained from both position sensors and additional sensors
-
- 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/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3885—Transmission of map data to client devices; Reception of map data by client devices
- G01C21/3889—Transmission of selected map data, e.g. depending on route
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/251—Fusion techniques of input or preprocessed data
-
- 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
- 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/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- 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, light or radio wave 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
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/408—Radar; Laser, e.g. lidar
-
- 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
- B60W2556/00—Input parameters relating to data
- B60W2556/20—Data confidence level
-
- 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
- B60W2556/00—Input parameters relating to data
- B60W2556/25—Data precision
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Aviation & Aerospace Engineering (AREA)
- Data Mining & Analysis (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Electromagnetism (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Medical Informatics (AREA)
- Traffic Control Systems (AREA)
- Mathematical Physics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Navigation (AREA)
Abstract
本公开涉及用于导航车辆的系统和方法。在一个实施方式中,至少一个处理设备可以从第一数据源接收第一输出,并从第二数据源接收第二输出;在第一输出中识别目标对象的表示;确定目标对象的特性是否触发至少一个导航约束;如果目标对象的特性不触发至少一个导航约束,则基于第一输出和第二输出的组合来验证对目标对象的表示的识别;如果目标对象的特性触发至少一个导航约束,则基于第一输出来验证对目标对象的表示的识别;以及响应于验证,引起车辆的至少一个导航变化。
Description
相关申请的交叉引用
本申请要求于2017年6月14日提交的美国临时专利申请第62/519,471号以及于2017年6月14日提交的美国临时专利申请第62/519,493号的优先权权益。所有前述申请均通过引用整体并入本文。
技术领域
本公开总体涉及自主车辆导航。
背景技术
随着技术的不断进步,即将出现能够在道路上导航的完全自主车辆的目标。自主车辆可能需要考虑各种各样的因素,并且基于那些因素做出适当的决策,以安全和准确地到达预期的目的地。例如,自主车辆可能需要处理和解释可视信息(例如,从相机捕捉的信息),并且也可能使用从其它源(例如,从GPS设备、速度传感器、加速计、悬架传感器等)获得的信息。同时,为了导航到目的地,自主车辆还可能需要识别其在特定道路内(例如,在多车道道路内的具体车道)的位置、沿着其它车辆旁边导航、避开障碍物和行人、观察交通信号和标志、在适当的交叉路口或交汇处从一条道路行驶到另一条道路。利用和解释随着自主车辆行驶到其目的地而由自主车辆收集的大量信息带来许多设计挑战。自主车辆可能需要分析、访问和/或储存的绝对大量的数据(例如,捕捉的图像数据、地图数据、GPS数据、传感器数据等)带来了可能实际上会限制甚至不利地影响自主导航的挑战。此外,如果自主车辆依靠传统的地图技术进行导航,则储存和更新地图所需的绝对大量的数据带来了艰巨的挑战。
除了收集用于更新地图的数据之外,自主车辆还必须能够使用地图进行导航。因此,必须优化地图的大小和细节,以及其构建和传输。此外,自主车辆必须使用地图以及使用基于车辆周围环境的约束进行导航,以确保其乘客以及道路上的其它驾驶员和行人的安全。
发明内容
与本公开一致的实施例提供了用于自主车辆导航的系统和方法。所公开的实施例可以使用相机来提供自主车辆导航特征。例如,与所公开的实施例一致,所公开的系统可以包括一个、两个或更多个监控车辆环境的相机。所公开的系统可以基于例如对由一个或多个相机捕捉的图像的分析来提供导航响应。所公开的系统还可以提供用于使用众包(crowdsourced)稀疏地图进行构建和导航。其它公开的系统可以使用对图像的相关分析来执行定位,该定位可以使用稀疏地图来补充导航。导航响应还可以考虑其它数据,包括例如全球定位系统(global positioning system,GPS)数据、传感器数据(例如,来自加速度计、速度传感器、悬架传感器等)、和/或其它地图数据。最后,所公开的实施例可以使用舒适性和安全性约束来融合来自多个源(诸如,相机、传感器、地图等)的数据,以便在不危害其它驾驶员和行人的情况下优化车辆的导航。
在一个实施例中,一种用于主车辆的导航系统,该导航系统可以包括至少一个处理设备。至少一个处理设备可以编程为从与主车辆相关联的第一数据源接收第一输出,并且从与主车辆相关联的第二数据源接收第二输出。第一数据源和第二数据源中的至少一者可以包括主车辆上的传感器。至少一个处理设备可以进一步编程为:在第一输出中识别目标对象的表示;确定目标对象的特性是否触发至少一个导航约束;如果目标对象的特性不触发至少一个导航约束,则基于第一输出和第二输出的组合来验证对目标对象的表示的识别;如果目标对象的特性触发至少一个导航约束,则基于第一输出来验证对目标对象的表示的识别;以及响应于验证,引起主车辆的至少一个导航变化。
在一个实施例中,一种用于导航主车辆的计算机实现的方法可以包括从与主车辆相关联的第一数据源接收第一输出,并且从与主车辆相关联的第二数据源接收第二输出。第一数据源和第二数据源中的至少一者可以包括主车辆上的传感器。该方法可以进一步包括:在第一输出中识别目标对象的表示;确定目标对象的特性是否触发至少一个导航约束;如果目标对象的特性不触发至少一个导航约束,则基于第一输出和第二输出的组合来验证对目标对象的表示的识别;如果目标对象的特性触发至少一个导航约束,则基于第一输出来验证对目标对象的表示的识别;以及响应于验证,引起主车辆的至少一个导航变化。
在一个实施例中,一种用于对齐来自多个车辆的导航信息的服务器可以包括至少一个处理设备。该至少一个处理设备可以编程为从多个车辆接收导航信息。来自多个车辆的导航信息可以与共同道路段相关联。至少一个处理设备可以进一步编程为在共同道路段局部的坐标系内对齐导航信息。局部的坐标系可以包括基于由在多个车辆上包括的图像传感器捕捉的多个图像的坐标系。至少一个处理设备可以进一步被编程为与共同道路段相关联地储存对齐的导航信息,并且将对齐的导航信息分配给一个或多个自主车辆以用于沿着共同道路段自主导航所述一个或多个自主车辆。
在一个实施例中,一种用于对齐来自多个车辆的导航信息的计算机实现的方法可以包括:从多个车辆接收导航信息。来自多个车辆的导航信息可以与共同道路段相关联。该方法可以进一步包括在共同道路段局部的坐标系内对齐导航信息。局部的坐标系可以包括基于由在多个车辆上包括的图像传感器捕捉的多个图像的坐标系。该方法可以进一步包括与共同道路段相关联地储存对齐的导航信息,并且将对齐的导航信息分配给一个或多个自主车辆以用于沿着共同道路段自主导航所述一个或多个自主车辆。
与其它公开的实施例一致,一种非暂时性计算机可读存储介质可以储存程序指令,这些程序指令由至少一个处理设备执行,并执行本文描述的任何方法。
前面的一般描述和下面的详细描述仅仅是示例性和解释性的,而不是对权利要求的限制。
附图说明
并入本公开中并构成本公开的一部分的附图图示了各种所公开的实施例。
在附图中:
图1是与所公开的实施例一致的示例性系统的图示性表示。
图2A是包括与所公开的实施例一致的系统的示例车辆的图示性侧视图表示。
图2B是与所公开的实施例一致的图2A中所示的车辆和系统的图示性顶视图表示。
图2C是包括与所公开的实施例一致的系统的车辆的另一实施例的图示性顶视图表示。
图2D是包括与所公开的实施例一致的系统的车辆的又一实施例的图示性顶视图表示。
图2E是包括与所公开的实施例一致的系统的车辆的又一实施例的图示性顶视图表示。
图2F是与所公开的实施例一致的示例性车辆控制系统的图示性表示。
图3A是与所公开的实施例一致的、包括后视镜和用于车辆成像系统的用户界面的车辆的内部的图示性表示。
图3B是与所公开的实施例一致的配置为定位在后视镜后面并抵靠车辆风挡的相机安装的示例的图示。
图3C是与所公开的实施例一致的图3B中所示的相机安装从不同的视角的图示。
图3D是与所公开的实施例一致的配置为定位在后视镜后面并抵靠车辆风挡的相机安装的示例的图示。
图4是与所公开的实施例一致的配置为储存用于进行一个或多个操作的指令的存储器的示例性框图。
图5A是示出与所公开的实施例一致的用于基于单目图像分析来引起一个或多个导航响应的示例性过程的流程图。
图5B是示出与所公开的实施例一致的用于在一组图像中检测一个或多个车辆和/或行人的示例性过程的流程图。
图5C是示出与所公开的实施例一致的用于在一组图像中检测道路标记和/或车道几何形状信息的示例性过程的流程图。
图5D是示出与所公开的实施例一致的用于在一组图像中检测交通灯的示例性过程的流程图。
图5E是示出与所公开的实施例一致的用于基于车辆路径来引起一个或多个导航响应的示例性过程的流程图。
图5F是示出与所公开的实施例一致的用于确定前方车辆是否正在改变车道的示例性过程的流程图。
图6是示出与所公开的实施例一致的用于基于立体图像分析来引起一个或多个导航响应的示例性过程的流程图。
图7是示出与所公开的实施例一致的用于基于三组图像的分析来引起一个或多个导航响应的示例性过程的流程图。
图8A示出了与所公开的实施例一致的道路段的一部分的多项式表示。
图8B示出了三维空间中的曲线,该三维空间中的曲线表示对于在与所公开的实施例一致的稀疏地图中包括的特定道路段的车辆的目标轨迹。
图9A示出了与所公开的实施例一致的轨迹的多项式表示。
图9B和9C示出了与公开的实施例一致的沿着多车道道路的目标轨迹。
图9D示出了与公开的实施例一致的示例道路签名分布。
图10示出了与所公开的实施例一致的由多个三维样条表示的示例自主车辆道路导航模型。
图11示出了与所公开的实施例一致的通过组合来自许多行驶的位置信息而产生的地图框架。
图12是与所公开的实施例一致的配置为储存用于进行一个或多个操作的指令的存储器的示例性框图。
图13A和13B提供了与所公开的实施例一致的示例安全性和舒适性约束的示意图。
图13C和13D提供了与所公开的实施例一致的其它示例安全性和舒适性约束的示意图。
图14提供了示出与公开的实施例一致的用于基于安全性和舒适性约束来导航主车辆的示例性过程的流程图。
图15是与所公开的实施例一致的配置为储存用于进行一个或多个操作的指令的存储器的示例性框图。
图16示出了与所公开的实施例一致的通过组合来自许多行驶的导航信息而产生的示例道路数据以及通过组合道路数据而生成的示例全局地图。
图17提供了示出与所公开的实施例一致的用于对齐来自多个车辆的导航信息的示例性过程的流程图。
具体实施方式
以下的详细描述参考附图。只要可能,在附图和以下的描述中使用相同的参考标号来指代相同或相似的部分。尽管本文描述了若干示例性实施例,但是修改、调整和其它实施方式是可能的。例如,可以对附图中示出的组件做出替换、添加或修改,并且可以通过对所公开的方法进行步骤的替换、重新排序、移除或添加,来对本文描述的示例性方法进行修改。因此,以下的详细描述并不限于所公开的实施例和示例。相反,适当的范围由所附权利要求限定。
自主车辆概览
如贯穿本公开所使用的,术语“自主车辆”指代在没有驾驶员输入的情况下能够实现至少一个导航变化的车辆。“导航变化”是指车辆的转向、制动、或加速中的一个或多个的变化。所谓自主,是指车辆不需要是完全自动的(例如,完全操作在没有驾驶员或没有驾驶员输入的情况下)。相反,自主车辆包括能够在某些时间段期间在驾驶员的控制下操作,且在其它时间段期间在没有驾驶员控制的情况下操作的那些车辆。自主车辆还可以包括仅控制车辆导航的一些方面,诸如转向(例如,在车辆车道约束之间维持车辆路线),但可以将其它方面交给驾驶员(例如,制动)的车辆。在一些情况下,自主车辆可以处理车辆的制动、速度控制和/或转向中的一些或所有方面。
由于人类驾驶员通常依靠于可视线索和观察以便控制车辆,因此而建造了交通基础设施,其具有均被设计为向驾驶员提供可视信息的车道标记、交通标志和交通灯。鉴于交通基础设施的这些设计特性,自主车辆可以包括相机以及分析从车辆的环境捕捉的可视信息的处理单元。可视信息可以包括,例如可由驾驶员观察到的交通基础设施(例如,车道标记、交通标志、交通灯等)的组件以及其它障碍物(例如,其它车辆、行人、杂物等)。此外,自主车辆还可以使用储存的信息,诸如在导航时提供车辆环境的模型的信息。例如,车辆可以使用GPS数据、传感器数据(例如,来自加速计、速度传感器、悬架传感器等)和/或其它地图数据,以在该车辆正在行驶时提供与其环境有关的信息,并且该车辆(以及其它车辆)可以使用该信息在模型上对其自身定位。
在本公开的一些实施例中,自主车辆可以使用在导航时获得的信息(例如,来自相机、GPS设备、加速计、速度传感器、悬架传感器等)。在其它实施例中,自主车辆可以使用在导航时从车辆(或其它车辆)的过去导航获得的信息。在其它实施例中,自主车辆可以使用在导航时获得的信息和从过去的导航获得的信息的组合。以下各部分提供与所公开的实施例一致的系统的概述,随后是前向成像系统和与该系统一致的方法的概述。以下各部分公开了用于构建、使用和更新稀疏地图以进行自主车辆导航的系统和方法。
系统概览
图1是与所公开的示例性实施例一致的系统100的框图表示。取决于特定实施方式的要求,系统100可以包括各种组件。在一些实施例中,系统100可以包括处理单元110,图像获取单元120,位置传感器130,一个或多个存储器单元140、150,地图数据库160,用户界面170和无线收发器172。处理单元110可以包括一个或多个处理设备。在一些实施例中,处理单元110可以包括应用处理器180、图像处理器190或任何其它合适的处理设备。类似地,取决于特定应用的要求,图像获取单元120可以包括任意数量的图像获取设备和组件。在一些实施例中,图像获取单元120可以包括一个或多个图像捕捉设备(例如,相机),诸如图像捕捉设备122、图像捕捉设备124和图像捕捉设备126。系统100还可以包括将处理设备110通信地连接到图像获取设备120的数据接口128。例如,数据接口128可以包括用于将由图像获取设备120获取的图像数据传输到处理单元110的任何有线和/或无线的一个或多个链路。
无线收发器172可以包括被配置为通过使用射频、红外频率、磁场、或电场通过空中接口来交换传输到一个或多个网络(例如,蜂窝、因特网等)的一个或多个设备。无线收发器172可以使用任何已知的标准来发送和/或接收数据(例如,Wi-Fi、蓝牙智能、802.15.4、ZigBee等)。这样的传输可以包括从主车辆到一个或多个远程定位的服务器的通信。这样的传输还可以包括主车辆与在主车辆环境中的一个或多个目标车辆之间的(单向或双向的)通信(例如,以便于考虑到或连同在主车辆环境中的目标车辆来协调主车辆的导航),或者甚至向发送车辆附近的未指定的接收者的广播传输。
应用处理器180和图像处理器190两者都可以包括各种类型的处理设备。例如,应用处理器180和图像处理器190中的任一者或两者可以包括微处理器、预处理器(诸如图像预处理器)、图形处理处理单元(GPU)、中央处理单元(CPU)、辅助电路、数字信号处理器、集成电路、存储器或适用于运行应用和适用于图像处理和分析的任何其它类型的设备。在一些实施例中,应用处理器180和/或图像处理器190可以包括任何类型的单核或多核处理器、移动设备微控制器、中央处理单元等。可以使用各种处理设备,包括例如可从诸如等制造商获得的处理器或者可从诸如等制造商获得的GPU,并且可以包括各种架构(例如,x86处理器、等)。
在一些实施例中,应用处理器180和/或图像处理器190可以包括可从获得的任何EyeQ系列处理器芯片。这些处理器设计均包括具有本地存储器和指令集的多个处理单元。这样的处理器可以包括用于从多个图像传感器接收图像数据的视频输入,并且还可以包括视频输出能力。在一个示例中,使用在332Mhz下操作的90纳米-微米技术。架构由两个浮点式超线程32位RISC CPU(核)、五个视觉计算引擎(VCE)、三个矢量微代码处理器丹那利(Denali)64位移动DDR控制器、128位内部超音速互连(Sonics Interconnect)、双16位视频输入和18位视频输出控制器、16通道DMA和数个外围设备组成。MIPS34K CPU管理五个VCE、三个VMPTM和DMA、第二MIPS34K CPU和多通道DMA以及其它外围设备。五个VCE、三个和MIPS34K CPU可以执行多功能捆绑应用所需要的密集视觉计算。在另一示例中,作为第三代处理器并且比强六倍的可以在所公开的实施例中使用。在其它示例中,可以在所公开的实施例中使用和/或当然,任何更新的或未来的EyeQ处理设备也可以与所公开的实施例一起使用。
任何本文所公开的处理设备可以被配置为执行某些功能。配置处理设备(诸如任何所描述的EyeQ处理器或其它控制器或微处理器)以执行某些功能可以包括对计算机可执行指令的编程,并使处理设备在其操作期间可获得这些指令以用于执行。在一些实施例中,配置处理设备可以包括直接使用架构指令对处理设备编程。例如,可以使用例如一种或多种硬件描述语言(HDL)来配置诸如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等的处理设备。
在其它实施例中,配置处理设备可以包括将可执行指令储存在操作期间处理设备可访问的存储器上。例如,处理设备在操作期间可以访问该存储器以获得并执行所储存的指令。在任一情况下,被配置为执行本文公开的感测、图像分析和/或导航功能的处理设备表示控制主车辆的多个基于硬件的组件的专用的基于硬件的系统。
尽管图1描绘了在处理单元110中包括的两个单独的处理设备,但是可以使用更多或更少的处理设备。例如,在一些实施例中,可以使用单个处理设备完成应用处理器180和图像处理器190的任务。在其它实施例中,这些任务可以由两个以上的处理设备执行。另外,在一些实施例中,系统100可以包括处理单元110中的一个或多个,而不包括诸如图像获取单元120的其它组件。
处理单元110可以包括各种类型的设备。例如,处理单元110可以包括各种设备,诸如控制器、图像预处理器、中央处理单元(CPU)、图形处理单元(GPU)、支持电路、数字信号处理器、集成电路、存储器或用于图像处理和分析的任何其它类型的设备。图像预处理器可以包括用于捕捉、数字化和处理来自图像传感器的影像的视频处理器。CPU可以包括任何数量的微控制器或微处理器。GPU也可以包括任何数量的微控制器或微处理器。支持电路可以是任何数量的本领域公知的电路,包括缓存、电力供给、时钟和输入输出电路。存储器可以储存软件,该软件在由处理器执行时控制系统的操作。存储器可以包括数据库和图像处理软件。存储器可以包括任何数量的随机存取存储器、只读存储器、闪速存储器、磁盘驱动器、光储存器、磁带储存器、可移动储存器和其它类型的储存器。在一个实例中,存储器可以与处理单元110分开。在另一实例中,存储器可以被集成到处理单元110中。
每个存储器140、150可以包括软件指令,该软件指令在由处理器(例如,应用处理器180和/或图像处理器190)执行时可以控制系统100的各个方面的操作。例如,这些存储器单元可以包括各种数据库和图像处理软件,以及经训练的系统,诸如神经网络或深度神经网络。存储器单元可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、磁盘驱动器、光储存器、磁带储存器、可移动储存器和/或任何其它类型的储存器。在一些实施例中,存储器单元140、150可以是与应用处理器180和/或图像处理器190分开的。在其它实施例中,这些存储器单元可以被集成到应用处理器180和/或图像处理器190中。
位置传感器130可以包括适用于确定与系统100的至少一个组件相关联的位置的任何类型的设备。在一些实施例中,位置传感器130可以包括GPS接收器。这样的接收器可以通过处理由全球定位系统卫星广播的信号来确定用户位置和速度。可以使得来自位置传感器130的位置信息对于应用处理器180和/或图像处理器190可用。
在一些实施例中,系统100可以包括诸如用于测量车辆200的速度的速度传感器(例如,转速计、速度计)和/或用于测量车辆200的加速度的加速度计(单轴或多轴)的组件。
用户界面170可以包括适用于向系统100的一个或多个用户提供信息或从系统100的一个或多个用户接收输入的任何设备。在一些实施例中,用户界面170可以包括用户输入设备,包括例如触摸屏、麦克风、键盘、指针设备、跟踪转轮、相机、旋钮、按钮等。使用这样的输入设备,用户能够通过键入指令或信息,提供语音命令,使用按钮、指针或眼睛跟踪能力在屏幕上选择菜单选项,或通过任何其它适用于向系统100传送信息的技术来向系统100提供信息输入或命令。
用户界面170可以配备有一个或多个处理设备,其配置为向用户提供和从用户接收信息,并处理该信息以由例如应用处理器180使用。在一些实施例中,这样的处理设备可以执行指令以辨识和跟踪眼睛运动、接收和解释语音命令、辨识和解释在触摸屏上做出的触摸和/或手势、响应键盘输入或菜单选择等。在一些实施例中,用户界面170可以包括显示器、扬声器、触觉设备和/或任何其它用于向用户提供输出信息的设备。
地图数据库160可以包括任何类型的用于储存对系统100有用的地图数据的数据库。在一些实施例中,地图数据库160可以包括与各种项目在参考坐标系统中的位置有关的数据,各种项目包括道路、水特征、地理特征、商业区、感兴趣的点、餐馆、加油站等。地图数据库160不仅可以储存这些项目的位置,还可以储存与这些项目有关的描述符,包括例如与任何所储存的特征相关联的名称。在一些实施例中,地图数据库160可以与系统100的其它组件物理上位于一起。替代或附加地,地图数据库160或其一部分可以相对于系统100的其它组件(例如,处理单元110)位于远处。在这样的实施例中,来自地图数据库160的信息可以通过与网络的有线或无线数据连接(例如,通过蜂窝网络和/或因特网等)而下载。在一些情况下,地图数据库160可以储存稀疏数据模型,该稀疏数据模型包括某些道路特征(例 如,车道标记)或主车辆的目标轨迹的多项式表示。下面参考图8-17讨论生成这样的地图 的系统和方法。
图像捕捉设备122、124和126均可以包括任何类型的适用于从环境捕捉至少一个图像的设备。此外,可以使用任何数量的图像捕捉设备来获取用于输入到图像处理器的图像。一些实施例可以仅包括单个图像捕捉设备,而其它实施例可以包括两个、三个、或甚至四个、或更多个图像捕捉设备。以下将参考图2B至图2E进一步描述图像捕捉设备122、124和126。
系统100或其各种组件可以合并到各种不同的平台中。在一些实施例中,系统100可以被包括在车辆200上,如图2A所示。例如,车辆200可以配备有如上关于图1所述的系统100的处理单元110和任何其它组件。在一些实施例中,车辆200可以仅配备有单个图像捕捉设备(例如,相机),而在其它实施例中,诸如结合图2B至图2E所讨论的那些,可以使用多个图像捕捉设备。例如,图2A中所示的车辆200的图像捕捉设备122和124中的任一个可以是ADAS(Advanced Driver Assistance System,高级驾驶员辅助系统)成像集的一部分。
作为图像获取单元120的一部分的、在车辆200上包括的图像捕捉设备,可以被置于任何合适的位置。在一些实施例中,如图2A至图2E,以及图3A至图3C中所示,图像捕捉设备122可以位于后视镜的附近。此位置可以提供与车辆200的驾驶员相似的视线,这可以帮助确定对驾驶员而言什么是可见和不可见的。图像捕捉设备122可以被置于靠近后视镜的任何位置,而将图像捕捉设备122放置在镜子的驾驶员侧还可以帮助获得表示驾驶员的视场和/或视线的图像。
还可以使用图像获取单元120的图像捕捉设备的其它位置。例如,图像捕捉设备124可以位于车辆200的保险杠上或保险杠中。这样的位置尤其可以适用于具有宽视场的图像捕捉设备。位于保险杠的图像捕捉设备的视线可以与驾驶员的视线不同,并且因此,保险杠图像捕捉设备和驾驶员可能不总是看到相同的对象。图像捕捉设备(例如,图像捕捉设备122、124和126)还可以位于其它位置中。例如,图像捕捉设备可以位于车辆200的侧视镜中的一者或两者之上或之中、车辆200的车顶上、车辆200的引擎盖上、车辆200的后备箱上、车辆200的侧面上,安装在车辆200的任何车窗上、定位在车辆200的任何车窗的后面、或定位在车辆200的任何车窗的前面,以及安装在车辆200的前部和/或后部上的灯具中或附近等。
除了图像捕捉设备,车辆200还可以包括系统100的各种其它组件。例如,处理单元110可以被包括在车辆200上,与车辆的引擎控制单元(engine control unit,ECU)集成或分开。车辆200还可以配备有诸如GPS接收器的位置传感器130,并且还可以包括地图数据库160以及存储器单元140和150。
如早先讨论的,无线收发器172可以通过一个或多个网络(例如,蜂窝网络、因特网等)发送和/或接收数据。例如,无线收发器172可以将由系统100收集的数据上传到一个或多个服务器,并且从一个或多个服务器下载数据。经由无线收发器172,系统100可以接收,例如对存储在地图数据库160、存储器140和/或存储器150中存储的数据的周期性更新或按需求更新。类似地,无线收发器172可以将来自系统100的任何数据(例如,由图像获取单元120捕捉的图像、由位置传感器130或其它传感器、车辆控制系统接收的数据等)和/或由处理单元110处理的任何数据上传到一个或多个服务器。
系统100可以基于隐私等级设置将数据上传到服务器(例如,上传到云)。例如,系统100可以实施隐私等级设置,以规定或限制发送到服务器的、可以唯一地标识车辆和/或车辆的驾驶员/所有者的数据(包括元数据)的类型。这样的设置可以由用户经由例如无线收发器172来设置,可以由出厂默认设置、或由无线收发器172接收的数据来初始化。
在一些实施例中,系统100可以根据“高”隐私等级上传数据,并且在设定了设置的情况下,系统100可以发送数据(例如,与路途有关的位置信息、捕捉的图像等),而不带有任何关于具体车辆和/或驾驶员/所有者的细节。例如,当根据“高”隐私设置来上传数据时,系统100可以不包括车辆标识编号(vehicle identification number,VIN)或者车辆的驾驶员或所有者的名字,并且可以代替地发送数据(诸如,捕捉的图像和/或与路途有关的受限的位置信息)。
可以预期其它隐私等级。例如,系统100可以根据“中间”隐私等级向服务器发送数据,并且可以包括在“高”隐私等级下不包括的附加信息,诸如车辆的型号和/或模型和/或车辆类型(例如载客车辆、运动型多用途车辆、卡车等)。在一些实施例中,系统100可以根据“低”隐私等级上传数据。在“低”隐私等级设置下,系统100可以上传数据,并且包括足以唯一地标识具体车辆、所有者/驾驶员和/或车辆行驶过的部分或整个路途的信息。这样的“低”隐私等级数据可以包括以下中的一个或多个:例如VIN、驾驶员/所有者姓名、出发之前车辆的源点、车辆的期望目的地、车辆的型号和/或模型、车辆类型等。
图2A是与所公开的实施例一致的示例性车辆成像系统的图示性侧视图表示。图2B是图2A中所示的实施例的图示性顶视图图示。如图2B所示,所公开的实施例可以包括车辆200,该车辆200在其车体中包括系统100,该系统100具有位于车辆200的后视镜附近和/或靠近驾驶员的第一图像捕捉设备122、位于车辆200的保险杠区域(例如,保险杠区域210中的一个)之上或之中的第二图像捕捉设备124、以及处理单元110。
如图2C所示,图像捕捉设备122和124两者可以都位于车辆200的后视镜附近和/或靠近驾驶员。此外,尽管图2B和图2C示出了两个图像捕捉设备122和124,应理解的是,其它实施例可以包括多于两个图像捕捉设备。例如,在图2D和图2E中所示的实施例中,第一图像捕捉设备122、第二图像捕捉设备124和第三图像捕捉设备126被包括在车辆200的系统100中。
如图2D所示,图像捕捉设备122可以位于车辆200的后视镜附近和/或靠近驾驶员,并且图像捕捉设备124和126可以位于车辆200的保险杠区域(例如,保险杠区域210中的一个)之上或之中。并且如图2E所示,图像捕捉设备122、124和126可以位于车辆200的后视镜附近和/或靠近车辆200的驾驶席。所公开的实施例不限于图像捕捉设备的任何特定数量和配置,并且图像捕捉设备可以位于车辆200内或车辆200上的任何合适的位置中。
应理解的是,所公开的实施例不限于车辆,并且可以被应用在其它情景中。还应理解,所公开的实施例不限于车辆200的特定类型,并且可以适用于所有类型的车辆,包括汽车、卡车、拖车和其它类型的车辆。
第一图像捕捉设备122可以包括任何合适类型的图像捕捉设备。图像捕捉设备122可以包括光轴。在一个实例中,图像捕捉设备122可以包括具有全局快门的Aptina M9V024WVGA传感器。在其它实施例中,图像捕捉设备122可以提供1280×960像素的分辨率,并且可以包括滚动快门。图像捕捉设备122可以包括各种光学元件。在一些实施例中,可以包括一个或多个镜头,例如用于为图像捕捉设备提供期望的焦距和视场。在一些实施例中,图像捕捉设备122可以与6毫米镜头或12毫米镜头相关联。在一些实施例中,如图2D所示,图像捕捉设备122可以配置为捕捉具有期望的视场(FOV)202的图像。例如,图像捕捉设备122可以配置为具有诸如在40度至56度的范围内的常规FOV,包括46度FOV、50度FOV、52度FOV,或更大的FOV。可替代地,图像捕捉设备122可以配置为具有在23至40度的范围内的窄FOV,诸如28度FOV或36度FOV。此外,图像捕捉设备122可以配置为具有在100至180度的范围内的宽FOV。在一些实施例中,图像捕捉设备122可以包括广角保险杠相机或者具有高达180度的FOV的相机。在一些实施例中,图像捕捉设备122可以是具有约2∶1的高宽比(例如,H×V=3800×1900像素)、具有约100度水平FOV的7.2M(百万)像素图像捕捉设备。这样的图像捕捉设备可以被用来替代三个图像捕捉设备配置。由于显著的镜头失真,在图像捕捉设备使用径向对称镜头的实施方式中,这样的图像捕捉设备的垂直FOV可以显著地小于50度。例如,这样的镜头可以不是径向对称的,这将允许在100度水平FOV情况下垂直FOV大于50度。
第一图像捕捉设备122可以获取关于与车辆200相关联的场景的多个第一图像。可以获取多个第一图像中的每一个作为一系列图像扫描线,其可以使用滚动快门来捕捉。每个扫描线可以包括多个像素。
第一图像捕捉设备122可以具有与第一系列图像扫描线中的每一个的获取相关联的扫描速率。扫描速率可以指代,图像传感器可以以该扫描速率获取与在特定扫描线中包括的每个像素相关联的图像数据。
图像捕捉设备122、124和126可以包含任何合适的类型和数量的图像传感器,例如,包括CCD传感器或CMOS传感器等。在一个实施例中,CMOS图像传感器可以与滚动快门一起采用,使得一次一个地读取一行中的每个像素,并且行的扫描在逐行的基础上进行,直到已捕捉整个图像帧。在一些实施例中,可以相对于帧从顶部到底部顺序地捕捉行。
在一些实施例中,本文公开的图像捕捉设备中的一个或多个(例如,图像捕捉设备122、124和126)可以构成高分辨率成像器,并且可以具有大于5M像素、7M像素、10M像素或更大像素的分辨率。
滚动快门的使用可能导致不同行中的像素在不同的时间被曝光和捕捉,这可能引起所捕捉的图像帧中的歪斜和其它图像伪影。另一方面,当图像捕捉设备122配置为使用全局或同步快门操作时,所有像素可以以相同量的时间并且在共同曝光时段期间被曝光。结果,从采用全局快门的系统收集的帧中的图像数据表示在特定时间的整个FOV(诸如FOV202)的快照。相比之下,在滚动快门应用中,在不同的时间,帧中的每行被曝光并且数据被捕捉。因此,在具有滚动快门的图像捕捉设备中,移动对象可能出现失真。将在下面更详细地描述这种现象。
第二图像捕捉设备124和第三图像捕捉设备126可以是任何类型的图像捕捉设备。类似于第一图像捕捉设备122,图像捕捉设备124和126中的每一个可以包括光轴。在一个实施例中,图像捕捉设备124和126中的每一个可以包括具有全局快门的Aptina M9V024 WVGA传感器。可替代地,图像捕捉设备124和126中的每一个可以包括滚动快门。类似于图像捕捉设备122,图像捕捉设备124和126可以配置为包括各种镜头和光学元件。在一些实施例中,与图像捕捉设备124和126相关联的镜头可以提供FOV(诸如FOV 204和206),其等于或窄于与图像捕捉设备122相关联的FOV(诸如FOV 202)。例如,图像捕捉设备124和126可以具有40度、30度、26度、23度、20度或更小的FOV。
图像捕捉设备124和126可以获取关于与车辆200相关联的场景的多个第二图像和第三图像。可以获取多个第二和第三图像中的每一个作为第二和第三系列图像扫描线,其可以使用滚动快门来捕捉。每个扫描线或行可以具有多个像素。图像捕捉设备124和126可以具有与在第二系列和第三系列中包括的每个图像扫描线的获取相关联的第二扫描速率和第三扫描速率。
每个图像捕捉设备122、124和126可以放置在相对于车辆200的任何合适的位置和方向处。可以选择图像捕捉设备122、124和126的相对位置以帮助将从图像捕捉设备获取的信息融合在一起。例如,在一些实施例中,与图像捕捉设备124相关联的FOV(诸如FOV 204)可能部分地或完全地和与图像捕捉设备122相关联的FOV(例如FOV 202)以及与图像捕捉设备126相关联的FOV(例如FOV 206)重叠。
图像捕捉设备122、124和126可以位于车辆200上的任何合适的相对高度处。在一个实例中,在图像捕捉设备122、124和126之间可以存在高度差,其可以提供足够的视差信息以使能立体分析。例如,如图2A所示,两个图像捕捉设备122和124在不同的高度处。例如,在图像捕捉设备122、124和126之间还可以存在横向位移差,为处理单元110的立体分析给出了额外的视差信息。如图2C和图2D所示,横向位移的差异可以由dx表示。在一些实施例中,图像捕捉设备122、124和126之间可能存在前向或后向位移(例如,范围位移)。例如,图像捕捉设备122可以位于图像捕捉设备124和/或图像捕捉设备126之后0.5到2米或以上。这种类型的位移可以使得图像捕捉设备中的一个能够覆盖其它(一个或多个)图像捕捉设备的潜在盲点。
图像捕捉设备122可以具有任何合适的分辨率能力(例如,与图像传感器相关联的像素的数量),并且与图像捕捉设备122相关联的(一个或多个)图像传感器的分辨率可以比与图像捕捉设备124和126相关联的(一个或多个)图像传感器的分辨率更高、更低、或者与之相同。在一些实施例中,与图像捕捉设备122和/或图像捕捉设备124和126相关联的(一个或多个)图像传感器可以具有640×480、1024×768、1280×960的分辨率,或任何其它合适的分辨率。
帧速率(例如,在该速率下,图像捕捉设备获取一个图像帧的一组像素数据,然后继续捕捉与下一个图像帧相关联的像素数据)可以是可控的。与图像捕捉设备122相关联的帧速率可以比与图像捕捉设备124和126相关联的帧速率更高、更低或与之相同。与图像捕捉设备122、124和126相关联的帧速率可以取决于可能影响帧速率的定时的各种因素。例如,图像捕捉设备122、124和126中的一个或多个可以包括可选择的像素延迟时段,其在获取与图像捕捉设备122、124和/或126中的图像传感器的一个或多个像素相关联的图像数据之前或之后施加。通常,可以根据用于该设备的时钟速率来获取对应于每个像素的图像数据(例如,每个时钟周期一个像素)。此外,在包括滚动快门的实施例中,图像捕捉设备122、124和126中的一个或多个可以包括可选择的水平消隐时段,其在获取与图像捕捉设备122、124和/或126中的图像传感器的一行像素相关联的图像数据之前或之后施加。此外,图像捕捉设备122、124和126中的一个或多个可以包括可选择的垂直消隐时段,其在获取与图像捕捉设备122、124和126的图像帧相关联的图像数据之前或之后施加。
这些定时控制可以使能与图像捕捉设备122、124和126相关联的帧速率的同步,即便每个的线扫描率速率不同。此外,如将在下面更详细地讨论的,这些可选择的定时控制以及其它因素(例如,图像传感器分辨率、最大线扫描速率等)可以使能从图像捕捉设备122的FOV与图像捕捉设备124和126的一个或多个FOV重叠的区域的图像捕捉的同步,即便图像捕捉设备122的视场不同于图像捕捉设备124和126的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的一个或多个可以配置为从在车辆200前面、车辆200后面、车辆200的侧面、或其组合的环境获取图像数据。
此外,与每个图像捕捉设备122、124和/或126相关联的焦距可以是可选择的(例如,通过包括适当的镜头等),使得每个设备在相对于车辆200的期望的距离范围处获取对象的图像。例如,在一些实施例中,图像捕捉设备122、124和126可以获取离车辆几米之内的接近对象的图像。图像捕捉设备122、124和126还可以配置为获取离车辆更远的范围处(例如,25米、50米、100米、150米或更远)的对象的图像。此外,图像捕捉设备122、124和126的焦距可以被选择以使得一个图像捕捉设备(例如,图像捕捉设备122)可以获取相对靠近车辆(例如,在10米内或20米内的)对象的图像,而其它图像捕捉设备(例如,图像捕捉设备124和126)可以获取离车辆200较远的(例如,大于20米、50米、100米、150米等的)对象的图像。
根据一些实施例,一个或多个图像捕捉设备122、124和126的FOV可以具有广角。例如,具有140度的FOV可能是有利的,尤其是对于可以被用于捕捉车辆200附近的区域的图像的图像捕捉设备122、124和126。例如,图像捕捉设备122可以被用来捕捉车辆200的右侧或左侧的区域的图像,并且在这样的实施例中,可能期望图像捕捉设备122具有宽FOV(例如,至少140度)。
与每个图像捕捉设备122、124和126相关联的FOV可以取决于各自的焦距。例如,随着焦距增加,对应的视场减小。
图像捕捉设备122、124和126可以配置为具有任何合适的视场。在一个特定示例中,图像捕捉设备122可以具有46度的水平FOV,图像捕捉设备124可以具有23度的水平FOV,并且图像捕捉设备126可以具有在23度和46度之间的水平FOV。在另一实例中,图像捕捉设备122可以具有52度的水平FOV,图像捕捉设备124可以具有26度的水平FOV,并且图像捕捉设备126可以具有在26度和52度之间的水平FOV。在一些实施例中,图像捕捉设备122的FOV与图像捕捉设备124和/或图像捕捉设备126的FOV的比率可以从1.5到2.0变化。在其它实施例中,该比率可以在1.25与2.25之间变化。
系统100可以配置为使得图像捕捉设备122的视场至少部分地或完全地与图像捕捉设备124和/或图像捕捉设备126的视场重叠。在一些实施例中,系统100可以配置为使得图像捕捉设备124和126的视场例如落入(例如,窄于)图像捕捉设备122的视场并且与图像捕捉设备122的视场共享共同的中心。在其它实施例中,图像捕捉设备122、124和126可以捕捉相邻的FOV,或者可以在它们的FOV中具有部分重叠。在一些实施例中,图像捕捉设备122、124和126的视场可以对齐,以使得较窄FOV图像捕捉设备124和/或126的中心可以位于较宽FOV设备122的视场的下半部分中。
图2F是与所公开的实施例一致的示例性车辆控制系统的图示性表示。如图2F所指示的,车辆200可以包括油门调节系统220、制动系统230和转向系统240。系统100可以经过一个或多个数据链路(例如,用于传输数据的任何有线和/或无线链路)向油门调节系统220、制动系统230和转向系统240中的一个或多个提供输入(例如,控制信号)。例如,基于对由图像捕捉设备122、124和/或126获取的图像的分析,系统100可以向油门调节系统220、制动系统230和转向系统240中的一个或多个提供控制信号以导航车辆200(例如,通过引起加速、转向、车道变换等)。此外,系统100可以从油门调节系统220、制动系统230和转向系统240中的一个或多个接收输入,该输入指示车辆200的运行条件(例如,速度、车辆200是否正在制动和/或转向等)。以下结合图4至图7提供进一步的细节。
如图3A所示,车辆200还可以包括用于与车辆200的驾驶员或乘客进行交互的用户界面170。例如,车辆应用中的用户界面170可以包括触摸屏320、旋钮330、按钮340和麦克风350。车辆200的驾驶员或乘客还可以使用手柄(例如,位于车辆200的转向杆上或附近,包括例如转向信号手柄)、按钮(例如,位于车辆200的方向盘上)等与系统100交互。在一些实施例中,麦克风350可以定位为与后视镜310相邻。类似地,在一些实施例中,图像捕捉设备122可以位于靠近后视镜310。在一些实施例中,用户界面170还可以包括一个或多个扬声器360(例如,车辆音频系统的扬声器)。例如,系统100可以经由扬声器360提供各种通知(例如,警报)。
图3B至图3D是根据所公开的实施例的配置为位于后视镜(例如,后视镜310)后面并与车辆风挡相对的示例性相机安装370的图示。如图3B所示,相机安装370可以包括图像捕捉设备122、124和126。图像捕捉设备124和126可以位于遮光板380的后面,其中遮光板380可以相对于车辆风挡齐平(flush)并且包括薄膜和/或防反射材料的合成物。例如,遮光板380可被定位为使得该板相对于具有匹配斜面的车辆的风挡对齐。在一些实施例中,图像捕捉设备122、124和126中的每个可以位于遮光板380的后面,例如在图3D中所描绘的。所公开的实施例不限于图像捕捉设备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中的一个或多个发送控制信号)。此外,系统100可以分析所收集的数据,并基于对所收集的数据的分析向车辆乘员发出警告和/或警报。下面提供关于系统100提供的各种实施例的额外的细节。
前向多成像系统
如上所讨论的,系统100可以提供使用多相机系统的行驶辅助功能。多相机系统可以使用面向车辆的前方的一个或多个相机。在其它实施例中,多相机系统可以包括面向车辆的侧面或面向车辆的后面的一个或多个相机。在一个实施例中,例如系统100可以使用双相机成像系统,其中,第一相机和第二相机(例如,图像捕捉设备122和124)可以位于车辆(例如,车辆200)的前方和/或侧方处。
第一相机可以具有大于、小于、或部分重叠于第二相机的视场的视场。此外,第一相机可以连接到第一图像处理器以进行对由第一相机提供的图像的单目图像分析,并且第二相机可以连接到第二图像处理器以进行对由第二相机提供的图像的单目图像分析。第一和第二图像处理器的输出(例如,处理后的信息)可以被组合。在一些实施例中,第二图像处理器可以从第一相机和第二相机两者接收图像以执行立体分析。在另一个实施例中,系统100可以使用三相机成像系统,其中每个相机具有不同的视场。因此,这样的系统可以基于从位于车辆前方和侧方的不同距离处的对象导出的信息来做出决定。对单目图像分析的参考可以参考基于从单个视点(例如,从单个相机)捕捉的图像进行图像分析的实例。立体图像分析可以参考基于使用图像捕捉参数的一个或多个变化而捕捉的两个或更多个图像而进行图像分析的实例。例如,捕捉到的适用于执行立体图像分析的图像可以包括以下捕捉图像:从两个或更多个不同的位置、从不同的视场、使用不同的焦距、与视差信息一起等捕捉的图像。
例如,在一个实施例中,系统100可以使用图像捕捉设备122、124和126来实现三相机配置。在这样的配置中,图像捕捉设备122可以提供窄视场(例如,34度或从大约20度至45度的范围选择的其它值等),图像捕捉设备124可以提供宽视场(例如,150度或从大约100度至大约180度的范围选择的其它值),并且图像捕捉设备126可以提供中间的视场(例如,46度或从大约35度至大约60度的范围选择的其它值)。在一些实施例中,图像捕捉设备126可以作为主相机或基本相机。图像捕捉设备122、124和126可以被定位在后视镜310的后面并且基本上并排定位(例如,相距6厘米)。此外,在一些实施例中,如以上所讨论的,图像捕捉设备122、124和126中的一个或多个可以被安装在与车辆200的风挡齐平的遮光板380的后面。这样的遮挡可以用于最小化来自汽车内部的任何反射对图像捕捉设备122、124和126的影响。
在另一实施例中,如以上结合图3B和3C所讨论的,宽视场相机(例如,上述示例中的图像捕捉设备124)可以被安装得低于窄视场相机和主视场相机(例如,上述的示例中的图像设备122和126)。这样的配置可以提供来自宽视场相机的自由视线。为减少反射,相机可以被安装得靠近车辆200的风挡,并且在相机上可以包括偏振器以衰减(damp)反射光。
三相机系统可以提供某些性能特性。例如,一些实施例可以包括通过一个相机基于来自另一相机的检测结果来验证对象的检测的能力。在上面讨论的三相机配置中,处理单元110可以包括例如三个处理设备(例如,三个如以上所讨论的EyeQ系列处理器芯片),其中每个处理设备专用于处理由图像捕捉设备122、124和126中的一个或多个捕捉的图像。
在三相机系统中,第一处理设备可以从主相机和窄视场相机两者接收图像,并且执行对窄FOV相机的视觉处理,例如以检测其它车辆、行人、车道标记、交通标志、交通灯以及其它道路对象。另外,第一处理设备可以计算来自主相机和窄相机的图像之间的像素的视差,并且创建车辆200的环境的3D重建。然后第一处理设备可以组合3D重建与3D地图数据、或组合3D重建与基于来自另一相机的信息计算出的3D信息。
第二处理设备可以从主相机接收图像,并执行视觉处理以检测其它车辆、行人、车道标记、交通标志、交通灯和其它道路对象。此外,第二处理设备可以计算相机位移,并且基于该位移计算连续图像之间的像素的视差,并创建场景的3D重建(例如,运动恢复结构(structure from motion))。第二处理设备可以将基于3D重建的运动恢复结构发送到第一处理设备以与立体3D图像进行组合。
第三处理设备可以从宽FOV相机接收图像,并处理该图像以检测车辆、行人、车道标记、交通标志、交通灯和其它道路对象。第三处理设备还可以执行额外的处理指令来分析图像,以识别图像中移动的对象,诸如正改变车道的车辆、行人等。
在一些实施例中,使得基于图像的信息的流被独立地捕捉和处理可以提供用于在系统中提供冗余的机会。这样的冗余可以包括例如使用第一图像捕捉设备和从该设备处理的图像来验证和/或补充通过从至少第二图像捕捉设备捕捉和处理图像信息而获得的信息。
在一些实施例中,系统100将两个图像捕捉设备(例如,图像捕捉设备122和124)用在为车辆200提供导航辅助中,并使用第三图像捕捉设备(例如,图像捕捉设备126)来提供冗余并验证对从其它两个图像捕捉设备接收到的数据的分析。例如,在这样的配置中,图像捕捉设备122和124可以提供用于通过系统100进行立体分析的图像以导航车辆200,而图像捕捉设备126可以提供用于通过系统100进行单目分析的图像以提供对基于从图像捕捉设备122和/或图像捕捉设备124捕捉的图像而获得的信息的冗余和验证。即,图像捕捉设备126(和对应的处理设备)可以被视为提供用于提供对从图像捕捉设备122和124得到的分析的检查的冗余子系统(例如,以提供自动紧急制动(AEB)系统)。此外,在一些实施例中,可基于从一个或多个传感器接收的信息(例如,雷达、激光雷达、声学传感器、从车辆外部的一个或多个收发器接收的信息等)来补充冗余和接收到的数据的验证。
本领域的技术人员将认识到,上述相机配置、相机放置、相机数目、相机位置等仅为示例。在不脱离所公开的实施例的范围下,这些组件和关于整个系统描述的其它组件可以在各种不同的配置中被组装和使用。关于使用多相机系统以提供驾驶员辅助和/或自主车辆功能的进一步的细节如下。
图4是存储器140和/或存储器150的示例性功能性框图,该存储器140和/或存储器150可以被储存/被编程指令以用于执行与所公开的实施例一致的一个或多个操作。尽管以下指代存储器140,但是本领域技术人员将认识到指令可以储存在存储器140和/或存储器150中。
如图4所示,存储器140可以储存单目图像分析模块402、立体图像分析模块404、速度和加速度模块406以及导航响应模块408。所公开的实施例不限于存储器140的任何特定配置。此外,应用处理器180和/或图像处理器190可以执行在存储器140中包括的任何模块402、404、406和408中所储存的指令。本领域技术人员将理解,在以下讨论中对处理单元110的参考可以单独地或共同地指代应用处理器180和图像处理器190。因此,任何以下处理的步骤可以由一个或多个处理设备来执行。
在一个实施例中,单目图像分析模块402可以储存指令(诸如计算机视觉软件),该指令在由处理单元110执行时,执行对由图像捕捉设备122、124和126中的一个获取的一组图像的单目图像分析。在一些实施例中,处理单元110可以将来自一组图像的信息与额外的感觉信息(例如,来自雷达、激光雷达等的信息)组合以进行单目图像分析。如以下结合图5A至图5D所描述的,单目图像分析模块402可以包括用于在该组图像内检测一组特征的指令,该特征诸如车道标记、车辆、行人、道路标志、高速公路出口坡道、交通灯、危险对象以及任何其它与车辆的环境相关联的特征。基于该分析,系统100(例如,经由处理单元110)可以引起车辆200中的一个或多个导航响应,诸如转向、车道变换、加速度的变化等,如以下结合导航响应模块408所讨论的。
在一个实施例中,立体图像分析模块404可以储存指令(诸如,计算机视觉软件),该指令在由处理单元110执行时,执行对由从任意图像捕捉设备122、124和126中选择的图像捕捉设备的组合而获取的第一组和第二组图像的立体图像分析。在一些实施例中,处理单元110可以将来自第一组和第二组图像的信息与额外的感觉信息(例如,来自雷达的信息)组合以进行立体图像分析。例如,立体图像分析模块404可以包括用于基于由图像捕捉设备124获取的第一组图像和由图像捕捉设备126获取的第二组图像执行立体图像分析的指令。如下面结合图6所描述的,立体图像分析模块404可以包括用于检测第一组和第二组图像内的一组特征的指令,该特征诸如车道标记、车辆、行人、道路标志、高速公路出口坡道、交通灯、危险对象等。基于该分析,处理单元110可以引起车辆200中的一个或多个导航响应,诸如转向、车道变换、加速度的变化等,如以下结合导航响应模块408所讨论的。此外,在一些实施例中,立体图像分析模块404可以实现与经训练的系统(诸如神经网络或深度神经网络)或未经训练的系统相关联的技术,诸如可以被配置为使用计算机视觉算法来检测和/或标记从中捕捉并处理感觉信息的环境中的对象的系统。在一个实施例中,立体图像分析模块404和/或其它图像处理模块可以被配置为使用经训练和未经训练系统的组合。
在一个实施例中,速度和加速度模块406可以储存被配置为分析从车辆200中的一个或多个计算和机电设备接收的数据的软件,该数据被配置为引起车辆200的速度和/或加速度的变化。例如,处理单元110可以执行与速度和加速度模块406相关联的指令,以基于从执行单目图像分析模块402和/或立体图像分析模块404导出的数据来计算车辆200的目标速度。这样的数据可以包括例如目标位置,速度和/或加速度,车辆200相对于附近车辆、行人或道路对象的位置和/或速度,车辆200相对于道路的车道标记等的位置信息等。此外,处理单元110可以基于感觉输入(例如,来自雷达的信息)和来自车辆200的其它系统(诸如油门调节系统220、制动系统230和/或转向系统240)的输入来计算车辆200的目标速度。基于计算出的目标速度,处理单元110可以向车辆200的油门调节系统220、制动系统230和/或转向系统的240发送电信号,以通过例如物理地压下制动器或松开车辆200的加速器来触发速度和/或加速度的变化。
在一个实施例中,导航响应模块408可以储存软件,该软件可由处理单元110执行以基于从执行单目图像分析模块402和/或立体图像分析模块404导出的数据来确定期望的导航响应。这样的数据可以包括与附近的车辆、行人和道路对象相关联的位置和速度信息、车辆200的目标位置信息等。此外,在一些实施例中,导航响应可以(部分地或完全地)基于地图数据、车辆200的预定位置、和/或车辆200与从单目图像分析模块402和/或立体图像分析模块404的执行检测到的一个或多个对象之间的相对速度或相对加速度。导航响应模块408还可以基于感觉输入(例如,来自雷达的信息)和来自车辆200的其它系统(诸如车辆200的油门调节系统220、制动系统230和转向系统240)的输入确定期望的导航响应。基于期望的导航响应,处理单元110可以向车辆200的油门调节系统220、制动系统230和转向系统240发送电信号,以通过例如转动车辆200的方向盘来实现预定角度的旋转,从而触发期望的导航响应。在一些实施例中,处理单元110可以使用导航响应模块408的输出(例如,期望的导航响应)作为执行速度和加速度模块406的输入,以用于计算车辆200的速度的变化。
此外,本文公开的任何模块(例如,模块402、404和406)可以实现与经训练的系统(诸如神经网络或深度神经网络)或未经训练的系统相关联的技术。
图5A是示出与所公开的实施例一致的用于基于单目图像分析来引起一个或多个导航响应的示例性过程500A的流程图。在步骤510,处理单元110可以经由在处理单元110和图像获取单元120之间的数据接口128接收多个图像。例如,在图像获取单元120中包括的相机(诸如具有视场202的图像捕捉设备122)可以捕捉车辆200的前方(例如,或者车辆的侧方或后方)区域的多个图像并经过数据连接(例如,数字、有线、USB、无线、蓝牙等)将它们发送到处理单元110。在步骤520,处理单元110可以执行单目图像分析模块402来分析该多个图像,如以下结合图5B至5D进一步详细描述的。通过执行该分析,处理单元110可以检测在该组图像内的一组特征,诸如车道标记、车辆、行人、道路标志、高速公路出口坡道、交通灯等。
处理单元110还可以在步骤520执行单目图像分析模块402来检测各种道路危险,诸如例如卡车轮胎的部件、倒下的道路标志、松散货物、小动物等。道路危险可能在结构、形状、大小和颜色上变化,这可能使这样的危险的检测更加困难。在一些实施例中,处理单元110可以执行单目图像分析模块402来对多个图像进行多帧分析以检测道路危险。例如,处理单元110可以估计连续图像帧之间的相机运动,并计算帧之间的像素中的视差来构建道路的3D地图。然后,处理单元110可以使用该3D地图来检测路面、以及存在于路面上的危险。
在步骤530,处理单元110可以执行导航响应模块408,以基于在步骤520中执行的分析和如以上结合图4所描述的技术而引起车辆200中的一个或多个导航响应。导航响应可以包括例如转向、车道变换、加速度变化等。在一些实施例中,处理单元110可以使用从执行速度和加速度模块406得到的数据来引起该一个或多个导航响应。此外,多个导航响应可以同时地、按照顺序地、或以其任何组合而发生。例如,处理单元110可以通过例如按照顺序地向车辆200的转向系统240和油门调节系统220传输控制信号,引起车辆200变换一个车道然后加速。可替代地,处理单元110可以通过例如同时向车辆200的制动系统230和转向系统240传输控制信号,引起车辆200制动同时变换车道。
图5B是示出与所公开的实施例一致的用于在一组图像中检测一个或多个车辆和/或行人的示例性过程500B的流程图。处理单元110可以执行单目图像分析模块402来实现过程500B。在步骤540,处理单元110可以确定表示可能的车辆和/或行人的一组候选对象。例如,处理单元110可以扫描一个或多个图像,将该图像与一个或多个预定模式比较,并且在每个图像内识别可能包含感兴趣的对象(例如,车辆、行人或其部分)的可能的位置。预定模式可以以实现高“伪命中”率和低“漏掉”率的这样的方式来设计。例如,处理单元110可以将低的相似性的阈值用在预定模式以将候选对象识别为可能的车辆或行人。这样做可以允许处理单元110减少漏掉(例如,未识别出)表示车辆或行人的候选对象的可能性。
在步骤542,处理单元110可以基于分类标准过滤该组候选对象以排除某些候选(例如,不相关或较不相关的对象)。这样的标准可以从与储存在数据库(例如,储存在存储器140中的数据库)中的对象类型相关联的各种属性得到。属性可以包括对象形状、尺寸、纹理、位置(例如,相对于车辆200)等。因此,处理单元110可以使用一组或多组标准来从该组候选对象中拒绝伪候选。
在步骤544,处理单元110可以分析多帧图像,以确定在该组候选对象中的对象是否表示车辆和/或行人。例如,处理单元110可以跨连续帧来跟踪检测到的候选对象并累积与检测到的对象相关联的逐帧数据(例如,大小、相对于车辆200的位置等)。此外,处理单元110可以估计检测到的对象的参数并将该对象的逐帧位置数据与预测的位置比较。
在步骤546,处理单元110可以对于检测到的对象构建一组测量。这样的测量可以包括例如与检测到的对象相关联的位置、速度和加速度值(相对于车辆200)。在一些实施例中,处理单元110可以基于使用一系列基于时间的观察的诸如卡尔曼滤波器或线性二次估计(LQE)的估计技术和/或基于对于不同对象类型(例如,汽车、卡车、行人、自行车、道路标志等)可用的建模数据,来构建该测量。卡尔曼滤波器可以基于对象的比例的测量,其中该比例测量与要碰撞的时间(例如,车辆200到达对象的时间量)成比例。因此,通过执行步骤540至546,处理单元110可以识别在该组捕捉图像内出现的车辆和行人,并得到与该车辆和行人相关联的信息(例如,位置、速度、大小)。基于该识别和所导出的信息,处理单元110可以引起车辆200中的一个或多个导航响应,如以上结合图5A所描述的。
在步骤548,处理单元110可以执行对一个或多个图像的光流分析,以减少检测到“伪命中”和漏掉表示车辆或行人的候选对象的可能性。光流分析可以指,例如在一个或多个图像中分析相对于车辆200的、与其它车辆和行人相关联的并且区别于路面运动的运动模式。处理单元110可以通过跨越在不同时间捕捉到的多个图像帧观察对象的不同位置,来计算候选对象的运动。处理单元110可以使用该位置和时间值作为对用于计算候选对象的运动的数学模型的输入。因此,光流分析可以提供检测车辆200附近的车辆和行人的另一种方法。处理单元110可以结合步骤540至546执行光流分析,以提供检测车辆和行人的冗余,并提高系统100的可靠性。
图5C是示出与所公开的实施例一致的用于在一组图像中检测道路标记和/或车道几何形状信息的示例性过程500C的流程图。处理单元110可以执行单目图像分析模块402来实现处理500C。在步骤550,处理单元110可以通过扫描一个或多个图像来检测一组对象。为了检测车道标记、车道几何信息以及其它相关的道路标记的段(segment),处理单元110可以过滤该组对象以排除那些被确定为不相关的(例如,小坑洼、小石块等)。在步骤552,处理单元110可以将在步骤550中检测到的属于相同的道路标记或车道标记的段分组在一起。基于该分组,处理单元110可以产生表示所检测到的段的模型,诸如数学模型。
在步骤554,处理单元110可以构建与所检测的段相关联的一组测量。在一些实施例中,处理单元110可以创建所检测的段从图像平面到现实世界平面上的投影。该投影可以使用具有与诸如所检测的道路的位置、斜率、曲率和曲率导数之类的物理属性对应的系数的三次多项式来表征。在产生该投影中,处理单元110可以考虑路面的变化、以及与车辆200相关联的俯仰(pitch)率和滚转(roll)率。此外,处理单元110可以通过分析出现在路面上的位置和运动线索来对道路高程进行建模。此外,处理单元110可以通过跟踪一个或多个图像中的一组特征点来估计与车辆200相关联的俯仰率和滚转率。
在步骤556,处理单元110可以通过例如跨连续图像帧跟踪所检测到的段并累积与检测到的段相关联的逐帧数据来执行多帧分析。由于处理单元110执行多帧分析,在步骤554中构建的该组测量可以变得更可靠并且与越来越高的置信度水平相关联。因此,通过执行步骤550、552、554和556,处理单元110可以识别在该组捕捉图像中出现的道路标记并得到车道几何信息。基于该识别和所导出的信息,处理单元110可以引起车辆200中的一个或多个导航响应,如以上结合图5A所描述的。
在步骤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附近出现的车道之间的对应性。
在步骤564,随着车辆200接近交叉口,处理单元110可以更新与所分析的交叉口几何形状和所检测到的交通灯相关联的置信度水平。例如,被估计为出现在交叉口处的交通灯的数量与实际出现在交叉口处的交通灯的数量比较可能影响置信度水平。因此,基于该置信度水平,处理单元110可以将控制委托给车辆200的驾驶员以便改进安全条件。通过进行步骤560、562和564,处理单元110可以识别出现在该组捕捉图像内的交通灯,并分析交叉口几何形状信息。基于该识别和分析,处理单元110可以引起车辆200中的一个或多个导航响应,如以上结合图5A所描述的。
图5E是示出了与所公开的实施例一致的、用于基于车辆路径引起车辆中的一个或多个导航响应的示例处理500E的流程图。在步骤570,处理单元110可以构建与车辆200相关联的初始车辆路径。车辆路径可以使用以坐标(x,z)表达的一组点来表示,并且该组点中两个点之间的距离di可以落入1至5米的范围中。在一个实施例中,处理单元110可以使用诸如左道路多项式和右道路多项式的两个多项式来构建初始车辆路径。处理单元110可以计算该两个多项式之间的几何中点,并且将在得到的车辆路径中包括的每个点偏移预定的偏移(例如,智能车道偏移),如果有的话(零偏移可以对应于在车道的中间行驶)。该偏移可以在垂直于在车辆路径中的任何两点之间的线段的方向上。在另一个实施例中,处理单元110可以使用一个多项式和估计的车道宽度,来将车辆路径的每个点偏移估计的车道宽度的一半加上预定偏移(例如,智能车道偏移)。
在步骤572,处理单元110可以更新在步骤570构建的车辆路径。处理单元110可以使用更高的分辨率来重建在步骤570构建的车辆路径,以使得表示车辆路径的该组点中两个点之间的距离dk小于上述距离di。例如,该距离dk可以落入0.1至0.3米的范围中。处理单元110可以使用抛物线样条算法(parabolic spline algorithm)重建车辆路径,这可以产生对应于车辆路径的总长度的累积距离向量S(即,基于表示车辆路径的该组点)。
在步骤574,处理单元110可以基于在步骤572构建的更新的车辆路径来确定前视点(look-ahead point)(以坐标表达为(x1,z1))。处理单元110可以从累积距离向量S提取前视点,并且该前视点可以与前视距离和前视时间相关联。前视距离可以具有范围为从10米至20米的下限,可以被计算为车辆200的速率和前视时间的乘积。例如,随着车辆200的速率下降,前视距离也可以减小(例如,直到它到达下限)。前视时间的范围可以从0.5到1.5秒,可以与关联于引起车辆200中的导航响应的诸如航向误差(heading error)跟踪控制环路的一个或多个控制环路的增益成反比。例如,该航向误差跟踪控制环路的增益可以取决于横摆角速率环路、转向致动器环路、汽车横向动力学等的带宽。因此,航向误差跟踪控制环路的增益越高,前视时间越短。
在步骤576,处理单元110可以基于在步骤574中确定的前视点来确定航向误差和横摆角速率命令。处理单元110可以通过计算前视点的反正切,例如arctan(x1,z1)来确定航向误差。处理单元110可以将横摆角速率命令确定为航向误差和高水平控制增益的乘积。如果前视距离不在下限处,则高水平控制增益可以等于:(2/前视时间)。否则,高水平控制增益可以等于:(2*车辆200的速率/前视距离)。
图5F是示出了与所公开的实施例一致的用于确定前方车辆是否正在改变车道的示例处理500F的流程图。在步骤580,处理单元110可以确定与前方车辆(例如,在车辆200前方行驶的车辆)相关联的导航信息。例如,处理单元110可以使用以上结合图5A和图5B所描述的技术来确定前方车辆的位置、速度(例如,方向和速率)和/或加速度。处理单元110还可以使用以上结合图5E所描述的技术来确定一个或多个道路多项式、前视点(与车辆200相关联)和/或追踪轨迹(snail trail)(例如,描述前方车辆所采取的路径的一组点)。
在步骤582,处理单元110可以分析在步骤580中确定的导航信息。在一个实施例中,处理单元110可以计算追踪轨迹和道路多项式之间的距离(例如,沿着该轨迹)。如果沿着该轨迹的这个距离的变化(variance)超过预定的阈值(例如,在直路上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可以确定前方车辆很可能正在改变车道。在前方车辆的位置是使得在前方车辆的前方检测到另一车辆并且这两个车辆的追踪轨迹不平行的情况下,处理单元110可以确定(较近的)前方车辆很可能正在改变车道。
在步骤584,处理单元110可以基于在步骤582进行的分析确定前方车辆200是否正在改变车道。例如,处理单元110可以基于在步骤582执行的各个分析的加权平均来做出该确定。在这样的方案下,例如,由处理单元110基于特定类型的分析做出的前方车辆很可能正在改变车道的决定可以被分配值“1”(以及“0”用来表示前方车辆不太可能正在改变车道的确定)。在步骤582中执行的不同分析可以被分配不同的权重,并且所公开的实施例不限于分析和权重的任何特定组合。
图6是示出了与所公开的实施例一致的用于基于立体图像分析引起一个或多个导航响应的示例处理600的流程图。在步骤610,处理单元110可以经由数据接口128接收第一和第二多个图像。例如,在图像获取单元120(诸如具有视场202和204的图像捕捉设备122和124)中包括的相机可以捕捉在车辆200前方的区域的第一和第二多个图像,并经过数字连接(例如,USB、无线、蓝牙等)将它们传输到处理单元110。在一些实施例中,处理单元110可以经由两个或更多个数据接口接收该第一和第二多个图像。所公开的实施例不限于任何特定的数据接口配置或协议。
在步骤620,处理单元110可以执行立体图像分析模块404来执行对第一和第二多个图像的立体图像分析,以创建在车辆前方的道路的3D地图并检测图像内的特征,诸如车道标记、车辆、行人、道路标志、高速公路出口坡道、交通灯、道路危险等。立体图像分析可以以类似于以上结合图5A-图5D描述的步骤的方式来执行。例如,处理单元110可以执行立体图像分析模块404以在第一和第二多个图像内检测候选对象(例如,车辆、行人、道路标记、交通灯、道路危险等),基于各种标准过滤掉候选对象的子集,并对剩余的候选对象执行多帧分析、构建测量、并确定置信度水平。在执行上述步骤中,处理单元110可以考虑来自第一和第二多个图像二者的信息,而不是来自单独一组图像的信息。例如,处理单元110可以分析出现在第一和第二多个图像二者中的候选对象的像素级数据(或来自捕捉图像的两个流中的其它数据子集)的差异。作为另一示例,处理单元110可以通过观察候选对象在多个图像的一个中出现而未在另一个中出现,或相对于可能相对于出现在两个图像流中的对象而存在的其它差异,来估计候选对象(例如,相对于车辆200)的位置和/或速度。例如,可以基于与出现在图像流中的一个或两者中的对象相关联的轨迹、位置、移动特性等特征,来确定相对于车辆200的位置、速度和/或加速度。
在步骤630,处理单元110可以执行导航响应模块408,以基于在步骤620中执行的分析和如以上结合图4所描述的技术而引起车辆200中的一个或多个导航响应。导航响应可以包括例如转向、车道变换、加速度的变化、速度的变化、制动等。在一些实施例中,处理单元110可以使用从执行速度和加速度模块406得到的数据来引起该一个或多个导航响应。此外,多个导航响应可以同时地、按照顺序地、或以其任何组合而发生。
图7是示出与所公开的实施例一致的用于基于三组图像的分析来引起一个或多个导航响应的示例性过程700的流程图。在步骤710,处理单元110可以经由数据接口128接收第一、第二和第三多个图像。例如,在图像获取单元120(诸如具有视场202、204和206的图像捕捉设备122、124和126)中包括的相机可以捕捉在车辆200前方和/或侧方的区域的第一、第二和第三多个图像,并且经过数字连接(例如,USB、无线、蓝牙等)将它们传输到处理单元110。在一些实施例中,处理单元110可以经由三个或更多个数据接口接收第一、第二和第三多个图像。例如,图像捕捉设备122、124、126的每个可以具有用于向处理单元110传送数据的相关联的数据接口。所公开的实施例不限于任何特定的数据接口配置或协议。
在步骤720,处理单元110可以分析该第一、第二和第三多个图像以检测图像内的特征,诸如车道标记、车辆、行人、道路标志、高速公路出口坡道、交通灯、道路危险等。该分析可以以类似于以上结合图5A-图5D和图6所描述的步骤的方式来进行。例如,处理单元110可以对第一、第二和第三多个图像的每个执行单目图像分析(例如,经由单目图像分析模块402的执行以及基于以上结合图5A-图5D所描述的步骤)。可替代地,处理单元110可对第一和第二多个图像、第二和第三多个图像、和/或第一和第三多个图像执行立体图像分析(例如,经由立体图像分析模块404的执行以及基于以上结合图6所描述的步骤)。与对第一、第二和/或第三多个图像的分析相对应的处理后的信息可以进行组合。在一些实施例中,处理单元110可以执行单目和立体图像分析的组合。例如,处理单元110可以对第一多个图像执行单目图像分析(例如,经由单目图像分析模块402的执行)并且对第二和第三多个图像执行立体图像分析(例如,经由立体图像分析模块404的执行)。图像捕捉设备122、124和126的配置-包括它们各自的位置和视场202、204和206-可以影响对第一、第二和第三多个图像进行的分析的类型。所公开的实施例不限于图像捕捉设备122、124和126的特定配置或对第一、第二和第三多个图像进行的分析的类型。
在一些实施例中,处理单元110可以基于在步骤710和720所获取和分析的图像对系统100执行测试。这样的测试可以提供对于图像获取设备122、124和126的某些配置的系统100的整体性能的指示符。例如,处理单元110可以确定“伪命中”(例如,系统100不正确地确定车辆或行人的存在的情况)和“漏掉”的比例。
在步骤730,处理单元110可以基于从第一、第二和第三多个图像中的两个得到的信息引起车辆200中的一个或多个导航响应。对第一、第二和第三多个图像中的两个的选择可以取决于各种因素,诸如例如在多个图像的每个中检测到的对象的数量、类型和大小。处理单元110还可以基于图像质量和分辨率、图像中反映的有效视场、捕捉的帧的数量、一个或多个感兴趣的对象实际出现在帧中的程度(例如,其中出现有对象的帧的百分比、出现在每个这样的帧中的对象的比例)等进行选择。
在一些实施例中,处理单元110可以通过确定从一个图像源得到的信息与从其它图像源得到的信息的相一致的程度,对从第一、第二和第三多个图像中的两个得到的信息进行选择。例如,处理单元110可以将从图像捕捉设备122、124和126的每个得到的处理后的信息组合(无论通过单目分析、立体分析、还是两者的任意组合),并确定在从图像捕捉设备122、124和126的每个捕捉到的图像之间相一致的可视指示符(例如,车道标记、检测到的车辆及其位置和/或路径、检测到的交通灯等)。处理单元110还可以排除在捕捉的图像之间不一致的信息(例如,正改变车道的车辆、指示车辆太靠近车辆200的车道模型等)。因此,处理单元110可以基于对相一致和不一致的信息的确定,来选择从第一、第二和第三多个图像的两个得到的信息。
导航响应可以包括例如转向、车道变换、加速度变化等。处理单元110可以基于在步骤720所执行的分析和如以上结合图4所描述的技术引起一个或多个导航响应。处理单元110还可以使用从速度和加速度模块406的执行得到的数据引起一个或多个导航响应。在一些实施例中,处理单元110可以基于在车辆200与在第一、第二和第三多个图像的任一者内检测到的对象之间的相对位置、相对速度和/或相对加速度来引起一个或多个导航响应。多个导航响应可以同时地、按顺序地或以其任意组合而发生。
对捕捉的图像的分析可以允许稀疏地图模型的生成和使用以进行自主车辆导航。此外,对捕捉的图像的分析可以允许使用识别出的车道标记来定位自主车辆。下面将参考图8-17讨论用于基于对捕捉的图像的一个或多个特定分析来检测特定特性以及用于使用稀 疏地图模型来导航自主车辆的实施例。
用于自主车辆导航的稀疏道路模型
在一些实施例中,所公开的系统和方法可以使用稀疏地图以进行自主车辆导航。具体地,稀疏地图可以用于沿着道路段的自主车辆导航。例如,稀疏地图可以提供足够的信息以用于导航自主车辆而无需储存和/或更新大量数据。如下面进一步详细讨论的,自主车辆可以基于一个或多个储存的轨迹使用稀疏地图来导航一条或多条道路。
用于自主车辆导航的稀疏地图
在一些实施例中,所公开的系统和方法可以生成稀疏地图以进行自主车辆导航。例如,稀疏地图可以提供足够的用于导航的信息,而无需过多的数据储存或数据传输速率。如下面进一步详细讨论的,车辆(可以是自主车辆)可以使用稀疏地图来导航一条或多条道路。例如,在一些实施例中,稀疏地图可以包括与道路和沿道路的潜在地标有关的数据,该数据不但对于车辆导航可能是足够的,还呈现出小的数据足迹。例如,与包括详细地图信息(例如,沿道路收集的图像数据)的数字地图相比,下面详细描述的稀疏数据地图可以需要显著更少的储存空间和数据传输带宽。
例如,稀疏数据地图可以储存沿道路的优选车辆路径的三维多项式表示,而并非储存道路段的详细表示。这些路径可能需要非常少的数据储存空间。此外,在所描述的稀疏数据地图中,可以识别地标并将其包括在稀疏地图道路模型中以帮助导航。这些地标可以以适合于使能车辆导航的任何间距定位,但是在一些情况下,不需要以高密度和短间距识别这些地标并将其包括在模型中。相反,在一些情况下,基于间隔至少50米、至少100米、至少500米、至少1公里或至少2公里的地标进行导航是可能的。如将在其它部分中更详细地讨论的,可以基于由配备有各种传感器和设备(诸如图像捕捉设备、全球定位系统传感器、运动传感器等)的车辆在所述车辆沿着道路行驶时收集或测量的数据来生成稀疏地图。在一些情况下,可以基于一个或多个车辆在沿着特定道路的多个驾驶期间收集的数据来产生稀疏地图。使用一个或多个车辆的多个驾驶生成稀疏地图可以称为“众包(crowdsourcing)”稀疏地图。
与公开的实施例一致,自主车辆系统可以使用稀疏地图以进行导航。例如,所公开的系统和方法可以分配稀疏地图以生成用于自主车辆的道路导航模型,并且可以使用稀疏地图和/或所生成的道路导航模型沿着道路段来导航自主车辆。与本公开一致的稀疏地图可以包括一个或多个三维轮廓(contour),其可以表示自主车辆在其沿着相关联的道路段移动时可以遍历的预定轨迹。
与本公开一致的稀疏地图还可以包括表示一个或多个道路特征的数据。这样的道路特征可以包括辨识出的地标、道路签名分布(profile)以及在导航车辆中有用的任何其它道路相关特征。与本公开一致的稀疏地图可以基于稀疏地图中包括的相对少量的数据来使能车辆的自主导航。例如,除了包括道路的详细表示(诸如道路边缘、道路曲率、与道路段相关联的图像或详述与道路段相关联的其它物理特征的数据)之外,稀疏地图的公开实施例可能需要相对较少的储存空间(并且当稀疏地图的一部分被传输到车辆时,也需要相对较少的带宽),但是仍然可以充分地提供进行自主车辆导航。在一些实施例中,可以通过储存需要少量数据但仍能够进行自主导航的道路相关元素的表示,来实现所公开的稀疏地图的小数据足迹,这将在下面进一步详细讨论。
例如,所公开的稀疏地图不是储存道路的各个方面的详细表示,而是可以储存车辆可以沿着道路行驶的一个或多个轨迹的多项式表示。因此,并非储存(或必须传输)有关道路的物理性质的细节以使能沿道路的导航,而是使用所公开的稀疏地图,在一些情况下,可以沿着特定的道路段导航车辆而不必解释道路的物理方面,而是通过将其行驶路径与沿着特定道路段的轨迹(例如多项式样条)对齐。以这种方式,可以主要基于所储存的轨迹(例如,多项式样条)来导航车辆,该轨迹可能比涉及储存道路图像、道路参数、道路布局等的方法需要更少的储存空间。
除了所储存的沿道路段的轨迹的多项式表示之外,所公开的稀疏地图还可以包括可以表示道路特征的小数据对象。在一些实施例中,小数据对象可以包括数字签名,其从由沿道路段行驶的车辆上的传感器(例如,相机或其它传感器,诸如悬架传感器)获得的数字图像(或数字信号)导出。相对于由传感器获取的信号,数字签名可以具有减小的大小。在一些实施例中,数字签名可以被创建为与分类器功能兼容,该分类器功能被配置为例如在随后的行驶期间从由传感器获取的信号中检测并识别道路特征。在一些实施例中,可以创建数字签名,使得数字签名具有尽可能小的足迹,同时保留基于由在随后的时间沿相同道路段行驶的车辆上的相机捕捉的道路特征的图像(或由传感器产生的数字信号,如果所储存的签名不是基于图像和/或包括其它数据),而使道路特征与所储存的签名相关或匹配的能力。
在一些实施例中,数据对象的大小可以进一步与道路特征的唯一性相关联。例如,对于可由车辆上的相机检测到的道路特征,并且在车辆上的相机系统耦合到能够将与该道路特征相对应的图像数据区分为与特定类型的道路特征(例如道路标志)相关联的分类器的情况下,以及在这样的道路标志在该区域中是局部唯一(例如,附近没有相同的道路标志或相同类型的道路标志)的情况下,储存指示道路特征的类型及其位置的数据可能就足够了。
如将在下面进一步详细讨论的,道路特征(例如,沿着道路段的地标)可以被储存为可以以相对较少的字节表示道路特征的小数据对象,同时提供足够的信息以用于辨识和将这样的特征用于导航。在一个示例中,道路标志可以被识别为可以基于其进行车辆导航的辨识出的地标。道路标志的表示可以储存在稀疏地图中,以包括例如指示地标类型(例如,停车标志)的几个字节的数据和指示地标位置(例如,坐标)的几个字节的数据。基于这样的地标的轻度数据表示(例如,使用足以基于地标进行定位、辨识和导航的表示)进行导航可以提供与稀疏地图相关联的期望的导航功能级别,而不会显著增加与稀疏地图相关联的数据开销。地标(和其它道路特征)的这种精简表示可以利用被配置为检测、识别和/或分类某些道路特征的这样的车辆上包括的传感器和处理器。
例如,当标志或甚至特定类型的标志在给定区域中是局部唯一的时(例如,当没有其它标志或相同类型的其它标志时),稀疏地图可以使用指示地标类型的数据(标志或具体类型的标志),并且在导航(例如自主导航)期间当自主车辆上的相机捕捉包括标志(或具体类型的标志)的区域的图像时,处理器可以处理图像,检测标志(如果确实存在于图像中),将图像分类为标志(或具体类型的标志),并将图像的位置与标志的位置相关联以存储在稀疏地图中。
道路特征表示
在一些实施例中,稀疏地图可以包括沿着道路段延伸的路面特征的至少一个线表示以及与该道路段相关联的多个地标。在某些方面,稀疏地图可以经由“众包”而生成,例如,通过对当一个或多个车辆遍历道路段时获取的多个图像的图像分析来产生。
除了目标轨迹和识别的地标之外,稀疏还可以包括与各种其它道路特征有关的信息。例如,图9A示出了可以储存在稀疏地图中的沿着特定道路段的曲线的表示。在一些实施例中,可以通过道路的左侧和右侧的三维多项式描述来建模道路的单个车道。在图8A中示出了表示单个车道的左侧和右侧的这样的多项式。不管道路可能具有多少车道,都可以以类似于图8A所示的方式使用多项式来表示道路。例如,可以由类似于图8A所示的多项式来表示多车道道路的左侧和右侧,并且也可以使用诸如图8A中所示的多项式来表示多车道道路上包括的中间车道标记(例如,表示车道边界的虚线标记,表示在不同方向上行驶的车道之间的边界的黄色实线等)。
如图8A所示,可以使用多项式(例如,一阶、二阶、三阶或任何合适阶的多项式)来表示车道800。为了说明,车道800被示出为二维车道,并且多项式被示出为二维多项式。如图8A所示,车道800包括左侧810和右侧820。在一些实施例中,可以使用多于一个多项式来表示道路的每一侧或车道边界的位置。例如,左侧810和右侧820中的每一个可以由任意合适长度的多个多项式表示。在一些情况下,多项式的长度可以约为100m,不过也可以使用大于或小于100m的其它长度。此外,多项式可以彼此重叠,以便于在主车辆沿着道路行驶时基于随后遇到的多项式在导航中实现无缝变换。例如,左侧810和右侧820中的每一个可以由多个三阶多项式表示,该多个三阶多项式以大约100米的长度(第一预定范围的示例)分开成段并且彼此重叠大约50米。表示左侧810和右侧820的多项式可以具有或可以不具有相同的阶。例如,在一些实施例中,一些多项式可以是二阶多项式,一些可以是三阶多项式,并且一些可以是四阶多项式。
在图8A所示的示例中,车道800的左侧810由两组三阶多项式表示。第一组包括多项式段811、812和813。第二组包括多项式段814、815和816。两组虽然基本上彼此平行,但是遵循它们相应道路侧的位置。多项式段811、812、813、814、815和816的长度大约为100米,并且与序列中的相邻段重叠大约50米。但是,如前所述,也可以使用不同长度和不同重叠量的多项式。例如,多项式可以具有500m、1km或更长的长度,并且重叠量可以从0到50m、50m到100m或大于100m变化。此外,虽然图8A被示出为表示在2D空间中(例如,在纸的表面上)延伸的多项式,但是应当理解,这些多项式可以表示在三维(例如,包括高度分量)上延伸的曲线以表示除XY曲率之外的道路段中的高程变化。在图8A所示的示例中,车道800的右侧820进一步由具有多项式段821、822和823的第一组和具有多项式段824、825和826的第二组表示。
返回到稀疏地图的目标轨迹,图8B示出了三维多项式,其表示沿着特定道路段行驶的车辆的目标轨迹。目标轨迹不仅表示主车辆应沿特定路段行驶的XY路径,而且还表示主车辆沿该路段行驶时将经历的高程变化。因此,稀疏地图中的每个目标轨迹可以由一个或多个三维多项式(如图8B所示的三维多项式850)表示。稀疏地图可以包括多个轨迹(例如,数百万或数十亿或更多,以表示沿着全世界道路的各个道路段的车辆轨迹)。在一些实施例中,每个目标轨迹可以对应于连接三维多项式段的样条。
关于储存在稀疏地图中的多项式曲线的数据足迹,在一些实施例中,每个三次多项式可以由四个参数表示,每个参数需要四个字节的数据。可以使用每100m大约需要192字节数据的三次多项式来获得合适的表示。对于以近似100km/hr的速度行驶的主车辆,这可能会转化为每小时近似200kB的数据使用/传输要求。
稀疏地图可以使用几何描述符和元数据的组合来描述车道网络。可以通过如上所述的多项式或样条来描述几何形状。元数据可以描述车道的数量、特殊特性(诸如合乘车辆车道(car pool lane))以及可能的其它稀疏标签。这样的指示符的总足迹可以忽略不计。
因此,根据本公开的实施例的稀疏地图可以包括沿着道路段延伸的路面特征的至少一个线表示,每个线表示代表沿着基本上对应于路面特征的道路段的路径。在一些实施例中,如上所述,路面特征的至少一个线表示可以包括样条、多项式表示或曲线。此外,在一些实施例中,路面特征可以包括道路边缘或车道标记中的至少一者。此外,如下面关于“众包”所讨论的,可以通过对当一个或多个车辆遍历道路段时获取的多个图像的图像分析来识别路面特征。
图9A示出了在建立或维持稀疏地图的过程中捕捉的轨迹的多项式表示。可以基于车辆沿着相同道路段的先前遍历的两个或更多个重建的轨迹来确定稀疏地图中包括的目标轨迹的多项式表示。在一些实施例中,稀疏地图中包括的目标轨迹的多项式表示可以是车辆沿着相同道路段的先前遍历的两个或更多个重建的轨迹的聚合。在一些实施例中,稀疏地图中包括的目标轨迹的多项式表示可以是车辆沿着相同道路段的先前遍历的两个或更多个重建的轨迹的平均值。也可以使用其它数学运算基于从沿着道路段遍历的车辆收集的重建的轨迹来构建沿着道路路径的目标轨迹。
如图9A所示,道路段900可以在不同时间由多个车辆200行驶。每个车辆200可以收集与车辆沿着该道路段所走的路径有关的数据。可以基于相机数据、加速计信息、速度传感器信息和/或GPS信息以及其它潜在来源来确定特定车辆的行驶路径。这样的数据可以用于重建沿着该路段行驶的车辆的轨迹,并且基于这些重建的轨迹,可以针对特定道路段确定目标轨迹(或多个目标轨迹)。当车辆沿着路段行驶时,这样的目标轨迹可以代表主车辆的优选路径(例如,由自主导航系统引导)。
在图9A所示的示例中,可以基于从在第一时间段(例如,第1天)遍历道路段900的第一车辆接收的数据来确定第一重建的轨迹901,可以从在第二时间段(例如,第2天)遍历道路段900的第二车辆获得第二重建的轨迹902,并且可以从在第三时间段(例如,第3天)遍历道路段900的第三车辆获得第三重建的轨迹903。每个轨迹901、902和903可以由多项式表示,诸如三维多项式。应当注意,在一些实施例中,任何重建的轨迹都可以装备在遍历道路段900的车辆上。
附加地或可替代地,可以基于从遍历道路段900的车辆接收的信息在服务器侧确定这样的重建的轨迹。例如,在一些实施例中,车辆200可以将与其沿着道路段900的运动有关的数据(例如,转向角、航向、时间、位置、速度、感测的道路几何形状和/或感测的地标等)传输到一个或多个服务器。服务器可以基于接收到的数据来重建车辆200的轨迹。服务器还可以基于第一、第二和第三轨迹901、902和903,生成用于引导将在以后的时间沿着相同的道路段900行驶的自主车辆的导航的目标轨迹。尽管目标轨迹可以与道路段的单个先前遍历相关联,但是在一些实施例中,可以基于遍历相同道路段的车辆的两个或更多个重建的轨迹来确定稀疏地图中包括的每个目标轨迹。在图9A中,目标轨迹由910表示。在一些实施例中,可以基于第一、第二和第三轨迹901、902和903的平均值来产生目标轨迹910。在一些实施例中,稀疏地图中包括的目标轨迹910可以是两个或更多个重建的轨迹的聚合(例如,加权组合)。
图9B和9C进一步说明了与地理区域911中存在的道路段相关联的目标轨迹的概念。如图9B中所示,地理区域911内的第一道路段920可以包括多车道道路,该多车道道路包括指定用于车辆在第一方向上行驶的两个车道922和指定用于车辆在与第一方向相反的第二方向上行驶的两个另外的车道924。车道922和车道924可以由双黄线923分开。地理区域911还可以包括与道路段920相交的分支道路段930。道路段930可以包括两车道道路,每个车道指定用于不同的行驶方向。地理区域911还可以包括其它道路特征,诸如停车线932、停车标志934、限速标志936和危险标志938。
如图9C所示,稀疏地图可以包括局部地图940,该局部地图940包括用于辅助地理区域911内的车辆自主导航的道路模型。例如,局部地图940可以包括与地理区域911内的道路段920和/或道路段930相关联的一个或多个车道的目标轨迹。例如,局部地图940可以包括自主车辆在遍历车道922时可以进入或依赖的目标轨迹941和/或942。类此地,局部地图940可以包括自主车辆在遍历车道924时可以进入或依赖的目标轨迹943和/或944。此外,局部地图940可以包括自主车辆在遍历道路段930时可以进入或依赖的目标轨迹945和/或946。目标轨迹947表示当从车道920(并且具体而言,相对于与车道920的最右边车道相关联的目标轨迹941)变换到道路段930(并且具体而言,相对于与道路段930的第一侧相关联的目标轨迹941)时,自主车辆应当遵循的优选路径。类似地,目标轨迹948表示当从道路段930(并且具体而言,相对于目标轨迹946)变换到道路段924的一部分(并且具体而言,如图所示,相对于与车道924的左车道相关联的目标轨迹943)时,自主车辆应当遵循的优选路径。
稀疏地图还可以包括与地理区域911相关联的其它道路相关的特征的表示。例如,稀疏地图还可以包括在地理区域911中识别出的一个或多个地标的表示。这样的地标可以包括与停车线932相关联的第一地标950,与停车标志934相关联的第二地标952,与限速标志954相关联的第三地标以及与危险标志938相关联的第四地标956。这样的地标可以被用于例如辅助自主车辆确定其相对于所示的任何目标轨迹的当前位置,使得车辆可以调整其航向以匹配在所确定的位置处的目标轨迹的方向。
在一些实施例中,稀疏地图还可以包括道路签名分布。这样的道路签名分布可以与关联于道路的至少一个参数的任何可辨别/可测量的变化相关联。例如,在一些情况下,这样的分布可以与路面信息的变化相关联,诸如特定道路段的表面粗糙度的变化、特定道路段上的道路宽度的变化、沿着特定道路段绘制的虚线之间的距离的变化、沿着特定道路段的道路曲率的变化等。图9D示出了道路签名分布960的示例。分布960可以表示上述任何参数或其它参数,而在一个示例中,分布960可以表示路面粗糙度的测量,该路面粗糙度的测量例如通过监测一个或多个传感器来获得,该一个或多个传感器提供指示当车辆在特定道路段行驶时悬架位移量的输出。
可替代地或同时地,分布960可以表示道路宽度的变化,该道路宽度的变化如基于经由在特定道路段上行驶的车辆上的相机所获得的图像数据来确定。这样的分布例如在确定自主车辆相对于特定目标轨迹的特定位置时可能是有用的。也就是说,当自主车辆遍历道路段时,其可以测量与关联于道路段的一个或多个参数相关联的分布。如果所测量的分布可以与绘制相对于沿着道路段的位置的参数变化的预定分布相关/匹配,则可以使用所测量的分布和预定分布(例如,通过覆盖所测量的分布和预定分布的对应部分)以便确定沿着该道路段的当前位置,并因此确定相对于该道路段的目标轨迹的当前位置。
在一些实施例中,基于与自主车辆的用户、环境条件和/或与驾驶有关的其它参数相关联的不同特性,稀疏地图可以包括不同的轨迹。例如,在一些实施例中,可以基于不同的用户偏好和/或分布来生成不同的轨迹。可以将包括这样的不同轨迹的稀疏地图提供给不同用户的不同自主车辆。例如,一些用户可能偏好避开收费道路,而其它用户可能偏好走最短或最快的路线,而不管路线上是否有收费道路。所公开的系统可以基于这样的不同的用户偏好或分布来生成具有不同轨迹的不同稀疏地图。作为另一个示例,一些用户可能偏好在快速移动车道上行驶,而其它用户可能偏好一直维持在中央车道中的位置。
可以基于诸如白天和黑夜、雪、雨、雾等之类不同的环境条件来生成不同的轨迹并将其包括在稀疏地图中。可以向在不同环境条件下驾驶的自主车辆提供基于这样的不同环境条件而生成的稀疏地图。在一些实施例中,设置在自主车辆上的相机可以检测环境条件,并且可以将这样的信息提供回生成并提供稀疏地图的服务器。例如,服务器可以生成或更新已经生成的稀疏地图,以包括对于在检测到的环境条件下的自主驾驶可能更合适或更安全的轨迹。当自主车辆沿着道路行驶时,可以动态地执行基于环境条件的稀疏地图的更新。
与驾驶有关的其它不同参数也可以用作生成不同的稀疏地图并将其提供给不同的自主车辆的基础。例如,当自主车辆高速行驶时,转弯可能更紧张。与具体车道而不是道路相关联的轨迹可以被包括在稀疏地图中,使得当自主车辆遵循具体轨迹时,该车辆可以维持在具体车道内。当由自主车辆上的相机捕捉的图像指示车辆已经偏离车道(例如,越过车道标记)时,可以在车辆内触发动作以根据具体轨迹将车辆带回到指定车道。
图10示出了由多个三维样条1001、1002和1003表示的示例自主车辆道路导航模型。图10所示的曲线1001、1002和1003仅用于说明目的。每个样条可以包括连接多个数据点1010的一个或多个三维多项式。每个多项式可以是一阶多项式、二阶多项式、三阶多项式或具有不同阶数的任何合适的多项式的组合。每个数据点1010可以与从多个车辆接收的导航信息相关联。在一些实施例中,每个数据点1010可以与关于地标(例如,地标的大小、位置和标识信息)和/或道路签名分布(例如,道路几何形状、道路粗糙度分布、道路曲率分布,道路宽度分布)的数据相关联。在一些实施例中,一些数据点1010可以与关于地标的数据相关联,而其它数据点可以与关于道路签名分布的数据相关联。
图11示出了从五次分别的驾驶接收的原始位置数据1110(例如,GPS数据)。如果一次驾驶在相同的时间由分别的车辆遍历,在分别的时间由相同的车辆遍历或在分别的时间由分别的车辆遍历,则其可以与另一次驾驶分开。为了解决位置数据1110中的误差以及相同车道内车辆的不同位置(例如,一辆车可能比另一辆车更靠近车道的左侧驾驶),远程服务器可以使用一个或多个统计技术来生成地图框架1120,以确定原始位置数据1110中的变化表示实际差异还是统计误差。框架1120内的每个路径可以被链接回形成该路径的原始数据1110。例如,框架1120内A和B之间的路径被链接到来自驾驶2、3、4和5的原始数据1110,而不是来自驾驶1的原始数据。框架1120可能不足以详细到用于导航车辆(例如,与上述样条不同,因为它结合了来自相同道路上多个车道的驾驶),但其可以提供有用的拓扑信息,并可以用于定义交叉路口。
用于导航的安全性和舒适性约束
除了导航模型之外,自主车辆(无论是完全自主,例如自驾驶车辆,还是部分自主,例如一个或多个驾驶员辅助系统或功能)通常都使用驾驶策略来确保其它驾驶员和行人的安全以及内部乘客的舒适度。
因此,自主车辆可以感测主车辆环境中的导航状态。例如这些任务可以依赖于来自与主车辆相关联的各种传感器和感测系统的输入。这些输入可以包括来自一个或多个车载相机的图像或图像流、GPS位置信息、加速度计输出、用户反馈或对一个或多个用户接口设备的用户输入、雷达、激光雷达等。可以包括来自相机和/或任何其它可用的传感器的数据以及地图信息的感测可以被收集、分析并且制定成“感测到的状态”,该感测到的状态描述从主车辆环境中的场景提取的信息。该感测到的状态可以包括与目标车辆、车道标记、行人、交通灯、道路几何形状、车道形状、障碍物、到其它对象/车辆的距离、相对速度、相对加速度有关的感测到的信息,以及任何其它潜在的感测到的信息。可以实施监督式机器学习,以便基于所提供的感测到的数据产生感测状态输出。感测模块的输出可以表示可以在驾驶策略中使用的主车辆的感测到的导航“状态”,如下所述。
尽管可以基于从与主车辆相关联的一个或多个相机或图像传感器接收的图像数据产生感测到的状态,但是还可以使用任何合适的传感器或传感器组合来产生在导航中使用的感测到的状态。在一些实施例中,可以在不依赖捕捉的图像数据的情况下产生感测到的状态。实际上,本文描述的任何导航原理可应用于基于捕捉的图像数据产生的感测到的状态以及使用其它基于非图像的传感器产生的感测到的状态。感测到的状态还可以经由主车辆外部的源来确定。例如,可以全部或部分地基于从远离主车辆的源接收的信息(例如,基于从其它车辆共享的、从中央服务器共享的、或来自与主车辆的导航状态有关的任何其它信息源的传感器信息、经处理的状态信息等),来产生感测到的状态。
自主车辆可以实施期望的驾驶策略,以便决定主车辆响应于感测到的导航状态而采取的一个或多个导航动作。如果在主车辆环境中不存在其它作用者(agent)(例如,目标车辆或行人),则可以以相对直接的方式处理感测到的状态输入。当感测到的状态需要与一个或多个其它作用者进行协商时,任务变得更加复杂。用于从驾驶策略产生输出的技术可以包括强化学习(下文更详细地讨论)。驾驶策略的输出可以包括主车辆的至少一个导航动作,并且可以包括期望的加速度(其可以转化为主车辆的更新的速度)、主车辆的期望偏航率、期望的轨迹、以及其它潜在的期望导航动作。
基于来自驾驶策略的输出,自主车辆可以开发用于与主车辆相关联的一个或多个致动器或受控设备的控制指令。这样的致动器和设备可以包括加速器、一个或多个转向控制器、制动器、信号传输器、显示器或可以作为与主车辆相关联的导航操作的一部分而被控制的任何其它致动器或设备。控制理论的方面可以用于产生控制指令。对主车辆的可控组件的指令可以实现期望的导航目标或驾驶策略的要求。
回到上面讨论的驾驶策略,在一些实施例中,可以使用通过强化学习训练的经训练的系统来实施驾驶策略。在其它实施例中,驾驶策略可以在没有机器学习方法的情况下、通过使用指定的算法来“手动”解决自主导航期间可能出现的各种情景来实施。然而,这样的方法虽然可行,但可能导致驾驶策略过于简单化,并且可能缺乏基于机器学习的经训练的系统的灵活性。例如,经训练的系统可能会更好地配备来处理复杂的导航状态,并且可以更好地确定出租车是在停车还是停下车来接/送乘客;确定行人是否意图穿过主车辆前的街道;具有防御性地平衡其它驾驶员的意外行为;在牵涉目标车辆和/或行人的密集交通中协商;决定何时暂停(suspend)某些导航规则或增强(augment)其它规则;预期未感测到但预期到的状况(例如,行人是否会从汽车或障碍物后面冒出);等等。基于强化学习的经训练的系统还可以更好地配备来解决连续且高维度的状态空间以及连续的动作空间。
使用强化学习对系统进行训练可以涉及学习驾驶策略,以便从感测到的状态映射到导航动作。驾驶策略可以是函数π:S→A,其中S是一组状态,而是动作空间(例如,期望的速率、加速度、横摆命令等)。状态空间是S=Ss x Sp,其中Ss是感测状态,且Sp是关于通过该策略所保存的状态的附加信息。以离散的时间间隔工作,在时间t处,可以观察当前状态st∈S,并且可以应用该策略来获得期望的动作at=π(st)。
可以通过暴露于各种导航状态,使该系统应用该策略,提供奖励(基于被设计为奖励期望导航行为的奖励函数),来训练该系统。基于奖励反馈,该系统可以“学习”该策略,并且变得在产生期望导航动作方面是经训练的。例如,学习系统可以观察当前状态st∈S,并基于策略来决定动作at∈A。基于所决定的动作(以及该动作的实施),环境移至下一个状态st+1∈S,以由该学习系统观察。对于响应于观察到的状态而产生的每个动作,对该学习系统的反馈是奖励信号r1,r2,...。
强化学习(RL)的目标通常是找到策略π。通常假设:在时间t处,存在奖励函数rt,其测量处于状态st并采取动作at的瞬时质量。然而,在时间t处采取动作at影响了环境,并因此影响未来状态的值。因此,当决定采取何种动作时,不仅应考虑当前的奖励,还应考虑未来的奖励。在某些情况下,当系统确定如果现在采用较低奖励选项则在将来可能实现更高的奖励时,则即使某一动作与低于另一个可用选项的奖励相关联,该系统也应采取该动作。为了对此形式化,观察到策略π以及初始状态s归纳出在上的分布,其中如果作用者在状态s0=s处开始并从那里开始遵循策略π,则向量(r1,…,rT)的概率为观察到奖励r1,…,rT的概率。初始状态s的值可定义为:
代替将时间范围限定为T,可以对未来奖励打折扣(discount),以对于一些固定的γ∈(0,1),定义:
在任何情况下,最佳策略是下式的解:
其中,期望(expectation)在初始状态s之上。
有若干种可能用于训练驾驶策略系统的方法。例如,可以使用模仿(imitation)方法(例如,行为克隆),在该方法中,系统从状态/动作对中学习,其中动作是好的作用者(例如,人类)响应于特定的观察到的状态而会选择的那些动作。假设观察人类驾驶员。通过这个观察,许多形式为(st,at)的示例(其中st是状态,而at是人类驾驶员的动作)可以被获得、观察并且用作训练驾驶策略系统的基础。例如,监督式学习可以用来学习策略π,使得π(st)≈at。这种方法有许多潜在的优点。首先,不要求定义奖励函数。其次,该学习是受监督的并且是离线发生的(不需要在学习过程中应用作用者)。这种方法的缺点在于:不同的人类驾驶员、甚至是相同的人类驾驶员在其策略选择中并不是确定性的。因此,对于||π(st)-at||非常小的函数的学习通常是不可行的。而且,随着时间的推移,即使是小的误差也可能会累积而产生较大的误差。
可以采用的另一种技术是基于策略的学习。此处,可以以参数形式来表达策略,并且使用合适的优化技术(例如,随机梯度下降)直接对策略进行优化。该方法是直接对以给出的问题进行求解。当然还有很多方法可以对这个问题求解。这种方法的一个优点在于:其直接解决了问题,因此往往导致良好的实际结果。一个潜在的缺点是:其往往需要“在线策略”训练,即π的学习是迭代过程,其中在迭代j时,具有非完美的策略πj,并为了构造下一个策略πj,必须在基于πj动作的同时与环境进行交互。
系统还可以通过基于值的学习(学习Q或V函数)来训练。假设,良好近似能够学习到最佳值函数V*。可以构建最佳策略(例如,依靠贝尔曼方程(Bellman equation))。有些版本的基于值的学习可以离线实施(称为“离线策略”训练)。基于值的方法的一些缺点可能是由于其强烈依赖于马尔可夫假设(Markovian assumptions)以及需要对复杂函数的近似(相比直接对策略近似,对值函数的近似可能更难)。
另一种技术可以包括基于模型的学习和规划(学习状态转换的概率并对寻找最优V的优化问题求解)。这些技术的组合也可以用来训练学习系统。在这种方法中,可以学习过程的动态性,即,采取(st,at)并在下一个状态st+1上产生分布的函数。一旦学习了这个函数,可以求解最佳问题,以找到其值为最佳的策略π。这就是所谓的“规划”。这种方法的一个优点可能在于:学习部分受到监督,并且可以通过观察三元组(st,at,st+1)而被离线应用。类似于“模仿”方法,这种方法的一个缺点可能在于:学习过程中小的误差可能积累并产生未充分执行的策略。
用于训练驾驶策略模块803的另一种方法可以包括将驾驶策略函数分解为语义上有意义的分量。这允许手动实施该策略的某些部分,这可以确保策略的安全性;并且可以使用强化学习技术来实施策略的其它部分,这可以适应性地实现于许多情景、防御性/侵略性行为之间的类似于人的平衡、以及与其它驾驶员的类似于人的协商。从技术角度而言,强化学习方法可以结合几种方法,并提供易于操作的训练程序,其中大部分训练可以使用记录的数据或自行构建的模拟器来执行。
在一些实施例中,驾驶策略模块803的训练可以依赖于“选项”机制。为了说明,考虑双车道高速公路的驾驶策略的简单情景。在直接RL方法中,策略π将状态映射到中,其中π(s)的第一个分量是期望的加速度命令,且π(s)的第二个分量是横摆率。在经修改的方法中,可以构建以下策略:
自动巡航控制(ACC)策略oACC:S→A:该策略总是输出为0的横摆率,并且仅改变速率以实现平稳且无事故的驾驶。
ACC+左策略oL:S→A:该策略的纵向命令与ACC命令相同。横摆率是将车辆朝左车道的中间居中同时确保安全的横向移动(例如,如果在左侧有车,则不向左移动)的直接实施方式。
ACC+右策略oR:S→A:与oL相同,但是车辆可以朝右车道的中间居中。
这些策略可以被称为“选项”。依靠这些“选项”,可以学习选择了选项的策略πo:S→O,其中O是一组可用选项。在一个情况下,O={oACC,oL,oR}。选项选择器策略πo通过对每个s设置来定义实际的策略π:S→A。
实践中,策略函数可以被分解为选项图。选项图可以表示被组织为有向非循环图(DAG)的分层决策集。存在一个称为图的根(root)节点的特殊节点。该节点不具有进入(incoming)节点。决策过程从根节点开始遍历整个图,直到其到达“叶”节点,该叶节点是指没有外出(outgoing)决策线的节点。在遇到叶节点时,驾驶策略模块803可以输出与期望导航动作相关联的加速和转向命令,该期望导航动作与叶节点相关联。
内部节点可以引起一策略的实施,该策略在其可用选项中选择子代(child)。内部节点的可用子代的集合包括经由决策线与特定内部节点相关联的所有节点。
可以通过使节点能够调整其在选项图的层级中的位置而获得决策制定系统的灵活性。例如,可以允许任何节点声明自己为“关键(critical)”。每个节点可以实施“是关键的(is critical)”的函数,如果节点处于其策略实施的关键部分,则该函数输出“真”。例如,负责超车的节点可以在操纵中途声明自己为关键。这可对节点u的可用子代的集合施加约束,该节点u的可用子代可以包括作为节点u的子代的所有节点v,并且存在从v到叶节点的经过被指定为关键的所有节点的路径。一方面,这样的方法可以允许在每个时间步在图上声明期望路径,同时另一方面,可以保留策略的稳定性,特别是在策略的关键部分正在被实施之时。
通过定义选项图,学习驾驶策略π:S→A的问题可以被分解成为图中的每个节点定义策略的问题,其中内部节点处的策略应当从可用的子代节点之中进行选择。对于一些节点,相应的策略可以手动实现(例如,通过如果-则(if-then)类型算法来指定响应于观察到的状态的一组动作),而对于其它策略可以使用通过强化学习构建的经训练的系统来实施。手动或经训练/学习的方法之间的选择可以取决于与任务相关联的安全方面以及取决于其相对简单性。可以以使得一些节点直接实施、而其它节点可以依赖于经训练的模型的方式,来构建选项图。这样的方法可以确保系统的安全运行。
如上所述,对驾驶策略的输入是“感测到的状态”,其概括了环境图,例如,从可用的传感器获得的。驾驶策略的输出是一组期望(可选地连同一组硬约束),该组期望将轨迹定义为对优化问题的求解。
如上所述,选项图表示被组织为DAG的分层决策集。存在称为图的“根”的特殊节点。根节点是没有进入边(例如,决策线)的唯一节点。决策过程从根节点开始遍历该图,直到其到达“叶”节点,所述叶节点即没有外出边的节点。每个内部节点应当实施在其可用的子代之中挑选一个子代的策略。每个叶节点应实施基于从根到叶的整个路径定义了一组期望(例如,主车辆的一组导航目标)的策略。基于感测到的状态而被直接定义的该组期望连同一组硬约束一起建立了优化问题,该优化问题的解是车辆的轨迹。可以采用硬约束来进一步提高系统的安全性,并且该期望可以用于提供系统的驾驶舒适性和类似于人的驾驶行为。作为优化问题的解而提供的轨迹进而定义了应该提供给转向、制动和/或引擎致动器的命令,以便完成该轨迹。
各种语义含义可以被分配给主车辆环境中的目标车辆。例如,在一些实施例中,语义可以包括以下任何指定:1)不相关:指示场景中感测到的车辆当前不相关;2)下一车道:指示感测到的车辆在相邻车道中并且相对于该车辆应当保持适当的偏移(精确的偏移可以在优化问题中计算,该优化问题在给定期望和硬约束下构建轨迹,并且该精确的偏移可以潜在地是取决于车辆的——选项图的保持叶设定目标车辆的语义类型,其定义相对于目标车辆的期望);3)让路:主车辆将尝试通过例如降低速度(特别是在主车辆确定目标车辆可能切入主车辆的车道的情况下)让路给感测到的目标车辆;4)占道(take way):主车辆将尝试通过例如增加速度占用路的权利;5)跟随:主车辆期望跟随在该目标车辆后保持平稳驾驶;6)左/右超车:这意味着主车辆想要发起到左或右车道的变道。
节点的另一个示例是选择间隙节点。该节点可以负责选择主车辆期望进入的特定目标车道中的两个目标车辆之间的间隙。通过选择形式IDj的节点,对于j的某个值,主车辆到达为轨迹优化问题指定了期望的叶——例如,主车辆希望进行操纵以便到达所选择的间隙。这样的操纵可能涉及首先在当前车道加速/制动,然后在适当的时间前往目标车道以进入所选择的间隙。如果选择间隙节点不能找到适当的间隙,则其可以过渡到中止节点,该中止节点定义了回到当前车道的中心并取消超车的期望。
如上所述,选项图的节点可以将其自己声明为“关键”,这可以确保所选择的选项通过关键节点。形式上,每个节点可以实施IsCritical函数。在选项图上从根到叶执行正向传递,并且对轨迹规划器的优化问题求解之后,可以从叶返回到根执行反向传递。沿着这个反向传递,可以调用传递中所有节点的IsCritical函数,并且可以保存所有关键节点的列表。在对应于下一时间帧的正向路径中,驾驶策略可能需要选择从根节点到叶的经过所有关键节点的路径。
例如,在发起超车动作并且驾驶策略到达对应于IDk的叶的情况下,例如当主车辆处于超车操纵的中途时,选择保持节点将会是不期望的。为了避免这样的跳动,IDj节点可以将其自己指定为关键。在操纵期间,可以监测轨迹规划器的成功,并且如果超车操纵按预期进行,则函数IsCritical将返回“真”值。此方法可以确保在下一时间帧内,超车操纵将继续(而不是在完成最初选择的操纵之前跳到另一个潜在不一致的操纵)。另一方面,如果对操纵的监测指示所选择的操纵没有按预期进行,或者如果操纵变得不必要或不可能,则IsCritical函数可以返回“假”值。这可以允许选择间隙节点在下一时间帧中选择不同的间隙,或完全中止超车操纵。此方法一方面可以允许在每个时间步在选项图上声明期望的路径,同时在另一方面,可以在执行的关键部分时帮助提高策略的稳定性。
硬约束可以与导航期望不同,这将在下面更详细地讨论。例如,硬约束可以通过对规划的导航动作应用附加的过滤层来确保安全驾驶。可以根据感测到的状态来确定所涉及的硬约束,所述硬约束可以被手动地编程和定义,而不是通过使用基于强化学习建立的经训练的系统。然而,在一些实施例中,经训练的系统可以学习要应用和遵循的可适用的硬约束。这样的方法可以促使驾驶策略模块803到达已经符合可适用的硬约束的所选动作,这可以减少或消除可能需要之后修改以符合可适用的硬约束的所选动作。尽管如此,作为冗余安全措施,即使在驾驶策略已经被训练以应对预定硬约束的情况下,也可以对驾驶策略的输出应用硬约束。
存在许多潜在的硬约束的示例。例如,可以结合道路边缘上的护栏来定义硬约束。在任何情况下,均不允许主车辆通过护栏。这样的规则对主车辆的轨迹产生了硬性横向约束。硬约束的另一个示例可以包括道路颠簸(例如,速率控制颠簸),其可以在颠簸之前以及正穿过颠簸时引起对驾驶速度的硬约束。硬约束可以被认为是安全关键的,因此可以手动定义,而不是仅仅依靠在训练期间学习约束的经训练的系统。
与硬约束相比,期望的目标可以是实现或达到舒适的驾驶。如以上所讨论的,期望的示例可以包括将主车辆置于车道内的与主车辆车道的中心对应的横向位置处的目标。另一个期望可能包括适合进入的间隙的ID。注意,主车辆不需要精确地处于车道中心,而是,尽可能靠近它的期望可以确保,即使在偏离车道中心的情况下,主车辆也倾向于迁移到车道的中心。期望可以不是安全关键的。在一些实施例中,期望可能需要与其它驾驶员和行人协商。构建期望的一种方法可以依赖于选项图,并且在图的至少一些节点中实现的策略可以基于强化学习。
对于实现为基于学习训练的节点的选项图的节点,训练过程可以包括将问题分解成监督式学习阶段和强化学习阶段。在监督式学习阶段,可以学习从(st,at)到的可微(differentiable)映射,使得这可以类似于“基于模型”的强化学习。然而,在网络的前向环路中,可以用st+1的实际值来代替从而消除了误差累积的问题。预测的作用是将消息从未来传播回过去的动作。从这个意义上讲,该算法可以是“基于模型”的强化学习与“基于策略的学习”的组合。
在某些情景下可以提供的重要元素是从未来损失/奖励回到对动作的决策的可微路径。通过选项图结构,涉及安全约束的选项的实现通常是不可微的。为了克服这个问题,对学习的策略节点中的子代的选择可以是随机的。也就是说,节点可以输出概率向量p,其分配用于选择特定节点的每个子代的概率。假设节点有k个子代,并令a(1),...,a(k)为从每个子代到叶的路径的动作。所得到的预测动作因此为这可能导致从该动作到p的可微路径。在实践中,动作a可以被选择为对于i~p的a(i),并且a和之间的差可以被称为加性噪声。
对于给定st、at下的训练,可以将监督式学习与真实数据一起使用。对于节点策略的训练,可以使用模拟器。之后,可以使用真实数据完成策略的微调。两个概念可以使模拟更加真实。首先,使用模仿,可以使用“行为克隆”范式,使用大型现实世界数据集来构建初始策略。在某些情况下,所得到的作用者可以是合适的。在其它情况下,所得到的作用者至少为道路上的其它作用者形成了非常好的初始策略。其次,使用自我发挥(self-play),我们自己的策略可被用来加强训练。例如,给定了可以是有经验的其它作用者(汽车/行人)的初步实施,则可以基于模拟器对策略进行训练。一些其它作用者可被新的策略取代,并且可以重复该过程。因此,该策略能够继续改善,因为其应该对更多种类的具有不同复杂等级的其它作用者做出响应。
此外,在一些实施例中,系统可以实施多作用者的方法。例如,该系统可以考虑来自各种源的数据和/或从多个角度捕捉的图像。此外,一些公开的实施例可以提供能量的经济性,因为可以考虑不直接涉及主车辆但对主车辆可能产生影响的事件的预期,或者甚至对可能导致涉及其它车辆的不可预测情况的事件的预期可以是考虑因素(例如,雷达可能会“看穿(see through)”前方车辆以及不可避免的预期、或者甚至将影响主车辆的事件的高可能性)。
全局精度和局部精度
在自主驾驶的背景下,可以定义损失函数,以便适当地定义来自相机、传感器等的测量精度(并由此对其施加条件)。因此,场景可以被定义为对象(诸如车辆、行人、车道标记等)的有限集合S。S包含主车辆,该主车辆可以表示为h。在这种情况下,定位可以包括映射其中p(h)=0=(0,0,0)。因此,p(a)的第一坐标可以包括对象a的横向位置,第二坐标可以包括对象a的纵向位置,以及最后坐标可以包括对象a的高度。
对该损失函数施加约束通常是不现实的。例如,如果对象a是在定位p(a)=(α,z,0)处的车辆,并且对象b是在定位p(b)=(-α,z,0)处的车道标记,则分别在和处的a和b的第二定位将导致损失β。因此,如果对象a和b处于150米的纵向位置,并且损失β为0.2(即20%),则不可能施加20厘米的绝对损失约束,因为这将导致不可接受的最大的损失。
因此,相对损失函数可以定义如下:
其中v是(0,1]。
通过对该损失函数进行归一化,可以施加现实的损失约束,从而应对更远对象的更大损失。但是,存在两种方法可以使用归一化的损失函数来定义精度。一个是自我(ego)精度,并且是相对于主车辆h来测量的:
其中ε是损失约束。
为了避免依赖于范围z,可以使用另一成对的精度定义:
其中ε是损失约束。
因此,
其独立于z。
这意味着z>2会导致成对精度的损失。
在一个特定示例中,如果ε=0.2并且z=100米,则β=2米,这是每100米约束为2米的合理损失约束。但是,这导致这意味着这种情况是0.02的成对精度的50倍。为了获得成对精度,可以设置z=1米和β=0.02,这导致100米范围内的2厘米误差。但是,考虑到大多数现存的传感器,这是不现实的。另一方面,成对精度可以在不考虑自我精度的情况下实际实施。为了增强该精度,可以使用场景的相关对象(诸如车辆、行人、车道等)同时驻留在其中的参考坐标系。但是,这可能涉及使用相机而不是激光雷达、GPS或其它传感器。
因此,在一些实施例中,主车辆导航系统可以使用相机的2D坐标系,而不是该车辆的3D坐标系。然后,系统可以将地图(例如,稀疏地图的地标和样条)转换到2-D坐标系上,并在2-D坐标系中执行导航。而且,系统可以通过将在2-D坐标系中做出的确定转换为3-D坐标系来执行3-D坐标系中的导航。这样增强了成对精度而不是自我精度,从而提供更高的安全性和可靠性。此外,由于将地图转换为2-D比将图像转换为3-D更快,并且因为在2-D中执行预测和导航比在3-D中执行更快,因此该技术提高了系统的效率。
在一个示例实施例中,导航系统可以确定主车辆的位置。例如,该位置可以在地理区域内。导航系统可以进一步访问包括地理区域的地图。例如,导航系统可以访问储存的地图或访问来自一个或多个远程服务器的地图,该地图包括该地理区域。在一些实施例中,地图可以包括基于地理区域的稀疏地图或路线图(roadbook)(如下所述)或其一部分。如上所述,稀疏地图可以包括表示预定行驶路径的至少一个样条和/或至少一个地标。因此,至少一个特征可以包括至少一个地标。
导航系统可以基于主车辆的位置提取来自地图的至少一个特征。例如,导航系统可以确定主车辆的视场,并基于该位置提取预期在视场中的至少一个特征。在一些实施例中,至少一个特征可以包括车道标记、道路边缘或地图中包括的其它地标。例如,道路边缘可以包括以下中的至少一者:车道标记、路缘、护栏或泽西(Jersey)墙。
导航系统可以从至少一个图像传感器接收表示主车辆环境的至少一个图像,并且将至少一个特征的坐标从地图的坐标系转换为至少一个图像传感器的坐标系。例如,地图的坐标系可以包括三维坐标系(例如,基于GPS的全球坐标系、地理区域中包括的道路段局部的坐标系等),并且至少一个图像传感器的坐标系可以包括基于至少一个图像传感器的视场的二维坐标系。在一些实施例中,至少一个特征可以从地图的三维坐标系变换为以主车辆为中心的三维坐标系(例如,使用位置),然后投影到至少一个图像传感器的二维平面上(例如,使用主车辆与视场之间的已知关系)。
导航系统可以分析至少一个图像以识别在主车辆环境中的至少一个特征,并基于转换后的坐标与在至少一个图像中识别出的至少一个特征的坐标之间的比较,引起主车辆的至少一个导航变化。例如,导航系统可以基于转换后的坐标来确定至少一个特征在至少一个图像传感器的二维坐标系中的预期位置,并在预期位置处和/或附近从至少一个图像传感器搜索一个或多个图像。接近度可以绝对地确定,例如,在预期位置的10像素内、20像素内等,或者相对地确定,例如,在至少一个特征的预期尺寸(诸如长度或宽度)的10%内等。
在一些实施例中,导航变化中的至少一者可以包括使主车辆减速、使主车辆加速或激活主车辆的转向机构。例如,基于识别出的至少一个图像中的至少一个特征的位置与基于转换后的坐标的期望位置之间的差异,主车辆可以减速、加速和/或转向。
在一些实施例中,可以在至少一个图像传感器的坐标系内确定至少一个导航变化。例如,可以基于识别出的至少一个图像中的至少一个特征的位置与基于转换后的坐标的期望位置之间的差异来确定向量。向量可以表示至少一个导航变化,使得至少一个特征将出现在期望的位置。在这样的实施例中,导航系统可以将至少一个导航变化转换为地图的坐标系。例如,导航系统可以基于至少一个图像中的至少一个特征的深度和/或来自地图的至少一个特征的期望深度,将差异向量投影到三维坐标系(例如,全局的坐标系或以主车辆为中心的坐标系)。
舒适性和安全性约束的融合
在一些实施例中,主车辆可以从多个源接收数据,诸如与相机、激光雷达、雷达等耦合的地图数据。主车辆的导航系统可以使用不同的方案来融合来自这些各种源的数据。例如,在统一方案中,如果目标对象由至少一个源检测到,则导航系统可以验证该目标对象(即,确认潜在的对象实际上应被视为检测到的对象),这是一种快速但精度较低的检测技术。在交叉方案中,如果目标对象由多个源检测到,则导航系统可以认可该目标对象;在协同方案中,如果使用来自多个源的数据的组合检测到目标对象,则导航系统可以认可该目标对象。交叉方案和协同方案比统一方案更慢但更准确。因此,通过选择性地使用交叉和协同方案以及统一方案,可以在不牺牲安全性的情况下优化系统反应的精度。这解决了如何在不牺牲安全性的情况下准确地解释来自自主车辆的传感器数据的技术问题。
图12是存储器140和/或150的示例性功能框图,其可以被储存/被编程指令以用于执行与本公开实施例一致的一个或多个操作。尽管以下指代存储器140,但是本领域技术人员将认识到指令可以储存在存储器140和/或150中。
如图12所示,存储器140可以储存对象识别模块1202、约束模块1204、验证模块1206和导航变化模块1208。所公开的实施例不限于存储器140的任何特定配置。此外,应用处理器180和/或图像处理器190可以执行在存储器140中包括的任何模块1202、1204、1206和1208中所储存的指令。本领域技术人员将理解,在以下讨论中对处理单元110的参考可以单独地或共同地指代应用处理器180和图像处理器190。因此,任何以下处理的步骤可以由一个或多个处理设备来执行。
在一个实施例中,对象识别模块1202可以储存指令(诸如计算机视觉软件),该指令在由处理单元110执行时,从与主车辆相关联的第一数据源接收第一输出,并且从与主车辆相关联的第二数据源接收第二输出。第一数据源和第二数据源中的至少一者包括主车辆上的传感器。例如,对象识别模块1202可以从主车辆上的第一传感器接收第一输出,并且从主车辆上的第二传感器接收第二输出。因此,第一数据源可以包括以下中的至少一者:主车辆上的相机、激光雷达或雷达,并且第二数据源可以包括与第一数据源不同的以下中的至少一者:主车辆上的相机、激光雷达或雷达。
可替代地,对象识别模块1202可以从主车辆上的第一传感器接收第一输出,并且从由处理单元110访问的地图接收第二输出。因此,第一数据源可以包括以下中的至少一者:主车辆上的相机、激光雷达或雷达,并且第二数据源可以包括地图数据。
在一个实施例中,对象识别模块1202可以储存指令(诸如计算机视觉软件),该指令在由处理单元110执行时识别第一输出中的目标对象的表示。例如,对象识别模块1202可以执行上述过程500B的全部或一部分,以便识别目标对象的表示。
在一个示例中,对象识别模块1202可以通过扫描第一输出,将第一输出与一个或多个预定模式比较,并在第一输出中识别可能包含感兴趣对象(例如车辆、行人、静态对象、车道标记等)的可能位置,从而确定表示目标对象(例如,车辆、行人、静态对象、车道标记等)的一组候选对象。预定模式可以匹配来自第一传感器的输出的类型。例如,如果第一传感器是相机,则预定模式可以是视觉的,而如果第一传感器是麦克风,则预定模式可以是听觉的。在一些实施例中,预定模式可以被配置为实现高“伪命中”率和低“漏掉”率。例如,对象识别模块1202可以将低的相似性的阈值用于将候选对象识别为可能的目标对象的预定模式,以便降低漏掉(例如,未识别)表示目标对象的候选对象的可能性。
对象识别模块1202可以进一步基于分类标准过滤该组候选对象以排除某些候选(例如,不相关或较不相关的对象)。这样的标准可以从与储存在数据库(例如,储存在存储器140中的数据库(未示出)和/或从一个或多个远程服务器访问的数据库)中的对象类型相关联的各种属性导出。属性可以包括对象形状、尺寸、纹理、位置(例如,相对于主车辆)、速度(例如,相对于主车辆)等。因此,对象识别模块1202可以使用一组或多组标准来从该组候选对象中拒绝伪候选。
在第一输出包括随时间的多个帧的实施例中,对象识别模块1202还可以分析第一输出的多个帧以确定该组候选对象中的对象是否表示目标对象。例如,对象识别模块1202可以跨连续帧来跟踪检测到的候选对象并累积与检测到的对象相关联的逐帧数据(例如,大小、相对于主车辆的位置、相对于主车辆的速度等)。附加地或可替代地,对象识别模块1202可以估计检测到的对象的参数并将该对象的逐帧位置数据与预测的位置比较。尽管第一输出可能是图像,但“帧”的使用并不意味着第一输出必须是图像。如本文所使用的,“帧”指代从第一传感器、第二传感器或任何其它传感器接收到的跨时间的任何离散测量序列。
对象识别模块1202可以进一步针对检测到的对象构建一组测量。这样的测量可以包括例如与检测到的对象相关联的(例如,相对于主车辆的)位置、速度和加速度值。在一些实施例中,目标对象模块2004可以基于使用一系列基于时间的观察的估计技术(诸如卡尔曼滤波器或线性二次估计(LQE))和/或基于对于不同对象类型(例如,汽车、卡车、行人、自行车、道路标志等)可用的建模数据,来构建该测量。卡尔曼滤波器可以基于对象的比例的测量,其中该比例测量与要碰撞的时间(例如,主车辆到达对象的时间量)成比例。
在第一输出包括随时间的多个帧的实施例中,对象识别模块1202可以执行对一个或多个图像的光流分析,以减少检测到“伪命中”和漏掉表示车辆或行人的候选对象的可能性。光流分析可以指,例如,在一个或多个图像中分析相对于车辆200的、与其它车辆和行人相关联的并且区别于路面运动的运动模式。处理单元110可以通过跨越在不同时间捕捉到的多个图像帧观察对象的不同位置,来计算候选对象的运动。处理单元110可以使用该位置和时间值作为对用于计算候选对象的运动的数学模型的输入。因此,光流分析可以提供检测车辆200附近的车辆和行人的另一种方法。处理单元110可以结合步骤540至546执行光流分析,以提供检测车辆和行人的冗余,并提高系统100的可靠性。
附加地或可替代地,对象识别模块1202可以执行上述过程500C的全部或一部分,以便识别目标对象的表示。在对象识别模块1202被实现为经训练的系统的所选动作的额外处理层的实施例中,对象识别模块1202可以从经训练的系统接收目标对象的标识。因此,对象识别模块1202可以扫描第一输出,将第一输出与匹配从经训练的系统接收的目标对象的模式进行比较,并且在第一输出内识别目标对象的位置。例如,对象识别模块1202可以从经训练的网络接收另一车辆的标识,提取储存在数据库(例如储存在存储器140中的数据库(未示出)和/或从一个或多个远程服务器访问的数据库)中的模式,该模式被索引为车辆的模式并与第一输出的类型(例如,视觉、听觉、热能等)匹配,并通过将第一输出与提取的模式进行比较以在第一输出中识别其它车辆的位置。
可替代地,在对象识别模块1202被实现为经训练的系统的所选动作的额外处理层的实施例中,对象识别模块1202可以从经训练的系统接收目标对象的标识以及目标对象的位置。如果接收到的位置在第一输出中,则对象识别模块1202可以在接收到的位置处和/或附近执行分类(例如,使用上述比较)以识别第一输出中的目标对象。如果接收到的位置在另一输出中(例如,来自另一传感器),则对象识别模块1202可以提取储存在数据库(例如,储存在存储器140中的数据库(未示出)和/或从一个或多个远程服务器访问的数据库)中的模式,该模式被索引为与目标对象(例如,车辆、行人、静态对象等)匹配的对象的类型的模式并与第一输出的类型(例如,视觉、听觉、热能等)匹配,并通过将第一输出与提取的模式进行比较在第一输出内识别目标对象的位置。此外,或作为该比较的替代,对象识别模块1202可以构造图集(atlas),该图集包括将由经训练的系统使用的输出上的位置映射到第一输出上的位置的信息。基于此,对象识别模块1202可以基于由经训练的系统使用的输出中的目标对象的位置,来确定第一输出中期望目标对象的表示的位置,并执行分类(例如,使用上述比较)以在第一个输出内识别目标对象的位置。
在一个实施例中,导航约束模块1204可以储存可由处理单元110执行的软件,以确定目标对象的特性是否触发了至少一个导航约束。目标对象的特性可以触发硬(安全性)约束或软(舒适性)约束。例如,目标对象的距离可以基于(例如,到其它车辆、到行人、到道路边缘、到车道标记等的)最小距离或最大距离来触发硬约束和/或基于优选距离来触发软约束。在另一示例中,目标对象的大小可以基于最小大小或最大大小(例如,障碍物的高度、间隙的高度等)来触发硬约束和/或基于优选大小来触发软约束。在又一示例中,目标对象的位置可以基于(例如,在主车辆的当前行驶车道内、主车辆的计划轨迹的特定阈值距离内等的)受限区域来触发硬约束和/或基于(例如,在当前行驶车道附近的车道或人行道上、计划轨迹的范围内等的)优选区域来触发软约束。
在一个实施例中,如果目标对象的特性不触发至少一个导航约束,则验证模块1206可以基于第一输出和第二输出的组合来验证对目标对象的表示的识别(identification)。例如,该组合可以包括交叉方案或协同方案。交叉方案可以包括在第一输出和第二输出中都识别到目标对象以进行验证的要求。例如,可能需要在包括第一数据源的雷达、激光雷达或相机中以及在包括第二数据源的雷达、激光雷达或相机中识别目标对象以便进行验证。也就是说,如果目标对象由多个数据源检测到,则可以认为该目标对象被认可。协同方案可以包括第一数据源和第二数据源的组合以便验证目标对象。例如,协同方案可以涉及基于组合从多个数据源获得的部分数据来识别或认可目标对象。协同方案的一个示例可以包括对目标对象的范围的相机估计,该范围是从道路高程模型(例如,基于另一相机)或从激光雷达测量的。另一示例可以包括使用激光雷达对目标对象的检测以及基于来自一个或多个相机的光流使用道路高程模型对目标对象的测量。又一个示例可以包括使用相机的车道检测(例如,目标对象包括道路边缘或车道标记),然后使用地图数据确认该检测。又一示例可以包括使用一个或多个相机的目标对象检测,以及使用激光雷达来确定主车辆环境中的自由空间。
另一方面,如果目标对象的特性触发至少一个导航约束,则验证模块1206可以基于第一输出来验证对目标对象的表示的识别。例如,可以使用统一方案,使得仅使用第一输出来认可或验证目标对象。
导航变化模块1208可以使用对象识别模块1202和/或验证模块1206的输出来实施用于导航调整的决策树。导航调整可以基于从第一传感器、第二传感器、任何其它传感器导出的数据,地图数据,以及从第一输出、第二输出和任何其它输出中检测到的一个或多个对象。导航变化模块1208还可以基于来自车辆200的其它系统(诸如车辆200的油门调节系统220、制动系统230和转向系统240)的输入确定期望的导航响应。附加地或可替代地,如上所述,导航变化模块1208可以从其它存储器模块(未示出)和/或从经训练的系统接收一个或多个导航调整。因此,导航变化模块1208可以实现为经训练的系统的所选动作的额外处理层。
因此,导航变化模块1208可以响应于验证,引起主车辆的至少一个导航变化。为了引起至少一个导航变化,导航变化模块1208可以向车辆200的油门调节系统220、制动系统230和转向系统240传输电子信号以触发期望的导航响应,例如通过转动车辆200的方向盘以实现预定角度的旋转。在一些实施例中,至少一个导航变化可以包括响应于验证而对主车辆的一个或多个导航致动器进行的前述任何调整。
此外,本文公开的任何模块(例如,模块1202、1204、1206和1208)可以实施与经训练的系统(诸如神经网络或深度神经网络)或未经训练的系统相关联的技术。附加地或可替代地,本文公开的任何模块(例如,模块1202、1204、1206和1208)可以将技术实施为经训练系统的所选动作的额外处理层。
图13A和13B提供示例安全性和舒适性约束的示意图。如图13A所示,主车辆1300可以检测在主车辆1300前面的其它车辆(诸如车辆1301),在主车辆1300后面的其它车辆(诸如车辆1303)以及除主车辆1300正在行驶的车道之外的车道中的其它车辆(例如车辆1307)作为目标对象。
这样的检测到的对象的特性可以触发导航约束。例如,主车辆1300与另一车辆1301之间的距离1309、主车辆1300与另一车辆1307之间的距离1311和/或主车辆1300与另一车辆1303之间的距离1313可以触发导航约束。尽管未在图13A和13B中示出,但是与车辆1301、1303和1305中的一个或多个相关联的其它特性可以包括主车辆1300与车辆1301、1303和1305中的一个或多个之间的相对速度、与车辆1301、1303和1305中的一个或多个的碰撞时间等。
在上述示例中,触发的导航约束可以与到车辆1301、1303和1305中的一个或多个的距离(诸如最小距离),主车辆1300与车辆1301、1303和1305中的一个或多个之间的相对速度(诸如最大相对速度,例如接近零),与车辆1301、1303和1305中的一个或多个的碰撞时间(诸如最小碰撞时间,例如,接近无穷大)等相关联。因此,特性可以触发硬(或安全性)约束。可替代地,特性可以不触发导航约束。例如,一个或多个软约束(或“期望”)可以与特性相关联。
图13C和13D提供了与所公开的实施例一致的其它示例安全性和舒适性约束的示意图。如图13C和13D所示,主车辆1300可以将主车辆1300在其上行驶的道路上的静态对象1315检测为目标对象。附加地或可替代地,主车辆1300可以将车道标记检测为目标对象。
在图13C和13D的示例中,主车辆1300与静态对象1315之间的距离1317可以是触发导航约束的特性。附加地或可替代地,主车辆1300与车道标记之间的距离1319可以是触发导航约束的特性。尽管未在图13C和13D中示出,但是与静态对象1315或车道标记相关联的其它特性可以包括主车辆1300与静态对象1315或车道标记之间的相对速度、与静态对象1315或车道标记的碰撞时间等。
在以上示例中,导航约束可以与到静态对象1315或车道标记的距离(诸如最小距离)、主车辆1300与静态对象1315或车道标记之间的相对速度(诸如最大相对速度,例如接近零)、与静态对象1315或车道标记的碰撞时间(诸如最小碰撞时间,例如接近无穷大)等相关联。因此,特性可以触发硬(或安全性)约束。可替代地,特性可以不触发导航约束。例如,一个或多个软约束(或“期望”)可以与特性相关联。
图14提供了表示与公开的实施例一致的,用于基于安全性和舒适性约束来导航主车辆的示例过程1400的流程图。过程1400可以由至少一个处理设备(诸如,处理设备110)执行。
在步骤1402,处理设备110可以从与主车辆相关联的第一数据源接收第一输出。例如,如以上关于对象识别模块1202所解释的,第一数据源可以包括以下中的至少一者:主车辆上的相机、激光雷达或雷达。
在步骤1404,处理设备110可以从与主车辆相关联的第二数据源接收第二输出。例如,如以上关于对象识别模块1202所解释的,第二数据源可以包括由至少一个处理设备访问的地图数据。
然后,在一些实施例中,第一数据源和第二数据源中的至少一者包括主车辆上的传感器。在一些实施例中,第一数据源和第二数据源都可以包括传感器。例如,第一数据源和第二数据源可以包括不同的相机,第一数据源可以包括相机且第二数据源可以包括雷达,第一数据源可以包括相机且第二数据源可以包括激光雷达等。在其它实施例中,第一数据源和第二数据源中的另一个可以包括另一个数据源,诸如地图数据。
在步骤1406,处理设备110可以在第一输出中识别目标对象的表示。例如,处理设备110可以如上面关于对象识别模块1202所描述的识别目标对象。
在步骤1408,处理设备110可以确定目标对象的特性是否触发至少一个导航约束。例如,如以上关于导航约束模块1204所解释的,该特性可以包括目标对象的大小、从主车辆到目标对象的距离、或目标对象在主车辆环境中的位置。
在步骤1410a,如以上关于验证模块1206所解释的,如果目标对象的特性不触发至少一个导航约束,则处理设备110可以基于第一输出和第二输出的组合来验证对目标对象的表示的识别。
在一些实施例中,基于第一输出和第二输出的组合来验证对目标对象的表示的识别可以包括:确定在第一输出和第二输出两者中是否都识别出目标对象的表示。例如,如以上关于验证模块1206所解释的,该组合可以包括交叉方案。
附加地或可替代地,基于第一输出和第二输出的组合来验证对目标对象的表示的识别可以包括:使用投影到第一输出上的第二输出来确定目标对象的特性。例如,如以上关于验证模块1206所解释的,该组合可以包括协同方案。在一个示例中,如果第二输出包括地图数据,并且第一输出包括主车辆环境的至少一个图像,则投影可以包括使用地图数据来检测至少一个图像中的一个或多个道路边缘。在另一示例中,如果第二输出包括来自激光雷达的输出,并且第一输出包括主车辆环境的至少一个图像,则投影可以包括使用第二输出来检测至少一个图像中的自由空间。
在步骤1410b,如以上关于验证模块1206所解释的,如果目标对象的特性触发至少一个导航约束,则处理设备110可以基于第一输出来验证对目标对象的表示的识别。
在步骤1412,响应于验证,处理设备110可以引起主车辆的至少一个导航变化。例如,如以上关于导航变化模块1208所解释的,至少一个导航变化可以包括使主车辆减速、使主车辆加速或激活主车辆的转向机构。
方法1400可以进一步包括附加的步骤。例如,方法1400可以包括基于是否触发了至少一个导航约束来确定至少一个导航变化。例如,如以上关于导航变化模块1208所解释的,如果触发了至少一个导航约束,则至少一个导航变化可以包括第一变化,而如果没有触发至少一个导航约束,则至少一个导航变化可以包括不同的第二变化。在这样的实施例中,第二变化可以包括与第一变化相比更窄的转向机构调整角度、更轻的制动机构应用、更轻的加速度等。
用于导航的分批(batch)对齐
如上所述,远程服务器可以从多个车辆众包稀疏地图。然而,多个驾驶的全局对齐导致了稀疏地图中的误差累积。例如,驾驶中的自我运动漂移可能会使道路的几何形状变形,并且可能在全局聚合期间被夸大。此外,由于GPS测量中的误差,使用GPS数据执行全局对齐通常是不准确的。
因此,(一个或多个)远程服务器可以局部对齐一批驾驶以开发路线图,而不是全局对齐驾驶以开发稀疏地图。如本文所使用的,术语“路线图”可以指代稀疏地图(如上所述)或位置数据的其它表示(例如,储存为一个或多个样条)和/或以道路段局部的坐标而不是全局坐标储存的地标数据(例如,储存为地标的位置和/或与地标的外观、标识等有关的描述性数据)。这样的数据的对齐可能会导致更可靠的对齐和更小、更局部的地图。此外,与将驾驶在全局坐标内对齐而不先行进行局部对齐相比,局部路线图可以以更高的精度外推到全局坐标。例如,可以在局部对齐期间应对自我漂移(ego drift),因此,如果将局部路线图外推到全局坐标,则不会传播该自我漂移。此外,可以使用视觉线索(诸如,车道标记)执行局部对齐,该视觉线索可能比包括固有误差和漂移的GPS数据定位得更准确。
此外,全局对齐可能无法应对运动阴影、不同的照明、由于雨引起的反光以及由于执行驾驶的时间和日期不同而导致来自多次驾驶的图像和数据的其它变化。因此,在相同的日期、相似的时间和/或相似的天气条件期间进行的驾驶的分批对齐进一步提高了路线图的准确性。
图15是存储器140和/或150的示例性功能框图,该存储器140和/或150可以被储存/被编程指令以用于执行与本公开实施例一致的一个或多个操作。尽管以下指代存储器140,但是本领域技术人员将认识到指令可以储存在存储器140和/或150中。
如图15所示,存储器140可以储存导航信息接收模块1502、对齐模块1504、储存模块1506和分配模块1508。所公开的实施例不限于存储器140的任何特定配置。此外,应用处理器180和/或图像处理器190可以执行在存储器140中包括的任何模块1502、1504、1506和1508中所储存的指令。本领域技术人员将理解,在以下讨论中对处理单元110的引用可以单独地或共同地指代应用处理器180和图像处理器190。可替代地,远离主车辆的服务器的至少一个处理设备可以执行在存储器140中包括的任何模块1502、1504、1506和1508中储存的指令。因此,任何以下处理的步骤可以由一个或多个处理设备来执行。
在一个实施例中,导航信息接收模块1502可以储存指令(诸如计算机视觉软件),该指令在由处理单元110执行时从多个车辆接收导航信息。例如,来自多个车辆的导航信息可以与共同道路段相关联。可以通过一个或多个计算机网络接收导航信息。例如,多个车辆可以在驾驶期间上载信息,或者多个车辆可以在完成驾驶之后(例如在每小时、每天、每周等的上载会话中)上载信息。
在一些实施例中,导航信息可以包括在驾驶期间由车辆的一个或多个图像传感器捕捉的一个或多个图像。附加地或可替代地,导航信息可以包括来自图像的经处理的信息,诸如关于图像中识别的一个或多个地标的位置和/或描述性信息。导航信息可以附加地或可替代地包括车辆的位置信息,诸如GPS数据等。
在一实施例中,对齐模块1504可以储存指令(诸如计算机视觉软件),该指令在由处理单元110执行时在共同道路段局部的坐标系内对齐导航信息。例如,可以使用在来自车辆的图像传感器的图像中识别出的地标来对齐导航信息。在简单方案中,对齐可以包括对在图像中检测到的地标的位置求平均。在更复杂的方案中,对齐可以包括线性回归或其它统计技术以汇聚在图像中检测到的地标的位置。通过使用图像,对齐模块1504可以例如基于GPS数据在局部的坐标系而不是全球坐标系中对齐导航信息。实际上,对齐模块1504可以基于地标的对齐来调整在导航信息中包括的GPS数据,而不是基于GPS数据的对齐来调整地标。
在一个实施例中,存储模块1506可以储存指令(诸如计算机视觉软件),该指令在由处理单元110执行时与共同道路段相关联地储存对齐的导航信息。例如,导航信息可以储存在数据库中,使得共同道路段的标识符与对齐的导航信息一起储存并用于索引。共同道路段的标识符可以包括用于描绘共同道路段的一个或多个坐标(例如,共同道路段的起点和/或共同道路段的终点的全局坐标)。
在一个实施例中,分配模块1508可以储存指令(诸如计算机视觉软件),该指令在由处理单元110执行时将对齐的导航信息分配给一个或多个自主车辆,以用于沿着共同道路段自主导航一个或多个自主车辆。例如,当车辆接近或以其他方式预期遍历共同道路段时,一个或多个车辆可以请求导航信息。分配模块1508可以通过一个或多个计算机网络将对齐的导航信息传输到请求车辆。
图16示出了与所公开的实施例一致的,通过组合来自许多驾驶的导航信息而生成的示例路线图1620和1640以及通过组合路线图而生成的示例全局地图1650。如图16所示,第一组驾驶1610可以包括从沿着共同道路段的五次分别的驾驶接收的位置数据(例如,6PS数据)。如果一次驾驶在相同的时间由分别的车辆遍历,在分别的时间由相同的车辆遍历或在分别的时间由分别的车辆遍历,则其可以与另一次驾驶分开。远程服务器可以使用一种或多种统计技术来生成路线图1620,以对齐沿着道路段的位置数据。例如,远程服务器可以确定位置数据中的变化是否表示实际差异或统计误差,并且可以使用由在驾驶期间捕捉的图像确定的坐标系来对齐位置数据。因此,对齐将是道路段局部的,并且将是自一致(self-consistent)的,而不是与外部坐标系(诸如全局的坐标系)一致。
类似地,第二组驾驶1630可以包括从沿着共同道路段的五个另外的驾驶接收的位置数据(例如,GPS数据)。远程服务器可以使用一种或多种统计技术来生成路线图1640,以对齐沿着道路段的位置数据。例如,远程服务器可以确定位置数据中的变化是否表示实际差异或统计误差,并且可以使用由在驾驶期间捕捉的图像确定的坐标系来对齐位置数据。因此,对齐将是道路段局部的,并且将是自一致的,而不是与外部坐标系(诸如全局的坐标系)一致。
第一组驾驶1610和第二组驾驶1630可以由远程服务器群集,例如,根据进行驾驶的一天中的时间、进行驾驶的日期、在驾驶期间的一个或多个天气条件等。因此,与其中来自一天中的不同时间、来自不同的日期和/或来自不同的天气条件的驾驶彼此对齐的常规技术相比,路线图1620和路线图1640可以具有提高的准确性。
如图16进一步所示,可以将路线图1620和路线图1640外推到全局的坐标系,并作为全局地图1650的一部分进行对齐。例如,远程服务器可以再次使用一种或多种统计技术来沿着道路段对齐位置数据。远程服务器可以使用全局的坐标系中的GPS数据或其它数据,而不是在驾驶期间捕捉的图像,以确保在全局的坐标系而不是局部的坐标系中执行路线图1620和路线图1640的对齐。因为路线图1620和路线图1640比单个驾驶提供更准确的输入,所以与第一组驾驶1610和第二组驾驶1630已直接在全局的坐标系上对齐相比,全局地图1650具有更高的准确性。
尽管使用驾驶数据来描绘,但是路线图1620和1640(以及全局地图1650)可以进一步包括与该道路段相关联并且存在于图像中的一个或多个地标。例如,可以在形成路线图1620和路线图1640时对齐地标(或者甚至可以将地标用于对齐形成路线图1620和路线图1640的驾驶数据)。类似地,可以在形成全局地图1650时对齐地标(或者甚至可以将地标用于全局对齐路线图1620和路线图1640)。
图17提供了表示与所公开的实施例一致的用于对齐来自多个车辆的导航信息的示例过程1700的流程图。过程1700可以由至少一个处理设备(诸如,处理设备110)执行。可替代地,过程1700可以由远离主车辆的服务器的至少一个处理设备执行。
在步骤1710,服务器可以从多个车辆接收导航信息。例如,来自多个车辆的导航信息可以与共同道路段相关联。在一些实施例中,如以上关于导航信息接收模块1502所解释的,导航信息可以包括全球定位系统(GPS)信息和/或在由在多个车辆上包括的图像传感器捕捉的图像中包括的一个或多个地标。例如,一个或多个地标可以包括沿着共同道路段的可见对象。在这样的实施例中,对象可以包括道路标记和道路标志中的至少一者。
在一些实施例中,可以通过使用射频、红外频率、磁场、电场等在计算机网络(例如,蜂窝、因特网等)上接收导航信息。可以使用任何已知的标准来传输导航信息以发送和/或接收数据(例如,Wi Fi、蓝牙智能、802.15.4、ZigBee等)。
在步骤1720,如以上关于对齐模块1504所解释的,服务器可以在共同道路段局部的坐标系内对齐导航信息。例如,局部的坐标系可以包括基于由在多个车辆上包括的图像传感器捕捉的多个图像的坐标系。
在一些实施例中,对齐导航信息可以基于一个或多个地标。例如,如上所述,服务器可以基于地标的对齐来调整在导航信息中包括的GPS数据,而不是基于GPS数据的对齐来调整地标。
在步骤1730,如以上关于储存模块1506所解释的,服务器可以与共同道路段相关联地储存对齐的导航信息。例如,导航信息可以储存在数据库中,使得共同道路段的标识符与对齐的导航信息一起储存并用于索引该对齐的导航信息。
在步骤1740,如以上关于分配模块1508所解释的,服务器可以将对齐的导航信息分配给一个或多个自主车辆,以用于沿着共同道路段自主导航一个或多个自主车辆。例如,一个或多个车辆可以请求导航信息,并且服务器可以响应于(一个或多个)请求并且通过使用射频、红外频率、磁场、电场等在计算机网络(例如,蜂窝、因特网等)上传输对齐的导航信息。可以使用任何已知的标准来传输对齐的导航信息以发送和/或接收数据(例如,Wi Fi、蓝牙智能、802.15.4、ZigBee等)。
方法1700可以进一步包括另外的步骤。例如,在一些实施例中,多个车辆可能已经在特定时间段期间捕捉了导航信息。在这样的实施例中,方法1700可以进一步包括:从第二多个车辆接收另外的导航信息,来自第二多个车辆的该另外的导航信息在第二时间段期间被捕捉并与共同道路段相关联,并且在共同道路段局部的坐标系内对齐另外的导航信息,该局部的坐标系是基于由在第二多个车辆上包括的图像传感器捕捉的多个图像的坐标系,以及与共同道路段相关联地储存对齐的另外的导航信息。
附加地或可替代地,多个车辆可能已经在多个驾驶上捕捉了导航信息,驾驶的数量不超过驾驶的阈值数量。在这样的实施例中,方法1700可以进一步包括:从第二多个车辆接收另外的导航信息,来自第二多个车辆的该另外的导航信息在另外的驾驶上被捕捉并与共同道路段相关联,并且在共同道路段局部的坐标系内对齐另外的导航信息,该局部的坐标系是基于由在第二多个车辆上包括的图像传感器捕捉的多个图像的坐标系,以及与共同道路段相关联地储存对齐的另外的导航信息。
在上述任何实施例中,方法1700可以进一步包括将对齐的导航信息外推到一组全局坐标,并与共同道路段相关联地储存全局对齐的导航信息。此外,在包括另外的导航信息的实施例中,方法1700可以进一步包括将对齐的导航信息和对齐的另外的导航信息外推到一组全局坐标,并与共同道路段相关联地储存全局对齐的导航信息和另外的导航信息。
出于说明的目的已经呈现了前面的描述。它不是穷举性的并且不限于所公开的精确形式或实施例。考虑到所公开实施例的说明书和实践,修改和改编对于本领域技术人员来说是显而易见的。此外,尽管所公开的实施例的各方面被描述为储存在存储器中,但是本领域技术人员将理解,这些方面也可以储存在其它类型的计算机可读介质上,诸如辅助储存设备,例如,硬盘或CD ROM,或其它形式的RAM或ROM、USB介质、DVD、蓝光、4K超高清蓝光或其它光驱介质。
基于书面说明和所公开的方法的计算机程序在有经验的开发人员的技术范围内。可以使用任何本领域技术人员已知的技术来创建或可以结合现有的软件来设计各种程序或程序模块。例如,程序部分或程序模块可以在.Net Framework、.Net Compact Framework(以及相关语言,诸如Visual Basic、C等)、Java、C++、Objective-C、HTML、HTML/AJAX组合、XML或包括Java小程序的HTML中设计或通过它们设计。
此外,虽然已经在本文中描述了说明性实施例,但是本领域技术人员基于本公开将认识到具有等同的要素、修改、省略、组合(例如,遍及各个实施例的方面的)、改编和/或改变的任何以及所有实施例的范围。权利要求书中的限定将基于权利要求书中采用的语言宽泛地解释,并且不限于在本说明书中或在本申请的审查期间所描述的示例。示例将被解释为非排他性的。此外,可以以任何方式修改所公开方法的步骤,包括通过重新排序步骤和/或插入或删除步骤。因此,意图是说明书和示例被视为仅是说明性的,真正的范围和精神由以下权利要求及其等同物的全部范围来表示。
Claims (40)
1.一种用于主车辆的导航系统,所述导航系统包括:
至少一个处理设备,其被编程为:
从与所述主车辆相关联的第一数据源接收第一输出,并从与所述主车辆相关联的第二数据源接收第二输出,其中所述第一数据源和所述第二数据源中的至少一者包括在所述主车辆上的传感器;
在所述第一输出中识别目标对象的表示;
确定所述目标对象的特性是否触发至少一个导航约束;
如果所述目标对象的特性不触发所述至少一个导航约束,则基于所述第一输出和所述第二输出的组合来验证对所述目标对象的表示的识别;
如果所述目标对象的特性触发所述至少一个导航约束,则基于所述第一输出来验证对所述目标对象的表示的识别;以及
响应于所述验证,引起所述主车辆的至少一个导航变化。
2.根据权利要求1所述的系统,其中,所述至少一个导航变化包括使所述主车辆减速。
3.根据权利要求1所述的系统,其中,所述至少一个导航变化包括使所述主车辆加速。
4.根据权利要求1所述的系统,其中,所述至少一个导航变化包括激活所述主车辆的转向机构。
5.根据权利要求1所述的系统,其中,所述第一数据源包括以下中的至少一者:在所述主车辆上的相机、激光雷达或雷达。
6.根据权利要求1所述的系统,其中,所述第二数据源包括由所述至少一个处理设备访问的地图数据。
7.根据权利要求1所述的系统,其中,基于所述第一输出和所述第二输出的组合来验证对所述目标对象的表示的识别包括:确定在所述第一输出和所述第二输出两者中是否都识别出所述目标对象的表示。
8.根据权利要求1所述的系统,其中,基于所述第一输出和所述第二输出的组合来验证对所述目标对象的表示的识别包括:使用投影到所述第一输出上的所述第二输出来确定所述目标对象的特性。
9.根据权利要求8所述的系统,其中,所述第二输出包括地图数据,所述第一输出包括所述主车辆的环境的至少一个图像,并且所述投影包括使用所述地图数据来检测所述至少一个图像中的一个或多个道路边缘。
10.根据权利要求8所述的系统,其中,所述第二输出包括来自激光雷达的输出,所述第一输出包括所述主车辆的环境的至少一个图像,并且所述投影包括使用所述第二输出来检测所述至少一个图像中的自由空间。
11.根据权利要求1所述的系统,其中,所述目标对象的特性包括所述目标对象的大小。
12.根据权利要求1所述的系统,其中,所述目标对象的特性包括从所述主车辆到所述目标对象的距离。
13.根据权利要求1所述的系统,其中,所述目标对象的特性包括所述目标对象在所述主车辆的环境中的位置。
14.一种用于导航主车辆的计算机实现的方法,所述方法包括:
从与所述主车辆相关联的第一数据源接收第一输出,并从与所述主车辆相关联的第二数据源接收第二输出,其中所述第一数据源和所述第二数据源中的至少一者包括在所述主车辆上的传感器;
在所述第一输出中识别目标对象的表示;
确定所述目标对象的特性是否触发至少一个导航约束;
如果所述目标对象的特性不触发所述至少一个导航约束,则基于所述第一输出和所述第二输出的组合来验证对所述目标对象的表示的识别;
如果所述目标对象的特性触发所述至少一个导航约束,则基于所述第一输出来验证对所述目标对象的表示的识别;和
响应于所述验证,引起所述主车辆的至少一个导航变化。
15.根据权利要求14所述的方法,其中,所述至少一个导航变化包括以下中的至少一者:使所述主车辆减速、使所述主车辆加速或激活所述主车辆的转向机构。
16.根据权利要求14所述的方法,其中,所述第一数据源包括以下中的至少一者:在所述主车辆上的相机、激光雷达或雷达。
17.根据权利要求14所述的方法,其中,所述第二数据源包括由所述至少一个处理设备访问的地图数据。
18.根据权利要求14所述的方法,其中,基于所述第一输出和所述第二输出的组合来验证对所述目标对象的表示的识别包括:确定在所述第一输出和所述第二输出两者中是否都识别出所述目标对象的表示。
19.根据权利要求14所述的方法,基于所述第一输出和所述第二输出的组合来验证对所述目标对象的表示的识别包括:使用投影到所述第一输出上的所述第二输出来确定所述目标对象的特性。
20.一种非暂时性计算机可读介质,其储存指令,所述指令在由至少一个处理设备执行时,使得至少一个处理设备:
从与主车辆相关联的第一数据源接收第一输出,并从与所述主车辆相关联的第二数据源接收第二输出,其中所述第一数据源和所述第二数据源中的至少一者包括在所述主车辆上的传感器;
在所述第一输出中识别目标对象的表示;
确定所述目标对象的特性是否触发至少一个导航约束;
如果所述目标对象的特性不触发所述至少一个导航约束,则基于所述第一输出和所述第二输出的组合来验证对所述目标对象的表示的识别;
如果所述目标对象的特性触发所述至少一个导航约束,则基于所述第一输出来验证对所述目标对象的表示的识别;以及
响应于所述验证,引起所述主车辆的至少一个导航变化。
21.一种非暂时性计算机可读介质,其储存指令,所述指令在由至少一个处理设备执行时,使得服务器:
从多个车辆接收导航信息,其中,来自所述多个车辆的所述导航信息与共同道路段相关联;
在所述共同道路段局部的坐标系内对齐所述导航信息,其中,所述局部的坐标系包括基于由在所述多个车辆上包括的图像传感器捕捉的多个图像的坐标系;
与所述共同道路段相关联地储存对齐的导航信息;以及
将所述对齐的导航信息分配给一个或多个自主车辆,以用于沿着所述共同道路段自主导航所述一个或多个自主车辆。
22.根据权利要求21所述的非暂时性计算机可读介质,其中,所述导航信息是通过计算机网络接收的。
23.根据权利要求21所述的非暂时性计算机可读介质,其中,所述导航信息包括全球定位系统(GPS)信息。
24.根据权利要求21所述的非暂时性计算机可读介质,其中,所述导航信息包括由在所述多个车辆上包括的图像传感器捕捉的图像中包括的一个或多个地标。
25.根据权利要求24所述的非暂时性计算机可读介质,其中,基于所述一个或多个地标来对齐所述导航信息。
26.根据权利要求24所述的非暂时性计算机可读介质,其中,所述一个或多个地标包括沿着所述共同道路段的可见对象。
27.根据权利要求26所述的非暂时性计算机可读介质,其中,所述对象包括道路标记和道路标志中的至少一者。
28.根据权利要求21所述的非暂时性计算机可读介质,其中,所述指令进一步使得所述服务器:
将所述对齐的导航信息外推到一组全局坐标;以及
与所述共同道路段相关联地储存全局对齐的导航信息。
29.根据权利要求21所述的非暂时性计算机可读介质,其中,所述多个车辆在特定时间段期间捕捉所述导航信息。
30.根据权利要求29所述的非暂时性计算机可读介质,其中,所述指令进一步使得所述服务器:
从第二多个车辆接收另外的导航信息,其中,来自所述第二多个车辆的所述另外的导航信息在第二时间段期间被捕捉并与所述共同道路段相关联;
在所述共同道路段局部的坐标系内对齐所述另外的导航信息,其中,所述局部的坐标系包括基于由在所述第二多个车辆上包括的图像传感器捕捉的多个图像的坐标系;以及
与所述共同道路段相关联地储存对齐的另外的导航信息。
31.根据权利要求30所述的非暂时性计算机可读介质,其中,所述指令进一步使得所述服务器:
将所述对齐的导航信息和所述对齐的另外的导航信息外推到一组全局坐标;以及
与所述共同道路段相关联地储存全局对齐的导航信息和另外的导航信息。
32.根据权利要求21所述的非暂时性计算机可读介质,其中,所述多个车辆在多个驾驶上捕捉所述导航信息,所述驾驶的数量不超过驾驶的阈值数量。
33.根据权利要求32所述的非暂时性计算机可读介质,其中,所述指令进一步使得所述服务器:
从第二多个车辆接收另外的导航信息,其中,来自所述第二多个车辆的所述另外的导航信息在另外的驾驶上被捕捉并与所述共同道路段相关联;
在所述共同道路段局部的坐标系内对齐所述另外的导航信息,其中,所述局部的坐标系包括基于由在所述第二多个车辆上包括的图像传感器捕捉的多个图像的坐标系;以及
与所述共同道路段相关联地储存对齐的另外的导航信息。
34.根据权利要求33所述的非暂时性计算机可读介质,其中,所述指令进一步使得所述服务器:
将所述对齐的导航信息和所述对齐的另外的导航信息外推到一组全局坐标;以及
与所述共同道路段相关联地储存全局对齐的导航信息和另外的导航信息。
35.一种用于对齐来自多个车辆的导航信息的服务器,所述服务器包括:
至少一个处理设备,其被编程为:
从所述多个车辆接收所述导航信息,其中,来自所述多个车辆的导航信息与共同道路段相关联;
在所述共同道路段局部的坐标系内对齐所述导航信息,其中,所述局部的坐标系包括基于由在所述多个车辆上包括的图像传感器捕捉的多个图像的坐标系;
与所述共同道路段相关联地储存所述对齐的导航信息;以及
将所述对齐的导航信息分配给一个或多个自主车辆,以用于沿着所述共同道路段自主导航所述一个或多个自主车辆。
36.根据权利要求35所述的服务器,其中所述至少一个处理设备进一步被编程为:
将所述对齐的导航信息外推到一组全局坐标;以及
与所述共同道路段相关联地储存全局对齐的导航信息。
37.根据权利要求35所述的服务器,其中,所述多个车辆在特定时间段期间捕捉所述导航信息,并且所述至少一个处理设备进一步被编程为:
从第二多个车辆接收另外的导航信息,其中,来自所述第二多个车辆的所述另外的导航信息在第二时间段期间被捕捉并与所述共同道路段相关联;
在所述共同道路段局部的坐标系内对齐所述另外的导航信息,其中,所述局部的坐标系包括基于由在所述第二多个车辆上包括的图像传感器捕捉的多个图像的坐标系;以及
与所述共同道路段相关联地储存对齐的另外的导航信息。
38.根据权利要求35所述的服务器,其中,所述多个车辆在多个驾驶上捕捉所述导航信息,所述驾驶的数量不超过驾驶的阈值数量,并且所述至少一个处理设备进一步被编程为:
从第二多个车辆接收另外的导航信息,其中,来自所述第二多个车辆的所述另外的导航信息在另外的驾驶上被捕捉并与所述共同道路段相关联;
在所述共同道路段局部的坐标系内对齐所述另外的导航信息,其中,所述局部的坐标系包括基于由在所述第二多个车辆上包括的图像传感器捕捉的多个图像的坐标系;以及
与所述共同道路段相关联地储存对齐的另外的导航信息。
39.根据权利要求35所述的服务器,其中,所述导航信息包括全球定位系统(GPS)信息以及由在所述多个车辆上包括的图像传感器捕捉的图像中包括的一个或多个地标。
40.一种用于对齐来自多个车辆的导航信息的计算机实现的方法,所述方法包括:
从所述多个车辆接收所述导航信息,其中,来自所述多个车辆的所述导航信息与共同道路段相关联;
在所述共同道路段局部的坐标系内对齐所述导航信息,其中,所述局部的坐标系包括基于由在所述多个车辆上包括的图像传感器捕捉的多个图像的坐标系;
与所述共同道路段相关联地储存对齐的导航信息;以及
将所述对齐的导航信息分配给一个或多个自主车辆,以用于沿着所述共同道路段自主导航所述一个或多个自主车辆。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762519471P | 2017-06-14 | 2017-06-14 | |
US201762519493P | 2017-06-14 | 2017-06-14 | |
US62/519471 | 2017-06-14 | ||
US62/519493 | 2017-06-14 | ||
CN201880047013.0A CN110914641B (zh) | 2017-06-14 | 2018-06-14 | 自主导航的导航信息的融合构架和分批对齐 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880047013.0A Division CN110914641B (zh) | 2017-06-14 | 2018-06-14 | 自主导航的导航信息的融合构架和分批对齐 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112214027A true CN112214027A (zh) | 2021-01-12 |
Family
ID=63143286
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011029502.9A Pending CN112214027A (zh) | 2017-06-14 | 2018-06-14 | 自主导航的导航信息的融合构架和分批对齐 |
CN201880047013.0A Active CN110914641B (zh) | 2017-06-14 | 2018-06-14 | 自主导航的导航信息的融合构架和分批对齐 |
CN202410047893.9A Pending CN118274868A (zh) | 2017-06-14 | 2018-06-14 | 用于自主导航的装置和方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880047013.0A Active CN110914641B (zh) | 2017-06-14 | 2018-06-14 | 自主导航的导航信息的融合构架和分批对齐 |
CN202410047893.9A Pending CN118274868A (zh) | 2017-06-14 | 2018-06-14 | 用于自主导航的装置和方法 |
Country Status (7)
Country | Link |
---|---|
US (4) | US11561542B2 (zh) |
EP (3) | EP3764060B1 (zh) |
JP (4) | JP2020523660A (zh) |
KR (3) | KR20230130147A (zh) |
CN (3) | CN112214027A (zh) |
IL (2) | IL271157B2 (zh) |
WO (1) | WO2018229552A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065429A (zh) * | 2021-03-22 | 2021-07-02 | 洪璐 | 一种基于北斗的电力应急抢险车辆监控方法及系统 |
CN113156963A (zh) * | 2021-04-29 | 2021-07-23 | 重庆大学 | 基于监督信号引导的深度强化学习自动驾驶汽车控制方法 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3644293B1 (en) * | 2017-06-20 | 2021-08-04 | Nissan Motor Co., Ltd. | Travel control method and travel control device |
US10929713B2 (en) * | 2017-10-17 | 2021-02-23 | Sri International | Semantic visual landmarks for navigation |
WO2019090417A1 (en) | 2017-11-10 | 2019-05-16 | Clearpath Robotics Inc. | Systems and methods for updating an electronic map |
US11080537B2 (en) * | 2017-11-15 | 2021-08-03 | Uatc, Llc | Autonomous vehicle lane boundary detection systems and methods |
CN111971579A (zh) * | 2018-03-30 | 2020-11-20 | 三菱电机株式会社 | 物体辨识装置 |
JP6661695B2 (ja) * | 2018-05-09 | 2020-03-11 | 三菱電機株式会社 | 移動体検出装置、車両制御システム、移動体検出方法および車両制御方法 |
WO2020014683A1 (en) * | 2018-07-13 | 2020-01-16 | Kache.AI | Systems and methods for autonomous object detection and vehicle following |
US11227486B2 (en) * | 2018-07-16 | 2022-01-18 | Here Global B.V. | Method, apparatus, and system for estimating vulnerable road users |
US10909866B2 (en) * | 2018-07-20 | 2021-02-02 | Cybernet Systems Corp. | Autonomous transportation system and methods |
CN109543245B (zh) * | 2018-10-31 | 2021-08-10 | 百度在线网络技术(北京)有限公司 | 无人车应对能力边界信息确定方法、装置和电子设备 |
DE102018219391B4 (de) * | 2018-11-14 | 2021-05-20 | Honda Motor Co., Ltd. | Fahrzeugsteuervorrichtung, Fahrzeugsteuerverfahren undFahrzeugsteuerprogramm |
US10824913B1 (en) * | 2018-11-21 | 2020-11-03 | Amazon Technologies, LLC | Training machine learning models for physical agents and robotic controls with simulations |
DE112019004832T5 (de) * | 2018-12-18 | 2021-06-24 | Motional Ad Llc | Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen |
IL270540A (en) * | 2018-12-26 | 2020-06-30 | Yandex Taxi Llc | Method and system for training a machine learning algorithm to recognize objects from a distance |
DE102019202592A1 (de) | 2019-02-26 | 2020-08-27 | Volkswagen Aktiengesellschaft | Verfahren zum Betreiben eines Fahrerinformationssystems in einem Ego-Fahrzeug und Fahrerinformationssystem |
DE102019202587A1 (de) * | 2019-02-26 | 2020-08-27 | Volkswagen Aktiengesellschaft | Verfahren zum Betreiben eines Fahrerinformationssystems in einem Ego-Fahrzeug und Fahrerinformationssystem |
DE102019202578A1 (de) | 2019-02-26 | 2020-08-27 | Volkswagen Aktiengesellschaft | Verfahren zum Betreiben eines Fahrerinformationssystems in einem Ego-Fahrzeug und Fahrerinformationssystem |
CN115578711A (zh) * | 2019-05-21 | 2023-01-06 | 华为技术有限公司 | 自动换道方法、装置及存储介质 |
CN210390983U (zh) * | 2019-08-15 | 2020-04-24 | 北京百度网讯科技有限公司 | 自动驾驶车辆 |
DE102019213185A1 (de) | 2019-09-02 | 2021-03-04 | Volkswagen Aktiengesellschaft | Querführung eines Fahrzeugs mittels von anderen Fahrzeugen erfassten Umgebungsdaten |
CN114207539A (zh) * | 2019-09-03 | 2022-03-18 | 华为技术有限公司 | 多智能体系统中的大规模策略评估 |
US11087147B2 (en) | 2019-09-19 | 2021-08-10 | Ford Global Technologies, Llc | Vehicle lane mapping |
US11967106B2 (en) * | 2019-12-27 | 2024-04-23 | Motional Ad Llc | Object tracking supporting autonomous vehicle navigation |
CN111242986B (zh) * | 2020-01-07 | 2023-11-24 | 阿波罗智能技术(北京)有限公司 | 跨相机的障碍物跟踪方法、装置、设备、系统及介质 |
FR3107763B1 (fr) * | 2020-02-28 | 2022-01-28 | Continental Automotive | Procédé de cartographie tri-dimensionnelle et calculateur associé |
WO2021226921A1 (en) * | 2020-05-14 | 2021-11-18 | Harman International Industries, Incorporated | Method and system of data processing for autonomous driving |
US11829150B2 (en) | 2020-06-10 | 2023-11-28 | Toyota Research Institute, Inc. | Systems and methods for using a joint feature space to identify driving behaviors |
US11853077B1 (en) * | 2020-07-15 | 2023-12-26 | Amazon Technologies, Inc. | System for determining constraint regions for an autonomous mobile device |
DE112020007497T5 (de) * | 2020-08-10 | 2023-06-15 | Dr. Ing. H.C. F. Porsche Aktiengesellschaft | Vorrichtung und verfahren zur unterstützung eines spurwechsels |
US20230410531A1 (en) * | 2020-09-23 | 2023-12-21 | Bayerische Motoren Werke Aktiengesellschaft | Determining Correctness of Image Data of Camera System |
CN112560917A (zh) * | 2020-12-07 | 2021-03-26 | 北京交通大学 | 一种视觉定位方法及系统 |
TWI797526B (zh) * | 2020-12-25 | 2023-04-01 | 歐特明電子股份有限公司 | 多感測器自動駕駛系統 |
CN114755673A (zh) * | 2020-12-25 | 2022-07-15 | 欧特明电子股份有限公司 | 多传感器自动驾驶系统 |
JP7164640B2 (ja) * | 2021-01-12 | 2022-11-01 | 本田技研工業株式会社 | 車両システム |
US20220230345A1 (en) * | 2021-01-19 | 2022-07-21 | Home Depot Product Authority, Llc | Image based measurement estimation |
DE102021107904A1 (de) * | 2021-03-29 | 2022-09-29 | Conti Temic Microelectronic Gmbh | Verfahren und System zur Bestimmung der Bodenebene mit einem künstlichen neuronalen Netz |
US11794780B2 (en) * | 2021-07-29 | 2023-10-24 | GM Global Technology Operations LLC | Reward function for vehicles |
EP4138048A1 (en) * | 2021-08-17 | 2023-02-22 | Zenseact AB | Training of 3d lane detection models for automotive applications |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100202657A1 (en) * | 2008-10-22 | 2010-08-12 | Garbis Salgian | System and method for object detection from a moving platform |
DE102011117100A1 (de) * | 2011-10-27 | 2012-05-03 | Daimler Ag | Verfahren und Vorrichtung zur Bestimmung einer Fahrzeugumgebung |
US20150210312A1 (en) * | 2014-01-30 | 2015-07-30 | Mobileye Vision Technologies Ltd. | Systems and methods for detecting low-height objects in a roadway |
US20150234045A1 (en) * | 2014-02-20 | 2015-08-20 | Mobileye Vision Technologies Ltd. | Navigation based on radar-cued visual imaging |
US20150354976A1 (en) * | 2014-06-10 | 2015-12-10 | Mobileye Vision Technologies Ltd. | Top-down refinement in lane marking navigation |
US20160046290A1 (en) * | 2014-08-18 | 2016-02-18 | Mobileye Vision Technologies Ltd. | Recognition and prediction of lane constraints and construction areas in navigation |
CA2976344A1 (en) * | 2015-02-10 | 2016-08-18 | Mobileye Vision Technologies Ltd. | Sparse map for autonomous vehicle navigation |
US20160291155A1 (en) * | 2015-04-01 | 2016-10-06 | Vayavision, Ltd. | System and method for optimizing active measurements in 3-dimensional map generation |
CN106536299A (zh) * | 2014-05-22 | 2017-03-22 | 御眼视觉技术有限公司 | 基于检测对象制动车辆的系统和方法 |
US20170153639A1 (en) * | 2015-11-26 | 2017-06-01 | Mobileye Vision Technologies Ltd. | Predicting and Responding to Cut In Vehicles and Altruistic Responses |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19613386A1 (de) * | 1996-04-03 | 1997-10-09 | Fiat Om Carrelli Elevatori | Flurförderzeug, das wahlweise manuell oder automatisch betreibbar ausgebildet ist |
JPH1040379A (ja) * | 1996-07-22 | 1998-02-13 | Toyota Motor Corp | 走路検出装置 |
JPH11213137A (ja) * | 1998-01-29 | 1999-08-06 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
JP2001160200A (ja) * | 1999-12-02 | 2001-06-12 | Toyota Central Res & Dev Lab Inc | 前方道路情報取得手段選択装置 |
JP2001331787A (ja) * | 2000-05-19 | 2001-11-30 | Toyota Central Res & Dev Lab Inc | 道路形状推定装置 |
JP3687640B2 (ja) * | 2002-09-05 | 2005-08-24 | いすゞ自動車株式会社 | 自動操舵装置 |
WO2005010875A1 (en) | 2003-07-29 | 2005-02-03 | Samsung Electronics Co., Ltd. | Information storage medium and method and apparatus for recording and/or reproducing pointing information |
WO2005060640A2 (en) * | 2003-12-15 | 2005-07-07 | Sarnoff Corporation | Method and apparatus for object tracking prior to imminent collision detection |
JP2007178271A (ja) * | 2005-12-28 | 2007-07-12 | Aisin Aw Co Ltd | 自位置認識システム |
JP4715579B2 (ja) * | 2006-03-23 | 2011-07-06 | 株式会社豊田中央研究所 | 潜在危険度推定装置 |
JP5012270B2 (ja) * | 2007-07-10 | 2012-08-29 | トヨタ自動車株式会社 | 物体検出装置 |
CN101842662A (zh) * | 2007-11-02 | 2010-09-22 | 大陆-特韦斯贸易合伙股份公司及两合公司 | 数字地图的验证 |
US8509982B2 (en) * | 2010-10-05 | 2013-08-13 | Google Inc. | Zone driving |
CN102201172A (zh) * | 2011-05-17 | 2011-09-28 | 北京工业大学 | 具备行为导向与约束能力的车载导航装置及其方法 |
KR101658089B1 (ko) * | 2011-08-04 | 2016-09-30 | 엘지전자 주식회사 | 차선 유지 제어를 위한 차선 중심 추정 방법 및 그 장치 |
DE102011112578A1 (de) * | 2011-09-08 | 2013-03-14 | Continental Teves Ag & Co. Ohg | Verfahren und Vorrichtung für ein Assistenzsystem in einem Fahrzeug zur Durchführung eines autonomen oder teilautonomen Fahrmanövers |
JP5747787B2 (ja) * | 2011-11-04 | 2015-07-15 | トヨタ自動車株式会社 | 車線認識装置 |
US8855847B2 (en) * | 2012-01-20 | 2014-10-07 | Toyota Motor Engineering & Manufacturing North America, Inc. | Intelligent navigation system |
US9056395B1 (en) * | 2012-09-05 | 2015-06-16 | Google Inc. | Construction zone sign detection using light detection and ranging |
US8849494B1 (en) * | 2013-03-15 | 2014-09-30 | Google Inc. | Data selection by an autonomous vehicle for trajectory modification |
US9145139B2 (en) * | 2013-06-24 | 2015-09-29 | Google Inc. | Use of environmental information to aid image processing for autonomous vehicles |
DE202013006467U1 (de) * | 2013-07-18 | 2014-10-22 | GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) | Fahrzeugumfeld-Überwachungssystem |
CN104331703A (zh) * | 2013-07-22 | 2015-02-04 | 博世汽车部件(苏州)有限公司 | 监测车辆行驶状态的方法及实现该方法的汽车导航设备 |
DE102013020435A1 (de) * | 2013-12-06 | 2014-06-18 | Daimler Ag | Verfahren zum Erkennen von Objekten in einer Fahrzeugumgebung |
US9875661B2 (en) * | 2014-05-10 | 2018-01-23 | Aurora Flight Sciences Corporation | Dynamic collision-avoidance system and method |
WO2015177648A1 (en) * | 2014-05-14 | 2015-11-26 | Ofer Springer | Systems and methods for curb detection and pedestrian hazard assessment |
CN113654561A (zh) * | 2014-12-05 | 2021-11-16 | 苹果公司 | 自主导航系统 |
EP3251023A4 (en) * | 2015-01-26 | 2018-09-26 | TRW Automotive U.S. LLC | Vehicle driver assist system |
JP6543983B2 (ja) | 2015-03-23 | 2019-07-17 | 株式会社豊田中央研究所 | 道路情報生成装置及びプログラム |
KR20160136582A (ko) * | 2015-05-20 | 2016-11-30 | 정병로 | 내비게이션 음성 처리 시스템 |
JP6603045B2 (ja) | 2015-05-28 | 2019-11-06 | アイシン・エィ・ダブリュ株式会社 | 走行態様検出システム、走行態様検出方法及びコンピュータプログラム |
JP6539228B2 (ja) * | 2015-06-16 | 2019-07-03 | 株式会社デンソー | 車両制御装置、及び車両制御方法 |
KR102278387B1 (ko) * | 2015-07-07 | 2021-07-16 | 주식회사 만도 | 거리 산출 장치, 거리 산출 방법, 운전 지원 장치 및 운전 지원 시스템 |
US10509971B2 (en) * | 2015-08-28 | 2019-12-17 | Hitachi, Ltd. | Landmark recognition device and landmark recognition method using a database storing landmark extraction information |
JP6568437B2 (ja) * | 2015-09-17 | 2019-08-28 | クラリオン株式会社 | 区画線認識装置 |
US9916703B2 (en) * | 2015-11-04 | 2018-03-13 | Zoox, Inc. | Calibration for autonomous vehicle operation |
JP6589570B2 (ja) | 2015-11-05 | 2019-10-16 | 株式会社豊田中央研究所 | センター処理装置、地図生成システム、及びプログラム |
US10739786B2 (en) * | 2016-07-01 | 2020-08-11 | Uatc, Llc | System and method for managing submaps for controlling autonomous vehicles |
US10248124B2 (en) * | 2016-07-21 | 2019-04-02 | Mobileye Vision Technologies, Inc. | Localizing vehicle navigation using lane measurements |
US10203696B2 (en) * | 2016-07-26 | 2019-02-12 | Waymo Llc | Determining drivability of objects for autonomous vehicles |
US10176715B2 (en) * | 2016-07-27 | 2019-01-08 | Telenav, Inc. | Navigation system with dynamic mapping mechanism and method of operation thereof |
US10359518B2 (en) * | 2016-12-30 | 2019-07-23 | DeepMap Inc. | Vector data encoding of high definition map data for autonomous vehicles |
US10345812B2 (en) * | 2017-01-10 | 2019-07-09 | GM Global Technology Operations LLC | Methods and apparatus for optimizing a trajectory for an autonomous vehicle |
WO2018158642A1 (en) * | 2017-03-01 | 2018-09-07 | Mobileye Vision Technologies Ltd. | Systems and methods for navigating with sensing uncertainty |
US10040450B1 (en) * | 2017-03-13 | 2018-08-07 | Wipro Limited | Method of controlling an autonomous vehicle and a collision avoidance device thereof |
US10268203B2 (en) * | 2017-04-20 | 2019-04-23 | GM Global Technology Operations LLC | Calibration validation for autonomous vehicle operations |
US11436539B2 (en) * | 2017-05-26 | 2022-09-06 | Google Llc | Vehicle map service system |
WO2019000417A1 (en) * | 2017-06-30 | 2019-01-03 | SZ DJI Technology Co., Ltd. | SYSTEMS AND METHODS OF GENERATING CARDS |
US11537868B2 (en) * | 2017-11-13 | 2022-12-27 | Lyft, Inc. | Generation and update of HD maps using data from heterogeneous sources |
-
2018
- 2018-06-14 CN CN202011029502.9A patent/CN112214027A/zh active Pending
- 2018-06-14 KR KR1020237028886A patent/KR20230130147A/ko not_active Application Discontinuation
- 2018-06-14 CN CN201880047013.0A patent/CN110914641B/zh active Active
- 2018-06-14 CN CN202410047893.9A patent/CN118274868A/zh active Pending
- 2018-06-14 EP EP20182733.4A patent/EP3764060B1/en active Active
- 2018-06-14 WO PCT/IB2018/000808 patent/WO2018229552A2/en unknown
- 2018-06-14 JP JP2019563446A patent/JP2020523660A/ja active Pending
- 2018-06-14 EP EP18752252.9A patent/EP3638981B1/en active Active
- 2018-06-14 KR KR1020207027879A patent/KR102565533B1/ko active IP Right Grant
- 2018-06-14 IL IL271157A patent/IL271157B2/en unknown
- 2018-06-14 EP EP22208429.5A patent/EP4160147A1/en active Pending
- 2018-06-14 KR KR1020207000466A patent/KR102572219B1/ko active IP Right Grant
- 2018-06-14 IL IL311264A patent/IL311264A/en unknown
-
2019
- 2019-11-25 US US16/694,517 patent/US11561542B2/en active Active
- 2019-11-25 US US16/694,596 patent/US20200089232A1/en active Pending
-
2020
- 2020-06-26 US US16/913,976 patent/US11698263B2/en active Active
- 2020-07-22 US US16/935,567 patent/US10976741B2/en active Active
- 2020-09-25 JP JP2020161497A patent/JP7160262B2/ja active Active
-
2023
- 2023-07-05 JP JP2023110527A patent/JP2023130441A/ja active Pending
- 2023-07-05 JP JP2023110526A patent/JP7567151B2/ja active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100202657A1 (en) * | 2008-10-22 | 2010-08-12 | Garbis Salgian | System and method for object detection from a moving platform |
DE102011117100A1 (de) * | 2011-10-27 | 2012-05-03 | Daimler Ag | Verfahren und Vorrichtung zur Bestimmung einer Fahrzeugumgebung |
US20150210312A1 (en) * | 2014-01-30 | 2015-07-30 | Mobileye Vision Technologies Ltd. | Systems and methods for detecting low-height objects in a roadway |
US20150234045A1 (en) * | 2014-02-20 | 2015-08-20 | Mobileye Vision Technologies Ltd. | Navigation based on radar-cued visual imaging |
CN106536299A (zh) * | 2014-05-22 | 2017-03-22 | 御眼视觉技术有限公司 | 基于检测对象制动车辆的系统和方法 |
US20150354976A1 (en) * | 2014-06-10 | 2015-12-10 | Mobileye Vision Technologies Ltd. | Top-down refinement in lane marking navigation |
US20160046290A1 (en) * | 2014-08-18 | 2016-02-18 | Mobileye Vision Technologies Ltd. | Recognition and prediction of lane constraints and construction areas in navigation |
CA2976344A1 (en) * | 2015-02-10 | 2016-08-18 | Mobileye Vision Technologies Ltd. | Sparse map for autonomous vehicle navigation |
US20160291155A1 (en) * | 2015-04-01 | 2016-10-06 | Vayavision, Ltd. | System and method for optimizing active measurements in 3-dimensional map generation |
US20170153639A1 (en) * | 2015-11-26 | 2017-06-01 | Mobileye Vision Technologies Ltd. | Predicting and Responding to Cut In Vehicles and Altruistic Responses |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065429A (zh) * | 2021-03-22 | 2021-07-02 | 洪璐 | 一种基于北斗的电力应急抢险车辆监控方法及系统 |
CN113065429B (zh) * | 2021-03-22 | 2024-06-28 | 深圳北斗辰宇科技有限公司 | 一种基于北斗的电力应急抢险车辆监控方法及系统 |
CN113156963A (zh) * | 2021-04-29 | 2021-07-23 | 重庆大学 | 基于监督信号引导的深度强化学习自动驾驶汽车控制方法 |
CN113156963B (zh) * | 2021-04-29 | 2022-08-12 | 重庆大学 | 基于监督信号引导的深度强化学习自动驾驶汽车控制方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110914641B (zh) | 自主导航的导航信息的融合构架和分批对齐 | |
US11897518B2 (en) | Systems and methods for navigating with sensing uncertainty | |
CN113544467B (zh) | 对齐用于导航的道路信息 | |
US10649462B2 (en) | Constraint augmentation in a navigational system | |
IL288191B2 (en) | A navigation system with forced commitment constraints | |
US20240359710A1 (en) | Systems and methods for navigating with sensing uncertainty |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |