鄭貴君,周聰玲,王永強
(天津科技大學機械工程學院,天津 300222)
目前,常用殺魚機多采用固定的剖腹刀具,對不同種類和體型的魚適應性程度低,容易造成腹部剖切不完全或過度剖切的問題。腹部剖切不完全,導致切口過小,不利于魚類加工后續(xù)的去內臟處理,降低工作效率;剖切過度時,切口過大,影響魚體美觀,并且會造成苦膽破裂,影響口感。
隨著機器視覺技術在漁業(yè)加工領域的廣泛應用,針對漁業(yè)養(yǎng)殖、生產(chǎn)的研究逐漸深入。李楷模等[1]提出了視覺引導淡水魚自動去頭尾系統(tǒng)關鍵技術;Liang等[2]利用機器視覺技術設計了一種自動生魚處理系統(tǒng),可以加快對魚的清潔和稱重;王成[3]進行了基于機器視覺的魚類定制切斷方法研究;Liao等[4]利用魚體表面顏色的變化來預測儲存過程中的新鮮度指數(shù)(APC指數(shù)),評估了開發(fā)紫外光的機器視覺系統(tǒng)的可行性;單慧勇等[5]進行了魚加工生產(chǎn)線頭尾定向調理上料系統(tǒng)設計與試驗,采用了結構光的方式,提取魚體相關信息;何建雄[6]進行了淡水魚加工生產(chǎn)線魚體頭尾腹背定向技術研究,進行了魚體定向算法的研究;Azarmde等[7-8]提出了一種基于機器視覺技術的鱒魚加工系統(tǒng)的定位和切點確定算法,該算法可以檢測胸鰭、臀鰭、腹鰭、尾鰭的位置。包思圓等[9]進行了關于魚的辨別的研究,趙慧等[10]在魚辨別的基礎上進行了魚體分割的研究,李鑫星等[11]進行了魚體新鮮度的檢測研究,李艷君[12]基于立體視覺技術,進行了魚體動態(tài)尺寸測量的研究,但上述研究都沒有涉及魚體上點的定位以及位置精度要求。在魚類加工設備方面,王啟航[13]采用機器視覺技術,進行了淡水魚定向與切頭設備的研究。唐友全[14]進行了殺魚機的研究,但并未引入機器視覺技術,智能化水平低。盡管存在如上研究,但目前針對殺魚機剖腹刀具自動控制的視覺檢測方法研究卻很少,目前的殺魚機剖腹刀具仍需要手動調節(jié)其高度位置[15],自動化程度低。
本研究利用機器檢測技術,提出了一種用于殺魚機剖腹刀具自動控制的視覺檢測方法。通過長寬比、斜率以及像素面積等特征尋找入刀點的位置,即剖腹刀具運動開始的位置;通過邊緣檢測和角點檢測的方法提取出刀點的位置,即剖腹刀具運動結束的位置;最后準確得到魚體的腹部輪廓,通過相機標定獲取魚體腹部輪廓的實際空間坐標,進而控制刀具實時調節(jié)運動。
通過設計的夾持運動裝置分別夾緊魚頭魚尾,圖像采集裝置采集魚體圖像;利用圖像處理技術提取魚身的入刀點、出刀點以及兩點間的腹部輪廓。由圖像處理技術和標定技術準確獲取魚腹輪廓的實際空間坐標,作為剖腹刀具實時柔性調節(jié)的輸入控制信號,實現(xiàn)精確控制剖腹刀具上下運動。系統(tǒng)檢測原理如圖1所示。
圖1 檢測原理示意圖
為獲取魚腹的空間信息,需要通過圖像分割確定包含入刀點和出刀點的感興趣區(qū)域。首先將魚體和背景分割開,然后分割出所需要的感興趣區(qū)域,進而在對應的感興趣區(qū)域中提取相應特征,最后提取兩點之間的腹部輪廓。
本研究將所采集到的白鰱魚彩色圖像轉化到HSV顏色空間,H表示色調,S表示飽和度,V表示亮度。提取飽和度S通道圖像數(shù)據(jù),如圖2所示,此時灰度直方圖成雙峰狀,其中橫軸表示灰度值,范圍是0~255,縱軸表示灰度值的頻數(shù),利用最大類間方差法[16]將魚體和背景分離。通過對圖像物理尺寸分割,得到入刀點和出刀點的感興趣區(qū)域,分割方法如圖3所示。
圖2 S通道下白鰱魚灰度直方圖
圖3 分割方法流程圖
魚體輪廓所在的最小外接矩形區(qū)域[17]原點坐標O(u1,v1)和對角點E點坐標(u2,v2),可以計算出v方向上的中點C和u方向上的中點D的坐標,進而得到兩個四分點F、G點的坐標,最后將圖片等面積分割,提取出入刀點和出刀點的感興趣區(qū)域,如圖4所示。
圖4 區(qū)域分割示意圖
本研究首先在入刀點感興趣區(qū)域中通過閾值分割、圖像濾波、特征提取來獲得魚鰓處的最小外接矩形區(qū)域[18],然后得到入刀點的位置。
采用灰度中值進行閾值分割,灰度中值定義如式(1)所示:
(1)
式中:b為灰度中值;H為入刀點感興趣區(qū)域的最大灰度值;h為入刀點感興趣區(qū)域的最小灰度值。
閾值分割后的圖像通過形態(tài)學處理去掉像素個數(shù)過少的噪聲區(qū)域,處理結果如圖5(a)所示。每個連通域都可以計算出其最小外接矩形,如圖5(b)所示。
圖5 連通域及其最小外接矩形
得到各連通域的最小外接矩形之后,采用求取若干最小外接矩形長寬比的平均值、長邊斜率的正負以及像素面積三個特征值的方法,最終篩選出魚鰓區(qū)域的最小外接矩形。最小外接矩形的長寬比是指最小外接矩形長邊L和短邊W的比值,如式(2)所示,其平均值是統(tǒng)計出所有最小外接矩形的長寬比,然后求均值得到,如式(3)所示。
(2)
(3)
式中:r代表最小外接矩形的長寬比,c代表長寬比的平均值,n代表最小外接矩形的個數(shù)。
計算流程如圖6所示。在得到魚鰓處最小外接矩形(圖7中的紅色區(qū)域)后,遍歷尋找4個角點中v坐標最大的角點,從該點沿著v軸正方向做垂線,與腹部輪廓的交點(圖7中魚腹輪廓中的紅色角點)即可確定為刀具入刀點的位置。
圖6 魚鰓區(qū)域最小外接矩形篩選流程圖
圖7 入刀點位置
本研究先通過閾值分割、形態(tài)學處理在出刀點感興趣區(qū)域中提取出臀鰭圖像[19-22],然后利用邊緣檢測提取出臀鰭邊緣輪廓,最后通過角點檢測確定出刀點,具體流程圖如圖8所示。
圖8 出刀點提取流程圖
在出刀點感興趣區(qū)域中,臀鰭和魚身顏色對比明顯,灰度直方圖呈現(xiàn)雙峰,通過最大類間方差法可以提取出臀鰭區(qū)域[23],如圖9(a)所示。利用canny算子邊緣檢測提取臀鰭邊緣,首先利用二維高斯卷積核K對圖像進行濾波,如式(4)所示:
(4)
式中:σ是高斯函數(shù)的標準差。
接下來通過水平和垂直方向的梯度算子,來計算梯度的模和方向,如式(5)、式(6)所示:
(5)
(6)
式中:Gu和Gv是水平和豎直方向上的梯度算子,G是梯度的模,θ是梯度方向。
采用非極大值抑制,利用線性插值,去除非邊緣像素[24-29]。提取結果如圖9(b)所示。
得到臀鰭圖像邊緣后,本研究采用Harris角點檢測,其數(shù)學模型如式(7)所示:
(7)
式中:w(u,v)是窗口函數(shù);E(u1,v1)描述窗口函數(shù)在圖像上滑動前與滑動后的灰度變化情況;I(u,v)表示像素灰度值強度,范圍是0~255。
根據(jù)Taylor展開式,將式(7)進一步化簡,用Z矩陣表示為式(8):
(8)
式中:iu表示圖像中每個像素點u方向的強度,iv表示圖像中每個像素點v方向的強度。
確定角點的閾值R可用式(9)表示:
R=detZ-k(traceZ)2
(9)
式中:det表示式(6)中Z矩陣特征值的乘積,traceZ表示Z矩陣特征值的和,k是系數(shù)值,取值為0.05[30]。提取出的角點如圖9c所示。遍歷尋找各個角點中橫坐標最小值的角點,該角點即可確定為出刀點位置,如圖9d所示。
圖9 提取出刀點示意圖
魚的腹部輪廓,存在腹鰭收回和腹鰭打開兩種狀態(tài),如圖10所示。
圖10 魚腹輪廓中的腹鰭狀態(tài)
對于腹鰭收回的情況,腹部輪廓是光滑完整的,可以直接提取腹部輪廓。提取到的入刀點與出刀點的位置以及腹部輪廓如圖11所示,圖中uOv面代表像素坐標系下的二維平面。
圖11 提取到的入刀點與出刀點位置以及腹部輪廓
對于腹鰭打開的情況,如圖12所示,魚腹邊緣會多出腹鰭前后的兩個角點P、Q,需要將其剔除。
圖12 腹鰭處角點位置
剔除方法:首先通過邊緣檢測得到入刀點和出刀點之間的輪廓線,然后提取腹部輪廓邊緣上腹鰭處的角點,篩選找到腹部輪廓與腹鰭相交的兩個角點,直接連接這兩個角點并去掉腹鰭部分的邊緣點,即可形成理想的腹部輪廓線,過程如圖13所示。
圖13 提取腹部輪廓過程示意圖
本研究標定的目的是得到世界坐標系下的魚體腹部輪廓信息,進而控制殺魚機剖腹刀具根據(jù)魚體腹部輪廓變化實時調節(jié)高度位置。如圖14所示。
圖14 腹部輪廓分區(qū)域坐標轉換
魚體腹部輪廓狹長,橫跨整張圖像,為了保證精確性,將標定板平均分成4個部分,每個部分分別對應著魚腹輪廓上從左到右25%的區(qū)域,分區(qū)域進行標定,每4個圓點作為一塊標定區(qū)域,魚體腹部輪廓邊緣點的像素坐標映射在世界坐標系下時,采用對應區(qū)域的M矩陣進行坐標轉換。
標定流程流程如圖15所示。
圖15 標定流程圖
為了保證剖腹切割的美觀,在剖腹工序中需要定義入刀點和出刀點的位置,入刀點的位置常選在魚鰓下方,出刀點的位置常選在臀鰭前端處,本試驗采用了10條魚,試驗前標注實際切割魚腹時的入刀點和出刀點位置,經(jīng)過圖像處理后,測量提取出的入刀點和出刀點和試驗前標注的位置是否一致。如圖16所示,其中的黃色角點為試驗前所標注的入刀點和出刀點,紅色角點為圖像處理后提取的入刀點和出刀點。
圖16 試驗前后的入刀點、出刀點位置
本研究選取10條魚,如式(10)所示,統(tǒng)計其實際誤差(實際加工的入刀點和出刀點的位置-圖像處理后得到的入刀點和出刀點的位置),因為在實際加工中對兩個點的精度要求不高,在合理加工范圍內即可,因此誤差保持在毫米級進行統(tǒng)計,如表1所示。如表1所示,入刀點在水平方向上的最大誤差為2 mm,平均誤差為1.6 mm;在豎直方向上的最大誤差為1.5 mm,平均誤差為1.25 mm;出刀點在水平方向上的最大誤差為2 mm,平均誤差為1.5 mm;在豎直方向上的最大誤差為1.5 mm,平均誤差為1.25 mm。
表1 腹部輪廓可靠性試驗誤差分析表
可以發(fā)現(xiàn),標定后得到入刀點的位置在水平、豎直方向上都是偏大的,原因是在圖像處理中,經(jīng)過閾值分割、圖像濾波等操作,會造成個別像素點的丟失,同時因為魚鰓處的最小外接矩形的長邊斜率范圍在(-π/2,π/2)之間,所以會造成圖像處理后得到的入刀點后移的情況,如圖17所示。而同時,出刀點的位置在兩個方向上都偏小,原因是對出刀點感興趣區(qū)域進行閾值分割時,因為方差代表圖像灰度值分布的均勻程度,若前景和背景差別不大,即直方圖雙峰不明顯時,導致類間方差變小,導致臀鰭區(qū)域出現(xiàn)分割不精確、像素數(shù)量增加的情況。
圖17 魚鰓區(qū)域最小外接矩形引起入刀點出現(xiàn)偏移
此外,在水平方向上,標定后入刀點的位置比實際所設定的入刀點位置大,同時出刀點的位置比實際所設計出刀點的位置小,這樣會造成剖切的魚腹偏小,但根據(jù)試驗測量,最大誤差不影響實際的加工生產(chǎn),也不會影響后續(xù)的去內臟工序,因此該誤差滿足加工要求。在豎直方向上,因為實際加工中入刀點的位置和圖像處理后入刀點的位置均在魚腹上,所以誤差對實際加工不會造成影響,而出刀點的最大誤差也不會造成刀具劃破苦膽,因此該方法提取入刀點和出刀點位置準確。
本試驗主要驗證經(jīng)過本研究提取到的魚體腹部輪廓,經(jīng)過坐標轉換后,如圖18所示,在世界坐標系下得到的腹部輪廓是否可以和魚體的腹部準確重合。
圖18 相機標定后得到的魚腹輪廓與測量前魚腹的對比情況
由圖18可以看到,經(jīng)過相機標定后得到的魚腹輪廓和實際的魚體腹部輪廓近似一致,但在個別區(qū)域存在誤差,經(jīng)過測量,最大誤差為1 mm,該誤差主要來自系統(tǒng)誤差,包括標定誤差以及在取點時出現(xiàn)偏差,但不影響實際生產(chǎn)加工。以上試驗的誤差的主要來源是:1)標定矩陣的誤差。該誤差來源于相機標定時鏡頭的分辨率以及標定板的精度,可以通過選取更高分辨率的鏡頭以及精度更高的標定板來減少誤差。2)圖像處理中,對于Harris角點檢測以及連通域最小外接矩形的提取,均會存在誤差,對精度產(chǎn)生影響,采用雙閾值的Harris角點檢測方法以及優(yōu)化外接矩形計算方法可以減少誤差。但對于殺魚機剖腹工序來說,理想的剖腹工序是保持一定的進刀量,沿著腹部輪廓進行走刀切割即可,因此試驗過程中產(chǎn)生的誤差在合理范圍內。
提出了一種用于殺魚機剖腹刀具自動控制的視覺檢測方法,設計了相應的算法提取入刀點、出刀點以及腹部輪廓,并進行了試驗驗證和誤差分析,可以滿足精度要求。該方法能夠控制剖腹刀具對不同尺寸大小的魚實現(xiàn)高質量的腹部輪廓切割,并且有望普及到其他魚種的工業(yè)流水線加工,滿足生產(chǎn)自動化、智能化的需求,可以避免傳統(tǒng)的漁業(yè)加工方式造成的加工質量問題,提高漁業(yè)加工的經(jīng)濟效益。本研究通過機器視覺技術檢測到魚體腹部輪廓,進而控制剖腹刀具自動調整高度,且能保證精度要求,可以準確提取魚體的腹部輪廓,為殺魚機剖腹刀具精確控制提供數(shù)據(jù)支持。
□