YOLOv3官网

网络搭建步骤

  • 一、编译darknet53
    • 1.下载darknet53文件
    • 2.修改Makefile文件
    • 3.编译darkent53
  • 二、下载预训练权重文件
  • 三、测试编译好的darknet
  • 四、训练自己的数据
    • 1.准备自己的数据集
    • 2.obj.names文件
    • 3.obj.data文件
    • 4. yolov3.cfg文件
    • 5.训练模型
    • 6.测试图片

一、编译darknet53

1.下载darknet53文件

git clone https://github.com/AlexeyAB/darknet

2.修改Makefile文件

  在darknet文件夹下找到Makefile文件,修改:(如果没有GPU加速的话,就不用修改了。)

GPU=1
CUDNN=1
OPENCV=1

另外,OPENCV需要提前安装好。

3.编译darkent53

cd darknet
make

二、下载预训练权重文件

wget https://pjreddie.com/media/files/yolov3.weights

三、测试编译好的darknet

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
  运行结束后,可以查看输出的predictions.jpg,直接点开图片即可,也可以运行:
diaplay predicions.jpg

四、训练自己的数据

1.准备自己的数据集

  将数据图片和标签(txt)放到一个文件夹obj里,将obj文件夹复制到darknet/data文件夹下。可以使用公开的数据集,下载方式。

  在darknet/文件夹下创建一个generate_train.py,将下面代码复制进去并运行:

import os
image_files = []
os.chdir(os.path.join("data", "obj"))
for filename in os.listdir(os.getcwd()):if filename.endswith(".jpg"):image_files.append("data/obj/" + filename)
os.chdir("..")
with open("train.txt", "w") as outfile:for image in image_files:outfile.write(image)outfile.write("\n")outfile.close()
os.chdir("..")

  然后到darknet/data文件夹下看是否生成了一个train.txt文件。

2.obj.names文件

  在darknet/data文件夹下创建obj.names文件,里面存放需要识别的物体的名字(我们以识别两个物体为例,分别是Car和Bird),例如:

Car
Bird

3.obj.data文件

  在darknet/data文件夹下添加obj.data文件。
darknet/data/obj.data
  输入内容如下:其中train.txt为训练集保存路径,test.txt为测试集保存路径

classes=2
train = /data/train.txt
validation = /data/test.txt
names=data/obj.names
backup=backup/

4. yolov3.cfg文件

  在darknet/cfg文件夹下找到yolov3.cfg文件,复制一份更名为yolov3-custom.cfg文件,我们修改复制之后的文件,源文件不动。

打开yolov3-custom.cfg文件:

  • 在[net]层修改:
    -将#Testing下面两行用#注释掉;
    -将#Training 下面两行的注释打开;
    其余修改如下:
burn_in=1000
max_batches=6000   (训练6000次)
steps=4800,5400    (设置为0.8倍的max_batches和0.9倍的max_batches)

  • 在[yolo]层修改:
    -在文本中搜索yolo,找到[yolo]层。下面的classes=2,random=0,上面一层的[convolutional]的filters=21,[21=(2+5)*3,2是类别数,如果是80类则应该写(80+5)*3=255]。
    这种[yolo]层一共有3处,都要修改。

5.训练模型

下载darknet53预训练权重:
wget https://pjreddie.com/media/files/darknet53.conv.74

开始训练:
./darknet detector train data/obj.data cfg/yolov3-custom.cfg darknet53.conv.74

这里需要训练一段时间,下面是训练结果(6000次训练):

6.测试图片

  首先复制一份yolov3-custom.cfg 并更名为yolov3-custom_test.cfg, 修改的位置如下:

运行:
./darknet detector test data/obj.data cfg/yolov3-custom-test.cfg backup/yolov3-custom_final.weights data/person.jpg

显示结果如下:

YOLOv3 网络搭建Darknet53 训练自己的数据集相关推荐

  1. <计算机视觉四> pytorch版yolov3网络搭建

    鼠标点击下载     项目源代码免费下载地址 <计算机视觉一> 使用标定工具标定自己的目标检测 <计算机视觉二> labelme标定的数据转换成yolo训练格式 <计算机 ...

  2. 第十二章_网络搭建及训练

    文章目录 第十二章 网络搭建及训练 CNN训练注意事项 第十二章 TensorFlow.pytorch和caffe介绍 12.1 TensorFlow 12.1.1 TensorFlow是什么? 12 ...

  3. 搭建并训练多标签数据集的模型并将结果可视化

    #搭建并训练多标签数据集的模型并将结果可视化(tensorflow2) 1.数据集的介绍 该数据为拥有颜色与衣服类别两个标签的衣服识别,对于这样的数据集要求我们的神经网络需要两个输出,一个是类别,另一 ...

  4. caffe-MobileNet-ssd环境搭建及训练自己的数据集模型

    caffe-MobileNet-ssd环境搭建及训练自己的数据集模型 ***************************************************************** ...

  5. WIN10下配置Yolov3(VS2019,GPU)+opencv训练自己的数据集(绝对详细,小白型记录)

    大二菜鸡,因为要准备一个水下识别的比赛,想到了用yolov3这个强大的框架,参考了许多大佬的博客,在这里记录一下自己的配置过程. ** 一. CUDA和CUDNN配置 ** 我的显卡的GTX1060, ...

  6. yolov3网络(DarkNet53)结构详解以及Pytorch代码实现

    目录 引言 网络结构讲解 网络结构设计理念 残差结构 步长为2的卷积替换池化层 网络性能评估 yolo v3中Darknet-53网络基于Pytorch的代码实现 总结 引言 yolo v3用于提取特 ...

  7. torch从零开始搭建deeplabv3+训练自己的数据集!

    目录 一.制作自己数据集 1.1 torch数据加载原理 1.2 地理信息科学与深度学习的结合 1.3代码实现 1.4分批次加载数据集 二.训练网络 2.1参数选择 2.2训练过成可视化 三.执行预测 ...

  8. 【DL】网络搭建及训练

  9. 『论文笔记』TensorFlow1.6.0+Keras 2.1.5+Python3.5+Yolov3训练自己的数据集!

    TensorFlow1.6.0+Keras 2.1.5+Python3.5+Yolov3训练自己的数据集! 文章目录 前期准备 一. Yolov3简要介绍 1.1. Yolov3网络结构图 1.2. ...

  10. win10下yolov3训练自己的数据集

    在win10下用yolov3训练自己的数据集 1.  在darknet-master\build\darknet\x64 新建yolo-obj.cfg文件(可以直接复制yolov3.cfg,然后重命名 ...

最新文章

  1. Micropython教程之TPYBoardv102 DIY蓝牙智能小车实例
  2. 【算法知识】详解归并排序算法
  3. Hibernate4 buildSessionFactory过时解决方案(Annotation也是一样解决)
  4. 【命令】截屏命令---screencap
  5. 消费型保险PK返还型保险
  6. Word2013中如何去掉页眉横线
  7. 方法论-5W2H七问分析法
  8. VUE使用benz-amr-recorder 实现解码、播放
  9. iOS 【微信登录流程以及遇到的一些坑】
  10. python爬取网页的内层页_python爬取网页 下一页
  11. Linux学习笔记(包含虚拟机及Linux系统安装)
  12. 年薪100万?纯属忽悠!!但年薪60万真不是个梦
  13. BatchNormalization 介绍
  14. 一个中科大差生,8 年程序员生涯感悟(强烈推荐)
  15. html6能代替原生app,网页转APP工具能否取代原生APP?这个在线制作平台,让移动开发更简单...
  16. 关于spotlight for Windows和spotlight for oracle的使用
  17. 植树节,送 25 本书福利一下
  18. 蓝桥杯 高精度加法 C++基础练习 HERODING的蓝桥杯之路
  19. 使用Fireworks 8制作网页效果图2-生成网页[原创教程]
  20. 读书笔记-精准努力-自信与自卑

热门文章

  1. 二元/多元函数连续 极限存在问题
  2. CATIA怎么约束快捷键_CATIA快捷键设置详解
  3. 机器视觉应该先看什么书?
  4. Python机器视觉--OpenCV入门--机器视觉与OpencCV用途简介
  5. 8个微信小程序UI组件框架
  6. java 实现按规则自增功能_java基础(二) 自增自减与贪心规则
  7. 特征筛选:WOE值与IV值
  8. ORACLE 锁解释
  9. Mysql监控工具–mytop
  10. 迈达斯导出html计算书,动态计算书模块功能-midas Civil 2011