Подсчёт калорий по фото - раскрываем секреты

На выходных мы с дочкой зашли в кафе, и я сфотографировала тыквенный крем-суп. Подача оказалась, мягко говоря, специфической: суп принесли в глубокой конусообразной тарелке, очень похожей на цветочный горшок, без зелени, тыквенных семечек, сухариков или каких-либо украшений. Просто ровная оранжевая поверхность. Я отправляю фото в Telegram-бот Fitconnect для анализа, и модель выдает ответ: «Жидкое блюдо неизвестного состава».

Когда я показала этот снимок коллегам, смеялись все. Действительно, описать то, что было изображено на фото, как-то иначе было просто невозможно. Миша философски резюмировал: «Мы же тысячу раз это обсуждали. Если ты сам по фото не можешь понять, что это такое, модель тоже не поймет. Это не магия, а алгоритмы и математика».

С момента запуска нашего бота самые частые вопросы, которые мы слышим от пользователей: «Как бот считает калории по фото?» и «Зачем мне вводить вес, если ИИ такой умный?». А еще вот недавно спорили про калорийность яйца: бот выдал одно значение, колонка Алиса сказала другое, а в кулинарном справочнике 1953 года – вообще третья цифра!

Сегодня мы решили приоткрыть внутреннюю кухню проекта. Опираясь на самые свежие научные исследования в области компьютерного зрения и обработки изображений визуально-языковыми моделями, мы расскажем, как ИИ на самом деле «видит» вашу тарелку, как работает подсчёт калорий по фото, в чем состоит уникальность нашего подхода к подсчету КБЖУ и почему современная наука считает его наиболее эффективным.

TG

Telegram-бот Fitconnect
Начните вести дневник питания, веса и шагов с ИИ-наблюдателем Fitconnect.

Запустить бота

ИИ не всегда точно распознаёт блюдо для подсчёта калорий по фото
ИИ не всегда точно распознаёт блюдо для подсчёта калорий по фото

Что ИИ видит на фото еды – и чего не видит

Современные визуально-языковые модели хорошо справляются с распознаванием базовых компонентов пищи. Когда вы фотографируете тарелку, алгоритм с высокой точностью определяет основные категории продуктов: он понимает, где находится рис, где – курица, а где – овощи. Исследования показывают, что нейросети лучше всего распознают такие базовые группы, как источники белка, злаки, бобовые и фрукты, а также успешно считывают их видимые пропорции на тарелке.[5]

Однако у визуального анализа есть объективные ограничения. Поэтому ИИ-подсчёт калорий по фото хорошо работает с видимыми продуктами, и не умеет читать мысли повара. ИИ не видит, сколько именно масла впитала картошка в процессе готовки, скрыт ли под листьями салата майонез или легкая заправка, круассан пустой или с шоколадом.

Ученые подчеркивают, что скрытые компоненты, такие как добавленные масла или соусы, часто визуально неотличимы от остальных продуктов. Кроме того, для алгоритмов одной из самых сложных задач остается определение способа термической обработки. Для камеры запеченное блюдо и обжаренное во фритюре могут выглядеть практически одинаково. При этом именно невидимые ингредиенты и методы приготовления кардинально меняют итоговое количество калорий, белков, жиров и углеводов, оставаясь недоступными для прямого визуального анализа.

Зачем нужен вес порции при подсчёте калорий по фото

С точки зрения оптики, любая фотография – это двухмерная проекция трехмерного мира. Из-за этого алгоритмы сталкиваются с проблемой, которую в компьютерном зрении называют «монокулярной неоднозначностью масштаба». Объективу камеры сложно определить физические габариты еды без дополнительных датчиков глубины. Большая тарелка, сфотографированная с высоты роста, может выглядеть для нейросети точно так же, как десертное блюдце, снятое вблизи. В лабораторных исследованиях для решения этой проблемы рядом с тарелкой кладут специальные калибровочные маркеры, а в бытовых условиях алгоритмы пытаются ориентироваться на размер столовых приборов, что не всегда дает точный результат.

Вторая трудность – перекрытие слоев. В реальной жизни еда редко разложена ровно. Овощи или листья салата, лежащие сверху, часто скрывают под собой гарнир и источники белка. Исследователи отмечают, что по мере увеличения размера порции нейросети начинают систематически занижать ее калорийность, так как значительная часть еды (и, следовательно, калорий) оказывается визуально перекрыта.[2]

Третье ограничение заключается в разнице между объемом и массой. Даже если ИИ сможет идеально рассчитать объем блюда в кубических сантиметрах, для корректного подсчета калорий, белков, жиров и углеводов (КБЖУ) этот объем необходимо перевести в граммы. Ученые констатируют, что моделям крайне трудно визуально оценивать плотность продуктов. Например, чашка объемного попкорна и чашка плотного пюре займут одинаковое пространство на фото, но их реальный вес и пищевая ценность будут кардинально различаться.

Именно поэтому мы запрашиваем вес порции. Это не перекладывание расчетов на пользователя, а единственный надежный способ обойти физические ограничения 2D-снимков. Знание точного веса дает алгоритму математическую точку опоры, которая нивелирует ошибки масштаба, перекрытия слоев и невидимой плотности продуктов.

Вес порции помогает точнее считать калории и КБЖУ по фото

От общего веса к деталям

Если нейросеть просто посмотрит на фотографию, она сможет определить визуальные пропорции. Например, она увидит, что половину тарелки занимает стейк, а вторую половину – листья салата. Но 50% площади тарелки не равны 50% массы. Объемный салат может весить 30 граммов, а плотный кусок мяса – 200. Если доверить распределение веса исключительно базовой логике искусственного интеллекта, расчеты будут искажены из-за непонимания физической плотности объектов.

Здесь вступает в работу алгоритм переоценки и двухэтапный подход декомпозиции блюда. Ученые подтверждают, что разделение задачи на анализ состава («что лежит на тарелке») и последующий расчет питательной ценности существенно повышает надежность оценки.[4] Алгоритм работает в 2 этапа:

Разбор на компоненты: Сначала визуальная модель действует как аналитик. Она сегментирует изображение, определяя список базовых ингредиентов и их видимые пропорции.

Переоценка и распределение: Получив список ингредиентов и общий вес от пользователя, наш внутренний алгоритм корректирует визуальные данные. В результате общий вес распределяется между ингредиентами не поровну и не по площади, а пропорционально их реальным физическим свойствам. Затем проводится финальный расчет КБЖУ по фото.

Почему комментарий к фото помогает точнее считать КБЖУ

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

Именно поэтому ваш короткий комментарий к фотографии – например, «это веганская котлета» или «кофе с сахаром» – работает как точный навигатор для алгоритма. Исследования доказывают, что добавление текстовых подсказок (контекстных метаданных) кардинально снижает процент ошибок искусственного интеллекта при оценке питательной ценности блюд.[1]

От одной тарелки к картине недели

Разделение на отдельные ингредиенты с их весом – это не просто способ рассчитать КБЖУ конкретного обеда. Это фундамент, на котором строится агрегированная аналитика.

Поскольку ИИ-наблюдатель «видит» не просто абстрактный бургер на 500 ккал, а понимает, сколько в нем граммов белой булочки, мясной котлеты и соуса, мы можем анализировать структуру вашего питания на длинной дистанции и собирать глубокие еженедельные отчеты.

Вот лишь несколько примеров того, что дает такая декомпозиция на уровне недельной статистики:

Контроль ультрапереработанной еды: вы сможете увидеть, какой именно процент от всей съеденной за неделю пищи (в граммах) составила ультрапереработанная еда – от промышленных сосисок до покупных десертов.

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

Качество макронутриентов: вы увидите не просто общую цифру съеденного белка, а поймете, какова была доля чистого белка, и какое количество полезной клетчатки поступило из овощей в процентном соотношении ко всему рациону.

Комментарий к фото еды помогает ИИ точнее считать КБЖУ

Как Fitconnect повышает точность подсчёта калорий по фото

Языковые и визуальные модели не работают как классические калькуляторы. Их архитектура построена на теории вероятностей: алгоритм генерирует ответ, шаг за шагом предсказывая наиболее подходящее следующее слово или цифру на основе заложенных в него паттернов. Поскольку такие модели обучались на колоссальном и разнородном массиве текстов и изображений, их ответы по своей природе недетерминированы (нестабильны).[3] Если вы отправите нейросети одну и ту же фотографию дважды, она может выдать разные цифры. Это происходит потому, что при повторном запросе алгоритм может опереться на другой «корпус знаний», вспомнить альтернативную рецептуру или по-другому расставить весовые коэффициенты при параллельных вычислениях.

Чтобы исключить эти расхождения, мы работаем с базами данных калорийности и БЖУ напрямую. Бот использует визуальный анализ исключительно как зрение – чтобы определить базовый состав тарелки. После того как ингредиенты распознаны, алгоритм обращается к специализированной базе знаний и запрашивает калорийность там.[6]

Тем не менее, стоит понимать, что даже объемные базы данных не способны обеспечить 100% детерминированный ответ в абсолютно каждом случае. Если для монопродукта (например, свежего помидора или отварного яйца) в базе есть одна запись, то со сложными блюдами всё иначе. Та же пицца или ресторанный салат имеют десятки вариаций приготовления. При поиске по базе для таких многокомпонентных блюд система все равно сталкивается с вариативностью, подбирая усредненный профиль, наиболее близкий к вашему фото и комментарию.

Почему подсчёт калорий по фото всё равно работает

Узнав о погрешностях алгоритмов и баз данных, можно задаться вопросом: зачем тогда нужен визуальный трекинг? Ответ кроется в балансе между математикой и психологией. Во-первых, это быстро и просто. Фотография занимает секунды, снимает когнитивную нагрузку и избавляет от необходимости вручную вбивать каждый ингредиент в приложение.

Во-вторых, абсолютной точности в подсчете калорий не существует в природе. Даже официальные этикетки на продуктах в магазине, согласно пищевым стандартам, имеют допустимую погрешность до 20%. Если добавить к этому разницу во впитывании масла или содержании сахара в фруктах разной степени зрелости, становится ясно, что погоня за идеальным КБЖУ – это иллюзия.

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

Что это значит для вас

Желание понять, как именно бот считает калорийность, абсолютно понятно и закономерно. Как и опасения по поводу недетерминированности нейросетей – никому не хочется получать разные цифры за одну и ту же тарелку. Однако здесь важно избежать распространенной когнитивной ловушки. Суть контроля питания не в том, что алгоритм может локально ошибиться, записав вам сегодня на 200 калорий больше, а завтра на 150 меньше. Настоящая проблема классического подсчета заключается в том, что из-за сложности и нудности ручного ввода люди часто устают и вовсе бросают вести дневник.

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

Подсчёт калорий по фото помогает увидеть тренд питания за неделю

Telegram 

Если вам близок такой подход, подписывайтесь на наш Telegram-канал Fitconnect
Там мы делимся короткими выводами из статей, наблюдениями из практики и новостями об обновлениях и новых функциях системы.

Перейти в канал 

Источники: 1. Coburn, B., He, J., Rollo, M. E., Dhaliwal, S. S., Kerr, D. A., & Zhu, F. (2025). Comprehensive Evaluation of Large Multimodal Models for Nutrition Analysis: A New Benchmark Enriched with Contextual Metadata. arXiv preprint arXiv:2507.07048. 2. Fridolfsson, J., Sjöberg, E., Thiwång, M., & Pettersson, S. (2025). Performance evaluation of Three Large Language Models for Nutritional Content Estimation from Food Images. Current Developments in Nutrition, 107556. 3. He, H., & Machines, T. (2025). Defeating nondeterminism in llm inference. Blog post, Thinking Machines Lab. URL: https://thinkingmachines.ai/blog/defeating-nondeterminism-in-llm-inference. 4. Khlaisamniang, P., Kerdthaisong, K., Vorathammathorn, S., Yongsatianchot, N., Phimsiri, H., Chinkamol, A., ... & Saengja, T. (2025). Decomposing Food Images for Better Nutrition Analysis: a Nutritionist-Inspired Two-Step Multimodal Llm Approach. In Proceedings of the Computer Vision and Pattern Recognition Conference (pp. 482-491). 5. Romero-Tapiador, S., Tolosana, R., Lacruz-Pleguezuelos, B., Marcos-Zambrano, L. J., Bazán, G. X., Espinosa-Salinas, I., ... & Morales, A. (2025). Are vision-language models ready for dietary assessment? Exploring the next frontier in AI-powered food image recognition. In Proceedings of the Computer Vision and Pattern Recognition Conference (pp. 430-439). 6. Yan, R., Luo, H., Lu, J., Liu, D., Posluszny, H., Dhaliwal, M. P., ... & Hu, X. (2025). DietAI24 as a framework for comprehensive nutrition estimation using multimodal large language models. Communications Medicine, 5(1), 458.