对比实验系列:Faster R-CNN配置及训练自己数据集

一、源码下载

GitHub - bubbliiiing/faster-rcnn-pytorch: 这是一个faster-rcnn的pytorch实现的库,可以利用voc数据集格式的数据进行训练。这是一个faster-rcnn的pytorch实现的库,可以利用voc数据集格式的数据进行训练。. Contribute to bubbliiiing/faster-rcnn-pytorch development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/bubbliiiing/faster-rcnn-pytorch

二、环境配置

1、基础环境

python=3.8,pytorch=1.9.1+cu111,torchvision=1.10.1+cu111

conda create -n rcnn python=3.8 -y
conda activate rcnn
pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html

2、其他依赖包安装

pip install -r requirements.txt

3、预训练权重下载

将预训练权重下载至代码的根目录

三、制作自己的数据集

数据集依然采用的是VOC格式的数据集

1、数据集存放

将数据集所有的xml标签放在VOCdevkit\VOC2007\Annotations里,所有的图片文件(强烈建议图片格式为jpg)放在VOCdevkit\VOC2007\JPEGImages里。

2、数据集划分

根据自己的需要修改训练集和验证集的比例,运行voc_annotation.py,会在根目录生成2007_train.txt和2007_val.txt,以及会在VOCdevkit\VOC2007\ImageSets\Main文件夹下生成三个txt文件,分别为train.txt,val.txt,trainval.txt和test.txt

3、建立标签文件

在model_data文件夹内建立mydata.txt,里面存放你所有的标签名称(按顺序)

四、修改参数进行训练

在train.py文件内修改参数

1、显卡

默认0卡,多卡训练请修改,双卡为[0, 1]、三卡为[0, 1, 2]

 2、标签路径

修改为三.3中的标签文件路径

 

 3、预训练权重路径

4、 调整batch和线程数

5、训练集、测试集图片索引文件

6、开始训练

python train.py

  • 30
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
训练自己的数据集,你可以按照以下步骤进行操作: 1. 准备数据集:将自己的数据集按照特定的文件夹结构存放在VOCDevkit文件夹中。其中Annotations文件夹存放标签的XML文件,JPEGImages文件夹存放数据集的所有图片,ImageSets/Main文件夹下保存的是test.txt、train.txt、trainval.txt、val.txt,分别是测试集、训练集、训练验证集、验证集的标签文件名。\[4\] 2. 数据集划分:考虑到源码中没有数据集划分程序,你可以使用以下代码进行数据集划分。将代码中的文件路径替换成自己的路径后运行,即可生成所需的txt文件。\[5\] ```python import os import random trainval_percent = 0.0 train_percent = 0.0 xmlfilepath = 'data/Annotations' txtsavepath = 'data/ImageSets' total_xml = os.listdir(xmlfilepath) num = len(total_xml) list = range(num) tv = int(num * trainval_percent) tr = int(tv * train_percent) trainval = random.sample(list, tv) train = random.sample(trainval, tr) ftrainval = open('data/ImageSets/trainval.txt', 'w') ftest = open('data/ImageSets/test.txt', 'w') ftrain = open('data/ImageSets/train.txt', 'w') fval = open('data/ImageSets/val.txt', 'w') ``` 3. 加载预训练权重:根据你训练加载的vgg16预训练权重是caffe框架的还是pytorch的,选择相应的代码进行预测。如果是pytorch的预训练权重,可以使用以下代码加载权重。\[2\] ```python trainer.load('训练好的权重路径') opt.caffe_pretrain = False _bboxes, _labels, _scores = trainer.faster_rcnn.predict(img, visualize=True) vis_bbox(at.tonumpy(img\[0\]), at.tonumpy(_bboxes\[0\]), at.tonumpy(_labels\[0\]).reshape(-1), at.tonumpy(_scores\[0\]).reshape(-1)) ``` 4. 训练模型:根据你的数据集和需求,使用相应的训练代码进行模型训练。可以参考提供的GitHub链接\[1\]中的源码进行训练。 请注意,以上步骤仅提供了一般的指导,具体的操作还需要根据你的数据集和需求进行调整。 #### 引用[.reference_title] - *1* *2* *4* *5* [【目标检测】用Faster R-CNN训练自己的数据集](https://blog.csdn.net/qq_41464279/article/details/124042614)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [目标检测之FasterRcnn算法——训练自己的数据集(pytorch)](https://blog.csdn.net/weixin_42917352/article/details/121388638)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值