4000-520-616
欢迎来到免疫在线!(蚂蚁淘生物旗下平台)  请登录 |  免费注册 |  询价篮
主营:原厂直采,平行进口,授权代理(蚂蚁淘为您服务)
咨询热线电话
4000-520-616
当前位置: 首页 > 新闻动态 >
热卖商品
新闻详情
超详细:自制yolo3训练数据集总结_yuanlulu的博客 -CSDN博客
来自 : CSDN技术社区 发布时间:2021-03-25

概述

本文总结yolo作者实现的darknet版本的yolo3训练数据集格式。

数据集文件目录

最终数据集需要3个文本文件和2个目录

 train.txt # 文本文件 保存训练图片目录列表 test.txt # 文本文件 保存测试图片目录列表 class.names # 文本文件 保存分类名称 labels # 目录 保存每个图片的边界框和分类信息 JPEGImages # 目录 保存所有的图片
train.txt和test.txt

这两个文本文件格式很简单 每行一个图片的绝对路径即可。

内容如下

/yolo3_dateset_181224/JPEGImages/983_2018_11_27_08_43_25_167090_7980.jpg/yolo3_dateset_181224/JPEGImages/952_2018_11_27_15_13_33_062760_6636.jpg/yolo3_dateset_181224/JPEGImages/970_2018_11_27_13_04_22_315053_6764.jpg/yolo3_dateset_181224/JPEGImages/994_2018_11_27_09_12_57_493763_4692.jpg
class.names

这个文件用于存储各个分类的名字 每个分类一行

我的例子只有两个分类

dm
JPEGImages

存储图片的目录。所有的图片在这个目录下并列排放 不需要分子目录。

需要注意的是 JPEGImages必须和labels在同一个目录下。因为darknet程序是按照这个约定去寻找图片的。

labels

这个目录下存放所有的标注信息 每个图片一个对应的txt文件 txt文件必须和图片名字相同 后缀不同 。

# ls yolo3_dateset_181224/labels/983_2018_11_27_08_43_25_167090_7980.txt # 注意它的名字和图片是相同的2018_10_25_14_06_26_956996_7112.txt 

每个txt文件可以有多行 每行标注一个bbox和一个分类。

每行格式如下

class_index center_x cnter_y w h

每行五个字段 用空格分开。第一个字段class_index是分类的序号 从数字0开始 对应class.names里的顺序。center_x和cnter_y是bbox中心的坐标 w和h是bbox的宽和高。注意着四个值都是小于1的浮点数 center_x和w是绝对值除以图片宽度得到的 cnter_y和h是绝对值除以图片高度得到的。

例子

1 0.543125 0.353333333333 0.25125 0.56
启动训练前的其它准备 1. 编译生成darknet

按照需求修改Makefile

GPU 1 CUDNN 1OPENCV 0OPENMP 0DEBUG 0

在显卡机器上 我修改了最上面两行。然后make以下 生成darknet可执行文件及so库。

2. 下载预训练的 darknet53
wget https://pjreddie.com/media/files/darknet53.conv.74
3. 准备网络配置文件

可以从官方github上下载一个模板来改 我用的yolov3-voc.cfg来修改。
具体修改方法可以参考文末的《yolo3训练自己的数据集》。

除了文中对应的字段 我还修改了文件开头的训练总步数
原始内容

[net]# Testing batch 1 subdivisions 1# Training# batch 64# subdivisions 16width 416height 416channels 3momentum 0.9decay 0.0005angle 0saturation 1.5exposure 1.5hue .1learning_rate 0.001burn_in 1000max_batches 50200policy stepssteps 40000,45000scales .1,.1

我修改后的内容 有框的地方就是修改的地方 主要加快训练 减少训练步数

\"在这里插入图片描述\"

4. 准备数据集配置文件xx.data

数据集配置文件一般以data结尾。我的例子中命名为daimao.data。

$ cat yolo3_cfg/daimao.data classes 2 # 类个数train ./yolo3_dateset_181224/train.txt # 训练图片名单文件valid ./yolo3_dateset_181224/test.txt # 测试图片名单文件names ./yolo3_cfg/daimao.names # 类名文件backup ./backup # 生成模型的存放目录
5. 启动训练
./darknet detector train yolo3_cfg/daimao.data yolo3_cfg/yolov3-voc.cfg darknet53.conv.74

生成的weights文件存在backup目录下。

参考资料

官网 YOLO: Real-Time Object Detection

github源码

yolo3训练自己的数据集

本文链接: http://yoloes.immuno-online.com/view-751071.html

发布于 : 2021-03-25 阅读(0)
公司介绍
品牌分类
联络我们
服务热线:4000-520-616
(限工作日9:00-18:00)
QQ :1570468124
手机:18915418616
官网:http://