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

2023-11-03 12:44

本文主要是介绍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的天下~

这篇关于PP-Matting:trimap free的高精度自然图像抠图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/338251

相关文章

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

【python计算机视觉编程——8.图像内容分类】

python计算机视觉编程——8.图像内容分类 8.图像内容分类8.1 K邻近分类法(KNN)8.1.1 一个简单的二维示例8.1.2 用稠密SIFT作为图像特征8.1.3 图像分类:手势识别 8.2贝叶斯分类器用PCA降维 8.3 支持向量机8.3.2 再论手势识别 8.4 光学字符识别8.4.2 选取特征8.4.3 多类支持向量机8.4.4 提取单元格并识别字符8.4.5 图像校正

HalconDotNet中的图像特征与提取详解

文章目录 简介一、边缘特征提取二、角点特征提取三、区域特征提取四、纹理特征提取五、形状特征提取 简介   图像特征提取是图像处理中的一个重要步骤,用于从图像中提取有意义的特征,以便进行进一步的分析和处理。HalconDotNet提供了多种图像特征提取方法,每种方法都有其特定的应用场景和优缺点。 一、边缘特征提取   边缘特征提取是图像处理中最基本的特征提取方法之一,通过检

超越IP-Adapter!阿里提出UniPortrait,可通过文本定制生成高保真的单人或多人图像。

阿里提出UniPortrait,能根据用户提供的文本描述,快速生成既忠实于原图又能灵活调整的个性化人像,用户甚至可以通过简单的句子来描述多个不同的人物,而不需要一一指定每个人的位置。这种设计大大简化了用户的操作,提升了个性化生成的效率和效果。 UniPortrait以统一的方式定制单 ID 和多 ID 图像,提供高保真身份保存、广泛的面部可编辑性、自由格式的文本描述,并且无需预先确定的布局。

Winfrom中解决图像、文字模糊的方法

1.添加清单 2.将清单中的下面内容取消注释

使用亚马逊Bedrock的Stable Diffusion XL模型实现文本到图像生成:探索AI的无限创意

引言 什么是Amazon Bedrock? Amazon Bedrock是亚马逊云服务(AWS)推出的一项旗舰服务,旨在推动生成式人工智能(AI)在各行业的广泛应用。它的核心功能是提供由顶尖AI公司(如AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI以及亚马逊自身)开发的多种基础模型(Foundation Models,简称FMs)。

Matplotlib图像读取和输出及jpg、png格式对比,及透明通道alpha设置

图像像素值 图像像素值一般size为3,也就是通道数,分别代表R,G,B,如果只有单一 一个值则表示灰度值,也就是说一张二维图片,当长和宽都为1080时,那么若是灰度图像,图像尺寸为(1080,1080,1)若是RGB图像则为(1080,1080,3), jpg、png图像格式 jpg图像的灰度值范围和RGB范围为[0,255],数值类型为uint8,也就是无符号整数 png图像的灰度值范

如何将卷积神经网络(CNN)应用于医学图像分析:从分类到分割和检测的实用指南

引言 在现代医疗领域,医学图像已经成为疾病诊断和治疗规划的重要工具。医学图像的类型繁多,包括但不限于X射线、CT(计算机断层扫描)、MRI(磁共振成像)和超声图像。这些图像提供了对身体内部结构的详细视图,有助于医生在进行准确诊断和制定个性化治疗方案时获取关键的信息。 1. 医学图像分析的挑战 医学图像分析面临诸多挑战,其中包括: 图像数据的复杂性:医学图像通常具有高维度和复杂的结构