基于神经网络的颜色空间转换方法与流程

文档序号:25220225发布日期:2021-05-28 14:21阅读:371来源:国知局
基于神经网络的颜色空间转换方法与流程

本发明涉及颜色转换领域,特别涉及一种基于神经网络的颜色空间转换方法。



背景技术:

(一)领域内总体技术现状描述

颜色空间是用一种数学方法形象化表示颜色,人们用它来指定和产生颜色,通常用3维模型表示,空间中的颜色能够看到或者使用颜色模型产生。颜色空间有设备相关和设备无关之分。设备相关的颜色空间是指颜色空间指定生成的颜色与生成颜色的设备有关,例如rgb颜色空间。设备无关的颜色空间是指颜色空间指定生成的颜色与生成颜色的设备无光,例如cielab颜色空间。

rgb型颜色空间主要用于电视和计算机的颜色显示系统。而xyz型颜色空间(cie颜色空间)是由国际照明委员会定义的颜色空间,通常作为国际性的颜色空间标准,用作颜色的基本度量方法,是一种与设备无关的颜色表示法,在科学计算中得到广泛应用。对不能直接相互转换的两个颜色空间,可利用这类颜色空间作为过渡性的颜色空间。

数字图像的颜色产生主要基于三种因素:光、物体对光的反射,传感器响应函数。不同波长的可见光投射到物体上,有一部分波长的光被吸收,一部分波长的光被反射出来经过传感器(比如相机)响应后形成物体的色彩信息。投射到物体上的可见光为光源的光谱,然后一部分被物体吸收一部分被反射,形成了物体的光谱信息,最后经过传感器响应输出颜色空间的色彩表示(比如rgb或xyz等)。所以,rgb是高维光谱到低维rgb空间的降维映射,通常与所使用的相机设备(传感器响应函数)密切相关,即同一物体经不同相机产生的rgb值是完全不一样的。因此,当需要精确检测颜色时常使用的方式是利用光谱仪获取到物体的光谱,直接对光谱进行分析或者将光谱映射到与设备无关的颜色空间(xyz或lab)后再分析。然而,由于光谱仪的成本较高以及使用的不便性,使得人们提出能否基于常用的rgb相机(相比于光谱仪或者光谱相机等价格更低廉)实现颜色的精确检测?

要实现颜色的精确检测可以从两个方面开展,一种方式是先基于rgb重建出光谱信息,再由光谱获得lab值进行颜色差异比较;另一种方式是直接将rgb空间转换映射到lab空间后进行颜色差异比较。我们知道,rgb和ciexyz都是线性色彩空间,而cielab是非线性色彩空间,其中rgb是与设备相关,而ciexyz和cielab都是与设备无关的。因此,对于第二种方式常见的方法是,先由设备相关的rgb转换到与设备无关的xyz,再由xyz转换到lab进行颜色差异评估。由于ciexyz和cielab都是与设备无关的并且有明确的转换关系,因此只要得到精确的xyz就能比较精确的计算出颜色差异。

(二)基于高光谱重建实现rgb到xyz的颜色空间转换

从rgb图像推断丢失的谱带信息是获得光谱数据的一种方式,这种方法被称为光谱重建或者光谱超分辨率。这是一个不适定问题,该问题尝试从包含三个波带的rgb图像中重建出大量波带的信息(通常31个均匀采样,从400nm到700nm)。这类方法对光谱重建精度的关键在于了解摄像机参数/灵敏度、图像内容和物理特性,以及光谱图像和对应rgb图像的训练样本对的可用性。自然场景中基于rgb重建高光谱最常见的方法有稀疏字典编码、卷积神经网络或者两者的结合。其中,大多数先进方法是源于卷积神经网络(cnn),最初使用浅层神经网络,比如rbf;随着可用数据集的增加,开始使用更深的网络,比如18层的gan,但由于在工业环境下难以在一定时间内获取足够的数据集,因此限制了该方法在工业中的使用和落地。另外,基于稀疏字典编码的方法则是根据获得的高光谱数据学习得到一个稀疏字典,然后根据这个稀疏字典使用正交匹配追逐算法(omp)得到待测目标基于该字典的稀疏描述,即估计的光谱。在特定条件下,基于稀疏字典编码由rgb恢复高光谱信息确实是可能,主要基于以下几方面的依据,

(1)感官系统遇到的一组高光谱信号被限制在所有高光谱信号的高维内的一个相对较低的流形中。

(2)不同光谱能量分布的同色光出现的频率相对很低,自然场景中低于10-6-10-4

(3)物体的光谱反射有两个主要因素,即材料组合和光照的光谱特性,通常可以将其视为组成样品的不同材料产生的反射光谱的线性组合。

(4)虽然自然界中可能存在的材料很多,但在高光谱图像的每个特定像素上,只有少数材料对测量的光谱有贡献。因此,一种描述自然图像中观察到的光谱的自然方法是,存储于字典中的基础光谱的稀疏组合。

由于颜色检测的最终目标是想基于rgb预测光谱,再将光谱映射得到精确的xyz,因此在已知rgb和ciexyz的响应函数的情况下,可以基于rgb进行光谱重建,然后再通过ciexyz的映射函数,将rgb重建的光谱映射到对应的xyz。我们进行了一组对比实验,分别基于rgb和xyz进行光谱重建,然后再将rgb重建的光谱和xyz重建的光谱映射得到对应的xyz,对比它们与真实光谱映射得到的xyz之间的差异。实验结果发现,基于rgb重建光谱映射后得到的xyz估计与真实xyz的差异较大。

(三)基于线性空间假设实现rgb到xyz的颜色空间转换

直观来讲,以光谱重建为桥梁预测精确xyz,进而得到比较准确的色差评价的思路非常具有说服力。但实际在光谱重建上,要不受到数据量的限制(基于深度网络),要不就会受到映射域的强约束(基于字典的稀疏描述),当重建光谱映射到非输入数据的低维域时会出现较大偏差。因此,可以基于不同颜色空间之间的转换(由rgb转换到xyz)来实现。而通常人们将不同颜色空间之间的转换看作线性关系,其中最常用的方法是使用lms来最小化xyz之间的差异。假设rgb到xyz之间的转换是线性的,根据最小二乘(lms)估计出一定误差内的线性转换矩阵。设学习样本rgb组成的矩阵为x3×n,对应的xyz组成的矩阵为y3×n,转换矩阵为m3×3,则线性最小二乘的解是闭式的,即

m=(xxt)-1yxt(1)

基于最小二乘得到由x到y的转换矩阵m,然后由xm作为样本xyz的估计

实际应用中,我们知道rgb与设备相关,ciexyz与设备无关。rgb相机得到的rgb与ciexyz实际上并非简单的线性关系。因此,颜色空间的线性转化存在着较大的误差,无法满足实际应用的需要。



技术实现要素:

本发明提供了一种基于神经网络的颜色空间转换方法,以解决至少一个上述技术问题。

为解决上述问题,作为本发明的一个方面,提供了一种基于神经网络的颜色空间转换方法,包括:

步骤1,获取由归一化光谱、xyz和rgb构成的样本数据集,并按8:1:1的比例设置训练集、交叉验证集和测试集;

步骤2,构建第一支路网络和第二支路网络并分别利用其进行预训练,第一支路网络的输出是估计的xyz,第二支路网络的输出是恢复的光谱;

其中,所述第一支路网络用于实现rgb到xyz的颜色空间转换,最后的特征输出维度是3×100,输出层是一个1维卷积,从而对第一支路网络的特征提取部分进行训练;

所述第二支路网络为光谱自编码支路网络,最后的特征维度是31×100,输出层是一个1维卷积,从而学习与高光谱字典意义类似的特征映射;

步骤3,对第一支路网络和第二支路网络继续联合训练,在联合训练过程中将两条支路的特征进行融合,以训练输出层的线性描述权重;

步骤4,训练结束后移去光谱支路,在推理阶段只需要第一支路网络实现rgb到xyz颜色空间转换的预测。

优选地,步骤1之前还包括:

步骤a,利用光谱相机或光谱仪等获取样本的光谱;

步骤b,利用已知的ciexyz响应函数和相机的响应函数分别计算得到样本对应的xyz值和rgb值;

步骤c,将采集的光谱、xyz和rgb等数据分别进行去中心化和归一化。

优选地,步骤2中的构建第一支路网络并利用其进行预训练包括:

步骤21a,对网络参数进行随机初始化;

步骤22a,将训练集和交叉验证集中的xyz和rgb数据作为第一支路网络的训练样本;

步骤23a,将作为损失函数,batchsize设为128,epoch设为5000,采用sgd优化并设置初始学习率为0.01,然后对第一支路网络进行训练直至收敛,并保存参数。

优选地,步骤2中的构建第二支路网络并利用其进行预训练包括:

步骤21b,对网络参数进行随机初始化;

步骤22b,将训练集合交叉验证集中的光谱hs数据作为第二支路网络的训练样本,采用自监督学习;

步骤23b,将作为损失函数,batchsize设为64,epoch设为5000,采用sgd优化并设置初始学习率为0.01,然后对该第二支路网络进行训练直至收敛,并保存参数。

优选地,所述步骤3包括:

步骤31,将训练集的光谱、xyz和rgb值组成三元组训练集,用于联合训练;

步骤32,利用第一支路网络实现rgb到xyz转换网络的预训练参数初始化第二支路网络;

步骤33,利用第二支路网络实现光谱自编码网络的预训练参数初始化第一支路网络;

步骤34,随机初始化第一支路网络与第二支路网络特征拼接融合后端的输出卷积层参数;

步骤35,将第一支路网络与第二支路网络的mse进行加权求和后作为损失函数,batchsize设为64,epoch设为1000,采用sgd优化并设置初始学习率为0.001,同时保持两条支路的前端网络不变,利用三元组训练集对双支路网络进行训练直至收敛,并保存参数。

优选地,所述步骤4包括:

步骤41,用预训练参数去加载第一支路网络前端的特征学习部分,即输出层以前的各层参数;

步骤42,用步骤3得到的输出卷积层参数去加载第一支路网络对应的输出卷积层,由此即可实现输入rgb值,第一支路网络输出预测的xyz值。

本发明利用cnn模拟了光谱字典的学习;最后设计了光谱和rgb双支路联合训练模型实现结合光谱信息指导的颜色空间转换。对比实验结果显示,非线性转换得到的xyz误差比线性转换小很多。而基于光谱信息指导后,不但使得颜色空间转换的物理意义更明确,并且最后得到的xyz误差也比神经网络的结果更小更精确。

附图说明

图1示意性地示出了本发明中的双支路模型结构图;

图2示意性地示出了本发明中的rgb到xyz颜色空间转换支路结构图;

图3示意性地示出了本发明中的光谱自编码支路结构图;

图4示意性地示出了样本(归一化)rgb与xyz分布图;

图5示意性地示出了神经网络预测的xyz分布与真实xyz分布图;

图6示意性地示出了神经网络和lms预测的xyz分布与真实xyz分布图;

图7a-图7f示意性地示出了由xyz恢复的光谱。

具体实施方式

以下对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。

本发明将颜色空间的转换看作是非线性,因此使用卷积神经网络实现rgb到ciexyz之间的颜色空间转换;为了进一步提高颜色转换的精度,以及能更好地理解和解释神经网络在颜色空间中转换的意义,本发明利用cnn模拟了光谱字典的学习;最后设计了光谱和rgb双支路联合训练模型实现结合光谱信息指导的颜色空间转换。对比实验结果显示,非线性转换得到的xyz误差比线性转换小很多。而基于光谱信息指导后,不但使得颜色空间转换的物理意义更明确,并且最后得到的xyz误差也比神经网络的结果更小更精确。

为了实现基于卷积神经网络实现颜色空间的高精度转换,本发明首先构建了一个双支路网络模型,下面,对该双支路网络模型的框架进行详细说明。

本发明采用卷积神经网络(cnn)来实现rgb到ciexyz颜色空间的非线性转换。同时借鉴了基于字典稀疏描述实现光谱重建算法的理论依据,设计了双支路网络模型及联合训练学习。

下面简单描述一下基于字典稀疏描述实现光谱重建实现的数学细节。

基于稀疏字典编码进行光谱重建的方法主要分为两部分,一是从训练样本中学习到满足稀疏要求的高光谱字典d;二是对待恢复的rgb图像,计算出稀疏描述w;最后预测的光谱则是由稀疏描述w对高光谱字典d的线性组合。

具体地说,hyperspectralprior用于训练的光谱图像数据集,基于k-svd和omp学习得到具有丰富高光谱先验的超完备字典dh;一旦得到字典,则可以通过相机的谱响应函数将高光谱字典映射到rgb空间,得到rgb空间的字典drgb,

drgb={c1,c2,...,cn}=r·dh(2)

之后,给定一个rgb图像,对于rgb图像中每个像素cq=(rq,gq,bq)t,使用omp算法并在给定的稀疏约束下,基于drgb得到最佳的系数描述权重w,

drgb·w=cq(3)

基于此w得到高光谱的稀疏表达如下,

hq=dh·w(4)

这样做的理由是,由于cq是hq在rgb下的映射,即

cq=r·hq(5)

因此可以得到下列等式,

r·dh·w=r·hq(6)

由此得到,

dh·w=hq(7)

下面,结合图1对本发明中的网络模型进行详细说明,其结构如图1所示,主要包括了三个部分:rgb到xyz颜色空间域的特征转换支路,光谱特征支路,和特征融合输出结构。

第一、rgb到xyz颜色空间域的转换支路的结构信息如表1。

表1rgb到xyz的特征转换支路的层信息

(1)输入层:输入rgb值(r,g,b)。

(2)conv1d_1/relu:一个1d卷积层接一个非线性函数relu,卷积核(filter)大小为3×1,卷积核个数为192,输出维度为192×1。

(3)view:一个维度转换层,将上一层的输出维度由192×1转换为3×64。

(4)conv1d_2/relu:一个1d卷积层接一个非线性函数relu,卷积核(filter)大小为1×64,卷积核个数为100,输出维度为3×100。

第二、光谱特征支路的结构信息如表2所示。

表2光谱特征支路的层信息

(1)输入层:输入31维的光谱数据(400nm到700nm,以10nm为步长量化)。

(2)conv1d_3/relu:一个1d卷积层接一个非线性函数relu,卷积核(filter)大小为3×1(padding=1),卷积核个数为64,输出维度为31×64。

(3)conv1d_4/relu:一个1d卷积层接一个非线性函数relu,卷积核(filter)大小为1×64,卷积核个数为100,输出维度为31×100。

第三、特征融合输出部分的结构信息如表3所示。

表3特征融合输出部分的层信息

(1)concatenate:特征拼接层,该层将两条支路的输出拼接后得到维度为34×100的融合特征。

(2)conv1d:一个1d卷积层,卷积核大小为1×100,卷积核个数为1,输出维度为34×1,其中输出的前3行数据为预测的xyz,剩下31行数据为预测的光谱值。

下面,对本发明中的模型训练与预测进行详细说明。

本发明的模型只在联合训练阶段采用双支路结构,之后的预测和推理将去掉光谱信息支路,实现输入rgb后直接预测对应的xyz值。具体过程如下:

(1)首先,采集并建立数据集data={hs,rgb,xyz},其中hs为采集的光谱信息,rgb和xyz分别对应hs在给定的相机映射函数和ciexyz映射函数下得到的rgb和xyz值。

(2)然后,由数据子集{rgb,xyz}对rgb到xyz的颜色空间转换支路(如图2)进行预训练,损失函数为预测值xyz′与真实的xyz之间的均方差mse,如式8。

(3)由数据子集{hs}对光谱信息支路(如图3)进行自编码的预训练,损失函数为输入的光谱数据hs与预测的光谱hs’之间的均方差,如式9。

(4)联合训练:将两个支路特征提取部分的预训练参数加载到双支路模型后,再使用数据集data={hs,rgb,xyz}对最后的特征融合输出部分进行微调。

(5)基于rgb预测xyz:网络训练结束后进行预测时去掉了光谱信息之路,这时采用rgb到xyz的颜色空间转换模型结构(如图2),并将联合训练的网络参数加载到此网络,由此实现基于rgb到xyz的精确转换。

下面,结合一个优选的实施方式,对本发明的具体实施步骤和方法进行更进一步地详细说明。

步骤一,训练及测试样本集准备,包括以下步骤:

步骤1,利用光谱相机或光谱仪等获取样本(比如色卡或待检测目标)的光谱;

步骤2,利用已知的ciexyz响应函数和相机的响应函数分别计算得到样本对应的xyz值和rgb值;

步骤3,将采集的光谱、xyz和rgb等数据分别进行去中心化和归一化;

步骤4,将归一化光谱、xyz和rgb组成样本数据集,并按8:1:1的比例设置训练集、交叉验证集和测试集。

步骤二,rgb转xyz的单支路网络(图2)预训练,该网络实现rgb到xyz的颜色空间转换,最后的特征输出维度是3×100,输出层是一个1维卷积,最后的输出过程的意义类似式(3)的描述,包括以下步骤:

步骤1:对网络参数进行随机初始化;

步骤2:将步骤一中得到的训练集和交叉验证集中的xyz和rgb数据作为该支路网络的训练样本;

步骤3:将式(8)中的mse作为损失函数,batchsize设为128,epoch设为5000,采用sgd优化并设置初始学习率为0.01,然后对该支路网络进行训练直至收敛,并保存参数。

步骤三,光谱自编码支路网络(图3)预训练,该网络最后的特征维度是31×100,输出层是一个1维卷积,最终的输出过程类似等式(4)对光谱的编码,具体实施:

步骤1:对网络参数继续随机初始化;

步骤2:将步骤一中得到的训练集合交叉验证集中的光谱hs数据作为该支路网络的训练样本,采用自监督学习;

步骤3:将式(9)的光谱mse作为损失函数,batchsize设为64,epoch设为5000,采用sgd优化并设置初始学习率为0.01,然后对该支路网络进行训练直至收敛,并保存参数。

步骤四,对双支路模型继续联合训练,在联合训练过程中将两条支路的特征进行融合,输出层仍采用1维卷积,相当于要求满足等式(3)和等式(4)中权重w必须保持一致的约束条件(理论依据由等式(4)到(6)进行了说明)。最终网络学习的结果不但保证了rgb到xyz颜色空间的转换精度,同时使颜色空间转换在光谱层面上的物理意义更明确。具体实施:

步骤1:将步骤一中训练集的光谱、xyz和rgb值组成三元组训练集,用于联合训练;

步骤2:利用步骤二中rgb到xyz转换网络的预训练参数,初始化双支路网络模型的对应支路(图1中右边支路);

步骤3:利用步骤三中光谱自编码网络的预训练参数,初始化双支路网络模型的对应支路(图1中左边支路);

步骤4:随机初始化双支路网络模型的输出卷积层参数(图1中特征拼接融合后端);

步骤5:将式(8)和式(9)的mse进行加权求和后作为损失函数,batchsize设为64,epoch设为1000,采用sgd优化并设置初始学习率为0.001,然后利用三元组训练集对双支路网络进行训练直至收敛,并保存参数。

步骤五,当整个网络训练结束后则可以进行rgb到xyz颜色空间转换的预测。预测时只需要rgb到xyz转换的单支路网络,具体实施:

步骤1:用步骤二得到的预训练参数去加载网络前端的特征学习部分,即输出层以前的各层参数;

步骤2:用步骤四得到的输出卷积层参数去加载网络对应的输出卷积层,由此即可实现输入rgb值,网络输出预测的xyz值。

为了直观感受rgb经过转换后得到的预测xyz与真实xyz在ciexyz空间中的分布情况,实验对样本数据进行了分布可视化,实验结果如图4和图5所示。首先,图4给出了样本原始的rgb(黑点)分布和xyz(红点)分布,从图中可以看出这两个预的分布有着明显差异。然后,在3d图中观察神经网络将rgb转换为xyz后的分布是否与真实的xyz保持一致,图5给出了样本rgb(黑点)经过bp变换后得到预测的xyz(蓝点)分布,从图中可以看出预测的xyz(蓝点)分布基本与真实xyz(红点)分布保持一致,这进一步说明了神经网络的有效性。

接下来图6可视化了神经网络的非线性拟合与lms的线性拟合之间的区别,其中红色为真实xyz分布,蓝色为神经网络预测的xyz分布,绿色为lms预测的xyz分布。从实验结果可以看出,rgb经过神经网络非线性转换后的xyz比经过lms线性转换后的xyz更接近真实的xyz分布。

最后,实验会进一步观察结合光谱信息的神经网络预测的xyz在光谱上的意义。如图7a-图7f所示,真实xyz恢复的光谱为(绿色o),基于rgb预测得到的xyz恢复的光谱为(蓝色*),真实光谱为h(红色实线)。实验结果显示,结合光谱信息后预测的xyz确实具有一定的光谱意义。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1