Nodes/comfyui_cv/CV MediaPipe Palm Detect
ComfyUI Node

CV MediaPipe Palm Detect

Detects palms with the MediaPipe palm SSD (cv2.dnn). Place palm_detection_mediapipe_2023feb.onnx in ComfyUI/models/onnx and pick it. Stage 1 of hand-pose estimation: feed the 'palms' output into 'CV MediaPipe Hand Pose'. Outputs are DATA only - visualize the boxes with the core 'Draw BBoxes' node and the 7 palm points with 'CV Draw Points'. Zero palms is a valid result (empty outputs). Processes a single image (the first frame of a batch).

By bmad4ever·Created 3 months ago·Updated 2 days ago· 0
CV MediaPipe Palm Detect
  • image
  • bboxes
  • palms
  • palm_points
  • scores
  • palm_count
model
score_threshold0.60
nms_threshold0.30
top_k5000
Categoryimage/CV/dnn

Inputs (5)

NameTypeDefaultDescription
imageNPARRAY,IMAGEInput image. An IMAGE batch uses its first frame; an NPARRAY (gray/BGR/BGRA, any dtype) is treated as one frame. Accepts a ComfyUI IMAGE/MASK directly (frame 0 of a batch) or an NPARRAY. Arithmetic ops (add, multiply, etc.) process the full IMAGE batch when both inputs have the same batch size.
modelCOMBOMediaPipe palm .onnx model from ComfyUI/models/onnx (palm_detection_mediapipe_2023feb.onnx).
score_thresholdFLOAT0.600–1Minimum sigmoid confidence to keep a palm. Lower detects more (and more false positives).
nms_thresholdFLOAT0.300–1Non-maximum suppression IoU: palms overlapping by more than this are merged.
top_kINT50001–20000Keep at most this many candidate boxes before NMS.

Outputs (5)

NameTypeDescription
bboxesBOUNDING_BOXOne {x, y, width, height, score} dict per palm - feed the core 'Draw BBoxes' node.
palmsNPARRAY(N, 19) float32: each row [x1, y1, x2, y2, 7*(lx, ly), score]. Feed this straight into 'CV MediaPipe Hand Pose'. Empty (0, 19) when no palms.
palm_pointsNPARRAY(N*7, 2) float32: the 7 palm landmarks of every palm (wrist + finger bases), for 'CV Draw Points'. Empty (0, 2) when no palms.
scoresNPARRAY(N,) float32 confidence per palm, same order as bboxes.
palm_countINTNumber of palms detected.