yolov2训练自己的数据(win10超详细版)

从今年四月份开始报名参加了软件杯,参赛题目是基于人工智能和机器视觉的安全帽提取和分析。因为这个题目有幸接触到了yolov2–实时目标检测框架。
关于yolov2的介绍各位只要去上网搜一下就可以查到很多相关资料介绍。今天详细介绍一下如何用yolov2训练自己的数据。
官方提供的windows下的训练教程

以下是训练详细步骤

  1. 下载yolov2代码
    yolov2 代码网址

  2. 配置yolov2环境:vs2015+opencv3.4+cuda8.0+cudnn7
    (1)步骤1完成之后在darknet目录下找到darknet.sln,用VS2015打开之后darknet.sln后导入opencv(导入opencv教程
    (2)接下来导入cuda8.0.由于官方建议的是cuda9.1版本,如果不是使用该版本应该先打开darknet.vcxproj修改第55行和第288行将CUDA 9.1.targets改为CUDA 8.0.targets,保存。(vs2015配置cuda教程
    (3)上面的步骤如果都配置成功之后,在release X64的环境下点击生成选项下面的重新生成解决方案,然后经过一段时间(一两分钟)的编译后生成对应的darknet.exe(在build\darknet\x64)

  3. 准备自己的数据集
    (1) 将自己的数据集图片标注:标注软件LabelImage 下载地址
    标注完成之后会生成对应的xml文件,使用LabelImage标注后的xml格式
    这里写图片描述

这时候还需要用另外的工具(如何转换?)将xml转换为txt格式才行。
最后转换后的txt格式:
这里写图片描述
(2) 将对应的xml文件转换为txt文件之后,将图片与txt文件放在这里写图片描述 这个目录下。
(3)修改对应的配置文件:
复制yolo.2.0.cfg文件并命名为yolo_obj.cfg(注意最好不要直接修改yolo.2.0.cfg文件,以便日后可以作为参考),并修改两处地方:
这里写图片描述
修改230行的classes,其中classes为你标注的目标的种类数(我这里标注了三类)
这里写图片描述
修改224行的filters, filters的计算公式=(classes+5)* 8 所以这里为40。
修改完毕后保存即可。
接下来创建obj.names和obj.data,内容分别为:
obj.data
这里写图片描述
其中上图中的train.txt为训练集的存放路径文件,test.txt则为预测用的数据集存放路径,格式为:

data/obj/851.jpg
data/obj/852.jpg
data/obj/853.jpg
data/obj/854.jpg
data/obj/855.jpg

obj.names
这里写图片描述
4. 开始训练
(1)如果第2步的环境配置成功,则相应的会生成darknet.exe。通过win+R打开cmd,进入对应的目录后,执行命令
darknet.exe detector train data/obj.data yolo-obj.cfg darknet19_448.conv.23

没有出错的话则会开始进入训练,

这里写图片描述
如果你能看到跟我截图类似的情况,那恭喜你,你已经可以开始跟yolov2一起开心的玩耍了。如有不懂的地方或者我写错的地方欢迎提出来一起讨论。

  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
要使用YOLOv5来训练自己的数据集,可以按照以下步骤进行操作: 1. 数据集准备: - 收集并标注数据集:收集与你的目标物体相关的图像,并使用标注工具(如LabelImg)对每个图像中的物体进行标注。标注包括物体的边界框和类别。 - 数据集划分:将数据集划分为训练集、验证集和测试集,通常按照70%、15%、15%的比例划分。 2. 数据集转换: - 将标注数据转换为YOLOv5的格式:使用脚本将标注数据转换为YOLOv5所需的格式。YOLOv5使用的格式是每个样本的标签文件包含相应图像的路径以及每个物体的类别和边界框坐标。 3. 配置模型: - 下载YOLOv5代码:从YOLOv5的GitHub仓库下载代码并安装所需的依赖项。 - 配置模型参数:根据你的数据集和需求,修改模型配置文件,如`yolov5/models/yolov5s.yaml`,调整输入图像尺寸、类别数等参数。 4. 训练模型: - 运行训练脚本:使用命令行运行训练脚本,指定数据集路径和其他相关参数。例如:`python train.py --data path/to/data.yaml --cfg path/to/model.yaml --weights ''`. - 监控训练过程:脚本会显示训练过程中的损失和指标信息,可以根据需要进行调整。 5. 模型评估和推理: - 评估模型:使用验证集或测试集对训练好的模型进行评估,计算平均精度(mAP)等指标。 - 进行推理:使用训练好的模型对新的图像进行目标检测,获取物体的类别和位置信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值