日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

目标检测_目标检测: AnchorFree 时代

發(fā)布時間:2025/3/15 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 目标检测_目标检测: AnchorFree 时代 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文轉(zhuǎn)載自Smarter。

自從2018年8月CornerNet開始,Anchor-Free的目標(biāo)檢測模型層出不窮,最近達(dá)到了井噴的狀態(tài),宣告著目標(biāo)檢測邁入了Anchor-Free時代。

其實Anchor-Free并不是一個新概念了,大火的YOLO算是目標(biāo)檢測領(lǐng)域最早的Anchor-Free模型,而最近的Anchor-Free模型如FASF、FCOS、FoveaBox都能看到DenseBox的影子。

下面主要講一下有代表性的Anchor-Free模型(包括DenseBox、YOLO、CornerNet、ExtremeNet、FSAF、FCOS、FoveaBox),分成3個部分來介紹(早期探索、基于關(guān)鍵點、密集預(yù)測),具體細(xì)節(jié)就不展開了~

早期探索

1.DenseBox

最早知道這篇文章,是在去年剛接觸目標(biāo)檢測的時候,看了一篇地平線對DenseBox作者的采訪,當(dāng)時因為剛接觸感觸不深,但是從當(dāng)前的時間節(jié)點回頭看,DenseBox的想法是多么的超前啊。采訪中說道,當(dāng)年DenseBox其實早在2015年初就已經(jīng)開發(fā)出來了,這比同期的Faster-RCNN系列提前數(shù)月,但是論文直到9月才在arxiv上發(fā)布。如果DenseBox能在2015年初就發(fā)表,那么最近幾年目標(biāo)檢測的發(fā)展會不會是另外一番景象呢~~

地平線HorizonRobotics:黃李超:讓算法成為一種生活方式 | 地平線算法工程師特稿 |?https://zhuanlan.zhihu.com/p/24350950

兩點貢獻(xiàn):

1.證明單個FCN可以檢測出遮擋嚴(yán)重、不同尺度的目標(biāo)。

2.通過多任務(wù)引入landmark localization,能進(jìn)一步提升性能。

如圖1所示,單個FCN同時產(chǎn)生多個預(yù)測bbox和置信分?jǐn)?shù)的輸出。測試時,整個系統(tǒng)將圖片作為輸入,輸出5個通道的feature map。每個pixel的輸出feature map得到5維的向量,包括一個置信分?jǐn)?shù)和bbox邊界到該pixel距離的4個值。最后輸出feature map的每個pixel轉(zhuǎn)化為帶分?jǐn)?shù)的bbox,然后經(jīng)過NMS后處理。

Ground Truth Generation

第一個通道ground truth map的正標(biāo)簽區(qū)域由半徑為r的圓填充,圓的中心點位于bbox的中點。而剩下的4個通道由bbox的2個角點決定。

Refine with Landmark Localization

在FCN結(jié)構(gòu)中添加少量層能夠?qū)崿F(xiàn)landmark localization,然后通過融合landmark heatmaps和score map可以進(jìn)一步提升檢測結(jié)果。

2.YOLO

YOLO將目標(biāo)檢測作為一個空間分離的邊界框和相關(guān)的類概率的回歸問題。可以直接從整張圖片預(yù)測出邊界框和分類分?jǐn)?shù)。

三個優(yōu)點:

1.速度快

2.通過整幅圖進(jìn)行推理得到預(yù)測結(jié)果

3.能學(xué)到目標(biāo)的一般特征

Unified Detection

YOLO將輸入圖片分成SXS個網(wǎng)格,如果某個目標(biāo)的中心點落到其中一個格點,那么該格點就負(fù)責(zé)該目標(biāo)的檢測。每個格點預(yù)測出B個bbox和每個bbox的置信分?jǐn)?shù)。

定義置信度為:

每個bbox由5個預(yù)測值組成:x,y,w,h 和 置信度。每個格點也預(yù)測C個類概率

測試的時候,將類概率和置信分?jǐn)?shù)相乘,得到類置信分?jǐn)?shù)

舉個例子,在Pascal VOC數(shù)據(jù)集上評估YOLO,使用S=7,B=2,VOC有20類,所以C=20,那么最終的預(yù)測結(jié)果是7x7x30的向量。

DenseBox和YOLO的區(qū)別:

1.DenseBox應(yīng)用于人臉檢測,相當(dāng)于只有兩類,而YOLO是通用檢測,通常大于兩類。

2.DenseBox是密集預(yù)測,對每個pixel進(jìn)行預(yù)測,而YOLO先將圖片進(jìn)行網(wǎng)格化,對每個grid cell進(jìn)行預(yù)測。

3.DenseBox的gt通過bbox中心圓形區(qū)域確定的,而YOLO的gt由bbox中心點落入的grid cell確定的。

基于關(guān)鍵點

3.CornerNet

兩點貢獻(xiàn):

1.通過檢測bbox的一對角點來檢測出目標(biāo)。

2.提出corner pooling,來更好的定位bbox的角點。

Detecting Corners

首先預(yù)測出兩組heatmaps,一組為top-left角點,另一組為bottom-right角點。每組heatmaps有C個通道,表示C個類別,尺寸為HxW。每個通道是一個binary mask,表示一個類的角點位置。

對于每個角點來說,只有一個gt正例位置,其他都為負(fù)例位置。訓(xùn)練時,以正例位置為圓心,設(shè)置半徑為r的范圍內(nèi),減少負(fù)例位置的懲罰(采用二維高斯的形式),如上圖所示。

Grouping Corners

受到多人姿態(tài)估計論文的啟發(fā),基于角點embedding之間的距離來對角點進(jìn)行分組。

Corner Pooling

在每個pixel位置,最大池化第一個feature map右方的所有特征向量,最大池第二個feature map下方的所有特征向量,然后將兩個池化結(jié)果相加。

4.ExtremeNet

兩個貢獻(xiàn):

1.將關(guān)鍵點定義為極值點。

2.根據(jù)幾何結(jié)構(gòu)對關(guān)鍵點進(jìn)行分組。

作者使用了最佳的關(guān)鍵點估計框架,通過對每個目標(biāo)類預(yù)測4個多峰值的heatmaps來尋找極值點。另外,作者使用每個類center heatmap來預(yù)測目標(biāo)中心。僅通過基于幾何的方法來對極值點分組,如果4個極值點的幾何中點在center map上對應(yīng)的分?jǐn)?shù)高于閾值,則這4個極值點分為一組。

offset的預(yù)測是類別無關(guān)的,而極值點的預(yù)測是類別相關(guān)的。center map沒有offset預(yù)測。網(wǎng)絡(luò)的輸出是5xC heatmaps和4x2offset maps,C是類別數(shù)。

Center Grouping

分組算法的輸入是每個類的5個heatmaps,一個center heatmap和4個extreme heatmaps,通過檢測所有的峰值來提取出5個heatmaps的關(guān)鍵點。給出4個極值點,計算幾何中心,如果幾何中心在center map上對應(yīng)高響應(yīng),那么這4個極值點為有效檢測。作者使用暴力枚舉的方式來得到所有有效的4個關(guān)鍵點。

CornerNet和ExtremeNet的區(qū)別:

1.CornerNet通過預(yù)測角點來檢測目標(biāo)的,而ExtremeNet通過預(yù)測極值點和中心點來檢測目標(biāo)的。

2.CornerNet通過角點embedding之間的距離來判斷是否為同一組關(guān)鍵點,而ExtremeNet通過暴力枚舉極值點、經(jīng)過中心點判斷4個極值點是否為一組。

密集預(yù)測

5.FSAF

Motivation

讓每個實例選擇最好的特征層來優(yōu)化網(wǎng)絡(luò),因此不需要anchor來限制特征的選擇。

一個anchor-free的分支在每個特征金字塔層構(gòu)建,獨立于anchor-based的分支。和anchor-based分支相似,anchor-free分支由分類子網(wǎng)絡(luò)和回歸子網(wǎng)絡(luò)。一個實例能夠被安排到任意層的anchor-free分支。訓(xùn)練期間,基于實例的信息而不是實例box的尺寸來動態(tài)地為每個實例選擇最合適的特征層。選擇的特征層學(xué)會檢測安排的實例。推理階段,FSAF模塊和anchor-based分支獨立或者聯(lián)合運(yùn)行。

Feature Selective Anchor-Free Module

在RetinaNet的基礎(chǔ)上,FSAF模塊引入了2個額外的卷積層,這兩個卷積層各自負(fù)責(zé)anchor-free分支的分類和回歸預(yù)測。具體的,在分類子網(wǎng)絡(luò)中,feature map后面跟著K個3x3的卷積層和sigmoid,在回歸子網(wǎng)絡(luò)中,feature map后面跟著4個3x3的卷積層和ReLU。

Ground-truth

白色為有效區(qū)域,灰色為忽略區(qū)域,黑色為負(fù)樣本區(qū)域。

Online Feature Selection

實例輸入到特征金字塔的所有層,然后求得所有anchor-free分支focal loss和IoU loss的和,選擇loss和最小的特征層來學(xué)習(xí)實例。訓(xùn)練時,特征根據(jù)安排的實例進(jìn)行更新。推理時,不需要進(jìn)行特征更新,因為最合適的特征金字塔層自然地輸出高置信分?jǐn)?shù)。

6.FCOS

四個優(yōu)點:

1.將檢測和其他使用FCN的任務(wù)統(tǒng)一起來,容易重用這些任務(wù)的思想。

2.proposal free和anchor free,減少了超參的設(shè)計。

3.不使用trick,達(dá)到了單階段檢測的最佳性能。

4.經(jīng)過小的修改,可以立即拓展到其他視覺任務(wù)上。

和語義分割相同,檢測器直接將位置作為訓(xùn)練樣本而不是anchor。具體的,如果某個位置落入了任何gt中,那么該位置就被認(rèn)為是正樣本,并且類別為該gt的類別。基于anchor的檢測器,根據(jù)不同尺寸安排anchor到不同的特征層,而FCOS直接限制邊界框回歸的范圍(即每個feature map負(fù)責(zé)一定尺度的回歸框)。

Center-ness

為了剔除遠(yuǎn)離目標(biāo)中心的低質(zhì)量預(yù)測bbox,作者提出了添加center-ness分支,和分類分支并行。

開根號使center-ness衰退緩慢。center-ness范圍為0-1之間,通過BCE訓(xùn)練。測試時,最終分?jǐn)?shù)由center-ness預(yù)測結(jié)果和分類分?jǐn)?shù)乘積得到。

7.FoveaBox

Motivation

人類眼睛的中央凹:視野(物體)的中心具有最高的視覺敏銳度。FoveaBox聯(lián)合預(yù)測對象中心區(qū)域可能存在的位置以及每個有效位置的邊界框。由于特征金字塔的特征表示,不同尺度的目標(biāo)可以從多個特征層中檢測到。

FoveaBox添加了2個子網(wǎng)絡(luò),一個子網(wǎng)絡(luò)預(yù)測分類,另一個子網(wǎng)絡(luò)預(yù)測bbox。

Object Fovea

目標(biāo)的中央凹如上圖所示。目標(biāo)中央凹只編碼目標(biāo)對象存在的概率。為了確定位置,模型要預(yù)測每個潛在實例的邊界框。

FSAF、FCOS、FoveaBox的異同點:

1.都利用FPN來進(jìn)行多尺度目標(biāo)檢測。

2.都將分類和回歸解耦成2個子網(wǎng)絡(luò)來處理。

3.都是通過密集預(yù)測進(jìn)行分類和回歸的。

4.FSAF和FCOS的回歸預(yù)測的是到4個邊界的距離,而FoveaBox的回歸預(yù)測的是一個坐標(biāo)轉(zhuǎn)換。

5.FSAF通過在線特征選擇的方式,選擇更加合適的特征來提升性能,FCOS通過center-ness分支剔除掉低質(zhì)量bbox來提升性能,FoveaBox通過只預(yù)測目標(biāo)中心區(qū)域來提升性能。

(DenseBox、YOLO)和(FSAF、FCOS、FoveaBox)的異同點:

1.都是通過密集預(yù)測進(jìn)行分類和回歸的。

2.(FSAF、FCOS、FoveaBox)利用FPN進(jìn)行多尺度目標(biāo)檢測,而(DenseBox、YOLO)只有單尺度目標(biāo)檢測。

3.(DenseBox、FSAF、FCOS、FoveaBox)將分類和回歸解耦成2個子網(wǎng)絡(luò)來得到,而(YOLO)分類和定位統(tǒng)一得到。

總結(jié):

1.各種方法的關(guān)鍵在于gt如何定義

ps:關(guān)于這一點我稍加一點補(bǔ)充,目標(biāo)檢測的gt是一個矩形框,然而用這個矩形框信息來檢測目標(biāo)顯然是不合理的,因為矩形框內(nèi)只有一小部分是目標(biāo),而剩下的是背景,這可能會導(dǎo)致檢測器的精度下降,而最近的一些anchor-free模型其實是改變了gt的定義,比如cornernet定義為角點,extremenet定義為極值點和中心點,FSAF、FoveaBox定義為矩形框的中間區(qū)域,FCOS雖然是矩形框,但是經(jīng)過center-ness抑制掉低質(zhì)量的框,其實也是一種變相的將gt定義為矩形框中心區(qū)域。gt重新定義之后,需要檢測的目標(biāo)語義變得更加明確了,有利于分類和回歸。

所以,我認(rèn)為設(shè)計合適的gt,是提升目標(biāo)檢測速度和精度的關(guān)鍵!

個人所見,歡迎探討~

2.主要是基于關(guān)鍵點檢測的方法和密集預(yù)測的方法來做Anchor-Free

3.本質(zhì)上是將基于anchor轉(zhuǎn)換成了基于point/region

Reference【1】DenseBox: Unifying Landmark Localization with End to End Object Detection【2】You Only Look Once: Unified, Real-Time Object Detection【3】CornerNet: Detecting Objects as Paired Keypoints【4】Bottom-up Object Detection by Grouping Extreme and Center Points【5】Feature Selective Anchor-Free Module for Single-Shot Object Detection【6】FCOS: Fully Convolutional One-Stage Object Detection【7】FoveaBox: Beyond Anchor-based Object Detector

END

備注:目標(biāo)檢測

目標(biāo)檢測交流群

2D、3D目標(biāo)檢測等最新資訊,若已為CV君其他賬號好友請直接私信。

我愛計算機(jī)視覺

微信號:aicvml

QQ群:805388940

微博知乎:@我愛計算機(jī)視覺

投稿:amos@52cv.net

網(wǎng)站:www.52cv.net

在看,讓更多人看到 ?

總結(jié)

以上是生活随笔為你收集整理的目标检测_目标检测: AnchorFree 时代的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。