導(dǎo) 讀
OCR方向的工程師,之前一定聽說過PaddleOCR這個項目,
累計Star數(shù)量已超過20000+,
頻頻登上GitHubTrending和Paperswithcode日榜月榜第一,
在Medium與Papers with Code 聯(lián)合評選的《Top Trending Libraries of 2021》,從百萬量級項目中脫穎而出,榮登Top10!
在《2021中國開源年度報告》中被評為活躍度Top5!
稱它為OCR方向目前最火的repo絕對不為過。
PaddleOCR影響力
PP-OCRv3效果
本次PaddleOCR最新發(fā)版,帶來四大重磅升級,包括:
一、發(fā)布超輕量OCR系統(tǒng)PP-OCRv3:中英文、純英文以及多語言場景精度再提升5% - 11%!
二、發(fā)布半自動標(biāo)注工具PPOCRLabelv2:新增表格文字圖像、圖像關(guān)鍵信息抽取任務(wù)和不規(guī)則文字圖像的標(biāo)注功能。
三、發(fā)布OCR產(chǎn)業(yè)落地工具集:打通22種訓(xùn)練部署軟硬件環(huán)境與方式,覆蓋企業(yè)90%的訓(xùn)練部署環(huán)境需求。
四、發(fā)布業(yè)界首個交互式OCR開源電子書《動手學(xué)OCR》,覆蓋OCR全棧技術(shù)的前沿理論與代碼實踐,并配套教學(xué)視頻。
傳送門:https://github.com/PaddlePaddle/PaddleOCR
下面我們就對上述升級依次進行說明:
01PP-OCRv3優(yōu)化策略詳細解讀
PP-OCR是PaddleOCR團隊自研的超輕量OCR系統(tǒng),面向OCR產(chǎn)業(yè)應(yīng)用,權(quán)衡精度與速度。近期,PaddleOCR團隊針對PP-OCRv2的檢測模塊和識別模塊,進行共計9個方面的升級,打造出一款全新的、效果更優(yōu)的超輕量OCR系統(tǒng):PP-OCRv3。
從效果上看,速度可比情況下,多種場景精度均有大幅提升:
1.中文場景,相比于PP-OCRv2中文模型提升超5%;
2.英文數(shù)字場景,相比于PP-OCRv2英文數(shù)字模型提升11%;
3.多語言場景,優(yōu)化80+語種識別效果,平均準確率提升超5%。
全新升級的PP-OCRv3的整體框架圖(粉色框中為PP-OCRv3新增策略)如下圖。檢測模塊仍基于DB算法優(yōu)化,而識別模塊不再采用CRNN,更新為IJCAI 2022最新收錄的文本識別算法SVTR (論文名稱:SVTR: Scene Text Recognition with a Single Visual Model),并對其進行產(chǎn)業(yè)適配。
具體的優(yōu)化策略包括:
1.檢測模塊
●LK-PAN:大感受野的PAN結(jié)構(gòu)
●DML:教師模型互學(xué)習(xí)策略
●RSE-FPN:殘差注意力機制的FPN結(jié)構(gòu)
2.識別模塊
●SVTR_LCNet:輕量級文本識別網(wǎng)絡(luò)
●GTC:Attention指導(dǎo)CTC訓(xùn)練策略
●TextConAug:挖掘文字上下文信息的數(shù)據(jù)增廣策略
●TextRotNet:自監(jiān)督的預(yù)訓(xùn)練模型
●UDML:聯(lián)合互學(xué)習(xí)策略
●UIM:無標(biāo)注數(shù)據(jù)挖掘方案
優(yōu)化策略解讀詳見第六節(jié)。
02PPOCRLabelv2多項重磅更新
PPOCRLabel是首款開源的OCR半自動數(shù)據(jù)標(biāo)注工具,大幅減少開發(fā)者標(biāo)注OCR數(shù)據(jù)的時間。2021年,項目獲得Wave Summit 2021優(yōu)秀開源項目獎、啟智社區(qū)優(yōu)秀項目獎。經(jīng)過一年的更新迭代,PPOCRLabel結(jié)合產(chǎn)業(yè)實際落地需求,正式發(fā)布PPOCRLabelv2,更新內(nèi)容如下:
●新增標(biāo)注類型:表格標(biāo)注、關(guān)鍵信息標(biāo)注、不規(guī)則文字圖像的標(biāo)注(印章、彎曲文本等)
●新增功能:鎖定框、圖像旋轉(zhuǎn)、數(shù)據(jù)集劃分、批量處理等
●易用性提升:新增whl包安裝、以及優(yōu)化多處標(biāo)注體驗
表格標(biāo)注動圖、KIE標(biāo)注動圖(橫向拉動)
03OCR產(chǎn)業(yè)落地工具集
考慮到真實產(chǎn)業(yè)應(yīng)用面對的各種軟硬件環(huán)境和不同的場景需求,基于飛槳訓(xùn)推一體的功能完備,本次升級發(fā)布OCR產(chǎn)業(yè)落地工具集,打通22種訓(xùn)練部署軟硬件環(huán)境與方式,包括3種訓(xùn)練方式、6種訓(xùn)練環(huán)境、3種模型壓縮策略、和10種推理部署方式,如下表所示:
其中特色能力如下:
1.分布式訓(xùn)練:飛槳分布式訓(xùn)練架構(gòu)具備4D混合并行、端到端自適應(yīng)分布式訓(xùn)練等多項特色技術(shù)。在PP-OCRv3識別模型訓(xùn)練中,4機加速比達到3.52倍,精度幾乎無損。
2.模型壓縮:飛槳模型壓縮工具PaddleSlim功能完備,覆蓋模型裁剪、量化、蒸餾和NAS。PP-OCR模型經(jīng)過裁剪量化后,模型大小從8.1M壓縮至3.5M,移動端平均預(yù)測耗時減少36%。
3.服務(wù)化部署:飛槳服務(wù)化部署引擎Paddle Serving,提供性能優(yōu)越、功能可靠的模型即服務(wù)能力。針對PP-OCR模型的服務(wù)化部署,采用全異步的Pipeline Serving,可將吞吐量提升2倍以上。
4.移動端/邊緣端部署:飛槳輕量化推理引擎Paddle Lite適配了20+ AI 加速芯片,可以快速實現(xiàn)OCR模型在移動設(shè)備、嵌入式設(shè)備和IOT設(shè)備等高效設(shè)備的部署。
5.云上飛槳:面向飛槳框架及其模型套件的部署工具箱,支持 Docker 化部署和 Kubernetes 集群部署兩種方式,滿足不同場景與環(huán)境下OCR模型的訓(xùn)練部署需求。
04《動手學(xué)OCR》電子書
《動手學(xué)OCR》是PaddleOCR團隊攜手華中科技大學(xué)博導(dǎo)/教授,IAPR Fellow 白翔、復(fù)旦大學(xué)青年研究員陳智能、中國移動研究院視覺領(lǐng)域資深專家黃文輝等產(chǎn)學(xué)研同仁,以及OCR開發(fā)者共同打造的結(jié)合OCR前沿理論與代碼實踐的教材。主要特色如下:
●覆蓋從文本檢測識別到文檔分析的OCR全棧技術(shù)
●緊密結(jié)合理論實踐,跨越代碼實現(xiàn)鴻溝,并配套教學(xué)視頻
●Notebook交互式學(xué)習(xí),靈活修改代碼,即刻獲得結(jié)果
06PP-OCRv3優(yōu)化策略詳解 1.檢測模塊優(yōu)化策略
PP-OCRv3檢測模塊對PP-OCRv2中的CML(Collaborative Mutual Learning) 協(xié)同互學(xué)習(xí)文本檢測蒸餾策略進行了升級。如下圖所示,CML的核心思想結(jié)合了①傳統(tǒng)的Teacher指導(dǎo)Student的標(biāo)準蒸餾與 ②Students網(wǎng)絡(luò)之間的DML互學(xué)習(xí),可以讓Students網(wǎng)絡(luò)互學(xué)習(xí)的同時,Teacher網(wǎng)絡(luò)予以指導(dǎo)。PP-OCRv3分別針對教師模型和學(xué)生模型進行進一步效果優(yōu)化。其中,在對教師模型優(yōu)化時,提出了大感受野的PAN結(jié)構(gòu)LK-PAN和引入了DML(Deep Mutual Learning)蒸餾策略;在對學(xué)生模型優(yōu)化時,提出了殘差注意力機制的FPN結(jié)構(gòu)RSE-FPN。消融實驗如下表所示。
測試環(huán)境:Intel Gold 6148 CPU,預(yù)測時開啟MKLDNN加速。
01
LK-PAN:大感受野的PAN結(jié)構(gòu)
LK-PAN (Large Kernel PAN) 是一個具有更大感受野的輕量級PAN結(jié)構(gòu),核心是將PAN結(jié)構(gòu)的path augmentation中卷積核從3*3改為9*9。通過增大卷積核,提升特征圖每個位置覆蓋的感受野,更容易檢測大字體的文字以及極端長寬比的文字。使用LK-PAN結(jié)構(gòu),可以將教師模型的hmean從83.2%提升到85.0%。
02
DML:教師模型互學(xué)習(xí)策略
DML 互學(xué)習(xí)蒸餾方法,通過兩個結(jié)構(gòu)相同的模型互相學(xué)習(xí),可以有效提升文本檢測模型的精度。教師模型采用DML策略, hmean從85%提升到86%。將PP-OCRv2中CML的教師模型更新為上述更高精度的教師模型,學(xué)生模型的hmean可以進一步從83.2%提升到84.3%。
03
RSE-FPN:殘差注意力機制的FPN結(jié)構(gòu)
RSE-FPN(Residual Squeeze-and-Excitation FPN)引入殘差結(jié)構(gòu)和通道注意力結(jié)構(gòu),將FPN中的卷積層更換為帶有殘差結(jié)構(gòu)的通道注意力結(jié)構(gòu)的RSEConv層,進一步提升特征圖的表征能力。進一步將PP-OCRv2中CML的學(xué)生模型的FPN結(jié)構(gòu)更新為RSE-FPN,學(xué)生模型的hmean可以進一步從84.3%提升到85.4%。
2.識別模塊優(yōu)化策略
PP-OCRv3的識別模塊是基于文本識別算法SVTR優(yōu)化。SVTR不再采用RNN結(jié)構(gòu),通過引入Transformers結(jié)構(gòu)更加有效地挖掘文本行圖像的上下文信息,從而提升文本識別能力。直接將PP-OCRv2的識別模型,替換成SVTR_Tiny,識別準確率從74.8%提升到80.1%(+5.3%),但是預(yù)測速度慢了將近11倍,CPU上預(yù)測一條文本行,將近100ms。因此,如下圖所示,PP-OCRv3采用如下6個優(yōu)化策略進行識別模型加速,消融實驗如下表所示。
注:測試速度時,實驗01-03輸入圖片尺寸均為(3,32,320),04-08輸入圖片尺寸均為(3,48,320)。在實際預(yù)測時,圖像為變長輸入,速度會有所變化。測試環(huán)境:Intel Gold 6148 CPU,預(yù)測時開啟MKLDNN加速。
01
SVTR_LCNet:輕量級文本識別網(wǎng)絡(luò)
SVTR_LCNet是針對文本識別任務(wù),將Transformer網(wǎng)絡(luò)和輕量級CNN網(wǎng)絡(luò)PP-LCNet 融合的一種輕量級文本識別網(wǎng)絡(luò)。使用該網(wǎng)絡(luò),并且將輸入圖片規(guī)范化高度從32提升到48,預(yù)測速度可比情況下,識別準確率達到73.98%,接近PP-OCRv2采用蒸餾策略的識別模型效果。
02
GTC:Attention指導(dǎo)CTC訓(xùn)練策略
GTC(Guided Training of CTC),利用Attention指導(dǎo)CTC訓(xùn)練,融合多種文本特征的表達,是一種有效的提升文本識別的策略。使用該策略,識別模型的準確率進一步提升到75.8%(+1.82%)。
03
TextConAug:挖掘文字上下文信息的數(shù)據(jù)增廣策略
TextConAug是一種挖掘文字上下文信息的數(shù)據(jù)增廣策略,可以豐富訓(xùn)練數(shù)據(jù)上下文信息,提升訓(xùn)練數(shù)據(jù)多樣性。使用該策略,識別模型的準確率進一步提升到76.3%(+0.5%)。
04
TextRotNet:自監(jiān)督的預(yù)訓(xùn)練模型
TextRotNet是使用大量無標(biāo)注的文本行數(shù)據(jù),通過自監(jiān)督方式訓(xùn)練的預(yù)訓(xùn)練模型。該模型可以初始化SVTR_LCNet的初始權(quán)重,從而幫助文本識別模型收斂到更佳位置。使用該策略,識別模型的準確率進一步提升到76.9%(+0.6%)。
05
聯(lián)合互學(xué)習(xí)策略
UDML(Unified-Deep Mutual Learning)聯(lián)合互學(xué)習(xí)是PP-OCRv2中就采用的對于文本識別非常有效的提升模型效果的策略。在PP-OCRv3中,針對兩個不同的SVTR_LCNet和Attention結(jié)構(gòu),對他們之間的PP-LCNet的特征圖、SVTR模塊的輸出和Attention模塊的輸出同時進行監(jiān)督訓(xùn)練。使用該策略,識別模型的準確率進一步提升到78.4%(+1.5%)。
06
無標(biāo)注數(shù)據(jù)挖掘方案
UIM(Unlabeled Images Mining)是一種非常簡單的無標(biāo)注數(shù)據(jù)挖掘方案。核心思想是利用高精度的文本識別大模型對無標(biāo)注數(shù)據(jù)進行預(yù)測,獲取偽標(biāo)簽,并且選擇預(yù)測置信度高的樣本作為訓(xùn)練數(shù)據(jù),用于訓(xùn)練小模型。使用該策略,識別模型的準確率進一步提升到79.4%(+1%)。
經(jīng)過上述文本檢測和文本識別9個方面的優(yōu)化,最終PP-OCRv3在速度可比情況下,在中文場景端到端Hmean指標(biāo)相比于PP-OCRv2提升5%,效果大幅提升。具體指標(biāo)如下表所示:
在英文數(shù)字場景,基于PP-OCRv3單獨訓(xùn)練的英文數(shù)字模型,相比于PP-OCRv2的英文數(shù)字模型提升11%,如下表所示。
在多語言場景,基于PP-OCRv3訓(xùn)練的模型,在有評估集的四種語系,相比于PP-OCRv2,識別準確率平均提升5%以上,如下表所示。同時,PaddleOCR團隊基于PP-OCRv3更新了已支持的80余種語言識別模型。
審核編輯 :李倩
-
模塊
+關(guān)注
關(guān)注
7文章
2707瀏覽量
47476 -
OCR
+關(guān)注
關(guān)注
0文章
144瀏覽量
16364
原文標(biāo)題:GitHub star 20000+,這個項目價值百萬
文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論