總結(jié) | 目標(biāo)檢測中的框位置優(yōu)化
點擊左上方藍字關(guān)注我們

轉(zhuǎn)載自 | AI算法與圖像處理
作者 | 賣豬肉的阿漆
By XYWH,這是指通過優(yōu)化與ground truth的中心點坐標(biāo)值、寬和高的值來實現(xiàn)目標(biāo)框位置的優(yōu)化 By keypoint,這是指通過優(yōu)化關(guān)鍵點的方式來找到目標(biāo)框的位置 By LRBT,這是指通過優(yōu)化與ground truth 四條邊之間的距離的方式來實現(xiàn)目標(biāo)框位置的優(yōu)化 By IoU,這是指通過最大化與GT計算得到的IoU來優(yōu)化目標(biāo)框的位置 uncertainty,解決目標(biāo)檢測框真值的邊界不確定性
01
定義
思路
匹配方法
2、
優(yōu)化公式


Q&A
A: smooth L1 在 x 較小時,對 x 的梯度也會變小,而在 x 很大時,對 x 的梯度的絕對值達到上限 1,也不會太大以至于破壞網(wǎng)絡(luò)參數(shù)。smooth L1 可以避開 L1 和 L2 損失的缺陷。

A: 消除不同anchor大小帶來的影響,相當(dāng)于歸一化
A: target(H和W)是學(xué)習(xí)一個放縮的尺度,因此尺度值需要大于0,因此需要使用exp,對應(yīng)的這里為log函數(shù)

02
定義
接下來我們以Corner Net為例介紹該方法
思路
Q&A
A:作者使用2D Gaussian來生成,如下圖所示,針對每個pixel,生成一個半徑大小為r的圓形Gaussian分布。半徑r的大小是自適應(yīng)的。


A:作者提出針對每個keypoint 預(yù)測一個embedded vector,當(dāng)top_left和bottom_left的embedded vector相似度大于一定閾值的時候則認(rèn)為他們是描述的同一個bbox。則形成一個bbox
A:作者提出了CornerPooling,其結(jié)構(gòu)如下圖所示

優(yōu)化公式
1、關(guān)鍵點的分類,可以看成一個語義分割任務(wù),作者采用了focal loss的變種,如下圖所示




整體訓(xùn)練&推理流程

03
1、容易產(chǎn)生ghost bbox,這是由于tl br的embedded 相似度的確較高產(chǎn)生的
2、后處理的時候,若關(guān)鍵點較多,復(fù)雜度較高。為K^2的復(fù)雜度。
為了解決該問題,作者提出了基于LRBT的優(yōu)化方式
定義

思路
Q&A
A:我們需要找到特征圖上每個location(pixel)和gt_bbox的匹配關(guān)系,然后將匹配到的gt_bbox作為真值。
匹配關(guān)系:
- location落在某個gt_bbox內(nèi)部,這里的落在內(nèi)部可以直接的理解為落在內(nèi)部,也可以替換成其他規(guī)則。例如真實中心的某個范圍。
- 為了加速收斂,l、r、t、b應(yīng)該在某一個范圍內(nèi),如果不在這個范圍內(nèi),就以為著應(yīng)該由其他location來優(yōu)化。例如,都應(yīng)該在scale_factor的范圍內(nèi)
可以支持這種1對多的關(guān)系,一個物體框有多個中心點負(fù)責(zé)預(yù)測,后續(xù)通過NMS消除。
但是每個中心點的權(quán)重作者認(rèn)為是不一樣的,因為距離物體實際中心近的中心點其難度較低,應(yīng)該就越準(zhǔn)確,所有在NMS的時候權(quán)重應(yīng)該高。所以作者多了一個branch來預(yù)測centerness,即用于評估每個中心點的難易程度。

作者選擇面積最小的bbox作為優(yōu)化目標(biāo),其實也可以優(yōu)化多個?
04

定義
GIoU

A = np.random.random([N, 4])B = np.random.random([N, 4])C = np.zero_like(A)C[:, :2] = np.min(A[:, :2], B[:, :2])C[:, 2:] = np.max(A[:, 2:], B[:, 2:])

DIoU
Motivation
GIoU訓(xùn)練過程較慢,作者做的模擬實驗見下圖 
GIoU傾向得到一個較大的bbox GIoU 區(qū)分兩個對象之間的對齊方式比較間接,僅通過引入C的方式來反應(yīng)重疊的方式,不夠直接。如下圖所示。第二幅圖展示來當(dāng)GIoU一樣的情況下,DIoU是不一致的(前提是,中心點重合的情況下認(rèn)為擬合的最好)。 
Contributions
提出了基于IoU Loss的一般性范式,這是我認(rèn)為最大的貢獻 提出了DIoU Loss,在IoU loss的基礎(chǔ)上將central之間的距離作為懲罰項 在各個數(shù)據(jù)集和detector上都取得了不錯的效果
Detail
兩個框之間的重合度 中心點之間的距離 長寬比的相似性
DIoU:定義如下所示,其中關(guān)鍵中心點之間距離的懲罰項的分子代表兩個框中心點之間的歐式距離。分母是GIoU中矩陣C的對角線變長。分母起到了歸一化的作用。 
CIoU的定義如下所示,它在DIoU的基礎(chǔ)上增加了對長寬比的懲罰項 
05
Motivation
不一致性 訓(xùn)練和測試兩個階段的,如上圖所示,訓(xùn)練的時候單獨優(yōu)化classification score和IoU score,測試的時候?qū)⑵湎喑耍缓髸?dǎo)致訓(xùn)練和測試的時候不一致。 測試的時候,進入NMS的是classification score乘IoU score,就會存在一種情況classification score較低,但是IoU score較高,然后使得負(fù)樣本沒有被過濾。這是因為IoU score并沒有對負(fù)樣本做優(yōu)化,所有負(fù)樣本的IoU score并不受控制,如下圖所示。 Localization Quality Estimation (LQE) 是許多one-stage或者anchor-free方法改善效果的途徑。LQE的常用方法見下圖所示。 
但是上述的方法會帶來一定的不一致性1,它主要包括以下兩點
不靈活性 目前目標(biāo)檢測的標(biāo)準(zhǔn)框有時候會存在標(biāo)注的不確定性(或噪聲),如下圖所示。而目前常用的bbox優(yōu)化方式是優(yōu)化Dirac分布(具體什么是Dirac分布后續(xù)會介紹)。 
但是Dirac分布過于固定,不能解決uncertain的問題,因此有人提出了Gaussian 分布。 但是作者認(rèn)為Gaussian分布過于理想,不能適應(yīng)于復(fù)雜的現(xiàn)實情況。
Method
Quality Focal Loss
在上一節(jié),我們介紹了作者使用同一個prediction score來同時表示classification score和IoU score,那么優(yōu)化該值的時候真值應(yīng)該是什么呢?作者選擇IoU值作為優(yōu)化的真值,由于IoU是一個[0,1]之間的連續(xù)值。而傳統(tǒng)的focal loss優(yōu)化的目標(biāo)是{0, 1}這樣的離散值。因此該loss更加泛化一點(general) Quality Focal Loss就是上述的更加泛化的FocalLoss,其定義如下所示 
上述公式的后部分是展開形式的交叉熵,系數(shù)是adaptive的,當(dāng)預(yù)測是和真值接近的時候,系數(shù)小,當(dāng)遠(yuǎn)的時候系數(shù)大。
Distribution Focal Loss
先看為什么是Distribution?傳統(tǒng)的BBox regression即就是直接優(yōu)化兩個值,讓pred_w接近真值的w。 換個角度看,假設(shè)我們預(yù)測的值為pred_w, 我們直接優(yōu)化pred_w接近w,那么我們就相當(dāng)于讓pred_w出現(xiàn)的概率是1.0。這即就是Dirac Distribution,其如下圖所示。 
也就是說我們最終的預(yù)測值是對所有y可能出現(xiàn)的值計算積分。也就如下公式所示。 
接下來在看我們的Distribution Focal Loss, 有上式可知,上式是比Dirac更加泛化的形式。因此本文用上式來計算預(yù)測的y^。預(yù)測y^之前我們需要先清楚兩點 連續(xù)值的積分是不好實現(xiàn)的,我們可以用離散值的求和來代替 我們需要確定預(yù)測值的范圍。 有了上述兩個條件,我們可以得到pred^的計算公式如下所示。 
得到上述的y的預(yù)測值后,我們?nèi)绾稳?yōu)化呢?因為我們知道y^是接近y的,因此我們需要讓int(y)和int(y)+1的prob最大。因此就可以對應(yīng)下面的公式。 
Discussion
GIoU 是否必須?
根據(jù)總的Loss定義,我們發(fā)現(xiàn)GIoU貌似不是必須,因為通過
distribution focal loss也可以起到bbox優(yōu)化的目的。因此我們做了對比實驗,發(fā)現(xiàn)取消GIoU loss會帶來小幅度的指標(biāo)下降。別的應(yīng)用場景
數(shù)據(jù)分類(帶有噪聲)。針對每個類,我們將其拆分成N份(0., 0.1, 0.2, …, 1.0),分別預(yù)測每一份的概率,然后求和,即為最終該類別的概率。distribution的意義
分布越陡峭,證明越確定,否則越不確定。
06
Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[J]. arXiv preprint arXiv:1506.01497, 2015.Law H, Deng J. Cornernet: Detecting objects as paired keypoints[C]//Proceedings of the European conference on computer vision (ECCV). 2018: 734-750.Tian Z, Shen C, Chen H, et al. Fcos: Fully convolutional one-stage object detection[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019: 9627-9636.Rezatofighi H, Tsoi N, Gwak J Y, et al. Generalized intersection over union: A metric and a loss for bounding box regression[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019: 658-666.Zheng Z, Wang P, Liu W, et al. Distance-IoU loss: Faster and better learning for bounding box regression[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2020, 34(07): 12993-13000.Li X, Wang W, Wu L, et al. Generalized focal loss: Learning qualified and distributed bounding boxes for dense object detection[J]. arXiv preprint arXiv:2006.04388, 2020.
END
整理不易,點贊三連↓
評論
圖片
表情
