摘 要:本文提到的系統首先對圖片進行預處理,消除水印等圖片噪聲,將圖像二值化。CTPN利用同一文本線的字符可以互用上下文的特點,降低了檢測難度。DenseNet在ResNet的基礎上進行改進,減少了參數,改善了神經網絡的性能。使用CTPN進行文本檢測,使用DenseNet和CTC進行文本識別,獲得了較高的準確率。
關鍵詞:文本檢測;文本識別;CTPN
中圖分類號:TP393.09;TP311.13 文獻標識碼:A 文章編號:2096-4706(2018)11-0027-02
Research and Implementation of Online Business Information Extraction System
Based on CTPN
JIN Zhenwei
(Ningxia University,School of Information Engineering,Yinchuan 750021,China)
Abstract:The system mentioned in this paper firstly preprocesses the image,eliminates the image noise such as watermark,and binarizes the image. CTPN can reduce the difficulty of detection by using the characters of the same text line. DenseNet is improved on the basis of ResNet,which reduces parameters and improves the performance of neural network. CTPN is used for text detection DenseNet and CTC are used for text recognition,and higher accuracy is obtained.
Keywords:detect text;recognize text;CTPN
0 引 言
深度學習最廣泛的應用之一是文檔的文字檢測和識別。文字檢測的主要功能為從圖像中找到文字區域、并將文字區域分離出來;文字識別的主要功能為從分離出來的圖像進行文字識別。處理流程一般分為預處理和識別。圖片的文字往往攜帶重要信息,網店工商執照包含該網店的企業注冊號和類別等信息。網店營業執照要以圖片形式在店鋪進行公示,本系統致力于讀取不同形式營業執照的有用信息,為利用深度學習完成其他場景的任務提供參考。
1 預處理
網店營業執照的特點是文字排列整齊、噪聲小,但要提取的有用部分位置不固定,并且中文、數字多形式混雜排列,水印位置不固定,因此需要通過預處理提高圖像質量。
1.1 關閉圖像Alpha通道
圖像為含有Alpha通道的PNG格式,Alpha值默認為0,即圖片“透明”,如果用Opencv打開圖片,會丟失Alpha通道,導致圖像質量降低。以RGBA圖像格式打開圖像并添加同等大小的白色背景能避免這一問題。水印處理的常用策略有圖像降噪、拷貝攻擊等[1],對應的算法如快速最近鄰匹配、模板匹配都已十分成熟。觀察到網店企業執照的水印具有位置不統一、顏色相同的特點,采取遍歷圖像矩陣,將水印對應矩陣元素的RGB值改為[255,255,255]。
1.2 圖像降噪
圖像降噪一般包括濾波和二值化,目的都是增強圖像的效果,對圖像二值化處理提高了識別速度。Opencv中,自適應閾值二值化函數adaptiveThreshold()通過某個像素的鄰域以確定這個像素應該具有的閾值,保證圖像中各個像素的閾值更加準確。在灰度圖像中,將圖像分成多個小塊來計算閾值往往會得出圖像的輪廓。
2 文字檢測和識別
目前有很多開源的OCR引擎,Google的Tesseract-OCR就是其中之一,它最早由惠普公司在1994年開發,經Google公司優化后,能夠兼容更多語言的字符識別[2]。該方法首先檢測字符區域的輪廓和子輪廓,將其集成為塊區域,從塊區域中得到文本行,通過識別單詞訓練自適應分類器識別單詞,但對中文字符的識別率不高。直到最新版本采取了深度學習,這一情況才得到改善,但也加大了性能的消耗。本文采取CTPN方法進行文字檢測。
2.1 CTPN方法介紹
文本檢測的難點在于對一個完整的文本線的檢測,同一文本線的字符可能存在差異大、距離遠的情況,每條文本線的長度可能不同,難度比檢測單個目標更大。傳統方法是先檢測字符,再連成文本,其缺點是沒有考慮到上下文,并且步驟復雜。CTPN方法考慮到同一文本行上的不同字符可以由上下文表示,因此只預測文本在豎直方向上的位置,使用RNN和CNN進行序列的特征識別和深度特征提取,從而提高了檢測的魯棒性[3]。CTPN方法將候選區域產生的滑窗的寬度設為固定值,并在RPN網絡后添加一個LSTM連接全連接層,從而將坐標回歸減少為一個。它的步驟如下:
(1)使用VGG16作為提取特征,得到大小是W×H×C的特征映射。在該映射上設置大小是3×3的滑窗。每個窗口都得到一個長度為3×3×C的特征向量;
(2)將特征輸入一個雙向LSTM中,得到長度為W×256的輸出;
(3)輸出層部分包含三個輸出,分別是2k個垂直坐標(vertical coordinate),2k個評分(score),k個邊緣細化(side-refinement)。使用一個標準的非極大值抑制算法來濾除多余的文本框。
本行構造算法合并成文本行。
2.2 文本檢測訓練
采用CTPN算法框架,在數據集上對VGG-Net[4]進行訓練,訓練所用平臺為Ubuntu18.04系統,在GTK TITAN X下進行50000次迭代。
3 文本識別
構建文本識別數據庫是進行模型訓練的基礎[5],當前流行的一種方法是利用CNN(卷積神經網絡)和LSTM結構進行數據提取,ResNe是CNN的一種,由微軟公司提出,解決了網絡加深時梯度消失的問題。DenseNet則是在ResNet的基礎上,在保證網絡中層與層之間最大程度的信息傳輸的前提下,將所有層連接起來,由于每一層的輸入來自前一層的輸出,使得梯度的傳遞更加有效、參數更少,CTC(Connectionist temporal classification)通過在標注符號集添加一個空白符號,能夠直接輸出序列預測的概率。將ResNet和CTC結合進行文本識別,可以減少文本定位的工作。數據集利用中文語料庫,通過字體、大小和灰度等變化隨機生成,包含漢字、字母和標點符號等字符,圖片的分辨率統一設置為280×32。
3.1 結果
訓練集損失值為3.38%,測試集準確率為98.03%。對圖1的識別結果如圖2所示。
4 結 論
CTPN方法利用文字序列的特點降低了檢測難度。網店工商執照往往包含網店的重要信息,將這些信息進行提取形成結構化的文檔,既能簡化管理人員的工作,還能為顧客提供參考。系統的不足之處是對拍攝角度較差的圖片的識別率較低,但下一步的研究會對其進行改進。
參考文獻:
[1] 馬穎穎.數字水印攻擊方法的一些研究 [D].杭州:杭州電子科技大學,2011.
[2] 萬松.基于Tesseract-OCR的名片識別系統的研究與實現 [D].廣州:華南理工大學,2014.
[3] Zhi Tian,Weilin Huang,Tong He,et al.Detecting Text in Natural Image with Connectionist Text Proposal Network [M].Cham:Springer International Publishing,2016:56-72.
[4] 常玲玲,馬丙鵬,常虹,等.深度網絡結構在行人檢測任務中的性能對比 [J].計算機仿真,2017,34(7):373-377+411.
[5] 方清.基于深度學習的自然場景文本檢測與識別 [D].成都:電子科技大學,2018.
作者簡介:靳振偉(1995.08-),男,漢族,山東菏澤人,本科。研究方向:數據挖掘、移動互聯網。