目标检测复盘 --3. RCNN

news2024/12/31 7:29:08

在这里插入图片描述

  • 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/542159.html

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

相关文章

怎么通过ssh连上ipv6的服务器?阿里云怎么配置ipv6?wsl2怎么支持ipv6?

最近在研究ipv6,光调通环境居然让我折腾了好多回,现在终于通了 在这里提一句,IPV6和IPV4是两种东西,不要想着ipv6兼容ipv4,你就当它是全新的东西 1.前置条件 1.1我的电脑能访问ipv6 测试通过就代表你电脑可以访问ip…

Redis 哨兵模式的实现详解

文章目录 高可用(HA)哨兵模式概述哨兵的搭建伪集群 哨兵1. 复制sentinel.conf文件2. 修改sentinel.conf文件3. 新建sentinel26380.conf4. 启动并关联Redis集群5. 启动Sentinel集群6. 查看 Sentinel 信息7. 查看 Sentinel 配置文件 哨兵优化配置 高可用&…

【腾讯云Finops Crane集训营】降本增效神器Crane实战记录

本章目录 前言一、Crane是什么?Crane的主要功能?FinOps 是什么Prometheus是什么Grafana是什么 二、不得不面对的问题:云上资源效能挑战!三、云原生场景下的成本优化挑战?四、K8s原生能力的不足五、Crane智能调度助力成…

Linux命令之vim/vi

目录 vim/vi简介 vi/vim 的使用 操作实例 总结 vim/vi简介 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程…

i.MX6ULL - 远程视频监控方案实现(nginx-rtmp流媒体服务器、ffmpeg推流)

i.MX6ULL - 远程视频监控配置(nginx-rtmp流媒体服务器、ffmpeg推流) 目录 i.MX6ULL - 远程视频监控配置(nginx-rtmp流媒体服务器、ffmpeg推流)1、前言2、buildroot文件系统构建2.1 勾选alsa-utils(选做:如果…

桥接模式与NAT模式的区别以及设置静态IP

概述 日常我们都会使用到虚拟机,本文章以VMware虚拟机为例,主要介绍下虚拟机设置桥接模式与NAT模式的区别,并通过示意图进行讲解。并且会介绍如何去设置静态IP。 模式介绍 NAT模式NAT模式下 ,创建出来的虚拟机只能访问当前主机…

基于ensp的跨地区的校园网组网方案

本博客是基于模拟器ensp的校园网组网方案,有总校区和分校区,主要用了vlan划分、dhcp、nat、ospf、acl、bgp等技术。首先说一下本博客的局限性: 总校区和分校区之间只是使用的传统的bgp建立连接,这样可以在运营商上看到内网的明细&…

HTTP1.1(七)内容协商和资源表述

一 内容协商和资源表述 ① 铺垫 1) 由于一种资源对应许多种状态,所以客户端接收资源表述的转移时需要进行协商比如:[1]、一个来自中国的用户他的浏览器访问一个页面时得到中文页面[2]、一个其它国家的用户访问同一个页面时得到的是他本国的页面补充:…

在线协作助力团队合作:解析多种高效工具实现团队协同

在线协作是通过网络为平台,将团队成员连接起来,使其共同创作、共享讯息,进行团队合作。这种协作方式突破了线下的空间限制性,使团队合作更加及时便捷。因此,越来越多的团队选择了在线协作。 在线协作为团队带来了什么帮…

IDEA 2019.1 与 apache-maven-3.6.3 版本不兼容解决办法

-------IDEA 2019.1 与 apache-maven-3.6.3 版本不兼容 解决办法:降低 Maven版本为 3.3 到底得踩过多少坑,才能让你不再流泪,

接初识HTML中的基础知识,简单明了!!!

续——HTML的基础知识&#xff01;&#xff01;&#xff01; 一、表格 关于HTML中用table表示一个表格&#xff0c;用tr来表示一行&#xff0c;用td来表示一列。 Demo&#xff1a;表示一个二行三列的表格 <!--根--> <html><!--头--> <head><…

瑞吉外卖 - 文件上传与下载功能(15)

某马瑞吉外卖单体架构项目完整开发文档&#xff0c;基于 Spring Boot 2.7.11 JDK 11。预计 5 月 20 日前更新完成&#xff0c;有需要的胖友记得一键三连&#xff0c;关注主页 “瑞吉外卖” 专栏获取最新文章。 相关资料&#xff1a;https://pan.baidu.com/s/1rO1Vytcp67mcw-PD…

pandas dataframe 中 explode()函数用法及效果

最近在使用pyspark处理数据&#xff0c;需要连接各种各样的表和字段&#xff0c;因此记录相关函数的使用情况。今天介绍explode(). 1. explode()函数简介 explode 函数是 pandas.DataFrame 类的一个方法&#xff0c;能够通过pyspark间接调用。 它可以将一个包含list或者其它可…

【零基础学JS - 7 】javaScript 中的8大数据类型

&#x1f468;‍&#x1f4bb; 作者简介&#xff1a;程序员半夏 , 一名全栈程序员&#xff0c;擅长使用各种编程语言和框架&#xff0c;如JavaScript、React、Node.js、Java、Python、Django、MySQL等.专注于大前端与后端的硬核干货分享,同时是一个随缘更新的UP主. 你可以在各个…

Python之selenium关于Chrome驱动位置,闪退的问题和安装路径

目录 零、查看Python的安装路径一、Chromedriver放置的位置二、浏览器闪退 零、查看Python的安装路径 一、Chromedriver放置的位置 背景&#xff1a;之前由于Chrome浏览器自动升级后&#xff0c;导致驱动与浏览器不匹配&#xff0c;自己也不知道问题出在哪儿&#xff0c;花费了…

hadoop和spark配置问题记录

hadoop和spark配置问题记录 Spark的WebUI访问不了 直接启动的start-all.sh是环境变量中配置的hadoop的脚本&#xff0c;不是spark的&#xff0c;因此启动spark的start-all.sh脚本即可。 Spark看不到Worker信息 启动Spark在UI界面上看不到worker节点的信息_潇洒哥WH3的博客-C…

【Java|基础篇】包和访问权限修饰符

文章目录 1. 前言2. 包的概念3. 包的创建以及优点4. 访问权限修饰符5. 总结 1. 前言 包和访问权限修饰符是Java中两个常用的概念&#xff0c;它们都与访问控制有关. 2. 包的概念 在面向对象体系中&#xff0c;提出了一个软件包的概念&#xff0c;即&#xff1a;为了更好的管…

代码随想录算法训练营第四十四天 | 完全背包、完全背包的遍历顺序

完全背包 理论基础 文档讲解&#xff1a;代码随想录 (programmercarl.com) 视频讲解&#xff1a;带你学透完全背包问题&#xff01; 和 01背包有什么差别&#xff1f;遍历顺序上有什么讲究&#xff1f;_哔哩哔哩_bilibili 完全背包和01背包问题唯一不同的地方就是&#xff0c;每…

品牌战略规划:如何让你的品牌脱颖而出

虽然很多国内企业家都非常重视战略&#xff0c;什么商业战略、渠道战略之类的一通研究&#xff0c;但惟独却缺乏对品牌战略的一个正确理解。 很多时候一把手不参与&#xff0c;也不关心品牌建设&#xff0c;经常上来就让团队实操动作&#xff0c;而自己只看最终结果&#xff0…

LeetCode20.有效的括号

题目 思路 每一个右括号应该与与在它左边最近的左括号相匹配&#xff0c;所以这道题可以通过栈实现 代码 &#x1f4ac;由于博主还没有学习到C&#xff0c;能力有限&#xff0c;所以只能自己实现一个栈&#xff0c;学过C的朋友可以直接使用CSTL中的栈来实现 #define _CRT_S…