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

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

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

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

一、算法简介

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

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

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

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

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

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

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

二、网络结构


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

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

【笔记】Robust High-Resolution Video Matting with Temporal Guidance相关推荐

  1. Robust High-Resolution Video Matting with Temporal Guidance(具有时间引导的稳健高分辨率的实时视频抠图) 阅读笔记

    文章目录 1. 概要 2. 简介 3. 模型结构 4. 网络训练 4.1 数据集 4.2 训练过程 5. 实验 6. 其它 论文: Robust High-Resolution Video Matti ...

  2. 【翻译】Robust High-Resolution Video Matting with Temporal Guidance

    Robust High-Resolution Video Matting with Temporal Guidance 论文地址 RobustVideoMatting 代码地址 论文阅读笔记 版权声明 ...

  3. 《Robust High-Resolution Video Matting with Temporal Guidance》论文笔记

    主页:homepage 参考代码:RobustVideoMatting 1. 概述 导读:这篇文章提出了一种视频场景下的实时matting算法(1080Ti GPU下4K分辨率76 FPS,HD分辨率 ...

  4. 【论文】——Robust High-Resolution Video Matting with Temporal Guidance浅读

    视频matting 时序监督 摘要 我们介绍了一种稳健.实时.高分辨率的人类视频抠图方法,该方法取得了新的最先进性能.我们的方法比以前的方法轻得多,可以在Nvidia GTX 1080Ti GPU上以 ...

  5. 【笔记】Attention-based Memory video portrait matting

    基于注意力记忆机制的视频人像抠图 本论文主要设计了两部分内容 设计了一个时间聚合模块来计算当前帧和其前两帧之间的时间一致性. 为时间聚合模型提供了直接监督,以进一步提高网络的稳健性. 太水了不想写了, ...

  6. 2021-Deep Video Matting via Spatio-Temporal Alignment and Aggregation

    Deep Video Matting via Spatio-Temporal Alignment and Aggregation 目录 Deep Video Matting via Spatio-Te ...

  7. paper 116:自然图像抠图/视频抠像技术梳理(image matting, video matting)

    1. Bayesian Matting, Chuang, CVPR 2001. http://grail.cs.washington.edu/projects/digital-matting/pape ...

  8. 自然图像抠图/视频抠像技术梳理(image matting, video matting)

    1. Bayesian Matting, Chuang, CVPR 2001. http://grail.cs.washington.edu/projects/digital-matting/pape ...

  9. 自然图像抠图/视频抠像技术发展情况梳理(image matting, alpha matting, video matting)--计算机视觉专题1

    自然图像抠图/视频抠像技术发展情况梳理 Sason@CSDN 持续更新. 当前更新日期2013.03.05, 添加Fast Mating.Global Matting.视频扣像. 当前更新日期2013 ...

  10. Image\Video matting论文调研

    1. Bayesian Matting, Chuang, CVPR 2001. http://grail.cs.washington.edu/projects/digital-matting/pape ...

最新文章

  1. G7终极2.3.7完美版,黑白分明,值得永久收藏使用
  2. Java《剑指Offer》面试题2:替换空格
  3. 今年双 11,阿里业务 100% 上云,云原生有哪些技术亮点?
  4. Flask/Django/Tornado语法对比(持续更新中)
  5. 制打印如下所示的n行数字金字塔_一日一技:在Python中实现阿拉伯数字加上中文数字...
  6. TCP的带宽估计和丢包恢复
  7. E-R图练习(邮件客户端系统)
  8. JavaScript详细解析
  9. 2022 年面向初学者的 10 大免费 3D 建模软件
  10. 数据存储- 存储文件概述
  11. 支持网络和局域网共享文件的windows pe
  12. 【深度学习】Pytorch实现CIFAR10图像分类任务测试集准确率达95%
  13. MAC下虚拟机PD转换成win上可以用的vmware
  14. 深度ip转换器手机版app_一键清理全能版app下载-一键清理全能版app手机版 v1.0.0...
  15. 【程序人生】Java这么卷,你为什么还在坚持?热爱吗?因为穷
  16. 学会做arduino交通灯
  17. 绝对干货 手游 App Store搜索引擎优化教程
  18. 大学物理上复习公式提要
  19. python星号倒金字塔结构_2020智慧树西安外国语大学网课Python语言应用见面课答案...
  20. android控制台没有报出错误,小弟我有意制造了一个错误,但是它却不在Console控制台显示啊100分...

热门文章

  1. 软件测试影响最深的bug,软件测试面试题-那些让我印象深刻的bug
  2. 怎么给计算机D盘分区,C盘分区太大怎么调整分区的大小?
  3. js颜色RGB转十六进制
  4. html网页实现查询功能实现,CSS与媒体查询实现网页导航功能(附代码)
  5. ie浏览器样式兼容写法_浏览器兼容性以及写法
  6. Skype for business之Skype会议直播
  7. 软件设计实验一 UML建模实验
  8. 猿创征文|2022全球程序员薪资排行一览
  9. 安科瑞电气系统Acrel-2000在数据中心机房的应用及产品选型
  10. 视频画面大小剪裁操作教程