#はじめに
2021年6月にOCR(自動文字認識)のAPIが無償提供されたらしいので試しに使ってみた。
詳細と資料ダウンロードは下記の公式ページから。
本記事は個人的にAPIを検証した結果を載せたものであり、性能を批評するものではありません。
#さっそく使ってみる
今回は読み込みの結果を知りたいだけなのでcurlコマンドを使用してAPIを呼び出してみた。
(AIPエンドポイント等の情報資料は公式サイトで個人情報等を入力してダウンロードしたので呼び出しの箇所は念のため本記事には載せていません)
まずは手始めにこちらから
手書きしたものをスマホのカメラで撮影した画像を読ませてみます。
{
"status":"ok",
"text":"\u3053\u3093\u306b\u3061\u308f",
"candidates":[
["\u3053","\u3055","\u3054","\u30de","\u30b3"],
["\u3093","\uff48","\u3048","\u03ba","\u4eba"],
["\u306b","[blank]","\u306f","\u305f","\u4ec1"],
["\u3061","5","\u53e4","\u03b6","\u65b9"],
["\u308f","\u308e","\u308c","\u306d","\u3086"]
]}
読み込み結果が文字化けしてますね。
jpコマンドで整形して表示させます。
「jq」とは
jsonを整形したり特定の値のみを抜き出して集計したりできるコマンド
下記よりexeファイルをDLして使用可能
https://stedolan.github.io/jq/
{
"status": "ok",
"text": "こんにちわ",
"candidates": [
[
"こ",
"さ",
"ご",
"マ",
"コ"
],
[
"ん",
"h",
"え",
"κ",
"人"
],
[
"に",
"[blank]",
"は",
"た",
"仁"
],
[
"ち",
"5",
"古",
"ζ",
"方"
],
[
"わ",
"ゎ",
"れ",
"ね",
"ゆ"
]
]
}
"text": "こんにちわ"
ちゃんと読み込めてるみたいです。
"candidates"には各文字の候補だった文字が記載されています。
#いろいろなパターンを読ませてみる
手書き文字のクセにも対応しているとのことなのでいろんなパターンで読ませてみましょう。
次は文字の間隔をばらばらにしてみました。
レスポンスの"candidates"を毎回表示していると長くて見づらいのでjqのオプションで"text"のみを切り出していきましょう。
"おはようございます"
間隔があっても問題なく読めるようです。
次はこちら
スカイツリーの住所です。
密度の高い漢字や数字、記号が混在しています。
"東京都墨田区押上は目に2"
漢字はほぼ問題なく読めていますね。
数字や記号に関しては
1丁 ⇒は
1- ⇒に
となってしまっているようです。
「1」や「-」の書き方が雑なのでは?という気もしますが。
次は読ませることを気にせずに普段通り書いた文字になります。
"だぶ汚い文字"
一つ目の「い」以外は完璧ですね。
「い」は小さすぎ&書き方が悪すぎたんだと思います。
最後は個人的に最も驚いたパターン。
日本人以外には書き分け、読み分けが困難と言われている「ツシソンリ」です。
"ツシソンり"
なんと認識しました。
「リ」が「り」になってはいますが、それは筆者の書き分けの問題もあるでしょうし、「ツシソンリ」の5パターンの差異自体は認識できたということになります。
#感想
いかがでしたでしょうか。
まだ完璧に読み込めない部分もありましたが、ディープラーニングAIを使用しているとのことなので今後さらなる認識率アップが見込めるのではないかと思います。
冒頭でも紹介しましたが、本APIは無償で提供されているものなので興味があれば公式サイトから資料をDLしてみてください。