2021.05.20 Darknet yolov3检测及训练

Darknet yolov3检测及训练

本文均采用无gpu版本

 

一.使用官网权重文件检测图片:

配置好opencv,使用cmake编译,生成darknet.exe文件,F:\darknet\build\darknet\x64目录进入终端输入:

 

 

 

参数释义:

1.darknet.exe: 执行此程序

2.Detector: 预定义参数,调用run_detector函数,其中包含“test检测”,“train训练”,“valid验证”,“demo 像头实时”几种操作

 

 

3.Test: 此次操作为验证

4.Cfg/coco.data: 模型检测的类别,类文件名,Classes是检测物品种类数,train存放待训练图片集路径,names存放待识别物体名称

 

 

 

5.Yolov3.weights: 官网下载的已训练好的权重文件

6.-thresh+数值:阈值,识别率高于多少在结果中标注框并展示(左图thresh=0.25,右图0.5

 

 

  1. tbbt.jpg:待检测图片路径
  2. -ext_output:输出识别出的物体的坐标及大小

 

二.训练自己的数据集:

  1. 下载yolo_mark,便于标注待训练图片集
  2. 图片集放入img文件夹,新建obj.data,只检测烟雾所以classes=1;新建obj.names,写入待识别物体名称

 

 

  1. 新建train.txt,启动标记程序yolo_mark.cmd, 拉框选中目标,图片路径自动存入train.txt, 标记框坐标自动存入对应txt文件

 

 

  1. img文件夹、obj.dataobj.namestrain.txt复制到darknetdata目录下;创建model目录,复制darknet/cfg目录下的yolov3.cfgdarknet/model目录,并重新命名为yolo-obj.cfg,此文件定义yolo神经网络的结构、学习速率、迭代次数等参数

 

  1. 修改yolo-obj.cfg

注释3.4行,取消注释6.7 迭代次数,至少2000次才比较准确

 

修改classes=1  filters=(classes + 5)x3卷积核个数,也是输出通道数

 

 

 

  1. 下载预训练模型参数 darknet53.conv.74,并将其复制到darknet/model目录下,执行训练命令

 

 

 

gpu时预期图像:训练完成以后,在darknet/backup目录会生成yolo-obj_last.weights文件,然后如chapter1命令检测

 

posted @ 2021-05-20 15:49  tcc1024  阅读(299)  评论(0)    收藏  举报