CN112801124B - 用于运载工具的方法和系统 - Google Patents
用于运载工具的方法和系统 Download PDFInfo
- Publication number
- CN112801124B CN112801124B CN202011269815.1A CN202011269815A CN112801124B CN 112801124 B CN112801124 B CN 112801124B CN 202011269815 A CN202011269815 A CN 202011269815A CN 112801124 B CN112801124 B CN 112801124B
- Authority
- CN
- China
- Prior art keywords
- points
- point
- semantic segmentation
- image
- modifying
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000011218 segmentation Effects 0.000 claims abstract description 73
- 238000001514 detection method Methods 0.000 claims abstract description 51
- 238000013528 artificial neural network Methods 0.000 claims abstract description 8
- 230000015654 memory Effects 0.000 claims description 29
- 238000013135 deep learning Methods 0.000 claims description 10
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 claims description 3
- 230000002708 enhancing effect Effects 0.000 claims 4
- 238000012545 processing Methods 0.000 abstract description 13
- 238000003709 image segmentation Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 37
- 230000004927 fusion Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 8
- 230000008447 perception Effects 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000005259 measurement Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 230000004807 localization Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 229910052799 carbon Inorganic materials 0.000 description 3
- 229910052698 phosphorus Inorganic materials 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 229910052757 nitrogen Inorganic materials 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000709691 Enterovirus E Species 0.000 description 1
- 235000014676 Phragmites communis Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000013067 intermediate product Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/08—Systems determining position data of a target for measuring distance only
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/86—Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
- G01S17/894—3D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo or light sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- B60W2420/408—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30256—Lane; Road marking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
Abstract
提供了用于改进将图像分割数据(例如,分割得分)与LiDAR点融合的用于对象检测的感知处理管道的技术。所公开的技术是使用接受点云和图像作为输入并且估计所有相关对象类的方向3D包围盒的架构来实现的。在实施例中,一种方法,包括:使用运载工具的一个或多个处理器,在时间上将三维点云即3D点云中的点与图像进行匹配;使用基于图像的神经网络,生成所述图像的语义数据;使用所述一个或多个处理器,利用所述语义数据修饰所述3D点云中的点;以及使用以经修饰的点作为输入的3D对象检测器,估计一个或多个对象的方向3D包围盒。
Description
技术领域
本说明书通常涉及运载工具的操作,并且具体涉及用于自动驾驶运载工具的感知管道。
背景技术
自动驾驶运载工具通常使用光检测和测距(LiDAR)传感器来生成二维(2D)或三维(3D)点云,其中使用针对3D点云而优化的深度学习技术来在感知管道中处理这些2D或3D点云,以检测并分类运载工具的操作环境中的对象。自动驾驶运载工具还使用多个照相机传感器来生成2D图像,其中使用针对图像而优化的深度学习技术来处理这些2D图像以检测并分类运载工具的操作环境中的对象。这些感知管道各自具有优点和缺点。照相机允许对边缘、颜色和照明的准确测量,由此使得能够在图像平面上进行分类和定位,但提供不准确的3D定位。LiDAR点云包含较少的语义信息,但提供高度准确的3D定位。然而,LiDAR数据是稀疏的,并且范围通常限制到50-100m。
发明内容
本申请提供一种方法,包括:使用运载工具的一个或多个处理器,在时间上将三维点云即3D点云中的点与图像进行匹配;使用基于图像的神经网络,生成所述图像的语义数据;使用所述一个或多个处理器,利用所述语义数据修饰所述3D点云中的点;以及使用以经修饰的点作为输入的3D对象检测器,估计一个或多个对象的方向3D包围盒。
本申请还提供一种系统,包括:运载工具的一个或多个处理器;以及存储器,其存储有指令,所述指令在由所述一个或多个处理器执行时,使得所述一个或多个处理器进行本申请的方法中的任何操作。
本申请还提供一种存储有指令的非暂时性计算机可读存储介质,所述指令在由一个或多个处理器执行时,使得所述一个或多个处理器进行本申请的方法中的任何操作。
附图说明
图1示出根据一个或多个实施例的具有自主能力的自主运载工具(AV)的示例。
图2示出根据一个或多个实施例的示例“云”计算环境。
图3示出根据一个或多个实施例的计算机系统。
图4示出根据一个或多个实施例的AV的示例架构。
图5示出根据一个或多个实施例的感知模块可以使用的输入和输出的示例。
图6示出根据一个或多个实施例的LiDAR系统的示例。
图7示出根据一个或多个实施例的操作中的LiDAR系统。
图8示出根据一个或多个实施例的LiDAR系统的操作的附加细节。
图9示出根据一个或多个实施例的规划模块的输入和输出之间的关系的框图。
图10示出根据一个或多个实施例的路径规划中所使用的有向图。
图11示出根据一个或多个实施例的控制模块的输入和输出的框图。
图12示出根据一个或多个实施例的控制器的输入、输出和组件的框图。
图13示出根据一个或多个实施例的、将LiDAR特征与语义点修饰融合以进行更准确的3D对象检测。
图14是根据一个或多个实施例的、用于将LiDAR特征与语义点修饰融合以进行更准确的3D对象检测的系统的框图。
图15是根据一个或多个实施例的点柱网络的框图。
图16是根据一个或多个实施例的、将LiDAR特征与语义点修饰融合以进行更准确的3D对象检测的处理的流程图。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,显而易见的是,本发明可以在没有这些具体细节的情况下实施。在其它实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本发明模糊。
在附图中,为了便于描述,显示了示意要素的具体安排或次序,例如表示设备、模块、指令块和数据要素的那些要素。然而,本领域技术人员应当理解,附图中示意要素的具体排序或安排并不意味着要求特定的处理顺序或序列、或处理过程的分离。此外,在附图中包含示意性要素并不意味着在所有实施例中都需要这种要素,也不意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。
此外,在附图中,连接要素、例如实线或虚线或箭头用于说明两个或两个以上其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意味着不能存在连接、关系或关联。换句话说,一些要素之间的连接、关系或关联未在附图中显示,以便不掩盖本发明。此外,为了便于说明,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接元件代表信号、数据或指令的通信,本领域技术人员应理解,该元件代表影响通信可能需要的一个或多个信号路径(例如,总线)。
现在将详细参考实施例,其示例在附图中示出。在下面的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以便不会不必要地掩盖实施例的方面。
下面描述的若干特征可以彼此独立地使用,也可以与其它特征的任何组合一起使用。但是,任何个别特征可能不能解决上述任何问题,或者只能解决上述问题之一。上文讨论的一些问题可能不能通过本文所述的任何一个特征得到充分解决。虽然提供了标题,但在本说明的其它地方也可以找到与某一标题有关但在该标题部分未找到的信息。本文根据以下概要描述实施例:
1.总体概述
2.系统概述
3.自主运载工具架构
4.自主运载工具输入
5.自主运载工具规划
6.自主运载工具控制
7.用于3D对象检测的序贯融合
总体概述
提供了用于改进用于对象检测的感知处理管道的技术,该感知处理管道将图像语义数据(例如,语义分割得分)与LiDAR点融合。所公开的技术是使用用于3D对象检测的序贯融合架构来实现的,该序贯融合架构接受LiDAR点云和照相机图像作为输入,并且估计所有相关对象类的方向3D包围盒(oriented 3D bounding box)。在实施例中,该架构包括三个主要阶段:1)语义分割阶段,其计算语义数据(例如,语义分割得分);2)融合阶段,其利用语义数据修饰LiDAR点;以及3)3D对象检测阶段,其中基于LiDAR的网络采用融合点云作为输入,并且估计所有类的方向3D包围盒。
在实施例中,各LiDAR点被投影到图像语义网络(ISN)的输出中,并且逐通道的激活与LiDAR点的位置坐标x、y、z和强度值i级联。在实施例中,这些经修饰的LiDAR点然后用在任何LiDAR检测方法中,该LiDAR检测方法包括但不限于任何鸟瞰图(BEV)或前视图检测方法,例如PointPillars、LaserNet、VoxelNet、SECOND和STD等。
在PointPillars:Fast Encoders for Object Detection from Point Clouds(arXiv:1812.05784v2[cs.LG],2019年5月7日)中描述了与至少一些实现一致的PointPillars。
在G.P.Meyer、A.Laddha、E.Kee、C.Vallespi-Gonzalez和C.K.Wellington的Lasernet:An efficient probabilistic 3d object detector for autonomous driving(Proceedings of the IEEE Conference on Computer Vision and PatternRecognition,第12677–12686页,2019)中描述了与至少一些实现一致的LaserNet。
在Y.Zhou和O.Tuzel的Voxelnet:End-to-end learning for 918 point cloudbased 3d object detection(CVPR,2018)中描述了与至少一些实现一致的VoxelNet。
在Y.Yan、Y.Mao和B.Li的SECOND:Sparsely embedded convolutional detection(Sensors,18(10),2018)中描述了与至少一些实现一致的SECOND。
在Z.Yang、Y.Sun、S.Liu、X.Shen和J.Jia的Std:Sparse-to-dense 3d objectdetector for point cloud(Proceedings of the IEEE International Conference onComputer Vision,第1951–1960页,2019)中描述了与至少一些实现一致的STD。
在实施例中,所提出的方法是序贯的而不是端对端的,这意味着ISN不是针对3D检测的最终任务所训练的。这表明在性能方面的次优性。然而,序贯方法具有多个优点:1)图像的语义分割具有很多用途,因此是有用的独立中间产品;以及2)在实时系统中,可以通过对图像和LiDAR网络进行管道化以使得利用来自先前图像的语义修饰LiDAR点,从而减少延迟。
系统概述
图1示出具有自主能力的自主运载工具100的示例。
如本文所使用的,术语“自主能力”是指一种功能、特征或设施,该功能、特征或设施使运载工具能够部分地或完全地运行,而无需实时的人类干预,包括但不限于完全自主运载工具、高度自主运载工具和有条件自主运载工具。
如本文所使用的,自主运载工具(AV)是一种具有自主能力的运载工具。
如本文所使用的,“运载工具”包括货物或人员的运输方式。例如,小汽车、公共汽车、火车、飞机、无人机、卡车、船只、舰艇、潜水器、飞船等。无人驾驶的小汽车是运载工具的示例。
如本文所使用的,“轨迹”是指将AV从第一时空地点操作到第二时空地点的路径或路线。在实施例中,第一时空地点被称为初始地点或起始地点,第二时空地点被称为目的地、最终地点、目标、目标位置或目标地点。在一些示例中,轨迹由一个或多个路段(例如,道路的数段)组成,并且各路段由一个或多个块(例如,车道或交叉口的一部分)组成。在实施例中,时空地点对应于真实世界地点。例如,时空地点是上车或下车地点,以使人员或货物上车或下车。
如本文所使用的,“(一个或多个)传感器”包括一个或多个硬件组件,用于检测与传感器周围环境有关的信息。一些硬件组件可包括感测组件(例如,图像传感器、生物测量传感器)、发送和/或接收组件(例如,激光或射频波发射器和接收器)、电子组件(例如,模数转换器)、数据存储装置(例如,RAM和/或非易失性存储器)、软件或固件组件和数据处理组件(例如,专用集成电路)、微处理器和/或微控制器。
如本文所使用的,“场景描述”是一种数据结构(例如,列表)或数据流,其包括由AV运载工具上的一个或多个传感器检测到的一个或多个分类或标记的对象,或由AV外部的源提供的一个或多个分类或标记的对象。
如本文所使用的,“道路”是一个可以被运载工具穿过的物理区域,并且可以对应于已命名的通道(例如,城市街道、州际高速公路等)或可对应于未命名的通道(例如,房屋或办公楼内的行车道、停车场的一段、空置停车场的一段、乡村地区的污物通道等)。因为有些运载工具(如四轮驱动的小卡车、越野车(SUV)等)能够穿越各种不特别适合运载工具行驶的物理区域,因此“道路”可以是任何市政当局或其它政府或行政机构没有正式界定为一条通道的物理区域。
如本文所使用的,“车道”是道路的可被运载工具穿过的部分,并且可对应于车道标记之间的大部分或全部空间,或仅对应于车道标记之间的部分空间(例如,小于50%)。例如,具有相距很远的车道标记的道路可能容纳两个或两个以上的运载工具,使得一个运载工具可以在不穿过车道标记的情况下超过另一个运载工具,因此可被解释为车道比车道标记之间的空间窄,或车道之间有两个车道。在没有车道标记的情况下,也可以对车道进行解释。例如,可以基于环境的物理特征(例如,农村地区的岩石和沿着大道的树木)来定义车道。
“一个或多个”包括由一个要素执行的功能,由多个要素执行的功能、例如以分布式的方式,由一个要素执行的几个功能,由几个要素执行的几个功能,或上述的任意组合。
还将理解的是,尽管在某些情况下,术语“第一”、“第二”等是用来描述各种要素的,但这些要素不应受到这些术语的限制。这些术语仅用于区分一个要素与另一个要素。例如,在未背离各种所述实施例的范围的情况下,第一触点可被称为第二触点,并且同样,第二触点可被称为第一触点。第一触点和第二触点都是触点,但这两者不是相同触点。
此处描述的各种实施例的描述中使用的术语仅用于描述特定实施例,而不是意在限制。正如在所描述的各种实施例和所附权利要求书的描述中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,除非上下文另有明确说明。还应理解,本文所用的"和/或"一词是指并且包括一个或多个相关清单项目的任何和所有可能的组合。还应理解的是,在本说明中使用的术语“包括”、“包含”、“具备”和/或“具有”具体说明存在所述的特征、整数、步骤、操作、要素和/或组成部分,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组成部分、和/或上述的组。
如本文所使用的,“如果”一词可选择地理解为在该情况下、在当时、或者响应于检测到、或响应于确定为,视上下文而定。同样,“如果已确定”或“如果[所述条件或事件]已被检测到”这一短语,视情境而定,可以理解为“在确定时”或“响应于确定为“或”在检测到[所述条件或事件]时”或“响应于检测到[所述条件或事件]”。
如本文所使用的,AV系统是指AV以及实时生成的支持AV操作的硬件、软件、存储的数据和实时生成的支持AV运作的数据。在实施例中,AV系统并入在AV内。在实施例中,AV系统跨多个地点分布。例如,AV系统的一些软件是在类似于下面结合图3描述的云计算环境300的云计算环境中实现的。
一般而言,本文件描述了适用于任何具有一种或多种自主能力的运载工具的技术,包括完全自主运载工具、高度自主运载工具和有条件自主运载工具,如所谓的第5级、第4级和第3级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义,通过引用将其全部内容纳入本说明,以了解运载工具自主权等级的更多详细信息)。本说明所述技术也适用于部分自主运载工具和驾驶员辅助运载工具,如所谓的2级和1级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义)。在实施例中,一个或多个1级、2级、3级、4级和5级运载工具系统可根据对传感器输入的处理,在某些操作条件下自动执行某些运载工具操作(例如,转向、制动和使用地图)。本文件中所述的技术可以使从完全自主运载工具到人类操作的运载工具的各级运载工具受益。
参考图1,AV系统120操作AV 100沿着轨迹198运行,穿过环境190至目的地199(有时称为最终地点),同时避开对象(例如,自然障碍物191、运载工具193、行人192、骑车者和其它障碍物)和遵守道路规则(例如,操作规则或驾驶偏好)。
在实施例中,AV系统120包括用于从计算机处理器146接收操作命令并对进行操作的装置101。在实施例中,计算处理器146与下面参考图3描述的处理器304相似。装置101的示例包括转向控制器102、制动器103、挡位、加速踏板或其它加速控制机构、挡风玻璃雨刮器、侧门锁、窗控器和转向指示器。
在实施例中,AV系统120包括用于测量或推断AV 100的状态或条件的属性的传感器121,这些属性例如是AV的位置、线速度和加速度、角速度和加速度、以及航向(例如,AV100的前端的方向)。传感器121的示例是GNSS、以及测量运载工具线性加速度和角速率的惯性测量单元(IMU)、用于测量或估计车轮滑移率的车轮速率传感器、车轮制动压力或制动扭矩传感器、引擎扭矩或车轮扭矩传感器以及转向角度和角速率传感器。
在实施例中,传感器121还包括用于感测或测量AV的环境的属性的传感器。例如,可见光、红外或热(或两者兼有)光谱的单目或立体摄像机122、LiDAR 123、RADAR、超声波传感器、飞行时间(TOF)深度传感器、速率传感器、温度传感器、湿度传感器和降水传感器。
在实施例中,AV系统120包括数据存储单元142和存储器144,用于存储与计算机处理器146或由传感器121收集的数据相关联的机器指令。在实施例中,数据存储单元142与以下结合图3描述的ROM 308或存储装置310类似。在实施例中,存储器144与下面描述的主存储器306类似。在实施例中,数据存储单元142和存储器144存储有关环境190的历史、实时和/或预测性信息。在实施例中,存储的信息包括地图、驾驶性能、交通拥堵更新或天气条件。在实施例中,与环境190有关的数据通过来自远程数据库134的通信通道传输到AV 100。
在实施例中,AV系统120包括通信装置140,用于将对其它运载工具的状态和条件(诸如位置、线性和角速度、线性和角加速度以及线性和角航向等)的测量到或推断的属性传送到AV 100。这些装置包括运载工具到运载工具(V2V)和运载工具到基础设施(V2I)通信装置以及用于通过点对点或自组织(ad hoc)网络或两者兼而有之进行无线通信的装置。在实施例中,通信装置140跨电磁频谱(包括无线电和光通信)或其它介质(例如,空气和声学介质)进行通信。运载工具对运载工具(V2V)、运载工具对基础设施(V2I)通信(以及在一些实施例中为一种或多种其它类型的通信)的组合有时被称为运载工具对所有事物(V2X)通信。V2X通信通常符合一个或多个通信标准,用于与自主运载工具进行的和在自主运载工具之间的通信。
在实施例中,通信装置140包括通信接口。例如,有线、无线、WiMAX、Wi-Fi、蓝牙、卫星、蜂窝、光、近场、红外或无线电接口。通信接口将数据从远程数据库134传输到AV系统120。在实施例中,远程数据库134嵌入云计算环境200中,如图2中所述。通信接口140将从传感器121收集的数据或与AV 100操作有关的其它数据传输到远程数据库134。在实施例中,通信接口140向AV 100传输与远程操作有关的信息。在一些实施例中,AV 100与其它远程(例如,“云”)服务器136通信。
在实施例中,远程数据库134还存储和传输数字数据(例如,存储道路和街道地点等的数据)。这些数据存储在AV 100上的存储器144中,或者通过通信通道从远程数据库134传输到AV 100。
在实施例中,远程数据库134存储和传输与以前在一天中类似时间沿着轨迹198行驶的运载工具的驾驶属性有关的历史信息(例如,速率和加速率分布)。在一个实现中,这种数据可以存储在AV 100上的存储器144中,或者通过通信通道从远程数据库134传输到AV100。
位于AV 100上的计算装置146基于实时传感器数据和先验信息以算法方式生成控制动作,使得AV系统120能够执行其自主驾驶能力。
在实施例中,AV系统120包括连接到计算装置146的计算机外围设备132,用于向AV100的用户(例如,乘员或远程用户)提供信息和提醒并接收来自该用户的输入。在实施例中,外围设备132类似于下面参考图3讨论的显示器312、输入装置314和光标控制器316。连接是无线的或有线的。任意两个或更多的接口设备可以集成到单个设备中。
示例云计算环境
图2例示示例“云”计算环境。云计算是一种服务交付模式,可以方便、按需地在网络上访问共享的可配置计算资源池(例如网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务)。在典型的云计算系统中,一个或多个大型云数据中心容纳用于递送云所提供的服务的机器。现在参考图2,云计算环境200包括通过云202互连的云数据中心204a、204b和204c。数据中心204a、204b和204c为连接到云202的计算机系统206a、206b、206c、206d、206e和206f提供云计算服务。
云计算环境200包括一个或多个云数据中心。通常,云数据中心(例如图2中所示的云数据中心204a)是指构成云(例如图2中所示的云202或云的特定部分)的服务器的物理排列。例如,服务器在云数据中心中物理排列成房间、组、行和机架。云数据中心有一个或多个区域,其中包括一个或多个服务器房间。每个房间有一行或多行服务器,每行都包括一个或多个机架。每个机架包括一个或多个单独的服务器节点。在一些实现中,区域、房间、机架和/或行中的服务器根据数据中心设施的物理基础设施要求(包括电力、能源、热力、热源和/或其它要求)分为若干组。在实施例中,服务器节点类似于图3中描述的计算机系统。数据中心204a具有许多分布在多个机架上的计算系统。
云202包括云数据中心204a、204b和204c以及用于连接云数据中心204a、204b和204c并有助于促进计算系统206a-f对云计算服务的访问的网络和网络资源(例如,网络设备、节点、路由器、交换机和网络电缆)。在实施例中,该网络表示一个或多个本地网络、广域网或通过使用地面或卫星连接部署的有线或无线链路连接的网际网络的任意组合。通过网络交换的数据采用多种网络层协议(如Internet协议(IP)、多协议标签交换(MPLS)、异步传输模式(ATM)、帧中继(FrameRelay)等)进行传输。此外,在网络代表多个子网络的组合的实施例中,在每个底层子网络上使用不同的网络层协议。在一些实施例中,网络代表一个或多个互连网际网络(例如公共互联网等)。
计算系统206a-f或云计算服务消费者通过网络链路和网络适配器连接到云202。在实施例中,计算系统206a-f被实现为各种计算装置,例如服务器、台式机、膝上型计算机、平板电脑、智能手机、物联网(IoT)设备、自主运载工具(包括小汽车、无人机、航天飞机、火车、公共汽车等)和消费电子产品。在实施例中,计算系统206a-f在其它系统中实现或作为其它系统的一部分实现。
计算机系统
图3例示计算机系统300。在实现中,计算机系统300是一种专用计算装置。专用计算装置被硬连线以执行这些技术,或包括诸如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)等的被持久编程为进行上述技术的数字电子装置,或可包括一个或多个通用硬件处理器,这些硬件处理器经编程以根据固件、存储器、其它存储器、或者组合中的程序指令执行这些技术。这种专用的计算装置还可以将定制的硬线逻辑、ASIC或FPGA与定制的编程相结合来完成这些技术。在各种实施例中,专用计算装置是台式计算机系统、便携式计算机系统、手持设备、网络设备或包含硬线和/或程序逻辑以实现这些技术的任何其它设备。
在实施例中,计算机系统300包括总线302或用于通信信息的其它通信机制、以及与总线302连接以处理信息的硬件处理器304。硬件处理器304是例如通用微处理器。计算机系统300还包括主存储器306,例如随机存取存储器(RAM)或其它动态存储装置,连接到总线302以存储信息和指令,该信息和指令由处理器304执行。在一个实现中,主存储器306用于在执行要由处理器304执行的指令期间存储临时变量或其它中间信息。当这些指令存储在处理器304可访问的非暂时性存储介质中时,使计算机系统300变成一个专用机器,该机器被定制以执行指令中指定的操作。
在实施例中,计算机系统300还包括只读存储器(ROM)308或连接到总线302的其它静态存储装置,用于存储处理器304的静态信息和指令。提供诸如磁盘、光盘、固态驱动器或三维交叉点存储器等的存储装置310,并连接到总线302以存储信息和指令。
在实施例中,计算机系统300通过总线302连接到诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、发光二极管(LED)显示器或用于向计算机用户显示信息的有机发光二极管(OLED)显示器等的显示器312。包括字母数字键和其它键的输入装置314连接到总线302,用于向处理器304传送信息和命令选择。另一种类型的用户输入装置是光标控制器316,例如鼠标、轨迹球、触控显示器或光标方向键,用于将方向信息和命令选择传送到处理器304,并用于控制光标在显示器312上的移动。这种输入装置通常具有两个轴线上的两个自由度,第一轴线(例如,x轴)和第二轴线(例如,y轴),这两个轴线允许装置指定平面上的位置。
根据一个实施例,这里的技术由计算机系统300执行,以响应处理器304执行主存储器306中包含的一个或多个指令的一个或多个序列。这些指令从诸如存储装置310等的另一存储介质读入主存储器306。执行主存储器306中包含的指令序列使处理器304执行本文所述的处理步骤。在替代实施例中,使用硬连线电路代替或与软件指令结合使用。
此处使用的术语“存储介质”是指存储数据和/或指令的任何非暂时性介质,这些数据和/或指令使机器以特定方式运行。这种存储介质包括非易失性介质和/或易失性介质。非易失性介质例如包括诸如存储装置310等的光盘、磁盘、固态驱动器或三维交叉点存储器。易失性介质包括动态存储器,诸如主存储器306等。存储介质的常见形式包括例如软盘、软盘、硬盘、固态驱动器、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光数据存储介质、任何具有孔型的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NV-RAM、或任何其它存储芯片或存储盒。
存储介质有别于传输介质,但可以与传输介质相结合使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,其包括具备总线302的电线。传输介质也可以采取声波或光波的形式,如在无线电波和红外数据通信过程中产生的声波或光波。
在实施例中,各种形式的介质涉及向处理器304携带一个或多个指令序列以供执行。例如,这些指令最初是在远程计算机的磁盘或固态驱动器上执行的。远程计算机将指令加载到其动态存储器中,并使用调制解调器通过电话线路发送指令。计算机系统300的本地调制解调器接收电话线路上的数据,并使用红外发射机将数据转换为红外信号。红外检测器接收红外信号中携带的数据,并且适当的电路将数据放置在总线302上。总线302将数据承载到主存储器306,处理器304从主存储器306检索并执行指令。主存储器306接收的指令可以可选地在处理器304执行之前或之后存储在存储装置310上。
计算机系统300还包括连接到总线302的通信接口318。通信接口318提供耦合到连接至本地网络322的网络链路320多双向数据通信。例如,通信接口318是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或用以提供与相应类型电话线路的数据通信连接的调制解调器。作为另一示例,通信接口318是局域网(LAN)卡,用于提供与兼容LAN的数据通信连接。在一些实现中,无线链路也被实现。在任何这种实现中,通信接口318发送和接收承载代表各种信息的数字数据流的电、电磁或光信号。
网络链路320通常通过一个或多个网络向其它数据装置提供数据通信。例如,网络链路320通过本地网络322提供与主计算机324或与由因特网服务提供商(ISP)326运营的云数据中心或设备的连接。ISP 326又通过现在通常称为“因特网”的世界范围分组数据通信网络来提供数据通信服务。本地网络322和因特网328都使用携带数字数据流的电、电磁或光信号。通过各种网络的信号以及网络链路320上并通过通信接口318的信号是传输介质的示例形式,其中通信接口318承载了进出计算机系统300的数字数据。在实施例中,网络320包含上述云202或云202的一部分。
计算机系统300通过(一个或多个)网络、网络链路320和通信接口318发送消息和接收包括程序代码的数据。在实施例中,计算机系统300接收用于处理的代码。接收到的代码在接收到时由处理器304执行,和/或存储在存储装置310中,或存储在其它非易失性存储装置中以便以后执行。
自主运载工具架构
图4示出用于自主运载工具(例如,图1所示的AV 100)的示例架构400。架构400包括感知模块402(有时称为感知电路)、规划模块404(有时称为规划电路)、控制模块406(有时称为控制电路)、定位模块408(有时称为定位电路)和数据库模块410(有时称为数据库电路)。各模块在AV 100的操作中发挥作用。共同地,模块402、404、406、408和410可以是图1所示的AV系统120的一部分。在一些实施例中,模块402、404、406、408和410中的任何模块是计算机软件(例如,计算机可读介质上所存储的可执行代码)和计算机硬件(例如,一个或多个微处理器、微控制器、专用集成电路[ASIC]、硬件存储器装置、其它类型的集成电路、其它类型的计算机硬件、或者这些硬件中的任何或所有的组合)的组合。
在使用中,规划模块404接收表示目的地412的数据,并且确定表示AV100为了到达(例如,抵达)目的地412而可以行驶的轨迹414(有时称为路线)的数据。为了使规划模块404确定表示轨迹414的数据,规划模块404从感知模块402、定位模块408和数据库模块410接收数据。
感知模块402使用例如也如图1所示的一个或多个传感器121来识别附近的物理对象。将对象分类(例如,分组成诸如行人、自行车、汽车、交通标志等的类型),并且将包括经分类的对象416的场景描述提供至规划模块404。
规划模块404还从定位模块408接收表示AV位置418的数据。定位模块408通过使用来自传感器121的数据和来自数据库模块410的数据(例如,地理数据)以计算位置来确定AV位置。例如,定位模块408使用来自GNSS(全球导航卫星系统)传感器的数据和地理数据来计算AV的经度和纬度。在实施例中,定位模块408所使用的数据包括具有行车道几何属性的高精度地图、描述道路网络连接属性的地图、描述行车道物理属性(诸如交通速率、交通量、运载工具和自行车车道的数量、车道宽度、车道交通方向、或车道标记类型和地点,或者它们的组合)的地图、以及描述道路特征(诸如十字路口、交通标志或各种类型的其它行驶信号等)的空间地点的地图。
控制模块406接收表示轨迹414的数据和表示AV位置418的数据,并且以将使得AV100行驶轨迹414到达目的地412的方式来操作AV的控制功能420a~420c(例如,转向、油门、制动、点火)。例如,如果轨迹414包括左转,则控制模块406将以如下方式操作控制功能420a~420c:转向功能的转向角度将使得AV 100左转,并且油门和制动将使得AV 100在进行转弯之前暂停并等待经过的行人或运载工具。
自主运载工具输入
图5示出感知模块402(图4)所使用的输入502a-502d(例如,图1中所示的传感器121)和输出504a-504d(例如,传感器数据)的示例。一个输入502a是LiDAR(光检测和测距)系统(例如,图1所示的LiDAR 123)。LiDAR是使用光(例如,诸如红外光等的一道光)来获得与其视线中的物理对象有关的数据的技术。LiDAR系统产生LiDAR数据作为输出504a。例如,LiDAR数据是用于构造环境190的表现的3D或2D点(也称为点云)的集合。
另一输入502b是RADAR(雷达)系统。RADAR是使用无线电波来获得与附近的物理对象有关的数据的技术。RADAR可以获得与不在LiDAR系统的视线内的对象有关的数据。RADAR系统502b产生RADAR数据作为输出504b。例如,RADAR数据是用于构造环境190的表现的一个或多个射频电磁信号。
另一输入502c是照相机系统。照相机系统使用一个或多个照相机(例如,使用诸如电荷耦合器件[CCD]等的光传感器的数字照相机)来获取与附近的物理对象有关的信息。照相机系统产生照相机数据作为输出504c。照相机数据通常采用图像数据的形式(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)。在一些示例中,照相机系统具有例如为了立体影像(立体视觉)的目的的多个独立照相机,这使得照相机系统能够感知深度。尽管照相机系统所感知的对象在这里被描述为“附近”,但这是相对于AV而言的。在使用中,照相机系统可被配置为“看见”远处的(例如,AV前方的远至1公里以上的)对象。因此,照相机系统可以具有为了感知遥远的对象而优化的诸如传感器和透镜等的特征。
另一输入502d是交通灯检测(TLD)系统。TLD系统使用一个或多个照相机来获得与交通灯、街道标志和提供视觉操作信息的其它物理对象有关的信息。TLD系统产生TLD数据作为输出504d。TLD数据经常采用图像数据的形式(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)。TLD系统与包含照相机的系统的不同之处在于:TLD系统使用具有宽视场(例如,使用广角镜头或鱼眼镜头)的照相机,以获得与尽可能多的提供视觉操作信息的物理对象有关的信息,使得AV 100有权访问这些对象所提供的所有相关操作信息。例如,TLD系统的视角可以为约120度以上。
在一些实施例中,使用传感器融合技术来组合输出504a-504d。因而,将个体输出504a-504d提供至AV 100的其它系统(例如,提供至如图4所示的规划模块404),或者采用相同类型(例如,使用相同组合技术或组合相同输出或者这两者)或不同类型(例如,使用不同的各个组合技术或组合不同的各个输出或者这两者)的单个组合输出或多个组合输出的形式,可以将组合输出提供至其它系统。在一些实施例中,使用早期融合技术。早期融合技术的特征在于:将输出组合,之后将一个或多个数据处理步骤应用到组合输出。在一些实施例中,使用后期融合技术。后期融合技术的特征在于:在将一个或多个数据处理步骤应用到个体输出之后,将进行输出的组合。
图6示出LiDAR系统602的示例(例如,图5所示的输入502a)。LiDAR系统602从发光器606(例如,激光发射器)发射光604a-604c。LiDAR系统所发射的光通常不在可见光谱中;例如,经常使用红外光。所发射的光604b中的一些光遇到物理对象608(例如,运载工具)并且反射回到LiDAR系统602。(从LiDAR系统发射的光通常不会穿透物理对象,例如,实心形式的物理对象。)LiDAR系统602还具有用于检测反射光的一个或多个光检测器610。在实施例中,与LiDAR系统相关联的一个或多个数据处理系统生成表示LiDAR系统的视场614的图像612。图像612包括表示物理对象608的边界616的信息。这样,图像612用于确定AV附近的一个或多个物理对象的边界616。
图7示出操作中的LiDAR系统602。在该图所示的情境中,AV 100接收采用图像702的形式的照相机系统输出504c和采用LiDAR数据点704的形式的LiDAR系统输出504a。在使用中,AV 100的数据处理系统将图像702与数据点704进行比较。特别地,在数据点704中也识别出在图像702中识别出的物理对象706。这样,AV 100基于数据点704的轮廓和密度来感知物理对象的边界。
图8示出LiDAR系统602的操作的附加细节。如上所述,AV 100基于LiDAR系统602所检测到的数据点的特性来检测物理对象的边界。如图8所示,诸如地面802等的平坦对象将以一致的方式反射从LiDAR系统602发射的光804a-804d。换句话说,由于LiDAR系统602使用一致的间隔发射光,因此地面802将以相同的一致间隔将光反射回到LiDAR系统602。在AV100在地面802上行驶时,在没有东西阻挡道路的情况下,LiDAR系统602将继续检测到由下一个有效地面点806反射的光。然而,如果对象808阻挡道路,则LiDAR系统602所发射的光804e-804f将以不符合预期一致方式的方式从点810a-810b反射。根据该信息,AV 100可以确定为存在对象808。
路径规划
图9示出(例如,如图4所示的)规划模块404的输入和输出之间的关系的框图900。通常,规划模块404的输出是从起点904(例如,源地点或初始地点)到终点906(例如,目的地或最终地点)的路线902。路线902通常由一个或多个路段定义。例如,路段是指要行驶经过街道、道路、公路、行车道或适合汽车行驶的其它物理区域的至少一部分的距离。在一些示例中,例如,如果AV 100是诸如四轮驱动(4WD)或全轮驱动(AWD)小汽车、SUV或小型卡车等的越野运载工具,则路线902包括诸如未铺面道路或开阔田野等的“越野”路段。
除路线902之外,规划模块还输出车道级路线规划数据908。车道级路线规划数据908用于在特定时间基于路线902的路段的条件来驶过这些路段。例如,如果路线902包括多车道公路,则车道级路线规划数据908包括轨迹规划数据910,其中AV 100可以使用该轨迹规划数据910以例如基于出口是否临近、多个车道中的一个以上的车道是否存在其它运载工具、或者在几分钟或更少时间的过程中变化的其它因素,来从这多个车道中选择某车道。同样地,在一些实现中,车道级路线规划数据908包括路线902的某路段特有的速率约束912。例如,如果该路段包括行人或非预期交通,则速率约束912可以将AV 100限制到比预期速率慢的行驶速率,例如基于该路段的限速数据的速率。
在实施例中,向规划模块404的输入包括(例如,来自图4所示的数据库模块410的)数据库数据914、当前地点数据916(例如,图4所示的AV位置418)、(例如,用于图4所示的目的地412的)目的地数据918和对象数据920(例如,如图4所示的感知模块402所感知的经分类的对象416)。在一些实施例中,数据库数据914包括规划时所使用的规则。规则是使用形式语言(例如,使用布尔逻辑)指定的。在AV 100所遇到的任何给定情形中,这些规则中的至少一些规则将适用于该情形。如果规则具有基于AV 100可用的信息(例如,与周围环境有关的信息)所满足的条件,则该规则适用于给定情形。规则可以具有优先级。例如,“如果公路是高速公路,则移动到最左侧车道”这一规则与“如果出口在一英里内临近,则移动到最右侧车道”相比可以具有更低的优先级。
图10示出在路径规划中(例如,由规划模块404(图4))使用的有向图1000。通常,如图10所示的有向图那样的有向图1000用于确定任何起点1002和终点1004之间的路径。在现实世界中,分隔起点1002和终点1004的距离可能相对较大(例如,在两个不同的都市区域中),或者可能相对较小(例如,毗邻城市街区的两个十字路口或多车道道路的两条车道)。
在实施例中,有向图1000具有表示起点1002和终点1004之间的AV 100可能占用的不同地点的节点1006a-1006d。在一些示例中,例如,在起点1002和终点1004表示不同的都市区域时,节点1006a-1006d表示道路的路段。在一些示例中,例如,在起点1002和终点1004表示相同道路上的不同地点时,节点1006a-1006d表示该道路上的不同位置。这样,有向图1000包括不同粒度级别的信息。在实施例中,具有高粒度的有向图也是具有更大规模的另一有向图的子图。例如,起点1002和终点1004相距远(例如,相距许多英里)的有向图的大部分信息处于低粒度,并且该有向图是基于所存储的数据,但该有向图还包括供该有向图中的表示AV 100的视场中的物理地点的一部分用的一些高粒度信息。
节点1006a-1006d不同于无法与节点重叠的对象1008a-1008b。在实施例中,在粒度低时,对象1008a-1008b表示汽车不能驶过的地区,例如无街道或道路的区域。在粒度高时,对象1008a-1008b表示AV 100的视场中的物理对象,例如其它汽车、行人、或AV 100不能与之共用物理空间的其它实体。在实施例中,对象1008a-1008b的一部分或全部是静态对象(例如,不改变位置的对象,诸如街灯或电线杆等)或动态对象(例如,能够改变位置的对象,诸如行人或其它小汽车等)。
节点1006a-1006d通过边缘1010a-1010c连接。如果两个节点1006a-1006b通过边缘1010a连接,则AV 100可以在一个节点1006a和另一节点1006b之间行驶,例如,而不必在到达另一节点1006b之前行驶到中间节点。(当提到AV100在节点之间行驶时,意味着AV 100在由相应节点表示的两个物理位置之间行驶。)边缘1010a-1010c通常是双向的,从某种意义上,AV 100从第一节点行驶到第二节点,或者从第二节点行驶到第一节点。在实施例中,边缘1010a-1010c是单向的,从某种意义上,AV 100可以从第一节点行驶到第二节点,然而AV 100不能从第二节点行驶到第一节点。在边缘1010a-1010c表示例如单向街道、街道、道路或公路的单独车道、或者由于法律或物理约束因而仅能沿一个方向驶过的其它特征的情况下,边缘1010a-1010c是单向的。
在实施例中,规划模块404使用有向图1000来识别由起点1002和终点1004之间的节点和边缘组成的路径1012。
边缘1010a-1010c具有关联成本1014a-1014b。成本1014a-1014b是表示在AV 100选择该边缘的情况下将花费的资源的值。典型的资源是时间。例如,如果一个边缘1010a所表示的物理距离是另一边缘1010b所表示的物理距离的两倍,则第一边缘1010a的关联成本1014a可以是第二边缘1010b的关联成本1014b的两倍。影响时间的其它因素包括预期交通、十字路口的数量、限速等。另一典型的资源是燃料经济性。两个边缘1010a-1010b可以表示相同的物理距离,但例如由于道路条件、预期天气等,因此一个边缘1010a与另一边缘1010b相比需要更多的燃料。
在规划模块404识别起点1002和终点1004之间的路径1012时,规划模块404通常选择针对成本优化的路径,例如,在将边缘的各个成本相加到一起时具有最小总成本的路径。
自主运载工具控制
图11示出(例如,如图4所示的)控制模块406的输入和输出的框图1100。控制模块根据控制器1102而工作,该控制器1102例如包括:与处理器304类似的一个或多个处理器(例如,诸如微处理器或微控制器或这两者等的一个或多个计算机处理器);与主存储器306、ROM 308和存储装置310类似的短期和/或长期数据存储装置(例如,存储器随机存取存储器或闪速存储器或这两者);以及存储器中所存储的指令,这些指令在(例如,由一个或多个处理器)执行时执行控制器1102的操作。
在实施例中,控制器1102接收表示期望输出1104的数据。期望输出1104通常包括速度,例如速率和航向。期望输出1104例如可以基于从(例如,如图4所示的)规划模块404接收到的数据。根据期望输出1104,控制器1102产生可用作油门输入1106和转向输入1108的数据。油门输入1106表示例如通过接合转向踏板或接合另一油门控件来接合AV 100的油门(例如,加速控制)以实现期望输出1104的大小。在一些示例中,油门输入1106还包括可用于接合AV 100的制动器(例如,减速控制)的数据。转向输入1108表示转向角度,例如AV的转向控制(例如,方向盘、转向角致动器或用于控制转向角度的其它功能)应被定位成实现期望输出1104的角度。
在实施例中,控制器1102接收在调整提供至油门和转向的输入时使用的反馈。例如,如果AV 100遇到诸如山丘等的干扰1110,则AV 100的测量速率1112降至低于期望输出速率。在实施例中,任何测量输出1114均被提供至控制器1102,使得例如基于测量速率和期望输出之间的差分1113来进行所需的调整。测量输出1114包括测量位置1116、测量速度1118(包括速率和航向)、测量加速度1120和AV 100的传感器可测量的其它输出。
在实施例中,例如通过诸如照相机或LiDAR传感器等的传感器预先检测与干扰1110有关的信息,并且该信息被提供至预测性反馈模块1122。然后,预测性反馈模块1122将控制器1102可用于相应地调整的信息提供至控制器1102。例如,如果AV 100的传感器检测到(“看见”)山丘,则控制器1102可以使用该信息来准备在适当时间接合油门,以避免显著减速。
图12示出控制器1102的输入、输出和组件的框图1200。控制器1102具有影响油门/制动器控制器1204的操作的速率分析器1202。例如,速率分析器1202根据例如由控制器1102接收到并由速率分析器1202处理后的反馈,来指示油门/制动器控制器1204使用油门/制动器1206进行加速或进行减速。
控制器1102还具有影响方向盘控制器1210的操作的横向跟踪控制器1208。例如,横向跟踪控制器1208根据例如由控制器1102接收到并由横向跟踪控制器1208处理后的反馈,来指示方向盘控制器1210调整转向角致动器1212的位置。
控制器1102接收用于确定如何控制油门/制动器1206和转向角致动器1212的多个输入。规划模块404提供控制器1102例如选择AV 100开始操作时的航向并确定在AV 100到达十字交叉路口时驶过哪个道路路段所使用的信息。定位模块408例如将描述AV 100的当前地点的信息提供至控制器1102,使得控制器1102可以确定AV 100是否处于基于正控制油门/制动器1206和转向角致动器1212的方式而预期所处的地点。在实施例中,控制器1102接收来自其它输入1214的信息,例如从数据库、计算机网络等接收到的信息。
用于3D对象检测的序贯融合
图13示出根据一个或多个实施例的、将LiDAR特征与语义点修饰融合以进行更准确的3D对象检测。系统1300包括图像1301、图像语义分割网络(ISN)1302、分割图像1303、LiDAR BEV 1304、融合模块1305、修饰BEV 1306和LiDAR分割网络(LSN)1307。在实施例中,ISN 1302进行图像分割和对象检测这两者(即,计算2D或3D包围盒)。在另一实施例中,可以使用两个网络:一个网络用于图像分割并且一个网络用于对象检测。ISN 1302采用图像作为输入并且输出语义数据。在实施例中,语义数据是被称为语义分割得分的逐像素类概率。这些语义分割得分用作图像的紧凑概括特征。在融合管道中使用语义分割存在多个关键优点。首先,语义分割与3D对象检测相比是更容易的任务,因为分割仅需要局部的逐像素分类,而对象检测需要3D定位和分类。这意味着语义分割更容易训练,并且也更适合于使用小型快速网络进行推断。其次,在语义分割方面正取得快速进展,这允许该融合策略受益于分割和3D对象检测这两方面的进展。最后,在机器人或自主运载工具系统中,语义分割输出是对于如自由空间估计那样的其它任务有用的独立输出。
在实施例中,如图13所示,将各点云在时间上(例如,通过比较时间戳)与各照相机所拍摄到的最新图像进行匹配。然而,匹配处理在实时系统中引入了延迟,因为融合模块1305必须等待来自ISN 1302的语义分割得分。在实施例中,通过将最新点云投影到从时间上先前的图像所输出的语义分割数据来防止该延迟。
ISN 1302采用图像1301作为输入,预测该图像中的各像素的类,并且输出针对图像1301中的各像素的语义分割数据(例如,语义分割得分)。ISN 1302是使用包括如下图像的图像数据集来训练的,其中利用针对图像数据集中的类的分割标记和2D包围盒来对各图像进行注释。示例语义分割得分是指示正确地预测出像素的类的概率的概率值。
由融合模块1305将LiDAR点从LiDAR自我运载工具坐标系变换到照相机坐标系,并且针对点被投影在照相机坐标系中的各像素获得分割得分矢量。如果两个照相机的视场重叠,则将存在同时投影在两个图像上的一些点。在实施例中,分割得分矢量是从这两个图像其中之一中随机地选择的。
在所示的实施例中,如参考图15更全面地所述,将经修饰的点输入到柱编码器中,该柱编码器将点特征转换成稀疏的伪图像。在实施例中,针对点的点柱编码是(x,y,z,i,x_c,y_c,z_c,x_p,y_p),其中(x_c,y_c,z_c)是该点相对于柱中的所有点的算术平均数的偏移,i是强度,并且(x_p,y_p)是该点相对于柱的x和y中心的偏移。将ISN生成的语义分割数据附加到该编码。在实施例中,将ISN生成的语义分割得分减少到N个类。例如,可以将语义分割得分减少到四个(N=4)类:小汽车(p_car)、自行车(p_bike)、行人(p_ped)和背景(p_background)。因而,附加有这四个类的语义分割得分的柱编码由(x,y,z,i,x_c,y_c,z_c,x_p,y_p,p_car,p_bike,p_ped,p_background)给出。该柱编码是示例。可以使用包括更多或更少的语义分割数据的其它柱编码。
与在Y.Zhou和O.Tuzel的Voxelnet:End-to-end learning for point cloudbased 3d object detection(CVPR,2018)中所述的网络类似,将柱编码器所输出的伪图像传递到诸如2D CNN等的深度学习骨干网络。
深度学习骨干计算并输出被输入到检测头中的特征。如在“PointPillars:FastEncoders for Object Detection from Point Clouds(arXiv:1812.05784v2[cs.LG],2019年5月7日)中所述,检测头输出方向3D包围盒。在实施例中,如在W.Liu、D.Anguelov、D.Erhan、C.Szegedy、S.Reed、C.-Y.Fu和A.C.Berg的SSD:Single shot multibox detector(ECCV,2016)中所述,检测头是单次检测(SSD)头。
在实施例中,作为使用来自ISN 1402的语义分割的替代或补充,2D检测(2D包围盒)还用于修饰LiDAR点。例如,利用来自包含LiDAR点的包围盒的分类得分来修饰这些LiDAR点。如果特定点落入多个重叠的包围盒中,则可以用重叠的包围盒的分类得分的平均值来修饰这些点。
在ISN 1402产生3D包围盒作为输出(例如,3D ISN 1402)的实施例中,根据点包含在哪个3D包围盒中来修饰这些点。由于点是直接在3D中修饰的,因此无需将点投影到2D图像平面中。
图14是根据一个或多个实施例的、用于将LiDAR特征与语义点修饰融合以进行更准确的3D对象检测的系统的框图。系统1400包括匹配模块1401、ISN 1402、融合模块1403、点柱编码器1404、深度学习骨干1405和检测头1406。
在操作中,将照相机图像和LiDAR点输入到匹配模块1401中,该匹配模块1401将点云扫描在时间上与所有不同照相机通道的相应图像进行匹配。在实施例中,时间戳可用于通过例如基于时间戳采用在时间上最接近的样本来将LiDAR扫描在时间上与照相机图像进行匹配。在实施例中,通过将最新的点云扫描投影到从时间上先前的图像所输出的语义分割数据来减少延迟,因为这允许在记录LiDAR点云时图像处理已完成。
匹配模块的输出是输入到ISN 1402中的经匹配的图像。如前面所述,ISN 1402提供语义分割和对象检测这两者。在另一实施例中,可以使用两个单独网络:一个网络用于图像分割并且一个网络用于对象检测。检测类的一些示例是小汽车、行人、自行车、障碍物、交通锥和可驾驶表面。ISN 1402是利用可以调整大小且可增强的带注释图像的数据库来训练的。将损失函数应用于预测值和目标值,并且使损失反向传播通过网络以调整网络权重。图像增强的一些示例包括但不限于放大、缩小、光度失真和随机翻转。
在实施例中,ISN 1402包括骨干和检测头。在实施例中,如W.Liu等人所述,骨干是全卷积神经网络(FCNN)并且检测头是单次多盒检测器。可以采用各种损失函数,这些损失函数包括但不限于分类损失、定位损失和属性损失。ISN 1402的输出是语义数据。在实施例中,语义数据是语义分割得分。
将语义分割得分连同匹配LiDAR点云的BEV一起输入到融合模块1403中。融合模块1403利用语义分割数据修饰LiDAR点。融合模块1403的输出是经修饰的BEV,其被输入到点柱编码器1404中。
点柱编码器1404利用语义分割得分增强点柱编码。在实施例中,可以将语义分割得分减少到四个类:小汽车(p_car)、自行车(p_bike)、行人(p_ped)和背景(p_background)。因而,附加有这四个类的柱编码由(x,y,z,i,x_c,y_c,z_c,x_p,y_p,p_car,p_bike,p_ped,p_background)给出。可以使用包括更多或更少的语义分割数据的其它柱编码。参考图15来进一步详细说明柱编码器。
点柱编码器1404的输出是伪图像。在PointPillars:Fast Encoders for ObjectDetection from Point Clouds(arXiv:1812.05784v2[cs.LG])和美国专利申请No.16/679,099中描述了伪图像的生成。
伪图像被输入到深度学习骨干1405中。在实施例中,如参考图15所述,骨干是2DCNN。骨干1405的输出是输入到检测头1406中的特征,该检测头1406估计(预测)方向3D包围盒。
图15是根据一个或多个实施例的点柱网络1500的框图。点柱网络1500中所包括的柱特征网络1502被配置为接受经修饰的点云作为输入并且估计/预测各种类的方向3D盒,这些类包括但不限于小汽车、行人和骑车者。网络1500包括三个主要阶段:1)特征编码器网络1502,其将点云转换为稀疏的伪图像;
2)2D卷积骨干1503,其将伪图像处理成高级表示;以及3)检测头1504,其检测3D盒1505并使3D盒1505回归。
在实施例中,为了应用2D卷积架构,柱特征网络1502将点云转换成伪图像。用“l”表示点云中的具有坐标x、y、z和反射率r的点。作为第一步骤,将点云离散化成x-y平面中的均匀间隔的网格,从而创建具有|P|=B的一组柱P。注意,超参数无需控制z维度上的分箱。然后,用x_c、y_c、z_c、x_p和y_p增强各柱中的点,其中c附标表示到柱中的所有点的算术平均数的距离,并且p附标表示从柱的x、y中心起的偏移。经增强的LiDAR点l现在是D=9维的。然后,如参考图13和图14所述,用ISN 1402所输出的语义分割数据进一步增强该经增强的LiDAR点。例如,可以用减少到小汽车、自行车、行人和背景的类的四个语义分割得分来进一步增强LiDAR点,这样得到现在为D=13维的LiDAR点l。
由于点云的稀疏性,该组柱将大部分是空的,并且在非空柱中通常将具有很少的点。例如在0.162m2分箱的情况下,来自HDL-64E Velodyne LiDAR的点云在稀疏度约为97%的通常用于KITTI的范围中具有6k-9k个非空柱。通过对各样本的非空柱的数量(P)和各柱的点数(N)这两者施加限制来利用该稀疏度,以创建大小为(D,P,N)的密集张量。如果样本或柱保持过多数据而无法容纳在该张量中,则随机地对数据进行采样。相反,如果样本或支柱的数据太少而无法填充张量,则应用补零。
接着,使用PointNet的简化版本,其中,针对各点,应用线性层,之后应用Batch-Norm和ReLU,以生成大小为(C,P,N)的张量,其中在S.Ioffe和C.Szegedy的Batchnormalization:Accelerating deep network training by reducing internalcovariate shift(CoRR,abs/1502.03167,2015)中描述了Batch-Norm,并且在V.Nair和G.E.Hinton的Rectified linear units improve restricted Boltzmann machines(ICML,2010)中描述了ReLU。之后对通道进行max运算以创建大小为(C,P)的输出张量。注意,线性层可以被公式化为张量上的1x1卷积,这样得到非常高效的计算。一旦被编码,特征被分散回到原始柱位置以创建大小为(C,H,W)的伪图像,其中H和W指示画布的高度和宽度。
在实施例中,骨干1503具有两个子网络:一个自上而下的网络,其以越来越小的空间分辨率产生特征;以及第二网络,其对自上而下的特征进行上采样和级联。自上而下的骨干可以通过一系列块Block(S,L,F)来表征。各块以(相对于原始输入伪图像而测量到的)步幅S运行。块包括具有F个输出通道的L个3x3 2D卷积层,其各自之后是BatchNorm和ReLU。该层内的第一卷积具有步幅以确保块在接收到步幅Sin的输入团(input blob)之后以步幅S运行。块中的所有后续卷积都具有步幅1。
如下通过上采样和级联来对来自各自上而下的块的最终特征进行组合。首先,使用具有F个最终特征的转置2D卷积,从初始步幅Sin到最终步幅Sout(这两者都是关于原始伪图像再次测量到的)对这些特征进行上采样Up(Sin,Sout,F)。接着,将BatchNorm和ReLU应用于经上采样的特征。最终输出特征是源自于不同步幅的所有特征的级联。
在实施例中,检测头1504是使用单次检测器(W.Liu等人)设置来实现的,以进行3D对象检测。与SSD类似,如在M.Everingham、L.Van Gool、C.K.I.Williams、J.Winn和A.Zisserman的The pascal visual object classes(VOC)challenge(InternationalJournal of Computer Vision,2010)所述,使用2D交并比(IoU)来将先前盒与地面真值进行匹配。包围盒高度和标高不用于匹配;作为代替,考虑到2D匹配,高度和标高成为额外的回归目标。
图16是根据一个或多个实施例的、将LiDAR特征与语义点修饰融合以进行更准确的3D对象检测的处理1600的流程图。
处理1600从以下操作开始:在时间上将3D点云与一个或多个图像进行匹配(1601);生成(1602)图像语义数据;以及利用语义数据对点进行修饰(1603)。例如,如参考图13和图14所述,可以将语义分割得分减少到诸如小汽车、自行车、行人和背景等的类的数量。
处理1600继续以下操作:可选地将修饰后的点编码(1604)到点柱中。例如,编码可以包括D=13个维度。因而,如参考图13-图15所述,附加有四个类(小汽车、自行车、行人和背景)的柱编码由(x,y,z,i,x_c,y_c,z_c,x_p,y_p,p_car,p_bike,p_ped,p_background)给出。可以使用包括更多或更少的语义分割数据的其它柱编码。
如果使用可选的点柱网络,则处理1600继续以下操作:使用2D CNN骨干来生成(1605)特征。在实施例中,如参考图15所述,骨干包括两个子网络:一个自上而下的网络,其以越来越小的空间分辨率产生特征;以及第二网络,其对自上而下的特征进行上采样和级联。
处理1600继续以下操作:基于在使用点柱网络的情况下的特征或者其它检测网络所用的任何期望视图(例如,BEV、前视图)中的经修饰的点,来估计/预测(1606)方向3D包围盒。例如,在点柱网络中,可以使用SSD检测头来估计/预测方向3D包围盒(即,3D对象检测)。
在先前描述中,已经参考许多具体细节描述了实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以授权权利要求的具体形式从本申请授权的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。
相关申请的交叉引用
本发明要求2019年11月14日提交的标题为“SEQUENTIAL FUSION FOR 3D OBJECTDETECTION”的美国临时专利申请No.62/935,617的优先权,其全部内容通过引用而被包含于此。
Claims (23)
1.一种用于运载工具的方法,包括:
使用所述运载工具的一个或多个处理器,在时间上将三维点云即3D点云中的点与图像进行匹配;
使用基于图像的神经网络,生成所述图像的像素的语义分割得分;
使用所述一个或多个处理器,利用所述语义分割得分修饰所述3D点云中的点;以及
使用经修饰的点,估计一个或多个对象的方向3D包围盒;
其中,利用所述语义分割得分修饰所述3D点云中的点还包括:
使用点柱网络,将经修饰的点编码到点柱中;
使用以所述点柱作为输入的深度学习网络,生成指示所述一个或多个对象的特征;以及
使用所述特征,估计所述一个或多个对象的方向3D包围盒;
其中,将经修饰的点编码到点柱中包括利用所述语义分割得分来增强点柱值。
2.根据权利要求1所述的方法,其中,利用所述语义分割得分修饰所述3D点云中的点还包括:
将所述3D点云投影到鸟瞰图即BEV中;以及
利用所述语义分割得分修饰所述BEV中的点。
3.根据权利要求1所述的方法,其中,在时间上将所述3D点云中的点与所述图像进行匹配包括:将最新的点云投影到从时间上先前的图像所输出的语义数据。
4.根据权利要求1所述的方法,其中,将各特定点从光检测和测距运载工具坐标系即LiDAR运载工具坐标系变换到照相机坐标系,并且针对该特定点被投影在所述照相机坐标系中的图像中的各像素,获得分割得分矢量。
5.根据权利要求4所述的方法,还包括:
确定为一个或多个点同时投影在两个图像上;以及
从所述两个图像其中之一中随机地选择所述分割得分矢量。
6.根据权利要求1所述的方法,其中,各点柱中的点包括以下的值:x_c、y_c、z_c、x_p和y_p,其中值x_c、y_c、z_c表示到该点柱中的所有点的算术平均数的距离,并且值x_p和y_p表示从点柱的x、y中心起的偏移,以及其中利用所述语义分割得分增强各点柱中的点。
7.根据权利要求1所述的方法,其中,所述语义分割得分包括减少到一组类中的一个或多个类的语义分割得分,所述一组类包括小汽车类、自行车类、行人类、障碍物类、交通锥类、可驾驶表面类和背景类至少之一。
8.根据权利要求1所述的方法,还包括:
使用所述基于图像的神经网络,生成二维包围盒即2D包围盒或三维包围盒即3D包围盒;以及
除利用所述语义分割得分修饰所述点以外,或作为利用所述语义分割得分修饰所述点的替代,利用所述2D包围盒或所述3D包围盒的分类得分修饰所述点。
9.根据权利要求8所述的方法,还包括:
确定为两个或更多个包围盒重叠并且包括共同点;
计算重叠的两个或更多个包围盒的分类得分的平均值;以及
利用所述分类得分的平均值修饰所述共同点。
10.一种用于运载工具的系统,包括:
所述运载工具的一个或多个处理器;以及
存储器,其存储有指令,所述指令在由所述一个或多个处理器执行时,使得所述一个或多个处理器进行包括以下项的操作:
在时间上将三维点云即3D点云中的点与图像进行匹配;
使用基于图像的神经网络,生成所述图像的像素的语义分割得分;
利用所述语义分割得分修饰所述3D点云中的点;以及
使用经修饰的点,估计一个或多个对象的方向3D包围盒;
其中,利用所述语义分割得分修饰所述3D点云中的点还包括:
使用点柱网络,将经修饰的点编码到点柱中;
使用以所述点柱作为输入的深度学习网络,生成指示所述一个或多个对象的特征;以及
使用所述特征,估计所述一个或多个对象的方向3D包围盒;
其中,将经修饰的点编码到点柱中包括利用所述语义分割得分来增强点柱值。
11.根据权利要求10所述的系统,其中,利用所述语义分割得分修饰所述3D点云中的点还包括:
将所述3D点云投影到鸟瞰图即BEV中;以及
利用所述语义分割得分修饰所述BEV中的点。
12.根据权利要求10所述的系统,其中,在时间上将所述3D点云中的点与所述图像进行匹配包括:将最新的点云投影到从时间上先前的图像所输出的语义分割得分。
13.根据权利要求10所述的系统,其中,将各特定点从光检测和测距运载工具坐标系即LiDAR运载工具坐标系变换到照相机坐标系,并且针对该特定点被投影在所述照相机坐标系中的图像中的各像素,获得分割得分矢量。
14.根据权利要求13所述的系统,还包括:
确定为一个或多个点同时投影在两个图像上;以及
从所述两个图像其中之一中随机地选择所述分割得分矢量。
15.根据权利要求10所述的系统,其中,各点柱中的点包括以下的值:x_c、y_c、z_c、x_p和y_p,其中值x_c、y_c、z_c表示到该点柱中的所有点的算术平均数的距离,并且值x_p和y_p表示从点柱的x、y中心起的偏移,以及其中利用所述语义分割得分增强各点柱中的点。
16.根据权利要求10所述的系统,其中,所述语义分割得分被减少到一组类中的一个或多个类,所述一组类包括小汽车类、自行车类、行人类、障碍物类、交通锥类、可驾驶表面类和背景类至少之一。
17.根据权利要求10所述的系统,还包括:
使用所述基于图像的神经网络,生成二维包围盒即2D包围盒或三维包围盒即3D包围盒;以及
除利用所述语义分割得分修饰所述点以外,或作为利用所述语义分割得分修饰所述点的替代,利用所述2D包围盒或所述3D包围盒的分类得分修饰所述点。
18.根据权利要求17所述的系统,还包括:
确定为两个或更多个包围盒重叠并且包括共同点;
计算重叠的两个或更多个包围盒的分类得分的平均值;以及
利用所述分类得分的平均值修饰所述共同点。
19.一种存储有指令的非暂时性计算机可读存储介质,所述指令在由一个或多个处理器执行时,使得所述一个或多个处理器进行包括以下项的操作:
在时间上将三维点云即3D点云中的点与图像进行匹配;
使用基于图像的神经网络,生成所述图像的像素的语义分割得分;
利用所述语义分割得分修饰所述3D点云中的点;以及
使用经修饰的点,估计一个或多个对象的方向3D包围盒;
其中,利用所述语义分割得分修饰所述3D点云中的点还包括:
使用点柱网络,将经修饰的点编码到点柱中;
使用以所述点柱作为输入的深度学习网络,生成指示所述一个或多个对象的特征;以及
使用所述特征,估计所述一个或多个对象的方向3D包围盒;
其中,将经修饰的点编码到点柱中包括利用所述语义分割得分来增强点柱值。
20.一种用于运载工具的方法,包括:
使用所述运载工具的一个或多个处理器,在时间上将点的三维集即点的3D集内的点与图像进行匹配;
使用基于图像的神经网络,生成所述图像的像素的语义分割得分;
使用所述一个或多个处理器,利用所述语义分割得分修饰所述点的3D集内的点;
使用点柱网络,将经修饰的点编码到点柱中;
使用以所述点柱作为输入的深度学习网络,生成指示一个或多个对象的特征;以及
使用所述特征,估计所述一个或多个对象的方向3D包围盒。
21.根据权利要求20所述的方法,其中,将经修饰的点编码到点柱中包括利用所述语义分割得分来增强点柱值。
22.根据权利要求21所述的方法,其中,各点柱中的点包括以下的值:到该点柱中的所有点的算术平均数的距离、以及从该点柱的中心起的偏移,以及其中利用所述语义分割得分增强各点柱中的点。
23.根据权利要求20所述的方法,还包括:
除利用所述语义分割得分修饰所述点的3D集内的点以外,或作为利用所述语义分割得分修饰所述点的3D集内的点的替代,利用所述方向3D包围盒的分类得分修饰所述点的3D集内的点;
确定为所述方向3D包围盒重叠并且包括共同点;
计算重叠的两个或更多个包围盒的分类得分的平均值;以及
利用所述分类得分的平均值修饰所述共同点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211271699.6A CN115661488A (zh) | 2019-11-14 | 2020-11-13 | 用于运载工具的方法、系统和计算机可读存储介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962935617P | 2019-11-14 | 2019-11-14 | |
US62/935,617 | 2019-11-14 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211271699.6A Division CN115661488A (zh) | 2019-11-14 | 2020-11-13 | 用于运载工具的方法、系统和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112801124A CN112801124A (zh) | 2021-05-14 |
CN112801124B true CN112801124B (zh) | 2022-10-28 |
Family
ID=74046243
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211271699.6A Pending CN115661488A (zh) | 2019-11-14 | 2020-11-13 | 用于运载工具的方法、系统和计算机可读存储介质 |
CN202011269815.1A Active CN112801124B (zh) | 2019-11-14 | 2020-11-13 | 用于运载工具的方法和系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211271699.6A Pending CN115661488A (zh) | 2019-11-14 | 2020-11-13 | 用于运载工具的方法、系统和计算机可读存储介质 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11214281B2 (zh) |
KR (1) | KR20210058696A (zh) |
CN (2) | CN115661488A (zh) |
DE (1) | DE102020129854A1 (zh) |
GB (2) | GB2591171B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DK201970115A1 (en) | 2018-11-08 | 2020-06-09 | Aptiv Technologies Limited | DEEP LEARNING FOR OBJECT DETECTION USING PILLARS |
GB2591171B (en) | 2019-11-14 | 2023-09-13 | Motional Ad Llc | Sequential fusion for 3D object detection |
US11885907B2 (en) * | 2019-11-21 | 2024-01-30 | Nvidia Corporation | Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications |
US11531088B2 (en) | 2019-11-21 | 2022-12-20 | Nvidia Corporation | Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications |
US11532168B2 (en) | 2019-11-15 | 2022-12-20 | Nvidia Corporation | Multi-view deep neural network for LiDAR perception |
CN113075922A (zh) * | 2019-12-17 | 2021-07-06 | 图森有限公司 | 来自多个传感器的数据集成 |
US11508147B2 (en) * | 2020-03-06 | 2022-11-22 | Google Llc | Streaming object detection within sensor data |
US20210331695A1 (en) * | 2020-04-28 | 2021-10-28 | Rahul Ramakrishnan | Object detection and tracking for automated operation of vehicles and machinery |
US11521394B2 (en) * | 2020-10-09 | 2022-12-06 | Motional Ad Llc | Ground plane estimation using LiDAR semantic network |
US20220126873A1 (en) * | 2020-10-23 | 2022-04-28 | Argo AI, LLC | Systems and methods for camera-lidar fused object detection with segment merging |
US11393184B2 (en) * | 2020-11-13 | 2022-07-19 | Denso International America, Inc. | Systems and methods for adaptive bounding box selection |
CN112859005B (zh) * | 2021-01-11 | 2023-08-29 | 成都圭目机器人有限公司 | 一种检测多通道探地雷达数据中金属类直圆柱结构的方法 |
DE102021113052A1 (de) * | 2021-05-20 | 2022-11-24 | Valeo Schalter Und Sensoren Gmbh | Übertragen von semantischen Informationen auf Punktwolken |
WO2022250468A1 (en) * | 2021-05-26 | 2022-12-01 | Samsung Electronics Co., Ltd. | Method and electronic device for 3d object detection using neural networks |
CN113267761B (zh) * | 2021-05-28 | 2023-06-23 | 中国航天科工集团第二研究院 | 激光雷达目标检测识别方法、系统及计算机可读存储介质 |
US11948381B2 (en) * | 2021-08-20 | 2024-04-02 | Motional Ad Llc | Determining object mobility parameters using an object sequence |
KR102382448B1 (ko) * | 2021-09-06 | 2022-04-04 | 주식회사 라이드플럭스 | 라이다 기반 객체 탐지를 위한 인공지능 모델의 입력 특징맵 생성방법, 장치 및 컴퓨터프로그램 |
US11527085B1 (en) * | 2021-12-16 | 2022-12-13 | Motional Ad Llc | Multi-modal segmentation network for enhanced semantic labeling in mapping |
CN114399762B (zh) * | 2022-03-23 | 2022-06-10 | 成都奥伦达科技有限公司 | 一种道路场景点云分类方法及存储介质 |
CN114972763B (zh) * | 2022-07-28 | 2022-11-04 | 香港中文大学(深圳)未来智联网络研究院 | 激光雷达点云分割方法、装置、设备及存储介质 |
CN115861632B (zh) * | 2022-12-20 | 2023-11-28 | 清华大学 | 一种基于图卷积的视觉激光融合的三维目标检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108475058A (zh) * | 2016-02-10 | 2018-08-31 | 赫尔实验室有限公司 | 用于使用视觉和距离传感器数据来实现快速且可靠的接触时间估计以便进行自主导航的系统和方法 |
CN109597087A (zh) * | 2018-11-15 | 2019-04-09 | 天津大学 | 一种基于点云数据的3d目标检测方法 |
CN110325818A (zh) * | 2017-03-17 | 2019-10-11 | 本田技研工业株式会社 | 经由多模融合的联合3d对象检测和取向估计 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3645177B2 (ja) | 2000-11-29 | 2005-05-11 | 三菱電機株式会社 | 車両周辺監視装置 |
US8825391B1 (en) | 2011-08-04 | 2014-09-02 | Google Inc. | Building elevation maps from laser data |
US8885151B1 (en) | 2012-09-04 | 2014-11-11 | Google Inc. | Condensing sensor data for transmission and processing |
US9796390B2 (en) | 2016-02-29 | 2017-10-24 | Faraday&Future Inc. | Vehicle sensing grid having dynamic sensing cell size |
US10838067B2 (en) | 2017-01-17 | 2020-11-17 | Aptiv Technologies Limited | Object detection system |
US10438371B2 (en) * | 2017-09-22 | 2019-10-08 | Zoox, Inc. | Three-dimensional bounding box from two-dimensional image and point cloud data |
US10970518B1 (en) | 2017-11-14 | 2021-04-06 | Apple Inc. | Voxel-based feature learning network |
CN108171217A (zh) * | 2018-01-29 | 2018-06-15 | 深圳市唯特视科技有限公司 | 一种基于点融合网络的三维物体检测方法 |
US10410354B1 (en) * | 2018-03-06 | 2019-09-10 | Mitsubishi Electric Research Laboratories, Inc. | Method and apparatus for multi-model primitive fitting based on deep geometric boundary and instance aware segmentation |
US11618438B2 (en) * | 2018-03-26 | 2023-04-04 | International Business Machines Corporation | Three-dimensional object localization for obstacle avoidance using one-shot convolutional neural network |
US10649459B2 (en) | 2018-04-26 | 2020-05-12 | Zoox, Inc. | Data segmentation using masks |
US11100669B1 (en) | 2018-09-14 | 2021-08-24 | Apple Inc. | Multimodal three-dimensional object detection |
DK201970115A1 (en) | 2018-11-08 | 2020-06-09 | Aptiv Technologies Limited | DEEP LEARNING FOR OBJECT DETECTION USING PILLARS |
CN111694903B (zh) * | 2019-03-11 | 2023-09-12 | 北京地平线机器人技术研发有限公司 | 地图构建方法、装置、设备以及可读存储介质 |
US11480686B2 (en) * | 2019-03-27 | 2022-10-25 | Zoox, Inc. | Identifying and/or removing false positive detections from lidar sensor output |
US11727169B2 (en) | 2019-09-11 | 2023-08-15 | Toyota Research Institute, Inc. | Systems and methods for inferring simulated data |
US11520037B2 (en) * | 2019-09-30 | 2022-12-06 | Zoox, Inc. | Perception system |
GB2591171B (en) | 2019-11-14 | 2023-09-13 | Motional Ad Llc | Sequential fusion for 3D object detection |
CN111145174B (zh) * | 2020-01-02 | 2022-08-09 | 南京邮电大学 | 基于图像语义特征进行点云筛选的3d目标检测方法 |
-
2020
- 2020-11-09 GB GB2017625.1A patent/GB2591171B/en active Active
- 2020-11-09 GB GB2311257.6A patent/GB2621701A/en active Pending
- 2020-11-10 KR KR1020200149202A patent/KR20210058696A/ko active Search and Examination
- 2020-11-12 DE DE102020129854.4A patent/DE102020129854A1/de active Pending
- 2020-11-12 US US17/096,916 patent/US11214281B2/en active Active
- 2020-11-13 CN CN202211271699.6A patent/CN115661488A/zh active Pending
- 2020-11-13 CN CN202011269815.1A patent/CN112801124B/zh active Active
-
2021
- 2021-11-24 US US17/534,674 patent/US11634155B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108475058A (zh) * | 2016-02-10 | 2018-08-31 | 赫尔实验室有限公司 | 用于使用视觉和距离传感器数据来实现快速且可靠的接触时间估计以便进行自主导航的系统和方法 |
CN110325818A (zh) * | 2017-03-17 | 2019-10-11 | 本田技研工业株式会社 | 经由多模融合的联合3d对象检测和取向估计 |
CN109597087A (zh) * | 2018-11-15 | 2019-04-09 | 天津大学 | 一种基于点云数据的3d目标检测方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210146952A1 (en) | 2021-05-20 |
CN112801124A (zh) | 2021-05-14 |
GB202017625D0 (en) | 2020-12-23 |
GB2591171B (en) | 2023-09-13 |
KR20210058696A (ko) | 2021-05-24 |
US11634155B2 (en) | 2023-04-25 |
DE102020129854A1 (de) | 2021-05-20 |
GB2621701A (en) | 2024-02-21 |
GB2591171A (en) | 2021-07-21 |
US20220080999A1 (en) | 2022-03-17 |
CN115661488A (zh) | 2023-01-31 |
GB202311257D0 (en) | 2023-09-06 |
US11214281B2 (en) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112801124B (zh) | 用于运载工具的方法和系统 | |
EP3651064B1 (en) | Deep learning for object detection using pillars | |
CN113012187B (zh) | 用于运载工具的方法和前景提取系统以及存储介质 | |
US11521010B2 (en) | Automatically choosing data samples for annotation | |
US11940804B2 (en) | Automated object annotation using fused camera/LiDAR data points | |
US20230205216A1 (en) | Ground plane estimation using lidar semantic network | |
US11367289B1 (en) | Machine learning-based framework for drivable surface annotation | |
CN113654564A (zh) | 用于运载工具的方法 | |
US11887324B2 (en) | Cross-modality active learning for object detection | |
KR102549258B1 (ko) | 이미지 시맨틱스 네트워크로부터의 단안 3d 대상체 검출 | |
CN115328110A (zh) | 用于自主运载工具的系统和方法以及存储介质 | |
CN113156935A (zh) | 用于交通灯检测的系统和方法 | |
KR20210019393A (ko) | 환경의 미리 정의된 특징부에 기초한 로컬화 | |
US20220357453A1 (en) | Lidar point cloud segmentation using box prediction | |
CN115220439A (zh) | 用于运载工具的系统和方法以及存储介质 | |
CN115201854A (zh) | 用于运载工具的方法、运载工具和存储介质 | |
CN115016452A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |