<source id="8ti10"></source>
  • <video id="8ti10"></video>
  • <source id="8ti10"></source>

        <u id="8ti10"><video id="8ti10"></video></u>
      1. 申請試用
        登錄
        核心技術
        以原創技術體系為根基,SenseCore商湯AI大裝置為核心基座,布局多領域、多方向前沿研究,
        快速打通AI在各個垂直場景中的應用,向行業賦能。

        CVPR 2020 | 商湯提出應對尺度變化的檢測新算法

        2020-07-25

         

        導讀:在CVPR 2020上,為了更好的解決物體檢測中的尺度問題,商湯EIG算法中臺團隊重新設計了經典的單階段檢測器的FPN【1】以及HEAD結構,通過構造更具等變性的特征金子塔,以提高檢測器應對尺度變化的魯棒性,可以使單階段檢測器在coco上提升~4mAP,完整代碼已開源。

        aa.png

                            圖 1 效果概覽

        動機

        文章提出了一個針對物體具有大尺度變化數據集的檢測算法。工作的研究動機在于:

        1.     當前所有基于RetinaNet的單階段檢測器,都采用了共享權重的分類HEAD以及回歸HEAD在特征金字塔上滑動從而檢測不同大小的物體,相應的最為適應這種結構的特征金子塔對于尺度變化應當具有等變性。

        2.     經典的底層特征提取算法如SIFT,其高斯金字塔具有很好的尺度等變性,我們思考了深度神經網絡中特征金字塔與高斯金字塔的區別,從而提出了提高其等變性的算法。

        關于高斯金字塔的等變性質,可以結合下面一個示例為大家展示這種性質:

        image.png


          圖 2            圖3

               

            image.png:對羊嘴邊緣具有高相應的特征提取算子 image.png:帶dilation的羊嘴邊緣提取算子

        圖2圖3中,一張圖中有兩只尺度比例大概為2的羊,有一個可以檢測羊嘴的特征提取器,但是其僅能對尺度較小的羊的羊嘴具有較高的響應,那么對于尺度較大的羊我們應該如何處理呢?

        1.     如圖2,可以用一個高斯卷積核去除高頻后降采樣一次,使得大羊的羊嘴特征跟小羊在同一尺度,從而在降采樣的圖上進行大羊羊嘴的檢測。

        2.     如圖3,可以用一個高斯卷積核去除高頻后,將特征提取算子變為變為空洞卷積,亦可以進行大羊的羊嘴檢測。

        這兩種方法不僅符合直覺,其在數字信號處理理論中有較為完善的理論論證,在此不再贅述。

         

        回想單階段檢測器(如RetinaNet),

        image.png

         圖 4 retinanet結構

        其共享權重的HEAD(Subnet)設計其實已經將特征金字塔中的特征當作了高斯金字塔,即假設特征金子塔也有上述尺度等變性質。但是實際使用中,我們經常觀察到不同尺度的物體相互競爭,使得檢測器在不同尺度的性能此高彼低的現象,這些情況不太符合尺度等變特性,這是為什么呢?

        分析

        相比高斯金字塔,從backbone的不同stage抽取特征圖組成的的特征金字塔其實失去了嚴格的等變性。

        1      相比于圖像處理中low level的特征,深度神經網絡提取的特征往往經過足夠多基礎特征的組合,其特征往往有更為復雜的高級語義,并且由于我們用相同的backbone進行特征的提取不同尺度的物體的特征會有相互競爭的現象。

        2      深度神經網絡中,因為足夠多的卷積與非線性激活單元,其不同stage感受野的變化在特征圖的不同位置具有不一致的現象,使得金子塔的兩層間很難有高斯金字塔一樣,不同大小物體的特征在downsample一次,或者增大特征提取算子的dilation這樣的處理后具有一致性。

        關于不同尺度物體的競爭:

        image.png

                                                              圖 5

         

        物體檢測中,我們需要特征圖同時具有較高的語義信息完成分類,又需要較好的保留原圖信息用于定位,單一尺度的物體,在backbone中的不同stage可以提取出不同級別的語義,但是在處理另一尺度的物體時,則會出現不匹配的現象,如小物體用到的特征提取算子可能只是大物體提取低級特征算子,從而很難提取高級語義進行分類,這也啟發了后來的FPN的Top-down結構,以及后續的一系列feature fusing的結構。

        網絡設計

        如何改進特征金子塔使其具有更好的等變性質呢?

        我們發現,在特征金子塔的某一層為基準,其與上下兩層間具有更好的相關性,直覺上可以推測其底部一層往往保留有更多的定位相關的信息,更高層往往具有更好的分類相關的信息,而以往的feature fusing的方法都遺漏了這種空間尺度(特征金子塔層間)的相關性。

                image.png

                           圖 6  FPN不同層間的相關性

         

               無論是形式上的分析還是實驗發現的這種相關性暗示我們尺度空間上確實有值得提取的特征,我們希望通過在尺度空間上進行卷積來提取這種特征。

               考慮到FPN的不同層的分辨率不同,我們由此提出金字塔卷積(Pconv)的結構。

                       image.png

               特征金字塔相鄰三層(P3,P4,P5)舉例,在P3上利用stride為2的conv進行卷積,在P4上利用普通conv卷積,P5上普通conv卷積然后upsample,得到相同大小的特征圖然后相加,不難推導,其等效于在特征圖上每一點在HW維度卷積后再在尺度空間(P3,P4,P5)進行一次卷積,因此其相當于一個3-D的卷積核。

            image.png

         圖 7 尺度空間卷積(Pconv) 示意圖

         

        既然有了尺度空間的卷積,我們自然的想到了空間尺度共享所有參數的批歸一化(iBN),我們每一次Pconv后,我們將所有層連接在一起,共同更新統計量,這一設計較NAS-FPN【2】中使用的各尺度用各自的BN參數具有更優的性能且更易工程化(如推理時去除BN)。

        image.png

        圖 8   iBN 示意圖

               另一方面,高斯金子塔中特征相鄰層降采樣時有其相匹配的高斯模糊核,太大的模糊核會去除過多有用信息,太小的模糊核引入高頻噪聲。但是特征金字塔中相鄰層之間間隔不同的卷積核與大量的非線性單元,這使得特征圖上不同位置相鄰層之間沒有一個固定的理論高斯模糊核。因此我們由此基于以上提出的Pconv又將其改進為尺度等化的尺度空間卷積(SEPC)模塊:當尺度空間卷積核在尺度空間上滑動時,最底層上用普通的3X3卷積,當相同的卷積核滑向高層特征圖時用可變形卷積(Dconv)【3】實現像在高斯金字塔中一樣的高層特征點與最底層的對齊。同時這個設計中可變形卷積只在高層特征圖上采用,其引入的額外的Dconv的計算量開銷以及推理速度損失其實是很小的。

        image.png

        圖 9 SEPC 示意圖

         

        實驗結果

               我們做了詳盡的消融實驗,以確保我們每個模塊的有效性.我們選取了FSAF【4】,RetinaNet,FreeAnchor【5】三個有代表性的model驗證我們的有效性。

        image.png

               可以看到,我們提出的模塊在三個model上均有穩定的提升,并且性能提升相比flops與forward速度的增加極具性價比,值得注意的是,雖然我們使用了Dconv,但是性能的提升不僅僅是Dconv帶來的,相比head結構全部更換為Dconv,我們的SEPC在速度與性能上都體現出了絕對的優勢。

        同時我們選取了FreeAnchor為基礎與當前SOTA檢測器進行了比較。

        image.png

               我們SEPC在mAP45左右的baseline上依然有接近3mAP的提升,我們在甚至在單尺度測試的條件下得到了一個mAP為50.1的單階段檢測器。

         

         

        傳送門

        代碼目前也已經開源,歡迎各位同學使用和交流。

         

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

        代碼地址: https://github.com/jshilong/SEPC

        References

        [1] Tsung-Yi Lin, Piotr Dollar, Ross Girshick, Kaiming He, Bharath Hariharan, and Serge Belongie. Feature pyramid networks for object detection. In CVPR, 2017.

        [2]Golnaz Ghiasi, Tsung-Yi Lin, and Quoc V Le. Nas-fpn: Learning scalable feature pyramid architecture for object detection. In CVPR, 2019.

        [3] Jifeng Dai, Haozhi Qi, Yuwen Xiong, Yi Li, Guodong Zhang, Han Hu, and Yichen Wei. Deformable convolutional networks. In ICCV, 2017.

        [4] Chenchen Zhu, Yihui He, and Marios Savvides. Feature selective anchor-free module for single-shot object detection. In CVPR, 2019.

        [5] Xiaosong Zhang, Fang Wan, Chang Liu, Rongrong Ji, and Qixiang Ye. FreeAnchor: Learning to match anchors for visual object detection. In NIPS, 2019.


        <source id="8ti10"></source>
      2. <video id="8ti10"></video>
      3. <source id="8ti10"></source>

            <u id="8ti10"><video id="8ti10"></video></u>
          1. 动漫人物打扑克视频