李春曉,田懷文,劉 奇,陳俊光
(西南交通大學(xué)機(jī)械工程學(xué)院,成都 610036)
預(yù)處理是工程圖識(shí)別的基礎(chǔ)環(huán)節(jié),其處理效果直接影響后續(xù)圖形和字符的識(shí)別。工程圖離線識(shí)別過(guò)程中,首先要將寫在紙質(zhì)或其他媒介上的圖像經(jīng)過(guò)拍攝或掃描轉(zhuǎn)化為模擬信號(hào)。然后,經(jīng)過(guò)模數(shù)轉(zhuǎn)化電路轉(zhuǎn)化成計(jì)算機(jī)能夠識(shí)別的具有灰度值的數(shù)字信號(hào)[1]。在這個(gè)過(guò)程中會(huì)引入干擾噪聲,主要包括由于背景色彩、拍攝角度、光照干擾和設(shè)備分辨率等因素造成的圖像傾斜模糊,因紙張質(zhì)量問(wèn)題、掃描質(zhì)量不佳和模數(shù)轉(zhuǎn)換過(guò)程中所產(chǎn)生的孤立噪聲點(diǎn)等。因此對(duì)圖像進(jìn)行預(yù)處理的目的就是減少上述因素對(duì)圖像質(zhì)量的干擾,進(jìn)行圖像校正,突出識(shí)別目標(biāo),從而獲得清晰、標(biāo)準(zhǔn)的二值化圖像。
圖像算法的處理效果與多種因素有關(guān),外界環(huán)境和識(shí)別對(duì)象的不同都會(huì)造成結(jié)果存在較大差異,因此針對(duì)工程圖獲取過(guò)程中的問(wèn)題,選擇最優(yōu)算法組合進(jìn)行預(yù)處理流程設(shè)計(jì),直接影響圖形字符的表達(dá)效果。對(duì)于復(fù)雜背景中的字符圖像所存在的問(wèn)題,張倩陽(yáng)[2]設(shè)計(jì)了針對(duì)Android 系統(tǒng)離線字符識(shí)別的預(yù)處理流程;對(duì)于在線獲取的手繪工程圖中的筆畫問(wèn)題,汪文睿[3]設(shè)計(jì)了針對(duì)圖形識(shí)別的筆畫預(yù)處理流程。而對(duì)于本文的識(shí)別對(duì)象——離線工程圖,本文所設(shè)計(jì)預(yù)處理流程如圖1所示,能夠在解決干擾噪聲的同時(shí)淡化背景信息,從而最大程度地凸顯目標(biāo)內(nèi)容,便于后續(xù)圖形和字符信息的提取。
圖1 圖像預(yù)處理流程圖
圖像在生成和傳輸過(guò)程中,由于電器元件自身噪聲及信號(hào)脈沖等因素影響,導(dǎo)致畫面中摻雜背景噪聲,而中值濾波是一種有效處理此類噪聲的非線性濾波方法,能夠在衰減隨機(jī)噪聲的同時(shí)保護(hù)圖像細(xì)節(jié)。在降噪處理之前,首先需要將三通道的彩色圖像轉(zhuǎn)換成單通道的灰度圖像,以便于簡(jiǎn)化處理過(guò)程。
攝像頭采集的圖像一般為RGB 格式,即紅綠藍(lán)3 個(gè)通道顏色,彩色圖像中每個(gè)像素的顏色都是由R、G、B 3 個(gè)分量決定,三者的取值范圍為[0,255],共256級(jí),這樣每一個(gè)像素點(diǎn)就有1600 多萬(wàn)種顏色變化范圍。因此,在圖像處理前,通常會(huì)先將各種彩色圖像轉(zhuǎn)變?yōu)榛叶葓D像,從而減少運(yùn)算量及提高運(yùn)算速度,灰度圖像同彩色圖像一樣也可以反映圖像的亮度特征和色彩分布。
圖像灰度化主要有最大值法、平均值法和加權(quán)平均法3種,其中前2種方法都是對(duì)3個(gè)分量做同等處理,而第3種方法是根據(jù)3個(gè)分量重要性分配以不同權(quán)值進(jìn)行處理,方法如下:
按照人眼對(duì)三分量的敏感程度,根據(jù)相關(guān)研究,分配權(quán)值分別為a=0.59,b=0.3,c=0.11[4]。
噪聲在圖像中的表現(xiàn)形式為明顯變化的灰度值,降噪處理就是利用這種特性進(jìn)行削弱處理。中值濾波通過(guò)將目標(biāo)區(qū)域的灰度值進(jìn)行大小排序,并選取中間值作為當(dāng)前像素灰度值,從而去除其中的灰度突變點(diǎn),實(shí)現(xiàn)圖像的降噪處理,具體步驟如下:
(1)選取濾波模板,將模板中心與圖像中像素點(diǎn)位置重合;
(2)讀取模板中各對(duì)應(yīng)像素點(diǎn)灰度值,按照從小到大進(jìn)行排序,并讀取其中的中間數(shù)值;
(3)將模板中心位置的灰度值用中間數(shù)值代替;
(4)遍歷整幅圖像,完成中值濾波處理。
影響濾波效果的重要因素就是濾波模板的選擇,包含方形、菱形和圓形等多種樣式。同時(shí),窗口大小對(duì)濾波的時(shí)間和復(fù)雜度也有影響,過(guò)大會(huì)由于參與計(jì)算的像素點(diǎn)太多造成圖像的模糊和細(xì)節(jié)缺失;過(guò)小則會(huì)影響去噪效果。根據(jù)前人經(jīng)驗(yàn)及多次實(shí)驗(yàn)的總結(jié),本文最終選用3×3 方形模板進(jìn)行濾波處理,處理前后對(duì)比效果如圖2所示。
圖2 去噪前后對(duì)比效果圖
圖像采集過(guò)程中,常因背景反光或拍攝角度等問(wèn)題造成光照不均問(wèn)題,這種現(xiàn)象的存在會(huì)使得圖像目標(biāo)區(qū)域和背景區(qū)域?qū)Ρ榷认陆担瑘D像二值化后產(chǎn)生黑斑等問(wèn)題,增加特征提取難度。為便于紙張輪廓與背景區(qū)域分離,采用如下2種方法進(jìn)行實(shí)驗(yàn)分析。
直方圖均衡化主要通過(guò)累積函數(shù)的方法對(duì)圖像的灰度值進(jìn)行重新調(diào)整,從而增強(qiáng)圖像的對(duì)比度來(lái)減少光照的影響[5],具體處理步驟如圖3所示。
圖3 直方圖均衡化處理步驟
對(duì)于光照不均圖像直方圖而言,如圖4(a)所示,灰度主要分布在3個(gè)區(qū)域:前面灰度值較低的筆畫區(qū)域、中間的陰影和紙張背景區(qū)域、后面灰度值較高的筆畫背景區(qū)域(即紙張)。均衡化處理目標(biāo)是使這3 個(gè)區(qū)域灰度值實(shí)現(xiàn)均勻分布,提高不同區(qū)域的對(duì)比度,便于目標(biāo)輪廓的提取。處理后效果如圖4(b)所示,可以明顯看出,除極個(gè)別灰度值較為突出外,整體分布呈現(xiàn)均勻性和豐富性。
圖4 均衡化前后圖像直方圖對(duì)比效果圖
圖5 所示為均衡化處理前后圖像效果對(duì)比圖,可以看出,雖然筆畫區(qū)域與紙張區(qū)域的對(duì)比效果明顯,但陰影區(qū)域灰度也同步增強(qiáng)。尤其右下角區(qū)域因與紙張背景區(qū)域灰度值極為相似,造成二者分離難度增加。
圖5 均衡化前后圖像對(duì)比效果圖
HSV 同RGB 一樣,都是色彩空間的表示方法。不同的是,RGB 是面向顏色空間,與人眼的感知差異較大;HSV 是面向用戶感知的顏色模型,更注重于對(duì)顏色明暗和色調(diào)的表達(dá)[6]。RGB空間三分量相關(guān)性較高,任一分量的改變都會(huì)導(dǎo)致圖像顏色的變化。而HSV 空間中,三分量相互獨(dú)立,圖像信息主要表現(xiàn)在色調(diào)和飽和度上,亮度對(duì)色彩信息影響較小,便于各分量分開(kāi)處理。
對(duì)于本文光照不均的圖片而言,陰影區(qū)域和非陰影區(qū)域的區(qū)別主要在于亮度的不同。本文將圖像由RGB空間轉(zhuǎn)化到HSV空間,使得H、S、V 3個(gè)分量在一維矢量上分布開(kāi)來(lái),通過(guò)量化之后可以在不改變圖像原始色調(diào)和飽和度的基礎(chǔ)上減少光照對(duì)圖像的影響。
將RGB 空間一點(diǎn)(R,G,B)轉(zhuǎn)化到HSV 空間的具體方法為:
如果H<0,則H=H+360,H的取值范圍為0°~360°,V和S 的取值范圍為0~1。通過(guò)將光照不均勻圖片轉(zhuǎn)化到HSV空間之后,提取其中的S(飽和度)圖,處理前后效果如圖6所示??梢钥闯?,經(jīng)處理之后紙張輪廓較為明顯,有助于后續(xù)圖像校正時(shí)紙張邊緣信息的獲取。
圖6 空間轉(zhuǎn)化前后效果圖
圖像采集時(shí),常因相機(jī)鏡頭平面與圖像平面不平行導(dǎo)致距離成像平面近的部分的圖形尺寸比遠(yuǎn)的部分大,這種現(xiàn)象叫做透視變形。此時(shí)若直接提取特征信息,會(huì)因遠(yuǎn)處筆畫較小和模糊造成信息丟失。因此,要恢復(fù)圖像的原形就要對(duì)其進(jìn)行校正處理,從而獲取圖像正視圖。
由于后續(xù)求取透視變換關(guān)系需要畸變圖像的4 個(gè)坐標(biāo)點(diǎn)進(jìn)行支撐,本文選取紙張邊緣四角點(diǎn)作為目標(biāo)點(diǎn),通過(guò)霍夫變換求取紙張邊緣直線,再根據(jù)直線的交點(diǎn)獲取目標(biāo)點(diǎn)坐標(biāo)。具體步驟如下:
(1)使用Sobel算子對(duì)灰度圖像進(jìn)行邊緣提??;
(2)對(duì)目標(biāo)圖像進(jìn)行二值化處理;
(3)將目標(biāo)圖像映射到霍夫空間(此處準(zhǔn)備2 個(gè)容器,一個(gè)用來(lái)展示霍夫空間概況,一個(gè)用來(lái)儲(chǔ)存投票值)進(jìn)行直線檢測(cè);
(4)求取局部極大值,設(shè)定閾值,過(guò)濾干擾直線求取紙張邊緣直線;
(5)繪制直線,標(biāo)定交點(diǎn),求取坐標(biāo)。處理效果如圖7所示。
圖7 紙張邊緣點(diǎn)求解
透視變換是三維空間上的非線性變換,即將畸變圖像投影到一個(gè)新的平面,從而消除視覺(jué)上的遠(yuǎn)近感。圖像實(shí)質(zhì)上是由無(wú)數(shù)像素值的坐標(biāo)點(diǎn)構(gòu)成,而透視變換可以理解為將圖像中像素點(diǎn)進(jìn)行坐標(biāo)變換,實(shí)現(xiàn)圖像視角的轉(zhuǎn)換,得到圖像正視圖,轉(zhuǎn)換關(guān)系的確定即透視關(guān)系的求解[7]。
通過(guò)上述所求紙張角點(diǎn)坐標(biāo)值作為已知條件來(lái)求取透視變換前后圖像的對(duì)應(yīng)關(guān)系。假設(shè)(x,y)為畸變圖像上一點(diǎn),(x1,y1)為矯正后對(duì)應(yīng)坐標(biāo)值,則其滿足如下關(guān)系:
將紙張四角點(diǎn)坐標(biāo)帶入,可以得到8 個(gè)方程,從而解出8 個(gè)未知數(shù),即可求出對(duì)應(yīng)關(guān)系。處理前后對(duì)比效果如圖8所示。
圖8 透視變換效果圖
由于紙張邊緣不齊、光照陰影等因素導(dǎo)致校正后圖像存在邊緣噪聲,因此需要對(duì)其進(jìn)行去邊操作。去邊操作的要求是在不破壞圖像中圖形的基礎(chǔ)上,最大限度地減少邊緣噪聲,本文使用差分法進(jìn)行檢測(cè)去除,具體步驟如下:
(1)將目標(biāo)圖像轉(zhuǎn)化為二值圖像;
(2) 假設(shè)校正后圖像為A,其長(zhǎng)度方向像素為[0 ,a-1] ,寬度方向?yàn)閇0 ,b-1] ;
(3)對(duì)圖像A 進(jìn)行邊緣噪聲檢測(cè),將其長(zhǎng)寬方向像素各減少N(此處設(shè)置為50),此時(shí)長(zhǎng)寬像素變?yōu)閇N-1,a-N-1] 、[N-1,b-N-1] ,假設(shè)此時(shí)圖像為A1,對(duì)圖像A、A1像素進(jìn)行做差處理;
(4)若A-A1≥N,說(shuō)明不存在邊緣噪聲,此時(shí)圖像A1即為目標(biāo)圖像;
(5)若A-A1 處理前后對(duì)比效果如圖9 所示,可以看出邊緣噪聲得到了明顯去除。 圖9 圖像去邊效果圖 經(jīng)過(guò)二值化的圖像存在筆畫狹窄的間斷和空洞現(xiàn)象,導(dǎo)致筆畫連接不夠飽滿。形態(tài)學(xué)操作可以解決這一問(wèn)題,通過(guò)在目標(biāo)圖像中移動(dòng)結(jié)構(gòu)元素,對(duì)結(jié)構(gòu)元素與其下面重疊的像素進(jìn)行交或并等運(yùn)算實(shí)現(xiàn)圖像的形態(tài)學(xué)操作。 圖像二值化操作就是將圖像上的像素值處理為只要有0和255兩種,即黑白圖像。二值化的關(guān)鍵在于閾值的選擇,大于閾值的用最大值255來(lái)代替,而小于閾值的則用最小值0代替。目前常見(jiàn)二值化方法主要有固定閾值法和局部閾值法2種。 (1)固定閾值法是指整幅圖像都用同一個(gè)閾值,一般采用平均灰度值、實(shí)驗(yàn)數(shù)據(jù)或灰度直方圖等方式設(shè)定。固定閾值法效果圖如圖10所示。這種方法對(duì)閾值的選擇要求較高,如果圖像過(guò)暗或過(guò)亮,則二值化之后圖像會(huì)出現(xiàn)局部全白或全黑的現(xiàn)象,圖10(b)就是這種情況。所以,這種方法自適應(yīng)性較差且易受外界環(huán)境的影響,不適合本文圖像可能存在光照不均的情況。 圖10 固定閾值法效果圖 (2)局部閾值法是將目標(biāo)圖像劃分為小塊,再分別對(duì)每個(gè)小塊進(jìn)行閾值選取。對(duì)于存在光照不均問(wèn)題的圖像,若采用同一閾值則不能兼顧陰影區(qū)域和背景區(qū)域灰度差異,在綜合利用局部信息的基礎(chǔ)上,本文采用雙峰法對(duì)圖像進(jìn)行局部二值化,步驟如下。 ①對(duì)圖像進(jìn)行分塊處理,大小適中,不宜過(guò)大或過(guò)小,本文選擇16×16 矩形塊。 ②選擇其中任一目標(biāo)塊,統(tǒng)計(jì)其中所有像素點(diǎn)的灰度值。對(duì)于目標(biāo)圖像的灰度圖而言,其灰度值主要分為背景區(qū)域和圖形筆畫區(qū)域,如圖11(a)所示。對(duì)于光照不均圖像,經(jīng)過(guò)處理之后陰影區(qū)域灰度值同背景區(qū)域接近,整體也相當(dāng)于2 個(gè)集中區(qū)域,如圖11(b)所示。分別求2 個(gè)區(qū)域灰度中值u1和u2,同時(shí)尋找最小頻率灰度值umin作為閾值,且滿足u1 圖11 圖像灰度頻率分布 ③重復(fù)步驟(2),直至所有塊處理結(jié)束。 上述方法能夠充分考慮到圖像不同部分的灰度差異,尤其對(duì)于存在陰影區(qū)域的圖像。如圖12所示為陰影圖像處理前后對(duì)比效果圖。 圖12 陰影圖像二值化效果圖 形態(tài)學(xué)運(yùn)算主要包含膨脹、腐蝕、開(kāi)運(yùn)算和閉運(yùn)算4種。膨脹是將與物體接觸的所有背景點(diǎn)合并到物體中,從而實(shí)現(xiàn)空洞填充和斷裂連接;腐蝕將目標(biāo)圖形進(jìn)行收縮,從而實(shí)現(xiàn)周圍雜點(diǎn)的消除;開(kāi)運(yùn)算即先膨脹后腐蝕,主要用于磨平圖像輪廓、消除毛刺;閉運(yùn)算則是先腐蝕后膨脹,主要用于彌合筆畫間斷、填充空洞[8]。針對(duì)本文二值化后存在的問(wèn)題,采用先膨脹后腐蝕的閉運(yùn)算來(lái)對(duì)圖像進(jìn)行處理,具體步驟如下。假設(shè)目標(biāo)二值化圖像為f( ) x,y,前景物體灰度值為1,背景為0,結(jié)構(gòu)元素的大小為3×3 像素。 (1)首先進(jìn)行膨脹操作,用結(jié)構(gòu)元素去掃描圖像f( )x,y的每一個(gè)像素并與其做“與”操作,若結(jié)構(gòu)元素中心點(diǎn)與其對(duì)應(yīng)圖像像素點(diǎn)都為0,則該像素為0,否則為1; (2)不斷重復(fù)步驟(1),直至所有能和結(jié)構(gòu)元素進(jìn)行匹配的情況完成; (3)然后進(jìn)行腐蝕操作,輸出結(jié)果改為若結(jié)構(gòu)元素中心點(diǎn)與其對(duì)應(yīng)圖像像素點(diǎn)都為1,則圖像的該像素為1,否則為0; (4)直至圖像中所有像素點(diǎn)完成上述操作,處理結(jié)束。 圖13所示為膨脹腐蝕操作前后對(duì)比效果圖,可以明顯看出筆畫規(guī)整飽滿很多。 圖13 形態(tài)學(xué)處理效果圖 本文主要針對(duì)工程圖預(yù)處理過(guò)程中的問(wèn)題提出解決方案。對(duì)于干擾噪聲,使用3×3 方形模板對(duì)灰度圖像進(jìn)行濾波去噪,保證去噪同時(shí)保護(hù)圖形輪廓細(xì)節(jié)。對(duì)于透視變形,利用圖紙角點(diǎn)坐標(biāo)求取畸變前后透視關(guān)系,實(shí)現(xiàn)透視校正。陰影存在影響紙張與背景分離及圖像二值化過(guò)程。對(duì)于背景分離,采用基于HSV 空間轉(zhuǎn)化方法,減少亮度影響,增加區(qū)域?qū)Ρ榷?;?duì)于二值化過(guò)程,分析紙張、背景和陰影3部分灰度差異,通過(guò)局部閾值法實(shí)現(xiàn)轉(zhuǎn)化。以上問(wèn)題的解決可以為工程草圖或其他類型草圖預(yù)處理提供參考依據(jù)。4 二值化圖像的形態(tài)學(xué)處理
4.1 圖像二值化
4.2 形態(tài)學(xué)操作
5 結(jié)束語(yǔ)