文/司飛
(中國傳媒大學 北京市 100024)
隨著移動互聯網時代的到來,圖片也越來越成為人們傳遞信息的主要媒介,因此場景圖片中的文本提取顯得至關重要。對場景圖片中文本信息的定位檢測是目標檢測領域中的難點。現有的檢測方法一般只適用于水平文本行,對拍攝角度有較高要求,對于彎曲的文本或者傾斜文本的檢測,其精度效果則不是很理想。
近年來,深度學習領域出現新的卷積神經網絡模型,推動了文本檢測領域的發展。場景圖片中的文本檢測方法大致上可以劃分基于候選區域的方法和基于滑動窗口的方法。基于候選區域的方法主要利用圖像的邊緣信息和角點信息,或者根據文本區域通常在灰度、顏色等特征上的相似性,對文本區域的連通域進行合并作為候選區域。此類方法通過檢測場景圖片中的連通域來作為文本的候選區域。常見的基于候選區域的文本檢測方法有Matas等人提出的最大穩定極值區域(MSER)、極值區域的方法和筆畫寬度變換(Stroke Width Transform,SWT)的方法[9~11]。基于滑動窗口的方法是用不同尺度的檢測窗口,以不同的步長在圖片上進行滑動,動態的提取每個窗口內的圖像特征,最終得到每個窗口的文本置信度,最終通過閾值判斷滑動窗是否屬于文本。此方法需要判斷大量的滑動窗,時間復雜度較高,檢測速度比較緩慢。
本文所提出的圖片中文本定位算法主要思想是利用多個通道的MSER和原灰度圖像的MSER進行互補融合,得到文本候選區域,并通過啟發式的過濾規則對合并后的候選區域進行初步的篩選過濾,訓練一個CNN網絡提取深度特征,并結合手工設計的低層次的特征,對候選文本區域進行分類,最終根據相鄰區域紋理、顏色等相似性合并相鄰的矩形框,輸出最終的文本行,算法流程如圖1所示。

圖1:本文算法流程圖

圖2:不同閾值差下檢測到的最大穩定極值區域

圖3:卷積神經網絡的結構圖

圖4:本文方法實驗的成功樣例
傳統MSER區域的提取是直接在灰度圖像上進行的,RGB圖像轉化成灰度圖以后會損失掉部分顏色信息。考慮到圖片的光照不均勻、顏色變化等影響,首先將圖片進行通道分離,對三個不同的分量分別提取MSER區域,同時提取灰度圖像的MSER區域,不同分量的MSER。最終將B、G、R分量和灰度圖像下得到的MSER區域進行合并,可以避免候選區域遺漏的情況,得到更多的候選文本區域,使最終的實驗結果有較高的召回率。
最大穩定極值區域(MSER)最早被使用于圖像中的斑點檢測,此方法由Matas在2002年提出,此算法主要基于分水嶺的思想,首先對圖片進行逐像素二值化,大于閾值的像素值設為255,小于閾值的像素值設為0。若將圖片比作是一個地形圖,像素值的大小則看成地面起伏的高度,對圖像進行0~255逐閾值二值化的過程相當于對地形圖注水的過程。在得到的所有二值圖像中,某些連通區域面積隨閾值變化極小,甚至不發生變化,則該區域被稱為最大穩定極值區域。當閾值發生變化時,連通域的變化率可用公式(1)描述。

其中vi代表連通域的穩定度,Si表示閾值為i時連通區域的面積,△表示相鄰區域的閾值差量,當 △越大則區域面積變化率vi越大。在實際應用中,為了便于代碼實現,公式(1)可簡化為下式:
在OpenCV中計算MSER區域時,需要通過調整閾值差(△)、最小面積(minArea)、最大面積(maxArea)等幾個參量以確定最終的MSER區域,當某個連通域在某個閾值出的變化率小于給定值variation時,我們就認為是一個最大穩定極值區域,閾值差(△)越大得到MSER區域的數量越少,不同閾值差下得到的連通域的情況如圖2所示,可以看到當△=2時,圖片中的字符都能被檢測出來,同時也會檢測到大量非文本區域,當△=10時,字符D、I、L等被遺漏,為了使結果具有較高的查全率又不過多的引入非文本區域,本方法中取△=4。
(1)根據MSER區域的邊緣密度進行過濾。首先通過Canny算子對圖片進行處理,得到圖片的邊緣信息。對于場景圖片中的文本區域和非文本區域,邊緣像素密度的差別很大,包含文本字符的候選區域通常比非文本背景區域有較高的邊緣密度。可以利用此性質對融合后的MSER區域進行過濾,去除邊緣密度較小的MSER候選區域。候選區域內邊緣密度的計算如公式(3)所示。

公式中,g(i,j)為候選區域的圖像邊緣,w、h分別為圖像的寬和高,本方法只保留邊緣密度p>0.2的區域。
(2)根據MSER區域長寬比、面積進行篩選。圖片中的文本區域矩形框的寬和高比值一般在0.2~5之間,文本候選區域的面積一般在60~4000像素之間。對超過此范圍的候選框,直接判斷為非文本區域進行過濾處理。
(3)刪除重疊的MSER區域。經上面的方法可以過濾掉大部分非文本區域,但是保留的MSER區域中仍然會有大量堆疊。對于重疊率大于0.9的區域,進行刪除處理,只保留面積較大的文本區域。
對已經提取出的候選文本區域進行初步過濾后,仍保留大量的背景區域,傳統的圖像處理方法很難實現非文本的判別。本文方法通過卷積神經網絡(CNN)提取候選區域的深層次特征來表示背景區域和文本區域的差別,用于進一步篩選過濾非文本區域。神經網絡模型通過大量的訓練數據可以學習到文本具有的特征。標準的卷積神經網絡(CNN)結構上通常包含:輸入層、卷積層、激活層、全連接層和輸出層等。卷積的過程實際上是把原圖像按照步長分成一個個和卷積核一樣大小的圖像,然后每個位置的圖像和卷積核做內積。卷積的目的是從輸入圖片中提取各種特征,卷積神經網絡的第一個卷積層一般提取到的是比較底層的特征,比如邊緣、紋理等。
本文方法所用到的網絡結構用于解決二分類問題,在網絡模型上參考LeNet的結構,設計了基礎的二分類模型,由兩個卷積層用于提取特征,兩個池化層用于降維和過濾冗余信息,由于僅僅用來做分類任務,所以不需要特別多的卷積層來提取特征。網絡的輸入層的尺寸是32*32,所以為保證輸入尺寸匹配,在訓練網絡進行二分類時,首先要將圖片調整為32*32大小。輸入圖片通過30個尺寸為5*5的卷積核提取基礎的特征,得到28*28*20的特征圖,對池化后的特征圖再經過25個5*5的卷積核提取更深的圖像特征,將得到的特征圖再進行均值池化,最后輸入到一個全連接層進行特征綜合,最終通過softmax分類器得到屬于文本或者背景的概率值,整個網絡的結構如圖3所示。
本方法在文檔分析與識別競賽(ICDAR)所提供的ICDAR2011、ICDAR2013兩個場景圖片數據集上進行實驗測試,數據集中包含通過相機拍攝的不同場景中的圖像,如路標、店面招牌、門牌和液晶顯示字符等,主要包含英文字符和一些數字。ICDAR2011數據集中共包含554副圖片,其中訓練圖像299副,測試圖像225副,ICDAR2013數據集中有462副圖片,其中訓練圖像229副,測試圖像233副。訓練集用于訓練CNN網絡,在提取到的MSER區域中,與真值框(ground truth)的像素重疊率大于90%的認為是正樣本,在真值框之外的看做是負樣本。
在文本檢測領域的評價標準主要有wolf等人評估方法和ICDAR2013采用的Det-Eval方法,后者考慮了檢測框和實際的標定框(ground truth)之間一對一、多對多、和多對一等多種情況,所以用此方法來衡量評估方法性能較為合理。本文方法的評估有三個衡量標準分別是:查全率(R)、查準率(P)和綜合評價指標(F):

其中N表示測試的圖片總數,D和G分別表示第i張圖片中檢測到的矩形框和標注框的個數。和表示檢測矩形框和標注框的匹配程度,當標注框和測得矩形框的重疊度大于某一閾值則認為匹配。
本方法在ICDAR2011和ICDAR2013數據集上的實驗結果及現有方法在這兩個數據集上的結果對比如表1所示。通過對比可知,本方法具有較好的查全率,在兩個數據集上的查全率和表中最好方法相比分別提高了7%和5%,原因是通過多個通道分別提取MSER區域,進行互補融合,能夠提取更多的字符候選區域,提升了文本檢測的魯棒性,有效的減少了文本區域的遺漏。通過神經網絡提取候選區域的深層特征對文本和背景區域進行分類有效的提高了分類的精確度。本方法在綜合指標(F值)上也得到了不錯的效果,證明了本文方法的有效性。在ICDAR2011和ICDAR2013數據集上進行試驗的部分檢測結果如圖4所示。

表1:不同方法在兩個公開數據集上的檢測結果對比
本文對于復雜場景下文本檢測方法運算量過高、召回率低的問題,提出了一種多通道下提取候選區域,并結合神經網絡進行二分類的文本檢測方法,最后根據水平距離、垂直距離等將字符區域合并為文本行。通過不同的顏色通道提取候選區域,相比直接對灰度圖像提取MSER區域,能夠有效減少文本遺漏,有較高的查全率。對一些對比度較低、受光線影響的情況仍具有較好的檢測效果。通過在ICDAR標準庫上的實驗結果表明,本文算法在復雜場景下的文本檢測和定位中有較好的查全率。