Powerpaint介绍及实现局部重绘效果测试[comfyui]

news2024/11/22 17:16:55

🍘背景

powerpaint,是一个高质量多功能的图像修补模型,可以同时支持插入物体、移除物体、图像扩展、形状可控的物体生成。

这个模型也是国产的,原作者是清华大学深圳国际研究生院,清华大学 ,上海人工智能实验室的几位学生,具体署名如下:

论文源地址:https://arxiv.org/pdf/2312.03594

照例,我们先捋一下论文中的主要内容和思路。

🥝论文要点

PowerPaint 是首个多功能图像修复模型,它在各种图像修复任务中同时实现了最先进的结果,包括文本引导的对象修复、对象移除、形状引导的对象修复(具有可控的形状拟合)、向外拓展绘画等。

首先一张效果图:

从这张图可以看出,powerpaint模型可以根据蒙版的外轮廓进行图像的重绘,并且在移除图像能力上,跟sd-inpainting,adobe firefly的对比中,效果更领先(至少在上图这张测试案例中。)

同时,根据轮廓和某个阈值的调整,可以控制生成图像是严格参考原图像的轮廓还是给更高的灵活度,(上图中间右侧的兔子图像测试)。

最下边这张图展示了向外重绘过程中,可以更好的参考原图的画风和轮廓,实现更好的图像外延。

根据作者的介绍,现有的inpaint模型,大多是假设蒙版范围内是有完整图形的,如果想要移除元素,很多时候需要写一大堆的提示词,但是还是容易产生伪影,而powerpaint针对这种情况做了特殊的训练和微调,所以可以更好的移除对象。当然,powerpaint不仅仅可以用来移除元素,还可以根据蒙版情况进行图像绘制。

PowerPaint使用两个可学习的工作任务提示,即Pobj和Pctxt,分别对文本到图像模型进行微调,用于文本引导的对象修复和上下文感知图像修复。训练完成后,Pobj可以进一步用作负面提示,通过无分类器引导采样有效移除对象。我们进一步引入Pshape用于形状引导的对象修复,它可以通过与Pctxt的提示插值来扩展,以控制对象修复的形状拟合度。

要从拥挤的图像背景中移除对象,Adobe Firefly倾向于从上下文中复制(如图中绿色边框圈出的部分),而PowerPaint成功地擦除了对象。

提示插值的说明。为了实现具有可控形状拟合度的对象修复,我们随机扩展对象分割遮盖,并根据扩展区域比例对Pctxt和Pshape进行插值。(小梦:这样应该可以让生成的图像不必严格的限制在蒙版范围内,生成的图像可以更自然。同时α的引入,也可以让创作者更灵活的调整来控制生成的内容与蒙版的贴合程度。)

PowerPaint的生成效果与其他几个模型的对比,在文本引导的对象修复方面展现出更好的文本对齐和视觉质量。(小梦:在这些对比中,smartbrush和powerpaint相当,比其他的重绘模型有质的提升)

PowerPaint在上下文感知图像修复方面展现出更好的上下文对齐。(小梦:这里主要展示了移除对象的能力,案例中来看,在移除物体方面,可以说是碾压其他模型的存在。)

大范围场景拓展上的效果呈现。(小梦:这个案例,好像sd-inpainting 和powerpaint不相上下吧,个人更偏好sd-inpainting的画面效果一点。)

 Adobe Firefly与powerpaint在移除物体时的对比,powerpaint是可以移除物体后,用背景来填充,而adobe firefly会倾向用画面中的元素来填充。

 用形状来引导生成对象,在α接近1的情况下,生成的图像会尽量贴合蒙版,而降低到0.5的时候,模型会在蒙版范围内选择自己认为合适的方式来重构图像。

更多案例效果可以参考文章开头效果提到的论文原帖。

🍚实际效果如何呢

接下来我们就基于comfyui中的brushnet节点组,来测试下power paint模型的实际效果。

本身这个节点组的示例文件中,就包含了两个基础powerpaint的工作流,我们来测试下移除物体的效果。

稍微改造了下,展示了下蒙版,并将蒙版扩展了几个像素,方便模型发挥:

测试图像:

先来把柠檬移除掉:

效果还行。

再移除下瓶子:

移除散落的叶子:

别说,效果还不错。

我们再来试试看图像替换。

我们尝试把瓶子替换为苹果。

哈,在α为1的情况下,效果符合预期。在所选择的蒙版范围内,直接替换了元素,并保持了形状。

我们降低α为0.5试试看:

这次在原位置上替换了元素,并且蒙版内苹果填充不满的部分,用合理的背景来补全,效果符合预期。

我们再替换下右上角的柠檬,变为菠萝片试试看:

嗯,完美契合。

再玩一下把瓶子替换为金子:

哈哈,还蛮好玩的。

向外绘制:

相当可以,画风保持的很好,画面合理度也不错,而且接缝处理的相当到位了可以说,饱和度上的一点小瑕疵可以后期处理微调下。

总结:是一个值得推荐的局部重绘,元素移除,向外重绘的节点,唯一的缺点可能是目前只支持sd1.5.

如果对你有帮助,记得点赞和关注哦~ 

如果你对这些内容感兴趣,但是还不知道comfyui如何入门的话,请务必继续向下看~

✨写在最后

如果对comfyui还不熟悉的话,最近面向ComfyUI的新手,写了一门系统性入门图文课程,现在已经更新完成了,内容主要包括如何下载软件、如何搭建自己的工作流、关键基础节点讲解、遇到报错怎么解决等等,如果大家在学习过程中遇到什么问题,也可以直接对应的文章下留言,会持续更新相关答疑内容哈。欢迎订阅哦~

https://blog.csdn.net/jumengxiaoketang/category_12683612.html

​​​

感谢大家的支持~

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

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

相关文章

JAVA:非对称加密技术的详细指南

请关注微信公众号:拾荒的小海螺 博客地址:http://lsk-ww.cn/ 1、简述 非对称加密是一种加密技术,使用一对密钥进行数据加密和解密。这两个密钥分别是公开密钥(public key)和私有密钥(private key&#xf…

【算法】栈与模拟

【ps】本篇有 5 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1)删除字符串中的所有相邻重复项 .1- 题目解析 .2- 代码编写 2)比较含退格的字符串 .1- 题目解析 .2- 代码编写 3)基本计算器 II .1- 题目解析 .2- 代码编写 4&…

进程状态、进程创建和进程分类

文章目录 进程进程常见的状态进程调度进程状态变化关系 进程标识示例--进程标识的使用以及简介 进程创建fork函数vfork函数示例--使用fork函数创建子进程,并了解进程之间的关系 创建进程时发生的变化虚拟内存空间的变化示例--验证fork函数创建进程时的操作 对文件IO…

【例题】lanqiao3226 宝藏排序Ⅱ

样例输入 5 1 5 9 3 7样例输出 1 3 5 7 9解题思路 这里的n≤10^5,说明O(n ^2)的算法行不通。 基于比较的高效算法和基于数值划分的高效算法全部参考这篇文章 代码 最简单的自带排序 nint(input()) alist(map(int,input().split()))a.sort() print( .join(map…

量化交易backtrader实践(二)_基础加强篇(1)_数据列表准备与主要实践内容

上一篇回顾 上一篇是数据获取篇,在上一篇里,我们初步接触了backtrader的回测逻辑,重点放在了回测的数据获取的问题上,确保了我们在用合适且有效的正规数据在做回测,我们的目的是要通过backtrader深入讨论量化交易的内…

【Linux进程控制】进程等待

目录 进程等待 进程等待是什么? 为什么? 怎么办? wait方法 获取子进程status 多进程的等待问题 waitpid方法 什么是阻塞等待?什么是非阻塞等待? wait/waitpid获取子进程信息原理 进程等待 进程等待是什么&am…

【AI学习】陶哲轩在 2024 年第 65 届国际数学奥林匹克(IMO)的演讲:AI 与数学

陶哲轩在 2024 年第 65 届国际数学奥林匹克关于AI 和数学的演讲,很有意思。陶哲轩的讲话语速太快了,足见其聪明! AI用于数学的一些方面: 陶哲轩介绍到刚刚被数学家接受并开始普及的方法:形式化证明辅助工具。 形式化…

API:连接数字世界的隐形纽带

在这个智能手机和应用程序无处不在的时代,你可能听说过API这个术语,但你知道它究竟是什么吗?API,全称为应用程序编程接口(Application Programming Interface),是一种让不同的软件和服务之间能够…

MySQL基础篇(黑马程序员2022-01-18)

1 MySQL数据库概述 1.1 MySQL数据库的下载,安装,启动停止 1.2 数据模型 (1)关系型数据库(RDBMS) 概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。 特点: A. 使用表存储数据,格式统一,便于维护。…

C++11第五弹:线程库 | 互斥锁 | 原子操作

🌈个人主页: 南桥几晴秋 🌈C专栏: 南桥谈C 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据…

蓝牙耳机是入耳式的好还是开放式的好?2024开放式耳机推荐

个人推荐入开放式耳机,戴起来更舒服,主要有以下几方面原因: 减少对耳部的压迫: 不入耳设计:开放式耳机通常不需要插入耳道,避免了对耳道的直接压迫。入耳式耳机的耳塞长时间塞在耳道内,会对耳…

Linux基础---07文件传输

Linux文件传输地图如下,先选取你所需的场景,若你是需要Linux和Linux之间传输文件就查看SCP工具即可。 一.下载网站文件 前提是有网: 检查网络是否畅通命令:ping www.baidu.com,若有持续的返回值就说明网络畅通。Ctr…

前端基础知识(HTML+CSS+JavaScript)

文章目录 一、HTML1.1 HTML 基础:1.1.1 HTML 的概念:1.1.2 认识 HTML 标签:1.1.3 HTML 文件基本结构:1.1.4 标签层次结构: 1.2 HTML 快速入门:1.3 HTML常见标签:1.3.1 标题标签:h1-h…

数据结构-2.顺序表

1.线性表 线性是n个具有相同特性的数据元素的有限序列. 线性表是一种在实际中广泛使用的数据结构,常见的线性表有: 顺序表 , 链表 , 栈 , 队列... 线性表在逻辑上是线性结构, 也就是连续的一条直线 . 但是在物理结构上并不是连续的, 线性表在物理上存储时, 通常以数组和链式结…

5-----RYZ维修工具 操作界面预览与功能操作解析 刷机 解锁 修复参数等等

以上是工具选项功能的界面预览 。通过预览可以看到很多功能选项。此类工具涵盖了很多操作区域。需要根据自己机型的实际需求来操作。根据开发者的描述。此工具有一下功能。包含mtk刷机 分区修复。9008刷机 备份基带efs等等。 高通操作区域 高通修复串码 高通修改写入基带qc…

石化盈科PMO总经理任志婷受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 石化盈科信息技术有限责任公司运营管理部总经理兼PMO总经理任志婷女士受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾,演讲议题为“激活关键的少数派——项目经理培养体系的设计实践”。大会…

无人机视角下落水救援检测数据集

无人机视角下落水救援检测数据集,利用无人机快速搜索落水者对增加受害者的生存机会至关重要,该数据集共收集12万帧视频图像,涵盖无人机高度从10m-60m高度,检测包括落水者(11万标注量)、流木(900…

TCP/IP - ICMP

目录 1. 帧格式2. ICMPv4消息类型(Type = 0,Code = 0)回送应答 /(Type = 8,Code = 0)回送请求(Type = 3)目标不可达(Type = 5)重定向(Type = 11)ICMP超时(Type = 12)参数3. ICMPv6消息类型回见TCP/IP 对ICMP协议作介绍 ICMP(Internet Control Message Protocol…

什么是快充协议,最常见的快充协议有哪些

什么是快充协议 随着手机快充的出现大家都知道快充技术但很多人确不知道快充协议,在快充技术里快充协议是必不可少的,那么今天我们就来探讨一下什么是快充协议? 快充协议是一种通过提高充电效率来缩短设备充电时间的电池充电技术。它通过在充…