点击我爱计算机视觉标星,更快获取CVML新技术


今天知乎CV圈的一件大事即针对MSRA视觉组在arXiv放出了Deformable ConvNets V2的讨论。

该问题“如何评价MSRA视觉组最新提出的Deformable ConvNets V2?”短短几个小时已经有近万人浏览,一个技术问题俨然成为知乎热门话题。

等各位读者看到本文肯定是超过10000人浏览了

Deformable ConvNets V2论文下载请在“我爱计算机视觉”对话界面回复“DCNNV2”,即可收到论文。

52CV列出几位大佬的分析,以期各位读者能有更多收获。

一周前就听说Jifeng组做出了Deformable ConvNet V2(DCNV2),今天Jifeng告诉我paper已经挂ArXiv上之后果断放下所有事把这篇paper好好读了读。感觉这个工作特别solid,果然没有让人失望。下面简单谈谈个人对这篇paper的理解,可能有不对的地方请大家多多指点!

DCNV2首先用了更好的visualization来更深入的理解DCNV1为什么work以及还存在什么缺陷,发现存在的问题就是因为offset不可控导致引入了过多的context,而这些context可能是有害的([1]和[2]中也说明了这些context可能是有害的)。

解决方法也很简单粗暴:

  1. 增加更多的Deformable Convolution

  2. 让Deformable Conv不仅能学习offset,还能学习每个采样点的权重(modulation)

  3. 模拟R-CNN的feature(knowledge distillation)

(1) 就不用说了,在DCNV1中只有ResNet的Conv5 stage中有Deformable Conv,在DCNV2中把Conv3-Conv5的3x3 convolution都换成了Deformable Conv。

(2) 在DCNV1里,Deformable Conv只学习offset:

而在DCNV2中,加入了对每个采样点的权重:

其中,

是学到的offset,

是学到的权重。这样的好处是增加了更大的自由度,对于某些不想要的采样点权重可以学成0。

(3) [1]中作者(好吧,其实作者是我)发现把R-CNN和Faster RCNN的classification score结合起来可以提升performance,说明R-CNN学到的focus在物体上的feature可以解决redundant context的问题。但是增加额外的R-CNN会使inference速度变慢很多。DCNV2里的解决方法是把R-CNN当做teacher network,让DCNV2的ROIPooling之后的feature去模拟R-CNN的feature。(图里画的很清楚了)

其中feature mimic的loss定义是:

在end-to-end train的时候这个loss给了一个0.1的weight。

实验结果大家看paper就好了,在ResNet-50 backbone COCO上跟DCNV1比涨了5个点!这比目前大部分detection paper靠东拼西凑涨的那一两个点要强多了。我惊讶的是和DCNV1对比,在image classification上也有很大的提升。

说说自己的想法吧,DCNV2方法简单,结果好,分析充分,我觉得和近期各种detection paper比算是业界良心了。我觉得还有可以学习的一点就是context的问题。很多detection的paper都在引入context(大家都claim说小物体需要引入context来解决),其实我个人觉得有点在扯淡,物体小最直接的方法难道不是放大物体来解决吗?比如SNIP/SNIPER都是在“放大”物体。所以在context这个问题上我(详情见[1]和[2])跟Jifeng他们的看法是一样的,我们也许不需要那么多没用的context。作者都是熟人,我也不多吹了,反正我是准备去follow这个工作了哈哈。

最后说说DCN有一个小缺点,其实就是速度的问题。因为没有cudnn的加速,DCN完全是靠im2col实现的(从目前的MXNet版本来看是这样的),当batchsize大的时候我感觉速度会比有cudnn加速的3x3 conv慢。很好奇当batchsize大的时候(比如ImageNet)的training时间会慢多少。希望以后能和dilated convolution一样被加到cudnn里支持吧。


发现好多人好像没有看过[1][2],放张network的图(宣传一下自己的工作),DCN V2的mimic R-CNN和DCR V1的结构类似,但是通过knowledge distillation很巧妙的在inference阶段把R-CNN给去掉了。

[1] Revisiting RCNN: On Awakening the Classification Power of Faster RCNN

[2] Decoupled Classification Refinement: Hard False Positive Suppression for Object Detection

我打算先来说一说 paper 上面的事实,再来说说自己的理解,最后再随便说点。

disclaimer 一下,因为感恩节去玩了,积累了无数 deadline 要赶,所以没有看得那么仔细,但我仍然想说一下我自己的感想,所以才有了这篇回答。

---

Paper 上面的事实和理解:

  1. 无论是从 paper 标题,还是从得到的数字,都能发现 paper 主要的 gain 来自多加了 9 层的 deformable conv。这一共 12 层 convolution 在 short side 1000 上涨了 5.7 (Faster) / 5.6 (Mask) 个点,800 上涨了 3.9 (Faster) / 3.7 (Mask) 个点。

    无论怎么说这都是一个很强的结果。并且,注意 table 2 Mask R-CNN 是 37.8,比 detectron 少了快一个点,[从 paper 来看可能是 training 轮数不够],将来看 release 的 code 吧。

  2. 800 -> 1000 不加 deformable 都掉点了 [小物体涨了],但是 deformable 相关的在涨。

    这点值得提一下,之前的假设是说把图片调大会等价于减少网络的 receptive field,所以大物体会变得很差。那么这样 DCN 在调大图片仍然上涨 performance 就合理了因为毕竟能动态调整感受野。

  3. deformable pooling 比 roi align 仅好一点,但已经不影响主要结论。

    这其实是和我一直以来的想法相悖,并且从 DCNv1 来看其实主要有用的还是在于 deformable pooling。

  4. modulated 大概涨了 0.7。feature mimicking 涨了 1 个点左右,其实我觉得这两项算是 bells & whistles 了。

    不过我臆测这是一种 compromise,如果只有 more deformable 的话肯定 novelty 不够。唉。

  5. 正文最后的结果 (table 4) 是相比 mask rcnn 涨了 5 个点。相比 DCN v1 涨了 3 个点。

  6. Imagenet CLS 都能涨点。

  7. 在 imagenet 上 pretrain DCNv2 的 offset,竟然还是能涨 [不少] 点的。

---

随便说点:

这个环节我真是最喜欢了,但我好久不做 detection,所以大家权且一看:

  1. FPN 当时到底涨了多少点?
    我看到 table 2, Faster RCNN (C5-dilated, 2FC) ResNet-50 35.6 的时候是比较惊讶的。因为之前跑这个结构结果都是比较低的。我查了一下 detectron 里 FPN + RoI Align 的数字大概是 36.8,Faster RCNN (C4, C5 Head) 大概是 35.6。然后我又去查了一下 learning region feature 那篇文章,发现达到 35.6 的关键是一些超参数发生了变化。所以这个实验告诉我们,given table 2 的复现结果比不上 detectron,(C5-dilated, 2FC) 并没有比 FPN 和 C4 + C5 Head 差。
    你可以说他慢,但你不能说他又慢又差 hhhhh。

  2. 以前做 DCN v1 的时候,baseline 不高,导致最后的结果也没有非常 state of the art,不过这篇 paper 这一点不错,最后的 baseline 能跟最近最高的 baseline comparable。我没有时间查具体数字了,但想就这一点展开说说:object detection 已经日渐成熟或者说饱和也不为过,在这种情况下 [并不,其实任何时期都是],看 paper 的时候脑海中一定要注意各个 paper 报的数字和对应的 implementation details。有这么一个 graph,才能正确的知道这个 paper 到底是多少 gain 来自 claim 的方法,有多少 gain 来自于工程实现。

  3. 没有 3 了没有了 = = 临近期末要赶紧复习了。

---

说个梗,刚刚跟

@Yuwen Xiong

聊起可惜 deformable 没有比较级,一定叫个 more。我觉得这篇 paper 可以叫 DCN998: 9 offsets and 9 more layers bring 8 improvements. [Faster on coco det, Mask on COCO det, Mask on COCO inst seg, VOC det, VOC seg, VID, ImageNet CLS, pretrain offset]。

DCN 998,AP 5 点带回家,dconv 好处都有啥,谁加对了就给他。

首先祭出结论,这是一篇干货满满,novelty和performance双赢的paper (COCO直接涨了~5个点啊)。

自己一直在做object detection相关的工作,再加上之前在MSRA跟Jifeng及CV组的小伙伴共事过一段时间,努力给出客观的评价吧。

从Deform ConvNet V1说起

目标检测中有一个比较棘手的问题,即所谓的几何形变问题(Geometric variations)。就拿人检测来讲,人的姿态有多种多样(想想跳舞的场景),这就需要我们设计的模型具备deformation的能力。通常情况下为了解决这类问题有两种思路:(a) 收集更多样的数据用于模型的训练;(b) 设计transformation invariant 的特征来提升模型多样化能力。

Deform ConvNet是在卷积神经网络的框架下,对transformation-invariant feature的比较成功的尝试。思想非常直观,在标准的卷积核上加入了可学习的offset,使得原来方方正正的卷积核具备了形变的能力


deformable convolution用过的童鞋其实都知道,在大型的object detection/instance segmentation任务上的表现还蛮抢眼的。

Deform ConvNet V2在干啥

我认为,Deform ConvNet是在解决如何让学到的offset能更聚焦到感兴趣的物体上边,也就是提取到更聚焦的feature来帮助物体的识别定位。在下边的图片中,我们当然希望模型的feature能够聚焦到物体上边,这样才能提取到更有意义的supporting feature。

为了做到这一点,作者主要用了几种策略:

(a) 增加更多的offset层,这个不必细说;

(b) 在deform convolution中引入调节项(modulation),这样既学到了offset,又有了每个位置的重要性信息;

就是经过sigmoid归一化后的调节项

(c) Feature Mimicking,作者强调,简单在对应的feature上用roi-pooling来提取对应位置的feature并不一定能提取到最有用的信息(可能包含无用的context)。如何才能让feature更加聚焦到物体上呢?解决就是Mimicking技术,让roi-pooling之后的feature更像直接用R-CNN学到的feature。

其他

除了漂亮的结果,我觉得paper的可视化分析部分也挺值得好好看看的。

另外很难理解为什么Feature Mimicking在regular Faster R-CNN上不work。

从最近的一些paper结果看,至少目前在deep的框架下,针对task,让模型提取更加有意义的feature是个比较热/好的方向吧。

论文下载

请在“我爱计算机视觉”对话界面回复“DCNNV2”,即可收到论文。

加群交流

加入52CV-目标检测或语义分割专业群,扫码微信Your-Word拉你入群,请务必注明:目标检测 or 语义分割。

喜欢在QQ交流的童鞋可以加52CV官方QQ群:928997753。

(不会时时在线,如果没能及时通过还请见谅)


长按关注我爱计算机视觉

【点赞与转发】就是一种鼓励

如何评价MSRA视觉组最新提出的Deformable ConvNets V2?相关推荐

  1. 周志华组最新论文提出“溯因学习”,受玛雅文字启发的神经逻辑机

    假设你在踢足球,球来了,你把球传给队友,"传球"这一个动作,实际上涉及两种不同的思维过程. 首先,你需要意识到脚下有个球,相当于识别(感知):其次,你需要判断把球传给哪个队友,这是 ...

  2. 谷歌最新提出无需卷积、注意力 ,纯MLP构成的视觉架构

    11年it研发经验,从一个会计转行为算法工程师,学过C#,c++,java,android,php,go,js,python,CNN神经网络,四千多篇博文,三千多篇原创,只为与你分享,共同成长,一起进 ...

  3. 【视觉-语言导航-多模态Transformer】谷歌2021年最新提出-用于视觉-语言导航的多模态Transformer,Episodic Transformer

    Episodic Transformer for Vision-and-Language Navigation 前言: 由Inria, 谷歌, 布朗大学2021年最新提出的Episodic Trans ...

  4. 关于COVID-19新型冠状病毒,最新提出的人工智能在诊疗中的应用

    关于COVID-19新型冠状病毒,最新提出的人工智能在诊疗中的应用论文 本文主要精选了对于COVID-19新型冠状病毒,最新提出的5篇AI技术应用前沿论文.其中前面2篇为采用神经网络模型去辅助医生对于 ...

  5. 了解CV和RoboMaster视觉组(四)视觉组使用的硬件

    --NeoZng[neozng1@hnu.edu.cn] 4.视觉组接触的硬件 虽然别人总觉得视觉组就是整天对着屏幕臭敲代码的程序员,实际上我们也会接触很多的底层硬件与传感器,在使用硬件的同时很可能还 ...

  6. 17届全国大学生智能汽车竞赛 中国石油大学(华东)智能视觉组 --模型训练篇

    17届全国大学生智能汽车竞赛 中国石油大学(华东)智能视觉组 --模型训练篇 环境配置 训练 量化 超模型 目标检测 数据增强 如果你习惯使用jupyter notebook编写代码,这里也提供了ju ...

  7. 基于RT-Thread开发智能视觉组智能车 - 温州大学 - 春华秋实

    学校:温州大学队伍名称:春华秋实 参赛队员:陈俊达.程先春.倪世杰 带队教师:王峰 简 介: 目前自动驾驶话题非常火热,近几年华为.特斯拉.谷歌.百度等大型互联网公司都在进行关于这方面的研究.本文设计 ...

  8. AI视觉组仙人一步之模型量化

    开心的程序猿@NXP 2021-01-28 Thursday 本文专为参加今年大学生智能车竞赛AI视觉组的同学们而写,也很适合其他对MCU上AI应用感兴趣的朋友. 神经网络模型最大的一个特点就是拥有宰 ...

  9. 智能车大赛AI视觉组参考答案

      礼让动物采摘水果--最近, 智能车大赛AI视觉组 的题目已经发布,我们先为大家探探路.   前一期,逐飞科技给大家带来了一篇开幕大作: 智能车竞赛,AI视觉组赛题浅析 ,对该组别的核心赛题任务进行 ...

最新文章

  1. 关于网页的一些小知识点
  2. 技术人员转型是件痛苦的事情~
  3. PTA 栈 (20分)(全网首发)(实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1))
  4. 关“视觉神经系统是怎么形成的?”的思考
  5. 转)SQL 优化原则
  6. 文档主题分类项目Python代码
  7. 第十一节:Springboot整合log4j2日志
  8. 打印 SpringMVC中所有的接口URL
  9. 解决Eclipse报错:the file dx.jar was not loaded from the SDK
  10. vue数组转对象、JSON数据处理
  11. dvwa linux安装教程,Redhat 下 XAMPP 安装部署 DVWA 教程(示例代码)
  12. java项目相关架构图
  13. Nansen:你想知道的关于 NFT 的一切
  14. 幼儿编程Scratch第31讲:垃圾车-乐高入门机器人-WeDo
  15. Python selenium —— selenium与自动化测试成神之路
  16. php 分段mp4合并,下载一个特殊的m3u8视频并合并为MP4
  17. 昆明理工大学计算机学院李博,昆明理工大学
  18. S32k Flexcan 手写驱动,不使用SDK
  19. 小猪的Python学习之旅 —— 14.项目实战:抓取豆瓣音乐Top 250数据存到Excel中
  20. C++ 的图形界面(UI)库

热门文章

  1. 滑动窗口的最小值问题
  2. CSS属性和值--备份
  3. Oracle PL/SQL进阶
  4. r软件 image画出来的图是颠倒的_如何用Python抠图?试试scikitimage
  5. gcn 图卷积神经网络_复制一文读懂图卷积GCN
  6. 改ip地址会有什么影响_led显示屏会带来什么负面影响
  7. android导入导出txt通讯录,Android导入导出txt通讯录工具
  8. 顺序三元组 java_hihocoder-1550-顺序三元组
  9. c语言简易调度器,给大家分析SD调度器
  10. python读取文件前30个字符_Python 批量读取文件中指定字符的实现