PDAF(相位对焦)的基本原理

PDAF(相位对焦)的基本原理今天来讲一讲PDAF(相位对焦)的基本原理。 在自动对焦的时候总是有一个困惑,知道图像是不清楚的,但是lens应该向前还是向后移动呢?总是要前后移动lens一下才知道,普通的反差法对焦就是这么做的,爬山嘛。PDAF的出现就是为了解决这个lens移动的问题,可以根据图像,预判lens运动的方向。PDAF最早运用在单反上,已经是非常成熟的技术了,原理如下图。左图为CCD在焦后的情况,…

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

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

今天来讲一讲PDAF(相位对焦)的基本原理。

 

在自动对焦的时候总是有一个困惑,知道图像是不清楚的,但是lens应该向前还是向后移动呢?总是要前后移动lens一下才知道,普通的反差法对焦就是这么做的,爬山嘛。PDAF的出现就是为了解决这个lens移动的问题,可以根据图像,预判lens运动的方向。

PDAF最早运用在单反上,已经是非常成熟的技术了,原理如下图。

左图为CCD在焦后的情况,右图为焦前。当CCD在焦后时,在线阵CCD1和CCD2上会发现聚焦点CCD1的在左,反之,则聚焦点CCD2的在左(图中红色标记的光线)。

PDAF(相位对焦)的基本原理

这种方法需要加额外的一个半透半反镜,还需要加两个透镜,两个线阵CCD,结构复杂,不适用于手机等便携式设备中。所以pdaf sensor应运而生。

 

PDAF sensor的原理和单反中的略有不同。

以轴上点为例,紫色光线代表经过上半部分透镜的光线,而蓝色代表经过下半部分透镜的光线,可以看到,当CCD在焦前的时候,上半部分的CCD接收到的是上半部分的光线,而下半部分的CCD则接收到的是下半部分的光线,反之,在焦后的时候恰好相反。那么如果我们可以区分光线是来自透镜的上半部分还是下半部分,我们就可以知道是焦前还是焦后了。不难发现,CCD越接近理想成像面,两色光线在CCD上所成像越接近,当恰好成像清晰时,两色光线是重合成一点的。

PDAF(相位对焦)的基本原理

 PDAF sensor的一种实现如下图所示,在CMOS上面一半的位置加了金属遮盖,这样,被遮住左边一半的像素点就只能接受左边来的光,同理,pair的被遮住右边一般的像素点就只能接受右边来的光。一般在CMOS中,遮住左边和遮住右边的像素点是在相邻位置会成对出现。

PDAF(相位对焦)的基本原理

按照这种原理,我们就可以知道,上图的轴上点发出的光在位于焦前的CCD上所成像应如下图所示。横坐标为pixel的x轴坐标,以光轴中心为0,纵坐标是像素接收到的光强。可以看到,左边遮挡的像素(L)和右边遮挡的像素(R)所得到的图像是关于光轴对称的。所以,我们可以通过求自相关得到两个图像的shift,进而求得sensor需要移动的距离(当然要通过tunning获得这样的对应关系)。

PDAF(相位对焦)的基本原理

讲到这里,应该是没毛病的,对于轴上一点,pdaf是可以有效的得到相位信息的。

那么对于轴外一点呢?如下图所示,当然也是可以的。

PDAF(相位对焦)的基本原理

细心的可能会发现这里有个问题,轴上点和轴外点在CCD上面的成像会彼此交叠,这样,应该会对pdaf的效果产生影响的。好在我们平常的场景中,一般都有一些中低频物体,那么对这些物体的话应该是影响很小的。

 PDAF的最终效果还和什么有关系呢?

1. 相机的F数,F数越小,PDAF的效果越精确。F数越小,景深越小,那么在物体离焦时,得到的弥散斑越大,L和R的shift越大

2. 相机的曝光时间理论上不影响PDAF的效果,但是如果曝光时间过短,图像噪点过大,是会造成pdaf的L和R shift不准确的

3. 物体距离相机越近,pdaf的效果越精确。物体距离相机越近,物体移动相同距离的shift比在物距远时要大,这个跟景深是吻合的

4. 物体的pattern,当物体的pattern呈某种特定形状,会使得pdaf的像素检测不到shift,比如纯色或重复的pattern

5. 轴外点的精度低于轴上点。同样的离焦情况下,轴上点的shift比轴外点要大。

6.物体本身的颜色。当pdaf的像素都是G时,如果物体本身的颜色为R或者B,则会导致pdaf接收到的光能过小,从而影响pdaf的准确性

 

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196287.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c酒店管理系统代码_酒店管理系统

    c酒店管理系统代码_酒店管理系统主要功能:1.添加员工信息2.显示员工信息3.删除员工信息4.修改员工信息5.查找员工信息6.员工信息排序7.清空数据(1)显示数据(2)修改数据(3)查找数据(4)信息排序部分代码展示:workerManager.cpp。需要完整代码可以留邮箱,有时间就发#include”stdafx.h”#include”work…

    2022年9月24日
    1
  • 弹性网络回归模型_数据模型剪枝

    弹性网络回归模型_数据模型剪枝本文首发于PandaCV公众号。导语:模型剪枝算法核心在于找到“不重要”的参数并且实现裁剪。为寻找到较优的剪枝策略,我们往往需要尝试多种剪枝策略和剪枝策略性能评估。通常剪枝策略评估方法是将剪枝后的模型训练到收敛或者训练规定好数量epoch后进行性能比较。不管是人工调试剪枝策略还是自动搜索剪枝策略,都需要多次评估剪枝策略。剪枝策略的评估效率一定程度上影响了整体压缩效率。因此,本文提出了一种能够快速衡量剪枝后模型性能的方法,经实验能够对MobilenetV1减少50%的FLOPs情况下,仍能保证在Image

    2022年8月16日
    15
  • pycharm如何打开原来的项目_terminal怎么打开

    pycharm如何打开原来的项目_terminal怎么打开Pycharm的下方工具栏中有两个窗口:PythonConsole和Terminal(如下图)其中,PythonConsole叫做Python控制台,即Python交互模式;Terminal叫做终端,即命令行模式。Python交互模式主要有两种:CPython用>>>作为提示符,而IPython用In[序号]:作为提示符。Python交互式模式可以直接输入代码,然后执行,并立刻得到结果,因此Python交互模式主要是为了调试Python代码用的。命..

    2022年8月28日
    4
  • hdu 3336 Count the string 用心写的题解

    hdu 3336 Count the string 用心写的题解ProblemDescriptionItiswellknownthatAekdyCoinisgoodatstringproblemsaswellasnumbertheoryproblems.Whengivenastrings,wecanwritedownallthenon-emptyprefixesofthisstring.Fo

    2022年7月23日
    8
  • JDK1.8 中的双冒号::是什么语法?

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:Java实用技术 www.toutiao.com/i6807719546158318092/ 简洁 方法引用 …

    2021年6月25日
    84
  • 局域网内实现不同网段ip通信_局域网不同网段互访

    局域网内实现不同网段ip通信_局域网不同网段互访1.使用场景电脑使用网段ip为172.23.0.0/16,设备ip为192.168.1.0/24。将电脑和设备通过交换机连接起来,满足了电脑和设备处于同一局域网不同网段,不能进行网络通信。为了能够进行通信,比如,进行设备的密码重置等,都需要能够通信才能完成。2.参考方案可以在电脑的网络设置里的高级配置中,添加一个和设备处于同一网段的ip。需要注意的是,添加的ip之前要先使用ping命令判断局域网中是否存在相同ip的设备,为了避免ip冲突。有时你会发现ping不通的ip,添加之后也有不通的情况。这

    2022年9月12日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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