论文阅读和分析:Hybrid Mathematical Symbol Recognition using Support Vector Machines
HMER论文系列
1、论文阅读和分析:When Counting Meets HMER Counting-Aware Network for HMER_KPer_Yang的博客-CSDN博客
2、论文阅读和分析:Syntax-Aware Network for Handwritten Mathematical Expression Recognition_KPer_Yang的博客-CSDN博客
3、论文阅读和分析:A Tree-Structured Decoder for Image-to-Markup Generation_KPer_Yang的博客-CSDN博客
4、 论文阅读和分析:Watch, attend and parse An end-to-end neural network based approach to HMER_KPer_Yang的博客-CSDN博客
5、 论文阅读和分析:Multi-Scale Attention with Dense Encoder for Handwritten Mathematical Expression Recognition_KPer_Yang的博客-CSDN博客
6、 论文阅读和分析:Mathematical formula recognition using graph grammar_KPer_Yang的博客-CSDN博客
7、 论文阅读和分析:Hybrid Mathematical Symbol Recognition using Support Vector Machines_KPer_Yang的博客-CSDN博客
8、论文阅读和分析:HMM-BASED HANDWRITTEN SYMBOL RECOGNITION USING ON-LINE AND OFF-LINE FEATURES_KPer_Yang的博客-CSDN博客
主要贡献:
1、提出了一种基于支持向量机的混合识别系统,该系统同时使用在线和离线信息进行分类。
2、并行运行的两个基于支持向量机的多类分类器的概率输出通过加权和进行组合。实验结果表明,赋予在线信息稍高的权重会产生更好的结果。混合系统在单独使用时的整体错误率低于在线和离线识别系统。
复习SVM
下面所说的,在libsvm都有实现
SVMs基于两个观点:VC维度和最小化结构风险。
在VC理论中,最常用的概念为VC维(VC dimension)。VC维度(或Vapnik-Chervonenkis维度)是衡量可以通过统计分类算法学习的函数空间的容量(复杂度,表现力,丰富度或灵活性)的度量。它被定义为算法可以破碎(shatter)的最大点集的基数,在这里破碎(shatter)意为若对于一个假设空间H,如果存在m个数据样本能够被假设空间H中的函数按所有可能的2^h种形式分开,则称假设空间H能够把m个数据样本破碎(shatter)。在二维平面上的简单理解就是可以使得线性划分数据集所有点类别的最小直线数目。
SVMs遇到线性不可分的情况下,理论上在一个更高的维度空间可以线性可分,相当于给一个非线性决策平面在原来的特征空间。可以表示成:
f(x)=∑iαiyiK(x,xi)+bf(x)=\sum_i\alpha_iy_i K(x,x_i)+b f(x)=i∑αiyiK(x,xi)+b
yiy_iyi:label;
xix_ixi:训练样本;
xxx:待分类样本;
K(x,xi)=ϕ(x)ϕ(xi)K(x,x_i)=\phi(x) \phi(x_i)K(x,xi)=ϕ(x)ϕ(xi):核函数:
K(a,b)=exp(−γ∣∣a−b∣∣2),γ>0(radial basis fns)K(a,b)=(γ(a⋅b)+r)d,γ>0(polynomial)K(a,b)=tanh(γ(a⋅b)+r)(sigmoid)\begin{array}{l} K(a,b)=\exp(-\gamma||a-b||^2),\gamma>0\text{(radial basis fns)}\\ K(a,b)=(\gamma(a\cdot b)+r)^d,\gamma>0\textrm{(polynomial)}\\ K(a,b)=\tanh(\gamma(a\cdot b)+r)\textrm{(sigmoid)} \end{array} K(a,b)=exp(−γ∣∣a−b∣∣2),γ>0(radial basis fns)K(a,b)=(γ(a⋅b)+r)d,γ>0(polynomial)K(a,b)=tanh(γ(a⋅b)+r)(sigmoid)
一般而言,SVMs用于二分类任务,多分类任务用DAG and one-against-one作为多分类的实现。
同时,要让SVMs输出后验概率,需要使用sigmoid函数:
p(y=1∣f(x))=11+exp(Af(x)+B)p(y=1|f(x))=\dfrac{1}{1+\exp(Af(x)+B)} p(y=1∣f(x))=1+exp(Af(x)+B)1
f(x)f(x)f(x):SVM的输出;
A和B:可以从负的log-likelihood 函数在训练数据得到;
架构
使用在线特征和离线特征,通过两个不同的SVM分类器,得到每个类别的概率,联合求出总的概率,得到结果。
联合:
P(Ci∣X)=αP(Ci∣X,ONF)+β(Ci∣X,OFF)P(C_i|X)=αP(C_i|X,ONF)+β(C_i|X,OFF) P(Ci∣X)=αP(Ci∣X,ONF)+β(Ci∣X,OFF)
α+β=1\alpha + \beta = 1α+β=1

在线特征向量
预处理:
1、smoothing:使用中心平滑去平滑墨水的笔迹;
xi=0.25xi−1+0.5xi+0.25xi+1yi=0.25yi−1+0.5yi+0.25yi+1\begin{array}{rcl}x_i&=&0.25x_{i-1}+0.5x_i+0.25x_{i+1}\\ y_i&=&0.25y_{i−1}+0.5y_i+0.25y_{i+1}\end{array} xiyi==0.25xi−1+0.5xi+0.25xi+10.25yi−1+0.5yi+0.25yi+1
2、Filling intermediate points:在连续的点之间填充内部点,这样对齐空间,没有对齐时间,因为发现空间对齐比时间对齐更有用。因此,在重新采样时,我们将笔画上的点放置在相等的距离上。
3、resample重采样:每个笔画选择每N/11thN/11^{th}N/11th的点,N是总的点数;
4、size normalization尺度归一化:每个stroke使用1/max(h,w)1/max(h,w)1/max(h,w)进行归一化;
提取特征:
发现坐标和角度信息是最有区分度的特征,增加图形特征例如相关长度,错误率降低很小但是特征向量更多;
计算重心:
∑i(xi/N),∑i(yi/N),\sum_i(x_i/N),\sum_i(y_i/N), i∑(xi/N),i∑(yi/N),
转过的角度:

因此得到的特征包括:
| 特征: |
|---|
| stroke笔画的每个点的坐标 |
| line segments的sines和cosines值 |
| line segments和符号重心的sines和cosines值 |
离线特征向量
1、离线特征是将stroke转换成图片,存储样本文件在InkML格式,这些文件加载使用black ink在white背景上,使用Microsofts Tablet PC SDK.
2、转换到bitmap后,进行尺度缩放:15/max(w,h)15/max(w,h)15/max(w,h)。
3、使用high-quality bilinear interpolation filter,填补边缘得到bitmap 15*15大小。

提取的特征:
| 特征: |
|---|
| (I1,I2,...,IN)(I_1,I_2,...,I_N)(I1,I2,...,IN):灰度强度像素点的值N=w∗hN=w*hN=w∗h。 |
参考:
《Hybrid Mathematical Symbol Recognition using Support Vector Machines》
VC维度 | 机器之心 (jiqizhixin.com)
相关文章:
论文阅读和分析:Hybrid Mathematical Symbol Recognition using Support Vector Machines
HMER论文系列 1、论文阅读和分析:When Counting Meets HMER Counting-Aware Network for HMER_KPer_Yang的博客-CSDN博客 2、论文阅读和分析:Syntax-Aware Network for Handwritten Mathematical Expression Recognition_KPer_Yang的博客-CSDN博客 3、论…...
05期:面向业务的消息服务落地实践
这里记录的是学习分享内容,文章维护在 Github:studeyang/leanrning-share。 我们在上次分享中聊到了领域驱动设计和微服务,在 DDD 中有一个术语叫做领域事件,例如订单模型中的订单已创建、商品已发货。领域事件会触发下一步的业务…...
代码随想录|day26|回溯算法part03● 39. 组合总和● 40.组合总和II● 131.分割回文串
今天的练习基本就是回溯法组合问题,这一节只要看labuladong即可。 组合问题: 39. 组合总和---------------------形式三,元素无重可复选 链接:代码随想录 一次对,同样在进入下次循环时,注意startindex是从j…...
linux-文件切割-splitcsplit
目录 按大小切割-split 按行数切割-split 按内容切割-csplit 按大小切割-split split -b 10k example.conf -d -a 3 output.file example.conf 被切割的文件 -b 指定切割大小 -d 数字后缀 -a 后缀长度,默认2 output.file …...
USB键盘实现——设备限定描述符(五)
文章目录设备限定描述符仓库地址设备限定描述符介绍设备限定描述符结构体定义获取设备限定描述符的请求标准设备请求USB 控制端点收到的数据设备限定描述符返回附 STM32 枚举日志设备限定描述符 设备限定描述符内容解析和 HID鼠标 一致。 仓库地址 仓库地址 设备限定描述符…...
【C++】map和set(一文拿捏,包教包会)
目录 1.关联式容器和序列式容器 2.键值对 3.树型结构的关联式容器 4.set 5.multiset 6.map 7.multimap 1.关联式容器和序列式容器 set:关联式容器——数据之间关联紧密 线性表(vector,list,deque):序…...
爬虫Day2 正则表达式
爬虫Day2 正则表达式 一、正则表达式 1. 正则的作用 正则表达式是一种可以让复杂的字符串变得简单的工具。 写正则表达式就是用正则符号来描述字符串规则 # 案例1:判断一个字符串是否是一个合法的手机号码 tel 23297293329# 方法1:不用正则 if len…...
LeetCode-0324~28
leetCode1032 思路:想的是维护一个后缀数组,然后用Set去判断一下,结果超时了,去看题解,好家伙AC自动机,没办法,开始学。 正确题解: class ACNode{public ACNode[] children;publi…...
Vue2自己封装的基础组件库或基于Element-ui再次封装的基础组件库,如何发布到npm并使用(支持全局或按需引入使用),超详细
最终效果如下 一、先创建vue2项目 1、 可以用vue-cli自己来创建;也可以直接使用我开源常规的vue2后台管理系统模板 以下我以 wocwin-admin-vue2 项目为例 修改目录结构,最终如下 2、修改vue.config.js文件 module.exports { // 修改 src 目录 为 exam…...
【开发】中间件——MongoDB
MongoDB是一个基于分布式(海量数据存储)文件存储的数据库。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,它支持的数据结构非常松散,是类似json…...
C++进阶 — 【C++11】
目录 一、 C11简介 二、 统一的列表初始化 1.{}初始化 2. initializer_list 三、声明 1. auto 2. decltype 3. nullptr 四、范围for循环 五、STL中一些变化 1. 提供了一些新容器 2.容器中增加了一些新方法 六、右值引用和移动语义 1. 左值引用和右…...
Mac安装Homebrew
1.前往Homebrew官网,复制官网的安装命令 https://brew.sh/ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"安装结束后,记得仔细看脚本执行最后的提示,需要我们复制两行命令执…...
【详细】利用VS2019创建Web项目,并发送到IIS,以及IIS与ASP.NET配置
一、打开VS2019选择创建新项目【最好以管理员身份运行VS2019,后面发布网站时需要以管理员身份,避免后面还要重启,可以一开始就以管理员身份运行】 二、选择语言为C#,然后选择“ASP.NET Web应用程序(.NET Framework&…...
FasterRcnn,Yolov2,Yolov3中的Label Assignment机制 和 ATSS
一般把anchor到gt之间如何匹配的方法称为label assignment,也就是给预设的anchor打上正负样本等标签,方便我们后续进一步回归。 其实RPN和Yolo有各自的label assignment方法, 在Faster rcnn,yolo,RetinaNet中…...
使用Java技术WebSocket创建聊天、群聊,实现好友列表,添加好友,好友分组,聊天记录查询功能。
文章目录 引入依赖主要代码配置WebSocket创建通讯完整后台项目代码下载WebSocket的由来: 之前只有一个http协议,http协议是请求响应,存在缺陷,就是请求只能由客户端发起,然后请求到服务器,服务器做响应,但是如果服务器状态做了改变,客户端并不能即使的更新,之前的是按照…...
【Redis07】Redis基础:Bitmap 与 HyperLogLog 相关操作
Redis基础学习:Bitmap 与 HyperLogLog 相关操作继续进行 Redis 基础部分的学习,今天我们学习的是两种另外的数据类型。说是数据类型,但其实它们实际上使用的都是 String 类型做为底层基础,只不过是在存储的时候进行了一些特殊的操…...
华为路由器 VRRP主备配置
组网需求 如下图所示,PC1通过SW1双归属到R1和R2。为保证用户的各种业务在网络传输中不中断,需在R1和R2上配置VRRP主备备份功能。 正常情况下,主机以R1为默认网关接入Internet,当R1故障时,R2接替R1作为网关继续进行工作…...
docker容器安装ES
1.拉取镜像 docker pull elasticsearch:6.5.42.修改别名 docker tag [容器ID] es65:6.5.42.启动应用 docker run -it -d -p 9200:9200 -p 9300:9300 --name es -e ES_JAVA_OPTS"-Xms128m -Xmx128m" es65:6.5.43.拷贝配置文件到宿主机 docker cp es:/usr/share/ela…...
Python Module — prompt_toolkit CLI 库
目录 文章目录目录prompt_toolkit示例化历史记录热键自动补全多行输入Python 代码高亮自定义样式prompt_toolkit prompt_toolkit 是一个用于构建 CLI 应用程序的 Python 库,可以让我们轻松地构建强大的交互式命令行应用程序。 自动补全:当用户输入命令…...
springboot mybatis-plus 调用 sqlserver 的 存储过程 返回值问题
问题: 在使用 mybatis-plus 调用sqlserver 存储过程 没有返回值 经过资料查找 注意点 此处使用Map传参,原因在于存储过程的返回值,通常在参数定义中实现,如In 入参、out 出参。 这样当执行后有结果返回时,则可以将结…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
