Это второй и последний пост о распознавании жестов рук с помощью 3D CNN после первой части серии, в которой рассказывается об архитектуре и работе нейронной сети, разработанной исследовательской группой NVIDIA. В этой части будут рассмотрены этапы предварительной обработки и увеличение данных, выполняемое в наборе данных перед обучением модели. Как предварительная обработка, так и расширение данных играют важную роль в обеспечении модели последовательными обучающими примерами и предотвращении переобучения. Прежде чем мы углубимся в объяснение вышеупомянутых тем, я кратко расскажу о преимуществах использования каналов интенсивности и глубины, а не обычных изображений RGB для обучения модели.

Причина использования каналов интенсивности и глубины

Цель разработки этой нейронной сети - создать надежную систему распознавания жестов при различной интенсивности света. Большинство датчиков цвета и глубины не работают надежно в различных условиях освещения. Например, датчики цвета не работают при слабом освещении, камеры глубины с использованием инфракрасного излучения не работают при прямом ярком солнечном свете и т. Д. И на датчики цвета и глубины влияют резкие тени и самоокклюзия руки. Было обнаружено, что каждый нежесткий объект создает уникальную доплеровскую частоту на микроглубине, которую можно зафиксировать с помощью РАДАРА. Данные, полученные с помощью RADAR, устойчивы к окружающему освещению, а работа с RADAR требует меньших затрат энергии и затрат на вычисления, чем другие датчики, упомянутые выше.

DNN позволяют объединять данные от нескольких датчиков из-за их способности автоматически взвешивать относительную важность различных функций, присутствующих в данных. Таким образом, мы можем использовать все данные, записанные с разных датчиков, что всегда лучше, чем использование данных с одного датчика. Следовательно, мультисенсорная система обычно состоит из данных, собранных из:

  1. Датчики изображения
  2. Датчики глубины
  3. Датчики РАДАРА

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

Предварительная обработка

Модель обучена на наборе данных VIVA, который состоит из 885 видеопоследовательностей интенсивности и глубины, 19 различных динамических жестов и жестов рук, выполняемых 8 участниками в автомобиле. Каждый пример жеста руки в наборе данных имеет переменную продолжительность. С данными выполняются следующие шаги:

  1. Временные длины каждого примера нормализованы, так как каждый имеет свой. Это делается путем повторной выборки каждого жеста до 32 кадров с использованием интерполяции ближайшего соседа (NNI).
  2. Исходная интенсивность и глубина изображений уменьшаются в пространстве в 2 раза до 57x25 пикселей.
  3. Градиенты вычисляются операторами Собеля на канале интенсивности для повышения устойчивости к различным условиям освещения.
  4. Каждый канал данных нормализован для более быстрого градиентного спуска.

Последний вход в классификатор - это 57x125x32 чередующихся кадров градиента и глубины изображения.

Увеличение пространственно-временных данных

Набор данных VIVA, используемый для обучения, содержит около 750 жестов для обучения, что недостаточно для предотвращения переобучения. Следовательно, в обучающем наборе данных выполняются автономные и онлайн-дополнения пространственно-временных данных. На тестовом наборе не производится никаких дополнений. Прежде чем идти дальше, позвольте мне кратко рассказать о различиях между двумя методами аугментации.

Автономное и онлайн-расширение

Когда увеличение данных выполняется статически, т. Е. Получается большой набор данных, и операции выполняются над целым набор данных перед началом обучения, это называется офлайн-дополнением. Каждый обучающий пример в наборе данных подвергается указанным операциям. Затем модифицированный обучающий набор используется для обучения модели.

С другой стороны, онлайн-расширение относится к процессу применения операций к одиночным или пакетным обучающим примерам по мере поступления данных. В отличие от автономных операций дополнения, которые выполняются динамически над набором данных во время обучения, то есть до того, как пакет или пример загружены в модель, преобразования применяются к ним, пока текущий пакет или пример используется для обучения.

В набор данных выполняются следующие дополнения данных:

Офлайн-дополнения

Он состоял из трех операций, перечисленных ниже и изображенных на рисунке 1. Они были использованы для создания дополнительных обучающих примеров:

  1. Рамы обратного заказа
  2. Горизонтальное зеркальное отображение
  3. Совместное применение первого и второго преобразований

Онлайн-дополнения

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

Пространственные дополнения

  1. Аффинные преобразования: (а) поворот (± 10 градусов); (b) масштабирование (± 30%) и (c) перенос (± 4 пикселя по оси x и ± 8 пикселей по оси y)
  2. Пространственные упругие деформации: пиксельное смещение, α = 6 и STD = 10 сглаживающего ядра Гаусса.
  3. Фиксированное падение образца: установка 0 для 50% случайно выбранных пространственных местоположений во всех кадрах.
  4. Случайное выпадение: случайное значение 0 для 50% пикселей всего объема.

Временные аугментации

  1. Масштабирование: продолжительность последовательности была увеличена на ± 20%.
  2. Перевод: последовательности были временно переведены на ± 4 кадра.
  3. Временная эластичная деформация: эластичная дефрмация применяется к временному домену последовательностей.

На приведенном ниже рисунке показаны онлайн-дополнения, выполняемые над данными.

Большинство перечисленных выше преобразований относительно легче понять. Я кратко остановлюсь на временных упругих деформациях (TED).

Временная упругая деформация (TED)

Упругая деформация выполняется путем определения поля нормированного распределения или случайного смещения U (x, y), которое для каждого местоположения пикселя P (x, y) в изображении задает единичный вектор смещения, такой что [2]:

Rw = Ro + αU

где Rw описывает деформированное (новое) положение пикселей, а Ro описывает исходное положение. Сила смещения пикселей регулируется параметром α. Плавность смещения контролируется стандартным отклонением гауссова распределения, которое свернуто с матрицами равномерно распределенных случайных величин, которые образуют размеры x и y поля смещения. [2].

Когда к временной области применяется упругая деформация, это называется временной упругой деформацией (TED). Это позволяет сжимать и растягивать видео без изменения порядка следования кадров и размера тома. На рисунке ниже показано, как проводится TED.

Идея состоит в том, чтобы определить три точки: первый фрейм, основная точка и последний фрейм, которые действуют как якоря. Это означает, что старая и новая кривая (функция упругой деформации) разделяют эти три точки. Ключевая характеристика TED определяется основной точкой, которая случайным образом выбирается из распределений, определенных в зависимости от ситуации (см. Документ, чтобы увидеть используемые распределения). Для этой нейронной сети кривая TED аппроксимируется как полином 2-го порядка, который соответствует трем вышеупомянутым точкам. Все остальные кадры в объеме видео повторно отображаются в соответствии с кривой TED [1].

На этом мы завершаем серию «Распознавание жестов рук с 3D CNN».

Если вам понравился этот пост или он был полезен, пожалуйста, оставьте аплодисменты!

Если вы обнаружите какие-либо ошибки или проблемы в этом сообщении, свяжитесь со мной по адресу [email protected], и я исправлю их.

Использованная литература:

[1] http://research.nvidia.com/sites/default/files/pubs/2015-06_Hand-Gesture-Recognition/CVPRW2015-3DCNN.pdf

[2] https://arxiv.org/pdf/1609.08764.pdf