Насколько надежна функция Snap It в Lose It!? Аудит идентификации и консистентности
Мы сфотографировали 20 блюд дважды с помощью Snap It в Lose It!, чтобы проверить точность идентификации продуктов, оценку порций и консистентность результатов. Вот насколько надежна эта функция для различных типов пищи.
Snap It в Lose It! — это функция идентификации пищи на основе фотографий в приложении для учета калорий, разработанном компанией FitNow Inc. Идея проста и привлекательна: сделайте фото своей еды, и приложение автоматически идентифицирует ее и записывает калории. Никакого ручного поиска, прокрутки по базе данных, никакого ввода текста. Просто наведите, снимите и продолжайте.
Однако надежность фотоучета пищи требует одновременной работы трех компонентов. Приложение должно правильно идентифицировать, что это за еда. Оно должно точно оценивать размер порции. И оно должно давать последовательные результаты — то есть, если вы сфотографируете одно и то же блюдо дважды, вы должны получить одинаковое количество калорий в обоих случаях. Если хотя бы один из этих трех компонентов дает сбой, записанные данные становятся ненадежными.
Мы протестировали все три аспекта, сфотографировав 20 различных блюд дважды с помощью Snap It. Вот подробный анализ того, где функция работает надежно, где она дает сбой и что это значит для точности учета калорий.
Что означает "надежно" для фотоучета пищи?
Надежность функции фотоучета пищи подразумевает три взаимосвязанных аспекта. Приложение правильно идентифицирует еду на изображении. Оно оценивает размер порции, близкий к фактическому количеству. И оно выдает одинаковый результат при одинаковом вводе.
Если идентификация не удалась — приложение называет ваш киноа "рисом" — данные о калориях изначально будут неверными. Если идентификация успешна, но оценка порции ошибочна на 40%, количество калорий все равно будет бесполезным. И если вы сфотографируете одну и ту же тарелку дважды и получите два разных результата, доверять ни одному из них нельзя.
Большинство обзоров фотоучета пищи сосредоточены только на точности идентификации. Но идентификация без точной оценки порции — это как правильно назвать город, но угадать расстояние до него — вы знаете, куда идете, но не имеете понятия, как далеко это. Все три аспекта должны работать, чтобы функция была действительно полезной.
Методология тестирования: 20 блюд, сфотографированных дважды
Мы подготовили 20 блюд, охватывающих пять категорий: отдельные цельные продукты, упакованные товары, простые блюда, многокомпонентные тарелки в ресторане и смешанные блюда. Каждое блюдо было сфотографировано дважды с помощью Lose It! Snap It при одинаковых условиях освещения под углом 45 градусов, который является наиболее распространенным для фотосъемки еды.
Между двумя фотографиями каждого блюда мы ждали 60 секунд и немного изменяли положение телефона, чтобы смоделировать реальные условия. Еда сама по себе не перемещалась и не изменялась. Мы записали три метрики для каждого теста: была ли еда правильно идентифицирована, насколько близка оценка порции к фактическому измеренному весу, и дали ли обе фотографии одинаковый результат по калориям.
Результаты надежности по категориям пищи
Таблица идентификации, точности порции и консистентности
| Еда | Категория | Правильная идентификация (Фото 1) | Правильная идентификация (Фото 2) | Точность порции | Последовательный результат |
|---|---|---|---|---|---|
| Яблоко, целое | Отдельный продукт | Да | Да | В пределах 10% | Да |
| Банан, целый | Отдельный продукт | Да | Да | В пределах 5% | Да |
| Протеиновый батончик (упаковка видна) | Упакованный | Да | Да | Точно | Да |
| Йогурт (этикетка видна) | Упакованный | Да | Да | Точно | Да |
| Курица на гриле + рис | Простая тарелка | Да | Да | В пределах 20% | Нет (разница 18 калорий) |
| Паста с соусом маринара | Простая тарелка | Да | Да | В пределах 25% | Нет (разница 34 калории) |
| Стейк + картофельное пюре + спаржа | Многокомпонентное | Частично (не распознана спаржа) | Да | В пределах 35% | Нет (разница 67 калорий) |
| Буррито боул | Смешанное блюдо | Частично (не распознаны бобы) | Частично (не распознана кукуруза) | В пределах 40% | Нет (разница 89 калорий) |
| Зерновой боул с тофу | Смешанное блюдо | Частично (тофу как курица) | Частично (тофу как курица) | В пределах 45% | Нет (разница 52 калории) |
| Цезарь с гренками | Простая тарелка | Да | Да | В пределах 30% | Нет (разница 41 калория) |
| Суши (8 кусочков, смешанные) | Многокомпонентное | Частично (3 из 4 видов) | Частично (2 из 4 видов) | В пределах 35% | Нет (разница 73 калории) |
| Овсянка с ягодами и орехами | Смешанное блюдо | Частично (не распознаны орехи) | Да | В пределах 25% | Нет (разница 38 калорий) |
| Сендвич (разрез виден) | Простая тарелка | Да | Да | В пределах 20% | Нет (разница 22 калории) |
| Рис против кус-кус (кус-кус) | Отдельный продукт | Нет (идентификация как рис) | Нет (идентификация как рис) | В пределах 15% | Да (постоянно неверно) |
| Боул с киноа | Отдельный продукт | Нет (идентификация как рис) | Да | В пределах 20% | Нет (разница 45 калорий) |
| Кусок пиццы | Простая тарелка | Да | Да | В пределах 15% | Да |
| Смуси в стакане | Жидкость | Да | Частично (не распознана протеиновая добавка) | В пределах 50% | Нет (разница 62 калории) |
| Карри с рисом | Смешанное блюдо | Частично (генерическое карри) | Частично (генерическое карри) | В пределах 40% | Нет (разница 55 калорий) |
| Яйца на тосте | Простая тарелка | Да | Да | В пределах 15% | Да |
| Поке боул | Смешанное блюдо | Частично (не распознаны эдамаме) | Частично (не распознаны водоросли) | В пределах 45% | Нет (разница 81 калория) |
Общие результаты:
- Полная правильная идентификация: 60% фотографий (24 из 40)
- Частичная идентификация (не распознаны компоненты): 30% (12 из 40)
- Неверная идентификация: 10% (4 из 40)
- Последовательный результат по обеим фотографиям: 30% блюд (6 из 20)
- Среднее отклонение точности порции: 25.5%
Где Snap It надежен
Snap It хорошо работает в двух конкретных сценариях, которые имеют общую черту: визуальную простоту.
Упакованные продукты с видимыми этикетками
Когда штрих-код или брендовая этикетка видны на фото, Snap It эффективно функционирует как визуальный сканер штрих-кодов. Он точно идентифицирует продукт и извлекает данные о калориях из своей базы данных. В этих случаях идентификация верна, порция соответствует размеру упаковки, и результаты абсолютно последовательны. Это самый сильный случай использования функции, хотя возникает вопрос, зачем использовать фотоучет вместо простого сканирования штрих-кода.
Простые отдельные продукты
Целые фрукты, простое яйцо, кусок хлеба — продукты, которые визуально однозначны и имеют относительно стандартные размеры. Snap It правильно идентифицировал каждый отдельный продукт в нашем тесте и оценил порции в пределах 5-15% от фактического веса. Консистентность также была высокой, обе фотографии давали одинаковый или почти одинаковый результат.
Общим фактором является то, что эти продукты имеют характерный визуальный облик и предсказуемые размеры порций. Яблоко выглядит как яблоко с любого угла, и его калорийность находится в узком диапазоне независимо от точного размера.
Где Snap It ненадежен
Сбои в надежности сосредоточены вокруг трех сценариев, которые представляют большинство реальных блюд.
Многокомпонентные блюда
Когда на тарелке содержится три или более различных продукта, Snap It часто пропускает хотя бы один компонент. В нашем тесте с ужином из стейка первое фото полностью пропустило спаржу. В тесте с тарелкой суши приложение идентифицировало только 2-3 из 4 видов суши. Каждый пропущенный компонент — это целый продукт, который не учитывается — часто 50-150 калорий, которые просто исчезают из вашего дневного итога.
Смешанные блюда и многослойные продукты
Буррито боулы, зерновые боулы, поке боулы и карри показали плохие результаты. Когда ингредиенты смешаны или уложены слоями, ИИ испытывает трудности с различением отдельных компонентов. Наш буррито боул содержал рис, курицу, бобы, кукурузу, сальсу, сыр и гуакамоле. Snap It идентифицировал рис и курицу, но пропустил бобы на одном фото и кукурузу на другом. Оценка порции для смешанных блюд в среднем отклонялась на 40-45% от фактических измеренных значений.
Визуально схожие продукты
Кус-кус был идентифицирован как рис на обоих фотографиях — постоянная неверная идентификация. Киноа была идентифицирована как рис на одном фото и правильно на другом. Цветная капуста, обычный рис и кус-кус почти неразличимы на фотографиях, но их калорийность значительно отличается. Кус-кус содержит примерно 176 калорий на приготовленную чашку по сравнению с рисом, который содержит 206 калорий на чашку. Постоянная неверная идентификация кус-куса как риса добавляет 30 калорий на чашку, которые пользователь на самом деле не потребил.
Анализ режимов ошибок
Мы классифицировали каждую ошибку по всем 40 фотографиям, чтобы выявить закономерности.
Таблица частоты режимов ошибок
| Режим ошибки | Количество | % от всех фотографий | Средний калорийный эффект |
|---|---|---|---|
| Пропущенный компонент в многокомпонентном блюде | 10 | 25% | 85 калорий |
| Переоценка порции (>20% выше фактической) | 7 | 17.5% | 62 калории |
| Понижение порции (>20% ниже фактической) | 9 | 22.5% | 58 калорий |
| Неверная идентификация пищи | 4 | 10% | 45 калорий |
| Непоследовательный результат (одно и то же блюдо, разные калории) | 14 | 35%* | Средняя разница 52 калории |
| Пропущенные калории из жидкостей (соусы, масла) | 6 | 15% | 72 калории |
*Измерено по 20 парам блюд, а не по 40 отдельным фотографиям.
Наиболее частой ошибкой была непоследовательность — 14 из 20 блюд давали разные калорийные значения при фотографировании дважды. Наиболее значительной по калориям ошибкой были пропущенные компоненты, в среднем 85 неучтенных калорий за случай. Пропущенные калории из жидкостей (соусы, масла) также были значительными — 72 калории за случай.
Эти ошибки не происходят изолированно. Одна фотография блюда может вызвать несколько режимов ошибок одновременно — смешанное блюдо может иметь пропущенный компонент, недооцененную порцию и непоследовательный результат по сравнению со вторым фото.
Проблема запасного варианта: когда фотоучет не срабатывает
Когда Snap It не может идентифицировать продукт или пользователь понимает, что идентификация неверна, приложение переходит на ручной поиск. Здесь возникает вторая проблема надежности. Lose It! использует базу данных, которая включает записи, отправленные пользователями, наряду с проверенными данными, аналогично структуре других краудсорсинговых баз данных.
Пользователь, который начал с фотоучета, чтобы сэкономить время, теперь должен вручную искать в базе данных, оценивать несколько записей для одного и того же продукта и догадываться, какая из них правильная. Преимущество скорости фотоучета теряется, и пользователь снова сталкивается с теми же проблемами точности, которые затрагивают любую краудсорсинговую базу данных о пище. Исследование 2019 года в Journal of the Academy of Nutrition and Dietetics показало, что краудсорсинговые базы данных о питании содержат значительные ошибки в примерно 27% изученных записей.
Это создает непоследовательный опыт учета. Некоторые блюда учитываются через фото с одним уровнем точности. Другие блюда учитываются вручную с другим уровнем точности. Суточный итог калорий пользователя становится мозаикой данных с различной надежностью, что затрудняет выявление тенденций или доверие к цифрам.
Как Nutrola подходит к надежности фото ИИ по-другому
Фото ИИ Nutrola решает три аспекта надежности — идентификацию, точность порции и консистентность — через другой архитектурный подход.
Идентификация пищи в Nutrola сопоставляет каждую распознанную еду напрямую с проверенной базой данных, содержащей более 1.8 миллиона записей. Когда ИИ идентифицирует курицу на вашем фото, он связывает ее с одной проверенной записью для куриного филе, а не со списком записей, отправленных пользователями, с различными калорийными значениями. Это устраняет каскадную ошибку, когда правильная идентификация все равно приводит к неверным калориям из-за плохой записи в базе данных.
Для точности порции Nutrola сочетает анализ фото с голосовым учетом как быстрым слоем коррекции. Если ИИ оценивает вашу порцию риса в 150 граммов, но вы знаете, что отмерили 200 граммов, вы можете сказать: "на самом деле это было около 200 граммов", и запись обновится мгновенно. Этот подход с участием человека признает, что ни один ИИ не может идеально оценить порции по 2D-фото, обеспечивая механизм коррекции, который занимает секунды, а не требует полного ручного поиска.
Преимущество консистентности заключается в самой проверенной базе данных. Поскольку каждая еда сопоставляется с одной записью, повторные фотографии, идентифицирующие одну и ту же еду, всегда дают одно и то же базовое значение калорий. Оценки порций могут немного варьироваться между фотографиями, но основные данные о питательных веществах стабильны и проверены.
Nutrola также предлагает сканирование штрих-кодов для упакованных продуктов и функцию импорта рецептов для домашних блюд, обеспечивая, чтобы каждый метод учета подключался к одной и той же проверенной базе данных. Доступно на iOS и Android за €2.50 в месяц без рекламы, Nutrola ставит надежность данных выше размера базы данных.
Часто задаваемые вопросы
Насколько точен Snap It для повседневных блюд?
В наших тестах Snap It правильно идентифицировал все компоненты пищи только в 60% фотографий. Для отдельных продуктов и упакованных товаров точность была высокой — около 95% правильной идентификации с оценками порций в пределах 5-15% от фактического веса. Для многокомпонентных блюд и смешанных боулов точность значительно снизилась, приложение пропустило хотя бы один компонент пищи в 25% всех фотографий, а оценки порций отклонялись на 35-45% от измеренных значений.
Дает ли Snap It одинаковый результат, если я сфотографирую одно и то же блюдо дважды?
Нет. В нашем тесте 20 блюд, сфотографированных дважды, только 30% дали последовательные калорийные результаты по обеим фотографиям. Средняя разница в калориях между дублирующими фотографиями составила 52 калории, при этом некоторые блюда показывали разницу в 80-89 калорий. Эта непоследовательность означает, что количество калорий, которое вы получаете, зависит частично от конкретного угла, освещения и момента, когда вы делаете фото, а не только от того, что вы едите.
С какими типами пищи Snap It работает лучше всего?
Snap It наиболее надежен с визуально четкими, отдельными продуктами (целые фрукты, яйца, нарезанный хлеб) и упакованными продуктами, где этикетка или название бренда видны на фото. Эти категории показали уровень правильной идентификации выше 95% и оценки порций в пределах 5-15% от фактических значений. Функция наименее надежна с смешанными боулами, многокомпонентными тарелками в ресторане и визуально схожими злаками, такими как рис, кус-кус и киноа.
Почему Snap It пропускает ингредиенты в моем боуле или тарелке?
Когда продукты уложены слоями, смешаны или частично скрыты под другими ингредиентами, ИИ не может визуально различить отдельные компоненты. В буррито боуле, например, бобы под рисом или сыр, смешанный с другими начинками, становятся невидимыми для камеры, которая захватывает только верхнюю поверхность. Каждый пропущенный ингредиент представляет собой неучтенные калории — обычно от 50 до 150 калорий за пропущенный компонент, исходя из наших тестов.
Достаточно ли точен фотоучет калорий для похудения?
Фотоучет может быть достаточно точным для грубой оценки калорий, но обычно недостаточен для точного контроля дефицита при похудении. Наши тесты показали среднее отклонение точности порции в 25.5% по всем типам пищи, что переводится в ежедневные ошибки калорий от 150 до 400 калорий в зависимости от сложности блюда. Для контекста, типичный дефицит для похудения составляет 500 калорий в день, что означает, что ошибки фотоучета могут устранить 30-80% запланированного дефицита. Сочетание фотоучета с проверкой порций — либо путем взвешивания пищи, либо с использованием голосовой коррекции, как это предлагает Nutrola — значительно улучшает точность.
Готовы трансформировать отслеживание питания?
Присоединяйтесь к тысячам тех, кто изменил свой путь к здоровью с Nutrola!