YOLO目标检测创新改进与实战案例专栏
专栏目录: YOLO有效改进系列及项目实战目录 包含卷积,主干 注意力,检测头等创新机制 以及 各种目标检测分割项目实战案例
专栏链接: YOLO基础解析+创新改进+实战案例
介绍
摘要
许多当前的研究直接采用多速率深度扩张卷积,以同时从一个输入特征图中捕获多尺度上下文信息,从而提高实时语义分割的特征提取效率。然而,由于不合理的结构和超参数,这种设计可能导致难以获取多尺度上下文信息。为了降低获取多尺度上下文信息的难度,我们提出了一种高效的多尺度特征提取方法,将原来的单步方法分解为两个步骤:区域残差化-语义残差化。在这种方法中,多速率深度扩张卷积在特征提取中扮演了一个简单的角色:在第二步中基于第一步提供的每个简明区域形式的特征图,执行具有一个期望感受野的简单基于语义的形态滤波,以提高其效率。此外,还详细说明了每个网络阶段的扩张率和扩张卷积的容量,以充分利用所有可以实现的区域形式的特征图。相应地,我们分别为高层和低层网络设计了一个新颖的扩张残差(DWR)模块和一个简单反转残差(SIR)模块,并形成了一个强大的DWR分割(DWRSeg)网络。在Cityscapes和CamVid数据集上的大量实验表明,我们的方法通过在准确性和推理速度之间实现最先进的权衡,展示了其有效性,并且重量更轻。在没有预训练或使用任何训练技巧的情况下,我们在Cityscapes测试集上以每秒319.5帧的速度在一张NVIDIA GeForce GTX 1080 Ti显卡上达到了72.7%的mIoU,这超过了最新方法的69.5帧每秒的速度和0.8%的mIoU。代码和训练好的模型已公开可用。
文章链接
论文地址:论文地址
代码地址:代码地址
基本原理
DWRSeg(Dilation-wise Residual Segmentation)是一种用于实时语义分割任务的网络架构,旨在提高特征提取效率和多尺度信息获取能力。以下是关于DWRSeg及其技术原理的详细介绍:
- DWRSeg采用了一种高效的多尺度特征提取方法,将原始的单步方法分解为两步:区域残差化(Region Residualization)和语义残差化(Semantic Residualization)。这种方法利用多率扩张卷积(depth-wise dilated convolutions)在两个步骤中提取特征,以实现更高效的多尺度信息获取。
- DWRSeg设计了一种新颖的Dilation-wise Residual(DWR)模块和Simple Inverted Residual(SIR)模块,分别用于网络的高阶段和低阶段。这些模块具有精心设计的感受野大小,以充分利用各个网络阶段的区域形式特征图。
- DWRSeg的整体架构是基于编码器-解码器结构,包括干扰块、SIR模块的低阶段和两个DWR模块的高阶段。编码器用于特征提取,解码器用于生成最终预测结果,无需辅助监督。
- DWRSeg通过精心调整整个网络的超参数,实现了在准确性和效率之间的最佳平衡。最终,DWRSeg报告了两个版本:DWRSeg-Base(DWRSeg-B)和DWRSeg-Large(DWRSeg-L)。
核心代码
class DWRSeg_Conv(nn.Module):
def __init__(self, in_channels, out_channels, kernel_size=1, stride=1, groups=1, dilation=1):
super().__init__()
self.conv = Conv(in_channels, out_channels, k=1)
self.dcnv3 = DWR(out_channels)
self.bn = nn.BatchNorm2d(out_channels)
self.gelu = nn.GELU()
def forward(self, x):
x = self.conv(x)
x = self.dcnv3(x)
x = self.gelu(self.bn(x))
return x
task与yaml配置
详见: https://blog.csdn.net/shangyanaf/article/details/140336972