天天看點

Generalized Focal LossBackgroundIssueMotivation and NoveltyMethodExperimentsThoughts

Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection

https://arxiv.org/abs/2006.04388

Background

one-stage的目标檢測任務一般将任務劃分為兩個方向:classification和localization,在網絡訓練過程中,這兩個方向一般是獨立進行優化的,如下圖所示。

Generalized Focal LossBackgroundIssueMotivation and NoveltyMethodExperimentsThoughts

圖1 傳統detection任務學習範式

其中,對于classification問題,考慮到目标檢測任務中大量背景負樣本到影響,一般選用Focal Loss來進行優化。而對于localization問題,一般都是将其作為一個Dirac delta分布問題,通過對GT的box的回歸來優化。而最近FCOS提出引入一個定位品質評估的因子localizaiton quality(一般采用 IoU或centerness score),帶來了很可觀的性能提升。目前來說,這三者的組合便是目前目标檢測任務的常用較優組合。

Issue

但是通過對該三者組合的訓練範式的研究,作者發現其中存在兩個問題:

  • classification與localizaiton quality評估在訓練和測試階段不連續。目前的dense detector工作中,一般都是在訓練中對這兩者獨立進行,但是在測試的時候将他們綜合考慮來進行候選框的篩選,這無疑對train和test兩階段帶來了較大的gap。同時,目前的localizaiton quality評估一般都隻針對正樣本,而對于負樣本的quality其實是不受監督的。是以在負樣本的品質評估是一個不定行為,在預測階段有可能會産生一個較高的品質評估,這就會導緻造成一些不可預期的後果。如下圖a 所示,在測試階段,對于那些分類為背景(classification score較低),但其localizaiton quality評估較高的目标,兩者相乘就會獲得較大的分數,進而被誤檢。
Generalized Focal LossBackgroundIssueMotivation and NoveltyMethodExperimentsThoughts

圖2 cls score 與 IoU不連續所造成的誤檢

  • Bounding box的表示不夠靈活(inflexible representation)。這其實是傳統目标檢測的一個通病,在複雜場景中,對于目标物體的邊框位置的定義其實是無法精确給出的(包括标注人的主觀傾向,或是遮擋,模糊等造成的邊界歧義及不确定性)。如下圖所示,水中的帆闆邊緣或被遮擋的大象邊界,其實都很難去界定一個精确的位置。在這時候,傳統的單一Dirac delta分布模組化并不符合實際的情況。(對于irac delta分布回歸,個人的了解為,傳統的方法就是采用L1/L2等方法,向一個離散的确定值(bbox)進行逼近)。對于這種情況,回歸一個分布範圍相比于逼近一個離散值更符合事實。目前已經有一些工作在針對該問題進行改善,例如假定一個Guassian分布來進行預測等,但現實中的邊界分布問題必然是要比簡單的高斯模型更加複雜的,同時也可能是不對稱的,是以這種假定分布模型的方法也并不是最好的解決方案。
Generalized Focal LossBackgroundIssueMotivation and NoveltyMethodExperimentsThoughts

圖3 檢測框邊界分布問題

Motivation and Novelty

針對以上兩個問題,文中分别提出了解決方案:

  1. 對于classification score和localization quality在訓練和測試階段不連續的問題,文中選擇将這兩者結合為統一的一項,進而在訓練和測試階段都能夠采用同樣的表達。
  2. 對于bbox的邊界分布問題,文中選擇直接通過回歸一個任意分布的方式來解決(而不是預定Gaussian分布等)。采用離散化的方式,通過對多個目标采用softmax來組合的方式預測一個随機分布。

Method

為了實作以上兩種方案,文中提出了提出了兩個新的損失函數,QFL(Quanlity Focal Loss)和DFL(Distribution Focal Loss),兩者結合統稱為本文所說的 Generalized Focal Loss。以下分别來看這兩種loss.

  • QFL: 将localization quality和Focal loss結合,采用localization quality(例如使用IoU)來作為正樣本的label表示。但是傳統的Focal loss支援的是one-hot的離散形式類别表示,而IoU給出的卻是一個小數。為了将離散情況的優化問題擴充到連續域,文中就提出了QFl,如下所示。這裡依然保持了Focal loss的特性,将調節因子轉為了預測與品質label的距離,這樣對于一些預估不準且偏離标簽的hard example, 會賦予更多的關注,進而更好地訓練。如圖2所示,QFL的加入,強迫classification score和 location quality兩者有了更高的相關性,進而避免了之前那種高品質錯誤類别檢測的出現。
Generalized Focal LossBackgroundIssueMotivation and NoveltyMethodExperimentsThoughts
  • DFL: 對于對任意分布回歸的模組化問題,文中沒有采用類似于GIoU Loss這樣的損失函數,因為發現過于随機的分布模組化并不利于學習。文中認為真實分布一般不會距離标注的位置太遠,是以設計了DFL,如下所示。它的本質就是放大标簽位置y附近的機率。在實際工程中 ,采用了多個離散回歸再經過softmax組合的方式來實作。從圖3來塊,DFL能夠使得邊緣分布的預測,在清晰的邊界位置區域尖銳,而在較模糊的位置處預測出較平緩的分布。
Generalized Focal LossBackgroundIssueMotivation and NoveltyMethodExperimentsThoughts

Experiments

Generalized Focal LossBackgroundIssueMotivation and NoveltyMethodExperimentsThoughts

實驗結果當然是非常的優秀,給一張主要的對比圖,可以看到還是能夠非常穩定的漲點,同時在速度上也是非常亮眼。對于QFL和DFL兩種loss,消融實驗證明了兩者的有效性,可以學習在自己的工程中使用。

Thoughts

可以說這是非常亮眼的一篇文章,從現有技術的分析入手,發現問題然後提出解決方案,最後實作可預期的提升,有理有據令人歎服。。。可以遇見GFL可能會在未來的工程中被較為廣泛的使用

繼續閱讀