專利名稱:通用的圖像中的文本定位的制作方法
技術(shù)領(lǐng)域:
本發(fā)明
背景技術(shù):
領(lǐng)域本發(fā)明一般地涉及圖像中的文本定位和/或分割。
背景技術(shù):
目前在文本識別方面所做的工作主要集中于印刷或手寫文件中的字符的光學(xué)識別(稱為光學(xué)字符識別(OCR)),以滿足對于辦公自動化系統(tǒng)的文件閱讀器的巨大市場需求。這些系統(tǒng)已經(jīng)達到了很高的成熟度。在工業(yè)應(yīng)用中可以看到進一步的文本識別工作,其中的大部分集中在非常窄的應(yīng)用領(lǐng)域。一個例子是汽車牌照的自動識別。
人們已經(jīng)提出一些關(guān)于檢測復(fù)雜圖像和視頻中的文本以及從復(fù)雜圖像和視頻中提取文本的方案。但是,從這些方案的描述中可以看出,每種方案均在某些方面不具有通用性。另外,其中一些方案不包括將已定位的文本從其背景移去。
因此,人們需要一種通用的文本定位和分割方法。
從下面給出的對于本發(fā)明實施例的詳細描述和附圖可以更充分地理解本發(fā)明,但是,這些描述以及附圖不應(yīng)該被用來將本發(fā)明限制為所描述的特定實施例,而僅僅是為了說明和理解本發(fā)明。
圖1中的流程圖表示在本發(fā)明的一些實施例中完成的各種功能。
圖2中的流程圖表示在本發(fā)明的一些實施例中的定位的各個階段的圖像。
圖3示出了在具有文本和背景的一個幀中的一個圖像的初始界定方框的例子。
圖4示出了垂直和水平投影輪廓的例子。
圖5示出了應(yīng)用于圖3的文本的一部分的垂直分割。
圖6示出了應(yīng)用于圖3的文本的一部分的水平分割。
圖7示出了網(wǎng)站上的一個圖像,該圖像具有文本和背景。
圖8以部分方框圖、部分流程圖的方式表示出根據(jù)本發(fā)明一些實施例的通過量化來完成的顏色估計。
圖9中的流程圖表示根據(jù)本發(fā)明的一些實施例的視頻監(jiān)視和文本跟蹤之間的關(guān)系。
圖10中的方框圖表示能實現(xiàn)根據(jù)本發(fā)明的一些實施例的功能的計算機。
具體實施例方式
1.簡介本發(fā)明的各個實施例包括圖像中文本的定位和/或分割,其中所述圖像可以是靜止的或運動的圖像,例如視頻或網(wǎng)頁中的圖像。網(wǎng)頁可以包括視頻或非視頻圖像。不要求文本處于圖像中的特定位置或具有特定的顏色。另外,背景(也稱為非文本)可以是簡單的(例如單色的)或復(fù)雜的背景。
數(shù)字視頻的高效索引和檢索是多媒體數(shù)據(jù)庫的一個重要的方面。視頻中的文本對于檢索來說是一種強大的高級索引。檢測、提取和識別文本可以建立這樣一種索引。它使得用戶可以提交很復(fù)雜的查詢條件,例如由約翰·韋恩主演或斯蒂芬·斯皮爾伯格導(dǎo)演的所有電影的列表?;蛘撸撍饕梢杂脕硖D(zhuǎn)到關(guān)于一個特定主題的新聞報道,因為新聞廣播的標(biāo)題經(jīng)常提供其下面的新聞報道的高度概括。例如,可以通過搜索“財經(jīng)新聞”一詞來得到當(dāng)天的財經(jīng)新聞。該索引也可用來記錄廣告的播出時間和日期,從而為那些替他們的客戶檢查其廣告是否已經(jīng)按預(yù)定時間在預(yù)定的電視頻道播出的人們提供幫助。如果可以自動地、可靠地識別數(shù)字視頻中的文本,很多其他有用的高級用途是可以想象的。分割和識別網(wǎng)頁的非文本部分中的文本也是一個重要的問題。越來越多的網(wǎng)頁在圖像中顯示文本?,F(xiàn)有的文本分割和文本識別算法不能提取文本。因而,所有現(xiàn)有的搜索引擎都不能正確地對具有豐富圖像的網(wǎng)頁的內(nèi)容進行索引。文本分割和文本識別也有助于為大顯示器設(shè)計的網(wǎng)頁自動轉(zhuǎn)換成適合在小LCD上顯示,因為圖像中的文本內(nèi)容可以被檢索出來。
2.綜述圖1是一個流程圖,示出了關(guān)于本發(fā)明的一些實施例的概況。圖1包括一個文本定位塊10和一個文本分割塊14。說明書中提到“實施例”、“一個實施例”、“一些實施例”或“其他實施例”時,指的是所描述的與實施例有關(guān)的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一些實施例中,但不一定包括在所有實施例中。提到“實施例”、“一個實施例”或“一些實施例”時不一定總是指相同的實施例。
2.1文本定位數(shù)字輸入信號(該信號通常包括一個圖像)由文本定位塊10的特征提取塊20接收。在一些實施例中,在特征提取塊20接收輸入信號之前或同時,將任何ASCII或相關(guān)文本(例如HTML文本)移去。應(yīng)注意,一個網(wǎng)頁可能具有多個圖像,這些圖像被當(dāng)作是獨立的圖像。文本定位塊找到圖像中文本的位置并用緊湊的文本界定方框來對其進行標(biāo)記。在一些實施例中,這些界定方框應(yīng)該僅包圍一個文本列的一個文本行。但是,如下面所述,文本列不限于單個字符。在一些實施例中,定位包括以下步驟(1)特征提取(塊20)從輸入圖像中提取特征,獲取那些文本特有的特征。
(2)區(qū)域分類(塊22)特征圖像中的每個像素按照是否屬于文本被分類?;谠撔畔⑸沙跏嘉谋窘缍ǚ娇?。
(3)區(qū)域合并(塊24)細化(refine)文本界定方框,使得每個方框僅包含一行及一列文本。
(4)文本跟蹤(塊26)如果輸入為視頻,則將本塊加到處理過程中。這里我們利用視頻的時間冗余性來提高文本界定方框的精度并消除很多錯誤警報。
(5)估計文本和最主要的背景顏色(塊28)。
2.2文本分割文本分割階段(塊14)將背景(非文本像素)移去并生成一個輸出信號。輸出端44上的輸出信號是一個圖像文本表示。圖像文本表示的一個例子是文本位圖。所述文本位圖例如可以包括白色背景上的黑色文本,而不管原來的文本和背景的顏色是什么。該位圖可以被文本識別軟件用來識別已經(jīng)被塊10和14定位和分割的特定文本。作為一個例子,文本識別軟件可以是標(biāo)準(zhǔn)OCR軟件,該軟件預(yù)期白色背景上的黑色文本,不過本發(fā)明不限于產(chǎn)生這樣一種輸出信號。
為了改進分割,每個文本方框被按比例變換成其高度為例如100像素(塊30)。接著,移去背景(塊32和36)。對于背景像素的搜索在文本界定方框的邊界上開始。對于視頻,可以在該步驟之前對同一文本的位圖進行子像素精確對準(zhǔn)(塊34)。其余的像素可以被二值化(塊38)。如上面提到的,所得到的二元位圖可以被送入標(biāo)準(zhǔn)OCR軟件以將其內(nèi)容轉(zhuǎn)換為例如ASCII。
本發(fā)明不限于圖1的特定塊(10和14)。在不同的實施例中,這些塊(20-38)的細節(jié)可以是不同的,另外,一些塊可以被省去、被合并或具有不同的順序。
3.其他的綜述信息和概要文本定位和分割系統(tǒng)的一些實施例屬于一種自頂向下的方法。在視頻的情況下,通過利用其時間冗余性來細化可能的文本行(小節(jié)5)。象在文本定位中一樣,文本分割也可以利用視頻的時間冗余性來改進分割結(jié)果。幾個基本的決定包含在一些實施例中。它們包括(1)僅考慮水平文本,因為99%以上的人工文本的出現(xiàn)屬于這種情況。將任何書寫方向都考慮在內(nèi)的一些較早系統(tǒng)的經(jīng)驗表明,剩下的1%的文本出現(xiàn)率會帶來高得多的錯誤警報率。只要是實現(xiàn)視頻和圖像中正確分割的文本大于90%這樣一個性能仍然比較困難,則可以忽略非水平文本。
(2)非文本區(qū)域比文本區(qū)域的可能性大得多。因此,我們決定將粗略文本檢測器訓(xùn)練成盡可能緊密(對于特定位置的特定大小的文本進行訓(xùn)練)。通過將我們的文本檢測器應(yīng)用在所有比例下的所有位置可以實現(xiàn)與比例和位置無關(guān)。
另一個決定是,只有當(dāng)文本由至少兩個字母或數(shù)字組成時才考慮該文本的出現(xiàn)。
但是,本發(fā)明不限于上面提到的特定細節(jié)。可以理解,對于某些特定的應(yīng)用,將會使用垂直文本,在這種情況下,可以對本發(fā)明做出適應(yīng)性修改。另外,如果關(guān)于該圖像的其他信息是已知的,可以修改本發(fā)明的特定實施例以利用所述已知信息。
4.文本定位參見圖2,圖像50被按比例變換為不同大小的多個圖像52、54、56、58和60。這些圖像可以是靜止圖像或視頻中的圖像幀。雖然示出了五個圖像,圖像的數(shù)目可以多于或少于五。確定圖像中的像素的邊緣方位以生成特征圖像62、64、66、68和70(見小節(jié)4.1)。使用一個固定比例文本適配器來對邊緣方位圖像中的像素進行分類,以生成圖像72、74、76、78和80(見小節(jié)4.2)。圖像72-80被整合為與一個圖像相關(guān)的一個突出圖形84(見小節(jié)4.3)。從該突出圖形84生成初始文本界定方框(見小節(jié)4.4.1)。文本界定方框和一個與圖像50相同或相似的相關(guān)圖像由塊86表示。修改塊86的文本界定方框(例如合并)(見小節(jié)4.4.2)以生成修改后的文本界定方框,由塊88表示,該塊88也表示與塊86相關(guān)的圖像。應(yīng)注意,文本界定方框不是所述圖像的一部分,而是與所述圖像相關(guān)。
4.1圖像特征研究人員普遍地將人工文本的出現(xiàn)表征為具有高對比度和高頻率的區(qū)域。有很多不同的方法來放大這些特征。一種方法是使用RGB(紅、綠,藍)輸入圖像I(x,y)=(Ir(x,y),Ig(x,y),Ib(x,y))的梯度圖像來計算復(fù)值邊緣方位圖像E。E按如下方式定義令A(yù)c(r,)為顏色平面c的直角坐標(biāo)系的微分圖像▽Ic(x,y)的角坐標(biāo)表達式。則E被定義為 的直角坐標(biāo)系的表達式。模180度用來將方向轉(zhuǎn)換為方位。E是我們用于文本定位的特征。
另一種方法是使用圖像帶b的方向微分Dcx和Dcy來計算方向邊緣強度Ex=Σc∈(r,g,b)|Dcx|]]>和Ey=Σc∈(r,g,b)|Dcy|.]]>及其總邊緣強度E=1/3Σc∈(r,g,b)((Dcx)2+(Dcy)2)1/2.]]>4.2固定比例文本檢測器在一些實施例中,使用一個固定比例文本檢測器來根據(jù)邊緣方位圖像E中每個像素附近的局部區(qū)域來對所述每個像素進行分類,以確定其是否是一特定大小的文本區(qū)域的一部分。例如,給定邊緣方位圖像E中的一個20×10像素的區(qū)域,固定比例的文本檢測器對于該區(qū)域是否包含特定大小的文本進行分類。有許多不同的技術(shù)來建立一個分類器。這些例子包括貝葉斯分類器(Bayes classifier),混合高斯分類器(Mixed-gaussianclassifier)和前饋型神經(jīng)網(wǎng)絡(luò)(其具有好的歸納能力)。對于我們的工作,我們將采用內(nèi)曼-皮爾遜(Neyman-Pearson)標(biāo)準(zhǔn)的貝葉斯分類器的性能和實值與復(fù)值前饋型神經(jīng)網(wǎng)絡(luò)的性能進行了對比。具有雙曲正切激活函數(shù)的復(fù)值神經(jīng)網(wǎng)絡(luò)可以提供更出色的性能。在一些實驗中,在可比的命中率(90%)的情況下,其在驗證集合上的錯誤命中(0.07%)比可比的實值網(wǎng)絡(luò)低兩倍多。
網(wǎng)絡(luò)結(jié)構(gòu)可以采用各種網(wǎng)絡(luò)結(jié)構(gòu)。在一些實施例中,由E中的20×10邊緣方位區(qū)域饋送的200個復(fù)值神經(jīng)元作為網(wǎng)絡(luò)輸入。該感受范圍的大小在性能和計算的復(fù)雜性之間達到很好的折衷。30×15神經(jīng)元的輸入層不能獲得更好的分類結(jié)果,但是計算上代價更高。另一方面,使用少于10行的輸入層導(dǎo)致結(jié)果差得多。應(yīng)注意,感受范圍的行數(shù)決定了被檢測的字體的大小,因為所有訓(xùn)練文本模型被按比例變換,使得字體的大小等于行數(shù)。輸入層再與一個2復(fù)值神經(jīng)元的隱藏層連接。同樣,使用更多的隱藏神經(jīng)元并不能導(dǎo)致任何性能的改進,而僅使用一個隱藏神經(jīng)元將錯誤警報率增加到三倍。隱藏層被整合為一個實值輸出神經(jīng)元。
網(wǎng)絡(luò)訓(xùn)練有多種方法完成網(wǎng)絡(luò)訓(xùn)練。下面描述了一些方法,但是本發(fā)明并不限于此。訓(xùn)練和驗證測試集合應(yīng)該盡可能小,但仍然具有代表性。它應(yīng)該包含所有典型的文本模型和非文本模型。理論研究表明,如果訓(xùn)練集合中的文本和非文本樣本數(shù)目之間的關(guān)系對應(yīng)于應(yīng)用中二者之間的關(guān)系,神經(jīng)網(wǎng)絡(luò)將是最有效的。滿足該條件的大量訓(xùn)練樣本被獲得。雖然怎樣獲得不同類型的文本的例子是易懂的,但是得到有代表性的非文本集合要更困難一些。
這個問題的一個解決方案是所謂的“自引導(dǎo)(bootstrap)”方法。訓(xùn)練集合的組成可能嚴(yán)重影響網(wǎng)絡(luò)性能。在一些實施例中,收集到具有30180個文本模型和140436個非文本模型的有代表性的集合。最初的6000個文本模型和5000個非文本模型是為訓(xùn)練而隨機選擇的。僅允許非文本模型集合增加另外3000個通過“自引導(dǎo)”方法收集的模型。該方法由一個初始的非文本模型集合開始,以訓(xùn)練神經(jīng)網(wǎng)絡(luò)。然后,使用一個與訓(xùn)練集合不同的驗證集合(這里所有模型減去訓(xùn)練集合)來估計經(jīng)訓(xùn)練的網(wǎng)絡(luò)。驗證集合的一些錯誤分類的模型被隨機地加到訓(xùn)練集合中,并用這種擴展的而且是改進的訓(xùn)練集合訓(xùn)練出一個新的、有望增強的神經(jīng)網(wǎng)絡(luò)。再次用驗證集合對所得到的網(wǎng)絡(luò)進行估計,并將仍錯誤分類的非文本模型加到訓(xùn)練集合中。重復(fù)該訓(xùn)練和定向加入新模型的操作,直到驗證集合中的錯誤分類的模型的數(shù)目不再減少,或者,象我們的例子中那樣,直到已經(jīng)加入了3000個非文本模型(并且僅僅是非文本模型)。該迭代的訓(xùn)練過程保證了一個多樣化的訓(xùn)練模型集合。
給出一個經(jīng)正確訓(xùn)練的神經(jīng)網(wǎng)絡(luò),一個20×10像素窗口滑過邊緣方位圖像E,并在每個位置被估計。當(dāng)且僅當(dāng)網(wǎng)絡(luò)輸出值超過thnetwork=0時(在-1與1之間),用該網(wǎng)絡(luò)輸出值來填充一個所謂的響應(yīng)圖像中的一個相關(guān)的20×10區(qū)域,由此將網(wǎng)絡(luò)響應(yīng)存儲在所述響應(yīng)圖像中。由于步長為1可能使計算量大到不適合于大圖像或高清晰度電視(HDTV)視頻序列的程度,我們在x和y方向分別采用步長因子3和2。該子采樣可以不降低精確度,但將速度提高至6倍。
在其他實施例中,使用一個實值網(wǎng)絡(luò),邏輯激活函數(shù)(logisticactivation function),在每個窗口位置,測試神經(jīng)網(wǎng)絡(luò)的輸出是否超過了thnetwork=0.85(在0和1.0之間)。如果是,則可以將一個由神經(jīng)網(wǎng)絡(luò)輸出值填充的20×10的方框加到響應(yīng)圖像中的相關(guān)位置。
4.3比例整合在一些實施例中,所有比例下的粗略固定比例文本檢測結(jié)果(圖像72-80)被整合為一個文本突出圖形(saliency map),以便恢復(fù)初始文本界定方框。(見圖2,方框82)。在很多情況下,文本位置的特點在于在多個比例下的正確命中,而錯誤警報在多個比例下的一致性較低??梢酝ㄟ^將文本置信度(confidence of being text)投影為該圖像的原始比例來生成突出圖形。(文本置信度的一個例子是神經(jīng)網(wǎng)絡(luò)輸出的激活程度)。突出圖形可以初始化為零。然后,對于在每個比例下檢測到的界定方框,將其文本置信度值按照在原始圖像比例下該界定方框的大小加入到突出圖形中。在一個特定區(qū)內(nèi),某一給定比例的界定方框可能多于一個。在一些實施例中,突出圖形可以反映一個特定區(qū)內(nèi)的所有圖像比例的界定方框的總數(shù)。
4.4文本界定方框的提取4.4.1初始文本界定方框有各種方法來生成文本界定方框。下面描述了一些實施例中采用的技術(shù),但本發(fā)明不限于這些細節(jié)。為了生成一個初始的文本界定方框的集合,其中所述方框包圍明顯突出的區(qū)域,該算法開始在突出圖形中搜索下一個尚未處理的、其值大于預(yù)定閾值thcore的像素。閾值的選擇是由避免為非文本區(qū)域生成文本方框的目標(biāo)而確定的。非文本區(qū)域應(yīng)該不那么突出。對于我們的分類器,thcore=5.0工作得很好,但是,有時可能必須調(diào)整該閾值(例如,如果訓(xùn)練一個新的神經(jīng)網(wǎng)絡(luò))。該閾值可以不是5.0。一旦在突出圖形中找到一個其值P(x,y)>thcore的像素(稱為核心像素),則將其作為一個高度和寬度分別為1的新文本方框的種子。然后以迭代的方式擴展該新文本方框。下面的偽碼(稱為偽碼例1)給出初始文本方框生成算法的一個例子。
初始文本方框生成算法(偽碼例1)(1)search for next core pixel and create a new text box of width and height 1(2)do(3)extendNorth(box)(4)extendEast(box)(5)extendSouth(box)(6)extendWest(box)(7)while(box changed)在整個邊緣強度圖像中該方框的總寬度上方相鄰行的像素的平均亮度被當(dāng)作在該方向增長的判斷準(zhǔn)則。如果平均亮度大于thregion=4.5,則將該行加到方框中。這個值被選擇成比thcore略小一些,以便不是僅僅得到一個包括文本區(qū)域的核心的文本方框,而是要得到一個包括該文本的所有部分的文本方框。接著,使用同樣的判斷準(zhǔn)則將方框向左方、下方和右方擴展。只要界定方框持續(xù)增長,則重復(fù)該迭代的方框擴展(見偽碼例1)。
圖3示出了視頻幀110中的一個圖像中的日期和時間和初始界定方框的例子,但本發(fā)明不限于這些特定的例子。幀110的背景可以是一種單一顏色(例如圖中示出的白色)的背景,或是具有各種形狀的不同顏色的更復(fù)雜的背景。文本界定方框用虛線表示。圖像110中可以有其他的文本。
4.4.2修改的文本界定方框初始界定方框經(jīng)常不能最恰當(dāng)?shù)亟o圖像中的文本加上邊框在實踐中,一些方框不包含任何文本(錯誤警報);而另外一些方框則跨越多于一行和/或列文本,并且在很多情況下,背景占去很大一部分像素。好在通過一種利用包含在所謂的投影輪廓中的信息的迭代的后處理過程(iterative post-processing procedure)可以克服這些缺點。
一個圖像區(qū)域的投影輪廓是空間像素內(nèi)容分布的簡潔表示,并且已經(jīng)成功地應(yīng)用在文件文本分割中。直方圖僅獲取例如像素亮度的某種圖像特征的頻率分布(丟失所有空間信息),而亮度投影輪廓能保留大致的空間分布,其代價是像素內(nèi)容更加密集。水平/垂直投影輪廓可以定義為每一列/行上像素亮度和的矢量。
圖4示出了一個例子,其中垂直和水平投影輪廓被繪制為沿特征圖像的x和y軸的條線圖。文本行上邊界的標(biāo)志是垂直投影輪廓中的陡然上升,而下邊界的標(biāo)志是陡然下降。類似地,文本對象的右和左邊界的標(biāo)志是水平投影輪廓中的陡然上升和下降。這些陡然的上升和下降可以被識別為輪廓圖穿過一條自適應(yīng)地設(shè)置的閾值線的位置。從下到上的轉(zhuǎn)換由一條長線表示,從上到下的轉(zhuǎn)換由一條短線表示(如圖4中標(biāo)出的那樣)。
術(shù)語“文本對象”按下面的方式使用。在單個圖像的情況下,一個文本對象是一個文本邊界方框(包括已經(jīng)經(jīng)過修改處理的情形)。在視頻的情況下,一個文本對象包括來自不同時間的幀的多個文本界定方框(包括已經(jīng)經(jīng)過修改處理的那些情形)。換言之,在視頻的情況下,文本對象包括同一文本的不同例子,它們來自不同的幀(圖像)。
垂直分割算法的一個例子在偽碼例2中以偽碼形式給出。水平分割算法的一個例子在偽碼例3中以偽碼形式給出。但是,本發(fā)明不限于偽碼例2和3中所示的特定細節(jié)。其他方法也可實現(xiàn)本發(fā)明的實施例。應(yīng)注意,在本小節(jié)中使用“分割”一詞時,是與修改初始界定方框有關(guān),而在小節(jié)6中,通常指的是從背景移去文本。
垂直分割算法(偽碼例2)(1)expand box at the top and bottom by the minimum of half the height ofthe original text box and half the possible maximal text height(2)calculate vertical projection profile of the|E|(3)get minimum and maximum profile values(4)calculate the segmentation threshold(5)set change=false(6)for all rows of the profile(7)if(profile[current row]>threshold)(8)if(no upper boundary yet)
(9)set upper boundary=current row(10)else(11)if(no lower boundary yet)(12)set lower boundary=current row(13)if(upper boundary)(14)create new box using the values of upper and lower boundaries(15)unset current upper and lower boundaries(16)set change=true(17)delete processed box水平分割算法(偽碼例3)(1)expand box at the left and right by the minimum of half the height of theoriginal text box and half the possible maximal text height(2)calculate horizontal projection profile of the|E|(3)get minimum and maximum profile values(4)calculate the segmentation threshold(5)for all columns of the profile(6)if(profile[current column]>threshold)(7)if(no left boundary yet)(8)set left boundary=current column(9)else if(right boundary)(10)if(gap between current column and right boundary is large enough)(11)create new box from left and right boundaries(12)unset left and right boundaries(13)else(14)unset right boundary(15)else if(no rightboundary)(16)set right boundary=current column(17)if(left&&no right boundary)
(18)right boundary=last column(19)if(left and right boundaries)(20)update processed box to current right/left boundaries(21)else(22)delete processed box參見偽碼例2,在一些實施例中,應(yīng)用到每個文本方框的垂直分割算法按下面的方式工作,但本發(fā)明不限于這些細節(jié)。在頂部和底部擴大該方框(偽碼例2中的第(1)和(2)句)。該擴大是需要的,因為正確的邊界可能位于當(dāng)前方框的外部,因而初始邊界偶爾可能切掉文本的一部分。為了正確地恢復(fù)這些邊界,應(yīng)該考慮原始方框外部的一些行。我們將頂部和底部的擴大量設(shè)定為原始文本方框高度的一半和最大可能的文本高度的一半中的較小者。原始文本方框高度的一半看起來是一個比較好的對于初始垂直邊界中的缺陷的最差情況估計,而采用最大可能的文本高度的一半的限制條件是因為原始文本方框可能包含多于一行文本,因而造成文本方框高度的一半可能大于最大可能的文本高度的一半。
接著,計算特征圖像|E|的擴大后的方框上的垂直投影輪廓和該輪廓中的最大和最小值maxprofile和minprofile。為了確定投影輪廓中的單個值是否屬于一個文本行,可以將閾值threshtext計算為threshtext=minprofile+(maxprofile-minprofile)X0.175。(注意偽碼例2中的第(4)句)。因子0.175是用實驗方法選擇的,在其他實施例中可以不同。垂直輪廓值超過threshtext的每一行被分類為包含文本。
在偽碼例2的第(6)-(8)句,算法開始從頂部搜索第一個從下到上的轉(zhuǎn)換。這一行被標(biāo)記為文本方框的可能的上邊界(第9句)。然后,在投影輪廓中搜索下一個從上到下的轉(zhuǎn)換(第13句)。如果找到的話,則生成一個具有當(dāng)前的上及下邊界的新文本方框。繼續(xù)搜索新的一對從下到上和從上到下的轉(zhuǎn)換,直到投影輪廓中的所有元素都被處理了。最后,可以刪除原始文本方框。文本方框現(xiàn)在被分解為其文本行。見圖5,示出了應(yīng)用到圖3的幀的一部分的垂直分割。應(yīng)注意,可以對圖5所示的界定方框進行額外的修改。
類似地,使用水平分割算法(偽碼例3)來保證處于一行中但不屬于一個整體的文本被分開。但是,在一些實施例中,偽碼例2與例3相比可能有兩個不同之處(1)在計算threshtext時使用因子0.25而不是0.175。實驗表明這個值對于水平分割來說是非常好的。
(2)加入了一個間隔參數(shù)。與垂直分割不同,“相同”列中的單詞不應(yīng)該因為各個單詞之間有小的間隔而被分開。因此,需要間隔參數(shù)來彌補這些較低的水平輪廓值(如果必要的話)。如果該算法已經(jīng)找到了一對從下到上和從上到下的轉(zhuǎn)換,也就是找到了一對可能的左及右邊界,而且如果該找到的從上到下的轉(zhuǎn)換與當(dāng)前列之間的間隔足夠大,則在當(dāng)前列中找到的從下到上的轉(zhuǎn)換被判斷為一個新的文本對象的左邊界,并且從先前找到的那對轉(zhuǎn)換生成一個新的方框。當(dāng)前列被標(biāo)記為新的可能的左邊界。如果間隔不夠大,則該算法將輪廓中的凹部判斷為太小,并因此將其忽略(刪除到目前為止找到的可能的左邊界)。該算法繼續(xù)處理輪廓中的下一個值。本發(fā)明不限于這些細節(jié)。
圖6給出了水平分割算法的結(jié)果的一個例子。應(yīng)注意,對于更復(fù)雜的文本布局,可以對界定方框進行額外的修改。
圖7示出了包括背景124的圖像120中的文本“DOW JONESCommodities trading is risking and is not for everyone”。圖像120在一個網(wǎng)頁126中。背景124可以是單色的背景,或復(fù)雜的背景(例如,具有不同形狀的很多顏色)。垂直分割算法可能不會一開始就將“Commoditiestrading is risking and is not for everyone.”的不同文本行分開。只要設(shè)想一下各文本方框的垂直投影輪廓是什么樣子就可以理解這是為什么。左列中的文本方框可能會擋住右側(cè)的較小文本的垂直輪廓,因而后者不能被分為兩個文本行。另一方面,兩個文本列之間的間隔足夠大,從而在采用水平分割算法后能夠被分開。實驗中的結(jié)果是,對文本方框進行了幾個周期的(或幾次)垂直和水平分割后,幾乎每種布局都可以被分為其文本行和列。
由于圖像及視頻幀中的文本高度是有限的,在一些實施例中,高度為height<mintextheight=8pt或height>maxtextheight=imageheight/2的方框被分類為非文本區(qū)域,并因此被丟棄。另外,由于水平分割確保文本方框包含諸如單詞或文本行的文本對象,正確分割的文本方框的高度應(yīng)該比其寬度小。結(jié)果,其高度大于寬度的方框也可以被丟棄。最后,那些具有相同上及下邊界并且接近到互相接觸或重疊程度的文本方框可以被加入到一個文本方框中。這樣減小了復(fù)雜度,而且以后可以使得在整個處理過程中文本跟蹤更穩(wěn)定。
4.4.3估計文本顏色和背景顏色在一些實施例中,對于每個文本界定方框進行文本顏色和背景顏色估計。該估計可以用來確定一文本界定方框是包含常規(guī)文本(明亮背景上的深色文本)還是反向文本(深色背景上的明亮文本)。圖像通常是多色的。即便是一個肉眼看上去是單色的區(qū)域,例如視頻幀中的一個字符,也是由具有很多不同但相近顏色的多個像素構(gòu)成的。因此,可以通過將顏色量化為例如四個最主要的顏色來降低每個文本界定方框中顏色分布的復(fù)雜度??梢允褂枚喾N矢量量化器。在我們的工作中,使用了快速矢量量化器,市場上很容易買到。
文本顏色直方圖提供了一種量度,該量度表示出界定方框中文本所包括的量化顏色的量。該量度可以是文本的樣本,例如,文本界定方框的四個中心行。由文本顏色直方圖計量的顏色通常也可以包括混合在字母之間或某些字母(例如“o”)內(nèi)部的某些背景。當(dāng)然,除了所述四個中心行以外,文本的其他部分也可用于文本顏色直方圖。
背景顏色直方圖可以提供一種量度,該量度表示出背景的某些部分中包括的量化顏色的量。例如,這些部分可以是文本方框上面緊挨著的兩行和下面緊挨著的兩行(總共四行)。應(yīng)注意,該背景顏色直方圖可以包括來自兩個背景顏色直方圖(例如一個來自文本上方,另一個來自文本下方)的分量。或者,也可以只有一個來自文本上方的背景顏色直方圖,或者一個來自文本下方的顏色直方圖。
在一些實施例中,我們計算文本與背景直方圖之間的差異直方圖。差異直方圖的最大顏色很可能對應(yīng)于文本顏色,而差異直方圖的最小顏色很可能對應(yīng)于最主要的背景顏色。實驗表明,該方法對于單色文本是很可靠的。當(dāng)然,對于多色的文本,該方法可能失靈,但多色文本是很少見的。
根據(jù)估計的文本顏色和最主要的背景顏色,我們估計一個文本界定方框是包含常規(guī)文本還是反向文本,如上面所述。如果文本顏色的灰度值比最主要的背景低,我們則假定該文本為常規(guī)文本,否則為反向文本。
圖8的方框圖表示根據(jù)本發(fā)明的一些實施例,使用矢量量化器和使用顏色直方圖來估計顏色。其他的實施例具有不同的細節(jié)。參見圖8,塊130表示一個矢量量化(VQ)前的被界定的文本方框及周圍的背景。塊134表示被界定的經(jīng)矢量量化的文本信號和背景。在VQ后,包括背景的文本信號只有四種顏色。從例如通過文本中心的一個帶狀區(qū)(例如四個中心行)生成顏色文本直方圖CHT。分別從文本上方的一個帶狀區(qū)(例如兩行)和文本下方的一個帶狀區(qū)(例如兩行)生成上部和下部顏色直方圖CHU和CHL。在該例子中,允許有4種顏色。因此,顏色直方圖表示出,在VQ之后包括在這些帶狀區(qū)中的每種顏色C1、C2、C3和C4的量。生成一個差異顏色直方圖CHD,其中CHD=CHT-CHU-CHL。如上所述,在從CHT減去顏色直方圖CHU和CHL之前可以將這兩者相加。
應(yīng)注意,可以按照下面小節(jié)6.2.2和6.3中所述來使用估計的顏色。但是,在小節(jié)5至小節(jié)6.2.1中和小節(jié)6.2.2的第一部分中,可以使用具有灰度顏色的圖像(例如圖2中的圖像88)。
5.利用視頻中的信息冗余性視頻與靜止圖像和非視頻網(wǎng)頁的區(qū)別在于時間冗余性。通常,每個文本行在幾個連續(xù)的幀中出現(xiàn)。該時間冗余性可以用來(1)提高定位文本的幾率,因為相同的文本可能在不同的情況下逐幀出現(xiàn),(2)消除單獨的幀中的錯誤文本警報,因為在整個處理過程中它們通常是不穩(wěn)定的,(3)將“偶然”丟失的文本行的位置插入單獨的幀中,(4)通過一段時間內(nèi)的位圖整合來改進文本分割的效果。
但是,利用該冗余性在計算上可能是代價很大的,并且采用小節(jié)4中描述的我們的文本定位方案可能代價過高。為明白這一點,假設(shè)基于圖像的文本定位器對于每個MPEG-I視頻幀需要大約5秒鐘。處理一分鐘的視頻一共需要2.5小時!MPEG指運動圖像專家組。當(dāng)前的和建議中的MPEG格式包括MPEG-1(“高達1.5Mbps的用于數(shù)字存儲介質(zhì)的運動圖像和相關(guān)音頻的編碼”,ISO/IEC JTC 1 CD IS-11172(1992)),MPEG-2(“運動圖像和相關(guān)音頻的通用編碼”,ISO/IEC JTC 1 CD 13818(1994)),和MPEG-4(“甚低比特率音頻-視頻編碼”狀態(tài)94年11月征求意見,96年11月作出草案)。有不同版本的MPEG-1和MPEG-2。也可以使用除MPEG以外的各種格式。
5.1文本對象在靜止圖像的情況下,所有已定位的文本界定方框通常是獨立的,彼此無關(guān)。為了利用視頻中固有的冗余性,連續(xù)幀中的相同內(nèi)容的文本界定方框可以根據(jù)這些文本界定方框的視覺內(nèi)容概括成一個文本對象。在視頻的情況下,一個文本對象描述一段時間內(nèi)的一個文本行,這是用該文本行在各幀中的圖像文本表示(例如位圖)、大小和位置以及它出現(xiàn)的時間范圍來描述的。在兩階段處理過程中提取視頻中的整個文本對象,以便降低計算的復(fù)雜度。下面描述了一些實施例中的操作,但本發(fā)明不限于此。在第一階段,以一較粗的時間分辨率監(jiān)視視頻信號(見圖9)。例如,僅對每個第20幀(例如,圖9中的幀F(xiàn)80,F(xiàn)100,F(xiàn)120等)應(yīng)用小節(jié)4中描述的基于圖像的文本定位器。如果檢測到文本(例如在幀120中),則將進入第二階段即文本跟蹤。在這個階段,在監(jiān)視階段找到的文本行被(按時間)向后跟蹤(例如幀F(xiàn)119)和向前跟蹤(例如幀F(xiàn)121),直到其出現(xiàn)的第一幀(例如幀F(xiàn)115)和最后一幀(例如幀F(xiàn)134)。這個階段結(jié)合使用基于特征譜(signature)的文本行搜索和基于圖像的文本定位?;谔卣髯V的搜索的計算強度沒有基于圖像的文本定位的計算強度大(小節(jié)4)?;谔卣髯V的搜索可能包括將文本的邊緣和某些區(qū)域與其他幀中的相應(yīng)內(nèi)容相比較。它可能包括邊緣圖(edge map)比較。也可以比較水平輪廓。
5.1.1對于文本出現(xiàn)的視頻監(jiān)視在一些實施例中,以一個較粗的時間分辨率來監(jiān)視視頻中出現(xiàn)的文本。為此,可以僅將基于圖像的文本定位器應(yīng)用到視頻中的一個幀子集,其中這些幀是均勻間隔的。步長是根據(jù)不忽略任何文本行這一目標(biāo)而確定的。但是,文本行是在其最初出現(xiàn)時、最后出現(xiàn)時、還是在其出現(xiàn)的中期被定位可能并不重要。在任何情況下,文本跟蹤階段將恢復(fù)每個文本行的實際時間范圍。
最大可能的步長可以由文本行出現(xiàn)的最小假定持續(xù)時間來給出,我們假定其為1秒。視覺研究表明,人們需要2到3秒鐘來處理整幅畫面。因而,假定文本至少應(yīng)該清楚地出現(xiàn)2/3秒以便能夠容易地閱讀,這看起來是合理的。對于30fps的視頻,這換算成步長為20幀。
在一些實施例中,如果基于圖像的文本定位器沒有在幀t中找到任何文本行,則繼續(xù)對幀t+20進行監(jiān)視處理。但是,如果找到了至少一個文本行,則可以將基于圖像的文本定位器應(yīng)用到幀t-1和幀t+1。接著,對于幀t中的每個文本行,該算法在幀t-1和幀t+1中搜索一個對應(yīng)的文本行。兩個文本行之間的對應(yīng)可以定義為在其各自的幀位置,其各自的界定方框的至少80%的區(qū)域重疊,不過也可以采用其他的值。如果A和B分別表示描述基準(zhǔn)和第二界定方框的點的集合,則重疊的百分比可以被定義為overlap(重疊)=|A∩B|/|A|。結(jié)果,在這種情況下,如果兩個對應(yīng)的方框出現(xiàn)在連續(xù)幀中的相同位置,則它們的大小不能相差20%以上,并且/或者如果它們具有相同的大小,則只允許它們之間有微小的移位。對于非靜止文本來說,微小的移位是常見的。如果在幀t-1和幀t+1中找到了幀t中的一個文本方框的對應(yīng)方框,則生成一個新的文本對象(包括這些文本方框),并對其進行標(biāo)記以便于按時間跟蹤。偽碼例4給出了視頻監(jiān)視處理的概要。
對于文本出現(xiàn)的視頻監(jiān)視算法(偽碼例4)
(1)video={frame 0,...,frame T}(2)for t=0 to T step 2/3 seconds(3)localize text in frame t(4)if no text line found(5)continue with next t(6)localize text in frame t-1 and t+1(7)for all text lines in frame t which do not belong to any text object yet(8)search for corresponding text line in t-1,t+1(9)if search successful(10)create new text object(11)track textobiect backward(12)track textobject forward5.1.2文本跟蹤在一些實施例中,根據(jù)在視頻監(jiān)視階段生成的文本對象中包含的信息,將每個文本對象擴展到包含相應(yīng)文本行的所有幀。(這減少了將在圖1中的導(dǎo)線44上提供的位圖的數(shù)目)。可以按時間向后和向前進行文本跟蹤。但是,我們僅描述了向前跟蹤,因為除了通過視頻的方向不同之外,向后跟蹤與向前跟蹤是相同的。我們的快速文本跟蹤器背后的基本思想是,取得當(dāng)前視頻幀中的文本行,計算一個表征性的特征譜,該特征譜使得該文本行區(qū)別于具有其他內(nèi)容的文本行,并且在下一視頻幀中搜索與該基準(zhǔn)特征譜能最好地匹配的相同尺寸的圖像區(qū)域。
小節(jié)4.4.2中定義的垂直和水平投影輪廓用作簡潔的并且是表征性的基準(zhǔn)特征譜,不過也可以使用其他的特征譜。特征譜的中心可以定義為相關(guān)文本行的界定文本方框的中心。兩個特征譜之間的相似度可以用特征譜邏輯乘(signature intersection)(例如這兩個特征譜中相應(yīng)元素中的最小值的和)來計量。在特征譜獲取一個有關(guān)目標(biāo)并改變背景的情況下,特征譜或直方圖邏輯乘要優(yōu)于L范數(shù)。為了找到一個文本行在下一幀中的精確位置,可以計算其中心落入圍繞基準(zhǔn)特征譜中心的一個搜索窗口的所有特征譜,并將其與基準(zhǔn)特征譜進行比較。如果最佳匹配超過所要求的最小相似度,則可以確定找到了文本行并將其加入文本對象。如果最佳匹配沒有超過所要求的最小相似度,則決定放棄基于特征譜的搜索(signature-baseddrop-out)。搜索半徑的大小取決于最大的假定文本速度。在我們的實驗中,我們假定文本在視頻中從左側(cè)移動到右側(cè)至少需要2秒鐘。在給定視頻的幀大小和重放速率的情況下,這可以直接換算為以像素為單位的搜索半徑。原則上,我們可以借助到目前為止包含在文本對象中的信息來預(yù)測位置,以縮小搜索空間,但是,這可能沒有任何計算上的需要。
應(yīng)注意,基于特征譜的窮盡搜索算法可以類似于用于運動估計的塊匹配算法,不同之處在于,相似度的量度是基于一個從實際圖像的特征圖像導(dǎo)出的特征譜。
有可能的是,基于特征譜的文本行搜索不能檢測到一個慢慢變?nèi)醯奈谋拘校驗樵撍阉魇腔谙惹皫械奈谋拘械奶卣髯V,而不是基于一個固定的和導(dǎo)出的主/原型特征譜。幀間的變化可能小得不能被檢測到。另外,基于特征譜的文本行搜索可能不能跟蹤一些放大(zooming in)和縮小(zooming out)文本。為克服這些缺點,可以每隔x幀用基于圖像的文本定位器來取代基于特征譜的搜索,以便重新校準(zhǔn)文本行的位置和大小。但是,可以在這里丟棄新檢測到的文本方框。
試驗中,5幀的間隔被證明能在速度和可靠性之間取得很好的折衷,但也可以采用更大的間隔。同樣,在一些實施例中,對應(yīng)文本行的界定方框可以至少重疊80%。
由于視頻中的缺陷,例如高噪聲、有限的帶寬(例如串色)、文本阻塞、壓縮偽影(artifact)等,在嚴(yán)格的意義上(例如每幀)進行文本對象的連續(xù)識別經(jīng)常是不可能或不實用的。因此,如果不能在下一幀中找到任何對應(yīng)的文本行就終止跟蹤可能不是一個好主意。代之以,只有當(dāng)不能在一定數(shù)目的連續(xù)幀中找到任何對應(yīng)的文本行時才終止跟蹤。為此,可以采用兩個閾值maxDropOutsignature-based和maxDropOutimage-based。每當(dāng)一個文本對象不能被擴展到下一幀時,則將相應(yīng)的計數(shù)器加1。每當(dāng)相關(guān)的搜索方法成功時,則將相應(yīng)的計數(shù)器復(fù)位為0。當(dāng)這兩個計數(shù)器中的一個超過其閾值maxDropOutsignature-based或maxDropOutimage-based時,立即終止該跟蹤處理。在我們的實驗中,基于圖像的文本定位器的閾值被設(shè)置為maxDropOutimage-based=3,]]>但也可以采用其他值。這種放棄可能是由噪聲很大的視頻幀或暫時阻塞的文本造成的?;谔卣髯V的搜索的閾值被設(shè)置為maxDropOutsignature-based=4,]]>例如,兩個完整的被定位的幀之間的距離,但也可以采用其他值。采用閾值4使得可以在基于特征譜的搜索非常困難,例如搜索放大或縮小文本的情況下跟蹤文本行。下面的偽碼例5給出了根據(jù)本發(fā)明一些實施例的視頻監(jiān)視過程的概要。但是,可以采用具有其他細節(jié)的本發(fā)明的其他實施例。
給定文本對象的向前文本跟蹤算法(偽碼例5)(1)sigBased_DropOuts=0(2)imageBased_DropOuts=0(3)while not(beginning or end of video‖sigBased_DropOuts>maxSigBased_DropOuts‖imageBased_DropOuts>maximageBased_DropOuts)(4)get next frame t(5)if(frame has to be localized)(6)localize text in frame t(7)search localized text box that matches to the box in the last frame of thetext object(8)if(search successful)(9)add text box to the text object(10)reset sigBased_DropOuts and reset imageBased_DropOuts(11)else(12)increment imageBased_DropOuts(13)else(14)calculate feature image for frame t(15)estimate search area a for the text line(16)create a window w with the dimension of the text box in frame t-1(17)get signature s1 ofthe text box in t-1
(18)for(each possible position of w in a)(19)calculate signature s2 for w(20)calculate error between s2 and s1(21)memorize minimal error(22)if(minimal error<threshold)(23)add text box to the text object(24)reset sigBased_DropOuts(25)else(26)increment sigBased_DropOuts5.1.3后處理為了準(zhǔn)備一個用于文本分割的文本對象,可以將其削減到已經(jīng)以較高置信度被檢測出來的部分。因此,在一些實施例中,每個文本對象在時間上被削減為基于圖像的文本定位器檢測到文本行的第一幀和最后一幀。接著,如果發(fā)生以下情況則丟棄該文本對象,例如,(1)它出現(xiàn)的時間少于1秒鐘,或者(2)它的放棄率大于25%。也可以采用其他值。第一種情況來自于我們的觀察文本行通常需要至少1秒鐘才能被看見,短于此時間的文本行通常是錯誤警報。第二種情況移去那些后續(xù)處理過程不能處理的、來自于不穩(wěn)定跟蹤的文本對象。不穩(wěn)定跟蹤可能是由強壓縮偽影或非文本造成的。
最后,在一些實施例中,可以對于每個文本對象確定下面的一個或多個全局特征。在不同的實施例中,具體細節(jié)可能不同。
(1)文本對象的文本顏色假定同一文本行的文本顏色不隨著時間的推移而改變,則將文本對象的文本顏色確定為每一幀的所有確定的文本顏色(例如,通過小節(jié)4.4.3獲得的顏色)的中值。文本顏色并非必須被選擇為中值??梢圆捎昧硪环N平均或非平均的量。
(2)文本大小文本界定方框的大小可以是固定的,或者是隨時間改變的。如果是固定的,我們通過寬度和高度的集合的中值來確定其寬度和高度。
(3)文本位置文本行可以在一個坐標(biāo)軸或兩個坐標(biāo)軸方向上是靜止的。如果文本行在每幀中的平均移動小于0.75像素,則將文本行看成在x和/或y方向上是靜止的。平均移動是基于該文本行的第一次和最后一次文本出現(xiàn)的位置之間的差別由幀數(shù)歸一化而計算的。
如果文本行是靜止的,我們用中值文本界定方框取代所有文本界定方框。中值文本界定方框的左/右/上/下邊界是所有左/右/上/下邊界的中值。如果該位置僅在一個方向上固定,例如僅在x或y軸方向上固定,分別用中值來取代左和右或者上和下邊界。
6.文本分割文本分割涉及從文本移去背景。這不應(yīng)與小節(jié)4.4.2中的分割混淆。
6.1分辨率調(diào)整(見圖1中的塊30)可以對于再次改變比例的(rescaled)圖像(例如,通過三次內(nèi)插)進行文本分割操作,使得所考慮的文本對象的文本高度為固定的高度,例如為100像素,并且保留高寬比。再次改變比例的原因有兩個(1)增強較小的字體尺寸(其能帶來更好的分割結(jié)果)的分辨率當(dāng)前的視頻中的文本提取和文本識別的一個主要問題是其分辨率很低。對于MPEG-I編碼的視頻,各字符的高度經(jīng)常小于12像素。雖然對于人來說在該分辨率下仍能夠識別文本,但對于當(dāng)今的標(biāo)準(zhǔn)OCR系統(tǒng)來說則比較困難。這些OCR系統(tǒng)被設(shè)計用來識別文件中的文本,這些文件是以至少200dpi至300dpi的分辨率掃描的,造成最小文本高度為至少40像素。為了用標(biāo)準(zhǔn)OCR系統(tǒng)獲得好的結(jié)果,人們希望增強文本行的分辨率。
增強文本位圖的視覺質(zhì)量是按比例放大較小的文本位圖的另一個并且是更重要的原因。該更高的分辨率使得能夠進行小節(jié)6.2.2中的子像素精確文本對準(zhǔn)(相對于原始分辨率)。
(2)對于較大的字體尺寸節(jié)省計算量大于固定高度(例如100像素)的文本高度不能改進分割或OCR性能。減小其尺寸可以顯著降低計算復(fù)雜度。應(yīng)注意,由于我們的方法事實上是多分辨率方法并且在網(wǎng)頁和HDTV視頻序列上以高達1920乘1280像素的分辨率工作,較大的字體尺寸是很可能的。100像素只是幀高度的1/12。
6.2移去背景(包括復(fù)雜背景)如上面所述,可以移去背景。(見圖1中的塊32)。復(fù)雜背景比簡單背景具有更大的變化。但是,本發(fā)明不限于特定類型的背景(它可以是復(fù)雜和簡單的背景)。但是,如上所述,如果關(guān)于圖像背景的特定信息是已知的,可以修改本發(fā)明的實施例以便利用該信息。
6.2.1圖像文本的出現(xiàn)應(yīng)該與其背景形成反差,以便能容易地閱讀。此處利用該特征來移去復(fù)雜背景的較大的部分。在一些實施例中是按下面所述的方式工作的,但本發(fā)明不限于此?;镜乃枷胧窃龃笪谋窘缍ǚ娇?,使得沒有文本像素落在邊界上,然后將文本界定方框邊界上的每個像素當(dāng)作種子,以便用背景顏色填充差別不大于thresholdseedfill的所有像素。(應(yīng)注意,在一些實施例中,在一開始時僅僅是記錄所述被填充像素的顏色的改變,即改變?yōu)楸尘邦伾?,而并不在位圖上實際執(zhí)行??梢栽趯τ诜娇蜻吔缟系乃邢袼夭捎昧朔N子填充(seed fill)之后實際執(zhí)行。)對于反向文本來說背景顏色是黑的,而對于常規(guī)文本來說背景顏色是白的。由于邊界上的像素不屬于文本,而且由于文本與其背景形成反差,種子填充算法不會移去任何字符像素。(種子填充算法在本領(lǐng)域是公知的。)我們將這個新構(gòu)建的位圖稱為Br(x,y)。
在我們的實驗中,RGB顏色之間的歐幾里德距離被用作距離函數(shù),并且該種子填充算法利用4鄰域。另外,為確保所有字母完全包含在文本界定方框中,我們將其在水平方向上擴展20%,在垂直方向上擴展40%??梢圆捎闷渌?。
不是所有背景像素都需要被刪除,因為由種子算法填充的區(qū)域的大小可以受一個像素與其鄰接像素之間的最大允許色差限制??梢岳闷溆囝伾珔^(qū)域的大小,以便用背景顏色來填充背景的其余區(qū)域。在一些實施例中,每個像素可以是一個用于種子填充算法的種子。然后可以假想地將8鄰域種子填充算法應(yīng)用到Br(x,y),以便確定可以被填充的區(qū)域的尺寸。背景區(qū)域應(yīng)該比文本字符區(qū)域小。因此,高度小于minheight像素且寬度小于minwidth或大于maxwidth的所有區(qū)域被刪除,(設(shè)定為背景顏色)。
6.2.2視頻圖像視頻文本對象與單個圖像文本對象的區(qū)別在于,它包括同一文本行的多個而不僅是一個圖像文本表示(例如位圖)。在一些實施例中,使用下面的方法來利用該冗余性,以移去包圍實際字符的復(fù)雜背景。但是,本發(fā)明不限于這些細節(jié)。該方法不但可以應(yīng)用于靜止文本,也可以應(yīng)用于移動文本,因為我們已經(jīng)解決了子像素精確文本行對準(zhǔn)的問題。
可以以灰度格式重新裝載原始圖像。但是,可以如下所述用矢量量化的版本來確定哪個灰度顏色與估計文本顏色相同。
在一些實施例中,它如下工作。假設(shè)你將一個文本對象的各個位圖堆疊起來,使得字符彼此精確地對準(zhǔn)。屬于文本的像素隨著時間的推移僅僅有微小的改變,而屬于非文本(背景)的像素經(jīng)常隨著時間的推移有很大的改變。由于文本位置因?qū)?zhǔn)而成為靜止的,其像素應(yīng)該不會改變。(應(yīng)注意,盡管文本應(yīng)該是靜止的,但各幀之間可能有微小的改變)。背景像素很可能因為背景中的運動或文本行的運動而改變。
我們對于每個文本對象導(dǎo)出一個代表性文本行位圖。給定精確對準(zhǔn)的位圖堆,在一段時間內(nèi)對于常規(guī)/反向文本的灰度圖像進行最大化/最小化運算。應(yīng)注意,不必使用文本對象的每個位圖,因為在兩個連續(xù)的幀中背景通常不會顯著改變。結(jié)果是,選擇大約40個在時間上均勻間隔的幀就足以獲得很好的結(jié)果。例如,如果選擇40幀并且共有200幀,則這40幀的間隔為5。如果有150幀,則這40幀的間隔為15/4,這表明該間隔可以四舍五入為一整數(shù),或者該間隔可以不是恒定的,有時是3,但更多時候是4,以使平均值為15/4。還應(yīng)注意,在文本對象的開始和結(jié)束時的一些幀可以被跳過,以避免漸強和漸弱效應(yīng)帶來的潛在問題。如上面所述,對某些幀使用基于圖像的定位技術(shù),以避免表征性文本顏色在漸強或漸弱中緩慢改變。僅基于特征譜的跟蹤會導(dǎo)致在這樣的情況下破壞分割。
下面描述了如何基本上精確地對準(zhǔn)這些位圖。首先,就象對圖像和網(wǎng)頁那樣,可以擴展一個文本對象的所有界定文本方框,例如,在水平方向上擴展20%,在垂直方向上擴展40%。接著,可以將所有位圖轉(zhuǎn)換為灰度,因為灰度對于顏色壓縮偽影更穩(wěn)定。幾乎所有的視頻壓縮算法所表示的亮度比例如著名的4∶2∶0采樣方案中的顏色有更高的分辨率。
令B0(x,y),...BN-1(x,y)指代所考慮的N個位圖,Br(x,y)表示要導(dǎo)出的代表性位圖,并被初始化為Br0(x,y)=B0(x,y)。作為一個例子,N可以為40,于是有來自40幀的40個位圖。然后,對于每個位圖Bi(x,y),i∈{1,...,39},我們可以搜索最佳位移(dx,dy),該最佳位移使得對于文本顏色來說,Br(x,y)與Bi(x,y)之間的差異最小,例如,(dxtopt,dytopt)=argminΣ(x,y)∈Br⩓Bri-l(x,y)⊆textColor(Bri-l(x-y)-Bi(x+dx,y+dy))]]>這種塊匹配搜索能見效的原因是,僅考慮具有文本顏色的像素,其中文本顏色可以是來自小節(jié)4.4.3的估計文本顏色。當(dāng)且僅當(dāng)一個像素與為文本對象確定的文本顏色的差別不大于一個特定量的時候,將該像素定義為具有該文本顏色。應(yīng)注意,該距離是基于RGB值計算的。在每次迭代中,將Br(x,y)從前面列出的公式更新為對于常規(guī)文本Bri(x,y)=max(Bri-l(x,y),Bi(x+dxtopt,y+dytopt))對于反向文本Bri(x,y)=min(Bri-l(x,y),Bi(x+dxtopt,y+dytopt))。
應(yīng)注意,如果一個文本對象已經(jīng)在小節(jié)4.4.3中被識別為靜止,我們不必搜索精確的轉(zhuǎn)換。代之以,將各位圖之間的轉(zhuǎn)換均設(shè)置為無。
通過小節(jié)6.2.2的處理,對于常規(guī)文本來說,背景可能傾向于變得越來越亮,而對于反向文本來說,背景可能變得越來越暗。但是,第一幀可能分別是最亮和最暗的。
6.3二值化(見圖1中的塊38)現(xiàn)在準(zhǔn)備文本位圖Bri(x,y)以便由標(biāo)準(zhǔn)OCR工具識別。這里,可以將灰度文本位圖轉(zhuǎn)換為白色背景上的黑色文本。下面描述了一種找到合適閾值的方法,該值是區(qū)分文本和背景的一種很好甚至是最佳的值。從小節(jié)4.4.3,我們知道了估計的文本顏色,最主要的背景顏色,以及我們必須處理常規(guī)文本還是反向文本。由于在小節(jié)6.2中已經(jīng)移去大部分背景,我們決定,對于反向文本,將背景顏色設(shè)置為黑色,而對于常規(guī)文本,將背景顏色設(shè)置為白色。然后,將文本顏色亮度與背景顏色亮度中間的亮度選擇為二值化閾值是比較好的。對于常規(guī)文本,將文本位圖中高于該二值化閾值的每個像素設(shè)置為白色,而對于反向文本,則將其設(shè)置為黑色。對于常規(guī)文本,將文本位圖中低于該二值化閾值的每個像素設(shè)置為黑色,而對于反向文本,則將其設(shè)置為白色。最后,我們建議,通過以小節(jié)6.2.1中所述的方式丟棄較小的區(qū)域(設(shè)置為背景顏色)來清理二元位圖。
其他信息對于上面的每個小節(jié),本發(fā)明不限于其中提到的特定細節(jié)。
本發(fā)明的一些實施例不僅能定位文本的出現(xiàn)并將其分割為較大的二元圖像,還能將圖像或視頻內(nèi)的每個像素分為屬于或不屬于文本。因而,我們的文本定位和分割技術(shù)可以用于基于對象的視頻編碼。眾所周知,與現(xiàn)有的壓縮技術(shù)相比,基于對象的視頻編碼在固定比特率下能獲得好得多的視頻質(zhì)量。但是,在大多數(shù)情況下,自動提取對象的問題尚未得到解決。對于視頻中出現(xiàn)的文本,我們的文本定位和文本分割算法解決了該問題。
本發(fā)明的一些實施例涉及一種多分辨率方法,其中,文本定位和文本分割算法能成功地處理MPEG-1視頻序列直到HDTV MPEG-2視頻序列(1980×1280),而無需任何參數(shù)調(diào)整。作為一個例子,字符大小可以在8像素和幀高度的一半之間變化。
圖10示出了具有處理器184和存儲器188的計算機系統(tǒng)180。存儲器188表示一個或多個各種類型的存儲裝置,包括RAM,硬盤驅(qū)動器,CDROM,和視頻存儲器等,這里只列舉出了幾種。存儲器188包括機器可讀的介質(zhì),可以在其上存儲指令來完成上述的各種功能。存儲器188也可以存儲要處理的數(shù)據(jù)(例如數(shù)字視頻信號)和處理的中間及最終結(jié)果??梢岳斫?,圖10是非常簡略的,實際上可以包括很多其他公知的元件。
術(shù)語“幀”具有較寬的含義。例如,它并不限制于交錯的或是非交錯的幀。同樣,術(shù)語“圖像”和“視頻”也應(yīng)做較寬的解釋。不要求任何特定的格式。
如果說明書中提到“可以”、“可”或“可能”包括一個元件、特征、結(jié)構(gòu)或特性,則不要求必須包括該特定元件、特征、結(jié)構(gòu)或特性。說明書或權(quán)利要求書中提到“一個”元素時,并不是指僅有這一個元素。說明書或權(quán)利要求書中提到“一個額外的”元素時,并不排除可以有多于一個所述額外的元素。
本領(lǐng)域的技術(shù)人員閱讀了此處公開的內(nèi)容后可以理解,可以在本發(fā)明的范圍內(nèi)對前面的說明書和附圖的內(nèi)容做出許多其他的改變。事實上,本發(fā)明不限于上述的細節(jié)。后附的權(quán)利要求限定了本發(fā)明的范圍,這些權(quán)利要求包括了對本發(fā)明的任何修改。
權(quán)利要求
1.一種在數(shù)字圖像中定位文本的方法,包括將一個數(shù)字圖像按比例變換為多種分辨率的若干個圖像;按照像素是否是一個文本區(qū)域的一部分來對所述多種分辨率下的像素進行分類;將各比例進行整合以生成一個比例整合突出圖形;使用該突出圖形來生成初始文本界定方框,這是通過將方框從包括至少一個像素的像素矩形擴展成包括由至少一個與所述矩形鄰接的像素構(gòu)成的組來完成的,其中這些組與第一閾值之間具有特定關(guān)系;和合并初始文本界定方框。
2.根據(jù)權(quán)利要求1的方法,其中所述特定關(guān)系為所述組的平均亮度超過所述第一閾值。
3.根據(jù)權(quán)利要求1的方法,其中所述組包括與所述矩形鄰接的一行或一列,并且該矩形從1像素乘1像素的矩形開始。
4.根據(jù)權(quán)利要求1的方法,其中所述突出圖形的分辨率與所述數(shù)字圖像被按比例變換為多種分辨率之前的分辨率相同。
5.根據(jù)權(quán)利要求1的方法,其中所述數(shù)字圖像是數(shù)字視頻圖像的一部分,并且初始文本界定方框的合并包括生成具有自適應(yīng)閾值的水平投影輪廓和具有自適應(yīng)閾值的垂直投影輪廓。
6.根據(jù)權(quán)利要求5的方法,其中水平投影輪廓的自適應(yīng)閾值是水平投影輪廓的最小和最大值的函數(shù),垂直投影輪廓的自適應(yīng)閾值是垂直投影輪廓的最小和最大值的函數(shù)。
7.根據(jù)權(quán)利要求1的方法,其中初始文本界定方框的合并包括重復(fù)地執(zhí)行水平分割算法和垂直分割算法。
8.根據(jù)權(quán)利要求6的方法,其中水平分割算法包括將文本界定方框在頂部和底部進行擴展,擴展的量為原始文本方框高度的一半和最大可能文本高度的一半之中的較小值。
9.根據(jù)權(quán)利要求1的方法,還包括計算邊緣方位以識別多種分辨率下的圖像特征。
10.根據(jù)權(quán)利要求1的方法,還包括使用基于特征譜的跟蹤來向前和向后識別包括文本對象中的文本的幀,該操作是從一個已經(jīng)通過基于圖像的方法從中識別出所述文本的幀開始的。
11.根據(jù)權(quán)利要求1的方法,還包括通過生成文本和包圍文本的非文本部分的顏色直方圖來估計圖像中的文本的顏色。
12.一種裝置,包括一種機器可讀的介質(zhì),其上具有指令,執(zhí)行這些指令時使得處理器實現(xiàn)一種方法,該方法包括將一個數(shù)字圖像按比例變換為多種分辨率的若干個圖像;按照像素是否是一個文本區(qū)域的一部分來對所述多種分辨率下的像素進行分類;將各比例進行整合以生成一個比例整合突出圖形;使用該突出圖形來生成初始文本界定方框,這是通過將方框從包括至少一個像素的像素矩形擴展成包括由至少一個與所述矩形鄰接的像素構(gòu)成的組來完成的,其中這些組與第一閾值之間具有特定關(guān)系;和合并初始文本界定方框。
13.根據(jù)權(quán)利要求12的裝置,其中所述特定關(guān)系為所述組的平均亮度超過所述第一閾值。
14.根據(jù)權(quán)利要求12的裝置,其中所述組包括與所述矩形鄰接的一行或一列,并且該矩形從1像素乘1像素的矩形開始。
15.根據(jù)權(quán)利要求12的裝置,其中所述突出圖形的分辨率與所述數(shù)字圖像被按比例變換為多種分辨率之前的分辨率相同。
16.根據(jù)權(quán)利要求12的裝置,其中所述數(shù)字圖像是數(shù)字視頻圖像的一部分,并且初始文本界定方框的合并包括生成具有自適應(yīng)閾值的水平投影輪廓和具有自適應(yīng)閾值的垂直投影輪廓。
17.根據(jù)權(quán)利要求16的裝置,其中水平投影輪廓的自適應(yīng)閾值是水平投影輪廓的最小和最大值的函數(shù),垂直投影輪廓的自適應(yīng)閾值是垂直投影輪廓的最小和最大值的函數(shù)。
18.根據(jù)權(quán)利要求12的裝置,其中初始文本界定方框的合并包括重復(fù)地執(zhí)行水平分割算法和垂直分割算法。
19.根據(jù)權(quán)利要求18的裝置,其中水平分割算法包括將文本界定方框在頂部和底部進行擴展,擴展的量為原始文本方框高度的一半和最大可能文本高度的一半之中的較小值。
20.根據(jù)權(quán)利要求12的裝置,還包括計算邊緣方位以識別多種分辨率下的圖像特征。
21.根據(jù)權(quán)利要求12的裝置,還包括使用基于特征譜的跟蹤來向前和向后識別包括文本對象中的文本的幀,該操作是從一個已經(jīng)通過基于圖像的方法從中識別出所述文本的幀開始的。
22.根據(jù)權(quán)利要求1的裝置,還包括通過生成文本和包圍文本的非文本部分的顏色直方圖來估計圖像中的文本的顏色。
23.一種方法,包括按照像素是否是一個文本區(qū)域的一部分來對像素進行分類;生成初始文本界定方框;和合并初始文本界定方框,其中所述合并包括生成具有自適應(yīng)閾值的水平投影輪廓和具有自適應(yīng)閾值的垂直投影輪廓。
24.根據(jù)權(quán)利要求23的方法,其中水平投影輪廓的自適應(yīng)閾值是水平投影輪廓的最小和最大值的函數(shù),垂直投影輪廓的自適應(yīng)閾值是垂直投影輪廓的最小和最大值的函數(shù)。
25.根據(jù)權(quán)利要求23的方法,其中初始文本界定方框的合并包括重復(fù)地執(zhí)行水平分割算法和垂直分割算法。
26.根據(jù)權(quán)利要求23的方法,其中水平分割算法包括將文本界定方框在右邊和左邊進行擴展,擴展的量為原始文本方框高度的一半和最大可能文本高度的一半之中的較小值。
27.根據(jù)權(quán)利要求23的方法,其中垂直分割算法包括將文本界定方框在頂部和底部進行擴展,擴展的量為原始文本方框高度的一半和最大可能文本高度的一半之中的較小值。
28.一種裝置,包括一種機器可讀的介質(zhì),其上具有指令,執(zhí)行這些指令時使得處理器實現(xiàn)一種方法,該方法包括按照像素是否是一個文本區(qū)域的一部分來對像素進行分類;生成初始文本界定方框;和合并初始文本界定方框,其中所述合并包括生成具有自適應(yīng)閾值的水平投影輪廓和具有自適應(yīng)閾值的垂直投影輪廓。
29.根據(jù)權(quán)利要求28的裝置,其中水平投影輪廓的自適應(yīng)閾值是水平投影輪廓的最小和最大值的函數(shù),垂直投影輪廓的自適應(yīng)閾值是垂直投影輪廓的最小和最大值的函數(shù)。
30.根據(jù)權(quán)利要求28的裝置,其中初始文本界定方框的合并包括重復(fù)地執(zhí)行水平分割算法和垂直分割算法。
31.根據(jù)權(quán)利要求28的方法,其中水平分割算法包括將文本界定方框在右邊和左邊進行擴展,擴展的量為原始文本方框高度的一半和最大可能文本高度的一半之中的較小值。
32.根據(jù)權(quán)利要求28的裝置,其中垂直分割算法包括將文本界定方框在頂部和底部進行擴展,擴展的量為原始文本方框高度的一半和最大可能文本高度的一半之中的較小值。
全文摘要
在一些實施例中,本發(fā)明包括一種在數(shù)字圖像中定位文本的方法。該方法包括將一個數(shù)字圖像按比例變換為多種分辨率的若干個圖像,和按照像素是否是一個文本區(qū)域的一部分來對所述多種分辨率下的像素進行分類。該方法還包括將各比例進行整合以生成一個比例整合突出圖形,和使用該突出圖形來生成初始文本界定方框,這是通過將方框從包括至少一個像素的像素矩形擴展成包括由至少一個與所述矩形鄰接的像素構(gòu)成的組來完成的,其中這些組與第一閾值之間具有特定關(guān)系。將初始文本界定方框合并。在其他實施例中,一種方法包括按照像素是否是文本區(qū)的一部分來對像素進行分類,生成初始文本界定方框,和合并初始文本界定方框,其中所述合并包括生成具有自適應(yīng)閾值的水平投影輪廓和具有自適應(yīng)閾值的垂直投影輪廓。
文檔編號G06K9/32GK1418354SQ01806580
公開日2003年5月14日 申請日期2001年2月23日 優(yōu)先權(quán)日2000年3月14日
發(fā)明者賴納·W·林哈特, 阿克塞爾·韋尼克 申請人:英特爾公司