YOLO模型详解

简介

       YOLO模型是用来目标检测的,也就是在一副图像中检测到物体并识别出物体在图像中所在的位置,YOLO相比于以往的带有建议框的神经网络,速度大有提升,下边详细介绍YOLO网络

模型特点

  • 取消了建议框,直接使用神经网络生成对应位置
  • 之前RCNN系列使用的建议框之间会重叠,造成重复劳动
  • YOLO是端到端的,输入一次图像即可完成分类与回归工作

YOLO网络层

        网络还是比较简单的,从448*448*3的图像依次经过途中所有卷积层与池化层得出了7*7*1024的特征图,再经过两层全连接层得到7*7*30的输出结果

        下边解释一下为什么输出层数是30,当我们得到7*7*1024的特征图时,对每一个网格都做一次预测,也就是预测以该网格为中心,某一高度和宽度的box中有没有待检测的物体,也就是置信度,所以可以发现我没找一个box,就等于求了(x,y,w,h,c)五个量,其中x和y是box中心在该网格的位置,因为box中心不可能都在网格的正中间,所以x,y代表中心在网格的相对位置,如果box中心在网格左上角,那么x=0,y=0,如果box中心在网格右下角,那么x =1,y=1,而h和w也不是代表box真实的高度和1宽度,而是与实际图片像素大小的比,比如box的宽为5个像素,而图片实际大小为448,那么w = 5/448;置信度c = P*IoU,其中P代表当前格子里是否含有待检测的物体,1代表有,0代表没有,这里和具体哪个类没有关系,比如在voc2012数据集中,一共有20个类,如果P=1代表当前box中含有20类中某一种或某几种,如果P=0则代表box只有背景,IoU代表交并比。所以找一共box就需要预测5个值,文章中每个网格处预测了两个box,所以就有十个参数,知道了含不含待检测物体后还要检测物体属于哪一类,所以还要预测20个值,代表当前物体属于某一类的概率,于是有5*2+20 = 30

 

       文章每个网格只选取2个box,但并不意味着不能多选,选的越多精度越多,但是会消耗大量的计算量,具体选多少是精度与代价的折中

模型预测

        现在已经知道了某个box的参数以及该box中属于各类的概率,下边要计算该box属于第i类的置信度,每个网格预测的class信息和bounding box预测的confidence信息相乘,就得到每个bounding box的class-specific confidence score,这个值是用来衡量box选取位置和识别精度的好坏的:

                         preview

       接下来就是设置阈值,将得分低的box过滤掉,然后对保留的box进行非极大值抑制处理,就得到最终的检测结果

损失函数

        YOLO的损失包括box的位置、置信度、类别损失,如下所示:

        为什么h和w要加根号:举个例子,如下图所示三个框,绿框为预测值,红框为标准框,如果直接做差平方,B与A和B与C的loss是一样的,可是考虑面积B是A的25倍,而C是B的三倍多一些,很明显B应该更加接近C,所以当加了个根号之后,B对A损失变为3.06,B对C损失变为1.17,更加符合实际判断

                                      

 

模型缺点

  • 对小物体及邻近目标检测效果差:当一个小格中出现多于两个小物体或者一个小格中出现多个不同物体时效果欠佳。 

          原因:B表示每个小格预测边界框数,而YOLO默认落入同一格子里的所有边界框均为同种类物体。

  • 图片进入网络前会先进行resize为448X448,降低检测速度(大约几十ms),如果直接训练对应尺寸会有加速空间。

 

 

### YOLO11模型架构 YOLO11继承了YOLO系列一贯的设计理念,即通过单阶段检测器实现快速而高效的目标检测。相比于YOLOv8,YOLO11的主要改进在于将C2f组件替换为C3k2,并引入了一种新的注意力机制——C2PSA模块[^4]。 #### C3k2 组件 C3k2是一种新型卷积层设计,旨在提高特征提取能力的同时减少计算量。该组件采用了更高效的内核配置方式来增强局部感受野的效果,从而提升了模型对于复杂场景下的目标识别精度。 #### C2PSA 注意力模块 为了进一步提升模型性能,YOLO11加入了基于通道和空间维度上的双重自适应加权策略(C2PSA),使得网络能够更加聚焦于重要区域的信息处理过程,进而改善整体表现效果。 --- ### YOLO11的特点 - **更高的准确性**:得益于新加入的C2PSA注意力建模技术,YOLO11能够在保持实时性的前提下显著提升检测质量; - **更快的速度**:优化后的C3k2结构不仅增强了特征表达能力还降低了运算成本,实现了速度与效率之间的良好平衡; - **更好的鲁棒性**:通过对不同尺度物体的有效捕捉以及背景噪声抑制功能的应用,使YOLO11具备更强的实际应用价值; --- ### 使用方法详解 要使用YOLO11模型进行目标检测任务,可以通过访问Coovally平台完成相应操作: 1. 登录到Coovally网站后导航至【全部模型】板块; 2. 利用搜索栏查找`YOLO11`关键词定位所需版本; 3. 下载官方提供的预训练权重文件或直接在线创建个人专属实例; 4. 转跳至【模型集成】界面按照提示说明执行必要的环境搭建工作; 此外,如果希望在本地环境中运行YOLO11,则需先安装Python依赖库并加载指定格式(.pt)的参数集: ```python from ultralytics import YOLO11 model = YOLO11('path_to_your_weights_file/yolov11s.pt') results = model.predict(source='your_image_or_video', conf=0.5, iou=0.45) ``` 此段代码展示了如何利用Ultralytics框架调用已训练好的YOLO11模型来进行图像/视频流中的对象识别作业[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

负壹

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

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

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

打赏作者

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

抵扣说明:

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

余额充值