2. 硬件平台选型与资源评估

做边缘端多模态感知,第一步就是选芯片。这事儿我踩过不少坑。有一回项目急着上线,随便挑了个开发板,结果模型跑起来帧率不到 5,功耗还压不住,最后整个方案推倒重来。所以这一章,咱们把 Jetson、RK3588、TPU 这三条主流路线掰开揉碎聊清楚。

主流边缘芯片横向对比

先看一张总表,心里有个底:

芯片平台 AI 算力 内存 典型功耗 适用场景
NVIDIA Jetson Orin NX 70 TOPS (INT8) 8/16 GB LPDDR5 10-25 W 多路视频、Transformer 模型
Rockchip RK3588 6 TOPS (NPU) 8/16 GB LPDDR4X 5-15 W 轻量检测、端侧部署
Google Coral TPU 4 TOPS (Edge TPU) 1 GB LPDDR4 2-5 W 单模型推理、低功耗
Hailo-8 26 TOPS (INT8) 无板载内存 2.5-5 W 实时检测、ADAS

关键结论:没有最好的芯片,只有最合适的。Jetson 适合做原型验证和复杂模型,RK3588 是性价比之王,TPU 则专为低功耗场景而生。

算力评估:别只看 TOPS

很多同学一上来就问「这芯片多少 TOPS?」。其实 TOPS 只是理论峰值,实际能跑多少,得看三件事:

  • 算子支持度:你的模型里有没有芯片不支持的算子?我遇到过 MobileNet 的 Depthwise Conv 在某个 NPU 上被转成普通 Conv,速度直接掉一半。
  • 内存带宽:Jetson Orin NX 的 LPDDR5 带宽约 102 GB/s,RK3588 只有 68 GB/s。多路视频解码时,带宽瓶颈比算力更致命。
  • 量化精度:INT8 的 70 TOPS 和 FP16 的 35 TOPS,实际效果可能差不多。但有些芯片 INT8 精度损失大,你得权衡。

我的习惯:拿到芯片后,先用 onnxruntime_perf_test 跑一遍典型模型,看实际延迟和吞吐。纸上 TOPS 再高,不如实测一帧来得实在。

内存评估:模型放得下,数据流得动

多模态感知通常要同时处理图像、点云、音频。内存不够,模型都加载不了。我建议按这个公式估算:

所需内存 = 模型参数 (FP16) × 1.2 + 输入输出缓冲区 × 2 + 系统开销 (1-2 GB)

举个例子:一个 50 MB 的 YOLOv8 模型,量化后约 25 MB,但运行时中间特征图可能吃掉 200 MB。再加上两路 1080p 视频流,每帧约 6 MB,缓冲区一深,内存就炸了。

场景 推荐内存 说明
单路轻量检测 4 GB MobileNet + SSD,量化后约 10 MB
双路实时分割 8 GB DeepLabV3+,输入 512×512
多模态融合 16 GB 图像 + LiDAR + 音频,Transformer 模型

避坑指南:我曾经在 RK3588 上跑一个 8 GB 内存的模型,结果系统 OOM 了。后来发现是 NPU 驱动占用了 2 GB 作为共享内存。选型时一定要把驱动和框架的开销算进去。

功耗与散热:边缘部署的隐形杀手

功耗这事,实验室里看不出来,一放到户外就原形毕露。Jetson Orin NX 满载 25 W,被动散热根本压不住,必须加风扇。RK3588 好一些,15 W 以内可以用散热片搞定。

我整理了一个功耗对照表:

芯片 待机功耗 推理功耗 满载功耗 散热方案
Jetson Orin NX 3 W 15 W 25 W 主动风扇 + 散热片
RK3588 1.5 W 8 W 15 W 被动散热片
Coral TPU 0.5 W 2 W 5 W 无需散热

你想想看,一个户外摄像头,夏天 60 度高温,被动散热如果压不住,芯片降频,帧率直接掉到 2-3。所以我的建议是:功耗预算留 20% 余量,散热方案按最坏情况设计。

选型决策流程

说了这么多,到底怎么选?我画了一张流程图,帮你理清思路:

边缘芯片选型决策流程 边缘芯片选型决策流程 开始选型 算力需求 > 20 TOPS? (含 Transformer 模型) 是 Jetson Orin NX / AGX CUDA 生态,TensorRT 优化 否 功耗 < 10 W? (电池供电场景) 是 Coral TPU / Hailo-8 极致低功耗,单模型推理 否 RK3588 性价比高,NPU + CPU 异构 确定平台 选型提示 • 多模态融合 → Jetson • 轻量检测 → RK3588 • 电池供电 → TPU • 量产成本敏感 → RK3588

这张图的核心逻辑很简单:先看算力需求,再看功耗约束。如果模型里用了 Transformer 或者需要多路视频,直接上 Jetson;如果只是轻量检测且对功耗敏感,TPU 更合适;RK3588 则卡在中间,适合大多数性价比优先的场景。

实战建议:从选型到落地

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

  • 别只看芯片,要看整个模组:Jetson 模组自带散热和接口,RK3588 需要自己设计底板,开发周期差 2-3 周。
  • 内存带宽比容量更重要:我试过在 RK3588 上跑 4 路 1080p 解码,内存还有 6 GB 空闲,但带宽跑满了,帧率直接掉到 10。
  • 预留调试接口:至少留一个 USB 和 UART,不然出了问题只能干瞪眼。

一句话总结:Jetson 适合做「能做」的事,RK3588 适合做「该做」的事,TPU 适合做「只能这么做」的事。选型没有银弹,只有权衡。