用基本形状匹配绘图

我有一个保存为这种格式的Python坐标列表:[(34,55),(44,66)....]。这个列表表示屏幕上手绘的一条线。现在我需要检查这条线/形状是否与预先保存的一些基本形状列表(如正方形、圆形、三角形等)匹配。(基本上我需要识别用户的手势。)请建议一些机器学习技术来实现这一点。如果这是重复的问题,请提供链接。(我更喜欢Python解决方案。)

附注:用户输入的形状来自摄像头/视频。这是通过OpenCV跟踪的对象所经过的路径。现在我需要通过在摄像头前挥动对象来识别用户绘制的形状。


回答:

这听起来与我在本科论文中做的关于“在线识别手写数学符号”非常相似。

你可以用神经网络来识别这些模式。插值线条,将线上的点标准化到固定数量,以(x,y)坐标作为输入特征,以形状类型作为输出节点(一个节点代表圆形,一个节点代表三角形,…)。

你可以用TensorFlow创建这样的网络。这里是我对TensorFlow的两点看法

动态时间规整

这是一种模式匹配方法。请参阅我的本科论文或维基百科

机器学习的替代方案

如果你想要更简单的方法,并且只有很少的类别(例如< 30),那么你可能也可以手工设计一个算法。我建议查看Douglas-Peucker算法来找到最重要的点。我在本科论文中描述过它。当你访问这个交互式预处理页面时,你可以对这个算法有一个感觉(你可以在write-math.com上绘制一些东西,点击画布下方的“绘图”,点击“预处理”,通过勾选复选框来应用它)

另见

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中创建了一个多类分类项目。该项目可以对…

发表回复

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