Ultralytics YOLO26 trên Intel Core Ultra Series 3 bằng DL Streamer Pipeline Framework và OpenVINO™
Hướng dẫn này trình bày cách triển khai Ultralytics YOLO26 trên nền tảng Intel Core Ultra Series 3 bằng DL Streamer Pipeline Framework và bộ công cụ OpenVINO™. Ở đây, chúng tôi sử dụng OpenVINO™ để tối đa hóa hiệu năng suy luận trên CPU Intel, GPU tích hợp và GPU rời, cùng 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 truyền phát mã nguồn mở, dựa trên framework đa phương tiện GStreamer, được thiết kế để tạo pipeline phân tích media phức tạp trên đám mây hoặc tại biên.
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 thường xuyên được xác thực trên các hệ thống được liệt kê trong yêu cầu hệ thống của DL Streamer.
Đ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 đặt driver Intel GPU/NPU
Chuẩn bị model YOLO26#
DL Streamer sử dụng model ở định dạng OpenVINO™ IR. Model Ultralytics YOLO26 được export từ PyTorch sang OpenVINO™ IR bằng trình export của Ultralytics. DL Streamer sử dụng tích hợp Ultralytics OpenVINO™ chính thức, cung cấp khả năng export và suy luận được tối ưu 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 YOLO26s PyTorch từ Ultralytics, chuyển đổi model sang định dạng OpenVINO™ IR và tạo biến thể độ 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 YOLO26 của DL Streamer, hãy hoàn tất bước Chuẩn bị model YOLO26 và tải video mẫu sau đây từ Pexels.
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4Sau đó, chạy image Docker 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. Công cụ export của Ultralytics tự động xử lý hiệu chỉnh.
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™, tải model bằngdownload_ultralytics_models.sh. Sau đó, chạy suy luận bằngyolo_detect.shcủa ứng dụng mẫu DL Streamer, ứng dụng cung cấp sẵn script để chạy các pipeline suy luận YOLO26.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ợ suy luận 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) trên nhiều thế hệ nền tảng Intel. Thay đổ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 suy luận trên GPU — cung cấp độ chính xác gần với FP32 ở throughput cao hơn.
- INT8 mang lại hiệu suất cao nhất với mức đánh đổi nhỏ về độ chính xác, lý tưởng khi throughput tối đa là ưu tiên hàng đầu. Model INT8 được tự động hiệu chuẩn trong quá trình xuất bằng Ultralytics.
DL Streamer hỗ trợ các biến thể tác vụ YOLO26 sau:
- Phát hiện: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
- Phân đoạn instance: yolo26s-seg (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)
- Ước tính tư thế: yolo26s-pose (và mọi biến thể kích thước)
- Hộp giới hạn định hướng (OBB): yolo26s-obb (và mọi biến thể kích thước)
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.
Bình luận
Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.