邱津芳,林宇航,阮志鴻,李紅云
( 泉州職業(yè)技術(shù)大學(xué) 國(guó)科數(shù)字產(chǎn)業(yè)學(xué)院,福建 泉州 362268 )
永春蘆柑是福建省永春縣的特產(chǎn),也是泉州市的一大經(jīng)濟(jì)支柱。蘆柑品質(zhì)與分級(jí)的重要依據(jù)是果徑大小、表面色澤與表皮是否損傷等。當(dāng)前大多果農(nóng)和加工企業(yè)對(duì)蘆柑的分級(jí)檢測(cè)依靠人工操作完成,效率低、成本高,迫切需要符合需求的智能分揀技術(shù)與之匹配。本文針對(duì)永春蘆柑的形狀、大小、溝紋等技術(shù)指標(biāo),提出一種智能蘆柑分揀機(jī)的設(shè)計(jì)方案,利用機(jī)器視覺(jué)和機(jī)器學(xué)習(xí)技術(shù),達(dá)到準(zhǔn)確高效的分級(jí)目的[1]。
水果分級(jí)技術(shù)從最初的人工分級(jí)到采用傳統(tǒng)機(jī)械和各種傳感器,再到柔性非接觸式分級(jí),凸顯出技術(shù)進(jìn)步帶來(lái)的便捷和高效[2]。目前,基于OpenCV機(jī)器視覺(jué)的水果分級(jí)檢測(cè)技術(shù)呈現(xiàn)出蓬勃發(fā)展之勢(shì)[3]。王旭基于機(jī)器視覺(jué)研究了柑橘的分級(jí)技術(shù)[4];楊濤使用K-means聚類(lèi)分割算法分割獼猴桃表面缺陷和通過(guò)顏色對(duì)比來(lái)提取獼猴桃的表面形狀特征,實(shí)現(xiàn)獼猴桃的無(wú)損檢測(cè)分級(jí)[5];孫海霞利用機(jī)器視覺(jué)和光譜技術(shù)對(duì)水果品質(zhì)分級(jí)方法進(jìn)行了研究[6]。
機(jī)器視覺(jué)技術(shù)在農(nóng)業(yè)自動(dòng)化領(lǐng)域中的應(yīng)用得到了廣泛研究[7],本文采用基于OpenCV機(jī)器視覺(jué)與機(jī)械臂夾取裝置實(shí)現(xiàn)蘆柑檢測(cè)與分揀等功能,以樹(shù)莓派為核心控制器,通過(guò)攝像頭拍攝圖像并反饋給樹(shù)莓派;基于OpenCV機(jī)器視覺(jué)技術(shù)對(duì)蘆柑表面圖像進(jìn)行檢測(cè),樹(shù)莓派根據(jù)反饋結(jié)果確定機(jī)械手抓取和投放位置;將所得信息反饋至顯示器中,系統(tǒng)原理如圖1所示。
圖1 系統(tǒng)原理圖
設(shè)計(jì)采用六自由度的機(jī)械臂,主要包括大臂、小臂、手爪,利用SoildWorks對(duì)機(jī)械臂進(jìn)行建模結(jié)構(gòu)如圖2所示。
圖2 機(jī)械臂結(jié)構(gòu)圖
本設(shè)計(jì)選用MG996R舵機(jī),具有較快的響應(yīng)速度,且價(jià)格經(jīng)濟(jì)。齒輪材質(zhì)為金屬,扭矩1.27 N·m,重量55 g,工作電壓4.8 V~6 V,驅(qū)動(dòng)電流800 mA,舵機(jī)頻率50 Hz,抓取重量100 g;大臂與小臂采用質(zhì)量較輕的鋁合金板,連接處采用法蘭桿進(jìn)行連接,MG996R舵機(jī)滿(mǎn)足相應(yīng)要求。
舵機(jī)控制需要約20 ms時(shí)基脈沖,該脈沖高電平部分為0.5 ms∽2.5 ms角度控制脈沖部分,總間隔為2 ms。以180 °角度伺服為例,對(duì)應(yīng)控制關(guān)系如圖3所示。
圖3 控制關(guān)系對(duì)應(yīng)圖
由于使用了6個(gè)舵機(jī),樹(shù)莓派僅靠Micro USB接口供電顯然不足,故在PWM控制模塊單獨(dú)提供6 V/10 A電源進(jìn)行供電,開(kāi)關(guān)電源如圖4所示。
圖4 開(kāi)關(guān)電源
為確保不遺漏蘆柑表面的每一處圖像,設(shè)計(jì)了能夠采集蘆柑全表面圖像的結(jié)構(gòu)裝置,結(jié)構(gòu)示意圖如圖5所示。
圖5 結(jié)構(gòu)示意圖
結(jié)構(gòu)中,外殼部分由鋁合金型材組成,外表面采用黑色避光材質(zhì),確保拍攝環(huán)境的統(tǒng)一性,在攝像頭中自帶LED光源確保成像清晰可見(jiàn)。
鋁型材密度小、質(zhì)量輕、可塑性強(qiáng)、易調(diào)節(jié),故使用鋁型材作為產(chǎn)品外部框架,由其搭建一個(gè)長(zhǎng)方體的框架結(jié)構(gòu),使用舵機(jī)、鋁合金板、法蘭桿組裝機(jī)械臂,最后將樹(shù)莓派、電源、攝像頭、機(jī)械臂、顯示器安裝至合理位置,實(shí)物如圖6所示。
圖6 實(shí)物圖
使用python語(yǔ)言進(jìn)行程序編寫(xiě)、OpenCV三方庫(kù)進(jìn)行圖像處理以及識(shí)別、Numpy進(jìn)行數(shù)據(jù)科學(xué)計(jì)算、PyQt5繪制GUI界面,使用高清攝像頭獲取兩張當(dāng)前蘆柑圖像,使用OpenCV識(shí)別蘆柑面積以及表面瑕疵情況,推斷瑕疵比率以實(shí)現(xiàn)對(duì)永春蘆柑品質(zhì)的分級(jí)(分級(jí):依靠隸屬函數(shù)和權(quán)重集,采用加權(quán)平均算子計(jì)算綜合分析結(jié)果,以最大隸屬度為原則確定蘆柑的等級(jí),等級(jí)劃分為A級(jí)蘆柑、 B級(jí)蘆柑、C級(jí)蘆柑)。程序運(yùn)行流程如圖7所示,軟件界面如圖8所示。
圖7 程序運(yùn)行流程圖
圖8 軟件界面圖
加載彩色圖片進(jìn)行色彩空間轉(zhuǎn)化后,對(duì)低于lower_red和高于upper_red值的區(qū)域,圖像值為0;于其之間的值為255,完成圖像的二值化。將處理完成后的二值圖進(jìn)行物體輪廓識(shí)別,對(duì)原始圖像進(jìn)行繪制邊框,使用格林公式計(jì)算面積,圖像輪廓面積分析如圖9所示。
圖9 圖像輪廓面積分析圖
設(shè)閉區(qū)域D由分段光滑的曲線(xiàn)L圍成,函數(shù)P(x,y)及Q(x,y)在D上具有一階連續(xù)偏導(dǎo)數(shù),則有:
其中,L是D的取正向的邊界曲線(xiàn)。
通過(guò)遍歷循環(huán)原始圖像中判定輪廓的區(qū)域內(nèi)的像素點(diǎn),尋找相較于周邊色塊中的異常色塊區(qū)域并使用求最小包圍圓的算法對(duì)該區(qū)域繪制包圍圓,瑕疵點(diǎn)尋找結(jié)果如圖10所示。
圖10 瑕疵點(diǎn)尋找結(jié)果圖
已知末端位置的坐標(biāo)情況下,求解機(jī)械臂中每個(gè)舵機(jī)的運(yùn)動(dòng)角度使其達(dá)到目標(biāo)位置。將機(jī)械臂的結(jié)構(gòu)在二維平面展開(kāi),如圖11所示。
圖11 機(jī)械臂二維平面展開(kāi)圖
其中,各個(gè)關(guān)節(jié)的角度是未知量。P(x,y,a)為末端執(zhí)行器的位置表示,x和y為OXY平面的坐標(biāo),a為末端執(zhí)行器朝向。運(yùn)動(dòng)學(xué)逆解算法的核心根據(jù)已知的 L0、L1,L2求解出各個(gè)角度。
當(dāng)攝像頭發(fā)現(xiàn)畫(huà)面中的被檢測(cè)的物體時(shí),使用openCV三方庫(kù)檢查并返回一個(gè)由四個(gè)數(shù)字組成的數(shù)組,四個(gè)數(shù)字代表了物體在圖片位置的相對(duì)距離,數(shù)組順序
[top,right,left,buttom]
top:物體最上部距離圖片上邊框的距離,單位:px(像素)
right:物體最右部距離圖片右邊框的距離,單位:px(像素)
left和buttom同理
得到蘆柑在機(jī)械臂坐標(biāo)系下的坐標(biāo),進(jìn)行運(yùn)動(dòng)學(xué)逆解的求解??刂芇WM輸出機(jī)械臂兩端舵機(jī)能使機(jī)械臂末端達(dá)到相應(yīng)位置,從而實(shí)現(xiàn)蘆柑的分揀。
為了提高算法的普適性,在確保同時(shí)擁有A級(jí)、B級(jí)、C級(jí)果的情況下挑選了400個(gè)蘆柑作為實(shí)驗(yàn)樣本,在四核64位的ARM Cortex-A72架構(gòu)CPU,Raspberry Pi OS系統(tǒng)和Python3.7的編譯環(huán)境基礎(chǔ)上,對(duì)本文算法進(jìn)行驗(yàn)證。為了測(cè)試算法的有效性,本文與傳統(tǒng)的手工分揀依照吻合度的情況進(jìn)行分析,實(shí)驗(yàn)結(jié)果如表1所示。
表1 實(shí)驗(yàn)結(jié)果
定義吻合度(C)計(jì)算公式為:
通過(guò)表 1 中數(shù)據(jù)對(duì)比可以看出,人工選擇結(jié)果與機(jī)器識(shí)別結(jié)果的吻合度依次為:A級(jí)果的吻合度為 93.33 %;B級(jí)果的吻合度為 94.33%;C級(jí)果的吻合度為 90.26 %。3種蘆柑等級(jí)的吻合度平均值達(dá)92.64 %。
實(shí)驗(yàn)結(jié)果表明:基于OpenCV的蘆柑分級(jí)技術(shù)的準(zhǔn)確度已經(jīng)接近人工挑選的水平。
為驗(yàn)證機(jī)器識(shí)別分級(jí)系統(tǒng)的效率優(yōu)勢(shì),將實(shí)驗(yàn)時(shí)間設(shè)定為1 h,與人工分級(jí)進(jìn)行對(duì)比(挑選 5 個(gè)果農(nóng)進(jìn)行人工分級(jí))。
實(shí)驗(yàn)結(jié)果表明,機(jī)器分級(jí)數(shù)量約為人工分級(jí)的 1.5 倍,即機(jī)器分級(jí)速度約為人工分級(jí)的7.5 倍,效率得到大幅提升。
針對(duì)傳統(tǒng)蘆柑人工分揀方法效率低的問(wèn)題,提出了一種智能蘆柑分揀機(jī)的設(shè)計(jì)方案。通過(guò)鋁合金型材與黑色避光材質(zhì)搭配下的框架,完成了蘆柑的表面圖像采集;其次,通過(guò)OpenCV,完成了蘆柑表面瑕疵的檢測(cè),最后,運(yùn)用運(yùn)動(dòng)學(xué)逆解算法,完成了機(jī)械臂對(duì)蘆柑的抓取與投放。通過(guò)與實(shí)際的人工分揀進(jìn)行對(duì)比實(shí)驗(yàn),證明本文提出的設(shè)計(jì)在分揀速率方面優(yōu)于人工分揀方法。