隨著電子和機(jī)械技術(shù)的快速發(fā)展,以機(jī)器人科技為代表的智能產(chǎn)業(yè)獲得了飛速發(fā)展,已經(jīng)成為現(xiàn)代科技創(chuàng)新的一個(gè)重要標(biāo)志?,F(xiàn)代水果種植迫切需要一種能夠自動(dòng)采摘的自動(dòng)設(shè)備,以提高采摘和分類的生產(chǎn)效率。為此,提出了一種基于機(jī)器視覺(jué)及深度學(xué)習(xí)的采摘機(jī)器人目標(biāo)識(shí)別技術(shù),可以實(shí)現(xiàn)對(duì)橘柑的自動(dòng)識(shí)別。
采摘機(jī)器人識(shí)別系統(tǒng)的硬件部分是整個(gè)系統(tǒng)重要組成部分,包括工業(yè)相機(jī)、鏡頭、光源和運(yùn)動(dòng)控制器。
采摘機(jī)器人識(shí)別系統(tǒng)由圖像采集、圖像處理識(shí)別和運(yùn)動(dòng)控制3個(gè)部分組成,如圖1所示。
圖1 采摘機(jī)器人識(shí)別系統(tǒng)框架圖Fig.1 The frame diagram of picking robot recognition system
采摘機(jī)器人識(shí)別系統(tǒng)各部分功能如下:
1)圖像采集:通過(guò)調(diào)節(jié)光源,使用圖像采摘裝置獲取待識(shí)別水果目標(biāo)。
2)圖像處理識(shí)別:對(duì)圖像采集系統(tǒng)采集到的水果圖像進(jìn)行預(yù)處理,再利用圖像分析算法對(duì)預(yù)處理后的圖像進(jìn)行分析處理,識(shí)別圖像上水果目標(biāo)。
3)運(yùn)動(dòng)控制:根據(jù)待識(shí)別目標(biāo)位置,圖像采集裝置進(jìn)行運(yùn)動(dòng),以方便其能獲取清晰的圖像。
采摘機(jī)器人識(shí)別系統(tǒng)主要包括PC機(jī)、工業(yè)相機(jī)、直流電源、光源和鏡頭,如圖2所示。
圖2 采摘機(jī)器人識(shí)別系統(tǒng)的硬件架構(gòu)圖Fig.2 The hardware architecture of picking robot recognition system
1)光源。光源對(duì)機(jī)器視覺(jué)的圖像質(zhì)量影響非常大,為了工業(yè)相機(jī)能夠獲取質(zhì)量好的圖像,需要選擇好合適的光源,確保能獲取穩(wěn)定的高質(zhì)量圖片。另外,選擇合適的光源,可以降低周邊環(huán)境的影響及圖像處理算法的難度,從而提高整個(gè)識(shí)別系統(tǒng)的效率和精度。
經(jīng)過(guò)對(duì)整個(gè)系統(tǒng)的綜合考慮和多次打光調(diào)試,選擇了德國(guó)Basler公司的60x60-Blue Camera Light。該光源可以將光線均勻地照射在水果目標(biāo)上,沒(méi)有虛影產(chǎn)生,且圖像清晰度高,能夠明顯提高目標(biāo)和背景之間的對(duì)比度,可保證相機(jī)能夠獲取較好的圖像。光源實(shí)物如圖3所示。
圖3 Basler 60x60-Blue camera light實(shí)物圖Fig.3 The physical diagram of Basler 60x60-Blue camera light
2)工業(yè)相機(jī)。在進(jìn)行機(jī)器視覺(jué)系統(tǒng)設(shè)計(jì)時(shí),工業(yè)相機(jī)是核心部件,其重要的參數(shù)是分辨率和幀率。傳感器是工業(yè)相機(jī)的核心,目前主要有CCD 和 CMOS 兩種傳感器。在此,選擇德國(guó)Basler公司的daA3840-45uc相機(jī),配備USB 3.0接口,內(nèi)部采用Sony IMX334 CMOS芯片,可在830萬(wàn)像素的分辨率下提供45fps的幀速率。相機(jī)實(shí)物如圖4所示。
圖4 Basler daA3840-45uc相機(jī)Fig.4 Basler daA3840-45uc camera
深度學(xué)習(xí)框架是深度學(xué)習(xí)的工具,采用高效框架設(shè)計(jì)算法,可以提高算法處理速度。在此,采用深度學(xué)習(xí)框架對(duì)采集到的圖像進(jìn)行處理分析,主要是使用基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法,常用的目標(biāo)檢測(cè)算法有R-CNN、SPPNet、Faster R-CNN、YOLO、SSD及Retina-Net等。
本文采用SSD(Single Shot MultiBox Detector,SSD)算法對(duì)水果目標(biāo)進(jìn)行目標(biāo)識(shí)別。SSD和其他目標(biāo)檢測(cè)算法不同,其預(yù)測(cè)真實(shí)框并不包括選取候選的目標(biāo)區(qū)域,可采用不同大小的特征圖對(duì)目標(biāo)物體進(jìn)行標(biāo)識(shí)和測(cè)量。SSD是利用小型卷積算法對(duì)目標(biāo)特征邊框偏移和分類進(jìn)行檢測(cè)和識(shí)別,通過(guò)采用非極大值抑制的算法,對(duì)重復(fù)框進(jìn)行反復(fù)篩選。而卷積神經(jīng)網(wǎng)絡(luò)排在比較前面的特征圖都比較大,適合識(shí)別較小的目標(biāo),而隨著網(wǎng)絡(luò)深度的逐漸加大,算法會(huì)將尺度設(shè)置為2或利用池化層,使特征圖減小,以便檢測(cè)大目標(biāo)的特征。不同尺度的特征圖如圖5所示。
圖5 不同尺度的特征圖Fig.5 The characteristic maps of different scales
圖5中,8×8的特征圖容易識(shí)別較小的目標(biāo),而4×4的特征圖則容易識(shí)別較大的目標(biāo)。
SSD目標(biāo)檢測(cè)算法的特征提取示意如圖6所示。
圖6 SSD目標(biāo)檢測(cè)算法的特征提取示意圖Fig.6 The schematic diagram of feature extraction of SSD target detection algorithm
SSD算法根據(jù)不同像素點(diǎn)選擇不同尺寸的特征圖檢測(cè)框,這些檢測(cè)框包括不同大小和長(zhǎng)寬比。在檢測(cè)算法訓(xùn)練過(guò)程中,需要采用不同的檢測(cè)框和圖像中標(biāo)注的檢測(cè)框進(jìn)行算法匹配,從而實(shí)現(xiàn)對(duì)目標(biāo)圖像的樣本提取。
SSD的基礎(chǔ)是VGG-16網(wǎng)絡(luò),為了獲取更多的特征圖,在此基礎(chǔ)上引入了新的卷積層,從而獲得更多尺度的特征圖。經(jīng)過(guò)卷積處理后,得到了類別置信度和邊界框的位置。SSD算法的網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。
SSD算法對(duì)目標(biāo)圖像的預(yù)測(cè)流程如下:
1)過(guò)濾算法背景的預(yù)測(cè)框;
2)選擇有橘柑真實(shí)背景的矩形框,將置信度高的保留下來(lái),并將其作為置信度值;
3)手動(dòng)設(shè)置閾值為0.58,將閾值小于0.58的橘柑矩形框去掉;
4)根據(jù)橘柑果實(shí)的置信度,選擇置信度較高的前k個(gè)橘柑預(yù)測(cè)框;
5)利用非極大值抑制(Non-Maximum Suppression,NMS)算法,過(guò)濾掉重疊較大的橘柑果實(shí)的預(yù)測(cè)框;
6)最后留下的預(yù)測(cè)框,就是橘柑果實(shí)的最終預(yù)測(cè)框。
圖7 SSD算法的網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.7 The network structure diagram of SSD algorithm
SSD目標(biāo)檢測(cè)算法的損失函數(shù)L(x,c,l,g)是用于衡量模型所作出的預(yù)測(cè)離真實(shí)值(Ground Truth)之間的偏離程度,包括類別置信損失Lconf和定位回歸損失Lloc,為二者的分類和回歸的帶權(quán)加和,其損失函數(shù)L(x,c,l,g)表達(dá)式為
(1)
類別置信算損失函數(shù)Lconf(x,c)為多類別置信度熵的softmax loss,是基于Softmax歸一化指數(shù)函數(shù)推導(dǎo)出來(lái)的,表達(dá)式為
(2)
定位回歸損失L(x,l,g)則是基于范數(shù)平滑L1損失推導(dǎo)出來(lái)的,用來(lái)表示預(yù)測(cè)檢測(cè)框和真實(shí)標(biāo)簽框的相關(guān)性。其表達(dá)式為
(3)
范數(shù)平滑L1是為了讓loss對(duì)于離群點(diǎn)更加魯棒,可以控制整個(gè)算法模型的梯度,確保模型在訓(xùn)練過(guò)程中不易發(fā)生跑飛的情況,表達(dá)式為
(4)
采用SSD算法對(duì)目標(biāo)水果圖像進(jìn)行檢測(cè),不需要從候選區(qū)域提取特征網(wǎng)絡(luò),使能在單網(wǎng)絡(luò)結(jié)構(gòu)中通過(guò)小幅度降低精度來(lái)提高檢測(cè)速度,實(shí)現(xiàn)對(duì)目標(biāo)物體的快速識(shí)別。
為了驗(yàn)證基于機(jī)器視覺(jué)及深度學(xué)習(xí)的采摘機(jī)器人目標(biāo)識(shí)別技術(shù),對(duì)其識(shí)別效果和識(shí)別準(zhǔn)確率進(jìn)行試驗(yàn)研究。試驗(yàn)在某橘柑種植基地進(jìn)行,橘柑圖像在室外正常光線下采集。系統(tǒng)硬件環(huán)境:揚(yáng)天P600,Basler daA3840-45uc工業(yè)相機(jī),8核CPU 4.9 GHz,內(nèi)存16GB,512G固態(tài)硬盤+1T機(jī)械硬盤,采摘機(jī)器人機(jī)械手平臺(tái)。軟件環(huán)境:Visual Studio 2015,OpenCV。其部分圖片如圖8所示。
圖8 顏色篩選和目標(biāo)識(shí)別后的圖像Fig.8 The image after color filtering and target recognition
基于以上試驗(yàn)平臺(tái),拍取200幅橘柑圖像,選擇出100幅,將其中60幅作為算法訓(xùn)練,40幅用來(lái)驗(yàn)證目標(biāo)識(shí)別算法。對(duì)提取到的顏色、形狀、輪廓半徑進(jìn)行組合后,輸入到SSD算法進(jìn)行訓(xùn)練,結(jié)果如表1所示。
試驗(yàn)中,分別對(duì)橘柑有枝葉和無(wú)枝葉遮擋的目標(biāo)果實(shí)進(jìn)行識(shí)別研究,且針對(duì)有枝葉遮擋的目標(biāo)增加有外部光源補(bǔ)光的試驗(yàn),對(duì)以上3種情況的識(shí)別率和識(shí)別時(shí)間進(jìn)行統(tǒng)計(jì),結(jié)果如表2所示。
表1 SSD算法訓(xùn)練結(jié)果Table 1 The training results of SSD algorithm
表2 橘柑目標(biāo)識(shí)別試驗(yàn)結(jié)果Table 2 The experimental results of orange target recognition
經(jīng)過(guò)試驗(yàn)分析可知:該采摘機(jī)器人目標(biāo)識(shí)別技術(shù)在室外自然光線下對(duì)無(wú)遮擋橘柑的識(shí)別準(zhǔn)確率為95%,對(duì)有枝葉遮擋的橘柑識(shí)別率為80%;在增加外部光源補(bǔ)光后,有枝葉遮擋的橘柑識(shí)別率有一定的提高;另外,3種試驗(yàn)分別處理的時(shí)間為75ms,能夠滿足系統(tǒng)要求,證實(shí)了該方法的可行性。
為了實(shí)現(xiàn)對(duì)目標(biāo)水果的準(zhǔn)確識(shí)別,設(shè)計(jì)了一套基于機(jī)器視覺(jué)及深度學(xué)習(xí)的采摘機(jī)器人目標(biāo)識(shí)別技術(shù),結(jié)合SSD深度學(xué)習(xí)算法,可以實(shí)現(xiàn)對(duì)橘柑的精準(zhǔn)識(shí)別。試驗(yàn)結(jié)果表明:采摘機(jī)器人目標(biāo)識(shí)別技術(shù)在室外自然光線下對(duì)無(wú)遮擋橘柑的識(shí)別準(zhǔn)確率為95%,對(duì)有枝葉遮擋的橘柑識(shí)別率為80%,在增加外部光源補(bǔ)光后,有枝葉遮擋的橘柑識(shí)別率有一定的提高,證實(shí)了該方法的可行性。