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

深度学习经典的检测方法

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.rhkb.cn/news/106783.html

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

相关文章

k8s 常用命令(四)

12、删除pod中的nginx服务及service [rootmaster ~]# kubectl delete deployment nginx -n kube-public [rootmaster ~]# kubectl delete svc -n kube-public nginx-service 13、查看endpoint的信息 [rootmaster ~]# kubectl get endpoints 14、修改/更新(镜像、…

react18+antd5.x(1):Notification组件的二次封装

antdesign已经给我们提供了很好的组件使用体验,但是我们还需要根据自己的项目业务进行更好的封装,减少我们的代码量,提升开发体验 效果展示 开起来和官网的使用没什么区别,但是我们在使用的时候,进行了二次封装,更利于我们进行开发 MyNotification.jsx,是我们的业务页面…

百度23Q2财报最新发布:营收利润加速增长,AI+生态战略渐显规模

百度集团-SW(9888.HK)Q2财报已于2023/08/22(美东)盘前发布,二季度百度集团整体收入实现341亿元,同比增长15%;归属百度的净利润(non-GAAP)达到80亿元,同比增长44%。营收和利润双双实现大幅增长,超市场预期。其中,百度核…

队列(Queue):先进先出的数据结构队列

栈与队列https://blog.csdn.net/qq_45467165/article/details/127958960?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127958960%22%2C%22source%22%3A%22qq_45467165%22%7D 队列(Queue)是一种常见的线…

CV:边缘检测的算法包含 Prewitt、Sobel、Laplacian 和 Canny。

目录 1. 边缘检测(Prewitt) 2. 边缘检测(Sobel) 3. 边缘检测(Laplacian) 3. 边缘检测(Canny) 边缘检测的算法包含 Prewitt、Sobel、Laplacian 和 Canny。 人在图像识别上具有难…

yolov3加上迁移学习和适度的数据增强形成的网络应用在输电线异物检测

Neural Detection of Foreign Objects for Transmission Lines in Power Systems Abstract. 输电线路为电能从一个地方输送到另一个地方提供了一条路径,确保输电线路的正常运行是向城市和企业供电的先决条件。主要威胁来自外来物,可能导致电力传输中断。…

多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比

多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比 目录 多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比 模型…

亚马逊云科技 云技能孵化营 初识机器学习

目录 前言 一、课程介绍 二、什么是机器学习 三、机器学习算法进阶过程 四、亚马逊云科技能给我们什么 总结 前言 近期参加了“亚马逊云科技 云技能孵化营”,该孵化营的亚马逊云科技培训与认证团队为开发者准备了云从业者的精要知识及入门课程,帮助…

[PyTorch][chapter 51][Auto-Encoder -1]

目录: 简介 损失函数 自动编码器的类型 一 AutoEncoder 简介: 自动编码器是一种神经网络,用于无监督学习任务.(没有标签或标记数据), 例如降维,特征提取和数据压缩. 主要任务: 1: 输入数据 …

一分钟学会用pygame制作棋盘背景

一分钟一个Pygame案例,这一集我们来学习一下如何生成一个视频中的棋盘背景效果,非常非常简单。 视频教程链接:https://www.bilibili.com/video/BV17G411d7Ah/ 当然我们这里是用来做页面的背景,你也可以拿来做别的效果&#xff0…

测试框架pytest教程(10)自定义命令行-pytest_addoption

pytest_addoption pytest_addoption是pytest插件系统中的一个钩子函数,用于向pytest添加自定义命令行选项。 在pytest中,可以使用命令行选项来控制测试的行为和配置。pytest_addoption钩子函数允许您在运行pytest时添加自定义的命令行选项,…

知识储备--基础算法篇-动态规划

1.前言 第一次接触动态规划,不知道具体什么意思,做了题才发现动态规划就是把大问题变成小问题,并解决了小问题重复计算的方法称为动态规划。比如上楼梯,一次上一阶或二阶,求有多少种算法,就可以拆成最后一…

使用Pytorch和OpenCV实现视频人脸替换

“DeepFaceLab”项目已经发布了很长时间了,作为研究的目的,本文将介绍他的原理,并使用Pytorch和OpenCV创建一个简化版本。 本文将分成3个部分,第一部分从两个视频中提取人脸并构建标准人脸数据集。第二部分使用数据集与神经网络一…

【C++】stack和queue

stack和queue 1. stack1.1 简单了解stack1.2 stack的常见接口1.3 练习1.4 模拟实现stack 2. queue2.1 简单了解queue2.2 queue的常见接口2.3 练习2.4 模拟实现queue 3. deque(了解)4. priority_queue4.1 优先级队列的介绍4.2 priority_queue的常见接口4.…

【80天学习完《深入理解计算机系统》】第十天 3.3 条件码寄存器【CF ZF SF OF】【set】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

Python Scrapy网络爬虫框架从入门到实战

Python Scrapy是一个强大的网络爬虫框架,它提供了丰富的功能和灵活的扩展性,使得爬取网页数据变得简单高效。本文将介绍Scrapy框架的基本概念、用法和实际案例,帮助你快速上手和应用Scrapy进行数据抓取。 Scrapy是一个基于Python的开源网络爬…

如何进行微服务的集成测试

集成测试的概念 说到集成测试,相信每个测试工程师并不陌生,它不是一个崭新的概念,通过维基百科定义可以知道它在传统软件测试中的含义。 Integration testing (sometimes called integration and testing, abbreviated I&T) is the pha…

Git 版本控制系统

git相关代码 0、清屏幕:clear 1、查看版本号 git -v2、暂存、更改、提交 3、当前项目下暂存区中有哪些文件 git ls-files4、查看文件状态 git status -s5、暂时存储,可以临时恢复代码内容 git restore 目标文件 //(注意:完全…

自动控制原理笔记-采样控制系统

目录 采样控制系统的基本概念: 采样过程及采样定理: 一、采样过程 二、采样定理(香农采样定理、奈奎斯特采样定律) 三、信号复现 四、零阶保持器 z变换与z反变换: z变换的定义 z变换基本定理 z反变换 采样系…

谷歌面试-扔鸡蛋

今天想跟大家分享一个有意思的面试题,这让我再一次感叹思维的奇妙,接下来我们一起看看吧~ 首先来看看题目: 你有2颗鸡蛋,需要以最少的尝试次数来判断在100层的高楼上,哪一层楼是鸡蛋的安全层。 换句话说&#xff0c…