Проект является самостоятельным ML-модулем комплексной системы автоматизированного минибара для гостиниц.
Задача заключалась в создании системы компьютерного зрения, способной определять состав товаров внутри минибара и фиксировать изменения после взаимодействия гостя: какие товары были взяты, возвращены, перемещены или заменены.
Система должна была работать с реальными изображениями, где встречались сложные условия:
— похожая упаковка разных товаров;
— частичное перекрытие объектов;
— блики и отражения от стекла;
— изменение освещения;
— товары, расположенные вплотную друг к другу;
— частично скрытые этикетки и DataMatrix-коды;
— ограниченные вычислительные ресурсы edge-устройства.
В проекте я отвечал за архитектуру CV/ML-пайплайна, подготовку данных, обучение и интеграцию моделей, постобработку результатов и взаимодействие ML-модуля с остальными компонентами системы.
Я разработал многоэтапный пайплайн компьютерного зрения для анализа состояния минибара:
Изображение → Предобработка → Детекция → Сегментация → Распознавание кодов → Постобработка → Определение изменения состояния
В рамках проекта были выполнены следующие работы:
— сбор, подготовка и разметка изображений товаров в реальных условиях эксплуатации;
— обучение и дообучение моделей YOLO для детекции товаров;
— выделение объектов и уточнение их границ с использованием SAM;
— обработка изображений через OpenCV;
— распознавание DataMatrix-кодов для дополнительной идентификации товаров;
— объединение результатов нескольких моделей в единый формат;
— фильтрация ложных и дублирующихся детекций;
— объединение пересекающихся областей через IoU;
— кластеризация объектов и пространственная постобработка;
— сопоставление детекций между несколькими кадрами;
— сравнение состояния минибара до и после открытия;
— определение добавленных, удалённых и перемещённых товаров;
— подготовка структурированных результатов для backend-сервисов.
Для повышения надёжности использовалась комбинация нескольких источников информации: класс объекта, координаты, маска сегментации, положение на полке и распознанный DataMatrix-код.
Результаты моделей проходили дополнительную проверку и нормализацию. Это позволяло снижать влияние одиночных ошибочных детекций и корректнее обрабатывать случаи, когда товары перекрывали друг друга или временно исчезали из поля зрения.
ML-модуль был адаптирован для локального inference на edge-устройстве. При разработке учитывались ограничения по производительности, памяти и времени обработки. Архитектура
Создан рабочий CV/ML-модуль для автоматического анализа содержимого гостиничного минибара.
Система выполняла детекцию и сегментацию товаров, распознавала DataMatrix-коды, объединяла результаты разных методов и формировала структурированное описание текущего состояния минибара.
Сравнение нескольких состояний позволяло определять изменения в составе товаров и передавать соответствующие события в backend-систему для последующего формирования транзакций.
Модуль был интегрирован с камерами, edge-устройством, событийной архитектурой и облачным backend в составе работающего end-to-end прототипа автоматизированного минибара.
Я отвечал за архитектуру и разработку Computer Vision/ML-модуля. Электроника, механическая часть и другие компоненты комплексной системы создавались совместно с командой