PP-Matting:trimap free的高精度自然图像抠图

论文:https://arxiv.org/abs/2204.09433

代码:https://github.com/PaddlePaddle/PaddleSeg

1、动机

        在自然图像抠图领域,大多数方法都是基于Trimap来做抠图,这种trimap-based的方式在抠图时还需要用户绘制一个trimap作为模型输入,这大大限制了实际中的应用。虽然也有一些trimap-free方法提出,但其抠图质量往往不尽如人意,比如前景-背景模糊、过渡区域细节模糊等。

        因此,本文提出了一种trimap-free的自然图像抠图方法。该方法提出了一个高分辨率细节分支(HRDB)在保持特征分辨率不变的情况下提取前景的细粒度细节,还提出了一个语义分割上下文分支(SCB)来避免在细节预测中因语义上下文缺失而引起局部歧义。

2、基础概念

        抠图与分割的区别:

        如图1所示,抠图生成的前景更为精细,而分割生成的前景在边缘处比较粗糙:

图1. 分割和抠图的比较: 原始图像在左边,分割结果在中间,抠图结果在右边

        抠图公式表达:

         对于一幅图像I\in \mathbb{R}^{H\times W\times 3},其由前景F \in \mathbb{R}^{H\times W\times 3}和背景B \in \mathbb{R}^{H\times W\times 3}组成。原图第i个像素的值,可以有前景、背景通过一个α系数进行线性组合:

 α对前景来说,是一个不透明度系数。因此,图像抠图是高度不适定的,它需要求解七个值(前景的RGB、背景的RGB、α)但只有三个值已知(原图的GRB)。

        trimap-based:

        为了降低解决图像抠图问题的难度,之前有些研究提出了使用trimap来作为辅助输入。trimap将图像分为三个区域:前景、过渡区域、背景,以此引入先验来辅助模型的学习。这种方式仅适用于PS之类的应用中用户可以方便绘图的场景,对于自然场景、视频抠图等场景,基于trimap的方法非常不方便。

        trimap-free:

        既然让用户给出trimap不太合适,那就有研究提出了一些替代方案:给出更容易获取的背景图和原图,或者只给出原图但通过第一阶段的模型先预测一个trimap再送入第二阶段进行抠图。这两种方式都有缺点:前者对背景图要求和前景一致,不能有丝毫误差;后者则严重依赖第一阶段的trimap生成质量,容易产生误差累计。因此,最好的方式是直接只使用原图,完全trimap-free的进行Matting。已有研究提出这样的方法,但效果都不理想。

3、方法

3.1. 网络结构

        正确的语义上下文和清晰的细节是高精度Matting的关键。在trimap-based的方法中,trimap提供了足够的语义上下文,而模型只需关注过渡区域即可,所以trimap-based的方法才能效果不错。那么要是在trimap-free方法中也获得语义上下文,是不是就可以像trimap-based方法那样获取精确的结果了呢?

        因此,作者提出了一个网络结构,包含了SCB分支来获取语义上下文,同是还有一个HRDB分支来获取高分辨率细节。具体网络结构如图2所示:

图2. 网络架构概述:HRNet 作为编码器,低分辨率输出送到 PPM,高分辨率输出送到高分辨率细节分支 (HRDB) ;语义上下文分支 (SCB) 有五个块,第一个、第三个和五个块用于引导 HRDB 学习语义上下文;HRDB 保持高分辨率推理以获得高质量的细节预测。

         网络结构描述:

        backbon使用的是HRNet,也是上图中的Shared Encoder;

        backbone最后一个stage的输出送入金字塔池化(PPM)模块,以获取更为丰富的语义上下文;

        SCB分支:PPM得到的feature map和Shared Encoder的1/32倍下采样的feature map作为SCB的输入;SCB由五个块组成,每个块由Conv、BN、ReLU以及一个双线性上采样组成;此外,SCB的输出也被一个包含三个类别(前景、背景、过渡区域)的语义分割任务监督,如图2中的semantic map,和trimap非常相像;

        HRDB分支:Shared Encoder的中间特征通过上采样后concat起来作为HRDB的初始输入,然后分别从SCB的1/16 、1/4中间特征引入引导流(Guidance Flow),以引入语义信息,辅助HRDB获取更为精细的细节;

        Guidance Flow:引导流的结构如图3所示,其将来自SCB的语义上下文feature map和HRDB的细节feature mapconcat起来,送入ConvBNReLU和ConvBNSimoid得到Guidance map,然后再与来自HRDB的细节feature map点乘、相加,得到HRDB的下一级feature map;

图3. 引导流架构架构

 Guidance Flow可用公式表示为:

3.2. 损失函数

        loss包含三部分:

         第一部分,SCB中的语义分割loss,是三分类分割任务的交叉熵损失:

        第二部分,HRDB中的细节loss,仅在过渡区域起作用,由alpha预测loss和梯度loss组成:

         第三部分,最终的alpha matte loss,由alpha预测loss、梯度loss、成分loss组成,其中,成本loss是预测图与原图的绝对差:

 因此,最终的loss是上述三部分loss的加权组合:

4、实验结果

5、写在后面

        PP-Matting提出了一种trimap-free的方法,通过引入SCB和HRDB分支,并在两个分支之间增加Guidance Flow来进行信息融合,达到了trimap-free方法中的SOTA,非常适合应用与自然图像抠图。 

        之前不管是trimap还是背景图,都需要用户使用时提供额外的辅助信息,这在实际使用时相当不便。而trimap-free方法只需要用户提供一张图片,即可得到最终的抠图效果,这大大方便了使用。未来一定是trimap-free的天下~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/128624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot--Web开发篇:含enjoy模板引擎整合,SpringBoot整合springMVC;及上传文件至七牛云;restFul

SpringBoot的Web开发 官网学习: 进入spring官网 --> projects --> SpringBoot --> LEARN --> Reference Doc. --> Web --> 就能看到上述页面 静态资源映射规则 官方文档 总结: 只要是静态资源,放在类路径下&#xff1…

整理笔记——0欧电阻、电感、磁珠

设计电路时,经常用到0欧电阻、电感、磁珠,这三个基础电子原件万用表量都是“短路”,这三者之间有什么区别?什么情况下用什么原件? 一、0欧电阻 0欧电阻,并不是指元件的电阻值为0,而是电阻值很小…

使用免费 FlaskAPI 部署 YOLOv8

目标检测和实例分割是计算机视觉中关键的任务,使计算机能够在图像和视频中识别和定位物体。YOLOv8是一种先进的、实时的目标检测系统,因其速度和准确性而备受欢迎。 Flask是一个轻量级的Python Web框架,简化了Web应用程序的开发。通过结合Fla…

SpringBoot 日志

一、概述 日志是程序的重要组成部分,程序报错了,我们可以通过查看日志信息排除和定位问题。 二、日志格式 在启动 SpringBoot 项目时,控制台中默认会打印一些日志,下面我们截取一段日志信息,分析一下日志的格式&…

【蓝桥每日一题]-二分类型(保姆级教程 篇3) #路标设置 #跳石头

今天接着讲二分题型 目录 题目:路标设置 思路: 题目:跳石头 思路: 题目:路标设置 思路: 求:放n个路标后的最小空旷指数 二分查找:对空旷指数进行二分 二分依据: 该空旷指数下放…

支付宝本地生活团购服务商如何申请?两个方法教给你

支付开宝的本地生活来了!按支付宝财大气粗的做法,它一旦要推什么项目,那自然会在前期疯狂洒钱,以求通过这种模式快速占领市场。 所以,这次支付宝要推本地生活项目,这一贯做法自然得跟上,只是这…

飞致云及其旗下1Panel项目进入2023年第三季度最具成长性开源初创榜单

2023年10月26日,知名风险投资机构Runa Capital发布2023年第三季度ROSS指数(Runa Open Source Startup Index)。ROSS指数按季度汇总并公布在代码托管平台GitHub上年化增长率(AGR)排名前二十位的开源初创公司和开源项目。…

win10pycharm和anaconda安装和环境配置教程

windows10 64位操作系统下系统运行环境安装配置说明 下载和安装Anaconda,链接https://www.anaconda.com/download 下载完后,双击exe文件 将anaconda自动弹出的窗口全部关掉即可,然后配置高级系统变量 根据自己的路径,配置…

基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP

最近我在 International Journal of Digital Earth (《国际数字地球学报》)发表了一篇森林生物量模型构建的文章:Evaluation of machine learning methods and multi-source remote sensing data combinations to construct forest above-gro…

欧科云链研究院:如何降低Web3风险,提升虚拟资产创新的安全合规

在香港Web3.0行业,技术推动了虚拟资产投资市场的快速增长,但另一方面,JPEX诈骗案等行业风险事件也接连发生,为Web3行业发展提供了重要警示。在近期的香港立法会施政报告答问会上,行政长官李家超表示,与诈骗…

图像特征Vol.1:计算机视觉特征度量|第二弹:【统计区域度量】

目录 一、前言二、统计区域度量2.1:图像矩特征2.1.1:原始矩/几何矩2.1.2:中心距2.1.3:归一化的中心矩2.1.4:不变矩——Hu矩2.1.5:OpenCv实现矩特征及其应用 2.2:点度量特征2.3:全局直…

在 GORM 中定义模型

为实现与数据库的无缝交互而打造有效模型的全面指南 在使用 GORM 进行数据库管理时,定义模型是基础。模型是您的应用程序的面向对象结构与数据库的关系世界之间的桥梁。本文深入探讨了在 GORM 中打造有效模型的艺术,探讨如何创建结构化的 Go 结构体&…

从零开始的目标检测和关键点检测(三):训练一个Glue的RTMPose模型

从零开始的目标检测和关键点检测(三):训练一个Glue的RTMPose模型 一、重写config文件二、开始训练三、ncnn部署 从零开始的目标检测和关键点检测(一):用labelme标注数据集 从零开始的目标检测和关键点检测…

左移测试,如何确保安全合规还能实现高度自动化?

「云原生安全既是一种全新安全理念,也是实现云战略的前提。 基于蚂蚁集团内部多年实践,云原生PaaS平台SOFAStack发布完整的软件供应链安全产品及解决方案,包括静态代码扫描Pinpoint,软件成分分析SCA,交互式安全测试IA…

二、GRE VPN

GRE VPN 1、GRE介绍2、GRE基本原理3、GRE报文格式4、报文在GRE中传输过程5、价值6、Keepalive检测7、GRE应用8、配置GRE隧道8.1、配置绑定GRE协议的接口8.2、配置Tunnel接口8.3、配置Tunnel路由 9、GRE配置举例9.1、GRE静态路由示例9.1.1、路由器运行动态路由协议实现互通9.1.2…

NEFU数字图像处理(3)图像分割

一、图像分割的基本概念 1.1专有名词 前景和背景 在图像分割中,我们通常需要将图像分为前景和背景两个部分。前景是指图像中我们感兴趣、要分割出来的部分,背景是指和前景不相关的部分。例如,对于一张人物照片,人物就是前景&…

mysql迁移data目录(Linux-Centos)

随着时间的推移,mysql的数据量越越大,使用yum默认安装的目录为系统盘 /var/lib/mysql,现重新挂载了一个硬盘,需要做数据目录的迁移到 /mnt/data/。以解决占用系统盘过高情况。 1.强烈建议这种操作。镜像一个一样的Centos系统&…

MyBatis无法读取XML中的Method的乌龙事件

事件背景 同事反馈,相同的jar包,在多人本地的电脑、多台服务器中,都是可以正常启动的,只有在其中一台服务器,简称它为A,无法启动,因为启动后的初始化操作中有一个调用mybatis方法的操作&#x…

【CSDN 每日一练 ★★☆】【动态规划】最小路径和

【CSDN 每日一练 ★★☆】【动态规划】最小路径和 动态规划 题目 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例 示例 1&#x…

我的云栖大会之旅:见证云计算创新的15年

云栖大会,曾经是一次不可思议的科技之旅,却如今已见证了我对云计算世界的15年关注和发展。第一次踏上云栖大会之旅,我记得是在2009年。那时的云计算还是一个新生事物,而云栖大会正是其中的奠基石。 我清楚地记得那个炎热的夏天&am…