【目标检测】ICCV21_TOOD: Task-aligned One-stage Object Detection
文章目錄
- 一、背景
- 二、動(dòng)機(jī)
- 三、方法
- 3.1 Task-aligned Head
- 3.2 Task Alignment Learning
- 3.2.1 Task-aligned sample assignment
- 3.2.2 Task-aligned Loss
- 四、效果
論文:https://arxiv.org/pdf/2108.07755.pdf
代碼:https://github.com/fcjian/TOOD
一、背景
目標(biāo)檢測(cè)一直是計(jì)算機(jī)視覺(jué)中的重要任務(wù)。目前的方法大都是并行的實(shí)現(xiàn)對(duì)目標(biāo)的分類和定位。分類的目標(biāo)是學(xué)習(xí)目標(biāo)的具有區(qū)分力的特征,定位的目標(biāo)是對(duì)目標(biāo)的邊界進(jìn)行準(zhǔn)確的定位。所有這個(gè)兩個(gè)任務(wù)有很大的不同,也會(huì)導(dǎo)致這兩個(gè)任務(wù)的不對(duì)齊。
二、動(dòng)機(jī)
現(xiàn)有的單階段方法都通過(guò)一定的手段來(lái)實(shí)現(xiàn)兩個(gè)任務(wù)的統(tǒng)一,也就是使用目標(biāo)的中心點(diǎn)。他們加上目標(biāo)中心點(diǎn)的 anchor 能夠給分類和定位提供更準(zhǔn)確的預(yù)測(cè)。例如 FCOS/ATSS 都使用 centerness 分支來(lái)提高在物體中心附近的anchor的分類得分,并且給對(duì)應(yīng)的anchor的定位 loss 更多的權(quán)重。但這些方法大都有兩個(gè)問(wèn)題:
問(wèn)題一:分類和定位是被獨(dú)立對(duì)待的
現(xiàn)有單階段檢測(cè)方法,將分類和定位分為兩個(gè)分支,這樣可能回導(dǎo)致兩個(gè)任務(wù)的互相交互很少,導(dǎo)致預(yù)測(cè)的不一致性。如圖1所示,ATSS 檢測(cè)器識(shí)別出了一個(gè)餐桌,但是對(duì)披薩的定位確非常準(zhǔn)確。
問(wèn)題二:Task-agnostic 的樣本分配(對(duì)任務(wù)無(wú)差別的樣本分配)
大多數(shù) anchor-free 的檢測(cè)室使用基于幾何的分配方法來(lái)選擇里中心點(diǎn)近的 anchor-point,但 anchor-based 方法通常計(jì)算anchor box 和 gt box 的 IoU 來(lái)確定 anchor。但是,分類和定位的最優(yōu) anchor 通常是不一致的,而且和目標(biāo)的形狀和特征有很大的關(guān)系。所以,對(duì)不同任務(wù)都使用相同的樣本分配方法難以對(duì)這兩個(gè)任務(wù)起到相同的作用。
如圖1中 ATSS(第一行) 的 score 和 IoU,result 列展示出了一個(gè)問(wèn)題,即定位最優(yōu)的anchor的位置并不一定在目標(biāo)的中心,而且和最好的分類得分的框不是同一個(gè)。所以,定位的準(zhǔn)確的框可能會(huì)被 NMS 干掉。
基于此,作者提出了一個(gè) Task-aligned one-stage object detection 方法 TOOD,通過(guò)設(shè)計(jì)一個(gè)新的 head 結(jié)構(gòu)來(lái)更好的將分類和定位任務(wù)對(duì)齊。
三、方法
總覽:
類似于現(xiàn)有的 one-stage 方法,本文提出的 TOOD 也采用了 “backbone-FPN-head” 的結(jié)構(gòu),并且為了高效性,TOOD 采用了類似于 ATSS 的anchor生成方法,即在每個(gè)位置生成一個(gè)anchor,這里的 anchor 在 anchor-free 方法中表示 anchor-point,在 anchor-based 方法中表示 anchor-box。
本文提出了 Task-aligned head (T-head) 和 Task Alignment Learning (TAL) 來(lái)解決分類和定位對(duì)不齊的問(wèn)題,如圖2所示。T-head 和 TAL 可以合作起來(lái)來(lái)實(shí)現(xiàn)對(duì)這個(gè)兩個(gè)任務(wù)的對(duì)齊。
- 首先,T-head 在 FPN 輸出特征中進(jìn)行分類和定位
- 然后,TAL 基于 alignment metric 來(lái)計(jì)算兩者的 alignment signal
- 最后,T-head 在反向傳播的時(shí)候再使用 alignment signal 來(lái)動(dòng)態(tài)調(diào)整分類的得分和定位的位置
3.1 Task-aligned Head
為了實(shí)現(xiàn)一個(gè)高效的結(jié)構(gòu)來(lái)提升 head 的設(shè)計(jì)(如圖3a),作者:
- 加強(qiáng)了兩個(gè)任務(wù)的交互
- 提升的檢測(cè)器學(xué)習(xí)對(duì)齊與否的能力
T-head 的結(jié)構(gòu)如圖3b所示,由一個(gè)簡(jiǎn)單的特征提取器和兩個(gè) Task-aligned Predictors 構(gòu)成。
- 為了加強(qiáng)兩個(gè)任務(wù)的交互,作者使用了一個(gè)特征提取器來(lái)從卷積層中學(xué)習(xí) task-interactive 特征,如圖3b所示,這樣的設(shè)計(jì)不僅僅可以加強(qiáng)任務(wù)的交互,而且可以給這兩個(gè)任務(wù)提供多尺度感受野的多級(jí)特征。因此,可以使用單個(gè)分支從 FPN 特征中獲得豐富的多尺度特征。
- 之后,將會(huì)把計(jì)算得到的 task-interactive feature 送入兩個(gè)TAP 來(lái)對(duì)齊分類和定位
Task-aligned Predictor (TAP):
作者在計(jì)算 task-interactive features 的時(shí)候,會(huì)同事使用分類和定位的特征,這樣也會(huì)使得每個(gè)任務(wù)更好的感知對(duì)方的狀態(tài)。然而,由于是單個(gè)branch,task-interactive features 會(huì)不可避免的引入兩個(gè)任務(wù)的特征沖突,因?yàn)閮蓚€(gè)任務(wù)的注意點(diǎn)是不同的。于是,作者提出了一個(gè) layer attention 機(jī)制,通過(guò)動(dòng)態(tài)計(jì)算 task-specific 的特征來(lái)進(jìn)行任務(wù)的分解,如圖3c所示。
task-specific 特征對(duì)每個(gè)任務(wù)的計(jì)算方式如下:
- wkw_kwk? 是第 k element of the learned layer attention w∈RNw\in R^Nw∈RN
- xinterx^{inter}xinter 是對(duì) XinterX^{inter}Xinter 使用 average pooling 后得到的
最終,分類或定位的結(jié)果從每個(gè) XtaskX^{task}Xtask 來(lái)得到:
- conv1conv1conv1:1x1 conv
- ZtaskZ^{task}Ztask:將會(huì)通過(guò) sigmoid 函數(shù)被轉(zhuǎn)換為得分 P∈RH×W×4P\in R^{H \times W \times 4}P∈RH×W×4,通過(guò) distance-to-box 轉(zhuǎn)換為 bounding-box B∈RH×W×4B\in R^{H \times W \times 4}B∈RH×W×4
Prediction alignment:
在預(yù)測(cè)階段,作者通過(guò)這個(gè)兩個(gè)預(yù)測(cè)(P and B)的空間分布來(lái)進(jìn)一步更精確的對(duì)齊這個(gè)兩個(gè)任務(wù)
方法:計(jì)算 task-interactive feature,且對(duì)兩個(gè)任務(wù)的對(duì)齊方法是不同的。
-
分類:如圖3c,作者使用空間概率圖 M∈RH×W×1M\in R^{H\times W\times 1}M∈RH×W×1來(lái)調(diào)節(jié)分類預(yù)測(cè),M 是從交互特征圖中計(jì)算得到的,使得 M 能夠?qū)W習(xí)這兩個(gè)任務(wù)在每個(gè)空間位置上的一致性的梯度。
-
定位:作者從交互特征圖中學(xué)習(xí) spatial offset 圖 O∈RH×W×8O\in R^{H\times W\times 8}O∈RH×W×8,來(lái)對(duì)每個(gè)位置上的 bbox 進(jìn)行調(diào)整。這些學(xué)習(xí)到的offset能夠使得 aligned anchor point 識(shí)別出其周圍最好的預(yù)測(cè)框。
其中c是channel,上式是通過(guò)雙線性差值實(shí)現(xiàn)的,而且這種計(jì)算量很小,因?yàn)?B 的channel 維度很小。
值得注意的一點(diǎn)是,每個(gè)通道的offset的學(xué)習(xí)都是獨(dú)立的,也就是說(shuō)每個(gè) boundary 都能學(xué)到自己的 offset。這就能使得4條邊界線都能學(xué)的準(zhǔn)確,因?yàn)樗鼈兌际仟?dú)立從離它們近的anchor point 學(xué)習(xí)到的。所以,本文的方法不僅僅能夠?qū)R分類和定位的任務(wù),還能提升定位準(zhǔn)確性。
alignment maps MMM 和 OOO 是從一堆 interactive feature 中學(xué)習(xí)到的,學(xué)習(xí)的方式是通過(guò) TAL 學(xué)習(xí):
注意:T-Head是獨(dú)立于 TAL 的,可以作為一個(gè)即插即用的模塊來(lái)提升單階段目標(biāo)檢測(cè)的性能
3.2 Task Alignment Learning
TAL 在這里被提出來(lái)是為了進(jìn)一步引導(dǎo) T-Head 來(lái)做 task-aligned 的預(yù)測(cè)
3.2.1 Task-aligned sample assignment
對(duì)于實(shí)例的 anchor 分配應(yīng)該滿足以下規(guī)則:
- well-aligned 的anchor 應(yīng)該能夠同時(shí)預(yù)測(cè)得到高的分類得分和準(zhǔn)確的定位
- misaligned 的anchor應(yīng)該有一個(gè)低的分類得分,而且逐漸被抑制
基于上述兩個(gè)目標(biāo),作者設(shè)計(jì)了一個(gè)新的 anchor alignment metric 來(lái)在 anchor level 衡量 task-alignment 的水平。
并且,alignment metric 被集成在了 sample 分配和 loss function里邊,來(lái)動(dòng)態(tài)的優(yōu)化每個(gè) anchor 的預(yù)測(cè)。
Anchor alignment metric:
我們已知,分類得分和 IoU表示了這兩個(gè)任務(wù)的預(yù)測(cè)效果,所以,作者使用分類得分和IoU的高階組合來(lái)衡量 task-alignment的程度。
方法:使用下列的方式來(lái)對(duì)每個(gè)實(shí)例計(jì)算 anchor-level 的對(duì)齊程度
- s and u 分別為分類得分和 IoU 值
- α\alphaα and β\betaβ 分別為權(quán)重
從上邊的公式可以看出來(lái),t 可以同時(shí)控制得分和iou的優(yōu)化來(lái)實(shí)現(xiàn) task-alignment,可以引導(dǎo)網(wǎng)絡(luò)動(dòng)態(tài)的關(guān)注于高質(zhì)量的anchor。
Training sample assignment:
對(duì)每個(gè)實(shí)例,作者選取 m 個(gè)前 t 大的value作為正樣本
3.2.2 Task-aligned Loss
Classification objective:
為了精準(zhǔn)的提升 aligned anchor 的分類得分,降低 misaligned anchor 的分類得分,作者在訓(xùn)練過(guò)程中使用 ttt 來(lái)替換positive anchor 的 binary label。但是這種方法,當(dāng)這個(gè)label(比如 t)隨著 α\alphaα 和 β\betaβ 的增大而減小的時(shí)候。所以,作者使用了 normalized ttt,稱為 t^\hat tt^,來(lái)代替正樣本的binary label。
ttt 規(guī)范化的原則:
- 保證能夠更好更高效的學(xué)習(xí)難樣本(這類樣本通常對(duì)應(yīng)的 t 比較小)
- 能夠較好的保留(基于預(yù)測(cè)框準(zhǔn)確率)不同實(shí)例的差別
t^\hat tt^ 的獲得原則(instance level):
- t^\hat tt^ 的最大值等于最大的 IoU 值
Binary Cross Entropy 對(duì)正樣本的分類任務(wù)計(jì)算方式如下:
- iii 是一個(gè)實(shí)例對(duì)應(yīng)的所有正 anchor 的第 iii 個(gè) anchor
作者又使用了 focal loss 來(lái)彌補(bǔ)正負(fù)樣本的不平衡:
- jjj 是第 jjj 個(gè)負(fù) anchor
- γ\gammaγ 是平衡參數(shù)
Localization objective:
well-aligned anchor(比如有較大的 t)預(yù)測(cè)出來(lái)的 bbox 通常會(huì)同時(shí)具有高的分類得分和準(zhǔn)確的定位框,這樣的 bbox 通常也會(huì)在 NMS 過(guò)程中保留下來(lái)。
ttt 也可以通過(guò)給 loss 來(lái)加權(quán)來(lái)選擇高質(zhì)量的bbox,即也可以衡量bbox的質(zhì)量,所以在bbox的回歸過(guò)程中,作者通過(guò)聚焦在well-aligned anchor (t 較大)并且抑制 misaligned anchor (t 較小)的方法,來(lái)促進(jìn)任務(wù)對(duì)齊和回歸預(yù)測(cè)。所以作者對(duì)回歸任務(wù)的 loss 也做了加權(quán),GIoU loss 的加權(quán)版本如下:
- bbb:預(yù)測(cè)的 bbox
- b^\hat bb^:真實(shí)的 bbox
TAL 的整體 loss 為分類和定位 loss 之和
四、效果
總結(jié)
以上是生活随笔為你收集整理的【目标检测】ICCV21_TOOD: Task-aligned One-stage Object Detection的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 告别癌症!东京大学发现突破性治愈方式:人
- 下一篇: 三星电子第四季度净利润23.50万亿韩元