【问题标题】:object detection: is object in the photo, python物体检测:是照片中的物体,python
【发布时间】:2020-11-02 07:26:18
【问题描述】:

我正在尝试检测照片中的植物,我已经用植物标记了照片(带有labelImg),但我不明白如何只用背景照片训练模型,这样当这里没有植物时模型可以告诉我。 我需要将标签框设置为图像的大小吗?

附言新来的毫升所以不要粗鲁,拜托)

【问题讨论】:

  • 请阅读ml标签的描述。
  • 您的任务仅仅是检测照片中是否有植物吗?在这种情况下,您可能不需要这样的标签。当您想要检测图像中的多个对象时,这种标记很有用。还有你用什么算法来完成这个任务?
  • 我认为您混淆了“检测”和“分类”任务。后者更容易训练。
  • 如果有植物,我想稍后裁剪这个图像,如果有两个或更多的植物将它们裁剪成单独的图像,所以我需要预测这个框,尽管它是一个检测问题。但我不知道如何判断照片中什么时候没有植物。

标签: python pytorch object-detection


【解决方案1】:

我最近遇到了一个问题,我的所有训练图像都放大了对象。这意味着训练图像的背景信息都非常少。由于对象检测模型使用边界框外的空间作为这些对象的反例,这意味着该模型没有背景知识。所以模型知道什么是对象,但不知道它们是什么不是

所以我不同意@Rika,因为有时背景图片很有用。在我的示例中,它可以引入背景图像。

正如我已经说过的,对象检测模型使用图像中的未标记空间作为某个对象的反例。因此,您必须保存没有背景图像边界框的注释文件。在你这里使用的软件(labelImg)中,你可以使用verify image来表示它保存了没有框的图像的注释文件。所以它保存了一个文件,说它应该包含在训练中,但没有边界框信息。该模型将此作为反例。

【讨论】:

  • +1 分享您的经验。是的,在这种情况下,它确实可能是真的。但是,根据她在这里演示的内容,这不是她的问题,她不需要做这样的事情,并且她的检测应该会顺利进行,如您所见,图像包含相当多的背景。跨度>
【解决方案2】:

在您的情况下,您无需在这方面做任何事情。只需获取您创建的检测数据并使用它训练您的网络。在进行测试时,您通常会设置边界框准确度的阈值,因为您可能会得到很多这样的边界框,因此您只需要具有最高置信度的边界框。

然后您获得/显示具有最高 bbox 精度的那些,然后您就可以得到检测结果,您可以做任何您想做的事情,例如使用您获得的边界框坐标裁剪它们。

如果没有植物,您的网络可能会创建精度低于您的阈值(非常低的置信度)的 bbox,然后您就忽略它们。

【讨论】:

    猜你喜欢
    • 2016-01-18
    • 1970-01-01
    • 2013-12-15
    • 2020-12-23
    • 1970-01-01
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多