Ultralytics YOLO26 على Intel Core Ultra Series 3 باستخدام DL Streamer Pipeline Framework وOpenVINO™#
يقدم هذا الدليل الشامل شرحًا تفصيليًا لنشر Ultralytics YOLO26 على منصات Intel Core Ultra Series 3 باستخدام إطار عمل خطوط أنابيب DL Streamer ومجموعة أدوات OpenVINO™. نستخدم هنا OpenVINO™ لتحقيق أقصى أداء للاستدلال على وحدات CPU ووحدات GPU المدمجة والمنفصلة ووحدات NPU من Intel.
المحتويات: ما هو Intel DL Streamer؟ • المتطلبات الأساسية • إعداد نموذج YOLO26 • تشغيل الاستدلال باستخدام YOLO26 • إعداد تدفقات متعددة • الأسئلة الشائعة
ما هو Intel DL Streamer؟#
إطار عمل خطوط أنابيب بث التعلم العميق (DL Streamer) هو إطار عمل مفتوح المصدر لتحليلات الوسائط المتدفقة، يستند إلى إطار الوسائط المتعددة GStreamer، وصُمم لإنشاء خطوط أنابيب معقدة لتحليلات الوسائط في السحابة أو على الحافة.
يتيح DL Streamer تحليل تدفقات الصوت والفيديو لاكتشاف الكائنات والأحداث والأشخاص وتصنيفها وتعقبها والتعرف عليهم وإحصائهم. وهو محسّن لأجهزة Intel ويوفر قابلية التشغيل البيني بين إضافات GStreamer المبنية على مكتبات خلفية متنوعة:
- الاستدلال: محرك الاستدلال OpenVINO™، المحسّن لوحدات CPU وGPU وNPU من Intel
- ترميز الفيديو وفك ترميزه: تسريع باستخدام GPU عبر VA-API
- معالجة الصور: تسريع باستخدام GPU عبر VA-API
- البيانات الوصفية: تحليلات GStreamer لنتائج الاستدلال المنظَّمة
- المنظومة: مئات من إضافات GStreamer لإدخال الوسائط وإخراجها، ودمج التدفقات وفصلها، ودعم برامج الترميز، وغير ذلك
يدعم DL Streamer العديد من نماذج الذكاء الاصطناعي، بما فيها عائلة Ultralytics YOLO كاملةً (من YOLOv5 إلى YOLO26)، وجميعها بتنسيق OpenVINO™.
يجري التحقق من DL Streamer بانتظام باستخدام الأنظمة الواردة في متطلبات النظام — وثائق منصة Open Edge
المتطلبات الأساسية#
قبل البدء، تأكد من تثبيت العناصر التالية وتهيئتها على نظام Intel لديك:
-
Ubuntu 24.04 مع تثبيت برامج تشغيل GPU/NPU من Intel (راجع دليل التثبيت)
-
محرك docker (راجع دليل التثبيت)
إعداد نموذج YOLO26#
يستخدم DL Streamer نماذج بتنسيق OpenVINO™ IR. وتُصدَّر نماذج Ultralytics YOLO26 من PyTorch إلى OpenVINO™ IR باستخدام أداة التصدير من Ultralytics. ويستفيد DL Streamer من تكامل Ultralytics الرسمي مع OpenVINO™، الذي يوفر إمكانات تصدير واستدلال محسّنة لأجهزة Intel.
- أنشئ المجلد
~/intel/dlstreamer_demoوثبّت OpenVINO™ وUltralytics في بيئة افتراضية
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- نزّل نموذج PyTorch YOLO26s من Ultralytics، وحوّله إلى تنسيق OpenVINO™ IR، وأنشئ نسخة بدقة INT8.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yamlيُصدَّر النموذج إلى المجلد ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model.
دقة النموذج#
يدعم DL Streamer النماذج بدقة FP32 وFP16 وINT8. ويتطلب كل منها خطوة تصدير منفصلة:
# 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تستخدم الأمثلة أدناه نموذج INT8 المُصدَّر في خطوة الإعداد. لاستخدام نماذج FP32 أو FP16، استبدل مسار النموذج بما يناسب (مثل yolo26s_openvino_model/yolo26s.xml).
تشغيل الاستدلال باستخدام YOLO26#
قبل تشغيل مسار الكشف والاستدلال YOLO26 في DL Streamer، شغّل صورة DL Streamer في Docker بالوضع التفاعلي. تأكد من اتباع خطوة إعداد نموذج YOLO26 وتنزيل ملف الفيديو التالي من قاعدة بيانات Pexels.
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4شغّل صورة DL Streamer في Docker بالوضع التفاعلي.
هذا الأمر مخصص للأنظمة المزوّدة بمعالجات Intel Core Ultra Series 3 التي تتضمن GPU مدمجًا (iGPU) و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دقة INT8 (أقصى أداء)#
يحقق التكميم INT8 أعلى معدل نقل للبيانات عن طريق تقليل أوزان النموذج إلى أعداد صحيحة من 8 بت. ويتولى مُصدِّر Ultralytics المعايرة تلقائيًا.
تشغيل YOLO26s باستخدام INT8 على 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 على 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 ! vah264enc ! h264parse ! mp4mux ! filesink location=/home/dlstreamer/demo/yolo_video1_yolo26s_INT8_GPU.mp4تشغيل YOLO26s باستخدام INT8 على 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
إعداد البث متعدد المصادر#
يدعم DL Streamer المعالجة متعددة البث، حيث تُفكّ شفرة مصادر فيديو متعددة ويُجرى الاستدلال عليها في الوقت نفسه. يمكنك تشغيل مسارات متعددة بالتوازي باستخدام عنصر vacompositor في GStreamer لدمج مصادر البث المتعددة.
تشغيل مسارات متعددة (4 مصادر بث) بالتوازي (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
موارد إضافية#
- مستودع DL Streamer على GitHub
- وثائق DL Streamer
- عناصر DL Streamer
- مجموعة أدوات OpenVINO™
- Ultralytics YOLO26
- إطار عمل GStreamer
- جدول النماذج المدعومة
الأسئلة الشائعة#
ثبّت DL Streamer باتباع دليل التثبيت، وأعدّ البيئة باستخدام
source /opt/intel/dlstreamer/scripts/setup_dls_env.sh، وثبّت Ultralytics وOpenVINO™، ونزّل النماذج باستخدامdownload_ultralytics_models.sh. ثم شغّل الاستدلال باستخدام تطبيق DL Streamer النموذجيyolo_detect.shالذي يوفّر نصًا برمجيًا جاهزًا لتشغيل مسارات الاستدلال YOLO26. اطّلع على الشرح القصير لمعرفة كيفية تشغيله.يُحسّن OpenVINO™ نموذج YOLO26 خصيصًا لأجهزة Intel باستخدام تقنيات مثل تحسين الرسم البياني ودمج الطبقات وضبط نواة المعالجة بما يلائم الأجهزة. وبالاقتران مع فك الترميز المسرّع عبر VA-API في DL Streamer والمعالجة المسبقة
va-surface-sharingدون نسخ، يحقق مسار تحليل الفيديو الكامل معدل نقل أعلى بكثير من أطر العمل غير المحسّنة.نعم. يدعم DL Streamer الاستدلال على وحدات CPU من Intel (Core وCore Ultra وXeon)، ووحدات GPU مدمجة (Iris Xe وArc)، ووحدات GPU منفصلة (Arc A-Series وB-Series)، ووحدات NPU (AI Boost) عبر أجيال متعددة من منصات Intel. ما عليك سوى تغيير الخاصية
deviceفيgvadetectإلىCPUأوGPUأوNPU.- يوصى باستخدام FP16 كخيار افتراضي للاستدلال على GPU، إذ يوفر دقة تقارب FP32 مع تحسن في معدل النقل يبلغ نحو 2x.
- يحقق INT8 أعلى أداء (بزيادة 2–3x مقارنةً بـ FP32) مع تنازل طفيف عن الدقة، وهو مثالي عندما يكون تحقيق أقصى معدل نقل أولوية. وتُعايَر نماذج INT8 تلقائيًا أثناء التصدير باستخدام Ultralytics.
يدعم DL Streamer جميع متغيرات مهام YOLO26:
- الكشف: yolo26n، yolo26s، yolo26m، yolo26l، yolo26x
- مربع الإحاطة الموجّه (OBB): yolo26s-obb (وجميع المتغيرات الأخرى للأحجام)
- تجزئة المثيلات: yolo26s-seg (وجميع المتغيرات الأخرى للأحجام)
- تقدير الوضعية: yolo26s-pose (وجميع المتغيرات الأخرى للأحجام)
- التصنيف: yolo26s-cls (مسار مركّب مع الكشف)
استخدم خيار الإخراج
jsonلكتابة نتائج الكشف بتنسيق JSON-lines إلى ملف:./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8بدلًا من ذلك، استخدم العنصر
gvametapublishفي المسارات المخصصة لنشر البيانات الوصفية إلى الملفات أو MQTT أو Kafka.