When Color Constancy Goes Wrong:
Correcting Improperly White-Balanced Images
阅读札记
??论文于2019年发表CVPR。
Abstract
??本文主要解决方案图像问题。校正白平衡不当的真正困难不在于确定什么是正确的白平衡,而在于以下事实:相机中的白平衡过程是几个相机的特定非线性颜色处理,这使得后处理中校正图像的颜色具有挑战性。本文的方法,引入,实现计算非线性颜色映射函数来校正图像的颜色。
Introduction
??当白平衡(WB)不正确会导致图像呈蓝色/红色,对图像的观赏性和视觉算法的性能有不利影响。拍照时,人们希望图像能正确平衡白色。前辈的工作主要是确定正确性WB是什么,但解决方案不有效,相机内管道处理不完整WB。 ??从传感器raw-RGB到sRGB相机内颜色处理的简单模型可以表示为:
?? I s R G B I_{sRGB} IsRGB:3×N矩阵,包含sRGB图像值在空间中 ?? I r a w I_{raw} Iraw:3×N矩阵,包含raw-RGB空间中的图像值 ?? N N N:总像素数 ?? D D D:3×3的WB对角矩阵 ?? T T T:3×3 线性变换,从白平衡raw-RGB映射到与设备无关的色彩空间,如CIE-XYZ ?? f ( ? ) f(·) f(?):非线性函数结合了颜色增强、色调处理和最终操作sRGB伽马编码。 f ( ⋅ ) f(·) f(⋅)不同。)
从等式可以看出,由于WB在处理链的早期应用,因此尝试使用对角矩阵对其进行校正是行不通的。
Method
算法框架图
1、数据集生成
本文的训练图像是从两个共开可用的照度估计数据集生成:数据集和数据集,从这些数据集中生成了62,535张图像。 ∙ ∙ ∙使用不同WB预设来将raw-RGB图像渲染为sRGB图像。单个raw-RGB图像可以渲染为超过25个sRGB图像。这些图像构成了训练图像 { I t ( 1 ) , … , I t ( n ) } \{I_t^{(1) },…,I_t^{(n) }\} { It(1),…,It(n)}。 ∙ ∙ ∙手动从颜色再现图的中灰度块中选择“ground truth”白色,然后应用与相机相关的渲染生成正确的目标图像 I g t I_{gt} Igt。
2、颜色校正变换
通过最小化以下等式来计算颜色校正矩阵 M ( i ) M^{(i)} M(i),它将 I t ( i ) I_t^{(i)} It(i)映射到 I g t ( i ) I_{gt}^{(i)} Igt(i): I t ( i ) I_t^{(i)} It(i):3×N矩阵,WB不正确的图像 I g t ( i ) I_{gt}^{(i)} Igt(i):3×N矩阵,WB正确的参照图像 ‖ ⋅ ‖ F ‖·‖_F ‖⋅‖F:F范数 Φ Φ Φ: [ R , G , B ] T → [ R , G , B , R G , R B , G B , R 2 , G 2 , B 2 , R G B , 1 ] T [R,G,B]^T→[R,G,B,RG,RB,GB,R^2,G^2,B^2,RGB,1]^T [R,G,B]T→[R,G,B,RG,RB,GB,R2,G2,B2,RGB,1]T,将sRGB三元组投射到高维空间的内核函数。 M ( i ) M^{(i)} M(i):3×11矩阵。
3、图像搜索
颜色校正矩阵与图像的颜色分布有关,因此寻找相似图像的标准是基于颜色分布的。受前人工作启发,本文从对数色度空间构建了一个RGB-uv直方图,该直方图由以下等式描述的函数 h ( I ) h(I) h(I)生成: i i i: i = { 1 , … , N } i=\{1,…,N\} i={ 1,…,N} C C C: C ∈ { 1 , 2 , 3 } C∈\{1,2,3\} C∈{ 1,2,3},代表直方图中的每个颜色通道 ε ε ε:直方图bin的宽度。 ⭐在归一化后取平方根会增加投影直方图特征的判别能力。 用降维来提取表示每个RGB-uv直方图的紧凑特征。线性变换足以将向量化直方图 v e c ( h ( I ) ) ∈ R ( m × m × 3 ) vec(h(I))∈R^{(m×m×3)} vec(h(I))∈R(m×m×3)映射到新的低维空间。主成分分析 (PCA) 特征向量计算如下: v ( I ) v(I) v(I): v ( I ) ∈ R c v(I)∈R^c v(I)∈Rc是包含c个主成分(PC)系数的PCA特征向量 W W W: W = [ w 1 , w 2 , … , w c ] W=[w_1,w_2,…,w_c] W=[w1,w2,…,wc], w ∈ R ( m × m × 3 ) w∈R^{(m×m×3)} w∈R(m×m×3)是奇异值分解计算出的PC系数矩阵 b b b: b ∈ R ( m × m × 3 ) b∈R^{(m×m×3)} b∈R(m×m×3),是均值直方图向量。
⭐每个训练图像 I t ( i ) I_t^{(i)} It(i)可以由少量PC系数 v ( I t ( i ) ) v(I_t^{(i)}) v(It(i))表示。输入图像最终由 v ( I i n ) v(I_{in}) v(Iin)表示。下图是基于相应PCA特征向量的训练图像可视化。
4、最终颜色校正
给定一个输入图像,计算其PCA特征,并根据k-近邻策略在训练集中搜索具有相似特征的图像,得到k个相似图像对应的颜色校正矩阵 M s M_s Ms,最终校正矩阵 M M M为 M s M_s Ms的加权线性组合,如下所示: α α α:为径向基函数的加权向量: σ σ σ:径向衰减因子 d d d:一个向量,包含给定输入特征和相似的k个训练特征之间的L2距离 最后,校正后的图像 I c o r r I_{corr} Icorr由以下等式产生:
Experiment
1、定量结果
评估方法: (i)均方误差(MSE) (ii)平均角度误差(MAE) (iii)∆E
2、定性结果
Conclusion
校正由具有错误WB设置的相机渲染的sRGB图像具有挑战性,本文提出了一种数据驱动的方法来纠正不正确的白平衡图像。,通过大量实验表明本文方法校正效果显著,且只需要少于24 MB的内存空间和少于1.5秒的时间即可校正全分辨率图像。此外,本文方法可以很好地推广到不包含在我们训练集中的图像。但本文方法在某些类型的输入上确实失败了,这些通常是具有大量饱和色彩的强烈偏色的图像,如图所示: