深度学习中最简单但最有趣的想法之一是对象检测。 基本思想是将每个项目分成代表可比较特征的连续类,然后在其周围画一个框。
这些区别特征可以像形式或颜色一样简单,这有助于我们对它们进行分类。
的应用 物体检测 由于计算机视觉和图像处理方面的重大改进,它被广泛应用于医学科学、自动驾驶、国防和军事、公共管理和许多其他领域。
在这里,我们有 MMDetection,这是一个基于 Pytorch 构建的出色的开源对象检测工具集。 在本文中,我们将详细研究 MMDetection,亲身体验它,讨论它的特性等等。
什么是 MM检测?
MM检测 toolbox 是作为 Python 代码库创建的,专门用于解决涉及对象识别和实例分割的问题。
使用 PyTorch 实现,并以模块化方式创建。 对于对象识别和实例分割,广泛的有效模型已被编译成各种方法。
它允许有效的推理和快速的训练。 另一方面,该工具箱包含超过 200 个预训练网络的权重,使其成为对象识别领域的快速修复。
MMDetection 具有适应当前技术或使用可用模块创建新检测器的能力,可作为基准。
该工具箱的主要特点是它包含了普通工具箱中简单的模块化部件 目标检测 可用于创建独特管道或独特模型的框架。
该工具包的基准测试功能使得在现有框架之上构建新的检测器框架并比较其性能变得简单。
特征
- 该工具包直接支持流行和现代的检测框架,例如 Faster RCNN、Mask RCNN、RetinaNet 等。
- 使用 360 多个预训练模型进行微调(或重新训练)。
- 适用于著名的视觉数据集,包括 COCO、Cityscapes、LVIS 和 PASCAL VOC。
- 在 GPU 上,执行所有基本的 bbox 和掩码操作。 其他代码库,例如 Detectron2、maskrcnn-benchmark 和 SimpleDet,可以以比这个更快的速度进行训练。
- 研究人员分解了 目标检测 框架分为几个模块,然后可以组合起来创建一个独特的对象检测系统。
MMDetection 架构
MMDetection 指定了一个可以应用于任何模型的通用设计,因为它是一个包含各种预构建模型的工具箱,每个模型都有自己的架构。 以下组件构成了这个整体架构:
- 骨干:Backbone,例如没有最终全连接层的 ResNet-50,是将图像转换为特征图的组件。
- 琴颈:颈部是连接脊椎和头部的部分。 在主干的原始特征图上,它会进行某些调整或重新配置。 特征金字塔网络就是一个例子(FPN)。
- 密头 (AnchorHead/AnchorFreeHead):是对特征图密集区域进行操作的组件,如AnchorHead和AnchorFreeHead,如RPNHead、RetinaHead、FCOSHead。
- RoI提取器:使用类似 RoIPooling 的运算符,它是从单个或一组特征映射中提取 RoIwise 特征的部分。 SingleRoIExtractor 示例从特征金字塔的匹配级别中提取 RoI 特征。
- 滚头 (BBoxHead/MaskHead):它是系统的一部分,它使用 RoI 特征作为输入并生成基于 RoI 的任务特定预测,例如边界框分类/回归和掩码预测。
使用上述概念说明了单级和两级检测器的构造。 我们可以简单地通过构建一些新的部分并结合一些现有的部分来开发我们自己的程序。
MMDetection 中包含的模型列表
MMDetection 为多个知名模型和面向任务的模块提供一流的代码库。 下面列出了以前制作的模型和可与 MMDetection 工具箱一起使用的适应性方法。 随着更多模型和方法的添加,该列表不断增长。
- 快速 R-CNN
- 更快的R-CNN
- 面具R-CNN
- 视网膜网
- DCN
- DCNv2
- 级联 R-CNN
- M2检测
- GHM
- 划痕检测
- 双头 R-CNN
- 网格 R-CNN
- FSAF
- 天秤座 R-CNN
- GC网络
- 人力资源网
- 面膜评分R-CNN
- 飞行控制系统
- SSD
- R-FCN
- 混合精度训练
- 体重标准化
- 混合任务级联
- 引导锚定
- 广义注意力
使用 MMDetection 构建对象检测模型
在本教程中,我们将成为 Google 协作笔记本,因为它易于设置和使用。
装置
要安装我们需要的一切,我们将首先安装必要的库并克隆 MMdetection GitHub 项目。
导入环境
我们项目的环境现在将从存储库中导入。
导入库和 MMdetection
我们现在将导入所需的库,当然还有 MMdetection。
下载预训练的检查点
现在应该下载来自 MMdetection 的预训练模型检查点,以进行进一步的调整和推理。
建筑模型
我们现在将构建模型并将检查点应用于数据集。
推断检测器
现在模型已经正确构建和加载,让我们来看看它有多出色。 我们利用 MMDetection 的高级 API 推理检测器。 此 API 旨在简化推理过程。
结果
让我们来看看结果。
结论
总之,MMDetection 工具箱的性能优于最近发布的代码库,如 SimpleDet、Detectron 和 Maskrcnn-benchmark。 拥有庞大的模型收藏,
MMDetection 现在是最先进的技术。 MMDetection 在效率和性能方面优于所有其他代码库。
MMdetection 最好的一点是,您现在只需指向不同的配置文件,下载不同的检查点,并在您希望更改模型时运行相同的代码。
我建议看看他们的 说明 如果您在任何阶段遇到问题或希望以不同的方式执行其中一些阶段。
发表评论