2、HDR基础理论:什么是高动态范围、动态范围的计算方法、车载场景的动态范围需求(120dB+)
好,咱们正式开始啃HDR这块硬骨头。很多工程师一听到“高动态范围”就觉得玄乎,其实说白了,就是让摄像头能同时看清亮的地方和暗的地方。你想想看,人眼为什么厉害?因为它能适应从星光到正午阳光的亮度跨度。摄像头要是不做HDR,拍出来的画面要么亮部过曝一片死白,要么暗部死黑什么都看不见。
我记得刚入行那会儿,调试一款前视摄像头,大晴天车子刚出隧道,画面直接“瞎”了3秒钟。从那以后我就明白——车载摄像头不做HDR,根本没法用。
2.1 什么是高动态范围
动态范围,英文叫Dynamic Range,缩写DR。它描述的是一个系统能同时记录的最亮信号与最暗信号的比值。对于图像传感器来说,就是它能同时容纳的“最亮”和“最暗”的亮度范围。
举个例子:
- 一个普通手机摄像头,动态范围大概60~70dB
- 人眼在适应后,动态范围能到100dB以上
- 车载HDR摄像头,要求至少120dB
dB这个单位怎么理解?我习惯这么记:每增加20dB,亮度范围扩大10倍。所以120dB意味着最亮和最暗相差100万倍。嗯,你没看错,100万倍。
核心概念:高动态范围(HDR)不是一种“特效”,而是一种让传感器在单帧画面中同时保留亮部和暗部细节的能力。没有HDR,车载摄像头在逆光、隧道出入口、夜间车灯场景下基本等于废了。
2.2 动态范围的计算方法
动态范围的计算公式其实不复杂:
DR = 20 × log10(最大可探测信号 / 最小可探测信号)
单位:dB(分贝)
对于图像传感器,最大信号通常由满阱容量(Full Well Capacity, FWC)决定,最小信号由噪声基底(Read Noise)决定。所以更具体的公式是:
DR_sensor = 20 × log10(FWC / Read_Noise)
举个例子:
- 某传感器满阱容量:100,000个电子
- 读出噪声:10个电子
- DR = 20 × log10(100,000 / 10) = 20 × log10(10,000) = 20 × 4 = 80dB
80dB,这就是普通传感器的水平。但车载场景要求120dB,差了整整40dB,也就是100倍。怎么补?靠单次曝光肯定不行,必须上多帧合成或者特殊像素结构。
个人经验:我建议你在选型时不要只看datasheet上标的DR数字。有些厂商会“注水”,用特殊测试条件测出来的值。我踩过这个坑——标称120dB的传感器,实际在车载温度范围(-40°C~105°C)下只能做到100dB左右。一定要看全温度范围的典型值。
2.3 车载场景的动态范围需求(120dB+)
为什么车载非要120dB?咱们来算一笔账:
| 场景 | 亮度范围(lux) | 所需动态范围 | 说明 |
|---|---|---|---|
| 夜间城市道路 | 0.1 ~ 100 | ~60dB | 普通传感器勉强够 |
| 白天阴天 | 100 ~ 10,000 | ~80dB | 普通传感器极限 |
| 隧道出入口 | 0.5 ~ 100,000 | ~106dB | 普通传感器已失效 |
| 夜间对向远光灯 | 0.1 ~ 500,000 | ~134dB | 必须HDR |
| 正午逆光+阴影 | 10 ~ 120,000 | ~120dB | 车载典型需求 |
看到没?隧道出入口和夜间远光灯这两个场景,动态范围需求直接飙到100dB以上。我曾经在实车测试时遇到过这种情况:车子刚进隧道,摄像头画面全黑,等出隧道了画面又全白,中间过渡期长达2~3秒。这对ADAS系统来说是不可接受的——万一隧道里有静止车辆或行人呢?
避坑指南:我曾经以为120dB是“够用”的,直到遇到一个极端场景——夜间高速,前方无路灯,对向车道连续远光灯。实测下来,120dB的传感器在亮部(车灯区域)勉强能看,但暗部(路面行人)已经丢失了。后来我学乖了,车载前视摄像头建议选140dB以上的方案,后视和环视可以放宽到120dB。
2.4 车载HDR的三种主流实现路径
要实现120dB+的动态范围,目前业界主要有三条路:
- 多帧合成HDR(Multi-frame HDR):连续拍摄2~4帧不同曝光时间的图像,然后合成一帧。优点是实现简单,缺点是运动物体容易产生鬼影。
- 大像素+双增益(Dual Gain / DCG):单个像素内有两个增益路径,同时输出高增益和低增益信号。优点是单帧就能HDR,缺点是像素尺寸大,分辨率受限。
- 分像素HDR(Split-pixel HDR):一个像素内分成大、小两个子像素,大像素感光强,小像素感光弱。优点是单帧、无鬼影,缺点是工艺复杂。
我个人比较看好多帧合成+运动补偿的方案,因为它在分辨率和动态范围之间平衡得最好。但如果你做的是环视摄像头,运动模糊不敏感,DCG方案性价比更高。
下面这张图帮你理清三种方案的选型逻辑:
2.5 动态范围与信噪比的权衡
这里有个很多新手容易忽略的点:动态范围不是越高越好。为什么?因为提高动态范围往往意味着牺牲信噪比(SNR)。
你想想看,要同时看清亮部和暗部,暗部信号必须被放大。但放大信号的同时,噪声也被放大了。结果就是:动态范围上去了,暗部噪点也上去了。
我做过一个对比测试:
- 方案A:DR=120dB,暗部SNR=28dB
- 方案B:DR=110dB,暗部SNR=35dB
在夜间城市道路场景下,方案B的视觉体验反而更好。因为虽然动态范围少了10dB,但暗部干净多了。所以选型时一定要看“有效动态范围”——也就是在可接受SNR前提下的动态范围。
我的习惯:车载HDR选型,我一般先定SNR底线(暗部不低于30dB),再看DR能到多少。如果厂商只给你看DR数字,不给你看SNR曲线,那就要留个心眼了。
2.6 小结:HDR不是万能的
最后说句实在话:HDR能解决很多问题,但不是所有问题。比如:
- HDR不能解决运动模糊(那是下一章的内容)
- HDR不能解决镜头眩光
- HDR不能解决传感器饱和后的颜色失真
但如果你连HDR都没做好,那上面这些问题根本轮不到你操心——因为画面早就过曝或欠曝到没法看了。所以,120dB是起点,不是终点。