Ultralytics YOLO26 على معالجات Intel Core Ultra Series 3 باستخدام إطار عمل خط أنابيب DL Streamer وOpenVINO™#
يوفر هذا الدليل الشامل شرحاً مفصلاً لنشر Ultralytics YOLO26 على منصات Intel Core Ultra Series 3 باستخدام إطار عمل خط أنابيب DL Streamer ومجموعة أدوات OpenVINO™. نستخدم هنا OpenVINO™ لتعظيم أداء الاستدلال على وحدات المعالجة المركزية (CPUs) من Intel، ووحدات معالجة الرسومات المدمجة والمنفصلة (GPUs)، ووحدات المعالجة العصبية (NPUs).
المحتويات: ما هو Intel DL Streamer؟ • المتطلبات الأساسية • إعداد نموذج YOLO26 • تشغيل الاستدلال باستخدام YOLO26 • إعداد البث المتعدد • الأسئلة الشائعة
ما هو Intel DL Streamer؟#
إطار عمل خط أنابيب Deep Learning Streamer (DL Streamer) هو إطار عمل مفتوح المصدر لتحليل وسائط البث يعتمد على إطار عمل الوسائط المتعددة GStreamer، ومصمم لإنشاء خطوط أنابيب معقدة لتحليل الوسائط للخدمات السحابية أو عند الحافة (Edge).
يمكّن DL Streamer من تحليل تدفقات الصوت والفيديو لاكتشاف الكائنات والأحداث والأشخاص وتصنيفهم وتتبعهم وتحديد هويتهم وعدّهم. إنه مُحسّن لأجهزة Intel ويوفر قابلية التشغيل البيني بين إضافات GStreamer المبنية على مكتبات خلفية مختلفة:
- الاستدلال: محرك استدلال OpenVINO™، المُحسّن لوحدات المعالجة المركزية ووحدات معالجة الرسومات ووحدات المعالجة العصبية من 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 engine (تحقق من دليل التثبيت)
إعداد نموذج 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 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 مع وحدة معالجة رسومات مدمجة (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
الأسئلة الشائعة#
كيف يمكنني إعداد Ultralytics YOLO26 على منصة Intel باستخدام DL Streamer؟#
قم بتثبيت 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؟#
يعمل OpenVINO™ على تحسين نموذج YOLO26 خصيصاً لأجهزة Intel من خلال تقنيات مثل تحسين الرسم البياني، ودمج الطبقات، وضبط النواة الخاصة بالأجهزة. جنباً إلى جنب مع فك التشفير المُسرّع بـ VA-API من DL Streamer والمعالجة المسبقة بدون نسخ va-surface-sharing، يحقق خط أنابيب تحليل الفيديو الكامل معدل نقل أعلى بكثير من الأطر غير المُحسّنة.
هل يمكنني تشغيل YOLO26 مع DL Streamer على أجهزة Intel مختلفة؟#
نعم. يدعم DL Streamer الاستدلال على وحدات المعالجة المركزية Intel (Core، Core Ultra، Xeon)، ووحدات معالجة الرسومات المدمجة (Iris Xe، Arc)، ووحدات معالجة الرسومات المنفصلة (Arc A-Series، B-Series)، ووحدات المعالجة العصبية (AI Boost) عبر أجيال متعددة من منصات Intel. ببساطة قم بتغيير معامل DEVICE إلى CPU أو GPU أو NPU.
كيف أختار بين دقة FP16 وINT8؟#
- FP16 موصى به كافتراضي لاستدلال GPU — فهو يوفر دقة قريبة من FP32 مع تحسن في معدل النقل يقارب الضعف.
- INT8 يوفر أعلى أداء (2-3 أضعاف مقارنة بـ FP32) مع مقايضة طفيفة في الدقة، وهو مثالي عندما تكون الأولوية لأقصى معدل نقل. يتم معايرة نماذج INT8 تلقائياً أثناء تصدير Ultralytics.
ما هي مهام YOLO26 المدعومة؟#
يدعم 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.