萬(wàn) 萌,馮新玲
(鄭州工業(yè)應(yīng)用技術(shù)學(xué)院 信息工程學(xué)院,河南 鄭州 451100)
隨著技術(shù)的發(fā)展和高清設(shè)備的普及,圖像的分辨率越來(lái)越高.在機(jī)器視覺(jué)以及模式識(shí)別中高維數(shù)據(jù)會(huì)增加內(nèi)存的消耗以及時(shí)間的開(kāi)銷,帶來(lái)維數(shù)災(zāi)難[1].圖像識(shí)別首先通過(guò)對(duì)原始圖像進(jìn)行預(yù)處理去除噪聲,繼而選取重要的數(shù)據(jù)特征提高分析數(shù)據(jù)的質(zhì)量,增加數(shù)據(jù)的預(yù)測(cè)性能以及降低計(jì)算的復(fù)雜度即所謂的特征選擇,最后將提取的特征數(shù)據(jù)輸入分類器并結(jié)合深度學(xué)習(xí)思想進(jìn)行分類器的設(shè)計(jì)及訓(xùn)練,進(jìn)行分類決策得到圖像的最終識(shí)別效果[2].圖像識(shí)別具體流程如圖1所示.
圖1 圖像識(shí)別基本流程
定義特征的相關(guān)性,不同的特征選擇方法采用了不同的標(biāo)準(zhǔn)如獨(dú)立性、重構(gòu)誤差、距離等.為了從高維數(shù)據(jù)中得到低維空間的表示形式,通過(guò)某種定義,從樣本數(shù)據(jù)集的m個(gè)特征中抽出具有代表性的k個(gè)特征子集,即為特征選擇[3].用數(shù)學(xué)方法表示為:假設(shè)F={fi|i=1,2,…m,fi∈Rn}為給定的一個(gè)特征集合,特征選擇即為F中抽取子集F'={f'i|i=1,2,…k,f'i∈Rn},其中:
其中,樣本總數(shù)為n,特征總數(shù)為m,fi為n維向量.
特征選擇方法可以分為多種類型,根據(jù)選擇對(duì)象的不同可以分為不同的類型,具體特征選擇算法分類如圖2所示.
圖2 特征選擇算法分類
根據(jù)標(biāo)記方式可以將特征選擇分為無(wú)監(jiān)督、半監(jiān)督和有監(jiān)督[4].無(wú)監(jiān)督特征選擇中訓(xùn)練樣本不進(jìn)行標(biāo)記,根據(jù)學(xué)習(xí)得到的評(píng)價(jià)標(biāo)準(zhǔn)從原始特征數(shù)據(jù)中選擇最具有代表性的特征,進(jìn)行聚類分析.根據(jù)與后續(xù)算法的結(jié)合可以將特征選擇分為:Fisher得分法即為了提高特征的可分性將不同樣本數(shù)據(jù)類別取不同值,同類別樣本取近似值[5].假設(shè)樣本數(shù)據(jù)為X=(X1,X2,…Xn),與樣本數(shù)據(jù)對(duì)應(yīng)的分類為y=(y1,y2,…yn),那么Fisher得分可以表示為:
式中,第j類特征fi的平均值為μij,標(biāo)準(zhǔn)差為σij,樣本數(shù)為nj.為了盡可能地保持?jǐn)?shù)據(jù)的局部結(jié)構(gòu),需要計(jì)算樣本點(diǎn)互相之間的關(guān)聯(lián)權(quán)值,即為拉普拉斯得分法.拉普拉斯得分法對(duì)每個(gè)特征進(jìn)行獨(dú)立選擇,得出分?jǐn)?shù)最高的m個(gè)特征;為了使特征與類別之間的相關(guān)性最大化,同時(shí)將各個(gè)特征之間的冗余性最小化,即為最大相關(guān)性和最小冗余性的特征選擇算法.
在沒(méi)有類別標(biāo)記的前提下,得到原始數(shù)據(jù)的類別信息是無(wú)監(jiān)督特征選擇的目的;而如何對(duì)原始數(shù)據(jù)的內(nèi)部幾何結(jié)構(gòu)進(jìn)行建模并用特征子集表示數(shù)據(jù)的內(nèi)在結(jié)構(gòu)是無(wú)監(jiān)督特征選擇面臨的基本問(wèn)題[6].典型的無(wú)監(jiān)督特征選擇算法主要有三種模式:利用統(tǒng)計(jì)的方法、通過(guò)相似度求解的方法以及稀疏表示的方法[7].
基于統(tǒng)計(jì)的無(wú)監(jiān)督特征選擇,利用統(tǒng)計(jì)特性獨(dú)立的分析數(shù)據(jù)特征,是一種濾波型特征選擇.由于需要忽略部分冗余的特征數(shù)據(jù),該算法適合離散數(shù)據(jù)的特征提取,因此利用統(tǒng)計(jì)的無(wú)監(jiān)督特征選擇時(shí)需要先將采集的特征數(shù)據(jù)集離散化,代表的方法有基于最小方差的特征選擇(LV)[8].最小方差的特征選擇,利用閾值屬性,通過(guò)去除方差低于閾值的特征得到選擇性特征[9].具體方法為:由布爾特征組成樣本數(shù)據(jù)集,特征值只有0、1兩種類型,即與樣本具有相同值的特征方差為0,否則為1,設(shè)方差為1的概率為p,那么最小方差特征選擇表示為:
基于相似度的無(wú)監(jiān)督特征選擇,通過(guò)距離標(biāo)準(zhǔn)得到特征值之間的相似度.假設(shè)存在樣本數(shù)據(jù)集X∈Rn×m即數(shù)據(jù)集為m維n個(gè)樣本,利用相鄰矩陣S∈Rn×n對(duì)數(shù)據(jù)集進(jìn)行相似度編碼,相鄰矩陣為n階對(duì)稱矩陣,用Sij表示兩個(gè)樣本之間的相似度,第i個(gè)樣本xi和第j個(gè)樣本構(gòu)成第(i,j)個(gè)元素,樣本相似度越大,Sij數(shù)值越大,數(shù)學(xué)表示為:
對(duì)s,f進(jìn)行鄰接矩陣和歸一化得到S',f',特征數(shù)據(jù)f的功效函數(shù)通過(guò)SC得到,通過(guò)式子(4)可知在特征集合F中得到一個(gè)能夠最大限度保留相鄰矩陣相似結(jié)構(gòu)信息的特征子集,即為基于相似度的無(wú)監(jiān)督特征選擇,代表性的有拉普拉斯積分法(LS)、譜特征選擇(SPEC)等[10].
基于稀疏表示的無(wú)監(jiān)督特征選擇,代表有多簇特征選擇法、判別信息的特征選擇法、非負(fù)判別特征選擇算法、自表達(dá)的無(wú)監(jiān)督特征選擇等[11].稀疏表示以多尺度分析理論為基礎(chǔ),利用尺度較大的稀疏系數(shù)對(duì)原始信號(hào)進(jìn)行逼近處理.存在數(shù)據(jù)y∈RN,R為數(shù)據(jù)集,N為長(zhǎng)度,y可以被RN正交基線性表示:
基矩陣為 Ai∈A,A∈RN×N,線性組合系數(shù)為 x=[x1,x2,…xn],假設(shè)k<N即在基矩陣中有k個(gè)非零項(xiàng),那么:
k為稀疏度,||·||0為零范數(shù),非零項(xiàng)的個(gè)數(shù).稀疏表示特征選擇如圖3所示:
圖3 稀疏表示特征選擇
作為多層前饋神經(jīng)網(wǎng)絡(luò)的代表卷積神經(jīng)網(wǎng)絡(luò),依靠反向傳播算法(BP)實(shí)現(xiàn),卷積神經(jīng)網(wǎng)絡(luò)直接以圖像原始數(shù)據(jù)作為輸入,忽略了圖像噪聲以及扭曲和變形沒(méi)有預(yù)處理階段[12].卷積神經(jīng)網(wǎng)絡(luò)通過(guò)局部感受野、權(quán)值共享以及子采樣對(duì)圖像進(jìn)行分類識(shí)別,無(wú)須考慮圖像的大小、形狀以及位置的變化,因此不需要對(duì)圖像進(jìn)行預(yù)處理.卷積神經(jīng)網(wǎng)絡(luò)由輸入層、卷積層、激勵(lì)層、池化層和全連接層構(gòu)成,具體如圖4所示,C1,C2為卷積層,S1,S2為池化層.
卷積層:由多個(gè)特征圖構(gòu)成,下層特征圖由上層特征和卷積核進(jìn)行卷積運(yùn)算得到.卷積運(yùn)算公式為其中 f(x)、g(x)為數(shù)據(jù)集 R 上的 2個(gè)可積函數(shù).卷積層直接輸入圖像數(shù)據(jù)前幾層輸入低級(jí)特征如邊緣、顏色等,然后通過(guò)卷積核進(jìn)行卷積運(yùn)算得到復(fù)雜的紋理特征,最終利用深度高層網(wǎng)絡(luò)學(xué)習(xí)得到不同類型的特征信息.
激勵(lì)層:對(duì)卷積層的輸出數(shù)據(jù)進(jìn)行非線性映射,一般為Relu函數(shù)即修正線性單元作為激活函數(shù).卷積神經(jīng)網(wǎng)絡(luò)不僅包括高維數(shù)據(jù)的低維變換,還包含一個(gè)非線性變換(空間的彎曲)和三個(gè)線性變換(旋轉(zhuǎn)、平移、放大縮?。?lì)層主要完成彎曲空間的變換.
池化層:通過(guò)對(duì)特征圖進(jìn)行尺度縮小,即對(duì)特征圖進(jìn)行下采樣,避免因原圖像經(jīng)卷積運(yùn)算以后產(chǎn)生的大量數(shù)據(jù),而導(dǎo)致過(guò)擬合現(xiàn)象的產(chǎn)生.常用的池化操作有平均池化和最大池化,以計(jì)算圖像區(qū)域的平均值和最大值為依據(jù).平均池化:poolavg(Rk)=代表多個(gè)區(qū)域,a為神經(jīng)元.
全連接層:卷積神經(jīng)網(wǎng)絡(luò)利用卷積層得到圖像特征,利用池化層對(duì)得到卷積特征進(jìn)行下采樣避免產(chǎn)生過(guò)擬合,通過(guò)交替堆疊進(jìn)行.雖然這種方式在得到圖像特征的同時(shí)降低了數(shù)據(jù)復(fù)雜度,但同時(shí)也丟失了部分特征信息,因此需要在輸出特征數(shù)據(jù)之前利用全連接層進(jìn)行數(shù)據(jù)的收集.數(shù)學(xué)表示為,最大池化其中f為激活函數(shù),n是l-1層的神經(jīng)元個(gè)數(shù),l為當(dāng)前層為 l層第 i個(gè)單元與l-1層第j單元的連接參數(shù)為當(dāng)前層的第i個(gè)單元的輸出值和偏置項(xiàng).
圖4 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
無(wú)監(jiān)督特征提?。║FL),提取的是圖像的局部特征,即UFL算法的輸入需要從原始圖像中抽取部分圖像的局部特征,假如抽取的圖像的局部大小為w×w,C為顏色通道數(shù),N=w×w×c,則局部大小可以通過(guò)實(shí)數(shù)向量RN表示,抽取m個(gè)局部向量組成p={p(1),p(2),…p(m)}作為UFL算法的輸入,具體流程為:
(1)原始數(shù)據(jù)中隨機(jī)抽取m個(gè)無(wú)標(biāo)號(hào)局部塊,大小為 w×w,構(gòu)成 p,且 p(i)∈RN;
(2)為了得到像素間標(biāo)準(zhǔn)化方差函數(shù),需對(duì)p做預(yù)處理,進(jìn)而構(gòu)成pw;
(3)在pw上應(yīng)用無(wú)監(jiān)督特征選擇算法,進(jìn)行特征提取.
對(duì)圖像進(jìn)行無(wú)監(jiān)督特征提取以后,需要對(duì)得到的特征進(jìn)行卷積處理.通過(guò)映射函數(shù)f對(duì)圖像塊p提取 k 個(gè)特征 f:m×RN→k×RN,得到 y(y∈Rk為 k 維向量),y(i)=Φi(p)即第i個(gè)特征Φi對(duì)p進(jìn)行映射得到y(tǒng)(i).具體實(shí)現(xiàn)為,通過(guò)大小為w×w的局部塊p(i)對(duì)整幅圖像I(n×n)進(jìn)行掃描,利用Φi對(duì)整幅圖像I在窗口范圍內(nèi)的部分進(jìn)行映射,得到特征映射圖M維度為(n-w+1)×(n-w+1),特征Φi對(duì)圖像I在窗口范圍內(nèi)的部分I(j,k)進(jìn)行映射得到Mi,(j,k),以此類推,假設(shè)原始數(shù)據(jù)集包含m個(gè)圖像I大小為n×n,特征窗口尺寸為w×w,利用特征Φi對(duì)數(shù)據(jù)集圖像進(jìn)行卷積運(yùn)算得到維度為m×k(n-w+1)×(n-w+1)批量卷積M.
對(duì)得到的批量卷積 M(M∈R)m×k(n-w+1)×(n-w+1)I(j,k)進(jìn)行特征采樣,從而減少網(wǎng)絡(luò)參數(shù),降低系統(tǒng)計(jì)算量.對(duì)原始圖像I大小為n×n,進(jìn)行采樣,采樣窗口取大小為s×s,且n/s必須為整數(shù),那么采樣后得到的特征維數(shù)為(n/s)×(n/s)是原來(lái)維數(shù)的1/s2,輸入數(shù)據(jù)的向量維數(shù)變?yōu)閗×m×(n/s)×(n/s).
對(duì)原始數(shù)據(jù)進(jìn)行降采樣以后,開(kāi)始對(duì)特征數(shù)據(jù)進(jìn)行分類.全連接層作為卷積神經(jīng)網(wǎng)絡(luò)的最后一層,分類器的訓(xùn)練主要集中在這一層.假設(shè)原始數(shù)據(jù)為m個(gè)n×n圖像,特征維數(shù)為k,采樣窗口尺寸為s×s,采用的局部圖像塊尺寸為w×w,那么分類器的輸入項(xiàng)為k×(n-w+1)/s×(n-w+1)/s,分類器的最終輸出分類類別數(shù)為c.
圖5 MNIST圖像樣本
表1 實(shí)驗(yàn)參數(shù)設(shè)置
無(wú)監(jiān)督特征學(xué)習(xí)的依據(jù)是從訓(xùn)練數(shù)據(jù)集中找出具有鑒別特征的數(shù)據(jù),且訓(xùn)練數(shù)據(jù)集具有無(wú)標(biāo)簽性,所以訓(xùn)練數(shù)據(jù)的樣本數(shù)量和多樣性對(duì)實(shí)驗(yàn)有很大影響.本文采用MNIST數(shù)據(jù)集如圖5所示,MNIST數(shù)據(jù)集包含10000個(gè)測(cè)試樣本、60000個(gè)訓(xùn)練樣本總共70000個(gè)樣本數(shù)據(jù),可以滿足無(wú)監(jiān)督特征學(xué)習(xí)對(duì)訓(xùn)練樣本數(shù)量的要求;同時(shí),MNIST數(shù)據(jù)集內(nèi)容包含0~9這10個(gè)數(shù)字,由于手寫樣式各異,因此滿足了無(wú)監(jiān)督特征學(xué)習(xí)對(duì)訓(xùn)練樣本多樣性的要求.
實(shí)驗(yàn)參數(shù)具體設(shè)計(jì)如表1所示.
基于無(wú)監(jiān)督特征學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)在MNIST數(shù)據(jù)集上進(jìn)行測(cè)試,硬件采用酷睿i7處理器,16G內(nèi)存,程序采用MATLAB7.0,實(shí)驗(yàn)結(jié)果如表2所示.
通過(guò)實(shí)驗(yàn)數(shù)據(jù)可知,圖像塊尺寸越大包含的信息越多,尺寸過(guò)小則不能滿足圖像識(shí)別的需要,當(dāng)圖像塊的尺寸為10×10時(shí),識(shí)別率最高;同時(shí)圖像的識(shí)別效果還受采樣方式以及采樣區(qū)域大小的影響.另一方面,識(shí)別精度的提升不可避免地帶來(lái)時(shí)間的消耗,如何在提升識(shí)別精度的同時(shí)提高時(shí)效性是我們下一步研究的重點(diǎn).
表2 實(shí)驗(yàn)結(jié)果
本文首先分析了傳統(tǒng)特征提取的方法以及優(yōu)缺點(diǎn),深入討論了無(wú)監(jiān)督特征提取的思路以及具體實(shí)現(xiàn);繼而分析了卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)過(guò)程,以及在實(shí)現(xiàn)過(guò)程中卷積神經(jīng)網(wǎng)絡(luò)中局部感受野、權(quán)值共享以及子采樣對(duì)圖像進(jìn)行分類識(shí)別的影響;最后將無(wú)監(jiān)督特征學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)結(jié)合起來(lái),在MNIST數(shù)據(jù)集上進(jìn)行驗(yàn)證算法的有效性.實(shí)驗(yàn)結(jié)果表明,基于無(wú)監(jiān)督特征選擇和卷積神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別算法提升了圖像識(shí)別的精確度,但在時(shí)效性上還有待進(jìn)一步研究.
赤峰學(xué)院學(xué)報(bào)·自然科學(xué)版2018年10期