陳映雪,楊艷
(攀枝花學(xué)院 智能制造學(xué)院,四川攀枝花, 617000)
隨著水果種植產(chǎn)業(yè)的不斷發(fā)展,水果的供應(yīng)量越來越大,實(shí)現(xiàn)對(duì)水果品質(zhì)分級(jí)處理成為水果銷售處理的核心過程,也是水果商品最大化的重要過程。
在我國的水果產(chǎn)業(yè)中,芒果占據(jù)了較大的產(chǎn)量與輸出量,對(duì)采摘后的芒果進(jìn)行分級(jí)處理,可增加芒果的自身價(jià)值與市場(chǎng)競(jìng)爭(zhēng)力[1]。由于芒果在成熟后,果肉偏軟,在其表面極易產(chǎn)生黑斑,導(dǎo)致口感不達(dá)標(biāo)和美觀不足,在運(yùn)輸途中容易擠壓,造成芒果產(chǎn)量損失。而傳統(tǒng)的芒果分級(jí)主要依靠人工,存在著分級(jí)效率低、工作量大,人工成本高、誤差大以及在分級(jí)過程中造成二次損害的風(fēng)險(xiǎn)等缺點(diǎn)。隨著計(jì)算機(jī)機(jī)器視覺的不斷發(fā)展與成熟,基于機(jī)器視覺的分級(jí)方法已經(jīng)在逐漸取代人工分級(jí),對(duì)此國內(nèi)外專家開展了大量研究。何文斌、魏愛云等[2]使用圖像去噪、圖像分割技術(shù)以及特征提取等方法對(duì)水果進(jìn)行分級(jí),闡述了基于機(jī)器視覺的水果分級(jí)研究進(jìn)展與未來發(fā)展趨勢(shì)。饒劍等[3]研究了類球形水果外部品質(zhì)分級(jí)方法,將臍橙的果形指數(shù)和果面缺陷作為檢測(cè)指標(biāo),實(shí)現(xiàn)了臍橙的外部品質(zhì)分級(jí)。石瑞遙、田有文等[4]設(shè)計(jì)了一套蘋果在線檢測(cè)分級(jí)系統(tǒng),通過逐像素遍歷法、支持向量機(jī)等方法實(shí)現(xiàn)了蘋果品質(zhì)分級(jí)。田有文,程怡等[5]利用高光譜成像技術(shù)和支持向量機(jī)方法,對(duì)蘋果蟲傷缺陷與果梗/花萼進(jìn)行識(shí)別,識(shí)別效果較好,能為研究蘋果質(zhì)量等級(jí)在線評(píng)判提供理論依據(jù)。ALEIXOS 等[6]基于多光譜相機(jī),利用DSP 特定算法對(duì)柑橘的大小等特征進(jìn)行檢測(cè),實(shí)現(xiàn)了柑橘與檸檬的正確區(qū)分。
綜上所述,本文采用工業(yè)相機(jī)對(duì)目標(biāo)成像,結(jié)合Sobel算子、Canny 算子與形態(tài)學(xué)填充等處理算法獲取芒果的缺陷,根據(jù)缺陷大小與面積實(shí)現(xiàn)芒果分級(jí)處理。并以芒果為測(cè)試對(duì)象,驗(yàn)證分級(jí)方法的可行性與準(zhǔn)確性。
實(shí)驗(yàn)材料為從超市購買的小芒果,共70 個(gè),在挑選時(shí)盡量選擇形狀和面積均等的芒果。其中表面帶有缺陷的芒果有40 個(gè),表面完好的芒果30 個(gè),其中缺陷包括疤痕、腐爛、裂傷等呈現(xiàn)不規(guī)則面積黑斑的缺陷類型。
為采集到芒果的缺陷,在搭建圖像采集裝置時(shí),要對(duì)相機(jī)、光源位置作清晰規(guī)劃,制定科學(xué)的實(shí)驗(yàn)方案。裝置如圖1 所示,主要包括CCD 工業(yè)相機(jī)、鏡頭選用佳能24-105mm、LED 光源、傳送帶、數(shù)據(jù)處理中心。檢測(cè)時(shí),首先需調(diào)整相機(jī)高度與照明設(shè)備的位置,使采集的圖像效果最佳;將小芒果放置于傳送帶上,送入工業(yè)相機(jī)的測(cè)量范圍內(nèi),同時(shí)在工業(yè)相機(jī)兩側(cè)以及下方布置三套照明設(shè)備,以盡量保證光照均勻;CCD 工業(yè)相機(jī)采用垂直拍攝方式,采集到的圖像通過數(shù)據(jù)線傳輸?shù)诫娔X,進(jìn)行數(shù)據(jù)處理。
圖1 圖像采集裝置
圖像輸入到MATLAB 軟件中,經(jīng)過一系列的處理,最后得到缺陷部分,通過缺陷的個(gè)數(shù)和面積,對(duì)小芒果進(jìn)行分級(jí),具體操作流程如圖2 所示。
圖2 實(shí)驗(yàn)流程圖
受光照不均勻等自然環(huán)境中不可控因素,相機(jī)采集到的圖像存在噪聲,噪聲會(huì)影響后續(xù)的圖像處理,對(duì)于小芒果的分級(jí)產(chǎn)生影響,所以應(yīng)在保留圖像細(xì)節(jié)的基礎(chǔ)上,對(duì)圖像進(jìn)行噪聲處理。常用的去噪處理有:均值濾波、高斯濾波、中值濾波、自適應(yīng)中值濾波、雙邊濾波等方式。由于小芒果表面的缺陷大多呈現(xiàn)連續(xù)、不規(guī)則的黑斑,所以采用自適應(yīng)中值濾波能夠很好的保護(hù)圖像尖銳邊緣的信息,在平滑非脈沖噪聲時(shí)能夠保留圖像細(xì)節(jié),同時(shí)去噪效果明顯。
其原理為:將圖片灰度化,然后將圖片像素歸一化到[0,1]之間,然后添加均值為0,方差為0.1 的高斯噪聲,乘以255 映射回圖片原來的灰度級(jí),用max(0,min(t1,255))操作將超出[0,255]的糾正。均值給出了計(jì)算均值的區(qū)域中灰度平均值的度量,而方差給出了這個(gè)區(qū)域的平均對(duì)比度的度量。其表達(dá)式為:
其中,g(x,y)表示噪聲圖像在點(diǎn)(x,y)上的值;干擾f(x,y)以形成g(x,y)的噪聲方差;mL,在Sxy上像素點(diǎn)的局部均值;,在Sxy上像素點(diǎn)的局部方差。如果濾波器應(yīng)簡(jiǎn)單地返回g(x,y)的值;如果濾波器返回區(qū)域Sxy上像素的算術(shù)均值;如果局部方差與σL2是高度相關(guān)的,濾波器返回一個(gè)g(x,y)的近似值。自適應(yīng)濾波之后的圖像為灰度圖像,如圖3(a)所示,由灰度圖像的特點(diǎn)可知,直接對(duì)灰度圖像進(jìn)行邊緣檢測(cè),邊緣模糊,效果不明顯,故選擇使用Soble 算子進(jìn)行邊緣檢測(cè),檢測(cè)后再使用MATLAB 算法使圖像變?yōu)椴噬康氖鞘谷毕莶糠值奶卣骷訌?qiáng),便于后續(xù)的第二次邊緣檢測(cè)。
圖3 樣本圖像預(yù)處理結(jié)果
邊緣檢測(cè)與微分運(yùn)算類似,本質(zhì)是所檢測(cè)的圖像的亮度變化。Sobel 算子是典型的基于一階導(dǎo)數(shù)的邊緣檢測(cè)算子,由于該算子引入了類似局部平均的運(yùn)算,因此對(duì)噪聲具有平滑作用,能夠很好地消除噪聲的影響。Sobel 算子對(duì)像素的位置的影響做了加權(quán),因此與Prewitt 算子,Roberts 算子相比效果更好,所以本文采用Sobel 算子對(duì)采集的圖像進(jìn)行第一次邊緣檢測(cè)。
其原理為:Sobel 算子包含兩組 3 × 3 的矩陣,分別為橫向和縱向模板,將之與圖像作平面卷積,即可分別得出橫向及縱向的亮度差分近似值,本質(zhì)是一次差分、一次平滑的連續(xù)運(yùn)算。Gx 模板由于使用的是水平方向的差分和平滑模板進(jìn)行卷積,而豎直邊緣的水平差分比較大,豎直邊緣將會(huì)被提取出來;同理,Gy 模板使用的是豎直方向的差分和平滑模板進(jìn)行卷積,而水平邊緣的豎直方向的差分會(huì)比較大,將會(huì)把水平邊緣提取出來。
檢測(cè)水平方向沿橫向模板:
檢測(cè)垂直方向沿縱向的模板:
在濾波器之后,使用colormap 函數(shù)將圖像轉(zhuǎn)換成彩色,使圖像顏色對(duì)比更強(qiáng)烈,如圖3(c)所示。對(duì)于采集到的圖像,適當(dāng)變化檢測(cè)模板的值,找到缺陷部分特征較明顯的矩陣值,替換掉模板的矩陣值,目的是增大缺陷部分與背景的顏色對(duì)比度。
在Sobel 算子邊緣檢測(cè)后,由于光照不均勻等因素,導(dǎo)致缺陷部分的顏色與小芒果部分完好位置顏色近似,以及缺陷部分的顏色不連續(xù),這使得在后續(xù)第二次邊緣檢測(cè)實(shí)驗(yàn)中,會(huì)把缺陷部分與完好部分一同檢測(cè)出來,導(dǎo)致實(shí)驗(yàn)結(jié)果不準(zhǔn)確。圖像增強(qiáng)可以對(duì)圖像中某個(gè)特征進(jìn)行有針對(duì)性地突出,從而擴(kuò)大圖像中特征與背景之間的差別。如圖4 是圖像增強(qiáng)后的結(jié)果。
圖4 圖像增強(qiáng)處理結(jié)果
基于邊緣的分割方法其實(shí)就是根據(jù)所采集到圖像中局部特性的不連續(xù)性,從而對(duì)所要識(shí)別的物體和背景之間形成邊緣。由于邊緣處像素的灰度值不連續(xù),無法形成平滑、均勻的曲線,所以要通過邊緣檢測(cè)算法,得出連續(xù)平滑的邊緣曲線。本文中采用的邊緣檢測(cè)算法為Canny 算子,相較于其他檢測(cè)方法,Canny 算子對(duì)噪聲不敏感,不容易受到噪聲干擾,并且檢測(cè)錯(cuò)誤率低,能夠檢測(cè)到真正的弱邊緣。Canny 算子的運(yùn)算步驟分為四個(gè)部分:使用高斯函數(shù)對(duì)圖像進(jìn)行平滑;尋找圖像的強(qiáng)度梯度;對(duì)梯度幅值進(jìn)行非極大值抑制 ;用雙閾值算法檢測(cè)和連接邊緣。其中高斯濾波表達(dá)式如式2:
梯度的幅值和方向表達(dá)式如式3:
在閾值的選取時(shí),根據(jù)梯度幅值的直方圖選取,選擇在直方圖中占比70%的梯度幅值作為高閾值,低閾值與高閾值的比例為4:10。選擇最優(yōu)閾值,從而實(shí)現(xiàn)缺陷區(qū)域與非缺陷區(qū)域的有效分割。如圖5 所示,圖5(a)是邊緣檢測(cè)前的圖像,圖5(b)是Canny 算子檢測(cè)后的圖像。
圖5 圖像邊緣檢測(cè)的結(jié)果
實(shí)現(xiàn)邊緣檢測(cè)后的圖像是由連續(xù)不規(guī)則曲線組成,缺陷特征不明顯,為突出缺陷特征,在邊緣檢測(cè)后對(duì)圖像做形態(tài)學(xué)孔洞填充處理。所謂孔洞填充是指:一個(gè)孔洞可被定義為由前景像素相連接的邊界所包圍的一個(gè)背景區(qū)域。首先找孔洞的一個(gè)點(diǎn),用結(jié)構(gòu)元去膨脹,然后用原圖像的補(bǔ)集進(jìn)行約束(求交集),不斷重復(fù)膨脹,約束直至圖形不改變(即收斂)就停止,最后與原圖求個(gè)交集。如圖6(a)所示,膨脹后的圖像邊緣連續(xù)。其公式為:
圖6 形態(tài)學(xué)處理后圖像
式4 中:B 是進(jìn)行孔洞填充圖像中的對(duì)稱結(jié)構(gòu)元。如果Xk=Xk-1,則算法在迭代的第k 步結(jié)束,然后,集合Xk 包含所有被填充的孔洞,Xk 和A 的并集包含所有填充的孔洞及這些孔洞的邊界。如圖6(b),在孔洞處理之后的圖像,缺陷特征明顯,邊緣清晰。
根據(jù)以上圖像處理步驟,還處理了一部分小芒果樣本的缺陷識(shí)別,如圖7 所示。
圖7 缺陷識(shí)別圖
本文對(duì)采集到的小芒果圖像進(jìn)行圖像處理后,得到小芒果的缺陷部分圖像,最終以缺陷的大小與面積為分級(jí)標(biāo)準(zhǔn),對(duì)小芒果進(jìn)行分級(jí)。沒有缺陷的小芒果為一等、缺陷在1~2個(gè)之間為二等、缺陷在2 個(gè)以上為三等。
通過對(duì)70 個(gè)實(shí)驗(yàn)樣品的分析,得到的分級(jí)結(jié)果如表1所示。結(jié)果表明對(duì)小芒果缺陷的處理準(zhǔn)確率達(dá)到了95%,少數(shù)產(chǎn)生錯(cuò)誤判斷的原因是,在采集圖像過程中,光照不均勻,導(dǎo)致圖像完好部位產(chǎn)生陰影,導(dǎo)致錯(cuò)誤判斷。
本文提出了基于Sobel 算子與Canny算子兩次邊緣檢測(cè)的小芒果缺陷檢測(cè)方法,將小芒果缺陷的大小與面積作為分級(jí)標(biāo)準(zhǔn),運(yùn)用Sobel算子和Canny 算子解決了在以往缺陷識(shí)別中邊緣不清晰及不連續(xù)等問題,能夠更好地減少噪聲對(duì)圖像后續(xù)處理的干擾,使得檢測(cè)到的缺陷邊緣連續(xù)且平滑,接近真實(shí)的缺陷邊緣。實(shí)驗(yàn)結(jié)果表明缺陷清晰、分級(jí)快速、準(zhǔn)確率高,應(yīng)用于芒果產(chǎn)業(yè)中,有助于提高小芒果的分級(jí)效率,滿足芒果分級(jí)需求。但由于實(shí)驗(yàn)過程中光照的位置,始終會(huì)對(duì)采集到的小芒果圖像產(chǎn)生影響,導(dǎo)致陰影部分的產(chǎn)生,在后續(xù)的研究中,還需進(jìn)一步改進(jìn)。