如何评价 MSRA 视觉组最新提出的 Deformable ConvNets V2？
利益相关： Deformable ConvNet (现在要加上v1了) 作者之一，以前是Jifeng的intern。  几句话总结一下这篇paper大家可能关心的结果部分吧： 1. ResNet 50上相比原来多加了10层dconv（paper上说res3/4/5总共12层，但应该总共13层才对？），mask AP相比vanilla Mask R-CNN能涨3个点，相比只在res5上加dconv涨1.5个点（36.4 vs 33.4 vs 34.9） 2. 提高Image resolution（800->1000）后，performance进一步上涨（37.0 vs 32.2 vs 35.1，注意这里vanilla Mask R-CNN反而跌了） 3. 在2的基础上，加入modulated dconv/dpooling，在原来的offset基础上再learn一个scalar来调节conv和pooling里每个point/bin的scale，这一步涨了0.3（37.3 vs 37.0） 4. 在3的基础上，加入R-CNN feature mimicking，这一步涨1个点（38.3 vs 37.3），成为完全体DCNv2  于是最后DCNv2相比最开始的vanilla Mask R-CNN涨了5个点（38.3 vs 33.4），如果同在短边1000的尺寸下比较更是有6个点之多（38.3 vs 32.2）。以上是mask AP的比较，如果是box AP涨的更多（44.3 vs 37.8 or 36.6）  而且有理由相信DCNv2与large batch syncbn（MegDet），panet和cascade rcnn这些technique是完全相容的，加起来可以做出一个非常强的结果。（DCNv1当时时间有限导致baseline不是很高，我们自己的model也没进一步细调，又跟Mask R-CNN生于同时代，很多工程上的实现比不上Mask R-CNN（e.g. image size还是用的600而不是800），以至于paper里没给出sota的结果，不得不说非常遗憾 233）  Bonus: 将dconv换为modulated dconv以后，在ImageNet CLS上也能涨点（个人感觉ResNeXt上classification accuracy 79->80还是挺显著了），而且将其作为pretrain model用在之后的task上的话会优于没有dconv的pretrain model   以上是实验结果的梳理，下面写一些我自己的comments好了  1. 结果强的没得说。Motivation和前期结果的分析也很充分，visualization结果非常漂亮 2. 整个model在inference的时候非常简洁，可以说相比baseline就是改一下op/module name的事，可以无脑用起来 3. 加大Image size在小物体上涨点同时依靠dconv做到中/大物体上不掉点这一点比较interesting。然后在这基础上multiscale test再涨1.2个点，其实我觉得在detection/instance segmentation/semantic segmentation这些task上做feature learning的终极目标之一就是做到single shot一把梭，图片只看一次，multiscale test本身不会再带来任何gain 4. 眼看着coco上Image size从600->800->1000，老黄普及16G/24G显存的炼丹炉迫在眉睫（顺便提一波NVDA股价 233） 5. 有一点可以注意的是从实验结果里看起来dpooling似乎没有什么提升了，原因是baseline也用RoIAlign，这么看起来的话dpooling像是吃了align的gain 6. mdconv/mdpooling占了一个subsection但是没有单独做ablation study，不知道mdconv和mdooling分别涨了多少，有点好奇 7. feature mimicking对于regular conv不怎么涨这一点让人有点在意（paper里claim是因为regular conv的capacity有限），作为这篇paper里有novelty的一个part来说相比paper的其他部分有点不够principled，而且也只在det/inst seg上work 8. 实际上DCN在semantic segmentation上也非常effective，加上fpn作为decoder以后能有非常好的效果，可惜这篇paper里只稍微提了一下在deeplab v1上做的实验，同样还是baseline不够强 9. 在DCNv1的paper里我们比较了实际的run time，当时的结论是跟regular conv相差无几，这是因为我们当时用的cudnn版本较低，以至于在batch size=1的时候速度还不如im2col，因此当时对比的是im2col版本的regular conv。如果跟现在较新版本cudnn的conv实现比起来速度上就差比较多了，一定程度上限制了dconv的推广，希望精通cuda的有识之士来帮忙优化一下呀  Misc: 前两天还在跟 @Haozhi Qi 和同事说了modulated dconv的idea（我自己的说法是convolution-level attention），今天发现 @朱锡洲 和 @Jifeng Dai 就放出paper了 233，还是脑子和手不够快啊