GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

2020-06-07 03:16:21编辑:

GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

本文经 AI 新媒体量子位(公众号 ID:QbitAI)授权转载,转载请联繫出处

作者:量子位/ 晓查 铜灵

一位叫 Roger  的中国学霸小哥的拍照做题程式 mathAI  一下子火了,这个 AI,堪称数学解题神器。

输入一张包含手写数学题的图片,AI  就能辨识出输入的数学公式,然后给出计算结果。

不仅加减乘除基本运算,就连高等数学中的微积分都不在话下。

就像下面这样:

GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

还在苦苦纠结高数作业如何求解?还在东奔西走的找学霸借作业?手握 mathAI,不就是手握了新时代的解题利器吗?

此项目程式码已半开源

短短几天时间,这个项目在微博就收穫了上百次转发。看到画风如此新奇,似乎还能开啓无限可能应用,网友们纷纷召唤自己的印象笔记(中国版 Evernote)小助手收藏,大呼:以后教数学就是它了。

GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

作者表示,这个项目已经是半开源状态了,目前开源的部分可以辨识计算加减乘除简单运算。

如果想要辨识更加複杂的表达式,可以参考数学公式辨识的论文自己进行扩展。

具体来看看这个解题神器。

深度学习辨识数学题,正确率逼近 80%

全能型选手 mathAI  是怎幺实现这个功能的?

作者在 Github  中介绍说,整个程式使用 python  实现,具体处理流程包括:图像预处理 → 字符辨识 → 数学公式辨识 → 数学公式语义理解 → 结果输出。

整个系统的处理流程如下:

GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

图片预处理主要以 OpenCV  作为主要工具,将图片中的字符单独切割出来,避免无关变量对字符辨识的影响。

GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

随后,国际数学公式辨识比赛数据集(CROHME)对通过卷积神经网络进行训练。

此外,还进行结构分析,对字符的空间关係进行判定。比如一个字符的上标和下标,含义自然不一样。

GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

在语义分析阶段,就需要汇集上面得到的信息,判断运算该如何进行了。节点属性传递过程如下图所示:

GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

作者在用 160  道手写测试题进行了测试:

GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

结果表明,平均字符辨识率达到了 96.23%,且系统做题的平均正确率达到了 79.38%。

GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

手把手教学怎幺用

来,实际上手操作下。

作者给出两种使用模式:网页模式和介面模式(Interface)。介面模式比较直观,只需打开网页上传图片即可自动给出解题结果。

下面以介面模式为例介绍一下 mathAI  的安装使用方法。

首先需要安装 flask、虚拟环境、科学数据库 numpy、sympy  等,它们都可以用 pip  安装。

将项目的 lib.zip  文件解压到系统目录的 venv  文件夹下。(lib.zip  可以回覆 lib  获取)

配置置好运行环境后,用 PyCharm  打开下载好的项目,在载入过程中,PyCharm  会自动安装好项目依赖的软体数据库。

使用命令行进入项目所在目录,并啓动虚拟环境:

将 FLASK_ENV  环境变量设置为啓用开发模式:

然后使用指令运行 flask  网站框架 :

打开浏览器,在地址中输入 127.0.0.1:5000,即可打开项目网页。在网页中输入一张包含数学公式的图片,就好返回运算结果。

GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

目前 GitHub  项目页上的程式码只支持加减乘除这样的简单运算。

中国神人 Roger 的其他 GitHub 发明

做出这个自动求解系统的,还是一位中国少年。

这位 GitHub ID  为 Roger,本名罗文杰,是中山大学数据科学与电脑学院的研一在读硕士生,主要攻读电脑视觉方向。

不仅这个解题神器,在 Roger 的 GitHub  主页上还能看到其此前参与的很多有趣研究。

比如这个基于帖子的校园互助交友平台 LiBond。用户可以在里面发布任务,然后使用虚拟币荔枝进行交易。

GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

罗同学的设想是,有空闲时间的同学可以在此平台上帮助他人,然后结交好朋友,荔枝币还能用来兑换喜欢的物品。

GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

再比如,一个基于 C++  的无禁手五子棋 AI,可以通过 openGL  实现图形界面。

GitHub 最强 AI 数学解题神器!拍照上传秒给答案,连

在这个项目中,罗同学使用了最经典的极大极小博弈树、alpha-beta  剪枝、置换表等算法,还附上了核心程式码。

确认过眼神,是学霸无疑了。

你可能感兴趣

GitHub 遭骇客攻击!勒索交出比特币赎金,不然就公开你的私有程式码

冲上 GitHub 热门第四名!Python 机器学习最强教学资源,新手工程师快存起来

最新「数据科学」自学清单:六个月无师自通,菜鸟新手赶快存起来

上一篇: 下一篇:

相关阅读