
玩ComfyUI的人十个有九个迟早都会碰到一个问题怎么把图里的人物或者物体干干净净地抠出来。修图要抠、训练LoRA要抠、做电商图要抠、给视频换背景也要抠。我最早在SD WebUI里习惯了用插件一键搞定刚转到ComfyUI那会儿还真有点不习惯总觉得节点连线麻烦。但真用熟了以后反而觉得ComfyUI的抠图方案上限高得多——因为它把步骤拆开了每一步都看得见摸得着想换哪个环节直接换节点就行不用整套流程推倒重来。这篇文章我就把目前ComfyUI里最实打实的三条抠图路线掰开揉碎讲一遍经典分割抠图、交互式精细抠图、以及全自动一键抠图。每种我都会把原理、节点搭建、适用场景和坑都讲清楚再给一套可以直接抄作业的对比结论。1. 三种主流抠图方式的整体设计与选型思路先别急着上手拉节点磨刀不误砍柴工。ComfyUI里的抠图方案看着五花八门其实底层逻辑就三条语义分割、实例分割、以及传统图像处理。这三条线对应不同插件和节点使用体验差别非常大。1.1 为什么ComfyUI抠图比PS和SD WebUI更灵活在PS里抠图靠的是选区工具、钢笔工具和通道计算。本身能力很强但自动化程度低遇到批量处理的场景就痛苦了。在SD WebUI里抠图大家最常用的是rembg插件和ControlNet的DensePose之类的方案够用但每个功能相对封闭很难把抠图结果和生成流程深度融合起来。ComfyUI的本质是一个流程图式的节点引擎。这意味着抠图不再是一个独立的动作而是一个可以被插入到工作流任何位置的中间环节。比如我先用分割节点把人物抠出来生成一张透明底PNG接着再接一个重绘节点只对抠出的区域做高清修复。这在WebUI里操作很别扭但在ComfyUI里只是加了三根连线的事。另一个优势是精度可控。ComfyUI里所有中间产物——Mask、Segmentation、透明图——都是可以被可视化预览的。哪个环节出了问题一眼就能看出来不用靠猜。1.2 三种方式的核心思路与定位差异我这里讲的三种主流方式对应的是三类不同的需求第一种语义分割类代表性节点UltralyticsDetectorProvider、SAM、BiRefNet。它的思路是我想抠什么东西——是人、是猫、还是某个物体。你告诉模型目标类别它把对应区域分出来。第二种交互式分割类代表性节点ComfyUI-segment-anything-2、SAM2。它的思路是我要抠这块地方。你给它一个框或者几个点它在框内精确地区分出前景和背景。第三种一键全自动类代表性节点rembg、BiRefNet的GeneralUse模型。它的思路是不用告诉我抠什么我帮你把前景主体抠出来。适合人像、商品这类主体明确的图。这三种方式不是替代关系它们在实操中经常组合使用。比如电商场景里先用全自动方式快速出底图再用交互式方式精修头发丝最后用语义分割方式合并同类商品蒙版。理解了各自的定位后面搭节点才不会晕。2. 方式一基于语义分割的通用抠图SAM与GroundingDINO组合这是目前ComfyUI社区里讨论度最高、上限也最高的抠图方式。核心思路是先用一个目标检测模型找到目标位置再交给SAMSegment Anything Model生成精确蒙版。2.1 核心原理GroundingDINO SAM 的组合魔法先解释两个名词。GroundingDINO是一个开集目标检测模型。普通的目标检测模型比如YOLO只能识别它训练过的那80类物体比如人、车、猫。GroundingDINO不一样你给它一句自然语言描述比如red cara person wearing glasses它能在图中把这个东西的边界框找出来。SAMSegment Anything Model是Meta开源的分割大模型。它厉害的地方在于分割能力极其精细配合正确的提示能抠出头发丝级别的边缘。但SAM也有个短板——它不知道什么是人你让它自主抠图它经常会把背景里的杂物也当成独立目标。所以必须有人告诉它目标在哪。这两个模型天生互补。GroundingDINO负责回答目标在哪SAM负责回答目标的精确边界在哪。组合起来就是一套能理解自然语言的专业级抠图系统。2.2 需要的插件与模型准备工作要用这套方案需要装以下插件ComfyUI_essentials提供各种图像和掩码后处理工具很多流程都会用到ComfyUI-segment-anything-2SAM2的分割节点比一代速度更快、效果更稳ComfyUI_GroundingDINOGroundingDINO的封装节点模型方面注意了不需要去下载那个15GB的原始SAM权重。ComfyUI社区已经把模型做了转换和蒸馏常用的有三个版本sam2.1_hiera_large.pt精度最高吃显存适合对边缘要求极致的情况sam2.1_hiera_base_plus.pt精度和速度的平衡点我日常默认用这个sam2.1_hiera_small.pt速度快抠简单物体够用GroundingDINO模型一般用Swin-T或者Swin-B的权重Swin-B更准Swin-T更轻。显存16G以下的机器建议用Swin-T起步。2.3 工作流搭建步骤图解直接在画布上按这个顺序拖节点1.加载图像节点Load Image。 2.接GroundingDINO节点在prompt参数里输入你的目标描述。比如抠人的话就写person抠车就写car。注意提示词用英文且尽量简洁——a persona dog比beautiful person with red dress更好使因为检测模型的词典有限描述越复杂越容易漏检。 3.接SAM2节点从GroundingDINO接收boxes边界框信号。SAM2节点里会生成一个Mask输出。 4.接Mask转图像节点比如Mask到图像得到透明底图。 5.如果边缘不够干净再接一个Mask边缘羽化/腐蚀膨胀节点做微调。连接完成后点运行稍等几秒就能看到分割结果。整个链路最核心的就是那根从GroundingDINO到SAM2的连线它传输的是检测框坐标信息。2.4 实用参数调整与效果优化技巧这套方案我最喜欢的一点是可以很细地控制结果。几个关键参数分享一下GroundingDINO的threshold阈值默认0.35意思是只有当模型对目标是不是人的信心超过35%时才给出框。阈值越高漏检越多但误检越少阈值越低检测越全但会框出莫名其妙的东西。我一般从0.3起步发现多框了再往上调。SAM2的multimask和polygon参数multimask开启时SAM会给出候选的多个蒙版你可以从里面挑最好的如果关闭只输出一个。追求效率就关掉追求效果就开着。另外提一句在groundingDINO的prompt里支持同时输入多个类别并用点号分隔比如person.dog.car。这非常实用——你要把画面里所有的人和狗都抠出来一条提示词就搞定了。实操心得这套方案最怕的是目标和描述之间差异太大。比如你说person去抠一个戴着厚头盔只露出脸的人模型大概率漏检。这时候可以试试不要用太抽象的类别词而用更具体的face或者head。这个小诀窍我救了不少场。3. 方式二交互式精细抠图SAM2点选与框选如果说第一种方式是告诉它抠什么第二种方式就是告诉它从哪儿抠。它适合那种目标不够典型、模型不好自动识别的场景。典型例子抠一团烟雾、抠一簇头发、抠某个特定的人而不是画面里的所有人。3.1 从自动到手动为什么要保留交互式方案很多人觉得既然SAM2GroundingDINO这么好用为什么还要费劲去手动点答案是自动检测在复杂场景下会翻车而且翻车的姿势千奇百怪。举几个真实例子之前我要抠一张图里三个站成一排的人GroundingDINO很轻松给出了三个框。但SAM在分割时把中间那个人的手臂划给了左边的人三个人全都粘连在一起。这种时候你得单独把每个人框出来重新分割。再说一个更常见的透明物体。一个玻璃杯放在窗台上GroundingDINO给了cup的框但SAM对透明材质的边缘天生不敏感经常把玻璃里的背景也划进蒙版。这种场景自动方案基本无能为力只能手动修正。所以交互式方案不是备胎是正规军。它解决的正是自动方案无能为力的那部分需求。3.2 节点连接方式和交互操作流程在ComfyUI里交互式SAM2操作有点特殊。第一次用可能会找不到交互入口这里重点说明一下。安装ComfyUI-segment-anything-2插件后画布上会有一个叫SAM2 Detector的节点。这个节点的独特之处在于它不能像其他节点一样简单地点击运行。你需要1.在节点上右键选择Open in New Window或者直接双击打开它的交互预览窗口。 2.在弹出的窗口里加载图片。 3.用鼠标在图上画框或者点几个点。左键点是标注这个位置属于目标右键点是标注这个位置属于背景。 4.点预测按钮就能实时看到分割蒙版。得到满意的蒙版后这个交互窗口会输出一个Mask信号后续接什么节点就随心所欲了。3.3 SAM2模型的安装细节与显存注意事项SAM2模型在ComfyUI里的加载方式和普通checkpoint不同。它不是通过Load Checkpoint节点加载的而是在SAM2 Detector节点里直接下载或者放到ComfyUI/models/sam2目录下。这里有个容易踩的坑很多人在交互窗口里点了预测结果半天没反应以为是卡死了其实是显存不够模型在CPU上跑。SAM2的large模型在16G显存下勉强能跑8G显存建议直接用base或small版本。我在做交互式抠图时习惯先把图片分辨率降到适合操作的尺寸。不是所有图片都需要2048x2048去抠很多时候降到1024左右反而更容易点选而且速度飞快。扣完再通过放大节点把蒙版对齐回原图分辨率。3.4 交互式抠图的效率提升方案交互式虽然慢但有一些办法可以让它变高效第一先自动后手动。先用GroundingDINO粗检测找到所有候选目标再用SAM2交互式对单个目标精修。自动负责兜底手动负责补漏。第二善用坐标对齐。如果后续要把抠出的图放回原背景务必记住一个尺寸匹配的问题——交互窗口处理的是缩放后的图生成的蒙版也是小图的尺寸。这时候需要在SAM2之后接一个Upscale Mask节点把蒙版分辨率拉回原图分辨率否则蒙版和原图对不齐。第三善用只改局部的迭代思维。不要指望一次交互就得到完美蒙版。SAM2是支持在已有蒙版基础上继续点选的你发现哪个区域被误抠了用右键在那个位置点一下模型就会自动把这个区域从蒙版里去掉。这个过程可以反复迭代几十次直到满意为止。4. 方式三全自动一键抠图rembg与BiRefNet如果你不需要那么精细的控制只想快速把主体抠出来那这个方案就是你的菜。它不需要任何手动操作只要一个节点输出就是透明底图真的是一键完成。4.1 玩的就是省心全自动抠图的定位与价值全自动抠图方案的定位就是快。适合这几类场景大批量素材预处理比如几百张商品图要批量做人像抠图做训练数据集的时候需要快速生成大量带透明通道的素材对精度要求不苛刻的情况比如社交媒体配图它的核心逻辑是基于大数据训练的前景背景分割模型。模型看过的图片多了天然就知道画面中心的主体是前景周围的环境是背景。不需要你告诉它类别也不需要你画框。4.2 rembg节点的使用与模型切换在ComfyUI里最常用的全自动抠图插件是ComfyUI-ImageMatting和ComfyUI_essentials里集成的rembg节点。装好之后你会看到一个叫Rembg的节点拖出来就能用。这个节点有几个参数很关键rembg_model选择用哪个底模。默认是u2net均衡但如果你主要抠人像强烈建议换成isnet-general-use对人物的边缘处理更好如果是抠衣服产品试试u2netp轻量速度快。alpha_matting开启之后可以进一步分离半透明区域比如头发丝、婚纱边缘、玻璃器皿。但开启后处理速度会明显变慢而且需要调alpha_matting_foreground_threshold和alpha_matting_background_threshold来决定前景背景的判定范围。实操心得第一次用rembg节点的时候我发现一个问题——输出结果跟预期不一样透明底没出来反而得到了一个奇怪的黑白图像。后来才明白节点的输出端口分两种一种是直接输出RGBA透明底图另一种是输出Mask蒙版。很多新手都在这里被绕晕。你如果想要透明底图认准节点上写着image的那个输出口如果想要黑白蒙版用mask输出口。4.3 BiRefNet目前全自动抠图效果的天花板说句实在话传统rembg在复杂场景下的效果已经有点跟不上时代了。最近半年社区里口碑最好的全自动抠图是BiRefNetBilateral Reference Network它对边缘的处理细腻程度远超旧方案。BiRefNet插件在ComfyUI里同样有封装节点名叫BiRefNet或者BRIA AI等叫法。使用之前需要去HuggingFace下载对应的模型权重常用的有BiRefNet-General-2K通用分割2K分辨率适配效果最好BiRefNet-portrait-2K专攻人像发丝细节表现极佳BiRefNet_HR适合高清图和rembg相比BiRefNet的优势主要提现在三个维度边缘干净。不会出现那种狗啃边框的感觉。对透明和半透明物体效果好。玻璃杯、塑料袋、纱巾这类传统抠图的噩梦在BiRefNet面前能解决六七成。抗复杂背景干扰。比如背景里有树枝缝隙、光影变化BiRefNet的稳定性明显更好。代价就是速度慢。一张1024x1024的图在普通显卡上可能要跑5到10秒。但如果你不是要批量处理几千张图这个时间成本完全值得。4.4 批量处理的配置思路讲到批量ComfyUI有个天然优势就是可以通过Load Image Batch节点加载整个文件夹然后自动对每张图执行流程。配合BiRefNet或rembg就能很轻松地搭出一个批量一键抠图工作流。流程很简单1.Load Image Batch加载一个图片文件夹。 2.接到BiRefNet节点。 3.接一个Save Image节点注意要把文件名设置成包含原文件名避免输出覆盖。 4.运行坐等出图。这个工作流我实际用下来100张人像图大概十分钟左右能跑完。比起在PS里一张一张用钢笔抠效率高了一个量级。5. 三种方式对比从效果、速度到适合人群的横向评价三种方案都讲完了这里做一个直观的横向对比方便你对号入座。对比项方式一GroundingDINOSAM方式二SAM2交互式方式三BiRefNet/rembg全自动操作方式自动检测分割手动框选/点选完全自动精度上限高最高中等偏高处理速度中等慢快rembg/ 中等BiRefNet对于复杂边缘较好最好好对多物体抠图支持但容易粘连手动逐目标处理只会抠主体新手友好度中低极高吃显存程度高高低典型应用通用识别、多物体精修单品、头发丝批量预处理、快速出图需要说明的是这三者并不是哪个最好的关系而是哪个最合适当前需求的关系。如果你要快速给商品图换背景直接全自动方案如果你要抠一个包含多个人物的复杂合图用方式一如果是广告级的精修手绘素材只能用方式二。5.1 新手友好度排名如果完全没接触过ComfyUI我建议从方式三开始用最少的节点先跑通出一张图的全流程。这样你会理解ComfyUI的基本逻辑建立信心。然后再去折腾方式一因为它的节点链路完整涉及了检测、分割、后处理等核心概念跑通它会让你对ComfyUI的理解上一个台阶。方式二建议在有一定节点基础后再尝试因为交互窗口的操作对软件理解有一定要求而且踩坑概率更高容易劝退。5.2 三种方式组合搭配的高阶玩法前面说的都是单独使用但玩ComfyUI最有魅力的一点就是把不同节点串联组合。这里分享一个我实战中经常用的组合方案先用GroundingDINO把画面里所有目标物体都框出来然后用SAM切出多个独立蒙版再把这些蒙版分别通过BiRefNet精修边缘最后把多层蒙版合并输出成一张包含所有物体的透明底图。这个工作流听着复杂其实只需要在SAM2和BiRefNet之间加一个Split Mask节点把蒙版拆分然后在最后用Combine Masks合并即可。缺点是要多管理几条连线优点是精度比单纯用其中任何一种方案都高尤其在处理多目标合切时优势非常明显。6. 实操中常见的问题与排查技巧写到这里想起自己之前搭建抠图工作流时踩过的一些坑挑几个典型问题说说能给正在折腾的人省点时间。6.1 为什么SAM2节点报错CUDA out of memory很常见尤其是在使用sam2 large模型时。除了换小模型外还有一个解决办法先给输出图降分辨率。在流程最前面加一个Image Scale节点把图缩到1024跑完再通过Upscale Image把蒙版放大回去。这招不只是省显存速度也能快很多。如果不想裁分辨率另一个思路是使用--lowvram模式启动ComfyUI让显存管理更激进一些碎片化利用显存。代价是运行速度会稍慢。6.2 为什么蒙版边缘有白边或者锯齿这个问题几乎人人都会遇到根源在于蒙版是二值的——要么是纯黑要么是纯白没有中间过渡。当蒙版边缘有像素误差时抠出来的图边缘就会带一圈背景色。解决办法有两个在流程末尾加一个Mask Feather节点给蒙版加1到2像素的羽化让边缘过渡自然。使用Composite节点时把蒙版作为alpha通道和原图合成而不是用蒙版裁剪图像。前者能保留半透明边缘后者是硬切。6.3 GroundingDINO检测不到目标时怎么调先检查提示词。GroundingDINO对模糊的长句理解不好尽量用一个单词或者短词比如persondogcar。如果词没毛病还是漏检那就把阈值往下调。很多时候模型其实已经发现了目标只是信心值不高被阈值滤掉了。从0.35降到0.2往往就能框出来。实在不行可以把GroundingDINO换成OWL-ViT节点这是另一个开集检测模型同样能输出box给SAM两者可以互相兜底。6.4 抠出来的图有紫边或者绿边这个问题主要出在rembg系列方案上源于模型的训练数据中某些边缘像素被错误分类。解决方法很粗暴简单把抠好的图送进Image Clean节点或者直接用Photoshop的去除颜色杂边功能处理一下就好。如果是在ComfyUI里自动处理可以加一个Image Color Correction节点把边缘区域的饱和度微调降低效果也很明显。6.5 批量处理时如何避免输出文件覆盖有朋友问过我为什么批量跑完以后文件夹里只有一张图。这是因为Save Image节点在批量模式下默认会用同一套文件名反复覆盖写入。解决方法是给文件名模板里加上%batch_index%之类的变量或者在Save Image节点里勾选Overwrite选项关闭覆盖模式。6.6 关于工作流保存的个人建议第一每个阶段都保存一个独立工作流。比如基础分刚完成保存一个加了背景替换保存一个。这样出了问题不用从头来直接回退到上一个版本。第二给别人分享工作流之前先检查一遍所有自定义节点是否都能正常加载。有很多工作流打开之后报红是因为原作者装了十几个自定义节点分享时又不说明接收方只能一个个去找、去补装。这里推荐在分享时附上一份节点清单能省下不少沟通成本。第三重要工作流记得导出成图片格式。ComfyUI的workflow PNG是内嵌了节点数据的双击图片就能还原整个工作流比分享JSON文本更直观、更方便。7. 三种方案怎么选我的最终建议先把结论挂在前面没有绝对的最优解只有最适合当前工作场景的解。如果你只是偶尔抠一张图发个朋友圈那BiRefNet自动抠就够了没必要折腾那两条复杂的链路。如果你是做电商设计的每天处理几十张商品图建议用自动方案打底快速出初稿遇到特殊产品再手动精修。如果你搞的是专业后期或者模型训练素材那SAM这套才是主力虽然慢但精度和可控性对得起这个花费。还有一个很关键的建议——搭建一次反复利用。ComfyUI的优势在于工作流可以复用所以不要每次都从零开始拉节点。花点时间把这三种方案各搭成一个固定的工作流存到本地模板里以后要用哪个直接加载输入图片、点运行、收图。这才是真正高效的工作方式。我个人在实际操作中还有个小习惯就是每次跑完重要的抠图任务都会把结果图的背景替换成纯色再看一眼检查边缘有没有异常。很多在透明网格上看不出来的细节瑕疵换成纯色背景就无所遁形。这个小技巧不值几个钱但真能救命。最后说句掏心窝的ComfyUI的学习曲线确实比WebUI陡但它强大的地方正在于这种一切尽在掌握的感觉。抠图只是起点理解了这套节点思维之后你会发现修复、合成、局部重绘全都一通百通。