2. 性能指标定义:帧率、延迟、功耗、带宽、内存占用

做端侧AI ISP优化,第一件事不是调代码,而是把指标对齐。

我见过太多团队,一上来就怼帧率,结果功耗炸了,带宽爆了,最后项目延期。说白了,性能优化是个系统工程,你得先知道你要优化什么。

这一章,我把五个核心指标掰开揉碎了讲。每个指标我都会告诉你:它是什么、怎么测、以及我在项目中踩过的坑。

2.1 帧率(FPS)

帧率,就是每秒能处理多少张图像。单位是fps(frames per second)。

对于AI ISP来说,帧率直接决定了你的系统能不能跑实时。比如视频通话要30fps,行车记录仪要60fps,慢动作可能要240fps。

关键公式:
单帧处理时间(ms)= 1000 / FPS
比如30fps,每帧只有33.3ms的处理窗口。

我个人习惯,在项目初期先定一个目标帧率,然后反推每帧的预算时间。这个预算要分给:Sensor出图、ISP Pipeline、AI推理、后处理、显示输出。

我的经验: 别只看平均帧率。要看最差帧率(worst-case FPS)。有些场景下,AI模型跑得慢,帧率会突然掉到15fps,用户直接骂娘。

2.2 延迟(Latency)

延迟和帧率是两码事。很多人搞混。

帧率是吞吐量,延迟是响应时间。举个例子:你按快门到看到照片,中间隔了多久?那就是延迟。

在AI ISP里,延迟通常指:从Sensor曝光开始,到最终图像输出到显示器的总时间。

我建议把延迟拆成三段来看:

  1. Sensor延迟: 曝光时间 + 读出时间
  2. 处理延迟: ISP Pipeline + AI推理 + 后处理
  3. 传输延迟: 数据从DDR到显示接口的时间
注意: 延迟是累加的。我曾经在一个项目里,单帧处理只用了20ms,但Sensor曝光用了33ms,结果总延迟53ms,用户感觉明显卡顿。后来我改用全局快门Sensor,才把延迟压下来。

2.3 功耗(Power)

端侧设备最要命的指标,没有之一。

手机、无人机、AR眼镜,电池就那么点。AI ISP如果功耗压不住,性能再强也没用。

功耗通常分三块:

功耗类型 典型占比 说明
计算功耗 40%~60% NPU、DSP、CPU跑AI和ISP算法
内存功耗 20%~30% DDR读写,带宽越大功耗越高
Sensor/显示 10%~20% Sensor曝光、MIPI传输、屏幕刷新

我个人习惯,在芯片选型阶段就拉一个功耗预算表。比如:整机功耗限制2W,AI ISP最多分到800mW。然后每个模块再往下分。

避坑指南: 我曾经以为NPU算力高就省功耗,结果发现NPU跑轻量模型时,DDR带宽反而成了功耗大头。后来我学会了:算力和带宽要一起看,不能只看算力。

2.4 带宽(Bandwidth)

带宽,就是数据搬运的速度。单位是GB/s。

AI ISP里,带宽往往比算力更容易成为瓶颈。为什么?因为图像数据太大了。

算一笔账:

4K分辨率:3840 × 2160 ≈ 8.3M像素
每个像素:10bit RAW ≈ 1.25字节
一帧数据:8.3M × 1.25 ≈ 10.4 MB
30fps带宽:10.4 MB × 30 ≈ 312 MB/s
这只是RAW数据,还没算AI中间特征图、后处理缓存...

你想想看,如果DDR带宽只有3.2GB/s(LPDDR4典型值),光搬数据就占了10%,再加上AI模型权重、中间结果、系统其他任务...很容易就爆了。

我的建议: 在项目初期,先画一张数据流图。标清楚每个模块读多少、写多少、频率多少。然后算总带宽。如果超过DDR理论带宽的60%,就要开始优化了。

2.5 内存占用(Memory Footprint)

内存占用,就是你的AI ISP模型和中间结果占了多少DDR空间。

端侧设备的内存很金贵。手机可能分给ISP的只有几十MB,IoT设备可能总共才128MB。

内存占用主要来自三部分:

  • 模型权重: 神经网络参数,INT8量化后一般几MB到几十MB
  • 特征图缓存: 推理过程中的中间结果,这个往往是大头
  • 图像缓冲区: 多帧输入、输出、后处理临时空间
注意: 内存占用不是静态的。推理过程中,特征图会动态分配。我曾经遇到一个情况:模型加载只用了10MB,但推理时峰值内存到了80MB,直接OOM。后来我用了内存复用技术,才把峰值压到30MB。

2.6 五个指标的关系

这五个指标不是孤立的。它们互相影响,甚至互相矛盾。

我画了一张关系图,你看一眼就明白了:

AI ISP 五大性能指标关系图 AI ISP 性能 帧率 FPS 延迟 Latency 功耗 Power 带宽 Bandwidth 内存占用 Memory 指标间典型矛盾 提高帧率 → 功耗↑ 降低延迟 → 带宽↑ 压缩内存 → 精度↓

你看,这五个指标就像五个手指,攥在一起才有力。但想同时优化所有指标?不可能。你得根据产品需求做取舍。

比如:

  • 手机拍照: 优先保证画质和延迟,功耗可以放宽(反正用户拍一张就完事)
  • 无人机图传: 优先保证帧率和功耗,画质可以降一点
  • AR眼镜: 延迟和功耗是命门,帧率可以降到24fps
我的习惯: 项目启动时,先拉一张指标优先级表。把五个指标排个序,然后告诉团队:这个项目,我们优先保什么,可以牺牲什么。这样后面做决策时,大家不会吵起来。

2.7 本章小结

五个指标,说多不多,说少不少。但每个指标背后,都有一堆坑等着你。

记住一句话:没有完美的指标,只有合适的取舍。