光学仪器  2022, Vol. 44 Issue (3): 68-74   PDF    
基于RGB颜色信息聚类的光谱反射率重建
程青彪, 陈广云, 王大文, 李欣庭, 冯洁     
云南师范大学 物理与电子信息学院,云南 昆明 650000
摘要: 针对光谱反射率研究中因训练样本数据量大造成的冗杂等问题,提出了一种基于RGB信息进行聚类的样本分类方法。首先对颜色进行聚类并确定聚类个数,后对每一类光谱反射率使用BP神经网络分别进行重建。对于实验结果,使用ΔE00、均方根误差(RMSE)以及适应度系数等标准进行评价,同时与主成分分析算法进行对比。从实验分析可得出,在聚类数目为7时光谱反射率重建效果最好,这时的平均CIE2000的色差为0.836,平均RMSE为0.0149,平均适应度系数为99.82%,并且,在最后对重建色差较大的色块进行了优化处理。实验证明,颜色聚类方法可以很好的应用于光谱反射率重建。
关键词: 聚类分析    光谱反射率重建    BP神经网络    颜色    
Spectral reflectance reconstruction based on RGB color information clustering
CHENG Qingbiao, CHEN Guangyun, WANG Dawen, LI Xinting, FENG Jie     
College of Physics and Electronic Information, Yunnan Normal University, Kunming 650000, China
Abstract: Aiming at the problem of redundancy caused by the large amount of training sample data in the study of spectral reflectance, a sample classification method based on RGB information is proposed in this paper. Firstly, the color is clustered and the number of clusters is determined. Then, the BP neural network is used to reconstruct each spectral reflectance. The experimental results are evaluated by color difference, root mean square error and fitness coefficient, and compared with principal component analysis algorithm. From the experimental analysis, it can be concluded that the spectral reflectance reconstruction effect is the best when the number of clusters is 7. The average CIE2000 chromatic aberration is 0.836. The average root mean square error is 0.0149, and the average fitness coefficient is 99.82%. Finally, the color blocks with large reconstruction chromatic aberration are optimized. Experiments show that color clustering method can be well applied to spectral reflectance reconstruction.
Key words: cluster analysis    spectral reflectance reconstruction    BP neural network    color    
引 言

随着数字技术的不断发展,我国对于颜色精确复制的研究也在不断向前推进。目前使用较多的颜色复制的方法是通过多光谱成像系统以及分光光度计,测出训练样本在各个波段的响应值以及不受其他条件干扰的光谱反射率,从而进行光谱反射率重建该方法能够较好的完成颜色重建工作。所使用的方法主要包括伪逆法[1]、多项式扩展法[2]、主成分分析法(PCA法)[3-4]、BP神经网络[5]等,其中,BP神经网络是一种重建精度较高的方法。它将相机响应值与经过奇异值分解的训练样本的主成分系数进行建模,然后使用建立好的模型以及测试样本的响应值得出测试样本的主成分系数,将其与基向量结合完成光谱反射率的重建[5]

使用BP神经网络重建光谱反射率不可避免的需要用到训练样本与测试样本,因此样本的选择对于重建精度也会产生较大的影响[6]。针对这一问题,研究人员也提出了许多样本选取方法,主要包括Hardeberg提出的最小条件数选取方法[7]、Shen等提出的特征向量优化的颜色样本选取方法[8]、Mohammadi等提出的光谱空间距离聚类的样本选取方法[9],以及龙艳群等提出的聚类方法[6]等。在选择样本时,使用聚类算法可以对样本进行更精确的分类。龙艳群等[6]在实验中采用的聚类方法主要是基于色度空间对于所有样本进行聚类分析,即在CIEL*a*b*色度空间对样本从a*、b*两个维度进行聚类,然而,这种方法没有包含样本亮度信息。本文通过将信息相近的样本分为一类以提高重建精度,为了使实验能够在一定程度上减少工作量的同时保证聚类效果,提出针对相机响应值直接进行模糊聚类的光谱反射率重建算法。这种模糊聚类方法能够对样本颜色信息和亮度信息同时聚类,更多的利用了样本自身的信息,能够通过相近颜色的样本进行训练与重建,从而提高重建精度。在实验中,首先根据均方根误差初步确定出最优聚类数目[10],之后使用BP神经网络、主成分分析法进行光谱反射率重建并对结果进行对比评价。实验结果表明,本文所提出的方法对于光谱反射率重建精度有较高的提升。

1 光谱反射率重建算法 1.1 主成分分析法(PCA法)

光谱反射率重建一般是利用多光谱成像系统设备响应值来重建颜色的光谱反射率,其实质是建立样本的相机响应值与光谱反射率之间转换矩阵,利用转换矩阵实现光谱重建。而在实际实验的过程中,通过分光光度计获取的光谱反射率数据特征较多,存在部分噪声,对实验效果会产生一定的影响。使用PCA法能够对高维数据进行降维处理,从而降低噪声的影响[11]。它将多维的光谱数据分解为一系列的特征向量的线性叠加,后通过分解出的主成分系数进行光谱反射率重建。

将光谱反射率数据集R表示为n个相互正交的特征向量bi的线性组合[12],则:

$ {{\boldsymbol{R}}} = {\boldsymbol{Ba}} = \sum\limits_{i = 1}^n {{{\boldsymbol{b}}_i}{{\boldsymbol{a}}_i}} $ (1)

式中: $ {\boldsymbol{B}} = [{{\boldsymbol{b}}_1},{{\boldsymbol{b}}_2},\cdots,{{\boldsymbol{b}}_n}] $ 是特征向量矩阵; ${\boldsymbol{a}} = [{{\rm{a}}_1}, { {\rm{a}}_2},\cdots,{{\rm{a}}_n}]^{\rm{T}}$ 是转换矩阵,即主成分系数。

对反射率数据集进行奇异值分解可得:

$ {{\boldsymbol{R}}} = {\boldsymbol{US}}{{\boldsymbol{V}}^{\rm{T}}} $ (2)

其中,S是由大到小排列的奇异值组成的对角矩阵:

$ {\boldsymbol{S}} = {\text{diag}}({\lambda _1},{\lambda _2},\cdots,{\lambda _i}) $ (3)

原光谱反射率数据可以通过选取前k个主成分进行线性组合来表示。前k个主成分的重要程度可以通过主成分贡献率 $ {\rho _k} $ 来表示,即:

$ {\rho _k} = \sum\limits_{i = 1}^k {{\lambda _i}} /\sum\limits_{i = 1}^n {{\lambda _i}} $ (4)

式中: $ {\lambda _i} $ 为第i个主成分的贡献量;n为总的主成分个数。

1.2 BP神经网络

BP神经网络由输入层、隐含层、输出层三部分构成,其学习过程包括向前传递和向后传播两部分。在进行正向传播时,样本数据从输入层传入,经过隐含层逐层处理后,最终传向输出层[5,13],即:

$ S = {{{f}}} (WX + b) $ (5)

式中:S为输出值;X为输入值;f为激活函数,实验选用Sigmoid函数进行激活;W为权值;b为阈值。

如果输出层的实际输出与期望输出不符,那么将进入误差的反向传播阶段。误差的反向传播将输出误差通过隐含层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号:

$ E = S_{\rm{E}} - S_{\rm{E}}' $ (6)

式中:E为误差;SE为期望输出; $S_{\rm{E}}' $ 为实际输出值。

误差信号将作为修正各单元权重的依据对网络中每一个神经元进行权重调整,进而使输出值接近期望目标。

在本文实验中,采取双层向前型神经网络结构,成像系统相机的响应值作为神经网络系统的输入值,输出值则为主成分系数。该神经网络的第一层有10个神经元,输出函数为Tansing函数;第二层有8个神经元,输出为Purelin线性函数。输入信号为相机响应信号向量,使用数据集中前8个特征向量来代表整体,与其相对应的系数作为主成分系数。神经网络中的权值和阈值可通过训练样本拟合数据而得到,通过训练好的神经网络,得到测试样本主成分系数,再将它与基向量计算从而得出重建的光谱反射率[5]

2 颜色模糊C–均值聚类算法(FCM)

在进行光谱反射率重建的研究中由于光谱数据维度高且较冗杂的现象,会使重建工作耗费更多的时间且重建精度较低,因此研究者们采用不同的样本选择进行光谱反射率重建来提高重建精度。本文在此基础上,根据颜色RGB信息的空间距离来对色卡数据进行模糊C–均值聚类,并对聚类后每一类的样本进行光谱反射率重建来验证其可行性。

模糊C–均值聚类是众多模糊聚类算法中使用最广泛且比较成功的一种,它通过优化目标函数得到每个样本点对所有类中心的隶属度,然后决定每个样本点的类属以达到自动对样本数据进行分类的目的。

其目标函数为:

$ {{{J}}} ({U_{ij}},{{C_i}}) = \sum\limits_{i = 1}^K {\sum\limits_{j = 1}^N {{u^m}_{ij}} } \left\| {{x_j}} \right. - {\left. {{C_i}} \right\|^2} $ (7)

式中: $ {U_{ij}} $ 为第j个样本对于第i类的隶属度; $ {C_i} $ 为第i个聚类中心;m为大于等于1的常数; $ {x_j} $ 为第j个样本。目标函数实质是各样本点到各类的欧式距离的和(误差的平方和)。聚类的过程就是最小化目标函数的过程,经过反复的迭代逐步降低目标函数的误差值,当目标函数收敛时,就能够得到最终的聚类结果[13]

对于目标函数,还存在限制条件:

$ \sum\limits_{i = 1}^K {{u_i}_j} = 1\;(j = 1,2,\cdots,N) $ (8)
3 实验与结果分析

本文实验以Munsell色卡作为研究样本,采用CIE推荐的45/0(45°/垂直)照明和观测条件,利用佳能相机在D65标准光源下,拍摄Munsell色卡的RGB图像以获取相应的相机响应值。同时,使用分光光度计X-Rite SP64在D65光源2°视场下,以10 nm为间隔采集400~700 nm波长的Munsell色卡的光谱反射率数据。Munsell色卡共包含1 602个色块,为了确保实验的有效性,实验取出第10ii=1,2,3 $ \cdots$ )个色块作为测试样本,其余色块作为训练样本,因此实验共有1442个训练样本,160个测试样本。通过对测试样本RGB信息聚类从而将样本分为颜色相近的每一类,后使用BP网络进行每一类样本的光谱反射率重建。

对于光谱反射率重建结果的评价采用RMSE、CIE2000色差 $ \Delta {E_{00}} $ [14]以及适应度系数GFC[15]。RMSE的大小能够直接反应出重建效果的好坏。色差主要用来评定在色度角度的重建效果,色差越小重建效果越好。适合度系数GFC是重建反射率与实际反射率之间的余弦角,它能够反映出重建反射率的光谱精度。

3.1 颜色模糊聚类(FCM)

在使用聚类算法进行实验的过程中,聚类的个数是影响算法精度的一个主要因素,因此本文利用平均RMSE作为聚类的有效索引来寻找测试样本最优的颜色聚类数目,如图1所示。图2为测试样本的聚类情况分布图。

图 1 不同聚类数的平均RMSE Figure 1 Average root mean square error of different clustering numbers

图 2 测试样本聚类情况分布图 Figure 2 Test sample clustering distribution map

图1中RMSE随着聚类数目的增多先呈下降趋势,后产生一定的上下振荡,最后逐渐增大。产生该现象可能是由于色块的RGB值分布较为散乱,对聚类分析产生了一定的影响。当聚类数目确定在一定范围内时,系统能够较好的对色块进行聚类,而当聚类数目大于或小于此范围时,聚类效果将会大大降低。从图1中可以看出,以平均RMSE作为特定类的有效索引,类太少或太多都不能达到有效聚类,只有当聚类数目为7时,达到该特定的类索引的最佳值。图2所展示的是聚类数目为7时的测试样本分布图,可以看出聚类的效果也较好。因此本实验采用聚类数目为7类,其平均RMSE达到最小值0.0149。图3对于每一类色块进行了具体展示,可以看出同一类的色块大体具有较为相近的颜色。

图 3 160测试样本聚类结果 Figure 3 Clustering results of 160 test samples

为了能够客观的分析每一类样本的光谱反射率重建效果,表1展示了每一类样本反射率重建后的平均RMSE与ΔE00,从表中可以看出7类样本的平均RMSE和ΔE00总体都偏小,其中,第一类样本的平均RMSE最小,而最小平均ΔE00则是第三类样本,其他样本的平均RMSE和平均ΔE00也并没有直接联系,因此对于光谱反射率重建的结果需要从不同的维度进行分析对比。

表 1 不同类别RMSE与ΔE00比较 Table 1 Comparison of root mean square error and chromatic aberration of different categories
3.2 不同重建方法对比

为了验证文中所提出的方法的可行性与有效性,我们对采用颜色模糊聚类-BP神经网络重建法(FCM-BP)与未聚类之前的BP神经网络重建法(BP)、PCA法以及聚类后主成分分析法(FCM-PCA)的光谱反射率重建效果进行对比,结果如表2所示。

表 2 不同重建方法结果 Table 2 Results of different reconstruction methods

表2可以看出,无论BP法还是PCA法,经过聚类后的结果都优于未经过聚类处理的结果,而经过聚类后的BP重建方法效果最优,其平均RMSE达到了0.0149,平均ΔE00降到了0.836,GFC提高到了99.82%。图4是随机抽取的色块利用以上4种方法重建后的光谱反射率曲线。从图4可以看出,除第一幅重构曲线外,本文提出的方法与其他三种方法所重建出的光谱反射率在高反射率情况下的对比相较于低反射率情况下更加明显,产生该现象可能是由于所选样本在低反射率的情况下重建效果恰好较好。而第一幅曲线在低反射率和高反射率情况下的对比均较为明显,这也取决于对重建样本色块的选择。整体来看,本文所提出的FCM-BP算法重建出的光谱反射率与真实反射率曲线虽然还存在一些偏差,但整体比较吻合,也更优于其他三种方法,对于Munsell色卡的重建拟合度和精度更优。图5是四种重建方法重建出的色块的ΔE00比较图,柱状图中各个柱形表示不同ΔE00范围的色块数量。


图 4 部分色块光谱反射率重建曲线 Figure 4 Spectral reflectance reconstruction curve of partial color block

图 5 不同重建方法ΔE00比较 Figure 5 Color difference comparison of different reconstruction methods

图5可以看出,由FCM-BP算法重建出的色块ΔE00最小,其中有140个色块的ΔE00小于1.5,ΔE00大于1.5小于3的色块有17个,ΔE00在3和4.5之间的色块有3个;没有ΔE00大于4.5的色块,明显优于其他三种方法;而ΔE00在3到4.5之间的3个色块分别为第240色块、第330色块和第370色块,均属于第六类样本,且该类中也有4个色块的ΔE00在1.5和3之间,由此可见第六类样本的光谱反射率重建效果相比于整体较差。

针对FCM-BP算法重建出的色块中有三个ΔE00在3到4.5的现象,实验对其进行一定程度的优化处理:采用多项式扩展法[15-16]通过扩充色块响应值信息后再对第六类样本进行重建。实验根据对ΔE00较大的三个色块的优化程度选择多项式扩展项数为14项,此时重建色块与未扩展前的第六项色块ΔE00与RMSE对比如表3所示。

表 3 第六类色块优化前后ΔE00与RMSE对比 Table 3 Comparison of color difference and root mean square error before and after the sixth color block optimization

表3可以看出,重建后第240色块的RMSE和ΔE00产生了一定程度的上升,但在可接受的范围内,而另两个色块的RMSE和ΔE00均有一定的减小,样本ΔE00分布由原来三个在3到4.5之间优化到了一个,优化后第六类色块的平均ΔE00与平均RMSE分别由1.260和0.0173降低到1.247和0.0162。

从实验结果可以看出,直接利用RGB颜色信息对样本进行聚类,然后再针对部分聚类后重建效果不够理想的类进行多项式扩展,最后进行光谱反射率重建,能够对样本数据进行有效优化,可较好的被应用于光谱反射率重建的研究中。

4 结 论

本文针对光谱反射率重建样本选择的研究,在现有方法的基础上提出了使用样本颜色RGB信息进行聚类的样本选取方法,首先确定出最优的聚类数目,随后再使用BP神经网络对于每一类样本分别进行光谱反射率重建。这样选取出的样本选择可以使样本在色度空间具有较强的一致性。对于实验的结果分别从色度角度、光谱角度以及适应角度进行评价。结果表明,本文提出的颜色聚类的光谱反射率重建方法具有较好的光谱精度与色度精度,所得的结果优于现有的PCA以及BP神经网络等算法,同时对于实验结果中一些ΔE00较大的色块进行了一定程度的优化处理,在光谱重构、光谱数据处理等领域具有一定的应用前景。

参考文献
[1] SHIMANO N, TERAI K, HIRONAGA M. Recovery of spectral reflectances of objects being imaged by multispectral cameras[J]. Journal of the Optical Society of America A, 2007, 24(10): 3211–3219. DOI:10.1364/JOSAA.24.003211
[2] DUPONT D. Study of the reconstruction of reflectance curves based on tristimulus values: comparison of methods of optimization[J]. Color Research & Application, 2002, 27(2): 88–99.
[3] 李婵, 万晓霞, 刘强, 等. 基于主成分分析的光谱重建训练样本选择方法研究[J]. 光谱学与光谱分析, 2016, 36(5): 1400–1405.
[4] 刘传杰, 李玉梅, 陈浩杰, 等. 不同算法模型对光谱重构精度的影响[J]. 包装工程, 2018, 39(1): 168–173.
[5] 龚冬冬. 基于多光谱成像系统的光谱重建研究[D]. 昆明: 云南师范大学, 2020.
[6] 龙艳群, 王慧琴, 王可, 等. 基于样本优化选取的光谱重建方法研究[J]. 影像科学与光化学, 2017, 35(1): 88–96. DOI:10.7517/j.issn.1674-0475.2017.01.088
[7] HARDEBERG J Y. Acquisition and reproduction of color images: colorimetric and multispectral approaches[M]. Redmond: Dissertation. com, 2001.
[8] MALONEY L T. Evaluation of linear models of surface spectral reflectance with small numbers of parameters[J]. Journal of the Optical Society of America A, 1986, 3(10): 1673–1683. DOI:10.1364/JOSAA.3.001673
[9] MOHAMMADI M, NEZAMABADI M, BERNS R S, et al. Spectral imaging target development based on hierarchical cluster analysis[C]//The 12th Color and Imaging Conference Final Program and Proceedings. Scottsdale: Society for Imaging Science and Technology, 2004: 59 − 64.
[10] 易文娟, 孙刘杰, 陈志文, 等. 基于聚类分析的光谱重建样本分析[J]. 包装工程, 2019, 40(17): 249–255.
[11] 张晓晓. 基于核熵成分分析的光谱反射率重建算法研究[D]. 昆明: 云南师范大学, 2017.
[12] 王可, 王慧琴, 龙艳群, 等. 基于降维正则化多项式的光谱反射率重建方法[J]. 激光与光电子学进展, 2018, 55(5): 053004.
[13] 王志豪. 基于FCM的模糊聚类算法研究[D]. 厦门: 厦门大学, 2019.
[14] LUO M R, CUI G, RIGG B. The development of the CIE 2000 colour-difference formula: CIEDE2000[J]. Color Research & Application, 2001, 26(5): 340–350.
[15] 肖颖, 麻祥才, 王东东, 等. 基于扩展三通道响应项的光谱反射率重构算法[J]. 光学技术, 2019, 45(6): 696–700.
[16] 梁金星, 万晓霞. 彩色数码相机单幅RGB图像光谱重建研究[J]. 光学学报, 2017, 37(9): 0933001.