文/司飛
(中國傳媒大學(xué) 北京市 100024)
隨著移動互聯(lián)網(wǎng)時代的到來,圖片也越來越成為人們傳遞信息的主要媒介,因此場景圖片中的文本提取顯得至關(guān)重要。對場景圖片中文本信息的定位檢測是目標(biāo)檢測領(lǐng)域中的難點(diǎn)?,F(xiàn)有的檢測方法一般只適用于水平文本行,對拍攝角度有較高要求,對于彎曲的文本或者傾斜文本的檢測,其精度效果則不是很理想。
近年來,深度學(xué)習(xí)領(lǐng)域出現(xiàn)新的卷積神經(jīng)網(wǎng)絡(luò)模型,推動了文本檢測領(lǐng)域的發(fā)展。場景圖片中的文本檢測方法大致上可以劃分基于候選區(qū)域的方法和基于滑動窗口的方法?;诤蜻x區(qū)域的方法主要利用圖像的邊緣信息和角點(diǎn)信息,或者根據(jù)文本區(qū)域通常在灰度、顏色等特征上的相似性,對文本區(qū)域的連通域進(jìn)行合并作為候選區(qū)域。此類方法通過檢測場景圖片中的連通域來作為文本的候選區(qū)域。常見的基于候選區(qū)域的文本檢測方法有Matas等人提出的最大穩(wěn)定極值區(qū)域(MSER)、極值區(qū)域的方法和筆畫寬度變換(Stroke Width Transform,SWT)的方法[9~11]?;诨瑒哟翱诘姆椒ㄊ怯貌煌叨鹊臋z測窗口,以不同的步長在圖片上進(jìn)行滑動,動態(tài)的提取每個窗口內(nèi)的圖像特征,最終得到每個窗口的文本置信度,最終通過閾值判斷滑動窗是否屬于文本。此方法需要判斷大量的滑動窗,時間復(fù)雜度較高,檢測速度比較緩慢。
本文所提出的圖片中文本定位算法主要思想是利用多個通道的MSER和原灰度圖像的MSER進(jìn)行互補(bǔ)融合,得到文本候選區(qū)域,并通過啟發(fā)式的過濾規(guī)則對合并后的候選區(qū)域進(jìn)行初步的篩選過濾,訓(xùn)練一個CNN網(wǎng)絡(luò)提取深度特征,并結(jié)合手工設(shè)計(jì)的低層次的特征,對候選文本區(qū)域進(jìn)行分類,最終根據(jù)相鄰區(qū)域紋理、顏色等相似性合并相鄰的矩形框,輸出最終的文本行,算法流程如圖1所示。
圖1:本文算法流程圖
圖2:不同閾值差下檢測到的最大穩(wěn)定極值區(qū)域
圖3:卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖
圖4:本文方法實(shí)驗(yàn)的成功樣例
傳統(tǒng)MSER區(qū)域的提取是直接在灰度圖像上進(jìn)行的,RGB圖像轉(zhuǎn)化成灰度圖以后會損失掉部分顏色信息。考慮到圖片的光照不均勻、顏色變化等影響,首先將圖片進(jìn)行通道分離,對三個不同的分量分別提取MSER區(qū)域,同時提取灰度圖像的MSER區(qū)域,不同分量的MSER。最終將B、G、R分量和灰度圖像下得到的MSER區(qū)域進(jìn)行合并,可以避免候選區(qū)域遺漏的情況,得到更多的候選文本區(qū)域,使最終的實(shí)驗(yàn)結(jié)果有較高的召回率。
最大穩(wěn)定極值區(qū)域(MSER)最早被使用于圖像中的斑點(diǎn)檢測,此方法由Matas在2002年提出,此算法主要基于分水嶺的思想,首先對圖片進(jìn)行逐像素二值化,大于閾值的像素值設(shè)為255,小于閾值的像素值設(shè)為0。若將圖片比作是一個地形圖,像素值的大小則看成地面起伏的高度,對圖像進(jìn)行0~255逐閾值二值化的過程相當(dāng)于對地形圖注水的過程。在得到的所有二值圖像中,某些連通區(qū)域面積隨閾值變化極小,甚至不發(fā)生變化,則該區(qū)域被稱為最大穩(wěn)定極值區(qū)域。當(dāng)閾值發(fā)生變化時,連通域的變化率可用公式(1)描述。
其中vi代表連通域的穩(wěn)定度,Si表示閾值為i時連通區(qū)域的面積,△表示相鄰區(qū)域的閾值差量,當(dāng) △越大則區(qū)域面積變化率vi越大。在實(shí)際應(yīng)用中,為了便于代碼實(shí)現(xiàn),公式(1)可簡化為下式:
在OpenCV中計(jì)算MSER區(qū)域時,需要通過調(diào)整閾值差(△)、最小面積(minArea)、最大面積(maxArea)等幾個參量以確定最終的MSER區(qū)域,當(dāng)某個連通域在某個閾值出的變化率小于給定值variation時,我們就認(rèn)為是一個最大穩(wěn)定極值區(qū)域,閾值差(△)越大得到MSER區(qū)域的數(shù)量越少,不同閾值差下得到的連通域的情況如圖2所示,可以看到當(dāng)△=2時,圖片中的字符都能被檢測出來,同時也會檢測到大量非文本區(qū)域,當(dāng)△=10時,字符D、I、L等被遺漏,為了使結(jié)果具有較高的查全率又不過多的引入非文本區(qū)域,本方法中取△=4。
(1)根據(jù)MSER區(qū)域的邊緣密度進(jìn)行過濾。首先通過Canny算子對圖片進(jìn)行處理,得到圖片的邊緣信息。對于場景圖片中的文本區(qū)域和非文本區(qū)域,邊緣像素密度的差別很大,包含文本字符的候選區(qū)域通常比非文本背景區(qū)域有較高的邊緣密度。可以利用此性質(zhì)對融合后的MSER區(qū)域進(jìn)行過濾,去除邊緣密度較小的MSER候選區(qū)域。候選區(qū)域內(nèi)邊緣密度的計(jì)算如公式(3)所示。
公式中,g(i,j)為候選區(qū)域的圖像邊緣,w、h分別為圖像的寬和高,本方法只保留邊緣密度p>0.2的區(qū)域。
(2)根據(jù)MSER區(qū)域長寬比、面積進(jìn)行篩選。圖片中的文本區(qū)域矩形框的寬和高比值一般在0.2~5之間,文本候選區(qū)域的面積一般在60~4000像素之間。對超過此范圍的候選框,直接判斷為非文本區(qū)域進(jìn)行過濾處理。
(3)刪除重疊的MSER區(qū)域。經(jīng)上面的方法可以過濾掉大部分非文本區(qū)域,但是保留的MSER區(qū)域中仍然會有大量堆疊。對于重疊率大于0.9的區(qū)域,進(jìn)行刪除處理,只保留面積較大的文本區(qū)域。
對已經(jīng)提取出的候選文本區(qū)域進(jìn)行初步過濾后,仍保留大量的背景區(qū)域,傳統(tǒng)的圖像處理方法很難實(shí)現(xiàn)非文本的判別。本文方法通過卷積神經(jīng)網(wǎng)絡(luò)(CNN)提取候選區(qū)域的深層次特征來表示背景區(qū)域和文本區(qū)域的差別,用于進(jìn)一步篩選過濾非文本區(qū)域。神經(jīng)網(wǎng)絡(luò)模型通過大量的訓(xùn)練數(shù)據(jù)可以學(xué)習(xí)到文本具有的特征。標(biāo)準(zhǔn)的卷積神經(jīng)網(wǎng)絡(luò)(CNN)結(jié)構(gòu)上通常包含:輸入層、卷積層、激活層、全連接層和輸出層等。卷積的過程實(shí)際上是把原圖像按照步長分成一個個和卷積核一樣大小的圖像,然后每個位置的圖像和卷積核做內(nèi)積。卷積的目的是從輸入圖片中提取各種特征,卷積神經(jīng)網(wǎng)絡(luò)的第一個卷積層一般提取到的是比較底層的特征,比如邊緣、紋理等。
本文方法所用到的網(wǎng)絡(luò)結(jié)構(gòu)用于解決二分類問題,在網(wǎng)絡(luò)模型上參考LeNet的結(jié)構(gòu),設(shè)計(jì)了基礎(chǔ)的二分類模型,由兩個卷積層用于提取特征,兩個池化層用于降維和過濾冗余信息,由于僅僅用來做分類任務(wù),所以不需要特別多的卷積層來提取特征。網(wǎng)絡(luò)的輸入層的尺寸是32*32,所以為保證輸入尺寸匹配,在訓(xùn)練網(wǎng)絡(luò)進(jìn)行二分類時,首先要將圖片調(diào)整為32*32大小。輸入圖片通過30個尺寸為5*5的卷積核提取基礎(chǔ)的特征,得到28*28*20的特征圖,對池化后的特征圖再經(jīng)過25個5*5的卷積核提取更深的圖像特征,將得到的特征圖再進(jìn)行均值池化,最后輸入到一個全連接層進(jìn)行特征綜合,最終通過softmax分類器得到屬于文本或者背景的概率值,整個網(wǎng)絡(luò)的結(jié)構(gòu)如圖3所示。
本方法在文檔分析與識別競賽(ICDAR)所提供的ICDAR2011、ICDAR2013兩個場景圖片數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)測試,數(shù)據(jù)集中包含通過相機(jī)拍攝的不同場景中的圖像,如路標(biāo)、店面招牌、門牌和液晶顯示字符等,主要包含英文字符和一些數(shù)字。ICDAR2011數(shù)據(jù)集中共包含554副圖片,其中訓(xùn)練圖像299副,測試圖像225副,ICDAR2013數(shù)據(jù)集中有462副圖片,其中訓(xùn)練圖像229副,測試圖像233副。訓(xùn)練集用于訓(xùn)練CNN網(wǎng)絡(luò),在提取到的MSER區(qū)域中,與真值框(ground truth)的像素重疊率大于90%的認(rèn)為是正樣本,在真值框之外的看做是負(fù)樣本。
在文本檢測領(lǐng)域的評價標(biāo)準(zhǔn)主要有wolf等人評估方法和ICDAR2013采用的Det-Eval方法,后者考慮了檢測框和實(shí)際的標(biāo)定框(ground truth)之間一對一、多對多、和多對一等多種情況,所以用此方法來衡量評估方法性能較為合理。本文方法的評估有三個衡量標(biāo)準(zhǔn)分別是:查全率(R)、查準(zhǔn)率(P)和綜合評價指標(biāo)(F):
其中N表示測試的圖片總數(shù),D和G分別表示第i張圖片中檢測到的矩形框和標(biāo)注框的個數(shù)。和表示檢測矩形框和標(biāo)注框的匹配程度,當(dāng)標(biāo)注框和測得矩形框的重疊度大于某一閾值則認(rèn)為匹配。
本方法在ICDAR2011和ICDAR2013數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果及現(xiàn)有方法在這兩個數(shù)據(jù)集上的結(jié)果對比如表1所示。通過對比可知,本方法具有較好的查全率,在兩個數(shù)據(jù)集上的查全率和表中最好方法相比分別提高了7%和5%,原因是通過多個通道分別提取MSER區(qū)域,進(jìn)行互補(bǔ)融合,能夠提取更多的字符候選區(qū)域,提升了文本檢測的魯棒性,有效的減少了文本區(qū)域的遺漏。通過神經(jīng)網(wǎng)絡(luò)提取候選區(qū)域的深層特征對文本和背景區(qū)域進(jìn)行分類有效的提高了分類的精確度。本方法在綜合指標(biāo)(F值)上也得到了不錯的效果,證明了本文方法的有效性。在ICDAR2011和ICDAR2013數(shù)據(jù)集上進(jìn)行試驗(yàn)的部分檢測結(jié)果如圖4所示。
表1:不同方法在兩個公開數(shù)據(jù)集上的檢測結(jié)果對比
本文對于復(fù)雜場景下文本檢測方法運(yùn)算量過高、召回率低的問題,提出了一種多通道下提取候選區(qū)域,并結(jié)合神經(jīng)網(wǎng)絡(luò)進(jìn)行二分類的文本檢測方法,最后根據(jù)水平距離、垂直距離等將字符區(qū)域合并為文本行。通過不同的顏色通道提取候選區(qū)域,相比直接對灰度圖像提取MSER區(qū)域,能夠有效減少文本遺漏,有較高的查全率。對一些對比度較低、受光線影響的情況仍具有較好的檢測效果。通過在ICDAR標(biāo)準(zhǔn)庫上的實(shí)驗(yàn)結(jié)果表明,本文算法在復(fù)雜場景下的文本檢測和定位中有較好的查全率。