本文主要是介绍stable diffusion学习笔记 手部修复,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
图片手部修复原理
某张图片在生成后,仅有手部表现不符合预期(多指,畸形等)。这种情况下我们通常使用【局部重绘】的方式对该图片的手部进行【图生图】操作,重新绘制手部区域。
但是仅采用重绘的方式也很难保证生成的手没有问题。因此这里我们采用【contorlNet】进行辅助,定向生成某种手部的形状。
Depth Library
depth library是stable diffusion里的一个拓展插件。
该插件的主要作用是生成一张包含特定深度图的PNG图片,方便在controlNet中使用。
具体的操作方式如下图所示:
1、将需要修改手部的图片通过【添加背景图片】导入到depth library里。需要根据当前图片的大小设置相同的分辨率,这样才能保证【局部重绘】的手部区域和我们设定的新手部区域相同。
2、在depth map中找到合适的手型,鼠标长按移动到图中的【选择】区域。素材可以从c站下载:https://civitai.com/models/67174/900-hands-library-for-depth-library-or-controlnet
3、点击【添加】,将选择的手型添加到基底图片上。
4、手动调整大小和位置,确定无误后点击右下角的生成png图片导出。
局部重绘
在局部重绘工具栏我们先通过画笔的方式建立重绘区域(蒙版)。
设置controlNet,将刚刚生成的png导入:
注意这里采用canny控制类型,将控制权重提高到1.5,并将控制模式修改为更偏向controlNet。
在提示词中无关的正向提示词删除,仅保留【hand】(手部相关提示词)和画质提示词(best quality)等,负向提示词通常不需要改动。
再次生成图片,可以看到手部有巨大改善。
小tips
在Depth library中选择手型,尽量选择5根手指能够明确区分的图片(比如手掌全部张开)。这样可以提升controlNet识别轮廓/深度的准确度,进而在重绘中提高手型的还原度。
这篇关于stable diffusion学习笔记 手部修复的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!