环境
环境:windows10 + anaconda3(conda4.8.2)+ labelImg1.8.1 + VSCode
版本:python3.6.0 + opencv4.1.0 + yolo3 +keras 2.3.1 +tensorflow-gpu2.1.0
运行过程
1.下载
- 下载项目框架 git clone https://gitee.com/cungudafa/keras-yolo3.git
- 下载权重 单独下载yolov3.weights 权重,放在项目根目录下
- 将 DarkNet 的.weights文件转换成 Keras 的.h5文件 python convert.py -w yolov3.cfg yolov3.weights model_data/yolo_weights.h5 可以查看到我们的模型结构: docs/model_summary.txt
2.标签分类
下载数据集:(我这里用hand进行试验,你可以用你自己的标注数据集)
本次使用的数据集来自:牛津大学Arpit Mittal, Andrew Zisserman和 Phil Torr
资料下载:
我们用到的数据集为VOC格式:我们仅下载evaluation_code.tar.gz(13.8M)即可。
将下载的数据集复制到项目路径下:(事实是数据集有400+图片,我训练起来太累了,容易过拟合,这里只用了009985-010028共40+张图片进行训练)
运行script目录下获取标签:
- voc标签格式:voc_annotation.py
- yolo标签格式:yolo_annotation.py
3.训练
- 修改train.py中训练轮速、路径(可选步骤)
- 训练 train.py(50轮和100轮,各保存一次)保存在logs目录下
神经网络可视化,在根目录下运行:tensorboard --logdir=logs\
会将运行记录打印到浏览器中 打开浏览器查看:http://localhost:6006/
可视化查看神经网络loss:
- 项目目录下运行: tensorboard --logdir=logs\
- 浏览器查看:http://localhost:6006/
4.测试
参考tf2-keras-yolo3,可以直接对图片和视频进行检测。
我另外封装了一下检测部分的代码:识别部分keras-yolo3-recognize
运行predict.py或者:
<code># 图片检测 python yolo_video.py --image 再输入图片路径 # 视频检测 python yolo_video.py --input img\test.mp4/<code>
项目:
git:https://gitee.com/cungudafa/keras-yolo3