7

我目前正在开发一个应用程序,它使用支持 iOS 的设备相机来识别照片中的方程式,然后将这些方程式与库或数据库中的正确方程式进行匹配——基本上是一个方程式扫描仪。例如,您可以扫描不确定性原理或薛定谔方程的图像,iOS 设备将能够告知用户其名称和某些反馈。

我想知道如何使用 Xcode 来实现这一点,我正在考虑使用诸如 Tesseract OCR 或 OpenCV 之类的开源框架,但我不确定如何将这些应用于方程式。

任何帮助将不胜感激。谢谢。

4

1 回答 1

1

这就是为什么这是超级雄心勃勃的原因。OCR 所做的基本上是获取一组有限的点,并尝试将其与一个非常小的集合中的多个成员中的一个进行匹配。你所说的更多是在成语而不是字符层面。例如,如果我将贝叶斯规则表示为一个等式,我有类似的东西:

P(A|B) = P(B|A)P(A)/P(B)

即使它成功识别了这些字符中的每一个,您也必须拥有它,然后将方程中的特征修补为方程族。更不用说,这只是贝叶斯法则的一种表现形式。还有其他使用 Sigma 表示法(LaPlace 的变体),有些使用日志,因此它们不必使用特殊情况 0。

顺便说一句,这可以用贝叶斯来完成。以下是对此的一些想法:

  1. 首先,您必须将方程视为分类,并且必须根据一组特征来描述它们,例如,Sigma 符号的存在或日志的应用。
  2. 然后,系统将通过显示您希望它识别的所有方程式进行训练,大概每个方程式的几个变体(如上)。然后这些分类将具有特征分布。
  3. 最后,当显示一个新方程时,系统必须找到这些特征中的每一个,然后遍历分类并计算方程与给定分类匹配的总体概率。

这就是 90% 的垃圾邮件引擎是如何完成的,但在那里,它们只有两种分类:垃圾邮件和非垃圾邮件,并且特征表示非常简单:只是不同文档类型中单词出现的比率。

有趣的问题,肯定没有简单的答案。

于 2013-01-20T00:15:05.057 回答