はじめに
Azure AI Visionが2028年9月25日に廃止されるというアナウンスがあった。弊社では、Azure AI VisionのOCR機能を利用した受託開発を過去に行っている。代替ツールとして、同じくAzureが提供するDocument Intelligenceが推奨されている。今回は、従来手法と代替手法だけでなくGoogle Cloud VisionのOCRも加えて、日本語手書き文字の精度検証を行う。
実験
最初に、青空文庫にある小説の一部を抜き出し手書きのあと撮影し画像にする(下図参照)。

これらをOCRの入力とした。採点方法は以下通り(減点法)。
- 誤字1つにつき-1点
- 余分な文字1つにつき-1点
- 読み落とし1つにつき-1点
結果は以下の通り。ただし、AAV=Azure AI Vision、ADI=Azure Document Intelligence、GCV=Google Cloud Visionとした。

赤字は減点箇所である。また、それぞれの文章の末尾に記載した数字が減点の合計値である。上の結果を見ると
- 山月記:「隴」が読めているのはGCVだけである。一方で、GCVは「宝」と「末」が読めない。「末」は「未」と間違えている。
- 吾輩は猫である:Azure系は「記憶」近傍で間違える。
- 雪国:「向」が読めているのはGCVだけである。
- 最後の一句:ADIだけ余分な「冷」を追加している。
- 五重塔:「樫」が読めているのは、GCVのOCRだけである。一方で、GCVは、「畳」が読めない。
これらの結果をまとめると下図になる。

数字の上ではADIが最も良いが誤差の範囲内である。しかし、GCVでは2つのサンプルで正解していることは注目に値する。また、処理速度は以下の通りである(単位は秒)。

OCR適用時の処理速度はGCVが最も速いことが分かる。
まとめ
今回は、日本語手書き文字を対象とした、3つのOCRツールの精度比較を行った。サンプルが限られているので正確なことは言えないが、どれを使っても大差ないと思われる。ただし、処理速度はGoogle Cloud Visionが最も速い。