如何训练不包含对象的 Tensorflow 对象检测图像?

Jam*_*mes 8 python object-detection deep-learning tensorflow object-detection-api

我正在使用 Tensorflow 的对象检测训练一个对象检测网络,

https://github.com/tensorflow/models/tree/master/research/object_detection

我可以根据自己的图像和标签成功训练网络。但是,我有一个不包含任何标记对象的大型图像数据集,我希望能够训练网络不检测这些图像中的任何内容。

根据我对 Tensorflow 对象检测的理解,我需要给它一组图像和相应的 XML 文件,这些文件对图像中的对象进行装箱和标记。脚本将 XML 转换为 CSV,然后转换为其他格式以进行培训,并且不允许使用没有对象的 XML 文件。

如何给出没有对象的图像和 XML 文件?

或者,网络如何学习不是对象的东西?

例如,如果您想检测“热狗”,您可以使用一组带有热狗的图像来训练它。但是如何训练它什么不是热狗呢?

net*_*sam 8

对象检测 CNN 可以通过让它看到没有任何标签的图像示例来了解什么不是对象。

主要有两种架构类型:

  1. 两阶段,第一阶段是对象/区域提议(RPN),第二阶段是分类和边界框微调;
  2. one-stage,直接根据特征图中某个cell对应的特征向量对BB进行分类和回归。

无论如何,都有一个部分负责决定什么是对象,什么不是。在 RPN 中,您有“客观性”分数,并且在单阶段中存在分类的置信度,其中您通常是背景类(即不支持的类的所有内容)。

因此,在这两种情况下,如果图像中的特定示例没有任何受支持的类别,您可以教 CNN 相应地降低客观性分数或增加背景置信度。