为什么嵌入式也要谈 AI
过去嵌入式开发的核心是把电路跑通、把外设驱动起来。但现在越来越多的题目和场景开始要求“感知”——识别赛道元素、判断目标位置、跟踪一个物体。传统做法是用特定传感器加阈值判断,能解决问题,但一旦环境变化就非常脆弱。
把模型放到设备本地跑,带来两个直接好处:不依赖网络、响应更快;同时也能让方案适应更多变化。
我们尝试的三条路线
1. 轻量视觉模组
MaixPy 这类自带 NPU 的视觉模组,适合入门。它把摄像头、算力和排针接口集成在一小块板子上,可以用 Python 快速验证识别效果,再决定是否值得做成一整套硬件。
2. 单板 Linux + 加速模块
树莓派或类似的单板计算机,可以运行更完整的推理框架,适合做相对复杂的目标检测。代价是功耗和体积上去了,散热也要重新考虑。
3. 单片机 + 外部推理
MCU 端只做数据采集和运动控制,把视觉推理交给独立模块,两者通过串口通信。这是目前在智能车项目里比较常见的分工方式:感知归感知,控制归控制。
一条可执行的学习路径
- 先把传统方案做扎实:学会用摄像头做二值化、找边线、提取中线,理解图像处理的基本操作。
- 再引入模型:用现成的数据集或自己采集的图像,训练一个轻量检测模型,先在电脑上验证。
- 最后部署到设备:量化、裁剪、转换格式,把模型塞进有限的算力和内存里。
- 回到工程:模型输出怎么和 PID 控制结合?识别延迟会不会导致车体抖动?这些才是真正花时间的地方。
踩过的坑
- 算力和帧率不匹配:模型很准但跑得太慢,控制在 100ms 的延迟下直接失效。
- 光照变化:训练集在实验室拍得很干净,赛场灯光一变,识别率断崖式下降。
- 过度依赖单一特征:只靠视觉判断,一旦摄像头被遮挡就没有退路,需要保留传统传感器的冗余。
和竞赛的关系
在智能车项目里,AI 更适合做“上层判断”,比如识别特殊元素、辅助定位;底层的高速闭环控制仍然由 PID 等经典算法完成。把两者分清楚,比一味追求“用上 AI”更重要。
对零基础同学来说,这条路线的好处是既能学到嵌入式底层,又能接触前沿方向;对准备考研或就业的同学,视觉 + 嵌入式的组合也是简历上比较有区分度的一段经历。