深度学习之 RefineNet

网络结构:

RefineNet block的作用就是把不同resolution level的feature map进行融合。网络结构如下:

最左边一栏就是FCN的encoder部分(文中是用的ResNet),先把pretrained ResNet按feature map的分辨率分成四个ResNet blocks,然后向右把四个blocks分别作为4个path通过RefineNet block进行融合refine,最后得到一个refined feature map(接softmax再双线性插值输出)。

注意除了RefineNet-4,所有的RefineNet block都是二输入的,用于融合不同level做refine,而单输入的RefineNet-4可以看作是先对ResNet的一个task adaptation。

RefineNet Block

接下来仔细看一下RefineNet block,可以看到主要组成部分是Residual convolution unit, Multi-resolution fusion, Chained residual pooling, Output convolutions. 切记这个block作用是融合多个level的feature map输出单个level的feature map,但具体的实现应该是和输入个数、shape无关的。

Residual convolution unit就是普通的去除了BN的residual unit;

Multi-resolution fusion是先对多输入的feature map都用一个卷积层进行adaptation(都化到最小的feature map的shape),再上采样再做element-wise的相加。注意如果是像RefineNet-4那样的单输入block这一部分就直接pass了;

Chained residual pooling中的ReLU对接下来池化的有效性很重要,还可以使模型对学习率的变化没这么敏感。这个链式结构能从很大范围区域上获取背景context。另外,这个结构中大量使用了identity mapping这样的连接,无论长距离或者短距离的,这样的结构允许梯度从一个block直接向其他任一block传播。

Output convolutions就是输出前再加一个RCU。

相关推荐
极客小云3 分钟前
【手搓神经网络:从零实现三层BP神经网络识别手写数字】
人工智能·深度学习·神经网络
墨北小七3 分钟前
从记忆到创作:LSTM如何赋能智能小说生成
人工智能·rnn·lstm
乾元4 分钟前
现场运维机器人的工程化落地——移动探针采集 + AI 诊断,在真实网络中的实现路径
运维·网络·人工智能·架构·机器人·自动化
AgentBuilder9 分钟前
768维的谎言:SOTA视觉模型为何输给7个数字?
人工智能·程序员
杭州龙立智能科技14 分钟前
专业的厂内运输车智能化厂家
大数据·人工智能·python
Bug改不动了19 分钟前
在 Ubuntu 上用 Python 3.8 + RTX 4090 安装 Detectron2 完整指南
人工智能·深度学习
2501_9361460420 分钟前
工业零件视觉识别与定位系统_基于cascade-rcnn的实现
人工智能·深度学习·计算机视觉
龙山云仓21 分钟前
No:119:莎士比亚&AI:智能的语言创造、心理戏剧与人性图谱
人工智能·microsoft
9号达人23 分钟前
AI最大的改变可能不是写代码而是搜索
java·人工智能·后端
oioihoii24 分钟前
AI 技能工程入门:从独立能力到协作生态
人工智能