本發(fā)明涉及一種行分割方法,以及更具體地,涉及一種應(yīng)用于OCR系統(tǒng)的行分割方法。
背景技術(shù):
已經(jīng)公知光學字符識別(OCR)系統(tǒng)。這些系統(tǒng)自動地將紙質(zhì)文檔轉(zhuǎn)化為可搜索文本文檔。OCR系統(tǒng)通常由以下三個主要步驟組成:行分割、特征提取以及字符分類。然而,如圖1所示,特征提取通常呈現(xiàn)為字符分類的一部分。通過這種方式,從字符串的圖像開始,公知的光學字符識別系統(tǒng)首先應(yīng)用行分割以形成各個字符的圖像,隨后執(zhí)行字符分類步驟以對字符進行識別。盡管字符分類技術(shù)經(jīng)過這些年已經(jīng)具有極強的魯棒性,然而行分割仍然是OCR的關(guān)鍵步驟,尤其是對于亞洲文本而言。
存在不同的行分割方法(通常還被稱為字符分割)。表示文本行的圖像被分解成構(gòu)成字符圖像的各個子圖像。可以使用不同方法來分割行。一種公知的行分割方法是對字符間斷開(break)或單詞斷開(適合于拉丁字母)進行檢測,這些字符斷開或詞斷開是一種將各個字符分隔開的方式。例如,WO2011128777和WO201126755對此進行了描述。
另一公知行分割方法,如WO201142977所述,使用了砍斷(chop)行,隨后對砍斷行進行處理以識別出將字符分開的行。諸如EP0138445B1中的其他方法假定字符間距恒定。
上述行分割方法已知為解剖方法(dissection method)。這類方法對于由亞洲文本和與拉丁文本組合的亞洲文本組成的文本而言是低效的,因為這類文本中字符之間通常沒有明確的斷開或間距,并且亞洲字符并不是由單一互連成分組成,而是多數(shù)情況下由幾個互連成分(例如,中文字符的字根(radicals))組成。
另一種類型的行分割方法基于對圖像中與特定字母表中的類別相匹配的成分的識別。然而,這類方法需要較長的計算時間。
第三種類型的分割技術(shù)使用了前兩種技術(shù)的組合并且公知為“過度分割”方法。如圖2所示,使用了不同的解剖方法對圖像進行了過度分割。通過相同或不同的字符分類方法對幾個合理的分割解決方案進行分析,從而選出最佳分割解決方案。當分割變得困難時,例如對于亞洲字符的情況,需要對許多可能的分割解決方案進行評估,這會導致需要花費非常長的計算時間來分析所輸入的字符串圖像。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種用于對字符串圖像中的字符進行分割的方法,該方法提供了快速且精確的行分割。
根據(jù)本發(fā)明,使用一種用于對字符串圖像中的字符進行分割的方法實現(xiàn)了這些目的,該方法示出了第一個獨立權(quán)利要求的技術(shù)特征。根據(jù)本發(fā)明的用于對字符串圖像中的字符進行分割的方法包括如下步驟:
a)對照背景,確定像素的第一起始點坐標;
b)根據(jù)最大字符寬度以及字符串圖像的與最大字符寬度相對應(yīng)的部分的特征來生成潛在字符寬度列表;
c)確定字符串圖像的與第一起始點坐標和第一寬度相對應(yīng)的第二部分;
d)對字符串圖像的第二部分應(yīng)用分類方法以提供針對第一寬度的錯誤可能性和候選字符;
e)將錯誤可能性與根據(jù)速度與準確性之間的折衷確定的第一閾值進行比較;以及
f)如果與第一寬度相對應(yīng)的錯誤可能性小于閾值,則選擇候選字符作為與第一寬度相對應(yīng)的字符。
該方法的優(yōu)點在于:行分割和字符分類是按逐個字符進行的組合過程。這在減少計算時間方面具有較大的優(yōu)勢,因為大大地減小了對字符串圖像執(zhí)行行分割和字符分類而需要的步驟數(shù)。結(jié)果是該方法提高了速度和準確性。
在根據(jù)本發(fā)明的其他實施例中,該方法還包括如下步驟:將錯誤可能性與第二閾值進行比較,第二閾值大于第一閾值,其中,僅僅當錯誤可能性小于第二閾值時,才執(zhí)行將錯誤可能性與第一閾值進行比較的步驟。
第二閾值的優(yōu)點在于其使得能夠快速濾除那些沒有機會給出肯定結(jié)果的候選項。
在根據(jù)本發(fā)明的另一實施例中,該方法還包括如下步驟:當與第一寬度相對應(yīng)的錯誤可能性小于第二閾值時,計算下一字符的起始點,以及將所計算出的下一字符的起始點存儲到存儲器中。
在根據(jù)本發(fā)明的另一實施例中,該方法還包括如下步驟:當與第一寬度相對應(yīng)的錯誤可能性小于第一閾值時,對數(shù)據(jù)庫中所包括的字符統(tǒng)計值進行更新。
該數(shù)據(jù)庫包括文本中的字符的最大尺寸和平均尺寸的信息以及參考字符的最大尺寸和平均尺寸的信息。在生成潛在字符寬度列表的過程中估計字符的寬度時使用這些值以便于提高該方法的速度和準確性。
在根據(jù)本發(fā)明的另一實施例中,潛在字符寬度列表是按照從最有可能到不太可能進行排序的,其中,最有可能寬度是包括最大數(shù)量的互連成分的最寬寬度,該最寬寬度不超過數(shù)據(jù)庫中所存儲的針對字符的估計最大寬度。
在根據(jù)本發(fā)明的另一實施例中,潛在字符寬度列表中的兩個不太可能的寬度分別為平均全局寬度(average global width)和平均全局寬度的一半,其中,平均全局寬度為針對字符串圖像中的第一字符而言字符串圖像的高度,以及平均全局寬度是基于先前的平均全局寬度以及數(shù)據(jù)庫中所存儲的針對字符串圖像中的后續(xù)字符串平均字符寬度來計算的。
上述方案的優(yōu)點在于:平均全局寬度將識別出亞洲字符,而平均全局寬度的一半將識別出拉丁字符,因為亞洲字符的尺寸大約是拉丁字符的尺寸的兩倍,因此該行分割方法可以通過這種方式應(yīng)用于拉丁字符、亞洲字符以及上述兩種的組合。
在根據(jù)本發(fā)明的另一實施例中,當與潛在字符寬度列表中的前一寬度相對應(yīng)的錯誤可能性大于第二閾值時,方法還包括如下步驟:
a)確定字符串圖像的與起始點坐標和列表中的下一寬度相對應(yīng)的第二部分;
b)對字符串圖像的第二部分應(yīng)用分類方法以提供這個寬度的錯誤可能性和候選字符;
c)將錯誤可能性與數(shù)據(jù)庫中所存儲的閾值進行比較;
d)重復(fù)步驟a)、b)以及c),直到與該寬度相對應(yīng)的錯誤可能性小于閾值為止,或者直到已經(jīng)完成了對潛在字符寬度列表中所包括的所有寬度的處理為止;
e)當與寬度相對應(yīng)的錯誤可能性小于第一閾值時,選擇字符候選作為與寬度相對應(yīng)的字符。
只要沒有找到技術(shù)方案,那么將行分割與字符分類組合并且一個接著另一個執(zhí)行,直到找到解決方案為止。這使得能夠減小執(zhí)行這樣的方法所需要的步驟的數(shù)量并且還提高了方法的準確性。
在根據(jù)本發(fā)明的另一實施例中,字符串圖像是豎直字符串圖像,并且所有的寬度是高度。
亞洲字符可以按行書寫,也可以按列書寫。該方法當然不限定于行,而是可以通過將字符的寬度改變?yōu)楦叨葋砣菀椎剡m用于列,反之亦然。
在另一實施例中,該方法還包括如下步驟:在成功迭代時,使用平均全局寬度值對字符統(tǒng)計數(shù)據(jù)庫進行更新。
在根據(jù)本發(fā)明的另一實施例中,生成潛在字符寬度列表的步驟是基于從數(shù)據(jù)庫中獲取的數(shù)據(jù)進行的,數(shù)據(jù)庫包括:針對給定字號的參考字符、最大參考字符的寬度、參考字符的平均寬度以及參考字符之間的平均距離的尺寸。
在本發(fā)明的另一實施例中,數(shù)據(jù)庫還包括字符的統(tǒng)計值的估值,其中,數(shù)據(jù)庫是在每個成功迭代時被更新的。
在根據(jù)本發(fā)明的另一實施例中,最大字符寬度是亞洲字符的最大字符寬度。
在本發(fā)明的另一實施例中,計算機程序產(chǎn)品包括計算機可用介質(zhì),計算機可用介質(zhì)中存儲有控制邏輯,控制邏輯用于使得計算裝置對輸入圖像中的字符串圖像進行分割,所控制邏輯包括:
a)第一控制可讀程序代碼模塊,用于對照背景,確定像素的第一起始點坐標;
b)第二控制可讀程序代碼模塊,用于根據(jù)最大字符寬度以及字符串圖像的與最大字符寬度相對應(yīng)的部分的特征來生成潛在字符寬度列表;
c)第三控制可讀程序代碼模塊,用于確定字符串圖像中的與第一起始點坐標和潛在字符寬度列表中的第一寬度相對應(yīng)的第二部分;
d)第四控制可讀程序代碼模塊,用于對字符串圖像的第二部分應(yīng)用分類方法以提供針對第一寬度的錯誤可能性和候選字符;
e)第五控制可讀程序代碼模塊,用于將錯誤可能性與根據(jù)速度與準確性之間的折中(trade-off)確定的第一閾值進行比較;以及
f)第六控制可讀程序代碼模塊,用于當與第一寬度相對應(yīng)的錯誤可能性小于閾值時,選擇候選字符作為與第一寬度相對應(yīng)的字符。
附圖說明
將借助于下面的描述和附圖來進一步對本發(fā)明進行闡述。
圖1示出了根據(jù)現(xiàn)有技術(shù)的光學字符識別過程中的不同步驟。
圖2示出了本領(lǐng)域技術(shù)人員已知為過度分割的一種行分割。
圖3示出了根據(jù)本發(fā)明的實施例的行分割方法。
圖4示出了使用字符統(tǒng)計數(shù)據(jù)庫的行分割方法。
具體實施方式
將針對特定實施例并參考某些附圖對本發(fā)明進行描述,但本發(fā)明并非限定于此,而是僅由權(quán)利要求書進行限定。所描述的附圖僅為示意性的而非限制性的。在附圖中,出于示意性目的,一些要素的尺寸可能被擴大而沒有按比例繪制。尺寸和相對尺寸不一定與實施本發(fā)明的實際縮小比例相對應(yīng)。
此外,說明書和權(quán)利要求書中的術(shù)語“第一”、“第二”、“第三”等是用于區(qū)分相似元件,而不一定用于描述相繼的或時間先后的順序。這些術(shù)語在適當情況下可以互換,本文所描述的本發(fā)明的實施例可按照不同于這里所描述或示出的其它順序操作。
此外,在說明書和權(quán)利要求中,術(shù)語“頂部”、“底部”、“之上”、“之下”等等用于說明的目的,并且不一定用于描述相對位置。所使用的這些術(shù)語在適當情況下可以互換,本文所描述的本發(fā)明的實施例可在不同于這里所描述或所示的其它方位操作。
另外,盡管這些被稱之為“優(yōu)選的”的各個實施例被理解為示例性方式,但是本發(fā)明可以通過這些示例性方式來實現(xiàn)而并非這些示例性方式用于限定本發(fā)明的范圍。
權(quán)利要求書中所使用的術(shù)語“包括”將不被解釋為對在其后列出的元件或步驟的限制;它并不排除其他元件或步驟。該術(shù)語應(yīng)被解釋為是強調(diào)所說明的特征、全局、步驟或部件的存在,而并未排除存在或添加一個或多個其它特征、全局、步驟或部件或其組群的可能性。因此,表達式“包括A和B的設(shè)備”的范圍不應(yīng)該限于僅包括部件A和B的設(shè)備。而是,就本發(fā)明而言,所枚舉的設(shè)備的部件僅僅是A和B,此外,權(quán)利要求書應(yīng)當解釋為包括這些部件的等同物。
參考圖3,圖3示出了根據(jù)本發(fā)明的實施例的光學字符識別(OCR)方法的流程圖。該方法的輸入是字符串圖像110。在第一步驟中,對字符串圖像110進行行分割120。對所分析的字符的潛在寬度的初步信息進行計算。字符的潛在寬度的初步信息能夠?qū)崿F(xiàn)一個新的步驟序列,該步驟序列提高了OCR方法的速度。盡管仍然使用過度分割,但是不是所有的潛在解決方案(210,220,230)都需要通過OCR方法進行系統(tǒng)地分析。這些潛在解決方案是借助于候選字符寬度的列表310來生成的,并且按照從最有可能到不太可能進行排序。OCR方法首先對最有可能的潛在解決方案210進行分析。如果滿足測量錯誤的條件320,則對該字符進行分類150,將其他潛在解決技術(shù)方案丟棄并且對下一字符進行分析。如果不滿足測量錯誤的條件330,則對下一最有可能的潛在解決方案進行分析220。在如下情況下迭代地重復(fù)該過程:只要沒有成功地對字符串進行分類或者直到已經(jīng)完成對所有的潛在解決方案的評估為止。
這里所描述的方法被應(yīng)用于對文本的行進行分割。然而,同樣的方法還可以用于對文本的列進行分割,這對于亞洲文本而言很常見。
如上所述,按照最有可能出現(xiàn)到不太可能出現(xiàn)進行排序的候選字符寬度310的列表是在對字符圖像進行分析之前生成的。這個候選字符寬度列表的生成將在本申請的后文中進行描述。該列表包括N+2個候選寬度,其中,前N個寬度是在字符串圖像110中不需要進行切割以提取字符串的寬度,以及最后兩個寬度是需要進行切割以將字符串圖像110中的字符進行分開并提取的寬度。
起始點是x坐標,其用于限定要分析的新字符圖像的位置。初始起始點列表是在算法的開始處進行創(chuàng)建的,其中,列表中的第一初始起始點與圖像左邊的第一個黑色像素相對應(yīng)。其他預(yù)定義起始點與行的末端或最右側(cè)像素相對應(yīng)。在OCR過程期間,會將其他起始點添加至起始點列表。該方法確保會對列表中存在的所有起始點進行處理。
字符圖像完全由起始點坐標和與互連成分的列表有關(guān)的寬度進行限定。對于所有字符串而言,行的高度是相同的。在OCR過程的結(jié)束處,字符被分類。
一旦創(chuàng)建了潛在解決方案,則將字符分類方法140應(yīng)用于該潛在解決方案以確定該潛在解決方案是否可以對字符進行分類。在本發(fā)明的實施例中,字符串分類方法140是以Gabor函數(shù)為基礎(chǔ)的。
根據(jù)本發(fā)明實施例的字符分類方法140需要兩個輸入:
-字符n的起始點坐標SPn。該起始點坐標是在待分析的字符中位于該字符的左下方處的第一個像素的(x)坐標;以及
-從針對字符n的候選字符寬度列表中選取的候選寬度wi。
輸出為錯誤可能性Perr,該Perr用于計算字符Cn。錯誤可能性Perr與如下兩個閾值參數(shù)進行比較:具有低錯誤可能性的閾值Tlerr和具有高錯誤可能性的閾值Therr。Tlerr和Therr的值可以根據(jù)速度vs準確性需求進行調(diào)整。在本發(fā)明的優(yōu)選實施例中,Tlerr和Therr的值被設(shè)置為Tlerr=20%以及Therr=99%。具有低錯誤可能性的閾值Tlerr限定了字符被成功分類的條件。
根據(jù)本發(fā)明的實施例的行分割方法使用了如圖4所示的字符統(tǒng)計數(shù)據(jù)庫400?,F(xiàn)在將列出數(shù)據(jù)庫的元素。本申請后續(xù)將進一步對如何使用每個元素進行更詳細地描述。該數(shù)據(jù)庫包括:
-針對所選擇的字號(point size),亞洲字符和拉丁字符的參考尺寸(高度和寬度)庫,其存儲在存儲器中;
-針對所選擇的字號,亞洲字符的參考最大尺寸w最大,A,r和拉丁字符的參考最大尺寸w最大,L,r,其存儲在存儲器中;
-針對所選擇的字號,亞洲文本和拉丁文本所具有的相同的參考平均字符間距Sr;
-正被分析的文本中的亞洲字符的預(yù)計最大寬度w最大,A,t和拉丁字符的預(yù)計最大寬度w最大,L,t;
-正被分析的文本中的亞洲字符或拉丁字符的平均字符間距st;
-亞洲字符的寬度n的局部估值Ln,A和拉丁字符n的寬度的局部估值和Ln,L,該局部估值表示僅針對已經(jīng)被分類的字符而計算出的相應(yīng)的參考字符的寬度。這是使用字符n的實際寬度和值來計算出的字符的字號的測量值;
-字符的寬度的全局估值Gn,該全局估值表示僅針對已經(jīng)被分類的字符而計算出的相應(yīng)的參考字符的寬度。Gn的值是先前所測量的局部估值Ln的運行平均值(running average),并且從而是平均字符字號的更精確的測量值。這個值是更可靠的,因為其對于被錯誤地分類的字符而言具有較好的容錯性。
參考圖4,圖4示出了根據(jù)本發(fā)明的實施例的行分割過程的流程圖。該過程是針對對字符Cn的分割進行描述的。生成了針對字符Cn的具有所有N+2個候選字符寬度的列表310,并且從該候選字符寬度列表中選取第一候選字符寬度w1。這兩個值SPn和w1為字符分類方法140在步驟420中的輸入值410。步驟420的輸出是錯誤可能性Perr。
根據(jù)Perr的值,可以有兩種選項。如果錯誤可能性Perr小于具有高錯誤可能性的錯誤的閾值Therr421,則字符Cn是潛在解決方案。于是,如果需要,將與第一候選寬度w1相對應(yīng)的字符Cn保存到存儲器中,并且計算出下一字符的起始點并且將該起始點添加至待處理的起始點列表中,SPn+1=SPn+w1+SA,t,425。如果錯誤可能性Perr進一步還小于具有低錯誤可能性的錯誤的閾值Tlerr422,則可以認為字符Cn被成功地分類,并且如隨后在說明書中進行說明的那樣對字符統(tǒng)計數(shù)據(jù)庫400進行更新。該方法可以移動至下一起始點SPn+1405以確定下一字符Cn+1,而無需針對當前起始點SPn的其他寬度進行處理。如果錯誤可能性Perr大于具有低錯誤可能性的錯誤的閾值Tlerr423,則如下文所描述的那樣,使用接下來的第i個候選寬度wi來執(zhí)行字符分類方法430。
然而,如果錯誤可能性Perr大于具有高錯誤可能性的錯誤的閾值Therr424,則不在存儲器中保存與第1個候選寬度w1相對應(yīng)的字符Cn,并且不對新的起始點進行計算。
使用接下來的第i個候選寬度wi來執(zhí)行字符分類方法430。同樣,根據(jù)Perr的值存在兩種選項。如果Perr小于Therr431,則如果需要,將字符Cn與寬度wi一起存儲,計算出下一字符的起始點并且將該起始點添加至待處理的起始點列表中405,以及,如果Perr還小于Tlerr432,則對字符統(tǒng)計數(shù)據(jù)庫進行更新400。然而,如果Perr大于Tlerr和/或Therr(435,433),則使用接下來的第i+1個候選寬度wi+1來執(zhí)行字符分類方法,直到已經(jīng)完成對列表中的所有寬度的處理(i=N)為止,或者直到已經(jīng)成功地對字符進行分類(Perr<Tlerr)為止。
對于i=N+1,重復(fù)同樣的過程,但是現(xiàn)在寬度wN+1使得針對寬度值wN+1=w最大,A,t執(zhí)行第一次切割440。如果對于i=N+1,使用低錯誤可能性(443或445)Perr<Tlerr,沒有字符被分類,則針對i=N+2重復(fù)執(zhí)行該過程,其中,wN+2=w最大,L,t450,同樣地,可以有不同的路徑,諸如,451采用452,451采用453或454。
為了不對過度分割的所有解決方案都進行分析,按照如下方式生成針對字符n的具有所有N+2個候選寬度{wi}的列表(cn):候選寬度按照從最有可能到不太可能進行排序,以及候選寬度的數(shù)量因字符而異,這取決于使用所連接的成分的數(shù)量進行測量的潛在字符的幾何結(jié)構(gòu)?;谟^察認為,對于亞洲字符而言,除了少數(shù)字符具有較小的寬度,大多數(shù)字符的寬度相同。根據(jù)本發(fā)明的實施例,可能性最大的寬度對應(yīng)于其包括連接成分的最大集合的寬度,其并不寬于較寬亞洲字符的估計寬度w最大,A,t與估計平均字符間距(st)之和。
字符可以是非粘連的或粘連的。非粘連字符出現(xiàn)的可能性更大,因此首先考慮非粘連字符。
對于非粘連字符,(不需要進行切割),像素中所計算出的具有指數(shù)i的候選寬度(wi)使得具有p個(p≥0)互連成分的集合的第i個最大寬度小于最大亞洲字符(w最大,A,t)與平均估計字符間距(st)的和。寬度wi具有p個互連成分,寬度wi+1具有p個或更少的互連成分并且使得wi+1≤wi。
在字符統(tǒng)計數(shù)據(jù)庫中對最寬亞洲字符w最大,A,t和估計字符間距(st)進行評估。存在N個可能的非粘連字符。
如果兩個相鄰的字符粘連,則需要執(zhí)行切割,將在最有可能的位置對字符進行切割,該最有可能的位置是根據(jù)字符的平均全局寬度Gn-1來計算的,該平均全局寬度Gn-1可以在對于字符Cn的先前迭代(n-1)處更新的字符統(tǒng)計數(shù)據(jù)庫中找到。指數(shù)為N+1的寬度wN+1對應(yīng)于亞洲字符的平均全局寬度Gn-1與平均間距st之和。指數(shù)為N+2的寬度wN+2對應(yīng)于拉丁字符的平均全局寬度Gn-1/2與平均間距st之和。假定,拉丁字符的寬度為亞洲字符的寬度的一半。
總而言之,在每個迭代中,字符n的輸入候選寬度列表是由以下條件給出:
wi=p個互連成分的第i個最大集合的寬度,使得wi=w最大+st,i=1,…,N;N≥0
wN+1=Gn-1+st,
wN+2=Gn-1/2+st
其中,w最大,A,t,Gn-1,st,st是來自字符統(tǒng)計數(shù)據(jù)庫的值,該字符統(tǒng)計數(shù)據(jù)庫在每次對字符進行了分類(或者Perr<Tlerr)時被更新。
數(shù)據(jù)庫包括數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)存儲有按行提取的字符信息和參考字符以及這些字符的統(tǒng)計值的庫。在過程的開始處,創(chuàng)建單個數(shù)據(jù)結(jié)構(gòu),該結(jié)構(gòu)為空。存儲在存儲器中的數(shù)據(jù)結(jié)構(gòu)在每個迭代中進行更新并且其結(jié)構(gòu)類似于圖形。
在下表中總結(jié)了數(shù)據(jù)庫的所有參數(shù),現(xiàn)在對數(shù)據(jù)庫中的不同參數(shù)的估值進行說明。
表1:字符統(tǒng)計數(shù)據(jù)庫的參數(shù)
按照如下方式對最大亞洲字符的寬度和最大拉丁字符的寬度進行評估:
其中,比例性比率表示將庫中的字符的字號轉(zhuǎn)換為文本中的字符的字號。
分別對亞洲字符的平均尺寸和拉丁字符的平均尺寸進行同樣的轉(zhuǎn)化:
這個值表示字符n的寬度的局部估值,并且進一步用于對步驟n處的字符的寬度的全局估值進行評估。使用如下等式計算步驟n處的字符的寬度的全局估值Gn:
G0=行的高度
其中,Gn-1是步驟n-1處所更新的字符的平均寬度的全局估值,Ln是步驟n處字符的平均尺寸的局部估值,n是方法的當前步驟的指數(shù),以及G0是行的高度(假定亞洲字符是方形的)。這個等式對于亞洲字符和拉丁字符都是有效的。假定,對于拉丁字符而言,其寬度的全局估值是亞洲字符的全局估值的一半。
最后,當文本的字號不同于參考字符的字號時,應(yīng)用同樣的比例來對文本st中的字符間距進行評估:
本實施例示出了行分割方法的情況,但是該方法并不限定于行。亞洲文本還可以按列書寫并且還可以使用同樣的方法。在這種情況下,字符的寬度需要替代為字符的高度,以及起始點坐標是字符串圖像的頂部處的字符的首個像素的(y)坐標。