查看原文
其他

回顾·Recent Advances on Object Detection in MSRA

Jifeng Dai DataFunTalk 2021-04-25

本文由DataFun社区根据微软亚洲研究院视觉组Lead Researcher Jifeng Dai老师在2018 AI先行者大会中分享的《Recent Advances on Object Detection in MSRA》编辑整理而成。

今天分享的内容会从以下几个方面进行,首先是R-FCN and its extensions,然后是Deformable Conv Nets and its extensions,接着是我们在Video object detection方面所做的工作,最后是一个简单的Summary。

1.R-FCN and its extensions

首先介绍下R-FCN,它的highlights是Region-based, fully-convolutional networks for object detection非常快非常准确在后续也起到了很多extensions的工作Region-based Object Detectors在不同方法上的比较给定一些事先决定好的region processor,put工作在R-CNN里面,是将整个网络挂到每个region的ROI上面,这样会导致很多向量。其后续工作SPP-Net&Faster放到R-CNN里面,将Rol convert部分一个子网络applied到Linux上提取一个feature map,然后在shared feature map上做input,分别对不同区域做ROI inputing产生每个部分特定的特征。我们也会保留一些层FC层、conv层等,通过一个ROI specific网络apply到每个抽取的特定区域上,继续对某个区域进行识别。在R-FCN里所有可以学习的layer都是apply到主栈image上,且是一个Pooling convolution方式,能够直接产生一种share在全图上的一个Score map,这个Score map上只需要用非常少的计算量就可以做一些putting操作拿到ROI得分,然后进行识别和检测。

接下来介绍下为什么之前设计需要把ROI层不自然的插到所有的层之间这是由于Increasing translation invariance for image classification和Respecting translation variance for object detection联码困境。一方面在feature网络时喜欢translation invariance如图一群鸟在图中位置不变也可以判断图中是有鸟的类别所以设计的image convolution尽量让其translation invariance这样的网络在image classification取得更好地效果。另一方面对于object detection任务需要translation invariance,如图中红色区域框在鸟上可以判断是一只鸟,但是稍微有点translation变化就会出现不是鸟的框;所以把依赖的per-trian网络单独放到object detection任务上需要在每个ROI保留一部分到ROI计算上这样才能translation invariance feature map上经过多层layer处理达到一个translation invariance效果

在R-FCN paper里面尝试用连耦方式解决反联码,网络是shared fully convolutional architectures是以IPN方式为了使IPN能够产生translation invariance这样一个output我们利用是Position-sensitive技术,respond for map不止是由C+1个channel来对每个class产生一个output,而是进行一个分广,增加的evention是来encode Position-sensitive信息不同的key代表的是不同物体的相对位置通过Position-sensitive ROI pooling方式基于不同的位置选择不同组的C+1维channel组合成一个output。

图中是一个婴儿的图,经过R-FCN产生position-sensitive score maps如第一组respond在婴儿的左上方会有一个比较强的响应第三组会在右下方有个比较强的响应下面一组是对空间位置有个比较强的响应。在做ROI pooling时采用Position-sensitive策略,将其responds取出做一个计算作为框的score,偏一点的框其overlap就没有那么大,其得分较低。

R-FCN有两个比较关键的性质,第一个就是ROI的计算量变成可以忽略的。在之前的RCN其ROI计算量是不可以忽略的,尤其是处理很大的服务,有很多图片时,就会占整个网络计算量很大的一部分。还有一个优点是整个网络结构是端到端。Fast R-CNN与R-FCN比较,基本能获得一样的正确率,速度在训练时也快很多。

接下来讲一下R-FCN extensions第一个是我们自己做的将fully convolutional方式从pure fully convolutional solution  instance segmentation就是要在图像中标出哪些是第一个instance,哪些是第二个instance。好处是非常准确,并没有对feature做working操作,feature在过程中没有丢失任何空间信息,同时速度也是非常快的,region的计算量也是可以忽略。

第二个R-FCN extensions是Light-head R-CNN第一行是fast R-CNN,计算量会在每个ROI上有很多,需要有很多层对ROI做计算。第二行是R-FCN,当类别数很多时,会产生一个position-sensitive for map,这部分计算量也是很大。其将position-sensitive推广到feature map上,这样的好处就是在类别很多时,无论是在权属的shared fully convolutional或者ROI都很小速度很快在很多公司产品中得到应用。还有一个extensions是R-FCN-3000 at 30fpsDecoupled classification and localization for scaling up基于这个对R-FCN进行改动

2. Deformable Conv Nets and its extensions

接下来介绍下我们做的第二个技术和所做的改进Deformable Conv Nets实现了对spatial transformation几何变形进行建模并不需要额外的supervision在比较复杂的视觉任务上实现了Significant accuracy improvements on sophisticated vision tasks


几何变形建模是在long standing中的一个挑战可能来源于人的同时态同尺度以及同一变化同一类别还有视角的变化。这些有很多经典的算法解决这些问题,第一种就是在建训练数据的时候将这些desired variations建立到训练数据中建设一组transformation都符合一种规律如仿射变换确定仿射变换参数进行information将其样本放入训练数据中这种条件是算法足够强大第二种方式是设计一些变换算法不是一个黑箱模式给定什么数据都进行处理而是尝试显示transformation在算法内进行处理和建模如cale Invariant Feature Transform利用no-label的feature找到正确的变换还有Deformable Part-based Model尝试对物体状态进行建模。上述两种方法都需要假定变形属于某一特定类别,都是刻画的简单类别,但是实际中几何形变都是很复杂,只能从数据中进行学习。

在CNN时代,先前研究主要集中在如何获得更加强大representation能力,将网络变得更深、更加宽大。但是通常忽略了basic model,都是源于inherently limited to model large unknown transformations比如我们常见的模块如convolutional模块和regular convolutional模块我们只是fix apply 3X3的convolutional产生一种新的feature map。将regular convolutional模块处理后在一些特定的feature map layer看到的信息也是fix的,不会随着comment的变化而变化。还有ROI pooling模块也是一个bread structure,如图左上角对应一个人的手,但是第二幅对应一个人的肩膀,这是有很大差异的,我们直接转化为bread structure上旋。

先前用Spatial Transformer Networks来解决这项工作是第一篇去学习Spatial Transformation的工作。原理是将feature map用global parametric transformation进行几何变换还是用fire Transformation,旁边会有一个网络依据input feature map去预测当前图片的几何形态是怎样的。但是complex vision tasks不能很好地工作

基于这种情况我们提出了Deformable Convolution和Deformable Ro I Pooling两个模块能够有效的增强CNN对几何形变的建模能力基本的想法是尝试去学习deform the sampling locations in the convolution/RoI Pooling modules改变采样的位置然后deformation offset可以自适应进行调整。跟Transformation network比较,学习到的是local sense和no-parametric transformation,有很大的对information建模的能力。

设计的模块第一个是Deformable Convolution是在Regular convolution上加了一个二维offset能够对非常复杂的free form的information进行建模,设计如上图所示。Offset是从其input feature map 上预测出来,做法是加了一层额外的convolution,每一个位置预测其x、y的变化,一共是18为的output。然后将2X9的convolution进行apply到convolution的Corner上指导采样。

相似的设计就是Deformable ROI Pooling就是在ROI的每个bin里面加了offset同样也是从input feature map上获取,获取方式是在feature map上给定一个input ROI预测一个2X9的offset,只需要依据很少的参数和计算量就可以对几何形变进行建模。

好处是与regular convolution和regular ROI pooling相比有同样的input和output,因此可以直接将Regular convolution -> deformable convolution Regular Ro I pooling -> deformable Ro I pooling同时也不需要额外的supervision对于产生offset的一路是有梯度可以回传并不需要对训练数据进行额外的标注

当把Deformable convolution运行起来后,对information的建模能力得到进一步的放大。上图中绿点是在deep feature map上的一个点,红点可以将其project back,在三层或四层之前的形态是怎样的,当看的点是在background上,网络自动会将阈值点放的比较大,当绿点在foreground上,可以自适应。通过网络优化给定一个自由度,最后选择一个最好的方案,其他的更依赖于上下文信息。

3. Video object detection

接下来我们做了一系列工作,取得的效果算法Powering the winner of Image Net VID 2017进一步的发展是基于High Performance做的更快和更好最新的文章将其推广到Video Object Detection for Mobiles在计算量很小在嵌入型设备或者手机上做核心算法实现更好的工作

4.Summary

最后总结下General object detection 仍然是一个open unsolved fundamental vision problem如何对不同的objects有很大的large appearance variations进行识别在mobile devices上如何识别以及如何对全景进行识别而不是部分识别以及对每个像素进行识别都是很有挑战的问题再者对产品的应用不是那么乐观如对人和车的识别技术还差很远

作者介绍:

Jifeng Dai is currently a Lead Researcher in Visual Computing Group at Microsoft Research Asia (MSRA). Before he joined MSRA in 2014, he received the B.S. degree and the Ph.D. degree from Tsinghua University with honor in 2009 and 2014 respectively. He was also a visiting student to University of California, Los Angeles (UCLA) from 2012 to 2013. His current research focus is on deep learning for high-level vision, especially for instance recognition. He is the first author of R-FCN for object detection and Deformable ConvNets. He and his team members has won the 1st place in COCO challenge in 2015 and 2016. He published around 20 papers in top conferences and journals in the field, receiving more than 2000 citations on Google Scholar. He served as a senior program Committee member of AAAI 2018.

——END——

注:关注文章底部公众号,回复【先行者】,可下载嘉宾分享的PPT。



DataFun算法群1.1招募中,感兴趣的小伙伴欢迎加管理员微信:


更多精彩文章:

DataFun定位于最“实用”的数据科学社区,主要形式为线下的深度沙龙、线上的内容整理。希望将工业界专家在各自场景下的实践经验,通过DataFun的平台:传播和扩散,对即将或已经开始相关尝试的同学有启发和借鉴。DataFun的愿景是:为大数据、人工智能从业者和爱好者打造一个分享、交流、学习、成长的平台,让数据科学领域的知识和经验更好的传播和落地产生价值。

DataFun社区成立至今,已经成功在全国范围内举办数十场线下技术沙龙,有超过一百位的业内专家参与分享,聚集了万余大数据、算法相关领域从业者。

都看到这里啦,麻烦转发本文到朋友圈,让更多的小伙伴看到哦~

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存