# Янник Килчер о RepNet: как нейросети считают повторы в видео

Источник: https://www.youtube.com/watch?v=qSArFEIoSbo
Канал: Yannic Kilcher
Опубликовано: 23.06.2020

---

## RepNet: Как нейросети учатся распознавать и считать повторяющиеся действия
[[JUMP:0:00]]

Исследователи из Google Research и DeepMind представили модель **RepNet**, способную обнаруживать и подсчитывать повторяющиеся действия в видео в «диких» условиях. Основная сложность этой задачи заключается в том, что повторяющиеся движения в реальной жизни могут различаться по длительности, темпу и визуальному оформлению. По мнению ведущего канала Янника Килчера, данный подход является отличным примером того, как грамотная архитектура нейронной сети позволяет достичь высокой производительности без простого увеличения вычислительных мощностей.

### Архитектурное решение: Матрицы временного самоподобия
[[JUMP:11:15]]

Сердцем архитектуры **RepNet** является матрица временного самоподобия (Temporal Self-Similarity Matrix). Процесс работы модели можно разделить на несколько ключевых этапов:

*   **Кодирование:** Кадр видео проходит через энкодер, состоящий из сверточной сети ResNet-50 и слоя 3D-свертки, который добавляет локальную временную информацию, учитывая соседние кадры.
*   **Формирование матрицы:** На основе полученных эмбеддингов строится матрица 64x64, где каждая ячейка отражает степень сходства между соответствующими кадрами видео. 
*   **Информационное «горлышко»:** По словам Килчера, отсутствие пропускных связей (skip connections) в этой части сети заставляет модель генерировать максимально качественные представления, чтобы минимизировать итоговую ошибку.

### Обучение и предсказания
[[JUMP:21:49]]

Для обработки матрицы авторы используют трансформерные слои, работающие на покадровой основе. После этапа shared-обработки модель выдает два типа предсказаний:

1.  **Бинарная периодичность:** Определяет, совершается ли в данном кадре повторяющееся действие.
2.  **Оценка периода:** Указывает длину периода повторения для каждого кадра.

Янник Килчер отмечает, что выбор трансформера вместо сверточной сети для этой задачи оправдан: механизм внимания позволяет модели в один шаг сопоставить различные пики активности в последовательности, что значительно эффективнее с точки зрения архитектурной логики.

### Работа с данными и синтетический подход
[[JUMP:26:32]]

Одной из главных проблем при разработке подобных систем является отсутствие адекватных датасетов. Авторы решили эту задачу двумя способами:

*   **Датасет Countix:** Собрали новый набор данных, который в 90 раз превосходит существующие аналоги по объему и разнообразию (от спортивных тренировок до нарезки овощей).
*   **Синтетические данные:** Обучающая выборка была дополнена видео с искусственно созданными повторами. Чтобы сделать движение непрерывным, авторы использовали технику «реверса», проигрывая фрагменты то вперед, то назад. Для повышения реалистичности применялась аугментация движения камеры — симуляция ее вращения, масштабирования и перемещения.

### Перспективы и выводы
[[JUMP:33:38]]

Помимо основной задачи — счета повторений, **RepNet** демонстрирует возможности в смежных областях:

*   **Инспекция изменений:** Модель может использоваться для отслеживания того, как меняется объект (например, количество кусочков ананаса при нарезке).
*   **Кросс-периодический поиск:** Возможность находить визуально различные, но функционально эквивалентные фазы движения.

Янник Килчер предполагает, что подобные механизмы распознавания ритма могут стать фундаментальным компонентом будущих систем искусственного интеллекта, так как способность к счету является одной из базовых врожденных черт человеческого интеллекта.