王風(fēng)云, 鄭紀(jì)業(yè), 趙 佳, 盧 丹, 劉延忠, 趙文祥
(1.山東省農(nóng)業(yè)科學(xué)院科技信息研究所,山東濟(jì)南 250100; 2.山東大學(xué)控制科學(xué)與工程學(xué)院,山東濟(jì)南 250061)
我國(guó)雙孢蘑菇的工廠化生產(chǎn)已經(jīng)比較成熟,規(guī)模較大的雙孢蘑菇工廠日產(chǎn)量可達(dá)十幾噸,但雙孢蘑菇的分級(jí)系統(tǒng)尚不成熟,大部分雙孢蘑菇工廠仍然使用人工進(jìn)行分級(jí),人工分級(jí)不可避免地存在人眼疲勞和情緒不穩(wěn)定等不可控因素導(dǎo)致的分級(jí)誤差波動(dòng),同時(shí)人工分級(jí)存在操作重復(fù)、單調(diào)以及工作量大、生產(chǎn)率低、分級(jí)標(biāo)準(zhǔn)難以實(shí)現(xiàn)、分級(jí)精度不穩(wěn)定等缺點(diǎn)。面對(duì)龐大的生產(chǎn)量、日益增長(zhǎng)的需求量和日益嚴(yán)格的品質(zhì)要求,人工分級(jí)越來(lái)越跟不上現(xiàn)在商業(yè)化、工廠化和規(guī)模化的大發(fā)展潮流,亟需一種可以實(shí)時(shí)高速無(wú)損地對(duì)雙孢蘑菇進(jìn)行分級(jí)的系統(tǒng)來(lái)代替目前低效率的人工分級(jí),進(jìn)而提高雙孢蘑菇的商品化處理能力。
隨著計(jì)算機(jī)、機(jī)器視覺(jué)技術(shù)的發(fā)展,基于圖像的智能化分級(jí)方法由于其快速、無(wú)損的特點(diǎn)在果品上的應(yīng)用越來(lái)越多。Nandi等提出一種基于模糊算法的水果分級(jí)方法,并將此方法應(yīng)用于芒果分級(jí),且取得了不錯(cuò)的效果[1]。Afrisal等提出,先將采集到圖像的感興趣區(qū)域(region of interest,簡(jiǎn)稱(chēng)ROI)提取出來(lái),然后對(duì)圖像進(jìn)行顏色空間(hue,saturation,value,簡(jiǎn)稱(chēng)HSV)的轉(zhuǎn)換,并對(duì)ROI-HSV進(jìn)行特征提取,根據(jù)提取到的特征進(jìn)行水果分級(jí),結(jié)果表明,該方法對(duì)顏色和大小的判斷較為有效[2]。Hazisawa等采用梯度向量提取新鮮蘑菇的菌褶區(qū)域,通過(guò)計(jì)算菌褶面積與蘑菇總面積的比率來(lái)評(píng)判開(kāi)蓋水平,并將蘑菇按大小分為4個(gè)等級(jí),按開(kāi)蓋水平分為6個(gè)等級(jí)[3]。Yogitha等利用一系列復(fù)雜的庫(kù)函數(shù),如消除噪聲、檢測(cè)邊緣、平滑、擴(kuò)張、侵蝕、填充、去模糊、濾波、直方圖、顏色值、像素平均等開(kāi)發(fā)出一套用于水果自動(dòng)檢測(cè)的分布式計(jì)算機(jī)機(jī)器視覺(jué)系統(tǒng),該系統(tǒng)可以實(shí)現(xiàn)水果的自動(dòng)分級(jí)[4]。Razmjooy等開(kāi)發(fā)出一套根據(jù)馬鈴薯大小進(jìn)行分級(jí),并根據(jù)顏色區(qū)分有缺陷馬鈴薯的系統(tǒng);為確定大小,進(jìn)行最大直徑、最小直徑和長(zhǎng)寬直徑比計(jì)算;為識(shí)別土豆的缺陷加入顏色特征[5]。Szczypiński等對(duì)大麥品種進(jìn)行詳細(xì)研究,分別使用形態(tài)學(xué)特征、統(tǒng)計(jì)學(xué)質(zhì)地特征和顏色成分直方圖來(lái)提取形狀、質(zhì)地和顏色特征[6]。de Araújo等提出一種基于相關(guān)性粒度檢測(cè)大豆質(zhì)量的方法[7]。郝敏等通過(guò)結(jié)合2種核函數(shù)構(gòu)建混合核函數(shù),在支持向量機(jī)(support vector machines,簡(jiǎn)稱(chēng)SVM)中輸入19個(gè)通過(guò)特征篩選的Zernike特征參數(shù),用高斯徑向基核函數(shù)和Sigmoid核函數(shù)構(gòu)建混合核函數(shù),完成對(duì)馬鈴薯薯形的檢測(cè)分類(lèi),對(duì)形狀良好的馬鈴薯的檢測(cè)準(zhǔn)確率達(dá)93%,對(duì)畸形馬鈴薯的檢測(cè)準(zhǔn)確率達(dá)100%[8]。董春旺等利用圖像處理技術(shù)和智能算法,基于茶葉品質(zhì)、形成工藝、視覺(jué)形態(tài)等內(nèi)外因素,構(gòu)建外形品質(zhì)的智能感官評(píng)價(jià)方法,該方法可以克服人工評(píng)審難以做到的精準(zhǔn)、客觀、量化等缺點(diǎn)[9]。胡濤利用圖像形態(tài)學(xué)的形態(tài)開(kāi)運(yùn)算方法,使用特定的結(jié)構(gòu)元素對(duì)蘋(píng)果圖像進(jìn)行開(kāi)運(yùn)算,判斷其是否含有果梗并找到其位置,可為蘋(píng)果分級(jí)系統(tǒng)更好地實(shí)現(xiàn)提供技術(shù)支撐[10]。譚博等使用電荷藕合器件(charge coupled device,簡(jiǎn)稱(chēng)CCD)相機(jī)采集柑橘圖像,再對(duì)圖像進(jìn)行預(yù)處理得到二值圖像,由二值圖像得到柑橘邊界信息,利用可靠的邊界信息求取質(zhì)心,以通過(guò)質(zhì)心的垂直軸線作為檢測(cè)軸進(jìn)行柑橘寬度檢測(cè),并將獲得的最大寬度作為柑橘分級(jí)的重要特征,對(duì)80個(gè)柑橘進(jìn)行試驗(yàn),結(jié)果發(fā)現(xiàn),準(zhǔn)確度達(dá)96.25%[11]。胡靜等利用圖像處理技術(shù)對(duì)水果圖像進(jìn)行處理,并將其顏色特征、形狀特征、面積特征全部輸入到BP神經(jīng)網(wǎng)絡(luò)、徑向基網(wǎng)絡(luò)、競(jìng)爭(zhēng)網(wǎng)絡(luò)中,然后將各神經(jīng)網(wǎng)絡(luò)的分類(lèi)結(jié)果使用多數(shù)投票法(majority voting scheme,簡(jiǎn)稱(chēng)MVS)進(jìn)行融合,獲得魯棒性好的水果分級(jí)方法[12]。潘偉應(yīng)用區(qū)域閾值分割、邊緣線追蹤、Hilditch細(xì)化等方法進(jìn)行圖像低層處理,并使用遺傳算法訓(xùn)練多層前饋神經(jīng)網(wǎng)絡(luò),然后對(duì)番茄的成熟度進(jìn)行判別,可達(dá)到對(duì)番茄進(jìn)行自動(dòng)檢測(cè)和分級(jí)的效果[13]。目前,關(guān)于雙孢蘑菇智能化分級(jí)算法的研究尚未見(jiàn)報(bào)道。
本研究利用機(jī)器視覺(jué)技術(shù)提出基于分水嶺、Canny算子、閉運(yùn)算等處理的雙孢蘑菇圖像大小分級(jí)算法,首先采用全局閾值分割法與尋找最大熵閾值分割法結(jié)合形成的第1次分水嶺算法去除陰影部分[14],然后使用Canny算子與或運(yùn)算和閉運(yùn)算結(jié)合形成的第2次分水嶺方法去除柄部干擾,最后采用最小外接矩形法求得雙孢蘑菇的直徑。
系統(tǒng)通過(guò)傳送帶將雙孢蘑菇輸送至圖像采集區(qū)域,觸發(fā)拍照,進(jìn)行圖像采集,采集到的圖像包括傳送帶及其邊緣部分,若要對(duì)雙孢蘑菇進(jìn)行圖像處理,須要提取采集到原始圖像image的感興趣區(qū)域,將雙孢蘑菇的圖像從整幅圖像中分離出來(lái),去除無(wú)關(guān)干擾元素,得到ROI_image,使后續(xù)的圖像處理只在這部分起作用[3,15],具體步驟參考文獻(xiàn)[16]。
最后得到的Tnew就是研究所需要的閾值T1。對(duì)圖像進(jìn)行二值化處理,首先須要將圖像轉(zhuǎn)換為灰度圖,然后對(duì)灰度值大于閾值T1的像素點(diǎn)賦值為255,表現(xiàn)為白色,對(duì)灰度值小于等于T1的像素點(diǎn)賦值為0,表現(xiàn)為黑色。這樣整幅圖像即可轉(zhuǎn)換為灰度值只有0、255的二值圖像,表現(xiàn)為非黑即白,得到圖像image1。
熵是指隨機(jī)變量的不確定性,當(dāng)熵達(dá)到最大值時(shí),隨機(jī)變量最隨機(jī)、最不確定。最大熵原理是在解空間中找到1個(gè)最優(yōu)解,使得圖像中目標(biāo)與背景分布的熵最大[18]。在一幅圖像中,須使選擇的閾值分割圖像的目標(biāo)區(qū)域、背景區(qū)域等2個(gè)部分灰度統(tǒng)計(jì)的信息量達(dá)到最大值,即熵達(dá)到最大值,這里使用KSW(Kapur,Sahoo,Wong)雙閾值算法尋找使熵達(dá)到最大值的閾值。
設(shè)分割閾值為t,圖像有L個(gè)灰度級(jí),則
(1)
式中:Pi為第i個(gè)灰度出現(xiàn)的概率。
設(shè)T為{0,1,2,…,t}的灰度分布,B為{t+1,t+2,…,L-1}的灰度分布,則概率分布為
(2)
(3)
在公式(2)、公式(3)中,
(4)
則這2個(gè)概率密度的相關(guān)熵為
(5)
(6)
φ(t)=H(T)+H(B)。
(7)
要尋找的最佳閾值T2就是使φ(t)取得最大值時(shí)的分割域值為t。在進(jìn)行二值化處理前先將待處理感興趣區(qū)域圖像ROI_image轉(zhuǎn)化為灰度圖,然后對(duì)灰度值大于閾值T2的像素點(diǎn)賦值為128,表現(xiàn)為灰色,對(duì)灰度值小于等于閾值T2的像素點(diǎn)賦值為0,表現(xiàn)為黑色,得到圖像image2。
以image1的前景作為標(biāo)記圖像marker1的前景,標(biāo)記為灰度值為255的白色;以image2的背景作為marker1的背景,標(biāo)記為灰度值為128的灰色;其他像素點(diǎn)標(biāo)記為灰度值為0的黑色。設(shè)置marker1為分水嶺的標(biāo)記圖像,標(biāo)記出確定的前景區(qū)域(白色)、確定的背景區(qū)域(灰色)和不確定區(qū)域(黑色),然后使用分水嶺算法結(jié)合已知的前景與背景特征對(duì)圖像進(jìn)行處理,得到第1次分水嶺結(jié)果圖watershed1。
Canny算子是一種用于進(jìn)行邊緣檢測(cè)的算子[19],其高、低閾值分別為“1.2”“1.3”節(jié)獲得的閾值T1、T2。在低閾值邊緣分布圖上只保留具有連接路徑的邊緣點(diǎn),同時(shí)把其他邊緣點(diǎn)連接到高閾值邊緣分布圖的邊緣上[20],獲得第1輪廓圖contours1,這就使得高閾值分布圖上的所有邊緣點(diǎn)都被保留下來(lái),而低閾值分布圖上的邊緣點(diǎn)孤立鏈全部被移除。
將watershed1的前景(雙孢蘑菇部分)轉(zhuǎn)換為黑色(灰度值為0),背景轉(zhuǎn)換為白色(灰度值為255);將contours1的前景(由Canny算子獲得的雙孢蘑菇輪廓)設(shè)置為白色(灰度值為255),背景設(shè)置為黑色(灰度值為0),對(duì)2個(gè)圖像進(jìn)行邏輯或運(yùn)算,得到result1圖像,這樣可以有效去掉contours1中非雙孢蘑菇的邊緣,同時(shí)只保留雙孢蘑菇內(nèi)部(如雙孢蘑菇與柄的連接部分)邊緣。然后對(duì)result1圖像進(jìn)行閉運(yùn)算(先膨脹后腐蝕),多次試驗(yàn)結(jié)果表明,進(jìn)行8次閉運(yùn)算處理結(jié)果較好。閉運(yùn)算后得到處理結(jié)果圖image_closed。
將image_closed中的雙孢蘑菇部分作為標(biāo)記圖像marker2的前景,標(biāo)記為灰度值為255的白色;以watershed1的背景作為標(biāo)記圖像marker2的背景,標(biāo)記為灰度值為128的灰色,其他像素點(diǎn)標(biāo)記為黑色,得到標(biāo)記圖像marker2,然后將其作為第2次分水嶺的標(biāo)記圖像進(jìn)行處理,得到第2次分水嶺結(jié)果圖watershed2。
最小外接矩形的2條鄰邊中較長(zhǎng)的那條邊即為要求的雙孢蘑菇最大直徑,該直徑值是像素坐標(biāo)下的值,因此參照文獻(xiàn)[16]對(duì)像素坐標(biāo)和實(shí)際坐標(biāo)進(jìn)行轉(zhuǎn)換。
圖像處理算法的整個(gè)流程見(jiàn)圖1,算法處理效果見(jiàn)圖2。
為驗(yàn)證本研究算法的處理效果,對(duì)算法在機(jī)器視覺(jué)試驗(yàn)平臺(tái)上進(jìn)行試驗(yàn),樣機(jī)如圖3所示。圖像采集系統(tǒng)由 MV-LC2K40 高速線陣相機(jī)、AFT-LCL50鏡頭、光電傳感器、AFT-RL12068W LED 環(huán)形光源及其控制器、LIC-2KB02圖像采集卡、F口近攝接圈等組成,對(duì)連續(xù)運(yùn)動(dòng)的雙孢蘑菇進(jìn)行持續(xù)的圖像采集。算法驗(yàn)證分靜態(tài)驗(yàn)證和動(dòng)態(tài)驗(yàn)證2種情況。
靜態(tài)驗(yàn)證利用相機(jī)拍攝1幅圖像,通過(guò)圖像標(biāo)定系數(shù)轉(zhuǎn)換為單位為mm的試驗(yàn)值,使用游標(biāo)卡尺測(cè)量菌蓋最大直徑,并將其作為實(shí)際值,則相對(duì)誤差=|實(shí)際值-試驗(yàn)值|/實(shí)際值×100%,由表1可知,本研究算法測(cè)量的最大相對(duì)誤差為 3.14%,最小相對(duì)誤差為0.09%,相對(duì)誤差平均值為0.99%,表明本研究提出的方法對(duì)靜態(tài)雙孢蘑菇圖像最大直徑的測(cè)量有很好的效果。
根據(jù)NY/T 1790—2009《雙孢蘑菇等級(jí)規(guī)格》將雙孢蘑菇按菌蓋直徑>4.5 cm、2.5 cm≤菌蓋直徑≤4.5 cm、菌蓋直徑<2.5 cm 分為一級(jí)、二級(jí)、三級(jí),并將它們作為精選分級(jí)的特征參數(shù)。首先利用算法對(duì)樣品進(jìn)行在線分級(jí),然后對(duì)分完級(jí)別的每個(gè)樣品使用游標(biāo)卡尺進(jìn)行測(cè)量核對(duì)。
以游標(biāo)卡尺測(cè)量為依據(jù),計(jì)算出機(jī)器視覺(jué)分級(jí)的錯(cuò)分個(gè)數(shù)除以卡尺測(cè)量的總個(gè)數(shù),得出機(jī)器視覺(jué)分級(jí)的相對(duì)誤差,從而計(jì)算出每次試驗(yàn)的準(zhǔn)確率,假設(shè)算法測(cè)量的一級(jí)、二級(jí)、三級(jí)的蘑菇個(gè)數(shù)分別為A1、A2、A3,卡尺測(cè)量的一級(jí)、二級(jí)、三級(jí)的蘑菇個(gè)數(shù)分別為C1、C2、C3,則準(zhǔn)確率Ra為
(8)
由公式(8)和表2中數(shù)據(jù)計(jì)算得出,利用此算法對(duì)雙孢菇進(jìn)行分級(jí)準(zhǔn)確率的平均值為96.94%。
表1 靜態(tài)試驗(yàn)數(shù)據(jù)與分析
表2 動(dòng)態(tài)試驗(yàn)數(shù)據(jù)與分析
本研究提出的2次分水嶺法對(duì)雙孢蘑菇靜態(tài)圖像有很好的處理效果,對(duì)于動(dòng)態(tài)圖像的處理效果平均相對(duì)誤差也小于5%,可達(dá)到試驗(yàn)的預(yù)期目的。動(dòng)態(tài)誤差主要來(lái)自于前端的排列機(jī)構(gòu)以及后端的執(zhí)行機(jī)構(gòu),在以后的研究中將進(jìn)一步完善平臺(tái)前端與后端機(jī)構(gòu),以提高動(dòng)態(tài)數(shù)據(jù)的準(zhǔn)確率。