|
Download README.md from beycanai/BCVideoNodes-models: direct link, hf CLI and curl.
- Browser
- Download file 3.28 kB
-
https://huggingface.co/beycanai/BCVideoNodes-models/resolve/main/README.md
- Command line
-
hf download hf://beycanai/BCVideoNodes-models/README.md
-
curl -L -o README.md https://huggingface.co/beycanai/BCVideoNodes-models/resolve/main/README.md
3.28 kB
| license: other | |
| library_name: safetensors | |
| tags: | |
| - comfyui | |
| - pose-estimation | |
| - object-detection | |
| - wholebody | |
| pipeline_tag: keypoint-detection | |
| # BCVideoNodes models | |
| The detection and pose models used by | |
| [ComfyUI-BCVideoNodes](https://github.com/0xBeycan/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](https://huggingface.co/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](https://huggingface.co/bukuroo/RTMW-ONNX) | Apache-2.0 | | |
| | `yolov10x_fp32.safetensors` | YOLOv10-X person detection | [onnx-community/yolov10x](https://huggingface.co/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`](https://github.com/0xBeycan/ComfyUI-BCVideoNodes/blob/main/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](https://github.com/THU-MIG/yolov10). 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. | |