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