Ultralytics YOLO27:

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.

Intel DL Streamer

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:

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.

  1. Tạo thư mục ~/intel/dlstreamer_demo và 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
  1. 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.yaml

Model đượ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.yaml

Cá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.mp4

Chạy Docker image DL Streamer ở chế độ tương tác.

Lưu ý

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
Intel DL Streamer GPU

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.mp4

Chạ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
Intel DL Streamer NPU

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
Intel DL Streamer Multistream GPU

Tài nguyên bổ sung#

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ằng download_ultralytics_models.sh. Sau đó, chạy inference bằng ứng dụng mẫu DL Streamer yolo_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-sharing khô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 device của gvadetect thành CPU, GPU hoặc NPU.

    • 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 INT8

    Ngoài ra, hãy dùng phần tử gvametapublish trong các pipeline tùy chỉnh để xuất metadata ra tệp, MQTT hoặc Kafka.

Bình luận