Skip to content

MediaPipe Pose (f8.mp.pose)

MediaPipe single-person pose extraction service (33 landmarks).

  • Service class: f8.mp.pose
  • Version: 0.0.1
  • Source directory: f8/mp/pose
  • Tags: mediapipe, vision, human, pose

When to Use

  • Use f8.mp.pose when the graph needs human pose landmarks rather than only person boxes.
  • It is a natural choice for skeleton-driven visuals, motion analysis, and pose-derived control signals.
  • Use it when joints and body structure matter more than generic detection labels.

Common Wiring Patterns

  • Typical inputs come from f8.implayer, f8.screencap, or live camera-like sources.
  • Outputs commonly feed into f8.viz.track, f8.viz.three-d, or f8.pyengine.
  • If people are unstable in the frame, consider person localization or cropping before pose estimation.

Pitfalls / Gotchas

  • Pose quality depends heavily on visibility, scale, and occlusion.
  • Extreme camera angles can destabilize certain landmarks.
  • Before writing control logic, always visualize the landmarks and verify they match the actual body motion.

Service Reference

How to Run

pixi run -e mediapipe f8pymppose
  • Workdir: ../../../../
  • Environment overrides: none

Typical Inputs / Outputs

  • Data inputs: none
  • Data outputs: detections, skeletons, monitor
  • Commands: none

Service State Fields

Name Access Required On Node Schema Description
shmName rw true true string / default= Video SHM mapping name (e.g. shm.implayer.video).
inferEveryN rw true false integer / default=1 Run pose inference every N frames (>=1).
modelComplexity rw true false string / enum[lite, full, heavy] / default=full MediaPipe pose model variant.
minDetectionConfidence rw true false number / default=0.5 Minimum confidence threshold for pose detection.
minTrackingConfidence rw true false number / default=0.5 Minimum confidence threshold for pose tracking.
visibilityThreshold rw true false number / default=0.5 Landmark visibility threshold (below threshold => hidden point).
lastError ro true false string / default= Last runtime error string (best-effort).
skeletonSource rw true false string / enum[camera, world] / default=camera Skeleton data source (camera-relative vs world-relative).
active rw true false boolean / default=True Service lifecycle state (activate/deactivate).
svcId ro true false string Readonly: current service instance id (svcId).

Key Fields That Matter

  • shmName (Video SHM, rw): Video SHM mapping name (e.g. shm.implayer.video). Schema: string / default=.
  • inferEveryN (Infer Every N Frames, rw): Run pose inference every N frames (>=1). Schema: integer / default=1.
  • modelComplexity (Model Complexity, rw): MediaPipe pose model variant. Schema: string / enum[lite, full, heavy] / default=full.
  • minDetectionConfidence (Min Detection Confidence, rw): Minimum confidence threshold for pose detection. Schema: number / default=0.5.
  • minTrackingConfidence (Min Tracking Confidence, rw): Minimum confidence threshold for pose tracking. Schema: number / default=0.5.
  • visibilityThreshold (Visibility Threshold, rw): Landmark visibility threshold (below threshold => hidden point). Schema: number / default=0.5.
  • lastError (Last Error, ro): Last runtime error string (best-effort). Schema: string / default=.
  • skeletonSource (Skeleton Source, rw): Skeleton data source (camera-relative vs world-relative). Schema: string / enum[camera, world] / default=camera.

Service Commands

None

Service Data Input Ports

None

Service Data Output Ports

Name Required On Node Schema Description
detections true true object{detections, frameId, height, model, ...} Detection output in schema f8visionDetections/1.
skeletons true true array[object] List of UDP-skeleton-compatible JSON payloads for skeleton3d.
monitor true false object{active, alive, cpu, error, ...} Unified runtime monitor snapshots (health/resource/perf/error).

Operators

None

  • No bundled scenario references this node yet.