当前位置: 首页 > news >正文

DeepLab系列算法介绍

DeepLab系列算法是谷歌提出的语义分割模型(语义分割:为图像中的每个像素分配一个类别标签,不区分同一类别的不同实例,只关心像素的类别。)

一、DeepLab v1 (2014)

核心思想:解决CNN在语义分割中的两个主要问题

  1. 降低特征图分辨率(分辨率过低)

    • 问题:CNN中连续的池化(Pooling)和卷积步长(Stride)会不断降低特征图的空间尺寸,导致位置信息丢失,分割结果粗糙。

    • 解决方案空洞卷积 / 膨胀卷积

      • 在标准卷积核的权重之间插入“空洞”(零值),从而在不增加参数数量和计算量的情况下,扩大卷积的感受野

      • 公式:膨胀率 = r, 即在标准卷积核中,每个点之间插入 (r-1) 个零。

      • 好处:允许我们在深层网络中保持较大的特征图尺寸,从而保留更多空间信息。

  2. 空间不变性(物体多尺度)

    • 问题:CNN的平移不变性使其难以捕捉物体的精细边界和细节。

    • 解决方案全连接条件随机场

      • 将CNN的输出(一个粗糙的概率图)作为CRF的一元势能。

      • CRF通过考虑像素之间的颜色相似性和空间接近性来优化分割结果,使得在颜色边界处标签保持一致,从而细化物体边缘

v1 架构总结:

  • 主干网络:VGG-16

  • 关键技术:空洞卷积 + 全连接CRF

  • 贡献:引入了空洞卷积来解决分辨率问题,并展示了CRF对边缘细化的有效性。

二、DeepLab v2 (2016)

核心思想:更好地处理多尺度物体

DeepLab v2 在 v1 的基础上,针对“同一张图片中物体存在不同大小”的问题进行了重大改进。

  1. 空洞空间金字塔池化

    • 动机:如何让网络同时捕捉不同尺度的上下文信息?

    • 解决方案:ASPP 并行地使用多个具有不同膨胀率的空洞卷积层。

      • 在同一个特征图上,分别应用膨胀率为 1, 6, 12, 18 的卷积(以及全局平均池化)。

      • 这些分支分别捕捉了不同感受野范围内的上下文信息(从小范围局部特征到大范围全局上下文)。

      • 最后将所有分支的输出进行融合,形成一个富含多尺度信息的特征。

    • 比喻:就像用不同放大倍率的镜头同时观察同一个物体,然后综合所有镜头的信息来做出判断。

  2. 更强的骨干网络:将主干网络从 VGG-16 替换为 ResNet-101,利用了其残差连接的优势,使得网络可以更深,性能更强。

v2 架构总结:

  • 主干网络:ResNet-101

  • 关键技术ASPP + 空洞卷积 + (全连接CRF作为后处理,后期版本逐渐弱化)

  • 贡献:通过 ASPP 模块优雅地解决了多尺度问题,成为后续系列的核心组件。

三、DeepLab v3 (2017)

核心思想:进一步优化 ASPP,并完全摒弃 CRF 后处理

DeepLab v3 是一个更加自洽和强大的版本,它不再依赖计算昂贵的 CRF。

  1. 改进的 ASPP 模块

    • 问题:当膨胀率非常大时,3x3 卷积会退化为 1x1 卷积(因为只有中心权重是有效的)。

    • 解决方案

      • 在 ASPP 中增加了 Image Pooling 分支:对特征图进行全局平均池化,然后通过 1x1 卷积,再上采样回原尺寸。这个分支提供了图像级别的全局上下文信息

      • 将各个膨胀率卷积层的通道数减少(使用 1x1 卷积),并进行批归一化,以降低计算复杂度。

      • 最终,ASPP 包含:一个 1x1 卷积,三个 3x3 卷积(不同膨胀率),一个 Image Pooling 分支。

  2. 串行的空洞卷积模块

    • 在进入 ASPP 之前,先使用了一个由多个空洞卷积组成的模块,以捕获更密集的多尺度信息。

    • 这个模块也采用了残差连接。

  3. 舍弃 CRF:通过上述改进,网络本身已经能够产生足够精细的分割结果,因此完全移除了计算复杂的全连接 CRF。

v3 架构总结:

  • 主干网络:ResNet-101(并提出了改进的 Aligned ResNet)

  • 关键技术增强的ASPP(含Image Pooling) + 串行空洞卷积模块

  • 贡献:形成了一个强大且端到端的训练框架,不再需要后处理,性能达到新的高度。

四、DeepLab v3+ (2018)

核心思想:引入编码器-解码器结构,进一步优化边界分割

这是目前最流行和实用的版本,它结合了 DeepLab 和类似 U-Net 的思想。

  1. 编码器-解码器结构

    • 编码器:使用 DeepLab v3 作为编码器。它通过空洞卷积和 ASPP 提取丰富的语义信息,但特征图尺寸较小。

    • 解码器

      • 将编码器的输出上采样 4 倍。

      • 从主干网络的中间层(浅层特征)提取相应的特征图(包含更多细节和边缘信息)。

      • 将两者进行拼接,再通过几个简单的 3x3 卷积来融合特征,最后再次上采样得到最终的分割图。

    • 好处:解码器利用浅层特征的空间细节信息来恢复物体的精细边界,同时利用深层特征的强大语义信息来保证分类准确性。

  2. 改进的 Xception 作为主干网络

    • 将 Xception 模型应用于语义分割,并为其添加了空洞卷积和深度可分离卷积,使其更加强大和高效。

v3+ 架构总结:

  • 主干网络:ResNet-101 或 Aligned Xception

  • 关键技术编码器-解码器 + ASPP + 深度可分离卷积

  • 贡献:通过简单的编解码结构,在保持强大语义能力的同时,显著提升了边界分割的精度,成为了语义分割的通用和强大基准模型。

总结:

版本核心贡献主干网络关键技术优缺点
DeepLab v1引入空洞卷积解决分辨率问题VGG-16空洞卷积, CRF开创性工作,但依赖后处理CRF
DeepLab v2解决多尺度问题ResNet-101ASPP, 空洞卷积, CRF多尺度处理能力强,CRF仍显冗余
DeepLab v3强大的端到端模型ResNet-101增强ASPP, 串行空洞卷积性能优异,完全端到端,但边界不够精细
DeepLab v3+精细的边界分割Xception/ResNet编码器-解码器, ASPP当前主流版本,在语义和细节上取得最佳平衡

核心思想演进脉络

整个 DeepLab 系列的演进,始终围绕着以下几个核心问题展开:

  1. 如何保持高分辨率特征? -> 空洞卷积

  2. 如何捕捉多尺度上下文? -> ASPP

  3. 如何恢复精细的物体边界? -> 编码器-解码器结构

五、Max Deeplab (2021)

Max Deeplab 之前的局限

在 Max Deeplab 之前,包括 DeepLab v3+ 在内的几乎所有语义分割模型,都遵循一个 “像素分类” 的范式:

  1. 一个编码器(如 CNN)提取图像特征。

  2. 一个解码器(可能包含 ASPP)将特征上采样。

  3. 最后一个卷积层为每个像素输出一个类别概率分布。

  4. 损失函数(如交叉熵)是在像素级别计算的。

这种范式有两个主要问题:

  1. 语义歧义:对于一个孤立的像素,很难判断它属于哪个类别。模型需要看到整个物体的上下文才能做出正确决策,而像素级损失对此的引导不够直接。

  2. 无法处理“物体”概念:图像是由“物体”构成的,但像素级损失不显式地建模物体。这可能导致预测结果在语义上不一致(例如,一个物体被分成两部分,预测成两个不同的类别)。


Max Deeplab 的核心思想:走向“掩码分类”

Max Deeplab 彻底抛弃了“像素分类”的范式,转而采用了 “掩码分类” 的范式。这个思想来源于 实例分割 模型 Mask R-CNNDETR

“掩码分类”分为两步:

  1. 生成候选掩码:模型首先生成 N 个可能的目标掩码(即二值图,表示某个区域是否可能是物体)和对应的类别预测。

  2. 匹配与分类:将这 N 个预测的掩码与图像中的真实物体进行匹配,然后基于匹配结果计算损失。一个掩码对应一个可能的物体或“东西”。

Max Deeplab 的关键技术创新

为了在语义分割中实现“掩码分类”,Max Deeplab 引入了多项突破性技术:

1. 双路径Transformer架构

这是模型的骨架。它同时处理两种信息:

  • 像素路径:类似于传统的CNN,负责提取详细的像素级特征。这保证了最终边界的精细度。

  • 记忆路径:这是一组可学习的“记忆向量”或“物体查询”。每个记忆向量都致力于编码图像中某个潜在的“物体”或“区域”的全局信息。

  • 这两条路径通过 双向注意力 机制进行交互:

    • 记忆向量关注像素特征,以收集信息并形成候选掩码。

    • 像素特征也关注记忆向量,以获取全局的、物体级别的上下文信息。

2. 联合预测掩码和类别

模型的核心输出是一组 (mask, class) 对。

  • 通过记忆路径和像素路径的交互,每个记忆查询会输出一个类别预测。

  • 同时,通过一个“掩码头”,模型会生成一个低分辨率的掩码图。这个掩码图与记忆查询相结合,通过点积操作,为每个查询生成一个全图的、高分辨率的二值掩码。

3. 使用匈牙利匹配损失

这是实现端到端“掩码分类”的关键。由于模型输出了 N 个 (mask, class) 对,而图像中的真实物体数量是不固定的,我们需要决定哪个预测对应哪个真实物体。

  • 步骤

    1. 使用 匈牙利算法 在 N 个预测和所有真实物体(加上“背景”类别)之间找到一个最优的双边匹配。匹配的成本由预测掩码与真实掩码的相似度(如Dice系数)和类别预测的准确性共同决定。

    2. 匹配完成后,为每个匹配上的预测计算 PQ-style 损失,即 Dice损失 + Focal损失

      • Dice损失:直接优化预测掩码和真实掩码之间的重叠面积。这对分割任务非常有效。

      • Focal损失:用于分类,解决类别不平衡问题。

Max Deeplab 的优势

  1. 统一了语义分割和全景分割:它可以直接输出“事物”(可数的物体,如人、车)和“物品”(不可数的区域,如天空、草地)的实例级结果,无需任何后处理,自然成为了一个全景分割模型。

  2. 更好的全局上下文理解:通过记忆路径和注意力机制,模型能够以“物体”为单位进行推理,从而做出更语义一致的预测。

  3. 端到端训练:像 DETR 一样,它移除了之前分割管道中许多需要手工设计的部分(如NMS),实现了真正的端到端学习。

  4. 卓越的性能:在当时,它在多个分割基准数据集(如 Cityscapes, COCO)上取得了 state-of-the-art 的性能。

总结

特性传统 DeepLab (v3+等)Max Deeplab
范式像素分类掩码分类
核心输出每个像素的类别概率一组 (mask, class)
架构基础CNN + ASPP + 解码器双路径Transformer
损失函数逐像素交叉熵损失匈牙利匹配 + Dice/Focal 损失
任务定位主要是语义分割统一的语义/全景分割
关键思想多尺度上下文、恢复分辨率物体查询、端到端集合预测

简单来说,Max Deeplab 可以理解为将 DeepLab 的语义分割能力与 DETR 的端到端物体检测思想深度融合的产物。 它不再是简单地给像素打标签,而是先“认出”图像中有哪些物体和区域,再为它们生成对应的掩码,这是一种更接近人类视觉认知方式的分割方法。

虽然其模型结构相对复杂,计算成本也较高,但它指明了语义分割未来发展的一个重要方向。后续的许多工作(如 Mask2Former)都延续并简化了这种“掩码分类”的范式。

http://www.dtcms.com/a/504081.html

相关文章:

  • apache设置网站网址怎样将ftp转换为wordpress
  • .net和php哪个做网站好红色简约的手机社区类网站html5响应式模板下载
  • 民兵信息化网站建设wordpress页面添加照片
  • Docker 安装 CentOS
  • 做黑彩票的网站赚钱吗微信公众号怎么做好看
  • 内蒙古集宁建设厅官方网站国外app设计网站
  • C++ vector类的使用
  • 咸阳建设局网站自己公司怎样弄个网站
  • 网站做推广需要什么条件免费制作招聘的app
  • 临沂市建设安全管理网站nginx 搭建wordpress
  • 管理有限公司网站设计中文企业网站html模板
  • 网站的搜索功能怎么做网站建设实训报告模板
  • Redis集群架构详解:从单机到分布式的扩展之路
  • Csrf4
  • mysql数据库、iptables、Ivs服务和keepalived服务
  • html全屏网站东莞网站推广的公司
  • 人才共享网站的建设方案怎么写做网站要固定ip
  • 网站建设的软件介绍谷歌推广优化
  • 解锁7倍生成式AI性能:NVIDIA Jetson AGX Thor上的更快、更智能的边缘模型
  • 重生做门户网站的小说千灯做网站
  • 沧浪设计网站公司化工企业网站jsp
  • 做超市dm的网站百度网盟推广怎么做
  • 网站开发工作经验怎么写wordpress注册文件
  • Vue2与Vue3:核心差异精简对比
  • 做网站国家大学科技园郑州沈阳网站建设公司哪个好
  • 网站做线wordpress指定分类文章详情页模板
  • 【测试】123456789
  • 东莞建站模板网络服务通知
  • 开发区网站建设在哪模板之家官网
  • python学习之路(五)