PriorBox到底是如何生成的?
本文介绍 PriorBox到底是如何生成的?
PriorBox到底是如何生成的?
This article was original written by Jin Tian, welcome re-post, first come with https://jinfagang.github.io . but please keep this copyright info, thanks, any question could be asked via wechat:
jintianiloveu
最近在用libtorch部署一些先进的快速的one-stage检测器, 参考晚上的一个项目, 里面直接提供了一个csv里面包含的是Prior. 那么问题来了:
- 这priorbox是如何生成的?
- 它跟哪些预先设定的变量有关?
今天主要解决这两个问题.
## priorbox是如何生成的?
其实很多priorbox的翻译不正确, 直接意思应该是默认框. 因为接下来所有的预测, 都是相对于默认狂的offsets. 如果你没有默认框的位置, 即便是网络输出了offsets, 那也是没有用的.
因此假如你拿到一个检测模型, 只有模型而不知道预设值, 那么你就无法真正得到检测结果..
这就出现了两个问题, 这个默认框到底, 如何生成?
不管是SSd也好,RFBNet也好, 其本质上差不多,我们以SSD为例, 简单的记录一下如何生成SSD需要的priorbox.
|
|
上面基本上就添加完成了.
思路也很简单, 你首先要遍历6个矩阵, 这6个矩阵中最大的是38x38, 最小的是1x1, 每一个矩阵中的每一个点, 你都要生成对应的默认框, 而这些框是对应于图片尺寸归一化的. 而与最终结果相关的, 就是你设定的max_sizes 和 min_sizes. 以及你设定的ratio, 以及图像尺寸. 其他的没有影响.
w
- 原文作者:金天
- 原文链接:https://jintian93.github.io/post/2019_06_28_14_PriorBox%E5%88%B0%E5%BA%95%E6%98%AF%E5%A6%82%E4%BD%95%E7%94%9F%E6%88%90%E7%9A%84/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。