人工智能

YOLOv1——YOLOv5

2020-11-17  本文已影响0人  斯文攸归

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
上一篇下一篇

猜你喜欢

热点阅读