利用YOLOv3SPP网络源码,训练自己的数据集的步骤 |
您所在的位置:网站首页 › yolo源码 › 利用YOLOv3SPP网络源码,训练自己的数据集的步骤 |
利用YOLOv3 SPP网络源码,训练自己的数据集的步骤 主要内容利用YOLOv3 SPP网络源码,训练自己的数据集的步骤第一部分1. 下载项目及文件结构介绍2. 训练数据的准备以及目录结构3. 利用标注好的数据集生成一系列相关准备文件,也可参考原作者的[教程](https://github.com/ultralytics/yolov3/wiki/Train-Custom-Data)3.1 将VOC标注数据转为YOLO标注数据(如果你的数据已经是YOLO格式了,可跳过该步骤)3.2 根据摆放好的数据集信息生成一系列相关准备文件第二部分 解析模型配置文件 总的流程大概是:使用labelImg对自己的数据进行标注—>使用trans_voc2yolo.py脚本进行转换,将VOC标注数据转为YOLO标注数据(使用trans_coco2yolo.py脚本进行转换将COCO标注数据转为YOLO标注数据,待补充)—>生成新的my_yolov3.cfg文件—>下载好预训练权重,开始训练 以下内容主要来自霹雳吧啦Wzup主,主要用来自己学习记录。 第一部分 1. 下载项目及文件结构介绍 首先在https://github.com/WZMIAOMIAO/deep-learning-for-image-processing网址上下载对应的项目。可以参考该项目博主的B站视频 ├── my_yolo_dataset 自定义数据集根目录│ ├── train 训练集目录│ │ ├── images 训练集图像目录│ │ └── labels 训练集标签目录 │ └── val 验证集目录│ ├── images 验证集图像目录│ └── labels 验证集标签目录 总之,准备自己的数据集按照以上目录结构进行摆放 3. 利用标注好的数据集生成一系列相关准备文件,也可参考原作者的教程├── data 利用数据集生成的一系列相关准备文件目录│ ├── my_train_data.txt: 该文件里存储的是所有训练图片的路径地址│ ├── my_val_data.txt: 该文件里存储的是所有验证图片的路径地址│ ├── my_data_label.names: 该文件里存储的是所有类别的名称,一个类别对应一行(这里会根据```.json```文件自动生成)│ └── my_data.data: 该文件里记录的是类别数类别信息、train以及valid对应的txt文件 更新Update yolov3-spp.cfg,修改预测器的卷积核个数,这个是根据数据集的类别个数进行计算的。 3.1 将VOC标注数据转为YOLO标注数据(如果你的数据已经是YOLO格式了,可跳过该步骤) 使用trans_voc2yolo.py脚本进行转换,并在./data/文件夹下生成my_data_label.names标签文件,执行脚本前,需要根据自己的路径修改以下参数# voc数据集根目录以及版本voc_root = "/data/VOCdevkit" # 这里要写真正的数据集目录voc_version = "VOC2012"# 转换的训练集以及验证集对应txt文件,对应VOCdevkit/VOC2012/ImageSets/Main文件夹下的txt文件train_txt = "train.txt"val_txt = "val.txt"# 转换后的文件保存目录save_file_root = "./my_yolo_dataset" # 转换后的文件保存目录# label标签对应json文件label_json_path = './data/pascal_voc_classes.json' # 如果是自己的数据集将里面的类别标签修改为自己的类别标签即可 3.2 根据摆放好的数据集信息生成一系列相关准备文件 使用calculate_dataset.py脚本生成my_train_data.txt文件、my_val_data.txt文件以及my_data.data文件,并生成新的my_yolov3.cfg文件执行脚本前,需要根据自己的路径修改以下参数# 训练集的labels目录路径train_annotation_dir = "./data/my_yolo_dataset/train/labels"# 验证集的labels目录路径val_annotation_dir = "./data/my_yolo_dataset/val/labels"# 上一步生成的my_data_label.names文件路径(如果没有该文件,可以自己手动编辑一个txt文档,然后重命名为.names格式即可)classes_label = "./data/my_data_label.names"# 原始yolov3-spp.cfg网络结构配置文件cfg_path = "./cfg/yolov3-spp.cfg" 第二部分 解析模型配置文件在yolov3-spp.cfg文件当中有非常多的层结构, 在搭建网络过程中是根据配置文件当中的网络层结构依次搭建出来的。搭建模型之前需要理解每层的含义以及参数的含义。注意:[net]层结构在网络搭建的过程中,它是不起任何作用的,真正解析的时候是通过convolutional层开始解析的。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |