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 はランタイム時に無効になります)。
-
traineddata に Protocol Buffers または FlatBuffers を使用するオプションを検討する。
-
エラー処理を改善し、関数の戻り値を無視しない ( 議論を参照)。
-
tprintf などをログレベルを備えた高度なロギング API に置き換える。
5.0.0
高度なロギング
要件 ( 議論も参照)
ログレベル
- trace
- debug
- info
- warning
- error
- fatal
関連する issue
- https://github.com/tesseract-ocr/tesseract/issues/1338
便利なリンク
4.0.0
リリースノートをご覧ください。
issue #1423 の議論も参照してください。
修正する必要がある未解決の issue
-
「bug」ラベルが付いた issue ( リストはこちら )
-
ページ全体としてbboxで認識されるノイズ文字 #1192
-
LSTMトレーニングに整数モデルを使用するときのセグメンテーション違反 #1573
-
Tesseract の初期化コードでサポートされていないロケール設定が検出された場合に警告を報告する。( コメントを参照)
-
出力ファイルを作成できない場合のエラーメッセージが不十分 Issue 1424
-
混合言語 (fra+ara) アイテムでの "no best words!!" ( issue 235を参照)
-
mgr_.Init(traineddata_path.c_str()):Error:Assert failed: #1075 ( issue 1075を参照)
このリリースに必要な機能
-
github から選択した言語のみをインストールするスクリプト ( issueを参照)
https://github.com/zdenop/tessdata_downloader
議論されるべきこと
利用可能なリソースと意見に応じて、これらの提案は、次のリリースまたは将来のリリース計画に追加されるか、破棄されます。
-
–list-langs を強化し、レガシー / LSTM、バージョンなどのスクリプトと言語に関する追加情報を表示する
各ファイルを開いて解析する必要があるため、コマンドが遅くなります。 これを –list-langs-details または言語コードに基づく1つの言語ファイルに対して –list-lang-details として追加しますか?
-
–list-langs は、使用しているディレクトリも表示する必要があります
-
デバッグモードが意図したとおりに -O0 を使用するように autotools ビルドを修正する
-
ドット積の実装をオプションで選択するオプションを追加する (CPU、SSE、AVX、…)
-
traineddata の相対インクルード
tessedit_load_sublangs は、tessdata ディレクトリで開始するのではなく、親に対する相対的な sublangs を検索する必要があります。
-
Coverity Scan によって報告されたコンパイラの警告と issue に対するより多くの修正
-
tesseract をビルドするための簡単な bash スクリプトを追加する
-
新しい traineddata 形式
現在の独自形式に加えて、Tesseract は ZIP アーカイブもサポートできます ( 議論を参照)。
libarchive を使用した可能な実装が利用可能ですが、より多くのテストが必要です。
-
「トレーニングライト」- 実践による学習 ( issueを参照)
-
PrepareDistortedPix() を使用するように text2image を変更する #1052
-
スケジュール日
3.0x からの機能の回帰
Tesseract 4.0 は、Tesseract 3.05 の完全な代替となり、古い OCR エンジン (--oem 0
) を使用したときに同じ機能を備えている必要があります。 次の回帰は、まだ検証が必要です (本当に回帰なのか、それとも LSTM での機能が不足しているだけなのか)。
LSTM で不足している 3.0x の機能
これらの機能は、古い OCR エンジン (--oem 0
) ではまだ動作しますが、LSTM では不足しており、必要です。
将来のリリース
ここでは、4.0.0 に続くリリースに関する重要な issue と機能を収集します。
-
新しい LSTM ベースの OSD 検出器 ( コメントを参照)。
-
レガシー Tesseract エンジンを削除する ( issueを参照)
-
トレーニングのためのより良い多言語実装 ( コメントを参照)
-
ドット積に対する ARM SIMD サポート #519
-
ドット積に OpenMP を使用する #983
-
非推奨コードを削除する
これには、OpenCL または古い Tesseract エンジンは含まれません。
-
Tesseract は、不足している入力に対する出力を生成します ( issue 1023を参照)。
ほぼ解決しましたが、改善できる可能性があります。
-
Issue 1353: /training/tessopt.cpp のパッチ ( プルリクエスト 13を参照)
同じプロセスで複数のトレーニングを実行することはできないようです。 プルリクエストでは可能な修正について説明していますが、完全な実装は含まれていません (優先度は低い)。