一、环境配置,激活conda的pytorch环境,在Anaconda Prompt中运行:
conda activate mmlab # 预安装好pytorch的conda环境
pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0"
pip install mmdet
二、环境测试
2.0 查看当前路径,在当前路径下创建python文件mmdet-test.py。例如:当前路径为 C:\Desktop\Codes,创建C:\Desktop\Codes\mmdet-test.py文件。
# windows系统下查看当前路径命令
cd
# linux系统下查看当前路径命令 pwd
查询当前所有现有的模型名称,在mmdet-test.py文件中运行:
from mmdet.apis import DetInferencer
# models 是一个模型名称列表,自动打印模型名称
models = DetInferencer.list_models('mmdet')
2.1 在路径C:\Desktop\Codes下,任选一个model_name,下载权重文件。
# 下载现有的模型和模型pth文件到指定目录
# --config 配置文件 "rtmdet_tiny_8xb32-300e_coco"表示模型名称
# --dest 路径,"./models"表示下载到当前目录的models文件下
mim download mmdet --config rtmdet_tiny_8xb32-300e_coco --dest ./models
2.2 加载文件,创建模型实例。
from mmdet.apis import init_detector, inference_detector
# 刚刚下载的模型文件和模型的pth文件
config_file = 'models/rtmdet_tiny_8xb32-300e_coco.py'
checkpoint_file = 'models/rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth'
imgpath = 'demo/demo.jpg'
imgoutpath = 'demo/demoout.jpg'
# init_detector加载配置文件和权重,初始化模型,创建一个model实例
# or device='cpu'
model = init_detector(config_file, checkpoint_file, device='cuda:0')
2.3 加载可视化模块
from mmdet.registry import VISUALIZERS
import mmcv
import os
visualizer = VISUALIZERS.build(model.cfg.visualizer)
visualizer.dataset_meta = model.dataset_meta
2.4 运行
img = mmcv.imread(imgpath)
result = inference_detector(model, imgpath)
visualizer.add_datasample('result',img,data_sample=result,draw_gt=False,out_file=imgoutpath,pred_score_thr=0.3)
文件结构如下:
C:\Desktop\Codes
|
|__mmdet-test.py
|
|__demo
| |
| |__demo.jpg
| |
| |__demoout.jpg
|
|__models
|
|__rtmdet_tiny_8xb32-300e_coco.py
|
|__rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth