首页 > 编程知识 正文

voc数据集有多少类,yolov3数据集格式

时间:2023-05-03 07:58:43 阅读:18596 作者:2871

使用开放技术发布的Yolox培训自己的VOC数据集。 注释文件的格式与yolov3、yolov4和yolov5相同。

一、构建Yolox码环境1.Yolox码下载Yolox码链接: githu B- Meg VII-base detection/yolox : yoloxisahigh-performance anchhh exceedingyolov 3至V5 withmegengine,ONNX,TensorRT,ncnn,andopenvinosupported.documentation 33603359 yolox.readthedocs

1 .构建测试环境(1)构建新的康达环境

输入代码

Conda create-nyo lox _ 3.7 python=3.7

)2)进入康达环境

输入代码

conda activate Yolox_3.7

)3)代码依赖库的安装

进入下载的YOLOX-main文件夹下,输入代码。

pip 3安装- UPI ppip 3安装-请求. txt (4)安装库文件

从setup.py安装库文件,然后输入代码。

pip 3安装- v-e.# or python3setup.py develop (5) pycocotools下载

输入代码:

pip 3安装cy thon; pip3install ' git https://github.com/coco dataset/coco API.git # subdirectory=python API '1. demo效果测试(1)下载权重

调整好环境后,可以下载官方的预训练模型来测试图像。 预培训权重下载链接可在官方代码说明中找到。 首先下载Yolox_s.pth文件测试一下效果。

下载yolox_s.pth后,将其放在YOLOX-main/weigths代码的文件夹下。

)2) Demo测试

对代码附带的图像进行Demo测试。

在YOLOX-main文件夹的终端页面上输入:

python tools/demo.py image-nyo lox-s-cweigths/yolox _ s.PTH-- path assets/dog.jpg-- conf 0.25-- NMS 0.45 -

二、Yolox训练自己的VOC数据集1 .准备数据

注意事项:

标注工具:采用标签img标注软件

标记的图像:标记图像的jpg文件与生成的xml图像分开存储

标签类别:英语、特殊符号、空格除外

2 .数据集分割(1)数据准备

模仿VOC数据格式准备数据,VOC格式分布:

VOC中的这些文件夹主要使用以下内容:

JPEGImages:jpg文件

Annotations:xml文件

ImageSets/Main:培训集train.txt,验证集val.txt。

在YOLOX-main/datasets/下创建新的VOCdevkit/VOC2007文件夹

然后,在文件夹中创建新的ImageSets/Main文件夹,并将JPEGImages文件夹和Annotations文件夹放置在该文件夹中

)2)分为训练集和验证集

在培训过程中,脚本分为训练集验证集,将数据集分为培训集和验证集,并相应的train.txt和val.

终端进入yolox-main/datasets/VOC dev kit/VOC 2007

输入代码:

vim train _ val.pyimportosimportrandomrandom.seed (0) xmlfile path=r './annotations ' save basepath=r './imagesesect-----------------------------total _ XML=[ ] forxmlintemp _ XML : if XML.endswith ('.XML ' ) : total _ XML.append (XML ) num=len ) ) total train val _ percend train_percent ) trainval=random.sample(list,tv ) train=random.sample (t random.sample ) tv ) trandom652 tv ) tr ) ftrainval=open ) OS.path.join ) savebasepath,trainval.txt ),(w ) ) ftest='w ' ) ft rain=open (OS.path ' w ' ) fval=open ) OS.path.join (save basepath ) ) ) savebasepatt ) 65 'w ' ) fori inlist : name=total _ XML [ I 3 n ' ifiintrainval 3360 ftrainval.write (name ) ifiintrain 3360 ft rain.write (name ) else : fval.write (name ) else 33333333 ) ftest .close )在python train_val.py中运行代码后,在Main文件夹下生成以下四个txt文档:

3 .修改参数

(1)修改参数标签

修改yolox/data/datasets/VOC _ classes.py中的标记信息。

注:必须在类别之后添加逗号,例如在" head "之后添加逗号“,”。

)2)修改模型结构

为了这次使用的yolox_x.pth模型训练,将yolox-main/exps/default/yolox _ x.py文件的网络调用结构转换为yolox-main/exps/examps

并且,将文件名变更为yolox_voc_x.py

(3)修改类别数

修改yolox-main/exps/example/yolox _ VOC/yolox _ VOC _ s.py中的self.num_classes,并根据自己的类别数进行修改

)4)修改培训集和验证集信息

更改exps/example/yolox _ VOC/yolox _ VOC _ s.py中的VOCDection,将其更改为自己的数据集

修改exps/example/yolox _ VOC/yolox _ VOC _ s.py中的get_eval_loader函数。

三.训练1 .终端训练

将下载的YOLOX_x.pth .放入yolox文件夹,打开终端,然后输入终端。

python3tools/train.py-fexps/example/yolox _ VOC/yolox _ VOC _ x.py-d0-b64-cyol ox _ x.pt H2 .代码培训

执行:

python tool/train.py

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。