基于高光谱成像技术识别苹果轻微损伤的有效波段研究
2020-03-15沈宇房胜王风云李哲张琛郑纪业
沈宇,房胜,王风云,李哲,张琛,郑纪业*
(1.山东省农业科学院科技信息研究所,济南 250100;2.山东科技大学计算机科学与工程学院,山东 青岛 266000)
苹果轻微碰伤是在苹果采摘、运输、存储过程中最为常见的现象,而且这种轻微碰伤在早期是难以被发现的,尤其是发生在苹果表皮红色或其他颜色较深的区域碰伤[1]。但是,碰伤时间一旦过长,该区域就会演变成大面积的腐烂,降低苹果的营养价值以及销售价格,同时还会对其他优质苹果造成严重影响[2]。因此,进行早期轻微损伤苹果的快速筛选对提高苹果的价值具有重要意义。传统的人工感官和化学试剂检测方法不仅准确率低,而且对样品具有破坏性,不能满足实际生产生活的需要[2],而基于高光谱图像技术的检测则是一种高效、快速、无损的检测方法,弥补了传统方法的缺点,对研究苹果初期轻微损伤的在线监测技术具有极其重要的作用[3]。近年来,为了开发基于高光谱成像技术的水果品质实时在线监测系统,在利用高光谱成像技术检测水果内外部品质(糖度、硬度、表面缺陷或损伤等)的特征波段选择上已经有了初步的研究。Rajkumar等[4]在三个不同温度下(20、25和30 ℃)对不同成熟阶段的香蕉及其品质进行针对性的研究,根据偏最小二乘回归系数法(PLSR)对香蕉的品质参数和光谱数据建立预测模型,优选出了7个特征波长(440、525、633、672、709、925 和984 nm),对香蕉可硬度、水分和可溶性固形物的预测相关系数分别是0.91、0.87和0.85。冯迪等[5]提出了一种双项指标检测的新方法,在双面多点取样的前提下,通过平滑波形数据与两次SPA运算,提取苹果糖度与硬度共同的特征波长从而确定最佳波长(543 和674 nm),利用少量的波长信息实现苹果双指标的高效检测。Huang等[6]以阿克苏苹果为研究对象,对损伤发生半小时以内的苹果利用高光谱成像技术结合主成分权重系数获取了2个有效波长(820 和970 nm),并利用这2个波长和全局阈值理论开发了多光谱轻微损伤提取算法。本研究以轻微损伤发生1 h内的富士苹果为研究对象,基于高光谱成像技术,利用载荷系数、连续投影和二阶导数方法提取特征波段并建立机器学习模型,对轻微损伤早期不同时间段的富士苹果进行识别,确定最佳识别模型。最后基于不同方法获取的单一特征波长建模,分析每个波长的识别效果,确定适用于快速鉴别苹果表面轻微损伤的特征波长,为后续的仪器开发提供理论依据。
1 材料与方法
1.1 试验材料
本研究以烟富3号苹果作为试验材料,由山东通达现代农业集团有限公司提供。选择颜色、形状均匀,果径大小在86~95 mm范围内的富士苹果200个,苹果表面完整光滑、无任何缺陷。首先用湿布擦拭苹果表面,然后将苹果放置在室温条件下24 h后再进行高光谱图像获取。以未损伤的完好苹果为对照,其他苹果人工造成轻微损伤,将苹果从30 cm高度处跌落至平滑地面上,为了防止苹果在地面反弹造成二次损伤,苹果第一次落至地面后立即将其拖住,在赤道附近形成肉眼难以辨别的轻微损伤。图1为完好与轻微损伤后苹果的RGB图像,直观上很难判别出损伤部位。但苹果损伤后,由于果皮组织遭到破坏,损伤部位的质地会变得松软,通过人工触摸获知损伤部位,并沿边缘进行标记。
图1 完好与损伤苹果的RGB图像Fig.1 RGB image of intact and bruised apple
1.2 高光谱图像采集系统
高光谱图像采集系统如图2所示,主要由高光谱成像光谱仪(SOC710VP,USA)、2个75 W的室内高光谱照明灯(CrawImiacle, China)、样品载物台、计算机(小新潮7000-14,LENOVO)组成。其中,SOC710VP光谱仪的成像范围是400~1 000 nm(128个波段),分辨率约为4.69 nm,扫描速度为32 s·cube-1,内置12 bit动态范围的C-Mount CCD相机。SOC710VP 优势在于其内置推扫设备,无需系统配备扫描云台就能完成高光谱图像的采集。为了避免周围环境光照的影响,保证目标样本光照的均匀性,将整个图像采集系统(除计算机外)放置暗箱中运行。
注:1—暗箱;2—USB线;3—计算机;4—CCD相机;5—光谱仪;6—镜头;7—光源控制器;8—光源;9—载物台;10—样品;11—载物台控制器。Note: 1—Obscura; 2—USB line; 3—Computer; 4—CCD camera; 5—spectrometer; 6—Lens; 7—Light source controller; 8—Light source; 9—Stage; 10—Samples; 11—Stage controller.图2 高光谱图像采集系统结构Fig.2 Structure of hyperspectral imaging system
1.3 高光谱图像获取
为了获取完整清晰且不失真的高光谱图像,经过反复微调后,确定高光谱图像采集系统的参数,样本表面至镜头的垂直距离为195 mm,CCD相机的曝光时间为20 ms。在保证采集系统参数不变的情况下,首先采集完好苹果的高光谱图像,将苹果逐个放置于升降平台,保证其位置与相机的镜头在一条直线上,等待光谱仪内置设备的推扫,获取(每个仅获取一次)样本完整的光谱信息。然后对苹果进行人工损伤,以同样的方式获取损伤部位在室温下放置0、0.5、1 h后的图像,共获取800幅分辨率大小为520×696 pixel的高光谱图像。
1.4 数据分析方法
本研究主要使用光谱仪自带的SOC710软件获取高光谱图像,SRAnal710软件进行高光谱图像的反射率标准化,使用Excel、Origin Pro 9.1、ENVI和MATLAB R2014a实现光谱数据处理和建模分析。
1.4.1光谱曲线构建 为了分析完好与损伤苹果的反射光谱曲线特性以及损伤苹果的光谱在不同损伤时间段(0、0.5、1 h)的变化情况。使用ENVI软件分别从完好与损伤不同时间段的样本中提取相同大小(20×20)的感兴趣区域(region of interest,ROI),并计算该区域内所有像素点在全波长范围400~1 000 nm的平均光谱反射数据,构建光谱曲线。
1.4.2光谱黑白校正 为避免高光谱成像仪中CCD相机的传感器(电子元件)对图像产生噪声干扰,增强光谱数据的可靠性和稳定性,有必要对获取的高光谱图像进行黑白校正。在与样品采集条件一致的前提下,先扫描反射率为99%的白色参考板获取全白标定图像,再关闭光源,盖住镜头获取黑场标定图像,最后利用公式(1)对原始高光谱图像进行校正。
(1)
式中,R为校正后的高光谱图像,Rori为原始高光谱图像,Rdark为黑场标定的高光谱图像,Rwhite为全白标定的高光谱图像。
在高光谱数据采集过程中,除了光谱仪中电子元件的影响,苹果表面颜色和内部坚实度的差异也会对光谱数据产生影响,会产生附加散射变动。因此,为了去除光谱散射,对经过黑白校正后的光谱数据再进行附加散射校正(multiplicative scatter correction,MSC)[7]。
1.4.3特征波长提取算法 原始高光谱图像包含128个波段,提供了利于苹果轻微损伤识别的大量信息,但将其全部都用于建模,计算量非常大,严重影响建模分析的速度和效率[8-9]。特征波段提取算法既能保留图像的有效信息,又能达到减少原始波段数量、简化分析模型复杂度的目的[10]。因此,本文使用载荷系数、连续投影和二阶导数方法来去除冗余波段,实现特征波长提取。
载荷系数法(x-loading weights, x-LW)提取的特征波长通过建立偏最小二乘回归模型得到[11]。模型的分类性能受隐含变量所对应的载荷系数的绝对值大小影响[12]。因此,在隐含变量的载荷系数曲线中,选取绝对值最大处所对应的波长作为有效波长。一般情况下,选取的有效波长数目与隐含变量个数相同[12]。
连续投影算法(successive projections algorithm,SPA)能够消除波段之间的共线性冗余,寻找共线性信息最小的波长以代表样品最大的信息量[12-14]。在初始阶段,该方法首先选择一个特定波长和设定最大最小选定波长数目,然后循环迭代,计算该波长在未选入波长上的投影,选择投影向量最大的波长,并列入特征波长组合中[15-18],再利用线性回归来计算不同特征波长组合所得到的均方根误差(root mean squared error,RMSE)的值,直至特征波长的数目达到最小均方根误差所对应的数值,循环结束[19]。
二阶导数(second derivative)法就是通过数学模拟,计算不同波段下反射率的二阶导数值[20]。二阶导数法能够辨别完全重叠或波长距离很小的相重叠反射峰,大幅度去除相关性较强的波长数据,迅速确定光谱变化明显的波长位置[21]。
1.4.4完好与损伤样本的识别方法 本文主要使用BP(back propagation)神经网络和支持向量机(support vector machine,SVM)来对光谱数据建模,实现损伤识别。BP神经网络算法的基本原理是将输出误差以某种形式逐层传递到输出层,并计算每一隐含层的每一单元的误差,以此来修正各单元权值,设置阈值与迭代次数,直至网络输出误差小于所设定阈值,迭代完成[22]。针对BP神经网络中初始权值和阈值随机性问题,本文通过遗传算法(genetic algorithm,GA)来对其进行优化,并通过多次实验确定隐含层神经元个数。SVM是基于统计学习理论和结构化风险最小原理建立的,它在解决小样本、非线性和高维模式下的分类判别问题中表现出特有的优势[23-24]。SVM模型的关键在于核函数的选择,核函数主要用来解决数据从低维映射到高维空间的计算复杂问题,采用不同的核函数,模型的性能和效果不同。
将全部(800个)样本数据按4∶1的比例随机划分为建模集和测试集,其中建模集包含640个样本(损伤0、0.5、1 h和未损伤各160个),测试集包含160个样本(损伤0、0.5、1 h和未损伤各40个)。分别使用以上三种方法提取的特征波长作为输入变量,以标签(0,1)作为输出变量建立GA-BP和SVM苹果表面轻微损伤识别模型。在SVM模型中使用径向基函数作为核函数,利用3折交叉验证确定最佳参数C和g,二者取值范围都设置为[2-4,24],步长都设置为0.5。在GA-BP神经网络模型中,经过多次实验分别将隐含层神经元的个数设置为3,种群个体数设置为40,遗传代数设置为100。
2 结果与分析
2.1 苹果完好与损伤区域的光谱分析
完好与损伤不同时间段样本的平均光谱曲线如图3所示。可以看出,完好与损伤样本的光谱都表现出共同的变化趋势,在680 和980 nm左右各存在一个吸收峰,分别是由于表面叶绿素和水分的吸收引起的。随着损伤时间的增加,样本的反射率会逐渐减小,且与完好样本的差别越来越明显。同时,所有样本在波段503 nm以下和989 nm以上均存在大量噪声,为了去除噪声,对每一样本数据去除首尾波段,保留差异比较明显且易于区分的503~989 nm波段进行后续研究。
图3 完好与损伤样本的平均光谱曲线Fig.3 Average spectral curve of intact and bruised samples
2.2 不同方法提取特征波段比较
为了去除相邻波段间的强相关性,获取包含大量有效信息的关键波段,分别采用载荷系数法、连续投影法和二阶导数法提取特征波段。
2.2.1载荷系数法 以503~989 nm范围内的93个波段作为X变量,以代表完好与损伤样本的标签(0,1)作为Y变量,基于全部样本的光谱数据建立偏最小二乘回归(partial least squares regression,PLSR)模型,确定影响模型性能的隐含变量的载荷系数。建模过程中,采用交互校验预测残差平方和(predicted residual sum of squares,PRESS)确定隐含变量数,最佳隐含变量数为3,3个隐含变量的载荷系数曲线如图4所示,分别选择各隐含变量载荷系数绝对值最大处所对应的波长(570、805、811 nm)作为有效波长。
图4 隐含变量的载荷系数曲线Fig.4 Loding weights curve of implied variable
A:SPA 选取不同变量数目得到的RMSE图;B:选取的波长变量索引序号分布图A: RMSE graph obtained by using SPA to select different numbers of variables; B: Index number distribution map of selected wavelength variables图5 连续投影法选择特征波长Fig.5 Effective wavelengths selected by SPA
图6 完好与损伤样本的二阶导数光谱曲线Fig.6 Second derivative spectral of intact and bruised samples
2.2.2连续投影法 在连续投影方法中,任意选择一个初始波段,设定的波长数目为5~30,图5A 显示了利用线性回归法计算所得的RMSE值随所选波长数量的增加而变化的曲线,可以看出,当选择的波长数为9时,预测苹果轻微损伤的RMSE值(用方框标记)达到最小,为0.266 65。图5B为选定的9个波长变量的索引序号(用方框标记)分布图,其序号分别为9、35、41、44、60、64、83、87、93,对应实际值分别为544、679、710、726、811、832、934、956、989 nm。
2.2.3二阶导数法 本文使用Origin Pro 9.1对完好与损伤的所有样本数据求二阶导数,图6为完好与损伤样本的二阶导数光谱曲线,选取曲线的局部峰值处所对应的波长作为特征波长,分别是585、611、621、658、684、705、720、726、736、747、768、784、795、805、821、832、848、864、907、961 nm,其中585和684 nm与苹果表皮叶绿素与胡萝卜素的吸收有关;747和961 nm与苹果内部细胞中所含的O-H键的伸缩有关。
2.3 完好与损伤样本识别模型
基于不同特征提取方法建立的SVM和GA-BP模型的损伤识别结果如表1所示,从特征波长提取方法来看,载荷系数、连续投影和二阶导数法提取的特征变量在识别损伤样本方面都具有效性,其中以二阶导数法提取的20个特征波长作为输入变量建立的GA-BP和SVM 模型识别效果最佳,对测试集的识别率分别为93.75%和96.88%;从模型来看,基于SVM建立的三种模型对测试集的识别精度(分别为77.50%、91.88%、96.88%)均高于GA-BP模型(分别为75.63%、90.63%、93.75%),被确定为最优损伤识别模型。
表1 基于特征波长的模型对损伤样本的判别结果Table 1 Results of classification models using the slected wavelengths for classifying bruised samples
2.4 最佳波段选择
分别利用以上三种方法提取的每一特征波长作为变量,结合最优损伤识别模型SVM再次建模,每一波段的损伤识别结果如图7所示。可以看出,不同特征波段的识别效果各有不同,即其携带的有效信息各有不同,波段570 nm处的模型识别结果最差,仅达到62.50%,波段811 nm处的模型识别结果最好,对测试集的识别率达到90.63%,优于其他波段。因此,将波段811 nm作为识别苹果早期轻微损伤的最佳波段。该研究为开发苹果早期轻微损伤实时在线检测系统提供理论支持和依据。
图7 基于单一特征波段的损伤识别率Fig.7 Identification rates based on the single characteristic wavelength
3 讨论
苹果表面的损伤有明显与不明显之分,对于明显的损伤用肉眼很容易识别,但是不明显的轻微损伤往往发生在表皮之下,和正常区域的颜色相差不大,用肉眼很难识别,且随着时间的推移,损伤区域还会不断扩大至腐烂。传统的计算机视觉技术很难对水果的轻微损伤进行检测,而高光谱成像技术应用于水果表面轻微损伤已体现出其“图谱合一”的优越性,但获得的数据量大、冗余度高,且信息处理速度相对缓慢,不利于在线检测的实际应用,因此,降低光谱数据的维度,提取区分苹果轻微损伤的有效波段是目前一项值得研究的内容。
本研究将高光谱图像技术应用于苹果表面轻微损伤的检测研究,寻找可以有效区分损伤部位的特征波段。结果表明,x-LW、SPA和二阶导数法是非常有效的特征波长提取方法,但由于不同方法的原理不同,选择的特征波段也存在差异。这与程术希等[12]利用x-LW:SPA提取有效检测番茄早疫病的特征波段和陈欣欣等[25]利用二阶导数法提取有效区分库尔勒梨早期损伤的特征波段的结论一致。增加信息量的同时也会引入冗余信息,从而影响模型对测试集预测的精度。参考汤哲君等[26]利用SVM识别马铃薯轻微损伤的方法和刘思伽等[27]利用二次连续投影法和BP神经网络检测寒富苹果的方法,本研究在利用x-LW、SPA、二阶导数法分别筛选出特征波段,并在SVM和GA-BP识别模型的基础上建立了具有较高稳定性的模型,利用该模型分别以单一特征波段作为输入变量再次建模,确定损伤识别效果最佳的波段。但本研究结果表明,基于单一特征波段建立模型的识别准确率有所下降,这主要原因是提取的光谱特征对于识别苹果轻微损伤来说可能还不够全面,且所用的建模方法也需要进一步改进。因此,在后续研究中可以考虑更适合的建模特征及建模方法,以进一步提高模型的性能。