ブログ

11 言語でスクリーンショットの OCR を検証:読めるもの、読めないもの

執筆 InSnap · 公開 · OCR, 文字認識, 言語, 日本語, 韓国語, ロシア語, スクリーンショット

11 言語でスクリーンショットの OCR を検証:読めるもの、読めないもの

11 の画面言語でオフライン OCR を試しました。英語、中国語、ラテン文字の言語はほぼ完璧に読み取れ、日本語、韓国語、ロシア語は読み取れませんでした。数字で示します。

InSnap のオフライン OCR は、テストした 11 の画面言語のうち 8 つをほぼ完璧に読み取り、3 つで失敗しました。その 3 つは日本語、韓国語、ロシア語です。Apple の文字認識 API を同じ方法で試したところ、11 言語すべてで 98% 以上を読み取りました。

ですから「スクリーンショットの OCR は自分の言語で使えるか」という問いには、はい・いいえでは答えられません。文字体系によって変わり、その差は大きいので、コピーした文字を頼る前に確かめる価値があります。

テストの方法

言語ごとに、InSnap 自身の画面から実際の文を 6 つ、その言語の翻訳版から取り、通常のサイズでシステムの UI フォントを使って描画しました。これで、正解の文字がわかっているきれいなテスト画像になります。各シートは Retina(2x)と 1x の両方で作りました。

シートは 2 つのエンジンで読み取りました。

  • InSnap の OCR。同梱のモデルを使い、すべてお使いのコンピューター上で動きます。Mac と Windows で同じです。
  • Apple の Vision 文字認識。macOS に組み込まれた文字認識 API で、高精度モードと言語の自動判定を使いました。API そのものをテストしており、それを利用する特定のアプリではありません。

スコアは、エンジンが読み取った文と本来の文の平均的な一致度です。空白と大文字・小文字は無視しています。100% は、すべての文が正確に返ってきたことを意味します。

結果

11 言語における InSnap OCR と Apple Vision の平均テキスト一致率
言語InSnap OCRApple Vision
英語、ドイツ語、スペイン語、ポルトガル語100%100%
フランス語100%98%
イタリア語99%99%
中国語(簡体字)100%100%
中国語(繁体字)97%100%
日本語39%100%
韓国語12%99%
ロシア語6%99%

Retina と 1x のシートのスコアは 1 ポイント以内の差でした。つまり解像度は問題ではありませんでした。

失敗したときの見え方

弱かった 3 言語は、下手に読まれているのではありません。別のものとして読まれているのです。読む人には完全に明瞭な文に見える、テスト文の 1 つがこちらです。

日本語・韓国語・ロシア語のテスト文
言語本来のテキストInSnap OCR が返した結果
日本語周囲を暗くして、見せたい部分に視線を集めます。周田左暗<、見世左八部分仁視線左集末寸。
韓国語주변을 어둡게 해 중요한 부분에 시선을 모읍니다.牲号号列刮吞2勃早是人刈号卫号L…
ロシア語Затемняет всё вокруг и направляет взгляд на главное.3aTeMHgeT Bcë BOKpyr V HanpaBIgeT B3rnA Ha rnaBHoe.

日本語は漢字こそ残りますが、多くの仮名が形の似た漢字に置き換わります。韓国語は、漢字、数字、記号が入り混じった文字列として返ってきます。ロシア語は、キリル文字に似たラテン文字や数字として読まれます。3 つのどの場合も、出力は文字らしく見えるので、何も警告されません。(韓国語の出力はここでは短くしてあります。)繁体字中国語はおおむね問題ありませんが、いくつかの文字が簡体字の形で返ってきたので、名前や引用は校正してください。

この結果が意味すること

  • 英語、中国語、ラテン文字の言語: きれいなテキストであれば InSnap は正確です。それでも数字と固有名詞は確認してください。詳しくは スクリーンショットの OCR 精度を上げるコツ をご覧ください。
  • 日本語、韓国語、ロシア語: InSnap の OCR から、すべての行を確認せずにコピーしないでください。テストでは Apple の認識 API がこの 3 言語すべてを処理できたので、Mac では、その API を使うツールがこれらの文字体系には適した選択です。Windows に組み込まれた認識機能はテストしていません。
  • 混在するテキスト: できる場合は、一度に 1 つの文字体系を選んでください。

InSnap は Mac と Windows で同じ同梱モデルを使うため、どちらでも結果は同じで、何もアップロードされません。その代わり、対応言語の範囲はそのモデルによって固定されています。

このテストでわからないこと

  • きれいなテキストだけです。 実際のスクリーンショットには圧縮、小さなサイズ、ごちゃついた背景があり、どのエンジンもそこではスコアが下がります。
  • 言語ごとに 6 文だけです。 60 から 90 ポイントの差を示すには十分ですが、どちらも 97% を超える 2 つのエンジンの順位を決めるには足りません。
  • フォントとサイズは 1 種類です。 装飾的なフォントや手書きは、どのエンジンにとっても難しくなります。

よくある質問

InSnap の OCR はどの言語を読めますか?

テストでは、英語、ドイツ語、フランス語、スペイン語、ポルトガル語、イタリア語、中国語(簡体字と繁体字)を 97% 以上で読み取りました。日本語、韓国語、ロシア語は読み取れませんでした。

ロシア語のテキストがラテン文字で返ってくるのはなぜですか?

認識モデルはキリル文字を読むように作られていないため、知っている中で最も近い形を選びます。多くのキリル文字はラテン文字や数字に似て見えるので、出力は崩れた英語のように見えます。

スクリーンショットを大きくしたり、解像度を上げたりすると効果がありますか?

ここでは効果はありませんでした。Retina と 1x のテストシートのスコアは 1 ポイント以内の差でした。限界は画像の画質ではなく、モデルの対応言語の範囲です。

OS に組み込まれた OCR の方が正確ですか?

日本語、韓国語、ロシア語については、はい。テストでは Apple の Vision API がこの 3 言語を 99% 以上で読み取りました。英語、中国語、ラテン文字の言語では、両者は数ポイント以内で同等でした。

次のスクリーンショットは、ホットキーひとつで。

macOS 14.4 以降(Apple Silicon / Intel)· Windows 10 以降(64 ビット)