论文阅读和分析:Mathematical formula recognition using graph grammar

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博客

Mathematical formula recognition using graph grammar

主要工作:

1、第一次实现Ofr(Optical Formula Recognition)系统,提取和识别数学表达式;

2、三个部分:OCR、构建图、解析图到语法树;

3、使用压缩子图成为一个节点的方法,自底向上解析图;

架构:

在这里插入图片描述

在ocr识别公式的字符后,得到字符的特征;

特征包括:符号、bounding box、baseline、size:

例如 x 2 + y 2 x^2+y^2 x2+y2

在这里插入图片描述

对图的定义

顶点vertex: V ( t , v , i ) V(t,v,i) V(t,v,i)三元组:

​ - t t t:lexical type 符号类型:例如"Operator" , "Variable’ , ‘Digit’,etc.

​ - v v v:值,代表数学表达式 例如 x , P l u s ( x , ( M u l t ( 2 , y ) ) ) , e t c x, Plus(x, (Mult(2, y))), etc x,Plus(x,(Mult(2,y))),etc.

​ - i i i:标识,区分同一个表达式中的相同符号但是出现在不同地方;

边edge: E ( t , v 1 , v 2 ) E(t,v_1,v_2) E(t,v1,v2):

​ - v 1 、 v 2 v_1、v_2 v1v2:顶点

​ - t t t:边的类型。二元组 L ( d , w ) L(d,w) L(d,w) d d d:图的方向:例如’Left". ‘Right’, ‘Top’, etc。 w w w:权重,使用在平面上的相关关系进行编码;

图graph:一些列边的集合
{ E ( t 1 , v 11 , v 2 , 1 ) , … , E ( t n , v 1 n , v 2 , n ) } . \{E(t_1,v_{11},v_{2,1}),\ldots,E(t_n,v_{1n},v_{2,n})\}. { E(t1,v11,v2,1),,E(tn,v1n,v2,n)}.

使用符号规则(Lexer rules)构建图;

定义符号的方向:left(l)、right®、top(t)、bottom(b)、top-left(tl)、bottom-left(bl)、top-right(tr)、bottom-right(br)、in(i)

规则1:符号的类型规则,对每种类型指定可以连接的类型;例如:

在这里插入图片描述

规则2:顺序规则,基于left->right的顺序,比如像top-left 或者 bottom-right是比较接近的,使用引力等势场来描述,如下图所示:(相当于计算节点的weight),可以看到横向的关系可能会很长。

a grid like structure to be able to have a good algorithm complexity

在这里插入图片描述

使用语法规则(grammar rules)解析图到语法树;

核心思路:自底向上将图进行压缩,不断把子图压缩到一个节点,最后得到公式的符号表示。

给一个公式的图表示(边、顶点),规则尝试通过使用顶点(顶点的值是被识别的子公式)重写它的子图(不断坍缩子图到节点)。过程使用匹配和替换方式。

图转换到节点的规则:

​ - V V V:节点,叫做规则的production;

​ - G G G:图,叫做规则的pattern;

​ - C C C:graphs的有限集合; 叫做规则的context;

grammer:一个规则rules的有限集合;

匹配和替换过程:

  • 替换是 T ( F , V ) T(F,V) T(F,V)的自同态(endomorphism),即 σ f ( t 1 , … , t n ) = f ( σ t 1 , … σ t n ) \sigma f(t_{1},\ldots,t_{n})=f(\sigma t_{1},\ldots\sigma t_{n}) σf(t1,,tn)=f(σt1,σtn)对于所有的 f f f和所有的terms: t 1 , … , t n t_1,\dots,t_n t1,,tn,一个 σ \sigma σ是唯一被确定的。
  • 一个 t t t匹配 t ′ t^{\prime} t,注意是 t ≤ t ′ t\leq t' tt,当且仅当替换 σ \sigma σ满足 σ t = t ′ \sigma t=t^{\prime} σt=t.

匹配有限集被定义成:
{ t 1 , … , t n } ≤ { t 1 ′ , … , t m ′ } ⇔ ∃ σ { σ t 1 , … , σ t n } = { t 1 ′ , … , t m ′ } \{t_1,\dots,t_n\}\leq\{t_1',\dots,t_m'\}\Leftrightarrow\exists\sigma\{\sigma t_1,\dots,\sigma t_n\}=\{t_1',\dotsc,t_m'\}\quad { t1,,tn}{ t1,,tm}σ{ σt1,,σtn}={ t1,,tm}
一个规则 r = V ← G , r=V\leftarrow G, r=VG, C C C重写一个图 G 1 G_1 G1到一个图 G 2 G_2 G2 ,记作 G 1 → r G 2 G_1\rightarrow_r G_2 G1rG2,当且仅当存在替换 σ \sigma σ,一个 G G G的子图 G ′ G^{\prime} G,得:

  • σ G = G ′ . \sigma G=G^{\prime}. σG=G.

  • 对于contex C C C的所有图 H H H,没有替换 τ \tau τ such that τ ∣ V a r ( G ) = σ ∣ V a r ( G ) and τ H ⊂ G 1 . \tau_{|Var(G)}=\sigma_{|Var(G)}\text{and}\tau H\subset G_1. τVar(G)=σVar(G)andτHG1.

  • G 2 G_2 G2是由 G ′ G^{\prime} G坍缩得到的 σ V \sigma V σV,即是移除 G 1 G_1 G1属于 G ′ G^{\prime} G所有的边和使用 σ V \sigma V σV替换属于 G ′ G^{\prime} G顶点

注:消除歧义的情况,对于一个导致歧义的图语法,在其规则中添加上下文,尽可能自动地消除这些歧义。

猜你喜欢

转载自blog.csdn.net/KPer_Yang/article/details/129645242