mmdetection环境搭建以及使用自己的数据集测试

一、环境
ubuntu 18.04
cuda 10.1
pytorch 1.6

二、安装mmcv
安装mmcv-full。mmdetection依赖于mmcv,并且要安装pytorch对应的版本,就像torchvision一样,各版本下载链接在https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html

注意:一定要选择适合自己的版本否则会报错:Not compiled with GPU support
亲身尝试过。。。。

三、安装mmdetection
本人安装的是目前最新的版本ersion= 2.7
我在这里就不赘述安装虚拟环境以及torch和torchvision的步骤了。
1、克隆mmdetection到本地

git clone https://github.com/open-mmlab/mmdetection.git

如果git clone下载的速度太慢,可以使用github的镜像进行下载,如下:

或 :git clone https://github.com.cnpmjs.org/open-mmlab/mmdetection.git

2、进入到项目目录中

cd mmdetection

3、 安装mmdetection依赖

安装依赖的库,同时会检查一些库包的版本是否符合

pip install -r requirements/build.txt

4、编译mmdetection环境

python setup.py develop或pip install -v -e .

四、训练自己的数据
1、使用数据集为:https://github.com/EdjeElectronics/TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10/tree/master/images
文件目录如下:

├── poker
│   ├── VOC2007
│   │   ├── Annotations
│   │   ├── JPEGImages
│   │   ├── ImageSets
│   │   │   ├── Main
│   │   │   │   ├── val.txt
│   │   │   │   ├── train.txt

2、修改文件代码
1):
使用cascade_rcnn_r50_fpn_1x进行训练
在config文件中的cascade_rcnn文件中找到该文件并复制出来一份,改名为cascade_rcnn_r50_fpn_1x_poker.py
进入该文件,文件代码修改为:

_base_ = [
    '../configs/_base_/models/cascade_rcnn_r50_fpn.py',
    '../configs/_base_/datasets/voc0712.py',
    '../configs/_base_/schedules/schedule_1x.py', '../configs/_base_/default_runtime.py'
]

2、进入到_base_文件中
对上面的几个文件进行修改,以此为:
1)cascade_rcnn_r50_fpn.py
在这里插入图片描述
将num_classes 改为你实际识别的类别数目,记住这里不需要加1,即加上背景这一类别,在先前的版本中是需要进行添加的。

2):schedule_1x.py
在这里插入图片描述
在最后一行修改你epochs

3):default_runtime.py在这里插入图片描述

4):修改类别
a:在这里插入图片描述
在上述目录中修改class_names.py
在这里插入图片描述
b:
在这里插入图片描述

在上述目录修改voc.py
在这里插入图片描述

五、运行测试代码

python tools/train.py configs/cascade_rcnn_r50_fpn_1x_poker.py

六、运行结果在work_dirs文件中
具体为:
在这里插入图片描述

MMDetection是一个基于PyTorch的开源目标检测库,它允许用户使用预训练模型并轻松地定制和训练自己的目标检测模型。如果你想要使用VOC(Visual Object Classes)数据集进行训练,这是一个广泛使用的计算机视觉数据集,包含了多个类别的物体实例。 以下是使用MMDetection训练自定义VOC数据集的基本步骤: 1. **数据准备**:首先,你需要下载VOC数据集,通常包含JPEG图像和XML标注文件。VOC的数据集分为trainval、train和test三个部分。将它们按照MMDetection的要求进行组织,例如创建一个`images`和`annotations`目录结构。 2. **数据转换**:使用MMDetection提供的工具如`mmdet.datasets.coco.CocoDataset`的子类(对于VOC应该是`mmdet.datasets.voc.VOCDataset`)的`load_annotations`方法来加载并处理XML标注信息。这一步会生成用于训练的`.json`配置文件。 3. **构建数据集**:利用`mmdet.datasets.builder.build_dataset`函数构建训练数据集实例,并指定你刚才处理好的VOC数据路径。 4. **模型选择**:从MMDetection的预训练模型库中选择一个适合的目标检测模型,比如` FasterRCNN`, `YOLOv3`等。 5. **配置训练**:编写训练配置文件`config.py`,设置网络结构、优化器、学习率策略等参数,以及数据集相关的配置。 6. **开始训练**:通过`mmdet.apis.train_detector`函数运行训练过程。提供配置文件和数据集,以及可能需要的GPU ID。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值