究極全面煉丹教程,使用PaddleOCR並自己訓練模型,太上老君看了都說好


ps:爲方便讀者文章中需要用到的文件均使用我的網盤分享下載,同時也會給出官網下載地址

前言______PaddleOcr的安裝與準備工作

1.PaddleOcr相關組件安裝我在上一個博客中已經介紹完畢→ PaddleOcr安裝與使用全程指南 ←點擊跳轉
2.下載PaddleOcr官方文件包,
https://kyc592.lanzous.com/i5C7Gkojm7c 密碼:kyc

或官網下載地址:https://gitee.com/paddlepaddle/PaddleOCR
paddleocr

然後解壓到項目文件夾的根目錄下。
完成準備工作
一定確保按照前一篇博客操作完畢,Paddleocr可以正常運行,儘量減少待會出現的極 其 繁 重的debug工作。
至此完成準備工作。


資料準備

訓練自己的模型,需要的資料有:
①訓練用的圖片集 ②測試用的圖片集 ③前面兩個圖片集配套的標註文件 ④預訓練模型

1. 下載icdar2015圖片集

演示採用的 ①訓練用的圖片集 ②測試用的圖片集 ③前面兩個圖片集配套的標註文件 採用的均是來自現成的 icdar2015數據集,若有意自己蒐集圖片集和生成配套標註文件 點擊跳轉至→ * 如何製作自己的數據集?

先進行一下兩個圖片集的下載,
ch4_training_images.zip 是icdar2015數據集的訓練圖片集,共1000張
https://kyc592.lanzous.com/iKdkQkpytcf 密碼:kyc
ch4 _test_images.zip 是icdar2015數據集的測試圖片集,共500張
https://kyc592.lanzous.com/isNpFkpzb5g 密碼:kyc



注意兩個圖片集千萬不要用錯了


或 官網下載地址:https://rrc.cvc.uab.es/?ch=4&com=downloads,需要先進行註冊登錄纔可下載。
2015數據集

2. 下載icdar2015數據集配套的標註文件

train_icdar2015_label.txt 是訓練集的配套標註文件:
https://kyc592.lanzous.com/i9aPSkpzp1g 密碼:kyc
test_icdar2015_label.txt 是測試集的配套標註文件:
https://kyc592.lanzous.com/i72mHkpzp0f 密碼:kyc


注意兩個標註文件千萬不要用錯了


或 官方下載地址:
訓練集的配套標註文件:https://paddleocr.bj.bcebos.com/dataset/train_icdar2015_label.txt
測試集的配套標註文件:
https://paddleocr.bj.bcebos.com/dataset/test_icdar2015_label.txt



3.組織數據集路徑

【建議以下所有的路徑均寫絕對路徑】

將第一步中下載的兩個圖片集解壓出來,與第二步中下載的配套標註文件
按照圖片中的方式存放到train_data文件夾中。(共兩個文件夾,兩個文檔)路徑

4.下載預訓練模型

PaddleOCR的檢測模型當前支持3個主幹,即MobileNetV3,ResNet18_vd和ResNet50_vd,可以根據需要使用PaddleClas中的模型替換主幹。

相關資料:
MobileNet
針對亟需在移動端應用深度學習技術的需求,MobileNet在存儲空間和能耗低的地方表現優秀,在損失精度很小的情況下,計算量,存儲空間,準確率方面都有明顯提升。

ResNet 系列模型
ResNet創新性的提出了殘差結構,一舉在ILSVRC2015比賽中取得冠軍,top5錯誤率爲3.57%。斯坦福大學的Joyce
Xu將ResNet稱爲「真正重新定義了我們看待神經網絡的方式」的三大架構之一。

官方下載地址:

MobileNetV3預訓練模型:
https://paddle-imagenet-models-name.bj.bcebos.com/MobileNetV3_large_x0_5_pretrained.tar

ResNet18_vd預訓練模型:
https://paddle-imagenet-models-name.bj.bcebos.com/ResNet18_vd_pretrained.tar

ResNet50_vd預訓練模型:
https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_vd_ssld_pretrained.tar

打開鏈接即彈出下載請求。
這裏演示使用的是ResNet50_vd預訓練模型。

5.組織預訓練模型路徑

新建一個pretain_models文件夾,將下載的預訓練模型解壓進來。路徑
在config/det文件夾下找到det_mv3_db_v1.1.yml文件,只需要將“pretrain
_weights”指定爲前面獲取的預訓練模型路徑。
原
我的爲 D:\PO\pretain_models\ResNet50_vd_ssld_pretrained
修改後




6.修改配置文件

①在tools文件夾中找到program.py腳本打開,找到class ArgsParser構造函數
修改參數
然後將圖中箭頭指向的那一行,光標處添加一句代碼

default = "D:\PO\configs\det\det_mv3_db_v1.1.yml",

修改爲
修改代碼
注意文件路徑根據自己的電腦填寫正確。

注意相對路徑填寫規則
“./ ”表示同級目錄,
“../”表示上級目錄,
“../../”表示上上級目錄,
(以運行的.py文件爲當前路徑)

② 在config/det文件夾下找到det_db_icdar15_reader.yml文件打開,(pycharm或者Typora之類的軟件都可以打開)yml文件
修改
將這四行根據自己的電腦修改正確。
四行依次爲 訓練圖片集的路徑、訓練圖片集配套的標註文件路徑、測試圖片集的路徑、測試圖片集配套的標註文件路徑。
修改完成



修改完畢。

設置完成,開始訓練

到了緊張刺激的DEBUG環節纔對

運行tools文件夾中的train.py腳本。
Q1:無法附加測試報告到測試框架
無法附加測試報告到測試框架

A1:不使用pytest打開,使用普通方式打開
選擇右上角這個地方,點擊編輯配置 / Edit configurations…編輯配置
點擊減號移除當前配置移除
然後點擊加號點擊Python添加
修改爲文件名和文件所在路徑,確定保存計即可正常運行。修改
Q2:提示缺少文件FileNotFoundError: [Errno 2] No such file or directory: ‘./configs/det/det_db_icdar15_reader.yml’缺少文件
A2:是因爲 ./ 是在同級文件夾下尋找該文件,索性直接把全部configs文件夾複製到此腳本所在的tools文件夾裏一份,他們倆就是同級路徑了複製
類似問題同樣採取此方法,將缺少的文件夾複製到tools文件夾。






Q3:提示無gpu。ERROR: Config use_gpu cannot be set as true while you are using paddlepaddle cpu version ! 無gpu
A3:使用cpu訓練模型的話,則索性將tools/configs文件夾中所有文件有use_gpu: 這一行代碼的語句的,全部修改爲false,根目錄中的configs文件夾同樣操作。修改完成
Q4:提示訓練圖片集不存在 2021-01-23 14:10:54,107-INFO: D:\PO\train_data\ch4_training_imagesicdar_c4_train_imgs/img_999.jpg does not exist!不存在
A5:很容易發現是因爲存放圖片的文件夾名不一致,修改一下即可。
1
2
Q6:突然cpu與內存佔用比最近某圈的瓜還爆炸
1
運行結果是這個樣子
2








A6:學習煉丹基本成功。關掉程序換個好電腦跑。

如何製作自己的數據集?

使用PPOCRLabel文件夾中的PPOCRLabel.py腳本(先確保安裝了pyqt5)
PPOCRLabel官網:https://gitee.com/computer-vision/PaddleOCR/blob/develop/PPOCRLabel/README.md腳本
運行後彈出這個窗口窗口
在菜單欄點擊 “文件file” - “打開目錄open dir” 選擇待標記圖片的文件夾
打開文件夾
菜單欄中的PaddleOCR ,點擊 ”自動標註auto recognition“,使用PPOCR超輕量模型對圖片文件名前圖片狀態爲 “✖” 的圖片進行自動標註。
自動標註
等待標註完成。
ing
然後點擊右下角的Check,圖片前面的 X 就會變成 √ (藉助鼠標宏或者連點器)
保存
此時再點擊file,點擊save label,即可在彈出的提示的路徑中找到自己的標註文件標註
1











模型評估與模型檢查

等等再更新…


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章