Як ШІ Оцінює Розміри Порцій за Допомогою Фотографій: Технічний Глибокий Аналіз
Детальний огляд того, як ШІ використовує оцінку глибини, об'єкти-референси та моделювання об'єму для оцінки розміру порцій їжі з однієї фотографії.
Визначення того, що саме на вашій тарілці, — це лише половина виклику для ШІ в трекінгу калорій. Інша половина, і, можливо, більш складна, полягає в тому, щоб з'ясувати, скільки їжі там насправді. Порція пасти може містити 200 калорій або 800 калорій в залежності від розміру. Правильна оцінка цього показника відрізняє корисний інструмент для трекінгу харчування від простого нововведення.
У цій статті ми глибоко зануримось у технічні аспекти того, як системи ШІ оцінюють розміри порцій з фотографій, розглядаючи оцінку глибини, масштабування за об'єктами-референсами, моделювання об'єму та постійні виклики, з якими стикаються дослідники та інженери, щоб зробити ці оцінки більш точними.
Чому Оцінка Порцій Складніша за Визначення Їжі
Визначення їжі — це, по суті, задача класифікації. Система повинна вибрати з обмеженого набору категорій їжі. Оцінка порцій, навпаки, є задачею регресії. Система повинна передбачити безперервне значення (грамів або мілілітрів) лише на основі візуальної інформації.
Кілька факторів ускладнюють цю задачу:
- Проблема 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 заохочує користувачів періодично перевіряти порції за допомогою кухонних ваг, щоб калібрувати як ШІ, так і власну свідомість про порції.
Контекстуальні пріоритети: Система може використовувати контекстуальну інформацію для уточнення оцінок. Якщо користувач знаходиться в конкретній мережі ресторанів, система може використовувати відомі розміри порцій. Якщо користувач регулярно реєструє конкретний сніданок, система може вивчити їх типову порцію.
Оцінки з урахуванням впевненості: Замість того, щоб надавати одне число, складні системи пропонують діапазон впевненості. Якщо система не впевнена в порції, вона може представити оцінку як діапазон (наприклад, 300 до 450 калорій) і попросити користувача надати додаткову інформацію.
Поточні Оцінки Точності
Дослідження Міжнародної конференції з аналізу зображень і обробки показали, що системи оцінки об'єму їжі досягають середніх абсолютних відсоткових помилок від 15 до 25 відсотків. Для контексту, дослідження показали, що кваліфіковані дієтологи, оцінюючи порції з фотографій, досягають помилок близько 10 до 15 відсотків, тоді як некваліфіковані особи в середньому мають помилки від 30 до 50 відсотків.
Це означає, що оцінка порцій ШІ вже значно краща, ніж те, що більшість людей можуть зробити без допомоги, і наближається до точності кваліфікованих фахівців. У поєднанні з перевагою швидкості та зручності це робить трекінг з використанням ШІ суттєвим покращенням у порівнянні з ручним веденням для більшості користувачів.
Роль Калібрування Користувача
Одним з недооцінених аспектів оцінки порцій ШІ є роль калібрування користувача з часом. Коли користувач реєструє прийоми їжі та іноді надає корекції, система формує профіль їх типових розмірів порцій та харчових уподобань.
Для регулярних користувачів це означає, що система стає поступово точнішою. Якщо ви зазвичай подаєте собі більші порції рису, ніж середні, система вчиться коригувати оцінки вгору для вашого рису. Якщо ви зазвичай використовуєте менше олії, ніж стандартний рецепт, система може це врахувати.
Nutrola використовує цю персоналізацію, щоб надавати все більш адаптовані оцінки порцій, чим довше ви користуєтеся додатком. Нові користувачі отримують вигоду від середніх показників на рівні населення, тоді як досвідчені користувачі отримують персоналізовані оцінки, калібровані під їх конкретні звички.
Практичні Поради для Більш Точних Оцінок Порцій
Хоча ШІ виконує більшість важкої роботи, користувачі можуть покращити точність, дотримуючись кількох простих рекомендацій:
- Фотографуйте зверху, коли це можливо. Фотографії зверху надають найбільше інформації про площу поверхні їжі та мінімізують спотворення перспективи.
- Включайте всю тарілку в кадр. Край тарілки слугує важливим об'єктом-референсом для масштабування.
- Уникайте екстремальних крупних планів. Система потребує контексту для оцінки розміру. Фото, яке показує лише їжу без жодних навколишніх об'єктів, не надає жодної масштабної референції.
- Фотографуйте перед змішуванням. Салат з видимими окремими інгредієнтами легше аналізувати, ніж той, що був змішаний.
- Використовуйте хороше освітлення. Тіні та низьке освітлення можуть приховати межі їжі та ознаки глибини.
- Інколи підтверджуйте або коригуйте. Використання кухонних ваг раз на тиждень для перевірки оцінки ШІ допомагає калібрувати як систему, так і вашу власну інтуїцію.
Питання та Відповіді
Наскільки точна оцінка порцій ШІ в порівнянні з використанням кухонних ваг?
Кухонні ваги забезпечують точність в межах 1-2 грамів, що значно точніше, ніж будь-який метод візуальної оцінки. Оцінка порцій ШІ з фотографій зазвичай досягає точності в межах 15-25 відсотків від фактичної ваги. Однак перевага зручності оцінки ШІ (яка займає 2 секунди в порівнянні з 30 секундами або більше з вагою) означає, що більше людей насправді ведуть облік постійно, що часто має більше значення для довгострокових результатів, ніж ідеальна точність.
Чи впливає кут камери на точність оцінки порцій?
Так, значно. Фотографії зверху (погляд прямо вниз на тарілку) забезпечують найкращу точність, оскільки показують всю площу поверхні їжі з мінімальним спотворенням перспективи. Фотографії під кутом 45 градусів є найбільш поширеними і все ще дають хороші оцінки. Дуже низькі кути (на рівні столу) є найменш точними, оскільки більша частина їжі закрита переднім краєм тарілки.
Чи може ШІ оцінити порції рідин, таких як супи та смузі?
Рідини представляють унікальний виклик, оскільки їх об'єм визначається контейнером, а не їхньою власною формою. Системи ШІ оцінюють порції рідин, визначаючи тип контейнера та рівень заповнення. Чаша супу, наповнена до країв, має інший об'єм, ніж та, що наповнена наполовину. Точність зазвичай хороша, коли контейнер має стандартну форму, але менш надійна з незвичайними контейнерами.
Чому ШІ іноді переоцінює або недооцінює мою порцію?
Звичайні причини переоцінки включають щільну подачу, яка виглядає більшою, ніж є, гарніри, які додають візуальної маси без значних калорій, і використання великих тарілок, які змушують систему припускати, що їжі більше. Звичайні причини недооцінки включають їжу, приховану під іншою їжею, щільні калорійні продукти, які виглядають маленькими, та незвичайні стилі подачі. Надання зворотного зв'язку, коли оцінки помилкові, допомагає системі покращитися.
Чи потрібно мені мати телефон з датчиком LiDAR для точної оцінки порцій?
Ні. Хоча телефони з LiDAR можуть надати більш точну інформацію про глибину, сучасні моделі ШІ можуть досить добре оцінювати глибину з звичайного зображення камери. Різниця в точності між телефонами з LiDAR та стандартними телефонами зменшилася, оскільки програмне забезпечення для оцінки глибини покращилося. Nutrola працює точно на будь-якому сучасному смартфоні.
Як система обробляє продукти, які складаються або шаруються?
Для видимо складених продуктів, таких як млинці або багатошарові сендвічі, система може рахувати шари та оцінювати товщину з бокового профілю. Для продуктів з прихованими шарами, таких як лазанья або буріто, система покладається на вивчені моделі складу, які оцінюють типовий внутрішній устрій на основі видимого зовнішнього вигляду та типу страви.
Готові трансформувати своє відстеження харчування?
Приєднуйтесь до тисяч, які трансформували свою подорож до здоров'я з Nutrola!