点击上方“AI算法与图像处理”,选择加"星标"或“置顶”

重磅干货,第一时间送达

因为现在换了个公司,996,而且住的比较远,平时都是7点多起床晚上十点半左右到家,所以每天都好累,但是我还是会努力更新原创!如果内容对你有所帮助欢迎分享

华盛顿大学的研究者最近发表的论文在CVPR 2020提供了一个新的和简单的方法,以取代你的背景在广泛的应用。你可以在家里做这些日常设置,使用固定或手持相机。我们的方法也是最先进的,给出的输出可比专业的结果。在本文中,我们将介绍该方法的动机、技术细节和使用技巧。你也可以签出我们的项目页面和代码库。

论文:https://arxiv.org/pdf/2004.00626.pdf

项目:https://github.com/senguptaumd/Background-Matting

What is Matting?

Matting是将图像分离为前景和背景的过程,这样你就可以将前景合成到新的背景上。这是绿屏效应背后的关键技术,广泛应用于视频制作、图形和消费应用。为了建模这个问题,我们将捕获的图像中的每个像素表示为前景和背景的组合:

我们的问题是解决给定的图像(C)每个像素的前景(F),背景(B)和透明度(alpha).显然这是高度不确定的,因为图像有RGB通道,这需要从3个观察值解决7个未知。

The Problem with Segmentation

一种可能的方法是使用分割分离前景进行合成。尽管分割在近年来取得了巨大的进步,但它并不能解决所有的问题。分割给每个像素分配一个二进制(0,1)标签来代表前景和背景,而不是解决一个连续的alpha值。这种简化的效果如下例所示:

边缘的区域,特别是头发,有一个真正的alpha值在0到1之间。因此,分割的二进位性质创造了一个苛刻的边界周围的前景,留下可见的人工的痕迹。解决了部分透明度和前景颜色允许更好的合成在第二帧。

Using A Casually Captured Background

由于matting是一个比segmentation更难的问题,额外的信息经常被用来解决这个无约束的问题,即使是在使用深度学习的时候。

许多现有的方法使用一个 trimap,或已知前景、背景和未知区域的手工标注的映射。虽然这对于一幅图像是可行的,但是标注视频是非常耗时的,并不是这个问题的一个可行的研究方向。

我们选择使用捕获的背景作为真实背景的估计。这使得前景和alpha值更容易解决。我们称之为“随意捕捉”的背景,因为它可以包含轻微的运动,颜色差异,轻微的阴影,或与前景相似的颜色。

上图显示了我们可以轻易地对真实背景作出粗略估计。当人离开场景时,我们捕捉他们身后的背景。下图显示了它的样子:

注意这张图片是如何具有挑战性的,因为它有一个非常相似的背景和前景颜色(特别是周围的头发)。它也是用手持电话录制的,包含了轻微的背景运动。

“我们称之为随意捕捉的背景,因为它可以包含轻微的运动,颜色差异,轻微的阴影,或与前景相似的颜色。”

Tips for Capturing

虽然我们的方法适用于一些背景扰动,但当背景是恒定的,在室内环境中效果最好。例如,它在被摄主体投射的高度明显的阴影、移动的背景(例如水、汽车、树木)或大曝光变化的情况下不起作用。

我们还建议在视频结束时让人离开场景,然后从连续的视频中拉出画面来捕捉背景。当你从视频模式切换到照片模式时,许多手机都有不同的变焦和曝光设置。当你用手机拍摄时,你也应该启用自动曝光锁定。

捕捉技巧的总结:

  1. 选择你能找到的最恒定的背景。

  2. 不要站得离背景太近,这样你就不会投下阴影。

  3. 启用手机的自动曝光和自动对焦锁定功能。

这种方法和背景减法一样吗?

另一个自然的问题是这是否像背景减法。首先,如果在合成中使用任何背景都很容易,那么电影行业就不会花费数千美元在绿色屏幕上。

此外,背景减法不能解决部分alpha值,给予相同的硬边缘分割。当有相似的前景和背景色或背景中的任何运动时,它也不能很好地工作。

网络细节

该网络由一个监督的步骤和一个非监督的细化组成。我们将在这里简要地总结它们,但要了解详细信息,请参阅论文。

监督式学习

为了首先训练网络,我们使用Adobe composiated -1k数据集,其中包含450个仔细标注的ground truth alpha mattes。我们以一种完全监督的方式训练网络,每个像素的损失输出。

请注意,我们有几个输入,包括图像、背景、软分割和时间运动信息。我们的新上下文切换块( Context Switching Block )也确保了对不良输入的鲁棒性。

Unsupervised Refinement with GANs

监督学习的问题是adobe数据集只包含450个ground truth输出,这远远不足以训练一个好的网络。获得更多的数据是极其困难的,因为它涉及到手工注释图像的alpha哑光。

为了解决这个问题,我们使用GAN细化步骤。我们从被监督的网络中获取输出的alpha哑光,并将其合成到一个新的背景中。然后鉴别器试着辨别这是真实的还是虚假的图像。作为回应,生成器学会更新alpha哑光,从而得到尽可能真实的合成,以欺骗鉴别器。

这里重要的部分是,我们不需要任何带标记的训练数据。该鉴别器是用成千上万的真实图像进行训练的,这些图像很容易获得。

在数据上使用GAN训练

GAN的另一个有用之处是,您可以在自己的映像上对生成器进行训练,从而在测试时改进结果。假设您运行网络,但输出不是很好。为了更好地欺骗判别器,你可以更新精确数据上生成器的权重。这将与您的数据过度匹配,但将改善您提供的图像的结果。

未来的工作

虽然我们看到的结果是相当好的,我们继续使这种方法更准确和容易使用。

特别地,我们想让这个方法对背景运动,摄像机运动,阴影等情况更加健壮。我们也在寻找方法,使这种方法在实时工作和较少的计算资源能力。这可以在视频流或移动应用等领域实现各种各样的用例。

参考

[1] S. Sengupta, V. Jayaram, B. Curless, S. Seitz, and I. Kemelmacher-Shlizerman, Background Matting: The World is Your Green Screen (2020), CVPR 2020

[2] L.C. Chen, Y. Zhu, G. Papandreou, F. Schroff, and H. Adam, Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation (2018), ECCV 2018

[3] Y.Y. Chuang, B. Curless, D. H. Salesin, and R. Szeliski, A Bayesian Approach to Digital Matting (2001), CVPR 2001

[4] Q. Hou and F. Liu. Context-Aware Image Matting for Simultaneous Foreground and Alpha Estimation (2019), ICCV 2019

[5] H. Lu, Y. Dai, C. Shen, and S. Xu, Indices Matter: Learning to Index for Deep Image Matting (2019), ICCV 2019

最后的最后求一波分享!
回复“TF2”,获取
《Scikit-Learn、Keras 与 TensorFlow 机器学习实用指南》第二版 PDF
end个人微信
请注明:地区+学校/企业+研究方向+昵称
如果没有备注不拉群!

基于监督学习+自监督学习的智能抠图,精确到头发丝 | CVPR2020相关推荐

  1. python抠图精确到发丝_别再用PS了,我用五行Python代码就实现了批量抠图

    对于会PhotoShop的人来说,抠图是非常简单的操作了,有时候几秒钟就能扣好一张图.不过对于一些比较复杂的图,有时候还是需要花点时间的,今天就给大家带了一个非常快速简单的办法,用Python来批量抠 ...

  2. python抠图精确到发丝_3行Python代码,实现批量抠图和换底色的方法

    这篇文章主要介绍了3行Python代码实现图像照片抠图和换底色的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们一起学习学习吧! 这里介绍Remove I ...

  3. python抠图精确到发丝_Python用5行代码实现批量抠图的示例代码

    前言 对于会PhotoShop的人来说,抠图是非常简单的操作了,有时候几秒钟就能扣好一张图.不过一些比较复杂的图,有时候还是要画点时间的,今天就给大家带了一个非常快速简单的办法,用Python来批量抠 ...

  4. python抠图精确到发丝_ps抠图有一些发丝怎么扣

    展开全部 简单快速抠发丝的方法: 1.首先,打开进入photoshop软件,双击工作区打开美女图片e69da5e887aa62616964757a686964616f31333365633965示例. ...

  5. 基于监督学习+自监督学习的智能抠图,精确到发丝 | CVPR 2020

    来源 | AI算法与图像处理(ID:AI_study) 华盛顿大学的研究者最近发表的论文在CVPR 2020提供了一个新的和简单的智能抠图方法.你可以在家里做这些日常设置,使用固定或手持相机.我们的方 ...

  6. 自然语言处理学习——基于对比自监督学习的语言模型设计和改进*

    基于对比自监督学习的语言模型设计和改进* 摘要:最近几年见证了自然语言处理特别是表示学习的预训练模型的蓬勃发展,基于对比学习的自监督模型是其中最火的一种.BERT是近几年来在多种语言处理任务上取得了突 ...

  7. #今日论文推荐# ICDE 2022 | 港大等提出:基于时空自监督学习的犯罪预测

    #今日论文推荐# ICDE 2022 | 港大等提出:基于时空自监督学习的犯罪预测 犯罪问题已成为许多城市关注的主要问题,准确的犯罪预测对于政府相关部门的事先决策至关重要.预测城市中每个地理区域的城市 ...

  8. 机器学习的五大分类,监督学习 无监督学习 半监督学习 迁移学习 增强学习

    机器学习的五大分类,监督学习 无监督学习 半监督学习 迁移学习 增强学习@监督学习 无监督学习 半监督学习 监督学习 在监督学习中,给定一组数据,我们知道正确的输出结果应该是什么样子,并且知道在输入和 ...

  9. 无监督学习距离监督学习还有多远?Hinton组新作解读

    本文原载于知乎,已获作者授权转载,请勿二次转载. https://zhuanlan.zhihu.com/p/107126866 最近一段时间,学术界对无监督学习的研究和关注越来越多.在ImageNet ...

最新文章

  1. BZOJ 3573 米特运输
  2. 多层科目任意组合汇总报表的性能优化 (上)
  3. xshell通过隧道连接_工作常见问题--如何解决xshell远程连接自动断开的问题
  4. WinCE文件目录定制及内存调整
  5. 2.25~当svn服务器ip地址变了怎么办?
  6. Virtual Box中Centos虚拟机设置静态IP
  7. Linux大文件格式,linux – 用于打印大文件的命令,按大小以人类可读的格式排序...
  8. php实现姓名按首字母排序的类与方法
  9. ogg oracle 测试kafka_基于OGG的Oracle与Hadoop集群/kafka准实时同步
  10. java 比较源文件_Beyond Compare比较Java源代码文件的操作方法
  11. Android Studio安装Flutter
  12. 第二阶段团队冲刺第三天
  13. 【面试】最容易被问到的N种排序算法!
  14. 【迅速上手】Python 画图 —— 柱状图
  15. PMP模拟考试系统-pmp模拟考试题库
  16. 2021爱分析·数据智能平台厂商全景报告
  17. 系统集成项目管理工程师各种口诀技巧分享(1)
  18. ps快速放大缩小图片
  19. mysql field in set_MySQL中的find_in_set()函数使用技巧心得与应用场景总结
  20. 计算机上的数学符号怎么打平方,平方米符号电脑上怎么打

热门文章

  1. 使用deconvblind估计PSF
  2. 计算机启动时检测硬盘,取消win7电脑开机检测硬盘的方法
  3. 计算机网络中核心部分,什么是计算机的核心部分
  4. 二进制数代码进制转换
  5. [展览人周刊]华展云20170612期
  6. 解密体育背后AI黑科技:花样滑冰动作识别、多模视频分类和精彩片段剪辑
  7. 交换机上实现的接入安全
  8. 学习JSP——在虚拟机中建立一个JSP网页,通过Tomcat服务器发布,并通过虚拟机的宿主机浏览器访问虚拟机上所发布的JSP网页
  9. C++ string类模板
  10. c语言中 int和const int的区别