以下是使用 ComfyUI 进行大批量自动抠图的详细步骤:
首先,创建工作流生成绿幕素材:
1. 加载默认文生图工作流,根据需要添加 lora 节点。
2. 准备一张绿幕背景图,RGB 为<0,255,0>,尺寸根据自己需要设置,例如 512768(匹配 SD1.5 模型)。
3. 将 empty latent image 节点删掉,加载 load image 节点,上传绿幕图。
4. 右键点击 load image 节点,进入蒙版编辑器绘制蒙版,点击保存(蒙版画出主体大致轮廓即可,不用特别精细)。
5. 加载 vae encode for inpainting 节点,grow mask by 值适当高点。
6. 设置正反提示词部分,由于最终输出的图片包含“主体”和“绿幕背景”两个部分,所以需要两个正向提示词节点(clip text encode prompt),一个填写“主体”描述,一个填写“green background”。并使用 conditioning concat 节点进行串联后发送到采样器,反向提示词正常写,为了最终抠图效果,希望尽量避免出现绿色、阴影,把 green,shadow 加进去即可。
7. 最后连接好所有节点,选择好模型,设置采样器参数,跑图测试。
其次,绿幕素材抠图部分:
1. 加载 image select color 节点,左侧与上个部分的 vae deconde 节点相连,RGB 设置为<0,255,0>,容差(variance)尽量高一些,设置为 100。可以在右侧连上 preview image 节点预览,灵活调整容差值。
2. 把拾取颜色的图片转换为蒙版,添加 convert image to mask 节点,channel 设置为 green,左侧与 image select color 相连,右侧添加 mask ops 节点,主要设置 4 个参数:channel(通道)为 green,shrink_grow(收缩范围)为 310,invert(将蒙版从绿幕反转为主体,0 为不反转)为 1,blur_radius(羽化半径)为 02。shrink_grow 和 blur_radius 可以根据素材灵活调整。
3. 将 mask ops 节点右侧的 mask_image 连接 cut by mask 节点,将蒙版外的部分切除,最后 cut by mask 右侧连接 save image 节点。
4. 也可以 image select color 节点左侧替换为 load image 节点,上传任一张绿幕素材进行抠图。
工作流的迭代改进点包括:
1. 训练绿幕 lora,生成更纯净的绿幕素材。
2. 对非绿幕的正常图片进行抠图。
2025-02-23