yolo-tiny

@yolo-tiny

训练

ref:参考博文

  1. 下载预训练权重
    wget https://pjreddie.com/media/files/yolov3-tiny.weights

  2. 运行 train_data_set.py , 生成4个txt文件,(指定训练集和测试集)

  3. 将数据转换成darknet支持的格式 运行my_labels.py
    生成两个txt文件 ,及label下的txt文件
    生成两个txt文件
    在这里插入图片描述
    在这里插入图片描述

  4. 修改 cfg目录下的yolov3-tiny.cfg文件
    有两处需要修改classes和filters,从下往上有两处,类似如下字样处:
    将classes 修改为1,因为我们只有`类;将卷积层数修改为18 ,计算方式为3*(类别数+5).若为3类,则是3*(1+5) = 18.
    在这里插入图片描述
    6.修改.data
    在这里插入图片描述

  5. 修改names
    在这里插入图片描述

  6. 生成预训练模型

./darknet partial cfg/yolov3-tiny_llw.cfg yolov3-tiny.weights yolov3-tiny.conv.15 15
  1. 训练(darknet_one)
    ./darknet detector train data/my_voc_llw.data cfg/yolov3-tiny_llw.cfg yolov3-tiny.conv.15 | tee object_train_log.txt
    训练耗时较长,查看log当loss较小,且不再发生变化时,可按"ctrl+c"终止训练.我训练到了90000次就停止了,在这个过程中在backup文件夹下会保存对应迭代次数的中间结果,前1000次内每100次保存一个,超过1000次,每1000保存一次,依次.在这个过程中,我么可以随时拿中间结果进行测试.

  2. 测试

./darknet detect cfg/yolov3-tiny_llw.cfg backup/yolov3-tiny_llw_10000.weights DATA/JPEGImages/00000001.jpg

测试darknet_one文件

显示置信率darknet_Dis_ZX
/不现实评价指标,输入图片路径,只显示框好后的图片和类别、置信率/

./darknet detect cfg/yolov3-tiny_llw.cfg backup/yolov3-tiny_llw_10000.weights DATA/JPEGImages/00000001.jpg

批量测试 darknet_piL文件

./darknet detector test data/my_voc_llw.data cfg/yolov3-tiny_llw.cfg backup/yolov3-tiny_llw_10000.weights

valid(计算Map) darknet_one_cal文件

(ref:https://blog.csdn.net/qq_36302589/article/details/85160928)

./darknet detector valid data/my_voc_llw.data cfg/yolov3_llw.cfg backup/yolov3_llw_final.weights -out object 
./darknet detector valid data/my_voc_llw.data cfg/yolov3_llw.cfg backup/yolov3_llw_final.weights 
  1. 第一步 将检测图片路径写入myData_val.txt文件,执行Image2txt.py

  2. 执行./darknet detector valid data/my_voc_llw.data cfg/yolov3_llw.cfg backup/yolov3_llw_final.weights

  3. 更改results下文件的名称,与comput_mAP.py文件中第一项对应

  4. 第二项存放xml文件

  5. 第三项存放不带扩展名的检测图片文件名,与myData_val.txt,results下文件相对应,执行name.py

  6. 第四项存放某类名称

  7. 执行comput_mAP.py

recall召回率 darknet_one_recall文件

  1. 替换list *plist = get_paths(“data/coco_val_5k.list”);为list *plist = get_paths("myData/myData_train.txt");自己的测试集文本
  2. for(k = 0; k < l.w*l.h*l.n; ++k){替换为
    for (k = 0; k< nboxes;++k){
  3. make clean
  4. make
  5. ./darknet detector recall data/my_voc_llw.data cfg/yolov3_llw.cfg backup/yolov3_llw_final.weights

用matplotlib绘制PR曲线 darknet_PR文件

python reval_voc_py3.py --voc_dir VOCdevkit --year 2007 --image_set 2007_val --classes data/my_voc_llw.names DATA

DATA 为输出pkl文件路径

  1. 必需文件 reval_voc_py3.py voc_eval.py
  2. 修改data/my_voc_llw.data文件的测试文件路径valid = 2007_val.txt
  3. 将检测图片路径写入 2007_val.txt文件,执行Image2txt.py
  4. 执行
    ./darknet detector valid data/my_voc_llw.data cfg/yolov3-tiny_llw.cfg backup/yolov3-tiny_llw_10000.weights
  5. 更改results/comp4_det_2007_val_object.txt路径下的txt文件名
  6. VOCdevkit/VOC2007/ImageSets/Main/2007_val.txt
    该路径的2007_val.txt文件为图片名(不包含扩展名)执行name.py
  7. 执行
    python reval_voc_py3.py --voc_dir VOCdevkit --year 2007 --image_set 2007_val --classes data/my_voc_llw.names DATA
  8. 执行PR_draw2.py
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值