当前位置: 首页 > news >正文

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

深度学习经典的检测方法

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库。

相关文章:

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

深度学习经典的检测方法 two-stage(两阶段):Faster-rcnn Mask-Rcnn系列 两阶段(two-stage)是指先通过一个区域提取网络(region proposal network,RPN)生成候选框,再通过…...

viewpager2导致的mViews下标越界问题

viewpager2种在嵌套一个RecyclerView场景:左右滑动,上下滑动,出现mViews为null问题。 //RecyclerView布局为 new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL) 由于使用viewpager2导致布局缓存的销毁,会…...

无涯教程-JavaScript - NORMSDIST函数

NORMSDIST函数替代Excel 2010中的NORM.S.DIST函数。 描述 该函数返回标准正态累积分布函数。分布的平均值为0(零),标准偏差为1。使用此功能代替标准法线区域的表格。 语法 NORMSDIST (z)争论 Argument描述Required/OptionalZThe value for which you want the distributio…...

Mysql查询(SELECT)

基本查询:SELECT FROM SELECT 查询字段 FROM 表名; SELECT * FROM userinfo; 条件查询:用where表示查询条件 SELECT 查询字段 FROM 表名 WHERE 条件; 模糊查询:like %匹配0或多个字符,一般不用左模糊(%放在左边&…...

基于JAVAEE技术的ssm校园车辆管理系统源码和论文

基于JAVAEE技术的ssm校园车辆管理系统源码和论文105 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 1.选题背景和意义 背景: 随着第二次工业革命后,内燃机的发明与完善,解…...

opencv-人脸识别

对https://blog.csdn.net/weixin_46291251/article/details/117996591这哥们代码的一些修改 import cv2 import numpy as np import os import shutil import threading import tkinter as tk from PIL import Image, ImageTkchoice 0# 首先读取config文件,第一行…...

九、idSpanMap使用基数树代替原本的unordered_map 十、使用基数树前后性能对比

九、idSpanMap使用基数树代替原本的unordered_map 我们原本的idSpanMap用的是STL容器中的unordered_map哈希桶,因为STL的容器本身是不保证线程安全的,所以我们在访问时需要加锁保证线程安全,这也就是我们写的内存池的性能的瓶颈点。因为我做…...

政府科技项目验收全流程分享

科技验收测试 (验收申请→主管部门初审→科技厅审核→组织验收→归档备案→信用管理): (一)验收申请 项目承担单位通过省科技业务管理系统提交验收申请。 按期完成的项目,项目承担单位应当在项目合同书…...

基于Matlab实现生活中的图像信号分类(附上源码+数据集)

在我们的日常生活中,我们经常会遇到各种各样的图像信号,例如照片、视频、图标等等。对这些图像信号进行分类和识别对于我们来说是非常有用的。在本文中,我将介绍如何使用Matlab来实现生活中的图像信号分类。 文章目录 介绍源码数据集下载 介…...

YOLOv5算法改进(12)— 替换主干网络之Swin Transformer

前言:Hello大家好,我是小哥谈。Swin Transformer是一种基于Transformer的深度学习模型,它在视觉任务中表现出色。与之前的Vision Transformer(ViT)不同,Swin Transformer具有高效和精确的特性,并…...

php 权限节点的位运算

一,概述 在 PHP 中,位运算可以用来进行权限节点的判断。通常,每个权限节点都会用一个不同的位表示(2的n次方,从0开始),可以将这些位组合成一个权限值。然后,可以使用位运算符来检查…...

ClickHouse进阶(六):副本与分片-2-Distributed引擎

进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 📌订阅…...

Git和Github的基本用法

目录 背景 下载安装 安装 git for windows 安装 tortoise git 使用 Github 创建项目 注册账号 创建项目 下载项目到本地 Git 操作的三板斧 放入代码 三板斧第一招: git add 三板斧第二招: git commit 三板斧第三招: git push 小结 🎈个人主页&#xf…...

279. 完全平方数

279.完全平方数 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 …...

一篇文章学会C#的正则表达式

https://blog.csdn.net/qq_38507850/article/details/79179128 正则表达式 一句话概括就是用来对字符串根据自己的规则进行匹配的,可以匹配(返回)出符合自己要求的匹配结果,有人说字符串类的函数也可以,确实是这样,但是字符串的函…...

智慧工地源码 智慧大屏、手机APP、SaaS模式

一、智慧工地可以通过安全八要素来提升安全保障,具体措施包括: 1.安全管理制度:建立科学完善的安全管理制度,包括安全标准规范、安全生产手册等,明确各项安全管理职责和要求。 2.安全培训教育:对工地人…...

C# WPF监听USB插入拨出

可以全部监听。好用 private void FormF100WriteCortexLicense_Load(object sender, EventArgs e){this.Text this.Text " " FT_Tools.Program.version;USB USBWatcher new USB();USBWatcher.AddUSBEventWatcher(USBEventHandler, USBEventHandler, new TimeSpa…...

Prometheus监控(三)架构

文章目录 Prometheus架构图Prometheus生态圈组件Prometheus Serverclient librariesPushgatewayexporterAlartmanager Prometheus架构理解存储计算层采集层应用层 Prometheus架构图 Prometheus生态圈组件 Prometheus Server 主服务器,负责收集和存储时间序列数据 …...

linux kvm网桥br简单理解和持久化配置

linux网桥简单理解和持久化配置 文章目录 前言一、Linux 网桥是什么?二、网桥主要作用三、网桥配置命令及安装(CentOS系统) 1 网桥配置命令2.持久化网桥配置 前言 linux bridge是网络虚拟化中非常重要的一种设备,今天就来学习下linux bridge的相关知…...

【LeetCode-中等题】105. 从前序与中序遍历序列构造二叉树

文章目录 题目方法一:递归 题目 方法一:递归 preorder [3,9,20,15,7] inorder [9,3,15,20,7] 首先根据 preorder 找到根节点是 3然后根据根节点将 inorder 分成左子树和右子树 左子树 inorder [9]右子树 inorder [15,20,7]这时候3是根节点 3的左子树…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言:多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

OpenLayers 可视化之热力图

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

无法与IP建立连接,未能下载VSCode服务器

如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践

在 Kubernetes 集群中,如何在保障应用高可用的同时有效地管理资源,一直是运维人员和开发者关注的重点。随着微服务架构的普及,集群内各个服务的负载波动日趋明显,传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...