DeepLabv1网络记录

2023-11-03 17:00
文章标签 记录 网络 deeplabv1

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

相关博文:

DeepLabv2

DeepLabv3

DeepLabv1

  • 面临的问题
  1. 下采样导致图像分辨率降低

  解决方法:膨胀卷积和改变maxpooling

    2、空间不敏感

   解决方法:Fully connected CRF(conditional random field条件随机场)

平移不变性:深度卷积神经网络在高级视觉研究领域取得了突破。其卷积和池化操作保证了其不变性,能够提取高级抽象特征。不变性指的是平移不变性,卷积层扩大感知野,池化层的pooling操作,即使图像有小的位移、缩放、扭曲等,提取到的特征依然会保持不变,减小了相对空间位置的影响。这在高级特征提取中作用重大,但在一些低级视觉研究,如语义分割和姿态估计任务中效果是不理想的。我们希望获取具体的空间信息,而这些信息随着网络的加深慢慢丢失掉。

原文链接:https://blog.csdn.net/longxinghaofeng/article/details/85258124

  • 网络优势
    1. 速度更快,文中提到使用了膨胀卷积加速计算,但是fully connected CRFs比较费时间。
    2. 准确率更高,相比之前最好的网络提升了7.2个百分点

模型结构简单,主要由DCNNs和CRFs联级构成。

作者为了加载预先在ImageNet训练好的VGG-16模型,并保证图片仅缩放了8倍做了如下修改:

修改位置

修改前

修改后

备注

所有VGG16的maxpooling层

窗口大小2X2,步距2,

窗口3X3,

VGG16中第4、5层maxpooling层

步距为2

步距为1

获得更多的稠密图,图像只缩小了8倍

VGG16中的第五层卷积层

K3*3 ,s=1的卷积核

K3*3,s=1,p=1,r=2的空洞卷积

扩大感受野,提高MIOU

第五层maxpooling之后新增加了Avgpooling

K3*3,s=1,p=1

VGG16中的FC6

1*1*4096全连接层

(1024个K1*1,r=12,p=12,s=1的空洞卷积)+(relu)+(dropout)

VGG16中的FC7

1*1*4096全连接层

(1024个K1*1,s=1的卷积)+(relu)+(dropout)

VGG16中的FC8

1*1*21全连接层

(Num_class个K1*1,s=1的卷积)

上采样

  • largeFOV(field of view)

在保证MeanIOU不下降的情况下,减少参数数量,以及加快模型训练速度(不会提升MeanIOU)

网络配置的区别:

MaxPool层区别:largeFOV中的大小为3*3,s=2,padding=1的卷积核。 VGG网络中使用的是大小为2*2,s=2的卷积核

  • MSc(multi scale)

融合了多尺度的featuremaps。包含输出层和前四个maxpooling层。

增加训练参数数量;增大训练时需要更大的GPU显存;降低训练速度;

文章学习思路很多参考了这位博主:太阳花的小绿豆(主页),图片也是采用了这位博主的。侵权删。谢谢。

这篇关于DeepLabv1网络记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

qtcreater配置opencv遇到的坑及实践记录

《qtcreater配置opencv遇到的坑及实践记录》我配置opencv不管是按照网上的教程还是deepseek发现都有些问题,下面是我的配置方法以及实践成功的心得,感兴趣的朋友跟随小编一起看看吧... 目录电脑环境下载环境变量配置qmake加入外部库测试配置我配置opencv不管是按照网上的教程还是de

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

使用nohup和--remove-source-files在后台运行rsync并记录日志方式

《使用nohup和--remove-source-files在后台运行rsync并记录日志方式》:本文主要介绍使用nohup和--remove-source-files在后台运行rsync并记录日... 目录一、什么是 --remove-source-files?二、示例命令三、命令详解1. nohup2.

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt