欢迎访问个人网络日志????
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
可以减少推理时的计算量。
如上图,网络的backbone
包含5
个stage
,第i
个stage
的输出feature map
的尺寸是原来的
1
2
i
\frac{1}{2^i}
2i1,satge 4&5
输出的feature map
经过ARM(Attention Refine Module)
之后包含更多的语义信息,组成context path
,前3
个stage
输出的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 truth
做stride=[1,2,4]
的Laplacian Convolution
,将不同size的卷积结果再stack
到一起,经过3个可训练的1x1
的卷积后得到Detail Ground Truth
用来计算Detail Loss
。根据源码,从网络输出的角度整理出来的网络结构如下图: