(一)STDCNet源码解读

本文详细介绍STDCNet(Short Term Dense Concatenate Network)网络结构及其在实时语义分割任务中的应用。文章涵盖网络的设计理念,包括Detail Guidance辅助训练、Short Term Dense Concatenate模块、Attention Refine Module、Feature Fusion Module等内容,并探讨了网络的训练策略与评估方法。


欢迎访问个人网络日志🌹🌹知行空间🌹🌹


1.简介

论文地址:https://arxiv.org/abs/2104.13188

仓库地址:https://github.com/MichaelFan01/STDC-Seg

STDCMNet(Short Term Dense Concatenate Network)网络是美团2021年04月27号提交的论文Rethinking BiSeNet For Real-time Semantic Segmentation中提出的轻量级语义分割网络,该网络是在BiSeNet v1/v2基础上的升级改进。STDCNet主要贡献有两点,一方面是对骨干网络backbone的改进,改成了Dense Concatenate的模块结构,同一个STDC模块中,每个ConvX随着感受野的变大输出的通道数逐渐变少,最后再Concatenate到一起,因此包含更多的特征尺度信息。另一方面是多分支低阶细节信息辅助训练结构,detail information guidance结构只在训练的时候使用,网络训练完成后可以直接舍弃,这种方法相对于之前的BiSeNnet可以减少推理时的计算量。

2.网络结构

在这里插入图片描述

如上图,网络的backbone包含5stage,第istage的输出feature map的尺寸是原来的 1 2 i \frac{1}{2^i} 2i1,satge 4&5输出的feature map经过ARM(Attention Refine Module)之后包含更多的语义信息,组成context path,前3stage输出的feature map包含更多的图像细节信息,两者特征融合经SegHead后直接向上最近邻resize输出最终的分割图。Seg Loss使用的是OhemLoss。网络对于低层stage使用Detail Loss做训练,以提升低层stage feature map提取图像细节信息的能力。对于前3个stage输出的feature map使用与SegHead同样结构的Detail Head做处理得到Detail的输出用来计算Detail Loss,**值得注意的是SegHead输出的最终channels数量是分割的类别数,而Detail Head输出的channels数是1,即是边缘的置信度。**计算Detail Loss时,先对ground truthstride=[1,2,4]Laplacian Convolution,将不同size的卷积结果再stack到一起,经过3个可训练的1x1的卷积后得到Detail Ground Truth用来计算Detail Loss。根据源码,从网络输出的角度整理出来的网络结构如下图:

2.1 Detail Guidance

在这里插入图片描述

如上图橙色倒金字塔中表示不同stage卷积输出的feature map,从上到小feature mapsize逐渐变小,channel逐渐变大。在前几个stage输出的feature map尺度更大,包含了更多的图像细节信息,STDCNet的创新之一就是,增加了Detail Guidance Traning分支,训练时对前几个stage输出的特征图计算loss来提升低层卷积对图像细节提取的能力,这一部分如上图中所示,只在训练时有用,在推理时,直接取低层卷积的feature map与包含更多语义信息的高层卷积feature map做融合,相对于BiSeNet减少了推理时的计算量,提升了模型的推理速度。

Detail Guidance辅助训练可以参考图2,其对stage 1/2/3输出的feature 2/4/8来做训练,提升的是模型低层卷积提取图像细节信息的能力,Detail Ground Truth的生成也可参考图2

Detail Guidance是对图像边缘做训练故只有2个类,可以使用二分类交叉熵损失函数,如图中所示,Detail Ground Truth中大部分都是黑色的背景,只有少量的表示边缘的像素,因此是严重的类别不平衡问题

L d e t a i l ( p d , g d ) = L d i c e ( p d , g d ) + L b c e ( p d , g d ) L_{detail}(p_d, g_d)=L_{dice}(p_d, g_d) + L_{bce}(p_d, g_d) Ldetail(pd,gd)=Ldice(pd,gd)+Lbce(pd,gd)
p d , g d p_d,g_d pd,gd分别表示对应像素位置的值,d表示detail,其中,

L d i c e = 1 − 2 ∑ i H × W p d i g d i + ϵ ∑ i H × W ( p d i ) 2 + ∑ i H × W ( g d i ) 2 + ϵ L_{dice} = 1 - \frac{2\sum^{H\times W}_{i}p_d^ig_d^i+\epsilon}{\sum^{H\times W}_{i}(p_d^i)^2+\sum^{H\times W}_{i}(g_d^i)^2+\epsilon} Ldice=1i

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值