(1. 南京農業大學 計算機系,南京 210002; 2. 南京大學 電子科學與工程系, 南京 210093)
摘 要:視頻文字大小自適應提取算法基于離散傅里葉變換(discrete Fourier transform, DFT)特征、多分辨率處理及支持向量機分類技術。算法在不同分辨率下結合梯度信息、文字邊界定位技術提取出文字候選區域,然后用支持向量機對于候選圖像塊DFT特征作進一步分類。結果表明,該算法能提取出視頻圖像中不同大小的文字,識別率優于以小波、灰度、離散余弦變換系數(discrete cosine transform, DCT)等為紋理特征的算法。
關鍵詞:文字檢測; 自適應; 多分辨率; 離散傅里葉變換; 支持向量機
中圖分類號:TP391.43 文獻標志碼:A
文章編號:10013695(2009)03114602
Adaptive video textsize detection algorithm
XUE Wei1, DU Sidan2, WU Shukai2
(1. Dept. of Science Technology, Nanjing Agricultural University,Nanjing 210002, China; 2. Dept. of Electronics Science Engineering, Nanjing University,Nanjing 210093, China)
Abstract:This paper presented a method for detecting text in video based on multiple scales process, discreted Fourier transform (DFT) and support vector machines (SVM). The algorithm combined gradient info, textboundary localizing and multiple scales integration to detect candidate areas, and used SVM to refine candidate areas by DFT characteristic. Experimental results show that algorithm can extract different text in video, and perform better than that based on Wavelet, gray or DCT characteristics.
Key words: text detection; adaptive; multiresolution; DFT; SVM
數字視頻的應用日趨廣泛,視頻點播、視頻會議、遠程教育、播客等,已經為越來越多的人所接受和熟悉。面對大量涌現的視頻數據,對于管理者和受眾如何編輯并找到所需的視頻信息就成為一個急需解決的問題。圖像視頻中的文字信息是一類特殊的對象,在一定程度上反映了本幅圖像的重要內容,因此,視頻中的文字提取具有較大的實際意義。
圖像或視頻中提取字符的方法[1~6]可分為兩類:基于字符的紋理特征來定位;根據字符的結構特點(字符邊緣的幾何特點、字符顏色的一致性等)來定位。同時,對于視頻序列,也可結合幀與幀之間的相關性來定位字符區域。用紋理特征定位的缺點是難以找到通用的特征,而且固定特征塊的大小對結果影響較大,對圖像中不同大小字塊易造成誤判。對于顏色分割算法,視頻在色度空間上的壓縮造成文字邊緣分割效果不明顯,特別是對筆畫較細的文字聚類的效果不佳。另外,這些方法都忽略了文字一般是直線排列的特征。通過對以上算法及大量文字視頻的分析,結合文字圖像的多分辨率融合處理技術,本文提出基于視頻文字大小自適應及支持向量機分類技術的文字提取算法。
1 視頻文字大小自適應提取算法
用多分辨率圖片進行形態學處理,可獲得完整的定位方框。本文使用的是高斯多分辨率圖,算法開始處根據視頻圖像的特點自適應地決定分解層次,先用5×5的高斯核函數對原圖進行低通濾波,再對濾波后的圖進行降采樣得到1/2分辨率的子圖像。算法流程如圖1所示。
1.1 提取候選區域
首先用簡單的垂直和水平方向上的Sobel算子計算出梯度,并且使用當前圖中梯度值最大值的1/2為閾值進行二值化得到邊緣圖。然后利用兩個形態學算子分別對這兩種邊緣進行膨脹操作,水平方向的邊緣使用6×3的方塊連接垂直方向上的邊緣,垂直方向上的邊緣使用2×5連接水平方向的邊緣。將這兩幅邊緣進行與操作,最后將該二值圖像進行連通域的合并,得到所有的候選塊。
1.2 分割候選區域塊及文字邊界定位
計算候選塊在Y軸上的投影:
h(y)= x∈linef(x)/length(1)
其中:f(x)是該行中x的二值化結果;length為該塊的寬。
接著對候選塊按以下四個步驟進行處理:
a) 對于字塊和背景物體(或短文字部分)連接在一起的情況,背景物體或短文字區域的每行長度小于每行字的長度,背景部分投影相對要小,因此選擇投影中h(y)有著最大絕對梯度的那行作為待選的分割線,如果梯度大于某個閾值,并且該行h(y)比最大h(y)50%還小,就以該行作為分割線。
b) 如區域有多行字,且它們有相似的長度,用一低門限提取文字及其間隔區域,如果間隔區域長度大于10%文字高度(文字區域),其區域中心線為分割線。
c) 經過上面兩個步驟,可以認為該塊只有一行文字,因此通過查找文字的上下邊界以便更精確地定位文字。定義填充率為
β= xi,j/A×100%(2)
其中:xi, j∈{0,1}為(i,j)像素點的值;A為該字塊的面積。
通過從上至下移動頂部邊界和從下至上移動底部邊界,當這兩個邊界所夾區域的填充率β超過一個閾值(60%)時,則認為這兩條線就是定位文字區域的上下邊界。
d) 對經過分割的區域進行判定,寬高比小于閾值(0.7)的塊或者上下邊界之間的距離小于分割區域高度均值一半的塊認定為非文字區域。剩余的塊作為候選區域待下一步處理。
1.3 多分辨率融合處理
假設較高分辨率的圖像給出字塊的更精確的定位,低一級分辨率下得到的字塊為B0,在高一級分辨率下得到了N個與B0相交的字塊標志為Bi(i=1,2,…,N)。應用以下兩個步驟進行處理:
a) 如果Pa=1/B0 Ni=1|B0 ∩ Bi|大于0.7(其中|B|為字塊B的面積),則認為高分辨率下的精確定位是合理的,保留字塊Bi(i=1,2,…,N),刪除B0。
b) 否則,低分辨率下得到的字塊是完整的字塊,將B0區域融合到高一級分辨率圖中,刪除Bi。
實驗發現,一般視頻只需使用三層的高斯金字塔分解,或者不強行設定分幾層,每次提取時根據視頻大小等特征設定分解層數。多分辨率檢測結果如圖2所示。其中(a)為最低分辨率下連接的結果;(b)為用次高的分辨率連接的結果;(c)為用以上原則處理后的結果,可以看出,雖然在(b)中已經不能有效地連接大字了,但是(a)定位的結果很好地彌補了算子大小的限制;(d)是最高分辨率下的連接結果;(e)為最終的結果。多分辨率方法較在原分辨率下進行候選塊探測(圖2(d))的結果有明顯改善。
1.4 SVM驗證候選塊
即使在文字定位中采用多分辨率技術,仍然會有大量的非文字塊被判斷為候選區域,所以本文采用SVM對這些區域進行進一步的分類判定。
1.4.1 特征提取
首先對所有的候選塊高度進行歸一化,將所有塊的高度都歸并為16;通過雙線性插值,將上下邊界之間的區域縮放到歸一化后中間的高度為8之間,將上邊界以上和下邊界以下的區域分別縮放到上面和下面的高度為4的區域。
使用1個16×16塊中的距離映射DM(z)[7],共256維的特征變量,對于塊中任一點(x,y),它的距離定義為
υ(x,y)=min(xi,yi)∈Bdis[(x,y),(xi,yi)](3)
其中:B是z窗中所有強邊緣點的集合,距離使用歐拉距離。
Chen Datong等人 [4]分別比較了使用灰度、DCT和CGV(constant gradient variance)作為特征的效果。由于字塊的灰度變化很多,灰度并不是一種很好的特征。后三種特征都是對塊的水平方向上的位移敏感的,對于之后滑動窗口的判別很不利,因此本文使用DFT特征。由DFT的計算公式可知,位移僅僅影響DFT的角度,而幅值則不受影響,會有更佳的學習效果。
1.4.2 訓練與識別
對于DFT的特征向量使用30階多項式作為映射函數,因此有核函數:
K(x,xi)=[(xi×x)+1]30(4)
本文使用4 000個文字塊和3 000個非文字塊進行訓練[8]。判定時,從區域最左邊開始每次將16×16的窗向右滑動4個像素,將這些塊的特征向量放入SVM中進行判別得到輸出G(z),對于整個區域R,用高斯函數計算總輸出,定義為
Conf(R)= z∈RG(z)/2πσ0×exp(d2z/(2σ02))(5)
其中:dz是窗的中心到塊的中心的距離;σ0=10。如果Conf(R)>0, 則判定這個區域是文字;否則就標定為非文字區域。
2 實驗結果
實驗對多個視頻片斷中3 000個不同幀進行測試,視頻為MPEG2壓縮序列。本文僅對這些圖的亮度通道部分進行操作。灰度、DCT和小波使用的核函數為RBF[9]:
K(x,xi)=exp((-‖x-xi‖2)/(2σ2))(6)
其中:σ通過交叉驗證的方法確定。定義IR為正確識別率,FRR為誤判的區域比率。表1是灰度、DCT、DFT、Wavelet三種特征的對比結果。可以看到在本文使用的序列中,DFT結果要優于DCT和小波。視頻中文提取結果圖(圖3)中,白框內為文字區域,一行文字被分為多個塊是因為文字間的間隔比較大,在OCR識別前可通過Z字形掃描連接在一起;部分塊的上下邊框未能完全包住文字與邊界定位時的閾值有關,實際使用時可通過調整閾值或邊界范圍以達到更佳的效果。
3 結束語
視頻文字大小自適應提取算法在多分辨率情況下依據梯度信息提取文字候選塊,并使用SVM進行最后候選塊的鑒別。另外文字塊邊界檢測的引入更加準確地定位了文字,提高了判別的準確度。算法對于視頻圖像中不同