如何在多标签图像训练中使用边界框?

我正在从事图像分类机器学习的工作,并成功完成了几个项目。所有项目中的图像都只属于一个类别。现在我想尝试每张图像具有多个标签的图像。我读到我需要在图像周围绘制框(边界框)进行训练。我的问题是

  1. 我是否需要将这些区域裁剪成单个图像,并像以前一样用于训练?
    1. 绘制的框仅用于裁剪吗?
    2. 还是我们真的要将原始图像和框坐标(左上角[X, Y],宽度和高度)输入到训练中?

任何相关的教程或材料都将不胜感激。


回答:

基本上,你需要在图像中检测属于不同类别的各种对象。这就是对象检测发挥作用的地方。

对象检测尝试为图像中的各种对象分类标签,并预测边界框的位置。

有许多对象检测算法。如果你是TensorFlow的熟练用户,你可以直接使用TensorFlow对象检测API。你可以选择所需的架构,并将注释与图像一起输入。

要标注图像(在框周围绘制边界框并单独存储它们),你可以使用LabelImg工具。

你可以参考这些博客:

  1. 创建你自己的对象检测器
  2. 基本对象检测算法的逐步介绍

你不必训练一个全新的对象检测器,可以使用现成的预训练对象检测器。TensorFlow对象检测模型可以分类80个对象。如果你需要分类的对象包含在这些对象中,那么你就得到了一个现成的模型。该模型会在你感兴趣的对象周围绘制一个边界框。

你可以根据需要裁剪这部分图像,并在其上构建分类器。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注