Method Article
מטרת העבודה המוצגת במאמר זה היא לפתח טכנולוגיה לזיהוי אוטומטי של פריטי מזון ומשקאות מתמונות שצולמו על ידי מכשירים ניידים. הטכנולוגיה מורכבת משתי גישות שונות - הראשונה מבצעת זיהוי תמונת מזון ואילו השנייה מבצעת פילוח תמונת מזון.
בשל הבעיות והעלויות הכרוכות בגישות ידניות להערכת תזונה, נדרשים פתרונות אוטומטיים כדי להקל ולהאיץ את העבודה ולהגביר את איכותה. כיום, פתרונות אוטומטיים מסוגלים לתעד את צריכת התזונה של אדם בצורה הרבה יותר פשוטה, למשל על ידי צילום תמונה עם מצלמת סמארטפון. במאמר זה נתמקד בגישות מבוססות תמונה כאלה להערכת תזונה. עבור בעיית זיהוי תמונת המזון, רשתות עצביות עמוקות השיגו את מצב האמנות בשנים האחרונות, ואנו מציגים את עבודתנו בתחום זה. בפרט, אנו מתארים תחילה את השיטה לזיהוי תמונות מזון ומשקאות באמצעות ארכיטקטורת רשת עצבית עמוקה, הנקראת NutriNet. שיטה זו, כמו רוב המחקרים שנעשו בימים הראשונים של זיהוי תמונת מזון מבוססת למידה עמוקה, מוגבלת לתפוקה אחת לתמונה, ולכן אינה מתאימה לתמונות עם פריטי מזון או משקאות מרובים. לכן גישות המבצעות פילוח תמונת מזון הן הרבה יותר חזקות, שכן הן מסוגלות לזהות כל מספר של פריטי מזון או משקאות בתמונה. לכן אנו מציגים גם שתי שיטות לפילוח תמונות מזון - האחת מבוססת על רשתות קונבולוציונליות לחלוטין (FCNs), והשנייה על שאריות עמוקות (ResNet).
הערכה תזונתית היא צעד מכריע בקביעת אזורים מעשיים בתזונת הפרט. עם זאת, ביצוע הערכה תזונתית באמצעות גישות ידניות מסורתיות קשור לעלויות ניכרות. גישות אלה נוטות גם לשגיאות מכיוון שהן מסתמכות לעתים קרובות על דיווח עצמי על ידי הפרט. הערכה תזונתית אוטומטית מטפלת בבעיות אלה על ידי מתן דרך פשוטה יותר לכמת ולהעפיל צריכת מזון. גישה כזו יכולה גם להקל על חלק מהטעויות הקיימות בגישות ידניות, כגון ארוחות שלא נענו, חוסר יכולת להעריך במדויק את נפח המזון וכו '. לכן, ישנם יתרונות ברורים לאוטומציה של הערכה תזונתית על ידי פיתוח פתרונות המזהים מזונות ומשקאות שונים לכמת את צריכת המזון1. פתרונות אלה יכולים לשמש גם כדי לאפשר הערכה של ערכים תזונתיים של פריטי מזון ומשקאות (מעתה ואילך "פריטי מזון"). כתוצאה מכך, הערכה תזונתית אוטומטית שימושית עבור יישומים מרובים - משימושים רפואיים בלבד, כגון מתן אפשרות לדיאטנים לעקוב ולנתח בקלות ובדייקנות רבה יותר את התזונה של המטופלים שלהם, ועד לשימוש בתוך אפליקציות רווחה המיועדות לאוכלוסייה הכללית.
זיהוי אוטומטי של פריטי מזון מתמונות הוא בעיה מאתגרת בראייה ממוחשבת. זאת בשל מזונות להיות חפצים מעוותים בדרך כלל, ובשל העובדה כי כמות גדולה של המידע החזותי של פריט המזון יכול ללכת לאיבוד במהלך ההכנה שלה. בנוסף, מזונות שונים יכולים להיראות דומים מאוד זה לזה, ואותו מזון יכול להיראות שונה באופן משמעותי על תמונות מרובות2. יתר על כן, דיוק הזיהוי תלוי בגורמים רבים נוספים, כגון איכות התמונה, האם פריט המזון חסום על ידי פריט אחר, מרחק שממנו צולמה התמונה וכו '. זיהוי פריטי משקה מציג סט אתגרים משלו, העיקרי שבהם הוא הכמות המוגבלת של מידע חזותי הזמין בתמונה. מידע זה יכול להיות צבע המשקה, צבע מיכל משקה ומבנה, ובתנאי תמונה אופטימליים, צפיפות המשקה2.
כדי לזהות בהצלחה פריטי מזון מתמונות, יש צורך ללמוד תכונות של כל כיתת מזון ומשקאות. פעולה זו נעשתה באופן מסורתי באמצעות מחלצי תכונות המוגדרים באופן ידני3,4,5,6 המבצעים זיהוי בהתבסס על תכונות פריט ספציפיות כגון צבע, מרקם, גודל וכו ', או שילוב של תכונות אלה. דוגמאות של מחלצי תכונות אלה כוללות למידה מרובה ליבה4, תכונות מקומיות pairwise5 ואת שקית של תכונות מודל6. בשל המורכבות של תמונות מזון, גישות אלה השיגו בעיקר דיוק סיווג נמוך - בין 10% ל 40%3,4,5. הסיבה לכך היא כי הגישה הידנית אינה חזקה מספיק כדי להיות מדויק מספיק. מכיוון שפריט מזון יכול להשתנות באופן משמעותי במראהו, אין זה ריאלי להקיף את כל השונות באופן ידני. דיוק סיווג גבוה יותר ניתן להשיג עם מחלצי תכונות המוגדרים באופן ידני כאשר מספר מחלקות המזון מצטמצם5, או תכונות תמונה שונות משולבות 6 , ובכך מציין כי ישצורךבפתרונות מורכבים יותר לבעיה זו.
זו הסיבה מדוע למידה עמוקה הוכיחה להיות כל כך יעיל עבור הבעיה זיהוי תמונת מזון. למידה עמוקה, או רשתות עצביות עמוקות, נוצרה בהשראת מוחות ביולוגיים, ומאפשרת למודלים חישוביים המורכבים משכבות עיבוד מרובות ללמוד תכונות באופן אוטומטי באמצעות אימון על קבוצה של תמונות קלט7,8. בגלל זה, למידה עמוקה שיפרה באופן משמעותי את מצב האמנות במגוון תחומי מחקר7, עם ראייה ממוחשבת, ולאחר מכן זיהוי תמונת מזון, להיות אחד מהם2.
בפרט, רשתות עצביות קונבולוציוניות עמוקות (DCNNs) הן הפופולריות ביותר עבור זיהוי תמונת מזון - רשתות אלה בהשראת מערכת הראייה של בעלי חיים, שבו נוירונים בודדים מנסים להשיג הבנה של הקלט החזותי על ידי תגובה לאזורים חופפים בשדה הראייה9. רשת עצבית קונבולוציונית לוקחת את תמונת הקלט ומבצעת סדרה של פעולות בכל אחת משכבות הרשת, שהנפוצות שבהן הן שכבות קונבולוציה, מחוברות במלואן ואיגום. שכבות קונבולוציונאליות מכילות מסננים ניתנים למידה המגיבים לתכונות מסוימות בנתוני הקלט, בעוד ששכבות המחוברות במלואן מחברות נתוני פלט משכבות אחרות כדי לקבל ממנו ידע ברמה גבוהה יותר. מטרת איגום השכבות היא לדגום כלפי מטה את נתוני הקלט2. ישנן שתי גישות לשימוש במודלים של למידה עמוקה שהוכיחו את עצמן כפופולריות: לקיחת הגדרת רשת עצבית עמוקה קיימת10,11, המכונה ארכיטקטורת למידה עמוקה במאמר זה, או הגדרת ארכיטקטורת למידה עמוקה חדשה12,13, והכשרת כל אחד מאלה על ערכת נתונים של תמונת מזון. יש חוזקות וחולשות לשתי הגישות - בעת שימוש בארכיטקטורת למידה עמוקה קיימת, ניתן לבחור ארכיטקטורה שביצעה ביצועים טובים לבעיות אחרות ולכוונן אותה לבעיה הרצויה, ובכך לחסוך זמן ולהבטיח שנבחרה ארכיטקטורה מאומתת. הגדרת ארכיטקטורת למידה עמוקה חדשה, לעומת זאת, היא עתירת זמן יותר, אך מאפשרת פיתוח של ארכיטקטורות שנעשו במיוחד כדי לקחת בחשבון את הפרטים של בעיה ובכך תיאורטית לבצע טוב יותר עבור בעיה זו.
במאמר זה, אנו מציגים את שתי הגישות. לבעיית זיהוי תמונת המזון, פיתחנו ארכיטקטורת DCNN חדשנית בשם NutriNet2, שהיא שינוי של ארכיטקטורת AlexNet הידועה14. ישנם שני הבדלים עיקריים בהשוואה ל- AlexNet: NutriNet מקבל תמונות של 512x512 פיקסלים כקלט (בניגוד לתמונות של 256x256 פיקסלים עבור AlexNet), ול- NutriNet יש שכבה קונבולוציונלית נוספת בתחילת הרשת העצבית. שני שינויים אלה הוכנסו על מנת לחלץ מידע רב ככל האפשר מתמונות ערכת הנתונים של הזיהוי. לאחר תמונות ברזולוציה גבוהה יותר פירושו שיש מידע נוסף על תמונות בעל שכבות קונבולוציוני יותר פירושו כי ידע נוסף ניתן לחלץ מן התמונות. בהשוואה לכ-60 מיליון הפרמטרים של AlexNet, NutriNet מכילה פחות פרמטרים: כ-33 מיליון. הסיבה לכך היא ההבדל בממדים בשכבה הראשונה המחוברת במלואה הנגרמת על ידי שכבה קונבולוציה נוספת2. איור 1 מכיל דיאגרמה של ארכיטקטורת NutriNet. תמונות המזון ששימשו לאימון מודל NutriNet נאספו מהאינטרנט - ההליך מתואר בטקסט הפרוטוקול.
לבעיית פילוח תמונת המזון, השתמשנו בשתי ארכיטקטורות קיימות שונות: רשתות קונבולוציונליות לחלוטין (FCNs)15 ורשתות שיורית עמוקות (ResNet)16, שתיהן ייצגו את מצב האמנות עבור פילוח תמונה כאשר השתמשנו בהן כדי לפתח את פתרונות פילוח תמונת המזון שלהם. ישנן גרסאות FCN מרובות שהוצגו על ידי לונג ואח ': FCN-32s, FCN-16s ו FCN-8s15. FCN-32s מפיק מפת פיקסלים המבוססת על התחזיות לפי השכבה הסופית של FCN, בעוד שהוריאנט FCN-16 משלב תחזיות אלה עם תחזיות אלה בשכבה קודמת. FCN-8s שוקל עוד תחזיות של שכבה ולכן הוא מסוגל לבצע תחזיות בתבואה הטובה ביותר, ולכן הוא מתאים לזיהוי תמונת מזון. FCN-8s שהשתמשנו היה מאומן מראש על PASCAL ויזואלית אובייקט Classs (PASCAL VOC) ערכת נתונים17 והוכשר ונבדק על תמונות של עותקים משוכפלים מזון (מעתה ואילך "מזון מזויף")18 בשל הדמיון החזותי שלהם למזון אמיתי בשל חוסר תמונות מבוארות של מזון אמיתי ברמה פיקסל. מזון מזויף משמש במחקרים התנהגותיים שונים ותמונות נלקחות עבור כל המנות מכל המשתתפים במחקר. מכיוון שתוכן המזון של תמונות אלה ידוע, הוא הופך את ערכת הנתונים של התמונה לשימושית עבור אימון מודל למידה עמוקה. שלבי עיבוד ערכת נתונים מתוארים בטקסט הפרוטוקול.
הפתרון מבוסס ResNet פותח בהיקף של אתגר זיהוי מזון (FRC)19. היא משתמשת בשיטת מדורג משימה היברידית (HTC)20 עם עמוד שדרה ResNet-10116. זוהי גישה עדכנית לבעיית פילוח התמונה שיכולה להשתמש בחילוץ תכונות או עמוד שדרה שונים. שקלנו רשתות עמוד שדרה אחרות, במיוחד גרסאות ResNet אחרות כגון ResNet-5016, אבל ResNet-101 היה המתאים ביותר בשל עומקו ויכולתו לייצג תמונות קלט בצורה מורכבת מספיק. ערכת הנתונים המשמשת להכשרת מודל HTC ResNet-101 הייתה ערכת הנתונים FRC עם תמונות מוגברות נוספות. הגדלות אלה מוצגות בטקסט הפרוטוקול.
מאמר זה מיועד כמשאב למומחי למידת מכונה המחפשים מידע שעליו ארכיטקטורות למידה עמוקה ושלבי הגדלת נתונים מתפקדים היטב לבעיות של זיהוי וסגמנטציה של תמונות מזון, כמו גם עבור חוקרי תזונה המעוניינים להשתמש בגישה שלנו כדי להפוך זיהוי תמונת מזון לאוטומטי לשימוש בהערכה תזונתית. בפסקאות שלהלן מוצגים פתרונות למידה עמוקה וערכות נתונים מתחום זיהוי תמונות המזון. בטקסט הפרוטוקול, אנו מפרטים כיצד כל אחת משלוש הגישות שימשה לאימון מודלים עמוקים של רשת עצבית שניתן להשתמש בהם להערכה תזונתית אוטומטית. בנוסף, כל מקטע פרוטוקול מכיל תיאור של האופן שבו ערכות הנתונים של תמונת המזון המשמשות להכשרה ולבדיקות נרכשו וטופלו.
DCNNs השיגו בדרך כלל תוצאות טובות יותר באופן משמעותי מאשר שיטות אחרות לזיהוי תמונת מזון ופילוח, ולכן הרוב המכריע של המחקרים האחרונים בתחום מבוססים על רשתות אלה. Kawano et al. השתמשו ב- DCNNs כדי להשלים גישות ידניות21 והשיגו דיוק סיווג של 72.26% על ערכת הנתונים UEC-FOOD10022. Christodoulidis ואח 'השתמשו בהם אך ורק כדי להשיג דיוק גבוה יותר של 84.90% על ערכת נתונים שנרכשה עצמית23. Tanno et al. פיתחה DeepFoodCam - אפליקציית סמארטפון לזיהוי תמונות מזון המשתמשת ב- DCNNs24. ליו ואח 'הציג מערכת המבצעת הערכה תזונתית מבוססת אינטרנט של דברים באמצעות DCNNs25. Martinel et al. הציגה גישה מבוססת DCNN המנצלת את הפרטים של תמונות מזון26 ודיווחה על דיוק של 90.27% על ערכת הנתונים Food-10127. Zhou et al. חיבר סקירה של פתרונות למידה עמוקה בתחום המזון28.
לאחרונה, Zhao et al. הציע רשת במיוחד עבור זיהוי תמונת מזון ביישומים ניידים29. גישה זו משתמשת ברשת 'תלמידים' קטנה יותר הלומדת מרשת 'מורה' גדולה יותר. עם זאת, הם הצליחו להשיג דיוק של 84% על UEC-FOOD25630 ודיוק של 91.2% על Food-101 dataset27. Hafiz et al. השתמשו ב- DCNNs כדי לפתח פתרון זיהוי תמונה למשקה בלבד ודיווחו על דיוק גבוה מאוד של 98.51%31. Shimoda et al. תיאר שיטה חדשנית לגילוי אזורי צלחת בתמונות מזון ללא שימוש בביאור מבחינתפיקסלים 32. Ciocca et al. הציגה ערכת נתונים חדשה המכילה פריטי מזון מ -20 מחלקות מזון שונות ב -11 מדינות שונות (הדבק מוצק, פרוס, קרמי וכו ') והציגה את גישתם למודלים לזיהוי הכשרה המסוגלים לזהות את מצב המזון, בנוסף למחלקת המזון33. Knez et al. העריכו פתרונות לזיהוי תמונות מזון עבור מכשירים ניידים34. לבסוף, Furtado et al. ערך מחקר על איך מערכת הראייה האנושית משווה את הביצועים של DCNNs ומצא כי זיהוי אנושי עדיין עולה על DCNNs עם דיוק של 80% לעומת 74.5%35. המחברים ציינו כי עם מספר קטן של כיתות מזון, DCNNs לבצע היטב, אבל על ערכת נתונים עם מאות שיעורים, דיוק זיהוי אנושי גבוה יותר35, הדגשת המורכבות של הבעיה.
למרות התוצאות החדישות שלה, ללמידה עמוקה יש חיסרון גדול - היא דורשת ערכת נתוני קלט גדולה כדי לאמן את המודל. במקרה של זיהוי תמונת מזון, נדרשת ערכת נתונים גדולה של תמונת מזון, וערכות נתונים זו צריכה להקיף כמה שיותר תרחישים שונים בעולם האמיתי. בפועל משמעות הדבר היא כי עבור כל פריט מזון או משקה בודדים, אוסף גדול של תמונות נדרש, ופריטים שונים רבים ככל האפשר צריך להיות נוכח ערכת הנתונים. אם אין די תמונות עבור פריט מסוים בקבוצת הנתונים, לא סביר שפריט זה יזוהה בהצלחה. מצד שני, אם רק מספר קטן של פריטים מכוסה על ידי ערכת הנתונים, הפתרון יהיה מוגבל בהיקפו, ורק מסוגל לזהות קומץ של מזונות ומשקאות שונים.
ערכות נתונים מרובות הפכו לזמינות בעבר. ערכת הנתונים של תמונת המזון המהיר של פיטסבורג (PFID) 3 הוצגה כדילעודד מחקר נוסף בתחום זיהוי תמונות המזון. אוניברסיטת אלקטרו תקשורת מזון 100 (UEC-FOOD100)22 ואוניברסיטת אלקטרו תקשורת מזון 256 (UEC-FOOD256)30 datasets מכילים מנות יפניות, מורחב עם כמה מנות בינלאומיות במקרה של ערכת הנתונים UEC-FOOD256. ערכת הנתונים Food-101 מכילה מנות פופולריות שנרכשו מאתר אינטרנט27. מזון-5036 ו וידאו אחזור הקבוצה מזון 172 (VireoFood-172)37 datasets הם אוספים מבוססי סינית של תמונות מזון. אוניברסיטת מילאנו-Bicocca 2016 (UNIMIB2016) dataset מורכב תמונות של מגשי מזון של קנטינה איטלקית38. Recipe1M הוא מערך נתונים בקנה מידה גדול של מתכוני בישול ותמונות מזון39. ערכת הנתונים Food-47540 אוספת ארבע ערכות נתונים של תמונות מזון שפורסמו בעבר27,30,36,37 לאחד. בייג'ינג טכנולוגיה ועסקים האוניברסיטה מזון 60 (BTBUFood-60) היא ערכת נתונים של תמונות המיועדות לגילוי מזון41. לאחרונה, ISIA מזון-500 dataset42 של תמונות מזון שונות נעשה זמין. בהשוואה לערכות נתונים אחרות של תמונות מזון הזמינות לציבור, הוא מכיל מספר רב של תמונות, המחולקות ל -500 מחלקות מזון, ונועד לקדם את הפיתוח של פתרונות זיהוי מזון מולטימדיה42.
1. זיהוי תמונת מזון עם NutriNet
2. פילוח תמונת מזון עם FCNs
3. פילוח תמונת מזון עם HTC ResNet
NutriNet נבדק מול שלוש ארכיטקטורות למידה עמוקה פופולריות של אותה תקופה: AlexNet14, GoogLeNet51 ו- ResNet16. כמו כן נבדקו פרמטרי אימון מרובים עבור כל הארכיטקטורות כדי להגדיר את הערכים האופטימליים2. בין אלה היא הבחירה של סוג פותר, אשר קובע כיצד פונקציית ההפסד ממוזער. פונקציה זו היא מדד האיכות העיקרי לאימון רשתות עצביות מכיוון שהיא מתאימה יותר לאופטימיזציה במהלך האימון מאשר לדיוק הסיווג. בדקנו שלושה פותרים: ירידה הדרגתית סטוכסית (SGD)52, שיפוע מואץ של נסטרוב (NAG)53 ואלגוריתם הדרגתי אדפטיבי (AdaGrad)54. הפרמטר השני הוא גודל אצווה, המגדיר את מספר התמונות המעובדות בו-זמנית. עומק ארכיטקטורת הלמידה העמוקה קבע את הערך של פרמטר זה, שכן ארכיטקטורות עמוקות יותר דורשות יותר מקום בזיכרון המעבד הגרפי - התוצאה של גישה זו הייתה שהזיכרון היה מלא לחלוטין בתמונות לכל הארכיטקטורות, ללא קשר לעומק. הפרמטר השלישי הוא קצב למידה, המגדיר את המהירות שבה הפרמטרים של הרשת העצבית משתנים במהלך האימון. פרמטר זה הוגדר יחד עם גודל האצווה, מכיוון שמספר התמונות המעובדות בו-זמנית מכתיב את קצב ההתכנסות. דגמי AlexNet הוכשרו באמצעות גודל אצווה של 256 תמונות וקצב למידה בסיסי של 0.02; NutriNet השתמש בגודל אצווה של 128 תמונות וקצב של 0.01; GoogLeNet 64 תמונות וקצב של 0.005; ותמונות ResNet 16 וקצב של 0.00125. שלושה פרמטרים נוספים תוקנו עבור כל הארכיטקטורות: מדיניות קצב למידה (צעד למטה), גודל צעד (30%) וגמא (0.1). פרמטרים אלה מתארים במשותף כיצד קצב הלמידה משתנה בכל תקופה. הרעיון מאחורי גישה זו הוא כי קצב הלמידה הוא להיות בהדרגה הוריד כדי לכוונן את המודל ככל שהוא מתקרב לערך ההפסד האופטימלי. לבסוף, מספר עידנים אימונים היה גם קבוע 150 עבור כל ארכיטקטורות למידה עמוקה2.
התוצאה הטובה ביותר מבין כל הפרמטרים שנבדקו על ידי NutriNet הייתה דיוק סיווג של 86.72% בערכת נתוני הזיהוי, שהייתה גבוהה בכ-2% מהתוצאה הטובה ביותר עבור AlexNet ומעט גבוהה יותר מהתוצאה הטובה ביותר של GoogLeNet. הארכיטקטורה בעלת הביצועים הטובים ביותר בסך הכל הייתה ResNet (בסביבות 1%), אולם זמן האימון עבור ResNet גבוה משמעותית בהשוואה ל- NutriNet (בפקטור של כחמישה), וזה חשוב אם הדגמים מאומנים מחדש ללא הרף כדי לשפר את הדיוק ואת מספר פריטי המזון המוכרים. NutriNet, AlexNet ו- GoogLeNet השיגו את התוצאות הטובות ביותר שלהם באמצעות פותר AdaGrad, ואילו הדגם הטוב ביותר של ResNet השתמש בפותר NAG. NutriNet נבדק גם על ערכת נתוני תמונת מזון UNIMIB2016 הזמינים לציבור38. ערכת נתונים זו מכילה 3,616 תמונות של 73 פריטי מזון שונים. NutriNet השיגה דיוק זיהוי של 86.39% בערכת נתונים זו, מעט יותר מתוצאת הזיהוי הבסיסי של מחברי ערכת הנתונים, שהייתה 85.80%. בנוסף, NutriNet נבדק על ערכת נתונים קטנה של 200 תמונות בעולם האמיתי של 115 פריטי מזון ומשקאות שונים, שם NutriNet השיג דיוק העליון 5 של 55%.
כדי לאמן את מודל פילוח תמונות המזון המזויף FCN-8s, השתמשנו באדם55 כסוג פותר, כפי שמצאנו כי הוא ביצע בצורה אופטימלית עבור משימה זו. קצב הלמידה הבסיסי נקבע נמוך מאוד - ל-0.0001. הסיבה למספר הנמוך היא העובדה שניתן לעבד רק תמונה אחת בכל פעם, שהיא תוצאה של תהליך הסיווג ברמת הפיקסל. דרישות הזיכרון של המעבד הגרפי עבור גישה זו גדולות משמעותית מסיווג ברמת התמונה. לפיכך היה קשה לקבוע את קצב הלמידה נמוך כך שהפרמטרים לא ישתנו מהר מדי ולהתכנס לערכים פחות אופטימליים. מספר עידני האימונים הוגדר ל-100, בעוד שמדיניות קצב הלמידה, גודל הצעדים וגמא הוגדרו כצעדים למטה, 34% ו-0.1, בהתאמה, שכן פרמטרים אלה יצרו את הדגמים המדויקים ביותר.
מדידות דיוק של מודל FCN-8s בוצעו באמצעות מדד דיוקהפיקסלים 15, אשר מקביל לדיוק הסיווג של רשתות למידה עמוקה מסורתיות, ההבדל העיקרי הוא שהדיוק מחושב ברמת הפיקסל במקום ברמת התמונה:
כאשר PA הוא מדד דיוק הפיקסלים, nij הוא מספר הפיקסלים ממחלקה שחזיתי להשתייך למחלקה j ו- t i = Σj nij הוא המספר הכולל של פיקסלים מהכיתה בתוויות האמתהקרקעית 1. במילים אחרות, מידת הדיוק של הפיקסלים מחושבת על-ידי חלוקת פיקסלים שחזו נכון במספר הפיקסלים הכולל. הדיוק הסופי של דגם FCN-8s המאומן היה 92.18%. איור 2 מציג שלוש תמונות לדוגמה מתוך ערכת הנתונים של תמונת המזון המזויף (אחת מכל אחת מערכות המשנה של הדרכה, אימות ובדיקה), יחד עם תוויות החיזוי המתאימות של האמת הקרקעית והמודל.
הפרמטרים לאמן את דגם HTC20 ResNet-101 עבור פילוח תמונת מזון הוגדרו כדלקמן: סוג פותר בשימוש היה SGD כי זה ביצועים טובים יותר סוגים אחרים של פותר. קצב הלמידה הבסיסי הוגדר כ- 0.00125 וגודל האצווה ל- 2 תמונות. מספר תקופות האימון נקבע על 40 לכל שלב אימון, ובוצעו שלבי אימון מרובים - תחילה בערכת הנתונים המקורית של FRC ללא תמונות מוגברות, ולאחר מכן בערכת הנתונים FRC בעלת 8x augmented ו- 4x augmented מספר פעמים באופן לסירוגין, בכל פעם לוקח את הדגם בעל הביצועים הטובים ביותר וכוונן אותו עדין בשלב האימון הבא. פרטים נוספים על שלבי האימון ניתן למצוא בסעיף 3.3 של טקסט הפרוטוקול. לבסוף, נעשה שימוש במדיניות הלמידה החורגת, עם עידנים קבועים שבהם שיעור הלמידה ירד (עידנים 28 ו -35 לשלב האימון הראשון). דבר חשוב לציין הוא כי בעוד רצף זה של שלבי אימון הפיק את התוצאות הטובות ביותר בבדיקות שלנו בהיקף של FRC, באמצעות ערכת נתונים אחרת עשוי לדרוש רצף שונה כדי לייצר תוצאות אופטימליות.
פתרון מבוסס ResNet זה עבור פילוח תמונת מזון הוערך באמצעות מדד הדיוק הבא19:
כאשר P הוא דיוק, TP הוא מספר התחזיות החיוביות האמיתיות על ידי מודל פילוח תמונת המזון, FP הוא מספר התחזיות החיוביות הכוזבות ו- IoU הוא Intersection over Union, המחושב עם משוואה זו:
כאשר אזור החפיפה מייצג את מספר התחזיות לפי המודל החופף לאמת הקרקעית, ו- Area of Union מייצג את המספר הכולל של תחזיות לפי המודל יחד עם אמת הקרקע, הן ברמת הפיקסל והן עבור כל מחלקת מזון בודדת. האחזור משמש כמדד משני ומחושב באופן דומה, באמצעות הנוסחההבאה 19:
כאשר R הוא אחזור ו- FN הוא מספר התחזיות השליליות הכוזבות על-ידי מודל פילוח תמונת המזון. מדדי הדיוק וההיזכרות הם ממוצעים בכל המעמדות באמת הקרקעית. באמצעות אמצעים אלה, המודל שלנו השיג דיוק ממוצע של 59.2% והחזרה ממוצעת של 82.1%, שדורגה במקום השני בסיבוב השני של אתגר זיהוי המזון19. תוצאה זו הייתה 4.2% מאחורי המקום הראשון ו-5.3% לפני המקום השלישי מבחינת מדד הדיוק הממוצע. טבלה 1 מכילה את התוצאות עבור 4 המשתתפים המובילים בתחרות.
איור 1: תרשים של ארכיטקטורת הרשת העצבית העמוקה של NutriNet. נתון זה פורסם ב-Mezgec ואח'2. לחץ כאן כדי להציג גירסה גדולה יותר של איור זה.
איור 2: תמונות מתוך ערכת הנתונים של תמונת המזון המזויף. תמונות מקוריות (משמאל), תוויות האמת הקרקעית (באמצע) עם תווית ידנית ותחזיות ממודל FCN-8s (מימין). נתון זה פורסם ב-Mezgec ואח'1. לחץ כאן כדי להציג גירסה גדולה יותר של איור זה.
שם צוות | מיקום | דיוק ממוצע | אחזור ממוצע |
rssfete | 1 | 63.4% | 88.6% |
simon_mezgec | 2 | 59.2% | 82.1% |
ארימבו | 3 | 53.9% | 73.5% |
סמוי | 4 | 48.7% | 71.1% |
טבלה 1: תוצאות טופ-4 מהסיבוב השני של אתגר זיהוי המזון. הדיוק הממוצע נלקח כמדד הביצועים הראשי והאחזור הממוצע כמדד משני. התוצאות נלקחות מלוח התוצאות הרשמי של התחרות19.
קבצים משלימים. אנא לחץ כאן כדי להוריד קובץ זה.
בשנים האחרונות, רשתות עצביות עמוקות אומתו מספר פעמים כפתרון מתאים לזיהוי תמונות מזון10,11,12,21,23,25,26,29,31,33. העבודה שלנו המוצגת במאמר זה משמשת כדי להוכיח עוד יותר את זה1,2. הגישה לזיהוי תמונת מזון חד-פלט היא פשוטה וניתן להשתמש בה עבור יישומים פשוטים שבהם תמונות עם פריט מזון או משקה אחד בלבד צפויות2.
גישת פילוח תמונת המזון נראית מתאימה במיוחד לזיהוי תמונות מזון באופן כללי, ללא כל הגבלה על מספר פריטי המזון1. מכיוון שהוא פועל על ידי סיווג כל פיקסל בודד של התמונה, הוא מסוגל לא רק לזהות כל מספר של פריטי מזון בתמונה, אלא גם לציין היכן ממוקם פריט מזון, כמו גם כמה גדול הוא. לאחר מכן ניתן להשתמש באפשרות זו כדי לבצע הערכת משקל מזון, במיוחד אם נעשה שימוש עם אובייקט ייחוס או מצלמה למרחקים קבועים.
נעשתה עבודה מסוימת לגבי הזמינות של datasets תמונת מזון3,22,27,30,36,37,38,39,40,41,42, ואנחנו מקווים יותר ייעשה בעתיד, במיוחד כשמדובר צבירת ערכות נתונים תמונת מזון מאזורים שונים ברחבי העולם, אשר יאפשר פתרונות חזקים יותר להתפתח. נכון לעכשיו, הדיוק של פתרונות זיהוי תמונה מזון אוטומטי עדיין לא הגיע דיוק ברמה האנושית35, וזה כנראה במידה רבה בשל השימוש datasets תמונת מזון של גודל ואיכות לא מספיק.
בעתיד, המטרה שלנו תהיה להעריך עוד יותר את ההליכים המפותחים על תמונות מהעולם האמיתי. באופן כללי, ערכות נתונים בשדה זה מכילות לעתים קרובות תמונות שצולמו בסביבות מבוקרות או בתמונות ממוטבות לזיהוי באופן ידני. לכן חשוב לאסוף ערכת נתונים גדולה ומגוונת של תמונות מזון בעולם האמיתי כדי להקיף את כל פריטי המזון והמשקאות השונים שאנשים עשויים לרצות לזהות. הצעד הראשון לקראת זה סופק על ידי אתגר זיהוי מזון, שכלל ערכת נתונים של תמונות מזון בעולם האמיתי19, אבל עבודה נוספת צריכה להיעשות כדי לאמת גישה זו על תמונות מזון מכל רחבי העולם בשיתוף עם דיאטנים.
למחברים אין מה לחשוף.
המחברים רוצים להודות לתמרה בוכר מאוניברסיטת ניוקאסל, אוסטרליה, על שסיפקה את ערכת הנתונים של תמונות המזון המזויפות. עבודה זו נתמכה על ידי תוכניות המחקר והחדשנות Horizon 2020 של האיחוד האירופי (מספרי מענק 863059 - FNS-Cloud, 769661 - SAAM); וסוכנות המחקר הסלובנית (מענק מספר P2-0098). לאיחוד האירופי ולסוכנות המחקר הסלובנית לא היה תפקיד בעיצוב, בניתוח או בכתיבה של מאמר זה.
Name | Company | Catalog Number | Comments |
HARDWARE | |||
NVIDIA GPU | NVIDIA | N/A | An NVIDIA GPU is needed as some of the software frameworks below will not work otherwise. https://www.nvidia.com |
SOFTWARE | |||
Caffe | Berkeley AI Research | N/A | Caffe is a deep learning framework. https://caffe.berkeleyvision.org |
CLoDSA | Jónathan Heras | N/A | CLoDSA is a Python image augmentation library. https://github.com/joheras/CLoDSA |
Google API Client | N/A | Google API Client is a Python client library for Google's discovery-based APIs. https://github.com/googleapis/google-api-python-client | |
JavaScript Segment Annotator | Kota Yamaguchi | N/A | JavaScript Segment Annotator is a JavaScript image annotation tool. https://github.com/kyamagu/js-segment-annotator |
MMDetection | Multimedia Laboratory, CUHK | N/A | MMDetection is an object detection toolbox based on PyTorch. https://github.com/open-mmlab/mmdetection |
NVIDIA DIGITS | NVIDIA | N/A | NVIDIA DIGITS is a wrapper for Caffe that provides a graphical web interface. https://developer.nvidia.com/digits |
OpenCV | Intel | N/A | OpenCV is a library for computer vision. https://opencv.org |
Python | Python Software Foundation | N/A | Python is a programming language. https://www.python.org |
PyTorch | Facebook AI Research | N/A | PyTorch is a machine learning framework. https://pytorch.org |
Ubuntu OS | Canonical | N/A | Ubuntu 14.04 is the OS used by the authors and offers compatibility with all of the software frameworks and tools above. https://ubuntu.com |
Request permission to reuse the text or figures of this JoVE article
Request PermissionThis article has been published
Video Coming Soon
Copyright © 2025 MyJoVE Corporation. All rights reserved