感知算法论文(九):Towards Accurate One-Stage Object Detection with AP-Loss
文章目錄
- 摘要
- 1. 引言
- 2. 相關(guān)工作
- 3. 方法
- 3.1 Ranking Task 和 AP-loss
- 3.1.1 Ranking Task
- 3.1.2 AP-loss
- 3.2 最優(yōu)化準(zhǔn)則
- 3.2.1 誤差驅(qū)動(dòng)更新
- 3.2.2 反向傳播
- 3.3 分析
- 3.4 訓(xùn)練方法的細(xì)節(jié)
- 4. 實(shí)驗(yàn)
- 4.1 實(shí)驗(yàn)設(shè)置
- 4.2 消融學(xué)習(xí)
- 4.2.1 不同參數(shù)的對(duì)比
- 4.2.2 不同 loss 的對(duì)比
- 4.2.3 不同優(yōu)化方法的對(duì)比
- 4.3 基準(zhǔn)結(jié)果
- 5. 結(jié)論
摘要
單階段目標(biāo)檢測(cè)器是通過(guò)同時(shí)優(yōu)化分類損失和定位損失來(lái)訓(xùn)練的
由于anchor的數(shù)量很多,存在前景目標(biāo)和背景目標(biāo)不平衡的問(wèn)題
本文提出了一種新的框架來(lái)緩和上述不平衡問(wèn)題,即使用排序方法來(lái)代替分類任務(wù),并且使用 Average-Precision loss(AP-loss)來(lái)完成排序問(wèn)題。
因?yàn)?AP-loss 是不可微且非凸的,AP-loss 不能直接被優(yōu)化,故本文使用一種新的優(yōu)化方法,可以將感知學(xué)習(xí)過(guò)程的誤差驅(qū)動(dòng)的更新機(jī)制和深度網(wǎng)絡(luò)中的反向傳播機(jī)制進(jìn)行巧妙的結(jié)合。
1. 引言
目標(biāo)檢測(cè)需要從背景中定位并識(shí)別出目標(biāo),其面臨的挑戰(zhàn)是前景和背景數(shù)量極不平衡。
檢測(cè)過(guò)程是一個(gè)多任務(wù)機(jī)制,需要用不同的損失函數(shù)來(lái)解決分類任務(wù)和定位任務(wù)。
分類任務(wù)主要是識(shí)別b-box中的目標(biāo)的類別,定位任務(wù)主要是預(yù)測(cè)b-box的位置。
兩階段的檢測(cè)器,首先生成確定數(shù)量的候選框,所有檢測(cè)問(wèn)題可以從這些候選框中直接解決。
單階段的檢測(cè)器,需要直接從大量的預(yù)定義的候選框中預(yù)測(cè)目標(biāo)類別,大量的b-box會(huì)引起前景和背景的極度不平衡,使得分類任務(wù)難以進(jìn)行。
已知,對(duì)于一個(gè)平凡解(無(wú)解),幾乎所有的候選框都被預(yù)測(cè)為負(fù)標(biāo)簽,分類指標(biāo)可能很高,而檢測(cè)性能較差。如圖1(a)所示。
為了解決單階段目標(biāo)檢測(cè)的這種問(wèn)題,很多不同的方法引入了新的分類損失,如 balanced loss[23]、Focal loss[15] 和 tailored training 方法(Online Hard Example Mining (OHEM))等。這些 losses 對(duì)每個(gè) anchor box 都分別獨(dú)立建模,在分類損失中,其嘗試對(duì)前景樣本和背景樣本重新賦權(quán)值,來(lái)適應(yīng)樣本不平衡的情況,這些方法沒(méi)有考慮不同 samples 之間的聯(lián)系。設(shè)計(jì)的平衡權(quán)重是手工選取的超參數(shù),并不能很好的適應(yīng)于不同類型的數(shù)據(jù)集。
本文認(rèn)為,分類任務(wù)和檢測(cè)任務(wù)之間的鴻溝阻礙了單階段目標(biāo)檢測(cè)器的性能提升,本文并未從分類損失函數(shù)的修正上著手,而是直接使用排序方法(ranking)來(lái)代替分類損失。其中,關(guān)聯(lián)的 ranking loss 顯式地對(duì)關(guān)系建模,并且對(duì)正樣本和負(fù)樣本的比例不敏感。
如圖1(b)所示,本文使用 AP 作為本文目標(biāo)損失,其本質(zhì)上更符合目標(biāo)檢測(cè)的評(píng)價(jià)指標(biāo)。
由于 AP- loss 是不可微且非凸的,所以標(biāo)準(zhǔn)的梯度下降方法無(wú)法訓(xùn)練,下面討論三點(diǎn):
1)在結(jié)構(gòu)化的 SVM 模型中學(xué)習(xí)了基于 AP 的 loss,該 SVM 模型是線性模型,所以性能受限。
2)結(jié)構(gòu)化的 hinge loss 用于優(yōu)化 AP loss的上屆,而不是直接優(yōu)化 loss 本身
3)近似的梯度方法可以用于優(yōu)化 AP-loss,但效率不高,且容易陷入局部最優(yōu)。
綜上,優(yōu)化 AP-loss 仍然是一個(gè)開放性問(wèn)題。
本文中,我們用 ranking task 來(lái)代替單階段檢測(cè)器的 classification task,故我們使用基于 ranking 的 loss(AP-loss)來(lái)解決類別不平衡的問(wèn)題。
詳細(xì)來(lái)講,本文提出了一種新的基于誤差的學(xué)習(xí)策略,來(lái)有效的優(yōu)化基于 AP 的不可微的目標(biāo)檢測(cè)函數(shù)。
也就是說(shuō),給單階段檢測(cè)器的得分輸出添加了一些額外的變換,來(lái)獲得 AP- loss,包括線性變換(將 scores 變換成成對(duì)的偏差),之后利用非線性且不可微的“激活函數(shù)”將成對(duì)偏差變換成 AP-loss 的主要內(nèi)容,最后就可以通過(guò)將原始 term 和 label vector 進(jìn)行點(diǎn)乘來(lái)獲得 AP-loss。
受感知學(xué)習(xí)方法的啟發(fā),我們使用誤差驅(qū)動(dòng)的學(xué)習(xí)方式,來(lái)直接通過(guò)不可微的激活函數(shù)傳遞更新的信號(hào)。
不同于梯度方法,我們的學(xué)習(xí)機(jī)制給每個(gè)變量的誤差一個(gè)更新信號(hào)的比率,之后使用反向傳播來(lái)傳遞權(quán)值更新信號(hào)。
本文從理論和實(shí)際上都證明了提出的優(yōu)化方法不會(huì)出現(xiàn)不可微可非凸的情況,本文主要貢獻(xiàn)如下:
- 提出了新的框架來(lái)解決分類樣本正負(fù)不均衡的問(wèn)題
- 提出了誤差驅(qū)動(dòng)的學(xué)習(xí)機(jī)制,可以有效地優(yōu)化不可微且非凸的基于 AP 的目標(biāo)函數(shù)
- 通過(guò)實(shí)驗(yàn)驗(yàn)證,本文方法相比于使用 classification loss 的方法效果更好
2. 相關(guān)工作
單階段檢測(cè)器:目標(biāo)檢測(cè)中,單階段方法可以比兩階段方法更簡(jiǎn)單且更高效。
眾所周知,單階段目標(biāo)檢測(cè)器的優(yōu)良效果得益于密集的anchors,但這會(huì)導(dǎo)致前景和背景目標(biāo)的不平衡,為了解決這個(gè)問(wèn)題,OHEM [18, 31] 和 Focal Loss [15] 被用來(lái)降低簡(jiǎn)單樣本的權(quán)重,然而,該問(wèn)題仍然沒(méi)有得到有效的解決。
首先,手選超參數(shù)難以泛化到其他數(shù)據(jù)集
其次,anchors 之間的關(guān)系沒(méi)有很好的建模
用于目標(biāo)檢測(cè)的 AP loss:
AP 被當(dāng)做評(píng)價(jià)指標(biāo),但由于其不可微和非凸性,難以用作優(yōu)化函數(shù),本文的方法有四個(gè)特點(diǎn):
1)本文方法可以被用于任何可微線性或可微非線性模型,如神經(jīng)網(wǎng)絡(luò),其他的那些方法,如[37,19] 僅僅可以在線性 SVM 模型中起作用。
2)本文方法直接優(yōu)化 AP- loss,[20]會(huì)導(dǎo)致 loss 出現(xiàn) gap
3)本文方法不是近似的梯度,且不受 [34,9] 中的目標(biāo)函數(shù)非凸性的影響
4)本文方法可以端到端的訓(xùn)練檢測(cè)器
感知學(xué)習(xí)方法:
本文優(yōu)化準(zhǔn)則的核心是“誤差驅(qū)動(dòng)更新”,是感知學(xué)習(xí)方法的泛化版本,有助于克服不可微目標(biāo)函數(shù)的困難。
感知器是使用階躍函數(shù)作為激活函數(shù)的簡(jiǎn)單的人工神經(jīng)元,感知學(xué)習(xí)方法是由Frank Rosenblatt [26]最初提出的,因?yàn)殡A躍函數(shù)是不可微的,其不適合于使用梯度更新準(zhǔn)則,但該方法也沒(méi)有使用類似于交叉熵?fù)p失函數(shù)的方法來(lái)代替優(yōu)化函數(shù),而是使用“誤差驅(qū)動(dòng)更新”方法來(lái)更新權(quán)值。
當(dāng)訓(xùn)練數(shù)據(jù)是線性可分的時(shí),該方法能夠保證在有限次數(shù)內(nèi)收斂。
3. 方法
我們主要是使用基于 ranking task 的 AP-loss 來(lái)代替 classification task。
圖2展示了本文方法的兩個(gè)主要結(jié)構(gòu):ranking 過(guò)程 + 誤差驅(qū)動(dòng)更新準(zhǔn)則
3.1 Ranking Task 和 AP-loss
3.1.1 Ranking Task
傳統(tǒng)單階段檢測(cè)器:
給定輸入圖像 III
假設(shè)預(yù)定義的 anchors 序列是 BBB
每個(gè)anchor bi∈Bb_i \in Bbi?∈B
同時(shí)給每個(gè) anchor 根據(jù)真實(shí)值和 IoU 策略都分配一個(gè) label ti∈{?1,0,1,...,K}t_i \in \{-1,0,1,...,K \}ti?∈{?1,0,1,...,K},1~K 表示目標(biāo)類別 ID,“0” 表示背景,“-1” 表示忽略的 anchor。
訓(xùn)練和測(cè)試階段,檢測(cè)器給每個(gè) anchor 都輸出一個(gè)得分向量 (si0,...,siK)(s_i^0, ...,s_i^K)(si0?,...,siK?)
本框架中,一個(gè) anchor 不再有 K+1K+1K+1 維的得分預(yù)測(cè),將每個(gè) anchor 都復(fù)制 K 次來(lái)得到 bikb_{ik}bik? ,其中 k=1,...,Kk=1,...,Kk=1,...,K,且第 kkk 個(gè)anchor 負(fù)責(zé)第 kkk 個(gè)類別的檢測(cè)。
每個(gè) anchor bikb_{ik}bik? 都會(huì)依據(jù) IoU 準(zhǔn)則(-1 表示未被計(jì)入 ranking loss)都會(huì)被分配一個(gè) label tik∈{?1,0,1}t_{ik}\in\{-1,0,1\}tik?∈{?1,0,1}。
因此,在訓(xùn)練和測(cè)試階段,對(duì)于每個(gè) anchor,檢測(cè)器將僅僅預(yù)測(cè)一個(gè)標(biāo)量得分 siks_{ik}sik?。
圖3展示了本文的標(biāo)簽分配方法
ranking task 影響,每個(gè)正值 anchor 都應(yīng)該被排到負(fù)值 anchor 的前面。
ranking 結(jié)果的 AP 是從所有類別的得分中得到的,不同于目標(biāo)檢測(cè)系統(tǒng)的 meanAP。
我們用這種方法計(jì)算 AP,因?yàn)榈梅值姆植紝?duì)所有的類別都是一致的,但對(duì)每個(gè)類別分別排序的話無(wú)法達(dá)到這個(gè)目標(biāo)。
3.1.2 AP-loss
為了簡(jiǎn)單起見,在復(fù)制之后我們?nèi)匀皇褂?BBB 來(lái)表示 anchor, bib_ibi? 表示第 iii 個(gè)沒(méi)有復(fù)制的 anchor 。
每個(gè) bib_ibi? 對(duì)應(yīng)一個(gè)標(biāo)量得分 sis_isi? 和一個(gè)二值label tit_iti?。
一些變化需要表示為如圖2所示的形式。
首先,差分變換將得分 sis_isi? 轉(zhuǎn)化成不同的形式:
其中,s(bi;θ)s(b_i;\theta)s(bi?;θ) 是基于 CNN 的得分函數(shù),θ\thetaθ 是 bib_ibi? 的權(quán)重。
ranking label 變換將labels tit_iti? 轉(zhuǎn)化成對(duì)應(yīng)的有序形式::
其中,1 是指示函數(shù),當(dāng)滿足下標(biāo)條件時(shí),成立,其他情況都為0。
之后,定義一個(gè)向量值激活函數(shù) L(?)L(\cdot)L(?) 來(lái)得到 AP-loss 的初級(jí)形式:
其中,H(?)H(\cdot)H(?)是階躍函數(shù):
當(dāng)沒(méi)有兩個(gè)樣本的得分相等時(shí),將該排序定義為 “proper ranking"。
不失一般性,我們將直接打破該聯(lián)系,把所有的 ranking 當(dāng)做 proper ranking 。
此時(shí), AP-loss LAPL_{AP}LAP? 變?yōu)橄铝行问?#xff1a;
rank(i) 和 rank+(i) 定義了得分 sis_isi? 的ranking 位置
P={i∣ti=1}P=\{i|t_i=1\}P={i∣ti?=1},N={i∣ti=0}N=\{i|t_i=0\}N={i∣ti?=0},∣P∣|P|∣P∣ 是序列 PPP 的大小, LLL 和 yyy 是LijL_{ij}Lij? 和 yijy_{ij}yij? 的向量形式,<,><,><,> 表示內(nèi)積。
最終,待優(yōu)化的目標(biāo)函數(shù)為:
其中,θ\thetaθ 是權(quán)值,激活函數(shù) L(?)L(\cdot)L(?) 是不可微的,故需要一種新的參數(shù)更新方法,而非傳統(tǒng)的梯度下降法。
除了 AP 指標(biāo),其他的基于 ranking 的方法也可以被用來(lái)設(shè)計(jì) ranking loss。
一個(gè)例子是 AUC-loss[12],使用 ROC 曲線下的面積來(lái)進(jìn)行 ranking,且激活函數(shù)有些許的特殊:
由于 AP 和目標(biāo)檢測(cè)任務(wù)的評(píng)估準(zhǔn)則一致的,所以我們認(rèn)為 AP-loss 直觀上比 AUC-loss 更適合于檢測(cè)任務(wù),并將為我們的實(shí)驗(yàn)提供實(shí)證研究。
3.2 最優(yōu)化準(zhǔn)則
3.2.1 誤差驅(qū)動(dòng)更新
考慮感知學(xué)習(xí)準(zhǔn)則,輸入變量的更新方法是“誤差驅(qū)動(dòng)”的,也就是說(shuō)更新是源于期望輸出和現(xiàn)有輸出的差值。
我們使用該方法,并將其擴(kuò)展到更一般化的情況,即激活函數(shù)的輸入和輸出是向量。
假設(shè) xijx_{ij}xij? 是輸入, LijL_{ij}Lij? 是輸出,則 xijx_{ij}xij? 的更新方式如下:
△xij=Lij??Lij\bigtriangleup x_{ij}=L_{ij}^*-L_{ij}△xij?=Lij???Lij?
其中,Lij?L_{ij}^*Lij?? 是真實(shí)標(biāo)簽。
注意到, 當(dāng)每個(gè)項(xiàng) Lij?yij=0L_{ij} \cdot y_{ij} =0Lij??yij?=0 時(shí),AP-loss 取最小值,且最小值為0。
此時(shí)有兩種情況:
- 當(dāng) yij=1y_{ij}=1yij?=1 時(shí),可以設(shè)定期望標(biāo)簽 Lij?=0L_{ij}^* =0Lij??=0
- 當(dāng) yij=0y_{ij}=0yij?=0 時(shí),不關(guān)心更新量,且設(shè)置其為0,因?yàn)榇藭r(shí)不會(huì)對(duì) AP- loss 有任何貢獻(xiàn)。
因此,更新機(jī)制簡(jiǎn)化為:
△xij=?Lij?yij\bigtriangleup x_{ij}=-L_{ij} \cdot y_{ij}△xij?=?Lij??yij?
3.2.2 反向傳播
此時(shí)我們有期望更新:△x\bigtriangleup x△x
之后,需要尋找模型權(quán)重 △θ\bigtriangleup \theta△θ 的更新方式
我們使用點(diǎn)乘來(lái)測(cè)量連續(xù)移動(dòng)的大小,且用基于 L2?normL_2-normL2??norm 的懲罰方法來(lái)調(diào)整權(quán)重變化(△θ\bigtriangleup \theta△θ)。
優(yōu)化問(wèn)題如下:
其中,θ(n)\theta^{(n)}θ(n) 定義了第 nnn step 的模型權(quán)重,第一階的擴(kuò)張是:
其中,?x(θ(n))/?θ\partial x(\theta^{(n)})/ \partial \theta?x(θ(n))/?θ 是 Jacobian 矩陣。
忽略高階無(wú)窮小,可以得到 step-wise 最小化過(guò)程:
最優(yōu)解可以通過(guò)尋找固定點(diǎn)來(lái)獲得。
之后,最優(yōu) △θ\bigtriangleup \theta△θ 的形式是和鏈?zhǔn)綄?dǎo)數(shù)更新法則一致的,這就意味著可以直接將 xijx_{ij}xij? 的梯度設(shè)置為 ?△xij-\bigtriangleup x_{ij}?△xij?(Eq.9),且可以通過(guò)反向傳播進(jìn)行傳遞。
所以得分 sis_isi? 的梯度可以通過(guò)反向傳播差值來(lái)獲得:
3.3 分析
收斂性:
為了更好的理解 AP- loss 的形狀,首先提供了最優(yōu)準(zhǔn)則收斂性的理論分析,其受啟發(fā)于原始的感知學(xué)習(xí)方法。
命題1:
在滿足以下條件的情況下,能夠保證AP- loss 優(yōu)化準(zhǔn)則在有限次內(nèi)收斂:
1)學(xué)習(xí)模型是線性的
2)訓(xùn)練數(shù)據(jù)是線性可分的
一致性:
除了收斂性以外,我們也觀察了本文提出的優(yōu)化準(zhǔn)則和 classification-loss 具有內(nèi)在一致性。
觀察1:
當(dāng)激活函數(shù) L(?)L(\cdot)L(?) 采用 softmax 形式和 loss-augmented step 函數(shù)形式時(shí),本文的優(yōu)化算法可以分別表示為交叉熵?fù)p失和 hinge 損失的梯度下降算法。
3.4 訓(xùn)練方法的細(xì)節(jié)
Minibatch 訓(xùn)練:
minibatch 訓(xùn)練準(zhǔn)則在深度學(xué)習(xí)框架中應(yīng)用廣泛,比使用單個(gè)樣本訓(xùn)練的過(guò)程更為穩(wěn)定。
minibatch 訓(xùn)練有助于優(yōu)化方法規(guī)避 “score-shift” 情況。
AP-loss 可以從一個(gè) batch 中獲得,也可以從具有多個(gè) anchor 的單個(gè)圖像中獲得。
假設(shè)一個(gè)極端情況:我們的檢測(cè)器可以同時(shí)預(yù)測(cè) I1I_1I1? 和 I2I_2I2? 的完美 ranking,但是 I1I_1I1? 的最低得分都比 I2I_2I2? 的最高得分高,這就是兩個(gè)圖像的 “score-shift”,所以當(dāng)單獨(dú)計(jì)算每個(gè)圖像的 AP-loss 時(shí),會(huì)出現(xiàn)檢測(cè)效果較差的情況。
計(jì)算一個(gè) mini-batch 的所有圖像的得分可以避免上述情況,所以 mini-batch 訓(xùn)練是保證好的收斂性和準(zhǔn)確性的重要前提。
分段階躍函數(shù):
訓(xùn)練初期,得分 sis_isi? 之間非常接近(即幾乎所有的 H(x)輸入都接近于0),所以,輸入的一個(gè)微小的改變將會(huì)帶來(lái)一個(gè)大的輸出改變,會(huì)改變更新過(guò)程。
為了避免該問(wèn)題,我們使用下面的分段階躍函數(shù)來(lái)代替 H(x)H(x)H(x) 函數(shù):
不同 δ\deltaδ 情況下的分段階躍函數(shù)如圖4所示。
當(dāng) δ\deltaδ 為 +0 時(shí),該分段函數(shù)是最初的階躍函數(shù),注意,f(?)f(\cdot)f(?) 僅僅在輸入接近于0的時(shí)候與 H(?)H(\cdot)H(?) 不同。
另外一個(gè)單調(diào)且對(duì)稱的平滑函數(shù)同樣有效,且僅僅在輸入接近于0的時(shí)候與 H(?)H(\cdot)H(?) 不同。
δ\deltaδ 的選擇和 CNN 優(yōu)化過(guò)程中的權(quán)值衰減有有著很大的聯(lián)系。
δ\deltaδ 決定了正樣本和負(fù)樣本的決策邊界的寬度,小的 δ\deltaδ 得到較窄的決策邊界,會(huì)導(dǎo)致權(quán)值相應(yīng)減小。
差值 AP:
差值 AP 廣泛用于目標(biāo)檢測(cè)基準(zhǔn)數(shù)據(jù)的評(píng)估,如 PASCAL VOC 和 MS COCO。
4. 實(shí)驗(yàn)
4.1 實(shí)驗(yàn)設(shè)置
本文將提出的方法用于單階段 RetinaNet [15] 上進(jìn)行實(shí)驗(yàn)。
PASCAL VOC:
在 VOC2007 和 VOC2012 trainval 上進(jìn)行訓(xùn)練,在 VOC2007 test 上進(jìn)行評(píng)估
在 VOC2007 和 VOC2012 trainval + VOC2007 test 上進(jìn)行訓(xùn)練,在 VOC2012 test 上進(jìn)行測(cè)試。
此處,使用多個(gè) IoU 閾值( 0:50 : 0:05 : 0:95)得到的 AP 的均值作為評(píng)估標(biāo)準(zhǔn)。
設(shè)置 Eq.14 中的 δ=1\delta=1δ=1
將 RestNet 作為backbone模型,該模型在 ImageNet-1k 分類數(shù)據(jù)集上進(jìn)行了預(yù)訓(xùn)練。
在每個(gè)層的 FPN,anchors 有 2 sub-ociave 尺度(2k/22^{k/2}2k/2 for k<=1k<=1k<=1),和三個(gè)縱橫比 [0.5, 1, 2]。
在訓(xùn)練階段固定BN層
在 2 個(gè) GPU 上使用 mini-batch 訓(xùn)練,每個(gè) GPU 上處理8個(gè)圖像。
所有模型的訓(xùn)練都迭代 160次,初始學(xué)習(xí)率為 0.001,在第110次和第140次分別下降10倍。
我們使用和 [18] 中相同的數(shù)據(jù)增強(qiáng)方式,在測(cè)試階段未使用任何數(shù)據(jù)增強(qiáng),訓(xùn)練階段,輸入圖像大小固定為 512x512,測(cè)試階段保持初始的縱橫比,并將圖像 resize ,來(lái)保證較短的邊是600 pixels。
對(duì)每個(gè)類別,使用 NMS ,IoU 閾值為0.5。
MS COCO:
所有模型的訓(xùn)練都使用 trainval35k 集( 80k 訓(xùn)練,35k 個(gè)驗(yàn)證集中的數(shù)據(jù)),在 minival 集或 test-dev 上進(jìn)行測(cè)試。
200個(gè)迭代次數(shù),初始學(xué)習(xí)率 0.001,在第 60 次和第 80 次分別減小 10 倍。
4.2 消融學(xué)習(xí)
首先研究設(shè)置參數(shù)的影響:
4.2.1 不同參數(shù)的對(duì)比
此處研究以 3.4 節(jié)中的實(shí)驗(yàn)設(shè)置來(lái)進(jìn)行實(shí)驗(yàn)的結(jié)果,見表1。
Minibatch Training:
分段階躍函數(shù):
Interpolated AP:
4.2.2 不同 loss 的對(duì)比
我們?cè)?RetinaNet 上使用不同的 loss 來(lái)進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果見表2。
4.2.3 不同優(yōu)化方法的對(duì)比
此處同樣對(duì)不同的優(yōu)化方法進(jìn)行了對(duì)比:近似梯度方法 [34,9] 和結(jié)構(gòu)化 hinge loss 方法 [20] 。
[34,9] 分別近似于使用平滑函數(shù)和包絡(luò)函數(shù)的 AP-loss。
基于此,我們使用 sigmoid 函數(shù)代替階躍函數(shù),來(lái)保證梯度存在(非零且可計(jì)算)且不改變?cè)己瘮?shù)的相對(duì)大小。
與 [9] 相同,我們使用 log 域的目標(biāo)函數(shù),即 log(AP+?)log(AP+\epsilon)log(AP+?),來(lái)保證目標(biāo)函數(shù)是有限的。
在 VOC2007 trainval set 上訓(xùn)練檢測(cè)器,不執(zhí)行 b-box 回歸任務(wù),收斂曲線見圖 5b。
從圖中可見,通過(guò)近似梯度方法來(lái)優(yōu)化的 AP-loss 可能不收斂,這很可能由于非凸和非準(zhǔn)凸性在直接梯度下降上中失敗了。
同時(shí),AP-loss 是用結(jié)構(gòu)化的 hinge loss 來(lái)優(yōu)化的,收斂緩慢且在近似 0.8 的地方穩(wěn)定,這明顯比我們的誤差驅(qū)動(dòng)更新方案優(yōu)化的AP-loss的漸近極限差。我們認(rèn)為該方法并沒(méi)有直接優(yōu)化AP-loss,而是由判別函數(shù)[20]控制AP-loss的一個(gè)上界。在排序任務(wù)中,這個(gè)判別函數(shù)是人工選擇的,具有 AUC-like 的形式,這可能會(huì)導(dǎo)致優(yōu)化的可變性。
4.3 基準(zhǔn)結(jié)果
在消融研究中,我們選擇了三個(gè)廣泛使用的基準(zhǔn),對(duì)所提出的檢測(cè)器與目前最先進(jìn)的單級(jí)檢測(cè)器進(jìn)行了實(shí)驗(yàn)比較,包括 VOC2007 test, VOC2012 test and COCO 和 test-dev sets。
消融實(shí)驗(yàn)中,使用 ResNet-101 作為backbone,而非 ResNet-50,測(cè)試圖像大小為 500x500。
表3 是不同的結(jié)果。
對(duì)比 RetinaNet500[15],在 COCO 數(shù)據(jù)集上本文的方法提升了 3.0%(37.4% vs. 34.4%)。
圖6 呈現(xiàn)了使用 focal loss 和 AP-loss 訓(xùn)練 RetinaNet 的結(jié)果,本文的方法在這三個(gè)基準(zhǔn)數(shù)據(jù)集中的單尺度和多尺度測(cè)試中都取得了優(yōu)于其他方法的效果。
5. 結(jié)論
本文中,為了解決單階段目標(biāo)檢測(cè)中的類別不平衡問(wèn)題,將分類損失函數(shù)替換為排序函數(shù),并且使用 AP-loss 來(lái)實(shí)現(xiàn) ranking task。
由于 AP-loss 是不可微且非凸的,我們提出了一種新的方法——誤差驅(qū)動(dòng)更新機(jī)制,來(lái)優(yōu)化該函數(shù)。
我們對(duì)所提出的方法進(jìn)行了理論分析,實(shí)驗(yàn)結(jié)果表明,該方法可以顯著提高現(xiàn)有單階段檢測(cè)器的性能。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的感知算法论文(九):Towards Accurate One-Stage Object Detection with AP-Loss的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 怎么申请困难补助金 困难补助金怎么申请
- 下一篇: 感知算法论文(十):Towards Un