赞
踩
说明:我的电脑是个16年3500元买的笔记本(勇气可嘉:)
环境:额外的包之类的,我用的anaconda,可以非常容易安装各类包,如果运行显示缺包,那就去environment去安装对应的包。
我的版本:python 3.7.4 - tensorflow 1.13.1 - numpy 1.16.0 - keras 2.2.4
直接下载zip。本文是针对以上文件内容的微小改动来训练自己的数据
下载完成后放入上面解压文件的目录下 C:\Users\...\Desktop\keras-yolo3-master,下文所述“[目录]”,皆指向此目录
https://pan.baidu.com/s/15ewJZoav2ebmkqBf2bPyeA 提取码:anv2
此处为博主z649431508收集的数据集,放在代码同一目录下解压(去掉外面多套的文件夹VOCdevkit,没有多套请忽略该提示)。
解压后可以把里面文件删除只保留:Annotations、ImageSets和JPEGImages。
将ImageSets\Main 文件夹下的txt文件全部删掉
用python写个脚本生成一个txt文件,仿照下图形式,里面的内容一直到009963(也就是该数据集里面最后一张图片),完事后这个train.txt放到 \VOCdevkit\VOC2007\ImageSets\Main下(这里如果觉得数据集太多可以设置idx<5000)
python代码如下:
- idx = 1
- f = open('train.txt', 'w')
- while idx < 9964:
- f.write('{:0>6d}'.format(idx) + '\n')
- idx += 1
- f.close()
运行anaconda prompt(以下“运行”所指,皆为在anaconda prompt下键入指令)
python convert.py -w yolov3-tiny.cfg yolov3-tiny.weights model_data/tiny_yolo_weights.h5
python yolo_video.py --image
test/person.jpg(要在目录下创建test文件夹,里面放上一张图片命名person.jpg)
python train.py
下面的图片是我整合所有图片数据集后进行训练的结果,因为图片太多,所有我修改了50+50epoch,改为15+5epoch
在 logs/000/下有你刚刚('~')训练得到的权值文件 trained_weights_stage_1.h5(前15epoch得到) 以及 trained_weights_final.h5(15+5epoch得到)
修改 yolo.py:"model_path": 'logs/000/trained_weights_final.h5'
运行 6.x 所述内容
我通过整合数据并且加入自己标记的数据后,一共有10000张图片,其中4000张包含人的。在只解封最后两层训练了15个epoch,然后解封所有层训练了5个epoch。训练后的效果感觉上其实不如官网权重的效果好,不过也不差太多。
附yolov3-tiny网络参数和结构图:
https://www.jianshu.com/p/d76adef49293
https://blog.csdn.net/lly1122334/article/details/89019891
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。