Nanodet:手机端的 97FPS 的 Anchor-free 的目标检测模型

参考资料:

YOLO之外的另一选择,手机端97FPS的Anchor-Free目标检测模型NanoDet现已开源~

1、什么是 Nanodet

Nanodet 是一个速度超快和轻量级的移动端 Anchor-free 目标检测模型,是基于 FCOS 模型进行轻量化改进而来的


2、Nanodet 跟其他模型的性能对比


华为 P30 上用 NCNN 移植跑 benchmark,一张图片仅需 10.23 毫秒,比 YoloV4-Tiny 快 3 倍,参数量小 6 倍,COCO mAP(05:0.95) 能够达到 20.6。而且模型权重文件仅有 1.8m

由此可见,Nanodet 能够在有较低参数量和较小的模型权重文件情况下,能够拥有跟 YoloV4-Tiny 一样的 mAP


3、Nanodet 的网络结构图


backbone 是 ShuffNetV2 1.0x,去掉最后一层的卷积层,并且抽取 8/16/32倍下采样率的特征输入到 PAN 中做多尺度的特征融合


超轻量的 PAN


4、Nanodet 相对于 FCOS 的改进


FCOS 模型结构

① 检测头

FCOS:共享检测头权重

Nanodet:不共享检测头,因为在移动端是使用 CPU 来进行计算的,共享检测头权重并不会对推理过程加速;共享检测头会使得其检测能力进一步下降

② 归一化方式

FCOS:使用 Group Normalization

Nanodet:使用 Batch Normalization 来取代 Group Normalization,因为后者虽然比前者有很多优点,但却有一个缺点:Batch Normalization 可以在推理时将其参数融入到卷积核中,节省这一步计算可以节省时间

③ 检测头大小

FCOS:检测头大小为 4 个 256 通道数的卷积核组为一个分支,因此边框回归和分类两个分支,则总共需要 8 个 256 通道数的卷积

Nanodet:将 4 个卷积核组减少为 2 个卷积核组。在通道数上将 256 维降低为 96 维。将边框回归和分类共享检测头,然后再切割成两份,分别去预测边框回归和分类。

④ FPN 层

FCOS:没有该模块

Nanodet:基于 FPN 改进为 PAN,原版的 FPN 在对高层特征图使用线性插值后,再使用 3*3 卷积。但是 Nanodet 去掉了 FPN 中线性插值后再使用的 3*3 卷积,只保留从骨干网络特征提取后的 1*1 卷积来进行特征通道维度的对齐。同时 FPN 只是在多层特征融合端使用了自上而下的特征融合,而 PAN 则不仅使用了自上而下的特征融合,而且还使用了自底向上的特征融合,使用的方法也是线性插值。


5、Nanodet 的算法步骤



6、Nanodet 的损失函数


7、Nanodet 的优点

① 速度快

② 模型参数权重文件小


8、Nanodet 的缺点

① mAP 不高

你可能感兴趣的:(Nanodet:手机端的 97FPS 的 Anchor-free 的目标检测模型)