APP下载

基于改进BP神经网络的显示器色空间转换

2014-08-31李瑞娟

关键词:显示器颜色神经网络

洪 亮,李瑞娟

(河南工程学院 材料与化学工程学院,河南 郑州 450007)

基于改进BP神经网络的显示器色空间转换

洪 亮,李瑞娟

(河南工程学院 材料与化学工程学院,河南 郑州 450007)

彩色显示器是用来传达颜色的重要工具,而色彩在不同设备或系统上往往会有差异,所以对显示器建立一个色彩管理系统很有必要.用色彩管理软件和分光光度仪对显示器进行屏幕的校准和特性化, 采用改进的BP神经网络法建立了从RGB色空间到Lab色空间的转换模型.通过对实验数据进行对比分析可知,这种算法对色彩空间的转换具有较好的非线性拟合能力和更高的预测准确性.

色彩管理;色彩空间;BP神经网络

一直以来,显示器都是最主要、最直观的图像输出设备.显示器颜色的特性化即确定其RGB颜色控制数值与显示颜色的CIE色度值之间转换关系,是色彩管理的基础工作之一,故研究一种有效的LCD显示器的精确颜色特性化方法越来越重要[1].对LCD显示器进行屏幕的校准和特性化,将BP神经网络法引入显示器的色彩空间转换具有重要的研究意义和应用价值.

1 BP神经网络应用

1.1仪器校准预热与数据测量

测量前对显示器进行30 min的预热,使它们进入稳定的工作状态.启动i1Profiler软件,连接Eye-One Pro,按照提示操作进行校正并生成LCD显示器ICC特性文件,最后软件自动将该ICC文件设置为当前LCD显示器系统的配置文件.

1.1.1 训练色靶的确定

将RGB的数字驱动值0~255按每隔51进行6级分割(即0,51,102,153,204,255),用Matlab编写产生色块程序,RGB分别取其中一个值组成一种颜色,这样共有63即216个色块.在Measure Tool软件中通过Eye-One Pro分光光度仪测量并记录216个训练色块对应的Lab值并存储到文本文件中.

1.1.2 检验色靶的确定

将RGB的数字驱动值0~255按每隔36进行8级分割(即0,36,72,108,144,180,216,255),共得到512个测试点的R,G,B值.在Measure Tool软件中通过Eye-One Pro分光光度仪测量并记录512个建模色块的Lab值和相应RGB值并存储到文本文件中.

1.2BP神经网络法

BP(Back Propagation)神经网络,即误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程组成.一般BP神经网络是由输入层、中间层和输出层组成的阶层型神经网络,如图1 所示.BP神经网络在描述非线性关系方面具有独特的优势,具有强大的函数模拟能力.

图1 BP神经网络原理图Fig.1 Schematic diagram of BP neural network

1.2.1 BP神经网络的建模准备

本实验利用BP神经网络理论建立显示器从数字图像像素RGB值到显示色彩色度值Lab的转换.

(1)确定输入层和输出层节点数

由于建立的是RGB颜色空间到Lab颜色空间的转换模型,所以BP神经网络的输入层神经元个数为3,输出层神经元个数也为3.

(2)确定样本输入值与输出值

在色空间转化研究中,通过对标准输出数据和测量数据的训练,可以得到不同设备色空间之间的映射关系,运用此映射关系可以完成它们之间的转换[2].为了使实际输出值与网络期望输出值相吻合,可用含有一定数量学习样本的样本集和相应期望输出值的集合来训练网络.实验建立网络时选择216组数字图像像素值与其对应色度值之间的对应数据对,测试网络时选择512组数据对.

(3)数据归一化处理

在训练网络之前,需要把不在区间内的数据通过某种算法处理缩放到区间内,即归一化处理.由于训练样本的数值相差甚远,RGB的数值变化在0~255,L亮度变化在0~100,a与b的变化范围也不小,因而在网络学习过程中,如果直接利用上述原始数据进行训练,就可能突出某些数量级特别大的样本对的作用而降低甚至排斥某些数量级较小的样本对的作用.为此,对输入向量进行归一化处理,使每一样本对的输入值统一于某种共同的数据特性范围内.

基于BP神经网络建立显示器色彩空间转换模型的精度改进方法先是确定对数据预处理,即采用mapminmax函数对训练数据进行归一化处理(函数可以把矩阵的每一行归一到[-1 1]),然后基于BP神经网络建立RGB到Lab颜色空间转换模型,将归一化处理的检测样本代入网络进行仿真预测,最后对仿真预测结果进行反归一处理,这时的输出数据才是所需要的预测结果.

需要在Matlab中处理的函数如下:

%训练数据归一化

[inputn,inputps]=mapminmax(input_train);

[outputn,outputps]=mapminmax(output_train);

%预测数据归一化

inputn_test=mapminmax(′apply′,input_test,inputps);

%输出结果反归一化

BPoutput=mapminmax(′reverse′,A,outputps);

(4)确定隐层数和隐层节点数

由于一个3层的BP网络可以完成任意的n维到m维的映射[3],故从含有一个隐层的网络开始进行训练,实验最终确定选用一个隐层.

实验采用网络结构增长型方法选择隐层节点数,即先设置较少的节点数对网络进行训练,并测试检验样本误差,然后逐渐增加节点数,直到学习误差不再有明显的减少为止.本实验最终决定隐层节点数选用20.

(5)确定常用的传递函数

BP网络的传递函数有多种.实验训练BP网络时发现,隐层中的传输函数设置为tansig,输出层的神经元则采用线性传递函数purelin.

(6)确定算法

基于BP神经网络建立显示器色彩空间转换模型精度改进的另一途径是在建立神经网络时采用改进的L-M(Levenberg-Marquardt)算法.

标准BP算法存在收敛速度缓慢、容易陷入局部极小值等缺点,在实际应用中BP算法很难胜任,所以出现了很多改进的算法.其中,L-M优化算法的基本思想是使每次迭代不再沿着单一的负梯度方向,而是允许误差沿着恶化的方向进行搜索,同时通过在最速梯度下降法和高斯牛顿法之间自适应调整来优化网络权值,使网络能够有效收敛,大大提高了网络的收敛速度和泛化能力[4].

L-M 算法是一种对非线性函数求解最小值的数值计算方法.L-M优化算法类似于拟牛顿法,以近似二阶训练速率进行修正,避免计算Hessian矩阵.

H=JTJ,

(1)

g=JTe,

(2)

x(k+1)=x(k)-[JTJ+μI]-1JTe,

(3)

其中,H近似为Hessian矩阵;J为雅克比矩阵(Jacobian matrix),包含网络误差函数对权值和阈值一阶导数;e为网络的误差向量;g为梯度;x(k)为第k次迭代各层之间的连接权向量或阈值向量;I为单位矩阵.当μ=0时,公式(3)为牛顿法;当μ较大时,公式(3)就变成了具有较小步长的梯度下降法.

为了验证L-M优化算法的性能,在 Matlab中设定系统总误差为0.001,步长为 0.05,网络训练 1 000 次,实验采用L-M算法、标准BP算法、弹性BP算法、附加动量BP算法与贝叶斯正则化算法等几种改进算法进行了比较,表1给出了几种算法收敛速度的比较.

表1 几种算法收敛速度的比较Tab.1 Comparison of several convergence speed

通过表1数据可知,L-M算法的收敛速度最快,L-M 算法作为一种改进的BP算法可以获得很好的预测效果.总之,L-M法对于中等规模的 BP 神经网络具有最快的收敛速度,而且它很好地利用了矩阵的运算优势,所以它的特点很适合在 Matlab中体现.

(7)确定评价函数

BP神经网络的默认评估标准是MSE越小越好,改进基于BP神经网络建立显示器色彩空间转换模型精度方法之三是选择色块平均色差ΔE作为评价标准.实验在Matlab中利用仿真函数A=sim(net,test)进行仿真计算其差值ΔE,从而进行BP网络精度模型的评价.测试比较的色差基于CIE 1976 L*a*b*均匀颜色空间色差计算公式为

图2 神经网络算法流程Fig.2 Neural network algorithm flow chart

1.2.2 建立BP神经网络转换模型

基于前面参数的确定,在Matlab 平台上设计创建的BP神经网络及相关参数设置为

net=newff(minmax(P), [20,3],{' tansig' , ' purelin', ' trainlm' });

net.trainParam.lr=0.05;

net.trainParam.epochs=1 000;

net.trainParam.goal=1e-3.

BP神经网络算法的基本步骤如图2所示.

1.2.3 BP神经网络的精度分析

BP 神经网络连接权值和阈值的整体分布,这决定了数据拟合的效果[5].BP神经网络里的权值、阈值的初始值是随机赋值的,所以每次运行的结果都会不一样,有好有坏.为了便于比较,本实验在Matlab中分别对相同的数据采用没有归一化处理和归一化处理各连续测试 20次.

20次测试中,数据没有归一化处理的平均色差值为3.665 3,而归一化处理得到平均色差值为3.116 5,相关测试结果对比如图3所示.在图3中,直线相连的菱形图是没有归一化处理的效果,其中就出现了若干个平均色差极大值或极小值;虚线相连的加号图是归一化处理的效果,使样本对的平均色差基本统一于3.116 5左右波动,幅度小而稳定.使用归一化过的样本数据训练神经网络,可以加快网络的训练速度、在一定程度上增强网络的泛化能力.

图3 数据归一化处理的对比效果Fig.3 Effect comparison of normalized data

最终把归一化处理后预测效果不错的BP神经网络即最小平均色差值为1.473的BP神经网络的输入层和输出层的权值和阈值作为初始值再进行仿真比较,相关数据如表2所示.

表2 BP神经网络模型精度数据Tab.2 The BP neural network model accuracy data

2 结语

本实验采用Matlab实现多层前馈BP网络实现RGB到Lab颜色空间转换得到的平均色差为1.473,说明液晶显示器色彩管理后色彩再现的精度非常高,完全符合标准GB/T 7705—1987《平板装潢印刷品》[6].结果表明,经过训练的多层前馈BP网络可以定量表达显示器的特性化效果,可以使显示器特性化的测定和控制实现定量化,而不再是主观性很强的模糊描述.

[1] 许敬亚,刘浩学,黄敏.液晶显示器颜色计算方法的探讨[J].中国印刷与包装研究,2010,2(S1):89-93.

[2] 黎新伍.基于BP神经网络的CRT显示器色彩管理新模型[J].液晶与显示,2008,23(2):235-240.

[3] 刘士伟,魏庆葆.基于 BP 神经网络的 CMYK 到 L*a*b*颜色空间转换模型[J].包装工程,2011,32(11):69-71.

[4] 张德丰.Matlab 神经网络应用设计[M].北京:机械工业出版社,2009: 259-261.

[5] 刘春艳,凌建春,寇林元,等.GA-BP 神经网络与 BP 神经网络性能比较[J].中国卫生统计,2013,30(2):173-176.

[6] 全国印刷标准化技术委员会.常用印刷标准解读[M].北京:印刷工业出版社,2005.

ThedisplaycolorspaceconversionbasedonimprovedmethodofBPneuralnetwork

HONG Liang,LI Rui-Juan

(CollegeofMaterialandChemicalEngineering,HenanInstituteofEngineering,Zhengzhou450007,China)

Color CRT is an important tool to communicate, and color in different equipment and systems are often different, therefore a color management system based on the display is very necessary. Calibration and characteristics of color management software and spectrophotometer were on display screen, color space model from the RGB color space is transformed into Lab is built using the improved method of BP neural network. The experimental data is compared and analyzed. Results show that the algorithm of this method has good non-linear fitting capability and higher prediction accuracy of color space conversion.

color management; color space; BP neural network

2013-11-02

2013年河南省教育厅自然科学研究项目(13B510932 )

洪亮(1977- ),男,湖北阳新人,副教授,主要研究方向为印刷包装与多媒体制作.

O432.3

A

1674-330X(2014)01-0062-05

猜你喜欢

显示器颜色神经网络
把显示器“穿”在身上
神经网络抑制无线通信干扰探究
IDC发布《2018年PC显示器市场跟踪报告》
一种新型点阵显示器的设计
基于神经网络的拉矫机控制模型建立
特殊颜色的水
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
点距小也不怕