关于Windows10系统下YOLOv4—Darknet具体的环境配置和训练过程,见我之前写的这篇博客,我最近又按照其步骤搭建训练了一遍,没有问题,一次通过,但有几个小地方做了补充。
https://blog.csdn.net/qq_45445740/article/details/108253155
这次我的环境不是VS2017 + OpenCV3.4,而是选择了VS2019 + OpenCV4.4,发现也可以正常训练,很流畅。
本次训练的类别数是3,最大迭代次数设置的是max_batches=6000,每训练1000次保存一次权重。
以下是训练和测试过程:
在当前目录下就会出现如下几个loss曲线图:
在backup目录下会保存相应的权重文件
测试:
darknet.exe detector test data\obj.data yolo-obj.cfg backup\yolo-obj_6000.weights .\data\test.jpg
其中有几个需要注意的地方:
1.图像和标签要一一对应
在打标签的时候,如遇到没有需要标注目标的图像,需要将其删除,不要放在obj文件夹下,即jpg和txt要一一对应,
否则会报如下的错误:
2.利用Kmeans聚类出属于自己数据集的先验框
原本框架中提供的anchor大小是一个通用值,不修改直接训练自己的数据集当然也可以,但为了更加适合自己的数据集,通过Kmeans聚类算出属于自己数据集的anchor大小。
具体操作如下:
①打开powershell
②打开到.\darknet-master_YoloV4\darknet-master\build\darknet\x64
文件目录下,输入
./darknet.exe detector calc_anchors data/config.data -num_of_clusters 9 -width 416 -height 416
运行过程如下:
将上面这九对数字复制替换到yolov4-custom.cfg配置文件中的三个yolo层的地方,具体的位置参考https://blog.csdn.net/qq_45445740/article/details/108253155
中的 四.用YOLOv4训练自己的数据集
参考资料:
https://www.bilibili.com/video/BV1kt4y1C7YC
https://www.bilibili.com/video/BV1ap4y1e7ng
https://www.bilibili.com/video/BV1HZ4y1s7YF