机器学习入门目标检测之印章检测和分类
識別效果如上圖
模型下載地址:
采用技術架構 Flask PaddlePaddle PaddleX
安裝框架:Flask,PaddlePaddle,PaddleX
python3.6以上版本
使用說明
采用300多張印章的A4文件圖片進行訓練,采用slim工具進行壓縮處理,模型大小為47M左右,在多核cpu下計算速度為0.1~0.2s之間,gpu為0.015s左右
請再服務器開放5002端口,訪問http://localhost:5002 既可訪問體驗web版本
訓練方法:
1.準備數據集
https://quqi.gblhgk.com/s/1832596/7IUtYKm839DrcMha
2.環境配置
安裝python3.6 ,安裝gpu運行環境cuda等,安裝paddlepaddle 后再安裝paddlex
3.選擇目標檢測算法
4.對圖片集標注,使用百度Easydata在線標注(https://ai.baidu.com/easydata/app/dataset/list),或者精靈標注(標注后需要轉成paddlex的格式)
5.圖片分類訓練集和和驗證集以及測試集
6.在gpu服務上執行訓練(參考github文檔使用,不同的算法不同使用方法)
7.訓練好之后,下載模型測試,測試代碼如下:
# 腳本運行依賴paddlex # pip install paddleximport paddlex as pdx# 模型加載, 請將path_to_model替換為你的模型導出路徑 # 可使用 mode = pdx.load_model('path_to_model') 加載 # 而使用Predictor方式加載模型,會對模型計算圖進行優化,預測速度會更快 print("Loading model...") model = pdx.deploy.Predictor('inference_model', use_gpu=False) print("Model loaded.")# 模型預測, 可以將圖片替換為你需要替換的圖片地址 # 使用Predictor時,剛開始速度會比較慢,參考此issue # https://github.com/PaddlePaddle/PaddleX/issues/116 result = model.predict('test//unnamed.jpg')# 可視化結果, 對于檢測、實例分割務進行可視化 if model.model_type == "detector":# threshold用于過濾低置信度目標框# 可視化結果保存在當前目錄pdx.det.visualize('test//unnamed.jpg', result, threshold=0.5, save_dir='./')8.部署模型導出
在服務端部署模型時需要將訓練過程中保存的模型導出為inference格式模型,導出的inference格式模型包括__model__、__params__和model.yml三個文件,分別表示模型的網絡結構、模型權重和模型的配置文件(包括數據預處理參數等)。
檢查你的模型文件夾,如果里面是model.pdparams,
model.pdmodel和model.yml3個文件時,那么就需要按照下面流程進行模型導出
在安裝完PaddleX后,在命令行終端使用如下命令將模型導出。可直接下載小度熊分揀模型來測試本文檔的流程xiaoduxiong_epoch_12.tar.gz。
9.模型壓縮,根據具體使用情景,提高識別率或者減小體積,選擇對應的算法,此時模型應該非導出的模型,而是訓練完的模型格式
提供訓練好的模型下載地址
(https://download.csdn.net/download/zuiyuewentian/85813425)
總結
以上是生活随笔為你收集整理的机器学习入门目标检测之印章检测和分类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: raspberry 使用EDUP无线网卡
- 下一篇: 顺丰丰桥接口之下订单接口,适用于第三方系