经过几个小时的研究,我没有找到任何例子,多标签预测与对象检测API。基本上,我想预测一个图像中的每个示例多个标签。如下图所示:
我想预测服装的类别,还包括颜色和图案等属性。
根据我的理解,我需要为第二阶段ROI特征图的每个属性附加更多的分类头,并对每个属性的损失进行求和?然而,我在对象检测代码中实现这一点时遇到了麻烦。谁能给予我一些提示,告诉我应该开始修改哪些函数?谢谢。
经过几个小时的研究,我没有找到任何例子,多标签预测与对象检测API。基本上,我想预测一个图像中的每个示例多个标签。如下图所示:
我想预测服装的类别,还包括颜色和图案等属性。
根据我的理解,我需要为第二阶段ROI特征图的每个属性附加更多的分类头,并对每个属性的损失进行求和?然而,我在对象检测代码中实现这一点时遇到了麻烦。谁能给予我一些提示,告诉我应该开始修改哪些函数?谢谢。
2条答案
按热度按时间2w3rbyxf1#
根据性能要求和平台,一种方法可能是通过在管道中使用多个分类器来简化问题。例如,您可能使用多类对象检测器(在您的示例中为“tee”和“pant”)来捕获感兴趣的区域;然后基于边界框裁剪那些区域,并将那些裁剪的区域馈送到另一个模型中,在这种情况下,该模型没有局部性要求(“颜色”和“图案”)。
对于多类对象检测指导,我建议使用Tensorflow Git repo中的 Eager Few Shot Object Detection Colab。在“* 准备训练数据 *”单元格中,请注意:
更新此值将启用多类检测,而无需更改模型。例如,以下代码将创建两个类:
然后基于这个输出,将这些裁剪区域馈送到另一个分类器。
v7pvogib2#
带盒子的迁移学习教程非常罕见,我不明白为什么。开始,我建议忘记神话般的Rubber Ducky数据鸭盒子教程和Zombie detector。这两个教程是一个单声道标签盒子**系统的奇妙。( 为什么要将形状作为标签的GT,如果是单声道标签,这是有意义的,但在多声道标签中,这个 *
shape=[gt_box_np.shape[0]], dtype=np.int32) - label_id_offset
* 是不可能使用的。)如何实现,检测学习盒转移多标签**(猫,狗和僵尸),你需要另一种相反的方法。
下面的教程是多标签与框,它是完全可伸缩的:
这些教程基于TF_v1,如果要使用TF_v2,则需要在
~/models/research/object_detection/model_main.py
样式命令中特别注意将其替换为model_main_tf2.py
要考虑的事项(可选):
long_x_width
的预训练模型,例如,对于我的图像,可以选择640x640resnet101_v1_640x640
并从此处下载https://tfhub.dev/.pb
可以收集、评估和重新训练,或者原始.h5
仅用于评估图像。注意:我想避免使用API命令
model_main_tf2.py
,而使用.fit(x.tfRecord, y.tfRecord)
,但现在似乎不太可能。