我正在使用Tensorflow对象检测API进行一个项目。我在几个测试图像上训练了我的模型,并训练了一个rfcn_resnet101_coco
模型来检测这些图像中的字母o。
我认为这个模型工作得很好,因为它在我传递给它的图像中检测到o(相当准确)。有关示例,请参见这里和这里。
然而,当我传递另外两幅图像时,它们的大小与前两幅相差很大,模型无法检测到任何东西!例如,当我将整页或单一世界传递给模型时,输出与输入相同。
我相信这是因为我所传递的最后两幅图像比我用来训练模型的原始训练集大或小得多,而前两张或大致相同的大小。
我想知道是否有任何训练我的模型,以便它可以检测字母o在不同大小的图像,而不只是那些类似的培训输入。我想调整一下我的pipeline.config
(found 这里),但不知道从哪里开始。
发布于 2019-08-12 09:06:28
首先,以一种特定的方式对图像进行培训,然后在显著不同的情况下测试它,特别是输入大小,这从来都不是一个好的实践。也就是说,除非您的模式/培训计划正在以某种方式处理这一差异。
此外,许多对象检测器使用锚作为参考框,这意味着模型对相关的对象进行训练和预测。它们在输入分辨率方面有特定的大小。如果您正在进行这样的训练,使地面真相对象的大小与锚大小相对应,但是测试它时,没有一个锚适合您希望检测的对象(要么太小,要么太大),那么它就不会检测到它们。
这意味着你需要:
https://stackoverflow.com/questions/57376833
复制相似问题