slowFastVideoClassifier

Классификатор видео SlowFast. Требует Модели Computer Vision Toolbox для Классификации Видео SlowFast

Описание

slowFastVideoClassifier объект является классификатором видео SlowFast, предварительно обученным на кинетике 400 наборов данных со сверточной нейронной сетью (CNN) ResNet-50 3-D. Можно использовать предварительно обученный видео классификатор, чтобы классифицировать 400 человеческих поступков, таких как выполнение, обход и рукопожатие.

Создание

Описание

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

пример

sf = slowFastVideoClassifier("resnet50-3d",classes) конфигурирует предварительно обученное видео SlowFast classifer для передачи обучения на новом наборе классов, classes.

sf = slowFastVideoClassifier(___,Name=Value) свойства наборов с помощью аргументов name-value в дополнение к входным параметрам от предыдущего синтаксиса. Например, sf = slowFastVideoClassifier("resnet50-3d",classes,InputSize=[256,256,3,32]) устанавливает входной размер сети. Можно задать несколько аргументов name-value.

Примечание

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

Свойства

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

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

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

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

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

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

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

Структура по умолчанию содержит поля, MinMax среднее значение и StandardDeviation со значениями [0,0,0], [255,255,255],, [0.45,0.45,0.45], и [0.225,0.225,0.225], соответственно. Необходимо вычислить значения статистики от набора данных, которому вы - обучение видео классификатор. Чтобы перемасштабировать данные с помощью минимальных и максимальных значений, предварительно вычисленных из набора данных, задайте оба Min и Max. В противном случае минимальные и максимальные значения вычисляются от каждой входной последовательности при использовании updateSequence или classifyVideoFile.

Примечание

Объект нормирует данные путем перемасштабирования его между 0 и 1, и затем перемасштабированные данные стандартизированы путем вычитания среднего значения и деления на стандартное отклонение. Перемасштабированные данные стандартизированы если Mean и StandardDeviation поля непусты. Вход автоматически нормирован при использовании updateSequence или classifyVideoFile функции объекта. Данные должны быть вручную нормированы при использовании forward или predict функции объекта.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

Загрузите slowfast видео классификатор, предварительно обученный на кинетике 400 наборов данных.

sf = slowFastVideoClassifier;

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

videoFilename = "washingHands.avi";

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

numSequences = 15;

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

[label,score] = classifyVideoFile(sf,videoFilename,NumSequences=numSequences)
label = categorical
     washing hands 

score = single
    0.0034

Отобразите классифицированную метку с помощью vision.VideoPlayer.

player = vision.VideoPlayer('Name','Washing Hands');
reader = VideoReader(videoFilename);
while hasFrame(reader)    
    frame = readFrame(reader);
    % Resize the frame by 1.5 times for display
    frame = imresize(frame,1.5);
    frame = insertText(frame,[2,2], string(label),'FontSize',18);
    step(player,frame);
end

Введенный в R2021b