Skip to content

Vanna-Ivision-2-0/Vanna_Ivision_2_0

Repository files navigation

🚒Accident Detector🚒

Навигация

Описание

Программа реализована для распознавания ДТП на видеозаписях с камер наружного наблюдения. Дтп распознается как и с наличием специальной техники для фиксирования и помощи в ДТП, так и без каких-то четких опознавательных рамок. Возможна поддержка в "real-time" (онлайн режим).

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

Результаты работы видео с ДТП №1 с спецтранспортом Результаты работы видео с ДТП №2 с спецтранспортом
Результаты работы видео с ДТП №3 без спецтранспорта

Как пользоваться программой

  1. Помещаем видео в папку videos.

  1. Преобразовываем видео в последовательность изображений (доступен Progress Bar).

  1. Запуск детектора объектов для всех директорий из videos2images.

  1. Результаты работы детектора объектов.

  1. Видеоподтверждения ДТП.

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

Изначально, все видеофайлы из папки videos преобразуются в последовательность кадров. Первоначальный расчёт на то, что fps у тестовых видео будет такой же, как и у тех, что были предоставлены для исследование, т.е. 30.

  • Из видео каждую секунду берётся 2 кадра.
  • Затем последовательности кадров обрабатывается детектором объектов с порогом уверенности 0.7. Таким образом, в папке detection_results для всех видеофайлов, которые преобразовались в последовательность кадров, появятся результаты работы детектора объектов. В папке labels в каждом файле хранится информация о местонахождении объекта (bouning box) + уверенность (confidence).
  • Логика определения ДТП заключена в dtp.py. Мы считаем, что ДТП случилось в том случае, если на минимум 10 изображения был найден спецтранспорт с увереностью нейронной сети >=0.7. В случае наступления ДТП, в папке proof появится видеофайл, а также в консоль будет выведено соответствующее сообщение.

О проекте и технологиях

Архитектура

Computer Vision & Machine Learning

Технонологии:

Результаты обучения модели

Метрики оценивания:

Результаты работы на валидационной выборке:

Train metrics:

Confusion Matrix:

Installation

  • Установить пакеты из requirements.txt:

    pip install –r requirements.txt

  • Скачать файлы моделей по ссылке

  • Перенести их в weights

Протестировано для torch 1.9.0+cu111

Возможные проблемы

В случае, если алгоритм не определил ДТП, возможны следующие улучшения:

  • Увеличения количество изображений при преобразовании из видео в изображения. python videos2imgs.py --when 5 Таким образом, будет сохранен каждый 5-ый кадр, мы увеличим количество изображений в папках втрое. Повторить шаги, начиная с detect.
  • Если ролики короткие и не применяли шаг выше, то следует изменить параметр --thresh для is_dtp.py на 7 или 5. python is_dtp.py --thresh 7
  • Если это не помогло, то изменяем confidence threshold для детектора объектов на 0.6 python detect.py --conf-thres 0.6 Теперь python is_dtp.py --thresh 7 --conf 0.6
  • В случае, если происходят ложные срабатывания, то увеличиваем параметры --thresh до 15-20 или --conf до 0.75-0.85.

Повторить все шаги выше, используя вторую модель из weights (yolo_hard_best.pt) для detect.py. python detect.py --weights “weights/ yolo_hard_best.pt”

создано | создано

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages