第二章:项目构思与需求分析

大家好,我是你们的TinyML实战讲师。今天咱们聊聊一个项目最开始的阶段——构思与需求分析。说实话,我见过太多工程师一上来就急着选芯片、调模型,结果做到一半发现方向错了,或者硬件根本跑不动。嗯,这章就是帮你避免这种尴尬的。

2.1 如何从实际问题出发构思TinyML项目

很多同学问我:「老师,TinyML到底能做什么?」我的回答永远是——先别想技术,先想问题。

我个人习惯是,每天花10分钟观察身边哪些事情「明明可以自动化,却还在靠人」。比如:

  • 工厂里工人用手电筒照螺丝有没有拧紧?——这可以用振动检测+异常分类
  • 家里老人总忘记关煤气?——可以用气体传感器+火焰识别
  • 宠物饮水机的水位经常被忽略?——电容式液位检测+边缘推理

你看,这些场景的共同点是:数据量小、实时性要求高、不能依赖云端。说白了,就是TinyML的天然主场。

我的避坑指南:我曾经接手过一个项目,客户想做「智能花盆」,要求识别100种植物病害。结果调研发现,光采集100种病害的样本就要花半年,而且MCU根本跑不动那么大的模型。最后我们砍到5种常见病害,项目才活下来。

所以,构思阶段的核心原则就一条:从「能不能做」倒推,而不是从「想做什么」出发

2.2 需求文档撰写——别让文档变成废纸

我见过最离谱的需求文档,写了30页,全是「系统应具备高可靠性」「界面应友好」这种废话。你想想看,什么叫「高可靠性」?是99%还是99.999%?

好的需求文档,应该像一份技术合同。我一般会要求团队至少包含以下内容:

需求类别 示例 为什么重要
功能需求 设备每100ms采集一次加速度数据,通过阈值检测判断是否发生跌倒 明确「做什么」
性能需求 从事件发生到输出报警,延迟不超过200ms 明确「做到什么程度」
功耗需求 使用200mAh电池,待机≥30天,连续工作≥8小时 直接影响硬件选型
成本需求 BOM成本控制在$5以内(不含电池) 决定芯片档次
环境需求 工作温度-20℃~60℃,防护等级IP65 影响封装和散热设计

小技巧:我习惯在需求文档里加一栏「验收标准」。比如「跌倒检测准确率≥95%」,那怎么测?用真人摔?还是用模拟数据?提前说清楚,后面少吵架。

2.3 技术可行性评估——别拍脑袋

需求写完了,别急着高兴。接下来这一步,我称之为「死亡三问」:

  1. 数据能拿到吗?——我曾经有个项目要做「咳嗽声检测」,结果发现公开数据集全是英文咳嗽,中文咳嗽的声学特征完全不同。最后团队自己录了2000条咳嗽声,累到崩溃。
  2. 模型能跑得动吗?——拿一个MobileNetV2直接往Cortex-M4上怼?别闹。我建议先用TensorFlow Lite Micro的模型库查一下,看看目标芯片的RAM和Flash能不能装下。
  3. 功耗能接受吗?——很多同学忽略了一个点:传感器本身的功耗可能比MCU还高。比如一个IMU传感器持续工作可能吃掉5mA,而MCU休眠时才10μA。你想想看,瓶颈在哪?

警告:千万别信芯片厂商的「典型功耗」数据。那是在25℃、无负载、理想电源下测的。实际项目中,Wi-Fi模块一开,电流直接翻倍。我建议留出30%的功耗余量。

2.4 硬件选型原则——算力、功耗、成本、尺寸的博弈

选型这件事,说白了就是戴着镣铐跳舞。我一般会画一个四象限图:

  • 算力:不是越高越好。比如做关键词唤醒,Cortex-M4就够;做人脸识别,至少得Cortex-M7或带NPU的芯片。
  • 功耗:电池供电的设备,待机电流必须<10μA。我踩过坑——选了一颗待机50μA的芯片,结果电池两天就没电了。
  • 成本:消费电子BOM成本通常<$3,工业设备可以到$20。别拿工业级的方案去做玩具,反之亦然。
  • 尺寸:可穿戴设备要求<10mm×10mm,而智能家居可以放宽到50mm×50mm。

我常用的选型流程是这样的:

1. 先定功耗预算(比如电池容量÷目标续航)
2. 再定算力需求(模型大小×推理频率)
3. 然后看成本上限
4. 最后找尺寸合适的封装
5. 交叉对比,选最优解

举个例子:做一个智能门锁的指纹识别。功耗预算:4节AA电池用1年,约3000mAh。算力需求:指纹特征提取+匹配,约50KB模型。成本:<$8。尺寸:能塞进门把手。最后我选了STM32L4系列,Cortex-M4,80MHz,待机1μA,完美匹配。

2.5 项目里程碑规划——把大象装进冰箱分几步

项目规划,我习惯用倒推法。假设产品要在12月1日上市,那往前推:

阶段 时间 交付物
需求确认 第1-2周 需求文档v1.0、可行性报告
硬件选型与打样 第3-6周 原理图、PCB、样板3块
数据采集与模型训练 第4-8周 数据集、训练脚本、模型文件
模型部署与调优 第7-10周 固件、推理测试报告
整机测试与认证 第11-14周 测试报告、CE/FCC认证
小批量试产 第15-16周 100台试产、良率报告

我的经验:里程碑一定要设「硬关卡」。比如「模型精度<90%不准进入部署阶段」。我见过太多团队为了赶进度,带着80%精度的模型就上线,结果用户天天投诉。记住:TinyML项目,慢就是快

好了,这一章的内容就到这里。下一章我们会进入实战——从数据采集开始,手把手带你跑通第一个TinyML项目。到时候见!