單慧勇,張程皓,李晨陽(yáng),趙輝,田云臣
(1.天津農(nóng)學(xué)院工程技術(shù)學(xué)院,天津市,300384;2.天津農(nóng)學(xué)院計(jì)算機(jī)與信息工程學(xué)院,天津市,300384)
魚類前加工處理主要包括去頭、去尾、去鱗、剖切去臟及切片等環(huán)節(jié)。其中,魚類定向處理是極重要的一環(huán),能否準(zhǔn)確可靠的進(jìn)行魚體定向上料,直接關(guān)系到魚體的后續(xù)加工處理的效率和可靠性。
在魚體定向方面,陳福禮等[1]研制了鮮魚加工裝置。在其整理部分,輸送帶傾斜布置,在其輸送帶上方設(shè)有規(guī)律排列的插針。當(dāng)魚體經(jīng)過傳送帶時(shí),插針會(huì)插入魚鱗或者魚鰓中,帶動(dòng)魚體向上運(yùn)動(dòng),魚體在重力作用下,實(shí)現(xiàn)頭前尾后向前輸送。該裝置主要靠插針插入魚體鰓部或魚鱗處帶動(dòng)魚體運(yùn)動(dòng),容易造成魚體損傷。高星星等[2]利用魚體體型差異及摩擦特性,將魚體放置在傾斜的振動(dòng)臺(tái)面上,可以實(shí)現(xiàn)魚體頭尾定向。但是其試驗(yàn)樣機(jī)結(jié)構(gòu)較小,不能同時(shí)處理大批量的魚,難以推廣至生產(chǎn)線使用。此外振動(dòng)臺(tái)僅依靠四根螺桿懸掛固定,中間再無其他支撐,在工作中,振動(dòng)臺(tái)持續(xù)振動(dòng),對(duì)螺桿及機(jī)架損耗較大。向云鵬[3]針對(duì)淡水魚振動(dòng)定向方面進(jìn)行研究,研制出淡水魚振動(dòng)定向設(shè)備。該設(shè)備主要采用往復(fù)振動(dòng)的方法,對(duì)魚體實(shí)現(xiàn)頭尾定向。但是該設(shè)備若達(dá)到共振頻率時(shí),振動(dòng)設(shè)備震動(dòng)情況劇烈,而且只針對(duì)單條魚體進(jìn)行設(shè)計(jì)研究,難以適用于實(shí)際生產(chǎn)中的大批量魚體同時(shí)處理。
本文采用測(cè)量光幕掃描魚體圖像,通過對(duì)魚體圖像進(jìn)行處理,根據(jù)圖像特征識(shí)別魚體頭尾方向,同時(shí)為方便操作者實(shí)時(shí)監(jiān)測(cè)魚體狀態(tài),設(shè)計(jì)了基于Matlab環(huán)境的人機(jī)交互GUI界面。
魚加工生產(chǎn)線頭尾定向調(diào)理上料系統(tǒng)包括檢測(cè)裝置和調(diào)整裝置。檢測(cè)裝置主要由導(dǎo)向裝置和測(cè)量光幕組成??刂葡到y(tǒng)整體結(jié)構(gòu)如圖1所示。魚體在傳送帶上向前輸送,經(jīng)過導(dǎo)向裝置梳理,魚體豎直通過測(cè)量光幕[4],待魚體完全通過測(cè)量光幕后,計(jì)算機(jī)繪制魚體圖像,計(jì)算魚體長(zhǎng)度,判斷魚體頭尾方向,根據(jù)判斷結(jié)果向同步帶驅(qū)動(dòng)電機(jī)發(fā)送相應(yīng)的指令,完成魚體頭尾定向。
圖1 系統(tǒng)整體結(jié)構(gòu)示意圖
1)檢測(cè)裝置。控制系統(tǒng)中測(cè)量光幕的型號(hào)為STC-D96025測(cè)量光幕,包括發(fā)光器和受光器[5]。發(fā)光器上每隔2.5 mm有一個(gè)光束點(diǎn),與之對(duì)應(yīng)的,受光器每隔2.5 mm有一個(gè)接收點(diǎn),共包括96個(gè)光束點(diǎn),檢測(cè)范圍237.5 mm。檢測(cè)時(shí),魚體豎直經(jīng)過測(cè)量光幕,魚寬10~15 cm不等,測(cè)量光幕檢測(cè)范圍可滿足檢測(cè)需要。發(fā)光器以固定頻率不斷的發(fā)出光束,受光器檢測(cè)接收光束。自然狀態(tài)下,受光器可完全接收到發(fā)光器發(fā)出的光束,光幕以固定頻率持續(xù)掃描讀取數(shù)據(jù)[6],待魚體通過測(cè)量光幕時(shí),部分光束被遮擋,其遮擋的光束為一組數(shù)據(jù),待魚體完全通過測(cè)量光幕后,將所有的數(shù)據(jù)統(tǒng)計(jì),繪制所得的魚體圖像如圖2所示。
2)頭尾調(diào)整裝置。頭尾調(diào)整裝置主要包括機(jī)架、同步帶及驅(qū)動(dòng)電機(jī)等。同步帶驅(qū)動(dòng)電機(jī)型號(hào)為57HBP112AL4-TFA兩相四線步進(jìn)電機(jī),外接M36J驅(qū)動(dòng)器與計(jì)算機(jī)相連接。同步帶首末端均安裝有光電限位開關(guān)。
當(dāng)傳送帶輸送魚體經(jīng)過測(cè)量光幕,測(cè)量光幕掃描魚體圖像,發(fā)送至控制器,判斷魚的頭尾和腹背朝向、體態(tài)數(shù)據(jù)等。如圖3所示為頭尾調(diào)整工作原理圖,若檢測(cè)結(jié)果為頭前尾后,則不向后續(xù)同步帶驅(qū)動(dòng)電機(jī)發(fā)送指令,移動(dòng)平板位于原點(diǎn)處(同步帶中心位置)。魚體在傳送帶帶動(dòng)下向前輸送,在傳送帶末端掉落到弧形滑軌中,保持頭前尾后姿態(tài)輸出。檢測(cè)結(jié)果為尾前頭后,計(jì)算機(jī)向同步帶驅(qū)動(dòng)電機(jī)發(fā)送運(yùn)動(dòng)指令,帶動(dòng)移動(dòng)平板向傳送帶末端移動(dòng),平板到位后觸發(fā)光電限位開關(guān),自動(dòng)停靠在傳送帶末端。傳送帶末端布置有光電開關(guān),待魚體到達(dá)傳送帶末端時(shí),遮擋光電開關(guān),根據(jù)繪制的魚體圖像,分析計(jì)算魚體長(zhǎng)度及重心位置,設(shè)定合適的延遲時(shí)間,待魚體一部分移動(dòng)到平板上后,同步帶驅(qū)動(dòng)電機(jī)反轉(zhuǎn),速度與傳送帶速度一致,保證魚體在不掉落的情況下,向前繼續(xù)運(yùn)送待魚體離開傳送帶末端,因魚體一部分搭在平板上,魚體在重力作用下掉落,翻轉(zhuǎn)落入弧形滑道,最后保證頭前尾后向前運(yùn)送。
(a)頭前尾后
采用Modbus RTU通訊協(xié)議[7],通過RS485問答方式與測(cè)量光幕和步進(jìn)電機(jī)M36J驅(qū)動(dòng)器通訊,在Matlab環(huán)境中開發(fā)控制系統(tǒng),系統(tǒng)總體控制流程圖如圖4所示。
圖4 控制系統(tǒng)總體流程圖
為方便操作者監(jiān)測(cè)魚體狀態(tài)及各項(xiàng)數(shù)據(jù),實(shí)時(shí)調(diào)整各項(xiàng)參數(shù),設(shè)計(jì)Matlab GUI控制界面[8],如圖5所示??刂平缑姘ú僮骺刂茀^(qū)、參數(shù)配置區(qū)、圖像顯示區(qū)及狀態(tài)顯示欄4部分。操作控制區(qū)包括開關(guān)按鈕、調(diào)整平板復(fù)位按鈕等,可以控制程序總體啟停,平板初始化。參數(shù)配置區(qū)可設(shè)置平板等待時(shí)間與魚體經(jīng)過測(cè)量光幕時(shí)間的比例參數(shù)、調(diào)整平板移動(dòng)速度。
圖5 GUI控制界面
t1=t/n
(1)
式中:t1——平板等待時(shí)間;
t——魚體經(jīng)過光幕的時(shí)間;
n——比例參數(shù)。
圖像顯示區(qū)包括三個(gè)圖窗,其中上部較大的圖窗可以顯示魚體輪廓曲圖像,下側(cè)圖像分別顯示魚體頭尾曲線擬合圖,便于操作者實(shí)時(shí)監(jiān)測(cè)控制系統(tǒng)頭尾識(shí)別過程。狀態(tài)顯示欄可以顯示調(diào)整的魚體數(shù)量、時(shí)間、魚體長(zhǎng)度及頭尾方向。
魚體圖像處理控制流程如圖6所示。
圖6 魚體圖像處理流程圖
2.2.1 圖像預(yù)處理
光幕檢測(cè)較為敏感,可精準(zhǔn)的檢測(cè)魚體輸送過程中是否發(fā)生歪斜,同時(shí)掃描的魚體截面間隙較大,需對(duì)圖像進(jìn)行預(yù)處理。魚體截面圖由多組不同長(zhǎng)度的直線組成,將圖像轉(zhuǎn)換為二值圖像,根據(jù)圖像間隙特征,進(jìn)行閾值尋優(yōu),選定構(gòu)建半徑為11的平面圓盤形的結(jié)構(gòu)元素對(duì)其執(zhí)行形態(tài)學(xué)膨脹處理[9],可保證圖像基本特征不變的前提下,將松散的直線連通。
圖7 膨脹后的圖像
圖像間隙填充完成后,需對(duì)魚體邊緣輪廓進(jìn)行提取,Canny算法受噪聲影響較小,保存的邊緣信息最完整[10],因此使用Canny邊緣檢測(cè)算法提取圖像輪廓。Canny邊緣檢測(cè)分為以下四步。
1)高斯濾波:使用高斯濾波對(duì)圖像進(jìn)行去噪,使圖像變得平滑,高斯函數(shù)是一個(gè)類似與正態(tài)分布的中間大兩邊小的函數(shù)。對(duì)于一個(gè)位置(m,n)的像素點(diǎn),其灰度值(這里只考慮二值圖)為f(m,n)。經(jīng)高斯濾波后的灰度值
(2)
式中:gσ——經(jīng)高斯濾波后的圖像灰度值;
f(m,n)——(m,n)點(diǎn)處圖像的灰度值;
σ——標(biāo)準(zhǔn)差。
2)計(jì)算梯度幅值及方向:灰度值變化較大的像素點(diǎn)的集合即為邊緣。在圖像中,用梯度來表示灰度值的變化程度和方向。通過式(3),式(4)計(jì)算梯度幅值和方向。
(3)
(4)
式中:G(m,n)——圖像邊緣的梯度幅值;
α——圖像邊緣的梯度方向;
gx(m,n)——x方向梯度幅值;
gy(m,n)——y方向梯度幅值。
3)邊緣點(diǎn)過濾:采用非極大值抑制法[11],對(duì)邊緣點(diǎn)進(jìn)行檢測(cè),對(duì)每個(gè)像素點(diǎn)沿其梯度方向比較其前后的梯度值,若該像素點(diǎn)屬于邊緣,它在梯度方向上的梯度值是最大的,否則不是邊緣,將其灰度值設(shè)為0。
(5)
4)雙閾值法檢測(cè)邊緣:設(shè)置兩個(gè)閾值,分別為maxVal和minVal。其中大于maxVal的都被檢測(cè)為邊緣,而低于minVal的都被檢測(cè)為非邊緣。對(duì)于中間的像素點(diǎn),如果與確定為邊緣的像素點(diǎn)鄰接,則判定為邊緣;否則為非邊緣。
經(jīng)Canny邊緣檢測(cè)算法提取后的魚體輪廓圖如圖8所示,其邊線較為模糊,對(duì)輪廓圖執(zhí)行形態(tài)學(xué)開運(yùn)算[12],對(duì)圖像輪廓進(jìn)行增強(qiáng),優(yōu)化后圖像如圖9所示。
圖8 圖像輪廓提取
圖9 優(yōu)化圖像輪廓
在測(cè)量光幕前端有導(dǎo)向裝置可對(duì)魚體起到一定梳理導(dǎo)向的作用,測(cè)量光幕檢測(cè)精度可達(dá)2.5 mm,在外界的干擾下魚身難免會(huì)發(fā)生偏移,如圖8則為發(fā)生偏移的魚體圖像,為增加頭尾腹背檢測(cè)可靠性,對(duì)圖像進(jìn)行矯正,使魚身頭尾軸水平[13]。采用Radon變換法對(duì)魚體圖像進(jìn)行矯正[14],Radon變換是一種積分變換算法,其原理是將目標(biāo)圖像里經(jīng)過某一點(diǎn)(m,n)的直線ρ=mcosθ+nsinθ,投影到對(duì)應(yīng)參數(shù)空間里的一個(gè)點(diǎn),其原理公式如式(6),式(7)所示。
(6)
(7)
式中:D——圖像平面;
f(m,n)——圖像中點(diǎn)(m,n)像素點(diǎn)的灰度值;
ρ——圖像中點(diǎn)(m,n)與原點(diǎn)之間的長(zhǎng)度;
θ——該直線與原點(diǎn)間的垂線與x軸的角度。
Radon變換的本質(zhì)是將原函數(shù)做了一個(gè)空間轉(zhuǎn)換[15]其轉(zhuǎn)換效果可理解為將圖像順時(shí)針旋轉(zhuǎn)了θ角之后映射到水平軸上。矯正后魚體圖像如圖10所示,通過邊界點(diǎn)追蹤定位魚體,將背景多余部分裁剪剔除,魚體定位效果如圖11所示。
圖10 Radon變換后魚體圖像
圖11 魚體定位
2.2.2 魚體頭尾識(shí)別
通過對(duì)魚體頭尾部分輪廓進(jìn)行擬合,結(jié)果如圖12、圖13所示,頭部輪廓與拋物線相似,尾部形狀與三周期內(nèi)正弦函數(shù)圖線相似,可利用頭尾圖像角點(diǎn)數(shù)量差別,對(duì)魚體頭尾進(jìn)行識(shí)別。采用Harris算子[16]進(jìn)行檢測(cè)識(shí)別魚體頭尾朝向。
圖12 魚體頭部擬合曲線
圖13 魚體尾部擬合圖線
Harris算子是1988年由Chris Harris等提出的[17],具有旋轉(zhuǎn)不變性的角點(diǎn)相應(yīng)測(cè)度。其檢測(cè)原理如下:通過控制特定像素大小的選框在圖像中移動(dòng),選框移動(dòng)過程中,計(jì)算其移動(dòng)前后灰度值的變化,若選框在某一方向移動(dòng)中,灰度值發(fā)生突變,則判定為該選框部分存在有角點(diǎn)。
圖像I(x,y)在點(diǎn)(x,y)處平移(u,v)后產(chǎn)生的灰度變化E(x,y,u,v)如式(8)所示。
I(x,y)]2
(8)
式中:S——移動(dòng)選框的區(qū)域;
w(x,y)——窗口函數(shù)(可以為常數(shù)或是高斯函數(shù));
I(x+u,y+v)——平移后的圖像灰度;
I(x,y)——平移前的圖像灰度。
對(duì)平移后的圖像灰度公式I(x+y,u+v)進(jìn)行泰勒展開
(9)
灰度變化可寫為
(10)
(11)
M是關(guān)于x,y的二階函數(shù),因此E(x,y,u,v)是一個(gè)橢圓方程,M的特征值決定了橢圓的大小及扁率,其特征矢量決定了橢圓的方向[18]。
圖14 橢圓方程示意圖
使用Harris算法對(duì)魚體輪廓圖像進(jìn)行檢測(cè),檢測(cè)結(jié)果如圖15所示,尾部角點(diǎn)數(shù)量大于頭部角點(diǎn)個(gè)數(shù),根據(jù)圖像檢測(cè)出的角點(diǎn)數(shù)量差別,可精準(zhǔn)識(shí)別魚體頭尾。
圖15 頭部輪廓檢測(cè)圖
圖16 尾部輪廓檢測(cè)
為檢驗(yàn)控制系統(tǒng)識(shí)別魚體頭尾的可靠性,購(gòu)買淡水魚進(jìn)行試驗(yàn),采集魚體參數(shù)及各種不同姿態(tài)的魚體圖像,檢測(cè)系統(tǒng)頭尾識(shí)別準(zhǔn)確率,同時(shí)在頭尾識(shí)別成功的條件下,檢測(cè)調(diào)整裝置對(duì)魚體頭尾定向的成功率。
試驗(yàn)采用市場(chǎng)購(gòu)得的草魚進(jìn)行試驗(yàn),為檢測(cè)系統(tǒng)識(shí)別準(zhǔn)確性及調(diào)整裝置的適應(yīng)性,選購(gòu)的草魚長(zhǎng)度差異較大,部分草魚參數(shù)如表1所示。
表1 草魚參數(shù)
為檢測(cè)輸送速度對(duì)系統(tǒng)識(shí)別頭尾方向的影響,同時(shí)尋找最優(yōu)輸送速度,設(shè)定不同的輸送速度,每一個(gè)輸送速度下進(jìn)行150次試驗(yàn),觀察系統(tǒng)的識(shí)別結(jié)果,試驗(yàn)數(shù)據(jù)如表2所示。
表2 輸送速度對(duì)檢測(cè)結(jié)果的影響
通過觀察光幕掃描圖像,輸送速度大于15 cm/s時(shí),魚體經(jīng)過光幕時(shí)間較短,掃描的魚體圖像中像素點(diǎn)較為松散,膨脹處理時(shí)圖像填充效果較差,擬合出的魚體輪廓不理想。根據(jù)試驗(yàn)結(jié)果分析,輸送帶速度設(shè)定為10 cm/s時(shí),其判斷成功率接近95%,同時(shí)檢測(cè)時(shí)長(zhǎng)為6 s,檢測(cè)時(shí)間較短,成功率較高。
在頭尾調(diào)整部分,頭前尾后時(shí),平板不動(dòng)作,魚體能穩(wěn)定掉落至弧形滑道中,頭前尾后輸送上料,其成功率為100%。尾前頭后狀態(tài),需要進(jìn)行調(diào)整,設(shè)定輸送速度均為10 cm/s,通過設(shè)定不同的n值,可改變魚尾搭上平板的長(zhǎng)度。
l1=l/n
(12)
式中:l1——魚體搭上調(diào)整平板的長(zhǎng)度;
l——魚體總長(zhǎng);
n——比例參數(shù)。
試驗(yàn)數(shù)據(jù)如表3所示。
表3 不同上板長(zhǎng)度對(duì)調(diào)整結(jié)果的影響
經(jīng)試驗(yàn)驗(yàn)證,針對(duì)草魚,n值設(shè)置為3時(shí),即魚體1/3搭上平板,平板開始運(yùn)動(dòng),調(diào)整效果最佳,成功率可達(dá)90%,同時(shí)發(fā)現(xiàn),不同上板長(zhǎng)度對(duì)調(diào)整時(shí)長(zhǎng)無顯著影響。
圖17 系統(tǒng)測(cè)試
使用Matlab軟件,以Modbus RTU協(xié)議為通訊協(xié)議,設(shè)計(jì)了魚體頭尾調(diào)整控制系統(tǒng),通過光幕掃描的魚體圖像,對(duì)魚體圖像進(jìn)行處理,通過提取魚體輪廓曲線,對(duì)魚體頭尾曲線進(jìn)行擬合,采用Harris角點(diǎn)檢測(cè)算法輔助識(shí)別頭尾方向。在此基礎(chǔ)上,設(shè)計(jì)了調(diào)整裝置對(duì)魚體實(shí)現(xiàn)頭尾定向調(diào)整。初步實(shí)驗(yàn)結(jié)果表明,根據(jù)光幕掃描的魚體圖像進(jìn)行頭尾檢測(cè)識(shí)別的成功率可達(dá)95%,頭尾調(diào)整裝置對(duì)魚體定向成功率可達(dá)90%,系統(tǒng)控制精度高,處理速度較快,可靠性較好,可滿足生產(chǎn)加工需求。對(duì)比當(dāng)前機(jī)械加工中單純依靠魚類體態(tài)特征和機(jī)械結(jié)構(gòu)實(shí)現(xiàn)頭尾定向,更為可靠,使用光幕掃描魚體進(jìn)行頭尾定向可實(shí)現(xiàn)無損檢測(cè),更容易保護(hù)魚體。
研究主要針對(duì)草魚,對(duì)于其他種類特征差別較大的魚體適用性有待進(jìn)一步研究,后續(xù)將研究各種不同魚體的種類識(shí)別與頭尾定向算法。
中國(guó)農(nóng)機(jī)化學(xué)報(bào)2021年3期