📍 Международный хакатон 2024 года Разработка ИИ-прототипа для автоматического анализа видеозаписей с видеорегистраторов автотранспорта ОАО «РЖД» с целью выявления нарушений ПДД.
|
![]() |
Наша система анализирует видеозаписи с видеорегистраторов для выявления нарушений правил дорожного движения. В основе работы — комбинация моделей компьютерного зрения, которые определяют ключевые элементы дорожной сцены и фиксируют возможные нарушения. Такой подход делает систему гибкой, масштабируемой и позволяет её дообучать для повышения точности.
🔹 Разделение видео на фрагменты по 10 секунд для последовательной обработки.
🔹 Детекция ключевых объектов с помощью нейросетей:
- YOLOv5 — поиск автомобилей и пешеходов.
- YOLOv5 — обнаружение дорожных знаков и светофоров.
- SegFormer — сегментация дорожной разметки.
🔹 Фокусировка на значимых зонах: фоновые элементы приглушаются, что повышает точность анализа.
🔹 Определение нарушений с помощью XCLIP: модель анализирует обработанный фрагмент и фиксирует возможные нарушения.
🔹 Переход к следующему фрагменту и повторение процесса.
Мы разработали модульную систему, которая не зависит от жёстких правил и эвристик. Вместо простых триггеров (например, пересечение разметки) используется нейросеть, которую можно дообучать и адаптировать под новые типы нарушений. Это делает систему более точной и расширяемой.
Посмотрите, как система выявляет нарушения на реальных видеозаписях.
📹 Презентация работы системы | 🎯 Обработанный фрагмент (вход для XCLIP) |
![]() |
![]() |
В дополнение к выявлению нарушений, наша система использует OCR-модель для распознавания показателей скорости с видеорегистраторов. Это позволяет фиксировать еще одно важное нарушение — превышение скорости.
🔹 Извлечение скорости из видео в режиме реального времени.
🔹 Сравнение полученных данных с допустимыми скоростными ограничениями.
🔹 Фиксация нарушений при превышении установленного лимита.
🔹 Запись статистики по каждому фрагменту видео для дальнейшего анализа.
Этот модуль расширяет возможности системы, позволяя детектировать не только визуальные нарушения, но и анализировать скорость транспортного средства.
- Python — основной язык разработки;
- PyTorch — для построения и обучения нейросетей;
- Hugging Face — для использования предобученных моделей (X-CLIP, AST, BERT);
- EasyOCR — для распознавания текста на видеозаписях (скорость);
- Gradio — для удобного развертывания и тестирования модели через веб-интерфейс;
- Docker — для контейнеризации и развертывания системы.
-
FULL_LAUNCH.ipynb
- Jupyter Notebook для полного запуска решения на тестовом датасете.
- Включает загрузку данных, обработку видео, предсказания и формирование
submission.csv
.
-
best_model_dataset_1_39.pth
иbest_model_dataset_1_47.pth
- Файлы с весами предварительно обученных моделей.
- Используются при запуске ноутбука для выполнения предсказаний.
-
dataset.py
- Определяет класс датасета и логику загрузки данных.
- Обеспечивает корректную обработку входных видеоданных.
-
model.py
- Содержит архитектуру модели, используемой для анализа видео.
-
train_run.py
- Скрипт для обучения модели, включая настройку, процесс обучения и сохранение контрольных точек.
Файл FULL_LAUNCH.ipynb
позволяет запустить всю последовательность обработки данных, включая:
✅ Задание пути к папке с видео (video_folder
).
✅ Формирование выходного файла (output_csv
).
✅ Автоматическое создание submission.csv
с результатами детекции нарушений.