目标检测——Cascade R-CNN算法解读

论文:
Cascade R-CNN: Delving into High Quality Object Detection (2017.12.3)
链接:https://arxiv.org/abs/1712.00726
Cascade R-CNN: High Quality Object Detection and Instance Segmentation (2019.6.24)
链接:https://arxiv.org/abs/1906.09756
作者:Zhaowei Cai, Nuno Vasconcelos
代码:https://github.com/zhaoweicai/cascade-rcnn(Caffe) 与 https://github.com/zhaoweicai/Detectron-Cascade-RCNN (Detectron)


R-CNN系列其他文章:

  • R-CNN算法解读
  • SPPNet算法解读
  • Fast R-CNN算法解读
  • Faster R-CNN算法解读
  • Mask R-CNN算法解读
  • Cascade R-CNN算法解读
  • Libra R-CNN算法解读

目录

  • 1、算法概述
  • 2、Cascade R-CNN细节

1、算法概述

目标检测算法中,训练用的正负样本是通过IoU阈值来定义的,低IoU阈值(比如0.5)通常会产生噪声检测。然而,随着IoU阈值的增加,检测性能趋于下降。作者认为主要有以下两点原因,一是由于IoU阈值增加会导致正样本减少,训练过程中容易造成过拟合;二是在推理阶段模型最优的IoU与输入预测的IoU 之间会产生不匹配。为了应对上述问题,作者提出了Cascade R-CNN,它由一系列经过IoU阈值训练的检测器组成,从而对接近的误报(困难负样本)具有更强的选择性。检测器是分阶段训练的,为了减少过拟合问题。在推理中应用了相同的级联过程,使得每个阶段的假设和检测器质量之间的匹配更加紧密。


2、Cascade R-CNN细节

作者给出了Cascade R-CNN与Faster R-CNN流程对比图,如下图所示。
在这里插入图片描述
图(a)代表Faster R-CNN,图中包含两个阶段,H0,B0,C0代表第一个阶段,用于提出候选区域,也就是Faster R-CNN中的RPN网络结构,RPN网络的输出B0代表输出的候选框,B0再应用ROI pooling经过后续检测头H1得到最终的输出C1和B1。
而图(d)就是作者所提的Cascade R-CNN结构,作者认为要求单一回归量在所有质量水平上(即不同IoU样本)表现完全一致是非常困难的。受到姿态回归和人脸对齐的启发,作者将复杂的回归任务分解为一系列更简单的步骤。
在这里插入图片描述
T代表总共包含T个级联回归器,且每个级联回归器都是在当前样本{bt}分布下是最优的。论文中,作者通过实验取T值为3。

图(d)看起来和图(b)的框架图一样,但有着如下三点不同:

  1. 图(b)只是Faster R-CNN在做推理时的优化改进,迭代BBox是一种用于改进边界框的后处理过程,而图(d)的分层回归是一种重采样过程,它改变了不同阶段要处理的假设的分布。
  2. 由于图(d)同时用于训练和推理,所以训练分布和推断分布之间没有差异。
  3. 图(d)是针对不同阶段的重采样分布,对多个专门化回归量{fT,fT−1,···,f1}进行优化。这与图(b)中用同一个回归器迭代推断方式相反,它只对初始分布是最优的。这些差异使定位比迭代推断更精确。图(b)的迭代推理方式可用公式表示如下:
    在这里插入图片描述
    它只会优化一个回归器,但推理迭代的时候根据不同IoU值重复迭代使用,这种方式是次优的,且后续需要大量的人工参与,比如累计提议、预测投票等方式。

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

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

相关文章

ubuntu22.04下GStreamer源码编译单步调试

前言 本文会通过介绍在linux平台下的GStreamer的源码编译和单步调试example实例。官网介绍直接通过命令行来安装gstreamer可以参考链接:Installing on Linux。 这种方法安装后,基于gstreamer的程序,单步调试的时候并不会进入到gstreamer源码…

LSTM预测:糖尿病的发生情况

本文为为🔗365天深度学习训练营内部文章 原作者:K同学啊 本期,做个二维结构化数据的分类预测。提到结构化数据,一般的分类算法常用有:逻辑回归(二分类)、KNN、SVM、决策树、贝叶斯、随机森林、X…

Jenkins配置流水线任务-实践操作(Pipeline-script)

Jenkins配置流水线任务-实践操作(Pipeline-script) 1、新增jenkins 任务,选择流水线 2、参数化 3、流水线配置 pipeline {agent anystages {stage(aoePlugin_mysql) {steps {echo "xxx,数据库:Mysql"echo "${HOST},${USER_NAME}"b…

王爽汇编语言第三版实验1

前言 本系列的文章是对王爽老师的汇编语言中的实验的解答记录,原书一共有17个实验,由于学校的教学流程只做到了第14个实验,因此本文章只会有前十四个实验的解答记录,还有个比较重要的是,文章中会有原书实验中没有的题目&#xff…

C语言 | Leetcode C语言题解之第477题汉明距离总和

题目&#xff1a; 题解&#xff1a; int totalHammingDistance(int* nums, int numsSize) {int ans 0;for (int i 0; i < 30; i) {int c 0;for (int j 0; j < numsSize; j) {c (nums[j] >> i) & 1;}ans c * (numsSize - c);}return ans; }

element plus的el-select分页

摘要&#xff1a; el-select的数据比较多的时候&#xff0c;必须要分页&#xff0c;处理方案有全部数据回来&#xff0c;或者添加搜索功能&#xff0c;但是就有个问题就是编辑的时候回显问题&#xff0c;必须要保证select的数据有对应的id与name匹配回显&#xff01; <el-fo…

如何用pyhton修改1000+图片的名字?

import os oldpath input("请输入文件路径&#xff08;在windows中复制那个图片文件夹的路径就可以):") #注意window系统中的路径用这个‘\分割&#xff0c;但是编程语言中一般都是正斜杠也就是’/‘ #这里写一个代码&#xff0c;将 \ > / path "" fo…

数字图像处理:图像复原应用

数字图像处理&#xff1a;图像复原应用 1.1 什么是图像复原&#xff1f; 图像复原是图像处理中的一个重要领域&#xff0c;旨在从退化&#xff08;例如噪声、模糊等&#xff09;图像中恢复出尽可能接近原始图像的结果。图像复原与图像增强不同&#xff0c;复原更多地依赖于图…

服务器数据恢复—服务器硬盘指示灯亮黄灯,raid崩溃的数据恢复案例

服务器数据恢复环境&#xff1a; 一台浪潮服务器中有一组由6块SAS硬盘组建的RAID。服务器上划分了1个卷&#xff0c;存放Oracle数据库文件。 服务器故障&检测&#xff1a; 服务器上有两个硬盘指示灯亮黄灯&#xff0c;RAID崩溃&#xff0c;服务器不可用。 将故障服务器中所…

LLM:deepspeed zero-2时模型训练所占显存分析

前置&#xff1a; fp16占2字节&#xff0c;fp32占4字节。换算就是1B的参数量&#xff0c;以fp16表示&#xff0c;占2G的内存。 模型参数为32B 全量微调&#xff1a; 模型参数&#xff1a;fp16的模型前向传播副本。fp32的模型的优化参数副本。这就是322324192G 梯度&#xff…

Jmeter简介

基础介绍 Jmeter录制脚本的原始是配置一个HTTP代理&#xff0c;然后浏览器通过这个代理访问测试页面从而完成脚本录制。 一、下载安装 jmeter本身不需要安装&#xff0c;需要配置环境变量JDK&#xff0c;然后打开bin文件夹中的jmeter.vbs即可。建议jdk 1.7及以上版本。 基本祖…

CVE-2024-22120:Zabbix低权限SQL注入至RCE+权限绕过

所有利用代码&#xff1a; GitHub - W01fh4cker/CVE-2024-22120-RCE: Time Based SQL Injection in Zabbix Server Audit Log --> RCE 一、漏洞环境搭建 1.1 下载vmware镜像并设置 直接懒人一键搭建&#xff1a; https://cdn.zabbix.com/zabbix/appliances/stable/6.0/6.0…

得物App3D创新应用引关注,世界设计之都大会启幕

近日&#xff0c;2024世界设计之都大会&#xff08;WDCC&#xff09;在上海盛大启幕。此次大会以“设计无界 新质生长”为主题&#xff0c;汇聚了全球设计领域的精英与前沿成果&#xff0c;展现了设计作为新质生产力的巨大潜力。主场展览占据了整整3个楼面&#xff0c;总面积达…

k8s-对命名空间资源配额

对k8s命名空间限制的方法有很多种&#xff0c;今天来演示一下很常用的一种 用的k8s对象就是ResourceQuota 一&#xff1a;创建命名空间 kubectl create ns test #namespace命名空间可以简写成ns 二&#xff1a; 对命名空间进行限制 创建resourcequota vim resourcequ…

基于Javaweb的医院挂号预约管理系统

系统展示 用户前台界面 管理员后台界面 医生后台界面 系统背景 在现代社会&#xff0c;随着医疗需求的不断增长&#xff0c;病患挂号成为医院面临的一大挑战。传统的挂号方式不仅耗时耗力&#xff0c;还容易引发混乱和不满。病患需要排队等候&#xff0c;挂号过程繁琐&#xff…

Nginx(Linux):启动停止Nginx

目录 1、理解Nginx后台进程2、停止Nginx(方式一&#xff1a;使用信号源)2.1 获取master进程号2.1 设置信号源 3、停止Nginx(方式二&#xff1a;使用命令行) 1、理解Nginx后台进程 Nginx后台进程包含master和worker两类进程。 master进程&#xff1a;主要用来管理worker进程&am…

Docker 教程四 (Docker 镜像加速)

Docker 镜像加速 国内从 DockerHub 拉取镜像有时会遇到困难&#xff0c;此时可以配置镜像加速器。 目前国内 Docker 镜像源出现了一些问题&#xff0c;基本不能用了&#xff0c;后期能用我再更新下。* Docker 官方和国内很多云服务商都提供了国内加速器服务&#xff0c;例如…

C++ | Leetcode C++题解之第479题最大回文数乘积

题目&#xff1a; 题解&#xff1a; class Solution { public:int largestPalindrome(int n) {if (n 1) {return 9;}int upper pow(10, n) - 1;for (int left upper;; --left) { // 枚举回文数的左半部分long p left;for (int x left; x > 0; x / 10) {p p * 10 x %…

Maxwell 底层原理 详解

Maxwell 是一个 MySQL 数据库的增量数据捕获&#xff08;CDC, Change Data Capture&#xff09;工具&#xff0c;它通过读取 MySQL 的 binlog&#xff08;Binary Log&#xff09;来捕获数据变化&#xff0c;并将这些变化实时地发送到如 Kafka、Kinesis、RabbitMQ 或其他输出端。…

信息搜集 --前端js打点

前端js打点 什么是js渗透测试 在Javascript中也存在变量和函数&#xff0c;当存在可控变量及函数调用即可参数漏洞JS开发的WEB应用和PHP&#xff0c;JAVA,NET等区别在于即没有源代码&#xff0c;也可以通过浏览器的查看源代码获取真实的点。获取URL&#xff0c;获取Js敏感信息&…