处理点云的方法和装置

文档序号:1220300 发布日期:2020-09-04 浏览:3次 >En<

阅读说明:本技术 处理点云的方法和装置 (Method and device for processing point cloud ) 是由 徐彬 于 2019-07-30 设计创作,主要内容包括:提供了一种处理点云的方法,包括:获取第一点云;获取与所述第一点云对应相同环境的图像;对所述第一点云进行重采样,获得第二点云,所述第二点云的密度小于所述第一点云的密度;配准所述第二点云和所述图像;根据所述图像处理所述第二点云,生成包含颜色的目标点云。由于相机拍摄的图像的颜色能够反映真实的驾驶环境,因此,上述方案能够给驾驶员提供更加直观的可视化点云,便于驾驶员根据目标点云更好地执行倒车、变道以及超车等精细化操作。(A method of processing a point cloud is provided, comprising: acquiring a first point cloud; acquiring an image of the same environment corresponding to the first point cloud; resampling the first point cloud to obtain a second point cloud, wherein the density of the second point cloud is smaller than that of the first point cloud; registering the second point cloud and the image; and processing the second point cloud according to the image to generate a target point cloud containing colors. Because the color of the image shot by the camera can reflect the real driving environment, the scheme can provide more visual point clouds for the driver, and the driver can better execute the fine operations of backing, changing lanes, overtaking and the like according to the target point clouds.)

处理点云的方法和装置

版权申明

本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。

技术领域

本申请涉及自动驾驶领域,并且更为具体地,涉及一种处理点云的方法和装置。

背景技术

点云(point cloud)是三维物体或三维场景的一种表现形式,由空间中一组无规则分布的离散点构成,该离散点即点云数据,点云数据用于表征三维物体或三维场景的空间结构,一个点云数据通常由位置信息组成。

为了便于驾驶员了解周围环境,自动驾驶汽车可以将点云呈现给驾驶员,例如,将点云显示在屏幕上,或者,将点云显示在投影在车窗上。为了使驾驶员能够更加直观地了解周围环境,一种呈现点云的方法是对点云上色之后再呈现给驾驶员。然而,直接对点云上色得到的点云的颜色与真实环境的颜色存在较大的偏差。

发明内容

本申请提供一种处理点云的方法,可以为驾驶员提供更加直观的可视化点云。

第一方面,提供了一种处理点云的方法,包括:获取第一点云;获取与所述第一点云对应相同环境的图像;对所述第一点云进行重采样,获得第二点云,所述第二点云的密度小于所述第一点云的密度;配准所述第二点云和所述图像;根据所述图像处理所述第二点云,生成包含颜色的目标点云。

由于相机拍摄的图像的颜色能够反映真实的驾驶环境,因此,上述方案能够给驾驶员提供更加直观的可视化点云,便于驾驶员根据目标点云更好地执行倒车、变道以及超车等精细化操作。

第二方面,提供了一种装置,所述装置用于执行上述第一方面中的方法。

第三方面,提供了一种装置,所述装置包括存储器和处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得所述处理器执行第一方面的方法。

第四方面,提供了一种芯片,所述芯片包括处理模块与通信接口,所述处理模块用于控制所述通信接口与外部进行通信,所述处理模块还用于实现第一方面的方法。

第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时使得所述计算机实现第一方面的方法。具体地,所述计算机可以为上述装置。

第六方面,提供了一种包含指令的计算机程序产品,所述指令被计算机执行时使得所述计算机实现第一方面的方法。具体地,所述计算机可以为上述装置。

附图说明

图1是本申请提供的一种处理点云的方法的示意图;

图2是本申请提供的另一种处理点云的方法的示意图;

图3是本申请提供的一种处理点云的装置的示意图。

具体实施方式

下面将结合附图,对本申请实施例中的技术方案进行描述。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。

本申请提供的点云处理方法能够应用于可移动平台,该可移动平台包括但不限于自动驾驶汽车。自动驾驶汽车又称为无人驾驶汽车,其能够通过雷达等传感器获取环境信息,并根据环境信息控制车辆行驶,减少了司机控车的时间,因此,自动驾驶汽车具有减少交通违章等优势。

然而,在自动驾驶技术的演进过程中,驾驶员需要不同程度的参与驾驶,因此,将驾驶环境通过可视化手段呈现给驾驶员,有利于驾驶员更好地做出倒车、变道以及超车等决策。

需要说明的是,在本申请中,驾驶员可以在可移动平台内部驾驶可移动平台,例如,驾驶员在自动驾驶汽车内控制该自动驾驶汽车;驾驶员也可以在可移动平台外部驾驶可移动平台,例如,驾驶员通过遥控装置控制无人机或者无人潜水器。

为了减小可视化的成本,可以利用自动驾驶汽车现有的传感器呈现驾驶环境。例如,可以将激光雷达生成的点云进行处理后呈现给驾驶员。图1是本申请提供的一种处理点云的方法。方法100包括:

S110,获取第一点云。

S110可以由处理器执行,该处理器例如是中央处理器(central processingunit,CPU)。CPU可以通过通信接口获取激光雷达拍摄的第一点云,CPU也可以对激光雷达拍摄的点云进行处理后生成第一点云,本申请对获取第一点云的具体方式不做限定。

S110也可以由包含处理器和激光雷达的自动驾驶汽车执行。通过激光雷达拍摄点云后,实时传输给处理器,以便于处理器执行后续步骤。

上述通过激光雷达生成第一点云仅是举例说明,本申请对生成点云的设备不做限定,例如,还可以通过毫米波雷达生成第一点云。

处理器可以从一个激光雷达获取第一点云,也可以通过多个激光雷达获取第一点云。例如,处理器通过多个激光雷达获取多个点云;并将该多个点云拼接为第一点云;可选地,处理器可以通过迭代最近点(iterative closet point,ICP)算法配准所述多个点云(即,拼接多个点云),得到第一点云。

处理器可以根据多个激光雷达的外参数将多个点云拼接为第一点云。上述外参数用于指示所述多个激光雷达中各个激光雷达的坐标系相对于可移动平台的坐标系的位置关系。例如,上述外参数可以包括:

多个激光雷达中各个激光雷达的坐标系相对于可移动平台的坐标系的旋转参数;和/或,

多个激光雷达中各个激光雷达的坐标系相对于可移动平台的坐标系的平移参数。

处理器执行完毕S110后可以执行S120,或者,处理器可以通过执行S110和S120。

S120,获取与所述第一点云对应相同环境的图像。

例如,CPU通过通信接口获取相机拍摄的图像。S120也可以由包含处理器的相机的自动驾驶汽车执行。上述相机可以是彩色相机,也可以是灰度相机。相应地,处理器获取的图像可以是彩色图像,也可以是灰度图像。

图像与第一点云对应的相同环境,可以被解释为:相机和激光雷达在同一时刻拍摄相同场景得到的两个结果;或者,相机和激光雷达在同一时刻拍摄近似场景得到的两个结果;或者,相机和激光雷达在相邻时刻拍摄相同场景得到的两个结果;或者,相机和激光雷达在相邻时刻拍摄近似场景得到的两个结果。

例如,相机在A时刻拍摄车辆正前方的车道,生成图像;激光雷达在A时刻拍摄车辆正前方的车道,生成第一点云;该图像对应的场景与该第一点云对应的场景完全相同,则该图像与该第一点云对应相同的环境。

又例如,相机在A时刻拍摄车辆正前方的车道,生成图像;激光雷达在A时刻拍摄车辆左前方的车道,生成第一点云;该图像对应的场景与该第一点云对应的场景存在部分相同的场景,则该图像与该第一点云对应相同的环境。

又例如,相机在A时刻拍摄车辆正前方的车道,生成图像;激光雷达在B时刻拍摄车辆正前方的车道,生成第一点云;A时刻与B时刻相邻,并且,该图像对应的场景与该第一点云对应的场景存在部分相同的场景,则该图像与该第一点云对应相同的环境。

又例如,相机在A时刻拍摄车辆正前方的车道,生成图像;激光雷达在B时刻拍摄车辆左前方的车道,生成第一点云;A时刻与B时刻相邻,并且,该图像对应的场景与该第一点云对应的场景存在部分相同的场景,则该图像与该第一点云对应相同的环境。

为了场景相似度较高的图像和第一点云,处理器可以控制相机和激光雷达在尽可能接近的时刻以及按照尽可能相同的角度拍摄。

S130,对所述第一点云进行重采样,获得第二点云,所述第二点云的密度小于所述第一点云的密度。

为了减小处理器的负载,处理器可以对第一点云进行重采样(resampling),降低第一点云中密度较高的点云块的密度。第一点云和第二点云均为无颜色的点云,所述“无颜色的点云”指的是没有灰度信息和RGB信息的点云。

处理器在对所述第一点云进行重采样时,可以按照下列步骤进行重采样:

确定第一点云中点云密度大于密度阈值的点云块;

对所述点云块进行重采样。

第一点云中可能存在部分密度较大的点云块,处理器可以首先识别出这些点云块,再针对这些点云块进行重采样,无需对整个第一点云进行重采样,从而可以减轻处理器的负担。

S140,配准所述第二点云和所述图像。

处理器可以利用相机和激光雷达的标定结果配准第二点云和图像,该标定结果可以是预配置的信息,例如,该标定结果可以是预配置的相机与激光雷达之间的外参数。

处理器也可以根据其它方式配准第二点云和图像,例如,处理器可以确定第二点云和图像中相同的对象,使相同的对象重叠,从而配准第二点云和图像。

S150,根据所述图像处理所述第二点云,生成包含颜色的目标点云。

配准第二点云和图像之后,处理器即可根据图像处理第二点云,即,基于图像的颜色对第二点云上色,生成包含颜色的目标点云。

例如,处理器可以确定图像与第二点云的重叠部分,将图像中重叠部分的颜色复制到第二点云的重叠部分。或者,处理器可以确定图像与第二点云中相同的对象,将图像中对象的颜色赋予第二点云中相应的对象。

通过上述步骤,处理器最终生成包含颜色的点云,即,目标点云。由于相机拍摄的图像的颜色能够反映真实的驾驶环境,因此,上述方案能够给驾驶员提供更加直观的可视化点云,便于驾驶员根据目标点云更好地执行倒车、变道以及超车等精细化操作。

由于经过重采样后的得到的第二点云的密度较为稀疏,为了提高第二点云可视化之后的显示效果,处理器在根据图像处理第二点云时,可以按照下列步骤处理第二点云:

根据图像确定第二点云中对象的边缘;

根据所述边缘对第二点云进行滤波处理,获得密度增大的第二点云,密度增大的第二点云包括所述边缘;

根据图像确定密度增大的第二点云的颜色。

处理器可以利用保边滤波(edge preserving filter)算法处理第二点云,确定第二点云中对象的边缘。例如,处理器可以使用引导滤波(guided filter)算法确定第二点云中与上述图像中的对象对应的点云块,从而确定了第二点云中对象的边缘;再对边缘内的点云进行滤波处理,增大边缘内的点云的密度,获得密度增大的第二点云;随后,基于图像与第二点云的对应关系,确定密度增大的第二点云的颜色。最终获得了可视化效果较好的目标点云(即,包含颜色的密度增大的第二点云)。

上述对象例如是驾驶环境中的物体,如,相邻的汽车,障碍物等。上述可视化效果较好可以是对象的细节更加丰富。

处理器可以直接将目标点云呈现给驾驶员,也可以基于下文所述的方法对目标点云处理后再呈现给驾驶员。

例如,当目标点云对应的环境区域大于预设环境区域时,处理器还可以删除所述目标点云中的多余点云块,所述多余点云块对应的环境区域位于预设环境区域之外。

上述预设环境区域例如是可移动平台前方200米以内,以及高度5米以内的区域。过大的区域对于驾驶员没有太大的意义,反而可能分散驾驶员的注意力,因此,上述方案能够使得驾驶员的注意力集中在可移动平台附近的驾驶环境,提高可移动平台的安全性。此外,显示目标点云中的部分内容还可以减轻处理器的负担。

此外,为了进一步提高目标点云的可视化效果,处理器还可以识别目标点云中的对象;将目标点云中的对象替换为三维模型。例如,处理器可以识别出目标点云中的人、车和红绿灯,并确定这些对象的位置,将这些点云形式的对象替换为细节更加丰富的3D模型。

处理器还可以对目标点云进行处理,生成一个或者多个面片(mesh grid),该面片可以由目标点云中相邻的三个点的连线组成。

处理器获取目标点云后,可以直接渲染目标点云,也可以按照上述方法对目标点云进一步处理后再渲染处理后的目标点云。例如,处理器可以根据驾驶员的设定的观察视角或者程序预设的观察视角渲染目标点云,将渲染后的目标点云显示在屏幕上,从而提高了用户体验度。

图2示出了本申请提供的处理点云的方法的另一示意图。

如图2所示,处理器从激光雷达获取多个点云数据后,将该多个点云数据合并为一个点云(即,方法100中的第一点云),并对该点云进行重采样,得到稀疏点云。

随后,处理器从相机获取图像,利用相机与激光雷达的标定结果,将稀疏点云投影到图像上,得到叠加图像的稀疏点云。

由于上述叠加图像的稀疏点云的可视化效果较差,所以可以利用保边滤波算法处理叠加图像的稀疏点云,利用图像与稀疏点云的一致性猜测出稀疏点云周围的像素点的3d坐标,并利用像素点填充稀疏点云,得到带颜色的稠密点云。对于稠密点云中的每个点,其颜色信息即与该点对应的像素点的像素值。

处理器可以检测上述稠密点云中的物体,例如,检测稠密点云中的人、车、红绿灯以及这些物体的位置信息,并将这些物体替换为3d模型,以便于达到更好地可视化效果。

最后,处理器可以根据驾驶员设置的观察视角或者程序自动设置的观察视角渲染点云,呈现在屏幕上。

上文详细介绍了本申请提供的处理点云的方法的示例。可以理解的是,处理点云装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请可以根据上述方法示例对处理点云装置进行功能单元的划分,例如,可以将各个功能划分为各个功能单元,也可以将两个或两个以上的功能集成在一个功能单元中。上述功能单元既可以采用硬件的形式实现,也可以采用软件的形式实现。需要说明的是,本申请中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

图3示出了本申请提供的一种处理点云装置的结构示意图。图3中的虚线表示该单元为可选的单元。装置300可用于实现上述方法实施例中描述的方法。装置300可以是软件模块、芯片、终端设备或者其它电子设备。

装置300包括一个或多个处理单元301,该一个或多个处理单元301可支持装置300实现图1所对应方法实施例中的方法。处理单元301可以是软件处理单元、通用处理器或者专用处理器。处理单元301可以用于对装置300进行控制,执行软件程序(例如,包含方法100的软件程序),处理数据(例如,处理第一点云)。装置300还可以包括通信单元305,用以实现信号的输入(接收)和输出(发送)。

例如,装置300可以是软件模块,通信单元305可以是该软件模块的接口函数。该软件模块可以在处理器或者控制电路上运行。

又例如,装置300可以是芯片,通信单元305可以是该芯片的输入和/或输出电路,或者,通信单元305可以是该芯片的通信接口,该芯片可以作为终端设备或其它电子设备的组成部分。

装置300中,通信单元305可以执行:获取第一点云;获取与所述第一点云对应相同环境的图像;

处理单元301可以执行:对所述第一点云进行重采样,获得第二点云,所述第二点云的密度小于所述第一点云的密度;配准所述第二点云和所述图像;根据所述图像处理所述第二点云,生成包含颜色的目标点云。

需要说明的是,处理单元301也可以包含重采样单元和配置单元,其中,重采样单元用于对第一点云进行重采样,配置单元用于配准第二点云和图像。

可选地,处理单元301具体用于:确定所述第一点云中点云密度大于密度阈值的点云块;对所述点云块进行重采样。

可选地,处理单元301具体用于:根据所述图像确定所述第二点云中对象的边缘;根据所述边缘对所述第二点云进行滤波处理,获得密度增大的第二点云,所述密度增大的第二点云包括所述边缘;所述根据所述图像确定所述密度增大的第二点云的颜色。

可选地,处理单元301具体用于:当所述目标点云对应的环境区域大于预设环境区域时,删除所述目标点云中的多余点云块,所述多余点云块对应的环境区域位于所述预设环境区域之外。

可选地,处理单元301具体用于:识别所述目标点云中的对象;将所述对象替换为三维模型。

可选地,处理单元301还用于:对所述目标点云进行处理,生成面片。

可选地,所述面片由所述目标点云中相邻的三个点组成。

可选地,处理单元301还用于:渲染所述目标点云。

可选地,通信单元305具体用于:从多个激光雷达获取多个点云;处理单元301还用于:将所述多个点云拼接为所述第一点云。

可选地,处理单元301具体用于:根据所述多个激光雷达的外参数将所述多个点云拼接为所述第一点云。

可选地,所述外参数用于指示所述多个激光雷达中各个激光雷达的坐标系相对于可移动平台的坐标系的位置关系。

可选地,所述外参数包括:

所述多个激光雷达中各个激光雷达的坐标系相对于可移动平台的坐标系的旋转参数;和/或,

所述多个激光雷达中各个激光雷达的坐标系相对于可移动平台的坐标系的平移参数。

可选地,处理单元301具体用于:通过ICP算法拼接所述多个点云,得到所述第一点云。

本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述装置和单元的具体工作过程以及产生的效果可以参见图1的实施例中的相关描述。为了简洁,在此不再赘述。

作为一种可选的实施方式,上述各步骤可以通过硬件形式的逻辑电路或者软件形式的指令完成。例如,处理单元301可以是中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specificintegrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件,例如,分立门、晶体管逻辑器件或分立硬件组件。

装置300可以包括一个或多个存储单元302,其中存有程序304(例如,包含方法100的软件程序),程序304可被处理单元301运行,生成指令303,使得处理单元301根据指令303执行上述方法实施例中描述的方法。可选地,存储单元302中还可以存储有数据(例如,第一点云)。可选地,处理单元301还可以读取存储单元302中存储的数据,该数据可以与程序304存储在相同的存储地址,该数据也可以与程序304存储在不同的存储地址。

处理单元301和存储单元302可以单独设置,也可以集成在一起,例如,集成在单板或者系统级芯片(system on chip,SOC)上。

本申请还提供了一种计算机程序产品,该计算机程序产品被处理单元301执行时实现本申请中任一实施例所述的方法。

该计算机程序产品可以存储在存储单元302中,例如是程序304,程序304经过预处理、编译、汇编和链接等处理过程最终被转换为能够被处理单元301执行的可执行目标文件。

该计算机程序产品可以从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。

本申请还提供了一种计算机可读存储介质(如,存储单元302),其上存储有计算机程序,该计算机程序被计算机执行时实现本申请中任一实施例所述的方法。该计算机程序可以是高级语言程序,也可以是可执行目标程序。

该计算机可读存储介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid statedisk,SSD))等。例如,该计算机可读存储介质可以是易失性存储器或非易失性存储器,或者,该计算机可读存储介质可以同时包括易失性存储器和非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmableROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(randomaccess memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamicRAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。

应理解,在本申请的各个实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。

本文中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本申请所提供的实施例所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例的一些特征可以忽略,或不执行。以上所描述的装置实施例仅仅是示意性的,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统。另外,各单元之间的耦合或各个组件之间的耦合可以是直接耦合,也可以是间接耦合,上述耦合包括电的、机械的或其它形式的连接。

总之,以上所述仅为本申请的部分实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:图像处理方法和图像处理系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!