בינה מלאכותית ולמידת מכונה

מדריך שלב אחר שלב ל-Computer Vision AutoML ב-Microsoft Azure

arrow_circle_right בינה מלאכותית ולמידת מכונה

אודות הפרויקט

למידה אוטומטית של מכונה – AutoML בקיצור – הפכה בשנים האחרונות גם לנושא מחקר חם וגם לדרך נוחה עבור עסקים להניע את פעילות ה-AI שלהם. היא מספקת לעתים קרובות תוצאות מוכנות לשימוש באיכות גבוהה מאוד. לכל ספקי הענן הגדולים יש מימושים משלהם של AutoML לחזון ממוחשב (CV). עבור Azure, זהו Custom Vision, ל-Google Cloud יש Cloud AutoML Vision ו-AWS מציעה Amazon Recognition.

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

טכנולוגיות

Azure
Google Cloud
AWS

יצירת הפרויקט

אנו מתחילים עם מערך הנתונים. החלטנו להשתמש במערך נתונים של פגמי פלדה בשם NEU-DET [1]. מערך הנתונים מכיל 1800 תמונות מסומנות של 6 סוגים של פגמי פלדה. ניתן לראות את הפגמים הללו באיור שלהלן.

איור 1. מחלקות NEU-DET (מקור: [1])

נכון להיום Azure Custom Vision תומך במשימות סיווג תמונות וזיהוי אובייקטים. בעת יצירת הפרויקט, בחרנו כללי תחום. אם המודל היה מיועד לפריסה ב-Edge, היינו בוחרים ב- כללי (קומפקטי) במקום זאת. אימון מודל קומפקטי מאפשר לנו לייצא את המודל לאחר האימון ולפרוס אותו על התקן קצה (למשל, במפעל, בחנות וכו').

ניתן להעלות מערך נתונים ישירות ל-Azure Custom Vision דרך ממשק המשתמש האינטרנטי או באמצעות SDK. בחרנו ב-SDK מכיוון שהוא מאפשר לנו להעלות תמונות בקבוצות. לשם כך, עקבנו אחר התיעוד של Custom Vision התחלה מהירה: יצירת פרויקט זיהוי אובייקטים עם ספריית הלקוח Custom Vision. יישמנו גם כמה טרנספורמציות תמונה כדי להישאר תואמים לדרישות Custom Vision. שינינו את גודל התמונות ותיבות התיחום ל-256×256 פיקסלים והמרנו אותן ל-RGB. העלינו 400 תמונות אקראיות המייצגות 3 מתוך 6 המחלקות הזמינות: תכלילים, כתמים ושריטות.

לאחר סיום ההעלאה, ניתן לראות את התמונות בפורטל:

איור 2. תמונות שהועלו בממשק המשתמש של Custom Vision

לאחר בחירת תמונה בודדת, אנו יכולים לראות את תיבות התוחמות:

איור 3. תיבות תוחמות לתמונה בודדת בממשק המשתמש של Custom Vision

הדרכה ואופטימיזציה

לאחר שאישרנו שהכול נראה תקין, נוכל להתקדם לאימון המודל. בכלי Custom Vision קיימות 2 אפשרויות. הראשונה היא שיטת אימון מהיר (Quick Training) והשנייה היא אימון מתקדם (Advanced Training), המאפשר לנו לציין תקציב אימון, כלומר את מספר השעות שבהן המודל יתאמן.

החלטנו לבדוק את המודל לאחר שעה אחת בלבד של אימון. התוצאות הן כדלקמן:


איור 4. מדדי ביצועי המודל עם ספי חיזוי ברירת מחדל

איתור כל הפגמים האפשריים, במחיר של מספר גדול יותר של תוצאות חיוביות שגויות, עשוי להיות חשוב יותר מאשר רמת ביטחון גבוהה יותר בתחזיות. Custom Vision מציע התאמה גמישה של ספי תחזית לשיפור ביצועי המודל. במקרה שלנו אנו מעדיפים Recall גבוה על פני Precision גבוה. חשוב שלא להוריד את הספים הללו יותר מדי, שכן ביצועי המודל ייפגעו באופן משמעותי. לדוגמה, סף הסתברות נמוך יוביל לעלייה במספר התוצאות החיוביות השגויות. אם המודל אמור להיות מוטמע בסביבת ייצור, איננו יכולים לעצור את קו הייצור עבור כל זיהוי חיובי שגוי שהמודל מייצר. מציאת האיזון היא המפתח.

לבעיה שאנו עובדים עליה כעת החלטנו להגדיר את ה-KPIs שלנו כדלקמן:

  • המדד העיקרי לאופטימיזציה הוא mAP – הוא אינו יכול להיות נמוך מ-85%
  • Recall ו-Precision חשובים באותה מידה, ושניהם צריכים להישאר מעל 80%

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

איור 5. ספי חיזוי ברירת מחדל (משמאל) ומותאמים (מימין)

הפחתת שני הספים ל-25% הניבה את התוצאות הבאות:

איור 6. מדדי ביצועי המודל לאחר התאמת ספי החיזוי

המדד העיקרי שלנו הוא משביע רצון – ה-mAP עומד על 86.8%. גם ה-Precision וה-Recall שניהם מעל 80%, וזה גם כן מצוין. כדי להיות בטוחים, ניתן לבצע ניתוח נוסף על נתוני הבדיקה על ידי העלאת תמונות חדשות לכלי ה-Custom Vision ולבחון את התחזיות.

איור 7. תחזיות המודל על נתונים שלא נראו

פריסה

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

איור 8. אפשרות הפרסום בממשק Custom Vision

לאחר שתהליך הפרסום הסתיים, אנו יכולים להתחיל להשתמש במודל שלנו כדי לקבל תחזיות על נתונים חדשים. אנו יכולים לראות שתווית "פורסם" הופיעה לצד האיטרציה שלנו בסרגל הצד השמאלי, ושמה כעת גלוי בתיאור האיטרציה. אנו יכולים לאחזר את המידע הנדרש להרצת התחזיות על ידי בחירת Prediction URL ו-Prediction-Key.

תקציר

במאמר זה הצגנו כמה קל ומהיר לבנות מודל ראייה ממוחשבת לזיהוי אובייקטים. Azure Custom Vision סיפק לנו מודל שניתן להעריך במהירות על ידי הלקוחות שלנו ללא צורך במהנדסי MLOps. הוא גם סיפק לנו בסיס איתן לבדיקת המודלים שלנו כנגדו.

arrow_circle_rightצרו קשר

בואו נדבר על פרויקט ה-AI שלכם

Tomasz Smolarczyk

Tomasz Smolarczyk

מנהלת בינה מלאכותית