Scale-Aware Trident Networks for Object Detection論文詳解

《Scale-Aware Trident Networks for Object Detection》發表於ICCV2019的一篇圖片檢測的文章。

代碼地址:https://github.com/TuSimple/simpledet/tree/master/models/tridentnet

文章的主要思路是解決多尺度物體檢測的問題。目前一種很常用的解決多尺度物體檢測的方法是採用fpn的結構,然後使用fpn不同輸出層的featuremap來對不同大小的物體進行檢測。文章認爲採用fpn的方式來檢查不同大小的物體會降低網絡的訓練速度,而且還可能導致不同尺度的層容易產生過擬合。文章利用dilate convolution(空洞卷積)來對多尺度的物體進行檢測,並且可以規避fpn帶來的負面影響。

一、網絡結構

文章網絡取名爲trident,可以想象網絡的結構類似於三叉戟的樣子,如下圖所示,最後利用nms將三個分支的結果合併。
1.png

三叉戟的網絡細節如下圖所示,這裏每個分支都是使用resnet來構成的,都是由一個1×11\times 1卷積接一個3×33\times 3再接一個1×11\times 1的殘差塊構成,唯一的區別是三個分支中3×33\times 3的卷積採用的是空洞卷積,而且每個分支空洞卷積的係數是不一樣的,目的就是爲了使得三個分支的感受野不一樣,從而有效的檢測出不同大小的物體。爲了防止引入三個分支,也就是很多參數,可能有過擬合的問題,所以這三個分支採用了權重共享的方式來減輕這個問題。
2.png

二、scale-aware

這裏文章所說的是類似於SNIP文章來做的,我看的好像是採用FPN的方式,對每個分支定義不同大小的目標來進行訓練,三個分支分別檢測的範圍是[0, 90], [30, 160], [90, inf\inf],這個範圍是對於框面積的更號來講的,即wh\sqrt{w*h}

三、loss

loss計算文章沒有說明,畢竟不是本文重點,所以想知道的可以看看代碼,每個分支採用的就是類似fasterrcnn的two-stage結構來做的

還有一些快速推斷的track,就是在推斷過程採用中間的分支來做的。

原理基本就這些,想知道更多實驗結果可以查看原文和官方提供的代碼

歡迎加入Object Detection交流,羣聊號碼:910457072

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章