《Sparse R-CNN:End-to-End Object Detection with Learnable Proposals》论文笔记

Sparse R-CNN论文提出了一种新的目标检测方法,摒弃预定义密集解空间,直接学习N个提案框和特征。这种方法简化了网络结构,但需要所有提案框经过动态头进行预测。实验表明,通过学习提案框和优化策略,如迭代和非局部注意力,可以达到良好的检测效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考代码:SparseR-CNN

1. 概述

介绍:这篇文章在目标检测领域中提出了一种新颖的检测问题思路,摒弃掉RetinaNet或是Faster-RCNN中那种预先定义密集目标检测解空间的方式,直接在输入端定义 N N N个可学习的proposal box和proposal feature(后期用于对于每个box的动态预测)用以实现目标检测任务。有点类似DETR中直接输出固定数量的检测结果,去除掉了引入anchor或是pixel-wise预测的稠密解空间假设,使得整体目标检测网络结构简化。只不过文章的算法是假设有 N N N个先验目标(proposal box),并通过学习的方式去学习这些参数,而且这些proposal box在预测的时候是不能预先进行排除的,需要将这些proposal box都送入到后面的dynamic head中的到最后的box regression和classification。因而这个 N N N的先验在实际场景下设置显得很关键,而且这 N N N个先验都需要去跑一遍dynamic head,没有办法在前期进行筛选。

这里按照proposal的生成进行划分,文章将检测算法的大致分类划分为如下3种:
在这里插入图片描述
图(a)代表是的RetinaNet为代表的逐像素预测,图(b)代表的是先通过RPN筛选proposal之后再进行预测。图(c)直接假设需要预测框的数量并直接通过学习的当时得到proposal。文章对proposal box和dynamic head所需的proposal feature都是通过学习的方式得到的,那么其训练的难易程度(收敛性)见下图的比较:
在这里插入图片描述

2. 方法设计

2.1 网络结构

文章的整体的网络结构与Faster RCNN系列算法近似,前期特征提取使用的是FPN,只是在RPN部分使用了参数化学习的proposal box,并且在检测部分使用了proposal feature,对应的预测部分其结构见下图所示:
在这里插入图片描述
对于文章的代码实现可以参考:

# ./projects/SparseRCNN/sparsercnn/detector.py#L35
class SparseRCNN(nn.Module):
    ...

2.2 proposal box与proposal feature

在这篇文章的定义中proposal box ∈ R N ∗ 4 \in R^{N*4} R

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值