图像标注、训练、识别

环境

环境: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.pyyolo标签格式: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