联合色度特征与轻量级神经网络的颜色恒常性算法
2023-08-26闫鹏刚
闫鹏刚
关键词:颜色恒常性;拉普拉斯特征;色度特征;轻量级神经网络
中图分类号:TP18 文献标识码:A
文章编号:1009-3044(2023)20-0047-04
0 引言
作为计算机视觉中一个重要且有效的特征,颜色信息已经广泛应用于目标检测、识别、分割、行为理解等领域。然而,作为一种十分容易受到外界因素影响的图像特征,会随着外界各种环境因素的变化而发生明显的变化。相机以及其他设备在获取图像时,会受到场景中的光照、物体表面的反射率以及成像传感器感光系数等多方面的影响,使得图像颜色存在巨大的差异,然而人眼系统可以排除这些因素的干扰,确保其感知的色彩保持稳定不变。颜色恒常性的目的是让机器拥有类似人眼视觉系统的颜色恒常性功能,其算法就是尽可能地使设备成像时的图像与人类视觉系统所看到的一致。准确识别出场景物体本身的颜色,不仅可以得到高质量的图像,还可以为后续的图像理解打下良好基础。因此颜色恒常性是一个值得关注的经典问题。
基于光源估计的颜色恒常性计算是颜色恒常性的重要研究方向,其过程通常是首先估计出场景的光源,然后通过 Von Kries 模型对图像进行转换。光源估计的方法主要包括基于统计的方法和基于学习的方法。基于统计的方法包括Gray World 算法[1]、White-Patch 算法[2]、Gray-Edge 算法的多种变形[3-4]以及一些利用统计信息融合的算法[5]。这些算法不需要训练数据,实现简单、快速、高效,在实际生活中有着大量的应用,但因是在假设的基础上,所以有着一定的局限性。基于学习的算法主要包括色域映射算法(Gamut Mapping) [6]、贝叶斯统计及其改进算法[7-8]、空间域方法[9]、色度先验知识[10]等,其主要是通过机器学习的方法提取色度、亮度、边缘等关键特征并进行光源估计,能取得较好的图像校正效果,但相较于基于统计的方法,这些算法计算复杂度高,泛化性较差,限制了在实际中的应用。
随着深度学习领域的发展,相关的研究已应用于光源估计。Bianco等人[11]提出的CNN、Lou 等人[12]提出的 AlexNet、Shi 等人[13]提出的 DS-Net,崔帅等人[14]提出的深度残差,Afifi 等人[15-16]提出的光源估计方法等,这些方法使用卷积神经网络不断训练学习数据的内在分布特征,使光源估计的准确度得到了提高,也使算法有着良好的泛化性与鲁棒性。Barron等人[17-18]通过将图像转换到对数空间并计算直方图特征,对光源进行定位,提出了快速傅里叶颜色恒常性算法 FFCC,是近些年来广受关注的一个算法。但是该算法仅仅考虑了像素的分布情况,却忽略了像素本身具备的信息,使得基本信息丢失。本文提出了一种基于色度特征与轻量级神经网络联合的颜色恒常性算法。在公开数据集上的实验表明,本文方法能够更进一步提高光源估计精度。
1 本文方法
为了进一步提高颜色恒常性算法的精确性与稳定性,本文提出了一种联合色度特征与轻量级神经网络的颜色恒常性算法。该算法流程如图1所示,首先,计算图像的 Laplace 特征,获取与图像相同分辨率的特征;然后计算图像与对应的 Laplace 特征的色度信息,并统计直方图对应的平均色度值;最后,将平均色度输入轻量级网络中,进行自适应均值池化,得到整幅图像的光源颜色估计。
实验环境是英特尔至强处理器E5-2640 v4 @ 2.40GHz, GPU 为NVIDIA TITAN Xp,操作系统是 Ubuntu-18.04,本文提出的算法是基于Py?Torch实现的。
2.1 Color Checker 数据集
Color Checker 数据集是Gehler等人[21]提供的,该数据集共有568张图片,包含室内室外场景,其中室内场景246张,室外场景322张。图片由两种分辨率较高的相机 Canon 5D 和 Canon 1D 进行拍摄。被拍摄的图像经处理得到两种分辨率,分别是384×256 和48×32。在实际应用中,小分辨率(如 48×32) 常作为输入图像计算光源估计值,其主要由于移动端或者嵌入式端內存受限。本方法采用分辨率为48×32的图像进行训练和测试。
2.2 评价标准
本文采用角度误差作为衡量光源估计误差的度量值,并采用几个不同的度量标准作为算法的评价指标,分别是所有误差的平均值(Mean) 、中位数(Me?dian) 、三均值(Tri-mean) 、最低25 %误差的平均值(Best 25%) 、最高25%误差的平均值(Worst 25%) 。角度误差越小表示预测的光源估计值越接近真实光源,角度误差越大表示颜色恒常性算法越差。
2.3 对比分析
本文对比的算法包括基于统计、基于机器学习以及基于深度学习的方法。通过对比表格中的数据可知,本文方法的深度学习算法最优。与基于统计方法相比,本文算法在 mean、median、tri、best25%、worst25% 这五个指标上提升范围分别是:36%~74%、30%~79%、32%~77%、14%~82%、37%~70%,与基于机器学习方法相比,本文算法在mean、median、tri、best25%、worst25% 这五个指标上提升范围分别是18%~53%、21%~56%、16%~53%、3%~61%、18%~55%,与基于深度学习方法相比,本文算法在mean、median、tri、best25%、worst25% 这五个指标上提升范围分别是 6%~29%、2%~34%、4%~31%、0%~37%、5%~26%,需要注意的是 best 25% 指标下相比Multi-Hypothesis 算法精度略有下降,但整体相比是有提升的。相比FFCC-thumb 算法,本文算法在Mean、Worst25% 这两个指标上提升了1.2%、6.6%,证明了该算法的稳健性。考虑到移动端或嵌入式端的内存限制,本文方法与 FFCC 均采用统计图作为输入(图像分辨率是 48×32) ,与采用高分辨率图像进行光源估计的 DS-Net(Shi 等,2016) 和 FC4(Hu 等,2017)方法相比,在 Color Checker 数据集上,本文方法的结果比这两种方法差,但优于其他方法。
本文算法采用轻量级网络结构,与其他深度学习算法在参数量上进行对比,如表2所示,对于单帧图像进行颜色恒常性处理的平均时间是0.004s,可满足移动端或者嵌入式端的应用需求。
3 结论
针对单光源复杂场景的问题,本文提出了一种色度特征与轻量级神经网络联合的颜色恒常性算法。该方法不仅获得了色度的统计分布特征,而且保留了原始的色度信息。此外,本文采用的神经网络模型相比性能较优的深度学习算法,模型参数量少、计算复杂度低。通过实验发现,在 ColorChecker 数据集上,本文算法的准确度高于基于统计、基于机器学习以及大部分深度学习的方法,且相比于目前性能较优的深度学习方法,本文算法的模型参数量少,在运算速度和占用内存上有显著优势,能够满足移动端或者嵌入式端应用的实际需求。下一步的工作计划是解决多光源条件下的颜色恒常性问题。