YOLOv3 网络搭建Darknet53 训练自己的数据集
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 训练自己的数据集相关推荐
- <计算机视觉四> pytorch版yolov3网络搭建
鼠标点击下载 项目源代码免费下载地址 <计算机视觉一> 使用标定工具标定自己的目标检测 <计算机视觉二> labelme标定的数据转换成yolo训练格式 <计算机 ...
- 第十二章_网络搭建及训练
文章目录 第十二章 网络搭建及训练 CNN训练注意事项 第十二章 TensorFlow.pytorch和caffe介绍 12.1 TensorFlow 12.1.1 TensorFlow是什么? 12 ...
- 搭建并训练多标签数据集的模型并将结果可视化
#搭建并训练多标签数据集的模型并将结果可视化(tensorflow2) 1.数据集的介绍 该数据为拥有颜色与衣服类别两个标签的衣服识别,对于这样的数据集要求我们的神经网络需要两个输出,一个是类别,另一 ...
- caffe-MobileNet-ssd环境搭建及训练自己的数据集模型
caffe-MobileNet-ssd环境搭建及训练自己的数据集模型 ***************************************************************** ...
- WIN10下配置Yolov3(VS2019,GPU)+opencv训练自己的数据集(绝对详细,小白型记录)
大二菜鸡,因为要准备一个水下识别的比赛,想到了用yolov3这个强大的框架,参考了许多大佬的博客,在这里记录一下自己的配置过程. ** 一. CUDA和CUDNN配置 ** 我的显卡的GTX1060, ...
- yolov3网络(DarkNet53)结构详解以及Pytorch代码实现
目录 引言 网络结构讲解 网络结构设计理念 残差结构 步长为2的卷积替换池化层 网络性能评估 yolo v3中Darknet-53网络基于Pytorch的代码实现 总结 引言 yolo v3用于提取特 ...
- torch从零开始搭建deeplabv3+训练自己的数据集!
目录 一.制作自己数据集 1.1 torch数据加载原理 1.2 地理信息科学与深度学习的结合 1.3代码实现 1.4分批次加载数据集 二.训练网络 2.1参数选择 2.2训练过成可视化 三.执行预测 ...
- 【DL】网络搭建及训练
- 『论文笔记』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. ...
- win10下yolov3训练自己的数据集
在win10下用yolov3训练自己的数据集 1. 在darknet-master\build\darknet\x64 新建yolo-obj.cfg文件(可以直接复制yolov3.cfg,然后重命名 ...
最新文章
- Micropython教程之TPYBoardv102 DIY蓝牙智能小车实例
- 【算法知识】详解归并排序算法
- Hibernate4 buildSessionFactory过时解决方案(Annotation也是一样解决)
- 【命令】截屏命令---screencap
- 消费型保险PK返还型保险
- Word2013中如何去掉页眉横线
- 方法论-5W2H七问分析法
- VUE使用benz-amr-recorder 实现解码、播放
- iOS 【微信登录流程以及遇到的一些坑】
- python爬取网页的内层页_python爬取网页 下一页
- Linux学习笔记(包含虚拟机及Linux系统安装)
- 年薪100万?纯属忽悠!!但年薪60万真不是个梦
- BatchNormalization 介绍
- 一个中科大差生,8 年程序员生涯感悟(强烈推荐)
- html6能代替原生app,网页转APP工具能否取代原生APP?这个在线制作平台,让移动开发更简单...
- 关于spotlight for Windows和spotlight for oracle的使用
- 植树节,送 25 本书福利一下
- 蓝桥杯 高精度加法 C++基础练习 HERODING的蓝桥杯之路
- 使用Fireworks 8制作网页效果图2-生成网页[原创教程]
- 读书笔记-精准努力-自信与自卑