文章目录
1. 总体环境要求
- cuda 9.2 硬性要求,否则失败,torch1.2.0推荐cuda-10.0/10.1,cudnn-7.6.4
- torch 1.2.0, torchvision 0.4.0
- C ++ 2015及以上
- mmdetection 1.1.0
- mmcv 新的可以用(依旧推荐mmcv==2.0.16)
- SOLOV2 新的可以用
- opencv-python 新的可以用
2. 安装步骤
2.1 基础软件安装
2.1.1 安装vs2017
下载安装选择c++即可:
2.1.2 安装显卡驱动(windows系统如自带,则不必安装)
显卡驱动:nvidia显卡驱动
选择对应的版本和显卡型号:
下载驱动后,默认一直下一步即可:
2.1.3 安装cuda10
下载地址:cuda10
安装,选择自定义后,一直下一步。
安装完成后,检查环境变量中是否添加成功:
测试cuda是否能运行:
cmd中运行nvcc -V
能打印出信息则安装成功
2.1.4 安装cudnn7.6.4(以下以cudnn7.5为例)
下载cudnn需要登陆nvidia账号:
下载cudnn7.6.4:cudnn7.6.4
下载解压后,按照下面的表,把对应文件复制过去:
添加环境变量:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64
2.1.5 安装anaconda3
下载地址:anaconda
下载后,双击安装即可。
anaconda3安装注意事项参见:Mask-RCNN应用 - Win10上安装Mask-RCNN运行环境- 第二步:安装Anaconda
2.1.6 安装gitbash
用于下载github上的项目和安装pycocotools
下载地址:gitbash
2.2 基础代码库下载与编译
2.2.1 anaconda虚拟环境建立并安装pytorch
conda create -n solo python=3.7
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch
如果由于网络原因pytorch按照上述方法下载较慢,可通过离线安装包安装,安装包下载链接为:
链接:https://pan.baidu.com/s/19RXQdrQ9kgyV-P3mKBNAog
提取码:rb97
2.2.2 mmcv下载与调整
mmcv 新的可以用(依旧推荐mmcv==2.0.16)
git clone https://github.com/open-mmlab/mmcv
cd mmcv
pip install .
pip install Cython==0.29.14
2.2.3 mmdetection下载与调整
mmdetection 1.1.0
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -r requirements.txt
# 进行编译
python setup.py build_ext --inplace
# 完成安装
python setup.py install develop
安装成功后查看:pip list
2.2.4 SOLO下载与调整
SOLOV2 新的可以用
注意以下第二步: pycocotool/cocoapi的安装需要注意,参考Mask-RCNN应用 - Win10上安装Mask-RCNN运行环境-第六步:基于mask rcnn的其他需要安装部分-3.pycocotools 安装
git clone https://github.com/WXinlong/SOLO.git
cd SOLO
pip install -r requirements/build.txt
pip install "git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI"
pip install -v -e . # or "python setup.py develop"
3 测试
该代码在SOLO/demo文件夹中可以找到
代码中需要的checkpoints/DECOUPLED_SOLO_R50_3x.pth与config文件中的py文件相对应
checkpoints文件夹需要自己建立并下载对应模型,模型下载链接如文末
笔者在测试时发现当前代码运行有bug,需要修改源码,如需要该源码或学习指导,请用手机打开以下链接:https://m.tb.cn/h.fINaraE?tk=PCzA2jPp4V0,进行咨询
from mmdet.apis import init_detector, inference_detector, show_result_pyplot, show_result_ins
import mmcv
config_file = '../configs/solo/decoupled_solo_r50_fpn_8gpu_3x.py'
# download the checkpoint from model zoo and put it in `checkpoints/`
checkpoint_file = '../checkpoints/DECOUPLED_SOLO_R50_3x.pth'
# build the model from a config file and a checkpoint file
model = init_detector(config_file, checkpoint_file, device='cuda:0')
# test a single image
img = 'demo.jpg'
result = inference_detector(model, img)
show_result_ins(img, result, model.CLASSES, score_thr=0.25, out_file="demo_out.jpg")
如测试没有问题,则在demo文件夹下会生成如下图所示的“demo_out.jpg”
models:
Model | Multi-scale training | Testing time / im | AP (minival) | Link |
---|---|---|---|---|
SOLO_R50_1x | No | 77ms | 32.9 | download |
SOLO_R50_3x | Yes | 77ms | 35.8 | download |
SOLO_R101_3x | Yes | 86ms | 37.1 | download |
Decoupled_SOLO_R50_1x | No | 85ms | 33.9 | download |
Decoupled_SOLO_R50_3x | Yes | 85ms | 36.4 | download |
Decoupled_SOLO_R101_3x | Yes | 92ms | 37.9 | download |
SOLOv2_R50_1x | No | 54ms | 34.8 | download |
SOLOv2_R50_3x | Yes | 54ms | 37.5 | download |
SOLOv2_R101_3x | Yes | 66ms | 39.1 | download |
SOLOv2_R101_DCN_3x | Yes | 97ms | 41.4 | download |
SOLOv2_X101_DCN_3x | Yes | 169ms | 42.4 | download |
Light-weight models:
Model | Multi-scale training | Testing time / im | AP (minival) | Link |
---|---|---|---|---|
Decoupled_SOLO_Light_R50_3x | Yes | 29ms | 33.0 | download |
Decoupled_SOLO_Light_DCN_R50_3x | Yes | 36ms | 35.0 | download |
SOLOv2_Light_448_R18_3x | Yes | 19ms | 29.6 | download |
SOLOv2_Light_448_R34_3x | Yes | 20ms | 32.0 | download |
SOLOv2_Light_448_R50_3x | Yes | 24ms | 33.7 | download |
SOLOv2_Light_512_DCN_R50_3x | Yes | 34ms | 36.4 | download |