2. 福建师范大学 医学光电科学与技术教育部重点实验室, 福州 350007;
3. 福建师范大学 福建省光子技术重点实验室, 福州 350007;
4. 福建师范大学 福建省光电传感应用工程技术研究中心, 福州 350007;
5. 福建师范大学 智能光电系统工程研究中心, 福州 350007
2. Key Laboratory of Optoelectronic Science and Technology for Medicine of Ministry of Education, Fujian Normal University, Fuzhou 350007, China;
3. Fujian Provincial Key Laboratory of Photonics Technology, Fujian Normal University, Fuzhou 350007, China;
4. Fujian Provincial Engineering Technology Research Center of Photoelectric Sensing Application, Fujian Normal University, Fuzhou 350007, China;
5. Intelligent Optoelectronic Systems Research Center, Fujian Normal University, Fuzhou 350007, China
人类所能够感知的光谱范围大致为380 nm–780 nm, 我们人眼的颜色感知主要是由物体的反射率决定的, 在不同的光照条件下, 物体的颜色在我们人眼看来是恒定不变的[1]. 这些特性对于感光元件CCD或CMOS而言是不存在的, 它们所能够感知的光谱范围远大于人眼, 包括我们所熟知的红外光. 感光元件获得的图像颜色是由光源、成像物体反射率和成像系统的光谱响应函数共同决定的, 在不同光照条件下, 感光元件所得到的物体图像是不断变化的, 有时甚至失去了原本的色彩. 感光元件所获取的图像色彩与人眼所看到的颜色由于近红外光的存在会产生偏色现象. 为了去除该偏色现象, 寻找合适的颜色校正算法具有重要意义.
目前的偏色校正算法大多是针对RGB三带图像[2], 而对于添加了近红外光的RGB、IR四带图像并没有通用的算法. 对于四带图像的校正问题, 林李金等采用了基于RGB色彩空间进行颜色校正[3], 即将偏色部分进行分区域校正, 该方法缺陷在于对于每一幅图都需要对偏色部分进行重新定位. 针对光谱串扰问题, Lei Li提出了利用解串扰矩阵的方式进行校正[4]. 实验结果证明, 该方法只需进行一次标定校正矩阵, 就可以对同种光源条件下拍摄的不同图像进行偏色校正.
2 构建解串扰矩阵四带图像由于近红外光的串扰, 通过CCD或者CMOS等感光元件拍摄获取的图片会整体偏红色, 如图1所示. 如何让四带图像校正还原成标准三带图像, 关键在于找到它们之间的映射关系, 这需要精简准确的数据拟合方法[5]. 本文通过分析测试感光元件中R、G、B三原色滤镜的光谱串扰特性, 在传统多项式回归的基础上进行优化, 构建光谱解串扰矩阵, 可以实现在同种光源条件下矩阵的一次标定就能够对不同图像进行校正.
目前, 市面上大多数彩色成像系统都是以RGB三原色为基础. 对于CCD或CMOS感光元件而言, 由于光照强度与光产生的电荷数量成正比关系, 在输出节点的电压也与光强成正比[6]. 但是在电压被量化的过程中, 由于ADC需要对参考电压进行选择, 使得原本的线性关系遭到破坏, 量化输出与光强呈现出增量线性关系[7].
2.1 线性回归如图2所示, 标准色卡上有24个色块, 分别获取每个色块的RGB三刺激值, 三带图像(RGB图像)第i个色块三刺激值为Roi、Goi、Boi, 而四带图像(RGBIR图像)第i个色块三刺激值记为Rci、Gci、Bci, 其中i=1, 2, 3,…, 24. 则:
$\left\{{\begin{array}{*{20}{l}}{{R_{{{o}}i}} = {a_{01}}{R_{ci}} + {a_{02}}{G_{ci}} + {a_{03}}{B_{ci}}}\\{{G_{{{o}}i}} = {a_{11}}{R_{ci}} + {a_{12}}{G_{ci}} + {a_{13}}{B_{ci}}}\\{{B_{{{o}}i}} = {a_{21}}{R_{ci}} + {a_{22}}{G_{ci}} + {a_{23}}{B_{ci}}}\end{array}}\right.$ | (1) |
记待校正的四带图像为矩阵Y, 标准颜色的三带图像为矩阵X, 红外解串扰校正矩阵为M. 用矩阵方式从四带图像到三带图像颜色值得变换可以表示为:
$X = Y{M^{{T}}}$ | (2) |
其中,
$X = \left[ {\begin{array}{*{20}{c}}{\begin{array}{*{20}{c}}{{R_{o1}}}\\{{R_{o2}}}\\{\cdots}\\{{R_{o24}}}\end{array}}&{\begin{array}{*{20}{c}}{{G_{o1}}}\\{{G_{o2}}}\\{\cdots}\\{{G_{o24}}}\end{array}}&{\begin{array}{*{20}{c}}{{B_{o1}}}\\{{B_{02}}}\\{\cdots}\\{{B_{o24}}}\end{array}}\end{array}} \right]$ |
$Y = \left[ {\begin{array}{*{20}{c}}{\begin{array}{*{20}{c}}{{R_{c1}}}\\{{R_{c2}}}\\{\cdots}\\{{R_{c24}}}\end{array}}&{\begin{array}{*{20}{c}}{{G_{c1}}}\\{{G_{c2}}}\\{\cdots}\\{{G_{c24}}}\end{array}}&{\begin{array}{*{20}{c}}{{B_{c1}}}\\{{B_{c2}}}\\{\cdots}\\{{B_{c24}}}\end{array}}\end{array}} \right]$ |
$M = \left[ {\begin{array}{*{20}{c}}{{a_{01}}}&&{{a_{02}}}&&{{a_{03}}}\\[4pt]{{a_{11}}}&&{{a_{12}}}&&{{a_{13}}}\\[4pt]{{a_{21}}}&&{{a_{22}}}&&{{a_{23}}}\end{array}} \right]$ |
矩阵M可由最小二乘法优化得到[8], M即为所求的解串扰矩阵.
${M^{{T}}} = {\left( {{X^{{T}}}Y} \right)^{ - 1}}{X^{{T}}}X$ | (3) |
将所求的矩阵M带入公式(2), 即可得到消除红外串扰后图像的三刺激值. 该算法的关键之处在于要设计合理的多项式系数.
2.2 增量线性回归由于图像在经过感光元件的处理后, 量化输出与光强呈现出增量线性关系, 并且四带图像比较特殊, 因为红外光会对原本的R、G、B三通道造成不同程度的干扰, 并且这种干扰在不同强度的红外光条件下是不一样的. 因此, 本文在公式(1)的基础上稍作修改, 即在公式(1)等式右端添加常数项b, 以此来修正成像系统在转换过程中所带来的增量偏差.即:
$\left\{{\begin{array}{*{20}{l}}{{R_{{{o}}i}} = {a_{01}}{R_{ci}} + {a_{02}}{G_{ci}} + {a_{03}}{B_{ci}} + {b_1}}\\[3pt]{{G_{{{o}}i}} = {a_{11}}{R_{ci}} + {a_{12}}{G_{ci}} + {a_{13}}{B_{ci}} + {b_2}}\\[3pt]{{B_{{{o}}i}} = {a_{21}}{R_{ci}} + {a_{22}}{G_{ci}} + {a_{23}}{B_{ci}} + {b_3}}\end{array}}\right.$ | (4) |
相应的, 矩阵Y也添加一列常数1:
$Y = \left[ {\begin{array}{*{20}{c}}{{R_{c1}}}&{{G_{c1}}}&{{B_{c1}}}&1\\[3pt]{{R_{c2}}}&{{G_{c2}}}&{{B_{c2}}}&1\\[3pt]{\cdots}&{\cdots}&{\cdots}&{\cdots}\\[3pt]{{R_{c24}}}&{{G_{c24}}}&{{B_{c24}}}&1\end{array}} \right]$ |
矩阵M维数变为3×4:
$M = \left[ {\begin{array}{*{20}{c}}{\begin{array}{*{20}{c}}{{a_{01}}}\\[3pt]{{a_{11}}}\\[3pt]{{a_{21}}}\end{array}}&{\begin{array}{*{20}{c}}{{a_{02}}}\\[3pt]{{a_{12}}}\\[3pt]{{a_{22}}}\end{array}}&{\begin{array}{*{20}{c}}{{a_{03}}}\\[3pt]{{a_{13}}}\\[3pt]{{a_{23}}}\end{array}}&{\begin{array}{*{20}{c}}{{a_{04}}}\\[3pt]{{a_{14}}}\\[3pt]{{a_{24}}}\end{array}}\end{array}} \right]$ |
矩阵X则保持不变.则解串扰矩阵系数a的求解方法等同于线性回归中解串扰矩阵M的求解方法.
3 四带图像偏色校正实验装置系统如图3所示, 在传统的CMOS摄像头镜头前面稍作修改, 即使红外滤光片可手动调节, 并且外加一片可见光+850 nm双峰滤光片, 以此来滤除除850 nm以外的大部分红外光. 该实验采用海洋光学USB4000微型光纤光谱仪测定850 nm双峰滤光片的光谱特性曲线, 采用标准光源对色灯箱来获取D65光源, 采用850 nmLED灯阵列来获取近红外串扰光, 采用爱色丽标准24色卡来获取校正矩阵数值. 整个数据处理过程都在MATLAB R2012a平台上.
3.1 解串扰矩阵数值校正
首先, 光源条件为D65+850 nm, 在摄像头去除红外滤镜和不去除红外滤镜两种情况下, 对图2所示的标准色卡的24个色块分别获取R、G、B三个分量的平均值. 其次, 对获取的24个色块中的随机20个色块(例如除编号7, 12, 18, 23以外的20个色块)的R、G、B分量进行校正矩阵的获取.
记在D65+850 nm光源且有红外滤镜条件下测量得到的色块RGB三刺激值为矩阵Y’, 在D65+850 nm光源且没有红外滤镜条件下测量得到的色块RGB三刺激值为矩阵X’, 校正矩阵为M’, 算法流程图如图4所示. 则校正算法过程可表示为:
$X' = Y'M{'^{{T}}}$ | (5) |
通过算法获得的校正矩阵为:
$M' = \left[ {\begin{array}{*{20}{c}}{\begin{array}{*{20}{c}}{0.8880}&{0.0846}&{{{ - }}0.0632}&{{{ - }}8.2968}\end{array}}\\[3pt]{\begin{array}{*{20}{c}}{{{ - }}0.0695}&{0.9758}&{0.0030}&{5.9066}\end{array}}\\[3pt]{\begin{array}{*{20}{c}}{{{ - }}0.0321}&{{{ - }}0.0190}&{0.8991}&{3.4195}\end{array}}\end{array}} \right]$ |
然后将之前获取的编号为7, 12, 18, 23的色块RGB信息进行矩阵构建, 结果如下.
四带偏色情况下四个色块RGB信息的矩阵为:
${Y_1} = \left[ {\begin{array}{*{20}{c}}{253.2889}&{135.3462}&{66.4903}&{1.0000}\\[3pt]{252.8550}&{202.2881}&{77.8829}&{1.0000}\\[3pt]{75.2402}&{152.3540}&{205.7975}&{1.0000}\\[3pt]{65.7579}&{66.9554}&{70.2001}&{1.0000}\end{array}} \right]$ |
三带标准情况下四个色块RGB信息的矩阵为:
${X_1} = \left[ {\begin{array}{*{20}{c}}{\begin{array}{*{20}{c}}{224.0406}\\[3pt]{228.1500}\\[3pt]{57.3868}\\[3pt]{54.4298}\end{array}}&{\begin{array}{*{20}{c}}{121.1296}\\[3pt]{189.3322}\\[3pt]{144.2248}\\[3pt]{65.1187}\end{array}}&{\begin{array}{*{20}{c}}{47.6344}\\[3pt]{58.5619}\\[3pt]{176.7992}\\[3pt]{59.6644}\end{array}}\end{array}} \right]$ |
通过算法获得的校正矩阵M’和Y1带入公式(5)得算法获得的矩阵X(算法)为:
$X\left( \text{算法} \right) = \left[ {\begin{array}{*{20}{c}}{\begin{array}{*{20}{c}}{223.8637}\\[3pt]{228.4201}\\[3pt]{58.3996}\\[3pt]{51.3218}\end{array}}&{\begin{array}{*{20}{c}}{121.0998}\\[3pt]{186.4119}\\[3pt]{149.0159}\\[3pt]{66.7051}\end{array}}&{\begin{array}{*{20}{c}}{52.4927}\\[3pt]{61.4765}\\[3pt]{183.1386}\\[3pt]{63.1514}\end{array}}\end{array}} \right]$ |
对于矩阵X(算法)和矩阵X1数值上来看, 校正效果较好.
3.2 偏色图像校正
通过本文3.1节获取的解串扰矩阵M, 对此光源条件下整幅图像进行校正, 结果如图7.
在同种光源条件下, 利用该矩阵对不同景物进行四带图像的校正, 结果如图10和图13.
4 实验结果与分析
本文所采用的系统为改造后的CMOS摄像头. 标准比色卡由24个不同色块构成, 光源条件为色温6500 K外加850 nm红外光, 为避免阴影和形状的影响, 在拍摄过程中, 应保持色板的平稳. 按本文所提的算法进行四带图像的校正, 并采用颜色空间的两点间距离来表示色差
5 结论与展望
本文提出了一种基于多项式回归思想的四带图像偏色校正算法, 该算法是在同种光源条件下, 巧妙的稍改摄像头模组, 对校正前后的两幅图像, 从标准24色卡的各个色块中获取数据. 根据四带图像的特点, 构建出合适的校正矩阵, 利用最小二乘法解出解串扰矩阵的各个系数, 将该解串扰矩阵对四带图像进行偏色校正, 并且在同种光源条件下对不同景物的四带图像进行校正. 实验结果表明, 由于在有850 nm双峰滤波片情况下, 近红外光对图像的影响并不会很大, 根据本文的算法进行校正可以大致的还原出原有的色彩, 达到了较好的校正效果. 对于今后多带图像校正情况的研究具有一定的参考价值.
[1] |
Lukac R. Single-sensor imaging: methods and applications for digital cameras. Boca Raton: CRC Press, 2008. 267–294.
|
[2] |
王欢, 陈向宁, 姜明勇. 偏色图像的色彩还原算法实现. 四川兵工学报, 2012, 33(3): 109-111. |
[3] |
林李金, 蔡坚勇, 蔡荣太, 等. 基于RGB色彩空间的四带树木图像颜色校正方法. 计算机系统应用, 2014, 23(4): 154-158. |
[4] |
Li L, Speed TP. An estimate of the crosstalk matrix in four-dye fluorescence-based DNA sequencing. Electrophoresis, 1999, 20(7): 1433-1442. DOI:10.1002/(ISSN)1522-2683 |
[5] |
臧留琴, 张镇西, 苗宝刚, 等. 多重定量PCR系统中多色荧光检测和光谱串扰校正方法. 光学学报, 2014, 34(1): 0117002. |
[6] |
Healey G, Kondepudy R. Radiometric CCD camera calibration and noise estimation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1994, 16(3): 267-276. DOI:10.1109/34.276126 |
[7] |
白雪生, 刘立峰, 徐光祐, 等. 基于颜色图直方图的监督颜色恒常性算法. 清华大学学报(自然科学版), 1997, 37(3): 1-6. |
[8] |
刘关松, 吕嘉雯, 徐建国, 等. 监督颜色校正方法研究. 计算机学报, 2003, 26(4): 502-506. |