Multi-Stream YOLOv8 Object Detection with Ara240 DNPU on i.MX
This post shows a walkthrough of the ARA2 Vision Examples package and its multi-stream YOLOv8 object detection application.
The ara2-vision-examples package provides vision AI examples for NXP i.MX platforms using Ara240 DNPU acceleration. It demonstrates real-time video processing with AI/ML inference capabilities such as object detection, classification, pose estimation, and semantic segmentation.
This walkthrough focuses on the multistream_yolov8 application, which uses GStreamer to process up to eight simultaneous video streams, run YOLOv8 object detection on each stream, and display the results in a single mosaic view.
Supported Platforms
FRDM i.MX 8M Plus
FRDM i.MX 95
Key Features
Multi-stream video processing from 1 to 8 streams
YOLOv8 object detection accelerated by Ara240 DNPU
Support for YOLOv8n, YOLOv8s, YOLOv8m, YOLOv8l, and YOLOv8x models
GStreamer-based video pipeline
Mosaic display output with bounding boxes
Runtime options for stream count, model selection, synchronization, and endpoint selection
FPS and IPS performance overlay per stream
Running the Demo
Run the application with the default settings:
multistream_yolov8
Run with a specific number of streams:
multistream_yolov8 -s 4
Select a different YOLOv8 model:
multistream_yolov8 -s 4 --model yolov8s
Run eight streams for maximum throughput:
multistream_yolov8 -s 8 --sync false
Enable synchronized playback:
multistream_yolov8 -s 4 --sync true
Walkthrough Video
In the attached video, it is shown how to launch the application, configure the number of streams, select different YOLOv8 models, and view the object detection results in the mosaic display.
Links
ARA2 Vision Examples repository: https://github.com/nxp-imx-support/ara2-vision-examples
Multi-stream YOLOv8 README: https://github.com/nxp-imx-support/ara2-vision-examples/blob/main/tasks/object-detection/yolov8n/multistream-gstreamer/README.md
View full article