第二讲:视觉系统核心组件拆解
各位工程师朋友,咱们今天来聊聊视觉系统的那些核心零件。说白了,一个嵌入式视觉系统就像一个人的眼睛加大脑——摄像头模组是眼睛,ISP是视觉神经,编解码器是记忆存储,而算力和带宽就是整个系统的体力。
我这些年做项目,见过太多人上来就选芯片、挑摄像头,结果系统跑起来才发现瓶颈在别处。嗯,今天咱们就把这些组件一个个拆开看。
一、摄像头模组:CMOS vs CCD
先说说最前端的传感器。现在市面上主流就两种:CMOS和CCD。
| 参数 | CMOS | CCD |
|---|---|---|
| 功耗 | 低(约CCD的1/10) | 高 |
| 读出速度 | 快(支持全局快门) | 慢(卷帘快门为主) |
| 噪声 | 较高(但近年改进很大) | 低(画质纯净) |
| 成本 | 低 | 高 |
| 应用场景 | 嵌入式、消费电子、工业 | 科研、天文、高端医疗 |
我个人习惯,做嵌入式视觉系统首选CMOS。为什么?功耗低、集成度高、接口灵活。我在一个工业检测项目里用过CCD,画质确实好,但发热量惊人,散热方案比传感器本身还贵。后来全换成CMOS了,效果完全够用。
二、ISP:图像信号处理器
传感器出来的原始数据叫RAW,说白了就是一堆电压值。ISP就是把这些电压值变成你能看到的漂亮图像。
ISP的核心处理流程包括:
- 黑电平校正——去掉暗电流噪声
- 去马赛克——把Bayer阵列插值成RGB
- 白平衡——让白色看起来是白色
- 降噪——我踩过坑,降噪太强会丢边缘细节
- 锐化——适度就好,过头了会有光晕
我曾经在一个项目里,为了省成本用了CPU做软件ISP,结果1080p@30fps就把CPU占满了,算法根本跑不动。后来换成硬件ISP,CPU占用直接降到5%。
三、编解码器:压缩与传输
原始视频数据有多大?我算给你看:1080p@30fps,RGB888格式,每秒数据量是1920×1080×3×30 ≈ 186MB/s。这还没算音频。不压缩的话,存储和传输都是噩梦。
常见的编解码标准:
- H.264——兼容性好,但压缩率一般
- H.265/HEVC——比H.264省一半码率,但编码器贵
- MJPEG——每帧独立压缩,适合抓拍场景
选编解码器时,我建议你关注两个数字:编码延迟和码率控制精度。做实时控制的话,编码延迟超过一帧就会出问题。我记得有个项目,用了软件编码延迟50ms,机械臂抓取总是慢半拍,换成硬件编码器后延迟降到5ms,问题就解决了。
四、内存带宽:被忽视的瓶颈
很多人选芯片只看算力,不看内存带宽。这是个常见的坑。
举个例子:你要处理4K@60fps的视频,假设每个像素做3次访存操作(读RAW、写中间结果、读最终结果),那么内存带宽需求是:
3840 × 2160 × 3字节 × 60fps × 3次访存 ≈ 4.5 GB/s
这还只是图像数据。加上神经网络权重、中间特征图、系统开销,实际带宽需求轻松翻倍。
我见过一个团队,选了算力很强的芯片,但内存带宽只有12.8GB/s(LPDDR4单通道),结果跑YOLOv5s的时候,推理时间80%都花在等数据上。后来换成双通道LPDDR4x,带宽翻倍,帧率直接提升40%。
五、算力需求估算
算力这东西,说起来玄乎,其实可以量化。我一般用TOPS(Tera Operations Per Second)来衡量。
估算方法分两步:
- 传统视觉算法:比如Canny边缘检测、光流法,每帧大约需要0.1-1 GOPS(Giga Operations)
- 深度学习推理:这个是大头。以YOLOv5s为例,输入640×640,一次推理约需16.7 GFLOPs(Giga Floating Point Operations)
算个总账:
假设你要跑YOLOv5s在30fps:
算力需求 = 16.7 GFLOPs × 30fps = 501 GFLOPs ≈ 0.5 TOPS
加上预处理、后处理、系统开销:
实际需求 ≈ 0.5 TOPS × 1.5(余量)= 0.75 TOPS
嗯,看起来不高对吧?但注意,这是浮点运算。如果你用INT8量化,算力需求可以降到1/4左右。我建议你选芯片时,算力留出2-3倍余量,因为算法迭代很快,今天够用明天可能就卡了。
六、组件间的匹配关系
最后说一句,这些组件不是孤立的。摄像头输出数据给ISP,ISP处理后给编解码器或直接进内存,然后CPU/GPU/NPU从内存取数据做处理。任何一个环节慢了,整个系统就卡。
我常用的匹配原则:
- 摄像头输出带宽 ≤ ISP输入带宽
- ISP输出带宽 ≤ 内存带宽的30%(留余量给其他任务)
- 编解码器吞吐量 ≥ 摄像头帧率
- 算力需求 ≤ 芯片标称算力的60%(留余量)
说白了,木桶效应在视觉系统里特别明显。你算力再强,内存带宽不够也是白搭。你摄像头再好,ISP处理不过来也是浪费。
好了,这一讲就到这里。下一讲咱们聊聊英伟达的Jetson系列,看看这些组件是怎么在具体芯片上落地的。