Trung QuốcWangRongsheng/make-your-yolov5_dataset
💥Make your yolov5 dataset by using labelimg.I hope my work can help you make your yolov5 datasets more quickly.
💥💥💥重大更新💥💥💥:最新版本的全面标注工具集KDAT发布!!!👉前往
数据集标注软件
更多的标注工具你可以去看:深度学习图像标注工具汇总 、 十个最常用深度学习图像/视频数据标注工具 、 百度一下
在这里我选择使用labelImg
数据集大小重置工具:
Image_tool.exe百度网盘下载(提取码:2tmv)
数据集标注
- 下载labelImg
- 解压,直接打开
labelimg.exe - 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
Dự án tương tự
Khám phá các dự án và mô hình AI khác có sự tương đồng.
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.
Ultralytics YOLOv5 in PyTorch for object detection, instance segmentation, classification, training, and export.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
The definitive list that answers "I want to do X in Python, which tool should I use?"
:octocat: 分享 GitHub 上有趣、入门级的开源项目。Share interesting, entry-level open source projects on GitHub.