您的位置:首页 > 其它

用yolo训练自己的数据集(以车牌为例)

2018-03-20 21:20 1256 查看
我看了网上很多yolo教程,可能是因为电脑环境和配置的不一样,所以我并没有完全通过网上教程成功训练自己的数据集,接下来我将我自己完全亲自测试并且最后成功训练数据集的教程记录如下:

训练自己的数据集有如下几步:

准备数据集并且安装yolo

制作数据集的标签生成xml文件

将xml文件转成txt文件

修改配置文件

下载预训练模型进行训练

第一步:安装yolo并且准备自己的数据集(图片格式是jpg格式),安装yolo参照网址:https://pjreddie.com/darknet/yolo/

第二步:制作数据集标签生成xml文件:

大家在这里需要安装安装 labelImg (标数据用),我在网上试了很多教程,最后我推荐大家按照这个网址的教程装:https://www.cnblogs.com/new-age/p/7071289.html 装完之后用labelImg做标签并将生成的xml文件保存在xml文件夹下。



第三步:将xml文件转成txt格式,这一步大家可以采用这篇博客里的代码http://blog.csdn.net/qq_34484472/article/details/73135354#reply,代码亲自运行过没有错误。可是经过代码转换后原图片会损失,因此在训练的时候会出现无法读取图片的问题,如出现STB Reason:unknown image type这个问题是说明是你的图片出现了问题,因此你可以将损坏的图片进行替换就可以正确训练了。

最后在训练前您需要准备这几个文件夹:



backup文件夹是用于保存训练模型的,如下图:



第四步:

在darknet/cfg/voc.data文件中进行如下修改:

classes= 1(由于我只训练车牌这一个类)

train =/home/tlx/darknet/mydata/trainImagePath.txt(训练图片的路径)

valid = /home/tlx/darknet/mydata/validateImagePath.txt(验证图片的路径)

names = data/plate.names

第五步:下载预训练模型,下载地址为:

http://pjreddie.com/media/files/darknet19_448.conv.23

将模型保存在放在darknet文件夹下,并在darknet文件夹路径下运行命令进行训练:

./darknet detector train cfg/voc.data cfg/yolo-voc.cfg cfg/darknet19_448.conv.23
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: