Meet YOLO26: next-gen vision AI.

Link to this sectionتصدير CoreML لنماذج YOLO26#

توفر Apple وحدات سيليكون مخصصة للذكاء الاصطناعي — المحرك العصبي (Neural Engine) — في كل أجهزة iPhone وiPad وMac الحديثة، ويُعد CoreML الطريقة الوحيدة لبرمجتها. يؤدي تصدير نماذج Ultralytics YOLO26 إلى CoreML إلى تحويل نقطة فحص .pt المدربة إلى حزمة .mlpackage أصلية تشغل مهام YOLO الست جميعها على الجهاز في غضون أجزاء من الثانية (ميللي ثانية)، دون الحاجة إلى اتصال بالشبكة ودون خروج أي بيانات من الجهاز.

قم بتشغيل YOLO على المحرك العصبي من Apple اليوم باستخدام تطبيقات الهاتف المحمول الرسمية

تعمل حزمة Ultralytics YOLO iOS SDK الرسمية وإضافة Flutter على تشغيل صادرات CoreML على المحرك العصبي من Apple مباشرة — بما في ذلك الاستنتاج من الكاميرا في الوقت الفعلي، وتوقع الصور الفردية، والتنزيل التلقائي للنماذج لجميع مهام YOLO26 الست. لنشر النموذج على معالجات NPU في أجهزة Android، راجع تكامل Qualcomm QNN.



Watch: How to Export Ultralytics YOLO26 to CoreML for 2x Fast Inference on Apple Devices 🚀

Link to this sectionما هو CoreML؟#

Apple CoreML deployment pipeline

CoreML (يُشار إليه بـ "Core ML" من قِبل Apple) هو إطار عمل Apple للتعلم الآلي على الجهاز. يقوم بتحميل النماذج بتنسيق ML Program الحديث — وهو حزمة .mlpackage التي ينتجها مُصدر Ultralytics — ويجدولها عبر وحدة المعالجة المركزية (CPU)، ووحدة معالجة الرسومات (GPU)، والمحرك العصبي من Apple (ANE)، وهو معالج NPU المخصص في كل شريحة من شرائح Apple Silicon. نظرًا لأن كل شيء يعمل محليًا، فإن الاستنتاج يعمل دون اتصال بالإنترنت، ولا يضيف أي زمن وصول للشبكة، ويُبقي بيانات المستخدم على الجهاز.

يتكامل CoreML مباشرة مع إطار عمل Vision من Apple، والذي يتولى تغيير حجم الصور وتوجيهها في طريقها إلى النموذج — وهذه هي الطريقة التي تقوم بها حزمة Ultralytics iOS SDK بتغذية إطارات الكاميرا إلى YOLO بتكلفة معالجة مسبقة صفرية فعليًا.

Link to this sectionلماذا نقوم بتصدير YOLO26 إلى CoreML؟#

  • سرعة المحرك العصبي: يعمل اكتشاف YOLO26n من البداية إلى النهاية في 3.8 مللي ثانية على جهاز iPhone 17 Pro للصور الفردية، وحوالي 16 مللي ثانية/إطار في الاستخدام المستمر للكاميرا في الوقت الفعلي (راجع الجدول والملاحظات أدناه) — مما يوفر أداءً حقيقيًا في الوقت الفعلي مع مساحة كافية لبقية تطبيقك.
  • خالٍ من NMS بالتصميم: نموذج YOLO26 شامل، لذا لا يحتاج الرسم البياني المُصدّر إلى خط أنابيب NMS، ويكون فك التشفير في أقل من ميلي ثانية. النماذج الأقدم مثل YOLO11 يمكنها تضمين خط أنابيب CoreML NMS باستخدام nms=True.
  • خصوصية وغير متصل بالإنترنت: تبقى جميع العمليات الحسابية على الجهاز — لا توجد رحلات ذهاب وإياب إلى السحابة، ولا مفاتيح API، وخصوصية بيانات كاملة.
  • تصدير واحد، النظام البيئي بأكمله: تعمل حزمة .mlpackage نفسها على أنظمة iOS وiPadOS وmacOS وwatchOS وtvOS وvisionOS، وتدعم حزمة iOS SDK الرسمية من Ultralytics وإضافة Flutter.

Link to this sectionالأداء المقاس#

استنتاج الصور الفردية من البداية إلى النهاية لنماذج YOLO26n INT8 CoreML الرسمية على جهاز iPhone 17 Pro (Apple A19، نظام iOS 26.5). يُظهر كل خلية الوقت الإجمالي (المعالجة المسبقة + الاستنتاج + المعالجة اللاحقة، باستثناء التعليقات التوضيحية) مع تقسيم التكلفة لكل مرحلة تحتها. على نظام iOS، يقوم إطار Vision بتغيير حجم المدخلات داخل طلب الاستنتاج، لذا يتم الإبلاغ عن المعالجة المسبقة كـ 0 ويتم تضمين تكلفتها في الاستنتاج.

النموذجالمهمةالحجم
(بكسل)
CPU
.cpuOnly
(مللي ثانية)
المحرك العصبي
.cpuAndNeuralEngine
(مللي ثانية)
YOLO26nاكتشاف6409.1
0.0 / 9.1 / 0.0
3.8
0.0 / 3.8 / 0.0
YOLO26n-segتجزئة64012.3
0.0 / 12.1 / 0.2
4.8
0.0 / 4.5 / 0.3
YOLO26n-semدلالي (Semantic)1024121.8
0.0 / 21.0 / 0.8
12.1
0.0 / 11.3 / 0.8
YOLO26n-clsتصنيف2242.2
0.0 / 2.2 / 0.0
2.0
0.0 / 2.0 / 0.0
YOLO26n-poseوضعية64012.0
0.0 / 11.9 / 0.0
3.8
0.0 / 3.8 / 0.0
YOLO26n-obbOBB102421.7
0.0 / 21.7 / 0.0
7.2
0.0 / 7.2 / 0.0
  • 1 تقوم صادرات CoreML الدلالية بتضمين ArgMax في الرسم البياني وإرجاع خريطة فئة مدمجة كاملة الدقة ([1, 1024, 1024]) بدلاً من أرقام float logits، بحيث تكون المعالجة اللاحقة عبارة عن مسح لوني يستغرق أقل من ميلي ثانية، وتظهر الأقنعة بدقة بكسل حادة.
  • قيم Speed هي زمن استجابة دفعات الصور الفردية — متوسط 15 تشغيلاً بعد 3 تشغيلات إحماء على bus.jpg، تم قياسها من خلال توقيت كل مرحلة في iOS SDK's عبر أداة القياس Flutter plugin's في وضع ملف التعريف (برمجة أصلية مُحسّنة). تعمل عمليات الكاميرا المستمرة في الوقت الفعلي بمعدلات أعلى (مع إضافة letterboxing لكامل المستشعر في كل إطار بالإضافة إلى الاستقرار الحراري): حيث تقيس YOLO26n detect حوالي 16 مللي ثانية/إطار في تطبيق الكاميرا المباشر على نفس الجهاز — راجع iOS SDK performance doc لمعرفة المزيد عن توصيف الحالة المستقرة.
  • يوجد جدول مطابقة Snapdragon CPU/GPU/NPU في تكامل Qualcomm QNN.

Link to this sectionتصدير نماذج YOLO26 إلى CoreML#

Link to this sectionالتثبيت#

لتثبيت الحزمة المطلوبة، قم بتشغيل:

التثبيت
# Install the required package for YOLO26
pip install ultralytics

يتم تثبيت محول coremltools تلقائيًا عند التصدير الأول. يعمل التصدير على macOS أو x86 Linux؛ للحصول على تعليمات مفصلة وأفضل الممارسات، راجع دليل التثبيت ودليل المشكلات الشائعة.

Link to this sectionالاستخدام#

يدعم تنسيق CoreML أوضاع التصدير، والتنبؤ، والتحقق. يتم تشغيل الاستنتاج والتحقق باستخدام CoreML على نظام macOS فقط. قم بتصدير نموذجك، ثم قم بتحميل النموذج المُصدر لتشغيل الاستنتاج أو التحقق من دقتها.

التصدير
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export to CoreML (FP16 by default); quantize=8 matches the official app models
model.export(format="coreml", quantize=8)  # creates 'yolo26n.mlpackage'
التنبؤ
from ultralytics import YOLO

# Load the exported CoreML model (macOS)
model = YOLO("yolo26n.mlpackage")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
التحقق
from ultralytics import YOLO

# Load the exported CoreML model (macOS)
model = YOLO("yolo26n.mlpackage")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionوسائط التصدير#

الوسيطالنوعالافتراضيالوصف
formatstr'coreml'التنسيق المستهدف للنموذج المصدر، والذي يحدد التوافق مع بيئات النشر المختلفة.
imgszint أو tuple640حجم الصورة المطلوب لمدخل النموذج. يمكن أن يكون عدداً صحيحاً للصور المربعة أو زوجاً مرتباً (height, width) لأبعاد محددة.
quantizeint أو strNoneدقة التكميم (للأوزان فقط في CoreML): 16 (FP16)، 8 (INT8)، "w8a16" (أوزان INT8 مع تنشيطات FP16)، أو 32/غير محدد (FP32). تستبدل علامات half/int8 التي تم إيقاف العمل بها.
nmsboolFalseيُضمن خط أنابيب CoreML NMS. غير مطلوب لنماذج YOLO26 التي لا تحتاج إلى NMS؛ استخدمه للنماذج الأقدم مثل YOLO11.
dynamicboolFalseيسمح بأحجام إدخال ديناميكية، مما يعزز المرونة في التعامل مع أبعاد الصور المتغيرة.
batchint1يحدد حجم استدلال دفعة النموذج المصدر أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في وضع predict.
devicestrNoneيحدد الجهاز للتصدير: GPU (device=0)، CPU (device=cpu)، أو MPS لأجهزة Apple silicon (device=mps).

لمزيد من التفاصيل حول عملية التصدير، تفضل بزيارة صفحة وثائق Ultralytics حول التصدير.

Link to this sectionاستهداف المحرك العصبي#

يختار CoreML الأجهزة عبر MLModelConfiguration.computeUnits. تقوم حزمة Ultralytics iOS SDK افتراضيًا بضبط .cpuAndNeuralEngine على iOS 16+ بدلاً من .all: في تطبيق كاميرا الوقت الفعلي، تكون وحدة معالجة الرسومات مشغولة بالفعل بتركيب المعاينة والتراكبات، لذا فإن استبعادها يتجنب التنافس وتقلب وقت الإطارات بينما يقوم المحرك العصبي (ANE) بالعمل الثقيل. استخدم .cpuOnly فقط لاختبار التوافق — يوضح الجدول أعلاه التكلفة المترتبة على ذلك.

يتبع تشغيل نموذج CoreML من Python على Mac host (عبر Ultralytics أو coremltools) نفس القاعدة: يتم تحميل Ultralytics باستخدام ComputeUnit.CPU_AND_NE (على نظام macOS 13+، مع العودة إلى CPU_ONLY في إصدارات macOS الأقدم)، مما يحافظ على الاستدلال على المحرك العصبي (أسرع بحوالي 3 مرات من وحدة المعالجة المركزية CPU). وهذا يتجنب أيضاً قيوداً حالية في مضيف macOS حيث أن الإعداد الافتراضي ComputeUnit.ALL / CPU_AND_GPU — الذي يضيف مسار ترجمة GPU/MPSGraph — يؤدي إلى إجهاض العملية مع خطأ تأكيدي Error: MLIR pass manager failed على coremltools 9.x.

Link to this sectionنشر نماذج YOLO26 CoreML المُصدرة#

الطريقة الأسرع هي استخدام Ultralytics YOLO iOS SDK الرسمية، وهي نفس حزمة Swift التي تدعم تطبيق Ultralytics iOS وإضافة Flutter. تقوم هذه الحزمة بحل أسماء النماذج الرسمية تلقائيًا، وتنزيل حزمة .mlpackage وتخزينها مؤقتًا، وإرجاع النتائج التي تم فك تشفيرها بالكامل:

import UltralyticsYOLO

// Loads the official INT8 model (downloaded and cached on first use), then runs inference
let yolo = YOLO("yolo26n", task: .detect) { result in
    if case .success(let model) = result {
        let results = model(uiImage)  // boxes, labels, confidences, timing
    }
}

بالنسبة لتطبيقات الكاميرا، قم بإسقاط YOLOView الخاصة بالحزمة للاستنتاج في الوقت الفعلي مع تراكبات أصلية، أو استخدم إضافة Flutter للتطبيقات عبر الأنظمة الأساسية التي تشترك في قاعدة كود واحدة مع Android.

يُعد دمج حزمة .mlpackage خام بنفسك أمرًا مباشرًا أيضًا باستخدام مكدس Apple — قم بتحميلها باستخدام MLModel وقم بتغليفها في VNCoreMLRequest وقم بتغذية الصور من خلال VNImageRequestHandler. تغطي هذه الموارد التفاصيل:

قم بشحن النموذج إما مضمنًا في حزمة التطبيق (توفر فوري، مثالي للنماذج الصغيرة/النانو) أو تم تنزيله عند التشغيل الأول وتخزينه مؤقتًا (ملف ثنائي أصغر، تحديثات سهلة للنماذج) — تستخدم التطبيقات الرسمية النهج الثاني مع أصول إصدار GitHub.

Link to this sectionسير العمل الموصى به#

  1. درب نموذجك باستخدام وضع التدريب في Ultralytics، أو ابدأ من أوزان YOLO26 الرسمية
  2. تصدير باستخدام model.export(format="coreml", quantize=8) على macOS أو Linux x86
  3. تحقق من الدقة باستخدام model.val() على جهاز Mac، وقم بالتحليل باستخدام تقرير أداء Core ML في Xcode على جهازك المستهدف
  4. انشر النموذج باستخدام iOS SDK، أو إضافة Flutter، أو تكامل Vision الخاص بك، مع استهداف .cpuAndNeuralEngine

Link to this sectionملخص#

في هذا الدليل، تعلمت كيفية تصدير نماذج Ultralytics YOLO26 إلى تنسيق .mlpackage الخاص بـ CoreML، وتكميمها للمحرك العصبي من Apple، ونشرها بزمن انتقال من خانة واحدة من الميللي ثانية — سواء من خلال iOS SDK الرسمية وإضافة Flutter أو تكامل Vision الخاص بك. لأهداف نشر أخرى، تصفح صفحة دليل التكامل، وقارن بين التنسيقات باستخدام وضع القياس.

Link to this sectionالأسئلة الشائعة#

Link to this sectionكيف أقوم بتصدير نماذج YOLO26 إلى تنسيق CoreML؟#

قم بتشغيل model.export(format="coreml") في Python أو yolo export model=yolo26n.pt format=coreml من CLI على macOS أو Linux x86. أضف quantize=8 لمطابقة نماذج التطبيق الرسمية. ينتج التصدير ملف yolo26n.mlpackage كـ ML Program جاهز للاستخدام في Xcode أو iOS SDK أو إضافة Flutter.

Link to this sectionهل أحتاج إلى nms=True عند تصدير YOLO26؟#

لا. نموذج YOLO26 متكامل ولا يحتاج إلى NMS، لذا فإن المخطط المُصدر يصدر بالفعل اكتشافات نهائية وتكاليف فك التشفير أقل من مللي ثانية. يوجد خيار nms=True للنماذج السابقة مثل YOLO11، حيث يقوم بتضمين خط أنابيب CoreML NMS حتى لا يضطر تطبيقك إلى تنفيذ القمع.

Link to this sectionأي دقة يجب أن أستخدمها — FP16 أم INT8؟#

تأتي نماذج تطبيق Ultralytics الرسمية بتنسيق INT8، مما يقلل حجم التنزيل ويعمل بالسرعات المذكورة في الجدول أعلاه. quantize=16 (FP16) هو بديل متحفظ لا يؤدي فعلياً إلى أي فقدان في الدقة. تحقق من دقة تصديرك باستخدام model.val() على جهاز Mac قبل النشر.

Link to this sectionكيف أتأكد من تشغيل الاستنتاج على المحرك العصبي؟#

اضبط MLModelConfiguration.computeUnits = .cpuAndNeuralEngine (الإعداد الافتراضي لـ iOS SDK على iOS 16+). تجنب .all في تطبيقات الكاميرا — وحدة معالجة الرسومات مشغولة بتركيب المعاينة، وتجدولة الاستنتاج هناك تسبب تقلب وقت الإطارات. أكد التنسيب باستخدام تقرير أداء Core ML في Xcode.

Link to this sectionهل يمكنني تشغيل والتحقق من نماذج CoreML باستخدام Ultralytics CLI؟#

نعم، على نظام macOS: يعمل yolo predict model=yolo26n.mlpackage source=image.jpg و yolo val model=yolo26n.mlpackage data=coco8.yaml مثل أي تنسيق آخر. يتطلب تنفيذ CoreML أجهزة Apple، لذا فإن هذه الأوضاع غير متوفرة على Linux وWindows.

Link to this sectionما هي أسرع طريقة لتشغيل YOLO26 في تطبيق iOS أو Flutter؟#

استخدم Ultralytics YOLO iOS SDK الرسمية (حزمة Swift) أو إضافة Flutter. كلاهما يقوم بتحميل النماذج الرسمية بالاسم مع التنزيل والتخزين المؤقت التلقائي، وتشغيلها على المحرك العصبي، وتتضمن واجهات مستخدم كاملة للكاميرا في الوقت الفعلي — تم إنتاج جدول الأداء المقاس أعلاه باستخدام هذا المكدس تمامًا.

التعليقات