1)YOLOv4网址:https://github.com/AlexeyAB/darknet
如果安装了Git软件,可直接克隆项目到本地:
git clone https://github.com/AlexeyAB/darknet
2)权重文件在百度网盘里面:链接: https://pan.baidu.com/s/1LK2tohp5qKNPsmExzBcbBw 密码: nr24
可以复制data\voc.names再根据自己情况的修改;可以重新命名如:data\voc-mask.names
可以复制data\voc.data再根据自己情况的修改;可以重新命名如:data\voc-mask.data
可以复制cfg\yolov4-custom.cfg再根据自己情况的修改;可以重新命名cfg\yolov4-mask.cfg:
batch=16 subdivisions=8 (如果显存溢出改为16)
max_batches = 10000
steps=8000, 9000
在cfg\yolov4-mask.cfg文件中,三个yolo层和各自前面的convolutional层的参数需要修改:
三个yolo层都要改:yolo层中的classes为类别数,每一个yolo层前的convolutional层中的filters =(类别+5)* 3
yolo层 classes=2, convolutional层 filters=21
训练好后可以在backup目录下看到权重文件。
尝试test前要修改cfg文件,切换到test模式。可以重新建立一个测试cfg文件, 如yolov4-mask-test.cfg
设置:
batch=1 subdivisions=1
darknet.exe detector test data\voc-mask.data cfg\yolov4-mask-test.cfg backup\yolov4-mask_final.weights testfiles\img1.jpg
darknet.exe detector demo data\voc-mask.data cfg\yolov4-mask-test.cfg backup\yolov4-mask_final.weights testfiles\kouzhao1.mp4
统计 mAP@IoU=0.50:
darknet.exe detector map data\voc-mask.data cfg\yolov4-mask-test.cfg backup\yolov4-mask_final.weights
统计 mAP@IoU=0.75:
darknet.exe detector map data\voc-mask.data cfg\yolov4-mask-test.cfg backup\yolov4-mask_final.weights -iou_thresh 0.75
- 使用k-means++聚类获得自己数据集的先验框大小
darknet.exe detector calc_anchors data\voc-mask.data -num_of_clusters 9 -width 608 -height 608
D:\darknet\build\darknet\x64目录下生成anchors.txt文件
-
修改cfg文件中的先验框大小
-
重新训练和测试
NMS(Non Maximum Suppression),非极大值抑制,是目标检测框架中的后处理模块,主要用于删除冗余的bbox。
修改cfg\yolov4-mask.cfg和cfg\yolov4-mask-test.cfg
nms_kind=diounms