YOLOv1论文学习

部署运行你感兴趣的模型镜像

网址:You Only Look Once: Unified, Real-Time Object Detection https://arxiv.org/abs/1506.02640

  1. 与先前的方法不同,YOLO直接讲目标检测过程作为一个回归问题,来将空间上可分的bounding boxes和相关的类概率两者一起进行回归。从而可以在一次评估中,完成bounding boxes和类概率的预测
  2. 优点:可以进行端到端的优化来提高性能;很快,可以学习到对象的通用表达形式
  3. 缺点:YOLO将会有更多的定位错误,但是对于背景来说,它的false positives会更少
  4. YOLO可以使用来自于整个图片上的特征来对所有类别对象和所有bb进行决策
  5. 对于每一个网格,需要去预测B个bb,以及该box对应的confidence score。每一个bb的confidence score:reflect how confident the model is that the box contains an object and also how accurate it thinks the box is that it predicts.反映了模型对于当前bb包含一个对象,同时它认为该预测的box有多准确的程度。注意,若当前cell中确实不存在对象,那么confidence scores就认为是0。每一个bb都有5个预测分类:x,y,w,h,confidence。其中(x, y)表示box的中心点。在这里插入图片描述
  6. 同时,每一个网格还需要预测C个条件类别概率,即已知当前对象,该对象对应的类别的概率。注意,类别条件概率与boxes的数目之间相互独立,对于每一个grid cell, 只预测一组类别概率
  7. 在测试阶段,依据右侧公式即可得到对于每一个bb来说的具体类别所对应的confidence score。在这里插入图片描述
    这些confidence score编码的信息为:在当前box中的c各个class的概率,以及每一个预测的box与对象的拟合程度
    将每一个输入图片划分为SxS的网格,并且在每一个网格中划分B个bb
    在这里插入图片描述
  8. 具体网络结构设计如下:使用24个卷积层,后面接2个全连接层。注意,在卷积层之间,为了减小来自于前面那些层的特征空间大小,交替的使用了1x1的卷积层。
    在这里插入图片描述
    预训练过程:将图片划分为228x228大小的小块,在ImageNet数据集上进行预训练,注意,此时只采用前20层卷积层,后面加一个平均池化层和一个全连接层。
    正式训练:将前面训练好的20层卷积层,再加上4层卷积层和2个全连接层,新加的这些层的权值由随机初始化得到。且,将提高输入图片的分辨率到448x448
    输出的处理:进行归一化。其中,对于每个bb的长和宽,将它们根据整幅图片的长和宽进行归一化;对于x, y值将他们相对于一个特定的grid cell location计算偏移量。两者均处于0-1之间
    输出:整个网络的输出是输入image中bb的坐标和类别的概率;对于每一个grid来说,只选取一个bb来作为该单元的代表来完成对一个对线打个预测,该bb在当前单元中具有最高IOU
    激活函数的使用:最后一层采用线性激活函数,其余层均使用leaky rectified linear activation
    误差函数:用误差的平方的和。但是,
    1. 由于很多grid cells并不包含任何对象,这将使得它们的confidence score均为0,也即会使得对于定位误差和分类误差不同的效果,这会导致模型不稳定,即模型训练会早早的发散出去。所以,最终对定位误差和分类误差赋予不同的权值来更好的衡量平均精确度。增大bb坐标预测损失的权值λcoor,减小对于那些不包含对象的bb的confidence predictions损失的权值λnoobj
    2. 对于大boxes和小boxes,和的平方的误差赋予它们的权值都是相等的,但是对于同一个偏移量,对于大boxes的影响会比小boxes带来的影响小。所以,为了能够稍微减轻一些这个影响,使用bb的长和宽的正平方根来进行预测,而不是直接使用长和宽的值
      在这里插入图片描述
      其中,1obj_i表示在当前单元i中是否有对象出现;1obj_i_j表示在单元i中第j个bb作为对于当前预测的代表。对于这个损失函数的理解,前面没有加权值λ的项是原始loss计算值,其余3项均为根据上述1、2两种情况进行的惩罚,来使得训练过程收敛
  9. 网格设计使得在bb预测过程中强制保证了空间松散性,通常来说,一个对象落在哪一个网格中是很明显的,然后对于每一个对象网络只为其预测一个box。但是,对于一些较大的对象,或者是接近于各个grid的边界的对象来说,需要借助多个cells来进行定位。此时,就要使用非最大抑制来减少重复的检测
  10. 9中提到的限制较强,这个空间上的约束限制了模型可以预测的相近的对象的数目,当一些小对象以组的形式出现时,模型表现的效果不好。同时,对于新的设置,新的对象出现时,泛化性交叉。且由于在过程中使用了下采样方式减小特征空间,在训练和测试过程中只是用了相对来说较为松散的特征。最后一个就是8.2中的缺陷
  11. 比较结果:
    在这里插入图片描述
    与Fast-RNN的比较结果:YOLO对对象的定位效果交叉,定位误差比其它误差总和还多。Fast-RCNN具有较小的定位误差,但是又有着更多的北京误差,有13.6%的检测认为该grid中不包含任何对象
    其中: correct: correct class and IOU>.5
    Localization: correct class, .1<IOU<.5
    Similar: class is similarm IOU>.1
    Other: class is wrong, IOU>.1
    Background: IOU<.1 for any object
    在这里插入图片描述
    在计算机视觉中的应用
    在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Yolo-v5

Yolo-v5

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

### 关于YOLOv8论文解读与学习教程 目前官方尚未发布名为“YOLOv8”的正式学术论文或技术文档。然而,基于YOLO系列的发展趋势以及社区内的讨论[^4],可以推测YOLOv8可能延续了YOLOv7的设计理念,并进一步优化了以下几个方面: #### 效率驱动模型设计 YOLOv8的核心设计理念可能是围绕提高计算效率和推理速度展开。具体表现为: - **通道数量调整**:通过减少某些层的通道数来降低计算复杂度,从而提升运行效率。 - **紧凑倒置模块 (CIB)**:这是一种轻量化的卷积操作单元,能够在保持精度的同时显著减少参数量和浮点运算次数。 - **部分自注意力机制 (PSA)**:引入局部区域的关注能力,增强模型对于细粒度特征的理解力,特别是在密集场景下的表现更佳。 以下是假设性的YOLOv8架构特点总结(需等待官方确认): 1. 继续沿用残差连接的思想构建更深更强壮的基础骨干网路; 2. 增强多尺度融合策略以更好地捕捉从小到大的各类目标信息; 3. 集成先进的正则化手段防止过拟合现象发生比如DropBlock或者CutMix等技术应用其中; 虽然还没有确切的公开资源可以直接用于深入研究YOLOv8,但可以通过以下方式获取相关信息并开展自学活动: - 密切跟踪Ultralytics团队发布的最新动态及其维护的相关代码库https://github.com/ultralytics/yolov5 ,因为该组织一直致力于推动整个YOLO家族的技术进步; - 参考先前版本即从v1至v7的各项研究成果积累经验教训以便更快理解未来可能出现的新特性; - 加入专门针对计算机视觉方向的知识分享平台如知乎专栏、简书博客等等寻找志同道合者共同探讨交流心得体验收获成长乐趣无限延长个人职业生涯长度宽度厚度均有所增加! ```python import torch from ultralytics import YOLO # Load a model model = YOLO('yolov8n.pt') # load an official model model = YOLO('path/to/best.pt') # or custom trained # Use the model for inference results = model('https://ultralytics.com/images/bus.jpg') ``` 以上代码片段展示了如何加载预训练权重文件并对单张图片执行预测任务的过程非常简单易懂适合初学者快速入门实践尝试效果立竿见影令人满意不已!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值