基于相机rawRGB通过加权多项式和维纳估计方法重建光谱反射率
2021-10-17李富豪李长军
李富豪, 李长军
辽宁科技大学计算机与软件工程学院, 辽宁 鞍山 114051
引 言
随着数字图像技术的迅猛发展, 如何精确的实现颜色复制, 是颜色科学领域的重要课题。 为了能精确得到色度信息, 可以通过获取物体表面光谱反射率方法来判断物体的真实颜色[1-2]。 传统获取物体光谱反射率的方法是利用分光光度计准确地直接获取物体的光谱反射率, 但是难以对非平面的物体表面进行测量, 限制了其在复杂物体表面的应用。 数码相机可以对物体表面进行非接触式的拍摄, 并且可以记录RGB信息[3]。 Cao等[4]设计了一种基于RGB图像的局部线性近似的估计方法。 Amiri和Fairchild[5]提出了加权非线性方法, 通过加权提高了重构精度。 Liang等[6]通过对训练数据进行加权最小二乘来预测光谱反射率。 但此类方法都是通过单一光源下的RGB信息进行光谱反射率重建。 Zhang等[7]提出基于单一光源下相机RGB对多光源下的CIE XYZ值进行预测, 再根据多光源下的CIE XYZ值估计光谱反射率。
Zhang等的方法(以下简称Zhang方法)相比单光源下的光谱重构效果有所提高, 但两次自适应选取局部训练样本, 计算量较大, 在应用上不十分方便, 另外对选取的局部训练样本视为同等重要。 受Zhang方法启发, 本工作延用多光源的思想, 在单光源下的相机响应值预测不同光源下的CIE XYZ值这一过程进行加权来避免对训练样本的选取, 并采用维纳估计来重建光谱反射率。 通过实测数据比较表明本方法的光谱反射率预测精度明显好于Zhang方法。
1 相机成像原理
假定相机获取物体的响应值RGB构成的列向量为d, 则相机的成像系统模型[8]可以表示为
(1)
式(1)中,l(λ)为照明光源的光谱功率分布,r(λ)为所成像物体的光谱反射率,o(λ)为系统滤光片的光谱透过率,s(λ)为设备的光谱敏感函数,e为系统所产生的噪声。 当不考虑噪声时, 式(1)的代数离散表达式可以简写成如式(2)矩阵向量形式
d=Mr
(2)
式(2)中,M为相机整体系统的光谱灵敏度矩阵, 列向量r为物体反射率在可见光范围内均匀离散取点得到, 通常400~700 nm, 10 nm间隔取点, 共31个分量。 本文所述的相机响应值RGB, 均为rawRGB数据。 以下不再特别说明。
2 新方法介绍
2.1 基于RGB数据, 预测多光源下的CIE XYZ值
首先将相机响应向量d通过3阶多项式模型扩展为向量v, 其表达式为
v=(1RGBRGRBGBR2G2B2R2G
R2BG2RG2BB2RB2GRGBR3G3B3)T
(3)
这里的上标‘T’为向量或矩阵的转置。 然后确定转换矩阵Q使得
u=Qv
(4)
其中,u表示m个光源下的3m个分量的三刺激值列向量。 转换矩阵Q可由训练数据确定。 假定训练样本个数为n, 并令u(j)表示第j个训练样本在m个光源下的CIE XYZ构成的列向量;v(j)表示第j个训练样本相机响应向量d(j)按三阶多项式拓展的列向量;r(j)表示第j个训练样本的光谱反射率。 定义如式(5)和式(6)矩阵
U=(u(1),u(2), …,u(n))
(5)
V=(v(1),v(2), …,v(n))
(6)
所以由式(4)—式(6)可以得到
U=QV
(7)
式(7)中, 3m×n的矩阵U, 20×n矩阵V均已知, 因此可以通过式(7)采用伪逆或最小二乘方法确定出转换矩阵Q, 其表达式为
Q=UV+
(8)
这里上标‘+’表示广义逆[9]。 按上述方法确定的转换矩阵, 假定训练数据同等重要。 为根据给定的待测样本的相机响应向量d赋予训练数据不同的权重, 首先需要预估出该样本对应的CIE D65光源下的三刺激值。 为此需要按上述方式, 仅在CIE D65一个光源下训练出转换矩阵, 记为QD65。 因此对给定的待测样本的相机响应向量d, 便可计算出其扩展的向量v, 待测样本的预估三刺激值向量为
uD65=QD65v
(9)
(10)
色差e(j)体现对于给定的待测样本与第j个训练样本的接近程度, 越接近的训练样本, 权重应该越大, 本工作采用如式(11)计算权重
(11)
其中σ取值0.01, 代表补偿系数, 以防色差为零时计算权重为无穷大。 通过w(j)建立加权矩阵
(12)
有了加权矩阵W, 式(7)可以改写为
UW=QVW
(13)
因此通过伪逆法便可获得转换矩阵Q为
Q=UW(VW)+
(14)
需要说明的是, 权重矩阵W[式(12)], 和转换矩阵Q[式(14)]是随着待测样本的改变而改变, 而转换矩阵QD65[式(9)]适合所有样本。
还需要说明的是Zhang方法在RGB空间计算与每个训练样本的欧氏距离, 挑选N个对应最小距离的训练数据构成矩阵U和V, 利用式(8)计算出转换矩阵Q。N究竟选多大需要探索, 本工作是使用所有训练数据, 避免了挑选训练数据的问题, 根据测试样本赋予不同训练数据不同的权重, 确定转换矩阵Q, 以提高预测精度。
2.2 基于预测的m个光源下的三刺激值向量u, 预测光谱反射率
基于预测的u, 采用维纳估计[10-11]预测样本的光谱反射率r。 首先注意到, 三刺激值u与物体反射率r还有多光源下的加权表A[12-14]满足关系式
u=Ar
(15)
(16)
令S为由n个训练样本的反射率(r(j))构成的矩阵
S=(r(1),r(2), …,r(n))
(17)
转换矩阵G的表达式为
G=[KSAT][AKSAT]-1
(18)
其中KS为光谱反射率S的自相关矩阵, 由式(19)和式(20)给出
(19)
(20)
说明, 上述的转换矩阵G适合所有测试样本, 因此G仅需要计算一次。 Zhang方法采用自适应伪逆法计算转换矩阵G, 也就是先通过伪逆法计算出一个整体转换矩阵Gr, 通过Gr用预测出m个光源下的三刺激值向量u, 便得到反射率的预估值rp, 根据rp计算出与每个训练样本在反射率空间的欧氏距离挑选出一定数量训练数据, 当然选取多少训练数据需要探索, 应用上也不方便。 本方法利用全体训练数据, 避免了这一过程。
3 实验部分
(1)实验样本: 训练样本选用X-Rite公司的标准140色色卡。 测试样本选用X-Rite公司的标准24色色卡和自制的覆盖色域较广的44个印刷色块。
(2)测量仪器: 采用尼康D610数码相机和KONICAMINOLTA生产的分光光度计(CM-2600d)。
(3)测量条件: 采用美国X-Rite 公司生产的Spectra Light QC标准光源箱提供稳定的D65光源。 将摄像机固定在三脚架上, 拍摄距离为70 cm, 照明与被摄物角度为45°, 数码相机镜头与测量目标垂直, 其余参数固定, 闪光灯、 亮度优化及光量校正均为禁用。 手动设置相机的焦距以捕获清晰的图像, 相机曝光时间为1/60 s, 光圈大小为f4.5, 感光度ISO为320, 白平衡采用人工输入色温6 500 K。 实验光源为CIE光源D65, A, F11, D50, F2, F7。 通过测量的光谱反射率及CIE1931年配色函数计算出在各光源下的三刺激值。
(4)评价标准: 为比较本方法与Zhang方法, 用文献[7]中使用的均方根误差(RMSE)和D50光源下CIEDE2000(ΔE00)色差公式评价光谱反射率的重构精度。
4 结果与讨论
在报道的Zhang方法中训练样本的数量为1296个打印色块, 工作量大, 不方便应用。 我们采用标准140色卡作为训练样本进行实验比较。
图1(a)和(b)分别给出了按平均RMSE和平均色差ΔE00度量, 利用24色色卡的测试数据进行比较的结果。 由图1(a)可以看出, 随着光源个数(横轴)由1个增加到6个, 两种方法的光谱反射率的重构精度(纵轴)都在提高。 光源个数为1时, Zhang方法要略优于本方法, 但随着光源个数的增加本方法的RMSE要明显优于Zhang方法, 并且在光源个数达到6时结果最好。 同样, 由图1(b)可以看出, 不论本方法还是Zhang方法两个光源明显好于一个光源的色差预测精度, 光源多于2个的预测色差精度与两个光源下的精度基本一致。 比较而言, 一个光源下, 两种方法一样好, 当2个或更多光源时, 本方法要好于Zhang方法。
图1 利用24色色卡作为测试样本时本方法和Zhang方法的结果对比
在图2中, 给出印刷品为测试样本的平均RMSE和平均色差ΔE00比较结果。 从图2(a)和图2(b)可以看出Zhang方法的曲线都高于本方法的曲线, 不管用几个光源, 本方法都优于Zhang方法。 对于Zhang方法, 采用两个光源达到最佳, 而本方法, 尽管多于2个光源时, 预测的色差已经不能再提高, 但采用6个光源时RMSE度量为最好。
图2 印刷样品作为测试样本时本方法和Zhang方法的结果对比
表1为6个光源下, 采用24色色卡和印刷样本两种测试数据, 分别按平均、 最大和中值均方根误差和色差的比较结果。 对应用加黑表达的数字的方法占优。 当采用色差度量时, 采用色卡和印刷测试数据, 本方法有两种指标占优, 而Zhang方法有一种指标占优。 若两种度量共有6个指标, 不论采用色卡还是印刷测试数据, 本方法都有5种指标占优, 而Zhang方法有1种指标占优。 因此本方法明显优于Zhang方法。 24色色卡的精度要高于印刷品的精度, 这主要是因为24色色卡与140色训练色卡有相同材质, 而印刷样品与训练样本材质不同。
表1 光源个数为6个时, 采用24色色卡和44个印刷样本经测试, 两种方法重构精度的比较结果
5 结 论
受Zhang方法的启发, 提出了新的2步方法, 基于相机raw RGB数据重建物体反射率。 第1步, 采用加权三次多项回归算法, 映射raw RGB数据d(通过扩展向量v)到多光源下的三刺激值向量u; 第2步是利用维纳估计预测物体光谱反射率。 本方法的2步过程中, 采用全体训练数据, 避免了Zhang方法中需要从训练数据中挑选一定数量的样本, 在应用上十分方便。 通过140色卡为训练样本, 24色色卡和44色印刷样本的实际数据进行测试表明本方法要明显优于Zhang的方法。 同时比较结果表明本方法在6个光源下达到最佳。