在 PyTorch 中使用 Detectron2 进行对象检测的指南

目标检测是深度学习的流行应用之一。让我们首先考虑一个现实生活中的例子。大多数人会在手机中使用 Google 相册,它会根据“事物”选项下的照片自动将照片分组。我在下面附上一个片段。

b4c0e7f0c7c371d9f627d0ab34c8da00.png

你可以观察到该应用程序能够从图片中识别对象并使用它们将它们分类为更广泛的类别。这是一个涉及对象检测的示例。

在本文中,我将使用名为 Detectron2 的最新稳健模型执行对象检测,使用 PyTorch 作为代码。

介绍 Detectron2

Facebook AI Research (FAIR) 提出了这个高级库,它在对象检测和分割问题上取得了惊人的结果。Detectron2 基于 maskrcnn 基准。它的实现是在 PyTorch 中。由于涉及大量计算,它需要 CUDA。

它支持边界框检测、实例分割、关键点检测、密集姿态检测等多项任务。它提供了预先训练的模型,你可以轻松地将其加载并用于新图像。

我将在下一节中介绍一个示例。

安装

第一步是安装detectron2库和需要的依赖

import torch
torch.__version__
import torchvision
#torchvision.__version__
!pip install detectron2 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu102/torch1.7/index.html

现在,你必须导入detectron2 及其模块。

import detectron2
from detectron2.utils.logger import setup_logger
setup_logger()
%matplotlib inline
from detectron2 import model_zoo
from detectron2.engine import DefaultPredictor
from detectron2.config import get_cfg
from detectron2.utils.visualizer import Visualizer
from detectron2.data import MetadataCatalog, DatasetCatalog
from detectron2.structures import BoxMode

让我们也导入我们需要的公共库。

import numpy as np
import os, json, cv2, random
import matplotlib.pyplot as plt

使用预训练模型进行推理:代码

Detectron2 的许多预训练模型可以在MODEL_ZOO(https://github.com/facebookresearch/detectron2/blob/master/MODEL_ZOO.md)访问。这些模型已经在不同的数据集上进行了训练,可以随时使用。

即使人们在训练他们的自定义数据集时,他们也会使用这些预训练的权重来初始化他们的模型。事实证明,它可以减少训练时间并提高性能。我们将使用的模型是在 COCO 数据集上预训练的。

首先,我们必须定义对象检测模型的完整配置。我们从detectron2.config 模块中导入了'get_cfg' 函数,我们现在将使用它。

我选择了 Coco 实例分段配置&

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值