李朋朋 李雨樂 曾凡一 劉 陽 張 旭 王慧慧,2
羅非魚(Tilapia),又稱非洲鯽魚,具有肉質(zhì)鮮美、蛋白質(zhì)含量高、脂肪含量低等特點[1]。中國羅非魚的加工制品主要為條凍魚和冷凍魚片[2],其中條凍魚的前處理加工過程主要包括去鱗、去內(nèi)臟和清洗等環(huán)節(jié),而去鱗質(zhì)量直接影響羅非魚的外觀品質(zhì)和商業(yè)價值[3-4]。目前去鱗率的檢測主要由人工完成,主觀性較強,效率低且無法為去鱗設(shè)備加工狀態(tài)檢測和優(yōu)化提供實時或統(tǒng)計數(shù)據(jù)支持。
隨著光學(xué)儀器和傳感器技術(shù)的發(fā)展,機器視覺技術(shù)作為一種快速、無損、經(jīng)濟的檢測方法,已被廣泛應(yīng)用于水產(chǎn)品的品質(zhì)評估、分類、分級等研究中[5-7]。Sture等[8]使用3D彩色成像的機器視覺系統(tǒng)根據(jù)魚的三維幾何特征和顏色信息完成了對大西洋鮭魚的質(zhì)量分級。Issac等[9]基于計算機視覺建立的魚鰓質(zhì)量與新鮮度評估模型可以較準(zhǔn)確地預(yù)測魚的新鮮度。Wang等[10]研究表明高光譜技術(shù)可用于鯉魚去鱗率檢測,但該技術(shù)僅利用光譜數(shù)據(jù)預(yù)測鯉魚去鱗率,并未實現(xiàn)去鱗區(qū)域的可視化,此外高光譜設(shè)備價格昂貴,將其應(yīng)用于實際生產(chǎn)中還比較困難。朱鑫宇等[11]建立了基于熒光響應(yīng)的去鱗率視覺檢測系統(tǒng),該系統(tǒng)具有較好的識別效果,但系統(tǒng)對于去鱗區(qū)域的識別由卷積神經(jīng)網(wǎng)絡(luò)算法實現(xiàn),圖像處理和數(shù)據(jù)運行時間相對較長。
研究擬在文獻[11]的基礎(chǔ)上,利用羅非魚魚鱗和魚皮的熒光響應(yīng)差異構(gòu)建羅非魚去鱗率在線檢測系統(tǒng),建立針對羅非魚去鱗率檢測的圖像預(yù)處理、背景分割、ROI區(qū)域選取、未去鱗區(qū)域快速識別等算法實現(xiàn)去鱗區(qū)域和未去鱗區(qū)域的快速識別和去鱗率計算。并在生產(chǎn)現(xiàn)場進行系統(tǒng)的驗證,以期為實現(xiàn)羅非魚加工生產(chǎn)線自動化提供技術(shù)支持。
魚鱗主要由膠原蛋白和羥基磷灰石組成,在可見光下呈半透明狀[12]。前期研究[11]表明,在紫外光源激發(fā)下,魚鱗會呈現(xiàn)較強的熒光反射,而魚皮則在相同條件下熒光響應(yīng)較差。因此可利用魚鱗與魚皮的熒光響應(yīng)差值區(qū)分有鱗區(qū)域和無鱗區(qū)域從而計算魚體的去鱗率。在360~370 nm紫外光照射下,羅非魚的魚鱗、魚皮熒光響應(yīng)差距較大,視覺檢測效果最好。
構(gòu)建如圖1所示的羅非魚去鱗率檢測系統(tǒng)。該系統(tǒng)工業(yè)相機(Basler acA2000-165um)為CMOS彩色面陣相機,分別率為2 048像素×1 088像素;鏡頭固定焦距為8 mm,光圈范圍為F1.4~F16,分辨率為2 MP;紫外激發(fā)光源為條形光源;濾波片中心波長為365 nm;輸送裝置由調(diào)速電機控制;計算機內(nèi)集成了自行開發(fā)的控制軟件,可實現(xiàn)圖像的自動采集、處理過程實時顯示、去鱗率的統(tǒng)計及與上位機的通訊等,軟件開發(fā)采用LabVIEW2016。為防止外界光線對檢測的干擾,將相機與光源安裝于暗箱內(nèi);8條光源分兩組安裝于暗箱兩側(cè),與水平方向呈45°,與輸送帶表面的垂直距離為55 mm;輸送裝置運行速度為0.3 m/s,輸送帶表面為草紋狀以防止魚體滑動給檢測帶來干擾。
系統(tǒng)的檢測流程如圖2所示,包括圖像自動采集、圖像預(yù)處理與背景分割、ROI區(qū)域確定、未去鱗區(qū)域識別等模塊。
圖1 羅非魚去鱗檢測系統(tǒng)示意圖Figure 1 Schematic diagram of tilapia descaling detection system
圖2 系統(tǒng)檢測流程圖Figure 2 Flow chart of system detection
為了使相機準(zhǔn)確抓取目標(biāo),采用閾值法對相機輸出的實時圖像設(shè)置目標(biāo)觸發(fā)檢測線。圖3為魚體觸發(fā)相機獲取圖像示意圖。設(shè)圖像左上角O為像素坐標(biāo)系的原點,圖像中某一像素點坐標(biāo)(u,v)代表該點在數(shù)字圖像數(shù)組中的行列數(shù)。在圖3中,檢測線AB的起點位置A的坐標(biāo)為(uA,vA),終點位置B的坐標(biāo)為(uA,vB)。當(dāng)魚通過檢測線位置時,魚體與接觸線接觸的起點位置A'的坐標(biāo)為(uA,vA′),終點B'的坐標(biāo)為(uA,vB′),此時A'B'位置檢測線上像素值發(fā)生變化,當(dāng)檢測線上發(fā)生改變的像素值達到一定數(shù)目時觸發(fā)圖像采集。
為了減小輸送帶綠色背景和魚鱗藍色熒光反射對觸發(fā)造成的干擾,選取R通道顏色值作為顏色特征值。無魚經(jīng)過檢測線時,檢測線AB上所有像素的R通道值的總和為SAB;有魚通過檢測線時,檢測線上的所有像素的R通道值的總和為SAA′B′B。分別按式(1)、式(2)計算SAB和SAA′B′B。
(1)
(2)
式中:
RuAvi——數(shù)字圖像數(shù)組中第uA行vi列處像素的紅色通道顏色值。
當(dāng)滿足SAB
2.2.1 閾值分割 采用加權(quán)平均值法[13]對彩色魚體圖像[圖4(a)]進行灰度化處理,處理結(jié)果如圖4(b)所示。為將魚體區(qū)域與輸送帶背景進行分割,采用最大類間方差法[14-15]對灰度圖像進行二值化處理。該方法基于圖像的統(tǒng)計特性實現(xiàn)閾值自動選取,即選取確定灰度值將整幅圖像進行背景分割,計算分割后的類間方差,當(dāng)類間方差最大時所對應(yīng)的灰度值為最佳閾值[16]。通過試驗得知,當(dāng)灰度值為80時分割效果最好,分割結(jié)果見圖4(c)。
2.2.2 形態(tài)學(xué)處理 閾值分割后,魚體區(qū)域仍有孔洞區(qū)域存在,可能對后續(xù)背景的分割產(chǎn)生影響。采用Canny算子[17-18]對閾值分割后的圖像進行輪廓提取,然后將輪廓內(nèi)魚體區(qū)域中的內(nèi)部孔洞進行填充。設(shè)內(nèi)部孔洞大小為N,像素值為0,填充粒子大小為M,像素值為1,孔洞填充按式(3)運算:
(3)
式中:
H(u,v)——輪廓區(qū)域內(nèi)第v行u列像素值;
Nmax——孔洞最大尺寸;
Mmin——填充粒子最小尺寸。
經(jīng)試驗得知Mmin為5像素×5 像素時填充效果最好,輪廓內(nèi)部像素值設(shè)為255,此時填充后灰度圖像見圖4(d)。
圖像填充后,采用低通濾波法[19]去除魚體輪廓外部雜散的噪聲點。該方法是利用待處理像素與周圍領(lǐng)域內(nèi)像素的均值進行像素間的差值比較,若待處理像素與周圍領(lǐng)域內(nèi)像素均值的差值大于指定的百分比,則將待處理像素設(shè)置為周圍領(lǐng)域內(nèi)像素均值,否則待處理像素值保持不變。當(dāng)領(lǐng)域尺寸設(shè)置為7像素×7像素、百分比為40時,濾波除雜效果最好,處理后圖像如圖4(e)所示。低通濾波處理后的圖像中仍有少量離散點,采用閉運算處理進一步消除離散點。圖像的閉運算是圖像依次進行膨脹、腐蝕處理后的過程,能夠消除圖像中魚體輪廓外的離散點,平滑輪廓邊界的同時不改變其面積。經(jīng)試驗,當(dāng)結(jié)構(gòu)元素尺寸為3像素×3 像素時,離散點被消除且魚體區(qū)域輪廓形狀保持不變,處理結(jié)果見圖4(f)。
2.2.3 背景分割 將圖4(f)與圖4(a)進行圖像運算以獲得去除背景后的彩色魚體區(qū)域。設(shè)未處理彩色圖像位置像素為SrcA(x,y),圖像預(yù)處理后的位置像素為SrcB(x,y),式(4)為去除背景的彩色魚體區(qū)域位置像素Dst(x,y)的表達式。
Dst(x,y)=SrcA(x,y)×SrcB(x,y),
(4)
式中:
(x,y)——圖像中像素點的位置坐標(biāo)。
圖4(g)為去除背景后的彩色魚體圖像。
原始彩色圖像去除背景后, 魚體區(qū)域的魚頭、腹鰭、尾鰭、背鰭和臀鰭均會對去鱗檢測造成干擾。生物體雖具有其自身的形狀和大小,但魚頭、魚尾、魚鰭比例近似,據(jù)此,基于最小外界矩形法[20]并結(jié)合統(tǒng)計計算對上述干擾區(qū)域予以去除。隨機選擇10個批次共計300條羅非魚進行圖像采集和處理,對圖像進行橫向和縱向掃描,構(gòu)建最小外接矩形。魚的長度(L)和寬度(W)、魚頭(K頭)、尾鰭(K尾)的長度,腹鰭(K腹)、背鰭(K背)的寬度測量見圖5,計算K頭和K尾所占魚體長度的比例以及K腹和K背所占魚體寬度的比例,統(tǒng)計數(shù)據(jù)見表1。根據(jù)統(tǒng)計結(jié)果將K頭/L、K尾/L、K腹/W、K背/W分別確定為0.212,0.238,0.084,0.166,由此可得去除頭部、尾鰭、腹鰭和部分背鰭的ROI區(qū)域,即圖6中的矩形mnrs。由圖6中的橢圓區(qū)域可以看出,臀鰭和部分背鰭對去鱗率的計算有干擾,因此分別構(gòu)建opn和oqr 2個掩膜區(qū)域來去除干擾,其中所選o點為bc的中點,p點和q點分別為ab和cd的三等分點。綜上,將圖6中mpoqs區(qū)域作為去鱗與未去鱗的ROI識別區(qū)域。
圖4 圖像處理結(jié)果Figure 4 Results of image processing
圖5 干擾區(qū)去除Figure 5 Removal of interference zone
圖6 ROI選取Figure 6 Selection of ROI
隨機選擇300個未去鱗區(qū)域和去鱗區(qū)域分別計算R(紅色)、G(綠色)和B(藍色)通道顏色平均值,結(jié)果如圖7所示。由圖7可知,未去鱗區(qū)域和去鱗區(qū)域的B、G通道平均顏色值有明顯差異,B通道顏色值差異最大,R通道顏色平均值無明顯規(guī)律;未去鱗區(qū)域的B通道顏色平均值大于180,G通道顏色平均值小于140;去鱗區(qū)域的B通道顏色值小于180,G通道顏色值大于140。因此采用B通道顏色值和G通道顏色值作為顏色特征值來建立像素閾值T1和T2從而對羅非魚進行未去鱗區(qū)域和去鱗區(qū)域的識別。T1和T2分別按式(5)、式(6)計算。
表1 魚頭和尾鰭長度占比、腹鰭和背鰭寬度占比統(tǒng)計Table 1 Statistics of fish head, caudal, pelvic fin and dorsal
T1=B-G>0‖B>180,
(5)
T2=B-G<0‖B<140,
(6)
式中:
B——藍色通道顏色值;
G——綠色通道顏色值。
以彩色魚體未去鱗區(qū)域圖像為例,進行像素閾值計算和灰度化處理,未去鱗識別效果見圖8。
圖7 未去鱗區(qū)域與去鱗區(qū)域通道顏色值Figure 7 Channel color values of scaled region and descaled region
圖8 未去鱗區(qū)域識別Figure 8 The identification of descaled areas
為對去鱗檢測系統(tǒng)進行評估,在羅非魚加工企業(yè)進行系統(tǒng)性能測試,現(xiàn)場測試系統(tǒng)如圖1所示。
3.1.1 人工去鱗率計算 采用硫酸紙法[21-22],即將硫酸紙覆蓋在魚體單側(cè),用鉛筆勾勒出魚體輪廓和魚鱗的外形,再使用單位坐標(biāo)紙對硫酸紙上魚的外輪廓及去鱗外形的面積進行統(tǒng)計,按式(7)計算去鱗率。
(7)
式中:
P——羅非魚的去鱗率,%;
S1——未去鱗區(qū)域面積之和;
S2——加工前被加工面上魚鱗面積總和。
3.1.2 去鱗率檢測精度驗證 選取不同轉(zhuǎn)速條件下滾筒去鱗加工后的羅非魚,魚長約為290~330 mm,魚寬約為100~120 mm,魚重約為588~712 g,將選取的羅非魚分成3個批次,每個批次10條羅非魚,依次進行傳統(tǒng)去鱗率檢測和機器視覺去鱗率檢測,按式(8)計算去鱗率檢測。
(8)
式中:
A——去鱗率檢測精度,%;
P1——人工檢測去鱗率,%;
P2——機器視覺檢測去鱗率,%。
由表2可知,機器視覺檢測去鱗率的精度為90.18%~94.14%,檢測速度為0.294 4~0.341 1 m/s,均滿足生產(chǎn)線檢測要求。當(dāng)羅非魚的去鱗率較低時,機器視覺的去鱗率檢測的精度也隨之下降。滾筒式去鱗機難以將靠近背鰭和腹鰭位置的魚鱗去除,而正好靠近背鰭位置的魚鱗顏色較暗,紫外激發(fā)光源照射下的魚鱗熒光反射較弱;靠近腹鰭位置的鱗片較小,都可能是造成去鱗率降低檢測精度下降的原因。
表2 3個批次下羅非魚的去鱗率檢測試驗結(jié)果Table 2 Test results of descaling rate of three batches of tilapia
基于機器視覺技術(shù)構(gòu)建了針對羅非魚加工生產(chǎn)線的去鱗率無損、快速檢測系統(tǒng)。利用魚鱗和魚皮在紫外激發(fā)下的熒光響應(yīng)差異,提出了專門針對羅非魚去鱗率檢測的圖像預(yù)處理、背景分割、ROI區(qū)域選取、未去鱗區(qū)域快速識別等算法,生產(chǎn)現(xiàn)場驗證去鱗率檢測精度為90.18%~94.14%,滿足生產(chǎn)線檢測要求。由于檢測精度與光源照射有關(guān),后期將通過調(diào)整光源角度優(yōu)化在線檢測系統(tǒng)從而提高檢測精度。