本發(fā)明涉及一種PDF文檔邏輯圖識(shí)別方法,屬于版式電子文檔的版面分析與版面理解范疇。
背景技術(shù):
::PDF(PortableDocumentFormat,便攜文件格式)是由Adobe公司開發(fā)的一種電子文檔格式,具有與操作系統(tǒng)平臺(tái)無關(guān)性的特點(diǎn),已成為電子文檔發(fā)行和數(shù)字化信息傳播中廣泛使用的理想文檔格式。近年來隨著移動(dòng)互聯(lián)網(wǎng)的迅猛發(fā)展,為適應(yīng)尺寸各異的移動(dòng)終端和多形態(tài)、多渠道、多介質(zhì)的數(shù)字出版需求,需要將屬于版式文檔的PDF文件碎片化和流式重排。PDF文檔的邏輯圖是指與文檔內(nèi)容相關(guān)、從語義上可視為一個(gè)邏輯整體的頁面圖區(qū)。PDF文檔的邏輯圖從版面排布特點(diǎn)上看可分為欄內(nèi)圖、跨欄圖、續(xù)欄圖、并欄圖、內(nèi)插圖等;從元素構(gòu)成特點(diǎn)上看可分為點(diǎn)陣圖、矢量圖和混合圖。點(diǎn)陣圖常由一個(gè)或多個(gè)點(diǎn)陣圖子塊構(gòu)成,矢量圖是將圖中點(diǎn)、線、面等元素以路徑集合的形式給出,混合圖則由點(diǎn)陣圖、字符、路徑等元素共同組成。PDF邏輯圖排版的復(fù)雜性和構(gòu)成元素的多樣性,使PDF邏輯圖識(shí)別在版式電子文檔的版面分析與理解領(lǐng)域成為公認(rèn)的難點(diǎn)。描述PDF邏輯圖的基本元素包括字符、路徑和點(diǎn)陣圖,但字符、路徑和點(diǎn)陣圖并不只用于描述邏輯圖。例如用點(diǎn)陣圖描述段落內(nèi)的一個(gè)補(bǔ)字,用路徑描述一個(gè)轉(zhuǎn)曲字、一條表格線、一個(gè)公式分式線等。此外PDF文檔還可能存在底紋圖,即在排版中為了加強(qiáng)版面視覺效果而添加的圖片。底紋圖通常位于頁面底層屬于裝飾性內(nèi)容,在底紋圖上方可能疊加標(biāo)題、表格、段落等有效內(nèi)容。因此,在PDF文檔邏輯圖識(shí)別算法設(shè)計(jì)中要剔除補(bǔ)字、轉(zhuǎn)曲字、底紋圖等內(nèi)容的干擾?,F(xiàn)有的版式文檔邏輯圖識(shí)別的技術(shù)和方法(如CN104346615A),采用分層思想,將文檔分為文字層和非文字層,分別對(duì)兩層內(nèi)容進(jìn)行版面分析,根據(jù)位置關(guān)系關(guān)聯(lián)區(qū)塊從而確定頁面圖區(qū)。本發(fā)明則從另一個(gè)角度,集中頁面所有內(nèi)容(字符、路徑、點(diǎn)陣圖)建立生長(zhǎng)池,采用區(qū)域生長(zhǎng)法大膽生長(zhǎng)仔細(xì)辨別的思想,識(shí)別頁面邏輯圖區(qū)。技術(shù)實(shí)現(xiàn)要素:本發(fā)明根據(jù)PDF文檔邏輯圖的排版特點(diǎn),提出了一種PDF文檔邏輯圖識(shí)別的方法。所述技術(shù)方案包括:獲取頁面字符集、路徑集和點(diǎn)陣圖集;將字符合并成行,建立行集合;檢測(cè)行內(nèi)補(bǔ)字圖和轉(zhuǎn)曲字,并入相應(yīng)行;檢測(cè)并剔除無效路徑、底紋路徑和底紋圖;從行集合中檢測(cè)疑似圖標(biāo)題;若存在疑似圖標(biāo)題,則用基于圖標(biāo)題的區(qū)域生長(zhǎng)法識(shí)別邏輯圖;無圖標(biāo)的區(qū)域生長(zhǎng)法識(shí)別邏輯圖;輸出頁面邏輯圖識(shí)別結(jié)果。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:1.文檔中具有重要意義的邏輯圖通常包含圖標(biāo)題?;趫D標(biāo)題的區(qū)域生長(zhǎng)法,以疑似圖標(biāo)題為種子,在種子鄰域生長(zhǎng)能迅速定位邏輯圖主體位置。同時(shí),一頁中多個(gè)種子并行地競(jìng)爭(zhēng)地生長(zhǎng),能在圖文混排的復(fù)雜版面中準(zhǔn)確估算每個(gè)邏輯圖的有效區(qū)域。2.在區(qū)域生長(zhǎng)法識(shí)別邏輯圖前,本方法依次剔除了補(bǔ)字圖、轉(zhuǎn)曲字、底紋圖和底紋路徑等干擾元素,提高了PDF邏輯圖識(shí)別的正確率。3.本方法不僅能自動(dòng)識(shí)別邏輯圖,還同時(shí)識(shí)別了圖標(biāo)題,并將圖標(biāo)題與對(duì)應(yīng)的邏輯圖匹配關(guān)聯(lián),保持同步。附圖說明圖1是本發(fā)明實(shí)施方法流程圖;圖2是基于圖標(biāo)題的區(qū)域生長(zhǎng)法示意圖。具體實(shí)施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合實(shí)施例及附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述。如圖1所示,為PDF文檔邏輯圖識(shí)別的方法流程,所述方法包括:1.獲取頁面字符集、路徑集和點(diǎn)陣圖集字符集合是指該頁所有字符信息,包括字符的編碼、位置、字體類型等。路徑(path)在PDF文件中用來定義形狀、區(qū)域、邊界等,例如,用路徑描述直線、曲線,用路徑定義形狀填充區(qū)域,用路徑定義邊界裁切頁面等等。頁面中的頁眉頁腳線、表格線、腳注線、公式分式線、轉(zhuǎn)曲字符、曲線圖等都能用路徑集描述。一個(gè)路徑由一組有序的直線和曲線組成,本文主要提取了路徑外接矩以及路徑內(nèi)每條直線或曲線的具體位置。點(diǎn)陣圖集是指該頁所有點(diǎn)陣圖資源,本文主要提取了點(diǎn)陣圖在頁面的具體位置。2.將字符合并成行,建立行集合根據(jù)字符流順序和字符空間排布特點(diǎn)將字符合并成行。由于大部分PDF文檔字符流順序與閱讀順序相同,字符按行整齊排版,按字符流順序?qū)⒆址喜⒊尚惺莻€(gè)高效的辦法。在聚合的過程中要利用字體差異性和字符間的垂直距離與水平間隔等約束,兩兩字符垂直距離越近,水平間隔越小,相鄰的可能性越大,同行的概率越高。根據(jù)字符流順序?qū)⒆址醪胶喜⒊尚泻?,還應(yīng)進(jìn)行行與行之間水平合并以處理字符流順序與閱讀順序不一致的情況。3.檢測(cè)行內(nèi)補(bǔ)字圖和轉(zhuǎn)曲字,并入相應(yīng)行PDF文檔常用補(bǔ)字圖或轉(zhuǎn)曲字的方式記錄生僻字,檢測(cè)行內(nèi)補(bǔ)字的方法如下:首先在點(diǎn)陣圖集中提取與字符大小相似的圖(圖寬<=1.5倍字寬,圖高<=1.5倍字高),視為疑似補(bǔ)字;再比較疑似補(bǔ)字與行集合內(nèi)每一行的位置關(guān)系:若疑似補(bǔ)字與某一行的水平距離小于1倍字寬,同時(shí)垂直相交比例>50%,則判定該疑似補(bǔ)字為補(bǔ)字,屬于該行;最后將補(bǔ)字并入相應(yīng)行,即根據(jù)補(bǔ)字在行內(nèi)的位置,插入該行以保持字符間正確的閱讀順序。檢測(cè)行內(nèi)轉(zhuǎn)曲字的方法與檢測(cè)行內(nèi)補(bǔ)字的方法相似,主要區(qū)別是前者在路徑集中檢測(cè),后者在點(diǎn)陣圖集中檢測(cè)。4.檢測(cè)并剔除無效路徑、底紋路徑和底紋圖無效路徑如裁切路徑(clippingpath),并未直接地具體地描述頁面某一視覺元素(字符,線,圖等),為避免與填充路徑(fillingpath)、描邊路徑(strokingpath)混淆,將其剔除。此外PDF文檔可能出現(xiàn)軌跡為零的路徑,在頁面中不可見,這些路徑也被視為無效路徑被剔除。根據(jù)圖內(nèi)字符的稀疏度和字符排布特征檢測(cè)底紋圖。字符稀疏度是指圖內(nèi)所有字符面積與預(yù)估的行間隔面積之和占該圖面積的百分比。當(dāng)字符稀疏度>55%時(shí),表明該圖的上層字符內(nèi)容豐富判定為底紋圖;當(dāng)字符稀疏度<5%時(shí),表明該圖的上層字符內(nèi)容很稀疏判定為非底紋圖。當(dāng)字符稀疏度在5%到55%之間時(shí),采用字符排布特征判斷。字符排布特征是指字符聚合為行時(shí),行數(shù)、短行比例、行與行的左右對(duì)齊性等。當(dāng)圖內(nèi)行數(shù)激增,短行比例大,對(duì)齊屬性不明顯時(shí),判斷該圖為底紋圖。底紋路徑的判斷方法與底紋圖類似,此處不再累述。5.從行集合中檢測(cè)疑似圖標(biāo)題檢測(cè)疑似圖標(biāo)題運(yùn)用了關(guān)鍵字匹配法。從行集合中檢測(cè)行首帶有“圖”、“Fig”、“Figure”等關(guān)鍵詞,同時(shí)關(guān)鍵詞后緊跟圖標(biāo)號(hào)如:阿拉伯?dāng)?shù)字(1、2、3...)或大寫中文數(shù)字(一、二、三...),將包含上述特征的行判定為疑似圖標(biāo)題。有些文檔的圖標(biāo)題同時(shí)包含中、英文多語種,需要將同一個(gè)圖的多語種圖標(biāo)題合并。6.若存在疑似圖標(biāo)題,則用基于圖標(biāo)題的區(qū)域生長(zhǎng)法識(shí)別邏輯圖基于圖標(biāo)題的區(qū)域生長(zhǎng)法,將疑似圖標(biāo)題視為種子作為生長(zhǎng)的初始位置,以行集合、路徑集和點(diǎn)陣圖集為生長(zhǎng)元素,采用多個(gè)種子(多個(gè)疑似圖區(qū))垂直并行生長(zhǎng)模式,能準(zhǔn)確定位邏輯圖的有效區(qū)域,輕松解決矢量圖、混合圖并存一頁的圖文混排的復(fù)雜頁面。如圖2所示,基于圖標(biāo)題的區(qū)域生長(zhǎng)法分為以下幾步:(1)將頁內(nèi)所有疑似圖標(biāo)題設(shè)置為種子作為初始生長(zhǎng)點(diǎn);(2)確定各種子水平方向最大生長(zhǎng)范圍,建立生長(zhǎng)池:結(jié)合頁面分欄特點(diǎn),利用種子在頁內(nèi)位置、所屬欄(跨欄、獨(dú)占一欄)等信息估算種子水平方向的最大生長(zhǎng)范圍。生長(zhǎng)池包含種子、生長(zhǎng)元素和抑制元素。種子是疑似圖標(biāo)題;生長(zhǎng)元素包括行集合、路徑集和點(diǎn)陣圖集;在基于圖標(biāo)題的區(qū)域生長(zhǎng)法中,每個(gè)種子代表一個(gè)疑似圖區(qū),種子與種子相互約束、互為抑制元素。建立生長(zhǎng)池時(shí)要分別計(jì)算種子與生長(zhǎng)元素、抑制元素之間的空間位置關(guān)系,如垂直距離、水平相交比例等。(3)垂直并行生長(zhǎng):由于絕大多數(shù)圖標(biāo)題位于圖主體的下方,生長(zhǎng)方向可定為垂直向上生長(zhǎng)。并行生長(zhǎng)過程如下:While(true){①生長(zhǎng)池中是否為空?是——>結(jié)束,跳出;否——>進(jìn)入②;②從池中取出垂直距離最小的種子和對(duì)應(yīng)元素,判斷該元素是否為生長(zhǎng)元素?是——>進(jìn)入③;否——>進(jìn)入④;③判斷該生長(zhǎng)元素是否能并入種子所在生長(zhǎng)區(qū)?是——>更新生長(zhǎng)區(qū),進(jìn)入⑤;否——>進(jìn)入④;④判斷種子是否停止生長(zhǎng)?是——>設(shè)置停止生長(zhǎng)標(biāo)記,進(jìn)入⑤;否——>進(jìn)入⑤;⑤更新生長(zhǎng)池;}垂直并行生長(zhǎng)過程不是一個(gè)種子停止生長(zhǎng)后下一個(gè)種子開始生長(zhǎng)的串行生長(zhǎng)過程,而是頁內(nèi)所有種子共用一個(gè)生長(zhǎng)池,并行、競(jìng)爭(zhēng)地生長(zhǎng)。(4)判斷生長(zhǎng)區(qū)是否為圖區(qū):當(dāng)生長(zhǎng)區(qū)內(nèi)含點(diǎn)陣圖時(shí),則該生長(zhǎng)區(qū)為圖區(qū);當(dāng)生長(zhǎng)區(qū)內(nèi)無點(diǎn)陣圖有路徑時(shí),進(jìn)一步檢測(cè)生長(zhǎng)區(qū)內(nèi)路徑的分布情況,判斷是否為矢量圖;當(dāng)生長(zhǎng)區(qū)內(nèi)既無點(diǎn)陣圖也無路徑,則該生長(zhǎng)區(qū)為非圖區(qū)。(5)確定圖區(qū)邊界:若圖區(qū)內(nèi)沒有行集合,則用圖區(qū)內(nèi)所有點(diǎn)陣圖和路徑確定圖區(qū)邊界;若圖區(qū)內(nèi)有行集合,則先用點(diǎn)陣圖集和路徑集估算圖區(qū)的大致邊界,再利用大致邊界對(duì)行集合內(nèi)每個(gè)元素逐一判斷,去除不屬于圖區(qū)的行元素,最終確定圖區(qū)邊界。7.無圖標(biāo)的區(qū)域生長(zhǎng)法識(shí)別邏輯圖無圖標(biāo)的區(qū)域生長(zhǎng)法雖然也是一種區(qū)域生長(zhǎng)法,但缺少疑似圖標(biāo)題提示,需要從點(diǎn)陣圖集和路徑集中挑選合適的元素作為種子,作為初始生長(zhǎng)點(diǎn)。該法分為以下幾步:(1)挑選種子:當(dāng)點(diǎn)陣圖寬和高大于該頁主體字體寬和高的2.5倍時(shí),選為種子;當(dāng)路徑外接矩的寬和高滿足要求(與點(diǎn)陣圖類似),且路徑的軌跡系數(shù)也滿足要求時(shí),選為種子。路徑的軌跡系數(shù)是一種用來描述路徑軌跡的參數(shù),這個(gè)參數(shù)基于如下假設(shè)提出:一個(gè)路徑的軌跡越長(zhǎng),描述的內(nèi)容越豐富,越有可能是有意義的內(nèi)容。路徑的軌跡系數(shù)定義為其中,tri為路徑第i個(gè)軌跡的長(zhǎng)度,w和h分別為路徑外接矩的寬和高。選為種子的路徑的軌跡系數(shù)下限值為2.5。(2)結(jié)合頁面分欄特點(diǎn),利用種子在頁內(nèi)位置、所屬欄(跨欄、獨(dú)占一欄)等信息估算種子水平方向的最大生長(zhǎng)范圍。(3)垂直并行生長(zhǎng):以種子為起始點(diǎn),在鄰域垂直向上或向下生長(zhǎng)。生長(zhǎng)過程中,行集合、點(diǎn)陣圖集、路徑集、抑制集(基于圖標(biāo)題的區(qū)域生長(zhǎng)法識(shí)別的邏輯圖)放入同一生長(zhǎng)池中,相互作用。此處,種子與種子間沒有互相抑制關(guān)系,可以互相合并。(4)判斷生長(zhǎng)區(qū)是否為圖區(qū)和確定圖區(qū)邊界的方式與基于圖標(biāo)題的區(qū)域生長(zhǎng)法類似,此處不再累述。8.輸出頁面邏輯圖識(shí)別結(jié)果輸出的邏輯圖識(shí)別結(jié)果包括該頁所有圖標(biāo)題及對(duì)應(yīng)的邏輯圖的主體區(qū)域。雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬
技術(shù)領(lǐng)域:
:內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式上及細(xì)節(jié)上作任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。此外,應(yīng)當(dāng)理解,雖然本說明書按照實(shí)施方式加以描述,但并非每個(gè)實(shí)施方式僅包含一個(gè)獨(dú)立的技術(shù)方案,說明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說明書作為一個(gè)整體,各實(shí)施例中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施方式。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3