iOS平台上的方程式和公式的OCR(Xcode)

Ben*_*her 7 iphone math xcode equation tesseract

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

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

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

Rob*_*Rob 1

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

P(A|B) = P(B|A)P(A)/P(B)
Run Code Online (Sandbox Code Playgroud)

即使它成功地识别了每个字符,您也必须让它将方程中的特征修补到方程组中。更不用说,这只是贝叶斯规则的一种表示。还有其他一些使用 Sigma 表示法(拉普拉斯的变体),还有一些使用对数,因此它们不必使用特殊情况的 0。

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

  1. 首先,您必须将方程视为分类,并且必须用一组特征来描述它们,例如西格玛表示法的存在或对数的应用。
  2. 然后,系统将通过显示您希望其识别的所有方程进行训练,大概每个方程都有几个变体(如上所述)。那么这些分类就会有特征分布。
  3. 最后,当显示一个新方程时,系统必须找到每个特征,然后循环遍历分类并计算方程与给定分类匹配的总体概率。

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

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