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