YOLO-NAS היא פסגת דגמי זיהוי העצמים בסדרת YOLO. אבל למה זה נחשב הכי טוב?
אחרי YOLOv8, עדיין יש מודל חדש וטוב יותר לזיהוי אובייקטים, YOLO-NAS. זהו אלגוריתם זיהוי אובייקטים שפותח על ידי Deci AI כדי להתמודד עם המגבלות של המודלים הקודמים של YOLO (You Only Look Once).
הדגם בנוי מ-AutoNAC, מנוע חיפוש של ארכיטקטורה עצבית. זה עולה על המהירות והביצועים של דגמי SOTA, מה שמציג קפיצת מדרגה גדולה בזיהוי אובייקטים על ידי שיפור הפערים בין דיוק-השהייה ובקוונטיזציה.
מאמר זה ידון בחוזקות ובמאפיינים של YOLO-NAS, ויבדוק מדוע הוא המודל הטוב ביותר לזיהוי אובייקטים בסדרת YOLO.
הבנת איך YOLO-NAS עובד
ה-AutoNAC של Deci (בנייה אוטומטית של ארכיטקטורה עצבית) מייצר את הארכיטקטורה של YOLO-NAS. AutoNAC הוא תהליך חלק המספק חיזוק ביצועים לרשתות עצביות עמוקות קיימות.
צינור ה-AutoNAC לוקח רשת עצבית עמוקה מאומנת על ידי משתמש כקלט, מערך נתונים וגישה למערכת מסקנות. הרשת העצבית העמוקה שעברה הכשרה על ידי המשתמש עוברת תכנון מחדש באמצעות הצינור. לאחר מכן מושגת ארכיטקטורה אופטימלית עם חביון נמוך יותר מבלי להתפשר על הדיוק.
YOLO-NAS משתמש ב-RepVGG. RepVGG הופך אותו לזמין עבור אופטימיזציה לאחר אימון על ידי פרמטריזציה מחדש או קוונטיזציה לאחר אימון. זהו סוג של ארכיטקטורת רשת עצבית המבוססת על VGG. הוא משתמש בטכניקות רגוליזציה שנועדו לשפר את יכולת ההכללה של מודלים של למידה עמוקה.
העיצוב של הארכיטקטורה יעיל יותר במהירות ובזיכרון. RepVGG עובר הכשרה באמצעות ארכיטקטורה מרובת סניפים כדי להשיג הסקה מהירה יותר. לאחר מכן הוא מומר לענף בודד באמצעות פרמטריזציה מחדש.
תכונה זו הופכת את YOLO-NAS לשימושי מאוד עבור פריסת ייצור. הסיבה לכך היא שניתן לאמן ולייעל את הדגם בדיוק מלא עבור מהירות מסקנות ושימוש בזיכרון.
תכונות עיקריות של YOLO-NAS
התכונות העיקריות של YOLO-NAS כוללות את הדברים הבאים:
- הכשרה מודעת לקוונטיזציה: המודל משתמש ב-QSP וב-QCI (מודולים מודעים לכיוונטיזציה) כדי להפחית את אובדן הדיוק במהלך קוונטיזציה שלאחר האימון על ידי שילוב של פרמטריזציה מחדש של קוונטיזציה של 8 סיביות.
- עיצוב אדריכלות אוטומטי: AutoNAC, טכנולוגיית ה-NAS הקניינית של Deci מחפשת ארכיטקטורת מודל אופטימלית המשלבת את ארכיטקטורות המודלים הבסיסיים של YOLO כדי להגיע למודל אופטימלי.
- טכניקת קוונטיזציה היברידית: שיטת הקוונטיזציה הסטנדרטית משפיעה על המודל כולו. לעומת זאת, טכניקת הקוונטיזציה ההיברידית מכמתת קטע של מודל כדי לאזן את ההשהיה והדיוק של המודל.
- השתמש בגישות ייחודיות כדי להכין את המודל לאימון על ידי שימוש בנתונים המסומנים אוטומטית. לאחר מכן המודל לומד מהתחזיות שלו וניגש לכמויות גדולות של נתונים.
ניתוח השוואתי: YOLO-NAS לעומת מודלים אחרים של YOLO
להלן השוואה בין דגמי סדרת YOLO שונים.
YOLO-NAS עדיף על דגמי זיהוי אובייקטים קיימים, אבל זה מגיע עם החסרונות שלו. להלן רשימה של היתרונות והחסרונות של YOLO-NAS:
יתרונות
- זה קוד פתוח.
- זה מהיר יותר ב-10-20% מדגמי YOLO הקיימים.
- זה מדויק יותר בהשוואה לדגמי YOLO הקיימים.
- הוא משתמש בארכיטקטורה טובה יותר, AutoNAC. זה קובע שיא חדש בזיהוי אובייקטים, ומספק את ביצועי הדיוק וההשהייה הטובים ביותר.
- תמיכה חלקה במנועי הסקה כמו NVIDIA. תכונה זו הופכת אותו לדגם מוכן לייצור.
- יש לו יעילות זיכרון טובה יותר ומהירויות מסקנות מוגברות.
חסרונות
- זה עדיין לא יציב מכיוון שהטכנולוגיה עדיין חדשה ולא נעשה בה שימוש פראי בייצור.
יישום של YOLO-NAS
אתה תשתמש גוגל קולאב לכתוב ולהפעיל את הקודים ביישום זה. אלטרנטיבה עבור Google Colab תהיה ליצור סביבה וירטואלית ו השתמש ב-IDE במחשב המקומי שלך.
המודל עתיר משאבים מאוד. ודא שיש לך לפחות 8GB RAM לפני שתפעיל אותו במחשב שלך. ככל שגודל הווידאו גדול יותר, כך הוא משתמש יותר בזיכרון.
התקנת תלות
התקן את התלות של YOLO-NAS, דרגות על באמצעות הפקודה למטה:
התקנת pip super-gradients==3.1.2
לאחר התקנה מוצלחת, כעת תוכל לאמן את דגם YOLO-NAS.
אימון דוגמניות
כדי לאמן את המודל, הפעל את בלוק הקוד שלהלן:
מ super_gradients.training יְבוּא דגמים
yolo_nas_l = models.get("yolo_nas_l", pretrained_weights="קוקו")
אתה מייבא את מודל האימון מספריית SuperGradients המותקנת בקוד זה. לאחר מכן אתה משתמש במשקלי המודל המאומנים מראש ממערך הנתונים של COCO.
מסקנות דגם
להסקת המודל יש יישומים פוטנציאליים למשימות זיהוי תמונה, סיווג ופילוח.
במקרה זה, תתמקד ב משימת זיהוי אובייקטים עבור סרטונים ותמונות. כדי לזהות אובייקט בתמונה, הפעל את גוש הקוד שלהלן:
url = "img_path"
yolo_nas_l.predict (כתובת אתר, conf=0.25).הופעה()
ודא שאתה משתמש בנתיב המדויק לתמונה שלך. במקרה זה, העלה את התמונה בסביבת Google Colab ולאחר מכן העתק את הנתיב של התמונה.
פלט צפוי:
כדי לזהות אובייקטים בסרטון, הפעל את גוש הקוד שלהלן:
יְבוּא לפיד
input_video_path = "נתיב_לסרטון"
output_video_path = "זהה.mp4"
מכשיר = 'קודה'אם torch.cuda.is_available() אַחֵר"מעבד"
yolo_nas_l.to (device).predict (input_video_path).save (output_video_path)
כמו נתוני התמונה, העלו את הסרטון שאתם רוצים שהאובייקטים שלו יאותרו לסביבת Google Colab והעתיקו את הנתיב למשתנה הסרטון. הסרטון החזוי יהיה נגיש מסביבת Google Colab באמצעות השם detected.mp4. הורד את הסרטון למחשב המקומי שלך לפני סיום ההפעלה שלך.
פלט צפוי:
YOLO-NAS תומך גם בכוונון עדין של מודל והדרכה על נתונים מותאמים אישית. התיעוד זמין ב של Deci מחברת מתחילים כוונון עדין.
יישומי עולם אמיתי של YOLO-NAS
קוד המקור של YOLO-NAS נגיש תחת Apache License 2.0, הנגיש לשימוש לא מסחרי. לשימוש מסחרי, הדגם צריך לעבור הסבה מאפס כדי לקבל משקלים מותאמים אישית.
זהו דגם רב-תכליתי שהיישום שלו אפשרי במספר תחומים, כגון:
רכב אוטונומי ורובוטיקה
YOLO-NAS יכול לשפר את יכולות התפיסה של כלי רכב אוטונומיים, ולאפשר להם לזהות ולעקוב אחר אובייקטים מהר יותר ומדויק יותר בזמן אמת. יכולת זו מסייעת להבטיח בטיחות בדרכים וחווית נהיגה חלקה.
מערכות מעקב ואבטחה
המודל יכול לספק זיהוי אובייקטים מהיר, מדויק ובזמן אמת למעקב ואבטחה מערכות, המסייעות לזהות איומים פוטנציאליים או פעילויות חשודות, וכתוצאה מכך אבטחה טובה יותר מערכות
קמעונאות וניהול מלאי
המודל יכול לספק יכולות זיהוי אובייקטים מהירות ומדויקות המאפשרות ניהול מלאי אוטומטי יעיל ובזמן אמת, מעקב אחר מלאי ואופטימיזציה של המדף. מודל זה עוזר להפחית את עלויות התפעול ולהגדיל את הרווחים.
שירותי בריאות והדמיה רפואית
בתחום הבריאות, YOLO-NAS מסוגל לסייע באיתור וניתוח יעיל של חריגות מחלה או תחומי עניין ספציפיים. המודל יכול לעזור לרופאים לאבחן במדויק מחלות ולנטר חולים, ובכך לשפר את מגזר הבריאות.
טייק אווי של YOLO-NAS
YOLO-NAS הוא מודל חדש לזיהוי אובייקטים המהווה דרך חדשה לביצוע זיהוי אובייקטים. זה טוב יותר מדגמי SOTA. הביצועים שלו בזיהוי אובייקטים הם קפיצת מדרגה גדולה עבור פרויקטים של ראייה ממוחשבת.