论文笔记:Scale-Aware Trident Networks for Object Detection

是图森大佬王乃岩的,感觉可以借鉴一下,不知道用到ssd上会不会work,他们用的都是两阶段的faster-rcnn

这个最后挂名的是 zhaoxiang zhang 张兆翔 现在是中科院的教授 09年博士毕业,谭铁牛的学生。感觉学术圈真的是,一定要抱对大佬的腿。有大佬,还有自身努力,活的才容易一些。

motivation的话,还是从scale variation出发,针对不同大小的物体,感受野应该是不同的。现有的方法1.从multi-scale image pyramid 出发(有直接就多尺度训练的,还有的就是SNIP这样,每次都选一定范围内scale的。2.用feature pyramid来逼近image pyramid 比如ssd和fpn.本文的话用的是空洞卷积来创建 multi branch,然后再借鉴scale-aware的思路,构建trident network。

《论文笔记:Scale-Aware Trident Networks for Object Detection》

motivation很简单,but 根据论文来看,效果也是真的好。

论文的第一部分先验证了感受野大小对检测的影响

《论文笔记:Scale-Aware Trident Networks for Object Detection》

可以看到,感受野越大,对大目标越友好。目标大小的划分small (less than 32×32), medium (from32×32 to 96×96) and large(greater than 96×96) sizes

所以,就提出了用 multi branch 来兼顾多个尺度。

《论文笔记:Scale-Aware Trident Networks for Object Detection》

multi branch 之间share weight 不知道代码是怎么实现的,前面的weigth 可以share 但是不同branch 之间怎么share weight? 相当于三个brach 的参数要一样。查了一下,在tensorflow中的实现,只要这一层的名字一样,reuse为True就ok了。https://stackoverflow.com/questions/50030163/how-to-share-weights-using-tf-layers-conv2d

然后还借鉴了SNIP ,每个branch 只输入和他近似的scale 大小

最让人觉得惊喜的是,还可以在inference的时候只用中间的branch,这样相当于毛线参数都没有多,但是和baseline比,提升了1.5个点。

《论文笔记:Scale-Aware Trident Networks for Object Detection》

《论文笔记:Scale-Aware Trident Networks for Object Detection》

实验做得特别扎实,各个方方面面都比较了,只能说tusimple的卡多,好羡慕。期待大佬的开源代码,然后自己学习学习,提升一下coding的能力。

    原文作者:涂山容容
    原文地址: https://www.jianshu.com/p/1c1413d851f7
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞