המשימה של זיהוי מה תמונה מייצגת נקראת סיווג תמונה . מודל סיווג תמונה מאומן לזהות סוגים שונים של תמונות. לדוגמה, אתה יכול לאמן דוגמנית לזהות תמונות המייצגות שלושה סוגים שונים של בעלי חיים: ארנבות, אוגרים וכלבים. TensorFlow Lite מספק מודלים שעברו הכשרה מותאמים מראש שתוכל לפרוס ביישומים הניידים שלך. למידע נוסף על סיווג תמונות באמצעות TensorFlow כאן .
התמונה הבאה מציגה את הפלט של מודל סיווג התמונות באנדרואיד.
אם אתה חדש ב-TensorFlow Lite ועובד עם אנדרואיד או iOS, מומלץ לחקור את היישומים לדוגמה הבאים שיכולים לעזור לך להתחיל.
אתה יכול למנף את ה-API מחוץ לקופסה מספריית המשימות TensorFlow Lite כדי לשלב מודלים של סיווג תמונות בכמה שורות קוד בלבד. אתה יכול גם לבנות צינור מסקנות מותאם אישית משלך באמצעות ספריית התמיכה של TensorFlow Lite .
הדוגמה של Android למטה מדגימה את היישום עבור שתי השיטות כמו lib_task_api ו- lib_support , בהתאמה.
אם אתה משתמש בפלטפורמה שאינה אנדרואיד/iOS, או אם אתה כבר מכיר את ממשקי ה-API של TensorFlow Lite , הורד את דגם ההתחלה והקבצים התומכים (אם רלוונטי).
במהלך האימון, מודל סיווג תמונות מוזן בתמונות והתוויות המשויכות אליהן. כל תווית היא שם של מושג או מחלקה נפרדים שהמודל ילמד להכיר.
בהינתן נתוני הכשרה מספקים (לעיתים קרובות מאות או אלפי תמונות לכל תווית), מודל סיווג תמונות יכול ללמוד לחזות אם תמונות חדשות שייכות לאחת מהשיעורים שבהם הוא הוכשר. תהליך חיזוי זה נקרא מסקנות . שים לב שאתה יכול גם להשתמש בלימוד העברה כדי לזהות כיתות חדשות של תמונות באמצעות מודל קיים מראש. למידת העברה אינה דורשת מערך הדרכה גדול מאוד.
לאחר מכן, כאשר אתה מספק תמונה חדשה כקלט למודל, היא תוציא את ההסתברויות של התמונה המייצגת כל אחד מסוגי החיות עליהן הוא אומן. פלט לדוגמה עשוי להיות כדלקמן:
סוג בעל חיים | הִסתַבְּרוּת |
---|---|
ארנב | 0.07 |
אוֹגֵר | 0.02 |
כֶּלֶב | 0.91 |
כל מספר בפלט מתאים לתווית בנתוני האימון. אם משייכים את הפלט לשלוש התוויות שהמודל אומן עליהן, ניתן לראות שהמודל חזה סבירות גבוהה שהתמונה מייצגת כלב.
ייתכן שתבחין שסכום כל ההסתברויות (עבור ארנב, אוגר וכלב) שווה ל-1. זהו סוג פלט נפוץ עבור דגמים עם מספר מחלקות (ראה Softmax למידע נוסף).
מכיוון שהסתברויות הפלט תמיד מסתכמות ל-1, אם תמונה לא מזוהה בבטחה כשייכת לאף אחת מהמעמדות שעליהן הוכשר המודל, ייתכן שתראה את ההסתברות מפוזרת על פני התוויות מבלי שערך אחד יהיה גדול משמעותית.
לדוגמה, הדברים הבאים עשויים להצביע על תוצאה לא ברורה:
תווית | הִסתַבְּרוּת |
---|---|
ארנב | 0.31 |
אוֹגֵר | 0.35 |
כֶּלֶב | 0.34 |
- חיזוי הסוג והמיקום של אובייקט אחד או יותר בתוך תמונה (ראה זיהוי אובייקטים )
- חיזוי קומפוזיציה של תמונה, למשל נושא מול רקע (ראה פילוח )
שם המודל | גודל הדגם | התקן | NNAPI | מעבד |
---|---|---|---|---|
Mobilenet_V1_1.0_224_quant | 4.3 מגה-ביט | Pixel 3 (אנדרואיד 10) | 6ms | 13ms* |
Pixel 4 (אנדרואיד 10) | 3.3 אלפיות השנייה | 5ms* | ||
iPhone XS (iOS 12.4.1) | 11ms** |
* 4 חוטים בשימוש.
** 2 שרשורים בשימוש באייפון לקבלת תוצאת הביצועים הטובה ביותר.
הדיוק נמדד במונחים של התדירות שבה המודל מסווג נכון תמונה. לדוגמה, ניתן לצפות מדגם עם דיוק מוצהר של 60% לסווג תמונה נכונה בממוצע של 60% מהמקרים.
מדדי הדיוק הרלוונטיים ביותר הם Top-1 ו-Top-5. Top-1 מתייחס לתדירות שבה התווית הנכונה מופיעה בתור התווית בעלת ההסתברות הגבוהה ביותר בתפוקת המודל. Top-5 מתייחס לתדירות שבה התווית הנכונה מופיעה ב-5 ההסתברויות הגבוהות ביותר בתפוקת המודל.
טווח דיוק Top-5 של דגמי ה-TensorFlow Lite המקוונטי של דגמי MobileNet נע בין 64.4 ל-89.9%.
גודלו של דגם בדיסק משתנה בהתאם לביצועים ולדיוק שלו. הגודל עשוי להיות חשוב לפיתוח נייד (שם הוא עשוי להשפיע על גדלי הורדת האפליקציה) או בעת עבודה עם חומרה (כאשר האחסון הזמין עשוי להיות מוגבל).
הגדלים של דגמי ה-MobileNet הקוונטיים של TensorFlow Lite נעים בין 0.5 ל-3.4 מגה-בייט.
השתמש במשאבים הבאים כדי ללמוד עוד על מושגים הקשורים לסיווג תמונות: