2. 清华大学 自动化系, 北京 100084
2. Department of Automation, Tsinghua University, Beijing 100084, China
光学成像系统中,由于离轴物点相对相机的进光量逐渐减少,导致像面照度从中心向边缘非线性衰减,称为渐晕效应。渐晕效应是光学成像系统普遍存在的现象,它使得成像系统对不同角度入射光线的有效接收能量不均匀,输出信号也不均匀,进而导致最终图像存在颜色、亮度失真问题,严重影响了利用图像进行视觉检测的精度。
Yu等[1-2]和Zheng等[3]提出了一种基于查表法(look up table,LUT)来消除影像渐晕现象的算法,使用标准影像测量出数字图像灰度衰减量相对于像素位置的变化关系,建立LUT表对图像进行补偿以消除渐晕效应。李炜等[4]提出了基于二维Gauss曲面拟合的图像灰度补偿算法,根据图像灰度分布统计特性估计二维Gauss曲面的各个参数,从而实现图像灰度补偿。但是利用该方法进行积分的计算并不够准确,同时参数估计的结果也会存在较大误差。何凯等[5]提出利用逐行拟合的方法进行渐晕效应的复原,即使用图像相邻两行的灰度值进行图像的平滑处理,该方法可在一定程度上减轻渐晕效应影响,但当实际图像相邻两行灰度变化较大时,会出现线性条纹。何凯等[6]又将最速下降法引入到Gauss曲面估计当中,推导出Hesse矩阵的相关系数,通过Hesse矩阵逐次迭代收敛,获得Gauss曲面的相关参数值。现有的渐晕效应补偿方法[7]均是针对人眼的主观感受进行补偿,而没有从客观上对照度进行还原。
本文提出了一种基于相机响应函数的光学渐晕效应非线性补偿方法。通过对渐晕效应的原理进行分析,定义了图像的相对曝光量,利用耦合采样解耦重建的方式,求解了相机响应函数,构建了渐晕效应补偿模型。最后通过实验验证了该方法的可行性,极大地消除了镜头的渐晕效应,提高了成像质量,为视觉系统的高光度学一致性提供了保障。
1 光学渐晕效应的数理模型在小孔成像原理的基础上,假设成像系统为薄棱镜成像系统,由光度学[8]基础知像面边缘照度低于像面中心照度,由中心到边缘照度值的衰减服从视场角余弦4次方的规律,称为余弦渐晕。
如图 1所示,物体上任意一点P的景物片段δA发出的光线,穿过薄透镜入射到以P′为中心的图像块δA′上。从δA发出的光投影到透镜的功率P可用物体辐射度L表示:
$ \delta P = L\mathit{\Omega }\delta \mathit{A}\cos \beta = \frac{{\rm{\pi }}}{4}{\left( {\frac{d}{z}} \right)^2}{\cos ^3}\alpha \cos \beta . $ | (1) |
其中:透镜中心到物体平面和图像平面的距离分别为z和z′,α为P′对应的离轴角,β为δA法向量与光轴的夹角,δA(或δA′)对应透镜中心的立体角为ω,透镜直径为d、面积为
功率δP被透镜汇聚到图像平面的表面块δA′,可得照度E为
$ E = \frac{{\delta P}}{{\delta A'}} = \left[ {\frac{{\rm{\pi }}}{4}{{\left( {\frac{d}{{z'}}} \right)}^2}{{\cos }^4}\alpha } \right]L. $ | (2) |
式(2) 表明:图像照度E与物体的辐射度L成正比;图像照度E与透镜面积
在实际的成像系统中,图像所表现出的灰度渐晕成因复杂,耦合了镜头光学设计及优化、图像传感器的非线性响应函数等因素。故在实际操作中,难以使用余弦4次方关系进行校正,应对光学镜头渐晕和相机响应函数进行解耦建模。
2 渐晕效应非线性补偿方法现有的渐晕效应消除方法可归纳为补偿函数:
$ {{G'}_{\left( {x,y} \right)}} = {G_{\left( {x,y} \right)}}S\left( {{D_{\left( {x,y} \right)}}} \right). $ | (3) |
其中:G(x, y)是原始图像上位于像素坐标为(x, y)点的像素灰度值,G′(x, y)是校正后该点的灰度值,函数D(x, y)表示(x, y)点偏离图像中心的像素距离,函数S(d)是以偏离图像中心距离d为输入的灰度补偿函数。
显然,式(3) 所表征的校正方法认为灰度补偿函数取值只与像素位置有关,而与该位置像素的灰度值本身无关。但相机响应函数为非线性函数,进行补偿的是像元的照度而非像素灰度,故不能仅靠像素位置对像素灰度进行补偿。
因此,完善的灰度补偿过程应包含相机响应函数的非线性因素,补偿函数定义为
$ {{G'}_{\left( {x,y} \right)}} = f\left( {{f^{ - 1}}\left( {{G_{\left( {x,y} \right)}}} \right)S\left( {{D_{\left( {x,y} \right)}}} \right)} \right). $ | (4) |
其中:S(D(x, y))为数字图像渐晕效应的照度补偿函数,取值大于等于1,受像素偏离中心距离影响;函数f(x)是相机的响应函数(照度到灰度的变换函数);函数f-1(x)是响应函数的反函数(灰度到照度的变换)。
2.1 相机响应函数由于照度与镜头口径、光圈瞳孔面积、被摄物点亮度相关[9],而无渐晕效应条件下,如果物体在不同拍摄参数下形成的像素灰度值相同,则辐照量必然相同。为此将相机的响应函数定义为无渐晕效应条件下,某一感光像元上辐照量H与像素灰度G之间的关系,
$ H = \int_0^t {E{\rm{d}}t} . $ | (5) |
其中,t为曝光时间。像元上照度E与时间t无关,则:
$ H = Et. $ | (6) |
在固定焦距、固定光圈条件下,被均匀照亮的标准灰板可视为余弦辐射体。通过拍摄不同曝光时间下的标准灰板得到一组数字图像I0~I20。假设图像Ii对应的曝光时间为ti;因图像中心像素成像不受渐晕效应影响,设图像Ii对应的中心像素曝光量,即辐照量为Hi。为消除噪声影响,取Ii中心微小面积像素计算灰度均值,记为Gi。
选取图像中心灰度均值最接近128的图像Ii,i={i|min|(Gi-128)|, i=0, 1, …, 20}。设图像Ii的曝光时间为基准值ts,中心像素曝光量为基准值Hs。
考虑到曝光时间与渐晕效应无关,仅与图像生成有关,为在渐晕补偿模型中消除曝光时间影响,本文定义了相对曝光量H*:
$ {H^ * } = \frac{H}{{{H_{\rm{s}}}}}. $ | (7) |
以无渐晕效应为假设的前提条件,亮度不同的被摄物点使用同一相机,同一镜头在不同环境、不同曝光参数的组合下所拍摄的数字图像中任意两像素只要灰度值相同,其曝光量和相对曝光量一定是相同的。因此,对于I0~I20,任意一幅图像I中心像素的相对曝光量H*(xc, yc)为
$ H_{\left( {{x_{\rm{c}}},{y_{\rm{c}}}} \right)}^ * = \frac{{{H_{\left( {{x_{\rm{c}}},{y_{\rm{c}}}} \right)}}}}{{{H_{{\rm{s}}\left( {{x_{\rm{c}}},{y_{\rm{c}}}} \right)}}}} = \frac{{{E_{\left( {{x_{\rm{c}}},{y_{\rm{c}}}} \right)}}t}}{{{E_{\left( {{x_{\rm{c}}},{y_{\rm{c}}}} \right)}}{t_{\rm{s}}}}} = \frac{t}{{{t_{\rm{s}}}}}. $ | (8) |
H*(xc, yc)和G是一一对应的,因此,相机响应函数为G=f(H*),相机响应函数的反函数为H*=f-1(G)。拍摄多幅图像,通过采样拟合,可获得相机的响应函数及其反函数的解析表达式。
使用相对曝光量建立相机响应函数最大的优势是不需考虑被摄物亮度L和光圈F值(光圈较小的情况下)等。
2.2 渐晕补偿建模图像I中绝大多数点在轴外成像,如图 2所示。任意一点P成像在(xi,yi)位置,灰度值为G(xi, yi);而拍摄参数不变,可通过相机平移,使P点在图像中心(xc,yc)位置成像,对应的灰度值为G(xc, yc)。
为此,该特性可应用于本文的渐晕效应补偿中,即物点P消除渐晕效应后的灰度值可通过平移相机得到。图像I在相同环境和相同拍摄参数下,不同位置像素灰度的不同正是受到光学镜头渐晕的影响。则有
$ \left\{ \begin{array}{l} {{G'}_{\left( {{x_i},{y_i}} \right)}} = {G_{\left( {{x_{\rm{c}}},{y_{\rm{c}}}} \right)}},\\ H_{\left( {{x_i},{y_i}} \right)}^{ * '} = H_{\left( {{x_{\rm{c}}},{y_{\rm{c}}}} \right)}^ * . \end{array} \right. $ | (9) |
且有
$ \frac{{H_{\left( {{x_{\rm{c}}},{y_{\rm{c}}}} \right)}^ * }}{{H_{\left( {{x_i},{y_i}} \right)}^ * }} = \frac{{{E_{\left( {{x_{\rm{c}}},{y_{\rm{c}}}} \right)}}t}}{{{E_{\left( {{x_i},{y_i}} \right)}}t}} = \frac{{{E_{\left( {{x_{\rm{c}}},{y_{\rm{c}}}} \right)}}}}{{{E_{\left( {{x_i},{y_i}} \right)}}}}. $ | (10) |
可见,任意一点与图像中心点相对曝光量的比值与图像编号k无关,只与离轴角α(xi, yi)相关。
构建函数D(x, y),定义为视场百分比函数,由图像中心(0%视场)到边缘(100%视场),取值范围0%~100%,则利用相对曝光量可在数值上建立渐晕照度补偿函数如下:
$ S\left( {{D_{\left( {{x_i},{y_i}} \right)}}} \right) = \frac{{H_{\left( {{x_{\rm{c}}},{y_{\rm{c}}}} \right)}^ * }}{{H_{\left( {{x_i},{y_i}} \right)}^ * }}. $ | (11) |
联立式(10) 和(11),推导得到
$ H_{\left( {{x_i},{y_i}} \right)}^ * = S\left( {{D_{\left( {{x_i},{y_i}} \right)}}} \right)H_{\left( {{x_i},{y_i}} \right)}^ * . $ | (12) |
综上,数字图像渐晕效应灰度补偿模型G′(x, y)=f(f-1(G(x, y))S(D(x, y)))为可求解的。
2.3 过曝检测使用相机进行投影图像照度均匀性测量,过度曝光有可能会导致所拍摄的数字图像高光部分溢出,对应的数字图像溢出部分像素灰度值截止于255,导致测量结果不可用。而镜头引入的渐晕效应也可用于检测图像是否过度曝光。
图像上非中心位置点的像素灰度值为G(x, y),经数字图像渐晕效应灰度补偿模型补偿后的灰度值G′(x, y)若超过255,即说明该点进行照度补偿后,相对曝光量超出了该相机允许的最大相对曝光量。由于曝光量已高出相机的最大感光能力,拍摄时应缩小曝光量。
2.4 颜色空间变换像素灰度值是渐晕效应补偿中的重要变量,而不同的应用场合,图像的彩色空间可以用不同的彩色模型来表征和描述,常见的表现彩色图像的颜色空间模型有RGB、YCbCr、HSV、Lab颜色空间等[10-12]。
RGB是最常用的颜色空间,采用色光的色彩模式,3种色彩叠加形成不同颜色,但R、G、B这3个分量都包含了亮度信息,它们之间存在着很大的相关性,这种相关性不利于渐晕效应的补偿;而YCbCr是离散的颜色空间,其中Y代表图像的亮度信息,Cb和Cr分量代表颜色信息,该颜色空间将R、G、B分解成亮度信息和色度信息分别进行处理,且YCbCr颜色空间的Y、Cb、Cr值可以由RGB三基色经线性变换得到,计算效率高,更适用于渐晕效应补偿。
RGB空间到YCbCr空间的转换计算如下:
$ \left\{ \begin{array}{l} Y = 0.299R + 0.587G + 0.114B,\\ {\rm{Cb = 0}}{\rm{.564}}\left( {B - Y} \right) + 128,\\ {\rm{Cr = 0}}{\rm{.713}}\left( {R - Y} \right) + 128. \end{array} \right. $ | (13) |
渐晕效应补偿过程,本文直接用Y值作为数字图像渐晕效应灰度补偿模型中的像素灰度值,即:
$ {{Y'}_{\left( {x,y} \right)}} = f\left( {{f^{ - 1}}\left( {{Y_{\left( {x,y} \right)}}} \right)S\left( {{D_{\left( {x,y} \right)}}} \right)} \right). $ | (14) |
以相对曝光量H*和像素灰度值Y构建二维坐标系,绘制图像I0~I20中各幅图像的(H*,G(xc, yc))。根据采样点分布情况,可知相机响应函数曲线为单项递增平滑曲线,且前半段点分布斜率较大,后半段较平缓,通过多项式拟合得到相机响应函数曲线,拟合效果如图 3所示。定性定量实验验证了该表达式的拟合度,较好地反应了像素灰度值与相对曝光量之间的关系。由此可求解出Canon 5D Mark Ⅱ的相机响应函数为
$ \begin{array}{l} Y = 256.1 - 181.3\exp \left( { - 0.4766X} \right) - \\ \;\;\;\;\;\;75.02\exp \left( { - 1.536X} \right). \end{array} $ | (15) |
已知该相机的相机响应函数后,任意拍摄一组图像I21~I24,用来构建相对曝光量补偿函数,如图 4所示。
对原始图像进行径向灰度分布分析,结果如图 5所示。
各项已知,利用式(13) 即可对图像进行校正,校正效果如图 6所示。
对校正后图像进行径向灰度分布分析,结果如图 7所示。
对数字图像I21~I24,分别通过现有LUT方法和本文方法进行渐晕效应校正,对校正前后图像进行定量分析,选择图像灰度标准差作为衡量标准:
$ \sigma = \sqrt {\frac{1}{{MN}}\sum\limits_{x = 1}^M {\sum\limits_{y = 1}^N {{{\left( {{Y_{\left( {x,y} \right)}} - {Y_{\left( {{x_{\rm{c}}},{y_{\rm{c}}}} \right)}}} \right)}^2}} } } . $ | (16) |
其中:σ为灰度标准差,M为图像宽度,N为图像高度,Y(x,y)为某点灰度值。
校正前后对比情况如表 1所示。校正后灰度标准差降低到原始图像的24%~35%,有效改善了镜头渐晕效应对图像成像质量的影响。
处理方法 | 图像I21 | 图像I22 | 图像I23 | 图像I24 |
校正前 | 10.30 | 15.68 | 16.02 | 12.32 |
LUT方法 | 3.25 | 9.36 | 11.59 | 9.84 |
本文方法 | 2.44 | 4.79 | 5.12 | 4.29 |
4 结论
本文分析了光学渐晕效应的数学模型及特性,研究了现有的渐晕效应补偿方法,得出现有方法是基于“像元照度与像素灰度呈线性关系”假设前提的。现有方法只能从人眼的主观感受上减轻渐晕效应的影响,但对于光度学一致性要求较高的视觉系统来说,它并不能作为检测、测量、判断等后期操作的依据。在此基础上,本文定义了图像的相对曝光量和像素灰度值-相对曝光量函数,进行相机响应函数的求解,构建了渐晕效应补偿模型,通过实验比较了相机拍摄图像校正前后与理想图像间的灰度均方差,验证了该方法的可行性,为视觉系统后续的处理、检测等工作奠定了基础。
[1] | Yu W, Chung Y, Soh J. Vignetting distortion correction method for high quality digital imaging [C]//Proceedings of the 17th International Conference on the Pattern Recognition. Piscataway, NJ, USA: IEEE, 2004: 666-669. |
[2] | Yu W. Practical anti-vignetting methods for digital cameras[J]. IEEE Transactions on Consumer Electronics, 2004, 50(4): 975–983. DOI:10.1109/TCE.2004.1362487 |
[3] | Zheng Y, Lin S, Kang S B. Single-image vignetting correction from gradient distribution symmetries[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(6): 1480–1494. DOI:10.1109/TPAMI.2012.210 |
[4] | 李炜, 黄心汉, 王敏. 基于二维高斯曲面拟合的图像灰度补偿算法[J]. 华中科技大学学报(自然科学版), 2004, 32(2): 43–45. LI Wei, HUANG Xinhan, WANG Min. A compensation algorithm of image based on Gaussian quadrics fitting[J]. Journal of Huazhong University of Science and Technology (Nature Science Edition), 2004, 32(2): 43–45. (in Chinese) |
[5] | 何凯, 赵红颖, 刘晶晶. 航空遥感影像渐晕复原方法研究[J]. 吉林大学学报(工学版), 2007, 37(6): 1447–1450. HE Kai, ZHAO Hongying, LIU Jingjing. Vignetting correction method for aviatic remote sensing image[J]. Journal of Jilin University (Engineering and Technology Edition), 2007, 37(6): 1447–1450. (in Chinese) |
[6] | 何凯, 唐平凡, 王成优. 基于高斯曲面拟合的影像渐晕复原方法[J]. 电子学报, 2009, 37(1): 67–71. HE Kai, TANG Pingfan, WANG Chengyou. Vignetting correction method of image based on Gaussian quadrics fitting[J]. ACTA Electronica Sinica, 2009, 37(1): 67–71. (in Chinese) |
[7] | Piccinini F, Lucarelli E, Gherardi A, et al. Multi-image based method to correct vignetting effect in light microscopy images[J]. Journal of Microscopy, 2012, 248(1): 6–22. DOI:10.1111/jmi.2012.248.issue-1 |
[8] | Coralie C, Magali B, Arnaud D. Comparison of the vignetting effects of two identical fisheye lenses[J]. Leukos the Journal of the Illuminating Engineering Society of North America, 2012, 8(3): 181–203. |
[9] | Kim S J, Pollefeys M. Robust radiometric calibration and vignetting correction[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 30(4): 562–576. DOI:10.1109/TPAMI.2007.70732 |
[10] | Goldman D B, Chen J H. Vignette and exposure calibration and compensation [C]//Proceedings of the Tenth IEEE International Conference on Computer Vision. Washington DC, USA: IEEE, 2005: 2276-2288. |
[11] | MENG Hongji, GUAN Wenrui, LIU Can, et al. Algorithm research of vignetting distortion correction based on near-infrared CCD thermometer [C]//International Conference on Design, Manufacturing and Mechatronics. Wuhan, China, 2015: 1290-1298. |
[12] | Bergues G J, Canali L, Schurrer C, et al. Electronic interface with vignetting effect reduction for a Nikon 6B/6D autocollimator[J]. IEEE Transactions on Instrumentation and Measurement, 2015, 64(12): 3500–3509. DOI:10.1109/TIM.2015.2444263 |