YOLOv5系列 1、制作自己的数据集

这篇具有很好参考价值的文章主要介绍了YOLOv5系列 1、制作自己的数据集。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

YOLOv5系列 1、制作自己的数据集
YOLOv5系列 2、使用yolov5识别自己的数据



前言

本文所使用的Yolov5为6.1版本,所用为GPU版(亲测CPU也一样能跑,只是速度会慢很多),使用的环境是torch1.7.1+cuda10.1。


一、下载Labelme

Labelme的安装很简单,如果想直接安装就直接在命令行中:

pip install labelme

如果是想把labelme安装在Anaconda的虚拟环境虚拟环境中,则需要先进入虚拟环境中,再安装:

activate 自己的想安装的环境名称
pip install labelme

如果想用Anaconda单独给Labelme装个虚拟环境则:

conda create -n labelme python=3.6
activate labelme
pip install labelme

二、Labelme使用步骤

1.打开Labelme

根据第一步中安装的位置,使用命令行在相应的位置中直接输入labelme,就可打开:

labelme

yolov5数据集制作,YoloV5,目标检测,人工智能,机器学习,深度学习,神经网络
因为我是直接安装的,所以没有进虚拟环境。打开后就会自动跳出下面这个界面:
yolov5数据集制作,YoloV5,目标检测,人工智能,机器学习,深度学习,神经网络
上面标注的是我们标记主要使用的功能,先使用Open dir打开我们图像数据所在文件夹:
yolov5数据集制作,YoloV5,目标检测,人工智能,机器学习,深度学习,神经网络

2.Labelme标记数据集

这边是从kaggle上下载的一个检测口罩的数据集,然后点击Create Polygons,因为是使用Yolov5做的,所以在图像上点击右键,选择create Rectangle,再将口罩框起来。
yolov5数据集制作,YoloV5,目标检测,人工智能,机器学习,深度学习,神经网络
然后点击ok,继续标记下一个口罩,全部标记好后,点击下一张或者点击保存:
yolov5数据集制作,YoloV5,目标检测,人工智能,机器学习,深度学习,神经网络

3.保存为json格式

yolov5数据集制作,YoloV5,目标检测,人工智能,机器学习,深度学习,神经网络
直接进行保存为.json格式即可(这个保存的名字名字是和照片的名字一样的),依照这样一直标记完。

三、json格式转换为txt格式

因为yolov5需要的是照片和txt格式,所以我们得到的json文件不能直接使用,需要先将json转换为txt格式,下面的代码就是将json转为txt

import json
import os

name2id = {'Mask': 0,}  #具体自己数据集类别
               
def convert(img_size, box):
    dw = 1./(img_size[0])
    dh = 1./(img_size[1])
    x = (box[0] + box[2])/2.0 - 1
    y = (box[1] + box[3])/2.0 - 1
    w = box[2] - box[0]
    h = box[3] - box[1]
    x = x*dw
    w = w*dw
    y = y*dh
    h = h*dh
    return (x,y,w,h)
 
def decode_json(json_floder_path,json_name):
    #转换好txt的标签路径
    txt_name = 'E:\\BaiduNetdiskDownload\\PyTorch-YOLOv3\\data\\custom\\labels\\' + json_name[0:-5] + '.txt'    
    txt_file = open(txt_name, 'w')
 
    json_path = os.path.join(json_floder_path, json_name)
    data = json.load(open(json_path, 'r', encoding='gb2312'))
 
    img_w = data['imageWidth']
    img_h = data['imageHeight']
 
    for i in data['shapes']:
        
        label_name = i['label']
        if (i['shape_type'] == 'rectangle'):
 
            x1 = int(i['points'][0][0])
            y1 = int(i['points'][0][1])
            x2 = int(i['points'][1][0])
            y2 = int(i['points'][1][1])
 
            bb = (x1,y1,x2,y2)
            bbox = convert((img_w,img_h),bb)
            txt_file.write(str(name2id[label_name]) + " " + " ".join([str(a) for a in bbox]) + '\n')
    
if __name__ == "__main__":
    #原始json标签路径
    json_floder_path = 'E:\\BaiduNetdiskDownload\\PyTorch-YOLOv3\\data\\custom\\json\\'
    json_names = os.listdir(json_floder_path)
    for json_name in json_names:
        decode_json(json_floder_path,json_name)

这边我们就已经得到了yolov5所需要的txt格式的标签文件。


四、建立自己的Yolov5数据集

我这边建立的数据集文件夹的位置如下:

--MaskDataSet
	--train
		--images
		--labels
	--test
		--images
		--labels
	--valid
		--images
		--labels
	--data.yaml
--yolov5源码位置

其中images放入图片,labels则放入相应的txt标签文件;data.yaml文件内容如下所示:

train: ../MaskDataSet/train/images
test: ../MaskDataSet/test/images
val: ../MaskDataSet/valid/images	
#如果按照上述方式建立文件夹,则上面train、test和val地址可以不变

nc: 1   							#标签类别个数
names: ['Mask',]  					#标签名
#上面nc和names可以根据自己的数据集进行修改

最后,数据集建立成功!下一步,可以开始训练我们标记的数据集啦~文章来源地址https://www.toymoban.com/news/detail-693161.html

到了这里,关于YOLOv5系列 1、制作自己的数据集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【零基础玩转yolov5】yolov5训练自己的数据集(CPU训练+GPU训练)

     博主也是最近开始玩yolov5的,甚至也是最近开始使用python的,很多东西都没有接触过,因此训练自己的数据集花了不少时间,所以想写篇博客记录一下,希望同样是零基础的小伙伴们可以更加轻松的上手。同时大家如果发现了错误和理解偏差,欢迎指正。 参考资料: Yolo

    2024年02月06日
    浏览(70)
  • yolov5训练自己的数据集问题排除

    D:ProgramDataAnaconda3envsyolov5python.exe D:/yxt/yolov5-master/train.py Traceback (most recent call last):   File \\\"D:ProgramDataAnaconda3envsyolov5libsite-packagesgit__init__.py\\\", line 140, in module     refresh()   File \\\"D:ProgramDataAnaconda3envsyolov5libsite-packagesgit__init__.py\\\", line 127, in refresh     if not Git.refresh(p

    2024年04月11日
    浏览(63)
  • 【YOLO】yolov5训练自己的数据集

    【Python】朴实无华的yolov5环境配置(一)   上面前期教程中,大致介绍了yolov5开发环境的配置方法和yolov5项目的基本结构,下一步就是基于yolov5预训练模型来训练自己的数据集,这对于只是想要使用yolov5这个工具的人,还是想要深入研究yolov5类似的目标识别算法的人,都是

    2024年02月11日
    浏览(47)
  • labelme制作yolov5模型的数据集

    labelme制作yolov5模型的数据集,超级详细,主要步骤: labelme安装和使用教程 python实现json文件转txt文件格式 python实现对指定格式文件进行提取 找一批牛和马的数据集,用来做YOLOv5实现牛马检测识别任务,数据集格式如下: 1、安装labelme环境和labelme标注教程 (1)进入pycharm在

    2024年02月15日
    浏览(97)
  • YOLOv5-第Y2周:训练自己的数据集

    🍨 本文为🔗365天深度学习训练营 中的学习记录博客 🍖 原作者:K同学啊 电脑系统:Windows 10 语言环境:Python 3.8.5 编译器:colab在线编译 深度学习环境:PyTorch 文件夹目录结构: 🍦主目录: paper_ data (创建个文件夹,将数据放到这里) Annotations (放置我们的.xm文件) images (放置图

    2024年01月20日
    浏览(50)
  • yolov5-7.0训练自己的VOC数据集

    这个笔记可能只适用于7.0版本的,写这个笔记主要是给工作室伙伴参考的,大佬请绕行 有错误之处欢迎指出 yolov5的GitHub仓库地址:Release v7.0 - YOLOv5 SOTA Realtime Instance Segmentation · ultralytics/yolov5 (github.com) 需要下载源码和预训练模型 将源码解压,在其文件夹里面新建一个weights文

    2024年02月12日
    浏览(55)
  • YOLOv5训练自己的数据集实现视频的识别

    写在前面 我本来是使用这个模型进行手写签名的定位,但是因为比赛的主办方原因,数据不允许公开,所以我使用动物世界的一段开头视屏来制作我的数据集。这整个模型跑通的过程中,我参考了很多不错的博客,写这篇博客的原因是记录一下我的所见所感。我的模型是在

    2024年02月02日
    浏览(74)
  • YOLOv5如何训练自己的数据集(生活垃圾数据集为例)

    本文主要介绍如何利用YOLOv5训练自己的数据集 以生活垃圾数据集为例子 生活垃圾数据集(YOLO版) 点击这里直接下载本文生活垃圾数据集 生活垃圾数据集组成: YOLO数据有三个要点 images,存放图片 labes,对应Images图片的标签 data_txt, 划分images图片的数据集,形成三个txt 文件

    2024年02月07日
    浏览(58)
  • yolov5旋转目标框的数据集标签制作

    1.rolabelimg标注 https://blog.csdn.net/qq_42921511/article/details/127619447 2. roxml转为dota格式的txt roxml文件格式: dota的txt格式: 修改完路径后运行roxml_to_dota.py即可 3. dota格式txt转为yolo格式的txt标签 ** 环境配置: python=3.7 pip install opencv-python==4.1.2.30 (ps:必须为这个版本) 图片:长和宽一致的

    2024年02月04日
    浏览(42)
  • 通过AutoDL使用yolov5.7训练自己的数据集

    AutoDL 选择基础镜像 创建之后 点击 开机 ,也可在更多里面选择无卡模式开机(此模式不能训练,但是可以上传文件且更便宜)。开机之后,上传代码可通过xshell工具或者可以通过快捷工具JupyterLab。我两种方法都来演示一遍。yolov5代码 复制登录指令 回车后会要求输入密码,

    2024年02月05日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包