抠图是件体力活。传统抠图算法主要是以色彩为特征分离前景与背景,并在小数据集上完成,这造成了传统算法的局限性。去年年初,Adobe 等机构发表论文《Deep Image Matting》,采用大规模数据集与深度神经网络学习图像的自然结构,进一步分离图像的前景与背景。今年,有研究人员复现了该方法,并发布在 GitHub 上。

  • GitHub 地址:https://github.com/foamliu/Deep-Image-Matting
  • 预训练模型地址:https://github.com/foamliu/Deep-Image-Matting/releases/download/v1.0/final.42-0.0398.hdf5

论文《Deep Image Matting》中提出的深度模型包括两个阶段:

  • 第一阶段是深度卷积编码-解码网络(deep convolutional encoder-decoder network),该神经网络将图像和相对应的三分图(trimap)作为输入,并预测图像的 α 蒙版(alpha matte)。
  • 第二阶段是一个小型卷积神经网络,该神经网络对第一个网络预测的α蒙版进行精炼从而拥有更准确的 α 值和锐化边缘。

该模型用这两个阶段实现较为完善的抠图过程,而且抠图效果相当不错,连头发丝都看得见。

该研究提出的抠图精炼网络的效果。a) 输入图像。b) 编码-解码阶段的输出。c) 精炼阶段的输出结果。

复现

前不久,分众传媒大数据部技术总监兼首席数据科学家刘杨复现了该研究,并发布在 GitHub 上。该 repo 介绍了使用的框架、数据、模型、运行代码等,并展示了抠图效果,以及抠图后与其他图像的合成效果,如下图所示:

第一列为输入图像和对应三分图(trimap),第二列为输出图像和真值(ground truth,GT),第三列为新的背景和合成图像。

从下图第一个例子中可以看到输入图像中动物的毛发甚至腿上的一些其他颜色的印记都可以在抠图过程中很好地保留,而将抠图后的输出与新的背景图像进行合成后的效果也很自然。你能看出来这是抠图合成的图像吗?

下图第二个例子中对人物头发的处理效果也很惊艳,发丝丝丝分明,与新背景图像的合成效果也很不错。

第三个例子中的蒲公英的抠图效果也很不错,不过看最终合成图,似乎把原始图像中的背景(蓝天)也「抠」下来了一部分……不过乍一看依然很惊艳啦~

更多示例参见该 GitHub repo,大家也可以试一试抠图效果哇~

精细到头发丝,Adobe深度抠图方法的实现来了!相关推荐

  1. 该卸载PhotoShop了!MIT用AI实现3分钟自动抠图,精细到头发丝

    是时候卸载你的PS软件了. 最近,MIT计算机科学与人工智能实验室(CSAIL)的研究人员开发了一种AI辅助的图像编辑工具,它可以自动抠图,替换任何图像的背景. 像这样: 和这样: 要使抠完的这些图像 ...

  2. 精细到发丝级别的抠图算法,工程师的浪漫YYDS!

    你以为这些人像发丝的勾勒是PS做的吗? 不!这是AI算法的效果! 这是什么AI技术能把发丝精细的识别,甚至还能有透明度渐变?经过小编的一番调研,这项技术叫做Matting,是指通过计算前景的颜色和透明 ...

  3. Python实现替换照片人物背景,精细到头发丝(附上代码) | 机器学习

    目录 前言 项目说明 项目结构 数据准备 替换背景图代码 总结 前言 根据我另一篇文章:如何将照片或者视频中的背景图抠掉,机器学习开源项目使用 | 机器学习_阿良的博客-CSDN博客 发现Backgr ...

  4. Python实现替换照片人物背景,精细到头发丝 | 机器学习

    前言 根据我另一篇文章:如何将照片或者视频中的背景图抠掉,机器学习开源项目使用 | 机器学习_阿良的博客-CSDN博客 发现BackgroundMattingV2项目的一些使用上的小缺陷,但是他却可以 ...

  5. Python实现替换照片人物背景,精细到头发丝(附代码)

    P图大家都知道吧,但是用Python来P图我相信有很多人还是不知道的.今天就教大家如何用Python实现替换照片背景,听起来就很好玩,等下就拿你女朋友或者男朋友的照片练手...... 项目结构 我们先 ...

  6. 谷歌最新抠图算法:让背景虚化细节到头发丝!有单反的感觉了...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 明敏 发自 凹非寺 量子位 | 公众号 QbitAI 当真是买算法送手机! 这不,谷歌又给"亲儿子 ...

  7. 谷歌又买算法送手机了,最新方法让背景虚化细节到头发丝,真有单反的感觉了...

    明敏 发自 凹非寺 量子位 | 公众号 QbitAI 当真是买算法送手机! 这不,谷歌又给"亲儿子"Pixel 6塞福利了,让手机抠图也能细节到头发丝. 看这效果,原本模糊的头发轮 ...

  8. TGRS2020/云检测:Deep Matting for Cloud Detection in Remote Sensing Images深度抠图在遥感图像云检测中的应用

    TGRS2020/云检测:Deep Matting for Cloud Detection in Remote Sensing Images深度抠图在遥感图像云检测中的应用 0.摘要 1.概述 2.云 ...

  9. sort排序方法的实现原理

    sort 排序方法的实现原理   我们比较常用的是直接调用 JS的 sort方法,围绕原生 JS方法,并结合 V8排序的代码一起来分析,以便碰到类似的 JS排序问题时能够轻松应对.   在开始前请思考 ...

最新文章

  1. java string 占位符_驳《阿里「Java开发手册」中的1个bug》?
  2. linux mipi驱动分析_嵌入式技术在血液分析仪中的应用方案
  3. cv2.putText
  4. 建议收藏!数据分析和机器学习必备SQL技能
  5. SAP ABAP实用技巧介绍系列之 ABAP XSLT select keyword
  6. linux --- 高级指令
  7. 使用Prometheus和Grafana监视开放自由
  8. C++一天一个程序(七)
  9. linux 下安装chrome的rpm包
  10. [转] Java内部类详解
  11. 实现一个react系列一:JSX和虚拟DOM
  12. ITIL 4: 培训与认证
  13. Day01柳婼博客推荐
  14. DHCP与DHCP中继模式下获取IP地址
  15. 关于ResourceBundle国际化的一些思考
  16. latex footnote numbering
  17. C#连接FTP服务器默认打开根目录
  18. IT从业者考证最高补贴30000元,持NISP二级/CISP证书可申请
  19. Python -- 找出100以内的所有质数
  20. 第三篇 树莓派的串口通信和语音识别模块

热门文章

  1. 北京神州泰岳软件股份有限公司java笔试题
  2. 麦克风阵列定位matlab算法,基于麦克风阵列的MUSIC声源定位算法研究
  3. Java 基础巩固:内部类的字节码学习和实战使用场景
  4. Java线程状态流转及部分函数说明
  5. winds开放指定端口
  6. nginx批处理(winds操作系统)
  7. 【时空序列预测paper】ConvLSTM:A Machine Learning Approach for Precipitation Nowcasting
  8. Android 全景照片查看,Android图片处理教程之全景查看效果实现
  9. 小程序好看的渐变色按钮
  10. 分析:中国股市独步天下