基于機器視覺的番茄橫徑測量技術(shù)研究
引言
包裝在鮮果貯藏、運輸、貨架期都起到了重要作用,不僅能在很大程度上減少鮮果的染病腐爛,同時也是提高鮮果商品價值和擴大銷量的重要技術(shù)措施之一。番茄一直都是以原始狀態(tài)上市,對于番茄的包裝處理較少,鮮果番茄在各大商場基本都是采用淺托盤多個番茄保鮮膜包裝,這種包裝還停留在人工階段,因此,番茄的智能自動化包裝成為亟待解決的問題。
番茄橫徑是番茄尺寸大小的重要特征,通過番茄橫徑的獲取可以精確地進行番茄自動化包裝分級通道的分級,設(shè)定分類包裝通道包裝膜的大小。目前,對于傳統(tǒng)的番茄測量方法有較多研究成果,但基于機器視覺進行番茄橫徑檢測、設(shè)定智能分類包裝膜尚未有人研究。鑒于此,本研究針對基于機器視覺的番茄橫徑測量選用最小外接矩形法與最小外接圓法進行對比,提取番茄橫徑尺寸,從而設(shè)定合適的番茄分類包裝膜參數(shù),實現(xiàn)番茄的智能包裝。
1番茄圖像采集系統(tǒng)
番茄圖像采集系統(tǒng)主要由采集箱、工業(yè)照相機、鏡頭、光源、PC計算機組成,如圖1所示。采集箱尺寸為300mm×250mm×470mm,采集箱內(nèi)壁涂上無反光黑漆。CMos照相機選用TeledyneLumeneraLwll5,其分辨率為l280xl024,幀率為30fps,光學(xué)格式為l/3",鏡頭接口為cs,圖像傳感器為sonyIMx035。鏡頭選用精工ssE06l2N,其焦距為固定焦距6mm,鏡頭到拍攝面的距離約為422.70mm。照相機裝置在拍攝箱頂部中間位置,環(huán)形LED燈圍繞照相機。工作時相機通過UsB2.0數(shù)字接口向PC提供實時拍攝的彩色圖像,PC計算機采用Matlab軟件獲取圖像,完成圖像數(shù)據(jù)處理。
2番茄圖像預(yù)處理
番茄圖像預(yù)處理主要完成圖像獲取、復(fù)原、增強、分割、分析工作。過程包括圖像灰度化、中值濾波器去噪聲、閾值分割、二值化與形態(tài)學(xué)處理,如圖2所示。
2.1圖像灰度化
圖像灰度化是將彩色圖像轉(zhuǎn)化為黑白圖像處理,處理后的圖像中只含亮度信息,不含彩色信息。Matlab通過UsB3.0高速數(shù)字接口提取到的圖像格式為"bmp",針對圖像格式選用了兩種方法得到圖像的灰度圖。方法1,直接通過函數(shù)rgb2gray將彩色照片轉(zhuǎn)換為灰度圖像:方法2,提取圖像中的R、G、B分量,三者分別表示圖像中的紅色、綠色、藍色分量,通過公式V=1/3(R+G+B),轉(zhuǎn)換得到灰度化圖像,如表1所示。
如表1所示,兩種方法得到的圖像差異不大,其圖像直方圖形狀、范圍基本一致。直方圖的差異在于第二次波峰處,直接轉(zhuǎn)換方法下得到的直方圖第二次波峰出現(xiàn)在亮度16l處,亮度值位置的像素占量為3279:R、G、B分量轉(zhuǎn)換方法得到的直方圖第二次波峰出現(xiàn)在亮度l49處,亮度值位置的像素占量為3475。同時,直接轉(zhuǎn)換方法下得到的直方圖截止范圍出現(xiàn)在亮度223處,亮度值位置的像素占量為95:R、G、B分量轉(zhuǎn)換方法下得到的直方圖截止范圍出現(xiàn)在亮度2l5處,亮度值位置的像素占量為57。
2.2中值濾波器去噪聲
一般情況下,圖像采集及傳輸過程中不可避免地容易產(chǎn)生一些噪聲,例如椒鹽噪聲。選用中值濾波器去除椒鹽噪聲,中值濾波選取大小為m×n窗口中被干擾的圖像中值,利用中值公式很好地保留了圖像的邊緣,去除椒鹽噪聲效果也較好。
2.3閾值分割
圖像分割技術(shù)中邊緣分割技術(shù)通過待測物與其背景的特征差異性實現(xiàn)邊緣檢測,常常使用微分算子(Roberts、Prewitt、sobel)、Canny算子、LoG算子進行邊緣檢測,如圖3所示。5種算法處理效果相近,基本都可以得到番茄的邊界,但檢測出來的邊界較粗,需要做進一步的圖像處理。Roberts、Prewitt、sobel算子處理后圖像效果差距不大,Roberts算子得到的圖像效果邊緣最清晰,產(chǎn)生孤立的點最少。Canny和LoG算子處理后的圖像,額外產(chǎn)生了許多孤立的點。本研究采用Roberts算子進行邊緣分割。
工業(yè)測量中,當(dāng)背景取與目標(biāo)體對比較大的單一色時,采用閾值分割效果較好,故圖像分割中采用閾值分割法。通過原圖直方圖尋找合適的閾值,原圖直方圖中兩個波峰相距較遠,在色彩灰度范圍l70~200之間出現(xiàn)波谷,分別取T=170、T=180、T=l90作為全局閾值比較。取T=l70時,番茄的分割圖像邊界不夠明顯,圖像左下角出現(xiàn)邊緣范圍較寬的毛刺,圖像內(nèi)部出現(xiàn)較少孤立點:取T=l90時,番茄圖像的邊界變得清晰,圖像左下角毛刺范圍逐漸增大,毛刺點變多從而顏色變深,圖像內(nèi)部出現(xiàn)更多孤立點:取T=l80時,閾值分割效果最好。不同閾值對比圖如圖4所示。
2.4二值化與形態(tài)學(xué)處理
在圖4中可以看到7=180時的閾值分割效果,圖像邊緣不夠清晰,圖像左下角出現(xiàn)毛刺,圖像內(nèi)部出現(xiàn)孤立點。為了消除閾值分割圖像中產(chǎn)生的毛刺和孤立點,采用二值圖與形態(tài)學(xué)結(jié)合處理。數(shù)學(xué)形態(tài)學(xué)中的腐蝕、膨脹、開閉運算,在圖像處理過程中各具特點。Mat1ab可以對圖形進行算數(shù)、關(guān)系、邏輯運算,也可以運用形態(tài)學(xué)完成膨脹和腐蝕運算。數(shù)學(xué)形態(tài)學(xué)中的膨脹運算能擴大圖像邊界區(qū)域,填充圖像邊緣的毛刺和圖像內(nèi)部小孔:腐蝕運算能縮小圖像區(qū)域邊界,消除圖像邊緣處的噪聲區(qū)域[3]。
3番茄圖像橫徑提取
經(jīng)過以上處理后的圖像,番茄果實部分呈白色,背景部分為黑色。對番茄圖像的橫徑檢測提取用到了兩種不同的方法:最小外接矩形法和最小外接圓法。
3.1最小外接矩形法提取番茄圖像橫徑
為了確定果實的外形大小,番茄圖像采用最小外接矩形法提取,流程圖如圖5所示。
番茄二值圖像中已經(jīng)將白色、黑色區(qū)域分離,通過對行列像素不為1的點進行判斷,取得圖像邊緣橫坐標(biāo)和縱坐標(biāo),完成最大坐標(biāo)與最小坐標(biāo)的橫坐標(biāo)、縱坐標(biāo)的確定與計算。在Matlab中可以運用rectangle、boundingbox操作指令得到番茄的最小外接矩形,并返回其橫徑值。以上是單個番茄單次外接矩形的方法,對圖像進行每次9●的圖像旋轉(zhuǎn),旋轉(zhuǎn)40次完成番茄圖像的全部旋轉(zhuǎn):每完成一次旋轉(zhuǎn)均計算番茄圖像的最小外接矩形,得到40個外接矩形的40個橫徑值,比較出最大的橫徑值,即番茄外接矩形的最大橫徑。
3.2最小外接圓法提取番茄圖像橫徑
番茄是一種不規(guī)則的圖形,其形狀可以近似為圓形,選用最小外接圓法提取番茄圖像橫徑,流程圖如圖6所示。
基于完成了二值化處理的圖像,獲取番茄圖像最小外接圓,返回其半徑,將半徑轉(zhuǎn)換成直徑,即可得到番茄的最大橫徑長度。算法需判斷番茄二值圖中的連通區(qū)域,對圖像每一個連通區(qū)域求質(zhì)心,將質(zhì)心作為最小外接圓的圓心,遍歷各個像素點,計算像素點是否在番茄圖像的半徑內(nèi),如果不在半徑內(nèi),則以當(dāng)前像素點到質(zhì)心的距離作為新的半徑,從而類似迭代更新得到最小外接圓半徑。
4數(shù)據(jù)結(jié)果與分析
對不同時間段的三批次番茄進行抽樣,抽出200個番茄。用最小單位為克、保留到小數(shù)點后兩位精度的電子秤記錄下番茄重量:用游標(biāo)卡尺測量每一個番茄的最大橫徑4次,取平均值記錄下最大橫徑值。同時,記錄下視覺系統(tǒng)下采用最小外接矩形法和最小外接圓法處理的番茄的橫徑長度,對比游標(biāo)卡尺獲得的數(shù)據(jù)?,F(xiàn)從200組番茄數(shù)據(jù)中隨機抽取10組數(shù)據(jù)舉例,最小外接矩形與最小外接圓橫徑如表2所示。
經(jīng)過試驗數(shù)據(jù)分析可知,最小外接矩形法測得的值跟游標(biāo)卡尺測量的值較為接近,由于在測量時像素取的是整數(shù)部分,因而數(shù)據(jù)不夠精確。分析最小外接圓法絕對誤差、相對誤差數(shù)據(jù),測得的所有橫徑長度都比實際測得的橫徑長度要大。
200組番茄中,番茄的重量情況為:100g以下有24個,100~150g有99個,150~200g有34個,200~250g有22個,250g以上有21個。其中番茄重量最小為86.39g,最大為350.05g。游標(biāo)卡尺測量的橫徑長度,最小番茄與最大番茄之間橫徑相差接近40mm。在200組數(shù)據(jù)中,出現(xiàn)多組重量148.20g與148.60g的番茄,尺寸分別為72.30mm與66.46mm,番茄重量與尺寸大小不一定成正比。番茄重量范圍、分布及橫徑跨度如表3所示。
根據(jù)以上數(shù)據(jù),番茄包裝過程中可以設(shè)定包裝膜的長度,選擇設(shè)置參數(shù)分別為68.00mm、88.50mm、102.00mm。
5結(jié)論
(1)通過圖像采集系統(tǒng)獲取番茄圖像,經(jīng)過灰度化、去除噪聲、邊緣分割、閾值分割、二值化與形態(tài)學(xué)處理后,直接運用形態(tài)學(xué)中腐蝕、膨脹處理的圖像與運用形態(tài)學(xué)簡單運算后再完成腐蝕、膨脹處理的圖像相比,后者的處理效果遠遠好于前者。
(2)利用最小外接矩形法和最小外接圓法進一步提取番茄的尺寸,根據(jù)測量數(shù)據(jù),最小外接矩形法所測數(shù)據(jù)跟游標(biāo)卡尺直接所測數(shù)據(jù)更為接近。
(3)番茄在包裝中可以通過對其橫徑大小的檢測,分級進入番茄包裝通道,通道中包裝膜分別設(shè)定為68.00mm、88.50mm、102.00mm,可以完成不同尺寸大小的包裝。
基于機器視覺的番茄橫徑檢測方法,可實現(xiàn)對番茄橫徑的獲取,并通過橫徑分級使番茄進入不同包裝膜通道,為智能包裝的實現(xiàn)提供新的分級依據(jù)。當(dāng)番茄傳送過快時,應(yīng)用本文方法提取橫徑的速度還需要提高,在今后的研究中,可以進一步將深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)算法與傳送速度相結(jié)合,以提高番茄橫徑獲取速度,改善當(dāng)前研究中的不足。