吳春法+潘亞文+王敬
摘要:針對自然場景中文字提取受復(fù)雜環(huán)境因素的影響,如光照不均勻、自然場景背景顏色多樣等因素影響,采用任何單一的圖像分割技術(shù)都無法進行有效地進行文字區(qū)域分割和文字提取,提出一種兩種方法相結(jié)合的自然環(huán)境場景中的文字提取方法。首先,采用實現(xiàn)顏色聚類的K-means算法對文本區(qū)域與有顏色背景分割,然后在文本區(qū)域內(nèi)對文字進行二值化處理后運用邊緣檢測的方法提取文字。通過VC++編程環(huán)境及OpenCV技術(shù)作為該方法的驗證平臺,結(jié)果顯示基于K-means算法實現(xiàn)顏色聚類與邊緣檢測方法相結(jié)合能有效進行自然環(huán)境中文字的提取。
關(guān)鍵詞: 自然場景文字; 邊緣檢測; K-means; 顏色聚類; 連通分析; opencv
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2017)28-0206-02
Abstract:According to the natural scene text extraction is influenced by complex environmental factors, such as uneven illumination, natural scene background colors and other factors,any single method is unable to effectively carry out the text segmentation and text extraction ,a method of combining two methods of regional segmentation and text extraction is proposed.Firstly, the K-means algorithm is used to segment the text area and the colored background, then the text is processed to white and black value in the text area, and then the edge detection method is used to extract the text. Through the VC++ programming environment and OpenCV technology as the verification platform of the method, the results show that the color clustering and edge detection Based on K-means algorithm can effectively extract the text in the natural environment.
Key words:Natural scene text; edge detection; K-means; color clustering; connectivity analysis; opencv
1 概述
隨著互聯(lián)網(wǎng)技術(shù)及物聯(lián)網(wǎng)技術(shù)的發(fā)展,自然場景中文字的提取顯得尤為重要。物聯(lián)網(wǎng)技術(shù)部分場景中就需要快速定位自然場景中建筑物上的文字信息。同時,無人機送快遞也將在未來快速普及,無人機送快遞更需要對道路指示牌、街邊廣告牌,商店名稱等進行文字信息的提取與識別。進行自然場景中文字的提取,識別目標物體中文字信息區(qū)域及文字定位是核心,因此進行相關(guān)工作具有很好的實際意義。
2 文字候選區(qū)域的檢測方法
2.1 基于紋理分析技術(shù)的方法
紋理是一種反映圖像中同質(zhì)現(xiàn)象的視覺特征,它體現(xiàn)了物體表面的具有緩慢變化或者周期性變化的表面結(jié)構(gòu)組織排列屬性。紋理的這種屬性決定了,在進行圖像識別時無法采用以像素及像素與周邊像素的相關(guān)性來進行圖像識別,因為紋理在局部信息不具有重復(fù)性。采用塊區(qū)域作為信息處理的單位,能比較有效的識別出紋理中的圖像信息。在基于紋理分析技術(shù)中主要有基于紋理的整體結(jié)構(gòu)、統(tǒng)計分布、信號處理方法、數(shù)學模型法等。統(tǒng)計方法主要是基于矩陣原理,主要矩陣有:灰度共生矩陣、灰度行程統(tǒng)計、灰度差分統(tǒng)計、交叉對角矩陣等。信號處理方法可分空間域和變換域,方法有:Radon變換、環(huán)形和楔形濾波、離散余弦變換、局部傅立葉變換、局部沃爾什變換、哈馬變換Gabor變換、二進制小波、多進制小波、曲波變換等。基于模型的方法是從建模角度出發(fā),給定再生的模型及其參數(shù)值,生成圖像紋理樣本,主要模型有:同步自回歸模型、自回歸滑動平均模型、滑動平均模型、馬爾可夫模型、吉布斯模型、廣義長相關(guān)模型。結(jié)構(gòu)方法是基于圖像中提取紋理結(jié)構(gòu)的基元,然后分析基元的排列規(guī)則,如紋理基元描述等;
2.2 基于邊緣特征的文本分割方法
圖像的分割是把目標區(qū)域從背景中提取出來,其中基于邊緣特征的方法是比較常見的方法,邊緣提取就是利用目標區(qū)域和背景區(qū)域灰度會出現(xiàn)明顯的變化的特點,把目標圖像從背景圖像中分割開來。常用的邊緣檢測算子有Sobel算子[1], Roberts算子[2-3] 、Prewitt算子[4] 、Laplace算子[5] 、Canny算子[6]。Roberts算子是利用局部差分的算子,因為沒有圖像平滑,因此噪聲處理效果不好,但Roberts算子邊緣定位準。Prewitt算子加入像素平均相當于低通濾波器功能,因此犧牲了定位準確性加入噪聲抑制功能。Sobel算子與Prewitt算子類似,不同的是采用了加權(quán)的模板系數(shù),在實際中最常用。Laplace算子是二階微分算子是一個標量因此不能檢測出方向,同時Laplace噪聲敏感度強,容易產(chǎn)生雙邊效果,因此一般不單獨使用。Canny算子首先利用高斯平滑濾波對圖像進行濾波,然后采用一階偏導(dǎo)來計算梯度幅值和方向,因此Canny算子是一個具有濾波,增強,檢測的多階段的優(yōu)化算子,但Canny算子實現(xiàn)起來比較麻煩??紤]到Sobel算子對圖像的水平與垂直邊緣比較敏感,故我們采用Sobel算子對圖像進行檢測。因為Sobel算子處理對象主要是二值圖像,因此分別對R、G、B分量圖像分別進行Sobel算子操作,最后將提取結(jié)果合并。Canny算子能得到清晰的邊緣,所以我們利用Canny算對邊緣圖像進行二次邊緣提取,把兩次結(jié)果疊加等方法提取圖像中的文本區(qū)域。endprint
2.3 基于連通區(qū)域的方法
連通區(qū)域一般是指圖像中具有相同像素值且位置相鄰的前景像素點組成的圖像區(qū)域。連通區(qū)域檢測是圖像分析的一個基本方法,主要處理的對象是二值圖像。連通區(qū)域檢測需要兩次掃描,首先進行全區(qū)域的掃描對每個元素的鄰域進行連通標示并標示等價對,其次進行二次掃描,當發(fā)現(xiàn)部分區(qū)域是連通的,通過等價對可以修正重新確認該區(qū)域為連通的。
2.4 基于學習的方法
大數(shù)據(jù)時代為基于學習的區(qū)域檢測方法提供了基礎(chǔ),隨著大數(shù)據(jù)的日漸豐富,基于學習的區(qū)域檢測有了相對于許多傳統(tǒng)方法的許多優(yōu)勢。因為樣本訓(xùn)練是基于學習的基礎(chǔ),因此樣本的選取直接影響著識別的效果。如果祥本的代表性不夠廣泛或出現(xiàn)新的情況,通過學習進行區(qū)域檢測的效果就有限。
3 本文采用的算法
單獨采用基于邊緣的圖像文本提取方法提取自然場景中的文本區(qū)域,通常效果不好。鑒于此,考慮到顏色是描述圖像內(nèi)容最直接的視覺特征,而在同一幅場景圖像中同一字符區(qū)域通常有著相同或相似的顏色。因此,可以采用基于顏色聚類的方法對場景圖像進行分割,在文本提取的過程中結(jié)合文本的邊緣特征,最終有效的提取出場景中的文本信息。故本章擬采用聚類與邊緣檢測相結(jié)合的思路,提取場景文本信息。
3.1 圖像聚類
聚類方法大體可以分為5類,有基于劃分的方法,包括K-means[7]、FCM、CLARA等;基于層次的方法,包括分裂法和凝聚法;基于密度的方法,包括: DBSCAN、DENCLUE等;基于網(wǎng)格的方法,包括:CLIQUE、Wave Cluster等;基于模型的方法,包括:統(tǒng)計的方法和神經(jīng)網(wǎng)絡(luò)的方法。但在圖像處理中最常用到的是基于劃分的聚類方法,其中K-means聚類方法是應(yīng)用最為廣泛和成熟的方法。故選擇K-means聚類算法對圖像進行聚類。
K-means算法是由Macqueen(1975)提出的解決聚類分析問題的一種算法,其基本思想是:通過迭代,移動各個基準類別的中心,直至得到最好的聚類結(jié)果。
算法步驟如下:
1.通過合適方法選取M個樣本點作為M個類別C1,C2,...,CM的初始聚類中心,令循環(huán)起始數(shù)i=0。
2.通過運算確定點Pi(1≤i≤n),n為圖像中像素點的個數(shù))與類別C1,C2,...,CM之間的距離,把點Pi分配給與距離最小的類Cj,(1≤j≤M)。
3.從新確認Cj為聚類中心,按現(xiàn)在所有屬于Cj的樣本點的平均值來替代。
4.但i達到預(yù)先設(shè)定的最大循環(huán)數(shù)時返回到步驟(5),否則令i自加1返回到步驟(2)。
5.把最初在(1)中設(shè)定的各類別的中心按(2)-(3)的處理進行更新,把現(xiàn)在的聚類中心作為初始聚類中心,令i=1到返回步驟(2)。直到聚類中心不再被更新為止。
目前,大多數(shù)K-means聚類方法在選取聚類數(shù)目K和初始聚類中心時都是隨機或人為給定的,但是聚類數(shù)目和聚類中心的初始化是非常重要的,因為不同聚類數(shù)目和初始聚類中心的選擇可能導(dǎo)致不同的分割結(jié)果。
3.2 文本區(qū)域的確定
經(jīng)過K-means聚類后,接下來工作是如何將子圖中可能是字符的區(qū)域提取出來。我們采用連通區(qū)域分析與標記的方法結(jié)合文本啟發(fā)性知識的限制,對每幅子圖中的候選文本圖像進行提取。這樣就得到了各子圖的候選文本區(qū)域,這些可能的文本區(qū)域可能還會包含一些由于過分割或者通過連通區(qū)域分析還未能去除的非文本字符區(qū)域,故需要進一步對候選字符區(qū)域進行過濾??紤]到字符區(qū)域有著豐富邊緣的特征,我們可以利用邊緣特征作為過濾的條件。為實現(xiàn)提取字符邊緣特征的最好效果,同時自然場景中字符的水平與垂直邊緣比較突出的特性,采用基于彩色邊緣的提取方法,即分別用Sobel算子在原始圖像R、G、B分量上進行邊緣提取操作,然后幾何求和并利用OTSU方法二值化。最后利用字符區(qū)域的邊緣二值圖像對候選文本字符區(qū)域進行進一步處理,若這些候選文本字符區(qū)域與提取的邊緣二值圖像無交集,則可判定該區(qū)域為非文本字符區(qū)域,將其從候選文本字符區(qū)域中刪除。最后將所有子圖像的提取結(jié)果合并。
4 實驗結(jié)果
背景文字提取的關(guān)鍵在于準確定位文字區(qū)域和去除背景。本實驗的驗證工具為VC6.0與OPENCV1.0平臺,圖1為紅紅布條文字處理效果對比圖、圖2為廣告牌處理效果對比圖、圖3為高速指示牌處理效果對比圖。
5 結(jié)束語
本文利用VC++編程環(huán)境及OpenCV技術(shù)實現(xiàn)對圖像文本提取系統(tǒng)。采用實現(xiàn)顏色聚類的K-means算法對文本區(qū)域與有顏色背景分割,然后在文本區(qū)域內(nèi)對文字進行二值化處理后運用邊緣檢測的方法提取文字,今后將對更復(fù)雜環(huán)境下文字提取算法對進行完善和改進。
參考文獻:
[1] 袁春蘭, 熊宗龍, 周雪花,等.基于Sobel算子的圖像邊緣檢測研究[J].激光與紅外,2009,27(1):85-87.
[2] 賀桂嬌. 幾種經(jīng)典的圖像邊緣檢測算子分析比較[J].計算機光盤軟件與應(yīng)用,2014(09):182-183.
[3] 王冰. 用Roberts算子進行邊緣處理 [J].甘肅科技.2008,24(10):18-20.
[4] 楊道普, 馬秋禾, 石磊. 邊緣檢測Prewitt算子的改進算法[J].測繪科學,2008,33(S):18-20.
[5] 鄭瑩, 孫燮華.圖像邊緣檢測Laplace算子的改進[J].沈陽建筑大學學報:自然科學版,2005,21(3):268-271.
[6] 拓小明, 李云紅, 劉旭, 等.基于Canny算子與閾值分割的邊緣檢測算法 [J].西安工程大學學報2014,28(6):745-749.
[7] 吳夙慧,成穎,鄭彥寧,等.K-means算法研究綜述[J].現(xiàn)代圖書情報技術(shù),2011(5):28-35.endprint