張 巖, 王占軍
(沈陽師范大學(xué) 計算機(jī)與數(shù)學(xué)基礎(chǔ)教學(xué)部, 沈陽110034)
南音被列為世界人類非物質(zhì)文化遺產(chǎn)名錄,千年以來是以工乂譜為形式來記載音樂的。由于歷史悠久蘊意深奧,南音工乂譜歷來都是以書法手抄傳世的。利用模式識別等技術(shù)對工乂譜進(jìn)行數(shù)字化處理,有利于工乂譜的整理和保存,也有利于將工乂譜翻譯為五線譜等其他樂譜。工乂譜數(shù)字化的初始步驟是將手寫或刻字印刷的樂譜進(jìn)行掃描,形成樂譜的圖像。圖像化的樂譜要進(jìn)一步經(jīng)過圖像加強(qiáng)、傾斜矯正等處理,然后分割成一個個的譜式單元的圖像。譜式單元是樂譜數(shù)字化的基本單位,譜式單元圖像的預(yù)處理關(guān)系著樂譜識別和翻譯的準(zhǔn)確率。研究針對個工乂譜的譜式單元圖像的預(yù)處理流程和方法可以在技術(shù)上提高工乂譜數(shù)字化的質(zhì)量,助推南音文化的繼承、流傳和發(fā)展。
南音工乂譜是集音高、節(jié)奏、琵琶彈奏指法為一體的記譜方式,以豎排從右至左記譜。南音工乂譜的譜式(如圖1所示)是由最左邊的譜字、中間的指骨符號和最右邊的撩拍符號等3部分組成。譜字代表音符和該音符在琵琶上的位置;指骨符號表示彈奏的指法;撩拍表示節(jié)拍[2]。
圖1 工乂譜樣例Fig.1 Example of Gongyi spectrum
為了使計算機(jī)能夠自動識別和翻譯工乂譜,應(yīng)該對原譜圖像進(jìn)行必要的解構(gòu),提取譜字腔格,以提供計算機(jī)處理的基本單元。因為每個譜字還附帶彈奏指法和節(jié)拍信息,對應(yīng)五線譜就相當(dāng)于一個音符,例如,全音符、二分音符、四分音符、全休止符、二分休止符、四分休止符等等。所以工乂譜可以解構(gòu)為含有音高和時值的基本信息的各個基本單元。譜字及其骨指符號、撩拍符號的全部或部分組合稱為譜字單元。例如,、、等即是解構(gòu)出的3個譜字單元。本文只針對譜字單元和多個譜字單元的圖像的預(yù)處理進(jìn)行討論,不涉及譜字單元撩拍符號的分割和識別等。
南音工乂譜一般以書法手寫或刻板印刷為記載方式,對于工乂譜的計算機(jī)自動識別和翻譯來講,分割和識別是首要目標(biāo),這與圖像的優(yōu)質(zhì)化處理目標(biāo)不同,將圖像清晰化、對比鮮明化和特征簡要化做為預(yù)處理的重點。為了節(jié)省預(yù)處理的時間開銷,可以提前進(jìn)行譜字圖像清晰度的評價。如果是彩色譜字圖像,則要先進(jìn)行圖像的灰度化處理,然后再進(jìn)行圖像清晰度評價。圖像清晰度評價指標(biāo)主要有熵、峰值信噪比、平均梯度、結(jié)構(gòu)相似指數(shù)等。通過分析比較各種方法的適用對象和評價特點,認(rèn)為基于梯度的清晰度評價可以反映圖像中微小細(xì)節(jié)反差與紋理變化特點[5]。所以本文利用Tenengrad函數(shù)進(jìn)行基于梯度的圖像清晰度評價。以下為清晰度計算的matlab代碼(閾值T取0)[6]:
I=imread(′實驗樣譜.jpg′); %讀取樣譜圖像
J=rgb2gray(I); %圖像灰度化
Sx=[-1 -2 -1;0 0 0 ;1 2 1]; %生產(chǎn)sobel垂直梯度模板
Sy=Sx′; %生產(chǎn)sobel水平梯度模板
gradx=filter2(Sx,J);
gradx=abs(gradx); %計算圖像的sobel垂直梯度
grady=filter2(Sy,J);
grady=abs(grady); %計算圖像的sobel水平梯度
grad=sqrt(gradx.*gradx+grady.*grady); %計算圖像的sobel梯度
Ten=sum(grad(:)) %計算圖像的清晰度
圖2 工乂譜譜字圖像預(yù)處理流程圖Fig.2 Pretreatment flow chart of Gongyi spectrum spectral image
清晰度標(biāo)準(zhǔn)可以通過對一張認(rèn)定為清晰的譜字單元圖像進(jìn)行基于Tenengrad函數(shù)的清晰度計算而獲得。在計算出清晰度后,通過對比所設(shè)定的清晰度標(biāo)準(zhǔn)值,考慮是否進(jìn)行去噪。以圖1所示的中等質(zhì)量的白底黑字的工乂譜圖像為例進(jìn)行預(yù)處理,建立譜字圖像的預(yù)處理流程如圖2所示。
2 南音工乂譜字圖像的預(yù)處理方法
圖像噪音干擾圖像主要特征的表現(xiàn),給圖像的后續(xù)處理帶來不利影響。一般數(shù)字圖像系統(tǒng)中的常見噪聲主要有2種,一是由阻性元器件內(nèi)部產(chǎn)生的高斯噪音,二是由圖像切割產(chǎn)生的黑圖像上白點噪聲的椒鹽噪音[7]。南音工乂譜一般自身存在圖像缺陷,數(shù)字化處理后也會產(chǎn)生噪音。
考慮到譜字圖像預(yù)處理的目的是進(jìn)行分割和識別,不強(qiáng)調(diào)圖像的重構(gòu)和復(fù)原,所以選擇空間域去噪方法??臻g域去噪方法包括均值濾波、中值濾波和維納濾波等,去噪會使圖像一定程度上變得模糊。中值濾波可以很好地保護(hù)圖像邊緣細(xì)節(jié),且通過實驗比較證明,3*3模板的中值濾波對圖像邊緣細(xì)節(jié)的保護(hù)效果較好,有利于工乂譜的去噪質(zhì)量[8]。利用MATLAB的medfilt 2函數(shù)對截取的部分樂譜進(jìn)行去噪實驗,實驗效果如圖3所示。利用MATLAB的filter 2函數(shù)對于原始圖像和濾波效果圖像進(jìn)行Tenengrad梯度(閾值T為0)的清晰度計算,計算結(jié)果分別為1 462 100和1 233 900,表明清晰度下降了15.6%。所以,對清晰度在允許范圍內(nèi)的原始圖像不做去噪處理是合理有效的。
圖3 工乂譜中值去噪效果圖Fig.3 Median denoising effect map of Gongyi spectrum
通常情況下,工乂譜圖像的亮度和對比度大多在適當(dāng)范圍值之內(nèi),增強(qiáng)圖像目的就是要加強(qiáng)被模糊的細(xì)節(jié)。增強(qiáng)圖像的方法可選擇的主要有灰度變換法、直方圖均衡法和直方圖匹配法等[9]。本文采用灰度變換中的伽馬變換來增強(qiáng)圖像。利用MATLAB的imadjust函數(shù),對圖3(a)進(jìn)行增強(qiáng)實驗。為了提高細(xì)節(jié)的顯示度,γ值分別取1和0.3進(jìn)行比較,實驗效果如圖4所示??梢钥闯?γ值取0.3時,樂譜圖像的背景被提亮。
圖4 工乂譜增強(qiáng)效果圖Fig.4 Contrast enhancement effect map of Gongyi spectrum spectral unit
圖5 工乂譜三次插值擴(kuò)大2倍效果圖Fig.5 Cubic interpolation enlarged by 2 times effect map of Gongyi spectrum
譜字圖像的數(shù)字化中可能有譜字單元較小或譜字單元密集等問題需要擴(kuò)大處理。圖像擴(kuò)大的算法主要有最近鄰值插值、雙線性插值和雙三次插值[10]。利用MATLAB的imresize函數(shù)對圖像進(jìn)行擴(kuò)大實驗。從實驗結(jié)果看,最近鄰插值、雙線性插值和雙三次插值3種算法對譜字圖像處理的效果依次變好,即雙三次插值更適合對譜字圖像進(jìn)行擴(kuò)大處理。圖5是圖4(a)擴(kuò)大2倍采用Bicubic參數(shù)進(jìn)行雙三次插值的結(jié)果圖。雙三次插值運行的時間代價較大,應(yīng)考慮利用MapReduce函數(shù)完成較大規(guī)模數(shù)據(jù)的處理[11]。
圖像的二值化能突顯目標(biāo)的特征信息,有利于圖像的進(jìn)一步處理。比較常用的二值化方法有平均灰度值法、雙峰法、迭代閾值法和OTSU法(最大類間方差法)等[12]。具體是設(shè)置適當(dāng)?shù)拈撝?將灰度圖像所有灰度大于或等于閾值的像素被判定為屬于特定物體,其灰度值表示為255,否則這些像素點被排除在物體區(qū)域以外,灰度值表示為0。利用MATLAB的graythresh函數(shù)自動獲取閾值0.503 9,利用MATLAB的im2bw函數(shù)的最大類間方差法對圖4(a),圖4(b)進(jìn)行二值化實驗。實驗結(jié)果發(fā)現(xiàn)譜字線條損失嚴(yán)重,對圖4(a)提高閾值為0.75,對圖4(b)提高閾值為0.92,實驗效果如圖6所示。結(jié)果表明,對不同圖像的二值化處理應(yīng)該選擇不同的閾值[13]。
圖6 工乂譜二值化效果圖Fig.6 Binarization effect map of Gongyi spectrum
細(xì)化算法分為迭代細(xì)化算法和非迭代細(xì)化算法。細(xì)化的實質(zhì)是去掉原圖中的一些點[14]。利用MATLAB的bwmorph函數(shù)對圖6(a)和圖6(b)進(jìn)行細(xì)化實驗。實驗效果如圖6所示,表明細(xì)化結(jié)果受到前面譜字圖像增強(qiáng)和二值化的影響,細(xì)節(jié)差別比較明顯。相對地,圖6(a)比圖6(b)譜字、指骨符號和撩拍符號分辨更清晰,有利于更高層次的分割和識別等處理。圖8是對圖5進(jìn)行閾值0.75的二值化和細(xì)化的結(jié)果圖。從實驗結(jié)果可以看出,對本文的實驗樂譜樣例,先擴(kuò)大譜字圖像,然后進(jìn)行二值化和細(xì)化,圖像質(zhì)量簡潔清晰,也比較適合后續(xù)的分割和識別等處理[15]。
圖7 工乂譜細(xì)化效果圖Fig.7 Thinning effect map of Gongyi spectrum
圖8 工乂譜擴(kuò)大后二值化和細(xì)化效果圖Fig.8 Enlarged binarization and thinning effect map of Gongyi spectrum
表1 工乂譜圖像預(yù)處理實驗結(jié)果表Table 1 Preprocessing experimental results table of Gongyi spectrum image