BCVideoNodes models

The detection and pose models used by ComfyUI-BCVideoNodes.

The nodes download whatever they need from here on first use, so nothing in this repository has to be fetched by hand. It exists so the weights have a stable home, and so anyone can see exactly which files a node is pulling.

What is here

file model source licence
vitpose_h_wholebody_fp16.safetensors ViTPose-H, 133 COCO-WholeBody keypoints Kijai/vitpose_comfy Apache-2.0
rtmw_l_wholebody_384x288_fp32.safetensors RTMW-l, 133 COCO-WholeBody keypoints OpenMMLab's own export, via bukuroo/RTMW-ONNX Apache-2.0
yolov10x_fp32.safetensors YOLOv10-X person detection onnx-community/yolov10x AGPL-3.0

vitpose_h_wholebody is fp16; the other two are fp32. See below.

Why these are not the original files

Upstream ships these as ONNX. The nodes run them as plain torch modules instead — the architecture is written out by hand and the weights are loaded into it, which removes the onnx dependency, removes a protobuf parse and a graph walk from every model load, and replaces ViTPose's two-file external-data export (a 420 KB graph plus a 2.5 GB .bin) with one file.

Each file carries its architecture in the safetensors metadata, so the loader needs nothing but the file.

Precision

ViTPose-H is fp16, the other two are fp32, because fp16 is not free and only one of them is large enough for it to pay:

model fp32 fp16 saved
ViTPose-H 2.43 GB 1.22 GB 1.2 GB
RTMW-l 219 MB 110 MB 110 MB
YOLOv10x 113 MB 57 MB 56 MB

What it costs, measured on 60 real frames over every keypoint the model draws, against the same model in fp32 on identical crops: ViTPose-H, 5230 keypoints compared, 20 moved, largest move 1 heatmap cell. RTMW-l, 5012 compared, 401 moved, largest move 1.5 px. Worth paying for 1.2 GB, not worth paying for 110 MB.

Keypoints the model does not draw are excluded from those figures, and that matters: on those the score distribution is flat, so the argmax is noise in either precision, and fp16 appears to move them by up to 215 px. That number is what a flat distribution does, not what fp16 does.

Conversion

The converter lives in the node repository, scripts/convert_models.py. It reads the upstream ONNX file, builds the native module from it, and writes the module's own state dict plus its architecture. Rerun it to update a model; do not hand-edit the files here.

Credit

The pose models are OpenMMLab's and the ViTPose authors' work; YOLOv10 is THU-MIG. This repository only re-packages them. The wholebody pose utilities in the node repository are vendored from the Alibaba Wan team's WanAnimate preprocess and keep their copyright header.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support