3A之AE篇7

3A之AE篇7 曝光场景中出现大面积黑色物体曝光怎么处理这个问题其实在上一篇中已经有过回答。由于曝光目标值的设定是以18%中灰为基准的当场景中出现大面积黑色物体时实际的反射率是低于18%的此时应对曝光目标值增加一个负向的曝光补偿防止出现正常场景过曝的情况。本章节中我将更详细的讨论这个问题。首先是自动曝光算法对大面积黑色物体场景检测的问题。最理想的方法当然是通过AI进行场景检测并输出黑色物体的占比。根据黑色物体的占比进行相应的曝光补偿。如果无法通过AI检测则可以通过统计数据中的亮度直方图计算低亮度像素如最大亮度的5%占比当占比超过阈值时则认为当前场景中存在大面积黑色物体。如下图中所示当场景中出现大面积黑色物体时直方图中有比较明显的体现。其次关于测光策略选择的问题。在进行统计亮度计算时应根据黑色物体占比适当降低暗区权重甚至排除暗区不进行统计。同时应适当提升高亮区域权重防止出现过曝的情况如果黑色物体也参与亮度统计正常亮度的物体很容易出现过曝。第三曝光目标值的设定。场景中出现大面积黑色物体时应对曝光目标值增加一个负向的曝光补偿。补偿值的大小可以根据黑色物体的占比及其反射率进行动态计算。最后关于控制策略应防止出现死循环及亮度闪烁问题。首先看死循环当算法检测到场景中出现大面积黑色物体时会对曝光目标值进行负向补偿则画面亮度会慢慢压暗。这有可能导致算法检测到的黑色物体占比增加从而导致负向的曝光补偿增加画面进一步变暗黑色物体占比进一步增加导致算法陷入了死循环。而闪烁问题可能是由于不同亮度块的统计权重及黑色物体判断阈值造成的。比如同样的当算法检测到场景中出现大面积黑色物体时会对曝光目标值进行负向补偿则画面亮度会慢慢压暗黑色物体占比增加可能导致整体统计亮度偏低算法拉升亮度黑色物体占比减小统计亮度增加算法压低亮度这样就出现了亮度闪烁。出现这种情况的原因主要是统计策略的问题即由于黑色物体占比会随着亮度变化这就有可能导致算法调整后实际统计亮度和算法预测亮度相差甚远。以上两种情况都是我基于假设的情况进行模拟的。在进行算法设计时为避免出现以上情况权重参数的设计应尽量避免硬阈值以及数值突变设计曝光补偿等参数应尽量进行时域上的低通平滑滤波避免出现参数震荡。更多的细节则需要我们在算法开发及测试过程中进行更深入的分析和了解。