李沛霖,呂 巍,姚 琳,尚丹梅
(錦州醫科大學,遼寧 錦州 121001)
隨著會計管理信息化的不斷發展,會計票據的信息化需求也越來越迫切。會計管理工作每天都要面對大量的紙質票據,各種紙質票據按照傳統的工作流程,需要人工手動錄入信息,按流程逐級人工審核,并管理大量的紙質票據檔案,這使得整體錄入和審核工作量繁重,效率較低。在目前的會計信息化中可以將會計票據以圖像的形式存檔,但其本身是一種非結構化的數據格式,不利于信息的進一步利用。
光學字符識別(Optical Character Recognition,OCR)是一種通過光學技術掃描文本和字符以獲得圖像信息的方法,通過形態特征的分析確定標準文本和字符編碼,轉化為計算機內碼,并存儲在文本文件中,是快速文本輸入的一種方式。如果將OCR 技術應用于會計票據識別,對于數字化的票據圖像,OCR技術能將其內容逐項識別出來,方便進一步轉化為會計文檔。
目前,市場上已有很多成熟的OCR 產品,如漢王、文通、ABBYY FineReader OCR、Tesseract OCR、IRIS ReadIRIS、百度OCR 等。在眾多OCR 識別產品中,Tesseract 作為谷歌的免費開源OCR 軟件,使用集束搜索算法和K-近鄰算法(KNN)進行預識別,并支持樣本訓練,可以形成特定的語言庫。相對于其他價格昂貴的商業化識別軟件,Tesseract 可以用較低成本針對會計場景建立專用字庫,從而提高識別準確度。
基于Tesseract 的會計票據圖像識別平臺系統構成如圖1所示,主要包括圖像預處理模塊、OCR 字符識別模塊及識別文本處理模塊。圖像預處理接收用戶導入的票據圖像,進行圖像去噪聲、圖像二值化、圖像傾斜矯正等操作,為圖像后續的檢測和識別做好準備。預處理后的票據圖像經文字檢測和識別模塊處理,形成文本文件。識別文本處理模塊將文本信息轉化為相應會計格式文檔。
票據圖像在進行數字化轉換時,會受到各種環境因素影響,為了提高圖像識別的質量,通常需要對圖像進行去噪聲、二值化、傾斜矯正等預處理。
使用電子設備采集的圖像,受到外界光照、噪聲等環境的干擾,造成圖像清晰度下降,給圖像的檢測和識別帶來不利影響,在進行圖像分析和處理之前,需要消除圖像噪聲,并針對不同的噪聲特點采用適合的濾波器,以便最大程度地還原圖像的質量。自適應中值濾波可以根據圖像局部變化,動態的改變濾波器窗口尺寸大小,其算法流程如圖2 所示。該算法盡可能地保護圖像中的細節信息,避免圖像邊緣的細化或者粗化,能較好地保留圖像的邊界和高頻成分,適于處理會計票據圖像。

圖像二值化是將彩色或多灰度圖像轉換為只有黑白二值的灰度圖像的過程,將圖像轉換為二值圖像,減少圖像數據量的同時,去除圖像的冗余信息,凸顯圖像的輪廓。
(1)圖像脫色處理
彩色圖像轉換為灰度圖像可以采用平均法、最大最小平均法及加權平均法等,其中加權平均法最常用,它根據人的亮度感知系統計算出RGB 三種顏色的參數,使用標準化參數計算對應像素的灰度值(0-255),該算法實現簡單,使用廣泛。

(2)圖像黑白分割
對于票據圖像經常出現的亮度分布不均勻、有陰影等情況。如果采用全局閾值法,將導致票據圖像出現大量的黑色區域;采用自適應閾值法對票據圖像處理,容易出現文字斷裂的情況。經過大量測試,發現OTSU 法對票據圖像二值化效果較理想。
OTSU 算法按圖像的灰度特性,將圖像分成背景和目標兩部分,背景和目標之間的類間方差越大,說明構成圖像的兩部分差別越大。當部分目標錯分為背景或者部分背景錯分為目標都會導致兩部分差別變小,因此要計算能將兩類分開的最佳閾值,使得它們的類間方差最小。
假設圖像的尺寸大小為M×N,初始閾值為T0。對圖像中的像素依次進行計算,將圖像像素值大于初始閾值的像素點作為目標,累積求得像素點個數N0,背景像素點個數為:

目標像素點占整個圖像的像素個數比例ω0為:

設灰度圖像背景和目標的區分閾值為T,目標像素點所占圖像總像素點的比例為ω0,灰度均值為μ0,背景占圖像比例為ω1,灰度均值為μ1,則整幅圖像的平均灰度為:

令灰度圖像的每一個灰度值t=0,1,…,N-1(N 為圖像的灰度級),使目標和背景兩部分之間的類間方差達到最大:

OTSU 閾值法是求圖像全局閾值的最佳方法,計算簡單、快速,不受圖像亮度和對比度的影響。
在票據圖像的獲取過程中,經常會出現圖像傾斜現象,這樣會影響圖像后續的字符分割效果,必須矯正圖像的水平度。Hough 變換是一種特征提取技術,它通過一種投票算法監測具有特定形狀的物體,直線檢測精度高,受直線中的間隙和噪聲影響較小。將圖像空間中用直角坐標表示的直線變換為極坐標空間中的點,把直線上點的坐標變換到過點的直線的系數域,通過利用共線和直線相交的關系使直線的提取問題轉化為在參數空間中計算局部最大值的計數問題,得到一個符合特定形狀的集合作為Hough 變換結果。在Hough 變換中用ρ 表示原點距直線的法線距離,θ 為該法線與x 軸的夾角,可用如下參數方程表示該直線:
使用Hough 變換通過尋找極坐標系中點集的峰值,發現長的直線特征,接下來基于Hough 變換找到最長邊緣線,確定傾斜角度,完成票據的傾斜矯正。
經過預處理的會計票據圖像樣本使用jTessBoxEditor 整合進一個Tiff 圖片集中,然后調用Tesseract 引擎進行預識別,生成文本檢測Box 文件,Box 為文本文件,順序地、每行一個字符地列出訓練圖像中的字符,以及字符在圖像中的邊界框坐標、邊界框長寬大小。對于Box 文件需要進一步校正,以修改其中的錯誤,積累字庫,針對票據圖像中出現的不同字體,可以生成字體特征文件,識別流程如圖3 所示。
訓練完成后生成會計票據字庫,將字庫文件拷貝到Tesseract 安裝目錄下的Tessdata 文件內,即可調用字庫進行會計票據圖像的識別。根據經驗數據分析,基于Tesseract 的字符識別,需要確保每個字符最小的數量樣本,對于不經常出現的字符至少需要10 次的數量樣本,出現特別頻繁的字符至少需要20 次的數量樣本。如果訓練樣本數量較少,會影響識別的準確率,解決辦法為增加訓練樣本數量,這是提高識別率的最根本、最有效方法。
對文字識別后生成的文本文件,依次讀出行列對應的文字信息并寫入表格。對于表格中的數據,按照會計科目等類別,進行統計歸類、分類匯總,形成會計信息表,方便進一步根據實際需求編制財務表格。在文本數據導入并匯總成表格時,針對OCR 識別過程中可能出現的錯誤,還需引入糾錯程序,使用相似度算法對可能出現的錯誤進行自動糾錯,并提供手動糾錯提示。
基于Tesseract 的會計票據圖像識別系統,借助圖像處理技術和開源OCR 識別引擎提供一種低成本的會計票據圖像識別方案,該方案對120 張樣本票據進行試驗,總體識別率為93.57%,準確率相對較高,可以基本滿足會計工作需求,但仍然存在個別識別錯誤,需要手動校對。在后續的實踐應用中還要不斷完善其功能,改進圖像預處理能力并積累字庫,進一步提高識別準確率和效率,提高會計信息處理效率和智能化水平。