摘要:针对Bayer图像色彩重建效果越好的算法需要越多计算量,占用越多硬件资源问题,提出了一种低复杂度的色彩重建算法。首先使用Hamilton-Adam (H-A)算法对Bayer图像进行预插值并求出色差通道,接着通过求出5×5模板内判断插值方向的综合梯度因子,重新更新G通道缺失像元值,最后利用已重建的G通道求出缺失的R和B通道颜色。柯达测试图仿真结果表明,相对于其他算法,所提出的算法在PSNR上有较大优势;相机输出图像的色彩重建结果表明,本文算法在判断插值方向上的准确率更高;可抑制其他算法插值后出现的斑点现象,图像边缘清晰、完整。平均每个像元,本文算法只需要56次算数运算,不需要乘法和除法运算,减轻了FPGA算法实现中IP核的负担,易于硬件实现,完全满足项目需要。
成像系统通过表面覆盖Bayer型彩色滤波阵列(CFA)的CCD对像面进行采样,输出Bayer图像。由于图像中每个像元只含三基色(RGB)中的一种颜色信息,需要通过插值算法的插值以重建缺失的颜色信息。通常情况下,重建效果越好的插值算法运算量越大,硬件资源需求越大。如何在保证重建效果的情况下,使硬件资源占用最小,是实际存在的问题,也是重建算法研究的一个重点,具有现实意义[1]。
一般的重建法直接在RGB空间进行,如双线性插值(BI)、边缘及色差权重法(WEDC)[2]、迭代投影法(AP)[3]、集成梯度法(IGD)[4]、色差方差插值法(VCD)[5]、多范围梯度法(MSG)[6]、色差空间迭代插值法[7]等。部分插值算法在其他颜色空间中进行,如在Lab空间定义颜色领域进行插值的自适应颜色相似法[8]、YCbCr空间的插值法[9]。转换颜色空间和迭代插值需要较多的硬件资源,直接在RGB空间进行的非迭代插值方法的研究现实意义更大。本文算法首先利用H-A算法对缺失的G通道进行预插值并求出色差通道,然后求出方向判断准确率较高的综合梯度因子,并以此判断插值方向,以单方向插值的方法重新求出G通道,最后利用G通道求出其他两种颜色通道缺失的颜色信息。文中最后通过仿真和外场成像图像的色彩重建结果,在PSNR、外场图像色彩重建效果和算法复杂性上,与所列举算法进行了对比。
2 Bayer图像插值算法 2.1 实验成像图像图1(a)及图1(b)所示为实验室研制的两款基于FPGA驱动的小型彩色相机,其光学系统焦距分别为6.5 mm和60 mm。相机输出为Bayer图样的图像,Bayer图样如图1(c)所示。图1(d)、图1(e)分别为图1(a)及图1(b)相机输出的Bayer图像。
图选项
|
彩色插值算法中,插值方向选择错误导致的插值颜色比由插值算法带来的误差更明显,因为前者往往和周围颜色在颜色空间中的位置相差甚远,导致图像失真严重。插值方向判断准确率越高的插值算法,其重建效果越好。
本文的插值算法首先通过插值预求出色差通道,接着通过求出待插值周围5×5模板内判断插值方向的综合梯度因子,通过综合梯度因子判断插值方向,最后利用预先插值出的色差值在插值方向上插值出新的色差值,用以更新G通道。算法最后通过已求出的G通道,对缺失的R和B进行插值。
2.2.1 G通道插值H-A插值法同时利用G通道和R通道求解缺失的G通道,重建效果较好[5, 10]。然而其插值方向判断的准确率略显不足,可利用H-A算法预求出其水平和垂直方向上的G值,作为后续计算的基础:
式(3)将位置更远的像元(F(i±2,j±2)),通过归一化系数加入考虑范围,可增加梯度因子的准确率。但是梯度因子只与F(i,j)相邻的4个像元值有关,因此,只通过DH和DV判断边缘及插值方向的准确率并不高,为更好评估某点的插值方向,引入F(i,j)点周围5×5窗口的综合梯度因子ωH和ωV:
综合梯度因子以插值周围25个梯度因子的和作为新的插值方向判断因子,减小只通过单个梯度因子判断插值方向的局限性,增加插值方向判断的准确率。式(4)中的ωH和ωV只用于判断插值方向,而不以加权因子的方式求色差值,避免了与插值方向无关的色差值加入到色差通道,外场成像图像的色彩重建也证实这种方法的可行性及优越性。求出综合梯度因子后,使用单方向加权方法求出R上新的色差通道值。即当ωH(i,j)≤ωV(i,j):
当ωH(i,j)>ωV(i,j):
式(5)和式(6)中的X可以是R或B。采取相隔一个插值点的色差值求${{\tilde{\Delta }}_{g,x}}$,减小了色差通道的计算量。缺失的G值的最终插值用式(7)表示:
R和B通道缺失的颜色值通过已求出的绿色通道值插值得出。首先插值R上缺失的颜色B和B上缺失的颜色R。算法的硬件实现中,缓存图像行数过多会占用较多的片上RAM资源。因此,利用VCD算法里具有抑制噪声的功能的模板Prb求解R和B的值[4],模版只需要缓存的3行图像数据。
⊗表示相应位置相乘并求和。式(8)的优点是可以只通过加法器及移位完成。
绿色值上缺失的R颜色值可通过该绿色值和R通道和G通道的差求出,如式(9)所示。
B颜色通道求法类似。Bayer图像所有缺失的颜色信息都已通过插值完成。
3 仿真及实验结果对比 3.1 算法仿真图2为6幅柯达测试图,用以测试插值算法。
图选项
|
仿真中采用PSNR评价色彩重建图像与原图的差别[1, 2, 3, 4, 5, 6]。表1所示的是所选取的5种算法和本文算法在重建图2中的测试图上,PSNR的对比。
Pic | WEDC | AP | IGD | VCD | MSG | Prop |
a | 39.65 | 41.63 | 43.42 | 42.71 | 43.72 | 42.69 |
b | 36.2 | 40.16 | 40.68 | 40.62 | 41.13 | 41.14 |
c | 38.34 | 41.84 | 42.7 | 42.26 | 43.51 | 42.52 |
d | 36.35 | 39.43 | 39.92 | 39.84 | 40.3 | 40.31 |
e | 35.25 | 39.53 | 41.84 | 41.03 | 42.17 | 41.04 |
f | 32.35 | 34.74 | 35.36 | 35.15 | 35.69 | 34.75 |
可以看出,色彩重建后,MSG算法的PSNR在六种算法中最高,本文的算法在图2(b)及图2(d)的色彩重建上有少许的优势。图3列出了不同算法在图2中的灯塔图恢复中的细节效果。
图选项
|
图3显示,本文算法在插值方向上的预测上具有较高的成功率,栅栏的伪彩色较图3(a)和图3(b)有较大的改善。IGD、VCD、MSG和本文算法都具有较好的色彩重建效果。
对于2×2窗口的Bayer图像,表2列出了4种算法的复杂度情况,以比较不同算法的运算量。其中WEDC及AP运用了迭代的方法,运算量不确定,不列入比较表格。
IGD | VCD | MSG | Prop | |
ADD | 180 | 340 | 348 | 176 |
MUL | 60 | 144 | 100 | 0 |
SHT | 36 | 30 | 44 | 38 |
ABS | 32 | 16 | 8 | 8 |
DIV | 20 | 16 | 22 | 0 |
CMP | 4 | 8 | 0 | 2 |
Total | 332 | 554 | 522 | 224 |
表2表明,本文算法的计算量最小,2×2窗口的Bayer图像重建算法只需要224次数学运算,平均每个像素只需要56次算数运算,仅为MSG的42.9%,算法易于硬件实现。值得注意的是,本文算法不需要乘法和除法,可通过移位完成相关操作,减轻了硬件实现过程中,FPGA的IP核负担。
3.2 外场成像图像色彩重建对比与讨论使用双线性、VCD、MSG和本文算法对微小相机输出的Bayer图像进行插值。由于没有计算PSNR所需的原始图像信息,本文采用插值后图像细节部分对比,以比较各算法的插值效果。
图选项
|
双线性插值算法的边缘保持能力差,出现拉链效应及模糊。VCD、MSG和本文的方法可较好地保持图像轮廓,重建细节效果较好。由于MSG算法在重建G通道上,采用了加权法同时引入了水平和垂直两个方向的插值,插值偏离理想值较多而出现斑点现象。从(1)图及(2)图中(a)~(d)子图的色彩重建可以看出,VCD的斑点现象最严重,其次是MSG算法,这些斑点现象同时也存在于图像的其他地方。本文算法存在的斑点现象则较轻,说明本文算法的插值误差较小。(2)图中(e)~(f)子图表明,VCD算法在插值方向上有判断错误,而MSG及本文算法未发生判断错误,说明基于综合梯度因子判断图像边缘的准确率高于VCD算法采用的色差方差判断法。实验结果显示,本文方法在保持轮廓边缘,体现物体细节的同时,斑点现象得到较好的抑制,体现了本文算法的优越性。
4 结 论提出了一种基于色差通道的低复杂度色彩重建算法,该算法使用综合梯度因子判断插值方向,采用单方向插值的方法重建G通道再利用重建的G通道重建R和B通道。柯达测试图仿真表明,所提出算法在PSNR上有一定的优势,并且在实验成像图像的色彩重建结果中,减轻了VCD及MSG算法出现的斑点现象,插值误差更小。在算法复杂度上,所提出的算法平均一个像元只使用了56次数学运算,不需要乘法和除法,提升了计算效率,减小了硬件实现中硬件资源的消耗。结果表明,算法在保证了Bayer图像色彩重建质量的情况下,易于硬件实现,具有现实意义。
[1] | 李华,朱波.基于FPGA的彩色图像实时采集系统设计[J].液晶与显示,2014,29(2):258-265. LI H, ZHU B. Design of real-time color image acquisition system based on FPGA [J]. Chinese Journal of Liquid Crystals and Displays, 2014, 29(2): 258-265. (in Chinese) |
[2] | BU F, QIAO W D, QIU Y H, et al. A novel weighted edge-directed and weighted-color-difference interpolation for demosaicking bayer-pattern color images[J]. Jour of Information & Computational Science, 2012, 9(7): 1781-1794. |
[3] | GUNTURK B K, ALTUNBASAK Y, MERSEREAU R M. Color plane interpolation using alternating projections[J]. IEEE Transactions on Image Processing, 2002, 11(9): 997-1013. |
[4] | CHUNG K H, CHAN Y K. Low-complexity color demosaicing algorithm based on integrated gradients [J]. Journal of Electronic Imaging, 2010, 19(2): 021104. |
[5] | CHUNG K H, CHAN Y H. Color demosaicing using variance of color differences [J]. IEEE Transactions on Image Processing, 2006, 15(10): 2944-2955. |
[6] | PEKKUCUKSEN I, ALTUNBASAK Y. Multiscale gradients-based color filter array interpolation[J]. IEEE Transactions on Image Processing, 2013, 22(1): 157-165. |
[7] | 梁晓芬,乔卫东,杨建峰,等.基于色差空间的Bayer图像的迭代插值算法[J].红外与激光工程,2014,43(9):3128-3133. LIANG X F, QIAO W D, YANG J F, et al. Iterative interpolation algorithm of Bayer images based on color difference space [J]. Infrared and Laser Engineering, 2014, 43(9): 3128-3133. (in Chinese) |
[8] | Keigo Hirakawa, Thomas W. P. Adaptive homogeneity-directed demosaicing algorithm [J]. IEEE Transactions on Image Processing, 2005, 14(3): 360-369. |
[9] | 喻再光,赵群飞.基于 YCbCr 三基色插值及其在DSP上的实现[J].计算机工程与应用,2005,41(10):104-106. YU Z G, ZHAO Q F. Three-color interpolation algorithm based on YCbCr and its implementation on a DSP system[J]. Computer Engineering and Application, 2005, 41(10): 104-106. (in Chinese) |
[10] | ADAMS JR J E, HAMILTON JR J F. Adaptive color plane interpolation in single sensor color electronic camera: United States, U.S. Patent 5629734[P]. 1997-07-29. |