2、环境准备:注册Edge Impulse账号、创建项目、了解数据采集与上传方式
在正式进入模型训练之前,环境准备是决定后续工作流顺畅度的关键环节。Edge Impulse 作为一款云端优先的嵌入式机器学习平台,其核心工作流围绕“数据采集 → 特征工程 → 模型训练 → 部署”展开。本章将带你完成从账号注册到项目创建,再到理解数据采集与上传方式的完整闭环,确保你能够正确地将传感器数据从物理世界映射到云端训练管道中。
2.1 注册Edge Impulse账号与项目创建
核心原理:Edge Impulse 采用“项目(Project)”作为组织数据、训练任务和部署产物的基本单元。每个项目对应一个具体的机器学习任务(如“风扇故障检测”或“手势识别”),项目内部包含数据样本、特征管道、训练配置和部署目标。账号系统则负责资源配额管理、版本追踪和团队协作权限控制。
操作流程:
- 访问官网并注册:打开
edgeimpulse.com,点击右上角“Sign Up”。支持使用 GitHub、Google 账号快速注册,也可以使用邮箱创建独立账号。免费版(Developer)提供最多 3 个活跃项目,每个项目 10 分钟数据存储限制,足以完成课程实验。 - 创建新项目:登录后点击“Create new project”,输入项目名称(建议使用“任务-设备-日期”格式,如
gesture_imu_nano_202501),选择“Accelerometer”或“Audio”等默认传感器类型。注意:项目创建后传感器类型仍可在数据采集阶段调整,但提前选对可简化后续配置。 - 配置目标设备:在项目设置中,选择你最终部署的硬件平台(如 Nordic nRF52840、STM32、ESP32 或手机)。Edge Impulse 会根据设备自动优化特征提取和模型部署选项。
- 设置标签体系:在“Data acquisition”页面,预先规划好分类标签。例如手势识别项目可设置
up、down、left、right、idle五个标签。标签名称应使用小写英文和下划线,避免特殊字符。
2.2 数据采集方式详解
判断方法:Edge Impulse 提供三种主流数据采集路径,选择依据是硬件条件、数据量和实时性要求。下表对比了三种方式的适用场景与操作要点:
| 采集方式 | 适用硬件 | 传输接口 | 采样率上限 | 操作复杂度 |
|---|---|---|---|---|
| Edge Impulse 手机端 | iOS/Android 手机 | WiFi/蜂窝网络 | 100 Hz(IMU) | 低(无需代码) |
| Edge Impulse CLI | 树莓派、PC + USB 传感器 | USB 串口 | 取决于传感器驱动 | 中(需安装 CLI) |
| 开发板固件(Data Forwarder) | Arduino、STM32、nRF52 | USB 虚拟串口 | 1000 Hz+ | 中高(需烧录固件) |
操作流程(以开发板为例):
- 安装 Edge Impulse CLI:在终端执行
npm install -g edge-impulse-cli,确保 Node.js 版本 ≥ 14。 - 烧录数据采集固件:在项目页面选择“Data acquisition”→“Connect a device”,下载对应开发板的固件(如
edge-impulse-firmware-nrf52840),使用 nRF Connect Programmer 或 STM32CubeProgrammer 烧录。 - 连接设备:通过 USB 连接开发板,运行
edge-impulse-daemon,按提示登录并选择项目。设备会出现在“Devices”列表中,状态显示为“Connected”。 - 配置采样参数:在网页端设置采样频率(如 62.5 Hz)、窗口长度(如 2000 ms)和传感器通道(加速度计 X/Y/Z 或麦克风)。
- 开始采集:点击“Start sampling”,同时操作设备执行动作(如挥动手臂)。采集完成后数据自动上传至云端,并显示在“Raw data”列表中。
2.3 数据上传与质量验证
核心原理:数据上传不仅仅是文件传输,更关键的是数据与标签的关联、时间戳对齐和格式校验。Edge Impulse 要求每个样本包含固定长度的传感器读数序列,并附带一个类别标签。上传后系统会自动计算数据质量指标,包括信号范围、噪声水平和缺失值比例。
操作流程:
- 批量上传:在“Data acquisition”页面点击“Upload data”,支持 CSV、WAV 或 JSON 格式。CSV 文件需包含时间戳列和传感器数据列,每行代表一个采样点。
- 标签分配:上传时可选择“Label”字段,或上传后批量选中样本进行标签修改。建议在采集时即通过固件预设标签,减少后期整理工作量。
- 数据分割:在“Dashboard”页面,系统默认按 80/20 比例划分训练集和测试集。你可以手动调整分割比例,但需确保每个类别在训练集中至少包含 10 个样本。
- 质量检查:点击单个样本,查看波形图。检查是否存在平线(传感器死机)、突变尖峰(电磁干扰)或数据截断(窗口不完整)。异常样本应删除或重新采集。
2.4 常见误区与总结复盘
误区一:忽略数据平衡。如果“正常”类别有 200 个样本,而“故障”只有 20 个,模型会严重偏向多数类。解决方法是采集时保持各类别样本数量接近,或使用数据增强(如添加噪声、时间偏移)扩充少数类。
误区二:采样参数与部署环境不一致。训练时使用 100 Hz 采样,但部署设备实际运行在 50 Hz,会导致推理性能下降。务必在项目设置中锁定采样频率,并在部署前用目标设备重新验证。
误区三:标签定义模糊。例如“异常”标签过于笼统,应细分为“轴承磨损”“齿轮断裂”“转子不平衡”等具体类型。清晰的标签体系有助于模型学习区分性特征,也便于后续故障定位。
总结复盘:环境准备阶段的核心产出物是一个结构清晰、数据质量可靠的项目。建议在开始采集前,先花 15 分钟规划标签体系、采样参数和样本数量目标。一个实用的经验法则是:每个类别至少 30 个样本,每个样本覆盖 2-3 个完整动作周期。数据质量远胜于数据数量,10 个干净样本优于 100 个噪声样本。完成本章环境准备后,你将拥有一个可复用的数据采集工作流,为后续特征工程和模型训练打下坚实基础。