【目标检测】目标检测界的扛把子YOLOv5(原理详解+修炼指南)

1.YOLO输入端

在这里插入图片描述

1.1 Mosaic数据增强

Yolov5的输入端采用了和Yolov4一样的Mosaic数据增强的方式。

Mosaic数据增强提出的作者也是来自Yolov5团队的成员,不过,随机缩放、随机裁剪、随机排布的方式进行拼接,对于小目标的检测效果还是很不错的。

在这里插入图片描述

  • 4张图片拼接
  • 随机缩放
  • 随机裁剪
  • 随机排布

算法优点:

  • 丰富数据集
  • 减少GPU计算

1.2 自适应锚框计算

在Yolo算法中,针对不同的数据集,都会有初始设定长宽的锚框。

在网络训练中,网络在初始锚框的基础上输出预测框,进而和真实框groundtruth进行比对,计算两者差距,再反向更新,迭代网络参数。

在这里插入图片描述

  • Step1:读取训练集中所有图片的w、h以及检测框的w、h

  • Step2:将读取的坐标修正为绝对坐标

  • Step3:使用Kmeans算法对训练集中所有的检测框进行聚类,得到k个anchors

  • Step4:通过遗传算法对得到的anchors进行变异,如果变异后效果好将其保留,否则跳过

  • Step5:将最终得到的最优anchors按照面积返回

1.3 自适应图片缩放

在常用的目标检测算法中,不同的图片长宽都不相同,因此常用的方式是将原始图片统一缩放到一个标准尺寸,再送入检测网络中。

在这里插入图片描述

letterbox自适应图片缩放技术尽量保持高宽比,缺的用灰边补齐达到固定的尺寸。

2.YOLO总体架构图

在这里插入图片描述

2.1 BackBone

主要进行特征提取,将图像中的物体信息通过卷积网络进行提取,用于后面目标检测。

在这里插入图片描述

2.1.1 Focus模块

Focus层原理和PassThrough层很类似。它采用切片操作把高分辨率的图片拆分成多个低分辨率的图片/特征图,即隔列采样+拼接。

在这里插入图片描述

2.1.2 SPP模块

空间金字塔池化,能将任意大小的特征图转换成固定大小的特征向量。

在这里插入图片描述

2.1.3 CSP_X模块

backbone是较深的网络,增加残差结构可以增加层与层之间反向传播的梯度值,避免因为加深而带来的梯度消失,从而可以提取到更细粒度的特征并且不用担心网络退化。

在这里插入图片描述

2.2 Neck

对特征进行混合与组合,增强网络的鲁棒性,加强物体检测能力,并且将这些特征传递给Head层进行预测。

在这里插入图片描述

2.2.1 FPN

在这里插入图片描述

2.2.2 PAN

在这里插入图片描述

2.3 YOLO输出端

主要进行最终的预测输出。

2.3.1 Bounding Box损失函数

真实检测框和模型预测输出框的吻合程度,用于反向传播优化模型。

在这里插入图片描述

2.3.2 NMS非极大值抑制

判断相邻网格识别的是否是同一物体,消除掉多余检测框。

在这里插入图片描述

YOLOv5是一种目标检测算法,它可以用于检测图像或视频中的物体。在使用YOLOv5时,可以根据具体需求进行一些定制化的操作。例如,如果只想在指定区域内进行目标检测,可以使用一个mask来覆盖不想检测的区域,这样YOLOv5在检测时就会忽略该区域。\[1\] YOLOv5的代码是开源的,可以从GitHub上克隆其源码。GitHub是一个全球最大的代码托管平台,YOLOv5的源码也可以在GitHub上找到。该项目已经更新了多个分支,例如yolov5.1、yolov5.2等,可以根据需要选择合适的分支进行使用。\[2\] 在使用YOLOv5时,通常会使用预训练权重来初始化模型。不同的预训练权重对应着不同的网络层数,因此在使用特定的预训练权重时,需要相应地修改配置文件中的参数。例如,如果使用yolov5s.pt这个预训练权重,需要使用models目录下的yolov5s.yaml文件中的参数。为了避免修改原始配置文件,可以将其复制一份并重命名,然后根据需要进行修改。\[3\] #### 引用[.reference_title] - *1* [YOLOv5如何进行区域目标检测(手把手教学)](https://blog.csdn.net/qq_39740357/article/details/125149010)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [目标检测---教你利用yolov5训练自己的目标检测模型](https://blog.csdn.net/didiaopao/article/details/119954291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海洋 之心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值