Python tensorflow训练的检测模型只适用于固定位置

Python tensorflow训练的检测模型只适用于固定位置,python,tensorflow,computer-vision,object-detection,Python,Tensorflow,Computer Vision,Object Detection,我重新训练了一个对象检测模型来检测一个自定义对象,它在与训练集大小相同的测试用例上非常有效 但是,当我调整测试图片的大小或在图片中移动要检测的对象时(移动到训练集中显示的其他位置),检测失败 在我的训练集中,我在每张图片(右上部分)中使用目标对象或多或少处于相同位置的图片 我想也许我应该使用目标对象的随机位置向训练集中添加更多项目,但随后我使用mspaint水平翻转图片(目标对象位于左上角而不是右上角,并且镜像了),检测成功 这就是我感到困惑的地方,我希望有人能告诉我我做错了什么,或者给我一些克

我重新训练了一个对象检测模型来检测一个自定义对象,它在与训练集大小相同的测试用例上非常有效

但是,当我调整测试图片的大小或在图片中移动要检测的对象时(移动到训练集中显示的其他位置),检测失败

在我的训练集中,我在每张图片(右上部分)中使用目标对象或多或少处于相同位置的图片

我想也许我应该使用目标对象的随机位置向训练集中添加更多项目,但随后我使用mspaint水平翻转图片(目标对象位于左上角而不是右上角,并且镜像了),检测成功

这就是我感到困惑的地方,我希望有人能告诉我我做错了什么,或者给我一些克服错误的建议

非常感谢

编辑:

为了便于理解,这是一个说明,而不是实际的目标对象/背景等

此示例获得99%的分数,您可以将其视为来自培训集中的图片:

同样的镜像图像也获得99%的分数:

这就是使用mspaint将对象降低一点的地方,得到大约94%

这是与第一张(99%)从底部>上方裁剪的图像相同的图像。此处,根本未检测到对象

编辑2:

如Mark在评论中所述,更多详细信息:

代码和环境:我在这里遵循了本教程,没有更改代码中的任何内容


关于训练集,绝大多数图像都是720x480,并且大多数情况下目标对象都放置在每个图像的右上角。

我认为有关训练(超参数、正则化方法等)和数据集(大小和示例)的更多详细信息会有所帮助。关于镜像图像行为,您的部分培训可能使用水平翻转?代码也会帮助Hi Mark,关于代码和所有内容,我在这里遵循了本教程,没有更改代码中的任何内容。关于训练集,绝大多数图像都是720x480,并且大多数情况下目标对象都放置在每个图像的右上角。