点云分割方法、装置、计算机可读存储介质和计算机设备与流程

文档序号:17929059发布日期:2019-06-15 00:40阅读:379来源:国知局
点云分割方法、装置、计算机可读存储介质和计算机设备与流程

本申请涉及计算机技术领域,特别是涉及一种点云分割方法、装置、计算机可读存储介质和计算机设备。



背景技术:

随着计算机技术的发展,数字图像的数量与日俱增,对于数字图像处理技术的需求也与日俱增。数字图像具体可以用点云表示,点云的分割处理也是数字图像处理技术中的重要分支。

目前,在对点云进行分割如实例分割时,通常是依赖基于特征的相似度矩阵来进行分割,但是这种方式通常在分割耗时上较长,导致点云分割效率低的问题,尤其是在点云的点数较大的时候尤为明显。



技术实现要素:

基于此,有必要针对点云分割效率低的技术问题,提供一种点云分割方法、装置、计算机可读存储介质和计算机设备。

一种点云分割方法,包括:

对待处理的点云编码得到共享特征;

按照不同的解码方式解码所述共享特征,分别得到语义特征和实例特征;

将所述语义特征适配至实例特征空间后与所述实例特征融合,得到语义融合实例特征;所述语义融合实例特征表示融合了语义特征的实例特征;

对所述语义融合实例特征划分得到所述点云中各点的语义融合实例特征;

根据各所述点的语义融合实例特征,确定各所述点所属的实例类别。

一种点云分割装置,包括:

编码模块,用于对待处理的点云编码得到共享特征;

解码模块,用于按照不同的解码方式解码所述共享特征,分别得到语义特征和实例特征;

语义融合实例模块,用于将所述语义特征适配至实例特征空间后与所述实例特征融合,得到语义融合实例特征;所述语义融合实例特征表示融合了语义特征的实例特征;对所述语义融合实例特征划分得到所述点云中各点的语义融合实例特征;

语义融合实例分割模块,用于根据各所述点的语义融合实例特征,确定各所述点所属的实例类别。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述点云分割方法的步骤。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述点云分割方法的步骤。

上述点云分割方法、装置、计算机可读存储介质和计算机设备,首先对待处理的点云编码得到共享特征;然后通过不同的解码分支解码共享特征,分别得到语义特征和实例特征;继而将语义特征适配至实例特征空间后与实例特征融合,得到点云的富有语义感知的实例特征,进而得到点云中各点的富有语义感知的实例特征,便可确定各点所属的实例类别。这样,不再依赖基于特征的相似度矩阵来进行分割,提高了点云分割的效率,而且通过学习富有语义感知的实例特征使得实例分割受益于语义分割,极大地提高了点云分割的准确性。

附图说明

图1为一个实施例中点云分割方法的应用环境图;

图2为一个实施例中点云分割方法的流程示意图;

图3为一个实施例中点云分割的原理示意图;

图4为一个实施例中联合分割网络结构的示意图;

图5为另一个实施例中点云分割方法的流程示意图;

图6为一个实施例中联合分割三维点云中实例和语义的示意图;

图7为一个实施例中点云分割装置的结构框图;

图8为另一个实施例中点云分割装置的结构框图;

图9为一个实施例中计算机设备的结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中点云分割方法的应用环境图。参照图1,该点云分割方法应用于点云分割系统。该点云分割系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

需要说明的是,本申请实施例中的点云分割方法可以由终端110或者服务器120分别单独执行,也可由终端110和服务器120联合执行。

本申请实施例中的点云包括二维点云或三维点云等。其中,二维点云比如二维图像中的各像素点的集合等。三维点云比如三维场景中各三维点的集合等。

本申请实施例中的点云分割包括语义分割和实例分割。其中,语义分割可以是指将点云分割为若干个互不重叠的、具有一定语义的点组,同时对这些点组进行语义标注。本质上,语义分割实现的是点级的分类,通过对每个点进行分类,实现整个点云的语义标注。比如,在二维图像或者三维场景中,区分出哪些点属于猫、哪些点属于笔或者哪些点属于气球等。

实例为类的具体对象,一个具体对象可以认为是一个实例,比如,一只猫、一只笔或者一个气球等。实例分割可以是指将点云分割为若干个互不重叠的、属于一个具体对象的点组,一个点组对应一个实例。比如,在二维图像或者三维场景中,区分出哪些点属于一个具体对象,哪些点属于另一个具体对象等。

实例分割还可以结合语义分割,在语义分割的基础上区别开实例的语义类别。比如,当二维图像或者三维场景中有多只猫时,结合语义分割的结果,实例分割可将属于猫的点区分出哪些属于第一只猫,哪些属于第二只猫等。

如图2所示,在一个实施例中,提供了一种点云分割方法。本实施例主要以该方法应用于计算机设备来举例说明,该计算机设备具体可以是上述图1中的终端110或服务器120。参照图2,该点云分割方法具体包括如下步骤:

s202,对待处理的点云编码得到共享特征。

其中,共享特征指是在语义层面和实例层面共享的特征。也就是说,以共享特征为基础可以分别处理得到语义特征和实例特征。语义特征是指在语义层面表现点云特性的数据,实例特征是指在实例层面表现点云特性的数据。

具体地,计算机设备在获取待处理的点云后,对待处理的点云进行特征数据提取,再对提取的特征数据进行编码处理得到共享特征。可以理解,共享特征可以是对点云的特性的高维表达,涵盖了该整个点云的信息;共享特征也可以是对点云的特性的低维表达,也涵盖了该整个点云的信息。共享特征的数据格式可以有多种,这里的共享特征具体可以是矩阵形式,即共享特征矩阵。

在一个具体的实施例中,计算机设备可选择深度学习网络作为特征编码器,采用特征编码器对待处理的点云进行特征数据提取和编码得到共享特征。该用作特征编码器的深度学习网络具体可以是pointnet网络的前半部分;或者,pointnet++网络的前半部分;或者其他网络结构等。

举例说明,假设计算机设备使用pointnet网络作为特征编码器,那么共享特征矩阵指的是pointnet网络中局部特征和全局特征合并的网络层的输出。此时,特征编码器即为自pointnet网络的首层网络层至局部特征和全局特征合并的网络层之间的网络结构。假设计算机设备使用pointnet++网络作为特征编码器,那么共享特征矩阵指的是pointnet++网络中最后一个集合抽象(setabstraction)模块的输出。此时,特征编码器即为自pointnet++网络的首层网络层至最后一个集合抽象(setabstraction)模块之间的网络结构。

在一个实施例中,s202包括:获取待处理的点云;将点云中各点的坐标特征和通道特征组合,得到相应点的初始特征;对各点的初始特征共同进行编码,得到与点云对应的共享特征。

其中,点的坐标特征具体可以是点的坐标位置。点的通道特征具体可以是点的通道值,比如颜色通道值。将坐标特征和通道特征组合,具体可以是将各坐标位置和各通道值拼接。点的初始特征,是用来进行特征提取和编码的特征。

举例说明,三维点云中的三维点的坐标特征为x坐标维度的坐标位置x、y坐标维度的坐标位置y和z坐标维度的坐标位置z,三维点云中的三维点的通道特征为r颜色通道的通道值r、g颜色通道的通道值g和b颜色通道的通道值b。将三维点云中的三维点的坐标特征和通道特征组合即为(x,y,z,r,g,b)。

具体地,计算机设备可在获取待处理的点云后,对该点云中的每个点,将该点的坐标特征和通道特征组合,得到该点的初始特征。计算机设备然后对该点云中所有点的初始特征联合进行编码得到共享特征。

在一个具体的实施例中,计算机设备可将该点云中所有点的初始特征共同输入特征编码器,通过该特征编码器对所有点的初始特征进行处理后输出共享特征矩阵。举例说明,待处理点云为大小为np的点云,即该点云包括np个点。计算机设备对对待处理的点云进行编码,即将这np个点的初始特征,也就是np个(x,y,z,r,g,b)共同输入特征编码器进行处理。也就是说,每个三维点的初始特征具体可以是1×6的初始特征向量,三维点云中所有三维点的初始特征可以组合成的np×6的初始特征矩阵输入特征编码器进行处理。

当然,在另外的实施例中,点云也可以是二维点云,那么此时的坐标特征则仅包括两个维度。另外通道特征也可以是yuv三颜色通道或者灰度通道等。

上述实施例中,通过坐标层面和通道层面两个不同的特征层面来反映点云中点的初始特征,继而对该包括两个特征层面的初始特征进行编码,可以提取到更丰富的、且反映点云特性的特征数据,非常有利于后续点云的分割处理。

举例说明,图3示出了一个实施例中点云分割的原理示意图。参考图3,假设在本实施例中待处理点云为大小为np的三维点云,计算机设备通过特征编码器(如pointnet网络的前半部分)对np个三维点的初始特征(x,y,z,r,g,b)进行编码(encode)得到共享特征矩阵fshare。

s204,按照不同的解码方式解码共享特征,分别得到语义特征和实例特征。

可以理解,语义特征和实例特征是两个不同特征层面的特征。如果想要从相同的数据中解码出不同特征层面的特征,通常情况下,需要分别按照不同的解码方式进行解码,这样才能解码出不同的结果。

其中,解码方式的不同具体可以是解码原理上的不同。比如,通过深度学习网络解码或者通过逻辑回归解码等。解码方式的不同也可以是网络结构上的不同。比如,通过不同结构的深度学习网络解码等。解码方式的不同还可以是网络结构参数上的不同。比如,同样的模型结构但网络结构参数不同的深度学习网络解码等。

具体地,计算机设备可以并行地按照两种不同的解码方式分别对共享特征进行解码,从共享特征中抽取不同的信息,根据抽取的两种不同的信息,分别得到语义特征和实例特征。可以理解,语义特征可以是对点云的语义特性的高维表达,涵盖了该整个点云的语义层面的信息;语义特征也可以是对点云的语义特性的低维表达,也涵盖了该整个点云的语义层面的信息。实例特征可以是对点云的实例特性的高维表达,涵盖了该整个点云的实例层面的信息;实例特征也可以是对点云的实例特性的低维表达,也涵盖了该整个点云的实例层面的信息。语义特征和实例特征的数据格式可以有多种,这里的语义特征和实例特征具体可以是矩阵形式,即语义特征矩阵和实例特征矩阵。

在一个实施例中,s204包括:通过第一解码结构解码共享特征得到语义特征;通过第二解码结构解码共享特征得到实例特征;其中,第一解码结构与第二解码结构的结构相同但解码参数不同。

其中,第一解码结构与第二解码结构是两种在结构上相同但结构参数不同的解码结构。比如,计算机设备可选择pointnet网络的前半部分作为解码器,对共享特征进行解码,那么解码得到语义特征的pointnet网络与解码得到实例特征的pointnet网络的网络参数不同,该网络参数通过样本数据训练得到。

具体地,计算机设备可并行地通过第一解码结构解码共享特征得到语义特征,通过第二解码结构解码共享特征得到实例特征。

在一个具体的实施例中,计算机设备可选取深度学习网络作为特征编码器和两个并行的特征解码器,通过特征编码器对点云进行编码得到共享特征,再通过两个并行的特征解码器对共享特征进行解码,得到语义特征和实例特征。其中,特征编码器具体可以为pointnet网络或者pointnet++网络的前半部分,两个并行的特征解码器均可为pointnet网络或者pointnet++网络的后半部分,当然,特征编码器和两个并行的特征解码器也可以是其他的网络结构。

在本实施例中,基于结构相同但参数不同的解码结构分别对共享特征解码,这样得到的语义特征和实例特征在特征表达和特征维度上相匹配,便于后续两个特征层面的特征融合,可以提高点云分割的准确性。而且,两个相同结构的解码结构在训练上相较于不同结构或者不同原理的解码结构的训练更加便捷。

继续参考图3,计算机设备在得到共享特征矩阵fshare后,可以并行地通过两个不同的分支对共享特征矩阵fshare进行解码处理。即通过语义分割分支的解码结构将共享特征矩阵fshare解码为形状为np×nf的语义特征矩阵fsem,通过实例分割分支的解码结构将共享特征矩阵fshare解码为形状为np×nf的实例特征矩阵fins。其中,nf为特征的维度,具体可以取值为128或者256等。举例说明,三维点的初始特征为(x,y,z,r,g,b)包括6个数值,那么特征的维度为6。

s206,将语义特征适配至实例特征空间后与实例特征融合,得到语义融合实例特征;语义融合实例特征表示融合了语义特征的实例特征。

可以理解,对输入数据进行特征提取的过程,可以看作是将一个空间中的输入数据映射到另一个更高维或者低维的空间。输入数据所在的空间为输入空间,提取的特征所存在的空间为特征空间。特征空间中的特征是对输入数据更高维或者更低维的抽象表达。特征有不同,特征空间也有不同。所有实例特征所存在的空间即为实例特征空间,所有语义特征所存在的空间即为语义特征空间。不同特征空间的特征之间可以存在映射关系而相互转化。

具体地,计算机设备可以通过语义特征空间与实例特征空间的映射关系,将得到的语义特征映射到实例特征空间,从而得到能够表达语义又与实例特征空间适配的转化特征,然后将该转化特征与实例特征进行融合处理,从而得到富有语义感知的实例特征。也就是得到了融入了语义特征的实例特征。

在一个实施例中,语义特征为语义特征矩阵;实例特征为实例特征矩阵。将语义特征适配至实例特征空间后与实例特征融合,得到语义融合实例特征,包括:通过每点独立的第一全连接层,将语义特征矩阵适配至实例特征空间;将适配至实例特征空间的语义特征矩阵与实例特征矩阵按位相加,得到语义融合实例特征矩阵。

具体地,在本实施例中,语义特征和实例特征均为矩阵形式。语义特征空间与实例特征空间的映射关系通过每点独立的全连接层来实现。计算机设备将语义特征矩阵输入每点独立的第一全连接层(fullyconnectedlayers,fc),通过第一全连接层对语义特征矩阵进行处理,便可输出适配到实例特征空间的语义特征矩阵。其中,每点独立的全连接层是指全连接是对每点分别进行处理。

在一个具体的实施例中,语义融合实例特征矩阵的计算公式如下式所示:

fsins=fins+fc(fsem)(1)

其中,fsins为语义融合实例特征矩阵,fins为实例特征矩阵,fsem为语义特征矩阵,fc(fsem)为适配到实例特征空间的语义特征矩阵。

在一个具体的实施例中,每点独立的第一全连接层的网络结构包括归一化层和激活层,这两个网络层依次对输入的数据进行处理。其中,激活层的激活函数具体可以是relu激活函数等。

进一步地,计算机设备可再将该适配到实例特征空间的语义特征矩阵与实例特征矩阵按位相加,即可得到语义融合实例特征矩阵。其中,按位相加,是指将相同矩阵元素位置的矩阵元素相加。

比如,矩阵矩阵将矩阵f1与矩阵f2按位相加即得到矩阵

在本实施例中,由于语义特征与实例特征是不同含义的特征,在特征融合上存在一定的障碍,这里通过全连接层将语义特征适配到实例特征空间,克服了特征融合的障碍,能够得到富有语义感知的实例特征,有助于后续分割处理。

在一个具体的实施例中,计算机设备可通过联合分割网络结构实现特征融合处理。图4示出了一个实施例中联合分割网络结构(associativelysegmentinginstancesandsemantics,asis)的示意图,参考图4,联合分割网络结构同时接收语义特征矩阵fsem和实例特征矩阵fins共同作为输入,将语义特征矩阵fsem适配至实例特征空间(adaptation)后,与实例特征矩阵fins按位相加(element-wiseaddition),得到语义融合实例特征矩阵fsins。其中,将语义特征矩阵fsem适配至实例特征空间(adaptation)的过程可以通过每点独立的全连接层实现。

s208,对语义融合实例特征划分得到点云中各点的语义融合实例特征。

可以理解,s206中得到的语义融合实例特征与待处理的整个点云相对应。这里则是通过对整个点云的语义融合实例特征进行处理,划分得到点云中各点的语义融合实例特征。

在一个实施例中,s208包括:将语义融合实例特征矩阵输入每点独立的第二全连接层;通过第二全连接层包括的归一化层和激活层依次对语义融合实例特征矩阵进行处理,得到点云中各点的语义融合实例特征向量。

具体地,在本实施例中通过每点独立的全连接层来实现对整个点云的语义融合实例特征进行处理,划分出点云中各点的语义融合实例特征。计算机设备将整个点云的语义融合实例特征矩阵输入每点独立的第二全连接层,通过第二全连接层对整个点云的语义融合实例特征矩阵进行处理,便可输出点云中各点的语义融合实例特征。

在一个具体的实施例中,每点独立的第二全连接层的网络结构包括归一化层和激活层,这两个网络层依次对输入的数据进行处理。其中,激活层的激活函数具体可以是relu激活函数等。

在本实施例中,在得到整个点云的语义融合实例特征后,通过全连接层得到各点的语义融合实例特征向量,以保证后续点云实例分割的顺利进行。

继续参考图4,计算机设备在通过联合分割网络结构得到语义融合实例特征矩阵fsins后,将其通过每点独立的全连接层,输出点云的实例嵌入向量eins。其中,eins的形状为np×ne,ne为嵌入向量的维度。点云的实例嵌入向量可以理解为各点(np个点)的语义融合实例特征向量(1×ne)的集合。继续参考图3,语义特征矩阵fsem和实例特征矩阵fins输入联合分割网络结构后得到其中一个输出:点云的实例嵌入向量eins,也就是点云中各点的语义融合实例特征向量。

s210,根据各点的语义融合实例特征,确定各点所属的实例类别。

其中,各点所属的实例类别可以是抽象层面的实例类别。比如第一实例类别或者第二实例类别等。这里的抽象是指知道这是一个实例,但不知道具体是哪个实例,比如,知道是个自然人,但不知道其名字。各点所属的实例类别也可以是具体层面的实例类别。比如第一只猫或者第二只猫等。

可以理解,点云的实例嵌入向量表示点云内所含点的实例关系:属于同一个实例的点在实例嵌入向量空间中彼此靠近,而不同实例的点则互相远离。那么,各点所属的抽象的实例类别,可以根据各点的语义融合实例特征对点进行聚类,得到多组点,也就是将点按照实例划分,每组点对应一种实例类别。各点所属的具体的实例类别,则需要结合语义分割结果来确定。

在一个实施例中,s210包括:分别对点云中的每个点,计算点的语义融合实例特征与点云中除该点外的其他各点的语义融合实例特征的特征距离;按照计算得到的特征距离对点云中的点进行聚类,得到多组点;多组点中每组点对应一个实例类别。

具体地,计算机设备可对点云中的每个点,计算该点的语义融合实例特征与点云中除该点外的其他各点的语义融合实例特征的特征距离,也就是该点的语义融合实例特征向量与点云中除点外的其他各点的语义融合实例特征向量的向量距离。这里的向量距离可以是欧式距离或其他距离等。通过上述计算过程,即可计算出点云中任两点之间的特征距离。

进一步地,计算机设备可按照计算得到点云中任两点之间的特征距离后,对点云中的点进行聚类,得到多组点,这多组点中的每一组点分别对应一个实例类别,完成点云中点的实例分割。也就是说,聚类结果是知道哪些点属于同一个实例。其中,对点进行聚类的具体算法可以是mean-shift聚类算法或者k邻近聚类算法等。

举例说明,一个点云中有10个点,通过聚类后得到,其中3个点属于第一个实例,另外3个点属于第二个实例,剩下的4个点属于第三个实例。这就是抽象层面的实例分割。

在本实施例中,在得到各点的语义融合实例特征,即可依据各点的语义融合实例特征之间的距离特征来对点进行聚类,以确定哪些点属于同一个实例,实现抽象层面的实例划分。

继续参考图3,计算机设备在得到云中各点的语义融合实例特征向量,也就是点云的实例嵌入向量eins后,可对各点的语义融合实例特征向量进行聚类(clustering),得到抽象层面的实例分割结果,确定哪些点属于同一个实例。

计算机设备对点云中的点聚类,知道哪些点属于同一个实例后,即可结合该实例内各点的语义分割结果,确定该实例的具体实例类别。举例说明,一个点云中有10个点,通过聚类后得到,其中3个点属于第一个实例,另外3个点属于第二个实例,剩下的4个点属于第三个实例。此时,第一个实例中的3个点的语义分割结果为猫,则第一个实例为第一只猫,这个实例内的点的实例类别为第一只猫。第二个实例类别中的3个点的语义分割结果为猫,则第二个实例为第二只猫,这个实例内的点的实例类别为第二只猫。第三个实例类别中的4个点的语义分割结果为猫,则第三个实例为第三只猫,这个实例内的点的实例类别为第三只猫。这就是具体层面的实例分割。关于点云中点的语义分割可参考后续实施例。

上述点云分割方法,首先对待处理的点云编码得到共享特征;然后通过不同的解码分支解码共享特征,分别得到语义特征和实例特征;继而将语义特征适配至实例特征空间后与实例特征融合,得到点云的富有语义感知的实例特征,进而得到点云中各点的富有语义感知的实例特征,便可确定各点所属的实例类别。这样,不再依赖基于特征的相似度矩阵来进行分割,提高了点云分割的效率,而且通过学习富有语义感知的实例特征使得实例分割受益于语义分割,极大地提高了点云分割的准确性。

在一个实施例中,点云分割方法还包括语义分割的步骤,该语义分割的步骤具体包括以下步骤:

s502,将点云中的点分别作为中心点。

需要说明的是,前述实施例是在意图对点云进行实例分割时,将语义特征融入实例特征从而进行实例分割的过程。本实施例和后续实施例则是在意图对点云进行语义分割时,将实例特征融入语义特征从而进行语义分割的过程。

可以理解,当点云中的任意两个点在实例嵌入向量空间对应的语义融合实例特征的距离满足一定的距离条件时,则认为其中一个点为另一个点的临近点。实例嵌入向量空间为嵌入了语义特征的实例特征所在的空间,也就是语义融合实例特征所在的空间。对属于同一个实例的那些点,应该被融合起来进行语义分割。由于属于同一个实例的点在实例嵌入向量空间中彼此靠近,不同实例的点则互相远离。这样即可根据各点的语义融合实例特征之间的特征距离对点以实例为单位进行聚类,以进行后续的语义分割。

具体地,计算机设备在处理得到点云中每个点的语义融合实例特征后,可根据点云中各点的语义融合实例特征之间的特征距离,分别以点云中的各点为中心点进行聚类,找出与每个点邻近的多个邻近点(包括中心点本身),每个点的多个临近点即为一组点,一组点可以认为是一个局部的点云。其中,对点进行聚类的具体算法可以是mean-shift聚类算法或者k邻近聚类算法等。

s504,根据各点的语义融合实例特征,确定各中心点相应的多个临近点。

在一个实施例中,根据各点的语义融合实例特征,确定各中心点相应的多个临近点,包括:根据各点的语义融合实例特征,分别对每个中心点计算与点云中各点的特征距离;选取与中心点的特征距离小于预设距离的多个点,作为中心点相应的多个临近点。

具体地,计算机设备可将点云中的点分别作为中心点,对每个中心点,计算该中心点的语义融合实例特征与点云中除该中心点外的其他各点的语义融合实例特征的特征距离,也就是该中心点的语义融合实例特征向量与点云中除该中心点外的其他各点的语义融合实例特征向量的向量距离。这里的向量距离可以是欧式距离或其他距离等。通过上述计算过程,即可计算出点云中任两点之间的特征距离。

进一步地,计算机设备在对于每个中心点,计算得到其他点到该中心点的特征距离后,筛选出距离较小的预设数量(k)个点作为该中心点的多个临近点(包括中心点本身)。其中,为了保证筛选出的k个点属于同一个实例,可以使用阈值δυ来过滤外围点。δυ具体可取值为0.5。

在本实施例中,通过对点进行聚类,将点云中的点按照实例进行划分,这样在将实例特征融入语义特征时,能够将属于同一个实例的那些点,融合起来进行语义分割,使得语义分割受益于实例特征,以提高语义分割的准确性。

在一个实施例中,点云中各点的多个邻近点的数量可以相同也可以不相同。

继续参考图4,计算机设备在得到点云的实例嵌入向量eins,也就是点云中各点的语义融合实例特征向量后,可根据点云中各点的语义融合实例特征向量,采用knn(k-nearestneighbor,k邻近算法)对每一个点在实例嵌入向量空间找到固定数量(k)的邻近点(包括自己)。

s506,融合各多个临近点的语义特征,得到相应中心点的实例融合语义特征。

可以理解,每个中心点与其相邻的多个邻近点属于同一个实例,而属于同一个实例的点可以被融合起来进行语义分割。那么,对于每个中心点,可以通过融合该中心点的多个临近点得到相应中心点的实例融合语义特征。也就是融入了实例特征的语义特征。

在一个实施例中,按照不同的解码方式解码共享特征,分别得到语义特征和实例特征,包括:按照第一解码方式解码共享特征得到点云的语义特征矩阵,并按异于第一解码方式的第二解码方式解码共享特征得到点云的实例特征矩阵;语义特征矩阵包括点云中各点的语义特征向量。融合各多个临近点的语义特征,得到相应中心点的实例融合语义特征,包括:将各多个临近点的语义特征向量按位融合,得到相应中心点的实例融合语义特征向量。

具体地,计算机设备按照第一解码方式解码共享特征得到的是点云的语义特征矩阵,该点云的语义特征矩阵可以看作是点云中各点的语义特征向量的集合。举例说明,计算机设备对解码共享特征矩阵得到语义特征矩阵(形状为np×nf的fsem),即为各点(np个点)的语义特征向量(形状为1×nf)。

进一步地,计算机设备得到点云中每个点的多个邻近点后,将这多个临近点的语义特征向量按位融合,得到该点的实例融合语义特征向量。其中,多个临近点的语义特征向量按位融合,具体是指按位进行最大汇合运算,也就是按位取最大值。距离说明,向量x1=(1,2,3),向量x2=(3,4,5),向量x1=(2,6,1),那么将这三个向量按位取最大,则为x=(3,6,5)。

在本实施例中,通过对点进行聚类,将点云中的点按照实例进行划分,这样在将实例特征融入语义特征时,能够将属于同一个实例的那些点,融合起来进行语义分割,使得语义分割受益于实例特征,以提高语义分割的准确性。

可以理解,对点云中的点聚类后,每个点对应一个索引矩阵。索引矩阵是用来特征融合的依据,表示的是一个点云中点之间的相邻关系。也就是说,一个点的索引矩阵指向于该点邻近的多个临近点。点云内点的语义特征向量被组合成形状为np×k×nf的特征张量。根据索引矩阵组合成的特征张量,显式的描述了每个点的局部点云。也就是有np组语义特征向量,每组k个语义特征向量。其中,k为一个点的邻近点的数量。

继续参考图4,计算机设备在对每一个点在实例嵌入向量空间找到固定数量(k)的邻近点(包括自己)后,将这k个邻近点的语义特征向量按位进行融合(aggregation),作为这k个邻近点的中心点的实例融合语义特征向量,进而得到点云的语义嵌入向量fisem,也就是点云中所有点的实例融合语义特征向量的集合。

s508,根据各实例融合语义特征,确定相应点所属的语义类别。

可以理解,点云中的每个点均可作为中心点,那么点云中的每个点均对应存在多个临近点,也就是点云中的每个点均可计算得到一个实例融合语义特征。那么点云中的每个点均可根据他的实例融合语义特征,确定他所属的语义类别。

在一个实施例中,根据各实例融合语义特征,确定各点所属的语义类别,包括:通过每点独立的第三全连接层,分别将各实例融合语义特征各自转化为相应的语义预测向量;将各点的语义预测向量中最大向量元素所对应的语义类别,作为各点所属的语义类别。

具体地,在本实施例中通过每点独立的全连接层来实现基于实例融合语义特征对点云中的点进行语义分割处理。计算机设备将整个点云的语义嵌入向量,即各点的实例融合语义特征向量输入每点独立的第三全连接层,通过第三全连接层对整个点云的语义嵌入向量进行处理,便可输出点云的语义预测矩阵。该点云的语义预测矩阵包括各点的语义预测向量。其中,各点的语义预测向量的维度,即为预设的语义类别的数量。这样,即可将各点的语义预测向量中最大向量元素所对应的语义类别,作为各点所属的语义类别。

可以理解,语义预测向量中各向量元素可以分别对应一种语义类别的概率。举例说明,假设某个点的语义预测向量为xsem=(0.1,0.1,0.6,0.1,0.1),其中第三位向量元素最大,那么该向量元素所表征的语义类别即为该点所属的语义类别。

在一个具体的实施例中,每点独立的第二全连接层的网络结构包括归一化层和激活层,这两个网络层依次对输入的数据进行处理。其中,激活层的激活函数具体可以是relu激活函数等。

继续参考图4,计算机设备在得到点云的语义嵌入向量fisem,也就是点云中各点的实例融合语义特征向量后,将其通过每点独立的全连接层,输出点云的语义预测矩阵psem,也就是各点的语义预测向量的集合。

继续参考图3,语义特征矩阵fsem和实例特征矩阵fins输入联合分割网络结构后得到另一个输出:语义预测矩阵psem。其中,计算机设备预设的语义类别的数量为nc,那么语义预测矩阵psem的形状即为np×nc。计算机设备可对psem进行argmax运算,确定每个点所属的语义类别。

在本实施例中,在得到整个点云的实例融合语义特征后,即可通过全连接层来对各点进行语义分割,使得分割结果更加准确。

在一个实施例中,s510包括:根据各点的语义融合实例特征和所属的语义类别,确定各点所属的实例类别。根据各点的语义融合实例特征和所属的语义类别,确定各点所属的实例类别,包括:分别对点云中的每个点,计算点的实例特征与点云中除点外的其他各点的实例特征的特征距离;按照计算得到的特征距离对点云中的点进行聚类,得到多组点;根据多组点中各组点所包括点所属的语义类别,确定各组点所包括点所属的实例类别。其中,s510包括于s210。

可以理解,在尚未得到语义分割结果时,对点云的实例分割是抽象层面的实例分割结果,也就是只能确定哪些点属于一个实例。在得到语义分割结果后,即可结合语义分割结果,得到具体层面的实例分割结果。

继续参考图3,计算机设备在得到云中各点的语义分割结果后,可将抽象层面的实例分割结果与其结合,得到具体层面的实例分割结果,确定哪些点属于哪一个实例。

举例说明,计算机设备确定哪些点属于同一个实例后,即可结合该实例内各点的语义分割结果,确定该实例的具体实例类别。举例说明,一个点云中有10个点,通过聚类后得到,其中3个点属于第一个实例,另外3个点属于第二个实例,剩下的4个点属于第三个实例。此时,第一个实例中的3个点的语义分割结果为猫,则第一个实例为第一只猫,这个实例内的点的实例类别为第一只猫。第二个实例类别中的3个点的语义分割结果为猫,则第二个实例为第二只猫,这个实例内的点的实例类别为第二只猫。第三个实例类别中的4个点的语义分割结果为猫,则第三个实例为第三只猫,这个实例内的点的实例类别为第三只猫。这就是具体层面的实例分割。

在本实施例中,得到抽象层面的实例分割结果后,即可结合语义分割结果,得到具体层面的实例分割结果,其中语义分割受益于实例分割,实例分割也受益于语义分割,这样使得点云分割的准确性得到的极大的提高。

图6示出了一个实施例中联合分割三维点云中实例和语义的示意图。参考图6,待处理的三维点云经过编码(encoder)后得到共享特征,共享特征在并行经过语义分割分支的解码(sem.decoder)得到语义特征和实例分割分支的解码(ins.decoder)得到实例特征后,语义特征和实例特征再经过联合分割(asis)得到语义融合实例分割后的三维点云和实例融合语义分割后的三维点云。

上述实施例中,首先对待处理的点云编码得到共享特征;然后通过不同的解码分支解码共享特征,分别得到语义特征和实例特征。一方面,将语义特征适配至实例特征空间后与实例特征融合,得到点云的富有语义感知的实例特征,进而得到点云中各点的富有语义感知的实例特征。另一方面,根据各点的富有语义感知的实例特征,对点云中的各点按实例进行划分,将属于一个实例的点的语义特征进行融合,使得语义分割受益于实例分割。这样,既学习富有语义感知的实例特征来使实例分割受益于语义分割,同时属于同一个实例的点的语义特征被融合在一起以产生更准确的语义类别预测,两种分割从彼此中受益,得到双赢的性能提升,不仅提高分割的效率,还提高了分割的准确性。

在一个实施例中,点云分割方法也可仅包括s202-s208以及s502-s508的步骤。亦即对点云进行实例融合语义分割的步骤。

在一个实施例中,点云分割方法也可包括:对待处理的点云编码得到共享特征;按照不同的解码方式解码共享特征,分别得到点云的语义特征和点云的实例特征;将点云的语义特征适配至实例特征空间后与点云的实例特征融合,得到点云的语义融合实例特征;对点云的语义融合实例特征划分得到点云中各点的语义融合实例特征;根据各点的语义融合实例特征,确定各点相应的多个临近点;融合各多个临近点的语义特征,得到相应点的实例融合语义特征;根据各实例融合语义特征,确定相应点所属的语义类别;根据各点的语义融合实例特征和所属的语义类别,确定各点所属的实例类别。亦即对点云进行实例融合语义分割联合语义融合实例分割的步骤。

在一个实施例中,上述实施例中,自获取到待处理的点云后,对点云进行处理直至得到实例分割结果和语义分割结果的过程中,所采用的深度学习网络结构可以统一训练得到。该训练过程为有监督的训练过程。训练数据为点云样本,计算机设备可为每个点云样本中的每个点样本确定实例类别标签和语义类别标签,以进行有监督训练。

综上所述,本申请实施例提供的技术方案具有广阔的应用前景,在自动驾驶、室内导航以及增强现实等领域有很大潜力。而且随着三维传感器的发展和普及,对三维空间的感知变得尤为重要。如室内机器人的控制,如果可以将扫描得到的三维点云进行分割,比如按语义和实例分割,便可使机器人精确感知到每一种物体(语义分割)甚至每一个物体(实例分割),进一步给机器人的导航和控制赋能。

其中,语义分割可以用来指导室内机器人的控制:在一个室内场景,机器人通过传感器得到面前的点云,通过本申请技术方案,可以让机器人知道面前的是门,并知道哪一个部分是门把手,从而可以进行下一步的开门等操作。

对于实例分割,比较初级的应用是做数量统计,比如统计房间内椅子的数量;也可以指导机器人的控制,比如可以知道每一把椅子的位置。或者在增强现实的场景里,可以把每一把椅子变成一个小怪兽等。

应该理解的是,虽然上述各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

如图7所示,在一个实施例中,提供了一种点云分割装置700。参照图7,该点云分割装置700包括:编码模块701、解码模块702、语义融合实例模块703和语义融合实例分割模块704。

编码模块701,用于对待处理的点云编码得到共享特征。

解码模块702,用于按照不同的解码方式解码共享特征,分别得到语义特征和实例特征。

语义融合实例模块703,用于将语义特征适配至实例特征空间后与实例特征融合,得到语义融合实例特征;语义融合实例特征表示融合了语义特征的实例特征;对语义融合实例特征划分得到点云中各点的语义融合实例特征。

语义融合实例分割模块704,用于根据各点的语义融合实例特征,确定各点所属的实例类别。

上述点云分割装置700,首先对待处理的点云编码得到共享特征;然后通过不同的解码分支解码共享特征,分别得到语义特征和实例特征;继而将语义特征适配至实例特征空间后与实例特征融合,得到点云的富有语义感知的实例特征,进而得到点云中各点的富有语义感知的实例特征,便可确定各点所属的实例类别。这样,不再依赖基于特征的相似度矩阵来进行分割,提高了点云分割的效率,而且通过学习富有语义感知的实例特征使得实例分割受益于语义分割,极大地提高了点云分割的准确性。

在一个实施例中,编码模块701还用于获取待处理的点云;将点云中各点的坐标特征和通道特征组合,得到相应点的初始特征;对各点的初始特征共同进行编码,得到与点云对应的共享特征。

在一个实施例中,解码模块702还用于通过第一解码结构解码共享特征得到语义特征;通过第二解码结构解码共享特征得到实例特征;其中,第一解码结构与第二解码结构的结构相同但解码参数不同。

在一个实施例中,语义特征为语义特征矩阵;实例特征为实例特征矩阵。语义融合实例模块703还用于通过每点独立的第一全连接层,将语义特征矩阵适配至实例特征空间;将适配至实例特征空间的语义特征矩阵与实例特征矩阵按位相加,得到语义融合实例特征矩阵。

在一个实施例中,语义融合实例模块703还用于将语义融合实例特征矩阵输入每点独立的第二全连接层;通过第二全连接层包括的归一化层和激活层依次对语义融合实例特征矩阵进行处理,得到点云中各点的语义融合实例特征向量。

在一个实施例中,语义融合实例分割模块704还用于分别对点云中的每个点,计算点的语义融合实例特征与点云中除点外的其他各点的语义融合实例特征的特征距离;按照计算得到的特征距离对点云中的点进行聚类,得到多组点;多组点中每组点对应一个实例类别。

如图8所示,在一个实施例中,点云分割装置700还包括:实例融合语义模块705和实例融合语义分割模块706。

实例融合语义模块705,用于将点云中的点分别作为中心点;根据各点的语义融合实例特征,确定各中心点相应的多个临近点;融合各多个临近点的语义特征,得到相应中心点的实例融合语义特征。

实例融合语义分割模块706,用于根据各实例融合语义特征,确定相应点所属的语义类别。

上述点云分割装置700,首先对待处理的点云编码得到共享特征;然后通过不同的解码分支解码共享特征,分别得到语义特征和实例特征。一方面,将语义特征适配至实例特征空间后与实例特征融合,得到点云的富有语义感知的实例特征,进而得到点云中各点的富有语义感知的实例特征。另一方面,根据各点的富有语义感知的实例特征,对点云中的各点按实例进行划分,将属于一个实例的点的语义特征进行融合,使得语义分割受益于实例分割。这样,既学习富有语义感知的实例特征来使实例分割受益于语义分割,同时属于同一个实例的点的语义特征被融合在一起以产生更准确的语义类别预测,两种分割从彼此中受益,得到双赢的性能提升,不仅提高分割的效率,还提高了分割的准确性。

在一个实施例中,实例融合语义模块705还用于根据各点的语义融合实例特征,分别对每个中心点计算与点云中各点的特征距离;选取与中心点的特征距离小于预设距离的多个点,作为中心点相应的多个临近点。

在一个实施例中,解码模块702还用于按照第一解码方式解码共享特征得到点云的语义特征矩阵,并按异于第一解码方式的第二解码方式解码共享特征得到点云的实例特征矩阵;语义特征矩阵包括点云中各点的语义特征向量。实例融合语义模块705还用于将各多个临近点的语义特征向量按位融合,得到相应中心点的实例融合语义特征向量。

在一个实施例中,实例融合语义分割模块706还用于通过每点独立的第三全连接层,分别将各实例融合语义特征各自转化为相应的语义预测向量;将各点的语义预测向量中最大向量元素所对应的语义类别,作为各点所属的语义类别。

在一个实施例中,语义融合实例分割模块704还用于分别对点云中的每个点,计算点的实例特征与点云中除点外的其他各点的实例特征的特征距离;按照计算得到的特征距离对点云中的点进行聚类,得到多组点;根据多组点中各组点所包括点所属的语义类别,确定各组点所包括点所属的实例类别。

图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110或服务器120。如图9所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现点云分割方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行点云分割方法。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的点云分割装置可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该点云分割装置的各个程序模块,比如,图7所示的编码模块701、解码模块702、语义融合实例模块703和语义融合实例分割模块704。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的点云分割方法中的步骤。

例如,图9所示的计算机设备可以通过如图7所示的点云分割装置700中的编码模块701执行对待处理的点云编码得到共享特征。通过解码模块702执行按照不同的解码方式解码共享特征,分别得到语义特征和实例特征。通过语义融合实例模块703执行将语义特征适配至实例特征空间后与实例特征融合,得到语义融合实例特征;语义融合实例特征表示融合了语义特征的实例特征;对语义融合实例特征划分得到点云中各点的语义融合实例特征。通过语义融合实例分割模块704执行根据各点的语义融合实例特征,确定各点所属的实例类别。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述点云分割方法的步骤。此处点云分割方法的步骤可以是上述各个实施例的点云分割方法中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述点云分割方法的步骤。此处点云分割方法的步骤可以是上述各个实施例的点云分割方法中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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