Tesseract.js と Fuse.js を使ってブラウザだけで完結する日本語 OCR アプリを作った経緯と結果を、前処理・マッチング・補正・ベンチの観点で振り返ります。5 記事シリーズの目次としても使えるまとめ記事です。
OCR の精度改善を直感に頼らないために、F1 / CER / 4-gram recall でスコアを可視化する Vitest ベースのベンチマークを作る方法を紹介します。期待値 JSON・キャッシュ運用・バリアント A/B まで実践的にまとめました。
Tesseract.js の日本語 OCR で頻発するカタカナ混同やレイアウト誤認を、正規表現パターンと混同ペア配列で補正する実装を紹介します。1 変更 1 計測で回帰させない運用のコツもまとめています。
Fuse.js の threshold を単一の値で運用すると短いトークンで誤爆・長いトークンで取りこぼしが起きます。本記事ではトークン長に応じた段階的なしきい値、曖昧判定、長さ比キャップで精度を引き上げる実装を紹介します。
Tesseract.js の日本語 OCR 精度を底上げするための前処理を、ブラウザの Canvas API だけで実装する方法を紹介します。グレースケール・コントラスト伸長・Sauvola 適応二値化・明暗自動反転までの実装を丁寧に解説します。
Tesseract.jsで日本語OCRをブラウザ完結で動かす実装を、worker再利用とPSM.AUTO+PSM.SINGLE_BLOCKの二段階推論、進捗率の0〜100%正規化まで具体的なコード付きで紹介します。