训练数据和标签注意事项

训练数据和标签注意事项

 

  1. 训练数据收集

  • 在正常情况下,训练图片资料大小resize到和模型输入图片大小基本一样,当前可以选择到400×400(或者按比例)左右,但是要具体分析,看看resize后的图片在打标时候是否清晰。

  • 如果resize后的图片不清晰,可采用裁剪的方式,把大图裁剪小到400×400作用,

  • 目标物体的大小占屏比不要太小。可以同时有多个目标物体,但是目标物体之间遮挡不宜太大,不建议超过20%

  • 图片搜集好了后,打标签之前,要做图片预处理,以及图片增强,比如翻转,旋转,色彩变化,增加噪声,等。

  • 根据训练阶段的不同,以及性能要求的不同,以上存在根据实际训练需要适当调整

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. 打标签,的注意事项。

 

1, 图片文件都转换为jpg,图片文件名不能重名,因为在VOC数据集里面,所有的文件最后要归集到一个文件夹下。这块我搞了一个python脚本文件,具体介绍如下:

ubuntu的工作目录,建立如下目录,红色的文件是用于改文件名的。打标签之前用这个文件名先改文件名。

data

└── VOCdevkit

└── VOC2007

├── Annotations #保存xml文件

├── changfilename.py #批量改图片文件名脚本

├── ImageSets #存放训练集和测试集,

└──Main #这个Main 打标签可以不建。

├── JPEGImages #存放打标签的图片文件。

 

changfilename.py 文件内容

#!/usr/bin/python

# -*- coding:utf8 -*-

 

import os

 

class BatchRename():

'''

批量重命名文件夹中的图片文件

'''

def __init__(self):

#我的图片文件夹根路径/home/sx/ ,这个地方要根据自己机器修改。

self.path = '/home/sx/data/VOCdevkit/VOC2007/JPEGImages'

 

def rename(self):

filelist = os.listdir(self.path)

total_num = len(filelist)

i = 1

n = 6

for item in filelist:

if item.endswith('.jpg'):

n = 6 - len(str(i))

src = os.path.join(os.path.abspath(self.path), item)

dst = os.path.join(os.path.abspath(self.path), str(0) + str(0)*n + str(i) + '.jpg')

try:

os.rename(src, dst)

print 'converting %s to %s ...' % (src, dst)

i = i + 1

 

except:

continue

print 'total %d to rename & converted %d jpgs' % (total_num, i)

 

if __name__ == '__main__':

demo = BatchRename()

demo.rename()

 

 

 

 

三、打标工具labelImage安装

1.依赖库安装

LabelImg是深度学习中用来标注图片中物体位置与名称的工具,本文介绍如何在python3.5的环境下安装labelImg。

安装LabelImg依次需要安装三个第三方库: python3.5,PyQt5 , lxml

通过pip安装,最好pip3 install --upgrade pip更新pip版本后再执行安装

pip3 install PyQt5 -i https://pypi.douban.com/simple

pip3 install lxml -i https://pypi.douban.com/simple

 

2.下载labelImg,源码安装

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

进入labelImg目录

cd labelImg/

pyrcc5 -o resources.py resources.qrc

cp resources.py libs/

 

3.运行labelImg

python3 labelImg.py

 

注意:

Open dir /xxx/yyy/data/VOCdevkit/VOC2007/JPEGImages

Change Save Dir /xxx/yyy/data/VOCdevkit/VOC2007/ Annotations

 

 

 

 

 

 

 

 

 

 

 

注意,由于VOC数据集 需要对不同批次文件或者不同类别文件最终要求归结到一个文件夹,所以这个脚本应对于不同批次的文件,要适当调整,调整方法如下,红底文字部分。

#!/usr/bin/python

# -*- coding:utf8 -*-

 

import os

 

class BatchRename():

'''

批量重命名文件夹中的图片文件

'''

def __init__(self):

#我的图片文件夹根路径/home/sx/ ,这个地方要根据自己机器修改。

self.path = '/home/sx/data/VOCdevkit/VOC2007/JPEGImages'

 

def rename(self):

filelist = os.listdir(self.path)

total_num = len(filelist)

i = 1

n = 6

for item in filelist:

if item.endswith('.jpg'):

n = 6 - len(str(i))

src = os.path.join(os.path.abspath(self.path), item)

dst = os.path.join(os.path.abspath(self.path), str(0) + str(0)*n + str(i) + '.jpg')

try:

os.rename(src, dst)

print 'converting %s to %s ...' % (src, dst)

i = i + 1

 

except:

continue

print 'total %d to rename & converted %d jpgs' % (total_num, i)

 

if __name__ == '__main__':

demo = BatchRename()

demo.rename()

 

红底文字部分修改按如下规则:

对第一批文件:

dst = os.path.join(os.path.abspath(self.path), str(1) + str(0)*n + str(i) + '.jpg')

 

对第二批文件:

dst = os.path.join(os.path.abspath(self.path), str(2) + str(0)*n + str(i) + '.jpg')

 

。。。

对第m批:

dst = os.path.join(os.path.abspath(self.path), str(m) + str(0)*n + str(i) + '.jpg')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值