目标检测中特征融合技术(YOLO v4)(下)
目標檢測中特征融合技術(YOLO v4)(下)
ASFF:自適應特征融合方式
ASFF來自論文:《Learning Spatial Fusion for Single-Shot Object Detection》,也就是著名的yolov3-asff。
金字塔特征表示法(FPN)是解決目標檢測尺度變化挑戰(zhàn)的常用方法。但是,對于基于FPN的單級檢測器來說,不同特征尺度之間的不一致是其主要限制。因此這篇論文提出了一種新的數據驅動的金字塔特征融合方式,稱之為自適應空間特征融合(ASFF)。它學習了在空間上過濾沖突信息以抑制梯度反傳的時候不一致的方法,從而改善了特征的比例不變性,并且推理開銷降低。借助ASFF策略和可靠的YOLOV3 BaseLine,在COCO數據集上實現了45FPS/42.4%AP以及29FPS/43.9%AP。
ASFF簡要思想就是:原來的FPN add方式現在變成了add基礎上多了一個可學習系數,該參數是自動學習的,可以實現自適應融合效果,類似于全連接參數。
以ASFF-3為例,圖中的綠色框描述了如何將特征進行融合,其中X1,X2,X3分別為來自level,level2,level3的特征,與為來自不同層的特征乘上權重參數α3,β3和γ3并相加,就能得到新的融合特征ASFF-3,如下面公式所示:
因為采用相加的方式,所以需要相加時的level1~3層輸出的特征大小相同,且通道數也要相同,需要對不同層的feature做upsample或downsample并調整通道數。對于需要upsample的層,比如想得到ASFF3,需要將level1調整至和level3尺寸一致,采用的方式是先通過1×1卷積調整到與level3通道數一致,再用插值的方式resize到相同大小;而對于需要downsample的層,比如想得到ASFF1,此時對于level2到level1只需要用一個3×3,stride=2的卷積就可以了,如果是level3到level1則需要在3×3卷積的基礎上再加一個stride=2的maxpooling,這樣就能調整level3和level1尺寸一致。
對于權重參數α,β和γ,則是通過resize后的level1~level3的特征圖經過1×1的卷積得到的。并且參數α,β和γ經過concat之后通過softmax使得他們的范圍都在[0,1]內并且和為1:
具體步驟可以概況為:
1、首先對于第l級特征圖輸出cxhxw,對其余特征圖進行上下采樣操作,得到同樣大小和channel的特征圖,方便后續(xù)融合
2、對處理后的3個層級特征圖輸出,輸入到1x1xn的卷積中(n是預先設定的),得到3個空間權重向量,每個大小是nxhxw
3、然后通道方向拼接得到3nxhxw的權重融合圖
4、為了得到通道為3的權重圖,對上述特征圖采用1x1x3的卷積,得到3xhxw的權重向量
5、在通道方向softmax操作,進行歸一化,將3個向量乘加到3個特征圖上面,得到融合后的cxhxw特征圖
6、采用3x3卷積得到輸出通道為256的預測輸出層
為什么ASFF有效?
文章通過梯度和反向傳播來解釋為什么ASFF會有效。首先以最基本的YOLOv3為例,加入FPN后通過鏈式法則我們知道在backward的時候梯度是這樣計算的:
其中因為不同尺度的層之間的尺度變換無非就是up-sampling或者down-sampling,因此這一項通常為固定值,為了簡化表達式我們可以設置為1,,則上面的式子變成了:
進一步的,這一項相當于對輸出特征的activation操作,其導數也將為固定值,同理,我們可以將他們的值簡化為1,則表達式進一步簡化成了:
假設level1(i,j)對應位置feature map上剛好有物體并且為正樣本,那其他level上對應(i,j)位置上可能剛好為負樣本,這樣反傳過程中梯度既包含了正樣本又包含了負樣本,這種不連續(xù)性會對梯度結果造成干擾,并且降低訓練的效率。而通過ASFF的方式,反傳的梯度表達式就變成了:
可以通過權重參數來控制,比如剛才那種情況,另α2和α3=0,則負樣本的梯度不會結果造成干擾。另外這也解釋了為什么特征融合的權重參數來源于輸出特征+卷積,因為融合的權重參數和特征是息息相關的。
Bi-FPN
BiFPN來自論文:《EfficientDet: Scalable and
efficient object detection 》。BiFPN思想和ASFF非常類似,也是可學習參數的自適應加權融合,但是比ASFF更加復雜。
EfficientDet的方法論和創(chuàng)新性圍繞兩個關鍵挑戰(zhàn):
l 更好地融合多層特征。這個毋庸置疑,肯定是從 FPN 發(fā)展過來的,至于 Bi 就是雙向,原始的FPN實現的自頂向下(top-down)融合,所謂的BiFPN就是兩條路線既有top-down也有down-top。在融合過程中,之前的一些模型方法沒有考慮到各級特征對融合后特征的g共享度問題,即之前模型認為各級特征的貢獻度相同,而本文作者認為它們的分辨率不同,其對融合后特征的貢獻度不同,因此在特征融合階段引入了weight。
l 型縮放。這個主要靈感來自于
EfficientNet,即在基線網絡上同時對多個維度進行縮放(一般都是放大),這里的維度體現在主干網絡、特征網絡、以及分類/回歸網絡全流程的整體架構上整體網絡由主干網絡、特征網絡以及分類/回歸網絡組成,可以縮放的維度比
EfficientNet 多得多,所以用網絡搜索方式不合適了,作者提出一些啟發(fā)式方法。
BiFPN
BiFPN的思想其實是基于路徑增強FPN(PANet)的思想,在自頂向下特征融合之后緊接著自底向上再融合一遍。在圖2中文章列舉了三類FPN以及BiFPN。圖2(a) 是傳統(tǒng)FPN,圖2(b)是PANet,圖2?是利用網絡自動搜索的方式生成的不規(guī)則特征融合模塊,且這個模塊可以重復疊加使用【即堆疊同樣的模塊,不停地使用相同的結構融合多層特征】。可以看到,PANet可以看做一個na?ve的雙向FPN。
BiFPN針對PANet的改進點主要有三個:
·
削減了一些邊。BiFPN刪除了只有一個入度的節(jié)點,因為這個節(jié)點和前一個節(jié)點的信息是相同的【因為沒有別的新的信息傳進來】,這樣就祛除了一些冗余計算。
·
增加了一些邊。BiFPN增加了一些跳躍連接【可以理解為residual連接,圖2(d)中橫向曲線3個連接】,這些連接由同一層的原始特征節(jié)點【即沒有經歷自頂向下融合的特征】連接到輸出節(jié)點【參與自底向上特征融合】。
·
將自頂向下和自底向上融合構造為一個模塊,使其可以重復堆疊,增強信息融合【有了一種遞歸神經網絡的趕腳】。PANet只有一層自頂向下和一層自底向上。
而對于特征融合的計算,BiFPN也做了改進。傳統(tǒng)融合計算一般就是把輸入特征圖resize到相同尺寸然后相加【或相乘,或拼接】。但是BiFPN考慮到不同特征的貢獻可能不同,所以考慮對輸入特征加權。文章中把作者們對如何加權的探索過程也列了出來。
·
首先嘗試簡單加權相加,對權值不做約束。這樣得到的實驗結果還可以,但是沒有約束的權值會造成訓練困難和崩潰。
·
然后為了歸一化權值,作者嘗試了用softmax操作把權值歸一化到[0, 1]。雖然達到了歸一化效果,但是softmax極大增加了GPU計算負擔。
·
最后,回歸本質,不整什么指數計算了。直接權值除以所有權值加和(分母加了一個極小量防止除0)來歸一化【也就是計算權值在整個權值中的比例】,同樣把權值歸一化到[0,1],性能并沒有下降,還增加了計算速度。
BiFPN介紹的最后,作者還提醒大家注意在特征融合模塊里為了進一步提高計算效率,卷積使用的是逐深度卷積【就是每個通道自成一個分組】,并在每個卷積之后加了BN和激活函數。
EfficientDet
EfficientDet使用在imagenet上預訓練的EfficientNet作為backbone模型,并對網絡中第3到第7層特征進行了BiFPN特征融合,用來檢測和分類。
EfficientDet同樣對模型進行了縮放。與EfficientNet對傳統(tǒng)提升模型尺度方法的態(tài)度一樣,文章認為傳統(tǒng)提升模型尺度指示簡單地針對單一維度【深度,寬度或分辨率】進行增加,而EfficientNet提出的符合縮放才是真香。EfficientDet提出了自己的符合縮放,要聯(lián)合對backbone,BiFPN,預測模塊,和輸入分辨率進行縮放。然而僅僅對EfficientNet本身縮放的參數進行網格搜索就已經很貴了,對所有網絡的所有維度進行網格搜索顯然也是不可承受之重。所以EfficientDet用了一個“啟發(fā)式”方法【在我看來是對每個網絡的每個維度自定了一些簡單的規(guī)則而已】。
·
Backbone依然遵循EfficientNet。
·
BiFPN的深度隨系數?線性增長,寬度隨?指數增長。而對寬度指數的底做了一個網格搜索,確定底為1.35 。
· 對預測模塊,寬度與BiFPN一致。深度隨?線性增長。
· 輸入分辨率也是隨?線性增長。
參考文章
https://zhuanlan.zhihu.com/p/93922612
https://blog.csdn.net/weixin_44936889/article/details/104269829
https://zhuanlan.zhihu.com/p/
https://blog.csdn.net/watermelon1123/article/details/103277773
總結
以上是生活随笔為你收集整理的目标检测中特征融合技术(YOLO v4)(下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 目标检测中特征融合技术(YOLO v4)
- 下一篇: 摄像头ISP系统原理(上)