Background for Видеоаналитика

Видеоаналитика

AI-инспектор на автомойке: как мы научили нейросеть следить за качеством и скоростью выполнения этапов работы

Цели

1

Разработать систему объективного контроля за соблюдением последовательности и скорости выполнения этапов мойки на базе видеопотока в около real-time режиме

2

Автоматизировать сбор статистики по длительности и последовательности этапов мойки для выявления отклонений от стандартов качества

3

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

Supabase icon

Метрики

0%

Снижение нарушений

0%

Точность распознавания этапов автомойки

6мес

От старта проекта до работающего прототипа с собранной разметкой

>1

Уникальных этапов процесса, распознаваемых моделью

Подробности

AI-инспектор на страже качества: когда и зачем?

Контролировать качество сервиса, когда у вас большая сеть и десятки сотрудников — задача не из легких. Человеческий фактор, разное понимание стандартов, «замыленный» взгляд — все это влияет на итоговый результат и удовлетворенность клиента. Наш заказчик, сеть автомоек, столкнулся именно с такой проблемой.

Анализ правильной последовательности этапов мойки и их выполнения за нормативное время - не только прямой путь к оптимизации операционной эффективности, но и косвенная причина дальнейшего повышения удовлетворенности и лояльности клиентов. Чтобы сделать процесс контролируемым и прозрачным, мы решили обучить модель компьютерного зрения, предварительно собрав и разметив датасет, сильно отличный от имеющихся в открытом доступе данных.

Шаг 1. Фундамент успеха: умная разметка данных

Любая ИИ-модель начинается с данных. В задачах компьютерного зрения это означает часы видео, которые необходимо выборочно описать/разметить событиями в привязке к временным меткам. Можно иметь самую совершенную архитектуру модели, но если она обучается на «грязных» данных, результаты будут далеки от ожиданий.

Частый вопрос в таких проектах - сколько нужно собрать данных, чтобы построить модель? Общий ответ (и не всегда правильный!): больше - лучше, но чтобы сэкономить бюджет заказчика на разметку, мы предерживаемся итеративного подхода. Ровно так мы поступили и в этом кейсе: сначала накопили базовую статистику по всем этапам, чтобы оценить их частотность. Затем сконцентрировали усилия разметчиков на редких классах, а объекты высокочастотных классов добирали точечно.

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

СервисКол-во уникальных авто
Ополаскивание под давлением194
Турбосушка133
Полотенца145
Нанесение первой фазы188
Нанесение шампуня/пены190
Губка кузов136
Ополаскивание водой147
Консервант121
Губка кузов снизу150
Перестановка159
Влажная уборка салона89
Чернение резины91
Пылесос88
Обезжириватель17
Чистка дисков2

Шаг 2. Доверяй, но проверяй: исправление ошибок в обучающей выборке

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

Пример неверно размеченных изображений, отправленных на уточнение меток классов:

Разметка: Перестановка, Истиная метка: Турбосушка

Разметка: Перестановка Истиная метка: Турбосушка

Разметка: Перестановка, Истиная метка: Ополаскивание водой

Разметка: Перестановка Истиная метка: Ополаскивание водой

Такой подход позволил нам не только контролировать процесс создания датасета, но и на раннем этапе реагировать на неоднозначности в данных/разметке. Ровно эта логика привела нас к следующему наблюдению: разметчики путают классы «Ополаскивание под давлением» и «Ополаскивание водой». Анализ показал, что визуально эти процессы почти неразличимы, поэтому мы совместно с заказчиком решили объединить эти классы в один, что упростило дальнейшую работу.

Пример неточной разметки, которая впоследствии привела к объединению классов «Ополаскивание под давлением» и «Ополаскивание водой»:

Разметка: Ополаскивание водой, Истиная метка: Ополаскивание под давлением

Разметка: Ополаскивание водой Истиная метка: Ополаскивание под давлением

Разметка: Ополаскивание водой, Истиная метка: Ополаскивание под давлением

Разметка: Ополаскивание водой Истиная метка: Ополаскивание под давлением

Шаг 3. Интерпретация «черного ящика» — требуем от модели «объяснений»

Итак, у нас появилась модель, которая показывает высокую точность (более формально максимизировали Macro F-Score) на отложенных выборках. Однако необходимо убедиться, что решения (в том числе и неверные) принимаются на основе верных признаков:

  • Могла ли модель научилась определять «Нанесение шампуня» по наличию пены не на машине, а только на полу бокса?
  • А если в разметку попал единственный сотрудник с пылесосом: могли ли мы «связать» его наличие в кадре с этапом «Пылесос»?
  • Могут ли стабильные ошибки на одном из редких классов быть вызваны тем, что в кадр попадают этапы мойки других автомобилей?

Чтобы избежать таких рисков, мы интерпретируем прогнозы нейронных сетей, используя методы XAI (Explainable AI). Они позволяют визуализировать, какие области на изображении были наиболее «важными» для принятия решения.

Ниже пример применения одного из инструментов в XAI — метод SHAP. Он не просто показывает «важные» пиксели, а разделяет их на те, что внесли вклад за принятие решения (на графике — красные зоны) в пользу определенного класса, и те, что работали против (синие зоны).

Пример анализа конкретного снимка ниже: модель детектировала класс «Нанесение шампуня/пены» по наличию пены на автомобиле (красные зоны).

Исходное изображение

Исходное изображение

Нанесения шампуня

Нанесения шампуня

Первая фаза

Первая фаза

Перестановка

Перестановка

SHAP

SHAP

Такой глубокий анализ дал и нам, и заказчику уверенность в стабильности и предсказуемости системы.

Главный вывод: один подход — множество решений

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

Не только для автомоек: где еще работает AI-инспектор? Ценность этого проекта — в подходе к анализу последовательности действий сотрудников по видео, однако все это применимо и для других сфер, в частности:

  • 🍽️ Ресторанный бизнес (HoReCa): Контроль за качеством уборки столов, наличием очередей на кассе и скоростью обслуживания в зале.
  • 🛒 Ритейл: Контроль за работой кассиров, мониторинг выкладки товара на полки мерчандайзерами, анализ очередей на кассе и поведения покупателей.
  • 🏭 Производство: Отслеживание правильности выполнения операций на сборочной линии, контроль за соблюдением техники безопасности.

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

Достигнутые результаты

Значимо сокращено количество нарушений технологии обслуживания

Организована эффективная итеративная система сбора, анализа и уточнения разметки

Разработан не «черный ящик», а интерпретируемый инструмент с понятными принципами принятия решений и выявления точек роста

Готовы приземлить CV-аналитику на ваши бизнес-процессы?