[OCR][Python]tesseract 辨識模型Fine tune

更新於 2024/06/21閱讀時間約 4 分鐘

微調(Fine tune)是深度學習中遷移學習的一種方法,其中預訓練模型的權重會在新數據上進行訓練。

本文主要介紹如何使用新的訓練圖檔在tesseract 辨識模型進行Fine tune

有關於安裝的部分可以參考友人的其他文章

Tesseract OCR - 繁體中文【安裝篇】


將所有資料都放在同一資料夾,在用那資料夾 cmd開始工作,環境變數Tesseract資料夾要新增,才可以使用Tesseract指令喔。

使用版本:tesseract v5.3.1.20230401

1.合併圖檔

使用jTessBoxEditor 工具來合併圖檔,可參考這篇文章介紹jTessBoxEditor應用

raw-image

2.產生box資料 .box

指令:

ocr_1.tif : 圖檔名稱 ​

ocr_1 : 要產生的.box名稱

-l eng_ocr --oem 3 --psm 7 : 指定tesseract的辨識模型,搜尋引擎,頁面分割模式

batch.nochop makebox:產生產生box資料的指令

tesseract ocr_1.tif ocr_1 -l eng_ocr --oem 3 --psm 7 batch.nochop makebox  
raw-image
產生.box檔案

產生.box檔案


3.產生模型訓練檔 .lstm

指令:

tesseract ocr_1.tif  ocr_1 -l eng_ocr --psm 7 lstm.train
raw-image
產生ocr_1訓練檔

產生ocr_1訓練檔

4.提取要微調的模型,產生模型訓練檔 eng_ocr.lstm

指令:

-e 可從.traineddata中擷取出lstm檔

combine_tessdata -e eng_ocr.traineddata eng_ocr.lstm
raw-image
提取要微調的模型

提取要微調的模型

5.新建文件檔 (指定訓練檔路徑) .txt

輸入指定的訓練檔名稱,新的訓練集

新建文件檔

新建文件檔


6.模型訓練

參數名稱說明:

eng_ocr.lstm : 指定用這個模型繼續訓練

eng_ocr.traineddata : 指定用這個模型的資料繼續訓練

eng_ocr.training_files.txt : 新增要訓練的資料 文件路徑

0.01 : 錯誤率低於0.01 就停止訓練

指令

Lstmtraining --model_output="train"  --continue_from="eng_ocr.lstm" --traineddata="eng_ocr.traineddata" --train_listfile="eng_ocr.training_files.txt" --target_error_rate=0.01
raw-image
訓練結果

訓練結果

訓練完產生train_checkpoint

訓練完產生train_checkpoint


7.模型輸出

複製eng_ocr.traineddata 另外立名新名稱eng_ocr_1.traineddata,最後指令輸入完,eng_ocr_1.traineddata就是訓練好的新模型了。

指令

  1.  --continue_from 輸入剛剛訓練完的checkpoint檔案
  1. --traineddata 輸入要覆蓋的模型名稱
  2. --model_output
lstmtraining --stop_training --continue_from="train_checkpoint" --traineddata="eng_ocr.traineddata" --model_output="eng_ocr_1.traineddata"
輸出模型

輸出模型

raw-image

大功告成模型傳到Tesseract-OCR\tessdata目錄中就可以使用囉。

更改lang="eng_ocr_1",就可以使用新的模型囉

pytesseract.image_to_boxes(new_image, lang="eng_ocr_1", config=config)



參考文獻



avatar-img
128會員
209內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
螃蟹_crab的沙龍 的其他內容
平時都在用tesseract來辨識OCR的部分,在網路上也常常聽說easyOCR比tesseract好用,就拿之前測試的OCR素材來比較看看囉。 以下輸入同樣圖片直接測試,並非絕對誰就比較準,只單純測試數字含英文的部分。 圖片素材就是15碼(英文加數字),檔名為OCR正確結果
本文將展示使用不同激活函數(ReLU 和 Sigmoid)的效果。 一個簡單的多層感知器(MLP)模型來對 Fashion-MNIST 資料集進行分類。 函數定義 Sigmoid 函數 Sigmoid 函數將輸入壓縮到 0到 1 之間: 特性: 輸出範圍是 (0,1)(0, 1)(0,1
本文主要介紹神經網路訓練辨識的過程,利用fashion_mnist及簡單的神經網路來進行分類。 使用只有兩層的神經網路來訓練辨識fashion_mnist資料。
本文主要應用deepface的正面(frontal)人臉檢測的預設模型,使用analyze 函數,用於分析一張人臉圖像的情感(emotion)。 在Colab上實現,若用其他平台需稍微修改程式碼。 Deepface Deepface是一個輕量級的Python人臉辨識和臉部屬性分析
Google Tesseract Config說明,程式範例實際修改示範 前言 Tesseract 的 config 檔案用於指定 OCR 引擎的設定和參數。這些參數可以影響文本識別的結果 本文將彙整常用參數調整,並呈現不同參數出現不同的辨識結果 官網Tesseract OCR參數說明連結
使用Google Tesseract應用,擷取圖像的OCR並將讀取到的字元標註在原圖上 光學字元辨識功能 (Optical character recognition,光學字符辨識) 可以將影像中特徵範圍內的文本轉換為數字形式的文本。使用前必須安装Google Tesseract並更新
平時都在用tesseract來辨識OCR的部分,在網路上也常常聽說easyOCR比tesseract好用,就拿之前測試的OCR素材來比較看看囉。 以下輸入同樣圖片直接測試,並非絕對誰就比較準,只單純測試數字含英文的部分。 圖片素材就是15碼(英文加數字),檔名為OCR正確結果
本文將展示使用不同激活函數(ReLU 和 Sigmoid)的效果。 一個簡單的多層感知器(MLP)模型來對 Fashion-MNIST 資料集進行分類。 函數定義 Sigmoid 函數 Sigmoid 函數將輸入壓縮到 0到 1 之間: 特性: 輸出範圍是 (0,1)(0, 1)(0,1
本文主要介紹神經網路訓練辨識的過程,利用fashion_mnist及簡單的神經網路來進行分類。 使用只有兩層的神經網路來訓練辨識fashion_mnist資料。
本文主要應用deepface的正面(frontal)人臉檢測的預設模型,使用analyze 函數,用於分析一張人臉圖像的情感(emotion)。 在Colab上實現,若用其他平台需稍微修改程式碼。 Deepface Deepface是一個輕量級的Python人臉辨識和臉部屬性分析
Google Tesseract Config說明,程式範例實際修改示範 前言 Tesseract 的 config 檔案用於指定 OCR 引擎的設定和參數。這些參數可以影響文本識別的結果 本文將彙整常用參數調整,並呈現不同參數出現不同的辨識結果 官網Tesseract OCR參數說明連結
使用Google Tesseract應用,擷取圖像的OCR並將讀取到的字元標註在原圖上 光學字元辨識功能 (Optical character recognition,光學字符辨識) 可以將影像中特徵範圍內的文本轉換為數字形式的文本。使用前必須安装Google Tesseract並更新
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
學習如何將掃描的PDF轉換為可搜索文本,並高效管理和查找文件。探索先進的OCR技術如何提升文檔處理效率。
OCR (Optical Character Recognition) technology revolutionizes the conversion of texts from physical documents into digital data, enhancing processing
什麼是 OCR 光學字元辨識技術?它是當今數位時代中不可或缺的重要工具之一,能夠將紙本文件、圖片或 PDF 中的文字快速、準確地轉換成數位檔案,從而極大地提升了資料處理效率,成為各行各業數位轉型的關鍵利器。不僅如此,OCR 技術還能有效減少人為錯誤,幫助企業提升整體營運效率,從而在市場競爭中取得優勢
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
古有四大名著,現今Python四大容器🤣 哪四個?list串列,tuple元組,dict字典,set集合。 那這四個怎麼分? 一起來看看吧! (以下有手寫與上機實際測試請付費觀看) 以上我精心整理主要會使用到的功能 當然python功能太多了,肯定不只。 實際操作: 大概就這樣?(
Thumbnail
先來名詞解釋jython跟JES: jython是一種實現了Python語言的Java平台版本的解釋器。它允許開發人員在Java虛擬機(JVM)上運行Python代碼,從而實現了Python語言與Java平台的無縫集成。 JES(Jython Environment for Students)是
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
學習如何將掃描的PDF轉換為可搜索文本,並高效管理和查找文件。探索先進的OCR技術如何提升文檔處理效率。
OCR (Optical Character Recognition) technology revolutionizes the conversion of texts from physical documents into digital data, enhancing processing
什麼是 OCR 光學字元辨識技術?它是當今數位時代中不可或缺的重要工具之一,能夠將紙本文件、圖片或 PDF 中的文字快速、準確地轉換成數位檔案,從而極大地提升了資料處理效率,成為各行各業數位轉型的關鍵利器。不僅如此,OCR 技術還能有效減少人為錯誤,幫助企業提升整體營運效率,從而在市場競爭中取得優勢
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
古有四大名著,現今Python四大容器🤣 哪四個?list串列,tuple元組,dict字典,set集合。 那這四個怎麼分? 一起來看看吧! (以下有手寫與上機實際測試請付費觀看) 以上我精心整理主要會使用到的功能 當然python功能太多了,肯定不只。 實際操作: 大概就這樣?(
Thumbnail
先來名詞解釋jython跟JES: jython是一種實現了Python語言的Java平台版本的解釋器。它允許開發人員在Java虛擬機(JVM)上運行Python代碼,從而實現了Python語言與Java平台的無縫集成。 JES(Jython Environment for Students)是