050、安防监控场景优化:低照度增强、宽动态处理与红外夜视的实战调参

050、安防监控场景优化:低照度增强、宽动态处理与红外夜视的实战调参 050、安防监控场景优化低照度增强、宽动态处理与红外夜视的实战调参去年在某个智慧园区项目现场甲方指着屏幕里一团漆黑的画面问我“你们这摄像头晚上就是摆设”我盯着那帧几乎全是噪点的图像心里清楚——这不是硬件问题是ISP参数没喂对。安防监控和手机拍照完全是两码事手机拍不好可以重来监控画面一旦糊了可能就错过了关键事件。今天这篇笔记就聊聊我在低照度、宽动态和红外夜视这三个坑里爬出来的经验。低照度增强别让增益变成噪点狂欢先讲个真实案例。某款1/2.8英寸的sensor标称最低照度0.001 lux结果在0.01 lux环境下画面全是彩色雪花。甲方工程师直接说“你们这参数是实验室里测的吧”。问题出在哪增益策略太粗暴。低照度下sensor的模拟增益和数字增益是双刃剑。模拟增益每提升6dB信噪比就掉一截数字增益更是把噪点放大到刺眼。我踩过最大的坑是为了追求亮度把模拟增益拉到48dB结果画面亮是亮了但细节全被噪点淹没了。后来学乖了模拟增益上限锁死在30dB超过这个值就切到数字增益但数字增益最多给12dB再往上就靠帧累积。帧累积是个好东西但别滥用。比如在0.1 lux场景帧率从30fps降到15fps信噪比能提升3dB左右。但注意帧累积会引入运动模糊——监控画面里如果有行人走动帧累积超过2帧人就会拖影。我一般只在静态场景比如停车场、仓库用4帧累积动态场景比如走廊、出入口最多2帧。还有一个容易被忽略的参数黑电平校准。低照度下黑电平偏移会导致暗部偏紫或偏绿。我习惯在sensor初始化时做一次黑电平校准然后每10分钟重新校准一次——因为温度变化会影响黑电平。别问我怎么知道的某次项目画面整体偏绿查了三天才发现是黑电平漂了。实战参数参考以某款1/2.7英寸sensor为例模拟增益上限30dB数字增益上限12dB帧累积动态场景2帧静态场景4帧黑电平校准周期600秒目标亮度8-12 LSB8bit数据宽动态处理别让高光过曝、暗部死黑宽动态WDR是安防场景的刚需尤其是出入口、逆光环境。但很多工程师把WDR当成万能药一开就完事。实际上WDR参数调不好画面会像塑料一样假。WDR的核心是长短帧融合。长帧负责暗部细节短帧负责高光不过曝。但融合权重怎么设我见过有人把短帧权重设到70%结果高光区域是正常了暗部却死黑一片。正确的思路是根据场景动态范围动态调整融合权重。比如在逆光场景人脸区域通常是中低亮度需要更多长帧信息而天空区域高亮度需要更多短帧信息。具体实现上我习惯用直方图统计来驱动权重。先统计当前帧的亮度直方图找到暗部0-30%亮度区间和高光70%-100%亮度区间的像素占比。如果暗部像素超过30%就提高长帧权重到60%以上如果高光像素超过20%就降低短帧曝光时间而不是单纯调权重。这里有个坑WDR开启后帧率会下降。因为需要连续采集长短两帧帧率直接砍半。比如30fps的sensor开WDR后变成15fps。如果场景里有快速移动的物体比如车辆15fps会明显卡顿。我的经验是动态场景比如道路监控慎用WDR改用单帧HDR通过sensor的HDR模式比如DOL或Sublimation来替代。实战参数参考长帧曝光时间1/30秒针对暗部短帧曝光时间1/500秒针对高光融合权重暗部区域长帧70%高光区域短帧60%直方图触发阈值暗部像素30%或高光像素20%时调整权重帧率限制WDR模式下目标帧率不低于15fps红外夜视别让画面变成“鬼片”红外夜视是安防的标配但也是最容易出问题的场景。最常见的问题是红外灯开启后画面偏色、过曝、或者出现“鬼影”。先说偏色。红外光波长在850nm或940nmsensor的RGB通道对红外光响应不一致导致画面偏紫或偏绿。解决办法是加IR-CUT滤镜切换器——白天切掉红外光晚上切掉可见光。但IR-CUT切换有机械延迟大约50-100ms如果切换瞬间有人经过画面会闪一下。我一般会在切换前做一帧的缓冲用前一帧画面填补切换间隙。再说红外过曝。红外灯功率太强近距离物体比如人脸会过曝成一片白。我踩过坑某次项目红外灯功率调到最大结果5米内的人脸全是白色光斑。后来学乖了红外灯功率根据目标距离动态调整。通过sensor的AE统计如果画面平均亮度超过80%8bit数据就降低红外灯电流。具体实现上我写了个PID控制器目标亮度设在60%电流调节步长10mA。还有一个容易被忽略的问题红外光下的对焦。普通镜头在红外光下焦点会偏移因为红外光折射率不同。解决办法是用IR校正镜头或者用自动对焦AF补偿。但AF在低照度下容易拉风箱我一般会锁定对焦距离——比如在3米处固定因为监控场景大部分目标在2-5米。实战参数参考红外灯波长850nm兼顾亮度和隐蔽性IR-CUT切换延迟50ms用帧缓冲补偿红外灯电流初始值200mAPID目标亮度60%对焦距离固定3米或根据安装高度计算红外增益模拟增益上限20dB数字增益上限6dB个人经验性建议别迷信sensor的标称参数。0.001 lux最低照度那是实验室里用理想光源测的实际场景至少打五折。选型时多关注sensor的量子效率和暗电流这两个参数比最低照度更实在。调试时先关掉所有自动功能。AE、AWB、AF全关手动调好基础参数曝光、增益、白平衡再逐步开启自动功能。否则你根本不知道哪个参数在捣乱。场景分类是调参的前提。同一个摄像头装在停车场和装在走廊参数完全不同。我习惯建一个场景库每个场景对应一套参数模板部署时直接套用再微调。红外夜视的“鬼影”问题90%是镜头和红外灯匹配问题。镜头镀膜对红外光反射率太高或者红外灯角度和镜头视场角不匹配。解决办法用红外专用镜头或者调整红外灯角度让红外光覆盖范围略小于镜头视场角。最后一条也是最关键的安防监控的终极目标是“看得清”不是“拍得美”。低照度下噪点可以接受但运动模糊不能忍宽动态下暗部细节比高光细节更重要红外夜视下人脸识别比画面色彩更重要。别为了讨好眼睛牺牲了算法识别的准确率。以上这些都是我在项目现场用加班和返工换来的。希望你能少走点弯路。