Ultralytics YOLO26 على معالجات Intel Core Ultra Series 3 باستخدام إطار عمل خط أنابيب DL Streamer وOpenVINO™#
يقدم هذا الدليل الشامل شرحاً تفصيلياً لنشر Ultralytics YOLO26 على منصات Intel Core Ultra Series 3 باستخدام DL Streamer Pipeline Framework ومجموعة أدوات OpenVINO™. نستخدم هنا OpenVINO™ لتحقيق أقصى أداء للاستدلال على وحدة المعالجة المركزية (CPU) من Intel، ووحدات معالجة الرسومات المدمجة والمستقلة، ووحدات المعالجة العصبيّة (NPU).
المحتويات: ما هو Intel DL Streamer؟ • المتطلبات الأساسية • إعداد نموذج YOLO26 • تشغيل الاستدلال باستخدام YOLO26 • إعداد التدفقات المتعددة • الأسئلة الشائعة
ما هو Intel DL Streamer؟#
Deep Learning Streamer (DL Streamer) Pipeline Framework هو إطار عمل لتحليل وسائط البث مفتوح المصدر مستند إلى إطار عمل الوسائط المتعددة GStreamer، ومصمم لإنشاء مسارات تحليل وسائط معقدة للسحابة أو على حافة الشبكة (Edge).
يمكّن DL Streamer من تحليل تدفقات الصوت والفيديو لاكتشاف الكائنات والأحداث والأشخاص وتصنيفهم وتتبعهم وتحديد هويتهم وعدّهم. إنه مُحسّن لأجهزة Intel ويوفر قابلية التشغيل البيني بين إضافات GStreamer المبنية على مكتبات خلفية مختلفة:
- الاستدلال: محرك الاستدلال OpenVINO™، المُحسَّن لوحدات المعالجة المركزية (CPU) ووحدات معالجة الرسومات (GPU) ووحدات المعالجة العصبيّة (NPU) من Intel
- ترميز/فك تشفير الفيديو: تسريع وحدة معالجة الرسومات عبر VA-API
- معالجة الصور: تسريع وحدة معالجة الرسومات عبر VA-API
- البيانات الوصفية: GStreamer Analytics لنتائج الاستدلال المهيكلة
- النظام البيئي: مئات من إضافات GStreamer لإدخال/إخراج الوسائط، والدمج/الفك، ودعم الترميز، والمزيد
يدعم DL Streamer العديد من نماذج الذكاء الاصطناعي بما في ذلك عائلة Ultralytics YOLO الكاملة (من YOLOv5 إلى YOLO26) جميعها بتنسيق OpenVINO™.
يتم التحقق من صحة DL Streamer بانتظام مع الأنظمة المتوفرة في متطلبات النظام — وثائق Open Edge Platform
المتطلبات الأساسية#
قبل البدء، تأكد من تثبيت وتكوين ما يلي على نظام Intel الخاص بك:
-
Ubuntu 24.04 مع تثبيت برامج تشغيل Intel GPU/NPU (تحقق من دليل التثبيت)
-
مُحرك docker (تحقق من دليل التثبيت)
إعداد نموذج YOLO26#
يستخدم DL Streamer النماذج بتنسيق OpenVINO™ IR format. يتم تصدير نماذج 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#
قبل تشغيل مسار اكتشاف الاستدلال DL Streamer YOLO26، قُم بتشغيل صورة دوكر DL Streamer في الوضع التفاعلي. تأكد من اتباع خطوة إعداد نموذج 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 مع وحدة معالجة رسومات مدمجة (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، وحفظ الإخراج في ملف فيديو (~/intel/dlstreamer_demo/yolo_video1_yolo26s_INT8_GPU.mp4)#
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
موارد إضافية#
- مستودع GitHub الخاص بـ DL Streamer
- توثيق 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 Streameryolo_detect.shالذي يوفر نصاً برمجياً جاهزاً للاستخدام لتشغيل مسارات استدلال YOLO26. راجع البرنامج التعليمي القصير حول كيفية تشغيله.يعمل OpenVINO™ على تحسين نموذج YOLO26 خصيصاً لأجهزة Intel من خلال تقنيات مثل تحسين الرسم البياني (graph optimization)، ودمج الطبقات (layer fusion)، وضبط وحدات المعالجة الخاصة بالأجهزة. وبالاشتراك مع فك التشفير المُسَرَّع بواسطة VA-API في DL Streamer ومعالجة
va-surface-sharingالمسبقة بدون نسخ (zero-copy)، يحقق مسار تحليل الفيديو بالكامل معدل إنتاجية أعلى بكثير مقارنة بالأطر غير المُحسَّنة.نعم. يدعم DL Streamer الاستدلال على وحدات المعالجة المركزية من Intel (Core، Core Ultra، Xeon)، ووحدات معالجة الرسومات المدمجة (Iris Xe، Arc)، ووحدات معالجة الرسومات المستقلة (Arc A-Series، B-Series)، ووحدات المعالجة العصبيّة NPU (AI Boost) عبر أجيال منصات Intel المتعددة. ما عليك سوى تغيير معلمة
DEVICEإلىCPUأوGPUأوNPU.- FP16 موصى به كافتراضي لاستدلال GPU — فهو يوفر دقة قريبة من FP32 مع تحسن في معدل النقل يقارب الضعف.
- INT8 يوفر أعلى أداء (2-3 أضعاف مقارنة بـ FP32) مع مقايضة طفيفة في الدقة، وهو مثالي عندما تكون الأولوية لأقصى معدل نقل. يتم معايرة نماذج INT8 تلقائياً أثناء تصدير Ultralytics.
يدعم DL Streamer جميع متغيرات مهام YOLO26: - الاكتشاف (Detection): yolo26n, yolo26s, yolo26m, yolo26l, yolo26x - صندوق الإحاطة الموجه (OBB): yolo26s-obb (وجميع متغيرات الحجم) - تجزئة المثيل (Instance Segmentation): yolo26s-seg (وجميع متغيرات الحجم) - تقدير الوضع (Pose Estimation): yolo26s-pose (وجميع متغيرات الحجم) - التصنيف (Classification): yolo26s-cls (خط أنابيب مركب مع الاكتشاف)
استخدم خيار الإخراج
jsonلكتابة نتائج الاكتشاف كتنسيق JSON-lines في ملف:./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8بدلاً من ذلك، استخدم عنصر
gvametapublishفي المسارات المخصصة لنشر البيانات الوصفية إلى الملفات، أو بروتوكول MQTT، أو Kafka.