Ultralytics YOLO27: Tham gia danh sách chờ.
Bắt đầu

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.

Intel DL Streamer Pipeline Framework with Ultralytics YOLO26

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:

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.

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

Sau đó, chạy image Docker 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. 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
YOLO26s INT8 detections in a DL Streamer pipeline on an Intel 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
YOLO26s INT8 detections in a DL Streamer pipeline on an Intel 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
Four-stream DL Streamer YOLO26 detection grid on an Intel 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™, tải model bằng download_ultralytics_models.sh. Sau đó, chạy suy luận bằng yolo_detect.sh củ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-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ợ 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 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 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 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

Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.