【目标检测】YOLOV1

news2024/9/20 14:31:22

You Only Look Once: Unified, Real-Time Object Detection

1、核心思想

将整张图片作为网络的输入,直接在输出层对 BBox 的位置和类别进行回归。

在这里插入图片描述

  • Resize image:将输入图片resize到448x448。
  • Run ConvNet:使用CNN提取特征,FC层输出分类和回归结果。
  • Non-max Suppression:非极大值抑制筛选出最终的结果。

2、前向推断

(1)前向推断流程:

1)首先将输入图片分成 S × S 个网格(grid cell),如果某个 object 的中心落在这个网格中,则这个网格就负责预测这个 object 。

2)每个网格需要预测 B (YOLO V1 中 B = 2) 个BBox 的位置信息和 confidence(置信度),一个 BBox 对于着四个位置信息 (x, y, w, h) 和一个 confidence 信息。

x —— 预测框中心的横坐标
y —— 预测框中心的纵坐标
w —— 预测框的宽度
h —— 预测框的高度
confidence(置信度)—— 预测框中包含目标物体的概率值

3)每个网格要预测 B 个 bounding box 还要预测 C 个 categories 。输出就是S × S × ( 5 ∗ B + C ) 的一个 tensor 。

4)​ 阈值处理:根据 confidence ,去除掉大部分不含预测物体的背景框。

5)​ NMS (Non-Maximum Suppression,非极大值处理)处理:利用 IoU 去除掉多余的 bounding box,防止重复预测同一物体。

在这里插入图片描述

(2)YOLO V1 网络结构

YOLO V1 的检测网络有 24 个卷积层和 2 个全连接层。交替使用 1 x 1 个卷积层减少了前一层的特征空间。我们在 ImageNet 分类任务上以一半的分辨率(224 x 224 输入图像)对卷积层进行预处理,然后将分辨率提高一倍进行检测,也就是将图片尺寸提高 448 x 448 。输入图片 reshape 为 448 x 448 x 3 ,在经过卷积层以及 4096 和 1470 两个全连接层之后,输出 7 x 7 x 30 的特征图。

在这里插入图片描述

为什么会输出 7 x 7 x 30 的特征图?

因为输入图像划分为 7 × 7 grid cell ,并且每个 grid cell 对应输出 30 维的向量(YOLO V1 每个 grid cell 预测 2 个 BBox):

在这里插入图片描述

3、反向传播

损失函数

在 YOLO V1 目标检测过程中一共需要计算 5 个误差:

  • 负责检测物体 bbox 中心点定位误差
  • 负责检测物体 bbox 宽高定位误差
  • 负责检测物体 bbox 置信度 confidence 误差
  • 不负责检测物体 bbox 置信度 confidence 误差
  • 负责检测物体的 grid cell 分类误差

在这里插入图片描述

YOLO V1 相较于 Fast R-CNN 优势主要体现在它是 one stage 网络,推理速度快。

[REFERENCE]
【精读AI论文】YOLO V1目标检测,看我就够了
yolov1:背景介绍与算法精讲
YOLO系列论文精读总结——YOLOv1篇
YOLO学习笔记——第一篇YOLOv1

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

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

相关文章

Python神经网络在基因组学中的应用

在基因组学研究中,神经网络作为一种强大的工具,被广泛应用于基因型和表型之间的关联分析。通过构建神经网络模型,我们可以更好地理解遗传变异是如何影响个体的性状表现。本文将详细介绍如何使用Python实现这一过程,利用已知群体的…

一文读懂大语言模型:基础概念篇

在当今AI时代,大语言模型正以前所未有的速度重塑我们的世界。作为NLP领域的明星,它们不仅理解语言,更创造语言,开启了智能交互的新纪元。 本文将介绍着重介绍大模型的概念,帮助大家简单了解其技术原理、发展历程&#…

C++学习笔记----5、重用之设计(二)---- 为最优化重用结构化你的代码(1)

一定要在所有的层面在设计的一开始就考虑重用,也就是说,从一个独立的函数到一个类,直到整个库与框架。我们以后就把这些统称为部件。下面的策略会帮助你正确地组织代码。记住所有的这些策略关注的是你的代码的的通用目的。设计可重用代码第二…

2024上半年营业收入同比增长17%,一图看懂亚信安全2024半年报

2024上半年营业收入同比增长17%,贯彻健康经营,业绩企稳向好! 云网安筑基 AI智绘未来 | 一图看懂亚信安全2024半年报

SAP DRC 交易与报表合规化

交易与报表合规化- SAP Document and Reporting Compliance(DRC) SAP DRC通过嵌入到端到端业务流程的源系统中的国家和地区特定内容,保证全球处理合规;利用统一的解决方案管理全球电子发票和法定报表,从而优化合规性,提高效率并提…

无线麦克风什么牌子最好,无线直播麦克风十大名牌推荐

​在数字化飞速发展的今天,无线领夹麦克风已经成为自媒体创作者、直播主播和专业录音师的重要工具。它们不仅小巧便携、操作简便,还具有出色的录音质量,极大地提升了音频录制的效率和质量。无论是户外探险的Vlog拍摄,还是室内直播…

基于Linux系统和ncurses库的贪吃蛇小游戏

目录 前言 一、地图,蛇身,食物设计 二、蛇和食物的初始化 食物 蛇 三、添加和删除蛇身节点 四、main函数和蛇运行方向线程 五、地图刷新线程 最终源码 前言 ncurses库是什么我并没有深入了解,本文的重点也不是ncurses的使用&#xff…

BUUCTF PWN wp--pwn1_sctf_2016

第一步 checksec,并检查该题的保护机制,32位 Arch: i386-32-little 这表示程序的架构是32位的i386(即x86),并且使用小端序(little-endian)存储方式。这意味着程序是为32位系统设计的。RELRO: Pa…

期权末日轮行情即将来临!注意两个操作更好盈利!

今天带你了解期权末日轮行情即将来临!注意两个操作更好盈利!期权末日轮,就是指在期权合约到期前的最后几天,比如50ETF期权品种的到期日是每个月第四个星期的星期三,那么在最后一个星期就有可能发生末日轮行情了。 末日…

Linux安装Navicat Premium

一、安装Navicat Premium17 1、下载安装包 https://www.navicat.com.cn/download/navicat-premium#linux 2、赋执行权限 //假设安装包在/etc/navicat目录下 cd /etc/navicat chmod x navicat17-premium-cs-x86_64.AppImage 3、启动应用程序 ./navicat17-premium-cs-x86_64…

python.exe -m pip install --upgrade pip报错解决

引言 在执行命令的时候,提示可以更新版本 [notice] A new release of pip is available: 24.1.2 -> 24.2 [notice] To update, run: python.exe -m pip install --upgrade pip按照提示,直接使用 python.exe -m pip install --upgrade pip 命令进行更…

Cocos Creator2D游戏开发(15)---预制体和按钮的绑定以及冷却效果的实现

场景: 植物大战僵尸中,种植植物前,要判断状态,只有在阳光充足时才能点击 图片资源: 预制体的创建,创建一个空节点命名: CardTemplate,将三张豌豆射手相关的图片拖入 如下图 其中card_mask图片中的透明度改为150; 在assets中创建prefab文件夹,将CardTemplate节点直接拖入pre…

openGauss——体系结构

一、体系结构概览 二、驱动程序 客户端程序使用驱动程序,向openGauss的后端管理线程GaussMaster发起连接请求。openGauss目前支持以下四种驱动程序: JDBC,用于Java连接ODBC,开放数据库互连Libpq,C语言程序接口Psycop…

SpringMvc 以配置类的形式代替xml文件

1、配置类 1.1、创建Mvc 项目之后创建 MyWebApplicationInitializer 类 实现接口 WebApplicationInitializer public class MyWebApplicationInitializer implements WebApplicationInitializer {Overridepublic void onStartup(ServletContext servletContext) throws Serv…

大数据-101 Spark Streaming DStream转换 窗口操作状态 跟踪操作 附带多个案例

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

windows安装pytorch精简版(英伟达GPU)

1 下载anaconda 官网:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 选择下载Anaconda-1.4.0-Windows-x86.exe 2 创建虚拟环境 以管理员身份打开Anaconda Prompt conda env list conda creat -n yolov8 python3.8 创建过程中有提示,填…

【图文详解】idea码云环境搭建

公众号:墨轩学习网-----B站:墨轩大楼 欢迎关注!!! 一、码云简介 目前开源中国的四大框架,即四条产品线:开源中国社区、众包、码云和招聘。 码云是开源中国推出的基于Git的代码托管服务&#…

鸿蒙HarmonyOS开发:创建新的Lite工程

当开始开发一个应用/服务时,首先需要根据工程创建向导,创建一个新的工程,工具会自动生成对应的代码和资源模板。 说明 在运行DevEco Studio工程时,建议每一个运行窗口有2GB以上的可用内存空间。 创建和配置新工程 DevEco Studio提…

如何应对市场变革的战略利器之敏捷企业架构实践全景指南

敏捷与企业架构融合的必然性 在全球化和数字化的双重推动下,市场竞争的激烈程度前所未有。企业必须迅速适应市场的变化,以在激烈的竞争中脱颖而出。然而,传统的企业架构往往侧重于长期战略规划,尽管它在维持企业的稳定性方面功不…

阿贝云评测:免费虚拟主机与免费云服务器的优势对比

阿贝云作为一家知名云服务提供商,以其稳定可靠的服务质量在业界享有盛誉。其中,其免费虚拟主机和免费云服务器备受用户喜爱。在这篇评测中,我们将对这两种服务进行详细对比。 首先,就免费虚拟主机而言,阿贝云提供的免费…