CVPR21目標(biāo)檢測新框架:只需要一層特征(干貨滿滿,建議收藏)
點擊下方“AI算法與圖像處理”,一起進步!
重磅干貨,第一時間送達

前言



當(dāng)然,在公司中實際做項目的時候,很多應(yīng)用場景中的第一步,都是進行目標(biāo)檢測任務(wù),比如人臉識別、多目標(biāo)追蹤、REID等場景。因此目標(biāo)檢測是計算機視覺領(lǐng)域及應(yīng)用中非常重要的一部分。
背景及YoloF的引出
先給大家提供下前期yolo的地址:
Tiny YOLOv3代碼地址:https://github.com/yjh0410/yolov2-yolov3_PyTorch
YOLObile論文地址:https://arxiv.org/pdf/2009.05697.pdf

YoloF的模型比之前的模型復(fù)雜了不少,可以通過改變模型結(jié)構(gòu)的大小來權(quán)衡速度與精度。YoloV3的先驗檢測系統(tǒng)將分類器或定位器重新用于執(zhí)行檢測任務(wù)。他們將模型應(yīng)用于圖像的多個位置和尺度。此外,相對于其它目標(biāo)檢測方法,YoloV3將一個單神經(jīng)網(wǎng)絡(luò)應(yīng)用于整張圖像,該網(wǎng)絡(luò)將圖像劃分為不同的區(qū)域,因而預(yù)測每一塊區(qū)域的邊界框和概率,這些邊界框會通過預(yù)測的概率加權(quán)。模型相比于基于分類器的系統(tǒng)有一些優(yōu)勢。它在測試時會查看整個圖像,所以它的預(yù)測利用了圖像中的全局信息。與需要數(shù)千張單一目標(biāo)圖像的R-CNN不同,它通過單一網(wǎng)絡(luò)評估進行預(yù)測。這令YoloV3非常快,一般它比R-CNN快1000倍、比Fast R-CNN快100倍。

而今天分享的YOLOF框架,主要對單階段目標(biāo)檢測中的FPN進行了重思考并指出FPN的成功之處在于它對目標(biāo)檢測優(yōu)化問題的分而治之解決思路而非多尺度特征融合。從優(yōu)化的角度出發(fā),作者引入了另一種方式替換復(fù)雜的特征金字塔來解決該優(yōu)化問題:從而可以僅僅采用一級特征進行檢測。
新框架詳解
在目前先進的目標(biāo)檢測框架網(wǎng)絡(luò)中,出現(xiàn)頻率最多的還是特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN),是一個不可或缺的組成部分。

研究者認為FPN主要有2個作用:
多尺度特征融合,提高特征豐富程度;
使用divide-and-conquer,將目標(biāo)檢測任務(wù)按照目標(biāo)尺寸大小,分成若干個檢測子任務(wù)。
為了探索FPN的上述2個作用對檢測器性能的貢獻程度,研究者做了實驗,將檢測器抽象成如下圖所示個3個組成部分。

上圖,Encoder主要處理Backbone提取的特征,將處理結(jié)果傳輸給Decoder,用于分類和回歸。
以RetinaNet-ResNet50為基線方案,將檢測任務(wù)分解為三個關(guān)鍵部分:主干網(wǎng)絡(luò)、Encoder及Decoder。下圖給出了不同部分的Flops對比:
相比SiMoEncoder,MiMoEncoder帶來顯著的內(nèi)存負載問題(134G vs 6G); 基于MiMoEncoder的檢測器推理速度明顯要慢于SiSoEncoder檢測器(13FPS vs 34FPS); 這個推理速度的變慢主要是因為高分辨率特征部分的目標(biāo)檢測導(dǎo)致,即C3特征部分。


通過上述實驗,可知使用Backbone輸出的單一特征和分治法,就可以構(gòu)建一個良好的目標(biāo)檢測框架網(wǎng)絡(luò)。但是使用Single-in-Multiple-out的結(jié)構(gòu)會使得模型變得更大和復(fù)雜,因為Encoder要輸出多個特征。
基于上述發(fā)現(xiàn),研究者提出了YOLOF(You Only Look One-level Feature)網(wǎng)絡(luò),在YOLOF中,Encoder只用到了Backbone輸出的C5特征,同時避免使用Single-in-Multiple-out的SiMo復(fù)雜結(jié)構(gòu),而是使用了Single-in-Single-out的SiSo結(jié)構(gòu)以減少計算量。
YOLOF框架草圖如下所示:

YOLOF框架中關(guān)鍵的組件主要是膨脹編碼器(Dilated Encoder)和均勻匹配(Uniform Matching),給整個檢測帶來了可觀的改進。下面詳細說說:
使用Dilated Encoder模塊代替FPN 。SiSo Encoder只使用了Backbone中的C5特征作為輸入,C5特征感受野僅僅覆蓋有限的尺度范圍,當(dāng)目標(biāo)尺度與感受野尺度不匹配時就導(dǎo)致了檢測性能的下降。為使得SiSo Encoder可以檢測所有目標(biāo),作者需要尋找一種方案生成具有可變感受野的輸出特征,以補償多級特征的缺失。

在C5特征的基礎(chǔ)上,研究者采用空洞卷積方式提升其感受野。盡管其覆蓋的尺度范圍可以在一定程度上擴大,但它仍無法覆蓋所有的目標(biāo)尺度。以上圖(b)為例,相比圖(a),它的感受野尺度朝著更大尺度進行了整體的偏移。然后,研究者對原始尺度范圍與擴大后尺度范圍通過相加方式進行組合,因此得到了覆蓋范圍更廣的輸出特征??,見上圖(c)。
Dilated Encoder的結(jié)構(gòu)如下圖所示:
一般anchor和目標(biāo)的GT的最大IoU超過0.5,則該anchor為positive anchor,positive anchor的定義對于目標(biāo)檢測中的優(yōu)化問題尤其重要。在anchor-based的檢測中,positive anchor的定義策略主要受anchor與真實框之間的IoU決定,研究者稱之為Max-IoU matching。
在MiMo Encoder中,anchor在多級特征上以稠密方式進行預(yù)定義,同時按照尺度生成特征級的positive anchor。在分而治之的機制下,Max-IoU matching使得每個尺度下的真實框可以生成充分數(shù)量的positive anchor。然而,當(dāng)研究者采用SiSo Encoder時,anchor的數(shù)量會大量的減少(比如從100K減少到5K),導(dǎo)致了稀疏anchor。稀疏anchor進一步導(dǎo)致了采用Max-IoU matching時的不匹配問題。

以上圖為例,大的目標(biāo)框包含更多的positive anchor,這就導(dǎo)致了positive anchor的不平衡問題,進而導(dǎo)致了檢測器更多關(guān)注于大目標(biāo)而忽視了小目標(biāo)。
為解決上述positive anchor不平衡問題,研究者就提出了Uniform Matching策略:對于每個目標(biāo)框采用k近鄰anchor作為positive anchor,確保了所有的目標(biāo)框能夠以相同數(shù)量的positive anchor進行均勻匹配。positive anchor的平衡確保了所有的目標(biāo)框都參與了訓(xùn)練且貢獻相等。在實現(xiàn)方面,參考了Max-IoU matching,演技組對Uniform matching中的IoU閾值進行設(shè)置以忽略大IoU (>0.7)的negative anchor和小IoU (<0.15) positive anchor。
實驗及可視化

上表給出了新框架與RetineNet在COCO數(shù)據(jù)集上的性能對比。從中可以看到:
YOLOF取得了與改進版RetinaNet+相當(dāng)?shù)男阅埽瑫r減少了57%的計算量,推理速度快了2.5倍; 當(dāng)采用相同主干網(wǎng)絡(luò)時,由于僅僅采用C5特征,YOLOF在小目標(biāo)檢測方面要比RetinaNet+弱一些(低3.1),但在大目標(biāo)檢測方面更優(yōu)(高3.3); 當(dāng)YOLOF采用ResNeXt作為主干網(wǎng)絡(luò)時,它可以取得與RetinaNet在小目標(biāo)檢測方面相當(dāng)?shù)男阅芮彝评硭俣韧瑯酉喈?dāng); 多尺度測試輔助,新框架取得了47.1mAP的指標(biāo),且在小目標(biāo)方面取得了極具競爭力的性能31.8mAP。

上表展示了新框架與DETR的性能對比。從中可以看到:
YOLOF取得了與DETR相匹配的的性能; 相比DETR,YOLOF可以從更深的網(wǎng)絡(luò)中收益更多,比如ResNet50時低0.4,在ResNet10時多了0.2; 在小目標(biāo)檢測方面,YOLOF要優(yōu)于DETR; 在收斂方面,YOLOF要比DETR快7倍,這使得YOLOF更適合于作為單級特征檢測器的基線。

上表展示了,使用 ResNet-50 使用Dilated Encoder和Uniform Matching的效果。這兩個組件將原始單級檢測器提高了 16.6 mAP。請注意,上表中 21.1 mAP 的結(jié)果不是錯誤。由于YOLOF中解碼器的設(shè)計,它的性能略低于帶有SiSo編碼器的檢測器,其分類頭中只有兩個卷積層。
個人微信(如果沒有備注不拉群!) 請注明:地區(qū)+學(xué)校/企業(yè)+研究方向+昵稱
下載1:何愷明頂會分享
在「AI算法與圖像處理」公眾號后臺回復(fù):何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經(jīng)典工作的總結(jié)分析
下載2:終身受益的編程指南:Google編程風(fēng)格指南
在「AI算法與圖像處理」公眾號后臺回復(fù):c++,即可下載。歷經(jīng)十年考驗,最權(quán)威的編程規(guī)范!
下載3 CVPR2021 在「AI算法與圖像處理」公眾號后臺回復(fù):CVPR,即可下載1467篇CVPR 2020論文 和 CVPR 2021 最新論文

