跑yolo3模型出的效果图_使用yolo3模型训练自己的数据集

本文介绍了如何在Ubuntu16.04环境下使用TensorFlow-GPU和Keras训练YOLOv3模型,包括创建数据集、标注图片、划分数据、转换标签格式以及调整网络配置等步骤,最终实现模型训练并展示效果。
摘要由CSDN通过智能技术生成

使用yolo3模型训练自己的数据集

一、运行环境

1. Ubuntu16.04、

2. TensorFlow-gpu 1.4.0 或更高版本、

3. Keras 2.2.4 、

4. numpy 1.15.2(实测1.16.1会报错)。

二、创建数据集

1. 使用VOC2007数据集的文件结构:

文件结构如下图,可以自己创建,也可以下载VOC2007数据集后删除文件内容。

注:数据集中没有 test.py,你需要将其拷贝到VOC2007文件夹下。

2. 标注图片:

使用LabelImg(https://github.com/tzutalin/labelImg)对训练图片进行标注生成标签,然后将所有图片放在 JPEGImages文件夹下,将所有标签(.xml)放在 Annotations 文件夹下。

3. 划分数据集:

python test.py90%为训练集(train.txt), 9%为测试集(test.txt), 1%为评估数据集(val.txt)。txt文件保存在 ImageSets/Main 下。

4. 转换标签格式:

python voc_annotation.py, 在执行之前,需要根据数据集的实际类别,修改voc_annotation.py中的classes(与标注时的class名字一样)。执行之后,将会得到train.txt、test.txt、val.txt,文本内容是:

img_path、box位置(top left bottom right)、类别索引(0 1 2 ...)

三、准备训练

1.修改yolo3的网络结构:打开yolo3.cfg,搜索"yolo",如下图所示,需要修改filters、classes、random,一共可搜索到三处yolo,每处都需要修改。

filters = 3x(5+len(classes))

classes = len(classes)

random:默认是1,显存小改为0

2. 确认相关依赖文件:

a.model_data/voc_classes.txt:与你的class一致,一般需要手动修改;

b.model_data/yolo_anchors.txt:确认存在即可;

c.model_data/yolo_weights.h5:由 yolov3.weights转换得到,需要先下载yolov3.weights,然后 python convert.py yolov3.cfg yolov3.weights model_data/yolo_weights.h5

d. 存在logs文件夹

3. 开始训练:python train.py

参考:

https://github.com/qqwweee/keras-yolo3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值