Немецкие исследователи разработали алгоритм, определяющий пищевую ценность блюд по фотографии: их калорийность и содержание белков, углеводов и жиров.
В отличие от многих других подобных алгоритмов новый определяет эти показатели напрямую, а не обращаясь к базе данных о пищевой ценности разных продуктов. Кроме того, алгоритм пытается предсказать и ингредиенты блюд.
Доклад об алгоритме будет представлен на конференции ICPR 2020, препринт доступен на arXiv.org.
Часть людей, сбрасывающих лишний вес или поддерживающих его на одном уровне, записывают приемы еды, отмечая ее пищевую ценность. Есть даже приложения, в которых этот процесс частично автоматизирован: если человек съел еду из магазина, на ее упаковку можно навести камеру, и приложение само добавит все данные в дневник потребления. Но это не подходит для самостоятельно приготовленной пищи и еды в кафе. В первом случае человек еще может рассчитать пищевую ценность, поскольку знает все компоненты, а во втором это можно сделать лишь очень примерно.
Исследователи в области компьютерного зрения уже несколько лет пытаются решить эту проблему. Как правило, алгоритмы по расчету пищевой ценности работают похожим образом: распознают на снимке блюдо и выдают соответствующие значения из базы. Также они могут учитывать размер блюда для более точного расчета калорий, хотя некоторые из недавних алгоритмов исходят из предположения, что перед камерой стандартная порция.
Подобные многостадийные алгоритмы сложны в разработке и не очень точны, отмечают авторы новой работы во главе с Райнером Штифельхаге (Rainer Stiefelhage) из Технологического института Карлсруэ. Они использовали иной подход, в котором нейросеть за один этап рассчитывает пищевую ценность на основе фотографии.
Алгоритм ценности
Разработчики самостоятельно подготовили датасет для обучения алгоритма, воспользовавшись двумя источниками: сайтом рецептов, где у большинства рецептов есть список ингредиентов и фотография готового блюда, и базой пищевой ценности различных продуктов. Поскольку рецепты пишутся разными людьми и содержат лишние данные (например, один и тот же продукт может быть указан как «лук», «лук, нарезанный кольцами» и «лук, нарезанный кубиками», хотя для анализа пищевой ценности это один и тот же ингредиент), исследователям пришлось полуавтоматически обработать данные.
В частности, они убрали лишние слова и перевели примерные величины (например, «одна столовая ложка») в конкретные. Затем они сопоставили данные с двух предварительно обработанных датасетов и собрали их в один, содержащий 70 тысяч рецептов и 308 тысяч фотографий.
Источник: nplus1.ru