Tesseract 發佈計畫
在這裡我們可以規劃 Tesseract 的下一個版本。
未來版本
以下是一些關於未來 Tesseract 版本的想法。
-
使用 llvm 的工具:clang-format、clang-tidy、scan-build、sanitizers。
-
將更多 Tesseract 資料類型替換為 C++ 標準類型(
GenericVector
,…),尤其是對於 API。 -
新增 json(或 xml)輸出格式。它將用於完整 OCR 和 psm 2 - 僅佈局資訊。
-
新增選項以使用 leptonica 的其他二值化方法。
-
新增選項,針對多頁輸入輸出個別檔案(out1.hocr、out2.hocr ...)。
-
為命令列新增多執行緒選項(在此模式下,openmp 將在執行時停用)。
-
探索使用 Protocol Buffers 或 FlatBuffers 作為 traineddata 的選項。
-
改善錯誤處理,不要忽略函數的回傳值(請參閱討論)。
-
將 tprintf 等替換為具有記錄層級的進階記錄 API。
5.0.0
進階記錄
需求(另請參閱討論)
記錄層級
- 追蹤
- 除錯
- 資訊
- 警告
- 錯誤
- 嚴重
相關問題
- https://github.com/tesseract-ocr/tesseract/issues/1338
實用連結
4.0.0
請參閱發行說明。
另請參閱關於問題 #1423 的討論。
應修復的未解決問題
-
標記為「bug」的問題(請參閱此處的列表)
-
識別出的雜訊字元,其 bbox 為整個頁面 #1192
-
使用 LSTM 訓練的整數模型時發生區段錯誤 #1573
-
當 Tesseract 初始化程式碼偵測到不支援的地區設定時,報告警告。(請參閱評論)
-
無法建立輸出檔案時,錯誤訊息不足 問題 1424
-
混合語言 (fra+ara) 項目的「no best words!!」(請參閱問題 235)
-
mgr_.Init(traineddata_path.c_str()):Error:Assert failed: #1075(請參閱問題 1075)
此版本需要的功能
-
從 github 安裝僅選定語言的腳本(請參閱問題)
https://github.com/zdenop/tessdata_downloader
待討論
根據可用的資源和意見,這些建議將被加入到下一個或未來版本的規劃中,或被放棄。
-
增強 –list-langs 以顯示有關腳本和語言的其他資訊,例如傳統/LSTM、版本
這會使命令變慢,因為必須開啟和剖析每個檔案。將此新增為 –list-langs-details 或根據語言代碼新增為單一語言檔案的 –list-lang-details?
-
–list-langs 也應顯示它正在使用的目錄
-
修復 autotools 建置,以便偵錯模式按預期使用 -O0
-
新增選項以選擇點積的實作(CPU、SSE、AVX、…)
-
traineddata 的相對包含
tessedit_load_sublangs 應搜尋相對於父項的 sublangs,而不是從 tessdata 目錄開始。
-
針對 Coverity Scan 回報的編譯器警告和問題進行更多修復
-
新增一個用於建置 tesseract 的簡單 bash 腳本
-
新的 traineddata 格式
除了目前的專有格式外,Tesseract 還可以支援 ZIP 檔案(請參閱討論)。
使用 libarchive 的可能實作可用,但需要更多測試。
-
「輕量訓練」- 從實踐中學習(請參閱問題)
-
修改 text2image 以使用 PrepareDistortedPix() #1052
-
排程日期
3.0x 版本的功能回歸
Tesseract 4.0 應完全取代 Tesseract 3.05,並在使用舊的 OCR 引擎時具有相同的功能(--oem 0
)。以下回歸仍需驗證(它們真的是回歸,還是只是 LSTM 缺少的功能)
LSTM 缺少 3.0x 版本的功能
這些功能仍然可以使用舊的 OCR 引擎(--oem 0
),但是 LSTM 缺少這些功能,而且是需要的功能。
-
#### 黑名單/白名單(請參閱問題)。這裡有一個解決方法。已在 4.1.0 中修復。 -
hOCR 字型資訊(請參閱評論)
未來版本
在這裡我們收集 4.0.0 之後的版本的重要問題和功能。
-
新的基於 LSTM 的 OSD 偵測器(請參閱評論)。
-
移除傳統 Tesseract 引擎(請參閱問題)
-
針對訓練的更好的多語言實作(請參閱評論)
-
用於點積的 ARM SIMD 支援 #519
-
使用 OpenMP 進行點積 #983
-
移除已棄用的程式碼
這不包括 OpenCL 或舊的 Tesseract 引擎。
-
Tesseract 為遺失的輸入建立輸出(請參閱問題 1023)。
已大致解決,但可以改善。
-
問題 1353:/training/tessopt.cpp 的修補程式(請參閱提取請求 13)
似乎無法在同一個程序中執行多個訓練。提取請求描述了可能的修復方法,但不包括完整的實作(低優先順序)。