🍘背景
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
感谢大家的支持~