Nodes/Cozy Human Parser/Cozy Human Parser Pascal
ComfyUI Node

Cozy Human Parser Pascal

Masking body regions, not clothes

By cozymantis·Created 2 years ago·Updated 4 months ago· 137
Cozy Human Parser Pascal
  • image
  • mask
  • map
backgroundfalse
headfalse
torsofalse
upper_armsfalse
lower_armsfalse
upper_legsfalse
lower_legsfalse

Most people who go looking for a "human parser" node want clothing masks - isolate the shirt, swap the pants, that sort of thing. Pascal is the odd one out in this pack: it doesn't know what clothes are at all. It only sees anatomy. Head, torso, arms, legs - coarse body regions, full stop. If what you actually want is "mask the torso regardless of what they're wearing" or "just the arms, don't touch anything else," this is the one of the three that gives you that directly instead of you having to reverse-engineer it from a pile of clothing categories.

Pascal, ATR, and LIP are the same node with three different training sets baked in. Pascal comes from Pascal-Person-Part, a small dataset - about 3,000 images - built specifically for body-part segmentation rather than fashion. That's a fraction of ATR's 17,000+ or LIP's 50,000+, and it's a big part of why Pascal's category list is short: seven regions instead of eighteen or twenty.

How it works

Same mechanism as the other two flavors: this is SCHP (Self-Correction for Human Parsing), a semantic segmentation model that CozyMantis packaged for ComfyUI and got running on CPU as well as CUDA. It classifies every pixel of your image into one trained category, produces a full color-coded parsing map, and the node unions whichever categories you've toggled on into a single output mask. What changes between ATR, LIP, and Pascal isn't the mechanism - it's what the model was taught to label. Pascal was never shown clothing labels during training, so it can't produce a "pants" mask no matter how you configure it; it only knows body regions.

The mIoU on Pascal-Person-Part validation is 71.46% - better than LIP's 59.36%, worse than ATR's 82.29%. That's not really an accuracy ranking so much as a reflection of task difficulty: seven coarse classes is an easier problem than twenty fine-grained ones, so don't read "middle of the pack" as "worse model."

Inputs and outputs

One required image input, plus a boolean toggle (default off) for each of Pascal's seven regions: background, head, torso, upper_arms, lower_arms, upper_legs, lower_legs. Turn on the ones you want unioned into the mask.

Two outputs: mask (MASK) - your combined region mask, the thing you plug into an inpaint node's mask slot or a compositing node. And map (IMAGE) - the full parsing visualization across all seven regions, handy for a quick look at what the model actually saw before you decide which toggles to flip.

Installing it

ComfyUI Manager: search "Cozy Human Parser," install, restart. Or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/cozymantis/human-parser-comfyui-node
cd human-parser-comfyui-node
pip install -r requirements.txt

Then, model-specific and not something Manager fetches for you: grab the Pascal checkpoint from the Google Drive link in the README and place it in ComfyUI/models/schp/. Restart ComfyUI after it's in place.

Where people get burned

Forgetting that model file is the number-one way this node silently does nothing useful - no error dialog, just empty masks, because it's looking in models/schp and finding an empty folder. Check that first if outputs look blank.

Windows users hit a second, separate issue: pip install -r requirements.txt compiles a C++ extension, and if your machine is missing Visual Studio's build tools, ninja, or the matching python3xx.lib, you'll get linker errors instead of a clean install (cannot open file 'python311.lib', a where cl failure, or ninja simply not being found on PATH). The README's Windows Troubleshooting section walks through the fix - install the VS C++ workload, run the pip install from an "x64 Native Tools Command Prompt," and make sure ninja.exe is actually reachable on PATH. If you're on Linux or Mac, this whole section doesn't apply to you.

One honest thing worth knowing: this is a quiet, low-traffic pack - its 2024 launch thread got one upvote and no comments, and human parsing in general barely comes up in the community conversation compared to background removal or inpainting. That's not a knock on it; it just means don't expect tutorials or troubleshooting threads to be easy to find if you get stuck beyond what's in the README. And if body-region masking specifically is what you're after, this is genuinely a narrower, more purpose-built tool than reaching for SAM or GroundingDINO to hand-select the same regions - you get it in one pass, no clicking, no prompting.

CategoryCozyMantis

Inputs (8)

NameTypeDefaultDescription
imageIMAGE
backgroundBOOLEANfalse
headBOOLEANfalse
torsoBOOLEANfalse
upper_armsBOOLEANfalse
lower_armsBOOLEANfalse
upper_legsBOOLEANfalse
lower_legsBOOLEANfalse

Outputs (2)

NameTypeDescription
maskMASK
mapIMAGE