CN114549610A - 一种点云数据的处理方法及相关装置 - Google Patents

一种点云数据的处理方法及相关装置 Download PDF

Info

Publication number
CN114549610A
CN114549610A CN202011332091.0A CN202011332091A CN114549610A CN 114549610 A CN114549610 A CN 114549610A CN 202011332091 A CN202011332091 A CN 202011332091A CN 114549610 A CN114549610 A CN 114549610A
Authority
CN
China
Prior art keywords
point cloud
cloud data
network
image
feature
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
Application number
CN202011332091.0A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011332091.0A priority Critical patent/CN114549610A/zh
Publication of CN114549610A publication Critical patent/CN114549610A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • 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/10016Video; Image sequence
    • 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/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Abstract

本申请公开了一种人工智能领域的点云数据的处理方法,该方法可以应用于自动驾驶车辆上。该方法包括:获取第一摄像头采集的第一图像;获取激光雷达采集的第一点云数据;将第一图像和第一点云数据输入目标网络中,得到第一目标点云数据;其中,第一目标点云数据对应的线束数量大于第一点云数据对应的线束数量,目标网络用于提取第一图像的深度特征,对第一点云数据进行特征提取和上采样,以得到第一特征,以及对深度特征和第一特征进行融合处理,以得到第一目标点云数据。本方案能够在不部署高线束激光雷达的情况下,获得高线束的点云数据,降低了自动驾驶车辆的成本。

Description

一种点云数据的处理方法及相关装置
技术领域
本申请涉及人工智能(Artificial Intelligence,AI)技术领域,尤其涉及一种点云数据的处理方法及相关装置。
背景技术
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
自动驾驶是人工智能领域的一种主流应用,自动驾驶技术依靠计算机视觉、雷达、监控装置和全球定位系统等协同合作,让机动车辆可以在不需要人类主动操作下,实现自动驾驶。自动驾驶的车辆使用各种计算系统来帮助将乘客从一个位置运输到另一位置。一些自动驾驶车辆可能要求来自操作者(诸如领航员、驾驶员、或者乘客)的一些初始输入或者连续输入。自动驾驶车辆准许操作者从手动模操作式切换到自动驾驶模式或者介于两者之间的模式。由于自动驾驶技术无需人类来驾驶机动车辆,所以理论上能够有效避免人类的驾驶失误,减少交通事故的发生,且能够提高公路的运输效率。因此,自动驾驶技术越来越受到重视。
自动驾驶场景中通常使用激光雷达来获取车辆周围的三维(three dimensional,3D)信息,以实现3D目标的检测。一般来说,3D目标的检测精度与激光雷达所提供的原始点云数据密切相关。例如,低线束激光雷达(例如16线的激光雷达)扫描线束较少,获取到的点云数据比较稀疏,导致3D目标检测精度较低;高线束激光雷达(例如128线的激光雷达)获取到的点云数据较为密集,则能够有效提高3D目标检测精度。
目前,自动驾驶车辆一般使用高线束激光雷达来获取3D信息,以保证3D目标检测精度。然而,高线束激光雷达价格高昂,导致自动驾驶系统成本较高。
发明内容
本申请实施例提供了一种点云数据的处理方法及相关装置,通过获取摄像头拍摄的图像以及低线束激光雷达采集的点云数据,并将图像和点云数据输入融合网络中,以融合图像的深度信息和低线束的点云数据,得到高线束的点云数据。从而能够在不部署高线束激光雷达的情况下,获得高线束的点云数据,降低了自动驾驶车辆的成本。
本申请第一方面提供一种点云数据的处理方法,可以应用于自动驾驶车辆的车载计算平台。该方法包括:获取第一摄像头采集的第一图像;获取激光雷达采集的第一点云数据,该第一摄像头和激光雷达均是安装于自动驾驶车辆上,该激光雷达例如可以为成本较低的低线束激光雷达,例如为4线束激光雷达、8线束激光雷达或16线束激光雷达。将所述第一图像和所述第一点云数据输入目标网络中,得到第一目标点云数据;其中,所述第一目标点云数据对应的线束数量大于所述第一点云数据对应的线束数量,所述目标网络用于提取所述第一图像的深度特征,对第一点云数据进行特征提取和上采样,以得到第一特征,以及对深度特征和第一特征进行融合处理,以得到所述第一目标点云数据。简单来说,该目标网络用于基于图像以及低线束激光雷达所采集的点云数据,预测高线束激光雷达在相同场景下所采集的点云数据。即,第一目标点云数据为预测得到的高线束激光雷达在相同场景下所采集的点云数据,因此,所述第一目标点云数据对应的线束数量大于所述第一点云数据对应的线束数量。
本方案中,通过获取摄像头拍摄的图像以及低线束激光雷达采集的点云数据,并将图像和点云数据输入融合网络中,以融合图像的深度信息和低线束的点云数据,得到高线束的点云数据。从而能够在不部署高线束激光雷达的情况下,获得高线束的点云数据,降低了自动驾驶车辆的成本。
可选的,在一种可能的实现方式中,在所述第一图像的分辨率不高的情况下,所述目标网络还可以是用于提取所述第一图像的深度特征,对深度特征进行上采样,得到第二特征,对第一点云数据进行特征提取和上采样,以得到第一特征,以及对第二特征和第一特征进行融合处理,以得到所述第一目标点云数据。即目标网络还对提取得到的第一图像的深度特征进行上采样,得到分辨率更高的特征,然后再与第一点云数据对应的上采样特征进行融合,得到目标点云数据。例如,在第一图像对应的深度图像与32线束的激光雷达所采集的点云数据对应,且第一点云数据为16线束的点云数据的情况下,目标网络可以提取第一图像的深度特征,并对深度特征进行上采样,得到第二特征,该第二特征与64 线束的激光雷达所采集的点云数据的特征对应。目标网络还对第一点云数据进行特征提取和上采样,以得到第一特征,该第二特征与64线束的激光雷达所采集的点云数据的特征对应。这样,通过对第二特征和第一特征进行融合处理,即可得到第一目标点云数据。
可选的,在一种可能的实现方式中,所述目标网络包括第一网络和第二网络;所述将所述第一图像和所述第一点云数据输入目标网络中,得到第一目标点云数据,包括:将所述第一图像输入所述第一网络中,得到深度图像,所述第一网络用于基于单目图像预测得到深度图像;将所述深度图像和所述第一点云数据输入所述第二网络中,得到所述第一目标点云数据,所述第二网络用于提取所述深度图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。也就是说,自动驾驶车辆中的车载计算平台可以是首先通过第一网络预测得到第一图像对应的深度图像,然后再基于得到的深度图像以及低线束的点云数据,通过第二网络融合得到高线束的点云数据。
本方案中,通过将目标网络分成两个作用不同的网络,可以单独对每个网络进行训练,以确保每个网络的性能,从而提高最终的预测效果。也就是说,通过采用独立的第一网络来提取图像的深度特征信息,可以保证深度特征信息的提取准确性,从而确保后续的预测准确性。
可选的,在一种可能的实现方式中,所述第二网络包括第三网络和第四网络;所述将所述深度图像和所述点云数据输入所述第二网络中,得到所述第一目标点云数据,包括:将所述第一点云数据输入所述第三网络中,得到第二点云数据,所述第二点云数据对应的线束数量大于所述第一点云数据对应的线束数量,所述第三网络用于对所述第一点云数据进行特征提取和上采样,以得到第二点云数据;将所述深度图像和所述第二点云数据输入所述第四网络中,得到所述第一目标点云数据,所述第四网络用于提取所述深度图像的深度特征,对所述第二点云数据进行特征提取,以得到所述第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。简单来说,第二网络进一步分成两个独立的网络(即第三网络和第四网络),第三网络用于只基于低线束的点云数据预测得到高线束的点云数据,第四网络则用于基于深度图像和点云数据预测得到目标点云数据。其中,第四网络预测得到的目标点云数据与输入第四网络的点云数据所对应的线束数量可以是相同。
本方案中,由于在进行图像的深度信息与点云数据的融合之前,先对低线束的点云数据进行预测得到了高线束的点云数据,因此可以保证在无法获取到有效的图像深度信息的情况下,仍然可以保证有较佳的点云数据预测效果,提高了各种场景下的点云数据预测效果。
可选的,在一种可能的实现方式中,所述第二网络包括第一网络层集合、第二网络层集合、第三网络层集合和第四卷积层;所述第一网络层集合用于对所述深度图像进行特征提取以及上采样,得到第二特征;所述第二网络层集合用于对所述第一点云数据进行特征提取以及上采样,得到所述第一特征;所述第三网络层集合用于对所述第一特征和所述第二特征进行拼接处理,得到第三特征;所述第四卷积层用于对所述第三特征进行处理,得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述目标网络包括第一网络和第二网络;所述将所述第一图像和所述点云数据输入目标网络中,得到第一目标点云数据,包括:将所述第一图像输入所述第一网络中,并获取所述第一网络生成的特征图,所述特征图包括所述第一图像中的深度信息,所述第一网络用于基于单目图像预测得到深度图像。示例性地,在该第一网络为用于预测得到深度图像的情况下,可以在将第一图像输入第一网络之后,获取第一网络中倒数第二层网络层所生成的特征图,该特征图的大小与第一图像相同。将所述特征图和所述第一点云数据输入所述第二网络中,得到所述第一目标点云数据,所述第二网络用于基于所述特征图和所述第一点云数据,预测得到所述第一目标点云数据。
由于所述特征图实际上包括了第一图像中的深度特征信息,因此,第二网络可以基于该特征图中的深度特征信息与第一点云数据进行融合,即可预测得到所述第一目标点云数据,从而免去了提取深度图像中的深度特征信息的过程,提高了点云数据的处理效率。
可选的,在一种可能的实现方式中,所述方法还包括:将所述第一点云数据投影到所述第一图像上,以得到所述第一图像对应的第三点云数据,所述第一点云数据包括所述第三点云数据。将所述第一图像和所述第三点云数据输入目标网络中,得到第一目标点云数据。其中,将所述第一点云数据投影到所述第一图像的过程具体可以是对第一点云数据进行坐标系变换,即将第一点云数据的坐标系变换为与第一图像相同的坐标系,从而将第一点云数据的坐标变换为第一图像所在坐标系下的坐标;然后,根据第一图像中各个像素对应的坐标,确定第一点云数据中坐标与其相同的点,从而得到与第一图像对应的第三点云数据。
简单来说,在执行点云数据与图像的深度信息的融合过程之前,可以确定点云数据中与当前图像所对应的部分,然后基于这部分的点云数据以及当前图像进行点云数据的预测。其中,点云数据中与当前图像所对应的部分与当前图像所覆盖的视角范围相同,即这部分点云数据所扫描的场景与当前图像所拍摄的场景是相同的。
可选的,在一种可能的实现方式中,所述方法还包括:获取第二摄像头所采集的第二图像;将所述第一点云数据投影到所述第二图像上,以得到所述第二图像对应的第四点云数据,所述第一点云数据包括所述第四点云数据;将所述第二图像和所述第四点云数据输入目标网络中,得到第二目标点云数据;将所述第一目标点云数据和所述第二目标点云数据进行拼接处理,得到第三目标点云数据。
简单来说,自动驾驶车辆可以获取到多个摄像头所采集的图像,并且将激光雷达采集到的点云数据分别投影到不同的图像中,得到各个图像对应的点云数据。自动驾驶车辆基于各个图像及其对应的点云数据,可以融合得到多份视角范围不相同的目标点云数据,最后将这多份视角范围不相同的目标点云数据进行拼接,即可得到较大视角范围的目标点云数据。
可选的,在一种可能的实现方式中,所述第一图像为单目摄像头所采集的图像。
可选的,在一种可能的实现方式中,所述第一摄像头与所述激光雷达之间已完成标定。
本申请第二方面提供一种网络的训练方法,包括:获取训练样本集,所述训练样本集包括摄像头采集的第一图像、第一激光雷达采集的第一点云数据和第二激光雷达采集的第二点云数据,所述第一激光雷达的线束数量小于所述第二激光雷达的线束数量;将所述第一图像和所述第一点云数据输入待训练网络,得到预测点云数据,其中,所述待训练网络用于提取所述第一图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据;根据所述第二点云数据以及所述预测点云数据,获取第一损失值,所述第一损失值用于描述所述第二点云数据与所述预测点云数据之间的差异;根据所述第一损失值对所述待训练网络的参数进行更新,直至满足网络训练条件,得到目标网络。
可选的,在一种可能的实现方式中,所述待训练网络包括第一网络和第二网络;所述将所述第一图像和所述第一点云数据输入待训练网络,包括:将所述第一图像输入所述第一网络中,得到预测深度图像,所述第一网络用于基于单目图像预测得到深度图像;将所述预测深度图像和所述第一点云数据输入所述第二网络中,得到所述预测点云数据,所述第二网络用于提取所述预测深度图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述第二网络包括第三网络和第四网络;所述将所述预测深度图像和所述第一点云数据输入所述第二网络中,得到所述预测点云数据,包括:将所述第一点云数据输入所述第三网络中,得到第二点云数据,所述第二点云数据对应的线束数量大于所述第一点云数据对应的线束数量,所述第三网络用于对所述第一点云数据进行特征提取和上采样,以得到第二点云数据;将所述预测深度图像和所述第二点云数据输入所述第四网络中,得到所述预测点云数据,所述第四网络用于提取所述预测深度图像的深度特征,对所述第二点云数据进行特征提取,以得到所述第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述待训练网络包括第一网络和第二网络;所述将所述第一图像和所述第一点云数据输入待训练网络,包括:将所述第一图像输入所述第一网络中,得到所述第一网络生成的特征图,所述特征图包括所述第一图像中的深度信息,所述第一网络用于基于单目图像预测得到深度图像;将所述特征图和所述第一点云数据输入所述第二网络中,得到所述预测点云数据,所述第二网络用于基于所述特征图和所述第一点云数据,预测得到所述预测点云数据。
可选的,在一种可能的实现方式中,所述第一图像为单目摄像头所采集的图像。
可选的,在一种可能的实现方式中,所述第一摄像头与所述激光雷达之间已完成标定。
本申请第三方面提供一种点云数据的处理装置,包括获取单元和处理单元;获取单元,用于获取第一摄像头采集的第一图像;获取单元,还用于获取激光雷达采集的第一点云数据;处理单元,用于将所述第一图像和所述第一点云数据输入目标网络中,得到第一目标点云数据;其中,所述第一目标点云数据对应的线束数量大于所述第一点云数据对应的线束数量,所述目标网络用于提取所述第一图像的深度特征,对深度特征进行上采样,以得到第一特征,对第一点云数据进行特征提取和上采样,以得到第二特征,以及对第一特征和第二特征进行融合处理,以得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述目标网络包括第一网络和第二网络;处理单元,还用于将所述第一图像输入所述第一网络中,得到深度图像,所述第一网络用于基于单目图像预测得到深度图像;处理单元,还用于将所述深度图像和所述第一点云数据输入所述第二网络中,得到所述第一目标点云数据,所述第二网络用于提取所述深度图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述第二网络包括第三网络和第四网络;处理单元,还用于将所述第一点云数据输入所述第三网络中,得到第二点云数据,所述第二点云数据对应的线束数量大于所述第一点云数据对应的线束数量,所述第三网络用于对所述第一点云数据进行特征提取和上采样,以得到第二点云数据;处理单元,还用于将所述深度图像和所述第二点云数据输入所述第四网络中,得到所述第一目标点云数据,所述第四网络用于提取所述深度图像的深度特征,对所述第二点云数据进行特征提取,以得到所述第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述第二网络包括第一网络层集合、第二网络层集合、第三网络层集合和拼接层;所述第一网络层集合用于对所述深度图像进行特征提取以及上采样,得到第一特征;所述第二网络层集合用于对所述第一点云数据进行特征提取以及上采样,得到第二特征;所述拼接层用于对所述第一特征和所述第二特征进行拼接处理,得到第三特征;所述第三网络层集合用于对所述第三特征进行处理,得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述目标网络包括第一网络和第二网络;处理单元,还用于将所述第一图像输入所述第一网络中,并获取所述第一网络生成的特征图,所述特征图包括所述第一图像中的深度信息,所述第一网络用于基于单目图像预测得到深度图像;处理单元,还用于将所述特征图和所述第一点云数据输入所述第二网络中,得到所述第一目标点云数据,所述第二网络用于基于所述特征图和所述第一点云数据,预测得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,处理单元,还用于将所述第一点云数据投影到所述第一图像上,以得到所述第一图像对应的第三点云数据,所述第一点云数据包括所述第三点云数据;处理单元,还用于将所述第一图像和所述第三点云数据输入目标网络中,得到第一目标点云数据。
可选的,在一种可能的实现方式中,获取单元,还用于获取第二摄像头采集的第二图像;处理单元,还用于将所述第一点云数据投影到所述第二图像上,以得到所述第二图像对应的第四点云数据,所述第一点云数据包括所述第四点云数据;处理单元,还用于将所述第二图像和所述第四点云数据输入目标网络中,得到第二目标点云数据;处理单元,还用于将所述第一目标点云数据和所述第二目标点云数据进行拼接处理,得到第三目标点云数据。
可选的,在一种可能的实现方式中,所述第一图像为单目摄像头采集的图像。
可选的,在一种可能的实现方式中,所述第一摄像头与所述激光雷达之间已完成标定。
本申请第四方面提供一种训练装置,包括:获取单元和处理单元;获取单元,用于获取训练样本集,所述训练样本集包括摄像头采集的第一图像、第一激光雷达采集的第一点云数据和第二激光雷达采集的第二点云数据,所述第一激光雷达的线束数量小于所述第二激光雷达的线束数量;处理单元,用于将所述第一图像和所述第一点云数据输入待训练网络,得到预测点云数据,其中,所述待训练网络用于提取所述第一图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据;处理单元,还用于根据所述第二点云数据以及所述预测点云数据,获取第一损失值,所述第一损失值用于描述所述第二点云数据与所述预测点云数据之间的差异;处理单元,还用于根据所述第一损失值对所述待训练网络的参数进行更新,直至满足网络训练条件,得到目标网络。
可选的,在一种可能的实现方式中,所述待训练网络包括第一网络和第二网络;处理单元,还用于将所述第一图像输入所述第一网络中,得到预测深度图像,所述第一网络用于基于单目图像预测得到深度图像;处理单元,还用于将所述预测深度图像和所述第一点云数据输入所述第二网络中,得到所述预测点云数据,所述第二网络用于提取所述预测深度图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述第二网络包括第三网络和第四网络;处理单元,还用于将所述第一点云数据输入所述第三网络中,得到第二点云数据,所述第二点云数据对应的线束数量大于所述第一点云数据对应的线束数量,所述第三网络用于对所述第一点云数据进行特征提取和上采样,以得到第二点云数据;处理单元,还用于将所述预测深度图像和所述第二点云数据输入所述第四网络中,得到所述预测点云数据,所述第四网络用于提取所述预测深度图像的深度特征,对所述第二点云数据进行特征提取,以得到所述第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述第二网络包括第一网络层集合、第二网络层集合、第三网络层集合和拼接层;所述第一网络层集合用于对所述深度图像进行特征提取以及上采样,得到第二特征;所述第二网络层集合用于对所述第一点云数据进行特征提取以及上采样,得到所述第一特征;所述拼接层用于对所述第一特征和所述第二特征进行拼接处理,得到第三特征;所述第三网络层集合用于对所述第三特征进行处理,得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述待训练网络包括第一网络和第二网络;处理单元,还用于将所述第一图像输入所述第一网络中,得到所述第一网络生成的特征图,所述特征图包括所述第一图像中的深度信息,所述第一网络用于基于单目图像预测得到深度图像;处理单元,还用于将所述特征图和所述第一点云数据输入所述第二网络中,得到所述预测点云数据,所述第二网络用于基于所述特征图和所述第一点云数据,预测得到所述预测点云数据。
可选的,在一种可能的实现方式中,所述第一图像为单目摄像头采集的图像。
可选的,在一种可能的实现方式中,所述摄像头与所述第一激光雷达之间已完成标定。
本申请第五方面提供一种自动驾驶装置,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时执行上述第一方面或第二方面任意一种可能的实施方式中所描述的方法。
本申请第六方面提供一种计算机可读存储介质,可以包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行上述第一方面或第二方面任意一种可能的实施方式中所描述的方法。
本申请第七方面提供一种计算机程序产品,可以包括计算机可读指令,当该计算机可读指令在计算机上运行时,使得计算机执行上述第一方面或第二方面任意一种可能的实施方式中所描述的方法。
本申请第八方面提供一种自动驾驶车辆,该自动驾驶车辆可以包括处理电路和存储电路,处理电路和存储电路被配置为执行上述第一方面或第一方面任意一种可能的实施方式中所描述的方法。
本申请第九方面提供一种电路系统,电路系统可以包括处理电路,处理电路配置为执行上述第一方面或第一方面任意一种可能的实施方式中所描述的方法。
本申请第十方面提供了一种计算机程序,当其在计算机上行驶时,使得计算机执行上述第一方面或第一方面任意一种可能的实施方式中所描述的方法。
本申请第十一方面提供了一种芯片系统,该芯片系统可以包括处理器,用于支持自动驾驶装置实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以可以包括芯片和其他分立器件。
对于本申请第二方面至第十一方面以及各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。
附图说明
图1a为本申请实施例提供的车辆的一种结构示意图;
图1b为本申请实施例提供的计算机系统的一种结构示意图;
图2为本申请实施例提供的一种点云数据的处理方法200的流程示意图;
图3为本申请实施例提供的一种点云数据的处理流程示意图;
图4a为本申请实施例提供的一种第二网络处理点云数据的处理流程示意图;
图4b为本申请实施例提供的另一种点云数据的处理流程示意图;
图5为本申请实施例提供的另一种点云数据的处理流程示意图;
图6为本申请实施例提供的另一种点云数据的处理流程示意图;
图7为本申请实施例提供的另一种点云数据的处理流程示意图;
图8为本申请实施例提供的点云数据的处理装置800的一种结构示意图;
图9为本申请实施例提供的训练装置900的一种结构示意图;
图10为本申请实施例提供的自动驾驶车辆的一种结构示意图;
图11为本申请实施例提供的芯片的一种结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
为了便于理解本方案,本申请实施例中首先结合图1a对车辆的结构进行介绍,本申请实施例提供的方法可以应用如图1a所示的车辆上。可以参阅图1a,图1a为本申请实施例提供的车辆的一种结构示意图。
在一个实施例中,自动驾驶车辆100可以被配置为完全或部分地自动驾驶模式。例如,自动驾驶车辆100可以在处于自动驾驶模式中的同时控制自身,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定该其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制自动驾驶车辆100。在自动驾驶车辆100处于自动驾驶模式中时,可以将自动驾驶车辆100置为在没有和人交互的情况下操作。
自动驾驶车辆100可包括各种子系统,例如行进系统102、传感器系统104、控制系统106、一个或多个外围设备108以及电源110、计算机系统101和用户接口116。可选的,自动驾驶车辆100可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,自动驾驶车辆100的每个子系统和元件可以通过有线或者无线互连。
行进系统102可包括为自动驾驶车辆100提供动力运动的组件。在一个实施例中,推进系统102可包括引擎118、能量源119、传动装置120和车轮121。引擎118可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如气油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎118将能量源119转换成机械能量。
能量源119的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源119也可以为自动驾驶车辆 100的其他系统提供能量。
传动装置120可以将来自引擎118的机械动力传送到车轮121。传动装置120可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置120还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮121的一个或多个轴。
传感器系统104可包括感测关于自动驾驶车辆100周边的环境的信息的若干个传感器。例如,传感器系统104可包括定位系统122(定位系统可以是GPS系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,IMU)124、雷达 126、激光测距仪128以及相机130。传感器系统104还可包括被监视自动驾驶车辆100 的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主自动驾驶车辆100的安全操作的关键功能。
定位系统122可用于估计自动驾驶车辆100的地理位置。IMU 124用于基于惯性加速度来感测自动驾驶车辆100的位置和朝向变化。在一个实施例中,IMU 124可以是加速度计和陀螺仪的组合。
雷达126可利用无线电信号来感测自动驾驶车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达126还可用于感测物体的速度和/或前进方向。
激光测距仪128可利用激光来感测自动驾驶车辆100所位于的环境中的物体。在一些实施例中,激光测距仪128可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。
相机130可用于捕捉自动驾驶车辆100的周边环境的多个图像。相机130可以是静态相机或视频相机。
控制系统106为控制自动驾驶车辆100及其组件的操作。控制系统106可包括各种元件,其中包括转向系统132、油门134、制动单元136、计算机视觉系统140、路线控制系统142以及障碍物避免系统144。
转向系统132可操作来调整自动驾驶车辆100的前进方向。例如在一个实施例中可以为方向盘系统。
油门134用于控制引擎118的操作速度并进而控制自动驾驶车辆100的速度。
制动单元136用于控制自动驾驶车辆100减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136 也可采取其他形式来减慢车轮121转速从而控制自动驾驶车辆100的速度。
计算机视觉系统140可以操作来处理和分析由相机130捕捉的图像以便识别自动驾驶车辆100周边环境中的物体和/或特征。物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统140可使用物体识别算法、运动中恢复结构(Structure fromMotion, SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统140可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。
路线控制系统142用于确定自动驾驶车辆100的行驶路线。在一些实施例中,路线控制系统142可结合来自全球定位系统122和一个或多个预定地图的数据以为自动驾驶车辆 100确定行驶路线。
障碍物避免系统144用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
当然,在一个实例中,控制系统106可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
自动驾驶车辆100通过外围设备108与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备108可包括无线通信系统146、车载电脑148、麦克风150和/ 或扬声器152。
在一些实施例中,外围设备108提供自动驾驶车辆100的用户与用户接口116交互的手段。例如,车载电脑148可向自动驾驶车辆100的用户提供信息。用户接口116还可操作车载电脑148来接收用户的输入。车载电脑148可以通过触摸屏进行操作。在其他情况中,外围设备108可提供用于自动驾驶车辆100与位于车内的其它设备通信的手段。例如,麦克风150可从自动驾驶车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器152可向自动驾驶车辆100的用户输出音频。
无线通信系统146可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统146可使用3G蜂窝通信,例如CDMA、EVD0、GSM/GPRS,或者4G 蜂窝通信,例如LTE。或者5G蜂窝通信。无线通信系统146可利用WiFi与无线局域网(wireless localarea network,WLAN)通信。在一些实施例中,无线通信系统146可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统146可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
电源110可向自动驾驶车辆100的各种组件提供电力。在一个实施例中,电源110可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为自动驾驶车辆100的各种组件提供电力。在一些实施例中,电源110和能量源119可一起实现,例如一些全电动车中那样。
自动驾驶车辆100的部分或所有功能受计算机系统101控制。计算机系统101可包括至少一个处理器113,处理器113执行存储在例如数据存储装置114这样的非暂态计算机可读介质中的指令115。计算机系统101还可以是采用分布式方式控制自动驾驶车辆100 的个体组件或子系统的多个计算设备。
处理器113可以是任何常规的处理器,诸如商业可获得的CPU。替选地,该处理器可以是诸如ASIC或其它基于硬件的处理器的专用设备。尽管图1a功能性地图示了处理器、存储器、和在相同块中的计算机系统101的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机系统101的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,数据存储装置114可包含指令115(例如,程序逻辑),指令115可被处理器113执行来执行自动驾驶车辆100的各种功能,包括以上描述的那些功能。数据存储装置114也可包含额外的指令,包括向推进系统102、传感器系统104、控制系统106 和外围设备108中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
除了指令115以外,数据存储装置114还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在自动驾驶车辆100在自主、半自主和/或手动模式中操作期间被自动驾驶车辆100和计算机系统 101使用。
用户接口116,用于向自动驾驶车辆100的用户提供信息或从其接收信息。可选的,用户接口116可包括在外围设备108的集合内的一个或多个输入/输出设备,例如无线通信系统146、车车在电脑148、麦克风150和扬声器152。
计算机系统101可基于从各种子系统(例如,行进系统102、传感器系统104和控制系统106)以及从用户接口116接收的输入来控制自动驾驶车辆100的功能。例如,计算机系统101可利用来自控制系统106的输入以便控制转向单元132来避免由传感器系统104和障碍物避免系统144检测到的障碍物。在一些实施例中,计算机系统101可操作来对自动驾驶车辆100及其子系统的许多方面提供控制。
可选的,上述这些组件中的一个或多个可与自动驾驶车辆100分开安装或关联。例如,数据存储装置114可以部分或完全地与自动驾驶车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选的,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1a不应理解为对本申请实施例的限制。
在道路行进的自动驾驶汽车,如上面的自动驾驶车辆100,可以识别其周围环境内的物体以确定对当前速度的调整。物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶汽车所要调整的速度。
可选的,自动驾驶车辆100或者与自动驾驶车辆100相关联的计算设备(如图1a的计算机系统101、计算机视觉系统140、数据存储装置114)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测识别的物体的行为。可选的,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。自动驾驶车辆100能够基于预测的识别的物体的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)什么稳定状态。在这个过程中,也可以考虑其它因素来确定自动驾驶车辆100的速度,诸如,自动驾驶车辆100在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
除了提供调整自动驾驶汽车的速度的指令之外,计算设备还可以提供修改自动驾驶车辆100的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持与自动驾驶汽车附近的物体(例如,道路上的相邻车道中的轿车)的安全横向和纵向距离。
上述自动驾驶车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车等,本申请实施例不做特别的限定。
可以参阅图1b,图1b为本申请实施例提供的计算机系统的一种结构示意图。如图1b 所示,计算机系统101包括处理器103,处理器103和系统总线105耦合。处理器103可以是一个或者多个处理器,其中每个处理器都可以包括一个或多个处理器核。显示适配器(video adapter)107,显示适配器可以驱动显示器109,显示器109和系统总线105耦合。系统总线105通过总线桥111和输入输出(I/O)总线耦合。I/O接口115和I/O总线耦合。I/O接口115和多种I/O设备进行通信,比如输入设备117(如:键盘,鼠标,触摸屏等),多媒体盘(media tray),(例如,CD-ROM,多媒体接口等)。收发器123(可以发送和/或接受无线电通信信号),摄像头155(可以捕捉动态数字视频图像)和外部USB 端口125。其中,可选的,和I/O接口115相连接的接口可以是USB端口。
其中,处理器103可以是任何传统处理器,包括精简指令集计算(“RISC”)处理器、复杂指令集计算(“CISC”)处理器或上述的组合。可选的,处理器可以是诸如专用集成电路(“ASIC”)的专用装置。可选的,处理器103可以是神经网络处理器或者是神经网络处理器和上述传统处理器的组合。
可选的,在本文所述的各种实施例中,计算机系统101可位于远离自动驾驶车辆的地方,并且可与自动驾驶车辆100无线通信。在其它方面,本文所述的一些过程在设置在自动驾驶车辆内的处理器上执行,其它由远程处理器执行,包括采取执行单个操纵所需的动作。
计算机101可以通过网络接口129和软件部署服务器149通信。网络接口129是硬件网络接口,比如,网卡。网络127可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络(VPN)。可选的,网络127还可以是无线网络,比如WiFi 网络,蜂窝网络等。
硬盘驱动接口和系统总线105耦合。硬件驱动接口和硬盘驱动器相连接。系统内存135和系统总线105耦合。运行在系统内存135的数据可以包括计算机101的操作系统137 和应用程序143。
操作系统包括Shell 139和内核(kernel)141。Shell 139是介于使用者和操作系统之内核(kernel)间的一个接口。shell是操作系统最外面的一层。shell管理使用者与操作系统之间的交互:等待使用者的输入,向操作系统解释使用者的输入,并且处理各种各样的操作系统的输出结果。
内核141由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。直接与硬件交互,操作系统内核通常运行进程,并提供进程间的通信,提供CPU时间片管理、中断、内存管理、IO管理等等。
应用程序143包括控制汽车自动驾驶相关的程序,比如,管理自动驾驶的汽车和路上障碍物交互的程序,控制自动驾驶汽车路线或者速度的程序,控制自动驾驶汽车和路上其他自动驾驶汽车交互的程序。应用程序143也存在于deploying server 149的系统上。在一个实施例中,在需要执行自动驾驶相关程序147时,计算机系统101可以从deployingserver14下载应用程序143。
传感器153和计算机系统101关联。传感器153用于探测计算机101周围的环境。举例来说,传感器153可以探测动物,汽车,障碍物和人行横道等,进一步传感器还可以探测上述动物,汽车,障碍物和人行横道等物体周围的环境,比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,周围环境的光亮度等。可选的,如果计算机 101位于自动驾驶的汽车上,传感器可以是摄像头,激光雷达,红外线感应器,化学检测器,麦克风等。
目前,在自动驾驶场景中,通常使用激光雷达来获取车辆周围的三维(threedimensional,3D)信息,以实现3D目标的检测。激光雷达是实现无人驾驶环境感知的重要传感器,适用于复杂交通环境感知。激光雷达的工作原理是向目标发射激光束,激光束接触到目标后被反射并被系统接收,从而确定目标的距离信息。
具体地,激光雷达主要由激光器、接收器、信号处理单元和旋转机构这四大核心组件构成。激光器是激光雷达中的激光发射机构。在工作过程中,激光器会以脉冲的方式点亮,并发射出激光。激光器发射的激光照射到障碍物以后,通过障碍物的反射,反射光线会经由镜头组汇聚到接收器上。信号处理单元负责控制激光器的发射,以及处理接收器所接收到的信号,从而根据这些信息计算出目标物体的距离信息。旋转机构则负责将上述的核心部件以稳定的转速旋转起来,从而实现对所在平面的扫描,并产生实时的点云数据。
在自动驾驶场景中,通常采用多线束激光雷达来实现周围信息的获取。多线束激光雷达是指同时发射及接收多束激光的激光旋转测距雷达,其能够识别物体的高度信息并获取周围环境的3D扫描图。多线束激光雷达在垂直方向上分布有多个激光发射器,每个激光发射器对应一条线束,通过旋转机构的旋转来形成多条线束的扫描。目前,市面上的多线束激光雷达的线束数量包括有4线束、8线束、16线束、32线束、64线束以及128 线束。
一般来说,3D目标的检测精度与激光雷达所提供的原始点云数据密切相关。例如,低线束激光雷达(例如4线束的激光雷达)扫描线束较少,获取到的点云数据比较稀疏,导致3D目标检测精度较低;高线束激光雷达(例如128线束的激光雷达)获取到的点云数据较为密集,则能够有效提高3D目标检测精度。
目前,自动驾驶车辆一般使用高线束激光雷达来获取3D信息,以保证3D目标检测精度。然而,高线束激光雷达价格高昂,导致自动驾驶系统成本较高。
有鉴于此,本申请实施例提供了一种点云数据的处理方法,通过获取摄像头拍摄的图像以及低线束激光雷达采集的点云数据,并将图像和点云数据输入融合网络中,以融合图像的深度信息和低线束的点云数据,得到高线束的点云数据。从而能够在不部署高线束激光雷达的情况下,获得高线束的点云数据,降低了自动驾驶车辆的成本,并且保证了3D目标的检测精度。
本申请实施例所提供的点云数据的处理方法可以应用于图1a所示的自动驾驶车辆,自动驾驶车辆上可以部署有车载计算平台,该车载计算平台运行有图1b所示的计算机系统,以执行本申请实施例所提供的点云数据的处理。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
Figure BDA0002796106090000141
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。 f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
神经网络中的每一层的工作可以用数学表达式
Figure DEST_PATH_IMAGE001
来描述:从物理层面神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维; 2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由
Figure DEST_PATH_IMAGE002
完成,4的操作由+b完成,5的操作则由a()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。训练神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
因为希望神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么神经网络的训练就变成了尽可能缩小这个loss的过程。
(2)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
下面从神经网络的应用侧和神经网络的训练侧对本申请提供的方法进行描述。
本申请实施例提供的神经网络的训练方法,涉及图像和点云数据的处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(如本申请中的图像和点云数据)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的数据处理模型;并且,本申请实施例提供的点云数据的处理方法可以运用上述训练好的数据处理模型,将输入数据(如本申请中的图像和点云数据)输入到所述训练好的数据处理模型中,得到输出数据(如本申请中目标点云数据)。需要说明的是,本申请实施例提供的数据处理模型的训练方法和点云数据的处理方法是基于同一个构思产生的发明,也可以理解为一个系统中的两个部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。
可以参阅图2,图2为本申请实施例提供的一种点云数据的处理方法200的流程示意图。如图2所示,该方法200包括以下的步骤。
步骤201,获取摄像头所采集的第一图像。
在自动驾驶车辆中,可以安装有一个或多个摄像头,该一个或多个摄像头可以用于拍摄自动驾驶车辆周围的环境图像,以便于自动驾驶车辆识别路况、障碍物、交通标志等交通要素。一般来说,在自动驾驶车辆的行驶过程中,自动驾驶车辆上所安装的摄像头会实时采集图像,并且传给自动驾驶车辆中的车载计算平台。车载计算平台可以对获取到的图像进行检测,并基于检测到的交通要素控制自动驾驶车辆减速行驶、停车等待或绕行障碍物。
在一个可能的实施例中,该第一图像可以是单目摄像头所采集的图像。相对于单次能够采集两张图像的双目摄像头,单目摄像头单次只能采集一张图像。由于单目摄像头结构简单、体积较小且成本较低,在自动驾驶车辆上可以安装有多个单目摄像头,以实现摄像头的多方位安装,保证覆盖更广的视野。此外,该第一图像也可以是双目摄像头或多目摄像头所采集的图像,本实施例并不对采集第一图像的摄像头做具体限定。
步骤202,获取激光雷达采集的第一点云数据。
在激光雷达的工作过程中,激光雷达发射激光,激光照射在物体表面并被反射,激光雷达基于接收到的反射激光,可以获得激光所照射的物体的信息。具体地,激光雷达可以计算得到激光所照射到的物体表面的各个点在三维空间中的坐标信息,这些点的组合即为激光点云,这些点的坐标信息即为点云数据。也就是说,该第一点云数据可以是自动驾驶车辆中的激光雷达在行驶过程中对周围环境进行激光扫描,所采集到的点云数据。
本实施例中,该激光雷达例如可以为成本较低的低线束激光雷达,例如为上述的4线束激光雷达、8线束激光雷达或16线束激光雷达。
步骤203,将所述第一图像和所述第一点云数据输入目标网络中,得到第一目标点云数据。
其中,所述目标网络用于提取所述第一图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。简单来说,该目标网络用于基于图像以及低线束激光雷达所采集的点云数据,预测高线束激光雷达在相同场景下所采集的点云数据。即,第一目标点云数据为预测得到的高线束激光雷达在相同场景下所采集的点云数据,因此,所述第一目标点云数据对应的线束数量大于所述第一点云数据对应的线束数量。
可以理解的是,第一点云数据对应的线束数量可以是指用于采集该第一点云数据的激光雷达所发射的激光线束的数量。例如,在采集第一点云数据的激光雷达为4线束激光雷达的情况下,该第一点云数据对应的线束数量可以为4。对于第一目标点云数据,由于第一目标点云数据实际上并非是激光雷达所采集的数据,而是目标网络预测得到的高线束激光雷达对应的点云数据,因此第一目标点云数据对应的线束数量可以理解为目标网络所预测的多线束激光雷达对应的线束数量。例如,在目标网络用于预测64线束激光雷达所采集的点云数据的情况下,第一目标点云数据对应的线束数量则可以为64;在目标网络用于预测128光雷达所采集的点云数据的情况下,第一目标点云数据对应的线束数量则可以为128。
由于点云数据是激光雷达基于反射回来的激光计算得到的数据,因此激光雷达所发射的激光线束越多,则点云数据中所包含的数据点则越密集,激光雷达所发射的激光线束越少,则点云数据中所包含的点则越稀疏。相比于第一点云数据,第一目标点云数据对应的线束数量更多,第一目标点云数据所包含的数据点也越密集,即第一目标点云数据所包含的信息更加多。
应理解,由于第一图像为摄像头所采集的图像,该图像中通常包含有摄像头所拍摄到的场景下完整的信息。相比于激光雷达通过发射线束来获得场景下的信息,图像中所包含的信息更为稠密。例如,假设在当前驾驶场景下,自动驾驶车辆前方存在一个行人。自动驾驶车辆上的激光雷达水平旋转,以获得激光线束扫描得到的点云数据。其中,在该激光雷达所发射的多条激光线束中,有两条激光线束扫描经过了该行人,一条激光线束扫描经过该行人的大腿,另一条激光线束扫描经过该行人的脖子,则激光雷达所采集到的点云数据包括了该行人的大腿以及脖子这两个部位的坐标信息,而对于该行人的大腿以下、大腿与脖子之间以及脖子以上等部位的坐标信息,激光雷达则无法采集到。然而,对于自动驾驶车辆上的摄像头,由于该行人在摄像头的视野范围内,因此摄像头所拍摄得到的图像中包含了整个行人的信息,基于该图像可以得到整个行人中各个部位的深度信息。由于第一点云数据中所包含的信息为物体表面的坐标信息,即深度信息,因此,在图像包含有更为稠密的深度特征信息的情况下,通过由目标网络提取图像中的深度特征信息,并且将该深度特征信息与第一点云数据进行融合,可以得到更为稠密的第一目标点云数据,即线束数量更多的第一目标点云数据。
可以理解的是,目标网络对第一点云数据进行特征提取后,得到第一点云数据的特征,目标网络再对第一点云数据的特征进行上采样,得到第一特征,第一特征的分辨率高于第一点云数据的特征。这样,对第一特征和第一图像对应的深度特征进行融合处理后,可以得到分辨率比第一点云数据高的第一目标点云数据,即第一目标点云数据对应的线束数量大于第一点云数据对应的线束数量。可选的,在一种可能的实现方式中,在所述第一图像的分辨率不高的情况下,所述目标网络还可以是用于提取所述第一图像的深度特征,对深度特征进行上采样,得到第二特征,对第一点云数据进行特征提取和上采样,以得到第一特征,以及对第二特征和第一特征进行融合处理,以得到所述第一目标点云数据。即目标网络还对提取得到的第一图像的深度特征进行上采样,得到分辨率更高的特征,然后再与第一点云数据对应的上采样特征进行融合,得到目标点云数据。例如,在第一图像对应的深度图像与32线束的激光雷达所采集的点云数据对应,且第一点云数据为16线束的点云数据的情况下,目标网络可以提取第一图像的深度特征,并对深度特征进行上采样,得到第二特征,该第二特征与64线束的激光雷达所采集的点云数据的特征对应。目标网络还对第一点云数据进行特征提取和上采样,以得到第一特征,该第二特征与64线束的激光雷达所采集的点云数据的特征对应。这样,通过对第二特征和第一特征进行融合处理,即可得到第一目标点云数据。
示例性地,可以参阅图3,图3为本申请实施例提供的一种点云数据的处理流程示意图。如图3所示,摄像头301采集得到第一图像302,低线束激光雷达303采集得到第一点云数据304,该第一点云数据304为低线束的点云数据,然后将第一图像302和第一点云数据304输入至目标网络305中,得到目标网络305所输出的第一目标点云数据306,该第一目标点云数据306为高线束的点云数据。
在一个可能的实施例中,该目标网络可以为训练得到的神经网络,例如卷积神经网络。在该目标网络的训练过程中,可以是将摄像头采集到的图像、低线束激光雷达采集到的点云数据作为输入该目标网络的训练数据,高线束激光雷达采集到的点云数据则作为该目标网络的期望输出来进行训练。其中,该低线束激光雷达与该高线束激光雷达是在相同的场景下进行点云数据的采集。具体地,在训练过程中,首先将图像以及低线束激光雷达采集到的点云数据输入至待训练网络中,得到待训练网络所输出的预测结果,然后基于高线束激光雷达所采集的点云数据以及该预测结果确定损失函数的值,并基于损失函数的值对待训练网络的参数进行调整,再重复执行上述的训练过程,直至损失函数收敛,从而得到目标网络。
本实施例中,通过获取摄像头拍摄的图像以及低线束激光雷达采集的点云数据,并将图像和点云数据输入融合网络中,以融合图像的深度信息和低线束的点云数据,得到高线束的点云数据。从而能够在不部署高线束激光雷达的情况下,获得高线束的点云数据,降低了自动驾驶车辆的成本,并且保证了3D目标的检测精度。
在一个可能的实施例中,所述目标网络可以包括第一网络和第二网络。在上述的步骤 203中,将所述第一图像和所述第一点云数据输入目标网络中,得到第一目标点云数据,具体可以包括:将所述第一图像输入所述第一网络中,得到深度图像,所述第一网络用于基于单目图像预测得到深度图像;将所述深度图像和所述第一点云数据输入所述第二网络中,得到所述第一目标点云数据,所述第二网络用于提取所述深度图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。也就是说,车载计算平台可以是首先通过第一网络预测得到第一图像对应的深度图像,然后再基于得到的深度图像以及低线束的点云数据,通过第二网络融合得到高线束的点云数据。
由于在基于摄像头采集到的图像和低线束的点云数据预测高线束的点云数据的过程中,需要提取该图像中深度特征信息。因此,本实施例中可以将目标网络分成用于提取图像的深度特征信息的第一网络,以及用于融合图像的深度特征信息和低线束的点云数据的第二网络。通过将目标网络分成两个作用不同的网络,可以单独对每个网络进行训练,以确保每个网络的性能,从而提高最终的预测效果。也就是说,通过采用独立的第一网络来提取图像的深度特征信息,可以保证深度特征信息的提取准确性,从而确保后续的预测准确性。
作为一种可能的示例,该第一网络可以为深度有序回归网络(Deep OrdinalRegression Network,DORN)或其他深度估计的卷积神经网络,基于该DORN可以进行单目深度估计,从而得到单目图像对应的深度图像。该第二网络可以为能够执行特征提取、上采样操作以及特征拼接的卷积神经网络,基于第二网络可以对低线束点云数据进行上采样后与深度图像融合,得到高线束点云数据。
示例性地,可以参阅图4a,图4a为本申请实施例提供的一种第二网络处理点云数据的处理流程示意图。如图4a所示,所述第二网络包括第一网络层集合、第二网络层集合、第三网络层集合和拼接层。将深度图像输入第二网络之后,第二网络中的所述第一网络层集合对所述深度图像进行特征提取以及上采样,得到第一特征,该第一特征即为深度图像中的深度特征,该第一网络层集合可以包括多个网络层。将第一点云数据输入第二网络之后,第二网络中的所述第二网络层集合对所述第一点云数据进行特征提取以及上采样,得到第二特征,该第二特征即为上采样后的点云数据特征,该第二网络层集合可以包括多个网络层。然后,第二网络中的所述拼接层用于对所述第一特征和所述第二特征进行拼接处理,得到拼接后的第三特征,该拼接层可以通过拼接函数(concatenate)来对所述第一特征和所述第二特征进行拼接处理。最后,由第二网络中的所述第三网络层集合对所述第三特征进行卷积处理,得到所述第一目标点云数据,该第三网络层集合可以包括多个网络层。其中,第一网络层集合、第二网络层集合以及第三网络层集合中均可以包括多个网络层,该多个网络层包括但不限于卷积层、激活层、pooling层、反卷积层和/或缩放层等网络层。
以下将介绍第一网络和第二网络的训练过程。在执行网络的训练之前,可以获取第一网络和第二网络的训练数据,该第一网络的训练数据包括摄像头所采集的图像以及该图像对应的真实深度图像,该第二网络的训练数据则包括低线束激光雷达采集的点云数据以及高线束激光雷达采集的点云数据。在训练的过程中,可以先训练第一网络,然后再训练第二网络,最后将第一网络和第二网络连接起来,统一训练连接后的第一网络和第二网络。
具体地,在第一网络的训练过程中,首先将摄像头采集到的图像输入至第一网络中,得到第一网络所输出的预测结果,然后基于所输入图像对应的真实深度图像以及该预测结果确定损失函数的值,并基于损失函数的值对第一网络的参数进行调整,再重复执行上述的训练过程,直至损失函数收敛,从而得到训练好的第一网络。
在第二网络的训练过程中,可以将训练好的第一网络所输出的深度图像以及低线束激光雷达所采集的点云数据作为第二网络的输入,得到第二网络所输出的点云数据,然后基于第二网络所输出的点云数据以及高线束激光雷达采集的点云数据确定损失函数的值,并基于损失函数的值对第二网络的参数进行调整,再重复执行上述的训练过程,直至损失函数收敛,从而得到训练好的第二网络。其中,第二网络的损失函数可以采用L1范数损失函数,通过随机梯度下降法来进行第二网络的优化,直至第二网络收敛。
示例性地,该第二网络的损失函数可以如公式1所示:
Figure BDA0002796106090000191
其中,L(yg,yp)为损失函数;yg为高线束激光雷达采集的点云数据;yp为第二网络输出的点云数据;c为超参数,可以设置为1。
在训练好第一网络和第二网络之后,可以将第一网络与第二网络连接起来,连接好的第一网络与第二网络即为目标网络。最后,可以将摄像头采集到的图像、低线束激光雷达采集到的点云数据作为输入该目标网络的训练数据,高线束激光雷达采集到的点云数据作为该目标网络的期望输出,对该目标网络进行训练,从而得到训练好的目标网络。
示例性地,可以参阅图4b,图4b为本申请实施例提供的另一种点云数据的处理流程示意图。如图4b所示,摄像头301采集得到第一图像302,低线束激光雷达303采集得到第一点云数据304,该第一点云数据304为低线束的点云数据。然后,将第一图像302输入第一网络3051中,得到第一网络3051输出的深度图像307。最后,将第一点云数据304 和深度图像307输入至第二网络3052中,得到第二网络3052所输出的第一目标点云数据 360,该第一目标点云数据306为高线束的点云数据。
在一个可能的实施例中,所述第二网络还可以包括第三网络和第四网络。
在上文所描述的步骤中,所述将所述深度图像和所述点云数据输入所述第二网络中,得到所述第一目标点云数据,具体可以包括:将所述第一点云数据输入所述第三网络中,得到第二点云数据,所述第二点云数据对应的线束数量大于所述第一点云数据对应的线束数量,所述第三网络用于对所述第一点云数据进行特征提取和上采样,以得到第二点云数据。将所述深度图像和所述第二点云数据输入所述第四网络中,得到所述第一目标点云数据,所述第四网络用于提取所述深度图像的深度特征,对所述第二点云数据进行特征提取,以得到所述第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
简单来说,第二网络进一步分成两个独立的网络(即第三网络和第四网络),第三网络用于只基于低线束的点云数据预测得到高线束的点云数据,第四网络则用于基于深度图像和点云数据预测得到目标点云数据。其中,第四网络预测得到的目标点云数据与输入第四网络的点云数据所对应的线束数量可以是相同。
作为一种可能的示例,第三网络可以为U-Net、超分辨卷积神经网络(Super-Resolution Convolutional Neural Network,SRCNN)、超分辨率的超深网络(Very Deepnetwork for Super-Resolution,VDSR)或SRDenseNet等网络。第四网络则可以是能够执行特征提取操作以及特征拼接操作的卷积神经网络。
可以理解的是,由于图像的质量往往容易受到光照的影响,因此在一些场景下,摄像头所采集到的图像中可能并没有包含有效的深度信息,从而影响高线束的点云数据的预测效果。例如,在漆黑的夜晚场景下,由于光照强度较低,因此摄像头所采集到的图像中可能并没有包括当前场景下的有效信息。此时,由于图像中并没有包括有效的深度信息,因此在该图像与低线束的点云数据的融合过程中,难以将有效的深度信息与低线束的点云数据进行有效融合,从而使得最终融合得到的高线束的点云数据与真实的点云数据相差较远,影响了点云数据的预测效果。
基于此,本实施例中将第二网络进一步分成两个独立的网络,在将图像的深度信息与点云数据进行融合之前,首先基于第三网络对所输入的低线束的点云数据进行预测,得到高线束的点云数据,然后再将预测得到的高线束的点云数据与图像的深度信息进行融合,以进一步得到融合后的点云数据。由于在进行图像的深度信息与点云数据的融合之前,先对低线束的点云数据进行预测得到了高线束的点云数据,因此可以保证在无法获取到有效的图像深度信息的情况下,仍然可以保证有较佳的点云数据预测效果,提高了各种场景下的点云数据预测效果。
类似地,在本实施例中,由于目标网络包括第一网络、第三网络和第四网络,因此可以分别对第一网络、第三网络和第四网络进行单独训练,最后再将训练好的第一网络、第三网络和第四网络连接为一体,再对连接后的网络进行统一训练。其中,第一网络的训练过程与上文的介绍类似,具体可以参考上文的介绍,在此不再赘述。
在第三网络的训练过程中,可以将低线束激光雷达所采集的点云数据作为第三网络的输入,得到第三网络所输出的高线束的点云数据,然后基于第三网络所输出的点云数据以及高线束激光雷达采集的点云数据确定损失函数的值,并基于损失函数的值对第三网络的参数进行调整,再重复执行上述的训练过程,直至损失函数收敛,从而得到训练好的第三网络。
在第四网络的训练过程中,可以将训练好的第一网络所输出的深度图像以及训练好的第三网络所输出的点云数据作为第四网络的输入,得到第四网络所输出的点云数据,然后基于第四网络所输出的点云数据以及高线束激光雷达采集的点云数据确定损失函数的值,并基于损失函数的值对第四网络的参数进行调整,再重复执行上述的训练过程,直至损失函数收敛,从而得到训练好的第四网络。
在训练好第一网络、第三网络和第四网络之后,可以将该三个网络连接起来,连接好的三个网络即为目标网络。最后,可以将摄像头采集到的图像、低线束激光雷达采集到的点云数据作为输入该目标网络的训练数据,高线束激光雷达采集到的点云数据作为该目标网络的期望输出,对该目标网络进行训练,从而得到训练好的目标网络。
示例性地,可以参阅图5,图5为本申请实施例提供的另一种点云数据的处理流程示意图。如图5所示,摄像头301采集得到第一图像302,低线束激光雷达303采集得到第一点云数据304,该第一点云数据304为低线束的点云数据。然后,将第一图像302输入第一网络3051中,得到第一网络3051输出的深度图像307。将第一点云数据304输入至第三网络30521中,得到第三网络30521输出的第二点云数据308,其中,该第一点云数据为低线束的点云数据,该第二点云数据308为高线束的点云数据。最后,将第二点云数据308和深度图像307输入至第四网络30522中,得到第四网络30522所输出的第一目标点云数据360,该第一目标点云数据306为融合了深度图像中的深度特征信息的点云数据。
以上实施例介绍了在基于第一网络预测得到图像对应的深度图像之后,再基于深度图像和点云数据预测得到目标点云数据的过程。以下将介绍基于第一网络得到图像对应的特征图之后,再基于特征图和点云数据预测得到目标点云数据的过程。
在另一个可能的实施例中,所述目标网络可以包括如上述的第一网络和第二网络。其中,将所述第一图像和所述点云数据输入目标网络中,得到第一目标点云数据,具体可以包括:将所述第一图像输入所述第一网络中,并获取所述第一网络生成的特征图,所述特征图包括所述第一图像中的深度信息,所述第一网络用于基于单目图像预测得到深度图像。示例性地,在该第一网络为用于预测得到深度图像的情况下,可以在将第一图像输入第一网络之后,获取第一网络中倒数第二层网络层所生成的特征图,该特征图的大小与第一图像相同。
然后,将所述特征图和所述第一点云数据输入所述第二网络中,得到所述第一目标点云数据,所述第二网络用于基于所述特征图和所述第一点云数据,预测得到所述第一目标点云数据。由于所述特征图实际上包括了第一图像中的深度特征信息,因此,第二网络可以基于该特征图中的深度特征信息与第一点云数据进行融合,即可预测得到所述第一目标点云数据,从而免去了提取深度图像中的深度特征信息的过程。
可以理解的是,本实施例中,第一网络与第二网络的训练过程与上文所介绍的训练过程类似,此处不再赘述。
示例性地,可以参阅图6,图6为本申请实施例提供的另一种点云数据的处理流程示意图。如图6所示,摄像头301采集得到第一图像302,低线束激光雷达303采集得到第一点云数据304,该第一点云数据304为低线束的点云数据。然后,将第一图像302输入第一网络3051中,得到第一网络3051生成的特征图309。最后,将第一点云数据304和特征图309输入至第二网络3052中,得到第二网络3052所输出的第一目标点云数据360,该第一目标点云数据306为高线束的点云数据。
类似地,对于图5所示的实施例,除了通过第一网络获取第一图像对应的深度图像,也可以是通过第一网络获取第一图像对应的特征图之后,将获取到的特征图以及第三网络所输出的第二点云数据输入至第四网络中,以得到第四网络所输出的第一目标点云数据。
可以理解的是,由于激光雷达中包括有旋转机构,该旋转机构可以带动激光器进行 360°的旋转,即激光线束能够实现360°旋转,以获取自动驾驶车辆360°范围内的环境对应的点云数据。然而,由于摄像头的视野有限,摄像头所采集的单张图像对应的视角(即视线与摄像头垂直方向所成的角度)往往在10°~90°左右,即单张图像中并不能覆盖360°范围内的场景。
基于此,在执行点云数据与图像的深度信息的融合过程之前,可以确定点云数据中与当前图像所对应的部分,然后基于这部分的点云数据以及当前图像进行点云数据的预测。其中,点云数据中与当前图像所对应的部分与当前图像所覆盖的视角范围相同,即这部分点云数据所扫描的场景与当前图像所拍摄的场景是相同的。
在一个可能的实施例中,上述的方法200还可以包括:将所述第一点云数据投影到所述第一图像上,以得到所述第一图像对应的第三点云数据,所述第一点云数据包括所述第三点云数据。其中,将所述第一点云数据投影到所述第一图像的过程具体可以是对第一点云数据进行坐标系变换,即将第一点云数据的坐标系变换为与第一图像相同的坐标系,从而将第一点云数据的坐标变换为第一图像所在坐标系下的坐标;然后,根据第一图像中各个像素对应的坐标,确定第一点云数据中坐标与其相同的点,从而得到与第一图像对应的第三点云数据。例如,假设第一图像的视角范围为0°~30°,则可以将第一点云数据投影到第一图像上,以确定第一点云数据中视角范围为0°~30°的部分,并将这部分点云数据确定为第一图像对应的第三点云数据。
在得到第一图像对应的第三点云数据之后,可以将所述第一图像和所述第三点云数据输入目标网络中,得到第一目标点云数据,该第一目标点云数据所覆盖的视角范围与第一图像所覆盖的视角范围相同。
可以理解的是,上述的第一摄像头以及第二摄像头与激光雷达之间可以是已经完成标定的,即在执行本实施例所提供的点云数据的处理方法之前,可以对摄像头与激光雷达进行标定。其中,将摄像头与激光雷达进行标定可以是指计算摄像头与激光雷达之间的坐标关系,以便于能够将激光雷达采集的点云数据的坐标切换为摄像头所采集的图像所在的坐标系下的坐标。
在第一摄像头与激光雷达完成标定后,激光雷达与第一摄像头的坐标系之间存在变换矩阵pt。假设,xi,yi表示投影后点云数据中的点在图像坐标系中的坐标,xp,yp,zp表示投影前点云数据中的点在点云坐标系中的坐标。那么,在投影结束后,可以根据坐标信息,将点云数据中坐标在图像内的点选取出来,从而得到图像对应的点云数据。示例性地,点云坐标系中的点转换至图像坐标系中具体可以如公式2所示:
Figure BDA0002796106090000231
应理解,为了保证自动驾驶车辆能够获取到其周围的环境信息,自动驾驶车辆上通常安装有多个摄像头,不同的摄像头覆盖了不同的视角范围。通过多个摄像头的组合,自动驾驶车辆可以获取到360°视角范围的环境信息。
基于此,自动驾驶车辆可以获取到多个摄像头所采集的图像,并且将激光雷达采集到的点云数据分别投影到不同的图像中,得到各个图像对应的点云数据。自动驾驶车辆基于各个图像及其对应的点云数据,可以融合得到多份视角范围不相同的目标点云数据,最后将这多份视角范围不相同的目标点云数据进行拼接,即可得到较大视角范围的目标点云数据。
示例性地,上述的方法200还可以包括:获取第二摄像头所采集的第二图像,第一摄像头与第二摄像头所安装的角度不相同,即第一摄像头与第二摄像头所覆盖的视角是不相同的。例如,第一摄像头的视角范围为0°~30°,第二摄像头的视角范围为30°~80°,即通过第一摄像头和第二摄像头,即可获得0°~80°内的场景信息。将所述第一点云数据投影到所述第二图像上,以得到所述第二图像对应的第四点云数据,所述第一点云数据包括所述第四点云数据。其中,将第一点云数据投影到第二图像上的操作与将第一点云数据投影到第一图像上的操作类似,具体可以参考上文的介绍,此处不再赘述。将所述第二图像和所述第四点云数据输入目标网络中,得到第二目标点云数据。将所述第一目标点云数据和所述第二目标点云数据进行拼接处理,得到第三目标点云数据,第三目标点云数据即为第一图像和第二图像所对应的点云数据。
可以理解的是,在将所述第一目标点云数据和所述第二目标点云数据进行拼接处理的过程中,可以根据第一目标点云数据中的坐标点信息以及第二目标点云数据中的坐标点信息进行拼接处理。如果第一目标点云数据以及第二目标点云数据中存在相邻的坐标点信息,则可以直接将第一目标点云数据和第二目标点云数据拼接为一体,即第一目标点云数据和第二目标点云数据是相邻的;如果第一目标点云数据以及第二目标点云数据中不存在相邻的坐标点信息,则可以分别将第一目标点云数据和第二目标点云数据替换至第一点云数据中,即将第一点云数据中与这两部分对应的点云数据分别替换为第一目标点云数据和第二目标点云数据,从而得到拼接后的点云数据。
示例性地,可以参阅图7,图7为本申请实施例提供的另一种点云数据的处理流程示意图。如图7所示,摄像头301采集得到第一图像302和第二图像310,低线束激光雷达 303采集得到第一点云数据304,该第一点云数据304为低线束的点云数据。然后,分别将第一图像302和第二图像310输入第一网络3051中,得到第一网络3051输出的深度图像307以及深度图像311。将第一点云数据304投影至第一图像302上,得到第三点云数据3041;将第一点云数据304投影至第二图像310上,得到第四点云数据3042。然后,将第三点云数据3041和深度图像307输入第二网络3052,得到第二网络3052输出的第一目标点云数据306,该第一目标点云数据306为融合了深度图像中的深度特征信息的点云数据。将第四点云数据3042和深度图像311输入第二网络3052,得到第二网络3052输出的第二目标点云数据312,该第二目标点云数据312同样为融合了深度图像中的深度特征信息的点云数据。最后,对第一目标点云数据306和第二目标点云数据312进行拼接处理,得到拼接后的第三目标点云数据313。
值得注意的是,以上示例中给出了将两个点云数据进行拼接的过程,在实际应用中,可以根据自动驾驶车辆中所安装的摄像头的数量,确定多个摄像头采集到的图像对应的点云数据,并且对这些点云数据进行预测处理后拼接为一体,从而得到能够覆盖较大视角范围的点云数据。
在图2至图7所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图8,图8为本申请实施例提供的点云数据的处理装置800的一种结构示意图。该点云数据的处理装置800可以包括获取单元801和处理单元802;获取单元801,用于获取第一摄像头采集的第一图像;获取单元801,还用于获取激光雷达采集的第一点云数据;处理单元802,用于将所述第一图像和所述第一点云数据输入目标网络中,得到第一目标点云数据;其中,所述第一目标点云数据对应的线束数量大于所述第一点云数据对应的线束数量,所述目标网络用于提取所述第一图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述目标网络包括第一网络和第二网络;处理单元802,还用于将所述第一图像输入所述第一网络中,得到深度图像,所述第一网络用于基于单目图像预测得到深度图像;处理单元802,还用于将所述深度图像和所述第一点云数据输入所述第二网络中,得到所述第一目标点云数据,所述第二网络用于提取所述深度图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述第二网络包括第三网络和第四网络;处理单元802,还用于将所述第一点云数据输入所述第三网络中,得到第二点云数据,所述第二点云数据对应的线束数量大于所述第一点云数据对应的线束数量,所述第三网络用于对所述第一点云数据进行特征提取和上采样,以得到第二点云数据;处理单元802,还用于将所述深度图像和所述第二点云数据输入所述第四网络中,得到所述第一目标点云数据,所述第四网络用于提取所述深度图像的深度特征,对所述第二点云数据进行特征提取,以得到所述第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述第二网络包括第一网络层集合、第二网络层集合、第三网络层集合和拼接层;所述第一网络层集合用于对所述深度图像进行特征提取以及上采样,得到第二特征;所述第二网络层集合用于对所述第一点云数据进行特征提取以及上采样,得到第一特征;所述拼接层用于对所述第一特征和所述第二特征进行拼接处理,得到第三特征;所述第三网络层集合用于对所述第三特征进行处理,得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述目标网络包括第一网络和第二网络;处理单元802,还用于将所述第一图像输入所述第一网络中,并获取所述第一网络生成的特征图,所述特征图包括所述第一图像中的深度信息,所述第一网络用于基于单目图像预测得到深度图像;处理单元802,还用于将所述特征图和所述第一点云数据输入所述第二网络中,得到所述第一目标点云数据,所述第二网络用于基于所述特征图和所述第一点云数据,预测得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,处理单元802,还用于将所述第一点云数据投影到所述第一图像上,以得到所述第一图像对应的第三点云数据,所述第一点云数据包括所述第三点云数据;处理单元802,还用于将所述第一图像和所述第三点云数据输入目标网络中,得到第一目标点云数据。
可选的,在一种可能的实现方式中,获取单元801,还用于获取第二摄像头采集的第二图像;处理单元802,还用于将所述第一点云数据投影到所述第二图像上,以得到所述第二图像对应的第四点云数据,所述第一点云数据包括所述第四点云数据;处理单元802,还用于将所述第二图像和所述第四点云数据输入目标网络中,得到第二目标点云数据;处理单元802,还用于将所述第一目标点云数据和所述第二目标点云数据进行拼接处理,得到第三目标点云数据。
可选的,在一种可能的实现方式中,所述第一图像为单目摄像头采集的图像。
可选的,在一种可能的实现方式中,所述第一摄像头与所述激光雷达之间已完成标定。
可以参阅图9,图9为本申请实施例提供的训练装置900的一种结构示意图。该训练装置900可以包括获取单元901和处理单元902;获取单元901,用于获取训练样本集,所述训练样本集包括摄像头采集的第一图像、第一激光雷达采集的第一点云数据和第二激光雷达采集的第二点云数据,所述第一激光雷达的线束数量小于所述第二激光雷达的线束数量;处理单元902,用于将所述第一图像和所述第一点云数据输入待训练网络,得到预测点云数据,其中,所述待训练网络用于提取所述第一图像的深度特征,并基于所述第一图像的深度特征以及所述第一点云数据,预测得到所述预测点云数据;处理单元902,还用于根据所述第二点云数据以及所述预测点云数据,获取第一损失值,所述第一损失值用于描述所述第二点云数据与所述预测点云数据之间的差异;处理单元902,还用于根据所述第一损失值对所述待训练网络的参数进行更新,直至满足网络训练条件,得到目标网络。
可选的,在一种可能的实现方式中,所述待训练网络包括第一网络和第二网络;处理单元902,还用于将所述第一图像输入所述第一网络中,得到预测深度图像,所述第一网络用于基于单目图像预测得到深度图像;处理单元902,还用于将所述预测深度图像和所述第一点云数据输入所述第二网络中,得到所述预测点云数据,所述第二网络用于提取所述预测深度图像的深度特征,并基于所述深度图像的深度特征和所述第一点云数据,预测得到所述预测点云数据。
可选的,在一种可能的实现方式中,所述第二网络包括第三网络和第四网络;处理单元902,还用于将所述第一点云数据输入所述第三网络中,得到第二点云数据,所述第二点云数据对应的线束数量大于所述第一点云数据对应的线束数量;处理单元902,还用于将所述预测深度图像和所述第二点云数据输入所述第四网络中,得到所述预测点云数据,所述第四网络用于提取所述预测深度图像的深度特征,并基于所述预测深度图像的深度特征和所述第二点云数据,预测得到所述预测点云数据。
可选的,在一种可能的实现方式中,所述第二网络包括第一网络层集合、第二网络层集合、第三网络层集合和拼接层;所述第一网络层集合用于对所述深度图像进行特征提取以及上采样,得到第二特征;所述第二网络层集合用于对所述第一点云数据进行特征提取以及上采样,得到第一特征;所述拼接层用于对所述第一特征和所述第二特征进行拼接处理,得到第三特征;所述第三网络层集合用于对所述第三特征进行处理,得到所述第一目标点云数据。
可选的,在一种可能的实现方式中,所述待训练网络包括第一网络和第二网络;处理单元902,还用于将所述第一图像输入所述第一网络中,得到所述第一网络生成的特征图,所述特征图包括所述第一图像中的深度信息,所述第一网络用于基于单目图像预测得到深度图像;处理单元902,还用于将所述特征图和所述第一点云数据输入所述第二网络中,得到所述预测点云数据,所述第二网络用于基于所述特征图和所述第一点云数据,预测得到所述预测点云数据。
可选的,在一种可能的实现方式中,所述第一图像为单目摄像头采集的图像。
可选的,在一种可能的实现方式中,所述摄像头与所述第一激光雷达之间已完成标定。
需要说明的是,点云数据的处理装置800以及训练装置900中各单元之间的信息交互、执行过程等内容,与本申请中图2至图7对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供了一种自动驾驶车辆,结合上述对图1a的描述,请参阅图10,图10为本申请实施例提供的自动驾驶车辆的一种结构示意图,其中,自动驾驶车辆100 上可以部署有图8对应实施例中所描述的点云数据的处理装置,用于实现图2至图7对应实施例中自动驾驶车辆的功能。由于在部分实施例中,自动驾驶车辆100还可以包括通信功能,则自动驾驶车辆100除了包括图1a中所示的组件,还可以包括:接收器1001和发射器1002,其中,处理器113可以包括应用处理器1131和通信处理器1132。在本申请的一些实施例中,接收器1001、发射器1002、处理器113和数据存储装置114可通过总线或其它方式连接。
处理器113控制自动驾驶车辆的操作。具体的应用中,自动驾驶车辆100的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
接收器1001可用于接收输入的数字或字符信息,以及产生与自动驾驶车辆的相关设置以及功能控制有关的信号输入。发射器1002可用于通过第一接口输出数字或字符信息;发射器1002还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1002还可以包括显示屏等显示设备。
本申请实施例中,应用处理器1131,用于执行图2对应实施例中的自动驾驶车辆执行的点云数据的处理方法。
需要说明的是,对于应用处理器1131执行点云数据的处理方法的具体实现方式以及带来的有益效果,均可以参考图2至图7对应的各个方法实施例中的叙述,此处不再一一赘述。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于执行自动驾驶的程序,当其在计算机上执行时,使得计算机执行如前述图2至图7所示实施例描述的方法中自动驾驶车辆(或者自动驾驶装置)所执行的步骤。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上执行时,使得计算机执行如前述图2至图7所示实施例描述的方法中自动驾驶车辆所执行的步骤。
本申请实施例中还提供一种电路系统,电路系统包括处理电路,处理电路配置为执行如前述图2至图7所示实施例描述的方法中自动驾驶车辆所执行的步骤。
本申请实施例提供的自动驾驶装置或自动驾驶车辆具体可以为芯片,芯片包括:处理单元和通信单元,处理单元例如可以是处理器,通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使服务器内的芯片执行上述图2至图7所示实施例描述的点云数据的处理方法。可选的,存储单元为芯片内的存储单元,如寄存器、缓存等,存储单元还可以是无线接入设备端内的位于芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体的,请参阅图11,图11为本申请实施例提供的芯片的一种结构示意图,芯片可以表现为神经网络处理器NPU 110,NPU 110作为协处理器挂载到主CPU(Host CPU) 上,由Host CPU分配任务。NPU的核心部分为运算电路1103,通过控制器1104控制运算电路1103提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路1103内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路1103是二维脉动阵列。运算电路1103还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1103是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1102中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1101中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1108中。
统一存储器1106用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(direct memory access controller,DMAC)1105,DMAC被搬运到权重存储器1102中。输入数据也通过DMAC被搬运到统一存储器1106中。
总线接口单元(bus interface unit,BIU)1110,用于AXI总线与DMAC和取指存储器 (instruction fetch buffer,IFB)1109的交互。
BIU1110,用于取指存储器1109从外部存储器获取指令,还用于存储单元访问控制器 1105从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1106或将权重数据搬运到权重存储器1102中或将输入数据数据搬运到输入存储器1101中。
向量计算单元1107包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如批归一化(batch normalization),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元1107能将经处理的输出的向量存储到统一存储器1106。例如,向量计算单元1107可以将线性函数和/或非线性函数应用到运算电路1103的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1107生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1103的激活输入,例如用于在神经网络中的后续层中的使用。
控制器1104连接的取指存储器(instruction fetch buffer)1109,用于存储控制器1104 使用的指令。
统一存储器1106,输入存储器1101,权重存储器1102以及取指存储器1109均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,循环神经网络中各层的运算可以由运算电路1103或向量计算单元1107执行。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述第一方面方法的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CLU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

Claims (20)

1.一种点云数据的处理方法,其特征在于,包括:
获取第一摄像头采集的第一图像;
获取激光雷达采集的第一点云数据;
将所述第一图像和所述第一点云数据输入目标网络中,得到第一目标点云数据;
其中,所述第一目标点云数据对应的线束数量大于所述第一点云数据对应的线束数量,所述目标网络用于提取所述第一图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
2.根据权利要求1所述的方法,其特征在于,所述目标网络包括第一网络和第二网络;
所述将所述第一图像和所述第一点云数据输入目标网络中,得到第一目标点云数据,包括:
将所述第一图像输入所述第一网络中,得到深度图像,所述第一网络用于基于单目图像预测得到深度图像;
将所述深度图像和所述第一点云数据输入所述第二网络中,得到所述第一目标点云数据,所述第二网络用于提取所述深度图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
3.根据权利要求2所述的方法,其特征在于,所述第二网络包括第三网络和第四网络;
所述将所述深度图像和所述点云数据输入所述第二网络中,得到所述第一目标点云数据,包括:
将所述第一点云数据输入所述第三网络中,得到第二点云数据,所述第二点云数据对应的线束数量大于所述第一点云数据对应的线束数量,所述第三网络用于对所述第一点云数据进行特征提取和上采样,以得到第二点云数据;
将所述深度图像和所述第二点云数据输入所述第四网络中,得到所述第一目标点云数据,所述第四网络用于提取所述深度图像的深度特征,对所述第二点云数据进行特征提取,以得到所述第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
4.根据权利要求2或3所述的方法,其特征在于,所述第二网络包括第一网络层集合、第二网络层集合、第三网络层集合和拼接层;
所述第一网络层集合用于对所述深度图像进行特征提取以及上采样,得到第二特征;
所述第二网络层集合用于对所述第一点云数据进行特征提取以及上采样,得到所述第一特征;
所述拼接层用于对所述第一特征和所述第二特征进行拼接处理,得到第三特征;
所述第三网络层集合用于对所述第三特征进行处理,得到所述第一目标点云数据。
5.根据权利要求1所述的方法,其特征在于,所述目标网络包括第一网络和第二网络;
所述将所述第一图像和所述点云数据输入目标网络中,得到第一目标点云数据,包括:
将所述第一图像输入所述第一网络中,并获取所述第一网络生成的特征图,所述特征图包括所述第一图像中的深度信息,所述第一网络用于基于单目图像预测得到深度图像;
将所述特征图和所述第一点云数据输入所述第二网络中,得到所述第一目标点云数据,所述第二网络用于基于所述特征图和所述第一点云数据,预测得到所述第一目标点云数据。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法还包括:
将所述第一点云数据投影到所述第一图像上,以得到所述第一图像对应的第三点云数据,所述第一点云数据包括所述第三点云数据;
将所述第一图像和所述第一点云数据输入目标网络中,得到第一目标点云数据,包括:
将所述第一图像和所述第三点云数据输入目标网络中,得到第一目标点云数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取第二摄像头采集的第二图像;
将所述第一点云数据投影到所述第二图像上,以得到所述第二图像对应的第四点云数据,所述第一点云数据包括所述第四点云数据;
将所述第二图像和所述第四点云数据输入目标网络中,得到第二目标点云数据;
将所述第一目标点云数据和所述第二目标点云数据进行拼接处理,得到第三目标点云数据。
8.根据权利要求1-7任意一项所述的方法,其特征在于,所述第一图像为单目摄像头采集的图像。
9.根据权利要求1-8任意一项所述的方法,其特征在于,所述第一摄像头与所述激光雷达之间已完成标定。
10.一种网络的训练方法,其特征在于,包括:
获取训练样本集,所述训练样本集包括摄像头采集的第一图像、第一激光雷达采集的第一点云数据和第二激光雷达采集的第二点云数据,所述第一激光雷达的线束数量小于所述第二激光雷达的线束数量;
将所述第一图像和所述第一点云数据输入待训练网络,得到预测点云数据,其中,所述待训练网络用于提取所述第一图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据;
根据所述第二点云数据以及所述预测点云数据,获取第一损失值,所述第一损失值用于描述所述第二点云数据与所述预测点云数据之间的差异;
根据所述第一损失值对所述待训练网络的参数进行更新,直至满足网络训练条件,得到目标网络。
11.根据权利要求10所述的方法,其特征在于,所述待训练网络包括第一网络和第二网络;
所述将所述第一图像和所述第一点云数据输入待训练网络,包括:
将所述第一图像输入所述第一网络中,得到预测深度图像,所述第一网络用于基于单目图像预测得到深度图像;
将所述预测深度图像和所述第一点云数据输入所述第二网络中,得到所述预测点云数据,所述第二网络用于提取所述预测深度图像的深度特征,对所述第一点云数据进行特征提取和上采样,以得到第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
12.根据权利要求11所述的方法,其特征在于,所述第二网络包括第三网络和第四网络;
所述将所述预测深度图像和所述第一点云数据输入所述第二网络中,得到所述预测点云数据,包括:
将所述第一点云数据输入所述第三网络中,得到第二点云数据,所述第二点云数据对应的线束数量大于所述第一点云数据对应的线束数量,所述第三网络用于对所述第一点云数据进行特征提取和上采样,以得到第二点云数据;
将所述预测深度图像和所述第二点云数据输入所述第四网络中,得到所述预测点云数据,所述第四网络用于提取所述预测深度图像的深度特征,对所述第二点云数据进行特征提取,以得到所述第一特征,以及对所述深度特征和所述第一特征进行融合处理,以得到所述第一目标点云数据。
13.根据权利要求11或12所述的方法,其特征在于,所述第二网络包括第一网络层集合、第二网络层集合、第三网络层集合和拼接层;
所述第一网络层集合用于对所述深度图像进行特征提取以及上采样,得到第二特征;
所述第二网络层集合用于对所述第一点云数据进行特征提取以及上采样,得到所述第一特征;
所述拼接层用于对所述第一特征和所述第二特征进行拼接处理,得到第三特征;
所述第三网络层集合用于对所述第三特征进行处理,得到所述第一目标点云数据。
14.根据权利要求10所述的方法,其特征在于,所述待训练网络包括第一网络和第二网络;
所述将所述第一图像和所述第一点云数据输入待训练网络,包括:
将所述第一图像输入所述第一网络中,得到所述第一网络生成的特征图,所述特征图包括所述第一图像中的深度信息,所述第一网络用于基于单目图像预测得到深度图像;
将所述特征图和所述第一点云数据输入所述第二网络中,得到所述预测点云数据,所述第二网络用于基于所述特征图和所述第一点云数据,预测得到所述预测点云数据。
15.根据权利要求10-14任意一项所述的方法,其特征在于,所述第一图像为单目摄像头采集的图像。
16.根据权利要求10-15任意一项所述的方法,其特征在于,所述摄像头与所述第一激光雷达之间已完成标定。
17.一种自动驾驶装置,其特征在于,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求1至16中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行如权利要求1至16中任一项所述的方法。
19.一种计算机程序产品,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行如权利要求1至16任一项所述的方法。
20.一种自动驾驶车辆,其特征在于,所述自动驾驶车辆包括处理电路和存储电路,所述处理电路和所述存储电路被配置为执行如权利要求1至16中任一项所述的方法。
CN202011332091.0A 2020-11-24 2020-11-24 一种点云数据的处理方法及相关装置 Pending CN114549610A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011332091.0A CN114549610A (zh) 2020-11-24 2020-11-24 一种点云数据的处理方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011332091.0A CN114549610A (zh) 2020-11-24 2020-11-24 一种点云数据的处理方法及相关装置

Publications (1)

Publication Number Publication Date
CN114549610A true CN114549610A (zh) 2022-05-27

Family

ID=81660617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011332091.0A Pending CN114549610A (zh) 2020-11-24 2020-11-24 一种点云数据的处理方法及相关装置

Country Status (1)

Country Link
CN (1) CN114549610A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024044887A1 (en) * 2022-08-29 2024-03-07 Huawei Technologies Co., Ltd. Vision-based perception system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024044887A1 (en) * 2022-08-29 2024-03-07 Huawei Technologies Co., Ltd. Vision-based perception system

Similar Documents

Publication Publication Date Title
CN109901574B (zh) 自动驾驶方法及装置
US11688181B2 (en) Sensor fusion for autonomous machine applications using machine learning
US11966838B2 (en) Behavior-guided path planning in autonomous machine applications
CN110379193B (zh) 自动驾驶车辆的行为规划方法及行为规划装置
CN109901572B (zh) 自动驾驶方法、训练方法及相关装置
US20240127062A1 (en) Behavior-guided path planning in autonomous machine applications
CN113496290A (zh) 使用采用模拟对象增强的图像训练机器学习模型
CN112740268B (zh) 目标检测方法和装置
CN110930323B (zh) 图像去反光的方法、装置
CN112639883A (zh) 一种相对位姿标定方法及相关装置
CN112512887B (zh) 一种行驶决策选择方法以及装置
CN113591518B (zh) 一种图像的处理方法、网络的训练方法以及相关设备
CN113954858A (zh) 一种规划车辆行驶路线的方法以及智能汽车
CN114693540A (zh) 一种图像处理方法、装置以及智能汽车
US20230048680A1 (en) Method and apparatus for passing through barrier gate crossbar by vehicle
CN112810603B (zh) 定位方法和相关产品
CN113552867A (zh) 一种运动轨迹的规划方法及轮式移动设备
WO2022017307A1 (zh) 自动驾驶场景生成方法、装置及系统
WO2022178858A1 (zh) 一种车辆行驶意图预测方法、装置、终端及存储介质
US20230123184A1 (en) Systems and methods for producing amodal cuboids
CN114549610A (zh) 一种点云数据的处理方法及相关装置
US20230213945A1 (en) Obstacle to path assignment for autonomous systems and applications
WO2021159397A1 (zh) 车辆可行驶区域的检测方法以及检测装置
CN113859265A (zh) 一种驾驶过程中的提醒方法及设备
CN114261404A (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