Nodes/IBB_POSE/IBB Pose — Load GroundingDINO Model
ComfyUI Node

IBB Pose — Load GroundingDINO Model

The optional eyes of IBB Pose — load GroundingDINO when 'person' isn't the whole story

By IBB666·Created 4 months ago·Updated 4 months ago· 0
IBB Pose — Load GroundingDINO Model
    • GROUNDING_DINO_MODEL
    model_name

    GroundingDINO is the one loader in IBB Pose you can skip, until the day you can't. This node doesn't do a lick of pose estimation itself - it loads an open-vocabulary object detector, and its entire job inside this pack is to hand the processor a list of bounding boxes for "where are the people?". You wire it in when YOLO isn't the right tool for finding your subject, and honestly, for a lot of pose work it isn't needed at all.

    Here's the context that makes it click. The IBBPoseProcessor detects people first, then estimates pose on each detected person. Its default detector path is YOLO: fast, purpose-trained, and great at "person". GroundingDINO is the text-prompted alternative - you describe what to look for in words. That makes it genuinely useful when your subject is a person in a crowd, or something a generic person-detector fumbles. This is the same Grounded-SAM-style trick that powers a whole category of detection workflows, where a text prompt finds a box and a segmenter or - here - a pose model does the rest.

    How it works

    The implementation is cribbed from the SAM2 node playbook, and it's straightforward. On first use it downloads a config file and a .pth checkpoint from ShilongLiu/GroundingDINO on HuggingFace into ComfyUI/models/grounding-dino/, builds the transformer model, loads the weights, and hands you a GROUNDING_DINO_MODEL. The detection itself runs when the processor calls it with your prompt.

    The one input that matters

    model_name is a dropdown with exactly two choices:

    • GroundingDINO_SwinT_OGC (694MB) - the standard model. This is the one people actually use.
    • GroundingDINO_SwinB (938MB) - bigger, a bit more accurate, and a chunkier download. Only worth it if SwinT is clearly missing detections for your input.

    You wire the GROUNDING_DINO_MODEL output into the processor's grounding_dino_model input, then set prompt (defaults to "person .") and gd_threshold (default 0.3) there.

    Installing it

    Same base install as the rest of the pack - ComfyUI Manager, search "IBB_POSE", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/IBB666/IBB_POSE
    cd IBB_POSE
    pip install -r requirements.txt
    

    One extra requirement: this node imports groundingdino at runtime, which is not in requirements.txt (the pack keeps install-time deps minimal and imports backends lazily). If it fails, you need:

    pip install groundingdino-py
    

    Troubleshooting

    • Failed to import 'groundingdino' - you skipped the step above. Install groundingdino-py and restart ComfyUI.
    • Slow first run - it's pulling a ~700MB checkpoint. That's normal.
    • Detection is slow or missing things - GroundingDINO is heavier than YOLO. If you only ever prompt "person", save yourself the VRAM and use the YOLO loader instead. Reach for this node when text-driven detection is actually what the workflow needs.
    CategoryIBB_POSE

    Inputs (1)

    NameTypeDefaultDescription
    model_nameCOMBO2 options: GroundingDINO_SwinT_OGC (694MB), GroundingDINO_SwinB (938MB)

    Outputs (1)

    NameTypeDescription
    GROUNDING_DINO_MODELGROUNDING_DINO_MODEL