【问题标题】:Machine learning - how to infer the colour of a car from a car image机器学习——如何从汽车图像中推断出汽车的颜色
【发布时间】:2018-06-25 09:58:53
【问题描述】:

我想训练一个模型从汽车图像中推断出汽车的颜色。假设对于颜色分类,我将使用 k 近邻算法。

我们也假设:

1) 我有 1000 张带标签的图像

2) 我有 100 张图片用于测试

但是,假设我设法编写了一个源代码,它可以检测汽车图像中的汽车并检索其颜色。

此源代码是否对训练模型有用,或者由于我(手动)标记了训练图像,所以它不能以任何基本方式使用?

【问题讨论】:

  • 你写的源代码可以检测汽车图像中的汽车是什么意思?源代码是否用于创建训练集?
  • 是的,源代码也用于创建训练集,但我什至可以手动创建 1000 张图像。在这方面,我的问题可以改写为:训练模型根据汽车颜色对汽车进行分类的目的是什么,因为我可以通过简单的图像处理来检索每辆车的颜色?
  • 换句话说,一般来说,因为在许多情况下,为了创建训练数据集,您必须编写一个对图像进行分类/标记的源代码,那么为什么不简单地使用这个源代码而不是训练一个模型.训练模型为我的初始源代码分类/标签添加了什么?

标签: machine-learning supervised-learning


【解决方案1】:

我理解您的问题的方式是,当我们可以使用图像处理技术本身解决问题时,为什么我们需要创建机器学习模型?

  • 因此,如果目标过于简单,例如在图像中查找某些对象的颜色、在图像中查找对旋转和缩放、边缘检测等不变的模板,则始终建议使用图像处理库。

  • 但是当您的目标变得复杂时,例如识别图像中的各种对象、定位对象、基于像素的分割、视频分割等。您将需要使用深度学习模型。

在您的情况下,您需要检测汽车并找到它的颜色。

让我们把它分成两部分:

1) 汽车检测与定位:

  • 为了检测物体(汽车),您需要注意以下挑战:

    • 视点变化
    • 比例变化
    • 变形
    • 遮挡
    • 照明条件
    • 背景杂乱
    • 类内变异

如果您的测试用例没有面临这些挑战,那么您可以很好地使用图像处理库。否则,它会变成一个复杂的过程。因此,解决此问题的唯一方法是使用不同的此类图像训练模型。

2) 颜色检测

  • 为此,最好使用图像处理方法本身。因为为了进行训练,您需要有大量每种颜色的图像,您更有可能获得。

希望这会有所帮助!

【讨论】:

  • 很好,这正是我的问题!也许我的另一个问题是:如果我有一个图像处理算法可以在 80% 的情况下检测和定位汽车,那么我可以在此基础上使用机器学习算法将其增加到例如90% 或基本上我会从头开始使用机器学习算法而不使用我的图像处理算法?
  • 换句话说,图像处理和机器学习算法可以结合起来用于相同的目的吗(例如汽车的检测和定位......而不仅仅是用于检测和定位的机器学习算法而用于颜色检测的图像处理算法)?
  • 是的,当然可以合并。您必须使用以下标签创建训练集:X_start、Y_start、宽度、高度、颜色。
  • 确保每种颜色都有大量的训练样本。例如:如果红色、绿色、蓝色是颜色,那么您必须有大量包含属于所有三种颜色的汽车的训练图像
  • 好的,很酷。因此,如果我理解正确,我将使用我的图像处理技术为 X_start、Y_start、宽度、高度、颜色指定一些(非常准确,例如 80%)值,然后我将使用机器学习算法来更接近我想要的这些值的输出(例如 90%)。
猜你喜欢
  • 2018-10-13
  • 2020-09-09
  • 1970-01-01
  • 2018-10-31
  • 1970-01-01
  • 1970-01-01
  • 2023-01-28
  • 2013-03-29
  • 2021-12-08
相关资源
最近更新 更多