文章目录

  • 前言
  • FCN网络结构
  • 参考资料

前言

Pytorch官方实现的FCN和当年论文的结构图稍有不同,因为现在有了更多的backbone的选择,而且应用了膨胀卷积技术。

FCN网络结构

下图是Pytorch官方实现的FCN网络结构:


下图是Resnet的网络结构:

对比两个网络进行分析:FCN网络的backbone选择的是Resnet50 backbone,在这一部分的蓝色虚线框的前面的结构和Resnet是一模一样的。

重点关注layer3和layer4的部分。FCN的layer3和layer4对应于Resnet的conv4_x和conv5_x。区别在于:

  • Resnet的conv4_x中的6个残差结构对应FCN的layer3中的1个Bottleneck1和5个Bottleneck2。
  • Resnet的conv5_x中的3个残差结构对应FCN的layer4中的1个Bottleneck12个Bottleneck2

接下来我们重点关注一下Bottleneck1Bottleneck2的结构:

  • Bottleneck1对应残差结构中的虚线结构,在这里和resnet中的区别在于它将捷径分支上的1∗11*11∗1卷积的步距改成了1。因此在这里并没有进行下采样操作,语义分割中下采样倍率过大还原会原图效果会受影响。另外在3∗33*33∗3卷积核处的步距也改成了1,并且引入了膨胀卷积
  • Bottleneck2同样也是引入了膨胀卷积。

接下来再来看一下FCN Head部分:

  • 经过一个3*3的卷积层,输入特征图的channel数被调整为原来的1/4变为512.
  • 通过一个Dropout层
  • 再通过一个1*1卷积层,调整特征层的channel为类别个数。
  • 最后通过一个双线性插值的方法,还原回原来的大小。

另外在右侧还有一个FCN Head,官方给出的理由:防止误差梯度没办法传递到网络浅层,所以这里引入了辅助分类器。
训练的时候可以启用这个辅助分类器,都可以去试一下。在实际部署到真实环境的时候,我们只去利用output。

参考资料

up主霹雳吧啦Wz原视频

语义分割|学习记录(5)Pytorch官方实现的FCN网络结构相关推荐

  1. 霹雳吧啦Wz语义分割学习笔记P5

    P5.Pytorch官方实现的FCN网络结构 backbone:VGG16 -> ResNet50:使用了膨胀卷积

  2. 使用Pytorch搭建U-Net网络并基于DRIVE数据集训练(语义分割)学习笔记

    使用Pytorch搭建U-Net网络并基于DRIVE数据集训练(语义分割)学习笔记 https://www.bilibili.com/video/BV1rq4y1w7xM?spm_id_from=33 ...

  3. 憨批的语义分割重制版9——Pytorch 搭建自己的DeeplabV3+语义分割平台

    憨批的语义分割重制版9--Pytorch 搭建自己的DeeplabV3+语义分割平台 注意事项 学习前言 什么是DeeplabV3+模型 代码下载 DeeplabV3+实现思路 一.预测部分 1.主干 ...

  4. 憨批的语义分割重制版6——Pytorch 搭建自己的Unet语义分割平台

    憨批的语义分割重制版6--Pytorch 搭建自己的Unet语义分割平台 注意事项 学习前言 什么是Unet模型 代码下载 Unet实现思路 一.预测部分 1.主干网络介绍 2.加强特征提取结构 3. ...

  5. 语义分割系列6-Unet++(pytorch实现)

    目录 Unet++网络 Dense connection deep supervision 模型复现 Unet++ 数据集准备 模型训练 训练结果 Unet++:<UNet++: A Neste ...

  6. 语义分割系列14-DMNet(pytorch)实现

    DMNet:<Dynamic Multi-Scale Filters for Semantic Segmentation> 发布于2019ICCV. 有意思的是,DMNet的作者和APCN ...

  7. pytorch 语义分割loss_vedaseg:基于pytorch的开源语义分割工具库,更多模型支持,更易拓展...

    加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总 ...

  8. 语义分割系列2-Unet(pytorch实现)

    Unet发布于MICCAI.其论文的名字也说得相对很明白,用于生物医学图像分割. <U-Net: Convolutional Networks for Biomedical Image Segm ...

  9. UNet语义分割模型的使用-Pytorch

    1.概述 最近有时间,跑了一下UNet模型,因为自己的深度学习基础不扎实,导致用了一些时间.目前只停留在使用和理解别人模型的基础上,对于优化模型的相关方法还有待学习. 众所周知,UNent是进行语义分 ...

最新文章

  1. 各种排序算法总结篇(高速/堆/希尔/归并)
  2. 还有人记得【日之韵】吗?——提供下载
  3. linux下的c库函数大全
  4. 信息系统项目管理师 必背
  5. 代码全靠copy,Bug又烂又多,做程序员的目的是什么?
  6. Mybatis 传参问题
  7. 金融领域7大数据科学案例
  8. 什么是面向对象对象,什么是面向过程,什么是面向对象思想。
  9. DoIP协议:通用DoIP首部否定确认码02和03的区别
  10. qemu中vCPU对应的线程
  11. win10系统bug:开机自动打开空白word文档
  12. 爬取今日头条街拍美女图片
  13. Java电商订单_Java电商项目学习(十) 订单管理模块开发
  14. 极案例 | 守护地铁运营“生命线”,极视角与深圳地铁运管办共建“AI智能巡检系统”
  15. reduceByKey
  16. DTMF三种模式(SIPINFO,RFC2833,INBAND)
  17. R语言survival包clogit函数构建条件logistic回归模型、summary函数查看模型汇总统计信息、通过似然比检验分析结果判断模型有无统计学意义
  18. vscode远程开发基础教程
  19. [NOI2005]月下柠檬树 (自适应辛普森)
  20. 通过4A系统登录服务器,JD-4A 统一身份管理系统

热门文章

  1. HDU操作系统 实验1.2·1.3——设计和添加Linux系统调用
  2. map python函数_Python语言中map函数
  3. pyppeteer模块的基本使用
  4. 2022年12月电子学会青少年软件编程Python(二级)等级考试真题解析
  5. Java项目:基于jsp+mysql+Spring+mybatis的SSM在线中药药方管理系统
  6. 小滴课堂-项目大课学习笔记(2)海量数据存储-分布式文件存储系统
  7. Python计算平均值、方差和标准差
  8. RssReader.java解析
  9. 3分钟学会在 ASP.NET MVC 中创建、读取和编辑 Excel 电子表格
  10. Binder—Binder 对象生命周期