当前位置: 代码迷 >> 综合 >> win10+Darknet Yolo V3+训练自己的数据集全步骤
  详细解决方案

win10+Darknet Yolo V3+训练自己的数据集全步骤

热度:61   发布时间:2023-12-15 22:44:31.0

前序内容参考这个博主:很好
https://www.cnblogs.com/peacepeacepeace/p/9060229.html

Windows10+YOLOV3+VisualStudio2017最新版本超详细过程
https://blog.csdn.net/KID_yuan/article/details/88380269

1,准备好自己的照片

参考内容:
https://zhuanlan.zhihu.com/p/45852709
在这里用的是知乎上一博主自己的照片集,主要识别两个任务:库里和杜兰特.
https://github.com/JustTryItNow/YOLO_images_script

我的下载地址为:E:\yolo训练数据集\YOLO_images_script-master
在这里插入图片描述其中train是用来训练的, val是用来测试的

2,做标签

2.1图片标记

推荐labelImg
[LabelImg使用的步骤可以参考]**(https://cloud.tencent.com/developer/news/325876)**博主写的很详细。
打开labelimg
在开始菜单中找到anaconda prompt,打开
在这里插入图片描述使用cd 命令进入刚刚下载解压的labelimg文件夹,例如:

cd E:\火狐文件下载\labelImg-master(1)\labelImg-master
然后安装pyqt,安装命令:
conda install pyqt=5
安装完成后,执行命令:
pyrcc5 -o resources.py resources.qrc
这个执行完成是没有任何返回结果的
最后,输入命令:
python labelImg.py
在运行python labelImg.py 时可能会遇到报错 No module named ‘libs.resources’
解决方法 把labelImg-master文件夹下的resources.py复制到\labelImg\libs文件夹下面即可解决

可以看到labelimg打开了,如下图:
在这里插入图片描述

标记好的图片是xml形式。

2.2把xml文件转化为txt

把xml文件转化为txt的代码:
转换文件 test.py

import os
import xml.etree.ElementTree as ETdirpath = r'D:\\darknet-master\\darknet-master\\build\\darknet\\x64\\data\\1123\\'  # 原来存放xml文件的目录
newdir =r'D:\\darknet-master\\darknet-master\\build\\darknet\\x64\\data\\1124\\'  # 修改label后形成的txt目录if not os.path.exists(newdir):os.makedirs(newdir)dict_info = {
    'smoke': 0,'cup':1}  # 有几个 属性 填写几个
#有两个的话就这样写
for fp in os.listdir(dirpath):if fp.endswith('.xml')
  相关解决方案