Насколько точен Cal AI? Тест на 20 продуктах по сравнению с данными USDA

Мы протестировали оценку калорий в приложении Cal AI на основе фотографий, сравнив её с данными USDA FoodData Central по 20 распространённым продуктам. Среднее отклонение: ±160 калорий в день. Анализ точности фотографий по типу блюд, проблемы с оценкой порций и недостатки AI.

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

Cal AI — это приложение для отслеживания калорий на основе фотографий, использующее компьютерное зрение для оценки калорийности пищи. Идея привлекательна: сделайте снимок вашего блюда и получите мгновенную оценку калорий, не ища в базах данных, не сканируя штрих-коды и не вводя ничего вручную. Никакого ручного ввода, выбора из списков или взвешивания порций.

Однако оценка калорий на основе фотографий сталкивается с фундаментальными техническими проблемами, которые не решены даже с помощью самых современных AI. Двумерное изображение трёхмерной пищи не может передать глубину, плотность, скрытые слои или невидимые калории от масел и соусов. Вопрос не в том, идеален ли Cal AI — никто этого не ожидает — а в том, достаточно ли он точен, чтобы предоставить пользователям значимые результаты для управления своим питанием.

Мы протестировали Cal AI, используя нашу стандартную методику: 20 распространённых продуктов, точно взвешенных, сфотографированных при нормальном освещении в домашних условиях и сравненых с данными USDA FoodData Central.

Как работает Cal AI

Cal AI использует модели компьютерного зрения для анализа фотографий еды и оценки калорийности. Процесс состоит из трёх этапов:

  1. Идентификация продуктов. AI определяет, какие продукты присутствуют на фотографии.
  2. Оценка порций. AI оценивает количество каждого идентифицированного продукта на основе визуальных подсказок, таких как размер тарелки, пропорции пищи и изученные ссылки на размеры.
  3. Расчёт калорий. Оцененные порции умножаются на калорийность на грамм, чтобы получить общую оценку калорий.

Нет проверенной базы данных продуктов, к которой можно было бы сопоставить фотографию. Оценка калорий исходит из обучающих данных модели AI и её усвоенных ассоциаций между визуальными характеристиками пищи и содержанием калорий. Нет сканера штрих-кодов, голосового ввода или ручного поиска в базе данных — фотография является единственным методом ввода.

Тест на точность 20 продуктов: Cal AI против данных USDA

Каждый продукт был взвешен на откалиброванных кухонных весах, подан в обычном виде (не разложен или искусственно оформлен) и сфотографирован под естественным углом при стандартном освещении. Данные USDA взяты из FoodData Central для точно измеренного веса.

# Продукт Вес (г) Ссылка USDA (ккал) Оценка Cal AI (ккал) Отклонение (ккал) Отклонение (%)
1 Куриная грудка, жареная 150 248 220 -28 -11.3%
2 Коричневый рис, варёный 200 248 275 +27 +10.9%
3 Банан, средний 118 105 110 +5 +4.8%
4 Цельное молоко (стакан) 244 149 170 +21 +14.1%
5 Филе лосося, запечённое 170 354 310 -44 -12.4%
6 Авокадо, целое 150 240 200 -40 -16.7%
7 Греческий йогурт, натуральный (чаша) 200 146 160 +14 +9.6%
8 Сладкий картофель, запечённый 180 162 145 -17 -10.5%
9 Миндаль, сырой (небольшая чаша) 30 174 210 +36 +20.7%
10 Хлеб из цельной пшеницы (2 ломтика) 50 130 140 +10 +7.7%
11 Яйцо, большое, scrambled 61 91 105 +14 +15.4%
12 Брокколи, на пару 150 52 45 -7 -13.5%
13 Оливковое масло (столовая ложка на тарелке) 14 119 60 -59 -49.6%
14 Арахисовое масло (на хлебе) 32 190 155 -35 -18.4%
15 Чеддер (ломтики) 40 161 140 -21 -13.0%
16 Паста, варёная (тарелка) 200 262 290 +28 +10.7%
17 Яблоко, среднее 182 95 90 -5 -5.3%
18 Говядина, 85% нежирная (котлета) 120 272 240 -32 -11.8%
19 Овсянка, сухая (чаша) 40 152 180 +28 +18.4%
20 Чечевица, варёная (чаша) 180 207 185 -22 -10.6%

Статистика в сводке

  • Среднее абсолютное отклонение: 22.2 ккал на продукт
  • Максимальное отклонение: 59 ккал (оливковое масло)
  • Средний процент отклонения: 13.3%
  • Продукты в пределах 5% от значений USDA: 2 из 20 (10%)
  • Продукты в пределах 10% от значений USDA: 5 из 20 (25%)
  • Продукты с нулевым отклонением: 0 из 20 (0%)

Отклонения по каждому продукту значительно больше, чем у трекеров, основанных на базах данных. Оливковое масло — столовая ложка, выложенная на тарелке — была недооценена почти на 50%, что подчеркивает основную проблему оценки калорийности жидкостей с высокой калорийностью по фотографии.

Точность фотографий по типу блюда

Точность Cal AI значительно варьируется в зависимости от того, что вы фотографируете. Мы расширили тестирование, чтобы оценить полные сценарии приёма пищи.

Тип блюда Точность идентификации Точность оценки калорий Типичное отклонение
Одно целое блюдо (яблоко, банан) ~85% ±8% ±8-12 ккал
Простое блюдо на тарелке (белок + один гарнир) ~78% ±15% ±40-80 ккал
Сложная многокомпонентная тарелка ~60% ±25% ±80-150 ккал
Еда из ресторана ~55% ±30% ±100-200 ккал
Упакованная еда (без штрих-кода) ~75% ±18% ±30-60 ккал
Блюда в миске (салаты, зерновые блюда) ~65% ±22% ±60-120 ккал
Супы и жидкие блюда ~50% ±35% ±80-180 ккал

Ясно одно: точность снижается с увеличением сложности блюда. Одно яблоко, сфотографированное при хорошем освещении, является относительно простой задачей для компьютерного зрения. Тарелка из ресторана с белком, крахмалом, овощами, соусом и гарниром — где продукты перекрываются, соусы скрывают поверхности, а порции оформлены, а не измерены — это крайне сложная задача.

Проблема с оценкой порций

Основной источник неточности Cal AI — это не идентификация продуктов, а оценка порций. Вот почему.

2D фотографии трёхмерной пищи

Фотография преобразует трёхмерную еду в двумерное изображение. Широкая мелкая тарелка и глубокая узкая чаша могут содержать совершенно разные объёмы, хотя выглядят похоже сверху. Куриная грудка может быть толстой или тонкой, и фотография сверху не может их различить.

Визуальный сценарий Что видит Cal AI Что на самом деле существует Ошибка
Высокая чаша с рисом Средний круг белой еды 350 г риса (глубокая чаша) Недооценка на 30-40%
Тонкий слой риса на тарелке Большой круг белой еды 150 г риса (распределённый плоско) Переоценка на 20-30%
Толстая куриная грудка Прямоугольный белый белок 200 г (толстый кусок) Недооценка на 15-25%
Тонкая куриная грудка Похожая прямоугольная форма 120 г (тонкий кусок) Переоценка на 10-20%

Ни одна из существующих моделей AI надёжно не решает проблему восприятия глубины с помощью одной фотографии. Некоторые подходы используют объекты для сравнения (например, размещая монету рядом с едой) или стереофотографию, но Cal AI использует одну неограниченную фотографию, что ограничивает оценку глубины изученными эвристиками.

Проблема скрытых калорий

Некоторые калорийные ингредиенты невидимы или почти невидимы на фотографиях:

  • Кулинарные масла, впитывающиеся в еду во время жарки или запекания, добавляют 40-120 ккал на столовую ложку, но не оставляют видимых следов.
  • Масло, растопленное в рисе, пасте или овощах, может быть невидимо на фотографии.
  • Соусы и заправки, находящиеся под листьями салата, смешанные с пастой или политыми под белком, частично или полностью скрыты.
  • Сыр, растопленный в блюдах, визуально сливается с едой под ним.
  • Сахар, растворённый в напитках, совершенно невидим.

В нашем тесте с оливковым маслом столовая ложка (119 ккал), выложенная на тарелке, была оценена всего в 60 ккал. Когда то же количество оливкового масла использовалось для приготовления курицы и стало невидимым, Cal AI не оценил дополнительные калории от масла — недостача в 119 ккал из-за одной столовой ложки кулинарного жира.

Это не недостаток конкретной реализации Cal AI. Это фундаментальное ограничение оценки калорий по фотографиям. Любая система, основанная на фотографиях, будет сталкиваться с трудностями с невидимыми калориями.

Накопление ошибок в течение дня: что значит ±160 калорий

В течение полного дня питания оценки Cal AI на основе фотографий дают среднее суточное отклонение примерно ±160 калорий от общих значений USDA.

  • ±160 ккал/день за 7 дней = ±1,120 ккал/неделя
  • Дефицит в 500 ккал/день становится где-то от 340 до 660 ккал дефицита
  • За 30 дней накопленная ошибка достигает ±4,800 ккал — примерно 1.4 фунта жира, что вызывает неопределённость

В отличие от трекеров, основанных на базах данных, где ошибки относительно постоянны (один и тот же продукт всегда возвращает одни и те же калории), ошибки Cal AI переменные. То же самое блюдо, сфотографированное с другого ракурса, при другом освещении или на другой тарелке, может давать разные оценки калорий. Эта изменчивость затрудняет пользователям развитие откалиброванного восприятия своего потребления.

Для тех, кто отслеживает питание не слишком строго, чтобы сформировать общее представление о своих пищевых привычках, ±160 ккал/день может быть приемлемым — это правильно укажет на день с 3,000 калориями против дня с 1,500 калориями. Для тех, кто стремится достичь конкретной калорийной цели для управления весом, диапазон ошибок достаточно широк, чтобы скрыть значимые сигналы о прогрессе.

Где Cal AI точен

Cal AI работает лучше всего в определённых, благоприятных условиях.

Простые, хорошо оформленные блюда из одного продукта. Жареная куриная грудка на белой тарелке, одно яблоко или чаша простой овсянки — это сценарии, где AI имеет сильные обучающие данные и еда хорошо видна. Точность для простых блюд достигает ±8-10%, что разумно для быстрого ввода.

Регулярно фотографируемые блюда. Если вы регулярно едите похожие блюда и фотографируете их в схожих условиях, ошибки становятся постоянными и предсказуемыми. Это меньше о точности и больше о прецизионности — цифры могут быть неверными, но они ошибаются на схожую величину каждый раз, что сохраняет относительный сигнал.

Скорость и удобство. Основная ценность Cal AI заключается не в точности, а в скорости. Сделать снимок занимает 3 секунды. Поиск в базе данных, выбор нужной записи и ввод размера порции занимают 30-60 секунд на каждый продукт. Для пользователей, которые иначе не стали бы отслеживать, снижение трения от Cal AI имеет подлинную ценность.

Визуальные журналы питания. Подход с фотографиями создаёт визуальный отчёт о том, что вы ели, что имеет поведенческие преимущества независимо от точности калорий. Исследования показывают, что фотографирование еды увеличивает осведомлённость о диете, даже без точных данных о калориях.

Где Cal AI не справляется

Смешанные тарелки и сложные блюда. Любое блюдо с более чем 2-3 отдельными компонентами быстро теряет точность. Реальное питание — это ужин с белком, крахмалом, овощами и соусом — по своей сути сложно, и именно здесь отклонение Cal AI в ±25-30% делает оценки калорий ненадёжными.

Соусы, масла и скрытые калории. Как показали результаты тестов, калорийные, но визуально незаметные ингредиенты сильно недооценены или полностью пропущены. Домашнее блюдо с 2 столовыми ложками оливкового масла, использованного в приготовлении, может быть недооценено на 200+ калорий только из-за невидимого масла.

Слабое освещение и плохие условия для фотографий. Освещение в ресторане, вечернее освещение на кухне и любая среда, где еда не чётко освещена, снижают как точность идентификации, так и оценку порций. AI нуждается в чётких визуальных данных для работы.

Отсутствие запасного варианта для неудачной идентификации. Когда Cal AI не может идентифицировать продукт — что происходит примерно с 20-45% предметов в зависимости от сложности — нет сканера штрих-кодов, нет поиска в базе данных и нет голосового ввода, на который можно было бы полагаться. Пользователь остаётся с неполной или неверной оценкой и без альтернативы в приложении.

Отсутствие проверенной базы данных. Cal AI не сопоставляет идентифицированные продукты с проверенной питательной базой данных. Оценка калорий исходит из усвоенных ассоциаций модели AI, что означает, что нет авторитетного источника, который бы подтверждал значения калорий на грамм, используемые в расчёте. Если модель усвоила неверную ассоциацию (например, переоценив калорийность варёного риса), эта ошибка будет присутствовать в каждой будущей оценке этого продукта.

Сложные и многослойные блюда. Сэндвич, сфотографированный сверху, показывает только верхний ломтик хлеба. AI должен догадываться о том, что внутри, исходя из визуальных подсказок по краям. Бургер с толстой котлетой, сыром и несколькими начинками будет оценён по-разному в зависимости от того, что видно с угла камеры.

Как Cal AI сравнивается с трекерами на основе баз данных

Показатель Cal AI Nutrola MacroFactor FatSecret
Среднее суточное отклонение ±160 ккал ±78 ккал ±110 ккал ±175 ккал
Метод ввода Только фото Фото AI + Голос + Поиск + Штрих-код Поиск + Штрих-код Поиск + Штрих-код
Идентификация продуктов AI зрение AI зрение + проверенная база данных Ручной (курируемый) Ручной (собранный от пользователей)
Оценка порций AI по фотографии AI + ручная корректировка Ручной (пользователь взвешивает) Ручной (пользователь взвешивает)
Сканер штрих-кодов Нет Да (3M+ продуктов, 47 стран) Да Да
Голосовой ввод Нет Да (~90% точности) Нет Нет
Резервный вариант базы данных Нет 1.8M+ проверенных записей Курируемая база данных Собранная база данных
Скорость ввода ~3 секунды ~5-10 секунд ~30-60 секунд ~30-60 секунд

Преимущество Cal AI — это скорость. Его недостаток в том, что каждый другой показатель точности хуже, чем у альтернатив, использующих проверенные или курируемые базы данных. Приложение занимает определённую нишу: пользователи, которые ценят удобство выше точности и которые вообще не стали бы отслеживать, если бы им пришлось искать в базах данных или сканировать штрих-коды.

Для пользователей, которые хотят удобства AI по фотографии, не жертвуя точностью, основанной на базе данных, Nutrola предлагает идентификацию по фотографии, которая сопоставляется с базой данных, проверенной диетологами, содержащей более 1.8 миллиона записей, предоставляя преимущества скорости ввода фотографий с точностью проверенных данных о питании. Nutrola также предлагает голосовой ввод и сканирование штрих-кодов в качестве альтернативных методов ввода, когда фотография нецелесообразна, чего Cal AI предложить не может. Nutrola доступна на iOS и Android по цене €2.50 в месяц без рекламы.

Часто задаваемые вопросы

Может ли Cal AI заменить традиционное приложение для отслеживания калорий?

Для неформального контроля за питанием — понимания, много ли вы съели в определённый день — Cal AI может предоставить полезные приблизительные оценки. Для конкретных калорийных целей, протоколов управления весом или любой цели, зависящей от точности в пределах 100-200 калорий в день, суточное отклонение Cal AI в ±160 ккал делает его ненадёжным в качестве основного инструмента отслеживания. Пользователи с целями точности лучше обслуживаются приложениями с проверенными базами данных и несколькими методами ввода.

Почему Cal AI испытывает трудности с оценкой порций?

Фундаментальная проблема заключается в том, что одна двумерная фотография не может захватить трёхмерные свойства пищи — глубину, плотность и объём. Глубокая чаша с супом и мелкая тарелка с пастой могут выглядеть похоже сверху, но содержать совершенно разные количества еды. Кроме того, калорийные ингредиенты, такие как масла, масло и сахар, которые смешиваются с пищей или впитываются в неё, невидимы на фотографиях. Это физические ограничения, которые применимы ко всем системам оценки на основе фотографий, а не только к Cal AI.

Является ли Cal AI более точным для некоторых продуктов, чем для других?

Да, значительно. Одно целое блюдо с постоянными формами (яблоки, бананы, яйца) даёт оценки в пределах ±5-8% от значений справки. Простые блюда на тарелке с видимыми, отдельными компонентами достигают ±15%. Сложные смешанные тарелки, ресторанные блюда и супы снижаются до ±25-35% точности. Чем более визуально сложным и многослойным является блюдо, тем менее точна оценка.

Учится ли Cal AI на исправлениях и улучшает ли он со временем?

Модель AI Cal AI обновляется через общее обучение модели, а не через индивидуальные исправления пользователей. Если вы исправляете оценку в приложении, это не улучшает будущие оценки для этой конкретной еды в вашем аккаунте. Улучшения модели происходят через обновления обучающих данных, выпущенные как обновления приложения. Это означает, что систематические ошибки для конкретных типов продуктов будут сохраняться до тех пор, пока модель не будет переобучена.

Как Cal AI обрабатывает блюда с несколькими продуктами на одной тарелке?

AI пытается сегментировать фотографию на отдельные области пищи и оценить каждый компонент отдельно. Это работает достаточно хорошо, когда продукты чётко разделены на тарелке (белок с одной стороны, овощи с другой). Точность значительно снижается, когда продукты перекрываются, смешаны или покрыты соусами. Для тарелки с 4-5 отдельными продуктами ожидайте, что 1-2 из них будут неправильно идентифицированы или иметь значительно неверные оценки порций.

Готовы трансформировать отслеживание питания?

Присоединяйтесь к тысячам тех, кто изменил свой путь к здоровью с Nutrola!