數理化公式識別

閃念基因 發佈 2023-02-06T15:28:46.099693+00:00

1 前言OCR(Optical Character Recognition,光學字符識別)是一種將圖片上的信息(漢字、字母、數字等信息)轉化為可編輯的電子文本的技術。

1 前言

OCR(Optical Character Recognition,光學字符識別)是一種將圖片上的信息(漢字、字母、數字等信息)轉化為可編輯的電子文本的技術。隨著人工智慧的不斷發展,基於深度學習的OCR技術在教育行業得到了廣泛應用;智能批改、教輔錄入等場景都依賴於OCR技術。現階段,針對簡單的一維文字識別、基於深度學習的OCR技術可以得到很高的識別準確率,但是對於數理化公式等二維結構的識別準確率較低。針對這個技術痛點,本文章提出一種可以識別數理化公式的技術,該技術可以識別例如矩陣、方程組、分數、根號等二維結構的信息,並且可以達到95%+的識別準確率。


2 技術路線

數理化公式識別是將公式圖片信息電子化的技術,該技術採用Seq2Seq的網絡架構,從而達到可以識別二維結構的目的。技術路線如圖一所示,模型輸入為:一個公式圖片,模型輸出為:該公式圖片所對應的Latex公式序列。

圖一 數理化公式識別模型的概況圖

2.1、數據準備

為了得到一個魯棒的深度學習公式識別模型,訓練數據的準備必不可少,本文章採用以才策略採集數據:(1)通過分析真實場景中的公式數據特點,採用合成數據的手段來合成真實場景的數據;(2)藉助數據增強的手段來擴增數據的多樣性;(3)通過公式識別置信度來採集badcase,疊代採集公式數據,增強模型的泛化性。

2.2、Latex公式歸一化

由於數理化公式的Latex表達是不唯一的,例如圖二所示,這種一對多的公式表達方式很容易造成訓練損失函數的不收斂,進而加大模型的學習難度。因此必須通過歸一化策略,達到一個符號只有一種表達方式的目的,降低模型的學習難度。

圖二 Latex表達方式不唯一

2.3、Seq2Seq網絡架構

Seq2Seq模型是在機器翻譯中最先引入的概念,這個模型由編碼器(Encoder)和解碼器(Decoder)組成,可以較好的學習數理化公式的結構特徵,例如:上下結構的公式、包圍結構的公式等。

2.3.1、編碼器

編碼器是為了提取公式圖片的特徵圖。編碼器結構借鑑了Inception-ResNet-V2的網絡框架,詳細網絡框架見圖三所示,其中、(1)採用了多感受野的Inception結構、有利於學習不同字號的公式特徵;(2)引入Position Embedding方法可以有利於獲得字符之間的位置關係特徵。

圖三 編碼器網絡架構圖

得到公式圖片的特徵圖之後,為了很好的進行序列化學習,將特徵圖reshape成一維結構特徵向量(語義編碼),由於Position Embedding方法的引入,將特徵圖reshape成一維結構後,也可以很好的保存每個特徵向量之間的位置關係。

2.3.2、解碼器

解碼器的作用是將語義編碼向量解碼成對應的識別結果,通過編碼器得到公式圖片所對應的一維結構特徵向量之後,採用LSTM(Long Short-Term Memory)來學習公式圖片所對應的Latex公式序列,LSTM是一種時間循環神經網絡,是為了解決一般的RNN存在的長期依賴問題而專門設計出來的。其中,在解碼器階段,還採用了Attention機制(注意力機制),注意力機制是一種加權機制,它關注編碼層得到的語義編碼中哪一個分量對當前預測更重要。詳細的解碼器網絡架構圖如圖四所示。

圖四 解碼器網絡架構圖

2.4、Seq2Seq模型的訓練階段

在訓練階段,由於模型在開始階段的預測極不穩定,若使用上個時間片的預測作為當前時間片的輸入,模型將很難收斂,因此,為了達到模型快速收斂的目的,我們使用標籤序列作為序列預測時的輸入,如圖五所示。

圖五 模型訓練階段示意圖

2.5、Seq2Seq模型的推理階段

在推理階段,由於測試樣本沒有標籤序列,因此我們使用當前時間片的輸出作為下個時間片的輸入,並且一般使用Greedy Search算法或者Beam Search算法來進行解碼。其中,Greedy Search算法是Beam Search算法的特殊情況(beam size=1),Beam Search是尋找全局最優值和查找時間之間的折中,它在當前時間片計算所有假設的概率,然後選出最高的幾個為一組,然後再基於這組假設,在下個時間片上計算出概率最高的幾個作為一組,以此類推,直到最後一個時間片終止。下圖是beam size=3的搜索過程,紅線為選中的假設。

圖六 模型推理階段示意圖

2.6、後處理操作(Post-Processing)

通過解碼器可以很好的學習Latex公式的序列特徵,但是在真實場景中,會出現很多種情況,比如:0和o這些相似字符,不太容易識別正確,因此,後處理操作就可以起到一個錦上添花的作用,根據先驗知識來進行糾正,比如將1o糾正為10。經過在測試集上的測試,後處理操作可以提升約1%的準確率,並且不影響識別性能。

2.7、識別結果

數理化公式識別模型可以將公式圖片直接轉化為其所對應的Latex公式,識別樣例如圖七所示(為了方便可視化對比,將Latex公式通過XeLatex和ImageMagick進行可視化):

圖七 識別結果


3 結論

數理化公式識別模型可以很好的解決二維結構的公式識別問題,平均準確率可以達到95%+,但是針對結構很複雜的公式(對應的Latex公式很長),識別準確率仍然有待提高,問題就在於時間序列解碼階段,雖然LSTM以及Attention機制都可以很好的緩解長序列解碼存在的長期依賴關係,但是並不能從根本上進行解決,後續會探索使用圖模型來解決長序列結構的公式識別問題。

作者:劉騰龍

來源:微信公眾號:新東方技術

出處:https://mp.weixin.qq.com/s/wxbCUESe1FzOcEzD5igUPg

關鍵字: