賈彥茹,張連堂,周麗宴
(1.信陽學院 數學與信息學院,河南 信陽 464000;2.河南大學 計算機與信息工程學院, 河南 開封 475001;3.鄭州大學 信息工程學院,河南 鄭州 450001)
視頻中的背景復雜、場景多變,并且通常受到不同類型的干擾,對此,在復雜場景中,視頻文本的提取具有較高難度[1,2]。
視頻中的文本具有高層語義性,傳統的基于邊緣、顏色和紋理信息等低層特征表達力不足,為視頻的理解帶來了困難[3]。為了準確提取視頻中的文本,諸多國內外學者對此進行了研究,提出了一系列的文本提取方法。如鄭云非[4]設計了通過深度學習算子的視頻文本區(qū)域定位與識別技術?;谏疃葘W習,構建深度置信網絡。并利用構建的深度置信網絡對4個方向得到的紋理特征計算,完成對文本邊界的定位。再根據形態(tài)學法,對定位好文本區(qū)域進行腐蝕和膨脹操作。最后,將文本區(qū)域二值化操作,提取文本信息。該技術可有效定位文本區(qū)域并提取文本字符,但是神經網絡對文本信息提取能力較弱,對文本區(qū)域定位不足,且權重調整易受到初始隨機性的干擾,對于復雜視頻中的文本提取效果不足。姜曉[5]設計了一種視頻廣告文本提取算法,首先通過圖像邊緣與連通區(qū)分析進行文本初略定位。其次,根據WT(wavelet decomposition)的頻域特征與灰度共生矩陣,利用Co-traning算子訓練SVM,從而得到了對文本區(qū)域的細定位。通過Co-traning算子能較好解決樣本元素誤分類的不足。通過設計了一種自動種子技術,在迭代圖分割中對文本分割。最后,對卷積網絡進行了研究,并引入到文本字符檢測中,完成文本提取。該方法在背景簡單時,能夠較好完成對文本區(qū)域的定位,但是,當場景復雜時,難以通過邊緣特征對文本定位,易受到各種環(huán)境的影響,降低了對文本的提取精度。Guo等[6]提出了一種視頻場景的文本提取方法。通過復角點匹配和啟發(fā)式規(guī)則相結合來檢測候選文本區(qū)域,且通過多幀融合提高了準確度,并根據文本的紋理特性與背景區(qū)域區(qū)分,提取文本信息,但是該技術對于復雜的背景與各種類的文本,對文本區(qū)域定位有一定的誤差,提取效果還有待提高,適用性不足。
為提高復雜視頻文本的提取精度,本文通過構建過渡映射,設計了一種場景文本檢測和提取算法。首先,根據觀察到的文本及其相鄰背景之間存在瞬態(tài)顏色來生成過渡圖。然后通過計算過渡像素的密度和過渡像素周圍紋理的一致性來粗略地檢測文本區(qū)域。利用改進的基于顏色的閾值分割方法準確地提取文本字符串,利用投影變換映射準確地檢測出文本區(qū)域。最后,對所提視頻文本提取算法進行驗證。
基于觀察,視頻中的文本與其相鄰的背景之間存在著瞬態(tài)顏色(參見圖1),文本具有高飽和度,一般是通過圖形組件插入。
圖1 文本顯示
一般來說,如果背景是黑暗的,那么文本往往是亮的。相反,如背景是亮的,文本往往是黑暗的。因此,由于色彩混合,文本與其相鄰的背景之間存在著瞬態(tài)顏色,在文本邊界處可觀察到強度對數變化。
如圖2所示,由于有損視頻壓縮引起的色彩混合,在亮文本的邊界處,連續(xù)3個像素的強度下降。還觀察到3個連續(xù)像素的強度在暗文本的邊界上呈指數增長。另外,圖2中還示出了過渡區(qū)域中強度變化的圖示。分別準備3個含有“亮到暗(B-D)”和“暗到亮(D-B)”的視頻。從每個視頻采樣的20個過渡區(qū)域被平均化,并在圖中示出。由于在低對比度圖像中,文本邊界的強度變化可能很小,為精確地確定像素是否在過渡區(qū)域內,將改進的飽和度作為權值[7]。改進的飽和度定義如下
(1)
(2)
其中,max(S(x,y))定義如下
(3)
DL(x,y)=(1+dSL(x,y))×I(x-1,y)-I(x,y)
(4)
DH(x,y)=(1+dSH(x,y))×I(x,y)-I(x+1,y)
(5)
其中,權重dSL(x,y),dSH(x,y)分別定義如下
(6)
(7)
圖2 過渡區(qū)域強度變化
由于權重dSL(x,y)與dSH(x,y)可以是零的非彩色文本和背景,因此,將dSL(x,y)與dSH(x,y)額外加1。如果一個像素滿足式(8)給定的對數變化的約束,以當前像素為中心的3個連續(xù)點作為過渡像素檢測,并生成過渡映射,表示如下
(8)
其中,TH為閾值。圖3(a)、圖3(c)為文本插入圖像,圖3(b)、圖3(d)中示出了兩個過渡地圖結果??梢钥吹?,即使在復雜的背景下,過渡地圖也能很好地生成。
圖3 過渡圖
過渡圖可以作為文本區(qū)域的有用指示器,要得到候選文本區(qū)域,首先生成一個連接圖,如圖4(b)所示。如果同一行中兩個非零點之間的連續(xù)像素間距小于圖像寬度的5%,則它們被填充。如果連接的組件小于閾值,則刪除它們。通過觀察文本區(qū)域的最小尺寸,對閾值進行經驗選擇。然后每個連接的部件被重塑成光滑的邊界。假定文本區(qū)域通常是矩形的,通過鏈接4個點生成矩形包圍盒,根據圖4(b)所示的鏈路圖,這4個點分別為(minx,miny)、(maxx,miny)、(minx,maxy)、(maxx,maxy),圖4(c)為候選區(qū)域細化結果。
圖4 候選區(qū)域提取
隨后,通過一些有用的線索來確定邊界平滑候選區(qū)域中真實的文本區(qū)域,例如文本的長寬比。由于大多數文本在視頻中是水平放置的,因此,可以很容易地消除垂直較長的候選區(qū)。過渡像素的密度也是一個很好的標準,然而,需要更精細的算法來減少因復雜背景而導致的錯誤檢測。在這一小節(jié)中,由于文本類型與背景的復雜性,像素附近的強度變化很大,因此,引入LBP來描述過渡像素周圍的紋理[9]。LBP是一個非常有效和簡單的工具來表示紋理的一致性。LBP使用當前像素及其所有循環(huán)相鄰像素得到二進制模式,并可變?yōu)槭M制數,表示如下
(9)
現在使用操作符定義文本的概率(POT)如下:首先將LBP算子應用于候選區(qū)域中的所有過渡像素。然后,計算不同LBP的數目來考慮過渡像素周圍的強度變化。由于使用含8個相鄰像素獲得的LBP值,因此不同的LBP種類為28=256。雖然不同的LBP的數目通常增加,因為候選區(qū)域包括更多的過渡像素,由于過渡像素可以具有相同的LBP式,所以不能保證它。圖4(c)中每一個候選區(qū)域不同LBP和過渡像素數見表1。
表1 候選區(qū)域像素測量
設λi表示每個候選區(qū)域中的過渡像素的密度,并且可以根據每個候選區(qū)域的大小來劃分過渡像素的數目。因此,POT可定義如下
POTi=λi×NOLi,i=1,…,N
(10)
其中,N表示所述候選區(qū)域的數目;NOLi為不同LBP的數量,由每個候選區(qū)域中不同LBP的最大值歸一化得到。如果候選區(qū)域的POT大于預定義值,則相應區(qū)域最后被確定為文本區(qū)域。根據實驗結果,將閾值值設置為0.05??梢钥吹街丿B的文本區(qū)域與其它候選對象很好地識別。檢測結果如圖5與表2所示。
圖5 文本區(qū)域檢測
POT結果C10.113文本區(qū)域C20.039背景區(qū)域C30.081文本區(qū)域
接下來,對獲得的覆蓋文本區(qū)域或邊界進行細化,以便更好地準確提取文本。為此,本文使用過渡圖[10]中的過渡像素的改進投影來執(zhí)行文本區(qū)域細化。首先,進行水平投影以在檢測到的覆蓋文本區(qū)域的每一行中累積所有過渡像素計數以形成過渡像素的直方圖。然后,空點表示未轉換像素的像素行,然后重新劃分區(qū)域。投影垂直進行,空點再次被刪除。相對于文獻[10]中提出的基于邊緣的粗投影算法,本文投影方法使得過程更簡單。
一旦在當前幀中檢測到文本區(qū)域,就有必要利用連續(xù)幀之間的重疊文本的連續(xù)性來進行下一幀的文本區(qū)域檢測。如果由當前轉換圖和先前的過渡圖異或(XOR)所得到的差值小于預定值,則直接將前一幀的覆蓋文本區(qū)域作為檢測結果,不需要進一步細化。
為了處理這些變化,比較了當前的轉換映射和3幀之間的轉換映射和這些映射之間的相異度量,定義如下
(11)
其中,Tn,Tn-3為表示第n幀和第n-3幀獲得的過渡映射;?為XOR操作。換句話說,如果第n幀和第n-3幀過渡映射的值相同,那么Tn(x,y)?Tn-3(x,y)的值為零。反之,如果這兩個值不相同,那么其結果為1,文本區(qū)域更新方法可以有效地減少處理時間。
在應用視頻OCR應用程序之前,需要將得到的細化的文本區(qū)域轉換為二進制圖像,屬于文本的所有像素都被高亮顯示,而其它像素則被抑制。由于文本顏色可能比背景色更亮或更暗,因此需要一個有效的方案來提取處理復雜背景和各種文本外觀的覆本。在這一部分,提出了一種快速有效的文本提取技術。
對于文本比周圍背景暗與文本比背景更亮兩種不同狀態(tài),本文通過簡單的閾值分割得到的二值圖像的文本,表示為1(或“白”)或0(或“黑”)。因此,本文通過檢查顏色極性,如果需要的話,反轉像素強度,與周圍的像素相比,輸出的文本區(qū)域就可以始終包含明亮的文本。
根據前面部分得到的過渡圖,可以簡單地實現顏色極性計算。先利用平均強度閾值分割獲得的二值化圖像。對給定的二值文本區(qū)域,搜索屬于文本區(qū)域的左、右、頂和底線的邊界像素,并計算白像素的數目。如果白邊界像素的數目小于邊界像素數的50%,則文本區(qū)域被視為“暗背景下的亮文本”,不需要進行極性變換。在這種場景中,文本總是很亮。如果白像素的個數大于黑色像素,則進行以下運算
(12)
其中,(xF,yF)表示文本區(qū)域的每一行第1次遇到的過渡像素的坐標;IB為二進制圖像上的強度。第一次遇到過渡像素屬于1,而像素間距為兩像素的距離則屬于0。如果這種情況發(fā)生,則區(qū)域中的字符像素值被反轉以使其比周圍背景更亮。注意,反轉是通過從最大像素值中減去像素值來完成的。
由于文本在每個區(qū)域都是亮的,因此從每個區(qū)域提取的字符是有效的。首先,每個文本區(qū)域被兩個像素擴展,以利用背景的連續(xù)性。這個擴展的外部區(qū)域被表示為ER。然后,將文本區(qū)域內的像素與ER中的像素進行比較,從而可以將連接到擴展區(qū)域的像素排除在外。定義文本區(qū)域為TR和擴展文本區(qū)域為ETR,ETR=TR∪ER。然后,分別在不同窗口大小的水平方向和垂直方向上進行基于滑動窗口的自適應閾值分割。設ETR(x,y)和B(x,y)分別為ETR和生成的二進制圖像的灰度像素。所有的B(x,y)初始化為白像素。大小為16*ETR的窗口以步進大小為8水平移動。如果ETR(x,y)的強度小于在每個窗口Otsu 計算的局部閾值,那么B(x,y)為黑色。
假設TR中的背景像素通常以強度的形式連接到ER,他們使用ER填充到TR中的連接像素,以去除背景像素。然而,由于文本像素可能與TR中的背景像素連接,填充任務進行時可能會出現不必要的刪除。因此,定義了TR中的“壩點”,避免淹沒了文本像素。對堤壩點進行了改進,在過渡像素添加一個簡單的約束,以提高提取性能,定義如下
(13)
其中,MinW=1;MaxW=int(ER/8);NT表示水平連接像素之間的過渡像素數量;Hlen與Vlen分別為表示水平和垂直方向的連接長度。
最后,通過向內填充,可以從每個文本區(qū)域正確地獲得字符。如果一個白像素,在二值化過程中,所有連接的“白色”像素(包括像素本身)填充為“黑”。向內填充后,所有非“黑色”像素被設置為“白色”,文本的背景被很好地去掉了。
本文中選擇MSRA-TD500數據庫中場景文本進行測試[11]。實驗環(huán)境:Intel(R)Core(TM)i3-4150,8核CPU,3.40 GHz,8 GB RAM,64位WIN8系統。借助Matlab2010完成測試。為體現本文算法的優(yōu)越性,將文獻[4-6]視為對照組。經過多次實驗,得到了本文參數為:P=8,R=2,TH=0.05。
MSRA-TD500數據集中包括300幅訓練圖像[12],200張測試圖像。包括了多方向、多種類,并伴隨模糊、噪聲等各種環(huán)境形成的復雜數據集,在該數據集進行測試具有較大的挑戰(zhàn)性,能夠很好代表實際情況,圖6為MSRA-TD500數據集中示例。
圖6 MSRA-TD500數據集示例
為客觀評價算法,引入準度(Precision)、召回率(Recall)和F值作為算法性能的衡量標準。
Precision為提取的文本數量與總體提取出數量的比值,其表示了將非文本誤檢為文本的衡量標準,Precision越高,錯誤率越小[13]
(14)
Recall為得到文本數量和實際文本數量的比值,Recall越高,漏檢概率越小
(15)
F值為Precision和Recall的加權評價值,其表示了Precision和Recall的綜合評價,定義如下[14]
(16)
其中,Tp為正確提取文本數量;Fp為誤判為文本數量;FN為漏檢的文本數量,a為常數,通常取a=0.5。
圖7顯示了本文算法在MSRA-TD500中文本提取結果。圖7(a)為待提取的文本圖像序列;圖7(b)為文本區(qū)域檢測結果;圖7(c)為文本提取結果。從圖7中得知,提出的算法可較好完成各種不同背景,不同字體,不同方向的文本信息提取結果,對文本區(qū)域的定位精度高,如圖7(b)中方框顯示。得到的文本視覺效果清楚,文本邊緣光滑度與連續(xù)性較強,筆畫流暢,說明了本文算法可有效提取不同場景下的文本信息,應用范圍較廣。
圖8和圖9分別為簡單場景與復雜場景中文本提取結果。圖8(a)為待測試簡單場景圖像序列;圖8(b)~圖8(e)依次為文獻[4-6]與本文算法的實驗結果。圖9(a)為待測試復雜場景圖像序列;圖9(b)~圖9(e)依次為文獻[4-6]與本文算法的實驗結果。從圖8得知,在簡單場景中,4種算法取得了較不錯的效果,得到的文本信息均還滿意,文本清晰度較好,邊緣光滑度良好,但本文算法得到的文本視覺效果最優(yōu)。從圖9中得知,在復雜場景中,本文算法表現出了明顯的優(yōu)勢,提取的文本較清晰,可讀性良好。圖9(b)中的文本不清楚,有些區(qū)域的文字已經無法辨認,得到的文本邊緣斷斷續(xù)續(xù)。圖9(c)得到的文本信息比較模糊,亮度與飽和度不足,且文本邊緣出現了斷裂,不完整,連續(xù)性較差。圖9(d)中得到的文本基本上正確顯示了真實信息,但是有些文本深淺度不一,視覺效果不佳。從實驗結果得出,本文算法在復雜場景中對文本提取具有良好性能。主要是因為本文通過強度變化構建了過渡映射,通過計算像素與其領域紋理的變化選擇候選文本區(qū)域。并利用像素投影來優(yōu)化文本區(qū)域,對文本區(qū)域精確定位。利用閾值分割準確區(qū)分文本與背景,通過像素擴散,將背景像素消除,對文本區(qū)域填充。而文獻[4]采用的神經網絡對文本信息提取能力較弱,對文本區(qū)域定位不足,對于復雜的視頻中文本提取效果不足。文獻[5]中基于邊緣特征,在背景簡單時,能夠較好完成對文本區(qū)域的定位于,但是,當場景復雜時,難以通過邊緣特征對文本定位,易受到各種環(huán)境的影響,降低了對文本的提取精度。文獻[6]中對于復雜的背景與各種類的文本,對文本區(qū)域定位有一定的誤差,提取效果還有待提高,適用性不足。
圖7 本文算法提取結果
圖8 簡單場景文本提取結果
圖9 復雜場景文本提取結果
圖10為在MSRA-TD500數據集中通過準確度(Precision)、召回率(Recall)和F進行客觀評價得到的結果,其中,圖10(a)為Precision-Recall圖;圖10(b)為F值。從圖10中得知,在相同的條件下,本文算法得到的Precision-Recall曲線效果最優(yōu),F值最高,性能穩(wěn)定,魯棒性強。
圖10 MSRA-TD500評估結果
本文設計了一種復雜視頻文本檢測與提取方案,該方案基于文本與其相鄰背景之間存在瞬態(tài)顏色的觀察。通過強度的變化生成過渡圖,通過連接圖為每個候選區(qū)域創(chuàng)建連接組件,然后每個連接組件被重塑成光滑的文本邊界。利用過渡像素的密度和過渡像素周圍的紋理的一致性,區(qū)分文本區(qū)域和其它候選區(qū)域。通過LBP算子對過渡像素附近的強度變化進行計算。在轉換映射中使用文本像素投影,檢測到的文本區(qū)域的邊界被精確定位。不同幀之間的文本區(qū)域更新也被用來減少處理時間。為了驗證的檢測和提取方法的性能,在MSRA-TD500進行了測試,實驗結果表明所提算法具有較高的場景文本提取準確性。