訂閱
糾錯
加入自媒體

技術(shù)文章:目標(biāo)檢測--CornerNet的缺陷

前言:

目標(biāo)檢測的預(yù)測框經(jīng)過了滑動窗口、selective search、RPN、anchor based等一系列生成方法的發(fā)展,到18年開始,開始流行anchor free系列,CornerNet算不上第一篇anchor free的論文,但anchor freee的流行卻是從CornerNet開始的,其中體現(xiàn)的一些思想仍值得學(xué)習(xí)。

看過公眾號以往論文解讀文章的讀者應(yīng)該能感覺到,以往論文解讀中會有不少我自己的話來表述,文章寫得也很簡練。但這篇論文的寫作實在很好,以至于這篇解讀文章幾乎就是對論文的翻譯,幾乎沒有改動。

論文提出了 CornerNet,這是一種新的目標(biāo)檢測方法,我們使用單個卷積神經(jīng)網(wǎng)絡(luò)將對象邊界框檢測為一對關(guān)鍵點,即左上角和右下角。 通過將對象檢測為成對的關(guān)鍵點,我們無需設(shè)計一組在先前單級檢測器中常用的錨框。 除了我們的新范式外,我們還引入了corner pooling,這是一種新型的池化層,可幫助網(wǎng)絡(luò)更好地定位角點。

實驗表明,CornerNet 在 MS COCO 上實現(xiàn)了 42.1% 的 AP,優(yōu)于所有現(xiàn)有的單級檢測器。

image.png

關(guān)注公眾號CV技術(shù)指南,及時獲取更多計算機視覺的內(nèi)容。

論文出發(fā)點|anchor box的缺陷

目標(biāo)檢測中SOTA模型中一個常見組成部分是錨框,它是各種大小和縱橫比的框,用作檢測候選框。Anchor box廣泛應(yīng)用于one-stage檢測器中,可以在效率更高的情況下獲得與two-stages檢測器極具競爭力的結(jié)果。one-stage檢測器將錨框密集地放置在圖像上,并通過對錨框進行評分并通過回歸細(xì)化其坐標(biāo)來生成最終的框預(yù)測。

但是使用錨框有兩個缺點。

首先,我們通常需要一組非常大的錨框,例如 在 DSSD 中超過 40k,在 RetinaNet 中超過 100k。這是因為檢測器被訓(xùn)練來對每個錨框是否與一個ground truth框充分重疊進行分類,并且需要大量的anchor box來確保與大多數(shù)ground truth框有足夠的重疊。結(jié)果,只有一小部分錨框會與ground truth重疊; 這會造成正負(fù)錨框之間的巨大不平衡并減慢訓(xùn)練速度。

其次,錨框的使用引入了許多超參數(shù)和設(shè)計選擇。 這些包括多少個box、多大scale和多大aspect ratios。 這種選擇主要是通過臨時啟發(fā)式進行的,當(dāng)與多尺度體系結(jié)構(gòu)相結(jié)合時會變得更加復(fù)雜,多尺度體系即單個網(wǎng)絡(luò)在多個分辨率下進行單獨預(yù)測,每個尺度使用不同的特征和自己的一組錨框。

methods

受到 Newell 等人提出的關(guān)聯(lián)嵌入方法的啟發(fā)。誰在多人人體姿勢估計的背景下檢測和分組關(guān)鍵點。論文提出了 CornerNet,這是一種新的one-stage目標(biāo)檢測方法,無需錨框。

我們將一個對象檢測為一對關(guān)鍵點——邊界框的左上角和右下角。我們使用單個卷積網(wǎng)絡(luò)來預(yù)測同一對象類別的所有實例的左上角的熱圖、所有右下角的熱圖以及每個檢測到的角的嵌入向量。嵌入用于對屬于同一對象的一對角進行分組——網(wǎng)絡(luò)經(jīng)過訓(xùn)練以預(yù)測它們的相似嵌入。

這種方法極大地簡化了網(wǎng)絡(luò)的輸出并消除了設(shè)計錨框的需要。

下圖說明了方法的整體流程

經(jīng)典論文系列 | 目標(biāo)檢測--CornerNet & 又名 anchor boxes的缺陷

CornerNet 的另一個新穎組件是corner pooling,這是一種新型的池化層,可幫助卷積網(wǎng)絡(luò)更好地定位邊界框的角點。 邊界框的角通常在對象之外——考慮圓形的情況以及下面圖(中)示例。

經(jīng)典論文系列 | 目標(biāo)檢測--CornerNet & 又名 anchor boxes的缺陷

在這種情況下,不能基于局部證據(jù)來定位角。 相反,要確定像素位置是否有左上角,我們需要水平向右看對象的最上邊界,垂直向下看最左邊界。 基于這一點,我們提出了corner pooling。

它輸入兩個特征圖; 在每個像素位置,它最大池化第一個特征圖右側(cè)的所有特征向量,最大池化第二個特征圖正下方的所有特征向量,然后將兩個合并的結(jié)果加在一起。

經(jīng)典論文系列 | 目標(biāo)檢測--CornerNet & 又名 anchor boxes的缺陷

我們假設(shè)檢測角點比邊界框中心或提案更有效的兩個原因。 首先,一個box的中心可能更難定位,因為它取決于目標(biāo)的所有 4 個邊,而定位一個角取決于 2 個邊,因此更容易,對于corner pooling更是如此,它編碼了一些關(guān)于角的定義的明確的先驗知識。 其次,角提供了一種更有效的方法來密集離散框的空間:我們只需要 O(wh) 個角來表示 O(wh)^2 個可能的錨框。

一些細(xì)節(jié)

整體實現(xiàn)

在 CornerNet 中,我們將一個對象檢測為一對關(guān)鍵點——邊界框的左上角和右下角。卷積網(wǎng)絡(luò)預(yù)測兩組熱圖來表示不同對象類別的角的位置,一組用于左上角,另一組用于右下角。每組熱圖都有C個通道,C為類別數(shù)量(不含背景),每個通道是關(guān)于一個類別角點位置的二進制掩碼。

該網(wǎng)絡(luò)還為每個檢測到的角點預(yù)測一個嵌入向量,使得來自同一對象的兩個角點的嵌入之間的距離很小。 為了產(chǎn)生更緊密的邊界框,網(wǎng)絡(luò)還預(yù)測偏移量以稍微調(diào)整角的位置。 使用預(yù)測的熱圖、嵌入和偏移量,我們應(yīng)用一個簡單的后處理算法來獲得最終的邊界框。

經(jīng)典論文系列 | 目標(biāo)檢測--CornerNet & 又名 anchor boxes的缺陷

使用沙漏網(wǎng)絡(luò)作為 CornerNet 的骨干網(wǎng)絡(luò)。沙漏網(wǎng)絡(luò)之后是兩個預(yù)測模塊。一個模塊用于左上角,而另一個用于右下角。每個模塊都有自己的corner pooling模塊,用于在預(yù)測熱圖、嵌入和偏移之前從沙漏網(wǎng)絡(luò)中池化特征。 與許多其他目標(biāo)檢測器不同,我們不使用不同尺度的特征來檢測不同尺寸的物體。 我們只將這兩個模塊應(yīng)用于沙漏網(wǎng)絡(luò)的輸出。

對于每個Corner,有一個ground truth正位置,所有其他位置都是負(fù)位置。 在訓(xùn)練期間,我們不是對負(fù)位置進行同等懲罰,而是減少對正位置半徑內(nèi)的負(fù)位置的懲罰。 這是因為一對錯誤的角點檢測,如果它們靠近各自的ground truth位置,仍然可以產(chǎn)生一個與ground truth框充分重疊的框。 我們通過對象的大小來確定半徑,方法是確保半徑內(nèi)的一對點將生成一個具有至少 t IoU 的邊界框,并帶有g(shù)round truth標(biāo)注。

Corners分組

使用“pull”損失訓(xùn)練網(wǎng)絡(luò)對角點進行分組,使用“push”損失來分離角點:

經(jīng)典論文系列 | 目標(biāo)檢測--CornerNet & 又名 anchor boxes的缺陷

Corner Pooling

經(jīng)典論文系列 | 目標(biāo)檢測--CornerNet & 又名 anchor boxes的缺陷

預(yù)測模塊

經(jīng)典論文系列 | 目標(biāo)檢測--CornerNet & 又名 anchor boxes的缺陷

沙漏網(wǎng)絡(luò)

CornerNet 使用沙漏網(wǎng)絡(luò)作為其骨干網(wǎng)絡(luò)。沙漏網(wǎng)絡(luò)首先被引入用于人體姿勢估計任務(wù)。它是一個完全卷積的神經(jīng)網(wǎng)絡(luò),由一個或多個沙漏模塊組成。沙漏模塊首先通過一系列卷積和最大池化層對輸入特征進行下采樣。然后通過一系列上采樣和卷積層將特征上采樣回原始分辨率。由于最大池化層中的細(xì)節(jié)丟失,因此添加了跳過層以將細(xì)節(jié)帶回上采樣特征。沙漏模塊在單個統(tǒng)一結(jié)構(gòu)中捕獲全局和局部特征。當(dāng)多個沙漏模塊堆疊在網(wǎng)絡(luò)中時,沙漏模塊可以重新處理特征以捕獲更高級別的信息。這些特性也使沙漏網(wǎng)絡(luò)成為目標(biāo)檢測的理想選擇。事實上,目前很多檢測器已經(jīng)采用了類似于沙漏網(wǎng)絡(luò)的網(wǎng)絡(luò)。

結(jié)論

實驗表明,CornerNet 在 MS COCO 上實現(xiàn)了 42.1% 的 AP,優(yōu)于所有現(xiàn)有的單級檢測器。

經(jīng)典論文系列 | 目標(biāo)檢測--CornerNet & 又名 anchor boxes的缺陷

Corner Pooling的消融實驗

經(jīng)典論文系列 | 目標(biāo)檢測--CornerNet & 又名 anchor boxes的缺陷

本文來源于公眾號 CV技術(shù)指南 的論文分享系列。

歡迎關(guān)注公眾號 CV技術(shù)指南 ,專注于計算機視覺的技術(shù)總結(jié)、最新技術(shù)跟蹤、經(jīng)典論文解讀。

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標(biāo)題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號