江城以北

导航

Yolov5算法结构原理学习笔记(非原创,转载+注释) 2021/5/24

结构框架

本大段参考
https://blog.csdn.net/WZZ18191171661/article/details/113789486

输入端:在模型训练阶段,提出了一些改进思路,主要包括Mosaic数据增强、自适应锚框计算、自适应图片缩放;
基准网络:融合其它检测算法中的一些新思路,主要包括:Focus结构与CSP结构;
Neck网络:目标检测网络在BackBone与最后的Head输出层之间往往会插入一些层,Yolov5中添加了FPN+PAN结构;
Head输出层:输出层的锚框机制与YOLOv4相同,主要改进的是训练时的损失函数GIOU_Loss,以及预测框筛选的DIOU_nms

  1. Mosaic数据增强
    把4张图片,通过随机缩放、随机裁减、随机排布的方式进行拼接
    参考网址:https://www.yuque.com/huoxiangshouxiangwanghuo/xg3nah/momd0o

  2. 自适应锚框计算
    预设边框先大致在可能的位置“框“出来目标,然后再在这些预设边框的基础上进行调整
    参考网址:https://blog.csdn.net/ahelloyou/article/details/111409090

  3. Focus结构
    Focus模块在v5中是图片进入backbone前,对图片进行切片操作,具体操作是在一张图片中每隔一个像素拿到一个值,类似于邻近下采样,这样就拿到了四张图片
    Focus使图片在下采样的过程中,不带来信息丢失的情况下,将W、H的信息集中到通道上,再使用3 × 3的卷积对其进行特征提取,使得特征提取得更加的充分

  4. 参考网址:https://blog.csdn.net/qq_39056987/article/details/112712817
    CSP结构
    将block的输入分为两部分一部分经过dense block计算,另一部分直接连接到transition layer
    参考网址:https://blog.csdn.net/weixin_47444348/article/details/109265497

  5. FPN —— 特征金字塔
    FPN主要解决的是物体检测中的多尺度问题,通过简单的网络连接改变,在基本不增加原有模型计算量的情况下,大幅度提升了小物体检测的性能

  6. 损失函数GIOU_Loss
    GIoU是源自IoU的一种边框预测的损失计算方法,在目标检测等领域,需要对预测边框(pre BBox)与实际标注边框(ground truth BBox)进行对比,计算损失

输入端-输入端表示输入的图片。该网络的输入图像大小为608*608,该阶段通常包含一个图像预处理阶段,即将输入图像缩放到网络的输入大小,并进行归一化等操作。在网络训练阶段,YOLOv5使用Mosaic数据增强操作提升模型的训练速度和网络的精度;并提出了一种自适应锚框计算与自适应图片缩放方法。

基准网络-基准网络通常是一些性能优异的分类器种的网络,该模块用来提取一些通用的特征表示。YOLOv5中不仅使用了CSPDarknet53结构,而且使用了Focus结构作为基准网络。

Neck网络-Neck网络通常位于基准网络和头网络的中间位置,利用它可以进一步提升特征的多样性及鲁棒性。虽然YOLOv5同样用到了SPP模块、FPN+PAN模块,但是实现的细节有些不同。

Head输出端-Head用来完成目标检测结果的输出。针对不同的检测算法,输出端的分支个数不尽相同,通常包含一个分类分支和一个回归分支。YOLOv4利用GIOU_Loss来代替Smooth L1 Loss函数,从而进一步提升算法的检测精度

posted on 2021-05-24 18:36  江城以北  阅读(2981)  评论(0编辑  收藏  举报