这是本人的第一篇博客,想分享一下前一段时间调试yoloV3的经验
- 环境的搭建
- 工程内部文件介绍
- 调试部分
- 训练
本文仅限图片的图像识别,视频的我还没做(懒),若有机会我会做的。
此教程较为简化,若想深入学习建议找更nb的教程,本文适合需要紧急使用yoloV3的学生党。
(不是本人!!!!!!!!!!!!!!!!!!!!!!!!!)
环境的搭建
本机电脑需要有独立显卡,性能越高越好,确保显卡驱动安装完毕
- python & Anaconda
本人环境是在pycharm下搭建的,yoloV3的源码:https://github.com/qqwweee/keras-yolo3(我个人用的不是这个)
我用的是一个UP主用的,链接:https://pan.baidu.com/s/1d29TS9kUrZEGCTfcjez-YQ
提取码:6xer
首先需要安装Anaconda,然后新建一个python环境
输入conda create -n tensorflow python=3.6.5
(版本:python3.6.5),在pycharm中选中这个环境,之后的整个项目都要在这个环境中运行。
然后需要安装TensorFlowconda install teansorflow-gpu==1.12.0
若安装速度很慢,建议用清华镜像(自行百度)。执行安装后会自动安装关联的包。
工程内部文件介绍
kerasyolo3master\VOCdevkit\VOC2007\Annotations\xml
是存放xml图像标签的位置,标签名需要和图片名一一对应。
kerasyolo3master\VOCdevkit\VOC2007\JPEGImages
这里放的是将要被学习的图片。
kerasyolo3master\VOCdevkit\VOC2007\SegmentationClass
这里是成果物文件夹,打上框的图片将会生成在这里。
kerasyolo3master\logs\000
生成的模型文件会放到这个文件夹里
调试部分
kerasyolo3master\model_data\voc_classes.txt
这里存放的是标签类别,我训练的是学生是否认真听课,所以我的标签名字是YES 和 NO(看自己的xml标签名字!!!!!!)
这个程序会生成一个记事本:kerasyolo3master\VOCdevkit\VOC2007\ImageSets\Main\trainval.txt
目的是记录文件甲中的图片名字然后打开kerasyolo3master\yolov3.cfg
将里面所有[yolo]
下的classes
改成当前训练的样本种类。
kerasyolo3master\voc_annotation.py
内需要更改
然后运行kerasyolo3master\voc_annotation.py
此代码作用是更新你的文件路径
训练
kerasyolo3master\train.py
这个是生成训练集的代码,是整个yoloV3的核心
总共迭代多少次,数越高花费的时间越长(总之挺耗时间的)。
能出来这个就是成功的了,期间 loss:
的值会随着迭代不断降低,但降到多少是跟训练集有关,这个要自行判断。全部运行完则会生成一个训练集,在kerasyolo3master\logs\000
里。