天天看點

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

作者:騰訊技術工程

| 導語 AI互動部/手寫識别組主導研究并撰寫的論文《 Handwritten Mathematical Expression Recognition via Attention Aggregation based Bi-directional Mutual Learning》被CCF A類會議AAAI 2022 Oral錄用。在會議今年整體接受率降低至15%的背景下,成功錄用背後是我們團隊對公式識别技術方向的深入思考和長期技術積累。後續團隊内關于公式識别相關技術工作也會融到Tencent OCR OTeam中。

TencentOCR介紹

TencentOCR為公司級協同項目,于2021年4月正式成立,打通并連接配接公司内部各個AI團隊在OCR方向的研發能力,實作1+1>2的協同效應。項目針對OCR領域建設一套從預處理到識别到後處理的全流程鍊路,打造業界領先的OCR技術與服務。 公式識别作為OCR一個重要子方向,在智慧辦公、智慧教育等場景下都有重要的作用,對于完善TencentOCR閉環能力有積極的作用。

背景與挑戰

試想一個場景,你正在用騰訊文檔編輯一篇科研報告,剛好需要插入一條複雜的公式,你會怎麼辦?按照傳統的處理方式,第一種是打開公式編輯器一個個符号點選拖拽到編輯區,第二種是直接用latex語言來編輯。但這兩種方式都不高效,後者還需要使用者有latex的文法基礎。而現在如果有一個工具能夠接收一個包含公式的圖檔(可以是電子、印刷或者手寫),直接對圖檔中的公式進行識别并插入到文檔中,能極大的提升我們的文檔編輯、辦公協作效率。(此功能目前已上線騰訊文檔線上幻燈片)

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

除了智能辦公場景外,數學表達式了解也是線上教育系統的核心基礎子產品。它被廣泛應用于各種智能教育應用中,如自動推薦問題[1]、學生分析[2]、自動解題[3][4]。

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

要了解數學表達式,首先必須将包含數學表達式的圖像轉換為結構表達式,例如LaTeX數學表達式或符号布局樹,這個過程被稱為數學表達式識别(Mathematical Expression Recognition,MER)。而對比于傳統的文本符号識别(Optical Character Recognition ,OCR),公式識别具有更大的挑戰性。首先,公式識别不僅需要從圖像中識别所有符号,還需要捕捉符号[5]之間的2-d空間位置關系;其次,同一個公式中的符号尺度變化較大;第三,手寫體公式符号書寫的多樣性和複雜性進一步加大了識别的難度。

公式識别相關工作概述

許多傳統的公式識别方法是基于文法的,如圖文法,子句文法和關系文法。例如Anderson等[6]最早在1967年提出了公式識别的概念,并提出了以句法為标準分割,采用自上而下的分析方法識别數學公式的方法。O’Gorman L[7]把基本的公式識别流程分為符号切割、符号識别以及符号重組這三個步驟。在符号切割階段,使用水準投影的方法進行符号切割;在符号識别階段,使用模闆比對的方法;在符号重組階段,對于公式的二維結構,使用自頂向下的方式。此系統在結構簡單的公式上取得了較好的識别效果,但是對于積分、根式、極限公式等複雜結構識别率較低。Lee等人[8] 提出了一個公式檢測與識别系統。在公式識别子產品中,找到公式後,通過分割連通域的方法,先把公式分割成幾個部分,再使用特定算法切分粘連部分;之後使用訓練好的分類器對切分結果進行字元識别。此系統在有限的公式中效果較好,但隻能識别根式、分式和上下标三種類型,可識别的公式類型較少。在Okamoto等人[9]的系統中,将公式識别分為依據字元投影的輪廓資訊進行公式分割、使用模闆比對法進行符号識别以及自頂向下和自底向上的結構分析法。但這些方法都具有一些局限性,隻能針對某些場景,且泛用性不強。

随着深度學習的快速發展,在過去的幾年中,許多基于編碼器-解碼器架構[10]的方法在MER中取得了優異的性能。Deng等人[11]率先在ME識别中使用了編碼器-解碼器模型。Zhang等人[12]提出了一個基于注意力的端到端手寫數學公式識别模型(WAP),該模型首先利用編碼器對輸入表達式圖像進行編碼,并再利用解碼器将其解碼成LATEX符号串。其中,編碼器是一個卷積神經網絡(CNN)[13]基于VGG架構[14],它将圖像映射到進階功能。解碼器是一個循環神經網絡(RNN)[15]與門控循環單元(GRU)[16],将這些進階功能轉換為輸出字元串,一次一個符号,并且設計了覆寫注意機制,通過考慮過去的對齊機率來克服解析不足或過度解析的問題,在CROHME 2014和CROHME 2016的資料及上取得了較好的效果。與傳統的手寫體數學表達式識别方法相比,基于注意力的編碼器-解碼器模型具有三個特點: 端到端可訓練;它是資料驅動的,而傳統系統需要預先定義的數學文法;通過注意模型實作符号自動分割。針對WAP模型,多位學者對其進行了改進,Zhang等[17]增加了一個額外的DenseNet [18] 分支利用多尺度特征以此處理不同大小的符号(DWAP- MSA)。Wang等[19]提出了一種同時具有線上和離線編碼分支的多模态網絡充分使用兩個分支的互補資訊去改善識别的精度。Wei Zhang等人[23]利用了全新的雙注意力機制去更好的識别和定位公式的結構,對于每個預測的符号,解碼器中建立的注意力模型掃描整個輸入表達式圖像,并選擇最相關的區域來描述數學符号或空間運算符。此外,一些方法通過引入資料增強等附加資料來提高識别性能,包括模式生成政策 PGS[20]、公式圖檔随機尺度增強 SCDA[24],以及使用印刷公式作為識别的指導 DLA [25]、PAL[27] 和 PAL-v2[21], Truong等[26]提出基于單一符号的弱監督識别網絡,加強了對字元的識别能力(WS WAP)。還有一些方法改進了解碼器,例如BTTR[28]首次在公式識别中引入了Transformer decoder 解碼器,提出符号位置編碼以此較精确的關注特定的區域來提高識别精度,并且在解碼的時候利用雙向解碼資訊; DWAP- TD[22]提出樹型解碼器,把公式分解為樹型結構,來增強處理複雜公式的解碼能力。另外,Chungkwong Chan等[29]對輸入圖像做預處理,把公式分解為各個筆畫,然後利用線上公式識别模型識别有序的這些筆畫,以此提高識别精度。

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

然而,上述方法都存在兩點不足:第一,基于WAP的方法都沒有充分的利用“未來”資訊,而僅計算了曆史attention。盡管BTTR對雙向資訊利用做了初步嘗試,但并未加入顯式的監督資訊進行雙向蒸餾學習。第二,沒有充分融合公式符号的多尺度特征。

論文算法架構

基于上述方法存在不足,本文提出了一種稱為ABM的端到端公式識别架構,如下圖所示。主要由三個子產品組成:

1)特征提取子產品(FEM):用于從數學表達式圖檔中提取特征資訊;

2)注意力聚合子產品(AAM):其內建了Multi-Coverage Attention,主要對齊曆史注意資訊,同時兼顧不同大小符号的特征尺度學習;

3) 雙向互相學習子產品(BML): 利用自蒸餾思想,實作并行解碼以補充資訊。其由兩個具有相反方向解碼器(L2R和R2L)構成,在訓練階段每個解碼器不僅學習自身LaTeX序列,同時也學習另一分支資訊,進而提高解碼能力;

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

特征提取子產品(FEM)

本算法使用DenseNet作為編碼器,并通過其提取特征。輸入是公式圖檔,輸出是H×W×D的特征圖,其中H、W和D分别表示特征圖高寬和通道數。具體地說,可将輸出特征視為具有M維的内容序列a,即a={a1,a2,...,aM},其中ai∈RD,M=H×W.

注意力聚合子產品(AAM)

注意力機制幫助解碼器關注其感興趣區域。特别是, 基于coverage attention機制更好地對齊特征資訊并指導未關注區域配置設定更高的注意力機率。受 Inception子產品的啟發,我們提出了注意力聚合子產品 (AAM)。與傳統注意力相比,其不僅關注精細的局部特征,還關注更大感受野上的全局資訊。進而幫助模型捕捉更準确的空間關系。如上圖所示,AAM的計算過程分别使用隐藏态h^t,覆寫注意力βt,目前注意力權重αt,上下文向量ct:

As=Usβt,Al=Ulβt

Us和Ul分别表示小核和大核卷積參數。其中βt表示所有過去注意力機率和,其計算過程如下:

βt=∑l=1t−1αl

其中αt表示時間步t的注意力分數。其計算過程如下:

αt=vaTtanh⁡(Wh^ht^+UfF+WsAs+WlAl)

其中,Wh^∈Rn×d, Ws∈R1×d 和Wl∈R1×d是可訓練權重矩陣,Uf是 1×1 卷積運算,ht^表示GRU的隐藏狀态。

上下文向量為ct:

ct=∑i=1Mαt,iai

雙向互相學習子產品(BML)

傳統公式識别方法按照從左到右解碼順序,利用注意力機制完成解碼任務。但由于注意力機制本身存在漂移問題,同時并未考慮長距離依賴性。是以,我們提出通過雙向解碼器将輸入轉換為兩個相反方向(L2R和R2L)LaTeX序列,然後使用自蒸餾思想完成資訊互動。需要注意的是,雙向解碼器的分支具有相同網絡結構,唯一不同的是解碼方向。

對于雙向訓練,添加<sos>和<eos>作為LaTeX序列起始終止符。特别地,對于長度為 T的LaTeX序列Y={Y1,Y2,...,YT};

其中,從左到右 (L2R) 序清單示為

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

從右到左 (R2L) 序清單示為:

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

對于時間步t,L2R和R2L分支輸出機率值過程如下:

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

隐層态ht計算過程如下:

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

将自蒸餾思想引入,兩解碼分支通過Kullback-Leibler (KL) Loss在每個時間步上進行互相學習:

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

total loss為:

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

實驗效果

1.與先前SOTA效果比對

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

我們基于公開 CROHME 2014 競賽資料集訓練模型,并在三個公共測試資料集上測試我們的模型:CROHME 2014、2016 和 2019。 然後我們将 ABM 與之前的SOTA進行比較。 為了確定性能比較的公平性,參與評測的所有方法都沒有使用資料增強。 從上表可以觀察到:所提出的模型 ABM 顯著提高了識别準确率(ExpRate),在三個測試資料集上分别比基線(DWAP)提高了 6.25%、5.49% 和 6.26%

2. 單子產品效果

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

從上表可以看出:(1)在baseline模型中加入attention aggregation module提高了2.04%的識别準确率(2)在baseline模型上增加了一個逆解碼方向的解碼分支進行互相學習,實作 4.63% 的精度增長 (3) 而ABM 的結果表明,這兩個子產品同時使用會産生累積效應,提高了模型的整體精度。

3. 不同編碼方向效果

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

我們驗證了雙向互相學習相對于單向互相學習和原始單向模型訓練(Uni-L2R 或 Uni-R2L)的優越性。 我們為單向互學習配備 AAM 以形成 AUM 以進行公平比較。 從上表來看,我們的方法(ABM)将識别準确率提高了 6.25% 以上。 同時,實驗表明兩個逆解碼器之間的互相學習比單向互相學習更有效。

4. 不同編/解碼器效果

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

我們在不同的編碼器和解碼器上驗證了ABM的通用性。 為了公平起見,所有實驗都使用相同的設定。 如上表所示,對于不同的編碼器,我們将 DenseNet 替換為 MobileNetV2 和 Xception,它們的原始模型分别被提高了 4.47% 和 3.65%。 對于不同的解碼器,GRU、LSTM 和 Transformer 分别提高了 6.25%、5.49% 和 3.34%。

5. 解決前字尾不均衡問題

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

RNN 的一個主要弱點是它們的不平衡輸出,具有高品質的字首但低品質的字尾識别。 而使用 ABM 後,L2R 分支的字首識别準确率從 85.29% 提高到 88.73%,字尾從 80.02% 提高到 84.37%。 是以,L2R 分支可以從 R2L 分支中學習到解碼知識,更好地适應長距離依賴。

可視化結果

1. Attention可視化

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

為了進一步揭示我們提出的方法的内部工作機制,我們将連續解碼的注意力過程可視化,如上所示。 注意權重以紅色顯示,深紅色表示注意力的權重較高。

2. 添加AAM後注意力可視化效果

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

我們還做了額外的實驗來比較僅使用或不使用 AAM 的視覺注意力圖。結果說明使用 AAM 的模型可以更好的關注到小字元。

3. 特征圖可視化

「AAAI2022」全面揭秘!Tencent OCR 手寫數學公式一鍵識别

此外,我們通過 t-SNE 方法降維後可視化 CROHME 2014 測試集中十個符号的特征分布。 上圖顯示,與基線 DWAP 相比,我們的方法生成的不同符号的特征更加可分離。

緻謝

TencentOCR Oteam自2021年4月成立以來,整體規劃協作分工,将OCR在技術層面拆分檢測、識别、端到端、視訊OCR、預處理、後處理六個子產品,并由不同部門負責,同時制定資料協同、架構協同、标準協同、測評協同的新模式。在這裡感謝TencentOCR Oteam的主導方TEG信安團隊@黃珊在内的同學們給予的支援,也感謝AI互動部手寫識别組同學們的辛苦付出。

引用

[1] Qi Liu, Zai Huang, Zhenya Huang, Chuanren Liu, Enhong Chen, Yu Su, and Guoping Hu. Finding similar exercises in online education systems. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pages 1821–1830. ACM, 2018.

[2] Yu Su, Qingwen Liu, Qi Liu, Zhenya Huang, Yu Yin, Enhong Chen, Chris Ding, Si Wei, and Guoping Hu. Exercise-enhanced sequential modeling for student performance prediction. In Thirty-Second AAAI Conference on Artificial Intelligence, 2018.

[3] Lei Wang, Dongxiang Zhang, Lianli Gao, Jingkuan Song, Long Guo, and Heng Tao Shen. Mathdqn: Solving arithmetic word problems via deep reinforcement learning. In Thirty-Second AAAI Conference on Artificial Intelligence, 2018.

[4] Lei Wang, Dongxiang Zhang, Jipeng Zhang, Xing Xu, Lianli Gao, Bingtian Dai, and Heng Tao Shen. Templatebased math word problem solvers with recursive neural networks. 2019.

[5] Richard Zanibbi and Dorothea Blostein. Recognition and retrieval of mathematical expressions. International Journal on Document Analysis and Recognition (IJDAR), 15(4):331–357, 2012.

[6] Anderson, Robert H. "Syntax-directed recognition of hand-printed two-dimensional mathematics." In Symposium on Interactive Systems for Experimental Applied Mathematics: Proceedings of the Association for Computing Machinery Inc. Symposium, pp. 436-459. 1967.

[7] O'Gorman, Lawrence. "Image and document processing techniques for the RightPages electronic library system." In Proceedings., 11th IAPR International Conference on Pattern Recognition. Vol. II. Conference B: Pattern Recognition Methodology and Systems, pp. 260-263. IEEE, 1992.

[8] Lee, Hsi-Jian, and Jiumn-Shine Wang. "Design of a mathematical expression recognition system." In Proceedings of 3rd International Conference on Document analysis and Recognition, vol. 2, pp. 1084-1087. IEEE, 1995.

[9] Okamoto, Masayuki, Hiroki Imai, and Kazuhiko Takagi. "Performance evaluation of a robust method for mathematical expression recognition." In Proceedings of Sixth International Conference on Document Analysis and Recognition, pp. 121-128. IEEE, 2001.

[10] D. Bahdanau, K. Cho, and Y. Bengio, “Neural machine translation by jointly learning to align and translate,” in Proceedings of International Conference on Learning Representations (ICLR), 2015.

[11] Y. Deng, A. Kanervisto, and A. M. Rush, “What you get is what you see: A visual markup decompiler,” arXiv preprint arXiv:1609.04938, vol. 10, pp. 32–37, 2016.

[12] Zhang, Jianshu, Jun Du, Shiliang Zhang, Dan Liu, Yulong Hu, Jinshui Hu, Si Wei, and Lirong Dai. "Watch, attend and parse: An end-to-end neural network based approach to handwritten mathematical expression recognition." Pattern Recognition 71 (2017): 196-206.

[13] A. Krizhevsky, I. Sutskever, and G. E. Hinton, “Imagenet classification with deep convolutional neural networks,” in Advances in neural information processing systems, 2012, pp. 1097–1105.

[14] K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” arXiv preprint arXiv:1409.1556, 2014.

[15] J. Zhang, J. Du, and L. Dai, “Multi-scale attention with dense encoder for handwritten mathematical expression recognition,” in 2018 24th International Conference on Pattern Recognition (ICPR), pp. 2245– 2250, IEEE, 2018.

[16] G. Huang, Z. Liu, L. Van Der Maaten, and K. Q. Weinberger, “Densely connected convolutional networks,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 4700– 4708, 2017.

[17] Graves, A.-r. Mohamed, and G. Hinton, “Speech recognition with deep recurrent neural networks,” in Acoustics, speech and signal processing (icassp), 2013 ieee international conference on. IEEE, 2013, pp. 6645–6649.

[18] J. Chung, C. Gulcehre, K. Cho, and Y. Bengio, “Empirical evaluation of gated recurrent neural networks on sequence modeling,” arXiv preprint arXiv:1412.3555, 2014.

[19] J. Wang, J. Du, J. Zhang, and Z.-R. Wang, “Multi-modal attention network for handwritten mathematical expression recognition,” in 2019 International Conference on Document Analysis and Recognition (ICDAR), pp. 1181–1186, IEEE, 2019.

[20] A. D. Le, B. Indurkhya, and M. Nakagawa, “Pattern generation strategies for improving recognition of handwritten mathematical expressions,” Pattern Recognition Letters, vol. 128, pp. 255–262, 2019.

[21] J.-W. Wu, F. Yin, Y.-M. Zhang, X.-Y. Zhang, and C.-L. Liu, “Handwritten mathematical expression recognition via paired adversarial learning,” International Journal of Computer Vision, pp. 1–16, 2020.

[22]Zhang, Jianshu, et al. "A tree-structured decoder for image-to-markup generation." International Conference on Machine Learning. PMLR, 2020.

[23] Zhang, Wei, Zhiqiang Bai, and Yuesheng Zhu. "An improved approach based on CNN-RNNs for mathematical expression recognition." In Proceedings of the 2019 4th international conference on multimedia systems and signal processing, pp. 57-61. 2019.

[24] Li, Zhe, et al. "Improving attention-based handwritten mathematical expression recognition with scale augmentation and drop attention." 2020 17th International Conference on Frontiers in Handwriting Recognition (ICFHR). IEEE, 2020.

[25]Le, Anh Duc. "Recognizing handwritten mathematical expressions via paired dual loss attention network and printed mathematical expressions." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. 2020.

[26]Truong, Thanh-Nghia, et al. "Improvement of End-to-End Offline Handwritten Mathematical Expression Recognition by Weakly Supervised Learning." 2020 17th International Conference on Frontiers in Handwriting Recognition (ICFHR). IEEE, 2020.

[27]Wu, Jin-Wen, et al. "Image-to-markup generation via paired adversarial learning." Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Springer, Cham, 2018.

[28]Zhao, Wenqi, et al. "Handwritten Mathematical Expression Recognition with Bidirectionally Trained Transformer." arXiv preprint arXiv:2105.02412 (2021).

[29] Chan, Chungkwong. "Stroke extraction for offline handwritten mathematical expression recognition." IEEE Access 8 (2020): 61565-61575.