当前位置: 首页 > news >正文

详尽 | Deeplabv3+结构理解

https://arxiv.org/pdf/1802.02611.pdf

https://link.springer.com/chapter/10.1007/978-3-319-10578-9_23

目录

Deeplabv3+

Encoder部分

Decoder部分

补充摘要

SPP 空间金字塔池化层模块

Dilated/Atrous Conv 空洞卷积


Deeplabv3+

deeplab-v3+是语义分割网络,组合采用空洞卷积空间金字塔池模块和编码器-解码器结构。

Encoder部分

输入经过backbone骨干网络(图中深度卷积神经网络DCNN Atrous Conv的部分)得到两个输出:一个是low-level feature低级特征,其直接提供给Decoder,这是个output=4x的输出;另一个是high-level feature高级特征,其经过ASPP空间金字塔池模块,这是个output=16x的输出。

  • input stride为进行卷积时候设置的stride值
  • output stride为矩阵经多次卷积池化操作后尺寸缩小的值

high-level feature高级特征经过ASPP空洞卷积空间金字塔池模块的5个不同操作得到5个输出,其中1个1×1卷积,3个不同rate的dilated conv空洞卷积,1个ImagePooling全局平均池化。这5个输出经过concatenate连接层和1×1卷积层得到output stride=16x的输出。

  • ASPP是在SPP的基础上加入Dilated/Atrous Convolution空洞卷积实现的
  • 相比conv,Dilated conv多了一个 hyper-parameter:dilation rate
  • dilation rate指kernel的间隔数,正常conv的dilatation rate为1

  • SPP即空间金字塔池,解决CNN输入图像大小必须固定的问题
  • CNN的第一个全连接层要求固定的输入大小,例如VGG模型要求输入大小224*224
  • SPP能够使得输入图像高宽比和大小任意,有效解决多目标分割等问题。
  • 这里ImagePooling对特征进行全局平均池化之后再上采样到原来大小
  • 卷积可以局部提取特征,ImagePooling可以全局提取特征,这样就得到了多尺度特征
  • 特征通过concatenate层叠加,而不是add层直接相加

Decoder部分

上面的Encoder部分为Decoder部分提供了两个输入

low-level featur低级特征经过1x1卷积调整维度(output stride=4x)low-level feature调整到48 channels时效果最好;

high-level featur高级特征上采样4倍,使得output stride从16x变为4x,再将两个4x特征通过concatenate层连接。

再连接一个或多个的3×3卷积(接2个out_channels=256的3x3卷积,输出效果较好),再上采样4倍得到Dense Prediction密集预测,即预测图像中的每个像素,语义分割。

这里Deeplabv3+的Decoder部分的上采样模块均通过双线性插值实现

补充摘要

SPP 空间金字塔池化层模块

input image输入层,可以为任意大小。输入后进行卷积运算,到最后一个卷积层输出得到该层的feature maps特征映射,其大小也是任意的。

Spatial Pyramid Pooling layer SPP层。以最左侧16X256-d为例,16表示将从前面卷积得到的特征映射分成16份,256表示channel通道数,即SPP对每一层都分成16份,进行池化操作,一般进行max pooling最大池化。中间右侧同理,即将特征映射分别分成4X256和1X256。

通过SPP层,特征映射被转化成16X256+4X256+1X256=21X256的矩阵,在送入全连接时可扩展成一维矩阵1X10752,所以第一个全连接层的参数设置为10752,有效解决输入数据大小的问题。

注意分法可自由调整,不一定等分

Dilated/Atrous Conv 空洞卷积

Dilated / Atrous Convolution / Convolution with hole,中文为空洞卷积(也有称为膨胀卷积),

  • 其是在标准的 convolution map 里注入空洞,以此增加 reception field感受野。
  • 相比常规conv,Dilated conv多了一个超参数dilation rate,指kernel的间隔数
  • 可以认为常规 convolution 的 dilatation rate 为 1

通过图示可以很好理解

以下是3*3 kernal and 1 dilation rate的常规卷积

3*3 kernal 的常规卷积

以下是3*3 kernal and 2 dilation rate的空洞卷积

3*3 kernal and 2 dilation rate的空洞卷积

 与其他卷积对比

http://www.dtcms.com/a/365839.html

相关文章:

  • CSS中使用 HSL(Hue, Saturation, Lightness) 动态生成色值
  • 二叉树结尾——销毁,层序遍历与判断完全二叉树
  • python如何解决html格式不规范问题
  • windows系统服务器测试部署springboot+vue+mysql项目
  • 使用 Acme.sh 获取和管理免费 SSL 证书
  • vue2头部布局示例
  • Anaconda3出现Fatal error in launcher: Unable to create process using.....问题
  • python 连接数据库进行文件查重(SAP版本)
  • RoPE位置编码缩放因子的最优解:频率维度与位置敏感度的精妙权衡
  • TypeScript:Promise的详细用法讲解
  • 面试复习题--kotlin的设计模式
  • shell内置命令
  • UART更好的封装 添加容错代码
  • Qt6用Chart模块做数据可视化?别再用老套路,看看这套35张图背后的秘密
  • [密码学实战](GBT 15843.2-2017)Java实现基于SM4的实体鉴别机制(四十八)
  • MinIO祭了,RustFS来了!
  • 关于node中的一些用到的读取文件方法
  • Dubbo3单端口多协议源码分析
  • 员工拍照泄密?U盘偷拷资料?终端数据安全如何守护?
  • G1垃圾收集器
  • 【高级】系统架构师 | 信息系统战略规划、EAI 与新技术
  • 攻防世界secret-galaxy-300
  • 深度学习----卷积神经网络的数据增强
  • 如何给JavaScript语句添加注释?
  • 19.JS
  • Jmeter怎么实现接口关联?
  • 算法题(198):数字三角形
  • 使用 Terraform、AWS 和 Python 构建无服务器实时数据管道
  • 学习React-9-useSyncExternalStore
  • Ubuntu下把 SD 卡格式化为 FAT32