基于机器视觉的珍珠颜色特征提取与识别

2019-12-23 07:23叶佳英邓飞王佩欣赵大旭王毓综寿国忠
江苏农业科学 2019年20期
关键词:珍珠特征值分类器

叶佳英 邓飞 王佩欣 赵大旭 王毓综 寿国忠

摘要:为了提高珍珠颜色分类的准确率,拟设计半球型珍珠图像获取装置,并提出基于Lab[L表示亮度(luminosity),a表示从洋红色至绿色的范围(+127,-128),b表示从黄色至蓝色的范围(+127,-128)]颜色空间的GA-SVM(基于遗传算法寻优的支持向量机)的珍珠颜色识别方法。结果表明,設计的图像获取装置能够有效地避免珍珠反光,获取了颜色信息较全面的珍珠图像;提出了适用于珍珠图像分割的全局自动阈值与K-means相结合的分割方法。根据GB/T 18781—2008《珍珠分级》进行珍珠颜色的分类,通过不同颜色特征值以及不同分类器的对比试验结果表明,使用Lab颜色空间三通道均值作为GA-SVM的分类训练特征值,准确率最高,交叉验证准确率达到98.42%以上,测试分类准确率为100.00%。

关键词:机器视觉;珍珠;颜色特征;提取;识别;光源装置;GA-SVM;Lab颜色空间

中图分类号: TP391.4 文献标志码: A

文章编号:1002-1302(2019)20-0226-05

我国淡水珍珠的年产量占世界珍珠产量的95%以上,其中浙江诸暨是我国淡水珍珠生产的最大基地,拥有珍珠加工企业1 500多家。珍珠分级的内容主要有大小、形状[1-2]、颜色等,由于珍珠的宝石质地,使其具有较强的反光性,从而造成实现机器视觉的珍珠分拣难度较高。其中颜色受光线的影响最大,实现计算机识别的难度也最大。目前,珍珠颜色分级仍然依靠人工目测完成,需要投入大量劳动力,并且珍珠颜色的检测人员需要经过严格的培训,不仅费时费力且分类标准不统一,易受人的主观因素和外界光线的影响。在人工智能的时代,计算机视觉得到了广泛应用,基于计算机视觉的机器分拣能够在封闭光源的固定环境中获取珍珠的颜色图像,不受其余光线干扰,有助于对分级标准进行量化统一且可重复的操作。

目前,国内外对珍珠颜色的分类研究较为鲜见,虽然国外已有色度级别的相关检测设备,但是价格高达几十万美元,具体资料不详。国内基于计算机视觉实现珍珠颜色识别的研究主要集中在21世纪初,至今仍处于研究阶段。李革等在HIS[色调(hue,简称H)-亮度(intensity,简称I)-饱和度(saturation,简称S)]颜色模型中,通过I分量分割掩模以消除珍珠的反光区域,利用RPROP(振荡传播)神经网络和特征值H进行颜色分类,主要分为红、白、黑3个色系[3]。汤一平等实现了通过单目多视角视觉获取珍珠图像,提取光亮区的H分量直方图进行颜色检测,通过颜色像素所占比例来区分颜色类别,主要分为红色、白色[4]。

基于颜色特征的分类应用广泛,在食品[5-6]、交通[7-8]、农产品[9-13]等领域已取得一定的成果,与珍珠较为相似的有矿物颜色识别等[14]。以上研究对珍珠的颜色识别具有一定的参考借鉴作用,珍珠的颜色分类与以上物体颜色分类的主要不同在于图像的获取困难,主要由于珍珠体积小、反光强。

因此,针对现有研究的不足,本研究拟设计珍珠图像获取装置,获取较好的珍珠颜色信息,在Lab[L表示亮度(luminosity),a表示从洋红色至绿色的范围(+127,-128),b表示从黄色至蓝色的范围(+127,-128)]颜色空间提取颜色特征值,构建基于遗传算法寻优的支持向量机(GA-SVM)分类模型,根据GB/T 18781—2008《珍珠分级》对淡水珍珠颜色的分类,实现计算机视觉分类,并测试分析不同颜色特征值及不同分类器针对颜色分类的效果。

1 珍珠图像获取装置

本研究采用半球形遮光罩来减少不可控的自然光照及其他灯光光照的干扰,照明装置采用可调节发光二极管(LED)灯条照明。光源装置如图1所示,其中的半球形遮光罩2为白色PLA(聚乳酸)材料,能够有效遮挡其他非试验装置光源如日光灯、太阳光等的干扰,减少珍珠由于强光影响而产生的光斑;3为白色纸筒;4为磨砂半透明遮光纸,能够使LED灯条5产生的光源更加柔和均匀;相机1的型号为GYM300,光学尺寸为1/2″CMOS(互补金属氧化物半导体)彩色。

在无遮光罩、自然光及室内日光灯条件下拍摄的图片如图2-a所示,可见珍珠图片有较多杂乱的光斑产生,对体积越小的珍珠,图像采集产生的影响越大,光斑所占比例越大,导致珍珠图像颜色信息丢失严重,对颜色的提取造成干扰。图2-b为文献[3]中的珍珠图像。图2-c为文献[4]中用单目多视角装置获取的某个视角的珍珠图像。文献[3]和[4]中2种对于珍珠颜色的分类方法,都采取了I分量分割珍珠反光区域的方法来消除光线干扰。图2-d显示,在该条件下获取的珍珠图像无光斑,颜色与实际接近,是较为理想的图像。

2 珍珠颜色分类方法

珍珠颜色分类方法包括建立分类模型、识别模块2个部分,总体流程如图3所示。首先对样本库的珍珠图像进行预处理,图像预处理包括2个部分:均值滤波去噪和全局阈值分割图像。对于分割后的图像进行颜色空间转换并提取颜色特征值。在建立分类器时,先将样本珍珠图像进行人工分类,构建分类标签。将样本图库分为训练集、测试集2个部分,训练集用于分类器的学习,测试集用于测试分类模型的准确率。在得到分类准确率理想的模型后,建立识别模块,进行珍珠图像识别并输出待测图像的匹配图像及所属类别。

2.1 样本的获取

珍珠图像的采集主要是以不同颜色的塑料仿珠以及白、浅粉、浅紫等常见颜色的珍珠作为试验对象。在前文所述光源装置条件下,共拍摄19种颜色的仿珍珠,每种颜色各20张图片,并按国家淡水珍珠颜色划分标准GB/T 18781—2008《珍珠分级》,给予相应的颜色类别标签1~19,其表征的颜色分别如下:1表示玫瑰色,2表示粉红色,3表示紫红色,4表示深紫色,5表示紫色,6表示浅粉色,7表示金黄色,8表示浅黄色,9表示深蓝色,10表示深绿色,11表示浅绿色,12表示蓝色,13表示浅蓝色,14表示灰黑色,15表示中绿色,16表示银灰色,17表示奶白色,18表示白色伴粉色,19表示浅紫色。部分颜色较为相近的试验图像如图4所示。在训练样本阶段,分别提取19种不同颜色珍珠图像的前10张作为训练样本,后10张作为测试样本。

2.2 珍珠图像的预处理

相机拍摄获得的原图像像素为2 048×1 536,由于珍珠体积较小,在图像中占像素面积的比例小于10%,因此首先将图像对珍珠区域裁剪为360×360像素大小的图像,然后使用5×5均值滤波将灰尘等造成的背景干扰及噪点过滤掉,最后进行圖像分割。

全局阈值分割[15]采用基于图像数据的自动选择阈值方法,主要步骤如下:

(1)设置初始估计值T;(2)用T分割图像,产生灰度值大于T的像素值G1和灰度值小于T的像素值G2;(3)分别计算G1、G2区域的平均灰度值m1、m2;(4)计算新的阈值:T=12(m1+m2);(5)重复(2)~(4)的步骤,直到T的差异比预设参数ΔT小为止;(6)使用二值化分割图像。

不同颜色、不同光泽度的珍珠,会导致相机获取的珍珠图像曝光不均,单个像素点灰度值异常,带来分割噪声问题,单纯使用全局阈值分割,难以得到较好的效果。

基于K-means聚类算法,通过找到特征空间中像素值的空间聚类,并将每个像素划分到不同的类聚中来实现图像的分割。首先给定聚类数K,然后对图像的每个像素特征值根据相似度大小划分为K个聚类。K-means算法具有优越性,同时也存在局限性,最初的聚类中心是随机选取的,聚类的好坏依赖于特征值的选取等。

本研究采用全局阈值分割与K-means分割相结合的方法,2种方法具有互补作用,不仅能够解决全局阈值无法分割亮度分布不均的问题,同时能够解决K-means分割聚类中心随机的问题。

K-means分割采用Lab颜色空间来提取分割特征值,Lab颜色空间相较于RGB[红(red,简称R)-绿(green,简称G)-蓝(blue,简称B)]模型,具有色域宽广、色彩分布均匀的优势。RGB先转换到XYZ颜色空间,再由XYZ空间转换到Lab空间。转换公式如下:

式中:L*、a*、b*为最终的Lab色彩空间3个通道的值;r、g、b分别为像素点R、G、B的取值;x为某个像素值;Xn、Yn、Zn为对照白的三刺激值,分别为95.047、100.0、108.883。

1个类聚中 首先对图像进行全局阈值分割,然后取图像a、b通道的颜色值,作为K-means聚类的特征值进行K-means分割。由于第1次进行了全局阈值分割,背景的a、b值为0,其中心接近0,求2个类聚中心特征值的绝对值之和,以此来判断目标与背景。将绝对值之和较大的作为分割目标,分割结果如图5所示。图5-a由于曝光不均匀,仅用全局阈值分割,无法使背景分割完全;图5-b仅用K-means分割,会出现分割背景与分割目标随机的现象;图5-c采用的本研究方法,解决了以上出现的问题。

2.3 分类颜色特征值的提取

颜色特征是颜色分类的重要指标,对于颜色特征的提取,是颜色分类的首要任务,颜色特征提取的质量好坏决定了分类的准确性。为了方便地研究和使用颜色,国际照明委员会(CIE)创建了十几种颜色空间模型,如RGB、HIS、Lab、HSV[色调(hue,简称H)-饱和度(saturation,简称S)-亮度(value,简称V)]、LUV(L表示亮度,U、V表示色度)等。其中Lab、LUV、HSV常用于皮革[15]、瓷砖[16]、地板[17]等物品表面颜色的分类研究。本研究即基于Lab颜色空间实现颜色分类。

颜色特征值提取的基本步骤如下:(1)颜色空间转换后,分别获取L、a、b 3个通道的图像信息;(2)在L、a、b 3个分量的图像信息中,分别获取珍珠区域L、a、b值的总和以及珍珠区域对应的像素点数;(3)求珍珠区域的L、a、b均值,最终将均值作为颜色特征值。

2.4 分类器的构建

2.4.1 支持向量机算法 支持向量机较其他神经网络而言,更适合小样本的分类。其算法的核心思想是将在低维空间线性不可分的样本训练数据通过某种核函数映射到高维的特征空间变成线性可分。假设通过映射将训练数据映射到特征空间,应用核方法间接计算内积K(Xi,Xj)=(Xi)T(Xj),然后引入拉格朗日乘子α,将最佳超平面问题转化为二次规划的对偶问题,最后利用启发式优化算法SMO(序列最小优化)来求解支持向量机[18]。

由此可知,SVM基本上不涉及概率预测及大数定律,简化了通常的分类问题,其最终决策函数由少量支持向量确定,剔除了冗余样本,算法简单且鲁棒性好。

2.4.2 核函数 由上述结论可知,核函数相当于隐式地映射定义了“特征空间”,若核函数的选择不当,将样本映射到1个不合适的“特征空间”,则会导致模型的性能不佳。常用的核函数有线性核函数、多项式核函数、高斯径向基核函数(RBF)等。其中,RBF所需确定参数较少,各方面性能较稳定[19],RBF核函数公式为K(Xi,Xj)=exp(-g‖Xi-Xj‖2),选用RBF的SVM方法只需确定2个参数:c惩罚参数和g核函数参数。

2.4.3 参数寻优 惩罚因子c控制结构风险和样本误差的平衡。c过小,对误判的样本惩罚就小,导致训练误差变大,使得机器学习复杂度小,发生“欠学习”;c过大,学习精度提高,出现“过学习”。而核函数g过小,导致分类器抗干扰能力下降;过大则导致分类器反应迟缓[20]。因此,如何选择最优参数,对构建最佳分类器有着重要影响。

SVM参数选取方法主要有经验选择法、实验试凑法、梯度下降法等。同时遗传算法(GA)、粒子群优化、网格搜索等智能优化的方法被成功应用在参数寻优方面。其中,遗传算法是1种既实用又高效且鲁棒性好的优化方法。使用遗传算法进行参数寻优,首先要构建初始种群,使用自行设计的适应度函数评价个体适应度,从中选择优良个体,按照交叉、变异生成新个体,循环迭代该过程,直到达到终止条件。

2.4.4 GA-SVM分类器的构建 众多学者从编码方式、控制参数的确定和交叉机制等方面入手,研究了各种变形的遗传算法。本研究使用谢菲尔德遗传算法工具箱函数来搭建GA寻优算法,该算法提供了广泛多样的有用函数。SVM结合GA参数寻优的具体步骤如下:(1)准备样本数据;(2)遺传算法内部参数初始化;(3)产生参数对,使用交叉验证,在训练集上搜寻适应度最佳的参数;(4)使用最优参数,重新训练,得到支持向量机预测模型;(5)预测结果分析。

其中,步骤(2)的参数设置如下:最大进化代数(代)设置为100,种群最大数量(个)设置为20,代沟设置为0.9,即当代中有90%的个体被复制到下一代。对于RBF核函数,参数c的变化范围为[0,100],参数g的变化范围为[0,1 000]。适应度计算采用基于秩的适应度计算ranking函数。

选择操作。在标准遗传算法中,常采用轮盘赌选择的方法[20]。该方法容易造成早熟收敛等问题。本研究采用Select高级选择例程,以避免由于使用赌轮选择而造成早期高适应度个体迅速占据种群和后期种群中因个体的适应度相差不大而导致种群停止进化等问题。调用随机历遍抽样(SUS)代替轮盘赌方法的单个选择指针。

变异算子主要有实值变异、高级变异函数等。本研究采用离散变异mut函数,变异概率Pm=0.7/Lind(Lind表示个数长度)。

交叉算子采用高级重组算子recombin,调用低级交叉函数单点交叉(xovsp)完成当前种群中1对个体按交叉概率0.7进行单点交叉。

本研究基于GA寻优的适应度结果显示,交叉验证准确率为98.421 1%,最优参数c为2.373 6,最优参数g为 0.030 8,终止迭代数为50。

3 结果与分析

对珍珠图像进行预处理后,使用不同颜色空间及不同颜色特征值提取方法,在不同分类器中进行对比分析。由表1可知,提取的颜色特征值均为Lab颜色空间的珍珠区域均值,使用不同分类器进行分类,构建的BP神经网络结构为3-10-1(输入层、隐藏层、输出层分别有3、10、1个节点),测试正确率为74.21%,预测准确率较低且网络的泛化能力差;使用常规的SVM分类器的测试准确率为97.89%,比BP神经网络测试准确率提高了23.68百分点,且训练时间短;以常规SVM作为参照依据,基于粒子群优化的支持向量机(PSO-SVM)训练准确率及测试准确率均不高,且训练时间长;同样,使用网格搜索寻优的SVM Grid Search,测试准确率上升了,但是训练准确率较低,有2颗珍珠颜色误判。本研究采用的GA-SVM分类,用遗传算法优化c、g,交叉验证准确率、训练准确率以及测试准确率都大大提高了,常规支持向量机误判的4颗珍珠颜色,用此方法全部分类正确。

表2是基于相同的分类方法,使用不同颜色特征值提取的方式对分类的影响。方法1转换到HSV颜色空间,将HSV颜色空间量化到72 bin(表示72个维度),提取珍珠区域的直方图,将其归一化后作为训练数据;方法2转换到HSV颜色空间,分别提取珍珠区域的H、S、V三通道的均值作为训练数据;方法3转换到H、S、I颜色空间,提取珍珠区域的三通道的均值作为训练数据。如表2所示,在同一个HSV颜色空间中,颜色三通道的均值比颜色直方图的测试准确率提高了8.4百分点左右。提取相同的三通道均值,在3个不同的颜色空间中,Lab颜色空间相比于HSV、HSI颜色空间的测试准确率提高了4.7~6.3百分点。

颜色直方图提取的特征值维度较大,所获取的颜色值所占比例最高的前3项有所颠倒或者不同,如同样颜色的珍珠图像,1张获取的直方图中所占比例较高的前三者的颜色值为69,86,6,另1张为6,89,69,这就导致识别误差较大。对珍珠主体色的分类使用颜色直方图主要的颜色信息会被其他颜色信息干扰,导致分类效果差,颜色直方图适合用于颜色复杂的物体识别或颜色均匀性的判别,能够较好地表明颜色的分布信息。

综合以上分析,对于珍珠颜色的分类,从分类器上来说,常规的SVM多分类器比常规的BP神经网络分类准确率更高且稳定性好,而基于GA优化的SVM分类器能比其他SVM分类器提高2.11百分点的测试准确率。从颜色特征值来看,在不同颜色特征值的提取方式下,分类结果差异较大,能提高13.2百分点的测试准确率。特征值提取的好坏除了由于提取方式的不同,在很大程度上由珍珠图像质量决定。

4 颜色识别模块

颜色匹配的过程如下:随机获取珍珠表面图像,用所保存的分类模型进行分类预测,匹配到相同颜色的珍珠图像并输出待分类的珍珠图片所属类别颜色标签及名称,将输出的识别标签传输给分拣机器人实现颜色自动分拣。部分珍珠的颜色识别结果如图6所示。

5 结论

本研究采用结构简单的光源装置,能够有效地消除珍珠反光区域,获得较为理想的珍珠图像。较文献[2-3]中的方法省去了图像反光区域处理的步骤,保留了完整的颜色信息,且分类更全面,准确率更高。本研究提出了全局阈值与 K-means 聚类相结合的图像分割方法,适用于分割类似于由于珍珠本身色彩及光泽度不同导致背景曝光有所受影响的图像。使用全局阈值分割来稳定后期K-means分割的聚类中心,而K-means的a、b颜色通道分割则弥补了全局阈值分割因背景曝光不同而无法分割完整的缺陷。

此外,本研究测试了不同分类器、不同颜色空间及不同颜色特征提取的方法对颜色分类的影响。使用Lab颜色空间均值作为特征值,不受珍珠大小、形状及其在图像中位置的影响。构建GA-SVM分类器,利用遗传算法获得最优参数,提高了分类准确率。使用常规的SVM分类器与GA-SVM分类器,测试准确率只提高了2.11百分点,而不同颜色特征值使分类准确率有4.2百分点的提升。基于Lab颜色空间的GA-SVM识别方法,识别准确率高且操作简单灵活,便于修改,可根据实际情况不断扩充、完善样本库,使得珍珠颜色分类更为齐全、精准。

近几年来,随着深度学习理论的不断完善,卷积神经网络被越来越多地应用到图像分类中,其与支持向量机等传统的“特征+分类器”的分类方法相比,无需人工提取特征值,利用样本图像集的先验知识,自动提取识别规则,但对于小样本数据集的泛化能力较低,且对硬件配置及训练时长的要求较高。

参考文献:

[1]郑春煌,黄 柳,唐 玮,等. 图像处理的珍珠形状大小检测系统研究[J]. 中国计量学院学报,2014,25(3):258-262.

[2]李 革,李 斌,王 莹,等. 珍珠形状的计算机视觉识别[J]. 农业机械学报,2008,39(7):129-132.

[3]李 革,李 斌,王 莹,等. 基于HIS颜色模型的珍珠颜色分选方法[J]. 农业工程学报,2008,24(8):284-287.

[4]汤一平,夏 杰,李陈荣,等. 基于单目多视角视觉的珍珠品质检测[J]. 农业机械学报,2014,45(4):276-283.

[5]Du C J,Sun D W. Pizza sauce spread classification using colour vision and support vector machines[J]. Journal of Food Engineering,2005,66(2):137-145.

[6]Anami B S,Burkpalli V C. Color based identification and classification of boiled food grain images[J]. International Journal of Food Engineering,2009,5(5):64-67.

[7]Yan J,Baek S H,Park S Y. Robust road line color recognition based on 2-dimensional S-color space[C]//2017 IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems,2017:342-347.

[8]Wang Y C,Han C C,Hsieh C T,et al. Vehicle color classification using manifold learning methods from urban surveillance videos[J]. EURASIP Journal on Image and Video Processing,2014(1):48.

[9]畢立恒. 基于叶片图像算法的植物种类识别方法研究[J]. 浙江农业学报,2017,29(12):2142-2148.

[10]Iqbal S M,Gopal A,Sankaranarayanan P E,et al. Classification of selected citrus fruits based on color using machine vision system[J]. International Journal of Food Properties,2016,19(2):272-288.

[11]罗玉娟,李熙莹,蔡志岗,等. 采用均匀颜色空间的竹片分类研究[J]. 计算机工程与应用,2010,46(16):238-240.

[12]张凯兵,章爱群,李春生. 基于HSV空间颜色直方图的油菜叶片缺素诊断[J]. 农业工程学报,2016,32(19):179-187.

[13]李鹏飞,宁雨薇,张 蕾,等. 纺织品颜色分类算法比较研究[J]. 棉纺织技术,2016,44(5):42-45.

[14]Aligholi S,Lashkaripour G R,Khajavi R,et al. Automatic mineral identification using color tracking[J]. Pattern Recognition,2017,65:164-174.

[15]赵 海. 基于颜色特的皮革分类方法研究[D]. 杭州:浙江工业大学,2015.

[16]王岩松,金伟其. 基于映射色差的颜色分类表面检测方法研究[J]. 北京理工大学学报,2010,30(1):74-78.

[17]钱 勇,白瑞林,倪 健,等. 基于颜色特征的地板层次分类研究[J]. 计算机工程与应用,2013,49(13):245-248.

[18]Vapnik V N. The nature of statistical learning theory[M]. New York:Springer,2000:138-167.

[19]奉国和. SVM分类核函数及参数选择比较[J]. 计算机工程与应用,2011,47(3):123-124,128.

[20]尹志勇,陈永光,桑 博. 基于GA-SVM的电能质量扰动分类方法研究[J]. 河北工业大学学报,2017,46(4):75-79.

猜你喜欢
珍珠特征值分类器
“小珍珠”
一类带强制位势的p-Laplace特征值问题
单圈图关联矩阵的特征值
为了喝到珍珠
“种”珍珠真神奇
绿珍珠城(上)
BP-GA光照分类器在车道线识别中的应用
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
基于商奇异值分解的一类二次特征值反问题