一種文檔圖像的版式識別方法
【技術領域】
[0001]本發(fā)明屬于模式識別領域,是一種針對文檔掃描圖像提出的版式識別方法。
【背景技術】
[0002]近年來,隨著中國經(jīng)濟快速發(fā)展,政府部門指導和制定的政策越來越多,國家以及地方政策以公文的形式下發(fā),隨著科技的發(fā)展,越來越多的公文等文檔以圖像的格式保存。面對數(shù)量巨大、版式各異的公文,我們需要能夠?qū)ζ渥詣訁^(qū)分出公文的版式,而非人力。
[0003]公文即黨政機關公文。公文的種類簡稱文種,國務院辦公廳發(fā)布的《國家行政機關公文處理暫行辦法》將國家行政機關的公文歸納為九類十三種,命令、決定、公告、通知、通報、議案、報告、請示、批復、意見、函、會議紀要。公文中包含份號、密級和保密期限、緊急程度、發(fā)文機關標志、發(fā)文字號、簽發(fā)人、版頭中的分割線、標題、主送機關、正文等屬性。在具體執(zhí)行過程中,一份公文不一定包含上述所有屬性,隨著公文數(shù)量的增加,掃描儀等電子設備的廣泛應用,公文得以以掃描圖像的格式保存,因此如何有效對公文等圖片進行版式識別是十分必要的。
[0004]如何從大量圖片中檢測出特定文檔圖片,以及正確提取文檔圖片相應的信息,迄今為止,依然沒有什么好辦法。目前,版面分析技術已經(jīng)發(fā)展到了針對不同的文檔使用不同的技術。馬壯,趙國權(quán),任占鵬等人提出了基于OCR識別技術的自動閱卷系統(tǒng)研宄。這是一種自頂向下的分析方法,是指從頁面的整體出發(fā),重視全局信息,把整體圖像劃分為若干個區(qū)域,再根據(jù)文本圖像的層次化結(jié)構(gòu)信息,對主區(qū)域繼續(xù)劃分。武玉坤提出了基于OCR的名片系統(tǒng)研宄,該研宄中用到了版面分析的自底向上的分析方法,從圖像的像素出發(fā),重視局部信息,將圖像小區(qū)域逐步合成大區(qū)域,字一一詞一一文本行一一段落等,直至覆蓋整個圖像。這些方法都是針對字體差不多大小的版式,采用的算法是模板匹配算法,連通域算法等,其缺點是運算量大,速度慢。目前現(xiàn)有文本行、字符切分方法在中文、數(shù)字混排環(huán)境以及不同字號文字混排情況下不能準確的進行切分,公文識別系統(tǒng)中,關于發(fā)文代字、以及發(fā)文部門、標題等都是字體大小不一的。因此,需要一個高效以及準確的版面分析方法來識別文檔圖片。
【發(fā)明內(nèi)容】
[0005]針對上述問題,本發(fā)明的目的是提供一種文檔圖像的版式識別方法,通過高效以及準確的版面分析方法來識別文檔圖片,尤其適用于中文公文文檔圖像的版式識別。
[0006]為了實現(xiàn)上述目的,本發(fā)明采用以下技術方案:
[0007]—種文檔圖像的版式識別方法,包括以下步驟:
[0008]I)根據(jù)不同文檔樣本的版式圖片,生成版式特征庫。
[0009]進一步地,所述版式特征庫中保存不同文檔樣本的版式內(nèi)容及由版式內(nèi)容相對字高、對齊方式生成的版式序列號。
[0010]為了更加準確的提取版式信息,本發(fā)明首先設計了一個版式入庫功能,就是通過用戶界面,對輸入的版式圖片,由用戶畫矩形框去標明哪塊是標題,哪塊是發(fā)文部門、哪塊是發(fā)文代字等,然后入庫,庫中會保存版式內(nèi)容,以及由版式內(nèi)容相對字高、對齊方式生成的版式序列號,該版式序列號在版式信息提取中非常重要。它是通過排序的序號,以及對齊方式產(chǎn)生的數(shù)字序列號生成的。如版式內(nèi)容有3塊,排序結(jié)果后產(chǎn)生的第一個序列為001221,第一個O表不第一塊,第二個O表不第一塊為最大,I表不第二塊,2表不第二塊為第三大,以此類推。對齊方式產(chǎn)生的第二個序列為212,其中2表示居中對齊,I表示右對齊。那么它的序列號為001221212。
[0011]在版式分析階段只有一個序列號,如果一張未知圖片經(jīng)過版式分析,得到的版式序列號與庫中的某個版式序列號一樣,那么將通過庫中的提示信息去提取該未知圖片的版式信息。生成的這個版式特征庫可以提高版式信息提取的準確性。
[0012]2)掃描待識別的文檔,得到掃描圖像。
[0013]本步驟還可以包括對掃描圖像進行預處理,所述預處理包括去噪(去油墨、去印章)、傾斜矯正等。
[0014]有些文檔在打印過程中可能會產(chǎn)生打印油墨,在掃描過程中可能會產(chǎn)生其他噪聲,尤其是椒鹽噪聲。其次,一些文檔圖片加蓋了一些印章,它會對正常的版式區(qū)域產(chǎn)生干擾,這也導致了后續(xù)的OCR (Optical Character Recognit1n,光學字符識別)識別反饋結(jié)果是一片亂碼。再次,文檔圖片的傾斜會對文本行分割產(chǎn)生干擾。因此需要該發(fā)明系統(tǒng)提供圖片的去噪處理功能,以增強該項發(fā)明的魯棒性與準確性。
[0015]3)對掃描圖像進行區(qū)域劃分,確定待識別文檔的正文。
[0016]根據(jù)投影信息對掃描圖像進行文本行分割,主要通過黑白像素點的紋理特征來確定切割位置。找出文本行的最小字號,自底向上找到正文的文本結(jié)束行,然后自頂向下尋找能與結(jié)束行匹配的文本起始行。如果找不到正文起始行或者正文結(jié)束行,將正文起始行標記為0,正文結(jié)束行標記為文本行的結(jié)尾。正文起始行和正文結(jié)束行之間是文檔的正文。
[0017]4)對待識別文檔正文以上的部分進行區(qū)域劃分,并獲取每個區(qū)域的版式信息。
[0018]對正文以上的部分,把具有相同的字高、行間距、對齊方式的行放到同一個區(qū)域。以及在同一個區(qū)域內(nèi)部如果左側(cè)有多個文本行,右側(cè)只有一個文本行,需要對區(qū)域再次劃分,把右側(cè)的一個文本行作為該區(qū)域的子區(qū)域。
[0019]劃分好的區(qū)域?qū)a(chǎn)生一個版式序列號,該版式序列號是由對齊方式,相對字高生成的。
[0020]所述版式信息包括:區(qū)域內(nèi)字號大小、排序、區(qū)域相對于整個掃描圖像的對齊方式。
[0021]5)將步驟4)得到的版式信息與版式特征庫中的版式信息進行匹配,如果匹配上,則從版式特征庫中提取對應的版式信息;如果未匹配上,則將每個區(qū)域的版式信息與預先設定的版式字集(當文檔為公文文檔時,該版式字集包括標題字集,部門字集及發(fā)文代字字集)匹配,獲得版式識別結(jié)果信息。
[0022]具體來說,步驟4)得到的版式信息主要是針對待識別文檔圖片,主要是版式序列號,及每個區(qū)域的OCR結(jié)果。版式特征庫中的版式信息主要是:每一個入庫圖片對應的規(guī)貝1J,也即:1)版式序列號;2)信息標簽(即所屬信息對應的區(qū)域號),比如標題是第幾塊,發(fā)文部門是第幾塊,發(fā)文代字是第幾塊。如果某個待處理的圖片匹配到了序列號,按信息標簽對應對待處理圖片提取信息,如標題的序列號:1,I表示第一個區(qū)域是標題。
[0023]通過以上步驟,可以完成對圖片版式的分析,最終正確提取相應的版式信息。其中尋找文檔圖像的正文、以及確定正文以上部分的版式區(qū)域是本發(fā)明的核心。
[0024]本發(fā)明的有益效果在于:
[0025]與現(xiàn)有技術相比,本發(fā)明提供的版式識別方法具有較高的識別準確率、精度和效率,且具有較大的實用性和應用價值。
【附圖說明】
[0026]圖1是本發(fā)明版式識別方法的整體流程圖。
[0027]圖2是本發(fā)明實施例1中公文示意圖。
[0028]圖3是本發(fā)明實施例1中提取的版式信息示意圖。
[0029]圖4是本發(fā)明實施例2中公文示意圖。
[0030]圖5是本發(fā)明實施例2中提取的版式信息示意圖。
【具體實施方式】
[0031]以下將以中文公文文檔為例,結(jié)合附圖對本發(fā)明的實施方式做詳細說明。
[0032]本發(fā)明版式識別方法的整體流程如圖1所示,具體包括五個步驟:
[0033]1.對公文掃描圖像進行預處理,對圖像進行尺寸調(diào)整、去除模糊、傾斜校正等操作,以利于公文的版式識別。具體處理過程如下:
[0034](I)對于去除椒鹽噪聲,根據(jù)開關濾波思想,本發(fā)明準備使用max-min算子作為椒鹽噪聲檢測器,利用自適應鄰域窗口對圖像進行從左到右的逐行掃描,同時對位于窗口中心的像素點進行噪聲判別。如果該點的灰度值處于極大值和極小值之間,則認為該點為被噪聲污染;若該點的灰度值等于極值,則認為該點可能被椒鹽噪聲污染,然后再利用改進的方法進行判別,并將運算結(jié)果作為該點的替代值。
[0035](2)去除標題上部分的印章,利用canny邊緣檢測,尋找輪廓,根據(jù)一些樣本的訓練值,當邊緣的輪廓面積大于某一閾值時,則它是印章的可能性很大,可以將它去除。
[0036](3)傾斜矯正是通過累計出圖像中黑像素點個數(shù)的統(tǒng)計圖,對行方向進行投影得到水平和豎直投影。對于傾斜的圖像,根據(jù)沿文本傾斜方向的投影圖均方最大,在一定角度范圍內(nèi)以特定的分辨率為間隔分別旋轉(zhuǎn)文檔圖像,獲得旋轉(zhuǎn)后圖像的投影圖,然后將使得投影圖均方誤差最大的旋轉(zhuǎn)角作為傾斜角度。
[0037]2.根據(jù)投影信息,對公文進行文本行分割。對于確定的文字區(qū)域,統(tǒng)計每一行的黑點個數(shù)。找到連續(xù)三行黑點數(shù)大于3的起始行,標記當前行作為文本的起始行。從起始文本行開始統(tǒng)計前八行的平均黑點數(shù),統(tǒng)計這八行中每列