博客專欄

        EEPW首頁 > 博客 > 王炸:這個GitHub 20000+ Star的OCR項目迎來四大重磅升級

        王炸:這個GitHub 20000+ Star的OCR項目迎來四大重磅升級

        發布人:機器之心 時間:2022-05-15 來源:工程師 發布文章

        PaddleOCR 可稱得上 OCR 方向目前最火的 repo。


        OCR 方向的工程師,之前一定聽說過 PaddleOCR 這個項目,累計 Star 數量已超過 20000+,頻頻登上 GitHub Trending 和 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://www.paddlepaddle.org.cn

        Gitee: https://gitee.com/paddlepaddle/PaddleOCR

        GitHub:https://github.com/PaddlePaddle/PaddleOCR


        下面我們就對上述升級依次進行說明:
        一、PP-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:無標注數據挖掘方案


        優化策略解讀詳見 “第六節:PP-OCRv3 優化策略詳解”。
        二、PPOCRLabelv2 多項重磅更新
        PPOCRLabel 是首款開源的 OCR 半自動數據標注工具,大幅減少開發者標注 OCR 數據的時間。2021 年,項目獲得 Wave Summit 2021 優秀開源項目獎、啟智社區優秀項目獎。經過一年的更新迭代,PPOCRLabel 結合產業實際落地需求,正式發布 PPOCRLabelv2,更新內容如下:

        • 新增標注類型:表格標注、關鍵信息標注、不規則文字圖像的標注(印章、彎曲文本等)

        • 新增功能:鎖定框、圖像旋轉、數據集劃分、批量處理等

        • 易用性提升:新增 whl 包安裝、以及優化多處標注體驗


        圖片


        圖片


        圖片


        圖片

        從上到下依次為表格標注、KIE 標注、不規則文字圖像的標注以及圖像旋轉、批處理、撤銷。
        三、OCR 產業落地工具集
        考慮到真實產業應用面對的各種軟硬件環境和不同的場景需求,基于飛槳訓推一體的功能完備,本次升級發布 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 模型的訓練部署需求。
        除了以上三項重大升級外,此次發布的開源電子書《動手學 OCR》由 PaddleOCR 團隊、復旦大學青年研究員陳智能、中國移動研究院視覺領域資深專家黃文輝以及廣大 OCR 開發者共同打造,覆蓋了從文本檢測識別到文檔分析的 OCR 全棧技術。
        四、PP-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 加速。
        (1)LK-PAN:大感受野的 PAN 結構
        LK-PAN (Large Kernel PAN) 是一個具有更大感受野的輕量級 PAN 結構,核心是將 PAN 結構的 path augmentation 中卷積核從 3*3 改為 9*9。通過增大卷積核,提升特征圖每個位置覆蓋的感受野,更容易檢測大字體的文字以及極端長寬比的文字。使用 LK-PAN 結構,可以將教師模型的 hmean 從 83.2% 提升到 85.0%。
        (2)DML:教師模型互學習策略
        DML 互學習蒸餾方法,通過兩個結構相同的模型互相學習,可以有效提升文本檢測模型的精度。教師模型采用 DML 策略, hmean 從 85% 提升到 86%。將 PP-OCRv2 中 CML 的教師模型更新為上述更高精度的教師模型,學生模型的 hmean 可以進一步從 83.2% 提升到 84.3%。
        (3)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 加速。

        圖片


        (1)SVTR_LCNet:輕量級文本識別網絡
        SVTR_LCNet 是針對文本識別任務,將 Transformer 網絡和輕量級 CNN 網絡 PP-LCNet 融合的一種輕量級文本識別網絡。使用該網絡,并且將輸入圖片規范化高度從 32 提升到 48,預測速度可比情況下,識別準確率達到 73.98%,接近 PP-OCRv2 采用蒸餾策略的識別模型效果。
        (2)GTC:Attention 指導 CTC 訓練策略
        GTC(Guided Training of CTC),利用 Attention 指導 CTC 訓練,融合多種文本特征的表達,是一種有效的提升文本識別的策略。使用該策略,識別模型的準確率進一步提升到 75.8%(+1.82%)。
        (3)TextConAug:挖掘文字上下文信息的數據增廣策略
        TextConAug 是一種挖掘文字上下文信息的數據增廣策略,可以豐富訓練數據上下文信息,提升訓練數據多樣性。使用該策略,識別模型的準確率進一步提升到 76.3%(+0.5%)。
        (4)TextRotNet:自監督的預訓練模型
        TextRotNet 是使用大量無標注的文本行數據,通過自監督方式訓練的預訓練模型。該模型可以初始化 SVTR_LCNet 的初始權重,從而幫助文本識別模型收斂到更佳位置。使用該策略,識別模型的準確率進一步提升到 76.9%(+0.6%)。
        (5)UDML:聯合互學習策略
        UDML(Unified-Deep Mutual Learning)聯合互學習是 PP-OCRv2 中就采用的對于文本識別非常有效的提升模型效果的策略。在 PP-OCRv3 中,針對兩個不同的 SVTR_LCNet 和 Attention 結構,對他們之間的 PP-LCNet 的特征圖、SVTR 模塊的輸出和 Attention 模塊的輸出同時進行監督訓練。使用該策略,識別模型的準確率進一步提升到 78.4%(+1.5%)。
        (6)UIM:無標注數據挖掘方案
        UIM(Unlabeled Images Mining)是一種非常簡單的無標注數據挖掘方案。核心思想是利用高精度的文本識別大模型對無標注數據進行預測,獲取偽標簽,并且選擇預測置信度高的樣本作為訓練數據,用于訓練小模型。使用該策略,識別模型的準確率進一步提升到 79.4%(+1%)。
        3. 整體效果對比
        經過上述文本檢測和文本識別 9 個方面的優化,最終 PP-OCRv3 在速度可比情況下,在中文場景端到端 Hmean 指標相比于 PP-OCRv2 提升 5%,效果大幅提升。具體指標如下表所示:

        圖片


        在英文數字場景,基于 PP-OCRv3 單獨訓練的英文數字模型,相比于 PP-OCRv2 的英文數字模型提升 11%,如下表所示。

        圖片


        在多語言場景,基于 PP-OCRv3 訓練的模型,在有評估集的四種語系,相比于 PP-OCRv2,識別準確率平均提升 5% 以上,如下表所示。同時,PaddleOCR 團隊基于 PP-OCRv3 更新了已支持的 80 余種語言識別模型。

        圖片


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: AI

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 苏尼特左旗| 江西省| 淅川县| 白朗县| 湘乡市| 岳西县| 临颍县| 博客| 岱山县| 工布江达县| 南通市| 德阳市| 都匀市| 尼木县| 手游| 江永县| 兰州市| 库车县| 沅江市| 阳朔县| 利川市| 云梦县| 句容市| 图片| 都江堰市| 进贤县| 紫云| 新密市| 龙口市| 合作市| 永康市| 瑞丽市| 平定县| 聂荣县| 右玉县| 肇东市| 汶川县| 赤峰市| 进贤县| 淮滨县| 青川县|