黃 強,王永雄
(上海理工大學 光電信息與計算機工程學院,上海 200093) E-mail :channhuang@163.com
3D物體識別是機器視覺、計算機圖形學等的主要研究方向之一,也是自然場景理解最具挑戰性的任務之一.在圖像處理中,二維圖像被離散化為多個像素點.3D模型的處理與之類似,被離散化為多個三維體素(volume pixel)點.3D模型分類的重點是提取三維結構的內部特征.近年來,不同的特征描述方法相繼被提出,例如幾何特征[1]、拓撲特征[2]、部分級特征[3]等.也有很多研究者利用不同的深度學習網絡自動提取3D模型的立體特征[4-8],并進行分類和檢索,取得了一些成果,如深度卷積網絡[9]、深度玻爾茲曼機[10]、深度自編碼器[11]、深度殘差網絡[12]等.Charles等人[13]提出了基于3D點云圖的深度網絡結構,用于3D物體識別.Xie等人[14]提出了一種基于深度卷積能量模型的3D特征提取的網絡,使用的綜合分析方法可以合成三維圖形.這些方法大都是沿用圖像特征提取的方法,使用更復雜的網絡直接提取3D特征.
另一種思路是將一個3D模型看作是一系列2D圖像的集合,這些圖像是3D模型在不同視角下的投影圖.Cyr和Kimia[15]利用多視角投影提取了3D模型的特征和姿態.Chen等人[16]提出了用2D投影的輪廓描述3D模型特征的LFD算法.Xie等人[17]進一步提出了基于多視角3D模型的MVD-ELM算法,在3D模型分類中引入了超限學習機(ELM)[18]網絡.Wang等人[19]提出了CAE-ELM算法,將自編碼器和ELM結合應用于3D特征學習上.這些方法取得了一定的突破,但是3D物體識別的準確率和實時性仍然有待提高.
近年來,ELM[18]受到了廣泛的關注.ELM不會陷入局部最優、不用考慮學習率、訓練速度快、網絡結構簡單穩定等優點使其成為研究的熱點之一.Huang等人[20]結合卷積神經網絡和ELM提出了基于超限學習機的局部感知域(LRF-ELM),在圖像分類上取得了新的突破,并且其訓練時間相比于其它深度學習方法減少了3個數量級.不過ELM網絡在很多實際應用中的準確率不如深度學習的方法,但是ELM作為分類層卻能取得很好的效果.
殘差網絡(ResNet)[21]在很多大規模圖像數據集的分類中表現優異.它能使一百多層的網絡結構依然保持很高的準確率而不退化,得益于網絡層之間大量恒等映射的快捷連接.
本文嘗試將改進的殘差單元和ELM網絡進行結合,用于3D物體識別.殘差單元利用恒等映射將優化目標變成一個個容易優化的函數.基本的殘差單元都是兩個或三個卷積核加上一個恒等映射的快捷連接.對于層數較少的網絡,這樣會導致待優化的函數具有一定的局限性.在實驗中,我們以一種規范的方式依次增加基本殘差單元的映射通道數,尋找到最佳的網絡結構.這種新的網絡單元稱之為融合卷積單元.融合卷積單元包含多個和恒等映射并行的卷積層、mask層和池化層(如圖4、圖6所示).它的卷積通道數可以變化,增加的通道上的卷積個數依次增加.多個不同的融合卷積單元組成的融合卷積網絡和ELM網絡結合得到了一種新型的網絡結構,本文稱之為基于超限學習機的融合卷積網絡(CCN-ELM).
本文提出的方法的主要特點有:
·CCN-ELM的輸入為3D模型的多視角圖像,對于每一個投影圖通道(維度),它們的卷積參數共享.
·一個3D模型的所有視角圖像經過不同的旋轉、平移等仿射變換可以產生一個新的訓練樣本.本文使用這種方式將訓練數據擴充了一倍.
·CCN-ELM的基本網絡框架是多層ELM,但是它不同于傳統的ELM.其一半的網絡參數是以高斯分布隨機產生,另一半的參數則通過在稀疏矩陣上疊加噪聲來尋優的方式獲得.實驗顯示,這種半隨機的ELM網絡的效果更好.
·針對殘差網絡單元擬合能力不足的問題,提出的融合卷積單元改進了殘差項函數的形式,使其能擬合更復雜的非線性函數,增加了低層網絡的特征提取能力.同時網絡結構更加規范,多通道之間的卷積沒有互連,降低了網絡的耦合度.
·通過高斯分布產生的卷積核參數經過了歸一化處理,給隱含層通道的特征提取帶來了好處,也降低了特征擴散的風險.
·在卷積層和池化層之間增加了mask層,可以過濾背景和一些干擾特征,起到非極大值抑制的作用.
這種網絡結構不僅準確率高,而且速度快、易于實現,其識別3D物體的過程如圖1所示.
本文使用Princeton ModelNet[9]中的3D模型作為網絡的輸入.因為一般的卷積網絡更適合處理二維的圖像和形狀,所以我們并不是直接在3D模型上進行操作,而是先獲得其在多個視角下的投影圖,再將投影圖的集合輸入到網絡中.
輸入層.利用MVD-ELM[17]中的方法,使用OpenGL打開3D模型的.off文件.以模型的中心為中心點,構造一個正多面體,在多面體的頂點處對3D模型進行投影.不同的投影點(視角)可以得到不同的投影圖,如圖2所示.假設投影點個數為D,則對于每一個3D模型,它都可以用D個圖像(分辨率為d×d)的集合來表示.每一個3D模型都可以表示成d×d×D的三維視圖.對于每一個投影圖像,我們另構造了一個mask圖像,它是原圖劃去了背景和不相關元素后的二值圖像.Mask圖像用于卷積層和池化層之間的mask層.

圖1 CCN-ELM網絡識別3D物體的過程Fig.1 Prediction process of our CCN-ELM framework for 3D object recognition

圖2 從多個視角得到3D模型的不同投影圖Fig.2 A series of 2D depth images are captured from the 3D object with different viewpoints
超限學習機(ELM)網絡是一種單隱層前饋神經網絡.不同于其它的反向傳播、權值迭代調整的神經網絡,ELM網絡的輸入層和隱含層之間的權值全部隨機產生,并且不需要調整.隱含層和輸出層之間的權值滿足方程Hβ=T,H為特征矩陣,T為標簽矩陣,訓練過程為求解參數β.
ELM特征映射.給定一個輸入數據集x∈RN,ELM的輸出可以表示為:
(1)
其中,h(x)=[h(x1),…,h(xN)]T(N為訓練樣本的數量),是隱含層的輸出矩陣.β=[β1,…,βN]是隱含層和輸出層之間的權值矩陣.h可以是任意操作的疊加(如全連接、卷積、池化、激活等),稱為x的特征映射.β是待訓練的權值(不考慮偏置).在ELM網絡里,h中的參數都是以某種連續的分布隨機產生的,并且在訓練和預測時保持不變,只需要訓練和求解分類層的β.
ELM學習.ELM學習是一種監督式學習.在ModelNet-10 數據集中,每一個輸入模型對應一個標簽類別,分別編號為1,…,10,可以得到一個標簽矩陣T∈RN×10.T的每一行表示一個訓練樣本的期望輸出,這一行中,標簽編號對應的列值為1,其余列值為-1.把構造的映射h記作H∈RN×m(m是分類層神經元的數量),它是樣本的特征矩陣.網絡的優化目標是最小化權值和訓練誤差:
min C‖Hβ-T‖2+‖β‖2
(2)
其中,Hβ是實際輸出,T是期望輸出,C是正則化參數,由經驗給出.
根據M-P廣義逆和嶺回歸理論,最優的β∈Rm×10可以由(3)式[22]得出:
(3)
其中,I是與HHT或HTH相同大小的單位矩陣.
得到β后,網絡模型就可以進行預測.將測試集加入模型中,經過融合卷積網絡提取特征后得到預測數據的特征矩陣H′∈Rn×m(n表示測試樣本的數量),計算T′=H′β.T′的每一行表示一個樣本的輸出,找出每一行中的最大值,其對應的列即為預測的輸出類別,預測過程如圖1所示.
Local Receptive Field based ELM (LRF-ELM).Huang等人[20]在ELM的基礎上進一步提出了基于超限學習機的局部感知域(LRF-ELM),將全連接特征映射層替換為局部感知域,由卷積層和池化層組成.卷積核參數也是以某種連續的分布隨機產生.與其它的深度模型一樣,多層LRF-ELM也被用于特征學習.它的優點是只訓練和優化最后一個全連接層,因此訓練速度很快.本文提出的模型也是基于LRF-ELM,但使用的是一種新的特征提取的網絡結構,并且只隨機產生一半的網絡參數,另一半參數則通過構造稀疏矩陣并加入高斯噪聲尋優的方法獲得.
雖然ELM網絡結構只訓練迭代一次,但是當網絡層數和訓練樣本數較多時,內存的開銷也隨之增大.因此需要合理地設計網絡結構,以滿足實際應用.
殘差網絡在2015年的ILSVRC、ImageNet、COCO等計算機圖像識別任務中取得了最好的成績,并且它將深度學習的網絡結構最多增加到了1000多層.殘差網絡由大量殘差單元組成,殘差單元包含2個或3個小卷積核和恒等映射的連接.這種方式使得網絡隨著深度的增加而不退化,在一定程度上解決了梯度爆炸的問題.同時這也反映了多層非線性網絡無法逼近多個恒等映射.
典型的殘差單元結構如圖3所示.它有2層,卷積層表達式為F=W2σ(W1x)(σ表示非線性函數RELU,下同),W1和W2表示卷積操作.它并聯一個恒等映射的快捷連接(shortcut),得到y=F(x,{Wi})+x,經過第二個函數得到輸出σ(y).實驗顯示,在深度網絡中,優化殘差函數更加容易.增加恒等映射的快捷連接,使得網絡可以以殘差來訓練參數,在不增加復雜度的情況下,顯著地提升了網絡的性能.

圖3 殘差單元Fig.3 A residual unit
殘差網絡的思想是忽略相同的主體部分,從而突出微小的變化.引入殘差后的映射對輸出的變化更加敏感.
針對低層殘差網絡擬合能力不足的問題,本文提出了一種改進的融合卷積網絡.融合卷積網絡由融合卷積單元(Coalesce Convolution Block)組成.融合卷積單元包含幾個和恒等映射并聯的卷積層、mask層、池化層和激活函數等(如圖6所示).融合卷積單元的通道個數表示單元的大小,每個通道上的卷積核個數恒定,增加的通道的卷積核個數依次增加.這樣做的好處是網絡可以以較少的層數獲得深度殘差網絡的特征提取的能力,而且網絡并行計算的效率更高.它也不同于Christian等人[23]提出的Inception-ResNet網絡,直接在Inception網絡中加入殘差項.融合卷積網絡更加規范和簡潔,不同通道之間的卷積沒有互連,減少了參數耦合.
假設期望的最優映射為H(x),待優化的殘差映射為F(x)=H(x)-x.則.不同大小的融合卷積單元的F(x)的數學形式也不同.以4通道融合卷積單元為例,其卷積網絡如圖4所示.圖4中各通道輸出分別為:
F1=W11x,F2=W22σ(W21x),F3=W33σ(W32σ(W31x)),F4=W44σ(W43σ(W42σ(W41x))),F(x)=F1+F2+F3+F4.
對于k通道的融合卷積單元:
(4)
輸出g(x)=σ(F(x)+x),加上mask層和池化層,構成一個融合卷積單元(如圖6所示).這種函數大大增強了網絡對殘差項的擬合能力.本文測試了不同通道數的融合卷積單元組合而成的網絡,證明了這種網絡的優越性.

圖4 4通道卷積網絡Fig.4 4-channels convolution network
本文引入了CCN-ELM網絡,進行3D物體的特征提取和分類.CCN-ELM識別3D模型的網絡框架如圖5所示.一個3D模型表示為d×d×D的三維數據(d為分辨率).輸入共有D×N張圖片(N為樣本數,D為投影視角數).每個3D模型有D個通道,每個通道中包含多層融合卷積單元.提取所有視角圖的特征后,由半隨機的ELM分類層進行輸出.

圖5 CCN-ELM識別3D物體的網絡結構Fig.5 Architecture of CCN-ELM for 3D object recongnition
由2.1節知,可以利用OpenGL將3D物體表示為多視角下的二維投影圖像的集合,同時可以得到對應的mask圖像集.設訓練集的樣本個數為.給訓練集中的每個3D模型的所有投影圖像和mask圖像分別做旋轉、平移、翻轉仿射變換(不同投影圖像旋轉不同的角度),新的圖像集也可以表示一個對應的3D模型.得到輸入網絡的訓練數據大小為d×d×D×2N.Mask圖像的處理與之相同.
CCN-ELM網絡基于三點考慮:
1)同一個融合卷積單元里,相同大小的卷積核參數共享;
2)網絡中一半的卷積核參數由高斯分布隨機產生,另一半則通過構造稀疏矩陣加高斯白噪聲尋優的方法獲得;
3)多層融合卷積網絡提取特征,ELM層分類.
CCN-ELM的訓練過程分為兩步:融合卷積網絡提取特征,ELM網絡進行矩陣運算訓練分類層參數.CCN-ELM詳細的網絡結構如圖6所示.


(a) Coalesce convolutional network based ELM (b) k-channels coalesce convolution block (CCB)
圖6 CCN-EM網絡圖和CCB結構圖
Fig.6 CCN-ELM network and CCB structure
圖6中,左圖的Random CCB為隨機融合卷積單元,這個單元里的所有卷積核參數均隨機產生并經過了歸一化;Sparse CCB為稀疏融合卷積單元,這個單元里的卷積核由稀疏矩陣加高斯白噪聲尋優的方法獲得.圖6中的右圖為包含多通道卷積層、mask層和池化層的CCB結構.
每一個輸入模型對應一個類別標簽,可分別編號為1,…,L,樣本數為N(已擴充數據個數,區別于3.1節中的N),可以得到一個標簽矩陣T∈RN*L.T的每一行表示一個訓練樣本的期望輸出,行中標簽編號對應的列值為1,其余列值為-1.
對于每個輸入圖像,假設CCN-ELM有K層,則第i層包含2i(i=1,…,K)個融合卷積單元.它以i-1層的輸出映射作為輸入.在第i層中,有2i-1個random CCB和2i-1個sparse CCB,如圖6中左圖所示.它們之間僅僅卷積核參數不同,一個隨機產生,一個固定參數,其余的結構和參數一致.
random CCB的所有卷積核參數隨機產生,并進行歸一化.設某個卷積核大小為×t,卷積核參數由(5)、(6)式產生:
W(i,j)=rand(0,1),i=1,…,;j=1,…,t
(5)
(6)
假設sparse CCB中的某個卷積核大小為c×c.先將它初始化為的矩陣rand(0,1)×I(I為c×c大小的單位矩陣或者更稀疏的矩陣),再在卷積核的數值上加入高斯白噪聲,加入網絡中,進行一定次數的迭代尋優之后,將卷積核固定,后面的測試訓練不再改變.這種操作可以增強網絡的稀疏性,使其只對關鍵特征敏感.
在同一個融合卷積單元里,所有相同大小的卷積核參數共享.
經過多個通道的卷積操作和RELU激活之后,可以得到卷積層輸出g(x)=σ(F(x)+x),設為Gp,q.
Mask層的計算為:
(7)

在ELM分類層中,將所有的特征矩陣合并為一個行向量,假設大小為1×n.D個投影圖的特征向量則為1×m(m=D×n).若訓練數據數量為N,可以得到特征矩陣H∈RN×m.標簽矩陣T∈RN×L,再由(3)式可以求得分類層的參數β.將測試集數據進行投影預處理后輸入到模型中,就可以預測樣本的類別.
本文在普林斯頓3D模型數據集ModelNet和圖像分類數據集NORB上驗證了CCN-ELM的性能,并和當前其他的先進方法進行了比較.ModelNet10和ModelNet40是目前廣泛使用的ModelNet的兩個子數據集.ModelNet10 數據集由4,899個3D CAD模型組成,共10個類別,包含3,991個訓練數據和908個測試數據.ModelNet40 數據集由12,311個3D CAD模型組成,共40個類別,包含9,843個訓練數據和2,468個測試數據.這些模型包含了常見的家具,交通工具,樂器,電子產品等.
本文利用MATLAB 2016a實現CCN-ELM網絡.它運行在Intel(R) Xeon E5-1620 3.5GHz CPU 32G RAM的計算機上.對于3D物體模型的多視角投影操作,本文在QT5.11和OpenGL中實現.
本文分別測試了三、四、五、六層包含1、2、3、4通道融合卷積單元的網絡結構,投影視角數=6 ,正則化參數=0.015.融合卷積單元中的卷積核大小如表1所示.

表1 不同通道的CCB中卷積核的大小Table 1 Size of convolution kernel of different channels of CCB
融合卷積單元中的池化均為2*2均值池化.Sparse CCB中的效果較好的3*3卷積核參數為[-0.38,0,0;0,0.35,0;0,0,0.5],1*1卷積核參數可以隨機產生,對識別率影響很小.
在官網上下載的數據集中,ModelNet10已經經過了手動調整位置和方向,ModelNet40則沒有.受計算機內存的限制,這里只給ModelNet10中的訓練數據做了仿射變換以擴充數據.ModelNet10訓練集輸入數據大小為128×128×6×7982,ModelNet40為128×128×6×9843.
Xie等人[17]提出的MVD-ELM也是利用卷積神經網絡和ELM網絡識別3D模型,他們的論文中對ModelNet10數據集識別的準確率為88.99%,我們復現他們的方法后得到的準確率為87%.Arvind等人[12]提出的用于3D物體識別的深度殘差網絡,在ModelNet40中的識別率為86.5%,我們復現后得到的準確率為85.8%.

表2 不同通道數的CCN-ELM在ModelNet10中的準確率Table 2 CCN-ELM recognition accuracy of different channels on the ModelNet10 dataset

表3 不同算法在ModelNet10和ModelNet40中的準確率(表中第二行表示算法訓練時間)Table 3 Recognition accuracy of different methods on the ModelNet10 and ModelNet40 datasets
對于提出的網絡模型,全部使用融合卷積單元和部分組合融合卷積單元均在ModelNet10上取得了90%以上的準確率,最高達到了92.86%,在ModelNet40中的識別率最高達到了88.67%.實驗顯示,CCN-ELM網絡相比現有的卷積神經網絡和深度殘差網絡效果更好,而且訓練時間更短.不同通道數對應的測試結果如表2所示(6層融合卷積網絡).由實驗結果可知,通道數越多,識別效果越好.CCN-ELM的實驗結果和其他算法的結果比較如表3所示.
為了進一步驗證CCN-ELM的性能.本文在NORB數據集上也進行了測試.NORB數據集包含24300張圖片.它是3D物體的圖像識別數據集.拍攝者從不同的角度對5大類別(4條腿的動物、人像、飛機、卡車、小汽車)中的模型進行圖像拍攝.拍攝采用了2個照相機,6 種不同的光照條件,9個特定的拍攝角度,18個仰角.每張樣本圖片經過鏡像變換擴充為兩張圖片.每張圖片經過了壓縮,分辨率為32×32.本文使用6層4通道的CCN-ELM網絡,識別的準確率達到了96.32%.本文的方法和其他方法的實驗結果比較如表4所示.CCN-ELM網絡在NORB上的表現也優于其他的網絡.

表4 不同算法在NORB中的準確率Table 4 Recognition accuracy results of different methods on the NORB dataset
本文提出了一種新型的結合超限學習機和融合卷積網絡的模型,并在3D物體識別中取得了很好的效果.CCN-ELM網絡以多視角的3D投影圖作為輸入,經過多層融合卷積網絡和ELM網絡,預測物體的類別.提出的融合卷積單元能擬合更復雜的非線性殘差項函數,增加了低層網絡的特征表達能力,同時網絡結構更加規范和簡潔,便于優化和訓練.實驗顯示,CCN-ELM的準確率和訓練時間均優于其它常用的網絡模型,并且它的結構更易于實現.較快的訓練和測試速度,使它能應用于實時3D物體識別中.
受計算機硬件的限制,使用的3D物體投影個數和網絡的并行映射通道數較少,網絡層數也較少.今后將研究更深層、更多通道的融合卷積網絡,以獲得更好的結果.