classifyVideoFile

Классифицируйте видеофайл

Описание

пример

label = classifyVideoFile(classifier,videoFilename) предсказывает метку класса для видеофайла, заданного videoFilename использование заданного классификатора classifier. Видеофайл должен быть читаемым VideoReader объект.

Используйте classifyVideoFile возразите функции для приложений, где целое входное видео может быть классифицировано с одной меткой. Например, можно использовать эту объектную функцию, чтобы оценить эффективность классификатора на наборе видеофайлов основной истины. Если видео содержит последовательности с различными метками класса, используйте classifySequence объектная функция.

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

[label,score] = classifyVideoFile(___) дополнительно возвращает классификационную оценку, сопоставленную с меткой с помощью комбинации входных параметров от предыдущего синтаксиса.. Счет представляет доверие предсказанной метки класса и содержит значения между 0 и 1.

[___] = classifySequence(___,Name=Value) задает опции с помощью аргументов name-value в дополнение к любой комбинации аргументов от предыдущих синтаксисов. Например, label = classifySequence(i3d,ExecutionEnvironment="cpu") задает для классификатора, чтобы работать на центральном процессоре.

Примеры

свернуть все

Загрузите 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

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

свернуть все

Классификатор в виде inflated3dVideoClassifier, r2plus1dVideoClassifier, или slowFastVideoClassifier объект.

Имя видеофайла в виде вектора символов или строкового скаляра. Видеофайл должен быть читаемым VideoReader объект.

Аргументы name-value

Задайте дополнительные пары аргументов как Name1=Value1,...,NameN=ValueN, где Name имя аргумента и Value соответствующее значение. Аргументы name-value должны появиться после других аргументов, но порядок пар не имеет значения.

Пример: label = classifySequence(i3d,ExecutionEnvironment="cpu") задает для классификатора, чтобы работать на центральном процессоре.

Аппаратная среда выполнения, на которой можно запустить классификатор в виде "auto", "gpu", или "cpu".

  • "auto" — Устанавливает среду выполнения на графический процессор, при наличии. В противном случае функция устанавливает его на центральный процессор.

  • "gpu" — Устанавливает среду выполнения на графический процессор. Использование графического процессора требует Parallel Computing Toolbox™ и CUDA® активированный NVIDIA® Графический процессор. Для получения информации о поддерживаемом вычислите возможности, смотрите Поддержку графического процессора Релизом (Parallel Computing Toolbox).

  • "cpu" — Устанавливает среду выполнения на центральный процессор.

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

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

Выходные аргументы

свернуть все

Классификация видео, возвращенного как категориальный скаляр.

Классификационная оценка сопоставлена с меткой, возвращенной как скалярное значение между 0 и 1. Счет представляет доверие предсказанной метки класса.

Введенный в R2021b