高速ラテックス OCR
rapid_latex_ocr
式画像をラテックス形式に変換するツールです。- ウェアハウス内の推論コードはLaTeX-OCRから変更され、モデルはすべて ONNX 形式に変換され、推論コードが簡素化され、推論がより速く、より簡単に展開できるようになりました。
- ウェアハウスには、NX 形式に基づくコード
ONNXRuntime
またはそのOpenVINO
推論のみが含まれており、トレーニング モデル コードは含まれません。独自のモデルをトレーニングしたい場合は、LaTeX-OCRに移動してください。 - お役に立ちましたら、小さな星 ⭐ を付けるか、一杯のコーヒーをスポンサーしてください (ページ上部のスポンサーのリンクをクリックしてください)
- このツールをより良くするために、友人全員が積極的に貢献することを歓迎します。
使用
-
インストール
-
pip
rapid_latext_ocr
ライブラリをインストールします。モデルを whl パッケージにパッケージ化すると pypi 制限 (100M) を超えるため、モデルを個別にダウンロードする必要があります。pip install rapid_latex_ocr
-
モデルをダウンロードします ( Google Drive | Baidu Netdisk )。初期化するときは、モデルのパスを指定するだけです。詳細については、次の部分を参照してください。
モデル名 サイズ image_resizer.onnx
37.1M encoder.onnx
84.8M decoder.onnx
48.5M
-
-
使用
- スクリプトでは以下を使用します。
from rapid_latex_ocr import LatexOCR image_resizer_path = 'models/image_resizer.onnx' encoder_path = 'models/encoder.onnx' decoder_path = 'models/decoder.onnx' tokenizer_json = 'models/tokenizer.json' model = LatexOCR(image_resizer_path=image_resizer_path, encoder_path=encoder_path, decoder_path=decoder_path, tokenizer_json=tokenizer_json) img_path = "tests/test_files/6.png" with open(img_path, "rb") as f: data = f.read() result, elapse = model(data) print(result) # {\frac{x^{2}}{a^{2}}}-{\frac{y^{2}}{b^{2}}}=1 print(elapse) # 0.4131628000000003
- コマンドラインの使用
$ rapid_latex_ocr -h usage: rapid_latex_ocr [-h] [-img_resizer IMAGE_RESIZER_PATH] [-encdoer ENCODER_PATH] [-decoder DECODER_PATH] [-tokenizer TOKENIZER_JSON] img_path positional arguments: img_path Only img path of the formula. optional arguments: -h, --help show this help message and exit -img_resizer IMAGE_RESIZER_PATH, --image_resizer_path IMAGE_RESIZER_PATH -encdoer ENCODER_PATH, --encoder_path ENCODER_PATH -decoder DECODER_PATH, --decoder_path DECODER_PATH -tokenizer TOKENIZER_JSON, --tokenizer_json TOKENIZER_JSON $ rapid_latex_ocr tests/test_files/6.png \ -img_resizer models/image_resizer.onnx \ -encoder models/encoder.onnx \ -dedocer models/decoder.onnx \ -tokenizer models/tokenizer.json # ('{\\frac{x^{2}}{a^{2}}}-{\\frac{y^{2}}{b^{2}}}=1', 0.47902780000000034)
- スクリプトでは以下を使用します。
-
入力と出力の説明
- 入力 (
Union[str, Path, bytes]
) : 数式のみを含む画像。 - 出力 (
Tuple[str, float]
) :(识别结果, 耗时)
。詳細については、次の例を参照してください。( '{\\frac{x^{2}}{a^{2}}}-{\\frac{y^{2}}{b^{2}}}=1', 0.47902780000000034 )
- 入力 (