opencv - 根据箭头标记识别汽车的零件
问题描述
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
.
有人可以通过指出任何示例或合适的解决方案来帮助我解决这个问题吗?
解决方案
如果我理解正确,您已经可以从识别网络和文本中识别部分,并且它们之间的链接由图像中的箭头给出,您不知道如何定位。因此,这里剩下的问题是检测箭头及其端点。
我现在可以想到两种解决方案:
1)使用模板匹配来识别你的箭头。不过,您的问题(从您的示例图像中)似乎是您的箭头具有相同的比例但具有不同的长度。所以,我建议只使用箭头的头部 + 一个非常短的尾巴作为模板。然后您可以将这个小模板旋转 N 次,获得 N 个模板并使用类似于opencv 在模板匹配方面提供的东西。
2) 训练一个小型卷积神经网络来识别箭头。您只想识别箭头,因此创建一个包含不同比例的旋转箭头的小型数据集并在其上训练网络相当容易。请注意,您可能应该能够将此网络作为一个额外的、非常浅的头添加到您的识别网络中(尽管您需要共同改进),因此开销将是最小的。
希望有帮助。
推荐阅读
- asp.net-core - ASP.NET Core Azure AD 质询身份验证属性 - 设置 IsPersitent 和 ExpiresUtc
- html - 如何阻止 flex 从拉伸到 100% 宽度?
- html - 来自 json url 的离子显示图像
- css - -webkit-text-stroke chrome 多行
- gnuradio - 如何使用 GNURadio 传输 AIS 消息
- c# - UWP:如何确保按顺序处理异步事件
- python - 基于ID的累积SUM
- reactjs - 如何将 HOC 与 redux compose 和 Typescript 一起使用
- c# - Find items that are similar amongst them in List in C# with nested For loops and Linq
- javascript - Javascript 中的“异步”实际上创建了一个异步函数吗?