基于结构信息相似度的线性投影灰度化算法
2020-07-18陈广秋王冰雪刘广文
陈广秋, 王冰雪, 刘 美, 刘广文
(长春理工大学 电子信息工程学院, 长春 130022)
灰度图像因具有能真正反映图像特征、 信息量小、 系统处理效率高、 对传输带宽及存储空间要求较低等优点, 在模式识别预处理[1]、 医疗病理诊断[2]和摄影艺术等领域应用广泛. 彩色图像灰度化是根据实际应用场景利用某种最佳映射函数, 将彩色图像中的像素值最优地映射到对应的灰度级上, 实现三维图像向二维图像的转换, 由于转换过程会使像素的取值范围减小, 因此不可避免地会丢失一些结构信息[3]. 常用的灰度化方法是采用固定权重对RGB通道进行加权求和, 如MATLAB软件中的rgb2gray函数; 或直接利用某个色彩空间的亮度通道, 如HSI和CIELAB. 这些方法虽然简单易实现, 但信息丢失也较严重.
目前彩色图像灰度化算法主要包括全局映射法、 局部映射法及混和映射法. 全局映射法是利用同一个映射函数对彩色图像中所有像素进行灰度化映射, 以保持结构信息的完整性, 得到的图像更自然, 视觉效果更好, 所以应用最广泛. 这类算法主要包括基于优化目标能量函数和图像信息线性投影两种, 前者通过最小化目标函数直接求解灰度图像或映射函数参数, 如Gooch等[4]利用灰度差与颜色差的最小二乘构造目标函数, 采用共轭梯度算法求解以保持颜色对比度; Kim等[5]将颜色与灰度图像之间的梯度差作为目标函数, 映射函数是一种非线性参数模型, 通过最小化目标函数求解映射函数中的参数; Zhou等[6]将灰度图像与原图像的显著度构造对比度模型作为目标函数, 采用线性组合RGB通道图像作为映射函数. 该类算法虽然能保留原图像的对比度信息, 但由于需迭代优化目标函数, 复杂度较高, 因此不利于实际应用; 后者通过离散搜索的方式寻找最佳投影方向, 得到通道映射函数的权重, 如Chen等[7]为了获得映射函数中的权重参数值, 通过优化求解两幅图像特征值间的全局差分最小值; Liu等[8]将映射函数构造成两部分和的形式, 一部分采用MATLAB中的rgb2gray函数, 另一部分通过求解目标函数最小值获得最佳投影方向, 得到权重; Nafchi等[9]在线性投影框架内利用Pearson相关系数直接求取映射函数权重, 得到灰度图像的输出. 该类算法实现简单, 运算速度较快, 但由于相关系数只能反映图像间结构的相似性, 对彩色图像的亮度和对比度并不能最优地映射到灰度图像中, 因此输出结果也并非最优[10].
为了得到最优的灰度图像, 同时兼顾计算效率, 受文献[9]启发, 本文提出一种基于结构信息相似度的线性投影灰度化算法, 通过度量RGB通道图像与对比图在相关性、 亮度和对比度方面的相似程度, 直接估计全局线性权重参数, 避免了通过复杂的优化迭代或收敛搜索算法求取最佳投影方向过程, 能更好地保持全局结构信息, 输出图像更自然, 更符合人的视觉感知.
1 算法基本原理
1.1 结构信息相似度
图像的结构信息定义为表示场景中对象结构的属性, 包括亮度、 对比度和结构, 文献[11]整合了上述3种属性, 提出了采用结构信息相似度(structural similarity, SSIM)客观评价两幅图像间的相似程度. 设两幅图像分别为f,h, 则SSIM评价系统框图如图1所示.
图1 结构信息相似度评价系统框图
亮度、 对比度和结构比较函数分别定义为
其中:mf和mh为图像f和h的均值, 表示图像的整体亮度;sf和sh为图像f和h的标准差, 表示图像的整体对比度;sfh为图像f和h的协方差, 表示两幅图像间的相关联程度;E1,E2,E3是为了避免分母为零而引入的常数. 均值、 标准差和协方差的计算公式分别为:
(4)
(5)
(6)
整合式(1)~(3), 图像f和h的结构信息相似度(SSIM)定义为
SS(f,h)=(b(f,h))p·(r(f,h))q·(c(f,h))g,
(7)
其中参数p,q,g为常数, 用以控制各部分在SS(f,h)中的比例, 其值大于零, 在实际应用中通常取p=q=g=1. 如果E3=E2/2, 则式(7)可表示为
(8)
其中: 第一项b(f,h)是度量图像f与h间亮度接近程度的量, 取值范围为[0,1], 只有当mf=mh时,b(f,h)=1; 第二项r(f,h)是度量图像f与h间对比度相似程度的量, 取值范围为[0,1], 只有当sf=sh时,r(x,y)=1; 第三项c(f,h)为相关系数, 用以度量图像f与h间的线性相关程度, 即结构的相似度, 取值范围为[-1,1], 只有当hi=zfi+n时,c(f,h)=1(i=1,2,…,K),z>0,n为常数. 所以SS(f,h)的取值范围为[-1,1].
1.2 线性投影灰度化算法
人类视觉感知系统对图像的亮度和对比度较敏感, 彩色图像灰度化的目的是将彩色图像中亮度、 对比度和细节信息最大限度地转移到灰度图像中, 生成一幅自然灰度图像, 以满足人类的视觉感知. 本文提出的灰度化算法属于全局映射法, 映射函数为
Q(x,y)=ωRVR(x,y)+ωGVG(x,y)+ωBVB(x,y),
(9)
其中:Q表示灰度图像;ωX,VX(X∈{R,G,B})分别为RGB通道的权重和强度值. 因此, 上述彩色图像灰度化问题即转化为求解映射函数中3个未知权重系数的问题. 如果表征结构信息的对比图像已知, 则通道图像与对比图像的结构信息越相似, 表明该通道图像所对应的权值越大. 基于此, 本文设计一种根据输入图像的RGB通道图像与对比图的结构信息相似度直接求解全局线性权重参数ωX的算法, 求解过程中无需迭代优化目标能量函数或离散收敛搜索, 提高了求解权重参数的效率和全局最优度, 保障了灰度化的效果. 算法实现步骤如下.
1) 对比图的构造. 对比图是一幅特征参考图像, 需要尽可能多地保持彩色图像的对比度和亮度信息. 在RGB图像中, 通道图像的像素取值范围为[0,255], 则RGB图像的像素取值达到16 777 216种, 从而需要所构造的对比图应有尽可能多的取值, 以保持图像的亮度、 对比度和结构细节信息, 所以利用图像的均值和标准差构造对比图. 设m(x,y)和s(x,y)分别为输入图像V(x,y)的平均图和标准偏差图, 则
m(x,y)=[VR(x,y)+VG(x,y)+VB(x,y)]/3,
(10)
(11)
m(x,y)的灰度取值有766种,s(x,y)的灰度取值有16 365种, 即从彩色图像到灰度图像的转换过程中会丢失大量的结构信息(包括对比度和亮度). 为了减少信息损失, 将平均图m(x,y)与标准偏差图s(x,y)进行“与”运算, 构造一个既包含亮度信息又包含对比度信息的对比图T(x,y), 即
T(x,y)=m(x,y)×s(x,y).
(12)
对比图T(x,y)的灰度取值超过200万种, 极大降低了转换过程中信息的损失.T(x,y)的构造过程如图2所示. 由图2可见, 图像T(x,y)能更好保留输入图像的对比度和亮度信息.
图2 对比图的构造过程
2) 结构信息相似度的计算. 利用式(8)分别计算RGB三通道图像与对比图T(x,y)之间的结构相似度, 得到SSRT,SSGT,SSBT, 则
TSS={SSRQ,SSGQ,SSBQ}.
(13)
3) 通道全局权重的计算. 对比图像中保持了原图像的亮度和对比度信息, 所以彩色图像各通道与对比图的结构信息相似度越高, 该通道图像获得的权重越高, 反之, 权重越小.
根据上述权重规则, 将通道图像的SSIM模值映射到θX, SSIM值直接映射到ρX,X∈{R,G,B}, 计算公式如下:
(14)
(15)
ωX=|θX+min{θX,ρX}|,
(16)
2 实验结果与分析
2.1 参数设定
2.2 不同灰度化算法的主观评价分析
图3 不同参数值的灰度化效果评价
(A) 原图像; (B) Intensity算法; (C) Gooch算法; (D) Grundland算法;(E) Smith算法; (F) Seo算法; (G) Nafchi算法; (H) 本文算法.
由图4可见, 7种算法都能较好地保持原图像的整体结构特征, 但本文算法在对比度和结构细节保持方面有一定优势, 图像更符合视觉观察习惯. 第一幅图像中Nafchi和Intensity算法并未体现3种辣椒的颜色差异,Gooch,Grundland和Seo算法结果出现一定程度的灰度失真, 本文算法能较好地保持对比度, 颜色差异体现较明显; 第二幅图像中Intensity,Gooch,Grundland和Nafchi算法都没有很好地保持图像中花和蝴蝶翅膀的对比度和细节信息; 第三幅和第四幅图像中Intensity,Gooch,Grundland和Smith算法得到的灰度图像丢失了较多的彩色图像对比度信息,Seo算法虽然有所改善, 但仍能观察到有信息丢失, 如在含有不同颜色段的第四幅图像中, 左上角的浅绿色和灰色背景部分在灰度图像中并没有明显的区分度,Nafchi和本文算法得到的灰度图像均能较好地区分彩色图像中各部分色彩和背景信息, 具有较好的对比度和视觉效果; 在含有数字“25”的第五幅图像中,Smith算法得到的灰度图像很难观察出隐藏的数字,Nafchi和Gooch算法得到的结果中勉强能辨认出数字“2”, 但对数字“5”几乎无法辨别,Intensity和Seo算法得到的结果有所改善, 能观察出部分数字信息,Grundland和本文算法得到的结果中, 能清楚地观察到所含有的数字, 很好地转移了源图像的亮度和对比度信息, 但本文算法的结果结构信息更丰富; 第六幅及其局部放大图中,Gooch,Grundland,Smith和Seo算法得到的灰度图像中并未表现出局部区域所存在的色差, 出现较明显的失真现象,Intensity算法得到的结果色彩与饱和度较差,Nafchi和本文算法得到的灰度图能体现出局部区域的色差, 但在视觉感知方面, 本文算法略优于Nafchi算法.
为了证明本文算法具有较好的鲁棒性, 实验图像集中另外10幅图像的灰度化结果如图5所示. 由图4和图5可见, 本文算法在灰度化过程中不仅能较好地保持原图像的整体结构并体现色差的对比度, 且具有良好的整体视觉感知效果[19].
(A) 原图像; (B) Intensity算法; (C) Gooch算法; (D) Grundland算法;(E) Smith算法; (F) Seo算法; (G) Nafchi算法; (H) 本文算法.
2.3 不同灰度化算法的客观评价分析
当灰度化图像间差异较小时, 视觉观察很难给出准确的主观评价, 需采用客观评价方法对灰度化图像进行定量分析. 本文客观评价方法采用显著图结构信息相似度(saliencymapstructuralsimilarity,SM-SSIM)[20]、 颜色对比度保持率(CCPR)[14]、 颜色内容保真率(CCFR)[14]和调和平均值(E-Score)[14]4个评价指标.SM-SSIM表征彩色图像显著图和灰度图像显著图的结构信息相似程度, 其值越大越好;CCPR表征灰度图像中对比度与输入颜色的相似程度, 其值越大越好;CCFR表征灰度图像中结构内容与输入颜色的相似程度, 其值越大越好;E-Score是CCPR与CCFR的调和平均值, 其值越大越好. 表1列出了本文算法与其他6种对比算法对所选16幅测试图像进行灰度化结果客观评价指标的平均值, 其中CCPR,CCFR和E-Score是在阈值τ=15时所得平均值. 由表1可见, 本文算法在各类客观评价指标中均最优, 与主观评价结果一致, 说明本文算法具有一定的优越性和稳定性, 能更有效地保持输入彩色图像在灰度化前后的整体结构信息.
表1 不同灰度化算法实验的客观评价结果
图6为各灰度化算法的CCPR(A),CCFR(B)和E-Score(C)的平均值随阈值τ的变化曲线. 由图6可见, 本文算法的CCPR,CCFR和E-Score值明显优于其他6种灰度化算法, 进一步表明本文算法能有效地保持输入彩色图像的整体结构信息.
图6 各客观评价指标随阈值τ的变化曲线
为了说明本文算法在计算效率方面的优势, 在相同的测试条件下, 对本文算法与其他6种对比算法对4幅不同尺寸的图像进行灰度化实验, 各算法的运行时间列于表2. 实验环境为Windows7操作系统, CPU 2.4 GHz, 内存6 GB, 仿真软件MATLAB 2016b. 由表2可见, 本文算法的计算效率低于权值固定的Intensity算法, 但优于其他5种算法, 说明本文提出的灰度化算法能较好地平衡灰度化效果和计算效率间的矛盾, 能得到与对比度感知一致的灰度图像.
表2 不同灰度化算法的运行时间(s)