目标检测复盘 --4. Faster RCNN

news2024/11/25 22:42:30

在这里插入图片描述

  • Fast RCNN的性能得到了很大的提升,但是还是有很大一部分开销在候选框的生成模块,也就是SS算法,Faster RCNN使用一个网络专门干这个事,从而加快整体检测速度,能达到5帧每秒。
  • 所以这里的FasterRCNN也就是RPN+FastRCNN
    在这里插入图片描述
  • RPN,这里参考 https://blog.csdn.net/m0_63007797/article/details/127704034
  • 流程:
    1. 常规卷积提取特征获取feature map
    2. 利用3*3,个数为256,stride=1,paddling=1的卷积核作为sliding window来卷积,得到H*W*256的特征图,对每个点的256维向量分别所两次全连接操作获得图中的2k scores和4k coordinates,论文中k=9
    3. 映射到特征图上,接入Fast RCNN步骤

在这里插入图片描述

  • 更为详细的RPN解释

  • anchor的选择,论文中提出使用9个anchor
    在这里插入图片描述
  • 对于最终的anchor选择,采用如下策略

在这里插入图片描述

  • RPN训练样本选择策略
  • 随机采样256个样本,按照1:1的比例来选取,如果正样本少于128个,则使用负样本来补充
    在这里插入图片描述
  • 正负样本的定义:1.所有anchor中和真值的IOU最大认为是正样本(其实是对后面标准的补充) 2.只要anchor和真值的IOU大于0.7则被认为是正样本

在这里插入图片描述

  • RPN Loss计算,由分类损失和边界框回归损失两部分组成

在这里插入图片描述

  • 分类损失,是一个sofrmax cross entropy
  • 举例:第一个位置的损失 L c l s = − l o g ( 0.9 ) L_{cls}=-log(0.9) Lcls=log(0.9)第二个位置的损失是 L c l s = − l o g ( 0.2 ) L_{cls}=-log(0.2) Lcls=log(0.2),图中的标签可以onehot为[1,0],[0,1]…

在这里插入图片描述

  • pytorch中的实现采用下面这个版本,是下图中的实现方法,分类损失采用二值交叉熵
  • 使用sigmoid输出K个值,而不是上图中的2K,同样计算一下,第一个位置为 L c l s = − [ l o g ( 0.9 + ( 1 − 1 ) ∗ l o g ( 1 − 0.9 ) ] L_{cls}=-[log(0.9+(1-1)*log(1-0.9)] Lcls=[log(0.9+(11)log(10.9)],第二个位置为 L c l s = − [ 0 ∗ l o g ( 0.2 ) + ( 1 − 0 ) l o g ( 1 − 0.2 ] ) L_{cls}=-[0*log(0.2)+(1-0)log(1-0.2]) Lcls=[0log(0.2)+(10)log(10.2])

在这里插入图片描述

  • 边界框回归损失,和Fast RCNN中的方法基本一样,使用 s m o o t h L 1 smooth_{L1} smoothL1损失函数,表达式如下图
  • 仍然是预测4个参数,经过转换到最终的位置和宽高

在这里插入图片描述

  • Faster RCNN训练方法如下
  • 原论文中采用分布的方式来训练,训练RPN->训练Fast RCNN->微调RPN->微调Faster RCNN
  • 在最终的方法中可以同时开始训练RPN和Faster RCNN,即联合训练

在这里插入图片描述

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

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

相关文章

opencv_c++学习(十六)

一、线性滤波 均值滤波: blur(InputArray src, utputArray dst,Size ksize, Point anchor Point(-i,-1), int borderType BoRDER_DEFAULT)src:待均值滤波的图像,图像的数据类型必须是CV_8U、CV_16U、CV_16S、CV_32F和CV_64F这五种数据类型之一。 ds…

详解RGB和XYZ色彩空间转换之上

前言 首先需要指明本文中描述的R,G,B并非通常的sRGB中的三个分量R,G,B,而是波长分别为700nm,546.1nm,435.8nm的单色红光,单色绿光,单色蓝光。sRGB中的RGB中的红色、绿色、蓝色已经不是单色光了。虽然习惯上大家都叫RGB…

Java配置类整合SSM框架实现用户登录

文章目录 一,创建数据库与表(一)创建数据库(二)创建用户表(三)在用户表里插入记录 二,创建Maven项目三,添加相关依赖四,创建日志属性文件五,创建数…

自动化测试与手工测试的区别是什么?

目录 什么是自动化测试? 自动化测试与手工测试的区别 自动化测试的困境 什么是自动化测试? 自动化测试是指利用软件测试工具自动实现全部或部分测试,它是软件测试的一个重要组成 部分,能完成许多手工测试无法实现或难以实现的测试。能够正确、合理地…

DAY 62 mysql的高级语句

表连接查询 MYSQL数据库中的三种连接: inner join(内连接):只返回两个表中联结字段相等的行(有交集的值)left join(左连接):返回包括左表中的所有记录和右表中联结字段相等的记录right join(右连接):返回…

【P28】JMeter 测试活动(Flow Control Action)

文章目录 一、测试活动(Flow Control Action)参数说明二、测试计划设计2.1、Pause 2.2、Break Current Loop2.3、Stop 一、测试活动(Flow Control Action)参数说明 控制取样器流程 选择线程组右键 >>> 添加 >>&g…

chatgpt赋能Python-python8_3

Python 8%3 - 了解Python中的求余运算 Python是一种通用编程语言,具有广泛的应用领域,如Web开发、数据分析、机器学习等。在Python中,求余运算是一种重要且常用的运算。本文将介绍Python中的求余运算,并且重点讲解Python中的8%3的…

【二叉树】(一)

🖊作者 : D. Star. 📘专栏 : 数据结构 😆今日分享 : 为什么阴干的衣服会有味道? 衣服上超过三分之二的污垢来自我们身体外部的分泌物,即汗水和皮脂。如果在洗衣服的过程中皮脂没有洗干净的话,它就可以成为衣服&#x…

计算机基础数据结构和算法动态可视化展示网站收录

计算机中有很多数据结构、算法对于小白来说非常难理解,交互式动画一步步展示整个过程可以帮助我们快速准确地理解这些算法。我们整理了12个可动态交互和展示常见数据结构和排序、图算法等网站,总计12个 收录到 webhub123​www.webhub123.com/#/home/de…

C 学习笔记 —— 内存操作函数

文章目录 内存操作函数memcpy实例 memmove内存重叠问题 memcmp实例 memset不能任意赋值 参考资料 内存操作函数 内存操作函数也是在<string.h>头文件中的 四个内存函数&#xff1a; memcpy(内存拷贝&#xff09; memmove&#xff08;内存移动&#xff09; memcmp&#…

C++ 期末冲刺3h

C 1. 基础程序 #include "iostream" // C头文件 #include "stdio.h" // C 头文件 //using namespace std; // 命名空间// main() 是程序开始执行的地方int main() {std::cout << "Hello, World!" << "\n";return 0; …

Jenkins持续集成之windows下安装jenkins

官方地址&#xff1a; https://jenkins.io/download/ 安装jenkins 下载windows和linux通用的war包 启动 Jenkins 将 jenkins.war 放到 tomcat安装目录/webapps 下 访问 http://127.0.0.1:8080/jenkins 我这里因为之前已经走过初始化步骤了&#xff0c;所以直接进去了主界面…

Datacom-HCIE 题库 03(10月26日更新)--含解析

单选题 1.[试题编号&#xff1a;189810] &#xff08;单选题&#xff09;SSH算法协商阶段中&#xff0c;双方交换自身所支持的算法列表。SSH服务器的对称加密算法列表依次为:aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc。SSH客户端的对称加密算法列表依次为&#xff1a;aes1…

2023年NOC大赛创客智慧编程赛项图形化复赛模拟题二,包含答案解析

2023年NOC大赛创客智慧编程赛项图形化复赛模拟题二,包含答案解析 第一题: 在源程序“小蝙蝠”文件中,实现小蝙蝠遇到不同的角色会说不同的话,以及切换不同的造型要求: 1:游戏开始时,小蝙蝠角色是造型 a,并能够用键盘控制上、下、左、右移动; 2:移动小蝙蝠,距离角色雪…

利用列表推导式遍历子目录PDF文件

一、问题的提出 之前&#xff0c;我们探索了如何用Python来遍历子目录文件&#xff0c;详情可以见下面的文章&#xff1a; PythonFan&#xff1a;Python遍历子目录文件的多种方法5 赞同 0 评论文章正在上传…重新上传取消https://zhuanlan.zhihu.com/p/609327324 以上方面有…

t检验.医学统计实例详解

t检验是医学统计学中常用的一种假设检验方法&#xff0c;用于比较两个样本均值是否有显著差异。它可以帮助医学研究者确定一个治疗方法或药物是否显著地改善了患者的症状或生理指标。 在医学研究中&#xff0c;t检验常被用来&#xff1a; 比较两个独立样本的均值&#xff1a;…

这个 归并排序详解过程 我能吹一辈子!!!

文章目录 归并排序概念归并排序算法思路归并排序递归实现归并排序非递归实现 归并排序概念 1945年&#xff0c;约翰冯诺依曼&#xff08;John von Neumann&#xff09;发明了归并排序&#xff0c;这是典型的分治算法的应用。 归并排序&#xff08;Merge sort&#xff09;是建立…

【2023秋招】华为od22-12-14三道题(思路+代码)

2023大厂笔试模拟练习网站&#xff08;含题解&#xff09; www.codefun2000.com 最近我们一直在将收集到的各种大厂笔试的解题思路还原成题目并制作数据&#xff0c;挂载到我们的OJ上&#xff0c;供大家学习交流&#xff0c;体会笔试难度。现已录入200道互联网大厂模拟练习题&…

Godot引擎 4.0 文档 - 循序渐进教程 - 监听玩家输入

本文为Google Translate英译中结果&#xff0c;DrGraph在此基础上加了一些校正。英文原版页面&#xff1a; Listening to player input — Godot Engine (stable) documentation in English 监听玩家输入 在上一课创建您的第一个脚本的基础上&#xff0c;让我们看看任何游戏…

Linux基本指令实现4及热键指令详解

目录 Linux热键补充&#xff1a; 1.bc指令&#xff1a; Tab键的智能补充&#xff1a; ctrlc键&#xff1a; uname指令&#xff1a; lscpu指令&#xff1a; lsmem指令&#xff1a; df -h指令&#xff1a; 关机指令&#xff1a; 扩展指令&#xff1a; Linux热键补充&#…