Как стать автором
Обновить
0

Руки на руль: Bus Factor следит за тобой

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.8K

Привет, Хабр, меня зовут Антон Рябых, работаю в Doubletapp. Расскажу вам о том, как мы придумали сервис, контролирующий поведение водителей общественного транспорта с помощью алгоритмов машинного обучения и компьютерного зрения.

К нам обратилась компания «Термотех», которая занимается городскими перевозками. Организатору движения нужно было автоматически понимать, что:

  • водитель общественного транспорта не пользуется телефоном во время движения;

  • камера, установленная в салоне водителя, снимает с верного ракурса, не отвернута в сторону;

  • от камеры в целом идет сигнал, она не повреждена, не завешена и не загрязнена.

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

Как мы решали эту задачу

Машинное обучение

Для обучения сети совместно с клиентом был собран и размечен датасет из 40 000 изображений. Там были водители с телефоном и без, фото с неверными ракурсами или иными ошибками отображения. Особенностью фотографий было их разнообразное качество: часто изображение было не очень четкое, некоторые снимки черно-белые, многие сделаны при плохом освещении, иногда ночью. Классы изображений были сильно несбалансированы: на большинстве фото не было телефона или ошибочного ракурса.

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

Тогда вместо задачи классификации мы оформили решаемую проблему как задачу детекции: разметили bounding-boxes телефонов на изображениях и использовали сеть для детекции объектов. Наличие разметки телефонов дополнительно позволило использовать больше аугментаций изображений: теперь мы исключали вариант, при котором в случае неверной обрезки телефон может пропасть из кадра, при этом фото останется в классе с наличием телефона.

Решение задачи через детекцию позволило добиться искомой точности. Детекция осуществлялась через нейронную сеть с архитектурой YOLOv3. 

Для создания решения использовался язык Python и фреймворки Tensorflow + Keras, для деплоя — Tensorflow-Serving.

Backend

Для работы системы был разработан Backend на Django, получающий фотографии из общественного транспорта через API видеосистемы. Фото анализировались на наличие ошибок и хранились на сервере. В административной панели можно было увидеть ошибки, найденные на фото. В случае, если система обнаружения ошибок срабатывала неверно, оператор помечал фото как неверно обработанное и указывал, к какому типу его действительно нужно было отнести: таким образом собирались данные для дальнейшего дообучения нейронных сетей. 

Мы настроили мониторинг, чтобы разработчики сразу же получали сигнал об ошибках в работе системы.

Как это работает?

Камеры установлены в кабинах у водителей общественного транспорта.

Система Bus Factor по API получает фото с камер, анализирует их на предмет нарушений, выставляет каждому фото соответствующий обнаруженным нарушениям статус.

Сотрудник клиента видит все записи с транспортными средствами, у которых обнаружены нарушения, и действует по инструкции.

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

Поиск телефона в кадре, проверка ракурса и работы камеры реализованы при помощи нейронных сетей. 

Внедрение нашей системы сократило затраты человеко-часов в 30 раз. Теперь операторам необходимо только перепроверять некоторые ответы машины, а не отсматривать все видео самостоятельно. Клиент отмечает, что с появлением нашей технологии значительно повысилась дисциплина водителей.

Теги:
Хабы:
Всего голосов 6: ↑3 и ↓30
Комментарии4

Публикации

Информация

Сайт
doubletapp.ai
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия

Истории