馮 炎,陳汝真
(西藏大學(xué) 信息科學(xué)技術(shù)學(xué)院,西藏 拉薩 850000)
圖像二值化是古籍文檔圖像數(shù)字化修復(fù)的關(guān)鍵預(yù)處理步驟,同時圖像二值化算法也是學(xué)者們研究的熱點(diǎn)問題之一。Kovesi[1]提出了一種圖像相位保持降噪方法,Nafchi等[2]的結(jié)果表明相位保持降噪方法能夠提高圖像二值化算法的性能。Lu等[3]提出了一種基于背景和筆劃寬度估計的二值化算法,實(shí)驗(yàn)結(jié)果表明了該算法的有效性。Howe[4]提出了基于拉普拉斯能量的最優(yōu)化全局能量函數(shù)計算方法,并采用圖割算法分割文本和背景,接著,Howe[5]通過調(diào)整圖像的關(guān)鍵參數(shù)設(shè)置來提高算法性能,但該算法對退化嚴(yán)重的古籍二值化效果不理想。Cheriet等[6]通過提取特征和最優(yōu)參數(shù),學(xué)習(xí)所提取特征和最優(yōu)參數(shù)之間的關(guān)系,提出了基于學(xué)習(xí)框架的最優(yōu)參數(shù)自動選擇算法。Ballaprakash等[7]采用競賽機(jī)制(racing algorithms)自適應(yīng)調(diào)整算法中的參數(shù)設(shè)置,實(shí)驗(yàn)結(jié)果顯示,該方法能夠有效調(diào)整算法中的參數(shù)設(shè)置并取得了較好的結(jié)果,并用迭代弗里德曼競賽機(jī)制(iterated fried man racing algorithms,I/F-Race)進(jìn)一步改進(jìn)了算法[7]。綜上所述,雖然學(xué)者們提出了多種二值化算法,然而這些方法對于退化嚴(yán)重的古籍二值化效果仍然不理想[8]。I/F-Race方法能夠調(diào)整算法參數(shù),但該方法根據(jù)不同的應(yīng)用場景有多種實(shí)現(xiàn)方式,主要體現(xiàn)在I/F-Race方法擬合函數(shù)選擇、參數(shù)初始值設(shè)置、候選參數(shù)配置抽樣方案和最優(yōu)候選參數(shù)配置選擇方法的不同。本文根據(jù)I/F-Race方法原理和Howe[5]的二值化算法存在的問題,設(shè)計了一種基于離線參數(shù)調(diào)整的古籍圖像二值化算法。
(1)
(2)
(3)
其中,μij和σij分別表示局部均值和局部方差,方差σij計算方法見Howe算法[5],φ是一個較大的負(fù)數(shù)。
從實(shí)驗(yàn)結(jié)果得知,Howe算法[5]對退化嚴(yán)重的古籍圖像二值化效果不理想,原因是Howe算法中μij是窗口半徑為r的古籍原始圖像局部均值,要求窗口半徑r足夠大并且至少是文本筆劃寬度的幾倍,然而,當(dāng)r太大時所求局部均值會忽略局部細(xì)節(jié),當(dāng)r太小時局部均值又容易受局部文本像素的影響偏小,因此,Howe算法中的局部均值μij估計值不準(zhǔn)確。根據(jù)圖割算法原理分析得知,該均值應(yīng)該是背景局部均值,而非背景和文本混合在一起的古籍原始圖像局部均值。
為解決Howe算法局部均值估計值μij不準(zhǔn)確的問題,提出了一種背景局部均值μij估計方法,所提算法分為3步:第一,通過3種不同的降噪算法對退化古籍圖像進(jìn)行降噪,從而消除古籍背景信息并確定古籍文本區(qū)域,同時要確保降噪后的古籍圖像文本召回率盡可能高;第二,將以上降噪結(jié)果作為背景修復(fù)模板并結(jié)合Ntirogiannis的圖像修復(fù)算法[9]估計古籍背景;第三,用窗口半徑為rc的高斯平滑算法進(jìn)一步消除殘留文本信息,從而獲得較為準(zhǔn)確的古籍背景局部均值估計值μij。
第一次降噪是采用窗口半徑為ra的高斯平滑算法估計古籍背景,并對古籍圖像I進(jìn)行背景補(bǔ)償從而去除大塊背景噪聲,降噪后的結(jié)果Ic計算方法如下
(4)
式中:gsmooth為高斯平滑算法。
第二次降噪是采用Kovesi提出的相位保持降噪[1]算法,該算法認(rèn)為相位信息是圖像中最重要的特征,使用非正交的復(fù)值log-Gabor小波提取圖像中每個點(diǎn)的局部相位和幅度信息,同時保留感知上重要的圖像相位信息,降噪過程是在每個小波尺度下確定噪聲閾值,并在保持相位不變的前提下適當(dāng)縮小濾波器幅度響應(yīng)。用Kovesi算法對以上結(jié)果Ic進(jìn)行降噪,從而去除文本附近的噪聲,降噪后的結(jié)果Ik計算方法如下所示
Ik=kovesi(Ic)
(5)
式中:kovesi() 為相位保持降噪算法。
Lu等[3]提出的基于背景和筆劃寬度估計的二值化算法是通過估計古籍圖像背景來補(bǔ)償古籍圖像存在的退化現(xiàn)象,本文第三次降噪時采用了該算法思想。第三次降噪時先對以上結(jié)果Ik進(jìn)行歸一化,然后采用Otsu算法[10]對歸一化后的Ik二值化,接著對該二值化結(jié)果進(jìn)行數(shù)學(xué)形態(tài)學(xué)腐蝕操作來補(bǔ)償二值化過程所丟失的文本信息,從而粗略確定文本區(qū)域并用Inoe表示,其中腐蝕半徑為rb。最后去除第二次降噪結(jié)果Ik中除文本區(qū)域Inoe之外的背景噪聲,用Ike表示,方法如下
Ike(i,j)=Ik(i,j)×Inoe(i,j)
(6)
接著,對Ike依次進(jìn)行歸一化、Otsu二值化[10]以及數(shù)學(xué)形態(tài)腐蝕操作來進(jìn)一步去除背景噪聲,得到最終降噪結(jié)果,從而確定文本區(qū)域,其中腐蝕半徑為rb。
算法過程演示如圖1所示,示例圖片選自H-DIBCO 2018數(shù)據(jù)集[11]。從圖1可以看出,與Howe算法相比,本文算法更能夠體現(xiàn)背景細(xì)節(jié),同時本文算法所估計的背景局部均值包含文本信息相對少一些。
圖1 背景局部均值估計結(jié)果對比
競賽機(jī)制可以解決有多種候選解的問題,該方法執(zhí)行時需要從給定的實(shí)例集選取一些訓(xùn)練實(shí)例,每個候選解都在相同的實(shí)例上進(jìn)行計算,在競賽過程中淘汰表現(xiàn)差的候選解,該方法也可以解決從一組候選算法參數(shù)中選擇最優(yōu)參數(shù)的問題。算法參數(shù)調(diào)整問題被視為泛化問題,就像在其它領(lǐng)域(例如機(jī)器學(xué)習(xí))一樣,根據(jù)給定的一組訓(xùn)練實(shí)例集,目標(biāo)是確定算法參數(shù)配置使其在不可見的測試實(shí)例上性能表現(xiàn)最優(yōu)。Ballaprakash等[7]采用競賽機(jī)制算法思想提出了一種算法參數(shù)調(diào)整方法,該方法是在特定的訓(xùn)練實(shí)例上對候選參數(shù)配置依次進(jìn)行測評,淘汰遠(yuǎn)遠(yuǎn)落后于當(dāng)前的最優(yōu)參數(shù)的某個候選參數(shù)配置,其中,最優(yōu)參數(shù)是在競賽過程的某一個階段表現(xiàn)最好的候選參數(shù)。I/F-Race[7]采用迭代弗里德曼競賽機(jī)制進(jìn)行離線算法參數(shù)設(shè)置,算法使用弗里德曼檢驗(yàn),在給定的訓(xùn)練實(shí)例上對每個候選參數(shù)配置的評估性能進(jìn)行排序并計算秩次和,用以決定在某一給定步驟中需要刪除哪些候選參數(shù)配置,并且在每次迭代中,新采樣的候選參數(shù)配置都會偏差于先前迭代中尚存的候選參數(shù)配置,以此方式將候選參數(shù)配置的采樣集中在性能較優(yōu)的參數(shù)配置周圍。但是I/F-Race方法中擬合函數(shù)、參數(shù)初始值設(shè)置和候選參數(shù)配置采樣方案需要根據(jù)不同的算法應(yīng)用做相應(yīng)的調(diào)整。本文根據(jù)Mesquita等對I/F-Race的解釋[12]給出二值化算法的參數(shù)配置調(diào)整方法,并根據(jù)本文二值化算法的特點(diǎn)重新設(shè)計了I/F-Race中的參數(shù)初始值設(shè)置、候選參數(shù)配置抽樣方案和最優(yōu)候選參數(shù)配置選擇方法。
參數(shù)離線調(diào)整算法包含離線訓(xùn)練和測試兩個階段,離線訓(xùn)練時,在有限的時間內(nèi)通過給定實(shí)例集確定最優(yōu)參數(shù)配置,使得算法以某種度量標(biāo)準(zhǔn)達(dá)到性能最優(yōu),訓(xùn)練實(shí)例集盡可能包含測試階段遇到的各種實(shí)例,以期得到最優(yōu)結(jié)果,然后在測試階段,算法采用訓(xùn)練所得參數(shù)在一組實(shí)例上執(zhí)行。為了清楚起見,假設(shè)本文二值化算法具有d個需要調(diào)整的參數(shù),每個參數(shù)的所有可能值之間的組合稱為參數(shù)空間X,我們的目標(biāo)是從參數(shù)空間X中通過某種抽樣方法選擇一種配置H使得給定的評價函數(shù)δ在實(shí)例集I上取值最小或最大化。參數(shù)離線調(diào)整方法具體實(shí)現(xiàn)分為3個步驟:第一,采用正態(tài)分布作為抽樣概率分布模型,并采用本文提出的候選參數(shù)配置抽樣方法從參數(shù)空間X中抽取新的參數(shù)配置;第二,通過競賽方法從所抽取的參數(shù)配置中選擇最優(yōu)參數(shù)配置;第三,更新概率分布模型方差,使下一次迭代時候選參數(shù)配置抽取偏向更好的參數(shù)配置。重復(fù)執(zhí)行這3步直到滿足終止條件。
在第一次迭代中,初始候選參數(shù)配置集H0是通過從參數(shù)空間X中均勻抽取得到,之后的迭代中,從參數(shù)空間中重新采樣候選參數(shù)配置。用Ns表示固定的候選參數(shù)配置數(shù),在參數(shù)離線調(diào)整每次迭代中,對經(jīng)過F-Race方法通過競賽選擇幸存下來的最佳的Nelite個候選配置,重新采樣Ns-Nelite個新的候選參數(shù)配置。新的候選配置會圍繞最佳配置進(jìn)行采樣,以便能夠發(fā)現(xiàn)更好的參數(shù)配置值。前一次迭代尚存的候選參數(shù)都有偏差于新采樣的候選參數(shù),也就是說新的候選參數(shù)是圍繞前一次尚存的候選參數(shù)周圍的其它參數(shù)采樣。
具體方法如下,首先對最佳的Ns個候選配置,標(biāo)出其在每個實(shí)例的評估結(jié)果秩次,然后,根據(jù)秩和從小到大排序,根據(jù)其秩rz(z=1,…,Ns) 對這Ns個精英配置進(jìn)行加權(quán),權(quán)重wz與其秩成反比,計算方法[12]如下
(7)
然后,需要循環(huán)Ns-Nelite次來采樣每個新的候選配置,每次循環(huán)時需要按權(quán)重隨機(jī)從最佳的Ns個候選配置中選擇一個較優(yōu)參數(shù)配置,假設(shè)隨機(jī)選擇一個較優(yōu)參數(shù)配置為Xi,在較優(yōu)參數(shù)配置兩旁即邊界為Xi∈[(Xi-Xi-1)/2,(Xi+1-Xi)/2] 的區(qū)間根據(jù)采樣概率分布模型隨機(jī)采樣一個值。若采樣的參數(shù)與已采樣的參數(shù)相同則重新采樣,若重復(fù)10次無法采到找新的值則結(jié)束循環(huán)。
本文采用基于弗里德曼競賽機(jī)制的F-Race算法[12]進(jìn)行最優(yōu)候選參數(shù)配置選擇。用Ii表示第i個實(shí)例,Hk表示競賽中在迭代k時仍然存在的候選配置。在F-Race第k次迭代,競賽機(jī)制順序?qū)⑺胁蓸雍蜻x參數(shù)配置在實(shí)例集I中每個實(shí)例Ii上執(zhí)行一次。
當(dāng)候選參數(shù)配置Hk中的每個參數(shù)在單個實(shí)例Ii上評估時,首先要查找該參數(shù)是否在上一次F-Race迭代中運(yùn)行過,若上一次F-Race用同樣的參數(shù)和實(shí)例執(zhí)行過,則取上一次的結(jié)果,否則執(zhí)行性能評估運(yùn)算,當(dāng)評估完成后,需要根據(jù)弗里德曼測試方法對評估結(jié)果進(jìn)行統(tǒng)計檢驗(yàn),來確定某些參數(shù)配置在實(shí)例Ii上的評估結(jié)果是否存在顯著的性能差異,如果有足夠的數(shù)據(jù)證明候選參數(shù)配置Hk中的某幾個參數(shù)配置的性能要差別于其它參數(shù)配置,該參數(shù)配置會被刪除。剩余的候選配置將繼續(xù)在下一個實(shí)例中運(yùn)行,若淘汰后剩余參數(shù)個數(shù)小于Nstop則F-Race提取結(jié)束。這個程序執(zhí)行直到所有實(shí)例執(zhí)行完后,對性能評估結(jié)果按相對秩和從小到大排列(按從優(yōu)到差),若結(jié)果個數(shù)大于Nmax,則取前Nmax個。
為了獲得更好的抽樣值,在參數(shù)離線調(diào)整方法每次迭代中都需要更新抽樣概率分布模型,抽樣概率分布模型為正態(tài)分布。而抽樣概率分布的方差std根據(jù)參數(shù)離線調(diào)整方法迭代計數(shù)器k的增加而減少,這樣就可以使候選配置越來越集中在性能最好的配置上,std計算方法如下[12]
std=1-2×k/10
(8)
本文實(shí)驗(yàn)訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)采用了H-DIBCO 2016[13]和H-DIBCO 2018[11]提供的古籍圖像數(shù)據(jù)集及相應(yīng)的基準(zhǔn)圖像,這些圖像數(shù)據(jù)集是具有不同退化類型的古籍圖像,使用這些數(shù)據(jù)集可以檢驗(yàn)本文所提算法是否有效。
實(shí)驗(yàn)采用了主觀實(shí)驗(yàn)演示和客觀實(shí)驗(yàn)評價對本文算法進(jìn)行評估??陀^實(shí)驗(yàn)采用了DIBCO[11]推薦的評價方法,具體是精確度(Precision)、峰值信噪比(peak signal to noise ratio,PSNR)、F值(Fmeasure)、距離倒數(shù)失真度量(distance reciprocal distortion,DRD)和錯誤分類處罰指標(biāo)(misclassification penalty metric,MPM)5種圖像客觀評價指標(biāo)。其中,Precision是指二值化結(jié)果所含文本像素個數(shù)的比例即正確率,指標(biāo)值越大說明算法精確度越高;PSNR是一種基于對應(yīng)像素點(diǎn)間的誤差質(zhì)量評價方法,該值越大說明圖像二值化效果越好;Fmeasure是可以兼顧準(zhǔn)確率和召回率的一種圖像二值化評價方法,該值越大說明結(jié)果越接近基準(zhǔn)圖像;DRD是一種圖像失真度評價方法,該值越小說明圖像二值化結(jié)果失真越?。籑PM是懲罰錯誤分類像素的方法,值越小表示錯誤分類越少。
實(shí)驗(yàn)選取了HoweAlg1[5]、HoweAlg3[5]、Niblack[14]、Bernsen[15]和Otsu[10]5個有代表性的二值化算法與本文算法進(jìn)行比較,其中,HoweAlg1和HoweAlg3是Howe[5]提出的兩種不同的二值化算法,本文算法是在HoweAlg1算法的基礎(chǔ)上做的改進(jìn)。
本文算法采用的保持相位降噪和邊緣檢測算法參數(shù)根據(jù)參考文獻(xiàn)設(shè)置[5]:k=1,nscale=5,mult=2,norient=3,softness=1,thi=0.4,tlo=0.1,sigE=0.6。本文局部背景均值古籍算法中的參數(shù)ra根據(jù)實(shí)驗(yàn)設(shè)置:ra=20,而參數(shù)rb和rc是本文的關(guān)鍵參數(shù),需要根據(jù)參數(shù)離線調(diào)整方法設(shè)置,根據(jù)該方法實(shí)驗(yàn)結(jié)果:rb=3,rc=3,意味著本文所估計的古籍背景局部均值是半徑rc=3的窗口內(nèi)的均值。
離線參數(shù)調(diào)整算法所需參數(shù)需要根據(jù)參考文獻(xiàn)[12]和本文算法實(shí)際情況進(jìn)行設(shè)置,參數(shù)說明如下:d是需要優(yōu)化設(shè)置的參數(shù)個數(shù);X是算法使用的候選參數(shù)空間,即為所有可能的參數(shù)組合,本文有兩個關(guān)鍵參數(shù),每個參數(shù)取值范圍都是1,2,…10,可能的參數(shù)組合有100個;I是訓(xùn)練實(shí)例集,本文選了10個具有代表性的訓(xùn)練樣本集合;Ns是通過實(shí)驗(yàn)定義的抽樣候選參數(shù)配置的數(shù)量;δ是擬合函數(shù),采用Fmeasure為擬合函數(shù)來評估二值化算法性能;Max_iter是I/F-Race最大迭代次數(shù);Nstop是每次迭代中F-Race終止條件;Nmax是競賽過程中保留的最大的最優(yōu)參數(shù)個數(shù)。具體設(shè)置如下:d=2,Ns=16,Max_iter=2+log2(d),Nstop=2+log2(d),Nmax=0.5×Ns。
本文在表1中給出了各二值化算法在H-DIBCO 2016數(shù)據(jù)集中10幅古籍圖像的二值化結(jié)果平均值對比,其中,Precision、PSNR和Fmeasure值是越大越好,而DRD和MPM值是越小越好。如表1所示,本文的算法的5種評價指標(biāo)即Precision值、PSNR值、Fmeasure值、DRD值和MPM值都是最優(yōu),其它幾個二值化算法各有優(yōu)劣,充分說明了本文算法的性能不僅優(yōu)越而且穩(wěn)定。
表1 各二值化算法在H-DIBCO 2016數(shù)據(jù)集的結(jié)果
表2中給出了不同二值化算法在H-DIBCO 2018數(shù)據(jù)集中10幅古籍圖像二值化結(jié)果的平均值對比。如表2所示,本文算法的各項(xiàng)性能指標(biāo)均是第一,HoweAlg3次之,HoweAlg1排第三。與次優(yōu)HoweAlg3算法比較,本文算法的Precision值、PSNR值和Fmeasure值分別提高了12.33%、8.27%和4.48%,值得一提是本文的DRD值和MPM值分別降低了47.28%和66.21%。
表2 各二值化算法在H-DIBCO 2018數(shù)據(jù)集的結(jié)果
從表1和表2的實(shí)驗(yàn)數(shù)據(jù)可以看出,本文算法的5種性能指標(biāo)均優(yōu)于其它二值化算法,充分表明本文算法可以處理多種退化類型的古籍圖像,同時表明本文圖像二值化算法可以有效降低圖像失真度和分類錯誤率。
為直觀顯示本文算法的優(yōu)越性,從H-DIBCO 2018選取了1幅具有代表性的測試圖像,該圖像是一幅退化嚴(yán)重的古籍圖像,并在圖2中給出了不同二值化算法結(jié)果對比。從圖2可以看出,HoweAlg1以及HoweAlg3算法處理效果較滿意,但仍有部分殘留噪聲,尤其是邊緣部分的噪聲;
圖2 不同二值化算法結(jié)果對比
Otsu算法在對比度較高的區(qū)域內(nèi)二值化效果較好,但對于退化嚴(yán)重的低對比度區(qū)域效果較差;Niblack算法和Bernsen算法殘留噪聲太多,更容易將背景污漬誤判為文本;本文提出的二值化算法結(jié)果最接近基準(zhǔn)圖像,并且能夠很好地解決退化嚴(yán)重的古籍圖像中存在的背景噪聲干擾問題。
學(xué)者們常用I/F-Race方法離線調(diào)整算法參數(shù),但該方法需要根據(jù)不同的應(yīng)用場景設(shè)計相應(yīng)的實(shí)現(xiàn)方式。本文根據(jù)I/F-Race方法原理和Howe算法存在的局部均值估計值不夠準(zhǔn)確的問題,設(shè)計了一種基于離線參數(shù)調(diào)整的古籍圖像二值化算法,所提算法分為兩步,一是估計古籍圖像背景局部均值,并結(jié)合基于拉普拉斯能量的二值化算法對古籍進(jìn)行二值化,二是根據(jù)I/F-Race算法設(shè)計了一種離線參數(shù)調(diào)整方法來優(yōu)化本文算法中的參數(shù)配置。本文的背景局部均值估計算法是通過3種不同的降噪算法對退化古籍圖像進(jìn)行降噪,并結(jié)合圖像修復(fù)算法及高斯平滑算法來估計古籍背景局部均值。實(shí)驗(yàn)結(jié)果顯示本文算法可以處理多種退化類型的古籍圖像,并且可以有效降低圖像失真度和分類錯誤率,驗(yàn)證本文所提算法的有效性。