SFR算法原理分析
成像系统的解析力:
摄像头最关键的指标之一。所有用户拿到一张照片的时候首选看到的是照片清楚不清楚,这里的清楚指的就是解析力。但是如果评价一个成像系统的解析力也是大家一直在探讨的问题。目前主流的办法主要有三种TV line检测、MTF检测以及FR检测。
MTF:
MTF是Modulation Transfer Function的英文简称,中文为调制传递函数。是指调制度随空间频率变化的函数称为调制度传递函数。传递函数最开始是为了说明镜头的能力。在各个摄像头镜头中经常采用MTF描述镜头的MTF曲线,表明镜头的能力。这些曲线是通过理想的测试环境下尽量减少其它系统对镜头的解析力的衰减的情况下测试得出的。但是其实MTF也可以涵盖对整个成像系统的解析力评价。MTF的值越接近于1,说明镜头的成像效果越好。
SFR:
SFR是 Spatial Frequency Response (SFR) 主要是用于测量随着空间频率的线条增加对单一影像的所造成影响。简言之SFR就是MTF的另外一种测试方法。这种测试方法在很大程度上精简了测试流程。SFR的最终计算是希望得到MTF曲线。SFR的计算方法和MTF虽然不同但是在结果上是基本一致的。
Cy/mm&LP/mm:
cy/mm和lp/mm都是进行分辨率衡量的单位,具体含义:线对每毫米(lp/mm)、周期每毫米(cy/mm);此外,
常用到的分辨率单位还有线对每毫弧度(lp/mr)以及周期每毫弧度(cy/mr)。
在上图中,上半部分的是原图像,下半部分表示相机拍摄得到的图像。可以看出线对的边缘经过镜头之后明显变得模糊,并且线对越密越模糊,相应的MTF也就越低。cy/mm表示的就是在图像的一个毫米内有多少线对。此外,线对和像素间距之间还可以进行转换。
转换计算过程:
假设现在 分辨率为100cy/mm, 这意味着每毫米包含100个黑白相间的线对。一个线对包含一条黑线和一条白线。因此,如果一个毫米有100个线对,则每毫米有200条线(100条黑线和100条白线) 则,每条线的厚度为1000μm/200 = 5μm
对于单色图片,我们可以认为5um是像素对角线长度,假设每条线的厚度5 μm相当于像素对角线的长度。为了获得像素间距(即像素的边长),我们需要将对角线长度除以√2。。为了获得像素间距,我们除以根号2,55um /√2≈3.54um。
彩色图像的典型值:
对于彩色图像,每个颜色通道(例如红、绿、蓝)的分辨率往往是单色图像的一半。因此,通常的做法是将单色图像像素间距除以2。
对于颜色应用,典型值是该值的一半,即5um / 2 = 2.5um。
SFR的具体步骤就是上面的九大步骤,箭头中对应的是每一步执行前后对应的输入和输出。
总结如下:
0、获取垂直斜边的ROI
1、进行数据的归一化
2、计算图像每一行的像素矩心
3、对每行的矩心使用最小二乘法进行线性拟合,获得一条关于矩心的直线
4、重新定位ROI,获得ESF
5、对获得的ESF进行四倍超采样
6、通过差分运算获得LSF
7、对LSF应用汉明窗
8、进行DFT运算
步骤解析:
- 获取垂直边缘的ROI:
上图是专业的图像MTF测试图,用红色方框框起来的是测试卡用于计算SFR的部分,蓝色小方框框起来的是我们应该获取的具体RIO区域(具体就是黑白图像,中间有分界线,我们称之为边缘(Edge))
具体ROI图像如图:
以及
这里水平和垂直的Edge只是为了计算图像在水平方向和垂直方向的解析力,与算法本身无关,因为水平的Edge会被进行90°旋转后作为输入,然后计算SFR的值。
1、进行数据的归一化
在Sensor获得图像之后,呈现出来的图像由于要符合人眼的感觉,会对图像像素进行伽马变换,使得其变成非线性的像素数据,从而使图像的显示更加符合人眼的感受。所以,当我们要进行sensor的成像解析力分析时,要先将图像处理成没有经过伽马变换前的。
一般sensor会对raw图像进行一个2.2的gamma变换,若我们想恢复原始图像时,我们只需要进行一个1/2.2的gamma变换即可。
2、计算图像每一行的像素矩心
这一步的操作其实是为了计算出边缘的位置。具体讲来就是,我们会将图片中的每一行像素都计算具体的矩心位置。
可以看到,其实每一行像素的矩心计算出来的结果,其实就是在黑白分界线的附近。
矩心对应位置:
shift[i]就是对应的第i行的矩心位置。
3、对每行的矩心使用最小二乘法进行线性拟合,获得一条关于矩心的直线
就是根据你计算出来的那么多个矩心的点,然后获取分界边缘的直线表达式。
我们知道用的是最小二乘法就可以了。最小二乘法公式如下:
最后获得的其实就是上面的图中那条红色的线,略微有差距,可是基本上可以说是完全一致的了
4、重新定位ROI,获得边缘扩展函数(Edge Spread Function, ESF)
这一步其实比较复杂,我也不确定在我的讲述之下,大家是否能够听懂,我尝试用简单的方式讲解一下。
首先,转换坐标轴,将坐标轴转换到计算出来的矩心直线上。如图所示:
5、对获得的边缘扩展函数(Edge Spread Function, ESF)进行四倍超采样
然后,我们将每一行中X轴坐标相等的像素值累加起来,然后求均值后得到下面第一行的数组。
这里是将整张图片的像素转换为一个长度为rows的数组,然后进行4倍的扩增。然后其他没有像素的地方,是进行一个向前寻找非0的像素值进行替换,这样就获得了ESF。
6、通过差分运算获得LSF
这不用多说,就是得到的ESF数组元素进行差分,获得LSF。一下是函数公式:
7、对线扩展函数(Line Spread Function, LSF)应用汉明窗
对上面的LSF数组进行汉明窗处理,这一步主要也是看公式,如下:
8、进行DFT运算
最后的到的SFR数组就是空间频域响应的值。
SFR是一种用于评估图像系统(例如相机或扫描仪)分辨率和锐度的方法。它通过测量系统对不同空间频率(图像中的细节程度)的响应来评估图像质量。具体来说,SFR算法通常包括以下步骤:
图像采集:使用被测系统拍摄特定的测试图案,通常是斜边(edge)或正弦波(sine wave)图案。
边缘检测:在测试图案中找到斜边并提取出感兴趣的区域。
边缘剖面分析:沿着斜边的法线方向提取灰度值,得到边缘剖面(edge profile)。
边缘扩展函数(Edge Spread Function, ESF):通过边缘剖面计算得到边缘扩展函数。
线扩展函数(Line Spread Function, LSF):对ESF进行微分得到线扩展函数。
调制传递函数(Modulation Transfer Function, MTF):对LSF进行傅里叶变换得到MTF,它表示系统对不同空间频率的响应。
SFR计算:SFR是MTF的一部分,用于描述系统在不同空间频率下的响应强度。
通过以上步骤,SFR算法能够提供关于图像系统性能的详细信息,帮助工程师和研究人员改进图像系统的设计和优化。
在自动对焦(AF)场景中,SFR算法可以作为评价自动对焦性能的一种重要指标,尤其是在评估对比度自动对焦算法时。
对比度自动对焦算法通常通过分析图像的对比度来确定焦点位置。而SFR算法可以提供更精细的信息,例如评估系统对不同空间频率的分辨率能力和锐度。因此,它在以下几个方面可以为对比度自动对焦算法提供支持和补充:
精度评估:SFR算法能够量化图像系统对各种细节层次的响应,这对评估自动对焦的精度尤为重要。通过比较不同焦点位置下的SFR结果,可以确定哪一个位置产生了最佳的分辨率和清晰度。
鲁棒性分析:自动对焦算法需要在各种场景和条件下保持鲁棒性。SFR算法可以帮助分析在不同光照、对比度和场景复杂度下自动对焦的表现。比如,在低对比度或复杂背景下,SFR分析可以显示出哪些自动对焦算法能够正确地锁定焦点。
优化参数:基于SFR分析的结果,可以优化自动对焦算法的参数。
验证与标定:在图像系统设计阶段,SFR算法可以用来验证自动对焦算法的实际表现是否符合设计要求,也可以用来标定不同系统之间的自动对焦性能差异。
因此,虽然SFR算法本身并不是对比度自动对焦算法的替代品,但它可以作为一个有力的评价工具,帮助理解和优化自动对焦算法的性能,特别是在需要更细致的图像质量分析时。
SFR算法(Spatial Frequency Response)和对焦评价函数在图像处理和图像质量评估中有着不同的应用和目的:
SFR算法
定义和目的:
SFR算法用于评估图像系统的空间频率响应。它通过测量系统对不同空间频率的成像能力来分析系统的分辨率、对比度和图像锐度等特性。
SFR曲线通常展示系统在不同空间频率下的模传递函数(MTF),可以直观地反映系统对细节的保留能力和边缘清晰度。
应用场景:
主要用于图像系统的设计、制造和性能评估阶段。
适用于相机镜头、图像传感器和整个图像处理链路的优化和测试。
计算方法:
SFR算法通常涉及从测试图像中提取特定频率的信息,并通过比较输入和输出信号的能量来计算系统的频率响应。
对焦评价函数
定义和目的:
对焦评价函数是用来评估图像的焦点位置的指标。它衡量图像中目标区域的清晰度或对比度,并根据这些指标来判断图像是否正确对焦。
常见的对焦评价函数包括基于图像梯度、频域特征或深度信息的计算方法。
应用场景:
主要用于自动对焦系统、图像处理软件和计算机视觉应用中,以确保图像在不同条件下(如光线变化、场景变化)都能获得清晰的图像。
计算方法:
对焦评价函数的具体方法因应用而异,但通常涉及从图像中提取特定特征,如梯度变化或频率响应,然后将这些特征与预期的清晰度标准进行比较。
区别总结
目的不同:SFR算法旨在评估图像系统的空间频率响应和分辨能力;对焦评价函数旨在衡量图像中焦点的清晰度或对比度。
应用场景不同:SFR算法主要用于硬件设计和性能评估;对焦评价函数主要用于自动对焦系统和图像质量控制。
计算方法不同:SFR算法通常基于空间频率分析;对焦评价函数可以基于图像梯度、频域特征或其他局部信息。