王瑞方,尚 欣,董昌生
(1.寧夏大學(xué)機(jī)械工程學(xué)院 銀川 750021;2.寧夏大學(xué)材料與新能源學(xué)院 銀川 750021)
蘆筍又名石刁柏,質(zhì)地柔軟、口感細(xì)膩、風(fēng)味鮮美,富含多種氨基酸、蛋白質(zhì)和維生素,具有一定的藥用價(jià)值,目前我國(guó)蘆筍的種植面積已達(dá)到10 萬hm2,高居世界第一,除了西藏和青海外,全國(guó)各個(gè)地方均有種植[1]。
蘆筍在大批量收割后,其尺寸參差不齊,如果不按照某一指標(biāo)進(jìn)行檢測(cè)分級(jí),種植者無法獲得最大的經(jīng)濟(jì)效益。當(dāng)前消費(fèi)者和食品加工單位都對(duì)蘆筍外部品質(zhì)的要求不斷提高,蘆筍的外部尺寸檢測(cè)分級(jí)顯得舉足輕重。農(nóng)業(yè)農(nóng)村部印發(fā)的《“十四五”全國(guó)農(nóng)業(yè)機(jī)械化發(fā)展規(guī)劃》指出,圍繞果蔬等鮮活農(nóng)產(chǎn)品保質(zhì)增值,研發(fā)分級(jí)等初加工機(jī)械[2]。經(jīng)過蘆筍尺寸的檢測(cè)分級(jí),使得不同尺寸的蘆筍物盡其用,像鮮蘆筍、蘆筍罐頭、蘆筍茶和蘆筍美容品等[3]。綜上所述,為實(shí)現(xiàn)蘆筍的自動(dòng)分級(jí),對(duì)蘆筍尺寸的檢測(cè)至關(guān)重要。蘆筍等級(jí)規(guī)格有基于長(zhǎng)度和基部最大直徑2 種,蘆筍的機(jī)械化收割主要是針對(duì)長(zhǎng)度在18~23 cm 的嫩莖[4]。筆者的研究主要通過視覺手段對(duì)蘆筍(本試驗(yàn)針對(duì)綠蘆筍)基部最大直徑進(jìn)行檢測(cè)。
現(xiàn)階段對(duì)于蘆筍等農(nóng)副產(chǎn)品尺寸的檢測(cè)分級(jí)主要是通過人工或者傳統(tǒng)機(jī)械(輥輪、篩網(wǎng)等裝置)來實(shí)現(xiàn)的[5-11]。人工檢測(cè)分級(jí)的主觀性太強(qiáng),導(dǎo)致精準(zhǔn)程度較低;整個(gè)檢測(cè)過程需要大量的勞動(dòng)力,人工成本過高,造成經(jīng)濟(jì)效益低;同時(shí)人工檢測(cè)還會(huì)造成過多的接觸,會(huì)產(chǎn)生一定的食品安全隱患。傳統(tǒng)機(jī)械檢測(cè)主要是利用間距不同的輥輪、直徑不同的圓孔以及滾筒的離心力進(jìn)行分級(jí),優(yōu)點(diǎn)是可以通過上述參數(shù)的調(diào)整來實(shí)現(xiàn)對(duì)大多數(shù)的果蔬產(chǎn)品進(jìn)行分級(jí),適用度較高,并且分級(jí)效率高,但缺點(diǎn)也是顯而易見的,一是分級(jí)過程中容易造成蘆筍的破損和折斷,破損的蘆筍也會(huì)對(duì)其他蘆筍造成影響;二是分級(jí)的精度不高;三是仍需要人工的輔助作業(yè),自動(dòng)化程度較低。
視覺檢測(cè)主要是利用計(jì)算機(jī)來模擬人類的視覺功能,對(duì)于從外界采集到的圖像進(jìn)行分析和理解,來獲取想要的信息以實(shí)現(xiàn)目標(biāo)物尺寸的測(cè)量和分級(jí)等目的,具有精度高、檢速快、自動(dòng)化和實(shí)時(shí)性等優(yōu)點(diǎn)[12]。國(guó)內(nèi)外的眾多學(xué)者很早就將該技術(shù)應(yīng)用到各種農(nóng)副產(chǎn)品的尺寸檢測(cè)上,包括馬鈴薯、蘋果、柑橘、火龍果和黃瓜等[13-21],但上述的檢測(cè)目標(biāo)物大多是球形或者類球形的農(nóng)產(chǎn)品,針對(duì)蘆筍這樣細(xì)長(zhǎng)且具有一定柔軟性目標(biāo)物的研究還很少。獨(dú)具一格的外形造成蘆筍尺寸檢測(cè)具有較高的難度,主要有以下幾個(gè)方面:蘆筍的基部形狀并非圓形,難以通過常規(guī)方法對(duì)其進(jìn)行測(cè)量;蘆筍會(huì)出現(xiàn)部分的彎曲且具有一定的柔軟性,增大測(cè)量的難度;由于收割等造成蘆筍基部的不完整,其最大直徑難以確定。
綜上所述,筆者提出通過視覺檢測(cè)的方式來對(duì)蘆筍基部最大直徑進(jìn)行檢測(cè),首先對(duì)蘆筍圖像進(jìn)行采集,經(jīng)過圖像預(yù)處理、圖像分割和邊界輪廓提取,提出一種新型方法從蘆筍邊緣二值圖像上獲取蘆筍基部最大直徑,即從圖像四個(gè)方向上尋找其最外側(cè)邊緣點(diǎn),以此繪制蘆筍基部的外包裹矩形,其寬度即為蘆筍基部的最大直徑。
1.1.1 檢測(cè)要求 蘆筍外部形態(tài)和基部輪廓示意圖如圖1 所示,本試驗(yàn)的檢測(cè)對(duì)象為蘆筍基部最大直徑。
圖1 蘆筍外形和基部輪廓示意圖Fig.1 The outline drawing of outside and base of asparagus
蘆筍的尺寸等級(jí)標(biāo)準(zhǔn)按照中華人民共和國(guó)農(nóng)業(yè)農(nóng)村部2008 年5 月18 日發(fā)布的《蘆筍等級(jí)規(guī)格》,以蘆筍基部最大直徑作為劃分等級(jí)規(guī)格的指標(biāo)[22],如表1 所示。
表1 蘆筍基部尺寸分級(jí)標(biāo)準(zhǔn)Table 1 The size grading standard of asparagus base
1.1.2 試驗(yàn)環(huán)境 筆者試驗(yàn)所用的所有蘆筍樣本均來自于山東省菏澤蘆筍種植基地,品種為綠蘆筍。試驗(yàn)時(shí)間為2022 年6-8 月,試驗(yàn)地點(diǎn)為寧夏大學(xué)工程訓(xùn)練中心。所用試驗(yàn)環(huán)境:光源采用自然光源,電腦處理為Intel(R)Core(TM)i7-8550U CPU,操作系統(tǒng)為Windows 11 家庭中文版,圖像處理軟件采用Matalb2020b。
筆者試驗(yàn)的圖像采集平臺(tái)主要由相機(jī)、鏡頭以及夾持相機(jī)的移動(dòng)導(dǎo)軌組成,固定高度和位置,控制該變量對(duì)成像的影響,考慮到未來實(shí)際應(yīng)用中的光照情況,光源為自然光源。采集到的蘆筍圖像分辨率為600×800。
在對(duì)蘆筍的圖像采集之前,先使用標(biāo)準(zhǔn)件(筆者的研究使用第五套人民幣一元硬幣,直徑為25 mm)對(duì)該試驗(yàn)采集裝置進(jìn)行標(biāo)定,獲取實(shí)際尺寸與像素尺寸的比值K。使用上述的采集平臺(tái)對(duì)硬幣的圖像進(jìn)行采集,通過一系列圖像處理操作,測(cè)量硬幣的面積,得到硬幣的像素直徑為64.701 3 pt,最后計(jì)算K值如式(1)所示。
蘆筍尺寸檢測(cè)程序主要包括圖像增強(qiáng)、灰度化、圖像分割、蘆筍邊界輪廓提取、尺寸測(cè)量,程序基于Matlab 軟件進(jìn)行編寫。
1.3.1 圖像增強(qiáng) 由于蘆筍圖像是在自然光照條件下進(jìn)行采集的,因此存在光照不均勻的情況,圖像會(huì)產(chǎn)生部分陰影或者模糊,如圖2 所示。使用J=imflatfield(I,Sigma)進(jìn)行去模糊,其中I為原始圖像;Sigma 為去模糊所使用高斯平滑的標(biāo)準(zhǔn)差,Sigma 值經(jīng)過多次試驗(yàn),最優(yōu)值30;J為去模糊后返回的圖像,如圖3 所示。
圖3 去模糊后圖像Fig.3 The image after deblurring
1.3.2 灰度化 由于檢測(cè)的對(duì)象為蘆筍,對(duì)采集到的蘆筍圖像(RGB 圖像)進(jìn)行灰度化處理,可減少后續(xù)圖像處理過程的計(jì)算量。筆者通過計(jì)算蘆筍圖像中每個(gè)像素點(diǎn)的R、G、B 三個(gè)分量的加權(quán)和,將RGB 彩色圖像轉(zhuǎn)化為灰度圖像,采取權(quán)重平均法,如式(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 圖像分割 圖像分割是將圖像分離成前景(目標(biāo)對(duì)象)和背景的過程,是圖像處理過程中的基礎(chǔ)性問題,分割的優(yōu)劣直接關(guān)乎到后續(xù)的尺寸測(cè)量。在眾多算法中,筆者選擇了主動(dòng)輪廓法[23-24],又稱snake法,是一種迭代式區(qū)域增長(zhǎng)圖像分割算法,snake表示平面中一組有序的像素點(diǎn)xi=[xi yi]T,其構(gòu)成了感興趣區(qū)域周圍的一個(gè)邊界曲線。該邊界曲線沿著能量減小的方向進(jìn)行移動(dòng),如式(3):
其中,EI—內(nèi)部能量,表示假定的邊界曲線;EE—外部能量,表示當(dāng)前snake 所在點(diǎn)的圖像。所以說,主動(dòng)輪廓法的每一次迭代都要沿著能量降低的方向,即Ek+1<Ek,然后用新點(diǎn)代替舊點(diǎn),繼續(xù)迭代,直到E最小??紤]蘆筍的大小形狀以及反復(fù)試驗(yàn),筆者選擇80×480 大小的矩形作為初始snake,迭代600 次時(shí)目標(biāo)和背景分割效果最佳。初始snake 和分割后的蘆筍圖像如圖5 和圖6 所示。
圖5 初始snakeFig.5 The original snake
圖6 分割后的蘆筍圖像Fig.6 The asparagus image after segmentation
使用其他圖像分割算法(Otsu 法閾值分割和自適應(yīng)閾值分割)對(duì)蘆筍圖像進(jìn)行分割,分割后的結(jié)果如圖7 和圖8 所示。從蘆筍圖像的分割結(jié)果可以看出,盡管Otsu 法閾值分割相對(duì)于自適應(yīng)閾值分割保留了更多的信息,但是兩種閾值方式都沒有完整的將蘆筍分割,同時(shí)從分割結(jié)果來看,分割后的圖像上還有少許的噪聲點(diǎn)(圖像上白色區(qū)域內(nèi)的黑色豎線和黑點(diǎn)),不利于后續(xù)圖像的邊界提取以及尺寸測(cè)量。綜合分析,使用主動(dòng)輪廓法來進(jìn)行蘆筍圖像的分割可以更好地完成蘆筍尺寸的測(cè)量。
圖7 Otsu 法閾值分割Fig.7 The threshold segmentation by Qtsu
圖8 自適應(yīng)閾值分割Fig.8 The threshold segmentation by self-adaption
1.3.4 蘆筍邊界輪廓提取 分割后的蘆筍圖像為二值圖像,已無噪聲點(diǎn),對(duì)其進(jìn)行邊界輪廓提取時(shí)選取低噪聲情況下提取效果較好的Roberts 算子[25],Roberts 算子采用對(duì)角線方向相鄰兩像素之差近似梯度幅值,檢測(cè)圖像中的邊緣(灰度函數(shù)發(fā)生急劇突變的像素點(diǎn)之間的連線),其模板如式(4)所示。提取后蘆筍輪廓如圖9 所示。
圖9 蘆筍邊界輪廓Fig.9 The boundary profile of asparagus
尺寸測(cè)量即從圖10 的蘆筍邊界輪廓圖像中獲得預(yù)定的尺寸信息(蘆筍基部最大直徑),從二維平面上觀察,即測(cè)量蘆筍基部邊緣點(diǎn)所構(gòu)成的最大水平線段的長(zhǎng)度。圖像處理中測(cè)量線段的常用方法之一就是尋找角點(diǎn),然后再計(jì)算兩個(gè)角點(diǎn)之間的距離,Harris 角點(diǎn)檢測(cè)算法被公認(rèn)為是較好的尋找角點(diǎn)的方法[26-27]。除此以外,還可以利用曲線擬合思想[28],將蘆筍邊緣像素點(diǎn)近似擬合成為一條或者數(shù)條相連的曲線,通過計(jì)算曲線的長(zhǎng)度或者曲線之間的距離來近似獲得蘆筍的基部最大直徑。但是,上述兩種方法不適用于蘆筍基部最大直徑的獲取,原因主要是蘆筍形狀的特殊性,從蘆筍的邊緣輪廓圖可以看出來,其基部位置多為曲線,且與兩個(gè)邊緣以曲線過渡,以及收割等原因?qū)е绿J筍基部不完整,需要將基部上完整部分的直徑作為該蘆筍的基部最大直徑,從而造成曲線的難擬合或者角點(diǎn)的錯(cuò)誤檢測(cè),兩種方法所得結(jié)果如圖10 所示,從圖上可以看到,由于蘆筍基部的復(fù)雜性造成角點(diǎn)的錯(cuò)誤檢測(cè),以及基部因不完整導(dǎo)致曲線擬合,難以計(jì)算正確距離。
圖10 角點(diǎn)檢測(cè)和曲線擬合所得圖像Fig.10 The acquired image through corner detection and curve fitting
綜合上述原因以及考慮到蘆筍自身形態(tài)特點(diǎn):其直徑自上而下逐漸增大,彎曲部分多出現(xiàn)在頂部柔嫩部位?;谔J筍形態(tài)的特殊之處以及檢測(cè)要求,借鑒三爪內(nèi)徑千分尺測(cè)量原理(三爪內(nèi)徑千分尺是利用螺旋副原理,使三個(gè)測(cè)量爪作徑向位移,使其與被測(cè)內(nèi)孔發(fā)生接觸,對(duì)內(nèi)孔尺寸進(jìn)行讀數(shù)的一種測(cè)量?jī)x器),筆者在本文中提出外包裹矩形法,其原理借鑒三爪內(nèi)徑千分尺,移動(dòng)測(cè)量爪與內(nèi)孔接觸,不斷在蘆筍像素矩陣的徑向上尋找其邊緣像素點(diǎn),并以此來繪制出包裹住蘆筍的矩形,如圖11 所示,此時(shí)矩陣的寬度和蘆筍的最大直徑有如式(5)的等式關(guān)系。以此完成蘆筍基部最大直徑的測(cè)量。
圖11 外包裹矩形法原理示意圖Fig.11 The principle diagram of rectangular wrapping method
基本思想是在蘆筍邊界輪廓的二值圖像上尋找到上下左右四個(gè)方向的第一個(gè)像素點(diǎn),基于此繪制出外包裹矩形,基本步驟如下:
(1)彎曲部分剪裁
外包裹矩形法的不足之處是彎曲蘆筍的檢測(cè)結(jié)果大于實(shí)際尺寸,如圖12 所示。蘆筍的彎曲有兩個(gè)方面,一是蘆筍在檢測(cè)分級(jí)時(shí)位置不佳導(dǎo)致采集的蘆筍圖像彎曲;二是蘆筍自身的彎曲。對(duì)于第一個(gè)方面,在實(shí)際檢測(cè)分級(jí)時(shí)可以通過機(jī)械結(jié)構(gòu)設(shè)計(jì)(輥輪)對(duì)蘆筍位置進(jìn)行限制,而針對(duì)蘆筍自身彎曲的情況,本文中采用圖像剪裁的方法將蘆筍彎曲的圖像去除,只保留蘆筍的基部,如圖13 所示。上述的兩項(xiàng)措施有效地彌補(bǔ)了外包裹矩形法的缺陷。
圖12 未剪裁彎曲部分的結(jié)果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])函數(shù)來實(shí)現(xiàn)的,其中I1、J1分別為待剪裁圖像和剪裁完返回的圖像;xref和yref為剪裁的起點(diǎn),本文中選擇的是I1左上角(1,1)點(diǎn);x、y構(gòu)成剪裁完成后圖像的大小,經(jīng)過多次試驗(yàn),將其定為600×120。
(2)繪制外包裹矩形
首先在剪裁后的二值圖像上遍歷所有的像素點(diǎn),比較像素值為1 的像素點(diǎn)在圖像矩陣中的位置(i,j),標(biāo)記出i最大時(shí)的像素點(diǎn)imax,以此類推,依次標(biāo)記出i最小時(shí)、j最大時(shí)和j最小時(shí)的像素點(diǎn)imin、jmax和jmin。隨后,利用標(biāo)記的四個(gè)像素點(diǎn)來繪制外包裹矩形,具體方法就是先新建一個(gè)空白圖像矩陣(零矩陣),在該空白圖像矩陣上沿著imax和imin兩個(gè)標(biāo)記點(diǎn)豎直方向依次為像素點(diǎn)賦值,沿著jmax和jmin兩個(gè)標(biāo)記點(diǎn)水平方向依次為像素點(diǎn)賦值,相交后所圍成的矩陣即為外包裹矩形(圖13)。
(3)尺寸測(cè)量
測(cè)量外包裹矩形的寬度,即為蘆筍基部最大直徑,但測(cè)量的是像素尺寸,如果想要得到實(shí)際尺寸,需要乘上前面的標(biāo)定系數(shù)(K值)。尺寸測(cè)量流程圖如圖14 所示。
圖14 尺寸測(cè)量流程Fig.14 The flow chart of measured size
基于上述尺寸計(jì)算的思想和流程,通過Matlab 程序編寫實(shí)現(xiàn)上述算法并不斷地調(diào)整,得到如下的結(jié)果,其中圖13 為所繪制的外包裹矩形與剪裁后蘆筍邊緣圖像的合成效果圖,可以更加直觀地看到其正確性,在實(shí)際計(jì)算中,只需要計(jì)算矩形的寬,簡(jiǎn)單且計(jì)算量小,適用于蘆筍等不規(guī)則體的對(duì)象。
為了驗(yàn)證上述一系列的圖像處理算法的可靠性以及是否滿足預(yù)設(shè)的檢測(cè)要求,筆者隨機(jī)選用10根剛收割的新鮮蘆筍,依照標(biāo)準(zhǔn)[22]使用游標(biāo)卡尺對(duì)其基部最大直徑進(jìn)行人工測(cè)量,同時(shí)使用前文中提到的圖像采集平臺(tái)對(duì)這些蘆筍進(jìn)行圖像采集。將這些圖像導(dǎo)入先前編寫的Matlab 程序中獲取計(jì)算機(jī)檢測(cè)的結(jié)果。數(shù)據(jù)對(duì)比如表2 和圖15。
表2 試驗(yàn)結(jié)果Table 2 The experimental result
圖15 蘆筍實(shí)際尺寸與測(cè)量尺寸Fig.15 The actual and measured size of asparagus
觀察表2 和圖15 可以發(fā)現(xiàn),在光照條件和試驗(yàn)設(shè)備不佳的情況下,筆者試驗(yàn)使用的圖像處理方法依舊能夠達(dá)到較高的精度水平,蘆筍實(shí)際尺寸與測(cè)量尺寸的誤差在0.01~0.50 mm,10 根試驗(yàn)蘆筍均分到正確的等級(jí)里,準(zhǔn)確率為100%。在實(shí)際檢測(cè)分級(jí)中,會(huì)通過機(jī)械結(jié)構(gòu)使蘆筍在圖像采集區(qū)旋轉(zhuǎn)一周,多采集幾張?zhí)J筍圖像,比較該根蘆筍的每張圖像檢測(cè)結(jié)果,取其中最大值來作為蘆筍基部最大近似直徑。
目前對(duì)于蘆筍基部最大直徑檢測(cè)的研究較少,筆者提出了一種基于圖像處理的外包裹矩形檢測(cè)方法,利用snake 法對(duì)蘆筍圖像進(jìn)行前后景分離,利用Roberts 算子提取邊界輪廓,使用矩形擬合蘆筍基部輪廓,并通過試驗(yàn)證明該法的可行性。傳統(tǒng)的尺寸檢測(cè)(線段測(cè)量)主要使用角點(diǎn)檢測(cè)和曲線擬合。其中角點(diǎn)檢測(cè)[26-27]在對(duì)蘆筍基部最大直徑進(jìn)行檢測(cè)時(shí),不規(guī)則體的蘆筍會(huì)出現(xiàn)角點(diǎn)的錯(cuò)誤檢測(cè),該法更適合規(guī)則體尺寸的檢測(cè)。用曲線擬合法[28]對(duì)蘆筍進(jìn)行檢測(cè)時(shí),難以確定蘆筍基部最大直徑所在位置(蘆筍收割過程造成部分蘆筍基部的不完整),該法更適合標(biāo)準(zhǔn)件尺寸的檢測(cè)。筆者針對(duì)蘆筍基部最大直徑的檢測(cè),相比其他方法更加簡(jiǎn)單實(shí)用、計(jì)算量小,更適合不規(guī)則體果蔬的尺寸檢測(cè)。但是在實(shí)際檢測(cè)分級(jí)過程中為了更加準(zhǔn)確地測(cè)量最大直徑,需要在圖像采集區(qū)域設(shè)置機(jī)械結(jié)構(gòu)使蘆筍旋轉(zhuǎn)一周,充分采集蘆筍的相關(guān)信息,除此之外還需對(duì)蘆筍進(jìn)行定位。
筆者使用上述方法對(duì)10 根剛收割的新鮮蘆筍基部最大直徑進(jìn)行測(cè)量,誤差范圍在0.01~0.50 mm,符合允許誤差范圍,分級(jí)正確率達(dá)到100%,解決了傳統(tǒng)蘆筍檢測(cè)分級(jí)中存在的精度差、有損傷等問題,在蘆筍的自動(dòng)分級(jí)領(lǐng)域具有一定的應(yīng)用前景。同時(shí)該檢測(cè)方法也為其他農(nóng)副產(chǎn)品以及不規(guī)則物體(比如草莓的橫徑測(cè)量)的尺寸檢測(cè)提供了新的思路。