陳宇 臧美英 李紅波
摘要:為解決地板塊紋理分類難度大的問題,提出了一種基于SIFT(scale-invariant featuretransform),尺度不變特征轉(zhuǎn)換的地板塊紋理分類方法,該方法首先采用SIFT算法提取地板塊圖像特征值,并采用K-means聚類算法降低關(guān)鍵點(diǎn)數(shù)目,得到用于分類的特征行向量,最后構(gòu)造DEELM分類器進(jìn)行分類.實(shí)驗(yàn)結(jié)果表明,該方法不僅減少了描述圖片的關(guān)鍵點(diǎn)數(shù)目便于分類,而且提高了木材紋理分類的準(zhǔn)確性,為地板塊紋理分類的研究提供了一個(gè)新的思路.
關(guān)鍵詞:木材紋理分類;SIFT算法;K-means算法;差分演化優(yōu)化極限學(xué)習(xí)機(jī)
DOI:10.15938/j.jhust.2016.04.002
中圖分類號(hào):TP391.4
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1007-2683(2016)04-0007-06
0引言
隨著人們生活水平的日益提高,越來越多的人在房屋裝修時(shí)不單單追求美觀而更加注重健康與環(huán)保,木地板具有無甲醛、防滑、美觀、舒適等優(yōu)點(diǎn),受到了廣大人民的喜愛,因此對(duì)木地板生產(chǎn)提出更大的挑戰(zhàn).如何提高生產(chǎn)效率和分選質(zhì)量是實(shí)木地板生產(chǎn)過程中的一個(gè)重要環(huán)節(jié),但自然紋理結(jié)構(gòu)精細(xì)復(fù)雜,很難用數(shù)學(xué)公式精確表達(dá),也是木材學(xué)術(shù)界的一大難題.國內(nèi)外學(xué)者提出利用計(jì)算機(jī)視覺進(jìn)行木材紋理分類,取得了不錯(cuò)的效果.我國對(duì)于木材紋理分類的研究起步較晚,初期主要是對(duì)國外的經(jīng)驗(yàn)總結(jié),優(yōu)化傳統(tǒng)的分類算法.現(xiàn)階段我國的紋理分類技術(shù)發(fā)展較好,但也存在一定缺陷,主要由于實(shí)際應(yīng)用的訓(xùn)練樣本在個(gè)體之間存在著差異,導(dǎo)致分類結(jié)果的差異性較大.本文正是基于這種項(xiàng)目背景進(jìn)行的木材紋理分類算法研究.
現(xiàn)實(shí)生活中每一幅圖像中都包含著許多像素點(diǎn),而且每幅圖像中都具有其他像素點(diǎn)所沒有的優(yōu)點(diǎn),這就是特征點(diǎn),每個(gè)特征點(diǎn)都包含著大量的圖像信息,可以說是整幅圖片的骨架.David Lowe在1999年所提出,2004年完善總結(jié)的尺度不變特征轉(zhuǎn)換算法(簡(jiǎn)稱SIFT算法)是一種電腦視覺的算法,SIFT算法在特征點(diǎn)提取方面獨(dú)具特色,它選擇高斯殘差在尺度空間上的極值點(diǎn)為特征點(diǎn),并計(jì)算特征點(diǎn)局部鄰域內(nèi)的梯度方向直方圖為描述子,對(duì)光線變化、尺度變化和視角變化都具有較強(qiáng)的魯棒性,在計(jì)算機(jī)視覺領(lǐng)域得到一致認(rèn)可.本文首先采用SIFT算法提取地板塊圖像特征值,并采用K-means聚類算法降低關(guān)鍵點(diǎn)數(shù)目,得到用于分類的特征行向量,最后構(gòu)造DEELM分類器進(jìn)行分類取得預(yù)期效果,不失為木材紋理分類提供一種有效方法.
1.算法原理
1.1 SIFT提取特征值
SIFT特征不只具有尺度不變性,即使改變旋轉(zhuǎn)角度,圖像亮度或拍攝視角,仍然能夠得到好的檢測(cè)效果.SIFT算法首先通過建立圖像的尺度空間搜索該尺度空間中圖像局部極值點(diǎn),將所得極值點(diǎn)作為候選關(guān)鍵點(diǎn),并將其中不穩(wěn)定及對(duì)比度較低的點(diǎn)刪除,從而最終確定關(guān)鍵點(diǎn)的主方向,進(jìn)而生成每個(gè)關(guān)鍵點(diǎn)的特征描述符,SIFT算法提取圖像特征點(diǎn)的流程如下圖所示:
每一個(gè)采樣點(diǎn)通過和它所有的相鄰點(diǎn)相比較,這樣就能夠檢測(cè)到DOG空間的局部極值點(diǎn),如果該檢測(cè)點(diǎn)為最大值或者最小值,則該點(diǎn)就作為圖像在這個(gè)尺度下的一個(gè)候選關(guān)鍵點(diǎn).
為了增強(qiáng)關(guān)鍵點(diǎn)的穩(wěn)健性,需要去除低對(duì)比度的點(diǎn)和邊緣點(diǎn)。
用海森矩陣求出主曲率,高斯差分算子的極值如果定義不好的話在橫跨邊緣的地方有較大的主曲率,而在垂直邊緣的方向有較小的主曲率.
為了生成關(guān)鍵點(diǎn)描述子,讓坐標(biāo)軸方向與關(guān)鍵點(diǎn)的方向一致,以關(guān)鍵點(diǎn)為中心取16×16的窗口,最后在4×4的小塊上計(jì)算8個(gè)方向的梯度方向直方圖,繪制每個(gè)梯度方向的累加值,這樣就能形成一個(gè)種子點(diǎn).對(duì)于每個(gè)關(guān)鍵點(diǎn),16×16的鄰域內(nèi)可以形成4×4共16個(gè)種子點(diǎn),每個(gè)種子點(diǎn)有8個(gè)方向的方向向量信息,因此每個(gè)關(guān)鍵點(diǎn)就獲得了一個(gè)4×4×8=128維的特征描述符.
為進(jìn)一步去除光照影響,將描述子向量歸一化:
2.3 DE-ELM構(gòu)造分類器
極限學(xué)習(xí)機(jī)(ELM)是一種單隱層前饋神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法,在算法執(zhí)行過程中只需要設(shè)置網(wǎng)絡(luò)的隱含層個(gè)數(shù),不需要調(diào)整網(wǎng)絡(luò)的輸入權(quán)值以及隱元的偏置,就可以產(chǎn)生唯一的最優(yōu)解.
由于ELM算法是在訓(xùn)練前通過設(shè)置網(wǎng)絡(luò)隱含層的個(gè)數(shù),訓(xùn)練過程中隨機(jī)選取輸入連接權(quán)值和閾值,最終獲取目標(biāo)值,這樣會(huì)導(dǎo)致在選取中產(chǎn)生非最優(yōu)或不必要的輸入,且對(duì)未知測(cè)試數(shù)據(jù)響應(yīng)較慢,針對(duì)這個(gè)問題利用差分進(jìn)化算法(differential evolu.tion,DE)對(duì)ELM的權(quán)值進(jìn)行優(yōu)化,尋求全局最優(yōu)解.本文提出用差分演化算法優(yōu)化極限學(xué)習(xí)機(jī)(DE—ELM),來達(dá)到獲得最優(yōu)網(wǎng)絡(luò)目的,實(shí)現(xiàn)較準(zhǔn)確的分類,同時(shí),差分演化優(yōu)化極限學(xué)習(xí)機(jī)可以完成更緊湊的網(wǎng)絡(luò)規(guī)模,且具有更好的泛化能力,速度較快,適用于木材紋理的分類實(shí)驗(yàn).
差分演化優(yōu)化極限學(xué)習(xí)機(jī)算法描述如下:
在實(shí)驗(yàn)過程中,訓(xùn)練、測(cè)試的時(shí)間與迭代次數(shù)、隱含層數(shù)成正比,繼而選取木材紋理樣本數(shù)NP=200,交叉概率cR=0.8,縮放因子F=0.02進(jìn)行實(shí)驗(yàn).實(shí)驗(yàn)發(fā)現(xiàn)當(dāng)達(dá)到一定迭代次數(shù)時(shí),目標(biāo)值為0且保持不變,結(jié)果如圖5所示.
當(dāng)隱含層數(shù)確定,隨著迭代次數(shù)的增加,目標(biāo)函數(shù)最小值越收斂,當(dāng)達(dá)到一定的迭代次數(shù),目標(biāo)函數(shù)最小值越穩(wěn)定于O.而迭代次數(shù)一定時(shí),增加隱含層數(shù)將可以降低算法的誤差但會(huì)延長實(shí)驗(yàn)的完成時(shí)間,差分演化優(yōu)化極限學(xué)習(xí)機(jī)算法的分類時(shí)間隨隱含層比例增長,下圖為迭代次數(shù)為20,樣本數(shù)分別為20、40、80、100的分類時(shí)間隨隱含層數(shù)增加的對(duì)比圖:
同時(shí)為了使試驗(yàn)達(dá)到最佳效果,即誤差最小,時(shí)間最短,又統(tǒng)計(jì)了隨隱含層數(shù)增加的訓(xùn)練準(zhǔn)確度如表1
在隱含層節(jié)點(diǎn)數(shù)為15時(shí),DEELM算法達(dá)到誤差最小點(diǎn),并且趨于穩(wěn)定.為了減短實(shí)驗(yàn)時(shí)間,因此,又在隱含層數(shù)為10的基礎(chǔ)上增加隱含層數(shù),設(shè)定隱含層數(shù)為11、12……,發(fā)現(xiàn)當(dāng)隱含層數(shù)為12時(shí)誤差最小,且時(shí)間相對(duì)最短.綜上所述,選擇隱含層數(shù)為12和迭代次數(shù)20的DEELM分類器進(jìn)行分類.
3.實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)中選用了兩種典型的地板塊紋理進(jìn)行分類,如圖7所示,從圖中可以看出,A類地板塊的紋路橫向走勢(shì),均勻分布,結(jié)構(gòu)簡(jiǎn)單;B類地板塊紋路環(huán)狀走勢(shì),曲折蜿蜒,結(jié)構(gòu)復(fù)雜.
實(shí)驗(yàn)中選取A、B兩類樣本共200個(gè),每類100個(gè),圖片大小均為512?!?12 bmp格式.首先在MATLAB平臺(tái)上用SIFT算法分別提取每個(gè)樣本的特征點(diǎn),每幅圖片生成一個(gè)K×128維(K為圖片特征點(diǎn)的數(shù)目,每幅圖片K值不同)的特征矩陣,此時(shí)SIFT特征向量已經(jīng)去除了尺度變化、旋轉(zhuǎn)等幾何變形因素的影響,對(duì)于每一個(gè)關(guān)鍵點(diǎn),擁有3個(gè)信息:位置、尺度以及方向,完成特征提取的兩類紋理圖如下圖所示。
利用K-means算法分別對(duì)每幅圖片產(chǎn)生的特征矩陣進(jìn)行聚類,得到描述顯著目標(biāo)的1×128維特征向量.選取其中100個(gè)地板塊圖像作為訓(xùn)練樣本,其中A類訓(xùn)練樣本50個(gè),B類訓(xùn)練樣本50個(gè).將聚類后的數(shù)據(jù)保存在train_100之中,作為訓(xùn)練輸入數(shù)據(jù),如下圖所示:
把訓(xùn)練樣本輸入DEELM分類器進(jìn)行訓(xùn)練,本文所用方法與BP分類算法、SVM分類算法進(jìn)行了比較,統(tǒng)計(jì)了測(cè)試樣本數(shù)在20、40、80和100時(shí)的錯(cuò)誤數(shù),如表3.
從表3可以看出,不同算法在處理不同樣本數(shù)的類別上的錯(cuò)誤個(gè)數(shù)有較為明顯差距,本文所用的DEELM分類器在分類本次樣本上面的效果明顯要優(yōu)于BP神經(jīng)網(wǎng)絡(luò)SVM支持向量機(jī).最后又統(tǒng)計(jì)了3種分類方法的準(zhǔn)確率如下圖所示,實(shí)驗(yàn)證明,DEELM分類器模型在木材紋理分類有一定的競(jìng)爭(zhēng)性,效果明顯.
4.結(jié)論
SIFT在圖像的不變特征提取方面擁有無與倫。比的優(yōu)勢(shì),該方法不但對(duì)于旋轉(zhuǎn)、尺度縮放、亮度變化保持不變性,而且對(duì)視角變化、仿射變換、噪聲也保持一定程度的穩(wěn)定性,且該方法對(duì)特征點(diǎn)的個(gè)數(shù)和有效點(diǎn)的比例沒有要求,當(dāng)圖片特征點(diǎn)數(shù)目不是很多時(shí),甚至可以達(dá)到實(shí)時(shí)的要求.本文提出的基于SIFt木材紋理分類方法,利用SIFT算法提取木材圖片的特征點(diǎn),再用K-means聚類得到描述圖片的特征行向量,最后訓(xùn)練DEELM得到分類器進(jìn)行分類.實(shí)驗(yàn)結(jié)果證明了該算法適用于木材紋理分類,準(zhǔn)確率高,有一定的實(shí)用性,為解決木材紋理分類問題提供了一種新的解決思路.