在 Single Shot Multi-box 检测器中使用 base anchor size
Use of base anchor size in Single Shot Multi-box detector
我正在挖掘动态生成锚框的 Tensorflow Object Detection API in order to check out the anchor box generations for SSD architecture. In this py file,我无法理解 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]
.
我正在挖掘动态生成锚框的 Tensorflow Object Detection API in order to check out the anchor box generations for SSD architecture. In this py file,我无法理解 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]
.