目标检测实战教程01-使用labelimg标注目标检测数据集|voc转COCO数据集

目标检测实战教程01-使用labelimg标注目标检测数据集|voc转COCO数据集

b站视频演示:B站视频教学

对图像进行编号

将收集到的图像进行编号方便统一管理,编号代码如下

import os
path = "E:\\image1"
filelist = os.listdir(path) #该文件夹下所有的文件(包括文件夹)
count=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

安装labelimg图像标注软件

在cmd命令框输入

pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple

labelimg使用方法

基础功能如下表:

open 打开单张图片
opendir 打开图像文件夹
change save dir 修改标注保存文件夹
save 保存标注文件
a键 上一张图片
d键 下一张图片
w键 绘制矩形框

更多使用技巧(自动保存、连续标注、单一类别)讲解,请观看视频学习。

划分数据集

将已经标注好的标注文件按照比例划分为训练集与测试集,分别放在两个文件夹中,方便下一步的转化。

VOC转COCO

因为COCO数据集在算法训练的时候可以调用coco api,所以评价指标相比voc的map50指标种类过多,如果做研究的话,coco评价指标可以自动获取不同IoU阈值下的mAP值,并且支持对大中小三种尺寸目标物的评估指标,所以我通常会将标注好的VOC格式的数据集转化为COCO格式。

代码如下:

"""
需要修改的地方
1. category_set = ['TBC']此处的类别信息需要修改
2. 代码末尾处的voc标注文件夹
3. 带末尾处对应生成的json文件名
注:训练集与测试集中类别的顺序必须保持一致,因此最好事先确定category的顺序,书写在category_set中
"""

import xml.etree.ElementTree as ET
import os
import json
import collections

coco = dict()
coco['images'] = []
coco['type'] = 'instances'
coco['annotations'] = []
coco['categories'] = []

# category_set = dict()
image_set = set()
image_id = 1  # train:2018xxx; val:2019xxx; test:2020xxx
category_item_id = 1
annotation_id = 1
category_set = ['TBC']

def <
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值