我正在使用 Tensorflow 的对象检测来训练对象检测网络,
https://github.com/tensorflow/models/tree/master/research/object_detection
我可以根据自己的图像和标签成功训练网络。 但是,我有一个不包含任何标记对象的大型图像数据集,我希望能够训练网络不检测这些图像中的任何内容。
根据我对 Tensorflow 对象检测的了解,我需要为其提供一组图像和相应的 XML 文件,这些文件用于对图像中的对象进行框选和标记。脚本将 XML 转换为 CSV,然后再转换为另一种格式进行训练,并且不允许没有对象的 XML 文件。
如何给出没有对象的图片和XML文件?
或者,网络如何了解什么不是对象?
例如,如果您想检测“热狗”,您可以使用一组包含热狗的图像对其进行训练。但是如何训练它不是热狗呢?
请您参考如下方法:
对象检测 CNN 可以了解什么不是对象,只需让它看到没有任何标签的图像示例即可。
主要有两种架构类型:
- 两阶段,第一阶段目标/区域提议 (RPN),第二阶段 - 分类和边界框微调;
- one-stage,直接根据feature map中某个cell对应的特征向量对BB进行分类和回归。
无论如何,有一个部分负责决定什么是对象,什么不是。在 RPN 中你有“客观性”分数,在单阶段中有分类的信心,你通常是背景类(即所有不支持的类)。
因此在这两种情况下,如果图像中的特定示例没有任何受支持的类别,您会教 CNN 降低目标分数或相应地增加背景置信度。
