馮志昕,楊景皓,李鑫龍,周翔,王震
(中國礦業(yè)大學(北京),北京 100083)
隨著科技的迅速發(fā)展,人們對電子文檔的使用不斷增加。如何從文檔圖像中準確地提取出文本信息成為一個亟待解決的問題。近幾十年來,國內(nèi)外科研工作者不斷探索、不斷開發(fā),從最早的光學字符識別器,到如今利用手機便可提取圖像中的文字,文檔圖像識別技術已日益成熟。在文字識別的過程中,圖像本身因素和外界因素,如反光、局部遮擋、圖像污損、傾斜拍攝等,都會對文字識別的精確度帶來很大的誤差。因此,在文檔識別之前,對圖像進行預處理和傾斜校正便顯得十分重要。
灰度化處理、二值化處理、去噪處理和傾斜校正是圖像預處理操作當中一些基本的步驟。本文通過對現(xiàn)有的幾種常用的預處理算法進行對比實驗,得到了一套完整的圖像預處理方法。
目前絕大多數(shù)拍攝的圖像采用的顏色模式都是RGB模式,考慮到文本識別的特性,冗余顏色信息的去除一定程度上可以增加識別準確率和運算速度,為此對圖像進行灰度化,并進行后續(xù)的二值處理。常見的灰度化處理方法包括伽瑪矯正法、平均值法和加權均值法。
(1)伽瑪校正法。伽瑪校正是為了使輸出圖像的灰度值與輸入圖像的灰度值呈指數(shù)性關系,對輸入圖像計算出的灰度值進行非線性操作。伽瑪校正由以下冪律表達式定義:
其中:表示一個常量,通常取值為1,一般[0,1]為輸入輸出范圍;為非負實數(shù)值;當<1時光照強度變強,當>1時光照強度變?nèi)酢?/p>
(2)計算最大值法。彩色圖像中RGB三部分中的最大的值作為我們所求的灰度圖像中像素點對應的灰度值,我們這樣做的目的是為了能夠讓圖像變得更加突出,從而更容易觀察。它的數(shù)學表達式為:
(3)加權均值法。按一定權值灰度化后,對、、的值進行加權平均。即:
出現(xiàn)在上式中的分別是、、的權值。因為人的眼睛對綠色的敏感度最高,其次是紅色,對藍色的敏感度最低,基于此對三種顏色分量賦予不同的權重。通常情況下,ω=0.21、ω=0.72、ω=0.07。其數(shù)學表達式如下:
對圖像進行二值化處理是將圖像中灰度值處在某一特定值以下的像素點的灰度值設置為0,閾值以上的像素點的灰度值設置為1,其中“0”表示純黑,“1”表示純白。二值化處理的關鍵在于閾值的選取,可以分為動態(tài)閾值計算法、局部閾值計算法和全局閾值計算法三種。常見方法包括全局閾值計算法中的Otus(大津算法)和局部閾值計算法中的Sauvola算法。
(1)大津算法。大津算法(Otsu),又稱為最大類間方差法。它假定輸入進去的圖像根據(jù)其設定的某一特殊值可將圖像分成目標和背景兩個組成部分,然后再通過計算讓這兩個部分的類間方差變得最大,同時要讓它們之間的錯分概率最小,最后將類間方差中最大的值來作為目標最佳的閾值。
(2)Sauvola算法。Sauvola算法是針對文檔二值化處理的,其原理是以當前的像素點為中心,然后動態(tài)地計算出這一像素點的閾值,根據(jù)當前像素點的鄰域計算出的灰度均值與標準方差。
我們在日常生活拍攝的圖像中可能會存在各種妨礙人們獲取想要信息的因素,我們把這些可能妨礙我們獲取信息的因素統(tǒng)稱為圖像噪聲。圖像中一般存在的噪聲主要有椒鹽噪聲和高斯噪聲兩種。本小節(jié)將主要介紹這兩種噪聲以及去除這兩種噪聲是我們可能會用到的處理手段。
1.3.1 噪聲的主要類別
(1)椒鹽噪聲。所謂椒鹽噪聲,椒為黑,鹽為白,是一種白色或黑色的像素點,可能是在明亮的區(qū)域內(nèi)有黑色的像素點或是在黑暗的區(qū)域內(nèi)有白色的像素點。椒鹽噪聲往往是由圖像切割引起的。椒鹽噪聲的概率密度函數(shù)可以表示為:
(2)高斯噪聲。高斯噪聲在圖像噪聲當中較為常見,主要是以麻點的形式存在于圖像當中。高斯噪聲的概率密度函數(shù)服從正態(tài)分布,可以表示為:
其中,表示灰度值,表示均值或期望,表示的標準差。
1.3.2 降噪方法研究
(1)中值濾波。針對椒鹽噪聲的問題,比較好的濾除脈沖噪聲的方法是應用中值濾波,中值濾波是非線性濾波器技術的一種。通常使用一個含有奇數(shù)個像素點的滑動窗口實現(xiàn)這個功能,用滑動窗中數(shù)據(jù)的中值來代替中心點的灰度值,從而消除孤立的噪聲點。常用的中值濾波窗口形狀有線形、矩形、圓形以及十字形。
(2)高斯濾波。高斯濾波能夠平滑圖像并抑制高斯噪聲。其方法是用一個奇數(shù)位的滑動窗口掃描目標像素點并對窗口中的像素點進行加權平均,最后用這個加權平均值來代替目標像素點的灰度值
在經(jīng)過灰度化、二值化、去噪處理之后的圖像,還需要對其進行傾斜校正,統(tǒng)一文字的方向。準確的找出文檔圖像的傾斜角是圖像傾斜校正的關鍵所在。角度檢測算法可以分為以下四類,分別是:投影法、霍夫變換法、傅里葉變換法、近鄰法。本小節(jié)將介紹傾斜校正中比較常用的兩種方法,投影法和霍夫變換法及相關的研究工作。
1.4.1 投影法
以投影為基礎的校正方法,主要是利用圖像水平和垂直方向的投影特征來進行傾斜判斷。主要用到投影一些常見的統(tǒng)計特性。在圖像投影時,對于一條直線,最短是沿著他的水平方向投影,最長是沿著他的垂直方向投影,如圖1所示,我們將此稱為Radon變換。
圖1 矩形函數(shù)在水平垂直方向和沿θ角方向的投影
投影角度可以是任意的,通常情況下(,)的Radon變換是(,)平行于軸的線積分,格式如下:
1.4.2 霍夫變換法
霍夫變換法主要是通過坐標空間變換,將直角坐標系中圖像各個像素點的位置轉(zhuǎn)換到對應的極坐標系中去,通過分析極坐標系中點位置的特點來檢測出原圖像的傾斜角度。
具體的霍夫變換原理介紹如下所示:假設圖像空間內(nèi)有一條直線為=+。其中,表示直線的斜率,表示直線的截距。同樣,此直線也可以用極坐標如下表示:
上式中,表示原點到直線的垂直距離,表示垂線與軸所成的夾角。該式可以進一步改寫為:
圖2中,當左圖空間坐標系中直線上的多個點映射到右圖的極坐標系中時,會在極坐標系中形成多個曲線,這些曲線會有一個共同的交點,該交點處的和值便是笛卡爾坐標系中直線的和的數(shù)值。在進行霍夫變換過程中,同一直線上的不同點映射到極坐標系時,極坐標系中(,)點處上的直線個數(shù)會不斷累加,該點就會形成一個峰值。在極坐標系中尋找此類峰值便可以推導出圖像空間中直線的存在,而峰值對應的點的縱坐標便是直線的傾斜角度,可以用此傾角來表示圖像的傾斜情況。
圖2 霍夫變換表示方法
對于系統(tǒng)設計,圖像預處理和文字識別兩種操作通常是字符識別系統(tǒng)的主要功能。設計的可視化系統(tǒng)從這些常用的操作出發(fā),隱藏了算法實現(xiàn)的細節(jié)。主要功能如圖3所示。
圖3 可視化系統(tǒng)主要功能
(1)灰度化:綜合本次研究對象的具體情況,最終擇加權均值法作為系統(tǒng)灰度化處理的方法,這樣更符合人類眼睛審美,也便于后續(xù)的圖像分割和圖像識別;
(2)二值化:盡管大津算法更好的適用于雙峰圖像,但是對于多峰圖形,只需對大津算法稍加擴展也可以完成,基于此,本系統(tǒng)選擇Otsu對圖像進行二值化處理操作;
(3)除噪:高斯白噪聲作為圖像中最常見的噪聲,高斯濾波器也會被廣泛應用。它的一個優(yōu)點是,高斯函數(shù)經(jīng)過傅里葉變換之后仍舊為高斯函數(shù)的形式,本系統(tǒng)基于高斯函數(shù)本身具有的優(yōu)點,采用高斯函數(shù)對圖像做濾波處理;
(4)傾斜校正:綜合考慮準確率、運行時間、平均誤差等參數(shù),系統(tǒng)選擇投影方法作為文檔圖像傾斜校正的方法。
2.2 測試實驗
GUI識別界面及識別結(jié)果如圖4所示。
圖4 GUI識別界面及識別結(jié)果
本文基于百度文字識別API,利用Qt Designer開發(fā)出了一個文字識別系統(tǒng)的工具,主要的研究工作是對文檔圖像預處理階段各個步驟不同算法之間的比較。通過實驗得出,在識別圖像較亮的情況下,本系統(tǒng)采用加權灰度化的方法,使用大津算法進行二值化,針對圖片中比較常見的高斯噪聲,采用高斯濾波進行去噪,最后采用投影法進行傾斜校正,調(diào)用百度API進行文字識別。
面對現(xiàn)實生活中拍攝圖片的隨機性,比如污點、光照不均勻等,本系統(tǒng)在預處理和識別方面還需要進一步的改進。除此之外,隨著研究的進一步深入,可以在純文字圖像識別的基礎上,進行公式識別,實現(xiàn)更加復雜的功能。