ByteScope

Math OCR

数式一つのスクリーンショットを貼ると、プレビューを見ながら編集できる LaTeX が出ます。印刷体の数式はテストで 40 回中 39 回正解。手書きは未測定で、たいていそれより落ちます。

ブラウザの中だけで動きます。画像はアップロードされません。モデルファイルは huggingface.co から一度だけダウンロードし、ONNX Runtime のスクリプトは cdn.jsdelivr.net から読み込みます。

モデル

pix2text-mfr(MIT ライセンス)という数式認識モデルです。数式を一つずつ、お使いの端末上で読み取ります。

実行環境: 確認中…

数式の画像

数式の画像をここにドロップ

またはクリックして選択。スクリーンショットの貼り付け(Ctrl+V)もできます。

LaTeX

プレビュー

描画した数式がここに表示されます。

コピー形式

Word に貼り付けると編集できる数式になります。すべての Word のバージョンで確認したわけではありません。

今回の履歴

今回認識した数式がここに並びます。保存はされません。

数式が複数ある場合は ページ全体の文字 · プリントをスキャン

使う前にお読みください

  • 数式一つ、または整列したブロック一つずつが最も確実です。周りに文章があるページでは、数式ごとに囲んでください。
  • 手書きの数式はまだテストしていません。印刷された数式よりかなり精度が落ちるのが普通です。修正の手間が増えるものと考えてください。
  • こちらのテストでは、印刷された数式 40 件(KaTeX で 2 サイズに描画)のうち 39 件が完全に一致しました。
  • 同じ見た目でも元の LaTeX は異なることがあります(例: \frac と /)。文書と合わせる場合はソースを確認してください。
  • \text{}・\mathrm{}・\operatorname{} の中の空白は消えます。モデルが文字を一つずつ読むためです。単語の間の空白は手で戻してください。
  • とても長い数式は CPU ではかなり遅く、約 500 記号を超えると途中で切れます。一度に囲むのは一部だけにしてください。
  • 数式を書き起こすだけです。計算を解いたり検算したりはしません。
  • 画像はアップロードされません。モデルファイル(約 118 MB)は huggingface.co から一度だけダウンロードし、ONNX Runtime のスクリプトは cdn.jsdelivr.net から読み込みます。

このツールについて

一度に一つの数式

この数式 OCR は、数式一つか、揃えて並んだ一ブロックに対していちばんよく働きます。スクリーンショットを貼る、写真を落とす、画像を開いて変換したい数式を枠で囲む、のどれでも構いません。切り抜いた部分は正方形に余白を足してモデルの入力サイズに縮めるので、まわりに文章がある一ページ全体より、数式をぴったり囲んだ枠のほうが結果が良くなります。講義ノート一ページ丸ごとは対象外です。文章と数式が混ざっているなら、数式を一つずつ囲んでください。このページを開いている間に変換した数式は一覧に残り、閉じれば消えます。保存はしません。

プレビューを見ながら LaTeX を直す

認識した LaTeX は編集欄に入り、横に KaTeX の描画が並びます。入力するたびにプレビューが更新され、構文エラーがあれば空白にならずプレビュー欄にその旨が出るので、閉じ忘れた波括弧にすぐ気づけます。モデルの出力も整えています。余分な空白を詰め、\operatorname { s i n } を \sin に戻し、波括弧の対応が取れていなければ警告します。\text{…}・\mathrm{…}・\operatorname{…} の中の空白も取り除かれます。モデルが文字を一つずつ読み、単語の区切りの空白かどうか分からないためなので、必要な空白は手で戻してください。あとは用途に合わせてコピーするだけです。文書向けの生の LaTeX、Markdown や Jupyter のインライン数式向けの $…$、別行立ての $$…$$、ワープロに貼るための MathML。

画像から LaTeX への変換精度

モデルは pix2text-mfr というオープンソースの数式認識モデル(MIT ライセンス)で、約 118 MB を huggingface.co から一度だけ取得し、以後はブラウザがキャッシュします(実行に使う ONNX Runtime のスクリプトは cdn.jsdelivr.net から読み込みます)。印刷体の数式 20 本を KaTeX で二つのサイズに描画し、計 40 回通したところ、39 回が完全一致でした。このテストはきれいな印刷体だけが対象です。手書きの数式はまだ測っていませんし、数式認識モデルは一般に手書きだと大きく精度が落ちるので、直す箇所が増えると思ってください。解像度の低いスクリーンショットや斜めから撮った写真も確率を下げます。大きめで真っ直ぐな切り抜きが効きます。

見た目が同じでも LaTeX は同じとは限らない

同じ見た目の数式でも書き方は何通りもあります。\frac{a}{b} と a/b、\left( と素の (、x^{2} と x^2。モデルが返すのは「絵に合うと思った」マークアップで、元の文書で使われていた書き方と一致するとは限りません。既存の文書に合わせたいなら、プレビューだけでなく LaTeX そのものも読んでください。それから、これは書き起こしの道具です。画像をマークアップに変えるだけで、式を簡約したり解いたり検算したりはしません。

有料サービスを使うほどでもないとき

Mathpix のような有料サービスは、同じ変換に追加機能を付けて提供しています。論文に一本、課題のレポートに一本、スライドに一本といった程度なら、このページで足ります。アカウントもアップロードも不要で、画像はブラウザの中にとどまり、モデルはブラウザが WebGPU を使えるなら GPU で、使えなければ CPU で動き、結果はどちらでも同じです。スキャンした文書を丸ごと処理したいなら、文章は OCR ツールに、そこから囲み出した数式はこちらに、という分担になります。

よくある質問

手書きの数式も読めますか?

試みはしますが、こちらでは測っていません。数式認識モデルは一般に、印刷体より手書きのほうがずっと苦手です。40 回中 39 回という数字は KaTeX で描画した印刷体の数式のものです。手書きでは直す箇所が増える前提で、ライブプレビューで確認してください。

ノート一ページを丸ごと変換できますか?

一度にはできません。モデルは数式一つか揃えた一ブロック向けに作られていて、まわりの文章があると混乱します。ページ画像を開いて変換したい数式を一つずつ枠で囲んでください。選択部分を切り抜き、余白を足して認識します。ページの文章部分は OCR ツールを使ってください。

結果を Word に貼るには?

MathML でコピーして Word に貼ると、編集できる数式に変換されます。ただし、すべてのバージョンの Word や他のワープロで検証したわけではないので、貼った後に数式を確認してください。プレーンテキストとして貼り付いてしまう場合は、Word 自身の LaTeX 入力モードに生の LaTeX を貼ってください。

どの形式でコピーできますか?

四つです。生の LaTeX、インライン数式用の $…$、別行立て用の $$…$$、そして MathML。前の三つは LaTeX 文書、Markdown、Obsidian、Jupyter に貼れます。MathML は Word など、MathML を受け付けるエディタ向けです。

式を解いてくれますか?

いいえ。画像を LaTeX のマークアップに書き起こすだけで、簡約も計算も検算もしません。答えが必要なら、出てきた LaTeX を数式処理システムに貼ってください。

ダウンロードはどれくらい?画像は送信されますか?

約 118 MB を huggingface.co から一度だけ取得し、以後はブラウザのキャッシュに残ります(ほかに ONNX Runtime のスクリプトを cdn.jsdelivr.net から読み込みます)。すでに取得済みかどうかはページに表示されます。画像が送信されることはありません。認識はブラウザの中で、WebGPU が使えれば GPU、使えなければ CPU で行い、出力はどちらでも同じです。

出てきた LaTeX が元の原稿と違うのはなぜ?

同じ絵になる LaTeX の書き方がいくつもあるからです。モデルに見えているのは描画結果だけなので、著者が a/b と書いたところを \frac{a}{b} で返したり、x^2 を x^{2} で返したりします。見た目が合っているかはプレビューで分かります。書き方はあなたが好きに直してください。