深入解析YOLO v1:实时目标检测的开山之作

目录

YOLO v1 算法详解​

​1. 核心思想​

​2. 算法优势​

​3. 网络结构(Unified Detection)​​

​4. 关键创新​

​5. 结构示意图(Fig1)​

Confidence Score 的计算​

类别概率与 Bounding Box 的关系​

后处理:非极大值抑制(NMS)​​

网络结构实现细节​

输出张量示例(7×7×30)​​


深入解析YOLO v1:实时目标检测的开山之作​​

YOLO(You Only Look Once)是目标检测领域的里程碑式算法,由Joseph Redmon等人在2016年CVPR会议上提出。作为第一个将目标检测任务转化为单阶段(one-stage)回归问题的算法,YOLO v1以其惊人的速度简洁的网络结构迅速成为研究热点。本文将全面剖析YOLO v1的核心思想、实现细节及技术优势,并对比同期算法(如Faster R-CNN)的差异。

论文名称:You only look once unified real-time object detection
论文链接

YOLO v1 算法详解

1. 核心思想

YOLO(You Only Look Once)将物体检测(object detection)任务视为一个端到端的回归问题,通过单个卷积神经网络(CNN)直接从输入图像预测目标边界框(bounding box)和类别概率。

2. 算法优势

YOLO v1 的主要优势包括:

  1. 速度快​:在 Titan X GPU 上达到 ​45 FPS,快速版(Fast YOLO)可达 ​150 FPS,适合实时检测。
  2. 全局推理​:基于整张图像进行预测(而非滑动窗口或候选区域),减少背景误检(false positives),比 Fast R-CNN 的误检率低一半以上。
  3. 泛化能力强​:学习到的特征更具通用性,在迁移到新领域时表现较好。
  4. 高准确率​:在 VOC 2007 数据集上 mAP 达 63.4%,兼顾速度和精度。

3. 网络结构(Unified Detection)​

YOLO v1 采用 ​24 层卷积网络 + 2 层全连接层,结构特点如下:

  • 输入​:448×448 图像(通过下采样适应网络)。
  • 输出​:S×S×(B×5 + C) 的张量,其中:
    • S×S 表示网格划分(默认 7×7)。
    • B 是每个网格预测的边界框数量(默认 2)。
    • 5 包含边界框的坐标(x, y, w, h)和置信度(confidence)。
    • C 是类别概率(如 VOC 数据集的 20 类)。

4. 关键创新

  • 网格化预测​:图像被划分为 S×S 网格,每个网格负责预测中心落在该区域的目标。
  • 多任务损失函数​:联合优化边界框坐标、置信度和分类概率,损失函数设计如下:
    • 坐标误差(加权)
    • 置信度误差(区分有无目标)
    • 分类误差(交叉熵)

5. 结构示意图(Fig1)​

Confidence Score 的计算

每个 bounding box 对应一个 ​confidence score,用于衡量该框内是否包含物体以及预测框的准确性:

  • 公式​:

    • 如果 grid cell 中没有物体​(背景),则 confidence = 0。
    • 如果 grid cell 中有物体,confidence = 预测框与真实框的 ​IOU(交并比)​

如何判断 grid cell 是否包含物体?​

  • 规则:若某物体的 ground truth 边界框的中心点坐标落在某个 grid cell 内,则该 grid cell 负责预测该物体。

类别概率与 Bounding Box 的关系

  • 类别概率(Class Probability)​​:

    • 每个 grid cell 预测 ​C 个类别概率​(如 VOC 数据集的 20 类),表示该 grid cell 包含物体时属于各类别的概率。
    • 注意​:类别概率是针对 grid cell​ 的,而非单个 bounding box。
  • Bounding Box 的最终分类得分​:

    • 将每个 bounding box 的 confidence 与 grid cell 的类别概率相乘,得到该 box 属于某类别的置信度得分:

    • 输出矩阵​:
      • 形状为 20×(7×7×2) = 20×98(20 类,98 个 bounding box)。

后处理:非极大值抑制(NMS)​

  1. 阈值过滤​:
    • 对每一类别(矩阵的每一行),将得分 < 0.2 的 bounding box 置 0。
  2. 排序与去重​:
    • 按得分从高到低排序,选择最高得分的 box,计算其与其余 box 的 IOU:
      • 若 IOU > 0.5(重叠过高),则抑制(得分置 0)。
      • 否则保留。
    • 重复上述过程,直到所有 box 被处理。
  3. 最终分类​:
    • 对每个 bounding box,取 20 个类别得分中的最大值:
      • 若最大值 > 0,则判定为对应类别;
      • 若最大值 = 0,判定为背景(忽略)。

网络结构实现细节

  • Backbone​:基于 ​GoogLeNet​ 改进的卷积网络(24 层卷积 + 4 层 Inception 模块)。
  • 输出层​:
    • 全连接层输出 7×7×30 的张量,其中:
      • 7×7:grid cell 数量。
      • 30:包含 2 个 bounding box 的坐标(x,y,w,h)和 confidence,以及 20 个类别概率。
  • 关键改动​:
    • 替换 GoogLeNet 的复杂 Inception 模块为简单的 1×1 和 3×3 卷积组合,提升速度。
    • 最后一层全连接层直接回归边界框和类别(端到端训练)。

输出张量示例(7×7×30)​

分量维度说明
Bounding Box 15 (x,y,w,h,conf)第一个预测框的坐标和置信度
Bounding Box 25 (x,y,w,h,conf)第二个预测框的坐标和置信度
Class Probabilities2020 个类别的条件概率(P(class|obj))

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/78226.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信令与流程分析

WebRTC是h5支持的重要特征之一&#xff0c;有了它&#xff0c;不再需要借助音视频相关的客户端&#xff0c;直接通过浏览器的Web页面就可以实现音视频聊天功能。 WebRTC项目是开源的&#xff0c;我们可以借助WebRTC&#xff0c;构建自己的音视频聊缇娜功能。无论是前端JS的Web…

BIOS主板(非UEFI)安装fedora42的方法

BIOS主板(非UEFI)安装fedora42的方法 现实困难&#xff1a;将Fedora-Workstation-Live-42-1.1.x86_64.iso写入U盘制作成可启动U盘启动fedora42&#xff0c;按照向导将fedora42安装到真机的sda7分区中得到报错如下内容&#xff1a; /boot/efi 必需的 /boot/efi必须位于格式化为e…

安卓 Compose 相对传统 View 的优势

安卓 Compose 相对传统 View 的优势 文章目录 安卓 Compose 相对传统 View 的优势1. 引言2. 核心概念&#xff1a;Compose的革新性设计2.1 Jetpack Compose2.2 传统安卓View系统 3. 开发体验&#xff1a;Compose大幅提升效率3.1 使用Jetpack Compose构建UI3.2 使用传统View系统…

SIEMENS PLC 程序 GRAPH 程序解读 车型入库

1、程序载图1 2、程序截图2 3、程序解释 这是一个基于西门子 GRAPH 编程的车型 1 入库顺序控制流程图&#xff0c;通过状态机结构&#xff08;状态框 S 与转移条件 T&#xff09;描述完整工作流程&#xff0c;具体如下&#xff1a; 整体流程概述 初始化&#xff1a;从 S1&am…

VuePress可以做什么?

VuePress 可以做什么 VuePress 是一个基于 Vue.js 的静态站点生成器,专注于文档和内容展示。它结合了 Markdown 的简洁性和 Vue 的灵活性,适合多种场景的开发需求。以下是 VuePress 的主要用途和功能: 1. 技术文档网站 VuePress 最初是为编写 Vue.js 官方文档而设计的,因…

架构-系统可靠性分析与设计

一、可靠性相关基本概念 1. 可靠性与可用性 可靠性&#xff1a;软件系统在遇到错误、意外操作或系统故障时&#xff0c;仍能维持自身功能特性的能力。 举例&#xff1a;手机银行APP在用户误操作&#xff08;如快速点击多次转账&#xff09;时&#xff0c;仍能正确处理交易并避…

再谈String

1、字符串常量池 1.1 创建对象的思考 下面是两种创建字符串对象的代码 public static void main1(String[] args) {String s1 "hello";String s2 "hello";System.out.println(s1 s2);//trueString s3 new String("hello");String s4 new …

《深入浅出ProtoBuf:从环境搭建到高效数据序列化》​

ProtoBuf详解 1、初识ProtoBuf2、安装ProtoBuf2.1、ProtoBuf在Windows下的安装2.2、ProtoBuf在Linux下的安装 3、快速上手——通讯录V1.03.1、步骤1&#xff1a;创建.proto文件3.2、步骤2&#xff1a;编译contacts.proto文件&#xff0c;生成C文件3.3、步骤3&#xff1a;序列化…

基于PHP+Uniapp的互联网医院源码:电子处方功能落地方案

随着“互联网医疗”政策红利持续释放&#xff0c;互联网医院已成为推动医疗数字化转型的重要方向。在这一趋势下&#xff0c;电子处方功能模块作为核心环节&#xff0c;不仅直接关系到线上问诊闭环的实现&#xff0c;也成为系统开发中技术难度较高、业务逻辑最为复杂的一部分。…

ARM Cortex-M (STM32)如何调试HardFault

目录 步骤 1: 实现一个有效的 HardFault 处理程序 步骤 2: 复现 HardFault 并使用调试器分析 步骤 3: 解读故障信息 步骤 4: 定位并修复源代码 HardFault 是 ARM Cortex-M 处理器中的一种异常。当处理器遇到无法处理的错误&#xff0c;或者配置为处理特定类型错误&#xff…

基于归纳共形预测的大型视觉-语言模型中预测集的**数据驱动校准**

摘要 本研究通过分离共形预测&#xff08;SCP&#xff09;框架&#xff0c;解决了大型视觉语言模型&#xff08;LVLMs&#xff09;在视觉问答&#xff08;VQA&#xff09;任务中幻觉缓解的关键挑战。虽然LVLMs在多模态推理方面表现出色&#xff0c;但它们的输出常常表现出具有…

LangChain4j 搭配 Kotlin:以协程、流式交互赋能语言模型开发

Kotlin 支持 | LangChain4j Kotlin 是一种面向 JVM&#xff08;及其他平台&#xff09;的静态类型语言&#xff0c;能够实现简洁优雅的代码&#xff0c;并与 Java 库无缝互操作。 LangChain4j 利用 Kotlin 扩展和类型安全构建器来增强 Java API&#xff0c;为其增添特定于 Ko…

正大模型视角下的市场结构判断逻辑

正大模型视角下的市场结构判断逻辑 在多数交易策略中&#xff0c;结构识别往往先于方向判断。以正大的数据研判风格为例&#xff0c;其核心逻辑是&#xff1a;价格行为不能孤立解读&#xff0c;必须结合时间与成交效率来判断当前结构的有效性。 例如&#xff0c;一个上涨过程&…

Django 入门实战:从环境搭建到构建你的第一个 Web 应用

Django 入门实战&#xff1a;从环境搭建到构建你的第一个 Web 应用 恭喜你选择 Django 作为你学习 Python Web 开发的起点&#xff01;Django 是一个强大、成熟且功能齐全的框架&#xff0c;非常适合构建中大型的 Web 应用程序。本篇将通过一个简单的例子&#xff0c;带你走完…

Unity 打包后 无阴影 阴影不显示

在项目设置里面->质量 这里面显示的是打包之后的质量 PS:注意运行质量 点击左键选择运行质量,这俩不一致就会导致,运行有阴影但是打包出来的平台没有阴影,原因就在这. 质量等级选择好之后 往下滑,在这里打开阴影,如果距离过远不显示阴影,就增加阴影距离.

python——面向对象编程

一、编程思想 面向过程编程&#xff08;典型&#xff1a;c语言&#xff09;&#xff1a;是一种以过程为中心的编程思想。它强调流程化、线性化、步骤化的思考方式&#xff0c;实现思路就是函数。 面向对象编程&#xff1a;强调整体性和差异性。它将任何事物看做一个统一整个&…

宿主机和容器 ping 不通域名解决方法

目录 一、问题描述 二、宿主机解决方法 三、容器解决办法 一、问题描述 宿主机是Ubuntu&#xff0c;在宿主机上 ping 不通域名&#xff1a;xxxx.cn&#xff0c;但是个人电脑能 ping 通。 同时宿主机上的启动的k8s容器也无法ping通。 二、宿主机解决方法 ①编辑文件&#xff…

windows作业job介绍

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、作业job是什么&#xff1f;二、使用步骤1.代码示例 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; winapi网站&#xff1a; h…

ESG跨境电商如何为国内的跨境电商企业打开国外的市场

现在不管是国内还是国外&#xff0c;做电商的企业都非常的多&#xff0c;那么既然有这么多大电商公司&#xff0c;就要有为这些电商公司提供服务的公司&#xff0c;这就是ESG&#xff0c;它是专门为跨境电商服务的公司&#xff0c;那么这家公司的主要业务是什么呢&#xff1f;它…

龙虎榜——20250425

指数依然在震荡&#xff0c;等待方向选择&#xff0c;整体量能不搞但个股红多绿少。 2025年4月25日龙虎榜行业方向分析 一、核心主线方向 绿色电力&#xff08;政策驱动业绩弹性&#xff09; • 代表标的&#xff1a;华银电力&#xff08;绿电运营&#xff09;、西昌电力&…