inflated3dVideoClassifier

Расширенный 3D видео классификатор (I3D). Требует Модели Computer Vision Toolbox для расширенной 3D Видео Классификации

Описание

inflated3dVideoClassifier объект является расширенным 3D видео классификатором (I3D), предварительно обученным на кинетике 400 наборов данных. Можно использовать предварительно обученный видео классификатор, чтобы классифицировать 400 человеческих поступков, таких как выполнение, обход и рукопожатие. Модель классификатора I3D содержит две подсети: видео сеть и сеть оптического потока. Обе из этих сетей обучены на кинетике 400 с потоком данных RGB и данными об оптическом потоке соответственно.

Создание

Описание

i3d = inflated3dVideoClassifier возвращает видео классификатор I3D, предварительно обученный на кинетике 400 наборов данных.

пример

i3d = inflated3dVideoClassifier(classifierName,classes) конфигурирует предварительно обученное Расширенное 3D видео (I3D) classifer для передачи обучения на новом наборе классов, classes, использование одного из двух предварительно обученных классификаторов, заданных classifierName.

i3d = inflated3dVideoClassifier(___,Name=Value) свойства наборов с помощью аргументов name-value в дополнение к входным параметрам от предыдущего синтаксиса. Например, i3d = inflated3dVideoClassifier("googlenet-video","wavingHello","clapping",InputSize=[224,224,3,64]) устанавливает входной размер сети к 64 системам координат 224 224 пикселей с 3 каналами. Можно задать несколько аргументов name-value.

Примечание

Этот объект требует Модели Computer Vision Toolbox™ для расширенной 3D Видео Классификации. Можно установить Модель Computer Vision Toolbox для расширенной 3D Видео Классификации из Add-On Explorer. Для получения дополнительной информации об установке дополнений, смотрите, Получают и Управляют Дополнениями. Чтобы использовать этот объект, у вас должна быть лицензия на Deep Learning Toolbox™.

Входные параметры

развернуть все

Имя классификатора в виде "googlenet-video" или "googlenet-video-flow".

КлассификаторОписание
"googlenet-video"Находящаяся в GoogLeNet модель I3D, предварительно обученная на кинетике 400 видеоданных для передачи обучения.
"googlenet-video-flow"Находящаяся в GoogLeNet модель I3D, предварительно обученная на кинетике 400 данных о видео и оптическом потоке для передачи обучения. Во время обучения и вывода, и данные о видео и оптическом потоке используются для классификации.

Свойства

развернуть все

Сконфигурируйте свойства классификатора

Это свойство доступно только для чтения.

Размер видео сети классификатора в виде четырехэлементного вектора-строки в форме [H, W, C, T], где H и W представляют высоту и ширину соответственно, C, представляют количество каналов, и T представляет количество кадров для видео подсети.

Входной размер подсети потока равен в высоте, ширине и количестве кадров, но количество каналов фиксируется к 2.

Типичные значения для количества кадров равняются 8, 16, 32, или 64. Увеличьте количество кадров, чтобы получить временную природу действий когда обучение классификатор. Когда вы используете данные об оптическом потоке, количество каналов должно равняться 2, которые соответствуют x - и y - компоненты скорости.

Это свойство доступно только для чтения.

Статистика нормализации для данных о видео и оптическом потоке в виде структуры с именами полей Video и OpticalFlow, которые являются также структурами с именами полей, MinMax среднее значение, и StandardDeviation. Min и Max значения полей задают минимальные и максимальные значения для того, чтобы перемасштабировать данные о видео и оптическом потоке. Mean, и StandardDeviation значения задают среднее и стандартное отклонение для входной нормализации. Все значения полей должны быть заданы как вектор-строка из размера, равного количеству каналов для данных о вводе видео. Когда вы используете данные об оптическом потоке, количество каналов должно равняться 2, которые соответствуют x - и компоненты y скорости.

Структура по умолчанию содержит:

  • Video поле, которое содержит поле Min установите на [0,0,0], и поле Max установите на [255,255,255].

  • Пустой OpticalFlowсреднее значение, и StandardDeviation значения полей.

Для ввода видео данные перемасштабируются между -1 и 1 использование Min и Max значения полей. Для входа оптического потока данные перемасштабируются между -1 и 1 использование вычислило минимальные и максимальные значения из входных данных.

Примечание

Когда Min и Max значения полей не пусты, объект сначала перемасштабирует входные данные между -1 и 1. Затем если Mean, и StandardDeviation значения полей не пусты, объект нормирует перемасштабированные значения путем вычитания среднего значения и деления на стандартное отклонение.

Пример с помощью этого свойства:

stats.Video = struct(Min=[0,0,0],Max=[255,255,255], ...
Mean=[],StandardDeviation=[]);
stats.OpticalFlow = struct(Min=[-20,-20],Max=[20,20] ,...
Mean=[],StandardDeviation=[]);
i3d = inflated3dVideoClassifier('googlenet-video-flow',["waving","clapping"],InputNormalizationStatistics=stats);

Имя обученного видео классификатора в виде строкового скаляра.

Это свойство доступно только для чтения.

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

classes = ['kiss','laugh','pick','pour','pushup'];

Учебные свойства

Настраиваемые параметры для видео подсети видео классификатора I3D в виде таблицы с тремя столбцами.

  • Layer — Имя слоя в виде строкового скаляра.

  • Parameter — Название параметра в виде строкового скаляра.

  • Value — Значение параметров в виде dlarray Объект (Deep Learning Toolbox).

Сетевые настраиваемые параметры содержат функции, изученные сетью. Например, веса свертки и полносвязных слоев.

Состояние nonlearnable параметров для видео подсети видео классификатора I3D в виде таблицы с тремя столбцами.

  • Layer — Имя слоя в виде строкового скаляра.

  • Parameter — Название параметра в виде строкового скаляра.

  • Value — Значение параметров в виде dlarray Объект (Deep Learning Toolbox).

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

Настраиваемые параметры для подсети оптического потока видео классификатора I3D в виде таблицы с тремя столбцами. Сетевые настраиваемые параметры в виде таблицы с тремя столбцами:

  • Layer — Имя слоя в виде строкового скаляра.

  • Parameter — Название параметра в виде строкового скаляра.

  • Value — Значение параметров в виде dlarray Объект (Deep Learning Toolbox).

Сетевые настраиваемые параметры содержат функции, изученные сетью. Например, веса свертки и полносвязных слоев.

Состояние nonlearnable параметров для видео подсети видео классификатора I3D в виде таблицы с тремя столбцами. Сетевые настраиваемые параметры в виде таблицы с тремя столбцами:

  • Layer — Имя слоя в виде строкового скаляра.

  • Parameter — Название параметра в виде строкового скаляра.

  • Value — Значение параметров в виде dlarray Объект (Deep Learning Toolbox).

Сетевые настраиваемые параметры содержат функции, изученные сетью. Например, веса свертки и полносвязных слоев.

Свойства классификации потоковых видео

Это свойство доступно только для чтения.

Видео последовательность раньше обновляла и классифицировала последовательности для для потоковой передачи классификации в виде 4-D числового массива. Каждый вектор в массиве имеет форму [H, W, C, T], где H и W представляют высоту и ширину соответственно, C представляет количество каналов, и T представляет количество кадров для видео подсети. updateSequence и classifySequence возразите, что функции используют видео последовательность, заданную VideoSequence свойство.

Это свойство доступно только для чтения.

Последовательность оптического потока раньше обновляла и классифицировала последовательности для потоковой передачи классификации в виде 4-D числового массива. Каждый вектор в массиве имеет форму (H, W, C, T), где H и W представляют высоту и ширину соответственно, C представляет количество каналов, и T представляет количество кадров для подсети оптического потока. updateSequence и classifySequence возразите, что функции используют последовательность оптического потока, заданную OpticalFlowSequence.

Функции объекта

развернуть все

classifyVideoFileКлассифицируйте видеофайл
resetSequenceСбросьте свойства последовательности видео и оптического потока для классификации потоковых видео
updateSequenceОбновите последовательность видео или оптического потока для классификации
classifySequenceКлассифицируйте последовательность видео и оптического потока
forwardВычислите видео классификатор выходные параметры для обучения
predictВычислите видео предсказания классификатора

Примеры

свернуть все

В этом примере показано, как использовать classifyVideoFile классифицировать видео с помощью Расширенного 3D видео классификатора.

Загрузите предварительно обученную расширенную 3D видео сеть.

i3d = inflated3dVideoClassifier();

Задайте имя видеофайла, чтобы классифицировать.

videoFilename = 'visiontraffic.avi';

Классифицируйте видео с помощью видео классификатора.

label = classifyVideoFile(i3d, videoFilename);

Обратите внимание на то, что классификатор не подстраивается, чтобы вычислить правильные предсказания для visiontraffic.avi, поэтому, предсказанная метка не будет правильна. Необходимо обучить классификатор оптимальной эффективности на видеоданных.

Введенный в R2021b