CN111627054B - 用于预测高置信度密集点云的深度补全误差地图的方法和装置 - Google Patents

用于预测高置信度密集点云的深度补全误差地图的方法和装置 Download PDF

Info

Publication number
CN111627054B
CN111627054B CN202010453175.3A CN202010453175A CN111627054B CN 111627054 B CN111627054 B CN 111627054B CN 202010453175 A CN202010453175 A CN 202010453175A CN 111627054 B CN111627054 B CN 111627054B
Authority
CN
China
Prior art keywords
map
depth
data
vehicle
point cloud
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
Application number
CN202010453175.3A
Other languages
English (en)
Other versions
CN111627054A (zh
Inventor
哈米德·艾尔米第安
萨米尔·阿尔-斯多依
金东福
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Great Wall Motor Co Ltd
Original Assignee
Great Wall Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Great Wall Motor Co Ltd filed Critical Great Wall Motor Co Ltd
Publication of CN111627054A publication Critical patent/CN111627054A/zh
Application granted granted Critical
Publication of CN111627054B publication Critical patent/CN111627054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Optics & Photonics (AREA)
  • Traffic Control Systems (AREA)

Abstract

本申请公开了一种用于预测高置信度密集点云的深度补全误差地图的方法和系统。可以使用所述方法和系统来获得高置信度点云。该方法包括获得三维传感器数据。该三维传感器数据可以是原始数据。该方法包括将原始三维传感器数据投影到二维图像空间。该方法包括获得二维图像的稀疏深度数据。该方法包括获得预测深度地图。该预测深度地图可以基于稀疏深度数据。该方法包括获得预测误差地图。该预测误差地图可以基于稀疏深度数据。该方法包括输出高置信度点云。该高置信度点云可以基于预测深度地图和预测误差地图。

Description

用于预测高置信度密集点云的深度补全误差地图的方法和 装置
技术领域
本公开涉及自动交通工具(vehicle)。更具体地,本公开涉及基于传感器数据来预测点云。
背景技术
交通工具可以使用各种传感器,诸如但不限于高/中精度(HD/MD)地图、3D光检测和测距(LIDAR)、相机、全球定位系统(GPS)、惯性测量单元(IMU)、雷达等等,以用于各种各样的功能,诸如但不限于地标检测、碰撞避免、停车、导航和制导。对于自动交通工具尤其如此,在自动交通工具中,精确的交通工具传感器数据对于实现自动驾驶至关重要。
由于光束的数量受限,典型的商业化LIDAR传感器会产生稀疏的点云。每个传感器的成本随着光束数量和分辨率的增加而大大增加。因此,需要成本有效的传感器解决方案。
发明内容
本文公开了用于获得高置信度点云的方法和系统。在一方面,该方法包括获得三维传感器数据。该三维传感器数据可以是原始数据。该方法包括将原始三维传感器数据投影到二维图像空间。该方法包括获得二维图像的稀疏深度数据。该方法包括获得预测深度地图。该预测深度地图可以基于稀疏深度数据。该方法包括获得预测误差地图。该预测误差地图可以基于稀疏深度数据。该方法包括输出高置信度点云。该高置信度点云可以基于预测深度地图、或预测误差地图或其两者。
在一方面,一种用于获得高置信度点云的系统可以包括第一传感器,第二传感器和处理器。该第一传感器可以被配置为获得传感器数据。该传感器数据可以是三维传感器数据。该第二传感器可以被配置为获得图像数据。该图像数据可以是二维图像数据。该处理器可以被配置为将三维传感器数据投影到二维图像空间。该处理器可以被配置为获得稀疏深度数据。该稀疏深度数据可以基于二维图像数据。该处理器可以被配置为获得预测深度地图。该预测深度地图可以基于稀疏深度数据。该处理器可以被配置为获得预测误差地图。该预测误差地图可以基于稀疏深度数据。该处理器可以被配置为输出高置信度点云。该高置信度点云可以基于预测深度地图、或预测误差地图、或其两者。
附图说明
当结合附图阅读时,根据下面的详细描述来最好地理解本公开。要强调的是,根据惯例,附图的各个特征未按比例绘制。相反地,为了清楚起见,各种特征的尺寸被任意扩大或缩小。
图1是根据本公开的实施例的交通工具的示例的示图。
图2是图1所示的控制系统的示例的示图。
图3是根据本公开的实施例的交通工具控制系统的示例的示图。
图4是根据本公开的实施例的包括交通工具控制系统的交通工具的侧视图的示例的示图。
图5是根据本公开的实施例的交通工具控制系统的示例的示图。
图6是根据本公开的实施例的用于预测高置信度密集点云的方法的示例的流程图。
图7是根据本公开的实施例的U-Net编码器-解码器架构的示例的图。
图8是根据本公开的实施例的用于深度补全的网络架构的示例的图。
图9是根据本公开的实施例的使用图6所示的方法和图8所示的网络架构产生的示例地图的流程图。
具体实施方式
现在将更详细地参照其示例在附图中图示的本发明的优选实施例。在可能的任何地方,遍及附图和描述,将使用相同的附图标记来指代相同或相似的部分。
如本文中使用的,术语“计算机”或“计算设备”包括能够实行本文中公开的任何方法或其任何一个或多个部分的任何单元或单元的组合。
如本文中使用的,术语“处理器”指示一个或多个处理器,诸如一个或多个专用处理器、一个或多个数字信号处理器、一个或多个微处理器、一个或多个控制器、一个或多个微控制器、一个或多个应用处理器、一个或多个中央处理单元(CPU)、一个或多个图形处理单元(GPU)、一个或多个数字信号处理器(DSP)、一个或多个专用集成电路(ASIC)、一个或多个专用标准产品、一个或多个现场可编程门阵列、集成电路的任何其他类型或组合、一个或多个状态机或它们的任何组合。
如本文中使用的,术语“存储器”指示可以有形地包含、存储、传送或传输可以被任何处理器使用或与任何处理器结合使用的任何信号或信息的任何计算机可用或计算机可读介质或设备。例如,存储器可以是一个或多个只读存储器(ROM)、一个或多个随机存取存储器(RAM)、一个或多个寄存器、低功率双倍数据速率(LPDDR)存储器、一个或多个高速缓冲存储器、一个或多个半导体存储器件、一种或多种磁性介质、一种或多种光学介质、一种或多种磁光学介质或它们的任何组合。
如本文中使用的,术语“指令”可以包括用于实行本文中公开的任何方法、或其任何一个或多个部分的指导或表达,并且可以以硬件、软件或其任何组合的形式来实现。例如,指令可以被实现为存储在存储器中的诸如计算机程序之类的信息,该信息可以由处理器执行以实行如本文所述的任何相应的方法、算法、方面或其组合。指令或其一部分可以被实现为专用处理器或电路,其可以包括用于执行如本文中所述的方法、算法、方面或其组合中的任何一个的专用硬件。在一些实现方式中,指令的部分可以分布在单个设备上、多个设备上的多个处理器之间,该多个设备可以直接通信或跨诸如局域网、广域网、互联网或其组合的网络进行通信。
如本文中使用的,术语“确定”和“识别”或其任何变体包括使用在本文中示出和描述的一种或多种设备和方法以任何方式来选择、查明、计算、查找、接收、确定、建立、获得或以其他方式识别或确定。
如本文中使用的,术语“示例”、“实施例”、“实现方式”、“方面”、“特征”或“元素”指示用作示例、实例或说明。除非明确指出,否则任何示例、实施例、实现方式、方面、特征或元素独立于每个其他示例、实施例、实现方式、方面、特征或元素,并且可以与任何其他示例、实施例、实现方式、方面、特征或元素相组合地使用。
如本文中使用的,术语“或”意图表示包括性的“或”而不是排他性的“或”。即,除非另行规定,或者根据上下文是清楚的,“x包括A或B”意图指示任何自然的包括性排列。即,如果X包括A;X包括B;或X包括A和B两者,则在任何前述情况下均满足“X包括A或B”。此外,如在本申请和所附权利要求中使用的冠词“一”和“一个”可以一般地被解释为意指“一个或多个”,除非另行规定,或者根据上下文清楚地指向单数形式。
此外,为了简化解释,尽管本文中的附图和描述可以包括步骤或阶段的序列或系列,但是本文中公开的方法的要素可以以各种次序或同时发生。附加地,本文中公开的方法的元素可以与本文中未明确呈现和描述的其他元素一起出现。此外,并不需要本文中所述的方法的所有元素来实现根据本公开的方法。尽管在本文中以特殊组合的形式描述了方面、特征和元素,但是可以在具有或不具有其他方面、特征和元素的情况下单独地或以各种组合的形式使用每个方法、特征或元素。
深度补全技术可是一种辅助以填充LIDAR点云的稀疏性的廉价的算法。各种应用可能会受益于更密集的点云。示例应用可以包括对象检测,视觉测距以及同时定位和地图构建(SLAM)。
可以通过将三维LIDAR点云投影到二维图像空间上来生成深度地图。二维图像空间中的每个像素的值可以对应于每个点的深度。本文公开的一个或多个实施例可以包括没有RGB引导的情况下的基于LIDAR的深度补全。使用稀疏深度作为输入,本文公开的实施例可以预测密集深度及其预测的逐像素误差地图。
在基于LIDAR的深度补全中,由于输入数据中的大量稀疏性,误差和不确定性可能会大大增加。例如,输入数据的稀疏性可能大于95%。因此,特别是在没有RGB引导的情况下,难以精确地预测具有高稀疏性或深度值突变(例如边缘)的区域上的深度。RGB引导可能不适用于360°应用,并且在夜间或恶劣天气下可能不可靠。本文公开的实施例可以用于使用卷积神经网络来预测深度补全的逐像素误差地图。
图1是根据本公开的实施例的交通工具1000的示例的示图。交通工具1000可以是自动交通工具(AV)或半自动交通工具。如图1中所示,交通工具1000包括控制系统1010。控制系统1010可以被称为控制器。控制系统1010包括处理器1020。处理器1020被编程为命令施加最高的预确定的转向扭矩值和最高的预确定的净非对称制动力值中的一个。选择每个预确定的力来实现预确定的交通工具偏航扭矩,该交通工具偏航扭矩至多是由致动转向系统1030产生的第一最大偏航扭矩和由致动制动系统产生的第二最大偏航扭矩中的较小者。
转向系统1030可以包括:转向致动器1040,其是电力辅助转向致动器。制动系统可以包括耦合到交通工具1000的相应车轮1060的一个或多个制动器1050。附加地,处理器1020可以被编程为通过每个制动器1050施加与其他制动器1050不同的制动力来命令制动系统施加净不对称制动力。
处理器1020可以被进一步编程为响应于转向系统1030的故障而命令制动系统施加制动力,例如,净非对称制动力。附加地或替换地,处理器1020可以被编程为响应于转向系统1030的故障而向乘员提供警告。转向系统1030可以是动力转向控制模块。控制系统1010可以包括转向系统1030。附加地,控制系统1010可以包括制动系统。
转向系统1030可以包括:转向致动器1040,其是电力辅助转向致动器。制动系统可以包括:两个制动器1050,其耦合到交通工具1000的相反侧上的相应的车轮1060。附加地,该方法可以包括通过每个制动器1050施加不同的制动力来命令制动系统施加净不对称制动力。
如果在交通工具1000正在执行转弯时转向系统1030和制动系统中的一个发生故障,则控制系统1010允许转向系统1030和制动系统中的另一个接替转向系统1030和制动系统中发生故障的那一个。转向系统1030和制动系统中的任何一个保持可操作,然后能够向交通工具1000施加足够的偏航扭矩以继续转弯。因此,交通工具1000不太可能撞击诸如另一交通工具或道路屏障之类的对象,并且交通工具1000的任何乘员都不太可能受伤。
交通工具1000可以以自动交通工具操作的级别中的一个或多个来操作。出于本公开的目的,自动模式被定义为其中由处理器1020来控制交通工具1000的推进(例如,经由包括电动机和/或内燃机的动力总成)、制动和转向中的每一个的模式;在半自动模式下,处理器1020控制交通工具1000的推进、制动和转向中的一个或两个。因此,在一个示例中,非自动操作模式可以指代SAE级别0-1,部分自动或半自动操作模式可以指代SAE级别2-3,并且完全自动操作模式可以指代SAE级别4-5。
参考图2,控制系统1010包括处理器1020。处理器1020包括在交通工具1000中,以用于执行各种操作,包括如本文中所述的操作。处理器1020是通常包括处理器和存储器的计算设备,该存储器包括一种或多种形式的计算机可读介质,并且存储可由处理器执行以实行各种操作(包括如本文中公开的操作)的指令。处理器1020的存储器通常还存储经由各种通信机制接收的远程数据;例如,处理器1020通常被配置成用于在交通工具1000内的通信网络上进行通信。处理器1020还可以具有到板载诊断连接器(OBD-II)的连接。尽管为了易于说明在图2中示出了一个处理器1020,要理解到,处理器1020可以包括本文中所述的各种操作,并且本文中所述的各种操作可以由一个或多个计算设备执行。处理器1020可以是控制模块(例如动力转向控制模块),或者可以包括其他计算设备当中的控制模块。
控制系统1010可以通过通信网络发送信号,该通信网络可以是控制器局域网(CAN)总线、以太网、本地互连网络(LIN)、蓝牙,和/或通过任何其他有线或无线通信网络。处理器1020可以与动力系统2010、转向系统1030、制动系统2020、传感器2030和/或用户接口2040以及其他组件进行通信。
继续参照图2,交通工具1000的动力系统2010生成能量,并将能量转换成交通工具1000的运动。动力系统2010可以是已知的交通工具推进子系统,例如,常规的动力总成,其包括内燃机,该内燃机耦合到将旋转运动传递到车轮1060的变速器;包括电池、电动机和将旋转运动传递到车轮1060的变速器的电力动力总成;混合动力总成,其包括常规动力总成和电动动力总成的要素;或任何其他类型的推进力。动力系统2010与处理器1020和人类驾驶员通信并从其接收输入。人类驾驶员可以经由例如加速踏板和/或变速杆(未示出)来控制动力系统2010。
参照图1和图2,转向系统1030通常是已知的交通工具转向子系统,并且控制车轮1060的转动。转向系统1030与方向盘1070和处理器1020通信并从其接收输入。转向系统1030可以是具有经由转向致动器1040、线控转向系统(二者在本领域中都是已知的)或任何其他合适的系统的电力辅助转向的齿条齿轮(rack-and-pinion)系统。转向系统1030可以包括方向盘1070,该方向盘1070固定至耦合到转向齿条(steering rack)1090的转向柱1080。
参照图1,转向齿条1090例如以四杆连杆机构可旋转地耦合到车轮1060。转向齿条1090的平移运动导致车轮1060转变方向。转向柱1080可以经由齿条齿轮(即,在小齿轮和齿条传动之间的齿轮啮合(未示出))而耦合到转向齿条1090。
转向柱1080将方向盘1070的旋转传递为转向齿条1090的移动。转向柱1080可以是例如将方向盘1070连接到转向齿条1090的杆。转向柱1080可以容纳扭转传感器和离合器(未示出)。
方向盘1070通过将方向盘1070的旋转传输为转向齿条1090的移动而允许操作者操纵交通工具1000。方向盘1070可以是例如固定地附接到转向柱1080的刚性环,诸如是已知的。
继续参照图1,转向致动器1040耦合到转向系统1030,例如转向柱1080,以便引起车轮1060的转动。例如,转向致动器1040可以是可旋转地耦合到转向柱1080的电动机,即,被耦合以便能够将转向扭矩施加至转向柱1080。转向致动器1040可以与处理器1020通信。
转向致动器1040可以向转向系统1030提供动力辅助。换句话说,转向致动器1040可以在人类驾驶员使方向盘1070旋转的方向上提供扭矩,从而允许该驾驶员以较小的努力来转动方向盘1070。转向致动器1040可以是电动辅助转向致动器。
参照图1和图2,制动系统2020通常是已知的交通工具制动子系统,并且抵抗交通工具1000的运动,从而使交通工具1000减慢和/或停止。制动系统2020包括耦合到车轮1060的制动器1050。制动器1050可以是摩擦制动器,诸如盘式制动器、鼓式制动器、带式制动器等等;再生制动器;任何其他合适类型的制动器;或组合。制动器1050可以耦合到例如交通工具1000的相反侧上的相应车轮1060。制动系统2020与处理器1020和人类驾驶员通信并从其接收输入。人类驾驶员可以经由例如制动踏板(未示出)来控制制动。
参照图2,交通工具1000可以包括传感器2030。传感器2030可以检测交通工具1000的内部状态,例如,车轮速度、车轮取向以及发动机和变速器变量。传感器2030可以检测交通工具1000的方位或取向,例如,全球定位系统(GPS)传感器;加速度计,诸如压电或微机电系统(MEMS);陀螺仪,诸如速率、环形激光器或光纤陀螺仪;惯性测量单元(IMU);以及磁力计。传感器2030可以检测外部世界,例如是雷达传感器、扫描激光测距仪、光检测和测距(LIDAR)设备以及诸如相机之类的图像处理传感器。传感器2030可以包括通信设备,例如,交通工具对基础设施(V2I)设备、交通工具对交通工具(V2V)设备或交通工具对一切(V2E)设备。
用户接口2040向交通工具1000的乘员呈现信息,并且从其接收信息。用户接口2040可以位于例如交通工具1000的乘客室(未示出)中的仪表板上,或者可以被乘员容易看到的任何地方。用户接口2040可以包括用于输出(即,向乘员提供信息)的拨号盘、数字读数器、屏幕、扬声器等等,例如,包括诸如是已知的元件的人机接口(HMI)。用户接口2040可以包括按钮、旋钮、小键盘、触摸屏、传声器等等,以用于接收来自乘员的输入,即信息、指令等。
图3是根据本公开的实施例的交通工具控制系统3000的示例的示图。交通工具控制系统3000可以取决于特定实现方式的要求而包括各种组件。在一些实施例中,交通工具控制系统3000可以包括处理单元3010、图像获取单元3020、方位传感器3030、一个或多个存储单元3040、3050、地图数据库3060、用户接口3070和无线收发器3072。处理单元3010可以包括一个或多个处理设备。在一些实施例中,处理单元3010可以包括应用处理器3080、图像处理器3090或任何其他合适的处理设备。类似地,取决于特定应用的要求,图像获取单元3020可以包括任何数量的图像获取设备和组件。在一些实施例中,图像获取单元3020可以包括一个或多个图像捕获设备(例如,相机、CCD或任何其他类型的图像传感器),诸如图像捕获设备3022、图像捕获设备3024、图像捕获设备3026。系统3000还可包括将处理单元3010通信地连接到图像获取单元3020的数据接口3028。例如,数据接口3028可以包括用于将由图像获取单元3020获取的图像数据传输到处理单元3010的任何一个或多个有线和/或无线链路。
无线收发器3072可以包括一个或多个设备,该设备被配置成通过使用射频、红外频率、磁场或电场通过空中接口交换至一个或多个网络(例如,蜂窝、互联网等)的传输。无线收发器3072可以使用任何已知的标准来发送和/或接收数据(例如,Wi-Fi、 蓝牙智能、802.15.4、ZigBee等)。这样的传输可以包括从主交通工具到一个或多个远程服务器的通信。这样的传输还可以包括在主交通工具的环境中的主交通工具与一个或多个目标交通工具之间的通信(单向或双向)(例如,便于在主交通工具的环境中鉴于或与目标交通工具一起的主交通工具的导航协调),或甚至是到传输交通工具附近的未指定接收者的广播传输。
应用处理器3080和图像处理器3090两者都可以包括各种类型的基于硬件的处理设备。例如,应用处理器3080和图像处理器3090中的一个或两个都可以包括微处理器、预处理器(诸如图像预处理器)、图形处理器、中央处理单元(CPU)、支持电路、数字信号处理器、集成电路、存储器,或适用于运行应用以及用于图像处理和分析的任何其他类型的设备。在一些实施例中,应用处理器3080和/或图像处理器3090可以包括任何类型的单核或多核处理器、移动设备微控制器、中央处理单元等等。
在一些实施例中,应用处理器3080和/或图像处理器3090可以包括具有本地存储器和指令集的多个处理单元。这样的处理器可以包括用于从多个图像传感器接收图像数据的视频输入,并且还可以包括视频输出能力。在一个示例中,处理器可使用以332Mhz操作的90nm微米技术。
本文中公开的任何处理设备可以被配置成实行某些功能。配置诸如所描述的处理器、其他控制器或微处理器中的任何一个的处理设备以实行某些功能可以包括:对计算机可执行指令编程,并使那些指令可用于处理设备以供处理设备的操作期间执行。在一些实施例中,配置处理设备可以包括:直接用架构指令对处理设备进行编程。在其他实施例中,配置处理设备可以包括:在操作期间将可执行指令存储在处理设备可访问的存储器上。例如,处理设备可以在操作期间访问存储器以获得并执行所存储的指令。在任一情况下,被配置成实行本文中公开的感知、图像分析和/或导航功能的处理设备表示控制主交通工具的多个基于硬件的组件中的基于专用硬件的系统。
虽然图3描绘了处理单元3010中所包括的两个单独的处理设备,但是可以使用更多或更少个处理设备。例如,在一些实施例中,单个处理设备可以被用来完成应用处理器3080和图像处理器3090的任务。在其他实施例中,可以由多于两个处理设备实行这些任务。此外,在一些实施例中,交通工具控制系统3000可以包括处理单元3010中的一个或多个,而不包括诸如图像获取单元3020之类的其他组件。
处理单元3010可以包括各种类型的设备。例如,处理单元3010可以包括各种设备,诸如控制器、图像预处理器、中央处理单元(CPU)、支持电路、数字信号处理器、集成电路、存储器或用于图像处理和分析的任何其他类型的设备。图像预处理器可以包括:视频处理器,以用于捕获、数字化和处理来自图像传感器的图像。CPU可以包括任何数量的微控制器或微处理器。支持电路可以是本领域通常公知的任何数量的电路,包括高速缓存、电源、时钟和输入输出电路。存储器可以存储软件,该软件在由处理器执行时控制系统的操作。存储器可以包括数据库和图像处理软件。存储器可以包括任何数量的随机存取存储器、只读存储器、闪速存储器、磁盘驱动器、光学存储器、磁带存储器、可移动存储装置和其他类型的存储装置。在一个实例中,存储器可以与处理单元3010分离。在另一实例中,存储器可以被集成到处理单元3010中。
每个存储器3040、3050可以包括软件指令,该软件指令在由处理器(例如,应用处理器3080和/或图像处理器3090)执行时,可以控制交通工具控制系统3000的各个方面的操作。这些存储单元可以包括各种数据库和图像处理软件,以及经训练的系统,诸如例如神经网络或深度神经网络。存储器单元3040、3050可以包括随机存取存储器、只读存储器、闪速存储器、磁盘驱动器、光学存储装置、磁带存储装置、可移动存储装置和/或任何其他类型的存储装置。在一些实施例中,存储单元3040、3050可以与应用处理器3080和/或图像处理器3090分离。在其他实施例中,这些存储器单元可以被集成到应用处理器3080和/或图像处理器3090中。
方位传感器3030可以包括适合于确定与交通工具控制系统3000的至少一个组件相关联的位置的任何类型的设备。在一些实施例中,方位传感器3030可以包括GPS接收器。这样的接收器可以通过处理由全球定位系统卫星广播的信号来确定用户方位和速度。可以使得来自方位传感器3030的方位信息可用于应用处理器3080和/或图像处理器3090。
在一些实施例中,交通工具控制系统3000可以包括诸如用于测量交通工具1000的速度的速度传感器(例如,速度计)之类的组件。交通工具控制系统3000还可以包括一个或多个加速度计(单轴或多轴的),以用于测量交通工具1000沿一个或多个轴线的加速度。
存储单元3040、3050可以包括数据库或以任何其他形式组织的数据,其指示已知地标的位置。可以将环境的感官信息(诸如图像、雷达信号、来自LIDAR的深度信息或两个或更多个图像的立体处理)与方位信息(诸如GPS坐标、交通工具的自我运动等)一起处理,以确定交通工具相对于已知地标的当前位置,并完善交通工具位置。
用户接口3070可以包括适合于向交通工具控制系统3000的一个或多个用户提供信息或从其接收输入的任何设备。在一些实施例中,用户接口3070可以包括:用户输入设备,其包括例如,触摸屏、传声器、键盘、指针设备、轨道轮、相机、旋钮、按钮等等。利用这样的输入设备,用户可以能够通过键入指令或信息、提供语音命令、使用按钮、指针或眼睛跟踪功能在屏幕上选择菜单选项,或通过用于将信息传送给交通工具控制系统3000的任何其他合适技术来向交通工具控制系统3000提供信息输入或命令。
用户接口3070可以配备有一个或多个处理设备,该处理设备被配置成向用户提供信息或从用户接收信息,并处理该信息以供例如应用处理器3080使用。在一些实施例中,这样的处理设备可以执行用于识别和跟踪眼睛运动、接收和解释语音命令、识别和解释在触摸屏上做出的触摸和/或手势、响应于键盘输入或菜单选择等的指令。在一些实施例中,用户接口3070可以包括显示器、扬声器、触觉设备和/或用于向用户提供输出信息的任何其他设备。
地图数据库3060可以包括用于存储对交通工具控制系统3000有用的地图数据的任何类型的数据库。在一些实施例中,地图数据库3060可以包括与各种项目在参考坐标系中的方位有关的数据,这些项目包括道路、水文特征、地理特征、商业、感兴趣点、饭店、加油站等。地图数据库3060可以不仅存储这些项目的位置,而且可以存储与那些项目有关的描述符,例如包括与任何存储的特征相关联的名称。在一些实施例中,地图数据库3060可以利用交通工具控制系统3000的其他组件物理地定位。替换地或附加地,地图数据库3060或其一部分可以相对于交通工具控制系统3000的其他组件(例如,处理单元3010)位于远处。在这样的实施例中,来自地图数据库3060的信息可以通过有线或无线数据连接下载到网络(例如,通过蜂窝网络和/或互联网等)。在一些情况下,地图数据库3060可以存储稀疏数据模型,该稀疏数据模型包括用于主交通工具的某些道路特征(例如,车道标记)或目标轨迹的多项式表示。地图数据库3060还可以包括所存储的各种识别出的地标的表示,其可以被用来确定或更新主交通工具相对于目标轨迹的已知方位。地标表示可以包括数据字段,诸如地标类型、地标位置以及其他潜在的标识符。
图像捕获设备3022、3024和3026可以均包括适合于从环境捕获至少一个图像的任何类型的设备。此外,任何数量的图像捕获设备可以被用来获取图像以输入到图像处理器。一些实施例可以仅包括单个图像捕获设备,而其他实施例可以包括两个、三个或甚至四个或更多个图像捕获设备。下文将参照图4进一步描述图像捕获设备3022、3024和3026。
一个或多个相机(例如,图像捕获设备3022、3024和3026)可以是交通工具上包括的感知模块的一部分。感知模块中可以包括各种其他传感器,并且可以依赖任何或所有传感器来形成感知到的交通工具的导航状态。除了相机(向前的、侧面的、向后的等)外,其他传感器(诸如RADAR、LIDAR和声学传感器)也可以包含在感知模块中。附加地,感知模块可以包括一个或多个组件,该一个或多个组件被配置成传送和发送/接收与交通工具的环境有关的信息。例如,这样的组件可以包括:无线收发器(RF等),其可以相对于基于主交通工具传感器的信息或与主交通工具的环境有关的任何其他类型的信息从远程定位的源接收。这样的信息可以包括传感器输出信息或从除主交通工具以外的交通工具系统接收的相关信息。在一些实施例中,这样的信息可以包括从远程计算设备、集中式服务器等接收的信息。此外,相机可以采取许多不同的配置:单个相机单元、多个相机、相机集群、长FOV、短FOV、广角、鱼眼等等。
图4是根据本公开的实施例的包括交通工具控制系统3000的交通工具1000的侧视图的示例的示图。例如,交通工具1000可以配备有处理单元3010和交通工具控制系统3000的任何其他组件,如以上相对于图3所描述的。尽管在一些实施例中,交通工具1000可以仅配备有单个图像捕获设备(例如,相机),但是在其他实施例中,可以使用多个图像捕获设备。例如,如图4所示,交通工具1000的图像捕获设备3022和3024中的任一个都可以是自动驾驶系统成像装置的一部分。
作为图像获取单元3020的一部分的包括在交通工具1000上的图像捕获设备可以被定位在任何合适的位置处。在一些实施例中,图像捕获设备3022可以位于后视镜附近。该方位可以提供与交通工具1000的驾驶员的视线相似的视线,这可以有助于确定驾驶员可见和不可见的内容。图像捕获设备3022可以定位在后视镜附近的任何位置,但是将图像捕获设备3022放置在后视镜的驾驶员侧可以进一步有助于获得代表驾驶员的视野和/或视线的图像。
也可以使用图像获取单元3020的图像捕获设备的其他位置。例如,图像捕获设备3024可以位于交通工具1000的保险杠之上或之中。这样的位置可能尤其适合于具有宽视野的图像捕获设备。位于保险杠的图像捕获设备的视线可能与驾驶员的视线不同,并且因此,保险杠图像捕获设备和驾驶员可能并不总是看到相同的对象。图像捕获设备(例如,图像捕获设备3022、3024和3026)也可以位于其他位置。例如,图像捕获设备可以位于交通工具1000的侧镜的一个或两个之上或之中、在交通工具1000的车顶上、在交通工具1000的发动机盖上、在交通工具1000的后备箱上、在交通工具1000的侧面上、被安装在交通工具1000的任何窗户上、或被定位在其后面或被定位在其前面,以及安装在交通工具1000的前面和/或后面的灯固定架中或在其附近。
除图像捕获设备外,交通工具1000还可以包括交通工具控制系统3000的各种其他组件。例如,处理单元3010可以包括在交通工具1000上,与交通工具的发动机控制单元(ECU)集成在一起或与其分离。交通工具1000还可以配备有方位传感器3030(诸如GPS接收器),并且还可以包括地图数据库3060以及存储器单元3040和3050。
如之前讨论的,无线收发器3072可以和/或通过一个或多个网络(例如,蜂窝网络、互联网等)接收数据。例如,无线收发器3072可以将由交通工具控制系统3000收集的数据上传到一个或多个服务器,并且从一个或多个服务器下载数据。经由无线收发器3072,交通工具控制系统3000可以例如接收对存储在地图数据库3060、存储器3040和/或存储器3050中的数据的定期或按需更新。类似地,无线收发器3072可以从交通工具控制系统3000上传任何数据(例如,图像获取单元3020捕获的图像,方位传感器3030或其他传感器、交通工具控制系统等接收的数据)和/或将处理单元3010处理的任何数据上传到一个或多个服务器。
交通工具控制系统3000可以基于隐私级别设置将数据上传到服务器(例如,上传到云)。例如,交通工具控制系统3000可以实现隐私级别设置,以调节或限制被发送到服务器的数据的类型(包括元数据),该数据可以唯一地标识交通工具和/或交通工具的驾驶员/所有者。这样的设置可以由用户经由例如无线收发器3072设置,通过出厂默认设置或通过无线收发器3072接收到的数据进行初始化。
图5是根据本公开的实施例的交通工具系统架构5000的示例的示图。交通工具系统架构5000可以被实现为主交通工具5010的一部分。
交通工具系统架构5000包括:导航设备5090、决策单元5130、对象检测器5200、V2X通信5160和交通工具控制器5020。决策单元5130可以使用导航设备5090来确定主交通工具5010到目的地的行驶路径。该行驶路径例如可以包括行驶路线或导航路径。导航设备5090、决策单元5130和交通工具控制器5020可以被共同地用来确定在沿道路操纵主交通工具5010的位置,使得主交通工具5010相对于例如车道标记、路缘、交通标志、行人、其他交通工具等适当地位于道路上,基于指导主交通工具5010来跟随以到达目的地的数字地图特征来确定路线,或这两者。
为了确定主交通工具5010在数字地图5120上的位置,导航设备5090可以包括定位设备5140。相机5170、雷达单元5190、声纳单元5210、LIDAR单元5180或其任何组合可以被用来检测在主交通工具5010附近的在数字地图5120上指示的相对永久的对象(例如交通信号、建筑物等),并且确定相对于那些对象的相对位置,以便确定主交通工具5010在数字地图5120上的位置。可以将此过程称为地图定位。导航设备5090的功能、由导航设备5090提供的信息,或二者可以全部或部分地通过V2I通信、V2V通信、交通工具到行人(V2P)通信或其组合(通常可以将其标记为V2X通信5160)来提供。导航设备5090、定位设备5140或两者可以包括(一个或多个)处理器,诸如微处理器或其他控制电路,诸如模拟电路、或数字电路或两者,包括用于处理数据的专用集成电路(ASIC)。导航设备5090、定位设备5140或两者可以包括存储器,其包括非易失性存储器,诸如用于存储一个或多个例程、阈值、捕获的数据或其组合的电可擦除可编程只读存储器(EEPROM)。
在一些实现方式中,对象检测器5200可以包括声纳单元5210、相机5170、LIDAR单元5180和雷达单元5190。对象检测器5200可以被用来检测另一实体的相对位置,并且确定另一实体将与主交通工具5010的行驶路径相交的交点。为了确定交点和主交通工具5010和另一实体何时将到达该交点的相对定时,交通工具系统架构5000可以使用对象检测器5200来确定例如相对速度、另一实体与主交通工具5010的分隔距离,或两者。对象检测器5200的功能、或对象检测器5200提供的信息或两者,可以全部或部分地通过V2I通信、V2V通信、V2P通信或它们的组合(其通常可以被标记为V2X通信5160)来进行。因此,交通工具系统架构5000可以包括收发器以实现这样的通信。
交通工具系统架构5000包括:与对象检测器5200和导航设备5090通信的决策单元5130。该通信可以通过但不限于有线、无线通信或光纤的方式。决策单元5130可以包括一个或多个处理器(诸如微处理器),或其他控制电路(诸如模拟电路、数字电路,或两者),包括用于处理数据的专用集成电路(ASIC)。决策单元5130可以包括存储器,该存储器包括非易失性存储器,诸如用于存储一个或多个例程、阈值、捕获的数据或其组合的电可擦除可编程只读存储器(EEPROM)。决策单元5130可以确定或控制主交通工具5010的路线或路径计划、本地驾驶行为和轨迹计划。
交通工具系统架构5000包括与决策单元5130通信的交通工具控制器或轨迹跟踪器5020。交通工具控制器5020可以通过将适当的交通工具命令(例如转向、节气、制动等等运动)应用于沿着几何路径引导交通工具的物理控制机构(诸如转向、加速器、制动器等等)来执行定义的几何路径。交通工具控制器5020可以包括诸如微处理器之类的(一个或多个)处理器或诸如模拟电路、数字电路或两者的其他控制电路,包括用于处理数据的专用集成电路(ASIC)。交通工具控制器5020可以包括存储器,该存储器包括非易失性存储器,诸如用于存储一个或多个例程、阈值、捕获的数据或其组合的电可擦除可编程只读存储器(EEPROM)。
主交通工具5010可以在不需要人类操作员来操作交通工具5010的自动模式下操作。在自动模式下,交通工具控制系统5000(例如使用交通工具控制器5020、决策单元5130、导航设备5090、对象检测器5200以及其他所述传感器和设备)自动地控制交通工具5010。替换地,主交通工具可以在手动模式下操作,其中自动的程度或级别可能仅仅是向操作员提供转向建议。例如,在手动模式下,交通工具系统架构5000可以根据需要协助操作员到达所选目的地,避免与另一实体的干扰或碰撞,或者两者,其中另一实体可以是另一交通工具、行人、建筑物、树、动物或交通工具5010可能遇到的任何其他对象。
图6是根据本公开的实施例的用于预测高置信度密集点云的方法6000的示例的流程图。在一些实施方式中,方法6000可以包括预测深度补全误差地图。方法6000可以由任何处理器执行,所述处理器例如图3的应用处理器3080,图3的图像处理器3090,图5的对象检测器5200或其任意组合。
参照图6,方法6000包括获得原始传感器数据6010。原始传感器数据6010可以包括任何类型的传感器数据,其包括例如原始LIDAR数据。由于LIDAR传感器的光束数量受限,原始LIDAR数据可能包含稀疏的三维点云。稀疏的三维点云稀疏性可能大于95%,使得超过95%的数据可能为零。传感器数据可以包括从相机获得的二维图像数据。在一些实施例中,方法6000可以包括从LIDAR传感器和图像传感器(诸如相机)两者获得原始传感器数据。
方法6000包括将稀疏三维点云投影6020到二维图像空间上以获得6030稀疏深度。二维图像空间中的每个像素的值可以对应于每个像素的深度。例如,深度值可以对应于相机坐标系中的Z值。方法6000包括从稀疏深度获得6040预测深度。方法6000包括从稀疏深度获得6050预测误差地图。方法6000包括获得6060高置信度点云。高置信度点云可以基于预测深度地图,或预测误差地图,或其两者。在一些实施方式中,方法6000可包括将预测深度地图转换6070为三维预测点云,或将预测误差地图转换6080为三维预测误差地图,或其两者。在一些实施方式中,高置信度点云可以基于三维预测点云,或三维预测误差地图,或其两者。
图7是根据本公开的实施例的U-Net编码器-解码器架构7000的示例的图。U-Net编码器-解码器架构7000包括收缩路径7100和扩展路径7200。在该示例中,收缩路径7100由连续的层补充,其中,池化运算符被上采样运算符代替。来自收缩路径7100的高分辨率特征可以与对输出进行上采样以定位数据。然后,连续的卷积层可以基于局部数据来学习组装更精确的输出。
如图7所示,每个白框(例如框7110)对应于一个多通道特征地图。每个阴影框(例如框7210)对应于复制的特征地图。每个阴影线箭头(例如箭头7125)表示复制和裁剪功能。实线箭头(例如箭头7120)表示卷积,后跟纠正线性单元(ReLU)。可以使用任何卷积,例如3x3卷积。点画箭头(例如箭头7130)表示用于下采样的最大池化操作。可以使用任何最大池化操作,例如,具有步幅(stride)2的2x2最大池化操作。在每个下采样步骤中,特征通道的数量可能会加倍。
扩展路径7200的每个步骤都包括对带状箭头(例如,箭头7220)所示的特征地图的上采样。每个上采样步骤之后都是卷积。卷积可以是2x2卷积,其使特征通道数量减半。扩展路径7200的每个步骤包括与来自收缩路径7100的相应裁剪的特征地图(例如框7230)的连结。扩展路径7200的每个步骤两个卷积,每个卷积之后是ReLU,如实线箭头所示。卷积可以是3×3卷积。由于每次卷积中边界像素的丢失,可能需要裁剪。在最后一层,可以使用1x1卷积(如阴影线箭头7240所示)将每个组成特征向量映射到所需数目的类别。
图8是根据本公开的实施例的用于深度补全的网络架构8000的示例的图。网络架构8000可以在任何处理器中实现,所述处理器例如图3的应用处理器3080,图3的图像处理器3090,图5的对象检测器5200或其任意组合。网络架构8000可以跨多个处理器,多个设备或跨其两者实现。网络架构8000的一个或多个部分可以被配置为执行图6的方法6000。
网络架构8000包括分离部分8100,增强部分8200和清除(purging)部分8300。分离部分8100可以被配置为从前景深度地图填充和分离背景深度地图。增强部分8200可以包括被配置为提取深度特征的编码器-解码器架构。清除部分8300可以被配置为同时学习密集深度和模型误差。
分离部分8100被配置为获得稀疏输入图像8110。稀疏输入图像8110包括稀疏深度数据。为了估计背景深度地图8120和前景深度地图8130,可以将最大池化操作8140和最小池化操作8150应用于稀疏输入图像8110。最大池化操作8140和最小池化操作8150可以与任何大小的内核和任何步幅一起应用。例如,最大池化操作8140和最小池化操作8150可以与15x15的内核和步幅1一起应用。由于输入图像是稀疏的,因此在最小池化操作8150中可以忽略零像素。在一些实施方式中,最近邻插值可以用作卷积神经网络模型的指导。最近邻插值可以提供密集深度的估计,但是它可能不考虑LIDAR翘曲效应和仅关注前景对象的事实。
当将三维LIDAR点云投影到相机二维空间上时,由于RGB相机和LIDAR传感器之间的位移,前景深度地图8130和背景深度地图8120可能会经历翘曲。可以创建任何深度补全数据集的地面实况(ground truth)。例如,可以通过在LIDAR扫描深度和立体重建方法产生的深度之间强制执行一致性并去除具有较高相对误差的点来创建卡尔斯鲁厄理工学院(KITTI)深度补全数据集的地面实况。因此,深度补全数据集可以仅覆盖前景对象。为了指导网络架构8000学习发生翘曲变换的区域,分离部分8100可以将估计的前景深度地图8130和背景深度地图8120与稀疏深度8110连结在一起。
分离部分8100可以被配置为输出前景深度,或背景深度,或两者的粗略密集估计。可以在背景地图8120中包括背景深度的粗略密集估计,并且可以在前景地图8130中包括前景深度的粗略密集估计。分离部分8100可以被配置为将背景地图8120,前景地图8130或两者与稀疏输入图像8110连结在一起,并将连结图像输出为增强部分8200。
增强部分8200被配置为从分离部分8100接收连结图像。增强部分8200可以包括编码器-解码器架构。例如,增强部分8200可以包括图7所示的U-Net编码器-解码器架构7000。编码器-解码器架构8210可以包括8个残余块(residual block),例如,用于编码的4个残余块和用于解码的4个残余块。每个残余块可以被配置为对连结图像执行下采样操作8220和上采样操作8230。每个下采样操作8220,或上采样操作8230,或其两者都可以将连结图像按比例缩小或放大2倍。连结图像可以是与背景地图8120和前景地图8130连结在一起的稀疏输入图像8110。增强部分8200的输出可以包括任何数量的特征地图,每个特征地图具有任何尺寸。例如,增强部分8200可以输出32个特征地图,每个特征地图具有与稀疏输入图像8110相同的尺寸。
清除部分8300被配置为接收增强部分8200的输出。清除部分8300可以被配置为确定密集深度地图,或预测深度的误差地图,或其两者。网络架构8000可以被配置为通过在每个训练步骤中估计网络误差来确定或学习误差地图。例如,可以通过在每个步骤中改变网络的权重以最小化目标函数来逐步执行网络的训练。参照图8,清除部分8300包括分开的流,以捕获流之间的模态差异。例如,清除部分可以包括深度流8310和误差流8320。每个流可以包括任意数量的特征地图。例如,每个流可包括可用于预测最终密集深度地图8330,或误差地图8340,或两者的16个特征地图。
深度流8310可以被配置为预测密集深度。误差流8320可以被配置为预测深度流逐像素误差。每个预测都可以有其自己的损失函数,其可被表示为Lossdepth和Losserror。损失函数Lossdepth可以表示为:
其中w和h分别表示深度图像的宽度和高度,并且Y和分别是预测的密集深度和Kitti深度真值(depth ground truth)。
可以首先生成误差地图的地面实况,以计算Losserror。为了生成误差地面实况,可创建的副本。/>可以表示逐像素绝对误差。该副本在每个训练步骤中可能没有后向梯度路径,并表示为gterror。在训练期间,gterror可以视为常量,并且可以用作计算Losserror的误差地图的地面实况。复制操作可以用“←:”表示,如下:
并将Losserror定义为gterror与E之间的均方误差,其将网络预测表示误差如下:
为了训练神经网络,可以在第一步中运行网络的前向路径。在第二步骤中,可以使用地面实况来计算损失。在第三步骤中,可以在后向路径中计算梯度以修改网络的权重以最小化损失函数。gterror可以在每个训练步骤中进行更新,以表示新的误差标签。新的误差标签可以是每个训练步骤的特定误差标签。在某些实施方式中,如果不停止gterror的梯度的后向路径,则最小化Losserror可能会导致E和两者朝着彼此移动,而可能打算仅针对该部分中的E进行优化。
在训练过程中,可以在计算一个图像、所有图像或一批次图像的损耗之后更新网络权重。在一批次的示例中,可以在没有后向梯度路径的情况下执行复制操作以标准化微批次损失。在每个训练步骤中,可以使损耗相对于基线的比率最小化,而不是使常规损耗最小化。在没有后向梯度路径的情况下,基线可以是当前损耗的副本。以这种方式,由于归一化,有可能实现两倍快的收敛时间和更好的结果。在一些实施例中,使用了比率损失(即,使用归一化来计算损失),所有微批次都可以具有相同的重要性,而与损失值无关,这是因为损失改善的反比而不是损失值被最小化了。比率损失可用于最小化多个目标,例如深度地图损失和误差地图损失,同时无需调整损失值之间的加权。在该示例中,网络架构8000可以被强制具有相同的重要性,以使每个训练步骤的多个损失最小化。分别由baselinedepth和baselineerror复制Lossdepth和Losserror如下:
baselinedepth←:Lossdepth (4)
baselineerror←:Losserror (5)
在此示例中,Lossdepth和Losserror的值可能会有很大差异,将它们相加在一起可能导致网络架构8000专注于Lossdepth。损失的归一化值可以一起添加到预测中。相应地,Losstotal可以计算如下:
其中Losstotal是发送到优化器的最终损失函数。优化器可以是网络末端的单元,其被配置为修改网络的权重以最小化训练过程期间的损失函数。比率损失可以实现误差地图的预测,而不会降低关于深度预测的均方根误差(RMSE)的模型性能。在没有比率损失的情况下,网络架构8000可能无法同时最小化两个目标。
图9是使用方法6000和网络架构8000产生的示例地图9000的流程图。方法6000可以由任何处理器执行,所述处理器例如图3的应用处理器3080,图3的图像处理器3090,或图5的对象检测器5200,或其任何组合。
参考图9,获得原始传感器数据9010。该原始传感器数据9010可以包括任何类型的传感器数据,其包括例如原始LIDAR数据。由于LIDAR传感器的光束数量受限,原始LIDAR数据可能包含稀疏的三维点云。该稀疏的三维点云的稀疏性可能大于95%,使得超过95%的数据可能为零。
在该示例中被示为稀疏三维点云的原始传感器数据9010可以被转换为二维图像空间以获得稀疏深度9020。二维图像中的每个像素的值空间可以对应于每个像素的深度。例如,深度值可以对应于相机坐标系中的Z值。稀疏深度9020包括稀疏深度数据。稀疏深度9020可用于估计背景深度地图9030和前景深度地图9040。背景深度地图9030可以是RGB图像,其基于彩虹标度来估计背景深度,例如,其中红色像素表示距离较远的对象,蓝色像素表示更靠近传感器或检测器的对象。在该示例中,以灰度示出背景深度地图9030,其中像素的亮度指示被检测对象与传感器或检测器的相对距离。例如,像素越暗,则对象离传感器越近,而最亮的像素表示距传感器或检测器最远的对象。前景深度地图9040可以是基于彩虹标度估计前景深度的RGB图像,例如,其中红色像素指示距离较远的对象,而蓝色像素指示距离传感器或检测器较近的对象。在该示例中,前景深度图9040以灰度示出,其中像素的亮度指示被检测对象与传感器或检测器的相对距离。例如,像素越暗,则对象离传感器越近,而最亮的像素表示距传感器或检测器最远的对象。
稀疏深度9020可以与背景深度地图9030和前景深度地图9040连结,并通过编码器-解码器架构8210进行处理(如图8所示),以产生预测深度地图9050和预测误差地图9060。预测深度地图9050,预测误差地图9060或其两者可以是密集地图或半密集地图。预测深度地图9050可以是基于彩虹标度估计深度的RGB图像,例如,其中红色像素指示距离更远的对象,而蓝色像素指示距离传感器或检测器更近的对象。在该示例中,以灰度示出了预测深度地图9050,其中像素的亮度指示了被检测对象与传感器或检测器的相对距离。例如,像素越暗,则对象离传感器越近,而最亮的像素表示距传感器或检测器最远的对象。预测误差地图9060可以是基于彩虹标度估计误差的RGB图像,例如,其中红色像素指示具有高误差的对象而蓝色像素指示具有低误差的对象。在该示例中,预测误差地图9060以灰度示出,其中像素的亮度指示检测到的对象的相对误差。例如,像素越暗,误差越低,而最亮的像素代表具有最高误差的对象。如预测误差地图9060中所示,在稀疏深度9020中没有深度值的天空和区域上,预测误差显著增加。基于预测误差地图9060,网络架构被配置为确定产生较大误差的边缘。
可以从预测深度地图9050中去除预测误差地图9060中具有预测高误差的像素,以获得置信深度地图9070。高误差像素的去除可以基于阈值。阈值可以是任何值。例如,可以去除预测误差大于585mm的像素。然后,可以使用置信深度地图9070获得高置信度点云9080。高置信度点云9080可以是基于预测误差地图9050、预测深度地图9060或其两者的三维点云。
尽管本文中的一些实施例涉及方法,但是本领域技术人员将领会到,它们也可以被体现为系统或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件方面和硬件方面的实施例的形式,这些软件方面和硬件方面在本文中一般都可以被称为“处理器”、“设备”或“系统”。此外,本发明的各方面可以采用被体现在具有被体现在其上的计算机可读程序代码的一个或多个计算机可读介质中的计算机程序产品的形式。可以利用一个或多个计算机可读介质的任何组合。该计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以例如但不限于是电子的、磁性的、光学的、电磁的、红外的或者半导体的系统、装置或者设备,或者是前述各项的任何合适的组合。计算机可读存储介质的更具体示例(非详尽列表)包括以下各项:具有一条或多条线的电气连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪速存储器)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光学存储设备、磁性存储设备或者前述项的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是可以包含或存储由指令执行系统、装置、或设备使用或与其结合使用的程序的任何有形介质。
计算机可读信号介质可以包括:例如在基带中或者作为载波的部分的具有被体现在其中的计算机可读程序代码的被传播的数据信号。这样的传播信号可以采取多种形式中的任何形式,包括但不限于电磁、光学或其任何合适的组合。计算机可读信号介质可以是并非是计算机可读存储介质的任何计算机可读介质,并且可以传送、传播或传输程序以供指令执行系统、装置或设备使用或与其结合地使用。
可以使用任何适当的介质发送被体现在计算机可读介质上的程序代码,这样的介质包括但不限于CD、DVD、无线、有线、光纤线缆、RF等,或者前述项的任何合适的组合。
用于实施本发明各方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,该一种或多种编程语言包括诸如Java(TM)、Smalltalk、C++等等的面向对象编程语言,以及诸如“C”编程语言或类似编程语言的常规过程编程语言。程序代码可以完全在用户的计算机上、部分地在用户的计算机上、作为独立的软件包、部分地在用户的计算机上并部分地在远程计算机上、或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型的网络连接到用户的计算机,或者可以(例如,使用互联网服务提供商通过互联网)与外部计算机进行连接。
以下参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图对本发明的各方面进行描述。将理解的是,流程图图示和/或框图中的每个框以及流程图图示和/或框图中的各框的组合可以由计算机程序指令来实现。
可以向通用计算机、专用计算机或其它可编程数据处理装置的处理器提供这些计算机程序指令以产生机器,使得经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的部件。这些计算机程序指令还可以存储在可以指导计算机、其它可编程数据处理装置或其它设备以特定方式运行的计算机可读介质中,使得存储在计算机可读介质中的指令产生包括实现在流程图和/或框图的一个或多个框中指定的功能/动作的指令的制品。
计算机程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备上,以引起在计算机、其它可编程装置或其它设备上实行一系列操作步骤,以产生计算机实现的过程,使得在计算机或其它可编程装置上执行的指令提供用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的过程。
附图中的流程图和框图例示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能的实现方式的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以表示包括用于实现(一个或多个)指定的逻辑功能的一个或多个可执行指令的模块、段或代码部分。还将注意到的是,在一些替代的实现方式中,框中提到的功能可以在附图中提到的次序的情况之外发生。
尽管已经结合某些实施例描述了本公开,但是要理解的是,本公开不限于所公开的实施例,而是相反,本公开意图覆盖包括在所附权利要求书的范围内的各种修改、组合和等效布置,该范围要被赋予最宽泛的解释,以便涵盖法律允许的所有此类修改和等同结构。

Claims (15)

1.一种用于获得高置信度点云的方法,所述方法包括:
获得原始三维传感器数据;
将原始的三维传感器数据投影到二维图像空间中;
获得二维图像的稀疏深度数据;
基于所述稀疏深度数据获得预测深度地图;
基于所述稀疏深度数据获得预测误差地图;以及
基于所述预测深度地图和所述预测误差地图输出高置信度点云。
2.根据权利要求1所述的方法,还包括以下步骤其中至少一者:
将预测深度地图转换为三维预测深度地图,其中基于三维预测深度地图输出高置信度点云;
将所述预测误差地图转换为三维预测误差地图,其中,基于所述三维预测误差地图输出高置信度点云。
3.根据权利要求1所述的方法,还包括对所述稀疏深度数据应用最小池化操作以获得前景深度地图。
4.根据权利要求3所述的方法,还包括对所述稀疏深度数据应用最大池化操作以获得背景深度地图。
5.根据权利要求4所述的方法,还包括将所述前景深度地图和所述背景深度地图连结到所述稀疏深度数据以获得连结输入。
6.根据权利要求5所述的方法,还包括使用编码器-解码器架构来处理所述连结输入。
7.根据权利要求6所述的方法,其中,所述编码器-解码器架构的输出包括预测深度地图。
8.根据权利要求7所述的方法,其中,所述编码器-解码器架构的输出还包括预测误差地图。
9.根据权利要求8所述的方法,还包括从所述预测深度地图减去所述预测误差地图以获得所述高置信度点云。
10.一种用于获得高置信度点云的系统,所述系统包括:
第一传感器,其被配置为获得三维传感器数据;
第二传感器,其被配置为获得二维图像数据;以及
处理器,其被配置为:
将所述三维传感器数据投影到二维图像空间中;
基于所述二维图像数据获得稀疏深度数据;
基于所述稀疏深度数据获得预测深度地图;
基于所述稀疏深度数据获得预测误差地图;以及
基于预测深度地图和预测误差地图输出高置信度点云。
11.根据权利要求10所述的系统,其中,所述处理器包括编码器-解码器架构。
12.根据权利要求10所述的系统,其中,所述处理器还被配置成对所述稀疏深度数据应用最大池化操作以获得背景深度地图。
13.根据权利要求12所述的系统,其中,所述处理器还被配置为对所述稀疏深度数据应用最小池化操作以获得前景深度地图。
14.根据权利要求13所述的系统,其中,所述处理器还被配置为将所述前景深度地图和所述背景深度地图连结到所述稀疏深度数据以获得连结输入。
15.根据权利要求10所述的系统,其中,所述第一传感器是光检测和测距传感器。
CN202010453175.3A 2019-06-24 2020-05-27 用于预测高置信度密集点云的深度补全误差地图的方法和装置 Active CN111627054B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/449,621 2019-06-24
US16/449,621 US10929995B2 (en) 2019-06-24 2019-06-24 Method and apparatus for predicting depth completion error-map for high-confidence dense point-cloud

Publications (2)

Publication Number Publication Date
CN111627054A CN111627054A (zh) 2020-09-04
CN111627054B true CN111627054B (zh) 2023-09-01

Family

ID=72259924

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010453175.3A Active CN111627054B (zh) 2019-06-24 2020-05-27 用于预测高置信度密集点云的深度补全误差地图的方法和装置

Country Status (2)

Country Link
US (1) US10929995B2 (zh)
CN (1) CN111627054B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11887358B2 (en) * 2020-06-10 2024-01-30 Ancestry.Com Operations Inc. Systems and methods for identifying and segmenting objects from images
CN114915792B (zh) * 2021-02-08 2024-05-07 荣耀终端有限公司 基于二维规则化平面投影的点云编解码方法及装置
CN112990129B (zh) * 2021-04-27 2021-07-20 长沙万为机器人有限公司 基于视觉与激光雷达联合的三维物体检测方法及系统
CN113610883B (zh) * 2021-04-30 2022-04-08 新驱动重庆智能汽车有限公司 点云处理系统和方法、计算机设备和存储介质
CN113256546A (zh) * 2021-05-24 2021-08-13 浙江大学 一种基于彩色图指导的深度图补全方法
US11587291B2 (en) * 2021-06-30 2023-02-21 Tencent America LLC Systems and methods of contrastive point completion with fine-to-coarse refinement
CN115115790A (zh) * 2022-06-02 2022-09-27 合众新能源汽车有限公司 预测模型的训练方法、地图预测方法及装置
CN116108601B (zh) * 2023-02-21 2023-11-14 国网吉林省电力有限公司长春供电公司 电力缆线深度几何信息补全方法、检测器、设备及介质
CN116528065B (zh) * 2023-06-30 2023-09-26 深圳臻像科技有限公司 一种高效虚拟场景内容光场获取与生成方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105547148A (zh) * 2014-10-10 2016-05-04 手持产品公司 用于提高尺寸标注系统测量准确性的方法
CN108406731A (zh) * 2018-06-06 2018-08-17 珠海市微半导体有限公司 一种基于深度视觉的定位装置、方法及机器人
EP3382645A2 (en) * 2017-03-27 2018-10-03 3Dflow srl Method for generation of a 3d model based on structure from motion and photometric stereo of 2d sparse images
CN109300190A (zh) * 2018-09-06 2019-02-01 百度在线网络技术(北京)有限公司 三维数据的处理方法、装置、设备和存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831087B2 (en) * 2003-10-31 2010-11-09 Hewlett-Packard Development Company, L.P. Method for visual-based recognition of an object
US10848731B2 (en) * 2012-02-24 2020-11-24 Matterport, Inc. Capturing and aligning panoramic image and depth data
EP3286914B1 (en) * 2015-04-19 2019-12-25 FotoNation Limited Multi-baseline camera array system architectures for depth augmentation in vr/ar applications
US20160379366A1 (en) * 2015-06-25 2016-12-29 Microsoft Technology Licensing, Llc Aligning 3d point clouds using loop closures
US10699476B2 (en) * 2015-08-06 2020-06-30 Ams Sensors Singapore Pte. Ltd. Generating a merged, fused three-dimensional point cloud based on captured images of a scene
KR101892737B1 (ko) * 2016-03-17 2018-08-28 한국전자통신연구원 다시점 스테레오 장치 및 방법
US10204262B2 (en) * 2017-01-11 2019-02-12 Microsoft Technology Licensing, Llc Infrared imaging recognition enhanced by 3D verification
US10410406B2 (en) * 2017-02-27 2019-09-10 Trimble Ab Enhanced three-dimensional point cloud rendering
US20190138786A1 (en) * 2017-06-06 2019-05-09 Sightline Innovation Inc. System and method for identification and classification of objects
US11676296B2 (en) * 2017-08-11 2023-06-13 Sri International Augmenting reality using semantic segmentation
US10824862B2 (en) * 2017-11-14 2020-11-03 Nuro, Inc. Three-dimensional object detection for autonomous robotic systems using image proposals
US10970856B2 (en) * 2018-12-27 2021-04-06 Baidu Usa Llc Joint learning of geometry and motion with three-dimensional holistic understanding
US11170299B2 (en) * 2018-12-28 2021-11-09 Nvidia Corporation Distance estimation to objects and free-space boundaries in autonomous machine applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105547148A (zh) * 2014-10-10 2016-05-04 手持产品公司 用于提高尺寸标注系统测量准确性的方法
EP3382645A2 (en) * 2017-03-27 2018-10-03 3Dflow srl Method for generation of a 3d model based on structure from motion and photometric stereo of 2d sparse images
CN108406731A (zh) * 2018-06-06 2018-08-17 珠海市微半导体有限公司 一种基于深度视觉的定位装置、方法及机器人
CN109300190A (zh) * 2018-09-06 2019-02-01 百度在线网络技术(北京)有限公司 三维数据的处理方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN111627054A (zh) 2020-09-04
US20200402246A1 (en) 2020-12-24
US10929995B2 (en) 2021-02-23

Similar Documents

Publication Publication Date Title
CN111627054B (zh) 用于预测高置信度密集点云的深度补全误差地图的方法和装置
US11657604B2 (en) Systems and methods for estimating future paths
CN111532257B (zh) 用于补偿交通工具校准误差的方法和系统
US11669102B2 (en) Navigating a vehicle based on a detected barrier
US10990099B2 (en) Motion planning methods and systems for autonomous vehicle
CN108073170B (zh) 用于自主车辆的自动化协同驾驶控制
US11067693B2 (en) System and method for calibrating a LIDAR and a camera together using semantic segmentation
CN111923927B (zh) 用于交互感知交通场景预测的方法和装置
CN111301425B (zh) 用于自动驾驶车辆的利用动态模型的有效最优控制
CN113039579A (zh) 一种生成高分辨率高精度点云的系统、设备和方法
CN111923928A (zh) 用于自动车辆的决策制定方法和系统
US11144818B2 (en) Network architecture for ego-motion estimation
CN111208814B (zh) 用于自动车辆的、利用动态模型的、基于记忆的最优运动规划
CN110901656A (zh) 用于自动驾驶车辆控制的实验设计方法和系统
US20220148203A1 (en) Training of joint depth prediction and completion
US20210281814A1 (en) Systems and methods for self-supervised depth estimation according to an arbitrary camera
US20210357667A1 (en) Methods and Systems for Measuring and Mapping Traffic Signals
US11238292B2 (en) Systems and methods for determining the direction of an object in an image

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