王瑞方,尚 欣,董昌生
(1.寧夏大學機械工程學院 銀川 750021;2.寧夏大學材料與新能源學院 銀川 750021)
蘆筍又名石刁柏,質地柔軟、口感細膩、風味鮮美,富含多種氨基酸、蛋白質和維生素,具有一定的藥用價值,目前我國蘆筍的種植面積已達到10 萬hm2,高居世界第一,除了西藏和青海外,全國各個地方均有種植[1]。
蘆筍在大批量收割后,其尺寸參差不齊,如果不按照某一指標進行檢測分級,種植者無法獲得最大的經濟效益。當前消費者和食品加工單位都對蘆筍外部品質的要求不斷提高,蘆筍的外部尺寸檢測分級顯得舉足輕重。農業農村部印發的《“十四五”全國農業機械化發展規劃》指出,圍繞果蔬等鮮活農產品保質增值,研發分級等初加工機械[2]。經過蘆筍尺寸的檢測分級,使得不同尺寸的蘆筍物盡其用,像鮮蘆筍、蘆筍罐頭、蘆筍茶和蘆筍美容品等[3]。綜上所述,為實現蘆筍的自動分級,對蘆筍尺寸的檢測至關重要。蘆筍等級規格有基于長度和基部最大直徑2 種,蘆筍的機械化收割主要是針對長度在18~23 cm 的嫩莖[4]。筆者的研究主要通過視覺手段對蘆筍(本試驗針對綠蘆筍)基部最大直徑進行檢測。
現階段對于蘆筍等農副產品尺寸的檢測分級主要是通過人工或者傳統機械(輥輪、篩網等裝置)來實現的[5-11]。人工檢測分級的主觀性太強,導致精準程度較低;整個檢測過程需要大量的勞動力,人工成本過高,造成經濟效益低;同時人工檢測還會造成過多的接觸,會產生一定的食品安全隱患。傳統機械檢測主要是利用間距不同的輥輪、直徑不同的圓孔以及滾筒的離心力進行分級,優點是可以通過上述參數的調整來實現對大多數的果蔬產品進行分級,適用度較高,并且分級效率高,但缺點也是顯而易見的,一是分級過程中容易造成蘆筍的破損和折斷,破損的蘆筍也會對其他蘆筍造成影響;二是分級的精度不高;三是仍需要人工的輔助作業,自動化程度較低。
視覺檢測主要是利用計算機來模擬人類的視覺功能,對于從外界采集到的圖像進行分析和理解,來獲取想要的信息以實現目標物尺寸的測量和分級等目的,具有精度高、檢速快、自動化和實時性等優點[12]。國內外的眾多學者很早就將該技術應用到各種農副產品的尺寸檢測上,包括馬鈴薯、蘋果、柑橘、火龍果和黃瓜等[13-21],但上述的檢測目標物大多是球形或者類球形的農產品,針對蘆筍這樣細長且具有一定柔軟性目標物的研究還很少。獨具一格的外形造成蘆筍尺寸檢測具有較高的難度,主要有以下幾個方面:蘆筍的基部形狀并非圓形,難以通過常規方法對其進行測量;蘆筍會出現部分的彎曲且具有一定的柔軟性,增大測量的難度;由于收割等造成蘆筍基部的不完整,其最大直徑難以確定。
綜上所述,筆者提出通過視覺檢測的方式來對蘆筍基部最大直徑進行檢測,首先對蘆筍圖像進行采集,經過圖像預處理、圖像分割和邊界輪廓提取,提出一種新型方法從蘆筍邊緣二值圖像上獲取蘆筍基部最大直徑,即從圖像四個方向上尋找其最外側邊緣點,以此繪制蘆筍基部的外包裹矩形,其寬度即為蘆筍基部的最大直徑。
1.1.1 檢測要求 蘆筍外部形態和基部輪廓示意圖如圖1 所示,本試驗的檢測對象為蘆筍基部最大直徑。

圖1 蘆筍外形和基部輪廓示意圖Fig.1 The outline drawing of outside and base of asparagus
蘆筍的尺寸等級標準按照中華人民共和國農業農村部2008 年5 月18 日發布的《蘆筍等級規格》,以蘆筍基部最大直徑作為劃分等級規格的指標[22],如表1 所示。

表1 蘆筍基部尺寸分級標準Table 1 The size grading standard of asparagus base
1.1.2 試驗環境 筆者試驗所用的所有蘆筍樣本均來自于山東省菏澤蘆筍種植基地,品種為綠蘆筍。試驗時間為2022 年6-8 月,試驗地點為寧夏大學工程訓練中心。所用試驗環境:光源采用自然光源,電腦處理為Intel(R)Core(TM)i7-8550U CPU,操作系統為Windows 11 家庭中文版,圖像處理軟件采用Matalb2020b。
筆者試驗的圖像采集平臺主要由相機、鏡頭以及夾持相機的移動導軌組成,固定高度和位置,控制該變量對成像的影響,考慮到未來實際應用中的光照情況,光源為自然光源。采集到的蘆筍圖像分辨率為600×800。
在對蘆筍的圖像采集之前,先使用標準件(筆者的研究使用第五套人民幣一元硬幣,直徑為25 mm)對該試驗采集裝置進行標定,獲取實際尺寸與像素尺寸的比值K。使用上述的采集平臺對硬幣的圖像進行采集,通過一系列圖像處理操作,測量硬幣的面積,得到硬幣的像素直徑為64.701 3 pt,最后計算K值如式(1)所示。
蘆筍尺寸檢測程序主要包括圖像增強、灰度化、圖像分割、蘆筍邊界輪廓提取、尺寸測量,程序基于Matlab 軟件進行編寫。
1.3.1 圖像增強 由于蘆筍圖像是在自然光照條件下進行采集的,因此存在光照不均勻的情況,圖像會產生部分陰影或者模糊,如圖2 所示。使用J=imflatfield(I,Sigma)進行去模糊,其中I為原始圖像;Sigma 為去模糊所使用高斯平滑的標準差,Sigma 值經過多次試驗,最優值30;J為去模糊后返回的圖像,如圖3 所示。

圖3 去模糊后圖像Fig.3 The image after deblurring
1.3.2 灰度化 由于檢測的對象為蘆筍,對采集到的蘆筍圖像(RGB 圖像)進行灰度化處理,可減少后續圖像處理過程的計算量。筆者通過計算蘆筍圖像中每個像素點的R、G、B 三個分量的加權和,將RGB 彩色圖像轉化為灰度圖像,采取權重平均法,如式(2)所示。
J=0.298 9×R+0.587 0×G+0.114 0×B。(2)
灰度化后的圖像如圖4 所示。


圖4 灰度化圖像Fig.4 The gray-scale image
1.3.3 圖像分割 圖像分割是將圖像分離成前景(目標對象)和背景的過程,是圖像處理過程中的基礎性問題,分割的優劣直接關乎到后續的尺寸測量。在眾多算法中,筆者選擇了主動輪廓法[23-24],又稱snake法,是一種迭代式區域增長圖像分割算法,snake表示平面中一組有序的像素點xi=[xi yi]T,其構成了感興趣區域周圍的一個邊界曲線。該邊界曲線沿著能量減小的方向進行移動,如式(3):
其中,EI—內部能量,表示假定的邊界曲線;EE—外部能量,表示當前snake 所在點的圖像。所以說,主動輪廓法的每一次迭代都要沿著能量降低的方向,即Ek+1<Ek,然后用新點代替舊點,繼續迭代,直到E最小。考慮蘆筍的大小形狀以及反復試驗,筆者選擇80×480 大小的矩形作為初始snake,迭代600 次時目標和背景分割效果最佳。初始snake 和分割后的蘆筍圖像如圖5 和圖6 所示。

圖5 初始snakeFig.5 The original snake

圖6 分割后的蘆筍圖像Fig.6 The asparagus image after segmentation
使用其他圖像分割算法(Otsu 法閾值分割和自適應閾值分割)對蘆筍圖像進行分割,分割后的結果如圖7 和圖8 所示。從蘆筍圖像的分割結果可以看出,盡管Otsu 法閾值分割相對于自適應閾值分割保留了更多的信息,但是兩種閾值方式都沒有完整的將蘆筍分割,同時從分割結果來看,分割后的圖像上還有少許的噪聲點(圖像上白色區域內的黑色豎線和黑點),不利于后續圖像的邊界提取以及尺寸測量。綜合分析,使用主動輪廓法來進行蘆筍圖像的分割可以更好地完成蘆筍尺寸的測量。

圖7 Otsu 法閾值分割Fig.7 The threshold segmentation by Qtsu

圖8 自適應閾值分割Fig.8 The threshold segmentation by self-adaption
1.3.4 蘆筍邊界輪廓提取 分割后的蘆筍圖像為二值圖像,已無噪聲點,對其進行邊界輪廓提取時選取低噪聲情況下提取效果較好的Roberts 算子[25],Roberts 算子采用對角線方向相鄰兩像素之差近似梯度幅值,檢測圖像中的邊緣(灰度函數發生急劇突變的像素點之間的連線),其模板如式(4)所示。提取后蘆筍輪廓如圖9 所示。

圖9 蘆筍邊界輪廓Fig.9 The boundary profile of asparagus
尺寸測量即從圖10 的蘆筍邊界輪廓圖像中獲得預定的尺寸信息(蘆筍基部最大直徑),從二維平面上觀察,即測量蘆筍基部邊緣點所構成的最大水平線段的長度。圖像處理中測量線段的常用方法之一就是尋找角點,然后再計算兩個角點之間的距離,Harris 角點檢測算法被公認為是較好的尋找角點的方法[26-27]。除此以外,還可以利用曲線擬合思想[28],將蘆筍邊緣像素點近似擬合成為一條或者數條相連的曲線,通過計算曲線的長度或者曲線之間的距離來近似獲得蘆筍的基部最大直徑。但是,上述兩種方法不適用于蘆筍基部最大直徑的獲取,原因主要是蘆筍形狀的特殊性,從蘆筍的邊緣輪廓圖可以看出來,其基部位置多為曲線,且與兩個邊緣以曲線過渡,以及收割等原因導致蘆筍基部不完整,需要將基部上完整部分的直徑作為該蘆筍的基部最大直徑,從而造成曲線的難擬合或者角點的錯誤檢測,兩種方法所得結果如圖10 所示,從圖上可以看到,由于蘆筍基部的復雜性造成角點的錯誤檢測,以及基部因不完整導致曲線擬合,難以計算正確距離。

圖10 角點檢測和曲線擬合所得圖像Fig.10 The acquired image through corner detection and curve fitting
綜合上述原因以及考慮到蘆筍自身形態特點:其直徑自上而下逐漸增大,彎曲部分多出現在頂部柔嫩部位。基于蘆筍形態的特殊之處以及檢測要求,借鑒三爪內徑千分尺測量原理(三爪內徑千分尺是利用螺旋副原理,使三個測量爪作徑向位移,使其與被測內孔發生接觸,對內孔尺寸進行讀數的一種測量儀器),筆者在本文中提出外包裹矩形法,其原理借鑒三爪內徑千分尺,移動測量爪與內孔接觸,不斷在蘆筍像素矩陣的徑向上尋找其邊緣像素點,并以此來繪制出包裹住蘆筍的矩形,如圖11 所示,此時矩陣的寬度和蘆筍的最大直徑有如式(5)的等式關系。以此完成蘆筍基部最大直徑的測量。

圖11 外包裹矩形法原理示意圖Fig.11 The principle diagram of rectangular wrapping method
基本思想是在蘆筍邊界輪廓的二值圖像上尋找到上下左右四個方向的第一個像素點,基于此繪制出外包裹矩形,基本步驟如下:
(1)彎曲部分剪裁
外包裹矩形法的不足之處是彎曲蘆筍的檢測結果大于實際尺寸,如圖12 所示。蘆筍的彎曲有兩個方面,一是蘆筍在檢測分級時位置不佳導致采集的蘆筍圖像彎曲;二是蘆筍自身的彎曲。對于第一個方面,在實際檢測分級時可以通過機械結構設計(輥輪)對蘆筍位置進行限制,而針對蘆筍自身彎曲的情況,本文中采用圖像剪裁的方法將蘆筍彎曲的圖像去除,只保留蘆筍的基部,如圖13 所示。上述的兩項措施有效地彌補了外包裹矩形法的缺陷。

圖12 未剪裁彎曲部分的結果Fig.12 The image of unclipped bend part

圖13 外包裹矩陣法提取合成圖Fig.13 The extraction composite image by rectangular wrapping method
圖像裁剪是通過J1=imcrop(I1,[xref,yref,x,y])函數來實現的,其中I1、J1分別為待剪裁圖像和剪裁完返回的圖像;xref和yref為剪裁的起點,本文中選擇的是I1左上角(1,1)點;x、y構成剪裁完成后圖像的大小,經過多次試驗,將其定為600×120。
(2)繪制外包裹矩形
首先在剪裁后的二值圖像上遍歷所有的像素點,比較像素值為1 的像素點在圖像矩陣中的位置(i,j),標記出i最大時的像素點imax,以此類推,依次標記出i最小時、j最大時和j最小時的像素點imin、jmax和jmin。隨后,利用標記的四個像素點來繪制外包裹矩形,具體方法就是先新建一個空白圖像矩陣(零矩陣),在該空白圖像矩陣上沿著imax和imin兩個標記點豎直方向依次為像素點賦值,沿著jmax和jmin兩個標記點水平方向依次為像素點賦值,相交后所圍成的矩陣即為外包裹矩形(圖13)。
(3)尺寸測量
測量外包裹矩形的寬度,即為蘆筍基部最大直徑,但測量的是像素尺寸,如果想要得到實際尺寸,需要乘上前面的標定系數(K值)。尺寸測量流程圖如圖14 所示。

圖14 尺寸測量流程Fig.14 The flow chart of measured size
基于上述尺寸計算的思想和流程,通過Matlab 程序編寫實現上述算法并不斷地調整,得到如下的結果,其中圖13 為所繪制的外包裹矩形與剪裁后蘆筍邊緣圖像的合成效果圖,可以更加直觀地看到其正確性,在實際計算中,只需要計算矩形的寬,簡單且計算量小,適用于蘆筍等不規則體的對象。
為了驗證上述一系列的圖像處理算法的可靠性以及是否滿足預設的檢測要求,筆者隨機選用10根剛收割的新鮮蘆筍,依照標準[22]使用游標卡尺對其基部最大直徑進行人工測量,同時使用前文中提到的圖像采集平臺對這些蘆筍進行圖像采集。將這些圖像導入先前編寫的Matlab 程序中獲取計算機檢測的結果。數據對比如表2 和圖15。

表2 試驗結果Table 2 The experimental result

圖15 蘆筍實際尺寸與測量尺寸Fig.15 The actual and measured size of asparagus
觀察表2 和圖15 可以發現,在光照條件和試驗設備不佳的情況下,筆者試驗使用的圖像處理方法依舊能夠達到較高的精度水平,蘆筍實際尺寸與測量尺寸的誤差在0.01~0.50 mm,10 根試驗蘆筍均分到正確的等級里,準確率為100%。在實際檢測分級中,會通過機械結構使蘆筍在圖像采集區旋轉一周,多采集幾張蘆筍圖像,比較該根蘆筍的每張圖像檢測結果,取其中最大值來作為蘆筍基部最大近似直徑。
目前對于蘆筍基部最大直徑檢測的研究較少,筆者提出了一種基于圖像處理的外包裹矩形檢測方法,利用snake 法對蘆筍圖像進行前后景分離,利用Roberts 算子提取邊界輪廓,使用矩形擬合蘆筍基部輪廓,并通過試驗證明該法的可行性。傳統的尺寸檢測(線段測量)主要使用角點檢測和曲線擬合。其中角點檢測[26-27]在對蘆筍基部最大直徑進行檢測時,不規則體的蘆筍會出現角點的錯誤檢測,該法更適合規則體尺寸的檢測。用曲線擬合法[28]對蘆筍進行檢測時,難以確定蘆筍基部最大直徑所在位置(蘆筍收割過程造成部分蘆筍基部的不完整),該法更適合標準件尺寸的檢測。筆者針對蘆筍基部最大直徑的檢測,相比其他方法更加簡單實用、計算量小,更適合不規則體果蔬的尺寸檢測。但是在實際檢測分級過程中為了更加準確地測量最大直徑,需要在圖像采集區域設置機械結構使蘆筍旋轉一周,充分采集蘆筍的相關信息,除此之外還需對蘆筍進行定位。
筆者使用上述方法對10 根剛收割的新鮮蘆筍基部最大直徑進行測量,誤差范圍在0.01~0.50 mm,符合允許誤差范圍,分級正確率達到100%,解決了傳統蘆筍檢測分級中存在的精度差、有損傷等問題,在蘆筍的自動分級領域具有一定的應用前景。同時該檢測方法也為其他農副產品以及不規則物體(比如草莓的橫徑測量)的尺寸檢測提供了新的思路。