主要内容

在树莓派硬件上使用MNIST数据集识别手写数字0到9

这个例子展示了如何使用Simulink®支持包为树莓派™硬件来识别从金宝app0到9的手金宝app写数字图像。在这个例子中,一个与树莓派硬件板接口的网络摄像头被用来捕捉手写数字的图像。该算法识别数字,然后输出数字的标签及其预测概率。

这个例子使用了一个预先训练好的网络,originalMNIST.mat,用于预测。该网络已使用修改后的国家标准与技术研究所数据库(MNIST)数据集进行训练。

MNIST数据集是神经网络领域中常用的数据集。该数据集包括6万张用于机器学习模型的训练图像和1万张测试灰度图像。每张图像都是28乘28像素。

先决条件

有关如何在树莓派硬件上运行Simulink模型的更多信息,请参阅金宝app树莓派硬件的Simulink支持包入门金宝app金宝app的例子。

所需的硬件

  • 树莓派板

  • Micro USB数据线

  • 你可以使用USB网络摄像头,也可以使用树莓派摄像头。在本例中,外部USB网络摄像头与树莓派板接口。

硬件设置

  1. 2 .连接树莓派单板与主机。

  2. 将USB网络摄像头连接到树莓派单板上。

配置Simulink金宝app模型和校准参数

本例使用树莓派硬件的Simulink支持包中的预配置Simulink金宝app模型。金宝app在这个模型中,RGB图像使用V4L2视频采集块(用于捕获实时视频)和SDL视频显示块(用于显示实时视频)。

要打开Simulink模金宝app型,请在MATLAB®命令窗口中运行此命令。

open_system (“raspberrypi_digitClassification”

为相机指定感兴趣的区域(ROI)。属性指定ROI常数的Value参数。感兴趣地区块。的感兴趣地区Block是一个常数块。的感兴趣地区块在您指定的ROI周围生成一个边界框。

指定ROI为N维(_x_,ywh数组,其中x而且y代表了x- - -y-坐标和w而且h表示宽度和高度,并确定大小。本例中使用的ROI[40 100 140 140]。您可以修改这些值以满足您的需求。

在这个图中,x而且y坐标点分别为40和100。值140表示ROI从x坐标(w= 40 + 140 = 180), 140表示ROI从y坐标(h= 100 + 140 = 240)。

在指定的ROI内捕获的图像是位置端口绘制感兴趣的区域子系统和ROI端口数字预测子系统。

上配置这些参数V4L2视频采集布洛克:

1.中输入视频设备的路径和名称设备名称参数。

提示:你可以使用树莓派资源监控App来查找连接到树莓派板的视频设备的名称。

2.在图像大小参数,指定要捕捉的视频的宽度(以像素为单位)和行高(以行为单位)。

3.设置视频格式为RGB像素格式参数。

4.进入样品时间视频设备的。

矩阵连接块连接它从控件接收到的R、G和B图像数据V4L2视频采集控件的输入信号绘制感兴趣的区域而且数字预测子系统。配置矩阵连接布洛克:

1.集输入数量3.为捕获图像的R、G、B数据输入。

2.集模式多维对输入的R、G、B图像数据进行多维拼接。

3.集连接尺寸3.指定输出维数,沿其连接R、G和B图像数据的输入数组。

中配置SDL视频显示布洛克:

1.设置像素格式的输入视频流RGB

预测数字信心显示block使用默认值。

要打开绘制感兴趣的区域子系统,在MATLAB命令窗口中运行此命令。

open_system ('raspberrypi_digitClassification/绘制感兴趣的区域'

绘制感兴趣区域子系统绘制从(40,100)到(180,240)像素的ROI。为了绘制ROI,将此图像转换为单一格式,然后再转换回RGB。

要打开数字预测器子系统,在MATLAB命令窗口中运行此命令。

open_system (“raspberrypi_digitClassification /数字预测”

在数字预测子系统中RGB2bin块将图像转换为其二进制等价,然后从输入图像中提取ROI。该块对图像进行补充并将其大小调整为28 × 28像素。对象将调整大小的图像传递给提取图像特征块来提取定向梯度(HOG)特征的直方图。提取的特征进入预测数字块。Predict Digit块加载紧凑的训练模型,originalMNIST.mat,从提取的特征中预测数字。有关如何originalMNIST.mat文件是训练过的,见基于HOG特征的MNIST数据库数字分类(金宝appAndr金宝appoid设备的Simulink支持包)的例子。的预测数字块显示预测数字和信心(0 - 1)块显示其预测的概率。

运行Si金宝appmulink模型

连接到树莓派硬件板上的网络摄像头会捕捉到要识别的数字图像。显示输入图像周围标记的ROI、预测数字和置信度值等输出SDL视频显示预测数字显示块,信心(0 - 1)显示块,分别。

1.在白板或白纸上画出0到9的数字。在本例中,支持包识别数字金宝app5

2.捕获数字5使用网络摄像头。确保数字包含在ROI内。

3.在硬件选项卡中的Simuli金宝appnk模型模式部分中,选择在船上跑然后点击监视和调优在树莓派板上运行Sim金宝appulink模型。

4.观察SDL视频显示预测数字显示,信心(0 - 1)显示块。的预测数字显示块将输出显示为5,以及信心(0 - 1)显示块将输出显示为1,表示对数字的准确识别5

3.点击停止停止Simulink模型金宝app仿真。

其他可以尝试的事情

试着认出从0到9的所有数字。

另请参阅

基于HOG特征的MNIST数据库数字分类(金宝appAndr金宝appoid设备的Simulink支持包)