0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

有趣的mathAI项目,手写拍照自动能解高数题还不快试试?

电子工程师 来源:lq 2019-05-19 10:16 次阅读

让我们不妨先来盘点下从 2016 年起过去三年间 Google I/O 开发者大会亮相的重磅 AI 产品

深度好玩!文章开始红色石头先在草稿纸上写一道高数微积分题目给大家看看如何求解:

怎么算呢?趁着高数知识还没忘完,赶紧拿起纸演算起来。大部分人是这么做的。但是如果现在跟你说,可以用 AI 来做,你信吗?

现在就有这样一个 AI 程序,你只要轻松上传上面这张手写算术题,程序就能帮你自动分析,写出解题步骤和答案!你信吗?就像下面一样:

Amazing!有没有!今天就给大家介绍这个有趣的 mathAI 项目。它是一个拍照做题程序。输入一张包含数学计算题的图片,就会自动输出识别出的数学计算式以及计算结果。

项目介绍

该项目名为:mathAI,是一个自动计算手写公式的程序。作者是一名中山大学的学霸硕士小哥 Roujack,他的研究方向就是计算机视觉

整个程序使用 Python 实现,具体处理流程包括了图像预处理、字符识别、数学公式识别、数学公式语义理解、结果输出。

整个系统流程图如下:

1. 预处理

首先,需要对手写图片进行预处理。图片预处理以 OpenCV 作为主要工具。预处理的主要目的是把图片中的字符切割出来,同时避免无关变量对字符识别的影响。

预处理主要包括:灰度化、二值化、高斯滤波、字符切割与细化。

对图片预处理的效果如下图所示:

2. 字符识别

预处理之后,下一步就是对字符进行识别。选择的模型是卷积神经网络 LeNet5,因为不需要提取字符特征值,而且图像识别精确度高。

训练网络选用的数据集是国际数学公式识别比赛数据集(CROHME)。CROHME 数据集具有海量字符集图片,而且图片类型与实际输入非常相似。每种字符有 400 张图片,其中 60% 的图片用于训练,40% 的图片用于测试。

接下来就是结构分析和语义分析。

总的来说,对于数学公式的识别,主要是将识别出的独立的字符组织成计算机能够理解的数学公式(这里的数学公式就是纯字符的可求解的数学计算题)。大概的方法是使用编译原理的算符优先法和递归下降法进行实现。 然后根据属性文法的值传递思想,将数学公式的值计算出来。最后使用 Python 的 Matplotlib 库把计算过程和答案打印出来。

实验结果

模型训练完成之后,作者验证了字符识别的准确率:

然后,作者对 160 道测试题进行测试,系统做对 127 道题目,正确率为 79.38%。可以说相当不错了!

项目开源

真正令人激动是作者已将这个项目的源码发布在了 GitHub 上,供大家查看。开源地址为:

https://github.com/Roujack/mathAI

GitHub 上公开了系统代码。

其实,这是一个半开源的项目,目前上传的版本只能处理较简单的一维算术表达式(如果想要识别更加复杂的表达式,可以参考数学公式识别的论文)。可以参考的代码是前面字符识别部分以及整个算法处理框架。

例如图像预处理代码:

例如字符识别代码:

运行程序

要运行这个系统分为两种,一种是网页模式,一种是接口模式。

1. 网页模式

在项目的网页上,输入图片,即可获得处理结果。

2. 接口模式

项目有一个 solver 的 Python package。里面的 solve 方法封装了整个系统。其功能是输入一张图片路径,将输出计算题识别过程和计算结果。

作者还专门录制了一个视频,讲解如何在网页模式上运行程序并验证正确率。

优点与缺点

优点:这是一整套拍照做题的算法框架,同时能够处理多种多样的计算题,目前市面上还没有看到实现。OCR 技术如此成熟的今天字符识别已经不算有挑战的东西了。

缺点:字符空间关系判断只用了人类启发式规则,图像预处理不够鲁棒,数学公式的结构识别算法不够完美(可以考虑使用二维文法来做)。系统还有很大的提升空间。

总的来说,这个程序相对比较简单,能够实现一般的手写图片微积分高数题,较复杂的还不能实现。但是该项目确实是一个有意思的尝试,相信作者也会不断优化。有兴趣的可以看一下,试一试你手写的算术题,看看准确率如何。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4560

    浏览量

    98620
  • AI
    AI
    +关注

    关注

    87

    文章

    26322

    浏览量

    263932
  • python
    +关注

    关注

    51

    文章

    4666

    浏览量

    83436

原文标题:开源!mathAI手写拍照自动能解高数题,还不快试试?

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    小伙伴们,还在为下不到年鉴而苦恼吗?快来试试这个!

    小伙伴们,还在为下不到年鉴而苦恼吗?快来试试这个!夏泽网(www.xiaze.com)收录了很多年鉴,非常齐全。赶快试试吧。
    发表于 10-13 16:59

    【GoKit申请】手写绘图板

    ` 项目名:手写绘图板功能实现:通过普通的万用表笔在覆铜板上的滑动,输出信号到单片机,单片机控制在液晶显示屏上显示,不断提高分辨率。 项目开发周期:3个月 以往项目开发或DIY经验:基
    发表于 05-19 20:31

    通AR如何实现拍照功能?

    通AR如何实现拍照功能?
    发表于 09-26 16:25

    基于RBM实现手写数字识别准确率

    DL之RBM:基于RBM实现手写数字识别准确率
    发表于 12-28 10:19

    ov7670和wifi模块拍照自动上传的项目两部分接线冲突严重

    小弟最近做一个拍照后然后通过wifi自动上传到电脑指定位置的项目。。mini版的两部分接线冲突严重。论坛各位大牛有没有做过类似项目的 。。。求分享。一起交流交流
    发表于 01-15 06:05

    2021年电工(中级)考试试

    题库来源:安全生产模拟考试一点通公众号小程序2021年电工(中级)多少分及格及电工(中级)考试试卷,包含电工(中级)多少分及格答案和解析及电工(中级)考试试卷练习。由安全生产模拟考试一点通公众号结合
    发表于 09-02 06:53

    如何实现光伏发电光照自动跟踪系统总体方案设计?

    如何实现光伏发电光照自动跟踪系统总体方案设计?
    发表于 10-25 06:10

    如何去实现基于单片机温湿度光照自动窗帘系统设计

    基于单片机温湿度光照自动窗帘系统设计,通过检测温湿度光照来自动控制窗帘开关,非常强大的一个设计,包含仿真电路图、程序等资料。资料主页下载。链接:复制这段内容后打开百度网盘手机App,操作更方便
    发表于 11-19 07:12

    怎样去设计一个基于STM32的手写机器人

    starger District 46实验室 3月25日看厌了圆形的钟表,数字显示又太生硬,相信很多人和我一样,想换一个与众不同的方式看时间,小贱钟就是这样一个有趣的东东,它可以用手写时间喔1.首先
    发表于 01-13 07:11

    一个有趣的通用电源项目

    描述通用电源(Aka Kasyan)这是一个有趣的通用电源项目,不仅可以用作便携式电动工具的充电器。
    发表于 06-20 09:16

    iPhone双摄还不够完美_试试这个「开挂」的

    随着手机相机技术的不断提升,人们如今在手机上的拍照体验相比过去有了更进一步的飞跃,它不仅代替了曾经的数码相机,也催生出了无数拍照辅助的有趣配件,让很多人创意得到更大发挥。尽管如此,可还是有些不太如意
    发表于 03-20 09:56 506次阅读

    自动控制原理考试试卷及答案30套

    自动控制原理考试试卷及答案30套
    发表于 03-09 11:05 22次下载

    基于单片机温湿度光照自动窗帘系统设计(毕业设计资料)

    基于单片机温湿度光照自动窗帘系统设计(毕业设计资料)
    发表于 11-12 18:21 28次下载
    基于单片机温湿度光<b class='flag-5'>照自动</b>窗帘系统设计(毕业设计资料)

    Mycroft Mark 1开源语音平台的有趣项目

    电子发烧友网站提供《Mycroft Mark 1开源语音平台的有趣项目.zip》资料免费下载
    发表于 12-14 09:46 0次下载
    Mycroft Mark 1开源语音平台的<b class='flag-5'>有趣</b><b class='flag-5'>项目</b>

    分享一个有趣的LED装饰项目

    在本文中,我们将讨论一个如此有趣的LED装饰项目,该项目将模仿旋转的照明脉轮灯。这些可以在流行的上帝偶像的冠冕后面看到,如甘尼萨勋爵、赛巴巴,以及毗湿奴神的手指周围。
    的头像 发表于 06-20 17:24 275次阅读
    分享一个<b class='flag-5'>有趣</b>的LED装饰<b class='flag-5'>项目</b>