它检测到颜色吗?

时间:2019-05-22 00:41:49

标签: python tensorflow machine-learning neural-network object-detection

一年前,我训练了一个模型来检测花朵。一年后,我再次启动了该项目,但是首先,我决定通过培训它来检测红色和绿色蜡笔,以确保我仍然记得。

我的工作或多或少地遵循了本教程– https://github.com/EdjeElectronics/TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10

我有两个标签,绿色和红色。我有200张训练图像和20张测试图像。 使用fast_rcnn_inception。我按照这些步骤运行了模型。

它只用200张图像就能检测到蜡笔,但是根本无法分辨红色和绿色蜡笔。我以为可能是我搞砸了设置,但是如果我将一支蓝色的笔插入,则会弹出标签!

enter image description here

即使我提供训练图像,它也将其中的99%归为两支绿色笔。即使每个图像总是有两支不同的笔!

此型号可以搭配颜色吗?还是以某种方式转换颜色并将其弄乱了?颜色难于检测,我只需要更多训练图像吗?我可能搞砸了设置,因为它甚至无法正确分类训练图像吗?

我正在使用的配置文件在这里: https://github.com/tensorflow/models/blob/master/research/object_detection/samples/configs/faster_rcnn_inception_v2_pets.config 我将第9行,第130行和第108行更改为false。

1 个答案:

答案 0 :(得分:1)

通常,神经网络可以检测颜色。

enter image description here

但是他们经常学会不这样做。由于色温和透视图的差异,不同的颜色会产生相同或相似的像素级值。因此,当在较大的数据集上进行训练时,网络往往变得与颜色无关。不幸的是,我只能从直觉出发,不能提供任何示例或参考,但是上面的图片应该可以使您理解为什么。

在您的情况下,问题变得更加复杂,因为存在检测对象框的竞争任务。因此,在重新训练期间,检测网可能对诸如颜色之类的微弱线索不敏感。

要解决这种情况,建议您在重新训练期间仔细查看分类准确性。据我所知,教程代码仅提供损失值。人们应该期望,在再培训期间至少火车套件应几乎完全过拟合,即绿色和红色蜡笔必须变得可区分。如果没有,那么延长培训时间或降低学习率可能是合理的。