YOLOv4-tiny训练数据集(kmeans聚类anchors)

本文最后更新于:2022年5月5日 上午

YOLOv4-tiny训练数据集(kmeans聚类anchors)

接着上篇开工总结,上次总结到想训练yolov4-tiny检验下模型对小目标的感知能力,白嫖的GPU平台不得行。只好用自己的电脑训练数据了,训练起来也不算难。

网上有看到用Kmeans聚类计算先验框 可以有效的提升检测准确率。

在darknet中源码默认附带了计算的命令:

yolov4(tiny)聚类先验框

yolov4-tiny:

./darknet detector calc_anchors data/train.data -num_of_clusters 6 -width 416 -height 416

yolov4:

/darknet detector calc_anchors data/train.data -num_of_clusters 9 -width 416 -height 416

将聚类后得到的anchor替换cfg配置文件里对应的参数,再进行数据训练查看效果。

训练效果对比

总共训练两次:

①未使用kmeans聚类,map达到60%左右

②使用kmeans聚类预测框,map达到90%左右

遇到的坑

之前在windows下训练就遇到过opencv报错 -> video stream stopped

解决方法:查了很多资料,有说卸载opencv重新安装,重新编译darknet的。感觉都不靠谱,按照以往经验这就是突然安装什么软件或者运行什么程序导致opencv文件丢失的,之前安装opencv用的是源码编译安装,这次直接到安装目录下重新执行安装命令,问题得以解决。