【问题标题】:What is the best algorithm and the best method to collect data to recognize hand-drawn geometrical figures?收集数据以识别手绘几何图形的最佳算法和最佳方法是什么?
【发布时间】:2012-02-29 07:41:57
【问题描述】:

我需要识别用户用手指在设备屏幕上绘制的一些元素。首先说它们是圆形,水平线,对角线,盒子,还有一些更复杂的,比如闪电符号。

我不仅需要说出更可能是什么元素,而且我还需要识别元素是否绘制错误,所以它不是我识别的元素之一。

我想知道哪种算法最适合它,以及为它收集数据的最佳方法是什么。

目前我使用的是 OpenCV,算法是支持向量机。我通过计算从中心坐标到 10 个图像点的距离来收集数据。效果不好。

【问题讨论】:

  • 俗称“手势识别”

标签: algorithm image-processing opencv computer-vision


【解决方案1】:

听起来您需要提取一个特征向量来描述您的“手势”。理想情况下,特征必须是比例和平移不变的。也就是说:无论手势的大小或角度如何,它们都能区分手势。

如果动作本身很重要,您可能会考虑使用 Velocity Moments 作为要使用的功能。

或者,如果您只处理完成的手势形状,您可以使用OpenCV 提供的基于图像的方法。您可能对基于 Hu Moments 的 matchShapes() 方法特别感兴趣。

如果您已经在使用 SVM,那么这就是您的监督分类器,您可以将提取的每个手势(带有标签)的特征向量输入其中以对其进行训练。除了分类器的选择(PCA、朴素贝叶斯、ANN 等)之外,问题的关键在于训练数据的质量。

当我过去做过类似的事情时,我只是使用一个小脚本收集训练数据来捕获鼠标的运动(当按住按钮时)。我似乎记得当时使用 UNIX 命令 'xev' 来捕获窗口鼠标事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多