meta-ancbor论文笔记

meta-ancbor论文笔记

详细的解读可以参考 https://zhuanlan.zhihu.com/p/52320964 .

个人理解整理

  • 之前无论是faster-rcnn还是ssd, retinanet, yolo系列,几乎都用了anchor的想法,产生anchor的时候有几个重要的参数,分别是
  1. 在哪里产生, 这个可以通过feature map和stride来控制产生多少行多少列以及每隔多少个像素有一个锚点.

  2. 产生多大的anchor

  3. 产生的anchor的长宽的比例是多少

之前用anchor的时候其实是人为根据经验来做的,比如faster-rcnn在训voc2007的时候产生anchor的时候,用的anchor是 scale 是base_size *2**{3,4,5} basesize等于16, ratios 为0.5,1,2

产生的基本上是下述样子的.

avator

这是基于voc的数据中的bbox基本上在这个范围内,而且这样基本上每一个gt都会有对应的anchor与其Iou大于0.5.当然anchors产生的也很多,一般至少是1w的量级.像retinanet多层feature的就会更多了.

用anchor的第一个问题就是有很强的人为因素在里面,需要知道目标的大小大致有多大.所以如果anchor设计的不好,可能就与gt没有iou大于0.5的.

另外, smoothL1在优化bbox回归的时候,从定义来看,优化的是offsets-between-preds-and-anchor到offsets-between-gt-and-anchors的的距离,这里面是由anchor的大小因素在里面的时候,这些风络在inference的时候往往用的也是这些ratios和scale, 所以训练和inference是一致的.

另外一个问题是,之前都是先不管3721先产生一堆anchors,然后再进行过滤,这样会有很多的资源浪费.

我理解meta-anchor想要做的事情是如何从一组固定的anchor去学习到适合于任意大小的目标检测的anchor,也就是说不再需要人为地经验主义地选择好ratios和scales,能够根据目标的大小,在其附近产生适合大小的anchor,这样感觉也更高大上一些.

打赏,谢谢~~

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,多谢支持~

打开微信扫一扫,即可进行扫码打赏哦