一、嵌入式视觉概述

嵌入式视觉,说白了就是让摄像头模组加上一块嵌入式处理器,在设备本地完成图像采集、分析和理解。它不需要连到云端,也不用依赖PC。我刚开始接触这个领域时,总觉得它跟计算机视觉差不多。后来踩过几次坑才明白——嵌入式视觉的核心约束是功耗、成本和实时性。

核心定义:嵌入式视觉 = 嵌入式系统 + 视觉传感器 + 图像处理算法,三者缺一不可。

1.1 嵌入式视觉的应用场景

这些年我带过的项目覆盖了三个主要方向,每个方向对算法的要求都不一样。

应用领域 典型场景 算法特点 我遇到的坑
安防 人脸识别、车牌识别、行为分析 高精度、低延迟、全天候 夜间图像噪声大,ISP调参花了两周
工业 缺陷检测、定位引导、尺寸测量 高稳定性、可重复性、抗干扰 产线震动导致图像模糊,加了去抖动预处理
消费电子 手机拍照、扫地机避障、AR眼镜 低功耗、小模型、快速启动 电池供电下NPU降频,推理速度掉了一半

安防项目我最熟悉。记得有一次做小区门禁的人脸识别,白天效果很好,一到晚上就频繁误报。查了两天才发现是ISP的降噪参数没针对低照度优化。嗯,这里要注意——嵌入式视觉的算法效果,往往不取决于模型本身,而是图像质量。

工业场景更苛刻。我曾经在一条电子元件产线上部署缺陷检测算法,产线振动频率刚好跟摄像头帧率产生共振,每三帧就有一帧是模糊的。后来加了硬件防抖和软件去模糊的双重方案才搞定。

消费电子嘛,功耗是第一位的。我做过一款扫地机的避障模块,用NPU跑轻量级目标检测。一开始模型精度够了,但NPU跑满功率时整机温升超标。最后不得不把模型量化到INT8,还做了帧率动态调节。

1.2 嵌入式视觉系统的典型硬件架构

一个完整的嵌入式视觉系统,硬件上通常包含四个核心计算单元。我画了张图,帮你理清它们的关系。

嵌入式视觉系统硬件架构 图像传感器 (CMOS) ISP 图像信号处理器 CPU 控制调度 + 预处理 GPU 并行图像处理 NPU 神经网络推理加速 共享内存 / DDR 💡 实际部署时: • 预处理和调度跑在CPU上 • 传统图像算法(滤波、仿射变换)用GPU加速 • 深度学习推理交给NPU • ISP负责原始RAW图到RGB的转换

CPU — 控制调度 + 预处理

CPU是系统的"大脑"。它负责启动摄像头、调度任务、管理内存,也做一些轻量级的图像预处理。我个人习惯把图像缩放、颜色空间转换这类操作放在CPU上,因为数据量小,CPU的缓存命中率高。

我的经验:CPU上做图像预处理时,尽量用NEON指令集(ARM平台)或SIMD优化。我曾经用纯C写了一个RGB转灰度,跑起来只有15fps;换成NEON优化后直接飙到60fps。

GPU — 并行图像处理

GPU擅长做像素级的并行计算。像高斯滤波、边缘检测、直方图均衡化这些传统图像算法,用GPU加速效果很明显。但要注意——GPU的功耗不低,在电池供电的设备上要悠着点。

NPU — 神经网络推理加速

NPU是专门为深度学习推理设计的。它内部有大量的乘加阵列,可以高效执行卷积运算。现在主流的NPU芯片(比如瑞芯微RK3588、算能BM1684)都能跑到4-8TOPS的算力。

⚠️ 避坑指南:我曾经在NPU上部署一个YOLOv5s模型,直接跑浮点版本,帧率只有8fps。后来量化到INT8,帧率到了30fps,但精度掉了3个点。嗯,这里要注意——量化后的模型一定要在目标设备上重新验证精度。

ISP — 图像信号处理器

ISP是嵌入式视觉里最容易忽视但又最关键的部分。它负责把CMOS传感器输出的RAW数据转换成高质量的RGB图像。包括去马赛克、白平衡、降噪、锐化等一整套流程。

我记得有个项目,算法团队花了一个月优化检测模型,精度死活上不去。后来我让他们把ISP的降噪强度调低一档,模型精度直接涨了5个点。为什么?因为过强的降噪会抹掉边缘细节,而检测模型恰恰依赖这些细节。

1.3 各单元的分工协作

实际项目中,这四个单元不是各自为战的。我总结了一个典型的数据流:

  1. 传感器采集:CMOS输出RAW10/RAW12格式的原始数据
  2. ISP处理:RAW → RGB,同时做降噪、自动曝光、自动白平衡
  3. CPU预处理:缩放、裁剪、归一化,把图像整理成模型需要的输入格式
  4. NPU推理:运行神经网络,输出检测框、分类结果或分割图
  5. CPU后处理:NMS(非极大值抑制)、坐标映射、结果上报

你看,CPU贯穿了整个过程。它虽然算力不如NPU,但胜在灵活。我建议你在做系统设计时,先把数据流画清楚,再决定每个阶段用哪个计算单元。

核心原则:让合适的硬件做合适的事。CPU做控制+预处理,GPU做传统图像算法,NPU做深度学习推理,ISP保证图像质量。别让NPU去跑图像滤波,也别让CPU去跑卷积——我见过有人这么干,结果功耗和延迟都崩了。

1.4 选型时的几个关键指标

最后,我列几个选型时一定要看的指标。这些是我这些年踩坑总结出来的:

指标 说明 我的建议值
算力 NPU的TOPS数,决定能跑多大的模型 轻量级模型≥2TOPS,中大型≥8TOPS
内存带宽 影响多路视频处理的帧率 1080p@30fps至少需要4GB/s
ISP能力 是否支持HDR、3D降噪、多帧融合 安防场景必须支持WDR
功耗 整机功耗,影响散热和续航 消费电子≤3W,工业≤10W
编码能力 是否支持硬件H.264/H.265编码 需要录像存储时必须支持