訂閱
糾錯(cuò)
加入自媒體

一文了解計(jì)算機(jī)視覺(jué)中的特征金字塔技術(shù)總結(jié)

前言:

特征金字塔是目前用于目標(biāo)檢測(cè)、語(yǔ)義分割、行為識(shí)別等方面比較重要的一個(gè)部分,對(duì)于提高模型性能具有非常好的表現(xiàn)。

不同大小的目標(biāo)都經(jīng)過(guò)了相同的降采樣比例后會(huì)出現(xiàn)較大的語(yǔ)義代溝,最常見(jiàn)的表現(xiàn)就是小目標(biāo)檢測(cè)精度比較低。特征金字塔具有在不同尺度下有不同分辨率的特點(diǎn),不同大小的目標(biāo)都可以在相應(yīng)的尺度下?lián)碛泻线m的特征表示,通過(guò)融合多尺度信息,在不同尺度下對(duì)不同大小的目標(biāo)進(jìn)行預(yù)測(cè),從而很好地提升了模型的性能。

本文將介紹特征金字塔的兩種構(gòu)建方式,介紹目前特征金字塔的主要改進(jìn)思路和方案,主要有:ASPP, FPN, PANet, RFB, ASFF, FPT, YOLOF等。

更多內(nèi)容請(qǐng)關(guān)注公眾號(hào)CV技術(shù)指南,專(zhuān)注于計(jì)算機(jī)視覺(jué)的技術(shù)總結(jié),最新技術(shù)跟蹤。

兩種構(gòu)建方式

1. 通過(guò)多次降采樣生成不同分辨率的層構(gòu)成,這種方式應(yīng)用比較廣,比較常見(jiàn)的應(yīng)用有SSD, FPN, YOLO_v3, ...此外還有很多。

2. 通過(guò)多條具有不同空洞率的空洞卷積的支路來(lái)構(gòu)建。目前這方面的應(yīng)用有ASPP, RFP等。

構(gòu)建金字塔只是個(gè)基礎(chǔ)操作,對(duì)于構(gòu)建后的處理才是重點(diǎn),目前有多種多樣的方法去處理,這方面的改進(jìn)主要有ASFF, PANet, FPT, YOLOF, BiFPN, STDN等。

ASPP(2017)

ASPP是基于第二種方式來(lái)構(gòu)建的,具體如下圖所示:

通過(guò)多支路后進(jìn)行concate,再進(jìn)行1x1卷積。這篇論文比較簡(jiǎn)單,主要貢獻(xiàn)就是提出了這種構(gòu)建方式。

FPN(2017)

對(duì)于一般的神經(jīng)網(wǎng)絡(luò)都是采用圖b所示的方式來(lái)預(yù)測(cè),通過(guò)對(duì)圖像多次降采樣,在最后一層進(jìn)行預(yù)測(cè),這種方式的缺點(diǎn)是對(duì)小目標(biāo)的檢測(cè)效果不好。

在SSD中采用了圖c的方式,利用前幾層的信息進(jìn)行多尺度預(yù)測(cè),這種方式的缺點(diǎn)是低層的語(yǔ)義信息不夠,而且SSD為了避免重復(fù)使用前面已經(jīng)卷積過(guò)的feature map,而從靠后的層(eg: conv4_3 of VGG nets )才開(kāi)始構(gòu)建金字塔,這樣做的缺點(diǎn)就是金字塔的低層的分辨率也不夠,丟失了前面層高分辨率的信息,而那些才是對(duì)識(shí)別小目標(biāo)起重要作用的信息。

而FPN是目前應(yīng)用比較廣的一種方式,在圖C的基礎(chǔ)上增加了一條自上而下的路徑,主要目的就是解決前面三種方式存在的問(wèn)題。通過(guò)自上而下的路徑,使得低層的feature map具有較好的語(yǔ)義信息。

這條路徑的實(shí)現(xiàn)方式如下圖所示。

注:FPN的效果非常好,但仍然存在不少改進(jìn)的空間,后續(xù)會(huì)出現(xiàn)好幾篇論文逐一改進(jìn)這些問(wèn)題。

PANet(2018)

我在《CNN結(jié)構(gòu)演變總結(jié)(三)設(shè)計(jì)原則》(點(diǎn)擊進(jìn)入)中提到,縮短信息流動(dòng)路徑和增加不同分支來(lái)增加信息流動(dòng)路徑的思想會(huì)產(chǎn)生比較強(qiáng)的性能,總結(jié)起來(lái)就是“split-transform-merge”和“feature reuse”,這也是這幾年神經(jīng)網(wǎng)絡(luò)的主要改進(jìn)思想,幾乎可以說(shuō)所有的改進(jìn)方案都是基于這兩種思想。

在PANet同樣基于這一點(diǎn),提出了在FPN中自上而下的路徑的基礎(chǔ)上增加了一條自下而上的路徑,具體如下圖所示。

具體路徑的實(shí)現(xiàn)方式如下圖所示,對(duì)lower level先進(jìn)行步長(zhǎng)為2,大小為3x3的卷積進(jìn)行降采樣,再與鄰側(cè)同大小的level逐像 素相加,再進(jìn)行3x3卷積,形成Ni+1。

在FPN中采用了分而治之的思想,所謂分而治之,就是對(duì)于大的目標(biāo)在金字塔高層檢測(cè),小的目標(biāo)在金字塔低層檢測(cè);谶@種思想的論文還有很多,例如YOLO_V3,根據(jù)數(shù)據(jù)集上的先驗(yàn)提出了9個(gè)尺寸不同的候選框,根據(jù)這9個(gè)候選框的尺寸分別在不同的level上檢測(cè)。

PANet論文提出當(dāng)目標(biāo)大小相差超過(guò)10個(gè)像素的時(shí)候,就有可能被分到不同的level上檢測(cè),而事實(shí)上這兩個(gè)目標(biāo)可能差不多,因此這種方式并不是最優(yōu)方案。

PANet論文的第二點(diǎn)貢獻(xiàn)是提出自適應(yīng)特征池化( Adaptive Feature Pooling)。

主要思想是將所有l(wèi)evel中產(chǎn)生的候選框中的信息,都用來(lái)參與預(yù)測(cè)。而不是大的目標(biāo)在higher level檢測(cè),小的目標(biāo)在lower level檢測(cè)。

具體做法如下圖所示,使用ROIAlign將金字塔reshape到相同的大小,使用共享的一個(gè)全連接層對(duì)這四個(gè)level分別計(jì)算,再通過(guò)逐像素求和或取max的方式融合四個(gè)level到一個(gè)feature map。

RFB(2018)

RFB論文認(rèn)為ASPP使用不同空洞率的空洞卷積所組成的多分支結(jié)構(gòu)效果很好,但由于在使用之前,使用的是同尺寸的卷積核,導(dǎo)致每條分支產(chǎn)生的分辨率仍然是相同的,只是感受野不同而已。這樣的方式與雛菊型卷積核相比,產(chǎn)生的特征并不是那么明顯。

因此,RFB論文提出了Receptive Field Block,主要做法就是在進(jìn)行空洞卷積前加一層不同大小的卷積層,分別是1x1, 3x3, 5x5這樣每條支路產(chǎn)生的分辨率不同。

這種方式的效果與其它方式的對(duì)比

ASFF(2019)

在FPN中這種分而治之除了在PANet中提到的一個(gè)問(wèn)題是,當(dāng)一個(gè)大的目標(biāo)在higher level上檢測(cè)時(shí),小的目標(biāo)在higher level是被當(dāng)作了background。同理,大目標(biāo)在lower level中被當(dāng)成了background,實(shí)際上在這些地方是存在目標(biāo)的,只是不在這一層檢測(cè)而已,因此這樣會(huì)存在較大的問(wèn)題。

基于這個(gè)問(wèn)題,ASFF提出了adaptively spatial feature fusion (ASFF)。主要思想是將每層的信息都相互融合起來(lái)。

具體操作是先對(duì)每一層進(jìn)行1x1降維,對(duì)于第一和二,第二和第三層這種分辨率比為1:2的,通過(guò)3x3,步長(zhǎng)為2的卷積降采樣,對(duì)于第一和第三層這種分辨率比為1:4的,先對(duì)進(jìn)行max-pooling,再通過(guò)3x3,步長(zhǎng)為2的卷積降采樣。然后通過(guò)系數(shù)加權(quán)融合。

該方法用于YOLO_v3,提高了大概5-10的mAP。

基于這種方式改進(jìn)的還有Feature Pyramid Transformer。

FPT(2020)

這篇論文的主要觀點(diǎn)是認(rèn)為背景中其它物品的存在也會(huì)輔助識(shí)別某一個(gè)類(lèi)別,例如電腦只會(huì)在電腦桌上,而不是大街上或水里,背景中的鼠標(biāo),鍵盤(pán)也會(huì)輔助區(qū)分電視機(jī)與電腦顯示器。因此需要融合金字塔其它level的信息,這雖然出發(fā)點(diǎn)與ASFF不同,但實(shí)際改進(jìn)的思路都是一樣的,都是讓每一層都融合其它層的語(yǔ)義信息。

主要思想:利用Non Local Block的操作,以一層為query,其它每層為key,value,計(jì)算相似性,得出加權(quán)系數(shù),對(duì)該層進(jìn)行加權(quán),每一層都進(jìn)行這樣的操作。

具體在實(shí)現(xiàn)細(xì)節(jié)上有所區(qū)別,要介紹清楚實(shí)現(xiàn)操作比較費(fèi)時(shí),對(duì)Non Local Block也得解釋,因此這里只介紹個(gè)思路,關(guān)于這兩篇論文在公眾號(hào)《CV技術(shù)指南》中有詳細(xì)解讀,詳情請(qǐng)點(diǎn)擊下方鏈接。讀者可根據(jù)這兩篇論文了解transformer如何在CV中應(yīng)用,建議看一看。

《NLN: Non-Local Neural Network》

《FPT: Feature Pyramid Transformer》

YOLOF(2021)

YOLOF通過(guò)實(shí)驗(yàn)得出結(jié)論在特征金字塔的C5層已經(jīng)有足夠的語(yǔ)義信息,融合其它層信息并不會(huì)帶來(lái)很大的精度提升,也就1的mAp,而使用分而治之的思想極為有效,可以提升大概12的mAP。

因此YOLOF提出只需要使用C5層信息,并仍然基于分而治之的思想。但由于使用max-iou的匹配方式,只在C5層預(yù)測(cè)會(huì)出現(xiàn)對(duì)大小不同的目標(biāo)生成的positive anchor數(shù)量不平衡的問(wèn)題;分而治之存在計(jì)算量大,需要的內(nèi)存大,推理速度慢的問(wèn)題。

基于這兩個(gè)問(wèn)題,YOLOF提出Dialted encoder和Uniform Matching來(lái)實(shí)現(xiàn)在單層上進(jìn)行預(yù)測(cè),而這種預(yù)測(cè)可以做到仍然是基于分而治之的思想。

關(guān)于Dialted Encoder結(jié)構(gòu)如下:

主要操作是串聯(lián)四個(gè)不同空洞率的3x3空洞卷積,注意與ASPP,RFB不同的是,這里是串聯(lián),ASPP和RFB是多支路并聯(lián)。

Uniform Matching是使用最近鄰方式來(lái)匹配,替代了Max-IOU。具體方式是選擇GT boxes最近的K個(gè)boxes,這樣的方式不管GT boxes大小可以匹配相同數(shù)量的Boxes。

其它改進(jìn)的特征金字塔

除了以上這些改進(jìn)方案外,還存在一些其它的結(jié)構(gòu)或信息融合方式。這里只提個(gè)來(lái)源和結(jié)構(gòu)圖,感興趣的讀者請(qǐng)自行了解。

SFAM(2019)

來(lái)源于論文《M2Det: A Single-Shot Object Detector Based on Multi-Level Feature Pyramid Network》

STDN(2018)

來(lái)源于論文《Scale-Transferrable Object Detection》

BiFPN(2020)

來(lái)源于論文《EffificientDet: Scalable and Effificient Object Detection》

此外,還包括一些比較復(fù)雜的結(jié)構(gòu),如RFP,NAS-FPN。

總結(jié):本文介紹了特征金字塔的兩種構(gòu)建方式,特征金字塔的一些現(xiàn)有方案,主要都是圍繞金字塔如何更好地融合信息進(jìn)行預(yù)測(cè)來(lái)改進(jìn)。特征金字塔算是比較有用的一個(gè)結(jié)構(gòu),用在目標(biāo)檢測(cè)、語(yǔ)義分割等領(lǐng)域有較好的性能。

本文來(lái)源于公眾號(hào)CV技術(shù)指南的技術(shù)總結(jié)系列。

更多內(nèi)容請(qǐng)關(guān)注公眾號(hào)CV技術(shù)指南,專(zhuān)注于計(jì)算機(jī)視覺(jué)的技術(shù)總結(jié),最新技術(shù)跟蹤。

在公眾號(hào)《CV技術(shù)指南》中回復(fù)“特征金字塔”可獲取以上12篇論文。

參考論文

1.DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs

2.Feature Pyramid Networks for Object Detection

3.Path Aggregation Network for Instance Segmentation

4.Receptive Field Block Net for Accurate and Fast Object Detection

5.Learning Spatial Fusion for Single-Shot Object Detection

6.Feature Pyramid Transformer

7.You Only Look One-level Feature

8.M2Det: A Single-Shot Object Detector Based on Multi-Level Feature Pyramid Network

9.Scale-Transferrable Object Detection

10.EffificientDet: Scalable and Effificient Object Detection

11.DetectoRS: Detecting Objects with Recursive Feature Pyramid and Switchable Atrous Convolution

12.NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Detection

聲明: 本文由入駐維科號(hào)的作者撰寫(xiě),觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號(hào)
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)