|
|
51CTO旗下网站
|
|
移动端

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

作者:铜灵 晓查来源:量子位|2019-05-28 10:27

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

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

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

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

就像下面这样:

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

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

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

实现过程

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

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

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

上手实操

来,实际上手操作下。

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

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

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

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

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

中国少年

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

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

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

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了

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

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

传送门

最后,附上神器的Github地址:

https://github.com/Roujack/mathAI

里面还附有Demo使用的word、ppt和视频教程~

【编辑推荐】

  1. 国内十大技术突破盘点,我们也有世界领先的工艺!
  2. 阿里面试,我挂在了第四轮……
  3. 那些被开发者所青睐的浏览器扩展插件
  4. 五月GitHub最热机器学习项目都在这里了
  5. 外媒揭秘Facebook内容清理工作:累死AI都完不成的任务
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

Spring Boot 爬虫搜索轻松游

Spring Boot 爬虫搜索轻松游

全栈式开发之旅
共4章 | 美码师

55人订阅学习

Linux性能调优攻略

Linux性能调优攻略

性能调优规范
共15章 | 南非蚂蚁

187人订阅学习

VMware vSphere虚拟化常见故障

VMware vSphere虚拟化常见故障

搞定vSphere虚拟化
共18章 | 王春海

71人订阅学习

读 书 +更多

超级网管员——网络安全

本书全面深入地介绍网络安全的配置与实现技术,包括系统管理、用户账户、病毒防御、灾难恢复、文件备份、安全策略、注册表等服务器安全,用...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客