目标检测(5)—— YOLO系列V1

news2024/11/28 2:38:20

一、YOLO系列V1

  • 经典的one-stage方法,You Only Look Once
  • 将检测问题转化成回归问题,一个CNN搞定
  • 可以对视频进行实时监测

YOLO系列的速度更快,我们检测的物体很简单,进行取舍,舍弃了一些精度。

在这里插入图片描述

V1核心思想

现在要预测一张图片中有哪些物体,左边的图像上有狗、自行车、面包车。
输入s×s的图片,假设7×7个格子,每个格子都负责预测落在自己位置上的是什么东西。格子上的中心点进行预测。
现在这个红色的点进行预测,它也不知道狗长什么样子,长宽是多少,所以先给一些经验值,就是图上黄色的两个框(h1,w1;h2,w2)。(YOLOV1给了两个)。经验值不准,但是也可以参考,将经验好的框进行微调,相当于一个回归任务,h怎么变,w怎么变。初始的点在哪(V1的版本初始点是中心点)。

在这里插入图片描述

  • 总结:有了输入数据,分成很多的小格子,每个小格子产生两种的候选框B值(V1版本),看看两种候选框和真实值匹配的怎么样,算IOU的值,哪个大,哪个候选框就好,就微调谁。会计算出来很多很多的候选框(因为每一个格子都要计算)。计算出bounding box和confidence,即为我们在预测的时候不仅要预测x,y,w,h,还要confidence(当前这个小格子预测出物体的概率)。置信度小的过滤掉。
  • 输入s×s的图片
  • 对置信度高的框、IOU高的框进行微调

V1网络架构

卷积神经网络的输入图像是固定的,这个和卷积层没有关系,是因为全连接层是定死的。全连接层前面要固定好feature map的大小。

  • 输入图像是固定值,是V1版本的局限
  • 用一些卷积神经网络提取特征,V1版本用的是GoogLeNet,不关心,后面用效果更好的特征提取网络
  • 得到一个7×7×1024的特征图
  • 第一个全连接层,转化成4096×1
  • 第二个全连接层,转化成1470×1
  • reshape成7×7×30,是我们最后要的

图片是7×7的格子,每个格子有30个值。
每个格子两种框,B1:x1,y1,w1,h1(归一化后的坐标值)B2:x2,y2,w2,h2
还有置信度,C1,C2
20个分类
加起来共30
求矩形框是回归任务,后面还有20分类任务

在这里插入图片描述

在这里插入图片描述

B是先验框的个数;C是类别。

在这里插入图片描述

损失函数

  • 预测的值(回归):x,y,w,h,要让这几个的值和真实值的误差越小越好
  • 使用位置误差
  • confidence(预测是物体的):越接近1越好
  • confidence(预测是背景的):越接近0越好,有权重项,因为背景多,给个0.1的权重,告诉网络背景不重要
  • 分类:交叉熵损失函数

在这里插入图片描述

NMS非极大值抑制(测试时)

按照置信度排序,把最大的留下。

在这里插入图片描述

V1版本中的问题:
小物体检测不好
重合在一起的物体很难检测到
多标签效果不好

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

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

相关文章

Windows与Linux行尾换行符引发Git的一系列惨案

1 前言 最近在使用 Git 提交代码的时候,老是碰到一段看起来 “没有任何改动” 的代码,被 diff 检测出异常,很是苦恼,特别是项目紧急的时候,不敢用 VSCode 编辑了,只能用 vim 进行少量代码的修改、上库。 …

传统Spring项目的创建和使用xml文件来保存对象和取对象

传统Spring项目的创建和使用xml文件来保存对象和取对象## 传统Spring项目的创建 一、创建一个maven项目(maven项目无需使用模板) 二、导入Spring依赖(Spring Context依赖和Spring Beans依赖) 可以从maven仓库获取,也…

Java 中代码优化的 30 个小技巧(中)

11 位运算效率更高 如果你读过 JDK 的源码,比如 ThreadLocal、HashMap 等类,你就会发现,它们的底层都用了位运算。 为什么开发 JDK 的大神们,都喜欢用位运算? 答:因为位运算的效率更高。 在 ThreadLoca…

数码相机raw照片编辑Capture One Pro中文

怎么编辑数码相机拍摄的raw格式的照片?Capture One Pro 22是一款专业、强大、易于使用的图像编辑软件,与主流相机型号兼容,直接导入照片进行编辑操作,包括佳能、尼康、索尼、富士等。将所有必备工具和高端性能融于一体、使您在一套…

riscv引导程序及仿真记录

1.riscv基本的寄存器列表 这里只关注32个通用寄存器x0-x31 2.引导程序代码 # 1 "iriscvboot.casm" # 1 "<built-in>" # 1 "<command-line>" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 1 "<command-line>&qu…

【Linux】进程间通信

文章目录1.进程间通信基础2.管道2.1匿名管道2.1.1匿名管道的原理2.2匿名管道的特点2.3匿名管道函数2.3.1用例2.3.2实现ps -ajx | grep bash指令2.4匿名管道的特点2.5管道的大小2.6管道的生命周期2.7进程池3.命名管道FIFO3.1命名管道的接口3.2命名管道和匿名管道的区别3.3用FIFO…

大数据面试重点之kafka(七)

大数据面试重点之kafka(七) Kafka的分区器、拦截器、序列化器&#xff1f; 问过的一些公司&#xff1a;ebay 参考答案&#xff1a; Kafka中&#xff0c;先执行拦截器对消息进行相应的定制化操作&#xff0c;然后执行序列化器将消息序列化&#xff0c;最后执行分 区器选择对应分…

python:基础知识

环境&#xff1a; window11python 3.10.6vscodejavascript、c/c/java/c#基础&#xff08;与这些语言对比&#xff09; 注释 一、数据类型 基础六大数据类型&#xff0c;可以使用 type()查看&#xff0c;如下图&#xff1a; 1.1 数字&#xff08;Number&#xff09; 支持 整…

联邦学习--记录

简介 联邦学习&#xff08;Federated Learning&#xff09;是一种新兴的人工智能基础技术&#xff0c;其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下&#xff0c;在多参与方或多计算结点之间开展高效率的机器学习。其中&#…

【机器学习大杀器】Stacking堆叠模型-English

1. Introduction The stacking model is very common in Kaglle competitions. Why? 【机器学习大杀器】Stacking堆叠模型&#xff08;English&#xff09; 1. Introduction 2. Model 3: Stacking model 2.1 description of the algorithms: 2.2 interpretation of the es…

浅谈Vue中 ref、reactive、toRef、toRefs、$refs 的用法

&#x1f4ad;&#x1f4ad; ✨&#xff1a; 浅谈ref、reactive、toRef、toRefs、$refs   &#x1f49f;&#xff1a;东非不开森的主页   &#x1f49c;: 技术需沉淀&#xff0c;不要浮躁&#x1f49c;&#x1f49c;   &#x1f338;: 如有错误或不足之处&#xff0c;希望可…

Redhat(3)-Bash-Shell-正则表达式

1.bash脚本 2.bash变量、别名、算术扩展 3.控制语句 4.正则表达式 1.bash脚本 #!/bin/bash#this is basic bash script<< BLOCK This is the basic bash script BLOKC: This is the basic bash script echo "hello world!" 双引号、单引号只有在变量时才有区…

健身房信息管理系统/健身房管理系统

21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存储达到…

VCS 工具学习笔记(1)

目录 引言 平台说明 关于VCS 能力 Verilog 仿真事件队列 准备 VCS工作介绍 工作步骤 支持 工作机理 编译命令格式 编译选项 示例 仿真命令格式 仿真选项 示例 库调用 -y 总结 实践 设计文件 仿真文件 编译 仿真 关于增量编译 日志文件记录 编译仿真接续进…

链接脚本和可执行文件

几个重要的概念 摘取自知乎内容&#xff1a; 链接器与链接脚本 - 知乎 linker 链接器 链接器(linker) 是一个程序&#xff0c;这个程序主要的作用就是将目标文件(包括用到的标准库函数目标文件)的代码段、数据段以及符号表等内容搜集起来并按照 ELF或者EXE 等格式组合成一个…

【C++学习】string的使用

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《C学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; string的使用&#x1f640;模板&#x1f639;函数模板&#x1f639;类模板&#x1f640;string模板简…

【菜鸡读论文】Former-DFER: Dynamic Facial Expression Recognition Transformer

Former-DFER: Dynamic Facial Expression Recognition Transformer 哈喽&#xff0c;大家好呀&#xff01;本菜鸡又来读论文啦&#xff01;先来个酷炫小叮当作为我们的开场&#xff01; 粉红爱心泡泡有没有击中你的少女心&#xff01;看到这么可爱的小叮当陪我们一起读论文&am…

有了PySnooper,不用print、不用debug轻松查找问题所在!

PySnooper是一个非常方便的调试器&#xff0c;它是通过python注解的方式来对函数的执行过程进行监督的。 应用起来比较简单&#xff0c;不用一步一步的去走debug来查找问题所在&#xff0c;并且将运行过程中函数的变量值打印出来结果一目了然&#xff0c;相当于替代了print函数…

Boundary Loss 原理与代码解析

paper&#xff1a;Boundary loss for highly unbalanced segmentation Introduction 在医学图像分割中任务中通常存在严重的类别不平衡问题&#xff0c;目标前景区域的大小常常比背景区域小几个数量级&#xff0c;比如下图中前景区域比背景区域小500倍以上。 分割通常采用的交…

SpringBoot实践(三十三):Maven使用及POM详解

文章目录maven是什么maven怎么装settings.xml本地仓库地址&#xff1a;localRepository远程镜像&#xff1a;mirrorsJDK 版本&#xff1a;profile私服配置POM.xml中的常用标签projectmodelVersiongroupIdartifactIdversionpropertiesdependenciesbuild和pluginsresourcesdepend…