主要内容

人类活动识别定点仿真软件模型部署金宝app

这个例子展示了如何准备一个仿真软件®模型,把人类活动对代码生成和部署基于金宝app传感器信号低功耗硬件。示例提供了一个仿真软件分类模型准备部署到BBC金宝app微:一些设备。首先,下载并安装仿真软件编码器™支持包BBC微:从附加资金宝app源管理器。金宝app然后,训练分类模型和部署模型模型到目标设备。金宝app

加载示例数据集

加载humanactivity数据集。

负载humanactivity

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

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

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

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

  • featlabels60 -标签的功能

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

减少内存占用为定点部署,指定只使用第一个15特征的数据集训练分类器。

(壮举=壮举:1:15);featlabels = featlabels (1:15);

准备数据

这个示例使用90%的观察来训练模型,将人类活动的五种类型,和10%的观察来验证训练模型。使用cvpartition指定一个抵抗10%测试集。

rng (“默认”)%的再现性分区= cvpartition (actid,“坚持”,0.10);

提取训练和测试指标。

trainInds =培训(分区);testInds =测试(分区);

指定的培训和测试数据集。

XTrain =壮举(trainInds:);YTrain = actid (trainInds);XTest =壮举(testInds:);欧美= actid (testInds);

火车在命令行决策树

火车安装的二进制使用预测分类决策树XTrain和类标签YTrain。推荐的做法是指定类名。同时,指定一个最大的20个分支节点的决策树。

classificationTree = fitctree (XTrain YTrain,“类名”,(1,2,3,4,5],“MaxNumSplits”,20)
classificationTree = classificationTree ResponseName:‘Y’CategoricalPredictors::[]类名(1 2 3 4 5)ScoreTransform:“没有一个”NumObservations: 21668属性,方法

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

partitionedModel = crossval (classificationTree,“KFold”5);validationAccuracy = 1-kfoldLoss (partitionedModel)
validationAccuracy = 0.9700

或者,您可以训练,旨在使用分类学习者应用相同的分类模型。对于类似的例子,看看人类活动识别仿真软件模型部署智能手机金宝app

评估性能测试数据

了解算法概括估计测试样本分类错误。

testAccuracy =第一(classificationTree XTest、欧美)
testAccuracy = 0.9617

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

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

预测模型模型金宝app

现在您已经准备好一个分类模型,您可以打开仿真软件模型。金宝app您可以导入培训包含决策树分类对象classificationTree成一个ClassificationTree预测块。你可以添加这个块的统计和机器学习工具箱™图书馆。为更多的信息关于如何创建一个模型,该模型包括一个ClassificationTree预测块,看预测类标签使用ClassificationTree预测块。在本例中,您将使用仿真软件模型金宝appslexHARFixedPointExample提供了这个例子。

创建一个大的加速度计数据ts使用仿真软件模型作为输入。金宝app

inData =负载(“rawAccData”);Xacc = inData.acc_data;t = 0:尺寸(Xacc, 1) 1;ts = timeseries (Xacc t“InterpretSingleRowDataAs3D”,真正的);numSteps =元素个数(t) 1;

打开模型模型金宝appslexHARFixedPointExample通过输入以下命令行。注意,该仿真软件模型包括回调金宝app,必要的变量预处理子系统加载到基本工作空间。

slexHARFixedPointExample

model.png

slexHARFixedPointExample模型包含以下模块:

  • X块(输入端口)连接信号ts从工作空间到系统中。

  • 缓冲和校准块包含三个缓冲块:X缓冲,Y缓冲,Z缓冲。每一个块缓冲区32个样本的加速度计轴12样品缓冲帧之间的重叠。在收集20个样品,每个缓冲用12块连接前一帧,并将总样本的32个样本预处理块。每一个缓冲块接收到一个输入样本每0.1秒和输出缓冲帧包括32个样品每2秒。

  • 预处理15块提取特征的缓冲帧32个加速度计样本。这个子系统块使用DSP系统工具箱™和信号处理工具箱™。

  • ClassificationTree预测块一块库的统计和机器学习工具库,将人类活动使用提取的特征。输出一个整数1到5,对应于坐着,站着,散步、跑步、和跳舞。

转换为定点

转换slexHARFixedPointExample模型的定点模型slexHARFixedPointConvertedExample。然后,部署slexHARFixedPointConvertedExample英国广播公司(BBC)微:董事会。目标设备没有浮点单元(FPU),并执行定点计算更有效地比浮点计算。

slexHARFixedPointExample模型中,右键单击标签港口和选择日志选择信号。然后,打开定点的工具应用程序通过选择从应用画廊,从可用应用程序选项卡。在定点工具,工作流,选择迭代定点转换

SelectedIterative.png

迭代定点转换选项卡,信号公差部分,指定可接受的水平的公差(区别原始值和新设计的价值)的标签信号。分类模型的推荐的做法是指定0绝对宽容。经过这样设置后,标签返回的定点分类模型必须一样的标签返回的浮点模型。(回归模型,可接受的公差可以零指定号码。)

SignalTolerances.png

然后,检查示例中的步骤浮点模型转换为定点(定点设计师)学习如何创建一个仿真软件模型转换为定点。金宝app

打开定点仿真软件模型金宝appslexHARFixedPointConvertedExample通过输入以下命令行。的子系统块包含了缓冲和校准,预处理,ClassificationTree预测块如图所示的早些时候slexHARFixedPointExample模型。

slexHARFixedPointConvertedExample

modelFixedPoint.png

或者,您可以选择优化定点转换工作流的定点的工具应用程序或手动在块中定义的数据类型对话框。有关更多信息,请参见与定点输出配置块(定点设计师)

部署到硬件

打开模型模型部署到金宝appBBC微:有些设备在命令行输入以下命令来。的slexHARFixedPointDeployExample模型转换为定点,I / O模块的加速度计和显示港口目标设备。

slexHARFixedPointDeployExample

modelDeploy.png

仿真软件金宝app模型slexHARFixedPointDeployExample把人类活动基于加速度测量的数据智能手机的传感器。该模型包括以下模块:

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

  • 缓冲和校准,预处理,ClassificationTree预测块的早些时候所示的相同slexHARFixedPointExample模型。

  • 预测活动块显示人类活动分类值5 x5 LED矩阵的BBC微:一些设备。字母“S”,“T”,“W”,“R”和“D”代表坐着,站着,散步、跑步、和跳舞。

将仿真软件模型部署到你的设备金宝app,遵循的步骤开始使用仿真软件编码器为BBC微:支持包金宝app金宝app(金宝app对BBC微观仿真软件金宝app编码器支持方案:位)。在你的设备上运行模型,将设备以同样的方式如前所述训练数据收集,并试着五个活动。该模型显示相应分类活动。

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

模型的准确性可以不同的准确性测试数据集(testAccuracy),这取决于设备。提高模型精度,考虑使用额外的传感器,如一个陀螺仪。

引用

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

[2]意法半导体,AN4508应用程序。“参数和标定low-g使用硬件加速计。2014。https://www.st.com/resource/en/application_note/dm00119044-parameters-and-calibration-of-a-lowg-3axis-accelerometer-stmicroelectronics.pdf

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

另请参阅

||

相关的话题