博客專欄

EEPW首頁 > 博客 > 最新的目標(biāo)檢測的深度架構(gòu) | 參數(shù)少一半、速度快3倍+

最新的目標(biāo)檢測的深度架構(gòu) | 參數(shù)少一半、速度快3倍+

發(fā)布人:CV研究院 時(shí)間:2022-11-20 來源:工程師 發(fā)布文章

Matrix Nets


這是一個(gè)「矩陣網(wǎng)絡(luò)」,它的參數(shù)少、效果好、訓(xùn)練快、顯存占用低。



簡要介紹
研究作者提出了 Matrix Net (xNet),一種用于目標(biāo)檢測的新深度架構(gòu)。xNets將具有不同大小尺寸和縱橫比的目標(biāo)映射到網(wǎng)絡(luò)層中,其中目標(biāo)在層內(nèi)的大小和縱橫比幾乎是均勻的。因此,xNets提供了一種尺寸和縱橫比感知結(jié)構(gòu)。研究者利用xNets增強(qiáng)基于關(guān)鍵點(diǎn)的目標(biāo)檢測。新的的架構(gòu)實(shí)現(xiàn)了比任何其他單鏡頭檢測器的時(shí)效性高,具有47.8的mAP在MS COCO數(shù)據(jù)集,同時(shí)使用了一半的參數(shù)而且相比于第二好框架,其在訓(xùn)練上快了3倍。

簡單結(jié)果展示
圖片上圖所示,xNet的參數(shù)及效率要遠(yuǎn)遠(yuǎn)超過其它模型。其中FSAF在基于錨點(diǎn)的檢測器中效果是最好的,它超過了經(jīng)典的RetinaNet。研究者提出的模型在參數(shù)量類似的情況下性能超過了所有其他single-shot架構(gòu)。

背景及現(xiàn)狀

目標(biāo)檢測是計(jì)算機(jī)視覺中最廣泛研究的任務(wù)之一,具有許多應(yīng)用到其他視覺任務(wù),如目標(biāo)跟蹤、實(shí)例分割和圖像字幕。目標(biāo)檢測結(jié)構(gòu)可以分為兩類:single-shot檢測器two-stage檢測器。Two-stage檢測器利用區(qū)域候選網(wǎng)絡(luò)找到固定數(shù)量的目標(biāo)候選,然后使用第二個(gè)網(wǎng)絡(luò)來預(yù)測每個(gè)候選的分?jǐn)?shù)并改進(jìn)其邊界框。

常見的Two-stage算法

圖片

Single-shot檢測器也可以分為兩類:基于錨的檢測器和基于關(guān)鍵點(diǎn)的檢測器?;阱^的檢測器包含許多錨邊界框,然后預(yù)測每個(gè)模板的偏移量和類。最著名的基于錨的體系結(jié)構(gòu)是RetinaNet,它提出了focal損失函數(shù),以幫助糾正錨邊界框的類不平衡。性能最好的基于錨的探測器是FSAF。FSAF將錨基輸出與無錨輸出頭集成在一起,以進(jìn)一步提高性能。

另一方面,基于關(guān)鍵點(diǎn)的檢測器可以預(yù)測左上角和右下角的熱圖,并使用特征嵌入將它們匹配起來。最初的基于關(guān)鍵點(diǎn)的檢測器是CornerNet,它利用一個(gè)特殊的coener池化層來準(zhǔn)確地檢測不同大小的目標(biāo)。從那時(shí)起,Centerne通過預(yù)測目標(biāo)中心和角,大大改進(jìn)了CornerNet體系結(jié)構(gòu)。

Matrix Nets

下圖所示為Matrix nets(xNets),使用分層矩陣建模具有不同大小和叢橫比的目標(biāo),其中矩陣中的每個(gè)條目i、j 表示一個(gè)層 li,j,矩陣左上角層 l1,1 中寬度降采樣2^(i-1),高度降采樣2^(j-1)。對角層是不同大小的方形層,相當(dāng)于一個(gè) FPN,而非對角層是矩形層(這是xNets所特有的)。 層l1,1是最大的層,每向右一步,層寬度減半,而每向下一步高度減半。

圖片

例如,層l3,4是層l3,3寬度的一半。對角層建模寬高比接近方形的目標(biāo),而非對角層建模寬高比不接近方形的目標(biāo)。接近矩陣右上角或左下角的層建模寬高比極高或極低的目標(biāo)。這類目標(biāo)非常罕見,所以可以對它們進(jìn)行剪枝以提升效率。

Layer Generation

生成矩陣層是一個(gè)關(guān)鍵的步驟,因?yàn)樗绊懩P蛥?shù)的數(shù)量。參數(shù)越多,模型表達(dá)越強(qiáng),優(yōu)化問題越困難,因此研究者選擇盡可能少地引入新的參數(shù)。對角線層可以從主干的不同階段獲得,也可以使用特征金字塔框架。上三角層是在對角線層上施加一系列具有1x2步長的共享3x3卷積得到的。類似地,左下角層是使用具有2x1步長的共享3x3卷積得到的。參數(shù)在所有下采樣卷積之間共享,以最小化新參數(shù)的數(shù)量。


2 層范圍

矩陣中的每個(gè)層都對具有一定寬度和高度的目標(biāo)進(jìn)行建模,因此我們需要定義分配給矩陣中每個(gè)層的目標(biāo)的寬度和高度范圍。范圍需要反映矩陣層特征向量的感受野。矩陣中向右的每一步都有效地使水平維度中的感受野加倍,而每一步都使垂直維度上的感受場加倍。因此,當(dāng)我們在矩陣中向右或向下移動(dòng)時(shí),寬度或高度的范圍需要加倍。一旦定義了第一層l1,1的范圍,我們就可以使用上述規(guī)則為矩陣層的其余部分生成范圍。

Matrix Nets的優(yōu)勢
Matrix Nets的主要優(yōu)點(diǎn)是它們允許方形卷積核準(zhǔn)確地收集有關(guān)不同縱橫比的信息。在傳統(tǒng)的目標(biāo)檢測模型中,如RetinaNet,需要一個(gè)方形卷積核來輸出不同的長寬比和尺度。這與直覺相反,因?yàn)椴煌矫娴倪吔缈蛐枰煌谋尘?。在Matrix Nets中,由于每個(gè)矩陣層的上下文發(fā)生變化,所以相同的方形卷積核可以用于不同比例和長寬比的邊界框。

由于目標(biāo)大小在其指定的層內(nèi)幾乎是均勻的,因此與其他架構(gòu)(例如FPN)相比,寬度和高度的動(dòng)態(tài)范圍更小。因此,回歸目標(biāo)的高度和寬度將變得更容易優(yōu)化問題。最后Matrix Nets可用作任何目標(biāo)檢測架構(gòu)、基于錨或基于關(guān)鍵點(diǎn)、one-shot或two-shots檢測器。

Matrix Nets 用于基于關(guān)鍵點(diǎn)的檢測

在CornerNet被提出來的時(shí)候,其是為了替代基于錨點(diǎn)的檢測,它利用一對角(左上角和右下角)來預(yù)測邊界框。對于每個(gè)角來說,CornerNet可預(yù)測熱圖、偏移量和嵌入。圖片

上圖是基于關(guān)鍵點(diǎn)的目標(biāo)檢測框架—— KP-xNet,它包含4個(gè)步驟。

  • (a-b):使用了xNet的主干;

  • (c):使用了共享輸出子網(wǎng)絡(luò),而針對每個(gè)矩陣層,預(yù)測了左上角和右下角的熱圖和偏移量,并在目標(biāo)層內(nèi)對它們進(jìn)行中心點(diǎn)預(yù)測;

  • (d):利用中心點(diǎn)預(yù)測匹配同一層中的角,然后將所有層的輸出與soft非極大值抑制結(jié)合,從而得到最終輸出。



實(shí)驗(yàn)結(jié)果
下表展示了在MS COCO數(shù)據(jù)集上的結(jié)果:

圖片

研究者還比較了新提出的模型與其他模型在不同的backbones上基于參數(shù)的數(shù)目。在第一張圖中,我們發(fā)現(xiàn)KP-xNet在所有參數(shù)級別上都優(yōu)于所有其他結(jié)構(gòu)。研究者認(rèn)為這是因?yàn)镵P-xNet使用了一種尺度和縱橫比感知的體系結(jié)構(gòu)。論文地址:https://arxiv.org/pdf/1908.04646.pdf


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉