前要
飛槳首次開源文字識別模型套件PaddleOCR,目標是打造豐富、領先、實用的文本識別模型/工具庫。首階段的開源套件推出了重磅模型:8.6M超輕量中英文識別模型。該超輕量模型由1個文本檢測模型(4.1M,DB算法)和1個文本識別模型(4.5M,CRNN算法)組成,共8.6M。同時支持中英文識別;aistudio項目地址:https://www.paddlepaddle.org.cn/hub/scene/ocr
開始實驗
一 安裝必要庫:
pip install paddlehub --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install shapely -i https://pypi.tuna.tsinghua.edu.cn/simple (這個庫如果使用此方法安裝,在使用時可能會出現問題,如果出現問題,可以先卸載,再到http://www.lfd.uci.edu/~gohkle/pythonlibs/下載shapely庫)
pip install pyclipper -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install opencv -i https://pypi.tuna.tsinghua.edu.cn/simple
二 定義預測數據
顯示圖片:
讀取測試集文件夾:
用戶只需把文件路徑放到test_image.txt文件即可。
三 加載預訓練模型
import paddlehub as hub
ocr = hub.Module(name="chinese_ocr_db_crnn_server") # 服務端可以加載大模型,效果更好。
#ocr = hub.Module(name="chinese_ocr_db_crnn_mobile") #移動端模型加載,速度更快。
模型概述:chinese_ocr_db_crnn_server Module用於識別圖片當中的漢字。其基於chinese_text_detection_db_server檢測得到的文本框,繼續識別文本框中的中文文字。識別文字算法采用(Convolutional Recurrent Neural Network)即卷積遞歸神經網絡。DCNN和RNN的組合,專門用於識別圖像中的序列式對象。與CTC loss配合使用,進行文字識別,可以直接從文本詞級或行級的標注中習,不需要詳細的字符級的標注。該Module是一個通用的OCR模型,支持直接預測。
四 開始預測
預測結果:
五 效果展示:
程序會自動將識別結果保存為圖片文件,並默認保存在ocr_result文件夾中。
成品一:
成品二:
成品三:
六 總結與收獲
通過本次暑期實踐,我學會了如何運用paddlehub做出一個作品,PaddleHub 是基於 PaddlePaddle 開發的預訓練模型管理工具,可以借助預訓練模型更便捷地開展遷移學習工作,旨在讓 PaddlePaddle 生態下的開發者更便捷體驗到大規模預訓練模型的價值。
PaddleHub 目前的預訓練模型覆蓋了圖像分類、目標檢測、詞法分析、Transformer、情感分析五大類別。未來會持續開放更多類型的深度學習模型,如語言模型、視頻分類、圖像生成等預訓練模型。
我也認識到python在機器學習,深度學習中的重要性。很多框架都是由python編寫的,如:tensorflow,pytorch,paddlepaddle等,所以學好python十分重要,paddlehub只是預訓練的模型,對於模型的編寫話要靠paddlepaddle,所以在之后的學習中我將繼續學習paddle paddle與pytorch,來提高自己的編寫神經網絡的能力,來提高自己的學習能力與實踐能力。所以路漫漫其修遠兮,吾將上下而求索。