摄像头模组 PDAF对焦(Phase Detection Auto Focus)

摄像头模组 PDAF对焦(Phase Detection Auto Focus)http://blog.csdn.net/sylorchen/article/details/54618912本文主要是最近看的两个文档的总结,相对零散的笔记,包括《imx298softwarereferencePDAF》与《PDAFTruly》。1、PDAF功能的实现需要使用到shieldpixel的概念,包括right-half-shield与left-half-

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

http://blog.csdn.net/sylorchen/article/details/54618912


本文主要是最近看的两个文档的总结,相对零散的笔记,包括《imx298 software reference PDAF》与《PDAF Truly》。

1、PDAF功能的实现需要使用到shield pixel的概念,包括right-half-shield与left-half-shield两种,起到模仿左右眼的类似功能,参考如下图片。

摄像头模组 PDAF对焦(Phase Detection Auto Focus)摄像头模组 PDAF对焦(Phase Detection Auto Focus)


2、shield pixels主要分布在芯片居中的92%范围内,其中的32×32规格的pixel array被标称为1个block,shield pixel在这一个block中的占比为1/64,即每个block中有16个shield pixel,right-half-shield与left-half-shield各8个,不同厂家之间组织方式会有区别,可能出于规避专利的问题。


3、使用PDAF功能是需要进行模组校正(Calibration),包括SPC(shield pixel calibration)与DCC(defocus conversion coefficient)。严格意义上讲,SPC功能才是正常的校正动作,而DCC功能非校正而是生成DAC与Focus的系数关系,进而实现PDAF功能。


4、SPC:为了实现PDAF功能,芯片的像素矩阵中,部分G pixel进行了遮光结构设计,光能信号比正常的G pixel要弱一些。因此,为了达到正常G pixel的能效水平,需要对此类型的G pixel增加额外的增益,此动作称之为SPC。校正前后的效果可参考下面图示,其中横坐标为像高对应位置,而纵坐标则为pixel感光效能。

摄像头模组 PDAF对焦(Phase Detection Auto Focus)


5、如上图所示,两根不同走势dash线分别表示right-half-shield与left-half-shield两种情况,通过调整pixel的增益,是的其效能水平与其他正常的G pixel一致。此校正过程使用的是纯白的背透式标靶,拍摄纯白标靶后通过线性插值获得各个对应位置的增益,并把此增益写入OTP位置,此OTP数据称为SPC Map,共两份Map,right-half-shield与left-half-shield各一份。


6、下图是SPC Map的组织方式,总共将成像区域划分为9×7个block,其中每个block包含512×512个pixels,最左上角的第一个block中心点为(280,212)。这63个blocks的中心点被称为Knots(绳子打结处的节点),生成63个插值后的数据,数据大概计算方式为G-pixel/PD-pixel,只有G pixel有shield pixel,其他没有。

摄像头模组 PDAF对焦(Phase Detection Auto Focus)


7、DCC:在讨论PDAF功能的时候,大部分情况下我们都会声称通过该功能模组能够知道当前被摄物的距离。其实我们并非物理上知道被摄物的距离,而是通过左右shield pixel之间的差异来将被摄物映射到镜头移动距离中的某个位置。系统在进行对焦的时候,需要将检测到的相位差(phase difference)转换为离焦率(Defocus Value),这个转换过程应用到的表单数据称为DCC(defocus conversion coefficient)。


8、DCC的测试计算方式包括如下的动作:

将模组的有效对焦行程切分为10等分,即(近焦DAC – 远焦DAC)/10,以此来覆盖马达的对焦范围;

在每个对焦DAC位置进行对焦,并记录当前对焦DAC位置的相位差;

完成马达对焦行程后取一组10pcs的对角DAC与获得的PD数据进行做比(PD/DAC);

生成10pcs相近的比值记为k,DAC与PD组成的二维数据进行描线可以通过算法拟合出逼近斜率为k的直线;


9、由于模组之间的个体差异,DCC需要每一模组单独测量,而且由于镜头的场曲、shading之类的问题,同一模组的四周与中心同样存在差异,不能以同一系数进行转换,一般而言四周的系数会比中心的系数要高一些。一般而言将区域划分为小的M×N个blocks,每个block通过上面⑧的过程获得单独的k。而后计算时离焦率跟离焦系数与相位差之间按如下的换算方式进行:Defocus Value = Phase Difference × Coefficient,如下图所示:

摄像头模组 PDAF对焦(Phase Detection Auto Focus)


10、DCC校正过程中,需要使用到黑白相间的背透式标靶,拍摄距离按照15cm进行。由于现行shield pixel只有L、R两个方向,所以校正标靶的黑白条案有走向要求,需要平行于LR shield pixel方向才能被识别并检测;——————————-此项待确认。


11、PDAF检测过程(from Truly document):

获得被摄物对焦位置的某一行或若干行的数据信息;

读取right-half-shield与left-half-shield数列信息;

使用right-half-shield与left-half-shield所生成的数列①中所获取的行信息进行卷积分计算(卷积分计算会是原来行信息只携带对应卷积序列的信息);

将卷积后的两个新数列做平滑微分插值等预处理,获得两个平滑切相对位移的数据;

将此两数据的相位差传入系统中,应用PDAF库及DCC数据进行计算获得离焦率;

通过该离焦率向马达下达对应DAC动作的指令并完成对焦;

上述是一个简单的原理介绍,实际的第⑤步骤中还需要混入置信区间的概念,以此作为是否合焦等的确认。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196487.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 猪脸识别,赢取30万大赛奖金[通俗易懂]

    猪脸识别,赢取30万大赛奖金[通俗易懂]买个彩票,无论中奖与否,完全靠运气。大数据与AI大赛,冠军奖金30w,咱们技术人靠实力。事件:JDD-2017京东金融全球数据探索者大赛一场面向全球AI与数据人才的人…

  • 初中python培训机构

    初中python培训机构都知道现在Python这门编程语言很火,那它究竟火到什么程度?可能互联网上铺天盖地的Python学习贴不够直观,求职平台上Python相关工资水涨船高,也离我们普通人太远,但——Python被纳入基础教育体系呢?浙江省八年级将新增Python编程课程风变编程得到最新消息,在2020年9月开始的新学期中,浙江省三年级到九年级信息技术课将同步替换新教材,而其中最大的变化是,八年级将新增Python课程内容。同时,新高一信息技术编程语言由VB替换为Python,大数据、人工智能、程序设计与算法按照教材规划

  • 伴随矩阵_伴随矩阵通俗理解

    伴随矩阵_伴随矩阵通俗理解$A^$是矩阵$A$的伴随矩阵:$$a^_{ji}=A_{ij}$$其中,$A_{ij}$是$a_{ij}$的代数余子式.方阵的伴随矩阵可用于求逆:$$AA^=|A|I

  • IOS越狱学习总结

    IOS越狱学习总结iOS越狱iOS越狱(iOSJailbreaking),是用于获取苹果公司便携装置操作系统iOS最高权限的一种技术手段,用户使用这种技术及软件可以获取到iOS的最高权限,甚至可能可以进一步解开运营商对手机网络的限制。中文名称iOS越狱外文名称iOSJailbreaking应  用电子产品类  型软件目录1简介2用途3针对的设备

  • uniqueidentifier类型_unique唯一索引

    uniqueidentifier类型_unique唯一索引INSERT语句:CREATETABLEMyUniqueTable(UniqueColumnUNIQUEIDENTIFIERDEFAULTNEWID(),CharactersVARCHAR(10))GOINSERTINTOMyUniqueTable(Characters)VALUES…

  • 千百撸

    千百撸千百撸(黄网)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号