来源:SCI期刊网 分类:电子论文 时间:2022-04-20 09:31 热度:
摘 要:针对马铃薯表面芽眼和凹凸不平的影响,使之马铃薯机械损伤难以检测的问题,该文提出了一种基于流形学习算法的马铃薯机械损伤检测方法。首先利用马铃薯图像的显著图分割出马铃薯区域,然后利用主成分分析(principal component analysis,PCA)、等距映射(isometric mapping,Isomap)和局部线性嵌入(locally-linear embedding,LLE)3 种流形学习方法提取马铃薯区域图像特征参数,然后分别建立基于 3 种流形特征的支持向量机(support vector machine,SVM)分类模型 PCA-SVM、Isomap-SVM 和 LLE-SVM,利用网格搜索法(grid search)、遗传算法(genetic algorithm,GA)以及粒子群算法(particle swarm optimization,PSO)3 种模型参数优化方法,优化支持向量机模型的惩罚参数 c 和 RBF 核参数 g,以建立最优分类模型,最后比较 3 种分类模型的识别效果,确定最优分类模型。研究结果表明,PCA-SVM 分类模型对训练集识别率为 100%,测试集识别率为 100%; Isomap-SVM 分类模型对训练集识别率为 100%,测试集识别率为 91.7%;LLE-SVM 分类模型对训练集识别率为 100%,测试集识别率为 91.7%,表明 PCA、Isomap 和 LLE 3 种流形学习方法用于马铃薯机械损伤检测是可行的,其中 PCA-SVM 分类模型检测效果最优。
关键词:机器视觉,识别,算法,流形学习,机械损伤,马铃薯
0 引 言
基于机器视觉的农产品表面缺陷检测和分级方法国内外已有广泛研究[1-3]。水果方面,应义斌等先后提出了傅里叶变换、区域增长法和最小外接矩形法检测黄花梨的果形、表面缺陷面积和大小[4-6],并建立了基于机器视觉的黄花品质检测系统和水果实时分级系统[7-8],随后又提出了一种水果表面亮度不均校正算法,利用单阈值灰度分割法正确率达到 97%[9]。马铃薯方面,高晓阳等提出了基于不变矩的马铃薯形检测方法,薯形分选准确率为 96%[10];郝敏等利用 Zernike 矩进行马铃薯薯形检测,薯形良好和畸形的检测准确率达 93%和 100%[11],随后又提出边界点矩特征傅里叶描述子检测马铃薯薯形,取得了较好的效果[12],但两者均未对马铃薯表面缺陷作相应研究。本课题组前期也进行了马铃薯外部品质相关研究,李小昱等以马铃薯缺陷面积为特征研究了马铃薯表面缺陷的机器视觉检测方法[13],但其孔洞识别率有待提高。Zhou 等人利用 HSV 空间的阈值分割法检测马铃薯绿皮特征,其分级准确率较低[14]。Noordam 等利用线性判别分析和马氏距离建立了马铃薯表面缺陷的像素分类器,但无法解决其表面灰度不均匀对缺陷检测的影响[15]。马铃薯表面的芽眼和凹凸不平,给机器视觉检测其机械损伤带来很大干扰,导致基于像素级特征提取方法受光照条件和缺陷灰度值的变化影响较大,因此考虑尝试采用能表征图像低维度特征的流形特征检测马铃薯的机械损伤。1996 年, Nayar 等提出了高维的图像数据中具有低维流形的现象[16],而人类认识事物主要是通过低维流形信息进行的,此后,流形学习开始广泛应用于人脸等[17-21] 方面的识别。流形学习主要分为线性流形学习算法和非线性流形学习算法,非线性流形学习算法包括等距映射(isometric mapping,Isomap),局部线性嵌入(locally-linear embedding,LLE),拉普拉斯 特征映射(laplacian eigenmaps,LE)等。而线性方法则是对非线性方法的线性扩展,如主成分分析(principal component analysis,PCA),多维尺度变换(multidimensional scaling,MDS)等。
虽然流形学习算法在人脸识别已有较广泛研究,但国内外未见有学者将流形学习方法应用于农产品外部品质检测,本文提出了基于流形学习算法的马铃薯机械损伤检测方法,首先利用基于视觉显著性(Saliency)和 H 维图像的马铃薯区域分割方法对马铃薯目标进行定位和分割,然后利用流形学习算法进行特征提取,并建立基于支持向量机(support vector machine,SVM)的马铃薯机械损伤分类模型,最后利用网格搜索法(grid search)、遗传算法(genetic algorithm,GA)以及粒群算法(particle swarm optimization,PSO)优化模型参数,确定最优模型,以期为流形学习算法应用于农产品外部机械损伤检测提供了参考。
1 试验设备
1.1 试验样本
选用武汉关山小区农贸市场采购的陕北定边紫花白马铃薯,样本集由 50 个正常马铃薯和 50 个机械损伤马铃薯构成,正常样本和机械损伤样本符合马铃薯等级规格(NY/T 1066-2006)[22]中的相关要求,并按照 3:1 的比例分为训练集(76 个)和测试集(24 个),样本参数如表 1 所示。
1.2 马铃薯视觉在线采集试验平台
马铃薯视觉在线采集试验平台如图 1 所示,主要由步进电机(型号为 110BYG2501)、图像采集箱、工业相机(型号为 scA1390-17fc)、图像采集卡(型号为 Meteor2-1394)、主机(CPU 为 AMD750,内存为 4G)、显示器(型号为 LG-E2242)、环形光源(宏新三基色 32W)、圆柱形托辊、摩擦板、链条、链轮等构成。
图像采集过程:马铃薯在圆柱形托辊上沿水平向左移动并自转,马铃薯进入图像采集箱后,程序自动采集多幅图像,每个马铃薯选择其中一幅图像作为图像样本。对于机械损伤样本,所选图像应为机械损伤面,而对于正常样本,则随机选择任意一面。最终由 100 副图像构成图像样本集,图像分辨率为 1024×768,颜色空间为 RGB,存储格式为 BMP。
2 马铃薯区域分割
由于试验采用在线采集的马铃薯图像,因此图像中的托辊、链条和摩擦板对马铃薯的分割具有较大的干扰,利用基于灰度的分割方法效果不佳。对马铃薯 RGB 图像(图 2a),利用最大类间方差法(maximum between-cluster,OSTU)进行二值分割结果如图 2b 所示,马铃薯区域分割不完整,且有较多其他噪声信号。
相关知识推荐;机器视觉论文润色发ei期刊的方法
为了有效地分割马铃薯区域,本文提出了一种基于视觉显著性(Saliency)和 H 维(色调)图像的马铃薯区域分割方法(简称 Saliency-H 法)。显著性(Saliency)是一种模拟生物体视觉注意机制的选择性注意模型,其利用图像的颜色、灰度、对比度和方向等信息模拟人类视觉体系,与单阈值分割相比,具有较好的分割效果[23]。该文采用基于图论的视觉显著性算法(graph-based visual saliency, GBVS),并在 Matlab 软件平台下对 Saliency-H 法和基于 H 维的图像分割方法(简称 H 法)2 种算法进行了仿真。
2.1 Saliency-H 分割法
Saliency-H 分割法具体算法步骤:1)RGB 三通道图像中值滤波预处理(图 3a);2)RGB 图像转 Gray 图像(图 3b);3)基于 Gray 图像的显著性分割;首先利用 GBVS 算法求得其显著图(图 3c),对显著图利用 OSTU 方法进行二值化处理(图 3d),得到初级目标区域掩膜图像(图 3e)。将 RGB 图像(图 3a)由初级目标区域水平方向向两侧各扩展 50 像素,垂直方向两侧扩展至边界处,得到包含马铃薯区域的二次分割图像(图 3f);4) GBVS 显著性分割后的 RGB 图像转 HSI 空间(图 3g);5)H 维图像滤波:14 次 3×3 模板的均值滤波(图 3h);6)H 维图像分割:最大类间方差法(OSTU)分割,经过填充,8 连通区域标记,连通区域面积筛选等操作得到最终的马铃薯区域分割图像(图 3i),将得到的马铃薯区域图像水平方向扩展至原图像大小即得到最终分割图像(图 3j)。
2.2 基于 H 维的图像分割方法
H 法具体算法步骤:1)RGB 三通道图像中值滤波预处理(图 4a);2)RGB 图像转 HSI 颜色空间(图 4b);3)H 维图像滤波:14 次 3×3 模板的均值滤波(图 4c);4)H 维图像分割:最大类间方差法(OSTU)分割,经过填充,8 连通区域标记,连通区域面积筛选等操作得到最终的马铃薯区域分割图像(图 4d)。
2.3 Saliency-H 分割法和 H 法结果分析
对 100 个马铃薯图像分别使用以上 2 种方法进行图像分割,其结果如下:
1)Saliency-H 法和基于 H 维的图像分割方法分割效果一致,2 种方法的马铃薯区域分割准确率均达到 100%,但 Saliency-H 法能在无监督模式下自动获取图像中马铃薯目标的位置信息。结果表明与 H 法相比,Saliency-H 法具有较好的马铃薯区域定位(如图 3e 所示)效果。正常样本和机械损伤样本的分割效果如图 5 所示。
2)Saliency-H 法能去除部分无效信息,大大降低待分割图像的计算量。对 100 个马铃薯图像进行 Saliency-H 法分割,分割后的图像与原面积的比值如图 6 所示。结果表明,分割后图像(图 3f)的数据量能压缩至原图像(图 3a)数据量的 0.2969~ 0.5322,有效的降低了后续算法处理的速度,提高了效率。
3)Saliency-H 法的分割速度优于基于 H 维的图像分割方法。由表 2 可知,Saliency-H 法的分割速度优于 H 法。相比于 H 法,Saliency-H 法中 RGB 图像转 HSI 空间和 H 维图像分割 2 个步骤(Saliency-H 法 4 和 6 步骤,H 法 2 和 4 步骤)耗时均有较大幅度的降低。分析其原因在于 Saliency-H 法中的显著性(GBVS 显著性)分割能对马铃薯目标定位,大大的降低了后续处理的计算量。
3 马铃薯机械损伤的流形学习判别方法
流形学习算法可将图像中的高维信息降至低维流形,能有效地提取全局特征变量,其前提是所处理的数据存在一个潜在的流形。本文使用了主成分分析(PCA)、等距映射(Isomap)和局部线性嵌入(LLE)3 种流形学习方法结合 Saliency-H 图像分割法提取了马铃薯图像特征。
为了减弱马铃薯图像背景的干扰,减少图像集维数,提高处理速度,将马铃薯原始图像(图 7a)通过 Saliency-H 法分割得到马铃薯区域图像(图 7b),再利用最近邻插值法将其重采样为 64×64 像素大小的小尺寸图像(图 7c)。将 64×64 的重采样图像转化为 4 096 列的一维向量(将 64×64 的矩阵按从左到右、从上到下的顺序展开至一维向量),最终得到 100×4096 的马铃薯图像数据矩阵 F(共 100 个马铃薯样本)。
利用主成分分析(PCA)、等距映射(Isomap)和局部线性嵌入(LLE)3 种流形学习方法对马铃薯图像数据矩阵 F 进行特征提取,并建立不同特征维度的支持向量机(SVM)马铃薯机械损伤分类模型。然后,利用网格搜索法(grid search)、遗传算法(GA)以及粒群算法(PSO)优化马铃薯机械损伤分类模型的惩罚参数 c 和 RBF 核参数 g,确定最优的特征维度,比较 3 种模型识别效果,确定最优的马铃薯机械损伤判别法。
3.1 PCA-SVM 马铃薯机械损伤判别法
PCA 是一种使用较广泛的线性降维方法,通过原始数据的线性组合构造方差最大的若干投影方向,从而降低原数据的维度。其对椭球状分布的样本集有较好的学习效果,但对具有非线性性质的样本集,却无法反应出非线性性质。
按以上方法对 100 个样本进行 PCA 特征提取,当主成分数量为 13 时,主成分累积贡献率达到 80%;当主成分数量为 50 时,主成分累积贡献率达到 99%。通常主成分累积贡献率达 95%即可,为了更为准确的确定最优主成分数,分别提取 13~50 个主成分特征(主成分累积贡献率为 80%~99%),将主成分特征向量作为输入,马铃薯的类别作为输出(机械损伤样本编码为 1,正常样本编码为-1),建立基于 PCA 的马铃薯机械损伤的 SVM 分类模型(使用 libSVM 工具包),共建立 38 个 PCA-SVM 分类模型(主成分数为 13~50 个),利用网格搜索法(grid search)、遗传算法(GA)以及粒群算法(PSO)优化分类模型惩罚参数 c 和 RBF 核参数 g,确定每个分类模型的最优参数,比较 38 个分类模型的识别效果,确定最优主成分个数和最优的分类模型。
3.2 Isomap-SVM 马铃薯机械损伤判别法
多维尺度变换(MDS)是一种构造样本之间欧氏距离矩阵的线性降维方法,Isomap 是一种建立在多维尺度变换(MDS)基础上的非线性降维方法,其前提是所对应的低维等距子集为凸集,其关键在于计算样本间的测地距离,通常将邻域内的点间测地距离用欧氏距离代替,邻域外的点的测地距离用最短路径来代替。
Isomap 嵌入维度过多会携带大量无效信息,从而导致模型识别率下降,因此,本文对 100 个样本分别提取 1~100 维度 Isomap 特征值;将 Isomap 特征向量作为输入,马铃薯的类别作为输出(机械损伤样本编码为 1,正常样本编码为-1),建立基于 Isomap 的马铃薯机械损伤的 SVM 分类模型(使用 libSVM 工具包),共建立 100 个 Isomap-SVM 分类模型,利用 3.1 中的参数优化方法,确定最优的模型参数、嵌入维度数和分类模型。
3.3 LLE-SVM 马铃薯机械损伤判别法
局部线性嵌入 LLE 的前提是假设一个流形在很小的局部邻域上可以近似看成欧式的,即局部线性的,且只需在每个邻域求解一个小的线性方程组,与 Isomap 相比,其计算量更小,其嵌入结果能保持原数据间的局部几何特征。
为了避免 LLE 特征值携带大量无效信息,本文对 100 个样本分别提取 1-100 维度 LLE 特征值(维度过高会引入大量无用信息,从而导致模型识别率下降);将 LLE 特征向量作为输入,马铃薯的类别作为输出(机械损伤样本编码为 1,正常样本编码为-1),建立基于 LLE 的马铃薯机械损伤的 SVM 分类模型(使用 libSVM 工具包),共建立 100 个 LLE-SVM 分类模型,利用 3.1 中的参数优化方法,确定最优的模型参数、嵌入维度数和分类模型。
4 结果与分析
4.1 3 种马铃薯机械损伤判别方法的识别结果
对 100 个样本(训练集 76 个,测试集 24 个)利用 PCA-SVM、Isomap-SVM 和 LLE-SVM 3 种马铃薯机械损伤判别方法进行检测,Matlab 软件平台下的仿真结果如表 3 所示。
对所建38 个PCA-SVM 分类模型进行优化后,3 种参数优化方法所对应的 3 个最优 PCA-SVM 模型识别结果如表 3 所示,比较识别结果得,最优参数优化方法为 grid search,最优主成分特征数量为 40,其对应的 PCA-SVM 分类模型对训练集识别率为100%,测试集识别率为100%,最优模型参数c=27.8576,g=0.0068。
对所建 100 个 Isomap-SVM 分类模型进行优化后 , 3 种参数优化方法所对应的 3 个最优 Isomap-SVM 模型识别结果如表 3 所示,比较识别结果得,最优参数优化方法为 GA,最优 Isomap 嵌入维数为 4,其对应的 Isomap-SVM 分类模型对训练集识别率为 100%,测试集识别率为 91.7%,最优模型参数 c=27.8576,g=0.0068。
4.2 基于流形算法的马铃薯机械识别结果
对所建 100 个 LLE -SVM 分类模型进行优化后 , 3 种参数优化方法所对应的 3 个最优 LLE-SVM 模型识别结果如表 3 所示,比较识别结果得到最优 LLE 嵌入维数为 19,其对应的 LLE-SVM 分类模型对训练集识别率为 100%,测试集识别率为 91.7%。在相同的识别效果下,为避免惩罚因子 c 过大而造成的过学习,选择 c 较小的那一组参数为最优模型参数,而 PSO 优化下的参数 c 较小,则最优参数优化方法为 PSO,最优模型参数 c=0.1000,g=18.8827。
PCA-SVM、Isomap-SVM 和 LLE-SVM 3 种马铃薯机械损伤判别法所建分类模型的最优识别结果如表 4 所示,3 种流形学习分类模型均能有效适用于马铃薯机械损伤判别。但对机械损伤位于马铃薯轮廓边缘的样本,Isomap-SVM 和 LLE-SVM 2 种方法的识别率略低于 PCA-SVM,图 11 为 Isomap-SVM 和 LLE-SVM 2 种方法下误判的 2 幅机械损伤位于轮廓边缘的马铃薯样本图像。比较 3 种分类模型的识别效果得到最优模型为 PCA-SVM 分类模型,其对训练集和测试集的识别率均为 100%,表明 3 种流形学习马铃薯机械损伤判别方法中,PCA-SVM 为最优判别方法。——论文作者:汪成龙 1 ,李小昱 1※,武振中 1 ,周 竹 2 ,冯耀泽 1