亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

reTerminal 机器学习演示(Edge Impulse 和 Arm NN)

8 GB RAM 32 GB eMMC Raspberry Pi CM 开发板,带触摸屏和大量接口。

故事

我发表的最后几篇文章是关于 TinyML 和 Wio 终端——基于 Cortex M4F 的开发板,在坚固的塑料外壳中带有 LCD 屏幕。 Seeed 工作室,该公司让 Wio Terminal 决定更进一步,并在最近发布了 reTerminal - 基于 Raspberry Pi 4 计算模块的开发板,在坚固的塑料外壳中带有 LCD 屏幕。

我拿到了其中一个 reTerminals 并制作了一个简短的拆箱视频,其中还包括一些演示和对该设备可能用例的解释。本文作为视频的补充,扩展了如何设置环境和运行机器学习演示。

规范

reTerminal 由 Raspberry Pi 计算模块 4 (CM4) 提供支持,该模块具有运行频率为 1.5GHz 的四核 Cortex-A72 CPU。用于 reTerminal 的 CM4 模块版本具有 4 Gb 的 RAM 和 32 Gb 的 eMMC 存储,可缩短启动时间并提供更流畅的整体用户体验。外围方面,有一个分辨率为 1280 x 720 的 5 英寸 IPS 电容式多点触摸屏、加速度计、RTC 模块、蜂鸣器、4 个按钮、4 个 LED 和一个光传感器。在连接方面,新板具有双频 2.4GHz/5GHz Wi-Fi 和蓝牙 5.0 BLE,侧面还有千兆以太网端口。

reTerminal 可以使用与树莓派 4 相同的电源供电,5V2A,但官方说明建议使用 4A 电源,尤其是当您连接更多外设时。对于演示,我使用了工厂未知公司的 5V2A 壁式插头电源,但没有收到欠压警告。话虽如此,如果有疑问,请使用5V4A。

默认情况下,reTerminals 预装了 32 位 Raspbian 操作系统,并安装了设备驱动程序。但是,由于对于机器学习应用程序而言,64 位操作系统可以提供显着的提升,因此 Seeed Studio 还将提供 64 位版本的 Raspbian 操作系统映像,其中预装了特定于 reTerminal 的驱动程序。

还包括板载屏幕键盘和简单的 QT5 演示。触摸屏是响应式的,但由于 Raspbian OS 不是移动操作系统,也没有针对触摸屏进行优化,因此按下较小的 UI 元素有时会有点麻烦。有手写笔很有帮助。

当您需要输入文本时,板载屏幕键盘会弹出,然后消失。您可以在设置中修改该行为。因此,可以将 reTerminal 用作便携式 Raspberry Pi,尽管为此您可能想看看另一个操作系统,例如 Ubuntu touch,它可与 Raspberry Pi 4 一起使用,但目前处于 beta 开发阶段且高度实验性。 reTerminal 的主要用例是显示用 QT、LVGL 或 Flutter 制作的用户界面。让我们启动一个示例 QT 应用程序,它显示设备规格和参数、来自传感器的数据以及虚构工厂的示例控制板。当界面元素较大时,触摸屏使用起来更舒服。

边缘脉冲目标检测

我们将利用 Edge Impulse 开发平台的最新功能,Linux 部署支持。我们可以通过将摄像头连接到 reTerminal 来收集样本,然后在云端进行训练,并使用 edge-impulse-linux-runner 自动下载并运行训练好的模型,从而轻松训练目标检测模型。

Edge Impulse CLI 的安装过程在文档中进行了描述。这一切都归结为几个简单的步骤:

curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
sudo apt install -y gcc g++ make build-essential nodejs sox gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-plugins-base-apps
npm config set user root &&sudo npm install edge-impulse-linux -g --unsafe-perm

之后 Edge Impulse CLI 已安装,请确保已连接摄像头 - 我使用了一个简单的 USB 网络摄像头,如果您使用 Raspberry Pi 摄像头,请记得在 raspi-config 中启用它。

在开始收集对象检测数据之前,请确保仪表板 在‘Project info> Labeling method’下选择‘Bounding boxes (object detection)’。

为您想要识别的每个班级拍摄至少 100 张图像。目前,您可以上传您自己的图像,方法是在“数据采集”选项卡中按“显示选项”-“上传数据”。但是目前还无法上传边界框注释,因此您上传的图像仍然需要手动标记。注释掉足够多的图像后,转到创建脉冲,选择图像作为处理块,选择对象检测(图像)作为学习块。

一个用户可以收集和注释的图像数量不足以从头开始训练一个大型网络,这就是我们微调预训练模型以检测新对象类别的原因。在大多数情况下,您可以保留时期数、学习率和置信度的默认值。对于对象检测,使用自定义代码,因此我们无法在专家模式下对其进行调整,因为可以使用更简单的模型进行调整。

训练在 CPU 上完成,因此需要一些时间,具体取决于数据集中的图像数量。喝一杯您最喜欢的饮料,边喝边喝。

新添加的对 Edge Impulse 的 Linux 支持的最佳功能之一是 edge-impulse-linux-runner。当模型训练完成并且您对验证数据集(自动从训练数据中分离)的准确性感到满意时,您可以在实时分类中测试模型,然后继续将其部署到设备上。在这种情况下它就像运行一样简单

edge-impulse-linux-runner

在终端。模型会自动下载并准备好,然后在浏览器中会显示推理结果,你的终端上会出现一行,类似于:

想要在浏览器中查看相机的提要和实时分类吗?转到 http://192.168.1.19:4912

单击终端中的链接以查看相机实时视图。

用于迁移学习的主干模型是 MobileNetv2 SSD,并且非常大,因此即使进行了所有优化,我们也能获得大约 2 FPS 或约 400 毫秒。对于一帧 - 视频流看起来非常敏感,但这是因为不是对每一帧都执行推理,您可以清楚地看到,如果您检测到一个对象,然后它从图像中消失,它的边界框会保持一段时间.由于 Linux 支持是 Edge Impulse 中的一项非常新的功能,我相信在不久的将来它会得到很多改进,从而可以更快地推断和上传用户注释的数据。

ARM NN 加速推理

虽然我们知道 Raspberry Pi 4 不是机器学习推理的最佳板,但由于它没有任何硬件加速器,我们仍然可以通过以下方式实现高于实时推理速度

a) 使用更小的模式

b) 确保我们利用所有 4 个内核和单指令多数据 (SIMD) 指令,其中流水线中的多个处理元件同时对多个数据点执行操作,可用于 Arm 处理器的 Neon 优化架构扩展。

来源: reTerminal 机器学习演示(Edge Impulse 和 Arm NN)


制造工艺

  1. 供应链和机器学习
  2. 凌华科技:立杆式多接入边缘 AI 和机器学习解决方案
  3. NodeMCU 和 Raspberry Pi 3 B+
  4. Python 和 Raspberry Pi 温度传感器
  5. Raspberry Pi 温度和光传感器
  6. Raspberry Pi 传感器和执行器控制
  7. 利用机器学习提高可靠性并改善维护结果
  8. 恩智浦在边缘机器学习上加倍努力
  9. 采购部门应该害怕还是欢迎人工智能和机器学习技术?
  10. AWS 加强其人工智能和机器学习产品
  11. 人工智能和机器学习如何影响 CNC 加工
  12. 带锯机和生产力