Ultralytics YOLO26 trên Intel Core Ultra Series 3 bằng DL Streamer Pipeline Framework và OpenVINO™#
Hướng dẫn toàn diện này cung cấp quy trình chi tiết để triển khai Ultralytics YOLO26 trên các nền tảng Intel Core Ultra Series 3 bằng DL Streamer Pipeline Framework và bộ công cụ OpenVINO™. Ở đây, chúng ta sử dụng OpenVINO™ để tối đa hóa hiệu năng inference trên CPU Intel, GPU tích hợp và rời, cũng như NPU.
Nội dung: Intel DL Streamer là gì? • Điều kiện tiên quyết • Chuẩn bị model YOLO26 • Chạy inference với YOLO26 • Thiết lập nhiều luồng • Câu hỏi thường gặp
Intel DL Streamer là gì?#
Deep Learning Streamer (DL Streamer) Pipeline Framework là framework phân tích media dạng luồng mã nguồn mở, dựa trên framework đa phương tiện GStreamer, được thiết kế để tạo các pipeline phân tích media phức tạp trên Cloud hoặc Edge.
DL Streamer cho phép phân tích luồng âm thanh và video để phát hiện, phân loại, theo dõi, nhận dạng và đếm đối tượng, sự kiện cũng như con người. DL Streamer được tối ưu hóa cho phần cứng Intel và cung cấp khả năng tương tác giữa các plugin GStreamer được xây dựng trên nhiều thư viện backend:
- Inference: engine inference OpenVINO™, được tối ưu hóa cho CPU, GPU và NPU Intel
- Mã hóa/Giải mã video: Tăng tốc bằng GPU thông qua VA-API
- Xử lý ảnh: Tăng tốc bằng GPU thông qua VA-API
- Metadata: GStreamer Analytics cung cấp kết quả inference có cấu trúc
- Hệ sinh thái: Hàng trăm plugin GStreamer hỗ trợ I/O media, mux/demux, codec và nhiều tính năng khác
DL Streamer hỗ trợ nhiều model AI, bao gồm toàn bộ dòng Ultralytics YOLO (từ YOLOv5 đến YOLO26) ở định dạng OpenVINO™.
DL Streamer được kiểm định thường xuyên trên các hệ thống được cung cấp trong Yêu cầu hệ thống — Tài liệu Open Edge Platform
Điều kiện tiên quyết#
Trước khi bắt đầu, hãy đảm bảo các thành phần sau đã được cài đặt và cấu hình trên hệ thống Intel của bạn:
-
Ubuntu 24.04 đã cài driver GPU/NPU Intel (xem hướng dẫn cài đặt)
-
docker engine (xem hướng dẫn cài đặt)
Chuẩn bị model YOLO26#
DL Streamer sử dụng model ở định dạng OpenVINO™ IR. Các model Ultralytics YOLO26 được export từ PyTorch sang OpenVINO™ IR bằng trình export của Ultralytics. DL Streamer tận dụng tích hợp OpenVINO™ chính thức của Ultralytics, cung cấp khả năng export và inference được tối ưu hóa cho phần cứng Intel.
- Tạo thư mục
~/intel/dlstreamer_demovà cài đặt OpenVINO™ cùng Ultralytics trong môi trường ảo
mkdir -p ~/intel/dlstreamer_demo && cd ~/intel/dlstreamer_demo
python3 -m venv .dls-venv && source .dls-venv/bin/activate
pip install openvino==2026.2.0 ultralytics==8.4.92- Tải model PyTorch YOLO26s từ Ultralytics, chuyển đổi sang định dạng OpenVINO™ IR và tạo biến thể có độ chính xác INT8.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yamlModel được export vào thư mục ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model.
Độ chính xác của model#
DL Streamer hỗ trợ các model có độ chính xác FP32, FP16 và INT8. Mỗi loại yêu cầu một bước export riêng:
# FP32 (default precision, highest accuracy)
yolo export model=yolo26s.pt format=openvino dynamic=True
# FP16 (recommended for GPU inference, good accuracy/performance balance)
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=16
# INT8 (maximum performance, requires calibration dataset)
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yamlCác ví dụ dưới đây sử dụng model INT8 được export trong bước chuẩn bị. Để dùng model FP32 hoặc FP16, hãy thay đổi đường dẫn model cho phù hợp (ví dụ: yolo26s_openvino_model/yolo26s.xml).
Chạy inference với YOLO26#
Trước khi chạy pipeline phát hiện inference YOLO26 bằng DL Streamer, hãy chạy Docker image DL Streamer ở chế độ tương tác. Đảm bảo bạn đã thực hiện Bước chuẩn bị model YOLO26 và tải xuống tệp video sau từ cơ sở dữ liệu Pexels.
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4Chạy Docker image DL Streamer ở chế độ tương tác.
Lệnh này dành cho các hệ thống được trang bị bộ xử lý Intel Core Ultra Series 3, có GPU tích hợp (iGPU) và NPU.
docker run -it --rm \
-v ~/intel/dlstreamer_demo:/home/dlstreamer/demo \
-v "$HOME/.Xauthority:/root/.Xauthority:rw" \
-e DISPLAY=$DISPLAY \
-e XDG_RUNTIME_DIR=/tmp \
-v /tmp/.X11-unix:/tmp/.X11-unix \
--device /dev/dri \
--group-add $(stat -c "%g" /dev/dri/render*) \
--device /dev/accel \
--group-add $(stat -c "%g" /dev/accel/accel*) \
-e ZE_ENABLE_ALT_DRIVERS=libze_intel_npu.so \
intel/dlstreamer:latestĐộ chính xác INT8 (hiệu năng tối đa)#
Lượng tử hóa INT8 mang lại thông lượng cao nhất bằng cách giảm trọng số model xuống số nguyên 8 bit. Trình export của Ultralytics tự động xử lý quá trình hiệu chuẩn.
Chạy YOLO26s với INT8 trên GPU#
gst-launch-1.0 filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU ! queue ! vapostproc ! gvawatermark ! gvafpscounter ! autovideosink sync=false
Chạy YOLO26s với INT8 trên GPU và lưu kết quả đầu ra vào tệp video#
gst-launch-1.0 filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU ! queue ! vapostproc ! gvawatermark ! gvafpscounter ! vah264enc ! h264parse ! mp4mux ! filesink location=/home/dlstreamer/demo/yolo_video1_yolo26s_INT8_GPU.mp4Chạy YOLO26s với INT8 trên NPU#
gst-launch-1.0 filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=NPU ! queue ! vapostproc ! gvawatermark ! gvafpscounter ! autovideosink sync=false
Thiết lập nhiều luồng#
DL Streamer hỗ trợ xử lý nhiều luồng, trong đó nhiều nguồn video được giải mã và chạy inference đồng thời. Bạn có thể khởi chạy nhiều pipeline song song bằng phần tử vacompositor của GStreamer để kết hợp nhiều luồng.
Chạy nhiều pipeline (4 luồng) song song (GPU)#
gst-launch-1.0 vacompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_1::xpos=660 sink_1::ypos=0 sink_2::xpos=0 sink_2::ypos=380 sink_3::xpos=660 sink_3::ypos=380 ! autovideosink sync=false \
filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_0 \
filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_1 \
filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_2 \
filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_3
Tài nguyên bổ sung#
- Kho GitHub của DL Streamer
- Tài liệu DL Streamer
- Các phần tử DL Streamer
- Bộ công cụ OpenVINO™
- Ultralytics YOLO26
- Framework GStreamer
- Bảng model được hỗ trợ
Câu hỏi thường gặp#
Cài đặt DL Streamer theo Hướng dẫn cài đặt, thiết lập môi trường bằng
source /opt/intel/dlstreamer/scripts/setup_dls_env.sh, cài đặt Ultralytics và OpenVINO™, rồi tải model bằngdownload_ultralytics_models.sh. Sau đó, chạy inference bằng ứng dụng mẫu DL Streameryolo_detect.sh, ứng dụng này cung cấp sẵn script để chạy các pipeline inference YOLO26. Xem hướng dẫn ngắn để biết cách chạy.OpenVINO™ tối ưu model YOLO26 dành riêng cho phần cứng Intel bằng các kỹ thuật như tối ưu hóa đồ thị, hợp nhất layer và tinh chỉnh kernel theo phần cứng. Khi kết hợp với giải mã tăng tốc VA-API của DL Streamer và tiền xử lý
va-surface-sharingkhông sao chép dữ liệu, toàn bộ pipeline phân tích video đạt thông lượng cao hơn đáng kể so với các framework chưa được tối ưu.Có. DL Streamer hỗ trợ inference trên CPU Intel (Core, Core Ultra, Xeon), GPU tích hợp (Iris Xe, Arc), GPU rời (Arc A-Series, B-Series) và NPU (AI Boost) thuộc nhiều thế hệ nền tảng Intel. Chỉ cần đổi thuộc tính
devicecủagvadetectthànhCPU,GPUhoặcNPU.- FP16 được khuyến nghị làm lựa chọn mặc định cho inference trên GPU — độ chính xác gần bằng FP32 và thông lượng cải thiện khoảng 2 lần.
- INT8 mang lại hiệu năng cao nhất (gấp 2–3 lần FP32) với mức đánh đổi nhỏ về độ chính xác, lý tưởng khi ưu tiên thông lượng tối đa. Model INT8 được tự động hiệu chuẩn trong quá trình export bằng Ultralytics.
DL Streamer hỗ trợ mọi biến thể tác vụ YOLO26:
- Phát hiện: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
- Hộp giới hạn định hướng (OBB): yolo26s-obb (và mọi biến thể kích thước)
- Phân đoạn instance: yolo26s-seg (và mọi biến thể kích thước)
- Ước tính tư thế: yolo26s-pose (và mọi biến thể kích thước)
- Phân loại: yolo26s-cls (pipeline kết hợp với phát hiện)
Dùng tùy chọn đầu ra
jsonđể ghi kết quả phát hiện thành JSON Lines vào tệp:./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8Ngoài ra, hãy dùng phần tử
gvametapublishtrong các pipeline tùy chỉnh để xuất metadata ra tệp, MQTT hoặc Kafka.