0%
YOLOv10 وYOLOv11: أحدث إصدارات YOLO

YOLOv10 وYOLOv11: أحدث إصدارات YOLO

اكتشف آخر تطورات YOLO مع الإصدارين 10 و11، وما يتضمنانه من تحسينات وتطبيقات.

I

InSkillCoach

· دقيقة

YOLOv10 وYOLOv11: أحدث إصدارات YOLO

تقدّم الإصدارات 10 و11 من YOLO تحسينات significant في الأداء والدقة والوظائف.

1. YOLOv10

1.1 الخصائص الرئيسية

# Installation de YOLOv10
pip install ultralytics

# Import
from ultralytics import YOLO

# Chargement du modèle YOLOv10
model_v10 = YOLO('yolov10n.pt')  # Nano
model_v10_s = YOLO('yolov10s.pt')  # Small
model_v10_m = YOLO('yolov10m.pt')  # Medium
model_v10_l = YOLO('yolov10l.pt')  # Large
model_v10_x = YOLO('yolov10x.pt')  # XLarge

1.2 التحسينات

  1. البنية المعمارية

    • بنية Backbone جديدة ومحسّنة
    • إدارة أفضل للخصائص متعددة المقاييس
    • تقليل زمن الاستدلال
  2. الأداء

    • زيادة سرعة الاستدلال بنسبة 15%
    • تحسين الدقة بنسبة 5%
    • تحسين استهلاك الذاكرة
  3. الوظائف

    • دعم محسّن لاكتشاف الأجسام الصغيرة
    • إدارة أفضل للحالات التي تحجب فيها الأجسام بعضها بعضًا
    • اكتشاف محسّن في الزمن الحقيقي

2. YOLOv11

2.1 الخصائص الرئيسية

# Installation de YOLOv11
pip install ultralytics

# Import
from ultralytics import YOLO

# Chargement du modèle YOLOv11
model_v11 = YOLO('yolov11n.pt')  # Nano
model_v11_s = YOLO('yolov11s.pt')  # Small
model_v11_m = YOLO('yolov11m.pt')  # Medium
model_v11_l = YOLO('yolov11l.pt')  # Large
model_v11_x = YOLO('yolov11x.pt')  # XLarge

2.2 التحسينات

  1. البنية المعمارية

    • بنية Backbone جديدة تعتمد على آلية الانتباه (Attention)
    • إدارة أفضل للخصائص المكانية
    • تحسين الأداء على الأجهزة المحمولة
  2. الأداء

    • زيادة سرعة الاستدلال بنسبة 25%
    • تحسين الدقة بنسبة 8%
    • خفض استهلاك الذاكرة بنسبة 20%
  3. الوظائف

    • دعم الاكتشاف ثلاثي الأبعاد
    • إدارة أفضل للمشاهد المعقدة
    • اكتشاف فائق التحسين في الزمن الحقيقي

3. مقارنة الإصدارات

3.1 مقاييس الأداء

def compare_versions():
    # Configuration
    test_image = "path/to/test/image.jpg"
    
    # Test des différentes versions
    versions = {
        'v8': YOLO('yolov8n.pt'),
        'v10': YOLO('yolov10n.pt'),
        'v11': YOLO('yolov11n.pt')
    }
    
    results = {}
    for version, model in versions.items():
        # Mesure du temps d'inférence
        start_time = time.time()
        results[version] = model(test_image)
        inference_time = time.time() - start_time
        
        print(f"YOLO{version}:")
        print(f"Temps d'inférence: {inference_time:.2f}s")
        print(f"Nombre de détections: {len(results[version][0].boxes)}")
        print(f"Précision moyenne: {results[version][0].boxes.conf.mean():.2f}")

3.2 جدول المقارنة

الإصدارالسرعةالدقةالذاكرةالوظائف
v8أساسيةأساسيةأساسيةأساسية
v10+15%+5%-10%+2 جديدتان
v11+25%+8%-20%+4 جديدة

4. تطبيقات عملية

4.1 الاكتشاف في الزمن الحقيقي

def real_time_detection():
    # Initialisation
    cap = cv2.VideoCapture(0)
    model = YOLO('yolov11n.pt')  # Utilisation de YOLOv11
    
    while cap.isOpened():
        success, frame = cap.read()
        if not success:
            continue
        
        # Détection avec YOLOv11
        results = model(frame)
        
        # Visualisation
        annotated_frame = results[0].plot()
        
        # Affichage
        cv2.imshow('YOLOv11 Detection', annotated_frame)
        
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    
    cap.release()
    cv2.destroyAllWindows()

4.2 الاكتشاف ثلاثي الأبعاد (YOLOv11)

def detection_3d():
    # Initialisation
    model = YOLO('yolov11-3d.pt')
    
    # Détection 3D
    results = model('path/to/3d_scene.pcd')
    
    # Visualisation
    for result in results:
        # Points 3D
        points = result.points
        # Boîtes 3D
        boxes = result.boxes_3d
        
        # Visualisation avec Open3D
        vis = o3d.visualization.Visualizer()
        vis.create_window()
        
        # Ajout des points et boîtes
        vis.add_geometry(points)
        for box in boxes:
            vis.add_geometry(box)
        
        vis.run()
        vis.destroy_window()

5. أفضل الممارسات

  1. اختيار الإصدار

    • v8 للتطبيقات الأساسية
    • v10 للتطبيقات المتقدمة
    • v11 للتطبيقات المبتكرة
  2. التحسين

    • استخدام تسريع GPU
    • ضبط عتبات الثقة
    • تحسين حجم الدفعة (batch)
  3. النشر

    • التصدير بالصيغة المناسبة
    • استخدام التسريع العتادي
    • تنفيذ نظام للتخزين المؤقت (cache)

الخلاصة

النقاط الرئيسية:

  • تحسينات كبيرة في الأداء
  • وظائف جديدة متقدمة
  • دعم محسّن للأجهزة المحمولة
  • الاكتشاف ثلاثي الأبعاد مع YOLOv11

التوصيات:

  • اختيار الإصدار بحسب الاحتياجات
  • تحسين الأداء
  • استخدام التسريع العتادي
  • تنفيذ إدارة قوية للأخطاء
InSkillCoach

نبذة عن InSkillCoach

خبير في التدريب والتقنيات

مدرّب متخصص في التقنيات المتقدمة والذكاء الاصطناعي، تدعمه شركة GNeurone Inc.

الشهادات:

  • AWS Certified Solutions Architect – Professional
  • شهادات Google Cloud
  • Microsoft Certified: DevOps Engineer Expert
  • Certified Kubernetes Administrator (CKA)
  • CompTIA Security+
2.0k
134

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!