单点多盒检测:训练数据编码时方差的使用

2024-09-30 01:32:43 发布

您现在位置:Python中文网/ 问答频道 /正文

在代码中实现Single-shot multibox detector时,我无法理解“方差”的概念。
我正在阅读this和{a3}存储库。在

训练时,位置输入数据是默认框(锚框,先验框)坐标(Δcx,Δcy,Δw,Δh)的增量编码坐标,与地面真实边界框坐标相关。
我不明白的是,它编码0.1到Δcx和Δcy,0.2编码到Δw和Δh

为什么这是必要的?或者我应该问,这会对培训结果产生什么影响?
我还研究了最初的caffe实现,但我找不到太多的解释,而是在训练时对它们进行编码,并重新用于解码以进行推理。
我没有太多的数学背景,但欢迎对数学理论联系等提出任何建议。
提前谢谢!在


Tags: 数据代码概念编码数学thisdetectora3
2条回答

在最初的caffe实现中,a thread讨论了这一点,我正在研究的一个存储库here
SSD论文的作者says

You can think of it as approximating a gaussian distribution for adjusting the prior box. Or you can think of it as scaling the localization gradient. Variance is also used in original MultiBox and Fast(er) R-CNN.

我正在处理的回购的作者says

Probably, the naming comes from the idea, that the ground truth bounding boxes are not always precise, in other words, they vary from image to image probably for the same object in the same position just because human labellers cannot ideally repeat themselves. Thus, the encoded values are some random values, and we want them to have unit variance that is why we divide by some value. Why they are initialized to the values used in the code - I've no idea, probably some empirical estimation by the authors.

我也在想同一个问题,为什么总是要用固定方差进行除法和乘法呢?另外,如果我们只是倒退,没有这个“编码”和“解码”步骤,会不会对训练产生那么大的影响?在

相关问题 更多 >

    热门问题