目標檢測已經有了長足的發(fā)展,總體來說根據(jù)階段個數(shù),可以劃分為Two-stage(Faster RCNN)、one-stage(SSD) 或者E2E(DETR)。根據(jù)是否基于anchor先驗,可以劃分為anchor-based(Faster RCNN)、anchor-free(CornerNet)的方法。
本文主要從目標框位置優(yōu)化的角度來介紹目標檢測領域的相關工作。框位置優(yōu)化主要可以分為以下幾個方面
By XYWH,這是指通過優(yōu)化與ground truth的中心點坐標值、寬和高的值來實現(xiàn)目標框位置的優(yōu)化
By keypoint,這是指通過優(yōu)化關鍵點的方式來找到目標框的位置
By LRBT,這是指通過優(yōu)化與ground truth 四條邊之間的距離的方式來實現(xiàn)目標框位置的優(yōu)化
By IoU,這是指通過最大化與GT計算得到的IoU來優(yōu)化目標框的位置
uncertainty,解決目標檢測框真值的邊界不確定性
01
Optimize by XYWH
定義
優(yōu)化目標為預測bbox的中心點坐標(x,y)和寬高(width, height)與對應真值的差距盡可能的小。接下來我們以Faster RCNN為例介紹該方法 。
思路
基于Anchor的先驗,我們可以得知每個proposal的大概位置。考慮到利用Anchor的先驗信息,作者使得預測框到anchor的距離和與子匹配的GT框到anchor的距離盡可能的相似。距離:XYWH的差值。
匹配方法
1、 代表 和 的IoU值; 大于指定閾值,代表i和j之間具有匹配關系
2、 對應最大IoU的 ;如第一步j沒有得到任何匹配,則在此步,i和j具備匹配關系
優(yōu)化公式
上述是Faster RCNN的優(yōu)化目標函數(shù),我們的目標就是讓 盡可能的逼近 ,之間的優(yōu)化函數(shù) 可以選擇L2,or L1 作者這里使用了Smooth L1
Q&A
為什么是SmoothL1?
A: smooth L1 在 x 較小時,對 x 的梯度也會變小,而在 x 很大時,對 x 的梯度的絕對值達到上限 1,也不會太大以至于破壞網絡參數(shù)。smooth L1 可以避開 L1 和 L2 損失的缺陷。
為什么要除 ?
A: 消除不同anchor大小帶來的影響,相當于歸一化為什么w和h的優(yōu)化要以log的形式進行?
A: target(H和W)是學習一個放縮的尺度,因此尺度值需要大于0,因此需要使用exp,對應的這里為log函數(shù)
02
Optimize by Keypoint
定義
優(yōu)化目標為找到物體的兩個關鍵點:左上點和右下點。核心為一個semantic segmentation問題。
接下來我們以Corner Net為例介紹該方法 。
思路
不同于基于Anchor的方法,本方法需要先識別關鍵點在圖中的位置。由于在pooling過程中會引入左邊的誤差,所以需要再針對每個關鍵點預測一個offset。
Q&A
如何訓練和預測關鍵點?一個點一個pixel
A:作者使用2D Gaussian來生成,如下圖所示,針對每個pixel,生成一個半徑大小為r的圓形Gaussian分布。半徑r的大小是自適應的。
若一個pixel對應了多個Gaussian分布的值,選擇最大的。如何根據(jù)top-left和bottom-right關鍵點兩兩組合形成最終的bbox?
A:作者提出針對每個keypoint 預測一個embedded vector,當top_left和bottom_left的embedded vector相似度大于一定閾值的時候則認為他們是描述的同一個bbox。則形成一個bboxkeypoint往往落在物體的外部,對應位置的特征可能不能很好表征物體,會增加識別關鍵點的難度。
A:作者提出了CornerPooling
優(yōu)化公式
綜上所述,在該方式中,我們需要以下三個優(yōu)化目標
1、關鍵點的分類,可以看成一個語義分割任務,作者采用了focal loss的變種,如下圖所示
2、每個關鍵點的offset預測,每個關鍵點offset的真值如下式所示。作者采用smooth l1去優(yōu)化
3、每個關鍵點的embedded vector預測,作者使用下式來優(yōu)化embedded vector。讓屬于同一個物體的vector相似,不屬于同一個物體的不相似
整體訓練&推理流程
03
Optimize by LRBT上述基于關鍵點回歸的方法有幾個缺點
1、容易產生ghost bbox,這是由于tl br的embedded 相似度的確較高產生的
2、后處理的時候,若關鍵點較多,復雜度較高。為K^2的復雜度。
為了解決該問題,作者提出了基于LRBT的優(yōu)化方式
定義
優(yōu)化目標為物體的“中心點”距離四條邊的距離
接下來我們以FCOS為例介紹該方法 。
思路
在feature map上找到每個“中心點”,針對每個中心點預測和他對應的框的四個值。
Q&A
1、如何定義“中心點”
A:我們需要找到特征圖上每個location(pixel)和gt_bbox的匹配關系,然后將匹配到的gt_bbox作為真值。
匹配關系:
- location落在某個gt_bbox內部,這里的落在內部可以直接的理解為落在內部,也可以替換成其他規(guī)則。例如真實中心的某個范圍。
- 為了加速收斂,l、r、t、b應該在某一個范圍內,如果不在這個范圍內,就以為著應該由其他location來優(yōu)化。例如,都應該在scale_factor的范圍內2、如何解決一個物體框可能包括了多個“中心點”
可以支持這種1對多的關系,一個物體框有多個中心點負責預測,后續(xù)通過NMS消除。
但是每個中心點的權重作者認為是不一樣的,因為距離物體實際中心近的中心點其難度較低,應該就越準確,所有在NMS的時候權重應該高。所以作者多了一個branch來預測centerness,即用于評估每個中心點的難易程度。
3、如何解決一個中心點可能落在多個物體框內部
作者選擇面積最小的bbox作為優(yōu)化目標,其實也可以優(yōu)化多個?
04
Optimize by IoU上述基本都是基于距離的回歸,但是我們最終的評價指標是IoU,所以我們優(yōu)化的目標和我們最終評價的指標之間還存在一些差異。在下面的case中,第一行所有情況的L2loss都是一樣的,但是IoU和GIoU是存在一定差異的。在第二行中,L1 Loss都是一樣的,但是IoU 和 GIoU 也是不一樣的。
為了解決上述的差異,作者提出了使用IoU作為我們的優(yōu)化目標
定義
優(yōu)化目標為使得預測框和真值框IoU最大,使用IoU 作為損失函數(shù)主要有以下兩個優(yōu)勢1. 優(yōu)化目標和評價指標存在差異,Ln(L2, L1)范式優(yōu)化和IoU優(yōu)化并不完全等價,如上圖所示。2. IoU對目標物體的scale不敏感。但是直接使用IoU Loss也存在如下兩個問題1. IoU值容易為0,且始終無法優(yōu)化。2. IoU無法辨識不同方式的對齊,比如方向不一致。為了解決上述問題,作者提出了GIoU General IoU Loss
GIoU
定義公式如下所示,C是包含A和B的最小box。當IoU(A, B)為0的時候,優(yōu)化目標轉化為讓C與AUB之間的空隙盡可能小。即就是A和B盡可能靠近。
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
Distance IoU Loss 主要是為了解決如下兩個問題
GIoU傾向得到一個較大的bbox
GIoU 區(qū)分兩個對象之間的對齊方式比較間接,僅通過引入C的方式來反應重疊的方式,不夠直接。如下圖所示。第二幅圖展示來當GIoU一樣的情況下,DIoU是不一致的(前提是,中心點重合的情況下認為擬合的最好)。
Contributions
提出了基于IoU Loss的一般性范式,這是我認為最大的貢獻
提出了DIoU Loss,在IoU loss的基礎上將central之間的距離作為懲罰項
在各個數(shù)據(jù)集和detector上都取得了不錯的效果
Detail
范式:作為認為IoU loss應該優(yōu)化的目標包括三個方面
兩個框之間的重合度
中心點之間的距離
長寬比的相似性
作者基于上述的1&&2,提出了DIoU Loss,結合1&&2&&3提出了CIoU Loss(C is complete)
DIoU:定義如下所示,其中關鍵中心點之間距離的懲罰項的分子代表兩個框中心點之間的歐式距離。分母是GIoU中矩陣C的對角線變長。分母起到了歸一化的作用。
CIoU的定義如下所示,它在DIoU的基礎上增加了對長寬比的懲罰項
05
Optimize by uncertainty
Motivation
不一致性
訓練和測試兩個階段的,如上圖所示,訓練的時候單獨優(yōu)化classification score和IoU score,測試的時候將其相乘,然后會導致訓練和測試的時候不一致。
測試的時候,進入NMS的是classification score乘IoU score,就會存在一種情況classification score較低,但是IoU score較高,然后使得負樣本沒有被過濾。這是因為IoU score并沒有對負樣本做優(yōu)化,所有負樣本的IoU score并不受控制,如下圖所示。
Localization Quality Estimation (LQE) 是許多one-stage或者anchor-free方法改善效果的途徑。
但是上述的方法會帶來一定的不一致性1,它主要包括以下兩點
Contribution1為了解決上述的問題,作者提出使用Joint的方式來聯(lián)合優(yōu)化classification score和IoU score。即就是用同一個prediction值即代表classification score又代表IoU score
不靈活性
目前目標檢測的標準框有時候會存在標注的不確定性(或噪聲)。而目前常用的bbox優(yōu)化方式是優(yōu)化Dirac分布(具體什么是Dirac分布后續(xù)會介紹)。
但是Dirac分布過于固定,不能解決uncertain的問題,因此有人提出了Gaussian 分布。
但是作者認為Gaussian分布過于理想,不能適應于復雜的現(xiàn)實情況。
Contribution2因此,作者提出了不依賴于任何先驗的潛在分布優(yōu)化(underlying distribution)
Method
Quality Focal Loss
在上一節(jié),我們介紹了作者使用同一個prediction score來同時表示classification score和IoU score,那么優(yōu)化該值的時候真值應該是什么呢?作者選擇IoU值作為優(yōu)化的真值,由于IoU是一個[0,1]之間的連續(xù)值。而傳統(tǒng)的focal loss優(yōu)化的目標是{0, 1}這樣的離散值。因此該loss更加泛化一點(general)
Quality Focal Loss就是上述的更加泛化的FocalLoss,其定義如下所示
上述公式的后部分是展開形式的交叉熵,系數(shù)是adaptive的,當預測是和真值接近的時候,系數(shù)小,當遠的時候系數(shù)大。
Distribution Focal Loss
在本節(jié)我們主要介紹以下何為Distribution,以及我們的Distribution Focal Loss。
先看為什么是Distribution?傳統(tǒng)的BBox regression即就是直接優(yōu)化兩個值,讓pred_w接近真值的w。
換個角度看,假設我們預測的值為pred_w, 我們直接優(yōu)化pred_w接近w,那么我們就相當于讓pred_w出現(xiàn)的概率是1.0。這即就是Dirac Distribution。
也就是說我們最終的預測值是對所有y可能出現(xiàn)的值計算積分。也就如下公式所示。
接下來在看我們的Distribution Focal Loss, 有上式可知,上式是比Dirac更加泛化的形式。因此本文用上式來計算預測的y^。預測y^之前我們需要先清楚兩點
連續(xù)值的積分是不好實現(xiàn)的,我們可以用離散值的求和來代替
我們需要確定預測值的范圍。
有了上述兩個條件,我們可以得到pred^的計算公式如下所示。
得到上述的y的預測值后,我們如何去優(yōu)化呢?因為我們知道y^是接近y的,因此我們需要讓int(y)和int(y)+1的prob最大。因此就可以對應下面的公式。
Discussion
GIoU 是否必須?
根據(jù)總的Loss定義,我們發(fā)現(xiàn)GIoU貌似不是必須,因為通過
distribution focal loss也可以起到bbox優(yōu)化的目的。因此我們做了對比實驗,發(fā)現(xiàn)取消GIoU loss會帶來小幅度的指標下降。
別的應用場景
數(shù)據(jù)分類(帶有噪聲)。針對每個類,我們將其拆分成N份(0., 0.1, 0.2, …, 1.0),分別預測每一份的概率,然后求和,即為最終該類別的概率。
distribution的意義
分布越陡峭,證明越確定,否則越不確定。
本文分享自華為云社區(qū)《目標檢測中的框位置優(yōu)化總結》
原文作者:賣豬肉的阿漆 侵刪
地址:https://bbs.huaweicloud.com/blogs/263436
編輯:jq
-
SSD
+關注
關注
21文章
2857瀏覽量
117371 -
目標檢測
+關注
關注
0文章
209瀏覽量
15605 -
GT
+關注
關注
0文章
14瀏覽量
24644
原文標題:總結 | 目標檢測中的框位置優(yōu)化
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論