איך ראיית מחשב מזהה מזון: הטכנולוגיה מאחורי מעקב קלוריות בעזרת AI

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

Medically reviewed by Dr. Emily Torres, Registered Dietitian Nutritionist (RDN)

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

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

מה זו ראיית מחשב ולמה זה חשוב לתזונה?

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

במעקב תזונתי, ראיית מחשב פותרת את הכאב הגדול ביותר במעקב עצמי אחר תזונה: בעיית הזנת הנתונים הידנית. מחקר שפורסם ב-Journal of the Academy of Nutrition and Dietetics הראה כי רישום מזון ידני מוביל לדיווח חסר של צריכת קלוריות ב-10 עד 45 אחוז. על ידי החלפת תיאורים כתובים בתמונה, ראיית מחשב מסירה את החיכוך שגורם לרוב האנשים ל abandon את מעקב המזון בתוך שבועיים הראשונים.

היקף הבעיה

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

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

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

רשתות עצביות קונבולוציוניות: היסוד של זיהוי המזון

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

כיצד CNN מעבדת תמונה

CNN מעבדת תמונה דרך סדרת שכבות, שכל אחת מהן מיועדת לזהות תכונות ויזואליות מורכבות יותר:

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

שכבה 2 - זיהוי מרקם: שכבות עמוקות יותר משלבות קצוות למרקמים. הרשת מתחילה להבחין בין המרקם הגרגירי של אורז חום למרקם החלק של אורז לבן, או בין המרקם הסיבי של עוף בגריל למרקם המבריק של עוף מטוגן.

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

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

תפקיד הפולינג ומפות התכונה

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

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

ארכיטקטורות CNN פופולריות בשימוש בזיהוי מזון

ארכיטקטורה שנה חידוש מרכזי שימוש טיפוסי ב-AI מזון
AlexNet 2012 הוכיח כי CNNs עמוקות פועלות בקנה מידה מחקרי זיהוי מזון מוקדמים
VGGNet 2014 הראה שעמק חשוב הוצאת תכונות עבור מערכי נתונים של מזון
GoogLeNet/Inception 2014 עיבוד בריבוי קנה מידה זיהוי מזון נייד יעיל
ResNet 2015 חיבורים שאריים עבור רשתות עמוקות מאוד סיווג מזון מדויק גבוה
EfficientNet 2019 איזון בין עומק, רוחב ורזולוציה אפליקציות מזון ניידות מודרניות
Vision Transformers 2020 תשומת לב עצמית עבור פיסות תמונה מחקרי זיהוי מזון מהשורה הראשונה

מסיווג לזיהוי מרובה תוויות

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

זיהוי אובייקטים עבור צלחות מורכבות

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

ארכיטקטורות כמו YOLO (You Only Look Once) ו-Faster R-CNN הותאמו לזיהוי מזון. מודלים אלה מחלקים את התמונה לרשת ומנבאים גם את המיקום וגם את סוג פריטי המזון בו זמנית, מה שמאפשר עיבוד בזמן אמת על מכשירים ניידים.

סגמנטציה סמנטית עבור גבולות מדויקים

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

תכונת Snap & Track של Nutrola משתמשת בשילוב של גישות אלו. כאשר אתה מצלם את הארוחה שלך, המערכת קודם כל מזהה אזורי מזון נפרדים, לאחר מכן מסווגת כל אחד מהם ולבסוף מעריכה את הכמות של כל פריט נוכח. צינור העבודה הרב-שלבי הזה מאפשר למערכת להתמודד עם הכל, החל מבננה פשוטה ועד לארוחה מורכבת עם מספר מנות.

נתוני אימון: הדלק מאחורי זיהוי המזון המדויק

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

מערכי נתונים ציבוריים

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

  • Food-101: מכיל 101,000 תמונות ב-101 קטגוריות מזון, בשימוש נרחב כמדד
  • ISIA Food-500: מכסה 500 קטגוריות מזון עם 400,000 תמונות, מציע כיסוי רחב יותר
  • UEC Food-256: מערך נתונים של מזון יפני עם 256 קטגוריות, חשוב לכיסוי מטבח אסייתי
  • Nutrition5k: משלב תמונות מזון עם מדידות תזונתיות מדויקות מסטינג מעבדה

אתגר המגוון בעולם האמיתי

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

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

טכניקות הגדלת נתונים

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

  • סיבוב והפיכה: מבטיח שהמודל מזהה מזון מכל זווית
  • שינוי צבע: מדמה תנאי תאורה שונים
  • חיתוך אקראי: מלמד את המודל לזהות תצוגות חלקיות של מזון
  • Cutout ו-mixup: טכניקות מתקדמות שמכריחות את המודל להתמקד באזורים דיסקרטיים מרובים במקום להסתמך על רמז ויזואלי בודד

כיצד פועלת טכנולוגיית Snap & Track של Nutrola

תכונת Snap & Track של Nutrola מאחדת את כל הטכנולוגיות הללו לחוויית משתמש חלקה. הנה מה קורה בשתי השניות בערך בין צילום תמונה לבין קבלת פירוט הקלוריות שלך:

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

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

  3. סיווג: כל אזור מזוהה מועבר דרך רשת סיווג המזהה את פריט המזון הספציפי. המערכת מתחשבת במועמדים המובילים ובציון הביטחון שלהם.

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

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

  6. אימות משתמש: התוצאות מוצגות למשתמש, שיכול לאשר או לתקן את הזיהויים. לולאת המשוב הזו משפרת continuamente את המודל.

כל הצינור הזה פועל בפחות משתי שניות, מה שהופך אותו למהיר יותר מהקלדת "חזה עוף בגריל" בשורת החיפוש וגלילה דרך עשרות תוצאות.

אתגרים בזיהוי מזון בעזרת AI

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

מזונות דומים ויזואלית

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

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

מנות מעורבות ושכבות

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

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

תאורה ותנאים סביבתיים

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

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

העתיד של טכנולוגיית זיהוי המזון

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

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

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

מודלים רב-מודאליים: שילוב זיהוי ויזואלי עם טקסט (תפריטים, רשימות מרכיבים) ואפילו אודיו (שואלים את המשתמש "האם הוספת רוטב?") להבנה מלאה יותר של הארוחה.

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

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

מדוע הדיוק ממשיך להשתפר

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

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

שאלות נפוצות

עד כמה מדויק זיהוי המזון בעזרת AI בהשוואה לרישום ידני?

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

האם זיהוי המזון בעזרת AI יכול לעבוד עם מטבחים מכל רחבי העולם?

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

האם זיהוי המזון בעזרת AI עובד ללא חיבור לאינטרנט?

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

כיצד ה-AI מתמודד עם מנות ביתיות שאינן תואמות מנות במסעדות?

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

האם נתוני התמונות שלי נשמרים פרטיים?

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

מה קורה כאשר ה-AI מזהה מזון באופן שגוי?

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

מוכנים לשנות את מעקב התזונה שלכם?

הצטרפו לאלפים ששינו את מסע הבריאות שלהם עם Nutrola!