深度学习经典检测方法的概述

深度学习经典的检测方法

two-stage(两阶段):Faster-rcnn Mask-Rcnn系列

两阶段(two-stage)是指先通过一个区域提取网络(region proposal network,RPN)生成候选框,再通过一个分类回归网络进行目标检测。Faster R-CNN和Mask R-CNN就是经典的两阶段目标检测模型。
Faster R-CNN将RPN和分类回归网络结合在一起,可以实现端到端的训练和推理。Mask R-CNN在Faster R-CNN的基础上增加了一个分割分支,可以同时进行目标检测和实例分割。两阶段模型在准确率上表现优秀,但相对于单阶段模型速度较慢。

one-stage(单阶段):YOLO系列

YOLO(You Only Look Once,你只需要看一次)系列是一种先进的目标检测算法,其中包括YOLOv1、YOLOv2、YOLOv3和YOLOv4等版本。这些算法采用了单阶段的检测方式,即所有目标的检测和分类都在一个单独的网络中完成。在YOLO系列中,图像被分成一个固定的网格,每个网格预测一个定量的边界框和类别。相比于传统的两阶段检测(如Faster R-CNN和Mask R-CNN),YOLO系列具有更快的检测速度和更高的实时性能,但也存在一定的精度损失。
在这里插入图片描述

one-stage:

最核心的优势:速度非常快,适合做实时检测任务!
但是缺点也是有的,效果通常情况下不会太好!
在这里插入图片描述

two-stage:

速度通常较慢(5FPS),但是效果通常还是不错的!
非常实用的通用框架MaskRcnn,建议熟悉下!
在这里插入图片描述

指标分析

map指标:综合衡量检测效果;单看精度和recall不行吗?
在这里插入图片描述在这里插入图片描述检测任务中的精度和召回率分别代表什么?

在机器学习和数据挖掘中,精度和召回率是常用的评估指标,用于评估分类模型的效果。它们通常用于度量分类模型的性能,以确定模型在确定类别时的准确性和完整性。

精度指的是模型预测正确的样本数占总样本数的比例,即:

精度 = T P + T N T P + T N + F P + F N 精度 = \frac{TP + TN}{TP + TN + FP + FN} 精度=TP+TN+FP+FNTP+TN

其中, T P TP TP 表示真正例(True Positive),即正类被预测为正类的数量; T N TN TN 表示真负例(True Negative),即负类被预测为负类的数量; F P FP FP 表示假正例(False Positive),即负类被预测为正类的数量; F N FN FN 表示假负例(False Negative),即正类被预测为负类的数量。

召回率指的是模型能够正确识别出的正类样本占所有正类样本的比例,即:

召回率 = T P T P + F N 召回率 = \frac{TP}{TP + FN} 召回率=TP+FNTP

其中, T P TP TP F N FN FN 的含义与精度相同。

简单来说,精度反映了模型分类的准确性,而召回率反映了模型覆盖所有样本的能力。在实际应用中,需要根据具体的场景和需求来选择更为重要的指标。
在这里插入图片描述
基于置信度阈值来计算,例如分别计算0.9;0.8;0.7

0.9时:TP+FP = 1,TP = 1 ;FN = 2;Precision=1/1;Recall=1/3;
在这里插入图片描述如何计算AP呢?需要把所有阈值都考虑进来;MAP就是所有类别的平均
在这里插入图片描述
在深度学习中,mAP(mean Average Precision)是一种广泛使用的评估指标,其用于衡量在目标检测任务中模型的性能。mAP可以简单地理解为所有类别的平均精度。

在目标检测中,一个模型会生成一系列的预测结果。每个预测结果包含一个目标的类别和位置信息,可能与实际的目标进行匹配,也可能与其它目标进行匹配。通过比较预测结果和真实目标之间的差异,我们可以计算出模型的精度。

在多类别情况下,我们需要计算每个类别的精度。对于每个类别,我们可以计算出一个AP(Average Precision)值。AP值是在不同阈值下的精度(Precision)和召回率(Recall)的计算结果。AP值是一个0到1之间的值,0表示模型没有正确预测任何目标,1表示模型完全正确地预测了所有目标。

平均精度mAP是所有类别的AP值的平均值。

计算mAP的公式如下:

m A P = ∑ i = 1 c A P i c mAP=\frac{\sum_{i=1}^cAP_i}{c} mAP=ci=1cAPi

其中,c表示类别数,APi表示第i个类别的AP值。

mAP是一个常用的目标检测评估指标,因为它能够同时考虑模型的准确性和召回率。在实际使用中,我们会使用各种工具和框架来计算mAP值,比如Python的sklearn.metrics库。

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

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

相关文章

SLAM十四讲学习笔记 第二期:部分课后实践代码

持续更新.... 前期准备第二讲实验一:简单输出 第五讲任务一:imageBasics(Ubuntu配置opencv)任务二:双目匹配点云(Ubuntu配置pangolin)检验部分我认为可以加深对CMake的理解 任务三:r…

pandas数据分析——groupby得到分组后的数据

groupbyagg分组聚合对数据字段进行合并拼接 Pandas怎样实现groupby聚合后字符串列的合并(四十) groupby得到分组后的数据 pandas—groupby如何得到分组里的数据 date_range补齐缺失日期 在处理时间序列的数据中,有时候会遇到有些日期的数…

springboot源码编译问题

问题一 Could not find artifact org.springframework.boot:spring-boot-starter-parent:pom:2.2.5.RELEASE in nexus-aliyun (http://maven.aliyun.com/nexus/content/groups/public/) 意思是无法在阿里云的镜像仓库中找到资源 解决:将配置的镜像删除即可&#…

STM32 CAN 波特率计算分析

这里写目录标题 前言时钟分析时钟元到BIT 前言 CubeMX中配置CAN波特率的这个界面刚用的时候觉得非常难用,怎么都配置不到想要的波特率。接下来为大家做一下简单的分析。 时钟分析 STM32F4的CAN时钟来自APB1 在如下界面配置,最好配置为1个整一点的数。…

cpolar做一个内网穿透

因为不在公司,需要访问公司的数据库,所以做一个内网穿透 下载安装 下载地址: https://dashboard.cpolar.com/get-started 下载后是个压缩包,解压后傻瓜式安装 操作隧道 安装后打开Cpolar Web UI 登录账号,查看隧…

如何评估分类模型的好坏

如何评估分类模型的好坏 评估分类预测模型的质量,常用一个矩阵、三条曲线和六个指标。 一个矩阵:混淆矩阵;三条曲线:ROC曲线、PR曲线、KS曲线;六个指标:正确率Acc、查全率R、查准率P、F值、AUC、BEP值、KS…

【设计模式--原型模式(Prototype Pattern)

一、什么是原型模式 原型模式(Prototype Pattern)是一种创建型设计模式,它的主要目的是通过复制现有对象来创建新的对象,而无需显式地使用构造函数或工厂方法。这种模式允许我们创建一个可定制的原型对象,然后通过复制…

SVM详解

公式太多了,就用图片用笔记呈现,SVM虽然算法本质一目了然,但其中用到的数学推导还是挺多的,其中拉格朗日约束关于α>0这块证明我看了很长时间,到底是因为悟性不够。对偶问题也是,用了一个简单的例子才明…

软考A计划-系统集成项目管理工程师-小抄手册(共25章节)-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

求生之路2私人服务器开服搭建教程centos

求生之路2私人服务器开服搭建教程centos 大家好我是艾西,朋友想玩求生之路2(left4dead2)重回经典。Steam玩起来有时候没有那么得劲,于是问我有没有可能自己搭建一个玩玩。今天跟大家分享的就是求生之路2的自己用服务器搭建的一个心路历程。 &#xff0…

React+Typescript 父子组件事件传值

好 之前我们将 state 状态管理简单过了一下 那么 本文 我们来研究一下事假处理 点击事件上文中我们已经用过了 这里 我们就不去讲了 主要来说说 父子之间的事件 我们直接来编写一个小dom 我们父组件 编写代码如下 import Hello from "./components/hello";functio…

记录 JSONObject.parseObject json对象转换 对象字段为null

1.业务背景 使用websocket 接收消息都是String类型,没办法自定义实体类接收,所以接发都必须将json 转 对象 对象转 json。 这是我最开始的实体类,也就是转换的类型 package com.trinity.system.domain;import lombok.AllArgsConstructor; im…

【Midjourney电商与平面设计实战】创作效率提升300%

不得不说,最近智能AI的话题火爆圈内外啦。这不,战火已经从IT行业燃烧到设计行业里了。 刚研究完ChatGPT,现在又出来一个AI作图Midjourney。 其视觉效果令不少网友感叹:“AI已经不逊于人类画师了!” 现如今,在AIGC 热…

浅谈泛在电力物联网发展形态与技术挑战

安科瑞 华楠 摘 要:泛在电力物联网是当前智能电网发展的一个方向。首先,总结了泛在电力物联网的主要作用和价值体现;其次,从智能电网各个环节概述了物联网技术在电力领域的已有研究和应用基础;进而,构思并…

小研究 - J2EE 应用服务器的软件老化测试研究

软件老化现象是影响软件可靠性的重要因素,长期运行的软件系统存在软件老化现象,这将影响整个业务系统的正常运行,给企事业单位带来无可估量的经济损失。软件老化出现的主要原因是操作系统资源消耗殆尽,导致应用系统的性能下降甚至…

Docker容器:本地私有仓库、harbor私有仓库部署与管理

文章目录 一.本地私有仓库1.本地私有仓库概述2.搭建本地私有仓库3.容器重启策略简介 二.harbor私有仓库部署与管理1.什么是harbor2.Harbor的特性3、Harbor的构成4.Harbor私有仓库架构及数据流向5.harbor部署及配置(192.168.198.11)(1&#xf…

Postman中参数区别及使用说明

一、Params与Body 二者区别在于请求参数在http协议中位置不一样。Params 它会将参数放入url中以?区分以&拼接Body则是将请求参数放在请求体中 后端接受数据: 二、body中不同格式 2.1 multipart/form-data key - value 格式输入,主要特点是可以上…

UG\NX二次开发 使用录制功能录制操作记录时,如何设置默认的开发语言?

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,C\C,Qt-CSDN博客 简介: NX二次开发使用BlockUI设计对话框时,如何设置默认的代码语言? 效果: 方法: 依次打开“文件”->“实用…

初识 Redis

初识 Redis 1 认识NoSQL1.1 结构化与非结构化1.2 关联和非关联1.3 查询方式1.4. 事务1.5 总结 2 Redis 概述2.1 应用场景2.2 特性 3 Resis 全局命令4 Redis 基本数据类型4.1 String4.1.1 常用命令4.1.2 命令的时间复杂度4.1.3 使用场景 4.2 Hash4.2.1 常用命令4.2.2 命令的时间…

芯片行业震荡期,数字后端还可以入吗?

自去年开始,芯片行业仿佛进入了动荡期,经历了去年秋招和今年春招的小伙伴都知道,如今找工作有多难。 半导体行业人才缩减、各大厂裁员,在加上高校毕业生人数破千万,对于即将踏入IC这个行业的应届生来说,今…