首页 前端知识 YOLO训练自己的分割数据集,使用labelme标注的分割数据集产生的.json文件转化为YOLOv8识别的.txt文件。coco数据集格式转化为yolo数据集格式,json转化为txt文件。

YOLO训练自己的分割数据集,使用labelme标注的分割数据集产生的.json文件转化为YOLOv8识别的.txt文件。coco数据集格式转化为yolo数据集格式,json转化为txt文件。

2025-03-11 15:03:53 前端知识 前端哥 367 610 我要收藏

将labelme标注的分割数据集,转化为YOLOv8识别的.txt文件数据集分为两部分,第一部分先将labelme标注的分割数据集转化为coco格式的文件,第二步,在将coco格式的JSON文件转化为yolo格式的txt文件

第一部分:将labelme标注的分割数据集转化为coco格式的文件

第一步

首先建立一个文件夹mydataset,里面包含四个文件,文件夹里包含labelme2cocoAll.py,roadscene_val,roadscene_train,annotations这四个文件,其中roadscene_train里为作为训练集用的原始labelme标注的图片以及对应的JSON文件,roadscene_val里为作为验证集的图片和对应的JSON文件, annotations一开始为空。

labelme2cocoAll.py 文件的链接:
链接: https://pan.baidu.com/s/1NXLLR7tzDKtNfzEVB5ntxA?pwd=6666 提取码: 6666 

第二步

1. win+r ,输入CMD进入管理员模
2.  conda activate进入base环境
3.  conda info  --env,选择pytorch的环境
4.  然后cd Desktop\mydataset文件夹(因为直接建在桌面了)

第三步

annotations一开始为空,当执行

    python labelme2cocoAll.py roadscene_train --output roadscene_train.json

,之后出现出现save coco json  和roadscene_train.json后再执行下一句
    python labelme2cocoAll.py roadscene_val --output roadscene_val.json

之后出现save coco json  和roadscene_val.json
    会生成roadscene_train.json,roadscene_val.json这两个文件,,这两个文件就是转化为了coco格式,分别对应训练集和验证集,将这两个文件转移到annotations文件夹里

第二部分:COCO数据集转化为YOLO格式数据集

第一步:创建本地文件夹JSON2YOLO,克隆github上的文件

然后去github(需要梯子)克隆repo到本地   The https://github.com/ultralytics/COCO2YOLO repo contains code to convert JSON datasets into YOLO (darknet) format. The code works on Linux, MacOS and Windows

克隆repo到本地

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

执行

cd JSON2YOLO (路径换成自己的)

pip install -r requirements.txt

第二步,复制文件,并修改  两处  代码

复制文件general_json2yolo.py然后改名为my_json2yolo.py

修改my_json2yolo.py其中的两处代码:

第一处

if source == 'COCO': convert_coco_json('../mydataset/annotations', # directory with *.json use_segments=True, cls91to80=False),红色的地方换成自己annotations文件的路径

第二处

函数 def convert_coco_json(json_dir='../coco/annotations/', use_segments=False, cls91to80=False): 中修改一句,把‘-1’去掉。

#cls = coco80[ann['category_id'] - 1] if cls91to80 else ann['category_id'] - 1 # class

cls = coco80[ann['category_id'] - 1] if cls91to80 else ann['category_id'] # class

第三步,执行python my_json2yolo.py

执行 python my_json2yolo.py

接着会在 ..\JSON2YOLO\new_dir\labels  文件夹下产生roadscene_train和 roadscene_val子文件夹, roadscene_train和roadscene_val子文件夹下是各图片的YOLO格式的标注 文件。

转载请注明出处或者链接地址:https://www.qianduange.cn//article/23281.html
评论
发布的文章

面试题之强缓存协商缓存

2025-03-11 15:03:21

【C语言】数组篇

2025-03-11 15:03:19

正则表达式(复习)

2025-03-11 15:03:17

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!