【问题标题】:Identify Parts of the car based on arrow markings根据箭头标记识别汽车的零件
【发布时间】:2020-09-05 15:34:35
【问题描述】:

Please excuse me for not posting any code, as I don't think I have reached far enough to be relevant for my question.

我正在研究一种解决方案,该解决方案需要识别客户图纸所指向的车辆部件,并提取文本及其引用的部件,如下面的示例所示。

我对 ML 或 AI 技术非常陌生,因此我一直在研究使用 Azure customvision.ai,它允许我使用一堆图像和对象识别来训练模型,并且具有很好的 REST API 可以使用。这有点工作,因为我能够传递图像并且它能够识别该图像上可见的汽车部分。

但是我无法理解如何识别9. BXCU12 实际上指向Bonnet

有人可以通过指出任何示例或合适的解决方法来帮助我解决这个问题吗?

【问题讨论】:

  • 您能否详细说明“但是我无法理解如何识别 9. BXCU12 实际上是指向 Bonnet。”?
  • @Ash:图像上会有一些随机文本,箭头指向汽车的一部分。如上图所示,我需要读取文本的值和箭头指向的部分。通过对象检测进行训练后,我能够识别屏幕上的文本以及汽车的部分,但看不到如何根据箭头将文本与汽车的部分联系起来。
  • 有人对如何在此处进行操作有任何建议吗?

标签: opencv computer-vision azure-cognitive-services microsoft-custom-vision


【解决方案1】:

如果我理解正确,您已经可以从识别网络和文本中识别出部分,并且它们之间的链接由图像中您不知道如何定位的箭头给出。所以,这里剩下的问题是检测箭头及其端点。

我现在能想到两种解决方案:

1) 使用模板匹配来识别您的箭头。不过,您的问题(从您的示例图像中)似乎是您的箭头具有相同的比例但具有不同的长度。所以,我建议只使用箭头的头部 + 一个非常短的尾巴作为模板。然后你可以把这个小模板旋转N次,得到N个模板,然后使用opencv provides in term of template matching之类的东西。

2) 训练一个小型卷积神经网络来识别箭头。您只想识别箭头,因此创建一个包含不同比例的旋转箭头的小型数据集并在其上训练网络相当容易。请注意,您可能应该能够将此网络作为一个额外的、非常浅的头添加到您的识别网络中(尽管您需要联合改进),因此开销将是最小的。

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-01
    相关资源
    最近更新 更多