陈杰,姚娜,武宁,吕海芳
(塔里木大学信息工程学院,新疆 阿拉尔 843300)
新疆阿克苏地区红旗坡农场地处天山托木尔峰南麓和塔里木盆地北缘,气候干燥少雨,日照强且冷暖变化剧烈。这里盛产的‘冰糖心’苹果果核部分呈现如蜂蜜般的结晶体,果皮色泽光亮平滑,果肉质地较密、味甜汁多,含糖量是所有苹果中最高的[1]。糖度作为苹果的品质参数之一,是果品无损检测中常用的指标。高光谱成像技术是把二维图像和光谱融为一体,图像反映苹果的大小、形状以及缺陷等外部品质特征,样本成分的不同造成了对光谱吸收的不同,因而提取的光谱曲线不同。因此,根据光谱信息可以预测样品内部化学成分[2-4]。近年来国内外一些学者广泛将高光谱成像技术应用于苹果糖度的无损检测研究中,取得了一定进展。郭志明等[5]研究感兴趣区域的平均光谱并采用最小二乘法建立苹果的糖度预测模型,预测均方根误差RMSEP为0.456 8;
冯迪等[6]使用高光谱图像的洛伦兹参数建立了苹果的硬度和糖度含量的预测模型,相关系数r达到0.828;
CHEN J等[7]采集高光谱苹果图像,采用连续投影算法和GA提取特征波长建立模型对苹果糖度进行检测,取得了较好的效果。但上述均采用全局变量和特征波长结合的方式来进行无损检测,会存在一定的非线性响应,从而给模型造成一系列影响。而局部回归方法(local regression method)是根据一定的相似性来选取训练集中与测试集性质相近的部分作为训练子集建立模型,以此来解决由于样本间差异过大而引起的非线性响应[8]。
在局部建模中,性质相近常采用“距离”进行衡量。常用的距离有欧氏距离和马氏距离等。欧氏距离是空间中两个点之间的真实距离,是向量的自然长度;
马氏距离是一种有效的计算两个未知样本集相似度的方法,与欧氏距离不同的是它考虑到各种特性之间的联系,这两个距离常被用来降低模型的相似度[9]。
特征变量的数量会影响数据规律的查找和建立,因此需要找到一个合理的方法,在减少需要分析的变量的同时,尽量减少原变量所包含信息的损失,以达到对所收集的数据进行全面分析的目的。主成分分析算法(principal components analysis,PCA)是最常用的线性降维方法,它是通过某种线性投影,将高维的数据映射到低维的空间中,使得在所投影的维度上数据的信息量最大,以此保留住较多原数据的信息[10]。
反向传播(back propagation,BP)神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。它在一定程度上可以模拟人大脑神经系统的活动过程,具有自学习、自组织、自适应能力及高度非线性表达能力,这是其它建模方法所不具备的[11]。目前很多学者将BP神经网络应用于农产品无损检测上,刘思伽等[12]使用BP神经网络结合高光谱(全局)对苹果的病害程度进行了预测,训练集检测率达100%,验证集检测率达100%;
徐永浩等[13]对苹果的近红外光谱(全局)和糖度应用PSO结合BP神经网络建立的苹果糖度预测模型,具有更高的预测精度,预测相关系数r和均方根误差分别为0.991 1和0.150 2;
田琼等[14]通过近红外光谱技术结合主成分分析和BP神经网络研究不同国家大豆内含特征,建立进口大豆产地识别模型,总体测试集准确率为95.65%。因此,神经网络应用于苹果品质参数的预测是可行的。
针对以上问题和研究现状,本研究采用主成分空间的欧氏距离(Euclidean distance,ED)和马氏距离(Mahalanobis distance,MD)作为相似标准来筛选训练子集,减少因样本差异过大给模型造成的非线性影响,并与全局建模参数进行比较,结合BP神经网络建立局部回归模型,并应用于对实测苹果糖度的样品分析,以期对基于高光谱的苹果糖度无损检测的研究提供参考依据。
局部建模方法与全局建模方法的区别在于对每一个测试样本选择与其相似的训练集样本作为训练集子集进行建模,可以更好的对预测样本进行参数预测。
马氏距离和欧式距离的定义分别为[15]:
其中,xi和yj分别是第i个训练样本光谱和第j个测试样本光谱在主成分空间的投影;
X(M)为所有训练集的协方差矩阵,M表示主成分空间的维数,即主成分的数目,T表示矩阵的转置,+表示对协方差矩阵X(M)取广义逆[16]。
BP神经网络是一种具有输入层、隐含层和输出层的典型多层前向型神经网络,可以实现输入和输出间的任意非线性映射,具有较好的非线性映射逼近能力和预测能力[17]。图1是一个多层的神经网络结构,第1层是输入层(3个神经元),第2层是隐含层(3个神经元),第3层是输出层。从数学角度看,神经网络是一个多元复合函数,如果增加神经网络的层数和神经单元,就会有更多的函数表达式[18]。
图1 多层神经网络的表示
多层神经网络的数学表达式为:
式(3)~式(6)中x是输入数值,w是相邻神经元之间的权重,是神经网络在训练中需要学习的参数,神经网络的学习需要一个损失函数来计算训练过程中的输出值与真实值之间的差别,训练的目标是通过调整每个权重值w使得损失函数最小。最后得到的w值为模型训练得到的参数,从而可以进行模型的测试[19]。
在计算输出值时按照前向传播算法进行计算,隐藏层的输出值定义如下[20]:
其中Xi是当前节点的输入值,是连接到此节点的权重,是输出值,f是当前阶段的激活函数,是当前节点的输入值经过计算后被激活的值[17]。BP神经网络就是逐层将最终误差进行分解,即每一层只与下一层连接。假设每一层均为输出层的前一个层级,通过计算前一个层级与输出层的误差得到权重的更新。首先求得输出层与真实值之间的差距,然后反向传播到上一个节点,并计算出该节点的误差值,计算误差的目的是更新权重,可以用类似梯度下降法的方法进行权重的更新。后向传播计算公式为[21-22]:
其中δk为输出层的误差项,Y是计算值,T是真实值,是隐藏层误差。隐藏层的误差根据链式求导法则,可推出如下公式:
当前一层输出值对误差的梯度可以通过下一层的误差与权重和输入值的梯度乘积获得。
权重更新的公式为:
其中ji表示为反向传播时对应的节点系数,通过对的计算可以更新对应的权重值[20]。
均方根误差(root mean square error,RMSE)是观测值与真实值偏差的平方和与观测次数n比值的平方根,是用来衡量观测值同真实值之间的偏差,其表达式如式(11)所示[23]。
其中,yi表示实测值,i表示预测值。
RMSE越小,表明测量精度越高。
相关系数一般用r表示,它是量化相关性分析中两个变量之间线性关系强度的特定参数,其表达式如式(12)所示[24]。
其中,xi和yi是两组数据,和分别是两组数据的均值。
r的绝对值越接近1相关性越好。
本研究中,首先把所有的样本随机分成三部分,分别为训练集、验证集和测试集,训练集用于训练模型,验证集用于优化模型,测试集用于模型的测试,它们的比例为6∶2∶2;
然后对训练集光谱进行主成分分析,根据主成分图,构建训练集和验证集在主成分特征空间的投影;
之后根据训练集和验证集的欧氏距离和马氏距离选定训练子集,并使用BP神经网络进行建模和预测,并根据验证集RMSE确定模型的最优参数,即训练子集的数目和偏最小二乘法选取主成分的因子;
最后以优化的参数对测试集进行预测。
本试验以大小、形状一致,颜色分布均匀,表面光滑无损伤的阿克苏红旗坡糖心苹果为测试对象,苹果采摘后置于0℃冷藏室存储,为了减少温度对苹果的影响,在试验前取出并置于室温下24 h后再开始编号,然后进行高光谱图像和糖度的采集。
使用HySpexSWIR-384采集苹果高光谱图像,采集时为避免高光谱图像采集时环境和散光干扰成像,将整个高光谱数据采集系统置于定制的黑箱内,首先将编好号码的糖心苹果以三个为一组,摆放在移动平台上,摆放时第一个苹果和白板之间、苹果与苹果之间要留有一定的距离,以免影响第一个苹果高光谱图像的校正处理,避免苹果之间的高光谱数据互相干扰,每次放完样本即可关闭闸门,并通过电脑软件进行图像采集。
使用ENVI4.7软件打开采集的糖心苹果高光谱图像的RAW格式文件,首先使用“ROI Tool”界面选择矩形框移动到图像的白板区域对图像进行校正,以此降低在高光谱图像采集过程中的噪声干扰;
随后在每个苹果偏离光点的赤道区画出矩形框,并点击右键把所选矩形框标红,运行出它的光谱图像并将对应的光谱数据平均值以ASCLL的形式保存在Excel文档中备用。剔除异常数据以后,保存有效光谱数据200组。
图2 原始高光谱图曲线
糖度数据使用糖度、盐度两用仪(MASTER-BX/S28M)来测量。在苹果上采集光谱数据的位置处使用糖度仪对苹果进行糖度测量,每个位置采集糖度5次,最后取平均值作为样本的糖度值。
将200组数据按比例6∶2∶2随机分成训练集、验证集和测试集,即120个样本作为训练集,40个样本作为验证集,其余40个样本作为测试集。参数优化的过程以验证集的RMSEP作为评价依据。
建立BP神经网络的步骤如下:分别对训练集和验证集数据进行读取;
对输入层和输出层的神经元进行归一化处理,这一步可以加快训练网络的收敛性;
使用newff创建网络,对模型多次测试后设置隐藏节点的个数为8,此时均方根误差最小;
设置网络的训练参数,最大学习迭代数为1 000、学习速率为0.01,收敛误差设置为0.000 1;
采用最佳隐含层神经元数对模型进行训练;
基于sim函数对训练好的BP神经网络进行仿真预测;
将得出的数据反归一化并进行误差计算。
3.1 主成分数目的确定
为了确定主成分的数目,即主成分特征空间的维数,对光谱中各主成分进行考察,结果如图3所示。第一和第二主成分的贡献率共达到98%以上,因此可以采用前两个主成分进行样本主成分的计算,即把所有的高光谱数据投影到二维主成分空间,计算欧氏距离和马氏距离来选择训练子集。但在使用最小二乘法建模时,考虑到苹果成分的复杂性以及其它各成分的贡献率,主成分因子采用13来建模,从图4可以看出,主成分因子采用13完全可以把所有的影响元素囊括进来。
图3 主成分贡献率
图4 不同方式选取主因子对均方根误差的影响
根据式(1)、(2)计算主成分空间内每个验证集样本与训练集样本之间的欧氏距离和马氏距离,然后以距分布中心的3个标准偏差为阈值来选择训练子集进行建模和预测。
图5~图7分别为全光谱、马氏距离选取之后和欧氏距离选取之后训练集和验证集在二维主成分中的分布情况。欧氏距离衡量的是两样品在主成分空间中的相对距离,因此所选择的训练子集分布在近似圆形的区域,而马氏距离在计算两样品的距离时考虑了方向上的影响因素,因此选择的训练子集分布类似椭圆形,这与理论分析结果一致。
图5 全光谱训练集和验证集在主成分空间的分布
图6 马氏距离选取之后训练集和验证集在主成分空间的分布
图7 欧氏距离选取之后训练集和验证集在主成分空间的分布
表1是全光谱、马氏距离选取之后训练集糖度、欧氏距离选取之后训练集糖度和被剔除的糖度数据的统计表格。从表1可以看出,欧式距离和马氏距离选择样本后,样本间差异减小。
表1 糖度统计表格
对训练集和验证集进行三种主成分分析后,全光谱(全局)的数量为160,其中120组为训练集,40组为验证集;
马氏距离选取后训练子集的光谱数量为80组,欧氏距离选取后训练子集的光谱数量也为80组。
3.2 模型建立和分析
基于全光谱(全局)使用神经网络建立模型,建模主成分因子选取13,训练子集的数目就是全部的训练集,对验证集进行预测,得到RMSEP为0.173 7,r为0.820 94。由于训练集和验证集是随机从数据中进行无重复选择的,因此为了结果的稳定性,表1中所有的RMSEP和r均为运行100次的结果均值;
表2是使用不同的方法建模预测时验证集各参数的比较。
表2 验证集各参数比较
全光谱+PCA+BP对全光谱进行主成分分析之后,训练子集的数量不变,因为主成分降低光谱维数,对训练集的数量并不产生影响,通过BP神经网络建模之后验证集的RMSEP为0.166 4,r为0.857 28。相对全光谱的预测,预测速度有很大的提升,RMSEP和r也有改进。
ED+PCA+BP是对训练集通过主成分空间内的欧氏距离选出训练子集后,进行主成分分析和BP神经网络建模,由于训练集中距离较远的被淘汰,验证集的RMSEP和r有很大程度的提高。
MD+PCA+BP是对训练集通过主成分空间内的马氏距离选出训练子集后,进行主成分分析和BP神经网络建模,与欧氏距离得到的结果相比较,测试集的RMSEP为0.106 1,r为0.954 76,RMSEP有很大程度的改善,但是r却有所降低。
综合考虑预测速度和RMSEP以及r后,使用MD+PCA+BP对测试集进行预测,BP神经网络回归参数如图8所示。所建立模型对训练集的预测r为0.951 43,对验证集的预测r为0.820 94,对测试集的预测r为0.808 29,对全部数据进行预测时,r为0.912 83,预测效果比较理想。测试集预测值与真实值之间对比的情况如图9所示。分析可知马氏距离选出的训练子集进行的局部建模方法对测试集糖度的预测结果是最好的,这也说明,对于苹果的研究,光谱响应与糖度含量之间存在很明显的非线性关系,使用局部建模方法可以改进预测精度。
图8 MD+PCA+BP神经网络对测试集的预测情况
图9 测试集预测值与真实值的对比
本研究在把样本分为训练集、验证集和测试集的基础上,实现了一种基于主成分空间的局部建模方法,并将这种方法与BP神经网络结合用于苹果糖度高光谱图像技术的定量分析。结果表明,与全光谱相比,局部变量建模相关系数r提高,RMSEP降低,提高了检测效果,因此能减少样本间非线性响应;
而两种局部建模方法中,采用主成分空间中的马氏距离所选择的训练子集更能代表样本之间的相似性,欧氏距离次之;
基于马氏距离和BP神经网络的局部建模方法对测试集的预测均方根误差RMSEP达到0.106 61,相关系数r为0.808 29,可以较好的实现苹果中糖度含量的高光谱定量分析。研究表明,针对研究对象选择合适局部建模方法,对提高模型精度具有重要意义。