目标检测(4)—— 经典算法和常用指标

news2024/11/28 2:40:08

一、深度学习的经典算法

  • two-stage(两阶段):RCNN
  • one-stage(一阶段):YOLO,SSD(这个好像很牛)

one-stage: 将图片输入到CNN里,经过特征提取,输出4个值,得到框的x1,y1,x2,y2,即为一个回归任务。即一个CNN网络提取特征做一个回归任务,中间不需要加任何的额外的补充。
two-stage: 多加了一个网络,叫做区域建议网络RPN,多了一些预选框,先经过预选,再得到最终结果。结果会更好一点。

优缺点:

  • one-stage:
  • 速度快,适合做实时检测任务(视频)
  • 效果不太好
  • 明确任务:速度快,要做视频检测任务
  • 自己选择特征提取网络,简单复杂自己决定
  • two-stage:
  • 速度慢,5FPS
  • 效果好

在这里插入图片描述

在这里插入图片描述

目标检测的衡量指标:

  • FPS:快OR慢
  • mAP:衡量指标,越大越好,越接近1越好

在这里插入图片描述

二、目标检测用的衡量指标

YOLO系列一直在改进,改进有两个点:

  • MAP值更高
  • 速度更快

在这里插入图片描述

MAP值

map指标:综合衡量检测效果,单看精度和recall不行。
IOU:是Ground truth真实值和Prediction预测值交集和并集的一个比值。越高越好,代表越重合
精度:希望真实值和预测值越吻合越好。
recall:希望把真实值都检测到了。

精度和召回率

在这里插入图片描述

在目标检测中,精度和召回率代表什么?

  • 精度:希望预测的框和真实的框越接近越好
  • 召回率:希望没检测到的框越少越好(漏检)

在这里插入图片描述

  • 置信度:在预测时,会有很多重叠的框,每个框上都有一个值。需要指定一个阈值,低于阈值的框会被舍弃掉。
  • 设置阈值为0.9

设置阈值为0.9,计算下面三张图的Precision和recall。

0.9的时候,只有第一张图预测的框保留下来了,TP为真正类(是人脸,并且检测到了),即为1;FP为假正类(预测错了,错误的把背景判断成人脸了),为0;FN为假负类(预测错了,把人脸预测成背景了,漏检了!),为2。
Precision=1/1
Recall=1/3

在这里插入图片描述

  • 然后计算每个阈值的精度和召回率,比如计算0-1之间的的P和R
  • 构建一个P-R图,横轴为召回率,纵轴为精度
  • 把所有的阈值都考虑进来,MAP值即为,将这张图画出来,下方所围成的这张图的面积,取最大值下方的面积。面积代表MAP值是多少,希望MAP值越大越好,越接近1越好。

在这里插入图片描述

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

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

相关文章

rabbitMQ:绑定Exchange发送和接收消息(topic)

topic交换机和fanout交换机类似,也是广播机制,但是topic需要绑定RoutingKey,绑定RoutingKey时可以使用通配符(*,#)代替。 *:只能一个单词 #:0个或多个单词 编写topic消息发送类 1.编写Recei…

区块链的认识

目录 频繁的交易如何记录这些交易信息呢? 那我们的链又是如何连接起来的? 谁做记账先生呢? 共识机制 如何处理有些人距离账目的公共太远的问题? 安全性: 去中心化: 总结: 频繁的交易如何记录…

云原生k8s的盘古开天辟地

背景 容器(docker)流行开来,容器调度机制风起云涌,各路神仙用systemctl调度, 也有号称容器宗师的出品docker swarm, 各大门派也有各自的旗帜主张。天下混沌,血雨腥风,龙藏深泉,而谷歌的k8s就是这个主角。 …

较低成本的ISO7637-2 5A 5B抛负载保护方案

科普下什么是抛负载,抛负载测试方案以及后端电路参数的选择。 在众多汽车电子电磁兼容测试中,最具破坏性的就是ISO7637-2的5A 5B测试了,当然也有的测试项目放在ISO16750标准中,但测试波形大体相同。上海雷卯有专门的文章描述这2个…

基于JavaWeb的手机商城系统设计与实现

目录 摘要 I Abstract II 第1章 绪论 1 1.1 课题背景 1 1.2 目的和意义 1 1.3 系统设计思想 3 1.4 本文的结构 3 第2章 可行性分析 4 2.1 业务流程图 4 2.2 经济可行性 6 2.3 技术可行性 6 2.4 运行可行性 6 2.5 本章小结 7 第3章 需求分析 8 3.1 关于电商的前世今生和目前发展…

C++基础知识梳理<2>(引用、内联函数、auto关键字) [入门级】

目录 一、引用 1. 引用概念 2. 引用特性 2.1 引用在定义时必须初始化 2.2 一个变量可以有多个引用 2.3 引用一旦引用一个实体,再不能引用其他实体 3. 常引用 3.1 取别名的规则 3.2 权限放大error 3.3 权限不变 3.4 权限缩小 4. 引用原理与拓展 4.1…

RestTemplate.exchange各种用法(包括泛型等 --全)

文章目录前言1. Get请求1.1 返回基本类型1.2 返回自定义对象类型1.3 返回List\<T> 类型1.4 返回Map\<K,V> 类型1.5 返回自定义泛型类型2.Post请求2.1 传headerbody返回对象类型2.2 传headerbody返回自定义泛型类型3. 异常情况处理4. RestTemplate配置Bean最后前言 …

学习笔记之Vue基础学习——持更

Vue学习一、Vue简介1.1 什么是Vue&#xff1f;1.2 Vue的特点1.3 Vue官网使用1.4 搭建Vue开发环境1.5 Hello小案例总结案例&#xff1a;二、模板语法2.1 两大类型三、数据绑定3.1 两种方式四、el和data的两种写法4.1 el的两种写法4.2 data的两种写法五、MVVM模型5.1 什么是MVVM模…

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

一、YOLO系列V1 经典的one-stage方法&#xff0c;You Only Look Once将检测问题转化成回归问题&#xff0c;一个CNN搞定可以对视频进行实时监测 YOLO系列的速度更快&#xff0c;我们检测的物体很简单&#xff0c;进行取舍&#xff0c;舍弃了一些精度。 V1核心思想 现在要预测…

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

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

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

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

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

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

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

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

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;希望可…