主要内容

人类活动识别仿真软件模型部署智能手机万博1manbetx

这个例子展示了如何准备一个仿真软件®模型,把人类活动基于智能手机的传感器万博1manbetx信号为代码生成和部署智能手机。示例提供了两个仿真软件模型,准备部署到一个Andr万博1manbetxoid™设备和iOS设备。在你为目标设备安装所需的支持包,训练分类模型和部署模型模型。万博1manbetx万博1manbetx

加载示例数据集

加载humanactivity数据集。

负载humanactivity

humanactivity数据集包含24075个观察5个不同的物理人类活动:坐、站立、行走、跑步、和跳舞。每个观察60特性提取加速度数据衡量智能手机加速计传感器。数据集包含以下变量:

  • actid-响应向量包含活动id的整数:1,2,3,4,5代表坐着,站着,散步、跑步、和跳舞

  • actnames——活动名称对应的整数活动id

  • 的壮举24075年60 -特征矩阵的特征观察

  • featlabels60 -标签的功能

传感器HAR(人类活动识别)应用程序[1]是用于创建humanactivity数据集。在测量这个程序的原始加速度数据,一个人把智能手机放在口袋里,这样屏幕智能手机上下颠倒,面临着向人。软件则相应地校准测量原始数据提取的60特性校准数据。校准和特征提取的详细信息,请参见[2][3],分别。仿真软件万博1manbetx模型描述后也使用原始加速度数据,包括块校准和特征提取。

准备数据

这个示例使用90%的观察来训练一个分类的模型的五种类型的人类活动和10%的观察来验证训练模型。使用cvpartition(统计和机器学习的工具箱)指定一个抵抗10%测试集。

rng (“默认”)%的再现性分区= cvpartition (actid,“坚持”,0.10);trainingInds =培训(分区);%训练集的指标XTrain =壮举(trainingInds:);YTrain = actid (trainingInds);testInds =测试(分区);%测试集的指标XTest =壮举(testInds:);欧美= actid (testInds);

将特征矩阵XTrain和响应向量YTrain到表中加载的训练数据集分类学习者应用。

tTrain = array2table ([XTrain YTrain]);

指定表的每一列的变量名。

tTrain.Properties。VariableNames = [featlabels '“活动”];

使用分类学习者应用训练提高了树合奏

训练分类模型用分类学习者应用。打开分类学习者应用,进入classificationLearner在命令行中。或者,单击应用程序选项卡,然后单击右侧的箭头应用程序部分打开画廊。然后,在机器学习和深度的学习,点击分类学习者

分类学习者选项卡,文件部分中,点击新会话并选择从工作空间

新会话从工作区对话框中,单击箭头数据集变量,然后选择表tTrain。分类学习者从表中检测到预测和响应。

默认的选项是5倍交叉验证,防止过度拟合。点击开始会议。分类学习者加载数据集和阴谋的散点图前两个功能。

分类学习者选项卡中,单击右侧的箭头模型类型部分打开画廊。然后,在集成分类器,点击提高了树

当前模型的总结窗格显示默认设置了树的整体模型。

分类学习者选项卡,培训部分中,点击火车。培训完成后,模型窗格显示的5倍,旨在分类精度。

分类学习者选项卡,出口部分中,点击出口模式,然后选择出口紧凑的模型。点击好吧在对话框中。结构trainedModel出现在MATLAB®工作区。这个领域ClassificationEnsembletrainedModel包含了紧凑的模型。提取训练模型的结构。

classificationEnsemble = trainedModel.ClassificationEnsemble;

训练提高了树合奏在命令行

或者,您可以训练分类模型在命令行一样。

模板= templateTree (“MaxNumSplits”,20岁,“复制”,真正的);classificationEnsemble = fitcensemble (XTrain YTrain,“方法”,“AdaBoostM2”,“NumLearningCycles”30岁的“学习者”模板,“LearnRate”,0.1,“类名”,(1;2;3;4;5);

执行5倍交叉验证对classificationEnsemble和计算验证精度。

partitionedModel = crossval (classificationEnsemble,“KFold”5);validationAccuracy = 1-kfoldLoss (partitionedModel)
validationAccuracy = 0.9833

评估性能测试数据

评估性能的测试数据集。

testAccuracy =第一(classificationEnsemble XTest、欧美)
testAccuracy = 0.9759

训练模型正确分类97.59%的人类活动对测试数据集。这一结果确认了训练模型并不overfit训练数据集。

请注意,根据您的操作系统精度值会略有不同。

保存训练模型

等代码生成一个分类模型对象,使用saveLearnerForCoder(统计和机器学习的工具箱)loadLearnerForCoder(统计和机器学习的工具箱)

通过使用保存训练模型saveLearnerForCoder(统计和机器学习的工具箱)

saveLearnerForCoder (classificationEnsemble“EnsembleModel.mat”);

功能块predictActivity在加载训练模型万博1manbetx,利用仿真软件模型loadLearnerForCoder(统计和机器学习的工具箱)并使用训练模式对新数据进行分类。

仿真软件模型部万博1manbetx署到设备

现在您已经准备好一个分类模型,您可以打开仿真软件模型,这取决于类型的智能手机,你的设备和部署模型。万博1manbetx需要注意,仿真软件模型万博1manbetxEnsembleModel.mat文件和校准矩阵文件slexHARAndroidCalibrationMatrix.matslexHARiOSCalibrationMatrix.mat。如果单击按钮位于这个页面的右上角部分并在MATLAB中打开这个例子,然后用MATLAB打开文件夹,包括这些校准矩阵文件示例。

类型slexHARAndroidExample打开部署Android仿万博1manbetx真软件模型。

类型slexHARiOSExample打开模型为iOS部署模型万博1manbetx。您可以打开模型在Mac OS平台上。

人类活动这两个仿万博1manbetx真软件模型分类基于加速度数据衡量智能手机的传感器。模型包括以下模块:

  • 加速度计阻止接收原始加速度数据加速计传感器在设备上。

  • 校准块是一个MATLAB函数块校准原始加速度数据。这个块使用的标定矩阵slexHARAndroidCalibrationMatrix.mat文件或slexHARiOSCalibrationMatrix.mat文件。如果单击按钮位于这个页面的右上角部分并在MATLAB中打开这个例子,然后用MATLAB打开文件夹,包括这些文件示例。

  • 显示模块Acc X,Acc Y,Acc Z连接到校准块和显示为每个轴在设备上校准数据点。

  • 每一个缓冲块,X缓冲,Y缓冲,Z缓冲,缓冲32个样本的加速度计轴12样品缓冲帧之间的重叠。在收集20个样品,每个缓冲块连接的20个样品12样本前一帧和总32样本extractFeatures块。每一个缓冲块接收到一个输入样本每0.1秒和输出缓冲帧包括32个样品每2秒。

  • extractFeatures60块是一个MATLAB函数块提取特征的缓冲帧32个加速度计样本。这个功能块使用DSP系统工具箱™和信号处理工具箱™。

  • predictActivity块是一个MATLAB函数块加载模型的训练EnsembleModel.mat文件的使用loadLearnerForCoder(统计和机器学习的工具箱)使用提取的特征和分类的用户活动。输出一个整数1到5,对应于坐着,站着,散步、跑步、和跳舞。

  • 预测活动块显示设备上的分类用户活动的价值。

  • 视频输出子系统使用一个多端口转换部件选择相应的用户活动图像数据显示在设备上。的转换为RGB块将选中的图像分解成单独的RGB向量,通过图像活动展示块。

将仿真软件模型部署到你的设备万博1manbetx,遵循的步骤Android设备上运行模型苹果的iOS设备上运行模型(万博1manbet万博1manbetxx仿真软件支持包为苹果iOS设备)。在你的设备上运行模型,将设备以同样的方式如前所述训练数据收集,并试着五个活动。该模型显示相应分类活动。

为了保证模型的准确性,你需要把你的设备以同样的方式作为收集的训练数据的描述。如果你想把你的设备在一个不同的位置或方向,然后用你自己的方式收集数据,用数据来训练分类模型。

模型的准确性可以不同的准确性测试数据集(testaccuracy),这取决于设备。改进模型,您可以考虑使用额外的传感器和更新校正矩阵。同样,你可以添加另一个输出块音频反馈输出子系统使用音频工具箱™。使用ThingSpeak™编写发布分类活动和加速度数据块从你的设备到物联网。有关详细信息,请参见https://thingspeak.com/。

引用

a [1] El Helou传感器HAR识别应用。MathWorks文件交换//www.tianjin-qmedu.com/matlabcentral/fileexchange/54138-sensor-har-recognition-app

[2]意法半导体,AN4508应用程序。“参数和标定low-g使用硬件加速计。2014。

[3]El Helou传感器数据分析。MathWorks文件交换//www.tianjin-qmedu.com/matlabcentral/fileexchange/54139-sensor-data-analytics--french-webinar-code-