Проект UTMIST Мустафы Хана, Чаоцзюня Чена, Иян Танга, Чарльза Юаня и Юэ Чжуана

Введение

Распознавание жестов рук стремится классифицировать целенаправленные движения рук человека. Распознавание жестов можно использовать при взаимодействии человека с компьютером, например, для управления веб-страницами, играми и управлением роботами. Сложность этой задачи заключается в точном распознавании, интеграции возможностей распознавания жестов в существующие системы и проведении распознавания в режиме реального времени. Команда сравнила производительность двух архитектур Cov3D и C3D Superlite; и предложил облегченную систему распознавания жестов (Augma), которая реализует эти три возможности с помощью 3D-сверток, чтобы достичь почти ультрасовременной производительности на проверочном наборе 20 миллиардов шутов.

Похожая работа

Сверточные нейронные сети (CNN) достигают самых современных результатов в задачах обнаружения и классификации объектов при применении к статическим изображениям [1]. Они также были успешно расширены для задач распознавания видеоданных [2].

Существуют различные подходы, использующие CNN для извлечения пространственно-временной информации из видеоданных. Одним из подходов является 2D CNN. 2D CNN используются для обработки видеокадров как многоканальных входных данных для классификации действий. Второй подход — это 3D CNN. 3D CNN использует 3D-свертки и 3D-объединение для захвата отличительных признаков как в пространственном, так и во временном измерениях [3]. Третий подход Temporal Segment Network (TSN) делит видеоданные на сегменты и извлекает информацию из цветовых и оптических модальностей потока для распознавания действий. В последнее время сеть временных отношений (TRN) строится поверх TSN для исследования временных зависимостей между видеокадрами в различных временных масштабах [4].

Сетевые архитектуры

В этой статье реализованы две архитектуры. Первая архитектура, Conv3D, проверяет пределы трехмерных CNN, пытаясь провести распознавание жестов рук с использованием слоев трехмерных сверток. Вторая архитектура, C3D Superlite, вдохновлена ​​[5], где архитектура модели извлекает функции из видеокадров с помощью CNN и применяет LSTM для глобального временного моделирования. Эти два подхода тестируются в данной статье.

Конв3D

Сеть Conv3D имеет 4 сверточных слоя, за которыми следуют пакетная нормализация, активация ELU и слои объединения. Все ядра трехмерной свертки имеют размер 3 × 3 × 3 с шагом 1 как в пространственном, так и во временном измерениях. Слои 3D-пула обозначены от Пула 1 до Пула 4. Все ядра пула имеют размер 2 × 2 × 2, за исключением Пула 1, который имеет размер 1 × 2 × 2. Первый полносвязный слой принимает 12800 входных данных и выводит 512 единиц, в то время как последний слой принимает 512 входов и имеет 6 выходов, что соответствует количеству используемых классов.

C3D Superlite

Сеть C3D Superlite имеет 6 сверточных слоев, 4 слоя максимального объединения, 1 слой LSTM и 1 полносвязный слой, за которым следует выходной слой softmax. Все трехмерные сверточные ядра имеют размер 3 × 3 × 3. Conv 1 имеет шаг 1 × 2 × 2, в то время как остальные сверточные слои имеют шаг 1 как в пространственном, так и во временном измерениях. Количество фильтров на слой указано в каждом поле на рис. 2. Слои 3D-пула помечены от pool1 до pool5. Ядро объединения pool1 имеет размер 1 × 2 × 2, для pool2 — 2 × 2 × 2, для pool3 — 3 × 2 × 2 и для pool4 — 2 × 2 × 2. Шаг каждого слоя объединения составляет 2 × 2 × 2, за исключением pool1, который имеет размер 1 × 2 × 2. Выходные данные последнего слоя объединения преобразуются в слой 9 × 384 с последующей нормализацией L2. Затем это передается в LSTM и полносвязный слой, каждый из которых имеет 512 выходных единиц. Выход последнего слоя соответствует количеству обучаемых классов.

Реализация

Набор данных

Набор данных, который мы использовали, набор данных 20 миллиардов шутов, представляет собой большую коллекцию помеченных видеоклипов, которые показывают людей, выполняющих заранее определенные жесты рук перед ноутбуком. В обучающем наборе 118 562 видео, а в проверочном наборе — 14 787 видео.

Обучение

Мы используем Adaptive Moment Estimation (Adam) для обучения нашей сети. Мы генерируем обучающие образцы из видео в обучающих данных для выполнения увеличения данных. Это включает в себя преобразование кадров RGB в оттенки серого, унификацию числовых кадров, изменение размера изображения до размера 112 × 112 и выполнение вычитания среднего для каждого образца. Обратите внимание, что мы объединяем кадры, создавая 30 клипов кадров о выбранных временных позициях. Если видео короче 30 кадров, мы зацикливаем видео столько раз, сколько необходимо.

Для обучения сети мы используем разреженную категориальную перекрестную энтропию для потерь и имеем размер мини-пакета 32 на 1 ЦП, скорость обучения 0,01 и отсутствие импульса. Поскольку целью обучения системы распознавания жестов рук было развертывание ее в приложениях, модель была обучена на 5 классах: «Проведение вверх», «Проведение вниз», «Проведение влево», «Проведение вправо», «Без жеста». и «Делать другие вещи» из обучающего набора 20 миллиардов шутов, который имел самое широкое потенциальное применение в системах, управляемых жестами. Было использовано 6000 обучающих видео с 1000 видео на класс и 750 проверочных видео из проверочного набора 20 миллиардов шутов с 150 видео на класс. В предварительных экспериментах с набором данных ActivityNet высокая скорость обучения и размер пакета были важны для достижения хорошей производительности распознавания.

Обсуждение

Команда распознает жесты в видео с помощью обученной модели. Команда использует метод скользящего окна для создания входных клипов. Другими словами, каждое видео разбивается на неперекрывающиеся 30-кадровые клипы. Каждый клип преобразуется из RGP в оттенки серого и изменяется в размере, чтобы соответствовать входной форме сети 30 × 112 × 112 × 1. Команда оценивает вероятности классов каждого клипа с помощью обученной модели и возвращает лучший прогнозируемый класс для распознавания жестов рук в видео.

Результаты

Между Conv3D и C3D Superlite результаты показали, что C3D superlite имеет гораздо более сбалансированные результаты и способен обобщать лучше, чем Conv3D, с повышением точности проверки на +5% и увеличением скорости вывода на +2 FPS. Эти результаты можно увидеть в Таблице 1 ниже.

Более подробную разбивку результатов обучения и проверки C3D Superlite можно увидеть ниже в таблице 2. Веса обученной модели общедоступны в нашем репозитории github.

Точность, потеря и активация веса

Процитированные работы

[1]А. Крижевский, И. Суцкевер и Г. Э. Хинтон. Классификация Imagenet с помощью глубоких сверточных нейронных сетей. В Достижениях в области систем обработки нейронной информации, страницы 1097–1105, 2012 г.

[2] К. Файхтенхофер, А. Пинц и Р. П. Уайлдс. Пространственно-временные остаточные сети для распознавания видеодействий. В Достижениях в области систем обработки нейронной информации (NIPS), страницы 3468–3476, 2016 г.

[3] Л. Ван, Ю. Сюн, З. Ван, Ю. Цяо, Д. Линь, С. Тан и Л. Ван Гул. Сети временных сегментов: на пути к передовым методам глубокого распознавания действий. В Европейской конференции по компьютерному зрению, страницы 20–36. Спрингер, 2016.

[4] Б. Чжоу, А. Андонян и А. Торральба. Временные реляционные рассуждения в видео. Препринт arXiv arXiv: 1711.08496, 2017 г.

[5] Дж. Донахью, Л. Энн Хендрикс, С. Гуадаррама, М. Рорбах, С. Венугопалан, К. Саенко и Т. Даррелл. Долговременные рекуррентные сверточные сети для визуального распознавания и описания. В материалах конференции IEEE по компьютерному зрению и распознаванию образов, стр. 2625–2634, 2015 г.