目標檢測中焦點損失的原理

介紹對象檢測是計算機視覺社區(qū)中研究最廣泛的主題之一,它已經(jīng)進入了各個行業(yè),涉及從圖像安全,監(jiān)視,自動車輛系統(tǒng)到機器檢查等領域。

當前,基于深度學習的對象檢測可以大致分為兩類:兩級檢測器,例如基于區(qū)域檢測的CNN(R-CNN)及其后續(xù)產(chǎn)品。

一級探測器,例如YOLO系列探測器和SSD基于錨框的常規(guī)一級檢測器可能會更快,更簡單,但由于在訓練過程中遇到極端的等級失衡,其精度已經(jīng)落后于兩級探測器。FAIR在2018年發(fā)表了一篇論文,其中他們引入了焦點損失的概念,使用他們稱之為RetinaNet的一級探測器來處理此類不平衡問題。在我們深入探討焦點丟失的本質(zhì)之前,讓我們首先了解這個類不平衡問題是什么以及它可能引起的問題。

目錄為什么需要焦點損失什么是焦點損失交叉熵損失交叉熵問題例子平衡交叉熵損失平衡交叉熵問題例子焦點損失說明例子交叉熵損失 vs 焦點損失容易正確分類的記錄分類錯誤的記錄非常容易分類的記錄最后的想法為什么需要焦點損失兩種經(jīng)典的一級檢測方法,如增強型檢測器,DPM和最新的方法(如SSD)都可以評估每個圖像大約10^4 至 10^5個候選位置,但只有少數(shù)位置包含對象(即前景),而其余的只是背景對象,這就導致了類不平衡的問題。這種不平衡會導致兩個問題訓練效率低下,因為大多數(shù)位置都容易被判斷為負類(這意味著檢測器可以輕松地將其歸類為背景),這對檢測器的學習沒有幫助。容易產(chǎn)生的負類(概率較高的檢測)占輸入的很大一部分。

雖然單獨計算的梯度和損失較小,但它們可能使損耗和計算出的梯度不堪重負,并可能導致模型退化。什么是焦點損失簡而言之,焦點損失(Focal Loss,FL)是交叉熵損失(Cross-Entropy Loss,CE)的改進版本,它通過為難分類的或容易錯誤分類的示例(即帶有噪聲紋理的背景或部分對象的或我們感興趣的對象)分配更多的權(quán)重并對簡單示例(即背景對象)降低權(quán)重來處理類不平衡問題。

因此,焦點損失減少了簡單示例的損失貢獻,并加強了對糾正錯誤分類示例的重視。首先讓我們來了解一下二進制分類的交叉熵損失。交叉熵損失交叉熵損失背后的思想是懲罰錯誤的預測,而不是獎勵正確的預測。二進制分類的交叉熵損失如下:

其中:Yact = Y的實際值Ypred = Y的預測值為了標記方便,我們記 Yact = Y 且 Ypred = p 。Y∈{0,1},這是正確標注p∈[0,1],是模型對Y = 1的類別的估計概率。為了符號上的方便,我們可以將上述方程式改寫為:pt = {-ln(p) ,當Y=1 -ln(1-p) ,當 Y=}CE(p,y)= CE(pt)=-ln?(pt)交叉熵問題如你所見,下圖中的藍線表示當p非常接近0(當Y = 0時)或1時,容易分類的pt > 0.5的示例可能會產(chǎn)生不小幅度的損失。

讓我們用下面的例子來理解它。例子假設,前景(我們稱其為類1)正確分類為p = 0.95 ——CE(FG)= -ln(0.95)= 0.05并且背景(我們稱其為類0)正確分類為p = 0.05 ——CE(BG)=-ln(1- 0.05)= 0.05現(xiàn)在問題是,對于類不平衡的數(shù)據(jù)集,當這些小的損失在整個圖像上相加時,可能會使整體損失(總損失)不堪重負,將導致模型退化。

平衡交叉熵損失解決類別不平衡問題的一種常見方法是為類別引入權(quán)重因子∝[0,1]為了標記方便,我們可以在損失函數(shù)中定義 ∝t 如下:CE(pt)= -∝t ln ln(pt)

如你所見,這只是交叉熵的擴展。平衡交叉熵的問題我們的實驗將表明,在密集檢測器訓練過程中遇到的大類不平衡壓倒了交叉熵損失。容易分類的負類占損耗的大部分,并主導梯度。雖然平衡了正例/負例的重要性,但它并沒有區(qū)分簡單/困難的示例。

讓我們通過一個例子來理解這一點例子假設,前景(我們稱其為類1)正確分類為p = 0.95 ——CE(FG)= -0.25 * ln(0.95)= 0.0128正確分類為p = 0.05的背景(我們稱之為類0)——CE(BG)=-(1-0.25)* ln(1- 0.05)= 0.038雖然可以很好地正確區(qū)分正類和負類,但仍然不能區(qū)分簡單/困難的樣本。這就是焦點損失(擴展到交叉熵)所要解決的問題。

焦點損失說明焦點損失只是交叉熵損失函數(shù)的擴展,它將降低簡單示例的權(quán)重,并將訓練重點放在困難的負樣本上。為此,研究人員提出:(1- pt)γ 為交叉熵損失,且可調(diào)聚焦參數(shù)γ≥0。RetinaNet物體檢測方法使用焦點損失的α平衡變體,其中α = 0.25,γ= 2效果最佳。

因此,焦點損失可以定義為——FL (pt) = -αt(1- pt)γ log log(pt).對于γ∈[0,5]的幾個值,可以看到焦點損失,請參見圖1。我們將注意到焦點損失的以下特性:當示例分類錯誤并且pt小時,調(diào)制因數(shù)接近1,并且損失不受影響。當 pt →1 時,該因子變?yōu)?,并且對分類良好的示例的損失進行了權(quán)衡。聚焦參數(shù)γ平滑地調(diào)整了簡單示例的權(quán)重。隨著增加,調(diào)制因數(shù)的作用同樣增加。(經(jīng)過大量實驗和試驗,研究人員發(fā)現(xiàn)γ = 2效果最佳)注意:當γ= 0時,FL等效于CE,參考圖中藍色曲線。

直觀上,調(diào)制因數(shù)減少了簡單示例的損耗貢獻,并擴展了示例接收低損耗的范圍。讓我們通過一個例子來了解上述焦點損失的特性。例子當記錄(前景或背景)被正確分類時,前景正確分類,預測概率p=0.99,背景正確分類,預測概率p=0.01。pt = {0.99,當Yact = 1 時; 1-0.01,當Y act = 0時},調(diào)制因數(shù)(FG)=(1-0.99)2 = 0.0001,調(diào)制因數(shù)(BG)=(1-(1-0.01))2 = 0.0001,如你所見,調(diào)制因數(shù)接近于0,因此損耗將被權(quán)重降低。

前景被錯誤分類,預測概率p = 0.01,背景對象被錯誤分類,預測概率p = 0.99。pt = {0.01,當Yact = 1 時; 1-0.99,當Y act = 0時},調(diào)制因數(shù)(FG)=(1-0.01)2 = 0.9801,調(diào)制因數(shù)(BG)=(1-(1-0.99))2 = 0.9801,如你所見,調(diào)制因數(shù)接近于1,因此損耗不受影響?,F(xiàn)在,讓我們使用一些示例來比較交叉熵和焦點損失,并查看焦點損失在訓練過程中的影響。交叉熵損失 vs 焦點損失讓我們通過考慮以下幾種情況來進行比較。

容易正確分類的記錄假設前景正確分類的預測概率為p = 0.95,背景正確分類的背景為預測概率p = 0.05。pt = {0.95, 當 Yact=1時;1-0.05 ,當 Yact = 0時}, CE(FG)= -ln (0.95) = 0.0512932943875505,讓我們考慮在∝ = 0.25和γ= 2時的焦點損失。FL(FG)= -0.25 * (1-0.95)2 * ln (0.95) = 3.2058308992219E-5FL(BG)= -0.75 * (1-(1-0.05))2 * ln (1-0.05) = 9.61E-5分類錯誤的記錄假設預測概率p=0.05的前景被分類為預測概率p=0.05的背景對象。pt = {0.95,當Y act = 1;1-0.05時,當Y act = 0時},CE(FG)= -ln(0.05)= 2.995732273553991CE(BG)= -ln(1-0.95)= 2.995732273553992讓我們考慮相同的場景,即∞=0.25和γ=2。FL(FG)= -0.25 * (1-0.05)2 * ln(0.05)= 0.675912094220619,FL(BG)= -0.75 * (1-(1-0.95))2 * ln(1-0.95)= 2.027736282661858非常容易分類的記錄假設對預測概率p=0.01的背景對象,用預測概率p=0.99對前景進行分類。pt = {0.99, 當 Yact=1時;1-0.01 ,當 Yact = 0時},CE(FG)= -ln (0.99)= 0.0100503358535014,CE(BG)= -ln(1-0.01)= 0.0100503358535014讓我們考慮相同的場景,即∞=0.25和γ=2。FL(FG)= -0.25 * (1-0.01)2 * ln(0.99)= 2.51 * 10 -7,FL(BG)= -0.75 * (1-(1-0.01))2 * ln(1-0.01) = 7.5377518901261E-7最后的想法方案1:0.05129 / 3.2058 * 10 -7 =小1600倍方案2:2.3 / 0.667 =小4.5倍方案3:0.01 / 0.00000025 =小40,000倍。

這三個案例清楚地說明了焦點損失是如何減小分類良好記錄的權(quán)重的,另一方面又為錯誤分類或較難分類的記錄賦予較大的權(quán)重。經(jīng)過大量的試驗和實驗,研究人員發(fā)現(xiàn) ∝ = 0.25和 γ = 2 效果最佳。尾注在本文,我們經(jīng)歷了從交叉熵損失到焦點損失的整個進化過程,詳細解釋了目標檢測中的焦點損失。

(免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內(nèi)容或斷開相關鏈接。 )

贊助商
2020-09-19
目標檢測中焦點損失的原理
介紹對象檢測是計算機視覺社區(qū)中研究最廣泛的主題之一,它已經(jīng)進入了各個行業(yè),涉及從圖像安全,監(jiān)視,自動車輛系統(tǒng)到機器檢查等領域。

長按掃碼 閱讀全文