FCN学习-----第一课

语义分割中的全卷积网络
CVPR IEEE国际计算机视觉与模式识别会议
PAMI IEEE模式分析与机器智能汇刊
需要会的知识点:
神经网络:前向传播和反向传播
卷积神经网络:CNN,卷积,池化,上采样
分类网络:VGG,net,AlexNet,GoogLeNet
Pytorch基础
必须学会:
熟练掌握语义分割常识知识:概念、术语、应用(0.5)
熟练掌握FCN算法模型:结构、意义、补充知识点(1天 )
熟练掌握FCN模型的代码定义:训练、验证、测试、预处理、模型定义、结果输出(4天)
在这里插入图片描述

第一课论文导读

1.论文研究背景、成果及意义

(1)语义分割是计算机视觉中的关键任务之一,现实中,越来越多的应用场景需要从影响中推理出相关的知识或者语义(由具体到抽象的过程)。作为计算机视觉的核心问题,语义分割对于场景理解的重要性日渐突出。
理解:把不同目标标记成不同颜色的过程。图像的语义可以理解为:图片表达的意思。
例如:图片中 一个人在骑一辆自行车 这就是语义。分割就是把图像当中所关心的对象用不同的颜色标记出来,达到分割的效果,也就是从具体到抽象的过程。
在这里插入图片描述
(2)语义分割、实例分割区别:
①不重要的东西成为背景,背景同一设置成黑色,例如在无人驾驶中,旁边的建筑物就是背景。
②在语义分割中同一种类都被分为一种颜色,而在实例分割中同种类也是不同颜色的。
全景分割:语义分割和实例分割的结合,不仅关注背景,在同种类中也要进行区分。
在这里插入图片描述
(3)语义分割的研究现状
①传统方法:归一化分割(纹理或者颜色相同进行分割)缺点是较慢需要多次进行分割,还不太准确;结构化的随机森林(很好改善噪点)缺点过拟合准确率不高慢;支持向量机
在这里插入图片描述

②深度学习卷积神经网络:FCN、SegNet、LinkNet
在这里插入图片描述
深度学习中还存在的问题:
在这里插入图片描述
(4)语义分割实现流程
训练:根据batch size大小,将数据集中的训练样本和标签读入卷积神经网络。根据实际需要,应先对训练图片及标签进行预处理,如裁剪、数据增强等。这有利于深层网络的训练,加速收敛过程,同时也避免过拟合问题并增强了模型的泛化能力。
验证:训练一个epoch结束后,将数据集中的验证样本和标签读入卷积神经网络,并载入训练权重。根据编写好的语义分割指标进行训练,得到当前训练过程中的指标分数,保存对应权重。常用一次训练一次验证的方法更好的监督模型表现。
测试:所有训练结束后,将数据集中的测试样本和标签读入卷积神经网络,并将保存的最好权重值载入模型,进行测试,测试结果分为两种,一种是根据常用指标分数衡量网络性能,另一种是将网络的预测结果以图片的形式保存下载,直观感受分割的精确程度。
FCN分割效果不算很好,但是分割的基石。
在这里插入图片描述
(5)语义分割常用数据集
在这里插入图片描述

(6)语义分割常用指标:指标越大越好
①PA像素精度:标记正确的像素占总像素的比例
②MPA均像素精度:计算每个类内被正确分类像素的比例
③MIoU均交并比:计算真实值和预测值的交集和并集
在这里插入图片描述
(7)FCN研究成果
①将分类网络改变为全卷积神经网络,具体包括全连接层转化为卷积层以及通过反卷积进行上采样。
②使用迁移学习的方法进行微调。
③使用跳跃结构使得语义信息可以和表征信息相结合,产生准确而精细的分割
④FCN证明了端到端、像素到像素训练方式下的卷积神经网络超过了现有语义分割方向最先进的技术(传统算法)。
⑤FCN成为了PASCAL VOC最出色的分割方法,较2011和2012分割算法的MIoU提高了将近20%
在这里插入图片描述

(8)FCN历史意义:
①深度学习应用在语义分割领域的开山之作
②端到端训练为后续语义分割算法的发展铺平了道路
与图分类或目标检测相比,语义分割使我们对图像有更加细致的了解。

2.论文泛读

(1)论文结构:
在这里插入图片描述
①概述卷积神经网络(大背景的概述):
Convolutional networks are powerful visual models that yield hierarchies of features.
卷积网络是强大的视觉模型,能够产生层次化的特征
②论点:
We show that convolutional networks by themselves, trained end-to-end, pixels to-pixels, exceed the state-of-the-art in semantic segmentation.
我们展示了卷积网络本身,端到端地训练,从像素到像素,超越了语义分割领域的最新技术水平。
③围绕论点采取的方法,主要的核心思想:(容纳不同尺寸的输入,得到相同尺寸的输出)
Our key insight is to build “fully convolutional” networks that take input of arbitrary size and produce correspondingly-sized output with efficient inference and learning.
我们的关键见解是构建“完全卷积”网络,它可以接受任意尺寸的输入,并生成相应尺寸的输出,具有高效的推断和学习能力。
④具体方法:如何实现核心思想(改变先前模型,做了迁移学习、跳跃连接)
We define and detail the space of fully convolutional networks, explain their application to spatially dense prediction tasks, and draw connections to prior models. We adapt contemporary classification networks (AlexNet, the VGG net, and GoogLeNet) into fully convolutional networks and transfer their learned representations by fine-tuning to the segmentation task. We then define a skip architecture that combines semantic information from a deep, coarse layer with appearance information from a shallow, fine layer to produce accurate and detailed segmentations.
我们定义并详细介绍了完全卷积网络的空间,解释了它们在空间密集预测任务中的应用,并与先前的模型进行了联系。我们将当代分类网络(如AlexNet、VGG网络和GoogLeNet)调整为完全卷积网络,并通过微调将它们学到的表示迁移到分割任务中。然后,我们定义了一个跳跃连接的架构,将来自深层次、粗糙层的语义信息与来自浅层、细致层的外观信息相结合,以生成准确且详细的分割结果。
⑤论文结果:(论文在数据集中的结果)
Our fully convolutional network achieves state of-the-art segmentation of PASCAL VOC (20% relative improvement to 62.2% mean IU on 2012), NYUDv2, and SIFT Flow, while inference takes less than one fifth of a second for a typical image.
我们的完全卷积网络在PASCAL VOC(相对改进20%,在2012年的平均IU达到62.2%)以及NYUDv2和SIFT Flow数据集上实现了最先进的分割效果,同时对于一张典型图像的推断时间不到五分之一秒。
在这里插入图片描述

端到端
在这里插入图片描述
分割术语:
Pixel-wise(pixels-to-pixels):像素级别。
每张图片都是由一个个pixel组成的,pixel是像素图像的基本单位。
Image-wise:图像级别 比如一张图片的标签是狗,即“狗是对整个图片的标注
Patch-wise块级别,介于像素级别和图像级别之间,每个patch都是由好多个pixel组成的
Patchwise training:针对每个感兴趣的像素,以它为中心取一个patch(小块),然后输入网络,输出则为该像素的标签。
**

3.本课回顾及下节预告

**
(1)语义分割的概念 (2)FCN取得的成果及意义 (3)FCN论文总览 (4)摘要精度
下节课:①引言及相关工作:追溯FCN的思想源头,回顾FCN出现之前的语义分割方法
②先验知识补充:根据论文第三节的顺序,补充相关知识点 ③详解算法结构:按照论文给出的逻辑细致讲解算法构成 ④实验及结论:分析实验细节,总结论文创新点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/599368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

杨中科 ASP.NETCore Rest

什么是Rest RPC 1、Web API两种风格: 面向过程(RPC) 、面向REST (REST) 2、RPC:“控制器/操作方法“的形式把服务器端的代码当成方法去调用。把HTTP当成传输数据的通道,不关心HTTP谓词。通过QueryString请求报文体给服务器传递数据。状态码。比如/Persons/GetAll…

【LeetCode】608. 树节点

表:Tree ------------------- | Column Name | Type | ------------------- | id | int | | p_id | int | ------------------- id 是该表中具有唯一值的列。 该表的每行包含树中节点的 id 及其父节点的 id 信息。 给定的结构总是一个有效的树。…

stm32学习笔记:TIM-输出比较

四部分讲解内容,本文是第二部分 输出比较主要用于PWM波形的控制电机(驱动电机的必要条件) 1、定时器基本定时,定一个时间,然后让定时器每隔一段时间产生一个中断,来实现每隔一个固定时间执行一段程序的目…

linux磁盘管理实验1

1.在安装好的linux系统中新加一块硬盘,将硬盘分成2个主分区,和2个逻辑分区,将其中一个逻辑分区设置成vfat(FAT32)分区,并实现开机自动挂载所有分区。 答:添加一个硬盘为sdb 分成2个主分区&#…

Flink电商实时数仓项目部署上线

Flink实时数仓部署 将common作为一个自定义的依赖部署到maven中使用maven将各个子模块打包可以使用FLink框架进行jar包的提交运行。 StreamPark 一个易于使用的流处理应用开发框架和一站式流处理操作平台和管理流应用。它提供了Flink和Spark编写流的脚手架。 Core:可以使用…

解读 $mash 通证 “Fair Launch” 规则(Staking 玩法解读篇)

Solmash 是 Solana 生态中由社区主导的铭文资产 LaunchPad 平台,该平台旨在为 Solana 原生铭文项目,以及通过其合作伙伴 SoBit 跨链桥桥接到 Solana 的 Bitcoin 生态铭文项目提供更广泛的启动机会。有了 Solmash,将会有更多的 Solana 生态的铭…

项目整合积木报表-设计页面

项目整合积木报表-设计页面 <template><div><iframe id"dome" :srcsrc ></iframe></div> </template><script>export default {data(){return{src:configSrc.src"/jmreport/view/836138868821839872"}}} </…

【C语言】函数

函数是什么&#xff1f; “函数”是我们早些年在学习数学的过程中常见的概念&#xff0c;简单回顾一下&#xff1a;比如下图中&#xff0c;你给函数 f(x)2*x3 一个具体的x,这个函数通过一系列的计算来返回给你一个结果(图示如下)。 这就是数学中函数的基本过程和作用。但是你…

LeetCode-杨辉三角公式

杨辉三角公式 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a225ff66061e4076924e3299b81b98d5.png /*** author wx* description 杨辉三角公式-标准* create 2023/12/26**/ public class Triangle {public static void main(String[] args) {List<List<I…

【智慧零售】东胜物联蓝牙网关硬件解决方案,促进零售门店数字化管理

依托物联网&#xff08;IoT&#xff09;、大数据、人工智能&#xff08;AI&#xff09;等快速发展&#xff0c;数字化和智能化已成为零售企业的核心竞争力。更多的企业通过引入人工智能、大数据等先进技术手段&#xff0c;提高门店运营效率和服务质量。 某连锁咖啡企业牢牢抓住…

C++程序设计兼谈对象模型(侯捷)笔记

C程序设计兼谈对象模型&#xff08;侯捷) 这是C面向对象程序设计的续集笔记&#xff0c;仅供个人学习使用。如有侵权&#xff0c;请联系删除。 主要内容&#xff1a;涉及到模板中的类模板、函数模板、成员模板以及模板模板参数&#xff0c;后面包含对象模型中虚函数调用&…

SSMBUG汇总

20240103 通用&#xff0c;驼峰命名法&#xff0c;mybatis。 mybatis入门程序中&#xff0c; // 获取对象的顺序为&#xff1a;SqlSessionFactoryBuild-》SqlSessionFactory-》SqlSessionSqlSessionFactoryBuilder sqlSessionFactoryBuilder new SqlSessionFactoryBuilder();I…

vue3-admin-element框架实现动态路由(根据接口返回)

第一步&#xff1a;在src-utils-handleRoutes&#xff0c;修改代码&#xff1a; export function convertRouter(routers) {let array routersrouters []for (let i in array) {for(let s in asyncRoutes){if (array[i].path asyncRoutes[s].path) {routers.push(asyncRout…

<sa8650>sa8650 qcxser-之-QCX错误报告接口

<sa8650>sa8650 qcxser-之-QCX错误报告接口 1 前言2 错误报告设计3 报告错误的QCarCam APIs3.1 错误ID3.2 错误code3.3 错误源4 错误报告流1 前言 本章主要讲解QCX服务的错误报告接口,如何将qcxserver的错误诊断信息报告给Safety Monitor。 2 错误报告设计 图2-1显示了通…

Spring官方移除Java8

大家好我是苏麟 , 今天聊聊怎么继续使用Java8做项目 . 在做项目的时候突然发现Java8没了 , 我心想 : " 嗯? IDEA出毛病了?" ,经过我仔细检查原来是spring官方不支持Java8了 . IDEA 内置的 Spring Initializr 创建 Spring Boot 新项目时&#xff0c;没有 Java 8 的选…

数据结构和算法-希尔排序(增量序列 算法实现 性能分析 稳定性)

文章目录 希尔排序过程小结增量序列不是固定的 算法实现算法性能分析稳定性小结 希尔排序 基本有序&#xff0c;就是存在有序的子序列 通过增量4得到各个子表 对各个子表分别进行插入排序 缩小增量&#xff0c;再除2&#xff0c;此时的子表 对各个子表插入排序 缩小增量&…

六、Spring 声明式事务

本章概要 声明式事务概念 编程式事务声明式事务Spring事务管理器 基于注解的声明式事务 准备工作基本事务控制事务属性&#xff1a;只读事务属性&#xff1a;超时时间事务属性&#xff1a;事务异常事务属性&#xff1a;事务隔离级别事务属性&#xff1a;事务传播行为 6.1 声…

RKE安装k8s及部署高可用rancher之证书在外面的7层LB(nginx中) 7层负载均衡

一 了解 Rancher 1 推荐架构 安装 Rancher 的方式有两种&#xff1a;单节点安装和高可用集群安装。因为单节点安装只适用于测试和 demo 环境&#xff0c;而且单节点安装和高可用集群安装之间不能进行数据迁移&#xff0c;所以推荐从一开始就使用高可用集群安装的方式安装 Ran…

正则表达式解析与应用:深度剖析正则表达式的威力

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

前端页面锚点跳转

一&#xff0c;页面 二&#xff0c;获取需要跳转的标签class或者id 三&#xff0c;调用跳转方法 如果你的标签有唯一的ID&#xff0c;那么用getElementById方法更好 点击即可跳转锚点