这是一个发问的文章?????
#灵感# 终于也是要调AF的人了!!AF 我没调过
目录
以MTK 举例流程:
算法结构:
基础的两个自动对焦算法:
相关参数:
以MTK 举例流程:
1、首先图像进入相机,触发Monitor,第一时间判断图像是否稳定(正文里的粗体,代表有相关参数设置,可以在后文里看到粗略解释),图像是否改变或者稳定?
2、然后决定AF的搜索方式,依照不同的AF触发场景(TAF/CAF/Face AF)来设定参数。 然后决定AF的搜索方式是用CDAF/PDAF/LDAF/SDAF 。
- 如果选择了PDFA search,就以PD估算的target pos与confidence来协助search找到peak。
- 如果选择CDAF,就以Contrast AF的方式来做AF, search找到peak。
3、Search后得到的target pos,然后将lens移动到target pos。
4、再回到最开始Monitor判断图像是改变还是稳定。重复进行。
(AF的流程动作主要为:Trgger->Search->Move->Monitor)因此在hybrid AF之前需要决定search type。
算法结构:
1、获得当前帧图像
2、图像清晰度计算
3、下一步马达位置计算
4、马达驱动
驱动马达之后,从新获得新的帧图像,继续清晰度计算,获得信息对焦位置,不断循环,直到找到最高清晰度的马达位置,对焦完成
基础的两个自动对焦算法:
PDAF:PDAF执行粗略搜索。它通过相位差检测散焦强度,并使用散焦转换系数将相位差转换为电机的焦距。
详细参考:PDAF(相位对焦)-****博客
CDAF:CDAF执行准确的搜索。它使电机在最小和最大焦距范围内移动,并形成锐度和焦距的抛物线。从抛物线的顶点,CDAF可以找到最佳焦距和最高锐度。---对比度检测自动对焦
详细参考:反差检测自动对焦(CDAF)与相位检测自动对焦(PDAF)原理-****博客
聚焦曲线:在对焦调节范围内,每一个调焦位置都会对应一个锐度值,也就是聚焦值。这些聚焦值形成一曲线,通常称为聚焦曲线。锐度值通过锐度评价函数计算获得,锐度评价函数有时也称为聚焦函数。一个良好的锐度评价函数对应的聚焦曲线应该是一个如图所示的单峰曲线,并且曲线峰值对应的调焦位置即为准确聚焦的位置。
相关参数:
马达移动的最小、最大焦距范围:max distance, min distance
判断是否稳定,触发AF:StableTolerance(锐度差), Focus Num
锐度计算:可设置ROI权重表,weight table
PDAF统计计算:需要设置ROI 区域,置信度阈值,相位差阈值threshold,PDAF 稳定帧数。
CDAF的计算,常用爬山搜索法,可设置爬山步长,步长越大,计算速度越快,但电机可能会跳过最佳聚焦位。
高通 AF 参数:
HAF
Default ROI Size:
Width:对焦区域的宽占比
Height:对焦区域的高占比
Enable Section :根据项目情况选择对应算法,0为关闭,1为开启
PDAF
focus table:让pd能更平滑的推动,增加用户体验
Noise Table:改变精确扫描范围从而获得更高的对焦精度
Noise Gain
Noise Gain Multiplier:大于1的系数,可以等比改变fine search扫描范围(+-(Fine Scan Step Size*Noise Gain Multiplier+0.5)
Converge Done Filter:只有当PD当前帧position和前Length帧position平均差小于Threshold,PD才会判定对焦完成
Enable
Length
Threshold
Confidence Table:
Noise Gain
Minimum Confidence:当使用Noise Gain值时所得到的Confidence大于此设定的值时,会启用PDAF,反之则会走 CAF
Stable Table:
FPS
Minimum Stable Count:当帧率>=FPS的值时,Minimum Stable Count帧后才会触发
Focus Scan
Enable Fine Scan: 启用fine search(启用优先级高于Advanced Sparse Control)
Fine Scan Step Size:fine search的步长
Advanced Sparse Control
Enable For Sparse PD 开启fine search的开关
Skip Fine Scan :跳过fine search
Depth AF:
Fov Map
Depth Sensor Horizontal Shift :激光模组接受器中心到镜头中心的x与Y方向的偏移
Depth Sensor Vertical Shift
Contrast AF-------CAF
fullsweep
numStepsBetweenStatPoints :决定全扫时的步长,int型整数
Single Search
index:0-11 指马达的逻辑位置,0固定为0;11固定为399;1-10分别是7,10,14,20,30,40,50,60,120,300cm处进行 全扫得到的peak值
CAF Step Table
Prescan Normal Light :常光下粗扫步长
Prescan Low Light :低光下粗扫步长
Finescan Normal Light :常光下细扫步长
Finescan Low Light :低光下细扫步长
Hardware
Three Frame Decrease Decrease Peak Threshold
Threshold
Three Frame Increase Decrease Peak Threshold
Threshold
Flat Threshold
Threshold:对应不同gain下判断是否为平坦区域的阈值(<1),log中的BV_index值就是该数组的 下标
Optics
Search Region 1 :对于粗扫细扫region划分的依据,该值对应的标定距离数组的下标,
Search Region 2 :region划分为五段:0-region3,region3-region2,region2-region1,region1-无 限远,无限远-马达最大position
Search Region 3 :