איך AI מעריך את גודל המנות מתמונות: חקר טכני מעמיק
מבט מעמיק על איך AI משתמש בהערכת עומק, אובייקטים ייחודיים ודוגמנות נפח כדי להעריך את גודל המנות מתמונה אחת.
זיהוי מה יש על הצלחת שלך הוא רק חצי מהאתגר של מעקב קלורי בעזרת AI. החצי השני, ואולי הקשה יותר, הוא להבין כמה מזון יש שם. מנה של פסטה יכולה להיות 200 קלוריות או 800 קלוריות, תלוי בגודל המנה. קבלת הערכה מדויקת היא מה שמפריד בין כלי מעקב תזונתי מועיל לבין גימיק.
מאמר זה עוסק בהיבטים הטכניים של איך מערכות AI מעריכות את גודל המנות מתמונות, כולל הערכת עומק, הסקת גודל מבוססת אובייקטים, דוגמנות נפח ואתגרים מתמשכים שהחוקרים והמהנדסים מתמודדים איתם כדי לשפר את הדיוק של ההערכות הללו.
למה הערכת גודל מנות קשה יותר מזיהוי מזון
זיהוי מזון הוא בעיה של סיווג. המערכת צריכה לבחור מתוך קבוצת קטגוריות מזון סופית. לעומת זאת, הערכת גודל מנות היא בעיה של רגרסיה. המערכת צריכה לחזות ערך רציף (גרמים או מיליליטרים) רק מהמידע הוויזואלי.
מספר גורמים מקשים על כך:
- הבעיה של 2D ל-3D: צילום מפשט את המציאות התלת-ממדית לתמונה דו-ממדית. מידע על עומק אובד, מה שמקשה על הבחנה בין שכבת מזון דקה לערימה עבה.
- צפיפות משתנה: כוס של ירקות עליים וכוס של גרנולה יש להם אותו נפח אך משקלים ותכולת קלוריות שונים לחלוטין. המערכת צריכה להעריך גם את הנפח וגם את הצפיפות.
- עיוות פרספקטיבה: הזווית שבה התמונה צולמה משפיעה על גודל המראה של פריטי המזון. צלחת שצולמה מלמעלה נראית שונה מאותה צלחת שצולמה בזווית של 45 מעלות.
- הסקלה מעורפלת: ללא אובייקט ייחודי ידוע בפריים, אין דרך לקבוע גודל מוחלט. תקריב של עוגיה קטנה יכול להיראות זהה לתמונה של פיצה גדולה שצולמה מרחוק.
הערכת עומק מתמונה אחת
אחת הפריצות המפתח שמאפשרות הערכת גודל מנות מתמונות היא הערכת עומק מונוקולרית, היכולת להסיק מידע על עומק מתמונה אחת מבלי להזדקק למצלמות סטריאו או חומרה מיוחדת.
איך עובדת הערכת עומק מונוקולרית
המערכת הוויזואלית האנושית מסיקה עומק ממגוון רמזים: חפצים חופפים (חפצים קרובים מסתירים חפצים רחוקים), גודל יחסי (חפצים קטנים בדרך כלל רחוקים יותר), גרדיאנטים של טקסטורה (טקסטורות מתעדנות במרחקים גדולים יותר) ופרספקטיבה אטמוספרית (חפצים רחוקים נראים מעורפלים יותר).
מודלים של למידת עומק יכולים ללמוד את אותם רמזים מקבוצות נתונים גדולות של תמונות בשילוב עם מפות עומק. כאשר הם מיועדים לצילומי מזון, מודלים אלה יכולים להעריך אילו חלקים של פריט מזון קרובים יותר למצלמה ואילו רחוקים יותר, ובכך לשחזר את הצורה התלת-ממדית של המזון מתמונה שטוחה.
מפות עומק ונפח מזון
מפת עומק מקצה ערך מרחק לכל פיקסל בתמונה. עבור הערכת מזון, זה אומר שהמערכת יכולה לקבוע כי מרכז קערת מרק נמצא בעומק אחד בעוד שהקצה של הקערה בעומק אחר. ההבדל בין העומקים הללו, בשילוב עם הגבולות המוכרים של המזון, מאפשר למערכת להעריך את הנפח.
מצלמות סמארטפון מודרניות עם חיישני LiDAR (זמינים בדגמי iPhone Pro ו-iPad Pro האחרונים) יכולות לתפוס נתוני עומק אמיתיים לצד התמונה הצבעונית, מה שמספק מידע על עומק הרבה יותר מדויק מאשר הערכה אלגוריתמית בלבד. אפליקציות למעקב מזון יכולות לנצל את החומרה הזו כאשר היא זמינה, תוך חזרה להערכת עומק מונוקולרית במכשירים ללא חיישני עומק.
הסקת גודל מבוססת אובייקטים
ללא נקודת ייחוס ידועה, הגודל המוחלט של אובייקטים בתמונה הוא מעורפל. הסקת גודל מבוססת אובייקטים פותרת בעיה זו על ידי שימוש באובייקטים עם ממדים ידועים כדי לקבוע סקלה לגודל הכללי של התמונה.
אובייקטים ייחודיים נפוצים
| אובייקט ייחודי | ממד ידוע | יתרון דיוק |
|---|---|---|
| צלחת ערב סטנדרטית | 25-27 ס"מ קוטר | קובעת סקלה כללית לארוחה |
| מזלג או כף | ~19 ס"מ אורך | מספקת סקלה גם בצילומים קרובים |
| כרטיס אשראי | 8.56 x 5.4 ס"מ | מדויק ומוסדר באופן אוניברסלי |
| סמארטפון | משתנה לפי דגם אך ידוע | ניתן לזהות ולמדוד אלגוריתמית |
| יד | משתנה אך ניתן להעריך לפי דמוגרפיה | סקלה משויכת כאשר אין ייחוד אחר זמין |
זיהוי אובייקטים ייחודיים אוטומטית
במקום לדרוש מהמשתמשים לשים כרטיס ייחודי ליד המזון (מה שמוסיף חיכוך ומונע שימוש), מערכות מודרניות מנסות לזהות אובייקטים ייחודיים נפוצים באופן אוטומטי. צלחות, קערות, כלי אוכל ושולחנות מופיעים לעיתים קרובות בצילומי מזון ויכולים לשמש כנקודות ייחוס אם המערכת יכולה לזהות אותם.
מערכת הערכת המנות של Nutrola מחפשת אוטומטית צלחות, קערות וכלי אוכל בפריים כדי לקבוע סקלה. כאשר אובייקטים אלה מזוהים, המערכת משתמשת בממדי הממוצע שלהם כדי לכייל את גודל פריטי המזון. כאשר לא נמצא אובייקט ייחודי, המערכת מסתמכת על ידע קודם שנלמד לגבי מנות טיפוסיות ועשויה לבקש מהמשתמש לאשר.
כיילת מבוססת צלחת
שיטה אחת במיוחד היא כיילת מבוססת צלחת. צלחות ערב סטנדרטיות ברוב המדינות נופלות בטווח גודל צר (25 עד 27 ס"מ קוטר). על ידי זיהוי המתאר האליפטי של צלחת בתמונה והנחה על גודל סטנדרטי, המערכת יכולה לקבוע סקלה אמינה לכל מה שנמצא על הצלחת.
שיטה זו פועלת היטב מכיוון שצלחות כמעט תמיד נוכחות בצילומי ארוחות, הצורה האליפטית שלהן קלה לזיהוי ללא קשר לזווית המצלמה, ועיוות הפרספקטיבה של האליפסה למעשה מקודד מידע על זווית המצלמה, מה שעוזר לתקן את ההשפעות של הפרספקטיבה על המזון.
טכניקות להערכת נפח
לאחר שהמערכת זיהתה את המזון, העריכה את העומק וקבעה סקלה, היא צריכה לשלב את המידע הזה כדי להעריך את הנפח של כל פריט מזון.
פרימיטיבים גיאומטריים
שיטה אחת היא לאפיין פריטי מזון כקומבינציות של צורות גיאומטריות פשוטות:
- צילינדרים עבור מזונות גבוהים כמו משקאות, פנקייקים מקולפים או עוגות שכבות
- חצאים כדוריים עבור מזונות מעוגלים כמו כפות אורז, ערימות של פירה או מנות גלידה
- פריזמות מלבניות עבור לחם פרוס, קוביות גבינה או חטיפים
- קונוסים מקוצרים עבור קערות מרק או דגני בוקר (צורת הקערה עוזרת להגדיר את הנפח)
- פוליהדרים לא סדירים עבור מזונות עם צורות מורכבות כמו רגלי עוף או פירות שלמים
המערכת מתאימה אחת או יותר מהצורות הללו לאזור המזון המוכר ומחשבת את הנפח מהצורות המתאימות ומהסקלה שנקבעה.
שחזור מבוסס ווקסלים
שיטה מתקדמת יותר כוללת שחזור מבוסס ווקסלים, שבו פריט המזון מודגם כרשת תלת-ממדית של קוביות קטנות (ווקסלים). כל ווקסל מסווג ככזה שמכיל מזון או ריק בהתבסס על מפת העומק ומסכת הסגמנטציה. הנפח הכולל הוא סכום כל הווקסלים שמכילים מזון.
שיטה זו מתמודדת טוב יותר עם צורות לא סדירות מאשר פרימיטיבים גיאומטריים, אך דורשת יותר משאבים חישוביים. היא שימושית במיוחד עבור מזונות שאינם תואמים לצורות פשוטות, כמו פיסת לחם קרועה או פרי פרוס בצורה לא סדירה.
הערכת נפח באמצעות רשתות עצביות
השיטה החדשה ביותר מדלגת על מודל גיאומטרי מפורש לחלוטין. במקום זאת, רשת עצבית מאומנת מקצה לקצה לחזות את נפח המזון ישירות מהתמונה. מודלים אלה לומדים ייצוגים סמויים של גיאומטריית המזון מקבוצות נתונים גדולות של תמונות מזון בשילוב עם מדידות משקל אמיתיות.
שיטה זו הראתה תוצאות מבטיחות מכיוון שהיא יכולה לקלוט רמזים ויזואליים עדינים שמקושרים לנפח, כמו האופן שבו האור משתקף על פני השטח של נוזל או דפוס הצל שנוצר על ידי ערימת מזון. היא גם נמנעת מהצטברות שגיאות שעשויה להתרחש כאשר הערכת עומק, סגמנטציה והתאמה גיאומטרית מתבצעות כשלבים נפרדים.
מנפח למשקל לקלוריות
הערכת נפח אינה הצעד הסופי. כדי לחשב קלוריות, המערכת צריכה להמיר נפח למשקל (באמצעות צפיפות המזון) ומשקל לקלוריות (באמצעות נתוני הרכב תזונתי).
מאגרי נתוני צפיפות מזון
מזונות שונים יש להם צפיפויות שונות מאוד. כוס של שמן שוקלת כ-220 גרם, בעוד שכוס של קמח שוקלת כ-120 גרם, וכוס של פופקורן שוקלת כ-8 גרם. נתוני צפיפות מדויקים הם חיוניים להמרת הערכות נפח להערכות משקל.
מערכות ייצור שומרות על מאגרי נתונים שמקשרים פריטי מזון לצפיפויות שלהם, תוך התחשבות בשינויים בשיטת ההכנה (מבושל מול נא, קצוץ מול שלם) וסגנונות הגשה נפוצים.
| פריט מזון | צפיפות (ג'/מ"ל) | משקל 1 כוס (ג') | קלוריות לכל כוס |
|---|---|---|---|
| מים | 1.00 | 237 | 0 |
| חלב שלם | 1.03 | 244 | 149 |
| אורז לבן מבושל | 0.74 | 175 | 205 |
| תרד נא | 0.13 | 30 | 7 |
| חמאת בוטנים | 1.09 | 258 | 1517 |
| שמן זית | 0.92 | 218 | 1909 |
הרכב תזונתי
לאחר שהמערכת קיבלה הערכת משקל בגרמים, היא מחפשת את הרכב התזונה לכל גרם ממאגר נתונים מקיף של מזון. מאגרי נתונים אלה נגזרים בדרך כלל ממקורות מוסמכים כמו USDA FoodData Central, ומוספים עם נתונים מיצרני מזון ומאגרי נתונים תזונתיים אזוריים.
מאגר הנתונים של Nutrola מכסה יותר מ-1.3 מיליון מזונות, כולל מוצרים ממותגים, פריטי תפריט במסעדות ומזונות כלליים עם פרופילים תזונתיים מלאים של מקרו ומיקרו. כיסוי מקיף זה מבטיח שכאשר מזון ומנה מזוהים, החישוב התזונתי יהיה מדויק.
אתגרים בדיוק ואיך מתמודדים איתם
למרות המורכבות של הטכניקות הללו, הערכת גודל מנות מתמונות נשארת מדע לא מושלם. הבנת מקורות השגיאה עוזרת לקבוע ציפיות ריאליות ומדגישה את השיפורים המתמשכים בתחום.
מקורות שגיאה ידועים
שינוי זווית המצלמה: אותה מנה נראית שונה בהתאם אם התמונה צולמה מלמעלה, בזווית של 45 מעלות או מגובה שולחן. צילומים מלמעלה בדרך כלל מספקים את ההערכות המדויקות ביותר מכיוון שהם ממזערים את עיוות הפרספקטיבה, אך רבים מהמשתמשים מחזיקים את הטלפון בזווית.
מזון מוסתר: מזון שמוסתר מתחת לרטבים, גבינה או תוספות אחרות אינו ניתן למדידה ישירה ויזואלית. המערכת צריכה להסיק על המנה המוסתרת בהתבסס על סוג המנה הנראית וההכנה הטיפוסית.
מיכלים לא סדירים: קערות, כוסות ומיכלים לא סטנדרטיים מקשים על הסקת גודל מבוססת צלחת. מנה קטנה בקערה גדולה נראית שונה ממנה גדולה בקערה קטנה, גם אם שטח המזון נראה דומה.
הבדלים בהכנה אישית: שני אנשים שמכינים "קערת שיבולת שועל" עשויים להשתמש בכמויות שונות מאוד של שיבולת שועל ומים, מה שמוביל לאותו נפח נראה אך לתכולת קלוריות שונה.
אסטרטגיות לשיפור הדיוק
צילום מכמה זוויות: חלק מהמערכות מבקשות מהמשתמשים לצלם תמונות מכמה זוויות, מה שמאפשר שחזור סטריאו והערכת נפח מדויקת יותר. זה משפר את הדיוק באופן משמעותי אך מוסיף חיכוך לתהליך ההזנה.
מעגלי משוב מהמשתמש: כאשר משתמשים שוקלים את המזון ומאשרים או מתקנים את ההערכה, זה יוצר נתוני אימון שמשפרים את המודל עם הזמן. Nutrola מעודדת משתמשים לאמת מדי פעם את המנות עם משקל מטבח כדי לכייל גם את ה-AI וגם את המודעות שלהם למנות.
ידע קונטקסטואלי: המערכת יכולה להשתמש במידע קונטקסטואלי כדי לחדד הערכות. אם משתמש נמצא ברשת מסעדות מסוימת, המערכת יכולה להשתמש בגודלי מנות ידועים. אם משתמש רגיל רושם ארוחת בוקר מסוימת, המערכת יכולה ללמוד את המנה הטיפוסית שלו.
הערכות מודעות לביטחון: במקום להציג מספר בודד, מערכות מתקדמות מספקות טווח ביטחון. אם המערכת אינה בטוחה לגבי המנה, היא יכולה להציג את ההערכה כטווח (למשל, 300 עד 450 קלוריות) ולבקש מהמשתמש לספק מידע נוסף.
מדדי דיוק נוכחיים
מחקר מהכנס הבינלאומי לניתוח תמונות ועיבוד הראה שמערכות הערכת נפח מזון מהשורה הראשונה משיגות שגיאות ממוצעות של אחוזים בין 15 ל-25. לצורך הקשר, מחקרים הראו כי דיאטנים מאומנים המעריכים מנות מתמונות משיגים שגיאות של כ-10 עד 15 אחוז, בעוד שאנשים לא מאומנים ממוצעים משיגים שגיאות של 30 עד 50 אחוז.
זה אומר שהערכת גודל מנות על ידי AI כבר הרבה יותר טובה ממה שרוב האנשים יכולים לעשות ללא עזרה, והיא מתקרבת לדיוק של מקצוענים מאומנים. בשילוב עם יתרון המהירות והנוחות, זה הופך את המעקב בעזרת AI לשיפור משמעותי על פני רישום ידני עבור רוב המשתמשים.
תפקיד הכיול של המשתמש
אספקט אחד שלא מקבל מספיק תשומת לב בהערכת גודל מנות על ידי AI הוא תפקיד הכיול של המשתמש לאורך זמן. ככל שמשתמש רושם ארוחות ומספק תיקונים מדי פעם, המערכת בונה פרופיל של גדלי המנות והעדפות המזון הטיפוסיות שלו.
עבור משתמשים קבועים, זה אומר שהמערכת הופכת בהדרגה ליותר מדויקת. אם אתה נוטה להגיש לעצמך מנות גדולות יותר של אורז מהרגיל, המערכת לומדת להתאים את ההערכות כלפי מעלה. אם אתה בדרך כלל משתמש בפחות שמן מהמתכון הסטנדרטי, המערכת יכולה לקחת זאת בחשבון.
Nutrola מנצלת את ההתאמה האישית הזו כדי לספק הערכות מנות מותאמות יותר ככל שאתה משתמש באפליקציה יותר זמן. משתמשים חדשים נהנים מממוצעים ברמת האוכלוסייה, בעוד שמשתמשים מנוסים מקבלים הערכות מותאמות אישית המכוילות להרגלים הספציפיים שלהם.
טיפים מעשיים להערכות מדויקות יותר של מנות
בעוד ש-AI מטפל ברוב העבודה הקשה, משתמשים יכולים לשפר את הדיוק על ידי ביצוע כמה הנחיות פשוטות:
- צלם מלמעלה כשאפשר. צילומים מלמעלה מספקים את המידע הרב ביותר על שטח פני המזון וממזערים את עיוות הפרספקטיבה.
- כלול את כל הצלחת בפריים. קצה הצלחת משמש כנקודת ייחוס קריטית להסקלה.
- הימנע מתקריבים קיצוניים. המערכת זקוקה להקשר כדי לשפוט גודל. תמונה שמראה רק את המזון ללא אובייקטים סביב מציעה שום ייחוס.
- צלם לפני ערבוב. סלט עם מרכיבים נראים בנפרד קל יותר לניתוח מאשר אחד שמעורבב יחד.
- השתמש בתאורה טובה. צללים ואור נמוך יכולים להסתיר גבולות המזון ורמזי עומק.
- אשר או תקן מדי פעם. שימוש במשקל מטבח פעם בשבוע כדי לאמת את ההערכה של ה-AI עוזר לכייל גם את המערכת וגם את האינטואיציה שלך.
שאלות נפוצות
עד כמה מדויקת הערכת גודל המנות של AI בהשוואה לשימוש במשקל מזון?
משקל מזון מספק דיוק של 1 עד 2 גרם, שזה הרבה יותר מדויק מכל שיטת הערכה ויזואלית. הערכת גודל המנות על ידי AI מתמונות משיגה בדרך כלל דיוק של 15 עד 25 אחוז מהמשקל האמיתי. עם זאת, יתרון הנוחות של הערכת AI (שנמשכת 2 שניות לעומת 30 שניות או יותר עם משקל) גורם לכך שיותר אנשים עוקבים באופן עקבי, מה שלעיתים קרובות חשוב יותר לתוצאות ארוכות טווח מאשר דיוק מושלם.
האם זווית המצלמה משפיעה על דיוק הערכת הגודל?
כן, באופן משמעותי. צילומים מלמעלה (מסתכלים ישירות על הצלחת) מספקים את הדיוק הטוב ביותר מכיוון שהם מראים את כל שטח פני המזון עם מינימום עיוות פרספקטיבי. צילומים בזווית של 45 מעלות הם הנפוצים ביותר ועדיין מספקים הערכות טובות. זוויות מאוד נמוכות (קרוב לגובה השולחן) הן הפחות מדויקות מכיוון שרוב המזון מוסתר על ידי הקצה הקדמי של הצלחת.
האם AI יכול להעריך מנות נוזליות כמו מרקים ושייקים?
נוזלים מציבים אתגר ייחודי מכיוון שהנפח שלהם נקבע על ידי המיכל ולא על ידי הצורה שלהם. מערכות AI מעריכות מנות נוזליות על ידי זיהוי סוג המיכל ורמת המילוי. קערת מרק מלאה עד שפתה יש לה נפח שונה מאחת שמלאה בחצי. הדיוק בדרך כלל טוב כאשר המיכל הוא בצורה סטנדרטית, אך פחות אמין עם מיכלים לא רגילים.
למה AI לפעמים מעריך את המנה שלי יותר מדי או פחות מדי?
סיבות נפוצות להערכה יתרה כוללות מנות צפופות שנראות גדולות יותר ממה שהן, תוספות שמוסיפות נפח ויזואלי מבלי להוסיף קלוריות משמעותיות, ושימוש בצלחות גדולות שגורמות למערכת להניח שיש יותר מזון. סיבות נפוצות להערכה חסרה כוללות מזון שמוסתר מתחת למזון אחר, מזונות עשירים בקלוריות שנראים קטנים, וסגנונות הגשה לא רגילים. מתן משוב כאשר ההערכות לא מדויקות עוזר למערכת להשתפר.
האם אני צריך טלפון עם חיישן LiDAR כדי לעקוב אחרי מנות בצורה מדויקת?
לא. בעוד שמכשירים עם LiDAR יכולים לספק מידע על עומק מדויק יותר, מודלים AI מודרניים יכולים להעריך עומק די טוב מתמונה רגילה. ההבדל בדיוק בין טלפונים עם LiDAR לטלפונים רגילים הצטמצם ככל שהערכות עומק מבוססות תוכנה השתפרו. Nutrola פועלת בצורה מדויקת על כל סמארטפון מודרני.
איך המערכת מתמודדת עם מזונות שמסודרים או שכבתיים?
עבור מזונות מסודרים באופן ברור כמו פנקייקים או סנדוויצ'ים שכבתיים, המערכת יכולה לספור שכבות ולהעריך עובי מהפרופיל הצדדי. עבור מזונות עם שכבות מוסתרות כמו לזניה או בוריטו, המערכת מסתמכת על מודלים של הרכב נלמד שמעריכים את המבנה הפנימי הטיפוסי בהתבסס על החיצוני הנראה וסוג המנה.
מוכנים לשנות את מעקב התזונה שלכם?
הצטרפו לאלפים ששינו את מסע הבריאות שלהם עם Nutrola!