CN116783455A - 用于检测打开的门的系统和方法 - Google Patents
用于检测打开的门的系统和方法 Download PDFInfo
- Publication number
- CN116783455A CN116783455A CN202180011607.8A CN202180011607A CN116783455A CN 116783455 A CN116783455 A CN 116783455A CN 202180011607 A CN202180011607 A CN 202180011607A CN 116783455 A CN116783455 A CN 116783455A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- road
- image
- data
- door
- 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
- 238000000034 method Methods 0.000 title claims abstract description 155
- 238000001514 detection method Methods 0.000 claims abstract description 85
- 230000004044 response Effects 0.000 claims abstract description 53
- 230000009471 action Effects 0.000 claims abstract description 43
- 230000000694 effects Effects 0.000 claims abstract description 9
- 238000004458 analytical method Methods 0.000 claims description 74
- 238000013528 artificial neural network Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 description 227
- 239000003550 marker Substances 0.000 description 91
- 230000008569 process Effects 0.000 description 84
- 238000010191 image analysis Methods 0.000 description 62
- 238000012549 training Methods 0.000 description 53
- 230000033001 locomotion Effects 0.000 description 39
- 238000003860 storage Methods 0.000 description 35
- 238000004891 communication Methods 0.000 description 28
- 230000001133 acceleration Effects 0.000 description 27
- 238000004422 calculation algorithm Methods 0.000 description 24
- 230000000875 corresponding effect Effects 0.000 description 23
- 230000008859 change Effects 0.000 description 21
- 238000013507 mapping Methods 0.000 description 18
- 230000003287 optical effect Effects 0.000 description 17
- 238000005259 measurement Methods 0.000 description 16
- 230000007613 environmental effect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000000007 visual effect Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000006073 displacement reaction Methods 0.000 description 12
- 241000237858 Gastropoda Species 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 238000003384 imaging method Methods 0.000 description 10
- 238000005096 rolling process Methods 0.000 description 9
- 238000012935 Averaging Methods 0.000 description 8
- 239000000725 suspension Substances 0.000 description 8
- 238000009826 distribution Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 238000005206 flow analysis Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012358 sourcing Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000000704 physical effect Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000004438 eyesight Effects 0.000 description 3
- 239000011295 pitch Substances 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000003746 surface roughness Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000003667 anti-reflective effect Effects 0.000 description 1
- 239000010426 asphalt Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- -1 debris Substances 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
- 230000009977 dual effect Effects 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000004313 glare Effects 0.000 description 1
- 238000003703 image analysis method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/02—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
- B60W40/04—Traffic conditions
-
- 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/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
- G01C21/1656—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/18—Conjoint control of vehicle sub-units of different type or different function including control of braking systems
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/20—Conjoint control of vehicle sub-units of different type or different function including control of steering systems
-
- 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
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/095—Predicting travel path or likelihood of collision
- B60W30/0956—Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
-
- 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
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/14—Adaptive cruise control
- B60W30/143—Speed control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- 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
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/402—Type
- B60W2554/4029—Pedestrians
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
- G06V20/582—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/08—Detecting or categorising vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Traffic Control Systems (AREA)
- Navigation (AREA)
- Image Analysis (AREA)
Abstract
一种用于导航主交通工具的计算机实现的方法可以包括:接收由与所述主交通工具相关联的图像捕获装置获取的图像帧;在所述图像帧中标识目标交通工具的表示;确定与所述目标交通工具相关联的取向指示符;基于所确定的取向指示符,标识所获取的图像帧的候选区域,其中预期所述目标交通工具的交通工具门的表示处于开门状态;从所述图像帧中提取所述候选区域;将所提取的候选区域提供给开门检测网络;响应于来自所述开门检测网络的指示来确定所述主交通工具的导航动作,所述指示是所述候选区域包括所述目标交通工具的处于打开状态的门的表示;以及使与所述主交通工具相关联的致动器实现所述导航动作。
Description
相关申请的交叉引用
本申请要求美国临时申请No. 63/043,390(于2020年6月24日提交)的优先权的权益。前述申请通过引用以其整体而被结合在本文中。
技术领域
本公开一般涉及自主交通工具导航。
背景技术
随着技术不断进步,能够在道路上导航的全自主交通工具的目标即将实现。自主交通工具可能需要考虑多种因素,并且基于那些因素做出适当判定,以安全且准确地到达预计目的地。例如,自主交通工具可能需要处理和解释视觉信息(例如从摄像机所捕获的信息),并且还可能使用从其它来源(例如从GPS装置、速度传感器、加速计、悬架传感器等)所获得的信息。同时,为了导航到目的地,自主交通工具还可能需要标识它在特定道路内的位置(例如多车道道路内的特定车道),与其它交通工具并排导航,避开障碍物和行人,观察交通信号和标志,并且在适当十字路口或立交桥从一个道路行驶到另一个道路。利用和解释由自主交通工具在交通工具行驶到其目的地时所收集的大量信息造成许多设计挑战。自主交通工具可能需要分析、访问和/或存储的大量数据(例如所捕获的图像数据、地图数据、GPS数据、传感器数据等)造成实际上可能限制或者甚至不利地影响自主导航的挑战。此外,如果自主交通工具依靠传统绘图技术进行导航,则存储和更新地图所需的大量数据造成巨大挑战。
发明内容
按照本公开的实施例提供了用于交通工具导航的系统和方法。
在实施例中,一种用于导航交通工具的系统可以包括至少一个处理器,所述至少一个处理器包括电路和存储器。所述存储器包括指令,所述指令在由所述电路执行时使所述至少一个处理器接收由与所述主交通工具相关联的图像捕获装置获取的图像帧。所述图像帧可以表示所述主交通工具的环境。当由所述电路执行时,所述指令还可以使所述至少一个处理器在所述图像帧中标识目标交通工具的表示并确定与所述目标交通工具相关联的一个或多个取向指示符。当由所述电路执行时,所述指令还可以使所述至少一个处理器基于所确定的一个或多个取向指示符来标识所获取的图像帧的至少一个候选区域,其中预期所述目标交通工具的交通工具门的表示处于开门状态。当由所述电路执行时,所述指令还可以使所述至少一个处理器从所述图像帧中提取所述至少一个候选区域,并将所提取的至少一个候选区域提供给开门检测网络。当由所述电路执行时,所述指令还可以使所述至少一个处理器响应于来自所述开门检测网络的指示来确定所述主交通工具的至少一个导航动作,所述指示是所提取的至少一个候选区域包括所述目标交通工具的处于打开状态的门的表示。当由所述电路执行时,指令还可以使所述至少一个处理器使与所述主交通工具相关联的一个或多个致动器实现所述至少一个导航动作。
在实施例中,一种用于导航主交通工具的计算机实现的方法可以包括:接收由与所述主交通工具相关联的图像捕获装置获取的图像帧,其中所述图像帧表示所述主交通工具的环境;在所述图像帧中标识目标交通工具的表示;确定与所述目标交通工具相关联的一个或多个取向指示符;基于所确定的一个或多个取向指示符,标识所获取的图像帧的至少一个候选区域,其中预期所述目标交通工具的交通工具门的表示处于开门状态;从所述图像帧中提取所述至少一个候选区域;将所提取的至少一个候选区域提供给开门检测网络;响应于来自所述开门检测网络的指示来确定所述主交通工具的至少一个导航动作,所述指示是所提取的至少一个候选区域包括所述目标交通工具的处于打开状态的门的表示;以及使与所述主交通工具相关联的一个或多个致动器实现所述至少一个导航动作。
在实施例中,一种非暂时性计算机可读介质可含有指令,所述指令在由至少一个处理器执行时使所述至少一个处理器执行操作,所述操作包括:接收由与主交通工具相关联的图像捕获装置获取的图像帧,其中所述图像帧表示所述主交通工具的环境。所述图像帧可以表示所述主交通工具的环境。所述操作可以包括:在所述图像帧中标识目标交通工具的表示。所述操作还可以包括:确定与所述目标交通工具相关联的一个或多个取向指示符。所述操作还可以包括:基于所确定的一个或多个取向指示符,标识所获取的图像帧的至少一个候选区域,其中预期所述目标交通工具的交通工具门的表示处于开门状态;以及从所述图像帧中提取所述至少一个候选区域。所述操作还可以包括:将所提取的至少一个候选区域提供给开门检测网络。所述操作还可以包括:响应于来自所述开门检测网络的指示来确定所述主交通工具的至少一个导航动作,所述指示是所提取的至少一个候选区域包括所述目标交通工具的处于打开状态的门的表示;以及使与所述主交通工具相关联的一个或多个致动器实现所述至少一个导航动作。
前面的一般描述和下面的详细描述仅是示例性和解释性的,并不是限制权利要求。
附图说明
结合在本公开中并且构成本公开的一部分的附图示出各个所公开实施例。在附图中:
图1是按照所公开实施例的示例性系统的图解表示。
图2A是包括按照所公开实施例的系统的示例性交通工具的图解侧视图表示。
图2B是按照所公开实施例、图2所示的交通工具和系统的图解顶视图表示。
图2C是包括按照所公开实施例的系统的交通工具的另一个实施例的图解顶视图表示。
图2D是包括按照所公开实施例的系统的交通工具的又一个实施例的图解顶视图表示。
图2E是包括按照所公开实施例的系统的交通工具的又一个实施例的图解顶视图表示。
图2F是按照所公开实施例的示例性交通工具控制系统的图解表示。
图3A是按照所公开实施例、包括后视镜以及用于交通工具成像系统的用户接口的交通工具内部的图解表示。
图3B是按照所公开实施例、配置成在后视镜后面并倚靠交通工具挡风玻璃所定位的摄像机支架的示例的图示。
图3C是按照所公开实施例、从不同角度的图3B所示摄像机支架的图示。
图3D是按照所公开实施例、配置成在后视镜后面并倚靠交通工具挡风玻璃所定位的摄像机支架的示例的图示。
图4是按照所公开实施例、配置成存储用于执行一个或多个操作的指令的存储器的示例性框图。
图5A是示出按照所公开实施例、基于单目图像分析来引起一个或多个导航响应的示例性过程的流程图。
图5B是示出按照所公开实施例、检测图像集合中的一个或多个交通工具和/或行人的示例性过程的流程图。
图5C是示出按照所公开实施例、检测图像集合中的道路标记和/或车道几何信息的示例性过程的流程图。
图5D是示出按照所公开实施例、检测图像集合中的交通灯的示例性过程的流程图。
图5E是示出按照所公开实施例、基于交通工具路径来引起一个或多个导航响应的示例性过程的流程图。
图5F是示出按照所公开实施例、确定前行交通工具(leading vehicle)是否正变更车道的示例性过程的流程图。
图6是示出按照所公开实施例、基于立体图像分析来引起一个或多个导航响应的示例性过程的流程图。
图7是示出按照所公开实施例、基于对三组图像的分析来引起一个或多个导航响应的示例性过程的流程图。
图8示出按照所公开实施例、用于提供自主交通工具导航的稀疏地图。
图9A示出按照所公开实施例的路段的一部分的多项式表示。
图9B示出按照所公开实施例的三维空间中的曲线,该曲线表示稀疏地图中包含的交通工具对特定路段的目标轨迹。
图10示出按照所公开实施例、可被包含在稀疏地图中的示例路标。
图11A示出按照所公开实施例的轨迹的多项式表示。
图11B和图11C示出按照所公开实施例、沿多车道道路的目标轨迹。
图11D示出按照所公开实施例的示例道路签名简档。
图12是按照所公开实施例的系统的示意图,该系统将从多个交通工具所接收的众包数据(crowd sourcing data)用于自主交通工具导航。
图13示出按照所公开实施例、通过多个三维样条所表示的示例自主交通工具道路导航模型。
图14示出按照所公开实施例、从组合来自多次驾驶的位置信息所生成的地图概略图(map skeleton)。
图15示出按照所公开实施例、两次驾驶与作为路标的示例标志纵向对齐的示例。
图16示出按照所公开实施例、多次驾驶与作为路标的示例标志纵向对齐的示例。
图17是按照所公开实施例、使用摄像机、交通工具和服务器来生成驾驶数据的系统的示意图。
图18是按照所公开实施例、用于众包稀疏地图的系统的示意图。
图19是示出按照所公开实施例、生成沿路段的自主交通工具导航的稀疏地图的示例性过程的流程图。
图20示出按照所公开实施例的服务器的框图。
图21示出按照所公开实施例的存储器的框图。
图22示出按照所公开实施例、聚类与交通工具关联的交通工具轨迹的过程。
图23示出按照所公开实施例的交通工具的导航系统,该导航系统可用于自主导航。
图24A、图24B、图24C和图24D示出按照所公开实施例、可被检测的示例性车道标记。
图24E示出按照所公开实施例的示例性映射车道标记。
图24F示出按照所公开实施例、与检测车道标记关联的示例性异常。
图25A示出按照所公开实施例、基于映射车道标记的导航的交通工具周围环境的示例性图像。
图25B示出按照所公开实施例、交通工具在道路导航模型中基于映射车道标记的横向定位校正。
图25C和25D提供了用于使用稀疏地图中所包括的映射特征来沿着目标轨迹定位主交通工具的定位技术的概念表示。
图26A是示出按照所公开的实施例的用于映射车道标记以供自主交通工具导航使用的示例性过程的流程图。
图26B是示出按照所公开的实施例的用于使用映射的车道标记沿着路段自主导航主交通工具的示例性过程的流程图。
图27示出了按照所公开的实施例的交通工具环境的示例性图像。
图28A示出了按照所公开的实施例的交通工具环境的示例性图像。
图28B示出了按照所公开的实施例的交通工具环境的示例性图像。
图29示出了按照所公开的实施例的用于导航交通工具的示例性系统的框图。
图30是示出按照所公开的实施例的用于导航交通工具的示例性过程的流程图。
图31示出了按照所公开的实施例的用于训练检测网络的示例性过程。
图32示出了按照所公开的实施例的包括交通工具环境的表示的示例性图像。
图33示出了按照所公开的实施例的包括交通工具环境的表示的示例性图像。
图34示出了按照所公开的实施例的包括交通工具环境的表示的示例性图像。
具体实施方式
以下详细描述参照附图。在可能的情况下,相同参考标号在附图和以下描述中用来表示相同或相似部件。虽然本文描述若干说明性实施例,但是修改、自适应和其它实现是可能的。例如,可对附图所示的组件进行置换、添加或修改,并且可通过对所公开方法置换、重排序、去除或添加步骤来修改本文所述的说明性方法。相应地,以下详细描述并不局限于所公开的实施例和示例。适当范围而是通过所附权利要求书来限定。
自主交通工具概述
如本公开通篇所使用的术语“自主交通工具”表示能够在无需驾驶员输入的情况下实现至少一个导航变更的交通工具。“导航变更”表示交通工具的转向、制动或者加速度的一个或多个的变化。要成为自主的,交通工具无需是全自动的(例如没有驾驶员或者没有驾驶员输入的全面操作)。自主交通工具而是包括能够在某些时间段期间在驾驶员控制下以及在其它时间段期间在没有驾驶员控制的情况下进行操作的那些交通工具。自主交通工具还可包括一些交通工具,所述交通工具仅控制交通工具导航的一些方面,例如转向(例如以将交通工具路线保持在交通工具车道约束之间),而可将其它方面留给驾驶员(例如制动)。在一些情况下,自主交通工具可操控交通工具的制动、速度控制和/或转向的部分或全部方面。
由于人类驾驶员通常依靠视觉线索和观察来控制交通工具,因此相应地构建运输基础设施,其中车道标记、交通标志和交通灯全部设计成向驾驶员提供视觉信息。鉴于运输基础设施的这些设计特性,自主交通工具可包括摄像机和处理单元,该处理单元分析从交通工具的环境所捕获的视觉信息。视觉信息可包括例如驾驶员可观察的运输基础设施的组件(例如车道标记、交通标志、交通灯等)以及其它障碍物(例如其它交通工具、行人、碎片等)。另外,自主交通工具还可使用所存储信息,例如在导航时提供交通工具环境的模型的信息。例如,交通工具可在正行驶的同时使用GPS数据、传感器数据(例如来自加速计、速度传感器、悬架传感器等)和/或其它地图数据来提供与其环境相关的信息,并且交通工具(以及其它交通工具)可使用该信息在模型上定位自身。
在本公开的一些实施例中,自主交通工具可使用进行导航的同时所获得(例如来自摄像机、GPS装置、加速计、速度传感器、悬架传感器等)的信息。在其它实施例中,自主交通工具可在进行导航的同时使用交通工具(或其它交通工具)从以往导航所获得的信息。在又一些实施例中,自主交通工具可使用进行导航的同时所获得的信息以及从以往导航所获得的信息的组合。以下部分提供按照所公开实施例的概述,之后接着按照该系统的前向成像系统和方法的概述。以下部分公开用于构建、使用和更新自主交通工具导航的稀疏地图的系统和方法。
系统概述
图1是按照所公开示例性实施例的系统100的框图表示。系统100根据特定实现的要求可包括各种组件。在一些实施例中,系统100可包括处理单元110、图像获取单元120、位置传感器130、一个或多个存储器单元140和150、地图数据库160、用户接口170和无线收发器172。处理单元110可包括一个或多个处理装置。在一些实施例中,处理单元110可包括应用处理器180、图像处理器190或者任何其它适当处理装置。类似地,图像获取单元120根据特定应用的要求可包括任何数量的图像获取装置和组件。在一些实施例中,图像获取单元120可包括一个或多个图像捕获装置(例如摄像机),例如图像捕获装置122、图像捕获装置124和图像捕获装置126。系统100还可包括数据接口128,该数据接口128在通信上将处理单元110连接到图像获取装置120。例如,数据接口128可包括一个或多个任何有线和/或无线链路,以用于将图像获取装置120所获取的图像数据传送给处理单元110。
无线收发器172可包括一个或多个装置,所述装置配置成通过使用射频、红外频率、磁场或电场经由空中接口交换对一个或多个网络(例如蜂窝、因特网等)的传输。无线收发器172可使用任何已知标准来传送和/或接收数据(例如Wi-Fi、Bluetooth®、BluetoothSmart、802.15.4、ZigBee等)。这类传输能够包括从主交通工具到一个或多个远程定位服务器的通信。这类传输还可包括主交通工具与主交通工具的环境中的一个或多个目标交通工具之间的通信(单向或双向)(例如以促进考虑到或者连同主交通工具的环境中的目标交通工具一起的主交通工具的导航的协调)或者甚至对发射交通工具附近的未指定接收方的广播传输。
应用处理器180和图像处理器190均可包括各种类型的处理装置。例如,应用处理器180和图像处理器190的任一个或两者均可包括微处理器、预处理器(例如图像预处理器)、图形处理单元(GPU)、中央处理器(CPU)、支持电路、数字信号处理器、集成电路、存储器或者适合于运行应用并且适合于图像处理和分析的任何其它类型的装置。在一些实施例中,应用处理器180和/或图像处理器190可包括任何类型的单核或多核处理器、移动装置微控制器、中央处理器等。可使用各种处理装置,包括例如从诸如Intel®、AMD®等的制造商可获得的处理器或者从诸如NVIDIA®、ATI®等的制造商可获得的GPU,并且可包括各种架构(例如x86处理器、ARM®等)。
在一些实施例中,应用处理器180和/或图像处理器190可包括从Mobileye®可获得的EyeQ系列的处理器芯片的任一个。这些处理器设计各自包括多个处理单元,其中具有本地存储器和指令集。这类处理器可包括用于从多个图像传感器接收图像数据的视频输入,并且还可包括视频输出能力。在一个示例中,EyeQ2®使用工作在332 Mhz的90 nm-微技术。EyeQ2®架构包括两个浮点超线程32位RISC CPU(MIPS32® 34K®核心)、五个视觉计算引擎(VCE)、三个向量微码处理器(VMP®)、Denali 64位移动DDR控制器、128位内部Sonics互连、双16位视频输入和18位视频输出控制器、 16通道DMA和若干外设。MIPS34K CPU管理五个VCE、三个VMP™和DMA、第二MIPS34K CPU和多通道DMA以及其它外设。五个VCE、三个VMP®和MIPS34K CPU能够执行多功能捆绑应用所要求的密集视觉计算。在另一个示例中,EyeQ3®是第三代处理器并且比EyeQ2®要强六倍,它可用于所公开实施例中。在其它示例中,EyeQ4®和/或EyeQ5®可用于所公开实施例中。当然,任何较新或将来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-19来论述生成这种地图的系统和方法。
图像捕获装置122、124和126各自可包括适合于从环境捕获至少一个图像的任何类型的装置。此外,任何数量的图像捕获装置可用来获取图像以供输入到图像处理器。一些实施例可以仅包括单图像捕获装置,而其它实施例可包括两个、三个或者甚至四个或更多图像捕获装置。下面将参照图2B-2E进一步描述图像捕获装置122、124和126。
系统100或者其各种组件可被结合到各种不同平台中。在一些实施例中,系统100可被包含在交通工具200上,如图2A所示。例如,交通工具200可配备有处理单元110以及系统100的其它组件的任一个,如以上相对于图1所述。虽然在一些实施例中,交通工具200可以仅配备有单图像捕获装置(例如摄像机),但是在诸如结合图2B-2E所述实施例等的其它实施例中,可使用多个图像捕获装置。例如,如图2A所示,交通工具200的图像捕获装置122和124的任一个可以是ADAS(高级驾驶员辅助系统)成像集合的组成部分。
作为图像获取单元120的组成部分被包含在交通工具200上的图像捕获装置可定位在任何适当位置。在一些实施例中,如图2A-2E和图3A-3C所示,图像捕获装置122可位于后视镜附近。这个位置可提供与交通工具200的驾驶员相似的视线,这可帮助确定驾驶员可见和不可见的内容。图像捕获装置122可被定位在后视镜附近的任何位置,但是将图像捕获装置122放置在后视镜的驾驶员侧可进一步帮助获得代表驾驶员的视场和/或视线的图像。
也可使用图像捕获单元120的图像捕获装置的其它位置。例如,图像捕获装置124可位于交通工具200的保险杠之上或之中。这种位置可特别适合于具有宽视场的图像捕获装置。保险杠定位的图像捕获装置的视线能够与驾驶员的视线不同,并且因此保险杠图像捕获装置和驾驶员可能不一定看到相同对象。图像捕获装置(例如图像捕获装置122、124和126)还可位于其它位置。例如,图像捕获装置可位于交通工具200的侧镜之一或两者之上或之中、交通工具200的车顶上、交通工具200的发动机罩上、交通工具200的后备箱上、交通工具200的侧面,安装在交通工具200的车窗的任一个之上、定位在其后面或者定位在其正面,以及安装在交通工具200的正面和/或背面上的光象之中或附近等。
除了图像捕获装置之外,交通工具200还可包括系统100的各种其它组件。例如,处理单元110可被包含在交通工具200上,与交通工具的发动机控制单元(ECU)集成或者分离。交通工具200还可配备有位置传感器130(例如GPS接收器),并且还可包括地图数据库160以及存储器单元140和150。
如先前所述,无线收发器172可以和/或通过一个或多个网络(例如蜂窝网络、因特网等)接收数据。例如,无线收发器172可向一个或多个服务器上传系统100所收集的数据,并且从一个或多个服务器下载数据。经由无线收发器172,系统100可接收对地图数据库160、存储器140和/或存储器150中存储的数据的周期或按需更新。类似地,无线收发器172可从系统100向一个或多个服务器上传任何数据(例如图像获取单元120所捕获的图像、位置传感器130或其它传感器、交通工具控制系统等所接收的数据)和/或处理单元110所处理的任何数据。
系统100可基于隐私等级设定向服务器(例如向云)上传数据。例如,系统100可实现隐私等级设定,以调节或限制被发送给服务器的数据的类型(包括元数据),所述数据可唯一地标识交通工具和/或交通工具的驾驶员/所有者。这类设定可由用户经由例如无线收发器172来设置,通过工厂缺省设定或者通过无线收发器172所接收的数据来初始化。
在一些实施例中,系统100可按照“高”隐私等级来上传数据,并且在设置设定下,系统100可传送数据(例如与路线相关的位置信息、所捕获图像等),而无需与特定交通工具和/或驾驶员/所有者有关的任何细节。例如,当按照“高”隐私设定上传数据时,系统100可以不包括交通工具标识号(VIN)或者交通工具的驾驶员或所有者的姓名,而是可传送数据,例如所捕获图像和/或与路线相关的有限位置信息。
考虑其它隐私等级。例如,系统100可按照“中间”隐私等级向服务器传送数据,并且包括“高”隐私等级下未包含的附加信息,例如交通工具的品牌和/或型号和/或交通工具类型(例如乘用车、运动型多功能车、卡车等)。在一些实施例中,系统100可按照“低”隐私等级上传数据。在“低”隐私等级设定下,系统100可上传数据,并且包括足以唯一标识特定交通工具、所有者/驾驶员和/或交通工具所行驶路线的一部分或全部的信息。这种“低”隐私等级数据可包括以下中的一个或多个:例如VIN、驾驶员/所有者姓名、交通工具出发前的起点、交通工具的预计目的地、交通工具的品牌和/或型号、交通工具的类型等。
图2A是按照所公开实施例的示例性交通工具成像系统的图解侧视图表示。图2B是图2A所示实施例的图解顶视图图示。如图2B所示,所公开实施例可包括交通工具200,该交通工具200在车身中包括系统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,而是可以可适用于所有类型的交通工具,包括汽车、卡车、拖车和其它类型的交通工具。
第一图像捕获装置122可包括任何适当类型的图像捕获装置。图像捕获装置122可包括光轴。在一个实例中,图像捕获装置122可包括具有全局快门的Aptina M9V024 WVGA传感器。在其它实施例中,图像捕获装置122可提供1280×960像素的分辨率,并且可包括卷帘快门。图像捕获装置122可包括各种光学元件。在一些实施例中,可包括一个或多个透镜,例如以便为图像捕获装置提供期望焦距和视场。在一些实施例中,图像捕获装置122可与6mm透镜或12mm透镜关联。在一些实施例中,图像捕获装置122可配置成捕获具有预期视场(FOV)202的图像,如图2D所示。例如,图像捕获装置122可配置成具有例如在40度至56度的范围之内的常规FOV,包括46度FOV、50度FOV、52度FOV或以上。备选地,图像捕获装置122可配置成具有23至40度的范围中的窄FOV,例如28度FOV或36度FOV。另外,图像捕获装置122可配置成具有100至180度的范围中的宽FOV。在一些实施例中,图像捕获装置122可包括广角保险杠摄像机或者高达180度FOV的摄像机。在一些实施例中,图像捕获装置122可以是宽高比为大约2:1(例如H×V=3800×1900像素)的7.2M像素图像捕获装置,其中具有大约100度水平FOV。这种图像捕获装置可用来代替三图像捕获装置配置。由于显著透镜失真,在图像捕获装置使用径向对称透镜的实现中,这种图像捕获装置的垂直FOV可明显小于50度。例如,这种透镜可能不是径向对称的,这允许大于50度的垂直FOV,其中具有100度水平FOV。
第一图像捕获装置122可获取相对于与交通工具200关联的场景的多个第一图像。多个第一图像的每个可作为一系列图像扫描线来获取,所述图像扫描线可使用卷帘快门来捕获。每个扫描线可包括多个像素。
第一图像捕获装置122可具有与图像扫描线的第一系列的每个的获取关联的扫描速率。扫描速率可表示图像传感器能够获取与特定扫描线中包含的每个像素关联的图像数据的速率。
图像捕获装置122、124和126可包含任何适当类型和数量的图像传感器,例如包括CCD传感器或CMOS传感器。在一个实施例中,CMOS图像传感器可连同卷帘快门一起使用,使得一行中的每个像素每次一个被读取,以及行的扫描逐行进行,直到已经捕获整个图像帧。在一些实施例中,可相对于帧从上到下顺序捕获行。
在一些实施例中,本文所公开的图像捕获装置的一个或多个(例如图像捕获装置122、124和126)可构成高分辨率成像器,并且可具有大于5M像素、7M像素、10M像素或以上的分辨率。
卷帘快门的使用可使不同行中的像素在不同时间被曝光和捕获,这可引起所捕获图像帧中的偏斜和其它图像伪影。另一方面,当图像捕获装置122配置成与全局或同步快门配合操作时,所有像素可在共同曝光周期期间被曝光相同时间量。因此,从采用全局快门的系统所收集的帧中的图像数据表示在特定时间的整个FOV(例如FOV 202)的快照。相比之下,在卷帘快门应用中,帧中的每一行被曝光,以及数据在不同时间被捕获。因此,在具有卷帘快门的图像捕获装置中,移动对象可能出现失真。下面将更详细描述这种现象。
第二图像捕获装置124和第三图像捕获装置126可以是任何类型的图像捕获装置。与第一图像捕获装置122相似,图像捕获装置124和126的每个可包括光轴。在一个实施例中,图像捕获装置124和126的每个可包括具有全局快门的Aptina M9V024 WVGA传感器。备选地,图像捕获装置124和126的每个可包括卷帘快门。与图像捕获装置122相似,图像捕获装置124和126可配置成包括各种透镜和光学元件。在一些实施例中,与关联图像捕获装置122的FOV(例如FOV 202)相比,关联图像捕获装置124和126的透镜可提供相同或更窄的FOV(例如FOV 204和206)。例如,图像捕获装置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进行立体分析。横向位移的差可通过dx表示,如图2C和图2D所示。在一些实施例中,前或后位移(例如范围位移)可存在于图像捕获装置122、124和126之间。例如,图像捕获装置122可位于图像捕获装置124和/或图像捕获装置126后面0.5至2米或以上。这种类型的位移可使图像捕获装置之一能够覆盖其它(一个或多个)图像捕获装置的潜在盲点。
图像捕获装置122可具有任何适当分辨率能力(例如与图像传感器关联的像素的数量),以及与关联图像捕获装置124和126的(一个或多个)图像传感器的分辨率相比,关联图像捕获装置122的(一个或多个)图像传感器的分辨率可以更高、更低或相同。在一些实施例中,与图像捕获装置122和/或图像捕获装置124和126关联的(一个或多个)图像传感器可具有640×480、1024×768、1280×960的分辨率或者任何其它适当分辨率。
帧率(例如图像捕获装置在继续捕获与下一个图像帧关联的像素数据之前获取一个图像帧的像素数据集合的速率)可以是可控的。与关联图像捕获装置124和126的帧率相比,关联图像捕获装置122的帧率可以更高、更低或相同。与图像捕获装置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 m、50 m、100 m、150 m或以上)处的对象的图像。此外,图像捕获装置122、124和126的焦距可被选择成使得一个图像捕获装置(例如图像捕获装置122)能够获取相对靠近交通工具(例如10 m之内或20 m之内)的对象的图像,而其它图像捕获装置(例如图像捕获装置124和126)能够获取离交通工具200更远对象(例如大于20 m、50 m、100 m、150 m等)的图像。
按照一些实施例,一个或多个图像捕获装置122、124和126的FOV可具有广角。例如,具有140度的FOV可能是有利的,尤其对于可用来捕获交通工具200附近的区域的图像的图像捕获装置122、124和126。例如,图像捕获装置122可用来捕获交通工具200右边或左边的区域的图像,以及在这类实施例中,可期望图像捕获装置122具有宽FOV(例如至少140度)。
与图像捕获装置122、124和126的每个关联的视场可取决于相应焦距。例如,随着焦距增加,对应视场减小。
图像捕获装置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和转向系统24的一个或多个接收指示交通工具200的操作条件(例如速度、交通工具200是否正在制动和/或转弯等)的输入。下面结合图4-7提供其它细节。
如图3A所示,交通工具200还可包括用户接口170,以用于与交通工具200的驾驶员或乘客进行交互。例如,交通工具应用中的用户接口170可包括触摸屏320、旋钮330、按钮340和话筒350。交通工具200的驾驶员或乘客还可使用手柄(例如位于交通工具200的转向柱之上或附近,包括例如转弯信号手柄)、按钮(例如位于交通工具200的方向盘上)等与系统100进行交互。在一些实施例中,话筒350可定位成与后视镜310相邻。类似地,在一些实施例中,图像捕获装置122可位于后视镜310附近。在一些实施例中,用户接口170还可包括一个或多个扬声器360(例如交通工具音频系统的扬声器)。例如,系统100可经由扬声器360提供各种通知(例如警报)。
图3B-3D是按照所公开实施例的示例性摄像机支架370的图示,该摄像机支架370配置成在后视镜(例如后视镜310)后面倚靠交通工具挡风玻璃所定位。如图3B所示,摄像机支架370可包括图像捕获装置122、124和126。图像捕获装置124和126可被定位在遮光罩(glare shield)380后面,该遮光罩380可与交通工具挡风玻璃齐平,并且包括膜和/或抗反射材料的组件。例如,遮光罩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 cm)。此外,在一些实施例中,如上所述,图像捕获装置122、124和126的一个或多个可被安装在遮光罩380后面,所述遮光罩380与交通工具200的挡风玻璃齐平。这种屏蔽可起作用以最小化来自汽车内部的任何反射对图像捕获装置122、124和126的影响。
在另一个实施例中,如以上结合图3B和图3C所述,宽视场摄像机(例如上述示例中的图像捕获装置124)可被安装成低于窄和主视场摄像机(例如上述示例中的图像装置122和126)。这个配置可提供来自宽视场摄像机的自由视线。为了减少反射,摄像机可被安装成靠近交通工具200的挡风玻璃,并且可包括摄像机上的偏振片,以阻尼反射光。
三摄像机系统可提供某些性能特性。例如,一些实施例可包括基于来自另一个摄像机的检测结果来验证一个摄像机对于对象的检测的能力。在上述三摄像机配置中,处理单元110可包括例如三个处理装置(例如,如上所述的三个EyeQ系列的处理器芯片),其中每个处理装置专用于处理图像捕获装置122、124和126的一个或多个所捕获的图像。
在三摄像机系统中,第一处理装置可从主摄像机和窄视场摄像机接收图像,并且执行窄FOV摄像机的视觉处理,例如以检测其它交通工具、行人、车道标记、交通标志、交通灯和其它道路对象。此外,第一处理装置可计算来自主摄像机和窄摄像机的图像之间的像素的差异,并且创建交通工具200的环境的3D重构。第一处理装置然后可将3D重构与3D地图数据或者与基于来自另一个摄像机的信息所计算的3D信息相组合。
第二处理装置可从主摄像机接收图像,并且执行视觉处理,以检测其它交通工具、行人、车道标记、交通标志、交通灯和其它道路对象。另外,第二处理装置可计算摄像机位移,以及基于该位移来计算连续图像之间的像素的差异,并且创建场景的3D重构(例如来自运动的结构)。第二处理装置可向第一处理装置发送来自基于运动的3D重构的结构,以便与立体3D图像相组合。
第三处理装置可从宽FOV摄像机接收图像,并且处理图像,以检测交通工具、行人、车道标记、交通标志、交通灯和其它道路对象。第三处理装置可进一步执行附加处理指令,以分析图像,以便标识图像中移动的对象,例如变更车道的交通工具、行人等。
在一些实施例中,使基于图像的信息的流被单独捕获和处理可提供用于提供系统中的冗余度的机会。这种冗余度可包括例如使用第一图像捕获装置以及从那个装置所处理的图像来验证和/或补充通过捕获和处理来自至少第二图像捕获装置的图像信息所获得的信息。
在一些实施例中,系统100可将两个图像捕获装置(例如图像捕获装置122和124)用于为交通工具200提供导航辅助中,以及使用第三图像捕获装置(例如图像捕获装置126)来提供冗余度,并且验证从另外两个图像捕获装置所接收的数据的分析。例如,在这种配置中,图像捕获装置122和124可提供图像以供系统100进行立体分析,以用于导航交通工具200,而图像捕获装置126可提供图像以供系统100进行单目分析,以提供基于从图像捕获装置122和/或图像捕获装置124所捕获的图像所获得的信息的冗余度和验证。也就是说,图像捕获装置126(和对应处理装置)可被认为提供冗余子系统,以用于提供对于从图像捕获装置122和124所得出的分析的检查(例如提供自动紧急制动(AEB)系统)。此外,在一些实施例中,可基于从一个或多个传感器(例如雷达、激光雷达、声学传感器、从交通工具外部的一个或多个收发器所接收的信息等)所接收的信息来补充所接收数据的冗余度和验证。
本领域的技术人员将会知道,上述摄像机配置、摄像机放置、摄像机的数量、摄像机位置等只是示例。可在多种不同配置中组装和使用这些组件以及相对于整个系统所述的其它组件,而没有背离所公开实施例的范围。与多摄像机系统用来提供驾驶员辅助和/或自主交通工具功能性有关的其它细节如下。
图4是按照所公开实施例、可存储/编程有用于执行一个或多个操作的指令的存储器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的其它系统(例如交通工具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、无线、Bluetooth等)将它们传送给处理单元110。处理单元110可在步骤520执行单目图像分析模块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可基于使用一系列基于时间的观察的估计技术(例如卡尔曼(Kalman)滤波器或线性二次估计(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可通过扫描一个或多个图像来检测对象集合。为了检测车道标记段、车道几何信息和其它相关道路标记,处理单元110可过滤对象集合,以排除被确定为不相关的那些对象(例如小坑洞、小岩石等)。在步骤552,处理单元110可将在步骤550所检测的属于同一道路标记或车道标记的段编组在一起。基于编组,处理单元110可开发表示所检测段的模型,例如数学模型。
在步骤554,处理单元110可构建与所检测段关联的测量集合。在一些实施例中,处理单元110可创建所检测段从图像平面到现实世界平面的投影。可使用具有与物理性质(例如所检测道路的位置、坡度、曲率和曲率导数)对应的系数的三次多项式来表征投影。在生成投影中,处理单元110可考虑路面的变化以及与交通工具200关联的倾斜和滚动速率。另外,处理单元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附近出现的车道之间的对应性。
当交通工具200接近交叉口时,在步骤564,处理单元110可更新与所分析交叉口几何形状和所检测交通灯关联的置信度水平。例如,如与实际出现在交叉口的交通灯的数量相比,被估计出现在交叉口的数量可影响置信度水平。因此,基于置信度水平,处理单元110可将控制权委托给给交通工具200的驾驶员,以便改进安全条件。通过执行步骤560、562和564,处理单元110可标识所捕获图像集合内出现的交通灯,并且分析交叉口几何信息。基于标识和分析,处理单元110可引起交通工具200中的一个或多个导航响应,如以上结合图5A所述。
图5E是示出按照所公开实施例、基于交通工具路径来引起交通工具200中的一个或多个导航响应的示例性过程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可使用抛物线样条算法来重构交通工具路径,该抛物线样条算法可产生与交通工具路径的总长度对应的累加距离向量S(即,基于表示交通工具路径的点集合)。
在步骤574,处理单元110可基于在步骤572所构建的已更新交通工具路径来确定前视点(按照坐标表达为(xl, zl))。处理单元110可从累加距离向量S中提取前视点,以及前视点可与前视距离和前视时间关联。前视距离可具有范围从10至20米的下限,可作为交通工具200的速度与前视时间的乘积来计算。例如,随着交通工具200的速度减小,前视距离也可减小(例如直至它达到下限)。前视时间的范围可从0.5至1.5秒,可与关联引起交通工具200中的导航响应的一个或多个控制环路(例如航向误差跟踪控制环路)的增益成反比。例如,航向误差跟踪控制环路的增益可取决于偏航率环路、转向致动器环路、汽车横向动力学等的带宽。因此,航向误差跟踪控制环路的增益越高,则前视时间越短。
在步骤576,处理单元110可基于在步骤574所确定的前视点来确定航向误差和偏航率命令。处理单元110可通过计算前视点的反正切(例如arctan(xl/zl))来确定航向误差。处理单元110可将偏航率命令确定为航向误差与高级控制增益的乘积。高级控制增益可等于:(2/前视时间),若前视距离不是处于下限。否则,高级控制增益可等于:(2×交通工具200的速度/前视距离)。
图5F是示出按照所公开实施例、确定前行交通工具是否正变更车道的示例性过程500F的流程图。在步骤580,处理单元110可确定与前行交通工具(例如在交通工具200前面行驶的交通工具)关联的导航信息。例如,处理单元110可使用以上结合图5A和图5B所述的技术来确定前行交通工具的位置、速度(例如方向和速度)和/或加速度。处理单元110还可使用以上结合图5E所述的技术来确定一个或多个道路多项式、前视点(与交通工具200关联)和/或蜗牛尾迹(snail trail)(例如描述前行交通工具所采取的路径的点集合)。
在步骤582,处理单元110可分析在步骤580所确定的导航信息。在一个实施例中,处理单元110可计算蜗牛尾迹与道路多项式之间(例如沿尾迹)的距离。如果沿尾迹的这个距离的变化超过预定阈值(例如笔直道路上的0.1至0.2米、中等弯曲道路上的0.3至0.4米以及具有急弯的道路上的0.5至0.6米),则处理单元110可确定前行交通工具可能正变更车道。在检测到多个交通工具在交通工具200前面行驶的情况下,处理单元110可比较与每个交通工具关联的蜗牛尾迹。基于该比较,处理单元110可确定其蜗牛尾迹与其它交通工具的蜗牛尾迹不匹配的交通工具可能正变更车道。处理单元110还可将(与前行交通工具关联的)蜗牛尾迹的曲率与前行交通工具正行驶的路段的预计曲率进行比较。可从地图数据(例如来自地图数据库160的数据)、从道路多项式、从其它交通工具的蜗牛尾迹、从与道路有关的先验知识等中提取预计曲率。如果蜗牛尾迹的曲率和路段的预计曲率的差超过预定阈值,则处理单元110可确定前行交通工具可能正变更车道。
在另一个实施例中,处理单元110可在特定时间段(例如0.5至1.5秒)内将前行交通工具的瞬时位置与(与交通工具200关联的)前视点进行比较。如果前行交通工具的瞬时位置与前视点之间的距离在特定时间段期间改变,并且变化的累加总和超过预定阈值(例如笔直道路上的0.3至0.4米、中等弯曲道路上的0.7至0.8米以及具有急弯的道路上的1.3至1.7米),则处理单元110可确定前行交通工具可能正变更车道。在另一个实施例中,处理单元110可通过将沿尾迹行驶的横向距离与蜗牛尾迹的预计曲率进行比较,来分析蜗牛尾迹的几何形状。预计曲率半径可按照下列计算确定:(δz 2+δx 2)/2/(δx),其中δx表示所行驶的横向距离,以及δz表示所行驶的纵向距离。如果所行驶的横向距离与预计曲率之间的差超过预定阈值(例如500至700米),则处理单元110可确定前行交通工具可能正变更车道。在另一个实施例中,处理单元110可分析前行交通工具的位置。如果前行交通工具的位置遮挡道路多项式(例如前行交通工具覆盖在道路多项式之上),则处理单元110可确定前行交通工具可能正变更车道。在前行交通工具的位置是使得在前行交通工具前面检测到另一个交通工具并且两个交通工具的蜗牛尾迹不平行的情况下,处理单元110可确定(更近的)前行交通工具可能正变更车道。
在步骤584,处理单元110可基于在步骤582所执行的分析来确定前行交通工具200是否正变更车道。例如,处理单元110可基于在步骤582所执行的单独分析的加权平均进行确定。在这种方案下,例如,由处理单元110基于特定类型的分析进行的关于前行交通工具可能正变更车道的判定可被指派值“1”(而“0”表示关于前行交通工具不可能变更车道)。在步骤582所执行的不同分析可被指派不同权重,以及所公开实施例并不局限于分析和权重的任何特定组合。
图6是示出按照所公开实施例、基于立体图像分析来引起一个或多个导航响应的示例性过程600的流程图。在步骤610,处理单元110可经由数据接口128接收第一和第二多个图像。例如,图像获取单元120中包含的摄像机(例如具有视场202和204的图像捕获装置122和124)可捕获交通工具200前方的区域的第一和第二多个图像,并且通过数字连接(例如USB、无线、Bluetooth等)将它们传送给处理单元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、无线、Bluetooth等)将它们传送给处理单元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执行测试。这种测试可提供系统100对图像捕获装置122、124和126的某些配置的总体性能的指示符。例如,处理单元110可确定“误命中”(例如系统100不正确地确定交通工具或行人的存在的情况)和“未命中”的比例。
在步骤730,处理单元110可基于从第一、第二和第三多个图像的两个所得出的信息来引起交通工具200中的一个或多个导航响应。第一、第二和第三多个图像的两个的选择可取决于各种因素,例如多个图像的每个中检测的对象的数量、类型和大小。处理单元110还可基于图像质量和分辨率、图像中反映的有效视场、所捕获帧的数量、一个或多个感兴趣对象实际出现在帧中的程度(例如对象出现的帧的百分比、每个这种帧中出现的对象的比例等)等进行选择。
在一些实施例中,处理单元110可通过确定从一个图像源所得出的信息与从其它图像源所得出的信息一致的程度来选择从第一、第二和第三多个图像的两个所得出的信息。例如,处理单元110可组合从图像捕获装置122、124和126的每个所得出的所处理信息(无论是通过单目分析、立体分析还是两者的任何组合),并且确定跨从图像捕获装置122、124和126的每个所捕获的图像是一致的视觉指示符(例如车道标记、所检测交通工具及其位置和/或路径、所检测交通灯等)。处理单元110还可排除跨所捕获图像不一致的信息(例如交通工具变更车道、车道模型指示过于靠近交通工具200的交通工具等)。因此,处理单元110可基于一致和不一致信息的确定来选择从第一、第二和第三多个图像的两个所得出的信息。
导航响应可包括例如转弯、车道变换、加速度的变化等。处理单元110可基于在步骤720所执行的分析以及如以上结合图4所述的技术来引起一个或多个导航响应。处理单元110还可使用从速度和加速度模块406的执行所得出的数据来引起一个或多个导航响应。在一些实施例中,处理单元110可基于交通工具200与第一、第二和第三多个图像的任一个内所检测的对象之间的相对位置、相对速度和/或相对加速度来引起一个或多个导航响应。多个导航响应可同时、顺序或者按照它们的任何组合出现。
自主交通工具导航的稀疏道路模型
在一些实施例中,所公开的系统和方法可使用自主交通工具导航的稀疏地图。特别是,稀疏地图可用于沿路段的自主交通工具导航。例如,稀疏地图可为导航自主交通工具提供充分信息,而无需存储和/或更新大量数据。如下面更详细论述,自主交通工具可使用稀疏地图基于一个或多个所存储轨迹来导航一个或多个道路。
自主交通工具导航的稀疏地图
在一些实施例中,所公开的系统和方法可生成自主交通工具导航的稀疏地图。例如,稀疏地图可为导航提供充分信息,而无需过多数据存储或数据传输速率。如下面更详细描述,交通工具(该交通工具可以是自主交通工具)可使用稀疏地图来导航一个或多个道路。例如,在一些实施例中,稀疏地图可包括与道路以及潜在地与沿道路的路标相关的数据,所述数据对于交通工具导航可以是充分的,但是也呈现小数据占用面积。例如,如与包括详细地图信息(例如沿道路所收集的图像数据)的数字地图相比,以下详细描述的稀疏数据地图可要求明显更少的存储空间和数据传输带宽。
例如,不是存储路段的详细表示,稀疏数据地图而是可存储沿道路的优选交通工具路径的三维多项式表示。这些路径可要求极少数据存储空间。另外,在所述的稀疏数据地图中,路标可被标识并且包含在稀疏地图道路模型中以帮助导航。这些路标可以以适合于实现交通工具导航的任何间距来定位,但是在一些情况下,这类路标无需以高密度和短间距来标识并且包含在模型中。而是在一些情况下,导航基于间隔开至少50米、至少100米、至少500米、至少1公里或者至少2公里的路标可以是可能的。如在其它部分将更详细论述,稀疏地图可基于由配备有各种传感器和装置(例如图像捕获装置、全球定位系统传感器、运动传感器等)的交通工具在沿道路行驶时所收集或测量的数据来生成。在一些情况下,稀疏地图可基于一个或多个交通工具沿特定道路的多次行驶期间所收集的数据来生成。使用一个或多个交通工具的多次行驶来生成稀疏地图可称作“众包”稀疏地图。
按照所公开实施例,自主交通工具系统可将稀疏地图用于导航。例如,所公开的系统和方法可分发稀疏地图以用于生成自主交通工具的道路导航模型,并且可使用稀疏地图和/或所生成道路导航模型沿路段导航自主交通工具。按照本公开的稀疏地图可包括一个或多个三维轮廓,所述三维轮廓可表示自主交通工具在沿关联路段移动时可穿过的预定轨迹。
按照本公开的稀疏地图还可包括表示一个或多个道路特征的数据。这类道路特征可包括所识别的路标、道路签名简档以及导航交通工具中有用的任何其它道路相关特征。按照本公开的稀疏地图可基于稀疏地图中包含的较小数据量来实现交通工具的自主导航。例如,不是包含道路的详细表示(例如道路边缘、道路曲率、与路段关联的图像或者详述与路段关联的其它物理特征的数据),稀疏地图的所公开实施例可要求相对极少存储空间(以及当稀疏地图的部分被传输给交通工具时的相对极小带宽),但是仍然可充分提供自主交通工具导航。下面更详细论述的所公开稀疏地图的小数据占用面积在一些实施例中可通过存储要求小数据量但是仍然实现自主导航的道路相关元素的表示来实现。
例如,不是存储道路的各个方面的详细表示,所公开的稀疏地图而是可存储交通工具可沿道路前进的一个或多个轨迹的多项式表示。因此,不是存储(或者必须传输)与道路的物理性质有关的细节以实现沿道路的导航,使用所公开的稀疏地图,交通工具而是可沿特定路段被导航,而无需在一些情况下解释道路的物理方面,而是通过将其行驶路径与沿特定路段的轨迹(例如多项式样条)对齐。这样,交通工具可主要基于所存储轨迹(例如多项式样条)来导航,所存储轨迹可要求比涉及道路图像、道路参数、道路布局等的存储的方式要少许多的存储空间。
除了沿路段的轨迹的所存储多项式表示之外,所公开的稀疏地图还可包括可表示道路特征的小数据对象。在一些实施例中,小数据对象可包括数字签名,所述数字签名从沿路段行驶的交通工具上的传感器(例如摄像机或另一传感器,例如悬架传感器)所获得的数字图像(或数字信号)来得出。数字签名相对于传感器所获取的信号可具有减小的大小。在一些实施例中,数字签名可被创建为与分类器功能兼容,该分类器功能配置成例如从传感器在后续驾驶期间所获取的信号来检测和标识道路特征。在一些实施例中,数字签名可被创建成使得数字签名具有尽可能小的占用面积,同时保持基于由沿同一路段行驶的交通工具上的摄像机在后续时间所捕获的道路特征的图像(或者传感器所生成的数字信号,如果所存储签名不是基于图像和/或包括其它数据)将道路特征与所存储签名相互关连或匹配的能力。
在一些实施例中,数据对象的大小可进一步与道路特征的唯一性关联。例如,对于由交通工具上的摄像机可检测的道路特征,以及在交通工具上的摄像机系统被耦合到能够将与那个道路特征对应的图像数据区分为与特定类型的道路特征(例如道路标志)关联的分类器的情况下,并且在这种道路标志在那个区域中是本地唯一的(例如附近不存在相同的道路标志或者相同类型的道路标志),存储指示道路特征的类型及其位置的数据可以是充分的。
如下面将更详细论述,道路特征(例如沿路段的路标)可被存储为小数据对象,所述小数据对象可通过较少字节来表示道路特征,同时提供识别和使用这种特征进行导航的充分信息。在一个示例中,道路标志可被识别为作为交通工具的导航的基础的所标识路标。道路标志的表示可被存储在稀疏地图中,以包括例如指示路标的类型(例如停止标志)的几个字节的数据以及指示路标的位置(例如坐标)的几个字节的数据。基于路标的这类数据-灯(data-light)表示(例如使用足以基于路标进行定位、识别和导航的表示)的导航可提供与稀疏地图关联的预期水平的导航功能性,而无需显著增加与稀疏地图关联的数据开销。路标(和其它道路特征)的这个精益表示(lean representation)可利用这类交通工具上包含的传感器和处理器所述传感器和处理器配置成检测、标识和/或分类某些道路特征。
当例如标志或者甚至特定类型的标志在给定区域中为本地唯一时(例如当不存在另一标志或者不存在相同类型的另一标志时),稀疏地图可使用指示路标的类型(标志或者特定类型的标志)的数据,以及在自主交通工具上的摄像机捕获包括标志(或者特定类型的标志)的区域的图像时的导航(例如自主导航)期间,处理器可处理该图像,检测标志(若实际存在于图像中),将图像分类为标志(或者分类为特定类型的标志),并且将图像的位置与如稀疏地图中存储的标志的位置相互关连。
稀疏地图可以包括沿着路段标识的对象的任何合适的表示。在一些情况下,对象可以被称为语义对象或非语义对象。语义对象可以包括例如与预定类型分类相关联的对象。这种类型分类可以有用于减少描述在环境中识别的语义对象所需的数据量,这在采集阶段(例如,减少与用于将驾驶信息从多个采集交通工具传输到服务器的带宽相关联的成本)中和在导航阶段(例如,地图数据的减少可加速地图图块从服务器到导航交通工具的传输,并且还可减少与用于这种传输的带宽相关联的成本)期间均是有益的。语义对象分类类型可以被指派给期望沿道路遇到的任何类型的对象或特征。
语义对象还可以被分成两个或更多个逻辑组。例如,在一些情况下,一组语义对象类型可以与预定维度相关联。这样的语义对象可以包括某些限速标志、让行标志、合并标志、停止标志、交通灯、道路上的方向箭头、检修孔盖、或可以与标准化大小相关联的任何其它类型的对象。由这样的语义对象提供的一个好处是可需要非常少的数据来表示/完全定义对象。例如,如果限速大小的标准化大小是已知的,则采集交通工具可仅需要标识(通过对所捕获的图像的分析)限速标志(识别的类型)的存在连同检测到的限速标志的位置的指示(例如,标志的中心或标志的某一角在所捕获的图像中的2D位置(或者,备选地,在现实世界坐标中的3D位置))来为服务器侧上的地图生成提供足够的信息。在将2D图像位置传输到服务器的情况下,还可传输与检测到标志的所捕获图像相关联的位置,使得服务器可确定标志的现实世界位置(例如,通过使用来自一个或多个采集交通工具的多个所捕获图像的运动技术中的结构)。即使通过这种有限的信息(仅需要几个字节来定义每个检测到的对象),服务器也可以基于从一个或多个采集交通工具接收的类型分类(表示限速标志)连同检测到的标志的位置信息来构造包括完整表示的限速标志的地图。
语义对象还可以包括不与某些标准化特性相关联的其它识别的对象或特征类型。这样的对象或特征可以包括坑洞、柏油接缝、灯杆、非标准化标志、路缘、树、树枝、或具有一个或多个可变特性(例如,可变尺寸)的任何其它类型的识别的对象类型。在这种情况下,除了向服务器传输检测到的对象或特征类型(例如坑洞、杆等)的指示和检测到的对象或特征的位置信息之外,采集交通工具还可以传输对象或特征的大小的指示。大小可以以2D图像维度(例如,具有边界框或一个或多个维度值)或现实世界维度(通过运动计算中的结构、基于LIDAR或RADAR系统输出、基于训练的神经网络输出等来确定)来表达。
非语义对象或特征可包括落在所识别的类别或类型之外但仍可在地图生成中提供有价值信息的任何可检测对象或特征。在一些情况下,这种非语义特征可以包括检测到的建筑物拐角或检测到的建筑物窗户拐角、道路附近的独特石头或对象、道路路肩中的混凝土泼溅物、或任何其它可检测的对象或特征。在检测到这种对象或特征时,一个或多个采集交通工具可以向地图生成服务器传送与所检测到的对象/特征相关联的一个或多个点(2D图像点或3D现实世界点)的位置。另外,可以为包括所检测到的对象或特征的所捕获图像的区域生成压缩的或简化的图像片段(例如,图像散列)。该图像散列可以基于预定的图像处理算法来计算,并且可以形成所检测到的非语义对象或特征的有效签名。这种签名对于相对于包括非语义特征或对象的稀疏地图的导航是有用的,因为穿过道路的交通工具可以应用与用于生成图像散列的算法类似的算法,以便确认/验证所映射的非语义特征或对象在所捕获图像中的存在。使用此技术,非语义特征可增加稀疏地图的丰富度(例如,以增强其在导航中的有用性)而不增加显著的数据开销。
如上所述,目标轨迹可以存储在稀疏地图中。这些目标轨迹(例如,3D样条)可以表示道路的每个可用车道的优选或推荐路径、通过交叉口的每个有效路径以用于并入和离开等。除了目标轨迹之外,还可以以表示性样条的形式在稀疏地图中检测、采集和合并其它道路特征。此类特征可以包括例如道路边缘、车道标记、路缘、护栏、或沿道路或路段延伸的任何其它对象或特征。
生成稀疏地图
在一些实施例中,稀疏地图可包括沿路段延伸的路面特征的至少一个线表示以及与该路段关联的多个路标。在某些方面,稀疏地图可例如通过当一个或多个交通工具穿过路段时所获取的多个图像的图像分析经由“众包”来生成。
图8示出例如交通工具200(可以是自主交通工具)等的一个或多个交通工具可访问以用于提供自主交通工具导航的稀疏地图800。稀疏地图800可被存储在存储器(例如存储器140或150)中。这类存储器装置可包括任何类型的非暂时存储装置或计算机可读介质。例如,在一些实施例中,存储器140或150可包括硬盘驱动器、致密光盘、闪速存储器、基于磁的存储器装置、基于光的存储器装置等。在一些实施例中,稀疏地图800可被存储在数据库(例如地图数据库160)中,该数据库可被存储在存储器140或150或者其它类型的存储装置中。
在一些实施例中,稀疏地图800可被存储在交通工具200上提供的存储装置或者非暂时计算机可读介质(例如交通工具200上的导航系统中包含的存储装置)上。交通工具200上提供的处理器(例如处理单元110)可访问交通工具200上提供的存储装置或计算机可读介质中存储的稀疏地图800,以便在交通工具穿过路段时生成用于引导自主交通工具200的导航指令。
但是无需相对交通工具本地存储稀疏地图800。在一些实施例中,稀疏地图800可被存储在远程服务器上提供的存储装置或计算机可读介质上,该远程服务器与交通工具200或者关联交通工具200的装置进行通信。交通工具200上提供的处理器(例如处理单元110)可从远程服务器接收稀疏地图800中包含的数据,并且可执行该数据以用于引导交通工具200的自主驾驶。在这类实施例中,远程服务器可存储全部稀疏地图800或者仅存储它的一部分。相应地,交通工具200上和/或一个或多个附加交通工具上的存储装置或计算机可读介质可存储稀疏地图800的其余(一个或多个)部分。
此外,在这类实施例中,可使稀疏地图800是穿过各种路段的多个交通工具(例如数十、数百、数千或数百万个交通工具等)可访问的。还应当注意,稀疏地图800可包括多个子地图。例如,在一些实施例中,稀疏地图800可包括可用于导航交通工具中的数百、数千、数百万或更多子地图(例如地图图块)。这类子地图可称作本地地图或地图图块,以及沿道路行驶的交通工具可访问与该交通工具正行驶的位置相关的任何数量的本地地图。可存储稀疏地图800的本地地图部分,其中全球导航卫星系统(GNSS)密钥作为稀疏地图800的数据库的索引。因此,虽然本系统中用于导航主交通工具的转向角的计算可在不依靠主交通工具的GNSS位置、道路特征或路标的情况下执行,但是这种GNSS信息可用于检索相关本地地图。
一般来说,稀疏地图800可基于从一个或多个交通工具在沿道路行驶时所收集的数据(例如驾驶信息)来生成。例如,使用一个或多个交通工具上的传感器(例如摄像机、速度计、GPS、加速计等),一个或多个交通工具沿道路行驶的轨迹可被记录,以及用于交通工具沿道路进行后续行程的优选轨迹的多项式表示可基于一个或多个交通工具所行驶的所收集轨迹来确定。类似地,由一个或多个交通工具所收集的数据可帮助标识沿特定道路的潜在路标。从正穿过交通工具所收集的数据也可用来标识道路简档(road profile)信息,例如道路宽度简档、道路粗糙度简档、交通线间距简档、道路条件等。使用所收集信息,稀疏地图800可被生成和分发(例如供本地存储或者经由即时数据传输),以供导航一个或多个自主交通工具中使用。但是,在一些实施例中,地图生成可能不在地图的初始生成时结束。如下面将更详细论述,稀疏地图800可基于在交通工具继续穿过稀疏地图800中包含的道路时从那些交通工具所收集的数据来连续或周期更新。
稀疏地图800中记录的数据可包括基于全球定位系统(GPS)数据的位置信息。例如,位置信息可被包含在稀疏地图800中以用于各种地图元素,包括例如路标位置、道路简档位置等。可使用从穿过道路的交通工具所收集的GPS数据来获得稀疏地图800中包含的地图元素的位置。例如,通过所标识路标的交通工具可使用与交通工具关联的GPS位置信息以及所标识路标相对于交通工具的位置的确定(例如基于从交通工具上的一个或多个摄像机所收集的数据的图像分析)来确定所标识路标的位置。所标识路标(或者稀疏地图800中包含的任何其它特征)的这类位置确定可在附加交通工具通过所标识路标的位置时重复进行。附加位置确定的部分或全部可用来相对于所标识路标来细化稀疏地图800中存储的位置信息。例如,在一些实施例中,相对于稀疏地图800中存储的特定特征的多个位置测量可被共同求平均。但是,任何其它数学运算也可用来基于地图元素的多个所确定位置来细化地图元素的所存储位置。
在特定示例中,采集交通工具可穿过特定路段。每个采集交通工具捕获其各自环境的图像。可以以任何合适的帧捕获速率(例如,9Hz等)来收集图像。每个采集交通工具上的(一个或多个)图像分析处理器分析所捕获的图像以检测语义和/或非语义特征/对象的存在。在高级别,采集交通工具向映射服务器传送语义和/或非语义对象/特征的检测指示以及与那些对象/特征相关联的位置。更详细地,类型指示符、尺寸指示符等可以与位置信息一起传送。位置信息可以包括用于使映射服务器能够将检测到的对象/特征聚合成导航中有用的稀疏地图的任何合适的信息。在一些情况下,位置信息可以包括曾检测到语义或非语义特征/对象的所捕获图像中的一个或多个2D图像位置(例如,X-Y像素位置)。这种图像位置可以对应于特征/对象的中心、角等。在这种情况下,为了帮助映射服务器重构驾驶信息并对齐来自多个采集交通工具的驾驶信息,每个采集交通工具还可以向服务器提供曾捕获每个图像的位置(例如,GPS位置)。
在其它情况下,采集交通工具可以向服务器提供与检测到的对象/特征相关联的一个或多个3D现实世界点。这样的3D点可以与预定原点(例如驾驶段的原点)有关,并且可以通过任何合适的技术来确定。在一些情况下,运动技术中的结构可用于确定检测到的对象/特征的3D现实世界位置。例如,可以在两个或更多个捕获的图像中检测诸如特定限速标志的某个对象。使用诸如所捕获图像之间的采集交通工具的已知自我运动(速度、轨迹、GPS位置等)之类的信息,连同所观察到的所捕获图像中的限速标志的变化(X-Y像素位置的变化、大小的变化等),可以确定与限速标志相关联的一个或多个点的现实世界位置,并将其传递到映射服务器。这种方法是可选的,因为它需要采集交通工具系统的部分上的更多计算。所公开实施例的稀疏地图可使用较小存储数据量来实现交通工具的自主导航。在一些实施例中,稀疏地图800可具有小于每公里道路2 Mb、小于每公里道路1 Mb、小于每公里道路500 kB或者小于每公里道路100 kB的数据密度(例如包括表示目标轨迹、路标和任何其它所存储道路特征的数据)。在一些实施例中,稀疏地图800的数据密度可小于每公里道路10 kB或者甚至小于每公里道路2 kB(例如每公里1.6 kB),或者不超过每公里道路10 kB或者不超过每公里道路20 kB。在一些实施例中,美国道路的大部分(即使不是全部)可使用具有总共4 GB或更少数据的稀疏地图来自主导航。这些数据密度值可表示对整个稀疏地图800、对稀疏地图800内的本地地图和/或对稀疏地图800内的特定路段的平均数。
如所述,稀疏地图800可包括多个目标轨迹810的表示,以用于引导沿路段的自主驾驶或导航。这类目标轨迹可被存储为三维样条。稀疏地图800中存储的目标轨迹例如可基于交通工具沿特定路段的先前穿过的两个或更多重构轨迹来确定。路段可与单个目标轨迹或者多个目标轨迹关联。例如,在二车道道路上,第一目标轨迹可被存储以表示沿道路在第一方向的预计行驶路径,以及第二目标轨迹可被存储以表示沿道路在另一方向(例如与第一方向相反)的预计行驶路径。可相对特定路段来存储附加目标轨迹。例如,在多车道道路上,一个或多个目标轨迹可被存储,表示与多车道道路关联的一个或多个车道中的交通工具的预计行驶路径。在一些实施例中,多车道道路的每个车道可与其自己的目标轨迹关联。在其它实施例中,可存在比多车道道路上存在的车道要少的所存储目标轨迹。在这类情况下,行驶于多车道道路的交通工具可通过考虑与其目标轨迹被存储的车道的车道偏移量,使用所存储目标轨迹的任一个来引导其导航(例如,如果交通工具在三车道道路的最左侧车道中行驶,并且仅对道路的中间车道存储目标轨迹,则交通工具可通过在生成导航指令时考虑中间车道与最左侧车道之间的车道偏移量,使用中间车道的目标轨迹进行导航)。
在一些实施例中,目标轨迹可表示交通工具在行驶时应当采取的理想路径。目标轨迹可位于例如行驶车道的近似中心。在其它情况下,目标轨迹可位于相对于路段的其它位置。例如,目标轨迹可与道路的中心、道路的边缘或者车道的边缘等大致一致。在这类情况下,基于目标轨迹的导航可包括相对于目标轨迹的位置将被保持的所确定偏移量。此外,在一些实施例中,相对于目标轨迹的位置将被保持的所确定偏移量基于交通工具的类型可有所不同(例如,包括两个车轴的乘用车沿目标轨迹的至少一部分可具有与包括多于两个车轴的卡车不同的偏移量)。
稀疏地图800还可包括与多个预定路标820相关的数据,所述路标820与特定路段、本地地图等关联。如下面更详细论述,这些路标可用于自主交通工具的导航中。例如,在一些实施例中,路标可用来确定交通工具相对于所存储目标轨迹的当前位置。通过这个位置信息,自主交通工具可以能够调整航向方向,以匹配所确定位置处的目标轨迹的方向。
多个路标820可以以任何适当间距来标识并且存储在稀疏地图800中。在一些实施例中,可以以较高密度(例如每数米或以上)来存储路标。但是,在一些实施例中,可采用明显更大的路标间距值。例如,在稀疏地图800中,所标识(或者所识别)路标可间隔开10米、20米、50米、100米、1公里或2公里。在一些情况下,所标识路标可位于甚至分开多于2公里的距离。
在路标之间并且因此在相对于目标轨迹的交通工具位置的确定之间,交通工具可基于航位推测进行导航,其中交通工具使用传感器来确定其自我运动,并且估计它相对于目标轨迹的位置。因为误差在通过航位推测的导航期间可能累积,所以随时间推移,相对于目标轨迹的位置确定可变得越来越不精确。交通工具可使用稀疏地图800中出现的路标(及其已知位置)来去除位置确定中的航位推测引起的误差。这样,稀疏地图800中包含的所标识路标可用作导航锚点,从其中可确定交通工具相对于目标轨迹的精确位置。因为一定误差量在位置定位中可以是可接受的,所以所标识路标无需始终是自主交通工具可用的。适当导航而是如上所述甚至基于10米、20米、50米、100米、500米、1公里、2公里或以上的路标间距也可以是可能的。在一些实施例中,每1 km道路1个所标识路标的密度可足以将纵向位置确定精度保持在1 m之内。因此,并非沿路段出现的每一个潜在路标都需要被存储在稀疏地图800中。
此外,在一些实施例中,车道标记可在路标间距期间用于交通工具的定位。通过在路标间距期间使用车道标记,可最小化通过航位推测的导航期间的误差累积。
除了目标轨迹和所标识路标之外,稀疏地图800还可包括与各种其它道路特征相关的信息。例如,图9A示出可被存储在稀疏地图800中的沿特定路段的曲线的表示。在一些实施例中,道路的单车道可通过道路的左侧和右侧的三维多项式描述来建模。表示单个车道的左侧和右侧的这类多项式在图9A中示出。不管道路具有多少车道,都可按照与图9A所示相似的方式使用多项式来表示该道路。例如,多车道道路的左侧和右侧可通过与图9A所示相似的多项式来表示,以及多车道道路上包含的中间车道标记(例如表示车道边界的虚线标记、表示沿不同方向行驶的车道之间的边界的黄实线等)也可使用例如图9A所示的多项式来表示。
如图9A所示,可使用多项式(例如一阶、二阶、三阶或者任何适当阶数的多项式)来表示车道900。为了便于说明,车道900示为二维车道,以及多项式示为二维多项式。如图9A所示,车道900包括左侧910和右侧920。在一些实施例中,多于一个多项式可用来表示道路或车道边界的每侧的位置。例如,左侧910和右侧920的每个可通过任何适当长度的多个多项式来表示。在一些情况下,多项式可具有大约100 m的长度,但是也可使用大于或小于100m的其它长度。另外,多项式能够相互重叠,以便促进基于主交通工具沿道路行驶时随后遇到的多项式的导航中的无缝过渡。例如,左侧910和右侧920的每个可通过多个三阶多项式来表示,所述多项式被分为大约100米长的段(第一预定范围的示例),并且相互重叠大约50米。表示左侧910和右侧920的多项式可以或者可以不具有相同阶数。例如在一些实施例中,一些多项式可以是二阶多项式,一些可以是三阶多项式,以及一些可以是四阶多项式。
在图9A所示的示例中,车道900的左侧910通过两组三阶多项式来表示。第一组包括多项式段911、912和913。第二组包括多项式段914、915和916。两个编组虽然基本上相互平行,但是跟随道路的相应侧的位置。多项式段911、912、913、914、915和916具有大约100米的长度,并且重叠系列中的相邻段大约50米。但是,如先前所述,也可使用不同长度和不同重叠量的多项式。例如,多项式可具有500 m、1 km或以上的长度,以及重叠量可从0至50 m、50 m至100 m或者大于100 m改变。另外,虽然图9A示为表示在2D空间(例如在纸张表面)延伸的多项式,但是要理解,这些多项式可表示在三维(例如包括高度分量)延伸的曲线,以除了X-Y曲率之外还表示路段的高程变化。在图9A所示的示例中,车道900的右侧920进一步通过具有多项式段921、922和923的第一组以及具有多项式段924、925和926的第二组来表示。
回到稀疏地图800的目标轨迹,图9B示出表示沿特定路段行驶的交通工具的目标轨迹的三维多项式。目标轨迹不仅表示主交通工具应当沿特定路段行驶的X-Y路径,而且还表示主交通工具在沿该路段行驶时将遇到的高程变化。因此,稀疏地图800中的每个目标轨迹可通过一个或多个三维多项式(例如图9B所示的三维多项式950)来表示。稀疏地图800可包括多个轨迹(例如数百万或数十亿或以上,以表示交通工具沿全世界的道路的各种路段的轨迹)。在一些实施例中,每个目标轨迹可对应于连接三维多项式段的样条。
关于稀疏地图800中存储的多项式的数据占用面积,在一些实施例中,每个三次多项式可通过各自要求四字节数据的四个参数来表示。可采用对每100 m要求大约192字节的数据的三次多项式来获得适当表示。这可转化成对于大约以100 km/hr行驶的主交通工具的数据使用/传输要求中的大致每小时200 kB。
稀疏地图800可使用几何描述符和元数据的组合来描述车道网络。几何形状可通过如上所述的多项式或样条来描述。元数据可描述车道的数量、特殊特性(例如汽车共用车道)和可能的其它稀疏标签。这类指示符的总占用面积可以是可忽略的。
相应地,按照本公开的实施例的稀疏地图可包括沿路段延伸的路面特征的至少一个线表示,每个线表示将表示沿路段与路面特征基本上对应的路径。在一些实施例中,如上所述,路面特征的至少一个线表示可包括样条、多项式表示或曲线。此外,在一些实施例中,路面特征可包括道路边缘或车道标记的至少一个。此外,如下面针对“众包”所述,路面特征可通过在一个或多个交通工具穿过路段时所获取的多个图像的图像分析来标识。
如先前所述,稀疏地图800可包括与路段关联的多个预定路标。不是存储路标的实际图像并且依靠例如基于所捕获图像和所存储图像的图像识别分析,可使用比所存储的实际图像原本要求的要少的数据来表示和识别稀疏地图800中的每个路标。表示路标的数据仍然可包括用于描述或识别沿道路的路标的充分信息。存储描述路标的特性的数据而不是路标的实际图像可减小稀疏地图800的大小。
图10示出可在稀疏地图800中表示的路标的类型的示例。路标可包括沿路段的任何可见和可标识对象。路标可被选择成使得它们是固定的,并且相对其位置和/或内容不会经常改变。稀疏地图800中包含的路标可在确定交通工具200穿过特定路段时相对目标轨迹的位置中是有用的。路标的示例可包括交通标志、方向标志、一般标志(例如矩形标志)、路边固定装置(例如灯柱、反射镜等)和任何其它适当类别。在一些实施例中,道路上的车道标记还可作为稀疏地图800中的路标被包含。
图10所示路标的示例包括交通标志、方向标志、路边固定装置和一般标志。交通标志可包括例如限速标志(例如限速标志1000)、让行标志(例如让行标志1005)、路线编号标志(例如路线编号标志1010)、交通灯标志(例如交通灯标志1015)、停止标志(例如停止标志1020)。方向标志可包括标志,该标志包括指示到不同地点的一个或多个方向的一个或多个箭头。例如,方向标志可包括:道路标志1025,具有用于将交通工具引导到不同道路或地点的箭头;出口标志1030,具有用于引导交通工具离开道路的箭头;等等。相应地,多个路标的至少一个可包括道路标志。
一般标志可与交通不相关。例如,一般标志可包括用于广告的广告牌或者与两个国家、州、县、城市或城镇之间的边界相邻的欢迎牌。图10示出一般标志1040(“Joe’sRestaurant”(Joe的餐厅))。虽然一般标志1040如图10所示可具有矩形形状,但是一般标志1040可具有其它形状,例如正方形、圆形、三角形等。
路标还可包括路边固定装置。路边固定装置可能不是标志的对象,并且可能不是与交通或方向相关的。例如,路边固定装置可包括灯柱(例如灯柱1035)、电线柱、交通灯柱等。
路标还可包括信标,所述信标可专门设计成供自主交通工具导航系统中使用。例如,这类信标可包括以预定间隔所放置的独立结构,以帮助导航主交通工具。这类信标还可包括被添加到现有道路标志的视觉/图形信息(例如图标、徽章、条形码等),所述信息可由沿路段行驶的交通工具所标识或识别。这类信标还可包括电子组件。在这类实施例中,电子信标(例如RFID标签等)可用来向主交通工具传送非视觉信息。这种信息可包括例如主交通工具在确定沿目标轨迹的位置中可使用的路标标识和/或路标位置信息。
在一些实施例中,稀疏地图800中包含的路标可通过预定大小的数据对象来表示。表示路标的数据可包括用于标识特定路标的任何适当参数。例如,在一些实施例中,稀疏地图800中存储的路标可包括诸如路标的物理大小(例如以支持基于已知大小/标度来估计到路标的距离)、到前一路标的距离、横向偏移、高度、类型代码(例如路标类型—哪一种类型的方向标志、交通标志等)、GPS坐标(例如以支持全球定位)和任何其它适当参数之类的参数。每个参数可与数据大小关联。例如,可使用8字节的数据来存储路标大小。可使用12字节的数据来指定到前一路标的距离、横向偏移和高度。与路标(例如方向标志或交通标志)关联的类型代码可要求大约2字节的数据。对于一般标志,可使用50字节的数据存储来存储实现一般标志的标识的图像签名。路标GPS位置可与16字节的数据存储关联。每个参数的这些数据大小只是示例,并且也可使用其它数据大小。按照这种方式在稀疏地图800中表示路标可提供用于有效地表示数据库中的路标的瘦解决方案。在一些实施例中,对象可称作标准语义对象或非标准语义对象。标准语义对象可以包括任何对象分类,对于所述对象存在特性的标准化集合(例如,具有已知尺寸或其它特性的限速标志,警告标志,方向标志,交通灯等)。非标准语义对象可以包括不与特性的标准化集合相关联的任何对象(例如,通用广告标志,标识商业机构的标志,坑洞,树等,其可以具有可变的尺寸)。每个非标准语义对象可以用38字节的数据表示(例如,用于大小的8字节;用于与先前标志的距离,横向偏移和高度的12字节;用于类型代码的2字节;以及用于位置坐标的16字节)。标准语义对象可以使用甚至更少的数据来表示,因为映射服务器可能不需要大小信息来完整表示稀疏地图中的对象。
稀疏地图800可使用标签系统来表示路标类型。在一些情况下,每个交通标志或方向标志可与其自己的标签关联,所述标签可作为路标标识的组成部分被存储在数据库中。例如,数据库可包括表示各种交通标志的大约1000个不同标签以及表示方向标志的大约10000个不同标签。当然,可使用任何适当数量的标签,并且可根据需要创建附加标签。在一些实施例中可使用少于大约100字节来表示通用标志(例如大约86字节,包括:8字节用于大小;12字节用于到前一路标的距离、横向偏移和高度;50字节用于图像签名;以及16字节用于GPS坐标)。
因此,对于不要求图像签名的语义道路标志,对稀疏地图800的数据密度影响甚至在每50 m大约1个的较高路标密度下也可为大约每公里760字节(例如每公里20个路标×每路标38个字节=760个字节)。甚至对于包括图像签名分量的通用标志,数据密度影响也为大约每公里1.72 kB(每公里20个路标×每路标86个字节=1720个字节)。对于语义道路标志,这相当于对于以100 km/hr行驶的交通工具的大约每小时76 kB的数据使用。对于通用标志,这相当于对于以100 km/hr行驶的交通工具的大约每小时170 kB。应注意,在一些环境(例如,城市环境)中,可存在可用于包括在稀疏地图中的高得多的检测对象密度(可能每米多于一个)。在一些实施例中,一般矩形的对象(例如矩形标志)可在稀疏地图800中通过不超过100字节的数据来表示。稀疏地图800中的一般矩形的对象(例如一般标志1040)的表示可包括与一般矩形对象关联的压缩图像签名或图像散列(例如压缩图像签名1045)。这个压缩图像签名/图像散列可使用任何合适的图像散列算法来确定并可例如用来帮助标识通用标志,例如标识为所识别的路标。这种压缩图像签名(例如从表示对象的实际图像数据所得出的图像信息)可避免需要存储对象的实际图像或者需要对实际图像所执行的比较图像分析以便识别路标。
参照图10,稀疏地图800可包括或存储与一般标志1040关联的压缩图像签名1045而不是一般标志1040的实际图像。例如,在图像捕获装置(例如图像捕获装置122、124或126)捕获一般标志1040的图像之后,处理器(例如图像处理器190或者能够处理主交通工具上或者相对于主交通工具远程定位的图像的任何其它处理器)可执行图像分析,以提取/创建压缩图像签名1045,所述压缩图像签名1045包括与一般标志1040关联的唯一签名或模式。在一个实施例中,压缩图像签名1045可包括形状、颜色模式、亮度模式或者可从一般标志1040的图像所提取的用于描述一般标志1040的任何其它特征。
例如,在图10中,压缩图像签名1045中所示的圆形、三角形和星形可表示不同颜色的区域。通过圆形、三角形和星形所表示的图案可被存储在稀疏地图800中,例如在被指定为包括图像签名的50字节内。值得注意,圆形、三角形和星形不一定意在指示这类形状作为图像签名的组成部分来存储。这些形状而是意在在概念上表示具有可辨别颜色差异的可识别区域、文本区域、图形区域或者可与通用标志关联的特性的其它变化。这类压缩图像签名能够用来标识采取一般标志形式的路标。例如,压缩图像签名能够用来基于所存储的压缩图像签名与例如使用自主交通工具上的摄像机所捕获的图像数据的比较来执行相同-不相同(same-not-same)分析。
相应地,多个路标可通过在一个或多个交通工具穿过路段时所获取的多个图像的图像分析来标识。如下面针对“众包”所述,在一些实施例中,标识多个路标的图像分析可包括在路标出现的图像与路标没有出现的图像的比率超过阈值时接受潜在路标。此外,在一些实施例中,标识多个路标的图像分析可包括在路标没有出现的图像与路标出现的图像的比率超过阈值时拒绝潜在路标。
回到主交通工具可用来导航特定路段的目标轨迹,图11A示出构建或保持稀疏地图800的过程期间捕获的多项式表示轨迹。稀疏地图800中包含的目标轨迹的多项式表示可基于交通工具沿同一路段的先前穿过的两个或更多重构轨迹来确定。在一些实施例中,稀疏地图800中包含的目标轨迹的多项式表示可以是交通工具沿同一路段的先前穿过的两个或更多重构轨迹的聚合。在一些实施例中,稀疏地图800中包含的目标轨迹的多项式表示可以是交通工具沿同一路段的先前穿过的两个或更多重构轨迹的平均。其它数学运算也可用来基于从沿路段行驶的交通工具所收集的重构轨迹来构建沿道路路径的目标轨迹。
如图11A所示,路段1100可在不同时间由多个交通工具200行驶。每个交通工具200可收集与该交通工具沿路段所采取的路径相关的数据。由特定交通工具所行驶的路径可基于摄像机数据、加速计信息、速度传感器信息和/或GPS信息以及其它潜在来源来确定。这种数据可用来重构沿路段行驶的交通工具的轨迹,以及基于这些重构轨迹,可对特定路段确定目标轨迹(或者多个目标轨迹)。这类目标轨迹可表示主交通工具(例如由自主导航系统所引导)在沿路段行驶时的优选路径。
在图11A所示的示例中,第一重构轨迹1101可基于从第一时间段(例如第1天)穿过路段1100的第一交通工具所接收的数据来确定,第二重构轨迹1102可从第二时间段(例如第2天)穿过路段1100的第二交通工具来获得,以及第三重构轨迹1103可从第三时间段(例如第3天)穿过路段1100的第三交通工具来获得。每个轨迹1101、1102和1103可通过多项式(例如三维多项式)来表示。应当注意,在一些实施例中,重构轨迹的任一个可在穿过路段1100的交通工具上装配。
作为补充或替代,这类重构轨迹可在服务器侧基于从穿过路段1100的交通工具所接收的信息来确定。例如,在一些实施例中,交通工具200可向一个或多个服务器传送与它们沿路段1100的运动相关的数据(例如转向角、航向、时间、位置、速度、所感测道路几何形状和/或所感测路标等等)。服务器可基于所接收数据来重构交通工具200的轨迹。服务器还可基于第一、第二和第三轨迹1101、1102和1103来生成目标轨迹,以用于引导以后将沿同一路段1100行驶的自主交通工具的导航。虽然目标轨迹可与路段的单个先前穿过关联,但是在一些实施例中,稀疏地图800中包含的每个目标轨迹可基于穿过同一路段的交通工具的两个或更多重构轨迹来确定。在图11A中,目标轨迹通过1110来表示。在一些实施例中,目标轨迹1110可基于第一、第二和第三轨迹1101、1102和1103的平均数来生成。在一些实施例中,稀疏地图800中包含的目标轨迹1110可以是两个或更多重构轨迹的聚合(例如加权组合)。
在映射服务器处,服务器可以从穿过特定路段的多个采集交通工具接收该路段的实际轨迹。为了针对沿着路段的每个有效路径(例如,每个车道、每个驾驶方向、通过交叉口的每个路径等)生成目标轨迹,可以对齐所接收的实际轨迹。对齐过程可以包括使用沿着路段所标识的检测到的对象/特征连同那些检测到的对象/特征的采集位置来使实际的、所采集的轨迹彼此相关。一旦对齐,可以基于聚合的、相关的/对齐的实际轨迹来确定每个可用车道的平均或“最佳拟合”目标轨迹等。
图11B和图11C进一步示出与地理区域1111内存在的路段关联的目标轨迹的概念。如图11B所示,地理区域1111内的第一路段1120可包括多车道道路,该多车道道路包括被指定用于沿第一方向的交通工具行驶的两个车道1122以及被指定用于沿与第一方向相反的第二方向的交通工具行驶的两个附加车道1124。车道1122和车道1124可通过双黄线1123分隔。地理区域1111还可包括与路段1120相交的分支路段1130。路段1130可包括二车道道路,每个车道被指定用于不同行驶方向。地理区域1111还可包括其它道路特征,例如停止线1132、停止标志1134、限速标志1136和危险标志1138。
如图11C所示,稀疏地图800可包括本地地图1140,该本地地图1140包括用于辅助地理区域1111内的交通工具的自主导航的道路模型。例如,本地地图1140可包括与地理区域1111内的路段1120和/或1130关联的一个或多个车道的目标轨迹。例如,本地地图1140可包括自主交通工具在穿过车道1122时可访问或依靠的目标轨迹1141和/或1142。类似地,本地地图1140可包括自主交通工具在穿过车道1124时可访问或依靠的目标轨迹1143和/或1144。此外,本地地图1140可包括自主交通工具在穿过路段1130时可访问或依靠的目标轨迹1145和/或1146。目标轨迹1147表示自主交通工具在从车道1120(以及具体来说相对于与车道1120的最右侧车道关联的目标轨迹1141)过渡到路段1130(以及具体来说相对于与路段1130的第一侧关联的目标轨迹1145)时应当跟随的优选路径。类似地,目标轨迹1148表示自主交通工具在从路段1130(以及具体来说相对于目标轨迹1146)过渡到路段1124的一部分(以及具体来说如所示相对于与车道1124的左侧车道关联的目标轨迹1143)时应当跟随的优选路径。
稀疏地图800还可包括与地理区域1111关联的其它道路相关特征的表示。例如,稀疏地图800还可包括地理区域1111中标识的一个或多个路标的表示。这类路标可包括与停止线1132关联的第一路标1150、与停止标志1134关联的第二路标1152、与限速标志1154关联的第三路标以及与危险标志1138关联的第四路标1156。这类路标可例如用来帮助自主交通工具确定它相对于所示目标轨迹的任一个的当前位置,使得交通工具可调整其航向以匹配所确定位置处的目标轨迹的方向。
在一些实施例中,稀疏地图800还可包括道路签名简档。这类道路签名简档可与关联道路的至少一个参数的任何可辨别/可测量变化关联。例如,在一些情况下,这类简档可与路面信息的变化(例如特定路段的表面粗糙度的变化、对特定路段的道路宽度的变化、沿特定路段所绘制的虚线之间的距离的变化、沿特定路段的道路曲率的变化等)关联。图11D示出道路签名简档1160的示例。虽然简档1160可表示上述参数等的任一个,但是在一个示例中,简档1160可表示如通过监测一个或多个传感器所获得的路面粗糙度的量度,所述传感器提供指示交通工具行驶特定路段时的悬架位移量的输出。
备选或并发地,简档1160可表示如基于经由行驶特定路段的交通工具上的摄像机所获得的图像数据所确定的道路宽度的变化。这类简档例如在确定自主交通工具相对于特定目标轨迹的特定位置中可以是有用的。也就是说,当自主交通工具穿过路段时,它可测量与关联该路段的一个或多个参数关联的简档。如果所测量简档能够与绘制相对沿路段的位置的参数变化的预定简档相互关连/匹配,则可使用所测量和预定的简档(例如通过重叠所测量和预定的简档的对应部分),以便确定沿路段的当前位置并且确定相对于路段的目标轨迹的当前位置。
在一些实施例中,稀疏地图800可包括基于与自主交通工具的用户关联的不同特性、环境条件和/或与驾驶相关的其它参数的不同轨迹。例如,在一些实施例中,可基于不同用户偏好和/或简档来生成不同轨迹。包括这类不同轨迹的稀疏地图800可被提供给不同用户的不同自主交通工具。例如,一些用户可能更喜欢避开收费道路,而其它用户可能更喜欢采取最短或最快路线,而不管路线上是否存在收费道路。所公开系统可基于这类不同用户偏好或简档来生成具有不同轨迹的不同稀疏地图。作为另一个示例,一些用户可能更喜欢在快速移动车道上行驶,而其它用户可能更喜欢始终保持中心车道中的位置。
不同轨迹可基于不同环境条件(例如白天和夜晚、雪、雨、雾等)来生成并且包含在稀疏地图800中。在不同环境条件下驾驶的自主交通工具可被提供有基于这类不同环境条件所生成的稀疏地图800。在一些实施例中,自主交通工具上提供的摄像机可检测环境条件,并且又可向生成和提供稀疏地图的服务器提供这种信息。例如,服务器可生成或更新已经生成的稀疏地图800,以包括对于在所检测环境条件下的自主驾驶可以是更适合或安全的轨迹。基于环境条件对稀疏地图800的更新可在自主交通工具沿道路行驶时动态执行。
与驾驶相关的其它不同参数也可用作用于生成不同稀疏地图并且提供给不同自主交通工具的基础。例如,当自主交通工具正高速行驶时,转弯可能会更紧。与特定车道而不是道路关联的轨迹可被包含在稀疏地图800中,使得自主交通工具可在跟随特定轨迹时可保持在特定车道之内。当自主交通工具上的摄像机所捕获的图像指示交通工具已经漂移到车道之外(例如穿过车道标记)时,可在交通工具内触发动作,以按照特定轨迹将交通工具带回所指定车道。
众包稀疏地图
所公开的稀疏地图可以通过众包的能力来高效地(且被动地)生成。例如,配备有摄像机(例如,通常作为当今交通工具上的OEM设备而被包括的简单的低分辨率摄像机)和适当的图像分析处理器的任何私人或商用交通工具可以用作采集交通工具。不需要特殊设备(例如,高清晰度成像和/或定位系统)。作为所公开的众包技术的结果,所生成的稀疏地图可以是极其准确的,并且可以包括极其精细的位置信息(允许10cm或更小的导航误差限制),而不需要任何专门的成像或感测设备作为对地图生成过程的输入。众包还使能对所生成的地图进行更快速得多(且廉价)的更新,因为来自由最低程度地装备以还用作采集交通工具的私人或商用交通工具穿过的任何道路的新的驾驶信息持续可用于映射服务器系统。不需要配备有高清晰度成像和映射传感器的指定交通工具。因此,可以避免与建造这种专用交通工具相关联的费用。此外,对当前公开的稀疏地图的更新可以比依赖于专用的、专门的映射交通工具(其由于其费用和专用设备而典型地被限于数量远低于已经可用于执行所公开的采集技术的私人或商业交通工具的数量的专用交通工具车队)的系统更快得多。
通过众包生成的所公开的稀疏地图可以是极其准确的,因为它们可以基于来自已经沿特定路段收集了驾驶信息的多个(数十、数百、数百万等)采集交通工具的许多输入来生成。例如,沿着特定路段行驶的每个采集交通工具可以记录其实际轨迹,并且可以确定相对于沿路段的检测到的对象/特征的位置信息。该信息从多个采集交通工具传递到服务器。实际轨迹被聚合以生成用于沿着路段的每个有效驾驶路径的细化的目标轨迹。另外,还可以聚合针对沿着路段的每个检测到的对象/特征(语义或非语义)从多个采集交通工具收集的位置信息。作为结果,每个检测到的对象/特征的所映射位置可以构成每个检测到的对象/特征的数百、数千或数百万个单独确定的位置的平均值。这种技术可以针对检测到的对象/特征产生及其准确的映射位置。
在一些实施例中,所公开的系统和方法可生成自主交通工具导航的稀疏地图。例如,所公开的系统和方法可将众包数据用于生成一个或多个自主交通工具可用来沿道路系统进行导航的稀疏地图。如本文所使用的“众包”意味着从不同时间在路段上行驶的各种交通工具(例如自主交通工具)接收数据,并且这种数据用来生成和/或更新道路模型,包括稀疏地图图块。模型或其稀疏地图图块中的任何图块又可被传送给交通工具或者以后沿路段行驶的其它交通工具,以用于帮助自主交通工具导航。道路模型可包括表示自主交通工具在穿过路段时应当跟随的优选轨迹的多个目标轨迹。目标轨迹可与从穿过路段的交通工具所收集的重构的实际轨迹相同,该重构的实际轨迹可从交通工具传送给服务器。在一些实施例中,目标轨迹可与一个或多个交通工具先前穿过路段时所采取的实际轨迹不同。目标轨迹可基于实际轨迹来生成(例如通过求平均或者任何其它适当操作)。
交通工具可上传给服务器的交通工具轨迹数据可与交通工具的实际重构轨迹对应,或者可对应于推荐轨迹,该推荐轨迹可基于交通工具的实际重构轨迹或者与其相关,但是可与实际重构轨迹有所不同。例如,交通工具可修改其实际重构轨迹,并且向服务器提交(例如推荐)修改的实际轨迹。道路模型可使用推荐的修改轨迹作为其它交通工具的自主导航的目标轨迹。
除了轨迹信息之外,构建稀疏数据地图800中可能使用的其它信息还可包括与潜在路标候选相关的信息。例如,通过信息的众包,所公开的系统和方法可标识环境中的潜在路标,并且细化路标位置。路标可由自主交通工具的导航系统用来确定和/或调整沿目标轨迹的交通工具的位置。
交通工具在沿道路行驶时可生成的重构轨迹可通过任何适当方法来获得。在一些实施例中,可通过使用例如自我运动估计(例如摄像机并且因此交通工具的车身的三维平移和三维旋转)将交通工具的运动段拼接在一起,来形成重构轨迹。旋转和平移估计可基于一个或多个图像捕获装置所捕获的图像连同来自其它传感器或装置(例如惯性传感器和速度传感器)的信息的分析来确定。例如,惯性传感器可包括配置成测量车体的平移和/或旋转的变化的加速计或其它适当传感器。交通工具可包括速度传感器,该速度传感器测量交通工具的速度。
在一些实施例中,摄像机(并且因此车体)的自我运动可基于所捕获图像的光流分析来估计。图像序列的光流分析从图像序列中标识像素的移动,并且基于所标识移动来确定交通工具的运动。自我运动可随时间并且沿路段来整合,以重构与交通工具已经跟随的路段关联的轨迹。
由多个交通工具在不同时间沿路段的多次驾驶中所收集的数据(例如重构轨迹)可用来构建稀疏地图800中包含的道路模型(例如包括目标轨迹等)。由多个交通工具在不同时间沿路段的多次驾驶中所收集的数据也可被求平均,以增加模型的精度。在一些实施例中,可从不同时间通过公共路段行驶的多个交通工具来接收与道路几何形状和/或路标有关的数据。从不同交通工具所接收的这种数据可被组合,以生成道路模型和/或更新道路模型。
沿路段的重构轨迹(以及还有目标轨迹)的几何形状可通过三维空间中的曲线来表示,该曲线可以是连接三维多项式的样条。重构轨迹曲线可从交通工具上安装的摄像机所捕获的视频流或者多个图像的分析来确定。在一些实施例中,在交通工具的当前位置前面几米的每个帧或图像中标识位置。这个位置是预计交通工具在预定时间段要行驶到的位置。这个操作可逐帧重复进行,并且同时交通工具可计算摄像机的自我运动(旋转和平移)。在每个帧或图像,由交通工具在被附连到摄像机的参考系中生成预期路径的短程模型。短程模型可被拼接在一起,以获得某个坐标系中的道路的三维模型,所述坐标系可以是任意或预定坐标系。然后可通过样条来拟合道路的三维模型,该样条可包括或连接适当阶数的一个或多个多项式。
为了在每个帧推断短程道路模型,可使用一个或多个检测模块。例如,可使用自底向上(bottom-up)车道检测模块。在道路上绘制车道标记时,自底向上车道检测模块可以是有用的。这个模块可在图像中查找边缘,并且将它们组装在一起,以形成车道标记。第二模块可连同自底向上车道检测模块一起使用。第二模块是端对端深度神经网络,该端对端深度神经网络可被训练成从输入图像来预测正确短程路径。在两种模块中,道路模型可在图像坐标系中被检测,并且被变换成三维空间,该三维空间可虚拟地附连到摄像机。
虽然重构轨迹建模方法可能因自我运动对长时间段的整合而引入误差的累积(可包括噪声分量),但是这类误差可以是无关紧要的,因为所生成模型可提供对本地标度的导航的充分精度。另外,有可能通过使用外部信息源(例如卫星图像或大地测量)来消除整合误差。例如,所公开的系统和方法可使用GNSS接收器来消除累积误差。但是,GNSS定位信号可能不一定是可用和精确的。所公开的系统和方法可实现转向应用,该转向应用微弱地取决于GNSS定位的可用性和精度。在这类系统中,GNSS信号的使用可受到限制。例如,在一些实施例中,所公开的系统可以仅为了便于数据库索引而使用GNSS信号。
在一些实施例中,与自主交通工具导航转向应用可以是相关的范围标度(例如本地标度)可以为大约50米、100米、200米、300米等。可使用这类距离,因为几何道路模型主要用于两个目的:计划前面的轨迹,以及在道路模型上定位交通工具。在一些实施例中,当控制算法按照位于前面1.3秒(或者任何其它时间,例如1.5秒、1.7秒、2秒等)的目标点来操纵交通工具时,计划任务可使用对前面40米(或者前面任何其它适当距离,例如20米、30米、50米)的典型范围使用模型。定位任务按照另一部分更详细描述的称作“尾部对齐”的方法对汽车后面60米(或者任何其它适当距离,例如50米、100米、150米等)的典型范围使用道路模型。所公开的系统和方法可生成几何模型,该几何模型对特定范围(例如100米)具有充分精度,使得计划轨迹与车道中心将不会偏离超过例如30 cm。
如上所述,可通过检测短程部分并且将它们拼接在一起,来构建三维道路模型。可通过使用摄像机所捕获的视频和/或图像、来自反映交通工具的运动的惯性传感器的数据以及主交通工具速度信号计算六度自我运动模型,来实现拼接。累积误差对某个本地范围标度可以足够小,例如大约100米。这个方面全部可在通过特定路段的单次驾驶中完成。
在一些实施例中,多次驾驶可用来对所产生模型求平均,并且进一步增加其精度。同一汽车可能多次行驶同一路线,或者多个汽车可将它们所收集的模型数据发送给中央服务器。在任何情况下,可执行匹配过程,以标识重叠模型,并且实现平均,以便生成目标轨迹。一旦满足收敛标准,所构建模型(例如包括目标轨迹)可用于操纵。后续驾驶可用于其它模型改进,并且为了适应基础设施变化。
多个汽车之间的驾驶体验(例如所感测数据)的共享在它们被连接到中央服务器时成为可行。每个交通工具客户可存储通用道路模型的部分副本,该部分副本可与其当前位置是相关的。交通工具与服务器之间的双向更新过程可由交通工具和服务器执行。以上所述的小占用面积概念使所公开系统和方法能够使用很小带宽来执行双向更新。
与潜在路标相关的信息也可被确定并且转发给中央服务器。例如,所公开的系统和方法可基于包括路标的一个或多个图像来确定潜在路标的一个或多个物理性质。物理性质可包括路标的物理大小(例如高度、宽度)、从交通工具到路标的距离、路标到前一路标之间的距离、路标的横向位置(例如路标相对于行驶车道的位置)、路标的GPS坐标、路标的类型、路标上的文本的标识等。例如,交通工具可分析摄像机所捕获的一个或多个图像,以检测潜在路标(例如限速标志)。
交通工具可以基于对一个或多个图像的分析来确定从交通工具到路标或与路标相关联的位置(例如,沿着路段的任何语义或非语义对象或特征)的距离。在一些实施例中,可以基于使用合适的图像分析方法(例如缩放方法和/或光流方法)对路标的图像的分析来确定距离。如前所述,对象/特征的位置可以包括与对象/特征相关联的一个或多个点的2D图像位置(例如,一个或多个所捕获图像中的X-Y像素位置),或者可以包括一个或多个点的3D现实世界位置(例如,通过运动/光流技术中的结构、LIDAR或RADAR信息等来确定)。在一些实施例中,所公开的系统和方法可以被配置为确定潜在路标的类型或分类。在交通工具确定某个潜在路标对应于存储在稀疏地图中的预定类型或分类的情况下,交通工具将陆标的类型或分类的指示与其位置一起传送到服务器可能就足够了。服务器可以存储这样的指示。在稍后的时间,在导航期间,导航交通工具可以捕获包括路标的表示的图像,处理该图像(例如,使用分类器),并且比较结果路标以便确认对所映射的路标的检测,并且在相对于稀疏地图来定位导航交通工具时使用所映射的路标。
在一些实施例中,在路段上行驶的多个自主交通工具可与服务器进行通信。交通工具(或客户)可生成描述它在任意坐标系中的驾驶的曲线(例如通过自我运动整合)。交通工具可检测路标,并且将它们定位在同一帧中。交通工具可向服务器上传曲线和路标。服务器可对多次驾驶从交通工具收集数据,并且生成统一道路模型。例如,如下面针对图19所述,服务器可使用所上传曲线和路标来生成具有统一道路模型的稀疏地图。
服务器还可将模型分发给客户(例如交通工具)。例如,服务器可将稀疏地图分发给一个或多个交通工具。服务器可在从交通工具接收新数据时连续或周期更新模型。例如,服务器可处理新数据,以评估数据是否包括应当触发更新或者创建服务器上的新数据的信息。服务器可向交通工具分发已更新模型或更新,以用于提供自主交通工具导航。
服务器可将一个或多个标准用于确定从交通工具所接收的新数据是否应当触发对模型的更新或者触发新数据的创建。例如,当新数据指示在特定位置的先前识别的路标不再存在或者被另一个路标取代时,服务器可确定新数据应当触发对模型的更新。作为另一个示例,当新数据指示路段已经关闭时,并且当这通过来自其它交通工具的数据所证实时,服务器可确定新数据应当触发对模型的更新。
服务器可将已更新模型(或者模型的已更新部分)分发给在对模型的更新所关联的路段上正行驶的一个或多个交通工具。服务器还可将已更新模型分发给将要在对模型的更新所关联的路段上行驶的交通工具或者其计划行程包括该路段的交通工具。例如,虽然自主交通工具在到达更新所关联的路段之前沿另一个路段行驶,但是服务器可在自主交通工具到达该路段之前将更新或者已更新模型分发给该交通工具。
在一些实施例中,远程服务器可从多个客户(例如沿公共路段行驶的交通工具)收集轨迹和路标。服务器可使用路标来匹配曲线,并且基于从多个交通工具所收集的轨迹来创建平均道路模型。服务器还可计算道路的图表以及路段的每个节点或联结处的最可能路径。例如,远程服务器可对齐轨迹,以从所收集轨迹来生成众包稀疏地图。
服务器可对于从沿公共路段行驶的多个交通工具所接收的路标性质求平均,例如由多个交通工具所测量的一个路标到另一个路标(例如沿路段的前一路标)之间的距离,以确定弧长参数,并且支持沿路径的定位以及每个客户交通工具的速度校准。服务器可对于沿公共路段行驶并且识别同一路标的多个交通工具所测量的路标的物理尺寸求平均。平均物理尺寸可用来支持距离估计,例如从交通工具到路标的距离。服务器可对于如沿公共路段所行驶并且识别同一路标的多个交通工具所测量的路标的横向位置(例如从交通工具正行驶的车道到路标的位置)求平均。平均横向位置可用来支持车道指派。服务器可对于沿同一路段行驶并且识别同一路标的多个交通工具所测量的路标的GPS坐标求平均。路标的平均GPS坐标可用来支持道路模型中的路标的全球定域或定位。
在一些实施例中,服务器可基于从交通工具所接收的数据来标识模型变化,例如构造、绕行、新标志、标志的去除等。服务器可在从交通工具接收新数据时连续或周期或即时更新模型。服务器可向交通工具分发对模型的更新或者已更新模型,以用于提供自主导航。例如,如下面进一步论述,服务器可使用众包数据来滤出交通工具所检测的“虚”路标。
在一些实施例中,服务器可分析自主驾驶期间的驾驶员干预。服务器可分析在干预发生的时间和位置从交通工具所接收的数据和/或在干预发生之前所接收的数据。服务器可标识引起干预或者与干预密切相关的数据的某些部分,例如指示临时车道关闭建立的数据、指示道路中的行人的数据。服务器可基于所标识数据来更新模型。例如,服务器可修改模型中存储的一个或多个轨迹。
图12是使用众包来生成稀疏地图(以及使用众包稀疏地图进行分发和导航)的系统的示意图。图12示出包括一个或多个车道的路段1200。多个交通工具1205、1210、1215、1220和1225可在相同时间或者在不同时间在路段1200上行驶(尽管图12中示为在相同时间出现在路段1200上)。交通工具1205、1210、1215、1220和1225的至少一个可以是自主交通工具。为了本示例的简洁起见,所有交通工具1205、1210、1215、1220和1225都被假定为自主交通工具。
每个交通工具可与其它实施例中公开的交通工具(例如交通工具200)相似,并且可包括其它实施例中公开的交通工具中包含或者与其关联的组件或装置。每个交通工具可被配备有图像捕获装置或摄像机(例如图像捕获装置122或摄像机122)。每个交通工具可经过无线通信路径1235(如虚线所示)经由一个或多个网络(例如通过蜂窝网络和/或因特网等)与远程服务器1230进行通信。每个交通工具可向服务器1230传送数据,并且从服务器1230接收数据。例如,服务器1230可从在不同时间在路段1200上行驶的多个交通工具来收集数据,并且可处理所收集数据,以生成自主交通工具道路导航模型或者对模型的更新。服务器1230可向交通工具(所述交通工具向服务器1230传送数据)传送自主交通工具道路导航模型或者对模型的更新。服务器1230可向以后在路段1200上行驶的其它交通工具传送自主交通工具道路导航模型或者对模型的更新。
当交通工具1205、1210、1215、1220和1225在路段1200上行驶时,由交通工具1205、1210、1215、1220和1225所收集(例如检测、感测或测量)的导航信息可被传送给服务器1230。在一些实施例中,导航信息可与公共路段1200关联。导航信息可包括在交通工具1205、1210、1215、1220和1225的每个通过路段1200行驶时与每个交通工具关联的轨迹。在一些实施例中,轨迹可基于交通工具1205上提供的各种传感器和装置所感测的数据来重构。例如,轨迹可基于加速计数据、速度数据、路标数据、道路几何或简档数据、交通工具定位数据和自我运动数据的至少一个来重构。在一些实施例中,轨迹可基于来自惯性传感器(例如加速计)的数据以及速度传感器所感测的交通工具1205的速度来重构。另外,在一些实施例中,轨迹可由交通工具1205、1210、1215、1220和1225的每个上的处理器基于摄像机的所感测自我运动来确定,其可指示三维平移和/或三维旋转(或旋转运动)。摄像机(并且因此车身)的自我运动可从摄像机所捕获的一个或多个图像的分析来确定。
在一些实施例中,交通工具1205的轨迹可由交通工具1205上提供的处理器来确定,并且被传送给服务器1230。在其它实施例中,服务器1230可接收交通工具1205中提供的各种传感器和装置所感测的数据,并且基于从交通工具1205所接收的数据来确定轨迹。
在一些实施例中,从交通工具1205、1210、1215、1220和1225传送给服务器1230的导航信息可包括与路面、道路几何形状或道路简档有关的数据。路段1200的几何形状可包括车道结构和/或路标。车道结构可包括路段1200的车道的总数、车道的类型(例如单向车道、双向车道、行车道、超车道等)、车道上的标记、车道的宽度等。在一些实施例中,导航信息可包括车道指派,例如交通工具在多个车道的哪一个车道中行驶。例如,车道指派可与数值“3”关联,该数值“3”指示交通工具在从左侧或右侧的第三车道上行驶。作为另一个示例,车道指派可与文本值“中心车道”关联,该文本值“中心车道”指示交通工具在中心车道上行驶。
服务器1230可在非暂时计算机可读介质(例如硬盘驱动器、致密光盘、磁带、存储器等)上存储导航信息。服务器1230可基于从多个交通工具1205、1210、1215、1220和1225所接收的导航信息来生成(例如通过服务器1230中包含的处理器)公共路段1200的自主交通工具道路导航模型的至少一部分,并且可将该模型作为稀疏地图的一部分来存储。服务器1230可基于从在不同时间在路段的车道上行驶的多个交通工具(例如1205、1210、1215、1220和1225)所接收的众包数据(例如导航信息)来确定与每个车道关联的轨迹。服务器1230可基于根据众包导航数据所确定的多个轨迹来生成自主交通工具道路导航模型或者模型的一部分(例如已更新部分)。服务器1230可将模型或者该模型的已更新部分传送给路段1200上行驶的自主交通工具1205、1210、1215、1220和1225的一个或多个或者以后在路段上行驶的任何其它自主交通工具,以用于更新交通工具的导航系统中提供的现有自主交通工具道路导航模型。自主交通工具道路导航模型可由自主交通工具用于沿公共路段1200进行自主导航中。
如上所述,自主交通工具道路导航模型可被包含在稀疏地图(例如图8所示的稀疏地图800)中。稀疏地图800可包括与沿道路的道路几何形状和/或路标相关的数据的稀疏记录,所述记录可提供引导自主交通工具的自主导航的充分信息,但是不要求过多数据存储。在一些实施例中,自主交通工具道路导航模型可与稀疏地图800分开存储,并且可在模型被执行以供导航时使用来自稀疏地图800的地图数据。在一些实施例中,自主交通工具道路导航模型可将稀疏地图800中包含的地图数据用于确定沿路段1200的目标轨迹,以用于引导自主交通工具1205、1210、1215、1220和1225或者以后沿路段1200行驶的其它交通工具的自主导航。例如,当自主交通工具道路导航模型由交通工具1205的导航系统中包含的处理器来执行时,该模型可使处理器将基于从交通工具1205所接收的导航信息所确定的轨迹与稀疏地图800中包含的预定轨迹进行比较,以验证和/或校正交通工具1205的当前行驶路线。
在自主交通工具道路导航模型中,道路特征或目标轨迹的几何形状可通过三维空间中的曲线来编码。在一个实施例中,曲线可以是三维样条,包括连接三维多项式的一个或多个样条。如本领域的技术人员会理解,样条可以是数值函数,该数值函数通过一系列多项式来分段定义,以用于拟合数据。用于拟合道路的三维几何数据的样条可包括线性样条(一阶)、二次样条(二阶)、三次样条(三阶)或者任何其它样条(其它阶数)或者它们的组合。样条可包括连接(例如拟合)道路的三维几何数据的数据点的不同阶数的一个或多个三维多项式。在一些实施例中,自主交通工具道路导航模型可包括与沿公共路段(例如路段1200)或者路段1200的车道的目标轨迹对应的三维样条。
如上所述,稀疏地图中包含的自主交通工具道路导航模型可包括其它信息,例如沿路段1200的至少一个路标的标识。路标在交通工具1205、1210、1215、1220和1225的每个上安装的摄像机(例如摄像机122)的视场内是可见的。在一些实施例中,摄像机122可捕获路标的图像。交通工具1205上提供的处理器(例如处理器180、190或者处理单元110)可处理路标的图像,以提取路标的标识信息。路标标识信息而不是路标的实际图像可被存储在稀疏地图800中。路标标识信息可要求比实际图像要少许多的存储空间。其它传感器或系统(例如GPS系统)也可提供路标的某个标识信息(例如路标的位置)。路标可包括交通标志、箭头标记、车道标记、虚线车道标记、交通灯、停止线、方向标志(例如具有指示方向的高速公路出口标志、具有指向不同方向或地点的箭头的高速公路标志)、路标信标或灯柱的至少一个。路标信标表示沿路段所安装的装置(例如RFID装置),该装置将信号传送或反射到交通工具上安装的接收器,使得当交通工具通过该装置时,由交通工具所接收的信标和装置的位置(例如从装置的GPS位置所确定)可用作将被包含在自主交通工具道路导航模型和/或稀疏地图800中的路标。
至少一个路标的标识可包括至少一个路标的位置。路标的位置可基于使用与多个交通工具1205、1210、1215、1220和1225关联的传感器系统(例如全球定位系统、基于惯性的定位系统、路标信标等)所执行的位置测量来确定。在一些实施例中,可通过对于不同交通工具1205、1210、1215、1220和1225上的传感器系统经过多次驾驶所检测、收集或接收的位置测量求平均来确定路标的位置。例如,交通工具1205、1210、1215、1220和1225可向服务器1230传送位置测量数据,服务器1230可平均位置测量,并且使用平均位置测量作为路标的位置。可通过在后续驾驶中从交通工具所接收的测量来连续细化路标的位置。
路标的标识可包括路标的大小。交通工具(例如1205)上提供的处理器可基于图像的分析来估计路标的物理大小。服务器1230可通过不同驾驶从不同交通工具接收同一路标的物理大小的多个估计。服务器1230可对不同估计求平均,以得出路标的物理大小,并且在道路模型中存储那个路标大小。物理大小估计可用来进一步确定或估计从交通工具到路标的距离。可基于交通工具的当前速度以及根据图像中出现的路标相对于摄像机的扩展焦点的位置的扩展标度来估计到路标的距离。例如,到路标的距离可通过Z= V×dt×R/D来估计,其中V是交通工具的速度,R是图像中从时间t1的路标到扩展焦点的距离,以及D是图像中从t1到t2的路标的距离的变化。dt表示(t2-t1)。例如,到路标的距离可通过Z= V×dt×R/D来估计,其中V是交通工具的速度,R是图像路标与扩展焦点之间的距离,dt是时间间隔,以及D是路标沿核线的图像位移。与上式等效的其它等式(例如Z = V × ω/Δω)可用于估计到路标的距离。在这里,V是交通工具速度,ω是图像长度(例如对象宽度),以及Δω是单位时间中的那个图像长度的变化。
当路标的物理大小为已知时,到路标的距离也可基于下式来确定:Z = f×W/ω,其中f是焦距,W是路标的大小(例如高度或宽度),ω是路标离开图像时的像素的数量。从上式,可使用ΔZ = f×W×Δω / ω2 + f×ΔW/ω来计算距离Z的变化,其中ΔW通过求平均衰减为零,并且其中Δω是表示图像中的边界框精度的像素的数量。可通过对服务器侧的多个观察求平均来计算估计路标的物理大小的值。距离估计中的所产生误差可以很小。存在使用上述公式时可出现的两个误差源,即ΔW和Δω。它们对距离误差的份额通过ΔZ= f×W×Δω / ω2 + f×ΔW/ω给出。但是,ΔW通过求平均衰减为零;因此ΔZ通过Δω(例如图像中的边界框的不精确性)来确定。
对于未知尺寸的路标,到路标的距离可通过跟踪连续帧之间的路标上的特征点来估计。例如,可在两个或更多图像帧之间跟踪限速标志上出现的某些特征。基于这些所跟踪特征,可生成每特征点的距离分布。可从距离分布来提取距离估计。例如,距离分布中出现的最频繁距离可用作距离估计。作为另一个示例,距离分布的平均数可用作距离估计。
图13示出通过多个三维样条1301、1302和1303所表示的示例自主交通工具道路导航模型。图13所示的曲线1301、1302和1303仅为了便于说明。每个样条可包括连接多个数据点1310的一个或多个三维多项式。每个多项式可以是一阶多项式、二阶多项式、三阶多项式或者具有不同阶数的任何适当多项式的组合。每个数据点1310可与从交通工具1205、1210、1215、1220和1225所接收的导航信息关联。在一些实施例中,每个数据点1310可关联于与路标(例如路标的大小、位置和标识信息)和/或道路签名简档(例如道路几何形状、道路粗糙度简档、道路曲率简档、道路宽度简档)相关的数据。在一些实施例中,一些数据点1310可关联与路标相关的数据,而其它数据点可关联与道路签名简档相关的数据。
图14示出从五次单独驾驶所接收的原始位置数据1410(例如GPS数据)。一次驾驶在相同时间由单独交通工具、在单独时间由同一交通工具或者在单独时间由单独交通工具所穿过时可与另一次驾驶分开。为了考虑位置数据1410的误差以及同一车道内的交通工具的不同位置(例如,一个交通工具可能比另一个交通工具更靠近车道左侧驾驶),服务器1230可使用一个或多个统计技术来生成地图概略图1420,以确定原始位置数据1410的变化是否表示实际差异或者统计误差。概略图1420内的每个路径又可被链接到形成该路径的原始数据1410。例如,概略图1420内的A与B之间的路径被链接到来自驾驶2、3、4和5但不是来自驾驶1的原始数据1410。概略图1420可能不够详细而无法用来导航交通工具(例如因为与上述样条不同,它组合来自同一道路上的多个车道的驾驶),但是可提供有用拓扑信息,并且可用来定义十字路口。
图15示出示出示例,通过该示例,可对地图概略图段(例如略图1420内的段A到B)内的稀疏地图生成附加细节。如图15所示,数据(例如自我运动数据、道路标记数据等)可示为沿驾驶的位置S(或者S1或S2)的函数。服务器1230可通过标识驾驶1510的路标1501、1503和1505与驾驶1520的路标1507和1509之间的唯一匹配来标识稀疏地图的路标。这种匹配算法可产生路标1511、1513和1515的标识。但是本领域的技术人员会知道,可使用其它匹配算法。例如,概率优化可用来代替唯一匹配或者与其结合。服务器1230可纵向对齐驾驶,以对齐匹配路标。例如,服务器1230可选择一次驾驶(例如驾驶1520)作为参考驾驶,并且然后偏移和/或弹性拉伸其它(一个或多次)驾驶(例如驾驶1510)以供对齐。
图16示出供稀疏地图中使用的对齐路标数据的示例。在图16的示例中,路标1610包括道路标志。图16的示例进一步示出来自多个驾驶1601、1603、1605、1607、1609、1611和1613的数据。在图16的示例中,来自驾驶1613的数据由“虚”路标组成,以及服务器1230可这样标识它,因为没有驾驶1601、1603、1605、1607、1609和1611包括驾驶1613中的所标识路标附近的路标的标识。相应地,服务器1230在路标出现的图像与路标没有出现的图像的比率超过阈值时可接受潜在路标,和/或在路标没有出现的图像与路标出现的图像的比率超过阈值时可拒绝潜在路标。
图17示出用于生成可用来众包稀疏地图的驾驶数据的系统1700。如图17所示,系统1700可包括摄像机1701和定位装置1703(例如GPS定位器)。摄像机1701和定位装置1703可被安装在交通工具(例如交通工具1205、1210、1215、1220和1225其中之一)上。摄像机1701可产生多种类型的多个数据,例如自我运动数据、交通标志数据、道路数据等。摄像机数据和位置数据可被分割为驾驶段1705。例如,驾驶段1705各自可具有来自小于1 km的驾驶的摄像机数据和位置数据。
在一些实施例中,系统1700可去除驾驶段1705中的冗余度。例如,如果路标出现在来自摄像机1701的多个图像中,则系统1700可剥离冗余数据,使得驾驶段1705仅包含路标的位置的一个副本以及与路标相关的任何元数据。作为另一示例,如果车道标记出现在来自摄像机1701的多个图像中,则系统1700可剥离冗余数据,使得驾驶段1705仅包含车道标记的位置的一个副本以及与车道标记相关的任何元数据。
系统1700还包括服务器(例如服务器1230)。服务器1230可从交通工具接收驾驶段1705,并且将驾驶段1705重新组合为单次驾驶1707。这种布置可在交通工具与服务器之间传输数据时允许降低带宽要求,同时还允许服务器存储与整个驾驶相关的数据。
图18示出进一步配置用于众包稀疏地图的图17的系统1700。如同图17中一样,系统1700包括交通工具1810,所述交通工具1810使用例如摄像机(该摄像机产生例如自我运动数据、交通标志数据、道路数据等)和定位装置(例如GPS定位器)来捕获驾驶数据。如同图17中一样,交通工具1810将所收集数据分割为驾驶段(图18中示为“DS1 1”、“DS2 1”、“DSN1”)。服务器1230然后接收驾驶段,并且从所接收段重构驾驶(图18中示为“驾驶1”)。
如图18进一步所示,系统1700还从附加交通工具接收数据。例如,交通工具1820还使用例如摄像机(该摄像机产生例如自我运动数据、交通标志数据、道路数据等)和定位装置(例如GPS定位器)来捕获驾驶数据。与交通工具交通工具1810相似,交通工具1820将所收集数据分割为驾驶段(图18中示为“DS1 2”、“DS2 2”、“DSN 2”)。服务器1230然后接收驾驶段,并且从所接收段重构驾驶(图18中示为“驾驶2”)。可使用任何数量的附加交通工具。例如,图18还包括“汽车N”,所述“汽车N”捕获驾驶数据,将它分割为驾驶段(图18中示为“DS1N”、“DS2 N”、“DSN N”),并且将它发送给服务器1230,以供重构为驾驶(图18中示为“驾驶N”)。
如图18所示,服务器1230可使用从多个交通工具(例如“汽车1”(又标记为1810)、“汽车2”(又标记为汽车1820)和“汽车N”)所收集的重构驾驶(例如“驾驶1”、“驾驶2”和“驾驶N”)来构建稀疏地图。
图19是示出生成沿路段的自主交通工具导航的稀疏地图的示例过程1900的流程图。过程1900可由服务器1230中包含的一个或多个处理装置执行。
过程1900可包括接收当一个或多个交通工具穿过路段时获取的多个图像(步骤1905)。服务器1230可从交通工具1205、1210、1215、1220和1225的一个或多个内包含的摄像机接收图像。例如,摄像机122可在交通工具1205沿路段1200行驶时捕获交通工具1205周围的环境的一个或多个图像。在一些实施例中,服务器1230还可接收剥离图像数据,所述剥离图像数据由交通工具1205上的处理器去除了冗余,如以上针对图17所述。
过程1900可进一步包括基于多个图像来标识沿路段延伸的路面特征的至少一个线表示(步骤1910)。每个线表示可表示与路面特征基本上对应的沿路段的路径。例如,服务器1230可分析从摄像机122所接收的环境图像,以标识道路边缘或车道标记,并且确定与道路边缘或车道标记关联的沿路段1200的行驶轨迹。在一些实施例中,轨迹(或者线表示)可包括样条、多项式表示或曲线。服务器1230可基于在步骤1905所接收的摄像机自我运动(例如三维平移和/或三维旋转运动)来确定交通工具1205的行驶轨迹。
过程1900还可包括基于多个图像来标识与路段关联的多个路标(步骤1910)。例如,服务器1230可分析从摄像机122所接收的环境图像,以标识一个或多个路标(例如沿路段1200的道路标志)。服务器1230可使用在一个或多个交通工具穿过路段时所获取的多个图像的分析来标识路标。为了实现众包,分析可包括与接受和拒绝关联路段的可能路标有关的规则。例如,分析可包括在路标出现的图像与路标没有出现的图像的比率超过阈值时接受潜在路标,和/或在路标没有出现的图像与路标出现的图像的比率超过阈值时拒绝潜在路标。
过程1900可包括服务器1230所执行的其它操作或步骤。例如,导航信息可包括交通工具沿路段行驶的目标轨迹,以及过程1900可包括由服务器1230聚类与路段上行驶的多个交通工具相关的交通工具轨迹,并且基于聚类交通工具轨迹来确定目标轨迹,如下面更详细论述。聚类交通工具轨迹可包括由服务器1230基于交通工具的绝对航向或者交通工具的车道指派的至少一个将与路段上行驶的交通工具相关的多个轨迹聚类为多个聚类。生成目标轨迹可包括由服务器对聚类轨迹求平均。作为另一示例,过程1900可包括对齐在步骤1905所接收的数据。如上所述,由服务器1230所执行的其它过程或步骤也可被包含在过程1900中。
所公开的系统和方法可包括其它特征。例如,所公开的系统可使用局部坐标而不是全局坐标。对于自主驾驶,一些系统可在世界坐标中呈现数据。例如,可使用地球表面的经度和纬度坐标。为了将地图用于操纵,主交通工具可确定它相对于地图的位置和取向。似乎很自然的是,使用车载GPS装置,以便在地图上定位交通工具,以及以便查找车身参考系与世界参考系之间的旋转变换(例如北、东和下)。一旦车身参考系与地图参考系对齐,可在车身参考系中表达预期路线,并且可计算或生成转向指令。
所公开的系统和方法可采用低占用面积模型来实现自主交通工具导航(例如转向控制),所述低占用面积模型可由自主交通工具本身来收集,而无需借助昂贵的勘测设备。为了支持自主导航(例如转向应用),道路模型可包括稀疏地图,该稀疏地图具有道路的几何形状、其车道结构和路标,可用来确定交通工具沿模型中包含的轨迹的定位或位置。如上所述,稀疏地图的生成可由远程服务器执行,该远程服务器与道路上行驶的交通工具进行通信并且从交通工具接收数据。数据可包括所感测数据、基于所感测数据所重构的轨迹和/或可表示修改的重构轨迹的推荐轨迹。如下面所述,服务器可将模型回传给交通工具或者以后在道路上行驶的其它交通工具,以帮助自主导航。
图20示出服务器1230的框图。服务器1230可包括通信单元2005,该通信单元2005可包括硬件组件(例如通信控制电路、交换机和天线)和软件组件(例如通信协议、计算机代码)。例如,通信单元2005可包括至少一个网络接口。服务器1230可通过通信单元2005与交通工具1205、1210、1215、1220和1225进行通信。例如,服务器1230可通过通信单元2005接收从交通工具1205、1210、1215、1220和1225所传送的导航信息。服务器1230可通过通信单元2005向一个或多个自主交通工具分发自主交通工具道路导航模型。
服务器1230可包括至少一个非暂时存储介质2010,例如硬盘驱动器、致密光盘、磁带等。存储装置1410可配置成存储数据,例如从交通工具1205、1210、1215、1220和1225所接收的导航信息和/或服务器1230基于导航信息生成的自主交通工具道路导航模型。存储装置2010可配置成存储任何其它信息,例如稀疏地图(例如以上针对图8所述的稀疏地图800)。
作为存储装置2010的补充或替代,服务器1230可包括存储器2015。存储器2015可与存储器140或150相似或者不同。存储器2015可以是非暂时存储器,例如闪速存储器、随机存取存储器等。存储器2015可配置成存储数据,例如由处理器(例如处理器2020)可执行的计算机代码或指令、地图数据(例如稀疏地图800的数据)、自主交通工具道路导航模型和/或从交通工具1205、1210、1215、1220和1225所接收的导航信息。
服务器1230可包括至少一个处理装置2020,所述处理装置2020配置成执行存储器2015中存储的计算机代码或指令,以执行各种功能。例如,处理装置2020可分析从交通工具1205、1210、1215、1220和1225所接收的导航信息,并且基于该分析来生成自主交通工具道路导航模型。处理装置2020可控制通信单元1405将自主交通工具道路导航模型分发给一个或多个自主交通工具(例如交通工具1205、1210、1215、1220和1225的一个或多个或者以后在路段1200上行驶的任何交通工具)。处理装置2020可与处理器180、190或处理单元110相似或者不同。
图21示出存储器2015的框图,所述存储器2015可存储计算机代码或指令,以用于执行生成供自主交通工具导航中使用的道路导航模型的一个或多个操作。如图21所示,存储器2015可存储一个或多个模块,以用于执行处理交通工具导航信息的操作。例如,存储器2015可包括模型生成模块2105和模型分发模块2110。处理器2020可执行存储器2015中包含的模块2105和2110的任一个中存储的指令。
模型生成模块2105可存储指令,所述指令在由处理器2020执行时可基于从交通工具1205、1210、1215、1220和1225所接收的导航信息来生成公共路段(例如路段1200)的自主交通工具道路导航模型的至少一部分。例如,在生成自主交通工具道路导航模型中,处理器2020可将沿公共路段1200的交通工具轨迹聚类为不同聚类。处理器2020可基于不同聚类的每个的聚类交通工具轨迹来确定沿公共路段1200的目标轨迹。这种操作可包括查找每个聚类中的聚类交通工具轨迹的均值或平均轨迹(例如通过对表示聚类交通工具轨迹的数据求平均)。在一些实施例中,目标轨迹可与公共路段1200的单个车道关联。
道路模型和/或稀疏地图可存储与路段关联的轨迹。这些轨迹可称作目标轨迹,所述目标轨迹被提供给自主交通工具以供自主导航。目标轨迹可从多个交通工具接收,或者可基于从多个交通工具所接收的实际轨迹或推荐轨迹(具有某些修改的实际轨迹)来生成。可采用从其它交通工具所接收的新轨迹来连续更新道路模型或稀疏地图中包含的目标轨迹(或者对其求平均)。
在路段上行驶的交通工具可通过各种传感器收集数据。数据可包括路标、道路签名简档、交通工具运动(例如加速计数据、速度数据)、交通工具位置(例如GPS数据),并且可重构实际轨迹本身或者将数据传送给服务器,该服务器将重构交通工具的实际轨迹。在一些实施例中,交通工具可向服务器1230传送与轨迹相关的数据(例如任意参考系中的曲线)、路标数据以及沿行驶路径的车道对齐。在多次驾驶沿同一路段行驶的各种交通工具可具有不同轨迹。服务器1230可从通过聚类过程自交通工具所接收的轨迹来标识与每个车道关联的路线或轨迹。
图22示出聚类与交通工具1205、1210、1215、1220和1225关联的交通工具轨迹以用于确定公共路段(例如路段1200)的目标轨迹的过程。从聚类过程所确定的目标轨迹或者多个目标轨迹可被包含在自主交通工具道路导航模型或稀疏地图800中。在一些实施例中,沿路段1200行驶的交通工具1205、1210、1215、1220和1225可向服务器1230传送多个轨迹2200。在一些实施例中,服务器1230可基于路标、道路几何形状以及从交通工具1205、1210、1215、1220和1225所接收的交通工具运动信息来生成轨迹。为了生成自主交通工具道路导航模型,服务器1230可将交通工具轨迹1600聚类为多个聚类2205、2210、2215、2220和2230,如图22所示。
可使用各种标准来执行聚类。在一些实施例中,聚类中的所有驾驶相对沿路段1200的绝对航向可以是相似的。可从交通工具1205、1210、1215、1220和1225所接收的GPS信号来获得绝对航向。在一些实施例中,可使用航位推测来获得绝对航向。如本领域的技术人员会理解,航位推测可用来通过使用先前确定的位置、估计速度等,来确定当前位置并且因此确定交通工具1205、1210、1215、1220和1225的航向。通过绝对航向所聚类的轨迹对于标识沿道路的路线可以是有用的。
在一些实施例中,聚类中的所有驾驶相对沿路段1200上的驾驶的车道指派(例如在交叉口之前和之后的同一车道中)可以是相似的。通过车道指派所聚类的轨迹对于标识沿道路的车道可以是有用的。在一些实施例中,两种标准(例如绝对航向和车道指派)均可用于聚类。
在每个聚类2205、2210、2215、2220、2225和2230中,轨迹可被求平均,以获得与特定聚类关联的目标轨迹。例如,来自与同一车道聚类关联的多次驾驶的轨迹可被求平均。平均轨迹可以是与特定车道关联的目标轨迹。为了对轨迹聚类求平均,服务器1230可选择任意轨迹C0的参考系。对于所有其它轨迹(C1、...、Cn),服务器1230可查找将Ci映射到C0的刚性变换,其中i=1、2、...、n,其中n为正整数,对应于聚类中包含的轨迹的总数。服务器1230可计算C0参考系中的平均曲线或轨迹。
在一些实施例中,路标可定义不同驾驶之间的弧长匹配,该弧长匹配可用于轨迹与车道的对齐。在一些实施例中,交叉口之前和之后的车道标记可用于轨迹与车道的对齐。
为了从轨迹组装车道,服务器1230可选择任意车道的参考系。服务器1230可将部分重叠车道映射到所选参考系。服务器1230可继续映射,直到所有车道处于同一参考系中。彼此相邻的车道可被对齐,好像它们是同一车道一样,并且它们以后可被横向偏移。
沿路段所识别的路标可被映射到公共参考系,首先在车道级,然后在交叉口级。例如,相同路标可被多个交通工具在多次驾驶中识别多次。与在不同驾驶中接收的相同路标有关的数据可略有不同。这类数据可被求平均并且映射到同一参考系,例如C0参考系。作为补充或替代,可计算在多次驾驶中接收的同一路标的数据的变化。
在一些实施例中,路段120的每个车道可与目标轨迹和某些路标关联。目标轨迹或者多个这类目标轨迹可被包含在自主交通工具道路导航模型中,所述自主交通工具道路导航模型以后可由沿同一路段1200行驶的其它自主交通工具使用。由交通工具1205、1210、1215、1220和1225在沿路段1200行驶的同时所标识的路标可与目标轨迹关联地记录。可采用在后续驾驶中从其它交通工具所接收的新数据来连续或周期更新目标轨迹和路标的数据。
对于自主交通工具的定位,所公开的系统和方法可使用扩展卡尔曼滤波器。可基于三维位置数据和/或三维取向数据、通过自我运动的整合对交通工具当前位置前面的将来位置的预测来确定交通工具的位置。交通工具的定位可通过路标的图像观察来校正或调整。例如,当交通工具检测摄像机所捕获的图像内的路标时,可将路标与道路模型或稀疏地图800内存储的已知路标进行比较。已知路标可具有沿道路模型和/或稀疏地图800中存储的目标轨迹的已知位置(例如GPS数据)。基于当前速度和路标的图像,可估计从交通工具到路标的距离。沿目标轨迹的位置可基于到路标的距离和路标的已知位置(被存储在道路模型或稀疏地图800中)来调整。道路模型和/或稀疏地图800中存储的路标的位置/定位数据(例如来自多次驾驶的平均值)可被假定是精确的。
在一些实施例中,所公开的系统可形成闭环子系统,其中交通工具六自由度位置(例如三维位置数据加上三维取向数据)的估计可用于导航自主交通工具(例如操纵其方向盘)以到达预期点(例如所存储前面的1.3秒)。从操纵和实际导航所测量的数据又可用来估计六自由度位置。
在一些实施例中,沿道路的灯杆(例如灯柱和电力或电缆线杆)可用作用于定位交通工具的路标。其它路标(例如交通标志、交通灯、道路上的箭头、停止线)以及沿路段的对象的静态特征或签名也可用作用于定位交通工具的路标。当杆用于定位时,可使用杆的x观察(即,从交通工具的视角)而不是y观察(即,到杆的距离),因为杆的底部可被遮蔽,并且有时它们不在道路平面上。
图23示出交通工具的导航系统,该导航系统可用于使用众包稀疏地图的自主导航。为了便于说明,交通工具称作交通工具1205。图23所示的交通工具可以是本文所公开的任何其它交通工具,包括例如交通工具1210、1215、1220和1225以及其它实施例中所示的交通工具200。如图12所示,交通工具1205可与服务器1230进行通信。交通工具1205可包括图像捕获装置122(例如摄像机122)。交通工具1205可包括导航系统2300,该导航系统2300配置用于为交通工具1205在道路(例如路段1200)上行驶提供导航引导。交通工具1205还可包括其它传感器,例如速度传感器2320和加速计2325。速度传感器2320可配置成检测交通工具1205的速度。加速计2325可配置成检测交通工具1205的加速度或减速度。图23所示的交通工具1205可以是自主交通工具,以及导航系统2300可用于为自主驾驶提供导航引导。备选地,交通工具1205也可以是非自主的人工控制交通工具,以及导航系统2300仍然可用于提供导航引导。
导航系统2300可包括通信单元2305,该通信单元2305配置成通过通信路径1235与服务器1230进行通信。导航系统2300还可包括GPS单元2310,该GPS单元2310配置成接收和处理GPS信号。导航系统2300可进一步包括至少一个处理器2315,所述处理器2315配置成处理数据,例如GPS信号、来自稀疏地图800(所述稀疏地图800可被存储在交通工具1205上提供的存储装置上和/或从服务器1230接收)的地图数据、由道路简档传感器2330所感测的道路几何形状、由摄像机122所捕获的图像和/或从服务器1230所接收的自主交通工具道路导航模型。道路简档传感器2330可包括用于测量不同类型的道路简档(例如路面粗糙度、道路宽度、道路高程、道路曲率等)的不同类型的装置。例如,道路简档传感器2330可包括一种装置,该装置测量交通工具2305的悬架的运动,以得出道路粗糙度简档。在一些实施例中,道路简档传感器2330可包括雷达传感器,以测量从交通工具1205到道路两侧(例如道路两侧的屏障)的距离,由此测量道路的宽度。在一些实施例中,道路简档传感器2330可包括配置用于测量道路的上下高程的装置。在一些实施例中,道路简档传感器2330可包括配置成测量道路曲率的装置。例如,摄像机(例如摄像机122或另一个摄像机)可用来捕获显示道路曲率的道路的图像。交通工具1205可使用这类图像来检测道路曲率。
至少一个处理器2315可被编程为从摄像机122接收与交通工具1205关联的至少一个环境图像。至少一个处理器2315可分析至少一个环境图像,以确定与交通工具1205相关的导航信息。导航信息可包括与交通工具1205沿路段1200的行驶相关的轨迹。至少一个处理器2315可基于摄像机122(并且因此交通工具)的运动(例如三维平移和三维旋转运动)来确定轨迹。在一些实施例中,至少一个处理器2315可基于对摄像机122所获取的多个图像的分析来确定摄像机122的平移和旋转运动。在一些实施例中,导航信息可包括车道指派信息(例如交通工具1205沿路段1200在哪一个车道中行驶)。从交通工具1205传送给服务器1230的导航信息可由服务器用来生成和/或更新自主交通工具道路导航模型,该自主交通工具道路导航模型可从服务器1230回传给交通工具1205,以用于为交通工具1205提供自主导航引导。
至少一个处理器2315还可被编程为将导航信息从交通工具1205传送给服务器1230。在一些实施例中,导航信息可连同道路信息一起被传送给服务器1230。道路位置信息可包括GPS单元2310所接收的GPS信号、路标信息、道路几何形状、车道信息等的至少一个。至少一个处理器2315可从服务器1230接收自主交通工具道路导航模型或者该模型的一部分。从服务器1230所接收的自主交通工具道路导航模型可包括基于从交通工具1205传送给服务器1230的导航信息的至少一个更新。从服务器1230传送给交通工具1205的模型的部分可包括模型的已更新部分。至少一个处理器2315可基于所接收的自主交通工具道路导航模型或者该模型的已更新部分来引起交通工具1205进行的至少一个导航操纵(例如,转向,例如转弯、制动、加速、超过另一个交通工具等)。
至少一个处理器2315可配置成与交通工具1205中包含的各种传感器和组件(包括通信单元1705、GPS单元2315、摄像机122、速度传感器2320、加速计2325和道路简档传感器2330)进行通信。至少一个处理器2315可从各种传感器和组件收集信息或数据,并且通过通信单元2305将信息或数据传送给服务器1230。作为替代或补充,交通工具1205的各种传感器或组件还可与服务器1230进行通信,并且向服务器1230传送传感器或组件所收集的数据或信息。
在一些实施例中,交通工具1205、1210、1215、1220和1225可相互通信,并且可相互共享导航信息,使得交通工具1205、1210、1215、1220和1225的至少一个可例如基于其它交通工具所共享的信息使用众包来生成自主交通工具道路导航模型。在一些实施例中,交通工具1205、1210、1215、1220和1225可相互共享导航信息,并且每个交通工具可更新交通工具中提供的它自己的自主交通工具道路导航模型。在一些实施例中,交通工具1205、1210、1215、1220和1225的至少一个(例如交通工具1205)可用作中枢交通工具。中枢交通工具(例如交通工具1205)的至少一个处理器2315可执行由服务器1230所执行的功能的部分或全部。例如,中枢交通工具的至少一个处理器2315可与其它交通工具进行通信,并且从其它交通工具接收导航信息。中枢交通工具的至少一个处理器2315可基于从其它交通工具所接收的共享信息来生成自主交通工具道路导航模型或者对该模型的更新。中枢交通工具的至少一个处理器2315可向其它交通工具传送自主交通工具道路导航模型或者对该模型的更新,以用于提供自主导航引导。
基于稀疏地图的导航
如先前所述,包括稀疏地图800的自主交通工具道路导航模型可包括与路段关联的多个映射车道标记和多个映射对象/特征。如下面更详细论述,当自主交通工具导航时,可使用这些映射车道标记、对象和特征。例如,在一些实施例中,映射对象和特征可用于相对于地图(例如,相对于映射目标轨迹)来定位主交通工具。映射车道标记可用来(例如作为检查)确定相对于计划或目标轨迹的横向位置和/或取向。通过这个位置信息,自主交通工具可以能够调整航向方向,以匹配所确定位置处的目标轨迹的方向。
交通工具200可配置成检测给定路段中的车道标记。路段可包括道路上的任何标记,以用于引导道路上的交通工具交通。例如,车道标记可以是区分行驶车道的边缘的连续线或虚线。车道标记还可包括双线,例如双连续线、双虚线或者连续线和虚线的组合,指示例如相邻车道中是否准许超车。车道标记还可包括指示例如出口匝道的减速车道的高速公路入口和出口标记或者指示车道仅转弯或者车道结束的虚线。标记可进一步指示工作区、临时车道变换、通过十字路口的行驶路径、中间带、专用车道(例如自行车车道、HOV车道等)或者其它各种各样的标记(例如人行横道、减速带、铁路道口、停止线等)。
交通工具200可使用摄像机(例如图像获取单元120中包含的图像捕获装置122和124)来捕获周围车道标记的图像。交通工具200可分析图像,以基于所捕获图像的一个或多个内所标识的特征来检测与车道标记关联的点位置。这些点位置可被上传到服务器,以表示稀疏地图800中的车道标记。取决于摄像机的位置和视场,可从单个图像同时对交通工具两侧检测车道标记。在其它实施例中,不同摄像机可用来捕获交通工具多侧的图像。不是上传车道标记的实际图像,标记而是可作为样条或一系列点被存储在稀疏地图800中,因此减小稀疏地图800的大小和/或必须由交通工具远程上传的数据。
图24A-24D示出可由交通工具200所检测以表示特定车道标记的示例性点位置。与上述路标相似,交通工具200可使用各种图像识别算法或软件来标识所捕获图像内的点位置。例如,交通工具200可识别一系列边缘点、角点或者与特定车道标记关联的各种其它点位置。图24A示出可由交通工具200所检测的连续车道标记2410。车道标记2410可表示道路的外侧边缘,通过连续白线所表示。如图24A所示,交通工具200可配置成检测沿车道标记的多个边缘位置点2411。可以以足以创建稀疏地图中的映射车道标记的任何间隔来收集位置点2411,以表示车道标记。例如,可通过每米检测边缘一个点、每五米检测边缘一个点或者以其它适当间距来表示车道标记。在一些实施例中,间距可通过其它因素而不是以设置间隔来确定,例如基于交通工具200具有检测点的位置的最高置信度评级的点。虽然图24A示出车道标记2410的内边缘上的边缘位置点,但是可在线条的外侧边缘或者沿两个边缘来收集点。此外,虽然图24A中示出单线,但是可对双连续线检测相似边缘点。例如,可沿连续线的一个或两者的边缘来检测点2411。
交通工具200还可根据车道标记的类型或形状以不同方式表示车道标记。图24B示出可由交通工具200所检测的示例性虚线车道标记2420。不是如图24A中一样标识边缘点,交通工具而是可检测表示车道虚线的角的一系列角点2421,以定义虚线的完整边界。虽然图24B示出所定位的给定虚线标记的每个角,但是交通工具200可检测或上传该图所示的点的子集。例如,交通工具200可检测给定虚线标记的前缘或前角,或者可检测最靠近车道内部的两个角点。此外,并非可捕获每一个虚线标记,例如,交通工具200可捕获和/或记录表示虚线标记的样本(例如每隔一个、每第三个、每第五个等)或者以预定义间距(例如每米、每五米、每十米等)的虚线标记的点。还可对相似车道标记来检测角点,例如显示车道用于出口匝道、特定车道结束的标记或者可具有可检测角点的其它各种车道标记。还可对于由双虚线或者连续线和虚线的组合所组成的车道标记来检测角点。
在一些实施例中,被上传到服务器以生成映射车道标记的点可表示除了所检测边缘点或角点之外的其它点。图24C示出可表示给定车道标记的中心线的一系列点。例如,连续车道2410可通过沿车道标记的中心线2440的中心线点2441来表示。在一些实施例中,交通工具200可配置成使用各种图像识别技术(例如卷积神经网络(CNN)、尺度不变特征变换(SIFT)、定向梯度直方图(HOG)特征或其它技术)来检测这些中心点。备选地,交通工具200可检测其它点(例如图24A所示的边缘点2411),并且可例如通过检测沿每个边缘的点并且确定边缘点之间的中点来计算中心线点2441。类似地,虚线车道标记2420可通过沿车道标记的中心线2450的中心线点2451来表示。中心线点可如图24C所示位于虚线的边缘,或者位于沿中心线的各种其它位置。例如,每个虚线可通过虚线的几何中心中的单个点来表示。点也可沿中心线以预定间隔隔开(例如每米、5米、10米等)。中心线点2451可由交通工具200直接检测,或者可基于其它所检测参考点(例如角点2421,如图24B所示)来计算。中心线还可用来使用如上所述的类似技术来表示其它车道标记类型(例如双线)。
在一些实施例中,交通工具200可标识表示其它特征的点,例如两个相交车道标记之间的顶点。图24D示出表示两个车道标记2460和2465之间的相交点的示例性点。交通工具200可计算表示两个车道标记之间的相交点的顶点2466。例如,车道标记2460或2465其中之一可表示路段中的列车穿过区域或另一穿过区域。虽然车道标记2460和2465被示为相互垂直相交,但是可检测各种其它配置。例如,车道标记2460和2465可以以其它角度相交,或者车道标记的一个或两者可端接在顶点2466。类似技术还可适用于虚线或其它车道标记类型之间的相交点。除了顶点2466之外,各种其它点2467还可被检测,从而提供与车道标记2460和2465的取向有关的其它信息。
交通工具200可将现实世界坐标与车道标记的每个所检测点关联。例如,可生成包括每个点的坐标的位置标识符,以上传到服务器以供映射车道标记。位置标识符可进一步包括与点有关的其它标识信息,包括点是否表示角点、边缘点、中心点等。因此,交通工具200可配置成基于图像的分析来确定每个点的现实世界位置。例如,交通工具200可检测图像中的其它特征(例如以上所述的各种路标),以定位车道标记的现实世界位置。这可涉及确定图像中的车道标记相对于所检测路标的位置,或者基于所检测路标来确定交通工具的位置并且然后确定从交通工具(或者交通工具的目标轨迹)到车道标记的距离。当路标不可用时,车道标记点的位置可相对于基于航位推测所确定的交通工具的位置来确定。位置标识符中包含的现实世界坐标可被表示为绝对坐标(例如纬度/经度坐标),或者可相对于其它特征,例如基于沿目标轨迹的纵向位置以及离目标轨迹的横向距离。位置标识符然后可被上传到服务器,以供生成导航模型(例如稀疏地图800)中的映射车道标记。在一些实施例中,服务器可构建表示路段的车道标记的样条。备选地,交通工具200可生成样条,并且将它上传到服务器,以便被记录在导航模型中。
图24E示出包括映射车道标记的对应路段的示例性导航模型或稀疏地图。稀疏地图可包括交通工具沿路段要跟随的目标轨迹2475。如上所述,目标轨迹2475可表示交通工具在行驶于对应路段时所采取的理想路径,或者可位于道路上的其它位置(例如道路的中心线等)。可通过以上所述的各种方法,例如基于穿过同一路段的交通工具的两个或更多重构轨迹的聚合(例如加权组合),来计算目标轨迹2475。
在一些实施例中,可对所有交通工具类型并且对所有道路、交通工具和/或环境条件同等地生成目标轨迹。但是,在其它实施例中,在生成目标轨迹中还可考虑各种其它因素或变量。可对不同类型的交通工具(例如私家车、轻型卡车和全挂车)生成不同的目标轨迹。例如,与较大的半挂车相比,可对小型私家车生成具有较小转弯半径的目标轨迹。在一些实施例中,也可考虑道路、交通工具和环境条件。例如,可对于不同的道路条件(例如潮湿、结冰、干燥等)、交通工具条件(例如轮胎条件或估计轮胎条件、制动条件或估计制动条件、剩余燃油量等)或环境因素(例如时刻、能见度、天气等)生成不同的目标轨迹。目标轨迹还可取决于特定路段的一个或多个方面或特征(例如限速、转弯的频率和大小、坡度等)。在一些实施例中,各种用户设定也可用来确定目标轨迹,例如设置驾驶模式(例如预期驾驶侵略性、经济模式等)。
稀疏地图还可包括表示沿路段的车道标记的映射车道标记2470和2480。映射车道标记可通过多个位置标识符2471和2481来表示。如上所述,位置标识符可包括与所检测车道标记关联的点的现实世界坐标中的位置。与模型中的目标轨迹相似,车道标记也可包括高程数据,并且可被表示为三维空间中的曲线。例如,曲线可以是连接适当阶数的三维多项式的样条,曲线可基于位置标识符来计算。映射车道标记还可包括与车道标记有关的其它信息或元数据,例如车道标记的类型的标识符(例如具有相同行驶方向的两个车道之间、相反行驶方向的两个车道之间、道路的边缘等)和/或车道标记的其它特性(例如连续、虚线、单线、双线、黄色、白色等)。在一些实施例中,可例如使用众包技术在模型内连续更新映射车道标记。同一交通工具可在行驶于同一路段的多个时机期间上传位置标识符,或者数据可从在不同时间行驶于该路段的多个交通工具(例如1205、1210、1215、1220和1225)来选择。稀疏地图800然后可基于从交通工具所接收并且存储在系统中的后续位置标识符来更新或细化。当映射车道标记被更新和细化时,已更新道路导航模型和/或稀疏地图可被分发给多个自主交通工具。
生成稀疏地图中的映射车道标记还可包括基于图像中或者实际车道标记本身中的异常来检测和/或减轻错误。图24F示出与检测车道标记2490关联的示例性异常2495。异常2495可出现在由交通工具200例如从阻隔车道标记的摄像机视图的物体、透镜上的碎片等所捕获的图像中。在一些情况下,异常可归因于车道标记本身,所述车道标志可能被损坏或磨损或者例如被道路上的灰尘、碎片、水、雪或其它材料部分覆盖。异常2495可导致错误点2491被交通工具200所检测。稀疏地图800可提供正确的映射车道标记而排除错误。在一些实施例中,交通工具200可例如通过检测图像中的异常2495或者通过基于异常之前和之后的所检测车道标记点标识错误,来检测错误点2491。基于检测异常,交通工具可忽略点2491,或者可将它调整为与其它所检测点一致。在其它实施例中,例如通过基于同一行程期间所上传的其它点或者基于来自沿同一路段的先前行程的数据的聚合确定点处于预计阈值之外,可在已经上传点之后校正错误。
导航模型和/或稀疏地图中的映射车道标记也可用于行驶于对应道路的自主交通工具进行的导航。例如,沿目标轨迹进行导航的交通工具可周期地使用稀疏地图中的映射车道标记将自身与目标轨迹对齐。如上所述,在路标之间,交通工具可基于航位推测进行导航,其中交通工具使用传感器来确定其自我运动,并且估计它相对于目标轨迹的位置。误差可随时间推移而累积,以及相对于目标轨迹的交通工具位置确定可变得越来越不精确。相应地,交通工具可使用稀疏地图800中出现的车道标记(及其已知位置)来减少位置确定中的航位推测引起的误差。这样,稀疏地图800中包含的所标识车道标记可用作导航锚点,从其中可确定交通工具相对于目标轨迹的精确位置。
图25A示出可用于基于映射车道标记的导航的交通工具周围环境的示例性图像2500。图像2500可例如由交通工具200通过图像获取单元120中包含的图像捕获装置122和124来捕获。图像2500可包括至少一个车道标记2510的图像,如图25A所示。图像2500还可包括如上所述用于导航的一个或多个路标2521,例如道路标志。还示出图25A所示的一些元素以供参考,例如所捕获图像2500中未出现但是被交通工具200所检测和/或确定的元素2511、2530和2520。
使用以上针对图24A-D和图24F所述的各种技术,交通工具可分析图像2500,以标识车道标记2510。各种点2511可被检测为对应于图像中的车道标记的特征。例如点2511可对应于车道标记的边缘、车道标记的角、车道标记的中点、两个相交车道标记之间的顶点或者各种其它特征或位置。点2511检测为对应于从服务器所接收的导航模型中存储的点的位置。例如,如果接收包含表示映射车道标记的中心线的点的稀疏地图,则还可基于车道标记2510的中心线来检测点2511。
交通工具还可确定元素2520所表示并且沿目标轨迹定位的纵向位置。例如通过检测图像2500内的路标2521并且将测量位置与道路模型或稀疏地图800中存储的已知路标位置进行比较,可从图像2500来确定纵向位置2520。沿目标轨迹的位置然后可基于到路标的距离和路标的已知位置来确定。纵向位置2520还可从除了用来确定车道标记的位置的图像之外的图像来确定。例如,可通过检测与图像2500同时或接近同时拍摄的、来自图像获取单元120内的其它摄像机的图像中的路标,来确定纵向位置2520。在一些情况下,交通工具可能没有靠近任何路标或者用于确定纵向位置2520的其它参考点。在这类情况下,交通工具可基于航位推测进行导航,并且因此可使用传感器来确定其自我运动,并且估计相对于目标轨迹的纵向位置2520。交通工具还可确定表示交通工具与(一个或多个)所捕获图像中所观察的车道标记2510之间的实际距离的距离2530。在确定距离2530中可考虑摄像机角度、交通工具的速度、交通工具的宽度或者各种其它因素。
图25B示出交通工具在道路导航模型中基于映射车道标记的横向定位校正。如上所述,交通工具200可使用交通工具200所捕获的一个或多个图像来确定交通工具200与车道标记2510之间的距离2530。交通工具200还可有权访问道路导航模型(例如稀疏地图800),该道路导航模型可包括映射车道标记2550和目标轨迹2555。可使用上述技术、例如使用多个交通工具所捕获的众包位置标识符对映射车道标记2550进行建模。还可使用先前所述的各种技术来生成目标轨迹2555。交通工具200还可如以上针对图25A所述来确定或估计沿目标轨迹2555的纵向位置2520。交通工具200然后可基于目标轨迹2555与对应于纵向位置2520的映射车道标记之间的横向距离来确定预计距离2540。可通过将使用(一个或多个)所捕获图像所测量的实际距离2530与来自模型的预计距离2540进行比较,来校正或调整交通工具200的横向定位。
图25C和图25D提供了与用于在导航期间基于稀疏地图中的所映射路标/对象/特征来定位主交通工具的另一示例相关联的图示。图25C概念性地表示从沿着路段2560导航的交通工具捕获的一系列图像。在该示例中,路段2560包括由道路边缘2561和2562以及中央车道标记2563描绘的两车道分开的高速公路的直段。如所示,主交通工具正沿着与映射的目标轨迹2565相关联的车道2564导航。因此,在理想情况下(并且在没有影响者的情况下,例如在道路中存在目标交通工具或对象等),当主交通工具沿着路段2560的车道2564导航时,主交通工具应当紧密地跟踪所映射的目标轨迹2565。实际上,当主交通工具沿着映射的目标轨迹2565导航时,主交通工具可能经历漂移。对于有效且安全的导航,该漂移应维持在可接受的限度内(例如,距离目标轨迹2565+/-10cm的横向位移或任何其它合适的阈值)。为了周期性地考虑漂移并进行任何所需的路线校正以确保主交通工具遵循目标轨迹2565,所公开的导航系统可以能够使用被包括在稀疏地图中的一个或多个所映射特征/对象沿目标轨迹2565来定位主交通工具(例如,确定主交通工具相对于目标轨迹2565的横向和纵向位置)。
作为简单的示例,图25C示出了限速标志2566,当主交通工具沿着路段2560导航时,限速标志2566可以出现在五个不同的、顺序捕获的图像中。例如,在第一时间t0,标志2566可以出现在接近地平线的所捕获图像中。当主交通工具接近标志2566时,在时间t1、t2、t3和t4的后续捕获的图像中,标志2566将出现在所捕获图像的不同2D X-Y像素位置处。例如,在所捕获的图像空间中,标志2566将沿着曲线2567(例如,延伸通过五个所捕获图像帧中的每一个图像帧中的标志中心的曲线)向下和向右移动。当标志2566被主交通工具接近时,标志2566看起来在大小方面也将增加(即,它将占据后续捕获的图像中的大量像素)。
可以利用诸如标志2566之类的对象的图像空间表示中的这些变化来确定主交通工具沿目标轨迹的局部位置。例如,如本发明中所描述,任何可检测对象或特征(例如,像如标志2566的语义特征或可检测非语义特征)可由先前穿过路段(例如,路段2560)的一个或多个采集交通工具标识。映射服务器可以从多个交通工具收集所采集的驾驶信息、聚合并关联该信息、并且生成稀疏地图,其包括例如用于路段2560的车道2564的目标轨迹2565。稀疏地图还可存储标志2566的位置(连同类型信息等)。在导航期间(例如,在进入路段2560之前),可向主交通工具提供包括路段2560的稀疏地图的地图图块。为了在路段2560的车道2564中导航,主交通工具可遵循所映射的目标轨迹2565。
标志2566的所映射表示可由主交通工具用于相对于目标轨迹来定位其自身。例如,主交通工具上的摄像机将捕获主交通工具的环境的图像2570,并且所捕获的图像2570可以包括具有某个大小和某个X-Y图像位置的标志2566的图像表示,如图25D中所示。该大小和X-Y图像位置可用于确定主交通工具相对于目标轨迹2565的位置。例如,基于包括标志2566的表示的稀疏地图,主交通工具的导航处理器可以确定响应于沿目标轨迹2565行驶的主交通工具,标志2566的表示应当出现在捕获的图像中,使得标志2566的中心将沿线2567移动(在图像空间中)。如果诸如图像2570之类的捕获的图像示出了偏离线2567的中心(或其它参考点)(例如,预期图像空间轨迹),则主交通工具导航系统可以确定在捕获的图像的时间它没有位于目标轨迹2565上。然而,根据图像,导航处理器可以确定适当的导航校正以使主交通工具返回到目标轨迹2565。例如,如果分析示出标志2566的图像位置(其在图像中向线2567上的预期图像空间位置的左边移位了距离2572,则导航处理器可以引起主交通工具的朝向改变(例如,改变车轮的转向角)以将主交通工具向左移动距离2573。以这种方式,每个捕获的图像可以被用作反馈回路过程的一部分,使得标志2566的观察图像位置与预期图像轨迹2567之间的差异可以被最小化,以确保主交通工具沿着目标轨迹2565以很小偏差到没有偏差而继续。当然,可用的映射对象越多,所描述的定位技术可以使用得越频繁,这可以减少或消除漂移引起的与目标轨迹2565的偏差。
上述过程可用于检测主交通工具相对于目标轨迹的横向取向或位移。主交通工具相对于目标轨迹2565的定位还可以包括确定目标交通工具沿着目标轨迹的纵向位置。例如,捕获的图像2570包括具有某个图像大小(例如,2D X-Y像素区域)的标志2566的表示。当映射的标志2566沿着线2567行驶通过图像空间时(例如,当标记的大小逐渐增加时,如图25C中所示),该大小可以与映射的标志2566的预期图像大小相比较。基于图像2570中的标志2566的图像大小,并且基于相对于所映射的目标轨迹2565的图像空间中的预期大小进展,主交通工具可以确定其相对于目标轨迹2565的纵向位置(在图像2570被捕获时)。如上所述,与相对于目标轨迹2565的任何横向位移相耦合的该纵向位置允许当主交通工具沿道路2560导航时主交通工具相对于目标轨迹2565的完全定位。
图25C和图25D仅提供了使用单个映射对象和单个目标轨迹的所公开定位技术的一个示例。在其它示例中,可以有更多得多的目标轨迹(例如,用于多车道高速公路、城市街道、复杂交叉口路口等的每个可行车道的一个目标轨迹),并且可以有更多得多的映射可用于定位。例如,代表城市环境的稀疏地图可以包括每米可用于定位的许多对象。
图26A是示出按照所公开实施例、映射车道标记以供自主交通工具导航中使用的示例性过程2600A的流程图。在步骤2610,过程2600A可包括接收与所检测车道标记关联的两个或更多位置标识符。例如,步骤2610可由服务器1230或者与服务器关联的一个或多个处理器来执行。位置标识符可包括与所检测车道标记关联的点的现实世界坐标中的位置,如以上针对图24E所述。在一些实施例中,位置标识符还可包含其它数据,例如与路段或车道标记有关的附加信息。附加数据也可在步骤2610期间接收,例如加速计数据、速度数据、路标数据、道路几何或简档数据、交通工具定位数据、自我运动数据或者如上所述的各种其它形式的数据。位置标识符可由交通工具(例如交通工具1205、1210、1215、1220和1225)基于该交通工具所捕获的图像来生成。例如,可基于从与主交通工具关联的摄像机对表示主交通工具的环境的至少一个图像的获取、对至少一个图像的分析以检测主交通工具的环境中的车道标记以及对至少一个图像的分析以确定所检测车道标记相对于与主交通工具关联的位置的位置,来确定标识符。如上所述,车道标记可包括多种不同标记类型,以及位置标识符可对应于相对于车道标记的多种点。例如,在所检测车道标记是标记车道边界的虚线的一部分的情况下,点可对应于车道标记的所检测角。在所检测车道标记是标记车道边界的连续线的一部分的情况下,点可对应于车道标记的所检测边缘,其中具有如上所述的各种间距。在一些实施例中,点可如图24C所示对应于所检测车道标记的中心线,或者可如图24D所示对应于两个相交车道标记与关联相交车道标记的至少一个两个其它点之间的顶点。
在步骤2612,过程2600A可包括将所检测车道标记与对应路段关联。例如,服务器1230可分析现实世界坐标或者在步骤2610期间所接收的其它信息,并且将坐标或其它信息与自主交通工具道路导航模型中存储的位置信息进行比较。服务器1230可确定模型中与检测车道标记的现实世界路段对应的路段。
在步骤2614,过程2600A可包括基于与所检测车道标记关联的两个或更多位置标识符来更新相对于对应路段的自主交通工具道路导航模型。例如,自主道路导航模型可以是稀疏地图800,以及服务器1230可更新稀疏地图,以包括或调整模型中的映射车道标记。服务器1230可基于以上针对图24E所述的各种方法或过程来更新模型。在一些实施例中,更新自主交通工具道路导航模型可包括在所检测车道标记的现实世界坐标中存储位置的一个或多个指示符。自主交通工具道路导航模型还可包括交通工具沿对应路段要跟随的至少一个目标轨迹,如图24E所示。
在步骤2616,过程2600A可包括将已更新自主交通工具道路导航模型分发给多个自主交通工具。例如,服务器1230可将已更新自主交通工具道路导航模型分发给交通工具1205、1210、1215、1220和1225,所述交通工具可将该模型用于导航。可经过如图12所示的无线通信路径1235经由一个或多个网络(例如通过蜂窝网络和/或因特网等)来分发自主交通工具道路导航模型。
在一些实施例中,可使用例如通过如以上针对图24E所述的众包技术从多个交通工具所接收的数据来映射车道标记。例如,过程2600A可包括从第一主交通工具接收包括与所检测车道标记关联的位置标识符的第一通信,并且从第二主交通工具接收包括与所检测车道标记关联的附加位置标识符的第二通信。例如,可从同一路段上行驶的后续交通工具或者从沿同一路段的后续行程的同一交通工具接收第二通信。过程2600A可进一步包括基于在第一通信中接收的位置标识符并且基于在第二通信中接收的附加位置标识符来细化与所检测车道标记关联的至少一个位置的确定。这可包括使用多个位置标识符的平均,和/或滤出可能不反映车道标记的现实世界位置的“虚”标识符。
图26B是示出使用映射车道标记沿路段自主导航主交通工具的示例性过程2600B的流程图。过程2600B可例如由自主交通工具200的处理单元110执行。在步骤2620,过程2600B可包括从基于服务器的系统接收自主交通工具道路导航模型。在一些实施例中,自主交通工具道路导航模型可包括沿路段的主交通工具的目标轨迹以及与关联路段的一个或多个车道标记关联的位置标识符。例如,交通工具200可接收稀疏地图800或者使用过程2600A所开发的另一个道路导航模型。在一些实施例中,目标轨迹可被表示为三维样条,例如图9B所示。如以上针对图24A-F所述,位置标识符可包括与车道标记关联的点的现实世界坐标中的位置(例如虚线车道标记的角点、连续车道标记的边缘点、两个相交车道标记与关联相交车道标记的其它点之间的顶点、与车道标记关联的中心线等)。
在步骤2621,过程2600B可包括接收表示交通工具的环境的至少一个图像。可例如通过图像获取单元120中包含的图像捕获装置122和124从交通工具的图像捕获装置接收图像。图像可包括一个或多个车道标记的图像,与上述图像2500相似。
在步骤2622,过程2600B可包括确定沿目标轨迹的主交通工具的纵向位置。如以上针对图25A所述,这可基于所捕获图像(例如路标等)中的其它信息或者通过所检测路标之间的交通工具的航位推测。
在步骤2623,过程2600B可包括基于沿目标轨迹的主交通工具的所确定纵向位置并且基于与至少一个车道标记关联的两个或更多位置标识符来确定到车道标记的预计横向距离。例如,交通工具200可使用稀疏地图800来确定到车道标记的预计横向距离。如图25B所示,可在步骤2622确定沿目标轨迹2555的纵向位置2520。使用稀疏地图800,交通工具200可确定到与纵向位置2520对应的映射车道标记2550的预计距离2540。
在步骤2624,过程2600B可包括分析至少一个图像,以标识至少一个车道标记。例如,交通工具200可使用各种图像识别技术或算法来标识图像内的车道标记,如上所述。例如,可通过图像2500的图像分析来检测车道标记2510,如图25A所示。
在步骤2625,过程2600B可包括基于至少一个图像的分析来确定到至少一个车道标记的实际横向距离。例如,交通工具如图25A所示可确定表示交通工具与车道标记2510之间的实际距离的距离2530。在确定距离2530中可考虑摄像机角度、交通工具的速度、交通工具的宽度、摄像机相对于交通工具的位置或者各种其它因素。
在步骤2626,过程2600B可包括基于到至少一个车道标记的预计横向距离与到至少一个车道标记的所确定实际横向距离之间的差来确定主交通工具的自主转向动作。例如,如以上针对图25B所述,交通工具200可将实际距离2530与预计距离2540进行比较。实际与预计距离之间的差可指示交通工具的实际位置与将被交通工具跟随的目标轨迹之间的误差(及其幅值)。相应地,交通工具可基于该差来确定自主转向动作或另一自主动作。例如,如果如图25B所示实际距离2530小于预计距离2540,则交通工具可确定自主转向动作,以向左引导交通工具离开车道标记2510。因此,可校正相对于目标轨迹的交通工具的位置。过程2600B可用来例如改进路标之间的交通工具的导航。
过程2600A和2600B仅提供可用于使用所公开的稀疏地图来导航主交通工具的技术的示例。在其它示例中,也可采用与相对于图25C和图25D所描述的那些过程一致的过程。
检测打开的门
自主交通工具可能需要考虑多种因素,并且基于那些因素做出适当判定,以安全且准确地到达预计目的地。例如,自主交通工具可能需要处理和解释视觉信息(例如从摄像机所捕获的信息),来自雷达或激光雷达的信息,并且还可能使用从其它来源(例如从GPS装置、速度传感器、加速计、悬架传感器等)所获得的信息。同时,为了导航到目的地,自主交通工具还可能需要标识它在特定道路内的位置(例如多车道道路内的特定车道),与其它交通工具并排导航,避开障碍物和行人,观察交通信号和标志,在适当十字路口或立交桥从一个道路行驶到另一个道路,以及对在交通工具操作期间发生或发展的任何其它情形做出响应。
打开的交通工具门可对沿着路段导航的交通工具造成重大危险。许多传统的算法(诸如在现存自主制动系统中使用的那些算法)不具有与人类的反应时间相当的反应时间。因此,这样的算法通常更好地适合用作人类驾驶员的后备,而不是在部分或完全自主的交通工具中使用。本公开的实施例可以解决上述传统系统的缺点中的一个或多个。该问题对于在狭窄道路上的自主交通工具导航尤其重要,在狭窄道路中,打开的车门可能部分地或完全地阻塞自主交通工具的计划驾驶路径。
在一个实施例中,用于导航主交通工具的系统可从主交通工具的环境接收由主交通工具上的摄像机捕获的图像。作为示例,如图27中所示,主交通工具2700上的摄像机可以被配置成从交通工具2700的环境捕获图像2710。该系统可以分析图像2710以标识图像2710中的目标交通工具2711并且确定图像中的候选区域2713,该候选区域2713可以包括预期处于开门状态的目标交通工具2711的交通工具门2712的表示。该系统还可以从图像2710中提取候选区域2713,并且将所提取的候选区域提供给机器学习模型(例如,经训练网络)作为输入以用于检测与目标交通工具相关联的开门状态。机器学习模型可以被配置成输出包括例如开门状态(或没有开门状态)的指示的结果。该系统可以基于由机器学习模型所提供的输出结果来实现主交通工具的至少一个导航动作(例如,改变远离目标交通工具移动的航向方向,使交通工具减速)。
在一些实施例中,具有打开的门的交通工具可能不会对主交通工具造成危险,并且主交通工具可以将这种交通工具从进一步分析中排除。例如,图28A示出了从主交通工具2700的环境捕获的图像2820。如图28A中所示,交通工具2821还具有打开的门2822。然而,主交通工具2700可不太可能与交通工具2821的门2822碰撞。例如,假设主交通工具2700和交通工具2821之间的纵向距离相对大,则当主交通工具2700到达捕获图像2820时的门2822的位置时,门2822可能被关闭。另外,交通工具2821可能在与主交通工具2700的行驶车道不同的车道中,并且当主交通工具2700经过交通工具2821时,主交通工具2700可能有横向安全距离(例如,1米、2米等)。即使当捕获图像2820时交通工具2821具有打开的门,主交通工具2700也可以将交通工具2821从进一步分析中排除。
将理解,由主交通工具2700对打开的门2822的检测所做出的反应可以通过由主交通工具实现的驾驶策略或安全策略来确定。例如,主交通工具2700可实现驾驶策略,使得对于图28A中所示的情形(其中当主交通工具2700经过交通工具2821时主交通工具2700不太可能与交通工具2821的门2822碰撞),主交通工具2700可转向远离目标交通工具2821和门2822(例如,改变到最左边的车道)和/或降低主交通工具2700的速度。该动作可以由驾驶策略来确定(或计算),以确保主交通工具2700可以能够安全地处理在打开的门的情况下可能的潜在危险,诸如行人(例如,通过打开的门2821)离开交通工具。
作为另一示例,如图28B中所示,从交通工具2700的环境捕获的图像2830可包括交通工具2831在主交通工具2700正在交通工具2831的左侧旁边的车道中行驶时使其右前门2832打开的表示。类似地,主交通工具2700可能不与门2832碰撞,并且交通工具2831可从进一步分析中被排除。
图29示出了按照所公开的实施例的用于导航交通工具的示例性系统的框图。如图29中所示,交通工具2700可以包括一个或多个处理器2910、存储器2920、存储装置2930、通信端口2940、一个或多个传感器2950、激光雷达系统2960和导航系统2970。
处理器2910可以被配置成执行如本公开中所描述的交通工具2700的一个或多个功能。处理器2910可包括微处理器、预处理器(诸如图像预处理器)、图形处理单元(GPU)、中央处理单元(CPU)、支持电路、数字信号处理器、集成电路、存储器、或适合于运行应用或执行计算任务的任何其它类型的装置。在一些实施例中,处理器2910可以包括任何类型的单核或多核处理器、移动装置微控制器、中央处理单元等。可以使用各种处理装置,包括例如从诸如Intel®、AMD®等的制造商可获得的处理器或者从诸如NVIDIA®、ATI®等的制造商可获得的GPU,并且可包括各种架构(例如x86处理器、ARM®等)。本文所公开的处理装置的任一个可配置成执行某些功能。将处理装置(例如所述处理器或者另一控制器或微处理器的任一个)配置成执行某些功能可包括对计算机可执行指令的编程,并且使这些指令是处理装置在操作期间可用于执行的。在一些实施例中,配置处理装置可包括采用架构指令直接对处理装置进行编程。例如,可使用例如一个或多个硬件描述语言(HDL)来配置处理装置(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。
在一些实施例中,处理器2910可以包括电路2911和存储器2912。存储器2912可以存储指令,所述指令在由电路2911执行时可以使处理器2910执行本文所描述的处理器2910的功能。电路2911可以包括本文所描述的示例中的任何一个或多个。
交通工具2700可以包括存储器2920,其可以存储用于交通工具2700的各种组件的指令。例如,存储器2920可以存储指令,所述指令在由处理器2910执行时可以被配置成使处理器2910执行本文所描述的一个或多个功能。存储器2920可以包括任何数量的随机存取存储器、只读存储器、闪速存储器、盘驱动器、光存储装置、磁带存储装置、可移除存储装置、和其它类型的存储装置。在一个实例中,存储器2920可以与处理器2910分离。在另一实例中,存储器2920可被集成到处理器2910中(例如,被包括为存储器2912)。在一些实施例中,存储器2920可以包括用于执行一个或多个计算任务的软件,以及诸如神经网络或深度神经网络之类的经训练系统。例如,存储器2920(和/或存储器2912)可以包括本文所描述的一个或多个开门检测网络。
存储装置2930可以被配置成存储用于交通工具2700的一个或多个组件的各种数据和信息。存储装置2930可以包括一个或多个硬盘驱动器、磁带、一个或多个固态驱动器、适合于写入和读取数据的任何装置等、或其组合。存储装置2930可以存储地图数据,例如包括可以由处理器2910存取的一个或多个地图段的数据。在一些实施例中,存储装置2930可以存储地图数据库。处理器2910可从地图数据库中检索一个或多个地图段的数据。例如,处理器2910可检索与地图段相关联的地图数据。
通信端口2940可被配置成促进经由网络在交通工具2700和本文所描述的所公开系统的一个或多个组件之间的数据通信。例如,通信端口2940可以被配置成经由一个或多个公共或专用网络从服务器接收数据和向服务器传送数据,所述一个或多个公共或专用网络包括因特网、内联网、WAN(广域网)、MAN(城域网)、符合IEEE 802.11a/b/g/n标准的无线网络、租用线路等。
传感器2950可以被配置成收集与交通工具2700和/或交通工具2700的环境有关的信息。传感器2950可包括以下项中的一项或多项:图像传感器(例如,摄像机)、雷达装置、激光雷达装置、速度传感器、加速度传感器、制动传感器、悬架传感器、定位装置(例如,全球定位系统(GPS)装置)、加速度计、陀螺仪传感器、速度计等或其组合。例如,交通工具2700可以包括被配置成捕获其环境的一个或多个图像的图像传感器(例如,摄像机),所述一个或多个图像可以包括对象(或其至少一部分)的表示。在一些实施例中,交通工具2700可以包括一个或多个图像传感器,所述一个或多个图像传感器类似于在本公开其它地方描述的图像捕获装置122、图像捕获装置124和/或图像捕获装置126。作为另一示例,交通工具2700可以包括GPS装置,其被配置成在一段时间内收集与交通工具2700的位置相关联的定位数据。
LIDAR系统2960可以包括一个或多个LIDAR单元。在一些实施例中,一个或多个LIDAR单元可以被定位于交通工具2700的顶上。这样的单元可以包括旋转单元,该旋转单元被配置成在交通工具2700周围的360度视场内或从360度视场的任何子段(例如,各自表示小于360度的一个或多个FOV)收集LIDAR反射信息。在一些实施例中,LIDAR单元可以被定位于交通工具2700上的前方位置(例如,在前灯附近、在前格栅中、在雾灯附近、在前保险杠中、或在任何其它合适的位置)。在一些情况下,安装在交通工具2700前部的一个或多个LIDAR单元可以从交通工具2700前方的环境中的视场收集反射信息。由LIDAE系统2960收集的数据可以被提供给处理器2910。备选地或另外地,数据可以经由网络被传送到服务器和/或数据库,如本公开中其它地方所描述的。
交通工具2700上可以包括任何合适类型的LIDAR单元。在一些情况下,LIDAE系统2960可以包括其中用单个激光脉冲照亮整个LIDAR视场(FOV)的一个或多个闪光LIDAR单元(例如,3D闪光LIDAR)以及包括像素的行和列的传感器,以记录返回的光强度和飞行时间/深度信息。这种闪光系统可以每秒多次照亮场景并收集LIDAR“图像”。也可以采用扫描LIDAR单元。这种扫描LIDAR单元可以依赖于用于在特定FOV上分散激光束的一种或多种技术。在一些情况下,扫描LIDAR单元可以包括扫描镜,其将激光束偏转并导向FOV内的对象。扫描镜可以旋转整个360度,或者可以沿单轴或多轴旋转小于360度,以将激光导向预定FOV。在一些情况下,LIDAR单元可以扫描一条水平线。在其它情况下,LIDAR单元可扫描FOV内的多条水平线,每秒多次有效地使特定FOV光栅化。
LIDAR系统2960中的LIDAR单元可以包括任何合适的激光源。在一些实施例中,LIDAR单元可以采用连续激光器。在其它情况下,LIDAR单元可以依赖于脉冲激光发射。另外,可以采用任何合适的激光波长。在一些情况下,可以使用约600nm至约1000nm之间的波长。
LIDAR系统2960中的(一个或多个)LIDAR单元还可以包括任何适合类型的传感器并提供任何适合类型的输出。在一些情况下,LIDAR单元的传感器可以包括固态光电检测器,诸如一个或多个光电二极管或光电倍增器。传感器还可以包括一个或多个CMOS或CCD装置,其包括任何数量的像素。这些传感器可以对从LIDAR FOV内的场景反射的激光敏感。传感器可以实现来自LIDAR单元的各种类型的输出。在一些情况下,LIDAR单元可以输出表示在每个传感器或在特定传感器的每个像素或子组件处收集的反射激光的原始光强度值和飞行时间信息。另外地或备选地,LIDAR单元可以输出点云(例如,3D点云),该点云可以包括相对于每个收集的点的光强度和深度/距离信息。LIDAR单元还可以输出表示光反射幅度和到视场内的点的距离的各种类型的深度图。LIDAR单元可以通过记录来自LIDAR的光源的光最初向FOV投射的时间并记录由LIDAR单元中的传感器接收到入射激光的时间来提供相对于FOV内的特定点的深度或距离信息。时间差可以表示飞行时间,其可以直接与入射激光从激光源行进到反射物体并回到LIDAR单元的往返距离相关。监测与LIDAR FOV的各个激光点或小段相关联的飞行时间信息可以为FOV内的多个点提供精确的距离信息(例如,映射到FOV内的对象的甚至非常小的特征)。在一些情况下,LIDAR单元可以输出更复杂的信息,诸如使一个或多个激光反射与从其获取激光反射的对象的类型相关的分类信息。
导航系统2970可以被配置成辅助交通工具2700的驾驶员操作交通工具2700。备选地或另外地,导航系统2970可以包括自主交通工具导航系统,该自主交通工具导航系统被配置成如在本公开中其它地方所描述的那样控制交通工具2700的移动。例如,导航系统2970可以被配置成基于从处理器2910接收的指令来控制交通工具2700。在一些实施例中,导航系统2970可以包括被配置成基于从处理器2910接收的一个或多个控制信号来实现至少一个导航动作的一个或多个致动器或受控装置。这样的致动器和装置可以包括加速器、一个或多个转向控制、制动器、信号传送器、显示器、或可以作为与交通工具2700相关联的导航操作的一部分而被控制的任何其它致动器或装置。
图30是示出按照所公开的实施例的用于导航交通工具的示例性过程3000的流程图。过程3000的一个或多个步骤可以由交通工具(例如,交通工具2700)、与主交通工具相关联的装置、至少一个处理器(例如,处理器2910)和/或服务器(例如,本文所描述的一个或多个服务器)来执行。虽然以下提供的过程3000的描述使用交通工具2700(或其一个或多个组件)作为示例,但是本领域技术人员将理解,过程3000的一个或多个步骤可以由服务器和/或交通工具装置来执行。例如,在实施例中,用于导航交通工具的系统包括至少一个处理器,所述至少一个处理器包括电路和存储器。所述存储器可以包括指令,所述指令在由所述电路执行时使所述至少一个处理器执行一个或多个操作,诸如本文和/或结合图30所讨论的任何操作。作为另一示例,在另一实施例中,一种非暂时性计算机可读介质含有指令,所述指令当由至少一个处理器(例如,电子地平线(horizon)处理器)执行时可使所述至少一个处理器执行一个或多个操作,诸如本文和/或结合图30所讨论的任何操作。
在步骤3001,至少一个处理器接收由与主交通工具相关联的图像捕获装置获取的图像帧。图像帧可以表示主交通工具的环境。例如,与交通工具2700相关联的摄像机(例如,图像捕获装置122、图像捕获装置124和/或图像捕获装置126)可以被配置成从交通工具2700的环境捕获一个或多个图像帧,如在本公开其它地方所描述的。作为示例,摄像机可以被配置成从交通工具2700的环境捕获图27中所示的图像2710,并将图像2710传送到处理器2910以供进一步处理。
参照图30,在步骤3002,至少一个处理器在图像帧中标识目标交通工具的表示。作为示例,处理器2910可以被配置成在图27中所示的图像2710中标识目标交通工具2711。
在一些实施例中,至少一个处理器可以基于一个或多个因素从对开门检测的进一步分析中排除被包括在图像帧中的一个或多个候选交通工具。示例性因素可包括候选交通工具的运动(或没有运动)、候选交通工具距主交通工具的横向距离、候选交通工具距主交通工具的纵向距离等、或其组合。例如,至少一个处理器可以至少部分基于检测到的交通工具是否正在移动的确定来标识目标交通工具。移动交通工具不太可能具有打开的门,并且处理器可以将移动交通工具的检测到的打开的门视为假肯定(false positive)。至少一个处理器可以通过分析多个图像帧或通过任何其它手段(诸如基于雷达信息)来确定检测到的交通工具未正在移动,并且将检测到的交通工具标识为目标交通工具。在一些实施例中,至少一个处理器可以被配置成从分析中排除从图像帧检测到的移动交通工具。
备选地或另外地,至少一个处理器可以至少部分基于对主交通工具和目标交通工具之间的横向间距的确定来标识目标交通工具。例如,具有大于阈值(例如,4.5米)的距主交通工具横向距离的候选交通工具可在打开的门可能与主交通工具碰撞的范围之外,并且至少一个处理器可不将这种候选交通工具标识为目标交通工具。在一些实施例中,至少一个处理器可以将具有等于或小于阈值距离(例如,4.5米)的距主交通工具横向距离的候选交通工具标识为目标交通工具。阈值距离可以在1到10米的范围内,所述范围可以被限制在1到2米、2到5米、或5到10米的子范围内。
备选地或另外地,至少一个处理器可以至少部分基于对主交通工具和目标交通工具之间的纵向间距的确定来标识目标交通工具。在一些实例中,具有大于阈值距离(例如,50米)的距主交通工具横向距离的候选交通工具可能在检测时具有打开的门,但是当主交通工具行驶到候选交通工具附近时,候选交通工具的门可能被关闭。因此,远离主交通工具的候选交通工具(例如,图28A中所示的交通工具2821)可从进一步分析中被排除。在一些实施例中,至少一个处理器可以将具有小于阈值距离(例如,50米)的距主交通工具横向距离的候选交通工具标识为目标交通工具。阈值距离可以在10到500米的范围内,所述范围可以被限制在10到20米、20到50米、50到100米、或100到500米的子范围内。
在步骤3003,至少一个处理器确定与目标交通工具相关联的一个或多个取向指示符。取向指示符可以包括指示目标交通工具的一部分在图像帧中被表示的指示符。例如,取向指示符可以包括以下项中的一项或多项:指示目标交通工具的前侧的一部分在图像帧中被表示的指示符、指示目标交通工具的后侧的一部分在图像帧中被表示的指示符、指示目标交通工具的侧面的一部分在图像帧中被表示的指示符。作为示例,参见图27,至少一个处理器可以确定指示目标交通工具2711的侧面的一部分在图像2710中被表示的指示符。
参照图30,在步骤3004,至少一个处理器基于所确定的一个或多个取向指示符来标识所获取的图像帧的至少一个候选区域,在所述至少一个候选区域中预期目标交通工具的交通工具门的表示处于开门状态。例如,至少一个处理器可以标识包括在图像帧中所标识的目标交通工具的交通工具门的至少一部分的候选区域。作为示例,至少一个处理器可以标识在图27中所示出的图像2710的候选区域2713,该候选区域2713可以包括预期处于开门状态的目标交通工具2711的交通工具门2712的表示。
在一些实施例中,至少一个处理器可以根据在步骤3003确定的与目标交通工具相关联的一个或多个取向指示符来标识至少一个候选区域。例如,如上所述,至少一个处理器可以确定指示目标交通工具的前侧的一部分在图像帧中被表示的指示符。至少一个处理器还可以标识图像帧的至少一个候选区域,所述至少一个候选区域可以包括位于目标交通工具的前侧的在图像帧中的表示的右边或左边的图像段。备选地或另外地,至少一个处理器可以确定指示目标交通工具的后侧的一部分在图像帧中被表示的指示符。至少一个处理器还可以标识图像帧的至少一个候选区域,所述至少一个候选区域可以包括位于目标交通工具的后侧的在图像帧中的表示的右边或左边的图像段。备选地或另外地,至少一个处理器可以确定指示目标交通工具的侧面的一部分在图像帧中被表示的指示符。至少一个处理器还可以标识图像帧的至少一个候选区域,所述至少一个候选区域可以包括至少部分在与目标交通工具的侧面的在图像帧中的表示相关联的图像包络内的图像段。
参照图30,在步骤3005,至少一个处理器从图像帧中提取至少一个候选区域。例如,至少一个处理器可以提取图27中所示的图像2710的候选区域2713。
在一些实施例中,至少一个处理器可以提取至少一个候选区域,所述至少一个候选区域包括目标交通工具的所标识部分和邻近所述目标交通工具的所标识部分的至少一侧的预定容限。
在步骤3006,至少一个处理器将所提取的至少一个候选区域提供给开门检测网络。开门检测网络可以包括本申请中描述的一个或多个网络。例如,开门检测网络可以包括深度神经网络(DNN)。至少一个处理器可以被配置成向DNN提供所提取的至少一个候选区域作为输入。
在一些实施例中,开门检测网络可以被配置成输出目标交通工具的门是否处于打开状态的分类。备选地或另外地,开门检测网络可以被配置成输出与目标交通工具的被确定为处于打开状态的门相关联的边界框。备选地或另外地,开门检测网络可以被配置成输出主交通工具的至少一部分与目标交通工具的被确定为处于打开状态的门之间的一个或多个距离坐标。备选地或另外地,开门检测网络可以被配置成输出至少部分被交通工具主体遮挡的目标交通工具的门是否处于打开状态的分类。备选地或另外地,开门检测网络可以被配置成输出至少部分被行人遮挡的目标交通工具的门是否处于打开状态的分类。在一些实施例中,开门检测网络还可以输出与输出结果相关联的置信度分(例如,90%)。
在一些实施例中,开门检测网络可以被配置成对所提取的至少一个候选区域进行三次或更多次分析,并且基于所述三次或更多次分析来输出结果。例如,开门检测网络可以被配置成分析所提取的至少一个候选区域以输出第一结果。开门检测网络还可以被配置成将对所提取的至少一个候选区域的分析再重复两次,以输出第二结果和第三结果。开门检测网络(和/或至少一个处理器)可以被配置成基于第一、第二和第三结果来确定最终结果。例如,开门检测网络(和/或至少一个处理器)可以被配置成如果三个分析全部指示开门状态,则确定所提取的至少一个候选区域包括目标交通工具的处于打开状态的门的表示。备选地或另外地,开门检测网络(和/或至少一个处理器)可以被配置成如果肯定结果的数量大于(一个或多个)否定结果的数量,则确定开门指示。在一些实施例中,如本公开中其它地方所描述的,开门检测网络可以被配置成输出与结果相关联的置信度分。开门检测网络(和/或至少一个处理器)还可以被配置成基于与三个或更多个分析的结果相关联的一个或多个置信度分来确定开门指示。例如,开门检测网络(和/或至少一个处理器)可以仅在三个结果包括开门指示并且与指示相关联的所有置信度分等于或超过阈值(例如,90%)时才确定与目标交通工具相关联的最终开门指示。备选地或另外地,如果三个置信度分的平均置信度分等于或超过阈值(例如,90%),则开门检测网络(和/或至少一个处理器)可以确定最终开门指示。在一些实施例中,可以使用不同的数据(例如,图像数据和/或激光雷达数据)来进行由开门检测网络所进行的三个或更多个分析。例如,开门检测网络可以分析第一图像的所提取的候选区域,以输出指示是否存在与目标交通工具相关联的打开的门的指示的第一结果。开门检测网络还可分析第二图像的所提取的候选区域以输出指示是否存在与目标交通工具相关联的打开的门的指示的第二结果,并分析第三图像的所提取的候选区域以输出指示是否存在与目标交通工具相关联的打开的门的指示的第三结果。作为另一示例,开门检测网络可分析第一图像的所提取的候选区域以输出第一结果,并分析第二图像的所提取的候选区域以输出第二结果。开门检测网络(或不同的检测网络)可以分析在捕获第一图像和/或第二图像的相同(或基本相同)时间收集的激光雷达数据,以输出第三结果。在一些实施例中,开门检测网络(和/或处理器2910)可以基于第一、第二和第三结果来确定指示打开的门的存在(或不存在)的最终结果。例如,当所有结果都包括开门指示时,开门检测网络(和/或处理器2910)可以确定指示与目标交通工具相关联的打开的门的存在的最终结果。备选地,开门检测网络(和/或处理器2910)可以确定与三个结果中的大多数结果一致的最终结果。作为示例,第一和第二结果可以指示打开的门的存在,但是第三结果可以指示打开的门的不存在。开门检测网络(和/或处理器2910)可以输出指示与目标交通工具相关联的打开的门的存在的最终结果。
在一些实施例中,开门检测网络可以被配置成标识在图像帧的至少一个候选区域中表示的外部门特征(例如,门把手、外部帧),并且至少部分基于在图像帧的至少一个候选区域中表示的所标识的外部门特征来确定目标交通工具的门是否处于打开状态。备选地或另外地,开门检测网络可以被配置成标识在图像帧的至少一个候选区域中表示的内部门特征,并且至少部分基于在图像帧的至少一个候选区域中表示的所标识的内部门特征来确定目标交通工具的门是否处于打开状态。示例性内部门特征可以包括扶手、控制台(例如,用于控制交通工具的窗户和/或侧镜)、门锁定机构或部件等、或其组合。
在一些实施例中,开门检测网络可以被配置成输出与目标交通工具和/或门有关的附加信息。例如,开门检测网络可以被配置成输出相对于目标交通工具的检测到的打开的门的距离的指示符。该距离可以包括相对于目标交通工具的检测到的打开的门的横向距离和/或纵向距离。
在一些实施例中,移动交通工具仍然可以被标识为目标交通工具(在步骤3003中),并且至少一个处理器可以标识图像帧中的至少一个候选区域(在步骤3004中),从图像帧中提取至少一个候选区域,并且将所提取的至少一个候选区域提供给开门检测网络(在步骤3005中),如在本公开其它地方所描述的。开门检测网络可以分析所提取的候选区域并输出结果(例如,目标交通工具的门是否处于打开状态的分类)。在一些实施例中,对于移动交通工具,开门检测网络(和/或处理器2910)可以将较低置信度分(和/或较低加权因子)指派给输出结果。与开门相关的低置信度分可用于处理多个图像以做出关于打开的门的决定(例如,要求平均置信度分高于某个阈值等)的实施例中,和/或使用驾驶策略或安全策略以基于交通工具周围的环境模型来确定用于控制交通工具的一个或多个导航动作的实施例中。
在步骤3007,至少一个处理器响应于来自开门检测网络的指示来确定主交通工具的至少一个导航动作,所述指示是所提取的至少一个候选区域包括目标交通工具的处于打开状态的门的表示。示例性导航动作可包括改变主交通工具的转向方向、使主交通工具制动或减速、维持主交通工具的当前航向和速度等、或其组合。
在一些实施例中,至少一个处理器可以基于主交通工具与目标交通工具的检测到的打开的门之间的接触的预测时间来确定主交通工具的至少一个导航动作。例如,如果主交通工具和目标交通工具的检测到的打开的门之间的接触的预测时间大于阈值时间,则至少一个处理器可以确定主交通工具的至少一个导航动作以维持主交通工具的当前航向和速度。备选地或另外地,至少一个处理器可以基于主交通工具与目标交通工具的检测到的打开的门之间的距离来确定主交通工具的至少一个导航动作。例如,如果主交通工具和目标交通工具的检测到的打开的门之间的接触的预测距离(例如,横向距离)大于阈值距离,则至少一个处理器可以确定主交通工具的至少一个导航动作以维持主交通工具的当前航向和速度。可以基于由激光雷达系统2960收集的LIDAR信息来确定主交通工具与目标交通工具的检测到的打开的门之间的接触的距离。备选地或另外地,距离可以基于根据来自主交通工具的环境的多个图像帧的运动计算来确定。备选地或另外地,开门检测网络可以基于输入(例如,所提取的候选区域和/或图像帧)来确定距离。在一些实施例中,如果主交通工具和目标交通工具的检测到的打开的门之间的接触的预测时间大于阈值时间,并且如果主交通工具和目标交通工具的检测到的打开的门之间的接触的预测距离大于阈值距离,则至少一个处理器可以确定主交通工具的至少一个导航动作以维持主交通工具的当前航向和速度。
在一些实施例中,开门检测网络(和/或至少一个处理器)可以被配置成当检测到打开的门时,确定在主交通工具与打开的门的位置相交之前是否存在打开的门将被关闭的预期(或大于阈值的概率)。例如,开门检测网络(和/或至少一个处理器)可以被配置成获得主交通工具的当前速度以及主交通工具与目标交通工具之间的距离。开门检测网络(和/或至少一个处理器)还可以确定预测时间段,在所述预测时间段之后,当检测到打开的门时,主交通工具将与打开的门的位置相交。如果预测时间段等于或超过阈值(例如,30秒),则开门检测网络(和/或至少一个处理器)还可以确定在主交通工具与打开的门的位置相交之前是否存在打开的门将被关闭的预期(或大于阈值的概率)。
在一些实施例中,至少一个处理器可以基于目标交通工具的检测到的打开的门和主交通工具的计划轨迹来确定导航动作。例如,至少一个处理器可以将目标交通工具的检测到的打开的门得位置与主交通工具的计划轨迹进行比较,并基于所述比较来确定至少一个导航动作。作为示例,如果确定若主交通工具继续计划轨迹则主交通工具可能与目标交通工具的门接触或进入目标交通工具的门周围的预定义包络,那么至少一个处理器可以确定要被实现的导航动作(例如,改变航向方向和/或制动),使得主交通工具可以远离目标交通工具移动。在该示例中,至少一个处理器可以基于门远离目标交通工具延伸的所确定距离来确定主交通工具的横向安全距离(例如,1米、2米等),并且主交通工具的计划轨迹的改变可以至少部分基于所确定的横向安全距离。在另一示例中,至少一个处理器可基于预定义值来确定主交通工具的横向安全距离,所述预定义值是诸如对应于与交通工具的门打开相关联的突起的典型范围的值。此外,作为示例,不同的预定义值可用于不同类型的交通工具,并且例如,对于诸如卡车之类的其它尺寸的交通工具,与用于较小交通工具的安全距离值相比,可以使用较大的预定义安全距离值。将理解,对于门打开情况,主交通工具和目标交通工具之间的横向安全距离可以由经训练网络来确定。作为示例,可以使用包括多个训练集的训练数据来训练经训练网络以提供用于门打开情况的横向安全距离,所述多个训练集中的每个训练集可以包括要为其提供横向安全距离的目标交通工具的图像。在一些实施例中,用于门打开情况的横向安全距离的网络可以使用可能处于不同取向的各种交通工具的较大图像集合来训练,并且对于每个交通工具,并且潜在地对于每个取向,使用用于门打开情况的相应横向安全距离来训练。
在步骤3008,至少一个处理器使与主交通工具相关联的一个或多个致动器实现在步骤3007确定的至少一个导航动作。例如,为了实现降低主交通工具的当前速度的导航动作,至少一个处理器可以将控制信号传送到导航系统2970,导航系统2970可以被配置成基于控制信号使制动致动器致动主交通工具的制动器和/或使加速器(例如,气或电踏板)降低速度。
在一些实施例中,开门检测网络可以包括经训练神经网络,其用于标识候选区域包括目标交通工具的处于打开状态的门的表示的指示。例如,可以基于图31中所示的示例性训练过程3100来生成经训练神经网络。图31是示出用于训练用于标识与目标交通工具相关联的开门状态的模型的示例训练过程3100的框图。如图31中所示,训练数据3104可以被输入到训练算法3106中以生成用于标识与目标交通工具相关联的开门状态的经训练模型3108。在一些实施例中,训练算法3106可以是人工神经网络。可以使用各种其它机器学习算法,包括逻辑回归、线性回归、回归、随机森林、K-最近邻(KNN)模型、K-均值模型、决策树、cox比例风险回归模型、Naïve Bayes模型、支持向量机(SVM)模型、梯度提升算法、或任何其它形式的机器学习模型或算法。按照本公开,训练数据3104可以包括多个训练集。每个训练集可以包括图像帧(或其图像段)和与交通工具相关联的开门状态的存在(或不存在)的指示,其可以被称为地面实况。可以基于由主交通工具(例如,交通工具2700)和/或其它交通工具收集的信息(例如,图像)来生成训练数据。被包括在训练数据中的图像可以被输入到训练算法3106中,训练算法3106可以输出结果。可以将输出结果与地面实况进行比较,并且可以基于所述比较来调整训练算法3106的一个或多个参数,直到达到训练阈值(例如,精确度率超过精确度阈值)。
在一些实施例中,训练数据3104可以包括基于不同类型的数据(例如,图像数据、激光雷达数据等)生成的训练集。例如,训练数据3104可以包括基于图像数据生成的至少一个训练集和基于激光雷达数据生成的至少一个训练集。备选地或另外地,训练数据3104可以包括与不同类型的目标交通工具(例如,轿车、SUV、轻型卡车、重型卡车等)和/或不同类型的门相关联的训练集。备选地或另外地,训练数据3104可以包括与打开的门的不同状态(例如,部分打开的门、完全或基本上完全打开的门等)相关联的训练集。备选地或另外地,训练数据3104可以包括具有数据(例如,图像数据、激光雷达数据等)的至少一个训练集,其中目标交通工具的取向(例如,目标交通工具的航向方向与主交通工具的航向方向相反)不同于一个或多个其它训练集(例如,目标交通工具的航向方向与主交通工具的航向方向对齐(或基本上对齐))中的数据(例如,图像数据、激光雷达数据等)。备选地或另外地,训练数据3104可以包括至少一个训练集,所述至少一个训练集包括图像,所述图像包括以下项中的至少一项:打开的门的一个或多个内部特征(例如,扶手、控制台(例如,用于控制交通工具的窗户和/或侧镜)、门锁定机构或部件等、或其组合)和一个或多个外部特征(例如,门把手、外部框架等、或其组合)。作为示例,图32示出了包括具有部分打开的门的交通工具的表示的示例性图像3200。可以使用训练图像3200来生成第一训练集。第一训练集还可以包括存在开门状态(和/或部分开门状态)的指示。第一训练集可以被提供给训练算法3106以用于训练。作为另一示例,图33示出了另一示例性图像3300,其包括完全(或基本上完全)打开但被人(例如行人)部分遮挡的交通工具门的表示。可以使用图像3300来生成第二训练集。第二训练集也可以包括存在开门状态(和/或完全开门状态)的指示。第二训练集可以被提供给训练算法3106以用于训练。作为又一示例,图34示出了包括具有部分打开的门的卡车(所述门被人部分遮挡)的表示的示例性图像3400。如图34中所示,卡车的航向方向不同于摄像机方向(其类似于主交通工具的航向方向)。在给定卡车的取向并且门在图像中与卡车的其它部分“合并”的情况下,门的打开状态可能难以从图像3400中检测到。可以使用图像3400来生成第三训练集。类似地,第三训练集可以包括存在开门状态(和/或部分开门状态)的指示。可以将第三训练集提供给训练算法3106以用于训练。
在按照本公开并且关于目标交通工具的一些实施例中,训练数据3104还可以包括关于目标交通工具的类型、构造和型号的信息。本公开不限于任何形式的训练数据或训练算法以及用于生成要被使用的训练数据的各种其它手段。在一些实施例中,导航系统可以基于所生成的输出中的两个或更多个来确定目标对象的运动的指示符(例如,速度、加速度或航向),并且可以进一步基于从与主交通工具相关联的至少一个自我运动传感器接收到的输出,或者从主交通工具输出的雷达和/或激光雷达接收到的输出。
为了便于说明而提供以上描述。它不是详尽的,并且不是局限于所公开的精确形式或实施例。修改和适配将是本领域的技术人员通过思考本说明书以及实施所公开实施例清楚知道的。另外,虽然所公开实施例的方面被描述为被存储在存储器中,但是本领域的技术人员将会理解,这些方面也能够被存储在其它类型的计算机可读介质上,例如,辅助存储装置,例如硬盘或CD ROM或者其它形式的RAM或ROM、USB介质、DVD、Blu-ray、4K Ultra HDBlu-ray或其它光学驱动器介质。
基于本书面描述和所公开方法的计算机程序属于有经验开发人员的技能。各种程序或程序模块能够使用本领域的技术人员已知的技术的任一种来创建,或者能够结合现有软件来设计。例如,程序段或程序模块能够通过或者借助于.Net Framework、.Net CompactFramework(以及相关语言,例如Visual Basic、C等)、Java、C++、Objective-C、HTML、HTML/AJAX组合、XML或者具有所包含Java小应用程序的HTML来设计。
此外,虽然本文已经描述说明性实施例,但是任何一个和全部实施例的范围具有等效元件、修改、省略、(例如跨各个实施例的方面的)组合、适配和/或变更,如本领域的技术人员基于本公开会理解。权利要求中的限制将基于权利要求中采用的语言来广义地解释,而并不局限于本说明书中或者本申请进行期间所述的示例。示例将被理解为非排它的。此外,所公开方法的步骤可按照任何方式来修改,包括通过对步骤重排序和/或插入或删除步骤。因此,预计本说明书和示例被理解为只是说明性的,其中真实范围和精神通过以下权利要求及其等效体的全范围所指示。
Claims (27)
1.一种用于导航主交通工具的系统,所述系统包括:
至少一个处理器,所述至少一个处理器包括电路和存储器,其中所述存储器包括指令,所述指令在被执行时使所述至少一个处理器:
接收由与所述主交通工具相关联的图像捕获装置获取的图像帧,其中所述图像帧表示所述主交通工具的环境;
在所述图像帧中标识目标交通工具的表示;
确定与所述目标交通工具相关联的一个或多个取向指示符;
基于所确定的一个或多个取向指示符,标识所获取的图像帧的至少一个候选区域,其中预期所述目标交通工具的交通工具门的表示处于开门状态;
从所述图像帧中提取所述至少一个候选区域;
将所提取的至少一个候选区域提供给开门检测网络;
响应于来自所述开门检测网络的指示来确定所述主交通工具的至少一个导航动作,所述指示是所提取的至少一个候选区域包括所述目标交通工具的处于打开状态的门的表示;以及
使与所述主交通工具相关联的一个或多个致动器实现所述至少一个导航动作。
2.如权利要求1所述的系统,其中,所述导航动作包括改变所述主交通工具的转向方向。
3.如权利要求1所述的系统,其中,所述导航动作包括使所述主交通工具制动或减速。
4.如权利要求1所述的系统,其中,所述导航动作包括维持所述主交通工具的当前航向和速度。
5.如权利要求4所述的系统,其中,如果所述主交通工具和所述目标交通工具的检测到的打开的门之间的接触的预测时间大于阈值时间,则实现所述导航动作,包括维持所述主交通工具的当前航向和速度。
6.如权利要求4所述的系统,其中,如果所述主交通工具与所述目标交通工具的检测到的打开的门之间的距离大于阈值距离,则实现所述导航动作,包括维持所述主交通工具的当前航向和速度。
7.如权利要求1所述的系统,其中,所述存储器包括指令,所述指令在被执行时使所述至少一个处理器:将所述目标交通工具的所述检测到的打开的门的位置与所述主交通工具的计划轨迹进行比较,并基于所述比较来确定所述至少一个导航动作。
8.如权利要求1所述的系统,其中,所述开门检测网络是经训练神经网络。
9.如权利要求1所述的系统,其中,所述开门检测网络被配置成输出相对于所述目标交通工具的检测到的打开的门的距离的指示符。
10.如权利要求1所述的系统,其中,与所述目标交通工具相关联的所述一个或多个取向指示符指示所述目标交通工具的前侧的一部分在所述图像帧中被表示,并且其中,所述图像帧的所述至少一个候选区域包括位于所述目标交通工具的所述前侧的在所述图像帧中的表示的右边或左边的图像段。
11.如权利要求10所述的系统,其中,由所述开门检测网络对所述目标交通工具的门是否处于打开状态的确定至少部分基于在所述图像帧的所述至少一个候选区域中表示的外部门特征的标识。
12.如权利要求1所述的系统,其中,与所述目标交通工具相关联的所述一个或多个取向指示符指示所述目标交通工具的后侧的一部分在所述图像帧中被表示,并且其中,所述图像帧的所述至少一个候选区域包括位于所述目标交通工具的所述后侧的在所述图像帧中的表示的右边或左边的图像段。
13.如权利要求12所述的系统,其中,由所述开门检测网络对所述目标交通工具的门是否处于打开状态的确定至少部分基于在所述图像帧的所述至少一个候选区域中表示的内部门特征的标识。
14.如权利要求1所述的系统,其中,与所述目标交通工具相关联的所述一个或多个取向指示符指示所述目标交通工具的侧面的一部分在所述图像帧中被表示,并且其中,所述图像帧的所述至少一个候选区域包括至少部分在与所述目标交通工具的所述侧面的在所述图像帧中的表示相关联的图像包络内的图像段。
15.如权利要求14所述的系统,其中,由所述开门检测网络对所述目标交通工具的门是否处于打开状态的确定至少部分基于在所述图像帧的所述至少一个候选区域中表示的外部门特征的标识。
16.如权利要求1所述的系统,其中,通过与所述图像帧的位置相关联的至少四个坐标点来向所述开门检测网络标识所述至少一个候选区域。
17.如权利要求1所述的系统,其中,所述开门检测网络被配置成输出所述目标交通工具的门是否处于打开状态的分类。
18.如权利要求1所述的系统,其中,所述开门检测网络被配置成输出与所述目标交通工具的被确定为处于打开状态的门相关联的边界框。
19.如权利要求1所述的系统,其中,所述开门检测网络被配置成输出所述主交通工具的至少一部分与所述目标交通工具的被确定为处于打开状态的门之间的一个或多个距离坐标。
20.如权利要求1所述的系统,其中,所述开门检测网络被配置成输出所述目标交通工具的至少部分被交通工具主体遮挡的门是否处于打开状态的分类。
21.如权利要求1所述的系统,其中,所述开门检测网络被配置成输出所述目标交通工具的至少部分被行人遮挡的门是否处于打开状态的分类。
22.如权利要求1所述的系统,其中,所述目标交通工具的标识至少部分基于所述目标交通工具是否正在移动的确定。
23.如权利要求1所述的系统,其中,所述目标交通工具的标识至少部分基于所述主交通工具与所述目标交通工具之间的横向间距的确定。
24.如权利要求1所述的系统,其中,所述目标交通工具的标识至少部分基于所述主交通工具与所述目标交通工具之间的纵向间距的确定。
25.如权利要求1所述的系统,其中,所述开门检测网络被配置成对所提取的至少一个候选区域进行三次或更多次分析,并且在确定所述三次或更多次分析全部指示开门状态之后,输出所提取的至少一个候选区域包括所述目标交通工具的处于打开状态的门的表示的指示。
26.一种用于导航主交通工具的计算机实现的方法,所述计算机实现的方法包括:
接收由与所述主交通工具相关联的图像捕获装置获取的图像帧,其中所述图像帧表示所述主交通工具的环境;
在所述图像帧中标识目标交通工具的表示;
确定与所述目标交通工具相关联的一个或多个取向指示符;
基于所确定的一个或多个取向指示符,标识所获取的图像帧的至少一个候选区域,其中预期所述目标交通工具的交通工具门的表示处于开门状态;
从所述图像帧中提取所述至少一个候选区域;
将所提取的至少一个候选区域提供给开门检测网络;
响应于来自所述开门检测网络的指示来确定所述主交通工具的至少一个导航动作,所述指示是所提取的至少一个候选区域包括所述目标交通工具的处于打开状态的门的表示;以及
使与所述主交通工具相关联的一个或多个致动器实现所述至少一个导航动作。
27.一种存储指令的非暂时性计算机可读介质,所述指令在由至少一个处理器执行时使所述至少一个处理器执行操作,所述操作包括:
接收由与主交通工具相关联的图像捕获装置获取的图像帧,其中所述图像帧表示所述主交通工具的环境;
在所述图像帧中标识目标交通工具的表示;
确定与所述目标交通工具相关联的一个或多个取向指示符;
基于所确定的一个或多个取向指示符,标识所获取的图像帧的至少一个候选区域,其中预期所述目标交通工具的交通工具门的表示处于开门状态;
从所述图像帧中提取所述至少一个候选区域;
将所提取的至少一个候选区域提供给开门检测网络;
响应于来自所述开门检测网络的指示来确定所述主交通工具的至少一个导航动作,所述指示是所提取的至少一个候选区域包括所述目标交通工具的处于打开状态的门的表示;以及
使与所述主交通工具相关联的一个或多个致动器实现所述至少一个导航动作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063043390P | 2020-06-24 | 2020-06-24 | |
US63/043390 | 2020-06-24 | ||
PCT/US2021/038891 WO2021262976A1 (en) | 2020-06-24 | 2021-06-24 | Systems and methods for detecting an open door |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116783455A true CN116783455A (zh) | 2023-09-19 |
Family
ID=77051130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180011607.8A Pending CN116783455A (zh) | 2020-06-24 | 2021-06-24 | 用于检测打开的门的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220227373A1 (zh) |
JP (1) | JP2023532482A (zh) |
CN (1) | CN116783455A (zh) |
DE (1) | DE112021002680T5 (zh) |
WO (1) | WO2021262976A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7035712B2 (ja) * | 2018-03-29 | 2022-03-15 | トヨタ自動車株式会社 | 後方監視装置 |
US11520338B2 (en) * | 2020-02-27 | 2022-12-06 | Uatc, Llc | Systems and methods for vehicle spatial path sampling |
US11851060B2 (en) * | 2020-03-15 | 2023-12-26 | Ron Zass | Controlling vehicles in response to windows |
US12065172B2 (en) * | 2020-07-24 | 2024-08-20 | Autobrains Technologies Ltd | Open door predictor |
US11834065B2 (en) * | 2020-12-21 | 2023-12-05 | Argo AI | System, method, and computer program product for detecting road marking points from LiDAR data |
WO2023196288A1 (en) * | 2022-04-04 | 2023-10-12 | Mobileye Vision Technologies Ltd. | Detecting an open door using a sparse representation |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016130719A2 (en) * | 2015-02-10 | 2016-08-18 | Amnon Shashua | Sparse map for autonomous vehicle navigation |
WO2018005441A2 (en) * | 2016-06-27 | 2018-01-04 | Mobileye Vision Technologies Ltd. | Controlling host vehicle based on detected parked vehicle characteristics |
US11383676B2 (en) * | 2018-05-31 | 2022-07-12 | Shanghai Sensetime Intelligent Technology Co., Ltd | Vehicles, vehicle door unlocking control methods and apparatuses, and vehicle door unlocking systems |
CN110717365B (zh) * | 2018-07-13 | 2022-05-31 | 杭州海康威视数字技术股份有限公司 | 一种获取图片的方法及装置 |
US20200216064A1 (en) * | 2019-01-08 | 2020-07-09 | Aptiv Technologies Limited | Classifying perceived objects based on activity |
-
2021
- 2021-06-24 DE DE112021002680.1T patent/DE112021002680T5/de active Pending
- 2021-06-24 WO PCT/US2021/038891 patent/WO2021262976A1/en active Application Filing
- 2021-06-24 CN CN202180011607.8A patent/CN116783455A/zh active Pending
- 2021-06-24 JP JP2022580357A patent/JP2023532482A/ja active Pending
-
2022
- 2022-04-06 US US17/658,111 patent/US20220227373A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023532482A (ja) | 2023-07-28 |
WO2021262976A1 (en) | 2021-12-30 |
US20220227373A1 (en) | 2022-07-21 |
DE112021002680T5 (de) | 2023-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116026345B (zh) | 用于车辆导航的系统和方法 | |
JP2022535351A (ja) | 車両ナビゲーションのためのシステム及び方法 | |
CN115014383A (zh) | 用于车辆的导航系统和用于导航车辆的方法 | |
CN112654836A (zh) | 用于车辆导航的系统和方法 | |
JP2022553491A (ja) | 車両ナビゲーション用のシステムおよび方法 | |
CN116539052A (zh) | 用于车辆导航的系统、方法和装置 | |
CN113825979A (zh) | 用于基于图像分析的车辆导航的系统和方法 | |
CN117053812A (zh) | 使用电子地平线导航交通工具 | |
US20220227373A1 (en) | Systems and methods for detecting an open door | |
CN113490835A (zh) | 用于车辆导航的系统和方法 | |
CN117387614A (zh) | 用于动态道路几何形状建模与导航的系统和方法 | |
CN117355871A (zh) | 多帧图像分割 | |
CN116802461A (zh) | 用于基于地图的真实世界建模的系统和方法 | |
JP2023519940A (ja) | 車両をナビゲートするための制御ループ | |
CN114930123A (zh) | 用于检测交通灯的系统和方法 | |
CN117651668A (zh) | 用于监测车道标记质量的系统和方法 | |
US20230311863A1 (en) | Detecting an open door using a sparse representation | |
CN116601671A (zh) | 关于行人和确定交通工具自由空间的交通工具导航 | |
CN118265957A (zh) | 用于车辆导航的雷达-摄像头融合 | |
CN118435250A (zh) | 用于确定对象的位置的立体辅助网络 |
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 |