越 縉,周曉成
(安徽文達(dá)信息工程學(xué)院 計(jì)算機(jī)工程學(xué)院,安徽 合肥 231201)
數(shù)字圖像處理的終極目的就是利用電腦來代替人進(jìn)行圖像的識(shí)別,并從中找出所需的對(duì)象,它是電腦模式識(shí)別的重要內(nèi)容[1]。模式識(shí)別技術(shù)是以人類的聽覺和視力為基礎(chǔ)的利用電腦模擬人類不同的認(rèn)知功能的圖像識(shí)別技術(shù)。圖像的模式識(shí)別就是機(jī)器對(duì)文字和圖像的處理。圖像識(shí)別分為3個(gè)部分:數(shù)據(jù)采集、數(shù)據(jù)處理和分類。圖像識(shí)別主要有:統(tǒng)計(jì)模式識(shí)別、結(jié)構(gòu)模式識(shí)別、模式識(shí)別等[2]。20世紀(jì)80年代興起的 ANN是一種廣泛的智能模式識(shí)別技術(shù),它具有高的并行性、分布式記憶能力和良好的容錯(cuò)性;具有自適應(yīng)聯(lián)想記憶和高度非線性處理的特點(diǎn)。在模式識(shí)別方面,傳統(tǒng)機(jī)器學(xué)習(xí)算法或計(jì)算機(jī)視覺技術(shù)過度依賴于手動(dòng)選擇,通過分類器進(jìn)行圖像識(shí)別,其對(duì)復(fù)雜場(chǎng)景下的計(jì)算機(jī)圖像識(shí)別魯棒性比較差。神經(jīng)網(wǎng)絡(luò)圖像辨識(shí)技術(shù)是將現(xiàn)代電腦技術(shù)、影像處理與人工智能相結(jié)合的技術(shù);作為一種新的圖像識(shí)別技術(shù),神經(jīng)網(wǎng)絡(luò)圖像利用多模態(tài)識(shí)別技術(shù)可以進(jìn)一步提高圖像識(shí)別效率。該方法基于傳統(tǒng)的圖像識(shí)別技術(shù),并將其與神經(jīng)網(wǎng)絡(luò)相結(jié)合[3]。
RBF神經(jīng)元的構(gòu)造如圖1所示。RBF的主要功能采用了輻射基元,一般是指由歐幾里得距離從一個(gè)空間的任何一點(diǎn)到一個(gè)中心的單一函數(shù)。由圖1中的 RBF神經(jīng)元的構(gòu)造可知,RBF神經(jīng)元的啟動(dòng)功能是將輸入矢量和加權(quán)矢量的間距dist作為自變量。其中RBF網(wǎng)絡(luò)的啟動(dòng)功能的通用公式如下:
圖1 RBF神經(jīng)元模型
R(‖dist‖)=e-‖dist‖2
(1)
當(dāng)權(quán)值與輸入向量之間的距離減小時(shí),網(wǎng)絡(luò)的輸出量就會(huì)增加[4]。在圖1中,b是調(diào)整神經(jīng)元敏感度的一個(gè)閾值。利用徑向基神經(jīng)元和線性神經(jīng)元,可以建立一個(gè)適用于函數(shù)逼近的廣義回歸神經(jīng)網(wǎng)絡(luò)。該方法能構(gòu)建出適合于解決問題的徑向基和競(jìng)爭(zhēng)性神經(jīng)元的概率神經(jīng)網(wǎng)絡(luò)。
典型的RBF結(jié)構(gòu)由輸入層、隱含層、輸出層構(gòu)成,不妨設(shè)輸入層節(jié)點(diǎn)數(shù)、隱含層節(jié)點(diǎn)數(shù)、輸出層節(jié)點(diǎn)數(shù)分別為n、k、m。定義x=[x1,x2,…,xn]T為輸入,隱含層輸出為φ=[φ(x,c1),φ(x,c2),…,φ(x,ck)]。在隱含層輸出矩陣中,ci對(duì)第i個(gè)隱含層節(jié)點(diǎn)有
Wkm=[W1,W2,…,Wk]T,i=1,2,…,k
式中:Wkm為網(wǎng)絡(luò)輸出權(quán)重矩陣,
Wi=[Wi1,Wi2,…,Wim]T
F(x)=[f1(x),f2(x),…,fm(x)]T
為RBF網(wǎng)絡(luò)輸出向量。
在RBF網(wǎng)絡(luò)結(jié)構(gòu)中(圖2),只有在輸入層才能傳送數(shù)據(jù)信號(hào)。由于輸入層與輸出層2個(gè)層面的工作方式不同,因此其運(yùn)算方式也不同。文章所提出的深度神經(jīng)網(wǎng)絡(luò)算法采用了最優(yōu)化的線性權(quán)重,從而提高了系統(tǒng)的學(xué)習(xí)效率。隱含層則采用了一種基于非線性最優(yōu)化的方法來調(diào)節(jié)激勵(lì)功能的參數(shù),從而提高圖像識(shí)別效率。
圖2 RBFNN的網(wǎng)絡(luò)結(jié)構(gòu)圖
在已有的PSCAN方法中,對(duì)各邊相關(guān)的各頂點(diǎn)進(jìn)行了類似的運(yùn)算[5]。在整個(gè)算法中,兩個(gè)頂點(diǎn)之間的相似度的計(jì)算比較耗時(shí)。若能在圖形中減小頂點(diǎn),則可以通過計(jì)算類似程度來顯著地改善運(yùn)算速度。通過對(duì)2種不同的頂點(diǎn)之間的相似性進(jìn)行分析,得出以下的簡化準(zhǔn)則。若或使2個(gè)頂點(diǎn)v與w為相同的相似性閾值ε(0<ε<1),如果|H[v] (2) 即δ(v,w)<ε所以兩個(gè)頂點(diǎn)v和w不相似,同樣繪制: |H[w] (3) 所以,如果|H[v] |H[v]∩H[w]|≥(v,w) (4) 因?yàn)?/p> (5) 所以 (6) 當(dāng)δ(v,w)≥ε當(dāng)且僅當(dāng) 由于H[v]∩H[w]是一個(gè)整數(shù),所以 =min(v,w) 使用這個(gè)引理,公式3利用算法來確定2個(gè)頂點(diǎn)是否相似,假設(shè)2個(gè)頂點(diǎn)沒有被精確計(jì)算。使用Sim算法,輸入精確計(jì)算的v和w,以及頂點(diǎn)w的鄰居Nv和Nw,具有Nv[i]的頂點(diǎn)的第i+1個(gè)鄰居(其中Nv和Nw中的頂點(diǎn)按頂點(diǎn)標(biāo)簽的升序排列),以及相似度閾值ε(0<ε<1)輸出結(jié)果如果頂點(diǎn)v和w相似,即輸出真,否則假。在該算法中,首先找到使頂點(diǎn)v和w相似的最小結(jié)構(gòu)化公共鄰居的數(shù)量。然后定義一個(gè)變量counter,記錄結(jié)構(gòu)化公共鄰居的數(shù)量,由于該方法輸入了一個(gè)相鄰的頂點(diǎn)v和w,因此僅計(jì)算了2個(gè)頂點(diǎn)的共同相鄰數(shù)目,而不包含它們自身的值,而該方法則是計(jì)算相鄰節(jié)點(diǎn)的共同數(shù)量,因此,將其初值設(shè)為2。 通過上述對(duì)深度神經(jīng)網(wǎng)絡(luò)算法建立的基礎(chǔ)上,對(duì)基于深度神經(jīng)網(wǎng)絡(luò)的多模態(tài)計(jì)算機(jī)圖像識(shí)別方法進(jìn)行試驗(yàn)。采用了以下軟件和硬件平臺(tái):機(jī)群包括5個(gè)采用Red Hat 64位系統(tǒng)、16核CPU、1.9 GHz、16 GRAM、2 T硬盤;2.6.0版本 Hadoop,1.6.0版本,Java1.8.0版本,Scala2.10.4版本。系統(tǒng)配置:Windows7 32位的旗艦版本,主頻率3.10 GHz,4 G記憶體,500 G的硬盤;在 Java1.8.0版本和 Scala2.10.4版本中,IntelliJIDEA Community版本15.0.2。 系統(tǒng)的實(shí)驗(yàn)對(duì)象主要有DBLP,YouTube,LiveJournal 3個(gè)數(shù)據(jù)集。在這些協(xié)議中,YouTube是一種連接到使用者的網(wǎng)站;而LiveJournal是一個(gè)社會(huì)網(wǎng)站。利用以前的文件中的演算法產(chǎn)生人工數(shù)據(jù)集合。數(shù)據(jù)集統(tǒng)計(jì)見表1和表2。 表1 真實(shí)數(shù)據(jù)集 表2 合成數(shù)據(jù)集 文中給出了一種新的基于PSCAN的新方法,并與魏秀參等[8]人的PSCAN進(jìn)行比較。PSCAN和神經(jīng)網(wǎng)絡(luò)在相同的組態(tài)下工作,試驗(yàn)中,PSCAN沒有給出最小聚類量,因此在試驗(yàn)中將其聚類的最小值設(shè)定為2。對(duì)計(jì)算機(jī)圖像識(shí)別運(yùn)行時(shí)間進(jìn)行了對(duì)比能評(píng)價(jià)神經(jīng)網(wǎng)絡(luò)算法性能,為此,設(shè)定神經(jīng)網(wǎng)絡(luò)算法和PSCAN算法分別在相似度閾值分別為0.6、0.7、0.8、0.9的條件下運(yùn)行。從圖3的實(shí)驗(yàn)結(jié)果可以看出,2種算法的運(yùn)行時(shí)間都隨著相似度閾值的增加而逐漸減小,并且神經(jīng)網(wǎng)絡(luò)算法在4個(gè)數(shù)據(jù)集上運(yùn)行速度比PSCAN算法快了30倍以上,表明該算法與PSCAN算法相比更有效,可有效提升圖像識(shí)別效率。 圖3 Youtube數(shù)據(jù)集 神經(jīng)網(wǎng)絡(luò)算法識(shí)別圖像較快有2個(gè)原因。一是得益于以 GraphX為基礎(chǔ)的神經(jīng)網(wǎng)絡(luò)演算法,如集中式記憶體的容量大[9],可在記憶體里進(jìn)行全資料的運(yùn)算,并將中間的運(yùn)算結(jié)果儲(chǔ)存在記憶體里,從而減少了許多硬盤 I/O,節(jié)約了許多的運(yùn)算空間。而PSCAN則要求在Hadoop集群中執(zhí)行多個(gè)映射和 Reducer,且在各個(gè)級(jí)別,即便有大量的內(nèi)存,也會(huì)將其儲(chǔ)存到硬盤上;下一步會(huì)從硬盤上讀出中間的數(shù)據(jù),這會(huì)提高硬盤 I/O的消耗,提高軟件的運(yùn)行速度。二是在計(jì)算相鄰頂點(diǎn)的相似度時(shí),神經(jīng)網(wǎng)絡(luò)算法通過2種歸約策略計(jì)算頂點(diǎn)之間的相似度。當(dāng)頂點(diǎn)之間的相似度沒有精確計(jì)算時(shí),判定2個(gè)頂點(diǎn)之間的相似性,從而進(jìn)一步縮短了程序的執(zhí)行周期。 為深入研究算法性能,將算法中2種簡化規(guī)則進(jìn)行試驗(yàn)對(duì)比,了解不同縮減戰(zhàn)略性能。對(duì)各數(shù)據(jù)集合進(jìn)行5次運(yùn)算,時(shí)間進(jìn)行均值處理,同時(shí)試驗(yàn)過程僅統(tǒng)計(jì)各節(jié)點(diǎn)相似性,對(duì)比結(jié)果如圖4所示。 由圖4可知,采用切割法計(jì)算各數(shù)據(jù)組相似性,所消耗的時(shí)間明顯縮短,計(jì)算量顯著降低。同時(shí),隨著相似度閾值的增加,每一組算法運(yùn)行時(shí)間在減少。按照約簡規(guī)則計(jì)算,相似度閾值越大,其有效規(guī)則越少[10]。 由圖4(a)可知,在圖形中保留邊數(shù)并更改頂點(diǎn)數(shù)目能夠有效縮短裁剪的時(shí)間。如果要保證圖形中的頂點(diǎn)數(shù)目不變,就必須更改圖像邊框數(shù)目,并且縮短計(jì)算的次數(shù),如圖4(b)所示。無論是改變頂點(diǎn)數(shù)目還是改變圖像邊數(shù)目,使用歸約策略均可以顯著減少相似度計(jì)算所花費(fèi)的時(shí)間。同時(shí),隨著頂點(diǎn)數(shù)量的增加,2種算法都會(huì)消耗更多的時(shí)間。保持圖中頂點(diǎn)數(shù)量不變,在不采用簡化算法的情況下,隨著邊數(shù)的增大,相似性計(jì)算所消耗的時(shí)間也會(huì)增大。一張圖越密集,其鄰接的頂點(diǎn)也就越多,采用規(guī)約策略可以判斷的鄰接頂點(diǎn)也越多,規(guī)約策略越有效。即該方法能夠顯著縮短計(jì)算過程中相似性計(jì)算所消耗的時(shí)間,大大提高運(yùn)算的效率。 算法擴(kuò)展性反映當(dāng)所處理的圖像數(shù)據(jù)量增多時(shí),算法處理效率受影響的程度,受影響程度低表示算法可擴(kuò)展性強(qiáng)。為分析神經(jīng)網(wǎng)絡(luò)算法的可擴(kuò)展性,將神經(jīng)網(wǎng)絡(luò)算法的相似度閾值設(shè)置為0.6,將3個(gè)真實(shí)數(shù)據(jù)集的最小聚類值設(shè)置為2進(jìn)行試驗(yàn)。結(jié)果表明在不同機(jī)群數(shù)條件下,神經(jīng)網(wǎng)絡(luò)算法對(duì)各圖像數(shù)據(jù)集的性能進(jìn)行了優(yōu)化,提升了神經(jīng)網(wǎng)絡(luò)算法在每個(gè)圖像數(shù)據(jù)集上的運(yùn)行效率。在一定范圍內(nèi),該算法能夠提升運(yùn)算速度。同時(shí),伴隨著數(shù)據(jù)集的增加,圖像識(shí)別的效率增加,如圖5所示。 圖5 合成數(shù)據(jù)集pruning策略 針對(duì)以Hadoop MapReduce為基礎(chǔ)的多模態(tài)計(jì)算機(jī)圖像識(shí)別存在的占用硬盤資源多、運(yùn)行效率低的問題,對(duì)PSCAN進(jìn)行改進(jìn),并對(duì)2種簡化規(guī)則進(jìn)行試驗(yàn)對(duì)比。結(jié)果表明,該方法能夠有效降低系統(tǒng)的I/O消耗,提升算法運(yùn)行的效率,這對(duì)大數(shù)據(jù)分析中計(jì)算機(jī)圖像識(shí)別具有一定的參考價(jià)值。1.3 時(shí)間縮減規(guī)則
2 仿真實(shí)驗(yàn)與分析
2.1 仿真實(shí)驗(yàn)參數(shù)設(shè)定
2.2 算法運(yùn)行時(shí)間分析
2.3 算法縮減戰(zhàn)略
2.4 算法可擴(kuò)展性分析
3 結(jié)論