1. 程式人生 > >PIoU Loss:傾斜目標檢測專用損失函式,公開超難傾斜目標資料集Retail50K | ECCV 2020 Spotlight

PIoU Loss:傾斜目標檢測專用損失函式,公開超難傾斜目標資料集Retail50K | ECCV 2020 Spotlight

> 論文提出從IoU指標延伸來的PIoU損失函式,能夠有效地提高傾斜目標檢測場景下的旋轉角度預測和IoU效果,對anchor-based方法和anchor-free方法均適用。另外論文提供了Retail50K資料集,能夠很好地用於評估傾斜目標檢測演算法的效能   來源:曉飛的演算法工程筆記 公眾號 **論文: PIoU Loss: Towards Accurate Oriented Object Detection in Complex Environments** ![](https://upload-images.jianshu.io/upload_images/20428708-058f6519a8aa5d32.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) * **論文地址:[https://arxiv.org/abs/2007.09584](https://arxiv.org/abs/2007.09584)** * **論文程式碼:[https://github.com/clobotics/piou](https://github.com/clobotics/piou)** # Introduction ***   當前的目標檢測方法由於BB(bounding boxes)的特性,對傾斜和密集物體的檢測存在一定的侷限性。為了解決這個問題,研究者擴展出了帶旋轉引數的OBB(oriented bounding boxes),即從BB($c_x,c_y,w,h$)擴充套件為OBB($c_x,c_y,w,h,\theta$),其中$\theta$旋轉角度,這樣OBB就能更緊湊地包圍目標,可以更好地檢測旋轉和密集的物體。 ![](https://upload-images.jianshu.io/upload_images/20428708-baf3619b6c386973.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   目前的OBB-based方法大多數在anchor-based架構上採用距離損失來優化上述的5個引數,並且在航空圖片的目標檢測上已經有一些應用。但其檢測效能在更復雜的場景中依然存在侷限性,主要原因在於距離損失更多地是優化旋轉角度誤差,而不是優化全域性IoU,特別是對長條形物體很不敏感。如圖a所示,兩個IoU相差很大的情景下,距離損失的結果卻是一樣的。 ![](https://upload-images.jianshu.io/upload_images/20428708-67dda0524a9dd605.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   為了解決這個問題,論文提出PIoU(Pixels-IOU)損失來同時提高旋轉角度和IoU的準確率。如圖b所示,PIoU損失能直接反映物體間的IoU,但由於OBB間的相交區域可能是多邊形,OBB的IoU比BB的IoU要難算得多,所以PIoU損失以逐畫素判斷的方式進行IoU計算並且是連續可微的。另外論文還提供了包含高長寬比傾斜目標的檢測資料集Retail50K,方便OBB-based檢測演算法的研究。   論文的貢獻如下: * 提出新的損失函式PIoU損失,能夠提升傾斜目標的檢測效果。 * 提供新的資料集Retail50K,可以更好的進行OBB-based演算法的評估。 * 通過實驗證明PIoU損失的有效性,能夠運用於anchor-based和anchor-free方法。 # Pixels-IoU (PIoU) Loss ***   對於OBB $b$($c_x, c_y, w,h,\theta$),理想的損失函式能夠引導網路最大化IoU,降低$b$的錯誤率。為了到達這個目的,需要準確且高效地計算OBB間的IoU,論文采用了畫素計數的方式來計算IoU。 ![](https://upload-images.jianshu.io/upload_images/20428708-6f5dc151089a1a63.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   對於點$p_{ij}$和OBB $b$,根據其到中線的距離$d^h_{i,j}$和中線交點到中點的距離$d^w_{i,j}$來判斷點是否在OBB內: ![](https://upload-images.jianshu.io/upload_images/20428708-f6e8d9686f0cc921.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![](https://upload-images.jianshu.io/upload_images/20428708-94f9a6b996e8a1b3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   定義$B_{b,b^{'}}$為包圍$b$和$b^{'}$的最小正方形,可以通過判斷$B_{b,b^{'}}$中的所有畫素來計算$b$和$b^{'}$間的交集區域和並集區域: ![](https://upload-images.jianshu.io/upload_images/20428708-61673e7432089bcc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   最後通過$S_{b\cap b^{'}}$除以$S_{b\cup b^{'}}$計算IoU,但公式1並不是連續可微函式,導致不能進行反向傳播訓練。為了解決這個問題,將公式1轉換為兩個核的乘積$F(p_{i,j}|b)$: ![](https://upload-images.jianshu.io/upload_images/20428708-5d9cfa236756d65a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![](https://upload-images.jianshu.io/upload_images/20428708-5daf18f667b0ad80.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   其中$k$用於控制對目標畫素$p_{i,j}$的敏感程度,由於公式9使用了相對位置資訊(圖a的點距離和三角形的角度),所以$S_{b\cap b^{'}}$和$S_{b\cup b^{'}}$均是對OBB的旋轉角度和大小敏感的。 ![](https://upload-images.jianshu.io/upload_images/20428708-aa2744a4cd79548a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   如圖b所示,$F(p_{i,j}|b)$是連續可微的,且與公式1類似。當$p_{i,j}$在$b$內時,$F(p_{i,j}|b)$接近於1,反之則接近於0。為此,$b$和$b^{'}$的交併集區域計算變為: ![](https://upload-images.jianshu.io/upload_images/20428708-389fe3fb8faf8bb9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   為了降低公式11的計算量,簡化為: ![](https://upload-images.jianshu.io/upload_images/20428708-57c8224116cfc418.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   基於公式10和公式12,PIoU的計算為: ![](https://upload-images.jianshu.io/upload_images/20428708-e468315fafcbea2d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   定義$M$為所有正樣本對,PIoU損失的計算為: ![](https://upload-images.jianshu.io/upload_images/20428708-cfeac90a54844128.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   PIoU損失也可用於無交集的OBB,因為PIoU始終大於零,梯度依然可以計算,另外PIoU損失也可以用於正常的BB場景中。 # Retail50K Dataset *** ![](https://upload-images.jianshu.io/upload_images/20428708-f047dbeadc18405e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![](https://upload-images.jianshu.io/upload_images/20428708-b0198af45579d918.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   之前的大多數OBB資料集都是航空圖片,少部分資料集對MSCOCO等資料集進行重新標註。據統計,航空圖片資料集中大多數OBB的長寬比都在1:4內,而主流資料集則集中在1:1,不能夠很好地評價OBB-based方法的效能。為此,論文提供了Retail50K資料集,由47000張不同的超市圖片構成,標註物件為貨架的層架邊。資料集包含複雜的背景和高長寬比目標,並且具有實際使用意義。 # Experiments *** ![](https://upload-images.jianshu.io/upload_images/20428708-63107805d1519fd0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   不同$k$下對比實驗。 ![](https://upload-images.jianshu.io/upload_images/20428708-362b6e21d57e2f50.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   對比其它損失函式在OBB場景下的效能。 ![](https://upload-images.jianshu.io/upload_images/20428708-0bf20328e5d34f8c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   對比其它損失函式在BB場景下的效能。 ![](https://upload-images.jianshu.io/upload_images/20428708-3263a6c5dc0c4ca8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   Retail50K資料集上的效能對比。 ![](https://upload-images.jianshu.io/upload_images/20428708-f8afb33e6f70dc9d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   HRSC2016資料上的效能對比。 ![](https://upload-images.jianshu.io/upload_images/20428708-55bc1e5409fe11a1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   DOTA資料上的效能對比。 ![](https://upload-images.jianshu.io/upload_images/20428708-fab4abf9121ef24e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   結果視覺化對比。 # Conclustion ***   論文提出從IoU指標延伸來的PIoU損失函式,能夠有效地提高傾斜目標檢測場景下的旋轉角度預測和IoU效果,對anchor-based方法和anchor-free方法均適用。從結果來看,PIoU損失的效果還是十分明顯的。另外論文提供了Retail50K資料集,能夠很好地用於評估傾斜目標檢測演算法的效能。       > 如果本文對你有幫助,麻煩點個贊或在看唄~ 更多內容請關注 微信公眾號【曉飛的演算法工程筆記】 ![work-life balance.](https://upload-images.jianshu.io/upload_images/20428708-7156c0e4a2f49bd6.png?imageMogr2/auto-orient/strip%7CimageView2/2