Від дослідницької лабораторії до вашого телефону: Комп'ютерне зір у сучасному розпізнаванні їжі
Штучний інтелект, що визначає ваш обід, почався з наукової статті. Ось шлях від академічних проривів у комп'ютерному зорі до технології розпізнавання їжі у вашій кишені.
Технологія, яка дозволяє вам зробити фото вашої вечері та миттєво побачити її калорійність, не з'явилася на порожньому місці. Це результат десятиліть академічних досліджень, безлічі опублікованих статей та постійних проривів у комп'ютерному зорі та глибокому навчанні. Те, що починалося як вузькоспеціалізована проблема в університетських лабораторіях, стало функцією, якою мільйони людей користуються щодня, навіть не задумуючись про це.
Ця стаття прослідковує повний шлях штучного інтелекту для розпізнавання їжі, від його коренів у фундаментальних дослідженнях комп'ютерного зору до реального розпізнавання їжі, що працює на вашому телефоні. На цьому шляху ми розглянемо ключові статті, еталонні набори даних, постійні виклики та інженерні рішення, необхідні для перетворення лабораторних результатів на надійний споживчий продукт.
Іскра, що змінила все: ImageNet та революція глибокого навчання
Щоб зрозуміти, як працює розпізнавання їжі сьогодні, потрібно почати з конкурсу, який не мав нічого спільного з їжею.
Великий конкурс візуального розпізнавання ImageNet
У 2009 році команда Фей-Фей Лі в Стенфорді випустила ImageNet — набір даних з понад 14 мільйонами зображень, організованих у більш ніж 20 000 категорій. Пов'язаний з ним Великий конкурс візуального розпізнавання ImageNet (ILSVRC) закликав дослідників створити системи, які могли б класифікувати зображення на 1 000 категорій об'єктів, від літаків до зебр. Протягом кількох років найкращі системи використовували ручні характеристики та традиційні методи машинного навчання, досягаючи помилок у топ-5 на рівні 25-28%.
А потім настало 2012.
Олекс Кризевський, Ілля Сутскевер та Джеффрі Хінтон представили глибоку згорткову нейронну мережу, яку вони назвали AlexNet. Вона досягла помилки в топ-5 на рівні 15,3%, перевершивши другого призера більш ніж на 10 відсоткових пунктів. Це не було поступовим покращенням. Це був парадигмальний зсув, який сигналізував про прихід глибокого навчання як домінуючого підходу до комп'ютерного зору.
Стаття "Класифікація ImageNet з використанням глибоких згорткових нейронних мереж" (Кризевський та ін., 2012) є однією з найцитованіших статей у всій комп'ютерній науці. Її вплив виходив далеко за межі конкурсу ImageNet. Дослідники в кожній підгалузі комп'ютерного зору, включаючи розпізнавання їжі, негайно почали досліджувати, як глибокі згорткові нейронні мережі можуть бути застосовані до їхніх специфічних проблем.
Чому ImageNet 2012 було важливим для їжі
Перед AlexNet системи розпізнавання їжі покладалися на ручні характеристики: гістограми кольору, текстурні дескриптори, такі як локальні бінарні патерни (LBP), та ознаки форми, отримані за допомогою алгоритмів, таких як SIFT (Scale-Invariant Feature Transform). Ці підходи мали труднощі з узагальненням. Система, навчена розпізнавати піцу за кольоровими та текстурними характеристиками, зазнавала невдачі, коли їй показували піцу з незнайомою начинкою або в незвичному освітленні.
Глибокі згорткові нейронні мережі змінили ситуацію кардинально. Замість того, щоб вимагати від дослідників вручну визначати, які візуальні характеристики мають значення, мережа навчалася розпізнавати дискримінативні ознаки безпосередньо з даних. Це означало, що за наявності достатньої кількості навчальних зображень CNN могла навчитися розпізнавати їжу в широкому діапазоні умов, справляючись з варіаціями в освітленні, куті, подачі та приготуванні, які б вразили ручні підходи.
Каскад покращень: 2013-2020
Роки після AlexNet принесли швидку череду архітектурних інновацій, кожна з яких підвищувала точність і робила впровадження більш практичним:
| Рік | Архітектура | Ключовий внесок | Помилка ImageNet Top-5 |
|---|---|---|---|
| 2012 | AlexNet | Доказ глибоких CNN у масштабах | 15.3% |
| 2014 | VGGNet | Показав, що глибина (16-19 шарів) покращує точність | 7.3% |
| 2014 | GoogLeNet (Inception) | Мульти-скалярне вилучення ознак з ефективними обчисленнями | 6.7% |
| 2015 | ResNet | Резервні з'єднання, що дозволяють мережі з 152 шарами | 3.6% |
| 2017 | SENet | Механізми уваги до каналів | 2.3% |
| 2019 | EfficientNet | Комплексне масштабування для оптимального співвідношення точності та ефективності | 2.0% |
| 2020 | Vision Transformer (ViT) | Само-увага, застосована до зображень | 1.8% |
Кожна з цих архітектур швидко була прийнята дослідниками в галузі розпізнавання їжі, які використовували їх як основи для специфічних моделей.
Набір даних Food-101: Спільний еталон для дослідників
Загальні класифікатори зображень, навчений на ImageNet, могли відрізнити піцу від автомобіля, але розрізнити піцу маргарита від піци біанка вимагало набагато тоншого рівня візуальної дискримінації. Спільнота дослідників у сфері розпізнавання їжі потребувала власного великомасштабного набору даних.
Bossard та ін. та народження Food-101
У 2014 році Лука Боссард, Маттью Гійомін та Люк Ван Гул з ETH Zurich опублікували статтю "Food-101 — Вилучення дискримінативних компонентів з випадковими лісами" на Європейській конференції з комп'ютерного зору (ECCV). Вони представили набір даних Food-101: 101 000 зображень, що охоплюють 101 категорію їжі, з 1 000 зображень на категорію. Зображення були навмисно зібрані з реальних джерел (Foodspotting, соціальна платформа для обміну їжею), а не з контрольованих лабораторних умов, що означало, що вони включали шум, варіацію та недосконалість реальних фотографій їжі.
Food-101 встановив спільний еталон, який дозволив дослідникам безпосередньо порівнювати свої підходи. Оригінальна стаття досягла 50,76% точності top-1, використовуючи підхід випадкового лісу з ручними характеристиками. Протягом року підходи на основі глибокого навчання перевищили 70%. До 2018 року моделі, побудовані на архітектурах, таких як Inception та ResNet, перевищували 90% точності top-1 на Food-101.
Інші важливі набори даних для їжі
Food-101 був найширше використовуваним еталоном, але дослідницька спільнота створила кілька інших наборів даних, які просунули галузь вперед:
UEC-Food100 та UEC-Food256 (2012, 2014): Розроблені Університетом електро-комунікацій в Японії, ці набори даних зосереджувалися на японській кухні та вводили анотації обмежувальних рамок для виявлення кількох продуктів. UEC-Food256 розширив охоплення до 256 категорій, що охоплюють кілька азійських кухонь.
VIREO Food-172 (2016): Створений Університетом міста Гонконг, цей набір даних включав 172 категорії китайської їжі разом з анотаціями інгредієнтів, що дозволяло дослідження розпізнавання на рівні інгредієнтів.
Nutrition5k (2021): Розроблений Google Research, цей набір даних поєднав зображення їжі з точними харчовими вимірюваннями, отриманими за допомогою калориметрії. З 5 006 реалістичними тарілками страв та лабораторно перевіреними калорійними значеннями, Nutrition5k надав набір даних для навчання та оцінки систем оцінки порцій.
Food2K (2021): Великий еталон, що містить 2 000 категорій їжі та понад мільйон зображень, призначений для просування розпізнавання їжі до масштабу загального розпізнавання об'єктів.
MAFood-121 (2019): Зосереджений на розпізнаванні їжі з кількома атрибутами, включаючи тип кухні та метод приготування разом з категорією їжі, відображаючи реальну потребу розуміти не лише, що це за їжа, але й як вона була приготована.
Наявність цих наборів даних була надзвичайно важливою. У машинному навчанні якість і масштаб навчальних даних часто важливіші за архітектуру моделі. Кожен новий набір даних розширював діапазон продуктів, кухонь та візуальних умов, з яких моделі могли навчатися.
Чому їжа складніша для розпізнавання, ніж "звичайні" об'єкти
Дослідники, які працювали в галузі розпізнавання їжі, швидко виявили, що їжа представляє унікальні виклики, які не виникають у загальному розпізнаванні об'єктів. Розуміння цих викликів пояснює, чому система, яка може надійно ідентифікувати автомобілі, собак і будівлі, може мати труднощі з тарілкою їжі.
Проблема внутрішньокласової варіації
Золотистий ретривер виглядає як золотистий ретривер, незалежно від того, сидить він, біжить чи спить. Але салат може виглядати майже як будь-що. Грецький салат, салат Цезар, салат Уолдорф і салат з кіноа з капустою мають одну й ту ж категорію "салат", але візуально майже нічого спільного. Ця внутрішньокласова варіація є надзвичайною для категорій їжі і значно перевищує те, що ви знайдете в більшості завдань розпізнавання об'єктів.
З іншого боку, міжкласова схожість також висока. Чаша томатного супу та чаша червоного карі можуть виглядати майже ідентично зверху. Смажений рис і плов мають спільні візуальні характеристики. Проте, протеїновий батончик і брауні можуть бути невідрізними на фото. Візуальні межі між категоріями їжі часто розмиті так, як межі між автомобілями та вантажівками не є.
Деформована природа їжі
Більшість об'єктів, які системи комп'ютерного зору навчаються розпізнавати, мають постійну геометричну структуру. Стілець має ніжки, сидіння та спинку. Їжа, навпаки, є деформованою, аморфною та непередбачуваною у своїй візуальній презентації. Порція картопляного пюре не має постійної форми. Паста може бути подана в нескінченній кількості конфігурацій. Навіть один і той же рецепт, приготований двома різними людьми, може виглядати суттєво по-різному.
Ця деформованість означає, що ознаки форми, які є потужними для розпізнавання жорстких об'єктів, мають відносно малий внесок у розпізнавання їжі. Моделі повинні більше покладатися на колір, текстуру та контекстуальні підказки.
Закриття та змішані страви
У типовому фото страви продукти перекриваються та закривають один одного. Соус покриває м'ясо. Сир тане над овочами. Рис знаходиться під рагу. Ці патерни закриття не лише поширені; вони є нормою. Система розпізнавання їжі повинна бути стійкою до часткової видимості в такий спосіб, який є набагато вимогливішим, ніж, наприклад, виявлення пішоходів у сцені на вулиці.
Змішані страви представляють ще більшу проблему. Бурріто загортає свої інгредієнти в тортилью, роблячи їх невидимими. Смузі змішує фрукти та інші інгредієнти в однорідну рідину. Запіканка поєднує кілька інгредієнтів в одну візуальну масу. Для цих продуктів розпізнавання повинно спиратися на цілісний вигляд та вивчені асоціації, а не на ідентифікацію окремих компонентів.
Освітлення та варіація середовища
Фотографії їжі робляться в надзвичайно різних умовах. Освітлення в ресторанах варіюється від яскравого флуоресцентного до тьмяного свічкового. Домашні кухні мають непостійні колірні температури. Спалах фотографії змінює очевидний колір їжі. Фотографії, зроблені на вулиці в сонячний день, виглядають зовсім не так, як фотографії, зроблені в темному офісі. Ця варіація в умовах зйомки суттєво впливає на характеристики кольору, а оскільки колір є одним з найсильніших підказок для ідентифікації їжі, це створює значний виклик.
Проблема оцінки порцій: де дослідження стає справді складним
Визначити, яка їжа знаходиться на тарілці, — це лише половина проблеми. Щоб бути корисною для відстеження харчування, система також повинна оцінити, скільки кожної їжі присутнє. Це проблема оцінки порцій, і вона залишається однією з найактивніших і найскладніших областей досліджень у сфері комп'ютерних технологій харчування.
Чому оцінка порцій є принципово складною
Одне 2D-фото відкидає інформацію про глибину. Без знання відстані від камери до тарілки, розміру тарілки або висоти купи їжі неможливо відновити справжній фізичний об'єм їжі лише з вимірювань пікселів. Це не обмеження сучасного ШІ. Це математична реальність проективної геометрії. Невелика чаша близько до камери та велика чаша далеко можуть давати ідентичні зображення.
Дослідники досліджували кілька підходів, щоб обійти це обмеження:
Методи з еталонними об'єктами: Деякі системи просять користувача включити відомий еталонний об'єкт (монету, кредитну картку, певну тарілку) у кадр. Вимірюючи піксельні розміри відомого об'єкта в порівнянні з його реальним розміром, система може оцінити масштаб. Система TADA (Три-вимірна автоматизована оцінка харчування), розроблена в Університеті Пердью, використовувала фідучіальний маркер (шаховий патерн) для цієї мети. Хоча це точно, цей підхід додає тертя, що робить його непрактичним для щоденного споживчого використання.
Оцінка глибини з монокулярних зображень: Нейронні мережі можуть оцінювати карти глибини з одиночних зображень, використовуючи вивчені пріоритети про типові сцени. Дослідження груп з Університету Піттсбурга та Технологічного інституту Джорджії застосували оцінку глибини з монокулярних зображень до фотографій їжі, досягаючи оцінок об'єму в межах 15-25% від істини в контрольованих умовах.
Мульти-видове відтворення: Деякі дослідницькі системи просять користувачів захопити їжу з кількох кутів, що дозволяє 3D-відтворення. Хоча це більш точно, це знову ж таки додає тертя. Дослідження Фанга та ін. (2019) продемонструвало, що навіть два види можуть суттєво покращити точність оцінки об'єму.
Вивчені пріоритети порцій: Замість того, щоб намагатися відновити точний фізичний об'єм, деякі системи вивчають статистичні розподіли типових розмірів порцій для кожної категорії їжі. Якщо система знає, що медіанна порція вареного білого рису становить приблизно 158 грамів, вона може використовувати цей пріоритет разом з візуальними підказками про відносний розмір їжі на зображенні, щоб отримати розумну оцінку.
Ключові статті з оцінки порцій
Кілька статей просунули стан справ у оцінці порцій:
- Мейерс та ін. (2015), "Im2Calories: до автоматизованого мобільного візуального харчового щоденника", з Google Research, запропонували використовувати CNN для оцінки калорійності безпосередньо з фотографій їжі, обходячи явну оцінку об'єму.
- Фанг та ін. (2019), "Техніка автоматичної оцінки енергії їжі на основі зображень з навчанням карт енергетичного розподілу", представили карти енергетичного розподілу, які прогнозують щільність калорій на піксель.
- Темз та ін. (2021), "Nutrition5k: до автоматичного харчового розуміння загальної їжі", надали перший великомасштабний набір даних з перевіреною калориметрією, що дозволяє більш сувору оцінку систем оцінки порцій.
- Лу та ін. (2020) продемонстрували, що поєднання сегментації їжі з оцінкою глибини забезпечує оцінки порцій з середньою абсолютною помилкою нижче 20% для загальних категорій їжі.
Розрив між точністю досліджень та реальними показниками
Однією з найважливіших і найменш обговорюваних тем у штучному інтелекті для розпізнавання їжі є розрив між еталонною продуктивністю та реальними показниками. Розуміння цього розриву є критично важливим для встановлення реалістичних очікувань щодо того, що технологія розпізнавання їжі може і не може зробити.
Умови еталону проти реальності
Наукові статті зазвичай повідомляють про точність на кураторських тестових наборах, взятих з тієї ж розподілу, що й навчальні дані. Точність Food-101 у 93% звучить вражаюче, але це означає, що модель тестувалася на зображеннях з того ж джерела та в аналогічних умовах, як її навчальні зображення. Коли вона впроваджується у реальному світі, точність знижується з кількох причин:
Зміна розподілу: Користувачі роблять фотографії з різними камерами, освітленням, кутами та композиціями, ніж ті, що представлені в навчальних даних. Модель, навчена переважно на фотографіях їжі зверху з кулінарних блогів, буде працювати гірше, коли користувач зробить нахилене фото зі спалахом у темному ресторані.
Довгі хвости їжі: Еталонні набори даних охоплюють обмежений набір категорій. Food-101 має 101 категорію; Food2K має 2 000. Але справжня глобальна система розпізнавання їжі повинна впоратися з десятками тисяч страв. Продуктивність на рідкісних або культурно специфічних стравах зазвичай значно нижча, ніж середні показники.
Складні страви: Більшість еталонів оцінюють класифікацію однієї їжі. Реальні страви містять кілька продуктів на одній тарілці, що вимагає виявлення, сегментації та класифікації одночасно. Точність мульти-їжі постійно нижча, ніж точність однієї їжі.
Помилки оцінки порцій: Навіть невеликі помилки в ідентифікації їжі накопичуються, коли поєднуються з оцінкою порцій. Якщо система помилково приймає кіноа за кус-кус (плутанина візуально ймовірна), вона застосовує неправильну харчову щільність до своєї оцінки об'єму, що призводить до помилок як у розподілі макронутрієнтів, так і в підрахунку калорій.
Кількісна оцінка розриву
Опубліковані дослідження пропонують такі приблизні діапазони продуктивності:
| Завдання | Точність еталону | Точність у реальному світі |
|---|---|---|
| Класифікація однієї їжі (top-1) | 88-93% | 70-82% |
| Класифікація однієї їжі (top-5) | 96-99% | 88-94% |
| Виявлення кількох їд на одиницю | 75-85% | 60-75% |
| Оцінка порцій (в межах 20% від істини) | 65-75% | 45-60% |
| Оцінка калорій з кінця в кінець (в межах 20%) | 55-65% | 35-50% |
Ці цифри підкреслюють важливу істину: штучний інтелект для розпізнавання їжі є добрим і стає кращим, але він ще не є заміною ретельному вимірюванню. Це інструмент, який значно зменшує тертя, приймаючи відомий рівень помилки.
Хронологія ключових проривів
Наступна хронологія підсумовує основні етапи на шляху від загальних досліджень комп'ютерного зору до технології розпізнавання їжі у вашому телефоні:
2009 — випущено набір даних ImageNet. Фей-Фей Лі та команда в Стенфорді публікують набір даних ImageNet, надаючи великомасштабний еталон, який стане основою революції глибокого навчання.
2012 — AlexNet виграє ILSVRC. Кризевський, Сутскевер та Хінтон демонструють, що глибокі згорткові нейронні мережі значно перевершують традиційні підходи до класифікації зображень. Починається ера глибокого навчання.
2012 — опубліковано UEC-Food100. Один з перших великих наборів зображень їжі, зосереджений на японській кухні, встановлює розпізнавання їжі як окрему дослідницьку проблему.
2014 — випущено набір даних Food-101. Боссард та ін. з ETH Zurich публікують еталон, який стане стандартним набором для оцінки досліджень у сфері розпізнавання їжі.
2014 — GoogLeNet та VGGNet. Дві впливові архітектури демонструють, що глибші та більш складні мережі суттєво покращують точність класифікації. Обидві швидко були прийняті дослідниками в галузі розпізнавання їжі.
2015 — представлено ResNet. Хе та ін. з Microsoft Research представляють резервні з'єднання, що дозволяють мережам з 100+ шарами. ResNet стає найширше використовуваною основою в системах розпізнавання їжі протягом наступних кількох років.
2015 — опубліковано статтю Im2Calories. Google Research демонструє оцінку калорій з фотографій їжі, встановлюючи пряму лінію від зображення до харчування як життєздатний напрямок досліджень.
2016 — реальне виявлення об'єктів досягає зрілості. YOLO (Редмон та ін., 2016) та SSD (Лю та ін., 2016) дозволяють реальне виявлення кількох об'єктів, що робить можливим виявлення кількох продуктів на тарілці менш ніж за секунду.
2017 — перенесене навчання стає стандартною практикою. Дослідницька спільнота конвергує на спільній методології: попереднє навчання на ImageNet, тонке налаштування на наборах даних їжі. Цей підхід досягає точності Food-101 вище 88%.
2019 — опубліковано EfficientNet. Тан та Ле з Google представляють комплексне масштабування, створюючи моделі, які є як більш точними, так і більш ефективними, ніж попередники. Це робить високу точність розпізнавання їжі можливим на мобільному обладнанні без хмарного інферування.
2020 — опубліковано Vision Transformers (ViT). Досовіцкій та ін. з Google демонструють, що архітектури трансформерів, спочатку розроблені для обробки природної мови, можуть відповідати або перевершувати CNN у класифікації зображень. Це відкриває нові можливості для досліджень у сфері розпізнавання їжі.
2021 — випущено набір даних Nutrition5k. Google Research публікує набір даних з перевіреною калориметрією, що надає перший суворий еталон для оцінки кінцевої харчової оцінки.
2022-2024 — з'являються основні моделі. Великі попередньо навчені моделі зору-мови, такі як CLIP (Радфорд та ін., 2021) та наступні моделі, дозволяють нульове та кількаразове розпізнавання їжі, дозволяючи системам ідентифікувати категорії їжі, на яких вони ніколи не були явно навчені.
2025-2026 — інферування на пристрої стає стандартом. Прогрес у стисненні моделей, квантизації та мобільних нейронних процесорах (NPU) дозволяє моделям розпізнавання їжі працювати повністю на пристрої, усуваючи затримки та проблеми конфіденційності, пов'язані з хмарною обробкою.
Як Nutrola заповнює розрив між дослідженнями та практикою
Академічні дослідження, описані вище, є необхідними, але недостатніми для створення системи розпізнавання їжі, яка працює надійно для реальних людей у реальних умовах. Розрив між публікацією статті з точністю 93% на Food-101 та випуском продукту, якому користувачі довіряють у щоденному відстеженні харчування, є величезним. Тут інженерія, стратегія даних та орієнтований на користувача дизайн стають такими ж важливими, як архітектура моделі.
Навчання на реальних розподілах даних користувачів
Академічні набори даних кураторуються з кулінарних блогів, соціальних медіа та контрольованих фотосесій. Реальні фотографії користувачів є більш складними: частково з'їдені страви, захаращені фони, погане освітлення, незвичні кути, кілька тарілок у кадрі. Nutrola навчає свої моделі на розподілах даних, які відображають реальні патерни використання, включаючи недосконалі, реальні зображення, які користувачі насправді захоплюють. Це закриває значну частину розриву зміни розподілу.
Безперервне навчання та зворотні зв'язки
Статична модель, навчена один раз і впроваджена, буде деградувати, оскільки поведінка користувачів та харчові тренди змінюються. Nutrola реалізує безперервні навчальні канали, які включають виправлення та зворотний зв'язок від користувачів. Коли користувач виправляє помилкову ідентифікацію, цей сигнал агрегується (з захистом конфіденційності) і використовується для покращення продуктивності моделі на конкретних продуктах та умовах, де помилки є найбільш поширеними.
Поєднання кількох сигналів
Замість того, щоб покладатися лише на візуальну класифікацію, Nutrola поєднує візуальне розпізнавання з контекстуальними сигналами для покращення точності. Час доби, географічний регіон, нещодавня історія страв та уподобання користувачів служать пріоритетами, які допомагають розрізняти візуально схожі продукти. Чаша червоної рідини, сфотографована на сніданок у Північній Америці, з більшою ймовірністю є томатним соком, ніж гаспачо, і система може використовувати цей контекст для покращення прогнозів.
Чесне спілкування про впевненість
Одним з найважливіших рішень у дизайні є те, як комунікувати невизначеність. Коли модель впевнена, Nutrola безпосередньо представляє свою ідентифікацію. Коли впевненість нижча, система пропонує кілька варіантів і просить користувача підтвердити. Цей шаблон взаємодії поважає вроджені обмеження технології, водночас зменшуючи тертя в порівнянні з ручним веденням. Замість того, щоб намагатися бути ідеальною, система прозора щодо того, коли їй потрібна допомога.
Оптимізація для харчової точності, а не лише для точності класифікації
Академічні еталони вимірюють точність класифікації: чи правильно модель ідентифікувала їжу? Але для відстеження харчування відповідною метрикою є харчова точність: наскільки близькі оцінені калорії та макронутрієнти до істинних значень? Nutrola оптимізує для цієї вторинної метрики. Плутанина між двома візуально схожими продуктами з подібними харчовими профілями (білий рис проти жасминового рису) має набагато менше значення, ніж плутанина між двома візуально схожими продуктами з дуже різними харчовими профілями (звичайний мафін проти протеїнового мафіна). Система налаштована на мінімізацію помилок, які мають найбільший вплив на харчові оцінки.
Дослідницький фронт: Що далі
Дослідження в сфері розпізнавання їжі продовжують розвиватися. Кілька активних напрямків досліджень мають потенціал ще більше закрити розрив між лабораторною точністю та реальними показниками:
Розпізнавання на рівні інгредієнтів: Перехід від класифікації на рівні страв до ідентифікації окремих інгредієнтів у страві. Це дозволяє більш точно оцінювати харчування для складних продуктів і підтримує перевірку дієтичних обмежень (наприклад, виявлення алергенів).
3D-відтворення їжі з одиночних зображень: Прогрес у нейронних полях радіансу (NeRF) та монокулярному 3D-відтворенні свідчить про те, що незабаром буде можливим відтворити досить точну 3D-модель страви з одного фотографії, суттєво покращуючи оцінку порцій.
Персоналізовані моделі їжі: Навчання моделей, які адаптуються до типових страв, улюблених ресторанів та стилів приготування окремих користувачів. Модель, яка знає, що ви їсте одну й ту ж сніданок кожного робочого дня, може досягти майже ідеальної точності завдяки персоналізації.
Мультимодальне міркування: Поєднання візуального розпізнавання з текстом (описи меню, назви рецептів) та аудіо (голосові описи страв) для створення більш надійних систем розуміння їжі.
Федеративне навчання для їжі: Навчання моделей розпізнавання їжі на багатьох пристроях користувачів без централізації сирих даних, зберігаючи конфіденційність, водночас отримуючи вигоду від різноманітних реальних навчальних даних.
Часто задавані питання
Наскільки точним є розпізнавання їжі AI сьогодні в порівнянні з людським дієтологом?
Для звичайних продуктів, сфотографованих у хороших умовах, розпізнавання їжі AI відповідає або перевищує швидкість людського дієтолога та досягає порівнянної точності ідентифікації. Зареєстрований дієтолог зазвичай може ідентифікувати продукт з фотографії з точністю 85-95%. Сучасні системи AI досягають подібних показників для добре представлених категорій їжі. Однак дієтологи все ще перевершують AI у випадках рідкісних або неоднозначних продуктів, культурно специфічних страв і оцінки порцій. Практична перевага AI полягає в швидкості та доступності: він надає миттєву оцінку 24/7, тоді як консультації з дієтологом обмежені та дорогі.
Що таке набір даних Food-101 і чому він важливий?
Food-101 — це еталонний набір даних з 101 000 зображень, що охоплюють 101 категорію їжі, опублікований дослідниками з ETH Zurich у 2014 році. Він важливий, оскільки надав перший широко прийнятий стандарт для оцінки моделей розпізнавання їжі. До Food-101 дослідники тестували свої системи на приватних або маломасштабних наборах даних, що унеможливлювало порівняння результатів. Food-101 дозволив відтворюване дослідження та сприяв швидкому прогресу в точності класифікації їжі, з приблизно 50% у 2014 році до понад 93% до 2020 року.
Чому їжу важче розпізнати, ніж інші об'єкти?
Їжа представляє кілька викликів, які рідко зустрічаються в загальному розпізнаванні об'єктів: екстремальна візуальна варіація в межах однієї категорії їжі (подумайте про всі страви, які називаються "салат"), висока візуальна схожість між різними категоріями їжі (томатний суп проти червоного карі), деформовані та аморфні форми, часте закриття соусами та начинками, а також широка варіація стилів приготування в різних культурах. Крім того, їжу потрібно не лише ідентифікувати, але й кількісно оцінити (оцінка порцій), що додає вимір, який більшість завдань розпізнавання об'єктів не вимагає.
Як перенесене навчання допомагає в розпізнаванні їжі?
Перенесене навчання передбачає використання нейронної мережі, попередньо навченої на великому загальному наборі даних (зазвичай ImageNet), і тонке налаштування її на меншому наборі даних, специфічному для їжі. Це працює, оскільки низькорівневі візуальні ознаки, вивчені з ImageNet (краї, текстури, кольори, форми), є загалом корисними та добре переносяться на зображення їжі. Лише вищі, специфічні для їжі ознаки потрібно вивчати з нуля. Перенесене навчання значно зменшує кількість специфічних для їжі навчальних даних, які потрібні, і зазвичай покращує точність на 10-20 відсоткових пунктів у порівнянні з навчанням з нуля.
Чи може AI оцінити розміри порцій з одного фото?
AI може оцінити розміри порцій з одного фото, але з суттєвою невизначеністю. Без інформації про глибину 2D-фото не може точно визначити об'єм їжі. Сучасні системи поєднують вивчені пріоритети порцій (статистичні знання про типові розміри порцій), підказки про відносний розмір (порівнюючи їжу з тарілкою або іншими об'єктами) та оцінку глибини з монокулярних зображень, щоб отримати оцінки, які зазвичай знаходяться в межах 15-30% від істинного розміру порції. Це достатньо точно для щоденного відстеження, але не достатньо точно для клінічної оцінки дієти.
У чому різниця між класифікацією їжі та виявленням їжі?
Класифікація їжі присвоює одну мітку всьому зображенню (це зображення містить піцу). Виявлення їжі ідентифікує та локалізує кілька продуктів у зображенні, малюючи обмежувальні рамки навколо кожного елемента та класифікуючи їх незалежно (це зображення містить піцу в верхньому лівому куті, салат у нижньому правому, та хліб у верхній частині). Виявлення є складнішим завданням, але необхідним для реальних фотографій страв, які майже завжди містять кілька продуктів.
Як Nutrola використовує це дослідження?
Nutrola базується на всьому обсязі академічних досліджень у сфері розпізнавання їжі, описаних у цій статті, впроваджуючи сучасні архітектури, навчаючись на різноманітних реальних даних та оптимізуючи харчову точність, а не лише точність класифікації. Система поєднує візуальне розпізнавання з контекстуальними сигналами та зворотним зв'язком користувачів, щоб забезпечити точність, яка перевищує те, що будь-яка окрема наукова стаття досягає ізольовано. Nutrola також повертає результати досліджень у спільноту, публікуючи результати реальної продуктивності розпізнавання їжі та виклики впровадження цих систем у масштабах.
Чи буде штучний інтелект для розпізнавання їжі колись 100% точним?
Ідеальна точність малоймовірна з кількох причин. Деякі продукти дійсно візуально не відрізняються (білий цукор і сіль, наприклад). Оцінка порцій з 2D-зіображень має фундаментальні математичні обмеження. І різноманіття світових кухонь означає, що завжди будуть довгі хвости їжі з обмеженими навчальними даними. Однак актуальне питання не в тому, чи є технологія ідеальною, а в тому, чи є вона корисною. На поточних рівнях точності AI для розпізнавання їжі вже зменшує тертя ведення харчового обліку на 70-80% у порівнянні з ручним введенням, і точність продовжує покращуватися з кожним новим поколінням моделей та навчальних даних.
Висновок
Штучний інтелект для розпізнавання їжі у вашому телефоні є результатом дослідницької подорожі, яка триває більше десяти років. Вона почалася з прориву в класифікації зображень на конкурсі ImageNet 2012 року, отримала фокус через специфічні набори даних, такі як Food-101, зіткнулася з унікальними викликами їжі як візуальної області та поступово закрила розрив між академічними еталонами та реальними показниками.
Ця подорож ще не закінчена. Оцінка порцій залишається відкритою проблемою дослідження. Довгі хвости категорій їжі потребують кращого охоплення. Реальна точність продовжує відставати від еталонної точності на значну величину. Але траєкторія ясна: кожен рік приносить кращі моделі, багатші навчальні дані та більш складні підходи до складних проблем.
Nutrola існує на перетині цього дослідження та практичних потреб людей, які намагаються зрозуміти, що вони їдять. Залишаючись близько до передового краю академічних досліджень, водночас зосереджуючи увагу на реальних показниках, ми працюємо над тим, щоб обіцянка без зусиль та точної оцінки харчування стала реальністю для всіх.
Готові трансформувати своє відстеження харчування?
Приєднуйтесь до тисяч, які трансформували свою подорож до здоров'я з Nutrola!