EfficientDet: לקראת איתור אובייקטים מדרגיים ויעילים

תוכן עניינים:

EfficientDet: לקראת איתור אובייקטים מדרגיים ויעילים
EfficientDet: לקראת איתור אובייקטים מדרגיים ויעילים

וִידֵאוֹ: EfficientDet: לקראת איתור אובייקטים מדרגיים ויעילים

וִידֵאוֹ: EfficientDet: לקראת איתור אובייקטים מדרגיים ויעילים
וִידֵאוֹ: EfficientDet: Scalable and Efficient Object Detection 2024, מאי
Anonim

כאחד היישומים העיקריים בראיית המחשב, זיהוי האובייקטים הופך לחשוב יותר ויותר בתרחישים הדורשים דיוק גבוה אך הם בעלי משאבי מחשוב מוגבלים, כגון רובוטיקה ומכוניות ללא נהג. לרוע המזל, גלאים מודרניים ברמת דיוק גבוהה רבים אינם עומדים במגבלות אלה. חשוב מכך, יישומי גילוי אובייקטים בעולם האמיתי פועלים בפלטפורמות שונות, שלעתים קרובות דורשות משאבים שונים.

זיהוי אובייקטים מדרגיים ויעיל
זיהוי אובייקטים מדרגיים ויעיל

אז השאלה הטבעית היא כיצד מתכננים גלאי עצמים מדויקים ויעילים שיכולים להתאים גם למגוון רחב של אילוצי משאבים?

EfficientDet: זיהוי אובייקטים מדרגי ויעיל, שאומץ ב- CVPR 2020, מציג משפחה חדשה של גלאי אובייקטים מדרגיים ויעילים. בהתבסס על עבודה קודמת על קנה מידה של רשתות עצביות (EfficientNet) ושילוב רשת פונקציונלית דו-כיוונית חדשה (BiFPN) וכללי קנה מידה חדשים, EfficientDet משיג דיוק מודרני בעוד שהוא קטן פי 9 ומשתמש בחישוב פחות משמעותי מגלאים מודרניים ידועים. האיור הבא מציג את ארכיטקטורת הרשת הכללית של המודלים.

תמונה
תמונה

מיטוב אדריכלות המודל

הרעיון שעומד מאחורי EfficientDet נובע ממאמץ למצוא פתרונות לשיפור היעילות החישובית על ידי בחינה שיטתית של מודלים מזוהים קודמים. באופן כללי, לגלאי האובייקטים יש שלושה מרכיבים עיקריים: עמוד שדרה המפיק חלונות מהתמונות הנתונות; רשת של אובייקטים שלוקחת מספר רב של פונקציות מהעמוד השדרה כקלט ומוציאה רשימה של פונקציות משולבות המייצגות מאפיינים אופייניים של התמונה; ורשת מחלקה / תיבה סופית המשתמשת בפונקציות משולבות כדי לחזות את המעמד והמיקום של כל אובייקט.

לאחר בחינת אפשרויות העיצוב של רכיבים אלה, זיהינו כמה אופטימיזציות מרכזיות לשיפור הביצועים והיעילות. גלאים קודמים משתמשים בעיקר ב- ResNets, ResNeXt או AmoebaNet כעל עמוד שדרה, שהם פחות חזקים או בעלי יעילות נמוכה יותר מ- EfficientNets. עם ההטמעה הראשונית של עמוד השדרה EfficientNet, ניתן להשיג יעילות רבה יותר. לדוגמה, החל מקו בסיסי של RetinaNet המשתמש בעמוד השדרה של ResNet-50, מחקר האבלציה שלנו מראה כי פשוט החלפת ResNet-50 ב- EfficientNet-B3 יכולה לשפר את הדיוק ב -3% תוך הפחתת החישוב ב -20%. אופטימיזציה נוספת היא שיפור היעילות של רשתות פונקציונליות. בעוד שרוב הגלאים הקודמים פשוט משתמשים ברשת פירמידת Downlink (FPN), אנו מגלים כי ה- FPN במורד הזרם מוגבל מטבעו לזרם מידע חד כיווני. FPN אלטרנטיביים כמו PANet מוסיפים זרם נוסף במחיר חישוב נוסף.

ניסיונות אחרונים להשתמש בחיפוש אדריכלות עצבית (NAS) גילו ארכיטקטורה מורכבת יותר של NAS-FPN. עם זאת, בעוד שמבנה רשת זה יעיל, הוא גם לא סדיר ומותאם במיוחד למשימה ספציפית, מה שמקשה על ההסתגלות למשימות אחרות. כדי לפתור בעיות אלה, אנו מציעים רשת חדשה של פונקציות דו-כיווניות BiFPN, המיישמת את הרעיון לשלב פונקציות רב שכבתיות מ- FPN / PANet / NAS-FPN, המאפשרת העברת מידע גם מלמעלה למטה וגם מלמטה למעלה. באמצעות חיבורים קבועים ויעילים.

תמונה
תמונה

כדי לשפר עוד יותר את היעילות, אנו מציעים טכניקת סינתזה מהירה ומנורמלית מהירה. גישות מסורתיות בדרך כלל מתייחסות לכל הקלטים ל- FPN באותה דרך, אפילו ברזולוציות שונות.עם זאת, אנו מבחינים שתכונות קלט עם רזולוציות שונות תורמות לרוב באופן לא שווה לפונקציות הפלט. לפיכך, אנו מוסיפים משקל נוסף לכל פונקציית קלט ונותנים לרשת ללמוד את החשיבות של כל אחת מהן. אנו גם נחליף את כל המפגשים הרגילים במפגשים פחות יקרים וניתנים להפרדה עמוקה. בעזרת אופטימיזציה זו, ה- BiFPN שלנו משפר עוד יותר את הדיוק ב -4% תוך הפחתת עלויות החישוב ב- 50%.

האופטימיזציה השלישית כוללת השגת הפשרה הטובה ביותר בין דיוק ויעילות באילוצי משאבים שונים. העבודה הקודמת שלנו הראתה כי שינוי קנה המידה של עומק, רוחב ורזולוציה של רשת יכול לשפר משמעותית את ביצועי זיהוי התמונה. בהשראת רעיון זה, אנו מציעים שיטת קנה מידה מורכבת חדשה לגלאי אובייקטים המגדילה באופן קולקטיבי את הרזולוציה / עומק / רוחב. לכל רכיב רשת, כלומר עמוד שדרה, אובייקט ורשת ניבוי חסימה / מחלקה, יהיה גורם קנה מידה מורכב אחד השולט בכל ממדי קנה המידה באמצעות כללים היוריסטיים. גישה זו מקלה על קביעת אופן גודל המודל על ידי חישוב גורם קנה מידה עבור מגבלת משאבי יעד נתונה.

על ידי שילוב של עמוד השדרה החדש ו- BiFPN, אנו מתכננים תחילה בסיס בסיס קטן של EfficientDet-D0 ואז מיישמים קנה מידה מורכב כדי להעלות את EfficientDet-D1 ל- D7. לכל דגם סדרתי עלות חישובית גבוהה יותר, המכסה מגוון רחב של מגבלות משאבים מ -3 מיליארד FLOPs ל -300 מיליארד FLOPS, ומספק דיוק גבוה יותר.

מודל ביצועים

הערכת EfficientDet על מערך הנתונים של COCO, מערך עזר נפוץ לזיהוי אובייקטים. EfficientDet-D7 משיג דיוק ממוצע ממוצע (MAP) של 52.2, הגבוה ב -1.5 נקודות מהמודל המודרני הקודם, תוך שימוש בפרמטרים פי 4 ופחות 9.4 פחות חישובים

תמונה
תמונה

השווינו גם גודל פרמטר וחביון מעבד / GPU בין EfficientDet לדגמים קודמים. עם מגבלות דיוק דומות, דגמי EfficientDet פועלים במהירות גבוהה פי 2 על ה- GPU ופי 5–11 מהר יותר על המעבד מאשר גלאים אחרים. בעוד שמודלים של EfficientDet מיועדים בעיקר לזיהוי אובייקטים, אנו בודקים גם את יעילותם במשימות אחרות כגון פילוח סמנטי. כדי לבצע משימות פילוח, אנו משנים מעט את EfficientDet-D4 על ידי החלפת אובדן הראש ואובדן הראש תוך שמירה על אותו עמוד שדרה מוגדל ו- BiFPN. אנו משווים מודל זה למודלים קודמים של פילוח מודרני עבור Pascal VOC 2012, מערך בדיקות פילוח שנמצא בשימוש נרחב.

תמונה
תמונה

לאור ביצועיהם יוצאי הדופן, EfficientDet צפוי לשמש בסיס חדש לחקר איתור אובייקטים עתידי ולעשות פוטנציאל למודלים לגילוי אובייקטים מדויקים ביותר לשימושים ביישומים רבים בעולם האמיתי. אז פתחו את כל נקודות ההפסקה של הקוד והמודל המאומנים מראש ב- Github.com.

מוּמלָץ: