林 靜, 徐月華
(1. 茂名職業(yè)技術(shù)學(xué)院機(jī)電信息系,廣東 茂名 525000; 2. 廣東機(jī)電職業(yè)技術(shù)學(xué)院,廣東 廣州 510641)
獲取水果姿態(tài)信息在農(nóng)業(yè)生產(chǎn)中具有重要的研究意義,在水果自動化加工中如龍眼去核[1]、蓮子取芯[2]、杏果去核[3]、沙果去核[4]、柚子套袋[5]中都需要對水果定向擺放以提高加工效果和加工效率,在水果自動化套袋、采摘時需要完成目標(biāo)檢測定位外,還需要獲取水果的姿態(tài)信息進(jìn)一步調(diào)整機(jī)械手的動作,以更好地抓取或剪切[5-6],因此獲取水果姿態(tài)信息在農(nóng)業(yè)自動化生產(chǎn)加工中具有重要的研究意義。隨著勞動力成本的增加和農(nóng)業(yè)智能化、自動化技術(shù)的發(fā)展,部分物理特征明顯的水果,如杏果、蘋果等軸向特征明顯,沙田柚的大小頭特征明顯[3,5]等,可利用其物理特性設(shè)計專門的自動化定向裝置,以滿足自動化加工的需求。但很多水果如龍眼品種多、形狀各異、大小頭特征不明顯[1],蓮子通常呈圓球狀、蓮心處物理特征不明顯,則難以利用物理特征設(shè)計裝置實(shí)現(xiàn)定向[7]。
利用圖像特征進(jìn)行目標(biāo)識別、檢測、定位的機(jī)器視覺技術(shù)在水果自動化采摘、加工領(lǐng)域已經(jīng)獲得了應(yīng)用[6-8],特別是隨著深度卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,圖像識別的準(zhǔn)確率得到較大提高,但算法性能提升除了依靠算法模型,龐大的數(shù)據(jù)也是支撐算法模型性能提升的關(guān)鍵,如ImageNet已有千萬張的圖像數(shù)據(jù)[9]。但針對特定的應(yīng)用場景(如水果姿態(tài)圖像的識別檢測等)數(shù)據(jù)集非常有限,圖片數(shù)量非常少,即使采用遷移學(xué)習(xí)等相關(guān)技術(shù)可以降低特定場景圖像數(shù)量的要求,但仍需要幾百張圖片才能訓(xùn)練出可接受的結(jié)果,而人手工拍攝采集圖像的效率低、成本高、質(zhì)量差異大,并且采集的圖像還需要人工標(biāo)注、工作量大。文獻(xiàn)[10]針對工件6D位姿估計采用對物體3D建模,構(gòu)建多角度多姿態(tài)圖片集,文獻(xiàn)[11]采用GAN技術(shù)對采集的圖片集訓(xùn)練生成模型,然后用模型生成新的圖片以擴(kuò)容圖片集,上述方法對工件等差異小的目標(biāo)是有效的,但對個體差異大的水果等生成圖片集的多樣性、真實(shí)性不足。目前的圖像采集系統(tǒng)主要滿足雙目深度圖像采集[12],難以適用于多角度多姿態(tài)圖像的拍攝。因此,本文設(shè)計了一套自動化裝置以實(shí)現(xiàn)水果多姿態(tài)圖像的自動采集、訓(xùn)練、檢測。
基于對多姿態(tài)水果圖像自動化采集的需求,進(jìn)行了水果多姿態(tài)圖像智能采集裝置設(shè)計。該裝置將攝像頭安裝在三自由度機(jī)械臂末端,目標(biāo)物放于可移動垂直十字滑臺和360°旋轉(zhuǎn)云臺構(gòu)成的水果放置臺上,通過它們的配合運(yùn)動自動完成一組多姿態(tài)的水果圖像拍攝,并按姿態(tài)分類自動存入對應(yīng)文件夾完成標(biāo)注,通過模塊化的深度神經(jīng)網(wǎng)絡(luò)輔助訓(xùn)練程序,實(shí)現(xiàn)水果姿態(tài)訓(xùn)練和檢測,構(gòu)成一個水果多姿態(tài)圖像的采集、訓(xùn)練、檢測一體化裝置。
系統(tǒng)由上位機(jī)和下位機(jī)兩部分構(gòu)成。上位機(jī)采用PC機(jī)開發(fā),通過人機(jī)接口界面完成拍照參數(shù)的設(shè)置,控制攝像頭完成圖像的拍照、分類存儲,完成基于深度學(xué)習(xí)姿態(tài)分類訓(xùn)練參數(shù)的設(shè)置、姿態(tài)圖像分類模型訓(xùn)練及分類檢測。下位機(jī)由采用STM32F103單片機(jī)為控制器、三自由度機(jī)械臂構(gòu)成的攝像頭運(yùn)動及控制模塊、可水平垂直運(yùn)動的十字滑臺及360°旋轉(zhuǎn)的水果放置云臺構(gòu)成,由三者配合完成水果姿態(tài)圖像拍攝距離和拍攝姿態(tài)的控制。系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。
圖1 系統(tǒng)設(shè)計結(jié)構(gòu)示意圖
裝置通過控制絲杠組的運(yùn)動使目標(biāo)物移動到合適的位置,以滿足不同種類大小水果及應(yīng)用的拍攝距離需求。在上位機(jī)設(shè)置好拍攝距離等參數(shù)后,下位機(jī)控制垂直和水平絲杠組運(yùn)動使目標(biāo)物運(yùn)動到對應(yīng)的距離位置,然后步進(jìn)電機(jī)控制機(jī)械臂旋轉(zhuǎn),帶動末端的攝像頭以目標(biāo)物為圓心,以設(shè)定拍攝距離為半徑運(yùn)動,控制機(jī)械臂末端的舵機(jī)帶動攝像頭旋轉(zhuǎn),使攝像頭一直對準(zhǔn)物體拍攝。
系統(tǒng)機(jī)械機(jī)構(gòu)主要由三自由度機(jī)械臂構(gòu)成的攝像頭運(yùn)動模塊、可水平垂直運(yùn)動的十字滑臺及360°旋轉(zhuǎn)的水果放置云臺構(gòu)成。其中三自由度機(jī)械手采用SCARA結(jié)構(gòu),采用交叉滾子軸承替代普通軸承,簡化了機(jī)械臂的連接結(jié)構(gòu),采用帶行星減速箱的步進(jìn)電機(jī),在保證旋轉(zhuǎn)角度精度的同時,增加了機(jī)械臂的轉(zhuǎn)動力矩,通過角度編碼器的反饋形成閉環(huán)角度控制。絲杠十字滑臺是將兩個300 mm行程的梯形絲杠滑臺用倒丁字結(jié)構(gòu)連接而成,如圖2所示,在垂直絲杠滑臺上安裝有可水平360°旋轉(zhuǎn)的云臺,為保證圖像的拍攝效果,改造了云臺上的放置底板,并在云臺上設(shè)置了半圓狀背景罩以保證拍攝背景統(tǒng)一。
圖2 水果放置云臺的設(shè)計圖
要完成圖像的拍攝,需在設(shè)置好拍攝距離等參數(shù)后,控制垂直和水平運(yùn)動絲杠組運(yùn)動到對應(yīng)的距離位置,然后控制SCARA機(jī)械臂運(yùn)動到拍攝點(diǎn),進(jìn)一步調(diào)整末端的舵機(jī)角度使攝像頭保持對準(zhǔn)目標(biāo),因此需要進(jìn)行絲杠組和機(jī)械臂的運(yùn)動參數(shù)計算。
圖3 拍攝目標(biāo)位置運(yùn)動范圍示意圖
圖4 機(jī)械臂旋轉(zhuǎn)角度計算示意圖
在拍攝過程中,拍攝角度是水果姿態(tài)分類的重要參數(shù)之一,系統(tǒng)控制攝像頭在上按照設(shè)定的姿態(tài)角度拍攝,即在圖中,當(dāng)攝像頭運(yùn)動到點(diǎn)拍攝時,是已知的,在圓心點(diǎn)坐標(biāo)和半徑已知的條件下,點(diǎn)的坐標(biāo)為
在上位機(jī)設(shè)置好拍攝距離等參數(shù)后,將信息傳輸給下位機(jī)并啟動運(yùn)動控制系統(tǒng)。下位機(jī)先控制垂直和水平運(yùn)動絲杠組運(yùn)動到對應(yīng)的距離位置,然后控制SCARA機(jī)械臂運(yùn)動到對應(yīng)的拍攝點(diǎn),進(jìn)一步調(diào)整末端的舵機(jī)使攝像頭角度保持對準(zhǔn)目標(biāo),發(fā)消息給上位機(jī)完成一次姿態(tài)圖像拍攝存儲,再通過云臺的旋轉(zhuǎn)和計算的運(yùn)動軌跡控制機(jī)械臂的運(yùn)動和攝像頭角度的旋轉(zhuǎn),以實(shí)現(xiàn)一組多姿態(tài)水果圖像的自動采集,并將圖像傳入上位機(jī)存儲,預(yù)處理,作為標(biāo)注的水果姿態(tài)數(shù)據(jù)集。在上位機(jī)編寫程序完成水果姿態(tài)的訓(xùn)練和檢測,系統(tǒng)工作流程如圖5所示。
圖5 水果姿態(tài)圖像采集流程圖
本文采用ResNet-50深度學(xué)習(xí)框架作為水果姿態(tài)分類檢測的算法模型,ResNet是一種泛化能力很強(qiáng)的網(wǎng)絡(luò)模型[13],但網(wǎng)絡(luò)層數(shù)較多,需要數(shù)據(jù)量比較大,因此采用遷移學(xué)習(xí)的方法在ImageNet預(yù)訓(xùn)練的基礎(chǔ)上再進(jìn)行訓(xùn)練生成模型參數(shù)[14],預(yù)測時根據(jù)輸入的圖片采用遷移訓(xùn)練生成的模型參數(shù),在采集圖像數(shù)量有限的情況下仍有比較好的識別分類效果,通過遷移學(xué)習(xí)可以用較少的數(shù)據(jù)和訓(xùn)練時間訓(xùn)練出高精度的特定水果的姿態(tài)信息檢測模型。數(shù)據(jù)訓(xùn)練目標(biāo)檢測的流程如圖6所示。
圖6 水果姿態(tài)分類模型訓(xùn)練檢測流程圖
系統(tǒng)針對龍眼進(jìn)行實(shí)驗,拍攝距離d為20 cm,如圖7所示,龍眼放置在云臺上,設(shè)機(jī)械臂沿對應(yīng)的90°圓弧每隔15°設(shè)定一個拍攝點(diǎn),共7個,龍眼蒂部朝上朝下各放置一次,共14個角度姿態(tài),同時云臺旋轉(zhuǎn)4個角度,角度間隔90°,一組共采集56張圖片,攝像頭型號為HD720。上位機(jī)PyTorch1.4.0算法框架,采用PyQt5設(shè)計程序界面,如圖8所示,在數(shù)據(jù)輸入模塊輸入采集設(shè)置信息后,啟動拍攝,正反面放置各拍一組,放置在56個文件夾中,訓(xùn)練和檢測過程中根據(jù)需要可對多個文件夾內(nèi)的圖片重新組合為一類,在分組模塊將采集圖片再次分類后進(jìn)行訓(xùn)練,在檢測模塊輸入圖片即可輸出分類結(jié)果。拍攝一組56張圖片用時20 s。
圖7 姿態(tài)角度分類示意圖
圖8 上位機(jī)人機(jī)界面
根據(jù)龍眼的特點(diǎn)和拍攝的情況,將采集的56組圖片,每組50張,分為5大類,圓弧拍攝角度相同,云臺旋轉(zhuǎn)角度不同的劃分為同一類,共有14個角度,對應(yīng)14小類。再將其中編號6、7劃為蒂部朝上類(400張),3、4、5劃分為蒂部傾斜向上類(600張),1、2、8、9劃為側(cè)放類(800張),10、11、12劃為底部傾斜向上類(600張),13、14劃為底部朝上類(400張),共5大類,其中訓(xùn)練集占90%,測試集占10%,采用ImageNet預(yù)訓(xùn)練的ResNet網(wǎng)絡(luò)訓(xùn)練,即凍結(jié)網(wǎng)絡(luò)前5個stage,僅訓(xùn)練最后一個stage的 FC層和 softmax層參數(shù),BatchSize為32,Epoch為 100,采用 AlexNet、VGG-16、Inception等算法[15]網(wǎng)絡(luò)設(shè)置相同的BatchSize、Epoch,4種算法驗證集的準(zhǔn)確率迭代曲線如圖9所示,其檢測準(zhǔn)確率和所消耗時間如表1所示,本文算法經(jīng)過100次迭代,測試集的準(zhǔn)確率總體上優(yōu)于其他3種算法,用時上僅多于AlexNet網(wǎng)絡(luò),表明設(shè)計系統(tǒng)采用算法模型測試效果較好。
表1 4種算法龍眼姿態(tài)圖像分類訓(xùn)練結(jié)果
圖9 4種算法龍眼姿態(tài)圖像分類訓(xùn)練迭代曲線
1)利用機(jī)器視覺及人工智能技術(shù)獲取水果姿態(tài)信息,輔助對水果進(jìn)行定向加工或采摘,是水果自動化加工采摘技術(shù)的發(fā)展趨勢。
2)本文將攝像頭安裝在SCARA機(jī)械臂上,并與放置在可移動云臺上的水果組合運(yùn)動實(shí)現(xiàn)多姿態(tài)水果圖像的自動拍攝采集和存放標(biāo)注,并以殘差網(wǎng)絡(luò)為基礎(chǔ)模型構(gòu)建了模塊化的水果姿態(tài)訓(xùn)練檢測模型程序。
3)以龍眼水果為對象進(jìn)行水果姿態(tài)圖像采集和水果姿態(tài)圖像訓(xùn)練檢測實(shí)驗表明,裝置可實(shí)現(xiàn)1個水果正反放置2次,在20 s內(nèi)完成一組56張姿態(tài)圖像的拍攝存儲和標(biāo)注,且水果姿態(tài)圖像檢測的準(zhǔn)確率可達(dá)98.40%,滿足水果姿態(tài)圖像的自動采集、訓(xùn)練、檢測需求。
4)所設(shè)計的裝置如配合目標(biāo)檢測和相應(yīng)的機(jī)械手,即可以進(jìn)一步用于水果自動化定向加工和采摘等工業(yè)化應(yīng)用領(lǐng)域。