博客專欄

        EEPW首頁 > 博客 > Double-Head:檢測頭上再創(chuàng)新,提升精度(附原論文下載)

        Double-Head:檢測頭上再創(chuàng)新,提升精度(附原論文下載)

        發(fā)布人:CV研究院 時間:2022-01-16 來源:工程師 發(fā)布文章

        論文地址:https://arxiv.org/pdf/1904.06493.pdf

        1.png

        兩種頭結(jié)構(gòu)(即全連接頭和卷積頭)已廣泛用于基于 R-CNN 的檢測器中,用于分類和定位任務。然而,人們對這兩種頭結(jié)構(gòu)如何為這兩項任務工作缺乏了解。

        一、背景

        大多數(shù)兩階段目標檢測器共享一個用于分類和邊界框回歸的頭。兩種不同的頭結(jié)構(gòu)被廣泛使用。Faster RCNN在單級特征圖(conv4)上使用卷積頭(conv5),而FPN在多級特征圖上使用全連接頭(2-fc)。然而,關于兩個任務(目標分類和定位),兩個頭結(jié)構(gòu)之間缺乏理解。

        在今天分享中,研究者對全連接頭(fc-head)和卷積頭(conv-head)在兩個檢測任務上進行了徹底的比較,即目標分類和定位。我們發(fā)現(xiàn)這兩種不同的頭結(jié)構(gòu)是互補的。fc-head更適合分類任務,因為它的分類分數(shù)與建議與其對應的真實框之間的交集(IoU)更相關。同時,conv-head提供了更準確的邊界框回歸。

        我們認為這是因為fc-head對空間敏感,候選的不同部分具有不同的參數(shù),而conv-head的所有部分共享卷積核。為了驗證這一點,研究者檢查了兩個頭的輸出特征圖,并確認fc-head在空間上更加敏感。因此,fc-head更好地區(qū)分完整目標和部分目標的能力,而convhead更健壯地回歸整個對象(邊界框回歸)。

        2.png

        網(wǎng)絡的backbone可以使用常用的網(wǎng)絡,比如VGG、resnet,再加上FPN的結(jié)構(gòu),根據(jù)一個ROIPooling輸出7×7×256大小的feature map,一般的做法是將這個featuremap接上一個全連接分支,在全連接后面接上一個分支輸出預測的BoundingBox位置信息,一個分支輸出對應位置的類別信息。如上圖(a)所示。

        在得到7×7×256大小的feature map后,接上幾個卷積操作,再接上一個全連接,再在后面接上一個分支輸出預測的BoundingBox位置信息,一個分支輸出對應位置的類別信息。如上圖(b)所示。

        二、前言

        兩種頭結(jié)構(gòu)(即全連接頭和卷積頭)已廣泛用于基于 R-CNN 的檢測器中,用于分類和定位任務。然而,人們對這兩種頭結(jié)構(gòu)如何為這兩項任務工作缺乏了解。為了解決這個問題,研究者進行了徹底的分析并發(fā)現(xiàn)了一個有趣的事實,即兩個頭結(jié)構(gòu)對兩個任務有相反的偏好。具體來說,全連接頭(fc-head)更適合分類任務,而卷積頭(conv-head)更適合定位任務。

        4.png

        此外,研究者檢查了兩個頭的輸出特征圖,發(fā)現(xiàn)fc-head比conv-head具有更高的空間敏感性。因此,fc-head具有更強的區(qū)分完整目標和部分目標的能力,但對回歸整個目標并不魯棒。基于這些發(fā)現(xiàn),研究者提出了一種Double-Head方法,它有一個專注于分類的全連接頭和一個用于邊界框回歸的卷積頭。沒有花里胡哨,新的方法在MS COCO數(shù)據(jù)集上分別從具有ResNet-50和ResNet-101骨干網(wǎng)絡的特征金字塔網(wǎng)絡 (FPN) 基線獲得+3.5和+2.8AP。

        三、新框架詳細分析

        Data Processing for Analysis:

        為了進行公平的比較,研究者對預定義的候選而不RPN生成的候選對兩個頭進行分析,因為兩個檢測器具有不同的候選。預定義的候選包括圍繞不同大小的真實值框滑動窗口。對于每個真實對象,生成大約14,000個候選結(jié)果。這些候選與真實框之間的IoU(表示為proposal IoUs)逐漸從零(背景)變?yōu)橐唬ㄕ鎸嵖颍τ诿總€候選,兩個檢測器(fc-head和conv-head)生成分類分數(shù)和回歸邊界框。此過程適用于驗證集中的所有目標。

        5.png

        研究者將預定義的候選及其相應的GT之間的IoU統(tǒng)一分成20個bins,并相應地對這些候選進行分組。對于每組,計算分類分數(shù)的均值和標準差以及回歸框的IoU。上圖顯示了小型、中型和大型目標的結(jié)果。

        Loss Function:

        這里的損失函數(shù)與平時的一個head的計算是類似的,只是多一個分支而已,損失函數(shù)如下所示,是doublehead的損失函數(shù)加上rpn的損失函數(shù):

        6.png

        上式中,ωfc和ωconv分別是doublehead中全連接和卷積的loss權重,Lfc、Lconv和Lrpn分別是doublehead中fc-head,conv-head,rpn的loss函數(shù)。具體采用哪種損失函數(shù),這里同F(xiàn)PN,回歸采用smooth-l1,分類采用cross entropy loss。到這里基本就是doublehead的主要原理了,下面還有一些擴展。

        擴展的doublehead結(jié)構(gòu):

        我們發(fā)現(xiàn)上面的原始doublehead中的每個分支都是關注自己的任務,比如卷積只關注回歸操作,全連接關注分類操作,而不同的head不只關注自己的任務對檢測器的性能還會有所提升。不只關注自己任務(Unfocused Task Supervision)的意思是,fc-head也會接受回歸任務的監(jiān)督信息,conv-head則會接受分類任務的監(jiān)督信息。如下圖所示。

        7.png

        擴展doublehead中的損失函數(shù):

        在訓練過程中,fc-head不僅要受到本身擅長的分類信息監(jiān)督還要受到回歸信息的監(jiān)督,同理conv-head也要受到兩個信息的監(jiān)督,先拿fc-head來說,損失函數(shù)如下所示:

        8.png

        conv-head,它的損失函數(shù)計算同fc-head:

        9.png

        擴展doublehead中的推斷:

        看上面的結(jié)構(gòu)圖可以看出,分類結(jié)果是兩個head融合的結(jié)果,而回歸還是只采用卷積得到的結(jié)果。對于分類的融合方式如下式所示:

        10.png

        四、實驗結(jié)果

        11.png

         Evaluations of detectors with different head structures on COCO val2017

        12.png

        Single-Conv和Double-Conv的比較。左:分類分數(shù)的平均值和標準差。 右:回歸框和GT之間IoU的均值和標準差。 Single-Conv的分類分數(shù)比Double-Conv高,而回歸結(jié)果是可比。

        13.png

        Comparison between Single-FC and Double-FC

        14.png

        AP over balance weights λfc and λconv

        15.png

        可視化

        16.png17.png

        *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



        關鍵詞: 深度學習

        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 阳西县| 井研县| 合肥市| 阿拉善盟| 邹城市| 桓仁| 梁山县| 务川| 黄梅县| 石城县| 乐平市| 岐山县| 玛沁县| 门源| 惠水县| 金堂县| 安福县| 涞水县| 隆林| 蕉岭县| 天门市| 沁水县| 太白县| 仪征市| 比如县| 基隆市| 南漳县| 兴业县| 罗城| 康乐县| 海林市| 冕宁县| 礼泉县| 南皮县| 扎赉特旗| 大田县| 临沂市| 梁山县| 彰化市| 文化| 三原县|