YOLOv1
YOLOv1提出单阶段anchor-free的目标检测方法
将图像分为SxS的grid cell,每个有物体中心落入的grid cell对应回归B个BBox,每个grid cell预测一个P(Cls|Object),B个BBox,每个BBox预测5个值:x,w,h,w,confidence,损失函数包括三部分,坐标回归误差,分类误差和IOU误差
YOLOv2
YOLOv2 在v1基础上提出多项改进
yolov2
BatchNorm加入到每个卷积层的后面,效果提升2.4%
用高分辨率(448x448)的图像来微调分类模型(backbone),效果提升4%
使用anchor boxes(相对于cell进行偏移,框的重心不能超过cell),每个grid cell产生9个anchor boxes(13x13x9),移除全连接层(Darknet-19,19个卷积+5MaxPooling),输入图像尺寸可以是任意的
对anchor box的设置进行k-means聚类,k=5
passthrough,将最后的pooling+convolution之前的特征(26x26x512)在空间维度上拆分为四份(13x13),然后拼接,并叠加到Pooling+Convolution的结果上,以此来保留部分细节信息,缓解小目标的漏检问题
多尺度图像训练,整个网络降采样的倍数是32,采用10种图像尺寸,训练时10个batch就随机更换一种尺寸
增加输入图像的分辨率,效果提升
YOLOv3
YOLOv3 在v2基础上提出少量改进
提出新网络Darknet53,采用类似FPN的多尺度特征融合结构,并进行多尺度预测
yolov3
YOLOv4
YOLOv4 在v3基础上,做了大量实验,总结出一个更好的模型
Backbone:CSPDarknet53(Cross-stage partial connections+Multiinput weighted residual connections)(参考CSPNet)
CSPNet
Neck:SPP,PAN
Head:YOLOv3
Tricks:
CutMix
将图像一部分区域cut掉但不填充0像素而是随机填充训练集中的其他数据的区域像素值(cropped),类别按一定的比例分配
Mosaic data augmentation
Mosaic数据增强,把四张图拼成一张图来训练
mosaic
DropBlock
label smoothing
Mish Activation
Mish
Cross mini-Batch Normalization
CmBN
Self-Attention Module
SAM
Path Aggregation Network
PAN
BiFPN
Self-Adversarial Training
在一张图上,让神经网络反向更新图像,对图像做改变扰动,然后在这个图像上训练
YOLOv4整体结构
YOLOv4 Architecture
YOLOv4总结
yolov4 summary
YOLOv5
YOLOv3/v4 part pytorch实现
移动端部署
yolov5
网友评论