白平衡(Color Constancy,无监督AWB):CVPR2019论文解析

Quasi-Unsupervised Color Constancy

 

白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_神经网络

 

 

论文链接:

http://openaccess.thecvf.com/content_CVPR_2019/papers/Bianco_Quasi-Unsupervised_Color_Constancy_CVPR_2019_paper.pdf

摘要

本文提出了一种计算颜色恒常性的方法,即训练一个深卷积神经网络来检测彩色图像中转换成灰度后的消色差像素。该方法不需要任何关于场景中光源的信息,并且依赖于弱假设,几乎所有网络上可用的图像都填充了该假设,即训练图像已大致平衡。由于这一要求,本文将本文的方法定义为准无监督。经过训练后,神经网络的输入经过初步的灰度转换,可以对不平衡图像进行处理。大量实验结果表明,该方法能够在现有技术条件下优于其他无监督方法,同时具有足够的灵活性,能够被监督地调整以达到与最佳监督方法相当的性能。

1.       Introduction

计算色彩恒常性是一个长期存在的问题,它包括校正图像,使其看起来像是在中性光源下拍摄的。计算色彩恒常性有助于解决许多计算机视觉问题,如视觉识别[14]、监视[22]等,其中色彩是区分物体的重要特征。尽管这个问题表面上很简单,但它对人类和计算机视觉系统来说都是非常具有挑战性的[25,20]。在过去的十年里,本文解决许多计算机视觉问题的能力有了显著的提高。这背后的主要因素是深度学习算法的发展,使其能够遵循非常有效的数据驱动方法[35]。因此,有人曾多次尝试利用这种机器学习范式来实现计算色彩恒常性,这并不奇怪[7,37,28,38]。然而,在本文看来,这些方法只是部分地利用了深度学习的潜力。             

将深度学习方法应用于颜色恒常性的主要困难在于缺乏用基本真实光源注释的大型数据集。事实上,用于此目的的数据集通常是通过拍摄放置了具有已知色度特性的标准对象(例如彩色目标)的场景来获得的。这个程序对于收集监督深度学习所需的大数据集显然是不切实际的。基于机器学习的颜色恒常性方法的另一个问题是,所学习的模型通常专门用于使用用于收集训练集的相同设备获取的图像。它们应用于其他设备拍摄的图像需要某种形式的适应或再训练[2]。本文提出了一种基于深卷积神经网络的颜色恒常性计算方法。该方法利用公共可用图像的大数据集,以准监督的方式训练网络。不需要关于光源颜色的基本事实。相反,该方法利用了这样一个假设,即训练图像已经被手动或未指定的自动处理管道大致平衡。由于这一假设(正如本文将看到的,在实践中很容易实现),本文将本文的方法定义为“准无监督”,而不仅仅是“无监督”。更详细地说,训练神经网络来检测消色差像素。为此,只考虑输入图像的灰度版本。这样,输出与光源的实际颜色无关,因此,该网络可以稍后应用于平衡和不平衡图像。

检测像素的加权平均值是最终用于校正输入彩色图像的光源的估计值。本文通过在三个常用于图像识别和检索的大数据集上训练几个神经网络,验证了该方法的可行性。对两组带注释的原始图像数据集的评估表明,即使没有这些数据集的图像用于训练,也可以获得非常精确的结果。该方法的新颖设计决定了其相对于现有竞争方法的显著优势:(i)该方法利用复杂的神经网络结构,而不需要大量的带注释图像训练集;(ii)训练后的模型可以应用于任何摄像机获取的不平衡图像,而无需任何形式的适应。尽管设置复杂,但与文献中报道的相比,在估计光源方面的精度是有利的。特别地,所提出的方法能够优于现有技术中的其他无监督方法。此外,它还可以选择性地支持对特定数据集进行有监督的精确调整,使其能够达到与最佳有监督方法相当的性能。

2.       Related work

目前最先进的计算颜色恒常性方法通常分为两类:基于统计的方法和基于学习的方法。前一类方法对自然场景的统计特性进行假设,并估计光源的颜色与这些假设的偏差[46]。后一类方法使用从训练数据中学习的模型来估计光源的颜色。最近的大多数方法都是基于学习的,因为这种方法相对于基于统计的方法可以达到更高的精度。这些方法中的许多都使用了从输入图像中提取的手工特征训练的模型,例如[18,11,21,41,16],而最近的研究则使用深卷积神经网络来学习特征,例如[7,37,8,44,28]。应用上述深度学习方法的主要困难在于缺乏用地面真实光源注释的大规模数据集。作为参考,可用于颜色恒定性的最大数据集比可用于其他计算机视觉任务(如视觉类识别)的数据集小三个数量级[42]。此外,这种方法在跨数据集设置中使用时往往会降低其性能,需要一个确定的调整阶段来适应新的数据集。这些原因推动了新算法的研究,这些算法不需要带注释的光源基本事实的数据集,本文称之为无监督方法,并且产生的结果与目前最先进的基于学习的方法相当。

为此,本文提出了一种将颜色恒定性算法分为三类的方法:参数化的,包括依赖于一组非常小的参数进行调整的方法,例如[4,19,46];有监督的,包括需要适当训练阶段的方法,例如[23,12,6];无监督的,包括不需要注释数据集的方法,并且可以在没有任何形式的调整的情况下容易地应用于新数据集,例如[34,9]。在下文中,本文将回顾这些与本文目的最为相关的后期工作。本文指的是阅读调查[26,25]了解更多背景。有趣的是,在最新技术中提出的第一种颜色恒定性算法是无监督算法。例如,白点(或MaxRGB)[34]算法假设从三个颜色通道中的每一个独立获得的最大值表示照明的颜色。Gray World[9]基于这样的假设,即图像中的平均颜色是灰色的,并且可以将光源颜色估计为图像颜色通道中的平均值从灰色偏移。最近Buzzelli等人[10] 提出了一种深度学习方法,该方法不使用光源注释进行训练,而是以提高目标识别等辅助任务的性能为目标。因此,该方法学习在没有任何照明地面真实数据的情况下预测光源颜色,但它需要辅助任务的标签信息。

Banic和Loncaric[3]提出了一种启发式算法,称为绿色稳定性假设,它可以通过仅使用原始图像而不使用已知的地面真照度来调整基于统计的方法的参数值。文中[2]提出了一种基于无监督学习的方法,该方法在逼近训练图像的未知地面真照度后学习其参数值。因此[2]和[3]不需要照明体地面真实信息可用,而是需要原始训练数据集。钱等人也需要同样的数据。[40]提出了一种基于新的灰度像素检测和均值漂移聚类的统计颜色恒常性方法。

3.       Method

计算颜色恒定性通常分为两个步骤:首先估计光源的颜色,然后用估计值校正输入图像。本文提出了一种基于卷积神经网络的大数据集图像照度估计方法。该方法是“准无监督”的,因为它的训练过程不依赖于场景中光源的实际颜色知识。相反,这种方法是基于这样的假设,即训练图像在发布之前已经被其所有者近似地平衡了。因此,本文预计在大多数情况下,光源的颜色接近灰色。本文将该方法定义为“准无监督”(而不仅仅是“无监督”),因为假定的初步颜色校正需要某种形式的弱监督,即使这样的校正尚未明确执行以实现颜色恒定性。

训练结束后,为了能够将得到的模型应用于不平衡的原始图像,需要解决两个主要问题:(i)这些图像将与用于训练的图像不同,并且(ii)将有一个实际的地面真相用于评估,但不用于训练。本文解决了第一个问题,在将图像传输到网络之前将其转换为灰度,这样它们几乎独立于场景光源的颜色。通过训练网络来解决一个可以被视为光源估计代理的问题:消色差像素的检测,解决了缺乏地面真实感的问题。图1给出了该方法的概述,详细信息将在下面的章节中解释。一旦计算出光源颜色的估计值,就可以用它来校正输入图像。为此,本文应用von Kries模型[47],该模型通过估计的相应分量来缩放像素的颜色分量。

 

此外,在将其转换为灰度训练图像(假定在sRGB颜色空间中)之前,使用伽马去除对其进行初步处理,以使其像素值相对于能量呈线性:

白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_卷积神经网络_02

 

 

最小化LA(I)的一个困难是,由于(1)中的标准化,估计I在w的标度下是不变的。这种不变性的结果是,不鼓励神经网络使用w的整个[0,1]范围,因为它可以在不改变最终估计的情况下为像素分配微小的权重。这会对优化算法的稳定性产生负面影响。

3.1.  Illuminant estimation

白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_灰度_03

 

 

白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_数据集_04

 

 

白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_深度学习_05

 

 

3.2. Extensions and variations

该方法具有很强的灵活性,可以很容易地适应多种变化。特别地,只要灰度图像独立于光源的颜色,就可以用其他信息替换或与其他信息组合。我们实验了从每个颜色通道上计算的空间梯度得到的信息。由于梯度的大小与光源的颜色密切相关,我们只考虑方向。更准确地说,对于每个颜色通道,我们通过应用Sobel算子计算水平和垂直空间导数[45]。然后,对这两个导数进行归一化,形成单位长度向量。这个过程产生一个六通道图像(两个导数乘以三个通道),可以用作神经网络的输入。

3.3. Supervised fine tuning

尽管本研究的主要焦点是准监督设定,但也有可能将该方法应用于监督学习。为此,用色差LC代替(2)中的消色差损失是足够的,

白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_数据集_06

 

 

白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_神经网络_07

 

 

白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_灰度_08

 

 白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_数据集_09

 

 4.       Experimentation

实验             

神经网络已经通过运行300000次Adam优化算法迭代来训练[33]。目标函数是消色损失,如等式(4)所定义,噪声项的标准偏差设为100。每次迭代分析一小批16幅图像;学习率为10-4,重量衰减系数为10-5。所有的参数都是在一些初步实验的基础上根据经验设定的。对于深度学习应用程序,培训数据的质量至关重要。

在这项工作中,本文决定采用三个广泛用于训练图像识别和检索系统的大型数据集。Ilsvrc12是为互联网大规模视觉识别挑战[42]公开提供的数据集,它可能代表了最流行的图像识别基准。该数据集由大约120万个样本组成,这些样本来自为ImageNET倡议收集的1000个不同类别的样本[17]。

第二个数据集是Places365[50],其中包括约180万张图像,代表365种不同类别的场景。图片是通过查询几个搜索引擎从WordNet中提取的词汇,然后手工标注而获得的。数据集的主要目的是作为场景识别系统的基准。本文考虑的最后一个数据集是Flickr100k数据集[39]。它由100071张图片组成,这些图片来自Flickr照片共享服务通过搜索146个最流行的标签。数据集已被收集以评估图像检索算法。

本文选择了三个不同的数据集,目的是评估训练图像的性质对学习模型质量的影响程度。Ilsvrc12和Places365包含从搜索引擎获取的图像,而Flickr100k包含来自单个源的图像。Ilsvrc12包含许多“以对象为中心”的图像,背景很少或没有背景,而Places365则聚焦于整个场景。Flickr100k中的图像平均来说质量比其他两个数据集中的图像高。

3报告了由经过训练的网络处理的三个数据集的一些图像示例(图像来自Ilsvrc12和Places365的验证集以及Flickr100k的训练集)。在选择用于估计光源的像素时所遵循的策略可以通过查看权重来推断。该网络经常选择光源,如灯、天空或太阳。窗户通常是在室内场景中选择的,光线来自室外。该网络在识别高光和直接从光源扩散光的表面方面似乎也相当好。选择暗区的情况很常见:这是因为它们对等式(1)中的和的影响有限。

3还显示了并非所有的图像都很平衡。其中一些呈现出强烈的非中性色彩,这在日落和夜间图像以及一些室内图像中非常明显。然而,由该方法提供的光源估计似乎与图像的内容一致。尽管由于缺乏基本的事实,本文无法定量地评估这些估计值,但本文可以观察到,根据估计值平衡的图像看起来很自然。这表明,该网络通过对大量“几乎平衡”的图像建模,学会了如何平衡异常值。

白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_深度学习_10

 

 

4.1.  Evaluation

该方法的目的是在不平衡图像中实现对光源颜色的高精度估计。为了评估这一点,本文处理了两个不同的原始图像数据集,通常用于评估颜色恒定性算法。两个数据集都包含高分辨率照片,表示场景,包括颜色校准目标(Macbeth ColorChecker)。对于每幅图像,通过分析彩色目标中的灰度斑,计算出一个地面真照度。第一个测试数据集是由Shi和Funt重新处理的变体中的颜色检查器(CC)[23,43]。它由568张用佳能1D和佳能5D相机拍摄的图像组成。第二个数据集由新加坡国立大学(NUS)的一个研究小组收集[15],其中包括用9个不同相机采集的1853幅图像。正如Hordley和Finlayson所建议的,本文考虑的误差度量是估计的和地面真照度之间的角度[27]。将训练模型应用于两个测试数据集得到的结果总结在表1中。三个训练集的平均角误差和中位角误差在0.2度或更小的范围内相当一致。这一点非常重要,因为它证明了用于训练的照片类型不是最重要的。它还表明,本文的方法依赖于在实践中容易满足的假设(即,训练图像已经平衡)。

对于训练和测试数据集的每个组合,本文评估了网络处理的数据类型不同的三种变体。第一个处理均衡的灰度图像,第二个分析梯度方向,第三个是基于两者的组合。在所有情况下,单独使用或组合使用渐变方向,可以获得比仅使用灰度图像更好的效果。对于CC数据集,通过在Ilsvrc12上使用灰度和方向训练的模型,获得了最小的中值角误差。对于NUS来说,在中位角误差方面的最佳组合是使用Flickr100k上训练的模型,只使用梯度方向。在剩下的实验中,本文把在Ilsvrc12上训练的具有灰度和方向的实验作为参考。图4显示了处理来自测试集的一些图像的结果。可以注意到,即使在图像不平衡的情况下,网络如何选择有意义的区域,例如那些表示光源或高光的区域。与训练图像不同,这次选择的像素不是消色差的。取而代之的是,它们的颜色近似于地面真光源的颜色。结果,根据估计值平衡的图像看起来就像是在中性光源下拍摄的。

4.2.  Fine tuning

当一个带注释的训练集可用时,可以通过调整其参数来提高神经网络的性能。这是通过使用较小的学习率以有监督的方式继续进行训练来完成的。在这里,本文进行了250000次额外的迭代,并且没有方程(4)中的噪声项。本文对颜色检查器和NUS数据集都重复了这个实验。在这两种情况下,本文通过三次交叉验证来评估最终绩效。表2报告了本文通过调整在Ilsvrc12上训练的神经网络来处理灰度图像和梯度方向的组合而获得的结果(为了简洁起见,本文省略了其他变量所获得的性能)。对于两个测试数据集,平均角误差和中值角误差均减小。在NUS数据集的情况下,改进尤其明显,平均误差相差超过一个程度。

4.3.  Comparison with the state of the art

3报告了目前几种方法的角度误差统计。这些值是从文献中获取的,或者是通过执行公开可用的实现获得的。方法分为无监督方法、参数方法和有监督方法。这三个类别被进一步划分为:“在数据集中”,这意味着该方法在同一数据集上经过交叉验证的训练/调整对其进行测试的颜色恒常性数据集;“交叉数据集”,表示该方法在一个颜色恒常性数据集上进行训练/调整,并在另一个颜色恒常性数据集上进行测试;“无数据集”,表示该方法未在任何颜色恒常性数据集上进行训练/调整。从表3和图5中报告的结果可以注意到,所提出的方法能够在CC和NUS数据集上分别减少37.9%和9.6%的中位角误差,并且能够在很大程度上优于现有技术中的所有纯无监督算法(即无监督no db),同时在所有不同的摄像机上显示更稳定的性能。在跨数据集的情况下,该方法的性能优于所有有监督的方法。对于参数化方法,除了NUS上的中值误差外,本文的方法在所考虑的所有误差统计量上都优于它们。有趣的是,参数化方法在这种情况下表现得比有监督的方法好。在完全监督的情况下,该方法的网络优化版本能够优于所有参数化方法,并与在NUS上获得最新技术中的最佳平均误差和次优中值的监督方法竞争。

白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_卷积神经网络_11

 

 

白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_灰度_12

 

 

白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_神经网络_13

 

 

白平衡(Color Constancy,无监督AWB):CVPR2019论文解析_卷积神经网络_14

 

 5.       Conclusions

本文提出了一种利用深卷积神经网络的计算颜色恒常性的方法,该方法利用了大量的未标注数据集,这得益于一种准无监督的学习过程。本文训练了不同类型的信息处理方法和训练数据集。实验结果表明,该方法在性能上优于现有的其他无监督方法,同时具有足够的灵活性,可以在特定的数据集上进行监督调整,达到与顶级监督方法相当的性能。在这项工作中,本文关注的是准无监督的设置。在未来,本文计划更彻底地探索有监督的最终调整步骤,可能通过试验从转移学习和领域适应文献中获取的更复杂的技术。

人工智能芯片与自动驾驶