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

本项目地址:https://github.com/Cw-zero/Retrain-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.py  90%为训练集(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

  



使用yolo3模型训练自己的数据集的更多相关文章

  1. DPM检测模型 训练自己的数据集 读取接口修改

    (转载请注明作者和出处 楼燚(yì)航的blog :http://www.cnblogs.com/louyihang-loves-baiyan/ 未经允许请勿用于商业用途) 本文主要是针对上一篇基于D ...

  2. 【Tensorflow系列】使用Inception_resnet_v2训练自己的数据集并用Tensorboard监控

    [写在前面] 用Tensorflow(TF)已实现好的卷积神经网络(CNN)模型来训练自己的数据集,验证目前较成熟模型在不同数据集上的准确度,如Inception_V3, VGG16,Inceptio ...

  3. TensorFlow学习笔记——LeNet-5(训练自己的数据集)

    在之前的TensorFlow学习笔记——图像识别与卷积神经网络(链接:请点击我)中了解了一下经典的卷积神经网络模型LeNet模型.那其实之前学习了别人的代码实现了LeNet网络对MNIST数据集的训练 ...

  4. 第三十二节,使用谷歌Object Detection API进行目标检测、训练新的模型(使用VOC 2012数据集)

    前面已经介绍了几种经典的目标检测算法,光学习理论不实践的效果并不大,这里我们使用谷歌的开源框架来实现目标检测.至于为什么不去自己实现呢?主要是因为自己实现比较麻烦,而且调参比较麻烦,我们直接利用别人的 ...

  5. Windows下mnist数据集caffemodel分类模型训练及测试

    1. MNIST数据集介绍 MNIST是一个手写数字数据库,样本收集的是美国中学生手写样本,比较符合实际情况,大体上样本是这样的: MNIST数据库有以下特性: 包含了60000个训练样本集和1000 ...

  6. 【实践】如何利用tensorflow的object_detection api开源框架训练基于自己数据集的模型(Windows10系统)

    如何利用tensorflow的object_detection api开源框架训练基于自己数据集的模型(Windows10系统) 一.环境配置 1. Python3.7.x(注:我用的是3.7.3.安 ...

  7. 从软件开发到 AI 领域工程师:模型训练篇

    前言 4 月热播的韩剧<王国>,不知道大家有没有看?我一集不落地看完了.王子元子出生时,正逢宫内僵尸作乱,元子也被咬了一口,但是由于大脑神经元尚未形成,寄生虫无法控制神经元,所以医女在做了 ...

  8. 主题模型 利用gibbslda做数据集主题抽样

    电子科技大学电子商务实验室Kai Yip,欢迎同行指正,也欢迎互相指导,学习. 广告打完,进入正题. 关于程序运行结果的分析请参照我的另一篇博客:http://www.cnblogs.com/nlp- ...

  9. 目标检测算法SSD之训练自己的数据集

    目标检测算法SSD之训练自己的数据集 prerequesties 预备知识/前提条件 下载和配置了最新SSD代码 git clone https://github.com/weiliu89/caffe ...

随机推荐

  1. hdoj--1877--又一版 A+B(水题)

     又一版 A+B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. POJ1389 Area of Simple Polygons 线段树

    POJ1389 给定n个整数点矩形,求面积并. 显然ans必然是整数. 记录若干个事件,每个矩形的左边的竖边记为开始,右边的竖边记为结束. 进行坐标离散化后用线段树维护每个竖的区间, 就可以快速积分了 ...

  3. 基于Flink的视频直播案例(上)

    目录 数据产生 Logstash部分 Kafka部分 Flink部分 配置/准备代码 视频核心指标监控 本案例参考自阿里云的视频直播解决方案之视频核心指标监控和视频直播解决方案之直播数字化运营. 基于 ...

  4. bzoj 1596: [Usaco2008 Jan]电话网络【贪心】

    dfs,如果一个点的儿子.本身.父亲都没有塔,就在父亲上建一个 原理不明-- #include<iostream> #include<cstdio> using namespa ...

  5. P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm(Tarjan+记忆化)

    P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm 题意翻译 题目描述 每年,在威斯康星州,奶牛们都会穿上衣服,收集农夫约翰在N(1<=N< ...

  6. ACM_01背包

    背包1 Time Limit: 2000/1000ms (Java/Others) Problem Description: 有n个重量和价值分别为Wi,Vi的物品,现从这些物品中挑选出总量不超过 W ...

  7. 【URL重写】IIS7配置URL重写

    URL Rewrite Module   此模块适用于IIS7.7.5.8. 微软在IIS7中添加了URL的重写模块,并且免费使用,可以导入.htaccess规则,但需要安装. 第一步:安装URL2. ...

  8. NPOI 导出Excel 2007, 2013问题

    NPOI默认有两个命名空间HSSF为Excel 2003 版本,若导出2007 及以上后缀名打开excel 则会报错,NPOI也提供了一个07及以上的版本空间XSSF,具体操作列下: NPOI.XSS ...

  9. NodeJs学习记录(六)使用 res.locals 传递参数到页面

    res.locals的生命周期是单次请求,有点类似于java servlet 里的  httpServletRequest.setAttribute("param1",1); 既然 ...

  10. LN : Eden Bitset_3

    Appreciation to our TA, 王毅峰, who designed this task. 问题描述 Give you N numbers a[1]...a[n] and M numbe ...