Yolo的环境
我写下我的环境
win10
python 3.6.4
tensorflow 1.8.0
tensorllow-gpu 1.8.0
cudatoolkit 9.0
cudnn 7.1.4
最好是使用anaconda进行环境配置
配置完后下载yolov3,
地址 https://github.com/qqwweee/keras-yolo3
导入我们配置的环境就可以直接用了,但是如果想训练自己的模型的话最好还是使用darknet.weight 地址 https://pjreddie.com/media/files/darknet53.conv.74
下载完之后更改名字,改为darknet53.weights
放入到yolo的根目录,这个时候先不要着急,跟目录里还有一个配置文件darknet53.cfg
打开这个文件,会发现有很多可以配置的东西:
这里会发现有很多我们看的懂的或者看不懂的参数,不过都没关系,重点是batch和subdivisions两个数,分别改成64和16,如果想看具体的解释可以参照这篇文章https://blog.csdn.net/phinoo/article/details/83022101
这个时候执行python convert.py -w darknet53.cfg darknet53.weights model_data/darknet53_weights.h5
这样就能生成一个darknet53_weights.h5文件,我们训练的时候就用这个
数据集的预处理
在目录里有一个这样的文件voc_annotation.py,它是用来转换xml文件变为text文件的,那么xml文件是什么呢,首先yolo3是用来进行进行图像识别的(我感觉是),那么给你五万个数据,你想让程序直接识别出来是不可能的,这个时候你就需要给它先标注个1000张(具体情况具体分析),让他学习一下,我这里的例子是人民币编码的识别,一共九种面值,这样
我觉得他们是一类,所以就没有标注那么多,这里说一下标注工具:labelimage, https://download.csdn.net/download/qq_39226755/11562443
用起来也比较简单,设置导入导出目录,然后就可以点那个Creat RectBox创建标注框了,快捷键是W,下一张图片的快捷键是D。
创建完之后生成了许多的xml文件,打开是这个样子,到时候用脚本将里边的信息提取出来,包括图片目录,四个方向的坐标,还有类别。
当我们训练的时候,导入的txt文件的格式应该是这个样子:
图片地址 x_min,y_min,x_max,y_max,类别序号
如果有很多类就在后边叠加,不过得用空格隔开
我整理成了这个样子: