999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OCR的中文債券圖表數據檢測和文本識別

2021-12-10 02:48:50張寧靜袁書培吳海龍
現代計算機 2021年30期
關鍵詞:文本檢測模型

張寧靜,袁書培,吳海龍

(南華大學計算機學院,衡陽 421000)

0 引言

關于光學字符識別(optical character recogni?tion,OCR),是指將圖像上的文字轉化為計算機可編輯的文字內容。近年來,OCR檢測與識別因其在諸多領域存在著較大的實際引用,使其逐漸成為計算機視覺領域的重要任務。尤其是在金融領域的應用則更加廣泛,對于上市公司發布的公告、財報、研報等不可編輯的PDF金融文檔,需要做結構化處理并抽取還原,提取關鍵信息供需要的用戶參考。OCR檢測識別技術主要有兩個核心子任務——OCR文字檢測和OCR文字識別。

在深度學習技術得到發展并大力推廣之前,傳統的文字檢測方法通常主要依賴于從輸入圖像中提取手工設計的特征向量。連接組件分析標簽[1-2]和滑動窗口[3]等方法被廣泛用于該任務。目前,隨著深度學習技術的發展,OCR檢測識別技術都得到了顯著的改善。不同于傳統的OCR檢測技術框架[4],現有的OCR檢測模型主要有基于分割的檢測模型和基于回歸的檢測模型的兩大類模型。依賴于深度學習的OCR文字檢測一般用到的模 型 算 法 主 要 有CTPN[5]、RRD[6]、DB[7]、EAST[8]、SegLink[9]、PixelLink[10],等。

傳統的OCR識別過程主要分為兩步:單字切割和分類。而目前基于深度學習的文字識別主要是端到端的文字識別,即不需要顯式進行文字切割,而是將直接文字識別轉化為序列學習問題。現今基于深度學習的端到端OCR技術有兩大主流技術:CRNN OCR[11]和Attention OCR[12]。其主要區別在于翻譯層的不同。這兩大主流技術在其特征學習階段都采用了CNN+RNN的網絡結構,CRNN OCR在對齊時采取的方式是CTC算法,而Attention OCR采取的方式則是Attention機制。

本文以百度PaddlePaddle平臺(以下簡稱飛槳)為對比對象,在飛槳提供的兩款場景文字識別服務(Attention、CRNN-CTC)中均未包含有金融債券文本識別的情景分類,同時使用通用場景識別的模型經過我們實驗,其結果也不讓人滿意。

本文的工作主要有重新搭配算法與模型并訓練出適用于金融債券文本信息場景的模型,使其可以針對金融債券文本信息提供精準的結構化識別;考慮債券的非定性特征,如多印章、數字密集、標點符號的精準識別,以及環境因素,比如非掃描條件、有折痕、有污點等情況下系統的容錯性及適配性。

1 數據集構建

1.1 數據準備

我們通過對于金融文檔、金融圖表的相關調研,經過對數據集的對比分析與篩選,我們將中文版的金融債券圖表數據集的數據源確定為了中國債券信息網。

1.2 數據擴充

針對檢測問題,從金融債券的實際業務場景出發,我們收集了四大種類的債券集(三線、無線、有框、長文本),同時從網上以及手工處理收集了1000余張圖片。將其按照類別進行劃分并進行手工標注,以此來擴充數據集。用以解決神經網絡擬合是數據過少,預測精度不高的問題。

圖1 文本檢測數據擴容

而增對文本識別問題,我們首先使用了YCG09的chinese_ocr數據集,數據集包括100萬的數據集,含漢字、英文字母、數字和標點共5990個字符,同時我們又手工擴充了2萬張的數字標注,以期其在數字分隔符號上取得更好的效果,使用paddle提供的字典ppocr_keys_v1,共計6623個字符。

圖2 文本識別數據擴容

1.3 數據增強

通過對業務場景和數據進行分析研究還發現,在債券文本多印章的場景下,被印章覆蓋住的數據難以準確地識別出來,并且多印章出現的概率也不小。這可能會導致檢測模型在實際業務場景下效果不佳,所以我們以手工合成以及網絡搜索的方式增加了一些印章密集的情況,來對數據集進行增強,這可以很好地提高模型對被覆蓋文本的的檢測效果。

圖3 數據增強-多印章示例

除了使用以上的方式,針對識別模型,我們還使用了PaddleOCR提供的數據增強方式,還使用了顏色空間轉換(cvtColor)、模糊(blur)、抖動(jitter)、噪聲(gasuss noise)、隨機切割(random crop)、透視(perspective)、顏色反轉(reverse)等數據增強手段。在訓練過程中每種擾動方式以50%的概率被選擇。

1.4 數據處理

整體債券圖表數據集我們將其分為4部分,其中第一數據集為預訓練練數據集(約占10%,100張),用于同時初步訓練多個算法模型,然后對比選擇出最適合的算法模型;第二數據集為模型優化訓練數據集(約占60%,600張),用于進行集中訓練并優化模型,最后的成果模型;第三數據集為定量測試數據集(約占25%,250張),用于對模型進行定量測試,檢測模型的訓練效果;第四數據集(約占5%,50張),則用于進行定性多場景測試實驗。測試模型在不同條件下的極端情況。各部分數據集我們又根據債券圖標的類型對其進行了二次劃分,其中包括有框表、三線表、無框表(分別占比4∶3∶3)

除了以上的債券圖表數據集,為了訓練識別模型,我們又引入了100000種文字數據集用于模型對于文字的識別訓練以保證5000種文字的訓練效果。

對于訓練集,我們在進行分類后又借助PPOCRLabel進行了半自動人工標注[13]。

圖4 PPOCRLabel界面

2 算法實現

2.1 算法選取

考慮到我們的系統檢測識別目標是中文債券圖標,是針對以簡體中文、數字為主,及少量英文的文字進行檢測識別,且部署在移動端。經過分析,我們初步選取了DB,EAST網絡框架作為預訓練的OCR檢測模型框架和CRNN+CTC模型框架作為預訓練的OCR識別模型框架。借助模型預篩選數據集,我們分別就檢測和識別中同類型的模型進行統一的預訓練,結果表1—表2所示。

表1 OCR檢測模型

表2 OCR識別模型

通過對篩選出了性能較優的模型DB_mv3及CRNN_mv3分別作為檢測和識別模型算法,隨后對他們進行了完整及系統的優化。

2.2 OCR檢測算法

本文的債券圖表檢測模型主要以DBNet模型為大體框架,本系統以基于輕量級主干網絡Mo?bileNetV3 Large[14]作為backbone,同時添加目標檢測中常用的特征增強方案FPN[15]結構作為neck,類似于U-Net結構,最后添加了三層卷積作為head。

圖5 DBNet模型結構

2.2.1 使用MobileNetV3 Large作為FPN網絡體系中的卷積神經網絡

我們在backbone部分主要搭建MobileNetV3 Large主體結構代碼,其中需要注意的是,因為后邊需要采用FPN結構,所以相比于原始的網絡結構,這里搭建過程中獲得了四個分支的輸出,用于后續FPN結構。

if model_name=="large":

cfg=[

#k,exp,c,se,nl,s,

[3,16,16,False,′relu′,1],

[3,64,24,False,′relu′,2],

[3,72,24,False,′relu′,1],

#獲得這一層的輸出:c2

[5,72,40,True,′relu′,2],

[5,120,40,True,′relu′,1],

[5,120,40,True,′relu′,1],

#獲得這一層的輸出:c3

[3,240,80,False,′hardswish′,2],

[3,200,80,False,′hardswish′,1],

[3,184,80,False,′hardswish′,1],

[3,184,80,False,′hardswish′,1],

[3,480,112,True,′hardswish′,1],

[3,672,112,True,′hardswish′,1],

#獲得這一層的輸出:c4

[5,672,160,True,′hardswish′,2],

[5,960,160,True,′hardswish′,1],

[5,960,160,True,′hardswish′,1],

#獲得這一層的輸出:c5

cls_ch_squeeze=960

具體連接結構如圖6所示。

圖6 MobileNetV3 Large在FPN網絡體系中的應用

2.2.2 用普通卷積替代了可變形卷積(deformable convolution)

在DBNet中的backbone里一般會默認將3×3 conv替換成可變形卷積,以此可以使得卷積操作的位置會在監督信息的指導下進行選擇,可以較好地適應目標的各種尺寸,提供更加豐富的感受野,這對于極端比例的文本檢測效果有益,但是同時也帶來大量復雜的計算量的弊端。而針對我們的檢測目標是文本框,文本框的比例通常較為正常,因此,此處我們選擇保留普通卷積,以減少不必要的計算量。

2.2.3 DBNet算法的特點:可微分二值化處理(differentiable Binarization)

標準二值化處理:

一般使用分割網絡(segmentation network)產生的概率圖(probability map P),將P轉化為一個二值圖P,當像素為1的時候,認定其為有效的文本區域,同時二值處理過程:

但是標準的二值處理是不可微的,這樣分割網絡不可以在訓練過程中優化,故在DBNet算法中采用了可微分二值化:

其中:?是近似二值圖,T是自適應閾值圖,k是膨脹因子。

一般習慣性設置k=50,帶有自適應閾值的可微分二值化不僅有助于把文字區域與背景區分開,而且還能把相近的實例分離開來。

2.2.4 Loss損失函數

損失函數是通過概率圖損失L s-二值圖損失L b-閾值圖L t構成的帶有權重的損失。

其中α和β我們分別設為5和10。

L s使用dire_loss函數和L b使用二值交叉熵損失函數:

其中S l代表正負樣本比例為1∶3的樣本集。

L t為平滑后的L1損失,為了避免樣本不平衡的問題,只計算G d內部的值

2.2.5 在MobileNetV3中利用h-swish代替swish

使用swish當作為ReLU的替代時,它可以顯著提高神經網絡的精度,但是在嵌入式環境中,成本太大,而我們的模型是基于移動端設計的,所以選擇了h-swish。但是由于大量采用h-swish會引入延遲,因此我們網絡前半部分的激活函數仍采用ReLU,后半部分則采用h-swish。

2.3 OCR識別算法

我們系統基于CRNN模型,本系統以基于輕量級主干網絡MobileNetV3 Small[14]作為backbone進行圖像特征序列的提取,同時添加RNN結構作為neck預測每幀的標簽分布,CTCHEAD作為head。

圖7 CRNN+CTC模型結構

在Borisyuk等人[16]提出“Rosetta”新型人工智能系統中,該系統文字檢測和識別的模型也是基于CRNN框架,但是采用了輕量級的backbone,在效率與性能上都有不錯的表現。同時,我們對本系統的預設是建立在輕便簡潔、操作友好的移動端,期望識別算法是精度相對高而相對輕量能在移動端運行。

基于之前檢測模型設計,發現MobileNetV3是一種良好的輕量級主干網絡,MobileNetV3 Small在眾多數據集上雖然識別延遲高于Mobile?NetV3 Large,但是識別精確度要高于Mobile?NetV3 Large,由于對精確度比延遲的需求高,因此我們選擇了MobileNetV3 Small作為backbone。

2.3.1 Map-to-Sequence的實現

我們不能直接把CNN得到的特征圖送入RNN進行訓練的,而是需要進行一些調整,根據特征圖提取RNN需要的特征向量序列。首先從CNN模型產生的特征圖中提取特征向量序列,每一個特征向量在特征圖上按列從左到右生成,每一列包含c維特征,這意味著第i個特征向量是所有的特征圖第i列像素的連接,這些特征向量就構成一個序列,作為循環層的輸入,每個特征向量作為RNN在一個時間步(time step)的輸入。

2.3.2 BiLSTM的狀態更新公式

本文采用的雙層雙向LSTM按時序展開如圖8所示(圖中省略了內部狀態c t,⊕為向量拼接操作)。

圖8 雙層BiLSTM時序展開

狀態更新公式如下:

比較簡單直觀地可以看到t時刻第一層Bi L?STM的第一層(順時間循環層)的隱狀態h(1)t取決于前一時刻的隱狀態h(1)t-1和輸入值x t,但是需要特別注意的是第二層(逆時間循環層)的隱狀態h′(1)t則取決于后一時刻的隱狀態和輸入值x t。

2.4 模型部署

本文模型部署在飛槳的AI Studio上,AI Stu?dio是基于百度深度學習平臺飛槳的人工智能學習與實訓社區,提供在線編程環境、免費GPU算力以及數據模型可視化VisualDL服務。我們還使用Baidu推出的PaddleOCR工具進行優化部署,PaddleOCR工具對該文本檢測訓練數據提供了如隨機旋轉角度(-10°,10°)、隨機裁剪(做透視變換和旋轉)、隨機翻轉的數據增強的方式,每種擾動方式以50%的概率被選擇。

3 實驗結果分析

3.1 定量統計結果

本項目根據收集的數據訓練集,其中包括1000張檢測圖片及1000000張中文文檔數據的識別圖片,經過數據集劃分后進行訓練,訓練結果如下圖所示。

圖9

圖11

同時對于訓練所得的模型,50張檢測圖片和2000張識別圖片。將訓練所得的模型用于測試集上進行驗證,在IoU閾值為0.5的標準下,測試結果如表3—表4所示。

表3 DB_mv3測試結果

表4 CRNN_mv3測試結果

3.2 定性多場景實驗結果

(1)多印章類型文檔。指印章比較多的債券圖標文檔。

圖12 多印章類型文檔的檢測識別結果

(2)過擠壓類型文檔。指存在表格線框擠壓表格內文本文字情況的債券圖標文檔。

圖13 過擠壓類型文檔的檢測結果

圖14 過擠壓類型文檔的識別結果

(3)扭曲類型文檔。指不平整的債券圖標文檔。

圖15 扭曲類型文檔的檢測識別結果

(4)折痕類型文檔。指有折痕印記的債券圖標文檔。

圖16 折痕類型文檔的檢測識別結果

(5)污點類型文檔。指存在污點污跡的債券圖標文檔。

圖17 污點類型文檔的檢測識別結果

4 結語

本文采用海量的數據集并且進行了半人工化的標注,經過調查研究以及通過訓練的低數據集下的通用模型后,選擇了兼顧精度和效率的模型,文本檢測模型DB_MV3以及CRNN_MV3,并對通用模型進行了優化和改良。在移動端離線部署的情況下,檢測識別精度和效率經過實驗證明也較為穩定。

普通CPU環境即移動端離線情況下,單個大圖片的預測時間平均為2 s左右,而移動端聯網條件下,為了使檢測服務并發進行,我們使用了springcloud部署該項目,構建多個檢測服務后臺,將檢測服務作為微服務集群,然后通過負載均衡使其滿足需求。本項目能在基礎環境下能夠實時運行且能同時滿足多個用戶的檢測服務。目前算法檢測識別時間離線和聯網主要取決于債券圖表的文字密集程度和圖片數據壓縮上傳速度,后續希望可以從這兩個角度進行改進以降低檢測識別所耗費的時間。

猜你喜歡
文本檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
3D打印中的模型分割與打包
小波變換在PCB缺陷檢測中的應用
主站蜘蛛池模板: 亚洲Av综合日韩精品久久久| 久久一色本道亚洲| 国内精品久久久久鸭| 欧美在线天堂| 亚洲国产日韩在线观看| 国产精品精品视频| 日本在线免费网站| 亚洲欧美极品| www.91中文字幕| 国产精选自拍| 日韩在线永久免费播放| 91区国产福利在线观看午夜| 99久久精品免费看国产免费软件| 青青热久免费精品视频6| 欧美日韩激情| 久久视精品| 国产视频a| 久久免费精品琪琪| 免费观看国产小粉嫩喷水| 国产原创第一页在线观看| 国产精品爽爽va在线无码观看 | 亚洲欧美色中文字幕| 精品人妻一区无码视频| 啊嗯不日本网站| 精品视频在线一区| 青青青国产在线播放| 亚洲一区精品视频在线| 亚洲毛片一级带毛片基地| 久久综合结合久久狠狠狠97色| 久久久噜噜噜久久中文字幕色伊伊| 午夜视频免费一区二区在线看| 国产成年无码AⅤ片在线| 成人精品亚洲| 国产精品专区第1页| 午夜激情福利视频| 午夜视频在线观看免费网站| 久久久精品无码一二三区| 欧洲成人在线观看| 亚洲成人一区二区三区| 高清码无在线看| 四虎影视8848永久精品| 亚洲欧美日韩另类在线一| 91系列在线观看| 国产精品露脸视频| 91在线无码精品秘九色APP| 国产成人AV男人的天堂| 国产欧美日韩在线一区| 久久综合丝袜日本网| 久久99精品久久久久纯品| 欧美特级AAAAAA视频免费观看| 91原创视频在线| 欧美97色| 无码中文字幕乱码免费2| 污网站在线观看视频| 国产欧美日韩一区二区视频在线| 久久综合色视频| 亚洲福利一区二区三区| 亚洲精品中文字幕午夜| 欧美高清三区| 香蕉在线视频网站| 亚洲第一视频免费在线| 欧美区日韩区| 亚洲欧美激情小说另类| 九九热这里只有国产精品| 久久亚洲精少妇毛片午夜无码| 亚洲国产中文欧美在线人成大黄瓜 | 亚洲综合网在线观看| 五月综合色婷婷| 最新国产你懂的在线网址| 精品视频在线一区| 狠狠色噜噜狠狠狠狠色综合久| 国内精品久久久久鸭| 日韩毛片在线播放| 中文字幕在线观| 亚洲有无码中文网| 国产99视频免费精品是看6| 免费高清a毛片| 强乱中文字幕在线播放不卡| 免费高清a毛片| 少妇精品网站| 国产精品香蕉| 成人亚洲视频|