一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度学习和权重分配的实时语义分割系统及方法与流程

2022-02-20 22:47:47 来源:中国专利 TAG:

一种基于深度学习和权重分配的实时语义分割系统及方法
【技术领域】
1.本发明涉及人工智能实时语义分割领域,具体而言是一种基于深度学习和权重分配的实时语义分割系统及方法。


背景技术:

2.语义分割可以看作是按像素进行分类的任务,它可以为图像中的每个像素分配特定的预定义类别,该任务在自动驾驶和图像编辑等方面具有许多潜在的实际应用。
3.近年来,建立更深、更大的卷积神经网络(cnn,convolutional neural networks)是解决语义分割任务的主要趋势。大多数只追求准确性的cnn网络通常使用成百上千个特征通道和卷积层。尽管已经实现了更高的精度,但是在许多现实的应用场景中,例如现实增强,机器人技术和自动驾驶等,经常需要小型计算网络来及时进行在线预测。因此,开发轻量级,高效且实时的语义分割方法至关重要,亦或是,利用更少的计算资源,获得更快更精确的结果。设计一种足够有效的轻量级网络,并且它可能更容易在精度,网络大小,速度和效率之间进行平衡,仍然是实时语义分割领域不可或缺的研究课题。
4.为了解决这个问题,许多轻量级网络被设计来平衡实现效率和分割精度。这些网络大致分为两类:卷积因子分解和网络压缩。后者倾向于通过压缩与训练网络来减少计算冗余,包括利用剪枝、量化等方案。与后者相比,前者基于卷积因子分解原理(cfp,convolutional factorization principle),它将标准卷积分解为组卷积或者深度可分离卷积,着重于直接训练较小的网络。例如,lightweight encoder-decoder network(轻量级编解码网络)使用split-shuffle-non-bottleneck(分割-混洗-非瓶颈单元)作为残差层来执行有效的推理计算,它采用的是经典的编解码结构,大大减少了网络参数,然而,解码模块不能灵活地使用不同层的特征来维持更好的准确性,网络层数较少,并且无法提取足够的特征信息来实现准确的分类。
5.随着大数据和人工智能技术的不断发展,以及实验数据集建设的逐步完善,基于大数据和人工智能等前沿技术对实时语义分割逐步形成了坚实的基础。通过对现有数据集的分析和预处理,构建深度学习推断方法,能够从不同的像素点中提取到相关特征信息,并通过模型学习形成经验模型,并对新的数据进行预测,从而能够准确预测出分割结果。


技术实现要素:

6.本发明的目的在于提供一种基于深度学习和权重分配的实时语义分割系统及方法,它是一种新颖的带非对称编-解码结构系统,能够利用编码模块的轻量化残差层、解码模块的多尺度注意力融合单元和权重分配能够克服现有技术的不足,其结构简单、容易实现的方法,且该方法在减少参数量的同时对分割精度具有显著的提升,具有一定的实用价值。
7.本发明的技术方案:一种基于深度学习和权重分配的实时语义分割系统,其特征在于它包括以下模块:数据采集模块、数据预处理模块、编码模块、解码模块、权重分配模块
和语义分割预测模块;其中,所述数据采集模块对输入图像信号进行采集,并将其输出给数据预处理模块的输入端;所述编码模块的输入端接收数据预处理模块的输出端发出的处理后图像信号,其输出端输出特征图信号,并输出给解码模块的输入端;所述解码模块的输入端接收编码模块的输出端输出的特征图信号,并输出给权重分配模块或语义分割预测模块;所述权重分配模块的输入端接收解码模块输出端输出的特征图信号,并将处理后的预测结果信号反馈到编码模块;所述语义分割预测模块的输入端接收解码模块输出端输出的特征图信号,并输出最终的预测结果。
8.一种基于深度学习和权重分配的实时语义分割方法,其特征在于它包括以下步骤:
9.(1)由数据采集模块对cityscapes数据集的待识别图片进行图像信息采集,并输出图像信号连接到数据处理模块,对图像进行预处理;
10.所述步骤(1)中的cityscapes数据集中包含5000张图片,其中2975张图片用于模型训练,500张图片用于验证,1525张图片用于测试;所述cityscapes数据集具有19个类别的密集像素标注,分别是道路,人行道,墙,栅栏,竿,交通标志,红绿灯,植被,天空,地形,骑手,汽车,卡车,公交汽车,火车,摩托车,自行车,建筑物,行人。
11.(2)数据预处理模块对步骤(1)数据采集模块采集到的图片进行预处理,输出图像信号f,利用归一化公式(1)将0~255区间的像素点的图像转换为0~1区间的像素点的图像,使编码模块能够在训练时接收到0~1区间的图像,并能使输入到编码模块内的图像经过训练后可与标签图像计算损失后迭代;
[0012][0013]
其中xi表示图像像素点值,max(x),min(x)分别表示图像像素值的最大与最小值;
[0014]
(3)由编码模块对由步骤(2)得到的图像信号f进行处理,分别生成两个特征图信号,即:特征图信号和特征图信号
[0015]
所述步骤(3)中的编码模块是由3个下采样层和13个残差层组成的16层残差网络结构,分别是在第5个残差层输出的特征图信号和第13个残差层输出的特征图信号所述编码模块的第一个下采样层输入端连接数据预处理模块的输出端,接收一个图像信号,其输出端连接编码模块的第一个残差层;所述第一个残差层输入端连接第一个下采样层的输出端,接收经第一个采样层处理过的一组特征图信号,其输出端连接第二个残差层;所述第二个残差层输入端连接第一个残差层的输出端,接收经第一个残差层处理后的一组特征图信号,其输出端连接第三个残差层;所述第三个残差层输入端连接第二个残差层的输出端,接收经第二个残差层处理后的一组特征图信号,其输出端连接第二个下采样层;所述第二个下采样层输入端连接第三个残差层的输出端,接收经第三个残差层处理后的一组特征图信号,其输出端连接第四个残差层;所述第四个残差层输入端连接第二个下采样层的输出端,接收经第二个采样层处理后的一组特征图信号,其输出端连接第五个残差层;所述第五个残差层输入端连接第四个残差层输出端,接收经第四个残差层处理后的一组特征图信号,其输出端有两个,分别将输出一组特征图信号,
一端连接第三个下采样层的输入端,另一端输出特征图信号连接到解码模块;所述第三个下采样层输入端连接第五个残差层的输出端,接收经第五个残差层处理后的一组特征图信号,其输出连接第六个残差层;所述第六个残差层输入端连接第三个下采样层的输出端,接收经第三个下采样层处理后的一组特征图信号,其输出端连接第七个残差层;所述第七个残差层的输入端连接第六个残差层的输出端,接收经第六个残差层处理后的一组特征图信号,其输出端连接第八个残差层;所述第八个残差层的输入端连接第七个残差层的输出端,接收经第七个残差层处理后的一组特征图信号,其输出端连接第九个残差层;所述第九个残差层的输入端连接第八个残差层的输出端,接收经第八个残差层处理后的一组特征图信号,其输出端连接第十个残差层;所述第十个残差层输入端连接第九个残差层的输出端,接收经第九个残差层处理后的一组特征图信号,其输出端连接第十一个残差层;所述第十一个残差层输入端连接第十个残差层的输出端,接收经第十个残差层处理后的一组特征图信号,其输出端连接第十二个残差层;所述第十二个残差层输入端连接第十一个残差层的输出端,接收经第十一个残差层处理后的一组特征图信号,其输出端连接第十三个残差层;所述第十三个残差层输入端连接第十二个残差层的输出端,接收经第十二个残差层处理后的一组特征图信号,其输出端输出一组特征图信号并连接到解码模块;其中,所述下采样层,特征图信号每次进入下采样层,输出的特征图信号都会减少至输入的特征图信号的二分之一;其中,所述残差层是由通道拆分、组卷积、带空洞率的深度可分离卷积、特征图级联和通道混洗操作组成,是一种新型的残差层,以此达到减少编码模块计算时所需的参数量的目的。
[0016]
所述步骤(3)的具体实现过程如下:
[0017]
(3-1)由公式(2)对由步骤(2)得到的图像信号进行通道拆分,并将读取到的特征图信号的特征通道个数记为c,将输入的特征图信号拆分为两个具有c/2个特征通道的特征图信号,得到特征图信号f1和特征图信号f2:
[0018]
[f1,f2]=split2(f)
ꢀꢀꢀ
(2)
[0019]
其中,split2表示将输入的特征图信号以第2维进行拆分,f表示输入的特征图信号;
[0020]
所述步骤(3-1)中的特征通道个数c的区间为3至256。
[0021]
(3-2)由公式(3)对步骤(3-1)中经过通道拆分后的两个特征图信号分别进行组卷积处理,得到特征图信号和特征图信号由于经过通道拆分,两个组卷积计算所需的参数量相较标准卷积将减少1/2,
[0022][0023]
其中,conv
1*k
(conv
k*1
())与conv
k*1
(conv
1*k
())表示为组卷积,f1与f2表示步骤(3-1)中输出的两个特征图信号;
[0024]
(3-3)由公式(4)对步骤(3-2)中经过组卷积处理后的两个特征图信号和特征图信号进行特征图级联,以保证特征图信号通道不变,便于输出到带空洞率的深度可分离卷积进行处理,得到特征图信号f
concat

[0025][0026]
其中,concat2()表示将输入的两个特征图信号以第2维进行级联;
[0027]
(3-4)由公式(5)对步骤(3-3)中经过特征图级联后的特征图信号f
concat
进行带空洞的深度可分离卷积处理,得到处理后的特征图信号f
depthpoint
,即:
[0028]fdepthpoint
=relu(pointwise(depthwise
i*2
(relu(pointwise(depthwisei(f
concat
))))))
ꢀꢀꢀ
(5)
[0029]
其中,relu表示激活函数,pointwise表示逐点卷积,depthwisei表示带有i个空洞率的深度卷积;由pointwise和depthwisei组成带空洞率的深度可分离卷积;
[0030]
(3-5)由公式(6)对步骤(3-4)中经过带空洞率的深度可分离卷积处理后的特征图信号f
depthpoint
进行通道混洗,以达到特征图信号中的特征复用效果,得到特征图信号f
output

[0031]foutput
=shuffle2(f)
ꢀꢀꢀ
(6)
[0032]
其中,shuffle2表示对输入的特征图信号按第2维进行混洗;
[0033]
(4)由解码模块对由编码模块输出的特征图信号和特征图信号进行处理后融合;
[0034]
所述步骤(4)中的解码模块是使用具有注意力机制和全局平均池化结构的多尺度融合单元,是由注意力聚合单元i、注意力聚合单元ii、全局平均池化单元、3*3卷积层单元和特征级联单元构成;所述注意力聚合单元i的输入端接收由编码模块的第七层输出的特征图信号,其输出端与特征级联单元的输入端连接;所述注意力聚合单元ii的输入端、全局平均池化单元的输入端及3*3卷积层单元的输入端分别接收由编码模块第十六层输出的特征图信号;所述全局平均池化单元的输出端的输出信号与注意力聚合单元ii的输出端的输出信号叠加后,共同送入特征级联单元;所述3*3卷积层单元的输出端的输出信号与特征级联单元的输出端的输出信号进行点乘后生成输出特征图信号;该模块利用注意力机制和全局平均池化操作对编码模块输出的两个特征图信号处理后,进行多尺度融合,以达到减少解码模块计算时所需的参数量和提升解码模块在进行语义分割时的精度的目的。
[0035]
所述注意力聚合单元i和注意力聚合单元ii是同一种结构,由组卷积和注意力机制构成;所述注意力聚合单元i的组卷积输入端连接编码模块第五个残差层,接收经第五个残差层处理后的特征图信号,其输出端连接注意力聚合单元i的注意力机制;所述注意力聚合单元i的注意力机制的输入端连接组卷积,接收经组卷积处理后的特征图信号,其输出端连接特征图级联;所述注意力聚合单元ii的组卷积输入端连接编码模块的第十三个残差层,接收经第十三个残差层处理后的特征图信号,其输出端连接注意力聚合单元ii的注意力机制;所述注意力聚合单元ii的注意力机制的输入端连接注意力聚合单元i的组卷积,接收经组卷积处理后的特征图信号,其输出的特征图信号与全局平均池化输出的特征图信号进行相加。
[0036]
所述步骤(4)中的特征图信号和特征图信号将分别进入多尺度融合单元,处理过程由以下步骤构成:
[0037]
(4-1)对编码模块输出的两个特征图信号进行注意力机制处理,以提升解码模块
进行语义分割时的精度:
[0038]
(4-1-1)由公式(7)对编码模块输出的特征图信号和特征图信号进行通道拆分,得到原图尺寸1/8的通道拆分特征图信号和特征图信号以及原图尺寸1/4的通道拆分特征图信号和特征图信号以便后续组卷积对特征图信号特征图信号特征图信号和特征图信号进行处理,达到减少参数量的目的:
[0039][0040]
其中,和为编码模块输出的两个特征图信号,分别为原图尺寸1/8时输出的特征图信号以及原图尺寸1/4时输出的特征图信号split2表示对特征图信号进行通道拆分;
[0041]
(4-1-2)由公式(8-1)-公式(8-4)对步骤(4-1-1)中通道拆分后的特征图信号特征图信号特征图信号和特征图信号进行组卷积处理,得到特征图信号和由于经过通道拆分,两个组卷积计算所需的参数量相交标准卷积将减少1/2:
[0042][0043][0044][0045][0046]
其中,conv
1*k
(conv
k*1
())与conv
k*1
(conv
1*2
())表示为组卷积;
[0047]
(4-1-3)由公式(9)对经过组卷积处理后的特征图信号和两两对应相加,便于后续进行注意力机制处理,得到特征图信号和
[0048][0049]
(4-1-4)由公式(10-1)和公式(10-2)对相加过后的f
1/8add
和f
1/4add
进行注意力机制处理,得到特征图信号和特征图信号由于在(4-1-3)中采取的是特征图信号相加策略,因此此处注意力机制计算所需的参数量将减少1/2,同时利用注意力机制还可以提升解码模块在进行语义分割时的精度:
[0050][0051][0052]
其中,和为编码模块输出的两个特征图信号,分别为原图尺寸1/8时输出的特征图信号以及原图尺寸1/4时输出的特征图信号avgpool表示全局平均池化,conv
1*1
表示1*1卷积,batchnorm表示批次规范化,relu表示激活函数,f
1/8add
和f
1/4add
表示(4-1-3)中两两相加后的特征图信号;
[0053]
(4-2)利用公式(11)对编码模块输出的原图尺寸1/8的特征图信号进行全局平均池化处理,以达到后续与(4-1-4)中输出的特征图信号进行多尺度融合的目的;得到特征图信号
[0054][0055]
其中表示编码模块输出的原图尺寸1/8的特征图信号,avgpool表示全局平均池化;
[0056]
(4-3)利用公式(12)对编码模块输出的特征图信号进行3*3卷积处理,得到特征图信号以达到与步骤(4-5)输出的特征图信号f
concat
进行多尺度融合的目的;
[0057][0058]
(4-4)利用公式(13)对步骤(4-1-4)输出的特征图信号和步骤(4-2)输出的特征图信号相加,得到特征图信号以达到提升解码模块进行语义分割时的精度的目的;
[0059][0060]
(4-5)利用公式(14)对步骤(4-4)得到的特征图信号和步骤(4-1-4)得到特征图信号进行特征图级联操作,以达到多尺度融合的目的,不仅可以提升解码模块进行语义分割时的精度还可以减少解码模块计算时所需的参数量,最后得到经过特征图级联后的特征图信号f
concat

[0061][0062]
其中,concat表示特征图级联;
[0063]
(4-6)利用公式(15)对步骤(4-5)得到的特征图信号f
concat
与步骤(4-3)得到的特征图信号进行点乘处理,得到解码模块的最终输出特征图信号f
output
,并且在实施例中特征图信号f
output
具有19个通道的特征图信号,以便后续在权重分配模块与标签图像计算loss值或在语义分割预测模块计算语义分割预测结果;
[0064][0065]
(5)由权重分配模块对步骤(4)解码模块输出的特征图信号f
output
与标签图像计算后的loss值进行赋予权重,以进行下一次迭代;权重分配模块是利用权重分配公式计算所得的权重分配给图像中相应类别的loss值的模块,以达到提升编-解码模块在进行语义分割时的精度的目的;
[0066]
(5-1)利用交叉熵损失函数公式(16)对编码模块输出的特征图信号f
output
与数据集的标签图像进行loss值计算,得到特征图信号中每个类别的loss值:
[0067][0068]
其中,p(f
output
)为真实像素点概率分布,q(f
output
)为预测像素点概率分布,m表示图像个数,n表示图像中类别的个数,i表示当前第i个图像,j表示当前第j个类别;
[0069]
(5-2)利用权重分配公式(17-1)-公式(17-3)计算步骤(1)的数据集cityscapes图像中的每个类别占用的像素点个数计算每个类别的权重,且像素点少的类别将分配较大的权重,以提高编码模块和解码模块在进行语义分割时的精度:
[0070]ei
=1/log(di)
ꢀꢀꢀ
(17-1)
[0071][0072]
wi=n
×
(l
i-min{l}) (max{l}/li)
ꢀꢀꢀ
(17-3)
[0073]
其中,di表示每个类别在所有标签中占据的像素点数量,ei表示每个类别的像素点数量的对数的权重然后取反,n表示数据集中的类别数;li表示权重ei的l1归一化,li表示由上一个公式计算的每个类别的最终权重,l表示所有类别权重的集合,wi表示经过公式(17-1)-公式(17-2)计算后的权重;
[0074]
(5-3)利用公式(18)对步骤(5-1)计算出的loss值赋予步骤(5-2)中计算出的与该loss值相对应的权重,以便进行下一次迭代。
[0075]
lossi=lossi*wiꢀꢀꢀ
(18)
[0076]
当本方法迭代到公式(16)中的loss值不再下降,同时防止出现过拟合问题,迭代次数应当不小于300次时,解码模块输出的特征图信号连接到语义分割预测模块,否则连接到本模块。
[0077]
(6)由语义分割预测模块对由步骤(4)解码模块输出的特征图信号f
output
进行预测显示:
[0078]
解码模块输出的特征图信号f
output
不再经过权重分配模块,而是利用双线性插值公式(公知),如式(19)所示,将语义分割预测模块的接收到的解码模块输出的特征图信号f
output
放大至原图尺寸,从而得到语义分割预测结果:
[0079][0080]
其中,x、y分别为未知像素点的横、纵坐标,f(q
11
)、f(q
21
)、f(q
12
)、f(q
22
)均为已知像素点的像素值,x1、x2、y1、y2分别为已知像素点的横纵坐标,最终输出的f(x,y)表示未知像素点的像素值;通过使用双线性插值的方法,即可依次计算出语义分割预测模块接收到的只有1/4原图尺寸的特征图信号放大至与原图相等尺寸时所有像素点的像素值。
[0081]
本发明的工作原理:本发明的目标是解决效率和准确度之间的折衷问题,于是提出了一种有效的多尺度分割融合语义分割网络,该网络使用非对称,多尺度融合编解码结构进行实时语义分割。该网络由三部分组成,编码模块,解码模块以及类别权重分配模块。在编码模块中,使用带有卷积因子分解功能的模块作为残差层,不仅加快处理过程,并且其中的特征混洗和通道拆分也增加了特征通道中的信息交换。解码模块中,使用了一种多尺度注意力融合模块,从而融合来自不同层的特征,并利用注意力机制来评估每个像素的语义类别。最后,在类别权重分配模块中,为每个类的损失分配不均匀的权重,提升模型的整体准确度。由于是在图像进入编码模块之前以及提前计算好的权重,因此不会消耗任何计算资源。
[0082]
本发明的优越性:基于卷积因子分解和注意力机制的实时语义分割模型,通过在编码模块的残差层中引入组卷积和深度可分离卷积,用以针对标准卷积的参数量庞大的语义分割方法,并且在解码模块中引入注意力机制用以针对实时语义分割模型精度不足的语义分割方法;使用数据集cityscapes中的图像,运算速度能够达到60.6fps,同时精度也能够保持在72.0%miou,在减少参数量的同时对分割精度具有显著的提升;结构简单、容易实现,具有一定的实用价值。
【附图说明】
[0083]
图1为本发明所涉一种基于深度学习和权重分配的实时语义分割方法中的方法结构图。
[0084]
图2为本发明所涉一种基于深度学习和权重分配的实时语义分割方法中的编码-解码模块结构图。
[0085]
图3为本发明所涉一种基于深度学习和权重分配的实时语义分割方法中的编码模块结构图。
[0086]
图4为本发明所涉一种基于深度学习和权重分配的实时语义分割方法中编码模块的残差层结构图。
[0087]
图5为本发明所涉一种基于深度学习和权重分配的实时语义分割方法中解码模块的多尺度注意力融合单元结构图。
[0088]
图6为本发明所涉一种基于深度学习和权重分配的实时语义分割方法中多尺度注意力融合单元中的注意力聚合单元结构图。
[0089]
图7为本发明的一种实施例中数据预处理前后的图像对比示意图(其中,图7-a为输入图像,图7-b为处理后的图像)。
[0090]
图8为本发明的一种实施例中预测的图像对比示意图(其中,图8-a为数据采集模块采集到的图像、图8-b为权重分配模块要与解码模块输出的特征图进行loss计算的标签图像、图8-c为经过本发明所有模块处理后的预测结果图像。并且预测结果中以红绿蓝三原色值表示预测结果,即(102,102,156)表示墙、(128,64,128)表示道路、(244,35,232)表示人行道、(70,70,70)表示建筑物、(190,153,153)表示栅栏、(153,153,153)表示竿、(250,170,30)表示红绿灯、(220,220,0)表示交通标志、(107,142,35)表示植被、(152,251,152)表示地形、(70,130,180)表示天空、(220,20,60)表示行人、(255,0,0)表示骑手、(0,0,142)表示汽车、(0,0,70)表示卡车、(0,60,100)表示公共汽车、(0,0,230)表示摩托车、(119,11,32)表示自行车、(0,80,100)表示火车)。
【具体实施方式】
[0091]
实施例:一种基于深度学习和权重分配的实时语义分割系统,如图1所示,其特征在于它包括以下模块:数据采集模块、数据预处理模块、编码模块、解码模块、权重分配模块和语义分割预测模块;其中,所述数据采集模块对输入图像信号进行采集,并将其输出给数据预处理模块的输入端;所述编码模块的输入端接收数据预处理模块的输出端发出的处理后图像信号,其输出端输出特征图信号,并输出给解码模块的输入端;所述解码模块的输入端接收编码模块的输出端输出的特征图信号,并输出给权重分配模块或语义分割预测模块;所述权重分配模块的输入端接收解码模块输出端输出的特征图信号,并将处理后的预测结果信号反馈到编码模块;所述语义分割预测模块的输入端接收解码模块输出端输出的特征图信号,并输出最终的预测结果。
[0092]
一种基于深度学习和权重分配的实时语义分割方法,其特征在于它包括以下步骤:
[0093]
(1)由数据采集模块对cityscapes数据集的待识别图片进行图像信息采集,并输出图像信号连接到数据处理模块,对图像进行预处理;其中中的cityscapes数据集中包含5000张图片,其中2975张图片用于模型训练,500张图片用于验证,1525张图片用于测试;所述cityscapes数据集具有19个类别的密集像素标注,分别是道路,人行道,墙,栅栏,竿,交通标志,红绿灯,植被,天空,地形,骑手,汽车,卡车,公交汽车,火车,摩托车,自行车,建筑物,行人;
[0094]
(2)数据预处理模块对步骤(1)数据采集模块采集到的图片进行预处理,输出图像信号f,利用归一化公式(1)将0~255区间的像素点的图像转换为0~1区间的像素点的图像,使编码模块能够在训练时接收到0~1区间的图像,并能使输入到编码模块内的图像经过训练后可与标签图像计算损失后迭代;
[0095][0096]
其中xi表示图像像素点值,max(x),min(x)分别表示图像像素值的最大与最小值;
[0097]
(3)由编码模块对由步骤(2)得到的图像信号f进行处理,分别生成两个特征图信号,即:特征图信号和特征图信号编码模块是由3个下采样层和13个残差层组成的16层残差网络结构,分别是在第5个残差层输出的特征图信
号和第13个残差层输出的特征图信号如图2、图3所示;所述编码模块的第一个下采样层输入端连接数据预处理模块的输出端,接收一个图像信号,其输出端连接编码模块的第一个残差层;所述第一个残差层输入端连接第一个下采样层的输出端,接收经第一个采样层处理过的一组特征图信号,其输出端连接第二个残差层;所述第二个残差层输入端连接第一个残差层的输出端,接收经第一个残差层处理后的一组特征图信号,其输出端连接第三个残差层;所述第三个残差层输入端连接第二个残差层的输出端,接收经第二个残差层处理后的一组特征图信号,其输出端连接第二个下采样层;所述第二个下采样层输入端连接第三个残差层的输出端,接收经第三个残差层处理后的一组特征图信号,其输出端连接第四个残差层;所述第四个残差层输入端连接第二个下采样层的输出端,接收经第二个采样层处理后的一组特征图信号,其输出端连接第五个残差层;所述第五个残差层输入端连接第四个残差层输出端,接收经第四个残差层处理后的一组特征图信号,其输出端有两个,分别将输出一组特征图信号,一端连接第三个下采样层的输入端,另一端输出特征图信号连接到解码模块;所述第三个下采样层输入端连接第五个残差层的输出端,接收经第五个残差层处理后的一组特征图信号,其输出连接第六个残差层;所述第六个残差层输入端连接第三个下采样层的输出端,接收经第三个下采样层处理后的一组特征图信号,其输出端连接第七个残差层;所述第七个残差层的输入端连接第六个残差层的输出端,接收经第六个残差层处理后的一组特征图信号,其输出端连接第八个残差层;所述第八个残差层的输入端连接第七个残差层的输出端,接收经第七个残差层处理后的一组特征图信号,其输出端连接第九个残差层;所述第九个残差层的输入端连接第八个残差层的输出端,接收经第八个残差层处理后的一组特征图信号,其输出端连接第十个残差层;所述第十个残差层输入端连接第九个残差层的输出端,接收经第九个残差层处理后的一组特征图信号,其输出端连接第十一个残差层;所述第十一个残差层输入端连接第十个残差层的输出端,接收经第十个残差层处理后的一组特征图信号,其输出端连接第十二个残差层;所述第十二个残差层输入端连接第十一个残差层的输出端,接收经第十一个残差层处理后的一组特征图信号,其输出端连接第十三个残差层;所述第十三个残差层输入端连接第十二个残差层的输出端,接收经第十二个残差层处理后的一组特征图信号,其输出端输出一组特征图信号并连接到解码模块;其中,所述下采样层,特征图信号每次进入下采样层,输出的特征图信号都会减少至输入的特征图信号的二分之一;其中,所述残差层是由通道拆分、组卷积、带空洞率的深度可分离卷积、特征图级联和通道混洗操作组成,如图4所示,是一种新型的残差层,以此达到减少编码模块计算时所需的参数量的目的;
[0098]
编码模块的第五个残差层输出的特征图信号包含最初输入的图像的空间信息,所述第十三个残差层输出的特征图信号包含最初输入的图像的语义信号;且该空间信息和语义信号送入解码模块后能够提升语义分割的精度;如图4所示,实施例中,输入图像信号经过13个残差层中每个残差层时会经过通道拆分、组卷积、带空洞率的深度可分离卷积、特征图级联和通道混洗,具体过程如下:
[0099]
(3-1)由公式(2)对由步骤(2)得到的图像信号进行通道拆分,并将读取到的特征图信号的特征通道个数记为c,将输入的特征图信号拆分为两个具有c/2个特征通道的特征
图信号,得到特征图信号f1和特征图信号f2:
[0100]
[f1,f2]=split2(f)
ꢀꢀꢀ
(2)
[0101]
其中,split2表示将输入的特征图信号以第2维进行拆分,f表示输入的特征图信号;特征通道个数c的区间为3至256,本实施例中最佳数据为输入图像的c=3,第一层至第四层c=64,第五层至第七层c=128,第八层至第十六层c=256。
[0102]
(3-2)由公式(3)对步骤(3-1)中经过通道拆分后的两个特征图信号分别进行组卷积处理,得到特征图信号和特征图信号由于经过通道拆分,两个组卷积计算所需的参数量相较标准卷积将减少1/2,
[0103][0104]
其中,conv
1*k
(conv
k*1
())与conv
k*1
(conv
1*k
())表示为组卷积,f1与f2表示步骤(3-1)中输出的两个特征图信号;
[0105]
(3-3)由公式(4)对步骤(3-2)中经过组卷积处理后的两个特征图信号和特征图信号进行特征图级联,以保证特征图信号通道不变,便于输出到带空洞率的深度可分离卷积进行处理,得到特征图信号f
concat

[0106][0107]
其中,concat2()表示将输入的两个特征图信号以第2维进行级联;
[0108]
(3-4)由公式(5)对步骤(3-3)中经过特征图级联后的特征图信号f
concat
进行带空洞的深度可分离卷积处理,得到处理后的特征图信号f
depthpoint
,即:
[0109]fdepthpoint
=relu(pointwise(depthwise
i*2
(relu(pointwise(depthwisei(f
concat
))))))
ꢀꢀꢀ
(5)
[0110]
其中,relu表示激活函数,pointwise表示逐点卷积,depthwisei表示带有i个空洞率的深度卷积;由pointwise和depthwisei组成带空洞率的深度可分离卷积;
[0111]
(3-5)由公式(6)对步骤(3-4)中经过带空洞率的深度可分离卷积处理后的特征图信号f
depthpoint
进行通道混洗,以达到特征图信号中的特征复用效果,得到特征图信号f
output

[0112]foutput
=shuffle2(f)
ꢀꢀꢀ
(6)
[0113]
其中,shuffle2表示对输入的特征图信号按第2维进行混洗;
[0114]
(4)由解码模块对由编码模块输出的特征图信号和特征图信号进行处理后融合;其中,解码模块是使用具有注意力机制和全局平均池化结构的多尺度融合单元,是由注意力聚合单元i、注意力聚合单元ii、全局平均池化单元、3*3卷积层单元和特征级联单元构成;所述注意力聚合单元i的输入端接收由编码模块的第七层输出的特征图信号,其输出端与特征级联单元的输入端连接;所述注意力聚合单元ii的输入端、全局平均池化单元的输入端及3*3卷积层单元的输入端分别接收由编码模块第十六层输出的特征图信号;所述全局平均池化单元的输出端的输出信号与注意力聚合单元ii的输出端的输出信号叠加后,共同送入特征级联单元;所述3*3卷积层单元的输出端的输
出信号与特征级联单元的输出端的输出信号进行点乘后生成输出特征图信号;该模块利用注意力机制和全局平均池化操作对编码模块输出的两个特征图信号处理后,进行多尺度融合,以达到减少解码模块计算时所需的参数量和提升解码模块在进行语义分割时的精度的目的。
[0115]
如图6所示,所述注意力聚合单元i和注意力聚合单元ii是同一种结构,由组卷积和注意力机制构成;所述注意力聚合单元i的组卷积输入端连接编码模块第五个残差层,接收经第五个残差层处理后的特征图信号,其输出端连接注意力聚合单元i的注意力机制;所述注意力聚合单元i的注意力机制的输入端连接组卷积,接收经组卷积处理后的特征图信号,其输出端连接特征图级联;所述注意力聚合单元ii的组卷积输入端连接编码模块的第十三个残差层,接收经第十三个残差层处理后的特征图信号,其输出端连接注意力聚合单元ii的注意力机制;所述注意力聚合单元ii的注意力机制的输入端连接注意力聚合单元i的组卷积,接收经组卷积处理后的特征图信号,其输出的特征图信号与全局平均池化输出的特征图信号进行相加。
[0116]
如图5所示,实施例中,所述步骤(4)中的特征图信号和特征图信号将分别进入多尺度融合单元,处理过程由以下步骤构成:
[0117]
(4-1)对编码模块输出的两个特征图信号进行注意力机制处理,以提升解码模块进行语义分割时的精度:
[0118]
(4-1-1)由公式(7)对编码模块输出的特征图信号和特征图信号进行通道拆分,得到原图尺寸1/8的通道拆分特征图信号和特征图信号以及原图尺寸1/4的通道拆分特征图信号和特征图信号以便后续组卷积对特征图信号特征图信号特征图信号和特征图信号进行处理,达到减少参数量的目的:
[0119][0120]
其中,和为编码模块输出的两个特征图信号,分别为原图尺寸1/8时输出的特征图信号以及原图尺寸1/4时输出的特征图信号split2表示对特征图信号进行通道拆分;
[0121]
(4-1-2)由公式(8-1)-公式(8-4)对步骤(4-1-1)中通道拆分后的特征图信号特征图信号特征图信号和特征图信号进行组卷积处理,得到特征图信号和由于经过通道拆分,两个组卷积计算所需的参数量相交标准卷积将减少1/2:
[0122]
[0123][0124][0125][0126]
其中,conv
1*k
(conv
k*1
())与conv
k*1
(conv
1*2
())表示为组卷积;
[0127]
(4-1-3)由公式(9)对经过组卷积处理后的特征图信号和两两对应相加,便于后续进行注意力机制处理,得到特征图信号f
1/8add
和f
1/4add

[0128][0129]
(4-1-4)由公式(10-1)和公式(10-2)对相加过后的f
1/8add
和f
1/4add
进行注意力机制(公知)处理,得到特征图信号和特征图信号由于在(4-1-3)中采取的是特征图信号相加策略,因此此处注意力机制计算所需的参数量将减少1/2,同时利用注意力机制还可以提升解码模块在进行语义分割时的精度:
[0130][0131][0132]
其中,和为编码模块输出的两个特征图信号,分别为原图尺寸1/8时输出的特征图信号以及原图尺寸1/4时输出的特征图信号avgpool表示全局平均池化,conv
1*1
表示1*1卷积,batchnorm表示批次规范化,relu表示激活函数,f
1/8add
和f
1/4add
表示(4-1-3)中两两相加后的特征图信号;
[0133]
(4-2)利用公式(11)对编码模块输出的原图尺寸1/8的特征图信号进行全局平均池化处理,以达到后续与(4-1-4)中输出的特征图信号进行多尺度融合的目的;得到特征图信号
[0134][0135]
其中表示编码模块输出的原图尺寸1/8的特征图信号,avgpool表示全局平均池化;
[0136]
(4-3)利用公式(12)对编码模块输出的特征图信号进行3*3卷积处理,得到特征图信号以达到与步骤(4-5)输出的特征图信号f
concat
进行多尺度融合的目的;
[0137][0138]
(4-4)利用公式(13)对步骤(4-1-4)输出的特征图信号和步骤(4-2)输出的特征图信号相加,得到特征图信号以达到提升解码模块进行语义分割时的精度的目的;
[0139][0140]
(4-5)利用公式(14)对步骤(4-4)得到的特征图信号和步骤(4-1-4)得到特征图信号进行特征图级联操作,以达到多尺度融合的目的,不仅可以提升解码模块进行语义分割时的精度还可以减少解码模块计算时所需的参数量,最后得到经过特征图级联后的特征图信号f
concat

[0141][0142]
其中,concat表示特征图级联;
[0143]
(4-6)利用公式(15)对步骤(4-5)得到的特征图信号f
concat
与步骤(4-3)得到的特征图信号进行点乘处理,得到解码模块的最终输出特征图信号f
output
,并且在实施例中特征图信号f
output
具有19个通道的特征图信号,以便后续在权重分配模块与标签图像计算loss值或在语义分割预测模块计算语义分割预测结果;
[0144][0145]
(5)由权重分配模块对步骤(4)解码模块输出的特征图信号f
output
与标签图像计算后的loss值进行赋予权重,以进行下一次迭代;权重分配模块是利用权重分配公式计算所得的权重分配给图像中相应类别的loss值的模块,以达到提升编-解码模块在进行语义分割时的精度的目的;
[0146]
(5-1)利用交叉熵损失函数公式(16)对编码模块输出的特征图信号f
output
与数据集的标签图像进行loss值计算,得到特征图信号中每个类别的loss值:
[0147][0148]
其中,p(f
output
)为真实像素点概率分布,q(f
output
)为预测像素点概率分布,m表示图像个数,n表示图像中类别的个数,i表示当前第i个图像,j表示当前第j个类别;
[0149]
(5-2)利用权重分配公式(17-1)-公式(17-3)计算步骤(1)的数据集cityscapes图像中的每个类别占用的像素点个数计算每个类别的权重,且像素点少的类别将分配较大的权重,以提高编码模块和解码模块在进行语义分割时的精度:
[0150]ei
=1/log(di)
ꢀꢀꢀ
(17-1)
[0151][0152]
wi=n
×
(l
i-min{l}) (max{l}/li)
ꢀꢀꢀ
(17-3)
[0153]
其中,di表示每个类别在所有标签中占据的像素点数量,ei表示每个类别的像素点数量的对数的权重然后取反,n表示数据集中的类别数;li表示权重ei的l1归一化,li表示由上一个公式计算的每个类别的最终权重,l表示所有类别权重的集合,wi表示经过公式(17-1)-公式(17-2)计算后的权重;
[0154]
(5-3)利用公式(18)对步骤(5-1)计算出的loss值赋予步骤(5-2)中计算出的与该loss值相对应的权重,以便进行下一次迭代。
[0155]
lossi=lossi*wiꢀꢀꢀ
(18)
[0156]
当本方法迭代到公式(16)中的loss值不再下降(公知),同时防止出现过拟合问题,迭代次数应当不小于300次时,解码模块输出的特征图信号连接到语义分割预测模块,否则连接到本模块。
[0157]
(6)由语义分割预测模块对由步骤(4)解码模块输出的特征图信号f
output
进行预测显示:
[0158]
解码模块输出的特征图信号f
output
不再经过权重分配模块,而是利用双线性插值公式(公知),如式(19)所示,将语义分割预测模块的接收到的解码模块输出的特征图信号f
output
放大至原图尺寸,从而得到语义分割预测结果:
[0159][0160]
其中,x、y分别为未知像素点的横、纵坐标,f(q
11
)、f(q
21
)、f(q
12
)、f(q
22
)均为已知像素点的像素值,x1、x2、y1、y2分别为已知像素点的横纵坐标(此处为公知解释),最终输出的f(x,y)表示未知像素点的像素值;通过使用双线性插值的方法,即可依次计算出语义分割预测模块接收到的只有1/4原图尺寸的特征图信号放大至与原图相等尺寸时所有像素点的像素值。
[0161]
如图7-c所示,可以看见本方法成功将图片分为了19个不同的语义类别,实现了语义分割的预测;并且基于深度学习和权重分配的实时语义分割方法的贡献在于编-解码模块减少大量计算时所需的参数量,增加了本方法在进行语义分割时的处理速度;解码模块和权重分配模块提升了本方法在进行语义分割时的精度,从而得到更好的语义分割预测效果。
[0162]
本实施例利用python3语言和pytorch1.5等框架构建基于深度学习和权重分配的实时语义分割方法,分割的主要目标是图像中对每个类别的分割精度,速度,参数量。具体实施方式如下:
[0163]
数据采集模块:从https://www.cityscapes-dataset.com/获取cityscapes数据集。
[0164]
数据预处理模块:本模块对输入图像进行数据增强,其中包括水平翻转,垂直翻转,裁切,放大等方法。如图7-b所示,对输入图像进行归一化操作,将0~255区间的像素点转换为0~1区间的像素点,以便加快网络的学习速度,使得所有输入样本的均值接近于0或与其均方差相比很小。最后,输出3通道的512*1024像素的图像
[0165]
编码模块:如图3中编码模块所示,输入的预处理后的图像首先经过一个下采样
层,3通道510*1024像素的图像变为32通道256*512像素的特征图。随后经过三个具有通道拆分,深度可分离卷积和通道混洗的残差层,此时通道数与像素尺寸保持不变,此处残差层的作用是提取足够丰富的语义信息以供后续模块进行处理。再经过一个下采样层,特征图变为64通道128*256像素的特征图,相同的两个残差层操作对特征图进行处理。经过最后一个下采样层,特征图变为128通道64*128像素的特征图,相同的八个残差块操作对特征图进行处理,提取语义信息。并且在第七层和最后一层同时输出一个特征图,尺寸通道保持不变,以供后续模块进行多尺度融合。最后,输出64通道的128*256像素的特征图和128通道的64*128像素的特征图。
[0166]
表1编码模块测试结果
[0167]
方法参数(m)速度(fps)gflopsmiou(%)非瓶颈单元0.94m7111.569.2本发明0.79m7410.269.8
[0168]
其中,以轻量级编解码网络的分割-混洗-非瓶颈单元作为骨干网络进行对比,本发明的参数量(params)为0.79m、计算量(gflps)为10.2、速度(fps)为74、准确率(miou)为69.8%。由表1可见本发明的编码模块中的编码模块都优于非瓶颈单元组成的编码模块。
[0169]
解码模块:如图5所示,解码模块接收来自编码模块的两个特征图,分别对其进行注意力聚合处理,即进入注意力聚合单元,如图6所示,将通道进行拆分分别经过一组(1xk,kx1或kx1,1xk)一维卷积组操作。再将输出的特征图进行相加,以保持特征图的通道数不变。随后经过两个分支,其中上分支是计算全局平均池化,求得一个通道数相同1*1像素的注意力点。与特征图进行点乘操作,即以注意力机制评估每个点的语义信息。最后,特征图再与原始特征图进行残差链接,加速网络训练的同时,提升特征的复用性。
[0170]
其中,如图5所示,1/8原图大小的特征图不仅需要经过注意力聚合单元,还有两个分支操作需要处理,上分支为全局平均池化,随后上采样至原图的1/8以便后续与特征图进行求和操作。下分支为一个3*3的卷积操作,并且将尺寸上采样至原图的1/4,以便最后与特征图进行点乘。
[0171]
如图5所示,1/8原图大小的特征图经过注意力聚合单元后,与上分支进行全局平均池化后的特征图进行相加,再上采样至原图的1/4,与1/4原图大小的特征图经过注意力聚合单元后输出的特征图进行“concat”操作。此时特征图的通道数为128,像素尺寸为128*256。最后与下分支输出的特征图进行点乘操作后。最后,输出128通道的128*256像素的特征图。
[0172]
表2多尺度注意力融合模块的消融实验
[0173][0174][0175]
其中,模型a是表1中没有使用权重分配的最终结果,模型b是去除1/4节点分支的单尺度注意力模块最终结果。模型c是同时使用1/4特征图和1/8特征图的多尺度注意力融
合模块最终结果。
[0176]
权重分配模块:此时接收来自解码模块的128通道128*256像素的特征图,需要对齐进行通道整理以及上采样,使用一个卷积将通道数变为19,再使用双线性插值进行上采样至原图大小。输出与数据标签进行loss计算,此处我们选择的是交叉熵损失函数。计算之后得到19个类损失数值,此时我们将公式(1)(2)(3)中计算好的每个类的权重分配给相对应的损失,参与到反向传播中,提升网络的整体精度。
[0177]
表3整体模型的消融实验
[0178]
方法参数(m)速度(fps)gflpsmiou(%)模型a0.79m7410.269.8模型b1.53m6919.470.9模型c17.2m6029.771.5
[0179]
其中,模型a是仅使用编码模块的网络最终结果,模型b是未使用权重分配模块的整体网络结构的最终结果。模型c是使用了权重分配模块的整体网络结构的最终结果。
[0180]
语义分割预测模块:利用公式(4)语义分割最常用的所有类别和类别的均值相交(miou)来估计模型的分割精度,并且使用公式(5)计算参数量大小(flops),并利用1080ti显卡评估速度(fps)。从表3可知本网络的miou为72.0%,参数量为29.7gflops,fps为60。由此可以看出本发明中,即在编码模块的残差层中使用通道拆分、深度可分离卷积和通道混洗操作,解码模块中使用多尺度注意力融合模块以及权重分配方案均是有效的,并且达到了在实现效率和保持准确度上相对优秀的平衡。
[0181]
预测结果对比:如图8-a所示,输入图像为真实城市街景图像并且本发明的输入通道数是3,即红绿蓝三原色。图8-b和图8-c为数据集标签和最终的预测结果,考虑到图片中总共有19个类别,需要对每个类别进行区分,因此使用不同的颜色绘制相应类别。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献