赵 斌,王建华
(江苏科技大学 电子信息学院,江苏 镇江212003)
红外测温系统具有能对目标远距离在线实时成像和温度测量,借助它无接触的在线检测方法,实现人力无法直接解决的问题,已经被广泛地应用在军事、工业、防盗系统、医疗、救生和电力设备监测等领域中。红外测温系统最主要的部分就是红外温度传感器,系统在工作的过程中容易受到很多因素的影响,如目标物体的表面辐射率、传感器与目标物体的探测距离、环境温度、器件自身的温度等,都会导致传感器测温误差变大。经过大量的试验验证,环境温度的变化对传感器的测温精度的影响比较显著[1,2]。因此,应针对环境变化这一因素,对红外温度传感器进行补偿,以消除环境温度变化对传感器测温精度的影响。
人工神经网络是目前一种有效的补偿方法[3],大量的理论研究已经证明BP 算法是一种有效的神经网络算法,但该算法过拟合现象严重,收敛速度慢,训练时间长,易陷入局部极值点[4]。
本文提出粒子群优化(particle swarm optimization,PSO)BP(PSO-BP)算法,能有效地避免BP 算法的上述缺点,并结合了粒子群算法超强的全局搜索特性和BP 算法快速的局部搜索能力,将该混合算法运用到红外温度传感器的温度补偿模型中,实现了传感器测温精度的补偿。
假设仪器设定的发射率为ε1,物体的实际发射率为ε2,根据斯蒂芬—玻耳兹曼定律,设距离R 时,红外测温仪测量温度T1和物体的表面温度T2、环境温度T0之间的关系为
根据式(1),可以设定红外温度传感器的模型为
式中 x 为传感器输入,即待测目标参量,t1,t2,…,tk为非目标参量,本文中为环境温度t,y 为传感器输出。
红外温度传感器的补偿是将其输入和输出关系对调并进行建模,得到传感器的逆模型,即
由图1 可以看出:红外温度传感器的测量值y 与环境温度t 是PSO-BP 温度补偿模型的输入。PSO-BP 模型通过对训练样本集的学习,在传感器测量值y、环境温度t 与实际目标值x 之间建立一种非线性映射,即式(2)所示。通过PSO-BP 算法的优化可使该映射达到较高的精度,即PSO-BP 补偿模型的输出p 较好地逼近实际目标值x。
图1 红外温度传感器环境温度补偿模型Fig 1 Ambient temperature compensation model of infrared temperature sensor
BP 神经网络[5]是采用BP 算法的多层感知器神经网络模型,它由输入层、隐含层和输出层组成。实质上就是将一输入/输出问题变为一个非线性优化问题,通过对一定量的样本进行学习和训练,来确定网络的有关参数。
BP 神经网络的训练过程包括信息正向传播和误差反向传播,反复交替直到收敛为止,采用梯度下降法调节网络权值来使实际输出与计算输出构成的误差函数E(wt)达到最小。
BP 神经网络具有精确寻优的能力,但由于网络的初始权值具有随机性,会导致网络的寻优不具有唯一性,容易出现局部最优,而且初始权值的随机性还会导致训练次数较多,收敛速度较慢[6]。BP 的上述缺点导致此算法很难在红外温度传感器补偿方面得到实际的应用,为此,对BP 算法进行改进,将PSO 算法和BP 神经网络结合起来,改善BP算法的性能,加速收敛。
PSO 算法是以模拟鸟的群集智能为特征,以求解连续变量优化问题为背景的一种优化算法[7]。PSO 算法中每个粒子就是所要优化的问题的每一个潜在解,所有的粒子都有一个被目标函数决定的适应值,算法根据适应值来确定是否达到寻优目标[8]。PSO 算法需要初始化一群随机粒子,然后通过迭代来找到最优解,在迭代的过程中,每个粒子都能知道自己目前为止发现的最好解,称为个体极值(pbest),同时,还知道到目前为止整个群体中所有粒子发现的最好解,称为全局极值(gbest)。
用PSO-BP 神经网络的目的就是通过PSO 算法得到更好的BP 网络初始权值和阈值,初始化随机产生N 个微粒群,粒子群的位置向量实质上就代表神经网络的全部初始权值和阈值,PSO 利用算法步骤,通过迭代寻优寻找全局最优位置向量,亦即最优的BP 神经网络初始权值和阈值,也使均方误差最小,在此基础上,BP 算法再对上面得到的参数进一步精确优化,直至搜索到最优的网络参数为止。
具体的算法流程如图2 所示。
图2 PSO-BP 算法流程图Fig 2 Flow chart of PSO-BP algorithm
以MLX90620 红外热电堆传感器为试验对象,在6 组不同的环境温度点下进行试验,分别用MLX90620 传感器来测量6 组不同的已标定的目标物体温度,采集到的原始数据如表1 所示。
将T={15.2,19.4,26.7,35.2,39.3 ℃}组的数据作为训练样本集,T={30.0 ℃}的数据作为测试样本集。为了使采集数据统一,需要先对采集到的数据进行归一化处理,所有数据归一化到[0.05,0.95]区间
当Z 对应为环境温度时,Zmax,Zmin分别为环境温度的最大值和最小值,Z*就为归一化后的数据,以此类推,得到目标物体的温度标准值和测量值的归一化后的数据。
为了验证PSO-BP 算法对红外温度传感器环境温度补偿的效果,将其和BP 神经网络进行对比试验,设置PSO 算法的种群规模为100,进化代数为700,学习因子c1,c2分别为2.7 和1.3,惯性权重w 随优化进程逐渐从0.9 调整到0.4,BP 神经网络采用三层拓扑结构,输入层神经元个数为2,隐含层神经元数设置为11,输出层神经元个数为1,最大训练次数设置为8000,期望误差为0.00000001,隐含层传递函数采用s 型正切函数tansig,输出层传递函数采用线性函数purelin.训练函数为trainlm。
表1 原始数据表Tab 1 Raw data table
先利用训练样本进行训练,再对测试样本进行预测,分析两种方法对红外温度传感器的补偿效果,为定量地分析补偿效果,应用相对误差Er来衡量,Er的计算公式如式(15)所示
式中 Δy 为相对误差,y 为真实值。温度补偿结果如表2所示。
表2 温度补偿结果Tab 2 Temperature compensation result
由表2 可知,PSO-BP 和BP 两种补偿效果都明显好于测量值,说明两种方法都是有效的,分析数据可以看出:PSO-BP 补偿后的最大相对误差只有0.67%,远远小于BP补偿后的10.9%,从图3 和图4 可以看出:PSO-BP 算法经过1 761 步迭代达到了预期目标,而BP 算法经过了3 820 步迭代达到预期目标,PSO-BP 算法的收敛速度明显快于BP算法,综上可以得到用PSO-BP 算法的补偿效果明显好于单纯的BP 补偿效果,同时也使环境温度这一因素对红外温度传感器的影响大大降低,得到较为理想的补偿效果。
图3 PSO-BP 训练过程Fig 3 PSO-BP training process
图4 BP 训练过程Fig 4 BP training process
本文结合了PSO 算法和BP 算法的各自的特点,采用PSO 算法预先对BP 神经网络初始权值进行优化,避免了BP 算法收敛速度缓慢、计算精度不高等缺点,采用PSO-BP混合算法有效地补偿了环境温度这一因素对红外温度传感器的影响,提高了测温精度,在实际工程中具有一定的应用价值。
[1] 隋修宝,陈 钱,顾国华.环境温度对红外图像非均匀性影响的研究[J].光子学报,2008,12(1):2572-2575.
[2] 李云红,孙晓刚,原桂彬.红外热像仪精确测温技术[J].光学精密工程,2007,15(9):1336-1341.
[3] 楚 明,廖圣华,刘 繁,等.光纤传感器的神经网络光强补偿及非线性校正[J].仪表技术与传感器,2012(2):108-110.
[4] 许兆美,刘永志,杨 刚,等.粒子群优化BP 神经网络的激光铣削质量预测模型[J].红外与激光工程,2013,42(9):2371-2372.
[5] 赵振江.基于PSO-BP 神经网络的网络流量预测与研究[J].计算机应用与软件,2009,26(1):219-220.
[6] Lahiri S K,Ghanta K C.Development of a hybird artificial nerual network and genetic algoirthm model for regime identification of slurry transport in pipelines[J].Chemical Product and Process Modeling,2009,4(1):1-32.
[7] 田雨波.混合神经网络技术[M].北京:科学出版社,2009:148-153.
[8] Lu X,Li H,Yuan X.PSO-based intelligent integration of design an control for one kind of curing process[J].Journal of Process Control,2010,20(10):1116-1125.