השב לאירוע TensorFlow Everywhere המקומי שלך היום!
דף זה תורגם על ידי Cloud Translation API.
Switch to English

סיווג תמונות

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

התמונה הבאה מציגה את הפלט של מודל סיווג התמונה באנדרואיד.

תמונת מסך של דוגמא לאנדרואיד

להתחיל

אם אתה חדש ב- TensorFlow Lite ועובד עם אנדרואיד או iOS, מומלץ לבחון את יישומי הדוגמה הבאים שיכולים לעזור לך להתחיל.

ניתן למנף את ה- API מחוץ לקופסה מספריית המשימות של TensorFlow Lite לשילוב מודלים של סיווג תמונות בכמה שורות קוד בלבד. תוכל גם לבנות צינור מסקנות משלך בהתאמה אישית באמצעות ספריית התמיכה של TensorFlow Lite .

דוגמת Android למטה מדגימה את היישום לשתי השיטות כמו lib_task_api ו- lib_support , בהתאמה.

צפה בדוגמה של Android

צפה בדוגמה של iOS

אם אתה משתמש בפלטפורמה שאינה אנדרואיד / iOS, או אם אתה כבר מכיר את ממשקי ה- API של TensorFlow Lite , הורד את דגם המתנע ואת הקבצים התומכים (אם רלוונטי).

הורד את דגם המתנע

תיאור המודל

איך זה עובד

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

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

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

סוג בעלי חיים הִסתַבְּרוּת
ארנב 0.07
אוֹגֵר 0.02
כֶּלֶב 0.91

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

ייתכן שתבחין כי סכום כל ההסתברויות (עבור ארנב, אוגר וכלב) שווה ל- 1. זהו סוג נפוץ של פלט עבור מודלים עם מספר מחלקות (ראה מידע נוסף על Softmax ).

תוצאות מעורפלות

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

לדוגמה, הדברים הבאים עשויים להצביע על תוצאה דו משמעית:

תווית הִסתַבְּרוּת
ארנב 0.31
אוֹגֵר 0.35
כֶּלֶב 0.34
אם המודל שלך מחזיר לעתים קרובות תוצאות מעורפלות, ייתכן שתצטרך מודל אחר ומדויק יותר.

בחירת ארכיטקטורת מודל

TensorFlow Lite מספק לך מגוון דגמי סיווג תמונות שכולם מאומנים במערך הנתונים המקורי. ארכיטקטורות דוגמניות כמו MobileNet, Inception ו- NASNet זמינות בדף המודלים המתארחים . כדי לבחור את הדגם הטוב ביותר למקרה השימוש שלך, עליך לקחת בחשבון את הארכיטקטורות הבודדות, כמו גם כמה מהפשרות בין דגמים שונים. חלק מהפשרות בין מודלים אלה מבוססות על מדדים כגון ביצועים, דיוק וגודל המודל. לדוגמה, ייתכן שתצטרך מודל מהיר יותר לבניית סורק ברקודים בעוד שאתה מעדיף מודל איטי ומדויק יותר עבור אפליקציית הדמיה רפואית. שים לב כי מודלי סיווג התמונות שסופקו מקבלים גדלים שונים של קלט. בחלק מהדגמים, זה מצוין בשם הקובץ. לדוגמא, המודל של Mobilenet_V1_1.0_224 מקבל קלט של 224x224 פיקסלים. כל הדגמים דורשים שלושה ערוצי צבע לפיקסל (אדום, ירוק וכחול). מודלים כמותיים דורשים 1 בייט לערוץ, ודגמי float דורשים 4 בתים לערוץ. דוגמאות הקוד של Android ו- iOS מדגימות כיצד לעבד תמונות מצלמה בגודל מלא לפורמט הנדרש עבור כל דגם.

שימושים ומגבלות

מודלי סיווג התמונות של TensorFlow Lite שימושיים לסיווג תווית אחת; כלומר, לחזות איזה תווית יחידה התמונה מייצגת בסבירות הגבוהה ביותר. הם מאומנים לזהות 1000 שיעורי תדמית. לקבלת רשימה מלאה של שיעורים, עיין בקובץ התוויות במיקוד הדגם . אם ברצונך להכשיר מודל לזהות כיתות חדשות, ראה התאמה אישית של מודל . למקרי השימוש הבאים, עליך להשתמש בסוג אחר של דגם:
  • חיזוי סוג ומיקום של אובייקט אחד או יותר בתוך תמונה (ראה איתור אובייקטים )
  • חיזוי קומפוזיציה של תמונה, למשל נושא מול רקע (ראה פילוח )
ברגע שמודל ההתנעה פועל במכשיר היעד שלך, תוכל להתנסות בדגמים שונים כדי למצוא את האיזון האופטימלי בין ביצועים, דיוק וגודל המודל.

התאמה אישית של המודל

המודלים שהוכשרו מראש הוכשרו לזהות 1000 כיתות תמונות. לקבלת רשימה מלאה של שיעורים, עיין בקובץ התוויות במיקוד הדגם . אתה יכול גם להשתמש בלימוד העברה כדי להכשיר מחדש מודל לזהות שיעורים שלא בערכה המקורית. לדוגמא, תוכלו להכשיר מחדש את המודל להבחנה בין מיני עץ שונים, למרות שלא היו עצים בנתוני האימון המקוריים. לשם כך תזדקק לסט תמונות אימונים לכל אחת מהתוויות החדשות שתרצה להכשיר. למד כיצד לבצע למידת העברה בפרויקט זיהוי פרחים באמצעות קוד codel TensorFlow, או באמצעות ספריית Model Maker .

אמות מידה לביצועים

ביצועי המודל נמדדים במונחים של משך הזמן שלוקח למודל לבצע הסקה על פיסת חומרה מסוימת. ככל שהזמן נמוך יותר, כך הדגם מהיר יותר. הביצועים שאתה דורש תלוי ביישום שלך. ביצועים יכולים להיות חשובים עבור יישומים כמו וידאו בזמן אמת, שם יכול להיות חשוב לנתח כל פריים בזמן שלפני שרטוט הפריים הבא (למשל, ההסקה חייבת להיות מהירה מ- 33ms בכדי לבצע הסקה בזמן אמת בזרם וידאו 30fps) . TensorFlow Lite כימת ביצועי דגמי MobileNet בין 3.7ms ל 80.3 ms. מספרי ביצועי ביצועים נוצרים בעזרת הכלי המידוד .
שם המודל גודל הדגם התקן NNAPI מעבד
Mobilenet_V1_1.0_224_quant 4.3 Mb פיקסל 3 (אנדרואיד 10) 6ms 13ms *
פיקסל 4 (אנדרואיד 10) 3.3ms 5ms *
iPhone XS (iOS 12.4.1) 11ms **

* 4 חוטים בשימוש.

** 2 אשכולות המשמשים ב- iPhone לקבלת תוצאת הביצועים הטובה ביותר.

דיוק המודל

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

רשימת המודלים המתארחים מספקת נתונים סטטיסטיים של דיוק Top-1 ו- Top 5. Top-1 מתייחס לאיזו תדירות התווית הנכונה מופיעה כתווית עם הסבירות הגבוהה ביותר בפלט המודל. Top-5 מתייחס לתדירות התווית הנכונה מופיעה בחמש ההסתברות הגבוהה ביותר בפלט המודל.

TensorFlow Lite כימת את דיוק ה- Top-5 של דגמי MobileNet בין 64.4 ל- 89.9%.

גודל הדגם

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

גדלי דגמי MobileNet של TensorFlow Lite מכמתים נעים בין 0.5 ל -3.4 מגהבייט.

המשך קריאה ומשאבים

השתמש במקורות הבאים כדי ללמוד עוד על מושגים הקשורים לסיווג תמונות: