You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery
PDF:https://arxiv.org/abs/1805.09512.pdf
PyTorch: https://github.com/shanglianlm0525/PyTorch-Networks
Official :https://github.com/CosmiQ/yolt
1 概述
衛星圖像的目標檢測和普通場景的目標檢測最大的區別在於衛星圖像尺寸很大比如16000x16000,並且其目標通常很小且容易聚集在一起。YOLT主要用於處理這類問題.
在衛星圖像中,圖片的分辨率一般用ground sample distance(GSD)來表示,比如最常見的衛星圖像是30cm GSD。
2 YOLT
展示了衛星圖像目標檢測的主要幾個難點以及YOLT的解決方案
2-1 衛星圖像尺寸太大
由於衛星圖像太大,難以直接訓練.YOLT解決方案有將原始圖像切塊(15%重疊),然後分別輸入模型進行檢測,拼接後使用NMS過濾得到最後檢測結果。
2-2 小目標的檢測難度大
1、修改網絡結構,使得YOLOV2的stride變成16,而不是原始的32,這樣有利於檢測出大小在16x16–>32x32。
2、沿用YOLOV2中的passthrough layer,融合不同尺度的特徵(52x52和26x26大小的特徵),這種特徵融合做法在目前大部分通用目標檢測算法中被用來提升對小目標的檢測效果。
3、不同尺度的檢測模型融合,即Ensemble,原因是例如飛機和機場的尺度差異很大,因此採用不同尺度的輸入訓練檢測模型,然後再融合檢測結果得到最終輸出。
修改後的網絡結構爲:
2-3 尺寸/方向多樣
衛星圖目標的尺寸/方向多樣。衛星圖是從空中拍攝的,因此角度不固定,像船、汽車的方向都可能和常規目標檢測算法中的差別較大,因此檢測難度大。針對這一點的解決方案是對數據做尺度變換,旋轉等數據增強操作
2-4 目標數據太少
針對機場目標(數據太少)和其它目標分別訓練了一個檢測模型,這兩個檢測模型的輸入圖像尺度也不一樣,測試圖像時同理,最後將不同檢測模型、不同chip的檢測結果合併在一起就得到最終一張衛星圖像的輸出。