您的当前位置:首页正文

(一)STDCNet源码解读

2024-11-30 来源:个人技术集锦


欢迎访问个人网络日志????


1.简介

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。根据源码,从网络输出的角度整理出来的网络结构如下图:

显示全文