Detectron2安装测试

2023-10-20 11:50
文章标签 安装 测试 detectron2

本文主要是介绍Detectron2安装测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Detectron2安装测试

Detectron2是FAIR开源的基于Pytorch1.3.1的目标检测算法实现.

Detectron2-github

1.Detectron2安装

1.1 安装配置基本环境

可参考项目中的Installtion

  • conda create -n detectron2 python=3.7
  • conda activate detectron2
  • PyTorch 1.3
  • torchvision版本需要和pytorch的版本相适应,可参考 pytorch.org 安装。conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
  • OpenCV, Demo和显示时需要使用, pip install opencv-python
  • fvcore: pip install 'git+https://github.com/facebookresearch/fvcore'
  • pycocotools: pip install cython; pip install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
  • GCC >= 4.9

注意:conda安装添加清华源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes

1.2 检测coda是否正确安装

运行如下代码,检查cuda安装是否正确

python -c 'import torch; from torch.utils.cpp_extension import CUDA_HOME; print(torch.cuda.is_available(), CUDA_HOME)'

输出:true /usr/local/cuda,我用的是 cuda10.1

如不是上述输出结果,查看.bashrc环境变量设置是否正确,如下设置:

# vim ~/.bashrc
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/lib
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

source .bashrc 使设置的环境变量生效

1.3 detectron2 安装:

git clone https://github.com/facebookresearch/detectron2.git
cd detectron2
python setup.py build develop

2.Detectron2测试

2.1 目标检测

模型提前下载好,存在目录下

python demo/demo.py  \--config-file /home/**/project/detectron2/configs/COCO-Detection/faster_rcnn_R_50_FPN_3x.yaml \--input ceshi/test.jpg --output outputs/ \--opts MODEL.WEIGHTS '/home/**/project/detectron2/pre_train_model/COCO-Detection/faster_rcnn_R_50_FPN_1x/137257794/model_final_b275ba.pkl'

在这里插入图片描述在CPU环境下配置好环境也可以进行测试,可参考Detectron2在CPU上执行出现“ Torch not compiled with CUDA enabled”的错误

2.2 实例分割

eg1:

python demo/demo.py  \--config-file /home/**/project/detectron2/configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml \--input ceshi/test.jpg --output outputs/ \--opts MODEL.WEIGHTS '/home/**/project/detectron2/pre_train_model/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl'

在这里插入图片描述

eg2:

import numpy as np
import cv2 as cv
from PIL import Image
#from matplotlib import pyplot
import matplotlib.pyplot as plt
import random
#from google.colab.patches import cv2_imshowimport detectron2
from detectron2.utils.logger import setup_logger
setup_logger()from detectron2.engine import DefaultPredictor
from detectron2.config import get_cfg
from detectron2.utils.visualizer import Visualizer
from detectron2.data import MetadataCatalog
#下载图片
#wget http://images.cocodataset.org/val2017/000000439715.jpg -O input.jpg
im = cv.imread("/home/**/project/detectron2/ceshi/input.jpg")cfg = get_cfg()
cfg.merge_from_file("/home/**/project/detectron2/configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml")
cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5  #模型阈值
#cfg.MODEL.WEIGHTS = "./COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl"
cfg.MODEL.WEIGHTS = "/home/**/project/detectron2/pre_train_model/model_final_f10217.pkl"
predictor = DefaultPredictor(cfg)
outputs = predictor(im)pred_classes = outputs["instances"].pred_classes
pred_boxes = outputs["instances"].pred_boxes#在原图上画出检测结果
v = Visualizer(im[:, :, ::-1], MetadataCatalog.get(cfg.DATASETS.TRAIN[0]), scale=1.2)
v = v.draw_instance_predictions(outputs["instances"].to("cpu"))
plt.figure(2)
plt.imshow(v.get_image())
plt.show()

在这里插入图片描述
2.3 关键点检测

eg1:

python demo/demo.py  \--config-file /home/**/project/detectron2/configs/COCO-Keypoints/keypoint_rcnn_R_50_FPN_3x.yaml \--input ceshi/test.jpg ceshi/test1.jpg ceshi/test2.jpg --output outputs/ \--opts MODEL.WEIGHTS '/home/**/project/detectron2/pre_train_model/COCO-Keypoints/keypoint_rcnn_R_50_FPN_3x/137849621/model_final_a6e10b.pkl'

在这里插入图片描述

eg2:

import numpy as np
import cv2 as cv
from PIL import Image
#from matplotlib import pyplot
import matplotlib.pyplot as plt
import random
#from google.colab.patches import cv2_imshowimport detectron2
from detectron2.utils.logger import setup_logger
setup_logger()from detectron2.engine import DefaultPredictor
from detectron2.config import get_cfg
from detectron2.utils.visualizer import Visualizer
from detectron2.data import MetadataCatalogim = cv.imread("/home/**/project/detectron2/ceshi/input.jpg")cfg = get_cfg()
cfg.merge_from_file("/home/**/project/detectron2/configs/COCO-Keypoints/keypoint_rcnn_R_50_FPN_3x.yaml")
cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5  #模型阈值
#cfg.MODEL.WEIGHTS = "./COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl"
cfg.MODEL.WEIGHTS = "/home/**/project/detectron2/pre_train_model/COCO-Keypoints/keypoint_rcnn_R_50_FPN_3x/137849621/model_final_a6e10b.pkl"
predictor = DefaultPredictor(cfg)
outputs = predictor(im)pred_classes = outputs["instances"].pred_classes
pred_boxes = outputs["instances"].pred_boxes#在原图上画出检测结果
v = Visualizer(im[:, :, ::-1], MetadataCatalog.get(cfg.DATASETS.TRAIN[0]), scale=1.2)
v = v.draw_instance_predictions(outputs["instances"].to("cpu"))
plt.figure(2)
#plt.imshow(v.get_image()[:, :, ::-1])
plt.imshow(v.get_image())
plt.show()

在这里插入图片描述

2.4 全景分割

eg1:

python demo/demo.py  \--config-file /home/**/project/detectron2/configs/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x.yaml \--input ceshi/test.jpg ceshi/test1.jpg ceshi/test2.jpg --output outputs/ \--opts MODEL.WEIGHTS '/home/**/project/detectron2/pre_train_model/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x/139514519/model_final_cafdb1.pkl'

在这里插入图片描述

eg2:

import numpy as np
import cv2 as cv
from PIL import Image
#from matplotlib import pyplot
import matplotlib.pyplot as plt
import random
#from google.colab.patches import cv2_imshowimport detectron2
from detectron2.utils.logger import setup_logger
setup_logger()from detectron2.engine import DefaultPredictor
from detectron2.config import get_cfg
from detectron2.utils.visualizer import Visualizer
from detectron2.data import MetadataCatalogim = cv.imread("/home/**/project/detectron2/ceshi/input.jpg")cfg = get_cfg()
cfg.merge_from_file("/home/**/project/detectron2/configs/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x.yaml")
cfg.MODEL.WEIGHTS = "/home/**/project/detectron2/pre_train_model/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x/139514519/model_final_cafdb1.pkl"
predictor = DefaultPredictor(cfg)
panoptic_seg, segments_info = predictor(im)["panoptic_seg"]
v = Visualizer(im[:, :, ::-1], MetadataCatalog.get(cfg.DATASETS.TRAIN[0]), scale=1.2)
v = v.draw_panoptic_seg_predictions(panoptic_seg.to("cpu"), segments_info)
plt.imshow(v.get_image())
plt.show()

在这里插入图片描述

3.感谢

  1. https://github.com/facebookresearch/detectron2/blob/master/INSTALL.md

  2. https://www.aiuai.cn/aifarm1288.html#1.detectron2%E5%AE%89%E8%A3%85

如有错误,请指教。

这篇关于Detectron2安装测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/246922

相关文章

jdk1.8的Jenkins安装配置实践

《jdk1.8的Jenkins安装配置实践》Jenkins是一款流行的开源持续集成工具,支持自动构建、测试和部署,通过Jenkins,开发团队可以实现代码提交后自动进行构建、测试,并将构建结果分发到测... 目录Jenkins介绍Jenkins环境搭建Jenkins安装配置Jenkins插件安装Git安装配

python版本切换工具pyenv的安装及用法

《python版本切换工具pyenv的安装及用法》Pyenv是管理Python版本的最佳工具之一,特别适合开发者和需要切换多个Python版本的用户,:本文主要介绍python版本切换工具pyen... 目录Pyenv 是什么?安装 Pyenv(MACOS)使用 Homebrew:配置 shell(zsh

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

windows下安装Nginx全过程

《windows下安装Nginx全过程》文章介绍了HTTP和反向代理服务器的概念,包括正向代理和反向代理的区别,并详细描述了如何安装和配置Nginx作为反向代理服务器... 目录概念代理正向代理反向代理安装基本属性nginx.conf查询结构属性使用运行重启停止总结概念是一个高性能的HTTP和反向代理we

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

CPython与PyPy解释器架构的性能测试结果对比

《CPython与PyPy解释器架构的性能测试结果对比》Python解释器的选择对应用程序性能有着决定性影响,CPython以其稳定性和丰富的生态系统著称;而PyPy作为基于JIT(即时编译)技术的替... 目录引言python解释器架构概述CPython架构解析PyPy架构解析架构对比可视化性能基准测试测

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

win10安装及配置Gradle全过程

《win10安装及配置Gradle全过程》本文详细介绍了Gradle的下载、安装、环境变量配置以及如何修改本地仓库位置,通过这些步骤,用户可以成功安装并配置Gradle,以便进行项目构建... 目录一、Gradle下载1.1、Gradle下载地址1.2、Gradle下载步骤二、Gradle安装步骤2.1、安

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都