场景文本检测识别学习 day04(目标检测的基础概念)

news2024/11/24 20:49:16

经典的目标检测方法

one-stage 单阶段法:YOLO系列

  • one-stage方法:仅使用一个CNN,直接在特征图上预测每个物体的类别和边界框
  • 输入图像之后,使用CNN网络提取特征图,不加入任何补充(锚点、锚框),直接输出预测框左上右下角的坐标(回归任务)以及物体的类别(分类任务)
  • 即该CNN网络在单次前向传播中,不仅提取特征,还要预测每个物体的类别和边界框
    在这里插入图片描述
  • 优点:速度非常快,适合做实时检测任务
  • 缺点:效果通常不会太好

two-stage 两阶段:Faster-RCNN 、 Mask-RCNN系列

  • two-stage方法:使用多个网络组件,CNN、RPN等,而CNN仅用来提取特征图,在最后包含全连接层的网络上输出每个物体的类别和边界框
  • 一阶段,区域提议:输入图像之后,会先经过CNN网络,生成特征图。在将特征图送入RPN(区域提议网络)生成一系列区域提议(锚框),RPN根据这些锚框,输出这些锚框包含物体的概率(二分类:前景、背景),以及锚框与真实边界框的偏移量,应用该偏移量后得到候选框(提议区域)
  • 二阶段,检测:对于每个提议区域(RoI),先将其映射回特征图的对应区域,再使用RoI池化、RoI Align等方法,从特征图对应区域中提取固定尺寸大小的特征,并将这些特征送入检测网络,得到最后选择的候选框中的类别概率(多分类:具体哪一个物体)、从候选框到真实边界框的偏移量。并应用该偏移量后得到最后的预测框。(训练阶段)
  • 在测试阶段,由于我们不知道真实框,所以有可能多个预测框检测到同一物体,最后需要使用NMS来过滤这些重复框。最后根据置信度阈值来输出类别、相应置信度得分、以及预测的目标边界框
  • 注意,在RPN和测试时的检测阶段都会使用NMS操作:
    • 在RPN中,我们先使用NMS来筛选锚框,选择高质量的锚框来进行损失计算,此时虽然使用了NMS,但是不会唯一确定与真实框对应的锚框,反而会选择一个合理数量(例如256个)的锚框,来进行下一步的损失计算
    • 在测试时的检测阶段,我们会在得到预测框后,使用NMS来确定唯一对应的预测框,并进行输出
    • 但是在训练时的检测阶段,我们不会用NMS来减少预测框,因为我们需要所有预测框对模型训练的贡献
  • 注意,虽然在RPN和检测阶段都会使用真实边界框来计算偏移量:
    • 但是在RPN中,通过计算真实边界框和锚框的IoU来判断正负样本,以及通过计算正样本的锚框和真实边界框的偏移量,来训练RPN,使它学会如何调整锚框来更好的覆盖真实物体,并应用偏移量后得到候选框。(较为粗略的候选框)
    • 在检测阶段中,仍然计算通过计算真实边界框和候选框的IoU,但是得到具体的物体类别,以及通过计算候选框和真实边界框的偏移量,来训练检测网络,使它学会更精细的调整候选框来更好的覆盖该物体,并应用偏移量后得到最后的预测框。(更精细的预测框)
      在这里插入图片描述

锚点、锚框

  • 锚点、锚框作为额外补充的方法,主要用在two-stage的目标检测方法中,但是YOLOV2开始,也使用锚点、锚框来提升模型对不同尺寸和形状的物体的检测能力,但区别于two-stage的方法,YOLO仍然是在单个网络提过程中完成分类和边界框的回归。
  • 在RPN(区域提议网络)中,锚点代表潜在的候选区域的中心,也是锚框的中心。
  • 每个锚点可以生成多个锚框,而锚框则是作为候选框,用于覆盖图像中可能出现物体的不同位置和形状
  • 在Fast R-CNN的RPN中,锚框就被用来预测物体的位置,而RPN会对每个锚框输出两个结果,一个是物体的存在概率,一个是锚框的调整参数(用来接近真实框)

特征图、特征向量

  • 特征图是CNN中的概念,它表示输入图像经一系列卷积层、池化层处理后的得到的中间输出结果,特征图通常是三维的数据结构,具体为(高度,宽度,通道数),所以特征图保留了输入图片的位置信息。特征图通常出现在网络的中间层,代表输入数据的中间级特征
  • 特征向量是一个一维数组,它表示输入数据经过网络最后几层全连接层的输出,用于描述输入数据的高级抽象特征。特征向量通常出现在网络的最后几层,代表输入数据的高级特征。

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

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

相关文章

QT系列教程(2) 创建项目和编译

新建Qt Widgets应用 我们启动qt creator 创建项目,选择Qt Widgets应用 接下来选择项目目录,项目名字就叫helloworld 构建系统选择qmake 我们创建一个名字为HelloDialog的类,继承于QDialog 构建套件选择你们安装的就行了,我这里选…

SV-704XT 100W网络有源音柱 校园广播音柱

SV-704XT 100W网络有源音柱 一、描述 SV-704XT是深圳锐科达电子有限公司的一款壁挂式网络有源音柱,具有10/100M以太网接口,可将网络音源通过自带的功放和喇叭输出播放,其采用防水设计,功率100W。SV-704XT作为网络广播播放系统的终…

嵌入式:第二天(C语言入门)

目录 一、基础语法 位运算符&#xff1a; & -&#xff08;与运算&#xff09; | -&#xff08;或运算&#xff09; ^ -&#xff08;异或运算&#xff09; ~ -&#xff08;取反运算&#xff09; << -&#xff08;左移运算符&#xff09; >> -&#xff0…

MyBatis 中的动态 SQL 的相关使用方法

为什么会有动态SQL&#xff0c;把SQL写死不是比较方便吗&#xff1f;其实有很多的举例&#xff0c;这里我那一个常见的来说&#xff0c;像我们用户注册&#xff0c;会有必填字段和非必填字段&#xff0c;有些传来的参数不一样&#xff0c;那对应的SQL也不一样&#xff0c;因此&…

【ctf.show】获得百分之百的快乐

1.打开靶场 2.根据页面代码&#xff0c;get请求值只能小于4位数&#xff0c;否则会回显hack&#xff01; 尝试后确实是这样的&#xff1a; 请求值小于4位数&#xff0c;页面无变化&#xff1a; 发送请求值ls查看内容 3.根据2返回的值&#xff0c;发送值为?1>nl 创建一个nl…

每日一练(力扣)

我的思路是暴力枚举: 情况1:相同&#xff0c;就让子串和原串同时后移继续比较 情况2:不相同&#xff0c;就只让原串后移 public int strStr(String haystack, String needle) {if (haystack.length() < needle.length()){return -1;}for (int i 0; i < h…

Java | Leetcode Java题解之第15题三数之和

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> threeSum(int[] nums) {int n nums.length;Arrays.sort(nums);List<List<Integer>> ans new ArrayList<List<Integer>>();// 枚举 afor (int first 0;…

Harmony鸿蒙南向外设驱动开发-Audio

Audio驱动概述 多媒体系统是物联网设备开发中不可缺少的一部分&#xff0c;Audio作为其中重要的一个模块&#xff0c;Audio驱动模型的构建显得尤为重要。 本文主要介绍基于HDF&#xff08;Hardware Driver Foundation&#xff09;驱动框架开发的Audio驱动&#xff0c;包括Aud…

2023年蓝桥杯——日期统计

目录 题目链接&#xff1a;1.日期统计 - 蓝桥云课 (lanqiao.cn) 题目描述 思路 代码思路 定义数据结构&#xff1a; 处理每一个月&#xff1a; 检查日期序列在num100中是否存在&#xff1a; 计数匹配的日期数&#xff1a; 输出结果&#xff1a; 代码实现 总结 题目链…

面试:线程和线程池

目录 目标 一、线程有哪些状态 1、新建态&#xff08;NEW&#xff09;&#xff1a; 2、可运行态&#xff08;RUNNABLE&#xff09;&#xff1a; 3、终结态&#xff08;TERMINATED&#xff09;&#xff1a; 4、阻塞态&#xff08;BLOCKED&#xff09;&#xff1a; 5、等待态…

kafka快速入门+应用

Kafka, 构建TB级异步消息系统 1.快速入门 1.1 阻塞队列 在生产线程 和 消费线程 之间起到了 &#xff0c; 缓冲作用&#xff0c;即避免CPU 资源被浪费掉 BlockingQueue 解决 线程通信 的问题阻塞方法 put 、 take生产者、消费者 模式 生产者&#xff1a;产生数据的线程…

使用Mac自带终端进行远程ssh连接Linux服务器

废话不多说&#xff0c;直接上图 好吧&#xff0c;我承认我是多此一举&#xff0c;脱裤子放pi了&#xff0c;其实只需要在终端输入一行命令就可以了&#xff08;呜呜&#xff5e;&#xff09; ssh rootip -p 22 需要注意的是&#xff0c;命令里的ip地址同样要替换成你自己的服…

云LIS系统源码,ASP.NET区域LIS系统源码,实验室信息系统

云LIS系统源码&#xff0c;ASP.NET区域LIS系统源码&#xff0c;实验室信息系统 LIS技术架构&#xff1a;ASP.NET CORE 3.1 MVC SQLserver Redis等 开发语言&#xff1a;C# 6.0、JavaScript 前端框架&#xff1a;JQuery、EasyUI、Bootstrap 后端框架&#xff1a;MVC、S…

阿里云服务器带宽价格全解析,附报价单

阿里云服务器公网带宽怎么收费&#xff1f;北京地域服务器按固定带宽计费一个月23元/M&#xff0c;按使用流量计费0.8元/GB&#xff0c;云服务器地域不同实际带宽价格也不同&#xff0c;阿里云服务器网aliyunfuwuqi.com分享不同带宽计费模式下带宽收费价格表&#xff1a; 公网…

十五届web模拟题整理

模拟赛一期 1.动态的Tab栏 请在 style.css 文件中补全代码。 当用户向下滚动的高度没有超过标题栏&#xff08;即 .heading 元素&#xff09;的高度时&#xff0c;保持 Tab 栏在其原有的位置。当滚动高度超过标题栏的高度时&#xff0c;固定显示 Tab 栏在网页顶部。 /* TODO…

03 SQL基础 -- 查询与运算符

一、SELECT 语句基础 1.1 从表中选取数据 SELECT 语句 从表中选取数据时需要使用SELECT语句,也就是只从表中选出(SELECT)必要数据的意思。通过SELECT语句查询并选取出必要数据的过程称为匹配查询或查询(query) 基本SELECT语句包含了SELECT和FROM两个子句(clause)。示…

PointNet++函数square_distance(src, dst):计算两组点之间的欧式距离(代码详解)

文章目录 一、计算两组点之间的欧式距离二、举例三、中间结果输出 一、计算两组点之间的欧式距离 def square_distance(src, dst):"""Calculate Euclid distance between each two points.src^T * dst xn * xm yn * ym zn * zm&#xff1b;sum(src^2, dim-1…

模块化组合优势凸显钡铼IOy系列轻松应对大规模工业自动化工程

模块化组合是钡铼IOy系列独立式I/O模块的一大优势&#xff0c;它为大规模工业自动化工程提供了灵活性、可扩展性和定制性&#xff0c;从而轻松应对不同规模和复杂度的工厂应用。以下是关于模块化组合优势的详细解析&#xff1a; 1. 灵活性和定制性 模块化设计使得钡铼IOy系列…

字节Coze实现多Agent模式,文内在线体验,实时给产品经理提需求

摘要&#xff1a; 多Agent模式是一种分布式计算范式&#xff0c;它通过将复杂任务分解为多个子任务&#xff0c;并由独立的智能体&#xff08;Agents&#xff09;并行处理&#xff0c;从而提高系统的处理能力和效率。这种模式在自然语言处理、机器学习和其他数据密集型应用中尤…

未来汽车硬件安全的需求(1)

目录 1.概述 2.EVITA 2.1 EVITA HSM 2.2 EVITA保护范围 3.市场变化对车载网络安全的影响 3.1 非侵入式攻击的风险 3.2 量子计算机的蛮力攻击 3.3 整车E/E架构的变化 3.4 网络安全标准和认证 3.5 汽车工业的网络安全措施 4.汽车安全控制器 4.1 TPM2.0 4.2 安全控…