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

更新 發佈閱讀 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檔案
  2. --traineddata 輸入要覆蓋的模型名稱
  3. --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
留言分享你的想法!
avatar-img
螃蟹_crab的沙龍
153會員
300內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。 興趣是攝影,踏青,探索未知領域。 人生就是不斷的挑戰及自我認清,希望老了躺在床上不會後悔自己什麼都沒做。
螃蟹_crab的沙龍的其他內容
2024/06/01
平時都在用tesseract來辨識OCR的部分,在網路上也常常聽說easyOCR比tesseract好用,就拿之前測試的OCR素材來比較看看囉。 以下輸入同樣圖片直接測試,並非絕對誰就比較準,只單純測試數字含英文的部分。 圖片素材就是15碼(英文加數字),檔名為OCR正確結果
Thumbnail
2024/06/01
平時都在用tesseract來辨識OCR的部分,在網路上也常常聽說easyOCR比tesseract好用,就拿之前測試的OCR素材來比較看看囉。 以下輸入同樣圖片直接測試,並非絕對誰就比較準,只單純測試數字含英文的部分。 圖片素材就是15碼(英文加數字),檔名為OCR正確結果
Thumbnail
2024/05/26
本文將展示使用不同激活函數(ReLU 和 Sigmoid)的效果。 一個簡單的多層感知器(MLP)模型來對 Fashion-MNIST 資料集進行分類。 函數定義 Sigmoid 函數 Sigmoid 函數將輸入壓縮到 0到 1 之間: 特性: 輸出範圍是 (0,1)(0, 1)(0,1
Thumbnail
2024/05/26
本文將展示使用不同激活函數(ReLU 和 Sigmoid)的效果。 一個簡單的多層感知器(MLP)模型來對 Fashion-MNIST 資料集進行分類。 函數定義 Sigmoid 函數 Sigmoid 函數將輸入壓縮到 0到 1 之間: 特性: 輸出範圍是 (0,1)(0, 1)(0,1
Thumbnail
2024/05/25
本文主要介紹神經網路訓練辨識的過程,利用fashion_mnist及簡單的神經網路來進行分類。 使用只有兩層的神經網路來訓練辨識fashion_mnist資料。
Thumbnail
2024/05/25
本文主要介紹神經網路訓練辨識的過程,利用fashion_mnist及簡單的神經網路來進行分類。 使用只有兩層的神經網路來訓練辨識fashion_mnist資料。
Thumbnail
看更多
你可能也想看
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
本文主要介紹,如何利用VAE變分自編碼器來訓練生成圖片。 訓練集資料將採用TF影像資料庫中的fashion_mnist VAE變分自編碼器簡單介紹 •VAE(Variational Auto-Encoder)中文名稱變分自編碼器,主要是一種將原始資料編碼到潛在向量空間,再編碼回來的神經網路。
Thumbnail
本文主要介紹,如何利用VAE變分自編碼器來訓練生成圖片。 訓練集資料將採用TF影像資料庫中的fashion_mnist VAE變分自編碼器簡單介紹 •VAE(Variational Auto-Encoder)中文名稱變分自編碼器,主要是一種將原始資料編碼到潛在向量空間,再編碼回來的神經網路。
Thumbnail
在tesseract-ocr辨識應用中,建議的留白邊框為10pixl,若Label列印的太剛好,沒有任何的邊框時,就會辨識不到文字。 本文將帶大家如何讓圖像增加邊框。 結果圖 示意的比較誇張,我讓邊框增加100pixl,圖片大小原為211*80。
Thumbnail
在tesseract-ocr辨識應用中,建議的留白邊框為10pixl,若Label列印的太剛好,沒有任何的邊框時,就會辨識不到文字。 本文將帶大家如何讓圖像增加邊框。 結果圖 示意的比較誇張,我讓邊框增加100pixl,圖片大小原為211*80。
Thumbnail
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
Thumbnail
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
Thumbnail
在某些特殊情況下,需要將圖片進行黑白反轉,例如Tesseract(OCR辨識引擎)就有建議黑底白字的狀況下辨識率較高。 本文將使用 NumPy 進行影像黑白反轉,並顯示反轉前後的影像。
Thumbnail
在某些特殊情況下,需要將圖片進行黑白反轉,例如Tesseract(OCR辨識引擎)就有建議黑底白字的狀況下辨識率較高。 本文將使用 NumPy 進行影像黑白反轉,並顯示反轉前後的影像。
Thumbnail
微調(Fine tune)是深度學習中遷移學習的一種方法,其中預訓練模型的權重會在新數據上進行訓練。 本文主要介紹如何使用新的訓練圖檔在tesseract 辨識模型進行Fine tune 有關於安裝的部分可以參考友人的其他文章 Tesseract OCR - 繁體中文【安裝篇】 將所有資料
Thumbnail
微調(Fine tune)是深度學習中遷移學習的一種方法,其中預訓練模型的權重會在新數據上進行訓練。 本文主要介紹如何使用新的訓練圖檔在tesseract 辨識模型進行Fine tune 有關於安裝的部分可以參考友人的其他文章 Tesseract OCR - 繁體中文【安裝篇】 將所有資料
Thumbnail
平時都在用tesseract來辨識OCR的部分,在網路上也常常聽說easyOCR比tesseract好用,就拿之前測試的OCR素材來比較看看囉。 以下輸入同樣圖片直接測試,並非絕對誰就比較準,只單純測試數字含英文的部分。 圖片素材就是15碼(英文加數字),檔名為OCR正確結果
Thumbnail
平時都在用tesseract來辨識OCR的部分,在網路上也常常聽說easyOCR比tesseract好用,就拿之前測試的OCR素材來比較看看囉。 以下輸入同樣圖片直接測試,並非絕對誰就比較準,只單純測試數字含英文的部分。 圖片素材就是15碼(英文加數字),檔名為OCR正確結果
Thumbnail
EasyOCR是一個能夠幫助你對圖片中的文字進行辨識的工具,透過進階分析,可以應用在文件掃描、自動化數據輸入、發票掃描等領域。本章節將介紹如何安裝、引用模型、進行文字辨識、以及辨識結果的分析。透過學習,你可以建立屬於自己的文字辨識系統。
Thumbnail
EasyOCR是一個能夠幫助你對圖片中的文字進行辨識的工具,透過進階分析,可以應用在文件掃描、自動化數據輸入、發票掃描等領域。本章節將介紹如何安裝、引用模型、進行文字辨識、以及辨識結果的分析。透過學習,你可以建立屬於自己的文字辨識系統。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News