Авторизация
Сброс пароля
Разработка ИИ для распознавания блюд на шведской линии отеля
Заказчик: London Restaurant Group
Страница кейса/результат: https://mobile.itfox-web.com/portfolio/case/ai/ru
Рассказываем, как мы разработали ИИ, который за 2 секунды распознает блюда на шведской линии отелей и экономит время официантов в 6,5 раз.
1. Вводная задача от заказчика, проблематика, цели
London Restaurant Group — ведущая сеть ресторанов на юге России, включающая 12 брендов, от ночных клубов до шведских линий. Главная ценность сети — высокий уровень сервиса и качества блюд.
Для поддержания этих стандартов руководство LRG активно внедряет ИТ-решения, автоматизируя процессы и минимизируя ошибки персонала и управляющих.
В этом кейсе мы расскажем о разработке искусственного интеллекта для распознавания блюд, который сократил время работы официантов в 6,5 раз при выдаче блюд на шведской линии отеля.
Как мы разработали ИИ для распознавания блюд
Мы долго сотрудничаем с London Restaurant Group, и уже разработали для них ИТ-решение, включающее мобильное приложение, автоматизацию бухгалтерии и инновационный Фотобокс — аппаратно-программное обеспечение для отслеживания остатков продуктов на шведской линии отеля с целью дальнейшей оптимизации закупок. В этом кейсе мы сосредоточимся на усовершенствовании Фотобокса, основанном на методах искусственного интеллекта.
При первом демонстрационном показе Фотобокса рестораторы крупных сетей и службы доставки проявили интерес к внедрению ИИ для определения блюд, что избавило бы от необходимости ручного поиска в веб-интерфейсе.
Почему мы решили заняться разработкой ИИ?
Если вы не знакомы с проектом Фотобокса, позвольте представить его основные функции.
Что такое Фотобокс?
Фотобокс — это устройство из нержавеющей пищевой стали, укомплектованное датчиками, которые собирают полную информацию о подаваемых блюдах.
Как проходил процесс работы с Фотобоксом до внедрения ИИ?
1. Стадия подготовки:
Отдел питания создает запрос на организацию приема пищи. Сотрудники определяют число посетителей и выбирают меню.
Исходя из запроса, рецептур и бюджета, главный повар, технолог и финансист одобряют план рациона в системе "1С:Общепит".
Сведения о меню (дата, час, блюда/продукты/питье, объем/масса/количество) загружаются в Фотобокс, который создает группы готовых к раздаче блюд с параметрами: наименование, вес, снимок, температура.
Данные о таре/гастротаре (названия, габариты, вес, фото) вводятся заранее, чтобы учитывать реальную массу блюд без веса емкостей.
2. Стадия регистрации реальных данных:
Официант берет блюдо и помещает его на весы. Над ними расположены сенсоры: видеокамера, датчик движения и термометр. Сотрудник выбирает название еды и тип тары. Система автоматически взвешивает, фотографирует и измеряет температуру блюда.
Ингредиенты можно добавить через функцию возврата. Система также отслеживает перемещение продуктов и готовых блюд за пределами зоны раздачи.
3. Стадия передачи сведений в хранилище данных:
После окончания приема пищи Фотобокс отправляет информацию об изображениях блюд, их массе, температуре и количестве в основную систему учета. Она автоматически списывает использованные продукты.
Что необходимо привнести с помощью искусственного интеллекта.
После запуска Фотобокса мы столкнулись с проблемой: сотрудники долго искали блюда в веб-программе, даже с функцией поиска. Наименования часто придумываются Шефами и могут быть сложными, поэтому официанты не всегда знали точные названия, что затягивало поиск до 20 секунд. В часы пик это становилось критическим.
В результате мы разработали умную систему, которая автоматически распознает блюда и отображает их названия в веб-приложении.
2. Описание реализации кейса и творческого пути по поиску оптимального решения
Как работает Фотобокс с использованием ИИ
Сотрудник размещает еду на платформе Фотобокса. Обученный ИИ идентифицирует блюдо и выводит на дисплей одно или несколько возможных названий.
Если блюдо имеет схожий состав, система может предложить несколько вариантов. Например, для моркови она может показать свежетертую морковь и пикантную морковь по-корейски.
В результате, разработанная нейронная сеть значительно облегчает поиск блюд в Фотобоксе, что ускоряет обслуживание клиентов.
Этапы разработки искусственного интеллекта.
Позвольте рассказать о ключевых этапах разработки искусственного интеллекта, начиная с аналитического.
Перед каждым проектом мы проводим исследование. Если можно решить задачу с минимальными затратами, мы обязательно сообщаем об этом клиенту. В данном случае мы изучили запрос заказчика и доступные решения на рынке, но подходящего варианта не нашли.
Существуют различные сервисы распознавания, например, система идентификации лиц от «ВКонтакте», но решения для распознавания блюд не оказалось. Поэтому мы решили разработать его самостоятельно.
Процесс разработки ИИ
Процесс создания искусственного интеллекта аналогичен разработке любого программного продукта. Мы разбиваем задачи на мелкие, назначаем ответственных, формируем команду и устанавливаем сроки.
Теперь рассмотрим технические аспекты. Опишу ключевые задачи, которые нужно было решить в процессе разработки ИИ:
Этап 1. Сбор данных и формирование датасета. Необходимо было собрать достаточно изображений в облачном хранилище и подготовить их для нейронной сети.
Этап 2. Тренировка нейронной сети на собранных изображениях для создания модели, способной распознавать блюда.
Этап 3. Внедрение обученной модели в каждый Фотобокс на объекте.
Что скрыто под капотом? Давайте заглянем внутрь!
В этом разделе расскажем о мерах, предпринятых для обеспечения корректного распознавания блюд.
Создание сервиса для подготовки данных нейронной сети.
Данные с каждого Фотобокса передаются на облачный сервер, а изображения хранятся на отдельном S3-сервере для экономии пространства основного сервера. Информация включает много дополнительных данных, но в нейронную сеть отправляются только фотографии и названия блюд. Для автоматизации обработки этих данных мы и разработали вышеупомянутый сервис.
Создание сервиса для определения блюд с использованием высокоточной нейронной сети.
В процессе разработки ИИ возникли проблемы:
1. Низкая скорость определения блюд на некоторых устройствах (до 4 секунд).
2. Низкое качество распознавания из-за разного количества изображений.
3. Помехи на фотографиях от лишних предметов.
Для решения этих вопросов мы:
- Выбрали оптимальную сверточную сеть RESNET151.
- Разработали функционал для балансировки количества фотографий, поступающих в нейронную сеть.
- Создали инструменты для подготовки изображений: обрезка и наложение маски для определения границ блюда.
Результаты:
После оптимизации сети, балансировки датасетов и подготовки фотографий время определения блюда сократилось до 1,5-2 секунд на Raspberry Pi, а на компьютере с GPU распознавание происходит мгновенно. Качество распознавания улучшилось до 90-95%.
Для удобства настройки обучения сверточной нейронной сети мы разработали веб-интерфейс, который заменил изначальный инструмент командной строки. Это значительно упростило обучение модели, тестирование гипотез и изменение параметров.
Создание функционала для запуска всех наших сервисов и утилит обучения модели одним нажатием кнопки в веб-приложении облачного сервера.
Ранее запуск обучения требовал множества последовательных действий, что занимало много времени. Мы автоматизировали этот процесс с помощью специальных скриптов и тщательно протестировали их для обеспечения корректной работы.
Разработка системы доставки обновленных моделей.
Мы создали механизм для обновления моделей на Фотобоксах. Поскольку моделей много, важно было обеспечить доставку только актуальных версий. Мы разработали систему маркировки моделей с временными метками создания. При получении обновлений Фотобокс анализирует метки и загружает только свежую версию модели.
Оптимизация процесса машинного обучения.
Оптимизация была сложной задачей. Мы начали с определения необходимого количества изображений для каждого блюда для эффективного обучения нейронной сети. Затем сосредоточились на тонкой настройке параметров для ускорения процесса распознавания. Первоначальные тесты показывали время обработки 3-4 секунды, но после улучшений мы сократили распознавание до 1,5-2 секунд. Теперь система быстро идентифицирует блюда, значительно экономя время персонала.
Кирилл Фисюкович
Разработчик, ItFox
Основная сложность заключалась в интеграции ИИ с архитектурой ARM Raspberry Pi 4 и балансировке фотографий. Это было необходимо для того, чтобы нейронная сеть могла обучаться даже на небольшом количестве изображений блюд.
3. Результаты сотрудничества
Наконец, мы подошли к важному этапу — внедрению системы, который оказался сложнее, чем ожидалось.
Для начала мы организовали обучающие сессии для сотрудников, чтобы они научились правильно использовать Фотобокс, делать качественные снимки и работать с оборудованием. Этот этап критически важен, так как для эффективного функционирования модели требуется около 300 фотографий каждого блюда. Наша первая задача заключалась в обучении и мотивации персонала регулярно проводить данные замеры.
Вторая проблема касалась операционного внедрения. Сфера общественного питания отличается своими нюансами, и одной из ключевых проблем является высокая текучесть кадров. Новому сотруднику необходимо освоить процессы, запомнить расположение оборудования и избежать путаницы при поиске нужного. Естественно, когда мы начинали внедрение новой системы, требующей дополнительных временных затрат, критика обрушивалась на нас. Говорили что мы задерживаем обслуживание. Но благодаря внимательному руководству владельца, его поддержке и постоянной обратной связи, нам удалось преодолеть эти трудности.
Кроме того, мы поняли, что фотобоксы должны располагаться рядом с местами хранения готовых блюд, так как после приготовления они некоторое время хранятся в шкафах, и только позже подаются. Мы пришли к выводу о необходимости отдельных фотобоксов для горячего и холодного цехов, а также для кондитерского отдела.
4. Заключение
В заключение, хотим отметить, что проект был сложным, требующим не только разработки системы, но и подготовки персонала к ее использованию. Это потребовало времени и терпения, но когда система заработала, ее преимущества стали очевидны для всех участников процесса.