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