• 非人脸场景AE模块调试方法及其合理性分析


    对于大部分非背光的场景,都会使用HS和MT这两个模块,先分别对两个模块的调试方法机器合理行进行一定的分析;

       MT模块调试方法及其合理性分析:

          MT模块主要的就是根据BV设置Target,那么我们应该考虑的是BV拐点如何设置比较合理,Target范围怎样设置比较合理,第一步,我们从其他相似项目上拿过来的参数就已经有他的合理性,那么我们根据自身项目需求进行一定的调整是合理的,但是如果你发现你调整的的幅度比较大的时候就需要充分考虑它的合理性了。Target数值意义在与场景的反射率,对于满足灰度世界算法的场景他的平均反射率是18%*255~=47,基于这个值和实际表现进行一些调整,比如MT Target设置88这合理吗,显然是不合理的,按照经验最大70左右就已经是比较算大的了,再者我把Target设置我30这样合理吗?显然也是不合理的,MT Target设置只要考虑与灰度世界算法结论相差不大的场景,其他场景不能用MT来满足,否则就会出问题。那么我Target设置好之后,根据什么样的环境亮度来选Target比较合理呢,这个跟target的范围也有一点关系,但是主要还是要用BV区分出室外高亮环境和低亮环境,如图BV上线8500,大于这个BV场景就是太阳比较大的天气且天空占比有一定层度的场景,对于这样的场景它的平均反射率已经比较高了,我们设置的target可以适当高一些。BV下线要体现出暗环境跟室内正常亮度环境的区分,我们正常室内环境亮度应该在2500+这样子,不同项目根据实际会有所区别,在正常室内亮度的Target设置50+是比较合理的,不用想那夜景不久会过曝了吗,夜景有NS可以调整,我们MT不把Target范围设置那么大是为了保证MT控制场景的精度。一般它的Target设置在45-70这个范围是没有问题的,BV根据实际场景表现也可以进行调整。

     

    HS调试及其合理性分析:
       HS要捋清楚不同BV、EVD的时候应该设置怎样的Target合理,已及OE、纯色、蓝天机制等对HS Target计算的影响,当需要调整HS的时候首先不是哪里红框调哪里,首先需要考虑当前有没有被OE、纯色、蓝天机制等这些模块影响,如果没有,是否这些场景应该走这些模块但没有走,如果应该走而没走,怎么样让他走;如果走了这些机制,是被这些机制正优化还是负优化,如果是正优化,是否还有增强优化的空间;如果是负优化,就要想办法去除它的影响。
       参数设置的合理性:
           不同EVD的场景表示动态范围不同的场景,EVD小的时候,就是比较亮度范围比较均衡的场景,比如白墙,雪景等,这类的场景Target不能太高,否则就会导致过曝或者过亮,所以一般EVD小的THD要比EVD大的THD大,如右图,从左到右必须严格递增,且建议设置范围在100 - 230左右。
      不同BV的场景表示环境亮度不同,比如夜景BV比较小,室外高亮场景BV就比较大,所以有图从下到上必须遵循严格递增。
            PCNT0-PCNT6是不同BV环境下用于计算HS_Y的百分比参数,比如50,就是从最亮开始,5%的pixle的亮度平均值就是HS_Y,这个PCNT建议在3%-8%之间,且相连BV之间不要差异过大,否则就会导致亮度跳变的情况。

     

    ABL调试及其合理性分析:
       
       ABL针对的是背光场景的亮度提升,HS有根据EVD的不同设置不同的target,但是这个EVD的计算方式并不能准确的体现出不同背光的场景,所以在背光比较大的时候就需要ABL机制来进行提亮,所以ABL是要在HS模块满足不了的场景下使用,所以触发条件的设置就尤为重要。
        EVD的计算方式以及根据EVD计算sFgBgEVRatio,这个值越大,就说名背光层度越大,ABL的权重就会越大,我们需要根据实际场景表现,准确设置EVDiff和EVDiffprob这几个拐点,如何设置呢?根据实际场景的表现来,我们先收集不同背光层度照片,查看他们的表现,对于背光层度比较低的场景,看看他的ABL EVD是多少,然后确定右图的x1点的设置,然后根据背光层度最高的场景,查看其ABL EVD是多少,确定x2点,然后调整Y2使其亮度达到要求即可。
         BV prob的设置根据实际场景表现来,一般BV比较小的时候Prob会设置的低一些,防止暗环境提亮导致发雾,具体怎么设置根据多暗的环境下当前效果不需要ABL来提亮进行确定。
       另外还需要注意的是ABL的一些限制条件,限制条件1的意义在于设置中心亮度多少的情况下我们认定为ABL场景,这个条件默认一般都设置比较大。
    条件二的意义在于ABL的target必须大于HS_Target,就想前面说的,ABL是HS不能满足亮度提升的基础上才用ABL.条件3的意义在于ABL机制的Target不能大于我们设置的最大值,u4TargetStrenth=final target limit / 128
        ABL的THD是直接设置一个参数,即u4Thd,这个值的设定需要主意不能太大,否则会导致过曝,根据需要一般设置在20-26即可,亮度的调整尽量用权重区分开来,不能以为随便增加Thd
         统计ABL_Y值的Pcent一般保持默认即可,不建议修改。

    NS调试及其合理性分析:
       
       NS机制的存在也是为了弥补HS的不足,为什么呢?HS区分环境量的只能通过BV来区分,但是这样有个缺点,就是室内较暗环境和夜景很难区分开来,室内较暗环境我们希望提亮一些,但是夜景为了要保证亮部细节又不希望提的很亮,这就冲突了,所以HS的设定都是满足室内较暗环境能够提亮,这样的Target就会导致夜景偏亮或者过曝,所以NS机制就有它存在的价值了,
        NS为了能更好的区分室内暗环境和夜景,在保留了BV区分条件下,引入了CDF模块,他的原理就是从暗部开始统计u4Pcent数量的pixle的相应的统计值,根据这个值还map一个prob。
        NS的prob需要把握准确,什么时候要用NS,什么时候不用,在HS调整稳定后,结合实际场景的表现调整Prob。
        NS会计算三个Target,最终使用最大的那个target,我们主要是要搞清楚不同target计算的不同指出,判断好什么时候应该用哪个target,然后根据之前的文档说明调整Target的大小即可。
        NS的Target的设置都会比HS的小,一般设置在25-35这样子,根据实际需要进行调整,
         涉及到用于统计的Pcent一般都不建议修改,否则容易出问题。

     

     

     

     

     

  • 相关阅读:
    [SpringBoot] 自定义spring-boot-starter
    陇剑杯2023WriteUp学习笔记【初赛】
    《算法导论》学习(十五)----二叉搜索树(C语言)
    Linux——03(Shell命令介绍、帮助命令、常用命令(文件目录类、echo > head tailf ln history))
    nextTick源码解读
    Springboot注解
    练习4
    平衡二叉搜索树(AVL)——【C++实现插入、删除等操作】
    Prototypical Networks for Few-shot Learning
    Linux之ansible(playbook)超详解
  • 原文地址:https://blog.csdn.net/m0_72053187/article/details/126019848