摘 要: 為了克服蘋果顏色分級中存在的誤差大、準(zhǔn)確率低等缺點,利用粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法,實現(xiàn)蘋果顏色的實時分級。該算法可優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,提取蘋果顏色特征作為BP神經(jīng)網(wǎng)絡(luò)的輸入,將訓(xùn)練優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)做為分級器,對蘋果按照顏色進(jìn)行分級。實驗結(jié)果表明,該方法分級正確率不低于96%,對一個蘋果的檢測時間在0.1ms~0.2ms之間,滿足實時性要求。
關(guān)鍵詞: 粒子群優(yōu)化算法;BP神經(jīng)網(wǎng)絡(luò);顏色分級;分級器
?
顏色和著色面積是衡量蘋果外觀品質(zhì)的重要指標(biāo),高品質(zhì)的蘋果著色均勻,有較高的商品價值,并且蘋果的表面色調(diào)也間接反映了其成熟度和內(nèi)部品質(zhì)。國外研究者在蘋果的顏色檢測方面做了大量的研究,如Tao等[1]利用基于色度特征的統(tǒng)計識別算法完成了蘋果、土豆的顏色分級,該統(tǒng)計識別算法需要通過大量的樣本才能得出統(tǒng)計規(guī)律,因此該方法存在過程復(fù)雜、效率低的不足;Kavdir等[2]使用BP神經(jīng)網(wǎng)絡(luò)設(shè)計蘋果分類器,用樣本圖像訓(xùn)練分級器,實現(xiàn)蘋果分級,但該方法神經(jīng)網(wǎng)絡(luò)中的BP算法存在收斂速度慢和易陷入局部極值點等缺陷。在國內(nèi),參考文獻(xiàn)[3]和參考文獻(xiàn)[4]分別利用遺傳神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)理論實現(xiàn)蘋果顏色分級。雖然前人取得了一定成果,但由于我國硬件設(shè)施的落后,蘋果顏色分級在實驗研究過程中仍存在分級過程復(fù)雜、效率低等缺點,不易實現(xiàn)自動化分級和滿足分級的實時性要求。因此,本文提出了一種基于粒子群優(yōu)化算法PSO(Particle Swarm Optimization)的BP神經(jīng)網(wǎng)絡(luò)分級方法,利用PSO算法優(yōu)化BP網(wǎng)絡(luò)參數(shù),可以避免BP算法收斂速度慢和易陷入局部極值點等缺陷,通過提取蘋果顏色特征參數(shù),將該參數(shù)作為BP網(wǎng)絡(luò)輸入,訓(xùn)練優(yōu)化后的BP網(wǎng)絡(luò)作為分級器,提高蘋果顏色分級效率。
1 蘋果顏色特征提取
1.1? 采集蘋果圖像
本文選取紅富士蘋果作為樣本,以黑色為背景,便于提取目標(biāo)圖像,用CCD拍攝一個蘋果的3個不同側(cè)面,可覆蓋蘋果大部分表面。拍攝的圖像如圖1所示。
???????????????????????????
?
1.2? 選取顏色模型與提取顏色特征
1.2.1? 選取顏色模型
顏色是人眼對不同頻率的電磁波的一種感知形式,由物體的反射光特性和表面的物理、化學(xué)特性決定,據(jù)此建立顏色模型。對顏色進(jìn)行描述和評價的兩種最常用顏色模型是RGB顏色模型和HIS顏色填型。
(1)RGB顏色模型
RGB是一個加色立方體模型,光源的亮度、色度、純度混合在R、G、B 3個參數(shù)中,RGB里面任意色光都可以用R、G、B三色不同分量相加混合而成,該模型通常用于彩色監(jiān)視器和一大類彩色視頻攝像機(jī)。人眼不能直接感覺R、G、B三色的比例,只能通過感知顏色的亮度、色調(diào)以及飽和度區(qū)分物體,因此,僅使用RGB顏色模型難以對圖像進(jìn)行直接處理。
(2)HIS顏色模型
HIS顏色模型定義了色調(diào)(H)、亮度(I)和飽和度(S)3個互不相關(guān)、容易預(yù)測的顏色屬性,其中H是表面呈現(xiàn)近似紅、黃、綠、藍(lán)等顏色的一種或幾種的目視感知屬性;I表示物體表面的強(qiáng)度或亮度;S是顏色具有白光的程度。該模型與人眼感覺顏色的原理相似,更符合人描述和解釋顏色的方式。為了準(zhǔn)確分析蘋果表面顏色特性,本文選用HIS模型。從RGB模型到HIS模型轉(zhuǎn)化公式如(1)、(2)和(3)所示 [5]。
1.2.2? 提取顏色特征
由于在HIS顏色模型中的H分量在色彩上有較好的分類性,反映了蘋果由紅到綠的彩色特征變化,相比RGB顏色模型,其計算量減少了2/3,利于實時在線分級,因此該顏色模型對彩色的識別可使用H分量。確定色度H值如公式 (4)。
為了反映蘋果表面顏色的組成情況,可由色度值得到彩色圖像的色度直方圖,然后根據(jù)直方圖的色度曲線提取蘋果色度特征參數(shù)。為分析不同等級蘋果表面紅區(qū)比例,依國際分級標(biāo)準(zhǔn),將其分為4個等級,即優(yōu)等、一等、二等和等外。求出各級蘋果色度值范圍,得到其對應(yīng)的色度直方圖,具體步驟如下:
(1)用閾值法進(jìn)行圖像分割,提取蘋果目標(biāo)圖像,得到蘋果RGB圖像;
(2)應(yīng)用公式(1)、(2)、(3)將蘋果顏色的RGB模型轉(zhuǎn)化為HIS模型;
(3)利用公式(4)計算各像素的色度值,得到色度直方圖。
由各等級蘋果的直方圖可知,蘋果色度范圍分布在0°~100°:優(yōu)等紅富士蘋果色度值集中在0°~25°;一等紅富士蘋果色度值集中在15°~45°;二等紅富士蘋果色度值集中在30°~65°,且分布比較分散;等外紅富士蘋果色度值集中在60°~80°。按照每隔20°為一子區(qū)間進(jìn)行劃分,分別有5個點組成色度區(qū)域。各等級蘋果如圖2所示,色度直方圖曲線如圖3所示。
?
?
圖3中橫坐標(biāo)是色相范圍0°~100°,縱坐標(biāo)是各色相值下的頻度,選用每個蘋果的色相頻度作為顏色分級特征參數(shù)。將該參數(shù)作為BP網(wǎng)絡(luò)的輸入,用PSO優(yōu)化后的BP網(wǎng)絡(luò)作為分級器,實現(xiàn)蘋果顏色分級。
2?PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法
2.1?PSO和BP神經(jīng)網(wǎng)絡(luò)
粒子群算法是基于群體的演化算法,由Kennedv和 Eberhart于1995年提出,該算法的基本思想源于對鳥群捕食的模擬,進(jìn)而演化成隨機(jī)化搜索最優(yōu)解的方法。在PSO算法中,通過初始化一群隨機(jī)粒子,用迭代找到最優(yōu)解。在每次迭代中,粒子通過跟蹤兩個極值更新自己,一個是粒子本身所找到的最優(yōu)解,稱為個體極值Pbest;另一個極值是整個種群目前找到的最優(yōu)解,為全局極值gbest。粒子主要由以下公式更新自己的速度和位置[6]:
?
其中,xid是粒子的當(dāng)前位置;vid是粒子的速度;w是慣性權(quán)重;rand1( )、rand2( )是在[0,1]區(qū)間內(nèi)均勻分布的隨機(jī)數(shù);c1和c2為加速系數(shù),且取大于零的常數(shù)。PSO算法具有概念簡單,容易實現(xiàn),搜索速度快,搜索范圍大等優(yōu)點。而BP神經(jīng)網(wǎng)絡(luò)一般為多層神經(jīng)網(wǎng)絡(luò),是一種多層前饋神經(jīng)網(wǎng)絡(luò)。 BP網(wǎng)絡(luò)模型一般有輸入層、隱含層和輸出層,相鄰神經(jīng)元之間實現(xiàn)全連接,而每層各神經(jīng)元之間無連接。傳統(tǒng)BP訓(xùn)練算法收斂速度慢,易陷于局部極小,難以收斂到全局最優(yōu)點,學(xué)習(xí)過程常發(fā)生振蕩,訓(xùn)練過程中學(xué)習(xí)新樣本時有適配問題。為了解決BP神經(jīng)網(wǎng)絡(luò)中的不足,本文利用PSO的優(yōu)點優(yōu)化BP神經(jīng)網(wǎng)絡(luò)參數(shù),且利用PSO的收斂性使所求問題能夠以較大概率收斂到全局最優(yōu)解或次優(yōu)解,很好地解決BP網(wǎng)絡(luò)存在的局部收斂性問題,提高BP網(wǎng)絡(luò)分級準(zhǔn)確度。
2.2? PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法
直接用BP網(wǎng)絡(luò)設(shè)計蘋果分級器,分級速度慢,準(zhǔn)確度低,因此本文引入PSO優(yōu)化BP網(wǎng)絡(luò)參數(shù),避免BP網(wǎng)絡(luò)訓(xùn)練時陷入局部最小問題,并提高BP網(wǎng)絡(luò)訓(xùn)練速度,從而提高分級速度和準(zhǔn)確度。
在PSO優(yōu)化BP網(wǎng)絡(luò)算法中,用表示一組參數(shù)值向量,該向量中的每一維表示權(quán)值和閾值,d為BP網(wǎng)絡(luò)中每一維的權(quán)值和閾值個數(shù),BP神經(jīng)網(wǎng)絡(luò)中的所有權(quán)值和閾值個數(shù)是74個,其中權(quán)值個數(shù)為63個,閾值個數(shù)為11個。粒子的適應(yīng)值計算如公式(7)[8]:
式中,m是訓(xùn)練樣本,值為100;n是BP網(wǎng)絡(luò)輸出層個數(shù),值為4;Yij為數(shù)組(0,1,2,3),其中數(shù)組中0、1、2和3分別表示優(yōu)等、一等、二等和等外4個等級,即理想輸出值;通過訓(xùn)練優(yōu)化后的BP網(wǎng)絡(luò)得到實際輸出值即yij,值為(1.6247e-021,1,2,3)。通過公式(7)計算出粒子適應(yīng)值進(jìn)行迭代,直到全局搜索完成。在PSO算法實現(xiàn)過程中,根據(jù)評價網(wǎng)絡(luò)性能標(biāo)準(zhǔn)不斷提高BP網(wǎng)絡(luò)性能,評價網(wǎng)絡(luò)性能公式為(8):
式中iter是算法當(dāng)前迭代次數(shù),是第i次粒子迭代全局最優(yōu)值的適應(yīng)度。其算法流程如圖4所示。
?
其中l(wèi)、q、k是設(shè)定BP網(wǎng)絡(luò)輸入層、隱含層、輸出層的個數(shù),其值如圖5所示。
????????????????
3? 仿真結(jié)果
訓(xùn)練優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)作為分級器,實現(xiàn)蘋果顏色的分級。BP網(wǎng)絡(luò)輸入層是蘋果顏色特征參數(shù)的色相頻度,共l個節(jié)點,值為5,分別對應(yīng)5個色相頻度域,即0~0.02、0.02~0.04、0.04~0.06、0.06~0.08和0.08~0.1。確定隱含層節(jié)點數(shù)只能憑經(jīng)驗估計,在100個訓(xùn)練樣本下,隱含層節(jié)點數(shù)取為7,即q值為7;輸出層為k個節(jié)點,值為4,分別對應(yīng)4個分類等級。隱含層傳遞函數(shù)為正切S型函數(shù),輸出層傳遞函數(shù)是線性函數(shù),訓(xùn)練好優(yōu)化后的BP網(wǎng)絡(luò)結(jié)構(gòu)為圖5中的5-7-4型,對應(yīng)的訓(xùn)練誤差曲線圖如圖6所示。???
從圖6可知BP網(wǎng)絡(luò)訓(xùn)練誤差是2.428 6e-031,在PSO優(yōu)化BP網(wǎng)絡(luò)算法誤差范圍(0.009~0.056)之間,則可用該訓(xùn)練好的BP網(wǎng)絡(luò)分級器進(jìn)行蘋果顏色分級。選取各等級紅富士蘋果各10個,共40個蘋果,采集蘋果圖像作為樣本,仿真結(jié)果如表1所示。表中BP算法誤差是直接使用BP網(wǎng)絡(luò)實現(xiàn)分級存在的誤差,而PSO優(yōu)化BP網(wǎng)絡(luò)算法誤差表示用優(yōu)化后的BP網(wǎng)絡(luò)進(jìn)行分級存在的誤差。
?
?
提取蘋果顏色特征信息,利用PSO的全局搜索、計算復(fù)雜度低、減少實驗次數(shù)的能力優(yōu)化BP網(wǎng)絡(luò)的參數(shù),避免了BP算法陷入局部最小值。然后用訓(xùn)練優(yōu)化后的BP網(wǎng)絡(luò)作為分級器,實現(xiàn)蘋果顏色分級。實驗結(jié)果表明該算法分級準(zhǔn)確率不低于96%,識別一個蘋果的平均時間為0.1 ms~0.2 ms之間,滿足實時分級的要求。
參考文獻(xiàn)
[1] ?TAO Y, HEINEMANN P H, ZETAL V. Machine vision for color inspection of potatoes and apples [J]. Transaction of the ASAE, 1995, 38(5): 1554-1561.
[2] ? NAKANO K. Application of BP neural networks to the color grading of apples [J]. Computer Electron.Agric, 1996, 17: 103-115.
[3]? 李慶中,張漫,汪懋華. 基于遺傳神經(jīng)網(wǎng)絡(luò)的蘋果顏色實時分級方法[J]. 中國圖形圖像學(xué)報, 2000, 5 (9): 779-783.
[4] ?袁金麗,郭志濤,武睿,等. 基于支持向量基的蘋果顏色分級[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息, 2007(7): 78-81.
[5]? GONZALEZ R C, WOODS R E. Digital image processing second edition [M]. Publishing house of electronics Industry, 2008.
[6] ?楊維, 李歧強(qiáng). 粒子群優(yōu)化算法綜述[J]. 中國工程科學(xué), 2004(5): 87-94.
[7] ?鐘珞, 饒文碧, 鄒承明. 人工神經(jīng)網(wǎng)絡(luò)原理及其融合應(yīng)用技術(shù)[M]. 北京:科學(xué)出版社, 2007.
[8] ?潘昊, 侯清蘭. 基于粒子群優(yōu)化算法的BP網(wǎng)絡(luò)學(xué)習(xí)[J]. 計算機(jī)工程與應(yīng)用,2006(16): 41-43.
[9] ?魏海坤. 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的理論與方法[M]. 北京:國防工業(yè)出版社, 2005.