Coder Social home page Coder Social logo

wangrongsheng / make-your-yolov5_dataset Goto Github PK

View Code? Open in Web Editor NEW
76.0 3.0 15.0 65.59 MB

💥Make your yolov5 dataset by using labelimg.I hope my work can help you make your yolov5 datasets more quickly.

Python 98.60% Batchfile 1.40%
yolov5 dataset voc yolo labelimg python

make-your-yolov5_dataset's Introduction

Forkers repo roster for @WangRongsheng/make-your-yolov5_dataset Stargazers repo roster for @WangRongsheng/make-your-yolov5_dataset

💥💥💥重大更新💥💥💥:最新版本的全面标注工具集KDAT发布!!!👉前往

数据集标注软件

更多的标注工具你可以去看:深度学习图像标注工具汇总十个最常用深度学习图像/视频数据标注工具百度一下

在这里我选择使用labelImg

数据集大小重置工具:Image_tool.exe 百度网盘下载(提取码:2tmv)

数据集标注

  1. 下载labelImg
  2. 解压,直接打开labelimg.exe
  3. labelImg标注数据

标注完成后即可获得VOC格式(生成.xml文件)的数据

dataset
│
├─Annotations
│      train_29635.xml
│      train_29641.xml
│      train_30090.xml
│	   ...
│
└─JPEGImages
        train_29635.jpg
        train_29641.jpg
        train_30090.jpg
        ...

yolov5数据集制作

0、数据图片重命名

对于rename.bat

命名从01开始,设置
set count=100

命名从0001开始,设置
set count=10000

如果我们想要从038开始排序,可以将第三行代码:
set count=10037

1.voc格式数据集转化yolov5格式数据集

运行voc_to_yoloV5.py【该脚本实现将voc格式的数据转化为yoloV5需要的.txt标注文件,运行该脚本,会在dataset/voc/目录下生成 worktxt/目录(yolo需要的格式)】

运行代码之前,修改里面相关文件路径。

dataset
│
├─Annotations
│      train_29635.xml
│      train_29641.xml
│      train_30090.xml
│	   ...
│
├─JPEGImages
│       train_29635.jpg
│       train_29641.jpg
│       train_30090.jpg
│       ...
│
└─worktxt
       train_29635.txt
       train_29641.txt
       train_30090.txt
 	   ...

2.数据集划分训练、测试、验证

运行voc_split_trainValTest.py【该脚本用于生成voc/目录下的ImageSets/..目录,分割了训练和验证集】

dataset
│
├─Annotations
│      train_29635.xml
│      train_29641.xml
│      train_30090.xml
│	   ...
│
├─ImageSets
│	└─Main
│      train.txt
│      test.txt
│      valid.txt
│      img_train.txt
│      img_test.txt
│      img_valid.txt
│
├─JPEGImages
│       train_29635.jpg
│       train_29641.jpg
│       train_30090.jpg
│       ...
│
└─worktxt
       train_29635.txt
       train_29641.txt
       train_30090.txt
 	   ...

3.重构数据集

运行dataset_cg.py【该脚本将会生成yolov5可以训练的数据布局】

主要进行一个copy或者move的操作:

# 小数据建议:copy 大数据建议:move
for i in range(len(img_txt_cg_train)):
    shutil.copy(fimg+str(img_txt_cg_train[i]),new_dataset_train)
    shutil.copy(flable+str(label_txt_cg_train[i]),new_dataset_trainl)
for j in range(len(img_txt_cg_test)):
    shutil.copy(fimg+str(img_txt_cg_test[j]),new_dataset_test)
    shutil.copy(flable+str(label_txt_cg_test[j]),new_dataset_testl)
for q in range(len(img_txt_cg_valid)):
    shutil.copy(fimg+str(img_txt_cg_valid[q]),new_dataset_valid)
    shutil.copy(flable+str(label_txt_cg_valid[q]),new_dataset_validl)
dataset
│
├─Annotations
│      train_29635.xml
│      train_29641.xml
│      train_30090.xml
│	   ...
│
├─ImageSets
│	└─Main
│      train.txt
│      test.txt
│      valid.txt
│      img_train.txt
│      img_test.txt
│      img_valid.txt
│
├─data
│   ├─train
│   ├─test
│   └─valid
│
├─JPEGImages
│       train_29635.jpg
│       train_29641.jpg
│       train_30090.jpg
│       ...
│
└─worktxt
       train_29635.txt
       train_29641.txt
       train_30090.txt
 	   ...

4.开始利用yolov5训练你的数据

git clone https://github.com/ultralytics/yolov5.git

5.txt格式数据回改成voc格式

修改yolo2voc.py文件中第6,7,8,10行相应内容即可得到VOC数据

参考

Star History

Star History Chart

make-your-yolov5_dataset's People

Contributors

uppez avatar wangrongsheng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.