重绘
学习在 ComfyUI 中重绘和修改图像!本指南涵盖头发、服装、身体等,使用“Segment anything”等节点进行精准修改。
Last updated
学习在 ComfyUI 中重绘和修改图像!本指南涵盖头发、服装、身体等,使用“Segment anything”等节点进行精准修改。
Last updated
重绘:更换发色、发型、胸部、腹肌、服饰等
在开始搭建节点之前可以先确定一个流程,比如想要更换头发颜色,需要这两个步骤:
第一步:需要先将头发识别出来,可以选择手动涂抹或者自动识别
第二步:局部重绘,修改识别到的区域
接下来就根据步骤开始搭建节点:
上传图片后添加segment anything节点,拖出节点,加载两个对应的模型,将图片连接在节点上,输入想要识别出的区域
新增节点:
GroundingDinoSAMSegment (segment anything):SAMLoader (Impact)、GroundingDinoModelLoader (segment anything)
Parameters:
device_model: Prefer GPU
为了让蒙版识别的更准确,再加入一个segment anything识别出脸部,输入端可以使用与之前segment anything相同的模型,最后使用mask-mask将两个蒙版相减:上面的蒙版减去下面的蒙版,得到了精确的头发部分
新增节点:
Bitwise(MASK - MASK)
*当遇见某些地方无法识别的情况,可以使用这种蒙版相减的方法
得到蒙版后可以对蒙版进行一些处理,比如这里加上了GrowMask和feathered mask来扩展蒙版以及对蒙版进行羽化,让最后重绘的图更自然
新增节点:
GrowMask
FeatheredMask
最后可以添加一个蒙版预览节点,查看最终的蒙版效果
新增节点:
Convert Mask to Image
Preview Image
为了方便观看,我们可以将这一组节点整理在一起
这里重绘使用之前提到的Set Latent Noise Mask,会参考原图进行重绘,将蒙版节点连接起来
新增节点:
Set Latent Noise Mask
接下来添加模型组,按照图生图方式,分别添加模型、提示词、采样器以及最后的解码,然后将蒙版组与模型组相连接
*图片需要加入编码进入潜空间重绘
将所有的线都连接完毕,可以根据自己需求输入对应提示词,设置相关参数,重绘幅度最大为1
注意:在对面部进行重绘时,建议加上FaceDetailer,起到了修复面部的作用,将输入端连接对应节点
新增节点:
FaceDetailer:UltralyticsDetectorProvider、SAMLoader (Impact)
另外因为只需对脸部重绘,不需要两个蒙版相减,可以选中对应节点Ctrl+B将节点隐藏,再将对应的节点连接上
*这样的重绘会对整张脸都进行了重新绘制,相当于换了一个人
关于如何实现同一个人更换不同表情,之后会推出更详细的教程
最后我们可以将这组工作流保存,方便下次使用
通过这种方法我们可以实现很多一键重绘
例如一键丰胸、一键健身、一键修改面部、一键更换服饰、发型等
YoloWorld能对某个物体单独抠图,速度比较快,识别相对没有segment精确,有些部分(例如肚子)存在无法检测的情况,可以搭配mask-mask使用
首先与segment anything相同的步骤,加入Yoloworld ESAM自动检测需要识别重绘的部分,以一键健身为例,这里无法直接识别需要增肌的区域,因此采用mask-mask的方式获取重绘区域,然后对蒙版区域进行处理
*可以在开始前对原始图片进行高清修复
重要参数:
confidence_threshold:识别的精确度,数值越小,识别越精确
iou_threshold:边框重叠度,数值越小,识别越精确
mask_combined:是否叠加蒙版,“true”则将蒙版叠加在一张图上输出,“false”会将蒙版单独输出
将蒙版接入重绘蒙版节点:InpaintModelConditioning,提示词只对蒙版区域有效,按照图生图模式,加入模型-提示词-采样器-解码-预览图片
调整相关参数,点击“创作”