DeepLab一家

article/2025/10/23 12:08:13

DeepLab是谷歌为了语义分割又做的一系列工作,在多个开源数据集中都取得了不错的成果,DeepLabv1发表于2014年,后于2016、2017、2018分别提出了V2,V3以及V3+的版本,在mmsegmentation里面主要集成了V3以及V3+的版本,应该也是DeepLab这一家里面效果最好的两个了。

作为当前工业以及学术上都用的比较广泛的模型,DeepLab这一家究竟优势在哪里呢,参考mmLab官方的讲解视频链接【通用视觉框架 OpenMMLab 字幕版】第五讲 语义分割 —刘子纬教授_哔哩哔哩_bilibili,可以发现DeepLab有三宝,分别是:

1、使用空洞卷积解决网络下采样的问题

2、使用条件随机场CRF作为后处理手段,精细化分割图

3、使用多尺度的空洞卷积(ASPP模块)捕捉上下文信息

接下来我将对于这三个方面根据视频内容进行个人理解总结,如有错误请批评指正。

首先是空洞卷积,在之前的Resnet等模型中,为了获取更大感受野更多信息特征,往往采用池化下采样的方式,但是这就会导致一个问题,图片尺寸会变小,由于语义分割是对于逐像素进行预测,因此还要再上采样恢复到原图大小,但是在上采样的过程中虽然像FCN以及Unet融合下采样之前的语义信息,但是还是肯定会有精度损失,扩大卷积核同样能够扩大感受野,但是参数就会成倍增加,那么能不能在获取更大感受野的同时尽可能减少精度损失以及控制参数数量呢呢,让图片不要继续变小,这就引入了我们的空洞卷积,如下图所示:

空洞卷积相当于对于卷积核进行了一个膨胀化,在里面填充0,就能在扩大感受野的同时不会产生额外参数,在卷积的过程中也不对导致图片缩小,可以说是一举三得,因此在现在很多模型中空洞卷积都代替了池化层,在mmsegmentation里面如图

我们可以看到他使用了resnet作为主干结构,但是用dilation即卷积核的膨胀率记性空洞卷积,在dilation为2和4的部分,我们看到对应的池化strides变成了1和1,即不进行池化了,也就是本来decode结构里面resnet最后生成的特征图可能是1/32但是变成了1/8,扩大感受野的同时保留了图片的细节信息。同样在下图中我们也能比较清晰了解到空洞卷积相对于下采样的优势。

第二个就是条件随机场(CRF),这个我最开始看的时候非常懵,后面听完讲解就慢慢理解了, 

首先我们先介绍一下什么是条件随机场

也就是这个能量应该就是判断结果的优劣性,而如何判断优劣性呢,通过该像素以及结合该像素周围像素的信息进行判断,下面是能量函数的定义:

而通过条件随机场,模型在边界信息分割会更精确

第三部分是空间金字塔池化模块(ASPP)

这里的池化不是真的池化,而是通过不同尺度的空洞卷积的方式代替池化,更大的空洞卷积可以获得更大的感受野,从而获取更多上下文信息,然后在对不同尺度空洞卷积的特征图进行concat获取多尺度信息。

下面是deeplab的整体模型

 

 可以看到在模型Encoder结构中,通过ASPP融合了多个空洞卷积生成的高层次语义信息,同时在decoder机构里面融合了之前低层次的特征信息最后生成分割图。

从图中可以明显看出V3+作为最新的DeepLab家族一员,在v2v3的基础上,不仅仅对于空间金字塔生成的特征图进行上采样,而是结合Unet的思想,融合下采样之前的特征信息一步一步进行上采样,但是为什么2倍上采样而是4倍上采样我也不是很懂,可能是因为2倍上采样对于空间金字塔生成的特征图信息丢失太严重。


http://chatgpt.dhexx.cn/article/HyQ2oJlY.shtml

相关文章

深度学习论文精读[13]:Deeplab v3+

Deeplab v3是Deeplab系列最后一个网络结构,也是基于空洞卷积和多尺度系列模型的集大成者。相较于Deeplab v3,v3版本参考了UNet系列网络,对基于空洞卷积的Deeplab网络引入了编解码结构,一定程度上来讲,Deeplab v3是编解…

语义分割网络系列3——DeepLab

DeepLab 1 介绍1.1 背景1.2 Deeplab V1介绍1.3 结构1.4 特点1.4.1 空洞卷积的使用1.4.2 CRF的应用 1.5 DeepLab系列总结 2 代码3 总结参考资料 1 介绍 相比于传统的视觉算法(SIFT或HOG),Deep-CNN以其end-to-end方式获得了很好的效果。这样的成功部分可以归功于Deep…

DeepLabV3网络简析

论文名称:Rethinking Atrous Convolution for Semantic Image Segmentation 论文下载地址:https://arxiv.org/abs/1706.05587 非官方Pytorch实现代码:pytorch_segmentation/deeplab_v3 视频讲解:https://www.bilibili.com/video/…

DeepLab系列(v1,v2,v3,v3+)总结

U-net: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation 语义分割面临的挑战1. DeepLab v1——《Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs》(ICLR 2015,谷歌)2. Deep…

一文理解DeepLab V1到DeepLab V3+(超系统、超详细)

文章目录 预备知识空洞卷积 1、DeepLab V11.1 基于VGG模型1.2 总体架构1.2.1 Fully Connected CRF(条件随机场) 1.3 DeepLab V1模型实验 2、DeepLab V22.1 整体架构2.2 训练策略2.2.1 学习率的调整 3、DeepLab V33.1 cascade形式的DeepLab V33.2 paralle…

微信小程序+SpringBoot接入后台服务,接口数据来自后端

文章底部有个人公众号:小兔教你学编程。主要目的是方便阅读。主要分享一些前后端初中级知识、开发实战案例、问题解决等知识。 前言 前两天开发了一个微信小程序项目,只不过接口数据是自己设置的假数据。然后我就想将这些假数据替换掉。这些数据来自接口…

Python3 - 三天学会微信小程序(Python后端研习)

文章目录 一、day01微信小程序1. 问题2. 环境的搭建2.1 Python环境2.2 小程序环境2.2.1 申请一个微信公众平台2.2.2 保存自己的appid2.2.3 下载开发者工具2.2.4 创建项目 3. 开发小程序3.1 全局配置3.2 组件3.2.1 text3.2.2 view3.2.3 image 3.3 样式3.3.1 4. flex布局5. 实战 …

微信小程序快速搭建

1 1. 申请账号 申请账号 1. 进入小程序注册页根据指引填写信息和提交相应的资料,完成账号申请。 说明: 如果跳转后页面出现错误,请刷新访问。 2. 使用申请的微信公众平台账号登录小程序后台,单击开发 > 开发设置,…

【微信小程序】前端+后端 :第一篇(基于javaweb 案例)

博主:👍不许代码码上红 欢迎:🐋点赞、收藏、关注、评论。 文章目录 一、创建javaweb(idea)二、servlet代码三、配置tomcat四、微信小程序端4.1、创建一个新的页面pages4.2、demo2.js4.3、demo2.wxml 五、运…

怎样创建微信小程序?创建小程序难不难?

小程序现在为众多的企业商家提供了营销上的巨大帮助,小程序也已经成为了这些企业商家的标配,即使是初创的企业商家都会先去了解怎样创建微信小程序,创建小程序难不难等问题,那么下面就给大家分享怎样创建微信小程序,创…

uniapp和springboot微信小程序开发实战:后端架构搭建之创建springboot项目

文章目录 使用STS创建boot项目引入项目依赖配置相关信息配置tomcat配置redis配置mysql数据库6.启动服务验证搭建环境使用STS创建boot项目 打开STS,新建Spring Starter Project项目,出现如下所示界面,根据提示填写图片上需要填写的内容。 引入项目依赖 <!-- redis -->…

微信小程序商城搭建小程序服装购物商城+后台

&#x1f345;文末获取联系&#x1f345; 目录 一、项目介绍 5.2.1 小程序端总体框架 二、项目相关截图 三、源码获取 一、项目介绍 计算机毕业设计微信小程序毕设项目之微信小程序服装商城后台管理系统_哔哩哔哩_bilibili计算机毕业设计微信小程序毕设项目之微信小程序服…

微信小程序搭建怎么做?流程是怎么样?【小程序搭建】

随着微信的日益普及&#xff0c;小程序成为了企业必备的营销工具。而在这个过程中&#xff0c;企业也需要搭建一个自己的小程序来进行推广和销售产品或服务。那么微信小程序搭建怎么做呢&#xff1f; 流程一&#xff1a;小程序账号的注册 注册小程序账号有两种方式&#xff1…

基于Python Django框架后端的微信小程序开发

刚做完一个股票信息服务类的微信小程序&#xff08;小程序名字“博股论基”&#xff0c;大家有兴趣可以搜一下&#xff09;&#xff0c;也有一些心得&#xff0c;在这里记录一下开发过程&#xff0c;算是个开发笔记&#xff0c;同时也希望能给需要的同学一些帮助。 ----------…

非常曲折的新手小白微信小程序springboot后端部署阿里云ESC服务器经历

最近因为参加了大学生“互联网”大赛&#xff0c;需要搭建微信小程序&#xff0c;但发现小程序云开发环境居然收费了&#xff01;于是转战springboot完成后端搭建&#xff0c;再用阿里云送的7个月学生免费服务器部署代码&#xff08;高校计划 - 免费学生云服务器&#xff09; 领…

微信小程序登录注册--python搭建后端

这个程序不连数据库&#xff0c;所以一旦python程序重启前面的注册就没用了 这个程序不连数据库&#xff0c;所以一旦python程序重启前面的注册就没用了 这个程序不连数据库&#xff0c;所以一旦python程序重启前面的注册就没用了 这里无脑简单介绍一下这个low到爆炸的小程序…

微信小程序入门04-后端脚手架搭建

我们上一篇已经介绍了权限系统的库表搭建&#xff0c;光有表还是不够的&#xff0c;我们还需要有一个后台系统和数据库进行交互。搭建后台的时候既需要选择使用什么语言&#xff0c;也需要选择框架。 框架分为前端框架和后端框架。在第一篇微信开发者工具搭建的时候我们其实前…

基于node搭建前端服务器,nodejs做微信小程序后端

利用小程序进行云开发必须安装node.js吗 任何一种后台开发语言都是可以的&#xff0c;只要它能够接收到小程序发出的请求&#xff0c;并且能够按照小程序指定的格式&#xff08;通常就是json&#xff09;返回数据给小程序就行。 但是&#xff0c;小程序官方专门为和php制作了…

微信小程序后台服务怎么搭建

小程序是目前最大的流量风口&#xff0c;与APP不同的是小程序的便捷&#xff0c;也就是小程序的核心竞争力与理念&#xff0c;不过小程序和APP的相同点都是属于应用&#xff0c;因此需要后台服务的支持&#xff0c;微信小程序的后台搭建常用到腾讯云&#xff0c;包括云数据库与…

3.1【微信小程序全栈开发课程】在本地搭建后端开发环境

第二章将前端页面的框架基本搭建好了&#xff0c;第三章&#xff0c;我们来做登录功能&#xff0c;登录功能需要在后端获取到用户信息&#xff0c;返回到前端。所以先来搭建后端开发环境 1、后端开发环境介绍 我们的项目用的是前后端分离开发 前端可以理解为微信端&#xff…