薛永杰,巨志勇
(上海理工大學 光電信息與計算機工程學院,上海 200093)
室內場景識別是機器人視覺領域的基本課題之一,其目的為讓機器人能夠通過分析物體之間的位置關系和物體自身屬性,使其能夠以人類的理解角度來感知環境[1],但實際生活中物體的復雜類內差異性與類間相似性,增加了各場景信息整合及邏輯推理的難度.因此,如何提取語義線索進行場景識別,在室內場景識別領域仍是一個具有挑戰性的研究課題.
近年來,人工智能科技的發展日益加快,產生了許多基于機器學習的室內場景識別算法.Fan等[2]提出一種自適應多尺度系統,采用具有多并行通道的多層識別機制,將各通道空間尺度上的位置組合以進行位置場景識別.Fabio等[3]將目標位置屬性分布輸入貝葉斯分類器,結合降維手段生成統計模型,以進行場景分類.Yang等[4]提出改進隱狄利克雷分配模型結合K均值算法來學習和識別場景.上述方法與相關研究[5-7]提升了對視覺信息的獲取,使其能夠被充分利用,然而這些方法僅僅關注于紋理、顏色和幾何結構等簡單特征,并沒有充分利用圖像中的語義成分.因此對于復雜場景的識別,特別是開放布局的室內場景識別會有困難.
隨著深度學習應用在圖像描述和文本分類領域的快速發展,部分學者提出了RNN[8]、N-gram[9]、Word2Vec[10]等自然語言模型.并使用正則化[11]、批量標準化[12]、殘差網絡[13]等方法處理梯度消失或過擬合等問題.Chingiz等[14]提出了一種直接利用預先訓練的卷積神經網絡(Convolutional Neural Networks,CNN)中間層輸出作為圖像描述子的方法,通過圖像序列的匹配從而進行場景識別.Krause等[15]提出了一種多層循環網絡,為圖像生成完整的段落描述.Peng等[16]等提出一種結合場景因素的理解模型,在語句生成過程中利用場景相關聯單詞與雙長短期記憶網絡(Long Short-Term Memory,LSTM)結構調整參數,提高圖像語言理解準確性.上述研究為提取圖像的語義信息提供了理論基礎與參考.
為解決傳統室內場景識別方法未充分利用圖中語義信息而導致識別準確率低等問題,本研究提出一種基于注意力機制融合深度神經網絡模型的室內場景識別方法.該方法由兩部分模型融合組成,第1部分為基于注意力機制的LSTM 模型,第2部分為CNN模型.首先通過位置描述符表達圖像中各物體屬性與位置關系,采用GloVe模型提取圖像中語義信息生成詞向量.然后通過數據預處理算法保證數據格式,將所提取到的語義特征輸入基于注意力機制的LSTM模型,通過注意力機制提升識別特征的準確率,采用其輸出作為后接CNN的輸入.最后通過Softmax函數進行場景分類.本研究采用Visual Genome數據集進行實驗.結果表明,該方法能夠對場景進行有效識別,相較其它室內場景識別方法具有更優識別準確率.
室內場所識別通常包含3個基本步驟:圖像采集、信息表達和場所識別.本研究通過位置描述符(Position Describer,PD)表達圖像中物體屬性與其周圍環境聯系的信息.對于一張帶有標簽y的圖像,分別從3方面對圖像中物體進行描述:物體狀態(表示為集合S)、物體屬性(表示為集合A)及物體與物體之間關系(表示為集合R),取以上3類信息并集作為位置描述符,即PD∈S∪A∪R.其中元素均以文本形式表達,如圖1(a)所示,每個位置描述符包含了物體屬性和位置關系信息(例如“電腦邊上的鍵盤”,其中‘電腦’與‘鍵盤’為物體屬性,屬于集合A,‘邊上'為位置關系屬性,屬于集合R),物體狀態信息(例如“一個男人用電腦在編程”,其中‘在編程’為目標狀態,屬于集合S).

圖1 注意力融合深度神經網絡的室內場景識別模型
自然語言是一種高度抽象化的符號表示形式,無法直接被計算機識別,目前常用唯一的數字表示每個語言單元,并組合這些數字以反映豐富的語義信息,將自然語言轉換為計算機能夠處理的語言.本研究采用詞表征的全局向量(Gloval vectors for word representation,GloVe)模型[17]轉換將文中單詞轉換為數字.GloVe是一種用于獲得詞的向量表示的無監督學習模型,根據所給語料庫構建詞-詞共現矩陣,統計每個單詞在語料中一定范圍內,其他單詞出現的次數Xi與對應共現概率Pik如公式(1)和公式(2)所示:
(1)
(2)
式中Xik表示上下文單詞k與單詞i在上下文窗口中共同出現的次數;Xi表示單詞i上下文中所有單詞出現的總次數;Pik表示單詞k出現在單詞i上下文中的概率.通過比較概率的大小來判斷單詞之間的相關度.詞向量相似度函數F定義如公式(3)所示:
(3)

(4)

為確保PD格式符合GloVe模型輸入尺寸,采用數據格式預處理算法對PD進行格式處理,如算法1所示.
算法1.數據格式預處理算法
輸入:[xi]k表示第k圖中的第i個PD;wn表示每個PD中的第n個詞;batchsize表示每批訓練樣本個數;maxlen表示PD最大允許長度;wordsize表示單詞長度.

1.Whilenot end of kdo
2. m=mod(length([xi]k),batchsize);
3.ifm>0then
4. 令[xi]k=[[xi]k,[xs]k],其中s為范圍(1,i)的隨機數;
5.endif
6.fori=1 to length([xi]k)do
7. 對[xi]k進行標準化處理;

9.ifmax(n) 11.else 13.endif 14.endfor 16.endwhile 在算法1中,第7步的標準化處理主要包含以下操作: 1)移除標點符號、多余空格和不影響位置描述符的原始語義的特殊符. 2)使用對應中文文本替換語句中數字. 3)在不改變原始語義的情況下移除停頓詞. 此外,如圖1(b)所示,在LSTM模型中采用了L2正則化小批量梯度下降算法,輸入數據為三維張量,各維度分別表示對應詞嵌入向量的尺寸,句子的長度和批處理的大小.由于位置描述符的最大輸入長度受LSTM模型的限制,因此須對其規范化.否則可能出現語句長度過短,導致輸入張量中存在無法處理的空元素;語句過長,模型無法處理,導致信息丟失.因此,應通過添加零張量或拆分句子的方法來保持語句尺寸始終一致,以避免出現空元素.算法1對位置描述符的格式進行了規范化以滿足LSTM的要求,從而保證信息的準確性. 位置描述符包含豐富的語義信息而神經網絡模型具有強大的自然語言處理的能力,卷積神經網絡能夠提取句子中不同位置的特征,LSTM能夠有效處理序列問題并避免梯度爆炸或梯度消失的情況.本研究提出一種基于注意力機制融合深度神經網絡(Attention-based fusion deep neural networks,AFDNN)模型用于室內場景識別.該模型由基于注意力機制的 LSTM 模型與CNN模型2部分融合組成. 3.2.1 基于注意力機制的LSTM模型 由于位置描述符中各單詞之間存在語義依賴關系,且上下文之間存在時序關系,因此本研究采用了一種帶有基于注意力機制的LSTM模型,于每個時步t計算ht與其前6個時步之間的聯系.注意力模型如圖2所示,每個時步所占能量值都不同,能量值越高表示所占權重越大,根據能量值大小給予每個時步相應的注意力權重,可表示為式(5)和式(6). 圖2 注意力模型 (5) (6) 式中WS表示時步T之前所有時步的注意力權重總和,hT表示時步T隱層值,aT為標量,表示時步T的權重,W表示模型訓練時學習到的權重矩陣,exp(W×ht)表示時步T的潛在能量.如圖2所示,ht-3具有的注意力權重最高,ht-6具有的注意力權重最低. LSTM單元每一個時步的輸出都由門函數、上一個隱層狀態ht-1和當前時步的輸入xt共同控制,當前隱層狀態ht與細胞狀態Ct由輸入門it,遺忘門ft,輸出門ot共同控制,基于注意力機制的LSTM模型公式定義如式(7)-式(16)所示: it=σ(Wi·[ht-1,xt,Ct-1]+bi) (7) 式中it表示第t個時步輸入門的計算結果;σ表示sigmoid函數,輸出范圍介于[0,1];Wi表示輸入門權重;ht-1表示上一個隱層的狀態;Ct-1表示上一時刻細胞狀態;bi表示輸入門偏置. ft=σ(Wf·[ht-1,xt,Ct-1]+bf) (8) 式中ft表示第t個時步遺忘門的計算結果;Wf表示遺忘門權重;bf表示遺忘門偏置. ot=σ(Wo·[ht-1,xt,Ct]+bo) (9) 式中ot表示第t個時步輸出門的計算結果;Wo表示輸出門權重;bo表示輸出門偏置. (10) (11) 式中⊙表示Hadamard乘積;注意力機制通過計算t時步的數據與其之前6個時步的權重來更新細胞狀態Ct,如公式(12)和公式(13)所示: (12) (13) (14) (15) (16) 3.2.2 卷積神經網絡模型 wj=[xj,xj+1,…,xj+k-1] (17) cj=f(wj⊙m+b) (18) 中,⊙表示Hadamard乘積,b為偏置項,f表示線性修正單元(Rectified Linear Unit,ReLU).此外,本研究模型使用多個卷積核來生成不同的特征圖,卷積層后接最大池化層(Max-pooling layer)進行特征提取,最大池化層的輸出將通過式(19)中Softmax函數進行分類. (19) 式中Pi表示被分類為第i類的可能性,C表示分類的數目.zi表示全連接層的輸出,包含位置描述符的全部信息,取輸出最大值所對應的類別為作為最終結果.如圖1(c)所示,本研究卷積神經網絡室內場景識別模型由卷積層、池化層、輸出層3部分組成.第一層為卷積層,使用ReLU作為激活函數,其輸入為LSTM模型的輸出;第二層池化層,采用最大池化層對經過卷積層處理后的數據進行二次采樣;最后一層為輸出層,經過最大池化層處理后,數據信息通過全連接層(fully-connected layer)輸送至Softmax進行室內場景分類. 本研究模型采用交叉熵損失函數衡量預測值與實際結果之間的差異性信息,其定義如式(20)所示: (20) 算法2.L2正則化小批量梯度下降算法 輸入:學習率lr;學習衰減率d;最大迭代次數τ;正則化參數λ;初始參數θ. 輸出:更新參數θ* 1.k=1; 2.while未滿足停止條件do 3. 抽取m個帶有標簽y(i)的小批量樣本{x(1),x(2)…,x(m)}; 4. 計算交叉熵損失函數的均方誤差: (21) 5. 計算梯度預測值g=ΔθL((x(i);θ),y(i)); 6. 更新參數θ*=θ-lr×g; 7.ifk>τdo 8. 更新學習率lr=lr×dk-τ; 9.endif 10.k=k+1; 11.endwhile 實驗環境如表1所示. 表1 實驗環境配置 本研究實驗數據采用由斯坦福大學人工智能實驗室開發的Visual Genome數據集.該數據集包含各類語義信息及108077張生活場景圖像,取其中75653張作為訓練集,32424張作為測試集.通過開源標注工具LabelImg對圖像進行標注,部分數據集樣本如圖3所示. 圖3 具有位置描述符的室內場景樣本 本研究分別采用精確率(Precision)、查全率(Recall)、準確率(Accuracy)和F1-Score作為模型評價指標,具體定義分別如式(22)、式(23)、式(24)和式(25)所示: (22) (23) (24) (25) 式中TP表示被檢索為正樣本且分類正確的樣本數;FP表示實際為負且分類錯誤的樣本數;FN表示實際為正且分類錯誤的樣本數;TN表示被檢索為負樣本的且分類正確的樣本數. 文中實驗參數設置如下:通過GloVe模型生成詞向量表示,單詞向量維數=128,上下文窗口大小=6,最小計數頻率=1,迭代次數=50.經過算法1處理后,數據集中每個不同單詞都被轉換為唯一的128維向量,用于位置描述符中的信息.其中,位置描述符最大長度設置為10,每個類別的標簽都通過獨熱編碼轉為唯一的數字字符串表示,具體實驗數據集樣本信息如表2所示.通過在不同數據條件下進行對比測試,最終將學習率(learning rate)設置為0.1,學習衰減率(learning rate decay)設置為 0.96.文中實驗采取1次10折交叉驗證,取各次實驗數據的平均值作為最終結果. 表2 實驗數據集信息 本研究采用基于注意力機制融合深度神經網絡模型進行實驗,選取Visual Genome數據集中的5類室內場景:臥室、廁所、廚房、客廳和書房,每類包含100張圖片,進行室內場景識別,通過3個不同實驗對識別結果進行衡量,驗證模型有效性. 實驗1.為驗證位置描述符分類的有效性,在所選取的5類場景樣本上進行實驗,并對實驗結果進行分析.表3以融合矩陣的形式展示了測試樣本圖像中位置描述符的具體分類情況,各場景種類下位置描述符的精確率、查全率、準確率和F1-Score衡量結果如表4所示. 表3 室內場景位置描述符混淆矩陣 如表3和表4結果所示,本研究AFDNN模型對于不同場景下的單個位置描述符的平均精確率為71.13%、平均查全率為71.11%、平均準確率為73.02%、平均F1-Score為71.64%.在處理每幅圖像所含位置描述符時,保存由各位置描述符所得場景種類預測結果,當處理完圖像中所有位置描述符后,根據硬投票(hard voting)機制,選取預測結果中所得票數最高的場景作為該圖像最終場景識別結果,表5為所有實驗測試識別結果分布. 表4 不同室內場景的實驗結果 表5 室內場景識別結果混淆矩陣 如表5所示,對于500例測試樣本,正確識別樣本數為486例,錯誤識別樣本數為14例,識別正確率達到97.2%.通過分析,錯誤識別情況主要集中發生在將客廳誤識別為臥室和將廁所誤識別為廚房2類.圖4展示了其中2例錯誤識別結果及其位置描述符(由于空間限制圖像中部分位置描述符省略).以圖4(a)為例,圖像的真實標簽為客廳,但本研究方法預測標簽為臥室,其具體實驗結果情況如表6所示(由于長度限制表格中部分位置描述符省略).由實驗結果所示,對于個別具有大量類似物體且享有共同屬性的位置描述符的室內場景(例如“靠近灰色沙發的木桌”或“一個灰色的沙發”都可能出現在臥室和客廳中),可能會使模型產生錯誤的識別結果. 表6 圖4(a)中位置描述符的實驗結果 圖4 2例錯誤識別結果 實驗2.為了測試注意力機制對模型識別準確性的影響,將AFDNN模型和FDNN模型進行對比,本研究選取不同訓練集比例,并比較不同參數設置條件下模型識別準確率.表7列出了兩種模型在不同訓練集比例下的識別準確率. 如表7所示,當訓練集比例為0.7時,AFDNN模型的位置描述符準確率與圖像準確率達到最高值,分別為73.02%和97.20%.相較于無注意力機制的FDNN模型的準確率67.67%和95.30%分別提高了5.35%和1.9%.隨著訓練集比例的數量減少,AFDNN模型識別準確率略有下降,但總體識別準確率仍然保持在較高水平.相反FDNN模型總體識別準確率受訓練集比例影響較大,這表明本研究模型具有一定的容錯能力,在注意力機制下主要提取位置描述符中最重要的特征.例如,類別為書房的室內場景中常包含如“灰色的臺式電腦”等位置描述符,這類位置描述符在場所識別中將起到主要作用.此外,卷積神經網絡模型中也會保留一些特征信息,因此在投票機制的幫助下仍能確保一定的識別正確率. 表7 不同訓練集比例下的準確率 實驗3.為比較不同室內場景方法的識別效果,使用本研究AFDNN模型分別與ResNet[13]、CNN[14]、SIFT[18]、SVM[19]和FDNN對所選取5類室內場景進行識別,表8列出了6種方法在不同室內場景的實驗結果. 如表8所示,本研究AFDNN模型在所選五類室內場景的識別準確率達到97.20%,相較傳統機器學習方法SIFT,SVM精準度分別提高了33.55%、27.9%.其中SIFT算法準確率最低,僅為63.65%.造成其準確底下的主要原因為:SIFT算法通過比較圖像中的局部特征及關鍵點來檢測兩幅圖像的相似度,而室內場景具有復雜的類內差異性與類間相似性,造成SIFT算法難以精準識別.本研究方法相較于深度學習模型CNN和ResNet精準度分別提高了4.97%,10.51%.可以看出,CNN精準度相較于本研究方法略低,雖然該方法僅考慮了圖像特征屬性,但由于其較深的神經網絡結構,經大量數據集圖像訓練后,所提取的特征會保留在卷積層中,從而一定程度上保證了精準度,但對圖像中的語義信息沒有充分利用,并且計算復雜度相對高,耗時較長.AFDNN的實驗效果優于FDNN,在引入的注意力機制后,使得位置描述符中重要特征與輸出類別之間關聯性更強,更好地提高模型室內場景識別結果.整體來講本研究所提出的AFDNN模型相較其余傳統室內場景識別方法具有更好的性能. 表8 不同方法實驗結果對比 由于大多數室內場景識別方法僅依靠物體自身特征屬性進行識別,并未充分利用圖像中豐富的語義內容,故提出了一種注意力機制融合深度神經網絡的室內場景識別方法,該方法通過位置描述符將室內環境的圖像特征進行融合,在經過數據預處理算法后,采用GloVe模型將從圖像中提取的特征信息轉為文本形式.經過帶有L2正則化的小批量梯度下降算法訓練模型后,通過AFDNN模型進行場景識別.實驗結果表明,本研究模型能夠有效對室內場景進行識別,相較傳統室內場景識別方法取得了更優的識別準確率,在后續研究中應加強關注人與物體之間的互動關系,增加描述語句的多樣性,使模型具有更強泛化能力,從而解決因相同位置描述符導致錯誤識別的問題.

3.2 室內場景識別模型構建







3.3 模型訓練

4 實驗與分析
4.1 實驗環境

4.2 數據集及評價標準

4.3 實驗參數設置


4.4 實驗結果與分析







5 總 結