最新單步目標檢測框架,引入雙向網路,精度和速度均達到不錯效果
- 2019 年 12 月 2 日
- 筆記
譯者 | 路一直都在
出品 | AI科技大本營(ID:rgznai100)
one-stage的目標檢測方法因其具有實時性強、檢測精度高等特點,近年來受到廣泛關注。目標檢測包括分類和定位兩個子任務,通常來說,one-stage目標檢測有通用的策略:利用一個經過ImageNet預訓練的backbone完成分類任務,利用一個自上而下的特徵金字塔表示形式處理尺度變化問題。
與常見的策略相反,最近的工作已經證明了從零開始訓練的好處,以減少分類和定位之間的任務差距,特別是在高重疊閾值的情況下。然而,與基於微調的檢測模型相比,從零開始訓練的檢測模型需要的訓練時間要長得多,不能滿足實時的要求。
本文設計了一個one-stage檢測框架,它結合了微調預訓練模型和從零開始訓練的優點。該框架包括一個預訓練過的標準backbone網路,一個輕量級的從零開始訓練的輔助網路。此外,作者認為通常使用的自頂向下的金字塔表示只關注於將高級語義從頂層傳遞到底層,因此在檢測框架中引入了一個雙向網路,它可以有效地傳遞中低層次和高層次的語義資訊。

在COCO和UAVDT上的實驗表明,以經典的VGG作為backbone,本文提出的方法相比baseline在AP指標上分別提高了7.4%和4.2%。在COCO測試集上,固定300×300輸入,本文提出的以ResNet為backbone的檢測器在單級推理方面超過了現有的單級檢測方法,AP達到了34.3 ,在一個Titan X GPU上時間為19毫秒,同時兼顧了精度和速度。
引文
one-stage和two-stage目標檢測框架
由於深度神經網路尤其是卷積神經網路在電腦視覺中的廣泛應用,諸如目標識別,檢測,分割,跟蹤等很多視覺任務都取得了很好的發展。目標檢測包括對目標的分類和定位兩個任務,主流的檢測框架可以大致分為兩類:one-stage系列和two-stage系列。two-stage系列的代表演算法有Faster R-CNN,首先選擇出所有的候選區域,然後針對每個候選區域進行分類和回歸,有效的提升了目標檢測的正確率,但是這種先篩選後檢測的策略,在速度上的表現不是很好,於是針對實時的要求,one-stage目標檢測框架被提出,代表性演算法YOLO,SSD等通過直接回歸的策略,有效的提升了檢測速度,但是準確性相比two-stage系列要略遜一籌。
小目標檢測的難點
近來的one-stage探測器的目標是獲得與two-stage相近的檢測精度。儘管在大中型目標上效果較好,但這些探測器在小目標上的性能卻低於預期。例如,當使用一個500×500的輸入時,使用RetinaNet在COCO數據集上, AP為47,但在小目標上,AP只有 14。小目標檢測是一個具有挑戰性的問題,它既需要精確描述對象的低層/中層資訊,也需要區分目標對象與背景或其他對象類別的高級語義資訊。
預訓練網路的利弊
主流的one-stage目標檢測框架的通用策略是:利用一個經過ImageNet預訓練的backbone完成分類任務。然後利用檢測目標的數據集進行微調,從而達到快速收斂的效果。但是目標檢測中的分類任務和定位任務之間仍然存在較大差異,尤其是在目標框重疊閾值高的情況下。在ICCV2019Kaiming He的最新論文中,也對利用ImageNet進行預訓練然後fine-tune這種模式進行了思考,並且認為從零開始訓練檢測模型,有助於精確定位。但是另一方面,與典型的基於微調的網路相比,從零開始訓練非常深的網路需要的訓練時間要長得多。
本文引入一個新的檢測框架,優勢互補,將預訓練和從零開始學習的優點結合起來,組成了一個標準網路,該網路使用一個預訓練的backbone和一個從零開始訓練的輔助網路。輔助網路為標準的預訓練網路提供低/中級資訊的補充,有利於中小目標的檢測。
綜上所述,在檢測不同尺度的目標(尤其是小目標)時,需要低級/中級資訊和高級語義資訊。當前探測器通常使用自頂向下的金字塔特徵表示,其中來自頂層或後一層的高層資訊被融合到底層或前一層語義上較弱的高解析度特徵。儘管這種自頂向下的特徵金字塔表示可以提高性能,但它只向前面的層注入了高級語義資訊。此外,這種金字塔代表是由許多層以一層一層的方式融合而成。在本文中,作者認為高層資訊與前一層,低層/中層資訊與後一層的融合是多尺度目標檢測的關鍵。
方法
網路結構
整體的網路結構如下圖所示,由三部分組成:(1)標準的SSD網路結構作為backbone(2)從零開始訓練的輕量級網路(LSN)(3)雙向網路

(1)標準SSD網路
將預訓練的SSD網路作為backbone,SSD網路的結構如下圖所示,在本文中,選取conv4_3,F C_7, conv8_2, conv9 _2, conv10 _2, and conv11 _2作為骨幹網特徵,使用不同解析度的層來執行獨立的預測。

(2)輕量級輔助網路(LSN)
LSN網路與SSD特徵層緊密相連,用於構造低層/中層特徵表示,稱為LSN特徵。
如下圖所示,現有的特徵提取策略是:從主幹網路中提取特徵,在多個卷積塊和最大池化層的重複堆疊中提取特徵,以此產生語義資訊豐富的特徵。這種特徵提取方式有利於影像分類任務,因為分類任務要求的是平移不變性的即目標位置發生變化,最後輸出的類別資訊也應該一致。但是在目標檢測任務中,由於不僅僅有分類的要求,還需要進行目標的定位,因此更需要準確的輪廓資訊,而特徵中的低層,中層特徵正是包含這種輪廓邊緣資訊,對於目標檢測十分重要。

為了彌補主幹網路在提取特徵過程中的損失,本文提出了LSN特徵提取方案。如下圖所示,首先經過一個較大的下取樣率進行池化操作,將輸入圖片的size調整到SSD中第一層的輸入size,然後被送入到一個輕量級的連續操作LSO(Light-weight-serial operations)中去,LSO包括卷積層,BN層,ReLU層等結構。

需要注意的是,LSN是參數是隨機初始化的。它遵循類似於標準SSD的金字塔特徵層次結構

其中,n是特徵金字塔的層數。
下圖是LSN的具體結構,輸入圖片I首先經過一個降取樣(DS)操作,得到與標準SSD網路第一層相同的尺寸,然後,利用降取樣後的圖片It生成初始的LSN特徵 :

其中, φint(0)表示連續操作,包括1個3×3卷積,1個1×1卷積。然後,初始的卷積用來生成中間卷積 Sint,第K層的特徵由第K-1層特徵作為輸入:

其中,k=(1,…,n),φint(k)表示一個3×3卷積。當k=1時,(k-1)層的特徵就是上文的初始特徵。最後,在第K層的中間特徵上加入1×1卷積,產生LSN網路在第k層上在最終特徵

其中 φtrans(k)表示1×1卷積,用來進行升降維,使得特徵維度跟SSD中的特徵維度匹配。下圖是LSN網路的整體結構圖

(3)雙向網路
與傳統的FPN接面構相比,有幾個不同點:
1)雙向網路中的自底向上方案以級聯的方式將前一層的特徵傳播到後一層
2)FPN中的top-down通路通過級聯操作逐層融合了許多CNN層。在雙向網路的top-down通路,預測層通過獨立的並行連接進行融合,而不是逐層逐層的級聯/順序融合。
雙向網路,顧名思義,由兩個方向(自底向上,自上而下)的網路構成。通過兩個方向的通路,雙向網路在檢測網路中同時傳遞低層和高層語義資訊。
自底向上的網路
下圖是bottom-up網路的結構示意,結合backbone和來自LSN特徵,將不同層次的特徵以前級聯的方式進行前向傳播,得到前向特徵。將此任務稱為自底向上的特徵傳播,用B表示。

第K層前向特徵可以通過下式計算得到:

其中,Sk是LSN在第K層得到的特徵,Ok代表主幹網路得到的特徵,Wk-1表示一個3×3卷積塊,包括卷積層和BN層,fk-1是前一層輸出特徵,在本層作為一個輸入, φk表示一組連續操作,包括ReLu,3×3卷積。⊗和⊕分別表示元素相乘和元素相加。
最後,自底向上網路各層次的前向傳播特徵表示為一個前向特徵金字塔:

自上而下的網路
為了進一步將高級語義資訊從後一層注入到前一層,引入了自上而下的網路。如下圖所示,該網路將所有後續層的所有特性連接到當前層,它通過網路中獨立的並行連接來傳遞高級語義。

最後,自上而下網路各層次的後向傳播特徵表示為一個後向特徵金字塔:

具體操作上,首先引入幾個1×1卷積塊來降低前向傳播金字塔Fp中的特徵維度。以第K層為例,降維後的所有高層特徵疊加,獲得最終預測需要的特徵bk

其中,Wi是一個1×1卷積塊,用來降維;Wmk是一個1×1卷積塊,用來融合所有來自高層的特徵;µk是上取樣操作;γk是一個3×3卷積塊,用來融合所有前向特徵;∑表示特徵維度疊加。
這裡需要注意一點,在自上而下的網路中,如果本身處於特徵中的最高層,就不需要融合任何底層特徵。這意味著最高層的前向特徵被直接用作預測。
實驗
(1)數據集
MS COCO:80類別,共包含160K影像數據
UAVDT dataset:車輛類別包括轎車、卡車和公共汽車。數據集包含從100個影片序列中選擇的80k帶注釋的幀
(2)實驗結果
如下表所示,在COCO測試集上,SSD在大目標檢測上的AP有43.3,但是在小目標的檢測上,SSD的AP驟減到6.2,而本文提出的方法,在使用相同的VGG情況下,AP相比SSD總體提升了6.7%。更重要的是,與SSD框架相比,本文的檢測器在小目標上實現了兩倍以上的檢測性能提升。

雖然基於two-stage的網路可以獲得更高的精度,但是它們的計算開銷很大,通常需要較大的輸入解析度,並且處理影像的時間通常超過100毫秒。例如,Cascade R-CNN的AP達到42.8,但是處理影像需要141ms。本文的檢測器具有速度和精度的良好平衡。
(3)消融實驗
分別實驗檢測網路中SSD,LSN,bi-directional對性能的影響。結果如下所示,可以看到,LSN,bi-directional都對性能有提升,當組合在一起時,提升最大。

(4)檢測效果
下圖是本文檢測器在COCO和UAVDT數據集上的檢測結果,可以看到,本文的方法對小目標的檢測性能提升十分明顯。

結論
本文提出了一種one-stage的目標檢測方法,該方法由標準SSD網路、輕量級隨機初始化網路(LSN)和雙向網路三部分組成。
LSN是從零開始訓練的,產生的特徵用來補充主幹網路得到的特徵。雙向網路的設計目的是在檢測網路中同時傳遞中低層次和高層次的語義資訊。在COCO和UAVDT數據集上的實驗結果表明,本文提出的方法達到了精度和速度的良好均衡。
論文鏈接:
http://openaccess.thecvf.com/content_ICCV_2019/html/Wang_Learning_Rich_Features_at_High-Speed_for_Single-Shot_Object_Detection_ICCV_2019_paper.html
程式碼鏈接:
https://github.com/vaesl/LRF-Net
(*本文為AI科技大本營投稿文章,轉載請微信聯繫 1092722531)