对FCN U-Net ,SegNet的介绍

2024-05-15 00:48
文章标签 介绍 net fcn segnet

本文主要是介绍对FCN U-Net ,SegNet的介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

https://blog.csdn.net/qq_34606546/article/details/89434487

语义分割—对FCN、U-Net、SegNet的一点理解

最近在看语义分割的论文,有很多高级的方法,今天再回味了一下语义分割元老级的一些方法,在这里只写大概的理解,详细内容还是建议看论文
FCN

FCN是元老,提出了全卷积网络,将原本网络顶层的全连接结构用卷积结构代替。这样就将原本输出的一维向量改为二维特征图的形式,保存了二维信息。实现语义分割还需将特征图上采样到与原图对应的size,这里问题就出现了。

FCN-8s:为了解决FCN直接上采样的问题,FCN-32s、-16s、-8s采用反卷积的方法,一步步对特征图进行上采样,并且借鉴特征提取部分相应尺度的特征图(这里的借鉴操作为:特征图copy过来、与刚刚进行过deconv的特征图进行对应像素add)
在这里插入图片描述
FCN-32s:deconv(featureMap16_16, stride=32) --> output: 512_512
在这里插入图片描述
FCN-16s:temp = add(deconv(featureMap16_16, stride=2),pool4)
deconv(16s:temp, stride=16) --> output: 512_512在这里插入图片描述
FCN-8s:
temp1 = add(deconv(featureMap16_16, stride=2),pool4)
temp2=add(deconv(temp1, stride=2), pool3)
deconv(temp, stride=8) --> output: 512_512在这里插入图片描述

通过add的方法借鉴了之前特征提取的信息,来给上采样提供更多的辅助信息,8s较32s效果提升很多,但是依然比较模糊,对图像的细节不敏感。
U-Net

U-Net采用图像patches进行训练,部分解决了标注数据不足的问题,
其实容易引起过拟合的,这里不多说了,与FCN的不同在于,同样的目的:给decode上采样更多信息,使其更加锐化,恢复图像细节),这里依然借鉴网络前端特征提取时保存的信息,不同于FCN,U-Net的借鉴方法为(特征concat)
在这里插入图片描述
将前层对应尺度特征图与deconv后的相同size特征图进行concat,在通过卷积组合特征,送人下一个deconv层。
所以与FCN其实差不多的,这里的主要区别是借鉴方式
SegNet

在这里插入图片描述
这位语义分割的小元老依然致力于解决上采样中回复信息不足的问题,不同于FCN、U-Net,这里借鉴方式为(pooling indices)
因为在pooling时丢失了位置信息,这里在上采样时借鉴之前保存的pooling indices恢复特征值(max values在max pooling)的位置信息。如下图:左边是pooling indices的方法
在这里插入图片描述
这种基于pooling indices的上采样方法更加锐化了边缘,同时存储空间的需求大大减小了,这里借鉴东西是需要内存滴呀(之前FCN要保留特征图,SegNet只保存indices就可以了)

总结:
语义分割主要解决的问题是在前端backbone提取丰富的特征信息的基础上如何恢复原图相应的细节信息,来给每个像素分类。通过FCN、U-net、SegNet的深入理解,也能够帮助我们掌握add、 concat的区别,更重要的是,对于一个问题的解决,我们能够看到解决问题思路的过程(各种解决方案),并且引发我们的思考。
https://blog.csdn.net/qq_34606546/article/details/89434487

 

这篇关于对FCN U-Net ,SegNet的介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

2、PF-Net点云补全

2、PF-Net 点云补全 PF-Net论文链接:PF-Net PF-Net (Point Fractal Network for 3D Point Cloud Completion)是一种专门为三维点云补全设计的深度学习模型。点云补全实际上和图片补全是一个逻辑,都是采用GAN模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

Mysql BLOB类型介绍

BLOB类型的字段用于存储二进制数据 在MySQL中,BLOB类型,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储的大小不同。 TinyBlob 最大 255 Blob 最大 65K MediumBlob 最大 16M LongBlob 最大 4G

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系