論文位址: https://arxiv.org/abs/2108.02092
目标:
在無人機飛行過程中捕獲的背景雜亂的畫面中檢測其他無人機
挑戰:
- 任意的移動(相機移動,目标也移動)
- 小尺寸,隻占畫面像素的0.05%~0.07%(PASCAL VOC (22.62%) and ImageNet (19.94%))
- 形狀變換(拍攝角度不同,拍攝的無人機形狀不同)
- 遮擋
基于region-proposal的方法無法捕捉到有足夠區分力前景背景資訊。
由于目标尺寸非常小,且具有複雜的移動特性,基于feature aggregation的方法表現也不好。
解決方案:
采用設計了兩階段的方法,并且引入了spatio-temporal attention。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY4MjY4IWN4QDO0UWL0AzNh1iMxYGNtQ2YxgTLwEDOyYDZmFTL1ETO5ADN4cjM1QTNx8CXxQTMvw1ZuB3LchTMwIzLcBzLctmchx2Lc12bj5yayFGbu5ibkN2Lc9CX6MHc0RHaiojIsJye.png)
第一階段:針對每幀進行目标檢測
分割網絡,對無人機進行檢測定位
(1)原始圖像如果resize成小尺寸,則無人機可能隻占1~2像素,嚴重影響檢出。是以将圖像切分成若幹有重疊的區域(overlapping frame regions),每個區域都經過深度殘差網絡擷取特征圖
(2)為保持局部資訊,對resnet50進行修改。
提取resnet的4個block的特征,并進行拼接(resize到統一尺度),最後用1X1的卷積壓縮到原始特征尺度。
然後采用金字塔池化生成4個不同分辨率的特征圖,再通過上采樣後進行拼接。
然後使用channel-wise attention和pixel-wise attention來提升無人機定位準确度。
channel-wise attention:
目的是給不同的channel配置設定權重,提取有價值的channel,抑制無價值的channel。
最終attention vector與卷積得到的特征層(channels=512)進行乘積運算。
pixel-wise attention:
目的是給重要的位置更高的權重,給沒有目标的區域更小的權重。
pixel-wise attention網絡得到的是pixel-wise mask,mask與conv feature之間進行element-wise乘積。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY4MjY4IWN4QDO0UWL0AzNh1iMxYGNtQ2YxgTLwEDOyYDZmFTL1ETO5ADN4cjM1QTNx8CXxQTMvw1ZuB3LchTMwIzLcBzLctmchx2Lc12bj5yayFGbu5ibkN2Lc9CX6MHc0RHaiojIsJye.png)
pixel-wise可視化效果(提取的是哪層的feature map?)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY4MjY4IWN4QDO0UWL0AzNh1iMxYGNtQ2YxgTLwEDOyYDZmFTL1ETO5ADN4cjM1QTNx8CXxQTMvw1ZuB3LchTMwIzLcBzLctmchx2Lc12bj5yayFGbu5ibkN2Lc9CX6MHc0RHaiojIsJye.png)
Loss
無人機檢測問題:
- 資料集存在嚴重的正負樣本不均衡問題。
- 目标很小,檢測結果偏差1~2個像素都有可能導緻IOU<0.5
方案:
focal loss + Distance-IOU + smooth-L1
focal loss : 解決樣本不均衡
Distance-IOU: 不僅能夠最小化檢測結果與GT之間的IOU,同時優化兩個box之間的中心距離。
smooth-L1: 用于訓練pixel-wise注意力網絡。
第二階段:利用時空資訊調優
refine第一階段檢測結果,并且嘗試發掘漏檢的無人機。
使用移動邊界來發掘新的無人機位置。
使用前後N幀畫面,對檢出的結果進行跟蹤
然後從這些跟蹤結果中提取cuboid,送入3D卷積神經網絡來提取時空特征。
使用pixel-wise attention和channel-wise attention來加強特征圖來提升無人機定位準确度。
Motion boundaries
由于移動資訊包含了相機移動和目标移動,簡單的光流不夠有效,本文使用光流梯度捕獲移動資訊。
給定3幀相鄰的圖像,使用關鍵點檢測以及前向光流和後向光流,然後最大化3幀的移動梯度
該方法的問題:
檢出最大邊界響應,不能全部覆寫無人機
由于光流計算的潛在近似性,光流梯度幅值的最大值與移動無人機不完全比對
為了解決這個問題,本文擴充了運動邊界,然後使用條件随機擷取更好的候選位置。
Cuboids formation
已經通過stage-1獲得了無人機候選區域,同時采用運動邊界獲得了新的候選區域,接下來從所有候選無人機位置中提取時空特征。
針對每個候選區域初始tracker,由于無人機目标小且還存在相機移動問題,可能在很短幾幀内目标位置就出現明顯偏移,是以設定軌迹長度為8幀。
跟蹤政策是3幀前向,3幀後向。(Note that tracking is done after the motion stabilization of the corresponding eight frames)
為了上下文資訊捕捉以及軌迹漂移補償,針對每個跟蹤目标從原始視訊幀中提取N X N patches,組成N * N * 8的cuboid。
然後針對每個cuboid ,使用Inflated-3D網絡提取時空特征(I3D具有快速,記憶體占用少,擷取時空資訊的能力強等特點)
為了與标準的I3D輸入尺寸保持一緻,把N*N*8 resize到224*224*8
在倒數第三層使用3D conv,得到14*14*480,然後采用線性插值resize到60*60*480(與stage1 resnet的輸出保持一緻)。
然後采用2D conv把次元調整為60*60*2048.(也嘗試了超分辨率方法,但實驗發現沒有提升)
每個cubiod的時空卷積特征進行聚合,随後接入與stage-1相同的attention子產品。
loss也與stage-1一緻。
結果:
實施細節
stage-1:
NPS-Drones資料集:将每幀圖檔切分成9個overlapping patches
FL-Drones:将每幀圖檔切分成4個overlapping patches
end-to-end從零訓練
stage-2
采用預訓練的I3D網絡
NPS-Drones資料集:cuboid中每個patch的尺寸為100*100
FL-Drones:cuboid中每個patch的尺寸由無人機目标的尺寸決定
Adam優化器
初始lr=0.001,無decay
采用最大最小尺寸門檻值對候選框進行篩選
采用hard-negative mining
後處理階段,移除值檢測到一次的目标。
評估名額:
precision, recall, F1-score,AP
每幀圖檔作為獨立的樣本進行評估
資料集
NPS-Drones
50 videos, 分辨率(1920×1080 and 1280×760),采用GoPro-3采集
總畫面幀數為:70250
畫面中無人機尺寸:最小(10 × 8),平均( 16.2 × 11.6), and最大( 65 × 21)
和FL-Drones
前40個視訊為訓練集,最後10個位測試集
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY4MjY4IWN4QDO0UWL0AzNh1iMxYGNtQ2YxgTLwEDOyYDZmFTL1ETO5ADN4cjM1QTNx8CXxQTMvw1ZuB3LchTMwIzLcBzLctmchx2Lc12bj5yayFGbu5ibkN2Lc9CX6MHc0RHaiojIsJye.png)
FL-Drones:
這個資料集難度更大,因為目标存在極端遮擋,更多的姿态和尺寸變化,包含室内和室外樣本
14 videos, 分辨率(640×480 and 752×480)
總畫面幀數為:38948
畫面中無人機尺寸:最小(9 × 9),平均( 25.5 × 16.4), and最大( 259 × 197)
一半用來訓練,一半用來測試
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY4MjY4IWN4QDO0UWL0AzNh1iMxYGNtQ2YxgTLwEDOyYDZmFTL1ETO5ADN4cjM1QTNx8CXxQTMvw1ZuB3LchTMwIzLcBzLctmchx2Lc12bj5yayFGbu5ibkN2Lc9CX6MHc0RHaiojIsJye.png)
由于這倆資料集中的标注框比實際目标大,作者對這兩個資料集進行了重新标注。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY4MjY4IWN4QDO0UWL0AzNh1iMxYGNtQ2YxgTLwEDOyYDZmFTL1ETO5ADN4cjM1QTNx8CXxQTMvw1ZuB3LchTMwIzLcBzLctmchx2Lc12bj5yayFGbu5ibkN2Lc9CX6MHc0RHaiojIsJye.png)
與SOTA對比
參與對比的方法
- 全卷積一階段的目标檢測FCOS:fully convolutional one-stage object detector [36],
- 小目标檢測器SCRDet: cluttered and rotated small object detector [42],
- 執行個體分割Mask-RCNN: instance segmentation [13],
- 視訊目标檢測MEGA, SLSA,video object detectors [7, 39].
baseline的方法都是使用開源的預訓練模型,訓練iterations在8W~10W之間,使用一個1080Ti訓練。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY4MjY4IWN4QDO0UWL0AzNh1iMxYGNtQ2YxgTLwEDOyYDZmFTL1ETO5ADN4cjM1QTNx8CXxQTMvw1ZuB3LchTMwIzLcBzLctmchx2Lc12bj5yayFGbu5ibkN2Lc9CX6MHc0RHaiojIsJye.png)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY4MjY4IWN4QDO0UWL0AzNh1iMxYGNtQ2YxgTLwEDOyYDZmFTL1ETO5ADN4cjM1QTNx8CXxQTMvw1ZuB3LchTMwIzLcBzLctmchx2Lc12bj5yayFGbu5ibkN2Lc9CX6MHc0RHaiojIsJye.png)
消融試驗ablation studies
第一行隻是用cross-entropy loss
第二行結合了focal loss和distance-IOU
第三行使用了channel-wise attention
第四行使用了pixel-wise attention
最後兩行是指隻有一個階段,和使用兩個階段
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY4MjY4IWN4QDO0UWL0AzNh1iMxYGNtQ2YxgTLwEDOyYDZmFTL1ETO5ADN4cjM1QTNx8CXxQTMvw1ZuB3LchTMwIzLcBzLctmchx2Lc12bj5yayFGbu5ibkN2Lc9CX6MHc0RHaiojIsJye.png)
第二階段能夠發現識别困難的無人機
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY4MjY4IWN4QDO0UWL0AzNh1iMxYGNtQ2YxgTLwEDOyYDZmFTL1ETO5ADN4cjM1QTNx8CXxQTMvw1ZuB3LchTMwIzLcBzLctmchx2Lc12bj5yayFGbu5ibkN2Lc9CX6MHc0RHaiojIsJye.png)
檢測失敗的case
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY4MjY4IWN4QDO0UWL0AzNh1iMxYGNtQ2YxgTLwEDOyYDZmFTL1ETO5ADN4cjM1QTNx8CXxQTMvw1ZuB3LchTMwIzLcBzLctmchx2Lc12bj5yayFGbu5ibkN2Lc9CX6MHc0RHaiojIsJye.png)
總結評價:
本文設計了一個two-stage的方法對無人機飛行拍攝畫面中的其他無人機進行檢測。本文并沒有使用region-proposal的方法,而是使用了基于分割的方法,并且加入了pixel and channel-wise attention來提高無人機檢測定位精度。同時還是用了motion資訊提高召回率。
整個方法的算法複雜度是很高的,主要在于:
(1)在stage-1階段,每幀圖檔都要分成9patches or 4 patches,每個patch單獨進行resnet50特征提取
(2)在stage-2階段,每個目标生成一個N*N*8的cubiod,每個cubiod需要單獨的I3D處理
(3)非end2end的方式
不過這個任務難度也是非常大,本文實作的效果已經非常理想了。