亓振軍 呂華瑋
(山東省廣播電視監(jiān)測中心 ,山東 濟南 250000)
近年來,新聞媒體傳播形態(tài)發(fā)展趨于多樣化,新聞媒體融合發(fā)展十分迅速,廣播電視為代表的傳統(tǒng)主流新聞媒體在不斷改革創(chuàng)新,在進一步擴大新聞公信力和影響力的同時,面臨著網(wǎng)絡(luò)媒體和自媒體的沖擊。廣播電視是國家方針政策宣傳的重要途徑,是黨和政府的宣傳喉舌,宣傳地位十分重要,新聞媒體始終要堅守黨性原則,堅守廣播電視新聞是黨新聞輿論工作的“主陣地”。如何更好更準確地監(jiān)測新聞播報,正確地引導輿論,使廣播電視新聞媒體發(fā)揮出自身特長,將國家的方針政策傳遞到千家萬戶,確保廣播電視宣傳特別是新聞宣傳走實并走入人心,是廣播電視監(jiān)管監(jiān)測的工作重點。廣播電視畫面中的字幕文本往往與電視內(nèi)容密切相關(guān)[1],字幕檢測有助于在海量的電視畫面中快速提取有效信息,對節(jié)目內(nèi)容的監(jiān)測管理具有重要意義。
根據(jù)使用特征的不同,字幕檢測主要分為基于紋理、基于邊緣和基于連通域三類算法。[2]然而以上特征并非只屬于文本,而廣播電視字幕存在文本的結(jié)構(gòu)、像素、幾何變形、背景復雜度、圖像分辨率等多種問題帶來的干擾,導致字幕檢測較為困難。為實現(xiàn)高效精準的文本定位檢測,本文提出一種基于水平直線檢測、文字檢測以及字幕聚類的新聞條目標題字幕檢測算法,該算法具有非監(jiān)督、準確率高的特點。
視頻中字幕所包含的特征十分豐富,且特征十分復雜細致,對于新聞視頻中的標注性字幕,主要從以下幾個方面考慮。
在新聞視頻中,每一幀的字幕通常具有各種不同的尺寸大小,字符所占像素一般大于16個。
通常情況下,字幕與背景畫面之間存在清晰的邊緣,筆畫的邊緣處存在明顯的灰度變化,且字幕顏色較為單調(diào),和色彩豐富的視頻背景畫面形成強烈的對比。
字幕主要作用為視頻的輔助特征,多出現(xiàn)在視頻下方1/4位置。
為使觀眾看清字幕內(nèi)容,字幕一般持續(xù)在一段字幕流中,同一文本一般會在連續(xù)多幀中出現(xiàn),持續(xù)時間常常為1秒鐘以上,對于幀率為30幀每秒的視頻來說,同一個字幕將至少連續(xù)出現(xiàn)30幀。
在新聞視頻中,通過觀察,不難發(fā)現(xiàn)每一條新聞條目中都有且只有一條標題字幕。因此將檢測到的每條標題字幕作為分割點,并對新聞條目的標題字幕進行檢測與識別,就能有效地將視頻中的所有新聞進行拆條分割,從而為新聞監(jiān)測提供便利。
在上一節(jié)中,根據(jù)對電視字幕特性的分析,隨著視頻圖像的不斷變化,字幕的位置、字體的大小和種類變化也較為靈活,雖然人工文本相對于自然場景中的文本有較小的形變和干擾,更為穩(wěn)定,但在檢測和識別視頻文本方面仍然有很多困難:首先字幕的背景是不斷變化的圖像畫面。在復雜的背景中可能有一些區(qū)域的紋理、顏色和形狀具有類似文本的特征,這會干擾文本字段的檢測和提取; 其次視頻是由大量的幀圖像構(gòu)成,通常下新聞視頻的幀率為25幀/秒,在如此高的幀率下進行逐幀分析和處理將帶來龐大的計算量和較高的設(shè)備要求,并且字幕隨機出現(xiàn)在某些幀率中,檢測和提取較為困難。在經(jīng)過碼流壓縮等處理后,引入了大量的噪聲,尤其在分辨率較低的視頻中,文字和背景的差異降低,這些因素都會使得新聞視頻字幕的檢測和提取變得困難。
由于字幕的持續(xù)性,無須對視頻的每一幀進行檢測,首先,對輸入的新聞視頻等時間間隔地抽取關(guān)鍵幀以節(jié)省計算成本,這個時間間隔不能太短也不能太長,如果太短會導致需要后續(xù)處理的圖像幀增多,增加處理時間;如果太長則有可能遺漏某些出現(xiàn)時間短的字幕,影響結(jié)果。如圖1所示的是水平直線文字檢測算法的流程示意。
圖1 新聞標題字幕檢測流程圖
其次,經(jīng)過抽取關(guān)鍵幀的處理之后,得到了一組圖像幀,要在里面找出所以含有新聞條目標題字幕的圖像幀來。通過觀察,發(fā)現(xiàn)新聞條目標題字幕通常都有一條水平條背景,其中可以觀察到若干條水平直線。利用這個先驗信息可以用來過濾掉大部分不可能含有標題字幕的圖像幀。使用水平條作為字幕邊緣并使用邊緣檢測算法分割字幕,由于水平條和視頻背景存在明顯的灰度值和亮度值的變化,使用特邊緣檢測算子,對圖像中出現(xiàn)字幕概率較大的區(qū)域進行檢測[3],就能夠搜尋出目標圖像的邊界線。
目前主流的邊緣檢測方式主要分為三類:基于一階微分運算的梯度邊緣檢測,基于二階微分運算的邊緣檢測和Canny算子。其中,基于一階微分運算的梯度邊緣檢測算子主要有Roberts算子、Prewitt算子和Sobel算子,其原理是利用檢測算子掃描圖像,獲取每一像素的一階微分函數(shù),通過計算其極大值和極小值判定邊緣點所在的位置;基于二階微分算子的邊緣檢測的原理是通過搜索圖像中的二階微分零交叉點進行邊緣檢測,如應(yīng)用最為廣泛的Laplace算子;Canny算子雖然具有苛刻的標準且檢測精度也較為理想,但由于其模板較為復雜,計算量巨大,導致其對硬件系統(tǒng)要求較高。因此選擇精度和運算量較為平衡的一階微分算子作為本文的檢測算法,一階微分算子主要分為以下三類。
Sobel算子原理是利用差分算子計算圖像亮度函數(shù)的梯度近似值,分為兩個不同的模板用于分別檢測水平邊沿和垂直邊沿。
常規(guī)Sobel算子的定義是,對圖像A = {f(i,j)},包括水平方向的Gx和垂直方向的Gy:
也可以用下列卷積表示:
最后得到邊緣圖:
或:
同Sobel一樣,Roberts算子也是局部差分算子。Roberts算子使用2×2的模板并在此計算對角線方向?qū)?shù):
Roberts算子模板是2×2,表示為:
Prewitt算子同Sobel一樣,也使用3×3的模板,算子產(chǎn)生一幅邊緣幅度圖像,Prewitt數(shù)學原理[5]是計算偏微分的方法:
Prewitt算子的模板為:
在上述一階微分算子中,Roberts算子的定位最為精確,但其對噪聲較為敏感且斜邊檢測能力較差,因此只適用于結(jié)構(gòu)單一,灰度變化較為明顯的簡單圖像;Prewitt算子則通過去掉部分偽邊緣以達到平滑噪聲的作用,并且在一定程度上可以提高檢測斜邊的能力,但定位精度不高;相比之下,Sobel算子的計算原理與Prewitt算子相似,但對邊緣檢測的精確度更高,且具有一定的抗噪聲能力。綜上所述,為了減少運算且不損失太多精度,提高檢測效率,本文使用的是模板較為簡單,計算效率較高,精度損失少且對硬件要求合理的3×3的Sobel算子實現(xiàn)圖像的邊緣檢測。
Sobel算子主要根據(jù)圖像中亮度變化明顯的位置一般存在邊緣線條的特點,通過計算當前像素某個鄰域內(nèi)的像素值變化并通過設(shè)置一定的閾值決定該區(qū)域是否位于邊緣處,其步驟如下:(1)按照由左至右、從上到下的計算順序,將水平和垂直2個方向的模板分別沿圖像像素的排列移動。(2)將圖像的像素值與2個模板的對應(yīng)位置分別進行卷積。(3)求得卷積結(jié)果的最大值,計為px。(4)依據(jù)檢測圖像的特點設(shè)定合適的閾值,記為TH,判定該像素點所在區(qū)域存在圖像邊緣的條件為px≥TH。
由于只需要檢測水平方向的直線,所以只使用垂直方向的Sobel算子。但是考慮到水平直線在水平方向上的一致性,將Sobel算子改進成下列形式,以期更適應(yīng)水平直線檢測的任務(wù):
該算子既考慮了水平直線所在位置垂直方向上的邊緣特征,同時考慮了其水平方向上的一致性。得到邊緣圖之后,在其上進行水平直線檢測。
設(shè)視頻分辨率為 hw× ,如圖2所示,由于標題字幕只出現(xiàn)在屏幕的下方,所以只需在垂直方向上3h/5到13h/14的區(qū)域內(nèi)進行檢測。然后遍歷檢測區(qū)域內(nèi)所有長度為w/2的水平直線。
根據(jù)改進模板計算出來的值只是圖像梯度值,梯度值較大的地方可能對應(yīng)著圖像的邊緣,總體來說,使用一階梯度微分算子提取的梯度圖像邊緣較粗,尋找合適的閾值以使得直接二值化處理后的邊緣達到要求比較困難,因此,需要對梯度圖像進行細化處理。即求得:
其中,L(a,b)為起點坐標為(a,b)的水平直線上邊緣圖的能量和。經(jīng)此處理可以突出邊緣,有利于選擇準確的閾值。
如果L(a,b)大于某個預定義的閾值,則在該位置存在一條水平直線,實際上,一幅灰度圖像的前景與背景占有相對比較大的統(tǒng)計權(quán)重,因而在梯度圖像的直方圖中,它們的梯度值主要集中在梯度值較低區(qū)域。然而圖像真正的邊緣位于梯度值較大的區(qū)域,因此需要通過選擇合適的閾值來濾掉非邊緣點而保留邊緣點。選出至少含有一條水平直線的圖像幀進行后續(xù)處理(如圖2)。
圖2 水平直線檢測區(qū)域
對檢測出含有水平直線的圖像幀,就可以對其進行文字檢測。由于標題字幕只出現(xiàn)在屏幕的下方,文字檢測仍然是在垂直方向上3h/5到13h/14的區(qū)域內(nèi)進行檢測。經(jīng)過文字檢測后,能得到圖像幀中找到的文字串的位置、寬度、高度等信息。
文字檢測之后,得到檢測出的大量字幕條,但是其中只有一部分是新聞條目標題字幕,比如檢測出3條字幕,其中只有1條是標題字幕。因此需要從檢測到的字幕條中找出標題字幕。考慮到標題字幕出現(xiàn)的位置、文字大小、顯示風格都非常相似,筆者定義一種評價字幕相似度的方法,定義了字幕之間的相似度之后,就可以使用非監(jiān)督聚類技術(shù)來對字幕進行聚類,將相似的字幕歸為一類。聚類算法有很多,例如K-means、DBScan、BIRCH、CURE等。其中最經(jīng)典的就是K-means算法。[7]K-means算法首先根據(jù)啟發(fā)式方法或隨機選擇聚類中心集,然后進行多次迭代。在每次迭代中,每個樣本點將根據(jù)計算出的相似性分配給最近的聚類。迭代后,通過計算每個簇中所有數(shù)據(jù)的平均值再次確定簇的中心,然后該中心就是所有樣本點的中心。
為了驗證改進的Sobel算子性能,與文獻[8]和文獻[9]的方法進行比較,截取100幅電視新聞圖像進行測試,為了便于精確對比算法性能,設(shè)定圖像為統(tǒng)一的350×350的大小,實驗結(jié)果如表1所示,通常使用的檢驗指標是查準率和查全率。
表1 字幕行檢測準確率
經(jīng)過文字檢測,K-means聚類等步驟,筆者找到了若干標題字幕,測試結(jié)果表明,該方法能夠在復雜背景下精確檢測出字幕區(qū)域,為后續(xù)文字識別創(chuàng)造條件。通過比較識別出的字幕內(nèi)容,去掉同一字幕被重復檢測的情況。這樣,就可以獲得新聞視頻中出現(xiàn)標題字幕的時間點,每個標題字幕只取其起始時間點,從而實現(xiàn)視頻中的每條新聞的自動拆分。
綜上所述,充分發(fā)揮計算機數(shù)據(jù)運算優(yōu)勢,運用改進的Sobel算法,利用新聞視頻中的字幕特征,將新聞節(jié)目視頻片段進行更加精準的拆分,從而形成單一獨立的視頻片段,為廣播電視監(jiān)測人員監(jiān)看提供便利,從而實現(xiàn)新聞節(jié)目的有效監(jiān)測。