1、问题背景
关于图像亮度的调试,是整个ISP中非常重要的一块,它决定了图像整体的亮度、对比度、细节、以及噪声,对人眼有非常直观的感受,
之前也就具体问题,整理过几篇图像亮度模块相关的调试总结:
此篇是较系统的整理记录一下,关于ISP亮度模块的调试方法及经验总结。
2、问题分析
1)先确认ISP Pipeline中有哪些和亮度相关的模块,其处理顺序和具体作用是怎样的,
如下图是海思Hi3519AV100的 ISP Pipeline,其中主要和亮度相关的模块有:AE、LSC、PreGamma、DRC、Gamma、Dehaze、LDCI.
其中LSC,preGamma应该是calibration出来的,一般不会做调整,Dehaze(去雾)默认开的也不多可能,
常用于调整亮度/对比度的模块,按处理顺序应当是:AE--->DRC(动态范围压缩)--->Gamma--->LDCI(局部对比度增强);
调试时,要先调整AE,确定合适的曝光值后,再去调整其他亮度模块。调试AE时,要先bypass 其他影响亮度的模块(AE、DRC、Gamma、LDCI),再去调整ae target.
那要如何保证ae target设置的合适呢?
可在固定光源下去拍摄24色卡,测试24色卡的22色块(因为是18%灰)亮度,若达到122,则代表此时曝光合适。
要注意的是,固定光源最好是左右两侧45度角的均匀光照,否则可能会容易过曝。用过光源在顶部的灯箱,去调试ae target,调试出来的曝光值,实景测试是过曝的。
待ae target确定完以后,再去调整ISP Pipeline后面的亮度模块,注意也是先bypass后面的模块,比如调试DRC时,要先bypass gamma和LDCI,另外调试时也要注意先整体再局部。
注:海思的ISP没调过,但流程应该都是通用的,理解有误的地方,欢迎留言指正。
2)结合直方图去判断画面整体的一个亮度分布,然后有目的去做调整;
a. 我们调试亮度模块的目的,主要是为了使画面更通透,明暗富有层次。
以常用的8位精度图像为例,直方图的X轴为0~255,共256个桶,每个桶分别代表像素值依次从0~255,直方图的Y轴表示每个桶盛纳了多少个像素。
调试过程中,我们首先需要通过直方图关注图像暗调、高光处的像素分布。
一般 isp中, 都会开放出一条控制全局亮度/对比的曲线用于调试,为了提高图像对比度,使得画面更通透,我们通常会把暗部拉低,亮部提亮,调整成S曲线的形式。
此时就需要拍图,通过直方图分析图像暗调和高光的位置,如果此区域所占像素很多,那说明目前暗调已经变成死黑,高光处也过曝了,也就是没有有效信息了。
但其实,用人眼来评判的话,很多真实场景下的暗调,高光处,都是有层次有数据的。
所以对于暗调和高光处,我们调试的原则是要在尽可能不损失信息的情况下去增加对比度,这样才有意义。
b. 暗调和高光的差异,决定了画面全局的对比度,另外还要关注图像的局部对比度才可以,
如下图两幅图所示,它的全局对比度是一样的,也就是图像中最暗和最亮部分亮度比相同。
但很明显右图看着要通透明亮许多,这里是因为局部对比度差异导致的。
所以调整完暗调和高光处的区域后,接着就需要调整图像中阴影、中间调、亮调的部分,图像进一步的微调就在于此了,通过将不同区域的像素区分开,这样就能保证图像的层次感,通透度了。
这里就需要考察我们的眼力了,哪些区域增加反差,可以体现画面的层次感,找到后,再调整其作用的对比度强度加以区分即可。
区分开后,也可以适当增加一点点曝光,这样可以提高整体画面的亮度,会使得画面更通透,层次更分明,但这不会影响到之前已经区分开的阴影、中间调、和亮调的部分。
如下图所示,调整前后,图像中的边界区域更立体,分界更明显,光影效果也更明显了,画面体现出来就更真实了。
3)低照度情况下,可以通过适当降低亮度来掩盖、或者减弱噪声,
ISP中LSC、DRC、Gamma、LDCI提高图像亮度话,其实都是在图像上叠加数字增益,这样就会使得低照度下,或者图像暗部噪声变明显,
所以我们调试时,才需要说按照亮度模块的处理顺序,依次去调节亮度参数,使得尽可能少的使用数字增益来达到目标亮度,这样可以有效的控制噪声,如此就能展现出更多的暗部细节。
4)调试亮度模块也会带来一些其他的问题,
a. 亮度和对比度的调整有时会影响图像的饱和度,亮度的增加可能会导致颜色看起来更淡,而对比度的增加可能会使颜色看起来更鲜艳。
所以调整完亮度模块后,要再接着调测当前的色彩效果,看是否符合需要。
b. 另外亮度和对比度的调整,除了会使得画面更通透外,可能也会导致图像高亮处过曝,
如下图所示,是之前客户反馈的图像过曝问题,说电源适配器那里过曝了,看不见字,是不可接受的。
对于此类问题,首先得看下是哪个模块导致的,可以按ISP Pipeline,从后往前去依次 bypass 各个亮度模块,
依次 bypsss LDCI、Gamma、DRC、AE 确认,排查是否是哪个模块的调试参数有问题,重新去调整优化。
或者本来就是属于权衡的问题,是为了使画面更通透,AE target设的过大,或者对比度强度过大导致,那此时就得看具体产品的使用场景,及拍摄主体是什么了,
如果过曝不影响主体的识别,我觉得问题是不大的,可以和客户去确认沟通。
上周群里有群友贴了张海康设备的图(如下图),发现对着室外天空过曝的厉害,但天空有什么呢?拍摄主体也不是天空,其实曝就曝点呗。
3、问题总结
在调试图像亮度的过程当中,需注意如下几点,
1)先确认ISP Pipeline中有哪些影响图像亮度、对比度的模块,需要按照Pipeline的顺序依次去做调优;
2)明确调试目的,调试过程当中结合直方图去判断画面整体的一个亮度分布,然后有目的去做调整;
3)低照度情况下,可以通过适当降低亮度来掩盖、或者减弱噪声,展现更多的暗部细节;
4)要注意到调试亮度模块,所带来一些其他的问题,如颜色饱和的差异,过曝问题的处理;