趙利平 - 吳德剛 -
(商丘工學(xué)院,河南 商丘 476000)
蘋(píng)果分級(jí)是蘋(píng)果采摘后,銷售前的一個(gè)關(guān)鍵環(huán)節(jié),是實(shí)現(xiàn)蘋(píng)果按級(jí)定價(jià)的前提。傳統(tǒng)人工分級(jí)方法,不僅效率低,而且容易傷果[1]。隨著機(jī)器視覺(jué)技術(shù)的發(fā)展,智能自動(dòng)分級(jí)成了當(dāng)今蘋(píng)果分級(jí)的主要趨勢(shì),而大小又是分級(jí)的主要參考依據(jù)[2]。實(shí)現(xiàn)蘋(píng)果大小自動(dòng)分級(jí)的關(guān)鍵在于蘋(píng)果圖像邊緣的檢測(cè),當(dāng)前圖像邊緣檢測(cè)的方法除了Sobel、Prewitt、LOG等經(jīng)典算法[3],還有數(shù)學(xué)形態(tài)學(xué)、蟻群、模糊、小波等新型算法[4]。Sobel、Prewitt和LOG算法雖然計(jì)算速度較快且有一定的抗噪能力,但邊緣檢測(cè)精度低;數(shù)學(xué)形態(tài)學(xué)算法具有檢測(cè)快的優(yōu)點(diǎn),但不能用于背景復(fù)雜的圖像;蟻群算法僅可用于簡(jiǎn)單圖像的邊緣檢測(cè),沒(méi)有得到推廣;模糊算法的邊緣檢測(cè)效果較好,但抗高斯噪聲的能力不強(qiáng);小波算法具有抗噪的優(yōu)點(diǎn),但存在信息冗余的缺點(diǎn)[5]。小波變換可以有效抑制噪聲,利用小波變換幅值代替?zhèn)鹘y(tǒng)模糊算法的梯度、領(lǐng)域灰度差值作為模糊系統(tǒng)的輸入,可以克服傳統(tǒng)模糊算法存在的易受噪聲干擾和邊緣丟失、漏檢等缺陷。漫水填充法是獲得圖像邊緣包圍區(qū)域面積的一種簡(jiǎn)單的方法,不僅簡(jiǎn)單、易實(shí)現(xiàn),而且對(duì)于含有內(nèi)孔的區(qū)域也有著很好的填充效果。鑒于此,研究擬將小波和模糊算法相融合,用于蘋(píng)果頂視圖像邊緣的檢測(cè),利用漫水填充法獲得頂視圖像的面積,再根據(jù)蘋(píng)果頂視圖類圓的特性將面積轉(zhuǎn)換為直徑,最終完成蘋(píng)果的自動(dòng)分級(jí)。
首先利用二維低通平滑函數(shù)求導(dǎo)得到二維小波函數(shù),然后在合適尺度下對(duì)圖像在0~180°的選定方向上進(jìn)行小波變換,尋找極大值,然后根據(jù)閾值判定邊緣[6]。
設(shè)二維低通平滑函數(shù)為θ(x,y),則二維小波函數(shù)如式(1)所示。
(1)
若尺度s=2j,則得到二維小波函數(shù)如式(2)所示。
(2)
當(dāng)輸入函數(shù)為f(x,y)時(shí),在x和y兩個(gè)方向的分量如式(3)所示。
(3)
二維小波變換的模和相角分別如式(4)、(5)所示。
(4)
(5)
在尺度為s,方向?yàn)棣碌娜蛐〔ㄗ儞Q如式(6)所示。
(6)
(7)
從式(7)可以看出,全向小波變換的最大值與函數(shù)平滑后的梯度模相等,因此可以借助沿全向小波變換的極大值,進(jìn)行圖像邊緣的檢測(cè)。
考慮蘋(píng)果圖像邊緣具有方向不確定的特點(diǎn),選擇方差為σ2的二維高斯函數(shù)作為低通平滑函數(shù),具體如式(8)所示。
(8)
將式(8)帶入式(2)得到二維小波函數(shù)如式(9)所示。
(9)
則沿水平和垂直兩個(gè)方向上的小波變換如式(10)所示。
(10)
由式(9)、(10)可以推出小波變換的幅值如式(11)所示。
(11)
式中:
m、n——小波變換的窗口大小。
文中選擇3×3的小波變換窗口,方向選擇0°,±45°,±90°,±135°,180° 8個(gè)方向。
(1) 確定模糊系統(tǒng)的輸入,考慮到傳統(tǒng)模糊算法采用像素差作為輸入存在易受噪聲干擾的缺陷[7-8],文中選用3×3窗口的0°,±45°,±90°,±135°,180° 8個(gè)方向的小波變換幅值作為模糊輸入。小波變換窗口和幅值如圖1所示。
(2) 選擇合適的隸屬度函數(shù),考慮到高斯函數(shù)沒(méi)有零點(diǎn)且具有平滑的特性,因此選用高斯函數(shù)作為模糊系統(tǒng)的輸入和輸出隸屬度函數(shù),其函數(shù)式如式(12)所示。輸入變量歸一化處理,其范圍為[0,1]。輸入隸屬度函數(shù)的模糊集對(duì)應(yīng)的語(yǔ)言變量定義為低、中、高,輸出隸屬度函數(shù)的模糊集對(duì)應(yīng)的語(yǔ)言變量定義為非邊緣和邊緣。高斯函數(shù)的參數(shù)設(shè)置如表1、2所示。
(12)
式中:
a——變量;
m,d——高斯函數(shù)參數(shù)。
小波變換幅值B1、B2、B3、B4、B5、B6、B7、B8為輸入,像素點(diǎn)A5為輸出,模糊規(guī)則:
IfB1andB2andB3andB4andB5andB6andB7andB8為中,thenA5為邊緣像素點(diǎn);
表1 模糊推理系統(tǒng)輸入B1 ~B4Table 1 Fuzzy inference system input B1 ~B4
表2 模糊推理系統(tǒng)輸出ZTable 2 Fuzzy inference system output Z
圖1 小波變換窗口和幅值Figure 1 Window and amplitude of wavelet transform
IfB2andB3andB4andB5andB6andB7andB8為中andB1為低,thenA5為邊緣像素點(diǎn);
IfB1andB3andB4andB5andB6andB7andB8為中andB2為低,thenA5為邊緣像素點(diǎn);
IfB1andB2andB4andB5andB6andB7andB8為中andB3為低,thenA5為邊緣像素點(diǎn);
IfB1andB2andB3andB5andB6andB7andB8為中andB4為低,thenA5為邊緣像素點(diǎn);
IfB1andB2andB3andB4andB6andB7andB8為中andB5為低,thenA5為邊緣像素點(diǎn);
IfB1andB2andB3andB4andB5andB7andB8為中andB6為低,thenA5為邊緣像素點(diǎn);
IfB1andB2andB3andB4andB5andB6andB8為中andB7為低,thenA5為邊緣像素點(diǎn);
IfB1andB2andB3andB4andB5andB6andB7為中andB8為低,thenA5為邊緣像素點(diǎn);
IfB1orB2orB3orB4orB5orB6orB7orB8為高,thenA5為邊緣像素點(diǎn);其余情況A5為非邊緣像素點(diǎn)。
(3) 通過(guò)自適應(yīng)閾值得到蘋(píng)果圖像邊緣,具體如式(13)所示。
(13)
式中:
z*——像素點(diǎn)z去模糊后的值;
T——自適應(yīng)閾值,可根據(jù)式(14)求得。
(14)
式中:
k——去模糊后圖像經(jīng)過(guò)最大類間方差分類得到值;
利用漫水填充的方法獲取蘋(píng)果頂視圖邊緣圖像的面積,漫水填充方法的基本原理是在蘋(píng)果頂視圖邊緣圖像內(nèi)部標(biāo)記一個(gè)像素點(diǎn)作為種子點(diǎn),將其與相鄰像素點(diǎn)進(jìn)行灰度值比較,若灰度值一致,就對(duì)其進(jìn)行填充,再將該填充后的像素點(diǎn)作為新的種子,直到所有蘋(píng)果頂視圖所有的像素點(diǎn)被填充完。
采用0°,±45°,±90°,±135°,180° 8個(gè)方向進(jìn)行搜索填充,利用填充像素點(diǎn)的數(shù)量,表示蘋(píng)果頂視圖的面積,再利用蘋(píng)果頂視圖類圓的特性,將面積轉(zhuǎn)化為直徑。
選擇紅富士蘋(píng)果作為檢測(cè)對(duì)象,在同一光照條件下,將CCD照相機(jī)固定于蘋(píng)果上方10 cm處,垂直采集不同級(jí)別蘋(píng)果的頂視圖,將圖像處理成256×256像素,在VC++6.0軟件開(kāi)發(fā)環(huán)境中,實(shí)現(xiàn)蘋(píng)果圖像的邊緣檢測(cè)和分級(jí)處理。
對(duì)紅富士蘋(píng)果進(jìn)行分級(jí)試驗(yàn),蘋(píng)果分級(jí)標(biāo)準(zhǔn)為一級(jí)果直徑80 mm以上;二級(jí)果直徑70~80 mm;三級(jí)果直徑65~70 mm。采用融合小波變換的模糊算法進(jìn)行邊緣檢測(cè),利用漫水和類圓處理獲得蘋(píng)果直徑,一級(jí)、二級(jí)和三級(jí)蘋(píng)果的處理結(jié)果如圖2~4所示。
為了將蘋(píng)果的實(shí)際直徑與圖像處理獲得的直徑對(duì)接好,同時(shí)獲得蘋(píng)果圖像的分級(jí)閾值,選擇了直徑為80,70,65 mm的富士蘋(píng)果各30個(gè)進(jìn)行測(cè)試,每類蘋(píng)果圖像的均值即為蘋(píng)果分級(jí)閾值,具體參數(shù)如表3所示。
圖2 一級(jí)果處理過(guò)程Figure 2 First grade fruit treatment process
圖3 二級(jí)果處理過(guò)程Figure 3 Secondary fruit treatment process
圖4 三級(jí)果處理過(guò)程Figure 4 Tertiary fruit treatment process
表3 蘋(píng)果閾值對(duì)照Table 3 Comparison of apple threshold
由表3可知,蘋(píng)果圖像直徑超過(guò)190的屬于一級(jí)果,166~190的屬于二級(jí)果,134~166的屬于三級(jí)果。
為了測(cè)試文中算法的正確性,選取了200個(gè)含有3個(gè)類別的富士蘋(píng)果進(jìn)行分級(jí)測(cè)試,分級(jí)測(cè)試結(jié)果如表4所示。
表4 分級(jí)測(cè)試結(jié)果Table 4 Grading test results
從表4可以看出,文中提出的分級(jí)算法對(duì)一級(jí)、二級(jí)和三級(jí)富士蘋(píng)果的分級(jí)正確率均>98%,能夠滿足蘋(píng)果分級(jí)的需要。
針對(duì)傳統(tǒng)模糊算法存在易受噪聲干擾、邊緣檢測(cè)不完整等問(wèn)題,提出將小波變換融合到傳統(tǒng)模糊算法中,利用小波變換代替梯度、領(lǐng)域差值作為模糊系統(tǒng)的輸入,對(duì)圖像邊緣的正確檢測(cè)起到了很好的作用,采用自適應(yīng)閾值保證了圖像邊緣的連續(xù)性和完整性不受人為影響,采用漫水填充簡(jiǎn)易算法實(shí)現(xiàn)了圖像邊緣區(qū)域的面積獲得。通過(guò)試驗(yàn)測(cè)試發(fā)現(xiàn),該混合分級(jí)算法對(duì)于一級(jí)、二級(jí)和三級(jí)富士蘋(píng)果的分級(jí)正確率均>98%,完全能夠滿足蘋(píng)果分級(jí)的需要。但是,該算法對(duì)于不規(guī)則蘋(píng)果的分級(jí)還有一定的誤差,需要進(jìn)一步研究和改進(jìn)。