从 Alexa 到 TinyML:为什么机器学习要跑在嵌入式设备上?
1. 本章学习目标
学完本章后,你应该能够理解:
-
为什么语音助手、自动驾驶、可穿戴设备等场景不能完全依赖云端机器学习。
-
什么是 Edge AI、Embedded Machine Learning 和 TinyML。
-
TinyML 为什么适合运行在微控制器 MCU 上。
-
Edge Impulse 在 TinyML 项目中承担什么角色。
-
Arduino、ESP32、Nordic、STM32 等主控在 TinyML 部署中的基本定位。
-
如何从本章的语音识别、手势识别案例迁移到 EEG、ECG、EMG、PPG、HRV、GSR / EDA 等生理信号监测项目中。
2. 本章内容导读
本章从 Amazon Echo / Alexa 的语音交互示例开始,引出一个核心问题:机器学习并不一定都要运行在云端。很多任务需要设备在本地快速、低功耗、低延迟地完成判断,例如唤醒词检测、自动驾驶决策、手势识别和语音识别。这类把机器学习部署到嵌入式设备上的技术,就是 Embedded Machine Learning;如果进一步运行在资源更小、功耗更低的微控制器上,就进入了 TinyML 的范畴。
3. 正文笔记
3.1 从 Alexa 语音助手理解"本地机器学习"
视频开头演示了一个语音助手场景:
用户问:"Alexa,现在丹佛外面的天气怎么样?"
Alexa 回答:"丹佛现在是 31°F,多云,今天预计有雪,最高 35°F,最低 16°F。"
这个例子看起来并不新鲜,因为 Amazon Echo 已经出现很多年了。但它背后的技术逻辑很重要:设备并不是一直把所有声音都传到云端,而是先在本地监听唤醒词,也就是 "Alexa"。只有当设备识别到唤醒词之后,才会把后面的语音请求发送到服务器,由云端完成更复杂的语义理解和服务调用。
这就是嵌入式机器学习非常典型的应用方式:
简单、持续、实时的判断放在设备端;复杂、大规模的计算放在云端。
对 Echo 来说,本地模型要做的事情不是理解所有人类语言,而是判断当前音频片段里有没有 "Alexa" 这个关键词。这类任务目标很窄,但要求一直运行、功耗低、响应快,非常适合 TinyML。
3.2 为什么机器学习不能全部放在云端?
传统上,我们提到 Machine Learning,往往会想到强大的服务器。服务器可以处理海量数据,用于垃圾邮件过滤、电影推荐、交通预测、搜索排序等任务。
但是,有些场景不能完全依赖云端:
-
网络可能中断
自动驾驶汽车如果突然没有网络,仍然必须识别车道、行人、车辆和交通标志,不能因为断网就停止决策。
-
延迟必须极低
有些任务需要毫秒级响应,例如车辆避障、工业设备异常检测、跌倒检测、语音唤醒词识别。
-
数据可能涉及隐私
语音、图像、生理信号等数据直接上传云端可能带来隐私和合规问题。本地推理可以减少原始数据外传。
-
功耗和带宽有限
对可穿戴设备、无线传感器节点、低功耗医疗监测设备来说,持续上传原始数据会消耗大量电量和通信资源。
因此,机器学习开始从云端向设备端迁移,这就是 Edge AI 的重要背景。
3.3 Edge AI、Embedded ML 和 TinyML 的关系
可以把它们理解成三个逐渐"变小"的概念:
| 概念 | 通俗理解 | 典型设备 | 本章中的作用 |
|---|---|---|---|
| Edge AI | 把 AI 放到靠近数据产生的位置 | 手机、车载电脑、边缘网关、工业电脑 | 解决"必须本地快速判断"的问题 |
| Embedded Machine Learning | 把 ML 部署到嵌入式系统中 | 单板计算机、嵌入式 Linux 设备、MCU | 让硬件设备具备感知和判断能力 |
| TinyML | 把 ML 进一步压缩到微控制器上运行 | Arduino、ESP32、nRF52、STM32、RP2040 | 低成本、低功耗、可长期运行的端侧智能 |
TinyML 通常强调在资源受限、低功耗的 MCU 上运行机器学习推理任务,它涉及模型压缩、量化、嵌入式推理框架、传感器数据处理和硬件部署等内容。相关综述把 TinyML 描述为机器学习、硬件和软件交叉形成的低功耗嵌入式智能方向,目标是在 mW 级甚至更低功耗范围内运行端侧推理。
3.4 为什么微控制器上的机器学习很重要?
过去,在单板计算机上运行机器学习并不算新鲜,例如 Raspberry Pi 可以运行 Linux,也可以运行较大的 Python 程序和神经网络模型。但本章重点不是这类设备,而是更小的 microcontroller,微控制器。
微控制器的特点是:
-
便宜;
-
体积小;
-
功耗低;
-
可以长期电池供电;
-
常用于传感器采集和实时控制;
-
RAM、Flash、主频都比较有限。
这意味着,如果机器学习模型能够跑在 MCU 上,就可以让大量普通电子设备拥有"感知能力"。例如:
-
一个手环可以本地判断佩戴者是否疲劳;
-
一个传感器节点可以本地判断设备是否异常振动;
-
一个语音模块可以本地判断是否听到唤醒词;
-
一个生理信号采集设备可以本地判断当前状态是否可能与压力、疼痛或运动疲劳有关。
TensorFlow Lite Micro 就是面向微控制器和 DSP 等受限设备的推理框架,目标是在有限内存设备上运行机器学习模型。
3.5 TinyML 为什么现在变得可行?
视频中提到,简单图像中的目标检测可能需要神经网络执行成千上万甚至数百万次运算。过去,机器学习研究主要面向服务器和桌面计算机,这些设备算力强、内存大、供电充足。
但近几年,TinyML 变得可行,主要因为:
-
模型结构更高效
很多任务不需要巨大的通用模型,只需要小型、窄任务模型。例如唤醒词检测只判断几个关键词,手势识别只区分几个动作。
-
量化和模型压缩技术成熟
模型可以从浮点运算压缩到 8-bit 整数量化,从而减少内存占用和计算量。
-
嵌入式推理框架成熟
TensorFlow Lite Micro、Edge Impulse SDK、CMSIS-NN、ESP-NN、X-CUBE-AI 等工具降低了部署难度。
-
MCU 性能提升
例如 ESP32-S3 官方说明中提到,它支持用于神经网络计算和信号处理加速的向量指令,并可结合 ESP-DSP、ESP-NN 等库优化应用。
3.6 Edge Impulse 在本课程中的作用
视频中提到,本课程会使用 Edge Impulse 来帮助采集数据、训练模型,并将模型部署到嵌入式系统中。
Edge Impulse 可以理解为一个面向边缘 AI / TinyML 的开发平台。它提供从数据采集、数据管理、标签标注、特征提取、模型训练、模型评估到模型部署的一整套流程。Edge Impulse 官方文档也明确说明,它用于构建数据集、训练机器学习模型,并优化库以直接运行在边缘设备上。
在 Edge Impulse 中,一个典型 TinyML 项目可以分成:
采集数据
→ 标注数据
→ 设计 Impulse
→ 提取特征
→ 训练模型
→ 测试模型
→ 量化 / 压缩
→ 部署到开发板
→ 端侧实时推理
这里的 Impulse 可以理解为"完整的信号处理 + 机器学习流水线"。它不只是一个神经网络模型,还包括输入窗口、预处理、特征提取和学习模块。
3.7 本课程会做什么案例?
本章介绍了课程后续会完成两个入门案例:
案例一:手势识别 Gesture Recognition
这个案例通常使用手机或 Arduino 开发板上的惯性传感器,例如加速度计和陀螺仪,采集不同手势动作的数据。
基本流程是:
采集手势动作数据
→ 给每类动作打标签
→ 提取时序特征
→ 训练分类模型
→ 部署到开发板
→ 实时判断当前手势类别
手势识别很适合 TinyML 入门,因为它的数据是典型的传感器时间序列,与后续 EMG 动作识别、PPG 运动干扰识别、GSR / EDA 情绪或疼痛状态识别有很强的迁移关系。
案例二:语音识别 Speech Recognition
第二个案例是语音识别,准确说更接近 关键词识别 Keyword Spotting。它通常不是让 MCU 理解所有自然语言,而是判断音频中是否出现某几个关键词。
基本流程是:
麦克风采集音频
→ 切分音频窗口
→ 提取频谱或 MFCC 等音频特征
→ 训练关键词分类模型
→ 部署到开发板
→ 实时监听关键词
Arduino Nano 33 BLE Sense 是 Edge Impulse 支持的典型教学板之一,板载运动传感器、麦克风和 BLE,适合采集原始数据、训练模型并从 Edge Impulse Studio 直接部署模型。
4. 关键概念解释
| 概念 | 通俗解释 | 技术解释 | 在本章中的作用 |
|---|---|---|---|
| AI | 让机器表现出"智能" | 使用算法完成感知、判断、决策等任务 | 总体背景 |
| Machine Learning | 让机器从数据中学规律 | 通过数据训练模型,让模型对新数据做预测 | 本课程核心方法 |
| Edge AI | AI 不只在云端,也在设备边缘运行 | 在靠近数据源的设备上执行推理 | 解释为什么要本地计算 |
| Embedded ML | 把机器学习放进嵌入式系统 | 在资源受限硬件中部署 ML 模型 | 连接 ML 与硬件开发 |
| TinyML | 极小设备上的机器学习 | 在 MCU 等低功耗设备上运行 ML 推理 | 本课程核心主题 |
| Dataset | 训练模型用的数据集 | 包括原始数据、标签、训练集、测试集 | 决定模型能学到什么 |
| Feature Extraction | 把原始数据变成更有用的特征 | 例如音频 MFCC、时序统计量、频域特征 | 提高模型训练效果 |
| Classification | 分类 | 判断输入属于哪个类别 | 手势识别、关键词识别都属于分类 |
| Inference | 推理 | 用训练好的模型对新数据做预测 | MCU 端实时运行的核心 |
| Deployment | 部署 | 把模型转成开发板可运行的代码或库 | 从训练走向实际硬件应用 |
| Edge Impulse | TinyML 开发平台 | 支持数据采集、特征提取、训练和部署 | 本课程主要工具 |
5. 本章案例复盘
| 项目 | 手势识别 | 语音识别 |
|---|---|---|
| 案例目标 | 判断当前动作属于哪种手势 | 判断音频中是否出现指定关键词 |
| 数据来源 | 加速度计、陀螺仪、手机 IMU 或开发板 IMU | 麦克风音频 |
| 数据类型 | 多通道时间序列 | 音频时间序列 |
| 常见特征 | 均值、方差、频域特征、运动模式 | 频谱、MFCC、音频特征 |
| 模型任务 | 多分类 | 关键词分类 |
| 部署设备 | Arduino、手机、ESP32、nRF52 等 | Arduino Nano 33 BLE Sense、ESP32-S3、XIAO ESP32S3 等 |
| 入门价值 | 理解传感器分类流程 | 理解唤醒词和音频 TinyML 流程 |
这两个案例的重点不在于模型多复杂,而在于让学习者完整走通 TinyML 的闭环:从现实世界采集数据,到训练模型,再到部署到嵌入式设备上实时推理。
6. 与生理信号监测 TinyML 项目的联系
6.1 共性:语音、手势、生理信号本质上都是时间序列
本章的语音识别和手势识别,看起来与 EEG、ECG、EMG、PPG、HRV、GSR / EDA 不同,但从 TinyML 角度看,它们有共同结构:
传感器采集
→ 原始时间序列
→ 滤波 / 去噪
→ 滑动窗口切片
→ 标签标注
→ 特征提取
→ 模型训练
→ 模型评估
→ MCU 部署
→ 实时推理
语音是麦克风采集的声波时间序列;手势是 IMU 采集的加速度和角速度时间序列;生理信号则是电极、光学传感器或皮肤电传感器采集的人体状态时间序列。
因此,本章学到的 TinyML 流程可以迁移到生理信号项目中。
6.2 不同生理信号的 TinyML 统一开发流程
如果要开发生理信号 TinyML 项目,可以统一理解为:
EEG / ECG / EMG / PPG / HRV / GSR / EDA 传感器采集
→ 模拟前端 AFE 或传感器模块输出
→ MCU ADC / I2C / SPI / UART 读取数据
→ 原始信号滤波去噪
→ 固定窗口切片
→ 根据实验任务标注标签
→ 导入 Edge Impulse 或自建训练脚本
→ 提取时域 / 频域 / 统计特征
→ 训练分类、回归或异常检测模型
→ 量化压缩
→ 部署到 ESP32、Nordic、STM32、Arduino 等主控
→ 实时输出状态判断结果
Edge Impulse 支持 CSV 数据导入,官方文档说明可以通过 Studio 上传 CSV,也可以通过 CLI 导入;如果 CSV 格式复杂,还可以使用 CSV Wizard 设置解析方式。
这意味着,使用 VOFA+ 采集并保存的 CSV 数据,可以被理解为 TinyML 项目的 Dataset。CSV 中的列可能包括时间戳、通道值、传感器电压、滤波后数值、实验阶段或标签。后续需要把这些数据整理成训练集、验证集和测试集,再导入 Edge Impulse 或 Python 训练流程。
6.3 不同生理信号的差异
| 信号 | 信号来源 | 常见采集方式 | 采样率要求 | 常见预处理 | 常见特征 | 适合 TinyML 任务 | 部署难点 |
|---|---|---|---|---|---|---|---|
| EEG | 大脑电活动 | 头皮电极 | 通常较高 | 去工频、带通滤波、伪迹去除 | 频带能量、节律特征 | 注意力、疲劳、睡眠阶段、脑机接口 | 信号弱、噪声大、电极接触要求高 |
| ECG | 心电活动 | 心电电极 / AFE | 中等到较高 | 基线漂移去除、QRS 检测 | RR 间期、心率、波形特征 | 心率、心律异常、状态识别 | 医学标签要求高,误判风险高 |
| HRV | 心率间期变化 | ECG 或 PPG 推导 | 依赖心率检测质量 | RR / NN 间期清洗 | SDNN、RMSSD、频域指标 | 压力、疲劳、自主神经状态 | 对窗口长度和个体差异敏感 |
| EMG | 肌肉电活动 | 表面肌电电极 | 较高 | 整流、包络、带通滤波 | RMS、MAV、ZC、频域特征 | 手势识别、肌肉疲劳、康复评估 | 电极位置变化影响很大 |
| PPG | 脉搏波 / 血容量变化 | 光电传感器 | 中等 | 去运动伪迹、平滑滤波 | 心率、脉搏波形、峰间距 | 心率、血氧、疲劳、压力 | 运动干扰明显 |
| GSR / EDA | 皮肤电导变化 | 皮肤电电极 | 较低到中等 | 平滑、去趋势、分离 SCL / SCR | 峰值、上升时间、恢复时间、均值 | 情绪唤醒、压力、疼痛反应 | 个体差异大,受汗液和接触影响 |
例如 Tiny-PPG 研究针对 PPG 运动伪迹问题设计轻量网络,并部署到 STM32 设备上,说明 PPG 这类可穿戴信号确实适合边缘端实时处理。 ECG 方向也已有 TinyML ECG 监测系统研究,强调让低功耗 ECG 设备在本地完成分类以减少网络与内存资源消耗。
6.4 从本章案例迁移到生理信号项目
本章的两个案例可以这样迁移:
| 本章案例 | 对应生理信号项目启发 |
|---|---|
| 语音识别 | 音频窗口切分、频谱特征、关键词分类,可迁移到 ECG/PPG/EDA 的窗口化识别 |
| 手势识别 | IMU 多通道时序分类,可迁移到 EMG 动作识别、PPG 运动状态识别 |
| 唤醒词检测 | "长期监听 + 低功耗 + 本地触发" 可迁移到异常生理状态检测 |
| Edge Impulse 训练流程 | 可用于 CSV 数据导入、标签管理、特征提取、模型部署 |
| Arduino 演示 | 可迁移到 ESP32、Nordic、STM32 等主控做真实项目开发 |
如果你的目标是疼痛监测,不应一开始就只盯着 GSR / EDA。更合理的思路是先把疼痛看作一种可能会影响多类生理信号的状态变化,再考虑多模态融合:
GSR / EDA:交感神经唤醒
EMG:肌肉紧张和疼痛相关动作反应
HRV:自主神经状态变化
PPG:心率、脉搏波和血管反应
ECG:更稳定的心率和 HRV 来源
EEG:疼痛相关脑电节律变化,部署难度较高
7. 主控平台迁移分析
本章演示偏向 Arduino 入门,但后续项目不应只局限于 Arduino。不同主控适合不同阶段:
| 主控平台 | 适合场景 | 优点 | 注意点 |
|---|---|---|---|
| Arduino Nano 33 BLE Sense | TinyML 入门、语音识别、手势识别 | 板载 IMU、麦克风、BLE,Edge Impulse 支持好 | 适合教学和原型,不一定适合最终产品 |
| ESP32 / ESP32-S3 | Wi-Fi / BLE、生理信号采集、边缘推理 | 通信能力强,ESP32-S3 有向量指令支持 NN 和信号处理 | ADC 精度、模拟前端、电源噪声要重点评估 |
| Nordic nRF52 / nRF53 | 可穿戴、低功耗 BLE 生理监测 | BLE 低功耗生态强,适合电池设备 | Wi-Fi 不如 ESP32 方便,开发生态偏嵌入式专业 |
| STM32 | 工业控制、医疗原型、实时采集 | 型号丰富,适合 ADC、低功耗和实时控制 | 需要更熟悉 STM32CubeMX / HAL / DSP |
| RP2040 / Pico | 低成本实验、基础 TinyML | 成本低、资料多 | 无线通信需额外模块 |
| Seeed XIAO ESP32S3 | 小体积语音 / 图像 / 传感器 TinyML | Wi-Fi、BLE、小尺寸,部分板载摄像头和麦克风 | 引脚和功耗设计要结合具体板卡 |
Nordic nRF52840 DK 是 Edge Impulse 支持的开发板,具备 Cortex-M4、外部 QSPI Flash 和 BLE Radio,适合 BLE 低功耗应用验证。 STM32 方向可以结合 X-CUBE-AI,它能把预训练 AI 模型转换、优化并集成到 STM32 项目中。 Seeed XIAO ESP32S3 Sense 则适合小体积视觉、语音或传感器类 Edge Impulse 项目,官方文档提到它支持 2.4GHz Wi-Fi、BLE,并带有摄像头和数字麦克风。
8. 本章内容对未来项目的启发
8.1 疼痛监测
本章帮助理解:疼痛监测可以被建模为一个基于多通道生理时间序列的分类或回归问题。例如区分无痛、轻度疼痛、中度疼痛、明显疼痛,或者预测疼痛评分变化趋势。
8.2 情绪识别
GSR / EDA、PPG、HRV、ECG 等信号都与自主神经活动有关,可以用于压力、唤醒度、情绪状态识别。但模型输出只能作为状态估计,不能直接等同于医学或心理诊断。
8.3 疲劳检测
疲劳可能影响 EEG、HRV、PPG、EMG 和运动行为。TinyML 的意义在于可以让可穿戴设备在本地持续监测,而不是一直上传原始数据。
8.4 运动状态识别
本章的手势识别案例与运动状态识别最接近。IMU + EMG + PPG 可以用于判断运动阶段、动作类别、肌肉疲劳和恢复状态。
8.5 可穿戴生理信号监测
TinyML 的低功耗、本地推理、低延迟特点,非常适合可穿戴设备。相关研究也在探索 TinyML 与边缘智能在心血管监测中的应用价值。
8.6 多模态生理信号融合
未来项目可以考虑把 GSR / EDA、PPG、HRV、EMG、IMU 等信号结合起来。单一信号容易受噪声、个体差异和环境影响,多模态融合有机会提高鲁棒性,但也会增加采集同步、标签设计、模型大小和 MCU 部署难度。
9. 本章还不能解决的问题
本章是 TinyML 入门介绍,还不能直接解决以下问题:
-
生理信号采集电路如何设计。
-
模拟前端 AFE 如何选择。
-
电极与人体接触噪声如何控制。
-
ADC 精度、采样率和输入量程如何设置。
-
GSR / EDA、ECG、EMG、PPG 的滤波算法如何设计。
-
疼痛、情绪、疲劳等标签如何可靠标注。
-
小样本数据如何避免过拟合。
-
不同个体之间的生理差异如何处理。
-
模型在真实场景中的泛化能力如何验证。
-
医疗安全性、伦理审查和临床验证如何开展。
-
长时间佩戴设备如何优化功耗。
因此,本章更适合建立 TinyML 的总体框架。真正做生理信号项目时,还需要进一步学习模拟电路、传感器原理、数字滤波、实验设计、数据标注和模型评估。
10. 本章总结
本章最重要的收获是:机器学习不一定只属于云端和大型服务器。对于语音唤醒、手势识别、可穿戴监测、自动驾驶和生理信号识别这类任务,设备端本地推理往往更加重要。TinyML 的核心价值,就是把小型机器学习模型部署到低功耗 MCU 上,让嵌入式设备具备实时感知和判断能力。Edge Impulse 则为初学者提供了一条相对完整的入门路径:从采集数据、训练模型,到部署到 Arduino、ESP32、Nordic、STM32 等硬件平台。
11. 参考资料
| 序号 | 资料名称 | 类型 | 链接 | 与本章内容的关系 |
|---|---|---|---|---|
| 1 | Edge Impulse Documentation | 官方文档 | Edge Impulse Documentation - Edge Impulse Documentation (Edge Impulse Documentation) | 用于理解 Edge Impulse 如何支持数据集构建、模型训练和边缘部署 |
| 2 | What is Edge Impulse? | 官方课程文档 | What is Edge Impulse? - Edge Impulse Documentation (Edge Impulse Documentation) | 解释 Edge Impulse 作为边缘 AI / TinyML 平台的定位 |
| 3 | Edge Impulse Studio | 官方文档 | Studio - Edge Impulse Documentation (Edge Impulse Documentation) | 说明 Edge Impulse Studio 如何用于构建、训练和部署模型 |
| 4 | Edge Impulse Data Acquisition | 官方文档 | Data acquisition - Edge Impulse Documentation (Edge Impulse Documentation) | 解释数据采集、数据集管理、标签标注和数据质量分析流程 |
| 5 | Edge Impulse CSV | 官方文档 | CSV - Edge Impulse Documentation (Edge Impulse Documentation) | 支持理解 VOFA+ CSV 数据如何作为 TinyML Dataset 导入 |
| 6 | Edge Impulse CSV Wizard | 官方文档 | CSV Wizard - Edge Impulse Documentation (Edge Impulse Documentation) | 用于复杂 CSV / TXT / Parquet 数据导入配置 |
| 7 | Edge Impulse Tutorials | 官方文档 | Tutorials - Edge Impulse Documentation (Edge Impulse Documentation) | 提供语音识别、运动识别、传感器分类等 TinyML 实战教程 |
| 8 | Arduino Nano 33 BLE Sense - Edge Impulse | 官方硬件文档 | Arduino Nano 33 BLE Sense - Edge Impulse Documentation (Edge Impulse Documentation) | 对应本课程中 Arduino 入门、语音识别和手势识别案例 |
| 9 | Arduino Nano 33 BLE Sense Hardware | 官方文档 | https://docs.arduino.cc/hardware/nano-33-ble-sense | 说明该开发板适合 TinyML、传感器、麦克风、IMU 和 BLE 入门 |
| 10 | Get Started With Machine Learning on Arduino | 官方教程 | https://docs.arduino.cc/tutorials/nano-33-ble-sense/get-started-with-machine-learning/ | Arduino 官方机器学习入门教程,适合配合本章案例学习 |
| 11 | Edge Impulse with the Nano 33 BLE Sense | 官方教程 | https://docs.arduino.cc/tutorials/nano-33-ble-sense/edge-impulse (docs.arduino.cc) | 说明如何在 Arduino Nano 33 BLE Sense 上使用 Edge Impulse |
| 12 | LiteRT for Microcontrollers | 官方文档 | https://ai.google.dev/edge/litert/microcontrollers/overview (Google AI for Developers) | Google 面向微控制器端侧推理的文档,可理解 TFLite Micro / LiteRT 方向 |
| 13 | TensorFlow Lite Micro GitHub | GitHub 项目 | GitHub - tensorflow/tflite-micro: Infrastructure to enable deployment of ML models to low-power resource-constrained embedded targets (including microcontrollers and digital signal processors). · GitHub (GitHub) | 解释 MCU 端机器学习推理框架 |
| 14 | edgeimpulse/esp32-platformio-edge-impulse-standalone-example | GitHub 项目 | GitHub - edgeimpulse/esp32-platformio-edge-impulse-standalone-example: Minimal example code for running an Edge Impulse designed neural network on an ESP32 dev kit using platformio · GitHub (GitHub) | 演示 ESP32 + PlatformIO 运行 Edge Impulse 模型 |
| 15 | edgeimpulse/expert-projects | GitHub 项目 | GitHub - edgeimpulse/expert-projects · GitHub (GitHub) | 收集 Edge Impulse 专家项目,可参考语音、视觉、异常检测、手势识别等案例 |
| 16 | anacletu/tflm-keyword-spotting-led | GitHub 项目 | GitHub - anacletu/tflm-keyword-spotting-led: Efficient Keyword Spotting for LED Control with TensorFlow Lite for Microcontrollers · GitHub (GitHub) | 关键词识别控制 LED,适合学习 TinyML 语音识别部署 |
| 17 | mit-han-lab/tinyml | GitHub 项目 | GitHub - mit-han-lab/tinyml · GitHub (GitHub) | MIT HAN Lab TinyML 项目,适合了解高效模型、MCUNet、边缘 AI 优化 |
| 18 | Espressif ESP32-S3 | 官方文档 | https://www.espressif.com/en/products/socs/esp32-s3 (Espressif Systems) | 支持 ESP32-S3 在神经网络和信号处理加速方面的迁移分析 |
| 19 | Nordic nRF52840 DK - Edge Impulse | 官方硬件文档 | Nordic Semi nRF52840 DK - Edge Impulse Documentation | 支持 Nordic BLE 低功耗可穿戴设备方向分析 |
| 20 | STM32 X-CUBE-AI Documentation | 官方文档 | https://wiki.st.com/stm32mcu/wiki/AI:X-CUBE-AI_documentation | 支持 STM32 端侧 AI 部署分析 |
| 21 | TinyML: Tools, Applications, Challenges, and Future Research Directions | 综述论文 | 2303.13569 TinyML: Tools, Applications, Challenges, and Future Research Directions (arXiv) | 帮助理解 TinyML 工具、应用和挑战 |
| 22 | TinyML for Ubiquitous Edge AI | 综述论文 | 2102.01255 TinyML for Ubiquitous Edge AI (arXiv) | 解释 TinyML 作为低功耗边缘智能方向的整体背景 |
| 23 | Edge Impulse: An MLOps Platform for Tiny Machine Learning | 学术论文 | 2212.03332 Edge Impulse: An MLOps Platform for Tiny Machine Learning (arXiv) | 说明 Edge Impulse 作为 TinyML MLOps 平台的作用 |
| 24 | Implementation Of Tiny Machine Learning Models On Arduino 33 BLE For Gesture And Speech Recognition | 学术论文 | 2207.12866 Implementation Of Tiny Machine Learning Models On Arduino 33 BLE For Gesture And Speech Recognition (arXiv) | 与本章手势识别和语音识别案例高度相关 |
| 25 | TensorFlow Lite Micro: Embedded Machine Learning on TinyML Systems | 学术论文 | 2010.08678 TensorFlow Lite Micro: Embedded Machine Learning on TinyML Systems (arXiv) | 解释 TensorFlow Lite Micro 如何支持嵌入式设备上的深度学习推理 |
| 26 | BiomedBench: A benchmark suite of TinyML biomedical applications for low-power wearables | 学术论文 / 基准测试 | 2406.03886 BiomedBench: A benchmark suite of TinyML biomedical applications for low-power wearables (arXiv) | 面向低功耗可穿戴生物医学 TinyML 应用,适合生理信号项目参考 |
| 27 | Optimizing TinyML: The Impact of Reduced Data Acquisition Rates for Time Series Classification on Microcontrollers | 学术论文 | 2409.10942 Optimizing TinyML: The Impact of Reduced Data Acquisition Rates for Time Series Classification on Microcontrollers | 讨论降低时间序列采样率对 MCU 分类任务的影响,适合生理信号采样率分析 |
| 28 | Tiny-PPG: Lightweight PPG Artifact Detection on Edge Devices | 学术论文 | 2305.03308 Tiny-PPG: A Lightweight Deep Neural Network for Real-Time Detection of Motion Artifacts in Photoplethysmogram Signals on Edge Devices (arXiv) | 支持 PPG 生理信号 TinyML 迁移分析 |
| 29 | TinyML-Based Classification in an ECG Monitoring Embedded System | 学术论文 | [CMC | TinyML-Based Classification in an ECG Monitoring Embedded System](https://www.techscience.com/cmc/v75n1/51426/pdf "CMC | TinyML-Based Classification in an ECG Monitoring Embedded System") (科技科学出版社) |
| 30 | TinyML for Speech Recognition | 学术论文 | 2504.16213 TinyML for Speech Recognition (arXiv) | 补充本章关键词识别和语音 TinyML 应用 |
| 31 | TinyML and edge intelligence applications in cardiovascular monitoring | 综述论文 | https://www.sciencedirect.com/science/article/abs/pii/S0010482525000034 (科学直接) | 说明 TinyML 在心血管监测、可穿戴设备和边缘智能中的应用 |
| 32 | TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers | 教材 / 书籍 | https://www.oreilly.com/library/view/tinyml/9781492052036/ (O'Reilly) | TinyML 入门经典教材,适合系统学习 Arduino + TFLite Micro |
| 33 | Introduction to Embedded Systems: A Cyber-Physical Systems Approach | 教材 / 权威资料 | Lee and Seshia, Introduction to Embedded Systems (Ptolemy) | 用于理解嵌入式系统、物理过程交互和实时系统基础 |
| 34 | What Is Edge AI? --- IBM | 权威定义 | [What Is Edge AI? | IBM](https://www.ibm.com/think/topics/edge-ai "What Is Edge AI? | IBM") |
| 35 | What Is Edge AI and How Does It Work? --- NVIDIA | 权威定义 | [What Is Edge AI and How Does It Work? | NVIDIA Blog](https://blogs.nvidia.com/blog/what-is-edge-ai/ "What Is Edge AI and How Does It Work? | NVIDIA Blog") (NVIDIA Blog) |