[ 目标检测 ] 经典网络模型5——YOLO-v1 详解与复现


🤵 AuthorHorizon John

编程技巧篇各种操作小结

🎇 机器视觉篇会变魔术 OpenCV

💥 深度学习篇简单入门 PyTorch

🏆 神经网络篇经典网络模型

💻 算法篇再忙也别忘了 LeetCode


🚀 You Only Look Once

在此之前目标检测都有着多阶段的过程,并采用单独的分类器来进行分类 ;

R-CNN 利用一系列 SVMs 对生成的 Region proposals 进行分类预测,存在着 检测速度慢、优化难 的问题 ;

YOLO 算法将目标检测作为一个单一的回归问题,直接对输入图像进行边界框与类别概率的预测 ;

YOLO 也是 You Only Look Once 的缩写,表示只需要看一次图像就能知道是什么物体以及位于何处 ;

检测速度base YOLO – 45 FPS , Fast YOLO – 155 FPS ;


🔗 论文地址:You Only Look Once: Unified, Real-Time Object Detection

💻 作者:Joseph Redmon,Santosh Divvala,Ross Girshick,Ali Farhadi

📃 收录:CVPR 2016


在这里插入图片描述


🚀 YOLO-v1 详解

🎨 特点

滑动窗口(sliding window) 和 区域建议(region proposal) 方法不同 ;

YOLO 在训练和测试阶段都是通过获取整张图像的信息 ;

  • 检测速度快 (extremely fast) ;
  • 对图像进行全局的推理 (reasons globally about the image) ;
  • 学习高泛化性 (highly generalizable) ;

YOLO 可以实现端到端的训练和实时预测, 且能保证较高的 mAP 值 ;

注: 检测速度 ,准确率未达到领先,且针对小物体检测定位困难 ;


🎨 网络结构

将目标检测的独立组件统一为单一的神经网络,实现对整张图像和图像中的所有对象进行分析 ,利用全局特征来预测所有类别和对应的边界框 ;


🚩 网络设计

  • 将输入图像划分为 S×S 的网格,如果检测物体的中心位于该网格内,则该网格负责该物体的检测 ;
  • 每个网格负责预测 B 个边界框和对应边界框的置信度,置信度包括:是否包含物体 + IOU得分,Confidence = Pr(Object) * I O U p t IOU^t_p IOUpt
  • 每个边界框参数包括5个:x,y,w,h,Confidence,其中x,y表示预测框中心坐标,w,h是相较于整张图像的宽度和高度(值为0~1);
  • 每个网格对 C个类别进行预测,Probability = Pr(Classi | Object),概率取决于网格中是否包含物体,针对每个网格只预测一组类别概率,不管边界框数量 B 是多少 ;
  • 最后得到每个框的置信度得分 ;

在这里插入图片描述

注: 在 PASCAL VOC 数据集上,YOLO的一些参数设置如下:

    S = 7,B = 2,C = 20,最后的一层大小为 7 × 7 × 30 tensor ;


    具体可以参考以下图解:

在这里插入图片描述


🚩 结构框图

在这里插入图片描述


YOLO 网络结构受 GoogLeNet 的启发,一共是 24个卷积层 和 2个全连接层(fast YOLO 卷积层减小为9层 );

交替使用1×1卷积层用于减小前一层的特征 ;

  • 输入维度:448×448×3
  • 输出维度:7×7×30

训练阶段:

  • 在 ImageNet 1000-class competition dataset 上对前 20层 网络进行预训练,在 ImageNet 2012验证集上 top-5 达到 88% 的准确率,输入图像分辨率为 224×224 ;
  • Ren 等人的研究表明,在预训练网络中同时添加卷积层和连接层可以提高模型性能 ;
  • 而后添加了4层卷积层和2层全连接层,并随机初始化权重,将输入图像分辨率从 224×224 提升至 448×448 ;

🚩 损失函数

主要使用平方和误差,得益于它很容易优化的特点,并对平方和误差进行优化 :

  • 增加边界框坐标预测损失,减少不包含对象的边界框置信度预测损失,防止网格中不存在物体导致置信度得分趋于零从而使模型训练不稳定,设置了两个参数:λcoord = 5 ,λnoobj = 0.5 ;
  • 平方和误差对于大边界框和小边界框得到权重相同,对 w,h 偏差值采用先开方求和再平方,这样可以使大边界框中的小偏差较小边界框小偏差影响更小 ;

    最终得到的损失函数 :

在这里插入图片描述


🚩 局限性

  • 对于多物体检测困难:每个网格只能预测两个框,每个框只能有一类 ;
  • 对于新的或不寻常的目标尺寸和配置预测效果差 ;
  • 主要错误的原因说定位误差:直接预测带来的影响 ;

🚩 性能比较

在这里插入图片描述


在这里插入图片描述


🚀 YOLO-v1 复现

# 后续更新 ~

输出结果:




  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
YOLOv1YOLOv8是目标检测算法中的两个版本。YOLOv1YOLO(You Only Look Once)系列算法的第一个版本,而YOLOv8是该系列算法的第八个版本及其后续版本的总称。 YOLOv1是一种实时目标检测算法,它通过将输入图像分成网格,并在每个网格中预测目标的边界框和类别。与传统的目标检测算法相比,YOLOv1具有更快的速度和更高的准确性。然而,YOLOv1在小目标检测和定位精度方面存在一定的问题。 YOLOv8是YOLO系列算法的最新版本之一,它提供了五个不同的版本:YOLOv8n(纳米级)、YOLOv8s(小型)、YOLOv8m(中型)、YOLOv8l(大型)和YOLOv8x(特大型)。这些版本在网络结构和模型规模上有所区别,可以根据任务需求选择合适的版本。 此外,YOLOv8还提供了针对各个版本的预训练权重文件集合。这些预训练权重文件可以用于检测、分割和姿势估计等任务,并且是在COCO数据集上进行预训练的。使用这些预训练权重文件可以加快模型的训练速度和提高模型的性能。 总之,YOLOv1YOLOv8是目标检测算法中的两个版本,YOLOv8是YOLO系列算法的最新版本之一,提供了多个不同规模的版本和对应的预训练权重文件集合。这些算法可以用于实时目标检测任务,并具有较高的准确性和较快的速度。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [从YOLOv1YOLOv8的YOLO系列最新综述【2023年4月】](https://blog.csdn.net/daydayup858/article/details/130018935)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [YOLOv8预训练权重文件集合(YOLOv8n,YOLOv8s,YOLOv8m,YOLOv8l,YOLOv8x)](https://download.csdn.net/download/crasher123/87941630)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Horizon John

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

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

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

打赏作者

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

抵扣说明:

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

余额充值