2. 安防监控图像特点
做安防图像处理这些年,我最大的感触就是:监控摄像头看到的「真实」,和我们人眼看到的「真实」,完全是两码事。你想想看,一个摄像头挂在楼道里,白天还好,一到晚上就抓瞎。或者门口大太阳底下,人走进来脸黑得跟剪影似的。这些场景,就是安防图像处理要啃的硬骨头。
这一章,咱们就专门聊聊安防监控图像的三个典型特点——低照度、宽动态、红外补光。说白了,这三个东西就是白平衡调优路上最大的「拦路虎」。不理解它们,你调出来的白平衡就是纸上谈兵。
2.1 低照度环境:噪声与色彩的双重困境
低照度,就是光线暗。但安防场景里的「暗」,比我们想象的更复杂。
核心矛盾:信号弱 → 信噪比低 → 色彩失真 → 白平衡误判
我在项目中遇到过一个小区的监控项目,地下车库的摄像头一到晚上就偏色严重。明明墙面是白色的,画面里却泛着一层诡异的紫红色。排查到最后,问题就出在低照度下的白平衡算法上。
为什么会这样?我给你拆解一下:
- 信号弱,噪声强:光线不足,CMOS传感器接收到的光子少,电子信号微弱。为了把画面提亮,ISP(图像信号处理器)会强行放大信号,结果噪声也跟着被放大了。
- 色彩信噪比崩塌:彩色信号本身比亮度信号弱得多。在低照度下,B通道和R通道的信噪比可能只有亮度通道的1/3甚至更低。白平衡算法需要统计R/G/B三个通道的比例,噪声一多,统计结果就飘了。
- 自动增益的副作用:摄像头会自动拉高增益(Gain),但增益对三个通道的放大不是完全线性的。我实测过一些Sensor,增益拉到30dB以上时,R通道的增益曲线会明显偏离B通道。这时候白平衡算出来的色温,能差出2000K。
| 照度等级 | 典型场景 | 信噪比(估算) | 白平衡挑战 |
|---|---|---|---|
| 100 lux 以上 | 白天室内/室外 | > 40 dB | 常规场景,算法稳定 |
| 10 - 100 lux | 黄昏/走廊 | 30 - 40 dB | 噪声开始影响统计 |
| 1 - 10 lux | 夜间/地下车库 | 20 - 30 dB | 色彩信噪比严重下降 |
| 0.1 - 1 lux | 极暗/无补光 | < 20 dB | 白平衡几乎失效 |
我的经验:低照度下,不要迷信全局白平衡统计。我习惯先做「噪声预判」——如果画面整体亮度低于某个阈值,就主动降低白平衡的更新速度,甚至暂时冻结白平衡参数,等光线恢复再重新收敛。否则,白平衡会在噪声的驱动下反复震荡,画面颜色忽冷忽热。
2.2 宽动态范围:高反差场景下的色彩平衡难题
宽动态范围(WDR,Wide Dynamic Range),是安防监控的另一个硬骨头。说白了,就是画面里既有极亮的地方,又有极暗的地方。比如:
- 门口逆光:室外阳光明媚,室内人脸漆黑。
- 夜间车灯:车灯亮得刺眼,车牌周围一片死黑。
- 窗口场景:窗外蓝天白云,窗内暗部细节全无。
我刚开始做WDR调优时,犯过一个低级错误。当时只关注了亮度动态范围的扩展,没注意色彩一致性。结果画面亮部偏蓝,暗部偏黄,看起来像两张照片拼在一起。客户反馈说:「你们这个摄像头是不是坏了?颜色都不统一。」
WDR对白平衡的影响,主要体现在三个方面:
- 多帧合成的色彩对齐:现在的WDR大多采用多帧合成技术——拍一张短曝光的(保留亮部细节),再拍一张长曝光的(保留暗部细节),然后合成。但短帧和长帧的色温响应可能不同。短帧曝光时间短,Sensor的Bayer滤色片响应可能偏冷;长帧曝光时间长,暗电流积累多,可能偏暖。合成时如果不对齐,就会出现亮暗部色温不一致。
- 局部过曝/欠曝区域的色彩失真:亮部过曝时,R/G/B三个通道可能同时饱和,但饱和程度不同。比如R通道先饱和,B通道后饱和,结果过曝区域偏黄。暗部欠曝时,噪声主导,色彩信息丢失。白平衡算法如果把这些区域纳入统计,结果必然跑偏。
- 动态范围压缩对色域的影响:WDR处理本质上是在压缩动态范围。压缩过程中,色调映射(Tone Mapping)会改变像素的亮度关系,间接影响色彩饱和度。我见过一些方案,WDR一开,画面颜色就发灰,饱和度掉了20%以上。
避坑指南:我曾经在调试一个宽动态摄像头时,发现画面亮部的白色物体偏蓝,暗部的白色物体偏黄。排查了两天,最后发现是WDR合成时的「运动检测」模块出了问题——运动区域用了不同的合成权重,导致色彩偏移。所以,WDR场景下,白平衡统计一定要做「区域权重修正」,对过曝和欠曝区域降权处理。
2.3 红外补光:单色光对色彩还原的致命干扰
红外补光,是安防监控的「特色菜」。普通消费级摄像头很少用,但安防摄像头几乎标配。为什么呢?因为安防要的是「看得见」,而不是「看得准」。红外光人眼看不见,但Sensor能感知。用红外LED补光,可以在完全无可见光的环境下成像。
但代价是什么?色彩。
红外补光下的图像,默认就是黑白的。因为红外光本身没有颜色信息,Sensor接收到的只是亮度信号。但很多场景下,用户希望看到彩色画面——哪怕颜色不准,也比黑白强。于是就有了「红外+可见光混合补光」的方案。
这里面的坑,我踩过不少。
- 红外光污染可见光通道:Sensor的Bayer滤色片并不是完美的红外截止滤镜。红外光会穿透R/G/B滤色片,在三个通道都产生响应。结果就是:画面整体偏红(因为R通道对红外最敏感),或者偏紫(R+B混合)。
- 色温偏移不可预测:红外补光的强度、角度、距离都会影响色彩偏移量。同一个摄像头,装在走廊尽头和装在走廊中间,红外反射率不同,偏色程度也不同。白平衡算法如果按固定模型补偿,根本搞不定。
- 混合光源下的色温混乱:有些场景是「红外补光 + 微弱可见光」混合。比如楼道里有一盏昏暗的白炽灯,同时摄像头开了红外补光。这时候画面里既有白炽灯的暖色温(约2800K),又有红外光的伪色温(Sensor响应后呈现的偏红色)。白平衡算法面对这种混合光源,基本是懵的。
| 补光类型 | 典型场景 | 色彩表现 | 白平衡策略 |
|---|---|---|---|
| 纯红外补光 | 全黑夜间 | 黑白(默认) | 强制黑白模式,关闭AWB |
| 红外+微弱可见光 | 昏暗楼道 | 偏红/偏紫 | 红外补偿+色温约束 |
| 双光源(白光+红外) | 智能补光 | 色彩可接受 | 动态切换AWB模式 |
| 无补光 | 微光环境 | 色彩极差 | 降噪优先,AWB降速 |
我的做法:对于红外补光场景,我建议在ISP里加一个「红外检测」模块。通过统计画面中R通道与G通道的比值,判断红外干扰的强度。如果R/G比值异常高,就主动切换到「红外补偿模式」——用一个预置的补偿矩阵,把红外光引起的偏色拉回来。当然,这个矩阵需要针对不同Sensor和不同红外LED做标定,没法通用。
2.4 本章知识体系:三个挑战的关联与应对
低照度、宽动态、红外补光,这三个问题不是孤立的。在实际项目中,它们经常同时出现。比如:
- 夜间停车场:低照度 + 车灯(宽动态)+ 红外补光。
- 小区出入口:白天逆光(宽动态)+ 傍晚低照度 + 夜间红外补光。
所以,做白平衡调优,不能只盯着一个场景。你得理解这三个因素如何叠加,如何相互影响。下面这张图,是我自己总结的「安防图像色彩挑战关联图」,希望能帮你理清思路。
嗯,这张图基本把这一章的核心逻辑串起来了。低照度、宽动态、红外补光,每一个都会直接冲击白平衡的统计和决策。而实际项目中,它们往往同时出现,互相放大影响。所以,后面几章我们讲具体算法时,会反复回到这三个场景,看看怎么针对性地设计策略。
记住一句话:安防监控的白平衡,不是在实验室里调出来的,是在这些「恶劣场景」里磨出来的。