網上有很多關于pos機刷卡小票到底要保留多久,360數科OCR國際技術競賽冠軍的知識,也有很多人為大家解答關于pos機刷卡小票到底要保留多久的問題,今天pos機之家(www.th3doctor.com)為大家整理了關于這方面的知識,讓我們一起來看下吧!
本文目錄一覽:
pos機刷卡小票到底要保留多久
機器之心報道
機器之心編輯部
在 OCR 識別領域最權威的會議之一 ICDAR(國際文檔分析與識別會議)上,360 數科在 ICDAR2019- SROIE 榜單上斬獲第一。
榜單地址:https://rrc.cvc.uab.es/?ch=13&com=evaluation&task=2
作為計算機視覺領域一個重要分支,OCR(Optical Character Recognition,光學字符識別)技術主要包括三大方面,分別是文本檢測、文本識別和視覺信息抽取。文本檢測是通過 OCR 算法定位圖像中文字,一般通過四邊或者矩形框表示文字的位置。文本識別是通過識別算法或者模型,將給定的文字片段圖像中的文字通過字符串的形式轉寫出來。而視覺信息抽取則是將圖像中人們定義的關鍵信息抽取出來,比如姓名、性別、電話號碼等。
360 數科希望通過分享在文本識別和語言糾錯方面的探索和總結,能對業界帶來一些幫助或啟發。
1 SROIE2019 賽事介紹
在 ICDAR2019 Robust Reading Competitions 的 6 個賽道上 [1~6],SROIE2019 更關注商超小票文本行檢測、識別和信息抽取,這也是 OCR 領域中目前的難點所在。
ICDAR 競賽因其極高技術難度和強大實用性,一直是各大科研院校、科技公司的競逐焦點,吸引國內外眾多隊伍參賽。
1.1 賽事介紹
SROIE2019 分為三個子任務:文本檢測(要求在原圖中給出文本區域的位置坐標)、文本識別(在給定的文本區域裁剪圖基礎上,將其中的文字內容正確識別出來)、視覺信息抽取(抽取識別出的文本行中的關鍵信息,比如價格、日期等)。
本次比賽,我們專注于 SROIE 中的文本行識別任務,其評價指標采用 F1 score 評價模型性能。F1 score 是召回率 Recall 和準確率 Precision 的調和平均值,這三者的計算方式如公式 (1) (2) (3) 所示。
其中,TP、FP、FN 分別表示 True Positive、False Positive 以及 False Negative。TP、FP、FN 的界定是基于識別出來的文本行與給出來的 GT 逐個單詞比較,完全正確判定識別正確。SROIR 文本識別任務數據集包含 33626 張訓練集和 19385 張測試集樣張,其中訓練集的標注格式是給出給定文本行圖像及對應的文本,如下圖 1 所示 [1]。
圖 1:訓練集數據樣張。
1.2 賽事難點
該賽事主要有以下幾方面的難點:
文本行字體模糊不清。官方給出的比賽數據集,均來自商超結算小票掃描圖像,由于小票均為機打且存放時間過長,導致掃描出來的文本行存在較為嚴重的磨損和缺失,字體筆畫不完整等情形,這給 OCR 識別算法帶來很大挑戰。文本行圖像出現彎曲。給出的文本行圖像中出現較大比例的彎曲,現今主流文本行識別算法對水平文本識別較為穩健,彎曲文本行識別是 OCR 識別業內難點。標注歧義。給出來的文本行在對應的文本圖像中根本不存在、空格標注錯誤以及形近字標注錯誤,這給算法的泛化性帶來了很大的沖擊。2 技術方案
算法、數據和算力是推動深度學習往前演進的三駕馬車,本小節我們分別就上述三大塊進行詳細介紹,以及針對 1.2 提到的賽事難點提出相應的解決方案。
針對 SROIE 中的文本行識別,我們首先采用 CRNN [7] 技術方案,并對 CRNN 中的 Encoder 和 Decoder 部分做了大量分析和比較實驗,得到了一個非常不錯的 baseline 模型。
其次,針對本次文字模糊不清問題,我們生成了近 5000W 的數據集并在該數據集上訓練得到一個預訓練模型,基于該預訓練模型進行 finetune,模型大幅提升了 5.4%。最后針對文本行彎曲問題,我們提出了基于 tps+unet 自學習的預處理模塊,模型進一步提升了 2.6%。
通過以上技術方案的優化,我們最終提交的成績中 Recall、Precision 和 F1 Score 分別達到了 97.68%、97.79% 和 97.74%,這 3 個評價指標均排名第一。
此外,我們還在語言糾錯模型、loss 和訓練策略的選擇上進行了一些方案的探索,給最終模型效果帶來了一定的提升。
2.1 CRNN 模型簡介
圖 2:CRNN 架構圖。
對于文本識別模型,我們參照 CRNN 將模型的主體分為了兩個部分,分別為對圖像數據進行特征編碼的 Encoder (對應上圖中的 CNN 層) 和對文本序列進行解碼的 Decoder (對應上圖中 Recurrent Layers 和 Transcription Layers)。
對于 Encoder,我們試驗了當前 OCR 技術中主流的 MobileNet [8]、EfficientNet [9]、ResNet [10] 等,最終選擇了在表現與參數量方面都出色的 ResNet,并對不同層的 ResNet 進行了實驗。
對于 Decoder,其可進一步分為對圖像切片序列到文本序列進行轉換的部分與對文本序列進行解碼輸出的部分。對于第一部分,我們實驗了當前主流的序列模型,如 Transformer [11]、LSTM [12] 等。最終,我們選擇了在表現與穩定性方面都更為出色的 BiLSTM [13]。不同于普通的 LSTM,BiLSTM 可以捕捉序列雙向的文本信息,該特性與本次比賽數據所呈現出的富有語義的特點相吻合。
對于 Decode 的第二部分,我們實驗了 CTC [14] 與受時下熱門 Transformer 等模型啟發所推出的 Attention [15] 這兩種方式。通過實驗結果,我們發現了 CTC 在長文本情況下的表現較為出色,而 Attention 對于短文本的處理表現得更為優異。
針對本次比賽數據文本長度分布方差大的特點,我們分別嘗試了 CTC 與 Attention 兩種模型。
2.2 模型優化
2.2.1 數據預處理
本次比賽的數據為文本行圖像,其中每條數據的尺寸都有所不同。為此,我們對所有圖像的尺寸進行對齊以保證模型輸入的一致性。通過對整體數據集的尺寸分布進行分析,我們實驗了不同的圖像寬高以及 Resize 和 Padding 兩種不同的對齊操作。最終采用 Padding 對齊方式,模型的 F1 score 提升 3.2%。
2.2.2 模型前置預處理模塊
本次比賽的圖像數據具有模糊、對比度低等特點。為此,我們通過對圖像進行增強以保證網絡輸入圖像的清晰性。我們選擇使用 U-Net [16] 網絡以自動地學習出適應于整體模型的圖像增強方式。通過與傳統的圖像顯著化以及超分辨率網絡等方法的對比試驗,采用的 U-Net 能自適應的學習出適合網絡學習的圖像增強方式。
圖 3:U-Net 示意圖。
此外,本次比賽的部分圖像在文本行處呈現出了傾斜的特質。相較于水平文本,傾斜文本的識別更具有挑戰性。
針對這一情況,我們采用了針對傾斜文本進行處理的 TPS 網絡 [17]。該網絡可以預測出 TPS 矯正所需的 K 個基準點,并基于基準點進行 TPS 變換生成采樣網格,最后對采樣網格進行雙線性插值,達到矯正文本的目的。
圖 4:TPS 示意圖。
最終,輸入圖像數據在經過了 U-Net 自適應增強和 TPS 的矯正后,模型 F1 score 提升 2.6%。
2.2.3 loss 選擇
針對文本識別任務形近字很難識別出來的問題,如 "0" 和 "O"。我們采取了 Center Loss [18],該損失函數可通過縮小各分類編碼與其所屬類別中心的距離以更好地對相似的類別作出區分。使用 Center Loss 后,模型 F1 score 提升 0.6%。
2.2.4 優化器選擇
如上文所述,文本行識別模型由多個部分組成,同時每個部分的學習任務從數據領域 (圖像 / 文本) 到數據格式 (單條 / 序列) 都有較大的差別。
為此,我們選用了自適應優化器 Adadelta [19] 來解決。在模型使用 Adadelta 訓練到收斂后,在凍結了圖像處理的 Encoder 參數的情況下,使用收斂較快的 Adam [20] 對 Decoder 部分的參數進行進一步的訓練。使用上述策略后模型 F1 score 提升 0.3%。
2.3 超大規模數據集預訓練模型訓練
本次比賽中我們除了使用官方給出的 33626 張訓練集之外,還通過對各種字體、各個語料類別 (數字 / 名稱 / 語句) 以及各個圖片風格 (磨損 / 傾斜 / 劃線) 的模擬,生成了數據集 5000 萬張,使用 20 張 V100 顯卡進行分布式訓練。基于該預訓練模型進行 finetune,模型 F1 score 得到了大幅提升 (5.4%),這也是本次比賽我們取得冠軍的關鍵。
2.4 語言糾錯模型
首先,我們融合訓練 attention 模型和 ctc 模型。對于置信度較低的結果,我們認為識別錯誤的可能性較大,需要使用語言模型對其糾錯。通過 2.5 的 badcase 分析,我們可以看出,除了空格識別錯誤外,還有約 56% 的其它錯誤。因此,我們額外訓練了一個不含有空格的 attention 識別模型,并使用該模型的識別結果替換原有融合模型置信度較低的識別結果,盡可能避免空格對識別的干擾。
然后,我們對 soft-masked bert [21] 進行了拓展,在 Bi-GRU [22] 錯誤檢測網絡中除了預測每個字符為錯別字的概率外,還額外增加了該字符后需要添加字符的概率。若預測為錯誤,我們會根據概率將該字符的 embedding 與 < mask > 的 embedding 進行線性組合。若預測為添加,則會在該字符后直接添加 < mask > 的 embedding。在 bert 糾錯網絡中,我們添加了 < null > 標簽用于標識需要刪除的字符。
最后,我們基于 badcase 的分析生成了 100 萬的訓練數據,使用上述策略后,F1 score 提升了 0.7%。
圖 5:soft-masked bert 示意圖。
2.5 badcase 分析
通過采用 2.1~2.4 的策略,我們的模型已經有了很大的提升。通過對驗證集上的 badcase 分析,發現主要有如下幾種:空格識別錯誤、等長樣本識別錯誤和不等長樣本識別錯誤。各錯誤占比情況如下圖 6,其中空格識別錯誤占比達到了 44%,其余兩種錯誤分別是等長和不等長錯誤。以下對上述情形分別介紹并給出我們的解決方案。
圖 6:badcase 分布圖。
第一,空格識別錯誤即模型沒有將空格識別正確或者我們空格識別成其他字符,如下圖。針對該情形我們人為地為語料賦予了很多空格。同時,為了解決空格距離的主觀性,我們在往語料中插入空格時使用了不定長的空格以讓模型學會對空格距離的把控。
此外,我們統計了模型預測空格錯誤結果中空格前后的字符分布,并根據該分布控制空格在語料中插入的位置。
圖 7:空格識別示例。
第二,等長錯誤即模型識別出來的結果與 GT 等長,但是存在部分字符識別錯誤情形,占比達總識別錯誤的 33%,這類錯誤主要還是集中在形近字很難正確識別情形,如下圖。GT 為 “1 Small Cone”,我們的模型識別為 “1 Small C0ne”。
為了解決這類成對的字符預測錯誤,我們統計了字符集合中常見的難區分字符對以及我們的模型所預測錯誤的字符對。通過成對的形式,我們將一條語料中的部分字符替換為其難分字符對中的字符,如 "a0c" 與 "aOc",并將替換前與替換后的語料都加入我們的數據集中。
通過成對地加入難區分字符語料,我們的模型預測結果大幅減少了字符分錯的情況。此外,我們發現由于本次數據的文本行在裁剪時左右留白較少,這導致模型預測結果容易在開頭與結尾處出錯。為此,我們在選取替換字符時會加大開頭與結尾位置的權重。
圖 8:等長識別錯誤。
第三,不等長錯誤即模型識別出來的結果與 GT 不等長。這里面主要集中在標注錯誤、文本行過長和樣本極不均衡導致。
針對文本行過長問題,我們對部分語料選取少量字符進行人為的重復并輸入到模型訓練,以此讓模型獲得一定的去重能力。
針對類別不均衡問題,我們在生成語料抽取字符時,對低頻字符賦予了更大的權重,高低頻字符的出現比率提升到了 10:1,更符合實際環境下的語料情況。
3 總結與展望
計算機視覺在金融領域的應用主要包括人臉識別、活體檢測、OCR、AI 數字人和圖像篡改等。通過本次挑戰賽在某種程度上驗證了我們 OCR 算法的有效性,以及對我們現有算法進行查漏補缺。
目前 OCR 在 360 數科內部落地的業務場景主要包括學歷認證、執業證書認證、票據識別、行駛證識別、駕駛證識別和營業執照等,還針對上述業務場景開發了配套的圖像反欺詐識別算法。展望未來,計算機視覺團隊將持續跟進業內最新動態以保持技術的先進性,來更好的服務公司業務團隊。
4 引用
[1] Huang Z, Chen K, He J, et al. Icdar2019 competition on scanned receipt ocr and information extraction [C]//2019 International Conference on Document Analysis and Recognition (ICDAR). IEEE, 2019: 1516-1520.
[2] Y. Sun, J. Liu, W. Liu, J. Han, E. Ding, “Chinese Street View Text: Large-scale Chinese Text Reading with Partially Supervised Learning”, in Proc. of ICCV 2019.
[3] Ali Furkan Biten, Ruben Tito, Andres Mafla, Lluis Gomez, Mar?al Rusi?ol, Ernest Valveny, C.V. Jawahar, Dimosthenis Karatzas, "Scene Text Visual Question Answering", ICCV 2019.
[4] C. Chng, Y. Liu, Y. Sun, et al, “ICDAR 2019 Robust Reading Challenge on Arbitrary-Shaped Text-RRC-ArT”, in Proc. of ICDAR 2019.
[5] Zhang R, Zhou Y, Jiang Q, et al. Icdar 2019 robust reading challenge on reading chinese text on signboard [C]//2019 international conference on document analysis and recognition (ICDAR). IEEE, 2019: 1577-1581.
[6] Nayef N, Patel Y, Busta M, et al. ICDAR2019 robust reading challenge on multi-lingual scene text detection and recognition—RRC-MLT-2019 [C]//2019 International conference on document analysis and recognition (ICDAR). IEEE, 2019: 1582-1587.
[7] Shi, Baoguang, Xiang Bai, and Cong Yao. "An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition." IEEE transactions on pattern analysis and machine intelligence 39.11 (2016): 2298-2304.
[8] Howard A G, Zhu M, Chen B, et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications [J]. arXiv preprint arXiv:1704.04861, 2017.
[9] Tan M, Le Q. Efficientnet: Rethinking model scaling for convolutional neural networks [C]//International conference on machine learning. PMLR, 2019: 6105-6114.
[10] He, Kaiming, et al. "Deep residual learning for image recognition." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.
[11] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need [J]. Advances in neural information processing systems, 2017, 30.
[12] Graves A. Long short-term memory [J]. Supervised sequence labelling with recurrent neural networks, 2012: 37-45.
[13] Zhang, Shu, et al. "Bidirectional long short-term memory networks for relation classification." Proceedings of the 29th Pacific Asia conference on language, information and computation. 2015.
[14] Graves A. Connectionist temporal classification [M]//Supervised sequence labelling with recurrent neural networks. Springer, Berlin, Heidelberg, 2012: 61-93.
[15] Sun, Chao, et al. "A convolutional recurrent neural network with attention framework for speech separation in monaural recordings." Scientific Reports 11.1 (2021): 1-14.
[16] Ronneberger, Olaf, Philipp Fischer, and Thomas Brox. "U-net: Convolutional networks for biomedical image segmentation." International Conference on Medical image computing and computer-assisted intervention. Springer, Cham, 2015.
[17] Shi, Baoguang, et al. "Robust scene text recognition with automatic rectification." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.
[18] Wen, Yandong, et al. "A discriminative feature learning approach for deep face recognition." European conference on computer vision. Springer, Cham, 2016.
[19] Zeiler, Matthew D. "Adadelta: an adaptive learning rate method." arXiv preprint arXiv:1212.5701 (2012).
[20] Kingma D P, Ba J. Adam: A method for stochastic optimization [J]. arXiv preprint arXiv:1412.6980, 2014.
[21] Zhang S, Huang H, Liu J, et al. Spelling error correction with soft-masked BERT [J]. arXiv preprint arXiv:2005.07421, 2020.
[22] Wang Q, Xu C, Zhou Y, et al. An attention-based Bi-GRU-CapsNet model for hypernymy detection between compound entities [C]//2018 IEEE International Conference on Bioinformatics and Biomedicine (BIBM). IEEE, 2018: 1031-1035
以上就是關于pos機刷卡小票到底要保留多久,360數科OCR國際技術競賽冠軍的知識,后面我們會繼續為大家整理關于pos機刷卡小票到底要保留多久的知識,希望能夠幫助到大家!
