Курс по продвинутой видеоаналитике: от обработки видеосигналов до распознавания действий и временной локализации событий.
.
├── Theory/ # Лекционные материалы
│ ├── 1-Lecture.md # Видео как сигнал
│ ├── 3-Ot-analiza-kadrov-k-analizu-dvizheniya.md
│ ├── 4-Videodetekciya-kak-prostranstvenno-vremennaya-zadacha.md
│ ├── 5-Videosegmentaciya-kak-vremennaya-zadacha.md
│ ├── 6-Vremennaya-lokalizaciya-sobytij-i-video-anomalii.md
│ ├── 1-code_example.py # Примеры работы с CFR/VFR
│ └── 4-code-example.py # Примеры детекции и трекинга
├── HW1.md # Семинар: Пайплайн данных
├── HW2.md # Домашнее задание: Видеосегментация
└── requirements.txt # Зависимости проекта
Основы работы с видеоданными:
- Дискретизация видео по пространству и времени
- CFR vs VFR (Constant/Variable Frame Rate)
- Цветовые пространства (RGB, Y'CbCr, BT.709)
- Кодеки и компрессия (H.264, H.265, AV1)
- Метрики качества видео (PSNR, SSIM, VMAF)
- Декодирование и пайплайны обработки
Примеры кода: 1-code_example.py — работа с CFR/VFR видео
Переход от статических изображений к видеопотокам:
- Пространственно-временные фильтры
- 3D CNN (C3D, R(2+1)D, I3D)
- SlowFast: двухпотоковая архитектура
- Video Vision Transformers (TimeSformer, VideoSwin)
- Предобучение и transfer learning
Детекция объектов в видео:
- Временная когерентность и дрейф
- Tracking-by-detection
- Фильтр Калмана
- Многообъектный трекинг (MOT)
- DeepSORT, ByteTrack, OC-SORT
- Метрики трекинга (MOTA, MOTP, HOTA, IDF1)
Примеры кода: 4-code-example.py — детекция и трекинг с YOLO и ByteTrack
Сегментация объектов в видео:
- Временная согласованность масок
- Оптический поток и warping
- Space-Time Memory Networks (STM)
- Cross-frame attention
- Метрики сегментации (IoU, Boundary F-score, J&F)
Локализация событий во времени:
- Temporal Convolutional Networks (TCN)
- LSTM и рекуррентные модели
- Трансформеры для временной локализации
- Метрики локализации (temporal IoU, mAP)
- Детекция видео-аномалий
Практика построения эффективного видеопайплайна:
- Параллельное чтение и сэмплирование кадров
- Реализация Dataset для видеоклипов
- Профилирование latency и оптимизация throughput
- Работа с PyAV и PyTorch
Практическая работа по видео-сегментации:
- Временная стабилизация масок (anti-flicker)
- Semi-supervised Video Object Segmentation (VOS)
- Перенос масок через оптический поток
- Оценка качества сегментации
Реализация: HW2/ - Вариант A (Anti-Flicker система)
Демонстрирует:
- Создание видео с фиксированной частотой кадров (CFR)
- Создание видео с переменной частотой кадров (VFR)
- Использование FFmpeg для обработки видео
Использование:
python Theory/1-code_example.py <input_video>Демонстрирует:
- Детекция объектов с помощью YOLO
- Многообъектный трекинг с ByteTrack
- Визуализация траекторий объектов
- Сохранение результата в видео
Требования: ultralytics, opencv-python
В папке Theory/ также находятся:
1-Seminar.md— материалы первого семинара2-Seminar.md— материалы второго семинара5-Seminar_5.md— материалы пятого семинара1-Конспект.md— конспект первой лекции
pip install -r requirements.txt- PyAV — декодирование видео
- PyTorch — глубокое обучение
- OpenCV — обработка изображений
- ultralytics — YOLO модели
- FFmpeg — обработка видео (требуется установка отдельно)
# Пример работы с CFR/VFR
python Theory/1-code_example.py video.mp4
# Пример детекции и трекинга
python Theory/4-code-example.py- Основы видео — дискретизация, кодеки, цветовые пространства
- Распознавание действий — 3D CNN, трансформеры, архитектуры
- Видеодетекция — детекция объектов, трекинг, MOT
- Видеосегментация — сегментация объектов, временная согласованность
- Локализация событий — временная локализация, детекция аномалий
Материалы курса предназначены для образовательных целей.