曾國清
(鄂州職業(yè)大學 校工會,湖北 鄂州 436000)
云計算由提供高存儲容量、高靈活性和高計算性能的服務器組成。云應用程序和Web服務的發(fā)展使網(wǎng)絡在線流量大大增加,隨著智能手機以及云存儲應用的發(fā)展(如OneDrive,Dropbox),圖像和視頻成為網(wǎng)絡流量的重要部分。云存儲系統(tǒng)中已經(jīng)存有高達數(shù)十億張圖像,而每天的圖像上傳量也達到了數(shù)億張[1]。針對云計算儲存中的圖像識別問題,為了克服現(xiàn)有基于圖像特征的識別方法的局限性,提出了一種基于區(qū)域的圖像識別(RegionRec)方法。
脈沖耦合神經(jīng)網(wǎng)絡(PCNN)是一種基于Eckhorn皮層模型的神經(jīng)網(wǎng)絡[2],是基于貓視皮層中神經(jīng)元活動的同步動態(tài)進行開發(fā)設計的。PCNN只有一個由橫向鏈接的脈沖耦合神經(jīng)元的2維數(shù)組形成的單層,且不需要任何的訓練,適用于圖像處理[3]。圖像像素與網(wǎng)絡神經(jīng)元之間的關系是一一對應的。為了實現(xiàn)較低的計算復雜度,使用具有自動參數(shù)設置的SimPCNN[4],可以描述為:
(1)
(2)
Eij[n]=e-αeEij[n-1]+VEYij[n]
(3)
其中,
(4)
在此模型中,在位置(i,j)上有兩個神經(jīng)元Nij輸入:一個刺激輸入Sij,表示圖像像素強度;一個簡化的鏈接輸入,表示八個相鄰神經(jīng)元輸出(km,l)的總和,該輸出通過恒定的突觸權重Wijkl連接。簡化鏈接輸入的幅度用VL表示。這兩個輸入通過連接強度β進行調(diào)制,以產(chǎn)生內(nèi)部活動Uij[n]。內(nèi)部活動還記錄了先前的神經(jīng)元狀態(tài),該狀態(tài)會以指數(shù)衰減因子e-αf衰減。僅當當前內(nèi)部活動Uij[n]超過最后一個動態(tài)閾值Eij[n-1]時,神經(jīng)元Nij才會在迭代n中輸出脈沖。如果神經(jīng)元Nij發(fā)射脈沖,則動態(tài)閾值將隨著VE的幅度而增加;否則,動態(tài)閾值將衰減e-αf。SimPCNN模型中有五個可調(diào)節(jié)的參數(shù),其表達式如下所示[4]:
αf=1n(1/σ(I))
(5)
(6)
VL=1
(7)
VE=e-αf+1+6βVL
(8)
(9)
其中,σ(I)是圖像I的標準差,S'是最優(yōu)的直方圖閾值,Smax是圖像的最大強度。在上述的五個參數(shù)中,β和αe對圖像分割結果的影響最大。β的值越大,神經(jīng)元受到附近神經(jīng)元的影響就越大。而αe的值越小,圖像分割的精度就越小[4]。
在本節(jié)中,采用具有自動參數(shù)的SimPCNN進行彩色圖像分割,然后提出了一種基于區(qū)域的圖像對象識別方法,稱為RegionRec。RegionRec能夠從復雜的現(xiàn)實環(huán)境中準確地識別出對象。
為了使由通道增益和偏移引起的光強度的變化和移動穩(wěn)定,在應用SimPCNN之前需要進行色彩空間轉(zhuǎn)換。
Van 等人[5]驗證了歸一化的RGB顏色模型不會隨著光強度變化而發(fā)生不變,如式(10)所示,而顏色拮抗模型的顏色通道O1和O2對光強度具有平移不變性,如式(11)所示。因此,可以利用這兩個不變性,首先通過式(10)將原始RGB彩色圖像轉(zhuǎn)換為歸一化RGB彩色圖像,然后通過式(11)將RGB彩色圖像進一步轉(zhuǎn)換為拮抗顏色圖像。因此,將最后的圖像稱為RGB拮抗顏色圖像。
(10)
(11)
(12)
其中,Ig是原始灰度圖像。
由于式(11)中存在減法,通道O1和O2可能會產(chǎn)生負數(shù),但這些負值并不響應SimPCNN過程。為了充分利用通道O1和O2中的這些負信息,通過反轉(zhuǎn)通道O1和O2,并用O4和O5表示反轉(zhuǎn)后的通道,如下所示:
O4=-O1,
O5=-O2
(13)
在彩色圖像分割過程中,由于所有圖像通道都共用這些參數(shù),因此有必要分配參考通道。在這里,使用歸一化的灰度圖像通道O3,該通道包含了圖像的所有信息。
估計適當?shù)腟imPCNN參數(shù)后,具有這些參數(shù)的SimPCNN模型可以分別應用于每個變換后的顏色通道O1、O2、O4和O5,以及分別用于對象模型和測試圖像的歸一化灰度圖像O3。
在對所有圖像通道進行SimPCNN操作之后,采用了一種新穎的圖像分割策略,該策略可以在所有五個通道中同步收集圖像像素。然后,將收集到的圖像像素稱為合成觸發(fā)區(qū)域,然后將圖像分割成幾個合成觸發(fā)區(qū)域。
為了保證圖像分割的物理意義,在像素觸發(fā)兩次后,將其內(nèi)部活動設置為零,以防止再次觸發(fā)。然后,將每個通道中每個像素的第二次觸發(fā)時間記錄到一個觸發(fā)順序矩陣中,該矩陣具有與圖像通道相同的大小。因此,可以獲得分別對應于對象模型和測試圖像的五個觸發(fā)順序矩陣。
為了將對象模型和測試圖像分割為同步觸發(fā)區(qū)域,為每個像素構造了一個觸發(fā)順序向量。位置(i,j)處像素的觸發(fā)順序向量由從相同位置(i,j)的五個觸發(fā)順序矩陣中提取的五個元素組成,即
(14)
(15)
由于歸一化操作,非彩色像素(如白色、灰色和黑色像素)的轉(zhuǎn)換值變得非常相似。因此,這些像素的SimPCNN觸發(fā)順序在RGB對應的顏色通道O1、O2、O4和O5中將變得相同,這是因為這些通道是直接從標準化RGB彩色圖像中得出的。
在這種情況下,通道O3在將非彩色的像素分離成不同的同步觸發(fā)區(qū)域中起重要作用。由于歸一化的灰度圖像O3中的白色、灰色和黑色像素的值彼此絕對不同,因此將導致SimPCNN的觸發(fā)順序不同。因此,O3通道具有區(qū)分白色、灰色和黑色像素并將它們分組到不同的合成觸發(fā)區(qū)域的作用。
將測試圖像中的對象進行旋轉(zhuǎn)/縮放/傾斜,也不會改變對象的組件。在此理想條件下,不同圖像中對象的相同組件可能具有相同的觸發(fā)順序。因此,假設無論背景如何變化以及無論物體處于什么姿勢,同一物體都具有相同的SimPCNN觸發(fā)順序向量。
基于此假設,可以通過提取具有與對象合成觸發(fā)區(qū)域相同的觸發(fā)順序矢量的合成觸發(fā)區(qū)域,從復雜場景的任何測試圖像中識別特定的對象模型。將對象模型和測試圖像之間的這些同步點火區(qū)域?qū)Χx為匹配同步點火區(qū)域?qū)?。因此,匹配的同步點火區(qū)域是在測試圖像中包含所需對象的潛在區(qū)域。
測試圖像中匹配的合成觸發(fā)區(qū)域通常分散在較大的區(qū)域,并且同時包含對象像素和背景像素。為了分離背景像素和對象像素,有必要將匹配的同步觸發(fā)區(qū)域劃分為較小的區(qū)域斑點,這些斑點會包含對象像素的一部分或背景像素的一部分。
為了加快算法的速度,僅使用匹配同步點火區(qū)域?qū)?,其中匹配同步點火區(qū)域的組成部分大于匹配同步點火區(qū)域的總和的1/50。也就是說,與非常小的模型匹配的合成區(qū)域相對應的大多數(shù)匹配合成區(qū)域通常是測試圖像中的背景區(qū)域。
為了增加匹配區(qū)域,我們還實現(xiàn)了區(qū)域分割,即對每對匹配同步觸發(fā)區(qū)域分別進行形態(tài)封閉和連接成分標記。
用盤形濾波器執(zhí)行形態(tài)封閉,以填充相鄰像素之間的間隙。盤形濾波器的半徑值應適當分配,以使目標像素與背景像素分離,并保持相鄰目標像素之間的連接。在本方法中,盤形濾鏡的半徑值設置為三個像素。
隨后,在每個匹配同步觸發(fā)區(qū)域的最終形態(tài)學閉合圖像中,使用連接成分標記來計算八個連接成分。這些連接的組件可以標記為匹配同步觸發(fā)區(qū)域中的分離區(qū)域斑點。
但是,可能存在許多區(qū)域斑點,其區(qū)域太小而無意義。因此刪除這些區(qū)域斑點,以加快算法的運行速度。在實驗中,僅保留了像素面積大于100(圖像尺寸:640×480)的區(qū)域斑點。
對于每個其余的區(qū)域斑點,計算如面積、長軸長度、短軸長度、加權質(zhì)心和偏心率的區(qū)域?qū)傩?。此處,長軸和短軸長度是具有與區(qū)域斑點相同的歸一化第二中心矩的橢圓的長軸和短軸的長度(以像素為單位)。另外,偏心率是此橢圓的偏心率。
由于測試圖像中可能存在許多背景區(qū)域斑點,因此需要刪除明顯的斑點。在本方法中,首先刪除面積非常大的測試區(qū)域斑點,當斑點面積Φtb滿足以下關系時,則將該斑點刪除:
Φtb>θmax×Φti
(16)
然后,通過將測試區(qū)域的大小與對象模型的權重大小進行比較,刪除了在大空間中松散分布的測試區(qū)域斑點。權重可以是大于1的常數(shù),這可以在一定程度上確保尺度不變。刪除了滿足以下條件的松散分布的測試區(qū)域斑點:
(17)
此外,還刪除了長軸長度滿足以下關系的斑點:
(18)
經(jīng)過了上述移除離群測試區(qū)域斑點的操作之后,測試圖像已經(jīng)變得不完整,而且在背景區(qū)域斑點和對象區(qū)域斑點之間具有許多間隙。由于所需的對象只能占據(jù)測試圖像中的局部區(qū)域,因此可以在一定的半徑距離約束下將剩余的附近測試區(qū)域斑點分組為幾個簇。聚類的主要步驟如下所示:
步驟1:按區(qū)域大小降序?qū)α斜碇械乃袦y試區(qū)域斑點進行排序。
步驟2:將面積最大的測試區(qū)域斑點標記為根區(qū)域斑點。
步驟3:計算每個測試區(qū)域斑點與根區(qū)域斑點之間的強度加權質(zhì)心的距離。
步驟4:在特定的簇半徑閾值內(nèi),將與根區(qū)域斑點的相鄰測試區(qū)域斑點分為一組,形成簇。
步驟5:在列表中將根區(qū)域斑點的區(qū)域值設置為0,以確保該根區(qū)域斑點在接下來的迭代中不會再次成為根區(qū)域斑點。
步驟6:重復步驟1-5的過程,直到所有區(qū)域斑點的面積都設置為0。
簇半徑閾值可能會影響包含所需對象的最終匹配簇:如果閾值太大,則匹配簇將包括不相關的背景區(qū)域斑點;相反,如果閾值太小,則匹配的簇可能僅包含對象的一部分。因此,群集半徑閾值應根據(jù)不同的對象模型進行調(diào)整。
因此,可以根據(jù)模型區(qū)域斑點之間的強度加權質(zhì)心距離來設置簇半徑閾值Thr,如下所示:
Thr=avg(d)+μ×sd(d)
(19)
其中d表示每對模型區(qū)域斑點的強度加權質(zhì)心之間的距離,而μ是加權常數(shù)。本研究中,根據(jù)經(jīng)驗將μ=0.5。
當以此方式獲得多個簇時,這些簇中的一些可能會相互重復,并且與對象模型相比,其中一些簇可能太小或太大。因此,需要對簇進行細化處理。
步驟1:對于重復的簇,僅保留其中一個。
步驟2:刪除面積滿足式(20)和式(21)的簇。
Φcl<ρl×Φm
(20)
Φc>ρh×Φm
(21)
步驟3:刪除偏心率Ec式(22)的簇。
Ec>τeccentr×Em
(22)
下一步是挑選出最有可能包含所需對象的簇。使用彩色直方圖的Bhattacharyya距離[6]用于測量每個測試簇圖像與模型圖像之間的距離,即:
(23)
其中,h表示顏色直方圖,n表示直方圖中第n個元素,i表示測試圖像中的第i個簇。具有最小直方圖Bhattacharyya距離的測試簇最有可能包含所需對象。從理論上講,概率值隨著Bhattacharyya距離的增加而減小。
本節(jié)采用實驗以檢驗基于帶有自動參數(shù)SimPCNN的識別方法的有效性。實驗所采用的工作站配置有3.80 GHz的Intel E5-2690的MATLAB r2016b上運行。
實驗中使用了IJCV數(shù)據(jù)集,該數(shù)據(jù)集中的圖像大小為1280×960[7]。IJCV數(shù)據(jù)集包含了關于8個對象的161個模型圖像和包含多個對象的51個雜亂的測試圖像。對于每個對象,首先在每個模型圖像和每個陽性測試圖像之間進行識別。另外,從每個對象中選擇一個模型圖像,并在它與每個在模型圖像中不包含所需對象的陰性圖像之間進行實驗。將提出的RegionRec與OpponentSIFT進行性能對比。OpponentSIFT是基于顏色描述符的圖像識別方法。
在文中,真陽率(TP)是指識別結果和從陽性測試圖像手動切出的正確圖像的相交像素數(shù)。假陽率(FP)是指包含在識別結果中的背景像素的數(shù)量,而假陰率(FN)是指被排除在識別結果之外的正確圖像的像素數(shù)量。一般來說,高假陽率比高假陰率更不可接受。
采用精確度precision和recall作為評估指標,計算方式如式(24)所示。precision對假陽率敏感,而較大的precision說明識別結果的誤報率低。recall對假陰率敏感,recall的值大意味著識別結果的假陰率低。當評估對象識別結果時,在較高precision閾值的前提下可接受較低recall閾值,即當precision≥0.7以及recall≥0.1時,認為評估結果是可接受的。以運動鞋和蘋果例子,表1展示了precision和recall的實驗結果。由結果可知,運動鞋和蘋果的precision和recall指標均滿足precision≥以及recall≥0.1,說明識別的結果是可接受的。
(24)
表1 RegionRec識別結果
接下來,用準確率(accuracy)和F-measure兩種指標來對比評估算法的性能,結果如表2所示,這兩個指標的計算方式如下所示。顯然,提出的RegionRec算法具有較高的準確率和F-measure,因此,RegionRec具有更好的性能。
(25)
(26)
表2 兩種算法的性能對比
針對云計算存儲的場景,提出了一種基于區(qū)域的圖像識別方法,以識別復雜圖像中的特定對象。所提出的對象識別方法基于SimPCNN進行顏色分割,在對象模型和測試圖像之間執(zhí)行基于區(qū)域的匹配。實驗結果表明所提出的RegionRec方法具有較好的性能。未來的工作集中于將本方法部署到諸如亞馬遜云、阿里云的真實云計算場景中,進一步探討該方法的性能。