張志強,張太紅,2,刁 琦,董 巒,3
(1.新疆農業大學 計算機與信息工程學院,新疆 烏魯木齊830052;2.中國農業大學 信息與電氣工程學院,北京100083;3.河海大學 計算機與信息工程學院,江蘇 南京210098)
一種改進GA神經網絡棉花雜質檢測算法
張志強1,張太紅1,2,刁 琦1,董 巒1,3
(1.新疆農業大學 計算機與信息工程學院,新疆 烏魯木齊830052;2.中國農業大學 信息與電氣工程學院,北京100083;3.河海大學 計算機與信息工程學院,江蘇 南京210098)
棉花雜質檢測是棉花加工產業的關鍵步驟,直接影響棉花的質量及價格。為了有效地把雜質從棉花中脫離出來,我們通過在YCbCr顏色空間下,基于雜質與棉花的色調信息差,提取二者的樣本,采用BP神經網絡進行訓練并輸出它的誤差,得到適應度函數并進行遺傳算法的選擇、交叉及變異操作,優化神經網絡權值、閾值,直至輸出誤差達到要求或達到預設迭代次數。最后我們根據所獲得的BP神經網絡權值、閾值進行棉花圖像分割。在這個基礎上,對遺傳算法的選擇算子、交叉算子和變異算子進行改進。分別對暗光、常光、強光3種情況下的進行雜質脫離,實驗表明,本方法可實現準確分割,檢測率達到92.3%。
YCbCr;遺傳算法;雜質檢測;圖像分割
無論是人工還是用機器采摘棉花,都會混入雜質。有效剔除棉花雜質是有效提高棉紡行業質量的關鍵。近年,工業領域將機器視覺系統,光電感應系統和超聲波檢測系統應用在棉花雜質檢測領域[1]。以圖像處理和模式識別為基礎的機器視覺系統,具有獲取信息快速準確,特征提取和處理方法成熟的優點,可以有效地結合模式分類方法。和其他方法相比,成本,精度和速度等因素,機器視覺系統更加適合棉花雜質檢測。
迄今為止,棉花雜質檢測的研究主要有:在HIS和Lab顏色模型下,田昊利用中值濾波,對圖像進行自適應閾值分割,可以有效檢測出常見雜質[2];馮志新等人采用RGB模型對圖像的3個通道進行預處理,閾值分割和數學形態學處理,最后計算出含雜率[3];郭彩霞等人在RGB顏色空間下,創建BP網絡識別模型,可有效識別出原棉中的異性纖維[4];丁名曉等人提出Gabor濾波器的雜質檢測算法,有效消除由于光照條件造成的干擾,可精確檢測出棉花中常見的雜質[5];高偉等人在HIS顏色空間下實現棉花雜質高速實時的檢測方法,雜質識別率較高[6]。
遺傳算法[7]在圖像分割上的應用,使得圖像分割效果更加準確,收斂速度更加快捷。由于易陷入局部最優、迭代后期搜索速度較慢問題,學者提出了許多改進算法,如自適應遺傳算法[8],改進的精英遺傳算法[9],粒子群算法結合遺傳算法[10]等。 文中是基于YCbCr顏色空間,用BP神經網絡對棉花和雜質進行訓練,通過遺傳算法優化BP網絡的閾值進行圖像的分割,并改進了遺傳算法的選擇算子、交叉算子與變異算子,分別對弱光,常光及強光條件下圖像分割,可準確檢測棉花雜質,且收斂快。
1.1 顏色空間選擇
在RGB顏色空間中,R(紅)、G(綠)、B(藍)3個顏色分量之間的相關性比較高,對于同一種顏色屬性,在不同的光照條件下,R(紅)、G(綠)、B(藍)三者的值易發散,很難確定某種特定顏色閾值以及在顏色空間的分布情況。HSV顏色空間是可分離亮度分量,但是從RGB顏色空間轉換到HSV顏色空間計算量大,而且在亮度值和飽和度較低的情況下,使用HIS或HSV顏色空間計算的H分量不可靠。在YCbCr顏色空間中,Y代表亮度分量,Cb代表藍色色度分量,Cr代表紅色色度分量。由RGB顏色空間到YCbCr空間的轉換公式如式(1)所示:

由式(1)我們可以看出,YCbCr顏色空間與RGB顏色空間存在線性關系,色度分量與亮度分量相互獨立。在不同亮度下,YCbCr空間內亮度范圍的變化很大,而色度范圍的變化很小,以上兩點有利于光照變化圖像處理。
1.2 基于GA優化的BP算法
1.2.1 BP算法
BP算法是一種以梯度下降法為基礎的有監督學習算法,而且具有學習能力[11]。它的思想是:輸入學習樣本,并選定網絡權值和閾值初始值,然后通過反向傳播算法對網絡的權值、閾值以及誤差進行反復的調整修改,促使輸出向量逼近期望向量,當網絡輸出層的均方誤差小于指定誤差或達到訓練次數時結束訓練,并保存網絡的權值和誤差。輸出誤差與權值的關系如下式:

1.2.2 遺傳算法
遺傳算法是一種借鑒進化規律,模擬自然選擇,交叉和基因變異現象搜索最優解的方法。遺傳算法的過程如下:
1)根據問題規模計算個體所需編碼長度L,隨機產生N*L大小初始化種群P,并計算所有個體適應度值;
2)對種群P隨機選擇交叉個體,依據交叉概率pc在交叉點執行交叉操作,得到新種群P1;
3)對種群P1個體依據概率pm執行變異操作,得到新種群P2;
4)計算種群P1與P2中所有個體適應度,從P1與P2中參照適應度選出對應的最優個體作為下一代種群,然后重復以上步驟,直至滿足某種收斂。
1.2.3 遺傳優化的BP算法
BP算法易陷入局部極小值,而且收斂速度比較慢。但是,通過遺傳算法優化BP網絡的權值,一定程度上避免了局部極小值,有較好全局搜索能力,同時加快種群收斂速度,避免早熟現象。
采用遺傳算法優化BP神經網絡過程如下:
1)在暗光,常光以及弱光3種條件下拍攝棉花雜質圖片,分辨率為400*500,提取目標與背景的樣本數據,并建立BP神經網絡;
2)隨機產生一組大小為N的種群,種群中的個體代表神經網絡的初始權值,設定種群規模以及固定的交叉、變異概率;3)根據BP神經網絡計算網絡輸出誤差Σ(dk-ok)2,建立適應度函數f=1/(E+1),其中,dk、ok分別表示第k組數據的期望輸出和實際輸出;
4)根據選擇、交叉與變異算法對生成的種群進行篩選生成新一代種群,直至達到最大遺傳迭代次數或網絡誤差最?。?/p>
5)提取網絡誤差最小時或適應度函數輸出最大時對應的BP權值與閾值,并根據其進行棉花圖像分割。
2.1 改進的選擇算子
輪盤賭選擇方式是傳統遺傳算法經常使用的方法,這種選擇方式直觀簡單,深受歡迎。但存在一些不足:在遺傳進化初始階段,根據輪盤賭選擇方法,可能存在適應度較高的個體被選中的機會就大,從而選擇復制出相當數量子代,容易喪失種群的多樣性,同時很難搜索找出全局最優解;在遺傳進化的末了階段,種群中的所有個體差異不明顯,適應度比較接近,輪盤賭算法失效,無法辨別種群中個體優劣。
改進的選擇算子:對種群中的全部個體進行排序,保留適應度較高個體,去除適應度低個體。將全部個體分成四份,淘汰后1/4個體,拷貝前1/4個體兩份,保留中間2/4,選擇到下一代當中。
2.2 改進的交叉算子
交叉算子不但影響遺傳算法收斂性,同時也影響遺傳算法收斂速度。所以,合理有效的交叉因子可提高遺傳算法的性能。對交叉算子進行改進,有利于保護親代個體中的優良基因,有利于提高遺傳算法性能[12]。可通過父代之間的相似度判斷是否進行交換操作。
相似度:s=c/n,表示兩個父代個體間的相似度。其中,c表示兩個個體共同子串的長度,n代表種群中個體編碼長度。利用個體間的相似度判斷兩個個體是否進行交叉操作,首先給出一個交叉臨界值,作為比較。臨界值的公式如(5)所示:

其中,g表示種群此時進化的代數,G表示總的進化代數。當相似度大于或等于交叉臨界值時,不允許兩個父代進行交叉操作;當相似度小于臨界值時,允許兩個父代進行交叉操作。本文采用兩點交叉方法進行交叉互換。
2.3 改進的變異算子
在遺傳進化后期,固定的變異概率將導致遺傳進化過程喪失競爭性,以致降低進化的速度,減弱種群多樣性,容易造成局部收斂[13]。所以,變異概率應隨著遺傳進化過程進行自適應調整,可使得遺傳算法跳出局部收斂困境,改善和提高運行效率和魯棒性。為了較少種群中已形成的優秀模式的可能,同時盡可能多的生成較優秀的模式,文中提出的變異概率隨個體適應度作自適應變化的變異算子。自適應變異概率公式:

其中,Pm是即將變異個體的變異概率,Pm_max是最大變異概率,k是此時的進化代數,f是將要變異個體的適應度,fmax為種群中最大的適應度,favg為每一代種群適應度均值。此公式符合“優勝劣汰,適者生存”的進化規律。
3.1 樣本提取
根據目標與背景色差分類,將雜質當作目標,標記為第一類,其他作為第二類?;赮CbCr顏色空間,從10幅典型雜質圖片中對每類提取20個各種環境(弱光、常光以及強光)的像素值,如表1所示。

表1 YCbCr顏色空間下雜質圖像中各類的像素值
3.2 遺傳優化BP的雜質圖像分割
根據YCbCr空間的樣本像素,BP算法計算贗本的網絡輸出誤差,將誤差倒數作為適應度函數,用遺傳算法優化適應度函數,根據最大適應度函數值提取對應的網絡權值與閾值并對雜質圖像進行分割。

圖1 原始圖像(常光)

圖2 BP算法分割

圖3 YcbCr&GA算法分割

圖5 原始圖像(強光)

圖6 BP算法分割
3.3 實驗分析
采用YCbCr顏色空間與BP神經網絡[16-19]減少光照影響。BP算法收斂速度慢[14],分割后噪聲大,影響分割準確率。遺傳優化BP具有全局優化功能,分割效果比BP算法略好。和文獻[15]算法相比,本算法對遺傳算法的選擇、交叉于變異算子進行改進,分割效果有所改善。將分割后的圖像去噪,含雜率分別為:5.90%、3.26%、10.16%。

圖7 YcbCr&GA算法分割

圖8 本文算法分割

圖9 原始圖像(弱光)

圖10 BP算法分割

圖11 YcbCr&GA算法分割

圖12 本文算法分割
文中從選擇算子、交叉算子及變異算子3個方面改進,不但保全種群多樣性,而且保證遺傳算法收斂性。采用改進算法在3種不同條件下對雜質圖像進行分割,避免陷入局部極小值,具有優化全局能力。樣本合理情況下,可有效提高分割準確率。
[1]俊先,應義斌.皮棉中雜質檢測技術與檢出裝備的研究進展[J].農業機械學報,2008,39(7):107-113.
[2]田昊,王維新,畢新勝,等.基于圖像處理的機采棉雜質提取算法[J].江蘇農業科學,2014,42(1): 366-368.
[3]馮志新,安浩平,吳順麗.基于RGB模型棉花雜質檢測算法[J].計算機與現代化,2013,212(4):99-102.
[4]郭彩霞,袁建暢,金守峰.基于BP網絡的棉花中異性纖維的識別算法 [J].西安工程科技學院學報,2006,20(5):542-544.
[5]丁名曉,王云寬,黃為.基于Gabor濾波器的棉花雜質檢測算法 [J].中國圖像圖形學報,2011,16(4):586-592.
[6]高偉,王志衡,趙訓坡,等.基于HIS顏色空間的棉花雜質高速實時檢測方法 [J].自動化學報,2008,34(7):729-735.
[7]Tong D L,Mintram R.Genetic algorithm-neural network (GANN):A study ofneuralnetwork activation functions and depth of genetic algorithm search applied to feature selection[J].International Journal of Machine Learning and Cybernetics, 2010,1(1-4):75-87.
[8]CHEN Shizhe,LIU Guo-dong,Pu Xin,et al.A daptive genetic algorithm based on superiority inheritance [J].Journal of Harbin institute of technology,2007,39(7):1021-1024.
[9]MENG Wei,HAN Xue-dong,HONG Bing-rong. Bee evolutionary genetic algorithm [J].Journal of Electronics,2006,34(7):1294-1300.
[10]Moradi M H,Abedini M.A combination of genetic algorithm and particle swarm optimization for optimal DG location DG location and sizing in distribution systems [J].Interantional Journal of Electrical Power&Energy Systems,2012,34(1): 66-74.
[11]姚明海.改進的遺傳算法在優化BP神經網絡權值中的應用[J].計算機工程與應用,2013,49(24): 49-54.
[12]曹道友,程家興.基于改進的選擇算子和交叉算子的遺傳算法 [J].計算機技術與發展,2010,20(2):44-46.
[13]程敏,宋宇博,孫剛,等.改進的自適應遺傳算法及性能研究[J].計算機與數字工程,2014,42(3): 355-358.
[14]周守軍,潘繼紅,王慶峰,等.城市集中供熱系統一次網運行優化及算法[J].北京工業大學學報,2012(4):628-635.
[15]王星,賴惠成,任磊,等.基于YCbCr空間和GA神經網絡的棉花圖像分割算法[J].計算機工程與應用,2014,50(11):176-179.
[16]張荷芳,王成才,張立廣.BP神經網絡在熱處理控制系統中的應用 [J].西安工業大學學報,2015(11):898-902.
[17]曾泉,譚北海.基于SVM和BP神經網絡的車牌識別系統[J].電子科技,2016(1):98-101.
[18]薛皓天,楊晶東,談凱德.一種改進的BP神經網絡在手寫體識別上的應用[J].電子科技,2015(5):20-23.
[19]王晨輝,張曉亮,梁曉傳.云計算架構下基于BP神經網絡負載預測策略的研究[J].電力信息與通信技術,2016(11):46-50.
A cotton impurity detection algorithm based on improved genetic algorithm
ZHANG Zhi-qiang1,ZHANG Tai-hong1,2,DIAO Qi1,DONG Luan1,3
(1.CollegeofComputer&InformationEngineering,Xinjiang AgriculturalUniversity,Urumqi830052,China;2.College of Information and Electrical Engineering,China Agricultural University,Beijing 100083,China;3.Computer and Information Engineering College,Hohai University,Nanjing 210098,China)
Cotton impurity detection is the key step in the cotton processing industry,directly affect the quality of cotton and prices.For effectively will departure from the impurities from cotton,under the YCbCr color space,the impurities and cotton based on color information,the two samples,using the BP neural network for training and its error is output,fitness function and genetic algorithm in the selection,crossover and mutation operation,optimize the neural network weights and threshold,until met the requirement of the output error or to the expected number of iterations.According to the obtained by BP neural network weights and threshold image segmentation for cotton.On this basis,the genetic algorithm selection operator,crossover operator and mutation operator to improve.Respectively to the dim light,run,light impurities from three cases,the experiment shows that this method can realize precise segmentation,detection rate of 92.3%.
YCbCr;GA;impurity detection;image segmentation
TN02
:A
:1674-6236(2017)01-0022-05
2016-11-02稿件編號:201512248
新疆農業大學大學生創新項目(72013068)
張志強(1986—),男,河南項城人,碩士研究生。研究方向:數據庫技術。