学习资源

Paddle官方教程: 《AI快车道PaddleDetection – 课节4: 闪电版目标检测算法PP-PicoDet》
PicoDet论文: PP-PicoDet: A Better Real-Time Object Detector on Mobile Devices
关键点视频也需要学习一下;

1 模型介绍

论文阅读笔记:《PicoDet论文译读笔记》
模型类型: Anchor-Free
关于PicoDet的整体描述,我觉得可以参照VFNet论文对这类模型的介绍:

[VFNet Paper]: Another type of anchor-free detectors are similar to anchor-based one-stage methods, but they remove the usage of anchor boxes. Instead, they classify each point on the feature pyramids [25_FPN] into foreground classes or background, and directly predict the distances from the foreground point to the four sides of the ground-truth bounding box, to produce the detection. Popular methods include DenseBox [26_DenseBox], FASF [27_FASF], FoveaBox [15_FoveaBox], FCOS [9_FCOS], and SPAD [28_SPAD].

技术一览表:

名称 cfg
参数初始化 KaimingNormal
Loss lossvfl+2⋅lossgiou+0.25⋅lossdflloss_{vfl}+2\cdot loss_{giou} + 0.25\cdot loss_{dfl}lossvfl​+2⋅lossgiou​+0.25⋅lossdfl​

2 损失函数

首先,来看看loss函数的整体公式:
loss=lossvfl+2⋅lossgiou+0.25⋅lossdflloss = loss_{vfl}+2\cdot loss_{giou} + 0.25\cdot loss_{dfl} loss=lossvfl​+2⋅lossgiou​+0.25⋅lossdfl​
其中,
lossvflloss_{vfl}lossvfl​:Varifocal Loss。
lossgiouloss_{giou}lossgiou​:GIoU Loss。
lossdflloss_{dfl}lossdfl​:Distribution Focal Loss。

2.1 Varifocal Loss —— 分类损失

Varifocal Loss是在VarifocalNet[paper]中提出的;
(关于VarifocalNet论文,请参见《【CVPR 2021】VarifocalNet: An IoU-aware Dense Object Detector的译读笔记》)
请参考《mmdetection最小复刻版(十六):iou感知VarifocalNet深入分析》;

2.2 GIoU Loss —— 回归损失

用来回归边界框的坐标值;

2.3 Distribution Focal Loss —— 分类损失

Distribution Focal Loss出自论文《Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection》;
参考资料:

  • 关于论文译读,请参见《【NIPS2020】Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense…译读笔记》;
  • 关于论文作者知乎解读,请参考《大白话 Generalized Focal Loss》;

DFLoss代码实现:

  • Paddle实现:[ppdet/DistributionFocalLoss]
  • Torch实现:[mmdet/DistributionFocalLoss]

我看了一下PaddleDetection的实现跟MMDetection的实现几乎是一样的;

PicoDet的学习笔记相关推荐

  1. 《南溪的目标检测学习笔记》——夏侯南溪的CNN调参笔记,加油

    1 致谢 感谢赵老师的教导! 感谢张老师的指导! 2 调参目标 在COCO数据集上获得mAP>=10.0的模型,现在PaddleDetection上的Anchor-Free模型[TTFNet]的 ...

  2. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  3. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  4. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  5. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  6. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  7. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  8. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  9. Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)

    Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...

最新文章

  1. 美团十年,支撑最大规模外卖配送的一站式机器学习平台如何炼成?
  2. LeetCode Lowest Common Ancestor of a Binary Tree(LCA问题)
  3. 【IDEAEclipse】2、从Eclipse转移到IntelliJ IDEA一点心得
  4. docker对数据卷进行还原操作
  5. 手机web开发的感想
  6. iphone双卡_单卡 iPhone 变双卡,3分钟搞定安卓备用机短信——IFTTT妙用
  7. XShell技巧收集
  8. 【形状检测】基于matlab Hough变换形状检测【含Matlab源码 468期】
  9. python标准库math中用来计算平方根的函数_Python程序设计试题(卷)库
  10. [转]用python来开发webgame服务端(4)
  11. Linux的DNS域名解析服务
  12. Mac 上如何使用burpsuite(以谷歌浏览器为例)
  13. 【Python量化】蒙特卡洛模拟法进行期权定价
  14. 游吟诗人之中二病犯了
  15. 微软员工和 GitHub 员工宣布支持 996.ICU 运动,来签个名呗?
  16. 华为公司“奇葩”面试题流出:高薪背后的3个认知层次,你在哪一层?
  17. 最新Android 黄油刀(Butterknife)的简单使用
  18. 【转】Android屏幕适配全攻略(最权威的官方适配指导)
  19. 两个常用的功能,将shp数据属性转成TXT和Excel
  20. Centos7 定时关机

热门文章

  1. 博弈论重要算法:Sprague-Grundy 定理 (SRM 561 Div1 550)
  2. 指针学习4--合成析构函数做了什么
  3. 全局变量求平均分最高分最低分_打分函数trimmean,去掉最高最低分求平均分,用它就对了...
  4. easyui下datagrid列单独赋值
  5. starting Tomcat v8.5 at localhost has encountered a problem
  6. [LeetCode] 118. Pascal's Triangle Java
  7. hadoop错误:Does not contain a valid host:port authority
  8. LeetCode 208. Implement Trie (Prefix Tree)
  9. 5-32 说反话-加强版
  10. Safe Or Unsafe(hdu2527)哈弗曼VS优先队列