許 娜,周煒明
(河南工業(yè)職業(yè)技術(shù)學(xué)院,河南 南陽 473000)
近年來,我國水果種植、水果加工產(chǎn)業(yè)等都有了快速發(fā)展,再加上電子商務(wù)以及網(wǎng)絡(luò)營銷水平的提高,水果產(chǎn)業(yè)即將進入全新的發(fā)展階段,必將呈現(xiàn)出更好的發(fā)展前景。水果的產(chǎn)后處理流程包括上線、清洗、打蠟、烘干等步驟,比較單一;而水果的分揀相對比較復(fù)雜,系統(tǒng)需要實現(xiàn)對水果的識別和等級判斷。為此,設(shè)計了一套基于BP神經(jīng)網(wǎng)絡(luò)和圖像識別的水果分揀機械手控制系統(tǒng)。
水果分揀機械手控制系統(tǒng)由工業(yè)相機、光源、傳送帶、圖像采集卡、控制器及電腦和機械手等零部件組成,如圖1所示。分揀過程中,不同的水果被隨機放置在傳送帶上,被工業(yè)相機獲取圖像序列,經(jīng)過電腦進行目標識別和坐標計算,將這些信息送給控制器,通過控制機械手完成水果的分揀工作。

圖1 水果分揀機械手控制系統(tǒng)Fig.1 The control system of fruit sorting manipulator
工業(yè)相機是水果分揀機械手控制系統(tǒng)的核心,系統(tǒng)對其部件要求甚高,需要同時具有高曝光率和高分辨率。綜合設(shè)計需求和成本考慮,選用國內(nèi)千里眼公司5KF20型號的高清工業(yè)相機。該相機采集速度高達3000幀,分辨率為1920×1080。水果分揀機械手控制系統(tǒng)采用5V外部觸發(fā)控制器件對工業(yè)相機進行曝光控制,從而得到實時圖像。
為了實現(xiàn)相機坐標和實際坐標之間的轉(zhuǎn)換,對工業(yè)相機進行了精準的標定。在電腦上生成5×7的棋盤方格,每個方格的尺寸為3cm×3cm,如圖2(a)所示。利用打印機進行1:1打印,再從不同的角度對棋盤方格進行拍照,采集30張不同角度的照片,如圖2(b)、(c)所示。

圖2 工業(yè)相機標定流程Fig.2 The calibration process of industrial camera
采用圖像處理算法對相機進行標定處理,通過張正友相機標定算法進行計算,可以得到相機內(nèi)部參數(shù)R1和畸變參數(shù)R2的表達式為
(1)
R2=[-0.518 0.534 0.066 -0.138]
(2)
人工神經(jīng)網(wǎng)絡(luò)是一種模擬大腦神經(jīng)聯(lián)系處理信息的一種數(shù)學(xué)模型,包含大量的神經(jīng)元節(jié)點和細胞,用來對事物進行處理,在此采用BP神經(jīng)網(wǎng)絡(luò)進行水果的目標識別。BP神經(jīng)網(wǎng)絡(luò)是一種成熟的人工智能算法,屬于多層前向型網(wǎng)絡(luò),采用誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練。該算法包括輸入、隱含和輸出3層網(wǎng)絡(luò),可以通過迭代學(xué)習(xí)獲取和保存大量輸入、輸出的映射關(guān)系。BP神經(jīng)網(wǎng)絡(luò)架構(gòu)如圖3所示。

圖3 BP神經(jīng)網(wǎng)絡(luò)算法Fig.3 BP neural network algorithm
由圖3可以看出:BP神經(jīng)網(wǎng)絡(luò)輸入層有i個神經(jīng)元,采用的表達式為X=(x1,x2,…xi)T;隱含層包括m個神經(jīng)元,采用的表達為O=(o1,o2,…,om)T;輸出層包括k個神經(jīng)元,其表示式為Y=(y1,y2…yk)T。
BP神經(jīng)網(wǎng)絡(luò)隱含層和輸入層之間的關(guān)系為
(3)
其中,f為BP神經(jīng)網(wǎng)絡(luò)隱含層的激活函數(shù);v為權(quán)重。
同理,BP神經(jīng)網(wǎng)絡(luò)輸出層和隱含層之間的關(guān)系為
(4)
其中,f為BP神經(jīng)網(wǎng)絡(luò)輸出層的激活函數(shù);w為權(quán)重。
網(wǎng)絡(luò)模型訓(xùn)練預(yù)測和期望之間誤差為
(5)
該算法模型在求優(yōu)過程中采用梯度計算法,也就是在權(quán)值修正時迅速下降求優(yōu),計算表達式為
(6)
(7)
其中,η和δ分別為BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速率和誤差信號因子。
為了精確地對目標進行識別,需要采用大量的數(shù)據(jù)樣本對BP神經(jīng)網(wǎng)絡(luò)進行反復(fù)訓(xùn)練,包括訓(xùn)練輸入和期望輸出。訓(xùn)練輸入是指采集到的圖像的某些特征量,期望輸出則是圖像對應(yīng)的代號,即識別結(jié)果。在使用樣本對BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練過程中,由于環(huán)境等因素,圖像中包含很多干擾信息,會增加網(wǎng)絡(luò)算法訓(xùn)練的復(fù)雜度,故采用不變矩的策略對干擾因素進行過濾。基于BP神經(jīng)網(wǎng)絡(luò)的目標識別過程如下:
1)采集目標圖像信息,利用工業(yè)相機從不同角度獲取待識別目標的圖像。
2)圖像預(yù)處理,采用灰度化對圖像進行處理。
3)計算不變矩,利用高度濃縮的圖像特征作為目標識別的依據(jù)。
4)輸出訓(xùn)練和識別兩種樣本。將從各個角度獲取的目標圖像進行預(yù)處理后,對每張圖像進行不變矩求值,把組成的向量和圖像對應(yīng)的代號結(jié)合起來,形成了一個訓(xùn)練樣本。若去除掉訓(xùn)練樣本,剩余的則都是待識別的樣本。
5)建立BP神經(jīng)網(wǎng)絡(luò)。單隱含層的BP神經(jīng)網(wǎng)絡(luò)實現(xiàn)對目標水果的識別,網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。其包括55個神經(jīng)元的隱含層,該層傳遞函數(shù)為S函數(shù)。本文待識別的水果有蘋果、梨子、桃子和李子等4種,因此將輸出層設(shè)置為4個神經(jīng)元,且傳遞函數(shù)采用線性函數(shù)。

圖4 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.4 The structure diagram of BP neural network
6)訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)。為了使BP神經(jīng)網(wǎng)絡(luò)算法同時滿足局部收斂性和具有梯度下降法,采用性能非常穩(wěn)定的LM(Levenberg-Marquardt)算法。
7)識別目標。經(jīng)過大量不變矩樣本訓(xùn)練后的BP神經(jīng)網(wǎng)絡(luò)權(quán)重趨于穩(wěn)定,當給出需要識別的圖像時,該模型可以快速通過映射給出精準的識別結(jié)果。
基于BP神經(jīng)網(wǎng)絡(luò)的目標識別流程如圖5所示。

圖5 基于BP神經(jīng)網(wǎng)絡(luò)的目標識別流程圖Fig.5 The flow chart of target recognition based on BP neural network
模板匹配是指在1幅待識別圖像中尋找和給定目標模板對應(yīng)關(guān)系的一種技術(shù)。該技術(shù)將建立的模板圖像稱為模板圖像,將需要進行識別的圖像稱為匹配圖像。根據(jù)模板匹配的概念可以得知:若需要在被識別的圖像中尋找到和模板圖像相似的子圖像,需要對模板圖像和匹配圖像的相似度進行計算。當相似度高時,表示匹配上了;反之,則表示沒有匹配上。正常情況下,模板圖像和匹配圖像在方向上和尺寸上都會存在差異,故在匹配過程中需要考慮目標物體的尺寸和方向。
創(chuàng)建模板匹配主要包括以下幾個步驟:①獲取作為模板的圖像;②在圖像中選擇需要創(chuàng)建模板的區(qū)域,構(gòu)建一個模板;③從實時的圖像中查找模板;④得到匹配的結(jié)果。圖像處理的模板匹配流程如圖6所示。

圖6 圖像處理的模板匹配流程圖Fig.6 The flow chart of template matching in image processing
基于灰度值進行模板匹配,并對目標圖形進行匹配,也就在模板滑動過程中先對模板灰度值和待測目標灰度值計算差值,再對差的絕對值求平方。本文采用SSD相似性對模板圖像和匹配圖像進行計算。SSD是模板和圖像之差的平方和,其計算表達式為
(8)
其中,c+v為模板圖像T第r行、第c列的灰度值;f(r+u,c+v)為目標圖形第r+u行、第c+v列的灰度值。
模板匹配的原則是:當模板圖像和目標圖像的差別越大時,相似度的函數(shù)值也就越大,為了提高匹配準確性,需要尋找相似度最小值。
在水果分揀機械手控制系統(tǒng)中,需要獲取目標水果中心點的三維坐標以及表面在繞x、y和z的旋轉(zhuǎn)角度。為此,采用圓搜索區(qū)域檢測目標水果的圓心邊緣點,通過擬合這個圓心獲取目標物體的坐標位置。
假設(shè)經(jīng)過相機標定后兩個相機內(nèi)部參數(shù)相同,兩相機在x軸的距離為B,任意一個目標物體P(xc,yc,zc)在左右兩相機成像為PA(xa,ya,za)和PB(xb,yb,zb),PA和PB兩點在圖像坐標系分別對應(yīng)為pL(uL,vL)和pR(uR,vR),vL=vR。雙目相機三維坐標示意如圖7所示。

圖7 雙目相機三維坐標示意圖Fig.7 The schematic diagram of 3D coordinate of binocular camera
圖7中,根據(jù)三角相似定理,可得
(9)
(10)
由相機投影原理可得
uLzc=axxc+u0zc
(11)
vLzc=ayyc+v0zc
(12)
最后,可以計算出P的三維坐標為
(13)
由此得到P在空間坐標系中的坐標,則水果分揀機械手便可對目標物體進行抓取裝箱。
為了檢驗水果分揀機械手系統(tǒng)的可行性,將蘋果、梨子、桃子和李子等4種水果混在一起,每種水果取3個,進行編號。首先,進行人工測量和特征采集;然后,確定水果的類別;最后,利用水果分揀機械手進行實際的識別和分揀。分揀結(jié)果如表1所示。

表1 水果分揀機械手分揀結(jié)果Table 1 The sorting results of fruit sorting robot
由表1可以看出:基于BP神經(jīng)網(wǎng)絡(luò)和圖像識別的水果分揀機械手系統(tǒng)得到的結(jié)果和人工識別高度一致,只是在果徑測量上稍有誤差。這表明,系統(tǒng)具有可行性。
設(shè)計的基于BP神經(jīng)網(wǎng)絡(luò)和圖像識別的水果分揀機械手系統(tǒng),可以同時實現(xiàn)對多種水果的區(qū)分分揀,填補了水果分揀領(lǐng)域的空白。系統(tǒng)基于BP神經(jīng)網(wǎng)絡(luò)和圖像處理對目標水果進行種類識別,再利用圖像處理的模板匹配對目標進行實時定位,最后控制水果分揀機械手進行分揀和裝箱。試驗結(jié)果表明:系統(tǒng)可以實現(xiàn)對多種水果的分類,準確性非常高,具有可行性。