十二、目标检测

news2024/11/26 20:15:24

文章目录

  • 1、 目标定位
  • 2、特征点检测
  • 3、卷积网络的滑动窗口
  • 4、交并比(Intersection over Union)
  • 5、非最大值抑制(Non Max Suppression)
  • 6、anchor box
  • THE END

1、 目标定位

\qquad 目标检测是图像识别中的更加复杂的应用情景,图像识别只需要输出某一幅图像的种类即可,目标检测不仅需要输出图像的种类,还需要使用边框框出图像中某一种物体的的位置,从而需要输出表示物体位置的参数:( b x , b y , b h , b w b_x, b_y, b_h, b_w bx,by,bh,bw), b x , b y b_x, b_y bx,by表示物体中心位置坐标, b h , b w b_h, b_w bh,bw表示框线的高度和宽度参数。
在这里插入图片描述
\qquad 除了上述信息之外,输出向量中还需要包含:是否含有某个对象和含有哪个对象的信息。如执行一个多目标检测(3个目标)的任务,输出向量中的第一个元素表示图像中是否含有3个目标中的某一个,之后是位置参数( b x , b y , b h , b w b_x, b_y, b_h, b_w bx,by,bh,bw),最后三个参数表示具体含有哪一个目标。
在这里插入图片描述
\qquad 如果一幅图片中没有目标,则将输出元素第一个置为0,其他元素取值为空即可。

2、特征点检测

\qquad 特征点检测表示在一幅图偏重设置一些特征点,之后通过训练,将新图片中的特征点识别出来,从而进行图片信息的提取,如人脸识别,人体姿态识别等。
在这里插入图片描述

3、卷积网络的滑动窗口

\qquad 滑动窗口检测表示设定一个矩形框之后,在一幅图片中按照一定的步长移动矩形框,将每一次移动剪切到的图片均输入到卷积神经网络中进行训练和识别,从而检测出整个图片中的特定目标。但在卷积神经网络中使用滑动窗口会产生很多重复计算,所以可以通过下述方式减少卷积神经网络中滑动窗口的计算量。
在这里插入图片描述
\qquad 原本红色,绿色,黄色和紫色四个窗口需要分别计算,但通过上图中的处理,可以通过一次计算,获得四个滑动窗口的卷积结果。

4、交并比(Intersection over Union)

\qquad 交并比用来衡量目标检测算法的优劣。交并比=训练集中某个队形的精确bounding box和模型输出的bounding box之间的交集的面积必上二者之间并集的面积,如下图所示:
在这里插入图片描述
\qquad 若交并比大于0.5,说明检测结果是可以接受的。

5、非最大值抑制(Non Max Suppression)

\qquad 在目标检测任务中,同一个图片中的同一个目标可能会被检测很多次,即有多个bounding box均检测到某个目标。为了减少重复输出,首先将概率最大bounding box选择出来,之后使用交并比,将和这个概率最大bounding box的交并比较大的bounding box进行删除,最后对每一个对象只保留一个bounding box。
在这里插入图片描述
在这里插入图片描述
\qquad YOLO算法中非最大值抑制的算法流程如下所示:
在这里插入图片描述

6、anchor box

\qquad 在目标检测时,若同一个bounding box中包含多个目标,即多个目标出现重叠的情况,则上述算法无法准确输出目标的种类,所以提出了anchor box的概念。anchor box是预先定义好的不同形状,之后将预测结果和这些不同的box形状进行关联,如若设置了两种不同形状的anchor box,则只需要将原先设定的输出向量y进行重复两次即可,如下图所示:
在这里插入图片描述
\qquad 检测相互重叠的对象是anchor box的一大作用;anchor box的另一大作用是使得目标检测算法更加specialize,如设定纵向长瘦的anchor box可以更好地检测行人,设定横向矮宽的anchor box可以更好地检测车辆。

THE END

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

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

相关文章

React面试题汇总1

1.React的严格模式如何使用&#xff0c;有什么用处&#xff1f; React中StrictMode严格模式_react.strictmode_前端精髓的博客-CSDN博客当我们使用 npx create-react-app my-app 创建一个项目的时候。项目中有一段如下所示的代码&#xff1a;ReactDOM.render( <React.Stric…

LeetCode_Day2 | 有意思的数组滑动窗口及螺旋矩阵

LeetCode_数组 977.有序数组的平方1.题目描述2.暴力法3. 双指针法 209.长度最小的子数组1.题目描述2.暴力法3.滑动窗口(双指针法) 59.螺旋矩阵1.题目描述2. 螺旋矩阵解法 977.有序数组的平方 1.题目描述 给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字…

解决IDEA中集成Tomcat日志出现的乱码问题

解决IDEA中集成Tomcat日志出现的乱码问题 下面的方式可以解决的是解决的是idea中出现的控制台&#xff0c;Localhost日志以及Catalina日志乱码的问题 1.出现的乱码问题 你是不是也是遇到了这种的乱码的情况呢&#xff1f; 2.解决方法 1.打开conf文件夹。 2.设置输出的日志的编…

【小沐学Python】Python实现在线英语翻译功能

文章目录 1、简介2、在线翻译接口2.1 Google Translate API2.2 Microsoft Translator API2.2.1 开发简介2.2.2 开发费用2.2.3 开发API 2.3 百度翻译开放平台 API2.3.1 开发简介2.3.2 开发费用2.3.3 开发API 2.4 Tencent AI 开放平台的翻译 API2.4.1 开发简介2.4.2 开发API 2.5 …

人工智能基础部分16-神经网络与GPU加速训练

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能基础部分15-神经网络与GPU加速训练&#xff0c;在深度学习领域&#xff0c;神经网络已经成为了一种流行的、表现优秀的技术。然而&#xff0c;随着神经网络的规模越来越大&#xff0c;训练神经网络所需的时…

Kafka Connect JNDI注入漏洞复现(CVE-2023-25194)

漏洞原理 Apache Kafka Connect中存在JNDI注入漏洞&#xff0c;当攻击者可访问Kafka Connect Worker&#xff0c;且可以创建或修改连接器时&#xff0c;通过设置sasl.jaas.config属性为com.sun.security.auth.module.JndiLoginModule&#xff0c;进而可导致JNDI注入&#xff0c…

数字设计小思 - 谈谈非理想时钟的时钟偏差

写在前面 本系列整理数字系统设计的相关知识体系架构&#xff0c;为了方便后续自己查阅与求职准备。在FPGA和ASIC设计中&#xff0c;时钟信号的好坏很大程度上影响了整个系统的稳定性&#xff0c;本文主要介绍了数字设计中的非理想时钟的偏差来源与影响。 &#xff08;本文长…

数据结构-排序-(直接插入、折半插入、希尔排序、冒泡、快速排序)

目录 一、直接插入排序 二、折半插入排序 三、希尔排序 四、冒泡排序 五、快速排序 *效率分析 一、直接插入排序 思想&#xff1a;每次将一个待排序的记录按其关键字大小插入到前面已经排好序中&#xff0c;直到全部记录插入完毕 保证稳定性 空间复杂度&#xff1a;O(1…

SpringBoot 基本介绍--依赖管理和自动配置--容器功能

目录 SpringBoot 基本介绍 官方文档 Spring Boot 是什么? SpringBoot 快速入门 需求/图解说明 完成步骤 创建MainApp.java SpringBoot 应用主程序 创建HelloController.java 控制器 运行MainApp.java 完成测试 快速入门小结 Spring SpringMVC SpringBoot 的关系 梳…

【论文阅读】RapSheet:端点检测和响应系统的战术来源分析(SP-2020)

Tactical Provenance Analysis for Endpoint Detection and Response Systems S&P-2022 伊利诺伊大学香槟分校 Hassan W U, Bates A, Marino D. Tactical provenance analysis for endpoint detection and response systems[C]//2020 IEEE Symposium on Security and Priva…

【YOLO系列】--YOLOv5网络结构超详细解读/总结

前言 官方源码仓库&#xff1a;GitHub - ultralytics/yolov5: YOLOv5 &#x1f680; in PyTorch > ONNX > CoreML > TFLite YOLOv5至今没有论文发表出来&#xff0c;YOLOv5项目的作者是Glenn Jocher并不是原作者Joseph Redmon。作者当时也有说准备在2021年的12月1号之…

linux pl320 mbox控制器驱动分析 - (1) pl320手册分析

linux pl320 mbox控制器驱动分析 1 pl320简介1.1 pl320用途1.2 pl320 IPCM 由以下部分组成&#xff1a;1.3 pl320 IPCM可配置的参数1.4 功能操作1.5 IPCM 操作流程1.6 Channel ID 2 Using mailboxes&#xff08;使用邮箱中断&#xff09;2.1 Defining source core2.2 Defining …

JNI中GetObjectArrayElement, GetStringUTFChars,ReleaseStringUTFChars函数讲解

文章目录 GetObjectArrayElement函数使用场景代码演示GetStringUTFChars 函数使用场景ReleaseStringUTFChars函数 GetObjectArrayElement函数 函数原型&#xff1a; jobject GetObjectArrayElement(JNIEnv *env, jobjectArray array, jsize index); Returns an element of a J…

STL容器之deque

文章目录 deque容器简介deque的操作 deque容器简介 deque是“double-ended queue”的缩写&#xff0c;和vector一样都是STL的容器 deque是双端数组&#xff0c;而vector是单端的deque在接口上和vector非常相似&#xff0c;在许多操作的地方都可以直接替换deque可以随机存取元…

C语言-【操作符二】

Hello&#xff0c;大家好&#xff0c;前面的文章里边介绍了算术、赋值以及移位操作符&#xff0c;这篇文章呢&#xff0c;就介绍一下C语言中的其他操作符吧&#xff5e; 目录 位操作符 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号表达式 下标引用&#xff0c;函…

C++11多线程:windows临界区和Linux互斥锁、递归锁的区别与使用。

文章目录 前言一、windows临界区1.1 基本概念1.2 函数使用 二、使用步骤1.代码示例1 总结 前言 多线程windows临界区和Linux互斥锁 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、windows临界区 1.1 基本概念 Linux下有递归锁&#xff0c;递归锁…

着重讲解一下自动化测试框架的思想与构建策略,让你重新了解自动化测试框架

目录 序言&#xff1a; 一、简述自动化测试框架 二、自动化测试框架思想 三、构建自动化测试框架的策略 四、自动化测试框架的发展趋势 序言&#xff1a; 也许到现在大家对所谓的“自动化测试框架”仍然觉得是一种神秘的东西&#xff0c;仍然觉得其与各位很远&#xff1b;…

【JavaScript】ES6新特性(1)

1. let 声明变量 let 声明的变量只在 let 命令所在的代码块内有效 块级作用域 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge">&l…

08-04 中间件和平台运行期监控

缓存中间件的三大坑 缓存击穿 用户访问热点数据&#xff0c;并且缓存中没有热点数据&#xff0c;大量访问直接到DB&#xff0c;热点击穿采用Canal做数据异构方案&#xff0c;把数据库中的值全部放到缓存热点缓存策略&#xff1a;通过分析调用日志获取热点数据&#xff0c;放到…

PMP项目管理-[第十一章]风险管理

风险管理知识体系&#xff1a; 规划风险管理&#xff1a; 识别风险&#xff1a; 实施定性风险分析&#xff1a; 实施定量风险分析&#xff1a; 监督风险&#xff1a; 11.1 风险 定义&#xff1a;是一种不确定的事件或条件&#xff0c;一旦发生&#xff0c;就会对一个或多个项目…