📝 Контекст репозитория (Disclaimer) Данный репозиторий содержит отрефакторенную публичную версию пайплайна инференса, разработанного в рамках контрактной работы (MVP, Ноябрь 2025 — Февраль 2026). Исходные обучающие датасеты и скрипты тренировки вторичной модели (EfficientNet) не включены в данный репозиторий, чтобы не перегружать его объемными артефактами. В репозитории представлена легковесная демонстрационная версия, сфокусированная строго на интеграции моделей, логике трекинга и инференсе в реальном времени. Все веса обученных моделей (frozen weights), необходимые для работы пайплайна, сохранены в проекте.
Проект для видеоинференса в реальном времени с двумя пайплайнами:
- YOLO11: детекция светофоров и стабилизация треков.
- YOLO8s + EfficientNet-B0: детекция дорожных знаков и классификация повреждений.
- src - основные скрипты инференса и конфиг.
- samples - входные тестовые видео.
- assets - выходные видео и JSON-логи.
- weights - веса моделей (
.pt,.pth).
Основные зависимости описаны в requirements.txt.
pip install -r requirements.txtВсе пути централизованы в src/config.py:
- входные видео для моделей через
MODEL_TEST_SAMPLES; - пути к весам моделей;
- директория результатов
ASSETS_DIR.
Запуск из корня проекта:
python src/traffic_light_inference.pypython src/yolo8s_efficietnetb0.pyОпционально можно переопределить пути через аргументы CLI.
Пример для YOLO11:
python src/traffic_light_inference.py --video-path samples/sample_tf.mp4 --model-path weights/yolo11m_traffic_lights_weights.pt --output-path assets/yolo11_result.mp4Пример для YOLO8s:
python src/yolo8s_efficietnetb0.py --video-path samples/sample_ts.mov --det-model-path weights/traffic_signs_yolo8s_25+30+30_best.pt --damage-model-path weights/efficientnet_b0_signs.pth --output-path assets/yolo8s_damage_result.mp4YOLO11 сохраняет аннотированное видео в assets.
YOLO8s сохраняет:
- аннотированное видео;
- полный JSONL-лог вероятностей по кадрам;
- финальный JSONL-лог со сводкой по трекам.