目标检测复盘 --3. Fast RCNN

news2024/11/20 9:45:15

在这里插入图片描述

  • RCNN的CNN部分使用AlexNet作为backbone来提取特征,Fast RCNN使用了VGG16来作为backbone
  • RCNN将2000个框送入网络提取特征,Fast RCNN是将图像送入CNN来提取特征得到一个特征图
  • 将SS(Selective Search)算法获取的提议框映射到上面的特征图上,获取相应的每个框的特征
  • 将每个框的特征图使用ROI pooling进行缩放,固定到统一的尺寸
  • RCNN在获取结果的时候使用育训练的SVM分类器,而这里直接根据特征输出类别信息
    在这里插入图片描述
  • 样本策略并不是完全使用SS算法提供的2000个框来提取特征,而是根据策略进行采样,这样一方面保证正负样本平衡另一方面减少计算量

在这里插入图片描述

  • ROI Pooling:这里首先将特征图划分成7*7的大小,然后对每一个单元运用最大池化采样,最后输出特征图的尺寸为7*7,这种方法支持不同尺寸的输入,而不需要固定的尺寸

在这里插入图片描述

  • 获取完特征之后便开始分类,这里的输出size为N+1,这里的输出经过softmax处理(和为1)

  • 分类器:
    在这里插入图片描述

  • 回归器:
    在这里插入图片描述

  • 基于回归器对先验框做调整,注意网络的输出,用网络的输出来调整先验框的值(这个和后边YOLO系列的等anchor based方法都基本一致)

  • 这里为什么宽高是基于指数e的,一种可能的解释是 d x , d y d_x,d_y dx,dy可能是负值,为了保证最终的宽高都为正值?我觉得不太对,具体原因尚未可知,或许就是简单的一种范式吧,反正可以学习可以调整,形式不重要,哈哈哈。

在这里插入图片描述

  • 损失计算,分类损失,就是log损失,也就是softmax交叉熵损失
    在这里插入图片描述

  • 知识点回顾

  • 如果采用onehot编码,最终的多分类交叉熵的计算方式就是 l o g ( x ) log(x) log(x),注意,只有标签是采用onehot编码表示的,概率输出还是原始softmax的结果

    onehot:[0,0,...,1,.....0]
    sofmax:[0.1,0.3,...,0.4,...0.1]
    那么Loss=-log(0.4)
    

在这里插入图片描述

  • 损失计算,边界框回归损失
  • 注意这里的 v x v_x vx几个数字并不是标注结果, t x u t^u_x txu也不是输出的坐标或者宽高,他们都是中间值,经过计算才到最终的结果,标签的计算方式是通过标注结果反推,预测的结果直接由网络输出
    v x ( g t ) = G x ^ − P x P w v_x(gt) = \frac{\hat{G_x} - P_x}{P_w} vx(gt)=PwGx^Px
  • 这里有个 [ u ≥    1 ] [u\geq\;1] [u1],含义是正样本+指示函数,只有正样本的时候才是1,这部分才参与计算损失函数
    在这里插入图片描述- 速度瓶颈在SS算法上,后面的CNN模块还是挺快的,所以Faster RCNN就重点来解决这个问题咯

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

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

相关文章

Java API 基础

Java API 基础 一、相关知识学习 Java程序员在开发Java程序时,只需要安装有JDK,就可以在程序中使用import关键字导入Java API 中指定的包并在自己的程序中使用这些包中定义的各种类和接口。 1、 Java API 包 Java API 包 说明 java.accessibility 接…

微信小程序-页面跳转navigator组件

官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/route.html 在官方文档当中有提到一个叫做页面栈的这么一个东西,就是一个水杯,进入一个页面就是入到页面栈,退出就是从页面栈当中移除&…

WebTerminal功能实现与代码演示(基于Golang和Xterm.js)

文章目录 目的方案说说明实现过程与代码演示前端页面(Xterm.js)后端服务(Golang) 编译与测试总结 目的 WebTerminal是一个比较有意思的功能,让我们可以脱离专门的软件,在浏览器中就可以与Linux设备进行交互…

【运维知识进阶篇】集群架构-Rewrite重定向

Rewrite主要实现url地址重写,以及重定向,就是把传入web的请求重定向到其他url的过程。 分以下几种场景使用 1、地址跳转,用户访问一个URL,将其定向到另一个URL 2、协议跳转,用户通过http协议请求网站时,…

程序员不得不消化的基本概念:线程与协程,并行与并发

这是程序员的基本常识,这都搞不清楚,就不配为码农,就不配混CSDN。为人君者,招聘时可以以此为入门问题。 名词解释 在中文里,并发与并行很难望文生义,从字面上很难了解确切含义,貌似区别不大&am…

单机Redis、Redis持久化、Redis主从模式、Redis哨兵模式、Redis分片集群

一、单机Redis 数据库分类: 到目前为止,所有数据库分为两大类: RDBMS:关系型数据库,即传统数据库。 像MySQL、SQLServer、DB2、Sybase、SQLite、Oracle等等 以表的形式存储数据,表与表之间要维护数据的关系…

为什么投稿 SCI 被审稿人通过,又被编辑拒收?

有些作者在投稿过程中会遇到各种坑,不过有一种坑却最让作者痛心疾首,不知道大家有没有遇到过这样的状况: 审稿人建议接收,编辑却拒稿了; 或者审稿人建议拒稿,编辑却让自己改改再投? 有国外学者…

微服务: Seata AT springCloud整合分布式事务以配置方式(中篇)

目录 上篇: 安装seata 并启动成功的传送门 1. 前言: 2. springCloud 使用seata at 的步骤如下 第一步 查看springCloud版本 第二步添加maven依赖 第三步 添加yml配置 第四步: 配置数据源(druid) 第五步 修复一个警告 第六步: 启动后 看看日志是否成功 上篇: 安装seat…

边缘计算盒子功能介绍,为什么要用边缘计算盒子?

边缘计算盒子(Edge Computing Box)是一种用于边缘计算设备。边缘计算是一种分布式计算模型,它将计算和数据处理能力从传统的集中式云计算数据中心延伸到网络边缘的设备上,以便更快地响应实时数据处理需求和减少对云服务的依赖。 边…

HardenedVault 推出 Linux 安全加固版

导读HardenedVault 于 AWS 云平台上推出 Linux 安全加固版,该产品可以通过实施CIS和STIG基准来帮助您实现合规要求(PCI-DSS和GDPR)。 Shawn the R0ck 写道:HardenedVault自从 2022 年 7 月在 Amazon Web Services (AWS)推出了 Har…

Vscode运行Html的插件以及快速编写Html框架

然后我们点击创建文件,记住要以.html结尾 输入英文感叹号回车就行(记住要英文) 好了,希望小伙伴能快速入手VsCode,很好用的一款开源免费软件

基于Android的校园外卖系统app

一、项目介绍 Android客户端功能描述: 1:登录注册:用户可以通过自己的信息进行账号的注册 2:商家查看:查看发布的外卖商家信息 3:商家详情:用户点击某一个商家之后可以查看商家的地址和联系方…

AI人工智能在Python中构建回归器的原理、优缺点、应用场景和实现方法

回归器(Regressor)是一种常用的机器学习算法,可以用于预测数值型变量的值。在人工智能(Artificial Intelligence,简称AI)领域中,回归器是一种高效的算法,可以用于许多应用领域&#…

6.4.4最短路径问题-Floyd算法

原来在邻接矩阵种v2使无法到达v1的 但如果我们把v0作为中转站 不断增加中转点(1个中转点) 这里的path的值是中转点 v1到v2之间是没有中转点的。 这只是以一个中转点,more 路走得越多,会越来越小 广度优先遍历算法是遍历顶点和边…

(二)ArcGIS空间数据的转换与处理——矢量数据变换

ArcGIS空间数据的转换与处理——矢量数据变换 目录 ArcGIS空间数据的转换与处理——矢量数据变换 1.空间校正2.边匹配 数据变换是指对数据进行诸如放大、缩小、翻转、移动、扭曲等几何位置、形状和方位的改变等操作。对 矢量数据的相应操作可以通过 ArcMap 中空间较正 (Spatia…

录制屏幕怎么设置?怎么录制高画质的视频?

在今天的数字时代,屏幕录制已经成为了日常工作中不可或缺的一部分。许多人需要在电脑上录制屏幕来制作教程视频、演示文稿或者是游戏录像。本文将介绍如何在电脑上录制屏幕并获得高画质的视频。 屏幕录制软件的选择 要在电脑上录制高画质的视频,首先需要…

【1】机器学习

目录 1 机器学习概述 1.1 定义 1.2 基本方法 1.3 基本概念 1.4 有监督学习 1.5 无监督学习 1.6 过度拟合问题 模型过于复杂(例如参数过多) 正则化 1.7 模型选择 交叉验证 K折交叉验证 2 机器学习常用工具 3 Scikit-learn 3.1 基本流程 3.2 Scikit-learn常用函数 3.…

csdn Markdown编辑器

文章目录 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个注脚注释也是…

云视如何实现流量转化

云视如何实现流量转化 大家好我是小鱼 小伙伴很好奇 云视除了直播带货 打赏,广告 还有哪些方式 可以实现流量转化 今天我和大家分享一下这个话题 接下来我们要讲讲 我们要用的工具 优惠券 适用于刺激消费回流,构建闭环消费圈。 课程赠送 趣味推广营销&am…

平台使用篇 | 批处理(bat)脚本使用教程(三)

导读 本讲针对RflySim平台的一些特点简要介绍了平台使用批处理技术的原因,并根据CopterSim中仿真功能区的参数设置阐述了批处理技术在平台中的具体运用。 平台使用篇 | 批处理(bat)脚本使用教程(三) RflySim平台使用批处理技术的原因 ①调用多个软件Rf…