进行多尺度训练(Yolov2)



我想知道yolov2中的多尺度培训如何工作。

在纸上说:

原始Yolo使用的输入分辨率为448×448。锚固盒的添加我们将分辨率更改为416×416。但是,由于我们的模型仅使用卷积和合并层,因此可以在Fly 上调整大小。我们希望Yolov2能够在不同尺寸的图像上运行,因此我们将其训练为模型。我们没有修复输入图像大小,而是每次迭代更改网络。每10批我们的网络随机选择一个新的图像维度大小。"由于我们的模型下半年的成绩为32倍,因此我们从以下32的倍数中拉出:{320,352,...,608}。因此,最小的选项是320×320,最大的最大选择是608×608。我们调整了大小。该维度并继续培训的网络。"

我没有获得网络仅具有卷积和池层允许输入不同分辨率的网络。从我构建神经网络的经验中,如果将输入的分辨率更改为不同的规模,则该网络的参数数量将会改变,也就是说,该网络的结构将会改变。

那么,yolov2如何在苍蝇上更改

我读了yolov2的配置文件,但我得到的只是一个random=1语句...

如果您只有卷积层,则权重的数量不会随层的2D部分的大小而变化(但是,如果您调整了通道的数量,它也会改变(。

例如(想象中的网络(,如果您有224x224x3输入图像和3x3x64卷积层,则您将拥有64个不同的3*3*3*3卷积过滤器内核= 1728个权重。该值根本不取决于图像的大小,因为独立于图像的每个位置都应用了内核,这是卷积和卷积层中最重要的事情,以及原因,为什么CNN可以如此深,并且为什么在更快的R-CNN中您可以从功能地图中裁剪区域。

如果有任何完全连接的层之类的东西,它将无法使用,因为那里的2D层尺寸将导致更多的连接和更多的权重。

在Yolo V2中,看起来可能仍然不合适。例如,如果将每个维度的图像大小加倍,则最终将获得每个维度中的功能数量的2倍,就像在最终的1x1xn滤镜之前一样,就像原始网络大小的网格为7x7一样,调整大小的网络可能有14x14。但是您只会得到14x14 * b *(5 c(回归结果,就很好。

在yolo中,如果您仅使用卷积层,则输出gird的大小会更改。

例如,如果您的大小:

  1. 320x320,输出大小为10x10

  2. 608x608,输出大小为19x19

然后,您将这些W.R.T上的损失计算到类似调整的地面真相网格上。

因此,您可以返回传播损失而无需添加任何参数。

参考Yolov1纸张以获取损失功能:

纸张的损失函数

因此,从理论上讲,您只能调整此功能,该功能取决于网格大小,没有模型参数,您应该很好。

纸链接:https://arxiv.org/pdf/1506.02640.pdf

在作者的视频说明中提到了相同的说明。

时间:14:53

视频链接

最新更新