• 【计算机视觉】FFC平场校正算法剖析


    前言

    实际相机采集图像,其图像中各像素的值往往会有较大差异,一般是由以下几个原因造成:

    (1)光照不均匀

    (2)镜片中心和镜片边缘的响应不一致

    (3)成像器件各像元响应不一致(光敏元自身的非均匀性工艺)

    (4)固定的图像背景噪声等等.

    所谓的平场校正就是校正传感器芯片上这些不一致性.

    通常对于单个像元,其响应灰度值与入射光强度程线性关系.但由于上面所讲的原因,传感器上不同像元对入射光的响应是不同的直线,他们起点不同,斜率也会有差别.平场校正就是通过改变每个像元响应直线的斜率(即信号增益Gain)和偏移(即信号偏移量Offset),使所有像素点的响应 直线相同.

    最常用的平场校正方法是”两点校正法”,该方法的前提就是探测器像元为线性响应.首先相机对暗场进行一次曝光,得到每个像元的偏移(Offset);接下来对均匀光照条件下的灰度均匀物体进行一次成像,得到均匀场图像,最好能够使图像中所有的点都接近最大的灰度值;最后用均匀光场图像减去暗场图像,用相对标定的方法对图像增益(Gain)进行校正。

    主要校正介绍:

    1)Fixed Pattern Noise (FPN): 暗场,固定图像噪声校正

    2)Photo Response Non Uniformity (PRNU):明场,图像非均匀性响应校正

    3)Lens and light source non-uniformity:明场,镜头与光源非均匀性校正

    * FPN校正时,像素值必须在1DN与127DN(可理解为灰度值)之间;PRNU校正时,像素值必须在128DN与254DN之间。校正前最好首先使用“gl”命令确认DN值是否满足要求。

    校正方法公式
    ①相机线性响应过程中使用

     

    ②暗场校正(FPN)

    a)首先要获取系统的暗场像素值(取平均值);获得该值的目的在于得到CCD在特定的环境下(光亮、温度、时间相同)产生的暗像素值的大小,用一下公式表示

     

    Goff是图像的偏置量,一般为一常量,i(x,y)为探测器在相应工作条件下的暗电流,以像元考虑的话,单位可以用电子数/秒 像元来表示;t为获取一幅图像的时间;K为转换关系,相应的单位可以用图像灰度/电子数表示

    明场校正(PRNU)

    b)通过对均匀光场的成像以获得一幅用于平场校正的参考图像GR(x,y),该图像原则上要求用均匀光场X0进行照明且时间与暗本底图像GB(x,y)相同,并且照明光场光照水平尽量接近饱和照明条件,参考图像GR(x,y)可表示为

     

    C)被用于校正的图像G(x,y)表示为

     

    当系统是线性响应的时候(η(x,y)是一常量),由式(4)减去式(3)

     

    这样就获得了经过平场校正后的图像,式(5)表示的是一幅相对值图像.由于X0是均匀的,在式(5)中乘以一个合理的数据(可根据经验)就可以得到一幅灰度适中的图像,并不会对图像处理产生不良影响.

    该类平场校正方法一般运用于线阵CCD相机,对于其他的相机,有其他的处理方法;该算法有一定的局限性,受环境温度、光线的影响比较大,因此要求在工作环境变换不大的情况下才能最大的发挥出算法的效果,一旦工作环境发生较大的变化时,需要重新做平场校正;

    ③面阵CCD非均匀性校正计算方式

    根据面阵CCD的响应特性,校正采用单点、亮点和多点校正方法,单点校正法只是当积分球在一种辐照度输出时将不同像元输出信号矫正成平均信号,具有一定局限性,当面阵CCD响应度为线性时采用两点校正法;若面阵CCD响应为非线性时采用多点定标分段校正,将定标区间分成多段,在每个段内将面阵CCD的非线性响应当作线性响应处理,但随定标点越多,计算的数据量越大。

    两点校正法

    面阵CCD每个像元灵敏度响应及暗电流都不可能完全相同,为和定标时面阵CCD响应度表达式区分,这里把每个像元的灵敏度响应及暗电流描述成增益和偏移量,可建立模型:

     

    ?(?)表示在辐照度为?时面阵CCD所有像元的平均灰度值,?(?)??表示未经校正的图像第i行第j列像元的实际输出灰度值,???为对应像素位置的像元增益,???为对应像素位置的像元偏移量,M,N分别为图像行列。两点校正方法需要选取两个定标点,由此可推出CCD各像元的增益和偏移量,

     

    由此可推出CCD各像元的增益和偏移量,

     

    4.均匀性评估
    将平场校正前后该处的光强分别读出,比较平场校正前后图像的均匀性。图像的均匀性以图像的灰度值的峰谷值(dpv归一化后的)和标准差S表示。

    Flat-field correction(ImageJ Version)

    Proper correction

    Use this technique on brightfield images. You can correct uneven illumination or dirt/dust on lenses by acquiring a “flat-field” reference image with the same intensity illumination as the experiment. The flat field image should be as close as possible to a field of view of the cover slip without any cells/debris. This is often not possible with the experimental cover slip, so a fresh cover slip may be used with approximately the same amount of buffer as the experiment.

    1. Open both the experimental image and the flat-field image.
    2. Click the Select all button on the flat-field image and measure the average intensity. This value, the k1 value, will appear in the results window.
    3. Use the Image Calculator plus plugin (Analyze › Tools › Calculator plus).
    4. i1 = experimental image; i2 = flat-field image; k1 = mean flat-field intensity; k2 = 0. Select the “Divide” operation.

    This can also be done using the Process › Image Calculatorfunction with the 32-bit Result option checked. Then adjust the brightness and contrast and convert the image to 8-bit.

    Pseudo-correction

    Sometimes it is not possible to obtain a flat-field reference image. It is still possible to correct for illumination intensity, though not small defects like dust, by making a “pseudo-flat field” image by performing a large-kernel filter on the image to be corrected. For those working with DIC images, this is particularly useful because they generally have an intrinsic, and distracting, gradient in illumination.

    This can be accomplished simply by subtracting the Gaussian-blurred image version of the image.

    This can also be used with stacks for brightfield time-courses that vary in intensity with time. Doing this with stacks can be time consuming.

     

    The first RAW image (top) is pseudo-flat field corrected. Here the pseudo-flat field corrects for the uneven illumination, but does not correct for the dust specks. Look at this compared to the result of a proper flat-field correction above.

    BigStitcher › Flatfield Correction

    Flat Field Correction (FFC) in cameras for Machine Vision

    平场校正是一个广泛使用的术语,因为许多工业和机器视觉相机都有某种形式的校正算法来克服图像伪影。 然而,并不是所有形式的平场校正都是相同的,随着传感器上像素数量的增加,实现平场的方法的变化只会增加。 在本文中,我们将阐明现有的纠正机制。

    术语平场校正(FFC)经常用于与灵敏度和暗电流的像素到像素变化有关的校正,例如,照片响应不均匀性(PRNU)和暗信号不均匀性(DSNU)。 然而,由照明和照明光学引起的伪影校正也被认为是FFC相关的。 在所有情况下,你想要达到的是一个平坦的相机图像,例如平坦的场。 

    然而,像素与像素之间的变化,如PRNU和DSNU,和光路中的扭曲有一个重要的区别。 前者通常是高频校正,后者一般是低频校正。

    对于低像素分辨率的相机来说,这种差异不是特别重要。 这些相机能够进行像素到像素的校准(基于像素的FFC),可以纠正低频和高频缺陷。 然而,高像素分辨率的相机不能总是在像素对像素的基础上进行校正,因为它需要太多的存储容量来存储一个完整的校正图像在相机中。 这些相机通常有一个列明智的PRNU和DSNU校正,而不是像素到像素校正(基于列FFC)。 柱式校正是一种高频校正,不能校正低频缺陷。

    为了纠正高分辨率相机中的低频缺陷,采用了一种与柱校正完全无关的单独算法。 该算法将传感器划分为由一堆像素组成的更小的正方形段。 这些片段将被视为单个像素。 因此,这些片段通常被称为超级像素。 为每个超级像素确定一个平均值,并拟合一个模型来描述所有超级像素的低频值(模型的质量和选择通常是相机制造商的专利)。 然后,该模型用于计算每个像素的校正因子,以便对低频变化进行校正。 这种FFC的变体我们称之为低频FFC.

     

     图1所示。各种平场校正机制之间差异的图示。对于基于像素的FFC (a),为每个像素存储一个校正值。对于基于列的FFC (b),每个列存储一个校正值。对于低频FFC (c),每个超像素存储一个值。

    根据使用的图像传感器及其分辨率,不同类型的FFC被应用于最佳的图像质量。FFC的质量取决于相机制造商如何将校正算法应用到相机中。这意味着一个相机制造商的FFC与另一个相机的FFC是不一样的。

     

    参考

    Flat-field Correction方法原理分析

  • 相关阅读:
    斜二进制数
    贝贝的波浪数
    1058: 电文保密
    1065: 贝贝的加密工作
    低危漏洞- X-Frame-Options Header未配置
    1064: 不明飞行物(ufo)
    支付
    1067: 密室寻宝(find)
    c++10进制转换为任意2-16进制数字
    1066: 单词游戏(game)
  • 原文地址:https://www.cnblogs.com/carsonzhu/p/16347432.html
Copyright © 2020-2023  润新知