yolov3预训练模型_YOLOV3目标检测算法的模型训练教程

1. 模型训练环境:

1)  系统:Ubuntu16.042)  显卡:TITAN XP3)CUDA:9.14)  CUDNN:7.55)  运行内存32G6)pycharm7)anaconda

2. 资源的下载:

基于darknet框架在Linux系统下训练YOLOV3数据集,下载darknet文件,链接: https://download.csdn.net/download/qq_41900772/11340101 。

0a1510403aef754b30b8df76dcb9846f.png

YOLOV3算法模型训练主要用到文件夹中的:cfg、data,以及后文中所建立的数据集。

文件夹中的各个文件夹的作用:

1)cfg:cfg文件夹中主要存放了网络训练所需要的网络配置文件2)data:主要存放了,网络测试所需测试图片、网络训练所需训练类别名文件(如:voc.names、coco.names)3)example:主要存放了可能会用到的一些函数评价接口。4)python:存放了网络对应的python接口。5)Makefile文件为训练所需的最重要的配置文件。

3. VOC格式的数据集的制作

在主目录下建立文件夹VOC,在该文件夹下建立数据集。3.1 数据集目录:

1.VOCdevkit     #根目录  1.1VOC2019   #不同年份的数据集,名称年份可以改    1.1.1Annotations        #存放xml文件,与JPEGImages中的图片一一对应,解释图片的内容等等    1.1.2ImageSets          #该目录下存放的都是txt文件,txt文件中每一行包含一个图片的名称,末尾会加上±1表示正负样本      1.1.2.1Action(训练过程中用不到)      1.1.2.2Layout(训练过程中用不到)      1.1.1.3Main      1.1.1.4Segmentation(训练过程中用不到)    1.1.3JPEGImages         #存放源图片    1.1.4SegmentationClass  #存放的是图片,语义分割相关(训练过程中用不到)    1.1.5SegmentationObject #存放的是图片,实例分割相关(训练过程中用不到)

3.2 制作数据集:1)根据上目录建立数据集2)加纳所有图片名称进行重排序3)将训练图片放入JPEGImages文件夹中4)采用Imagelabel工具对训练图片进行标注,生成xml文件5)将上一步所生成的xml文件放入(注意:图片与xml文件要一一对应)6)在Main文件夹下生成train.txt、test.txt两个文件,两个文件中为训练图片的名字7)将xml文件转换成txt格式文件

3.3 Main文件夹下的文件

    根据xml文件生成与xml文件相对应的数据单序列,分为训练集与测试集,数据名要存放在Main文件夹下的.txt文件中以作备用

    将以下代码放进python文档中,并把文档放在VOC2019文件下

fef3ee2cc6cc36cebee457b661c074f0.png

  //文件名: shengcheng_Mai_wenjian.py  import os  import random  trainval_percent = 0.1  train_percent = 0.9  xmlfilepath = 'Annotations'  txtsavepath = '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)  ftrainval = open('ImageSets/Main/test.txt', 'w')  ftrain = open('ImageSets/Main/train.txt', 'w')  for i in list:      name = total_xml[i][:-4] + '\n'      if i in trainval:          ftrainval.write(name)      else:          ftrain.write(name)  ftrainval.close()  ftrain.close()
3.4 将.xml文件转换到.txt文件

    从.xml文件到VOC2019文件夹中“label”文件夹中的.txt文件(标注图像的坐标及中心点信息),同时,在VOCdevkit同级文件夹下生成train.txt、test.txt两个文件,两个文件的内容为训练图片的路径(该步骤提取训练所需要的信息)

    将以下代码放在python文档中,并把文档放在与VOCdevkit同级目录下。

  import xml.etree.ElementTree as ET  import pickle  import os  from os import listdir, getcwd  from os.path import join  from multiprocessing import Pool  sets=[('2019', 'train'), ('2019', 'test')]  classes = ['logo','number','face']  def convert(size, box):      dw = 1./size[0]      dh = 1./size[1]      x = (box[0] + box[1])/2.0      y = (box[2] + box[3])/2.0      w = box[1] - box[0]      h = box[3] - box[2]      x = x*dw      w = w*dw      y = y*dh      h = h*dh      return (x,y,w,h)  def convert_anno
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值