tensorflow - 在 Single Shot Multi-box 检测器中使用基本锚大小
问题描述
我正在挖掘Tensorflow 对象检测 API,以检查SSD 架构的锚框生成。在这个动态生成锚框的py 文件中,我无法理解base_anchor_size
. 在相应的论文中,没有提到这样的事情。简而言之两个问题:
- 参数有什么用
base_anchor_size
?是不是重要? - 在原始输入图像有
square
形状和不是正方形的情况下,此参数如何影响训练?
解决方案
在 SSD 架构中,存在固定在前面的锚点的比例,例如 0.2-0.9 范围内的线性值。这些值与图像大小有关。例如,给定 320x320 的图像,那么最小的锚点(比例为 1:1)将是 64x64,最大的锚点将是 288x288。但是,如果您希望在模型中插入更大的图像,例如 640x640,但不更改锚点大小(例如,因为这些是远处对象的图像,所以不需要大对象;不保留锚点大小可以让您不要在新分辨率上微调模型),那么你可以简单地拥有一个base_anchor_size=0.5
,这意味着锚比例相对于输入图像大小将是 0.5*[0.2-0.9] 。
此参数的默认值为[1.0, 1.0]
,表示没有任何影响。
这些条目对应于[height, width]
相对于您可以在图像中容纳的最大平方,意思是[min(image_height,image_width),min(image_height,image_width)]
。因此,例如,如果您的输入图像是 VGA,即 640x480,则 将base_anchor_size
被视为相对于[480,480]
.
推荐阅读
- python - Program Doesn't Close After Quitting It In PyQt
- java - spring boot 应用程序启动后如何将 systemd 服务状态设置为“activ”?
- javascript - 将已克隆的绝对位置元素居中
- ios - iOS 你可以通过 PuTTY Pagent 在 iPhone/iPad 上查看 SVN 存储库吗?
- angular - 角度 6 中的燃尽图
- react-native - 如何在 React Native 中显示 SVG 数据?
- django - 将类的属性转换为 django 模型子类
- python - 在 python plotly 包中的散点图中操作图例
- javascript - 我的算法可以被视为 O(n) 吗?“查找具有唯一字符的最长子字符串”
- angular - 如何在 for 循环的内部代码中使用 jamine 编写单元测试用例?