摘 要: 針對多種水果混合的圖像,對各種水果的提取和識(shí)別進(jìn)行研究。利用Matlab軟件進(jìn)行圖像數(shù)據(jù)獲取、對比度增強(qiáng)、去噪、二值化處理;為彌補(bǔ)二值化后圖像中出現(xiàn)的斷邊、孔洞,借助Sobel算子進(jìn)行邊緣提取以接合斷邊,并基于數(shù)學(xué)形態(tài)學(xué)算子填充孔洞。再標(biāo)簽化處理圖像并提取水果的顏色、形狀、邊緣特征,用200幅水果圖像提取上述特征構(gòu)造訓(xùn)練樣本和測試樣本,然后利用構(gòu)造的樣本對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測試。實(shí)驗(yàn)結(jié)果表明,所提出的方法能夠獲得很高的正確識(shí)別率,能夠有效地將同一幅圖像中的不同水果識(shí)別出來。
關(guān)鍵詞: BP神經(jīng)網(wǎng)絡(luò);水果識(shí)別;二值化;標(biāo)簽化;MATLAB
我國一直是水果、蔬菜生產(chǎn)大國,水果分揀基本上仍由人工完成,雖然成本低廉,但勞動(dòng)力大、生產(chǎn)效率低,產(chǎn)后商品化處理技術(shù)和設(shè)備落后,用肉眼評判水果的好壞,分級標(biāo)準(zhǔn)不一和分級精度不穩(wěn)定,導(dǎo)致產(chǎn)品缺乏市場競爭力,出口數(shù)量少、價(jià)格低[1]。因此找到一種高效的機(jī)械分揀方法非常必要,在我國具有十分重要的經(jīng)濟(jì)價(jià)值和廣闊的應(yīng)用前景。
計(jì)算機(jī)圖像處理及識(shí)別是計(jì)算機(jī)應(yīng)用技術(shù)的一個(gè)重要方面,在電子工業(yè)、人工智能、工業(yè)自動(dòng)化、生物醫(yī)療工程、衛(wèi)星遙感等眾多領(lǐng)域中占有極其重要的地位[2]。近年來,計(jì)算機(jī)圖像處理及識(shí)別的研究在我國受到了廣泛的重視,取得了卓有成效的進(jìn)展,逐步邁向?qū)嵱秒A段。 圖像識(shí)別主要是研究用計(jì)算機(jī)代替人自動(dòng)地去處理大量的物理信息,解決人類生理器官所不能識(shí)別的問題,或是直接幫助人識(shí)別信息從而簡化勞動(dòng)[3]。機(jī)械分揀短時(shí)、高效的特點(diǎn)符合果蔬產(chǎn)品的時(shí)間特性,能及時(shí)地分揀出高質(zhì)量的水果。水果經(jīng)識(shí)別后,可通過機(jī)械自動(dòng)化控制,對水果信息按目的地分類。因此,采用圖像識(shí)別技術(shù)對水果按要求分類,運(yùn)用自動(dòng)化機(jī)械分揀技術(shù)[4],在實(shí)際的生產(chǎn)過程中能減少大量的人力資源,具有短時(shí)、高效、方便的特點(diǎn)。
本文針對多種水果混合的圖像,利用Matlab軟件,對水果的識(shí)別進(jìn)行研究。根據(jù)水果與背景灰度值的差別選取閾值,對去噪、增強(qiáng)對比度后的圖像進(jìn)行二值化處理。分割出目標(biāo)后,由于原始圖像中灰度分布不均勻和光照等的影響,可能同一類水果中會(huì)出現(xiàn)空洞或個(gè)別邊緣處出現(xiàn)斷裂情況等,因此要對圖像進(jìn)行邊緣檢測。然后標(biāo)簽化處理圖像,區(qū)分水果,再提取不同水果的顏色、形狀、邊界不規(guī)則等特征,用多幅圖像訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),建立水果特征庫,利于快速識(shí)別水果,從而實(shí)現(xiàn)對水果的正確分揀。
1 水果圖像的增強(qiáng)和分割
在計(jì)算機(jī)上,圖像由像素逐點(diǎn)描述,每個(gè)像素點(diǎn)具有一個(gè)明確的位置和色彩數(shù)值。用Matlab軟件讀取圖像,以矩陣的形式存放圖像數(shù)據(jù),其掃描規(guī)則是從左向右,從上到下。為處理方便,把原始的彩色圖像轉(zhuǎn)換為灰度圖像,如圖1(a)所示。
采用中值濾波法對灰度圖像進(jìn)行去噪處理。中值濾波是抑制噪聲的非線性處理方法,本文用中值濾波法處理3×3像素的局域圖像,把9個(gè)灰度值按從小到大的順序排序后,以第5個(gè)(即中央)序號(hào)的灰度值作為目標(biāo)像素的灰度值。中值濾波對于濾除圖像中的椒鹽噪聲非常有效[5],去噪后的圖像如圖1(b)所示。
為了得到更清晰的圖像,再對圖像進(jìn)行銳化處理,采用反銳化掩模的方法。反銳化掩模法是一種常用的圖像銳化方法,其算法表達(dá)式為:
式中,f(x,y)為處理前的圖像;f′(x,y)為用人為方法將f(x,y)模糊以后得到的圖像;g(x,y)為銳化處理后的圖像;c(c>1)為比例常數(shù),根據(jù)具體情況選定。反銳化掩模法有效地提高了高頻成分,使模糊呆板的圖像變得具有清晰感和生動(dòng)感[6],圖1(c)是銳化后的結(jié)果。
經(jīng)過去噪和對比度增強(qiáng),就可以對圖像目標(biāo)進(jìn)行提取分割。圖像閾值分割是最常用的圖像分割技術(shù),主要利用了圖像中背景與對象之間的灰度差異[6]。只要閾值選取合適,將每個(gè)像素與之比較,進(jìn)行二值化處理,就可以很好地將對象從背景中分離出來。取閾值為0.34,圖2(a)是二值化后的結(jié)果。從圖2(a)中可以發(fā)現(xiàn)水果中有很多空洞,且水果的邊緣處有斷裂現(xiàn)象,所以采用邊緣提取以彌補(bǔ)斷裂的邊緣部分,然后基于數(shù)學(xué)形態(tài)學(xué)算子對圖像進(jìn)行去除斷邊、圖像填充等必要的后續(xù)處理。
利用Sobel算子[7]進(jìn)行邊緣檢測。Sobel算子是一種簡單常用的微分算子,它不僅能檢測邊緣點(diǎn),而且能進(jìn)一步抑制噪聲的影響。Sobel算子對數(shù)字圖像f(x,y)的每個(gè)像素考查其相鄰點(diǎn)像素灰度的加權(quán)差[8],即
利用Sobel算子進(jìn)行邊緣檢測的結(jié)果如圖2(b)所示,水果的邊緣清晰地顯示出來。再利用OR運(yùn)算結(jié)合模糊分割和邊緣信息[9],去除斷邊如圖2(c)所示;利用數(shù)學(xué)形態(tài)學(xué)[10,11]重新填充一下圖像中的洞,最終處理后的圖像符合本文的要求,其效果如圖2(d)所示。
2 水果的特征提取
經(jīng)過圖像分割后,水果和背景很明顯地被區(qū)分開來,然后需要對每種水果的特征進(jìn)行提取。先對圖像進(jìn)行標(biāo)簽化,所謂圖像的標(biāo)簽化是指對圖像中互相連通的所有像素賦予同樣的標(biāo)號(hào),而對于不同的連接成分則給予不同的標(biāo)號(hào)。經(jīng)過標(biāo)簽化處理就能把各個(gè)連接成分進(jìn)行分離,從而可以研究它們的特征。
區(qū)域分割(標(biāo)簽化)最基本的方法是區(qū)域擴(kuò)張法。本文采用8鄰域法,由于是二值圖像,因此差值可以定義為“0”。為了能夠看到明顯的效果,程序以不同的顏色來突出顯示標(biāo)簽化后的圖像,其效果分別如圖3(a)和圖3(b)所示。
本文根據(jù)水果在圖像中表現(xiàn)出來的特點(diǎn),從面積、周長、弧度、顏色四個(gè)方面對圖像中的桔子、蘋果、香蕉進(jìn)行特征提取,最后采用BP神經(jīng)網(wǎng)絡(luò)對目標(biāo)進(jìn)行分類識(shí)別。
2.1 面積特征
經(jīng)過標(biāo)簽化的不同區(qū)域像素值分別為1、2、3。所以用物體所包含的像素?cái)?shù)量來計(jì)算面積,S1對應(yīng)像素值為1的區(qū)域,當(dāng)從左到右,從上到下地對圖像進(jìn)行掃描時(shí),發(fā)現(xiàn)像素值為1的,則計(jì)數(shù)器S1就加1, 整幅圖像掃描完畢,即得區(qū)域1的面積。類似地,可以求出S2和S3,只是對應(yīng)的S(n)需要除以n。
2.2 周長特征
計(jì)算周長只要計(jì)算出物體輪廓線上的像素?cái)?shù),但在斜方向上會(huì)產(chǎn)生數(shù)字化圖形特有的誤差,故應(yīng)以其2倍的數(shù)量加以補(bǔ)正。當(dāng)從左到右、從上到下地掃描圖像時(shí),發(fā)現(xiàn)像素值為1的,且它的相鄰像素值(8領(lǐng)域)有與它不同的,計(jì)數(shù)器L1加1,整幅圖像掃描完畢,即得區(qū)域1的周長。類似可以求出L2和L3。
2.3 弧度特征
弧度是在面積、周長的基礎(chǔ)上,測量物體形狀的復(fù)雜程度的特征量。有弧度計(jì)算公式:弧度=4π(面積)/(周長)2。通過對三種弧度的比較,可以將圖中三種水果弧度最小的香蕉識(shí)別出來。
2.4 顏色特征
本文采用顏色直方圖法提取水果圖像顏色特征。所謂顏色直方圖是顏色信息的函數(shù),它表示圖像中具有同顏色級別的像素的個(gè)數(shù),其橫坐標(biāo)是顏色級別(各個(gè)像素的灰度級),縱坐標(biāo)是該顏色出現(xiàn)的頻率(像素的個(gè)數(shù))。
圖像的顏色有多種表示方式,本文采用RGB顏色模式。對于彩色圖像,可分解為R、G、B三幅單色圖像,因此相應(yīng)的便有三幅不同通道的直方圖,每幅直方圖中的像素分布情況都代表了這一通道中的特定顏色的程度信息。從肉眼即可分辨出蘋果的紅色含量要比桔子和香蕉豐富得多,所以蘋果紅顏色的信息量在紅、綠、藍(lán)三種顏色中所占的比例也應(yīng)該是三者中最高的,即N紅:N綠:N黃的值也是最大的。所以,本文采用N紅/(N綠+N黃)的算法來比較三種水果各自紅色信息所占比例,從而將蘋果特有的特征量提取出來,達(dá)到識(shí)別蘋果的目的。
經(jīng)Matlab軟件編程測試得圖像中三種水果的特征參數(shù)如表1所示。
由表1可以看出:
(1)香蕉是周長最長、弧度最小的水果;
(2)在三種水果中,蘋果的R 通道直方圖中固定區(qū)域(100~170像素)中像素?cái)?shù)量與其G通道和B通道直方圖中固定區(qū)域中像素?cái)?shù)量和的比值為三者中最大的,即蘋果的紅色信息量(ratio_x)是最多的。利用這種計(jì)算像素比值的方法便可以將蘋果與其他兩種紅色信息量相對較少的水果區(qū)分出來。
3 基于BP神經(jīng)網(wǎng)絡(luò)的識(shí)別
3.1 BP神經(jīng)網(wǎng)絡(luò)簡介
神經(jīng)網(wǎng)絡(luò)是由簡單結(jié)構(gòu)和規(guī)則復(fù)合而成的高級復(fù)雜的非線性系統(tǒng),它在不同程度和層次上模擬人腦神經(jīng)系統(tǒng)的信息處理、存儲(chǔ)及檢索功能,具有并行結(jié)構(gòu)和并行處理、自適應(yīng)性、知識(shí)的分布存儲(chǔ)、較強(qiáng)的容錯(cuò)性、本質(zhì)的非線性系統(tǒng)等特性[12]。通過網(wǎng)絡(luò)訓(xùn)練,可以建立數(shù)據(jù)庫信息的非線性模型,并從中提取出相應(yīng)的規(guī)則,能夠?qū)崿F(xiàn)目前基于計(jì)算機(jī)理論層次上的模式識(shí)別理論無法完成的模式信息處理工作?;谏窠?jīng)網(wǎng)絡(luò)的模式識(shí)別法相對于其他方法來說,其優(yōu)勢在于: (1)它要求對問題的了解較少;(2)它可以實(shí)現(xiàn)特征空間較復(fù)雜的劃分;(3)它宜用高速并行處理系統(tǒng)實(shí)現(xiàn)[5]。
BP神經(jīng)網(wǎng)絡(luò)是目前應(yīng)用最為廣泛的一種神經(jīng)網(wǎng)絡(luò)模型,它采用多層前向網(wǎng)絡(luò)的反向傳播算法,具有逼近任意連續(xù)函數(shù)和非線性映射的能力[12],大量應(yīng)用在函數(shù)逼近、模式識(shí)別、故障診斷、智能控制、信號(hào)處理等領(lǐng)域。
BP神經(jīng)網(wǎng)絡(luò)的實(shí)質(zhì)是把一組樣本輸入、輸出問題轉(zhuǎn)化為一個(gè)非線性優(yōu)化問題,并通過梯度算法進(jìn)行迭代運(yùn)算求解權(quán)值問題。在BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)確定后,就可利用輸入輸出樣本對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,即對網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行學(xué)習(xí)和調(diào)整,使網(wǎng)絡(luò)實(shí)現(xiàn)給定的輸入輸出映射關(guān)系。其訓(xùn)練模型如圖4所示。
3.2 基于BP神經(jīng)網(wǎng)絡(luò)的水果識(shí)別
多層BP網(wǎng)絡(luò)不僅有輸入、輸出節(jié)點(diǎn),而且還有一層或多層隱含節(jié)點(diǎn)。本系統(tǒng)采用三層BP神經(jīng)網(wǎng)絡(luò),即網(wǎng)絡(luò)由輸入層、隱含層和輸出層組成[13-15]。對于水果圖例中的桔子、蘋果、香蕉三種水果,本系統(tǒng)需要訓(xùn)練網(wǎng)絡(luò)通過識(shí)別弧度、顏色兩個(gè)特征量來區(qū)分這三種水果,所以共需要2個(gè)輸入端,3個(gè)輸出端。輸出端分別對應(yīng)[1 0 0]、[0 1 0]、[0 0 1][16]。
隱含層節(jié)點(diǎn)數(shù)目的選擇是一個(gè)十分復(fù)雜的問題,到目前為止,還沒有用數(shù)學(xué)公式來明確表示應(yīng)該怎樣確定隱含層的節(jié)點(diǎn)數(shù)目。事實(shí)上,節(jié)點(diǎn)數(shù)太少,可能訓(xùn)練不出來,或者訓(xùn)練出的網(wǎng)絡(luò)不強(qiáng)壯,不能識(shí)別以前沒有看到過的樣本,容錯(cuò)性較差;但隱含層節(jié)點(diǎn)太多又會(huì)使學(xué)習(xí)訓(xùn)練時(shí)間太長,誤差也不一定最佳[17]。參照經(jīng)驗(yàn)公式和實(shí)驗(yàn)測試效果,這里選擇有19個(gè)隱含層節(jié)點(diǎn)的網(wǎng)絡(luò)。
綜上所述,本文所建立的網(wǎng)絡(luò)是一個(gè)具有2個(gè)輸入端、19個(gè)隱含節(jié)點(diǎn)、3個(gè)輸出節(jié)點(diǎn)的三層BP神經(jīng)網(wǎng)絡(luò)。其網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
對于BP網(wǎng)絡(luò)的實(shí)現(xiàn),本系統(tǒng)用到了網(wǎng)絡(luò)初始化指令init(net)、網(wǎng)絡(luò)創(chuàng)建指令newff(PR,[S1 S2…SN],{TF1 TF2…TFN},BTF,BLF,PF)、網(wǎng)絡(luò)仿真指令sim(net,p)、網(wǎng)絡(luò)訓(xùn)練指令train(net,p,t)、競爭轉(zhuǎn)換指令compet(y)。在隱含層確定后,運(yùn)用傳輸函數(shù)sigmoid,把一個(gè)取值范圍為無窮大的輸入變量壓縮到一個(gè)取值范圍有限的輸出變量中,方便得出輸出層的結(jié)果。
將多組圖片采集到的桔子、香蕉和蘋果各自的弧度及顏色數(shù)據(jù)分別作為訓(xùn)練樣本和測試樣本,設(shè)定目標(biāo)輸出分別為1、2、3(1表示桔子,2表示香蕉,3表示蘋果)。本實(shí)驗(yàn)中用200幅水果圖像提取水果特征構(gòu)造訓(xùn)練樣本和測試樣本,訓(xùn)練樣本150個(gè),測試樣本50個(gè)。經(jīng)過對BP網(wǎng)絡(luò)的初始化、訓(xùn)練、仿真、競爭、轉(zhuǎn)換等操作,最終實(shí)現(xiàn)其對特征數(shù)據(jù)的正確識(shí)別,從而達(dá)到能夠自動(dòng)識(shí)別水果的目的。
4 實(shí)驗(yàn)結(jié)果分析
BP網(wǎng)絡(luò)的訓(xùn)練性能曲線如圖6所示,上面的曲線是訓(xùn)練性能曲線,下面曲線是目標(biāo)性能曲線,訓(xùn)練的目標(biāo)是達(dá)到0.001,性能為0.000 903 996。
經(jīng)150個(gè)包含桔子、蘋果、香蕉三種水果的圖像訓(xùn)練樣本訓(xùn)練使BP神經(jīng)網(wǎng)絡(luò)的識(shí)別正確率達(dá)100%,且從圖6中可以看出BP神經(jīng)網(wǎng)絡(luò)收斂,說明訓(xùn)練成功,將此網(wǎng)絡(luò)保存,用來進(jìn)行樣本測試。
對50個(gè)測試樣本經(jīng)BP神經(jīng)網(wǎng)絡(luò)驗(yàn)證,香蕉的識(shí)別正確率達(dá)100%,桔子和蘋果的識(shí)別正確率是98%,進(jìn)一步證明了特征提取和BP神經(jīng)網(wǎng)絡(luò)識(shí)別水果的有效性, BP網(wǎng)絡(luò)已經(jīng)能夠正確識(shí)別桔子、蘋果、香蕉三種水果各自的特征量并將其準(zhǔn)確地區(qū)分出來(1表示桔子,2表示香蕉,3表示蘋果)。表2所示為水果識(shí)別率統(tǒng)計(jì)表,可見水果數(shù)據(jù)庫建立成功,BP網(wǎng)絡(luò)的訓(xùn)練也達(dá)到了比較準(zhǔn)確的程度,基本上達(dá)到了水果識(shí)別的目的。
訓(xùn)練時(shí)BP神經(jīng)網(wǎng)絡(luò)識(shí)別正確率能達(dá)到100%,但用測試樣本對BP神經(jīng)網(wǎng)絡(luò)測試時(shí),桔子和蘋果的正確率無法達(dá)到100%,主要原因有:
(1)由于采集圖片時(shí)光線強(qiáng)弱不同,水果的陰影深淺不同,影響了對水果的輪廓識(shí)別;
(2)同種水果品質(zhì)不同使顏色有差異,帶紅色元素較多的桔子和帶黃色元素較多的蘋果放在一起時(shí)易造成誤判。
實(shí)驗(yàn)結(jié)果表明,基于BP神經(jīng)網(wǎng)絡(luò)的水果識(shí)別系統(tǒng)具有較強(qiáng)的適應(yīng)能力,識(shí)別效率高,是一種有效的檢測方法。利用水果自身的特征對水果圖像進(jìn)行分類識(shí)別是計(jì)算機(jī)視覺技術(shù)在農(nóng)業(yè)自動(dòng)化[18]應(yīng)用中的重要前提條件。近年來, 隨著計(jì)算機(jī)視覺技術(shù)的發(fā)展,圖像分類識(shí)別在各行各業(yè)的應(yīng)用愈加廣泛。通過圖像的外觀特征對圖像進(jìn)行分類識(shí)別, 是一種及時(shí)便捷、切實(shí)有效的方法。本系統(tǒng)對水果的識(shí)別正確率高,具有非常重要的經(jīng)濟(jì)和實(shí)用價(jià)值,其應(yīng)用前景十分廣闊。
參考文獻(xiàn)
[1] 曾江輝. 關(guān)于我國水果的國際競爭力分析[C]. 中國論文聯(lián)壇,2010.
[2] 寧天夫. 數(shù)字圖像處理技術(shù)的應(yīng)用與發(fā)展[J]. 艦船電子工程,2009,29(1):38-41.
[3] 向光蓉. 基于圖像識(shí)別的蘋果分級研究[D].大連海事大學(xué)學(xué)報(bào),2003,29(3):14-41.
[4] 黃啟明.自動(dòng)分揀系統(tǒng)及其應(yīng)用前景分析[J]. 物流技術(shù), 2002,21(5):7.
[5] 賈永紅. 數(shù)字圖像處理[M]. 武漢:武漢大學(xué)出版社,2003.
[6] 白菲. 基于機(jī)器視覺的柑橘水果外形識(shí)別方法研究[C]. 信息與電氣工程學(xué)院,2005(11):16-31.
[7] 袁春蘭,熊宗龍,周雪花. 基于Sobel算子的圖像邊緣檢測研究[J]. 激光與紅外,2009,1(39):85-87.
[8] 黃愛民,安向京,駱力. 數(shù)字圖像處理與分析基礎(chǔ)[M]. 北京:中國水利水電出版社,2005.
[9] 孫涵璇,謝鳳英,姜志國,等.基于BP神經(jīng)網(wǎng)絡(luò)的結(jié)核桿菌目標(biāo)識(shí)別[J]. 中國體視學(xué)與圖像分析,2010, 15(1):13-17.
[10] 王娟,周金芝. 基于Matlab的形態(tài)學(xué)圖像處理研究[J]. 現(xiàn)代交際, 2010(4):135-136.
[11] 喬忠慧,古樂野,張超. 基于數(shù)學(xué)形態(tài)學(xué)的彩色圖像邊緣提取[J]. 微計(jì)算機(jī)信息,2009, 25(11-1):131-137.
[12] 張海波,董槐林,龍飛,等. 基于 BP神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別研究[J]. 計(jì)算機(jī)與現(xiàn)代化,2008(5):17-19.
[13] 董長虹. Matlab 神經(jīng)網(wǎng)絡(luò)與應(yīng)用[M].北京:國防工業(yè)出版社,2007.
[14] 周開利,康耀紅. 神經(jīng)網(wǎng)絡(luò)模型及其Matlab仿真程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2005.
[15] 聞新,周露,李翔,等. MATLAB神經(jīng)網(wǎng)絡(luò)仿真及應(yīng)用[M]. 北京:科學(xué)出版社,2003.
[16] 唐曉東,徐東平. 基于Matlab神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別[J].計(jì)算機(jī)與數(shù)字工程,2007(8):93-94.
[17] 樊亞軍,曲仕茹. 利用BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)三維飛機(jī)目標(biāo)識(shí)別[J]. 鄭州大學(xué)學(xué)報(bào),2004,25(4):56-59.
[18] 李崢. 基于計(jì)算機(jī)視覺的蔬菜顏色檢測系統(tǒng)研究[D].長春:吉林大學(xué),2004(6):6-11.