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

相关文章

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也