<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          FPN全解

          共 3287字,需瀏覽 7分鐘

           ·

          2021-03-16 23:14

          這篇論文是CVPR2017年的文章,采用特征金字塔做目標(biāo)檢測(cè),有許多亮點(diǎn),特來分享。

          論文:feature pyramid networks for object detection
          論文鏈接:https://arxiv.org/abs/1612.03144

          論文概述:

          作者提出的多尺度的object detection算法:FPN(feature pyramid networks)。原來多數(shù)的object detection算法都是只采用頂層特征做預(yù)測(cè),但我們知道低層的特征語義信息比較少,但是目標(biāo)位置準(zhǔn)確;高層的特征語義信息比較豐富,但是目標(biāo)位置比較粗略。另外雖然也有些算法采用多尺度特征融合的方式,但是一般是采用融合后的特征做預(yù)測(cè),而本文不一樣的地方在于預(yù)測(cè)是在不同特征層獨(dú)立進(jìn)行的。
          代碼的話應(yīng)該過段時(shí)間就會(huì)開源。

          論文詳解:

          下圖FIg1展示了4種利用特征的形式:
          (a)圖像金字塔,即將圖像做成不同的scale,然后不同scale的圖像生成對(duì)應(yīng)的不同scale的特征。這種方法的缺點(diǎn)在于增加了時(shí)間成本。有些算法會(huì)在測(cè)試時(shí)候采用圖像金字塔。
          (b)像SPP net,F(xiàn)ast RCNN,F(xiàn)aster RCNN是采用這種方式,即僅采用網(wǎng)絡(luò)最后一層的特征。
          (c)像SSD(Single Shot Detector)采用這種多尺度特征融合的方式,沒有上采樣過程,即從網(wǎng)絡(luò)不同層抽取不同尺度的特征做預(yù)測(cè),這種方式不會(huì)增加額外的計(jì)算量。作者認(rèn)為SSD算法中沒有用到足夠低層的特征(在SSD中,最低層的特征是VGG網(wǎng)絡(luò)的conv4_3),而在作者看來足夠低層的特征對(duì)于檢測(cè)小物體是很有幫助的。
          (d)本文作者是采用這種方式,頂層特征通過上采樣和低層特征做融合,而且每層都是獨(dú)立預(yù)測(cè)的。

          如下圖Fig2。上面一個(gè)帶有skip connection的網(wǎng)絡(luò)結(jié)構(gòu)在預(yù)測(cè)的時(shí)候是在finest level(自頂向下的最后一層)進(jìn)行的,簡(jiǎn)單講就是經(jīng)過多次上采樣并融合特征到最后一步,拿最后一步生成的特征做預(yù)測(cè)。而下面一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)和上面的類似,區(qū)別在于預(yù)測(cè)是在每一層中獨(dú)立進(jìn)行的。后面有這兩種結(jié)構(gòu)的實(shí)驗(yàn)結(jié)果對(duì)比,非常有意思,因?yàn)橹爸灰娺^使用第一種特征融合的方式。

          作者的主網(wǎng)絡(luò)采用ResNet。
          作者的算法大致結(jié)構(gòu)如下Fig3:一個(gè)自底向上的線路,一個(gè)自頂向下的線路,橫向連接(lateral connection)。圖中放大的區(qū)域就是橫向連接,這里1*1的卷積核的主要作用是減少卷積核的個(gè)數(shù),也就是減少了feature map的個(gè)數(shù),并不改變feature map的尺寸大小。

          自底向上其實(shí)就是網(wǎng)絡(luò)的前向過程。在前向過程中,feature map的大小在經(jīng)過某些層后會(huì)改變,而在經(jīng)過其他一些層的時(shí)候不會(huì)改變,作者將不改變feature map大小的層歸為一個(gè)stage,因此每次抽取的特征都是每個(gè)stage的最后一個(gè)層輸出,這樣就能構(gòu)成特征金字塔。
          自頂向下的過程采用上采樣(upsampling)進(jìn)行,而橫向連接則是將上采樣的結(jié)果和自底向上生成的相同大小的feature map進(jìn)行融合(merge)。在融合之后還會(huì)再采用3*3的卷積核對(duì)每個(gè)融合結(jié)果進(jìn)行卷積,目的是消除上采樣的混疊效應(yīng)(aliasing effect)。并假設(shè)生成的feature map結(jié)果是P2,P3,P4,P5,和原來自底向上的卷積結(jié)果C2,C3,C4,C5一一對(duì)應(yīng)。

          貼一個(gè)ResNet的結(jié)構(gòu)圖:這里作者采用Conv2,CONV3,CONV4和CONV5的輸出。因此類似Conv2就可以看做一個(gè)stage。

          作者一方面將FPN放在RPN網(wǎng)絡(luò)中用于生成proposal,原來的RPN網(wǎng)絡(luò)是以主網(wǎng)絡(luò)的某個(gè)卷積層輸出的feature map作為輸入,簡(jiǎn)單講就是只用這一個(gè)尺度的feature map。但是現(xiàn)在要將FPN嵌在RPN網(wǎng)絡(luò)中,生成不同尺度特征并融合作為RPN網(wǎng)絡(luò)的輸入。在每一個(gè)scale層,都定義了不同大小的anchor,對(duì)于P2,P3,P4,P5,P6這些層,定義anchor的大小為32^2,64^2,128^2,256^2,512^2,另外每個(gè)scale層都有3個(gè)長(zhǎng)寬對(duì)比度:1:2,1:1,2:1。所以整個(gè)特征金字塔有15種anchor。

          正負(fù)樣本的界定和Faster RCNN差不多:如果某個(gè)anchor和一個(gè)給定的ground truth有最高的IOU或者和任意一個(gè)Ground truth的IOU都大于0.7,則是正樣本。如果一個(gè)anchor和任意一個(gè)ground truth的IOU都小于0.3,則為負(fù)樣本。

          看看加入FPN的RPN網(wǎng)絡(luò)的有效性,如下表Table1。網(wǎng)絡(luò)這些結(jié)果都是基于ResNet-50。評(píng)價(jià)標(biāo)準(zhǔn)采用AR,AR表示Average Recall,AR右上角的100表示每張圖像有100個(gè)anchor,AR的右下角s,m,l表示COCO數(shù)據(jù)集中object的大小分別是小,中,大。feature列的大括號(hào){}表示每層獨(dú)立預(yù)測(cè)。

          從(a)(b)(c)的對(duì)比可以看出FRN的作用確實(shí)很明顯。另外(a)和(b)的對(duì)比可以看出高層特征并非比低一層的特征有效。
          (d)表示只有橫向連接,而沒有自頂向下的過程,也就是僅僅對(duì)自底向上(bottom-up)的每一層結(jié)果做一個(gè)1*1的橫向連接和3*3的卷積得到最終的結(jié)果,有點(diǎn)像Fig1的(b)從feature列可以看出預(yù)測(cè)還是分層獨(dú)立的。作者推測(cè)(d)的結(jié)果并不好的原因在于在自底向上的不同層之間的semantic gaps比較大。
          (e)表示有自頂向下的過程,但是沒有橫向連接,即向下過程沒有融合原來的特征。這樣效果也不好的原因在于目標(biāo)的location特征在經(jīng)過多次降采樣和上采樣過程后變得更加不準(zhǔn)確。
          (f)采用finest level層做預(yù)測(cè)(參考Fig2的上面那個(gè)結(jié)構(gòu)),即經(jīng)過多次特征上采樣和融合到最后一步生成的特征用于預(yù)測(cè),主要是證明金字塔分層獨(dú)立預(yù)測(cè)的表達(dá)能力。顯然finest level的效果不如FPN好,原因在于PRN網(wǎng)絡(luò)是一個(gè)窗口大小固定的滑動(dòng)窗口檢測(cè)器,因此在金字塔的不同層滑動(dòng)可以增加其對(duì)尺度變化的魯棒性。另外(f)有更多的anchor,說明增加anchor的數(shù)量并不能有效提高準(zhǔn)確率。

          另一方面將FPN用于Fast R-CNN的檢測(cè)部分。除了(a)以外,分類層和卷積層之前添加了2個(gè)1024維的全連接層。細(xì)節(jié)地方可以等代碼出來后再研究。
          實(shí)驗(yàn)結(jié)果如下表Table2,這里是測(cè)試Fast R-CNN的檢測(cè)效果,所以proposal是固定的(采用Table1(c)的做法)。與Table1的比較類似,(a)(b)(c)的對(duì)比證明在基于區(qū)域的目標(biāo)卷積問題中,特征金字塔比單尺度特征更有效。(c)(f)的差距很小,作者認(rèn)為原因是ROI pooling對(duì)于region的尺度并不敏感。因此并不能一概認(rèn)為(f)這種特征融合的方式不好,博主個(gè)人認(rèn)為要針對(duì)具體問題來看待,像上面在RPN網(wǎng)絡(luò)中,可能(f)這種方式不大好,但是在Fast RCNN中就沒那么明顯。

          同理,將FPN用于Faster RCNN的實(shí)驗(yàn)結(jié)果如下表Table3。

          下表Table4是和近幾年在COCO比賽上排名靠前的算法的對(duì)比。注意到本文算法在小物體檢測(cè)上的提升是比較明顯的。

          另外作者強(qiáng)調(diào)這些實(shí)驗(yàn)并沒有采用其他的提升方法(比如增加數(shù)據(jù)集,迭代回歸,hard negative mining),因此能達(dá)到這樣的結(jié)果實(shí)屬不易。

          總結(jié)

          作者提出的FPN(Feature Pyramid Network)算法同時(shí)利用低層特征高分辨率和高層特征的高語義信息,通過融合這些不同層的特征達(dá)到預(yù)測(cè)的效果。并且預(yù)測(cè)是在每個(gè)融合后的特征層上單獨(dú)進(jìn)行的,這和常規(guī)的特征融合方式不同。


          瀏覽 45
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人H动漫精品一区二区无码软件 | 91成人无码在线电影 | 韩国精品在线 | 又滑黄又爽的软件免费版 | 青青草无码成人A片免费看 |