如何在 tensorflow 对象检测 API 中使用“忽略”类?

     2023-03-12     152

关键词:

【中文标题】如何在 tensorflow 对象检测 API 中使用“忽略”类?【英文标题】:How to use "ignore" class with tensorflow object detection API? 【发布时间】:2020-05-03 07:11:08 【问题描述】:

我已经在自定义数据集上使用 SSD (mobilenet-v1) 训练了 tensorflow 对象检测模型(用于 num_steps:50000)。我得到了mAP@.50IOU ~0.98 和loss ~1.17。该数据集由 uno 扑克牌图像(跳过、反转和绘制四张)组成。在所有这些卡片上,模型的表现都非常好,因为我只在这 3 张卡片上训练了模型(大约 278 张图像和 829 个边界框(25% 的边界框用于测试,即验证),使用手机收集)。

但是,我没有在任何其他卡上训练模型,但它仍然检测到其他卡(使用网络摄像头进行推理)。

我该如何解决这个问题?我是否还应该收集其他类图像(除了跳过、反转和抽四张牌之外的任何东西)并在操作中忽略这个类?因此该模型在训练期间看到此类,即 Label: Other 图像,并且在推理期间不放置任何标签。

我不确定如何通知 tensorflow 对象检测 API 它应该忽略来自 Other 类的图像。

谁能指点一下?

请分享您的观点!

【问题讨论】:

确实可以添加更多的训练样本;但您也可以使用检测分数来查看某些框是否与绘制相关 对于跳牌、倒牌和抽四牌,训练好的模型不会进行任何错误检测。但是对于看不见的卡片,例如 4,8,9 等算法检测为跳过或反转。 检测分数是多少或4、8和9? 4,8 和 9 是其他牌(在 Uno 中有从 0 到 9 的牌,特殊牌,例如跳过、反转、抽二和抽四,外卡)。我为检测分数设置了阈值,即 0.5 也许你可以提高你的门槛。但存在可能无法检测到某些感兴趣的卡片的风险。添加更多的训练样本也可能会有所帮助 【参考方案1】:

是的,您需要有另一个类,它是您不想检测的对象

如果您没有这个Other Class,其中包括所有不会被检测到的东西。该模型会将其与现有的类进行比较,该类几乎与感兴趣的卡片相同。

其中一些因素是:

    形状的相似性 颜色的相似性 符号的相似性

这就是为什么即使它不是感兴趣的卡片(Skip、Reverse 和 Draw 4),它也会在某种程度上对这三个类别具有很高的“归属感”。

让另一个类转储所有这些可以显着降低对三个感兴趣的类的“归属感”,并在训练期间尽可能提供大量数据。

如果你不想再上课。

您可以过拟合跳过、反转和抽 4 张牌(接近 100%),然后将检测阈值提高到 (70-90%)。

希望这会对您有所帮助。

【讨论】:

如何在 tensorflow 对象检测 API 中使用“忽略”类?

】如何在tensorflow对象检测API中使用“忽略”类?【英文标题】:Howtouse"ignore"classwithtensorflowobjectdetectionAPI?【发布时间】:2020-05-0307:11:08【问题描述】:我已经在自定义数据集上使用SSD(mobilenet-v1)训练了tensorflow对象检测模... 查看详情

如何在 TensorFlow 对象检测 API 中从头开始训练?

】如何在TensorFlow对象检测API中从头开始训练?【英文标题】:HowtotrainfromscratchinTensorFlowobjectdetectionAPI?【发布时间】:2018-08-1215:59:56【问题描述】:github问题2446说如果我们想从头开始训练,我们需要在model.config中评论这一行:#fi... 查看详情

如何在 iOS 中运行 Tensorflow 对象检测 API 模型?

】如何在iOS中运行Tensorflow对象检测API模型?【英文标题】:HowdoIrunaTensorflowObjectDetectionAPImodeliniOS?【发布时间】:2018-05-2016:32:18【问题描述】:我刚刚训练了一个结果令人满意的模型,并且我有freeze_inference_graph.pb。我将如何在iOS... 查看详情

在 TensorFlow 对象检测 API 中绘制验证损失

】在TensorFlow对象检测API中绘制验证损失【英文标题】:PlotvalidationlossinTensorflowObjectDetectionAPI【发布时间】:2019-03-2119:35:29【问题描述】:我正在使用Tensorflow对象检测API来检测和定位图像中的一类对象。为此,我使用了预训练的f... 查看详情

在 TensorFlow 对象检测 API 中打印类名和分数

】在TensorFlow对象检测API中打印类名和分数【英文标题】:PrintingclassnameandscoreinTensorflowObjectDetectionAPI【发布时间】:2018-05-1713:35:22【问题描述】:我正在使用Tensorflow对象检测API,一切正常,但我想打印一个格式为Objectname,Score或... 查看详情

Tensorflow 对象检测 API 需要永远安装在 Google Colab 中并且失败

】Tensorflow对象检测API需要永远安装在GoogleColab中并且失败【英文标题】:TensorflowObjectDetectionAPItakingforevertoinstallinaGoogleColabandfailing【发布时间】:2021-12-2821:15:08【问题描述】:我正在尝试在GoogleColab上安装Tensorflow对象检测API,安... 查看详情

TensorFlow对象检测API教程中获取边界框坐标

】TensorFlow对象检测API教程中获取边界框坐标【英文标题】:GettheboundingboxcoordinatesintheTensorFlowobjectdetectionAPItutorial【发布时间】:2018-08-0113:42:03【问题描述】:我是Python和Tensorflow的新手。我正在尝试从TensorflowObjectDetectionAPI运行对... 查看详情

Tensorflow 对象检测 api:如何使用 imgaug 进行增强?

】Tensorflow对象检测api:如何使用imgaug进行增强?【英文标题】:Tensorflowobjectdetectionapi:howtouseimgaugforaugmentation?【发布时间】:2020-01-1513:46:44【问题描述】:我一直在使用imgaug手动滚动增强器,因为我真的很喜欢optionsthatarenotavailab... 查看详情

如何修改 ssd mobilenet 配置以使用 tensorflow 对象检测 API 检测小对象?

】如何修改ssdmobilenet配置以使用tensorflow对象检测API检测小对象?【英文标题】:HowtomodifyssdmobilenetconfigtodetectsmallobjectsusingtensorflowobjectdetectionAPI?【发布时间】:2020-06-1715:18:47【问题描述】:我正在尝试使用ssdmobilenetv2从ipcam视频... 查看详情

如何从代码运行 tensorflow 对象检测 api (model_main_tf2)?

】如何从代码运行tensorflow对象检测api(model_main_tf2)?【英文标题】:Howtoruntensorflowobjectdetectionapi(model_main_tf2)fromcode?【发布时间】:2021-12-0702:00:12【问题描述】:我想使用tensorflow对象检测api进行训练。在命令行中我可以使用pythonmo... 查看详情

Tensorflow 对象检测 API:TensorBoard 中损坏的训练图像

】Tensorflow对象检测API:TensorBoard中损坏的训练图像【英文标题】:TensorflowObjectDetectionAPI:CorruptedtrainingimagesinTensorBoard【发布时间】:2021-02-1714:39:29【问题描述】:我在TensorFlow2中使用TensorFlow对象检测API,但在TensorBoard中显示的训... 查看详情

如何解决 Tensorflow 2 对象检测 API 中的 UnicodeError

】如何解决Tensorflow2对象检测API中的UnicodeError【英文标题】:HowtoresolveUnicodeErrorinTensorflow2ObjectDetectionAPI【发布时间】:2021-11-0422:25:23【问题描述】:我有一个问题,但是当我训练tensorflow-object-detection-API时,出现以下错误。你能... 查看详情

我如何使用 tensorflow 对象检测来仅检测人员?

】我如何使用tensorflow对象检测来仅检测人员?【英文标题】:Howcaniusetensorflowobjectdetectiontoonlydetectpersons?【发布时间】:2019-07-2004:04:37【问题描述】:我一直在尝试使用tensorflow的对象检测来尝试设置一个体面的存在检测。我正在... 查看详情

TensorFlow 对象检测 api:使用预训练模型在训练中更改类数时的分类权重初始化

】TensorFlow对象检测api:使用预训练模型在训练中更改类数时的分类权重初始化【英文标题】:TensorFlowobjectdetectionapi:classificationweightsinitializationwhenchangingnumberofclassesattrainingusingpre-trainedmodels【发布时间】:2018-08-2817:20:26【问题描... 查看详情

如何在一个会话中运行多个图 - Tensorflow API

】如何在一个会话中运行多个图-TensorflowAPI【英文标题】:HowtorunmultiplegraphsinaSession-TensorflowAPI【发布时间】:2018-03-1823:08:30【问题描述】:TensorflowAPI提供了很少的预训练模型,并允许我们使用任何数据集训练它们。我想知道如... 查看详情

使用 Tensorflow 2 对象检测 API 冻结了哪些层?

】使用Tensorflow2对象检测API冻结了哪些层?【英文标题】:WhichlayersarefrozenusingTensorflow2ObjectdetectionAPI?【发布时间】:2021-12-1816:26:52【问题描述】:如何从TensorflowModelZoo2中了解哪些层被冻结微调检测模型?我已经成功设置了Fine_tun... 查看详情

TensorFlow 对象检测 API - 对象检测 api 中的损失意味着啥?

】TensorFlow对象检测API-对象检测api中的损失意味着啥?【英文标题】:TensorFlowObjectDetectionAPI-whatdothelossesmeanintheobjectdetectionapi?TensorFlow对象检测API-对象检测api中的损失意味着什么?【发布时间】:2018-06-1503:53:48【问题描述】:以... 查看详情

如何使用 Tensorflow 2 对象检测 API 恢复微调模型以进行测试?

】如何使用Tensorflow2对象检测API恢复微调模型以进行测试?【英文标题】:Howtorestoreafine-tunedmodelwithTensorflow2ObjectDetectionAPIfortesting?【发布时间】:2021-12-1818:15:05【问题描述】:我已经成功训练(微调)并验证了来自TensorflowModelZoo2... 查看详情