?

動量更新與重構約束的限制視角下3D 物品識別

2023-11-29 04:20崔瑞博
關鍵詞:隊列類別物品

崔瑞博,王 峰

(華東師范大學 計算機科學與技術學院,上海 200062)

0 引 言

近年來,3D(three-dimensional)物品識別[1]受到了研究者的廣泛關注.盡管3D 模型可以從各個角度對物品進行全面的描述,但是在現有技術條件下,獲取3D 模型的成本比較昂貴.相對地,通過移動攝像頭拍攝的方式可以方便地獲取3D 物品多視角的圖像.因此,一些工作嘗試利用從不同角度獲取的一系列多視角圖像進行3D 物品識別.

文獻[2-5]通過分層聚合多視角2D(two-dimensional)圖像特征的方法進行3D 物品識別.Su 等[4]提出的MVCNN(multi-view convolutional neural networks)是首個聚合多視角2D 圖像特征進行3D 物品識別的神經網絡.與此相似,文獻[2-3,5]使用卷積神經網絡(convolutional neural networks,CNN)提取每個視角的特征,在聚合多視角特征的基礎上對其進行權重分配,取得了較好的分類效果.另一些工作,如文獻[6]使用循環神經網絡(recurrent neural networks,RNN)、文獻[7]使用圖卷積神經網絡(graph convolutional networks,GCN)對物品不同視角之間的序列關系進行建模,從而獲取全面的物品描述算子進行物品識別.但是這些方法在推理過程中需要全視角的物品圖像,這在大多數場景下難以滿足.還有一些工作,如文獻[2,8]可以在視角不全的情況下進行推理,但仍然需要全視角的圖像進行訓練.因此,基于監督的方法在實際應用時往往受到視角數量或者角度標簽的限制.

近年來,自監督學習(self-supervised learning,SSL)受到了研究者的重視.其可以在物品標簽缺失的情況下,通過設定的前置任務(pretext task)自動生成標簽對網絡進行訓練.Pulkit 等[9]提出的方法使用移動攝像頭從不同位置捕獲物品圖像,并且通過預測攝像頭的移動來學習視頻幀的時空一致性特征.Dinesh 等[10]提出的ShapeCode 模型,從單一視角重建視圖網格(view-grid)來探索物品不同視角之間的內在關系,進而學習物品表示(representation).Dahun 等[11]提出的方法將預測圖像塊之間的序列關系作為前置任務來學習物品表示.He 等[12]提出的方法使用ViT(vision transform)[13]技術將添補缺失的圖像塊作為前置任務進行網絡訓練.基于對比學習的工作,如文獻[14-16]將每個物品作為一類,通過對圖像進行變換來學習與圖像增強無關的物品表示.基于實例分類的工作,如文獻[17]將特征相似的物品當作一簇,然后通過非參數化的softmax 分類器進行物品分類.但是此類方法在訓練中需要存儲物品特征而消耗大量的計算資源.對于物品識別來說,上述方法專注于對單一視角的圖像進行特征提取,而忽略了多視角包含的信息.本文以同一物品不同視角的表示特征彼此接近為目標進行網絡訓練,以盡可能多地利用多視角信息.

在自監督學習的基礎上,一些工作使用多視角自監督學習(multi-view SSL,MVSSL)方法進行網絡訓練.Kanezaki 等[18]提出了旋轉網絡(RotationNet),將角度標簽當作潛變量,采用姿態對齊策略(pose alignment strategy)得到跨視角一致性的物品表示,并且可以在只有部分視角的情況下進行推理;但是該方法對訓練集中沒有出現過的類別識別準確率較低.Song 等[19]設計了基于顯著視圖選擇的神經網絡(unsupervised multi-view convolutional neural networks,UMCNN),其損失函數可以對網絡中兩個通道生成的分類結果進行一致性選擇,從而篩選出最優物品表示;但是該網絡在訓練時需要3D 數據作為輸入而難以實施.Ho 等[20]提出的VISPE(view invariant stochastic prototype embedding)方法,將隨機選擇視角與多視角一致性約束相結合來得到物品無關的表示特征;由于此方法在訓練過程中網絡參數更新是沒有控制的,所以該方法得到的物品無關表示不穩定,以致同類物品表示特征的相似度降低,導致識別準確率下降.

為解決上述問題,本文提出了一個新穎的結合動量更新表示和重構約束(momentum-updated representation with reconstruction constraint,MRRC)的神經網絡訓練框架.具體地,本文主要工作和創新點如下.

(1)提出了一個結合動量更新表示和重構約束的網絡訓練框架,用于3D 物品識別特征的提取.首先,該框架使用自監督學習方法,解決了在受限制的2D 視角下3D 物品識別的問題.該框架使用動量更新結合動態隊列(dynamic queue,DQ),來維持表示空間的穩定性.

(2)在自監督學習的基礎上使用自編碼器模塊提高網絡的表達能力.該框架添加的解碼網絡與編碼網絡組成自編碼器模塊.在訓練過程中,該模塊對網絡添加重構約束,使網絡學習到的特征包含更多的語義信息.

(3)提出了動態隊列遞減(dynamic queue reduction,DQR)訓練策略,以進一步提升網絡性能.該策略在訓練過程中通過清空隊列、縮減隊列長度與重新采樣的操作,解決因數據類別分布不均衡導致的準確度下降問題.

1 方 法

1.1 網絡訓練流程

1.2 動量更新表示

在Ho 等[20]提出的VISPE 方法中,對隨機選擇的視圖,通過網絡提取其特征輸出fθ(),使用fθ()替換公式(1)所示的softmax 函數的權重wi,計算出后驗概率

在訓練過程中,由于計算資源的限制,每次迭代只能使用小批次的樣本數據更新網絡參數.以此方法進行網絡訓練,網絡學習到的表示與在更廣泛的樣本空間中所學到的并不相同.另一方面,在對編碼網絡fθ進行更新的過程中,由于反向傳播會快速地更新網絡參數,使得網絡提取到的表示特征一致性降低.所以VISPE 方法得到的表示是不穩定的,最終導致了同一類物品提取到的表示在表示空間中相互遠離,使網絡識別性能下降.

為解決上述問題以得到穩定的物品表示,本文提出了基于動量更新表示(momentum-updated representation,MUR)的方法.首先,通過動態隊列(DQ)存儲大量的樣本,以構建穩定的更廣泛采樣的表示空間.如圖1 的區域(b)所示,在訓練過程中對隊列進行更新時,以批次大小為單位,先移除最早進入隊列的特征,然后對新選擇的數據進行特征提取,在移除其梯度信息后將其入隊列.其次,為了保持所得到的物品表示特征的一致性,本文使用動量更新的方法來減小訓練過程中網絡參數變化的不穩定性.如圖1 的區域(a)所示,先使用反向傳播的方法更新fθ,然后使用

圖1 動量更新表示與重構約束訓練框架Fig.1 Momentum-updated representation with reconstruction constraint training framework

本文使用噪聲對比估計(noise-contrastive estimation,NCE)損失函數

1.3 重構約束

式(3)所示的損失函數使不同類別物品的表示特征在表示空間中相互遠離.更進一步地,本文期望網絡提取的表示特征盡可能多地包含原始圖像的語義信息.受自編碼器的啟發,如圖1 的區域(d)所示,本文在編碼網絡后接入解碼網絡 D,組成一個自編碼器(auto-encoder,AE)模塊.該模塊生成的重構圖像與輸入圖像產生重構約束,使網絡學習到更具有語義信息的表示特征.

變分自編碼器[21](variational auto-encoder,VAE)是一種由編碼器和解碼器組成的無監督神經網絡.編碼器生成輸入圖像的高斯分布,解碼器從該分布中采樣變量還原出輸入圖像;此外,變分自編碼器可以通過改變采樣變量生成新圖像.

本文使用解碼網絡 D 來生成重構圖像,然后使用重構損失(reconstruction loss)來衡量重構圖像和輸入的原始圖像x之間的差異.相應公式為

如圖1 的區域(a)、區域(c)、區域(d)所示,對輸入的圖像,用N(μ,σ2)表示fθ()生成的均值為μ、方差為σ2的高斯分布.為防止網絡生成的分布過于稀疏化,使用KL 散度[22](Kullback-Leibler divergence)來約束N(μ,σ2)接近標準正態分布

在訓練過程中需要采樣出變量z,z~N(μ,σ2),其中~ 表示變量z服從高斯分布N(μ,σ2),將z輸入到解碼網絡 D 生成重構圖像.由于采樣過程不會記錄變量的梯度信息,導致無法使用反向傳播更新編碼網絡.因此,使用重參數技巧[23](reparameterization trick)來保留采樣過程中的梯度信息.如圖1的區域(c)所示,如果z滿足均值為μ、方差為σ2的高斯分布,可以使用式(6)所示的重參數技巧,將z表達為

其中,ζ是從N(0,1)中采樣得到的變量.最后,將變量z輸入解碼網絡 D,生成重構圖像

1.4 動態隊列遞減策略

在訓練過程中,由于數據分布不均衡,隊列中會存在大量與輸入數據真實類別相同的樣本(偽負樣本).在隊列更新的過程中,小量的出隊列和入隊列操作并不能有效地移除這些偽負樣本,導致網絡學習到的同類別物品表示的差異性增大.此外,在網絡訓練過程中,較長的隊列長度可以更好地保持表示空間的穩定性,而較短的隊列長度可以使同類物品特征更好的聚合.因此,如何更新隊列和設定隊列長度是一個需要考慮的問題.

為解決上述問題,本文提出了動態隊列遞減(DQR)策略,具體流程見算法1,即在訓練開始階段,設定較大的隊列長度來維持穩定的表示空間;在訓練達到T個回合之后,清空隊列以移除偽負樣本;之后重新隨機采樣不同視角的圖像,將編碼網絡提取到的視圖特征填充入隊列;在此過程中,減小隊列長度,使同類物品的表示特征更好地彼此接近.算法1 中,初始化后動態隊列Q為空,更新后的動態隊列為Qupdate.

1.5 損失函數

通過聯合式(3)中的NCE 損失、式(4)中的重構損失以及式(5)中的KL 散度損失,本文的最終損失函數公式為

其中,α和β是超參數.在每小批次的訓練迭代過程中,使用反向傳播來減小LMRRC的值進行網絡參數更新,并且通過動量更新方法對進行更新,同時對動態隊列進行更新.使用MRRC 框架,結合式(8)的損失函數訓練特征提取網絡fθ.在推理階段,將圖像輸入到fθ得到最終的表示特征,并將其用于下游分類或聚類任務.

2 實驗設置

2.1 實驗數據集

本文在2 個公開的多視角物品識別數據集ModelNet 和ShapeNet 上進行了實驗.

(1)數據集ModelNet[24]: 該數據集包含40 類生活中常見的物品.每個類別包含100 個CAD(computer aided design)模型,其中,80 個作為訓練集,20 個作為測試集.本文使用VISPE[20]中的物品類別劃分方案,即在訓練集中出現過的30 個類別作為Seen 類別,未在訓練集中出現的10 個類別作為Unseen 類別.

(2)數據集ShapeNet[25]: 該數據集包含55 個類別,訓練集和測試集分別包含35 764 和5 159 個物品.ShapeNet 中類別分布極不均衡,物品數量最少的類別只包含39 個物品,而數量最多的類別中包含5 876個物品.對Seen 類別和Unseen 類別的劃分同樣與基線模型中保持一致,即其中物品數量最少的25 類作為Unseen 類別,剩余的30 類作為Seen 類別.

本文采用的多視角2D 圖像渲染方法與文獻[20]保持一致.對每個合成的CAD 模型,通過每次移動攝像頭30°進行拍攝,得到12 個不同角度的2D 圖像.本文在實驗過程中分別在分類和聚類任務上對模型進行了評價.

2.2 實驗環境與參數設置

實驗環境使用2 個TITAN Xp 顯卡,系統為Ubuntu 16.04.5.使用VGG(Visual Geometry Group)16[26]作為特征提取主干網絡,這與本文的對比方法保持了一致.采用2 組不同的實驗設置,其中,一組的VGG16 網絡在ImageNet[27]上進行預訓練,另一組直接在使用的數據集上從頭開始訓練.解碼網絡結構與VGG16 對稱,溫度系數τ和動量更新系數m依據經驗分別設置為0.05 和0.999.對數據集ModelNet 和數據集ShapeNet 分別設置隊列初始化長度為4 096 和16 384,這里隊列長度表示隊列可保存的最大元素數,是數值,沒有相關單位;使用隊列遞減策略時,在數據集ModelNet 上經過25 個回合的訓練之后,使用隊列縮減率S0.8,將隊列長度縮減至2 048;在數據集ShapeNet 上設置縮減率S0.5,將最終的隊列長度縮減至4 096.在訓練過程中使用Adam 優化器,設置學習率為0.008,批大小(batch size)設置為80,并設置batch size 為32 的實驗作為對照.公式(8)中聯合損失的超參數α、β分別設置為1 和0.01.

2.3 實驗評估指標

使用標準的準確率(accuracy)、召回率(recall)和歸一化互信息(normalized mutual information,NMI)作為模型評價指標.本文用INM表示歸一化互信息,且定義,其中,I代表互信息(mutual information);H為熵;A{a1,···,an},ai表示分配給第i類的數據的集合;C{c1,···,cn},cj是真實類別為j的樣本集合.INM的值越接近于1 表示聚類的結果越好.在實驗中,準確率作為衡量分類結果的指標,召回率和歸一化互信息(NMI)作為衡量聚類結果的指標.

2.4 基線模型

本文的基線模型包含了目前SOTA(state of the art)的限制視角下物品識別模型VISPE 和一些優秀的神經網絡模型.

(1)UEL(unsupervised embedding learning)[17]: 將每個圖像當作一類,并且通過圖像增強的方法對每個圖像進行擴充,訓練網絡學習圖像增強不變的特征①https://github.com/mangye16/Unsupervised_Embedding_Learning.

(2)ViT[13]: 將圖像分成 1 6×16 的區塊,將區塊的線性嵌入序列輸入網絡,以有監督的方式進行網絡訓練.

(3)SimCLR(simple framework for contrastive learning of visual representations)[15]: 將一組圖片經過兩種不同的方式進行增強,以同一組圖片的增強結果相互靠近、并且與其他結果相互遠離為目標,進行網絡訓練.

(4)MoCo(momentum contrast)[14]: 將每個圖像當做一類,使用旋轉、加噪等圖像增強方法生成正樣本,并將其他圖像當做負樣本,通過減小對比損失函數進行網絡訓練.

(5)MAE(masked autoencoders)[12]: 將圖片分成像素塊,隨機掩蓋一部分像素塊,以重建像素塊為目標進行網絡訓練.

(6)VISPE[20]: 網絡從同一物品的視圖中隨機選擇視角,并對提取的特征進行嵌入一致性約束,以得到與物品視角無關的特征,通過度量特征的相似度進行物品分類.

在這些模型中,ViT 是以有監督的方式進行網絡訓練.MAE 與本文方法使用了解碼結構.UEL、SimCLR 與本文方法采用了雙支的網絡結構.從建模復雜性的角度對比,這些方法并沒有顯著的差異.UEL 與MoCo 通過挖掘圖像自身特征進行網絡訓練,忽略了物品不同視角之間的內在關系.SimCLR與MAE 未使用物品的多視角信息.與本文建模思想最接近的是VISPE,以減小輸入圖像與正樣本之間的特征差異、增大其與負樣本之間的特征差異為目標進行網絡訓練.本文使用動量更新與重構約束進一步提升網絡的性能.

3 實驗結果與分析

為了驗證本文方法對限制視角下3D 物品識別的有效性,本文進行了3D 物品分類、聚類和少樣本分類的實驗,并進行了消融實驗以驗證各個模塊的性能;在網絡訓練時,不使用物品標簽以及圖像視角的角度標簽.在已知圖像歸屬信息的條件下,圖像的識別結果代表其所對應的3D 物品的識別結果.

3.1 基于kNN 的3D 物品分類實驗

本文使用k最近鄰(k-nearest neighbor,kNN)方法,通過網絡所提取的圖像特征,對測試集進行物品分類.在實驗中,設置k的大小為訓練集中數量最少類別中物品的數量,在ModelNet 和ShapeNet上分別設置為960 和468.每個實驗中都對訓練集中出現的類別(Seen)和未出現的類別(Unseen)進行測試.

表1 所示是基于kNN 對物品進行分類的結果.從表1 中可以看出,本文提出的方法在ModelNet 和ShapeNet 這2 個數據集上的分類結果相比于已有的方法有良好的表現: 在ModelNet 上有近7%的提升,這是因為動量更新方法很好地保持了表示的穩定性,提高了分類的準確率;通過使用動態隊列,模型的分類準確率有了進一步的提升,這是因為動態隊列進一步增強了表示的穩定性;通過添加AE 模塊,本文提出的方法在ModelNet 和ShapeNet 上分別又提升了大約2%和1%的準確率,這是因為在訓練過程中重構約束使網絡學習到的表示包含更多的語義信息;使用DQR 策略可以很好地提升網絡在類別分布不均衡的數據集ShapeNet 上的表現,故在ShapeNet 上取得了最優的結果,但對類別分布均衡的ModelNet 數據集并沒有明顯的作用,這證實了動態遞減策略對類別分布不均衡問題的有效性;使用預訓練方法對ModelNet 的分類準確率有明顯提升,但是對ShapeNet 并沒有明顯的性能提升效果,這可能是因為ShapeNet 中已經有足夠多的樣本供網絡進行參數學習;在batch size 為32 的實驗設置中,與VISPE 相比,本文提出的方法在ModelNet 上的結果有近5%的提升,在ShapeNet 上有近2%的提升,并在ShapeNet 上取得了最好的分類準確度,這是因為,在數據分布不均衡的數據集上,較小的batch size 更能保持動態隊列中表示特征的一致性,提升了網絡性能.

表1 本文方法和對比方法對多視角物品分類的準確率Tab.1 Classification accuracies of our approach and of the existing approaches for multi-view object classification

3.2 基于k-means 的3D 物品聚類與檢索實驗

k-means 是一種無監督的聚類方法,它在標簽未知的情況下,通過對特征相似度的度量對物品進行歸類.表2 所示是對Unseen 類別物品聚類的實驗結果.從表2 中可以看出,本文提出的MUR 方法在召回率和NMI 值上都超過現有方法: 使用自編碼器模塊(AE)對模型添加重構約束之后,在召回率的指標上取得了最好的結果;使用預訓練方法(Pret)在召回率的結果上比不使用預訓練模型更好;在使用DQR 策略時,對于召回率結果沒有明顯的作用,這是因為DQR 針對的是在訓練時類別分布不均衡的數據;而DQR 策略對NMI 值提升作用明顯,使得NMI 達到了最優值;在NMI 指標上,不使用預訓練模型的結果較好,因為對預訓練模型做微調時模型參數不容易被改變,導致不同物品的特征差異性增大,但是相對于對比方法依然有5%的提升.在batch size 為32 的實驗中,在召回率上,與batch size 設置為80 的實驗結果沒有顯著差別,同樣明顯地超過了基線模型;在NMI 指標上有一定程度的下降,這可能是因為在數據量較小的數據集上,網絡需要大批次的訓練來提升模型的泛化能力,但NMI 指標仍然明顯超過了基線模型.

表2 ModelNet 數據集上Unseen 類別的聚類結果Tab.2 Experimental results of object clustering for unseen classes on ModelNet

3.3 基于SVM 的少樣本3D 物品分類實驗

為了驗證本文提出的方法對少樣本[28]物品分類的有效性,本文在ModelNet 的Unseen 類別上使用支持向量機(support vector machines,SVM)對測試集進行分類.表3 中的K-shot 表示每個類別只有K個已知標簽的樣本,依據這些樣本的特征訓練SVM 分類器.在實施過程中這些樣本不參與網絡的訓練過程,只用來訓練SVM 分類器.

表3 本文方法與對比方法在少樣本物品分類任務上的結果Tab.3 Experimental results of our approach and of the existing approaches for few-shot object classification

表3 所示的結果表明,本文提出的方法對少樣本分類的準確度相較于其他基線模型有良好的性能表現: 在消融實驗中,使用動態隊列的MUR 方法相較于不使用動態隊列的WithoutDQ 方法有1%左右的準確率提升;使用AE 模塊添加語義信息后,準確率又有進一步提升;使用DQR 策略后,準確率有波動,這是因為ModelNet 訓練數據分布是均衡的,對于在訓練時標簽分布未知的情況,可以選擇性地使用DQR 策略,在K5 時有很好的表現,表明有較多的標簽已知樣本進行分類器訓練時,使用DQR 策略提高了分類準確率;使用預訓練(Pret)方法進行模型初始化,分類準確率有2%左右的提升.在batch size 為32 的實驗中,本文方法同樣明顯地超過了表現最好的基線模型VISPE,這是因為本文方法所使用的動量更新以及重構約束策略使網絡具有了更好的特征提取能力.

3.4 特征可視化

圖2 展示了用t-SNE[29]對物品特征進行可視化的結果,每一種顏色代表不同的類別.本文選擇了對比方法中結果最好的VISPE 作為比較對象,使用其公開的模型權重②進行特征提取.從圖2(a)中可以看出,VISPE 中不同顏色的數據分布比較雜亂,在特征空間中有較大的重合區域,這表明提取的特征不便于區分不同類別的物品.由于VISPE 每次只能使用小批次的數據進行網絡訓練,導致同類物品特征的一致性降低.圖2(b)所示是本文方法提取的特征可視化結果,可以看出不同類別的特征分布區分度較高,這從直觀上說明本文模型提取的特征具有更好的分布特性.本文的動量更新結合動態隊列的方法,在每次迭代中可以使用更多的數據,控制性地更新網絡參數.并且通過重構約束對特征增加語義信息,進一步提升了同類物品的特征相似度,更便于區分不同類別的物品.

圖2 Unseen 類別的t-SNE 特征分布可視化結果Fig.2 t-SNE visualization results of the unseen-class feature distribution

4 結 論

本文提出了一個新穎的動量更新表示與重構約束結合(MRRC)的網絡訓練框架,用于解決在視角受限條件下3D 物品識別的問題,該方法可以不依賴物品視角的角度標簽學習穩定的表示特征.動量更新表示結合動態隊列策略提升了網絡的性能.基于自編碼器模塊的重構約束進一步增加了表示中包含的語義信息.動態隊列遞減策略提升了網絡在類別不均衡數據集上的識別表現.實驗結果證明了本文方法的有效性.在未來的工作中可以從減小模型參數量入手,以探索更高效的表示學習方法.

猜你喜歡
隊列類別物品
稱物品
“雙十一”,你搶到了想要的物品嗎?
隊列里的小秘密
基于多隊列切換的SDN擁塞控制*
誰動了凡·高的物品
在隊列里
豐田加速駛入自動駕駛隊列
服務類別
找物品
論類別股東會
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合