基于颜色分割与GA-SVM的花生表皮破损识别

2021-04-07 06:22申志超赵志衡罗思婕胡琦渊
中国粮油学报 2021年3期
关键词:表皮花生灰度

申志超 赵志衡 卢 雷 孙 磊 罗思婕 胡琦渊

(哈尔滨工业大学电气工程及自动化学院1,哈尔滨 150001) (上海安西机械制造有限公司2,上海 201109)

农作物筛选是将表皮颜色异常、存在某种缺陷以及形状畸变等的不合格农作物剔除出来从而留下优良的农作物[1,2]。在农作物筛选难度高、工作量大或效率要求较高的情况下,人工筛选方法便显现出了劣势。因而有必要通过设计色选算法来高效、快速地完成农作物筛选工作[3-5]。国内外对于色选算法的研究已有多年[6-8]。李玉华等[9]为了提高马铃薯芽眼识别率和可靠性,提出了基于色饱和度三维几何特征的马铃薯芽眼识别方法,该方法抗干扰能力强,芽眼误识别率为4.32%。Buzon等[10]研究开发了一个自动化的、高通量的表型系统,在一个包含许多水稻变种的温室中进行了测试,结果表明该系统可以自动识别水稻的植物绿度和植物生物量。以上几种方法大大提高了对农作物的色选效率,但设计的算法均较为复杂,在色选机运算资源有限的情况下实现难度较大。

在图像分类领域,支持向量机(Support Vector Machine,SVM)得到了广泛的应用[11-14]。张成梁等[15]提出了使用遗传算法优化支持向量机参数的机采籽棉图像分割、杂质识别方法,最终测试表明该方法对杂质的有效识别率为92.6%。周竹等[16]建立了基于最小二乘支持向量机分类器的霉变板栗识别模型,克服了板栗近红外光谱变量多、共线性强等缺点,应用该模型后板栗的总体平均识别正确率提高到97.54%。但在实际农作物色选中,由于采集图像受到光线强弱以及品种差异等因素干扰,直接应用以上方法进行图像分类的效果难以达到预期。为了解决这一问题,本研究在RGB空间对图像进行了颜色分割预处理,并采用软间隔非线性SVM模型以提高分类准确率。

本研究以花生图像的分类为例,构建了花生图像数据集,并对图像提取方向梯度直方图(Histogram of Oriented Gradient,HOG)特征,利用线性SVM进行分类;然后基于SVM对花生图像进行了颜色分割预处理;基于遗传算法对软间隔非线性SVM模型进行了参数寻优;最后进行了综合优化以提高花生图像的分类准确率。

1 基于SVM的花生表皮破损识别算法构建

1.1 花生图像数据集构建

本研究基于SVM对花生表皮是否破损进行识别。以单个花生为识别对象,根据花生表皮的破损情况将花生分为2类:完好花生和表皮破损花生。在实际中,还存在花生籽粒破损的情况,由于花生籽粒破损时其表皮也会发生破损,因此本文将花生籽粒破损的情况与花生表皮破损的情况归为一类。

图1为色选系统工作原理图。在实际筛选过程中,花生会经过多条并行摆放的传送带,使得每条传送带上的花生稀疏分布而不会过于密集。同时传送带会通过抖动以使得每个传送带上携带的花生均匀散落,尽可能使得花生不会重叠在一起。在色选系统履带尾部采用了上下两组摄像机同时拍摄花生的正反面图像,保证能够全方位检测到破损。为了防止少量花生重叠在一起、或者第一次筛选中破损区域刚好位于摄像机死角位置而未能检测到破损的情况,色选系统会对合格品进行二次筛选,在最大程度上保证所有破损的花生能被检测出来。

在采集花生图像时,选用彩色面阵CCD相机拍摄了多张不同品种、不同光照条件下的多花生图像,图2a为其中一张压缩后的多花生图像。由于相机拍摄的花生图像中含若干个花生,且图像中可能含噪声[17],因此需要进行图像分割。本文通过采用图像压缩、二值化、边缘轮廓检测等方法实现了图像分割[18-20],如图2b所示。

图2 图像分割前后对比图

在对多幅多花生图像进行图像分割后,共获得600张单花生图像,对这些花生图像进行图像增强并将其分辨率统一调整为64×64像素。然后将这些图像随机分为训练集和测试集,其中训练集占80%共480张,测试集占20%共120张,且训练集和测试集中2类花生各占50%。训练集中部分花生图像如图3所示。

图3 训练集中部分花生图像

1.2 HOG特征提取与线性SVM构建

在进行图像分类时,首先要对图像提取特征。由于方向梯度直方图算法提取到的特征可以很好地描述图像的局部纹理,因此本文提取了花生图像的HOG特征。然后与线性SVM进行结合,从而构建出花生表皮破损识别算法。

1.2.1 HOG特征提取

HOG算法是通过统计图像局部区域的梯度方向直方图,并将其表示为特征向量的算法[21]。在检测窗口大小为64×64像素、每个块包含4个细胞、块滑动步长为1个细胞大小、细胞中梯度方向数为9的条件下,提取到的HOG维数dim(HOG)与细胞大小n×n的关系如式(1)所示。

(1)

分别选择细胞大小n×n为:4×4、8×8、16×16、32×32,可获得的HOG特征维数为8 100、1 764、324、36。图4分别展示了对花生图像选择不同细胞大小提取HOG特征时的特征生成图像。

图4 花生及其HOG特征生成图像

1.2.2 线性SVM构建

由于线性SVM模型相对非线性SVM模型较为简单,无需设置核参数和惩罚参数,因此本文在构建花生破损识别算法时首先选择线性SVM模型。本文在MATLAB R2018b平台上,首先对花生图像进行灰度化,然后将提取到的HOG特征输入到线性SVM模型中进行训练,在训练线性SVM模型时使用的工具箱为LibSVM。

为了方便选择适合HOG特征的最佳细胞大小,同时加快模型训练速度,本文采用PCA算法对不同维数的HOG特征统一降维至36维。再对特征进行归一化。在训练线性SVM模型时,采用5折交叉验证的方式获得5折平均准确率。基于SVM的花生表皮破损识别算法流程如图5所示。

图5 基于SVM的花生表皮破损识别算法流程

1.2.3 评价指标

在评价分类结果时采用的指标为准确率,准确率定义如式(2)所示。

(2)

在MATLAB R2018b平台上对算法进行仿真之后可知,在PCA降维前的HOG特征维数为324时,对花生图像的准确率即可达到84%,此后随着HOG特征维数的增加,准确率不再提高。说明以准确率为评价指标,HOG特征存在最佳的维数,而并非特征维数越多分类准确率也越高。

2 基于颜色分割与GA-SVM的算法优化

为了进一步提高花生表皮破损识别算法的准确率,本文进行了两方面的优化:基于SVM的颜色分割和基于遗传算法的参数寻优。

2.1 基于SVM的颜色分割

本研究的分类目标是根据花生表皮的破损情况将花生分为完好花生和表皮破损花生2类。由于完好花生的颜色即花生红衣的颜色与花生表皮破损区域的颜色差别较大,因此本文将训练集中花生红衣及花生表皮破损区域颜色的RGB值分别作为正、负样本,利用线性SVM模型来寻找可以区分这2类颜色的RGB分割平面。得到的颜色分割平面的表达式如式(3)所示。正样本、负样本及颜色分割平面在RGB颜色空间的分布如图6所示。

图6 正样本、负样本及颜色分割平面在RGB颜色空间的分布图

0.29×r-0.51×g+0.18×b+1.7=0

(3)

由图6可知,线性SVM模型获得的分割平面可以很好地将不同花生品种、不同光照条件下获得的正样本(花生红衣区域的RGB值)与负样本(花生表皮破损区域的RGB值)区分开来。因此在得到颜色分割平面之后,便可以区分花生图像的红衣区域颜色与表皮破损区域颜色。而花生图像中还包含白色或浅色背景,这种背景像素点的典型特点是:在HSV颜色空间中的S分量值很小。本文认为若像素点的S分量值小于0.2,即认定为背景像素点。对一幅彩色花生图像中每个像素点的预处理流程如图7所示。

图7 预处理流程及结果

对花生图像进行颜色分割具有十分重要的意义。因为传统设计的花生图像分类算法在采集到彩色花生图像之后,首先对图像进行灰度化,然后再进行特征提取与分类。但是花生红衣区域的部分像素点与花生表皮破损区域的部分像素点得到的灰度值可能相同。例如,当利用灰度变换心理学公式计算某一像素点得到的灰度值为150时,如式(4)所示。此时,通过该像素点且平面法向量为(0.299,0.587,0.114)的灰度化平面方程如式(5)所示。灰度化平面、正样本及负样本在RGB颜色空间的分布如图8所示。

0.299×r+0.587×g+0.114×b-150=0

(4)

Gray=0.299×rpixel+0.587×gpixel+0.114×bpixel=150

(5)

由图8可知,有多个正样本、负样本均落到了灰度化平面上,说明花生红衣区域的部分像素点与花生表皮破损区域的部分像素点灰度化可能得到相同的灰度值。因此对花生图像进行灰度化,将会降低花生红衣区域与表皮破损区域的区分度,使得基于灰度化设计的花生图像分类算法准确率下降。

图8 正样本、负样本及灰度化平面在RGB颜色空间的分布图

但本研究设计的基于SVM的颜色分割预处理可以很好地解决这一问题。随着花生品种和光照强度的变化,正负样本始终位于分割平面两侧。因此颜色分割预处理对花生品种及光照变化有较强的鲁棒性,对提高花生图像分类算法准确率具有重要的意义。

2.2 基于遗传算法的参数寻优

在构建花生图像分类算法时,本文使用的模型是线性SVM。而使用软间隔非线性SVM模型,通过寻找最优参数,可以获得更高的准确率[22]。

若超平面wx+b=0,w∈Rn,b∈R可以作为数据集的分界面,则对数据集的二分类即等价于对含有约束条件的问题进行优化。软间隔非线性SVM模型对应的最优化问题如式(6)~式(8)所示[23,24]:

(x1,y1),…,(xn,yn),x∈Rn,y∈{+1,-1}

(6)

(7)

(8)

a≤ai≤C,i=1,2,…,n

在使用软间隔非线性SVM模型时,本文选用的核函数为径向基(Radial Basis Function,RBF)核函数,如式(9)所示:

K(xi,xj)=exp(-g‖xi-xj‖2),g>0

(9)

由式(8)~式(9)可知,在训练软间隔非线性SVM模型时,待优化的参数有惩罚参数C和核参数g。本文选择遗传算法(Genetic Algorithm,GA)进行参数寻优,它无需遍历所有参数组合即可寻找到最优参数[25,26]。GA-SVM算法流程如图9所示。

图9 GA与SVM算法流程

具体步骤:

Step 1:给定C范围:[0,100],g范围(0,10]。设置最大进化代数为50代。

Step 2:将C、g参数用二进制编码为基因序列,每个参数的二进制长度为8,并创建10个初始种群。

Step 3:将10个当代种群分别通过五折交叉验证方式训练SVM模型,把得到的五折平均准确率作为每个种群的适应度函数值。

Step 4:判断进化代数是否达到50代,若不满足条件,则进入下一步;否则进入Step 6。

Step 5:对当代存活的种群进行自然选择、交叉及变异操作。其中自然选择时采用轮盘赌方式进行,交叉概率为70%,变异概率为4.375%。生成子代种群后,返回Step 3。

Step 6:解码获得的最优基因序列,得到最优C、g参数。

3 算法优化结果

3.1 基于SVM的颜色分割

在RGB空间采用颜色分割对花生图像数据集进行预处理后,再在训练集中应用基于SVM的花生表皮破损识别算法。与最初基于图像灰度化构建的算法相比,基于颜色分割预处理后的算法分类准确率有明显提升,如图10所示。当PCA降维前的HOG维数为324维时,识别算法的分类准确率最高达到94.83%。

图10 颜色分割预处理前后识别算法准确率对比

这一结果说明对彩色图像进行灰度化会降低花生图像红衣区域与表皮破损区域的区分度,使得两区域的部分像素值发生重叠,不利于后续的图像特征提取与分类。而采用基于SVM的颜色分割预处理,在将彩色图像变为黑白图像的同时能够很好地保持图像的区分度,对分类性能的提升有显著效果。

3.2 基于遗传算法的参数寻优

采用遗传算法对惩罚参数C和径向基核核参数g进行参数寻优后,基于SVM的花生表皮破损识别算法的准确率有所提高,如图11所示。

图11 遗传算法参数寻优前后的识别算法准确率对比

当PCA降维前的HOG维数为324时,基于SVM的花生表皮破损识别算法分类准确率最高达到91.04%。利用遗传算法对其进行参数寻优,在经过50代进化后,种群的最佳适应度已经基本不变,所以此时已经寻找到了最优参数组合。即当C=3.61、g=1.96时基于SVM的花生表皮识别算法的适应度即准确率最高。

采用软间隔非线性SVM模型相较于线性SVM模型,由于提高了模型的复杂度,使SVM模型具有了非线性分类能力,因此可以进一步提高花生图像分类的准确率,同时也说明完好花生与表皮破损花生的HOG特征分类是一个非线性分类问题。

3.3 综合优化

将基于SVM的颜色分割与基于遗传算法的参数寻优同时应用到本文构建的花生表皮破损识别算法上,在训练集中进行五折交叉验证的结果如图12所示。

图12 综合优化前后花生表皮破损识别算法准确率对比

从图12可知,对于基于颜色分割与GA-SVM的花生表皮破损识别算法,当PCA降维前的HOG维数为324维时,分类准确率最高达到了96.88%。遗传算法对其进行参数寻优后可知,当C=10.55、g=2时识别算法的适应度即准确率最高。

从分类的准确率这一评价指标来分析,经过综合优化后的花生表皮破损识别算法的分类性能得到了较多的提升。仅需提取324维HOG特征即可达到最高的分类准确率,因此基于颜色分割与GA-SVM的花生表皮破损识别算法的计算量较小,算法容易实现且准确率很高。

4 仿真测试与分析

为了检验模型在测试集上的分类效果,本文在CPU为Intel Core i5-4200M、MATLAB版本为R2018b环境中进行测试。将综合优化后的花生表皮破损识别算法应用测试集上,其中测试集共120张花生图片,正负样本各占50%。最终测得分类准确率为100%,算法对测试集提取HOG特征与进行分类预测的总时间为0.672 s,平均每张图片耗时5.6 ms。因此综合优化后的分类算法的准确率和实时性均表现良好,同时测试集上的仿真结果表明本文构建的分类算法具有一定的泛化能力。

为了检验模型对实际拍摄的多花生图片的分类效果,本文采用彩色面阵CCD相机拍摄了多花生图片,在MATLAB平台上对图片进行图像分割及SVM模型预测。根据预测结果对图片进行标记,若为表皮破损花生,用方框进行标记。多花生图片的分数结果如图13所示。本研究构建的分类算法对图中所有花生均分类正确。因此支持向量机适合对花生图像进行二分类。

图13 多花生图片的分类结果

5 结论

构建了不同品种、不同光照条件下的花生图像数据集,对其提取HOG特征并利用SVM对花生表皮是否破损进行了识别。采用了基于径向基核的软间隔非线性SVM模型,通过使用遗传算法对模型参数进行了优化,提高了花生表皮破损识别算法的分类准确率。

同时本研究提出了基于SVM的颜色分割预处理方法,能够高效分割花生红衣区域与花生表皮破损区域。相比于传统的直接对彩色图像进行灰度化处理,本方法对花生品种及光照变化具有很强的鲁棒性,能够解决灰度变换后得到的黑白图像相比于彩色图像区分度下降的问题,从而改进花生表皮破损识别算法的效果。

将综合优化后的花生表皮破损识别算法应用到本文构建的花生图像训练集上,分类准确率达到了96.88%,且仅需324维HOG特征,计算量较少。识别算法在测试集的准确率达到了100%,且平均每张花生图片仅耗时5.6 ms。综合优化及仿真测试结果表明SVM模型在花生图像筛选领域表现突出,具有一定的泛化能力,且模型的实时性较好,具有良好的应用前景。

猜你喜欢
表皮花生灰度
掏花生
采用改进导重法的拓扑结构灰度单元过滤技术
建筑表皮中超薄基材的应用分析
人也会“蜕皮”,周期为一个月
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于灰度线性建模的亚像素图像抖动量计算
到底埋在哪棵树下
表皮生长因子对HaCaT细胞miR-21/PCD4的表达研究
花生去哪儿了
城市综合体表皮到表皮建筑的参数化设计