基于BPSO和SVM的烤烟烟叶图像特征选择方法研究
2015-03-20杨帆申金媛
杨帆 申金媛
摘要:利用图像特征对烟叶进行分级时,提出了一种对烟叶图像特征进行有效选择的新方法——利用二进制粒子群算法联合SVM模型自适应地选择对烟叶分级影响较大的特征,剔除对分级影响较小或相互间有关联的某些特征,并利用Adaboost和RBF分类器进行验证。结果表明,用SVM分类器时,用被选特征比输入全部特征具有更好的分级正确率;对于相同的分类器,利用二进制粒子群和SVM算法自适应筛选后的特征比输入全部特征具有更好的分级吻合率。
关键词:烟叶;二进制粒子群;支持向量机;特征选择
中图分类号:TP181 文献标识码:A 文章编号:0439-8114(2015)02-0449-04
DOI:10.14088/j.cnki.issn0439-8114.2015.02.050
Methods of Selecting Image Feature of Tobacco Leaf Based
on BPSO Combined with SVM
YANG Fan, SHEN Jin-yuan
(School of Information Engineer, Zhengzhou University, Zhengzhou 450001, China)
Abstract: A method combining binary particle swarm optimization(BPSO) with SVM algorithm was proposed to select the important features for grading tobacco. Adaboost and RBF with the features selection was used to verify the conclusion. Results showed that the accuracy of SVM was improved by the new method. The adaptive feature selection of BPSO combined with SVM improved the accuracy of the tobacco grading with same model.
Key words: tobacco leaf; BPSO; SVM; feature selection
目前,我国烟叶分级主要还是依靠人工进行分级,这种方法存在着主观性强、效率低等缺点,因此近年来研究人员在烟叶智能分级方面进行了研究。烟叶的智能识别方法主要有利用烟叶的化学特征、光谱特征和图像特征。其中,利用图像特征对烟叶进行分级有着对烟叶无损、设备简单、效率较高等优点,能够解决人工检测方法的各种缺点,因此有着广阔的应用前景,研究人员在这一领域进行了大量的研究[1-3]。在图像特征的基础上,人们使用了多种分类器对烟叶进行分级,包括支持向量机[4,5]、神经网络[6-8]、主成分分析[9]、模糊识别[10]、粗糙集[11]等方法。但是在之前的研究中通常采用获得的所有图像特征进行训练和分类,而一些特征如长、宽、长宽比、面积、周长等之间存在着很大的相关性,同时由于特征数目多使得分级模型复杂、计算量大,不仅造成训练模型所需时间长,而且分级时所需要的时间也长,这对于收购烟叶的实时要求是非常不利的。另外,特征数目多、模型复杂,建立训练模型时所需要寻找的参数多,参数之间又互相影响,这可能影响到最佳参数的选择,因而影响到分级模型的正确分级率。因此对特征进行有效筛选,减少特征数目对于烟叶自动分级是必要而有意义的[12,13]。本研究提出一种与结果直接相关的特征选择方法,在去除那些相关性较大的特征改善烟叶图像识别效果的同时,还可以减短分类器训练和分级时间而加快分级速度。
粒子群算法(PSO)属于进化算法的一种,这种算法以其实现容易、精度高、收敛快等特点引起了学术界的重视,并且在解决实际问题中展示了其优越性,其中二进制粒子群(BPSO)是将PSO算法离散化的一种改进算法。支持向量机(SVM)是一种经典的模式识别方法,其在解决小样本、非线性及高维模式识别中表现出许多特有的优势,也曾被应用于烟叶的分类中。本研究使用BPSO并联合SVM算法对烟叶的图像特征进行选择,并分别使用SVM、RBF和Adaboost算法进行了验证。
1 烤烟烟叶特征提取
烟叶分级主要是对烟叶的部位、颜色、等级进行分类,其中部位为B(上部)、C(中部)、X(下部)3种,等级根据不同品质可能有3种或者4种,颜色分为F(柠檬黄)、L(橘黄)、R(红棕色)3种。在这3个部分的基础上,我国最新发布的烟叶分级标准将烤烟烟叶分为了42个等级。
本研究采用的烤烟烟叶图片为使用CCD摄像头在暗箱中拍摄获取的烟叶透射图像(图1),因为相比反射图片,透射图片能更好的体现厚度等特征。在对烟叶图像进行背景分割、降噪等一系列预处理后在对其进行特征提取,本研究提取8个外形特征:长、宽、长宽比、面积、周长、破损率、圆形度、矩形度;12个颜色特征:R、G、B和H、S、I的均值和方差;4个纹理特征:能量、惯性、相关性、熵。
2 基于BPSO和SVM的特征筛选
2.1 PSO算法
粒子群算法是1995年由Eberhart和Kennedy 提出的一种进化算法,来源于对鸟群捕食的行为研究。PSO初始化即为一个觅食的鸟群,其中每只鸟为一个随机粒子(随机解),每个初始粒子的位置都是随机的。由一个速度参数来决定它们位置变化的快慢,而每个粒子的位置优劣都由一个适应度值(Fitness value)来评价。在每一代中,整个族群找到的最优解被称为全局极值(gbest),每个粒子本身所找到的最优解被称为这个粒子的个体极值(pbest)。在每一代进化中,每个粒子通过跟踪gbest和pbest两个极值来不断更新自己和自己的速度,然后通过迭代找到最优解。
在得到全局极值和个体极值的情况下,粒子群算法通过以下公式来更新每个粒子的位置和速度:
v=wv+c1rand()(pbest-present)+c2rand()
(gbest-present) (1)
present=persent+v (2)
式中,v是粒子的速度,决定了粒子搜索时的速度;w是惯性权重,决定了粒子对之前速度的继承度,即搜索的广度;persent是当前粒子的位置;pbest为个体极值;gbest为全局极值;rand()为一个0到1之间的随机数;c1和c2为学习因子,决定了粒子对全局极值和个体极值的跟踪程度。
2.2 BPSO算法
在PSO算法中,每个粒子的每一维均为连续的实数,为了将PSO算法应用到离散问题中,Kennedy和Eberhart于1997年提出了二进制PSO算法,即BPSO算法。在BPSO算法中,每个粒子的每一维均取为二进制的离散值,即0或者1,对于速度则没有任何限制。速度将通过一个转换函数转换到[0.0,1.0]这个区间,从而决定每个粒子每一维均被赋予1的概率,这个转换函数通常选用sigmoid函数。此时二进制的粒子更新公式如下:
Pij=1 rand()S(Vij) 0 others (3)
式中,Vij为第i个粒子第j维的速度。
2.3 SVM算法
支持向量机是一种经典的机器学习算法,其在解决小样本、非线性及高维模式识别中表现出许多特有的优势。经典的SVM通过构建使两类样本间间隔最大的超平面来实现两类非线性样本的识别。在样本难以分类时,SVM引入核函数的概念,将样本通过核函数转换到高维寻找间隔最大的超平面。在SVM中主要有以下几类核函数:线性核函数:K(xi,x)=xix;多项式核函数:K(xi,x)=(?酌xix+coef)∧degree;RBF核函数:K(xi,x)=exp(-?酌‖xi-x‖)∧2;sigmoid核函数:K(xi,x)=tanh(?酌xix+coef)。
其中,核函数的选择,现在还缺乏指导原则,主要针对具体的问题选择不同的核函数进行比较选择。在对n分类问题使用SVM时,建立n(n-1)/2个两分类器,然后根据所有单个分类器的分类结果进行投票统计,样本被判决为得票多那一类。选择SVM的原因一是SVM不会因为初始参数的不同导致训练结果不同,便于和BPSO联合使用;二是SVM对于小样本问题具有良好的表现,即具有更强的推广能力。
2.4 特征选择
根据上述描述,采用BPSO联合SVM分类器进行烟叶图像特征选择。首先初始化粒子群,其中每个粒子为x=(x1,x2,……,xn),n为特征向量的维数,xi即粒子的每一维,xi=0或1,取0表示此特征未被选择,1则表示被选择。然后计算每个粒子的适应度,即SVM分类器训练样本的正确率,在训练样本准确率相同的情况下,x中为1的项越少就认为该粒子的适应度更好。根据所得的适应度,如果此时该粒子的适应度值为该粒子在进化过程中的历史最优,则将其作为该粒子的个体极值(pbest)。如果一个粒子的适应度值为所有粒子进化过程中的历史最优,则将其作为全局最优值(gbest)。
更新粒子群,根据gbest和pbest对速度公式(4)进行更新,
v=wv+c1rand()(pbest-present)+c2rand()
(gbest-present)(4)
然后根据Vij即第i个粒子第j维的速度对每个粒子每一维的取值按照公式(5)进行更新。
Pij= 1 rand()≤1/(1+e-Vij)0 others(5)
最后检查是否达到停止迭代的条件,本研究即达到最大迭代次数,如果没有到达停止条件则返回到计算每个粒子适应度的那一步,若达到停止条件则停止运算。
3 实践验证分析
本研究使用的烟叶样本共为462张,其中包括B2F等级26片、B3F等级29片、B4F等级54片、C2F等级45片、C2L等级46片、C3F等级29片、C3L等级37片、X2F等级37片、X2L等级21片、X3F等级40片、X3L等级33片、X4F等级31片、X4L等级34片,一共13个在烟叶总量中所占比例较大,经济价值较高的主组烟叶。
在使用粒子群算法时,初始粒子数为100,学习因子c1=c2=2,惯性权重w=1,速度范围为[-4,4],根据多次寻优的经验,大约迭代30次左右就会收敛(图2),即找到全局最优点,所以迭代次数选为50次。使用SVM选择的核函数为线性核函数,惩罚因子c的最优参数通过网格法搜索得到。通过BPSO和SVM自适应特征选择后,烟叶的宽、破损率、矩形度、R均值、G均值、B均值、H均值、H方差、S方差、I方差、纹理能量、纹理相关性12个特征被保留,其他12个特征被剔除。
为验证特征选择的有效性、必要性和重要性,分别用全部特征和利用BPSO、SVM算法选择出的12个特征建立SVM、Adaboost和RBF神经网络烟叶分级模型。从462个样本中选择334片为训练样本,128片为测试样本。
由表1可以看到,不论是采用SVM还是RBF或Adaboost分级分类器,利用BPSO和SVM联合的方法对特征进行自适应筛选都可不同程度地提高烟叶的分级正确率。这是因为众多的特征间有一定的相关性,这些相关的特征均作为分级影响变量时,由于变量数目多,不仅增加了分类器最佳参数的选择难度,甚至可能对分级引起一定的干扰,如矩形度、圆形度、长、宽、长宽比、面积、周长之间具有很大的相关性;另外还有一些特征虽然对分级有一定的影响,但是影响程度不大,很有可能其对于参数选择带来的不利超过了对分级的影响,因而影响到分级的正确性,因此经过特征自适应筛选,几种不同分类器的分级正确率都有了一定的提高。BPSO和SVM联合的方法对特征进行自适应筛选,可以有效地剔除一些相关联的特征,如相关性比较大的矩形度、圆形度、长、宽、长宽比、面积、周长7个特征,经过选择只剩下宽和矩形度两个特征,剔除了其他5个特征;颜色特征则删减了S、I的均值和R、G、B方差;在总特征数量减少了一半的同时,训练样本和测试样本的正确率也得到了提高,说明本研究对烟叶特征的选择是有效的。
4 小结与讨论
使用BPSO和SVM联合的方法可以在显著降低烟叶特征数量的同时提高识别率,这是因为去除了一些跟分级无关或者互相之间关联较大的特征。利用被选择的特征在其他分类器上进行训练,也表现出了优于使用所有特征训练的结果,证明了本研究特征选择方法的有效性。本研究中所挑选的特征是否是其他分类器在烟叶图像识别时最优的特征组合,还需要进一步对其他分类器进行试验和特征选择,而如果不同分类器的最优特征组合不同,这其中的不同是哪些因素所导致的,是下一步要进行的研究工作。
参考文献:
[1] 韩力群,何 为,段正刚,等.烤烟烟叶自动分级的智能技术[J].农业工程学报,2002,18(6):173-175.
[2] 马文杰,贺立源,刘华波,等.成像环境因素对烟叶图像采集的结果的影响及校正研究[J].中国农业科学,2006,39(12):2615-2620.
[3] 刘华波,贺立源,马文杰,等.透射图像颜色特征在烟叶识别中应用的探索[J].农业工程学报,2007,23(9):169-171.
[4] 章 英,贺立源,叶颖泽,等.基于LS-SVM的烤烟烟叶产地判别[J].湖北农业科学,2012,51(3):583-585.
[5] 潘治利,祁 萌,魏春阳,等.基于图像处理和支持向量机的初烤烟叶颜色特征区域分类[J].作物学报,2012,38(2):374-379.
[6] 陈 津.基于概率神经网络的烤烟烟叶质量的相关性分析[J].北京工商大学学报(自然科学版),2010,28(6):66-70.
[7] 张乐明,申金媛,刘剑君,等.概率神经网络在烟叶自动分级中的应用[J].农机化研究,2011(12):32-35.
[8] 申振宇,申金媛,刘剑君,等.基于神经网络的特征分析在烟叶分级中的应用[J].计算机与数字工程,2012,40(7):122-124.
[9] 邹渊渊,伍岳庆,姚 宇.基于主成分和回归分析的烟叶质量分析模型[J].计算机应用,2011,31(2):81-89.
[10] 韩立群,何 为,苏维均,等.基于拟脑智能系统的烤烟烟叶分级研究[J].农业工程学报,2008,24(7):137-140.
[11] 谭 旭,唐云岚,陈英武.基于粗糙集的烤烟烟叶智能分级方法[J].农业机械学报,2009,40(6):169-174.
[12] 李丽华,丁香乾,贺 英,等.基于Tabu搜索的贝叶斯网络在烟叶香型评价中的应用[J].计算机应用与软件,2012,29(3):225-227.
[13] HUANG C L, WANG C J. A GA-based feature selection and parameters optimization for support vector machines[J]. Expert Systems with Applications,2006,31(2):231-240.