計算機視覺的網(wǎng)絡(luò)結(jié)構(gòu)又要迎來革新了?
從卷積神經(jīng)網(wǎng)絡(luò)到帶注意力機制的視覺Transformer,神經(jīng)網(wǎng)絡(luò)模型都是把輸入圖像視為一個網(wǎng)格或是patch序列,但這種方式無法捕捉到變化的或是復(fù)雜的物體。
比如人在觀察圖片的時候,就會很自然地就將整個圖片分為多個物體,并在物體間建立空間等位置關(guān)系,也就是說整張圖片對于人腦來說實際上是一張graph,物體則是graph上的節(jié)點。
最近中科院軟件研究所、華為諾亞方舟實驗室、北京大學(xué)、澳門大學(xué)的研究人員聯(lián)合提出了一個全新的模型架構(gòu)Vision GNN (ViG),能夠從圖像中抽取graph-level的特征用于視覺任務(wù)。
論文鏈接:https://arxiv.org/pdf/2206.00272.pdf
首先需要將圖像分割成若干個patch作為圖中的節(jié)點,并通過連接最近的鄰居patch構(gòu)建一個graph,然后使用ViG模型對整個圖中所有節(jié)點的信息進行變換(transform)和交換(exchange)。
ViG 由兩個基本模塊組成,Grapher模塊用graph卷積來聚合和更新圖形信息,F(xiàn)FN模塊用兩個線性層來變換節(jié)點特征。
在圖像識別和物體檢測任務(wù)上進行的實驗也證明了ViG架構(gòu)的優(yōu)越性,GNN在一般視覺任務(wù)上的開創(chuàng)性研究將為未來的研究提供有益的啟發(fā)和經(jīng)驗。
論文作者為吳恩華教授,中國科學(xué)院軟件研究所博士生導(dǎo)師、澳門大學(xué)名譽教授,1970年本科畢業(yè)于清華大學(xué)工程力學(xué)數(shù)學(xué)系,1980年博士畢業(yè)于英國曼徹斯特大學(xué)計算機科學(xué)系。主要研究領(lǐng)域為計算機圖形學(xué)與虛擬現(xiàn)實, 包括: 虛擬現(xiàn)實 、真實感圖形生成、 基于物理的仿真與實時計算、 基于物理的建模與繪制、 圖像與視頻的處理與建模、 視覺計算與機器學(xué)習(xí)。
視覺GNN
網(wǎng)絡(luò)結(jié)構(gòu)往往是提升性能最關(guān)鍵的要素,只要能保證數(shù)據(jù)量的數(shù)量和質(zhì)量,把模型從CNN換到ViT,就能得到一個性能更佳的模型。
但不同的網(wǎng)絡(luò)對待輸入圖像的處理方式也不同,CNN在圖像上滑動窗口,引入平移不變性和局部特征。
而ViT和多層感知機(MLP)則是將圖像轉(zhuǎn)換為一個patch序列,比如把224×224的圖像分成若干個16×16的patch,最后形成一個長度為196的輸入序列。
圖神經(jīng)網(wǎng)絡(luò)則更加靈活,比如在計算機視覺中,一個基本任務(wù)是識別圖像中的物體。由于物體通常不是四邊形的,可能是不規(guī)則的形狀,所以之前的網(wǎng)絡(luò)如ResNet和ViT中常用的網(wǎng)格或序列結(jié)構(gòu)是多余的,處理起來不靈活。
一個物體可以被看作是由多個部分組成的,例如,一個人可以大致分為頭部、上半身、胳膊和腿。
這些由關(guān)節(jié)連接的部分很自然地形成了一個圖形結(jié)構(gòu),通過分析圖,我們最后才能夠識別出這個物體可能是個人類。
此外,圖是一種通用的數(shù)據(jù)結(jié)構(gòu),網(wǎng)格和序列可以被看作是圖的一個特例。將圖像看作是一個圖,對于視覺感知來說更加靈活和有效。
使用圖結(jié)構(gòu)需要將輸入的圖像劃分為若干個patch,并將每個patch視為一個節(jié)點,如果將每個像素視為一個節(jié)點的話就會導(dǎo)致圖中節(jié)點數(shù)量過多(>10K)。
建立graph后,首先通過一個圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)聚合相鄰節(jié)點間的特征,并抽取圖像的表征。
為了讓GCN獲取更多樣性的特征,作者將圖卷積應(yīng)用multi-head操作,聚合的特征由不同權(quán)重的head進行更新,最后級聯(lián)為圖像表征。
以前的GCN通常重復(fù)使用幾個圖卷積層來提取圖數(shù)據(jù)的聚合特征,而深度GCN中的過度平滑現(xiàn)象則會降低節(jié)點特征的獨特性,導(dǎo)致視覺識別的性能下降。
為了緩解這個問題,研究人員在ViG塊中引入了更多的特征轉(zhuǎn)換和非線性激活函數(shù)。
首先在圖卷積的前后應(yīng)用一個線性層,將節(jié)點特征投射到同一域中,增加特征多樣性。在圖形卷積之后插入一個非線性激活函數(shù)以避免層崩潰。
為了進一步提高特征轉(zhuǎn)換能力,緩解過度平滑現(xiàn)象,還需要在每個節(jié)點上利用前饋網(wǎng)絡(luò)(FFN)。FFN模塊是一個簡單的多層感知機,有兩個全連接的層。
在Grapher和FFN模塊中,每一個全連接層或圖卷積層之后都要進行batch normalization,Grapher模塊和FFN模塊的堆疊構(gòu)成了一個ViG塊,也是構(gòu)建大網(wǎng)絡(luò)的基本單元。
與原始的ResGCN相比,新提出的ViG可以保持特征的多樣性,隨著加入更多的層,網(wǎng)絡(luò)也可以學(xué)習(xí)到更強的表征。
在計算機視覺的網(wǎng)絡(luò)架構(gòu)中,常用的Transformer模型通常有一個等向性(Isotropic)的結(jié)構(gòu)(如ViT),而CNN更傾向于使用金字塔結(jié)構(gòu)(如ResNet)。
為了與其他類型的神經(jīng)網(wǎng)絡(luò)進行比較,研究人員為ViG同時建立了等向性和金字塔的兩種網(wǎng)絡(luò)架構(gòu)。
在實驗對比階段,研究人員選擇了圖像分類任務(wù)中的ImageNet ILSVRC 2012數(shù)據(jù)集,包含1000個類別,120M的訓(xùn)練圖像和50K的驗證圖像。
目標(biāo)檢測任務(wù)中,選擇了有80個目標(biāo)類別的COCO 2017數(shù)據(jù)集,包含118k個訓(xùn)練圖片和5000個驗證集圖片。
在等向性的ViG架構(gòu)中,其主要計算過程中可以保持特征大小不變,易于擴展,對硬件加速友好。在將其與現(xiàn)有的等向性的CNN、Transformer和MLP進行比較后可以看到,ViG比其他類型的網(wǎng)絡(luò)表現(xiàn)得更好。其中ViG-Ti實現(xiàn)了73.9%的top-1準(zhǔn)確率,比DeiT-Ti模型高1.7%,而計算成本相似。
金字塔結(jié)構(gòu)的ViG中,隨著網(wǎng)絡(luò)的加深逐漸縮小了特征圖的空間大小,利用圖像的尺度不變量特性,同時產(chǎn)生多尺度的特征。
高性能的網(wǎng)絡(luò)大多采用金字塔結(jié)構(gòu),如ResNet、Swin Transformer和CycleMLP。在將Pyramid ViG與這些有代表性的金字塔網(wǎng)絡(luò)進行比較后,可以看到Pyramid ViG系列可以超越或媲美最先進的金字塔網(wǎng)絡(luò)包括CNN、MLP和Transfomer。
結(jié)果表明,圖神經(jīng)網(wǎng)絡(luò)可以很好地完成視覺任務(wù),并有可能成為計算機視覺系統(tǒng)中的一個基本組成部分。
為了更好地理解ViG模型的工作流程,研究人員將ViG-S中構(gòu)建的圖結(jié)構(gòu)可視化。在兩個不同深度的樣本(第1和第12塊)的圖。五角星是中心節(jié)點,具有相同顏色的節(jié)點是其鄰居。只有兩個中心節(jié)點是可視化的,因為如果繪制所有的邊會顯得很亂。