熊繼平,葉 童,葉靈楓
(浙江師范大學(xué) 數(shù)理信息工程學(xué)院,浙江 金華 321004)
場景識(shí)別是計(jì)算機(jī)視覺領(lǐng)域的重要研究方向之一,旨在設(shè)計(jì)有效的分類器來區(qū)分場景類別[1]。場景識(shí)別技術(shù)在許多方面都有廣泛的應(yīng)用[2],如基于內(nèi)容的圖像檢索,從待查找的圖像視覺特征出發(fā),在圖像庫(查找范圍)中依據(jù)視覺相似程度找出與之相似的圖像[3];應(yīng)用于數(shù)字照相洗印加工,對(duì)數(shù)字化的圖片通過識(shí)別不同的場景,進(jìn)行顏色平衡來校正偏色,增強(qiáng)圖像對(duì)比度[4];應(yīng)用于智能機(jī)器人領(lǐng)域,使智能機(jī)器人能夠做到自動(dòng)識(shí)別當(dāng)前所處的場景,針對(duì)不同的場景做出不同的響應(yīng)[5]。除此之外,場景分類還可以應(yīng)用于視頻檢索[6]、醫(yī)學(xué)圖像瀏覽、衛(wèi)星遙感圖像分析、天氣場景分類等方面。
場景特征表示方法主要分為手工特征[7-12]和學(xué)習(xí)特征[13-15]兩大類。典型的手工特征包括通用搜索樹[16]、局部描述符方向紋理曲線[17]和統(tǒng)計(jì)變換直方圖[18],它們研究低級(jí)視覺信息,如結(jié)構(gòu)和紋理信息場景圖像。但是,這些特征只考慮到低級(jí)視覺信息,對(duì)于復(fù)雜的場景來說還遠(yuǎn)遠(yuǎn)不夠。使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的方法是代表性的基于學(xué)習(xí)的方法,其中提取的特征利用了高層次的語義信息。謝國森等[19]提出一種基于詞袋的混合CNN場景識(shí)別模型,通過訓(xùn)練好的CNN網(wǎng)絡(luò)對(duì)場景圖像進(jìn)行特征提取,在此基礎(chǔ)上進(jìn)行多種空間全局特征的提取,最后將得到的特征輸入到支持向量機(jī)(Support Vector Machine,SVM)進(jìn)行場景識(shí)別,使得場景識(shí)別的效果有了極大的提高。雖然CNN特征取得了令人鼓舞的表現(xiàn),但是它們利用了場景類別間的場景特征,其特征包括不同場景中共同對(duì)象引起的一般特征,削弱了場景間的區(qū)分能力。
大多數(shù)現(xiàn)有的場景表示方法利用了類間獨(dú)立場景中構(gòu)成對(duì)象的特征,忽略了不同場景中普通對(duì)象造成的負(fù)面影響。通用對(duì)象的一般特征造成了不同場景之間的一般性,從而削弱了場景之間的判別特性。為了解決這個(gè)問題,本文提出了一種基于主題模型的對(duì)象特征描述符(Latent dirichlet allocation semantic Objectness Descriptor,LOD)用于場景識(shí)別。利用場景中所有對(duì)象的共現(xiàn)模式與不同場景之間的對(duì)象配置的相關(guān)性來選擇具有代表性和有區(qū)別性的對(duì)象,從而增強(qiáng)了類間可辨性。具體來說,通過捕捉出現(xiàn)在每個(gè)場景中的對(duì)象的統(tǒng)計(jì)信息,以計(jì)算每個(gè)對(duì)象在場景中的條件分布,從而獲得對(duì)象的共現(xiàn)模式。此外,利用場景圖像中的識(shí)別對(duì)象對(duì)于場景的相關(guān)性表示來表示圖像描述符,以消除普通對(duì)象的負(fù)面影響。
主題模型主要功能是提取可以理解、相對(duì)穩(wěn)定的潛在語義結(jié)構(gòu),采用了詞袋(Bag Of Features,BOF)的方法,將每一篇文檔視為一個(gè)詞頻向量,從而將文本信息轉(zhuǎn)化為易于建模的數(shù)字信息。主題模型的主要前提假設(shè)是:一系列的主題鏈接了一系列詞和文檔集合,而主題則可以理解為字和詞的一種概率分布。采用概率推斷算法,是一種全概率生成過程[20]。目前主要的主題生成模型是潛在Dirichlet分布(Latent Dirichlet Allocation,LDA)模型。
LDA模型的主要思想是將每篇文章看作所有主題的一個(gè)混合概率分布,而將其中的每個(gè)主題看作在單詞上的一個(gè)概率分布。LDA模型中,在一篇文檔中的第i個(gè)單詞的概率可以表示為:
(1)
在以上生成式文檔思想加入Dirichlet先驗(yàn)后,便得到人們熟知的LDA模型,其中θ表示文檔在主題上的分布,φ表示主題在單詞上的分布,再加入θ和φ的先驗(yàn)分布(分別服從參數(shù)α、β的Dirichlet分布),這樣就能得到LDA模型的各層參數(shù)之間的依賴關(guān)系的數(shù)學(xué)表述:
wi|zi,φ(Zi)~Discrete(φ(Zi))
(2)
φ~Discrete(β)
(3)
zi|θ(di)~Discrete(θ(di))
(4)
θ~Discrete(α)
(5)
LDA模型是一個(gè)概率生成式模型,其中一條文本生成的過程如下:(1)對(duì)于文檔d,從Dirichlet(α)抽樣得θ(d);(2)對(duì)于主題z,從Dirichlet(β)抽樣得φ(z);(3)對(duì)于每個(gè)單詞wi及所屬主題zi,從多項(xiàng)式分布θ中抽樣得zi=P(zi|θ),從多項(xiàng)式分布φ中抽樣得wi=P(wi|zi,φ)。
(6)
(7)
費(fèi)舍爾向量(Fisher Vector,F(xiàn)V)是用似然函數(shù)的梯度向量來表達(dá)一幅圖像[22]。假設(shè)圖像X中提取的局部特征信號(hào)量集合為X={xd,d=1,…,D}。基于這些特征訓(xùn)練高斯混合模型記為:
Θ={(μk,σk,πk):k=1,…,K}
(8)
其中μk、σk和πk分別為第k個(gè)高斯成分的均值、標(biāo)準(zhǔn)差以及先驗(yàn)概率。由此可以得到:
(9)
其中Ν(X;μk,σk)為第k個(gè)高斯成分,可以通過高斯成分計(jì)算特征Xi的后驗(yàn)概率:
(10)
由μk、σk和πk求偏導(dǎo)得到:
(11)
(12)
(13)
最后進(jìn)行歸一化得到FV。
在對(duì)CNN網(wǎng)絡(luò)的訓(xùn)練過程中,網(wǎng)絡(luò)會(huì)自動(dòng)提取主要的特征,不用額外進(jìn)行數(shù)據(jù)特征的提取?;贑NN這樣的特點(diǎn),本文采用基于主題模型對(duì)象判別特征的場景識(shí)別算法。提出基于LDA的對(duì)象判別特征(LOD),結(jié)合多尺度空間判別符(Multi-scale Spatial Discrimination,MSD)和卷積費(fèi)舍爾特征(Convolution Fisher Vector,CFV)構(gòu)成空間判別特征,三種特征融合,利用分類器進(jìn)行場景識(shí)別。如圖1所示,本文采用雙卷積神經(jīng)網(wǎng)絡(luò)模型,使用兩個(gè)卷積神經(jīng)網(wǎng)絡(luò)分別訓(xùn)練場景數(shù)據(jù)與對(duì)象數(shù)據(jù)用以提取空間判別特征與對(duì)象判別特征,進(jìn)行特征融合,輸入分類器進(jìn)行分類。
圖1 雙卷積神經(jīng)網(wǎng)絡(luò)
利用CNN訓(xùn)練圖像,對(duì)CNN全連接層的輸出特征圖進(jìn)行解卷積,運(yùn)用SPM方法對(duì)特征圖進(jìn)行空間多尺度劃分,統(tǒng)計(jì)其在不同分辨率下的圖像特征點(diǎn)分布,從而構(gòu)成MSD。具體步驟如下:
(1)對(duì)卷積神經(jīng)網(wǎng)絡(luò)的輸出特征進(jìn)行解卷積。
(2)根據(jù)特征在圖像中的坐標(biāo)進(jìn)行分層。層數(shù)l={0,…,L},從0層開始,最頂層為L,每一層代表一種粒度,在第l層上每個(gè)特征被分為2l個(gè)區(qū)間,這樣D維的特征空間被分為2Dl個(gè)區(qū)間。
(3)采用稀疏編碼方式計(jì)算每個(gè)特征在不同層次圖像中的分布情況得到多尺度的空間局部特征,本步驟中,稀疏編碼的字典學(xué)習(xí):
(14)
其中,ci表示第i個(gè)特征的編碼,B表示字典。將目標(biāo)圖像的所有點(diǎn)的編碼排成矩陣C,C的每一列就是字典中的原子,選取矩陣C每一列的最大值,最后進(jìn)行歸一化后獲得的向量為該目標(biāo)圖像的特征。
利用CNN訓(xùn)練圖像,CNN最后一個(gè)卷積層輸出特征圖,運(yùn)用費(fèi)舍爾向量對(duì)卷積特征進(jìn)行量化得到CFV。
本文提出了一種基于LDA主題模型的對(duì)象判別特征(LOD),用于場景對(duì)象的配置。具體實(shí)施步驟如下:
(1)訓(xùn)練對(duì)象檢測(cè)CNN對(duì)圖像進(jìn)行對(duì)象檢測(cè),進(jìn)行統(tǒng)計(jì)得到對(duì)象特征(Objectness Descriptor,OD)。
(2) 在主題詞抽取后進(jìn)行人工去噪處理,主要包括:單復(fù)數(shù)統(tǒng)一、同義詞合并、連字符“-”的使用、全稱和縮寫、專有詞組等,消除場景識(shí)別類間差異性。
(3)利用所有對(duì)象構(gòu)成文檔,定義每一類場景作為一個(gè)主題,場景中的對(duì)象視為單詞,構(gòu)成詞袋。
(4)基于LDA的思想,計(jì)算每一類主題中所有單詞的得分,然后推導(dǎo)出一個(gè)對(duì)象的場景的后驗(yàn)概率,以用于在場景中選擇判別對(duì)象的共現(xiàn)模式。
其中場景—主題模型的模型構(gòu)造算法如下:
給定場景數(shù)據(jù)集PS={p1,…,pN},特征詞集合WS={w1,…,wM},定義包含的場景類型構(gòu)成主題集合TS={t1,…,tS}。
第1步:抽取φm~Dirichlet(α),m=1,2,…,M,場景類別生成對(duì)象特征詞的概率;
第2步:抽取Ψs~Dirichlet(β),l=1,2,…,S,場景生成主題的概率;
第3步:生成場景pi(i=1,…,N)的特征詞wj(j=1,…M);
選取場景類別hk~Multinomial(σi);
選取特征詞tj~Multinomial(φk)。
其中N為場景數(shù)目,M為特征詞數(shù)目,S為場景類別數(shù)目即主題數(shù)目,α和β是特征詞和場景類別先驗(yàn)分布Dirichlet參數(shù)。
(5)通過得分最高的交集來修剪不包含判別性特性的對(duì)象和有區(qū)別的對(duì)象。
(6)通過選取表示判別對(duì)象類的元素(稱為對(duì)象選擇),減小對(duì)象得分向量的維數(shù),得到判別向量。
(7)將非歐幾里得空間中的判別向量投影到歐幾里得空間,得到LOD圖像描述符。
為了研究場景之間的判別特性,本文采用自動(dòng)方式檢索抓取網(wǎng)頁中的場景圖片,選取圖書館、沙漠和游泳池三類與Scene-15[23]數(shù)據(jù)集中商店、海濱、高山相似度較高的場景,經(jīng)過預(yù)處理,與Scene-15數(shù)據(jù)集組成包含5 285張場景圖片的Scene-18數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。Scene-18數(shù)據(jù)集部分示例如圖2。
圖2 Scene-18數(shù)據(jù)集
本實(shí)驗(yàn)取Scene-18數(shù)據(jù)集中3 485張圖片作為訓(xùn)練集,1 800張圖片作為測(cè)試集(每類場景100張圖片)。采用兩個(gè)標(biāo)準(zhǔn)VGG-19網(wǎng)絡(luò)訓(xùn)練ImageNet數(shù)據(jù)集和Places365數(shù)據(jù)集,得到VGG-19-ImageNet網(wǎng)絡(luò)模型和VGG-19- Places365網(wǎng)絡(luò)模型,使用VGG-19- ImageNet模型提取數(shù)據(jù)集的LOD特征,使用VGG-19- Places365提取數(shù)據(jù)集的空間結(jié)構(gòu)特征,實(shí)驗(yàn)中使用libSVM作為分類器。實(shí)驗(yàn)環(huán)境為:Intel Core i7-7700,16 GB內(nèi)存,軟件平臺(tái)為Python3.6- OpenCV3。
由表1和表2可以看到,本文算法在Scene-15與Scene-18數(shù)據(jù)集上的分類精確度超過了現(xiàn)有的方法。表3列舉了6類由于存在類間相似性而易錯(cuò)的場景的10次測(cè)試平均分類結(jié)果,可以看到,相比于目前現(xiàn)有的算法,本文算法對(duì)這6類易錯(cuò)場景的識(shí)別效果有顯著的提高。
表1 Scene-15數(shù)據(jù)集分類實(shí)驗(yàn)結(jié)果 (%)
此外,本文還研究了LDA模型中對(duì)象詞特征的數(shù)量對(duì)場景識(shí)別精確度的影響,如圖3所示,在本例中每個(gè)主題選擇7個(gè)詞特征能夠取得最好的識(shí)別效果。
表2 Scene-18數(shù)據(jù)集分類實(shí)驗(yàn)結(jié)果 (%)
本文提出了一種基于主題模型的對(duì)象特征描述符LOD,并提出了一種基于LDA主題模型的對(duì)象判別特征的場景識(shí)別方法。LOD的提出,很好地解決了場景識(shí)別領(lǐng)域中的類內(nèi)差異性和類間相似性問題。本文算法利用雙卷積神經(jīng)網(wǎng)絡(luò)模型提取全局空間特征與對(duì)象判別特征,將兩類特征相結(jié)合進(jìn)行分類,并將本文算法同目前現(xiàn)有的場景識(shí)別算法進(jìn)行比較,結(jié)果表明,本文算法在Scene-15和Scene-18數(shù)據(jù)集中都取得了更好的效果,并且本文算法在對(duì)Scene-18數(shù)據(jù)集分類中精確度有顯著的提高。本文采用的是將主題模型運(yùn)用于對(duì)象特征的描述,但是在自然語言處理中還有許多經(jīng)典的算法,如使用概率潛在語意分析PLSA等,這將是本
表3 易錯(cuò)場景分類結(jié)果精確率 (%)
圖3 不同詞數(shù)量對(duì)精確度的影響
文今后的研究重點(diǎn)。