您现在的位置: 主页 > 大众心水论坛 >

大众心水论坛

目标检测新突破!来了解Res2Net深度多尺度目标检测架构

  正如谷歌大脑的论文EfficientNet中展示的那样,在CNN架构各个方面(宽度,深度,分辨率)的探索所带来的的回报正在急剧减少。

  然而,Gao, Cheng, Zhao等人的一篇新论文(Res2Net:一个新的多尺度主干结构,)表明给定块中的多尺度或尺度缩放(而不是通常意义上的逐层缩放)是一个未被探索的领域,尤其是在目标识别和分割方面将会有额外的收获。

  大多数结构在层级基础上缩放尺度。而他们的创新之处在于在给定冗余块中使用了分层级联特征组(称为“缩放层”),取代了通常的单个3×3卷积核。

  采用和未采用Res2Net块的ResNet50得到的Grad-CAM激活映射(或热图)对比。注意到使用Res2Net后目标覆盖程度有所提高。

  为此,他们重建了常见的ResNet结构中的瓶颈块,并且用一个“4缩放层-(3 ×3)”的冗余、分层结构取代了标准的1-3-1CNN布局。这一个改变也因此创造出“Res2Net”。中间主要的卷积操作也因此从单分支转移到多分支。

  这里的概念是通过增加块内的感受野,而不是更细粒度级别的一层一层捕获图像不同尺度,来提高CNN检测和管理图像中目标的能力。

  作者将Res2Net块内的特征组数量称为“缩放维度”。因此上面的块是一个缩放维度为4的Res2Net块。

  这些Res2Net模块将被移植到标准ResNet或ResNeXt卷积神经网络中,从而提高网络的细粒度。

  Res2Net改进的目标识别能力在不同类型分割任务中发挥了重要作用。下面是语义分割图像任务中的比较:

  正如你在上面所看到的,在瓶颈中引入scale维度可以帮助CNN更好地勾勒出图像中感兴趣的内容,从而提高整体的准确性。

  对ImageNet的改进 — 唯一的变化是在特定的架构中切换到Res2Net块。

  然而,我发现Res2Net的官方实现在多个方面都属于较老的ResNet风格。因此,我从github @frgfm(,基于github @gasvn)获取Res2Net实现,并将其修改为以下内容:

  1 - 使用Mish代替ReLU进行激活(有关原因,请查看我在Mish上的文章:)

  “我们不应该把批量归一化放在ReLU之前,因为ReLU的非负响应会使权重层以次优的方式更新……”

  在咨询工作中,我做了一个能够从卫星图像检测太阳能电池板的检测器,我建立了一个Res2NetPlus50模型,并从头开始训练,然后将其与标准Imagenet预先训练的ResNet50模型进行比较, ResNet50只训练头部 。我发现Res2Net50具有更高的精度(+5%),训练更加稳定。

  虽然Res2Net 具有与 ResNet 类似等效的计算复杂性,但仍比 ResNet 运行速度慢(似乎约为平均值的20%)。

  此外,对于 FastAI 排行榜数据集等分类任务,Res2Net 会设置验证和训练损失记录(即准确时更加准确,错误时错误更少),但最终绝对精度较低。

  这一个问题我没有想出如何纠正,除了假设一些分类任务可能不会严重依赖全目标区分。

  一个小建议——Res2Net更偏爱高级数据增强方法如MixUp,CutMix等。你可以看到当使用这些方法时,验证损失急剧下降,긴檄눈펜SF 섟珂黛+뼙拳223等척딧?。所以强烈建议使用Res2Net时加上大量的数据增强方法。