我正在使用来自tensorflow的对象检测。
有关该问题的一些背景信息
我面临挑战,因为我有兴趣训练一种模型,该模型除其他功能外还将检测武器。我的常规观点是从无人驾驶飞机出发,但是从这种观点来看,我找不到包含武器的任何公开可用的数据集。因此,我用武器收集了图像并试图尽可能模仿无人机的观点。
我尝试了在海滩上的人的照片,并试图模仿实际的问题:
实际问题
在我的一项实验中,我训练模型的时间比平常更长,并且注意到它确实使它破灭了。具体来说:
我有一个初始的140张“近景”图像用于训练。
我用它们创建了4x140=560
图像,这些图像具有较小的填充(最大图像中的图像最大可达原始图像的1.6倍)和旋转尺寸(最大5度旋转)。
我使用这个包含560张图像的数据集,使用Faster R-CNN模型对我的模型进行了近80万次迭代训练。
我以各种迭代方式导出了模型: 分别以150k,300k,500k,700k进行测试。
我还使用了比较模型,该模型使用原始大小调整后的图像进行训练,以检查差异。
意外结果
所以,我的问题是那怎么可能?培训时间过长还会导致无法检测到培训样本吗?有什么理论解释吗? (除了实现上的错误等,我认为这不太可能,但在任何情况下都不能排除)。
P.S.1
我调整图像大小的版本遵循与Faster R-CNN相同的最小调整大小条件。暗淡。最大为600像素一1024像素。因此,这应该不是任何调整大小的问题。
P.S.2
我正在使用tensorflow,但我不认为这是特定于tensorflow的问题。因此,我没有将其包含在标签中。
答案 0 :(得分:0)
经过一些研究(和大量实验),我得出了一些结论,可能会帮助其他面临相同问题的人。
我的最终结论是,由于某种原因,我的模型在某些时候经历了一些权重的溢出,从而阻止了它再次回到正常状态。我增加了数据的事实(例如,类似的图像被一个接一个地馈送并且例如增加了一定的权重)可能会增加问题发生的频率,但是问题仍然存在于非扩展数据集中。