特征对齐的旋转目标检测:Align Deep Features for Oriented Object Detection
導讀
對齊后的特征對于旋轉目標的學習更有好處。
1、介紹
使用一階段物體檢測器來做旋轉物體檢測的一些問題:
啟發式的定義anchor的質量并不好,物體和anchor之間并不能很好的對齊,比如,物體的尺寸可以是1/3到1/30,但是并不是所有的anchor都可以匹配,這種不匹配會加重前景和背景之間的類別不均衡,導致性能下降。
主干提取的卷積特征是軸對齊的,感受野也是固定的,但是物體是各種角度的,即便anchor和物體之前有很高的匹配度(高IoU),卷積特征和anchor框之間仍然是不對齊的,也就是說,anchor框中的特征并不能很好的描述整個物體,導致最后的分類得分不高。
為了解決這些問題,提出了Single-Shot Alignment Network (S2A-Net),主要包括2個模塊,特征對齊模塊(FAM),旋轉檢測模塊(ODM),FAM使用anchor細化網絡ARN來生成高質量的anchor框,如下圖。這里,我們沒有使用很多密集的anchor框,只使用了1個方形的anchor框,然后ARN將這個方形的anchor框細化成高質量的旋轉anchor。這里會用到AlignConv,這是卷積的一種變體,可以根據形狀,尺度,方向以及對應的anchor自適應的對齊特征。
在ODM中,我們首先用主動旋轉濾波器(ARF)來編碼方向信息,生成對旋轉敏感的特征,然后池化,得到旋轉不變性的特征。最后,我們把這個特征放到回歸子網絡和分類子網絡中,得到最后的預測。
整體結構如下圖:
2. 方法
2.1 基線
我們將RetinaNet用于旋轉物體檢測作為基線,原始的RetinaNet的輸出是水平的矩形框,用{x,w,h}來表示,其中x是中心點坐標,w,h是寬和高。用于旋轉框回歸時,旋轉矩形框的表示用{x,w,h,θ}表示,其中θ范圍是{-π/4, 3π/4}。
2.2 Alignment Convolution
標準的卷積可以用下面的式子表示:
其中W表示卷積核的參數,R為{(-1,-1),(-1,0),..., (0,1),(1,1)}表示參與卷積的像素相對于當前空間位置的偏移,p表示當前卷積所在的空間位置。
對比標準卷積,對齊卷積增加了一個額外的偏移量O。
這個偏移量O用來計算基于anchor的采樣位置和規則的采樣位置之間的偏差。用(x,w,h,θ)來表示當前的位置p的anchor框,對于每個規則的位置r,基于anchor的采樣位置可以定義為:
k表示卷積大小,S表示特征圖的stride,RT(θ)是2x2的旋轉矩陣(cosθ, -sinθ; sinθ, cosθ)T,那么,當前的空間位置p的偏移量O為:
這樣,我們就可以將軸對齊的特征轉換為基于anchor框的任意方向的特征。
和其他卷積的對比
下圖是各種卷積的對比,a是常規卷積,b是可變形卷積,c和d是對齊卷積的2個例子,分別對應于水平和旋轉矩形框。對于可變形卷積來說,由于監督信號弱,可能會采樣到錯誤的點上去,對齊卷積使用anchor框做指導,提取的是網格狀分布的特征,和可變形卷積的不同點在于對齊卷積的偏移量是直接從anchor框中推理得到的。
2.3 特征對齊模塊(FAM)
FAM包括了anchor細化網絡ARN和對齊卷積。
anchor細化網絡
ARN是一個輕量級的網絡,有2個并行的分支,一個anchor分類分支,一個anchor回歸分支。分類分支將anchor分到不同的類別中,回歸分支將anchor細化成旋轉的的高質量anchor。由于在infer的時候,我們只需要細化的anchor來調整對齊卷積中的采樣點,所以infer時分類分支可以去掉。和anchor free的物體監測器類似,我們只使用了1個正方形的anchor,并且我們沒有去掉哪些低置信度的anchor,因為我們發現有些負樣本在最終的預測中會變為正樣本。
對齊卷積層
對齊卷積層如下圖,在預測出的HxWx5的anchor圖中,我們首先解碼成(x,w,h,θ)的格式,然后用(4)式來計算偏移值,然后和輸入特征一起送到對齊卷積中,提取對齊的特征。對于每個anchor框,我們采樣9個點,得到18維的偏移值。需要注意的時,對齊卷積是個輕量級的卷積,計算延時是很小的。
2.4 旋轉檢測模塊
我們使用主動旋轉濾波器ARF來編碼旋轉的信息,ARF是kxkxN維的濾波器,在卷積的過程中主動旋轉N-1次,得到N個方向通道的特征圖。對于特征圖X和ARF(F),第i個方向的輸出Y可以表示為:
將ARF應用到卷積層上,可以得到編碼了方向信息的特征。然后池化,得到具有方向性的特征,池化方法如下:
這樣,我們可以使用不同的方向來對齊物體的特征。
2.5 單階段對齊網絡
回歸目標
我們的回歸目標如下,表示gt和anchor之間的差別,其中k是整數,確保差別在{-π/4, 3π/4}范圍內。
匹配策略
我們使用IoU作為度量值,當anchor和gt的IoU大于一定閾值,判定為正樣本,小于一個閾值,判定為負樣本。這里的IoU是在2個旋轉框上計算的。默認的前景閾值為0.5,背景閾值為0.4。
損失函數
損失有2部分,FAM的損失和ODM的損失,定義如下,這里分類用focal loss,回歸用smooth L1 loss:
推理
這是個全卷積的網絡,FAM用來產生anchors,ODM得到最后的輸出,然后選取top-k(2000個)輸出,做NMS后得到最后的結果。
3. 實驗和分析
我們使用了5個特征金字塔層,P3~P7,anchor的大小是stride的4倍,分別為(32,64,128,256,512)。
3.1 消融實驗
RetinaNet使用不同設置的結果:
對齊卷積的效果:
ARN和ARF的效果:
網絡設計的效果:
—END—
論文鏈接:https://arxiv.org/abs/2008.09397
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯黃海廣老師《機器學習課程》課件合集 本站qq群851320808,加入微信群請掃碼:總結
以上是生活随笔為你收集整理的特征对齐的旋转目标检测:Align Deep Features for Oriented Object Detection的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】挑战SQL:图解Pand
- 下一篇: 在iOS设备上如何使用Chrome浏览器