الأسئلة الشائعة حول Ultralytics YOLO (FAQ)
يغطي قسم الأسئلة الشائعة هذا الاستفسارات والمشكلات الشائعة التي قد يواجهها المستخدمون أثناء العمل مع مستودعات Ultralytics YOLO.
الأسئلة الشائعة
ما هي Ultralytics وماذا تقدم؟
Ultralytics هي شركة رؤية الحاسوب للذكاء الاصطناعي متخصصة في أحدث تقنيات اكتشاف الكائنات وتجزئة الصور نماذج، مع التركيز على عائلة YOLO (You Only Look Once). تشمل عروضهم ما يلي:
- تنفيذات مفتوحة المصدر لـ YOLO26 (الأحدث) و YOLO11 (الجيل السابق)
- مجموعة واسعة من نماذج مدربة مسبقًا لمهام رؤية الحاسوب المتنوعة
- دليل شامل حزمة Python للتكامل السلس لنماذج YOLO في المشاريع
- متعددة الاستخدامات أدوات للتدريب والاختبار ونشر النماذج
- توثيق موسع ومجتمع داعم
كيف أقوم بتثبيت حزمة Ultralytics؟
تثبيت حزمة Ultralytics مباشر باستخدام pip:
pip install ultralyticsللحصول على أحدث إصدار تطوير، قم بالتثبيت مباشرة من مستودع GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitيمكن العثور على تعليمات التثبيت التفصيلية في دليل البدء السريع.
ما هي متطلبات النظام لتشغيل نماذج Ultralytics؟
الحد الأدنى للمتطلبات:
- Python 3.8+
- PyTorch 1.8+
- GPU متوافق مع CUDA (لتسريع GPU)
الإعداد الموصى به:
- Python 3.8+
- PyTorch 1.10+
- NVIDIA GPU مع CUDA 11.2+
- 8GB+ RAM
- 50GB+ مساحة قرص فارغة (لتخزين مجموعات البيانات وتدريب النماذج)
لاستكشاف المشكلات الشائعة وإصلاحها، قم بزيارة مشكلات YOLO الشائعة.
كيف يمكنني تدريب نموذج YOLO مخصص على مجموعة بياناتي الخاصة؟
لتدريب نموذج YOLO مخصص:
-
جهز مجموعة بياناتك بتنسيق YOLO format (صور وملفات تسميات txt مقابلة).
-
أنشئ ملف YAML يصف هيكل مجموعة البيانات والفئات الخاصة بك (انظر مثال لمجموعة بيانات YAML).
-
استخدم كود Python التالي لبدء التدريب:
from ultralytics import YOLO # Load a model model = YOLO("yolo26n.yaml") # build a new model from scratch model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)
للحصول على دليل أكثر تعمقًا، بما في ذلك إعداد البيانات وخيارات التدريب المتقدمة، راجع الدليل الشامل دليل التدريب.
ما هي النماذج المدربة مسبقًا المتاحة في Ultralytics؟
تقدم Ultralytics مجموعة متنوعة من النماذج المدربة مسبقًا لمهام مختلفة:
- اكتشاف الكائنات: YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
- تجزئة المثيلات: YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
- التصنيف: YOLO26n-cls, YOLO26s-cls, YOLO26m-cls, YOLO26l-cls, YOLO26x-cls
- تقدير الوضعية: YOLO26n-pose, YOLO26s-pose, YOLO26m-pose, YOLO26l-pose, YOLO26x-pose
- الاكتشاف الموجه (OBB): YOLO26n-obb, YOLO26s-obb, YOLO26m-obb, YOLO26l-obb, YOLO26x-obb
تختلف هذه النماذج في الحجم والتعقيد، مما يوفر مقايضات مختلفة بين السرعة والدقة. استكشف النطاق الكامل لـ نماذج مدربة مسبقًا للعثور على الأنسب لمشروعك.
كيف أقوم بإجراء الاستدلال باستخدام نموذج Ultralytics مدرب؟
لإجراء الاستدلال بنموذج مدرب:
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/your/model.pt")
# Perform inference
results = model("path/to/image.jpg")
# Process results
for r in results:
print(r.boxes) # print bbox predictions
print(r.masks) # print mask predictions
print(r.probs) # print class probabilitiesلخيارات الاستدلال المتقدمة، بما في ذلك المعالجة المجمعة واستدلال الفيديو، تحقق من الدليل التفصيلي دليل التنبؤ.
هل يمكن نشر نماذج Ultralytics على أجهزة الحافة أو في بيئات الإنتاج؟
بالتأكيد! تم تصميم نماذج Ultralytics لنشر مرن عبر منصات مختلفة:
- أجهزة الحافة: تحسين الاستدلال على أجهزة مثل NVIDIA Jetson أو Intel Neural Compute Stick باستخدام TensorRT، ONNX، أو OpenVINO.
- الجوال: النشر على أجهزة Android أو iOS عن طريق تحويل النماذج إلى TFLite أو Core ML.
- السحابة: الاستفادة من أطر العمل مثل TensorFlow Serving أو PyTorch Serve لعمليات النشر السحابية القابلة للتوسع.
- الويب: تنفيذ الاستدلال داخل المتصفح باستخدام ONNX.js أو TensorFlow.js.
توفر Ultralytics وظائف تصدير لتحويل النماذج إلى تنسيقات مختلفة للنشر. استكشف النطاق الواسع لـ للحصول على البرنامج النصي والتعليمات. استكشف المزيد من للعثور على الحل الأمثل لحالة استخدامك.
ما الفرق بين YOLO11 و YOLO26؟
تشمل الاختلافات الرئيسية:
- استدلال شامل (End-to-End) بدون NMS: YOLO26 هو نموذج متكامل (end-to-end) أصلي، ينتج تنبؤات مباشرة دون الحاجة إلى القمع غير الأقصى (NMS)، مما يقلل من التأخير ويبسط عملية النشر.
- إزالة DFL: يزيل YOLO26 وحدة Distribution Focal Loss، مما يبسط التصدير ويحسن التوافق مع أجهزة الحافة والأجهزة منخفضة الطاقة.
- مُحسِّن MuSGD: هجين من SGD و Muon (مستوحى من Kimi K2 لشركة Moonshot AI) لتدريب أكثر استقرارًا وتقارب أسرع.
- أداء CPU: يوفر YOLO26 استدلالاً على CPU أسرع بنسبة تصل إلى 43%، مما يجعله مثاليًا للأجهزة التي لا تحتوي على GPUs.
- التحسينات الخاصة بالمهمة: تجزئة محسنة مع الخسارة الدلالية وprotos متعددة المقاييس، RLE لتقدير وضعية دقيق، وفك تشفير OBB محسّن مع خسارة الزاوية.
- المهام: يدعم كلا النموذجين اكتشاف الكائنات، وتجزئة المثيل، والتصنيف، وتقدير الوضعية، واكتشاف الكائنات الموجه (OBB) في إطار عمل موحد.
للحصول على مقارنة متعمقة للميزات ومقاييس الأداء، قم بزيارة صفحة توثيق YOLO26.
كيف يمكنني المساهمة في مشروع Ultralytics مفتوح المصدر؟
تعد المساهمة في Ultralytics طريقة رائعة لتحسين المشروع وتوسيع مهاراتك. إليك كيف يمكنك المشاركة:
- قم بعمل Fork لمستودع Ultralytics على GitHub.
- أنشئ فرعًا (branch) جديدًا لميزتك أو إصلاح الخطأ الخاص بك.
- قم بإجراء تغييراتك وتأكد من اجتياز جميع الاختبارات.
- أرسل طلب سحب (pull request) مع وصف واضح لتغييراتك.
- شارك في عملية مراجعة الكود.
يمكنك أيضًا المساهمة عن طريق الإبلاغ عن الأخطاء، أو اقتراح ميزات، أو تحسين التوثيق. للحصول على إرشادات تفصيلية وأفضل الممارسات، راجع دليل المساهمة.
كيف أقوم بتثبيت حزمة Ultralytics في Python؟
تثبيت حزمة Ultralytics في Python بسيط. استخدم pip عن طريق تشغيل الأمر التالي في محطتك (terminal) أو موجه الأوامر:
pip install ultralyticsلإصدار التطوير المتطور، قم بالتثبيت مباشرة من مستودع GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitللحصول على تعليمات التثبيت الخاصة بالبيئة ونصائح استكشاف الأخطاء وإصلاحها، استشر الدليل الشامل دليل البدء السريع.
ما هي الميزات الرئيسية لـ Ultralytics YOLO؟
يتمتع Ultralytics YOLO بمجموعة غنية من الميزات لمهام رؤية الحاسوب المتقدمة:
- الاكتشاف في الوقت الفعلي: اكتشاف وتصنيف الكائنات بكفاءة في سيناريوهات الوقت الفعلي.
- قدرات متعددة المهام: تنفيذ اكتشاف الكائنات، وتجزئة المثيل، والتصنيف، وتقدير الوضعية بإطار عمل موحد.
- النماذج المدربة مسبقًا: الوصول إلى مجموعة متنوعة من نماذج مدربة مسبقًا التي توازن بين السرعة والدقة لحالات الاستخدام المختلفة.
- التدريب المخصص: ضبط النماذج بسهولة على مجموعات بيانات مخصصة باستخدام خط أنابيب التدريب.
- واسع النطاق خيارات النشر: تصدير النماذج إلى تنسيقات مختلفة مثل TensorRT، ONNX، وCoreML للنشر عبر منصات مختلفة.
- توثيق موسع: استفد من التوثيقومجتمع داعم لسير عمل الرؤية الحاسوبية الخاص بك.
كيف يمكنني تحسين أداء نموذج YOLO الخاص بي؟
يمكن تحقيق تحسين أداء نموذج YOLO الخاص بك من خلال عدة تقنيات:
- ضبط المعاملات الفائقة: جرب معاملات فائقة (hyperparameters) مختلفة باستخدام دليل ضبط المعلمات الفائقة (Hyperparameter Tuning Guide) لتحسين أداء النموذج.
- تعزيز البيانات (Data Augmentation): طبق تقنيات مثل القلب، والقياس، والتدوير، وتعديلات الألوان لتعزيز مجموعة بيانات التدريب وتحسين قدرة النموذج على التعميم.
- التعلم بنقل المعرفة (Transfer Learning): استفد من النماذج المدربة مسبقاً وقم بضبطها بدقة على مجموعة بياناتك المحددة باستخدام دليل التدريب.
- التصدير إلى تنسيقات فعالة: قم بتحويل نموذجك إلى تنسيقات محسنة مثل TensorRT أو ONNX للاستدلال بشكل أسرع باستخدام دليل التصدير.
- قياس الأداء (Benchmarking): استخدم وضع قياس الأداء (Benchmark Mode) لقياس وتحسين سرعة ودقة الاستدلال بشكل منهجي.
هل يمكنني نشر نماذج Ultralytics YOLO على الأجهزة المحمولة وأجهزة الحافة؟
نعم، تم تصميم نماذج Ultralytics YOLO للنشر المتنوع، بما في ذلك الأجهزة المحمولة وأجهزة الحافة:
- الأجهزة المحمولة: قم بتحويل النماذج إلى TFLite أو CoreML للتكامل السلس في تطبيقات Android أو iOS. ارجع إلى دليل تكامل TFLite و دليل تكامل CoreML للحصول على تعليمات خاصة بكل منصة.
- أجهزة الحافة: قم بتحسين الاستدلال على أجهزة مثل NVIDIA Jetson أو غيرها من أجهزة الحافة باستخدام TensorRT أو ONNX. يوفر دليل تكامل Edge TPU خطوات مفصلة لنشر الحافة.
للحصول على نظرة شاملة لاستراتيجيات النشر عبر مختلف المنصات، راجع دليل خيارات النشر.
كيف يمكنني إجراء الاستدلال باستخدام نموذج Ultralytics YOLO مدرب؟
إجراء الاستدلال باستخدام نموذج Ultralytics YOLO مدرب هو أمر مباشر:
-
تحميل النموذج:
from ultralytics import YOLO model = YOLO("path/to/your/model.pt") -
تشغيل الاستدلال:
results = model("path/to/image.jpg") for r in results: print(r.boxes) # print bounding box predictions print(r.masks) # print mask predictions print(r.probs) # print class probabilities
للحصول على تقنيات الاستدلال المتقدمة، بما في ذلك معالجة الدفعات، واستدلال الفيديو، والمعالجة المسبقة المخصصة، ارجع إلى التفاصيل دليل التنبؤ.
أين يمكنني العثور على أمثلة ودروس تعليمية لاستخدام Ultralytics؟
توفر Ultralytics ثروة من الموارد لمساعدتك على البدء وإتقان أدواتهم:
- 📚 التوثيق الرسمي: أدلة شاملة، ومراجع API، وأفضل الممارسات.
- 💻 مستودع GitHub: الكود المصدري، ونصوص برمجية للأمثلة، ومساهمات المجتمع.
- ✍️ مدونة Ultralytics: مقالات متعمقة، وحالات استخدام، ورؤى تقنية.
- 💬 منتديات المجتمع: تواصل مع مستخدمين آخرين، واطرح الأسئلة، وشارك تجاربك.
- 🎥 قناة YouTube: دروس تعليمية بالفيديو، وعروض توضيحية، وندوات عبر الإنترنت حول مواضيع مختلفة تخص Ultralytics.
توفر هذه الموارد أمثلة برمجية، وحالات استخدام من العالم الحقيقي، وأدلة خطوة بخطوة لمهام مختلفة باستخدام نماذج Ultralytics.
إذا كنت بحاجة إلى مزيد من المساعدة، فاستشر توثيق Ultralytics أو تواصل مع المجتمع من خلال مشكلات GitHub أو منتدى النقاش.