• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    中文字符識別系統(tǒng)的研究與實現(xiàn)

    2020-11-13 02:02:24王凌燕
    吉林大學學報(信息科學版) 2020年2期
    關鍵詞:字符識別分塊字符

    王凌燕

    (山西傳媒學院 融媒技術學院, 山西 晉中 303619)

    0 引 言

    隨著我國經(jīng)濟的發(fā)展, 各行業(yè)各領域經(jīng)濟交流活動不斷增多, 每天都產(chǎn)生大量的紙質(zhì)合同、 表單表據(jù)等文件, 而由人工處理這些文件的工作量大, 且容易產(chǎn)生錯誤, 因而紙質(zhì)文件的電子化處理需求不斷提高。而現(xiàn)有的基于模式識別的OCR(Optical Character Recognition) 系統(tǒng)識別速度慢, 且對字跡清晰度和圖片亮度的依賴性較大。針對上述問題, 筆者提出了一種基于DAG-SVM(Directed Acyclic Graph Support Vector Machine)的OCR識別系統(tǒng)。

    OCR(Optical Character Recognition)指利用計算機技術將光學圖片信息中的字符進行識別、 提取, 從而得到可編輯的電子文本[1]。OCR識別系統(tǒng)通常分為3部分: 圖像預處理、 分割和字符識別。OCR識別系統(tǒng)性能的提高也是通過對這3個模塊的研究與改進實現(xiàn)的。

    圖像預處理包括灰度化處理(最大值法、 均值法和加權平均值法)、 圖像濾波(空域和頻域)、 歸正處理。圖像分割包括二值化(迭代閾值法、 大方法、 灰度直方圖法和分塊閾值法等)和字符分割。字符識別的算法主要分為三大類: 模板匹配法、 神經(jīng)網(wǎng)絡識別法和統(tǒng)計支持向量機法。

    通過文字識別的特性以及對各算法的仿真研究, 筆者采用加權平均值法對圖像進行灰度化處理, 利用空域算法中的直方圖均衡化算法完成圖像濾波, 選擇迭代閾值法和分塊閾值法相結合的算法進行圖像二值化, 采用投影算法分橫向和縱向兩次進行字符分割處理。在字符識別的幾種算法中, 模板匹配法的算法簡單, 其缺點是抗干擾性差, 神經(jīng)網(wǎng)絡算法的缺點是算法復雜, 實現(xiàn)相對比較困難, 因此筆者對支持向量機算法SVM(Support Vector Machin)進行了改進, 采用有向無環(huán)圖SVM(DAG-SVM)算法進行字符識別處理。

    1 系統(tǒng)概述

    筆者將基于模式識別的OCR識別系統(tǒng)分為3部分: 圖像預處理、 分割和字符識別, 并分別對3個模塊的算法進行了研究及實現(xiàn)。實驗結果表明, 該系統(tǒng)識別率及速度均有提高。

    圖1 系統(tǒng)架構圖Fig.1 System architecture diagram

    系統(tǒng)的框架結構圖如圖1所示, 依次將待處理圖片經(jīng)過圖像預處理、 分割和字符識別后, 提取出圖片中的信息, 獲得文本類型的信息。其中3個模塊的主要功能如下。

    1) 圖像預處理。圖像預處理是OCR識別系統(tǒng)的一個重要步驟, 因為圖像在生成過程中經(jīng)常會受到一些噪聲的影響而造成圖片質(zhì)量下降, 比如光照的強弱變化、 角度的傾斜等都會給字符識別造成困難。因此, 必須對圖像進行預處理, 主要包括圖像濾波、 灰度化處理和歸正處理等。

    2) 圖像分割。在進行圖片信息的字符識別前, 通常還需要進行圖像分割處理, 即將待處理的圖像經(jīng)特定的算法分成一定數(shù)量特定區(qū)域, 以突出OCR識別所關注的目標。圖像分割技術同樣是OCR識別的關鍵環(huán)節(jié), 主要包括二值化處理和圖像分割, 為后續(xù)OCR識別提供訓練及測試樣本。

    3) 字符識別。其核心內(nèi)容為基于模式識別算法, 對圖像分割所得區(qū)域進行識別并輸出結果。OCR識別算法主要包括模板匹配法、 神經(jīng)網(wǎng)絡分類法和支持向量機分類法等。

    筆者下面對3個模塊的具體算法設計及實現(xiàn)進行詳細闡述。

    2 圖像預處理

    圖像預處理的主要內(nèi)容包括灰度化處理、 圖像濾波和圖像歸正。

    2.1 灰度化處理

    通常需要處理的圖像均為彩色圖片格式, 彩色圖像包含RGB(Red Green Blue)3個基色的像素值, 信息量較大。在圖像識別處理中, 需要對其進行灰度處理, 從而降低圖像大小, 提高處理效率。

    圖像灰度化即對圖像的RGB3個通道的灰度值進行計算, 將24 bit像素的圖像變換為8 bit圖像, 主要分為3類: 最大值法、 均值法和加權平均值法[2]。

    該系統(tǒng)采用加權均值法對圖像灰度化進行處理, 灰度處理效果如圖2所示。

    圖2 灰度化處理結果Fig.2 Grayscale processing results

    具體采用的灰度值H計算公式如下

    H=k0R+k1G+k2B

    (1)

    k0+k1+k2=1

    (2)

    其中R、G、B分別為3通道的像素值,k0、k1、k2為像素的加權值。根據(jù)人眼對綠色、 紅色、 藍色3個基色的敏感度高低, 選取3個參數(shù)的值依次為0.3,0.59,0.11。

    2.2 圖像濾波

    待處理的圖片由于光照、 背景等拍攝條件不同, 會加入不同程度的噪聲, 因而要從圖像中提取信息, 首先要對其進行濾波處理, 從而減少噪聲, 提高圖片質(zhì)量。圖像濾波方法主要包括空域和頻域兩種, 空域算法即在圖片空間內(nèi)對灰度像素值進行計算, 其算法比較簡單, 但會造成一定的像素失真; 頻域算法指將圖像變換到頻域中進行處理, 失真較小[3], 但其實現(xiàn)比較復雜。

    該系統(tǒng)處理的圖片對象中, 通常只關心其中的字符區(qū)域, 而其背景等因素則不予考慮, 且要求具有一定的實時性。綜合上述考慮, 該系統(tǒng)采用空域算法中的直方圖均衡化算法完成圖像濾波。

    一幅8 bit圖像在范圍[0,255]內(nèi)共有L個灰度級, 其直方圖定義為離散函數(shù)h(rk)=nk, 其中rk為區(qū)間[0,L]內(nèi)的第k級亮度,nk是灰度級為rk的圖像中的像素數(shù)。具體直方圖均衡化算法由Matlab的工具箱函數(shù)histeq()實現(xiàn)。濾波前后的頻譜圖如圖3所示, 由圖3可以看出, 濾波加強了圖像的主頻譜。

    圖3 濾波前后的頻譜圖Fig.3 Spectrum before and after filtering

    2.3 圖像歸正

    該系統(tǒng)圖像歸正的處理主要針對傾斜圖像的調(diào)整, 具體算法如下。

    1) 圖像邊緣檢測。采用Hough變換算法完成圖像的邊緣檢測[4], 形成圖像的邊緣矩形。

    2) 傾斜處理。根據(jù)檢測所得的矩形, 計算與X軸、Y軸方向的夾角, 并通過矩陣變換對圖像進行傾斜處理。

    圖像歸正實現(xiàn)的效果如圖4所示。

    圖4 圖像傾斜處理效果圖Fig.4 Image processing effect

    3 圖像分割

    圖像分割分為兩個步驟實現(xiàn): 二值化和字符分割。

    3.1 二值化處理

    二值化, 顧名思義, 是將整個圖像的灰度值分割為兩個數(shù)值。二值化的過程, 即將圖像每個像素的灰度值處理在{0,1}區(qū)間內(nèi)。二值化后的圖像, 是一個取值只有0和1的邏輯數(shù)組, 可降低圖像處理的復雜度。

    圖像二值化的主要算法包括: 迭代閾值法、 大方法、 灰度直方圖法和分塊閾值法等[5]。筆者對上述算法, 使用Matlab分別進行仿真實驗, 并根據(jù)仿真結果, 最終決定選擇迭代閾值法和分塊閾值法相結合的算法。

    3.1.1 迭代閾值法

    圖5 迭代閾值法流程圖Fig.5 Flow chart iterative threshold method

    迭代閾值算法二值化的流程圖如圖5所示。該算法首先采用迭代算法求取最佳閾值, 再對圖像進行二值化處理, 相比于單一閾值法二值化誤差更小。

    3.1.2 分塊閾值法

    分塊閾值法即首先對將圖像進行分塊, 隨后對每一個分塊分別采用單一閾值法進行二值化, 該算法可減小不均勻光照引起的二值化誤差, 根據(jù)Matlab試驗結果, 在2×3分割情況下, 分塊閾值法的二值化效果最佳。

    3.1.3 分塊迭代閾值法

    該系統(tǒng)采用二值化算法為上述兩種算法的結合, 即分塊迭代閾值法。具體實現(xiàn)過程為: 首先對圖像進行2×3的分塊, 然后對每個分塊采用迭代閾值法進行二值化處理。二值化實現(xiàn)的效果如圖6所示。

    圖6 二值化效果圖Fig.6 Binary effect diagram

    3.2 字符分割

    字符分割是對二值化處理后的圖像進行切割, 獲取字符圖片塊。該系統(tǒng)處理的圖片信息一般橫向填寫, 而字符之間存在空隙, 因此采用投影算法分橫向和縱向兩次進行分割處理[6]。

    3.2.1橫向分割

    橫向分割的具體步驟如下:

    1) 建立數(shù)組, 數(shù)組的長度為圖像的總行數(shù);

    2) 分別對圖像每行的灰度值進行累加, 并保存;

    3) 對得到的數(shù)組值進行掃描, 判斷相鄰位置的數(shù)組中保存的灰度累加值是否為0, 若不為0, 則與當前數(shù)組位置進行聚合, 依次根據(jù)每行的灰度值, 對相鄰數(shù)組位置的數(shù)值是否為零進行判斷, 完成聚合, 并將聚合所得結果進行保存;

    4) 對第1次聚合所得的結果, 可能存在干擾信息, 因而根據(jù)結果計算閾值, 大于該閾值的才能達到聚合要求, 小于該閾值的按空白行設置, 將干擾信息去除后, 最終可得橫向分割結果。

    圖7為橫向切割結果其中一行的效果圖。

    3.2.2 縱向分割

    基于橫向分割所得的結果繼續(xù)進行縱向分割, 其原理與橫向分割類似, 縱向分割的步驟如下:

    1) 對每個聚合的行塊, 建立數(shù)組, 數(shù)組長度為圖像的列寬;

    2) 縱向?qū)γ苛械幕叶戎颠M行累加并保存于數(shù)組;

    3) 類似于橫向分割的方法, 對縱向的數(shù)組值依據(jù)相鄰數(shù)組位置的灰度值是否為0進行聚合, 得到縱向聚合塊;

    4) 此時所得聚合塊的內(nèi)容主要為字符, 因而采用閾值法將過大或過小的聚合塊去除, 最終可得縱向分割結果。

    縱向分割的結果如圖8所示, 經(jīng)過閾值處理后僅保留漢字, 去除其中二維碼部分的圖片。

    圖7 橫向切割結果 圖8 縱向切割結果 Fig.7 Transverse cutting results Fig.8 Longitudinal cutting results

    3.3 歸一化處理

    經(jīng)過圖像預處理及分割后, 所得到的字符塊圖像的尺寸存在差別, 直接進行字符識別會造成圖像特征不一致。因此, 在進行圖像分割后的字符圖像需要進行歸一化處理。

    本系統(tǒng)分割后的圖像大小平均值為30.95×32.11, 因此將所有的字符塊經(jīng)過插值/取值計算, 歸算得到32×32像素大小的圖像。

    4 字符識別

    OCR字符識別的算法主要分為3大類: 模板匹配法、 神經(jīng)網(wǎng)絡識別法和統(tǒng)計支持向量機法。

    4.1 模板匹配法

    模板匹配法即將測試樣本與模板進行相似性比較, 通過計算得到相似度最高的模板, 即為模板匹配法的識別結果。模板匹配法主要包括兩種: 一是將字符圖像經(jīng)點陣化處理后, 與標準的模板匹配提取特征進行比較; 二是首先對字符圖像塊進行特征提取, 然后再與模板進行比對。模板匹配法的算法簡單, 其缺點是抗干擾性差[7]。

    4.2 神經(jīng)網(wǎng)絡識別

    圖9 DAG-SVM多分類器示意圖Fig.9 Schematic diagram of DAG-SVM multiple classifiers

    神經(jīng)網(wǎng)絡由若干簡單原件以一定的層次組成, 并行連接構造而成網(wǎng)絡, 其輸入和輸出的變換關系一般是非線性的, 具有一定的自學習、 自適應特點。神經(jīng)網(wǎng)絡目前廣泛應用于模式識別領域, 具有學習能力強、 容錯性好等特點[8]。神經(jīng)網(wǎng)絡算法的缺點是算法復雜, 實現(xiàn)相對比較困難。

    4.3 支持向量機法

    支持向量機(SVM)[9-10]是基于統(tǒng)計學習理論發(fā)展起來的, 主要用于二類線性可分問題。其基本思想為: 首先選取合適的核函數(shù), 主要包括多項式、 徑向基函數(shù)、 雙曲正切等, 將低維空間的樣本通過非線性映射到高維特征空間中; 求解最優(yōu)分類超平面, 其結果對應低維空間的非線性分類面[9]。SVM算法在解決非線性識別問題中擁有不可替代的優(yōu)點。

    由于SVM主要用于二分類問題[11], 因此本系統(tǒng)對支持向量機算法進行了改進, 采用有向無環(huán)圖SVM(DAG-SVM)[12]。該算法的原理是在訓練階段訓練k(k-1)/2個二類分類器, 在測試階段構造一個有向無環(huán)圖(見圖9), 在進行決策時, 依次對類別進行判斷。

    5 實驗結果

    表1 字符識別結果

    該系統(tǒng)采用60幅圖像進行了字符識別, 并基于Matlab對模板匹配法、 神經(jīng)網(wǎng)絡法和DAG-SVM算法分別進行了仿真實驗, 結果如表1所示。

    由表1可以看出, 按照識別率排序依次為神經(jīng)網(wǎng)絡法、 DAG-SVM算法和模板匹配法, 但考慮到神經(jīng)網(wǎng)絡算法的訓練時間長且實現(xiàn)比較復雜, 因此該系統(tǒng)選擇DAG-SVM算法作為字符識別的算法。

    6 結 語

    筆者提出了一種基于模式識別的OCR字符識別系統(tǒng), 主要包括3個模塊: 圖像預處理、 分割和數(shù)字識別。圖像預處理主要完成濾波、 圖像灰度化和傾斜處理等; 圖像分割包括二值化處理、 字符分割、 歸一化, 完成對字符圖像的切割; 字符識別則對分割所得的圖像進行識別。該系統(tǒng)對字符識別的3類算法進行了研究及Matlab仿真, 綜合識別率及實現(xiàn)復雜性選擇DAG-SVM算法。經(jīng)過仿真試驗, 該系統(tǒng)的識別率為92.86%。下一步工作的重點是研究識別率更高的字符識別算法, 將人工智能前沿的深度神經(jīng)網(wǎng)絡與字符識別進行結合。

    猜你喜歡
    字符識別分塊字符
    尋找更強的字符映射管理器
    分塊矩陣在線性代數(shù)中的應用
    字符代表幾
    一種USB接口字符液晶控制器設計
    電子制作(2019年19期)2019-11-23 08:41:50
    消失的殖民村莊和神秘字符
    一種改進深度學習網(wǎng)絡結構的英文字符識別
    儀表字符識別中的圖像處理算法研究
    反三角分塊矩陣Drazin逆新的表示
    基于自適應中值濾波的分塊壓縮感知人臉識別
    基于CUDA和深度置信網(wǎng)絡的手寫字符識別
    湖南省| 会泽县| 奎屯市| 新巴尔虎左旗| 凤凰县| 永兴县| 洛川县| 扎囊县| 英超| 芜湖市| 攀枝花市| 大安市| 万全县| 永寿县| 石楼县| 湟源县| 海口市| 汨罗市| 嵊州市| 榆林市| 尚义县| 澎湖县| 青岛市| 闵行区| 中西区| 朝阳区| 永修县| 武山县| 昌图县| 盐亭县| 酒泉市| 本溪市| 府谷县| 江安县| 湟中县| 苍南县| 忻州市| 虹口区| 鄂托克旗| 广宁县| 淳安县|