fffff吊打一切現有開源OCR專案:效果再升7%,速度提升220%
阿新 • • 發佈:2021-09-08
https://mp.weixin.qq.com/s/F60ehahMc0roRe0fy3Y58Q
吊打一切現有開源OCR專案:效果再升7%,速度提升220%
關注公眾號,發現CV技術之美
OpenCV中文網 OpenCV技術佈道,CV實用教程,業界前沿資訊 公眾號
壹、導讀
OCR方向的工程師,之前一定聽說過PaddleOCR這個專案,其主要推薦的PP-OCR演算法更是被國內外企業開發者廣泛應用,短短半年時間,累計Star數量已超過15k,頻頻登上GithubTrending和Paperswithcode日榜月榜第一,在《Github 2020數字洞察報告》中被評為中國GithubTop20活躍專案
-
檢測模型優化:採用CML協同互學習知識蒸餾策略;
-
檢測模型優化:CopyPaste資料增廣策略;
-
識別模型優化:LCNet輕量級骨幹網路;
-
識別模型優化:UDML 改進知識蒸餾策略;
-
識別模型優化:Enhanced CTC loss損失函式改進。
-
在模型效果上,相對於PP-OCR mobile版本提升超7%;
-
在速度上,相對於PP-OCR server版本提升超過220%;
-
在模型大小上,11.6M的總大小,伺服器端和移動端都可以輕鬆部署。
-
GitHub專案:https://github.com/PaddlePaddle/PaddleOCR
-
Arxiv文章地址:https://arxiv.org/abs/2109.03144
貳、PaddleOCR歷史表現回顧
2020年6月,8.6M超輕量模型釋出,GitHub Trending 全球趨勢榜日榜第一。
2020年8月,開源CVPR2020頂會演算法,再上GitHub趨勢榜單!
2020年10月,釋出PP-OCR演算法,開源3.5M超超輕量模型,再上Paperswithcode 趨勢榜第一!
2021年1月,釋出Style-Text文字合成演算法和PPOCRLabel資料標註工具,star數量突破10000+,在《Github 2020數字洞察報告》中被評為中國Github Top20活躍專案。
2021年4月,開源AAAI頂會論文PGNet端到端識別演算法,Star突破13k。
2021年8月,開源版面分析與表格識別演算法PP-Structure,Star突破15k。
2021年9月,釋出PP-OCRv2演算法,效果和速度再升級。
叄、PaddleOCR開源能力速覽
★ 通用文字檢測識別效果:支援通用場景下的OCR文字快速檢測識別
★文字合成工具Style-Text效果:相比於傳統的資料合成演算法,Style-Text可以實現特殊背景下的圖片風格遷移,只需要少許目標場景影象,就可以合成大量資料,效果展示如下:
★ 半自動標註工具PPOCRLabel:通過內建高質量的PP-OCR中英文超輕量預訓練模型,可以實現OCR資料的高效標註。CPU機器執行也是完全沒問題的。用法也是非常的簡單,標註效率提升60%-80%是妥妥的,效果演示如下:
★文件結構分析+表格提取PP-Structure:可以對文件圖片中的文字、表格、圖片、標題與列表區域進行分類,還可以利用表格識別技術完整地提取表格結構資訊,使得表格圖片變為可編輯的Excel檔案。
★核心能力全部可以自定義訓練,動靜統一的開發體驗
動態圖和靜態圖是深度學習框架常用的兩種模式。在動態圖模式下,程式碼編寫執行方式符合Python程式設計師的習慣,易於除錯,但在效能方面, Python執行開銷較大,與C++有一定差距。相比動態圖,靜態圖在部署方面更具有效能的優勢。靜態圖程式在編譯執行時,預先搭建好的神經網路可以脫離Python依賴,在C++端被重新解析執行,而且擁有整體網路結構也能進行一些網路結構的優化。
PaddleOCR依賴飛槳核心框架動靜統一的能力,支援使用者使用動態圖編寫組網程式碼。預測部署時,飛槳會對使用者程式碼進行分析,自動轉換為靜態圖網路結構,兼顧了動態圖易用性和靜態圖部署效能兩方面優勢。傳送門:Github:https://github.com/PaddlePaddle/PaddleOCR那麼最近的2021年9月份更新,PaddleOCR又給大家帶來哪些驚喜呢?
肆、PP-OCRv2五大關鍵技術點深入解讀:
全新升級的PP-OCRv2版本,整體的框架圖保持了與PP-OCR相同的Pipeline,如下圖所示。
在優化策略方面,主要從五個角度進行了深入優化(如上圖紅框所示),主要包括:
-
檢測模型優化:採用CML知識蒸餾策略
-
檢測模型優化:CopyPaste資料增廣策略
-
識別模型優化:LCNet輕量級骨幹網路
-
識別模型優化:UDML 知識蒸餾策略
-
識別模型優化:Enhanced CTC loss 改進
下面展開詳細介紹:
★檢測模型優化:採用CML (Collaborative Mutual Learning)協同互學習知識蒸餾策略。
如上圖所示,CML的核心思想結合了①傳統的Teacher指導Student的標準蒸餾與 ②Students網路直接的DML互學習,可以讓Students網路互學習的同時,Teacher網路予以指導。對應的,精心設計關鍵的三個Loss損失函式:GT Loss、DML Loss和Distill Loss,在Teacher網路Backbone為ResNet18的條件下,對Student的MobileNetV3起到了良好的提升效果。
★ 檢測模型優化:CopyPaste資料增廣策略
資料增廣是提升模型泛化能力重要的手段之一,CopyPaste 是一種新穎的資料增強技巧,已經在目標檢測和例項分割任務中驗證了有效性。利用CopyPaste,可以合成文字例項來平衡訓練影象中的正負樣本之間的比例。相比而言,傳統影象旋轉、隨機翻轉和隨機裁剪是無法做到的。
CopyPaste主要步驟包括:①隨機選擇兩幅訓練影象,②隨機尺度抖動縮放,③隨機水平翻轉,④隨機選擇一幅影象中的目標子集,⑤貼上在另一幅影象中隨機的位置。這樣,就比較好的提升了樣本豐富度,同時也增加了模型對環境魯棒性。
經過以上兩個檢測方向的優化策略,PP-OCRv2檢測部分的實驗效果如下:★ 識別模型優化:LCNet輕量級骨幹網路
這裡,PP-OCRv2的研發團隊提出了一種基於MobileNetV1改進的新的骨幹網路LCNet,主要的改動包括:①除SE模組,網路中所有的relu替換為h-swish,精度提升1%-2%②LCNet第五階段,DW的kernel size變為5x5,精度提升0.5%-1%③LCNet第五階段的最後兩個DepthSepConv block新增SE模組, 精度提升0.5%-1%④GAP後新增1280維的FC層,增加特徵表達能力,精度提升2%-3%
★識別模型優化:UDML 知識蒸餾策略
在標準的DML知識蒸餾的基礎上,新增引入了對於Feature Map的監督機制,新增Feature Loss,增加迭代次數,在Head部分增加額外的FC網路,最終加快蒸餾的速度同時提升效果。
★識別模型優化:Enhanced CTC loss 改進
考慮到中文OCR任務經常遇到的識別難點是相似字元數太多,容易誤識,借鑑Metric Learning的想法,引入Center Loss,進一步增大類間距離,核心思路如上圖公式所示。經過以上三個識別方向的優化策略,PP-OCRv2識別部分的實驗效果如下:經過以上五個方向的優化,最終PP-OCRv2僅以少量模型大小增加的代價,全面超越PP-OCR,取得了良好的效果。
伍、良心出品的中英文文件教程
隨著本次PP-OCRv2升級,PaddleOCR的專案文件也全面升級,結構更清晰,內容更豐富,
別的不需要多說了,大家訪問GitHub點過star之後自己體驗吧:
https://github.com/PaddlePaddle/PaddleOCR
9月8日晚20:15-21:30,百度高階研發工程師將為我們詳細解析速度與精度都大幅提升的PaddleOCR,歡迎大家掃碼報名直播課,加入技術交流群~
官網地址:https://www.paddlepaddle.org.cnPaddleOCR專案地址:GitHub: https://github.com/PaddlePaddle/PaddleOCRGitee:https://gitee.com/paddlepaddle/PaddleOCR