Faster R-CNN详解

news/2024/5/2 8:32:23/文章来源:https://blog.csdn.net/weixin_43912621/article/details/128067687

Faster R-CNN

Faster R-CNN是作者Ross Girshick继Fast R-CNN后的又一力作。使用VGG16作为网络的backbone,推理速度在GPU上达到5fps(包括候选区域的生成),准确率也有进一步的提升。在2015年的ILSVRC以及COCO竞赛中获得多个项目的第一名。

在这里插入图片描述

Faster R-CNN算法流程

1.将图像输入网络得到相应的特征图;
2.使用RPN结构生成候选框,将RPN生成的候选框投影到特征图上获得相应的特征矩阵;
3.将每个特征矩阵通过ROI pooling层缩放到7x7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果。

在这里插入图片描述

第一步第三步和Fast R-CNN一样,区别是第二步,使用RPN生成候选框。

RPN结构

请添加图片描述

我们在特征图上生成一个滑动窗口,每滑动一次生成一个一维向量,然后通过两个全连接层分别生成目标概率和边界框回归参数。2k指的是针对我们的k个anchor boxes为前景和背景的概率,并不对其进行分类。4k指的是针对我们的k个anchor boxer生成的边界框回归参数。256-d指的是backbone的深度,ZF网络为256,VGG的话为512。

请添加图片描述

对于特征图上的每个3x3的滑动窗口,计算出滑动窗口中心点对应原始图像上的中心点,并计算出k个原图特征图。Faster R-CNN中给出了三种anchor的尺度和比例,分别是{1282,2562,5122},{1:1,1:2,2:1}。所以我们每个滑动窗口在原图中都会有9种anchor。

请添加图片描述

RPN生成的候选框有上万个,对于RPN生成的候选框之间存在大量重叠,基于候选框的cls得分,采用非极大值抑制,IoU设为0.7,这样每张图片大约只剩2k个候选框。训练RPN我们从上万的候选框中采样其中256个anchor,这256个anchor是由正负样本组成的,他们的比例大约是1:1,正样本不足采用负样本补齐。对于正样本,我们把与ground-truth box相交的IOU超过0.7的称为正样本。极少数情况下,如果正样本不足,会取ground-truth box相交的IOU超过最大的anchor为正样本。对于负样本,我们把与ground-truth box相交的IOU低于0.3的称为正样本。

RPN损失函数

在这里插入图片描述

pi表示第i个anchor预测为真实标签的概率;
pi*当为正样本时为1,当为负样本时为0;

ti表示预测第i个anchor的边界框回归参数;
ti*表示第i个anchor对应的GT Box;

Ncls表示一个mini-batch中的所有样本数量256;
Nreg表示anchor位置的个数(不是anchor个数)约2400。
取λ为10,240与256差不了多少,所以pytorch官方实现统一用Ncls
损失函数由两部分,先看分类损失,使用softmax Cross Entropy:

在这里插入图片描述

使用Binary Cross Entropy:

在这里插入图片描述

对于边界回归损失:

在这里插入图片描述

Faster R-CNN训练

原论文中采用分别训练RPN以及Fast R-CNN的方法:
(1)利用ImageNet预训练分类模型初始化前置卷积网络层参数,并开始单独训练RPN网络参数;
(2)固定RPN网络独有的卷积层以及全连接层参数,再利用ImageNet预训练分类模型初始化前置卷积网络参数,并利用RPN网络生成的目标建议框去训练Fast RCNN网络参数;
(3)固定利用Fast RCNN训练好的前置卷积网络层参数,去微调RPN网络独有的卷积层以及全连接层参数;
(4)同样保持固定前置卷积网络层参数,去微调Fast RCNN网络的全连接层参数。最后RPN网络与Fast RCNN网络共享前置卷积网络层参数,构成一个统一网络。

而我们现在直接采用RPN Loss+ Fast R-CNN Loss的联合训练方法。

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

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

相关文章

使用星凸随机超曲面模型对扩展对象和分组目标进行形状跟踪(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

【电源专题】案例:不导这颗MOS管的原因是在电路上不通用?

本案例发生在MOS管替代料导入时。正常情况下在替代料导入、部品导入的时候,我们需要查看规格书。怎么查找规格书可以看文章【电子通识】芯片资料查询方法 对于一些关键的信息我们要做对比,一般来说要通过列表进行对比。但因为不同的供应商的测试标准不同,有很多是很难对比的…

浅析数据仓库和建模理论

第一章 认识数据仓库 1.1 数据仓库概念 数据仓库,英文名称为 Data Warehouse,可简写为 DW 或 DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决…

第41讲:MySQL内置的QL性能分析工具

文章目录1.SQL性能分析的概念2.分析数据库中SQL的执行频率3.数据库中的慢查询日志3.1.开启慢查询日志功能3.2.模拟慢SQL查询观察日志内容4.Profile查看SQL每个阶段的耗时4.1.开启Profile操作4.2.随便执行一些查询语句4.3.查询执行SQL的耗时4.4.查询某一条SQL每个阶段的耗时4.5.…

Java项目:jsp+servlet实现的新闻发布系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为前后台; 前台主要功能为: 首页、娱乐新闻、经济新闻、文化新闻、小道新闻、用户评价等; 后台主要…

目标检测论文解读复现之二十:基于改进Yolov5的地铁隧道附属设施与衬砌表观病害检测方法

前言 此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文&#xff0…

ipv6地址概述——配置ipv6

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。个人爱好: 编程,打篮球,计算机知识个人名言:海不辞水,故能成其大;山不辞石…

TMS Echo数据复制的Delphi框架

TMS Echo数据复制的Delphi框架 TMS Echo是用于数据复制的Delphi框架。它是TMS Business产品阵容的一部分,它取决于TMS Aurelius的运营。 TMS Echo允许您至少拥有两个数据库并在它们之间同步信息。您对单个客户数据库所做的更改(插入、更新、删除)可能会传输到其他数…

jenkins关联github

将Jenkins和github关联起来,实现自动化集成 GitHub侧 1、生成secret.txt secret在github上被称为token 进去GitHub --> Settings --> Developer settings --> Personal access tokens -> Generate new token创建一个新的token,勾选两处标红的地方 点…

COLMAP生成MVSNet数据集

一. colmap2mvsnet.py COLMAP可以给图像数据集标定一套相机外参及视图选择。如果想用COLMAP导出的结果输入MVSNet测试,需要把数据集(图片、相机参数等)转化为MVSNet的输入格式。MVSNet的作者yaoyao在Github上提供了colmap2mvsnet.py代码&…

Jsoup爬虫入门实战

一、Jsoup介绍 jsoup 是一款基于 Java 的HTML解析器,它提供了一套非常省力的API,不但能直接解析某个URL地址、HTML文本内容,而且还能通过类似于DOM、CSS或者jQuery的方法来操作数据,所以 jsoup 也可以被当做爬虫工具使用。 相关…

Nuxt 3.0.0正式发布,集成Element Plus、Ant Design Vue和Arco Design Vue脚手架

发布说明 Nuxt 是使用简便的 Web 框架,用于构建现代和高性能的 Web 应用,可以部署在任何运行 JavaScript 的平台上。 Nuxt 3.0 11天前正式发布了稳定版,3.0 基于 Vue 3,为 TypeScript 提供了 “一等公民” 支持,并进行…

汽车销量数据库(分车型、分品牌月度销量数据 2005-2021)

1、数据来源:汽车工业协会 2、时间跨度:2005年1月-2021年5月 3、区域范围:全国 4、指标说明: 该份数据包含全国各种汽车销量数十个相关指标! 该份数据包含如下指标: 轿车:一汽大众、上海大…

steam搬砖项目月入过万靠谱吗

大家好,我是阿阳 什么是国外steam游戏装备汇率差项目 一、项目介绍 其实,Steam就是一个美国的游戏平台,搬砖主要是搬的一款火遍全球的游戏CSGO的装备和饰品。CS听说过吧,这款游戏就是CS的一个系列。(通俗易懂的理解就…

2023年天津财经大学珠江学院专升本管理学原理专业考试大纲

天津财经大学珠江学院2023年高职升本科专业课考试《管理学原理》考试大纲一、本大纲系天津财经大学珠江学院2023年高职升本科《管理学原理》课程考试大纲。所列考试范围出自徐碧琳主编的教材《管理学原理(第二版)》,机械工业出版社&#xff0…

最全面的SpringMVC教程(二)——SpringMVC核心技术篇

前言 本文为 【SpringMVC教程】核心技术篇 相关详细介绍,具体将对视图和模型拆分,重定向与转发,RequestMapping与其衍生注解,URL 模式匹配,牛逼的传参,设定字符集,返回json数据(序列…

全球价值链GVC总出口分解(2011-2014年)

1、数据来源:ICIO数据库 2、时间跨度:2011-2014年 3、区域范围:世界 4、指标说明: 全球价值链分析(Global Value Chain analysis,简称GVC分析)为解决传统贸易统计中…

【Hack The Box】linux练习-- seal

HTB 学习笔记 【Hack The Box】linux练习-- seal 🔥系列专栏:Hack The Box 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 📆首发时间:🌴2022年11月17日🌴 &#x1f36d…

十万部冷知识:足球踢进了观众席,观众能把球拿走吗?

在看足球比赛的时候,我们经常会看到球员一脚射门踢偏了,球被打飞的情况,这时候球可就奔着观众席去了。就是因为考虑到有这种情况的发生,在比赛之前,比赛组织者,都会提前准备很多的备用球,当球被…

Java 编程性能调优

把 Java 性能调优分成 5 个层级:Java 编程、多线程、JVM 性能检测、设计模式、数据库性能,每个层级下都覆盖了最常见的优化问题。下面分别给你梳理一下: 可参考地址:Java性能调优全攻略来了_着火点的博客-CSDN博客_java性能调优 …