【问题标题】:Does tensorflow's object detection api support multi-class multi-label detection?tensorflow的object detection api是否支持多类多标签检测?
【发布时间】:2018-03-19 07:55:03
【问题描述】:

经过数小时的研究,我找不到任何关于使用对象检测 API 进行多标签预测的示例。基本上我想预测图像中每个实例的多个标签。如下图所示:

我想预测服装类别,还要预测颜色和图案等属性。

根据我的理解,我需要将每个属性的更多分类头附加到第二阶段 ROI 特征图,并对每个属性的损失求和?但是,我无法在对象检测代码中实现这一点。有人可以给我一些关于我应该开始修改哪些功能的提示吗?谢谢。

【问题讨论】:

  • 包含您的研究产生的结果会很有帮助。确定你找到了一些合适的方法或其他人的实现关于这个问题?通过向我们展示您迄今为止所做的尝试,我们可以更轻松地为您指明正确的方向。
  • 目前我想到了两种方法:1.修改Mask_RCNN的github.com/matterport/Mask_RCNN实现,将mask预测头改为多个属性分类头。 2. 直接修改Object detection API 代码,可以先在model.py 和meta_architectures 中添加更多的分类头吗?然而,这种方法似乎更复杂,正如我所指出的,我很难找到关于对象检测 API 的多标签问题的示例。

标签: tensorflow object-detection-api


【解决方案1】:

根据性能要求和平台,一种方法可能是通过在管道中使用多个分类器来简化问题。例如,您可以使用多类对象检测器(在您的示例中为“tee”和“pant”)来捕获感兴趣的区域;然后根据边界框裁剪这些区域,并将这些裁剪区域输入另一个模型,在这种情况下,该模型没有位置要求(“颜色”和“图案”)。

对于多类对象检测指南,我可能会推荐来自Tensorflow Git repoEager Few Shot Object Detection Colab。在“为训练准备数据”单元格注释中:

num_classes = 1

category_index = {duck_class_id: {'id': duck_class_id, 'name': 'rubber_ducky'}}

更新它可以在不改变模型的情况下启用多类检测。例如,以下将创建两个类:

num_classes = 2

category_index = {
    1: {'id': 1, 
        'name': 'tee'},
    2: {'id': 2, 
        'name': 'pant'}
}

然后根据此输出,将这些裁剪区域输入另一个分类器。

【讨论】:

  • 然后如何将边界框分配给特定的类?
猜你喜欢
  • 2018-01-28
  • 2019-09-06
  • 2022-10-08
  • 2019-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多