(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024074366
(43)【公開日】2024-05-31
(54)【発明の名称】文字読取システム及び文字読取方法
(51)【国際特許分類】
G06V 30/196 20220101AFI20240524BHJP
G06F 16/33 20190101ALI20240524BHJP
【FI】
G06V30/196 B
G06F16/33
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022185471
(22)【出願日】2022-11-21
(71)【出願人】
【識別番号】516307909
【氏名又は名称】Global Walkers株式会社
(74)【代理人】
【識別番号】110000925
【氏名又は名称】弁理士法人信友国際特許事務所
(72)【発明者】
【氏名】樋口 未来
(72)【発明者】
【氏名】酒巻 龍之輔
(72)【発明者】
【氏名】菱田 俊介
(72)【発明者】
【氏名】高野 晃
【テーマコード(参考)】
5B064
5B175
【Fターム(参考)】
5B064AA10
5B064CA07
5B064CA08
5B064DA14
5B175DA01
(57)【要約】
【課題】読み取り画像に含まれる文字の検出漏れを低減させる。
【解決手段】本発明の一態様に係る文字読取システム100は、画像読取部1が読み取って得た読み取り画像の中から、第1文字読取モデルを用いて文字を検出及び認識して第1読取結果を出力する第1文字読取部と、読み取り画像の中から、第1文字読取モデルとは種類が異なる第2文字読取モデルを用いて文字を検出及び認識して第2読取結果を出力する少なくとも1つの第2文字読取部と、読み取り画像に含まれる一つの文字の読み取り情報に対して、第1読取結果及び第2読取結果の両方を対応付けて検索用DB3に記憶する制御部20と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
文字を含む画像を読み取る画像読取部が読み取って得た読み取り画像の中から、文字を検出及び認識して読取結果を出力する少なくとも2つの文字読取部を備える文字読取システムであって、
前記読み取り画像の中から、第1文字読取モデルを用いて文字を検出及び認識して第1読取結果を出力する第1文字読取部と、
前記読み取り画像の中から、前記第1文字読取モデルとは種類が異なる第2文字読取モデルを用いて文字を検出及び認識して第2読取結果を出力する少なくとも1つの第2文字読取部と、
前記読み取り画像に含まれる一つの文字の読み取り情報に対して、前記第1読取結果及び前記第2読取結果の両方を対応付けて記憶部に記憶する制御部と、を備える
文字読取システム。
【請求項2】
前記制御部は、前記一つの文字の読み取り情報に対する前記第1読取結果と前記第2読取結果とが異なる場合であっても、両方の読取結果を前記一つの文字に対応付けて前記記憶部に記憶する
請求項1に記載の文字読取システム。
【請求項3】
前記第1文字読取モデル及び前記第2文字読取モデルのそれぞれは、認識対象の種類が異なる複数の認識モデルの組み合わせによって構成される
請求項2に記載の文字読取システム。
【請求項4】
さらに、入力された検索ワードに対応する文字又は文字列を検索する検索部を備え、
前記検索部は、前記検索ワードに対応する文字又は文字列を前記記憶部から検索し、前記第1文字読取部及び前記第2文字読取部に対して、入力された検索ワードに対応する文字又は文字列の検出及び認識を指示して、指示に基づく前記第1読取結果及び前記第2読取結果を出力する
請求項3に記載の文字読取システム。
【請求項5】
さらに、前記記憶部において、前記読み取り画像に含まれる一つの文字に対して、前記第1読取結果及び第2読取結果に加えて、前記読み取り画像の生成元のドキュメントの情報も対応付けて管理する文書群提示部を備え、
前記文書群提示部は、前記検索部による検索の結果として、前記検索ワードに対応する前記第1読取結果、前記第2読取結果、並びに、前記第1読取結果及び前記第2読取結果と対応付けられた前記ドキュメントの情報を出力する
請求項4に記載の文字読取システム。
【請求項6】
さらに、文字列生成部を備え、
前記文字列生成部は、前記第1読取結果及び/又は前記第2読取結果に含まれる文字の前記読み取り画像における位置の情報に基づいて、前記文字を含む文字列の情報を生成し、
前記検索部は、前記検索ワードに対応する文字又は文字列を、前記文字列生成部が生成した文字列を対象として検索する
請求項4又は5に記載の文字読取システム。
【請求項7】
さらに、画像分割部を備え、
前記画像分割部は、前記読み取り画像を所定数に分割して分割読み取り画像を生成し、生成した各分割読み取り画像を前記第1文字読取部及び前記第2文字読取部に出力する
請求項4に記載の文字読取システム。
【請求項8】
さらに、画像回転部を備え、
前記画像回転部は、前記読み取り画像を所定の回転角度分回転させた回転読み取り画像を生成し、生成した前記回転読み取り画像を前記第1文字読取部及び前記第2文字読取部に出力する
請求項4に記載の文字読取システム。
【請求項9】
さらに、画像拡大縮小部を備え、
前記画像拡大縮小部は、前記読み取り画像を所定の拡大率で拡大した拡大読み取り画像、及び/又は所定の縮小率で縮小した縮小読み取り画像を生成し、生成した前記拡大読み取り画像及び/又は前記縮小読み取り画像を、前記第1文字読取部及び前記第2文字読取部に出力する
請求項4に記載の文字読取システム。
【請求項10】
文字を含む画像を読み取る画像読取部が読み取って得た読み取り画像の中から、文字を検出及び認識して読取結果を出力する少なくとも2つの文字読取部を備える文字読取システムによる文字読取方法であって、
前記読み取り画像の中から、第1文字読取モデルを用いて文字を検出及び認識して第1読取結果を出力する第1文字読取手順と、
前記読み取り画像の中から、前記第1文字読取モデルとは種類が異なる第2文字読取モデルを用いて文字を検出及び認識して第2読取結果を出力する少なくとも1つの第2文字読取手順と、
前記読み取り画像に含まれる一つの文字の読み取り情報に対して、前記第1読取結果及び前記第2読取結果の両方を対応付けて記憶部に記憶させる制御手順と、を含む
文字読取方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字読取システム及び文字読取方法に関する。
【背景技術】
【0002】
従来、文字を含む画像を光学的に読み取り、読み取り画像の中に含まれる文字を認識するOCR(Optical Character Recognition:光学文字認識)の技術が知られている。OCRの技術においては、文字の検出精度、認識精度が高いことが重要とされる。
【0003】
例えば、特許文献1には、性質の異なる2種類以上のOCRエンジンでOCR認識するOCR認識手段と、認識結果が一致した文字は自動的にデータベースへ保存し、一致しない文字又は信頼性が低い文字は確認修正後にデータベースへ保存するデータベース保存手段と、を備えたOCRシステムが開示されている。特許文献1に記載の技術によれば、OCRシステムが文字を誤認識する確率を下げることができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、一般的なOCRの技術においては、読み取り画像の中から文字列を検出し、検出した文字列の中の文字を読み取ることが行われる。したがって、文字列の検出に失敗した場合、検出されなかった文字列に含まれる文字は認識することができない。
【0006】
しかし、OCRの読み取り対象となるドキュメント上に存在する文字は、印刷された文字のように認識しやすいものばかりではない。例えば、手書きの文字の中には、人の目から見ても認識しづらいものも含まれる。また、特に日本語は文字の数も文字の種別も多い上に、フォントの種類も豊富である。さらに、日本語には横書きだけでなく縦書きも存在するため、文字を検出する場合の方向も重要となる。
【0007】
また、ドキュメントにおいては、色付きや網掛けなどの背景が存在したり、引き出し線等の文字以外の線や記号などが存在したり、文字が図の中に含まれたりすることもある。従来のような、印刷文字を検出対象としたOCRの技術では、このようなドキュメントの読み取り画像から文字列を検出することは難しいと考えられる。
【0008】
特許文献1に記載の技術では、文字の認識精度の向上を図ることができるものの、検出されないで漏れてしまう文字の数が増えてしまうことが想定される。
【0009】
本発明は、上記の状況を考慮してなされたものであり、本発明の目的は、読み取り画像に含まれる文字の検出漏れを低減させることにある。
【課題を解決するための手段】
【0010】
本発明の一態様に係る文字読取システムは、文字を検出及び認識して読取結果を出力する少なくとも2つの文字読取部を備える文字読取システムである。本発明の一態様に係る文字読取システムは、読み取り画像の中から、第1文字読取モデルを用いて文字を検出及び認識して第1読取結果を出力する第1文字読取部と、読み取り画像の中から、第1文字読取モデルとは種類が異なる第2文字読取モデルを用いて文字を検出及び認識して第2読取結果を出力する少なくとも1つの第2文字読取部と、読み取り画像に含まれる一つの文字の読み取り情報に対して、第1読取結果及び第2読取結果の両方を対応付けて記憶部に記憶する制御部と、を備える。
【発明の効果】
【0011】
本発明の少なくとも一態様によれば、読み取り画像に含まれる文字の検出漏れを低減させることができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0012】
【
図1】本発明の一実施形態に係る文字読取システムの概略構成例を示すブロック図である。
【
図2】本発明の一実施形態に係る文字読取システムを構成する計算機のハードウェアの構成例を示す図である。
【
図3】本発明の一実施形態に係る文字読取システムにおける文字読取部の構成例を示す図である。
【
図4】本発明の一実施形態に係る文字読取システムにおける読み取り画像に含まれる文字と、文字読取部による認識結果との対応例を示す図である。
【
図5】本発明の一実施形態に係る文字読取システムにおける文書群提示部による検索結果の表示例を示す図である。
【
図6】本発明の一実施形態に係る文字読取システムにおける文字列生成部による文字列生成例を示す図である。
【
図7】本発明の一実施形態に係る文字読取システムにおける文字列生成部によって文字列の情報が生成された場合における、検索部による検索結果の例を示す図である。
【
図8】本発明の一実施形態に係る文字読取システムにおける画像分割部による読み取り画像の分割例を示す図である。
【
図9】本発明の一実施形態に係る文字読取システムにおける画像回転部による読み取り画像の回転例を示す図である。
【
図10】本発明の一実施形態に係る文字読取システムにおける画像拡大縮小部による読み取り画像の拡大及び/又は縮小例を示す図である。
【
図11】本発明の一実施形態に係る文字読取システムにおける文字読取処理の手順の例を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態(以下、「本実施形態」と称する)の例について、添付図面を参照しながら説明する。なお、本発明は本実施形態に限定されるものではなく、本実施形態における種々の数値等は例示である。また、本明細書及び図面において、同一の構成要素又は実質的に同一の機能を有する構成要素には同一の符号を付すこととし、重複する説明は省略する。
【0014】
<文字読取システムの概略構成>
まず、
図1を参照して、本発明の一実施形態に係る文字読取システム100の構成について説明する。
図1は、文字読取システム100の概略構成例を示すブロック図である。
【0015】
図1に示すように、文字読取システム100は、画像読取部1、文字読取部2、検索用DB(Database)3、検索部4、検索ワード入力部5、文書群提示部6、表示部7、及び、制御部20を含む。また、文字読取システム100は、必要に応じて、文字列生成部8、画像分割部9、画像回転部10、及び/又は画像拡大縮小部11を含む。
【0016】
すなわち、破線の枠で囲って示した文字列生成部8、画像分割部9、画像回転部10及び画像拡大縮小部11は、必ずしも本実施形態の文字読取システム100に必須の構成ではなく、文字読取システム100は、これらのブロックを備えない構成としてもよい。もしくは、文字読取システム100は、これらのブロックのうちのいずれか一つ又は複数のブロックを備える構成としてもよい。
【0017】
[画像読取部]
画像読取部1は、文字が記載されたドキュメントを光学的に読み取り、読み取り画像を生成する。画像読取部1は、例えば、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor Image Sensor)などで構成される撮像素子と、該撮像素子の動作を制御する走査制御部(いずれも図示略)と、を含む。
【0018】
なお、本実施形態では、文字読取システム100が画像読取部1を備える構成を例に挙げるが、本発明はこれに限定されない。本発明の文字読取システムは、画像読取部1を備えないで、外部の画像読取装置から出力された読み取り画像や、PDF(Portable Document Format)化されたファイルなどを対象として文字の検出を行うシステムとして構成されてもよい。
【0019】
[文字読取部]
文字読取部2は、第1文字読取部2-1、第2文字読取部2-2、・・・第n文字読取部2-n(nは3以上の自然数)(それぞれ、第1文字読取部又は第2文字読取部の一例)を含む。第1文字読取部2-1、第2文字読取部2-2、・・・第n文字読取部2-nのそれぞれは、種類の異なる複数の認識モデルを組み合わせた文字認識(読取)モデルよって構成される。そして、第1文字読取部2-1、第2文字読取部2-2、・・・第n文字読取部2-nのそれぞれは、画像読取部1によって生成された読み取り画像の中から文字を検出して、検出した文字を認識し、認識(読取)結果を検索用DB3に出力する。
【0020】
文字読取部2が使用する認識モデルには、例えば、深層学習の手法を用いて物体を検出するAI(Artificial Intelligence)モデルを用いることができる。物体検出のAIモデルには、例えば、YOLO(You Look Only Once)、EfficientDet等がある。文字読取部2が物体検出用のAIモデルを用いて文字検出を行うことにより、ドキュメントに含まれる手書きやかすれのある不明瞭な文字等も、AIモデルにおける深層学習を調整することにより、適切に読み取ることが可能となる。
【0021】
なお、文字読取部2が使用する認識モデルは、物体検出の技術を使用しない通常のAI-OCRで構成されてもよく、AIの技術を用いないOCRで構成されてもよい。文字読取部2の構成例については、
図3を参照して後述する。
【0022】
[検索用DB]
検索用DB3(記憶部の一例)は、第1文字読取部2-1、第2文字読取部2-2、・・・第n文字読取部2-nのそれぞれによる認識結果を格納するデータベースである。検索用DB3においては、読み取り画像に含まれる1つの文字に対して、第1文字読取部2-1、第2文字読取部2-2、・・・第n文字読取部2-nのすべての認識結果が対応付けて管理される。読み取り画像に含まれる文字と、文字読取部2による認識結果との対応例については、
図4を参照して後述する。
【0023】
また、検索用DB3には、読み取り画像に含まれる文字と文字読取部2による認識結果との対応情報に関して、読み取り画像の生成元となったドキュメント情報を対応付けて格納される。これにより、検索した文字又は文字列がどのドキュメントに存在するかの情報も、ユーザに提示することができる。なお、検索した文字又は文字列がどのドキュメントに存在するかという情報は、文書群提示部6によって提示される。
【0024】
[検索部]
検索部4は、検索ワード入力部5を介してユーザによって入力された検索ワードをキーとして、検索用DB3を検索し、検索結果を文書群提示部6に出力する。もしくは、検索部4は、検索ワードに基づく文字の検出を文字読取部2に指示し、検索部4からの指示に基づいて、文字読取部2が複数の認識結果を文書群提示部6に出力するようにしてもよい。
【0025】
[検索ワード入力部]
検索ワード入力部5は、文字読取システム100によって提供される検索ワード入力用の検索UI(User Interface:図示略)等によって構成され、ユーザによって入力された検索ワードの情報を検索部4に出力する。
【0026】
[文書群提示部]
文書群提示部6は、検索部4によって検索された文字を含むドキュメントの情報を一覧にし、該一覧を表示部7に出力して表示部7の検索結果表示画面(図示略)上に表示させる。文書群提示部6により生成される検索結果表示画面の構成例については、
図5を参照して後述する。
【0027】
[制御部]
制御部20は、文字読取システム100を構成する各部の動作を制御する。例えば、制御部20は、読み取り画像に含まれる一つの文字に対して、第1文字読取部2-1、第2文字読取部2-2、・・・第n文字読取部2-nのすべての認識結果と、読み取り画像が生成されたドキュメント情報とを対応付けて検索用DB3に記憶させる制御の他、
図1に示す各ブロックの機能を制御する。
また、制御部20は、読み取り画像に含まれる一つの文字の読み取り情報に対する文字読取部2による認識結果が複数種類存在する場合であっても、それらのすべての認識結果を、認識対象である一つの文字に対応付けて検索用DB3に記憶させるように制御する。なお、一つの文字の読み取り情報に対する認識結果の対応付けは、第1文字読取部2-1、第2文字読取部2-2、・・・第n文字読取部2-nのそれぞれが行ってもよい。
【0028】
[表示部]
表示部7は、文書群提示部6から出力された一覧を表示部505(
図2参照)の画面上に検索結果表示画面として表示させるUI等によって構成される。
【0029】
[文字列生成部]
文字列生成部8は、検索用DB3に格納された各文字の読み取り画像上における位置関係の情報に基づいて、文字列を生成する。例えば、
図4で後述するように、検出された文字が「製」であり、この「製」の文字の近傍に「造進捗」の各文字が存在する場合には、文字列生成部8は、「製造進捗」の文字列を生成する。
【0030】
そして、文字列生成部8は、生成した文字列の情報を検索用DB3に格納する。検索用DB3に格納された文字列は、検索部4による検索の対象となる。
【0031】
なお、文字読取システム100を、文字列生成部8を含めずに構成することもできる。この場合、検索部4は、検索ワード入力部5から検索ワードとして入力された文字又は文字列に含まれる各文字と、検索用DB3に格納された各文字とを、一文字ずつ比較して検索する。文字列生成部8による文字列の生成例については、
図6を参照して後述する。
【0032】
[画像分割部]
画像分割部9は、画像読取部1で生成された読み取り画像を、予め定められた所定の分割数、又は、操作入力部506(
図2参照)を介してユーザにより入力された分割数で分割し、分割後の各分割読み取り画像を文字読取部2に出力する。画像分割部9による読み取り画像の分割例については、
図8を参照して後述する。
【0033】
[画像回転部]
画像回転部10は、画像読取部1によって生成された読み取り画像、又は、画像分割部9によって分割された分割読み取り画像を、予め定められた所定の回転角度、又は、操作入力部506を介してユーザにより入力された回転角度に基づいて回転させ、回転後の読み取り画像を文字読取部2に出力する。画像回転部10が回転させる角度は1つであってもよく、複数であってもよい。回転させる角度が複数である場合、画像回転部10から文字読取部2に対しては、複数の各角度分回転された各読み取り画像が出力される。画像回転部10による画像の回転例については、
図9を参照して後述する。
【0034】
[画像拡大縮小部]
画像拡大縮小部11は、画像読取部1によって生成された読み取り画像、画像分割部9によって分割された分割読み取り画像、画像回転部10によって回転された読み取り画像、又は、回転された分割読み取り画像を、拡大又は縮小する。拡大率又は縮小率は、予め設定されていてもよく、操作入力部506を介してユーザにより入力されたものであってもよい。画像拡大縮小部11は、拡大又は縮小後の読み取り画像を文字読取部2に出力する。
【0035】
画像拡大縮小部11が拡大させるサイズ又は縮小させるサイズは1つであってもよく、複数であってもよい。拡大又は縮小させる倍率が複数ある場合、画像拡大縮小部11から文字読取部2に対しては、複数の拡大率によって拡大された各読み取り画像、及び/又は、複数の縮小率によって縮小された各読み取り画像が出力される。
【0036】
なお、本実施形態に係る文字読取システム100は、不図示のサーバとクライアントとの協調によって、又はクライアント単体によって実現可能である。文字読取システム100を構成する各部の、サーバ又はクライアントへの割り当てのパターンとしては、例えば以下に示すパターン(1)~(6)等がある。
【0037】
パターン(1):
サーバ:画像読取部1、文字読取部2、検索用DB3、検索部4、文書群提示部6、文字列生成部8、画像分割部9、画像回転部10、画像拡大縮小部11、制御部20
クライアント:検索ワード入力部5、表示部7
【0038】
パターン(2):
サーバ:画像読取部1、文字読取部2、検索用DB3、検索部4、文書群提示部6、文字列生成部8、画像分割部9、画像回転部10、画像拡大縮小部11
クライアント:検索ワード入力部5、表示部7、制御部20
【0039】
パターン(3):
サーバ:文字読取部2、検索用DB3、検索部4、文書群提示部6、文字列生成部8、画像分割部9、画像回転部10、画像拡大縮小部11
クライアント:画像読取部1、検索ワード入力部5、表示部7、制御部20
【0040】
パターン(4):
サーバ:文字読取部2、検索用DB3、文字列生成部8、画像分割部9、画像回転部10、画像拡大縮小部11
クライアント:画像読取部1、検索部4、検索ワード入力部5、文書群提示部6、表示部7、制御部20
【0041】
パターン(5):
サーバ:文字読取部2、検索用DB3、文字列生成部8
クライアント:画像読取部1、検索部4、検索ワード入力部5、文書群提示部6、表示部7、画像分割部9、画像回転部10、画像拡大縮小部11、制御部20
【0042】
パターン(6):
サーバ:-
クライアント:画像読取部1、文字読取部2、検索用DB3、検索部4、検索ワード入力部5、文書群提示部6、表示部7、文字列生成部8、画像分割部9、画像回転部10、画像拡大縮小部11、制御部20
【0043】
<文字読取システムの制御系の構成>
次に、
図2を参照して、文字読取システム100を構成する計算機のハードウェアの構成について説明する。
図2は、文字読取システム100を構成する計算機のハードウェアの構成例を示すブロック図である。
【0044】
図2に示すように、計算機50は、バスBにそれぞれ接続されたCPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503及び不揮発性ストレージ504を備える。また、計算機50は、表示部505、操作入力部506及び通信I/F(Interface)部507を備える。
【0045】
CPU501は、本実施形態に係る文字読取システム100の各機能を実現するソフトウェアのプログラムコードをROM502から読み出してRAM503に展開して実行する。もしくは、CPU501は、プログラムコードをROM502から直接読み出してそのまま実行する。なお、計算機50は、CPU501の代わりに、MPU(Micro-Processing Unit)等の処理装置を備えてもよい。また、画像処理の高速化を目的として、CPU501と組み合わせて、GPU(Graphics Processing Unit)やAIアクセラレーター等を用いてもよい。
RAM503には、CPU501による演算処理の途中に発生した変数やパラメータ等が一時的に書き込まれる。
【0046】
不揮発性ストレージ504は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フレキシブルディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、不揮発性のメモリカード等で構成される。不揮発性ストレージ504には、OS(Operating System)、各種のパラメータの他に、文字読取システム100を機能させるためのプログラムが格納される。また、不揮発性ストレージ504には、検索用DB3(
図1参照)が格納される。
【0047】
なお、プログラムは、ROM502に格納されていてもよい。プログラムは、コンピュータが読取り可能なプログラムコードの形態で格納され、CPU501は、当該プログラムコードに従った動作を逐次実行する。つまり、ROM502又は不揮発性ストレージ504は、コンピュータによって実行されるプログラムを格納した、コンピュータ読取可能な非一過性の記録媒体の一例として用いられる。
【0048】
表示部505は、例えば、LCD(Liquid Crystal Display)や有機EL(Electro-Luminescence)などのパネルで構成されるモニタである。
操作入力部506は、例えば、マウスやキーボードなどで構成され、ユーザによる操作に応じた操作信号を生成してCPU501に供給する。
【0049】
なお、表示部505と操作入力部506とは、タッチパネルとして一体に構成されてもよい。また、計算機50は、表示部505及び操作入力部506を備えない構成にしてもよい。この場合、計算機50は、通信I/F部507を介して接続される外部装置の操作入力部から入力された情報を取得し、計算機50によって生成された情報を、外部装置の表示部に出力する。
【0050】
通信I/F507は、不図示の外部装置との間で行われる通信の制御を行う通信デバイス等により構成される。
【0051】
<文字読取部の構成>
次に、
図3を参照して、文字読取部2の構成について説明する。
図3は、文字読取部2の構成例を示す図である。
【0052】
図3に示す例では、第1文字読取部2-1は、「漢字100字(1)」の認識モデルと、「フォント1」の認識モデルと、「回転0deg」の認識モデルと、「背景白」の認識モデルとを掛け合わせた文字認識モデル(第1文字読取モデル又は第2文字読取モデルの一例)として構成される。
【0053】
「漢字100字(1)」の認識モデルは、100種類の漢字を60個の単位で区分した各区分のうちの1番目の区分に分類される漢字の認識モデルである。「フォント1」の認識モデルは、明朝体、ゴシック体等の文字のフォントの種類の1つを示す「フォント1」の認識モデルである。「回転0deg」の認識モデルは、0度回転させた、すなわち、回転を加えていない文字の認識モデルである。「背景白」の認識モデルは、白色の背景の認識モデルである。
【0054】
この第1文字読取部2-1によれば、100種類の漢字を60個の単位で区分した各区分のうちの1番目の区分に分類される、「フォント1」の書体で表現された漢字であり、回転角度が「0度」であり、背景が「白色」である文字を検出及び認識することができる。
【0055】
また、第2文字読取部2-2は、「漢字100字(1)」の認識モデルと、「フォント1」の認識モデルと、「回転0deg」の認識モデルと、「背景網掛け」の認識モデルとを掛け合わせた文字認識モデル(第1文字読取モデル又は第2文字読取モデルの一例)によって構成される。「背景網掛け」の認識モデルは、網掛けの背景の認識モデルである。
【0056】
つまり、
図3に示す例では、文字読取部2(第1文字読取部2-1~第n文字読取部2-n)のそれぞれは、文字のカテゴリの種別に対応する認識モデルと、文字の書体に対応する認識モデルと、文字の回転角度に対応する認識モデルと、文字の背景の種類に対応する認識モデルとを掛け合わせた文字認識(読取)モデルによって構成される。
【0057】
図3に示す例では、文字認識モデルは、「漢字100字(1)」~「漢字100字(60)」、「英数字モデル」、「ひらがなモデル」、「カタカナモデル」、「AI-OCR_1」及び「AI-OCR_2」の各認識モデルを含む。
【0058】
「英数字モデル」は、英数字を認識するモデルであり、「ひらがなモデル」は平仮名の文字を認識するモデルであり、「カタカナモデル」はカタカナの文字を認識するモデルである。「AI-OCR_1」及び「AI-OCR_2」は、それぞれ、認識対象の文字の種類や、文字認識の方式などが異なる2つのAI-OCRを示す。
【0059】
例えば、文字読取部2が、
図2に示した各認識モデルのうち、文字のカテゴリの種別に対応する63種類(漢字60種+英数字モデル1種+ひらがなモデル1種+カタカナモデル1種)の認識モデルと、フォント2種の認識モデルと、回転角度4種の認識モデルと、背景2種の認識モデルとを掛け合わせた文字認識モデルによって構成されるものとする。この場合、文字読取部2内には、63×2×4×2=1008種類の認識モデルが存在することになる。
【0060】
このように、文字読取部2のそれぞれを、認識対象の種類が異なる複数の認識モデルの掛け合わせによって構成することにより、ドキュメント上に存在する様々な種類・形態の文字又は文字列を、精度よく検出することが可能となる。言い換えると、ドキュメント上に含まれる文字又は文字列の検出漏れを低減することができる。
【0061】
なお、
図3に示した認識モデルの種類や掛け合わせのパターンなどは一例であり、本発明はこれに限定されない。例えば、本発明の文字読取部2に、他の認識モデルが追加されてもよく、
図3に示した例よりも少ない種類の認識モデルにより、文字読取部2が構成されてもよい。また、認識モデルの掛け合わせのパターンも、
図3に示したパターン以外の様々なパターンを採り得る。
【0062】
<読み取り画像に含まれる文字と、文字読取部による認識結果との対応例>
次に、
図4を参照して、読み取り画像に含まれる文字と、文字読取部2による認識結果との対応例について説明する。
図4は、読み取り画像に含まれる文字と、文字読取部2による認識結果との対応例を示す図である。
【0063】
図4に示す例では、読み取り画像上に、「製造進捗」、「注文内容変更可能」、「配送先変更可能」及び「型保管履歴」の各文字(用語)が、上から下の方向に所定の間隔を空けて配置されている。そして、
図4においては、これらの各用語を構成する各文字の文字読取部2による認識結果を、各文字を囲う各矩形枠の上方にそれぞれ表示している。
【0064】
「製造進捗」の用語を構成する「製」、「造」、「進」、「捗」の各文字は、それぞれ「製」、「造」、「進」、「捗」の各文字として認識されていることが示されている。
【0065】
一方、「注文内容変更可能」の用語に含まれる「文」の文字は、文字読取部2によって「文」(第1読取結果の一例)又は「女」(第2読取結果の一例)と認識されていることが示されている。また、「注文内容変更可能」の用語、及び、「配送先変更可能」の用語に含まれる「更」の文字は、文字読取部2によって「更」又は「吏」と認識されていることが示されている。さらに、「注文内容変更可能」の用語に含まれる「能」の文字は、文字読取部2によって「能」又は「館」と認識されていることが示されている。
【0066】
本実施形態では、上述したように、検索用DB3(
図1参照)において、読み取り画像に含まれる1つの文字の読み取り情報に対して、第1文字読取部2-1、第2文字読取部2-2…第n文字読取部2-nのすべての認識結果が対応付けられて管理される。したがって、第1文字読取部2-1、第2文字読取部2-2…第n文字読取部2-nのそれぞれによる認識結果が異なる場合には、例えば、文字の「文」に対する「文」と「女」のように、一つの文字に対して異なる認識結果が対応づけられることになる。
【0067】
なお、1つの文字の読み取り情報は、例えば、文字が存在する読取画像における座標(外接矩形の始点及び終点)、及び、文字種別の情報等により構成される。したがって、文字の読み取り情報と認識結果との対応付け(関連付け)は、認識結果と、文字読み取り情報における外接矩形の座標とを対応付けることによって行われる。
【0068】
本実施形態によれば、文字読取部2による認識結果がドキュメント上の実際の文字と一致しない場合でも、該認識結果はその文字と対応付けられて検索用DB3に格納される。これにより、誤認識された認識結果も、検索部4による検索対象に含まれるようになる。つまり、本実施形態によれば、検索ワードとして入力された文字又は文字列に基づく検索結果の数を、一種類の文字認識モデルを用いて文字を検出及び認識する場合と比較して増やすことができるので、文字又は文字列の検索漏れを減らすことができる。
【0069】
<文書群提示部による検索結果の表示例>
次に、
図5を参照して、文書群提示部6による検索結果の表示例について説明する。
図5は、文書群提示部6による検索結果の表示例を示す図である。
【0070】
図5には、検索結果表示画面Scが示されており、検索結果表示画面Scには、検索ワードが「変更可能」である場合における検索結果が表示されている。検索結果は「番号」、「ドキュメント名」、「検索結果」、「始点」、「終点」及び「一致率」の各項目によって示される。
【0071】
「番号」の項目には、検索結果の文字又は文字列を含むドキュメントに割り振られる連番の番号の情報が示される。「ドキュメント名」には、ドキュメントの読み取り画像のファイル名の情報が示される。「検索結果」の項目には、検索ワードの検索結果として検索部4(
図1参照)が出力した文字又は文字列の情報が示される。「始点」の項目には、検索結果の文字又は文字列のドキュメントにおける位置(領域)の始点の座標の情報が格納され、「終点」の項目には終点の座標が示される。また、「一致率」の項目には、検索ワードと検索結果との一致率を示す数値が示される。
【0072】
具体的には、検索結果の1行目には、ドキュメント1の読み取り画像のファイル名は「doc1.pdf」、検索結果の文字列は「変更可能」、ドキュメントにおける検索結果の文字列の座標の始点は「(x1,y1)」、終点は「(x2,y2)」であることが示されている。
【0073】
また、検索結果の2行目には、ドキュメント2の読み取り画像のファイル名は「doc2.pdf」、検索結果の文字列は「変更可館」、ドキュメントにおける検索結果の文字列の座標の始点は「(x3,y3)」、終点は「(x4,y4)」であることが示されている。
【0074】
文書群提示部6が
図5に示す例のような表示を行うことにより、ユーザは、検索ワードと一致又は類似する文字又は文字列を含むドキュメントに関する情報を、容易に確認することができる。また、検索結果表示画面Scには、検索結果の文字又は文字列を含むドキュメントの情報が、検索ワードと検索結果との一致率が高い順に並べて表示される。これにより、ユーザは、ドキュメントの確認を一致率の高い順に行う等の行動と取ることができる。
【0075】
また、検索結果表示画面Scには、検索ワードと完全に一致しないドキュメントの情報も記載されるため、ユーザは、実際にドキュメントの該当部分を確認して、検索ワードと対応する文字又は文字列が含まれているか否かを確認することができる。文字が手書きであったり、回転していたり、文字のすぐ近くに引き出し線があったりする等の理由により、認識率(一致率)が低くなっている場合にも、実際には、そのドキュメントには検索ワードと一致する文字が記載されていることがあり得る。本実施形態によれば、そのような不明瞭等の理由により一致率が低くなった文字又は文字列の情報も、取りこぼさずにユーザに提供することができる。
【0076】
なお、文書群提示部6が検索結果としてユーザに提供する情報は、
図5に示した例に限定されない。例えば、検索結果の文字又は文字列を含むドキュメントのサムネイルやページ数など、その他の情報が含まれてもよい。
【0077】
また、検索結果表示画面Scは、ソートの機能を備えたものであってもよい。ソートには、例えば、文字読取部2による文字検出及び認識が行われた時期の順(新しい順又は古い順)、ファイル名順(昇順又は降順)、検索ワードに対応する文字列数の順(多い順又は少ない順)などが考えられる。
【0078】
<文字列生成部による文字列生成例>
次に、
図6を参照して、文字列生成部8による文字列生成例について説明する。
図6は、文字列生成部8による文字列生成例を示す図である。
【0079】
図6は、ドキュメント(読み取り画像)上に「製造進捗」、「注文内容変更可能」、「配送先変更可能」等の様々な用語が記載されている例を示す。文字列生成部8は、これらの用語を構成する各文字の認識結果の情報に基づいて、文字列の情報を生成する。
【0080】
例えば、文字列生成部8は、ある文字に着目した場合、注目の文字と当該文字との距離がしきい値以下であるか否か、サイズの差がしきい値以下であるか否か、回転角度の誤差がしきい値以下であるか否か、水平方向又は垂直方向における軸のズレ量がしきい値以下であるか否か、等の判定を行う。そして、すべての判定又はいくつかの判定が満たされた場合に、注目の文字と当該文字(隣接の文字)とは一つの文字列を構成する文字である、と判定することができる。
【0081】
また、文字列生成部8が文字の回転角度の情報も用いて判定を行うことにより、
図6の左側の上から2番目に表示された「注文内容変更可能」の「能」の右隣に存在する「履」の文字が、一連の文字列を構成する文字であると誤判定されてしまうことを防ぐことができる。つまり、「注文内容変更可能履」等の誤った文字列の情報が生成されてしまうことを防げる。
【0082】
文字列生成部8が文字列の情報を生成することにより、検索部4による検索精度を向上させることができる。文字列を生成せず、すなわち文字同士をグルーピングせずに、一文字を対象として検索を行った場合、検索ワードを構成する各文字の位置が離れていたり、行が揃っていなかったりする場合であっても、検索ワードの検索結果としてこれらの文字が検出されることが起こり得る。一方、検索部4は、文字列生成部8が文字列を対象として検索を行うことにより、このような誤検出を防ぐことができる。
また、検索部4が検索ワードを構成する文字を一文字ずつ検索する場合と比較して、検索の処理時間を低減できるという効果も得られる。
【0083】
図7は、文字列生成部8によって文字列の情報が生成された場合における、検索部4による検索結果の例を示す図である。
図7には、検索ワードが「変更可能」である場合における検索結果が、文字列に重畳されるマーカー等によって強調表示されている。
【0084】
例えば、文書群提示部6によって作成された検索結果表示画面Sc(
図5参照)において、ユーザによって特定のドキュメントの情報の表示箇所が選択された場合に、
図7に示す情報がユーザに提供される。
図7に示すような強調表示が行われることにより、ユーザは、検索ワードがドキュメントのどの位置に存在するかを容易に確認することができる。なお、
図7に示した表示例は一例であり、検索ワードとドキュメント上の文字との対応関係をユーザに提示可能な形態であれば、どのような形態で表示されてもよい。
【0085】
<画像分割部による読み取り画像の分割例>
次に、
図8を参照して、画像分割部9による読み取り画像の分割例について説明する。
図8は、画像分割部9による読み取り画像の分割例を示す図である。
【0086】
図8には、図の左側に示す読み取り画像Isが、右側に示すように分割読み取り画像Is1~分割読み取り画像Is4の4つに分割された様子を示す。文字読取部2(
図1参照)は、このように分割された分割読み取り画像Is1~Is4の一つ一つを対象として、文字の検出及び認識を行う。つまり、文字読取部2が文字の検出を行う範囲は、画像分割部9による分割が行われる前と比較して狭くなり、一回の処理において検出を行う対象の文字の量も少なくなる。
【0087】
したがって、画像分割部9が読み取り画像の分割を行うことにより、ドキュメントのサイズが大きかったり、ドキュメントに書き込まれた文字のサイズが小さかったりする場合における文字読取部2の文字検出精度を向上させることができる。
【0088】
<画像回転部による読み取り画像の回転例>
次に、
図9を参照して、画像回転部10による読み取り画像の回転例について説明する。
図9は、画像回転部10による読み取り画像の回転例を示す図である。
【0089】
図9には、図の左側に示す読み取り画像Isが、画像回転部10によって様々な回転角度で回転されることにより、図の右側に示す回転読み取り画像Is11~回転読み取り画像Is18の8つの回転読み取り画像が生成された様子が示されている。
【0090】
文字読取部2は、回転読み取り画像Is11~Is18の一つ一つを対象として、文字の検出及び認識を行う。これにより、ドキュメントに様々な角度の文字が記載されている場合であっても、いずれかの回転読み取り画像Isに記載された文字の角度と、ドキュメント(読み取り画像)に記載された文字の角度とが一致又は近くなる可能性を高めることができる。つまり、文字読取部2による文字の検出精度を向上させることができる。
【0091】
なお、一つの検索ワードの検索結果の文字又は文字列が、複数の回転読み取り画像から検出された場合であっても、文字読取部2は、検出された複数の文字又は文字列を、検索ワードの検索結果として保持する。回転読み取り画像Is11~Is18は、読み取り画像Isと回転角度が異なるだけであり、両者に含まれる情報は同一である。
したがって、文字読取部2が検索ワードに対応する検索結果として複数の検索結果を記憶することにより、疑わしき検索結果も検索結果に含めることが可能となる。これにより、文字読取部2による文字の検出漏れを低減させることができる。
【0092】
なお、
図2に示した例のように、文字読取部2が回転角度に対応した認識モデル(「回転0deg」~「回転45deg」の各認識モデル)を有する場合には、文字読取システム100は、画像回転部10を設けない構成としてもよい。
【0093】
<画像拡大縮小部による読み取り画像の拡大及び/又は縮小例>
次に、
図10を参照して、画像拡大縮小部11による読み取り画像の拡大及び/又は縮小例について説明する。
図10は、画像拡大縮小部11による読み取り画像の拡大及び/又は縮小例を示す図である。
【0094】
図10は、図の左側に示す読み取り画像Isが画像拡大縮小部11によって縮小又は拡大されることにより、右側に示す縮小読み取り画像Is21~Is22、又は、拡大読み取り画像Is23が生成された様子を示す。
【0095】
縮小読み取り画像Is21と縮小読み取り画像Is22とは、画像拡大縮小部11によってそれぞれ異なる縮小率で縮小された読み取り画像であり、拡大読み取り画像Is23は、画像拡大縮小部11によって拡大された読み取り画像である。
【0096】
そして、文字読取部2は、縮小読み取り画像Is21~Is22、拡大読み取り画像Is23の一つ一つを対象として、文字の検出及び認識を行う。これにより、ドキュメントに様々なサイズで文字が記載されている場合であっても、文字読取部2は文字を検出することができる。
【0097】
なお、一つの検索ワードの検索結果である文字又は文字列が、複数の拡大又は縮小読み取り画像から検出された場合であっても、文字読取部2は、それらの複数の文字又は文字列を、検索ワードの検索結果として保持する。このように、検索結果を一つに絞り込まない処理を行うことにより、文字読取部2による文字の検出漏れを低減させることができる。
【0098】
また、例えば、文字読取部2が文字の縮小又は拡大率に対応した認識モデル、すなわち、縮小又は拡大した文字を学習させた認識モデルを備えている場合には、文字読取システム100は、画像拡大縮小部11を備えない構成としてもよい。
【0099】
<文字読取システムによる文字読取方法>
次に、
図11を参照して、本実施形態に係る文字読取システム100による文字読取方法について説明する。
図11は、文字読取システム100による文字読取処理の手順の例を示すフローチャートである。
【0100】
まず、画像読取部1(
図1参照)は、ドキュメントを読み込んで読み取り画像を生成する(ステップS1)。次いで、複数の文字読取部2(
図3の第1文字読取部2-1~2-n)のそれぞれは、読み取り画像に含まれる文字又は文字列を検出及び認識する(ステップS2)。
【0101】
次いで、制御部20(
図1参照)は、読み取り画像に含まれる文字又は文字列と、その文字又は文字列の複数の文字読取部2による各認識結果とを対応付けて、検索用DB3に格納する(ステップS3)。例えば、制御部20は、
図4に示した読み取り画像における「文」の文字に対して、複数の文字読取部2による異なる認識結果である「文」及び「女」の両方を対応付けて、検索用DB3に格納する。
【0102】
すなわち、ドキュメント上の文字は「文」であるにも関わらず、文字の不明瞭さ、文字周囲にある記号又は符号等の多さ、文字読取部2の認識力の低さ等によって「女」と誤認識される場合が、本実施形態ではこのような場合であっても、「文」の認識結果として「女」の文字も記憶される。
【0103】
次いで、制御部20は、検索ワード入力部5を介して検索ワードが入力されたか否かを判定する(ステップS4)。ステップS4で、検索ワードは入力されていないと判定された場合(ステップS4がNO判定の場合)、制御部20は、ステップS4の判定を続ける。
【0104】
一方、ステップS4で、検索ワードが入力されたと判定された場合(ステップS4がYES判定の場合)、検索部4は、検索ワードと対応付けられた認識結果の文字又は文字列を検索用DB3から検索する(ステップS5)。
【0105】
次いで、文書群提示部6は、検索結果の文字又は文字列を含むドキュメントの情報を検索用DB3から抽出する(ステップS6)。そして、文書群提示部6は、ステップS6で抽出したドキュメントの情報を、検索ワードの検索結果として表示部7の画面に表示させる(ステップS7)。ステップS7の処理後、文字読取システム100による文字読取処理は終了する。
【0106】
なお、
図11におけるステップS1~ステップS3までの処理は、ステップS4以降の処理が行われるタイミングとは異なるタイミング、例えば夜間等に予め行っておいてもよい。
【0107】
<各種効果>
上述した本実施形態の文字読取システム100は、第1文字読取部2-1と、第2文字読取部2-2と、制御部20と、を含む。第1文字読取部2-1は、画像読取部1が読み取って得た読み取り画像の中から、第1文字認識(読取)モデルを用いて文字を検出及び認識して認識結果(第1読取結果)を出力する。第2文字読取部2-2は、読み取り画像の中から、第1文字認識モデルとは種類が異なる第2文字認識モデルを用いて文字を検出及び認識して認識結果(第2読取結果)を出力する。そして、制御部20は、読み取り画像に含まれる一つの文字に対して、第1読取結果及び第2読取結果の両方を対応付けて検索用DB3に記憶する。
【0108】
したがって、本実施形態によれば、一つの文字認識モデルだけでは検出できない文字の検出確率を上げることができるので、読み取り画像に含まれる文字の検出漏れを低減させることができる。
【0109】
また、本実施形態では、制御部20は、一つの文字に対する認識結果が複数存在する場合であっても、すべての認識結果を一つの文字に対応付けて検索用DB3に格納する。これにより、誤認識の認識結果であっても、検索ワードと一致する文字又は文字列等であれば、漏れなく検出することが可能となる。
【0110】
また、本実施形態では、第1文字読取部2-1~第n文字読取部2-nのそれぞれは、認識対象の種類が異なる複数の認識モデルの組み合わせによって構成される。したがって、文字の検出を行う対象となるドキュメントの性質、特性に応じた認識モデル、例えば、引き出し線が書き込まれた背景を学習した認識モデル等を用いることにより、文字の検出精度を向上させることができる。
【0111】
また、本実施形態によれば、文字読取部2を構成する認識モデルとして適切な認識モデルを選択することにより、例えば、図面や細かい記号又は符号等を多く含む工事図面、建築図面や、かすれた文字を多く含む保管年数の長いドキュメントなどに含まれる文字又は文字列の検出精度も、向上させることができる。
【0112】
なお、上述した本実施形態は、本発明を分かりやすく説明するためにシステム(文字読取システム)の構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。
【0113】
また、
図1において実線の矢印で示した制御線又は情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0114】
また、本明細書において、時系列的な処理を記述する処理ステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0115】
さらに、上述した本実施形態にかかる文字読取システムの各構成要素は、それぞれのハードウェアがネットワークを介して互いに情報を送受信できるならば、いずれのハードウェアに実装されてもよい。また、ある処理部により実施される処理が、1つのハードウェアにより実現されてもよいし、複数のハードウェアによる分散処理により実現されてもよい。
【符号の説明】
【0116】
1…画像読取部、2…文字読取部、2-1…第1文字読取部、2-2…第2文字読取部、2-n…第n文字読取部、3…検索用DB、4…検索部、5…検索ワード入力部、6…文書群提示部、7…表示部、8…文字列生成部、9…画像分割部、10…画像回転部、11…画像拡大縮小部、20…制御部、100…文字読取システム