陳映雪,楊艷
(攀枝花學院 智能制造學院,四川攀枝花, 617000)
隨著水果種植產業的不斷發展,水果的供應量越來越大,實現對水果品質分級處理成為水果銷售處理的核心過程,也是水果商品最大化的重要過程。
在我國的水果產業中,芒果占據了較大的產量與輸出量,對采摘后的芒果進行分級處理,可增加芒果的自身價值與市場競爭力[1]。由于芒果在成熟后,果肉偏軟,在其表面極易產生黑斑,導致口感不達標和美觀不足,在運輸途中容易擠壓,造成芒果產量損失。而傳統的芒果分級主要依靠人工,存在著分級效率低、工作量大,人工成本高、誤差大以及在分級過程中造成二次損害的風險等缺點。隨著計算機機器視覺的不斷發展與成熟,基于機器視覺的分級方法已經在逐漸取代人工分級,對此國內外專家開展了大量研究。何文斌、魏愛云等[2]使用圖像去噪、圖像分割技術以及特征提取等方法對水果進行分級,闡述了基于機器視覺的水果分級研究進展與未來發展趨勢。饒劍等[3]研究了類球形水果外部品質分級方法,將臍橙的果形指數和果面缺陷作為檢測指標,實現了臍橙的外部品質分級。石瑞遙、田有文等[4]設計了一套蘋果在線檢測分級系統,通過逐像素遍歷法、支持向量機等方法實現了蘋果品質分級。田有文,程怡等[5]利用高光譜成像技術和支持向量機方法,對蘋果蟲傷缺陷與果梗/花萼進行識別,識別效果較好,能為研究蘋果質量等級在線評判提供理論依據。ALEIXOS 等[6]基于多光譜相機,利用DSP 特定算法對柑橘的大小等特征進行檢測,實現了柑橘與檸檬的正確區分。
綜上所述,本文采用工業相機對目標成像,結合Sobel算子、Canny 算子與形態學填充等處理算法獲取芒果的缺陷,根據缺陷大小與面積實現芒果分級處理。并以芒果為測試對象,驗證分級方法的可行性與準確性。
實驗材料為從超市購買的小芒果,共70 個,在挑選時盡量選擇形狀和面積均等的芒果。其中表面帶有缺陷的芒果有40 個,表面完好的芒果30 個,其中缺陷包括疤痕、腐爛、裂傷等呈現不規則面積黑斑的缺陷類型。
為采集到芒果的缺陷,在搭建圖像采集裝置時,要對相機、光源位置作清晰規劃,制定科學的實驗方案。裝置如圖1 所示,主要包括CCD 工業相機、鏡頭選用佳能24-105mm、LED 光源、傳送帶、數據處理中心。檢測時,首先需調整相機高度與照明設備的位置,使采集的圖像效果最佳;將小芒果放置于傳送帶上,送入工業相機的測量范圍內,同時在工業相機兩側以及下方布置三套照明設備,以盡量保證光照均勻;CCD 工業相機采用垂直拍攝方式,采集到的圖像通過數據線傳輸到電腦,進行數據處理。

圖1 圖像采集裝置
圖像輸入到MATLAB 軟件中,經過一系列的處理,最后得到缺陷部分,通過缺陷的個數和面積,對小芒果進行分級,具體操作流程如圖2 所示。

圖2 實驗流程圖
受光照不均勻等自然環境中不可控因素,相機采集到的圖像存在噪聲,噪聲會影響后續的圖像處理,對于小芒果的分級產生影響,所以應在保留圖像細節的基礎上,對圖像進行噪聲處理。常用的去噪處理有:均值濾波、高斯濾波、中值濾波、自適應中值濾波、雙邊濾波等方式。由于小芒果表面的缺陷大多呈現連續、不規則的黑斑,所以采用自適應中值濾波能夠很好的保護圖像尖銳邊緣的信息,在平滑非脈沖噪聲時能夠保留圖像細節,同時去噪效果明顯。
其原理為:將圖片灰度化,然后將圖片像素歸一化到[0,1]之間,然后添加均值為0,方差為0.1 的高斯噪聲,乘以255 映射回圖片原來的灰度級,用max(0,min(t1,255))操作將超出[0,255]的糾正。均值給出了計算均值的區域中灰度平均值的度量,而方差給出了這個區域的平均對比度的度量。其表達式為:
其中,g(x,y)表示噪聲圖像在點(x,y)上的值;干擾f(x,y)以形成g(x,y)的噪聲方差;mL,在Sxy上像素點的局部均值;,在Sxy上像素點的局部方差。如果濾波器應簡單地返回g(x,y)的值;如果濾波器返回區域Sxy上像素的算術均值;如果局部方差與σL2是高度相關的,濾波器返回一個g(x,y)的近似值。自適應濾波之后的圖像為灰度圖像,如圖3(a)所示,由灰度圖像的特點可知,直接對灰度圖像進行邊緣檢測,邊緣模糊,效果不明顯,故選擇使用Soble 算子進行邊緣檢測,檢測后再使用MATLAB 算法使圖像變為彩色,目的是使缺陷部分的特征加強,便于后續的第二次邊緣檢測。

圖3 樣本圖像預處理結果
邊緣檢測與微分運算類似,本質是所檢測的圖像的亮度變化。Sobel 算子是典型的基于一階導數的邊緣檢測算子,由于該算子引入了類似局部平均的運算,因此對噪聲具有平滑作用,能夠很好地消除噪聲的影響。Sobel 算子對像素的位置的影響做了加權,因此與Prewitt 算子,Roberts 算子相比效果更好,所以本文采用Sobel 算子對采集的圖像進行第一次邊緣檢測。
其原理為:Sobel 算子包含兩組 3 × 3 的矩陣,分別為橫向和縱向模板,將之與圖像作平面卷積,即可分別得出橫向及縱向的亮度差分近似值,本質是一次差分、一次平滑的連續運算。Gx 模板由于使用的是水平方向的差分和平滑模板進行卷積,而豎直邊緣的水平差分比較大,豎直邊緣將會被提取出來;同理,Gy 模板使用的是豎直方向的差分和平滑模板進行卷積,而水平邊緣的豎直方向的差分會比較大,將會把水平邊緣提取出來。
檢測水平方向沿橫向模板:
檢測垂直方向沿縱向的模板:
在濾波器之后,使用colormap 函數將圖像轉換成彩色,使圖像顏色對比更強烈,如圖3(c)所示。對于采集到的圖像,適當變化檢測模板的值,找到缺陷部分特征較明顯的矩陣值,替換掉模板的矩陣值,目的是增大缺陷部分與背景的顏色對比度。
在Sobel 算子邊緣檢測后,由于光照不均勻等因素,導致缺陷部分的顏色與小芒果部分完好位置顏色近似,以及缺陷部分的顏色不連續,這使得在后續第二次邊緣檢測實驗中,會把缺陷部分與完好部分一同檢測出來,導致實驗結果不準確。圖像增強可以對圖像中某個特征進行有針對性地突出,從而擴大圖像中特征與背景之間的差別。如圖4 是圖像增強后的結果。

圖4 圖像增強處理結果
基于邊緣的分割方法其實就是根據所采集到圖像中局部特性的不連續性,從而對所要識別的物體和背景之間形成邊緣。由于邊緣處像素的灰度值不連續,無法形成平滑、均勻的曲線,所以要通過邊緣檢測算法,得出連續平滑的邊緣曲線。本文中采用的邊緣檢測算法為Canny 算子,相較于其他檢測方法,Canny 算子對噪聲不敏感,不容易受到噪聲干擾,并且檢測錯誤率低,能夠檢測到真正的弱邊緣。Canny 算子的運算步驟分為四個部分:使用高斯函數對圖像進行平滑;尋找圖像的強度梯度;對梯度幅值進行非極大值抑制 ;用雙閾值算法檢測和連接邊緣。其中高斯濾波表達式如式2:
梯度的幅值和方向表達式如式3:
在閾值的選取時,根據梯度幅值的直方圖選取,選擇在直方圖中占比70%的梯度幅值作為高閾值,低閾值與高閾值的比例為4:10。選擇最優閾值,從而實現缺陷區域與非缺陷區域的有效分割。如圖5 所示,圖5(a)是邊緣檢測前的圖像,圖5(b)是Canny 算子檢測后的圖像。

圖5 圖像邊緣檢測的結果
實現邊緣檢測后的圖像是由連續不規則曲線組成,缺陷特征不明顯,為突出缺陷特征,在邊緣檢測后對圖像做形態學孔洞填充處理。所謂孔洞填充是指:一個孔洞可被定義為由前景像素相連接的邊界所包圍的一個背景區域。首先找孔洞的一個點,用結構元去膨脹,然后用原圖像的補集進行約束(求交集),不斷重復膨脹,約束直至圖形不改變(即收斂)就停止,最后與原圖求個交集。如圖6(a)所示,膨脹后的圖像邊緣連續。其公式為:

圖6 形態學處理后圖像
式4 中:B 是進行孔洞填充圖像中的對稱結構元。如果Xk=Xk-1,則算法在迭代的第k 步結束,然后,集合Xk 包含所有被填充的孔洞,Xk 和A 的并集包含所有填充的孔洞及這些孔洞的邊界。如圖6(b),在孔洞處理之后的圖像,缺陷特征明顯,邊緣清晰。
根據以上圖像處理步驟,還處理了一部分小芒果樣本的缺陷識別,如圖7 所示。

圖7 缺陷識別圖
本文對采集到的小芒果圖像進行圖像處理后,得到小芒果的缺陷部分圖像,最終以缺陷的大小與面積為分級標準,對小芒果進行分級。沒有缺陷的小芒果為一等、缺陷在1~2個之間為二等、缺陷在2 個以上為三等。
通過對70 個實驗樣品的分析,得到的分級結果如表1所示。結果表明對小芒果缺陷的處理準確率達到了95%,少數產生錯誤判斷的原因是,在采集圖像過程中,光照不均勻,導致圖像完好部位產生陰影,導致錯誤判斷。
本文提出了基于Sobel 算子與Canny算子兩次邊緣檢測的小芒果缺陷檢測方法,將小芒果缺陷的大小與面積作為分級標準,運用Sobel算子和Canny 算子解決了在以往缺陷識別中邊緣不清晰及不連續等問題,能夠更好地減少噪聲對圖像后續處理的干擾,使得檢測到的缺陷邊緣連續且平滑,接近真實的缺陷邊緣。實驗結果表明缺陷清晰、分級快速、準確率高,應用于芒果產業中,有助于提高小芒果的分級效率,滿足芒果分級需求。但由于實驗過程中光照的位置,始終會對采集到的小芒果圖像產生影響,導致陰影部分的產生,在后續的研究中,還需進一步改進。