【笔记】Robust High-Resolution Video Matting with Temporal Guidance

article/2025/9/28 4:54:43

Robust High-Resolution Video Matting with Temporal Guidance算法笔记

  • 一、算法简介
  • 二、网络结构
  • 三、训练
    • 1、数据集
    • 2、训练过程
    • 3、损失函数

Robust High-Resolution Video Matting with Temporal Guidance 论文地址
RobustVideoMatting 代码地址
Robust High-Resolution Video Matting with Temporal Guidance 论文翻译

版权声明:本文为CSDN博主「Kaleidoscope-」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45929156/article/details/123297720

一、算法简介

语义分割
图像是由许多像素(Pixel)组成,而语义分割顾名思义就是将像素按照图像中表达语义含义的不同进行分组(Grouping)/分割(Segmentation)。例如让计算机在输入下面左图的情况下,能够得到右图。在图像领域,语义指的是图像的内容,对图片意思的理解。
在这里插入图片描述

抠图算法
已知输入图像 I I I,背景图像 B B B,求图像 I I I的前景 F F F,以及前景概率 α α α。(前景与背景相对,指我们所需的人像及人所持的物体) I = α F + ( 1 − α ) B ( 1 ) I = αF+(1-α)B \quad (1) I=αF+(1α)B1

所以视频中的每一帧 I I I 可以被看作是前景 F F F 和背景 B B B 通过 α α α 系数的线性组合,通过提取 α α α F F F,我们可以将前景物体合成到新的背景中,达到背景替换的效果。

现在的大多数方法都是将视频的每一帧作为独立的图像,因此,这些方法忽略了视频中最普遍的特性:时间信息。
在之前的Background matting算法中是逐帧进行预测的,因而并没有很好使用视频帧本身的时序特性,但是这样的时序特征正是可以对抠图的结果带来较大的提升,主要体现为:

  1. 视频帧之间预测的结果是存在序列相关性的,因而可以根据这个相关性得到更加鲁棒的抠图结果
  2. 使用序列帧作为输入,可以随着目标的移动学习到丰富的背景信息
  3. 视频本身的时序特性为引入类LSTM提供了前提,从而可以更加有效提取特征用于背景预测

除了上述提到的引入视频序列到网络结构中之外,文章还将整个网络构建为一个语义分割和抠图的多任务网络,从而可以在两个任务上进行优势互补。这样做的原因可以归纳为如下几点:

  1. 人像语义分割和抠图任务在某种程度上是共通的,这就为两者联合起来提供基础
  2. 大多数现有的抠图数据集只提供了必须合成到背景图像中的ground-truth α \alpha α和前景,这种合成看起来有点假,另一方面语义分割的数据集是真实图片,背景特征丰富,能够防止对合成数据的过拟合;
  3. 人像语义分割的数据集从数量还是标注成本上都远好于抠图数据集

二、网络结构

在这里插入图片描述
(图2:我们的网络由特征提取编码器、递归解码器和深度引导滤波器(DGF)模块组成。为了处理高分辨率视频,编码器-解码器网络首先对输入进行下采样,然后使用DGF对结果进行上采样。)

  • 编码器(Encoder):
    作用:提取特征
    主干网络:MobileNetV3-Large
    语义分割:LR-ASPP 模块
    编码器对单独的帧进行操作,并为循环解码器提取 1 2 \frac{1}{2} 21 1 4 \frac{1}{4} 41 1 8 \frac{1}{8} 81 1 16 \frac{1}{16} 161规模大小的特征。目的是尽可能多的提取低级特征和高级特征,从而利用提取到的空间信息和全局信息精确分割。
    在输入编码器之前会对高分辨率的图片进行下采样得到低分辨率的输入图像,之后经过backbone为MobileNetV3-Large(最后一个stage用膨胀卷积替换下采样操作),然后接上多尺度聚合LR-ASPP,从而得到输出尺度为 ( 1 2 , 1 4 , 1 8 , 1 16 ) (\frac{1}{2},\frac{1}{4},\frac{1}{8},\frac{1}{16}) (21,41,81,161)在这里插入图片描述

  • 递归解码器(Recurrent Decoder):
    作用:聚合时间信息
    解码器部分主要利用上采样操作逐步恢复空间维度,融合编码过程中提取到的特征,在尽可能减少信息损失的前提下完成同尺寸输入输出。
    文章并没有采用注意力机制或者将前馈的多帧作为额外的输入,而是采用反馈机制,引入了ConvGRU对时序信息进行处理。上一级的特征输入之后会对其在channel维度上进行切分,一部分走传统的解码单元,一部分走ConvGRU。这样做的目的是兼容当前视频帧的信息和过往帧的信息。
    此外,还在低分辨率的解码单元中引入低分辨率的原图,这样可以增加一些细节的引导。
    在这里插入图片描述
    解码器包含:
    a、Bottleneck block :在LR-ASPP模块之后,对1/16大小规模的特征进行操作,采用 ConvGRU。
    在这里插入图片描述
    b、Upsampling block:重复运用于1/8,1/4和1/2规模大小的特征,采用 ConvGRU。
    在这里插入图片描述
    c、Output block在这里插入图片描述

  • 深导滤波器(DGF)
    可选模块,用于处理4K和HD这样的高分辨率视频,对输入帧进行因子s的下采样,然后将低分辨率 α \alpha α、前景F、最终隐藏特征以及高分辨率输入帧提供给DGF模块,生成高分辨率 α \alpha α 和前景F。实际上就是一个融入了可学习参数的引导滤波器,可以更好地拟合出一个边缘精确的分割结果。
    原理可参考:基于可学习参数的深度导向滤波器 Deep Guide Filter
    在这里插入图片描述

三、训练

1、数据集

抠图数据集

  • VideoMatte240K (VM)
  • Distinctions-646 (D646)
  • Adobe Image Matting(AIM) datasets

语义分割数据集

  • YouTubeVIS
  • COCO
  • SPD

2、训练过程

第一阶段:首先在没有DGF模块的情况下对video matting进行低分辨率的训练。设定一个短序列长度T=15帧,这样网络就能更快地得到更新。

第二阶段:将T增加到50帧,将学习率降低一半,并保持第一阶段的其他设置来训练 。

第三阶段:加上DGF模块,video matting模型训练用高分辨率的样本训练1个epoch。由于高分辨率会消耗更多的GPU内存,所以序列长度必须被设置为非常短。为了避免递归网络对非常短的序列过度拟合,我们在低分辨率的长序列和高分辨率的短序列训练网络。

第四阶段:在D646和AIM的组合数据集上训练了5个epoch。

3、损失函数

损失函数参考博客:RVM算法笔记

文章的方法是人像语义分割和matting联合训练的,因而网络的损失就是源自于这两个任务。

  1. 抠图损失:
    首先对matting中的alpha使用L1损失和拉普拉斯金字塔损失,并在此基础上考虑到视频的时序特性引入alpha时序相关性损失(也就是对alpha帧差进行回归):在这里插入图片描述
    对于matting的fg部分使用的是L1损失加上时序相关损失的形式:在这里插入图片描述
    因而,整体上损失可以描述为:在这里插入图片描述
  2. 人像语义分割损失:
    这里人像分割损失采用的是二值较差熵损失的形式:在这里插入图片描述

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

相关文章

【Matting】MODNet:实时人像抠图模型-笔记

paper:MODNet: Real-Time Trimap-Free Portrait Matting via Objective Decomposition (AAAI 2022) github:https://github.com/ZHKKKe/MODNet 抠图在线体验:CV案例 部署教程: 【Matting】MODNet:实时人像抠图模型…

Image Matting 客观评价指标、数据集及主观评价

Image Matting 客观评价指标、数据集及主观评价 2021.7更新 PPM-100数据集已经开放,GitHub,详情见下文章节2.4 目录 Image Matting 客观评价指标、数据集及主观评价2021.7更新 客观评价指标1. 精度1.1 SAD1.2 MSE 均方误差1.3 Gradient error1.4 Conne…

深度学习(7)之图像抠图 Image Matting算法调研

目录 1.Trimap和Strokes 2. 相关数据集 3.论文算法调研 3.1 Deep Image Matting 3.2 Semantic Image Matting 3.3 Background Matting 3.4 Background Matting V2 3.5 Semantic Human Matting 3.6 HAttMatting 3.7 MMNet:Towards Real-Time Automatic Portrait Matt…

【SHM】Semantic Human Matting抠图算法调试

前言: 2018年阿里的论文《Semantatic Human Matting》给出了抠图领域的一个新方法,可惜阿里并没有公布源码,而牛人在Github上对这个论文进行了复现,我也是依赖Github上的工程进行钻研,而在调试的过程中,发…

[Matting]论文阅读:Deep Image Matting 详细解读

[Matting]论文阅读:Deep Image Matting 详细解读 一 、摘要 任务二、方法2.1 第一部分(Matting encoder-decoder stage)2.2 第二部分(Matting refinement stage)2.3 数据部分(Composed Datasets&#xff09…

【CVPR2022】MatteFormer: Transformer-Based Image Matting via Prior-Tokens

MatteFormer: Transformer-Based Image Matting via Prior-Tokens 中文题目: 借助先验Token的基于Transformer的图像抠图 paper:https://arxiv.org/pdf/2203.15662v1.pdf code:https://github.com/webtoon/matteformer 摘要 本文提出了一个基于Tran…

Image Matting代码和算法效果总结

本文参考了:http://blog.leanote.com/post/610167078qq.com/Image-Matting。作者给出了大部分matting-code的链接,说明也比较细致、系统,在这里向作者表示由衷地感谢!以下是博客的原文: 肖总博客:http://3…

matting笔记_一周小结

去年刚入坑的旧笔记,刚翻出来… 1. 利用神经网络做抠图的入坑之作《Deep Image Matting》 详情见之前的笔记 matting系列论文笔记(一):Deep Image Matting 由于image matting的工作没有特别好的综述,有的综述也不是…

Matting 基于DeepLearning 入门

前言 是比较清晰的用思维导图的形式介绍了一些Matting 基于DeepLearning 的经典论文,如 Deep Image matting可以通过这篇初步了解深度学习Matting领域该篇论文可以看作是基于深度学习研究Matting的开山之作,之后的许多有效、可行度高的做法都是基于这篇…

Matting和Segmentation区别及模型概述

一、两者区别 Segmentation:常被认为是硬分割(Hard Segmentation),就是将图片中的像素分成多个类别,如果是前背景分割,那么就是分成两个类别,一个类别代表前景,一个类别代表背景。而…

如何清除Safari,Chrome和Firefox中的缓存,历史记录和Cookie

如何清除浏览器的cookie缓存?许多网站的通知,用户记住账号密码登录状态,都是通过浏览器cookie缓存,定期清理Safari,Chrome和Firefox中的缓存,历史记录和Cookie,可以让浏览器保持一个良好的状态,也可以保护我们的隐私。…

Nginx缓存服务

文章目录 一、缓存概述(1)缓存的作用(2)缓存常见的类型(3)Nginx缓存的原理 二、配置Nginx缓存(1)主配置文件中缓存的语法(2)配置Nginx缓存-实验环境-实验目的…

android7.0清除缓存,iPhone7如何清理应用缓存 iphone7清理应用缓存教程

手机使用后会留下一些缓存垃圾,那么 iPhone7如何清理应用缓存? 下面就带来iphone7清理应用缓存教程,一起来学习下。 方法1:强行重启 强行重启(也叫冷重启)能够帮助iOS的设备清理一下临时文件,定期强行重启一下设备&…

Chrome Edge Firefox Safari 如何清除 DNS 缓存

Chrome Edge Firefox Safari 如何清除 DNS 缓存 如何清除浏览器的 DNS 缓存 (Chrome, Firefox, Safari) Chrome Chromium Edge Firefox Safari clear DNS Cache, flush DNS cache 请访问原文链接:https://sysin.org/blog/clear-browser-dns-cache/,查…

苹果电脑怎么清理垃圾和缓存文件,mac如何清理系统缓存文件

电脑使用的时间越久,系统运行就会变得越来越卡,这是Windows和Mac系统都会出现的现象。为了提高系统运行速度,我们有必要清理一下电脑缓存。那么苹果电脑怎么清理垃圾和缓存文件?本指南将详细讲解清理Mac缓存的技巧,还补…

浏览器缓存导致的问题:

1、需要的效果如下: 2、添加样式之后,样式会生效,但是没有达到上面的效果,表单会消失掉,只剩下一个黑色的背景图 4、原因: 因为浏览器的缓存问题导致的样式没有显示出来 5、解决办法: 清除掉…

浏览器缓存

文章目录 前端缓存|后端缓存按缓存位置分类缓存过程memory cachedisk cacheService WorkerPush Cache 强制缓存适用场景ExpiresCache-Control 协商缓存(也叫对比缓存)适用场景ETag和Last-Modified区别 缓存相关问题缓存穿透缓存击穿缓存雪崩 前端缓存|后…

苹果清除缓存_苹果手机卡顿别着急换,调整这5个功能,iPhone 6S还可以再战两年...

阅读本文前,请您先点击上面的“议科技”,关注,这样您就可以继续收到最新文章了。每天都有分享。完全是免费订阅,请放心关注。 平时在使用苹果手机的时候,时间用久了,是不是觉得手机有些卡顿?使用…

如何在Mac iPhone和iPad上清除Safari缓存?

每当您在Safari中浏览网络时,浏览器都会存储网站数据,因此您不必在每次重新访问网站时都再次下载该数据。从理论上讲,这应该可以加快您的浏览体验,但是在某些情况下,您可能需要清除缓存并重新开始。如何清除Safari缓存…

Safari iOS 清除缓存、在手机端调试方法 [ For Mac ]

前提: 手头有Mac 写手机页面的时候,很多时候都会在手机上查看,但 iPhone 上的 Safari 浏览器有着很严重的缓存效果。 如何清除缓存呢 打开 iPhone 上的调试开关 在 【设置】->【Safari 浏览器】-> 最下面的【高级】里面 &#xff08…