首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Labelimg制作数据集「建议收藏」

Labelimg制作数据集「建议收藏」

作者头像
全栈程序员站长
发布于 2022-07-05 03:31:15
发布于 2022-07-05 03:31:15
98700
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

Labelimg制作数据

1、 安装labelimg

① 下载源码自行安装,安装步骤参考搜索文章

下载地址:https://github.com/tzutalin/labelImg

② 下载打包版直接运行,WindowsLinux平台可用,无需编译

下载地址:https://tzutalin.github.io/labelImg/

2、 图片标注

① 仿照VOC2007在py-faster-rcnn-master\data目录下新建文件夹“VOCdevkit2007”,在VOCdevkit2007\VOC2007目录下新建如图5个文件夹(前3个必须有)。JPEGImages存放训练图片,Annotations存放使用labelimg标注图片后生成的.xml文件,ImageSets中新建Main文件夹。

② 使用打包版labelimg时直接打开labelImg.exe,先点击“Change Save Dir”修改保存路径为文件夹Annotations(路径不能包含中文)。使用notepad++打开data文件夹中的predefined_classes.txt,修改分类的类别。

打开需要标记的图片文件夹JPEGImages,Ctrl+u

修改保存路径(.xml文件夹)为Annotations,Ctrl+r

标注ROI区域填写标签,w:开始画框

保存.xml文件,有弹框提醒,Ctrl+s

d: 下一张

a: 上一张

del: 删除画的框

Ctrl++: 图片放大

Ctrl–: 图片缩小

↑→↓←: 对框进行移动

Ctrl+d: 复制当前框的标签和框

③ 文件夹JPEGImages中的图片命名格式要求为“xxxxxx.jpg”,从000000.jpg开始,图片重命名代码以Python为例,可参考:https://blog.csdn.net/u011574296/article/details/72956446

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import os
path = "F:\caffe\py-faster-rcnn-master\data\VOCdevkit\VOC2007\JPEGImages"
filelist = os.listdir(path) # 该文件夹下所有的文件(包括文件夹)
count=0 # 编号从0开始

for file in filelist:
    print(file)

for file in filelist:  
# 遍历所有文件
    Olddir=os.path.join(path,file)   # 原来的文件路径
    if os.path.isdir(Olddir):   # 如果是文件夹则跳过
        continue
    filename=os.path.splitext(file)[0]   # 文件名
    filetype=os.path.splitext(file)[1]   # 文件扩展名
    Newdir=os.path.join(path,str(count).zfill(6)+filetype)  # 用字符串函数zfill 以0补全所需位数
    os.rename(Olddir,Newdir) # 重命名
    count+=1

3、 生成数据集所需txt

使用代码在ImageSets\Main目录下生成test.txt(测试集)、train.txt(训练集)、val.txt(验证集)、trainval.txt(训练验证集,由train.txt和val.txt组成)。VOC2007中, test大概是整个数据集的50%,trainval是整个数据集剩下的50%;train大概是trainval的50%,val是trainval剩下的50%。所占比例可在代码中修改,以Python为例(其中trainval是整个数据集的70%):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import os
import random

trainval_percent = 0.7   # trainval占总数的比例
train_percent = 0.5   # train占trainval的比例
xmlfilepath = r'F:\caffe\py-faster-rcnn-master\data\VOCdevkit2007\VOC2007\Annotations'
txtsavepath = r'F:\caffe\py-faster-rcnn-master\data\VOCdevkit2007\VOC2007\ImageSets\Main'
total_xml = os.listdir(xmlfilepath)

num = len(total_xml)
list = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list, tv)
train = random.sample(trainval, tr)

ftrainval = open(txtsavepath + r'\trainval.txt', 'w')
ftest = open(txtsavepath + r'\test.txt', 'w')
ftrain = open(txtsavepath + r'\train.txt', 'w')
fval = open(txtsavepath + r'\val.txt', 'w')

for i in list:
    name = total_xml[i][:-4] + '\n'
    if i in trainval:
        ftrainval.write(name)
        if i in train:
            ftrain.write(name)
        else:
            fval.write(name)
    else:
        ftest.write(name)

ftrainval.close()
ftrain.close()
fval.close()
ftest.close()

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149449.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【pytorch-ssd目标检测】制作类似pascal voc格式的目标检测数据集
pascal voc或yolo格式的数据可以使用labelimg进行标注:下载地址:
西西嘛呦
2020/08/26
9520
【pytorch-ssd目标检测】制作类似pascal voc格式的目标检测数据集
从零开始带你一步一步使用YOLOv3训练自己的数据
YOLOv3是比较常见和常用的深度学习目标检测(Object Dection)算法。今天给大家介绍一下如何一步一步使用YOLOv3训练自己的数据集。
红色石头
2022/01/10
2.8K1
从零开始带你一步一步使用YOLOv3训练自己的数据
PASCAL VOC数据集训练集、验证集、测试集的划分和提取
参考:https://www.cnblogs.com/sdu20112013/p/10801383.html
狼啸风云
2019/12/10
4.3K0
手把手教你用深度学习做物体检测(二):数据标注
  上篇文章介绍了如何基于训练好的模型检测图片和视频中的物体,若你也想先感受一下物体检测,可以看看上篇文章:《手把手教你用深度学习做物体检测(一):快速感受物体检测的酷炫 》。
AI粉嫩特工队
2019/09/05
1.2K0
手把手教你用深度学习做物体检测(二):数据标注
【从零开始学习YOLOv3】2. YOLOv3中的代码配置和数据集构建
到https://pytorch.org/中根据操作系统,python版本,cuda版本等选择命令即可。
BBuf
2020/02/14
1.6K0
【从零开始学习YOLOv3】2. YOLOv3中的代码配置和数据集构建
一步一步教你在 docker 容器下使用 mmdetection 训练自己的数据集
这里不再介绍 mmdetection 的安装和配置,使用 mmdetection 较简单的方法是使用已安装 mmdetection 的 docker 容器。这样直接省去了安装 mmdetection 的过程,让重心放在模型训练上!
红色石头
2022/01/12
1.8K0
一步一步教你在 docker 容器下使用 mmdetection 训练自己的数据集
Keras/Tensorflow+python+yolo3训练自己的数据集
代码:https://github.com/qqwweee/keras-yolo3
全栈程序员站长
2022/09/07
4440
Pytorch实现YOLOv3训练自己的数据集
需要将filters=18 #3*(class + 4 + 1)这一行改为filters=18,否则会报如下的错误:
陶陶name
2022/05/12
7800
PASCAL VOC格式的目标检测数据集生成ImageSet/Main中的各类txt文件
import osimport randomimport xmlfrom xml.dom import minidomVOC_CLASSES = ['car']# def generate_train_val_test_txt():xml_file_path = "D:\dataset\cityscapes\cityscape_clean_car\Annotations_car\\" # xml文件路径save_Path = "D:\dataset\cityscapes\cityscape_clean_c
狼啸风云
2020/07/14
1.7K0
基于yolo的口罩识别(开源代码和数据集)
本项目的数据集是笔者花了一个晚上通过网络爬虫的方式收集的(ps:没有违反爬虫协定)。笔者通过使用python写了一个小爬虫,爬虫的代码如下:
陶陶name
2022/05/13
9990
Pytorch实现YOLOv3训练自己的数据集
最近一直在研究深度学习框架PyTorch,就想使用pytorch去实现YOLOv3的object detection.在这个过程中也在各大论坛、贴吧、CSDN等中看了前辈们写的文章,在这里由衷的感谢帮助过我的朋友们,真的很感谢!!!!
陶陶name
2022/09/28
6880
Pytorch实现YOLOv3训练自己的数据集
如何将PaddleDetection模型在树莓派4B上部署?
【飞桨开发者说】侯继旭,海南师范大学本三自动化专业在读,人工智能开发爱好者,曾获2019中国高校计算机大赛-人工智能创意赛海南省一等奖、2019年度海南省高等学校科学研究“人工智能”优秀成果奖
用户1386409
2020/06/01
1.1K0
如何将PaddleDetection模型在树莓派4B上部署?
YOLOV3目标检测模型训练实例
从零开始学习使用keras-yolov3进行图片的目标检测,比较详细地记录了准备以及训练过程,提供一个信号灯的目标检测模型训练实例,并提供相关代码与训练集。
WindRunnerMax
2020/08/27
1.2K0
YOLOV3目标检测模型训练实例
【目标检测】YOLOX训练王者荣耀数据集
最近想跑一下旷世开源的YOLOX,本想着属于YOLO系列,代码大致都和YOLOv5差不多,没想到代码整体差异还是挺大的,跑通的过程中踩了不少坑,这篇就来记录一下整个流程。
zstar
2022/09/23
1.2K0
为猪脸识别而进行自己数据集的构建、训练「建议收藏」
思路是先构建VOC2007格式的猪脸数据集,在转换成tf格式,然后利用tf的objectdetectionapi进行训练。原因是把2种构建方式都熟悉一遍,并把所有流程过一遍。
全栈程序员站长
2022/06/24
7110
如何用PaddleDetection做一个完整的目标检测项目
PaddleDetection 是百度飞桨推出的物体检测统一框架。支持现有的RCNN、SSD、YOLO等系列模型、支持 ResNet、ResNet-VD、ResNeXt、ResNeXt-VD、SENet、MobileNet、DarkNet等主干网络。针对不同的业务场景(性能、目标大小、准确率等)可以选择框架中的不同模块组合得到最适合的模型,实现任务。相比于tensorflow的Object_Detection,优势之一就是将YOLOv3这一目标检测的快速算法融合到了框架下。
用户1386409
2020/03/19
3.3K0
VOC数据集解析 VOC2007解析
官网:http://host.robots.ox.ac.uk/pascal/VOC/voc2007/index.html
TeeyoHuang
2019/12/20
5.2K0
VOC数据集解析 VOC2007解析
基于Yolov8网络进行目标检测(二)-安装和自定义数据集
首先我们要知道YOLOv8这次发行中带的预训练模型,是是基于COCO val2017 数据集训练的结果。
python与大数据分析
2023/09/18
2.7K0
基于Yolov8网络进行目标检测(二)-安装和自定义数据集
YOLOv5 实现目标检测(训练自己的数据集实现猫猫识别)
2020年6月10日,Ultralytics在github上正式发布了YOLOv5。YOLO系列可以说是单机目标检测框架中的潮流前线了,YOLOv5并不是一个单独的模型,而是一个模型家族,包括了YOLOv5s(最小)、YOLOv5m、YOLOv5l、YOLOv5x(最大)。目前v6.0版本又新增一层YOLOv5n模型,代替YOLOv5s成为最小模型,在所有模型中速度更快但精度也更低。
全栈程序员站长
2022/07/01
5.4K0
YOLOv5 实现目标检测(训练自己的数据集实现猫猫识别)
手把手入门教程:YOLOv8如何训练自己的数据集,交通信号灯识别
Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的(SOTA)模型,它建立在先前YOLO成功基础上,并引入了新功能和改进,以进一步提升性能和灵活性。它可以在大型数据集上进行训练,并且能够在各种硬件平台上运行,从CPU到GPU。
AI小怪兽
2023/11/03
7.9K0
推荐阅读
相关推荐
【pytorch-ssd目标检测】制作类似pascal voc格式的目标检测数据集
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档