链接:https://www.zhihu.com/question/431890092

编辑:深度学习与计算机视觉

声明:仅做学术分享,侵删

作者:信息门下添狗
https://www.zhihu.com/question/431890092/answer/1593944329

detr最近的进展我都不是很熟,跟做ocr的小伙伴聊了下,他说paper的几个点在这条线上上看会比较顺,我完全不懂,期待有大佬给一些新的视角解读吧。

昨晚看完直接失眠了,躺在床上捋清楚了几个细节,比如学出来的anchor为啥不会很相似,为什么这样能去掉nms之类,越想越觉得太秒了

由于dense的anchor设计加上cnn feature map的平滑性质,导致我们在正负样本划分不得不使用一对多的形式以及使用nms这样的后处理,这两个东西很蛋疼,从而从去年开始导致了一系列做正负样本划分以及设计loss适应nms的工作。

我之前跟mentor讨论,他坚信cnn上也能像detr一样去掉nms,但是我就劝他说不用position encoding 这样的东西,cnn这个平滑性好像必须有这么个设计,之后的尝试也完全走偏了,这个认知在dense anchor的基础上也是对的,但是之后就往怎么增加feature map高频上做了,完全没意识到dense anchor有什么问题,当然也承认,认识到我也一点不敢想能做成sparse的形式。

其实能想到现在检测几个令人头疼的问题是出在dense的anchor已经很不容易了,之后detr可能启发了sparse 能做work,最近几年dynamics 的生成运算参数的工作(condinst之类)为sparse的work奠定了基础,感觉真的是一个刚刚好的时候。

真的太强了,相比一些想出来感觉不快点做就会被别人做的东西,这个就是那种根本想不到的东西。

作者:yanwan
https://www.zhihu.com/question/431890092/answer/1594767413

将 two stage anchor detector 升级为了 two stage set prediction detector.

1、Learnable proposal box 可以看作 RPN,然后用ROIAlign提取ROI feature。

2、Learnable proposal feature 可以看作是Detr中的object query,相当于anchor。

3、ROI feature 和 Learnable proposal feature 用 optimal bipartite matching做匹配,而不是沿用IOU做匹配。

4、Detr中使用了 transformer让每个object query都和全局的特征图交互,而Sparse R-CNN 通过Learnable proposal box生成了sparse candidates和sparse feature,这样就避免了和全局特征的交互。

5、从工业部署角度看,对于端侧,sparse detector并不是很友好,dense detecor更直接而且网络也能够轻量。

最后,Set Prediction detector也开始分为两类了:

  • One-stage:Detr

  • Two-stage:Sparse R-CNN

看起来set prediction挺香的,只不过,set prediction的检测器,同等测试条件下还是anchor/anchor-free的检测器在精度上差一点,和Sparse R-CNN作者也讨论了下,set prediction还有优化的空间。

set prediction的检测器很简洁,部署也很方便,如果把精度和速度肝上去了,就可以造福工业界了。

作者:深度眸
https://www.zhihu.com/question/431890092/answer/1594349380

特意把论文和代码都看了,结合对relation和relation++、detr的了解,说下粗略的感受吧。

Sparse R-CNN确实做的很好,等的就是这样的工作!极致简单,不需要复杂anchor先验设置、不需要nms、不需要RPN,将整个faster rcnn的pipeline变得非常简洁。

论文核心思想应该是借鉴了上述三篇论文做法,简单来说是核心组件是:

  1. 可学习proposal boxes

  2. 可学习proposal feature

上述两个组件中最重要的是可学习proposal feature,而可学习proposal boxes只是为了提出roi而已,不然RCNN咋弄?而可学习proposal feature和detr的object query作用非常类似,都是提供全局注意力或者说提供实例级别的统计信息,由于维度比较高,其可以嵌入的信息很多,例如物体姿态或者shape。强烈建议作者在预测时候进行可视化proposal feature,应该可以看出很多东西

对应到relation论文,那么proposal boxes就是常说的几何特征,而proposal feature就是外观特征。我觉得没啥本质区别,因为都是自发学的,学到最后其实可视化看看都一样应该。

至于roi特征和proposal feature的交互过程非常重要,虽然论文说具体细节不重要,这个交叉注意力计算过程和transformer里面的做法类似,作者成为动态head,确实有动态的意味。

最后的loss,也是参考了detr里面的先双边匹配,然后再计算loss的做法,使得最后输出的预测结果不需要nms。

其他的迭代refine思想应该是为了提点而已,和cascade rcnn做法类似。

以上就是全部核心知识点了。可以发现极其简单,只要你熟悉了上述所提的3篇论文就能够理解了。

至于未来嘛,transformer思想还是很值得期待的,虽然本文好像没有引入(但是我觉得思想还是引入了)。如果哪天将CNN彻底抛弃,仅仅依靠transformer或者类似注意力思想统治了CV领域,那也不用奇怪!

代码还没有跑过,暂时不知道里面有没有啥坑!

作者:小磊
https://www.zhihu.com/question/431890092/answer/1594696884

由于 Sparse RCNN 有受到 DETR 启发, 所以先分析 DETR.

我觉得 DETR 的成功有两个关键点:

  1. Set prediction loss

  2. Self-attention 带来的 proposal 之间的强关联性, 使得整个输出结果更加整体

同时, DETR 有个大的缺点, 就是对 local feature 利用不足. 这会导致一个问题: bbox 边界回归不准. 表现为小物体的 mAP 非常低(如下表)。

DETR 的 APs 比 Sparse RCNN 低了6个点!

但 mAP_small 低有可能有两个原因:

  1. 边界回归不准

  2. 漏掉了小物体

为了找到 mAP_small 低的具体原因, 我们对比了一下 DETR 和 MaskRCNN 的 bbox mAP_small 曲线:

纵坐标:mAP_small. 横坐标: IoU阈值[0.5:1:0.05]. 蓝色 DETR, 橙色 MaskRCNN

发现 DETR(蓝色) 在 IoU 阈值为 0.5 时候, mAP_small 比 MaskRCNN还高, 所以 DETR 感知到小物体的能力还挺强的, "边界回归不准"才是 mAP_small 低的主要原因.

再回到主角 Sparse RCNN, Sparse RCNN 完全继承了 DETR 的两个关键优点:

  1. Set prediction loss

  2. Proposal 之间的强关联性(iteration+dynamic 机制类比于 self-attention)

同时, 由于 Sparse RCNN 是全卷积的, 具有 CNN local feature 强的优点. 所以在边界回归的准确度上会优于 DETR.

综上, Sparse RCNN 集成了 DETR 的两个优点, 并摒弃了 transformer 带来的缺点, 并在结果上超过了 DETR. 但老实说, Sparse RCNN 只高了0.3 的 mmAP, 而 mAP50 和 AP_large  上都低了不少, 说明 Sparse RCNN 还有挺多进步空间的.

补充:
其实可以换一种方式来解决 DETR 对 local feature 利用不足的缺点, 就是直接学 RCNN, 做 two-stage 的回归。

具体的, 在第二个 stage 找出 small object 的 bbox, padding 一点点, 在高清一点的 CNN feature 上 crop 一个 RoI 出来。给 RoI 加上 spatial positional encoding 和 object 的 query 一起丢给 transformer 的 decoder, 输出一个 refine 后的 bbox。

作者:匿名用户
https://www.zhihu.com/question/431890092/answer/1594953510

之前的方法是 大量初始proposal +1-2  refine stage。用过饱和的proposal保证预测质量,最后用NMS滤除。

这篇是少量的初始proposal+多轮 refine stage。proposal box 和 proposal feature可以与输入图像无关 就证明了 不靠谱的初始proposal是可以考多轮 refine修正回来的。还是挺神奇的。

我很想看看每轮refine前后 box的变化,到底图片无关的proposal box是怎么和Object对应的,有什么规律。

作者:云中君
https://www.zhihu.com/question/431890092/answer/1594679377

个人感觉这篇文章有可能会被审稿人diss。

首先:这个 “sparse”的 novelty,highlight sparse 太多不太合适,因为sparse 不是这篇论文首创吧,更多是detr这种开山鼻祖可以强调这点?这个sparse更多体现在proposal的sparse,但是似乎文章描述的不多。

其次:后续的Dynamic instance interactive head 是论文的重点,但是堆了很多料,比较tricky,整个story似乎是没讲好。

然后:仔细看了一遍代码,发现的proposal bbox 最后是固化的一个统计值,靠后续的proposal feature 和 dynamic head 来救,这样可能会存在如果测试集和训练集gap比较大,掉点可能会比较严重,同时这种方式,拿掉了费电的rpn,但是引入一个相对比较低效的方法,光靠后面的两到工序可能救不动,所以会存在很明显的一些object没被召回的情况,如果proposal也是图像卷出来的,可能还能再提升,搞个2.0版本?

最后:当然效果好,收敛速度快,实验足,工业界还是香的。

作者:摘掉眼镜睡觉
https://www.zhihu.com/question/431890092/answer/1603178806

大佬们的手速也太快了叭,上两周做了rethinking DETR的实验,Rethinking Transformer-based Set Prediction for Object Detection 21号就出来了,紧接着这篇Sparse R-CNN也出来了。

周末仔细读了这篇Sparse R-CNN, 感觉Learnable proposal boxes和Learnable proposal feature并不是很难想,DETR的出现已经证明了learnable query embedding是work的,所以稀疏的learnable proposal feature也应该可以work,但是我觉得这个learnable proposal可以比较好的解释DETR中query object的物理含义。

之前没有接触过meta learning,所以这个dynamic head中把proposal feature当成params和roi feature进行卷积(就是矩阵乘法)在我看来还是挺有想法的。然后使用Iterative architecture,和Cascade的思想一样,从可视化结果来看,这里也很好的训练出NMS的作用。最后还是类似DETR,使用了Hungarian Algorithm loss,不过它这里对分类loss使用了focal loss,这是处理proposal中正负样本不平衡的一个好方法,在DETR里也可以用这个来改进。

我其实挺想弄懂Hungarian Algorithm到底有没有作用,能不能解决NMS的drawback

作者:匿名用户

https://www.zhihu.com/question/431890092/answer/1594425702

其实,对于目标检测,还能有什么新方法呢?不外乎就是如何更有效的提取特征以及如何组合特征,通过特征更高效更可靠的计算出概率,现在的网络结构,也都是包括 特征提取和组合特征上下文关系 这两部分,大的方向定了,剩下的其实就是如何玩提高效率和可靠性的trick了,不会有什么思想上的突破了。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 mthler」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓

如何评价Sparse R-CNN,目标检测未来会如何发展?相关推荐

  1. 如何使用CNN进行物体识别和分类_基于CNN目标检测方法(RCNN系列,YOLO,SSD)

    转载自:基于CNN目标检测方法(RCNN,Fast-RCNN,Faster-RCNN,Mask-RCNN,YOLO,SSD)行人检测 一.研究意义 卷积神经网络(CNN)由于其强大的特征提取能力,近年 ...

  2. 目标检测近5年发展历程概述(转)

    目标检测近5年发展历程概述,从R-CNN到RFBNet(2013--2018)(转) 2018年09月24日 12:32:02 C小C  [时间]2018.09.24 [题目]目标检测近5年发展历程概 ...

  3. 基于CNN目标检测方法(RCNN,Fast-RCNN,Faster-RCNN,Mask-RCNN,YOLO,SSD)行人检测,目标追踪,卷积神经网络

    一.研究意义 卷积神经网络(CNN)由于其强大的特征提取能力,近年来被广泛用于计算机视觉领域.1998年Yann LeCun等提出的LeNet-5网络结构,该结构使得卷积神经网络可以端到端的训练,并应 ...

  4. CNN目标检测(一):Faster RCNN详解

    ↑↑↑↑目录在这里↑↑↑↑↑ Faster RCNN github : https://github.com/rbgirshick/py-faster-rcnn Faster RCNN paper : ...

  5. [转]CNN目标检测(一):Faster RCNN详解

    https://blog.csdn.net/a8039974/article/details/77592389 Faster RCNN github : https://github.com/rbgi ...

  6. CNN目标检测(二):YOLO

    ↑↑↑↑目录在这里↑↑↑↑ 缩进YOLO全称You Only Look Once: Unified, Real-Time Object Detection,是在CVPR2016提出的一种目标检测算法, ...

  7. 皮卡丘检测器-CNN目标检测入门教程

    目标检测通俗的来说是为了找到图像或者视频里的所有目标物体.在下面这张图中,两狗一猫的位置,包括它们所属的类(狗/猫),需要被正确的检测到. 所以和图像分类不同的地方在于,目标检测需要找到尽量多的目标物 ...

  8. 目标检测之one-stage模型发展总结

            由于广泛的应用和技术上的突破,目标检测(object detection)在近些年吸引了越来越多的注意力,以飞快的速度发展着.在导致目标检测领域飞速发展的众多因素中,深度卷积神经网络和 ...

  9. 目标检测算法回顾之发展概览

    目标检测算法的发展时间线 发展历史轴(时间轴线图) 算法方法概览(思维导图) 说明:本文仅供学习 发展历史轴(时间轴线图) 目标检测的算法发展可以追溯到很久之前,这里我根据前两年的综述论文加上这两年的 ...

最新文章

  1. ES批量提交-RestHighLevelClient
  2. 07-windows下Elasticsearch安装-elasticsearch-service服务
  3. 使用Xshell登录AWS的EC2云服务器和开启EC2上允许root+密码方式登录
  4. log4j 日志级别_log4j-Mybatis(5)
  5. 为什么选择spark
  6. 爬虫爬当当网书籍信息
  7. SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型
  8. matlab算薄板模态,基于MATLAB计算FGM薄板刚柔耦合动力学响应的仿真方法与流程
  9. java求圆柱体体积面积(接口继承、字符串常用方法)
  10. dplayer + m3u8+ p2p加速
  11. Spring Boot 通过 Mvc 扩展方便进行货币单位转换
  12. 【js语法】获取星期 new Date().getDay()
  13. 极米Z6X Pro怎么样?极米Z6X Pro亮度如何?极米Z6X Pro值得入手吗?
  14. .Net中Web增加加密狗管理
  15. 操作系统的概念、四个特征以及os的发展和分类
  16. R语言条形图的制作--barplot()
  17. matlab的imshow python中cv2.imshow及plt.imshow相关测试
  18. C#选择文件、选择文件夹、打开文件(或者文件夹)
  19. 《 Python List列表全实例详解系列(五)》——修改元素(修改单个、修改一组)
  20. XSD文件与xml 文件

热门文章

  1. 用moderncv制作精美的Latex中英文简历
  2. 用C语言编程网上购物系统,华中科技大学C语言课程设计报告 -- 网上购物管理系统.pdf...
  3. 苹果服务器维护不能刷机,苹果服务器宕机!不要贸然刷机,等待即可
  4. 新一期ARM作业(七)----Nand Flash
  5. IBinder、BBinder和BpBinder
  6. 中国物流集团携手用友启动ERP暨财务共享建设项目
  7. miui主题风格_一种android系统换肤功能的设计,董红光:MIUI主题风格.pdf
  8. android 开源 progressbar,Android 两种自定义ProgressBar
  9. Cocos Creator技巧:实现拍照闪光灯效果
  10. 推荐几个好玩炫酷的前端页面