Captures the live stream from camera.
Uses tee to split the stream for inferencing.
Captures the video stream using filesrc, followed by qtdemux, which demultiplexes the stream.
Uses tee to split the stream for inferencing.
Captures the RTSP stream using rtspsrc, followed by rtph264depay for video extraction.
Uses tee to split the stream for inferencing.
Receives the video stream on its sink pad.
Performs the following preprocessing on the stream data. This preprocessing is done when the model expects floating-point values as input.
Color conversion
Scaling (up or down)
Normalization
Converts the preprocessed video stream to a tensor stream on its source pad.
After the inference runtime receives the tensor stream on its sink pad, it runs the inference.
Produces a tensor stream with the inference results on its source pad.
Applies a threshold to the chosen number of results.
Loads the YOLOv8 module.
Generates results in the form of video frames with classification labels.
Produces video frames with only bounding boxes that can be cropped.
Applies a threshold to the chosen number of results.
Loads corresponding modules for various pose detection models.
In the use case described in this section, qtimlpostprocess does the following:
Loads the HRNet module.
Produces results in the form of video frames with drawn poses.
Sends the results to the sink pad of qtivcomposer for further processing or display.
Composes frames by combining the contents from its sink pads.
Pushes the GStreamer buffers containing the composed frames onto its source pad.
Forwards the video stream received on its sink pad to Weston.
Weston renders the video stream on a local display.
Detection: yolox_quantized.tflite
Pose: hrnet_pose_quantized.tflite
Detection: yolox.json
Pose:
hrnet_pose.json
hrnet_settings.json