參考資料:
YOLO之外的另一選擇萌庆,手機(jī)端97FPS的Anchor-Free目標(biāo)檢測模型NanoDet現(xiàn)已開源~
1溶褪、什么是 Nanodet
Nanodet 是一個(gè)速度超快和輕量級(jí)的移動(dòng)端 Anchor-free 目標(biāo)檢測模型,是基于 FCOS 模型進(jìn)行輕量化改進(jìn)而來的
2践险、Nanodet 跟其他模型的性能對(duì)比
華為 P30 上用 NCNN 移植跑 benchmark猿妈,一張圖片僅需 10.23 毫秒,比 YoloV4-Tiny 快 3 倍巍虫,參數(shù)量小 6 倍彭则,COCO mAP(05:0.95) 能夠達(dá)到 20.6。而且模型權(quán)重文件僅有 1.8m
由此可見占遥,Nanodet 能夠在有較低參數(shù)量和較小的模型權(quán)重文件情況下俯抖,能夠擁有跟 YoloV4-Tiny 一樣的 mAP
3、Nanodet 的網(wǎng)絡(luò)結(jié)構(gòu)圖
backbone 是 ShuffNetV2 1.0x瓦胎,去掉最后一層的卷積層芬萍,并且抽取 8/16/32倍下采樣率的特征輸入到 PAN 中做多尺度的特征融合
4、Nanodet 相對(duì)于 FCOS 的改進(jìn)
① 檢測頭
FCOS:共享檢測頭權(quán)重
Nanodet:不共享檢測頭搔啊,因?yàn)樵谝苿?dòng)端是使用 CPU 來進(jìn)行計(jì)算的柬祠,共享檢測頭權(quán)重并不會(huì)對(duì)推理過程加速;共享檢測頭會(huì)使得其檢測能力進(jìn)一步下降
② 歸一化方式
FCOS:使用 Group Normalization
Nanodet:使用 Batch Normalization 來取代 Group Normalization负芋,因?yàn)楹笳唠m然比前者有很多優(yōu)點(diǎn)漫蛔,但卻有一個(gè)缺點(diǎn):Batch Normalization 可以在推理時(shí)將其參數(shù)融入到卷積核中,節(jié)省這一步計(jì)算可以節(jié)省時(shí)間
③ 檢測頭大小
FCOS:檢測頭大小為 4 個(gè) 256 通道數(shù)的卷積核組為一個(gè)分支,因此邊框回歸和分類兩個(gè)分支惩猫,則總共需要 8 個(gè) 256 通道數(shù)的卷積
Nanodet:將 4 個(gè)卷積核組減少為 2 個(gè)卷積核組芝硬。在通道數(shù)上將 256 維降低為 96 維。將邊框回歸和分類共享檢測頭轧房,然后再切割成兩份拌阴,分別去預(yù)測邊框回歸和分類。
④ FPN 層
FCOS:沒有該模塊
Nanodet:基于 FPN 改進(jìn)為 PAN奶镶,原版的 FPN 在對(duì)高層特征圖使用線性插值后迟赃,再使用 3*3 卷積。但是 Nanodet 去掉了 FPN 中線性插值后再使用的 3*3 卷積厂镇,只保留從骨干網(wǎng)絡(luò)特征提取后的 1*1 卷積來進(jìn)行特征通道維度的對(duì)齊纤壁。同時(shí) FPN 只是在多層特征融合端使用了自上而下的特征融合,而 PAN 則不僅使用了自上而下的特征融合捺信,而且還使用了自底向上的特征融合酌媒,使用的方法也是線性插值。
5迄靠、Nanodet 的算法步驟
6秒咨、Nanodet 的損失函數(shù)
7、Nanodet 的優(yōu)點(diǎn)
① 速度快
② 模型參數(shù)權(quán)重文件小
8掌挚、Nanodet 的缺點(diǎn)
① mAP 不高