博客專欄

EEPW首頁 > 博客 > 目標檢測干貨 | 多級特征重復使用大幅度提升檢測精度(文末附論文下載)

目標檢測干貨 | 多級特征重復使用大幅度提升檢測精度(文末附論文下載)

發(fā)布人:CV研究院 時間:2022-09-26 來源:工程師 發(fā)布文章
一、簡要

近年來,在利用深度卷積網(wǎng)絡檢測目標方面取得了顯著進展。然而,很少有目標檢測器實現(xiàn)高精度和低計算成本。今天分享的干貨,就有研究者提出了一種新的輕量級框架,即多級特性重用檢測器(MFRDet),它可以比兩階段的方法達到更好的精度。它還可以保持單階段方法的高效率,而且不使用非常深的卷積神經網(wǎng)絡。該框架適用于深度和淺層特征圖中包含的信息的重復利用,具有較高的檢測精度。

二、背景

圖片

(a)僅使用單尺度特征進行預測,(b)整合來自高級和低級特征圖的信息,(c)從不同尺度的特征圖生成預測,(d)就是今天分享的多層特征重用模塊可以獲得不同尺度的特征圖。


  • Shot learning

在深度學習領域,特別是目標檢測領域,數(shù)據(jù)集的建設是至關重要的。進行了許多優(yōu)秀和有價值的研究,改進了多元數(shù)據(jù)集的理論和實踐。有研究者創(chuàng)建了一種有效的從Web學習方法來解決問題的數(shù)據(jù)集偏差,沒有手動注釋。這可能提供了一種幫助zero-shot學習的方法。zero-shot學習研究的主要問題是目標分類問題和目標檢測問題。目前,在zero-shot學習中仍存在一些需要解決的問題,如domain shift problem, hubness problem和semantic gap問題。zero-shot學習通常將視覺特征嵌入其他模態(tài)空間,或將多個模型空間映射到一個共同的潛在空間,使用最近鄰思想對看不見目標進行分類,這對目標檢測器有很高的需求。

One-shot學習的目的是從一個或只有少數(shù)的訓練圖像中學習有關目標類別的信息。zero-shot學習不同,One-shot學習依賴于先驗知識,比如物體識別,它需要對形狀和外觀的先驗知識。

三、新框架

  • SSD分析

圖片

SSD和Yolo一樣都是采用一個CNN網(wǎng)絡來進行檢測,但是卻采用了多尺度的特征圖,其基本架構如下圖所示。下面將SSD核心設計理念總結為以下三點:

圖片SSD基本框架

(1)采用多尺度特征圖用于檢測

所謂多尺度采用大小不同的特征圖,CNN網(wǎng)絡一般前面的特征圖比較大,后面會逐漸采用stride=2的卷積或者pool來降低特征圖大小,這正如上圖所示,一個比較大的特征圖和一個比較小的特征圖,它們都用來做檢測。這樣做的好處是比較大的特征圖來用來檢測相對較小的目標,而小的特征圖負責檢測大目標,如下圖所示,8x8的特征圖可以劃分更多的單元,但是其每個單元的先驗框尺度比較小。

圖片不同尺度的特征圖

(2)采用卷積進行檢測

與Yolo最后采用全連接層不同,SSD直接采用卷積對不同的特征圖來進行提取檢測結果。對于形狀為 圖片 的特征圖,只需要采用 圖片 這樣比較小的卷積核得到檢測值。

(3)設置先驗框

在Yolo中,每個單元預測多個邊界框,但是其都是相對這個單元本身(正方塊),但是真實目標的形狀是多變的,Yolo需要在訓練過程中自適應目標的形狀。而SSD借鑒了Faster R-CNN中anchor的理念,每個單元設置尺度或者長寬比不同的先驗框,預測的邊界框(bounding boxes)是以這些先驗框為基準的,在一定程度上減少訓練難度。一般情況下,每個單元會設置多個先驗框,其尺度和長寬比存在差異,如圖5所示,可以看到每個單元使用了4個不同的先驗框,圖片中貓和狗分別采用最適合它們形狀的先驗框來進行訓練,后面會詳細講解訓練過程中的先驗框匹配原則。

圖片SSD的先驗框SSD的檢測值也與Yolo不太一樣。對于每個單元的每個先驗框,其都輸出一套獨立的檢測值,對應一個邊界框,主要分為兩個部分。第一部分是各個類別的置信度或者評分,值得注意的是SSD將背景也當做了一個特殊的類別,如果檢測目標共有 圖片 個類別,SSD其實需要預測 圖片 個置信度值,其中第一個置信度指的是不含目標或者屬于背景的評分。后面當我們說 圖片 個類別置信度時,請記住里面包含背景那個特殊的類別,即真實的檢測類別只有 圖片 個。在預測過程中,置信度最高的那個類別就是邊界框所屬的類別,特別地,當?shù)谝粋€置信度值最高時,表示邊界框中并不包含目標。第二部分就是邊界框的location,包含4個值 圖片 ,分別表示邊界框的中心坐標以及寬高。但是真實預測值其實只是邊界框相對于先驗框的轉換值(paper里面說是offset,但是覺得transformation更合適,參見R-CNN)。先驗框位置用 圖片 表示,其對應邊界框用 圖片 $表示,那么邊界框的預測值 圖片 其實是 圖片 相對于 圖片 的轉換值:

圖片

圖片

習慣上,我們稱上面這個過程為邊界框的編碼(encode),預測時,你需要反向這個過程,即進行解碼(decode),從預測值 圖片 中得到邊界框的真實位置 圖片 :圖片圖片然而,在SSD的Caffe源碼實現(xiàn)中還有trick,那就是設置variance超參數(shù)來調整檢測值,通過bool參數(shù)variance_encoded_in_target來控制兩種模式,當其為True時,表示variance被包含在預測值中,就是上面那種情況。但是如果是False(大部分采用這種方式,訓練更容易?),就需要手動設置超參數(shù)variance,用來對 圖片 的4個值進行放縮,此時邊界框需要這樣解碼:圖片圖片綜上所述,對于一個大小 圖片 的特征圖,共有 圖片 個單元,每個單元設置的先驗框數(shù)目記為 圖片 ,那么每個單元共需要 圖片 個預測值,所有的單元共需要 圖片 個預測值,由于SSD采用卷積做檢測,所以就需要 圖片 個卷積核完成這個特征圖的檢測過程。

  • 新框架(MFRDet)

    圖片

如上面所述,有許多利用嘗試觀察和充分利用金字塔特征。圖(b)顯示了最常見的模式之一。這種類型經過了歷史驗證,大大提高了傳統(tǒng)檢測器的性能。但是這種設計需要多個特征合并過程,從而導致大量額外的計算。

今天分享的框架提出了一種輕量級、高效的多級特征重用(MFR)模塊(如圖(d)所示)。該模塊能夠充分利用不同尺度的特征圖,集成了深、淺層的特征,提高了檢測性能。特征重用模塊可簡要說明如下:

圖片

S的選擇:

在初步設計它們時,需要考慮以下幾個關鍵因素。首先,應該選擇要重用的圖層。在傳統(tǒng)的SSD中,作者部署了conv4_3、fc7和另外四個SSD層進行預測。6個選定的特征地圖的比例表包括38×38、19×19、10×10、5×5和1×1。在不同的SSD中,這些層是獨立的,今天這個研究者不同意。研究者相信,小尺度特征圖中存在的語義信息在尺度變換后的檢測中仍然有效。選擇了六個預測層和conv5_3層作為框架要重用的源層。從下表中,可以得出一個明確的結論,即重用conv3_3將降低檢測精度。高分辨率特征圖沒有足夠的高級語義信息,因此放棄了對其信息的重用。

圖片

Ti的轉換策略:

在傳統(tǒng)的SSD中,規(guī)模為38×38、語義信息很少的淺層conv4_3負責小目標識別。conv4_3層被設置為需要包含更深層語義信息的基本層。策略因特征圖的標準而不同。首先,對每個源層應用Conv1×1來減小特征尺寸。然后,在Conv1×1層后,通過雙線性插值,將尺度小于38×38的層(四個SSD_layers和fc7層)放入相同大小的38×38中。這樣,所有的源特性都會轉換為相同的大小。




Ψt的選擇:

在轉換策略Ti的過程完成后,創(chuàng)建了新的變換特征圖。它們是conv4_3、conv5_3、fc7、conv8_2、conv9_2、conv10_2和conv11_2。有兩種方法可以將新轉換的特征映射合并在一起。通過實驗驗證,這兩種方法都能得到良好的結果。從上表中,可以了解到連接似乎更適合我們的模型。


四、實驗

圖片

圖片

圖片

圖片

在coco數(shù)據(jù)集上的檢測可視化結果

圖片


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

電路相關文章:電路分析基礎


可控硅相關文章:可控硅工作原理


手機電池相關文章:手機電池修復


pic相關文章:pic是什么


晶體管相關文章:晶體管工作原理


晶體管相關文章:晶體管原理


關鍵詞: AI

相關推薦

技術專區(qū)

關閉