注:本文主要参考“彩色人脸图像颜色校正及其在肝病诊断中的应用研究”硕士论文

       采集的图片颜色与采集环境有很大关系,同一个样本在不同的采集环境下得到的图片颜色是不一样的,这就影响了样本之间的比较,所以需要对采集到
的样本进行颜色校正。我们采用的颜色校正算法是基于监督的思想,即通过标准色板对图片进行颜色校正,目前在颜色校正方向上,已经有了很多方法,其
中基于监督思想的算法主要有多项式回归法、人工神经网络法、SVR 法,这几种算法各有优缺点,都需要根据实际问题对参数进行设置,其中多项式回归算
法的重点是设置项数和多项式的形式,人工神经网络算法需要设置神经元的各项参数,SVR 算法需要设置错误惩罚权重、核函数形式和参数、允许误差范围
等参数,参数设置的不同会直接影响校正结果,因此参数设置是应用各种算法的重点,也是本章讨论的重点。另外,本章还提出了一种新的颜色校正准则,
在这种准则下可以提前终止校正算法,得到一个最优的校正结果,并且根据准则评价各种校正算法的优劣,选择脸色颜色校正的最优算法。下面详细讲述这
几种算法,并将他们用在脸色图像颜色校正上,根据评价准则选择最优校正算法。

        1.多项式回归法

多项式回归算法多用于打印机色彩校正,需要存储空间少,计算速度快,容易实现。多项式回归算法关键技术是关于多项式中组合的选择,并不是项数
越多,回归效果越好,而是要根据自己的实际情况,合理选择。

下面先简单叙述一下基于多元线性回归的颜色校正原理
,设比色板上共有 N 个色块,第 i 个色块的颜色三刺激值在标准空间下为Roi、G0i、B0i ,在
自然光照环境下采集到的待校正比色板上的第 i 个色块颜色三刺激值为Ri、Gi、Bi,其中i= 1,2,3.......N,则:

颜色矫正 深度学习 颜色校正图_权值

 

其中,Vji(j=1,…,J)由 的多项式构成,有各种不同的多项式形式,例如,V=[R, G, B, 1], V=[R, G, B, RG, RB, GB, 1], V=[R, G, B, RGB,

1]等,V 的形式可以根据需要来组合成不同的形式。 

式 2-1 的矩阵形式为:

颜色矫正 深度学习 颜色校正图_权值_02

其中: X 是维数为 3×I 的色标标准三刺激值矩阵

颜色矫正 深度学习 颜色校正图_多项式_03

A 是维数为 J×3 的转换系数矩阵

颜色矫正 深度学习 颜色校正图_多项式_04

V 是维数为 J×I 的多项式回归矩阵

颜色矫正 深度学习 颜色校正图_多项式_05

矩阵 A 可利用最小二乘法优化得到,A 即为所求的模型参数。

颜色矫正 深度学习 颜色校正图_人工神经网络_06

因此,将 A 带入式 2-4 中,即可计算出校正后图像的各像素的 R、G、B 值,实现在线的彩色校正。其中,Xout是校正后图像的 R、G、B 三刺激值矩阵,维
数为 3×M; 是由原始图像所有像素的 R、G、B 值对应的多项式的项所构成的矩阵,维数为 J×M;M 为原始图像的像素总数。

颜色矫正 深度学习 颜色校正图_颜色矫正 深度学习_07

多项式回归算法的关键是设计合理的多项式项数形式,在颜色校正实验中,我们设计了 AB 两组项数做对比实验,A 组是只有 R、G、B 值的各种组合,
B 组是在 A 组的基础上再添加一个常数项“1”,目的是看常数项“1”对结果有什么影响,选择结果较好的一组,最后再综合这两组实验的所有值,找到校

正效果最好的项。 A 组的项设计如下:

颜色矫正 深度学习 颜色校正图_多项式_08

B 组各项是 A 组各项后面再添加一个常数项“1”。2.4.2 节的实验表明 A组效果要高于 B 组,并且最优校正项数为 A 组的 9 项多项式。

2.后向传播网络

     神经网络是采用物理可实现的系统来描述和模拟人脑神经细胞的结构和功能,按结构分为前馈型人工神经网络、反馈型人工神经网络、自组织竞争人
工神经网络和随机神经网络等,其中应用最广的是反馈型人工神经网络,也就是后向传播网络,简称 BP 网络。

     BP 算法的基本思想是学习过程由信号的正向传播和误差的反向传播,正向传播的过程从输入样本开始,依次经过输入层,各隐层到输出层,如果得
到的输出和期望输出不符或没有达到要求,则开始误差反向传播过程,反向传播是将输出误差从输出层经过各隐层,最后传播到输入层,将误差分摊给各层
所有单元,从而获得各层但愿的误差信号,修正各单元的权值。
     BP 网络的结构如图 2-1 所示,这是一个最简单的 BP 网络结构,一个输入层,一个隐层,一个输出层,每层各 3 个神经元,共 9 个神经元,输入前向传
播,误差反向传播。
      下面简单介绍一下实验中需要用到的函数,首先看三个最常用的激发函
数,阶跃函数 hardlim(x),线性转移函数 purelin(x),对数 S 型函数 logsig(x)和
正切 S 型函数 tansig(x),见图 2-2 所示。

颜色矫正 深度学习 颜色校正图_权值_09

颜色矫正 深度学习 颜色校正图_人工神经网络_10

BP 网络采用 Widrow-Hoff 学习算法和非线性可微转移函数的多层网络,一个典型的 BP 网络采用的是梯度下降算法。
基于 BP 网络的颜色校正算法具体过程分为训练阶段和测试阶段:

1)训练阶段
利用色卡色块值进行训练,从待校正的色卡图片上提取出 RGB 值作为输入,而色卡的标准值是已知的(色卡制作公司会提供标准色块值),色卡的标
准值作为监督值。每块色卡图片上都有 24 个色块,也就是说 BP 网络的输入样本总数是 24,每个样本有 R、G、B,3 个输入值,经过隐层,最后输出也是 3
个值,作为 BP 校正的结果,和色块的标准值进行比较,计算误差,然后反向传播,修正各层的权值,再从输入层输入数据,经过隐层到输出层,计算误差
直到达到终止标准,训练阶段就结束,训练的 BP 网络即各层连接线上的权值和各神经元激发函数。

2)测试阶段
利用训练阶段训练好的 BP 网络,对待校正的人脸图片每个像素值进行带入网络计算,每个像素的 R、G、B 值是一个输入,输出为该像素校正之后图像
的 R、G、B 值,人脸图片的所有像素值都经过 BP 网络计算完之后,校正之后的人脸图片即 BP 网络输出值组成的新图像。
BP 算法利用 matlab7.5 的神经网络工具箱,有很多参数需要设置,如初始值,激发函数,各层神经元个数,误差传播准则,权值学习准则,终止准则,
这些都会影响结果,这些参数设置如下:

(1)网络结构
因为输入数据量少,只有 24 个样本,输入简单,每个样本只有 3 维,所以需要的网络结构也很简单,否则会出现过拟合,在本实验室中,选择单隐层
网络结构,输入神经元 3 个,输出神经元 3 个,隐层神经元个数尝试 3、4、5、6、7、8、9、10、11、12、13,根据校正结果决定哪一个是最合适的。
(2)激活函数
隐层用正切 S 型函数 tan-sigmoid;输出层用线性转移函数 purelin。
(3)数据处理
输入数据采用 matlab  神经网络工具箱函数 newff 默认的处理方式,即:fixunkonwns,  removeconstractrows,  mapminmax ; 输 出 数 据 处 理 方 式 :
removeconstractrows, mapminmax;数据训练时分组是随机分组。
(4)权值和偏置的初始化
初始化方式的选择根据激活函数而定,initnw 通常用于激活函数是曲线函数,它根据 Nguyen 和 Widrow[NgWi90]为层产生初始权重和偏置值,使得每层
神经元的活动区域能大致平坦的分布在输入空间。initwb 用于激活函数是线性函数,通常设置为 rands,在-1 到 1 之间随机取值。根据激活函数为 tansig 和
purelin,因此初始化方式为:第一层 initnw,第二层 intwb,rands。
(5)训练方式
批处理方式,根据 Levenberg-Marquardt 最优准则更新权值和偏置。
(6)学习率
采用带动量的梯度下降法 learngdm,它可以提供更快的收敛速。动量梯度下降法综合考虑当前梯度和误差曲面最近的趋势响应,通过把权重变得与上次
权重变化的部分和由算法规则得到的新变化的和相同而加入到网络学习中去。
(7)终止条件

最大循环次数 200,最大误差 0.01。

3.支持向量回归

SVM 算法在解决小样本、非线性及高维模式识别问题中有很多优点,近年来,被越来越多地应用在各个领域,张宏志等人首先将 SVM 的思想用在舌象颜
色校正上,取得了很好的效果,与多项式回归相比较,有很大的优点。

支持向量机根据 VC 维理论和结构风险最小化原则,使得期望误差最小,从而达到最优的分类结果。SVM 方法是从线性可分情况下的最优分类面提
出的。支持向量机的思想:首先通过非线性变换将输入空间变换到一个高维空间,然后在这个新空间中求取最优线性分类面,见图 2-3。支持向量回归是支
持向量机的回归模型,根据统计数据来拟合数据分布。

颜色矫正 深度学习 颜色校正图_颜色矫正 深度学习_11

支持向量机的求解过程简单介绍如下:
使用内积 K(x,x)代替最优分类面中的点积,优化函数为:2-5

颜色矫正 深度学习 颜色校正图_权值_12

相应的判别函数为:2-6

颜色矫正 深度学习 颜色校正图_多项式_13

回归参数变为:2-7

颜色矫正 深度学习 颜色校正图_颜色矫正 深度学习_14

具有如下的限制条件:

颜色矫正 深度学习 颜色校正图_颜色矫正 深度学习_15

在如上限制条件下,式子(2-7)可求得拉格朗日乘子 。只有当 非零时,才对应于支持向量 SVM,进而求出如下形式的回归函数,即舌图像颜色
校正函数f(x):

颜色矫正 深度学习 颜色校正图_权值_16

其中:

颜色矫正 深度学习 颜色校正图_权值_17

颜色矫正 深度学习 颜色校正图_人工神经网络_18

目前的内积函数主要有 3 种

1. 采用多项式形式的内积函数,即 

颜色矫正 深度学习 颜色校正图_多项式_19

2. 采用核函数型内积

颜色矫正 深度学习 颜色校正图_颜色矫正 深度学习_20


3. 采用 S 型函数作为内积

颜色矫正 深度学习 颜色校正图_颜色矫正 深度学习_21

基于 SVR 的颜色校正算法采用 epsilon-不敏感损失函数,内积函数为高斯核函数,首先需要建立 3 个模型,每个模型的输入数据都一样,为待矫正色板

中 24 个色块的 R、G、B 值,输出分别为 R 值、G 值和 B 值。 建立模型首先要选择参数 C 和 g,p 值,C 值为 SVR 的错误惩罚权重,g

值为核函数中的参数

颜色矫正 深度学习 颜色校正图_多项式_22

中的 gamma,p 是允许的误差epsilon,这里认为三个通道模型的参数是一样的。对于三个参数的选择,方法

是这样的:每次只让一个参数变化,其余两个参数固定,根据校正前后的 Lab空间下 

颜色矫正 深度学习 颜色校正图_人工神经网络_23

进行选择,

颜色矫正 深度学习 颜色校正图_人工神经网络_24

越小,在该参数下的结果越好。

校正算法评价

      在利用各种方法对舌象或脸色图像进行彩色校正之后,要有一个统一准则来评价各种方法的优劣程度,彩色重现的评价涉及到色度学、生理学、心理学

等领域,是一个很复杂的问题,常用的评价方法分为主观评价与客观评价两类。

主观评价就是让一些观察者对彩色校正的质量进行视觉评价并打分,根据这些打出的分数高低来判断彩色重现的质量。这种方法直观可靠,但是不能对

彩色重现进行定量分析。客观评价是在一定的条件下采用一套特定的色标进行,通过计算三刺激值的差异来判断,一般采用 CIELab 和 CIELUV 空间。客

观评价的缺点是三刺激差值最小的校正在主观效果里常常不是最好的。

      本文采用的是客观评价和主观评价相结合的方法,首先进行客观评价,选择较好的结果,然后再观察校正之后图片的实际效果,最后做出判断。客观评

价主要用 Lab 空间,RGB 空间作为辅助。在 Lab 空间,用

颜色矫正 深度学习 颜色校正图_权值_25

颜色矫正 深度学习 颜色校正图_权值_26

来衡量,其中 avg ( X )为X 的均值,max( X )为 X 的最大值, min( X )为 X 的最小值,假设基准色块有 K 个,
分别第 i 个色块对应的的标准 值, 为第 i 个色块对应的需校正的 lab值,上面的客观评价用到的值计算公式如下:

颜色矫正 深度学习 颜色校正图_颜色矫正 深度学习_27