1. 嵌入式AI概述

大家好,我是你们这门课的老朋友。今天咱们聊聊嵌入式AI到底是个啥。说实话,我入行那会儿,这词儿还没这么火呢。那时候大家管它叫「边缘计算」或者「端侧智能」。现在好了,名字统一了,叫嵌入式AI。

1.1 嵌入式AI的定义

嵌入式AI,说白了就是把深度学习模型塞进资源受限的嵌入式设备里,让它能实时做推理。注意,我说的是「推理」,不是训练。训练那活儿太费电、太费算力,一般交给云端干。嵌入式设备只负责跑模型,做预测。

举个例子,你家的智能摄像头能认出门口的是人还是猫,这就是嵌入式AI。它不需要联网,本地就能处理。我当年做第一个项目时,就踩过这个坑——以为模型越大越好,结果芯片跑不动,帧率只有0.5。嗯,后来才明白,嵌入式AI的核心是「在有限资源下做有效推理」。

核心定义:嵌入式AI = 深度学习模型 + 嵌入式硬件 + 实时推理能力。三者缺一不可。

1.2 发展历程

嵌入式AI的发展,其实就三步走:

  • 萌芽期(2014-2016):那时候大家还在用传统CV算法。我记得2015年做一个人脸检测项目,用的还是Haar级联分类器。模型小,但准确率嘛...你懂的。
  • 爆发期(2017-2020):MobileNet、SqueezeNet这些轻量级网络出来了。硬件厂商也开始发力,NVIDIA的Jetson系列、Google的Edge TPU,都是那会儿的产物。我2018年第一次在树莓派上跑通MobileNet时,激动得差点跳起来。
  • 成熟期(2021至今):现在嵌入式AI已经烂大街了。从智能手表到自动驾驶汽车,到处都有它的影子。量化、剪枝、知识蒸馏这些优化技术也成熟了。我曾经用INT8量化把一个30MB的模型压缩到3MB,精度只掉了0.5%。
时期 代表技术 典型硬件
萌芽期 传统CV算法 ARM Cortex-M
爆发期 轻量级CNN Jetson TX2
成熟期 量化/剪枝 NPU/TPU

1.3 应用场景

嵌入式AI的应用场景,我挑三个最典型的说说:

智能家居

你家的智能音箱、扫地机器人、智能门锁,里面都有嵌入式AI。我做过一个智能灯控项目,用ESP32跑一个微型语音识别模型,功耗只有几十毫瓦。你喊一声「开灯」,它就能识别。注意,这里用的是关键词唤醒,不是完整的语音识别——那玩意儿太费资源了。

避坑指南:我曾经在智能家居项目里用过完整的ASR模型,结果电池撑不过一天。后来改用关键词唤醒+云端识别的混合方案,续航直接拉到一周。记住,嵌入式AI不是万能的,该上云还得上云。

自动驾驶

这个大家应该不陌生。特斯拉的FSD芯片、Mobileye的EyeQ系列,都是嵌入式AI的典型代表。但说实话,自动驾驶对实时性要求极高。我参与过一个ADAS项目,要求前向碰撞预警的延迟不超过100ms。你想想看,100ms内要完成图像采集、目标检测、决策输出,压力山大。

为什么会这么难?因为自动驾驶需要同时处理多个任务:车道线检测、行人识别、交通标志识别...每个任务都要跑一个模型。我当时的解决方案是用一个多任务网络,共享backbone,这样能省下不少算力。

工业视觉

工厂里的缺陷检测、产品分拣,现在都用嵌入式AI了。我去年帮一个工厂做PCB板缺陷检测,用的是Jetson Nano。模型是YOLOv5s,量化后跑在FP16上,帧率能达到30fps。嗯,这里要注意,工业场景对稳定性要求很高,不能随便掉帧。

警告:工业视觉项目里,千万别用浮点模型直接部署。我曾经吃过这个亏——模型在PC上跑得好好的,一上嵌入式设备就崩。后来发现是内存对齐的问题。建议先用ONNX Runtime做一下兼容性测试。

1.4 与传统AI的区别

传统AI,指的是在云端或PC上跑的AI。嵌入式AI和它比,区别大了去了。我列个表,大家一目了然:

维度 传统AI 嵌入式AI
算力 无限(相对) 有限(几TOPS到几十TOPS)
功耗 几百瓦 几瓦到几十瓦
延迟 毫秒到秒级 微秒到毫秒级
模型大小 几百MB到GB 几KB到几十MB
部署方式 Docker/云服务 固件/裸机

说白了,传统AI追求的是「准不准」,嵌入式AI追求的是「快不快+省不省」。我个人的习惯是,做嵌入式AI项目时,先定功耗预算,再定算力预算,最后才选模型。顺序不能乱,否则容易翻车。

举个例子,同样是做目标检测。在云端你可以用YOLOv8x,模型几百MB,精度高。但在嵌入式设备上,你可能只能用YOLOv8n,模型几MB,精度差一点,但能跑起来。你想想看,是精度重要,还是能跑起来重要?

总结一下:嵌入式AI不是传统AI的简化版,而是一个全新的技术栈。它要求你懂硬件、懂算法、懂优化。说白了,你得是个「全栈工程师」。但别怕,这门课就是带你一步步掌握这些技能。

好了,第一章就聊到这儿。下一章咱们深入聊聊嵌入式AI的硬件选型,包括CPU、GPU、NPU、FPGA这些玩意儿到底怎么选。到时候我会分享一些我踩过的坑,保证让你少走弯路。