一种点云检测方法、装置、计算机设备和存储介质与流程

文档序号:22325819发布日期:2020-09-25 17:54阅读:144来源:国知局
一种点云检测方法、装置、计算机设备和存储介质与流程

本发明实施例涉及环境感测技术,尤其涉及一种点云检测方法、装置、计算机设备和存储介质。



背景技术:

在车辆进行自动驾驶、机器人进行自动巡查等场景中,激光雷达作为常用的传感器,可检测周边环境的点云,从而进行障碍物的识别。

激光雷达所检测到的点云较为稀疏,且具有较多的噪声,每个点云包含激光强度(intensity)和坐标等信息,信息量较少,导致容易出现检测遗漏障碍物,检测障碍物的类别错误等问题,例如,将人和柱子混淆,将灰尘、水花、飞虫等产生的噪点误识别为障碍物。



技术实现要素:

本发明实施例提供一种点云检测方法、装置、计算机设备和存储介质,以解决点云信息量少、噪点多的问题。

第一方面,本发明实施例提供了一种点云检测方法,包括:

获取面向同一可视范围同时采集的多帧点云与多帧原始图像数据;

将多帧所述点云分别投影到多帧所述原始图像数据上,获得多帧目标图像数据;

根据多帧所述目标图像数据之间在时序上的关系,对所述目标图像数据中的点云与像素点进行语义分割,以识别所述像素点对于障碍物的语义信息;

将所述像素点的语义信息赋予所述像素点对应的点云。

第二方面,本发明实施例还提供了一种点云检测装置,包括:

原始数据获取模块,用于获取面向同一可视范围同时采集的多帧点云与多帧原始图像数据;

点云投影模块,用于将多帧所述点云分别投影到多帧所述原始图像数据上,获得多帧目标图像数据;

语义分割模块,用于根据多帧所述目标图像数据之间在时序上的关系,对所述目标图像数据中的点云与像素点进行语义分割,以识别所述像素点对于障碍物的语义信息;

语义信息赋值模块,用于将所述像素点的语义信息赋予所述像素点对应的点云。

第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的点云检测方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的点云检测方法。

在本实施例中,可获取面向同一可视范围同时采集的多帧点云与多帧原始图像数据,将多帧点云分别投影到多帧原始图像数据上,获得多帧目标图像数据,根据多帧目标图像数据之间在时序上的关系,对目标图像数据中的点云与像素点进行语义分割,以识别像素点对于障碍物的语义信息,将像素点的语义信息赋予像素点对应的点云,将图像数据的视觉特征与点云的空间特征结合,使得目标图像数据既包含了丰富的颜色特征、纹理特征,又包含了点云的坐标、激光强度等特征,大大丰富了特征的维度,并且,考虑帧间的时序进行语义分割,将无人设备的运行场景特性融入语义分割,从而提高对于障碍物的语义信息的精确度。

附图说明

图1为本发明实施例提供的无人驾驶车辆的结构示意图;

图2为本发明实施例一提供的一种点云检测方法的流程图;

图3是本发明实施例二提供的一种点云检测方法的流程图;

图4是本发明实施例二提供的一种语义分割模型的结构示意图;

图5是本发明实施例二提供的一种尺度池化模块的结构示意图;

图6为本发明实施例三提供的一种点云检测装置的结构示意图;

图7为本发明实施例四提供的一种计算机设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

参见图1,示出了可以应用本发明实施例中点云检测方法、点云检测装置的实施例的无人驾驶车辆100。

如图1所示,无人驾驶车辆100可以包括驾驶控制设备101,车身总线102,ecu(electroniccontrolunit,电子控制单元)103、ecu104、ecu105,传感器106、传感器107、传感器108和执行器件109、执行器件110、执行器件111。

驾驶控制设备(又称为车载大脑)101负责整个无人驾驶车辆100的总体智能控制。驾驶控制设备101可以是单独设置的控制器,例如可编程逻辑控制器(programmablelogiccontroller,plc)、单片机、工业控制机等;也可以是由其他具有输入/输出端口,并具有运算控制功能的电子器件组成的设备;还可以是安装有车辆驾驶控制类应用的计算机设备。驾驶控制设备可以对从车身总线102上接收到的各个ecu发来的数据和/或各个传感器发来的数据进行分析处理,作出相应的决策,并将决策对应的指令发送到车身总线。

车身总线102可以是用于连接驾驶控制设备101,ecu103、ecu104、ecu105,传感器106、传感器107、传感器108以及无人驾驶车辆100的其他未示出的设备的总线。由于can(controllerareanetwork,控制器局域网络)总线的高性能和可靠性已被广泛认同,因此目前机动车中常用的车身总线为can总线。当然,可以理解的是车身总线也可以是其他类型的总线。

车身总线102可以将驾驶控制设备101发出的指令发送给ecu103、ecu104、ecu105,ecu103、ecu104、ecu105再将上述指令进行分析处理后发给相应的执行器件执行。

传感器106、传感器107、传感器108包括但不限于激光雷达、相机,等等。

需要说明的是,本发明实施例所提供的点云检测方法可以由驾驶控制设备101执行,相应地,点云检测装置一般设置于驾驶控制设备101中。

应该理解,图1中的无人驾驶车辆、驾驶控制设备、车身总线、ecu、执行器件和传感器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的无人驾驶车辆、驾驶控制设备、车身总线、ecu和传感器。

实施例一

图2为本发明实施例一提供的一种点云检测方法的流程图,本实施例可适用于根据时序对图像数据进行语义分析并对点云赋予表示障碍物的语义信息的情况,该方法可以由点云检测装置来执行,该点云检测装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,无人驾驶车辆、机器人、无人飞行器等无人设备,以及,服务器、个人电脑等计算设备,等等,该方法具体包括如下步骤:

s201、获取面向同一可视范围同时采集的多帧点云与多帧原始图像数据。

在本实施例中,无人设备配置有激光雷达与相机,激光雷达用于检测点云,相机用于采集原始图像数据。

无人设备在运行的过程中,持续驱动激光雷达扫描车辆周围环境的点云,在激光雷达扫描到相机的可视范围时,由特定的同步器触发相机曝光采集得到图像数据,作为原始图像数据。

需要说明的是,除了无人设备除实时采集点云与原始图像数据、识别像素点对于障碍物的语义信息并赋予点云之外,也可以在采集点云与原始图像数据之后,将点云与原始图像数据发送至计算设备,计算设备识别像素点对于障碍物的语义信息并赋予点云。

s202、将多帧点云分别投影到多帧原始图像数据上,获得多帧目标图像数据。

在本实施例中,针对同一个时刻激光雷达检测到的三维的点云与相机采集到的原始图像数据,可根据激光雷达与相机之间的位置关系,将激光雷达的点云变换到相机的坐标下,并投影到原始图像数据上。

在具体实现中,可查询相机的内部参数、外部参数。

其中,相机的内部参数包括相机的焦距、成像的像素尺寸等,该内部参数可以用矩阵k表示:

外部参数是相机在世界坐标系的参数,包括相机在世界坐标系的位置、旋转方向、偏移方向等,该外部参数可以用旋转矩阵r和平移向量t表示:

针对同一帧点云与原始图像数据,点云可表示为a=pwj=(xj,yj,zj,ij),j=1,2,...,n,表示点云的数量,其中,每个点云的信息包括坐标(xj,yj,zj)和激光强度(ij),原始图像数据中的像素点表示为puv=(u,v)。

查询点云在第一坐标系中的第一坐标,其中,第一坐标系为用于采集点云的激光雷达所在的坐标系。

基于外部参数将第一坐标映射为第二坐标系中的第二坐标,其中,第二坐标系为相机所在的坐标系,此时,第二坐标pc可表示为:

pc=rpw=(xc,yc,zc)

基于内部参数将第二坐标映射为原始图像数据中的第三坐标,此时,第三坐标puv可表示为:

puv=k(pc+t)=(u,v)

将点云投影到原始图像数据中处于第三坐标的像素点,获得目标图像数据。

需要说明的是,因为相机的视角有限,只有部分点云会投影到原始图像数据上,落在原始图像数据上的点云满足如下规则:

zc>0

0<u<w

0<v<h

其中,w、h分别为原始图像数据的宽和高。

对于目标图像数据中的每个像素点,具有视觉信息,如色彩分量(如r(红)、g(绿)、b(蓝)),还具有点云的信息,如强度、坐标等,b=pcj=(xcj,ycj,zcj,icj),其中,j=1,2,...,m,表示投影到原始图像数据的点云的数量。

s203、根据多帧目标图像数据之间在时序上的关系,对目标图像数据中的点云与像素点进行语义分割,以识别像素点对于障碍物的语义信息。

在计算机设备运行的过程中,原始图像数据是连续的,由于每两帧原始图像数之间间隔的时间很小,因此,相邻两帧原始图像数据之间的内容是基本是相同的。相对应地,目标图像数据是连续的,由于每两帧目标图像数之间间隔的时间很小,因此,相邻两帧目标图像数据之间的内容是基本是相同的。

在本实施例中,利用多帧目标图像数据之间在时序上的关系,以点云作为辅助,使用u型网络u-net、全卷积神经网络fcn、segnet、空洞卷积、deeplab等网络对目标图像数据中的像素点进行语义分割(semanticsegmentation),从而识别像素点对于障碍物的语义信息,即识别像素点所属物体的类别,从而判定是否是障碍物。

需要说明的是,针对不同的场景,关注的类别有所不同,本领域技术人员可以根据实际的场景需求而设置关注的类别,本实施例对此不加以限制。

例如,对于自动驾驶的场景,关注的类别包括但不限于:小轿车、公交车、卡车、三轮车、自行车、行人、交通锥、红绿灯、交通标志,等等。

s204、将像素点的语义信息赋予像素点对应的点云。

若完成对目标图像数据的语音分割,则可遍历每个像素点,将像素点的语义信息赋予投影至该像素的点云上。

在本实施例中,可获取面向同一可视范围同时采集的多帧点云与多帧原始图像数据,将多帧点云分别投影到多帧原始图像数据上,获得多帧目标图像数据,根据多帧目标图像数据之间在时序上的关系,对目标图像数据中的点云与像素点进行语义分割,以识别像素点对于障碍物的语义信息,将像素点的语义信息赋予像素点对应的点云,将图像数据的视觉特征与点云的空间特征结合,使得目标图像数据既包含了丰富的颜色特征、纹理特征,又包含了点云的坐标、激光强度等特征,大大丰富了特征的维度,并且,考虑帧间的时序进行语义分割,将无人设备的运行场景特性融入语义分割,从而提高对于障碍物的语义信息的精确度。

实施例二

图3为本发明实施例二提供的一种点云检测方法的流程图,本实施例以前述实施例为基础,进一步细化了语义分割、增加了障碍物检测的处理操作,该方法具体包括如下步骤:

s301、获取面向同一可视范围同时采集的多帧点云与多帧原始图像数据。

在本实施例中,无人设备可实时采集点云与原始图像数据、识别像素点对于障碍物的语义信息并赋予点云,从而使用点云检测障碍物,此外,无人设备也可以在采集点云与原始图像数据之后,将点云与原始图像数据发送至计算设备,计算设备识别像素点对于障碍物的语义信息并赋予点云,从而使用点云检测障碍物并将障碍物的信息发送至无人设备。

s302、将多帧点云分别投影到多帧原始图像数据上,获得多帧目标图像数据。

相机所采集的原始图像数据,具有丰富的视觉特征,如颜色和纹理,但是缺乏空间特征,如深度信息,将原始图像数据与点云结合,可以结合视觉特征与空间特征,从而增加特征的维度。

s303、将目标图像数据中的点云表示为距离信息、z坐标、激光强度、点标识。

在本实施例中,对目标图像数据中的点云进行预处理,将点云从x坐标、y坐标、z坐标、激光强度转换为距离信息、z坐标、激光强度、点标识,其中,距离信息为点云的x坐标、y坐标所表示的距离信息,点标识用于表示是否存在点云,使得点云在目标图像数据中得到更明确的表示。

其中,由于点云投影在原始图像数据上比较稀疏,因此,可生成点标识表示该像素点所在的位置是否存在投影的点信息,当有多个点云落在同一个像素中,可以采用距离相机最近的点云的信息。

在具体实现中,若点云为b=pc=(xcj,ycj,zcj,icj),其中,j=1,2,...,m,将x坐标、y坐标(xcj,ycj)计算该点云在相机的点对点的距离信息作为距离信息。

那么,目标图像数据表示为i和l:

i=rh×w×3,其中,w、h分别为目标图像数据的宽和高,每个像素点具有三个维度的视觉特征,即iuv=(ruv,guv,buv)。

l=rh×w×4,w、h分别为目标图像数据的宽和高,每个像素点具有四个维度的空间特征,即luv=(duv,zuv,iuv,fuv)。

此外,在某些场景下,若点云的坐标、激光强度还不足以表征该位置的点云的信息,还可以根据点云的信息得到其他的计算量,例如,当同一个像素点有多个点云时,可统计点云的高度的中位数,对点云的坐标取对数、对激光强度信息取对数,同时,也可以利用点云的线束信息,丰富点云的表示。

s304、将当前帧目标图像数据中的点云与像素点合并为第一目标特征数据。

在本实施例中,遍历每帧目标图像数据中的点云与像素点,将同一帧目标图像数据中的点云与像素点进行合并,获得符合指定规格的第一目标特征数据。

在具体实现中,如图4所示,可对当前帧目标图像数据中的像素点411进行卷积操作,获得像素特征数据411'。

对当前帧目标图像数据中的点云412进行卷积操作,获得点云特征数据412'。

按照通道(channel)将像素特征数据与点云特征数据进行叠加,获得候选特征数据。

对候选特征数据进行卷积操作,获得第一目标特征数据413。

其中,在图4中,为便于表述,箭头421均可表示卷积操作,卷积操作除了可以指使用指定数量(如16)、大小(如3×3)的卷积核进行二维卷积(convolution)之外,可以使用bn(batchnormalization,批归一化)算子进行归一化、使用relu(rectifiedlinearunit,整流线性单元)算子进行激活操作,也可以使用残差网络进行处理,等等,本实施例对此不加以限制。

s305、参照上一帧目标图像数据在编码时生成的编码特征,对第一目标特征数据进行编码,获得第二目标特征数据。

随着深度学习有效性的提升,尤其是深度卷积神经网络突出的性能,实现了很多基于深度卷积神经网络的语义分割模型。

但是,深度卷积神经网络的复杂度高,所需计算资源开销大,并且,为了满足无人设备计算资源有限、计算延迟开销低需求,典型的语义分割模型是一个单帧模型,即没有考虑无人设备运行的过程中帧之间存在时序信息。而当前基于时序的模型,一般是基于循环神经网络(recurrentneuralnetwork,rnn),如长短时记忆单元(longshorttermmemory,lstm)应用在现有的卷积神经网络中,但是,复杂度较高。

为了充分利用帧之间的时序信息提高语义分割的性能,在本实施例中,如图4所示,提出了一种基于u-net的轻量级时序语义分割模型,该语义分割模型利用记忆单元使用前后帧的编码特征进行语义分割,可兼顾计算资源有限、计算延迟开销低需求,以及,语义分割的精确度。

u-net主要由两部分组成,即编码(encoder)和解码(decoder),其中,编码(encoder)包括卷积操作和下采样;解码(decoder)包括卷积操作和上采样。经过下采样的编码,得到一串比原图(即第一目标特征数据)更小的特征(即第二目标特征数据),相当于压缩,然后再经过一个上采样的解码,理想状况就是能还原到原图(即第一目标特征数据)。

在图4中,为便于表述,箭头422均可表示下采样、箭头424均可表示上采样,下采样,即不断地缩小图像数据的尺寸的过程,具体包括最大池化(maxpooling)、均值池化(meanpooling)和随机池化(stochasticpooling),等等;上采样,即不断地放大图像数据的尺寸的过程,具体包括最邻近元法、双线性差值或者三次内插法等差值方法,双线性差值与卷积,转置卷积(transposedconvolution),等等。

示例性地,在图4中的下采样可使用步长为2、大小为3×3的卷积核进行卷积、然后使用bn算子进行归一化、最后使用relu算子进行激活操作,使得尺寸减少为原来的一半,通道数增加;在图4中的上采样可采用转置卷积。

在这个编码(encoder)和解码(decoder)的过程当中,如果加入了上一帧编码时的编码特征、当前帧的点云,有助于利用帧之间的时序信息对当前帧的像素点进行语义分割。

在编码(encoder)的过程中,可循环执行相同的操作,那么,可以将相同的操作视为一个层级,即可将编码的过程划分为多个层次,每个层次可以称之为编码层。

需要说明的是,编码的层次可以由本领域技术人员根据实际情况进行设置,如3层、4层、5层均可,本实施例对此不加以限制。

在具体实现中,如图4所示,上一帧目标图像数据在编码时生成的编码特征包括第四编码特征数据,若将下采样、记忆单元复制(copy)并拼接(concat)上一帧、卷积操作视为一个层次,则图4中的语义分割模型可划分为5个编码层。

其中,在图4中,为便于表述,箭头425均可表示记忆单元复制并拼接上一帧,即在上一帧处于箭头425起始位置的数据复制至当前帧处于箭头425终点位置,使得与在先的数据拼接。

在编码(encoder)时,按照顺序依次遍历每个编码层,从首个编码层开始,直至末尾编码层,如图4所示,为便于表示,选取了第一个编码层作为示例说明,其余编码层的操作可参见第一个编码层的操作。

针对当前的编码层,确定输入当前编码层的第一编码特征数据,其中,首个编码层的第一编码特征数据为第一目标特征数据413、非首个编码层的第一编码特征数据为上一编码层输出第四编码特征数据,如输入第二个编码层的第一编码特征数据为第一个编码层输出第四编码特征数据415。

对第一编码特征数据(如第一目标特征数据413)进行下采样,获得第二编码特征数据414。

提取记忆单元复制的上一帧的第四编码特征数据415'、按照通道拼接第二编码特征数据与上一帧的第四编码特征数据,获得第三编码特征数据,在拼接时,可以利用卷积神经网络通过学习的机制容忍对齐出现偏差的情况。

对第三编码特征数据进行卷积操作,获得当前帧的第四编码特征数据415,此时,可判断当前编码层是否为末尾编码层(即最后一个编码层),如果是,则末尾编码层的第四编码特征数据为第二目标特征数据,待输出至解码(decoder),如果不是,则当前编码层的第四编码特征数据作为第一编码特征数据待输出至下一层编码层继续进行编码(encoder)。

此外,记忆单元记录当前帧、当前编码层的第四编码特征数据415,在遍历下一帧时、当前编码层时,该第四编码特征数据415可视为上一帧的第四编码特征数据415',如此循环,直至遍历完所有的目标图像数据。

s306、对第二目标特征数据进行尺度池化操作。

在本实施例中,如图4所示,可使用尺度池化模块(pyriadepoolingmodule,ppm)431对第二目标特征数据进行尺度池化操作,即使用较低的计算量增大第二目标特征数据的感受野(感受野的大小可以认为是对上下文信息利用的程度),这有利于提高语义分割模型的表达能力。

其中,如图4所示,为便于表述,线段426均可表示数据传输。

如图5所示,针对尺度池化操作,可将第二目标特征数据视为featuremap501(channel=n),对featuremap501进行池化操作511,得到多种不同尺度的第一中间特征数据502,图5中的示例采用4种不同尺度的特征。

通过1×1的卷积核分别对各个featuremap502进行卷积操作512,分别得到1×1,2×2,4×4,6×6的channel=1/n的第二中间特征数据503。

对第二中间特征数据503进行双线性插值填充等上采样513得到第二中间特征数据504。

featuremap501通过复制操作514,与各个第二中间特征数据504进行通道拼接(也叫级联),得到channel数增加1倍的featuremap。

s307、参照当前帧目标图像数据在编码时生成的编码特征,对第二目标特征数据进行解码,获得第三目标特征数据。

如图4所示,u-net含有长跳跃连接,为便于表述,箭头423均可表示长跳跃连接,通过长跳跃连接可将当前帧目标图像数据在编码时生成的编码特征应用在对第二目标特征数据解码(decoder)的过程中,这样在解码过程中充分利用到编码(encoder)中的信息,这些信息包括高层的语义特征信息,以及中底层图像边缘等细节特征,从而达到对每个像素准确预测的目的。

在解码(decoder)的过程中,可循环执行相同的操作,那么,可以将相同的操作视为一个层级,即可将解码的过程划分为多个层次,每个层次可以称之为解码层。

需要说明的是,解码的层次一般比编码的层次少一层,具体可以由本领域技术人员根据实际情况进行设置,如3层、4层、5层均可,本实施例对此不加以限制。

在具体实现中,如图4所示,当前帧目标图像数据在编码时生成的编码特征包括第四编码特征数据,若将上采样、拼接(concat)当前帧的编码特征、卷积操作视为一个层次,则图4中的语义分割模型可划分为4个解码层。

在解码(decoder)时,按照顺序依次遍历每个解码层,从首个解码层开始,直至末尾解码层,如图4所示,为便于表示,选取了最后一个解码层作为示例说明,其余解码层的操作可参见最后一个解码层的操作。

针对当前的解码层,确定输入当前解码层的第一解码特征数据,其中,首个解码层的第一解码特征数据为第二目标特征数据、非首个解码层的第一编码特征数据为上一解码层输出第四解码特征数据,如输入第四个解码层的第一解码特征数据为第三个解码层输出的第四解码特征数据。

对第一解码特征数据进行上采样,获得第二解码特征数据416。

拼接与当前解码层适配的第四编码特征数据515、第二解码特征数据46,获得第三解码特征。

需要说明的是,u-net是一种对称结构,假设编码层为e1、e2、…、ei、…、en,解码层为d1、d2、…、dj、…、dn-1,ei与dj是适配的,其中,i+j=n,例如,如图4所示,第一个编码层与第四个解码层是适配的,第二个编码层与第三个解码层是适配的,等等。

对第三解码特征数据进行卷积操作,获得第四解码特征数据417,此时,可判断当前解码层是否为末尾解码层(即最后一个解码层),如果是,则末尾解码层的第四解码特征数据为第三目标特征数据,待输出至确定语义信息,如果不是,则当前解码层的第四解码特征数据作为第一解码特征数据待输出至下一层解码层继续进行解码(decoder)。

s308、对第三目标特征数据进行尺度池化操作。

在本实施例中,如图4所示,可使用尺度池化模块ppm432对第三目标特征数据进行尺度池化操作,即使用较低的计算量增大第三目标特征数据的感受野,这有利于提高语义分割模型的表达能力。

s309、对第三目标特征数据进行上采样,获得像素点对于障碍物的语义信息。

在本实施例中,如图4所示,可对第三目标特征数据进行上采样,从而针对每个像素点输出(c+1)维的障碍物的语义信息418,作为于语义分割模型的预测结果prediction:

prediction=rh×w×(c+1)

其中,w、h分别为目标图像数据的宽和高。

那么,针对目标图像数据中的每个像素点,其语义信息可表示为:

predictionuv=(p0,p1,p2,..,pi,..,pc)

其中,p0是像素点为障碍物的置信概率,i=1,2,…,c,表示障碍物的类别,p1,p2,..,pi,..,pc表示像素点为某种类别的障碍物的概率。

需要说明的是,语义信息可以根据实际需求进行细粒度的划分,例如,轿车、面包车、施工车,等等。在预测像素点所属障碍物的类别的同时,还可以预测所属障碍物的高度、中心,以此丰富点云的语义信息。

除此之外,把点云的深度信息作为目标图像数据中像素点的深度信息,从而预测目标,就可以通过已有稀疏的点云预测目标图像数据中每个像素点的深度,从而得到稠密的类点云数据用于障碍物检测,从而有助于体积较小的障碍物的检测。

s310、将像素点的语义信息赋予像素点对应的点云。

在本实施例中,在语义分割之后,目标图像数据中每个像素点的语义信息为predictionuv=(p0,p1,p2,..,pi,..,pc),将该语义信息赋予像素点对应的点云之后,于是,对于每个点云,融合原始的坐标、激光强度以及预测的语义信息,则可以得到带语义信息的点云:

a’=pw=(xj,yj,zj,ij,predictionj)

其中,xj表示x坐标,yj表示y坐标,zj表示z坐标,ij表示激光强度,predictionj表示语义信息,j=1,2,...,n,表示点云的数量。

s311、根据携带语义信息的点云检测可视范围存在的障碍物。

针对携带有语义信息的点云,可以输入点云目标检测模型,例如,pointrcnn,pointpillars,voxelnet,等等,从而检测在可视范围内存在的障碍物,以便对无人设备的决策提供支持。

实施例三

图6为本发明实施例三提供的一种点云检测装置的结构示意图,该装置具体可以包括如下模块:

原始数据获取模块601,用于获取面向同一可视范围同时采集的多帧点云与多帧原始图像数据;

点云投影模块602,用于将多帧所述点云分别投影到多帧所述原始图像数据上,获得多帧目标图像数据;

语义分割模块603,用于根据多帧所述目标图像数据之间在时序上的关系,对所述目标图像数据中的点云与像素点进行语义分割,以识别所述像素点对于障碍物的语义信息;

语义信息赋值模块604,用于将所述像素点的语义信息赋予所述像素点对应的点云。

在本发明的一个实施例中,所述点云投影模块602包括:

参数查询子模块,用于查询相机的内部参数、外部参数,所述相机用于采集所述原始图像数据;

第一坐标查询子模块,用于针对同一帧所述点云与所述原始图像数据,查询所述点云在第一坐标系中的第一坐标,所述第一坐标系为用于采集所述点云的激光雷达所在的坐标系;

第二坐标映射子模块,用于基于所述外部参数将所述第一坐标映射为第二坐标系中的第二坐标,所述第二坐标系为所述相机所在的坐标系;

第三坐标映射子模块,用于基于所述内部参数将所述第二坐标映射为所述原始图像数据中的第三坐标;

像素点投影子模块,用于将所述点云投影到所述原始图像数据中处于所述第三坐标的像素点,获得目标图像数据。

在本发明的一个实施例中,所述语义分割模块603包括:

目标图像数据合并子模块,用于将当前帧所述目标图像数据中的点云与像素点合并为第一目标特征数据;

编码子模块,用于参照上一帧所述目标图像数据在编码时生成的编码特征,对所述第一目标特征数据进行编码,获得第二目标特征数据;

解码子模块,用于参照当前帧所述目标图像数据在编码时生成的编码特征,对所述第二目标特征数据进行解码,获得第三目标特征数据;

语义信息映射子模块,用于对所述第三目标特征数据进行上采样,获得所述像素点对于障碍物的语义信息。

在本发明的一个实施例中,所述目标图像数据合并子模块包括:

像素特征数据获得单元,用于对当前帧所述目标图像数据中的像素点进行卷积操作,获得像素特征数据;

点云特征数据获得单元,用于对当前帧所述目标图像数据中的点云进行卷积操作,获得点云特征数据;

特征数据叠加单元,用于按照通道将所述像素特征数据与所述点云特征数据进行叠加,获得候选特征数据;

第一目标特征数据获得单元,用于对所述候选特征数据进行卷积操作,获得第一目标特征数据。

在本发明的一个实施例中,所述上一帧所述目标图像数据在编码时生成的编码特征包括第四编码特征数据;

所述编码子模块包括:

第一编码特征数据确定单元,用于确定输入当前编码层的第一编码特征数据,其中,首个编码层的第一编码特征数据为所述第一目标特征数据、非首个编码层的第一编码特征数据为上一编码层输出第四编码特征数据;

第二编码特征数据获得单元,用于对所述第一编码特征数据进行下采样,获得第二编码特征数据;

第三编码特征数据获得单元,用于拼接所述第二编码特征数据与上一帧的第四编码特征数据,获得第三编码特征数据;

第四编码特征数据获得单元,用于对所述第三编码特征数据进行卷积操作,获得当前帧的第四编码特征数据;其中,末尾编码层的第四编码特征数据为第二目标特征数据。

在本发明的一个实施例中,所述当前帧所述目标图像数据在编码时生成的编码特征包括第四编码特征数据;

所述解码子模块包括:

第一解码特征数据确定单元,用于确定输入当前解码层的第一解码特征数据,其中,首个解码层的第一解码特征数据为所述第二目标特征数据、非首个解码层的第一编码特征数据为上一解码层输出第四解码特征数据;

第二解码特征数据获得单元,用于对所述第一解码特征数据进行上采样,获得第二解码特征数据;

第三解码特征数据获得单元,用于拼接与当前解码层适配的第四编码特征数据、所述第二解码特征数据,获得第三解码特征;

第四解码特征数据获得单元,用于对所述第三解码特征数据进行卷积操作,获得第四解码特征数据,其中,末尾解码层的第四解码数据为第三目标特征数据。

在本发明的一个实施例中,所述语义分割模块603还包括:

点云预处理子模块,用于将所述目标图像数据中的点云表示为距离信息、z坐标、激光强度、点标识;

其中,所述距离信息为所述点云的x坐标、y坐标所表示的距离,所述点标识用于表示是否存在点云。

在本发明的一个实施例中,所述语义分割模块603还包括:

第一尺度池化操作子模块,用于对所述第二目标特征数据进行尺度池化操作;

和/或,

第二尺度池化操作子模块,用于对所述第三目标特征数据进行尺度池化操作。

在本发明的一个实施例中,还包括:

障碍物检测模块,用于根据携带所述语义信息的点云检测所述可视范围存在的障碍物。

本发明实施例所提供的点云检测装置可执行本发明任意实施例所提供的点云检测方法,具备执行方法相应的功能模块和有益效果。

实施例四

图7为本发明实施例四提供的一种计算机设备的结构示意图。如图7所示,该计算机设备包括处理器700、存储器701、通信模块702、输入装置703和输出装置704;计算机设备中处理器700的数量可以是一个或多个,图7中以一个处理器700为例;计算机设备中的处理器700、存储器701、通信模块702、输入装置703和输出装置704可以通过总线或其他方式连接,图7中以通过总线连接为例。

存储器701作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的点云检测方法对应的模块(例如,如图6所示的点云检测装置中的原始数据获取模块601、点云投影模块602、语义分割模块603和语义信息赋值模块604)。处理器700通过运行存储在存储器701中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的点云检测方法。

存储器701可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器701可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器701可进一步包括相对于处理器700远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

通信模块702,用于与显示屏建立连接,并实现与显示屏的数据交互。

输入装置703可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。

输出装置704可以包括扬声器等音频设备。

需要说明的是,输入装置703和输出装置704的具体组成可以根据实际情况设定。

处理器700通过运行存储在存储器701中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的电子白板的连接节点控制方法。

本实施例提供的计算机设备,可执行本发明任一实施例提供的点云检测方法,具体相应的功能和有益效果。

实施例五

本发明实施例五还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现一种点云检测方法,该方法包括:

获取面向同一可视范围同时采集的多帧点云与多帧原始图像数据;

将多帧所述点云分别投影到多帧所述原始图像数据上,获得多帧目标图像数据;

根据多帧所述目标图像数据之间在时序上的关系,对所述目标图像数据中的点云与像素点进行语义分割,以识别所述像素点对于障碍物的语义信息;

将所述像素点的语义信息赋予所述像素点对应的点云。

当然,本发明实施例所提供的计算机可读存储介质,其计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的点云检测方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述点云检测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1