detectron2 测试训练好的模型并画出结果图

import numpy as np
import cv2
import os
from PIL import Image
#from matplotlib import pyplot
import matplotlib.pyplot as plt
import random
#from google.colab.patches import cv2_imshow

import 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
from bmaskrcnn import add_boundary_preserving_config

im_folder= './datasets/glass/val/JPEGImages'
save_folder = './result_struc'

for im_file in os.listdir(im_folder):
	im = cv2.imread(os.path.join(im_folder, im_file))

	save_result_path = os.path.join(save_folder, im_file)

	height = im.shape[0]
	width = im.shape[1]
	dpi = 500

	cfg = get_cfg()
	add_boundary_preserving_config(cfg)
	cfg.merge_from_file('./configs/bmask_rcnn_R_101_FPN_3x.yaml')
	cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5  #模型阈值
	cfg.MODEL.WEIGHTS = 'output/bmask_rcnn_r101_3x-structural/model_final.pth'
	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)
	v = v.draw_instance_predictions(outputs["instances"].to("cpu"))

	plt.figure(figsize=(width/dpi, height/dpi), dpi=dpi)
	plt.axis('off')
	plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)
	plt.imshow(v.get_image())
	plt.savefig(save_result_path) #保存结果

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Detectron2中加载训练好的模型进行测试,可以按照以下步骤进行操作: 1. 安装Detectron2并构建环境。在安装完成后,您需要从Detectron2的GitHub仓库中下载训练好的模型。 2. 创建一个测试脚本。在测试脚本中,您需要加载训练好的模型,并将其应用于您想要测试像。您也可以在测试脚本中设置一些参数,例如阈值和像大小。 3. 运行测试脚本。在运行测试脚本之前,您需要确保已经安装了所有必要的依赖项,并且已经正确配置了环境变量。 4. 查看测试结果。测试脚本将会输出一些结果,例如检测到的对象和它们的置信度。您可以根据需要对结果进行进一步处理和分析。 下面是一个简单的示例代码,用于加载训练好的模型并在像上进行目标检测: ```python import torch import torchvision import detectron2 from detectron2.utils.logger import setup_logger from detectron2.config import get_cfg from detectron2.engine import DefaultPredictor from detectron2.data import MetadataCatalog from detectron2.utils.visualizer import Visualizer from detectron2.data.datasets import register_coco_instances from detectron2.data import DatasetCatalog, MetadataCatalog import cv2 # 加载训练好的模型 cfg = get_cfg() cfg.merge_from_file("path/to/config.yaml") cfg.MODEL.WEIGHTS = "path/to/model.pth" # 创建默认预测器 predictor = DefaultPredictor(cfg) # 加载像 im = cv2.imread("path/to/image.jpg") # 进行预测 outputs = predictor(im) # 可视化结果 v = Visualizer(im[:, :, ::-1], MetadataCatalog.get(cfg.DATASETS.TRAIN[0]), scale=1.2) v = v.draw_instance_predictions(outputs["instances"].to("cpu")) cv2.imshow("test", v.get_image()[:, :, ::-1]) cv2.waitKey(0) ``` 在这个示例中,我们首先加载了训练好的模型像。然后,我们使用默认预测器对像进行预测,并将结果可视化。最后,我们显示了可视化结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值