1. 程式人生 > >基於RGB-D的語義分割和目標檢測介紹

基於RGB-D的語義分割和目標檢測介紹

寒假的時候看了一篇論文——Multimodal Neural Networks: RGB-D for Semantic Segmentation and Object Detection這篇論文是2017年發表的一篇會議論文介紹將深度圖引入計算機視覺的處理任務,下面是我對這篇文章的一些解讀。

1.引言

影象內容的語義解釋是計算機視覺中最基本的問題之一,並且在各種應用中具有最高的重要性。極大資料集的可用性推動了強大的資料驅動機器學習方法的發展。特別是,卷積神經網路(CNN)已經在各種不同的任務和應用中推動了影象理解領域的發展。同時,解析度不斷提高的相機成本在過去幾年大幅下降。我們預計這種趨勢會持續下去,因此將重點放在可以處理這種高解析度影象的方法上。同時,我們對能夠滿足高實時要求的高效方法感興趣,例如,機器人或自動駕駛。自然地,計算機視覺社群的主要焦點在於彩色影象的解釋,其忽略了來自其他域的互補輸入的可用性,例如,深度,紅外線或運動。在這項工作中,我們將重點放在深度資料上,作為CNN的附加輸入。但是,所提出的方法很容易適用於其他模式。

由於像ImageNet [1],MS COCO [2]或Place[3]等大型資料集僅提供彩色影象並不提供標籤,因此無法使用最先進的CNN方法來訓練。已經出現了兩種不同方法來處理這個問題。 要麼只有少量的資料被用於訓練,同時接受導致的降級的效能。或者將現有的RGB網路簡單地應用於新域,並與負責顏色域的那些分支進行融合。

本次介紹一種新穎的網路體系結構,它實現了來自各個輸入域的特徵的中間級融合。 這結合了先前方法的兩個優點:首先,網路可以通過聯合特徵處理利用高度複雜的域內依賴性,以最大化網路的語義準確性。其次,它允許在大型資料集上重用現有的初始化。 此外,我們證明,以顏色作為輸入設計和訓練的網路在深度域中不是最理想的,並且提出了優化的適應架構和初始化方案,從而在語義準確度方面產生顯著的改進。 實驗表明,使用這種方法在深度資料上學習的濾波器與通過對RGB資料進行訓練所獲得的濾波器大不相同。

總體而言,本文提出了一種簡單而有效的新型網路體系結構,以及除了單一顏色資訊之外還利用深度資料的初始化方案。 這種方法可以顯著改善計算機視覺中兩種不同的常見任務:語義分割和物件檢測。 它基於標準的最先進的網路架構,可以輕鬆適應不同的模式和任務

2. 基於RGB-D的語義分割和目標檢測方法

本章節,我們提出了一種新穎的深度神經網路架構,除了單一的顏色資訊之外,還可以利用深度影象等其他方式。我們使用Googlenet[4]並將其用於深度資料優化的網路分支進行融合。注意,這項工作中描述的深度資訊也適用於其它形式,例如:光流或紅外線,基本網路Googlenet也可以修改成其它的網路體系結構如:NiN[5],VGG[6],Resnet[7]。

如圖1所示是這篇文章的網路結構圖,該網路結構主要由兩部分組成第一部分是深度網路也就是NiN網路[5],該網路主要是處理影象的深度資訊,提取深度影象特徵,第二部分是卷積網路,該網路使用的構架是Googlenet[4],輸入RGB三通道特徵圖在Googlenet[4]網路中進行特徵提取,並將深度NiN[5]網路提取的特徵融入Googlenet[4]網路中去。

                               

圖1.中級網路結構圖

2.1 深度網路

本次介紹處理深度圖的網路是NiN模型,該模型實際上是在一種在CNN網路上的改進的網路,經典CNN中的卷積層其實就是用線性濾波器對影象進行內積運算,在每個區域性輸出後面跟著一個非線性的啟用函式,最終得到的叫作特徵圖。而這種卷積濾波器是一種廣義線性模型。所以用CNN進行特徵提取時,其實就隱含地假設了特徵是線性可分的,可實際問題往往是難以線性可分的,GLM(廣義線性模型)的抽象能力是比較低水平的,自然而然地我們想到用一種抽象能力更強的模型去替換它,從而提升傳統CNN的表達能力[8]。

什麼樣的模型抽象水平更高呢?當然是比線性模型更有表達能力的非線性函式近似器比如MLP(多層感知器),NiN模型使用mlpconv網路層替代傳統的convolution層。mlp層實際上是卷積加傳統的mlp(多層感知器),因為convolution是線性的,而mlp是非線性的,後者能夠得到更高的抽象,泛化能力更強。在跨通道(crosschannel,cross feature map)情況下,mlpconv等價於卷積層+1×1卷積層,多層感知器相比於傳統的CNN網路主要有3個優點

1. 非常有效的通用函式近似器

2. 可用BP演算法訓練,可以完美地融合進CNN

3. 其本身也是一種深度模型,可以特徵再利用

                                       

圖2.(a)線性卷積層,(b)多層感知卷積層

圖2(a)是傳統CNN網路中使用的線性卷積層,圖2(b)是NiN模型中使用的多層感知卷積層,採用NIN改進CNN後,我們增強了區域性模型的表達能力,這樣我們可以在分類層對特徵圖進行全域性平均池化,這種方式更有意義和容易解釋(可將最後一層輸出的特徵圖的空間平均值解釋為相應類別的置信度,為什麼可以這樣解釋呢?因為在採用了微神經網路後,讓區域性模型有更強的抽象能力,從而讓全域性平均池化能具有特徵圖與類別之間的一致性。同時相比傳統CNN採用的全連線層,不易過擬合(因為全域性平均池化本身就是一種結構性的規則項)。

                                  

圖3.NiN模型結構圖

圖3是3層mlpconv的完整網路結構經典CNN為了解決廣義線性模型抽象能力不足的問題,採用了過完備的濾波器集合來補償,也就是說學習不同的濾波器用來檢查同一特徵的不同變體。但是過多的濾波器會對下一層施加額外的負擔,因為下一層要考慮來自前一層所有的特徵變體的組合。為什麼採用NIN是有價值的?因為高層的特徵來自低層特徵的組合,在低層特徵組合成高層特徵之前,對每一區域性塊進行更好地抽象是有利的。

對於深度分支,我們訓練和修改NiN [5]變體以獲取唯一的深度資料,並使用Cityscapes[9]資料集[6]的大型半監督部分進行初始化。一個NiN網路由多個模組組成,每個模組進一步由一個卷積層組成,其核心大小大於捕獲空間資訊和多個1x1卷積核的卷積層。 這種模組相當於一個多層感知器(MLP)。 為了進行分類,平均池化層會對每一類得到一個得分。

2.2 RGB特徵提取網路     

影象的RGB三色通道的特徵提取,本文使用的Googlenet網路,當然除了Googlenet也可以使用其它的基本特徵提取網路比如:Resnet,Vgg16等網路。

Googlenet是由9個Inception模組組成,而每個模組又由若干個卷積層和池化層組成,Inception模組如圖4所示,該模組採用不同大小的卷積核意味著不同大小的感受野,最後拼接意味著不同尺度特徵的融合,之所以卷積核大小採用1、3和5,主要是為了方便對齊。設定卷積步長stride=1之後,只要分別設定pad=0、1、2,那麼卷積之後便可以得到相同維度的特徵,然後這些特徵就可以直接拼接在一起了,同時在網路中引用了3*3的池化層,網路越到後面,特徵越抽象,而且每個特徵所涉及的感受野也更大了,因此隨著層數的增加,3x3和5x5卷積的比例也要增加,但是,使用5x5的卷積核仍然會帶來巨大的計算量。 為此,Googlenet借鑑NIN2,採用1x1卷積核來進行降維。

例如:上一層的輸出為100x100x128,經過具有256個輸出的5x5卷積層之後(stride=1,pad=2),輸出資料為100x100x256。其中,卷積層的引數為128x5x5x256。假如上一層輸出先經過具有32個輸出的1x1卷積層,再經過具有256個輸出的5x5卷積層,那麼最終的輸出資料仍為為100x100x256,但卷積引數量已經減少為128x1x1x32 +32x5x5x256,大約減少了4倍。

圖4.Inception模組結構

Googlenet的整體結構如圖5所示,GoogLeNet採用了模組化的結構,方便增添和修改,網路最後採用了average pooling來代替全連線層,想法來自NIN,事實證明可以將TOP1 accuracy提高0.6%。但是,實際在最後還是加了一個全連線層,主要是為了方便finetune(微調網路),,雖然Googlenet移除了全連線層,但是網路中依然使用了Dropout,為了避免梯度消失,網路額外增加了2個輔助的softmax用於向前傳導梯度。文章中說這兩個輔助的分類器的loss應該加一個衰減係數,但看caffe中的model也沒有加任何衰減。此外,實際測試的時候,這兩個額外的softmax會被去掉。 

                                     

圖5.Googlenet網路結構圖

2.2 RGBD整體網路

整體網路結構如圖1所示,第一部分由GoogLeNet組成,卷積層和最大池層可以快速降低空間解析度。這部分之後是九個初始模組,其中包括進一步合併層,每個層將空間維數減半,如圖1所示。首先,RGB和深度輸入可以直接連線,形成新的第一卷積層。我們將此模型稱為早期融合。其次,RGB網路和深度分支的分數可以在最後連線,然後是1x1卷積作為分類器。我們將此稱為後期融合。最後,深度分支的分數可以在RGB網路中的一個最大池層之前合併,再次是1x1卷積層。在這種中級融合方法中使用的NiN模組的數量取決於RGB網路中所需的空間尺寸。因此,我們根據NiN模組的數量呼叫這些模型。

理論上,如上所述的具有早期融合的多模式CNN可以通過學習僅考慮一種輸入形式的特徵來開發獨立的網路流。 因此,早期融合通常比中層融合更具表現力,它可以利用已經在CNN低層次計算上已經存在的模態之間的相關性。 然而,更高的表達能力可能需要大量資料進行訓練。 後來的融合的好處是大多數網路初始化可以直接重用,而不必將網路權重全部重新訓練。

3. 實驗結果和分析

在本次實驗中我們使用Cityscapes資料集,在城市內部交通場景中提供19個類別的畫素級語義註釋,例如人員,汽車,道路等。除了這些精美的註釋之外,還提供了20 000個粗略註釋的影象。其中物體通過多邊形進行標記。雖然這樣許多畫素保持未標記,但每個註釋畫素都被正確標註。

3.1 深度網路實驗結果

我們使用20000個粗略註釋的影象來訓練一個NiN模組,用於場景標記,深度網路由三個NiN組成,每個模組具有兩個1×1卷積層。我們使用全卷積網路並新增兩個跳過層,以便利用網路擴充套件部分的低階影象特徵[10] Batchsize選擇10(Batchasize指每次訓練輸入網路中的影象數量),並在培訓期間使用隨機初始化來解決GPU記憶體限制問題。在這個初始化階段之後,該網路在2975個精確標註的Cityscapes資料集上進行了微調。為了評估,我們使用500個驗證影象。我們選擇IoU作為評價指標[9]IoU全稱交併比(Intersection-over-Union),是產生的候選框(candidate bound)與原標記框(ground truth bound)的交疊率,即它們的交集與並集的比值。最理想情況是完全重疊,即比值為1,表1cityscapes資料集[9]上進行微調後對視差網路分支的初始化,表的上部顯示隨機權重初始化的結果。原始NiN中的大量通道阻礙了成功的訓練。下面顯示了不同初始化方案的影響。與在ImageNet上初始化的變體相比,在粗略註釋的影象上提出的初始化產生顯著改善的結果

1.NiN模型在不同資料集下初始化結果

                                 

我們認為深度資料的CNN應該與RGB資料的CNN明顯不同。首先,我們僅根據深度資料來訓練CNN,丟棄可用的RGB輸入。表1給出了該模型與原始NiN的比較結果。從表格上半部分的第一個觀察結果表明,我們不能僅在cityscapes資料集上訓練原始NiN。然而,所提出的具有1/3通道的網路產生不錯的結果。其次,在RGB ImageNet資料上訓練權重的初始化指導學習過程,並且產生4.5%的改進。不過,對實際深度資料進行初始化會帶來顯著的改進。總的來說,網路引數的數量減少到1/3,導致計算成本減少1/3。另一方面,結果顯著改善。第一卷積層中所得到的濾波器分別在深度和顏色輸入之間基本不同,可以肯定的是,我們的模型中有意義的濾波器數量更高,我們解決了網路中濾波器數量減少的問題。

3.2 RGBD物體檢測

對於物件檢測,我們也使用Cityscapes資料集[6]由於所有物件型別都具有高度精確的標記例項,因此可以簡單地從畫素註釋中提取邊界框。對於訓練,我們使用公開可用的訓練資料集和2975個完全註釋的影象。由於測試資料並不公開,我們測試了驗證資料集的500張圖片。由於並不是所有的類別都是類似物件,所以我們只使用cityscapes資料集的一個子集:車輛(城市景觀:汽車,卡車,公共汽車),自行車(城市景觀:摩托車,自行車),交通標誌,交通訊號燈,人城市風景:人,騎手)

對模型的效能進行評估,不僅需要有效可行的實驗估計方法,還需要有衡量模型能力的評價指標,這就是效能度量。效能度量反映了任務需求,在對比不同模型的能力時,使用不同的效能度量往往會導致不同的評判結果。

                                          

如圖6(a)是真實區域,圖6(b)是實驗結果圖。

         1區域是True-Positive(TP),就是真正例;2區域是True-Negative(TN),就是真反例;3區域就是False-Positive(FP),就是假正例;4區域是False-Negative(FN),就是假反例。查準率(Precision)和查全率(Recall)的定義為:

               

         查準率和查全率是一對矛盾的度量。一般來說,查準率高時,查全率往往偏低;而查全率高時,查準率往往偏低[11]。

對於我們的實驗,我們使用最先進的“單發多盒探測器”框架工作(SSD[12]。使用基於GoogLeNet的完全卷積方法,並使用建議和預先訓練好的NiN體系結構擴充套件RGB框架以獲得深度影象,結果首先,我們僅使用RGB輸入將SSD適配到GoogLeNet架構,其次,我們添加了深度分支。分類和平均精度 - 回憶曲線都顯示在圖7中。.所有類別的分類都與深度資料類似。特別是人類和自行車類的表現顯著增加。如圖所示。通過使用我們的方法,與傳統的RGB方法相比,可以更加魯棒和更準確地檢測遠距離的5個物體

                                       

7.5種物體的PR曲線

3.3 RGBD語義分割

我們利用5000個精細註釋的影象,即2975用於訓練,500個用於測試的驗證影象,Cityscapes資料集和IoU作為以前的評估指標我們不使用驗證集中的影象進行訓練。使用了batchsize批量大小為2收斂後,我們以1/10的係數逐步降低學習速率,直到沒有觀察到驗證集的loss進一步改進。對於每種方法,我們根據驗證集上的IoU報告最佳結果。將根據以下實驗的最佳模型的結果提交給Cityscapes基準伺服器,以對剩餘的約1500張測試影象進行評估

融合首先,確定融合顏色和深度分支的最佳水平。為此,我們對早期融合,晚期融合和所有五種中級融合模型NiN-1NiN-7進行了培訓和評估,並將其與RGB基線進行比較。結果如圖8所示,首先顯示額外的深度輸入可以顯著幫助所有融合變體。與基準NiN-2模型的69.1%相比,RGB基線達到了63.9%的IoU(分類)。這是大約10%的相當大的改善。此外,顯而易見的是,在2NiN模組之後的中等熔合導致最佳結果,最常用的晚融合僅產生67.1IoU。由圖可知NiN-1NiN-7變體表現最差。 NiN-1模型中的特徵拼接直接發生在區域性響應歸一化之後,這可能會損害與深度分支的非歸一化特徵相互作用

                             

8.融合模型IoU

4. 結論

本文提出了一種新穎的通用CNN體系結構,除了唯一的顏色資訊之外,還利用來自其他模式的輸入資訊。為此,GoogLeNet擴充套件了一個特別適合作為補充輸入的分支。聯合網路共同實施了中級融合,允許網路在中等功能級別上利用跨模式相互依賴性。到目前為止,最先進的RGB-DCNN網路已經使用了預先訓練過顏色資料的網路權重。相比之下,提出了一種優越的初始化方案來獨立預訓練多模式CNN的深度分支。在端到端訓練中,使用具有挑戰性的Cityscapes資料集聯合優化了網路引數。評估是在兩個不同的常見計算機視覺任務上進行的,即語義分割和物件檢測。對於後者,本文還介紹瞭如何從Cityscapes中的例項級別註釋中提取物件級別的groundtruth,以便訓練一個強大的SSD物件檢測器。在全面的實驗中,顯示了所提出的多模態CNN的有效性。 RGBGoogLeNet和進一步的RGB-D網路基線都表現優異。


        圖6 (a) Ground-turth                                    圖6(b)FG-map

如圖6(a)是真實區域,圖6(b)是實驗結果圖。

         1區域是True-Positive(TP),就是真正例;2區域是True-Negative(TN),就是真反例;3區域就是False-Positive(FP),就是假正例;4區域是False-Negative(FN),就是假反例。查準率(Precision)和查全率(Recall)的定義為:

                                    ,(6)

                                    。               (7)

         查準率和查全率是一對矛盾的度量。一般來說,查準率高時,查全率往往偏低;而查全率高時,查準率往往偏低[11]。

對於我們的實驗,我們使用最先進的“單發多盒探測器”框架工作(SSD[12]。使用基於GoogLeNet的完全卷積方法,並使用建議和預先訓練好的NiN體系結構擴充套件RGB框架以獲得深度影象,結果首先,我們僅使用RGB輸入將SSD適配到GoogLeNet架構,其次,我們添加了深度分支。分類和平均精度 - 回憶曲線都顯示在圖7中。.所有類別的分類都與深度資料類似。特別是人類和自行車類的表現顯著增加。如圖所示。通過使用我們的方法,與傳統的RGB方法相比,可以更加魯棒和更準確地檢測遠距離的5個物體

7.5種物體的PR曲線

3.3 RGBD語義分割

我們利用5000個精細註釋的影象,即2975用於訓練,500個用於測試的驗證影象,Cityscapes資料集和IoU作為以前的評估指標我們不使用驗證集中的影象進行訓練。使用了batchsize批量大小為2收斂後,我們以1/10的係數逐步降低學習速率,直到沒有觀察到驗證集的loss進一步改進。對於每種方法,我們根據驗證集上的IoU報告最佳結果。將根據以下實驗的最佳模型的結果提交給Cityscapes基準伺服器,以對剩餘的約1500張測試影象進行評估

融合首先,確定融合顏色和深度分支的最佳水平。為此,我們對早期融合,晚期融合和所有五種中級融合模型NiN-1NiN-7進行了培訓和評估,並將其與RGB基線進行比較。結果如圖8所示,首先顯示額外的深度輸入可以顯著幫助所有融合變體。與基準NiN-2模型的69.1%相比,RGB基線達到了63.9%的IoU(分類)。這是大約10%的相當大的改善。此外,顯而易見的是,在2NiN模組之後的中等熔合導致最佳結果,最常用的晚融合僅產生67.1IoU。由圖可知NiN-1NiN-7變體表現最差。 NiN-1模型中的特徵拼接直接發生在區域性響應歸一化之後,這可能會損害與深度分支的非歸一化特徵相互作用

8.融合模型IoU

4. 結論

本文提出了一種新穎的通用CNN體系結構,除了唯一的顏色資訊之外,還利用來自其他模式的輸入資訊。為此,GoogLeNet擴充套件了一個特別適合作為補充輸入的分支。聯合網路共同實施了中級融合,允許網路在中等功能級別上利用跨模式相互依賴性。到目前為止,最先進的RGB-DCNN網路已經使用了預先訓練過顏色資料的網路權重。相比之下,提出了一種優越的初始化方案來獨立預訓練多模式CNN的深度分支。在端到端訓練中,使用具有挑戰性的Cityscapes資料集聯合優化了網路引數。評估是在兩個不同的常見計算機視覺任務上進行的,即語義分割和物件檢測。對於後者,本文還介紹瞭如何從Cityscapes中的例項級別註釋中提取物件級別的groundtruth,以便訓練一個強大的SSD物件檢測器。在全面的實驗中,顯示了所提出的多模態CNN的有效性。 RGBGoogLeNet和進一步的RGB-D網路基線都表現優異。