主页:background-matting
参考代码:Background-Matting

1. 概述

导读:这篇文章对于自然场景下人像抠图提出了一种新的matting方法,在该方法中引入一张背景图片作为参考,此后尽量保持背景画面不动(手持设备存在合理的抖动也可以),将语义分割模型的分割结果/前后帧(可选)也引入作为额外的依据信息。为了使这些信息能够发挥最大的作用,文章引入了一个CS(Context Switching block )模块去有效选取有用信息,从而经过解码器之后得到更加准确的matting结果。此外,由于matting的过程中往往会夹杂一些背景的像素信息,文章引入GAN网络去判断融合图像的真假,并使用教师网络(已经训练收敛的网络)去引导学生网络生成matting结果,从而使得matting的融合结果更加自然。

文章的方法是不需要trimap的matting方法,使用CS模块去提取多个输入的有用信息,之后通过解码器得到最后的结果。但是一般情况下matting的结果中或多或少夹带一些背景像素信息,这就造成了边缘不够友好,通过数据增广和CS模块却是可以得到一定程度上的好转,但是还是存在较为明显的问题,对此文章是通过GAN网络/“知识蒸馏”的形式去优化最后的matting融合结果。

文章的方法也是存在下面列出的缺陷的:

  • 1)需要两张图像,一张静态背景和一张包含目标的图像;
  • 2)需要静态的背景且拍摄的时候画面的抖动尽可能小;
  • 3)文章的方法是偏向于人像的;

在下图中展示的是文章的方法的使用流程:

2. 方法设计

2.1 整体pipline

文章的方法结构见下图所示:

文章的方法主要划分为两个部分:

  • 1)由CS模块构建的编码器与解码器组合生成前景区域的彩色预测结果(fg)和alpha图;
  • 2)以训练好的网络作为teacher,再加上GAN去判断融合结果是否真实,从而优化matting的融合效果;

2.2 Adobe数据集上的监督训练

文章的方法在Adobe Matting Dataset上剔除一些包含透明目标(如玻璃杯)的图片(最后得到280张)进行训练。文章的网络包含包含4部分的输入:

  • 1)图像III,该图像是背景图B‘B^{‘}B‘和前景进行融合的结果;
  • 2)背景图B‘B^{‘}B‘,该图像是选中的背景图,但是在实际过程中其与真实的背景BBB是不太一样的,文章中为了拉近这两个图片的差异,在真实背景BBB上做γ∼N(1,1.02)\gamma\sim\mathcal{N}(1,1.02)γ∼N(1,1.02)的gamma矫正,或是在前景区域添加η∼N(μ∈[−1,7],σ∈[2,6])\eta\sim\mathcal{N}(\mu\in[-1,7],\sigma\in[2,6])η∼N(μ∈[−1,7],σ∈[2,6])的高斯噪声;
  • 3)软分割的结果SSS,文章中是通过分割网络分割得到,将得到的分割结果进行5次腐蚀和10次膨胀,之后施加σ=5\sigma=5σ=5的高斯滤波。为了更近一步模拟分割不理想的情况,文章会对分割结果使用更大力度的腐蚀和膨胀等操作;
  • 4)前后帧序列MMM,文章还引入视频前后帧来进行信息的补充,这里采用的是前后2帧的灰度图{I−2T,I−T,IT,I2T}\{I_{-2T},I_{-T},I_{T},I_{2T}\}{I−2T​,I−T​,IT​,I2T​},而在非视频的时候可以将其设置为同一图像;

结合上面的4个输入可以得到网络的组合输入X={I,B‘,S,M}X=\{I,B^{‘},S,M\}X={I,B‘,S,M},之后通过网络得到最后的前景预测结果和alpha图:
(F,α)=G(X;θ)(F,\alpha)=G(X;\theta)(F,α)=G(X;θ)
为了能够更好利用上面输入的4个输入信息,避免偏向依赖问题,文章使用CS模块选择这4个输入中对最后matting最有价值的信息。也就是如图2中给出的SelectorCombinator

由于这部分网络是在Adobe数据集下完成训练,顾这里将其将其写为为GAdobe=G(⋅,θAdobe)G_{Adobe}=G(\cdot,\theta_{Adobe})GAdobe​=G(⋅,θAdobe​),以便和后面网络区分开。对与这部分网络的损失,是由4个分量组成的:alpha图的L1损失,alpha图的梯度损失,2倍的前景区域L1损失,由结果进行重建的L1损失。其表达为:
min⁡θAdobeEX∼px[∣∣α−α∗∣∣1+∣∣∇(α)−∇(α∗)∣∣1+2∣∣F−F∗∣∣1+∣∣I−αF−(1−α)B∣∣1]\min_{\theta_{Adobe}}E_{X\sim p_x}[||\alpha-\alpha^{*}||_1+||\nabla(\alpha)-\nabla(\alpha^{*})||_1+\\ 2||F-F^{*}||_1+||I-\alpha F-(1-\alpha)B||_1]θAdobe​min​EX∼px​​[∣∣α−α∗∣∣1​+∣∣∇(α)−∇(α∗)∣∣1​+2∣∣F−F∗∣∣1​+∣∣I−αF−(1−α)B∣∣1​]
文章的CS模块对结果的影响见下图所示:

前后帧信息对结果的影响:

2.3 基于GAN的融合优化

通过文章提出的CS模块和数据增广策略可以减少合成数据到真实数据之间的gap,但是这个gap依然还是存在的,特别是在以下的一些情况中表现不佳:

  • 1)在手指/胳膊/头发等区域;
  • 2)分割错误结果错误,分割模型结果有问题;
  • 3)前景与背景的颜色接近;
  • 4)后续的图像与背景之间没有对齐,存在移位,如背景的变化与抖动;

上面的问题一般会导致matting之后的结果与新的背景之间融合不正确的情况,表现为会夹带一些原有背景的像素信息。对此文章通过训练一个对抗网络去鉴别融合的真假,从而提升matting网络的matting质量。

这里将生成器定义为(F,α)=G(⋅,θReal)(F,\alpha)=G(\cdot,\theta_{Real})(F,α)=G(⋅,θReal​),它与之前的网络是一致的只是参数是通过随机初始化的方式设定。原有网络(F^,α^)=G(X;θAdobe)(\hat{F},\hat{\alpha})=G(X;\theta_{Adobe})(F^,α^)=G(X;θAdobe​)的输出作为生成网络的回归目标,类似于知识蒸馏的形式。文章使用LS_GAN的形式构建对抗网络,其生成器部分目标函数为:
min⁡θRealEX,Bˉ∼pX,Bˉ[D(αF+(1−α)Bˉ)2+λ{2∣∣α−α^∣∣1+4∣∣∇(α)−∇(α^)∣∣1}+∣∣F−F^∣∣1+∣∣I−αF−(1−α)B‘∣∣1]\min_{\theta_{Real}}E_{X,\bar{B}\sim p_{X,\bar{B}}}[D(\alpha F+(1-\alpha)\bar{B})^2+\\ \lambda\{2||\alpha-\hat{\alpha}||_1+4||\nabla(\alpha)-\nabla(\hat{\alpha})||_1\}+||F-\hat{F}||_1+\\ ||I-\alpha F-(1-\alpha)B^{‘}||_1]θReal​min​EX,Bˉ∼pX,Bˉ​​[D(αF+(1−α)Bˉ)2+λ{2∣∣α−α^∣∣1​+4∣∣∇(α)−∇(α^)∣∣1​}+∣∣F−F^∣∣1​+∣∣I−αF−(1−α)B‘∣∣1​]
判别器部分的目标函数为:
min⁡θDiscEX,Bˉ∼pX,Bˉ[(D(αF+(1−α)Bˉ))2]+EI∈pdata[(D(I)−1)2]\min_{\theta_{Disc}}E_{X,\bar{B}\sim p_{X,\bar{B}}}[(D(\alpha F+(1-\alpha)\bar{B}))^2]+E_{I\in p_{data}}[(D(I)-1)^2]θDisc​min​EX,Bˉ∼pX,Bˉ​​[(D(αF+(1−α)Bˉ))2]+EI∈pdata​​[(D(I)−1)2]
对于结果的后处理是通过阈值α>0.05\alpha\gt0.05α>0.05进行二值化,之后选择最大的NNN个连通区域,这个数量是通过分割网络确定的。

3. 实验结果

《Background Matting:The World is Your Green Screen》论文笔记相关推荐

  1. 论文笔记之Understanding and Diagnosing Visual Tracking Systems

    Understanding and Diagnosing Visual Tracking Systems 论文链接:http://dwz.cn/6qPeIb 本文的主要思想是为了剖析出一个跟踪算法中到 ...

  2. 《Understanding and Diagnosing Visual Tracking Systems》论文笔记

    本人为目标追踪初入小白,在博客下第一次记录一下自己的论文笔记,如有差错,恳请批评指正!! 论文相关信息:<Understanding and Diagnosing Visual Tracking ...

  3. 论文笔记Understanding and Diagnosing Visual Tracking Systems

    最近在看目标跟踪方面的论文,看到王乃岩博士发的一篇分析跟踪系统的文章,将目标跟踪系统拆分为多个独立的部分进行分析,比较各个部分的效果.本文主要对该论文的重点的一个大致翻译,刚入门,水平有限,如有理解错 ...

  4. 目标跟踪笔记Understanding and Diagnosing Visual Tracking Systems

    Understanding and Diagnosing Visual Tracking Systems 原文链接:https://blog.csdn.net/u010515206/article/d ...

  5. 追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems)

    追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems) PROJECT http://winsty.net/tracker_di ...

  6. ICCV 2015 《Understanding and Diagnosing Visual Tracking Systems》论文笔记

    目录 写在前面 文章大意 一些benchmark 实验 实验设置 基本模型 数据集 实验1 Featrue Extractor 实验2 Observation Model 实验3 Motion Mod ...

  7. Understanding and Diagnosing Visual Tracking Systems

    文章把一个跟踪器分为几个模块,分别为motion model, feature extractor, observation model, model updater, and ensemble po ...

  8. CVPR 2017 SANet:《SANet: Structure-Aware Network for Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文模型叫做SANet.作者在论文中提到,CNN模型主要适用于类间判别,对于相似物体的判别能力不强.作者提出使用RNN对目标物体的self-structure进行建模,用于提 ...

  9. ICCV 2017 UCT:《UCT: Learning Unified Convolutional Networks forReal-time Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文模型叫做UCT.就像论文题目一样,作者提出了一个基于卷积神经网络的end2end的tracking模型.模型的整体结构如下图所示(图中实线代表online trackin ...

  10. CVPR 2018 STRCF:《Learning Spatial-Temporal Regularized Correlation Filters for Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文提出的模型叫做STRCF. 在DCF中存在边界效应,SRDCF在DCF的基础上中通过加入spatial惩罚项解决了边界效应,但是SRDCF在tracking的过程中要使用 ...

最新文章

  1. halcon模板匹配干扰边缘消除办法(最硬核方式)
  2. P7962-[NOIP2021]方差【dp,差分】
  3. 连续系统PID及其离散化 位置式PID以及增量式PID
  4. HTML5编写船上航行,单体半滑行穿浪船船型与静水航行性能
  5. [Java] 蓝桥杯ADV-155 算法提高 上帝造题五分钟
  6. visual studio 最新稳定版本_速来围观!Android Studio 4.0 稳定版发布了
  7. 程序猿代码面试指南 PDF
  8. python勒索病毒代码_勒索病毒GandCrab-v5.04完整分析
  9. 华为鸿蒙爆出惊天骗局,华为鸿蒙系统爆出惊天骗局!
  10. 基于linux的软件测试,基于linux的Web服务器性能测试
  11. php 判断非负整数,PHP-检测负数
  12. NOIP模拟19/07/22
  13. Sentiment Classification towards Question-Answering with Hierarchical Matching Network 论文阅读笔记
  14. 对Java中常见的四种I/O模型理解
  15. pdf文档打不开是怎么回事?
  16. windows聚焦壁纸不更新_Win10系统下聚焦锁屏壁纸无法自动更换怎么解决
  17. 9 步SaaS SEO 策略
  18. window电脑端,微信客户端双开,两行代码。
  19. exe打开方式被木马或病毒修改,无法打开任何可执行文件的解决办法
  20. Win11的两个实用技巧系列之远程连接、录屏工具

热门文章

  1. MySQL 8 如何修改密码
  2. 书单推荐|不惧复工,工作轻松
  3. 海马亚区mask制作
  4. 三国志威力无双物资如何获取?
  5. Flutter的绘制剖析——图形库skia
  6. printf函数封装
  7. 黄油刀——ButterKnife
  8. 十年开发,连登陆接口都写这么烂...
  9. 一个牛奔的Android开源大全
  10. 走向灵活软件之路-面向对象的六大原则