本发明涉及图像分割,具体涉及一种基于nightidmf-net的夜间语义分割方法。
背景技术:
1、语义分割是利用图片的上下文语义信息,实现像素级的分类任务,就是将图像的不同类别划分不同的区域。语义分割是当今计算机视觉重要技术之一,目前在许多领域都有广泛的应用,包括自动驾驶、医学影像分析、虚拟现实。随着自动驾驶和辅助驾驶的兴起,语义分割技术显得越来越重要。
2、目前语义分割模型分割性能都很好,但仍然会有分类不正确和模型太大很难训练和推理,特别是基于transformer的模型,transformer的模型太大需要硬件性能高,所以难以训练。导致分割结果分类不好是因为卷积的池化下采样,现有的模型都会使用下采样来降低图像尺度,否则网络太深训练不了,但下采样就会导致图像信息丢失;还有如果卷积核太大或太小都会导致感受野出现问题,比如太小的话大物体就分割不清楚,太大的话小物体分割出错。现有的语义分割模型大多数是白天分割任务,由于白天的光照、噪声等因素影响小,这些分割模型能很好进行分割。然而夜间的光照、噪声等因素的复杂性,直接对现有模型移植到夜间分割,结果往往是不好的,所以夜间分割是一个急需解决的问题。
技术实现思路
1、本发明为了解决分割时候信息丢失、分割性能不好和夜间分割的问题,提出一种基于nightidmf-net的夜间语义分割方法。
2、为解决上述的问题,本发明的技术方案是:
3、一种基于nightidmf-net的夜间语义分割方法,包括步骤如下:
4、步骤1、原始rgb图像先进行预处理,随机裁剪为固定大小的图片;
5、步骤2、对步骤1所得到的图像传入ifrm影响因素去除模块,将图像rgb颜色模型通过卷积操作转换成hsi颜色模型,去除图像的i光照和噪声,得到hs的合成图像;
6、步骤3、将步骤2得到的新图像进行卷积、图片切块、展平、线性映射和添加绝对位置编码操作,得到token向量;
7、步骤4、将步骤3得到的token输入到第一组的2个vision mamba编码块,得到第一组特征信息;
8、步骤5、将步骤4得到的特征信息输入到dfm下采样融合模块,得到第一组下采样2倍的特征图;
9、步骤6、将步骤5得到的特征图传入msfm多尺度选择融合模块,模块过程得到的特征图复制一份参与后续的解码过程,模块结果得到的第一组token向后传播;
10、步骤7、将步骤6得到的token输入到第二组的2个vision mamba编码块,得到第二组特征信息;
11、步骤8、将步骤7的特征信息输入到dfm下采样融合模块,得到第二组下采样2倍的特征图;
12、步骤9、将步骤8得到的特征图传入msfm多尺度选择融合模块,模块过程得到的特征图复制一份参与后续的解码过程,模块结果得到的第二组token向后传播;
13、步骤10、将步骤9得到的token输入到第三组的6个vision mamba编码块,过程与步骤3、步骤4和步骤5一样,最终得到第三组token;
14、步骤11、将步骤10得到的token输入到第四组的2个vision mamba编码块,将编码块输出的token传入msfm多尺度选择融合模块,最终得到感受野互补的token;
15、步骤12、将步骤11得到的token先进行线性映射,然后再重塑成特征图;
16、步骤13、将步骤12的特征图输入到fsm特征选择模块与第三组msfm多尺度选择融合模块输出的特征图进行特征选择融合,再进行上采样操作,最终得到第一阶段融合上采样的特征图;
17、步骤14、将步骤13的上采样图输入到fsm特征选择模块与第二组msfm多尺度选择融合模块的特征图进行特征选择融合,再进行上采样操作,最终得到第二阶段融合上采样的特征图;
18、步骤15、将步骤14的上采样图输入到fsm特征选择模块与第一组msfm多尺度选择融合模块的特征图进行特征选择融合,再进行上采样操作,最终得到第三阶段融合上采样的特征图,最后再进行一次2倍上采样和1×1卷积,最终得到分割图像。
19、上述步骤2的具体过程为:
20、①推理过程:
21、步骤2.1、将预处理的图像输入hsi分解模块,得到hs特征图和i特征图;
22、步骤2.1中的hsi分解模块具体实现过程为:
23、步骤2.1.1、输入的图像先经过一次3×3×3卷积操作;
24、步骤2.1.2、将步骤2.1.1的特征图通过一个跳跃连接,其中包括两个3×3×3卷积,第一个卷积之后进行批归一化操作和relu函数激活,最终将这两个卷积操作之后的特征图和跳跃连接的特征图相加并且使用relu函数激活得到最终的特征图输出;
25、步骤2.1.3、将步骤2.1.2的特征图分为两条路径通过,第一条路径进行一个3×3×2卷积,得到hs特征图,第二条路径进行一个3×3×1卷积,得到i特征图;
26、步骤2.1.4、将步骤2.1.3的hs特征图通过一个跳跃连接,其中包括一个3×3×2卷积,最终将卷积操作之后的特征图和跳跃连接的特征图相加并使用relu函数激活,得到的特征图就是ifrm模块推理过程的最终输出;
27、②训练过程:
28、步骤2.2.1、输入经过步骤1预处理的图像任意两张到hsi分解模块,第一张输入图像得到hs1特征图和i1特征图,第二张输入图像得到hs2特征图和i2特征图;
29、步骤2.2.2、步骤2.2.1中的hs1特征图和hs2特征图都会通过一个跳跃连接,其中包括一个3×3×2卷积,最终将卷积操作之后的特征图和跳跃连接的特征图相加并使用relu函数激活;
30、步骤2.2.3、把步骤2.2.1得到的i1特征图、i2特征图和步骤2.2.2中经过处理的hs1特征图、hs2特征图,交叉输入hsi合成模块即i2特征图和hs1特征图合成为hs1i2图像,i1特征图和hs2特征图合成为hs2i1图像;
31、步骤2.2.3中的hsi合成模块具体实现:
32、步骤2.2.3.1、步骤2.2.1输出的i光照特征图和步骤2.2.2处理的hs特征图对应经过一个3×3×2和3×3×1卷积再进行按通道维度合并;
33、步骤2.2.3.2、步骤2.2.3.1的特征图通过一个跳跃连接,其中包括两个3×3×3卷积,并且第一个卷积之后使用批归一化操作和relu函数激活,最终将这两个卷积操作之后的特征图和跳跃连接的特征图相加;
34、步骤2.2.3.3、步骤2.2.3.2的特征图通过一个3×3×3卷积和relu激活得到最终的合成图像,即i2和hs1合成得到hs1i2图像,i1和hs2合成得到hs2i1图像;
35、步骤2.2.4、将步骤2.2.3的hs1i2图像和hs2i1图像分别输入hsi分解模块得到hs2'、hs1'、i2'、i1'四张特征图;
36、步骤2.3、将步骤2.2.4得到的hs2'、i2'、hs1'、i1'四张特征图与步骤2.2.1的i1、i2特征图和步骤2.2.2经过处理的hs1、hs2计算l1损失;步骤2.2.1中的hsi分解模块输出的i1、i2也需要与hsi公式计算出来的i1、i2计算l1损失;
37、ifrm模块里面只有一个hsi分解模块和一个hsi合成模块。
38、上述步骤3的具体过程为:
39、步骤3.1、将步骤2.1.4的特征图用一个1×1卷积转成3维度的图像,再用2×2卷积进行切块处理;
40、步骤3.2、将步骤3.1的块展平,然后线性映射成token;
41、步骤3.3、将步骤3.2的token加上绝对位置编码,得到最终的token。
42、上述步骤5的具体过程为:
43、步骤5.1、将token重塑成特征图;
44、步骤5.2、将特征图按图像矩阵奇偶列重塑成两张特征图;
45、步骤5.3、将步骤5.2的两张特征图,分别按图像矩阵奇偶行重塑成两张特征图,最终得到四张特征图;
46、步骤5.4、将步骤5.3的四张特征图,分别对应经过不同的3×3卷积,得到四张新的特征图;
47、步骤5.5、步骤5.4的四张特征图都先进行全局平均池化将特征图压缩为向量;
48、步骤5.6、将步骤5.5的向量与步骤5.4的四张特征图对应相乘,四张特征图一共得到四个结果,然后四个结果两两相加,最终得到两个特征图;
49、步骤5.7、步骤5.6每个特征图都先进行全局平均池化将特征图压缩为向量;
50、步骤5.8、将步骤5.7的向量与步骤5.6的两张特征图对应相乘,两张特征图一共得到两个结果,然后两个结果相加,再经过一个1×1卷积,得到最终特征图。
51、上述步骤6的具体过程为:
52、步骤6.1、将特征图分别输入到3×3、5×5和7×7三种卷积,得到三张特征图。
53、步骤6.2、步骤6.1的三张特征图都使用全局平均池化将特征图压缩为向量,分别得到a、b和c向量;得到的向量与步骤6.1的三张特征图对应相乘,得到三张新的特征图;向量a、b和c相加成d向量;
54、步骤6.3、将步骤6.2的d向量经过线性映射和softmax得到a'、b'、c'向量;新的向量再与步骤6.2的三张新特征图对应相乘,最后相加得到特征图,并复制一份;
55、步骤6.4、将步骤6.3的特征图重塑成token。
56、上述步骤13的具体过程为:
57、步骤13.1、将步骤12的特征图和第三组msfm多尺度选择融合模块的特征图输入,两个特征图使用全局平均池化将特征图压缩为向量,得到向量a、b;
58、步骤13.2、将步骤13.1的向量按通道维度拼接得到c向量,经过线性映射和softmax得到a'和b'向量;
59、步骤13.3、将步骤13.2的a'和b'向量分别与输入模块的两个特征图相乘、相加再经过一个1×1卷积,得到最终的特征图。
60、本技术方案针对夜间语义分割问题,提出了ifrm影响因素去除模块、dfm下采样模块、msfm多尺度选择融合模块和fsm特征选择模块。ifrm模块是针对夜间语义分割的,由于夜间的光照和噪声会对分割的产生影响,所以ifrm模块将rgb图像转换到hsi颜色模型,然后去除i光照和噪声。dfm下采样模块是解决传统卷积的池化下采样信息丢失,dfm模块将图像按行列、奇偶重新组合,再进行融合,得到原图一半的图像,既能使图像分辨率降低还能保留更多原图信息。msfm多尺度选择融合模块针对卷积核太大或太小会导致大小不同的物体分割不准确,msfm模块先预置3、5、7的卷积核大小的卷积,然后将三种卷积之后的结果选择最好的融合,这样能自适应选择合适的卷积核。fsm特征选择模块是解决下采样之后又上采样的信息丢失,将下采样最后的特征图,逐步2倍上采样恢复,每上采样一次就和主干网络中间过程输出的相同分辨率的特征图选择性的融合,自适应选择自己缺失的信息进行弥补。还有为了解决模型太大的训练不了,主干网络采用visionmamba编码块进行特征图提取,vision mamba采用的是空间状态模型ssm,没有注意力机制,还针对gpu硬件实现优化,提高了速度,减少显存,分割性能也能与visiontransformer不相上下。这些模块和方法的结合能有效解决夜间语义分割性能不好的问题。