董 帥,李文生,張文強(qiáng),鄒 昆
(電子科技大學(xué)中山學(xué)院 廣東 中山 528406)
近5 年,基于深度學(xué)習(xí)的計(jì)算機(jī)視覺技術(shù)[1]飛速發(fā)展,已廣泛應(yīng)用于智能安防和無人駕駛等多個(gè)領(lǐng)域。在大規(guī)模目標(biāo)數(shù)據(jù)集中,針對具體的識(shí)別或檢測任務(wù),深層卷積網(wǎng)絡(luò)可以通過端對端的方式自適應(yīng)地學(xué)習(xí)如何從輸入數(shù)據(jù)中提取和抽象特征,以及如何基于該特征進(jìn)行決策。深層卷積網(wǎng)絡(luò)既可作為圖像特征提取和分類操作的統(tǒng)一體,又可以只作為特征提取網(wǎng)絡(luò)供實(shí)例檢索任務(wù)使用[2-3]。目前大多數(shù)基于深度學(xué)習(xí)的圖像分類網(wǎng)絡(luò)和目標(biāo)檢測框架都是針對二維圖像提出的,但隨著深度學(xué)習(xí)逐步應(yīng)用到機(jī)器人導(dǎo)航和無人超市等領(lǐng)域,三維物體的識(shí)別技術(shù)也逐漸得到了研究人員的廣泛關(guān)注。與二維圖像相比,三維物體識(shí)別的難點(diǎn)在于,同一物體的不同側(cè)面可能存在較大差異,從不同角度觀察會(huì)呈現(xiàn)出不同的形態(tài),而不同物體在某個(gè)側(cè)面上的差異可能很小,甚至呈現(xiàn)出相同的形態(tài)。這使得直接使用單視圖(即二維圖像或投影)分類網(wǎng)絡(luò)的識(shí)別效果較差。
在深度學(xué)習(xí)受到廣泛關(guān)注之前,有許多學(xué)者采用了SURF 等傳統(tǒng)幾何方法[4-7]對三維物體的識(shí)別技術(shù)進(jìn)行了探索,取得了一定的成果,但這類方法的魯棒性和泛化能力較差。近幾年,研究者逐漸將深度學(xué)習(xí)推廣到三維物體識(shí)別領(lǐng)域,提出了多種方法。這些方法可以大致分為兩類:基于三維數(shù)據(jù)表示的方法和基于多視圖表示的方法。文獻(xiàn)[8]提出了基于體素網(wǎng)格和三維卷積的VoxelNet,該網(wǎng)絡(luò)是二維平面卷積到三維空間卷積的直接推廣,由于計(jì)算量過大,輸入模型的體素分辨率一般較低,進(jìn)而導(dǎo)致識(shí)別精度也較低。文獻(xiàn)[9-10]提出了針對三維點(diǎn)云的PointNet 及后續(xù)的一系列方法,這些方法基于點(diǎn)云的無序性提出多種非歐卷積網(wǎng)絡(luò)[11-12],具有較大的影響力,但同樣存在計(jì)算量大和訓(xùn)練困難的問題。文獻(xiàn)[13]提出了基于SSD 的6 維位姿估計(jì)目標(biāo)檢測框架,開創(chuàng)性地將位姿估計(jì)和目標(biāo)檢測二者結(jié)合,具有啟發(fā)性。文獻(xiàn)[14]提出了基于深度霍夫投票的3D 目標(biāo)檢測框架VoteNet,該框架主要用于場景的識(shí)別,未關(guān)注單個(gè)實(shí)例的分類和檢索問題。文獻(xiàn)[15]提出的基于多視圖的卷積神經(jīng)網(wǎng)絡(luò)(MVCNN),與基于三維數(shù)據(jù)的方法并行。MVCNN 在分類和檢索任務(wù)上的表現(xiàn)均優(yōu)于基于三維數(shù)據(jù)的識(shí)別方法。在文獻(xiàn)[16]中,對MVCNN、PointNet++和VoxelNet 等多種方法進(jìn)行對比,并指出多視圖方法的優(yōu)異表現(xiàn)主要得益于龐大的二維圖像數(shù)據(jù)集。但MVCNN 存在兩個(gè)方面的不足:1)依賴于精確的3D 模型,且采用了固定視角的視圖,這并不符合真實(shí)的應(yīng)用場景,導(dǎo)致算法泛化能力不足;2) 采用了最大值池化操作來對多視圖進(jìn)行融合,融合后的特征會(huì)損失大量信息。
針對MVCNN 存在的問題,本文提出了一種基于MVRNN 的三維物體識(shí)別方法。首先,設(shè)計(jì)了一個(gè)包含特征辨識(shí)度指標(biāo)的目標(biāo)函數(shù)用于訓(xùn)練網(wǎng)絡(luò),能夠得到辨識(shí)度更高的物體單視圖特征和融合特征;其次,使用循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)對多個(gè)視圖特征進(jìn)行融合,得到一個(gè)更加緊湊且包含更豐富信息的融合特征作為物體的注冊特征;最后,利用單視圖特征對注冊特征進(jìn)行檢索。與MVCNN 相比,MVRNN 存在以下優(yōu)點(diǎn):1)不依賴于3D 模型,在實(shí)際應(yīng)用中,只需要采集2D 圖片提取特征并進(jìn)行融合;2)對視圖的視角和數(shù)量沒有要求,對不同視圖的特征信息利用更充分;3)利用循環(huán)結(jié)構(gòu)網(wǎng)絡(luò)進(jìn)行特征融合,兼具緊湊性和完備性。
PASCAL3D+和Tsukuba 等公開三維數(shù)據(jù)集主要針對三維模型的分類,并不適用于多視圖的識(shí)別場景。文獻(xiàn)[15]基于ModelNet 建立了多視圖的數(shù)據(jù)集,但只采用了圖1 所示的12 個(gè)固定位置和視角,并不完全符合實(shí)際應(yīng)用的場景。為了充分展現(xiàn)MVRNN 的優(yōu)點(diǎn),本文自建數(shù)據(jù)集MV3D (multiview 3D)用于對比試驗(yàn)。
MV3D 采用Unity 軟件制作,將三維模導(dǎo)入軟件,并在Camera 的視場中隨機(jī)平移和旋轉(zhuǎn)模型,得到二維視圖。該數(shù)據(jù)集共有95 個(gè)三維物體模型,每個(gè)物體包括100 個(gè)二維視圖。物體模型較ModelNet 更加精致,紋理也更加豐富。該數(shù)據(jù)集中存在一些在不同視角角度下外觀差異較大的物體,以及一些屬于不同類別但在某些視角下形態(tài)十分相近的物體。圖2 展示了該數(shù)據(jù)集中的部分樣本。
在MVCNN 中, F(·)采用了簡單的最大值池化;此外, F(·)還可采用均值池化和直接拼接等實(shí)現(xiàn)方法。本文利用RNN 代替最大值池化實(shí)現(xiàn)特征融合,此即為MVRNN 的由來。
由于多個(gè)模塊同時(shí)訓(xùn)練難度較大,整個(gè)框架采用分步訓(xùn)練的策略:1) 訓(xùn)練分類分支 E(·)和 C1(·),固化 E(·)并提取單視圖特征;2)訓(xùn)練分類分支F(·)和 C2(·), 固化 F(·)計(jì)算融合特征;3)訓(xùn)練二分類網(wǎng)絡(luò) M(·)。 C1(·)和 C2(·)只 用于 E(·)和 F(·)的訓(xùn)練,并不直接參與預(yù)測。
與MVCNN 一樣,在MVRNN 中 E(·)和 C1(·)直接采用了ResNet-18[17]的結(jié)構(gòu),并加載了預(yù)訓(xùn)練的參數(shù)進(jìn)行微調(diào)。輸入圖片尺寸為224*224,輸出特征長度為512。訓(xùn)練時(shí),采用的損失函數(shù)為:
特征融合網(wǎng)絡(luò)的作用是對多個(gè)視圖特征進(jìn)行融合,得到一個(gè)能夠完整描述物體形狀和紋理信息的特征。本節(jié)借鑒視頻分析方法,采用RNN 來融合特征,其結(jié)構(gòu)如圖4 所示。物體的多個(gè)視圖在時(shí)間上無相關(guān)性,但在空間上是關(guān)聯(lián)的,因此能夠借助RNN 的記憶能力來融合特征。
F(·)網(wǎng)絡(luò)采用圖5 所示的結(jié)構(gòu),每個(gè)循環(huán)體中包括線性全連接層(full connection, FC)和雙曲正切單元Tanh,最后的分類層 C2(·)包括了線性全連接FC 和Softmax 操作,全連接層神經(jīng)元數(shù)量均為1 024,融合后特征長度為512。 F(·)循環(huán)體的數(shù)量可以隨輸入視圖的數(shù)量變化,即輸入視圖數(shù)量不固定。 F(·)的訓(xùn)練同樣采用了式(1)所示的損失函數(shù),λ 取0.01,μ取0。
相似度匹配模塊 M(·)是一個(gè)二分類模型,使用了三層的全連接神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),輸入由單視圖特征和融合后特征拼接而成,隱藏層由線性全連接、Batch Normalization 和ReLU 組成,輸出層由線性全連接FC 和Softmax 組成,隱藏層神經(jīng)元數(shù)量均為1 024,網(wǎng)絡(luò)結(jié)構(gòu)如圖6 所示。 F(·)的訓(xùn)練同樣采用了式(1)所示的損失函數(shù),其中,λ取0.000 5,μ取0。
特征融合是傳統(tǒng)機(jī)器學(xué)習(xí)中比較常用的手段,一般需要根據(jù)先驗(yàn)知識(shí)來提取不同類別的特征信息,并進(jìn)行協(xié)同決策。特征融合在深度學(xué)習(xí)領(lǐng)域也得到廣泛應(yīng)用,比如ResNet 的殘差模塊和DenseNet的跨層連接,都對不同層的特征進(jìn)行了融合。常見的特征融合方法包括直接拼接(concatenating)、堆疊(stacking)、相加(adding)、最大值池化(max-pooling)和均值池化(average-pooling)等。其中,堆疊可以看做是直接拼接的特例,相加則等效于均值池化。衡量特征融合方法的主要準(zhǔn)則有兩個(gè):1) 原始特征的信息是否會(huì)損失,即信息的完備性;2) 融合后特征是否便于后續(xù)計(jì)算,即特征的緊湊性,一般指融合特征的長度。此外,傳統(tǒng)機(jī)器學(xué)習(xí)的特征融合還比較注重被融合特征之間的差異性,差異越大則信息量越多,但該準(zhǔn)則對于本文所解決的問題并不適用。
對于三維物體的多視圖特征融合任務(wù)而言,直接拼接能夠保證信息的完備性,但融合后特征長度較大,會(huì)導(dǎo)致網(wǎng)絡(luò)規(guī)模較大,且訓(xùn)練難度增大;最大值池化和均值池化得到的特征比較緊湊,但會(huì)損失部分信息;而RNN 則兼具完備性和緊湊性。幾種方法得到的融合特征長度比較直觀,直接拼接方法的完備性也是毋庸諱言。
為了對比兩種池化方法和RNN 的完備性,本節(jié)設(shè)計(jì)了一個(gè)比較極端的二維特征融合任務(wù),對比結(jié)果如圖7~圖10 所示。圖7 包含10 個(gè)物體的不同視圖特征,每條曲線表示一個(gè)物體,曲線上的點(diǎn)表示不同視圖的特征。特征空間可以分為左上、左下、右上和右下4 個(gè)子空間,子空間內(nèi)的物體特征存在較大的相似性。從每條曲線隨機(jī)抽取5 個(gè)點(diǎn)進(jìn)行融合,重復(fù)得到融合特征的分布。最大值池化的結(jié)果如圖8 所示,其中,左下兩個(gè)物體特征出現(xiàn)了重疊,右上的類似。均值池化的結(jié)果則是左上和右下的物體特征出現(xiàn)重疊,具體如圖9 所示。RNN采用了單隱含層10 神經(jīng)元的全連接網(wǎng)絡(luò),其融合結(jié)果如圖10 所示。RNN 引入了新的網(wǎng)絡(luò)層將特征映射至新的空間,10 個(gè)物體被有效區(qū)分。
為了說明MVRNN 在融合多視圖特征上的優(yōu)越性,本節(jié)在ModelNet 數(shù)據(jù)集[15]和自建數(shù)據(jù)集MV3D 上進(jìn)行了多組對比分析。
從ModelNet 數(shù)據(jù)集隨機(jī)抽取4 000 個(gè)物體,每個(gè)物體分別抽取6 張和12 張視圖,按照6:1:3 的比例劃分訓(xùn)練集、驗(yàn)證集和測試集。MVCNN 和MVRNN 在融合特征分類任務(wù)和實(shí)例檢索任務(wù)上的性能如表1 所示。從表1 可以看出,相較于MVCNN,MVRNN 在分類任務(wù)上有一定的提升,且融合的視圖越多,二者的準(zhǔn)確率都有提升;在檢索任務(wù)上,MVRNN 明顯優(yōu)于MVCNN;需要注意的是,隨著視圖的增多,MVCNN 檢索的準(zhǔn)確率會(huì)下降,這是由于ModelNet 數(shù)據(jù)集中模型本身都比較簡單粗糙,缺乏具有辨識(shí)度的紋理,最大值池化操作更容易丟失信息,圖片越多,更有可能導(dǎo)致部分關(guān)鍵信息的丟失。
表1 MVCNN 和MVRNN 準(zhǔn)確率對比(ModelNet)
由于ModelNet 數(shù)據(jù)集具有固定視角的限制,無法充分驗(yàn)證MVRNN 的性能。因此,本文利用Unity 3D 制作了MV3D 數(shù)據(jù)集,其中訓(xùn)練集包含65 個(gè)物體,測試集包含30 個(gè)物體,每個(gè)物體包含100 張視圖。數(shù)據(jù)集的設(shè)定如下:
1)訓(xùn)練特征提取網(wǎng)絡(luò)時(shí),訓(xùn)練集中所有的視圖(6 500 張)全部參與訓(xùn)練。
2)訓(xùn)練特征融合網(wǎng)絡(luò)時(shí),從每個(gè)物體隨機(jī)抽取6 個(gè)單視圖特征構(gòu)建六元組作為網(wǎng)絡(luò)輸入;訓(xùn)練集包含65 個(gè)物體,每個(gè)物體包含2 000 個(gè)六元組;測試集由同樣的65 個(gè)物體生成,每個(gè)物體包含500 個(gè)六元組。即訓(xùn)練樣本數(shù)量為130 000,測試樣本數(shù)量為32 500。
3)訓(xùn)練匹配網(wǎng)絡(luò)時(shí),從物體A 隨機(jī)抽取7 個(gè)單視圖特征A1~A7,從物體B 抽取1 個(gè)單視圖特征B1,構(gòu)建正負(fù)兩個(gè)七元組樣本作為網(wǎng)絡(luò)輸入,其中A1~A6 輸入特征融合網(wǎng)絡(luò)生成融合特征,A7 為檢索特征正樣本,B1 為檢索特征負(fù)樣本;訓(xùn)練集包含65 個(gè)物體,每個(gè)物體包含2 000 個(gè)七元組;測試集包含30 個(gè)物體,每個(gè)物體包含2 000個(gè)七元組。即訓(xùn)練樣本數(shù)量為130 000,測試樣本數(shù)量為60 000。
在MV3D 數(shù)據(jù)集上進(jìn)行7 種方法的對比測試,結(jié)果如表2 所示。實(shí)驗(yàn)的設(shè)定如下:1)基于單個(gè)視圖特征進(jìn)行分類和檢索;2)基于多個(gè)單視圖特征進(jìn)行單獨(dú)匹配,并取置信度最高的視圖作為最終匹配結(jié)果;3) MVCNN,即 F(·)為最大值池化;4) F(·)為 直 接 拼 接;5) F(·)為 均 值 池 化;6)MVRNN without Lrect; 7) MVRNN with Lrect。各組實(shí)驗(yàn)涉及到的卷積網(wǎng)絡(luò)和相似度匹配模型均采用同樣的結(jié)構(gòu),且所有模型均使用相同的訓(xùn)練方法和超參,batch_size 為50,采用Nesterov[18]梯度加速算法,初始學(xué)習(xí)率為10?2,穩(wěn)定后變?yōu)?0?3和10?4,動(dòng)量為0.9,dropout 概率[19]為0.3。 top 1_dst定義為在檢索正確的結(jié)果中,1.0 與最大相似度之間的平均距離,即則表示在檢索正確的結(jié)果中,最大與次大相似度之間的平均距離,即可以衡量特征辨識(shí)度的高低, top 2_dst越大,同時(shí)top1_dst越小,則該值越大,也說明特征的辨識(shí)度越高。
表2 MVRNN 性能對比(MV3D)
從表2 來看,MVRNN 準(zhǔn)確率最高,即使損失函數(shù)不考慮 Lrect項(xiàng),結(jié)果依然較其他方法好。最大值池化、均值池化和直接拼接3 種方式準(zhǔn)確率相近,為第2 梯隊(duì);只使用單視圖的兩種方法效果最差。
在目標(biāo)函數(shù)中增加 Lrect項(xiàng)后,MVRNN 在單視圖分類和融合特征檢索的準(zhǔn)確率上都得到了明顯提升,具體結(jié)果如表3 所示。結(jié)合表2 的特征辨識(shí)度指標(biāo)來看, Lrect能夠提升特征辨識(shí)度,進(jìn)而提升分類和檢索的準(zhǔn)確率。
表3 Lrect 效果對比
為了進(jìn)一步對比MVRNN 和MVCNN 的性能,本節(jié)對表2 中的實(shí)驗(yàn)3 和實(shí)驗(yàn)7 進(jìn)行擴(kuò)展,得到了視圖數(shù)量分別為2,4,6,8,10 時(shí),訓(xùn)練集物體數(shù)量為10,20,30,40,50,65 時(shí)的檢索準(zhǔn)確率,具體結(jié)果如圖11 所示。從圖中可以看出:1)隨著訓(xùn)練集物體數(shù)量的增加,檢索準(zhǔn)確率也不斷增加;2)在物體數(shù)量超過30 后,準(zhǔn)確率整體的提升幅度較小,物體數(shù)量為30 時(shí)對應(yīng)的訓(xùn)練樣本數(shù)量為60 000;3)MVRNN 整體準(zhǔn)確率較MVCNN 高約8%。
本文還基于MVRNN 開發(fā)了一個(gè)簡單的商品識(shí)別系統(tǒng)。該系統(tǒng)包括商品注冊和商品識(shí)別兩個(gè)模式,具體應(yīng)用如圖12 和圖13 所示。在注冊階段,采集商品實(shí)例的不同視圖,以提取視圖特征進(jìn)行融合,并對融合特征進(jìn)行注冊;在識(shí)別階段,則根據(jù)商品單視圖特征對融合特征進(jìn)行檢索。在100 種常見飲料食品類商品上進(jìn)行測試,注冊圖片不超過9 張,即可完成大部分商品實(shí)例的檢索,準(zhǔn)確率約為90%。
針對三維物體的分類和檢索問題,本文對MVCNN 進(jìn)行改進(jìn),提出了MVRNN。通過在損失函數(shù)中引入特征辨識(shí)度指標(biāo),能夠有效提升分類和檢索的準(zhǔn)確率;利用RNN 代替最大值池化操作,使得融合特征具有信息完備性。在ModelNet 數(shù)據(jù)集和MV3D 數(shù)據(jù)集上,MVRNN 的表現(xiàn)較MVCNN有了明顯提升。在未來的研究中,擬制作大規(guī)模商品數(shù)據(jù)集以開展MVRNN 的應(yīng)用研究;此外,將MVRNN 與SSD 等目標(biāo)檢測框架結(jié)合來估計(jì)物體的六維位姿也是一個(gè)比較有前景的方向。