Hi,
I’m running this pipeline for pose estimation but this doesn’t shows the label of the pose , and i want label.Can you brief how this can be achieved.
gst-launch-1.0 v4l2src name=src_0 ! decodebin ! videoscale ! video/x-raw, pixel-aspect-ratio=1/1 ! videoconvert ! queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! hailonet hef-path=/home/vk/Downloads/centerpose_regnetx_1.6gf_fpn.hef ! queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! hailofilter so-path=/home/vk/tappas_v3.30.0//apps/h8/gstreamer/libs/post_processes/libcenterpose_post.so ! queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! hailooverlay qos=false ! queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! videoconvert ! fpsdisplaysink video-sink=xvimagesink name=hailo_display sync=false text-overlay=false
Hey @UHailo,
To include pose labels in your GStreamer pipeline, you can make the following adjustments:
-
Enable Label Display: Add the
display-labels=true
parameter to thehailooverlay
plugin. This tells the overlay to render the pose labels on top of the video frames. -
Ensure Text Overlay: In the
fpsdisplaysink
element, settext-overlay=true
. This manages the rendering of text, including the pose labels, alongside the video frames.
Here’s the updated pipeline:
gst-launch-1.0 v4l2src name=src_0 ! decodebin ! videoscale ! video/x-raw, pixel-aspect-ratio=1/1 ! \
videoconvert ! queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! \
hailonet hef-path=/home/vk/Downloads/centerpose_regnetx_1.6gf_fpn.hef ! \
queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! \
hailofilter so-path=/home/vk/tappas_v3.30.0/apps/h8/gstreamer/libs/post_processes/libcenterpose_post.so ! \
queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! hailooverlay qos=false display-labels=true ! \
queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! videoconvert ! \
fpsdisplaysink video-sink=xvimagesink name=hailo_display sync=false text-overlay=true
Keep in mind that this assumes the post-processing library (libcenterpose_post.so
) is outputting the necessary metadata for the labels. The hailooverlay
plugin needs to be able to interpret this metadata to display the labels correctly.
Give it a try with these modifications and let me know if you have any further questions!
Thanks for reply but this pipeline doesn’t work because the hailooverlay element have no property display-label
gst-launch-1.0 v4l2src name=src_0 ! decodebin ! videoscale ! video/x-raw, pixel-aspect-ratio=1/1 ! \
videoconvert ! queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! \
hailonet hef-path=/home/vk/Downloads/centerpose_regnetx_1.6gf_fpn.hef ! \
queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! \
hailofilter so-path=/home/vk/tappas_v3.30.0/apps/h8/gstreamer/libs/post_processes/libcenterpose_post.so ! \
queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! hailooverlay qos=false display-labels=true ! \
queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! videoconvert ! \
fpsdisplaysink video-sink=xvimagesink name=hailo_display sync=false text-overlay=true
**WARNING: erroneous pipeline: no property "display-labels" in element "hailooverlay"**
vk@raspberrypi:~/tappas_v3.30.0 $ gst-inspect-1.0 hailooverlay
Factory Details:
Rank primary (256)
Long-name hailooverlay - overlay element
Klass Hailo/Tools
Description Draws post-processing results for networks inferred by hailonet elements.
Draws classes contained by HailoROI objects attached to incoming frames.
Author hailo.ai <[email protected]>
Plugin Details:
Name hailotools
Description hailo tools plugin
Filename /lib/aarch64-linux-gnu/gstreamer-1.0/libgsthailotools.so
Version 3.30.0
License unknown
Source module gst-hailo-tools
Binary package gst-hailo-tools
Origin URL https://hailo.ai/
GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstBaseTransform
+----GstHailoOverlay
Pad Templates:
SINK template: 'sink'
Availability: Always
Capabilities:
video/x-raw
format: { (string)RGB, (string)YUY2, (string)RGBA, (string)NV12 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
SRC template: 'src'
Availability: Always
Capabilities:
video/x-raw
format: { (string)RGB, (string)YUY2, (string)RGBA, (string)NV12 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:
SINK: 'sink'
Pad Template: 'sink'
SRC: 'src'
Pad Template: 'src'
Element Properties:
face-blur : Whether to blur faces
flags: readable, writable, controllable
Boolean. Default: false
font-thickness : The thickness when drawing text. Default 1.
flags: readable, writable, changeable only in NULL or READY state
Integer. Range: 0 - 2147483647 Default: 1
landmark-point-radius: The radius of the points when drawing landmarks. Default 3.
flags: readable, writable, changeable only in NULL or READY state
Float. Range: 0 - 3.402823e+38 Default: 3
line-thickness : The thickness when drawing lines. Default 1.
flags: readable, writable, changeable only in NULL or READY state
Integer. Range: 0 - 2147483647 Default: 1
local-gallery : Whether to display Identified and UnIdentified ROI's taken from the local gallery, as well as the Global ID they receive.
flags: readable, writable, controllable
Boolean. Default: false
mask-overlay-n-threads: Number of threads to use for parallel mask drawing. Default 0 (Will use the default value OpenCV initializes - effected by the system capabilities).
flags: readable, writable, changeable only in NULL or READY state
Unsigned Integer. Range: 0 - 4294967295 Default: 0
name : The name of the object
flags: readable, writable
String. Default: "hailooverlay0"
parent : The parent of the object
flags: readable, writable
Object of type "GstObject"
qos : Handle Quality-of-Service events
flags: readable, writable
Boolean. Default: false
show-confidence : Whether to display confidence on detections, classifications etc...
flags: readable, writable, controllable
Boolean. Default: true
(END)
Also do i need to make any changes in centerpose.cpp to make such thing applicable.
If any could you guide me a bit.