文章目錄
- 一、介紹
- (一)五參數檢測方法( 基于角度)
- (二)八參數檢測方法(point-based)的邊界
- 二、方案分析
- (一)問題定義
- (二)方案
- (三)Gliding Vertex方案的問題
- 參考
一、介紹
遙感目標檢測Gliding Vertex 是四邊形檢測器,而且都考慮到了順序標簽點(sequential label points)的問題。我們先給出這兩篇文章的鏈接:
- https://arxiv.org/abs/1911.09358
(一)五參數檢測方法( 基于角度)
在當前常用的旋轉檢測框的角度定義下,由于存在旋轉角度的邊界問題,會產生不必要的損失!
(二)八參數檢測方法(point-based)的邊界
如果是藍框是anchor,紅框是ground-truth,那么通過點的排序之后,實際和理想的回歸方式是一樣的(按照回歸的距離定義)
二、方案分析
(一)問題定義
首先我們要了解一下為什么在做四邊形檢測前要對四個角點進行排序。舉一個簡單的例子,如果一個四邊形的ground-truth是(x1,y1,x2,y2,x3,y3,x4,y4)并且所有的ground-truth并不是按一定規則順序標注的,那么檢測器有可能給出的預測結果是(x2,y2,x3,y3,x4,y4,x1,y1)。其實這兩個是框是完全重合的,但是網絡訓練算損失的時候并不知道,它會按對應位置計算損失,此時的損失值并不為0甚至很大。
(二)方案
基于上述問題:
1. Gliding Vertex的Head設計
Gliding Vertex文章通過改變框的表示方式避免了排序的麻煩。 先檢測水平框,這個是沒有序列問題的,然后學習水平框四個角點的偏移量來達到四邊形檢測的目的,其實這里的(偏移量,對應的水平框的點)配對就有排序的意思了。
原文是這樣寫的:By limiting the offset on the corresponding side of horizontal bounding box, we may facilitate offset learning and also avoid the confusion for sequential label points in directly regressing the four vertices of oriented objects
Gliding Vertex通過水平框滑動偏移的方式預測旋轉框,避免了直接回歸無序角點的問題。其head結構包含以下輸出分支:
- 分類分支(Cls Score):預測目標類別。
- 水平框回歸分支:回歸水平外接矩形 ( c e n t e r x , c e n t e r y , w , h ) (center_x, center_y, w, h) (centerx?,centery?,w,h)。
- 偏移比例分支(Alpha):預測四個角點相對于水平框對應頂點的偏移比例 ( α 1 , α 2 , α 3 , α 4 ) (\alpha_1, \alpha_2, \alpha_3, \alpha_4) (α1?,α2?,α3?,α4?),通過 s i = α i ? w s_i = \alpha_i \cdot w si?=αi??w計算實際偏移量。
- 傾斜因子(Obliquity Factor):定義為旋轉框面積與水平框面積的比值 r = ∣ O ∣ ∣ B h ∣ r = \frac{|O|}{|B_h|} r=∣Bh?∣∣O∣?,用于區分近水平目標( r ≈ 1 r \approx 1 r≈1時退化為水平框)和傾斜目標。
關鍵點順序控制:
通過固定水平框的頂點順序(左上→右上→右下→左下),間接約束偏移量的對應關系,避免了角點排序問題。
(三)Gliding Vertex方案的問題
Gliding Vertex 預測水平框
時存在問題,因此提出 obliquity factor的預測值,來控制當前所要預測目標是否可以直接采用(x,y,w,h)。
參考
https://zhuanlan.zhihu.com/p/108185873