YOLO11: Speed Boosted by 7x with OpenVINO on LattePanda MU
Introduction
In the fast-paced realm of computer vision, model advancements continually strive to boost accuracy, processing speed, or both. The leap from YOLOv8 to YOLO11 follows this trajectory, introducing notable enhancements. This article explores YOLO11's benchmark results on the SBC LattePanda MU x86 compute module, focusing on its advancements in object detection, segmentation, and pose estimation tasks. Utilizing OpenVINO, we analyze how YOLO11 achieves improved efficiency and speed, highlighting its suitability for deployment on the LattePanda MU.
Overview of YOLO11
YOLO11 is the latest iteration in the Ultralytics YOLO series of real-time object detectors, redefining what's possible with cutting-edge accuracy, speed, and efficiency. Building upon the impressive advancements of previous YOLO versions, YOLO11 introduces significant improvements in architecture and training methods, making it a versatile choice for a wide range of computer vision tasks.
- Enhanced Feature Extraction: YOLO11 employs an improved backbone and neck architecture, which enhances feature extraction capabilities for more precise object detection and complex task performance.
- Optimized for Efficiency and Speed: YOLO11 introduces refined architectural designs and optimized training pipelines, delivering faster processing speeds and maintaining an optimal balance between accuracy and performance.
- Greater Accuracy with Fewer Parameters: With advancements in model design, YOLO11m achieves a higher mean Average Precision (mAP) on the COCO dataset while using 22% fewer parameters than YOLOv8m, making it computationally efficient without compromising accuracy.
- Adaptability Across Environments: YOLO11 can be seamlessly deployed across various environments, including edge devices, cloud platforms, and systems supporting NVIDIA GPUs, ensuring maximum flexibility.
- Broad Range of Supported Tasks: Whether it's object detection, instance segmentation, image classification, pose estimation, or oriented object detection (OBB), YOLO11 is designed to cater to a diverse set of computer vision challenges.
Overview of LattePanda MU
LattePanda MU is a micro x86 compute module featuring Intel N100 quad-core processor, 8GB LattePandaDDR5 memory, and 64GB storage. It exposes extensive pins, including 3 HDMI/DisplayPort, 8 USB 2.0, up to 4 USB 3.2, and up to 9 PCIe 3.0 lanes. These flexible ports and open-source carrier board files enable users to effortlessly design custom carrier boards to meet their unique requirements.
Installing OpenVINO on LattePanda MU( Windows)
1.Install Anaconda
Visit the official website and download the installation package for your corresponding system version. Follow the step-by-step instructions to confirm the installation completion.
2. Download GIT
3.Install Microsoft Visual C++ Redistributable
4.Create a Conda environment specify the Python version in Anaconda Prompt and install setuptools.
conda create -n yolov8 python=3.8 git clone --depth=1 https://github.com/openvinotoolkit/openvino_notebooks.git cd openvino_notebooks python -m pip install --upgrade pip wheel setuptools pip install -r requirements.txt jupyter lab notebooks/yolov11-optimization
Detection Task:
Pose/Keypoints Task:
Instance Segmentation Task:
Conclusion
Performance in LattePanda MU
iGPU with Openvino | ||
Model int8 | FPS | Comparison |
yolov11n detect | 21 | 5x than yolov8n CPU 2x than yolov11n CPU |
yolov11n segment | 15 | 7x than yolov8n CPU 3x than yolov11n CPU |
yolov11n keypoint | 15 | 5x than yolov8n CPU 2x than yolov11n CPU |
yolov8n detect | 15~20 | 3x than yolov8n CPU 2x than yolov11n CPU |
yolov8n segment | 12~14 | 6x than yolov8n CPU 2.5x than yolov11n CPU |
yolov8n keypoint | 19~22 | 6x than yolov8n CPU 2.5x than yolov11n CPU |
yolov11s detect | 12.6 | |
yolov11m detect | 5.1 |
CPU with Openvino | |
Model int8 | FPS |
yolov11n detect | 10 |
yolov11n segment | 6.9 |
yolov11n keypoint | 8.6 |
yolov8n detect | 7-9 |
yolov8n segment | 5-7 |
yolov8n keypoint | 8-9 |
Use Ultralytics, CPU | |
Model int8 | FPS |
yolov11n detect | 8.6 |
yolov11n segment | 5.5 |
yolov11n keypoint | 7.11 |
yolov8n detect | 4-7 |
yolov8n segment | 2-5 |
yolov8n keypoint | 3-6 |
According to the test results, YOLOv11 shows a significant speed advantage over YOLOv8 across various tasks, with especially notable performance gains when accelerated with OpenVINO. Running YOLOv11 on the LattePanda’s iGPU yields speeds that far surpass the CPU's. Specifically:
1.Performance Boost: For YOLOv11n’s tasks of object detection, segmentation, and keypoint detection, the iGPU achieves frame rates of 21 FPS, 15 FPS, and 15 FPS, respectively. This represents an approximately 2-3x increase over the CPU and a 5-7x improvement over YOLOv8’s performance on the CPU.
2.Comparison Between YOLOv8 and YOLOv11: iGPU or CPU environments, YOLOv11 consistently delivers higher frame rates than YOLOv8. This is evident across tests for detection, segmentation, and keypoint tasks, indicating that YOLOv11 is indeed more optimized.
3.OpenVINO Acceleration Advantage: When running on LattePanda’s iGPU with OpenVINO, the performance increases significantly, with frame rates several times higher than in CPU-only environments, making LattePanda an ideal choice for efficient YOLO model deployment.
In testing YOLO11 on the LattePanda MU with OpenVINO, Compared with YOLOv8n, YOLO11n exhibited balanced performance and fewer parameters, making it a highly efficient and flexible model for edge computing on devices like the LattePanda MU. These results underscore YOLO11's adaptability and efficiency in real-world applications, providing an effective solution for high-demand environments.