资源技术动态Res2Net深度多尺度目标检测架构

Res2Net深度多尺度目标检测架构

2019-10-15 | |  109 |   0

原标题:https://www.leiphone.com/news/201910/lmQrxjj65N4ZWT0n.html

来源:AI研习社        链接:https://www.yanxishe.com/TextTranslation/2161


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


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


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

1571105027411198.png1571105071271183.png

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


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


图表说明:

1571105130540805.png

图2:瓶颈块和提出的Res2Net模块比较(缩放维度s=4)


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


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


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


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


1571105208925075.png

ResNet101和Res2Net101-Res2Net块的细粒度提高了分割的结果。(GT=真值)



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


1571105247988780.png

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

1571105277111976.png

Res2Net的github在这里:https://github.com/gasvn/Res2Net


为Res2Net = Res2NetPlus更新ResNet


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

1  -  使用Mish代替ReLU进行激活(有关原因,请参阅我在Mish上的文章)
2  -  将ResNet的主干更改为最先进的 3 @ 3x3 堆栈主干 (stride 2, stride 1, stride 1),而不是较旧的单个7x7内核。

3  -  将“BN->激活”的顺序颠倒为“激活-> BN”的顺序。 这基于我们对FastAI研究的发现(感谢 Ignacio Oguiza),并获得腾讯的论文“Rethinking the usage of Batchnorm…  ”的支持:

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

点击查看PyTorch的代码:https://github.com/lessw2020/res2net-plus


使用时非常简单的:

1571105330715953.png

在FastAI 框架中使用 Res2Net Plus(创建维度为4,宽度为26 的 Res2Net50)


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

最终,该模型于上周投入实际工作,验证数据准确率为97.8%。
初始生产结果与训练结果一致:

1571105405383584.png


缺点:

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

此外,对于 FastAI 排行榜数据集等分类任务,Res2Net 会设置验证和训练损失记录(即准确时更加准确,错误时错误更少),但最终绝对精度较低。
这一个问题我没有想出如何纠正,除了假设一些分类任务可能不会严重依赖全目标区分。
因此,Res2Net 的最佳用法似乎侧重于目标识别和任务分割类型。


一个建议——Res2Net更偏爱高级数据增强方法如MixUp,CutMix等。你可以看到当使用这些方法时,验证损失急剧下降,所以强烈建议使用Res2Net时加上大量的数据增强方法。

链接:

Res2Net官方仓库:

https://github.com/gasvn/Res2Net

Res2NetPlus结构:

https://github.com/lessw2020/res2net-plus


作者@Less Wright

发起:Pita 校对:McDonald's 审核:潘妮•奥尔科

参与翻译(3人): 天字一号、Pita、溪客

英文原文:Res2Net: New deep learning multi-scale architecture, for improved object detection with existing backbones

THE END

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:OpenCV-Python速查:从载入图片到人脸识别

下一篇:Hypercolumn(实例分割)

用户评价
全部评价

热门资源

  • 应用笔画宽度变换...

    应用背景:是盲人辅助系统,城市环境中的机器导航...

  • GAN之根据文本描述...

    一些比较好玩的任务也就应运而生,比如图像修复、...

  • 端到端语音识别时...

    从上世纪 50 年代诞生到 2012 年引入 DNN 后识别效...

  • 人体姿态估计的过...

    人体姿态估计是计算机视觉中一个很基础的问题。从...

  • 谷歌发布TyDi QA语...

    为了鼓励对多语言问答技术的研究,谷歌发布了 TyDi...