Real-Time High-Resolution Background Matting

论文链接:https://arxiv.org/pdf/2012.07810.pdf
发表出处:2020 CVPR
1.研究背景
虽然现在许多工具提供了背景替换功能,但是它们会在边界产生伪影,特别是在有细微细节的区域,比如头发或眼镜。
往往能在细微细节区域表现良好的抠图技术处理速度都比较慢,不能达到实时性的要求。
所以设计一个能够在高分辨率视频上实现实时抠图的神经网络是极具挑战性的
2.主要内容
针对视频背景抠图,文章主要内容就是下面这五个方面
1.实现了实时且高分辨率的背景抠图,在GPU上,4K分辨率上速度可以达到30帧/秒;HD分辨率上速度可以达到60帧/秒
2.实现了高分辨率alpha matte 的计算,在实时处理高分辨率图像的同时保持了发丝级别的细节
3.文章提出的抠图方法是基于背景的抠图,需要单独捕捉一帧背景图,用于重建 alpha matte 和前景层
4.采用两个神经网络,base 网络计算低分辨率结果; refine 网络在高分辨率图像所选择的图片块上实施进一步处理.
5.构建了两个新的高分辨率抠图数据集:VideoMatte240K 和 PhotoMatte 13K/85
3.前景残差
给定图像 I 以及捕捉的背景 B, 算法会预测输出 alpha matte α 和前景 F, 基于I=αF+(1-α)B,可以被任何背景来组合形成新的图片,B’就是新的背景.
相较于之前的直接求解前景,文章求的是前景残差FR=F-I,然后,可以通过将FR加入到输入图像I中,并通过F = max ( min( FR + I , 1 ) , 0 ) 来恢复F.
文章指出,这个公式提高了学习效果,并且可以通过上采样将低分辨率的前景残差应用到高分辨率的输入图像上,也就是说可以将前景预测放置在较低的分辨率网络下.
4.误差预测图
高分辨率下的抠图充满挑战,因为应用深度网络直接导致不切实际的计算和内存消耗。

如图所示,人类的抠图通常是非常稀疏的,其中大面积的像素属于背景(α = 0 )或前景(α = 1 ),只有少数区域涉及更精细的细节,例如,头发、眼镜和人的轮廓周围。
所以,文章没有只设计一个对高分辨率图像进行操作的网络,而是引入了两个网络:基础网络在较低分辨率下操作;细化网络在原始分辨率下根据前一个网络的预测对选定的区域进行操作。
5.网络框架
由一个基础网络Gbase和一个细化网络Grefine组成。

给定原始图像I和捕获的背景B,首先对其进行系数为c的下采样生成Ic和Bc。基础网络Gbase将Ic和Bc作为输入,并预测粗粒度的alpha matte α、前景残差FRc、误差预测图Ec和隐藏特征Hc
然后,细化网络Grefine利用Hc、I和B,只在预测误差Ec较大的区域对αc和FRc进行细化,并在原始分辨率下产生α和前景残差FR
6.基础网络

基础网络由Backbone、ASPP(空间金字塔池化)和Decoder三个部分组成

主干网络采用 ResNet50
类似于 DeepLabV3,在 backbone 网络后接 ASPP(Atrous Spatial Pyramid Pooling) 模块
解码网络的每一步采用双线性上采样,并连接来自主干网络的跳跃连接
解码器网络输出粗粒度的alpha matte 、前景残差、误差预测图和一个32通道的隐藏特征。
隐藏特征包含了对细化网络有用的全局上下文。
基础网络Backbone、ASPP(空间金字塔池化)和Decoder三个部分组成
主干网络采用 ResNet50
类似于 DeepLabV3,在 backbone 网络后接 ASPP(Atrous Spatial Pyramid Pooling) 模块
解码网络的每一步采用双线性上采样,并连接来自主干网络的跳跃连接
解码器网络输出粗粒度的alpha matte 、前景残差、误差预测图和一个32通道的隐藏特征。
隐藏特征包含了对细化网络有用的全局上下文。
7.细化网络
Refinement 网络的目标是,降低冗余计算量,并重建高分辨率抠图细节.
基础网络的输出结果是原始尺寸的1/c,C会根据输入尺寸的变化而变化,比如4K分辨率时的取值就是8,得到基础网络输出的粗略优化结构之后,文章对预测错误图Ec进行采样,使其变为原始输入尺寸的1/4,所以对于预测错误图Ec而言,就变成了E4,它的每个像素对应于原始图像分辨率的一个 4x4 图像块,从E4中选取预测误差最大的k个像素(k 是提前设定的,或着是根据抠图质量和计算量平衡的阈值计算来设定的),所以对于原始分辨率的细化像素总数是44K。
Refinement 网络是 two-stage 的,分别处理原始分辨率的二分之一和全分辨率.
(1)将粗粒度的alpha matte α、前景残差FRc、误差预测图Ec和隐藏特征Hc采样到原始输入尺寸的1/2,并且将他们合并起来,然后在E4选中的位置上裁剪出88大小的块,送入两个带有有效填充的卷积之后变成44,然后将这些中间特征再次上采样到8×8,并把它们和从原始分辨率的输入I和背景B的相应位置中提取的8×8块进行连通。然后,再送入两个带有有效填充的卷积,就获得4×4的alpha matte和前景残差结果
(2)第二步,将粗略的 alpha matte αc、前景残差 FR~c上采样到原始分辨率,并交换被细化后的 4x4 图像块,以得到最终的 alpha matte α 和 前景残差 FR
8.损失函数
关于 GT α*和α,采用 L1 损失 计算整个 alpha matte 和对应的 Sobel 梯度损失函数:

根据预测的前景残差以及F = max ( min( FR + I , 1 ) , 0 ),得到前景层;
仅对于 GT α* >0的像素区域计算L1 损失:

其中 α*>0是布尔表达式
对于细化区域选择,将ground truth误差图定义为E*=|α- α*|。然后,计算预测误差图和ground truth误差图之间的均方误差:

这种损失会促使预测的误差图具有更大的值,其中预测的alpha与ground truth 之间的差异较大。当预测的alpha值提高时,ground truth误差图会在训练过程中随着迭代次数的变化而变化。随着时间的流逝,误差图会收敛并预测复杂区域(例如,局部区域)中的高误差。头发,如果简单地进行过采样,将导致合成效果不佳。
对于基础网络的损失函数如下:

对于细化网络的损失函数如下:

9.训练次序
(1)首先,仅训练 base 网络 ;
(2)在数据集 VideoMatte240K 上,联合训练整个模型;
(3)然后,在数据集 PhotoMatte 13K 联合训练模型,以提升高分辨率细节.
(4)最后,在公开数据集(646 张训练数据)上联合训练模型.)
10.结果
这是抠图的视觉效果,这是文章编写的zoom插件和之前的zoom抠图效果的对比

抠图的速度对比


模型参数及大小对比:

Real-Time High-Resolution Background Matting相关推荐

  1. 论文翻译:Real-Time High-Resolution Background Matting

    论文地址:https://arxiv.org/pdf/2012.07810.pdf 文中所有图片与表格统一移动至了文末 实时高分辨率背景抠图 摘要 我们介绍了一种实时的.高分辨率的背景替换技术.使用现 ...

  2. Background Matting视频抠图

    转自:https://zhuanlan.zhihu.com/p/148265115 开源代码:https://github.com/senguptaumd/Background-Matting 使用人 ...

  3. 【论文阅读笔记】Real-Time High-Resolution Background Matting

    论文地址:https://arxiv.org/abs/2012.07810 代码地址:https://github.com/PeterL1n/BackgroundMattingV2 论文小结   本文 ...

  4. Background Matting详解

    转自:https://zhuanlan.zhihu.com/p/148265115?from_voters_page=true https://www.aiuai.cn/aifarm1462.html ...

  5. Background Matting V2 学习

    论文: [2012.07810] Real-Time High-Resolution Background Matting (arxiv.org) GitHub项目源码:GitHub - PeterL ...

  6. matting系列论文笔记(二):Background Matting: The World is Your Green Screen

    matting系列论文笔记(二):Background Matting: The World is Your Green Screen 论文链接: 2017 Background Matting: T ...

  7. 《Background Matting V2:Real-Time High-Resolution Background Matting》论文笔记

    主页:background-matting-v2 参考代码:BackgroundMattingV2 1. 概述 导读:这篇文章在之前V1版本(在512*512输入的情况下只能跑到8FPS)的基础上针对 ...

  8. 《Background Matting:The World is Your Green Screen》论文笔记

    主页:background-matting 参考代码:Background-Matting 1. 概述 导读:这篇文章对于自然场景下人像抠图提出了一种新的matting方法,在该方法中引入一张背景图片 ...

  9. CVPR2021最新接收论文合集!22个方向100+篇论文汇总

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 导读 CVPR2021结果已出,本文为CVPR最新接收论文的资源汇总贴,附有相关文章与代码链接. 官网 ...

最新文章

  1. java矩阵传递给r_从JAVA调用R得到卡方统计和p值
  2. matlab 动态库 二次调用,LINUX matlab编译动态库调用崩溃
  3. sql实现like多个值的查询
  4. 大二下学期软件工程概论总结
  5. 【AI视野·今日NLP 自然语言处理论文速览 第十九期】Mon, 5 Jul 2021
  6. java 返回两个值_Java - Number类
  7. 如何在mysql中创建过程_如何在MySQL 中创建存储过程?
  8. 蓝牙 查询码 android,android bluetooth UUID蓝牙查询表
  9. HDU_1874_畅通工程续_最短路问题
  10. MySQL入门总结和学习笔记
  11. C#两种方法输出1~100间的质数(素数)
  12. D. Relatively Prime Graph codeforces 1009 D
  13. python小白系列1
  14. 2012 CSP-S 初赛 答案解析
  15. 1.PlantUML-时序图
  16. 【数据说第九期】如何分析用户行为数据,来驱动业务增长?
  17. 常见的医学图像成像(总)
  18. html游戏计算器,HTML自制计算器
  19. 在线python编辑器-在线python编辑器
  20. Linux 阻塞和非阻塞 IO 实验

热门文章

  1. linux系统安装达梦数据库
  2. twitter要我绑定手机_Twitter我的糖尿病
  3. 通信教程 | 常见串行通信基础原理
  4. java正则在线转换_java正则表达式(转)
  5. iOS图像渲染 + 动画探索
  6. Tecplot中自定义函数
  7. 学office用哪本书最全最好_用这6款软件记笔记,不要太爽!丨上进青年研习社...
  8. arcgis,裁剪投影不一致的矢量和栅格
  9. 上帝视角实现 引用大神,不是原创
  10. codeforces 821 B Okabe and Banana Trees