Домашняя страница
/

Проект

Bus Factor

AI для контроля внимания водителей

gold20-21
gold2021
silver21
silver2021

О проекте

О проекте

О проекте

Bus Factor — сервис, автоматизирующий контроль над поведением водителей общественного транспорта с помощью алгоритмов машинного обучения и компьютерного зрения.

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

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

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

проект в цифрах

0 часовМашинное обучение

0 часовBackend-разработка

0 часовДизайн

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

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

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

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

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

23.png

Результат

Результат

Результат

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

Позже человек проверяет только изображения, отмеченные системой как имеющие нарушения (система настроена так, чтобы почти не пропускать нарушения и, скорее, дать ложноположительный результат).

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

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

Клиент отмечает, что с появлением нашей технологии значительно повысилась дисциплина водителей.

33

ML

Keras
Keras

Keras

Tensorflow
Tensorflow

Tensorflow

BACKEND

Django
Django

Django

Python
Python

Python

Наша суперкоманда

АнтонAndroidФёдорBackendДанилML

Backend

Backend

Backend

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

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

Для разработки был использован язык Python и фреймворк Django.

381.png

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

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

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

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

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

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

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

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

Отзыв

Отзыв
Илья Земцов
Илья ЗемцовЗаказчик
Некоторое время назад нашей компании понадобилось решить задачу по мониторингу поведения водителей на основе данных, полученных системой видеонаблюдения в режиме онлайн. Поизучав эту тему, мы пришли к выводу, что данную задачу можно решить при помощи машинного зрения с применением алгоритмов нейросети. Поизучав рынок предложений, а также по совету моего хорошего друга из компании Яндекс, мы выбрали компанию Doubletapp. Парни оказались профессионалами своего дела и в достаточно короткие сроки реализовали нашу идею в виде программного продукта. Отдельно хочу сказать спасибо Антону Рябых за личное ведение данного проекта. Сейчас данный проект имеет конкретное практическое применение по снижению аварийности пассажирского городского транспорта в г. Екатеринбурге.

Давайте работать вместе!

Прикрепить файл