מה זה mAP, ולמה זיהוי-עצמים צריך מדד משלו
מודלים לזיהוי-עצמים לא רק מסווגים תמונה שלמה — הם צריכים גם למקם כל עצם במדויק, ולעיתים קרובות מחזירים כמה עשרות תיבות-מועמדות לכל תמונה ברמות-ביטחון שונות. Precision ו-Recall הרגילים, שנבנו לתשובה בינארית 'חיובי או שלילי' בנקודת-סף אחת, לא מספיקים לבד למצב כזה. mAP נבנה מ-Average Precision (AP) — ציון יחיד לכל מחלקת-עצמים, שמסכם את היחס בין Precision ל-Recall על-פני כל ספי-הביטחון האפשריים של המודל בבת-אחת — ולאחר-מכן ממוצע פשוט של ה-AP הזה על-פני כל מחלקות-העצמים במאגר-הנתונים.
איך בונים Average Precision למחלקה אחת
כדי לחשב AP למחלקה מסוימת, ממיינים את כל תחזיות המודל לאותה מחלקה לפי רמת-הביטחון שלהן, ובכל נקודה לאורך הרשימה הממוינת מחשבים Precision ו-Recall מצטברים — מה שיוצר עקומת Precision-Recall. AP הוא, למעשה, השטח שמתחת לעקומה הזו: ממוצע ערכי ה-Precision על-פני כל רמות ה-Recall האפשריות, כפי שמגדירה ויקיפדיה כאינטגרל של Precision כפונקציה של Recall. בפועל מחשבים קירוב דיסקרטי — למשל, שיטת האינטרפולציה שבה השתמש PASCAL VOC, שממצעת Precision בנקודות-Recall קבועות ומרווחות.
מ-AP ל-mAP: הממוצע הכפול
mAP הוא הממוצע הפשוט של ציוני ה-AP על-פני כל מחלקות-העצמים שבבנצ'מרק. מאגר-הנתונים COCO, שפרסמה מיקרוסופט ומכיל לפי המאמר המקורי כ-328,000 תמונות ו-2.5 מיליון מופעים מתויגים על-פני 91 סוגי-עצמים, מחשב mAP כממוצע של עד 91 ציוני-AP נפרדים, אחד לכל סוג. אצל בנצ'מרקים כמו COCO יש שכבת-ממוצוע נוספת: ה-AP של כל מחלקה מחושב לא רק בסף-IoU יחיד, אלא ב-10 ספי-IoU שונים (מ-0.5 עד 0.95, בקפיצות של 0.05) וממוצע גם על-פניהם — כך שה-mAP הסופי בבנצ'מרק כזה הוא בפועל ממוצע על-פני ממוצע נוסף.
PASCAL VOC מול COCO: כמה שונה ה'קושי'
שני הבנצ'מרקים המרכזיים בתחום מגדירים mAP קצת אחרת. PASCAL VOC מסתמך על סף-IoU בודד של 0.5 — התחזית נחשבת נכונה אם היא חופפת לפחות ב-50 אחוז לתיבה האמיתית. COCO, שפרסמה מיקרוסופט ב-2014, מחמיר משמעותית: לפי בלוג-Roboflow, הוא ממצע את ה-AP על-פני 10 ספי-IoU שונים בין 0.5 ל-0.95, כך שמודל צריך למקם תיבות בדיוק גבוה בהרבה כדי לקבל ציון גבוה — לא מספיק 'לפגוע באזור הנכון'. המאמר המקורי של COCO אף כלל ניתוח-בסיס (baseline) לביצועי זיהוי-עצמים וסגמנטציה באמצעות Deformable Parts Model (DPM) — שיטה מלפני עידן הלמידה-העמוקה בתחום — כמד-ייחוס להשוואה מול השיטות שיבואו אחריה.
התלות ב-IoU
כל חישוב-AP שממנו נבנה mAP תלוי בהחלטה בינארית אחת בבסיסו: האם תחזית מסוימת 'פוגעת' בעצם האמיתי או לא — והחלטה זו נקבעת על-ידי ערך-IoU, מדד-החפיפה הגיאומטרי בין תיבת-התחזית לתיבה האמיתית. סף-IoU גבוה יותר (כמו ב-COCO) מחמיר את ההגדרה של 'פגיעה', ומוריד את ה-mAP הסופי גם אם איכות-הזיהוי בפועל לא השתנתה — מה שהופך את שני המדדים לבלתי-נפרדים זה מזה. בלי הגדרה גיאומטרית ברורה כמו IoU, אי-אפשר בכלל להתחיל למיין תחזיות ל'נכונות' ו'שגויות' לצורך בניית עקומת Precision-Recall, ולכן כל שינוי בהגדרת-הסף משפיע ישירות על הציון הסופי, לא רק על נתון-ביניים שולי.
שימוש בפועל
mAP הוא המדד המקובל להשוואת ארכיטקטורות זיהוי-עצמים — מ-R-CNN הראשוני, דרך YOLO, ועד מודלים עדכניים יותר — על-פני לוחות-תוצאות סטנדרטיים כמו PASCAL VOC ו-COCO. ספריות כמו pycocotools (הכלי הרשמי של COCO) ו-torchvision מממשות את החישוב באופן אוטומטי מתוך תוצאות-מודל גולמיות, כך שכמעט כל מאמר-מחקר או מוצר-בתעשייה בתחום זיהוי-עצמים מדווח mAP כמדד-ההשוואה המרכזי שלו — בדיוק כמו ש-Accuracy משמש מדד-ברירת-מחדל לבעיות-סיווג רגילות, רק מותאם למשימה שדורשת גם מיקום וגם סיווג בו-זמנית.