如何将 "ignore" class 与 tensorflow 对象检测 API 一起使用?
How to use "ignore" class with tensorflow object detection API?
我在自定义数据集上使用 SSD (mobilenet-v1)
训练了 tensorflow 对象检测模型(针对 num_steps:50000
)。我得到 mAP@.50IOU
~0.98 和 loss
~1.17。数据集由 uno 扑克牌图像(跳过、反转和抽四)组成。在所有这些卡片上,模型都表现得很好,因为我只在这 3 张卡片上训练模型(使用移动 phone 收集的大约 278 张图像和 829 个边界框(25% 的边界框用于测试,即验证))。
然而,我没有在任何其他卡片上训练过模型,但它仍然检测到其他卡片(使用网络摄像头推断)。
我该如何解决这个问题?我是否也应该收集其他 class 图像(除了跳过、反转和抽四张牌之外的任何东西)并在操作中忽略此 class?因此该模型在训练期间看到此 class 即 标签:其他 图像并且在推理期间不放置任何标签。
我不确定如何通知 tensorflow 对象检测 API 它应该忽略来自 Other class.
的图像
谁能指点一下吗?
请分享您的观点!
是,你需要有另一个Class,这是你不想检测的对象。
如果你没有这个其他Class,它包括所有不被检测到的东西。该模型会将其与现有的 class 进行比较,后者与感兴趣的卡片几乎相同。
一些因素是:
- 形状的相似度
- 颜色的相似度
- 符号的相似度
这就是为什么即使它不是感兴趣的牌(跳过、反转和抽 4),它也会以某种方式对这三个 class 具有高 "belongingness"。
有另一个 Class 来转储所有这些可以显着减少 "belongingness" 到三个感兴趣的 classes 并尽可能提供 很多 训练期间的数据。
如果你不想再有一个class。
您可以过拟合跳过、反转并抽取 4 张牌(接近 100%),然后提高您的检测阈值到(70-90%)。
希望对您有所帮助。
我在自定义数据集上使用 SSD (mobilenet-v1)
训练了 tensorflow 对象检测模型(针对 num_steps:50000
)。我得到 mAP@.50IOU
~0.98 和 loss
~1.17。数据集由 uno 扑克牌图像(跳过、反转和抽四)组成。在所有这些卡片上,模型都表现得很好,因为我只在这 3 张卡片上训练模型(使用移动 phone 收集的大约 278 张图像和 829 个边界框(25% 的边界框用于测试,即验证))。
然而,我没有在任何其他卡片上训练过模型,但它仍然检测到其他卡片(使用网络摄像头推断)。
我该如何解决这个问题?我是否也应该收集其他 class 图像(除了跳过、反转和抽四张牌之外的任何东西)并在操作中忽略此 class?因此该模型在训练期间看到此 class 即 标签:其他 图像并且在推理期间不放置任何标签。
我不确定如何通知 tensorflow 对象检测 API 它应该忽略来自 Other class.
的图像谁能指点一下吗?
请分享您的观点!
是,你需要有另一个Class,这是你不想检测的对象。
如果你没有这个其他Class,它包括所有不被检测到的东西。该模型会将其与现有的 class 进行比较,后者与感兴趣的卡片几乎相同。
一些因素是:
- 形状的相似度
- 颜色的相似度
- 符号的相似度
这就是为什么即使它不是感兴趣的牌(跳过、反转和抽 4),它也会以某种方式对这三个 class 具有高 "belongingness"。
有另一个 Class 来转储所有这些可以显着减少 "belongingness" 到三个感兴趣的 classes 并尽可能提供 很多 训练期间的数据。
如果你不想再有一个class。
您可以过拟合跳过、反转并抽取 4 张牌(接近 100%),然后提高您的检测阈值到(70-90%)。
希望对您有所帮助。