超强语义分割算法!基于语义流的快速而准确的场景解析

2023-11-01

论文地址:https://arxiv.org/abs/2002.10120

代码地址:https://github.com/donnyyou/torchcv

该论文提出了一种有效且快速的场景解析方法。通常,提高场景解析或语义分割性能的常用方法是获得具有强大语义表示的高分辨率特征图。广泛使用的有两种策略:使用带孔(空洞)卷积或特征金字塔进行多尺度特征的融合,但会有计算量大、稳定性的考验。

受光流技术启发,通常需要在相邻视频帧之间进行运动对齐,文章中提出了一种流对齐模块(FAM),以学习相邻层级特征图之间的语义流,并有效地将高层特征传播到高分辨率特征当中并进行对齐。此外,将FAM模块集成到一个通用的金字塔结构中,使得即使在非常轻量的骨干网络(如ResNet-18)上,也比其他实时方法具有更高的性能。

实验方面,在几个具有挑战性的数据集上进行了广泛的实验,包括Cityscapes,PASCALContext,ADE20K和CamVid。特别是,网络在Cityscapes上达到80.4%mIoU,帧速率为26 FPS。

1. 简介

场景解析或语义分割是一项基本的视觉任务,旨在对图像中的每个像素进行正确分类。语义分割具有两大需求,即高分辨率和高层语义,而这两个需求和卷积网络设计是矛盾的。

卷积网络从输入到输出,会经过多个下采样层(一般为5个,输出原图1/32的特征图),从而逐步扩大视野获取高层语义特征,高层语义特征靠近输出端但分辨率低,高分率特征靠近输入端但语义层次低。高层特征和底层特征都有各自的弱点,各自的分割问题如图1所示,第二行高层特征的分割结果保持了大的语义结构,但小结构丢失严重;第三行低层特征的分割结果保留了丰富的细节,但语义类别预测的很差。

图1:不同层特征分割结果

FCN(全卷积网络)由于使用了下采样池和卷积层的堆叠,因此缺少对性能至关重要的边界细节信息。为了缓解这个问题,其他方法在其网络的最后几个阶段应用空洞卷积来生成具有强语义表示的特征图,同时保持高分辨率。但是,这样做不可避免地需要进行大量的额外计算。

为了不仅维护详细的分辨率信息,而且获得表现出强大语义表示的特征,另一个方向是建立类似于FPN的模型,该模型利用横向路径以自上而下的方式融合特征图。这样,最后几层的深层特征以高分辨率增强了浅层特征,因此,经过细化的特征有可能满足上述两个因素,并有利于精度的提高。然而,与那些在最后几个阶段持有粗大特征图的网络相比,此类方法仍会遇到精度问题

FPN(Feature Pyramid Network)

将深层信息上采样,与浅层信息逐元素地相加,从而构建了尺寸不同的特征金字塔结构,性能优越,现已成为目标检测算法的一个标准组件。FPN的结构如下所示。

  • 自下而上:最左侧为普通的卷积网络,默认使用ResNet结构,用作提取语义信息。C1代表了ResNet的前几个卷积与池化层,而C2至C5分别为不同的ResNet卷积组,这些卷积组包含了多个Bottleneck结构,组内的特征图大小相同,组间大小递减。

  • 自上而下:首先对C5进行1×1卷积降低通道数得到P5,然后依次进行上采样得到P4、P3和P2,目的是得到与C4、C3与C2长宽相同的特征,以方便下一步进行逐元素相加。这里采用2倍最邻近上采样,即直接对临近元素进行复制,而非线性插值。

  • 横向连接(Lateral Connection):目的是为了将上采样后的高语义特征与浅层的定位细节特征进行融合。高语义特征经过上采样后,其长宽与对应的浅层特征相同,而通道数固定为256,因此需要对底层特征C2至C4进行11卷积使得其通道数变为256,然后两者进行逐元素相加得到P4、P3与P2。由于C1的特征图尺寸较大且语义信息不足,因此没有把C1放到横向连接中。

  • 卷积融合:在得到相加后的特征后,利用3×3卷积对生成的P2至P4再进行融合,目的是消除上采样过程带来的重叠效应,以生成最终的特征图。

FPN对于不同大小的RoI,使用不同的特征图,大尺度的RoI在深层的特征图上进行提取,如P5,小尺度的RoI在浅层的特征图上进行提取,如P2。

文中认为,精度较差的主要原因在于这些方法从较深层到较浅层的无效语义传递。为了缓解这个问题,文中建议学习具有不同分辨率的层之间的语义流。语义流的灵感来自光流方法,该方法用于在视频处理任务中对齐相邻帧之间的像素。

在语义流的基础上,针对场景解析领域,构造了一种新颖的网络模块,称为流对齐模块(FAM)。它以相邻级别的要素为输入,生成偏移场,然后根据偏移场将粗略特征矫正为具有更高分辨率的精细特征。由于FAM通过非常简单的操作将语义信息从深层有效地传输到浅层,因此在提高准确性和保持超高效率方面都显示出了卓越的功效。而且,所提议的模块是端到端可训练的,并且可以插入任何骨干网络以形成称为SFNet的新网络

论文主要贡献:

  • 提出了一种新颖的基于流的对齐模块(FAM),以学习相邻级别的特征图之间的语义流,并有效地将高级特征传播到高分辨率的特征。

  • 将FAM模块插入特征金字塔网络(FPN)框架,并构建名为SFNet的特征金字塔对齐网络,以快速准确地进行场景解析。

  • 详细的实验和分析表明,提出的模块在提高精度和保持轻量化方面均有效。在Cityscapes,Pascal Context,ADE20K和Camvid数据集上取得了最先进的结果。具体来说,网络在Cityscapes数据集上实现了80.4%的mIoU,同时在单个GTX 1080Ti GPU上实现了26 FPS的实时速度

 2. 背景

对于场景解析,主要有两种用于高分辨率语义图预测的方法。一种方法是将空间和语义信息都保留在主要路径上,而另一个方法将空间和语义信息分布到网络中的不同部分,然后通过不同的策略将它们融合合并。

第一个方法主要基于空洞卷积,它在网络中保留了高分辨率的特征图。

第二个方法都将特征图缩小到相当低的分辨率,并以很大的比例对它们进行升采样,这会导致结果变差,尤其是对于小物体和物体边界。

3. 方法

之前的方法中主流的做法是,通过双线性插值方法来进行上采样,并且以自上而下的方式将高级特征图逐渐融合为低级特征图,该方法最初是为对象检测提出的,最近用于场景解析或语义分割邻域中。

虽然整个设计看起来像具有下采样编码器和上采样解码器的对称性,但是一个重要的问题在于通用和简单的双线性插值上采样算法会破坏对称性。双线性插值上采样通过对一组统一采样的位置进行插值来恢复下采样特征图的分辨率(即,它只能处理一种固定的和预定义的未对准),而由残差连接导致的特征图之间的未对准要复杂得多。因此,需要明确建立特征图之间的对应关系以解决其真正的未对准问题。

光流对准模块(FAM)

该任务在形式上类似于通过光流对齐两个视频帧,在这基础上设计了基于流的对齐模块,并通过预测流场来对齐两个相邻级别的特征图。首先通过双线性插值将Fl上采样到与Fl-1相同的大小,然后使用空间大小为3×3的两个核将它们连接在一起形成一个卷积层,并预测Flow Field。然后使用在空间中提出的可微分双线性插值机制来线性插值点pl周围4个邻居的值(左上,右上,左下和右下)。

网络结构

整个网络架构包含自下而上的路径作为编码器和自上而下的路径作为解码器,通过使用上下文建模模块替换完全连接的层,编码器具有与图像分类相同的主干,并且解码器配有FPN(特征金字塔) FAM(光流对齐模块)PPM(金字塔池化模块)

  • backbone

通过删除最后一个完全连接的层,选择从ImageNet 预训练的用于图像分类的标准网络作为我们的骨干网络。具体而言,在实验中使用了ResNet系列,ShuffleNet v2 等。所有主干网络具有四个带有残差块的阶段,并且每个阶段在第一卷积层中都有stride=2以对特征图进行下采样,以实现计算效率和更大的感受野

 

  • 上下文模块

上下文模块 在场景解析中捕获远程上下文信息起着重要的作用,在本文中采用了金字塔池模块(PPM)(源自PSPNet经典工作)。由于PPM输出的分辨率特征图与最后一个残差模块相同,因此将PPM和最后一个残差模块一起视为FPN的最后一个阶段。其他模块,例如ASPP 也可以很容易地以类似的方式插入整个网络的体系结构当中,“实验”部分进行了验证。

  • 具有对齐模块的FPN(特征金字塔)

编码器得到特征图后送入解码器阶段,并将对齐的特征金字塔用于最终场景解析语义分割任务。在FPN的自上而下的路径中用FAM替换正常的双线性插值实现上采样。

4. 实验

Cityscapes数据集上的实验

实现细节:使用PyTorch 框架进行以下实验。所有网络都在相同的设置下训练,其中批量大小为16的随机梯度下降(SGD)被用作优化器,动量为0.9,重量衰减为5e-4。所有模型都经过50K迭代训练,初始学习率为0.01。数据扩充包含随机水平翻转,缩放范围为[0.75,2.0]的随机大小调整以及裁剪大小为1024×1024的随机裁剪。

表1.以ResNet-18为骨干的基线方法的消融研究

几乎可以改善所有类别,特别是对于卡车而言,mIoU改善了19%以上。下图可视化了这两种方法的预测误差,其中FAM极大地解决了大型物体(例如卡车)内部的歧义,并为较小和较薄的物体(例如杆,墙的边缘)产生了更精确的边界。

表. Cityscapes测试集测试效果与最新实时模型的比较。为了公平比较,还考虑了输入大小,并且所有模型都使用单比例推断。

表7. Cityscapes测试集测试效果与最新模型的比较。为了获得更高的准确性,所有模型都使用多尺度推断。

更多实验细节,可关注原文。

5. 总结

在本文中使用所提出的流对齐模块,高级特征可以很好地流向具有高分辨率的低级特征图。通过丢弃无用的卷积以减少计算开销,并使用流对齐模块来丰富低级特征的语义表示,我们的网络在语义分割精度和运行时间效率之间实现了最佳折衷。在多个具有挑战性的数据集上进行的实验说明了我们方法的有效性。由于我们的网络非常高效,并且具有与光流方法相同的思路来对齐不同的地图(即不同视频帧的特征图),因此它可以自然地扩展到视频语义分割中,从而在层次上和时间上对齐特征图。此外,也可以将语义流的概念扩展到其他相关领域,例如全景分割等。

当然,这里面还要很多问题待探究,比如:

1、用于特征对齐的最优网络结构应该怎么设计?目前是采用了类似FlowNet-S的结构,FlowNet-C结构不适合于该任务,原因是高低层特征之间不能像前后帧图像对应层特征之间算相似性。

2、高低层特征对不齐的原因是什么?

3、能否在对不齐发生时就记录下来,而不是事后补救(类似SegNet那种记录Pooling Indices的方式)?

参考

1、目标检测系列秘籍三:多尺度检测

2、知乎文章:https://zhuanlan.zhihu.com/p/110667995

END

备注:分割

图像分割交流群

语义分割、实例分割、全景分割、抠图等技术,若已为CV君其他账号好友请直接私信。

我爱计算机视觉

微信号 : aicvml

QQ群:805388940

微博/知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

在看,让更多人看到  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

超强语义分割算法!基于语义流的快速而准确的场景解析 的相关文章

随机推荐

  • netty实现简单时事通讯_使用 RSocket 进行反应式数据传输

    在微服务架构中 不同服务之间通过应用协议进行数据传输 典型的传输方式包括基于 HTTP 协议的 REST 或 SOAP API 和基于 TCP 字节流的 gRPC 等 HTTP 协议的优势在于其广泛的适用性 有非常多的服务器和客户端实现的支
  • 关于z-index的总结

    z index的作用 很多时候需要把一个元素覆盖到另一个元素之上 比如登入弹出框等 这个时候就需要z index属性出场了 所以呢 z index就是调节层的显示优先级 决定哪个显示在最上方 作用范围就是Positioned element
  • Vmware虚拟机找不到.vmdk文件,不能开机

    Vmware虚拟机找不到 vmdk文件 不能开机 背景 公司的虚拟机平台是宿主机和存储组成的 虚拟机文件是挂载存储上的 由于虚拟机的命名有点乱 更改了一下 顺便把存储上的命名也更改了吗 在开机的时候出现报错 找不到 vmdk文件 原因 当系
  • 统计指定数字的个数

    编写函数统计指定数字的个数 前言 学习python的日常 提示 以下是本篇文章正文内容 下面案例可供参考 题目 本题要求实现一个统计整数中指定数字的个数的简单函数 CountDigit number digit 其中number是整数 di
  • webstorm中怎么搜索文件

    Ctrl N 文件搜索 Ctrl SHIFT R 关键字搜索
  • windows搭建ftp服务器、抓取虚拟机数据包、局域网流量监听

    先保证三台主机在同一局域网下 可以相互ping通 控制面板 gt 程序 gt 程序和功能 gt 启用或关闭windows功能 Web管理工具也要选上 进入管理工具 配置登录用户的权限 访问成功 使用kali登录ftp服务器 用户名 anon
  • MySQL服务器断电无法启动处理过程

    问题描述 2021 09 14 09 02 42 f24 InnoDB Operating system error number 1117 in a file operation InnoDB Some operating system
  • SpringBoot之统一返回格式与统一异常处理

    文章目录 导入Jar包 配置统一结果返回 配置全局异常处理 效果测试 在任何接口返回数据时 正确的返回格式 code 状态码 data 数据 message 接口响应信息 一般接口需要的就是这三个数据 code 200 data succe
  • WEB项目中出现The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in ei问题的解决方法

    web项目出现如上问题 据查是版本问题 JSTL 1 0 的声明是 JSTL1 1 的声明是 项目中 已经是 jstl 1 2 版本了 页面中也全部是用这种方式 javaee5之后就只有 jstl jar 这一个jar包了 没有standa
  • FLASH:一种高效的Transformer设计

    背景 近年来 Transformer凭借其优秀的设计 在文本 图像 语音等方向大杀四方 但是由于其attention的二次复杂度限制了其在长序列上的应用 本文提出了一种快 速度快 省 省显存 的模型FLASH Fast Linear Att
  • Allegro 干货知识分享--如何在Allegro中添加泪滴

    背景介绍 有时候在PCB绘制完成后需要对PCB进行添加泪滴的操作 添加泪滴的作用主要是 信号传输时平滑阻抗 减少阻抗的急剧跳变 避免高频信号传输时由于线宽突然变小而造成反射 焊接时可以保护焊盘 避免多次焊接时焊盘的脱落 生产时可以避免蚀刻不
  • Java与C#比较,哪个语言更是适合你?

    Java与C 比较 哪个语言更是适合你 先来说一说Java和c 的一些语言细节上的区别 第1个方面是数据类型方面 c 支持nullable数据类型 而Java不支持 c 支持指针类型 而Java不支持 c 支持无符号整形型 而Java不支持
  • 给一串字符串,打乱字符串顺序

    import java util Random public class Pratice 给一串字符串 打乱字符串顺序 修改字符串有两个思路 1 subString 2 字符数组 public static void main String
  • 4.0寸86盒显示屏调试(三)

    读取了个把星期也没读取出正确的ID号 最终放弃了读取 考虑是不是液晶屏根本没有输出功能 在使用SPI驱动以后 也没有显示白屏或者任何可以让人感觉驱动正确的现象 最终也放弃了在SPI上搞出个现象 转而使用RGB协议直驱 但还是没有结果 最后还
  • 百奥赛图财报解读:CRO业务枝繁叶茂,“千鼠万抗”遍地生花

    命运对勇士说 你无法抵御风暴 勇士回应 我就是风暴 这段对话是对中国创新药行业最好的诠释 回顾中国创新药近十年高速发展期 上千家创新药公司先后诞生 行业被资本推动一路 狂飙 根据医药魔方数据 创新药一级市场报道的融资额从2013年的36亿元
  • 计算机毕业设计-基于SSM的音乐播放器管理系统

    项目摘要 随着社会的发展 计算机的优势和普及使得音乐播放器管理系统的开发成为必需 音乐播放器管理系统主要是借助计算机 通过对首页 音乐推荐 付费音乐 论坛信息 个人中心 后台管理等信息进行管理 减少管理员的工作 同时也方便广大用户对个人所需
  • openGL增强表面细节--高度贴图

    openGL系列文章目录 文章目录 openGL系列文章目录 前言 一 高度贴图原理 二 代码实现 1 c 主程序 2 着色器程序 运行效果 源码下载 前言 现在我们扩展法线贴图的概念 从纹理图像用于扰动法向量到扰乱顶点位置本身 实 际上
  • 深度学习环境配置5——windows下的torch-cpu=1.2.0环境配置

    深度学习环境配置5 windows下的torch cpu 1 2 0环境配置 注意事项 一 2021 10 8更新 学习前言 各个版本pytorch的配置教程 环境内容 环境配置 一 Anaconda安装 1 Anaconda的下载 2 A
  • SystemServer启动服务

    一 启动流程 SystemServer的在Android体系中所处的地位 SystemServer由Zygote fork生成的 进程名为system server 该进程承载着framework的核心服务 startSystemServe
  • 超强语义分割算法!基于语义流的快速而准确的场景解析

    论文地址 https arxiv org abs 2002 10120 代码地址 https github com donnyyou torchcv 该论文提出了一种有效且快速的场景解析方法 通常 提高场景解析或语义分割性能的常用方法是获得