葉舒銘,楊艷
(攀枝花學院 智能制造學院,四川攀枝花,617000)
橙子在生長,采摘,運輸?shù)倪^程中,受到害蟲侵擾,環(huán)境影響,碰撞摩擦等因素引起的表面損傷及腐爛,這嚴重影響了橙子的品質,直接影響橙子的產后服務及顧客的滿意度。目前水果分揀大多由人工完成,不僅成本高且效率低下,不適于水果產業(yè)長期發(fā)展,因此找到一種高效的機械分揀方法非常重要。
近年來,隨著機器視覺的迅速發(fā)展,在水果表面缺陷檢測方面也日益廣泛。我國是農業(yè)大國,因此,采用機器視覺對水果缺陷檢測的方法在我國的發(fā)展前景也十分可觀。對此提出了諸多方法。鄧繼忠[1]提出了一種改進的邊界追蹤方法,通過對去噪后的濾波圖像或是二值圖像作為操作圖像,根據(jù)水果外形來對水果表面進行區(qū)域邊界追蹤,高效地確定了水果圖像,加快了圖像處理速度。王帥[2]提出了一種基于區(qū)域特征聚類顯著性檢測的表面缺陷分割算法,解決了傳統(tǒng)機器視覺表面缺陷檢測算法中的準確率低,魯棒性弱的問題,但是算法流程過于復雜,無法達到快速檢測的目的。廖繼水等[3]利用區(qū)域生長法從鮮棗中準確的定位缺陷區(qū)域,再通過邊緣檢測算子準確地將缺陷部位分割出來。容典[4]則提出了一種十分新穎的臍橙表面灰度局部閾值快速分割法,該方法解決了球類水果表面由于光照不均的問題,該算法將積分圖理論與局部閾值計算相結合,成功分割出了臍橙表面缺陷區(qū)域,由于此方法對光照因素較為敏感,可以十分準確的分離出缺陷部位。顧翔[5]則針對易受噪聲影響的基于灰度值的模板匹配算法中提出了一種改進小波閾值和改進雙邊濾波器相結合的去噪算法,和傳統(tǒng)去噪算法相比,此算法去噪效果相對更好。上述發(fā)展為基于機器視覺缺陷檢測技術提供了理論依據(jù),但依然存在著檢測流程復雜,效率低下的特點。
基于上述研究,本文提出一種基于機器視覺的橙子缺陷檢測技術,采用大津法(Otsu 法)的圖像分割技術,再通過運用canny 算子對缺陷部位進行精確邊緣檢測,達到快速檢測水果缺陷的目的,此改進算法為本文后期的水果缺陷檢測提供技術支持。
本文搭建了圖像采樣平臺如圖1 所示,該圖樣采集裝置主要由相機、光源、樣本、采樣平臺,采樣背景選擇黑色卡紙,目的是減少反射光對圖像采樣的影響。為驗證實驗的隨機性,采樣樣本為攀枝花水果市場隨機采購。
圖1 圖像采樣裝置
本文算法通過MATLAB 將拍攝的樣本圖像傳輸?shù)接嬎銠C中,運用MATLAB 軟件進行圖像分析與處理,得到的樣本圖像首先要對其進行圖像預處理,包括圖像灰度化,去噪處理,圖像增強等操作。邊緣檢測則獲取圖像邊緣輪廓的過程,是機器視覺,圖像分析的重要部分。邊緣檢測一般包括平滑濾波,圖像增強,邊緣檢測,缺陷定位等步驟。工作流程如圖2 所示。
圖2 缺陷檢測系統(tǒng)工作流程示意圖
采集到的RGB 圖像如圖3(a)所示,為簡化信息更清晰的顯示圖像效果,先對其進行灰度變換,變換效果如圖3(b)所示,灰度變換后的圖像包含多種噪聲,噪聲是圖像干擾的一個十分重要的因素,由相機采集到的圖像在數(shù)字化和傳輸?shù)倪^程中常受到設備內部與外部環(huán)境噪聲干擾的影響,從而導致圖像質量受損,不僅使得圖像分辨率降低,對后期圖像處理也極其不利,因此對圖像進行去噪處理十分重要。常見的去噪方法有高斯濾波,中值濾波[6],均值濾波,雙邊濾波等。高斯濾波對圖像鄰域內像素進行平滑時,對圖像不同位置的像素賦予了不同的權值,但是沒有考慮到圖像的邊緣,會將邊緣模糊掉。因為高斯核只考慮到了空間分布,沒考慮像素點的差異。中值濾波則是計算出了圖像中所有像素的中值,并用計算出來的中值替代模板中心像素的灰度值,這種方法能有效地抑制椒鹽噪聲,也不會將邊緣模糊掉。均值濾波則是使用模板內所有像素的均值代替模板中心像素灰度值,此方法易受到噪聲干擾,不能有效地消除噪聲。雙邊濾波比高斯濾波多了一個高斯方差 sigma-d,它是基于空間分布的高斯濾波函數(shù),與高斯濾波相比它不會模糊掉邊緣信息,但由于儲存過多的高頻信息,對于彩色圖像中的高頻噪聲不能很干凈地濾掉,對低頻噪聲有較好的抑制作用。鑒于以上所述,本文采用中值濾波對橙子圖像進行去噪處理,首先計算圖像中各像素的灰度值,濾波窗口為W 的二維中值濾波公式為:
圖3 樣本圖像預處理結果
其中f(x,y),g(x,y)分別為原始圖像和處理后的圖像,W為二維模板,通常為3*3 或是5*5 區(qū)域,本文采用3*3二維模板。
二維中值濾波的窗口形狀和尺寸對濾波效果影響較大,這里我們選擇了3*3 的濾波窗口以使得中值濾波后的圖像更加清晰,在有效去除噪聲的同時可以避免模糊掉邊緣信息。經過中值濾波后的圖像如圖3(c)所示,雖然和灰度圖像相比變化不大,但是像素值的分布卻發(fā)生了變化。
圖像去噪之后為了更好地提取物體邊緣輪廓信息,本文提出一種采用imadjust 函數(shù)調整灰度圖像的灰度范圍。原圖像灰度范圍為0~225,本文將小于225*0.2 的灰度值設為0,將大于255*0.5 的灰度值設為255。所示效果對比圖如圖4(a)和4(b)所示。由圖可以看出調整灰度之后的圖像和原圖像相比邊緣輪廓更加清晰,缺陷部位也更加明顯,為了增加圖像的對比度,現(xiàn)將圖像進行取反運算,效果如圖4(c)所示。
圖4 圖像增強處理結果
本文采用大津法(Otsu 法)算法[7]又稱最大類間方差法,這是一種自適應的閾值分割方法,與其他閾值分割方式相同,也是根據(jù)灰度特征,選定最佳的閾值。對取反之后的圖像進行閾值分割[8],提取邊緣輪廓和缺陷部位,分割出樣本和背景。大津閾值算法思想是使類間方差最大,越接近正確分割圖像的閾值。
假設背景像素點為n0,占總像素點比例為p0,平均像素值為m0;目標區(qū)域所有像素點為n1,占總像素的比例為p1,平均像素值為m1;圖像的所有像素點為n,平均像素值為m。那么則有以下關系式:
得到:
定義類間方差g為 :
由上式(1)(2)(3)可得,類間方差的計算公式為:
由圖5 可以明確地看到分割出的前景與背景,缺陷部位也十分明顯。
圖5 閾值分割處理結果
針對傳統(tǒng)canny 算法[9]的閾值需要人為設定缺陷,算法自適應不足等特點。本文通過Otsu 分割方法通過對圖像灰度特征進行分析確定了最佳分割閾值,運用該閾值得到分割圖像,然后利用canny 算子來提取出圖像的邊緣信息,下面對一般的canny 算子和運用了Otsu 法后的canny 算子進行輪廓提取做了對比,如圖6(b)和圖6(c)所示,一般的canny 檢測算子[10]會將某些真正邊緣檢測不到,而將不是邊緣的虛假信息作為邊緣被檢測出來,但是使用Otsu 法后,不僅抑制了虛假邊緣的產生,而且圖像邊緣的連續(xù)性也保持得非常良好,實驗證明該方法具有一定的實用性。
圖6 canny 算子邊緣檢測對比圖
為驗證算法的可行性,本文采用了橙子的幾種常見缺陷作為實驗樣本,實驗結果如圖7 所示,圖7(a)為原圖,圖7(b)為一般canny 算子檢測結果,圖7(c)為本文算法檢測結果。
圖7 canny 算子邊緣檢測對比圖
實驗結果表明,分別使用一般canny 算子和本文改進后的邊緣檢測算子對圖像進行邊緣檢測得到的對比圖可見。從圖7(b)與圖7(c)可以看出使用傳統(tǒng)canny 算子檢測方法圖像紋理不如本文改進后的清晰,并且產生了許多虛假邊緣,改進后的算法不僅保留了圖像內部的紋理特征,而且抑制了虛假邊緣的產生,改善了傳統(tǒng)算法在圖像中的分割效果,提高了算法的自適應性能,且能夠更好地抑制虛假邊緣的出現(xiàn),檢測邊緣較完整,細化程度較高。以攀枝花果園為例,該算法應用于果園水果采摘缺陷檢測過程中,缺陷檢測率高達96.55%,比一般算法更精確地識別缺陷部位,相較于人工檢測更省時省力,且成本更加低廉。
運用Otsu 分割方法解決了傳統(tǒng)的canny 算法需要人為設定缺陷的閾值、自適應力不足等問題,在能夠更好地抑制虛假邊緣產生的同時,也使得檢測出來的缺陷邊緣更加接近真實的缺陷邊緣,并且能夠很好地保證圖像邊緣的完整性和連續(xù)性。采用灰度變換、中值濾波抑制了橙子圖像處理過程中的噪聲因素對缺陷檢測產生的影響,以及采用imadjust函數(shù)調整灰度圖像的灰度范圍,讓處理之后的圖像較原圖輪廓更清晰,缺陷更明顯,改善了在復雜背景下檢測邊緣缺陷的效果。利用本文方法可以有效提高在篩選優(yōu)劣橙子時的準確性以及高效性。