1、原理介绍
ABL(anti back light)是自动检测背光,并进行AE矫正和gamma矫正的算法。主要针对高动态范围的背光场景,会输出abl_offset 和 abl_weight 等参数。前者主要用来改变AE的目标亮度,后者则用于smart gamma和 abl gamma插值。
按照如下规则使用
1. faceID unlock 模式,正常输出 abl weight 和 abl offset。 2. Normal 模式,AI开启,abl weight正常输出但背光gamma不起作用,abl offset为0。 3. Normal 模式,AI关闭,有人脸,abl weight正常输出,abl offset为0。(tuning参数可控) 4. Normal 模式,AI关闭,无人脸, abl weight正常输出,abl offset为0。(tuning 参数可控)可侦测场景(外圈的平均亮度要高于内圈平均亮度 即蓝色大于橙+踪+黑)
ABL_offset计算
center_tar_lum = 50; /*图像中心区域的期望亮度*/
target_limit_low = 20; /*offset可调整得最小程度,20代表最终target最大可调整为base target的0.2倍*/
target_limit_high = 120; /* offset可调整得最大程度,120代表最终target最大可调整为base target的1.2倍*/ weight_inner_o = 20; /*内部外围窗口所占的权重*/ weight_inner_d = 20; /*内部下侧窗口所占的权重*/ weight_inner_c = 60; /*内部中心窗口所占的权重*/
center_luma = weight_inner_o* 橘色块+ weight_inner_d* 棕色块+ weight_inner_c* 黑色块
abl_target = cur_lum * ( center_tar_lum / center_luma)
abl_offset = abl_target - real_target
target_limit_low * real_target /100 < abl_offset < target_limit_high * real_target /100
ABL模块使能之后,根据当前图像的bv和evd得到bv_strength 和 evd_strength
计算公式如下:
bv_prob = bv_strength , evd_prob = evd_strength
abl_prob = ( bv_prob * evd_prob ) / 100
final_abl_weight = ( abl_prob * abl_weight ) / 100* face_weight //有人脸时 (其中abl_weight指参数设的值)
final_abl_weight = ( abl_prob * abl_weight ) / 100 //无人脸时
abl 可输出abl_weight , 用于smart gamma和第七组gamma 插值 。
Gamma = Smart_gamma*(1-abl_weight)+(第七组gamma)*abl_weight
调试流程— ABL 基础角度定标(前后摄)
确认base_angle 参数设置值
方法为:
拍摄raw图,通过raw图物体的成像方向来确定base_angle;(raw旋转多少度之后跟实际吻合)遵循以下规则设置参数。
RAW图物体成像方向与base_angle对应关系如下:
ABL_weight计算