Предыстория домена:

сайт: https://eliteaihub.com/

Распознавание видео? Интуитивно видео — это не что иное, как бегущая последовательность кадров. Итак, мы можем сказать, что видео состоит из нескольких кадров, расположенных один за другим. Теперь изображение (технически цифровое изображение) представляет собой двумерный массив пикселей. Эти пиксели могут представлять уровни серого, значения интенсивности и т. д., составляющие изображение. Кроме того, если мы имеем дело с цветными изображениями, есть три двумерных массива этих пикселей, по одному на каждый из трех каналов — красный (R), зеленый (G) и синий (B).

Трансферное обучение? Проще говоря, перенос обучения — это процесс обучения модели на крупномасштабном наборе данных, а затем использование этой предварительно обученной модели для проведения обучения для другая нижестоящая (связанная) задача.

стратегии, подразумеваемые для трансферного обучения:

Я использовал 3-ю стратегию для обучения моей модели.

Набор данных: видеобаза данных, содержащая шесть типов человеческих действий (ходьба, бег трусцой, бег, бокс, махание руками и хлопки в ладоши), которые несколько раз выполнялись 25 субъектами в четырех различных сценариях: на улице s1, на улице с изменением масштаба s2, на улице в разной одежде. s3 и в помещении s4. Видео были сняты с частотой кадров 25 кадров в секунду, и каждый кадр был уменьшен до разрешения 160x120 пикселей. Ссылка на набор данных - http://www.nada.kth.se/cvap/actions/

Архитектура модели:

Методология:

  • Читаем в видео, кадр за кадром.
  • Видео были сняты с частотой кадров 25 кадров в секунду. Это означает, что на каждую секунду видео будет 25 кадров. Мы знаем, что в течение секунды человеческое тело не совершает очень значительных движений. Отсюда следует, что большая часть кадров (в секунду) в нашем видео будет избыточной. Следовательно, необходимо извлечь только подмножество всех кадров видео. Это также уменьшит размер входных данных, что, в свою очередь, поможет модели обучаться быстрее, а также может предотвратить переоснащение.
  • Для извлечения кадров могут использоваться различные стратегии, такие как: Извлечение фиксированного числа кадров из общего числа кадров видео: скажем, только первые 200 кадров (т. е. первые 8 секунд видео). Извлечение фиксированного числа кадров каждую секунду из видео: скажем, нам нужно всего 5 кадров в секунду из видео продолжительностью 10 секунд. Это вернет в общей сложности 50 кадров из видео. Этот подход лучше в том смысле, что мы извлекаем кадры редко и равномерно из всего видео.
  • Каждый кадр должен иметь одинаковые пространственные размеры (высоту и ширину). Следовательно, каждый кадр в видео должен быть изменен до требуемого размера.
  • Для упрощения вычислений кадры можно преобразовать в шкалу серого.
  • Нормализация: значения пикселей варьируются от 0 до 255. Эти значения необходимо нормализовать, чтобы наша сеть работала лучше. Могут применяться различные методы нормализации, такие как:
  • Сделайте прогноз для каждого кадра, используя выбранную предварительно обученную модель (я использовал начальную модель в наборе данных Image-net). Поскольку используется подход Transfer-Learning, мы не будем извлекать окончательную классификацию, а извлекаем выходные данные (векторы признаков) последнего слоя объединения, который является функцией вектор длины 2048.below представляет собой часть inception.summary()

До сих пор у нас была карта характеристик одного кадра. Мы берем группу кадров, чтобы классифицировать не кадр, а сегмент видео. карты признаков), которые будут входными данными нашей второй нейронной сети, рекуррентной, для получения окончательной классификации нашей системы.

Результаты:

Точность — 88,37 %