前言
YOLO是一种目标检测方法,它的输入是整张图片,输出是n个物体的检测信息,可以识别出图中的物体的类别和位置。YOLOv4是在YOLOv3的基础上增加了很多实用的技巧,使得速度与精度都有较大提升。v4版本设计思路如下:
输入端:在模型训练阶段,使用了Mosaic数据增强、cmBN跨小批量标准化、SAT自对抗训练;
BackBone层:也称主干网络,使用CSPDarknet53网络提取特征;同时使用Mish激活函数、Dropblock正则化;CSP 跨阶段部分连接。
Neck中间层:这是在BackBone与最后的Head输出层之间插入的一些层,Yolov4中添加了SPP模块、FPN+PAN结构;也支持“多尺度特征检测”,三种输出特征图分为19*19、38*38、76*76,对应检测大物体、中等物体、小物体。
Head输出层:输出层的锚框机制与YOLOv3相同,其中通过聚类提取先验框尺度,并约束预测边框的位置。主要改进的是训练时的损失函数CIOU_Loss,以及预测框筛选的DIOU_nms。
论文地址:YOLOv4: Optimal Speed and Accuracy of Object Detection
Pytorch-YOLOv4 开源代码:https://github.com/Tianxiaomo/pytorch-YOLOv4
Tensorflow 2-YOLOv4 开源代码:https://github.com/hunglc007/tensorflow-yolov4-tflite
目录