首页 > 编程语言 >计算机视觉:YOLO V5目标检测算法模型

计算机视觉:YOLO V5目标检测算法模型

时间:2024-12-21 12:32:16浏览次数:5  
标签:YOLOv5 检测 模型 YOLO 算法 V5 图片

1. YOLO V5模型概述

1.1 YOLOv5的概念

YOLOv5是一种基于深度学习的目标检测模型,相较于YOLOv4,YOLOv5模型在目标检测精度和速度上都有了显著的提升。

YOLOv5模型基于PyTorch开发,利用主干网络、检测头和损失函数等模块,能够实现对图像中多个目标的快速检测和定位。

1.2 YOLOv5模型的组成

  • Backbone(骨干网络):YOLOv5使用CSPDarknet53作为骨干网络,CSPDarknet53是一种深度残差网络结构,它使用了CSP(Cross Stage Partial)连接来减少参数量并提升特征表达能力。

  • Neck(特征融合模块):YOLOv5使用PANet作为特征融合模块,PANet通过建立金字塔结构,将不同尺度的特征图进行融合,提高了模型对不同尺度目标的检测能力。

  • Head(检测头部):YOLOv5使用YOLOv4的一个改进版本,即YOLOv3-Tiny的检测头部结构,该结构包含了多个卷积层和全连接层,用于生成预测框和置信度。

2. YOLO V5的创新点

2.1 数据输入

1:Mosaic数据增强

        Yolov5的输入端与Yolov4同样采用了Mosaic数据增强,对四张图片随即缩放,随机裁剪,随机排布之后再拼接。(丰富了数据集、降低了训练成本。)

2:自适应图片缩放-letterbox

        letterbox操作在目标检测算法中主要用于自适应图片缩放,确保图片在缩放时保持其长宽比,同时填充空白部分以适应模型输入要求。(对原始图像自适应的添加最少的黑边)

2.2 -anchor生成

1:自适应锚框计算

        锚框(Anchor box),用于预测框计算做参考的预定义框,基于这个参考,算法生成的预测框仅需要在这个锚框的基础上进行“精修或微调fine-tuning”即可,这样算法可以收敛的更快,检测效果更好。

        Yolov5中将此功能嵌入到代码中,每次训练时,自适应的计算不同训练集中的最佳锚框值

2.3 -Backbone结构(骨干网络)

1: CSPDarkNet53模型结构+Focus结构

        图片进入backbone前,Focus结构对图片进行切片操作。

        mAP(mean Average Precision)用于衡量目标检测算法的性能。全类平均正确率(mAP,又称全类平均精度)是将所有类别检测的平均正确率(AP)进行综合加权平均而得到的。

2:Focus结构

        Yolov5与Yolov4相比,添加了Focus结构。

        在每张图片中每隔一个像素采集一个值,这样可组合为4张互补且无信息丢失的图片,同时将宽高信息集中到通道空间,输入通道扩充4倍,拼接后的图片相对于原图片的RGB三通道模式变为12通道,即4x4x3的图像经切片后变为了2x2x12的特征图。 

2.4 -Neck(特征融合模块)

FPN+PAN的结构

        FPN是自顶向下的,将高层的 特征信息通过上采样的方式进行 传递融合,得到进行预测的特征 图。

        PAN一个自底向上的金字塔, 这样的操作是对FPN的补充, 将低层的强定位特征传递上去。

1.5 损失函数

1:Bounding Box的损失函数-GIOU_Loss

3. 特点与意义

3.1 YOLO V5特点

1、模型的推理速度快

2、可以进行实时检测,准确率高

3.1 YOLO V5在深度学习发展史上的意义

1、促进了目标检测领域的技术更新、发展。

2、促进卷积神经网络工业化应用的发展。

标签:YOLOv5,检测,模型,YOLO,算法,V5,图片
From: https://blog.csdn.net/Helowr/article/details/144617883

相关文章

  • 计算机视觉:YOLO V1目标检测
    1目标检测概述1.1目标检测        目标检测(ObjectDetection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置计算机视觉中关于图像识别的四类任务        分类-Classification:解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什......
  • 【寒武纪mlu220模型移植】(一)目标检测YoLoV8
    前言:目标检测可能是大家用的比较多的,先完善这一篇吧。yolov5的导出可以参考官方文档。并且博主比较懒,已经做过一遍的事情,不想验证第二遍,如果有步骤错误或者疏漏导致中间遇到了问题,可以先自己debug,流程大致就是这样的。一、修改源码首先是拉取yolov8最新的源码,最新的commit即可,任......
  • 强化学习算法中的log_det_jacobian
    相关:https://colab.research.google.com/github/google/brax/blob/main/notebooks/training_torch.ipynb之前写过一篇同主题的文章,后来发现这个文章中有一些问题,不过也有些不好改动,于是就新开一篇来进行更正和补充!!!之前版本:https://www.cnblogs.com/xyz/p/18564777之所以之......
  • 如何使用Yolov8训练使用——智慧煤矿检测井下作业 矿工煤矿工作人员检测 液压支撑防护
    煤矿井下开采异常检测数据集,用于目标检测智慧矿井智能分析应用数据集包含6类目标:1.煤矿工作人员检测2.液压支撑防护板检测(液压支撑防护板所有角度如防护板0到30度,30度到60…等多角度检测,防护板异常等)3.大煤块检测(输送带上的异物,锚杆,煤矸石等类别)4.采煤机拖揽检测5.......
  • 1v1视频软件源码,如何优化快速排序算法低效问题?
    1v1视频软件源码,如何优化快速排序算法低效问题?快速排序快速排序也遵循分治的思想,它与归并排序不同的是,快速排序是原地排序,而且快速排序会先排序当前数组,再对子数组进行排序,它的算法步骤如下:1、哨兵划分:选取数组中最左端元素为基准数,将小于基准数的元素放在基准数左边,将......
  • 77.《排序算法实现》
    插入排序:直接插入排序:voidInsertSort(ElemTypeA[],intn){inti,j;for(inti=2;i<=n;i++)//从第二个元素开始遍历数组if(A[i]<A[i-1])//如果当前元素小于前一个元素{A[0]=A[i];//将当前元素暂存到A[0]......
  • 声音提取引擎算法
    声音提取引擎算法是一种用于从音频信号中提取有用信息的技术,广泛应用于语音识别、音频分析和声音处理等领域。我们可以总结出几种主要的声音提取算法及其应用。MFCC是最常用的语音特征提取方法之一,它通过傅里叶变换和滤波器组处理来捕捉语音信号的频率和振幅特征。MFCC的计算......
  • YOLOv5裂缝检测系统,YOLOv5裂缝识别检测,YOLOv5训练自己的裂缝数据集,深度学习裂缝识别
    项目源码+数据集(订阅2024年深度学习专栏获取源码,订阅后私信订阅截图+项目名+邮箱):请订阅下方专栏获取源码https://blog.csdn.net/m0_68036862/category_12294299.html?spm=1001.2014.3001.5482摘要裂缝是结构安全中常见的损伤形式,尤其在道路、桥梁、建筑物等基础设施中,裂......
  • 深度学习YOLOv5驾驶疲劳检测,YOLOv5训练自己的驾驶疲劳数据集,yolov5安全驾驶检测
     项目源码+数据集(订阅2024年深度学习专栏获取源码,订阅后私信订阅截图+项目名+邮箱):请订阅下方专栏获取源码https://blog.csdn.net/m0_68036862/category_12294299.html?spm=1001.2014.3001.5482背景1.交通安全的迫切需求疲劳驾驶是全球范围内交通事故的重要诱因之一。据......
  • 【算法】【优选算法】模拟
    目录一、模拟简介二、1576.替换所有的问号三、495.提莫攻击四、6.N字形变换五、38.外观数列六、1419.数⻘蛙一、模拟简介模拟就是依葫芦画瓢,题目会将如何做给出来,直接做出来就行。做题过程:先模拟算法流程,再将流程转化为代码。二、1576.替换所有的问号题目链接:1......