windows10一站式YOLOv2训练自己的数据集

  • 00.准备

    • 安装Windows10
    • 下载相关安装包:
    • 环境配置

      • 安装VS,比较简单略。(注:vs默认用的是C#开发环境,安装过程需要勾选通用Windows开发工具)
      • 安装Python
      • 配置OpenCV(不需要安装,解压exe文件夹到指定文件夹)
        • 配置系统环境变量:右键计算机>>属性>>高级系统设置>>高级>>环境变量,找到path>>编辑>>添加你的OpenCV路径,如:D:\opencv\build\x64\vc14\bin
        • 打开VS2015,新建一个C++空项目,并在源文件中添加.cpp文件
        • 打开视图>其他窗口>>属性窗口,选择属性管理器列表的Debug | x64 >>右键Microsoft.Cpp.x64.user>>属性
          • 通用属性>>VC++ 目录>>包含目录,添加
            • D:\opencv\build\include
            • D:\opencv\build\include\opencv
            • D:\opencv\build\include\opencv2
          • 通用属性>>VC++ 目录>>库目录,添加
            • D:\opencv\build\x64\vc14\lib
          • 通用属性>>链接器>>输入>>附加依赖项中,添加
            • opencv_world331.lib(注:331即opencv版本号3.3.1,如果其他版本换上对应版本号即可)
            • opencv_world331d.lib
        • OpenCV配置结束,加上头文件#include<opencv2/opencv.hpp>使用imread、imshow函数,测试打开图片,显示图片。(略)
      • 安装CUDA(会提示关闭VS)
      • 解压cudnn压缩包,将bin、include、lib\x64下的文件复制到CUDA的安装目录下对应的文件夹,如:将bin下面的文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin下。
      • 解压pthread库到指定目录。
      • 解压darknet-master到指定目录。
      • 用VS打开build\darknet\darkner.sln
        • 设置解决方案为 Release x64windows10一站式YOLOv2训练自己的数据集
        • 打开菜单栏的项目>>属性>>VC++ 目录>>包含目录,添加刚才解压的pthread和CUDA目录,如:
          • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include
          • D:\Pre-built.2\include
        • VC++ 目录>>库目录,添加相应库路径,如:
          • D:\Pre-built.2\lib\x64
          • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
        • 通用属性>>C/C++>>预处理器>>预处理器定义,编辑添加,以下:
          • CUDNN
          • OPENCV
          • _TIMESPEC_DEFINED
          • _CRT_SECURE_NO_WARNINGS
          • _CRT_RAND_S
          • GPU
          • WIN32
          • NDEBUG
          • _CONSOLE
        • 通用属性>>C/C++>>常规>>等级警告修改为3,将警告视为错误修改为否。
    • 选择Release x64解决方案,生成解决方案。得到darknet.exe。

    • 将tiny-yolo-voc.weights(https://pjreddie.com/media/files/tiny-yolo-voc.weights)复制到darknet-master\build\darknet\x64下
    • 打开命令行,输入:
      • darknet.exe detector test data/voc.data tiny-yolo-voc.cfg tiny-yolo-voc.weights data/dog.jpg
    • 如果显示出图片,终端显示对应的类别和匹配度,则表示环境已搭建成功!
  • 01.开始制作数据集

    • a.使用网上的数据集
    • b.自己制作(本文主要记录训练自己数据集的过程)
      • 拍照!拍照!拍照!大量的拍!虽然我一共也只用了250张左右。存储去文件夹中,并命名为Image
      • 对图片进行重命名:编辑pack文件夹下的rename.py,修改你的图片路径。在终端输入:python rename.py
      • 解压LabelImg工具,Windows下直接打开,Open Dir打开图片的目录。选择Create RectBox开始标注,并为类别命名,如Cube(我这里用了魔方的蓝面),标注结束,选择Save保存对应的xml文件。(注:xml可能会和图片同一路径,可以统一把xml文件复制出去,与Image同一目录)
        windows10一站式YOLOv2训练自己的数据集
      • 在darknet-master\build\darknet\x64\data目录下创建文件夹voc_data,并将Image和xml复制到这
      • 使用网友的工具对数据集Image,xml进行处理,主要参考:http://blog.csdn.net/qq_34484472/article/details/73135354
  • 02.开始训练
    • 修改配置文件
      • 修改darknet-master\build\darknet\x64\data\voc.data
        • 主要是修改类别数量,以及训练集和测试集的路径:
      • 修改darknet-master\build\darknet\x64\data\voc.names为类别名称:Cube
      • 修改darknet-master\build\darknet\x64\tiny-yolo-voc.cfg重中之重!
        • 第2行:batch=64
        • 第3行:subdivisions=16(注:这里默认为8,GTX850M会出现out of memory的情况,可以按8的倍数适当增加)
        • 第114行:filter=30(注:filters=(classes+coords+1)*num,即:1类)
        • 第120行:classes=1
    • 下载YOLO的预训练文件:darknet19_448.conv.23复制到darknet-master\build\darknet\x64\下。
    • 在命令行下输入:darknet.exe detector train data/voc.data tiny-yolo-voc.cfg darknet19_448.conv.23
    • 训练中!如果出现找不到txt文件,请参考上面网友处理数据集时的解决方案。如果出现无法打开图片,请把Image里对应用编号的图片,替换trainImage和validateImage下的图片。
    • 训练结束后,backup目录下得到tiny-yolo-voc_final.weights
  • 03.评估训练结果
    • 效果图
    • windows10一站式YOLOv2训练自己的数据集windows10一站式YOLOv2训练自己的数据集
    • 待续
  • 04.总结
    • 躺坑之后的小小备忘录。拾人牙慧,见笑了!
  • 05.参考

相关文章:

  • 2021-11-22
  • 2021-09-21
  • 2021-12-05
  • 2021-04-13
  • 2021-07-19
  • 2021-07-30
  • 2021-12-28
  • 2021-07-25
猜你喜欢
  • 2022-12-23
  • 2021-06-20
  • 2022-12-23
  • 2022-12-23
  • 2021-10-03
  • 2021-04-02
相关资源
相似解决方案