מבוא לבינה מלאכותית : RB33-16 YOLO

 

מבוא לבינה מלאכותית : RB33-16

קישור : https://docs.ultralytics.com/models/yolo11#supported-tasks-and-modes

נורמוליזיישן של הנתונים  YOLO

איך מנרמלים

 

 


Oriented Bounding Boxes Object Detection

נעבור על : https://docs.ultralytics.com/tasks/obb#visual-samples

 

 

 

חזרה  קצרה על מבנה קבצי ה DATASET — YOLO

 

  1. מבנה הספרייה הייחודי של YOLO ב PC
  2. נניח שהתקנו את הקבצים הרלוונטיים c:\temp1

 

ניתן לראות ההרכב  הידוע של TRAIN , VAL ,TEST

תוכן הקבצים למשל ב TRAIN IMAGES

 

תוכן הקבצים למשל ב TRAIN LABELS


קישור להורדה  :  https://drive.google.com/file/d/1QFRAFagc–lyL3l0pxGHf6d8I8sR32XS/view?usp=sharing


נזכיר

  0: circle

  1: triangle

מבנה קובץ ה YAMAL   data.yaml 

 

עבור הרצה מ COLAB המבנה יהיה כך  (במקרה שלנו)

 

 


הערה :  אם נריץ ב PC עבור אנקונדה או VS STUDIO CODE   יהיה מותאם ל PC

 


יצירת קובץ אוטומטי  לאימון YOLO שלבים

כתוב קוד Python מלא עבור Google Colab שמבצע אימון למודל YOLO11 על דאטהסט בפורמט YOLO.

הקוד צריך לבצע את השלבים הבאים:

  1. התקנת הספריות הנדרשות, כולל Ultralytics YOLO  (קוד התקנה  בבלוק ראשון לאחריו כתוב את שאר הקוד בבלוק נוסף  )
  2. טעינת הדאטהסט מקובץ ZIP שהמשתמש מעלה מהמחשב ל-Colab.
  3. חילוץ קובץ ה-ZIP והצגת מבנה התיקיות לאחר החילוץ.
  4. בדיקה שקיים קובץ data.yaml תקין, כולל:
    train
    val
    test
    names
    nc
  5. יצירת מודל YOLO11 חדש או טעינת מודל YOLO11 מוכן מראש.
  6. אימון המודל במשך 30 epochs.
  7. שמירת תוצאות האימון בתיקיית runs/detect/train.
  8. הצגת גרפים של תהליך האימון, כולל:
    train loss
    val loss
    precision
    recall
    mAP50
    mAP50-95
  9. בסיום האימון יש להדפיס הודעת סיום ברורה.
  10. יש להציג את הנתיבים המלאים לקובצי המודל:
    best.pt
    last.pt
  11. לאחר האימון יש להריץ בדיקה על תיקיית test ולחשב את ביצועי המודל.
  12. יש להציג סיכום תוצאות על test, כולל:
    precision
    recall
    mAP50
    mAP50-95
  13. יש להריץ prediction על מספר תמונות מתוך תיקיית test ולהציג את התמונות עם תיבות הזיהוי.
  14. כתוב את כל הקוד בצורה ברורה, עם הערות באנגלית ליד כל שורת קוד חשובה.

 

ניתוח הנתונים 

Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size 10/10 0G 0.3358 0.3325 0.8169 8 320: 100% ━━━━━━━━━━━━ 9/9 10.6s/it 1:35 Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 2/2 5.1s/it 10.3s all 20 25 0.931 0.867 0.944 0.906

train loss  שגיאת המודל בזמן האימון.
דוגמה טובה: 0.3 — המודל למד לזהות טוב עיגול ומשולש.
דוגמה גרועה: 3.0 — המודל עדיין טועה הרבה בצורה או במיקום.

val loss שגיאה על תמונות חדשות שלא היו באימון.
טוב: 0.4 — המודל מצליח גם על תמונות חדשות.
גרוע: 2.5 — המודל לא מכליל טוב, אולי למד בעל פה.

mAP50 דיוק הזיהוי כאשר מספיק שהתיבה תחפוף לפחות 50% לאובייקט.
טובה: 0.95 — המודל מזהה כמעט את כל העיגולים והמשולשים.
גרועה: 0.45 — הרבה תיבות לא במקום או זיהויים חסרים.

mAP50-95 מדד קשה יותר שבודק תיבות מדויקות מאוד.
טובה: 0.75 — התיבות סביב העיגול והמשולש מדויקות.
גרועה: 0.25 — המודל אולי מזהה, אבל התיבה לא מדו

 

precision  recall

נתון : בתמונה יש באמת 4 משולשים.

המודל סימן 5 משולשים. מתוך 5 הסימונים:
3 באמת משולשים 2 טעויות — למשל עיגולים שסומנו כמשולש

precision בודק מתוך מה שהמודל סימן:

3 / 5 = 60%

מתוך 5 זיהויים של משולש, רק 3 היו נכונים.

recall בודק מתוך מה שבאמת היה בתמונה:

3/4 = 75%

כלומר: מתוך 4 משולשים אמיתיים, המודל מצא 3.

ההבדל:

 

precision מתוך כל מה שהמודל זיהה — כמה באמת נכון.
תוצאה  טובה: 95% — זיהה 100 עיגולים, אבל  רק 95 באמת עיגולים.
תוצאה גרועה: 50% — חצי מהזיהויים שגויים.

recall מתוך כל העיגולים האמיתיים — כמה המודל מצא.
טובה: 90% — היו 100 עיגולים, המודל מצא 90.
גרועה: 40% — המודל מפספס הרבה עיגולים.

 

 

 

 

\\\

 


יצירת תוויות

 

 


תרגיל כיתה 1   YOLO

תרגיל כיתה 1 יצירת תוויות

  1.  הורד את ה dataset

https://drive.google.com/file/d/1klzB_6dKuv5M7YsPZB6eT8M1KLua1YOa/view?usp=sharing

2.העלה לקובלאב בנה קוד שפותח אותו ומסדר אותו לפורמט yolo ויוצר קובץ yamal

 

 


חלק ב

תרגיל כיתה 1   YOLO

  1. קוד תוכנה זה מעלה  קובץ  ARJ   מ pc ל  לקולאב  ואז פותח את הקבצים בCOLAB

 

2.

כתוב קוד Python מלא עבור Google Colab שמבצע אימון למודל YOLO11 על דאטהסט בפורמט YOLO.

הקוד צריך לבצע את השלבים הבאים:

  1. התקנת הספריות הנדרשות, כולל Ultralytics YOLO  (קוד התקנה  בבלוק ראשון לאחריו כתוב את שאר הקוד בבלוק נוסף  )
  2. טעינת הדאטהסט מקובץ ZIP שהמשתמש מעלה מהמחשב ל-Colab.
  3. חילוץ קובץ ה-ZIP והצגת מבנה התיקיות לאחר החילוץ.
  4. בדיקה שקיים קובץ data.yaml תקין, כולל:
    train
    val
    test
    names
    nc
  5. יצירת מודל YOLO11 חדש או טעינת מודל YOLO11 מוכן מראש.
  6. אימון המודל במשך 30 epochs.
  7. שמירת תוצאות האימון בתיקיית runs/detect/train.
  8. הצגת גרפים של תהליך האימון, כולל:
    train loss
    val loss
    precision
    recall
    mAP50
    mAP50-95
  9. בסיום האימון יש להדפיס הודעת סיום ברורה.
  10. יש להציג את הנתיבים המלאים לקובצי המודל:
    best.pt
    last.pt
  11. לאחר האימון יש להריץ בדיקה על תיקיית test ולחשב את ביצועי המודל.
  12. יש להציג סיכום תוצאות על test, כולל:
    precision
    recall
    mAP50
    mAP50-95
  13. יש להריץ prediction על מספר תמונות מתוך תיקיית test ולהציג את התמונות עם תיבות הזיהוי.
  14. כתוב את כל הקוד בצורה ברורה, עם הערות באנגלית ליד כל שורת קוד חשובה.

 

חלק ג : שימוש במודלים קיימים זיהוי רחפן


 

 

 

 

 

 

תרגיל כיתה

1.חפש  מודל  YOLO  לזיהוי רחפניים קיים  מאיפה אפשר להוריד בחינם

רמז oguilmak/Drone-Detection-YOLOv8x

2.צור תוכנה שלב ראשון טוענת את המודל ל colab  לתוך ספריית  /content/

3. צור קוד עבור שטוען תמונה מ PC ומציג מה זוהה  בסביבת ה  colab

4.איך אפשרי לדעת אם המודל טוב ומקצועי לשימוש מסחרי \ מקצועי

 


העשרה