解析力 (1 )TV line/MTF/SFR
基本概念
成像系统的解析力一直是摄像头最关键的指标之一。所有用户拿到一张照片的时候首先看到的是照片清楚不清楚,这里的清楚说得就是解析力。但是如何评价一个成像系统的解析力也是大家一直在探讨的问题。目前主流的办法主要有三种TV line检测,MTF检测,和SFR 检测。
TV line
TV line主要用于主观测试,也有一些读取TV line的软件如HYRes。但是总体来说没有一个具体的标准。大多数公司是以人的读取为标准。不同人的读取,以及状态的不同都会导致读取值的不稳定。而且如ISO12233 chart 实际上我们读出的线对数只能代表读出位置的状况。尤其中心的TV line跨度很大,很难反映一个成像系统。
MTF
MTF是Modulation Transfer Function的英文简称,中文为调制传递函数。是指调制度随空间频率变化的函数称为调制度传递函数。个传递函数最开始是为了说明镜头的能力。在各个摄像头镜头中经常采用MTF描述镜头的MTF曲线,表明镜头的能力。这些曲线是通过理想的测试环境下尽量减少其它系统对镜头的解析力的衰减的情况下测试得出的。但是其实MTF也可以涵盖对整个成像系统的解析力评价。在这里咱们就不多讨论这个问题了,如果有兴趣可以开另外一篇文章讨论。
SFR
SFR是 spatial frequency response (SFR) 主要是用于测量随着空间频率的线条增加对单一影像的所造成影响。简言之SFR就是MTF的另外一种测试方法。这种测试方法在很大程度上精简了测试流程。SFR的最终计算是希望得到MTF曲线。SFR的计算方法和MTF虽然不同但是在结果上是基本一致的
测量方法
现在我们来看一下传统的MTF是怎么测量出来的,后面我们再针对SFR的原理和MTF的关系进行一些介绍。在以后的文章中我们在介绍一些MTF和SFR测试需要注意的问题。 从上面我们知道MTF是描述不同空间频率下的调制函数。那么什么是空间频率呢?通常,描述频率的单位是赫兹(Hz),比如50Hz、100MHz之类的。但空间频率的表述习惯用“每毫米线对”。(LP/mm),就是每毫米的宽度内有多少线对。每两条线条之间的距离,以及线条本身的宽度之比是个定值,目前我国分辨率的标板规定,这个定为公因子是20√10≈1.122等比级数。一般MTF的计算离不开线对。下面这个图就是一张不同频率的线对测试图 ,可以看到图卡本身黑色和白色的对比是很清楚的。
实际拍摄的时候,就像上图一样频率越高(越细)的线对就越模糊。这就是我们实际拍摄场景中到一定小的纹理的就拍摄不清楚的原因。而MTF的计算就是计算线对间最亮和最暗线对的对比度。计算公式为
MTF = (最大亮度 - 最小亮度) / (最大亮度 + 最小亮度)
所以MTF的计算不会出现大于1的情况。像下面的图表示的这样,当我们测试了很多不同频率下的MTF值。通过将这些值和空间频率进行一一的对照。通过这条曲线我们就能知道现在的成像系统在什么样的空间频率下的对比度如何。
SFR是怎么测试和计算的呢。首先SFR不需要拍摄不同的空间频率下的线对。它只需要一个黑白的斜边(刀口)即可换算出约略相等于所有空间频率 下的MTF。如何通过一个斜边计算出大家可以去看下ISO12233-2000那篇文档,里面说的很详细。具体的流程如下图。
其实简单得来说呢,SFR是通过这条斜边的图进行超采样的到一条更加细腻的黑白变换的直线(ESF)。然后通过这条直线求导得到直线的变化率(LSF)。然后对将这个变化率进行FFT变换就能得到各个频率下的MTF的值。这里面的ESF,LSF,都是什么呢?
点扩展函数PSF(Point Spread Function)、线扩展函数LSF(Line Spread Function)和边缘扩展函数ESF(Edge Spread Function)是SFR 计算中的几个重要的概念。点扩展函数PSF是点光源成像后的亮度分布函数,如下图所示,用PSF(X,Y)表示。点扩展函数是中心圆对称的,通常以沿x轴的亮度分布PSF(X,Y)作为成像系统的点扩展函数。
当获取点光源像的亮度分布函数PSF(X,Y)后,对其进行二维傅里叶变换即可得MTF (u,v)。因此,从理论上讲,从PSF也是获取MTF的一个方法。但是,在实际的应用中,由于地面点光源强度很弱,此方法一般较少采用。相对于PSF来说,LSF的能量得到了一定程度的加强。SFR计算MTF就通过ESF来得到LSF然后进行FFT得到MTF各个频率的值的。这几者之间的关系如下图。
说实话光从这几个数学公式还是不好理解为什么ESF可以求出MTF。换一种角度理解LSF就是一条线上(ESF) 的变化的过程。对于任意一条线由黑变白的过程是由不同频率的黑白线对组成。因此可以反过来通过分析一条线得到这些频率下的 (FFT)。
转自:https://zhuanlan.zhihu.com/p/20726167
解析力 (2)空间采样 和 奈奎斯特
MTF曲线的横坐标是空间频率。一般使用黑白交替的线对来表示空间频率。而空间频率的单位一般是线对每毫米(lp/mm),周期每毫米(cycles/mm),周期每像素(cycles/pixel),线宽每图像高(LW/PH Line Widths per Picture Height),线对每图像高(lp/ph)。其中lp/mm是目前使用最多的单位。cycles/pixel是在数码相机中的成像系统的。数码相机下一个像素就是1 cycles/pixel,两个像素就是0.5 cycles/pixel,4个像素是0.25 cycles/pixel.其它单位的计算如下,纵向是已知横向是未知。
当知道了空间频率的单位之后又有了一个问题。到底用什么样的空间频率去评价MTF合适呢?这个时候经常能看到一个名词奈奎斯特(Nyquist)频率,这是来自采样定律。奈奎斯特和成像有什么关系呢? 数字相机的Sensor在成像过程中就相当与对镜头成的模拟像进行空间数字采样。 奈奎斯特采样定理是指在进行模拟与数字信号的转换过程中,当采样频率大于信号中最高频率的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,但是一般实际应用中保证采样频率为信号最高频率的5~10倍。数码相机的Nyquist取决于pixel 的大小.根据前面给出的空间频率单位转换公式。
对于给定的Pixel size的sensor
Nyquist 频率= 1000[µm]/(pixel_pitch [µm]X2)
评价MTF使用的奈奎斯特频率(Nyquist频率)是离散信号系统采样频率的一半,也就是一个方向上的像素数一半。采样定理指出,只要离散系统的奈奎斯特频率高于被采样信号的最高频率或带宽,就可以避免混叠现象。但这只是理论上。我们先看下一个接近奈奎斯特频率的频率的采样过程。当然下面的成像过程都是基于一个理想的没有MTF衰减的镜头的情况下。我们实际的像素对正弦图卡的采样过程可以模拟为
而在采样理论中的采样过程中类似下图。两个采样点之间的周器和数字成像系统的像素一样。但是希望采样点能够尽量小。
采样定理中的只要小于奈奎斯特频率频率都可以被采样还原是有两个条件的。
- 采样点的尽量小,而我们的像素大小实际上接近于
- 重建信号的过程需要以一个低通滤波器或者带通滤波器将在奈奎斯特频率之上的高频分量全部滤除,同时还要保证原信号中频率在奈奎斯特频率以下的分量不发生畸变。
这两者在图像系统中都很难满足。因此很多时候即使采样过程中信号的最大频率小于奈奎斯特频率频率依然无法很好的得到采样还原。
即使选取一个略小于奈奎斯特频率频率的正弦图卡。当发生相差的时候像素就很有可能无法正确采样出来实际图卡的原来的形状。但是多数情况下使用理想的采样模型是可以将原有信号正确的采样出来的,下面两张图是相差的影响对实际像素的采样影响。
前面提到当频率高于奈奎斯特频率的时候会产生混叠现象。混叠(aliasing) 在信号也称为叠频;在成像上称为叠影,叠影会产生伪纹也就是平常说的摩尔纹。下面的就是一个高于Nyquist频率的频率产生伪纹的采样情况。
从采样的一般规律来说如果要消除上面这些相差和混叠的影响就需要提高采样的频率。对于常用的采样频率我们可以参考示波器。示波器是一个常用的采样系统,一般示波器的采样频率在被采样频率的5到8倍。但是数字成像系统不同于示波器的是采样的频率在感应器被确定了之后就已经定了。更多的我们是希望知道原有图像在什么频率下分析成像系统的品质更合适。图像采样的过程中肯定是频率越低的图像越清晰。但是一般什么频率的图像是采样的清晰度是应该可以很好的分辨呢。根据如下图一样的仿真和经验,一般能很好分辨的频率在每个线对4个像素左右,也就是1/2奈奎斯特频率.。下面两张图是在1/2 Nyquist频率采样的情况
没有相差的1/2 Nyquist频率采样的情况
有相差的1/2 Nyquist频率采样的情况
我们可以看到在1/2 Nyquist下即使有相差,也可以基本上还原原有图像的形状了。但是这只是仿真像素的采样过程中,在实际测试过程中由于镜头,噪声和测试环境影响在1/2奈奎斯特频率附近测试MTF值很不稳定。因此也经常选取更低1/4奈奎斯特频率作为MTF测试值所选取的频率。不过MTF的评价并不是简单的看一个频率就可以评价一个成像系统的效果,MTF曲线是一个整体。
转自:https://zhuanlan.zhihu.com/p/20726175
镜头MTF测试解析
成像清晰度是镜头优劣的重要指标之一,在镜头制造业笔者见过简易的逆投影以及更精准的镜头MTF测试,本文要讲述的是后者设备测试原理及如何通过测试数据判断镜头的品质。
测量MTF的设备,首先需要一个极微小发光体,通过被检测镜头成像,然后选择合适的高倍物镜放大并成像到设备CCD上,将图像传输到电脑用专用软件分析光强度分布,最终通过傅里叶变换计算得出MTF。
测试光源
MTF 测试中常用三种发光体:点,狭缝,刃边。以下将逐一介绍如何用这三种光源。
点光源
一个理想的点光源可以看成是XY方向上无限小的物体,其能量分布用二维脉冲函数δ(x, y)来表示。理想的点光源经过由像差的光学系统后,所成的像会形成一个弥散斑,其光强分布即光学系统的脉冲响应,也被称作点扩散函数PSF(x, y)。如下图所示。
我们用一个与位置有关的函数h(x, y)来表示脉冲响应的光强分布,用“*”表示成像过程的卷积操作,则一个理想输入f(x, y)经过光学系统成像后再像面的强度分布g(x, y)可以表示成:
g(x, y) = f(x, y)*h(x, y)
对上式两端分别进行二维傅里叶变换,有
G(fx, fy) = F(fx, fy)H(fx, fy)
式中,G(fx, fy),F(fx, fy)和H(fx, fy)分别是g(x, y),f(x, y)和h(x, y)的傅里叶变换,fx和fy是频域中沿两个坐标方向的空间频率。函数H(fx, fy)就是我们要求得到的光学传递函数(OTF)。OTF是一个包括实数和虚数两部分的复变函数,可以写成下述公式:
OTF(fx, fy) = |H(fx, fy)|expφ(fx, fy)
其中,实数部分|H(fx, fy)|就是我们要得到的MTF。
狭缝光源
因为点光源提供的能量较弱,而且得到理想的点光源也比较困难,所以常用的方法是用狭缝来产生线光源。如下图,多个点光源(间隔无限小)假设沿y方向排列形成一维光源,各发光点不相干,则等效狭缝可以看成y方向为常量,以x为变量的delta函数。可以用下式表示:
f(x,y) = δ(x)l(y)
狭缝的沿X方向的光强度分布就是线扩散函数LSF,所以狭缝成像的光强度分布g(x, y)可以表示成:
g(x, y) = LSF(x) = f(x, y)*h(x, y) = [δ(x)l(y)]*PSF(x, y)
刃边光源
如果在某些条件下狭缝提供的能量还是不够,那么就需要用到刃边作为光源体,通过边缘扩散函数ESF求导得到LSF,间接计算出MTF。
点光源、狭缝、刃边的测试方法除了提供能量不同之外,差异还包括点光源可以同时计算任意角度的多个方向的MTF,狭缝和刃边一次只能计算一个方向的MTF。由于CCD采集信号噪声的影响,狭缝相比点光源有更高的测量精度,刃边比狭缝多了一次求导,会使得噪声增加。所以三者相比之下,狭缝LSF是比较稳定的测量MTF方法,德国trioptics公司使用的就是狭缝LSF测量法。
MTF分析实例
因为暂时没有模拟LSF图像的方法,下面笔者以点光源模拟成像和模拟计算MTF的数据来说明如何分析MTF。
选用镜头规格 1/2.6” I.H=3.432mm, F2.2, FL=4.42mm。
镜头放置在测量设备上(假设点光源在物体侧),设备机构如果事先有校正,测试开始后,应该很容易找到中心视场成像如下,随后设备会测量中心点像的离焦MTF,过程模拟如下:
a) 搜索到中心视场的点像,记录下此时defocus位置P0
b) 从P0 - 0.03位置开始摄取点像并计算MTF,假定step为0.01,测到P0 + 0.03。 (如果焦深很大,则P0两侧的defocus测定范围也要相应的扩大)
7个defocus位置的MTF近似绘制MTF through focus曲线,设备软件计算出peak位置,并移动物镜对焦在peak位置上
如果测量的是mtf vs field(0~1.0field,step 0.1field),那么接下来测量过程如下:
因为是点光源,所以T.S两个方向一次全部计算出来了,各视场MTF连起来曲线如下:
这个过程同样可以输出mtf vs frequency如下:
如果要测量周边视场的mtf through focus曲线,则每个视场都要重复步骤b。
1.0field T.S example
各defocus的MTF连起来即为下图。
以上即为MTF实际测量的过程,原理很简单。鉴于以上MTF及点像是镜头设计值输出,下面输出一组包含tolerance的数据。为简化输出,field设定+/- 0.8, +/-0.6, +/-0.4, center。
其MTF vs field数据如下,是颗很差的镜头,尤其是T方向差。
各视场MTF through focus数据如下:
从mtf through focus曲线看出,像面tilt是MTF NG的主要原因。以+/- 0.8F为例,我们看看through focus的点像如何。
从上图很容易看出,Y轴方向代表T,-0.8field在defocus-0.01是Y方向光线汇聚最佳的,而+0.8field在defocus 0.02的时候Y方向最汇聚,但是X方向却发散,意味着S方向在defocus +0.01汇聚最佳。要矫正+/- 0.8field,可以选择倾斜sensor,使sensor image plane 正方向落在defocus 0.01mm位置,而负方向落在-0.01mm,此时系统拥有最佳的组合解析力。因此镜头的测试不仅可以鉴别镜头的质量也可以为成像系统的设计增加更多依据。
转自:https://zhuanlan.zhihu.com/p/20735525
解析力(3)拍摄距离和对焦方法对SFR的影响
大多数的文章介绍了读取MTF的曲线的规律。如下图不同的曲线位置代表了实际成像在不同频率下的清晰程序。这种读的方法是科学。但是实际上SFR曲线和在实际的拍摄效果是否有具体的对应性?或者说日常的测试中SFR测试结果是否和实际拍摄有对应性呢?这个才是很多人所关心的。一直以来实际拍摄TV line和SFR的测试在很多时候是否能够有对应性也是很多公司在想使用SFR之前的最关心的问题。有些公司在最开始使用的时候发现对应性没有想象的好后来就停下来了。本篇文章主要是从拍摄距离和对焦方法上对SFR影响以及和TV line对应性上影响。
本文使用的全部是从手机模组取得RAW图进行对比。排除了ISP处理和tuning对于解析力的影响。
在实际手机摄像头客观测试过程中,为了评价方法简单,现在厂商不会去分析整个SFR的曲线而是单独的调取1/4Nyquist,或者加上1/2 Nyquist频率的数值。这样没有整个曲线更客观,而且单独一点的数值由于测试误差可能会有小幅波动。但是从整体上来说,当模组的硬件确定了之后SFR曲线的下降斜率差并不大,因此这种测试方法一定程度上可以满足现在的需求。不过相信随着以后的发展肯定会有更精细的管控方法。
手机摄像头模组由于模组的体积和进光量的影响。模组的边缘视场的解析力会相对低于中心的解析力。目前大多数的手机制造厂在使用TV line测试解析力的时候都会测试边角和中心的解析力。SFR的测试也是如此,现在大多数的SFR测试都是管控边角不同视场和中心的SFR值。不过SFR和TV line在管控上面有些不一样,一般SFR管控是某个位置是否过某个最低的值,而TV line则是极限能看到多少线。借用以前的图,当某个频率的SFR值低于一定的时候一般就无法分辨了。目前这个值多数情况认为是20,也有些文章介绍是15左右
首先介绍下目前的比较常见的TV line和SFR测试方法。
比较常见的手机摄像头多数为4:3的最大分辨率。实际使用最多的ISO12233测试图卡为16:9,现在多数的做法为拍摄三张图片来评价中心和边角。
但是这样拍摄也会有问题当AF模组拍摄边角的时候因为中心部分纹理对焦容易有问题。因此有的公司在实拍的时候会在中心左右贴一张有更多纹理的图片。即使这样,在评价的时候也很难判断中心的对焦情况。相对更好的做法是专门根据ISO的样子设计一张4:3的图卡。这样不仅可以减少实际拍摄的过程中的工作量,而且对焦的时候得状态相对更好判断。
这里介绍解析力的TV line拍摄,并不是我觉得TV line的拍摄方法很好。TV line的拍摄确实有很多问题。尤其使用ISO12233 chart,判别解析力的位置范围过宽,中心位置的解析力从中心已经到了0.4视场,边角的判别在0.6和0.8之前。能判别解析力的位置很少,没办法反应整颗模组在不同区域的解析力。但是在很多公司里面由于这些拍摄很直观简单,容易被接受,所以依然是使用最多的的主客观测试的方法。
下面这张图是一张比较常见的SFR测试涂卡。在对角线上分布着不同的倾斜黑色小方块。通过取斜边来计算SFR。
在这里需要注意的是我们测试SFR一般在电子成像上为了计算方便会选用H和V方向。这和数字图像的存储方式和计算有关。而且这个和TV line判定的竖直方向和水平方向是一致的,在看对应关系的时候这点也很重要。V方向的斜边对应水平平行的TV line,H方向的斜边对应竖直平行的TV line。
就和公众号上Jerry中说的。每个模组在不同区域的H&V方向的SFR测试可能都不一样。为了更准确的评价图像的质量SFR的测试视场和位置也在增加。但是由于很多公司的原有测试人员还在习惯TV line的测试很多人就会有一个问题。SFR的测试结果和TV line是否能有对应关系。为什么我的模组拍摄的SFR 和TV line的对应关系不好?
在这边文章里我们不讨论SFR测试误差控制不好的问题,因为控制好SFR测试的误差是SFR测试的最基本一环。能够影响SFR测试结果的准确的问题很多,如何减少误差以后可以再分析。
在这里要说明的是一些常见的TV line和SFR拍摄距离和对焦的差异导致的TV line和SFR对应不上的情况。从定焦模组开始,在这里挑选了几颗模组在两个不同距离下H方向的SFR的差异。
从数据来看我们可以发现一颗模组在不同距离上的SFR值在变,而且不同位置上的值的高低对应关系也在变化。这多数是由于镜头和Sensor匹配后导致的焦点没有落到sensor平面上导致的。由于SFR值都在变化,因此选取什么值作为和TV line进行比较呢?在这里拍摄距离就很重要了。
对于定焦模组测试的距离和实际拍摄距离决定了SFR和TVline的对应关系。只有相同拍摄距离才能同样反应相同的清晰程度。比如你在40CM的距离下面拍摄的TV line没有办法很好的和60CM的SFR值进行匹配。下面是一些50CM测试SFR和TV line图片的对应关系。
该边角0.6视场H方向0.40 V方向 0.38 0.8视场 H方向0.24 V方向0.18
该边角0.6视场H方向0.59V方向 0.39 0.8视场 H方向0.31 V方向0.23
该边角0.6视场H方向0.37 V方向 0.47 0.8视场 H方向0.29 V方向0.34
50CM拍摄SFR的定焦模组在边角部位的SFR和50CMTVline从整体数据来看。随着SFR值得增大,图像的清晰程度和TV读数都有相对增加。
分析完定焦模组,接着来看自动调焦模组。
在分析之前,先看下AA(Adaptive alignment)的过程。AA其实就是利用SFR测试来分析边角和中心的Through focus曲线,得到镜头和Sensor之间的角度偏差。通过矫正角度。使边角和中心能够在同时达到比较高的解析力。主要解决模组的tilt问题。
AA前的离焦曲线为
AA后的离焦曲线为
但是一颗模组在焦点附近的中心SFR值随着马达位置变化情况的SFR变化可能没有这么大。而且H和V方向的变化也有不同
当前code值为530,当前SFR水平分数为67,SFR垂直分数为66
当前code值为532,当前SFR水平分数为67,SFR垂直分数为65
当前code值为534,当前SFR水平分数为66,SFR垂直分数为63
当前code值为536,当前SFR水平分数为64,SFR垂直分数为62
当前code值为538,当前SFR水平分数为63,SFR垂直分数为61
当前code值为540,当前SFR水平分数为61,SFR垂直分数为58
下图是一个经过实际测试得到Through focus图,可以注意到在定点处并不是一条光滑的曲线,且H和V方向的最高点也有一些差异。
因此如何选取中心对焦的判定方式和消除测试中的不稳定性就成为主要问题。为了SFR测试的准确性一般会采用最小二乘法之类的曲线拟合,并且取H和V方向的SFR值都较大的时候,以减少由于噪声引起的对焦波动。但是在TV line拍摄的过程中的对焦方法一般是使用AF算法的评价函数计算focus value,多数的时候使用的是不同的滤波器来完成。这和SFR算法目前使用的中心对焦的方法和精度都有差异。因此两者在对焦同一距离上实际上是存在一定差异的。如果这个差异控制的不好,根据离焦曲线我们可以看出,这会导致两者在对焦位置和测试距离上的差异导致在有问题的模组在明明在这个位置上的SFR低但是拍摄出来的TV line却在另外一个位置上有模糊的状况。下面是最小二乘法的拟合过程。
那么拍摄距离对于SFR和TV line的对应是否有影响呢?我们先看下AF模组镜头的MTF模拟在三个距离的测试值。我们可以注意到10M和60CM的数据在0.6和0.8视场的SFR值关系很好。而10CM的SFR值在0.6视场有明显降低。如果SFR和TV line都在 60CM到 10M间拍摄不会受到这个影响但是如果在10CM测试SFR在1M左右拍摄TV line从模拟数据上来看,对应关系应该不会很好。
下面是在1M拍摄的TV line图和 10M拍摄的三个边角的状况
该边角0.6视场H方向0.50 V方向 0.55 0.8视场 H方向0.27 V方向0.45
该边角0.6视场H方向0.47 V方向 0.51 0.8视场 H方向0.28 V方向0.34
该边角0.6视场H方向0.41 V方向 0.49 0.8视场 H方向0.29 V方向0.37
从定焦和自动对焦的模组来看。在相同的硬件下。如果拍摄距离和对焦算法控制的好SFR值得变化和TV line观察值的变化还是成正向关系的。
从一定程度上来说管控镜头质量的情况下使用多个视场位置1/4Nyquist,或者加上1/2
Nyquist 频率的数值,或者更详细的SFR曲线分析可以管控模组的质量。但是如果需要分析解析力不良的原因是tilt,场曲或者是最大解析力不足,Through focus曲线更合适。
其实在模组测试过程中对焦的准确性和一致性和拍摄距离只是其中最基础保证的一环。能够影响SFR稳定性的环境因素很多,从外界环境,到拍摄参数的设置都有。只有所有的测试都能稳定,才能得到一个正确的测试结果。换一个朋友说过的一句话,大多数的测试手段都能够在很大程度上解决大部分手机解析力的问题,关键在于执行的时候够不够细致。
转自:https://zhuanlan.zhihu.com/p/37231857