羅志翔 胡蓉 趙全友 鄧雄昌



摘要:近些年,計(jì)算機(jī)視覺發(fā)展迅速,在水果識(shí)別方向進(jìn)行了廣泛的應(yīng)用和研究。本文設(shè)計(jì)基于BP神經(jīng)網(wǎng)絡(luò)的水果識(shí)別系統(tǒng),選取生活中常見的三種水果:蘋果、橘子、香蕉作為對(duì)象。首先,通過網(wǎng)絡(luò)資源等搜集水果圖像建立樣本庫(kù);然后通過MATLAB對(duì)圖像進(jìn)行預(yù)處理,為后續(xù)的特征提取做好準(zhǔn)備。水果特征的提取選擇紋理、形狀、顏色三種特征進(jìn)行提取;同時(shí)在每種特征中選用不同的特征值作為特征向量。通過提取三種特征后輸入到BP神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練、識(shí)別。經(jīng)測(cè)試,識(shí)別的成功率可以達(dá)到93.18%,證明了可行性以及未來的可實(shí)用性。
關(guān)鍵詞: 水果識(shí)別;MATLAB;特征提取;BP神經(jīng)網(wǎng)絡(luò)
中圖分類號(hào): TP391? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)04-0187-03
Abstract: Computer vision has developed rapidly in recent years, and has been widely used and researched in the direction of fruit recognition. This paper designs a fruit recognition system based on BP neural network. Choose three common fruits in life: apples, oranges, and bananas as objects. First, collect fruit images through network resources to establish a sample library. Then the image is preprocessed by MATLAB software to prepare for subsequent feature extraction. For the extraction of fruit features, three features of texture, shape, and color are selected for extraction; at the same time, different feature values are selected as feature vectors in each feature. After three kinds of features are extracted, they are input into BP neural network for training and recognition. After the recognition test, the recognition success rate can reach 93.18%, which proves the feasibility and practicality in the future.
Key words: fruit recognition; MATLAB; feature extraction; BP neural network
我國(guó)地域廣闊、水果資源豐富,隨著科技發(fā)展和社會(huì)需求的加大,水果的種植規(guī)模也在不斷增大;同時(shí)也出現(xiàn)了復(fù)合型果園。在復(fù)合型果園場(chǎng)景中,借助水果識(shí)別系統(tǒng)配合機(jī)械化設(shè)備可以完成自動(dòng)采摘、分揀等操作;盡管人工同樣能實(shí)現(xiàn)相同的操作,但是效率不高、需要的勞動(dòng)力也較大。而且,隨著勞動(dòng)力結(jié)構(gòu)的轉(zhuǎn)變,從事農(nóng)業(yè)的勞動(dòng)力也在不斷減少。所以將其應(yīng)用到生產(chǎn)當(dāng)中可以代替大量的勞動(dòng)力,可以達(dá)到高效、方便的特點(diǎn)[1]。
在當(dāng)前,國(guó)內(nèi)外對(duì)水果識(shí)別以及神經(jīng)算法的研究已經(jīng)取得了不錯(cuò)的成績(jī);在實(shí)際應(yīng)用中也是不斷地得到完善和提高。基于社會(huì)的發(fā)展和科技水平的不斷提升,人民的需求也在不斷變化,從而讓物體識(shí)別技術(shù)也在不斷發(fā)生改變。在5G熱潮的推動(dòng)下,應(yīng)用于各種場(chǎng)景的水果識(shí)別的技術(shù)一定會(huì)具有更高的精度、應(yīng)用場(chǎng)景更加的普及。
1 圖像識(shí)別基本理論
數(shù)字圖像識(shí)別主要是在計(jì)算機(jī)視覺的基礎(chǔ)上,通過收集圖像的輪廓、特征、色彩、紋理等信息來進(jìn)行識(shí)別。一般的圖像識(shí)別流程如圖1所示。
其中,預(yù)處理主要是灰度化、二值化、濾波等操作,目的是減少計(jì)算量,突出圖像中目標(biāo)區(qū)域的信息。圖像分割則是將圖像中的背景與目標(biāo)區(qū)域分割開,使目標(biāo)區(qū)域更好的顯示出來。特征提取步驟常用的特征值有:紋理特征、顏色特征、形狀特征等;之后將特征值輸入到識(shí)別器中進(jìn)行訓(xùn)練識(shí)別。選擇數(shù)字圖像作為處理對(duì)象,是因?yàn)橄鄬?duì)于模擬圖像,數(shù)字圖像具有存儲(chǔ),傳輸方便可壓縮、傳輸過程中不易失真、處理方便等巨大優(yōu)勢(shì),這些都為圖像識(shí)別技術(shù)的發(fā)展提供了強(qiáng)大的動(dòng)力以及良好的基礎(chǔ)[2]。
2 水果識(shí)別器的設(shè)計(jì)
本次水果識(shí)別的設(shè)計(jì)主要分為六大步驟,具體的流程圖如圖2所示:
2.1 樣本庫(kù)的建立
本次課題設(shè)計(jì)以蘋果、香蕉、橘子的數(shù)字圖像作為對(duì)象進(jìn)行研究。但是研究的初始階段因?yàn)槿鄙賵D像樣本庫(kù),所以需要自建樣本庫(kù)來實(shí)現(xiàn)目標(biāo)。
在CSDN、PUDN、百度圖片、互聯(lián)網(wǎng)搜索等方式來獲得不同環(huán)境下(光照、角度、背景)下的水果原始圖像,構(gòu)建水果圖像樣本庫(kù)共299張格式為JPEG的彩色圖像。
2.2 圖像的目標(biāo)分割
在讀取圖像并完成尺寸變化后,為減少計(jì)算量,灰度化是不可缺少的一項(xiàng)處理。圖像在進(jìn)行特征識(shí)別前,由于圖像在獲取時(shí)的角度、光線以及圖像背景等問題的存在,直接進(jìn)行特征提取往往效果不佳。所以要事先對(duì)圖像進(jìn)行目標(biāo)分割,將圖像與背景相分離,將水果區(qū)域凸顯出來,然后進(jìn)行圖像填充、標(biāo)記等方式將目標(biāo)與背景完全分割開。
2.3圖像特征提取
(1)顏色特征提取
數(shù)字圖像的顏色特征包括顏色直方圖 、顏色矩、顏色相關(guān)圖和顏色聚合向量等。本次采用的是顏色矩來進(jìn)行顏色特征的提取,在圖像中顏色的分布信息主要是集中在低階矩中,所以采用顏色的一階矩、二階矩、三階矩就足夠表達(dá)顏色的分布[3];相比于顏色直方圖優(yōu)點(diǎn)在于無須向量化,顏色矩一共是提取9個(gè)分量(RGB三個(gè)分量,每個(gè)分量三個(gè)低階矩),所以相對(duì)于其他的顏色特征來說更為簡(jiǎn)潔。
(2)紋理特征提取
紋理特征是一種反映圖像表面相同性質(zhì)的特征,它體現(xiàn)了物體的表面具有緩慢變化或者周期變化的結(jié)構(gòu)排列屬性[4]。紋理可以認(rèn)為是灰度分布在空間位置上的反復(fù)出現(xiàn)而形成的,在圖像中相隔距離的兩個(gè)像素之間會(huì)存在一定的灰度關(guān)系,也就是灰度相關(guān)性。所以本次采用灰度共生矩陣來進(jìn)行紋理特征的提取。
灰度共生矩陣就是一種通過灰度的空間相關(guān)性來描述紋理的常用方法。它是根據(jù)像素的距離和角度形成的矩陣函數(shù),通過計(jì)算圖像中距離和方向的兩點(diǎn)灰度之間的相關(guān)性,來反映圖像在方向、間隔等方面的綜合信息[5]。
(3)形狀特征提取
物體和區(qū)域的形狀是圖像表達(dá)和圖像檢索中的另一重要的特征。但不同于顏色或紋理等底層特征,形狀特征的表達(dá)必須以圖像中物體或區(qū)域的劃分為基礎(chǔ)。形狀特征的提取有:傅立葉形狀描述法、幾何參數(shù)法、形狀不變矩法。本次設(shè)計(jì)選用幾何參數(shù)法進(jìn)行形狀特征提取。
2.4水果分類器的建立
BP神經(jīng)網(wǎng)絡(luò)是一種按照誤差逆向傳播數(shù)據(jù)算法來訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò)。前饋神經(jīng)網(wǎng)絡(luò)的基本特點(diǎn)是,節(jié)點(diǎn)按照一定的層次排列,信號(hào)的傳輸只有單一的方向從上層節(jié)點(diǎn)傳輸?shù)较聦庸?jié)點(diǎn),網(wǎng)絡(luò)的連接部分是單向的。在網(wǎng)絡(luò)運(yùn)行中,可以將每一層網(wǎng)絡(luò)節(jié)點(diǎn)作為一次對(duì)特征值的轉(zhuǎn)換或者計(jì)算,變化的方式取決于節(jié)點(diǎn)傳遞函數(shù)。最后的結(jié)果則是由網(wǎng)絡(luò)的最后一層節(jié)點(diǎn)做出決策[6]。
BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)可以大致分為三層即輸入層、隱含層、輸出層。其中隱含層就是處于輸入層和輸出層中間的層,一個(gè)神經(jīng)網(wǎng)絡(luò)中可以有一個(gè)或者多個(gè)隱含層;有多少隱含層就稱為幾層前饋神經(jīng)網(wǎng)絡(luò)。并且,隱含層和輸出層都是具有激活函數(shù)的功能神經(jīng)元。BP神經(jīng)網(wǎng)絡(luò)被大量應(yīng)用在模式識(shí)別、故障檢測(cè)、智能控制、函數(shù)逼近等鄰域,是目前應(yīng)用最成功、最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。
本次課題選用BP神經(jīng)網(wǎng)絡(luò)作為水果分類器,相比于其他算法BP神經(jīng)網(wǎng)絡(luò)具有誤差反饋的優(yōu)勢(shì),在訓(xùn)練時(shí)會(huì)不斷地將出現(xiàn)的誤差返還,以此來調(diào)節(jié)網(wǎng)絡(luò)層之間的權(quán)值,以達(dá)到最佳識(shí)別效果。
3 仿真結(jié)果及分析
3.1 水果圖像的訓(xùn)練及識(shí)別
本次仿真都是在64 位WIN10操作系統(tǒng)下,采用MATLAB2019a軟件進(jìn)行仿真測(cè)試。樣本庫(kù)來自CSDN、PUDN、百度圖片等渠道,為JPEG格式的299張彩色圖像,共分為三種水果(蘋果、香蕉、橘子)。圖像均轉(zhuǎn)換為128×128大小的圖像,采用OSTU法進(jìn)行二值化處理后用Canny算子進(jìn)行邊緣檢測(cè),并對(duì)其進(jìn)行閉運(yùn)算,最后進(jìn)行填充和標(biāo)簽化。其結(jié)果如圖3所示。
本次設(shè)計(jì)共選用四種特征值進(jìn)行訓(xùn)練識(shí)別,即顏色特征、紋理特征、形狀特征。其在提取出相應(yīng)的特征值之后將特征值用矩陣的方式封裝起來,生成樣本庫(kù)作為訓(xùn)練識(shí)別數(shù)據(jù)。訓(xùn)練識(shí)別器是選用的BP神經(jīng)網(wǎng)絡(luò)來進(jìn)行訓(xùn)練識(shí)別。由于在訓(xùn)練識(shí)別已經(jīng)將特征值與標(biāo)簽打包放到了一起,訓(xùn)練前要進(jìn)行數(shù)據(jù)集分割。本次選用30%數(shù)據(jù)集作為測(cè)試集,70%數(shù)據(jù)集作為訓(xùn)練集。
在訓(xùn)練前將數(shù)據(jù)集進(jìn)行數(shù)據(jù)歸一化,選用模式識(shí)別函數(shù)patternnet來搭建識(shí)別分類器所需的識(shí)別網(wǎng)絡(luò)。隱含層的層數(shù)很大程度上影響著識(shí)別率,隱含層中的神經(jīng)元的多少同樣也會(huì)對(duì)識(shí)別率有影響。在測(cè)試中神經(jīng)元并不是越多越好,本次采用四層隱含層的神經(jīng)網(wǎng)絡(luò),不同隱含層對(duì)應(yīng)的識(shí)別率如表1所示:
在表1中可以很明顯地看出來,在隱含層增加到第4層后,識(shí)別率不僅沒有提高,反而在不斷降低,所以本次網(wǎng)絡(luò)建立選擇的隱含層數(shù)為3層。經(jīng)過測(cè)試,隱含層中的神經(jīng)元個(gè)數(shù)為[20,50,91]時(shí)識(shí)別率最高也最穩(wěn)定在93.18%。識(shí)別網(wǎng)絡(luò)圖,訓(xùn)練曲線分別如圖4、圖5所示。
圖5中有三條曲線,分別為:Train曲線(表示訓(xùn)練集在訓(xùn)練過程中誤差的下降程度)、Validation曲線(表示驗(yàn)證集的訓(xùn)練過程中的誤差下降程度)、Test曲線(是輸入的測(cè)試集的訓(xùn)練曲線)。本次訓(xùn)練的迭代次數(shù)為38次,即所有訓(xùn)練樣本通過了神經(jīng)網(wǎng)絡(luò)訓(xùn)練一次(一個(gè)正向傳遞和一個(gè)反向傳遞)。在32次訓(xùn)練迭代時(shí),驗(yàn)證集的錯(cuò)誤率降至最低,在繼續(xù)訓(xùn)練6次后錯(cuò)誤率沒有降到更低的情況下結(jié)束訓(xùn)練,所以本次訓(xùn)練的迭代次數(shù)為38次。
3.2 系統(tǒng)測(cè)試
在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,將識(shí)別率達(dá)到最高時(shí)的網(wǎng)絡(luò)模型保存下來為一個(gè)net.mat文件。該文件作為后續(xù)系統(tǒng)中的識(shí)別模塊使用,根據(jù)測(cè)試集的誤差輸出顯示,該模型的最大精度為93.18%;符合要求,可以作為識(shí)別模塊使用。
3.2.1 GUI界面展示
本次借助Matlab軟件中的GUI設(shè)計(jì)功能,設(shè)計(jì)了一個(gè)水果識(shí)別系統(tǒng)界面。該界面可以實(shí)現(xiàn)優(yōu)秀的人機(jī)交互功能。本次設(shè)計(jì)制作了三個(gè)按鈕、兩個(gè)圖像顯示界面、一個(gè)靜態(tài)文本界面。三個(gè)按鈕分別實(shí)現(xiàn):輸入圖像、識(shí)別圖像、清除圖像三種功能。水果識(shí)別GUI 界面如圖6所示。
3.2.2 水果識(shí)別系統(tǒng)的測(cè)試
將訓(xùn)練好的模型輸入到GUI中后,隨機(jī)提取樣本庫(kù)中的蘋果、香蕉、橘子三張圖像作為識(shí)別對(duì)象,測(cè)試結(jié)果如圖7所示。
4 結(jié)束語
本文設(shè)計(jì)出一種基于BP神經(jīng)網(wǎng)絡(luò)的水果識(shí)別系統(tǒng),獲得了較高的識(shí)別率。但是因本人的學(xué)術(shù)水平有限,并未考慮到復(fù)雜環(huán)境下的圖像識(shí)別,在后續(xù)的學(xué)習(xí)和研究中將不斷完善,不斷進(jìn)步。
參考文獻(xiàn):
[1] 王前程.基于深度學(xué)習(xí)的水果圖像識(shí)別算法研究[D].河北大學(xué),2016.
[2] Kondo, Naoshi, Yata, Koki, Iida, Michihisa. Development of an End-Effector for a Tomato Cluster Harvesting Robot[J]. Engineering in Agriculture Environment & Food, 2010, 3(1):20-24.
[3] 胡文錦.圖像邊緣檢測(cè)方法研究[D].北京:北京交通大學(xué),2009.
[4] 蔡健榮,趙杰文.自然場(chǎng)景下成熟水果的計(jì)算機(jī)視覺識(shí)別[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2005,36(2):61-64.
[5] 焦蓬蓬,郭依正,劉麗娟,等.灰度共生矩陣紋理特征提取的Matlab實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(11):169-171,175.
[6] 陳源,張長(zhǎng)江.水果自動(dòng)識(shí)別的BP神經(jīng)網(wǎng)絡(luò)方法[J].微型機(jī)與應(yīng)用,2010,29(22):40-43,48.
【通聯(lián)編輯:唐一東】