使用下采样特征图确定原始图像中锚框的位置
Determining position of anchor boxes in original image using downsampled feature map
据我所读,我了解到 faster-RCNN 和 SSD 中使用的方法涉及生成一组锚框。我们首先使用 CNN 对训练图像进行下采样,对于下采样特征图中的每个像素(将形成锚框的中心),我们将其投影回训练图像。然后,我们使用预先确定的比例和比率绘制以该像素为中心的锚框。我不明白的是,为什么我们不以合适的步幅直接假设训练图像上锚框的中心,并使用 CNN 仅输出分类和回归值。我们通过使用 CNN 来确定最终将均匀分布在训练图像上的锚框的中心,我们得到了什么?
说得更清楚 -
在我们第一次预测偏移值之前,锚框的中心在训练图像上的什么位置?我们如何决定这些值?
我认为混乱来自于此:
What are we gaining by using the CNN to determine the centers of our anchor boxes which are ultimately going to be distributed evenly on the training image
网络通常不预测中心,而是对先前信念的修正。初始锚点中心均匀分布在图像中,因此不能足够紧密地适合场景中的对象。这些锚点只是构成了概率意义上的先验。您的网络将准确输出的内容取决于实现,但可能只是更新,即 对那些初始先验的更正。这意味着您的网络预测的中心是一些调整边界框的 delta_x, delta_y
。
关于这部分:
why dont we directly assume the centers of our anchor boxes on the training image with a suitable stride and use the CNN to only output the classification and regression values
回归值仍应包含足够的信息以独特的方式确定边界框。预测宽度、高度和中心偏移(校正)是一种直接的方法,但这肯定不是唯一的方法。例如,您可以修改网络以预测每个像素到其最近对象中心的距离向量,或者您可以使用参数曲线。然而,粗糙、固定的锚中心不是一个好主意,因为它们也会导致分类问题,因为您使用它们来池化代表对象的特征。
据我所读,我了解到 faster-RCNN 和 SSD 中使用的方法涉及生成一组锚框。我们首先使用 CNN 对训练图像进行下采样,对于下采样特征图中的每个像素(将形成锚框的中心),我们将其投影回训练图像。然后,我们使用预先确定的比例和比率绘制以该像素为中心的锚框。我不明白的是,为什么我们不以合适的步幅直接假设训练图像上锚框的中心,并使用 CNN 仅输出分类和回归值。我们通过使用 CNN 来确定最终将均匀分布在训练图像上的锚框的中心,我们得到了什么?
说得更清楚 -
在我们第一次预测偏移值之前,锚框的中心在训练图像上的什么位置?我们如何决定这些值?
我认为混乱来自于此:
What are we gaining by using the CNN to determine the centers of our anchor boxes which are ultimately going to be distributed evenly on the training image
网络通常不预测中心,而是对先前信念的修正。初始锚点中心均匀分布在图像中,因此不能足够紧密地适合场景中的对象。这些锚点只是构成了概率意义上的先验。您的网络将准确输出的内容取决于实现,但可能只是更新,即 对那些初始先验的更正。这意味着您的网络预测的中心是一些调整边界框的 delta_x, delta_y
。
关于这部分:
why dont we directly assume the centers of our anchor boxes on the training image with a suitable stride and use the CNN to only output the classification and regression values
回归值仍应包含足够的信息以独特的方式确定边界框。预测宽度、高度和中心偏移(校正)是一种直接的方法,但这肯定不是唯一的方法。例如,您可以修改网络以预测每个像素到其最近对象中心的距离向量,或者您可以使用参数曲线。然而,粗糙、固定的锚中心不是一个好主意,因为它们也会导致分类问题,因为您使用它们来池化代表对象的特征。