帮助中心帮助中心
视频序列进行分类
自从R2021b
标签= classifySequence(标识符)
(标签,分数)= classifySequence(标识符)
(___]= classifySequence(分类器,ExecutionEnvironment = env)
例子
标签= classifySequence (分类器)使用视频分类器分类视频序列分类器。函数返回标签一个标量直言,指定视频的分类或光学流序列。标签是一种的值类视频分类对象的属性。
标签= classifySequence (分类器)
标签
分类器
类
(标签,分数)= classifySequence (分类器)此外返回分类得分与标签。分数代表的信心预测类标签,并且包含值之间0和1。
(标签,分数)= classifySequence (分类器)
分数
0
1
(___)= classifySequence (分类器,ExecutionEnvironment = env)指定运行的硬件资源分类器除了任意组合的参数从以前的语法,这些选项之一:
(___)= classifySequence (分类器,ExecutionEnvironment = env)
“汽车”——设置GPU执行环境,如果可用。否则函数集CPU。
“汽车”
“图形”——设置GPU执行环境。使用CUDA GPU需要并行计算工具箱™和®使英伟达®GPU。关于支持计算能力的信息,看到金宝appGPU计算的需求(并行计算工具箱)。
“图形”
“cpu”——设置CPU执行环境。
“cpu”
全部折叠
这个示例使用:
这个例子展示了如何对视频序列进行分类的视频文件使用SlowFast视频分类器pretrained动力学- 400视频活动识别数据集。了解更多关于如何训练视频分类器网络数据集,明白了手势识别使用视频和深度学习。
负载SlowFast视频分类器
科幻小说= slowFastVideoClassifier ();
设置视频播放器和电子阅读器
指定流视频帧视频文件名称。
videoFilename =“pushup.mp4”;
创建一个VideoReader读视频。
读者= VideoReader (videoFilename);
设置视频播放器。
球员= vision.VideoPlayer;
指定分类器的频率应该应用于传入的视频帧。
classifyInterval = 10;
值10平衡运行时性能对分类性能。增加这个值来提高运行时性能为代价的失踪的行动从视频文件。
获得的序列长度SlowFast视频分类器。只有在捕获至少进行分类sequenceLength从视频文件的帧数。
sequenceLength
sequenceLength = sf.InputSize (4);
读取视频帧使用hasFrame和readFrame的功能VideoReader。使用updateSequence功能更新视频分类的序列。使用classifySequence功能分类更新后的序列。
hasFrame
readFrame
VideoReader
updateSequence
classifySequence
numFrames = 0;文本=”“;而hasFrame(读者)帧= readFrame(读者);numFrames = numFrames + 1;%更新下个视频序列帧。科幻小说= updateSequence(科幻,框架);%分类只在每个classifyInterval数量的帧序列。如果国防部(numFrames classifyInterval) = = 0 & & numFrames > = sequenceLength[标签,分数]= classifySequence (sf);文本字符串(标签)+ =”;”+ num2str(得分,“% 0.2 f”);结束= insertText帧(帧,(30、30),文本,“字形大小”、24);步骤(球员,框架);结束
这个例子展示了如何分类的视频摄像头使用pretrained SlowFast视频分类器。了解更多关于如何训练视频分类器网络数据集,明白了手势识别使用视频和深度学习。
下载Pretrained视频分类器
下载pretrained SlowFast视频分类器。
downloadFolder = fullfile (tempdir,“姿态”);zipFile =“slowFastPretrained_fourClasses.zip”;如果~ isfile (fullfile (downloadFolder zipFile) disp (“下载pretrained网络…”);downloadURL =“https://ssd.mathworks.com/金宝appsupportfiles/vision/data/”+ zipFile;zipFile = fullfile (downloadFolder zipFile);websave (zipFile downloadURL);解压缩(zipFile downloadFolder);结束
加载pretrained SlowFast视频分类器。
pretrainedDataFile = fullfile (downloadFolder,“slowFastPretrained_fourClasses.mat”);pretrained =负载(pretrainedDataFile);slowFastClassifier = pretrained.data.slowFast;
显示的类标签名pretrained视频分类器。任何手势如“鼓掌”和“wavingHello”的摄像头将被SlowFast视频分类器。
类= slowFastClassifier.Classes
类=4×1分类换掉wavingHello再鼓掌
安装摄像头和视频播放器
在这个例子中,一个摄像头对象用于捕获视频。视频播放器是用来显示视频以及预测类。
创建一个对象使用摄像头网络摄像头函数。
网络摄像头
凸轮=摄像头;
创建一个视频播放器使用vision.VideoPlayer函数。一定要把视频播放器,你可以清楚地看到运行分类时的视频。
vision.VideoPlayer
摄像头视频进行分类
值10平衡运行时性能对分类性能。增加这个值来提高运行时性能为代价的失踪的姿态从视频直播流。
获得的序列长度SlowFast视频分类器。只有在捕获至少进行分类sequenceLength从摄像头的帧数。
sequenceLength = slowFastClassifier.InputSize (4);
指定的最大帧数来捕获在一个循环中使用maxNumFrames变量。确保你波识别你的手之一“wavingHello”标签,拍使用分类器识别你的手“鼓掌”标签。
maxNumFrames
“wavingHello”
“鼓掌”
maxNumFrames = 280;
在一个循环中捕获摄像头快照。更新分类器使用的视频序列updateSequence使用的方法,分类流序列classifySequence方法。
numFrames = 0;文本=”“;而numFrames < = maxNumFrames帧=快照(cam);numFrames = numFrames + 1;slowFastClassifier = updateSequence (slowFastClassifier,框架);如果国防部(numFrames classifyInterval) = = 0 & & numFrames > = sequenceLength[标签,分数]= classifySequence (slowFastClassifier);如果~ isempty(标签)文本字符串(标签)+ =”;”+ num2str (max(分数),“% 0.2 f”);结束结束= insertText帧(帧,(30、30),文本,“字形大小”,18);步骤(球员,框架);结束
r2plus1dVideoClassifier
slowFastVideoClassifier
指定为一个分类器r2plus1dVideoClassifier或slowFastVideoClassifier对象。
分类的视频或光流序列,作为一个绝对标量返回。
分类分数相关的标签,作为一个标量返回值之间0和1。分数代表的信心预测类标签。
介绍了R2021b
sceneTimeRanges
writeVideoScenes
classifyVideoFile
预测
向前
resetSequence
inflated3dVideoClassifier
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
选择一个网站
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室