OCRの精度をチェック!
OCR対応で気になるのは、その精度だ。OCRする部分は名前と企業名のみで、単純に名刺のレイアウトを考えると、名前と企業名以外にも肩書きや住所が記載されている。肩書きは漢字もあればカタカナもあり、カタカナに至っては企業名っぽいものもあるため、誤認識が気になるところだろう。
ところが、いくつかの名刺でチェックしてみたところ、あっさりと名前と企業名だけを認識していった。名前の検出ルーチンは法則性を見つけられなかったが、企業名については株式会社であれば会社の部分をヒントに検出しているようだ。
名刺には縦書き・横書きの2種類があり、「ピットレック」の場合は横書きの文字列の認識を得意としている。縦書きの名刺は読み取り作業を行なうが、表示されるのは取り込みを実行した日時になる仕組みだ。上手く認識できなかった場合も、日時が表示される。
ただ、修正は可能なので、名刺上の名前と企業名を追加すればいい。なお、横書きの文字の場合はカメラから見て、縦に文字が流れていても認識してくれる。
さて、いくつかチェックしてみた名刺は背景が白く、ゴシック体もしくは明朝体系のものばかりで、個性溢れる名刺に対応できるのか疑問に感じた。そこでお手製の名刺を用意し、読み取りの特性をチェックしてみたので、まずは以下の3枚の画像を見てほしい。なおパターンは27種。1パターン重複しているのはご愛嬌ということで。
チェックしてみた文字パターンは上記の通り。縦書きへの精度は期待できないので、横書きばかりとなっている。画像内○が検出成功、△が一部間違いアリ、×は日付もしくはまったく違う結果になったものとなっている。基本1回テストした結果となっているが、2回目では正しく認識されたなど多少のムラがあったので、目安としてもらいたい。
名前と企業名のみの名刺で、明朝体から行書体、縁取り文字、ひらがな、カタカナ、ローマ字などを揃えてみた。およその特性は下記を参考にしてほしい。
- ・ゴシックや明朝体は得意だが、行書体や毛筆体は苦手
- ・ローマ字はYuki Hayashiというように名前と苗字の間にスペースがない場合は、検出しない。逆に企業名は不可
- ・TwitterIDや英字のハンドルネームは検出しない
- ・“大きな文字を名前と認識する”というような検出方法ではない
- ・色つきの文字は認識するが、撮影画像がオーバー気味なので、補正しない場合、黄色や薄い色は検出に失敗しやすい
- ・背景色がある場合、色単色は精度が高い。逆に複雑な絵柄やグラデーションの背景には弱い
- ・透明/半透明名刺の場合は、後ろに白紙を挟んでおくと精度上昇
以上のような結果になったのだが、いわゆるビジネス名刺は派手でないものが多いため、あまり気にしなくてもいいだろう。精度として問題になるのは、オフ会でもらった名刺。個性的なものが多いため、筆者が所有する大半はキレイに検出してくれなかった。
なお、小型や縦長の変形名刺に対しては、付属の「名刺スペーサー」を利用すると標準的な名刺と同じように撮影できる。
またOCRのパターンを見ていると、『名刺以外でも認識するかも』といった印象だったので、DMやディスプレー上に表示したメールの署名などでチェックしてみた。結果、手書き文字はダメ。さらに、プリントアウトされたラベルならば名刺と同じパターンで読み取ってくれそうなものだが、実際にはまったく違う文字列ばかりを読み込んでいた。
なお、カメラのピントは名刺クリッパーの位置で合うように固定されているため、少し離れたものを撮影して文字メモを残すという使い方はできない。フィギュアや小物のリスト保存にいいんじゃないかなと思ったのだが……。