劉 鋼, 王 慧, 王新穎
(長春工業大學 計算機科學與工程學院, 長春 130012)
三維信息的快速增長是信息采集、 傳輸和存儲工具快速發展以及計算機社會化的結果[1]. 從波音、 空中客車等大型飛機制造公司到小型的模具制造公司, 都保存著許多數字化的產品模型[2], 各種三維模型數量龐大, 使得全自動三維模型識別技術[3]、 投影檢測算法[4]、 三維模型手繪檢索方法[5]等三維模型識別及檢索技術備受關注.
目前, 對三維模型的識別和檢索已有多種方法[6]. 傳統的三維模型識別算法: 一方面訓練過程采用從三維原始模型中提取出幾何、 拓撲、 外形、 紋理和顏色等低層形狀特征, 將其轉換為特征描述符, 然后再進行描述符之間的相似度計算, 對標簽樣本的泛化能力較差[7]; 另一方面, 對三維模型的形狀、 顏色和紋理等視覺特征相近的模型干擾較大, 整體精度不高[8].
近年來, 深度學習[9]在機械、 化工、 材料等領域迅速發展, 深度學習方法不僅適用于三維模型小數據集, 還可以應用在復雜的三維模型大數據中[10]. 本文提出一種改進的無監督特性的稀疏降噪自編碼模型構建深度神經網絡, 從而對三維模型信息進行加工處理, 最后用softmax回歸處理得到最終的softmax分類器, 進而對三維模型進行分類識別. 結果表明, 與棧式自編碼神經網絡和自學習神經網絡相比, 該方法識別性能更好.
自編碼(AE)[11]是一種多層前傳神經網絡, 通常使用一個輸入層、 一個隱藏層及一個輸出層. 設輸入樣本的向量表示為X, 隱藏層y和輸出層z的激活函數為
y=s(WX+b),z=s(W′Y+b′),
其中:s為softmax函數;W為權值矩陣,b為偏置向量;W′=WT互為轉置;b′=b. 自編碼的學習目標是輸出值hW,b(X)=(x1,x2,…,xn)T與輸入值X=(x1,x2,…,xn)T盡量相等, 對于一個包含m個樣本的數據集, 可以用受限的擬牛頓法求解神經網絡, 其損失函數為
JAE=JE+λJW.
(1)
式(1)由兩部分的和組成: 第一部分
是均方差項,i為樣本的個數,ti為隱藏單元i的激活值; 第二部分
是權重差值防止過優化的正則化項,i和j分別為權值矩陣行和列序號,n和d分別為權值矩陣行和列的最大值,λ表示調節參數.
降噪自動編碼器(DA)[12]在訓練時對輸入進行污染, 使自動編碼器更具魯棒性, 更好地對存在噪聲的數據進行編碼. 稀疏自動編碼器在訓練自動編碼器時, 通常還可引入額外的約束, 限制隱層神經元的激活數目, 使得對于一個樣本, 只有少部分隱層神經元被激活, 在式(1)的基礎上加入相對熵后, 其損失函數為
JDA=JE+βJsparse,
(2)
其中

本文提出的改進稀疏降噪自編碼(ISDAE)模型包含一個帶有稀疏性的降噪自編碼器和一個softmax分類器. 模型先要計算隱層權重W, 然后為了防止模型的過擬合, 采用受限的擬牛頓法計算JISDAE, 計算公式如下:
其中:αk表示隱藏層步長;pk表示向量方向;k表示迭代次數. 算法描述如下:
1) 選取最初點W0, 存在誤差ε>0, 保留近期圖片中的某點迭代數目m(一般m=6);
2)k=0,H0=I,R=WJISDAE(W0);
4) 計算本次迭代的可行方向pk=-rk;
5) 如果步長αk>0, 則計算
6) 更新權重Wk+1=Wk+αkpk;
7) 如果k>m, 則保存近期的m次矢量, 并刪除(sk-m,yk-m);
8) 計算并保存sk=Wk+1-Wk和yk=f(Wk+1)-f(Wk);
9) 利用遞歸算法求得rk=Hkf(xk),k=k+1, 轉3).
訓練模型時, 每次操作都需要Hk-m和rk, 經多次實驗驗證表明,
其中:I表示輸入向量;sk表示相鄰兩次迭代權重之差;yk表示相鄰兩次迭代偏導之差;rk表示某次偏導值. 為達到使代價函數JISDAE的值縮小的目的, 需持續不斷地重復受限擬牛頓法的迭代步驟, 從而訓練整個神經網絡模型.


(11)
從而可得到一種更有效、 更簡單的表示方法. 本文用線性代數中的向量形式, 即分量的形式表示系統模型的激活函數
f([z1,z2,…,z400])=[f(z1),f(z2),…,f(z400)],
于是式(7)~(10)可化簡為
基于稀疏自編碼器和softmax分類器, 構建一個含有一個隱藏層與一個最終 softmax分類器的稀疏降噪自編碼神經網絡, 如圖1所示. 步驟如下:
1) 數據預處理. 采用PSB中的三維模型標準庫[13]作為實驗數據源, 對三維模型經過平移、 旋轉和縮放, 將規范化后的數據進行平行投影, 得到每個三維模型的投影三視圖, 同時將每張投影圖片進行歸一化處理.
2) 構建ISDAE模型. 采用自編碼恢復原始數據的原理, 獲取隱藏層的權值W1, 并得到隱藏層的輸出表達y.
3) 先用步驟2)的特性表達y作為softmax分類器的輸入數據, 再用有污染的或插入噪聲的原始信息獲得softmax分類器的權值W0.
4) 預訓練過程. 用步驟2),3)處理后得到的權值參數W0和W1表示網絡模型的初始化參數, 通過網絡模型, 最終得到整個模型的損失函數JISDAE, 即預訓練網絡模型.
5) 微調過程. 計算輸出層和隱含層權重參數W, 采用受限的擬牛頓法神經網絡調整損失函數JISDAE.

圖1 基于ISDAE的網絡結構Fig.1 Network structure based on ISDAE
在訓練網絡模型時, 先將輸入數據經過加污染插入噪聲處理, 并通過持續不斷地重復受限擬牛頓法的迭代步驟處理網絡得到網絡權值Wi, 從而得到隱藏層的輸入數據. 數據依次經過網絡, 最終被抽象表示為隱藏單元的輸出y, 將y作為softmax分類器的輸入, 得到具有數字標簽能力的參數y; 將部分輸入數據的標簽實際值與分類輸出結果進行比較, 對分類錯誤的數值進行逆變化傳播給編碼層, 微調整個網絡模型, 從而迭代優化整個網絡的參數, 最終獲得改進的稀疏降噪自編碼特征提取模型, 并將該模型應用于三維模型特征提取和識別.


圖2 由PSB數據庫中三維模型庫隨機選取的數據集Fig.2 Random selection of data sets from 3D model base in PSB database
對三維模型進行預處理, 將每個模型進行平移、 縮放和旋轉變換, 并提取模型的三視圖投影, 即正視圖、 側視圖和俯視圖, 如圖3所示.圖4為在ISDAE模型中加入少量噪聲后, 利用自編碼重構原理訓練學習得到隱藏層的網絡參數權值的可視化表示.

圖3 提取的三維模型三視圖Fig.3 Three views of extracted 3D model

圖4 特征的可視化表示Fig.4 Visual representation of features

圖5 3種算法的參數優化性能比較Fig.5 Comparison of parameters optimization performance of three algorithms
在相同條件下, 用ISDAE模型選擇隨機梯度下降法、 受限的擬牛頓法和共軛梯度法, 對3種算法中JISDAE和W的優化性能進行比較, 結果如圖5所示. 由圖5可見, 本文的受限擬牛頓算法優于其他兩種算法.
在分類實驗中, 采用棧式自編碼神經網絡(SAE)[12]、 自學習神經網絡(SL)[14]和改進的稀疏降噪自編碼神經網絡(ISDAE)3種方法, 比較這3種方法對三維模型的識別率.圖6為不同隱藏層節點數目對網絡系統的三維模型識別性能的比較結果. 其中, 網絡模型為采用6類數據集, 經過20次實驗取得的均值. 由圖6可見, 隨著隱藏層節點數的不斷降低, 三維模型識別性能呈上升趨勢, 當隱藏層節點數為400時, 性能最優.
圖7為3種方法分別對6類和9類模型, 采用正視圖(A)和三視圖(B)時的分類平均識別率比較結果. 其中, 各網絡模型的輸入單元神經元數量為729, 輸出單元神經元數量為2 116, 隱藏層神經元數量均為400. 由圖7可見: 當有少量樣本時, 三視圖比正視圖各算法識別率均增加約3%; 隨著樣本數量的增加, ISDAE識別率差別較小, 有較強的去噪能力. 因此, 該模型對低質量的數據有一定的泛化能力和魯棒性.

圖6 隱藏節點數對三維模型識別性能的影響Fig.6 Influence of number of hidden nodes on recognition performance of 3D model

圖7 不同算法對三維模型的識別性能Fig.7 Recognition performance of 3D model by different algorithms
圖8為分別采用本文三視圖方法(A)、 形狀分布方法(SD64)[15](B)和表面體素化球面調和方法(SHV_8_32_F)[16](C)提取三維模型的特征, 并利用ISDAE,SAE和SL模型平均識別率的比較結果. 由圖8可見, 本文方法在識別率上明顯高于其他兩種特征提取方法.

圖8 不同數據預處理方法對三維模型的識別性能Fig.8 Recognition performance of 3D model by different data preprocessing methods
綜上所述, 本文采用改進的稀疏降噪自編碼構建深度網絡模型, 使用無監督貪婪預訓練及受限的擬牛頓法計算方法對自編碼神經網絡進行處理, 用得到的特征采用softmax回歸訓練最終的softmax分類器, 最后應用在三維模型識別上, 取得了較好的分類效果.