yolov4论文解读和训练自己数据集

阅读: 评论:0

yolov4论文解读和训练自己数据集

yolov4论文解读和训练自己数据集

前天YOLOv4终于问世——

YOLO v4 论文:.10934

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

效果相比YOLOv3和去年的EfficientDet系列提升明显。这里使用tensorflow model的测试图片对官方给出的COCO数据集训练的模型测试对比:

分别是YOLOv3和YOLOv4的测试结果,可以看到提升还是很明显的,特别是小目标的识别效果,不枉论文吹B的:

Improves YOLOv3’s AP and FPS by 10% and 12%, respectively

论文细节还在研究中,后面有空更新。我也第一时间使用YOLOv4训练了自己数据集。

具体的步骤和YOLOv3一模一样,需要下载backbone的权重:GitHub - AlexeyAB/darknet: YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks for Object Detection (Windows and Linux version of Darknet )中for yolov4.cfgyolov4-custom.cfg (162 MB)。

因为我没有梯子,能下载的兄弟请传个百度网盘分享交流。这里在网上只能找到别人分享的yolov4.weights文件,于是提取了yolov4.weights模型的backbone参数作为backbone部分的预训练模型。

训练自己数据集只需要修改yolov4-custom.cfg中三处的:

[convolutional]
size=1
stride=1
pad=1
filters=${3×(自己数据集类别+5)}  #例如COCO是3×(80+5)=255
activation=linear[yolo]
mask = 3,4,5
anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401
classes=${自己数据集类别}  #例如COCO是80
num=9
jitter=.3
ignore_thresh = .7
truth_thresh = 1
scale_x_y = 1.1
iou_thresh=0.213
cls_normalizer=1.0
iou_normalizer=0.07
iou_loss=ciou
nms_kind=greedynms
beta_nms=0.6

详细准备工作参考YOLO: Real-Time Object Detection中Training YOLO on VOC章节。

准备好后既可以开始训练:

训练过程:

这里使用车轮识别数据集对比YOLOv3和YOLOv4:

ModelAP for BodyAP for WheelmAPtime
YOLOv30.9993222357070.882007265830.94066475076812.47s/532images
YOLOv40.9983582893070.9480248707260.97319158001612.00s/532images
YOLOv3 with Mosaic0.998070916970.8883387722710.94320484462113.00s /532 imags

可以看到,在完全相同的训练数据和测试数据集上,YOLOv4提升效果非常明显!更短的时间,到达好的识别效果,特别是小目标识别效果。对YOLOv3使用YOLOv4中的马赛克增强处理,对识别也有0.3%的提升,特别是小目标的识别上。

对恶劣条件下的车轮测试对比:

可以看到,YOLOv4相比YOLOv3提升非常明显,特别是小目标的识别效果。

YOLOv4网络结构

TensorRT模型对比

这里对比YOLOv3和YOLOv4在darknet和tensorrt模型下的实验:

modelframeworktimeGPU Mem
YOLOv3darknet27.5751809MiB
YOLOv3 - pruned 99%darknet6.446685MiB
YOLOv4darknet27.572000 ms1333MiB
YOLOv4tensorrt-fp3225 ms1145MiB
YOLOv4tensorrt-fp1610 ms721MiB

可以看到YOLOv4和YOLOv3的推理速度相差不大,实际显存消耗降低明显,tensorrt可以有效降低显存消耗和推理时间。

本文发布于:2024-01-28 17:17:16,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064334438996.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   论文
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23