知识普及:逆马赛克变换(Demosaicing)
2009-09-25
作者:来源:视觉网
本文主要讲解逆马赛克变换的原理,文中照片由映美精DFK 31BF03-Z2.H采集所得。
逆马赛克算法是一种数字图像处理方法,用于重建图像的所有色彩信息,其算法对象为装有彩色滤镜阵列(CFA)的图像传感器,这种彩色滤镜阵列中所有滤镜的通过波长是不完全一致的。逆马赛克变换也称作CFA插值或色彩重建。
同当前大部分的数码相机一样,映美精DFK 31BF03-Z2.H彩色相机使用一片带有CFA的图像传感器采集图像,逆马赛克变换是把采集数据转化成为可视图像格式的重建过程。
逆马赛克变换的目标:
CFA输出经过空间采样的色彩通道数据,逆马赛克变换算法的目标是使用这些数据中重建所有的图像的所有色彩(例如所有位置的三色值)。这种算法一般包括以下特征:
? 避免错误色彩信息的进入,比如色彩混淆、锯齿边(一组相邻像元亮度不自然地亮暗变化)以及紫边。
? 保持图像最大分辨力不变。
? 计算复杂性低,可使用相机硬件资源在内部完成快速而有效的计算。
? 易于图像分析以进行准确的降噪处理。
彩色滤镜阵列:
彩色滤镜阵列位于图像传感器前,是像马赛克一样的彩色滤镜。实际应用中,最常用的CFA构型是Bayer滤镜,如上图所示。Bayer滤镜在奇数行是红绿交替的滤镜,在偶数行是绿蓝交替的滤镜。绿色滤镜的数量是红色或蓝色滤镜的2倍,目的是模仿人眼对绿光敏感的特性。
由于CFA的颜色采样结果原理上会产生混叠,通常在图像传感器和镜头间会装有光学抗混叠滤镜,以减少由插值产生的错误颜色信息(色彩混淆)。
由于每个传感器的像元位于滤镜后面,其输出值为对应的像素值,该值描述对应的三种滤镜之一的原始亮度信息。因此,需要相关的算法去估算每个像元的颜色值,而不是某个颜色分量的数值。
逆马赛克变换示意图:
如果要以彩色滤镜阵列中采集到的数据重建图像的所有色彩,就需要插值算法来完成空值的计算。这里要求算法不再需要其它的计算条件,由此引入逆马赛克算法。
在本例中的示意色块图由映美精出品的Bayer Demonstrator软件生成。
下图表示经由Bayer滤镜后输出的数据,每个像元只含有一个红色、绿色或蓝色分量。
Bayer滤镜采样:
红色分量
绿色分量
蓝色分量
数字相机采用的典型算法是通过对以上分量求平均值来重建完整的RGB图像。软件Bayer Demonstrator提供两种算法:相邻像元复制和相邻像元求平均,结果如下图:
直接复制相邻像元色彩值及其局部:
相邻像元求平均值及其局部:
重建出的图像在纯色区域内色彩正确,但是分辨力(细节和锐度)会降低,而且会出现边缘混淆(比如局部图像中可以看出色彩混叠和粗糙的边缘)。
逆马赛克算法:
简单插值:
这种算法是典型的均匀网格多元插值算法,对同样颜色分量的相邻像元值进行直接插值计算。这种最简单的方法称为最近像素插值算法,这种算法简单地把相同色域通道中邻近的像素值复制。在对图像质量有一定要求的场合不宜使用,但可以应用于图像预览中,因为这种算法占用很少的计算资源。另外一种简单的算法为双线性插值,使用这种算法,非红色像元的红色分量值通过其相邻2个或4个的红色像素值平均求得,蓝色与绿色算法类似。各颜色层内更复杂的独立插值算法包括双三次插值、样条插值和Lanczos resampling插值。
尽管这些算法在纯色图像区域中能够获得较佳效果,但是配合纯色CFA使用时在边缘及细节处容易产生严重的逆马赛克色彩混淆。另外,线性插值配合时空谱(泛色)CFA使用时可以获得非常好的效果。
图像内的像元相关性:
更复杂的逆马赛克算法研究彩色图像内像元时域或频域内的相关性。时域相关性是图像内像素值的变化趋势,用于估算类似的色彩值。频域相关性是在较小的图像区域内像素值与其它颜色层的依赖关系。
这种算法包括:
? 变数梯度内插法:这种算法计算兴趣像元附近的梯度值,并用较低的梯度(表示图像更平滑及更相似的部分)估算插值。这种算法曾用于dcraw软件的第一版中,容易受颜色混淆的影响。
? 像素组群法:该算法使用自然景物的假设进行估算。与变数梯度内插法相比,该算法在自然图像中产生的彩色混淆较少。在版本为8.71后的dcraw软件中有所使用,在软件中被称作“像素图像组群法”。
? 自适应均质导向内插法:这种算法选择内插的方向,以使计量结果均匀性最大,通常可以把色彩混淆减至最小。在dcraw软件近期的各版本中均有包含。
视频中的超分辨率/逆马赛克:
从近年的发展看出超分辨率与逆马赛克是一个问题的两个方面,将二者归为一类未尝不可。要注意两者均要对付色彩混淆问题。因此,尤其在视频重建领域(多帧),超分辨率与逆马赛克处理的综合应用将提供最优的重建方法。
专用算法情况:
许多商用软件使用专用算法,并不对大众开放,不一定与现有的已公布的算法相同。而映美精DFK 31BF03-Z2.H相机提供最近色彩、双线性、边界锐化3种插值方法,对用户透明,使用者可依据采集图像特点酌情选择,或直接在原始数据基础上使用自己的插值算法。
权衡:
有些算法处理自然景物时能得到更佳效果,而有些处理扫描文档时效果更佳。这说明在估算像素值时还有我们所不知道的影响因子存在。此外,运算速度与图像质量的矛盾也依然存在。
如果使用可以导出原始数据格式图像的相机(如DFK 31BF03-Z2.H),就可以使用不同的逆马赛克算法,有时会得到更高质量的图像。
软件:
由映美精制作的DeBayer原理演示软件Bayer Demonstrator能够形象说明逆马赛克的过程,该软件免费为用户提供,可从以下链接进行下载:
http://www.theimagingsource.com/downloads/bayerdemonstrator.en_US.zip