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