3、亮度统计信息:直方图统计、分区统计、网格/区域权重、Y通道统计、R/G/B通道统计、亮度均值与标准差
亮度统计,说白了就是AE的眼睛。没有它,自动曝光就是瞎调。
我刚开始做ISP的时候,总觉得曝光嘛,测一下平均亮度不就完了?后来被现实狠狠教育了一回——拍逆光人像,人脸全黑,背景却过曝。从那以后我才明白,统计信息怎么算、怎么加权,直接决定了AE的智商。
3.1 直方图统计
直方图是最直观的亮度分布工具。它把0~255的亮度值分成256个bin,每个bin统计有多少像素落进去。
我个人习惯先看直方图的三个关键区域:
- 暗部(0~85):如果这里堆得太多,画面大概率欠曝
- 中间调(86~170):主体信息通常在这里
- 亮部(171~255):这里如果出现尖峰,小心过曝
举个例子,你拍一张室内人像,直方图左边隆起、右边空荡荡,那基本可以判断——补光不够。
核心用途:直方图能帮你快速判断曝光倾向,但它不告诉你「哪里亮、哪里暗」。说白了,它只告诉你「有多少」,不告诉你「在哪里」。
3.2 分区统计(网格/区域权重)
直方图不够用怎么办?分区统计上场。
把画面切成M×N个网格,每个格子独立算亮度。然后给不同区域分配权重——人脸区域权重高,天空区域权重低。
我记得有一次做车载摄像头AE,场景里经常有大面积天空。如果平均加权,地面细节全丢。后来我把画面分成5×5网格,给中间三行加权重,效果立竿见影。
常见的分区方式:
- 3×3网格:简单,适合入门
- 5×5网格:精度适中,我常用
- 15×15网格:配合人脸检测,做精细曝光
我的经验:权重分配别太极端。我曾经把中心区域权重设到80%,结果画面边缘全黑,用户投诉「四周看不清」。后来改成中心60%、边缘20%、过渡区20%,平衡多了。
3.3 Y通道统计
Y通道就是亮度通道。在YCbCr色彩空间里,Y分量直接代表亮度,跟颜色无关。
为什么单独提Y通道?因为RGB三个通道对亮度的贡献不一样。人眼对绿色最敏感,对蓝色最不敏感。直接用RGB平均算亮度,误差很大。
标准公式:
Y = 0.299 * R + 0.587 * G + 0.114 * B
嗯,这个系数不是拍脑袋定的,它来自人眼视觉模型。我在项目中见过有人直接用(R+G+B)/3算亮度,结果画面偏紫时曝光乱跳——这就是没走Y通道的坑。
3.4 R/G/B通道统计
有时候只看Y通道还不够。比如拍夕阳,红色通道特别亮,绿色通道偏暗。如果只看Y通道,你可能会觉得「嗯,亮度还行」,但实际画面已经偏色严重。
R/G/B通道统计能帮你做两件事:
- 检测色偏:某个通道明显偏高,说明光源偏色
- 辅助AWB:自动白平衡需要知道各通道的统计分布
我建议在AE算法里同时保留Y通道和RGB通道的统计结果。Y通道做主控,RGB通道做辅助判断。比如某个通道饱和度过高,AE可以适当降低增益,防止单通道溢出。
注意:RGB通道统计要小心「通道饱和」。一旦某个通道达到255,再往上加增益也没用,反而会让其他通道失真。我曾经在强光场景下吃过这个亏——红色通道全饱和,画面变成一片惨白。
3.5 亮度均值与标准差
均值和标准差,这两个指标搭配使用,效果1+1>2。
- 均值:告诉你画面整体亮不亮。目标值通常设在100~120(8bit数据)
- 标准差:告诉你画面反差大不大。标准差小,画面灰蒙蒙;标准差大,对比度强
举个例子:
| 场景 | 均值 | 标准差 | 判断 |
|---|---|---|---|
| 阴天户外 | 90 | 25 | 偏暗,反差适中 |
| 逆光人像 | 110 | 60 | 均值还行,但反差太大,人脸可能欠曝 |
| 雾天 | 120 | 15 | 亮度够,但画面发灰 |
我个人习惯把标准差作为「场景复杂度」的参考。标准差低的时候,AE可以激进一点;标准差高的时候,AE要保守,防止亮部过曝或暗部欠曝。
3.6 知识体系总览
下面这张图,是我梳理的亮度统计信息核心逻辑。你看一遍,基本就清楚每个模块怎么配合了。
3.7 实战建议
说了这么多,总结几条我在项目中沉淀下来的经验:
- 直方图做粗调,分区统计做精调。先看直方图判断整体曝光趋势,再用分区统计锁定重点区域。
- Y通道是主力,RGB通道是辅助。别把RGB通道的统计结果直接喂给AE,容易受色温干扰。
- 标准差别忽略。很多AE算法只盯着均值调,结果高反差场景翻车。我建议把标准差作为AE收敛速度的调节因子——标准差大时步长减小,防止过调。
- 权重分配要留余量。别把某个区域的权重设到100%,给边缘区域留10%~20%的权重,能避免很多极端场景。
一个小技巧:调试阶段,把直方图和分区统计结果可视化出来。我习惯在调试工具里同时显示直方图曲线和网格热力图,一眼就能看出曝光问题出在哪。
亮度统计是AE的基石。这块做扎实了,后面的曝光策略才能有的放矢。你想想看,如果连画面哪里亮哪里暗都搞不清楚,怎么调曝光?