首页> 中国专利> 一种结合空间深度卷积和残差结构的大尺度点云语义分割方法

一种结合空间深度卷积和残差结构的大尺度点云语义分割方法

摘要

本发明公开了一种结合空间深度卷积和残差结构的大尺度点云语义分割方法,包括如下步骤:S1、构建语义分割模型;S2、采集预设场景的点云数据,得到点集P={p1,p2,…,pi,…,pN}和特征集F={f1,f2,…,fi,…,fN},其中pi和fi分别为点云中第i个点的三维坐标和特征,N为点云中点的数量;S3、输入点集和特征集至语义分割模型中;S4、获得语义分割模型输出点云中每个点的概率;S5、选择每个点概率最大的分类作为预测标签,根据预测标签获得预设场景的点云分割结果。本发明结合空间深度卷积和残差结构进行点云语义分割,内存消耗和计算消耗减少,精度提高,可快速有效地一次性处理大尺度的场景点云。

著录项

  • 公开/公告号CN112215231A

    专利类型发明专利

  • 公开/公告日2021-01-12

    原文格式PDF

  • 申请/专利权人 浙江工业大学;

    申请/专利号CN202011048758.4

  • 申请日2020-09-29

  • 分类号G06K9/34(20060101);G06K9/62(20060101);G06N3/04(20060101);

  • 代理机构33240 杭州君度专利代理事务所(特殊普通合伙);

  • 代理人杨天娇

  • 地址 310014 浙江省杭州市下城区潮王路18号

  • 入库时间 2023-06-19 09:32:16

说明书

技术领域

本发明属于计算机视觉技术领域,具体涉及一种结合空间深度卷积和残差结构的大尺度点云语义分割方法。

背景技术

目前,基于深度学习的点云语义分割技术在近年发展迅速,但现有技术中许多方法存在如下技术缺陷:内存消耗过大,存在无法直接一次性处理大尺度场景点云,需要分块处理;计算消耗过大,无法快速的对场景点云进行语义分割;精度较低,构建的网络结构不够深以及感受野不够大导致语义信息不足。

发明内容

本发明的目的在于针对上述问题,提出一种结合空间深度卷积和残差结构的大尺度点云语义分割方法,减少内存消耗和计算消耗,提高精度,可快速有效地一次性处理大尺度场景点云。

为实现上述目的,本发明所采取的技术方案为:

本发明提出的一种结合空间深度卷积和残差结构的大尺度点云语义分割方法,包括如下步骤:

S1、构建语义分割模型,语义分割模型包括多个阶段,每个阶段从输入侧到输出侧依次包括编码器和解码器,第一阶段的编码器前还包括拓展维度的线性层,第一阶段的解码器后还包括SegHead;各阶段编码器结合空间深度卷积和残差结构对输入特征进行编码,强化语义信息,获得编码器的输出特征;除最后一阶段的其他阶段编码器的输出特征经过下采样层后传递给下一阶段的编码器;每阶段的编码器的输出特征与下一阶段解码器的输出特征经过上采样层后共同输入到本阶段的解码器中;第一阶段解码器的输出特征经过SegHead输出点云中每个点属于每个类的概率;

S2、采集预设场景的点云数据,得到点集P={p

S3、输入点集和特征集至语义分割模型中;

S4、获得语义分割模型输出点云中每个点的概率;

S5、选择每个点概率最大的分类作为预测标签,根据预测标签获得预设场景的点云数据分割结果。

优选地,编码器包括至少一个SDR块,编码器中可选择性增加DFA模块,DFA模块位于SDR块的输入侧。

优选地,DFA模块的输入特征从输入侧到输出侧依次经过下采样层、线性层、激活函数、SDC操作、线性层、激活函数和上采样层获得DFA中间特征,DFA模块的输入特征还与DFA中间特征结合,并经过线性层和激活函数获得DFA模块的输出特征。

优选地,上采样层的采样方式为最近邻插值。

优选地,SDR块的输入特征从输入侧到输出侧依次经过线性层、SDC操作、线性层和线性层获得SDR中间特征,SDR块的输入特征还经过shortcut与SDR中间特征相加后通过激活函数获得SDR块的输出特征。

优选地,当SDR块的输入特征和输出特征的维度相等时,SDR块的输入特征为shortcut;当SDR块的输入特征和输出特征的维度不相等时,SDR块的输入特征通过线性层拓展维度后得到shortcut。

优选地,线性层或SDC操作后可选择性增加归一化处理或激活函数。

优选地,SDC操作为空间深度卷积,卷积后第i个点的特征f

其中,p

优选地,最后一阶段的解码器包括线性层,其他阶段的解码器从输入侧到输出侧依次包括Concat函数和线性层,Concat函数将同一阶段编码器的输出特征与下一阶段解码器的输出特征结合,线性层后可选择性增加激活函数。

优选地,SegHead从输入侧到输出侧依次包括三个线性层和一个softmax层。

与现有技术相比,本发明的有益效果为:结合空间深度卷积和残差结构进行点云语义分割,减少了内存消耗和计算消耗,提高了精度,可快速有效地一次性处理大尺度场景点云。

附图说明

图1为本发明的语义分割模型;

图2为本发明实施例的输入点云样本;

图3为本发明的DFA模块示意图;

图4为本发明的SDR块示意图;

图5为本发明实施例的输入点云样本分割结果图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

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

如图1-5所示,一种结合空间深度卷积和残差结构的大尺度点云语义分割方法,包括如下步骤:

S1、构建语义分割模型,语义分割模型包括多个阶段,每个阶段从输入侧到输出侧依次包括编码器和解码器,第一阶段的编码器前还包括拓展维度的线性层,第一阶段的解码器后还包括SegHead;各阶段编码器结合空间深度卷积和残差结构对输入特征进行编码,强化语义信息,获得编码器的输出特征;除最后一阶段的其他阶段编码器的输出特征经过下采样层后传递给下一阶段的编码器;每阶段的编码器的输出特征与下一阶段解码器的输出特征经过上采样层后共同输入到本阶段的解码器中;第一阶段解码器的输出特征经过SegHead输出点云中每个点属于每个类的概率。

其中,语义分割模型SDRNet为一种层级结构,其网络结构可分为多个阶段,每个阶段包含一个编码器和一个解码器,第一阶段的编码器前还包括拓展维度的线性层,解码器后还包括输出点云中每个点属于每个类概率的SegHead。各阶段编码器结合空间深度卷积和残差结构对输入特征进行编码,强化语义信息,获得编码器的输出特征;除最后一阶段的其他阶段编码器的输出特征经过下采样层后传递给下一阶段的编码器;每阶段的编码器的输出特征与下一阶段解码器的输出特征经过上采样层后共同输入到本阶段的解码器中;第一阶段解码器的输出特征经过SegHead输出点云中每个点属于每个类的概率。

进一步地,如图1所示,本实例中构建了一种四阶段的语义分割模型SDRNet,为结合空间深度卷积和残差结构的大尺度点云语义分割模型,有利于速度与精度之间的平衡。语义分割模型的输入特征首先经过一个线性层拓展维度到32,然后输入到第一阶段的编码器中,第一阶段编码器的输出特征直接传递给第一阶段的解码器,第一阶段编码器的输出特征还经过下采样层后传递给第二阶段的编码器,第二阶段编码器的输出特征直接传递给第二阶段的解码器,第二阶段编码器的输出特征还经过下采样层后传递给第三阶段的编码器,第三阶段编码器的输出特征直接传递给第三阶段的解码器,第三阶段编码器的输出特征还经过下采样层后传递给第四阶段的编码器;第四阶段的解码器将第四阶段编码器的输出特征经过上采样层传递给第三阶段的解码器,第三阶段的解码器将第三阶段编码器的输出特征与第四阶段解码器的输出特征进行第一次合并Concat,第一次合并Concat后经过上采样层传递给第二阶段的解码器,第二阶段的解码器将第二阶段编码器的输出特征与第三阶段解码器的输出特征进行第二次合并Concat,第二次合并Concat后经过上采样层传递给第一阶段的解码器,第一阶段的解码器将第一阶段编码器的输出特征与第二阶段解码器的输出特征进行第三次合并Concat,第三次合并Concat后由第一阶段解码器输出第一阶段解码器的输出特征,第一阶段解码器的输出特征经过SegHead输出点云中每个点属于每个类的概率。需要说明的是,根据实际需求SDRNet还可以构建任意阶段的网络结构。

在一实施例中,编码器包括至少一个SDR块,编码器中可选择性增加DFA模块,DFA模块位于SDR块的输入侧。

其中,编码器包括至少一个SDR块,编码器中可选择性增加DFA模块,DFA模块位于SDR块的输入侧。在编码器中,输入特征经过编码后输出新的特征。除最后一阶段外,编码器的输出特征经过下采样后传递给下一阶段的编码器。本实施例中,语义分割模型SDRNet中第一阶段的编码器包括一个DFA模块和两个SDR块,第二阶段的编码器包括一个DFA模块和三个SDR块,第三阶段的编码器包括一个DFA模块和六个SDR块,第四阶段的编码器包括三个SDR块。需要说明的是,每个阶段的DFA模块和SDR块数量还可根据实际情况进行调整。

在一实施例中,DFA模块的输入特征从输入侧到输出侧依次经过下采样层、线性层、激活函数、SDC操作、线性层、激活函数和上采样层获得DFA中间特征,DFA模块的输入特征还与DFA中间特征结合,并经过线性层和激活函数获得DFA模块的输出特征。

其中,DFA模块包括下采样层、线性层、SDC操作、上采样层和激活函数,其中线性层和激活函数均为多个。DFA模块中还可在线性层或SDC操作后选择性加入归一化处理,帮助加快训练阶段的收敛速度,并防止过拟合。进一步地,如图3所示,N为点云中点的数量,L为线性层,BN为归一化处理batch normal,LR为激活函数Leacky Relu,I为输入特征的维度。DFA模块的输入特征经过下采样层后获得点云中N/4个点的特征作为第一DFA中间特征,第一DFA中间特征依次经过线性层L、归一化处理BN和激活函数LR后减少输入特征的维度为I/2,获得第二DFA中间特征,从而进一步减少后续进行卷积时的计算消耗和内存消耗。第二DFA中间特征随后依次通过SDC操作和归一化处理BN获得第三DFA中间特征。第三DFA中间特征再依次经过线性层L、归一化处理BN和激活函数LR后进行重组而不改变维度,进而获得第四DFA中间特征。第二DFA中间特征、第三DFA中间特征和第四DFA中间特征操作过程中的维度均为I/2,第四DFA中间特征通过上采样层还原到原来的尺度即点云中点的数量为N得到第五DFA中间特征,将第五DFA中间特征与DFA模块的输入特征合并(通过Concat函数合并)后,依次经过线性层L、归一化处理BN和激活函数LR还原到输入特征的维度I,得到DFA模块的输出特征。需要说明的是,DFA模块中的激活函数还可采用激活函数Relu。

在一实施例中,上采样层的采样方式为最近邻插值。

其中,上采样层的采样方式为最近邻插值,适用于大尺度点云,计算量最少,速度最快。

下采样层的采样方式为随机采样,随机选择当前阶段点云的1/4部分作为下一阶段的点云,并在下采样时,用KD-Tree算法为下采样后的每个点找到在原始点云中的十六个邻居,通过最大池化操作融合特征信息,并抑制噪声。

在一实施例中,SDR块的输入特征从输入侧到输出侧依次经过线性层、SDC操作、线性层和线性层获得SDR中间特征,SDR块的输入特征还经过shortcut与SDR中间特征相加后通过激活函数获得SDR块的输出特征。

其中,SDR块为空间深度残差块,主要结合了空间深度卷积和残差结构,包括三个线性层和一个SDC操作。SDR块中还可在线性层或SDC操作后选择性加入归一化处理或激活函数。进一步地,如图4所示,N为点云中点的数量,I为输入特征的维度,O为输出特征的维度,L为线性层,BN为归一化处理batch normal,LR为激活函数Leacky Relu。SDR块的输入特征首先依次经过线性层L、归一化处理BN和激活函数LR获得第一SDR中间特征,第一SDR中间特征的通道数为O/4,可进一步降低后续卷积操作的计算消耗和内存消耗,第一SDR中间特征随后依次经过SDC操作和归一化处理BN获得第二SDR中间特征,第二SDR中间特征再依次经过线性层L、归一化处理BN和激活函数LR后获得第三SDR中间特征,第三SDR中间特征对卷积后的第二SDR中间特征进行重组而不改变维度,第一SDR中间特征、第二SDR中间特征和第三SDR中间特征通道数均为O/4,第三SDR中间特征随后再依次经过线性层L、归一化处理BN和激活函数LR后获得第四SDR中间特征,第四SDR中间特征中通过线性层L拓展输出特征的维度为O,第四SDR中间特征与shortcut相加并经过激活函数LR得到SDR块的输出特征,可以缓解梯度消失的问题。

在一实施例中,当SDR块的输入特征和输出特征的维度相等时,SDR块的输入特征为shortcut;当SDR块的输入特征和输出特征的维度不相等时,SDR块的输入特征通过线性层拓展维度后得到shortcut。

其中,shortcut有两种情况,当SDR块的I与O相等时,输入特征可以直接作为shortcut;当SDR块的I与O不相等时,输入特征经过一个线性层L得到O维特征后作为shortcut。需要说明的是,SDR块的激活函数还可采用激活函数Relu等。

在一实施例中,线性层或SDC操作后可选择性增加归一化处理或激活函数。

其中,在线性层或SDC操作后选择性增加归一化处理可加快收敛,防止过拟合,而通过激活函数可以引入非线性因素,提高模型的表达能力。

在一实施例中,SDC操作为空间深度卷积,卷积后第i个点的特征f

其中,p

其中,SDC操作为空间深度卷积。假定存在一个连续函数g(·):R

其中,p

特别的,对于雷达点云,首先对Δp

其中,点云中第i个点的三维坐标为(x

在一实施例中,最后一阶段的解码器包括线性层,其他阶段的解码器从输入侧到输出侧依次包括Concat函数和线性层,Concat函数将同一阶段编码器的输出特征与下一阶段解码器的输出特征结合,线性层后可选择性增加激活函数。

其中,如图1所示,最后一阶段的解码器包括线性层,其他阶段的解码器包括Concat函数操作和线性层。除最后一阶段外,解码器输入同一阶段编码器的输出特征和下一阶段解码器的输出特征,即当前阶段的解码器将其下一阶段解码器的输出特征通过上采样层进行上采样,并将上采样到的特征与当前阶段编码器的输出特征共同输入Concat函数进行合并。本实施例中,当前阶段解码器的输入特征经过一个线性层后得到输出特征。最后一阶段的解码器直接输入同一阶段编码器的输出特征,然后经过一个线性层得到输出特征。另除第一阶段外,解码器的输出特征传递给上一阶段的解码器。需要说明的是,各阶段还可选择性地加入激活函数,如最后一阶段的解码器包括线性层和激活函数,其他阶段的解码器包括Concat函数、线性层和激活函数,当前阶段解码器的输入特征依次经过一个线性层和一个激活函数后得到输出特征。最后一阶段的解码器直接输入同一阶段编码器的输出特征,然后依次经过一个线性层和一个激活函数得到输出特征。除第一阶段外,其他阶段的解码器的输出特征传递给上一阶段的解码器。

在一实施例中,SegHead从输入侧到输出侧依次包括三个线性层和一个softmax层。

其中,SegHead从输入侧到输出侧依次包括三个线性层和一个softmax层。三个线性层的维度依次为64、32、19。每个点的特征依次经过三个线性层和一个softmax层,输出每一类的概率。

S2、采集预设场景的点云数据,得到点集P={p

S3、输入点集和特征集至语义分割模型中。

S4、获得语义分割模型输出点云中每个点的概率。

S5、选择每个点概率最大的分类作为预测标签,根据预测标签获得预设场景的点云数据分割结果。

其中,若已存在训练好的网络参数,则语义分割模型直接采用训练好的网络参数,否则应先对语义分割模型的网络参数进行训练。训练步骤如下:

a)获得带语义标注的点云数据集,将点云划分为训练集和验证集。本实施例中,下载SemanticKITTI雷达点云数据集,将SemanticKITTI序列00-07以及序列09-10作为训练集,序列08作为验证集;

b)随机选择训练集中多个场景的点云输入到步骤S1中的语义分割模型SDRNet中,并输出点云中每个点的概率,本实施例中选取六个场景;

c)移除无标签的点;

d)将标签进行one-hot编码;

e)计算损失函数,本实例中使用WCE损失函数;

f)使用Adam优化器对网络参数进行优化;

g)在训练集上训练预定次数转到步骤h),否则转到步骤b)。本实施例中,在SemanticKITTI训练集上完整训练一轮则转到步骤h),否则转到步骤b);

h)在验证集上进行评估模型精度,评估指标用平均交并比mIoU,若没有保存过或者比保存过的模型精度高,则保存网络参数;

i)若训练达到100轮,则结束训练,否则转到步骤b)。

本申请通过构建多阶段的语义分割模型SDRNet对大尺度场景点云进行语义分割,能够高效地提取场景中的点云信息,从而得到高精度的语义分割结果。进一步地,在本申请实施例中,通过构建四阶段的语义分割模型SDRNet对大尺度场景点云进行语义分割,可以在点云中分割出不同的类别,帮助无人车分析场景中的环境,在保持高精度的同时可有较快的计算速度,进一步提高效率。进一步地,在无人车运用场景中,无人车在行进过程中通过雷达(如velodyne64激光雷达)采集行进场景中的点云数据,获得点云的点集和特征集,并将点集和特征集输入语义分割模型SDRNet后输出点云中每个点的概率,选择每个点概率最大的分类作为预测标签,根据预测标签获得无人车行进场景点云分割结果。如图5所示,为无人车场景点云的语义分割结果图,图中不同的灰度代表不同的类别,灰度颜色由浅至深分别代表植物、地面、建筑、人和交通工具。还可根据实际需求,进一步细分类别,如植物可分为树干、草地和其他,地面可分为马路、人行道、停车位和其他,建筑可分为房屋、围栏、柱子、交通标志和其他,人可分为行人、骑自行车者和骑摩托车者,交通工具可分为轿车、自行车、摩托车、卡车和其他等。

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

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号