網(wǎng)上有很多關(guān)于pos機(jī)刷卡小票到底要保留多久,360數(shù)科OCR國際技術(shù)競賽冠軍的知識,也有很多人為大家解答關(guān)于pos機(jī)刷卡小票到底要保留多久的問題,今天pos機(jī)之家(www.dsth100338.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!
本文目錄一覽:
pos機(jī)刷卡小票到底要保留多久
機(jī)器之心報道
機(jī)器之心編輯部
在 OCR 識別領(lǐng)域最權(quán)威的會議之一 ICDAR(國際文檔分析與識別會議)上,360 數(shù)科在 ICDAR2019- SROIE 榜單上斬獲第一。
榜單地址:https://rrc.cvc.uab.es/?ch=13&com=evaluation&task=2
作為計算機(jī)視覺領(lǐng)域一個重要分支,OCR(Optical Character Recognition,光學(xué)字符識別)技術(shù)主要包括三大方面,分別是文本檢測、文本識別和視覺信息抽取。文本檢測是通過 OCR 算法定位圖像中文字,一般通過四邊或者矩形框表示文字的位置。文本識別是通過識別算法或者模型,將給定的文字片段圖像中的文字通過字符串的形式轉(zhuǎn)寫出來。而視覺信息抽取則是將圖像中人們定義的關(guān)鍵信息抽取出來,比如姓名、性別、電話號碼等。
360 數(shù)科希望通過分享在文本識別和語言糾錯方面的探索和總結(jié),能對業(yè)界帶來一些幫助或啟發(fā)。
1 SROIE2019 賽事介紹
在 ICDAR2019 Robust Reading Competitions 的 6 個賽道上 [1~6],SROIE2019 更關(guān)注商超小票文本行檢測、識別和信息抽取,這也是 OCR 領(lǐng)域中目前的難點所在。
ICDAR 競賽因其極高技術(shù)難度和強(qiáng)大實用性,一直是各大科研院校、科技公司的競逐焦點,吸引國內(nèi)外眾多隊伍參賽。
1.1 賽事介紹
SROIE2019 分為三個子任務(wù):文本檢測(要求在原圖中給出文本區(qū)域的位置坐標(biāo))、文本識別(在給定的文本區(qū)域裁剪圖基礎(chǔ)上,將其中的文字內(nèi)容正確識別出來)、視覺信息抽?。ǔ槿∽R別出的文本行中的關(guān)鍵信息,比如價格、日期等)。
本次比賽,我們專注于 SROIE 中的文本行識別任務(wù),其評價指標(biāo)采用 F1 score 評價模型性能。F1 score 是召回率 Recall 和準(zhǔn)確率 Precision 的調(diào)和平均值,這三者的計算方式如公式 (1) (2) (3) 所示。
其中,TP、FP、FN 分別表示 True Positive、False Positive 以及 False Negative。TP、FP、FN 的界定是基于識別出來的文本行與給出來的 GT 逐個單詞比較,完全正確判定識別正確。SROIR 文本識別任務(wù)數(shù)據(jù)集包含 33626 張訓(xùn)練集和 19385 張測試集樣張,其中訓(xùn)練集的標(biāo)注格式是給出給定文本行圖像及對應(yīng)的文本,如下圖 1 所示 [1]。
圖 1:訓(xùn)練集數(shù)據(jù)樣張。
1.2 賽事難點
該賽事主要有以下幾方面的難點:
文本行字體模糊不清。官方給出的比賽數(shù)據(jù)集,均來自商超結(jié)算小票掃描圖像,由于小票均為機(jī)打且存放時間過長,導(dǎo)致掃描出來的文本行存在較為嚴(yán)重的磨損和缺失,字體筆畫不完整等情形,這給 OCR 識別算法帶來很大挑戰(zhàn)。文本行圖像出現(xiàn)彎曲。給出的文本行圖像中出現(xiàn)較大比例的彎曲,現(xiàn)今主流文本行識別算法對水平文本識別較為穩(wěn)健,彎曲文本行識別是 OCR 識別業(yè)內(nèi)難點。標(biāo)注歧義。給出來的文本行在對應(yīng)的文本圖像中根本不存在、空格標(biāo)注錯誤以及形近字標(biāo)注錯誤,這給算法的泛化性帶來了很大的沖擊。2 技術(shù)方案
算法、數(shù)據(jù)和算力是推動深度學(xué)習(xí)往前演進(jìn)的三駕馬車,本小節(jié)我們分別就上述三大塊進(jìn)行詳細(xì)介紹,以及針對 1.2 提到的賽事難點提出相應(yīng)的解決方案。
針對 SROIE 中的文本行識別,我們首先采用 CRNN [7] 技術(shù)方案,并對 CRNN 中的 Encoder 和 Decoder 部分做了大量分析和比較實驗,得到了一個非常不錯的 baseline 模型。
其次,針對本次文字模糊不清問題,我們生成了近 5000W 的數(shù)據(jù)集并在該數(shù)據(jù)集上訓(xùn)練得到一個預(yù)訓(xùn)練模型,基于該預(yù)訓(xùn)練模型進(jìn)行 finetune,模型大幅提升了 5.4%。最后針對文本行彎曲問題,我們提出了基于 tps+unet 自學(xué)習(xí)的預(yù)處理模塊,模型進(jìn)一步提升了 2.6%。
通過以上技術(shù)方案的優(yōu)化,我們最終提交的成績中 Recall、Precision 和 F1 Score 分別達(dá)到了 97.68%、97.79% 和 97.74%,這 3 個評價指標(biāo)均排名第一。
此外,我們還在語言糾錯模型、loss 和訓(xùn)練策略的選擇上進(jìn)行了一些方案的探索,給最終模型效果帶來了一定的提升。
2.1 CRNN 模型簡介
圖 2:CRNN 架構(gòu)圖。
對于文本識別模型,我們參照 CRNN 將模型的主體分為了兩個部分,分別為對圖像數(shù)據(jù)進(jìn)行特征編碼的 Encoder (對應(yīng)上圖中的 CNN 層) 和對文本序列進(jìn)行解碼的 Decoder (對應(yīng)上圖中 Recurrent Layers 和 Transcription Layers)。
對于 Encoder,我們試驗了當(dāng)前 OCR 技術(shù)中主流的 MobileNet [8]、EfficientNet [9]、ResNet [10] 等,最終選擇了在表現(xiàn)與參數(shù)量方面都出色的 ResNet,并對不同層的 ResNet 進(jìn)行了實驗。
對于 Decoder,其可進(jìn)一步分為對圖像切片序列到文本序列進(jìn)行轉(zhuǎn)換的部分與對文本序列進(jìn)行解碼輸出的部分。對于第一部分,我們實驗了當(dāng)前主流的序列模型,如 Transformer [11]、LSTM [12] 等。最終,我們選擇了在表現(xiàn)與穩(wěn)定性方面都更為出色的 BiLSTM [13]。不同于普通的 LSTM,BiLSTM 可以捕捉序列雙向的文本信息,該特性與本次比賽數(shù)據(jù)所呈現(xiàn)出的富有語義的特點相吻合。
對于 Decode 的第二部分,我們實驗了 CTC [14] 與受時下熱門 Transformer 等模型啟發(fā)所推出的 Attention [15] 這兩種方式。通過實驗結(jié)果,我們發(fā)現(xiàn)了 CTC 在長文本情況下的表現(xiàn)較為出色,而 Attention 對于短文本的處理表現(xiàn)得更為優(yōu)異。
針對本次比賽數(shù)據(jù)文本長度分布方差大的特點,我們分別嘗試了 CTC 與 Attention 兩種模型。
2.2 模型優(yōu)化
2.2.1 數(shù)據(jù)預(yù)處理
本次比賽的數(shù)據(jù)為文本行圖像,其中每條數(shù)據(jù)的尺寸都有所不同。為此,我們對所有圖像的尺寸進(jìn)行對齊以保證模型輸入的一致性。通過對整體數(shù)據(jù)集的尺寸分布進(jìn)行分析,我們實驗了不同的圖像寬高以及 Resize 和 Padding 兩種不同的對齊操作。最終采用 Padding 對齊方式,模型的 F1 score 提升 3.2%。
2.2.2 模型前置預(yù)處理模塊
本次比賽的圖像數(shù)據(jù)具有模糊、對比度低等特點。為此,我們通過對圖像進(jìn)行增強(qiáng)以保證網(wǎng)絡(luò)輸入圖像的清晰性。我們選擇使用 U-Net [16] 網(wǎng)絡(luò)以自動地學(xué)習(xí)出適應(yīng)于整體模型的圖像增強(qiáng)方式。通過與傳統(tǒng)的圖像顯著化以及超分辨率網(wǎng)絡(luò)等方法的對比試驗,采用的 U-Net 能自適應(yīng)的學(xué)習(xí)出適合網(wǎng)絡(luò)學(xué)習(xí)的圖像增強(qiáng)方式。
圖 3:U-Net 示意圖。
此外,本次比賽的部分圖像在文本行處呈現(xiàn)出了傾斜的特質(zhì)。相較于水平文本,傾斜文本的識別更具有挑戰(zhàn)性。
針對這一情況,我們采用了針對傾斜文本進(jìn)行處理的 TPS 網(wǎng)絡(luò) [17]。該網(wǎng)絡(luò)可以預(yù)測出 TPS 矯正所需的 K 個基準(zhǔn)點,并基于基準(zhǔn)點進(jìn)行 TPS 變換生成采樣網(wǎng)格,最后對采樣網(wǎng)格進(jìn)行雙線性插值,達(dá)到矯正文本的目的。
圖 4:TPS 示意圖。
最終,輸入圖像數(shù)據(jù)在經(jīng)過了 U-Net 自適應(yīng)增強(qiáng)和 TPS 的矯正后,模型 F1 score 提升 2.6%。
2.2.3 loss 選擇
針對文本識別任務(wù)形近字很難識別出來的問題,如 "0" 和 "O"。我們采取了 Center Loss [18],該損失函數(shù)可通過縮小各分類編碼與其所屬類別中心的距離以更好地對相似的類別作出區(qū)分。使用 Center Loss 后,模型 F1 score 提升 0.6%。
2.2.4 優(yōu)化器選擇
如上文所述,文本行識別模型由多個部分組成,同時每個部分的學(xué)習(xí)任務(wù)從數(shù)據(jù)領(lǐng)域 (圖像 / 文本) 到數(shù)據(jù)格式 (單條 / 序列) 都有較大的差別。
為此,我們選用了自適應(yīng)優(yōu)化器 Adadelta [19] 來解決。在模型使用 Adadelta 訓(xùn)練到收斂后,在凍結(jié)了圖像處理的 Encoder 參數(shù)的情況下,使用收斂較快的 Adam [20] 對 Decoder 部分的參數(shù)進(jìn)行進(jìn)一步的訓(xùn)練。使用上述策略后模型 F1 score 提升 0.3%。
2.3 超大規(guī)模數(shù)據(jù)集預(yù)訓(xùn)練模型訓(xùn)練
本次比賽中我們除了使用官方給出的 33626 張訓(xùn)練集之外,還通過對各種字體、各個語料類別 (數(shù)字 / 名稱 / 語句) 以及各個圖片風(fēng)格 (磨損 / 傾斜 / 劃線) 的模擬,生成了數(shù)據(jù)集 5000 萬張,使用 20 張 V100 顯卡進(jìn)行分布式訓(xùn)練?;谠擃A(yù)訓(xùn)練模型進(jìn)行 finetune,模型 F1 score 得到了大幅提升 (5.4%),這也是本次比賽我們?nèi)〉霉谲姷年P(guān)鍵。
2.4 語言糾錯模型
首先,我們?nèi)诤嫌?xùn)練 attention 模型和 ctc 模型。對于置信度較低的結(jié)果,我們認(rèn)為識別錯誤的可能性較大,需要使用語言模型對其糾錯。通過 2.5 的 badcase 分析,我們可以看出,除了空格識別錯誤外,還有約 56% 的其它錯誤。因此,我們額外訓(xùn)練了一個不含有空格的 attention 識別模型,并使用該模型的識別結(jié)果替換原有融合模型置信度較低的識別結(jié)果,盡可能避免空格對識別的干擾。
然后,我們對 soft-masked bert [21] 進(jìn)行了拓展,在 Bi-GRU [22] 錯誤檢測網(wǎng)絡(luò)中除了預(yù)測每個字符為錯別字的概率外,還額外增加了該字符后需要添加字符的概率。若預(yù)測為錯誤,我們會根據(jù)概率將該字符的 embedding 與 < mask > 的 embedding 進(jìn)行線性組合。若預(yù)測為添加,則會在該字符后直接添加 < mask > 的 embedding。在 bert 糾錯網(wǎng)絡(luò)中,我們添加了 < null > 標(biāo)簽用于標(biāo)識需要刪除的字符。
最后,我們基于 badcase 的分析生成了 100 萬的訓(xùn)練數(shù)據(jù),使用上述策略后,F(xiàn)1 score 提升了 0.7%。
圖 5:soft-masked bert 示意圖。
2.5 badcase 分析
通過采用 2.1~2.4 的策略,我們的模型已經(jīng)有了很大的提升。通過對驗證集上的 badcase 分析,發(fā)現(xiàn)主要有如下幾種:空格識別錯誤、等長樣本識別錯誤和不等長樣本識別錯誤。各錯誤占比情況如下圖 6,其中空格識別錯誤占比達(dá)到了 44%,其余兩種錯誤分別是等長和不等長錯誤。以下對上述情形分別介紹并給出我們的解決方案。
圖 6:badcase 分布圖。
第一,空格識別錯誤即模型沒有將空格識別正確或者我們空格識別成其他字符,如下圖。針對該情形我們?nèi)藶榈貫檎Z料賦予了很多空格。同時,為了解決空格距離的主觀性,我們在往語料中插入空格時使用了不定長的空格以讓模型學(xué)會對空格距離的把控。
此外,我們統(tǒng)計了模型預(yù)測空格錯誤結(jié)果中空格前后的字符分布,并根據(jù)該分布控制空格在語料中插入的位置。
圖 7:空格識別示例。
第二,等長錯誤即模型識別出來的結(jié)果與 GT 等長,但是存在部分字符識別錯誤情形,占比達(dá)總識別錯誤的 33%,這類錯誤主要還是集中在形近字很難正確識別情形,如下圖。GT 為 “1 Small Cone”,我們的模型識別為 “1 Small C0ne”。
為了解決這類成對的字符預(yù)測錯誤,我們統(tǒng)計了字符集合中常見的難區(qū)分字符對以及我們的模型所預(yù)測錯誤的字符對。通過成對的形式,我們將一條語料中的部分字符替換為其難分字符對中的字符,如 "a0c" 與 "aOc",并將替換前與替換后的語料都加入我們的數(shù)據(jù)集中。
通過成對地加入難區(qū)分字符語料,我們的模型預(yù)測結(jié)果大幅減少了字符分錯的情況。此外,我們發(fā)現(xiàn)由于本次數(shù)據(jù)的文本行在裁剪時左右留白較少,這導(dǎo)致模型預(yù)測結(jié)果容易在開頭與結(jié)尾處出錯。為此,我們在選取替換字符時會加大開頭與結(jié)尾位置的權(quán)重。
圖 8:等長識別錯誤。
第三,不等長錯誤即模型識別出來的結(jié)果與 GT 不等長。這里面主要集中在標(biāo)注錯誤、文本行過長和樣本極不均衡導(dǎo)致。
針對文本行過長問題,我們對部分語料選取少量字符進(jìn)行人為的重復(fù)并輸入到模型訓(xùn)練,以此讓模型獲得一定的去重能力。
針對類別不均衡問題,我們在生成語料抽取字符時,對低頻字符賦予了更大的權(quán)重,高低頻字符的出現(xiàn)比率提升到了 10:1,更符合實際環(huán)境下的語料情況。
3 總結(jié)與展望
計算機(jī)視覺在金融領(lǐng)域的應(yīng)用主要包括人臉識別、活體檢測、OCR、AI 數(shù)字人和圖像篡改等。通過本次挑戰(zhàn)賽在某種程度上驗證了我們 OCR 算法的有效性,以及對我們現(xiàn)有算法進(jìn)行查漏補(bǔ)缺。
目前 OCR 在 360 數(shù)科內(nèi)部落地的業(yè)務(wù)場景主要包括學(xué)歷認(rèn)證、執(zhí)業(yè)證書認(rèn)證、票據(jù)識別、行駛證識別、駕駛證識別和營業(yè)執(zhí)照等,還針對上述業(yè)務(wù)場景開發(fā)了配套的圖像反欺詐識別算法。展望未來,計算機(jī)視覺團(tuán)隊將持續(xù)跟進(jìn)業(yè)內(nèi)最新動態(tài)以保持技術(shù)的先進(jìn)性,來更好的服務(wù)公司業(yè)務(wù)團(tuán)隊。
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
以上就是關(guān)于pos機(jī)刷卡小票到底要保留多久,360數(shù)科OCR國際技術(shù)競賽冠軍的知識,后面我們會繼續(xù)為大家整理關(guān)于pos機(jī)刷卡小票到底要保留多久的知識,希望能夠幫助到大家!
