一种针对室内场景RGB-D图像的语义分割方法转让专利

申请号 : CN202010758773.1

文献号 : CN111739037B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 费哲遥张健谢天李月华朱世强

申请人 : 之江实验室

摘要 :

本发明提供一种针对室内场景RGB‑D图像的语义分割方法,该方法以Resnet101作为特征提取网络,增加一个与RGB输入并行的深度的输入通道,通过池化运算保证深度图尺寸与RGB通道的特征图一致;并将Resnet101网络的第一个卷积层替换为局部像素预分组卷积模块。该方法改进了传统的RGB语义分割方法,使模型对深度信息敏感,进而提升语义分割效果。

权利要求 :

1.一种针对室内场景RGB-D图像的语义分割方法,其特征在于,该方法具体包括如下步骤:S1:构建语义分割模型;

(1)以开源Deeplab v3+模型为基础,对网络结构进行改造:以Resnet101作为特征提取网络,增加一个与RGB输入并行的深度的输入通道,通过池化运算保证深度图尺寸与RGB通道的特征图一致;

(2)将Resnet101网络的第一个卷积层替换为局部像素预分组卷积模块;

所述的局部像素预分组卷积模块的计算方式如下:

(2.1)设该模块的卷积感受野为k×k,通过该模块对应的深度图获取卷积感受野内像素对应的深度值,并通过深度值转化出k×k个点的点云坐标{pi},i=1,2,…,k2;

(2.2)计算k×k个点的协方差矩阵A

其中,T代表转置;

(2.3)计算矩阵A的特征值,最小特征值对应的特征向量即是与k×k个点的距离之和最小的平面的法向量 ;

(2.4)计算各个点在 方向的投影

(2.5)以卷积核中心点的深度值 为零点,计算其他各点与中心点的有向距离di,i=1,2,…,k2;

(2.6)以s为宽度,划分出k个深度区间[-(k+2)s/2+js, -(k+2)s/2+(j+1)s]j ,j=1,

2,…,k;

(2.7)将各点与中心点的有向距离di落入同一个区间的点分到同一个组,共计k组;再将同组的点进行一个2D卷积操作,然后将k个2D卷积输出求和,将求和的结果作为所述的局部像素预分组卷积模块的输出;

(3)将Resnet101网络输出的特征图输入Deeplab v3+的解码器解码后输出分类得分图;

S2:选择开源RGB-D语义分割数据集,用反向传播算法训练S1得到的语义分割模型;

S3:将测试RGB-D图像输入S2训练好的语义分割模型中,根据输出的分类得分图计算各像素点类别,输出语义分割图像。

2.根据权利要求1所述的针对室内场景RGB-D图像的语义分割方法,其特征在于,所述的解码器的计算过程如下:(1)提取Resnet101网络第一个卷积层输出的特征图,即低层级特征图;

(2)将低层级特征图输入多尺度空洞卷积模块;所述的低层级特征图分别通过四个不同尺度的空洞卷积层和一个均值池化操作,并将这五个输出叠加,然后通过1×1的卷积压缩通道数,生成压缩后的特征图;再用双线性差值算法将压缩后的特征图上采样至和低层级特征图一致的尺寸,并将上采样后的特征图与低层级特征图叠加;

(3)将步骤(2)得到的叠加后的特征图通过3个3×3卷积,输出通道数为类别数的分类得分图。

3.根据权利要求1所述的针对室内场景RGB-D图像的语义分割方法,其特征在于,k为3。

4.根据权利要求1所述的针对室内场景RGB-D图像的语义分割方法,其特征在于,s为

0.5。

说明书 :

一种针对室内场景RGB-D图像的语义分割方法

技术领域

[0001] 本发明涉及计算机图像处理领域,尤其涉及一种针对室内场景RGB-D图像的语义分割方法。

背景技术

[0002] 语义分割是计算机视觉中非常重要的一个应用,被广泛运用在机器人、自动驾驶、安防监控等诸多领域。目前RGB-D传感器已经相当成熟,它不仅能提供色彩信息,还能提供深度信息。深度信息在色彩边界不明显、纹理特征较弱的场景中,对语义分割有很强的指导作用,而传统的语义分割方法并不能充分利用深度信息。

发明内容

[0003] 针对现有的RGB图像分割算法无法利用图像深度信息的不足,本发明提出一种针对室内场景RGB-D图像的语义分割方法,以增强图像分割算法的性能,具体技术方案如下:
[0004] 一种针对室内场景RGB-D图像的语义分割方法,该方法具体包括如下步骤:
[0005] S1:构建语义分割模型;
[0006] (1)以开源Deeplab v3+模型为基础,对网络结构进行改造:以Resnet101作为特征提取网络,增加一个与RGB输入并行的深度的输入通道,通过池化运算保证深度图尺寸与RGB通道的特征图一致;
[0007] (2)将Resnet101网络的第一个卷积层替换为局部像素预分组卷积模块;
[0008] 所述的局部像素预分组卷积模块的计算方式如下:
[0009] (2.1)设该模块的卷积感受野为k×k,通过该模块对应的深度图获取卷积感受野内像素对应的深度值,并通过深度值转化出k×k个点的点云坐标{pi},i=1,2,…,k2;
[0010] (2.2)计算k×k个点的协方差矩阵A
[0011]
[0012] 其中,T代表转置;
[0013] (2.3)计算矩阵A的特征值,最小特征值对应的特征向量即是与k×k个点的距离之和最小的平面的法向量 ;
[0014] (2.4)计算各个点在 方向的投影
[0015]
[0016] (2.5)以卷积核中心点的深度值 为零点,计算其他各点与中心点的有向距离di,i=1,2,…,k2;
[0017] (2.6)以s为宽度,划分出k个深度区间[-(k+2)s/2+js, -(k+2)s/2+(j+1)s]j, j=1,2,…,k;
[0018] (2.7)将各点与中心点的有向距离di落入同一个区间的点分到同一个组,共计k组;再将同组的点进行一个2D卷积操作,然后将k个2D卷积输出求和,将求和的结果作为所述的局部像素预分组卷积模块的输出;
[0019] (3)将Resnet101网络输出的特征图输入Deeplab v3+的解码器解码后输出分类得分图;
[0020] S2:选择开源RGB-D语义分割数据集,用反向传播算法训练S1得到的语义分割模型;
[0021] S3:将测试RGB-D图像输入S2训练好的语义分割模型中,根据输出的分类得分图计算各像素点类别,输出语义分割图像。
[0022] 进一步地,所述的解码器的计算过程如下:
[0023] (1)提取Resnet101网络第一个卷积层输出的特征图,即低层级特征图;
[0024] (2)将低层级特征图输入多尺度空洞卷积模块;所述的低层级特征图分别通过四个不同尺度的空洞卷积层和一个均值池化操作,并将这五个输出叠加,然后通过1×1的卷积压缩通道数,生成压缩后的特征图;再用双线性差值算法将压缩后的特征图上采样至和低层级特征图一致的尺寸,并将上采样后的特征图与低层级特征图叠加;
[0025] (3)将步骤(2)得到的叠加后的特征图通过3个3×3卷积,输出通道数为类别数的分类得分图。
[0026] 进一步地,k为3。
[0027] 进一步地,s为0.5。
[0028] 本发明的有益效果如下:
[0029] 与传统RGB语义分割算法不同,本方法引入了图像的深度信息,在色彩边界不明显、纹理特征较弱的场景中,深度信息提供的边缘特征能对语义分割提供正确指导,从而相较传统方法有较为明显的性能提升。

附图说明

[0030] 图1为本发明的模型构架图;
[0031] 图2为发明方法效果图。

具体实施方式

[0032] 下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0033] 如图1所示,本发明的针对室内场景RGB-D图像的语义分割方法具体包括如下步骤:
[0034] S1:构建语义分割模型;
[0035] (1)使用开源深度学习框架pytorch搭建算法模型。以开源Deeplab v3+模型为基础,对网络结构进行改造:以Resnet101作为特征提取网络,增加一个与RGB输入并行的深度的输入通道。深度(Depth)通道只做均值池化操作,作用域为3×3,步长(stride)为2。总共进行4次池化操作,分别对应Resnet101中4次步长(stride)为2的卷积/池化操作,从而保证深度图尺寸与RGB通道的特征图一致;
[0036] (2)将Resnet101网络的四个卷积层中的第一个3×3卷积层替换为局部像素预分组卷积模块;
[0037] 所述的局部像素预分组卷积模块的计算方式如下:
[0038] (2.1)设该模块的卷积感受野为k×k,通过该模块对应的深度图获取卷积感受野2
内像素对应的深度值,并通过深度值转化出k×k个点的点云坐标{pi},i=1,2,…,k ;k优选为3;
[0039] (2.2)计算k×k个点的协方差矩阵A
[0040]
[0041] 其中,T代表转置;
[0042] (2.3)计算矩阵A的特征值,最小特征值对应的特征向量即是与k×k个点的距离之和最小的平面的法向量 ;
[0043] (2.4)计算各个点在 方向的投影
[0044]
[0045] (2.5)以卷积核中心点的深度值 为零点,计算其他各点与中心点的有向距离di,i=1,2,…,k2;
[0046] (2.6)以s为宽度,划分出k个深度区间[-(k+2)s/2+js, -(k+2)s/2+(j+1)s]j ,j=1,2,…,k;s优选为0.5。
[0047] (2.7)将各点与中心点的有向距离di落入同一个区间的点分到同一个组,共计k组;再将同组的点进行一个2D卷积操作,然后将k个2D卷积输出求和,将求和的结果作为所述的局部像素预分组卷积模块的输出;
[0048] (3)将Resnet101网络输出的特征图输入Deeplab v3+的解码器解码后输出分类得分图;
[0049] 所述的解码器的计算过程如下:
[0050] (1)提取Resnet101网络第一个卷积层输出的特征图,即低层级特征图;
[0051] (2)将Resnet101网络输出的特征图输入多尺度空洞卷积模块;所述的Resnet101网络输出的特征图分别通过四个不同尺度的空洞卷积层和一个均值池化操作,并将这五个输出叠加,然后通过1×1的卷积压缩通道数,生成压缩后的特征图;再用双线性差值算法将压缩后的特征图上采样至和低层级特征图一致的尺寸,并将上采样后的特征图与低层级特征图叠加;其中,四个不同尺度的空洞卷积层分别为:(kernel_size=1,stride=1);(kernel_size=3,stride=1,atrous_rate=6);(kernel_size=3,stride=1, atrous_rate=
12);(kernel_size=3,stride=1, atrous_rate=18),其中,kernel_ size表示卷积核大小,stride表示卷积步长,atrous_rate表示空洞卷积系数。
[0052] (3)将步骤(2)得到的叠加后的特征图通过3个3×3卷积,输出通道数为类别数的分类得分图。这里的类别数为41。
[0053] (4)再以交叉熵损失(cross-entropy loss)作为损失函数,以随机梯度下降法作为优化函数。至此模型框架构建完成。
[0054] S2:选择开源RGB-D语义分割数据集,用反向传播算法训练S1得到的语义分割模型;
[0055] 这里选择开源的nyu depth v2语义分割数据集,该数据集总计包含带标注的RGB-D图像1449张,以其中795张作为训练集,剩余654张作为测试集。对训练集内的图像进行随机翻转、剪裁、gamma值变换方法进行数据增强(data augmentation)。模型加载imagenet预训练参数,由于局部像素预分组卷积模块中将原有的一个3×3卷积替换成了3个3×3卷积,这里的做法是将3个3×3卷积赋予同样的预训练参数。使用pytorch框架完成模型训练。
[0056] S3:将测试RGB-D图像输入S2训练好的语义分割模型中,根据输出的分类得分图计算各像素点类别,输出语义分割图像。
[0057] 图2为利用本发明的方法进行语义分割的效果图,左侧为原始图片,右侧为语义分割后的图片。
[0058] 以原始的Deeplab v3模型作为对比,在nyu depth v2测试集中测试本方法的效果,结果都以平均交并比(MIoU)指标体现。实验结果如下,本方法在加入自定义的局部像素预分组卷积模块后,相较原始Deeplab v3模型提升了约4%。
[0059] 表1 本发明的方法与Deeplab v3模型的效果对比表
[0060]
[0061] 本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。