神奇的 Animal Matting 算法,毛发抠图不是事

神奇的 Animal Matting 算法,毛发抠图不是事抠图是个体力活。 抠图最难的,就是处理毛发。 新鲜热乎刚出炉的 Image Matting 算法,你值得拥有。 老规矩,今天,继续手把手教学。 抠图问题的核心是精确地将图像或视频中的前景估计出来,对图像编辑,影片剪辑等都有很深的意义。 最新发表的论文 End-to-end An…

神奇的 Animal Matting 算法,毛发抠图不是事

一、前言

抠图是个体力活。

抠图最难的,就是处理毛发。

想没想过,有一天,算法直接帮你自动抠图?细致到毛发的那种!

神奇的 Animal Matting 算法,毛发抠图不是事

毛发的分割都不是问题

新鲜热乎刚出炉的 Image Matting 算法,你值得拥有。

老规矩,今天,继续手把手教学。

算法原理、环境搭建、效果实现,一条龙服务,尽在下文!

二、Animal Matting

抠图问题的核心是精确地将图像或视频中的前景估计出来,对图像编辑,影片剪辑等都有很深的意义。

最新发表的论文 End-to-end Animal Image Matting ,只需要一张图,无需任何先验知识,即可实现端到端的抠图,效果非常惊艳

论文提出了一个名为 GFM 的抠图模型,该模型可同时生成全局语义分割和局部 alpha mask。

同时,论文也开源了第一个自然动物图像抠像数据集 AM-2k,并设计了基于高分辨率背景数据集 BG-20k 的 RSSN 合成数据方法。

GFM 网络结构如下:

神奇的 Animal Matting 算法,毛发抠图不是事

网络结构:是一个编码解码器的结构,编码器由两个平行的解码器共享。

被共享的编码器:以在 ImageNet 上预训练的 ResNet-34 或 DenseNet-121 作为编码器。

Glance Decoder(GD): 用于学习高层语义信息。在编码器的第四个模块之后,加入金字塔池化模块(PPM)输出全局上下文,用于 GD 中。

Focus Decoder (FD):用于在低结构特征中提取细节。在编码器的第四个模块之后,加入桥联模块(BB)收敛不同域中的局部上下文。并结合 U-net,将 FD 与编码器的对应模块进行跳跃连接,训练 FD。

最后,以不同的表征域,连接 GD 和 FD 的输出结果。

GFM-TT:以真实 alpha 掩摸膨胀和腐蚀的 3 类 trimap T 作为 GD 监督信号、以未知过渡域的 alpha 掩摸作为 FD 监督信号。

GFM-FT:以 2 类前景分割 mask 作为 GD 的监督信号、以未知过渡域的 alpha 掩膜作为 FD 监督信号。

GFM-BT:以 2 类背景分割 mask 作为 GD 的监督信号、以未知过渡域的 alpha 掩膜作为 FD 监督信号。

最后,通过协同合作抠图(CM),将上述三个不同的表征域的结果,进行合并,获得最终的 alpha 预测。

更详细的内容,可以直接看 paper:

论文地址:arxiv.org/pdf/2010.16…

三、效果测试

Github 项目地址:github.com/JizhiziLi/a…

第一步:搭建测试环境。

根据 Requirements.txt 安装依赖库即可,很简单。

神奇的 Animal Matting 算法,毛发抠图不是事

第二步:下载训练好的模型权重文件。

下载地址(需翻墙):点击查看

第三步:在工程目录,运行程序。

python ./core/test_samples.py --cuda --arch="e2e_resnet34_2b_gfm_tt" --model_path="models/model_r34_2b_gfm_tt.pth" --pred_choice=3 --hybrid

samples 目录下的 original 目录保存原始图片;

samples 目录下的 result_alpha 目录保存分割 mask ;

samples 目录下的 result_color 目录保存提取结果。

我将程序和权重文件都进行了打包,嫌麻烦,可以下载直接使用。

下载地址(提取码:s6uh ):

pan.baidu.com/s/1xjBbj3ip…

运行效果:

神奇的 Animal Matting 算法,毛发抠图不是事

运行速度很快,运行效果展示:

神奇的 Animal Matting 算法,毛发抠图不是事

四、最后

算法只针对动物,想对人进行抠图,需要自己制作数据集以及训练模型。

文章持续更新,可以微信公众号搜索【JackCui-AI】第一时间阅读,本文 GitHub github.com/Jack-Cheris… 已经收录,有大厂面试完整考点,欢迎 Star。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/13761.html

(0)

相关推荐

  • 顺序,条件,循环语句的底层解释是什么_for循环体为空语句

    顺序,条件,循环语句的底层解释是什么_for循环体为空语句我们都清楚,绝大多数编译器都把汇编语言作为中间语言,把汇编语言程序变成可运行的二进制文件早就解决了,所以现在的高级语言基本上只需要把自己翻译成汇编语言就可以了。 汇编指令总共只有那么多,大多数指令都是对数据进行操作,比如常见的数据传送指令mov。不难理解,被操作数据无非有三种形…

    2023-08-14
    132
  • 让字符串替换变得更容易——Python replace方法

    让字符串替换变得更容易——Python replace方法在Python中,字符串在日常的开发中经常会被使用到。对于字符串的操作,特别是对字符串的替换操作,通常需要我们使用Python内置的replace方法。本文将详细阐述Python中replace方法的使用方法、注意事项以及使用场景,帮助读者更好地掌握replace方法的用法。

    2024-01-31
    116
  • 人大金仓数据库启动命令_人大金仓命令行连接

    人大金仓数据库启动命令_人大金仓命令行连接人大金仓是国产数据库,属ORACLE系,安装步骤如下: 一,安装数据库(完成后可使用查询分析器等,可以远程其他库) 1,解压自己系统对应的kingbase版本。以64位为例子 2,解压完成先安kin…

    2022-12-15
    479
  • MySQL 安全管理[通俗易懂]

    MySQL 安全管理[通俗易懂]权限表 MySQL 服务器通过权限表来控制用户对数据库的访问,由 mysql_install_db 脚本初始化,MySQL 会根据这些权限表的内容为每个用户赋予相应的权限 1. user 表 user

    2023-05-14
    147
  • 盘点 7 个优质开源的 Go 项目[亲测有效]

    盘点 7 个优质开源的 Go 项目[亲测有效]Golang 近几年发展迅速,已经快速渗透进国内的各大厂。逛逛GitHub之前盘点过 Java 相关的实战项目。本文针对 Go 语言,盘点了 GitHub 和 Gitee 上优质的开源项目。

    2023-08-04
    139
  • Python中if-else语句的用途以及如何在pandas中使用

    Python中if-else语句的用途以及如何在pandas中使用条件语句,即if-else语句,是编程语言中的常见语句之一,它的目的是根据某个条件执行代码块中的语句。在Python中,if-else语句同样被使用。

    2024-01-13
    104
  • 登录sqlplus用户名和口令_sqlplus nolog登录

    登录sqlplus用户名和口令_sqlplus nolog登录环境oracle 11.2.0.4, linux redhat 6.9 RAC2个实例 1.问题现象 sqlplus登录用户hang住 oracle@wocdb6 ~]$ sqlplus wa/Sx…

    2023-03-28
    151
  • 意派Epub360丨学党史、知奋进,红色地标推荐线路交互H5怎么做?

    意派Epub360丨学党史、知奋进,红色地标推荐线路交互H5怎么做?天气渐渐转暖,很多人都开始制定出游计划了。在众多旅游推荐线路中,以红色地标为主题的精品线路既独特又吸睛。 这类红色地标精品线路旨在便于人民群众更好地传承红色精神。游客们既可以参观打卡红色地标,又能结…

    2023-04-13
    154

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注