第二章 硬件平台选型:主流嵌入式平台对比

做嵌入式视觉,选硬件平台是第一步,也是最容易让人纠结的一步。我见过不少团队,算法调得漂漂亮亮,结果一上硬件发现跑不动,或者成本压不下来,最后只能推倒重来。说白了,选平台就是在算力、功耗、成本和开发效率之间找平衡。

今天咱们就掰开揉碎,聊聊目前市面上最主流的三个平台:瑞芯微RK3588英伟达Jetson系列算能BM1684。我会结合我自己的项目经验,帮你理清它们各自的脾气秉性。

2.1 核心参数到底怎么看?

很多新手拿到芯片手册,一看TOPS、内存、带宽这些数字就头大。其实没那么玄乎,我教你一个笨办法——把这些参数翻译成「干活的能力」。

2.1.1 TOPS:算力不等于一切

TOPS(Tera Operations Per Second)就是芯片每秒能做多少万亿次操作。数字越大,理论上算力越强。但这里有个坑:TOPS通常指的是INT8精度下的理论峰值,实际跑模型时,因为内存带宽、数据搬运、算子优化等因素,能用到60%就算不错了。

我的经验:选平台时,别只看TOPS数字。我建议你拿自己的模型实际跑一下,看帧率。TOPS 6T的平台,有时候跑轻量模型反而比TOPS 10T的平台快,因为内存带宽和缓存设计更合理。

2.1.2 内存与带宽:真正的瓶颈

我刚开始做嵌入式视觉时,犯过一个低级错误:选了个TOPS很高的芯片,结果模型稍微大一点,内存就不够用了。你想想看,模型参数、中间特征图、输入输出数据,全都要塞进内存里。

内存带宽更是关键。它决定了数据从内存搬到计算单元的速度。带宽不够,算力再强也是白搭——计算单元大部分时间都在等数据,这就是所谓的「内存墙」问题。

参数 通俗理解 选型建议
TOPS 干活的力气 看实际帧率,别信理论值
内存大小 能放多少东西 模型大小×2以上才保险
内存带宽 搬东西的速度 带宽不够,算力白费

2.2 三大平台深度对比

2.2.1 瑞芯微RK3588:国产性价比之王

RK3588是瑞芯微的旗舰芯片,8nm工艺,4核Cortex-A76加4核Cortex-A55,自带NPU算力6TOPS(INT8)。说实话,这颗芯片在安防、智能家居、边缘计算领域用得非常多。

优点:

  • 接口丰富:支持多路MIPI CSI、HDMI输入,接摄像头很方便
  • 功耗控制好:典型功耗5-8W,不需要主动散热
  • 成本优势明显:批量价格比Jetson便宜不少
  • 国产化:供应链稳定,不受制裁影响

缺点:

  • NPU生态不如英伟达成熟,模型转换偶尔会踩坑
  • 文档和社区支持相对弱一些
  • 大模型(超过100MB)跑起来有点吃力

我的建议:如果你的项目对成本敏感,模型在5MB以内,RK3588是非常好的选择。我之前做一个工业质检项目,用RK3588跑MobileNet-SSD,1080P分辨率下能到30fps,完全够用。

2.2.2 英伟达Jetson系列:生态王者

Jetson系列包括Jetson Nano(472GFLOPS)、Jetson TX2(1.3TFLOPS)、Jetson Xavier NX(21TOPS)、Jetson Orin系列(最高275TOPS)。英伟达在AI领域的积累,让Jetson成为很多开发者的首选。

优点:

  • 生态无敌:CUDA、TensorRT、DeepStream,工具链非常成熟
  • 模型兼容性好:PyTorch、TensorFlow训练的模型,基本都能直接部署
  • 算力天花板高:Orin系列能跑一些轻量级的大模型
  • 社区活跃:遇到问题,网上基本能找到答案

缺点:

  • 价格贵:Jetson Orin NX 16GB版本要3000多块
  • 功耗偏高:Orin系列满载功耗15-40W,需要散热设计
  • 供货不稳定:前两年缺货严重,现在好一些了

注意:Jetson平台虽然好用,但千万别忽视散热。我曾经有个项目,Jetson Xavier NX在密闭机箱里跑,温度直接飙到85度,然后降频,帧率从30fps掉到10fps。后来加了风扇才解决。

2.2.3 算能BM1684:安防领域的黑马

算能(原比特大陆AI部门)的BM1684,算力17.6TOPS(INT8),功耗约30W。这颗芯片在安防监控领域用得比较多,尤其是人脸识别、车牌识别这类场景。

优点:

  • 算力性价比高:17.6TOPS的价格比Jetson Xavier NX便宜
  • 视频解码强:支持32路1080P H.264/H.265解码
  • 接口丰富:支持PCIe、USB、网口,扩展性好

缺点:

  • 生态相对封闭:模型转换工具链不如英伟达顺手
  • 功耗较高:30W满载,需要较好的散热
  • 社区资源少:遇到问题,很多时候只能靠官方支持

2.3 选型决策指南

说了这么多,到底怎么选?我一般会问自己三个问题:

  1. 模型多大? 5MB以内,RK3588;5-50MB,Jetson Xavier NX或BM1684;50MB以上,Jetson Orin系列。
  2. 预算多少? 500元以内,RK3588;1000-2000元,BM1684;3000元以上,Jetson系列。
  3. 开发周期多长? 3个月以内,选Jetson,生态成熟;6个月以上,RK3588或BM1684,前期投入时间学习工具链。

我的个人习惯:做原型验证时,先用Jetson快速跑通算法。等方案定型了,再根据成本需求迁移到RK3588或BM1684。这样既保证了开发效率,又控制了量产成本。

2.4 避坑指南

最后分享几个我踩过的坑:

  • 别只看TOPS:我曾经被一个标称10TOPS的芯片坑过,实际跑YOLOv5s只有15fps,还不如Jetson Nano的20fps。后来发现是内存带宽只有12.8GB/s,严重拖了后腿。
  • 注意散热设计:嵌入式设备空间有限,散热是老大难。选平台时,一定要算好功耗,留足散热余量。
  • 提前确认工具链:有些芯片的模型转换工具只支持特定框架,比如只支持Caffe或ONNX。如果你的模型是用PyTorch训练的,可能要多花时间适配。
  • 别忽略内存:模型推理时,除了模型参数,还要考虑输入图像、中间特征图、输出结果的内存占用。我建议内存至少是模型大小的2倍。

嗯,关于硬件平台选型,今天就聊到这儿。下一章咱们会深入讲讲模型部署的具体流程,包括量化、剪枝、算子优化这些实战技巧。到时候我会拿RK3588和Jetson Orin的实际案例来演示,敬请期待。