标签:完美 line fas 信息 main too 工具 组合 基础架构
前言:让我惊艳的几个库:
- ultralytics的yolov3,在一众yolov3的pytorch版本实现算法中脱颖而出,收到开发人员的欢迎,比别的库明显好的点在于,与darknet相似度达到极高的水平,支持自定义cfg文件的加载,简直完美。
- michuanhaohao的reid-strong-baseline, 这个库很严谨的将代码划分为几个部分,每个部分只做一小部分的工作,其中使用到了ignite, pytorch的一个高阶抽象库,感觉在遇到问题的时候比较难去debug。
- open-mmlab的mmdetection, 这个库不仅开源,还有一个技术报告,感觉写的实在太好了。现在一搜索mmdetection全都是配置,运行相关的,这用你讲解么,人家readme上写的很详细,感觉关键还是在于他设计以及整合所有目标检测,分割的框架,这个才是关键。
这篇博客记录一下读mmdetection技术报告的关键内容以及翻译。
mmdetection是一个目标检测工具箱,包含了很多单阶段,多阶段检测和目标分割的算法。该开源库内容上包括训练,测试,模型权重下载等。mmdetection包含了使用不同方法实现的基线,可以用来作为已有算法的复现。
mmdetection主要特征有:
mmdetection中还涉及了分享他们对训练目标检测器的一些体验和实践(感谢open-mmlab)
Single-stage Methods:
SSD, RetinaNet, GHM, FCOS, FSAF
没有YOLO官方解释是说YOLOv3源码不是主流的backbone,也没有基于主流的深度学习框架,pipline与其他方法不太相同。
Maybe some historical reasons. YOLO is firstly implemented with neither mainstream backbones or mainstream DL frameworks, and the pipeline is different from other methods, so it is not as popular as SSD or Faster R-CNN and their variants.
Multi-stage Methods:
以上的算法以及涉及到的文章原论文中都有链接,大部分的文章都有必要读一下,理解一下其中的精髓,即便不实现,也要看看。
这部分主要讲的是整个库设计的框架,进行模块化,抽象程度比较高。如果不知道这个框架,感觉直接读源码还是有点吃力的。
在mmdetection中,将所有的检测器进行抽象成以下几个类(class):
示意图如下:
单阶段检测器
主要看SSD, RetinaNet, YOLO等思想,端到端的解决方案。
以YOLOv3为例:(mmdetection没有实现yolo,具体实现可以看一下ultralytics的yolov3)
两阶段检测器
经典例子是Faster R-CNN, 这里附上一个cascade R-CNN论文中的图示。(最左侧就是Faster R-CNN)
R-CNN细节讲解博客:http://www.telesens.co/2018/03/11/object-detection-and-classification-using-r-cnns/
总结一下,每个部分大概做啥:
模块 | 功能/作用 |
---|---|
Backbone | 提取图片特征 |
Neck | 将提取得到的特征进行融合或者直接用提取的特征 |
DenseHead | 类似RPN,也类似yololayer, 从特征图中得到框的信息,类的信息 |
ROIExtractor | 结合DenseHead提出的框以及Neck得到的特征进行特征提取 |
RoIHead | 将从ROIExtractor中提取得到的内容进行任务的预测 |
## 4. 训练pipline
技术报告中提出了一个可供目标检测,图像分类,语义分割使用的训练pipline。为了让这个pipline更加灵活和简单,首先定义了一个最小的训练流程,然后提供了挂钩机制(hooking mechanism),可以将上图右侧的一些功能加载到基础训练流程中。挂载到几个时间点上:
before run
after val iter
这就是基础架构
还有一系列实验结果在论文中,在model zoo中也可以找到:https://github.com/open-mmlab/mmdetection/blob/master/docs/MODEL_ZOO.md
model zoo: https://github.com/open-mmlab/mmdetection/blob/master/docs/MODEL_ZOO.md
github库地址:https://github.com/open-mmlab/mmdetection
安装:https://github.com/open-mmlab/mmdetection/blob/master/docs/INSTALL.md
常用命令:https://github.com/open-mmlab/mmdetection/blob/master/docs/GETTING_STARTED.md
目标检测框架mmdetection入门:https://zhuanlan.zhihu.com/c_1159526395804725248
标签:完美 line fas 信息 main too 工具 组合 基础架构
原文地址:https://www.cnblogs.com/pprp/p/11830898.html