论文笔记——Fully Convolutional Networks for Semantic Segmentation

本文主要是介绍论文笔记——Fully Convolutional Networks for Semantic Segmentation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1 Abstract
  • 2 Introduction
  • 3 Related work
    • 3.1 Fully convolutional network
    • 3.2 Dense prediction with convnet
  • 4 Fully convolutional networks
    • 4.1 Adapting classifiers for dense prediction
    • 4.2 Shift-and-stitch is filter rarefaction
    • 4.3 Upsampling is backwards strided convolution
  • 5 Segmentation Architecture
    • 5.1 From classifier to dense FCN
    • 5.2 Combine what and where
    • 5.3 Experimental framework
      • Optimization
      • Fine-tuning
      • More Training Data
      • Patch Sampling
      • Class Balancing
      • Dense Prediction
      • Augmentation
      • Implementation
  • 6 Results
    • Metrics
    • PASCAL VOC
    • NYUDv2
    • SIFT FLOW
  • 7 Conclusion

1 Abstract

  1. 构建全卷积神经网络,可以接受任意大小的输入并输出相应大小的输出
  2. 详细解释了FCN在稠密预测任务中的应用,并和之前的模型进行了对比
  3. 改编了分类网络:AlexNet、VGG、GooLeNet
  4. 定义了一个跳跃连接将深层的粗糙的语义信息与浅层的细致的外观信息结合起来以产生精确的、详细的分割。
  5. 在分割数据集PASCAL VOC上取得了最先进的精确

2 Introduction

  1. FCN的方法是高效的,不需要其他工作中的一些复杂方法
  2. 全局信息决定是什么,局部信息决定在哪(定义了一个跳跃连接将深层的粗糙的语义信息与浅层的细致的外观信息结合起来以产生精确的、详细的分割。)

3 Related work

方法基于深度分类网路和迁移学习的最新成功

3.1 Fully convolutional network

  1. Matan等人首先提出将卷积网络扩展到任意大小的输入
  2. FCN以前的应用:
    Sermanet等人的滑动窗口预测
    Pinheiro 和 Collobert 的语义分割,
    Eign等人的图像修复
    Tomspon等人有效的使用全卷积神经网络进行了像素到像素的训练
  3. He等人扔掉了分类网络的非卷积部分来制作一个特征提取器

3.2 Dense prediction with convnet

  1. 几个最近的应用卷积网络进行稠密预测的工作

Ning et al., Farabet et al., and Pinheiro and Collobert 等人的语义分割
Ciresan et al.的电子显微镜的成像的边界预测
Ganin and Lempitsky 的 natural images by a hybrid convnet/nearest neighbor model
Eigen et al.的图像修复和深度估计

  1. 这些方法的共同原理

小模型限制了能力和接收域
patchwise训练
通过超像素投影、随机场正则化、滤波或局部分类进行后处理
进行输入移位和输出偏移来达到稠密输出
多尺度金字塔处理
饱和tanh非线性
ensembles

  1. FCN模型

没有使用这些机制,
研究patchwise训练和"shift-and-stitch"稠密输出
改变深度分类架构,使用图像分类进行监督的
微调全卷积

4 Fully convolutional networks

理解平移不变形见:https://www.cnblogs.com/Terrypython/p/11147490.html

感受野
卷积网络的平移不变形
实数损失函数

4.1 Adapting classifiers for dense prediction

把全连接层改成卷积层

4.2 Shift-and-stitch is filter rarefaction

理解shift-and-stitch借用这篇博客:https://www.jianshu.com/p/e534e2be5d7d

4.3 Upsampling is backwards strided convolution

5 Segmentation Architecture

训练和交叉验证集用的是PASCAL VOC 2011分割挑战赛
损失函数是逐像素的多项式逻辑损失(per-pixel multinomial logistic loss)
交叉验证用的是mean pixel intersection over union,其中均值来自于所有类别,包括背景
训练中忽略的像素被从真值中mask out(有歧义或者困难)
在这里插入图片描述

5.1 From classifier to dense FCN

改造了三个分类网络:AlexNet、VGG-16、GooLeNet(只用了最后的损失层,并通过丢弃最后的平均池化层实现了效果的提升)

改造方法:将这些网络最后的分类层去掉,用卷积层替代所有的全连接层。用1X1卷积(通道数21)来预测所有coarse output中在PASCAL上对应的每个类别(包括背景),再用deconvolution layer对coarse outputs进行双线性上采样实现像素级稠密估计

在这里插入图片描述

5.2 Combine what and where

对原图像进行卷积conv1、pool1后原图像缩小为1/2;
之后对图像进行第二次conv2、pool2后图像缩小为1/4;
接着继续对图像进行第三次卷积操作conv3、pool3缩小为原图像的1/8,此时保留pool3的featureMap;
接着继续对图像进行第四次卷积操作conv4、pool4,缩小为原图像的1/16,保留pool4的featureMap;
最后对图像进行第五次卷积操作conv5、pool5,缩小为原图像的1/32,然后把原来CNN操作中的全连接变成卷积操作conv6、conv7,图像的featureMap数量改变但是图像大小依然为原图的1/32,此时进行32倍的上采样可以得到原图大小,这个时候得到的结果就是叫做FCN-32s.
在FCN-32s的基础上进行fine tuning,把pool4层和conv7的2倍上采样结果相加之后进行一个16倍的上采样,得到的结果是FCN-16s.
之后在FCN-16s的基础上进行fine tuning,把pool3层和2倍上采样的pool4层和4倍上采样的conv7层起来,进行一个8倍的上采样,得到的结果就是FCN-8s.
在这里插入图片描述
参考:https://blog.csdn.net/ztsucceed/article/details/80564113

在这里插入图片描述

5.3 Experimental framework

Optimization

SGD with momentum
minibatch size of 20 images
fixed learning rates

Fine-tuning

More Training Data

Patch Sampling

Class Balancing

Dense Prediction

Augmentation

尝试通过随机镜像和将图像各个维度jittering至最高32像素(相对于coarse scale of prediction)来扩张输入,但是这个操作没有带来明显提升。

Implementation

6 Results

在PASCAL VOC,NYUDv2和SIFT Flow上进行了测试

Metrics

在这里插入图片描述

PASCAL VOC

在这里插入图片描述

NYUDv2

在这里插入图片描述

SIFT FLOW

在这里插入图片描述

7 Conclusion

Recognizing this extending these classification nets to segmentation, and improving the architecture with multi-resolution layer combinations dramatically improves the state-of-the-art, while simultaneously simplifying and speeding up learning and inference

在这里插入图片描述

这篇关于论文笔记——Fully Convolutional Networks for Semantic Segmentation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/860340

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi