Nodes/ComfyUI_DWposeDeluxe/DWposeDeluxe Cherry Picker (2 Inputs)
ComfyUI Node

DWposeDeluxe Cherry Picker (2 Inputs)

Blend two pose detections, keep the best of each

By hobinrude·Created 9 months ago·Updated 8 months ago· 11
DWposeDeluxe Cherry Picker (2 Inputs)
  • keypoints_1
  • keypoints_2
  • pose_keypoints

Different pose estimators are good at different things - one nails the hands, another holds the torso steady - and there's no single node in vanilla ComfyUI that lets you take the best of both. This one does: feed it two same-length POSE_KEYPOINT datasets and it builds a new sequence where every individual keypoint comes from whichever input detected it with higher confidence.

It's the two-input sibling of CherryPickerFrames. That node picks the best point across time in an over-sampled sequence; this one picks the best point across sources for the same frame.

How it works

Both inputs must have the same number of frames - the node matches them frame to frame. For each frame, for each person, for each keypoint subset (body, face, hands), it compares the confidence value in keypoints_1 against keypoints_2 and keeps the higher-confidence triplet in the output. keypoints_1 is treated as the baseline for the summary.

Like its sibling, it logs a confidence-gain summary per body point to the console after the run, so you get concrete feedback on whether the merge helped - handy when you're deciding whether a second detection pass is worth the runtime.

When to reach for it

The author's stated use case is merging results from different detection or estimation models. Run the same video through two detectors - say, this pack's estimator at different settings, or two different pose backends - then blend them. If one run is steady on the face and the other is steady on the hands, the merged result inherits both strengths.

The pairing with CherryPickerFrames is also natural: run two over-sampled detections, merge across sources with this node, then downsample across time with the other. That's the pack's full anti-jitter stack, and it's genuinely stronger than either node alone.

One honest limitation, same as its sibling: picking the higher-confidence point only helps if the more confident source is the more accurate one. Two runs of the same detector on the same frames will frequently agree on their confident-but-wrong points, so the real payoff comes from blending different detectors whose failure modes differ.

Installing it

Part of the DWposeDeluxe pack:

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

or search DWposeDeluxe in ComfyUI Manager. No models, no inference. If you get an unexpected output frame count, check that both inputs really have the same number of frames - and remember the pack logs warnings to the console rather than blocking the graph.

CategoryDWposeDeluxe

Inputs (2)

NameTypeDefaultDescription
keypoints_1POSE_KEYPOINT
keypoints_2POSE_KEYPOINT

Outputs (1)

NameTypeDescription
pose_keypointsPOSE_KEYPOINT