2023.12.12 |
OCRの文字認識精度を向上させるには?【帳票・設定編】
手動によるデータ入力の時間を短縮し、入力作業の効率化が期待できるOCR(Optical Character Recognition:光学的文字認識)。しかし、「OCRを試してみたけど、認識精度が悪く導入を諦めてしまった」という方もいるのではないでしょうか。実は、OCRで使用する帳票やOCRソフトウェアの設定によって認識精度が変わることをご存じですか?
この記事では、OCRの認識精度を向上させるために、使用する帳票のレイアウトや作り方、OCRソフトウェアでの設定のポイントについて紹介します。別の記事で、OCRに適した画像を生成することで認識精度を向上させる方法を解説しております。そちらもぜひ参考にしてみてください。
OCRについては次の記事で詳しく説明しています。あわせてお読みください。
1. OCRに適した帳票を準備しよう
認識精度を上げるための帳票のポイントについて紹介します。
1-1. OCRの対象範囲を明確&簡潔にしよう
● 非定型な帳票よりも同一フォーマットの帳票【手書き文字・活字共通】
OCRするときは、同じフォーマットの帳票を読み取るのが基本です。レイアウトやフォーマットなどが定型で、同じ位置に同じ要素がある書類のほうが読み取り精度は高くなります。記載位置の不統一や位置ズレなどが起こらないように帳票を作成・使用しましょう。
● 認識する項目を絞り、簡潔に!【手書き文字】
あらかじめ印字できる項目や記号(郵便番号のマーク「〒」「-」や「年、月、日」)などをうまく利用し、認識する部分を減らしましょう。これらの記号は帳票にあらかじめ印字しておき、OCRの認識対象外とすることで、認識精度を上げることができます。
● 文字間隔を広く取ろう【手書き文字】
手書きで記入する欄が狭く、文字が詰まってしまうと認識率が下がります。記入欄を大きく確保し、文字間隔を広く取れるようにしましょう。
1-2. 手書き文字を減らそう
● 手書き文字より活字を使う【手書き文字】
あらかじめ印字できる文字は帳票に印刷しておき、手書きする部分を減らしましょう。
なお、手書き文字を読み取る場合は、AI-OCRを利用するのがおすすめです。
● 数字やマークをうまく使う【手書き文字】
商品名や項目を手書きで記入するのではなく、コードなどを利用して認識精度が高いマークや数字を認識させましょう。
記入文字の認識は以下の順で読み取り精度が高くなるので、マークと数字を読み取ったほうが認識精度は上がります。
マーク > 数字 > 英字 > カナ・記号 > 漢字
例えば、商品名や摘要など、商品マスターやデータベースから引き出し可能な項目は、漢字で記入するのではなく、できるだけコードを使って記入してもらいマークや英数字中心の読み取りにするのがよいでしょう。
● マークシート形式を使う【手書き文字】
選択式の設問はマークシート形式を使い、手書き文字の記入を減らしましょう。マークを読み取ることで、手書き文字よりも認識精度を高められます。
1-3. 罫線やはしご枠の使い方
● 記入領域は1行または1文字ごとに区切る【手書き文字・活字共通】
1つの記入領域を大きくとるのではなく、1行ごとに枠線をつけて分割したほうが認識精度は上がります。手書きの場合1文字ずつの区切りを付けるために、はしご枠を利用するとさらによいです。
なお、枠線やはしご枠を利用する場合は、文字が文字枠に接触したり文字枠からはみ出たりすることを避けるために、文字枠をできるだけ大きめに作成するとよいでしょう。
● 罫線は角を丸くしない【手書き文字・活字共通】
角の丸い罫線は文字と誤認識してしまう可能性があるため、なるべく直線を使いましょう。
● 点線/破線はなるべく使用しない【手書き文字・活字共通】
点線や破線も文字と誤認識してしまう可能性があるため、なるべく実線を使いましょう。
2. OCRソフトウェアの設定をチューニングしよう
認識精度を上げるためのOCRソフトウェアの設定について紹介します。使用するOCRの種類にあわせてポイントをご確認ください。
OCRの種類
OCRには、「従来型OCR」と「AI-OCR」の2種類があります。
- 従来型OCR
AI技術を活用せずに文字を抽出・認識する技術です。AI-OCRのような学習を重ねて、認識精度を上げていくという使い方はできません。 - AI-OCR
OCRにAI技術を組み合わせたもので、認識結果をAIに学習させることで認識精度を高めることができます。アップデートなどの対応により高精度な認識が可能で、認識が難しい手書き文字なども精度を高めることができます。
2-1. 従来型OCRを使うときのポイント
● 従来型OCRでの読み取りに向いている文字
以下のような文字種は、AI-OCRより従来型OCRで文字認識すると精度が良い傾向があります。
- 活字(固定幅フォント)
- 英数字、カナ、または記号
● OCRする文字の「文字種」を限定しよう
OCRソフトウェアの読み取り設定で、読み取る項目の文字種をあらかじめ限定しておくと認識精度が向上します。
例えば、先頭2桁が英字、残り4桁が数字で構成される6桁のコードを読み取るときは、先頭2桁と残り4桁のそれぞれで読み取り領域を指定し、前者は英字のみ、後者は数字のみを指定するとよいでしょう。
● 認識対象外の領域設定を活用しよう
認識する領域の中に「¥」や「円」などの文字が印字されている場合は、これらの箇所を「認識対象外」の領域として設定しましょう。認識対象外に設定することで、特殊文字を誤認識するリスクを減らすことができます。
● 認識する領域サイズを調整しよう(上書きマークを認識する場合)
文字の上に丸を囲むようなマークを認識する場合は、認識する範囲を広めに設定しましょう。文字の周辺だけを認識の領域として設定すると、領域をはみ出して大きくマークされた場合に認識できないことがあります。
● グループ化による単一選択を活用しよう(マークを認識する場合)
ラジオボタンのように、設問内で複数の選択肢の中から一つだけをマークする場合、一つずつマークの設定をするのではなくグループ化を行うことで、一番記入量が多い部分のみを認識できます。この設定により、記入したマークが外側にはみ出てしまっても、誤認識しないようにできます。
なお、この設定はOCRソフトウェアによって違いが大きいため、ご注意ください。
2-2. AI-OCRを使うときのポイント
● フォントを学習させよう
固定幅フォントの英数字カナ記号を認識する場合は、フォントを学習させると認識精度が高くなります。例えば、紙に出力した帳票の中にプリンタ特有のフォントが使用された場合などに、そのフォントがOCRソフトウェアで未対応であっても学習させることができます。
お使いのOCRソフトウェアがフォントを学習する機能をサポートしていれば、利用するとよいでしょう。
● 手書き文字は丁寧に!
AI-OCRでもくずし字や略字、クセ文字などがあると認識精度が落ちるので、読み取りやすい文字を書いていただけるように心がけましょう。帳票の中に手書き文字の記入例や書き方などを入れて、読みやすい文字で書くことを意識づけるような方法を試してみてください。
2-3. AI-OCRソフトウェア「DynaEye 11」で使えるポイント
PFUのAI-OCR ソフトウェア「DynaEye 11」には、前述のポイント以外にも認識精度を向上できるチューニング方法や設定があります。
● 認識前の画像で点線/破線を実線に加工する
読み取り精度が低い点線/破線が含まれる原稿の画像を、ペイント等の画像編集ソフトで実線に上書きすることにより、点線や破線などを文字と誤認識してしまうリスクを減らせます。
ペイント等で編集する場合は、画像を編集したことで解像度が低下したり、DynaEyeで扱えない画像ファイルになったりしないように注意してください。
● 読み取る文字によって、AI-OCRを利用する/しないを切り替える
以下の条件をすべて満たす文字を認識する場合は、従来型OCRでの認識を設定すると精度が良い傾向があります。
- 活字(固定幅フォント)
- 英数字、カナ、または記号
一方、手書き文字を認識する場合は、AI-OCRでの認識を設定するなど、文字によって使い分けるのがよいでしょう。
3. まとめ
OCRの認識精度を上げるための帳票について、以下のポイントをお伝えしました。
- OCR対象範囲を明確&簡潔にしよう
- 手書き文字を減らそう
- 罫線やはしご枠の使い方
OCRソフトウェアでの設定については、従来型OCRとAI-OCRの強みや得意分野を考慮してチューニングするとよい点をご紹介しました。
OCRを利用する場合でも、人による目視のチェックを完全になくすことは難しいですが、認識精度を上げるポイントを知り、OCRソフトウェアの機能を活用することで認識精度を向上できます。
PFUでは、インストールから60日間無料でDynaEye 11を使用できる「無償評価版ダウンロード」を提供しております。機能制限なしで製品を使用できるので、操作性や文字認識の結果を無償で確かめていただけます。無償評価版ダウンロードの詳細については、次のバナーからご確認ください。