張哲,汪毓鐸
(北京信息科技大學(xué)信息與通信工程學(xué)院,北京100101)
移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展以及智能手機(jī)、可穿戴設(shè)備等移動(dòng)電子設(shè)備的普及,使得自然場(chǎng)景圖像的獲取和傳輸變得越來(lái)越便捷[1]。圖像中場(chǎng)景文本的檢測(cè)和識(shí)別是獲取圖像中語(yǔ)義信息的重要方法,其中場(chǎng)景文本的檢測(cè)高成功率可以有效降低場(chǎng)景文本識(shí)別的復(fù)雜度。到目前為止,不同于傳統(tǒng)的光學(xué)字符識(shí)別,場(chǎng)景文本檢測(cè)存在照明、投影的可變性、失真、尺度、字體方向等問(wèn)題[2]。當(dāng)前許多應(yīng)用程序中都有用到從場(chǎng)景圖像中檢測(cè)文本,例如身份證識(shí)別、名片識(shí)別、票據(jù)識(shí)別、車牌識(shí)別、視頻字幕識(shí)別、Google 街景識(shí)別等。在當(dāng)今的智能化環(huán)境下,快速高效文本檢測(cè)可以有效提高文本識(shí)別的識(shí)別率,且整套的流程可以結(jié)合起來(lái)以便商用。因此面向場(chǎng)景文本圖像檢測(cè)方法的研究既有重要的理論研究意義,又有廣闊的應(yīng)用前景。
目前,常用的場(chǎng)景文本檢測(cè)方法主要有以下四類[3]:基于紋理特征的文字檢測(cè)[4-8]、基于邊緣的文字檢測(cè)[9-12]、基于連通域的文字檢測(cè)[13-18]以及基于深度學(xué)習(xí)的文字檢測(cè)[19-24]。
Kumuda T 等人基于紋理特征使用一階和二階統(tǒng)計(jì)提取,先檢測(cè)出文本區(qū)域,使用判別函數(shù)過(guò)濾掉非文本區(qū)域,再文本區(qū)域合并和定位[6]。Liu C 等人提出基于邊緣特征的無(wú)監(jiān)督分類的圖像文本檢測(cè)算法[10],它使用應(yīng)用邊緣檢測(cè)來(lái)獲得水平、垂直、左上和右上方向的四個(gè)邊緣圖,從四個(gè)邊緣圖中提取特征用來(lái)表示文本的紋理屬性,再應(yīng)用K 均值算法來(lái)檢測(cè)文本候選區(qū)域,最后通過(guò)經(jīng)驗(yàn)規(guī)則分析確定文本區(qū)域,主要針對(duì)圖像和視頻中的文本檢測(cè)。Ma J 等人提出構(gòu)造最大穩(wěn)定極值區(qū)域(Maximally Stable Extremal Region,MSER)樹(shù),通過(guò)非最大抑制策略去除重疊MSER,根據(jù)節(jié)點(diǎn)特征修剪鏈接樹(shù)[13]。Jiang Y 等人使用基于旋轉(zhuǎn)區(qū)域CNN(R2CNN)的自然場(chǎng)景文本檢測(cè)方法,使用區(qū)域建議網(wǎng)絡(luò)生成軸對(duì)齊的邊界框,再利用傾斜非最大值抑制策略得到最終檢測(cè)結(jié)果[19]。
盡管許多學(xué)者對(duì)場(chǎng)景文本圖像中的文本檢測(cè)算法做了相應(yīng)的研究,并取得了較好的研究成果。但在復(fù)雜背景情況下,很難達(dá)到滿意的檢測(cè)效果。因此,本文研究了結(jié)合邊緣檢測(cè)與CNN 分類剔除非文本區(qū)域的場(chǎng)景文本圖像檢測(cè)方法,減少了從顏色信息和邊緣細(xì)節(jié)信息獲取場(chǎng)景文本圖像的限制,并提取文本區(qū)域。
在本文中,場(chǎng)景文本檢測(cè)分四步完成,其主要流程圖如圖1 所示。預(yù)處理模塊的主要功能是將輸入場(chǎng)景文本圖像的文本信息進(jìn)行增強(qiáng)處理。文本定位模塊主要功能是通過(guò)邊緣檢測(cè)方法對(duì)預(yù)處理的文本圖形進(jìn)行初始文本定位。文本篩選模塊主要功能是對(duì)初次定位完的文本信息進(jìn)行篩選,利用CNN 分類剔除非文本信息。文本框融合模塊的主要功能是按距離對(duì)過(guò)濾后的文本信息進(jìn)行整合,并輸出最終結(jié)果。
圖1 場(chǎng)景文本檢測(cè)流程圖
在圖像分析中,圖像質(zhì)量直接影響設(shè)計(jì)的準(zhǔn)確性和識(shí)別算法的效果,因此在圖像分析(特征提取、分割、匹配和識(shí)別等)之前需要進(jìn)行預(yù)處理。圖像預(yù)處理的主要目的是去除圖像中與文字無(wú)關(guān)的背景信息,凸顯真實(shí)有用的文字信息,提高有用文字信息的可檢測(cè)性。從而,可以實(shí)現(xiàn)提高字符特征提取的目的以及文本圖像分割,匹配和識(shí)別的可靠性。預(yù)處理流程如圖2所示。
圖2 預(yù)處理流程
(1)灰度圖像
對(duì)于輸入的顏色為RGB 的圖像,它在每個(gè)顏色分量上分解并分別由R、G 和B 表示。灰度圖像的灰度值表示如式(1)所示,其中Y 表示灰度值。灰度轉(zhuǎn)換前的待測(cè)場(chǎng)景文本圖像如圖3(a)所示,轉(zhuǎn)化后的場(chǎng)景文本圖像如圖3(b)所示。
圖3 場(chǎng)景文本顏色轉(zhuǎn)換圖像
(2)中值濾波
中值濾波是一種用于對(duì)圖像進(jìn)行非線性降噪的過(guò)程。中值濾波的原理是:首先選取一個(gè)像素中心點(diǎn),可以為當(dāng)前像素,然后在中心點(diǎn)周圍設(shè)置鄰域窗口,并將該鄰域范圍內(nèi)的所有像素的灰度值進(jìn)行排序,有序數(shù)列的中值將被視為中心點(diǎn)新的像素值。在中值濾波之后,可以有效平滑灰度文本圖像。
(3)圖像二值化
圖像二值化是將中值濾波后的圖像轉(zhuǎn)化成一個(gè)非黑即白二值圖像的過(guò)程。中值濾波圖像包含要測(cè)試的文本和相應(yīng)的背景噪聲。它的像素值在0 到255 之間,而二值圖像的像素值只有0 和255。要從多色值圖像中提取目標(biāo)文本,可使用設(shè)置閾值P 的方法。當(dāng)中值濾波圖像中的任何點(diǎn)的像素值大于閾值P 時(shí),其像素值被設(shè)置為255。反之,當(dāng)像素值小于閾值P 時(shí),將其設(shè)置為0。當(dāng)中值濾波圖像中的像素等于閾值P時(shí),其像素值可以設(shè)置為0 或255 中的任一值。在本文中,中值濾波文本圖像通過(guò)進(jìn)行二值處理后,結(jié)果如圖4 所示。
圖4 場(chǎng)景文本二值圖像
由于文本由一系列帶邊的筆劃組成,因此圖像中的文本和背景被文本的邊分割。本文使用的邊緣檢測(cè)就是利用文字的邊緣與背景圖像的顏色差來(lái)定位文本,其主要流程是對(duì)二值圖像進(jìn)行擴(kuò)展、腐蝕再取兩者差值確定文本的邊緣。具體步驟為:
(1)設(shè)定擴(kuò)展核函數(shù),對(duì)二值圖像進(jìn)行邊緣細(xì)節(jié)擴(kuò)展處理,結(jié)果如圖5(a)所示;
(2)設(shè)定腐蝕核函數(shù),對(duì)二值圖像進(jìn)行邊緣細(xì)節(jié)腐蝕處理,結(jié)果如圖5(b)所示;
(3)對(duì)圖5(a)和圖5(b)的兩幅圖像像素值作異或處理,得到文本邊界,結(jié)果如圖5(c)所示;
(4)再次設(shè)定擴(kuò)展核函數(shù),對(duì)圖5(c)進(jìn)行邊緣細(xì)節(jié)擴(kuò)展處理,結(jié)果如圖5(d)所示。
設(shè)置擴(kuò)展的目的是讓輪廓更加突出,設(shè)置腐蝕的目的是去掉一些細(xì)節(jié)線,如表格線等。第二次異或后的圖像進(jìn)行擴(kuò)展是為了讓邊緣線輪廓更明顯一些。
圖5 場(chǎng)景文本邊緣檢測(cè)圖像
CNN 分類器的功能主要是過(guò)濾邊緣檢測(cè)結(jié)果并消除非文本區(qū)域。為了能夠訓(xùn)練出一個(gè)準(zhǔn)確率比較高的分類器,需要準(zhǔn)備大量的訓(xùn)練數(shù)據(jù),使用了5000 張訓(xùn)練圖像,大小統(tǒng)一,其中包括正樣本和負(fù)樣本圖像。正樣本圖像是多個(gè)場(chǎng)景圖像中截取的字體多樣、方向各異、大小不同的文字區(qū)域圖像。負(fù)樣本圖像是文本圖像的干擾項(xiàng),如樓梯、樹(shù)木、汽車、街道、房屋,等等。
在短文本分析任務(wù)中,由于句子長(zhǎng)度有限,結(jié)構(gòu)緊湊,意思可以獨(dú)立表達(dá),使用CNN 來(lái)處理這類問(wèn)題是十分可行的。CNN 分類器結(jié)構(gòu)包含兩層卷積層、一層池化層、一層全連接層。卷積核大小為5×5。訓(xùn)練樣本數(shù)據(jù)如圖6 所示,其中圖(a)是正樣本數(shù)據(jù),圖(b)是負(fù)樣本數(shù)據(jù)。
圖6 訓(xùn)練樣本數(shù)據(jù)
經(jīng)過(guò)分類器后,圖像中的文本區(qū)域可被標(biāo)識(shí)出來(lái),文本框的位置、高度、寬度、中心點(diǎn)等數(shù)據(jù)也會(huì)被相應(yīng)記錄。文本框融合的目的是將相鄰字符,如同一個(gè)單詞的多個(gè)字母、包含同一個(gè)字符的多個(gè)文本框等可被合并的文本框融合為一個(gè)大的文本框,具體實(shí)現(xiàn)方法如下:
(1)對(duì)所有N 個(gè)文本框進(jìn)行標(biāo)記,編號(hào)為1,2,…,N,生成大小為N×N 的文本區(qū)域矩陣;
(2)根據(jù)文本區(qū)域的矩陣,計(jì)算個(gè)文本框之間的距離,并存儲(chǔ)在新的距離矩陣D 中,其中Dij表示第i 個(gè)區(qū)域與第j 個(gè)區(qū)域中心點(diǎn)間的歐氏距離,計(jì)算Dij的均值d;
(3)生成新的標(biāo)記矩陣T,初始值為0,大小為N×N。遍歷矩陣D,尋找小于特定門限(可設(shè)置為1.5d)的Dij,則認(rèn)為第i 個(gè)區(qū)域與第j 個(gè)區(qū)域可聚類為同一個(gè)區(qū)域,將Tij設(shè)置為與Tii相同的值,同時(shí)設(shè)置T(i+1,i+1)=T(i,i)+1;
(4)遍歷矩陣T,按行或按列尋找與Tii相同的Tij或Tji,連通對(duì)應(yīng)的第i 個(gè)區(qū)域與第j 個(gè)區(qū)域,生成新的矩形框;
(5)更新文本框。
經(jīng)過(guò)融合后的文本框不僅可以起到去重的作用,還可以為之后的文本識(shí)別奠定基礎(chǔ)。
輸入包含文本的自然場(chǎng)景圖像,使用上述方法進(jìn)行文本檢測(cè),測(cè)試結(jié)果如圖7(a)所示。將檢測(cè)到的文本矩形框按距離進(jìn)行融合,得到如圖7(b)所示的最終結(jié)果。
圖7 檢測(cè)結(jié)果
本文研究了場(chǎng)景文本檢測(cè)方法,充分利用了場(chǎng)景文本圖像的顏色信息和邊緣信息,并使用了深度學(xué)習(xí)模型做分類。首先對(duì)獲取的場(chǎng)景圖像執(zhí)行預(yù)處理,對(duì)預(yù)處理后的圖像執(zhí)行邊緣檢測(cè),并獲得候選字符區(qū)域,將其輸入到CNN 模型中以進(jìn)行分類和篩選,以確定它是否為文本圖像,并保留所需的文本區(qū)域。從而實(shí)現(xiàn)文本字符的檢測(cè)提取。實(shí)驗(yàn)結(jié)果表明,本文的方法可以有效應(yīng)用于場(chǎng)景文本圖像的文本檢測(cè),具有較好的文本區(qū)域提取能力。