HuggingFace Dots-OCRの精度検証レポート

この記事のポイント

  • HuggingFace Spacesで無料で使えるDots-OCRの使い方を解説
  • 実際の領収書画像で検証した読み取り結果を公開
  • Geminiとの比較から見える「機械処理向き vs 人間向き」の違い

はじめに

「無料で使えるOCRモデルって、実際どのくらい使えるの?」

HuggingFaceには、さまざまなオープンソースのOCRモデルが公開されています。その中でも注目を集めているのが Dots-OCR です。

本記事では、HuggingFace Spaces上で公開されているDots-OCRを使って、実際に日本語の領収書を読み取った結果をお伝えします。

Dots-OCRとは

Dots-OCRは、HuggingFace Spaces上で公開されているOCR特化型のAIモデルです。

技術的特徴

特徴内容
Transformerアーキテクチャ最新のTransformerベースの画像認識技術を採用
レイアウト解析テキストだけでなく、表や見出しなどの文書構造も認識
JSON出力対応バウンディングボックス付きの構造化データを出力可能

従来のTesseractのようなルールベースのOCRとは異なり、ディープラーニングを活用した認識エンジンを搭載しています。

HuggingFace Spacesで試す

Dots-OCRは、ブラウザから無料で試すことができます。環境構築は不要です。

URL: https://huggingface.co/spaces/MohamedRashad/Dots-OCR

使い方

  1. 上記URLにアクセス
  2. 画像をアップロード
  3. 「Submit」をクリック
  4. 読み取り結果が表示される

出力形式は、プレーンテキストとJSON(バウンディングボックス付き)の2種類から選べます。

実際の検証結果

日本語の領収書画像を使って、Dots-OCRの精度を検証しました。

テスト画像

以下の領収書画像を使用しました。

領収書(元画像)

処理結果(認識領域の可視化)

Dots-OCRが認識した領域を可視化した結果です。色のついた枠が認識された各要素を示しています。

Dots-OCR処理結果

読み取り結果(テキスト)

領収書
No. 123

山田 太郎 様

2000年 01月 01日

金額

¥123,456-

印紙

但し、食事代

として上記正に領収いたしました。

税率内訳	税抜金額	消費税
%
%
株式会社○○○○

〒000-0000

○○県○○市○○町1-2-3

○○ビル○階

TEL: 12345678910

FAX: 01987654321

読み取り結果(JSON)

Dots-OCRは、各テキスト要素のバウンディングボックスとカテゴリも出力します。

[
  {
    "bbox": [72, 47, 239, 85],
    "category": "Section-header",
    "text": "領収書"
  },
  {
    "bbox": [913, 54, 1136, 96],
    "category": "Text",
    "text": "No. 123"
  },
  {
    "bbox": [306, 120, 481, 149],
    "category": "Text",
    "text": "山田 太郎 様"
  },
  {
    "bbox": [958, 123, 1136, 149],
    "category": "Text",
    "text": "2000年 01月 01日"
  },
  {
    "bbox": [70, 201, 118, 228],
    "category": "Text",
    "text": "金額"
  },
  {
    "bbox": [421, 210, 632, 255],
    "category": "Text",
    "text": "¥123,456-"
  }
]

(一部抜粋)

Dots-OCRの特徴的な機能

1. カテゴリ分類

単なるテキスト認識だけでなく、「Section-header」「Text」「Table」などのカテゴリに分類してくれます。これにより、文書の構造を把握しやすくなります。

2. 表の認識

税率内訳の表は、HTMLテーブル形式で出力されました。

<table>
  <thead>
    <tr><th>税率内訳</th><th>税抜金額</th><th>消費税</th></tr>
  </thead>
  <tbody>
    <tr><td>%</td><td></td><td></td></tr>
    <tr><td>%</td><td></td><td></td></tr>
  </tbody>
</table>

3. 座標情報

各テキスト要素のバウンディングボックス(座標)が取得できるため、後処理での位置ベースの情報抽出に活用できます。

Geminiとの比較

同じ領収書画像を使って、Gemini 2.0 Flashとの比較検証を行いました。

Geminiの読み取り結果

プロンプト: 書類に書かれている内容をかきおこしてください。

出力結果:

## 領収書 詳細

| 項目 | 内容 |
| --- | --- |
| **証書番号** | No. 123 |
| **宛名** | 山田 太郎 様 |
| **日付** | 2000年 01月 01日 |
| **金額** | **¥123,456-** |
| **但し書き** | 食事代 として上記正に領収いたしました。 |

### 発行元情報

* **名称:** 株式会社〇〇〇〇
* **郵便番号:** 〒000-0000
* **住所:** 〇〇県〇〇市〇〇町1-2-3 〇〇ビル〇階
* **TEL:** 12345678910
* **FAX:** 01987654321

---

### その他備考

* **税率内訳・消費税欄:** 空欄
* **印紙枠:** あり(未貼付)

比較結果

観点Dots-OCRGemini
テキスト認識精度◎ 正確◎ 正確
出力形式生テキスト + JSON構造化されたMarkdown
レイアウト理解座標ベースで要素を分離意味ベースで項目を整理
表の認識HTMLテーブル形式「空欄」と解釈して報告
付加情報バウンディングボックス座標「印紙枠あり(未貼付)」などの解釈
コスト無料ブラウザ版は無料(API利用時は有料)

比較から見える特性の違い

Dots-OCRの特性

  • 機械処理向き: 座標情報付きで出力されるため、後続の自動処理に適している
  • 忠実な転記: 画像に書かれている内容をそのまま抽出する
  • プログラマブル: JSON形式で位置・カテゴリ情報が取得できる

Geminiの特性

  • 人間向き: 読みやすく構造化された形式で出力される
  • 文脈理解: 「印紙枠あり(未貼付)」のように、画像の意味を解釈して報告
  • 要約・整理: 項目をカテゴリ分けして見やすく整理してくれる

実務での活用シーン

従来OCRが向いているケース

ユースケース理由
座標情報を使った後処理が必要バウンディングボックス付きで出力される
文書のレイアウト解析見出し・テキスト・表などカテゴリ分類される
プログラムで自動処理したい構造化されたJSONデータとして取得できる

代表的なツール: Dots-OCR, Tesseract, PaddleOCR, EasyOCR

LLM-OCRが向いているケース

ユースケース理由
人間が読むレポートを作りたい見やすく整理されたMarkdownで出力される
内容の解釈・補足が欲しい画像の意味まで報告してくれる
項目ごとに整理してほしい自動でカテゴリ分けして構造化してくれる

代表的なツール: Gemini, ChatGPT, Claude

どちらも注意が必要なケース

ユースケース理由
機密文書の処理どちらも画像がサーバーに送信される
オフライン環境での利用どちらもインターネット接続が必須

まとめ

Dots-OCRとGeminiは、それぞれ異なる強みを持っています。

観点Dots-OCRGemini
向いている用途プログラムでの後処理、座標ベースの抽出人間が読む報告書、要約が必要な場面
出力形式生テキスト + JSON(座標付き)構造化されたMarkdown
コスト無料ブラウザ版は無料
環境構築不要不要

使い分けの指針

  • 座標情報が必要な場合 → 従来OCR(Dots-OCRなど)
  • 人間が読みやすい形式が欲しい場合 → LLM-OCR(Geminiなど)
  • 後続の自動処理に渡す場合 → 従来OCR
  • 内容の解釈・要約が欲しい場合 → LLM-OCR

どちらも無料で試せるので、用途に応じて使い分けることをおすすめします。

関連記事


困ったときは

OCRツールの選定や導入でお困りでしたら、AI DARUMAにご相談ください。貴社の要件に応じた、最適なOCR戦略をご提案いたします。

〒723-0062 広島県三原市本町 1丁目7-29 2階 コワーキングスペースarica内