Об этом проекте

Этот репозиторий предоставляет быстрый конвейер для обнаружения волейбольного мяча, извлечения розыгрышей и автоматической генерации вертикальных роликов 9:16. Он предназначен для спортивной аналитики и исследований в области компьютерного зрения, с отслеживанием мяча в реальном времени на оборудовании CPU. Конвейер состоит из нескольких этапов: обнаружение мяча на видео с использованием оптимизированной модели ONNX, которая записывает координаты мяча в CSV и опционально создаёт аннотированное видео; преобразование CSV в треки розыгрышей в формате JSON; создание объединённого горизонтального видео розыгрышей или отдельных клипов розыгрышей; и генерация вертикальных роликов с центрированием на траектории мяча. Вариант с учётом площадки также может использовать обнаружения игроков для определения касаний мяча и различения розыгрышей от мячей, переданных для следующей подачи. Установка выполняется через uv sync, и базовая установка поддерживает визуализацию, поскольку opencv-python включает GUI-бэкенд. Дополнительный dev-пакет добавляет matplotlib и pytest для диагностики и тестов. Рабочий процесс быстрого старта запускает обнаружение, расчёт треков, опциональную обработку объединённого видео и создание роликов через отдельные скрипты. Ключевые параметры командной строки управляют порогами уверенности, визуализацией, выводом только CSV, аннотацией площадки, параметрами отслеживания, фильтрацией розыгрышей, отступами и сглаживанием или интерполяцией роликов. Интерактивный скрипт просмотра позволяет пошагово проходить кадры и треки с помощью управления с клавиатуры. Также предоставлены скрипты среды выполнения OpenVINO, включая скрипт обнаружения игроков и мяча, который выводит JSON предсказаний и аннотированное видео. Доступные модели ONNX протестированы на конфигурации CPU с указанными F1, точностью, полнотой и FPS вывода; самая быстрая модель достигает более 1000 FPS при изолированном выводе, тогда как полный запуск конвейера медленнее из-за совместного декодирования видео. Более ранние контрольные точки сохранены для справки.