石峰 宋曉毅 安陽工學(xué)院
引言:針對氣象學(xué)科基礎(chǔ)研究中的雪花形狀分類問題,文章提出一種基于BP神經(jīng)網(wǎng)絡(luò)的雪花形狀分類方法。首先對雪花圖像進(jìn)行圖像預(yù)處理并提取雪花的輪廓特性;在此基礎(chǔ)上利用雪花輪廓得到雪花的縱橫軸比、矩形度、周長凹凸比、面積凹凸比、形狀參數(shù)以及致密度6種形狀特征參數(shù),采取BP神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)分類器。實(shí)驗(yàn)表明,該分類器識別率可以達(dá)到91.67%,能夠?yàn)楹罄m(xù)研究雪花物理結(jié)構(gòu)與人工干預(yù)降雪之間的關(guān)系提供可靠數(shù)據(jù)支撐。
首先對圖像進(jìn)行二值化處理,在13種基于直方圖的圖像全局二值化算法中,本文應(yīng)用最大類間方差法(Otsu)進(jìn)行圖像二值化處理,獲得最優(yōu)的圖像分割閾值。并對分割后的圖像形態(tài)學(xué)操作,完成邊緣檢測和提取輪廓線。
雪花圖像包含了豐富的特征信息,比如形狀特征和紋理特征,根據(jù)形狀分類的相關(guān)理論,本文利用雪花的輪廓、凸包和最小包圍盒得到形狀描述,利用這些形狀描述計(jì)算出縱橫軸比、矩形度、周長凹凸比、面積凹凸比、形狀參數(shù)和致密度6種相對形態(tài)參數(shù)。
本文先提取雪花的外部輪廓,通過采用輪廓跟蹤法對雪花圖像進(jìn)行輪廓提取,具體算法步驟為:(1)對圖像預(yù)處理后的雪花二值化圖像采用自頂向下、從左到右的順序進(jìn)行掃描,得到第一個(gè)像素點(diǎn)為1的點(diǎn),此時(shí)將其作為起始點(diǎn),進(jìn)行步驟2。(2)得到起始點(diǎn)后,按照逆時(shí)針方向?qū)ふ耶?dāng)前像素點(diǎn)周圍8個(gè)方向上的領(lǐng)域點(diǎn),如果發(fā)現(xiàn)像素值為1的點(diǎn)且領(lǐng)域上包含0像素點(diǎn),若此像素點(diǎn)先前沒有被掃描過,將這個(gè)像素點(diǎn)作為當(dāng)前點(diǎn),記錄下相應(yīng)的鏈碼值。(3)重復(fù)步驟2,直到回到起始點(diǎn)。(4)根據(jù)步驟2和3所記錄的鏈碼值,得到雪花的形狀輪廓。輪廓圖如圖1(a)所示。
本文采取Graham掃描法求取最小凸包,凸包是指在雪花圖像中,找出某些點(diǎn)作一個(gè)多邊形,使這個(gè)多邊形能把所有點(diǎn)都包括在內(nèi),這個(gè)凸多邊形稱之為凸包。如圖1(b)、(c)所示,(b)圖為對原始凸包圖像進(jìn)行膨脹算法后的圖像,(c)圖為對膨脹圖像進(jìn)行相應(yīng)程度侵蝕算法后的圖像。
最小包圍盒是指包含某個(gè)區(qū)域內(nèi)所有像素點(diǎn)的一個(gè)最小矩形,如圖1(d)所示。算法過程描述如下:(1)使用一條平行線對凸包兩邊的頂點(diǎn)進(jìn)行檢測,發(fā)現(xiàn)有一條凸包頂點(diǎn)之間的連線與這條平行線重合,記下這兩條平行線的位置,然后作兩條垂直于這條平行線的線段,從這個(gè)方向的兩側(cè)凸包頂點(diǎn)開始尋找。最后4條線段可以形成一個(gè)矩形,并且計(jì)算該矩形的面積。(2)重復(fù)上面的過程,直到遍歷完所有的雪花凸包頂點(diǎn),面積最小的矩形就是最小包圍盒。
(1)縱橫軸比(AxisRatio):雪花圖像最小包圍盒的寬度與長度的比值。(2)矩形度(Rectangularity):雪花面積與最小包圍盒面積的比值。(3)面積凹凸比(ConvexityArea):雪花面積與雪花凸包面積的比值。(4)周長凹凸比(ConvexityPerimeter):雪花周長與凸包周長的比值。(5)形狀參數(shù)(Formparameter):是由雪花的面積與周長之間的計(jì)算出來的值,反映了雪花面積的緊密性。(6)致密度(Density):用來描述圖像邊界復(fù)雜程度的指標(biāo),反映了圖像趨于圓的程度。
BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),主要特點(diǎn)是輸入信號前向傳遞,誤差反向傳播,如果輸出層無法得到期望輸出,就會轉(zhuǎn)向反向傳播,根據(jù)預(yù)測誤差調(diào)整網(wǎng)絡(luò)權(quán)值和閾值,即可使預(yù)測輸出向期望輸出不斷逼近。本文采用的BP神經(jīng)網(wǎng)絡(luò)為3層,激活函數(shù)為sigmod函數(shù)。(1)確定網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)。本文采用六項(xiàng)形狀特征作為輸入層節(jié)點(diǎn)數(shù),即m=6,輸出層節(jié)點(diǎn)數(shù)對應(yīng)雪花形
其中a取0~10的常數(shù),l確定了大概范圍,通過使用試湊法確定出最佳的節(jié)點(diǎn)數(shù)l,本文l取10。(2)網(wǎng)絡(luò)初始化。在初始化階段,給予權(quán)重系數(shù)Wij一個(gè)隨機(jī)數(shù)(-1.0~1.0),學(xué)習(xí)速率為0.01,目標(biāo)誤差0.001。(3)訓(xùn)練算法選擇。本文采用梯度修正法和反向錯(cuò)誤傳播算法。對雪花庫雪花選取3種類型:六角盤狀、六枝星狀和星形樹枝狀的雪花圖像500張進(jìn)行處理,3種類型中各隨機(jī)選取100個(gè)作為訓(xùn)練樣本,剩下200個(gè)作為分類測試樣本,識別率達(dá)到91.67%。
圖1 (a)雪花形狀輪廓圖;(b)雪花形狀凸包圖(膨脹后);
(c)雪花形狀凸包圖(侵蝕后);(d)最小包圍盒圖
結(jié)語:花形狀分類在氣象領(lǐng)域的基礎(chǔ)研究工作中發(fā)揮著重要作用,本文利用數(shù)字圖像處理技術(shù)對雪花圖像提取了縱橫軸比、矩形度、面積凹凸比、周長凹凸比、形狀參數(shù)以及致密度等6項(xiàng)形態(tài)特征參數(shù),設(shè)計(jì)了一種基于BP神經(jīng)網(wǎng)絡(luò)的雪花形狀分類方法。實(shí)驗(yàn)表明本方法對于3種雪花形態(tài)的正確識別率達(dá)到了91.67%,驗(yàn)證了利用BP神經(jīng)網(wǎng)絡(luò)對于雪花形狀進(jìn)行分類的可行性與較好的魯棒性。今后進(jìn)一步的研究方向是繼續(xù)改進(jìn)智能分類算法,解決存在雪花殘缺或者雪花圖像模糊干擾情況下的分類問題。