1.首先,需要的环境

1)VS 我使用的是VS2017

2)cuda以及cudnn安装

参考【CUDA】cuda安装 (windows版)_haoweixl的博客-CSDN博客_cuda安装,注意在第三步的第2节中的Visual Studio Integration,最开始按照文中说的不选择,导致后面使用VS编译darknet的时候无法在项目属性中配置cuda/cuda c++,后来直接覆盖安装后解决。其他步骤按照文中来,并最终按照测试代码测试成功即可。

3)python

4)opencv 我的是3.45,注意高版本的opencv文件中的include目录中只有opencv2头文件没有opencv头文件,可能与后续配置VS步骤冲突,建议安装较低版本的。安装方式直接下载官网文件,解压到相应目录就行。

5)darknet源码:GitHub - AlexeyAB/darknet: YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks for Object Detection (Windows and Linux version of Darknet )

2.配置win10+vs2017+cuda+opencv环境,并编译darknet源码,编译中建议使用relese+x64版本

这里参考darkNet yolo+vs2017+cuda10.1+win10配置(详细) - 简书

出现的问题可以参考进行修改darkNet配置的问题 - 简书

配置完成使用dog.jpg测试目标识别

3.数据集的制作

1)这里数据集制作及相应txt文件的生成,参考Yolov4-训练自己的数据集(非ROS) - 知乎

由于我有标注好的数据,所以使用现有标注好的数据集,使用步骤二.的代码生成2007_train.txt和2007_test.txt文件,以及VOC2007/ImageSets/Main中的四个文件,注意生成的TXT文件都需要转换为UNIX文件,可以使用notepad++软件,,操作如下:

将voc_train.txt和voc_test.txt文件转换为Unix文件,打开文件后,选择编辑——文档格式转换——转换为Unix,然后点击视图——显示符号——显示所有字符,确保每一行结尾都是只有一个LF即可。

2)修改配置文件并开始训练

 YOLOv4 darknet windows10版本训练自己的数据教程_TW的博客-CSDN博客_win10 训练yolov4参考连接中的第六步

注:训练前生成训练集和测试集的路径txt文件使用voc目录下的voc_label.py文件,编辑代码,修改py文件中的路径,将文件中的目标类别名称改为自己数据集中的,运行即可生成2007_test.txt和2007_train.txt文件,再按上链接中第六步将文件转换为unix格式;

        .data文件的修改:按照链接中使用绝对路径报错,后查资料改为相对路径,建议将相应文件复制到x64目录下,backup文件夹存放训练好的模型。

(本步骤中使用的voc_label.py文件、生成的2007_test.txt和2007_train.txt等,生成文件已备份在darknet-master文件夹下,可参考进行配置。)

训练开始指令:根据提示选择是否添加 -clear指令

 

若训练中报错CUDA显存不足,则需要调小batch或者图像高和宽尺寸,subdivisions=64 图像高宽都是416可以运行。

若训练的时候报错Couldn't open file: D:\YOLOV4\darknet-master\build\darknet\x64\data\voc\2007_train.txt 打不开2007_train.txt文件,我在修改obj.data的路径为相对路径后解决

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐