大家好,又见面了,我是你们的朋友全栈君。
代码语言:javascript复制在自动对焦的时候总是有一个困惑,知道图像是不清楚的,但是lens应该向前还是向后移动呢?
总是要前后移动lens一下才知道,普通的反差法对焦就是这么做的,爬山嘛。PDAF的出现就是为了
解决这个lens移动的问题,可以根据图像,预判lens运动的方向。
PDAF最早运用在单反上,已经是非常成熟的技术了,原理如下图。
左图为CCD在焦后的情况,右图为焦前。当CCD在焦后时,在线阵CCD1和CCD2上会发现聚焦点CCD1的
在左,反之,则聚焦点CCD2的在左(图中红色标记的光线)。
代码语言:javascript复制这种方法需要加额外的一个半透半反镜,还需要加两个透镜,两个线阵CCD,结构复杂,不适用于
手机等便携式设备中。所以pdaf sensor应运而生。
PDAF sensor的原理和单反中的略有不同。
以轴上点为例,紫色光线代表经过上半部分透镜的光线,而蓝色代表经过下半部分透镜的光线,
可以看到,当CCD在焦前的时候,上半部分的CCD接收到的是上半部分的光线,而下半部分的CCD
则接收到的是下半部分的光线,反之,在焦后的时候恰好相反。那么如果我们可以区分光线是来
自透镜的上半部分还是下半部分,我们就可以知道是焦前还是焦后了。不难发现,CCD越接近理
想成像面,两色光线在CCD上所成像越接近,当恰好成像清晰时,两色光线是重合成一点的。
代码语言:javascript复制 PDAF sensor的一种实现如下图所示,在CMOS上面一半的位置加了金属遮盖,这样,被遮住左边
一半的像素点就只能接受左边来的光,同理,pair的被遮住右边一般的像素点就只能接受右边来的
光。一般在CMOS中,遮住左边和遮住右边的像素点是在相邻位置会成对出现。
代码语言:javascript复制按照这种原理,我们就可以知道,上图的轴上点发出的光在位于焦前的CCD上所成像应如下图所示。
横坐标为pixel的x轴坐标,以光轴中心为0,纵坐标是像素接收到的光强。可以看到,左边遮挡的
像素(L)和右边遮挡的像素(R)所得到的图像是关于光轴对称的。所以,我们可以通过求自相关
得到两个图像的shift,进而求得sensor需要移动的距离(当然要通过tunning获得这样的对应关系)。
代码语言:javascript复制讲到这里,应该是没毛病的,对于轴上一点,pdaf是可以有效的得到相位信息的。
那么对于轴外一点呢?如下图所示,当然也是可以的。
代码语言:javascript复制细心的可能会发现这里有个问题,轴上点和轴外点在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的准确性
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。