一、环境配置
1.1 相关地址
代码地址:https://github.com/open-mmlab/mmdetection
文档地址:https://mmdetection.readthedocs.io/zh_CN/latest/get_started.html
1.2 在linux上安装环境
condacreate-nopen-mmlabpython=3.7-ycondaactivateopen-mmlab
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch -y
安装最新版本的 mmcv
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html
安装 MMDetection
git clone https://github.com/open-mmlab/mmdetection.git cd mmdetection pip install -r requirements/build.txt pip install -v -e .
##1.3测试是否安装成功-####checkpoints文件下载下载FasterRCNN的checkpoint文件,将其置于checkpoints文件夹下http://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_1x_coco/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth-####运行推理代码,查看是否成功```pythonfrommmdet.apisimportinit_detector,inference_detectorimportmmcv#指定模型的配置文件和checkpoint文件路径config_file='configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py'checkpoint_file='checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth'#根据配置文件和checkpoint文件构建模型model=init_detector(config_file,checkpoint_file,device='cuda:0')#测试单张图片并展示结果img='test.jpg'#或者img=mmcv.imread(img),这样图片仅会被读一次result=inference_detector(model,img)#在一个新的窗口中将结果可视化model.show_result(img,result)#或者将可视化结果保存为图片model.show_result(img,result,out_file='result.jpg')
二、训练标准数据集
2.1 VOC数据集下载与准备
数据集存放位置
mmdetection├──mmdet├──tools├──configs├──data│├──VOCdevkit││├──VOC2007││├──VOC2012
数据集下载
#VOC2012wgethttp://pjreddie.com/media/files/VOCtrainval_11-May-2012.tartar-xvfVOCtrainval_11-May-2012.tar&&rmVOCtrainval_11-May-2012.tarwgethttp://pjreddie.com/media/files/VOC2012test.tartar-xvfVOC2012test.tarrmVOC2012test.tarmvVOCdevkit/VOC2012/./#VOC2007wgethttp://pjreddie.com/media/files/VOCtrainval_06-Nov-2007.tartar-xvfVOCtrainval_06-Nov-2007.tarrmVOCtrainval_06-Nov-2007.tarwgethttp://pjreddie.com/media/files/VOCtest_06-Nov-2007.tartar-xvfVOCtest_06-Nov-2007.tar&&rmVOCtest_06-Nov-2007.tarmvVOCdevkit/VOC2007/./rm-rfVOCdevkit
2.2 数据集训练
pythontools/train.pyconfigs/pascal_voc/faster_rcnn_r50_fpn_1x_voc0712.py
三、训练自己的数据集
3.1 数据集准备
mmdetection├──mmdet├──tools├──configs├──data│├──VOCdevkit││├──VOC2007||│├──Annotations||│├──ImageSets||│├──JPEGImages||│├──SegmentationClass||│├──SegementationObject││├──VOC2012
3.2 文件修改
类别配置文件修改
修改mmdetection/mmdet/datasets/voc.py以及mmdetection/mmdet/core/evaluation/class_names.py下的类别,将其改为要训练的数据集的类别名称。