# 基于Resnet-Transformer的手写数学表示式识别
**本项目仅为课程大作业,并非正式发表的科研论文,实验过程可能存在漏洞,欢迎大家通过issue或PR向我反馈。**
## 任务概述
本项目涉及的任务是手写数学表达式识别(Handwritten Mathematical Expression Recognition,HMER)。手写数学表达式识别任务的目标是对于输入的只包含手写数学表达式的图片,通过算法分析,将图片转成对应的Latex数学表达式,它属于光学字符识别(Optical Character Recognition, OCR)的一个分支,但因为其具有局部歧义性、结构复杂性等特点,难以使用常规的基于定位、拆分、识别的光学字符识别方法进行处理。
## 网络结构
![image-20230110220939450](./README.assets/image-20230110220939450.png)
## 网络参数
按下表所示的参数构建模型,使用AdamW优化器进行优化,使用MultiStepLR的动态学习率调整策略。
<img src="./README.assets/image-20230110221038666.png" alt="image-20230110221038666" style="zoom: 67%;" />
## 评价指标
本实验采用字符错误率(Character Error Rate,CER)作为评价指标,每当在表达式中发生替换、删除和增加时,都记作一次错误。
$$
CER=\frac{N_{sub} +N_{del} +N_{ins} }{N}=\frac{N_{sub}+N_{del}+N_{ins} }{N_{sub} +N_{del} +N_{cor} }
$$
## 实验环境
运行实验的硬件环境包括Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz CPU、16GB内存和NVIDIA TITAN Xp显卡,软件环境包括Ubuntu 20.04操作系统、CUDA 11.3、Python 3.8、PyTorch 1.11.0等。
## 预处理
图像预处理的主要目的是消除图像中无关的信息、恢复有用的真实信息、增强有关信息的可检测性和最大限度地简化数据。本实验对图片的预处理分为以下几个步骤:
(1) 图片灰度化。
(2) 裁剪公式部分。通过检测像素灰度值,找到公式的边界,从而将公式裁剪出来。
(3) 填充。对裁剪出来的公式上下左右各填充8个白像素。
**百度网盘中提供的数据集为已经完成预处理的数据集。**
## 训练过程与结果
设置batch size为32,在上述实验环境下训练30轮,共70410步。得到如下图所示的训练集损失函数值曲线和验证集字符错误率曲线。
<img src="./README.assets/image-20230110221245528.png" alt="image-20230110221245528" style="zoom:67%;" />
<img src="./README.assets/image-20230110221250300.png" alt="image-20230110221250300" style="zoom:67%;" />
下表展示了模型在验证集和测试集上的表现
<img src="./README.assets/image-20230110221314273.png" alt="image-20230110221314273" style="zoom:67%;" />
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
人工智能(Artificial Intelligence,简称AI)是一种前沿的计算机科学技术,其核心目标是通过模拟、延伸和拓展人类智能来构建智能机器与系统。它融合了计算机科学、数学、统计学、心理学、神经科学等多个学科的知识,并利用深度学习、机器学习等算法,使计算机能够从数据中学习、理解和推断。 在实际应用中,人工智能体现在诸多领域:如机器人技术,其中机器人不仅能执行预设任务,还能通过感知环境自主决策;语言识别和语音助手技术,如Siri或小爱同学,它们能理解并回应用户的语音指令;图像识别技术,在安防监控、自动驾驶等领域实现对视觉信息的精准分析;自然语言处理技术,应用于搜索引擎、智能客服及社交媒体的情感分析等。 此外,专家系统能够在特定领域提供专业级建议,物联网中的智能设备借助AI优化资源分配与操作效率。人工智能的发展不断改变着我们的生活方式,从工作场景到日常生活,智能化正以前所未有的方式提升生产力、便捷性和生活质量,同时也在挑战伦理边界与社会规则,促使我们重新审视人与技术的关系及其长远影响。
资源推荐
资源详情
资源评论
收起资源包目录
《人工智能原理》课程设计(基于Resnet-Transformer的手写数学表示式识别).zip (18个子文件)
SJT-code
utils.py 2KB
metrics.py 1KB
tokenlizer.py 3KB
data
下载地址.txt 169B
predict.py 2KB
resnet_transformer.py 7KB
dataset.py 1KB
dataloader.py 5KB
positional_encoding.py 3KB
README.assets
image-20230110221250300.png 20KB
image-20230110221314273.png 20KB
image-20230110220939450.png 83KB
image-20230110221245528.png 44KB
image-20230110221038666.png 54KB
requirements.txt 208B
train.py 1KB
README.md 3KB
lit_model.py 4KB
共 18 条
- 1
资源评论
JJJ69
- 粉丝: 6222
- 资源: 5780
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功