nanodet阅读:(1)概述

一、前言

出于某些需要,阅读一下anchor-free模型的代码,因为之前用过nanodet,对其印象深刻,所以重温一下代码。好记性不如烂笔头,多记录、多总结、多分享。
正如作者博客说的:NanoDet总体而言没有特别多的创新点,是一个纯工程化的项目,主要的工作就是将目前学术界的一些优秀论文,落地到移动端的轻量级模型上。

二、正文

1. 模型整体特点
模型之所以轻量,是因为作者用了
① 轻量的backbone : 经典轻量级模型,如mobilenet, shufflenet等;
② 轻量的FPN :完全去掉PAN中的所有卷积,只保留1x1卷积来进行特征通道维度的对齐,上采样和下采样均使用插值来完成;
③ 轻量的head :深度卷积、减少卷积个数与维度、边框回归和分类共享同一组卷积。
此外还因为作者选择了
① 合适的损失函数GFocal Loss
② 合适的正负样本定义方法ATSS
③ 轻量但性能不弱的backbone
④ 成熟的模型架构 backbone + pan + head
head不共享权重(检测头非常轻量的情况下,共享权重会降低其泛化能力);

使得模型虽然轻量,但性能不差。

2. nanodet anchor 大小及生成。
nanodet虽说是anchor-free路线,但还是有anchor的,其作用主要体现在训练时的正负样本定义(ATSS)阶段,其他时候只会用到anchor的中心坐标(如计算bbox时)。

def get_single_level_center_point(
        self, featmap_size, stride
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值