本项目是 SDPose-OOD 项目的 ComfyUI 自定义节点实现。
它将 SDPose-OOD 强大的姿态估计功能带入 ComfyUI 工作流中,能够从图像中提取高鲁棒性的身体或全身姿态。
bf16, fp16 和 fp32 推理,以平衡速度和显存占用。安装此节点:
git clone 将此仓库克隆到你的 ComfyUI/custom_nodes/ 目录下。cd ComfyUI/custom_nodes/SDPose-OOD-ComfyUIpip install -r requirements.txt安装模型 (自动或手动):
Load SDPose Model, Load YOLO Model)在首次运行时会自动从 Hugging Face 和 Github 下载模型,并将其放置在正确的目录中。ComfyUI/models/SDPose_OOD/
ComfyUI/models/yolo/
yolov8n-pose.pt)更适合检测真人。安装可选依赖 (用于高级 BBox 检测):
model_type: 选择 Body (17点) 或 WholeBody (133点)。unet_precision: 精度选择。
bf16: 推荐 30 系及以上显卡使用。fp16: 推荐 20 系及更早的显卡使用。fp32: CPU 推理或需要最高精度时使用。bf16/fp16 显著降低显存占用,速度与 fp32 几乎相同。device: auto 会自动检测 CUDA。CPU 推理仅支持 fp32。yolov8n-pose.pt)。YOLO_MODEL 输出连接到 Run SDPose Estimation 节点。sdpose_model: 来自 Load SDPose Model 的模型。image: 你的输入图像。yolo_model (可选):
bbox_input 也未连接): 节点将处理整张图像。这适合单人图像。bbox_input (可选): 新增输入。可连接来自 ComfyUI-Florence2 或 GroundingDINO (ComfyUI-SAM2) 的 BBox 输出。
yolo_model 和 grounding_dino_model或data_from_florence2,节点将优先使用 data_from_florence2,其次使用groundingdino。score_threshold: 关键点置信度阈值。低于此分数的点将被忽略。keep_face (布尔值): True 则保留面部关键点 (仅 WholeBody 有效)。keep_hands (布尔值): True 则保留手部关键点 (仅 WholeBody 有效)。keep_feet (布尔值): True 则保留脚部关键点(仅 WholeBody 有效)。overlay_alpha: 控制输出图像的可见度。
0.0: 100% 原始图像。0.6: 原始图像与姿态图的混合(原图亮度60%)。1.0: 100% 姿态图(纯黑背景)。save_for_editor (布尔值):
True: 开启后,将保存一个 JSON 文件到 ComfyUI/output/poses/ 目录,文件名前缀为 pose_edit。image (输出): 最终的可视化图像(根据 overlay_alpha 设置)。pose_json (输出):
save_for_editor 保存的 JSON 格式不同,它不能用于 OpenPose 编辑器节点。
Load Image 加载你的源图片。Load SDPose Model 选择 WholeBody 和 bf16。Load YOLO Model 选择 yolov8n-pose.pt。 (或使用 Florence2 / GroundingDINO 连接到 bbox_input)Run SDPose Estimation。overlay_alpha 为 1.0 (如果你想要一个纯姿态图)。save_for_editor 为 True (如果你想稍后编辑它)。Preview Image 查看 image 输出。