Skeleton Estimation
This function block performs full-body skeleton estimation on input images. It provides multiple detail levels (Body, Body with Feet, Wholebody), adjustable performance modes, and confidence thresholds so you can balance speed and accuracy. Results include a visualization image, structured skeleton data, model metadata, and a person count.
π₯ Inputs
Image The image to analyze for human poses. Accepts typical image sources (camera frames, loaded images, or processed images from other blocks).
π€ Outputs
Visualization An image with skeletons and bounding boxes drawn for detected people.
Skeletons Structured data describing detected persons, their bounding boxes, keypoints (with names and confidences), and optional body-part groupings.
Model Info Metadata about the current model selection and runtime settings (model type, mode, device, thresholds).
Person Count Number of detected persons included in the structured output.
πΉοΈ Controls
Model Type Choose the detail level: Body (17 keypoints), Body with Feet (26 keypoints), or Wholebody (body + face + hands).
Mode Select processing profile for speed vs accuracy, e.g. lightweight, balanced, performance.
Skeleton Style Choose keypoint output style, for example MMPose or OpenPose formats.
Detection Threshold Adjust minimum confidence required to consider a detected person valid.
Keypoint Threshold Adjust minimum confidence required to mark individual keypoints as visible.
Max Persons Limit the number of people processed and returned to keep performance stable.
π― Key Features
Multiple model formats to suit your use case: quick body-only detection or detailed whole-body analysis (face + hands).
Performance tuning via
Mode,Detection Threshold, andMax Personsto adapt to device capabilities.Confidence-based keypoint filtering so only reliable keypoints are reported as visible.
Visual feedback with skeleton overlays and bounding boxes for easy verification.
Structured outputs suitable for downstream automation, analytics, or logging.
βοΈ Running Mechanism (User-Facing)
When an image is provided, the block runs the selected estimation model and returns both an annotated image and structured pose data.
Detection Thresholdcontrols whether a detected person is considered valid. Lower values return more detections but may include false positives; higher values are stricter.Keypoint Thresholdcontrols which keypoints are flagged as visible; use this to ignore low-confidence joints.Max Personstruncates results to the top detections to preserve performance on crowded scenes.The block adapts to the chosen
Modeto trade off speed and accuracy: choose lighter modes for real-time needs and heavier modes for accuracy.
π Usage Instructions
Provide an image source to
Image. Typical sources are camera frames (e.g.Camera USBorCamera IP (ONVIF)) or a loaded image (Load Image).Choose the desired
Model Typedepending on the detail you need.Set
Modeto match your performance expectations (faster or more accurate).Tune
Detection ThresholdandKeypoint Thresholdto filter unreliable detections.Optionally reduce
Max Personsfor faster processing on resource-limited systems.Use the outputs: visualize
Visualization, sendSkeletonsto analytics or logging, and monitorPerson Count.
π‘ Tips and Tricks
For live setups, use
Camera USB,Camera IP (ONVIF), orStream Readeras image sources. For testing, useLoad Image.If processing is slow, try:
Selecting a faster
Mode.Reducing
Max Persons.Pre-resizing images with
Image Resizebefore feeding into this block.
Improve robustness in noisy images by applying preprocessing such as
BlurorDenoisingbefore the skeleton block.To focus on a specific area (e.g., a doorway or assembly line), crop with
Image ROIorImage ROI Selectand run skeleton estimation only on that region.Combine outputs with visualization and logging blocks:
Send
VisualizationtoShow Imagefor an interactive preview.Overlay bounding boxes or labels using
Draw DetectionsorWrite Text On Imageto create clear operator displays.Save verification frames with
Image Loggeror record sessions withRecord Videofor audits.Convert structured
Skeletonsdata into logs usingData to JSONor export counts viaCSV Export.
For higher-level safety or analytics:
Use
Skeletons(person positions) together withSocial Distance Detectorto check proximity violations (you may need a perspective transform or calibration viaPerspective Transform).Feed person bounding boxes or centers into custom logic blocks to trigger alerts or external actions (e.g.,
Send MailorMQTT Publish).
π οΈ Troubleshooting
If you get few or no detections:
Increase
Detection Thresholdand/orKeypoint Thresholdincrementally, or try a more accurateMode.Ensure the subject is well-lit and clearly visible in the
Imagesource.Try preprocessing with
Image Resize(upsample or downsample) to match the expected subject scale.
If performance or responsiveness is poor:
Pick a lighter
Mode, lowerMax Persons, or preprocess images to smaller sizes withImage Resize.
If results look noisy or jittery across frames:
Consider adding temporal smoothing in downstream logic or only logging confident detections (use thresholds).
If model initialization or runtime fails: ensure required runtime components are available (installable via the applicationβs module tools) and then re-run the block.
π Example Block Flows
Real-time monitoring:
Camera USBβImage ResizeβSkeleton EstimationβDraw DetectionsβShow ImageLogged audit trail:
Camera IP (ONVIF)βSkeleton EstimationβImage Logger+Data to JSONSafety enforcement (distance checks):
Camera USBβSkeleton Estimationβ (extract person centers) βSocial Distance DetectorβDraw Result On Image
Use these combinations to build reliable and performant pose-detection systems without needing to touch implementation details.
Last updated
Was this helpful?