בינה מלאכותית RB108-11 : אימון זיהוי תמונה – חלק ב

בינה מלאכותית RB108-11 : אימון זיהוי תמונה – חלק ב


חלק א  :  אימון  באנקונדה שימוש ב JUPITTER LAB זיהוי טנקים

קובץ להורדה : tanks.rar

https://drive.google.com/file/d/17t6GjltQIDjRLIEy-APrNudGfz99bEYb/view?usp=sharing


שלב אחרי שלב

 


שימו לב קבצי הנתונים בספריה : C:\temp\tanks

קובץ data.yaml נימצא ב   \C:\temp\tanks

 

קבצי הנתונים נמצאים

 

שלב 1  : התקנה של ספריות

 

 

שלב 2:  קונפיגורציה סבבת עבודה

 

 

שלב 3 :   אימון ה מודל YOLO קבלת מודל best.pt – ראה הסבר בהמשך על המדדים כיצד הרשת לומדת ולמדה

 

שלב 4: בדיקת המודל על תמונה לדוגמא

 

שלב 5: הצגת התמונה למסך אחרי זיהוי


שלב 6  : ניתוח  – הסבר מדדים בזמן האימון ובסוף האימון

תזכורת :

mAP50 : בזמן האימון”: ברוב הריצות YOLO מחשב את mAP50 בסוף כל epoch על סט ה-val, לא על הבאצ’ים של ה-train –

mAP50 מחושב –  בסוף כל epoch מריצים את המודל על כל תמונות ה-val, משווים כל תיבת ניבוי לתיבת אמת.

טבלת סיכום :

טבלה מסכמת (ככל שיותר קרוב ל-1 טוב / ככל שיותר קטן טוב).

פרמטר מה מודד בקצרה כיוון “טוב יותר” גרוע טוב מעולה
GPU_mem שימוש זיכרון GPU לא “ל-1”; צריך יציב 0G כשמצופה GPU / OOM יציב ללא OOM יציב ומאפשר batch/imgsz גבוה
box_loss דיוק מיקום/גודל תיבה קטן יותר טוב → שואף ל-0 > 2.0 0.7–1.5 < 0.7
cls_loss שגיאת סיווג כיתה קטן יותר טוב → שואף ל-0 > 1.5 0.3–1.0 < 0.3
dfl_loss חדות/דיוק גבולות תיבה קטן יותר טוב → שואף ל-0 > 2.0 0.8–1.8 < 0.8
Instances כמה אובייקטים ב-batch לא “ל-1”; תלוי דאטה לרוב 0–2 לרוב 5–50 כיסוי מגוון ועקבי
Precision (P) כמה מהזיהויים נכונים (פחות FP) גדול יותר טוב → שואף ל-1 < 0.30 0.50–0.80 > 0.85
Recall (R) כמה מהאובייקטים נמצאו (פחות FN) גדול יותר טוב → שואף ל-1 < 0.30 0.50–0.80 > 0.85
mAP50 איכות כוללת IoU=0.50 גדול יותר טוב → שואף ל-1 < 0.30 0.50–0.75 > 0.80
mAP50-95 איכות מחמירה IoU 0.50:0.95 גדול יותר טוב → שואף ל-1 < 0.20 0.35–0.60 > 0.65

הערה: ב-lossים אין “יעד מספרי” אוניברסלי — העיקר שה-loss יורד לאורך אפוקים ובמקביל mAP/P/R עולים.

הסבר :  בזמן אימון (Training)

GPU_mem

מה זה: שימוש זיכרון GPU.

  • גרוע: 0G כשציפית ל-GPU (כנראה רץ על CPU)
  • טוב: יציב ולא מגיע ל-OOM
  • מעולה: מנצל את ה-GPU בצורה יציבה עם batch/imgsz גבוהים בלי קריסות

box_loss (דיוק תיבה)

מה זה: כמה התיבות רחוקות מהאמת.

  • גרוע: > 2.0 או לא יורד לאורך אפוקים
  • טוב: 0.7 – 1.5 ויורד
  • מעולה: < 0.7 ויורד בצורה יציבה

cls_loss (סיווג)

מה זה: שגיאת כיתה.

  • גרוע: > 1.5 או לא יורד
  • טוב: 0.3 – 1.0 ויורד
  • מעולה: < 0.3 (במיוחד אם יש מעט כיתות) ויציב

dfl_loss (דיוק גבולות)

מה זה: חדות/דיוק גבולות התיבה.

  • גרוע: > 2.0 או לא יורד
  • טוב: 0.8 – 1.8 ויורד
  • מעולה: < 0.8 ויציב

Instances

מה זה: כמה אובייקטים נכנסו ב-batch.

  • גרוע: 0–2 לרוב (דאטה דל / באצ’ים “ריקים”)
  • טוב: משתנה סביב 5–50 (תלוי משימה)
  • מעולה: הרבה מופעים מגוונים בכל אפוק (לא מספר אחד, אלא כיסוי טוב של הדאטה)

בסוף אפוק (Validation)

Precision (P)

מה זה: כמה מהזיהויים היו נכונים (פחות FP).

  • גרוע: < 0.30
  • טוב: 0.50 – 0.80
  • מעולה: > 0.85

Recall (R)

מה זה: כמה מהאובייקטים נמצאו (פחות FN).

  • גרוע: < 0.30
  • טוב: 0.50 – 0.80
  • מעולה: > 0.85

mAP50

מה זה: איכות כוללת ב-IoU=0.50 (סלחני יחסית).

  • גרוע: < 0.30
  • טוב: 0.50 – 0.75
  • מעולה: > 0.80

mAP50-95

מה זה: איכות מחמירה (IoU 0.50 עד 0.95).

  • גרוע: < 0.20
  • טוב: 0.35 – 0.60
  • מעולה: > 0.65

פירוש מהיר למספרים שלך

  • box_loss 0.755 טוב-קרוב למעולה
  • cls_loss 0.694 טוב
  • dfl_loss 1.106 טוב
  • P 0.52 טוב (בסיסי)
  • R 0.444 בינוני (מפספסים)
  • mAP50 0.476 בינוני
  • mAP50-95 0.275 נמוך-בינוני
  • אבל: Images=5, Instances=9 קטן מאוד ולכן המדדים לא יציבים.

אימון YOLOv8 על עשרות אלפי תמונות – דגשים הכי חשובים (מה באמת מזיז ביצועים)

1) דאטה ותיוגים (הכי קריטי)

  • איכות תיוג: תיבות מדויקות, עקביות בין מתייגים, בלי “תיבה ענקית”/חצי אובייקט.
  • אובייקטים חסרים (missing labels) זה הרסני: המודל לומד שרקע = אובייקט ואז P יורד.
  • חלוקת Train/Val/Test נכונה:
    • לא לערבב “סדרות” דומות בין train ל-val (אותו וידאו/אותו מקום/אותו יום).
    • Test נפרד שמדמה שימוש אמיתי.
  • איזון כיתות: כיתה נדירה → להוסיף דוגמאות/oversample/איסוף ממוקד.
    מדד לבעיה: train loss יורד אבל P נמוך ו-FP גבוה → הרבה פעמים missing labels או רקעים מבלבלים.

2) ולידציה אמינה

  • Val מספיק גדול ומגוון (לא 50 תמונות).
  • מדדים יציבים: mAP צריך לעלות עקבית, לא “לקפוץ”.
    מדד לבעיה: mAP קופץ חזק מאפוק לאפוק → val קטן/לא מייצג.

3) גודל מודל ורזולוציה

  • מודל: על דאטה גדול לרוב עדיף yolov8m/l אם יש GPU.
  • imgsz:
    • אם יש אובייקטים קטנים: 832/1024 יכול לשפר R ו-mAP50-95.
    • אם האובייקטים גדולים: 640 מספיק ולרוב יעיל.
      מדד לבעיה: mAP50 סביר אבל mAP50-95 נמוך → לרוב צריך imgsz גבוה יותר/תיוגים מדויקים יותר.

4) Batch ו-LR (יציבות ומהירות)

  • batch גדול (כמה שיותר שנכנס ב-GPU) נותן אימון יציב.
  • כוונון lr0 בהתאם ל-batch:
    • LR גבוה מדי → loss קופץ/NaN.
    • נמוך מדי → שיפור איטי.
      כלל אצבע: אם הגדלת batch פי 2, לעיתים אפשר להעלות LR פי ~2 (לא חובה; לבדוק יציבות בלוג).

5) אוגמנטציות – פחות “קסם”, יותר התאמה למציאות

  • על דאטה גדול: לא צריך אוגמנטציות אגרסיביות מדי.
  • mosaic/mixup: טובים בתחילת אימון, אבל אם תיבות צריכות להיות מאוד מדויקות—סגור/החלש לקראת הסוף (close_mosaic).
  • התאמה לתרחיש אמיתי (תאורה/טשטוש/זווית/מרחק) עדיפה על טרנספורמציות לא ריאליות.
    מדד לבעיה: train משתפר, val נתקע או יורד → אוגמנטציה לא מתאימה/חזקה מדי או יש domain gap.

6) Multi-GPU / ביצועים

  • להשתמש ב-GPU בפועל (לוודא GPU_mem לא 0G).
  • AMP (mixed precision) לרוב נותן מהירות וחוסך VRAM.
  • מספיק workers כדי למנוע “צוואר בקבוק” בטעינת נתונים.
    מדד לבעיה: GPU utilization נמוך וזמן/איטרציה גבוה → data loader איטי (workers, cache, דיסק).

7) ניטור איכות – לא רק mAP

מעקב חובה:

  • PR curve, confusion matrix (מי מתבלבל עם מי).
  • בדיקה ידנית של FP/FN על דוגמאות קשות.
  • מדדים לפי תת-קבוצות: יום/לילה, מרחק, גודל אובייקט (small/medium/large).

8) כללי “ברזל” לפרודקשן

  • לא לשפוט לפי אפוק אחד. על דאטה גדול צריך לראות מגמה.
  • לשמור best checkpoint לפי val mAP50-95 (לרוב המדד הכי אמיתי לדיוק תיבות).
  • אם יש שינוי בדאטה לאורך זמן: לבצע fine-tune מחזורי עם דוגמאות חדשות.

 

 

 

 


חומר העשרה – שימוש בבינה מלאכותית

 

חלק א

יצירת מצגת על ידי בינה מלאכותית : gamma.app

 

תרגיל כיתה1  :

חלק א

  1. צור מצגת בעזרת gamma.app ניתן לעבוד בזוגות
  2. יצא את המצגת ל PDF וצור בורדקאסט
  3. יצא את המצגת ל POWERPOINT
  4. צור ב veo 3 סרטון פתיחה למצגת