Spaces:
Running
on
Zero
Running
on
Zero
| from ..utils import common_annotator_call, create_node_input_types | |
| import comfy.model_management as model_management | |
| class DensePose_Preprocessor: | |
| def INPUT_TYPES(s): | |
| return create_node_input_types( | |
| model=(["densepose_r50_fpn_dl.torchscript", "densepose_r101_fpn_dl.torchscript"], {"default": "densepose_r50_fpn_dl.torchscript"}), | |
| cmap=(["Viridis (MagicAnimate)", "Parula (CivitAI)"], {"default": "Viridis (MagicAnimate)"}) | |
| ) | |
| RETURN_TYPES = ("IMAGE",) | |
| FUNCTION = "execute" | |
| CATEGORY = "tbox/ControlNet Preprocessors" | |
| def execute(self, image, model, cmap, resolution=512): | |
| from densepose import DenseposeDetector | |
| model = DenseposeDetector \ | |
| .from_pretrained(filename=model) \ | |
| .to(model_management.get_torch_device()) | |
| return (common_annotator_call(model, image, cmap="viridis" if "Viridis" in cmap else "parula", resolution=resolution), ) | |