May 28, 2022

Обзор на статью "RGB Video Based Tennis Action Recognition Using a Deep Historical Long Short-Term Memory"

Ссылка на оригинал

Вступление

Благодаря популярности тенниса накопилось огромное количество видеоматериалов, на которых можно обучать модели.
В этой статье рассматривается классификация действий в теннисе, основываясь исключительно на RGB-видео

Датасет

В качестве датасета используется The Three Dimensional Tennis Shots (THETIS).
Он представляет из себя 12 базовых теннисных действий, каждое из которых повторяется 31 любителями и 24 профессиональными игроками.
В качестве базовых действий выступают: Бэкхенд двумя руками, Бэкхенд, Резаный бэкхенд, Бэкхенд с лету, плоский форхенд, открытый удар форхенд, резаный форхенд, форхенд с лету, плоская подача, подача с боковым вращением, резаная подача, смэш

Каждый теннисист повторяет каждое действие 3-4 раза, таким образом датасет состоит приблизительно из 9000 видео

Модель

В статье предлагается Long Short-Term Memory network, которая является улучшенной модификацией рекуррентной нейронной сети (RNN).

RNN пересчитывает нейроны следующим образом:

В первой строчке написано состояние нейрона, которое пересчитывается через предыдущий слой и наблюдение в момент времени t. g -- это функция активации, обычно это сигмоид или гиперболический тангенс, b и c -- bias-vectors

В Long Short-Term Memory network мы используем увеличенное множество гейтов: входящий гейт, забывающий гейт, исходящий гейт, гейт дополнительной памяти и выходящий результат h. По сути мы просто даём большее количество информации из прошлого, чем RNN, и в этом заключается модификация модели.
Гейты считаются в соответствии со следующими формулами:

кружочек с точкой -- это поэлементное произведение

Чтобы улучшить LSTM, мы модифицируем его, добавив исторический гейт. Это нужно для того, чтобы сильнее учитывать информацию из прошлого

Формулы для пересчета исторического гейта. τ -- параметр, контролирующий забывающий эффект, ϵ -- функция потерь между предсказанием ŷ и реальным значением y

Этот гейт мы будем учитывать в предсказании на текущем шаге:

Метод

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

После этого мы пропускаем последовательность фич через одну из моделей, описанных в предыдущем блоке.
Для разделения данных на test и train используется 5-fold кросс валидация.

Результаты

Предобработанные данные были запущены на обычной LSTM, и также на LSTM с историческим гейтом и с параметром τ = 2, 3, 4, 5

Также для сравнения были взяты модели из других статей
[2] — стратегия, основанная на похожих моделях и less-one-cut-валидации. Результат оказался достаточно слабым
[8] — в этой статье авторы рассматривали 3D-скелеты отдельно, и смогли достичь лишь 0.6

Модели, рассмотренные в этой статье, подтвердили, что введение исторического гейта улучшает результат модели с 0.56 до 0.74 (при τ = 2), и позволяет обогнать результаты из других статей

Заключение (не реклама)

Пост написан для https://github.com/spbu-math-cs/ml-course