天天看點

PP-OCR: 3.5M超輕量中英文OCR模型詳解(三) 文本方向分類器優化瘦身政策

PP-OCR: A Practical Ultra Lightweight OCR System

論文位址:https://arxiv.org/abs/2009.09941

代碼位址:https://github.com/PaddlePaddle/PaddleOCR

本文主要介紹PP-OCR中文本方向分類器優化瘦身政策,首先會介紹實驗環境,然後介紹超輕量骨幹網絡選擇、資料增強、增大輸入分辨率和PACT 量化的基本思路和消融實驗。

1. 實驗環境

文本方向分類器的消融實驗采用的是全量資料訓練和評估。識别準确率名額用來評估方向分類器的效果。使用單個T4 GPU卡測試GPU時間,Intel® Xeon® Gold 6148 處理器測試CPU時間,骁龍855在手機上測試量化模型時間。

2. 超輕量骨幹網絡選擇

和文本檢測類似,PP-OCR也是采用MobileNetV3作為文本方向分類器的骨幹網絡。由于這個任務相對比較簡單,是以使用了MobileNetV3_small_x0.35作為骨幹網絡。表1對比了MobileNetV3_small_x0.35和MobileNetV3_small_x0.5,識别準确率差别不大,但是模型大小減小非常明顯。此外,對比了其他方法使用的ShuffleNetV2_x0.5,從準确率,模型大小,以及預測速度看,MobileNetV3_small_x0.35更加合适。

PP-OCR: 3.5M超輕量中英文OCR模型詳解(三) 文本方向分類器優化瘦身政策

表1 文本方向分類器使用不同骨幹網絡的效果

3. 資料增強

在文本識别任務中,經常使用的資料增強方式是基本的圖像處理,例如圖像旋轉,圖像透視變換,運動模糊和高斯噪聲。這些操作簡稱為BDA (Base Data Augmentation)。最近圖像分類有一些資料增強方法,例如AutoAugment,RandAugment,CutOut,RandErasing,HideAndSeek,GridMask,Mixup,Cutmix,如下圖所示(圖檔來源于PaddleClas,https://github.com/PaddlePaddle/PaddleClas)。由于文本方向分類器是一個基本圖像分類任務,上述方法是否有可能提升文本方向分類器效果。PP-OCR做了大量消融實驗,如表1所示。不使用任何資料增廣,文本方向分類器的識别準确率是88.79%。使用基礎資料增廣BDA,識别準确率提升到91.34%,提升非常明顯。在與圖像分類常用的資料增強方法結合,發現RandomErasing和RandAugment提升非常明顯,其餘效果不明顯,甚至變得更差。在PP-OCR最終的訓練方案中,使用BDA+RandAugment資料增廣方式。

PP-OCR: 3.5M超輕量中英文OCR模型詳解(三) 文本方向分類器優化瘦身政策
PP-OCR: 3.5M超輕量中英文OCR模型詳解(三) 文本方向分類器優化瘦身政策

表1 不同資料增廣方式對于文本方向分類器識别效果的影響

PP-OCR: 3.5M超輕量中英文OCR模型詳解(三) 文本方向分類器優化瘦身政策

表2 不同輸入分辨率和PACT 量化的消融實驗

4.輸入分辨率

一般對于圖像分類任務,輸入圖像的分辨率增加,識别準确率也會增加,但是相應的耗時也會增加。但是由于圖像方向分類器使用的非常輕量的網絡,适當的增加輸入分辨率,效果會提升明顯,預測時間不會明顯增加。332100是文本識别經常使用的一個分辨率。從表2可以看出,當輸入分辨率從332100增加到348192,識别準确率提升将近2%,但是預測時間基本沒有變換。可見适當增加分辨率,收益非常明顯。

5.PACT 量化

量化也是提升預測效率的一種非常重要的手段。目前量化一般分為兩類:離線量化和線上量化。離線量化不需要訓練,利用平均值決定量化參數。線上量化是通過訓練決定量化參數。PACT量化是一種線上量化方法,核心關注激活函數異常點處理。當移除了異常點,則可以學習比較合适的量化參數。原始的PACT處理激活函數的公式如下:

PP-OCR: 3.5M超輕量中英文OCR模型詳解(三) 文本方向分類器優化瘦身政策

原始的PACT主要考慮的是ReLU激活函數,所有的輸入大于一定門檻值就被截斷。但是MobileNetV3裡面不僅隻有ReLU激活函數,還有hard_swish,原始的PACT導緻比較高的量化誤差。是以,PP-OCR使用的PACT量化方法是進行了如下改進,進行兩個方向的截斷,進而降低量化誤差。

PP-OCR: 3.5M超輕量中英文OCR模型詳解(三) 文本方向分類器優化瘦身政策

從表2可以看出,使用PACT量化,模型大小從0.85M減小到0.46M,預測速度從3.21ms加速到2.38ms,加速明顯,識别準确率基本沒有影響。上述改進的PACT 量化的實作可以關注github repo PaddleSlim(https://github.com/PaddlePaddle/PaddleSlim)

感謝大家關注,PP-OCR: 3.5M超輕量中英文OCR模型詳解系列總共有4個部分,清單如下:

(一) 簡介、方案概覽和資料

(二) 文本檢測優化瘦身

(三) 文本方向分類器優化瘦身

(四) 文本識别優化瘦身

歡迎大家star PaddleOCR(https://github.com/PaddlePaddle/PaddleOCR),支援該repo的建設。感興趣的朋友,可以加入Repo裡面的PaddleOCR技術交流微信群,一起讨論OCR相關問題。

繼續閱讀