您好, 访客   登录/注册

一种基于局部置信度网络的光照估计算法

来源:用户上传      作者:

  摘要:颜色恒常性计算的目的是消除图像场景中光照变化带来的影响。一些先进的算法基于图像块进行光照估计,通过池化(如均值池化和中值池化)得到全局估计结果,然而不准确的局部估计很可能会影响全局估计结果。针对现有的图像块采样方法的随机性和局部到全局池化方式的局限性,一种基于局部置信度网络的光照估计算法被提出,该算法包含三部分:(1)基于亮暗像素的图像块采樣方法,使得所采样的图像块有较大的色度梯度,有利于光照估计;(2)采样图像块的局部光照估计网络;(3)置信度网络计算局部光照估计网络获得的局部估计置信度,最后通过置信度池化得到全局估计结果。实验验证了该算法的有效性,以及在两种标准数据集上都取得了竞争性的性能。关键词:颜色恒常性;光照估计;卷积神经网络;亮暗像素;置信度
  0引言
  人眼视觉系统拥有在不同颜色光照下感知物体真实颜色的能力,这种能力称为颜色恒常性(Color Constancy)。在计算机视觉领域,对于未知光照下获取的场景图像,颜色恒常性计算的关键一步就是对场景进行光照估计(Ilhminant Estimation)以得到光照颜色,然后利用VonKries模型将图像校正到标准光照下。相关研究成果已应用在数字相机的白平衡中,同时也是许多视觉任务的预处理步骤,例如目标跟踪与监控、AR应用中的对象插入等。
  图像中像素颜色通常由场景中物体表面的反射特性、光照的光谱以及相机的感光特性三个条件综合确定。因此对于给定的图像,直接获得场景中光照颜色是一个不确定性的问题,即存在多组光照与物体表面可以得到图像中场景的颜色。现有的光照估计算法分为两大类:基于统计的方法和基于学习的方法,基于统计的方法主要是通过RGB色彩空间的一些统计信息或物理信息确定场景中的光照。早期的方法假设场景中某些反射统计信息是非彩色的,如white-Patch.假设图像场景中存在着白色表面,该表面的颜色反映了光照颜色。基于统计方法的优点是计算效率高,且不需要训练数据,但受假设条件的限制,通用性不强。
  基于学习的方法通过学习现有数据建立光照估计模型。如Gamma-Mapping方法,假设给定光照的场景中颜色数量有限,通过学习到的规范色域估计光照,贝叶斯方法将反射率与光照的可变性建模为随机变量,根据图像强度信息估计光照的后验分布的。基于神经网络的方法也被引入光照估计,神经网络的输入包括二值化色度直方图,输出为光照的色度值。
  近些年深度卷积神经网络凭借其强大的特征提取与映射能力,广泛应用于计算机视觉领域。最早利用深度卷积神经网络学习场景中,彩色像素与光照色度关系由NetColorChecker方法提出,该方法使用整幅图像作为输入,通过对现有的分类模型进行微调得到光照估计结果。Oh等人将光照估计问题转化为光照分类问题,对训练集图像按光照颜色聚类,利用卷积神经网络得到图像光照所属簇的概率(以簇为类),根据概率加权求得场景光照。这类对图像整体进行光照估计的方法受训练集数量的限制,网络训练比较困难,同时也忽略了局部信息。Bianco等人首次采用局部图像块作为输入,构建5层卷积神经网络得到局部光照估计结果,利用支持向量回归完成全局估计,该方法中局部图像块由图像网格化分块获得,其中不可避免地包含一些色差较小的图像块。DS-Net在UV色度空间对图像块进行光照估计,选择网络对估计网络的2个估计结果进行选择,该方法由图像块局部到图像全局估计的方法简单,使用均值池化、中值池化,这忽略了局部估计结果的置信度。
  针对上述问题,本文提出了一种图像块采样方法和光照估计网络,包括局部光照估计网络和置信网络,整体结构如图1所示。前者预测局部图像块的光照值,后者根据局部估计值进行权重置信度评估,获取全局估计值。引入一种新的图像块采样方法用于光照估计,计算并排序RGB空间内所有颜色像素到平均像素向量的投影距离,其中投影距离较大的部分为亮相素,较小的部分为暗像素,然后在图像中提取同时包含亮像素与暗像素的图像块。
  1 图像块采集方法
  1.1 基于亮暗像素的图像块采样
  给定彩色图像i.其中有N个像素点,表示为向量的集合P(x)={[PRR(x),PGG(x),PRR(x)]|x∈I},其中,x表示像素位置,PR(x)、PG(x)、PB(x)分别表示位置为x像素的RGB值。首先计算所有像素向量的平均向量Lave=[r.g.b],计算方法如公式(1)所示:
  接下来计算所有像素向量在平均向量的方向上投影dx,如公式(2)所示:
  其中,Ⅱ·Ⅱ代表对向量求L2范数,I(x)·Iave表示点积运算。
  由此可以得到投影集合d={dx|x∈I}。dx值越大其对应的像素越亮,反之dx值越小其对应的像素更暗。对集合d从大到小排序,选择前n%像素点为亮像素,后n%像素点为暗像素。图2(b)中标定出了亮暗像素位置,其中绿色对应的位置是亮像素,蓝色对应的位置是暗像素。
  在图像中色彩测试标板(Macbeth ColorChecker)之外的区域随机截取大小为h×h的图像块,同时要求图像块包含至少一个亮像素和至少一个暗像素。对于图像数据集,不同图像亮暗像素分布的不同导致可取的图像块数量也不同。这里,设采样图像块数量为m.对于无法取到M个图像块的图像,可放宽亮暗像素的标定百分比n%,直至取够M个图像块。图2(a)为将颜色测试标板用黑色像素遮挡之后的原始图像。图2(b)中黑色方框为采样的若干图像块位置,在图2(a)中的对应位置白色框即为所采样图像块。
  1.2 局部光照估计网络   搭建基于VGG-16的局部光照估计网络用于图像块的光照估计。具体来说,将VGG-16中预测ImageNet类别的1000个节点的全连接层换为包含3个节点的全连接层(编码RGB通道的连续光照颜色),其余层与VGG-16保持一致,如图3所示。
  1.3 置信度网络
  置信度网络包括特征融合及决策层部分,如图1中“置信度网络”部分所示。由于空间位置不同,不同图像块中的光照信息是有差别的,这导致光照估计结果也不同。从局部到全局估计的过程中,为了缓解误差較大的局部估计带来的负面影响,本文通过置信度网络得到图像块估计精度的置信度,利用置信度池化方式得到全局估计结果。首先利用局部光照估计网络获得同一图像内M个图像块的光照估计结果{e|1≤i≤M}和相应的Fc-6层特征,以串联的方式融合这些Fc-6层特征,然后将融合的特征输入两层全连接层(节点数分别为4096和15),通过softmax函数(归一化指数函数)得到各个图像块的置信度{pi|1≤i≤M},最后利用公式(3)将M个图像块的光照估计结果{ei|1≤i≤M}进行置信度池化,得到最终的全局估计结果。
  1.4图像校正
  在得到场景中的光照颜色之后,利用该光照颜色对图像进行校正。常用的校正矫正方法使用von-Kries对角模型实现,如公式(4)所示:
  2实验结果与分析
  通过实验分别对图像块采样方法、置信度网络进行验证,在2个常用数据集上给出了光照估计误差结果与图像色彩校正结果,并与其它方法进行了比较。
  2.1 实验设置
  2.1.1 数据集与预处理
  实验中使用reprocessed ColorChecker和NUS 8-camera 2个常用的基准数据集进行方法验证和性能评估。reprocessed ColorChecker数据集包含568张图像,图4(a)为数据集中的部分图像;NUS-8图像数据集包括1736张图像,由8款相机分别拍摄得到相应的8个图像子集,每个子集约210张图像,模型的训练测试在各子集上独立进行。
  每张图像内都放置了色彩测试标板,由其中白色区域确定场景真实光照,在训练时需用黑色像素遮挡颜色测试标板。此外,对输入图像进行y=1/2.2的伽马校正。每张图像采样的图像块数量M=15.采样时亮暗像素的比例按照n%确定(其中n按照{3.5.5.10}升序设置),直到在同一图像中可以取到15个尺寸为224x224的图像块。与之前基于学习的方法相同,使用三重交叉验证进行性能评估。
  2.1.2性能评价指标
  角度误差作为广泛使用的光照估计性能评价指标。假设估计光照为eest,场景中真实光照为eGT,角度误差g的计算方法如公式(5)所示:
  其中,·代表点积Ⅱ·Ⅱ代表L2范数。角度误差g越小,光照估计精度越高。实验中以角度误差的Mean、Median、Trimean、Best-25%、Worst-25%来衡量算法性能。对于ColorChekcer和NUS 8-camera数据集,通常还分别以95-percentile、g.m.(geometric mean)作为性能指标。
  2.1.3实验环境配置
  训练所用电脑工作站CPU为Intel Xeon(R)E5-2620v2@2.1GHz X 15.显卡为NVIDIA Titan X(Pascal)12g.内存为128g.系统为Ubuntu 14.04LTs.编译软件为Python2.7.深度学习框架为Caffe。使用自适应矩估计算法(AdaptiveMoment Estimation.Adam)优化网络,训练的初始学习率为0.0001。对于局部光照估计网络,批尺寸(Barch Size)设置为32;对于置信度网络,批尺寸设置为16。训练的最大迭代次数为500个周期(Epoch),每100个周期学习率下降到0.1倍。训练使用欧式损失作为损失函数,如公式(6)所示:
  2.1.4 训练策略
  对于局部光照估计网络,使用ImageNet上预训练的VGG-16分类模型,初始化除最后一层全连接层外的其它层,Fc-8层使用零均值、方差为0.005的高斯分布初始化,接着以场景中真实光照为标签对该网络进行微调训练。对于置信度网络,使用零均值、方差为0.005的高斯分布初始化所有全连接层。利用已训练好的局部光照估计网络对应的Fc-6层特征作为置信网络的输入,以真实光照为标签训练置信度网络。
  2.2 亮暗像素图像块采样的影响
  本文在reprocessed ColorChecker数据集上使用局部光照估计网络,比较了基于亮暗像素的采样方法和随机采样方法。采样图像块数量均为15.大小均为224x224。见表1.基于亮暗像素的采样方法的各项性能均优于随机采样方法。图4为两种采样方法的局部估计结果。图4(a)为原始图像,图4(b)为随机采样的图像块,图4(c)为本文所提出的采样方法。每个图像块的角度误差在其上方提供。
  2.3 训练策略的影响
  本文在reprocessed ColorChecker数据集上与不同的训练策略以及局部到全局估计池化方式进行了对比。见表2中,“ConfNet-A”将局部光照估计网络与置信度网络合并到一起进行端到端的训练,其中的局部光照估计网络使用在ImageNet上预训练的VGG-16模型初始化:“ConfNet-B”将局部光照估计网络与置信度网络合并进行端到端的训练,局部光照估计网络使用在光照估计数据集上微调后的模型初始化,“ConfNet-C”只训练置信度网络的全连接层部分,局部光照估计网络使用在光照估计数据集上微调后的模型初始化,同时固定其权重。
  表3为不同训练策略的定量结果。本文提出的C0nmet—C方法取得了较优的性能,这是由于分阶段的训练策略更有效地利用场景光照作为监督信息。同时,局部光照估计网络单独训练保证了图像块的估计精度,在此基础上置信度网络才可以显著改善光照估计性能。
  2.4 置信度池化的有效性
  在表4中,均值池化和中值池化相比,本文的试验与DS-Net的结论一致,中值池化的方式更好,这是由于其可以防止异常值对全局估计的影响,但是当局部估计普遍不准确时,中值池化方式很难消除这种影响。置信度网络对有利于光照估计的图像块分配了更多的置信度,这相比于中值池化显著提升了光照估计的精确度。图5为图像块估计实例,图5(a)基于亮暗像素的图像块位置,图5(b)中黄色字为图像块的光照估计误差,蓝色字为置信度网络得到的置信度。估计误差较小的图像块置信度明显较高,而误差大的图像块置信度较低。
  2.5 与先进方法的对比
  本文在reprocessed ColorChecker和NUS 8-camera数据集上与先进方法进行了对比,见表5、表6(表5.表6中最先进的性能分别用红色,绿色标出)。在reprocessed ColorChecker数据集上,本文方法在Worst-25%度量指标上取得了最佳性能,在NUS 8-camera数据集上,几何均值度量指标达到最优,并且还有2项度量指标取得了第二的好性能。图6为部分图像矫正结果,在室内室外等大部分情况下本文提出的光照估计方法表现良好:第三行中,由于亮暗像素在空间中相距较远,导致亮暗像素标定条件宽松,因此难以采样到适合光照估计的图像块。
  3结束语
  本文提出了基于亮暗像素的图像块采样方法,这种采样方法有利于深度卷积神经网络获取光照信息:此外,提出的置信度网络比传统的局部到全局池化方法取得了更好的性能。本文的方法在两个常用数据集上展现了具有竞争性的性能。对于未来,可行的研究方向是利用图像全局的语义信息协助评估局部图像块的置信度,以进一步改善光照估计性能。
转载注明来源:https://www.xzbu.com/8/view-15125502.htm