1.導(dǎo)讀
隨著企業(yè)數(shù)字化進(jìn)程不斷加速,PDF轉(zhuǎn)Word的功能、紙質(zhì)文本的電子化存儲、文件復(fù)原與二次編輯、信息檢索等應(yīng)用都有著強(qiáng)烈的企業(yè)需求。目前市面上已有一些軟件,但普遍需要繁瑣的安裝注冊操作,大多還存在額度限制。此外,最終轉(zhuǎn)換效果也依賴于版面形態(tài),無法做到針對性適配。針對社區(qū)開發(fā)者迫切的需求,飛槳社區(qū)開發(fā)者吳泓晉(GitHubID:whjdark)基于最新發(fā)布的PP-StructureV2智能文檔分析系統(tǒng),開發(fā)了一款PDF轉(zhuǎn)Word軟件,導(dǎo)入PDF文件可一鍵轉(zhuǎn)換為可編輯Word,支持文字、表格、標(biāo)題、圖片的完整恢復(fù),實(shí)現(xiàn)PDF編輯自由!
圖1 PDF文件轉(zhuǎn)Word文件效果圖
軟件的使用十分簡單,下載后解壓exe文件,打開圖片或PDF文件,點(diǎn)擊轉(zhuǎn)換后可對圖片型PDF文件進(jìn)行OCR識別得到Word文件,或者通過PDF解析功能直接獲得轉(zhuǎn)換后的Word。
圖2 PDF文件轉(zhuǎn)Word文件操作流程演示而支持如此強(qiáng)大功能的核心技術(shù)是來源于飛槳文字識別套件PaddleOCR全新發(fā)布的PP-StructureV2智能文檔分析系統(tǒng),其中升級點(diǎn)包括以下2方面:
系統(tǒng)功能升級 :新增圖像矯正和版面復(fù)原模塊,支持標(biāo)準(zhǔn)格式pdf和圖片格式pdf解析!
系統(tǒng)性能優(yōu)化 :
版面分析:發(fā)布輕量級版面分析模型,速度提升11倍,平均CPU耗時(shí)僅需41ms!
表格識別:設(shè)計(jì)3大優(yōu)化策略,預(yù)測耗時(shí)不變情況下,模型精度提升6%。
關(guān)鍵信息抽?。涸O(shè)計(jì)視覺無關(guān)模型結(jié)構(gòu),語義實(shí)體識別精度提升2.8%,關(guān)系抽取精度提升超過9.1%。
GitHub傳送門:https://github.com/PaddlePaddle/PaddleOCR
??軟件下載鏈接見第4節(jié)??
2.PP-StructureV2
智能文檔分析系統(tǒng)優(yōu)化策略概述
PP-StructureV2系統(tǒng)流程圖如下所示,文檔圖像首先經(jīng)過圖像矯正模塊,判斷整圖方向并完成轉(zhuǎn)正,隨后可以完成版面信息分析與關(guān)鍵信息抽取2類任務(wù)。
圖3 PP-StructureV2系統(tǒng)流程圖
從算法改進(jìn)思路來看,對系統(tǒng)中的3個(gè)關(guān)鍵子模塊,共進(jìn)行了8個(gè)方面的改進(jìn):
☆版面分析
PP-PicoDet:輕量級版面分析模型
FGD:兼顧全局與局部特征的模型蒸餾算法
☆表格識別
PP-LCNet: CPU友好型輕量級骨干網(wǎng)絡(luò)
CSP-PAN:輕量級高低層特征融合模塊
SLAHead:結(jié)構(gòu)與位置信息對齊的特征解碼模塊
☆關(guān)鍵信息抽取
VI-LayoutXLM:視覺特征無關(guān)的多模態(tài)預(yù)訓(xùn)練模型結(jié)構(gòu)
TB-YX:考慮閱讀順序的文本行排序邏輯
UDML:聯(lián)合互學(xué)習(xí)知識蒸餾策略
最終,與PP-StructureV1相比:
版面分析模型參數(shù)量減少95%,推理速度提升11倍,精度提升0.4%;
表格識別預(yù)測耗時(shí)不變,模型精度提升6%,端到端TEDS提升2%;
關(guān)鍵信息抽取模型速度提升2.8倍,語義實(shí)體識別模型精度提升2.8%;關(guān)系抽取模型精度提升9.1%。
具體的改進(jìn)策略解讀請參考本文最后一節(jié)
3.PP-StructureV2
智能文檔分析系統(tǒng)整體介紹
3.1 版面分析與恢復(fù)
版面分析指的是對圖片形式的文檔進(jìn)行區(qū)域劃分,定位其中的關(guān)鍵區(qū)域,如文字、標(biāo)題、表格、圖片等。在PP-StructureV1中,使用了PaddleDetection中開源的高效檢測算法PP-YOLOv2完成版面分析的任務(wù)。在PP-StructureV2中,我們發(fā)布基于PP-PicoDet的輕量級版面分析模型,針對版面分析場景定制圖像尺度,同時(shí)使用FGD知識蒸餾算法,進(jìn)一步提升模型精度,最終CPU上41ms即可完成版面分析。
圖4 版面分析效果圖(分類為文字、圖片、表格、圖注、標(biāo)注等)
3.2 表格識別
基于深度學(xué)習(xí)的表格識別算法種類豐富,PP-StructureV1基于文本識別算法RARE研發(fā)了端到端表格識別算法TableRec-RARE,模型輸出為表格結(jié)構(gòu)的HTML表示,進(jìn)而可以方便地轉(zhuǎn)化為Excel文件。TableRec-RARE中,圖像輸入到骨干網(wǎng)絡(luò)后會得到四個(gè)不同尺度的特征圖,分別為C2(1/4),C3(1/8),C4(1/16),C5(1/32),Head特征解碼模塊將C5作為輸入,并輸出表格結(jié)構(gòu)信息和單元格坐標(biāo)。
本次升級過程中,我們對模型結(jié)構(gòu)和損失函數(shù)等5個(gè)方面進(jìn)行升級,提出了 SLANet (Structure Location Alignment Network) ,模型結(jié)構(gòu)如下圖所示,詳細(xì)解讀請參考技術(shù)報(bào)告。
圖5 SLANet模型結(jié)構(gòu)圖
可視化結(jié)果如下,左為輸入圖像[1],右為識別的HTML表格結(jié)果
圖6 可視化結(jié)果
在PubtabNet英文表格識別數(shù)據(jù)集上,和其他方法對比如下。SLANet平衡精度與模型大小,推理速度最快,能夠適配更多應(yīng)用場景:
表1 SLANet模型與其他模型效果對比
策略
Acc
TEDS
推理速度(CPU+MKLDNN)
模型大小
TableMaster
77.9%
96.12%
2144ms
253M
TableRec-RARE
73.8%
95.3%
1550ms
8.7M
SLANet
76.31%
95.89%
766ms
9.2M
測試環(huán)境:飛槳版本為2.3.1,CPU為Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz,開啟mkldnn,線程數(shù)為10。
3.3關(guān)鍵信息抽取
關(guān)鍵信息抽取指的是針對文檔圖像的文字內(nèi)容,提取出用戶關(guān)注的關(guān)鍵信息,如身份證中的姓名、住址等字段。PP-Structure中支持了基于多模態(tài)LayoutLM系列模型的語義實(shí)體識別 (Semantic Entity Recognition, SER) 以及關(guān)系抽取 (Relation Extraction, RE) 任務(wù)。PP-StructureV2中,我們對模型結(jié)構(gòu)以及下游任務(wù)訓(xùn)練方法進(jìn)行升級,提出了VI-LayoutXLM(Visual-feature Independent LayoutXLM),具體流程圖如下所示。
圖7 關(guān)鍵信息抽取流程圖
圖8 語義實(shí)體識別與關(guān)系抽取效果圖[2]
在XFUND數(shù)據(jù)集上,與其他方法的效果對比如下所示。
表2 VI-LayoutXLM模型與其他模型效果對比
模型
SER Hmean
RE Hmean
LayoutLMv2-base
85.44%
67.77%
LayoutXLM-base
89.24%
70.73%
StrucTexT-large
92.29%
86.81%
VI-LayoutXLM-base (ours)
93.19%
83.92%
4.加入PaddleOCR
技術(shù)交流群
本次更新除了PP-Structure的升級以外,PaddleOCR團(tuán)隊(duì)對PP-OCRv3模型也進(jìn)行了面向前端場景的適配升級,并提供了開箱即用的網(wǎng)頁版demo和小程序demo,整體系統(tǒng)存儲從12.3M壓縮至4.3M,在Mac-M1機(jī)器上使用chrome瀏覽器測試推理速度僅需350ms,流暢度顯著升級,相比舊版本模型壓縮65%,預(yù)測速度提升87.5%。歡迎大家試用!
☆入群福利
獲取PDF轉(zhuǎn)Word應(yīng)用程序下載鏈接;
獲取PaddleOCR詳解PP-StructureV2直播課鏈接。
獲取PaddleOCR團(tuán)隊(duì)整理的20G重磅OCR學(xué)習(xí)大禮包,包括:
《動手學(xué)OCR》電子書,配套講解視頻和Notebook項(xiàng)目;
OCR場景應(yīng)用集合:包含數(shù)碼管、液晶屏、車牌、高精度SVTR模型等10個(gè)垂類模型,覆蓋通用,制造、金融、交通行業(yè)的主要OCR垂類應(yīng)用;
PaddleOCR歷次發(fā)版直播課視頻;
OCR社區(qū)優(yōu)秀開發(fā)者項(xiàng)目分享視頻。
☆入群方式
微信掃描下方二維碼,關(guān)注公眾號,填寫問卷后進(jìn)入微信群
查看群公告領(lǐng)取福利
更多閱讀
飛槳官網(wǎng):https://www.paddlepaddle.org.cn
PaddleOCR項(xiàng)目地址:
GitHub: https://github.com/PaddlePaddle/PaddleOCR
Gitee: https://gitee.com/paddlepaddle/PaddleOCR
PP-StructureV2技術(shù)報(bào)告:https://arxiv.org/abs/2210.05391v2
附.PP-StructureV2
核心8種優(yōu)化策略詳細(xì)解讀
☆版面分析
PP-PicoDet:輕量級版面分析模型
PaddleDetection中提出了全新的輕量級系列模型PP-PicoDet,通過使用ESNet骨干網(wǎng)絡(luò)、CSP-PAN特征融合模塊、SimOTA標(biāo)簽分配方法等優(yōu)化策略,最終在CPU與移動端具有卓越的性能。本次版面分析模型使用PP-PicoDet進(jìn)行優(yōu)化,同時(shí)針對版面分析場景優(yōu)化預(yù)測尺度,最終相比PP-StructureV1版面分析模型,精度提升0.6%,模型速度提升9倍。
FGD:兼顧全局與局部特征的模型蒸餾算法
FGD(Focal and Global Knowledge Distillation for Detectors),是一種兼顧局部全局特征信息的模型蒸餾方法,分為Focal蒸餾和Global蒸餾2個(gè)部分。Focal蒸餾分離圖像的前景和背景,讓學(xué)生模型分別關(guān)注教師模型的前景和背景部分特征的關(guān)鍵像素;Global蒸餾部分重建不同像素之間的關(guān)系并將其從教師轉(zhuǎn)移到學(xué)生,以補(bǔ)償Focal蒸餾中丟失的全局信息。版面分析實(shí)驗(yàn)結(jié)果表明,F(xiàn)GD蒸餾算法能夠進(jìn)一步提升模型精度。
☆表格識別
PP-LCNet: CPU友好型輕量級骨干網(wǎng)絡(luò)
PP-LCNet是結(jié)合Intel-CPU端側(cè)推理特性而設(shè)計(jì)的輕量高性能骨干網(wǎng)絡(luò),在圖像分類任務(wù)上,該方案在“精度-速度”均衡方面的表現(xiàn)比ShuffleNetV2、MobileNetV3、GhostNet等輕量級模型更優(yōu)。PP-StructureV2中,我們采用PP-LCNet作為骨干網(wǎng)絡(luò),表格識別模型精度從71.73%提升至72.98%;同時(shí)加載通過SSLD知識蒸餾方案訓(xùn)練得到的圖像分類模型權(quán)重作為表格識別的預(yù)訓(xùn)練模型,最終精度進(jìn)一步提升2.95%至74.71%。
CSP-PAN:輕量級高低層特征融合模塊
對骨干網(wǎng)絡(luò)提取的特征進(jìn)行融合,可以有效解決尺度變化較大等復(fù)雜場景中的模型預(yù)測問題。早期,F(xiàn)PN模塊被提出并用于特征融合,但是它的特征融合過程僅包含單向(高->低),融合不夠充分。CSP-PAN基于PAN進(jìn)行改進(jìn),在保證特征融合更為充分的同時(shí),使用CSP block、深度可分離卷積等策略減小了計(jì)算量。在表格識別場景中,我們進(jìn)一步將CSP-PAN的通道數(shù)從128降低至96以降低模型大小。最終表格識別模型精度提升0.97%至75.68%,預(yù)測速度提升10%。
SLAHead:結(jié)構(gòu)與位置信息對齊的特征解碼模塊
PP-StructureV2中,我們設(shè)計(jì)SLAHead模塊,對單元格token和坐標(biāo)之間做了對齊操作,如下圖b所示。在SLAHead中,每一個(gè)step的隱藏層狀態(tài)表征會分別送入SDM和CLDM來得到當(dāng)前step的token和坐標(biāo),每個(gè)step的token和坐標(biāo)輸出分別進(jìn)行concat得到表格的html表達(dá)和全部單元格的坐標(biāo)。此外,我們在結(jié)構(gòu)與回歸分支使用更多的全連接層,增加二者特征的區(qū)分度。
☆關(guān)鍵信息抽取VI-LayoutXLM:視覺特征無關(guān)的多模態(tài)預(yù)訓(xùn)練模型結(jié)構(gòu)
LayoutLMv2以及LayoutXLM中引入視覺骨干網(wǎng)絡(luò),用于提取視覺特征,并與后續(xù)的text embedding進(jìn)行聯(lián)合,作為多模態(tài)的輸入embedding。但是該模塊為基于ResNet_x101_64x4d的特征提取網(wǎng)絡(luò),特征抽取階段耗時(shí)嚴(yán)重,因此我們將其去除,同時(shí)仍然保留文本、位置以及布局等信息,最終發(fā)現(xiàn)針對LayoutXLM進(jìn)行改進(jìn),下游SER任務(wù)精度無損,針對LayoutLMv2進(jìn)行改進(jìn),下游SER任務(wù)精度僅降低2.1%,而模型大小減小了約340M。具體消融實(shí)驗(yàn)可以參考技術(shù)報(bào)告。
TB-YX:考慮閱讀順序的文本行排序邏輯
文本閱讀順序?qū)τ谛畔⒊槿∨c文本理解等任務(wù)至關(guān)重要,傳統(tǒng)多模態(tài)模型中,沒有考慮不同OCR工具可能產(chǎn)生的不正確閱讀順序,而模型輸入中包含位置編碼,閱讀順序會直接影響預(yù)測結(jié)果,在預(yù)處理中,我們對文本行按照從上到下,從左到右(YX)的順序進(jìn)行排序,為防止文本行位置輕微干擾帶來的排序結(jié)果不穩(wěn)定問題,在排序的過程中,引入位置偏移閾值Th,對于Y方向距離小于Th的2個(gè)文本內(nèi)容,使用X方向的位置從左到右進(jìn)行排序。
UDML:聯(lián)合互學(xué)習(xí)知識蒸餾策略
UDML(Unified-Deep Mutual Learning)聯(lián)合互學(xué)習(xí)是PP-OCRv2與PP-OCRv3中采用的對于文本識別非常有效的提升模型效果的策略。在訓(xùn)練時(shí),引入2個(gè)完全相同的模型進(jìn)行互學(xué)習(xí),計(jì)算2個(gè)模型之間的互蒸餾損失函數(shù)(DML loss),同時(shí)對transformer中間層的輸出結(jié)果計(jì)算距離損失函數(shù)(L2 loss)。使用該策略,最終XFUND數(shù)據(jù)集上,SER任務(wù)F1指標(biāo)提升0.6%,RE任務(wù)F1指標(biāo)提升5.01%。
圖片來源:
[1] 圖片源于網(wǎng)絡(luò)
[2] XFUN數(shù)據(jù)集:Xu Y, Lv T, Cui L, et al. XFUND: A Benchmark Dataset for Multilingual Visually Rich Form Understanding[C]//Findings of the Association for Computational Linguistics: ACL 2022. 2022: 3214-3224.